楊漾,敖知琪,劉佳,陳若,江瑾
(1. 南方電網數字電網研究院有限公司平臺安全分公司,廣州510663;2. 南方電網數字電網研究院有限公司數字電網分公司,廣州510663;3. 南方電網深圳數字電網研究院有限公司,廣東 深圳518052)
2018年4月,在全國網絡安全和信息化工作會議上,習近平總書記提出“推動產業數字化,對傳統產業進行全方位、全角度和全鏈條的改造,提高全要素生產率,釋放數字對經濟發展的放大、疊加、倍增作用”[1]。2019年1月,國家電網提出“三型兩網”發展戰略,明確提出運營好“堅強智能電網,泛在電力物聯網”的發展目標,將充分利用移動互聯、人工智能等現代化信息技術,實現電力系統各環節萬物互聯,建設具有狀態全面感知、信息高效處理和應用便捷特征的智慧服務系統[2]。2019年4月,南方電網公司制定了《公司數字化轉型和數字南網建設行動方案(2019年版)》,提出了數字南網的建設目標,利用數據驅動對公司業務、流程和服務進行優化完善,促進電網管理、業務和商業模式轉型,提升公司生產力[3]。
麻省理工學院自動識別實驗室的物聯網合作研究計劃(ICRI)中提出了物聯網技術(Internet of Things,IOT),通過各種接入網與互聯網,將各種信息傳感設備(如傳感器網絡、射頻標簽閱讀裝置、條碼與二維碼設備、全球定位系統和短距無線自組織網絡等)結合起來,形成的一個巨大智能網絡[4]。大量“萬物互聯”的智能設備運行時會產生海量的數據,這些數據在云計算側無法被高效的存儲和處理,如何高效存儲和處理數據是具備分布式處理能力的邊緣計算模型[5]研究的關鍵問題。
在泛在電力物聯網和數字電網中[6 - 7],物聯網和邊緣計算技術都是當前電力產業“源-網-荷-儲”各環節信息流的采集、處理工作的最核心環節。數字電網是基于云架構與電網末端設備,通過物聯網聯接各類監測以及自動化終端,通過大數據中心和數字電網平臺以構建電網管理、調度運行、運營管控和客戶服務等一系列柔性應用。
本文針對數字電網場景,提出了一種基于容器技術的邊緣計算數據處理模型,采用云邊協同的邊緣側數據處理架構,對基于容器技術的邊緣計算嵌入式數據庫及云邊數據同步的關鍵技術進行研究,提出一種根據事務操作優先級對事務進行數據篩選和重構機制,并進行基于容器技術的嵌入式數據庫的性能研究測試及云邊協同的數據同步試驗研究。
邊緣計算類型包括5G分片技術[8]、云計算任務遷移、視頻監控[9]、環境及設備類監測[10]、智能分析和輔助決策類計算任務類型[11]。容器技術在邊緣計算節點應用端能夠有效隔離不同用戶的使用環境及服務環境[12],數據處理框架具有敏捷、高效、可控制性強、可移植性強、標準化強、安全性強等特點?;谌萜骷夹g的典型邊緣計算場景如圖1所示。邊緣計算設備可以產生和消費數據,功能包括數據通信、計算、歸集及處理。為滿足多源數據處理要求,邊緣計算的核心處理設備通常采用容器[12]技術。容器內應用具有相對單一、不涉及復雜的跨數據庫操作的特點。

圖1 基于容器技術的電網邊緣計算場景Fig.1 Edge computing scene of power grid based on container technology
多源數據采集及分析的邊緣計算如圖2所示。數據通過通信模塊匯集至邊緣計算設備中,邊緣計算設備通過同步該操作完成云邊數據協同操作。由于不同類型的應用容器存在相互隔離,因此在邊緣計算的設備中需要建立板級嵌入式中心庫,通過不同庫表管理不同容器中的數據,跨容器的數據通過跨表進行操作。

圖2 基于容器技術的電網邊緣計算數據處理模型Fig.2 Edge computing data processing model of power grid based on container technology
本文設計了滿足電網數據采集和處理要求的數據處理總體架構,如圖3所示。通過嵌入式數據庫完成邊緣側嵌入式智能終端設備的管理;為每一個容器內應用建立一張數據庫對應表,通過嵌入式數據庫服務的形式完成跨容器的多元數據庫的數據管理;采用事務型處理機制進行數據消息包的傳輸,使用同步功能模塊完成云邊數據高效協同工作。

圖3 基于容器技術的電網邊緣計算數據處理總體架構Fig.3 Edge computing data processing architecture of power grid based on container technology
邊緣側數據采集終端的數據保存在嵌入式數據庫中,需要對數據進行實時同步發送;當數據庫執行事務提交操作時,數據同步模塊將事務封裝成特定的數據同步消息格式,使用加密算法對消息包進行加密,并將其存放在待處理的事務隊列中,等待消息發送模塊進行處理;消息發送模塊使用TCP/IP協議將同步消息發送至目的端接收模塊進行處理。
云端接收執行子系統在接收到源端消息后,對源端消息進行解密,逆向生成為事務SQL語句,在目標端數據庫中執行完成信息同步,并修改已完成的同步位置。
在面向數字電網、跨容器技術的邊緣計算數據處理機制中,基于容器的嵌入式數據庫管理和云邊協同的高效同步系統兩項關鍵技術亟待研究,本文對這兩項關鍵技術進行研究和實現。
使用嵌入式數據庫對邊緣側數據進行管理,包括大對象數據的存儲等,采用微內核和自優化技術,利用文件鎖進行并發訪問控制,設計并實現了云邊協同的同步模塊。

圖4 基于容器技術的電網邊緣計算嵌入式架構Fig.4 Edge computing embedded architecture of power grid based on container technology
3.1.1 數據庫的微內核技術
在電網邊緣側設備上采用微內核技術實現數據庫的輕量級應用,并緊縮其系統結構以滿足電網設備應用的輕量化要求,同時可以依據應用的實際需求進行定制和裁剪,具有占用資源少的特點,運行時最低僅占用600 KB內存和500 KB的磁盤空間。
3.1.2 數據庫的自主優化技術
通過分析電網邊緣側設備的硬件配置和業務場景,數據庫系統采用自適應配置運行參數,包括工作線程、IO線程和SQL執行相關緩沖區等參數,使數據庫系統運行達到最優配置。數據庫系統自適應配置過程無需額外管理,使用API接口對數據庫進行調用,達到合理調配設備資源的效果。通過細粒度內存管理機制、典型場景自優化等技術,減少了IO交互,降低了CPU占用,內存使用更加合理,能更加有效地進行數據庫操作。由于不需要數據庫管理員進行人工干預,因此能保證用戶數據的安全性,實現無人值守運行。系統同時提供數據庫備份和還原功能,降低數據損壞風險。
3.1.3 大對象存儲技術
電網邊緣側設備需要存儲視頻等大對象數據,利用嵌入式數據庫大對象存儲功能實現電網邊緣側大對象的數據存儲,并且根據設備的實際硬盤空間,實現管理GB級別的BLOB數據規模及總體TB級別的數據規模。
3.1.4 安全技術
采用基于關系模型的事務型嵌入式數據庫管理系統,支持事務ACID特性,支持事務的提交、回滾功能,提供可串行化的事務隔離級,保證了數據庫數據的完整性和一致性。嵌入式數據庫采用WAL的先寫入日志技術,數據庫操作之前,先把內存中的數據快照保存到特定的磁盤空間,事務提交成功后才將內存中的數據緩存回寫進磁盤,成功后刪除數據快照;事務提交失敗時,將數據快照重新加載入內存并回寫進磁盤,同時刪除快照。在嵌入式數據庫中,還可以使用對稱加密和非對稱加密相結合的加密技術,對數據庫的數據文件進行加密,對數據傳輸、數據庫登錄進行SSL加密,確保數據庫訪問和數據存儲都處于加密狀態,從而保證數據庫的安全特性。
3.1.5 數據庫的并發訪問技術
為提高嵌入式數據庫的訪問效率,使用文件鎖進行多線程間、多進程間的并發訪問控制。多個邊緣側設備上的電網應用可以通過網絡訪問同一個設備上的嵌入式數據庫系統,一臺設備上的多個電網應用可以通過接口對同一個嵌入式數據庫的數據文件進行讀寫操作,相互之間無需排隊等待,提高了數據庫訪問的效率。
3.2.1 邊緣側智能終端數據實時采集及同步
在邊緣側智能終端上,數據采集程序采集到數據后將其存儲到嵌入式數據庫中,數據同步功能模塊實時對事務信息進行消息封裝和加密處理,封裝后的消息包在內存事務隊列中等待網絡模塊進行發送處理。消息包內容包括事務操作ID、操作數據和操作時間等。
傳統的基于軟件的數據庫數據同步技術,需要解析數據庫日志文件才能對事務信息進行組裝。本文的數據同步功能模塊作為嵌入式數據庫管理系統的擴展功能模塊,可以直接獲取內部事務信息,無需對日志文件的進行捕獲解析,提高了增量數據捕獲的發送效率。
3.2.2 執行子系統SQL逆向生成技術
數據同步的目的端不能直接應用源端所發送的消息包數據,需要逆向還原為SQL語句使用。目的端通過執行逆向生成的SQL語句,來實現事務消息同步的最后轉化步驟。由于采用了SQL逆向生成技術,源端可以像對待常規應用系統一樣,采用通用的方式對數據進行同步存儲。
3.2.3 事務篩選及重構
為保證源數據庫和目標數據庫的數據一致性,數據同步系統以源數據庫的事務為最小復制單位,嚴格按照源數據庫事務順序進行實時數據復制,保障目標數據庫與源數據庫事務的完整性和一致性,確保目標數據庫符合源數據庫的事務邏輯。同時,由于在邊緣側采集的數據并不具有完全的應用價值,使用傳統方法需要對數據進行匯總處理,過濾無用的數據。本文的數據實時同步系統可以通過構建同步規則對事務進行重構、篩選來達到提前過濾無用數據的目的。本文數據實時同步系統以事務為最小粒度的同步模型,給事務重構和篩選提供基本保證。
3.2.4 通信消息加解密
為保證邊緣側數據傳輸的安全性,在邊緣側源端,同步功能模塊在獲取到應用操作的事務信息后,需要對事務信息進行加密處理;網絡發送模塊通過網絡來傳輸加密的事務數據;在云端匯總庫中,日志接收執行子系統,接收到加密的消息后,使用解密算法進行解密,完成數據同步。
3.2.5 同步事務一致性保障技術
數據同步以源數據庫的事務為單位,嚴格按照終端業務系統事務順序實施數據同步,保證了目標端數據庫與源終端數據庫的事務級完整性和一致性,確保目標端數據庫符合源業務系統的事務邏輯。數據在傳輸過程中可能因為網絡故障而導致傳輸中止,為保證傳輸的數據無丟失,使用檢查點機制實現數據斷點續傳。數據斷點包括兩部分,即源端事務抽取位置檢查點和目標端執行已同步位置檢查點。源端模塊與目標端模塊使用完備的消息應答機制來保障數據傳輸的可靠性和完整性。源端模塊在得到確認消息后才認為數據傳輸完成,否則將自動重新傳輸數據。
試驗在數研院GEM1901邊緣計算開發板上進行,該核心板具有雙核800M主頻的CPU,1G RAM,8 GByte ROM,128 GB SD高速存儲卡,千兆網卡,開發板裝有SSX1805型國密型號安全芯片。使用Ubuntu 16.04片上操作系統,嵌入式數據庫DMEDB及嵌入式數據庫DMEDB同步功能模塊、嵌入式數據庫目的端同步工具進行軟件支撐。
使用x86架構的Intel Core i7的PC機作為云端數據庫載體,主頻3.6 GHz 16核CPU,內存128 GB,1T固態硬盤,以太網千兆網卡,Ubuntu 16.04版本操作系統,DMV7.6企業版關系型數據庫,并安裝達夢同步軟件。
針對面向容器的嵌入式數據庫,開展了讀寫性能測試。在不同數據量下,分別對查詢、寫入、導入、導出性能進行了重復測試,測試結果為100次操作的均值,結果如圖5所示。

試驗結果表明,嵌入式容器級數據庫能高效的完成查詢、寫入、導入及導出的常規數據庫操作,性能達到同等條件下傳統數據庫操作性能的88%以上。在性能相差最大的為10 000條數據寫入的試驗中,容器操作與原操作性能比為88.85%;在性能相差最小的為1 000條數據的導出試驗中,容器操作與原操作性能比達到97.08%;在各數據規模下,查詢性能可達93%。
數據同步試驗基于嵌入式數據性能測試的表及數據,通過同步軟件,把邊緣側設備上的數據同步到云端的關系數據庫中,通過與傳統方式進行對比,驗證同步軟件性能。數據同步中,分為全量同步和增量同步2種方式。在全量同步中,傳統方式需要獲取數據階段、網絡傳輸階段和云端數據庫加載階段3個階段;增量同步由于需要涉及數據時間戳、MD5校驗等環節,傳統方式無法完成增量同步,因而對比試驗采用直接從嵌入式板端同步相應數據量到云端的方式進行對比。本研究對比了全量同步性能測試,并開展了云端和邊緣側的增量同步測試。
4.3.1 全量同步性能測試
在全量同步性能測試中,傳統同步方式以時間戳方式獲取增量數據與同步軟件進行同步性能對比。本試驗基于嵌入式數據,分別構建5張表,在100 MB、200 MB、400 MB、600 MB、800 MB 5種不同規格的表進行。試驗表明,傳統的導出方式中,嵌入式數據庫的表現:獲取數據階段讀取性能不低于80 MB/s,寫入性能不低于40 MB/s;在邊緣計算核心板和云端的網絡傳輸階段中,網絡傳輸性能不低于45 MB/s,云端數據庫加載的性能不低于200 MB/s,測試結果如圖6所示。

圖6 性能測試結果示意圖Fig.6 Schematic diagram of performance test results
試驗表明,通過同步軟件方式進行的“邊緣同步組”的數據遠遠好于“傳統導出組”的數據,通過同步軟件進行全量同步的數據中,在400 MB有個拐點,這說明在通過同步軟件進行云邊協同操作時,當數據量在200~400 MB的區間中,傳輸IO的速率在該數據量下達到峰值,后續操作的時間基本隨著數據量的增加呈線性增加。
4.3.2 增量同步性能測試
增量同步性能測試分單表單行插入的數據同步、單表批量插入的數據同步、4表單行插入的數據同步以及4表批量插入的數據同步4個場景,批量插入的數據條數均為500條。記錄數據在邊緣側提交后,數據完全同步至中心端的數據延遲時間。同步軟件增量同步至云端的時間和嵌入式數據庫增量同步到云端的時間公式如式(1)—(2)所示。
Tq=Ts+Tt+Tw
(1)
TE=Ts+Te+Ti
(2)
式中:Tq為同步軟件增量同步至云端的時間;Ts為查找增量數據時間;Tt為同步傳輸時間;Tw為云端中心庫寫入時間;TE為嵌入式數據庫增量同步到云端的時間;Te為增量數據導出時間;Ti為云端中心庫導入時間。
由于傳統嵌入式數據庫無法完成增量數據查找及選擇,將其取0,嵌入式數據庫增量同步時間約等于從嵌入式數據庫導出等量數據的導出時間加上云端側的導入時間。試驗結果如表1所示,其中表格列表示邊緣側設備嵌入式數據庫和云端關系數據庫數據同步延時。試驗結果表明,同步軟件在進行增量同步時,其效率遠高于傳統數據庫導入導出的方式,500條數據規模情形下,性能提高3倍以上。

表1 增量同步性能測試結果Tab.1 Performance test results of incremental synchronization
本文深入研究云邊協同實時同步系統關鍵技術,提出了一種云邊協同的數據處理架構,對邊緣側智能終端數據實時采集及同步、執行子系統SQL逆向生成、事務篩選及重構、通信消息加解密、同步事務一致性保障等關鍵技術進行研究,實現了一套云邊協同的數據同步解決方案。試驗表明,本方案能有效地實現結構化和多媒體數據的實時同步,滿足終端硬件環境下的應用要求。