葛光富,姚傳明,夏鑫成,朱立捷,吳 鵬,費 超
(中國電子科技集團公司第二十八研究所,江蘇 南京 210007)
伴隨著物聯(lián)網(wǎng)[1]、車聯(lián)網(wǎng)[2]、船聯(lián)網(wǎng)[3]、飛聯(lián)網(wǎng)[4]等領(lǐng)域的迅猛發(fā)展,邊緣計算技術(shù)不斷取得突破,各類云業(yè)務延展至邊緣,提高了信息系統(tǒng)規(guī)模及其復雜度,為邊緣環(huán)境的數(shù)據(jù)組織運用帶來了挑戰(zhàn)。
綜合考慮軍民用市場,邊緣環(huán)境下有著大量的信息設備用于搭建各中小型信息系統(tǒng),但這些設備的軟硬件資源參差不齊、性能不一,有些甚至較差,其中,終端設備的問題尤為突出,受限的計算、存儲、網(wǎng)絡資源會約束各地能夠集成部署使用的信息服務。為給各類終端設備帶來更多且質(zhì)量有保證的信息服務,可通過集約利用邊緣環(huán)境中如機動車輛、船舶、飛機等的服務器類型設備資源構(gòu)建邊緣云,引接“云”的信息服務能力向網(wǎng)絡邊緣延伸,并就近向“端”提供“云”“邊”信息服務。進一步,能夠滿足高機動場景運用需求,確保邊緣云內(nèi)各服務節(jié)點上任意相同信息服務使用數(shù)據(jù)的實時一致性,支撐各類終端設備適地就近接入邊緣云享用“云”“邊”信息服務,以開展有關(guān)業(yè)務,并兼顧提高資源利用效率和系統(tǒng)可用性。可應用于邊緣環(huán)境高機動條件下的邊緣云內(nèi)數(shù)據(jù)同步技術(shù)成為信息系統(tǒng)軟件服務平臺統(tǒng)籌規(guī)劃中的必要考慮因素。
目前暫未有針對邊緣環(huán)境高機動條件下邊緣云內(nèi)的數(shù)據(jù)同步方法,故統(tǒng)籌設計機動通信網(wǎng)絡條件下邊緣云的云內(nèi)數(shù)據(jù),使其有序同步一致,支撐物理分布邊緣云數(shù)據(jù)、服務等資源的弱連接下高可用,以杜絕因邊緣云的各服務節(jié)點上任意相同信息服務基于數(shù)據(jù)的不一致等帶來的終端應用“云”“邊”信息服務風險,已成為當前信息系統(tǒng)建設所急需。
邊緣云本質(zhì)上是分布在網(wǎng)絡邊緣側(cè),提供實時數(shù)據(jù)處理、分析決策的小規(guī)模云數(shù)據(jù)中心,是由大規(guī)模地域分散的邊緣云節(jié)點相互協(xié)同組成的分布式云。邊緣云與中心云和物聯(lián)網(wǎng)終端形成“云、邊、端三體協(xié)同”的端到端的技術(shù)架構(gòu),通過將網(wǎng)絡轉(zhuǎn)發(fā)、存儲、計算,智能化數(shù)據(jù)分析等工作放在邊緣處理,降低響應時延、減輕云端壓力、降低帶寬成本[5]。
邊緣云的發(fā)展歷程如圖1 所示。1998 年Akamai公司提出了內(nèi)容分發(fā)網(wǎng)絡[6](Content Delivery Network,CDN),它是一種基于互聯(lián)網(wǎng)的緩存網(wǎng)絡,其體現(xiàn)了邊緣計算的基本思想“功能緩存”。2009 年,Satyanarayanan 等人提出了Cloudle[7]的概念,它是一個可信且資源豐富的主機,部署在網(wǎng)絡邊緣且與互聯(lián)網(wǎng)連接[8],可以被移動設備訪問并為移動設備提供服務。2013 年,美國太平洋西北國家實驗室Ryan LaMothe 提出了“edge computing[9]”一詞,這是邊緣計算首次被提出。2018 年,《邊緣云計算技術(shù)及標準化白皮書》正式發(fā)布,逐漸明晰邊緣云計算概念定義。邊緣云[10-11]在許多領(lǐng)域應用較為廣泛,其中面向特定領(lǐng)域的邊緣云在智慧醫(yī)療[12]、云游戲、工業(yè)互聯(lián)網(wǎng)等領(lǐng)域發(fā)展迅速。

圖1 邊緣云發(fā)展歷程
目前,已有諸多云服務提供商打造出了邊緣云產(chǎn)品,如騰訊云物聯(lián)網(wǎng)邊緣計算平臺(IoT Edge Compting Platform,IECP)、阿里云IoT Link Rack、百度云智能邊緣(Baidu IntelliEdge,BIE)、浪潮云行·邊緣云(ICP Edge Cloud,IEC)等。這些邊緣云產(chǎn)品多用于固定有線互聯(lián)通信環(huán)境,不能很好地適用于高機動無線通信環(huán)境。因此,面向高機動環(huán)境的邊緣云一系列技術(shù)亟待突破,包括邊緣云內(nèi)多節(jié)點數(shù)據(jù)并發(fā)有序同步有關(guān)技術(shù)。
邊緣云內(nèi)數(shù)據(jù)同步系統(tǒng)模型中,當多節(jié)點邊緣云內(nèi)任意節(jié)點的數(shù)據(jù)有源自本地的增量變化時,寫入本節(jié)點自增量數(shù)據(jù)記錄表,對照本節(jié)點自增量數(shù)據(jù)同步最近記錄,列出本節(jié)點同步向云內(nèi)數(shù)據(jù)增量要求。據(jù)此,將同步向云內(nèi)對應節(jié)點的所有增量數(shù)據(jù)條目按時序插入對應節(jié)點的同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列;之后,對應節(jié)點的同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列依序分別將若干項增量數(shù)據(jù)條目打包成數(shù)據(jù)增量同步要求,并送達云內(nèi)對應節(jié)點。當邊緣云內(nèi)其他節(jié)點收到數(shù)據(jù)增量同步要求時,向發(fā)送方節(jié)點回復已接收,并將數(shù)據(jù)增量同步要求的所有增量數(shù)據(jù)條目按時序插入本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列。之后,本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列的每項增量數(shù)據(jù)條目依次與本節(jié)點全增量數(shù)據(jù)記錄表比對,決策相應條目數(shù)據(jù)是否本節(jié)點所需寫入的增量,如果是,則寫入相應本地數(shù)據(jù)庫或數(shù)據(jù)文件,以支持完成本節(jié)點數(shù)據(jù)與云內(nèi)的同步一致。系統(tǒng)模型如圖2 所示。
該系統(tǒng)模型中,節(jié)點是邊緣云中能被分配任務執(zhí)行的服務節(jié)點[13]個體;網(wǎng)絡是邊緣云內(nèi)節(jié)點間通信所在網(wǎng)絡[14],主要以無線方式連接,且遵循IP通信標準。各節(jié)點集成部署邊緣云內(nèi)數(shù)據(jù)同步模塊,用于節(jié)點數(shù)據(jù)增量記錄的存儲和查詢,本節(jié)點自增量數(shù)據(jù)發(fā)現(xiàn)、云內(nèi)分發(fā),以及云內(nèi)增量數(shù)據(jù)的接收、同步。
當多節(jié)點邊緣云內(nèi)任意節(jié)點的數(shù)據(jù)有源自本地的增量變化時,將增量數(shù)據(jù)寫入本節(jié)點自增量數(shù)據(jù)記錄表,更新節(jié)點自增量同步云內(nèi)隊列;根據(jù)節(jié)點自增量同步云內(nèi)隊列,分別向邊緣云內(nèi)對應節(jié)點依次分包發(fā)送數(shù)據(jù)增量同步要求。
當多節(jié)點邊緣云內(nèi)其他節(jié)點收到數(shù)據(jù)增量同步要求時,將數(shù)據(jù)增量同步要求按時序插入本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列;之后本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列依次與本節(jié)點全增量數(shù)據(jù)記錄表比對,將本節(jié)點所需云同步增量寫入本地數(shù)據(jù)庫或數(shù)據(jù)文件,以實現(xiàn)本節(jié)點數(shù)據(jù)與云內(nèi)數(shù)據(jù)的同步。
上述系統(tǒng)模型考慮了高機動條件下邊緣云內(nèi)數(shù)據(jù)庫、文件數(shù)據(jù)的節(jié)點間同步,然而暫未有針對該場景下邊緣云內(nèi)數(shù)據(jù)的節(jié)點間有序同步的方法。因此,針對該問題,本文提出一種面向高機動環(huán)境的邊緣云內(nèi)數(shù)據(jù)同步方法。
面向高機動環(huán)境的邊緣云內(nèi)數(shù)據(jù)同步方法包括節(jié)點數(shù)據(jù)自增量發(fā)現(xiàn)和云內(nèi)數(shù)據(jù)增量同步兩個階段,具體如下文所述。
當多節(jié)點邊緣云內(nèi)任意節(jié)點的數(shù)據(jù)有源自本地的增量變化時,寫入本節(jié)點自增量數(shù)據(jù)記錄表,對照本節(jié)點自增量數(shù)據(jù)同步最近記錄,列出本節(jié)點同步向云內(nèi)數(shù)據(jù)增量要求。據(jù)此,將同步向云內(nèi)對應節(jié)點的所有增量數(shù)據(jù)條目,按時序插入對應節(jié)點的同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列;之后,對應節(jié)點的同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列依序分別將若干項增量數(shù)據(jù)條目打包成數(shù)據(jù)增量同步要求,并送達云內(nèi)對應節(jié)點。節(jié)點數(shù)據(jù)自增量發(fā)現(xiàn)過程如圖3 所示。

圖3 節(jié)點數(shù)據(jù)自增量發(fā)現(xiàn)的過程
節(jié)點數(shù)據(jù)自增量發(fā)現(xiàn)包括節(jié)點數(shù)據(jù)自增量日志記錄、節(jié)點自增量同步云內(nèi)要求列出、節(jié)點自增量同步云內(nèi)隊列更新、節(jié)點自增量同步云內(nèi)分包送達4 個階段。
3.1.1 節(jié)點數(shù)據(jù)自增量日志記錄
當多節(jié)點邊緣云內(nèi)任意節(jié)點的數(shù)據(jù)有源自本地的增量變化時,即有本地服務應用系統(tǒng)更改本節(jié)點管理數(shù)據(jù)庫、數(shù)據(jù)文件的數(shù)據(jù),則將節(jié)點數(shù)據(jù)自增量日志(tSelfAdd,DataSelfAddExCode),包括本節(jié)點數(shù)據(jù)自增量發(fā)生時刻、執(zhí)行代碼信息,添加到本節(jié)點自增量數(shù)據(jù)記錄表,該過程表示如下:
式中:tSelfAdd為本節(jié)點數(shù)據(jù)自增量發(fā)生時刻;DataSlfAddExCode為本節(jié)點數(shù)據(jù)自增量執(zhí)行代碼,其涵蓋寫入數(shù)據(jù)庫、數(shù)據(jù)文件路徑,執(zhí)行增加、刪除或修改的數(shù)據(jù)內(nèi)容;DataSelfAddRcdTab為本節(jié)點自增量數(shù)據(jù)記錄表,其中按時序記錄本節(jié)點數(shù)據(jù)自增量的發(fā)生時刻及對應的執(zhí)行代碼。
3.1.2 節(jié)點自增量同步云內(nèi)要求列出
對照本節(jié)點自增量數(shù)據(jù)同步最近時刻記錄表,LastSyncToRcd列出本節(jié)點同步向云內(nèi)數(shù)據(jù)增量要求單如下:
式中:iNode為邊緣云內(nèi)節(jié)點編號,范圍為[1,N],其中N表示邊緣云內(nèi)節(jié)點總數(shù)量;LastSyncToTimeiNode為本節(jié)點向邊緣云第iNode個節(jié)點的同步數(shù)據(jù)最近時刻,即本節(jié)點向邊緣云第iNode個節(jié)點同步數(shù)據(jù)的最近一次同步成功的時刻;LastSyncToRcd為本節(jié)點自增量數(shù)據(jù)同步最近時刻記錄表;SyncToRqList為本節(jié)點同步向云內(nèi)數(shù)據(jù)增量要求單,即要求本節(jié)點向邊緣云內(nèi)對應的iNode個節(jié)點同步LastSyncToTimeiNode之后的數(shù)據(jù)增量。
3.1.3 節(jié)點自增量同步云內(nèi)隊列更新
按照本節(jié)點同步向云內(nèi)數(shù)據(jù)增量要求單SyncToRqList,根據(jù)節(jié)點順序依次更新本節(jié)點同步向云內(nèi)其他各節(jié)點的數(shù)據(jù)增量發(fā)送隊列,其過程如圖4 所示。

圖4 節(jié)點自增量同步云內(nèi)隊列更新的過程
節(jié)點自增量同步云內(nèi)隊列更新的具體步驟為:
(1)同步其他節(jié)點數(shù)據(jù)增量首條查找。逆時序遍歷本節(jié)點自增量數(shù)據(jù)記錄表DataSelfAddRcdTab,從中找到最后一條本節(jié)點數(shù)據(jù)自增量發(fā)生時刻tSelfAdd大于LastSyncToTimeiNode(本節(jié)點向邊緣云第iNode個節(jié)點同步數(shù)據(jù)的最近時刻)的記錄,即為本節(jié)點向邊緣云第iNode(從iNode=1 開始)個節(jié)點的首條增量數(shù)據(jù)條目。
(2)同步其他節(jié)點數(shù)據(jù)增量隊列更新。將本節(jié)點自增量數(shù)據(jù)記錄表DataSelfAddRcdTab中,從同步其他節(jié)點數(shù)據(jù)增量首條開始的所有記錄,按時序追加到對應的第iNode(從iNode=1 開始)個節(jié)點的同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列,該過程表示如下:
式中:iNode為邊緣云內(nèi)節(jié)點編號,范圍為[1,N],其中N表示邊緣云內(nèi)節(jié)點總數(shù)量;LastSyncToTimeiNode為本節(jié)點向邊緣云第iNode個節(jié)點同步數(shù)據(jù)最近時刻;tSel為同步向云內(nèi)節(jié)點數(shù)據(jù)自增量發(fā)生時刻;DataSelExCode為同步向云內(nèi)節(jié)點自增量執(zhí)行代碼;DataSyncSndQueiNode為同步向云內(nèi)第iNode個節(jié)點數(shù)據(jù)增量發(fā)送隊列,包括同步向云內(nèi)第iNode個節(jié)點的按時序存入數(shù)據(jù)自增量的發(fā)生時刻及對應的執(zhí)行代碼。
(3)轉(zhuǎn)到下一個同步其他節(jié)點,重復步驟1和步驟2,直至iNode=N結(jié)束。
3.1.4 節(jié)點自增量同步云內(nèi)分包送達
將本節(jié)點自增量同步云內(nèi)其他各節(jié)點的數(shù)據(jù)增量依次分包送達云內(nèi)對應節(jié)點,其過程如圖5 所示。

圖5 節(jié)點自增量同步云內(nèi)分包送達的過程
節(jié)點自增量同步云內(nèi)分包送達的具體步驟如下文所述。
(1)同步其他節(jié)點數(shù)據(jù)增量等待。等待直至同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列DataSyncSndQueiNode不為空,即存在待送達云內(nèi)對應第iNode個節(jié)點的數(shù)據(jù)增量,轉(zhuǎn)至步驟2。
(2)同步其他節(jié)點數(shù)據(jù)增量分包。在同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列DataSyncSndQueiNode中,按照時序且不超過數(shù)據(jù)增量同步要求包正文大小上限D(zhuǎn)ataSyncSndPackSizemax,選取若干項增量數(shù)據(jù)條目分別打包成數(shù)據(jù)增量同步要求,具體如下:
式中:iNode為邊緣云內(nèi)節(jié)點編號,范圍為[1,N],其中,N表示邊緣云內(nèi)節(jié)點總數(shù)量;LastSyncToTimeiNode為本節(jié)點向邊緣云第iNode個節(jié)點同步數(shù)據(jù)最近時刻;WaitSyncToTimeiNode為本節(jié)點向邊緣云第iNode個節(jié)點的待同步數(shù)據(jù)最近時刻,即本節(jié)點向邊緣云第iNode個節(jié)點發(fā)起準備同步數(shù)據(jù)的最近一次的時刻;tSnd為送達云內(nèi)節(jié)點數(shù)據(jù)自增量發(fā)生時刻;DataSndExCode為送達云內(nèi)節(jié)點自增量執(zhí)行代碼;DataSyncSndPackiNode為送達云內(nèi)第iNode個節(jié)點的數(shù)據(jù)增量同步要求,包括送達云內(nèi)第iNode個節(jié)點的按時序存入數(shù)據(jù)自增量的發(fā)生時刻及對應的執(zhí)行代碼。
(3)同步其他節(jié)點數(shù)據(jù)增量發(fā)送。將數(shù)據(jù)增量同步要求DataSyncSndPackiNode發(fā)送至云內(nèi)第iNode個節(jié)點,其中要求接收方做接收確認回復。
(4)同步其他節(jié)點數(shù)據(jù)增量接收應答。邊緣云內(nèi)第iNode個節(jié)點收到數(shù)據(jù)增量同步要求DataSyncSndPackiNode時,向發(fā)送方節(jié)點回復數(shù)據(jù)增量同步要求已接收確認消息,消息內(nèi)容包括已接收確認的報文序列號。
(5)同步其他節(jié)點數(shù)據(jù)增量記錄更新。當本節(jié)點收到數(shù)據(jù)增量同步要求接收方(即云內(nèi)第iNode個節(jié)點)回復的數(shù)據(jù)增量同步要求已接收確認消息時,在本節(jié)點自增量數(shù)據(jù)同步最近時刻記錄表LastSyncToRcd中更新本節(jié)點向邊緣云第iNode個節(jié)點同步數(shù)據(jù)最近時刻LastSyncToTimeiNode。
(6)當同步向云內(nèi)節(jié)點數(shù)據(jù)增量發(fā)送隊列DataSyncSndQueiNode不為空時,重復步驟(2)至步驟(5),否則轉(zhuǎn)至步驟(1)。
當邊緣云內(nèi)其他節(jié)點收到數(shù)據(jù)增量同步要求時,向發(fā)送方節(jié)點回復已接收,將數(shù)據(jù)增量同步要求的所有增量數(shù)據(jù)條目按時序插入本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列。之后,本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列的每項增量數(shù)據(jù)條目依次與本節(jié)點全增量數(shù)據(jù)記錄表比對,決策相應條目數(shù)據(jù)是否是本節(jié)點所需要寫入的增量,如果是,則寫入相應本地數(shù)據(jù)庫或數(shù)據(jù)文件,以實現(xiàn)本節(jié)點數(shù)據(jù)與云內(nèi)的同步一致。云內(nèi)數(shù)據(jù)增量同步過程如圖6 所示。

圖6 云內(nèi)數(shù)據(jù)增量同步的過程
云內(nèi)數(shù)據(jù)增量同步包括同步自云內(nèi)數(shù)據(jù)增量處理隊列更新、同步自云內(nèi)數(shù)據(jù)增量按需寫入同步兩個階段。具體介紹如下:
(1)同步自云內(nèi)數(shù)據(jù)增量處理隊列更新。當邊緣云內(nèi)第iNode個節(jié)點收到數(shù)據(jù)增量同步要求DataSyncSndPackiNode時,在向發(fā)送方節(jié)點回復數(shù)據(jù)增量同步要求已接收確認消息的同時,將收到的數(shù)據(jù)增量同步要求DataSyncSndPackiNode的所有增量數(shù)據(jù)條目按時序插入相應本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列,該過程表示如下:
式中:LastSyncExTime為本節(jié)點同步自云內(nèi)數(shù)據(jù)增量最近執(zhí)行時刻;tEx為本節(jié)點同步自云內(nèi)數(shù)據(jù)增量執(zhí)行時刻;DataRcvExCode為本節(jié)點同步自云內(nèi)數(shù)據(jù)增量執(zhí)行代碼;DataSyncRcvQue為本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列,包括本節(jié)點同步自云內(nèi)數(shù)據(jù)增量按時序的執(zhí)行時刻及對應的執(zhí)行代碼。
(2)同步自云內(nèi)數(shù)據(jù)增量按需寫入同步。本節(jié)點同步自云內(nèi)數(shù)據(jù)增量處理隊列DataSyncRcvQue的每項增量數(shù)據(jù)條目(tEx,DataRcvExCode)依次與本節(jié)點全增量數(shù)據(jù)記錄表DataAllAddRcdTab中所有已增量數(shù)據(jù)條目比對,如果未查找到,則表明對應條目增量數(shù)據(jù)是本節(jié)點所需寫入的增量,將其相應寫入本地數(shù)據(jù)庫或數(shù)據(jù)文件,并將對應增量數(shù)據(jù)條目按時序插入更新本節(jié)點全增量數(shù)據(jù)記錄表,該過程表示如下:
式中:tAllAdd為本節(jié)點數(shù)據(jù)全增量發(fā)生時刻;DataAllAddExCode為本節(jié)點數(shù)據(jù)全增量執(zhí)行代碼;DataAllAddRcdTab為本節(jié)點全增量數(shù)據(jù)記錄表,其中按時序記錄本節(jié)點數(shù)據(jù)全增量的發(fā)生時刻及對應的執(zhí)行代碼。
按照本文方法使用C++語言編寫邊緣云內(nèi)數(shù)據(jù)同步程序,結(jié)合運用邊緣云聚云散軟件[15],并在不同外部無線通信帶寬環(huán)境下對其進行數(shù)據(jù)同步仿真模擬性能試驗。分別在環(huán)境無線帶寬為2 Mbit/s、8 Mbit/s、100 Mbit/s、1 000 Mbit/s 的情況下,依次仿真模擬邊緣云內(nèi)數(shù)據(jù)同步并設定帶寬可用率為0.5,增量同步數(shù)據(jù)長度為1 000 字節(jié),邊緣云內(nèi)節(jié)點數(shù)為10 個。同時,IP 協(xié)議頭長度為20 字節(jié),UDP 報文頭長度為8 字節(jié),報文序列號字段、增量同步數(shù)據(jù)長度字段、報文確認號字段的長度均為4 字節(jié)。進而可得,增量同步數(shù)據(jù)發(fā)送報大小=20+8+4+4+1 000=1 036 字節(jié),增量同步數(shù)據(jù)接收確認報大小=20+8+4=32 字節(jié);增量數(shù)據(jù)同步發(fā)送報傳輸用時=(增量同步數(shù)據(jù)發(fā)送報大小×8 bit)÷(環(huán)境無線帶寬×帶寬可用率×1 048 576 bit)×1 000 000 μs,增量同步數(shù)據(jù)接收確認報傳輸用時=(增量同步數(shù)據(jù)接收確認報大小×8 bit)÷(環(huán)境無線帶寬×帶寬可用率×1 048 576 bit)×1 000 000 μs;邊緣云內(nèi)數(shù)據(jù)同步用時=(增量數(shù)據(jù)同步發(fā)送報傳輸用時+增量同步數(shù)據(jù)接收確認報傳輸用時);邊緣云可增量同步數(shù)據(jù)量=(環(huán)境無線帶寬×帶寬可用率×1 048 576 bit)÷(8×(邊緣云內(nèi)節(jié)點數(shù)-1))-(增量同步數(shù)據(jù)接收確認報大小+增量同步數(shù)據(jù)發(fā)送報大小-增量同步數(shù)據(jù)長度)字節(jié)/s。具體數(shù)據(jù)及仿真試驗結(jié)果如表1 所示。邊緣云內(nèi)數(shù)據(jù)同步的過程中,本地計算時間包括增量同步數(shù)據(jù)發(fā)送報、增量同步數(shù)據(jù)接收確認報的封裝發(fā)送、接收解析時間,可忽略不計。

表1 仿真參數(shù)設置與仿真結(jié)果
由仿真結(jié)果可知,在環(huán)境無線帶寬為2 Mbit/s、8 Mbit/s、100 Mbit/s、1 000 Mbit/s 的條件下,邊緣云內(nèi)數(shù)據(jù)同步為8 148.19 μs、2 037.05 μs、162.96 μs、16.30 μs,邊緣云可增量同步數(shù)據(jù)量對應為14 495 字節(jié)/s、58 186 字節(jié)/s、728 109 字節(jié)/s、7 281 709 字節(jié)/s。因此,本系統(tǒng)可以適配各種帶寬條件,極速、便捷完成千數(shù)量級以上字節(jié)數(shù)據(jù)的邊緣云內(nèi)同步,并且既可以支持邊緣云內(nèi)數(shù)據(jù)的節(jié)點間動態(tài)高可用同步,又可以實現(xiàn)邊緣云內(nèi)數(shù)據(jù)同步面向高機動環(huán)境的場景運用,應用的范圍更加廣泛且有助于提高系統(tǒng)邊緣服務的穩(wěn)定性及效能。此外,如圖7 所示,本文方法可支持通過邊緣信息基礎設施平臺[16]監(jiān)視邊緣云內(nèi)數(shù)據(jù)同步的狀態(tài),能夠為上層信息服務系統(tǒng)實時掌握其節(jié)點間數(shù)據(jù)同步的狀況提供依據(jù)。

圖7 邊緣云內(nèi)數(shù)據(jù)同步
本文研究了運用機動弱連接通信條件下的多節(jié)點并發(fā)有序同步技術(shù),提出了面向高機動環(huán)境的邊緣云內(nèi)數(shù)據(jù)同步系統(tǒng)。本文所提系統(tǒng)在邊緣環(huán)境高機動條件下,可隨多節(jié)點邊緣云內(nèi)任意節(jié)點源自本地的數(shù)據(jù)增量變化,將增量數(shù)據(jù)條目依序分包送達云內(nèi)其他節(jié)點執(zhí)行同步寫入,以完成邊緣云內(nèi)各節(jié)點數(shù)據(jù)的實時同步一致。本文所提系統(tǒng)使用方法不但支持邊緣云內(nèi)數(shù)據(jù)的節(jié)點間動態(tài)高可用同步,而且可以實現(xiàn)邊緣云內(nèi)數(shù)據(jù)同步面向高機動環(huán)境的場景運用,可支撐邊緣云平臺環(huán)境確保邊緣云內(nèi)各服務節(jié)點上任意相同信息服務基于數(shù)據(jù)的實時一致性,為各類終端設備隨遇享用“云”“邊”數(shù)據(jù)、信息、服務資源,提供邊緣云內(nèi)“數(shù)據(jù)一致”增效劑,可支撐機動車輛、船舶、飛機等業(yè)務信息系統(tǒng)的隨遇連接并訪問使用邊緣云上的數(shù)據(jù),有助于提高系統(tǒng)邊緣服務的穩(wěn)定性及效能。