[發明專利]大幅度提高工作流引擎性能的方法無效
| 申請號: | 200910015516.2 | 申請日: | 2009-05-13 |
| 公開(公告)號: | CN101551745A | 公開(公告)日: | 2009-10-07 |
| 發明(設計)人: | 姜健;戴海宏;何忠勝;劉宗福;劉民 | 申請(專利權)人: | 山東中創軟件工程股份有限公司;山東中創軟件商用中間件股份有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06Q10/00 |
| 代理公司: | 濟南舜源專利事務所有限公司 | 代理人: | 苗 峻 |
| 地址: | 250014山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 大幅度 提高 工作流 引擎 性能 方法 | ||
技術領域
本發明涉及一種大幅度提高工作流引擎性能的方法,該方法屬于中間件技術架構領域,特別是在工作流引擎的技術架構領域。
背景技術
近些年來,隨著信息化建設的不斷發展,工作流的應用越來越普及,各業務流程系統管理得更加清晰和靈活;同時,業務流程系統對工作流的要求也越來越高,基本應用層面已經無法滿足業務流程系統的需求,業務流程系統對業務活動實時監控分析、流程數據統計分析等高級應用層面需求越來越強烈。
業務活動實時監控分析要求,業務的實時監控并優化;根據比較少的數據量,進行實時分析處理,主要用于管理操作。
流程數據統計分析要求,歷史數據的統計分析;根據大量數據,進行批量分析處理,主要用于規劃。
目前大部分工作流產品仍然停留在僅滿足業務流程系統的基本應用層面上;在此層面上的工作流產品,涉及人工參與的流程時,為了應對意外宕機等突發事故,以及提供對運行數據和歷史數據查詢等功能,流程數據需要持久化到數據庫中;涉及到數據庫持久化,在大訪問量、高并發的情況下,經常會遇到數據庫I/O瓶頸的問題;工作流產品對數據庫I/O瓶頸解決的程度,決定了此工作流產品對業務流程系統的支撐能力。
有些工作流產品已經將其產品定位在了高級應用層面上,著手滿足業務活動實時監控分析、流程數據統計分析等功能需求;為了方便用戶統計分析流程數據,必然要將所有流程數據持久化到數據庫中;實時監控分析、大數據量統計分析,將給其工作流產品帶來更高的挑戰。
目前工作流產品都向平臺產品發展,方便業務流程系統管理,這樣對工作流平臺支持遠程訪問能力的要求越來越高;這就帶來另外一個現實的問題,網絡I/O瓶頸;如何解決網絡I/O瓶頸,也決定工作流平臺對業務流程系統的支撐能力。
以上從本地I/O和網絡I/O層面上分析了工作流產品遇到的一些實際問題,當前工作流產品普遍從建立合適的數據庫索引、升級硬件、優化邏輯等方面解決各自的不足,來提升對業務流程系統的支撐能力。
還有最直接的方法就是集群,應用服務器集群和數據庫集群;當然這是非常有效的方法,也是面向大訪問量和高并發的系統必須要做的。如何在此基礎上進一步提高工作流引擎的性能,也就是此發明所描述的重點。
當前工作流產品,無論是基本應用層次上的功能,例如:待辦任務查詢、經手任務查詢、可追回任務查詢、指定條件查詢等,還是高級應用層面上的功能,例如:業務活動實時監控分析、流程數據統計分析等,都需要頻繁的訪問工作流引擎,同時引擎內部需要頻繁地執行大量的數據查詢,這些各層面的功能必然會給工作流引擎帶來巨大的壓力;尤其涉及到人工參與的流程,處理任務必然要先查詢出來需要處理的業務,然后再進行相應的業務處理,這樣業務流程系統對工作流引擎的調用和工作流引擎內部調用非常頻繁,直接導致整個工作流引擎對業務流程系統支撐能力很有限;如果工作流引擎再處理一些實時監控和大數據量的統計分析,將更加影響工作流引擎對業務流程系統支撐能力。如果仍然僅徘徊在建立合適的數據庫索引、升級硬件、優化邏輯和集群技術,必然會大大增加整個業務流程系統的資金投入。
發明內容
本發明的目的就是針對上述的不足,從工作流技術架構上,提升工作流引擎性能,提供了一種大幅度提高工作流引擎性能的方法。
本發明提供的大幅度提高工作流引擎性能的方法,:包括如下步驟:
第1步,服務器端緩存,即在完成同樣的功能基礎上減少對計算機硬件讀和寫的頻率,將業務流程系統對工作引擎頻繁的數據查詢進行優化,在工作流引擎外圍包裝一層緩存層,每次訪問直接從緩存中獲取數據,減少對數據庫I/O操作。
工作流引擎啟動時,將需要緩存數據進行初始化;將實時產生的流程數據,緩存到內存對象中,避免查詢數據庫中新產生的流程數據,并對內存對象進行管理。
第2步,客戶端緩存,即在完成同樣的功能基礎上減少對服務器的請求次數,從兩個方向進行緩存:流程數據緩存和展現層頁面緩存,減少對工作流引擎服務的調用次數,即減少網絡層I/O。
數據緩存對象,重點在于那些經常操作和數據量大的數據,例如流程定義數據,即經常操作,數據量又大;服務器端和客戶端工作流數據緩存對象同步,服務器端數據變更,通知所有客戶端數據緩存對象更新;不同客戶端工作流數據緩存對象同步,當前客戶端緩存數據更新時,首先通知工作流引擎服務器,然后服務器端再通知其他所有客戶端數據緩存對象更新;展現層構件,針對那些很少變化的頁面進行緩存。
第3步,對象池,利用池化技術,避免對緩存對象頻繁地創建、封裝、銷毀帶來的系統開銷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東中創軟件工程股份有限公司;山東中創軟件商用中間件股份有限公司,未經山東中創軟件工程股份有限公司;山東中創軟件商用中間件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910015516.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于紡織的聚丙烯酸類雙氧水穩定劑及其制備方法
- 下一篇:一種洗滌模塊





