杜詩萌 孫勇 楊路 蔡乾乾 胡皓鵬
【摘 ?要】2015年,廣東電網有限責任公司建成了省級集中計量自動化系統。為了保持計量業務全省集中的優勢,又能兼顧各地市供電局的需求,通過建設全省統一的省級數據備份倉庫,把省級計量自動化系統集中處理的數據,快速、安全地回流到各地市局,使各地市局及時、準確地獲取并使用本單位的業務數據,為地市拓展業務應用和數據分析提供數據支撐。
【關鍵詞】計量自動化系統;回流;數據備份倉庫;數據分析;計量業務
1 引言
廣東電網省級集中計量自動化系統的建成,實現了全省計量業務統一規范管理和數據集中應用。但隨著各地市供電局個性化數據分析需求的日趨增加,在省級集中計量自動化系統上統一開發、實現比較困難,難以同時兼顧各地市供電局需求;另外地市局部分分析型應用,涉及大量、頻繁的數據導入和導出,增大了系統生產數據庫負載,一定程度上影響系統性能和業務應用。因此,將省級集中計量自動化系統采集到的海量數據回流到各個地市局就顯得尤為必要了。
2 需求
2.1 網絡環境
地市數據回流子倉庫主要使用綜合數據網完成省公司對地市局的數據傳輸,性能和可靠性高,能提供良好的網絡支持。
2.2 數據回流需求
目前,本次數據回流工作主要涉及計量自動化檔案、明細數據、月凍結數據、日凍結數據等類型,回流周期每天一次,后續將根據其對生產數據庫性能影響評估對數據回流類型和回流周期進行調整。
3 架構規劃
3.1 數據回流架構
為切實提高地市數據回流的運行效率,不影響省級集中生產數據庫的性能,同時做好數據回流失敗后重新傳輸數據的應急工作,先建立一個中間數據庫(即省級數據備份倉庫)。數據回流分為兩個過程:一是數據先從省級集中計量自動化系統生產數據庫完全備份到省級數據備份倉庫中;二是數據從省級數據備份倉庫回流到各地市局的本地數據回流子倉庫。
(1)從生產數據庫到省級數據備份倉庫同步方式
根據本項目的需求,采用定時數據復制方式,具體實現方式詳見3.2數據同步方式。
(2)從省級數據備份倉庫到地市本地數據回流子倉庫
通過ETL程序將業務數據回流主動推送到各個地市局。將省級數據備份倉庫的數據根據需要抽取到ETL服務器中進行清洗、轉換和集成。可在ETL引擎中或者也可在數據抽取過程中利用關系數據庫特征進行數據轉換和加工。在ETL引擎中進行數據轉換和加工,比直接通過SQL語句進行轉換和加工更簡單清晰,性能更高,對于SQL語句無法處理的數據可以由ETL引擎處理。
3.2 數據回流策略
針對各個業務系統表的特點,采用不同的ETL回流策略,總結目前業務系統表的特點分類及其回流方式如下:
(1)同步方式
全刪全插:檔案、月數據這類表分解到19個地市局采用全量同步方式進行回流,即先清除地市表中的數據,再根據地市編碼回流數據到每個地市局,每張表都可以在2分鐘以內回流完畢。采用全刪除再插入方式具有開發簡單、回流占用服務器資源少,從而降低出錯的可能性等優點。即使出現報錯,需要人工處理,也能在2分鐘內完成重新回流。
部分刪除插入:計量系統業務數據表,如負荷、表碼、告警等這類表其數據量隨著時間增長會越來越大,因此采用部分刪除插入方式。
(2)同步周期
本方案同步周期考慮按照‘實時/日/周方式進行規劃;目前,將根據地市局提出的數據同步實時性需求,結合對計量自動化系統生產庫、省級數據備份倉庫性能壓力的影響,制定合理的同步周期,經測試驗證通過之后,方可調整相關同步策略。
(3)數據保存機制
在省側ETL服務器上將保存近10天的數據,保存時間為7天,超過7天后,省側服務器將不再保證數據的有效性。即下一個打包周期對上一個打包周期的數據有效性和異常問題不再進行處理。
(4)數據回流日志監控
通過ETL程序,對數據回流的日志進行監控。根據用戶定義的日志級別,記錄整個數據傳輸過程中成功或失敗的詳細信息,方便系統維護人員或系統管理員監控數據回流情況。
(5)數據同步方式
定時數據復制方式,硬件采用2臺595+EMC存儲實現,采用在生產數據庫中部署ETL工具將地市局所需的部分數據至省級數據備份倉庫。該同步方式實施周期短,后續運維工作量少,根據目前業務需求以及一體機性能,完全能夠滿足本次項目的需求。根據抽取周期對數據進行抽取(最短以天為單位),需要另行采購或者開發ETL工具。
(6)應急策略
由于數據回流過程中,受業務系統、數據庫、網絡等環境影響,可能會導致數據庫損壞、數據表損壞,正常業務受損、數據無法正常回流等情況。為了保證數據能夠可靠地回流到各地市局,又不對業務產生影響,針對主要異常情況提出以下應急策略:
(6.1)數據庫損壞
在省級數據備份倉庫中,由于采用數據復制方式將生產庫的數據同步到省級數據備份倉庫中,只有讀操作,理論上不會對生產數據庫產生破壞性影響,萬一遭到破壞導致數據庫無法使用,將立即停止省級數據備份倉庫和同步進程的運行,優先保證生產數據庫運行,待問題處理完成后,重新恢復省級數據備份倉庫的運行。
如果地市局本地數據回流子倉庫損壞,由于將生產數據庫同步到省級數據備份倉庫中采用ETL抽取方式,只需要將程序重新運行一次,抽取生產數據庫中的部分數據全部同步過去即可。由于這個過程比較耗時,需在非業務處理時間執行,避免對業務造成影響。
(6.2)數據表損壞
當數據表損壞后所采用的恢復手段與數據庫損壞后采用的方法類似,只是不要恢復整個數據庫,由于數據庫表都帶有時間戳,只需要對損壞的數據庫表進行恢復。省級數據備份倉庫的數據表損壞時,只需指定同步該表,重新刷新一次該表即可。
當地市局本地數據回流子倉庫損壞,運行一次針對損壞表的同步回流程序,將已損壞的表回流到地市局即可。
(6.3)性能下降
影響生產庫性能下降的因素較多,業務操作是影響性能最大的因素,通過定時數據復制方式進行數據復制,由于該方式適用于同步數據量不大,同步周期要求不高的場合,并且可以在非業務處理時間段執行,因此,對性能影響比較小。同時針對生產庫的關鍵性能指標進行監控,當達到預定閾值時,查詢原因,暫停運行同步程序,待性能恢復后,再恢復程序。
4 結論
該項研究根據廣東電網省級集中計量自動化系統數據回流工作要求,從數據回流的技術方法和架構設計進行闡述,針對不同的數據特點提出不同的數據回流策略,并描述了數據回流ETL(抽取、轉換、加載)的操作流程,為后續數據回流具體實施工作提供參考。
參考文獻:
[1] 伍江瑤.廣東電網數據回流系統ETL的設計與實現[J].自動化與儀器儀表,2017(6):80-83.
[2] 陳曄,肖勇,闕華坤等.廣東電網省級集中式電能計量自動化系統建設[J].廣東電力,2014(11):150-154.
(作者單位:1.廣東電網有限責任公司云浮供電局;2.3.4.5.廣東電網有限責任公司計量中心)