數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及計(jì)算機(jī)數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控方法和系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)倉庫(Data Warehouse),是為企業(yè)所有級(jí)別的決策制定過程,提供所有類型數(shù)據(jù)支持的戰(zhàn)略集合。它是單個(gè)數(shù)據(jù)存儲(chǔ),出于分析性報(bào)告和決策支持目的而創(chuàng)建。為需要業(yè)務(wù)智能的企業(yè),提供指導(dǎo)業(yè)務(wù)流程改進(jìn)、監(jiān)視時(shí)間、成本、質(zhì)量以及控制。
[0003]數(shù)據(jù)倉庫是決策支持系統(tǒng)(DSS)和聯(lián)機(jī)分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。數(shù)據(jù)倉庫研宄和解決從數(shù)據(jù)庫中獲取信息的問題。
[0004]與數(shù)據(jù)庫相區(qū)別的是,數(shù)據(jù)庫是面向事務(wù)的設(shè)計(jì),數(shù)據(jù)倉庫是面向主題設(shè)計(jì)的。數(shù)據(jù)倉庫是在數(shù)據(jù)庫已經(jīng)大量存在的情況下,為了進(jìn)一步挖掘數(shù)據(jù)資源、為了決策需要而產(chǎn)生的。
[0005]目前,隨著數(shù)據(jù)倉庫的規(guī)模越來多,大型數(shù)據(jù)倉庫每天需要上萬的任務(wù),數(shù)據(jù)不完整、分區(qū)不全、枚舉值異常等數(shù)據(jù)質(zhì)量問題異常突出,直接影響到倉庫數(shù)據(jù)的穩(wěn)定和數(shù)據(jù)可信度?,F(xiàn)有技術(shù)中,數(shù)據(jù)倉庫技術(shù)主要有Hadoop、Hive、java等。
[0006]現(xiàn)有技術(shù)中,在沒有數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)情況下,數(shù)據(jù)倉庫工程師與數(shù)據(jù)分析師在確定數(shù)據(jù)是否可靠時(shí),需要手動(dòng)寫結(jié)構(gòu)化查詢語言(SQ1,Structured Query Language)命令,查詢數(shù)據(jù),得出數(shù)據(jù)結(jié)果,并進(jìn)行數(shù)據(jù)比對(duì),驗(yàn)證數(shù)據(jù)的完整性。
[0007]但是,現(xiàn)有技術(shù)存在以下的缺點(diǎn):(I)人工寫SQL查詢數(shù)據(jù)和比對(duì),非常費(fèi)時(shí)費(fèi)力。
(2)人工數(shù)據(jù)查詢和比對(duì),容易出現(xiàn)誤差。(3)人工無法完成每日上萬表的數(shù)據(jù)質(zhì)量監(jiān)控。
【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明的主要目的是提供一種數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控系統(tǒng)和方法,以提高數(shù)據(jù)倉庫的數(shù)據(jù)質(zhì)量監(jiān)控的自動(dòng)化。
[0009]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0010]一種數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控方法,包括:
[0011]配置存儲(chǔ)從數(shù)據(jù)倉庫采集數(shù)據(jù)的采集項(xiàng)方式信息;
[0012]配置存儲(chǔ)所采集的數(shù)據(jù)與已有比對(duì)數(shù)據(jù)的比對(duì)判斷方式信息,存儲(chǔ)出現(xiàn)異常時(shí)的報(bào)警通知信息;
[0013]將所述數(shù)據(jù)采集項(xiàng)方式信息、所述比對(duì)判斷方式信息,與用于數(shù)據(jù)加工的調(diào)度任務(wù)進(jìn)行對(duì)應(yīng)綁定,并生成對(duì)應(yīng)的監(jiān)控任務(wù);
[0014]在所述調(diào)度任務(wù)執(zhí)行結(jié)束后,運(yùn)行對(duì)應(yīng)的監(jiān)控任務(wù),該監(jiān)控任務(wù)按照其對(duì)應(yīng)的數(shù)據(jù)采集項(xiàng)方式信息采集數(shù)據(jù)倉庫中的相應(yīng)數(shù)據(jù),按照對(duì)應(yīng)的比對(duì)判斷方式,將所采集數(shù)據(jù)與已有比對(duì)數(shù)據(jù)進(jìn)行比對(duì),并判斷比對(duì)結(jié)果,在比對(duì)結(jié)果異常的情況下發(fā)出報(bào)警通知信息。
[0015]優(yōu)選的,該方法進(jìn)一步包括:
[0016]根據(jù)所采集的數(shù)據(jù),對(duì)所述存儲(chǔ)的采集數(shù)據(jù)項(xiàng)方式信息和所述比對(duì)判斷方式信息進(jìn)行修改。
[0017]優(yōu)選的,所述已知比對(duì)數(shù)據(jù)存儲(chǔ)在結(jié)構(gòu)化存儲(chǔ)器中,所述采集項(xiàng)方式信息以及比對(duì)判斷方式信息存儲(chǔ)在關(guān)系數(shù)據(jù)庫中。
[0018]優(yōu)選的,所述監(jiān)控任務(wù)按照其對(duì)應(yīng)的數(shù)據(jù)采集項(xiàng)方式信息采集數(shù)據(jù)倉庫中的相應(yīng)數(shù)據(jù),具體包括:
[0019]在數(shù)據(jù)倉庫中設(shè)置代理程序模塊,所述監(jiān)控任務(wù)將所述數(shù)據(jù)采集項(xiàng)方式信息傳輸給所述代理程序模塊,該代理程序模塊通知數(shù)據(jù)倉庫的監(jiān)控執(zhí)行器執(zhí)行所述數(shù)據(jù)采集項(xiàng)方式信息中的查詢語句,查詢出相應(yīng)的數(shù)據(jù)作為采集數(shù)據(jù)返回給監(jiān)控任務(wù)。
[0020]優(yōu)選的,所述在所述調(diào)度任務(wù)執(zhí)行結(jié)束后,運(yùn)行對(duì)應(yīng)的監(jiān)控任務(wù)之前,進(jìn)一步包括:判斷所述數(shù)據(jù)倉庫的運(yùn)行狀態(tài),如果數(shù)據(jù)倉庫的運(yùn)行狀態(tài)高于指定的繁忙程度,則延緩運(yùn)行所述監(jiān)控任務(wù),否則運(yùn)行所述監(jiān)控任務(wù)。
[0021]優(yōu)選的,所述已有比對(duì)數(shù)據(jù)包括:歷史數(shù)據(jù)或維表數(shù)據(jù)。
[0022]一種數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控系統(tǒng),包括:
[0023]第一配置模塊,用于配置存儲(chǔ)從數(shù)據(jù)倉庫采集數(shù)據(jù)的采集項(xiàng)方式信息;
[0024]第二配置模塊,用于配置存儲(chǔ)所采集的數(shù)據(jù)與已有比對(duì)數(shù)據(jù)的比對(duì)判斷方式信息,存儲(chǔ)出現(xiàn)異常時(shí)的報(bào)警通知信息;
[0025]綁定模塊,用于將所述數(shù)據(jù)采集項(xiàng)方式信息、所述比對(duì)判斷方式信息,與用于數(shù)據(jù)加工的調(diào)度任務(wù)進(jìn)行對(duì)應(yīng)綁定,并生成對(duì)應(yīng)的監(jiān)控任務(wù);
[0026]監(jiān)控模塊,用于在所述調(diào)度任務(wù)執(zhí)行結(jié)束后,運(yùn)行對(duì)應(yīng)的監(jiān)控任務(wù),該監(jiān)控任務(wù)按照其對(duì)應(yīng)的數(shù)據(jù)采集項(xiàng)方式信息采集數(shù)據(jù)倉庫中的相應(yīng)數(shù)據(jù),按照對(duì)應(yīng)的比對(duì)判斷方式,將所采集數(shù)據(jù)與已有比對(duì)數(shù)據(jù)進(jìn)行比對(duì),并判斷比對(duì)結(jié)果,在比對(duì)結(jié)果異常的情況下發(fā)出報(bào)警通知信息。
[0027]優(yōu)選的,所述監(jiān)控模塊將所采集的數(shù)據(jù)反饋給所述第一配置模塊和第二配置模塊,所述第一配置模塊根據(jù)所采集的數(shù)據(jù),對(duì)所述存儲(chǔ)的采集數(shù)據(jù)項(xiàng)方式信息進(jìn)行修改;所述第二配置模塊根據(jù)所采集的數(shù)據(jù),對(duì)所述存儲(chǔ)的比對(duì)判斷方式信息進(jìn)行修改。
[0028]優(yōu)選的,所述已知比對(duì)數(shù)據(jù)存儲(chǔ)在結(jié)構(gòu)化存儲(chǔ)器中;所述第一配置模塊將所述采集項(xiàng)方式信息存儲(chǔ)在關(guān)系數(shù)據(jù)庫中,所述第二配置模塊將所述比對(duì)判斷方式信息存儲(chǔ)在關(guān)系數(shù)據(jù)庫中。
[0029]優(yōu)選的,所述已有比對(duì)數(shù)據(jù)包括:歷史數(shù)據(jù)或維表數(shù)據(jù)。
[0030]與現(xiàn)有技術(shù)相比,本發(fā)明可以監(jiān)控?cái)?shù)據(jù)倉庫生產(chǎn)(ETL)過程中出現(xiàn)的異常數(shù)據(jù);可以實(shí)現(xiàn)自動(dòng)運(yùn)行監(jiān)控任務(wù),提高了數(shù)據(jù)倉庫的數(shù)據(jù)質(zhì)量監(jiān)控的自動(dòng)化,解決了手工比對(duì)數(shù)據(jù)的費(fèi)時(shí)費(fèi)力;同時(shí),本發(fā)明還可以實(shí)現(xiàn)靈活的報(bào)警通知機(jī)制,可以為數(shù)據(jù)負(fù)責(zé)人提供各種形式的報(bào)警;本發(fā)明還可控制監(jiān)控任務(wù)的運(yùn)行時(shí)間,避免倉庫高負(fù)載期間對(duì)倉庫計(jì)算資源的消耗。
[0031]本發(fā)明可以解決企業(yè)級(jí)數(shù)據(jù)倉庫的數(shù)據(jù)質(zhì)量監(jiān)控,發(fā)現(xiàn)數(shù)據(jù)質(zhì)量問題及時(shí)報(bào)警和通知數(shù)據(jù)負(fù)責(zé)人,并提供明細(xì)的質(zhì)量監(jiān)控結(jié)果數(shù)據(jù),供數(shù)據(jù)運(yùn)營(yíng)人員判斷數(shù)據(jù)質(zhì)量問題源頭。
【附圖說明】
[0032]圖1為本發(fā)明所述數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控方法的一種流程圖;
[0033]圖2為本發(fā)明所述數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控系統(tǒng)的一種組成示意圖。
【具體實(shí)施方式】
[0034]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
[0035]圖1為本發(fā)明所述數(shù)據(jù)倉庫的數(shù)據(jù)監(jiān)控方法的一種流程圖。參見圖1,該方法主要包括:
[0036]步驟101、配置存儲(chǔ)從數(shù)據(jù)倉庫采集數(shù)據(jù)的采集項(xiàng)方式信息。
[0037]本步驟中,需要根據(jù)配置指令進(jìn)行配置存儲(chǔ)相關(guān)信息,通常是提供一個(gè)配置界面,將基本的配置指令信息展示出來,由用戶從中選擇配置指令或者直接輸入相應(yīng)的配置指令。所述從數(shù)據(jù)倉庫采集數(shù)據(jù)的采集項(xiàng)方式信息包括:采集目標(biāo)的采集分區(qū)、數(shù)據(jù)查詢條件、還包括一些查詢指標(biāo)例如:記錄的行數(shù)、數(shù)據(jù)的最大值和最小值、平均值等。在存儲(chǔ)所述采集項(xiàng)方式信息的過程中,還需要將初始配置的數(shù)據(jù)查詢條件和所述其它參數(shù)轉(zhuǎn)化為數(shù)據(jù)倉庫可以識(shí)別的查詢語句(例如SQL語句等),這樣在查詢數(shù)據(jù)時(shí),數(shù)據(jù)倉庫可以根據(jù)這些查詢語句查詢符合條件的數(shù)據(jù)。典型的實(shí)施例中,所述查詢條件可以按照HiveSQL的格式填寫。
[0038]步驟102、配置存儲(chǔ)所采集的數(shù)據(jù)與已有比對(duì)數(shù)據(jù)的比對(duì)判斷方式信息,存儲(chǔ)出現(xiàn)異常時(shí)的報(bào)警通知信息。
[0039]本步驟中,需要根據(jù)配置指令進(jìn)行配置存儲(chǔ)相關(guān)信息,通常是提供一個(gè)配置界面,將基本的配置指令信息展示出來,由用戶從中選擇配置指令或者直接輸入相應(yīng)的配置指令。所述已有比對(duì)數(shù)據(jù)例如主要包括歷史數(shù)據(jù)以及維表數(shù)據(jù)等。所述維表是一種具體數(shù)據(jù)內(nèi)容與計(jì)算機(jī)代碼的對(duì)應(yīng)關(guān)系表,例如數(shù)據(jù)內(nèi)容為“男”或“女”,在數(shù)據(jù)中采用I標(biāo)識(shí)“男”,采用2標(biāo)識(shí)“女”,那么I對(duì)應(yīng)“男”和2對(duì)應(yīng)“女”的對(duì)應(yīng)關(guān)系就存儲(chǔ)在維表中。利用維表對(duì)數(shù)據(jù)進(jìn)行比對(duì)就可以判斷出哪些數(shù)據(jù)出現(xiàn)了異常。
[0040]所述所采集的數(shù)據(jù)與已有比對(duì)數(shù)據(jù)的比對(duì)判斷方式信息,具體可以包括:所采集的數(shù)據(jù)與歷史數(shù)據(jù)的比對(duì)判斷方式信息及其對(duì)應(yīng)的閾值,例如比對(duì)方式為先按照某一維度(例如一定時(shí)間段)計(jì)算數(shù)據(jù)的平均值,如果該平均值大于一個(gè)指定的閾值則發(fā)出對(duì)應(yīng)的告警信息,所述告警信息可以自行設(shè)置;
[0041]所述所采集的數(shù)據(jù)與已有比對(duì)數(shù)據(jù)的比對(duì)判斷方式信息,還具體可以包括:所采集的數(shù)據(jù)與維表數(shù)據(jù)的比對(duì)判斷方式信息,例如比對(duì)方式為遍歷某個(gè)維度(如性別)的所有數(shù)據(jù),判斷其具體的數(shù)據(jù)是否與所述維表數(shù)據(jù)不同,如果其具體數(shù)據(jù)不是維表中的數(shù)據(jù)如O或1,則發(fā)出對(duì)應(yīng)的告警信息,所述告警信息可以自行設(shè)置。
[0042]所述的告警通知信息可以是短信告警通知信息,也可以是郵件告警通知信息等。
[0043]本發(fā)明中所述的配置存儲(chǔ),是指根據(jù)配置指令進(jìn)行具體配置信息的存儲(chǔ)控制,具體的存儲(chǔ)地點(diǎn)可以是指定的數(shù)據(jù)庫,例如可以將所述采集項(xiàng)方式信息以及比對(duì)判斷方式信息存儲(chǔ)在關(guān)系數(shù)據(jù)庫例如Mysql數(shù)據(jù)庫中。但是,所述已知比對(duì)數(shù)據(jù)存儲(chǔ)在結(jié)構(gòu)化存儲(chǔ)器例如Hbase數(shù)據(jù)庫中。
[0044]步驟103、將所述數(shù)據(jù)采集項(xiàng)方式信息、所述比對(duì)判斷方式信息,與用于數(shù)據(jù)加工的調(diào)度任務(wù)進(jìn)行對(duì)應(yīng)綁定,并生成對(duì)應(yīng)的監(jiān)控任務(wù)。
[0045]所述用戶數(shù)據(jù)加工的調(diào)度任務(wù)是對(duì)數(shù)據(jù)倉庫進(jìn)行讀寫操作的任務(wù),該任務(wù)的執(zhí)行會(huì)導(dǎo)致數(shù)據(jù)倉庫中數(shù)據(jù)的改變。而本發(fā)明的目的就是要智能監(jiān)控所述調(diào)度任務(wù)所更改的數(shù)據(jù)是否出現(xiàn)異常。在前述兩個(gè)步驟中,可以分別配置存儲(chǔ)不同的數(shù)據(jù)采集項(xiàng)方式信息及其對(duì)應(yīng)的比對(duì)判斷方式信息,形成多條數(shù)據(jù)采集項(xiàng)方式信息及其對(duì)應(yīng)的比對(duì)判斷方式信息。每一個(gè)調(diào)度任務(wù)可以綁定一條或者一條以上的數(shù)據(jù)采集項(xiàng)方式信息及其對(duì)應(yīng)比對(duì)判斷方式信息,每一個(gè)綁定關(guān)系又對(duì)應(yīng)一個(gè)監(jiān)控任務(wù),該監(jiān)控任務(wù)用于按照其對(duì)應(yīng)的數(shù)據(jù)采集項(xiàng)方式信息采集數(shù)據(jù)倉庫中的相應(yīng)數(shù)據(jù),并按照對(duì)應(yīng)的比對(duì)判斷方式,將所采集數(shù)據(jù)與已有比對(duì)數(shù)據(jù)進(jìn)行比對(duì),并判斷比對(duì)結(jié)果,在比對(duì)結(jié)果異常的情況下發(fā)出報(bào)警通知信息。
[0046]步驟104、在所述調(diào)度任務(wù)執(zhí)行結(jié)束后,運(yùn)行其對(duì)應(yīng)的監(jiān)控任務(wù),該監(jiān)控任務(wù)按照其對(duì)應(yīng)的數(shù)據(jù)采集項(xiàng)方式信息采集數(shù)據(jù)倉庫中的相應(yīng)數(shù)據(jù),按照對(duì)應(yīng)的比對(duì)判斷方式,將所采集數(shù)據(jù)與已有比對(duì)數(shù)據(jù)進(jìn)行比對(duì),并判斷比對(duì)結(jié)果,在比對(duì)結(jié)果異常的情況下發(fā)出報(bào)警通知信息。
[0047]具體的,所述監(jiān)控任務(wù)按照其對(duì)應(yīng)的數(shù)據(jù)采集項(xiàng)方式信息采集數(shù)據(jù)倉庫中的相應(yīng)數(shù)