文/冉冉 劉穎 劉為 胡非
數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)是測度質(zhì)量以及整合數(shù)據(jù)的方法等一套處理準(zhǔn)則,而數(shù)據(jù)傳輸數(shù)量龐大、運(yùn)行速度快和數(shù)據(jù)類型多樣化的特點(diǎn),決定了大數(shù)據(jù)質(zhì)量監(jiān)控所需的系統(tǒng)構(gòu)建方式有別于傳統(tǒng)信息系統(tǒng)的質(zhì)量監(jiān)控系統(tǒng),需要進(jìn)行全方位的革新。
系統(tǒng)硬件應(yīng)盡量選擇高性價(jià)比的設(shè)備,盡量節(jié)省開銷,在實(shí)現(xiàn)系統(tǒng)功能的前提下,能對系統(tǒng)的功能實(shí)現(xiàn)提供扎實(shí)的基礎(chǔ),提高監(jiān)控系統(tǒng)平均性能(即啟動延遲時(shí)間、峰值負(fù)荷等)及目標(biāo)平均負(fù)荷(即用戶總量、處理信息量等)。
系統(tǒng)硬件設(shè)備的選擇如表1所示。
數(shù)據(jù)監(jiān)控軟件主要面向數(shù)據(jù)管理人員,便于其實(shí)施信息監(jiān)控。為了減輕數(shù)據(jù)管理人員的操作負(fù)擔(dān),也為了方便非專業(yè)的管理層領(lǐng)導(dǎo)進(jìn)行決策,指揮數(shù)據(jù)運(yùn)營,軟件應(yīng)當(dāng)盡量操作簡便、界面友好和易于調(diào)控。對數(shù)據(jù)質(zhì)量的檢測軟件,采用開放式式的管理思維,借助大數(shù)據(jù)運(yùn)營的分流管理模式,對流經(jīng)系統(tǒng)的數(shù)據(jù)質(zhì)量進(jìn)行關(guān)聯(lián)和參數(shù)設(shè)置,形成對數(shù)據(jù)完整、邏輯、準(zhǔn)確和規(guī)范等檢測過程 ,通過階段性的擴(kuò)展和Limit限制,形成最終的數(shù)據(jù)質(zhì)量監(jiān)測日志。
本軟件設(shè)計(jì)借助的是中國聯(lián)通開發(fā)的TWONET開發(fā)云平臺,平臺能夠幫助軟件開發(fā)者輕松實(shí)現(xiàn)設(shè)備接入與設(shè)備連接,提供多線程功能模塊,實(shí)現(xiàn)軟件開發(fā)的簡易化。本數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)軟件的功能模塊設(shè)計(jì)如圖1所示。
表1:數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)硬件組成
表2:系統(tǒng)測試實(shí)驗(yàn)結(jié)果
完整性包括實(shí)體完整性、引用完整性和域完整性。
(1)實(shí)體完整性要求每一個(gè)數(shù)據(jù)唯一屬性必須是完整的。
(2)引用完整性要求不同相關(guān)性之間的引用關(guān)系必須完整。
(3)域完整性要求某一列的數(shù)據(jù)在合法的范圍內(nèi)保持完整。
該模塊實(shí)現(xiàn)對內(nèi)核數(shù)據(jù)不變量(除第一類靜態(tài)不變量外)的監(jiān)控,通過周期性的驗(yàn)證動態(tài)不變量和第二類靜態(tài)不變量的是否符與標(biāo)準(zhǔn)不變量一致,判斷當(dāng)前內(nèi)核數(shù)據(jù)不變量是否被破壞,從而實(shí)現(xiàn)對數(shù)據(jù)完整性的監(jiān)控。
數(shù)據(jù)的邏輯一致性包括:
(1)上下游數(shù)據(jù)棧間對接的數(shù)據(jù)邏輯結(jié)構(gòu)保持一致;
(2)上下游數(shù)據(jù)棧間對接的數(shù)據(jù)屬性內(nèi)容保持一致;
(3)上下游數(shù)據(jù)棧間對接的數(shù)據(jù)屬性描述、口徑保持一致。檢測邏輯一致性的程序設(shè)計(jì)中應(yīng)用的屬于Expara 參數(shù)設(shè)置。監(jiān)控系統(tǒng)此模塊需設(shè)計(jì)一個(gè)線程,實(shí)時(shí)檢測數(shù)據(jù)中繼器的連接請求,驗(yàn)證通過后,開啟數(shù)據(jù)接收線程,實(shí)時(shí)接收數(shù)據(jù)庫。根據(jù)邏輯類型處理數(shù)據(jù)并將結(jié)果存儲于系統(tǒng)檢測結(jié)果中,供遠(yuǎn)程使用者實(shí)時(shí)在界面中監(jiān)測。
圖1:監(jiān)控軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)準(zhǔn)確性監(jiān)控模塊主要對數(shù)據(jù)真值、數(shù)據(jù)文件表與屬性分類真值范圍的符合程度進(jìn)行監(jiān)控,如項(xiàng)目管理中描述業(yè)務(wù)結(jié)果的定量數(shù)據(jù)屬性的值、計(jì)量單位、計(jì)算指標(biāo)要正確。多數(shù)據(jù)源的監(jiān)控有兩種方式:針對每個(gè)數(shù)據(jù)源定制實(shí)現(xiàn)一部分準(zhǔn)確性邏輯,也可以通過實(shí)用化任務(wù)將多數(shù)據(jù)源中的數(shù)據(jù)結(jié)果通過任務(wù)寫入一個(gè)數(shù)據(jù)源中,再對該數(shù)據(jù)源進(jìn)行監(jiān)控實(shí)時(shí)數(shù)據(jù)監(jiān)控:區(qū)別在于掃描周期的不同,因此在設(shè)計(jì)的時(shí)候可以先以離線為主,但是盡量預(yù)留好算法監(jiān)控的設(shè)計(jì)。算法異常數(shù)據(jù)放到一張結(jié)果表中,再在上面配置簡單的告警規(guī)則即可。對關(guān)鍵數(shù)據(jù)從原始指標(biāo)直接開始計(jì)算結(jié)果,和日常的結(jié)果表做數(shù)據(jù)對比,發(fā)現(xiàn)不同則發(fā)出預(yù)警信號。這種方式也可以理解為是數(shù)據(jù)之間的審計(jì)對賬。
數(shù)據(jù)質(zhì)量的規(guī)范檢查功能自帶的規(guī)范類型非常多,包括:身份證、手機(jī)號碼、郵箱、郵政編碼、固定電話、Ipv4地址、Ipv6地址、Mac地址、純中文、純英文、數(shù)值、日期、長度范圍等。不同環(huán)境和用戶對安全具有不同的需求,如果使用統(tǒng)一的監(jiān)控標(biāo)準(zhǔn)雖然降低了監(jiān)控機(jī)制實(shí)現(xiàn)的難度,但卻可能給低安全性需求用戶帶來不必要的安全開銷。我們可以修改系統(tǒng)自帶的類型,在資源管理器中的root/products/edq/rule//standardConfig.xml中修改自帶類型的正則表達(dá)式,重啟服務(wù)器后生效。
根據(jù)實(shí)驗(yàn)室現(xiàn)有條件,對阿里云的I/O數(shù)據(jù)庫進(jìn)行兩種不同方式的篡改。運(yùn)用傳統(tǒng)數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)和本文構(gòu)建的系統(tǒng)分別對其進(jìn)行質(zhì)量監(jiān)控。若系統(tǒng)反饋出現(xiàn)異常報(bào)告,則證明成功實(shí)現(xiàn)了對該數(shù)據(jù)庫監(jiān)控;否則,說明數(shù)據(jù)質(zhì)量監(jiān)控失敗。實(shí)驗(yàn)結(jié)果如表2所示。
PLCHash 表和任務(wù)鏈表都是內(nèi)核中的動態(tài)數(shù)據(jù)結(jié)構(gòu),根據(jù)上述測試結(jié)果可知傳統(tǒng)數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)無法發(fā)揮作用,相比之下本文構(gòu)建的數(shù)據(jù)質(zhì)量監(jiān)控系統(tǒng)具有優(yōu)越性與實(shí)用性。
數(shù)據(jù)質(zhì)量是數(shù)據(jù)資源建設(shè)、數(shù)據(jù)應(yīng)用建設(shè)和運(yùn)營決策的關(guān)鍵因素,可通過完善部門間銜接和協(xié)調(diào),加強(qiáng)組織架構(gòu)和管理流程,嚴(yán)格按照標(biāo)準(zhǔn)或考核指標(biāo)執(zhí)行,確保數(shù)據(jù)質(zhì)量方能將數(shù)據(jù)的商業(yè)價(jià)值最大化,進(jìn)而提升我國數(shù)據(jù)管理領(lǐng)域的核心競爭力和保持經(jīng)濟(jì)的可持續(xù)發(fā)展。隨著時(shí)代發(fā)展,數(shù)據(jù)并發(fā)量逐漸增大,各種系統(tǒng)交互更加頻繁,該數(shù)據(jù)監(jiān)控系統(tǒng)的應(yīng)用也會向其他管理平臺拓展。如何保證數(shù)據(jù)的實(shí)時(shí)性監(jiān)控、提高監(jiān)控信息交互的效率,將是下一步需要著重研究解決的問題。