本發(fā)明屬于數(shù)據(jù)監(jiān)控,具體涉及一種數(shù)據(jù)預警系統(tǒng)及預警方法。
背景技術(shù):
1、目前,各行業(yè)的軟件業(yè)務系統(tǒng)或監(jiān)管系統(tǒng)需要對特定的業(yè)務進行預警,預警的指標以及規(guī)則各不相同,并且隨著業(yè)務變化以及使用人員的想法而改變;其中,在進行系統(tǒng)業(yè)務監(jiān)控時,現(xiàn)有大多是通過定制化或者半定制化的預警規(guī)則開發(fā),來實現(xiàn)數(shù)據(jù)監(jiān)控及預警,而并沒有能夠通用于各行各業(yè)軟件業(yè)務的預警系統(tǒng);基于此,前述現(xiàn)有技術(shù)則存在以下不足:當需求變更時,需要重新進行預警系統(tǒng)的開發(fā)定制,不僅耗時耗力,且不能隨著業(yè)務的變動或管理規(guī)則的變動而靈活變更,不能滿足客戶復雜的預警需求;由此,如何提供一種能夠通用于各行各業(yè)軟件業(yè)務的預警系統(tǒng),已成為了一個亟待解決的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種數(shù)據(jù)預警系統(tǒng)及預警方法,用以解決現(xiàn)有技術(shù)所存在的當需求變更時,需要重新進行預警系統(tǒng)的開發(fā)定制,從而導致的耗時耗力,以及不能滿足客戶復雜的預警需求的問題。
2、為了實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
3、第一方面,提供了一種數(shù)據(jù)預警系統(tǒng),包括:
4、預警規(guī)則模塊,所述預警規(guī)則模塊配置有一可視化編輯界面,用于在可視化編輯界面響應于第一人機交互時,接收用戶輸入的風險參數(shù)sql語句,并基于所述風險參數(shù)sql語句構(gòu)建出風險參數(shù)表,其中,所述風險參數(shù)表中存儲有待監(jiān)測目標;
5、預警規(guī)則模塊,用于基于所述風險參數(shù)表生成數(shù)據(jù)監(jiān)控調(diào)度任務,以基于所述數(shù)據(jù)監(jiān)控調(diào)度任務從待監(jiān)測系統(tǒng)中采集所述風險參數(shù)表中的待監(jiān)測目標的運行數(shù)據(jù),并將采集的運行數(shù)據(jù)存儲至查詢數(shù)據(jù)庫,其中,所述查詢數(shù)據(jù)庫中還存儲有預警規(guī)則sql語句,且所述預警規(guī)則sql語句是在可視化編輯界面響應于第二人機交互時所獲取得到的;
6、查詢模塊,用于從所述查詢數(shù)據(jù)庫中提取出所述預警規(guī)則sql語句,以基于所述預警規(guī)則sql語句,從所述查詢數(shù)據(jù)庫內(nèi)的待監(jiān)測目標的運行數(shù)據(jù)中,篩選出異常數(shù)據(jù),并將所述異常數(shù)據(jù)發(fā)送至預警推送模塊;
7、預警推送模塊,用于接收所述查詢模塊發(fā)送的異常數(shù)據(jù),并將所述異常數(shù)據(jù)推送至監(jiān)控終端,以完成對所述待監(jiān)測目標的數(shù)據(jù)預警。
8、基于上述公開的內(nèi)容,本發(fā)明所提供的數(shù)據(jù)預警系統(tǒng),設(shè)置有預警規(guī)則模塊和查詢模塊,其中,預警規(guī)則模塊配置有一可視化編輯界面,其用于在可視化編輯界面響應于人機交互時,獲取到用戶輸入的風險參數(shù)sql語句和預警規(guī)則sql語句;如此,本發(fā)明相當于提供了風險參數(shù)及預警規(guī)則的自定義配置界面,從而能夠使用戶基于sql語句,來進行風險參數(shù)和預警規(guī)則的自定義配置;同時,在接收到用戶輸入的風險參數(shù)sql語句后,本發(fā)明會構(gòu)建出包含有待監(jiān)測目標的風險參數(shù)表,并基于此生成數(shù)據(jù)監(jiān)控調(diào)度任務;而后,則可基于數(shù)據(jù)監(jiān)控調(diào)度任務,來從待監(jiān)測系統(tǒng)中采集待監(jiān)測目標的運行數(shù)據(jù),并進行存儲;最后,查詢模塊則可基于預先設(shè)置的預警規(guī)則sql語句,在存儲的運行數(shù)據(jù)中,篩選出異常數(shù)據(jù),并發(fā)送至預警推送模塊,從而由預警推送模塊將異常數(shù)據(jù)發(fā)送至監(jiān)控終端,進而實現(xiàn)待監(jiān)測目標的數(shù)據(jù)預警。
9、通過上述設(shè)計,本發(fā)明所提供的數(shù)據(jù)預警系統(tǒng),支持用戶提前自定義設(shè)置風險參數(shù)sql語句和預警規(guī)則sql語句;如此,能夠根據(jù)不同的需求和使用場景,來生成不同的中間風險參數(shù)表以及預警規(guī)則;而后,則可基于生成的風險參數(shù)表來進行數(shù)據(jù)監(jiān)控;最后,即可根據(jù)自定義的預警規(guī)則,來從監(jiān)控的數(shù)據(jù)中篩選出異常數(shù)據(jù),并進行數(shù)據(jù)預警;由此,本發(fā)明具備通用性與高效性,能夠滿足隨時變化的業(yè)務需求,且在需求變更時,無需重新進行系統(tǒng)開發(fā)定制,基于此,不僅降低了預警規(guī)則定制的復雜度,還可以提高預警的效率;因此,非常適用于大規(guī)模應用與推廣。
10、在一個可能的設(shè)計中,預警規(guī)則模塊,用于將所述風險參數(shù)sql語句發(fā)送至所述查詢模塊;
11、查詢模塊,用于對所述風險參數(shù)sql語句進行可行性校驗處理,并在可行性校驗通過后,生成第一校驗結(jié)果進行可視化展示,以使用戶向查詢模塊反饋參數(shù)表構(gòu)建指令;
12、查詢模塊,還用于接收參數(shù)表構(gòu)建指令,并將所述參數(shù)表構(gòu)建指令發(fā)送至預警規(guī)則模塊;
13、預警規(guī)則模塊,還用于在接收到所述參數(shù)表構(gòu)建指令后,基于所述風險參數(shù)sql語句構(gòu)建出所述風險參數(shù)表。
14、在一個可能的設(shè)計中,所述查詢數(shù)據(jù)庫包括:個人數(shù)據(jù)庫、公共數(shù)據(jù)庫和hive數(shù)據(jù)庫,其中,所述個人數(shù)據(jù)庫中存儲有單個用戶的歷史查詢數(shù)據(jù),所述公共數(shù)據(jù)庫中存儲有多個用戶的歷史查詢數(shù)據(jù),且hive數(shù)據(jù)庫中存儲有所有查詢數(shù)據(jù);
15、查詢模塊,用于基于所述風險參數(shù)sql語句,在所述個人數(shù)據(jù)庫中進行數(shù)據(jù)查詢,得到第一查詢結(jié)果,并判斷所述第一查詢結(jié)果是否為空;
16、若是,查詢模塊,則用于基于所述風險參數(shù)sql語句,在所述公共數(shù)據(jù)庫中進行數(shù)據(jù)查詢,得到第二查詢結(jié)果,并判斷所述第二查詢結(jié)果是否為空;
17、若是,查詢模塊,則用于基于所述風險參數(shù)sql語句,在所述hive數(shù)據(jù)庫中進行數(shù)據(jù)查詢,得到第三查詢結(jié)果,并判斷所述第三查詢結(jié)果是否為空;
18、若否,查詢模塊,則用于判定所述風險參數(shù)sql語句通過可行性校驗,并將所述第三查詢結(jié)果作為所述第一校驗結(jié)果,進行可視化展示。
19、在一個可能的設(shè)計中,若所述查詢模塊,判斷出所述第三查詢結(jié)果為空,則判定所述風險參數(shù)sql語句未通過可行性校驗,并生成風險參數(shù)sql語句錯誤提示信息進行可視化展示。
20、在一個可能的設(shè)計中,所述查詢模塊包括:查詢接口單元和查詢單元;
21、預警規(guī)則模塊,用于將所述風險參數(shù)sql語句發(fā)送至所述查詢接口單元;
22、查詢接口單元,用于對所述風險參數(shù)sql語句進行安全性校驗,并在安全性校驗通過后,解析所述風險參數(shù)sql語句,得到第一解析結(jié)果,以將所述第一解析結(jié)果發(fā)送至所述查詢單元;
23、查詢單元,用于根據(jù)所述第一解析結(jié)果,對所述風險參數(shù)sql語句進行可行性校驗處理,并在可行性校驗通過后,生成所述第一校驗結(jié)果進行可視化展示。
24、在一個可能的設(shè)計中,所述預警規(guī)則模塊,還用于在可視化編輯界面響應于第二人機交互時,接收用戶輸入的預警規(guī)則sql語句,并將所述預警規(guī)則sql語句發(fā)送至所述查詢模塊;
25、查詢模塊,用于對所述預警規(guī)則sql語句進行語句校驗處理,并在語句校驗通過后,生成第二校驗結(jié)果進行可視化展示,以在可視化展示后,使用戶向查詢模塊反饋規(guī)則確認指令;
26、查詢模塊,用于接收所述規(guī)則確認指令,并在接收到所述規(guī)則確認指令后,將所述預警規(guī)則sql語句存儲至所述查詢數(shù)據(jù)庫。
27、在一個可能的設(shè)計中,所述查詢模塊包括:查詢接口單元和查詢單元;
28、預警規(guī)則模塊,用于將所述預警規(guī)則sql語句發(fā)送至所述查詢接口單元;
29、查詢接口單元,用于對所述預警規(guī)則sql語句進行安全性校驗,并在安全性校驗通過后,解析所述預警規(guī)則sql語句,得到第二解析結(jié)果,以將所述第二解析結(jié)果發(fā)送至所述查詢單元;
30、查詢單元,用于根據(jù)所述第二解析結(jié)果,對所述預警規(guī)則sql語句進行語句校驗處理,并在語句校驗處理通過后,生成所述第二校驗結(jié)果進行可視化展示。
31、在一個可能的設(shè)計中,所述查詢數(shù)據(jù)庫包括:個人數(shù)據(jù)庫、公共數(shù)據(jù)庫和hive數(shù)據(jù)庫,且所述預警規(guī)則模塊,用于將采集的運行數(shù)據(jù)存儲至所述個人數(shù)據(jù)庫、所述公共數(shù)據(jù)庫和所述hive數(shù)據(jù)庫;
32、其中,查詢模塊,用于基于所述預警規(guī)則sql語句,從所述個人數(shù)據(jù)庫中進行數(shù)據(jù)查詢,得到第四查詢結(jié)果,并判斷所述第四查詢結(jié)果是否為空;
33、若是,查詢模塊,則用于基于所述預警規(guī)則sql語句,從所述公共數(shù)據(jù)庫中進行數(shù)據(jù)查詢,得到第五查詢結(jié)果,并判斷所述第五查詢結(jié)果是否為空;
34、若是,查詢模塊,則用于基于所述預警規(guī)則sql語句,從所述hive數(shù)據(jù)庫中進行數(shù)據(jù)查詢,得到第六查詢結(jié)果,并判斷所述第六查詢結(jié)果是否為空;
35、若否,查詢模塊,則對所述第六查詢結(jié)果進行數(shù)據(jù)篩選,得出異常數(shù)據(jù),并判斷所述異常數(shù)據(jù)是否為已預警數(shù)據(jù);
36、若否,則將所述異常數(shù)據(jù)發(fā)送至所述預警推送模塊。
37、在一個可能的設(shè)計中,所述預警規(guī)則模塊,在基于所述風險參數(shù)sql語句構(gòu)建出風險參數(shù)表后,還用于將所述風險參數(shù)表存儲至風險參數(shù)庫中。
38、第二方面,提供了一種基于第一方面或第一方面中任意一種可能設(shè)計的所述數(shù)據(jù)預警系統(tǒng)的數(shù)據(jù)預警方法,其中,所述方法包括:
39、在可視化編輯界面響應于第一人機交互時,接收用戶輸入的風險參數(shù)sql語句,并基于所述風險參數(shù)sql語句構(gòu)建出風險參數(shù)表,其中,所述風險參數(shù)表中存儲有待監(jiān)測目標;
40、基于所述風險參數(shù)表生成數(shù)據(jù)監(jiān)控調(diào)度任務;
41、利用所述數(shù)據(jù)監(jiān)控調(diào)度任務從待監(jiān)測系統(tǒng)中采集所述風險參數(shù)表中的待監(jiān)測目標的運行數(shù)據(jù),并將采集的運行數(shù)據(jù)存儲至查詢數(shù)據(jù)庫,其中,所述查詢數(shù)據(jù)庫中還存儲有預警規(guī)則sql語句,且所述預警規(guī)則sql語句是在可視化編輯界面響應于第二人機交互時所獲取得到的;
42、從所述查詢數(shù)據(jù)庫中提取出所述預警規(guī)則sql語句,并基于所述預警規(guī)則sql語句,從所述查詢數(shù)據(jù)庫內(nèi)的待監(jiān)測目標的運行數(shù)據(jù)中,篩選出異常數(shù)據(jù);
43、將所述異常數(shù)據(jù)推送至監(jiān)控終端,以完成對所述待監(jiān)測目標的數(shù)據(jù)預警。
44、有益效果:
45、(1)本發(fā)明所提供的數(shù)據(jù)預警系統(tǒng),支持用戶提前自定義設(shè)置風險參數(shù)sql語句和預警規(guī)則sql語句;如此,能夠根據(jù)不同的需求和使用場景,來生成不同的中間風險參數(shù)表以及預警規(guī)則;而后,則可基于生成的風險參數(shù)表來進行數(shù)據(jù)監(jiān)控;最后,即可根據(jù)自定義的預警規(guī)則,來從監(jiān)控的數(shù)據(jù)中篩選出異常數(shù)據(jù),并進行數(shù)據(jù)預警;由此,本發(fā)明具備通用性與高效性,能夠滿足隨時變化的業(yè)務需求,且在需求變更時,無需重新進行系統(tǒng)開發(fā)定制,基于此,不僅降低了預警規(guī)則定制的復雜度,還可以提高預警的效率;因此,非常適用于大規(guī)模應用與推廣。