葉健輝 白靜潔 劉 琪 王 剛 王 梓 武 江
?
基于數(shù)據(jù)質(zhì)量診斷的數(shù)據(jù)整合技術(shù)
葉健輝1白靜潔2劉琪2王剛2王梓3武江2
1.國網(wǎng)湖南省電力公司;2.南瑞集團北京科東公司;3.國網(wǎng)天津市電力公司
行業(yè)曲線
本文針對目前電網(wǎng)運行數(shù)據(jù)存在的跳變、不刷新等數(shù)據(jù)質(zhì)量問題,提出了一種基于數(shù)據(jù)質(zhì)量診斷的數(shù)據(jù)整合技術(shù),通過該技術(shù)實現(xiàn)了電網(wǎng)運行數(shù)據(jù)的規(guī)范性和統(tǒng)一性,提高了數(shù)據(jù)的可靠性和完整性,為電網(wǎng)運行分析提供了可靠的數(shù)據(jù)支撐。
當(dāng)前電力調(diào)度中心存儲了大量電網(wǎng)運行、生產(chǎn)管理等方面的數(shù)據(jù)。電網(wǎng)運行數(shù)據(jù)有跳變、不刷新等異常錯誤,這些數(shù)據(jù)的存儲方式和分散性,很難讓用戶直接發(fā)現(xiàn)原因。電網(wǎng)生產(chǎn)運行和管理對數(shù)據(jù)準(zhǔn)確性要求很高,調(diào)度數(shù)據(jù)必須是可靠和完整的,才能準(zhǔn)確反映電網(wǎng)運行情況。在電網(wǎng)運行中存儲海量歷史數(shù)據(jù),對于這些海量歷史數(shù)據(jù)準(zhǔn)確性會影響很多應(yīng)用,如負荷預(yù)測、省間數(shù)據(jù)交互、可視化展示分析及調(diào)度數(shù)據(jù)上報等。因此,對數(shù)據(jù)質(zhì)量研究分析的同時,提高調(diào)度數(shù)據(jù)質(zhì)量具有十分重要的現(xiàn)實意義。
結(jié)合智能電網(wǎng)調(diào)度技術(shù)支持系統(tǒng)數(shù)據(jù)模型規(guī)范性和統(tǒng)一性,對電網(wǎng)運行數(shù)據(jù)查詢或存儲如何保證數(shù)據(jù)準(zhǔn)確性,主要通過數(shù)據(jù)模板整合工具來提高調(diào)度數(shù)據(jù)質(zhì)量。
本文首先通過介紹數(shù)據(jù)整合技術(shù)架構(gòu),提出了一種基于數(shù)據(jù)質(zhì)量診斷的數(shù)據(jù)整合技術(shù)。其次,通過利用五項關(guān)鍵技術(shù)整體實現(xiàn)電網(wǎng)運行數(shù)據(jù)的規(guī)范性和統(tǒng)一性,從而解決了提高了數(shù)據(jù)的準(zhǔn)確性,為電網(wǎng)運行分析提供了可靠的數(shù)據(jù)支撐。
本文針對現(xiàn)有的電網(wǎng)運行數(shù)據(jù)存在的問題,經(jīng)過分析數(shù)據(jù)特征與存儲分布情況,結(jié)合現(xiàn)有的數(shù)據(jù)質(zhì)量診斷方法,設(shè)計出了適用于電網(wǎng)調(diào)度運行數(shù)據(jù)質(zhì)量診斷的數(shù)據(jù)整合技術(shù)架構(gòu),從可視化流程構(gòu)建技術(shù)、多源異構(gòu)數(shù)據(jù)抽取技術(shù)、數(shù)據(jù)質(zhì)量診斷技術(shù)、基于血緣追蹤的數(shù)據(jù)轉(zhuǎn)換技術(shù)到內(nèi)存數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù),全方位的解決了數(shù)據(jù)所存在的所有問題。技術(shù)架構(gòu)如圖1所示。
圖1 數(shù)據(jù)整合技術(shù)架構(gòu)
可視化數(shù)據(jù)流構(gòu)建技術(shù)
視化數(shù)據(jù)流為數(shù)據(jù)整合提供操作方便可拖拽、靈活定義節(jié)點方式進行數(shù)據(jù)整合。依據(jù)XML標(biāo)準(zhǔn)模型保存數(shù)據(jù)流模型數(shù)據(jù),為數(shù)據(jù)整合提供了可視化定制流程手段,同時具備高度的可移植性。如圖2所示。
圖2 可視化數(shù)據(jù)流構(gòu)建技術(shù)
圖3 基于XML標(biāo)準(zhǔn)模型文件描述應(yīng)用程序界面
1)靈活拖拽定制
用flex頁面元組件定義數(shù)據(jù)操作節(jié)點,選擇不同節(jié)點進行拖拽到數(shù)據(jù)操作區(qū)域,動態(tài)調(diào)整節(jié)點坐標(biāo)和擺放位置;通過監(jiān)聽鼠標(biāo)事件和鍵盤事件對其操作記錄節(jié)點位置,定義界面全局變量臨時緩存,待操作完成后統(tǒng)一保存到模型文件。
2)流程化模型存儲
基于XML標(biāo)準(zhǔn)模型文件描述應(yīng)用程序界面,使原本需要由代碼開發(fā)的程序界面轉(zhuǎn)而可以使用此規(guī)范進行描述。在定義中包含組件類型、位置定義、大小定義、樣式定義及其他組件屬性。如圖3所示。
多源異構(gòu)數(shù)據(jù)抽取技術(shù)
目前整合工具在使用過程中抽取源有國產(chǎn)數(shù)據(jù)庫、商業(yè)數(shù)據(jù)庫和電力模型文件,數(shù)據(jù)庫抽取技術(shù)采用配置不同連接驅(qū)動動態(tài)反射調(diào)用連接庫實例,即可達到同時抽取多個庫實例。電力模型文件通過FTP服務(wù)多線程抽取,采用模板解析技術(shù)將數(shù)據(jù)文件放入內(nèi)存處理。
1)多源異構(gòu)數(shù)據(jù)技術(shù)
封裝構(gòu)建異構(gòu)數(shù)據(jù)源的查新模塊,轉(zhuǎn)換底層數(shù)據(jù)對象為統(tǒng)一的全局數(shù)據(jù)。實現(xiàn)數(shù)據(jù)的統(tǒng)一訪問以及數(shù)據(jù)源的集成和共享。構(gòu)建異構(gòu)數(shù)據(jù)技術(shù)架構(gòu)見圖4。
2)全量抽取技術(shù)
數(shù)據(jù)源端進行全部裝載時需要進行全量抽取,全量抽取就是將數(shù)據(jù)從數(shù)據(jù)庫中抽取出來,通過轉(zhuǎn)換和加載操作遷移到其他地方。技術(shù)實現(xiàn)通過選擇不同庫實例定義SQL語句抽取全量和JAVA讀文件IO流操作數(shù)據(jù)文件。
3)增量抽取技術(shù)
增量抽取只抽取自上次抽取以來數(shù)據(jù)庫中要抽取的表中新增或修改的數(shù)據(jù)。在整合使 用過程中,捕獲變化的數(shù)據(jù)是增量抽取的關(guān)鍵。將業(yè)務(wù)系統(tǒng)中的變化數(shù)據(jù)按一定的頻率準(zhǔn)確地捕獲。增量數(shù)據(jù)抽取中常用的捕獲變化數(shù)據(jù)的實現(xiàn)用動態(tài)時間戳去定義SQL語句和文件名,時間戳標(biāo)簽[YYYY][MM][DD][HH24][MM][SS],通過JAVA正則處理替換達到數(shù)據(jù)動態(tài)更新抽取。
圖4 異構(gòu)數(shù)據(jù)集成體系結(jié)構(gòu)
數(shù)據(jù)質(zhì)量診斷技術(shù)
數(shù)據(jù)整合通過對數(shù)據(jù)抽取后,要對抽取數(shù)據(jù)結(jié)果進行數(shù)據(jù)質(zhì)量診斷校驗。一般的數(shù)據(jù)信息都符合統(tǒng)計學(xué)正態(tài)分布的規(guī)律,若一些占比小的數(shù)據(jù)存在異常,則通過與其它數(shù)量少的數(shù)據(jù)比較做出判斷。電網(wǎng)運行類數(shù)據(jù)質(zhì)量診斷技術(shù)主要采用曲線分析校驗,具體如下:
將最近5個點進行大小排序,顯示值取排序中值。使用中值濾波法可以排除局部極值的干擾。若是有一個異常數(shù)據(jù)經(jīng)過,則由于在該異常數(shù)據(jù)段前后2個點附近為極大值(極小值),該點將被中值濾波法所拋棄。使用加權(quán)平均法,即將某點前后5個值進行權(quán)值平均,加權(quán)平均法雖然增加了曲線的平滑度,卻依然受到誤差的權(quán)值因素影響,而且某點的誤差影響到前后5個點共計9個點的影響范圍。使用中值濾波法可能會丟失一個峰值信息,但是用電控制以趨勢控制為主,峰值控制較少,因此最終采用了中值濾波法來排除異常數(shù)據(jù)。給出了加權(quán)平均法和中值濾波法去除異常點的分析比較。如圖5所示。
基于血緣追蹤的數(shù)據(jù)轉(zhuǎn)換技術(shù)
經(jīng)過數(shù)據(jù)抽取對數(shù)據(jù)質(zhì)量診斷判別后,需要對內(nèi)存數(shù)據(jù)根據(jù)不同電力業(yè)務(wù)進行模型轉(zhuǎn)換。在數(shù)據(jù)轉(zhuǎn)換技術(shù)中采用數(shù)據(jù)血緣和流程追蹤進行處理,數(shù)據(jù)血緣分為數(shù)據(jù)建模和查詢重寫。血緣追蹤采用二叉樹遞歸遍歷節(jié)點內(nèi)存數(shù)據(jù)轉(zhuǎn)換計算處理,整合過程中速度快、數(shù)據(jù)關(guān)系透明化和邏輯操作方便等。
圖5 曲線分析校驗
圖6 模板技術(shù)
1) 數(shù)據(jù)轉(zhuǎn)換
數(shù)據(jù)轉(zhuǎn)換服務(wù)將根據(jù)數(shù)據(jù)整合任務(wù)配置,在數(shù)據(jù)抽取服務(wù)完成后自動啟動。它讀取該任務(wù)的轉(zhuǎn)換配置模板文件,并根據(jù)轉(zhuǎn)換模板文件的具體要求:實現(xiàn)源端和目地端用戶名不同的轉(zhuǎn)換;源端和目地端表名不同的轉(zhuǎn)換;源端和目地端字段名不同的轉(zhuǎn)換;支持對一個表的字段增加,刪除、修該源字段類型;對NUMBER類型數(shù)據(jù)作的+, -, *, /的轉(zhuǎn)換。支持給一個列設(shè)置默認值,當(dāng)該列為空時自動替換為設(shè)置的默認值。
2)模板技術(shù)
通過定義數(shù)據(jù)標(biāo)簽?zāi)0鍖?shù)據(jù)模型格式轉(zhuǎn)換,IMPUTIOSTREAM文件流對其模板和數(shù)據(jù)文件合并。解析標(biāo)簽對內(nèi)存數(shù)據(jù)格式找到相應(yīng)標(biāo)簽填充實數(shù)據(jù),返回二維數(shù)據(jù)結(jié)構(gòu)。在模板中改變變量幾乎在任何地方都可以使用復(fù)雜表達式來指定值命名的宏,可以具有位置參數(shù)和嵌套內(nèi)容名字空間有助于建立和維護可重用的宏庫,在嵌套模板片段生成輸出時,轉(zhuǎn)換數(shù)據(jù)文件模型輸出。如圖6所示。
3)數(shù)據(jù)血緣
數(shù)據(jù)建模。主要是建立數(shù)據(jù)庫概念結(jié)構(gòu)的模型,先定義數(shù)據(jù)庫全局概念結(jié)構(gòu)模型,然后逐層細分,產(chǎn)生不同粒度的概念結(jié)構(gòu)模型,知道原子概念結(jié)構(gòu)模型;定義每個原子概念結(jié)構(gòu)模型整合起來構(gòu)成數(shù)據(jù)庫全局結(jié)構(gòu)模型;通過核心數(shù)據(jù)屬性進行部分屬性關(guān)聯(lián),逐步擴張得到數(shù)據(jù)標(biāo)準(zhǔn)模型;對表數(shù)據(jù)還可以采用視圖關(guān)聯(lián)。這樣在實體之間的聯(lián)系分為一對一、一對多和多對多三類。
流程化血緣追蹤采用二叉樹遞歸遍歷算法,遞歸是設(shè)計和描述算法的一種有力的工具,它在復(fù)雜算法的描述中被經(jīng)常采用
4)自主定義公式
在電網(wǎng)運行中地區(qū)負荷總加、全網(wǎng)最大、負荷率等需要自主定義公式計算。定義計算函數(shù),通過下列方式可以實現(xiàn)自主計算的自優(yōu)化:用函數(shù)來表示定義公式策略;依據(jù)當(dāng)前的數(shù)據(jù)模型,通過業(yè)務(wù)數(shù)據(jù)定義函數(shù)公式,得到期望的數(shù)據(jù)狀態(tài)和相應(yīng)取值情況。針對內(nèi)存中二維數(shù)據(jù)在電力業(yè)務(wù)需求中采用行與行和列與列之間公式定義計算,公式定義滿足常規(guī)運算和統(tǒng)計函數(shù)運算,常規(guī)運算包括加、減、乘、除和操作符優(yōu)先級等,統(tǒng)計函數(shù)包括SUM、SQRT、AVG、TAN、COS和邏輯與或運算等。
定義行計算公式。通過數(shù)據(jù)唯一標(biāo)識定義公式,葛大江總機組出=G#1+G#2+G#3,通過遍歷二維數(shù)據(jù)找到數(shù)據(jù)標(biāo)識操作計算。
定義列計算公式。根據(jù)數(shù)據(jù)列名定義公式,當(dāng)日全網(wǎng)負荷最大值=MAX(H1,H2,H3…),根據(jù)列名找到度量計算。
擴展計算函數(shù)。通過JAVA運行態(tài)反射調(diào)用技術(shù),加載自定義函數(shù)類注入,豐富自主計算功能和業(yè)務(wù)數(shù)據(jù)邏輯處理。
5)指標(biāo)判別技術(shù)
在電網(wǎng)運行中需要很多數(shù)據(jù)指標(biāo)應(yīng)用去支撐運行分析,數(shù)據(jù)指標(biāo)分析也是電網(wǎng)運行中重要一部分。選擇相關(guān)區(qū)域、設(shè)備及量測類型編碼進行定位。根據(jù)統(tǒng)一編碼,設(shè)備和量測關(guān)系進行匹配。搜索設(shè)備和量測類型對象編碼匹配得出葛大江有功總加公式和分量進行判別。
基于內(nèi)存的數(shù)據(jù)發(fā)布服務(wù)技術(shù)
在數(shù)據(jù)整合后需要對內(nèi)存數(shù)據(jù)提供服務(wù)和發(fā)布,根據(jù)不同應(yīng)用業(yè)務(wù)數(shù)據(jù)需要,可以將內(nèi)存數(shù)據(jù)裝載多個庫實例和生成多個電力標(biāo)準(zhǔn)模型文件。當(dāng)前電網(wǎng)調(diào)度的信息應(yīng)用系統(tǒng)不斷增加,并且多為異構(gòu)系統(tǒng),其應(yīng)用需求也在不斷變化,需要面向?qū)ο笤O(shè)計對其它系統(tǒng)提供數(shù)據(jù)服務(wù)調(diào)用。
數(shù)據(jù)庫裝載
把內(nèi)存數(shù)據(jù)交換到目的節(jié)點,選擇庫實例,通過利用JDBC組件,支持國產(chǎn)數(shù)據(jù)庫、SYBASE、SQLSERVER、DB2、MYSQL等多種滿足SQL標(biāo)準(zhǔn)的數(shù)據(jù)庫進行數(shù)據(jù)裝載。
數(shù)據(jù)文件發(fā)布
從哈希列表中獲取數(shù)據(jù)并將模板轉(zhuǎn)義匹配,數(shù)據(jù)流中內(nèi)存數(shù)據(jù)進行定義模板生成數(shù)據(jù)文件,生成數(shù)據(jù)文件通過FTP服務(wù)進行發(fā)布存儲。
本文提出的基于數(shù)據(jù)質(zhì)量診斷的數(shù)據(jù)整合技術(shù),從數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)發(fā)、數(shù)據(jù)發(fā)布、數(shù)據(jù)診斷等多個環(huán)節(jié)對數(shù)據(jù)進行了規(guī)范和統(tǒng)一,從整體上實現(xiàn)電網(wǎng)運行數(shù)據(jù)的規(guī)范性和統(tǒng)一性。而且在此基礎(chǔ)上,使用數(shù)據(jù)質(zhì)量診斷技術(shù)極大的提高了數(shù)據(jù)的準(zhǔn)確性,為電網(wǎng)運行分析提供了可靠的數(shù)據(jù)支撐。
DOI:10.3969/j.issn.1001- 8972.2016.13.042