本發(fā)明涉及數(shù)據(jù)質(zhì)量監(jiān)控領(lǐng)域,具體涉及一種用于etl過程的數(shù)據(jù)質(zhì)量問題報告系統(tǒng)。
背景技術(shù):
信息技術(shù)的快速發(fā)展使得數(shù)據(jù)逐漸成為實現(xiàn)企業(yè)業(yè)務價值最重要的資源之一。然而,隨著數(shù)據(jù)量的不斷增大,數(shù)據(jù)質(zhì)量問題也隨之而來。數(shù)據(jù)缺失、錯誤、不一致等質(zhì)量問題使企業(yè)對數(shù)據(jù)的準確應用受到阻礙,嚴重的甚至會導致企業(yè)做出錯誤決策,損失重要價值進而引發(fā)信任危機。
我們稱這些有質(zhì)量問題的數(shù)據(jù)為臟數(shù)據(jù),針對這些臟數(shù)據(jù),許多數(shù)據(jù)質(zhì)量檢測和數(shù)據(jù)清洗方案應運而生。然而,無論是對于數(shù)據(jù)質(zhì)量檢測方案還是數(shù)據(jù)清洗方案而言,數(shù)據(jù)質(zhì)量問題的展示報告都是一個不容忽視的挑戰(zhàn)。
首先,每一次執(zhí)行數(shù)據(jù)質(zhì)量檢測方案時,都有大量數(shù)據(jù)質(zhì)量問題出現(xiàn),這些質(zhì)量問題如不經(jīng)過整理就直接呈現(xiàn)在用戶面前很容易導致混亂和理解困難。其次,這些數(shù)據(jù)往往經(jīng)過一次微小改動就會全部解決,但這些數(shù)據(jù)卻被重復標注為多種數(shù)據(jù)質(zhì)量問題,致使得出的質(zhì)量問題報告過于冗長,甚至可能因為重復標注而錯估數(shù)據(jù)源的數(shù)據(jù)質(zhì)量問題級別。最后,數(shù)據(jù)質(zhì)量檢測方案和數(shù)據(jù)清洗方案得到的是所有數(shù)據(jù)的質(zhì)量問題,然而在某些情況下,不同的用戶更關(guān)心特定主題數(shù)據(jù)的質(zhì)量問題,而不是某張表、某個數(shù)據(jù)庫的質(zhì)量問題。
為了解決數(shù)據(jù)質(zhì)量問題的展示報告問題,專門針對數(shù)據(jù)質(zhì)量問題展示及報告的數(shù)據(jù)質(zhì)量問題報告系統(tǒng)應運而生。
現(xiàn)有比較常用的數(shù)據(jù)質(zhì)量報告系統(tǒng)以工作流的方式檢測數(shù)據(jù)質(zhì)量問題,導出的問題報告用工作流中檢測不同質(zhì)量問題的各個組件來劃分問題的類別,這種分類方式過于死板,不能靈活地處理不同的業(yè)務數(shù)據(jù),對于數(shù)據(jù)量過大數(shù)據(jù)種類繁雜的情況,通過固有的組件分類也不利于錯誤數(shù)據(jù)的細分和理解。而其他的數(shù)據(jù)質(zhì)量報告系統(tǒng)雖然可以對不同類型的數(shù)據(jù)質(zhì)量問題進行編號和注釋,但仍沒有解決同一數(shù)據(jù)經(jīng)過多次標注數(shù)據(jù)主題,造成工作量大且報告冗長的問題。此外,現(xiàn)有的數(shù)據(jù)質(zhì)量問題報告系統(tǒng)也不能按照用戶需求進行指定質(zhì)量問題的問題展示。
技術(shù)實現(xiàn)要素:
本發(fā)明意在提供一種可以用不同的方式組織有數(shù)據(jù)質(zhì)量問題的數(shù)據(jù),滿足使用不同數(shù)據(jù)主題的用戶的需求的數(shù)據(jù)質(zhì)量問題報告系統(tǒng)。
為解決以上問題,提供如下方案:
方案一:本方案中的數(shù)據(jù)質(zhì)量問題報告系統(tǒng),包括
元數(shù)據(jù)處理模塊,用來從數(shù)據(jù)源中提取并定義待檢測數(shù)據(jù)源的邏輯數(shù)據(jù)模型和主題域;
模板處理模塊,用來從元數(shù)據(jù)處理模塊中獲取已經(jīng)定義好的邏輯數(shù)據(jù)模型和主題域分別存儲并形成邏輯數(shù)據(jù)模型模板和主題域模板;
報告處理模塊,用來從數(shù)據(jù)質(zhì)量問題檢測系統(tǒng)中獲取質(zhì)量問題,從元數(shù)據(jù)處理模塊中獲取定義好的邏輯數(shù)據(jù)模型和主題域,從模板處理模塊中獲取邏輯數(shù)據(jù)模型模板和主題域模板;按照邏輯數(shù)據(jù)模型和主題域定義質(zhì)量問題形成并顯示數(shù)據(jù)質(zhì)量問題報告。
工作原理及有益效果:
通過元數(shù)據(jù)處理模塊,將待檢測數(shù)據(jù)源從存儲的數(shù)據(jù)源中提取出來,并定義待檢測數(shù)據(jù)源的邏輯數(shù)據(jù)模型和主題域。模板處理模塊接收到這些邏輯數(shù)據(jù)模型和主題域,存儲并分別形成邏輯數(shù)據(jù)模型模板和主題域模板。報告處理模塊在通過數(shù)據(jù)質(zhì)量問題檢測系統(tǒng)中獲得質(zhì)量問題時,將這些質(zhì)量問題按照定義好的邏輯數(shù)據(jù)模型和所述主題進行組織,形成數(shù)據(jù)質(zhì)量問題報告。當從元數(shù)據(jù)庫處理模塊中傳來的邏輯數(shù)據(jù)模型和主題域不能與當前質(zhì)量問題組織形成數(shù)據(jù)質(zhì)量問題報告時,通過從模板處理模塊調(diào)取邏輯數(shù)據(jù)結(jié)構(gòu)模型模板和主題域模板來形成數(shù)據(jù)質(zhì)量問題報告。
本發(fā)明可以通過不同的待檢測數(shù)據(jù)源形成不同的邏輯數(shù)據(jù)模型和主題域,能夠用不同的方式組織有數(shù)據(jù)質(zhì)量問題的數(shù)據(jù),滿足使用不同數(shù)據(jù)主題的用戶的需求。
本發(fā)明通過模板處理模塊根據(jù)不同的待檢測數(shù)據(jù)源形成不同的邏輯數(shù)據(jù)模型模板和主題域模板進行存儲,當再次分析已經(jīng)分析過的特定業(yè)務時,只需要從模板處理模塊中調(diào)取對應的模型既可以快速完成質(zhì)量分析,有效簡化了分析流程。
方案二:進一步,所述元數(shù)據(jù)處理模塊包括
數(shù)據(jù)模型提取單元,用來從待檢測數(shù)據(jù)所在的數(shù)據(jù)庫中讀取待檢測數(shù)據(jù)包括表結(jié)構(gòu)和在數(shù)據(jù)庫中預定義的主外鍵約束在內(nèi)的邏輯數(shù)據(jù)結(jié)構(gòu);
主題域定義單元,用來對數(shù)據(jù)模型提取單元中讀取到的表結(jié)構(gòu)進行主題域定義,各個主題域之間可以發(fā)生重合。
通過數(shù)據(jù)模型提取單元提取待檢測數(shù)據(jù)的邏輯數(shù)據(jù)結(jié)構(gòu),通過主題域定義單元定義邏輯數(shù)據(jù)結(jié)構(gòu)的表結(jié)構(gòu)主題進行定義。因為各個主題域之間可以發(fā)生重合,使屬于同一主題域的不同的表結(jié)構(gòu)都能定義在同一主題域下,避免一個數(shù)據(jù)在不同的組織方式下被標注多次的問題,使一個數(shù)據(jù)只能被同一個主題域標注一次,有效減少了冗余數(shù)據(jù)。
方案三:在方案二的基礎(chǔ)上進一步,所述主題域定義單元定義各個主題域的權(quán)重以及主題域中各表的權(quán)重,并通過計算權(quán)重和得到待檢測數(shù)據(jù)質(zhì)量得分。
主題域定義單元通過計算各個主題域及主題域內(nèi)各表的權(quán)重之和,來計算得到對應的待檢測數(shù)據(jù)的質(zhì)量得分,通過質(zhì)量得分可以更加清楚地得到待檢測數(shù)據(jù)的質(zhì)量分析情況。
方案四:在方案一的基礎(chǔ)上進一步,所述模板處理模塊包括
模板存儲單元,用來從元數(shù)據(jù)處理模塊中獲取邏輯數(shù)據(jù)模型和主題域定義,并將獲取的邏輯數(shù)據(jù)模型和主題域定義轉(zhuǎn)化為模板存入資源庫。
模板提取單元,從資源庫中提取邏輯數(shù)據(jù)模型模板和主題域定義模板傳遞給報告處理模塊。
模板存儲單元將每次進行分析的待測數(shù)據(jù)的邏輯數(shù)據(jù)模型和主題域都提取出來并形成模板保存,待后續(xù)有新增數(shù)據(jù)參與檢測時重復使用。在需要時,模板提取單元直接從資源庫中提取邏輯數(shù)據(jù)結(jié)構(gòu)和主題域定義轉(zhuǎn)化的模板用于數(shù)據(jù)質(zhì)量報告的組織與展示。
方案五:在方案一的基礎(chǔ)上進一步,所述報告處理模塊包括
報告組織單元,用來將從數(shù)據(jù)質(zhì)量問題檢測系統(tǒng)中檢測到的各種數(shù)據(jù)問題按照問題類別、表和主題級別進行組織并檢測待檢測數(shù)據(jù)源的數(shù)據(jù)質(zhì)量得分;
報告顯示單元,用來將報告組織單元組織好的數(shù)據(jù)質(zhì)量問題形成數(shù)據(jù)質(zhì)量問題報告并進行展示。
通過報告組織單元,將從數(shù)據(jù)質(zhì)量檢測系統(tǒng)中檢測到各種數(shù)據(jù)問題進行組織,并與數(shù)據(jù)質(zhì)量得分一一對應,報告顯示單元將組織好的數(shù)據(jù)質(zhì)量問題形成數(shù)據(jù)質(zhì)量問題報告并展示出來。
方案六:在方案五的基礎(chǔ)上進一步,所述報告組織單元采用以下策略計算待檢測數(shù)據(jù)源的數(shù)據(jù)質(zhì)量得分:
其中score(topic)j和score(data)分別是第j個主題域的數(shù)據(jù)質(zhì)量得分和待檢測數(shù)據(jù)源的數(shù)據(jù)質(zhì)量得分,tji是第j個主題域第i張表中數(shù)據(jù)質(zhì)量符合要求的記錄占全部記錄的百分比,wji是第j個主題域第i張表在該主題的權(quán)限級別,wj是第j個主題域在待檢測數(shù)據(jù)源中的權(quán)限級別,nj是第j個主題域擁有的表的數(shù)量,n是待檢測數(shù)據(jù)源擁有的主題域的數(shù)量。
報告組織單元按照主題組織的方式可以計算出待測數(shù)據(jù)的質(zhì)量得分,從而考察業(yè)務數(shù)據(jù)的總體質(zhì)量水平。
方案七:在方案五的基礎(chǔ)上進一步,所述報告顯示單元選擇將數(shù)據(jù)質(zhì)量問題按照問題類別、表和主題級別進行分別展示。
方案八:在方案一的基礎(chǔ)上進一步,所述報告處理模塊對展示出的數(shù)據(jù)質(zhì)量問題進行修改,每次修改都要重新審查已有的其他數(shù)據(jù)質(zhì)量問題是否解決以及是否產(chǎn)生了新的數(shù)據(jù)質(zhì)量問題,并重新對數(shù)據(jù)質(zhì)量報告進行組織與展示。
每次在進行修改的時候,都會重新審查所有數(shù)據(jù)質(zhì)量問題,數(shù)據(jù)質(zhì)量問題報告實時更新。不會出現(xiàn)已經(jīng)解決的質(zhì)量問題仍然被重復標注的問題,解決了同一數(shù)據(jù)會被多次標注的問題。隨著每次修改實時更新的數(shù)據(jù)質(zhì)量問題報告也能使人更加清楚地掌握當前數(shù)據(jù)質(zhì)量問題的實際情況。
附圖說明
圖1是本實施例的數(shù)據(jù)質(zhì)量問題報告系統(tǒng)的邏輯框圖。
圖2是本實施例的數(shù)據(jù)質(zhì)量問題報告系統(tǒng)的數(shù)據(jù)表結(jié)構(gòu)和主題域的邏輯框圖。
具體實施方式
下面通過具體實施方式對本發(fā)明作進一步詳細的說明:
說明書附圖中的附圖標記包括:元數(shù)據(jù)處理模塊10、數(shù)據(jù)模型提取單元11、主題域定義單元12、模板處理模塊20、模板存儲單元21、模板提取單元22、報告處理模塊30、報告組織單元31、報告顯示單元32。
如圖1所示,本實施例的一種數(shù)據(jù)質(zhì)量問題報告系統(tǒng)由元數(shù)據(jù)處理模塊10、模板處理模塊20和報告處理模塊30組成。
所述元數(shù)據(jù)處理模塊10負責提取和定義待檢測數(shù)據(jù)源的邏輯數(shù)據(jù)模型和所屬主題,由數(shù)據(jù)模型提取單元11、主題域定義單元12組成。
所述數(shù)據(jù)模型提取單元11負責從待檢測數(shù)據(jù)所在的數(shù)據(jù)庫中讀取待檢測數(shù)據(jù)的邏輯數(shù)據(jù)結(jié)構(gòu),包括表結(jié)構(gòu),在數(shù)據(jù)庫中預定義的主外鍵約束等。
所述主題域定義單元12對數(shù)據(jù)模型提取單元11讀取到的表結(jié)構(gòu)進行主題域定義,各個主題域之間可以發(fā)生重合。另外,數(shù)據(jù)質(zhì)量分析員還可以定義各個主題域的權(quán)重,以及主題域中各表的權(quán)重,用于待檢測數(shù)據(jù)質(zhì)量得分的計算。
所述模板處理模塊20負責在資源庫中存儲和提取元數(shù)據(jù)處理模塊10得到的邏輯數(shù)據(jù)結(jié)構(gòu)和主題域定義。由模板存儲單元21,模板提取單元22組成。
所述模板存儲單元21將獲取的邏輯數(shù)據(jù)結(jié)構(gòu)和主題域定義轉(zhuǎn)化為模板存入資源庫,待后續(xù)有新增數(shù)據(jù)參與檢測時重復使用。
所述模板提取單元22在需要時從資源庫中提取邏輯數(shù)據(jù)結(jié)構(gòu)和主題域定義轉(zhuǎn)化的模板用于數(shù)據(jù)質(zhì)量報告的組織與展示。
所述報告處理模塊30負責組織并顯示數(shù)據(jù)質(zhì)量問題報告。由報告組織單元31,報告顯示單元32組成。
所述報告組織單元31將數(shù)據(jù)質(zhì)量問題檢測系統(tǒng)檢測到的各種數(shù)據(jù)問題按照問題類別、表和主題等級別進行組織。其中按照主題組織的方式可以計算待檢測數(shù)據(jù)源的數(shù)據(jù)質(zhì)量得分,從而考察業(yè)務數(shù)據(jù)的總體質(zhì)量水平。各主題的數(shù)據(jù)質(zhì)量得分和待檢測數(shù)據(jù)源的整體得分計算如下所示:
其中score(topic)j和score(data)分別是第j個主題域的數(shù)據(jù)質(zhì)量得分和待檢測數(shù)據(jù)源的數(shù)據(jù)質(zhì)量得分,tji是第j個主題域第i張表中數(shù)據(jù)質(zhì)量符合要求的記錄占全部記錄的百分比,wji是第j個主題域第i張表在該主題的權(quán)限級別,wj是第j個主題域在待檢測數(shù)據(jù)源中的權(quán)限級別,nj是第j個主題域擁有的表的數(shù)量,n是待檢測數(shù)據(jù)源擁有的主題域的數(shù)量。
所述報告顯示單元32將報告組織單元31組織好的數(shù)據(jù)質(zhì)量問題進行展示,用戶可以選擇將數(shù)據(jù)質(zhì)量問題按照問題類別、表和主題級別進行展示。數(shù)據(jù)質(zhì)量分析員可直接對展示出的數(shù)據(jù)質(zhì)量問題進行修改,每次修改時都要重新審查已有的其他數(shù)據(jù)質(zhì)量問題是否解決以及是否產(chǎn)生了新的數(shù)據(jù)質(zhì)量問題,并重新對數(shù)據(jù)質(zhì)量報告進行組織與展示。
如上所述,本系統(tǒng)可以用不同的方式組織有數(shù)據(jù)質(zhì)量問題的數(shù)據(jù),滿足使用不同數(shù)據(jù)主題的用戶的需求。本系統(tǒng)通過模板機制實現(xiàn)了已分析過的特定業(yè)務的模板復用,簡化了分析流程。
如圖2所示,本實施例待檢測數(shù)據(jù)的數(shù)據(jù)表結(jié)構(gòu)及定義的主題域中,關(guān)系表兩端括號里的數(shù)字分別表示關(guān)系表兩端實體的最小和最大參與度。假設購買關(guān)系表中的購買價格比供應關(guān)系表對應商品的供貨價格高15%。
s1:元數(shù)據(jù)處理模塊10的數(shù)據(jù)模型提取單元11從待檢測數(shù)據(jù)源所在的數(shù)據(jù)庫中讀取待檢測數(shù)據(jù)的邏輯數(shù)據(jù)結(jié)構(gòu)和主外鍵約束。
s2:主題域定義單元12通過與數(shù)據(jù)質(zhì)量分析員交互確定各個主題域及其所擁有的表,如圖2所示,各個主題域之間可以發(fā)生重合。
另外,數(shù)據(jù)質(zhì)量分析員還可以定義各個主題域的權(quán)重,以及主題域中各表的權(quán)重,如表1所示,是各主題域的權(quán)重及顧客主題域中各表的權(quán)重,權(quán)重級別在1~5之間。
表1
待檢測數(shù)據(jù)源的邏輯數(shù)據(jù)結(jié)構(gòu)和主題域,以及各主題域和表所對應的權(quán)重相結(jié)合可以生成模板。
s3:模板存儲單元21將從主題域定義單元獲取的模板存入資源庫,待后續(xù)有新增數(shù)據(jù)進入或重復進行數(shù)據(jù)質(zhì)量檢測時,由模板提取單元22從資源庫中提取相應模板用于數(shù)據(jù)質(zhì)量報告的組織與展示。
s4:數(shù)據(jù)質(zhì)量問題監(jiān)測系統(tǒng)根據(jù)定義好的數(shù)據(jù)質(zhì)量規(guī)則對待檢測數(shù)據(jù)源進行數(shù)據(jù)質(zhì)量檢測。該過程不是本技術(shù)關(guān)注的主要內(nèi)容,不進行主要闡述。
假設在該實施例帶檢測數(shù)據(jù)庫中存在以下錯誤:
在購買關(guān)系表中主鍵為b51的記錄中的購買價格字段,與供應關(guān)系表對應商品(記錄主鍵為s30)的供貨價格字段不滿足(購買價格-供應價格)/供應價格=15%,則對于此錯誤出錯的可能是購買關(guān)系表,也可能是供應關(guān)系表。
在商品表中主鍵為p01的記錄在數(shù)據(jù)操作過程中發(fā)生了錯誤,主鍵字段商品id由p01變成了p001,這會導致數(shù)據(jù)庫中的一系列錯誤。首先在供應關(guān)系表、購買關(guān)系表和倉儲關(guān)系表中外鍵p01不能在商品表中找到對應參照。其次,由圖2可知商品表在供應關(guān)系表和倉儲關(guān)系表中的重復度(與參與度相反,重復度等于關(guān)系另一端實體的參與度)都是(1,n),因此主鍵錯誤的記錄在兩張關(guān)系表中的重復度小于最小值從而產(chǎn)生錯誤。
s5:報告組織單元31將數(shù)據(jù)質(zhì)量問題檢測系統(tǒng)檢測到的各種數(shù)據(jù)問題按照問題類別、表、主題級別進行組織。
s5.1:其中將待檢測數(shù)據(jù)的質(zhì)量問題按照問題類別進行組織如表2所示。
表2
s5.2:其中將待檢測數(shù)據(jù)的質(zhì)量問題按照表進行組織與按照問題類別組織不同的是發(fā)現(xiàn)的質(zhì)量問題按照所屬表的不同進行分類,而不是按照違反的數(shù)據(jù)質(zhì)量規(guī)則類型。
s5.3:其中將待檢測數(shù)據(jù)的質(zhì)量問題按照主題進行組織則將表按照主題進行分類,再對主題內(nèi)每張表的質(zhì)量問題進行展示,同時根據(jù)主題內(nèi)每張表的權(quán)重級別和每張表中記錄的正確率來計算各主題的數(shù)據(jù)質(zhì)量得分,根據(jù)主題得分及其權(quán)重可以計算整個待檢測數(shù)據(jù)源的質(zhì)量得分,如表3是顧客主題得分的計算,表4是整個待檢測數(shù)據(jù)源的得分的計算。
表3
表4
s6:報告顯示單元32將報告組織單元31組織好的數(shù)據(jù)質(zhì)量問題進行展示,用戶可以選擇將數(shù)據(jù)質(zhì)量問題按照問題類別、表和主題級別進行展示。
s7:數(shù)據(jù)質(zhì)量分析員對報告顯示單元32展示出的數(shù)據(jù)質(zhì)量問題進行修改,每次修改時都要重新審查已有的其他數(shù)據(jù)質(zhì)量問題是否解決以及是否產(chǎn)生了新的數(shù)據(jù)質(zhì)量問題,并重新進行數(shù)據(jù)質(zhì)量報告的組織與展示。
如該實施例中商品表中的錯誤主鍵值p001修改回正確的主鍵值p01,則所有的關(guān)系完整性數(shù)據(jù)質(zhì)量問題都會消失,待檢測數(shù)據(jù)源多個主題的數(shù)據(jù)質(zhì)量得分也會有所改善,而不僅僅是商品表所屬的主題域提高了數(shù)據(jù)質(zhì)量得分。
以上所述的僅是本發(fā)明的實施例,方案中公知的具體結(jié)構(gòu)及特性等常識在此未作過多描述,所屬領(lǐng)域普通技術(shù)人員知曉申請日或者優(yōu)先權(quán)日之前發(fā)明所屬技術(shù)領(lǐng)域所有的普通技術(shù)知識,能夠獲知該領(lǐng)域中所有的現(xiàn)有技術(shù),并且具有應用該日期之前常規(guī)實驗手段的能力,所屬領(lǐng)域普通技術(shù)人員可以在本申請給出的啟示下,結(jié)合自身能力完善并實施本方案,一些典型的公知結(jié)構(gòu)或者公知方法不應當成為所屬領(lǐng)域普通技術(shù)人員實施本申請的障礙。應當指出,對于本領(lǐng)域的技術(shù)人員來說,在不脫離本發(fā)明結(jié)構(gòu)的前提下,還可以作出若干變形和改進,這些也應該視為本發(fā)明的保護范圍,這些都不會影響本發(fā)明實施的效果和專利的實用性。本申請要求的保護范圍應當以其權(quán)利要求的內(nèi)容為準,說明書中的具體實施方式等記載可以用于解釋權(quán)利要求的內(nèi)容。