亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法及裝置的制作方法

文檔序號:6444173閱讀:619來源:國知局
專利名稱:一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法及裝置。
背景技術(shù)
規(guī)則引擎是一種嵌入在應(yīng)用程序中的組件,由推理引擎發(fā)展而來,規(guī)則引擎接受數(shù)據(jù)輸入,讀取業(yè)務(wù)規(guī)則,通過推理得到符合業(yè)務(wù)規(guī)則的業(yè)務(wù)決策。使用規(guī)則引擎可以降低實現(xiàn)復(fù)雜業(yè)務(wù)邏輯組件的復(fù)雜性,降低應(yīng)用程序的可擴(kuò)展性成本。目前在運行應(yīng)用程序時有多種規(guī)則引擎可供使用,其中最常見的包括商業(yè)規(guī)則引擎和開放源碼規(guī)則引擎。商業(yè)規(guī)則引擎通常允許使用專用的類似英語的語言來表達(dá)規(guī)則,其他規(guī)則引擎允許使用腳本語言編寫規(guī)則?,F(xiàn)有的JAVA規(guī)則引擎對提交的JAVA數(shù)據(jù)對象進(jìn)行規(guī)則運算,根據(jù)這些JAVA數(shù)據(jù)對象的當(dāng)前屬性值和規(guī)則之間的關(guān)系,從加載到規(guī)則弓I擎的規(guī)則集中查找符合條件的規(guī)貝U,并創(chuàng)建這些規(guī)則的執(zhí)行實例,這些實例將在規(guī)則引擎接到執(zhí)行指令時依照某種優(yōu)先序依次執(zhí)行,從而使得規(guī)則引擎在執(zhí)行之后能夠得到響應(yīng)的返回值。例如采用Java語言編寫的開放源碼規(guī)則引擎Drools,其使用Rete算法對所編寫的規(guī)則求值。Rete算法是一種前向規(guī)則快速匹配算法,其匹配速度與規(guī)則數(shù)目無關(guān)。但是Drools作為一個開源產(chǎn)品,其側(cè)重于規(guī)則引擎的實現(xiàn)以及規(guī)則語言的擴(kuò)展,并沒有在規(guī)則配置器做非常深入的研究。目前其提供的嵌入于Eclipse的配置器,只是一個為程序員設(shè)計和開發(fā)的工具;另外,由于Drools基于rete算法,所以必須要先學(xué)習(xí)rete算法,學(xué)習(xí)規(guī)則描述語言,才能去理解和配置規(guī)則,而rete算法對一般的程序員,則較難學(xué)習(xí)和理解?,F(xiàn)有的商業(yè)引擎,通常允許使用專用的類似英語的語言來表達(dá)規(guī)則,但是商業(yè)引擎對人員能力要求高,通常價格也比較昂貴,對于中小規(guī)模的軟件集成,特別是,對于規(guī)則邏輯相對簡單的處理應(yīng)用,引入復(fù)雜和昂貴的規(guī)則引擎有些大材小用,得不償失??梢姡F(xiàn)有的規(guī)則引擎,雖然有獨立的框架和語法,可以適用于各種海量數(shù)據(jù)的復(fù)雜計算規(guī)則,但在實現(xiàn)上都比較復(fù)雜,隨之產(chǎn)生了開發(fā)及二次開發(fā)成本高集成難度大的缺點,同時對開發(fā)人員的開發(fā)水平也有較高的要求,例如現(xiàn)有的JAVA規(guī)則引擎,就需要編寫Java代碼才能實現(xiàn),而Drools,雖然有自己的語法規(guī)則,但是對開發(fā)人員的能力要求高,需要熟悉所有的語法規(guī)則并了解其底層架構(gòu),再在其基礎(chǔ)上做二次開發(fā)采用進(jìn)行應(yīng)用;商業(yè)引擎則價格昂貴。同時因為現(xiàn)有規(guī)則引擎的實現(xiàn)復(fù)雜,也使得相對簡單的規(guī)則邏輯需求在基于復(fù)雜規(guī)則引擎進(jìn)行數(shù)據(jù)處理時,會呈現(xiàn)繁瑣復(fù)雜的缺點,這不僅影響規(guī)則處理的效率,也會使得在計算機(jī)上執(zhí)行上述方法對外部對象或者內(nèi)部數(shù)據(jù)進(jìn)行處理時,給計算機(jī)的響應(yīng)能力帶來速度上的影響,降低了計算機(jī)處理數(shù)據(jù)的處理性能
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,提供一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法,以通過實現(xiàn)簡單的規(guī)則引擎可以提高規(guī)則處理的效率,也提升計算機(jī)的響應(yīng)能力和的處理性能。本發(fā)明的另一個目的是將上述構(gòu)思應(yīng)用于具體的應(yīng)用環(huán)境中,提供一種基于數(shù)據(jù)庫函數(shù)的規(guī)則處理裝置,從而保證該方法的實現(xiàn)和應(yīng)用。為解決上述技術(shù)問題,本發(fā)明實施例提供了一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法,包括:步驟Al、根據(jù)規(guī)則應(yīng)用需求,建立包括一個或多個規(guī)則關(guān)鍵要素的業(yè)務(wù)規(guī)則模型,保存到規(guī)則模型庫中;步驟A2、建立符合所述業(yè)務(wù)規(guī)則模型的多個規(guī)則;步驟A3、將所述多個規(guī)則轉(zhuǎn)化為規(guī)則描述語言,并保存到規(guī)則庫中;步驟A4、將所述規(guī)則庫中的規(guī)則實現(xiàn)為對應(yīng)的數(shù)據(jù)庫函數(shù),所述數(shù)據(jù)庫函數(shù)的名稱作為被調(diào)用接口;步驟B1、根據(jù)應(yīng)用需求配置源數(shù)據(jù)與所應(yīng)用規(guī)則的關(guān)聯(lián)關(guān)系;步驟B2、獲取用戶輸入的源數(shù)據(jù)中關(guān)鍵要素的值,通過調(diào)用所述關(guān)聯(lián)規(guī)則相對應(yīng)的數(shù)據(jù)庫函數(shù),執(zhí)行所述數(shù)據(jù)庫函數(shù),返回執(zhí)行結(jié)果。所述步驟A3中的將所述多個規(guī)則轉(zhuǎn)化為規(guī)則描述語言,具體為:
根據(jù)規(guī)則邏輯將所述建立的規(guī)則描述為自定義類規(guī)則或公式類規(guī)則;其中,所述的自定義類規(guī)則邏輯為基于規(guī)則關(guān)鍵要素的如果…則…表達(dá)式,所述公式類規(guī)則為以規(guī)則關(guān)鍵要素為自變量的數(shù)學(xué)運算表達(dá)式。所述步驟A4的將所述規(guī)則庫中的規(guī)則實現(xiàn)為對應(yīng)的數(shù)據(jù)庫函數(shù),具體為:所述的數(shù)據(jù)庫函數(shù)名稱確定為規(guī)則名稱,數(shù)據(jù)庫函數(shù)的程序頭包括數(shù)據(jù)庫函數(shù)的名稱和輸入輸出參數(shù),將所述規(guī)則表達(dá)式中的關(guān)鍵要素定義為數(shù)據(jù)庫函數(shù)的輸入輸出參數(shù);將規(guī)則描述語言形式的規(guī)則表達(dá)式轉(zhuǎn)化為數(shù)據(jù)庫函數(shù)的程序體部分。所述步驟Al之后,還包括:步驟All:刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型,其中,所述修改的方式為通過增加或刪除規(guī)則關(guān)鍵要素的方式。所述步驟Al I,具體為:通過規(guī)則模型配置用戶界面,刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型。所述步驟A3之后,還包括:步驟A31:刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。所述步驟A31,具體為:通過規(guī)則配置用戶界面,刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。所述步驟A2之后還包括:對所述建立的規(guī)則根據(jù)應(yīng)用業(yè)務(wù)的類別進(jìn)行分類。以及,還包括為所述規(guī)則庫中的規(guī)則定義版本號及相應(yīng)的版本狀態(tài),每次創(chuàng)建新規(guī)則時定義初始版本號,以后修改該規(guī)則時生成新的版本號,保持只有一個版本處于激活狀態(tài),其它版本為非激活狀態(tài)。此外,本發(fā)明還提出一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的裝置,包括,規(guī)則模型管理單元,用于根據(jù)規(guī)則應(yīng)用需求,建立包括一個或多個規(guī)則關(guān)鍵要素的業(yè)務(wù)規(guī)則模型,保存到規(guī)則模型庫中;規(guī)則管理單元,用于根據(jù)所述規(guī)則模型庫中的規(guī)則模型,建立符合所述業(yè)務(wù)規(guī)則模型的多個規(guī)則;將所述規(guī)則轉(zhuǎn)化為規(guī)則描述語言,并保存到規(guī)則庫中;規(guī)則調(diào)用接口單元,用于將所述規(guī)則庫中的規(guī)則實現(xiàn)為數(shù)據(jù)庫函數(shù),所述數(shù)據(jù)庫函數(shù)的名稱作為被調(diào)用接口;規(guī)則關(guān)聯(lián)單元,用于根據(jù)應(yīng)用需求配置源數(shù)據(jù)與所應(yīng)用規(guī)則的關(guān)聯(lián)關(guān)系;規(guī)則調(diào)用單元,用于根據(jù)規(guī)則關(guān)聯(lián)單元所配置的規(guī)則,獲取用戶輸入的源數(shù)據(jù)中關(guān)鍵要素的值,根據(jù)規(guī)則關(guān)聯(lián)單元所關(guān)聯(lián)的規(guī)則名稱,通過規(guī)則調(diào)用接口,調(diào)用所述關(guān)聯(lián)規(guī)則相對應(yīng)的數(shù)據(jù)庫函數(shù),執(zhí)行所述數(shù)據(jù)庫函數(shù),返回執(zhí)行結(jié)果。所述規(guī)則關(guān)聯(lián)單元所建立的規(guī)則描述為自定義類規(guī)則或公式類規(guī)則;所述的自定義類規(guī)則邏輯為如果…則…表達(dá)式,所述的公式類規(guī)則為數(shù)學(xué)運算表達(dá)式。所述規(guī)則調(diào)用接口單元具體包括:轉(zhuǎn)化子模塊,用于將數(shù)據(jù)庫函數(shù)名稱確定為規(guī)則名稱,將所述規(guī)則表達(dá)式中的關(guān)鍵要素定義為數(shù)據(jù)庫函數(shù)的輸入輸出參數(shù);將規(guī)則描述語言形式的規(guī)則表達(dá)式轉(zhuǎn)化為數(shù)據(jù)庫函數(shù)的程序體部分。

組裝子模塊,用于組裝數(shù)據(jù)庫函數(shù)的程序頭和程序體,程序頭包括轉(zhuǎn)化子模塊確定的數(shù)據(jù)庫函數(shù)名稱和輸入輸出參數(shù)。所述的規(guī)則模型管理單元還包括:規(guī)則模型更新模塊,用于刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型,其中,所述修改的方式為通過增加或刪除規(guī)則關(guān)鍵要素的方式。所述規(guī)則模型管理單元具體通過規(guī)則模型配置用戶界面,刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型。所述的規(guī)則管理單元還包括:規(guī)則更新模塊,用于刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。所述規(guī)則管理單元,具體通過規(guī)則配置用戶界面刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。所述規(guī)則管理單元還包括:規(guī)則分類模塊,用于對所述規(guī)則管理單元建立的規(guī)則進(jìn)一步根據(jù)應(yīng)用業(yè)務(wù)的類型進(jìn)行分類。所述的規(guī)則管理單元還包括:版本管理單元,為所述規(guī)則庫中的規(guī)則定義版本號及相應(yīng)的版本狀態(tài),每次創(chuàng)建新規(guī)則時定義初始版本號,以后修改該規(guī)則時生成新的版本號,保持只有一個版本處于激活狀態(tài),其它版本為非激活狀態(tài)。從上述的技術(shù)方案可以看出,本發(fā)明實施例在基于數(shù)據(jù)庫函數(shù)實現(xiàn)的規(guī)則引擎的實現(xiàn)結(jié)果上,通過直接調(diào)用數(shù)據(jù)庫中的數(shù)據(jù)庫函數(shù)對應(yīng)用源數(shù)據(jù)進(jìn)行處理,從而可以將規(guī)則引擎中繁瑣算法的實現(xiàn)借助于簡單的數(shù)據(jù)庫函數(shù)來實現(xiàn),對開發(fā)人員的要求下降到熟悉數(shù)據(jù)庫函數(shù)的編程方法即可,從而降低了規(guī)則引擎的開發(fā)難度,節(jié)省了成本,提高了規(guī)則處理的效率。本發(fā)明優(yōu)選的實施例還建立了規(guī)則模型管理和規(guī)則管理的方法及機(jī)制,從而達(dá)到規(guī)則數(shù)據(jù)庫的靈活更新,使更加滿足應(yīng)用需求。進(jìn)一步地,本發(fā)明優(yōu)選的實施例還通過實現(xiàn)易于操作的規(guī)則配置界面,使用戶不需要學(xué)習(xí)規(guī)則描述語言的語法形式,便可以方便地配置規(guī)則。相對于現(xiàn)有的JAVA規(guī)則引擎來說,本發(fā)明實施例在數(shù)據(jù)庫中實現(xiàn)規(guī)則引擎,能夠使實現(xiàn)更簡單,也不需要像Drools —樣需要程序員學(xué)習(xí)非常復(fù)雜的算法,同時在實現(xiàn)上也不像商業(yè)引擎那么昂貴,更利于在實際應(yīng)用中推廣使用。進(jìn)一步的,本發(fā)明實施例也能在計算機(jī)上執(zhí)行上述方法對外部對象或者內(nèi)部數(shù)據(jù)進(jìn)行處理時,提升計算機(jī)的響應(yīng)能力和處理性能。


為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明的規(guī)則實現(xiàn)及應(yīng)用的方法實施例一的流程圖;圖2為本發(fā)明的規(guī)則實現(xiàn)及應(yīng)用的方法實施例二的流程圖;圖3為本發(fā)明的方法實施例二規(guī)則模型配置用戶界面的一個示意圖;圖4為本發(fā)明的方法實施例二自定義規(guī)則詳細(xì)內(nèi)容的規(guī)則創(chuàng)建界面的示意圖;圖5為本發(fā)明的方法實施例二公式類規(guī)則的規(guī)則創(chuàng)建界面的示意圖;圖6為本發(fā)明數(shù)據(jù)處理裝置實施例一的結(jié)構(gòu)示意圖;圖7為本發(fā)明數(shù)據(jù)處理裝置實施例二的結(jié)構(gòu)示意圖。
具體實施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。參見圖1,示出了本發(fā)明的一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法實施例一的流程圖,可以包括以下步驟:步驟101:根據(jù)規(guī)則應(yīng)用需求,建立包括一個或多個規(guī)則關(guān)鍵要素的業(yè)務(wù)規(guī)則模型,保存到規(guī)則模型庫中。本發(fā)明在建立規(guī)則之前,需要先建立業(yè)務(wù)規(guī)則模型,該業(yè)務(wù)規(guī)則模型包括一個或多個規(guī)則關(guān)鍵要素。這里的規(guī)則業(yè)務(wù)模型是指,規(guī)則應(yīng)用于實際業(yè)務(wù)場景時,組成規(guī)則的若干相關(guān)關(guān)鍵要素的集合,也可以簡稱為業(yè)務(wù)模型。這些關(guān)鍵要素決定了相關(guān)業(yè)務(wù)模型的結(jié)構(gòu),這些關(guān)鍵要素的變化對業(yè)務(wù)模型的變化有重要的影響。比如G網(wǎng)基站平均斷站信息就決定了網(wǎng)絡(luò)質(zhì)量,設(shè)備的CPU利用率、內(nèi)存占用率、硬盤吞吐量決定了設(shè)備的狀態(tài),因此網(wǎng)絡(luò)質(zhì)量考核模型中有一個關(guān)鍵要素-G網(wǎng)基站平均斷站信息,設(shè)備告警模型中有三個關(guān)鍵要素-CPU利用率、內(nèi)存占用率和硬盤吞吐量,這些模型及關(guān)鍵要素由用戶根據(jù)規(guī)則應(yīng)用的業(yè)務(wù)場景自行定義。在本發(fā)明實現(xiàn)方案中,將關(guān)鍵要素實現(xiàn)為相關(guān)的業(yè)務(wù)屬性字段。在規(guī)則創(chuàng)建之前,只要先創(chuàng)建一系列的規(guī)則業(yè)務(wù)模型,就可以基于這些模型創(chuàng)建相應(yīng)的規(guī)則了。這樣創(chuàng)建出來的規(guī)則就是以規(guī)則業(yè)務(wù)模型為指導(dǎo)的規(guī)則。借助簡單的用戶界面編輯功能可以實現(xiàn)輕松的規(guī)則創(chuàng)建。步驟102:建立符合所述業(yè)務(wù)規(guī)則模型的多個規(guī)則。在建立業(yè)務(wù)規(guī)則模型并保存到規(guī)則模型庫之后,接著創(chuàng)建符合前述業(yè)務(wù)規(guī)則模型的規(guī)則。其中,建立規(guī)則時需要選擇規(guī)則類型,類型則表示一個規(guī)則是自定義規(guī)則還是公式類規(guī)則等,自定義規(guī)則一般用于可以描述成“if……else……”這種形式的規(guī)則,而公式類規(guī)則,則用于可以將業(yè)務(wù)規(guī)則推理轉(zhuǎn)換為線性數(shù)學(xué)公式類的,例如I = ax+b這種形式的。其中,公式類規(guī)則中的公式可以是線性數(shù)學(xué)公式,目前可以根據(jù)用戶規(guī)則推理出來,或者是采用用戶直接給定的計算公式,只要在規(guī)則創(chuàng)建界面直接錄入公式即可,例如:y= A-A*(x/y),得分(Z)=配置總分(A)-配置總分(A)*(申請時間(X)/總工單數(shù)(Y))。目前的規(guī)則基本都能夠直接或者間接通過自定義和公式類規(guī)則來創(chuàng)建,例如:故障工單緊急程度和所走流程分支的關(guān)聯(lián)規(guī)則定義:當(dāng)故障工單緊急程度為非常緊急時,走流程A分支,當(dāng)故障工單緊急程度為緊急時,走流程B分支。則規(guī)則可以描述成“if……else……”,只需要將返回結(jié)果再進(jìn)行業(yè)務(wù)翻譯即可。步驟103:將所述多個規(guī)則轉(zhuǎn)化為規(guī)則描 述語言,并保存到規(guī)則庫中。下面用一個實例說明規(guī)則轉(zhuǎn)化為規(guī)則描述語言的過程。假設(shè)需要創(chuàng)建某省業(yè)務(wù)考核得分計算規(guī)則,該規(guī)則所表示的含義(即是其定義)為:G網(wǎng)基站平均斷站次數(shù)小于或等于0.5次則結(jié)果為滿分,而該斷站次數(shù)每超過0.5次,扣10%的分,扣完為止。那么可以定義一個網(wǎng)絡(luò)考核模型的業(yè)務(wù)模型,其屬性是G網(wǎng)基站平均斷站次數(shù)。假設(shè)符合此業(yè)務(wù)規(guī)則模型的規(guī)則的權(quán)重分為5分,則基準(zhǔn)值為0.5、滿分為5分。根據(jù)上述規(guī)則的定義可解析為:當(dāng)斷站次數(shù)大于或等于O且小與或等于0.5,則得5分;當(dāng)斷站次數(shù)大于0.5且小于或等于1,則得4.5分;當(dāng)段站次數(shù)大于I且小于或等于< 1.5,則得4分,依此類推。那么用“右值”代表斷站次數(shù)應(yīng)該大于或等于的值,而用“左值”代表斷站次數(shù)應(yīng)該小于或等于的值;實際值”為G網(wǎng)基站平均斷站次數(shù),可得表I所示的規(guī)則描述。表I
權(quán)利要求
1.一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法,其特征在于,包括: 步驟Al、根據(jù)規(guī)則應(yīng)用需求,建立包括一個或多個規(guī)則關(guān)鍵要素的業(yè)務(wù)規(guī)則模型,保存到規(guī)則模型庫中; 步驟A2、建立符合所述業(yè)務(wù)規(guī)則模型的多個規(guī)則; 步驟A3、將所述多個規(guī)則轉(zhuǎn)化為規(guī)則描述語言,并保存到規(guī)則庫中; 步驟A4、將所述規(guī)則庫中的規(guī)則實現(xiàn)為對應(yīng)的數(shù)據(jù)庫函數(shù),所述數(shù)據(jù)庫函數(shù)的名稱作為被調(diào)用接口; 步驟B1、根據(jù)應(yīng)用需求配置源數(shù)據(jù)與所應(yīng)用規(guī)則的關(guān)聯(lián)關(guān)系; 步驟B2、獲取用戶輸入的源數(shù)據(jù)中關(guān)鍵要素的值,通過調(diào)用所述關(guān)聯(lián)規(guī)則相對應(yīng)的數(shù)據(jù)庫函數(shù),執(zhí)行所述數(shù)據(jù)庫函數(shù),返回執(zhí)行結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A3中的將所述多個規(guī)則轉(zhuǎn)化為規(guī)則描述語言,具體為: 根據(jù)規(guī)則邏輯將所述建立的規(guī)則描述為自定義類規(guī)則或公式類規(guī)則;其中,所述的自定義類規(guī)則邏輯為基于規(guī)則關(guān)鍵要素的如果…則…表達(dá)式,所述公式類規(guī)則為以規(guī)則關(guān)鍵要素為自變量的數(shù)學(xué)運算表達(dá)式。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟A4的將所述規(guī)則庫中的規(guī)則實現(xiàn)為對應(yīng)的數(shù)據(jù)庫函數(shù),具體為: 所述的數(shù)據(jù)庫函數(shù)名稱確定為規(guī)則名稱,數(shù)據(jù)庫函數(shù)的程序頭包括數(shù)據(jù)庫函數(shù)的名稱和輸入輸出參數(shù),將 所述規(guī)則表達(dá)式中的關(guān)鍵要素定義為數(shù)據(jù)庫函數(shù)的輸入輸出參數(shù);將規(guī)則描述語言形式的規(guī)則表達(dá)式轉(zhuǎn)化為數(shù)據(jù)庫函數(shù)的程序體部分。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟Al之后,還包括: 步驟All:刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型,其中,所述修改的方式為通過增加或刪除規(guī)則關(guān)鍵要素的方式。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟All,具體為: 通過規(guī)則模型配置用戶界面,刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型。
6.根據(jù)權(quán)利要求31所述的方法,其特征在于,所述步驟A3之后,還包括: 步驟A31:刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟A31,具體為: 通過規(guī)則配置用戶界面,刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A2之后還包括: 對所述建立的規(guī)則根據(jù)應(yīng)用業(yè)務(wù)的類別進(jìn)行分類。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 為所述規(guī)則庫中的規(guī)則定義版本號及相應(yīng)的版本狀態(tài),每次創(chuàng)建新規(guī)則時定義初始版本號,以后修改該規(guī)則時生成新的版本號,保持只有一個版本處于激活狀態(tài),其它版本為非激活狀態(tài)。
10.一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的裝置,其特征在于,包括, 規(guī)則模型管理單元,用于根據(jù)規(guī)則應(yīng)用需求,建立包括一個或多個規(guī)則關(guān)鍵要素的業(yè)務(wù)規(guī)則模型,保存到規(guī)則模型庫中;規(guī)則管理單元,用于根據(jù)所述規(guī)則模型庫中的規(guī)則模型,建立符合所述業(yè)務(wù)規(guī)則模型的多個規(guī)則;將所述規(guī)則轉(zhuǎn)化為規(guī)則描述語言,并保存到規(guī)則庫中; 規(guī)則調(diào)用接口單元,用于將所述規(guī)則庫中的規(guī)則實現(xiàn)為數(shù)據(jù)庫函數(shù),所述數(shù)據(jù)庫函數(shù)的名稱作為被調(diào)用接口; 規(guī)則關(guān)聯(lián)單元,用于根據(jù)應(yīng)用需求配置源數(shù)據(jù)與所應(yīng)用規(guī)則的關(guān)聯(lián)關(guān)系; 規(guī)則調(diào)用單元,用于根據(jù)規(guī)則關(guān)聯(lián)單元所配置的規(guī)則,獲取用戶輸入的源數(shù)據(jù)中關(guān)鍵要素的值,根據(jù)規(guī)則關(guān)聯(lián)單元所關(guān)聯(lián)的規(guī)則名稱,通過規(guī)則調(diào)用接口,調(diào)用所述關(guān)聯(lián)規(guī)則相對應(yīng)的數(shù)據(jù)庫函數(shù),執(zhí)行所述數(shù)據(jù)庫函數(shù),返回執(zhí)行結(jié)果。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述規(guī)則關(guān)聯(lián)單元所建立的規(guī)則描述為自定義類規(guī)則或公式類規(guī)則;所述的自定義類規(guī)則邏輯為如果…則…表達(dá)式,所述的公式類規(guī)則為數(shù)學(xué)運算表達(dá)式。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述規(guī)則調(diào)用接口單元具體包括: 轉(zhuǎn)化子模塊,用于將數(shù)據(jù)庫函數(shù)名稱確定為規(guī)則名稱,將所述規(guī)則表達(dá)式中的關(guān)鍵要素定義為數(shù)據(jù)庫函數(shù)的輸入輸出參數(shù);將規(guī)則描述語言形式的規(guī)則表達(dá)式轉(zhuǎn)化為數(shù)據(jù)庫函數(shù)的程序體部分。
組裝子模塊,用于組裝數(shù)據(jù)庫函數(shù)的程序頭和程序體,程序頭包括轉(zhuǎn)化子模塊確定的數(shù)據(jù)庫函數(shù)名稱和輸入輸出參數(shù)。
13.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述的規(guī)則模型管理單元還包括: 規(guī)則模型更新模塊,用于刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模 型,其中,所述修改的方式為通過增加或刪除規(guī)則關(guān)鍵要素的方式。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述規(guī)則模型管理單元具體通過規(guī)則模型配置用戶界面,刪除、修改、增加或查詢所述業(yè)務(wù)規(guī)則模型庫中的業(yè)務(wù)規(guī)則模型。
15.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述的規(guī)則管理單元還包括: 規(guī)則更新模塊,用于刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述規(guī)則管理單元,具體 通過規(guī)則配置用戶界面刪除、修改、增加或查詢所述規(guī)則庫中的規(guī)則。
17.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述規(guī)則管理單元還包括: 規(guī)則分類模塊,用于對所述規(guī)則管理單元建立的規(guī)則進(jìn)一步根據(jù)應(yīng)用業(yè)務(wù)的類型進(jìn)行分類。
18.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述的規(guī)則管理單元還包括: 版本管理單元,為所述規(guī)則庫中的規(guī)則定義版本號及相應(yīng)的版本狀態(tài),每次創(chuàng)建新規(guī)則時定義初始版本號,以后修改該規(guī)則時生成新的版本號,保持只有一個版本處于激活狀態(tài),其它版本為非激活狀態(tài)。
全文摘要
本發(fā)明實施例公開了一種基于數(shù)據(jù)庫函數(shù)的規(guī)則實現(xiàn)及應(yīng)用的方法及裝置,包括根據(jù)規(guī)則應(yīng)用需求,建立包括一個或多個規(guī)則關(guān)鍵要素的業(yè)務(wù)規(guī)則模型;建立符合所述業(yè)務(wù)規(guī)則模型的多個規(guī)則;將所述多個規(guī)則轉(zhuǎn)化為規(guī)則描述語言,保存到規(guī)則庫中;將所述規(guī)則庫中的規(guī)則實現(xiàn)為對應(yīng)的數(shù)據(jù)庫函數(shù);根據(jù)應(yīng)用需求配置源數(shù)據(jù)與所應(yīng)用規(guī)則的關(guān)聯(lián)關(guān)系;獲取用戶輸入的所述配置規(guī)則中關(guān)鍵要素的值,通過調(diào)用所述規(guī)則相關(guān)聯(lián)的數(shù)據(jù)庫函數(shù)執(zhí)行所述規(guī)則,返回執(zhí)行結(jié)果。采用本發(fā)明實施例公開的方法或裝置,在基于數(shù)據(jù)庫函數(shù)實現(xiàn)的規(guī)則引擎的實現(xiàn)結(jié)果上,將繁瑣算法的實現(xiàn)借助于簡單的數(shù)據(jù)庫函數(shù)來實現(xiàn),降低了規(guī)則引擎的開發(fā)難度,節(jié)省了成本,提高了規(guī)則處理的效率。
文檔編號G06F17/30GK103186579SQ20111045131
公開日2013年7月3日 申請日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者商艷麗, 王鶴琪, 杜大江, 劉興宗 申請人:北京億陽信通科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1