龍玉江,鐘掖,甘潤東
(貴州電網有限責任公司信息中心,貴州 貴陽 550002)
智能化電網將信息與通信網絡技術整合,通過先進的傳感網絡實現對數據的實時采集和對電網運行的實時監控,根據電力數據對電網進行動態的調整。在智能化配電站中,電網需要實時地、穩定地對電網數據監控,并及時找出和排除電網中出現的故障問題,從而避免大規模的電力事故發生[1]。由于區塊鏈具有數據的透明性和可靠性,其應用也從單一的貨幣向不同類型的資產進行延伸,試圖通過以創建資產價值的形式記錄每次資產的交易,從而實現更宏觀地對整個市場的去中心化。
當前電力企業中主要以大數據技術對電力數據進行管理,大數據作為能源系統互聯互動以及高度智能的優勢,雖然大數據思維將各類數據信息資源由簡單的處理對象轉變為了生產的基本要素,實現了對電力數據的細粒度采集和存儲,但同時也產生了“數據災難”的問題。以云計算作為電力數據管理的核心存在著數據管理成本高、管理效率低和第三方數據隱私泄露風險高等問題[2]。同時電力企業當前的電力數據無法用社會資源進行實時的共享,從客觀角度看,電力數據成為獨立的一座孤島,進而影響電力數據價值的下降以及軟硬件設備、資源的浪費。而區塊鏈技術具有一定的去中心化、自治性、防泄漏性和公開性等優勢,在運行方式、安全防護等方面與電力數據管理的需要相適應,可以與電力數據形成互補,更能夠滿足電力數據管理的安全可信需求。因此,本文基于區塊鏈技術的優勢開展對電力數據管理架構的研究。
區塊鏈是由區塊有序鏈接起來形成的一種數據結構,其中區塊是指數據的集合,相關信息和記錄都包括在里面,是形成區塊鏈的基本單元。為了保證區塊鏈的可追溯性,每個區塊都會帶有時間戳,作為獨特的標記。具體地,區塊由兩部分組成:(1)區塊頭,鏈接到前面的區塊,并為區塊鏈提供完整性;(2)區塊主體,記錄了網絡中更新的數據信息。
基于區塊鏈技術將電力數據信息記錄在區塊鏈當中,可以實現對電力數據的實時記錄,基于區塊鏈的電力數據管理架構整體設計如圖1所示。

圖1 基于區塊鏈的電力數據管理架構整體設計圖Fig.1 Overall design of power data management architecture based on block chain
由圖1可以看出,區塊鏈的基本結構是由區塊頭和區塊體構成,每個區塊中區塊頭都與上一個區塊通過電力數據信息鏈相連接,形成電力數據信息的鏈式結構。區塊作為電力數據信息的集合,記錄這一段時間范圍內每條電力數據的信息或交易內容[3]。區塊頭用于記錄在電力數據信息鏈鏈接的上一個區塊的散列函數值,保證電力數據的連續性,同時為了保證電力數據管理具有可追溯性,在區塊頭上還記錄每一個區塊中的時間戳。區塊體用于記錄在一定時間范圍內所有的電力數據信息以及交易信息,在區塊鏈中的每一個節點都可以對電力數據進行管理和監督。
電力數據是電網企業內部的數據資產,因此具備嚴格的權限審查機制,無法與公共區塊鏈鏈接并對其進行管理。因此,為了實現對電力數據的共享,需要建立與區塊鏈鏈接的共識機制。首先,在初始化區塊節點上,對區塊鏈上所有[4]的節點進行考核評估,評估內容包括對電力數據的采集積極程度、數據的查漏率以及電網的運營情況等,根據評估結果對各個節點排序,選擇其中前99個節點作為電力數據記錄節點。為了對選出的99個節點區塊進行二次的驗證,保證電力數據的真實性和可靠性,再選擇99個節點之后的30個節點作為對電力數據的監督節點,其余區塊節點作為電力數據管理候選節點[5]。在對電力數據管理的過程中,通過區塊節點的工作運行情況對其信用積分進行實時的更改,定期通過對各個區塊節點所具有的信用積分進行排序,從而完成對新一輪節點的選取。
為解決傳統電力數據管理中信息無法順暢傳遞,導致在傳遞過程中出現數據失真的問題,本文采用扁平的分布式數據管理架構對電力數據進行記錄。通過本文上述區塊鏈的電力數據管理架構模式和共識機制,使得電力數據記錄的整個過程受到區塊鏈結構中所有節點的共同監督。為保證電力數據記錄的準確性以及時效性,還需要電力數據記錄儀輔助完成。選用型號為RTU1560-CN55的電力數據記錄儀,記錄儀中含有Modbus RTU移動通信協議,可進行RS573半雙工通信,數據讀取功能號為0x08,數據寫功能號為0x16,采用32為CRC校驗,在記錄儀當中儀表對于校驗過程中存在錯誤的數據不進行返回操作。RTU1560-CN55型號電力數據記錄儀數據幀格式為:起始位為1;數據位為8;停止位為1;無校驗位。該信號電力數據記錄儀中所有RS573半雙工通信回路均遵守主/從方式。在這樣的方式中,電力數據與信息在單個主站和最多個送站之間形成傳遞關系,但在對電力數據進行傳輸過程需要注意,電力數據不可從一個從站開始通信,只能由主站傳輸。所有RS573半雙工通信電路當中的通信方式都是以打包的形式完成的,一個電力數據包可看作是一個簡單的字符串,每個字符串當中共有8位數字,但一個電力數據包當中可同時容納最多128個字節。由字節和字符串構成的電力數據包應當形成標準的異步串行數據,并按照8為數據位,1位停止位進行傳遞。由主站發送請求,有從站做出響應。
具體的電力數據記錄流程為:
第一步:區塊節點采集本地區域內電網中的電力數據,并將自身的公鑰作為標識,向電力數據記錄節點提交上傳請求;
第二步:當值的電力數據記錄節點對該節點中的公鑰進行校驗,并確定該節點上是否具備對電力數據上傳的權限,并回復、接收上一節點的上傳請求;
第三步:區塊節點利用自身私鑰對電力數據的摘要進行數字化簽名,并利用當值的電力數據記錄節點的公鑰對數據進行加密處理;
第四步:通過當值的電力數據記錄節點私鑰對加密后的電力數據進行解密處理,并利用電力數據上傳節點的公鑰對數據解鎖并數字化簽名,將解鎖后的摘要與原始電力數據的散列函數值比對[6]。確認電力數據由該節點負責上傳,將電力數據的摘要部分存儲在區塊鏈中,加密數據存儲在分布式數據庫中;
第五步:每隔十分鐘,通過當值的電力數據記錄節點對區塊中的電力數據信息進行非對稱加密計算,并將記錄節點中的公鑰標注在區塊頭當中,隨機選擇多個數據監督節點對區塊頭中的數據進行校驗;
第六步:重新生成區塊鏈,并將當值數據記錄節點連接在區塊鏈當中,對下一組電力數據管理。
在一個區塊中,每個電力數據均包含三個基本元素,分別為公鑰、電力數據摘要和元數據信息。公鑰主要用于對上傳的電力數據身份及訪問權限進行識別;電力數據摘要主要用于對電力數據進行非對稱加密計算,用于驗證電力數據存儲是否完整;元數據信息中存儲著電力數據的描述性信息,例如電力數據的生成日期、生成種類等。最后對電力數據包進行功能碼編制,每個電力數據包中的功能碼長度為一個字節,主要用于通知各個從站應當執行的何種操作,并通過相應電力數據包中對應的主站要求,完成相同功能碼字節的操作。功能碼編制可參照如下方式:功能碼0x0300的含有未讀取寄存器,主要功能是讀取一個或多個當前寄存器中的電力數值;功能碼0x0600的含義為寫單寄存器,主要功能是將指定的電力數據數值寫入到對應的單個內部寄存器當中;功能碼0x0900的含義為寫多寄存器,主要功能是將指定的電力數據數值寫入到對應的多個內部寄存器當中。方便在后續的管理中根據不同的類別對電力數據查詢,提高對電力數據的搜索速度。
電力企業當前階段的電力數據傳輸以及交互通常采用傳輸控制協議以及網絡之間互連的協議數據網絡實現,通過傳輸控制協議以及可編程Web編程程序協議進行對數據的傳輸和交互。由于電力數據的共享雙方共同制定了可擴展標記語言的數據傳輸規約,因此在電力數據共享的過程中雙方均需要參照可擴展標記語言數據傳輸規約完成對電力數據的生成以及解析,從而實現對電力數據的交互與共享。同時當前數據加密技術十分成熟,并且能夠有效保障共享的電力數據在傳輸以及交換的過程中的安全條件,為共享雙方提供準確、及時的電力數據信息。因此,本文基于區塊鏈的電力數據管理采用非對稱加密技術對電力數據資源共享,將電力數據共享建立在區塊鏈中,不增加第三方的介入直接對電力數據共享,圖2為電力數據共享的基本流程示意圖。

圖2 電力數據共享基本流程示意圖
在電力數據交易過程中,發送方首先用接收方特定的公鑰對電力數據進行加密處理,從而形成電力數據密文,密鑰由發送方和接收方共同持有[7],且不向第三方透露,保證信息在共享過程中的安全性。同時電力數據通過散列函數計算得到電力數據的摘要,并利用發送方的私鑰對摘要進行簽名。由發送方將電力數據的密文和簽名共同發送到接收方,當接收方收到后,利用發送方的公鑰對簽名和密文進行解密處理,并通過散列函數計算得到電力數據摘要,并將獲取的兩份數據摘要對比,得到完整的電力數據,完成對電力數據的共享。共享數據通過數據記錄的方式在共識機制中得到區塊鏈所有節點的認可后,存儲在區塊鏈中進行管理。
區塊鏈中的每一條電力數據的記錄都是通過公鑰完成確權工作,電力數據中的上傳信息、歸屬信息存儲在哪個區塊節點上都可通過公鑰驗證得出[8]。基于區塊鏈技術的去中心化優勢,在保證不通過第三方的情況下,可完成對電力數據的溯源,通過區塊鏈查詢可找出電力數據的數據源、生成日期等信息。當數據存儲和共享被記錄在區塊鏈中時,無法對其進行篡改,保證數據的完整性和唯一性,防止出現在電力數據共享過程中出現違法造假行為。
在實際應用過程中,某些電力數據的共享為特征數據共享,而非數據公開,而電力數據共享雙方通過簽訂協議約定的方式限制電力數據的使用權限以及使用范圍,雖然本文上述共享方式可以保證電力數據的安全性,但當使用人員有意或無意地公開電力數據源時,則會對源數據的所有者造成嚴重的利益威脅,因此在實際電力數據共享過程中還需要結合電力數據追蹤技術,為電力數據共享提供保障條件[9]。
電力數據的分布面十分廣泛、數據采集節點更多、數據的種類更多且數據間業務關聯性更加復雜,數據的使用方式更加廣泛,因此對于電力企業的電力生產、營銷等帶來便利的同時,也對電網大數據的安全帶來了更多的風險隱患。本文提出的基于區塊鏈的電力數據管理體系還需要增加電力數據安全管理系統[10]。根據電力數據管理的基本模式,提出電力數據安全管理的保障體系,如圖3所示。

圖3 電力數據安全管理保障體系
利用非對稱加密算法,將電力數據中發送方的公鑰加密存放在數據庫中,當有人非法入侵數據庫后,盜取到加密存儲的密文,若沒有該數據的私鑰則無法對密文進行解密處理,防止電力數據的丟失[11]。在區塊鏈子中,每一條電力數據都有備份,并存儲在各個不同的區域中管理,當非法入侵者對單一的數據庫攻擊或破壞不會影響整個數據庫的正常使用和管理。同時基于區塊鏈的存儲結構,以及分布式的管理結構,當電力數據在共享或傳輸的過程中被寫入到區塊鏈中,則任何的改動都會對之后的所有電力數據產生影響,但在區塊鏈的各個節點上都包含一份完整的區塊鏈信息,能夠快速找出被改動的數據的改動記錄,因此,在對區塊鏈中單獨的區塊改動時,無法對整個區塊鏈篡改,保證電力數據的安全管理。
在電力數據傳輸過程中,數據的發送方通過接收方提供的公鑰,首先對數據進行加密處理,只有通過接收方和發送方共有的私鑰才能對加密文件解密[12]。同時在傳輸過程中共享的數據文件是加密文件,并非電力數據本身,因此原始電力數據不會在公共網絡環境中傳播,保證在電力數據傳輸過程中的安全性。
電力數據安全管理保障除上述操作外,還需要額外增加對電力數據保護的解析裝置,從而識別在電力數據傳輸過程中的異常操作行為。在基于區塊鏈的電力數據管理架構中,必須捕獲每個網格當中的全部電力數據。通常情況下,攻擊者為了能夠對控制器的網絡視圖進行修改,會利用所有數據鏈路層當中的OpenFlow網絡通信協議,對電力數據的消息子集進行控制[13]。消息子集當中主要包含的內容為:特征性應答消息、非特征性應答消息、電力流量模式消息、數據包輸入消息等。為了保證配置端點位置得到有效接收,受信人的控制器裝置會使用特征性應答消息指導設備完成對電力數據的轉發。基于此,為了有效提高重要電力數據的安全性,利用數據包解析裝置對具優勢上述特征輸入的電力數據包進行實時、動態監視,提高電力數據管理的安全性傳輸[14-15]。
選擇某電力企業近5年的電力數據信息,并將其引入仿真實驗軟件中,構建虛擬電力數據庫。選用兩臺Windows 10,內存容量為16GB的計算機,模擬電力數據的發送方和接收方。再選用另有一臺Windows 10,內存容量為32GB的計算機,模擬電力數據的傳輸環境[16-22]。利用本文設計的基于區塊鏈的電力數據管理架構方法建立電力數據管理平臺,再利用傳統電力數據管理架構方法建立傳統電力數據管理平臺。隨機選擇1000條電力數據信息,其中500條電力數據信息利用本文管理平臺傳輸,并將其設為實驗組,另500條電力數據信息利用傳統管理平臺傳輸,并將其設為對照組。比較實驗組與對照組在電力數據傳輸過程中的延遲時間。
根據上述實驗準備完成對比實驗,并將實驗過程中產生的數據信息進行記錄,本文對比實驗主要對比內容為本文管理平臺傳輸與傳統管理方法在對電力數據進行管理過程中傳輸的延時時間指標,因此根據對比實驗目的需要,將實驗組與對照組完成傳輸后的延遲時間進行對比,并繪制成如圖4所示的實驗結果對比圖。

圖4 實驗組與對照組實驗結果對比圖
圖4中,顯示了實驗組與對照組兩組電力數據傳輸的響應延遲時間,由圖3中的數據可以看出,當電力數據量增加時,實驗組延遲時間在8~60ms范圍內,對照組的延遲時間在40~150ms范圍內。其主要原因是實驗組區塊鏈提供的服務響應時間與對照組相比較低。因此,通過對比實驗證明,本文提出的基于區塊鏈的電力數據管理架構方法可以有效縮短電力數據在傳輸過程中的延遲時間,提高了管理效率,更進一步降低了對電力數據管理的成本,滿足高效性和安全性的電力數據管理應用,符合現階段電力企業管理的經濟需求,具有更高的應用價值。此外,在基于區塊鏈的電力數據管理體系結構方法中,還涉及了區塊鏈、密鑰等技術。該架構方法的主要目的是使電力企業各項數據存儲和管理的可用性更高,實現實時的數據交互,并保證數據管理的高可擴展性。為進一步促進電力企業各項電力數據管理及電力業務的服務提供條件,與傳統電力數據管理方法相比,其管理結構能夠有效減少電力企業電網設備的使用,增加設備的利用率。實驗結果表明,與傳統集中式云存儲的電力數據管理基礎設施相比,基于區塊鏈的電力數據管理體系結構能夠更有效地將電力企業的全業務數據遷移到云存儲環境中,從而提供更高效的解決方案,同時由于傳統體系結構的效率和有效性,能夠有效地避免網絡和存儲資源開銷。
區塊鏈技術作為一種新的數據庫技術,因其去中心化、公開、透明等特性與電力數據管理的理念相符,在未來電力數據管理中具有廣泛的應用的潛力。本文從區塊鏈技術本身出發,剖析了區塊鏈技術的特點及其對電力數據管理的體現;然后介紹了若干區塊鏈技術在電網數據管理中已有的實踐;并從功能維度、對象維度和屬性維度等對區塊鏈在電力數據管理中的潛在應用進行了歸納總結。總結了未來區塊鏈技術在電力數據管理中可能遇到的挑戰。現階段區塊鏈技術在電力數據管理應用方興未艾,希望本文能夠為電力數據管理研究者對區塊鏈技術及其應用的研究提供參考。