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