[發明專利]高性能業務能力封裝流程引擎及其流程控制方法無效
| 申請號: | 201210246118.3 | 申請日: | 2012-07-16 |
| 公開(公告)號: | CN102810070A | 公開(公告)日: | 2012-12-05 |
| 發明(設計)人: | 王劍冰 | 申請(專利權)人: | 福建富士通信息軟件有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 福州市鼓樓區京華專利事務所(普通合伙) 35212 | 代理人: | 宋連梅 |
| 地址: | 350000 福建*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 性能 業務 能力 封裝 流程 引擎 及其 控制 方法 | ||
【技術領域】
本發明涉及計算機流程處理領域,特別是指一種高性能業務能力封裝流程引擎及其流程控制方法。
【背景技術】
目前流程引擎的產品有很多,如jBPM、OSWorkflow、Apache?ODE、WebSphere?Process?Server、Oracle?Aqulogic、Microsoft?BizTalk等,在國內,主要是使用上述幾個引擎做擴展和應用,而且絕大部分是使用Java或C++實現,主要是因為電子商務在流程引擎方面的應用較多,對于性能優化的側重點一般不在流程引擎上,但是,C/C++語言在性能上的先天優勢,某些系統對實時性要求較高的情況下,本身也使用C/C++語言進行開發,需要和流程引擎進行較緊密的結合,并保證流程引擎不會給程序的運行帶來明顯的性能上的影響。流程引擎的主要功能是執行業務流程,是BPM的架構核心,其設計好壞、效率高低直接影響到整個BPM的性能高低。當然這種對效率要求較高的流程引擎一般應用在針對自動流程的環境下,這類應用往往關注的是“快速”而不是龐大的功能集。
【發明內容】
本發明所要解決的技術問題之一在于提供一種高性能業務能力封裝流程引擎,從各個方面提高了流程引擎的性能,經過測試達到了業務系統對性能的要求。
本發明所要解決的技術問題之二在于提供一種高性能業務能力封裝流程控制方法,從各個方面提高了流程引擎的性能,經過測試達到了業務系統對性能的要求。
本發明采用以下技術方案解決上述技術問題之一:
高性能業務能力封裝流程引擎,包括:
流程定義單元,用于生成規定流程各節點功能以及流程執行規則的配置文件,所述流程由節點和節點間的關系組成;
流程解析與加載單元,用于讀取流程定義單元的配置文件將其轉換為流程的對象且保存于內存中;
流程與節點的交互單元,用于執行以規則為主線串接各個流程節點,對各個節點進行調用并與之交互,根據節點的返回結果通過判斷節點影響流程實例的執行路線;
流程執行單元,用于根據流程定義創建對應的流程實例時,在內存中申請空間存放和維護流程變量、流程數據以及流程實例和各節點的狀態數據;
流程監控單元,用于通過IPC訪問內存中實例的節點狀態、執行時間、流程變量值信息,并將其封裝為一系列查詢接口,通過網絡共同遠程監控終端進行訪問;
流程日志單元,用于通過消息機制觸發日志處理,采用多線程的并行處理方式將流程實例執行的成功與否以及各節點執行情況和時間保存到數據庫,并將該流程實例從共享內存中的空間釋放出來。
進一步,所述節點包括開始、結束、函數、腳本、狀態、分支、匯聚;所述節點間的關系包括前驅和后續。
本發明采用以下技術方案解決上述技術問題之二:
高性能業務能力封裝流程控制方法,包括如下步驟:
生成規定流程各節點功能以及流程執行規則的配置文件,所述流程由節點和節點間的關系組成;
讀取流程定義單元的配置文件將其轉換為流程的對象且保存于內存中;
執行以規則為主線串接各個流程節點,對各個節點進行調用并與之交互,根據節點的返回結果通過判斷節點影響流程實例的執行路線;
根據流程定義創建對應的流程實例時,在內存中申請空間存放和維護流程變量、流程數據以及流程實例和各節點的狀態數據;
通過IPC訪問內存中實例的節點狀態、執行時間、流程變量值信息,并將其封裝為一系列查詢接口,通過網絡共同遠程監控終端進行訪問;
通過消息機制觸發日志處理,采用多線程的并行處理方式將流程實例執行的成功與否以及各節點執行情況和時間保存到數據庫,并將該流程實例從共享內存中的空間釋放出來。
進一步地,所述節點包括開始、結束、函數、腳本、狀態、分支、匯聚;所述節點間的關系包括前驅和后續。
本發明的優點在于:本發明使用C++作為引擎核心的編寫語言,使用Lua作為腳本節點以及判斷節點的應用,從程序執行方面對性能進行了提高。流程引擎在執行過程中對流程定義的讀取以及日志的保存如果都使用數據庫或者文件,會給性能帶來較大瓶頸,所以高效流程引擎使用共享內存作為流程定義、流程實例、流程日志等的數據緩存,并使用其他模塊來對流程定義進行加載和日志的落地。高效流程引擎從各個方面提高了流程引擎的性能,經過測試達到了業務系統對性能的要求。
【附圖說明】
下面參照附圖結合實施例對本發明作進一步的描述。
圖1是本發明流程引擎總體架構圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建富士通信息軟件有限公司,未經福建富士通信息軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210246118.3/2.html,轉載請聲明來源鉆瓜專利網。





