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