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