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