一種支持規則演化的計算流引擎方法
2023-05-25 00:50:01 2
一種支持規則演化的計算流引擎方法
【專利摘要】一種涉及信息技術應用領域,尤指在計算流引擎的演化和自適應的實現,為分布式網絡環境下計算引擎的並行處理和動態計算提供一種有效解決方案的一種支持規則演化的計算流引擎方法;該方法通過規則定義、規則代理執行、計算流定義、計算流代理執行和適配器的計算引擎內部架構,實現分布式網絡環境下的計算引擎,該計算流和規則定義方法包括:設計並定義計算流和設計並定義規則,主要解決如何設計引擎的五個組成部分的架構問題;要解決計算流和規則定義方法問題,要解決計算引擎的工作流程及具體計算方法等有關技術問題;本發明的有益效果是:解決了信息技術在商業領域中的廣泛應用,企業能夠靈活的定義計算規則,還能夠在不同的具體實施之間使用,提供了企業的商業市場拓展效率,本方法具有靈活應用,使用效率高等優點。
【專利說明】一種支持規則演化的計算流引擎方法
【技術領域】
[0001]本發明涉及一種信息技術應用領域,尤指在計算流引擎的演化和自適應的實現,為分布式網絡環境下計算引擎的並行處理和動態計算提供一種有效的解決方案。
【背景技術】
[0002]隨著信息技術在商業領域中的廣泛應用,越來越多的企業把帳單的計算與生成也通過帳單管理系統完成。隨著規模的不斷擴大和業務的不管更新,單一簡單的帳單計算規則已經日漸相形見絀,企業需要能夠靈活的定義計算規則。當計算規則需求發生變化時,現有的大部分帳單計算引擎的計算規則都需要修改,而應用的維護和升級都需要在停止服務的狀態下才能完成,給企業的運營尤其是跨國公司的企業運營帶來了諸多不變。
[0003]此發明主要是我們在與一家企業合作時,由於制定的政策只有條紋性的框架約束,而具體的執行策略只要在框架約束範圍內都是允許,這就導致了每一個具體執行的計算規則都不相同,為每一個具體對象單獨開發獨立的計算引擎顯然是不可能的,而且在商業應用成本上也是不能被接受的,故我們發明了此計算引擎,解決了該企業能夠在不同的具體實施之間使用,用戶只需要做簡單的配置調整,提供了他們的商業市場拓展效率。
【發明內容】
[0004]為了克服上述不足之處,本發明的主要目的旨在提供一種能為分布式網絡環境下計算引擎的並行處理和動態計算提供一種有效的解決方案,能在系統運行過程中,根據系統需要規則演化計算流程的執行;具有流的動態管理和自演化能力;實現演化策略庫和演化代理實現計算流引擎的演化和自適應的一種支持規則演化的計算流引擎方法。
[0005]本發明要解決的技術問題是:主要解決如何設計引擎的五個組成部分的架構問題;要解決計算流和規則定義方法問題;要解決計算引擎的工作流程及具體計算方法等有關技術問題。
[0006]本發明解決其技術問題所採用的技術方案是:本發明提供了一種支持規則演化的計算流引擎,該引擎主要由五個部分組成:計算流定義,計算執行代理,規則定義,規則代理、適配器。該引擎整合了工作流、規則引擎,多代理、本體等技術,其主要特徵包括:支持流的動態定義、配置、執行和監控;能在系統運行過程中,根據系統需要規則演化計算流程的執行;具有流的動態管理和自演化能力;提供了演化策略庫和演化代理實現計算流引擎的演化和自適應。本發明能為分布式網絡環境下計算引擎的並行處理和動態計算提供一種有效的解決方案。
[0007]—種支持規則演化的計算流引擎方法,該方法通過規則定義、規則代理執行、計算流定義、計算流代理執行和適配器的計算引擎內部架構,實現分布式網絡環境下的計算引擎,該計算流和規則定義方法包括:設計並定義計算流和設計並定義規則,該計算引擎的具體計算流程的工作步驟是:
[0008]步驟1.開始計算指令[0009]系統對計算引擎發出開始計算指令;
[0010]步驟2.適配器加載數據
[0011]I)執行完開始計算指令模塊後,則進入適配器加載數據模塊;
[0012]2)適配器通過訪問資料庫獲取基本數據;
[0013]3)通過訪問計算流定義文件獲取計算流定義;
[0014]4)通過訪問計算規則定義文件獲取計算規則定義;
[0015]步驟3.構建計算流
[0016]I)執行完適配器加載數據模塊後,則進入構建計算流模塊;
[0017]2)計算引擎按照定義的計算流和初始化並構建完整的計算流;
[0018]步驟4.單步計算流執行
[0019]I)執行完構建計算流模塊後,則進入單步計算流執行模塊;
[0020]2)計算流執行代理按照初始化完成的計算流開始進行流執行,按照之前所在步驟和數據決定當前計算流步驟;
[0021]步驟5.構建單步流規則
[0022]I)執行完單步計算流執行模塊後,則進入構建單步流規則模塊;
[0023]2)計算引擎按照計算規則初始化並構建當前流所對應的規則;
[0024]步驟6.單步流規則執行
[0025]I)執行完構建單步流規則模塊後,則進入單步流規則執行模塊;
[0026]2)計算規則執行代理開始按照規則定義,對當前步驟的規則進行執行調用,並返回結果;
[0027]步驟7.判斷是否有後置計算流
[0028]I)執行完單步流規則執行模塊後,則進入判斷是否有後置計算流步驟模塊;
[0029]2)計算計算執行代理根據當前所在步驟和數據決定該計算流步驟是否有後置計算流步驟,如果存在後置計算流,則計算流步驟進入下一步,反饋到步驟4單步計算流執行的操作,如果沒有後置計算流步驟,則計算引擎完成當前調用;
[0030]步驟8.結束計算指令
[0031]I)執行步驟7中沒有後置計算流步驟,則進入結束計算指令(S8)模塊;
[0032]2)當所有的計算流步驟都完成之後,計算引擎完成結束,返回計算結果。
[0033]進一步的,所`述的一種支持規則演化的計算流引擎方法的計算流和規則定義方法中的設計並定義計算流和設計並定義規則的具體工作步驟是:
[0034]步驟1.設計並定義計算流
[0035]I)按照具體的計算業務設計計算流,把該帳單計算業務設計成一個完整的計算流,一共分為η個步驟,分別對應編號為計算流編號#flowl, #flow2, #flc^\^..#Flow η ;
[0036]2)完成的設計以一種格式定義在具體的介質中,一般是按照XML格式定義在一XML文件系統中;
[0037]步驟2.設計並定義規則
[0038]I)執行完設計並定義計算流模塊後,則進入設計並定義規則模塊;
[0039]2)按照具體的計算業務拆分設計計算規則,把該帳單計算規則設計成具體的每一個小規則邏輯,分別對應編號為規則編號#rulel,#rule2, #rule3…,#rule η,並且把定義的計算規則和具體計算流的一單步關聯對應;
[0040]3)把完成的設計以一種格式定義在具體的介質中,一般是按照XML格式定義在一XML文件系統中。
[0041]當完成定義之後,系統就可以開始按照定義來計算此類帳單了。
[0042]本發明的有益效果是:本發明解決了信息技術在商業領域中的廣泛應用,企業把帳單的計算與生成通過帳單管理系統完成,並且能夠靈活的定義計算規則,還能夠在不同的具體實施之間使用,用戶只需要做簡單的配置調整,提供了企業的商業市場拓展效率,本方法具有靈活應用,使用效率高等優點。
【專利附圖】
【附圖說明】
[0043]下面結合附圖和實施例對本發明進一步說明。
[0044]附圖1是本發明計算引擎架構示意圖;
[0045]附圖2是本發明計算流和規則定義流程示意圖;
[0046]附圖3是本發明計算引擎工作流程示意圖;
[0047]附圖中標號說明:
[0048]I一規則定義;
[0049]2—規則代理執行;
[0050]3—計算流定義;
[0051]4 一計算流代理執行;
[0052]5—適配器;
[0053]Al一設計並定義計算流;
[0054]A2—設計並定義規則;
[0055]SI—開始計算指令;
[0056]S2—適配器加載數據;
[0057]S3—構建計算流;
[0058]S4一單步計算流執行;
[0059]S5一構建單步流規則;
[0060]S6—單步流規則執行;
[0061]S7一是否有後置計算流;
[0062]S8—結束計算指令;
【具體實施方式】
[0063]請參閱附圖1、2、3所示,我們開發設計了一種支持用戶自定義計算規則演化的計算流引擎,該引擎主要由五個部分組成:計算流定義,計算執行代理,規則定義,規則代理、適配器。該引擎整合了工作流、規則引擎,多代理、本體等技術,其主要特徵包括:支持流的動態定義、配置、執行和監控;能在系統運行過程中,根據系統需要規則演化計算流程的執行;具有流的動態管理和自演化能力;提供了演化策略庫和演化代理實現計算流引擎的演化和自適應。本發明能為分布式網絡環境下計算引擎的並行處理和動態計算提供一種有效的解決方案。[0064]一種支持規則演化的計算流引擎方法通過規則定義1、規則代理執行2、計算流定義3、計算流代理執行4和適配器5的計算引擎內部架構,實現分布式網絡環境下的計算引擎,該計算流和規則定義方法包括:設計並定義計算流Al和設計並定義規則A2,該計算引擎的具體計算流程的工作步驟是:
[0065]步驟1.開始計算指令SI
[0066]系統對計算引擎發出開始計算指令;
[0067]步驟2.適配器加載數據S2
[0068]I)執行完開始計算指令SI模塊後,則進入適配器加載數據S2模塊;
[0069]2)適配器通過訪問資料庫獲取基本數據;
[0070]3)通過訪問計算流定義文件獲取計算流定義;
[0071]4)通過訪問計算規則定義文件獲取計算規則定義;
[0072]步驟3.構建計算流S3
[0073]I)執行完適配器加載數據S2模塊後,則進入構建計算流S3模塊;
[0074]2)計算引擎按照定義的計算流和初始化並構建完整的計算流;
[0075]步驟4.單步計 算流執行S4
[0076]I)執行完構建計算流S3模塊後,則進入單步計算流執行S4模塊;
[0077]2)計算流執行代理按照初始化完成的計算流開始進行流執行,按照之前所在步驟和數據決定當前計算流步驟;
[0078]步驟5.構建單步流規則S5
[0079]I)執行完單步計算流執行S4模塊後,則進入構建單步流規則S5模塊;
[0080]2)計算引擎按照計算規則初始化並構建當前流所對應的規則;
[0081]步驟6.單步流規則執行S6
[0082]I)執行完構建單步流規則S5模塊後,則進入單步流規則執行S6模塊;
[0083]2)計算規則執行代理開始按照規則定義,對當前步驟的規則進行執行調用,並返回結果;
[0084]步驟7.判斷是否有後置計算流S7
[0085]I)執行完單步流規則執行S6模塊後,則進入判斷是否有後置計算流S7模塊;
[0086]2)計算計算執行代理根據當前所在步驟和數據決定該計算流步驟是否有後置計算流步驟,如果存在後置計算流,則計算流步驟進入下一步,反饋到步驟4單步計算流執行S4的操作,如果沒有後置計算流,則計算引擎完成當前調用;
[0087]步驟8.結束計算指令S8
[0088]I)執行步驟7中沒有後置計算流,則進入結束計算指令S8模塊;
[0089]2)當所有的計算流步驟都完成之後,計算引擎完成結束,返回計算結果。
[0090]請參閱附圖2所示,進一步的,所述的一種支持規則演化的計算流引擎方法的計算流和規則定義方法中的設計並定義計算流Al和設計並定義規則A2的具體工作步驟是:
[0091]步驟1.設計並定義計算流Al
[0092]I)按照具體的計算業務設計計算流,把該帳單計算業務設計成一個完整的計算流,一共分為η個步驟,分別對應編號為計算流編號#flowl, #flow2, #flc^\^..#Flow η ;
[0093]2)完成的設計以一種格式定義在具體的介質中,一般是按照XML格式定義在一XML文件系統中;
[0094]步驟2.設計並定義規則A2
[0095]I)執行完設計並定義計算流Al模塊後,則進入設計並定義規則A2模塊;
[0096]2)按照具體的計算業務拆分設計計算規則,把該帳單計算規則設計成具體的每一個小規則邏輯,分別對應編號為規則編號#rulel,#rule2, #rule3…,#rule η,並且把定義的計算規則和具體計算流的一單步關聯對應; [0097]3)把完成的設計以一種格式定義在具體的介質中,一般是按照XML格式定義在一XML文件系統中。
[0098]本發明的技術特徵和方法步驟的具體描述如下:
[0099]本發明包括:
[0100]1.規則定義
[0101]對具體計算流程中某一步驟規則進行的定義。
[0102]2.規則代理
[0103]通過動態代理模式,依照當前的分布式環境來調用具體的實現對象,完成規則定義中具體規則業務邏輯的實現。
[0104]3.計算流定義
[0105]對計算引擎的計算流程進行的定義。系統允許同時定義多個並行且各自獨立的計算流。在定義單個流步驟的時候,指定該流所對應的規則和其他一些進入,跳出條件。
[0106]4.計算流代理執行
[0107]通過動態代理模式,依照當前的分布式環境來調用具體的實現對象,完成計算流定義中每一步的的實現。如果系統中同時定義多個並行且各自獨立的計算流,則計算執行會根據當前進入設定,進入相應流計算中。
[0108]5.適配器
[0109]對具體執行數據的I/O實現,負責計算流定義,規則定義的存儲和讀取,計算基礎數據的讀取,以及最終計算結果的儲存。
[0110]針對不同的分布式環境可以有不同的實現方式,用以支持在不同的軟硬體環境的部署實施。
[0111]實例:用戶需要計算某類帳單
[0112]請參閱附圖2所示,需要先仔細分析此類帳單的業務。對此業務拆分,然後設計成計算引擎可以識別的計算流和規則定義,
[0113]步驟Al:設計並定義計算流
[0114]按照具體的計算業務設計計算流,把該帳單計算業務設計成一個完整的計算流,一共分為η個步驟,分別對應編號為計算流編號#flowl,#flow2, #flow3…#Flow n。把完成的設計以某種格式定義在具體的介質中,一般是按照XML格式定義在某XML文件系統中。
[0115]步驟A2:設計並定義規則
[0116]按照具體的計算業務拆分設計計算規則,把該帳單計算規則設計成具體的每一個小規則邏輯,分別對應編號為規則編號#rulel,#rule2, #rule3…,#rule η。並且把定義的計算規則和具體計算流的某單步關聯對應。把完成的設計以某種格式定義在具體的介質中,一般是按照XML格式定義在某XML文件系統中。[0117]請參閱附圖3所示,當完成定義之後,系統就可以開始按照定義來計算此類帳單了。
[0118]步驟S1:開始計算指令
[0119]系統對計算引擎發出開始計算指令。
[0120]步驟S2:適配器加載數據
[0121 ] 適配器通過訪問資料庫獲取基本數據
[0122]通過訪問計算流定義文件獲取計算流定義
[0123]通過訪問計算規則定義文件獲取計算規則定義。
[0124]步驟S3:構建計算流
[0125]計算引擎按照定義的計算流和初始化並構建完整的計算流。
[0126]步驟S4:單步計算流執行
[0127]計算流執行代理按照初始化完成的計算流開始進行流執行,按照之前所在步驟和數據決定當前計算流步驟#flow n。
[0128]步驟S5:構建單步流規則
[0129]計算引擎按照計算規則初始化並構建當前流#flow n所對應的規則。
[0130]步驟S6:單步流規則執行
[0131]計算規則執行代理開始按照規則定義,對當前步驟n的規則進行執行調用,並返回結果。如果當前步驟#flow n對應有n個規則,則計算規則執行代理會按照規則定義順序,依次完成當前步驟#flow n的每一個規則,最終返回結果。
[0132]步驟S7:決定是否需要計算執彳了結束
[0133]計算計算執行代理根據當前所在步驟和數據決定該計算流步驟是否有後置計算流步驟,如果存在,則計算流步驟進入下一步,返回步驟S4操作。如果沒有後置計算流步驟,則計算引擎完成當前調用。
[0134]步驟S8:結束計算指令
[0135]當所有的計算流步驟都完成之後,計算引擎完成結束,返回計算結果。
[0136]當該類帳單的計算業務邏輯發生改變的時候,則按照(圖2)的流程重新設計並定義該計算業務即可,把設計完成的定義文件保存在文件中。而計算引擎無需有任何的改動。從而達到滿足支持規則自演化的目的。
【權利要求】
1.一種支持規則演化的計算流引擎方法,其特徵在於:該方法通過規則定義(I)、規則代理執行(2)、計算流定義(3)、計算流代理執行(4)和適配器(5)的計算引擎內部架構,實現分布式網絡環境下的計算引擎,該計算流和規則定義方法包括:設計並定義計算流(Al)和設計並定義規則(A2),該計算引擎的具體計算流程的工作步驟是: 步驟1.開始計算指令(SI) 系統對計算引擎發出開始計算指令; 步驟2.適配器加載數據(S2) 1)執行完開始計算指令(SI)模塊後,則進入適配器加載數據(S2)模塊; 2)適配器通過訪問資料庫獲取基本數據; 3)通過訪問計算流定義文件獲取計算流定義; 4)通過訪問計算規則定義文件獲取計算規則定義; 步驟3.構建計算流(S3) 1)執行完適配器加載數據(S2)模塊後,則進入構建計算流(S3)模塊; 2)計算引擎按照定義的計算流和初始化並構建完整的計算流; 步驟4.單步計算流執行(S4) O執行完構建計算流(S3)模塊後,則進入單步計算流執行(S4)模塊; 2)計算流執行代理按照初始化完成的計算流開始進行流執行,按照之前所在步驟和數據決定當前計算流步驟; 步驟5.構建單步流規則(S5) 1)執行完單步計算流執行(S4)模塊後,則進入構建單步流規則(S5)模塊; 2)計算引擎按照計算規則初始化並構建當前流所對應的規則; 步驟6.單步流規則執行(S6) 1)執行完構建單步流規則(S5)模塊後,則進入單步流規則執行(S6)模塊; 2)計算規則執行代理開始按照規則定義,對當前步驟的規則進行執行調用,並返回結果; 步驟7.判斷是否有後置計算流(S7) 1)執行完單步流規則執行(S6)模塊後,則進入判斷是否有後置計算流(S7)模塊; 2)計算計算執行代理根據當前所在步驟和數據決定該計算流步驟是否有後置計算流步驟,如果存在後置計算流,則計算流步驟進入下一步,反饋到步驟4單步計算流執行(S4)的操作,如果沒有後置計算流,則計算引擎完成當前調用; 步驟8.結束計算指令(S8) 1)執行步驟7中沒有後置計算流,則進入結束計算指令(S8)模塊; 2)當所有的計算流步驟都完成之後,計算引擎完成結束,返回計算結果。
2.根據權利要求1所述的一種支持規則演化的計算流引擎方法,其特徵在於:所述的計算流和規則定義方法中的設計並定義計算流(Al)和設計並定義規則(A2)的具體工作步驟是: 步驟1.設計並定義計算流(Al) I)按照具體的計算業務設計計算流,把該帳單計算業務設計成一個完整的計算流,一共分為η個步驟,分別對應編號為計算流編號#f lowl, #flow2, #f low3…#Flow η ;2)完成的設計以一種格式定義在具體的介質中,一般是按照XML格式定義在一 XML文件系統中; 步驟2.設計並定義規則(A2) 1)執行完設計並定義計算流(Al)模塊後,則進入設計並定義規則(A2)模塊; 2)按照具體的計算業務拆分設計計算規則,把該帳單計算規則設計成具體的每一個小規則邏輯,分別對應編號為規則編號ftrulel, #rule2, #rule3…,#rule η,並且把定義的計算規則和具體計算流的一單步關聯對應; 3)把完成的設計以一種格式定義在具體的介質中,一般是按照XML格式定義在一XML文件系統中。
【文檔編號】G06Q10/06GK103617513SQ201310703373
【公開日】2014年3月5日 申請日期:2013年12月19日 優先權日:2013年12月19日
【發明者】佘東曉, 蔣利忠, 田繼鑫, 王芳, 王彥浩 申請人:上海亞太計算機信息系統有限公司