可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及民航業(yè)務(wù)領(lǐng)域,提供了一種可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng),包括前端規(guī)則編輯模塊和后端控制模塊,前端規(guī)則編輯模塊提供交互性強(qiáng)、反應(yīng)快的圖形化界面,供用戶設(shè)置編輯規(guī)則;后端控制模塊進(jìn)行規(guī)則圖有效性驗(yàn)證、規(guī)則圖編譯、數(shù)據(jù)存儲(chǔ)等,并提供擴(kuò)展接口使得技術(shù)人員能夠快速開發(fā)新的子系統(tǒng)規(guī)則編譯器。本系統(tǒng)通過可視化、高可用的圖形界面,對(duì)民航業(yè)務(wù)規(guī)則進(jìn)行便捷的設(shè)置和管理,可以提升使用體驗(yàn),提高業(yè)務(wù)操作和軟件開發(fā)效率、降低軟件的維護(hù)成本。
【專利說明】可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及民航業(yè)務(wù)領(lǐng)域,提供了一種可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)。
【背景技術(shù)】
[0002]國(guó)民經(jīng)濟(jì)持續(xù)高速增長(zhǎng)帶來了中國(guó)民航業(yè)的繁榮局面,也使得國(guó)內(nèi)各個(gè)航空公司在航空客運(yùn)市場(chǎng)的競(jìng)爭(zhēng)越來越激烈。為應(yīng)對(duì)市場(chǎng)競(jìng)爭(zhēng),國(guó)內(nèi)航空公司正逐步引入收益應(yīng)用系統(tǒng)。如何在不提高現(xiàn)有運(yùn)力成本的條件下,采取一系列有效的技術(shù)手段/措施,達(dá)到減小或者消除收益漏洞、最大化航班收益,這是提高航空公司收益的重要因素。
[0003]訂座記錄控制是收益應(yīng)用系統(tǒng)中的重要部分,也是情況紛繁復(fù)雜、難以處理的部分。航空公司希望進(jìn)一步細(xì)分訂座記錄,對(duì)不同區(qū)域訂座采取不同的處理措施。比如通常從各級(jí)銷售渠道區(qū)域、航線航班區(qū)域等方面將訂座記錄分類,包括從⑶S、國(guó)家、城市、office/pcc/iata、起飛到達(dá)城市等劃分。處理措施也是多種多樣,如設(shè)置出票時(shí)限為訂座記錄生成某天后或者航班起飛前某天,時(shí)限可以具體到某天某時(shí);設(shè)置系統(tǒng)自動(dòng)清票時(shí)限;給不完整訂座記錄的發(fā)送提示短信息等。
[0004]可見,這類規(guī)則和措施的制定復(fù)雜繁瑣,并且需要非常靈活的可配置性。目前,航空公司收益應(yīng)用系統(tǒng)操作流程如圖1?,F(xiàn)有的操作方式存在著三個(gè)急待解決的問題:
(1)錄入方式復(fù)雜,交互性差,效率低下;
(2)規(guī)則配置方式不夠靈活;
(3)規(guī)則管理不直觀,修改維護(hù)不便。
[0005]
【發(fā)明內(nèi)容】
針對(duì)上述現(xiàn)有系統(tǒng)的缺陷,本發(fā)明的目的旨在提供一種可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng),實(shí)現(xiàn)圖形化方式進(jìn)行規(guī)則編輯、并且提供可配置規(guī)則應(yīng)用系統(tǒng)擴(kuò)展接口。解決傳統(tǒng)配置方式用戶體驗(yàn)不好、靈活性不高、管理維護(hù)不便等技術(shù)問題,提高網(wǎng)絡(luò)收益部門的工作效率,同時(shí)能夠加快技術(shù)人員擴(kuò)展其他類型編輯器的開發(fā)速度,提升整個(gè)收益管理水平,帶來可觀的經(jīng)濟(jì)效益和社會(huì)效益。
[0006]本發(fā)明的可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)包括前端規(guī)則編輯模塊和后端控制模塊。前端規(guī)則編輯模塊提供交互性強(qiáng)、反應(yīng)快的圖形化界面,供用戶設(shè)置編輯規(guī)則;后端控制模塊進(jìn)行規(guī)則圖(即圖形化后的規(guī)則)有效性驗(yàn)證、規(guī)則圖編譯、數(shù)據(jù)存儲(chǔ)等,并提供擴(kuò)展接口使得技術(shù)人員能夠快速開發(fā)新的子系統(tǒng)規(guī)則編譯器。
[0007]根據(jù)本發(fā)明的可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng),其中,所述前端規(guī)則編輯模塊是用戶進(jìn)行規(guī)則編輯的圖形化界面。用戶可以直接拖拽界面上的基本圖元到編輯區(qū)域,編輯圖元屬性信息,用連線鏈接兩個(gè)圖元順序,從而進(jìn)行規(guī)則設(shè)置。該模塊可以分為兩個(gè)個(gè)部分=GEF基礎(chǔ)框架部分(Model層、EditPart層、Figure層)、規(guī)則編輯器(Rule Editor)部分。
[0008]GEF基礎(chǔ)框架部分使用MVC架構(gòu),實(shí)現(xiàn)了“Model”、“EditPar”、“Figure”之間的響應(yīng)和處理,以及圖形的顯示和渲染,其底層依賴于Flex SDK。其中Model層實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)描述和數(shù)據(jù)變更響應(yīng)figure層首先實(shí)現(xiàn)了針對(duì)圖元的擴(kuò)展,在此基礎(chǔ)上實(shí)現(xiàn)針對(duì)通用處理流程描述的擴(kuò)展,即提供圖元和連線,可以將圖元用連線連接起來;EditPart層實(shí)現(xiàn)最基礎(chǔ)的編輯接口,維護(hù)Model-EditPart-Figure之間的關(guān)系。整個(gè)GEF基礎(chǔ)框架提供了一個(gè)圖形編輯器的基礎(chǔ)框架,規(guī)則編輯器(Rule Editor)部分基于GEF框架,實(shí)現(xiàn)航空公司收益相關(guān)規(guī)則的特定圖元展示和編輯。
[0009]根據(jù)本發(fā)明的可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng),其中,所述的后端控制模塊包含四個(gè)功能模塊:子系統(tǒng)規(guī)則擴(kuò)展模塊、擴(kuò)展資源加載模塊、規(guī)則圖編譯模塊、規(guī)則圖校驗(yàn)?zāi)K。實(shí)現(xiàn)規(guī)則的校驗(yàn)、編譯為Excel決策表、保存規(guī)則到數(shù)據(jù)庫(kù)等業(yè)務(wù)功能,另外還要提供子系統(tǒng)、規(guī)則圖元、規(guī)則模版的擴(kuò)展與加載功能。
[0010]子系統(tǒng)規(guī)則擴(kuò)展模塊采用了 Eclipse基于擴(kuò)展點(diǎn)的插件擴(kuò)展機(jī)制,將子系統(tǒng)、圖元、模版組成的資源作為插件。
[0011]擴(kuò)展資源由擴(kuò)展資源加載模塊在應(yīng)用啟動(dòng)時(shí)加載,接著會(huì)加載擴(kuò)展文件。最后再根據(jù)擴(kuò)展文件中的配置信息,依次實(shí)例化子系統(tǒng)、圖元、模版。當(dāng)應(yīng)用終止時(shí),擴(kuò)展資源加載模塊會(huì)去清除已加載的擴(kuò)展資源。
[0012]規(guī)則圖編譯模塊負(fù)責(zé)將用戶在界面編輯的規(guī)則圖編譯轉(zhuǎn)換成一種能描述規(guī)則圖所有數(shù)據(jù)信息的數(shù)據(jù)文件。規(guī)則圖編譯模塊后端連接規(guī)則引擎,將規(guī)則圖編譯為能被JbossDrools規(guī)則擎執(zhí)行的Excel決策表,主要包括決策表表頭生成、列生成、數(shù)據(jù)生成三個(gè)部分。
[0013]決策表表頭由規(guī)則編輯器的配置信息生成。列定義對(duì)應(yīng)圖元中的屬性,包括:類型、對(duì)象變量聲明、條件或行為表達(dá)式、注釋說明。規(guī)則圖編譯模塊會(huì)根據(jù)各個(gè)圖元的列定義屬性生成決策表列定義。
[0014]決策表數(shù)據(jù)生成數(shù)據(jù)分為三個(gè)部分:路徑計(jì)算、規(guī)則條目計(jì)算、生成數(shù)據(jù)。
[0015]路徑計(jì)算:規(guī)則圖連線允許分支和聚合,即允許從一個(gè)圖元出發(fā)指向多個(gè)圖元,也允許由多個(gè)圖元指向同一個(gè)圖元。這樣使得從開始圖元出發(fā)會(huì)可能有多條路徑達(dá)到結(jié)束圖元。路徑計(jì)算就是找出從開始圖元到結(jié)束圖元的所有通路。
[0016]規(guī)則條目計(jì)算:每條路徑上有多個(gè)圖元,每個(gè)圖元上有I個(gè)或多個(gè)規(guī)則條目。某條路徑上的規(guī)則條目總數(shù)等于各圖元上的規(guī)則條目數(shù)相乘。
[0017]生成數(shù)據(jù):每條路徑上的規(guī)則條目匯總并寫入決策表文件。每一個(gè)規(guī)則條目中包含若干個(gè)列的數(shù)據(jù),這些列的數(shù)據(jù)會(huì)寫到?jīng)Q策表對(duì)應(yīng)的單元格中。
[0018]規(guī)則圖編譯前,需要規(guī)則圖校驗(yàn)?zāi)K執(zhí)行校驗(yàn),才能確保生成的決策表文件有效。校驗(yàn)主要有以下幾條原則:
(1)只能有一個(gè)開始和結(jié)束圖元;
(2)至少有一個(gè)擴(kuò)展圖元;
(3)開始圖元必須是第一個(gè),結(jié)束圖元必須為最后一個(gè);
(4)連線校驗(yàn),索引大的圖元不能指向索引小于等于自己的圖元,即按照左側(cè)圖元列表的先后順序,排在后面的圖元不能指向排在前面的圖元,也不能指向和自己相同的圖元;
(5)連線后不能有循環(huán)回路;
(6)不能有孤立結(jié)點(diǎn);
(7)結(jié)點(diǎn)不能指向自身;
(8)名稱為空的圖元給出警告; (9)擴(kuò)展圖元不允許作為開始或者結(jié)束圖元。
[0019]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
(I)交互性強(qiáng)、速度快
采用本系統(tǒng)后,數(shù)據(jù)輸入不再使用表格文件方式,而采用圖形化界面編輯,體驗(yàn)優(yōu)秀,交互性強(qiáng),靈活性和效率大幅提升。本發(fā)明的圖形化界面類似桌面應(yīng)用程序,可以直接拖拽的基礎(chǔ)圖元到編輯區(qū)域。對(duì)于規(guī)則中基本圖元的順序關(guān)系,使用箭頭聯(lián)線方式表示。使用拷貝復(fù)制按鈕或快捷鍵可以復(fù)制單個(gè)圖元或者整個(gè)規(guī)則的信息;使用回退、前進(jìn)按鈕或快捷鍵能夠回退到歷史操作、進(jìn)入到前一個(gè)操作。對(duì)規(guī)則中圖元位置可以使用左右對(duì)齊等方式調(diào)整,界面尺寸也能夠放大或者縮小。
[0020]依靠本發(fā)明的支持,用戶能夠快速新建編輯規(guī)則、設(shè)置規(guī)則中數(shù)據(jù)模塊的關(guān)系,大幅提升用戶體驗(yàn)、提高航空公司相關(guān)部門的工作效率。
[0021](2)規(guī)則管理更直觀,配置更靈活、簡(jiǎn)潔
航空公司用戶在管理收益規(guī)則時(shí),更希望能夠看到整個(gè)區(qū)域設(shè)置的規(guī)則屬性及其之間的關(guān)系。使用圖形化配置方式,航空公司用戶能夠直觀的看到所管轄區(qū)域內(nèi)配置規(guī)則的全部屬性信息。同時(shí),規(guī)則圖連線允許分支和聚合,這樣用戶在設(shè)置規(guī)則時(shí),能從一個(gè)屬性節(jié)點(diǎn)出發(fā)設(shè)置多個(gè)后續(xù)節(jié)點(diǎn),反之亦可。這中操作方式使得規(guī)則配置更靈活更方便,大大提高了規(guī)則配置效率。
[0022](3)提高開發(fā)速率,縮短新編輯器的開發(fā)周期
本發(fā)明圖形化規(guī)則應(yīng)用系統(tǒng)后端采用了基于Eclipse RCP的插件擴(kuò)展機(jī)制,開發(fā)人員可以根據(jù)不同的應(yīng)用(子系統(tǒng))擴(kuò)展出相應(yīng)的規(guī)則圖元及模版,保證了系統(tǒng)能夠快速響應(yīng)用戶需求的變化,縮短開發(fā)周期。
【專利附圖】
【附圖說明】
[0023]圖1為現(xiàn)有系統(tǒng)規(guī)則設(shè)置流程圖;
圖2為本發(fā)明的可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)組成框圖;
圖3為可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)流程圖;
圖4為本發(fā)明規(guī)則圖校驗(yàn)?zāi)A鞒虉D;
圖5為本發(fā)明規(guī)則圖編譯模塊流程圖;
圖6為本發(fā)明可擴(kuò)展機(jī)制原理圖;
圖7為本發(fā)明字系統(tǒng)規(guī)則擴(kuò)展模塊流程圖;
圖8為本發(fā)明部署實(shí)施圖。
【具體實(shí)施方式】
[0024]如圖2所示,本發(fā)明的實(shí)施例由前端應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器組成。本發(fā)明的規(guī)則編譯器圖形前端可嵌入普通網(wǎng)頁中,運(yùn)行于用戶瀏覽器;后端邏輯控制部分部署在應(yīng)用服務(wù)器Web應(yīng)用容器中;規(guī)則數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù)服務(wù)器。同時(shí),本發(fā)明前端規(guī)則編譯模塊支持熱更新。如果需要新增一個(gè)應(yīng)用圖元信息,可以在不停止前端服務(wù)器的情況下,將新增應(yīng)用相關(guān)文件復(fù)制到前端服務(wù)器相應(yīng)的目錄,系統(tǒng)會(huì)自動(dòng)加載新應(yīng)用圖元信息;同樣的,需要?jiǎng)h除某個(gè)應(yīng)用圖元時(shí),只要把相關(guān)文件刪除就可以了。[0025]參見圖3,具體工作過程如下:
步驟1:航空公司用戶通過瀏覽器訪問前端規(guī)則編輯模塊,輸入規(guī)則名稱,創(chuàng)建規(guī)則。創(chuàng)建規(guī)則進(jìn)入規(guī)則編輯器時(shí),默認(rèn)只有“開始”和“結(jié)束”結(jié)點(diǎn),可以選擇模版實(shí)現(xiàn)進(jìn)入編輯器時(shí)有模板設(shè)定的圖元結(jié)點(diǎn)。
[0026]步驟2:進(jìn)入前端規(guī)則編輯模塊后,用戶通過拖拽圖元的方式添加或刪除規(guī)則節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)點(diǎn)擊后可進(jìn)入數(shù)據(jù)編輯界面,每個(gè)節(jié)點(diǎn)數(shù)據(jù)可以都設(shè)置多條。
[0027]步驟3:待規(guī)則編輯完成后,用戶點(diǎn)擊驗(yàn)證進(jìn)行規(guī)則校驗(yàn)。后臺(tái)規(guī)則圖驗(yàn)證模塊接收到請(qǐng)求后,按照一定原則執(zhí)行規(guī)則校驗(yàn),并將校驗(yàn)結(jié)果信息返回到前臺(tái)。
[0028]步驟4:用戶編輯完成后可以保存或修改規(guī)則。后臺(tái)控制模塊接收到請(qǐng)求后會(huì)訪問后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)或修改規(guī)則。
[0029]步驟5:在規(guī)則管理界面,用戶可選擇需要的規(guī)則進(jìn)行生效。后臺(tái)接收到生效命令后會(huì)從數(shù)據(jù)庫(kù)取出相關(guān)規(guī)則條目進(jìn)行校驗(yàn),校驗(yàn)成功后,規(guī)則圖編譯模塊將規(guī)則信息編譯為決策表。
[0030]規(guī)則圖校驗(yàn)的具體實(shí)施過程如圖4所示:用戶提交校驗(yàn)請(qǐng)求后,首先將規(guī)則轉(zhuǎn)換成json類型的字符串形式并傳往后臺(tái)。后臺(tái)將收到數(shù)據(jù)進(jìn)行字符串解析操作,得到圖形數(shù)據(jù)對(duì)象,從圖形根部開始遍歷每條路徑,按照上述校驗(yàn)規(guī)則進(jìn)行校驗(yàn)。如果校驗(yàn)失敗,將記錄失敗原因和相關(guān)節(jié)點(diǎn)信息。最后將校驗(yàn)結(jié)果返回前臺(tái)界面。
[0031]規(guī)則圖編譯的具體實(shí)施過程參見圖5:首先將接收到的數(shù)據(jù)進(jìn)行字符串解析,得到數(shù)據(jù)對(duì)象。接著根據(jù)應(yīng)用配置信息生成決策表表頭、根據(jù)圖元列定義信息生成決策表列定義。最后也是最復(fù)雜的一步是數(shù)據(jù)生成,數(shù)據(jù)生成的前提是路徑計(jì)算和規(guī)則條目計(jì)算。路徑計(jì)算是尋找從開始圖元到結(jié)束圖元的所有通路。同時(shí),每個(gè)圖元上會(huì)有一條或多條數(shù)據(jù)規(guī)則條目,某條路徑上的規(guī)則條目總數(shù)等于各圖元上的規(guī)則條目數(shù)相乘。規(guī)則條目計(jì)算就是要計(jì)算出規(guī)則圖中所有可能的完整條目。每一個(gè)規(guī)則條目中包含若干個(gè)列的數(shù)據(jù),通過圖元配置信息和列定義能夠定位到?jīng)Q策表中的單元格,將列的值寫入決策表中。遍歷完成每個(gè)條目的數(shù)據(jù)寫入后,也就完成了規(guī)則圖編譯、決策表的生成。
[0032]如圖6所示本發(fā)明圖形化規(guī)則應(yīng)用系統(tǒng)后端采用了基于Eclipse RCP的插件擴(kuò)展機(jī)制,開發(fā)人員可以根據(jù)不同的應(yīng)用(子系統(tǒng))擴(kuò)展出相應(yīng)的規(guī)則圖元及模版,參見圖7,具體擴(kuò)展方法如下:
首先,定義決策表。基于規(guī)則編輯器開發(fā)規(guī)則的目標(biāo)是生成子系統(tǒng)特定規(guī)格的Excel決策表文件,所以第一步首先是確定Excel決策表的表頭、和列定義(Condition和Action定義)。其中表頭對(duì)應(yīng)子系統(tǒng)擴(kuò)展配置,列定義對(duì)應(yīng)圖元配置。
[0033]然后,進(jìn)行配置擴(kuò)展。為了便于管理擴(kuò)展資源,我們做了如下約定:子系統(tǒng)擴(kuò)展開發(fā)目錄為 /ri/src/main/webapp/ruleEdit/extend/。
[0034]ruleExt文件:擴(kuò)展配置文件,約定命名為子系統(tǒng)加ruleExt”,如gait.ruleExto
[0035]nodeFigure目錄:圖元擴(kuò)展目錄,約定子目錄名稱為子系統(tǒng)名,如gait ;子系統(tǒng)目錄下放圖元的資源目錄,約定資源目錄名為圖元id,如orderLimit ;資源目錄下放圖元圖標(biāo)、圖元屬性界面、圖元模型等資源文件。
[0036]template目錄:模版擴(kuò)展目錄,約定子目錄名稱為子系統(tǒng)名,如gait ;子系統(tǒng)目錄下放模版的資源目錄,約定資源目錄名為模版id,如flat ;資源目錄下放模版圖標(biāo)、模版模型等資源文件。
[0037]配置擴(kuò)展部分需要?jiǎng)?chuàng)建擴(kuò)展文件。規(guī)則擴(kuò)展文件(*.ruleExt)與Eclipse插件擴(kuò)展文件(plugin, xml)的格式一致。只是為了區(qū)分,把文件名后綴改為了ruleExt”。接著是擴(kuò)展子系統(tǒng)、擴(kuò)展圖元,包括配置圖元基本屬性,配置圖元列定義。
[0038]最后,進(jìn)行屬性界面開發(fā)。圖元屬性界面主要用于展示和存儲(chǔ)規(guī)則條目數(shù)據(jù),接收用戶輸入。屬性界面主要用html語言編寫,或者類似jsp、asp的動(dòng)態(tài)網(wǎng)頁亦可。本發(fā)明提供幾個(gè)框架功能供屬性界面開發(fā)者使用,包括界面數(shù)據(jù)初始化、圖元數(shù)據(jù)獲取、圖元數(shù)據(jù)修改和存儲(chǔ)等。
[0039]另外,本發(fā)明還提供兩個(gè)高級(jí)配置,這兩個(gè)配置不是必需,只是為了方便用戶較少數(shù)據(jù)輸入量提供默認(rèn)值或模版,開發(fā)人員可以根據(jù)需要進(jìn)行配置。
[0040]擴(kuò)展模版。默認(rèn)情況下,創(chuàng)建規(guī)則進(jìn)入規(guī)則應(yīng)用系統(tǒng)時(shí),只有“開始”和“結(jié)束”結(jié)點(diǎn)??梢酝ㄟ^配置模版實(shí)現(xiàn)進(jìn)入編輯器時(shí)有特定的其他圖元結(jié)點(diǎn)。模版配置最重要的屬性是一個(gè)JSON文件,文件內(nèi)容表示一個(gè)完整的規(guī)則圖。配置成功之后,進(jìn)入新建規(guī)則界面時(shí),選擇“demo子系統(tǒng)”,可以看到新配置的模版。
[0041]配置圖元屬性界面初始值。一般情況下,從規(guī)則應(yīng)用系統(tǒng)圖元列表中拖出來的圖元,雙擊后打開的屬性界面都沒有初始值。通過配置圖元規(guī)則模型(ruleModel)可以使得圖元帶初始值。模型文件的內(nèi)容為JSON格式,表示圖元的結(jié)點(diǎn)模型。配置成功后,再重新從圖元列表中拖出該圖元,可以看到圖元的文本輸入框有了初始值。
[0042]如圖2所示為可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng)系統(tǒng)架構(gòu)示意圖,應(yīng)當(dāng)指出,在不脫離本發(fā)明技術(shù)解決方案原理的前提下,可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
[0043]針對(duì)本發(fā)明的技術(shù)方案,所述的規(guī)則圖校驗(yàn)?zāi)K中的校驗(yàn)規(guī)則是一類規(guī)則的總稱,應(yīng)當(dāng)指出,規(guī)則圖校驗(yàn)?zāi)K處理其他子系統(tǒng)規(guī)則也應(yīng)視為本發(fā)明的保護(hù)范圍。本發(fā)明未詳細(xì)闡述的內(nèi)容為本領(lǐng)域技術(shù)人員的公共常識(shí)。
[0044]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種可擴(kuò)展圖形化規(guī)則應(yīng)用系統(tǒng),包括前端規(guī)則編輯模塊和后端控制模塊,其特征在于: 所述前端規(guī)則編輯模塊包括GEF基礎(chǔ)框架模塊和規(guī)則編輯器模塊; (1)所述GEF基礎(chǔ)框架模塊使用MVC架構(gòu),實(shí)現(xiàn)Model層、EditPart層以及Figure層之間的響應(yīng)和處理,以及圖形的顯示和渲染,其底層依賴于Flex SDK,其中Model層實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)描述和數(shù)據(jù)變更響應(yīng),F(xiàn)igure層首先實(shí)現(xiàn)了針對(duì)圖元的擴(kuò)展,在此基礎(chǔ)上實(shí)現(xiàn)針對(duì)通用處理流程描述的擴(kuò)展,即提供圖元和連線,可將圖元用連線連接起來,EditPart層實(shí)現(xiàn)最基礎(chǔ)的編輯接口,維護(hù)Model層、EditPart層以及Figure層之間的關(guān)系; (2)規(guī)則編輯器模炔基于GEF基礎(chǔ)框架模塊,實(shí)現(xiàn)民航業(yè)務(wù)相關(guān)規(guī)則的特定圖元展示和編輯; 所述的后端控制模塊包括:子系統(tǒng)規(guī)則擴(kuò)展模塊、擴(kuò)展資源加載模塊、規(guī)則圖編譯模塊、規(guī)則圖校驗(yàn)?zāi)K,其中: (3)子系統(tǒng)規(guī)則擴(kuò)展模塊采用了Eclipse基于擴(kuò)展點(diǎn)的插件擴(kuò)展機(jī)制,將子系統(tǒng)、圖元、模版組成的資源作為插件; (4)擴(kuò)展資源加載模塊在應(yīng)用啟動(dòng)時(shí)加載,接著會(huì)加載擴(kuò)展文件,最后再根據(jù)擴(kuò)展文件中的配置信息,依次實(shí)例化子系統(tǒng)、圖元、模版,當(dāng)應(yīng)用終止時(shí),擴(kuò)展資源加載模塊清除已加載的擴(kuò)展資源; (5)規(guī)則圖編譯模塊負(fù)責(zé)將用戶在界面編輯的規(guī)則圖編譯轉(zhuǎn)換成一種能描述規(guī)則圖所有數(shù)據(jù)信息的數(shù)據(jù)文件; (6)規(guī)則圖校驗(yàn)?zāi)K執(zhí)行規(guī)則圖校驗(yàn)。
2.如權(quán)利要求1所述的系統(tǒng),其中所述規(guī)則圖編譯模塊后端連接規(guī)則引擎,將規(guī)則圖編譯為能被Jboss Drools規(guī)則擎執(zhí)行的Excel決策表,包括決策表表頭生成、列生成、數(shù)據(jù)生成三個(gè)部分。
3.如權(quán)利要求2所述的系統(tǒng),其中所述決策表表頭由規(guī)則編輯器的配置信息生成,列定義對(duì)應(yīng)圖元中的屬性,包括:類型、對(duì)象變量聲明、條件或行為表達(dá)式、注釋說明,規(guī)則圖編譯模塊根據(jù)各個(gè)圖元的列定義屬性生成決策表列定義,決策表數(shù)據(jù)生成分為三個(gè)部分:路徑計(jì)算、規(guī)則條目計(jì)算、生成數(shù)據(jù)。
4.如權(quán)利要求3所述的系統(tǒng),其中: (1)路徑計(jì)算:規(guī)則圖連線允許分支和聚合,即能夠從一個(gè)圖元出發(fā)指向多個(gè)圖元,也能夠由多個(gè)圖元指向同一個(gè)圖元,使得從開始圖元出發(fā)可能有多條路徑達(dá)到結(jié)束圖元,路徑計(jì)算就是找出從開始圖元到結(jié)束圖元的所有路徑; (2)規(guī)則條目計(jì)算:每條路徑上有多個(gè)圖元,每個(gè)圖元上有一個(gè)或多個(gè)規(guī)則條目,某條路徑上的規(guī)則條目總數(shù)等于各圖元上的規(guī)則條目數(shù)相乘; (3)生成數(shù)據(jù):每條路徑上的規(guī)則條目匯總并寫入決策表文件,每一個(gè)規(guī)則條目中包含若干個(gè)列的數(shù)據(jù),所述列的數(shù)據(jù)會(huì)寫到?jīng)Q策表對(duì)應(yīng)的單元格中。
5.如權(quán)利要求1-4之一所述的系統(tǒng),校驗(yàn)需遵循以下原則: (1)只能有一個(gè)開始和結(jié)束圖元; (2)至少有一個(gè)擴(kuò)展圖元; (3)開始圖元必須是第一個(gè),結(jié)束圖元必須為最后一個(gè);(4)連線校驗(yàn),索引大的圖元不能指向索引小于等于自己的圖元,即按照左側(cè)圖元列表的先后順序,排在后面的圖元不能指向排在前面的圖元,也不能指向和自己相同的圖元; (5)連線后不能有循環(huán)回路; (6)不能有孤立結(jié)點(diǎn); (7)結(jié)點(diǎn)不能指向自身; (8)名稱為空的圖元給出警告; (9)擴(kuò)展圖元不允許作為開始或者結(jié)束圖元。
【文檔編號(hào)】G06F9/44GK104020997SQ201410263026
【公開日】2014年9月3日 申請(qǐng)日期:2014年6月13日 優(yōu)先權(quán)日:2014年6月13日
【發(fā)明者】趙耀帥, 呂春回, 吳剛飛, 林彤, 王麗坤, 黨會(huì)建, 余真真 申請(qǐng)人:中國(guó)民航信息網(wǎng)絡(luò)股份有限公司