楊秋勇
(廣東電網(wǎng)有限責(zé)任公司,廣東 廣州 510000)
在大型電力企業(yè)或組織中,存在多地區(qū)、多產(chǎn)品、多業(yè)務(wù)、多系統(tǒng)的環(huán)境,在數(shù)據(jù)信息、報表統(tǒng)計、業(yè)務(wù)分析和業(yè)務(wù)元定義上存在諸多數(shù)據(jù)質(zhì)量問題。其主要包括數(shù)據(jù)不一致、不完整、不統(tǒng)一、不真實和不及時等。由此會導(dǎo)致管理者、業(yè)務(wù)人員和信息使用者的誤解,使數(shù)據(jù)利用出現(xiàn)錯誤、企業(yè)決策出現(xiàn)偏差。同時,低劣數(shù)據(jù)質(zhì)量往往造成開發(fā)出來的系統(tǒng)與用戶預(yù)期大相徑庭,并且導(dǎo)致運行維護成本過高、工作量過大,系統(tǒng)難以擴展。諸如此類的問題迫切需要加強對于數(shù)據(jù)本身質(zhì)量的研究和管理。數(shù)據(jù)質(zhì)量管理是研究數(shù)據(jù)質(zhì)量問題的標(biāo)準(zhǔn)和指導(dǎo)方案。數(shù)據(jù)就是資產(chǎn)的理念已被普遍認識,但要從根本上提高對數(shù)據(jù)質(zhì)量重要性的認識,并潛化為工作方式和習(xí)慣,就必須立足于對數(shù)據(jù)及其質(zhì)量本質(zhì)的解析,從而推動實踐,把握進程[1]。
數(shù)據(jù)作為信息化應(yīng)用的主體,具有多重屬性。其基本質(zhì)量特性主要包括適用性、準(zhǔn)確性、完整性、及時性、有效性這五個方面。要對數(shù)據(jù)質(zhì)量進行較好的控制[2],需杜絕數(shù)據(jù)質(zhì)量問題的出現(xiàn),使數(shù)據(jù)監(jiān)控工作能夠真正達到控制數(shù)據(jù)質(zhì)量的目的[3]。
傳統(tǒng)的數(shù)據(jù)質(zhì)量管理系統(tǒng)實現(xiàn)了校驗規(guī)則配置、規(guī)則執(zhí)行、數(shù)據(jù)質(zhì)量報告等功能,一定程度提高了傳統(tǒng)關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)管理水平,能滿足百萬級別以下的單表數(shù)據(jù)質(zhì)量校驗需求。
傳統(tǒng)數(shù)據(jù)質(zhì)量平臺功能描述如下。
①規(guī)則配置:提供基于單表的數(shù)據(jù)質(zhì)量校驗?zāi)_本配置。
②規(guī)則執(zhí)行:基于數(shù)據(jù)庫映射技術(shù)(dblink等),通過數(shù)據(jù)庫存儲過程執(zhí)行校驗?zāi)_本,并保存校驗結(jié)果(問題數(shù)據(jù)總數(shù)和被校驗記錄總數(shù))。
③數(shù)據(jù)質(zhì)量報告:基于固定的格式,生成數(shù)據(jù)質(zhì)量得分圖表,經(jīng)人工調(diào)整補充形成報告。
傳統(tǒng)數(shù)據(jù)質(zhì)量管理系統(tǒng)采用關(guān)系型數(shù)據(jù)庫作為被校驗庫和校驗結(jié)果存儲庫。但受限于關(guān)系型數(shù)據(jù)庫的部署架構(gòu)和處理方式,其無法應(yīng)對千萬級存量數(shù)據(jù)及指數(shù)式增長的大數(shù)據(jù)的數(shù)據(jù)質(zhì)量校驗,也無法開展數(shù)據(jù)質(zhì)量探查、分析、治理工作。
針對傳統(tǒng)數(shù)據(jù)質(zhì)量管理系統(tǒng)的問題,本文研究并借鑒了國內(nèi)外對數(shù)據(jù)質(zhì)量結(jié)合大數(shù)據(jù)的解決方案,提出了基于帶查詢功能的分布式系統(tǒng)基礎(chǔ)架構(gòu)(HADOOP with query,HAWQ)的數(shù)據(jù)質(zhì)量管理應(yīng)用解決方案。利用HAWQ集群,在多臺HADOOP服務(wù)器上分散存儲被校驗業(yè)務(wù)數(shù)據(jù)和校驗出的問題數(shù)據(jù)。得益于HAWQ的大規(guī)模并行處理(massively parallel processing,MPP)架構(gòu),可有效提高數(shù)據(jù)質(zhì)量系統(tǒng)的校驗、探查、分析能力[4]。基于HAWQ的數(shù)據(jù)質(zhì)量系統(tǒng)有以下優(yōu)點。
①基于HADOOP平臺,技術(shù)成熟、保證平臺有良好的可擴展性。
②基于MPP架構(gòu),任務(wù)并行的分散到多個服務(wù)器和節(jié)點上計算完成后再匯總,避免產(chǎn)生CPU、I/O瓶頸。
③支持SQL過程化編程,以及SQL語言控制結(jié)構(gòu),并具有所有PostgreSQL的數(shù)據(jù)類型(包括用戶自定義類型)、函數(shù)和操作符[5]。
基于HAWQ的電力企業(yè)數(shù)據(jù)質(zhì)量管理應(yīng)用,采用J2EE結(jié)合Spring Clould框架開發(fā),邏輯上劃分為主體應(yīng)用、規(guī)則執(zhí)行引擎組件、評價執(zhí)行引擎組件、問題數(shù)據(jù)導(dǎo)出引擎組件?;贖AWQ的電力企業(yè)數(shù)據(jù)質(zhì)量管理應(yīng)用架構(gòu)如圖1所示。
3.1.1 主體應(yīng)用功能
(1)元數(shù)據(jù)管理:適配大數(shù)據(jù)平臺元數(shù)據(jù),提供數(shù)據(jù)庫元數(shù)據(jù)、業(yè)務(wù)對象元數(shù)據(jù)的管理服務(wù),解析說明表、字段的業(yè)務(wù)含義,用于生成、配置校驗規(guī)則[6]。
(2)規(guī)則管理:提供規(guī)則配置、版本管理、規(guī)則參數(shù)配置等功能,同時系統(tǒng)針對校驗?zāi)_本,自動給出HAWQ的語法適配建議。
(3)副本監(jiān)控:針對待校驗庫數(shù)據(jù)副本的數(shù)據(jù)量、元數(shù)據(jù)進行監(jiān)控,可避免因為數(shù)據(jù)量偏差較大,元數(shù)據(jù)的基本信息(如庫表、字段、數(shù)據(jù)類型等)出現(xiàn)差異,影響數(shù)據(jù)質(zhì)量校驗結(jié)果,導(dǎo)致校驗結(jié)果出錯。
(4)問題數(shù)據(jù)下載:配置導(dǎo)出規(guī)則、問題數(shù)據(jù)枚舉值映射,提供單位-對象的問題數(shù)據(jù)下載。
(5)整改指引:業(yè)務(wù)人員、廠家在解決數(shù)據(jù)質(zhì)量問題后,歸納解決方法,形成規(guī)范、高效的解決方案,固化到系統(tǒng)中,通過系統(tǒng)共享,促進數(shù)據(jù)質(zhì)量問題整改。
(6)操作規(guī)范分析:通過制定規(guī)范規(guī)則,發(fā)現(xiàn)由于業(yè)務(wù)系統(tǒng)未能及時按數(shù)據(jù)質(zhì)量考核進行整改,導(dǎo)致業(yè)務(wù)人員誤操作形成數(shù)據(jù)質(zhì)量問題的規(guī)律。指導(dǎo)業(yè)務(wù)人員在操作業(yè)務(wù)系統(tǒng)過程中的動作,避免部分簡單的數(shù)據(jù)質(zhì)量問題。
(7)報告管理:基于報告模板,結(jié)合評價結(jié)果,生成質(zhì)量報告、企業(yè)信用報告。
(8)評價管理。
①提供評價靈活配置,可為不同的考核單位配置不同的規(guī)則、調(diào)整權(quán)重,并為每個規(guī)則設(shè)置目標(biāo)值、目標(biāo)值得分。
②豁免功能:細化組織單位顆粒度,將豁免功能細化到縣級和供電所層級,解決業(yè)務(wù)系統(tǒng)數(shù)據(jù)質(zhì)量、實用化模塊無法實現(xiàn)豁免至縣局和供電所層級的問題。在細化豁免顆粒度的同時,可提升豁免功能效率、有效性和準(zhǔn)確性。
③系統(tǒng)算分功能:利用在月、周整體評價中拆分出的個性化評價結(jié)果,組成新的評價,完成結(jié)果匯總和算分統(tǒng)計。
④評價申訴:針對考核中的特殊情況,地市局用戶可以向省公司提出豁免申請。系統(tǒng)以時間軸的方式展示每個申訴的始末。同時,統(tǒng)計每個地市局的申訴總量、有效申訴等信息。
(9)對比分析:通過單位得分排名、業(yè)務(wù)域得分、問題數(shù)據(jù)分布、指標(biāo)得分、得分趨勢、指標(biāo)通過率、問題數(shù)據(jù),環(huán)比跟蹤問題數(shù)據(jù)的處理情況。
3.1.2 規(guī)則執(zhí)行引擎組件
實現(xiàn)多線程規(guī)則執(zhí)行,并通過執(zhí)行腳本緩存,最大限度提升數(shù)據(jù)質(zhì)量校驗的效率[7]。
3.1.3 評價執(zhí)行引擎組件
基于HAWQ集群,對海量的問題數(shù)據(jù)進行去重、統(tǒng)計,根據(jù)指標(biāo)森林對不同的指標(biāo)樹進行匯總并加以權(quán)重,得出最后的總分。
3.1.4 問題數(shù)據(jù)導(dǎo)出引擎組件
問題數(shù)據(jù)的導(dǎo)出得益于HAWQ的MPP架構(gòu),支持問題數(shù)據(jù)主鍵與問題數(shù)據(jù)關(guān)聯(lián)多線程讀取,實現(xiàn)了千萬級問題數(shù)據(jù)的快速、全量讀取,并按配置的格式生成EXCEL文件[8]。
3.2.1 高并發(fā)智能化的規(guī)則執(zhí)行引擎
傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)的問題是:單線程執(zhí)行,數(shù)據(jù)質(zhì)量校驗整體過程效率低[9]。
本文創(chuàng)新點如下。
①任務(wù)調(diào)度,按優(yōu)先級管理執(zhí)行的線程和并發(fā)度。
②智能策略緩存,避免規(guī)則重復(fù)執(zhí)行。
③基于大數(shù)據(jù)技術(shù)的問題數(shù)據(jù)多線程寫入。
高并發(fā)智能化的規(guī)則執(zhí)行引擎如圖2所示。
圖2 高并發(fā)智能化的規(guī)則執(zhí)行引擎示意圖
3.2.2 彈性的問題數(shù)據(jù)存儲架構(gòu)
傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)的問題是:問題數(shù)據(jù)無法快速存儲。
本文創(chuàng)新點如下。
①高容錯性,數(shù)據(jù)自動保存多個副本,副本丟失后自動恢復(fù)。
②適合批處理,數(shù)據(jù)分散在多臺服務(wù)器上,可并行處理數(shù)據(jù),加快問題數(shù)據(jù)的分析和歸納[10]。
③一次寫入多次讀取,以流式文件訪問,數(shù)據(jù)讀取更高效。這種特性很適用于存儲問題數(shù)據(jù)。
④易于水平擴展,存儲節(jié)點可按需擴展。
⑤性能開銷小,通過HADOOP分布式文件系統(tǒng)HADOOP distributed file system,HDFS的接口寫入問題數(shù)據(jù),可避免數(shù)據(jù)庫事務(wù)、回滾日志等性能開銷。
彈性的問題數(shù)據(jù)存儲架構(gòu)如圖3所示。
圖3 彈性的問題數(shù)據(jù)存儲架構(gòu)
3.2.3 基于HADOOP技術(shù)的問題數(shù)據(jù)分析架構(gòu)
傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)的問題是:數(shù)據(jù)分析效率低。
本文創(chuàng)新點如下。
①快速響應(yīng):利用數(shù)據(jù)倉庫工具(Hive)作后期數(shù)據(jù)分析,可以更快地響應(yīng)需求的變更。
②數(shù)據(jù)獨立存儲:每條規(guī)則都會生成一個文件,用于存儲當(dāng)次的問題數(shù)據(jù)。
基于HADOOP技術(shù)的問題數(shù)據(jù)分析架構(gòu)如圖4所示。
圖4 基于HADOOP技術(shù)的問題數(shù)據(jù)分析架構(gòu)
3.2.4 基于HAWQ的準(zhǔn)實時評價引擎
傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)的問題是:評價計算過程耗時長、豁免速度慢。
本文創(chuàng)新點如下。
①問題數(shù)據(jù)去重:對評價中的所有問題數(shù)據(jù)進行分析,按對象整合重復(fù)的問題數(shù)據(jù),同時標(biāo)記出問題數(shù)據(jù)各個字段存在的問題,為后面的問題數(shù)據(jù)下載和對比分析提供基礎(chǔ)數(shù)據(jù)。
②算分:可自動適配不同的評價指標(biāo)樹,結(jié)合規(guī)則的豁免和排除,動態(tài)計算各個指標(biāo)的數(shù)據(jù)。
③對比分析:基于兩個評價的執(zhí)行結(jié)果,對比各評價指標(biāo)的得分和問題數(shù)據(jù),得出已整改、未整改、新增問題等維度的數(shù)據(jù)。
3.2.5 采用多線程切片技術(shù)問題數(shù)據(jù)導(dǎo)出組件
傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)的問題是:問題數(shù)據(jù)導(dǎo)出慢,且無法全量下載。
本文創(chuàng)新點如下。
①一次讀取(HAWQ),多處寫入(ORACLE/FTP)。
②導(dǎo)出引擎可獨立部署,實現(xiàn)高效的橫向擴展。
采用多線程切片技術(shù)的問題數(shù)據(jù)導(dǎo)出組件如圖5所示。
圖5 采用多線程切片技術(shù)的問題數(shù)據(jù)導(dǎo)出組件示意圖
目前基于HAWQ數(shù)據(jù)質(zhì)量管理應(yīng)用已完成開發(fā),并在廣東電網(wǎng)公司運行。經(jīng)實踐驗證,通過基于HAWQ數(shù)據(jù)質(zhì)量管理應(yīng)用,最高可實現(xiàn)數(shù)據(jù)質(zhì)量校驗效率比原傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)提升17倍左右。服務(wù)器配置信息如表1所示。
表1 服務(wù)器配置信息
為驗證基于HAWQ數(shù)據(jù)質(zhì)量管理應(yīng)用性能的有效性,與傳統(tǒng)數(shù)據(jù)質(zhì)量平臺進行比較,并在總記錄數(shù)242億5千萬、問題數(shù)1千萬,執(zhí)行規(guī)則4 180條的試驗環(huán)境下進行對比。
傳統(tǒng)數(shù)據(jù)質(zhì)量平臺與基于HAWQ數(shù)據(jù)質(zhì)量管理應(yīng)用的性能對比如圖6所示。
圖6 傳統(tǒng)數(shù)據(jù)質(zhì)量平臺與基于HAWQ數(shù)據(jù)質(zhì)量管理應(yīng)用的性能對比
基于HAWQ數(shù)據(jù)質(zhì)量管理應(yīng)用的性能與傳統(tǒng)數(shù)據(jù)質(zhì)量系統(tǒng)相比,有顯著的提升。其中,對多表關(guān)聯(lián)的數(shù)據(jù)一致性校驗的提升高達40倍。
本研究針對企業(yè)海量數(shù)據(jù)的數(shù)據(jù)質(zhì)量管理現(xiàn)狀和難點,提出了基于HAWQ的電力企業(yè)數(shù)據(jù)質(zhì)量管理應(yīng)用解決方案。通過開展高并發(fā)智能化的規(guī)則執(zhí)行引擎、彈性的問題數(shù)據(jù)存儲架構(gòu)、基于HADOOP技術(shù)的問題數(shù)據(jù)分析架構(gòu)、基于HAWQ的準(zhǔn)實時評價引擎、采用多線程切片技術(shù)問題數(shù)據(jù)導(dǎo)出等關(guān)鍵技術(shù)研究,初步搭建基于HAWQ的電力企業(yè)數(shù)據(jù)質(zhì)量管理應(yīng)用系統(tǒng)。該系統(tǒng)在廣東電網(wǎng)有限責(zé)任公司進行試點應(yīng)用,質(zhì)量校驗效率提升明顯。