一種處理數(shù)據(jù)監(jiān)控的方法
【技術領域】
[0001]本發(fā)明公開一種處理數(shù)據(jù)監(jiān)控的方法,屬于數(shù)據(jù)管理技術領域。
【背景技術】
[0002]業(yè)務處理系統(tǒng),提供給基礎人員使用的系統(tǒng),是對業(yè)務處理過程進行針對性支持的信息系統(tǒng),能夠為某項工作的完成提供有力的工具支撐。目前,在某些業(yè)務處理系統(tǒng)中,出于安全等其他因素考慮,這些業(yè)務處理系統(tǒng)需要對數(shù)據(jù)進行監(jiān)控,如果超過設定的監(jiān)控規(guī)則,需要進行及時的處理,比如預告警等提醒,以便及時發(fā)現(xiàn)存在的危險,采取對應的措施。
[0003]通常使用規(guī)則引擎來處理業(yè)務處理系統(tǒng)內數(shù)據(jù)的規(guī)則監(jiān)控。規(guī)則引擎是一種嵌入在應用程序中的組件,可以將業(yè)務決策從應用程序代碼中分離出來,并使用預定義的語義模塊編寫業(yè)務決策。接受數(shù)據(jù)輸入,解釋業(yè)務規(guī)則,并根據(jù)業(yè)務規(guī)則做出業(yè)務決策。大多數(shù)規(guī)則引擎都支持規(guī)則的次序和規(guī)則沖突檢驗,支持簡單腳本語言的規(guī)則實現(xiàn),支持通用開發(fā)語言的嵌入開發(fā)。目前的規(guī)則引擎主要包括商業(yè)和開放源碼兩種選擇。開源的代表是Drools,商業(yè)的代表是VisualRules , iLog。其中Drools,這種規(guī)則引擎是用java編寫的,可跨平臺使用,只需要有jdk開發(fā)環(huán)境就可以運行。但在運用過程中,仍存在問題,比如需要按照Drools提供的要求編寫規(guī)則文件和規(guī)則數(shù)據(jù)對象,然后將規(guī)則文件和規(guī)則數(shù)據(jù)對象引入Drools,在這種情況下,如果業(yè)務系統(tǒng)發(fā)生新的變化,需要開發(fā)人員針對新的需求重新編寫規(guī)則文件,其開發(fā)周期一般比較長,無法及時滿足用戶對新業(yè)務亟待監(jiān)控的需求。長此以往,導致現(xiàn)有的處理業(yè)務的規(guī)則引擎可擴展性比較差,無法滿足及時更新監(jiān)控規(guī)則的需求。本發(fā)明提供一種處理數(shù)據(jù)監(jiān)控的方法,把寫規(guī)則文件的過程抽象為配置規(guī)則模板和實例化規(guī)則模板兩個過程,規(guī)則模板可以復用,實例化為多種規(guī)則實例,通過解析規(guī)則實例為規(guī)則文件,供規(guī)則引擎使用,把原本開發(fā)人員編寫規(guī)則文件的過程抽象出來,由更加熟悉業(yè)務的業(yè)務人員來維護規(guī)則模板和實例化規(guī)則文件,并且通過配置不同的規(guī)則模板并實例化規(guī)則來滿足不同的監(jiān)控數(shù)據(jù)規(guī)則的需求,加快了監(jiān)控規(guī)則的部署效率,使監(jiān)控系統(tǒng)更靈活,更具有彈性,滿足及時更新監(jiān)控規(guī)則的需求。
【發(fā)明內容】
[0004]本發(fā)明針對利用現(xiàn)有規(guī)則引擎無法及時滿足用戶對新業(yè)務亟待監(jiān)控的需求。長此以往,導致現(xiàn)有的處理業(yè)務的規(guī)則引擎可擴展性比較差,無法滿足及時更新監(jiān)控規(guī)則的需求的問題,提供一種處理數(shù)據(jù)監(jiān)控的方法,加快了監(jiān)控規(guī)則的部署效率,使監(jiān)控系統(tǒng)更靈活,更具有彈性,滿足及時更新監(jiān)控規(guī)則的需求。
[0005]本發(fā)明提出的具體方案是:
一種處理數(shù)據(jù)監(jiān)控的方法:
配置數(shù)據(jù)監(jiān)控規(guī)則模板;
實例化監(jiān)控規(guī)則模板為監(jiān)控規(guī)則,配置監(jiān)控條件,并從業(yè)務處理系統(tǒng)或數(shù)據(jù)庫中取得數(shù)據(jù);
根據(jù)監(jiān)控規(guī)則對取得的數(shù)據(jù)進行處理;
根據(jù)監(jiān)控規(guī)則對數(shù)據(jù)的處理結果,進行不同的業(yè)務處理。
[0006]所述監(jiān)控規(guī)則模板至少包含:有效時間范圍變量參數(shù)和監(jiān)控規(guī)則表達式;
有效時間范圍變量參數(shù)至少包含一個有效開始時間,一個有效結束時間;
監(jiān)控規(guī)則表達式為一個表達式或多個表達式的邏輯組合。
[0007]所述組成監(jiān)控規(guī)則表達式的表達式由參數(shù)和操作符組成;
所述參數(shù)由變量和函數(shù)組成;
所述變量為組成監(jiān)控規(guī)則所需要的元素和監(jiān)控規(guī)則需要處理的數(shù)據(jù)對象;
所述函數(shù)由數(shù)據(jù)庫字段參數(shù),數(shù)據(jù)庫sql以及數(shù)字變量組合而成。
[0008]對監(jiān)控規(guī)則模板進行賦值,實例化監(jiān)控規(guī)則模板為監(jiān)控規(guī)則實體,形成處理某一類數(shù)據(jù)特定的自定義監(jiān)控規(guī)則。
[0009]對監(jiān)控規(guī)則模板中的有效時間范圍變量參數(shù)進行賦值,根據(jù)有效時間范圍,制定出當前時間所適用的自定義監(jiān)控規(guī)則。
[0010]針對監(jiān)控規(guī)則模板中的監(jiān)控規(guī)則表達式,通過監(jiān)控規(guī)則表達式中的函數(shù)進行處理得出的數(shù)值,作為監(jiān)控規(guī)則實體中的監(jiān)控規(guī)則參數(shù),根據(jù)參數(shù)和操作符制定自定義監(jiān)控規(guī)則。
[0011]對數(shù)據(jù)進行處理包括:
根據(jù)當前時間,將當前時間滿足有效時間范圍的監(jiān)控規(guī)則實體查詢出來;
將此類數(shù)據(jù)對應的監(jiān)控規(guī)則實體找出來;
把數(shù)據(jù)放入此監(jiān)控規(guī)則實體中,運行表達式,處理數(shù)據(jù);
存儲表達式運行后的結果。當然可以根據(jù)其他賦值,查詢監(jiān)控規(guī)則實體,用來處理數(shù)據(jù),比如設置閾值。
[0012]—種規(guī)則引擎,包括獲取處理數(shù)據(jù)自定義的監(jiān)控規(guī)則的單元;
從業(yè)務處理系統(tǒng)或數(shù)據(jù)庫中取得的數(shù)據(jù)的單元;
數(shù)據(jù)監(jiān)控,用監(jiān)控規(guī)則匹配數(shù)據(jù),對數(shù)據(jù)進行分析的單元;
根據(jù)監(jiān)控規(guī)則匹配數(shù)據(jù)的結果,返回結果數(shù)據(jù)的單元。
[0013]—種處理數(shù)據(jù)監(jiān)控的方法:
配置數(shù)據(jù)監(jiān)控規(guī)則模板;
實例化監(jiān)控規(guī)則模板為監(jiān)控規(guī)則,配置監(jiān)控條件,并從業(yè)務處理系統(tǒng)或數(shù)據(jù)庫中取得數(shù)據(jù);
把監(jiān)控規(guī)則處理成規(guī)則文件流,與需要處理的數(shù)據(jù)一起放入權利要求8或9所述的規(guī)則引擎中進行處理;
根據(jù)數(shù)據(jù)的處理結果,進行不同的業(yè)務處理。
[0014]本發(fā)明的有益之處是:本發(fā)明把寫規(guī)則文件的過程抽象為配置規(guī)則模板和實例化規(guī)則模板兩個過程,規(guī)則模板可以復用,實例化為多種規(guī)則實例,可以解析規(guī)則實例為規(guī)則文件,供規(guī)則引擎使用,把原本開發(fā)人員編寫規(guī)則文件的過程抽象出來,有更加熟悉業(yè)務的業(yè)務人員來維護規(guī)則模板和實例化規(guī)則文件,并且通過配置不同的規(guī)則模板并實例化規(guī)則來滿足不同的監(jiān)控數(shù)據(jù)規(guī)則的需求,加快了監(jiān)控規(guī)則的部署效率,使監(jiān)控系統(tǒng)更靈活,更具有彈性,滿足及時更新監(jiān)控規(guī)則的需求。
【附圖說明】
[0015]圖1本發(fā)明使用環(huán)境示意圖;
圖2本發(fā)明的工作流程示意圖;
圖3處理規(guī)則文件流的流程示意圖。
【具體實施方式】
[0016]—種處理數(shù)據(jù)監(jiān)控的方法:
配置數(shù)據(jù)監(jiān)控規(guī)則模板;
實例化監(jiān)控規(guī)則模板為監(jiān)控規(guī)則,配置監(jiān)控條件,并從業(yè)務處理系統(tǒng)或數(shù)據(jù)庫中取得數(shù)據(jù);
根據(jù)監(jiān)控規(guī)則對取得的數(shù)據(jù)進行處理;
根據(jù)監(jiān)控規(guī)則對數(shù)據(jù)的處理結果,進行不同的業(yè)務處理。
[0017]利用上述方法,參考附圖,對本發(fā)明做進一步說明。
[0018]用戶通過瀏覽器登陸業(yè)務系統(tǒng),維護監(jiān)控規(guī)則模板和實例化監(jiān)控規(guī)則模板。用戶可以登陸客戶端,創(chuàng)建新的監(jiān)控規(guī)則模板或者選擇使用已經(jīng)創(chuàng)建的監(jiān)控規(guī)則模板。
[0019]其中監(jiān)控規(guī)則模板至少包含:有效時間范圍變量參數(shù)和監(jiān)控規(guī)則表達式;
有效時間范圍變量參數(shù)至少包含一個有效開始時間,一個有效結束時間;
監(jiān)控規(guī)則表達式為一個表達式或多個表達式的邏輯組合。
[0020]其中組成監(jiān)控規(guī)則表達式的表達式由參數(shù)和操作符組成,比如比較運算符等;
參數(shù)由變量和函數(shù)組成;
變量為組成監(jiān)控規(guī)則所需要的元素和監(jiān)控規(guī)則需要處理的數(shù)據(jù)對象;
函數(shù)由數(shù)據(jù)庫字段參數(shù),數(shù)據(jù)庫sql以及數(shù)字變量組合而成。
[0021]為形成處理某一類數(shù)據(jù)特定的自定義監(jiān)控規(guī)則,可以對監(jiān)控規(guī)則模板進行賦值,實例化監(jiān)控規(guī)則模板為監(jiān)控規(guī)則實體:
其中對監(jiān)控規(guī)則模板中的有效時間范圍變量參數(shù)進行賦值,根據(jù)有效時間范圍,則制定出當前時間所適用的自定義監(jiān)控規(guī)則。
[0022]若針對監(jiān)控規(guī)則模板中的監(jiān)控規(guī)則表達式,通過監(jiān)控規(guī)則表達式中的函數(shù)進行處理得出的數(shù)值,作為監(jiān)控規(guī)則實體中的監(jiān)控規(guī)則參數(shù),根據(jù)參數(shù)和操作符制定自定義監(jiān)控規(guī)則。
[0023]用戶對數(shù)據(jù)進行處理包括:
根據(jù)當前時間,將當前時間滿足有效時間范圍的監(jiān)控規(guī)則實體查詢出來;
將此類數(shù)據(jù)對應的監(jiān)控規(guī)則實體找出來;
把數(shù)據(jù)