面向能源互聯網的數據一致性框架
近年來,以可再生能源、分布式發電等為代表的新能源技術和以云計算、大數據、移動互聯網等為代表的信息技術迅猛發展,推動了以能源互聯網為核心的第三次工業革命在世界范圍內的起步。
作為新能源技術與互聯網技術深度融合的產物,能源互聯網將可通過分布式智能能量管理系統對分布式能源設備進行廣域協調控制,最終實現成為多能互補、用能高效的能源系統。
由于可再生能源與互聯網均具有分布式、廣域覆蓋等共性特征,能源互聯網可以借鑒互聯網的理念、方法與技術進行建設。從實現方式上,能源互聯網的建設必將以新能源技術與面向互聯網的信息支撐技術的深度融合為主要手段,這主要包括物理和信息兩個層面上的內容:在物理層面上,它要求構建能源互聯網物理架構的能源信息一體化基礎設施,結合信息網絡架構的相關理念,為信息領域先進計算機技術在新能源領域充分、高效的運用提供基礎環境,其實例就是能源路由器的提出與實現;在信息層面上,需要通過對分布式能源數據的同步、一致性處理,為面向能源流的智能決策和優化調度提供協調支撐。由于能源、信息及其基礎設施的廣域分布特征,結合大規模部署的云存儲、計算平臺進行能源信息數據的存儲與處理,為其頂層可再生能源的生產、傳輸與消納提供了有效的信息支撐手段,這也是當前世界各國構建能源互聯網原型、實現能源信息融合所采取的共有方式。
大規模部署的云架構盡管能夠高效地整合物理資源,為新能源管控提供強大的信息數據處理能力,但是為了進行分布式能量的智能管理和能源設備的協調控制,進而支撐可再生能源綜合管理、優化存儲、統一調度,面向能源信息融合的云架構必須在大規模范圍內支持能源數據的廣域共享與協同處理。為了實現這一目標,要求云架構能夠對數據位于不同云端節點服務器的多份副本進行一致的復制和高效的同步,這在廣域環境下是一個極具挑戰性的問題:雖然數據副本的復制與同步可以通過傳統的復制狀態機來實現,但在廣域環境下卻很難在為所復制的數據提供強一致性的同時保證其高效的性能,原因是廣域鏈路的帶寬和延遲是妨礙這兩個指標同時達到的瓶頸,已有的解決方案往往都在這兩者之間進行權衡。
本文以能源互聯網的信息物理架構為基礎,探討如何設計適應于這一架構的數據一致性框架,使其在保證能源信息副本一致性的同時提供高性能的表現,從而有效支撐未來能源互聯網頂層分布式能源、信息的共享與協調。
1、能源互聯網中的數據同步與一致性
1.1 能源互聯網信息物理架構
能源互聯網借鑒互聯網理念自底向上構建能源基礎設施,通過微電網等類似能量自治單元的開放對等互聯和信息能量融合分享,增加分布式可再生能源的靈活接入和就地消納。從物理結構上,微電網、分布式能量等能量自治單元作為能源互聯網的基本組成元素,通過新能源發電、微能源的采集、匯聚與分享以及微電網內的儲能或用電消納形成能源互聯網中的“局域網”;在此基礎上,能源互聯網作為分布式能源的接入形式,通過開放對等的信息能源一體化架構來連接任意規模分布式能源,并完成能源(電能)的雙向按需傳輸和動態平和使用“廣域網”。大電網憑借在傳輸效率等方面無法比擬的優勢仍是能源互聯網中的“主干網”。
圖1描述了一個基于能源路由器構建的能源互聯網典型場景,其能源物理架構實現了對信息與能源基礎設施的一體化融合。該場景包含了一個大電網和三個微電網。作為“局域網”的微電網是能源互聯網中的基本單元,其供電由分布式能源和大電網共同支撐。能量路由器是連接各微電網“局域網”之間、“局域網”與“廣域網”之間的核心部件,提供了能源質量監控調配、信息數據通信共享、資源維護管理等功能。
建立各組成單元間能源傳輸、信息交互的高效通道,是未來能源互聯網實現能源供給和消費均衡的需求。靈活而健壯的網絡拓撲結構能夠在可擴展性、安全性等方面擁有突出優勢,其優化配置與部署是支撐能源互聯網優化運行的基礎。圖1中的能源物理架構采用了層次化(樹形)的結構。
這種結構具有的優勢是:
一方面,當前已有的骨干大電網可作為未來能源互聯網骨干線路的選擇,能源與信息耦合的配送網絡還可為構建能源互聯網提供便利;
另一方面,分區域建設的配變設施天然地適應該結構的需求,方便了能源互聯網的構建。
1.2 基于多數據中心的云端數據同步與一致性
在信息與能源基礎設施一體化過程中,為實現能源互聯網靈活的數據采集、存儲和分析,支持設備監測運維、電能市場交易、互動服務、需求響應等多種高級應用,采用具備虛擬化、高可用、按需分配、彈性可擴展的云架構是極具有效性、高效能的選擇。在信息層面上,云端架構以能源路由器為主要渠道,將獲取的能源設施、用戶用電、環境信息和系統運行狀態等大數據進行存儲和計算,從而支撐頂層云端應用系統的高效數據分析與價值挖掘,為供電、調度、用電提供決策支持。
從圖1可知,融合了能源和信息基礎設施的信息能源一體化架構在能源信息的存儲與處理上依賴于云架構的支持,而支持用戶、設備、系統隨時隨地接入和分布式調度的云端架構實際上是以數據中心為核心,并通過信息網絡實現互聯和交互。云架構針對每個微電網形成的能源“局域網”都部署了一個獨立的數據中心。每個數據中心內部通過局域信息網絡將其數量眾多的服務器連接在一起,而多個數據中心之間則通過連接到骨干網的廣域鏈路進行交互,相互協同、共享,為云應用提供強大的計算和存儲能力。
為了支持大規模范圍內分布式能源數據的廣域共享與協同處理,需要云架構能夠將分布于不同數據中心的節點服務器上的多份副本進行一致的復制和高效的同步。在傳統的異步、分布式、局域環境下,副本間的復制與同步可以通過復制狀態機來實現。復制狀態機的目標是使一組可能發生故障的分布式副本以相同的順序執行相同的請求。只要所有副本都從相同的初始狀態開始,并且被復制的服務是確定性的,則所有非故障副本將可以通過執行相同的狀態序列來保證分布式副本間的狀態同步。從這一角度而言,多份副本間的復制與同步實際上是通過它們對序列每個位置上相應請求的一致性協商來實現的,副本數據所對應的這種一致性具有明確的技術規范。
paxox是用于實現復制狀態機的、最流行的一致性協議,它用n≥2f+1(n為副本數
)來容忍f個潛在的副本故障。通過在請求序列的每個位置上運行一個paxos實例,非故障副本將最終在該位置上得到協商一致的一個請求,因此,paxos可以被視為一個基于定序器的協議。按照paxos的術語,定序器被稱為leader。從宏觀的角度,一個使用paxos的復制狀態機的執行按一系列paxos實例向前推進,即:
①在穩定狀態中,客戶端將請求發送給一個被選為leader的副本。propose將該請
求作為提案,并通過犘狉狅狆狅狊犲消息來協調所有非故障副本。如果犘狉狅狆
狅狊犲消息得到某個副本多數集(即2犳+1個副本以上)的確認并且犾犲犪犱犲狉收到它們的犪犮犮犲狆狋消息,則犾犲犪犱犲狉認為請求在多數副本間被商定,隨后犾犲犪犱犲狉將商定的請求告知所有副本,所有副本就可以安全地執行該請求。最后,收到客戶端請求的副本在執行請求后向客戶端發送一個應答。
②當某個非犾犲犪犱犲狉副本懷疑犾犲犪犱犲狉已經失效時,它通過獲得那些它認為命令尚未被提交的實例的所有權而嘗試成為新的犾犲犪犱犲狉。為此,它發送犘狉犲狆犪狉犲消息給副本的至少一個簡單多數集合。通過從副本多數集合收到的犃犮犽狀狅狑犾犲犱犵犲反饋,犾犲犪犱犲狉將獲得在下一階段可安全提出的提案值。以上針對穩定狀態和犾犲犪犱犲狉失效的兩個輪次執行的犘犪狓狅狊協議就是復制狀態機的核心。
雖然局域環境下副本間的復制與同步可以通過復制狀態機來實現,但是在跨多個數據中心的廣域云架構下,為數據副本同時提供強一致性而同時保證高性能同步是一個困難的問題。這主要是由廣域環境下保持副本強一致性需面對的兩個制約因素決定的:犪)廣域消息的高延遲傳輸。復制的執行通常是基于消息交換的,其性能受廣域網絡帶寬和延遲的顯著影響。在跨多個數據中心的副本間執行時所受影響尤甚。犫)不均衡的鏈路依賴。以犾犲犪犱犲狉為中心的犘犪狓狅狊由于其安全性和活性而成為實現復制狀態機最受歡迎的協議。不過,由于唯一犾犲犪犱犲狉的存在,只有與犾犲犪犱犲狉處于相同數據中心的副本才會只通過局域網與其通信,而其他數據中心的副本則主要通過廣域網與其通信,這使犾犲犪犱犲狉所在局域網大部分時間均處于空閑狀態。這種不均衡的鏈路依賴關系極大制約了復制與同步的性能。
2、面向能源互聯網的數據一致性框架
2.1 系統模型
本節對面向能源互聯網、基于數據中心構建的云端架構進行建模,以便更清晰而有針對性地對將提出的框架進行描述。
面向能源互聯網的、基于數據中心的云端架構可以被建模為由廣域網互聯的犿(犿3
)個數據中心,每個數據中心都包含一組共犇犻(犇犻≥3,犻=1,2,…,犿)臺用于存放能源信息數據副本的服務器。支持上層應用的能源大數據在所有服務器上
均復制了相同的一份副本并進行一致性的讀寫,以便位于能源互聯網廣域范圍內不同位置的應用客戶端可以快速地、同步地訪問相同的數據。
根據現實中網絡鏈路的建設方式,面向不同微電網“局域網”的數據中心之間通過廣域網絡連接,這些連接可以被建模為兩兩獨立連接的一組鏈路,它們的通信通常是延遲受限的;而位于相同微電網“局域網”的數據中心內部的服務器之間則通過局域網絡連接,這些連接可以被建模為共享帶寬的一組鏈路,它們的通信往往是帶寬受限的。
2.2 框架概覽
在上述系統模型的基礎上為上層應用的快速訪問提供一致的共享副本,就必須面向此模型設計一個能夠提供高效資源利用和較高整體性能的復制狀態機。在一個復制狀態機中,如果針對副本的訪問請求的全排序任務可以被劃分為多個并行處理的部分排序子任務,且在所有服務器上執行一次全排序的開銷遠大于在部分服務器上執行部分排序子任務的開銷,則通過將全排序任務劃分為多個并行執行子任務將是一個有效的解決方案。
多臺服務器可以執行一個局部一致性協議從而構建一個局部復制狀態機,實現對訪問請求的部分排序,形成部分有序的請求序列。局部復制狀態機可以被視為一個邏輯實體。多個局部復制狀態機可以一起運行一個全局一致性協議,進一步構建一個全局復制狀態機,最終實現對所有部分有序請求序列的全排序。這種設計方式的好處在于,當需要在全局一致性協議的執行過程中等待廣域范圍內的反饋消息時,局部一致性協議可以繼續執行對本地請求的部分排序,從而壓縮各個副本空閑等待的時間。副本同步過程中采用的上述一致性協調架構與過程形成了一個數據一致性框架。在上文能源互聯網典型場景下的數據一致性框架如圖2所示。
實際上,云架構中通常包含不止3個數據中心。如上一節的假設,數據中心的個數為犿(犿≥3),每個數據中心均包含犇犻≥3臺服務器。在數據一致性框架中,每個局部復制狀態機都作為一個邏輯實體。這些邏輯實體之間運行一個全局一致性協議以完成彼此間對部分有序請求序列的全局一致性協調,從而實現一個全局復制狀態機。
具體實現在:
①一個局部復制狀態機實際上扮演了全局一致性協議的一個角色,角色動作的具體執行是由某個物理對象作為代表完成的。在該局部復制狀態機中,該物理對象是某臺被選中的副本服務器,它被稱為代理服務器。
②全局一致性協議排序的對象是由某個局部復制狀態機部分排序形成的部分有序請求序列,而不是來自某個應用客戶端的單個請求。
③不論是局部復制狀態機還是全局復制狀機都必須遵循復制狀態機實現必須滿足的終止、有效、完整和一致性。
2.3 框架中的一致性協議
在異步消息、非致命故障和采用最終完美的故障檢測器的情況下,數據一致性框架為協調執行其局部復制狀態機和全局復制狀態機而對每個數據中心進行了初始化,每個數據中心都預先選擇其中的某臺服務器作為代理服務器。選舉可以通過犾犲犪犱犲狉選舉算法完成。
直觀而言,數據一致性框架中的一致性協議包含了分別實現局部復制狀態機和實現全局復制狀態機的兩個階段:每個數據中心內的部分排序階段(運行局部一致性協議)和所有數據中心間的全排序階段(運行全局一致性協議)。為了使框架中的一致性協議高效運行,這兩個階段必須遵循如下約束規則:
規則A:每臺代理服務器同時扮演三種不同角色。
首先,它作為局部一致性協議實例的局部協調者,在部分排序階段中在本地執行指定數量的實例,從而產生部分有序的請求序列;
其次,它作為全局一致性協議實例的全局接受者,參與全排序階段中全局一致性協議實例的協調;
最后,所有代理服務器在多個全局排序階段中輪流作為全局一致性協議實例的全局協調者,協調全排序階段中的全局一致性協議實例,獲得全局有序的請求序列。
規則B:當某臺代理服務器輪到擔任全局協調者并啟動一個全局一致性協議實例時,其他所有的代理服務器一致同意該代理服務器作為該實例的默認協調者并從它已經為某個初始輪次狉運行過階段1(類似于犘犪狓狅狊實例的階段1)的狀態開始,即它們承諾不在任何小于狉的輪次中接受任何請求。
規則C:針對全局一致性協議實例定義了兩種類型的提案。一種是非空的部分有序請求序列,另一種是空序列(代表保持數據不被改動并且不產生任何響應的請求)。規則要求,在執行全局一致性協議實例時,只有被分配了某個全局一致性協議實例的默認代理服務器才能提出非空的部分有序請求序列,其他的非默認的代理服務器在該實例中只能提出空序列。
根據上述規則,數據一致性框架中的一致性協議可以按照如下的兩個階段在所有數據中心交替執行:
a)數據中心內的部分排序階段。它包括:
①各臺代理服務器作為局部協調者持續接收來自應用客戶端的請求。
②每臺代理服務器執行多個局部一致性協議實例。執行后形成的部分有序請求序列
被寫入本地穩定存儲,并作為代理服務器協調的下一個全局一致性協議實例的提案。
b)數據中心間的全排序階段。它包括:
①根據規則A,某臺代理服務器輪到擔任全局協調者。
②根據規則B和C,全局協調者將部分排序階段形成的部分有序請求序列作為提案,發送給所有其他數據中心的代理服務器,并等待來自規定數量(半數以上)全局接受者的響應。
③當收到來自全局協調者的提案時,全局接受者將該消息記錄到穩定存儲,并檢查其是否滿足安全性約束條件,即:該數據中心尚未針對該全局一致性協議實例接受具有
更高輪次編號的提案;并且全局接受者將提案轉發給本數據中心內的其他所有服務器并得到規定數量服務器的確認響應。如果條件滿足,局部接受者就向全局協調者發回一個接受響應;否則,它不作出任何響應。
④一旦收到來自規定數量全局接受者的接受響應,全局協調者即獲悉其提案被選中,并通過廣播消息告知所有代理服務器,這些代理服務器則將該消息轉發給其所在數據中心內的其他所有副本服務器。
框架中一致性協議的執行流程是直觀的,即所有數據中心都輪流執行各自的全局排序階段,而在每個數據中心未輪到協調其全局排序階段時,則利用參與廣域協調時廣域消息傳播形成的空閑時間執行其部分排序階段。這使數據中心內部的空閑服務器資源和局域鏈路帶寬得到更高效的利用,從而使整體上獲得了較高的請求排序效率。
在云架構的實際運行過程中,數據中心的鏈路可能斷開,而被選中的代理服務器也可能發生臨時故障。在這些情況下,協議的有效運行必須通過相應的故障處置措施來得以保證。數據一致性框架針對這些情況設置了相應的處置措施:
措施A:當某個代理服務器發生故障或被錯誤懷疑發生了故障時,其所在數據中心通過重選舉算法選舉新的代理服務器,新的代理服務器通過詢問該數據中心的其他副本服務器并獲取相應的反饋來恢復此前發生故障的代理服務器所處的狀態。
措施B:當某個數據中心發生故障時,允許其他數據中心代替它繼續完成分配給該故障數據中心的全局一致性協議實例,作為替代的全局協調者收集來自其他代理服務器的響應。如果它收到法定數量代理服務器的一個非空的有序請求序列,則它將該序列作為提案提出,否則,它將提出空序列(根據規則犆)。
措施C:當某個數據中心被錯誤地懷疑發生了故障時,如果其為某個全局一致性協議實例提出了一個非空的有序請求序列,但卻獲知空序列被選中了,則它被允許在此后重新提出該非空的有序請求序列。
3、仿真結果
本節通過在Emulab上搭建的仿真環境對面向能源互聯網的云架構數據一致性框架進行了性能評估。Emulab是一個可用于仿真大規模云架構的公共框架和實驗設施,具有良好的控制能力和易用性,同時又具有較好的模擬真實性。
3.1 仿真設置
為了方便性能的比較與評估,仿真實驗將運行本文所述一致性協議的數據一致性框架與分別運行犕狌犾狋犻犘犪狓狅狊和犕犲狀犮犻狌狊協議的普通復制狀態機在吞吐量和可擴展性方面進行了比較。仿真實驗給各個協議都施加了同樣足夠大的處理壓力,這是通過為它們提供足夠多的應用客戶端請求來實現的。能源互聯網應用被構造成一種只接受客戶端請求而保持數據狀態不變的簡單服務。針對不同的仿真實驗目的模擬了不同的配置環境。在配置最多的情況下,配置包含了5個數據中心,每個數據中心包含10到15臺副本服務器。相同數據中心內的所有服務器通過一個延遲為025犿狊、有效帶寬為920犕犻犫犻狋/狊的局域網絡相連,所有數據中心則通過一個延遲為150犿狊、有效帶寬為945犕犻犫犻狋/狊的廣域網絡相連。此外,每個數據中心還有一臺用以發送應用客戶端請求的服務器,請求的粒度是可配置的。
3.2 數據一致性處理的吞吐量
本節研究數據一致性框架相比較于普通復制狀態機而言對吞吐量的提升程度。實驗在3個數據中心進行,每個數據中心有10臺副本服務器的配置,并采用了2048犅
、512犅和128犅的請求粒度。如圖3所示。
由圖3可知,不論采用哪種請求粒度,數據一致性框架的峰值吞吐量均優于其他兩種協議的峰值吞吐量。數據一致性框架的峰值吞吐量在請求粒度為128犅時,可以達到約4590個/狊的峰值吞吐量。這分別是運行了犕狌犾狋犻犘犪狓狅狊和犕犲狀犮犻狌狊的普通復制狀態機的347倍和123倍。運行犕狌犾狋犻犘犪狓狅狊的普通復制狀態機由于其唯一的犾犲犪犱犲狉受制于不均衡的鏈路依賴,其峰值吞吐量最低。運行犕犲狀犮犻狌狊的普通復制狀態機通過使更多服務器分攤協調負載來獲得較高的峰值吞吐量,但這也意味著在仿真的廣域環境下需要傳遞更多的消息,從而限制了其性能的進一步提升。
相比之下,本文提出的數據一致性框架通過在每個數據中心上劃分不同的執行階段(部分排序階段和全排序階段),并結合輪轉協調者方式來高效地利用數據中心間固有的廣域傳播高延遲而形成的空閑時間和帶寬資源。部分排序階段形成的有序請求序列可以在全排序階段作為數據中心間的請求處理批次,從而提高了廣域消息協調的效率;而輪轉協調者機制則以邏輯流水線方式進一步提高了數據一致性框架的峰值吞吐量。
3.3 框架的可擴展能力
為了適應未來能源信息量的激增,面向能源互聯網的云架構必須具備良好的可擴展性能。這意味著支撐云架構的數據一致性框架處理應用客戶端請求的能力能夠在數據中心或副本服務器數量增加的情況下不受到顯著的影響。仿真實驗通過在一組不同的配置下用普通復制狀態機和數據一致性框架分別處理相同粒度的請求個數并記錄其吞吐量來比較其可擴展性。
如圖4所示,盡管所有解決方案在總副本數增加(或者增加數據中心數量,或增加每個數據中心內副本服務器數量)的情況下受到負面影響,不過,本文提出的數據一致性框架所受到的負面影響明顯地小于分別運行犕狌犾狋犻犘犪狓狅狊和犕犲狀犮犻狌狊的兩個復制狀態機所受到的影響。在數據中心數量增加或者每個數據中心內副本服務器數量增加的情況下,運行犕狌犾狋犻犘犪狓狅狊和犕犲狀犮犻狌狊的復制狀態機的性能下降,在這兩種情況下服務器的總數都增加,這種結果導致了犕狌犾狋犻犘犪狓狅狊和犕犲狀犮犻狌狊中對請求一致性進行協調所需的法定數量集數量的增加和協調消息交互的復雜性提高,從而影響了復制狀態機的吞吐量表現。相比較之下,數據一致性框架的吞吐量在數據中心數量增加的情況下降低了2%,而在每個數據中心內服務器數量增加的情況下幾乎維持不變。對于前者而言,由于每個數據中心內服務器數量增加,對共享的局域帶寬的爭用發生惡化,從而導致部分排序階段形成的有序請求序列長度減少并進而影響框架的整體吞吐量;對于后者而言,數據一致性框架的吞吐量水平得以維持主要是因為:當數據中心內副本服務器數量不變的情況下,數據中心數量的增加一方面增加了每個代理服務器在全排序階段與其他數據中心間協調通信的獨立廣域鏈路的可用總帶寬增加,另一方面也使得代理服務器輪轉協調全排序階段的周期延長了,這意味著每個數據中心可用于部分排序階段形成部分有序序列的時間增加了。這兩個方面的正面影響在極大程度上抵消了副本數增加造成協調消息數量增加的負面影響。
4、結束語
結合能源互聯網典型場景下的配置,數據一致性框架在保證數據強一致性的同時體現了良好的吞吐量和可擴展性,是解決能源信息數據同步共享與一致性處理的一種有效的解決方案。今后的研究方向主要是將數據一致性框架與實際的能源互聯網項目相結合,并對其采用的一致性協議進行針對性的擴展和改進,以驗證它們在現實場景中的有效性與適應性。
責任編輯:滄海一笑
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網
-
新基建助推 數據中心建設將迎爆發期
2020-06-16數據中心,能源互聯網,電力新基建 -
泛在電力物聯網建設下看電網企業數據變現之路
2019-11-12泛在電力物聯網 -
泛在電力物聯網建設典型實踐案例
2019-10-15泛在電力物聯網案例
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業發展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網 -
5G新基建助力智能電網發展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市