• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      配電物聯(lián)網(wǎng)臺區(qū)邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制

      2022-07-12 00:12:46岑伯維胡春潮蔡澤祥武志剛劉媛媛
      電力系統(tǒng)自動化 2022年13期
      關(guān)鍵詞:時序前置分區(qū)

      岑伯維,胡春潮,2,蔡澤祥,武志剛,屈 徑,劉媛媛

      (1. 華南理工大學電力學院,廣東省 廣州市 510641;2. 中國南方電網(wǎng)電力科技股份有限公司,廣東省 廣州市 510080)

      0 引言

      在“雙碳”目標的驅(qū)動下,新型電力系統(tǒng)在接入對象[1]、時空特性[2]、信息特性[3]等方面產(chǎn)生了顯著的變化。接入對象類型的擴展、時空管控范圍的延伸及多源異構(gòu)數(shù)據(jù)的激增給配電自動化系統(tǒng)的信息感知和分析處理能力帶來了挑戰(zhàn)[4]。近年來,以低壓配電臺區(qū)為單位的自動化、數(shù)字化改造逐步開展,基于配電物聯(lián)網(wǎng)邊緣計算理念的新一代智能配電臺區(qū)成為建設(shè)路徑之一[5-6]。

      邊緣計算終端是新型智能配電臺區(qū)的關(guān)鍵節(jié)點[7],為滿足配電臺區(qū)業(yè)務(wù)靈活組織和高效管理的需求,微服務(wù)逐漸成為構(gòu)建以邊緣計算終端為載體的新型配電臺區(qū)業(yè)務(wù)的關(guān)鍵技術(shù)之一[8]。與單體應(yīng)用相比,微服務(wù)的種類更加多樣,運行機制更加靈活[9-10],但這同時也增加了微服務(wù)數(shù)據(jù)讀寫沖突的隱患。當微服務(wù)之間發(fā)生數(shù)據(jù)讀寫沖突時,極有可能造成數(shù)據(jù)錯誤、錯亂、丟失等問題[11],進而導致邊緣計算終端無法正常完成業(yè)務(wù)。此外,由數(shù)據(jù)可靠性下降所帶來的潛在風險隱患易通過信息-物理耦合網(wǎng)絡(luò)進一步影響一次系統(tǒng)的安全穩(wěn)定運行[12-13],甚至引起連鎖事故的發(fā)生[14-15]。因此,研究邊緣計算終端微服務(wù)的數(shù)據(jù)同步機制具有十分重要的意義。

      目前,關(guān)于數(shù)據(jù)同步機制已有相關(guān)的研究,文獻[16]和文獻[17]研究多活數(shù)據(jù)同步機制,通過階段性地同步傳輸業(yè)務(wù)計算結(jié)果至其他分析決策中心,提高業(yè)務(wù)執(zhí)行時數(shù)據(jù)的可靠性。然而,所設(shè)計的機制主要用于決策中心故障時業(yè)務(wù)計算無縫切換場景,若將該機制用于解決微服務(wù)數(shù)據(jù)讀寫沖突問題易造成數(shù)據(jù)的冗余備份。文獻[18]設(shè)計了一種歷史數(shù)據(jù)服務(wù)優(yōu)化方案,利用數(shù)據(jù)緩沖區(qū)模塊存放數(shù)據(jù),利用緩存數(shù)據(jù)同步模塊同步關(guān)系庫和緩存區(qū)的數(shù)據(jù)。然而,微服務(wù)間具有時序邏輯關(guān)系,基于隊列原理的同步機制雖能用于解決微服務(wù)數(shù)據(jù)讀寫沖突問題卻易增加業(yè)務(wù)完成時間。以時序邏輯[19]為約束的微服務(wù)組織方式相較于彼此相互獨立的單體應(yīng)用而言,數(shù)據(jù)讀寫沖突問題更為復雜,現(xiàn)有方法無法提供直接處理的手段。

      文件鎖是實現(xiàn)進程同步與互斥的手段[20-21],本文將文件鎖應(yīng)用于解決邊緣計算終端微服務(wù)的數(shù)據(jù)讀寫沖突問題并建立其相應(yīng)機制。本文的主要創(chuàng)新和貢獻如下:1)設(shè)計了邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)交互機制,支撐微服務(wù)數(shù)據(jù)的有序存??;2)提出了同步分區(qū)機制對微服務(wù)進行區(qū)域劃分,消除跨分區(qū)微服務(wù)的數(shù)據(jù)讀寫沖突隱患;3)提出了分區(qū)內(nèi)同步機制和分區(qū)間同步機制,解決相同分區(qū)內(nèi)和相鄰分區(qū)間微服務(wù)的數(shù)據(jù)讀寫沖突;4)本文工作亦在數(shù)據(jù)讀寫可靠性和實時性層面為微服務(wù)數(shù)據(jù)同步機制的工程研發(fā)設(shè)計和技術(shù)方案的選定提供參考依據(jù)。

      1 邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)交互機制

      1.1 層次結(jié)構(gòu)與時序邏輯模型

      微服務(wù)是云原生技術(shù)體系中的一種應(yīng)用程序的軟件架構(gòu),本文所提配電物聯(lián)網(wǎng)臺區(qū)邊緣計算終端是云原生技術(shù)在電力系統(tǒng)邊緣側(cè)應(yīng)用的重要載體之一,具有就地采集分析控制[22]、微服務(wù)靈活更新部署[23]、終端功能軟件定義[24]、業(yè)務(wù)多元化生態(tài)化[25-26]的特點和優(yōu)勢,與軟硬件強耦合的傳統(tǒng)配電終端相區(qū)別。

      本文邊緣計算終端微服務(wù)的層次結(jié)構(gòu)如附錄A圖A1 所示。其中,業(yè)務(wù)功能類微服務(wù)由邊緣計算終端的應(yīng)用開發(fā)商研制,負責支撐配電臺區(qū)邊緣計算終端業(yè)務(wù)的實現(xiàn),可再細分為采集類、分析類、控制類微服務(wù)。系統(tǒng)功能類微服務(wù)由邊緣計算終端的系統(tǒng)開發(fā)商研制,負責為上層的業(yè)務(wù)功能類微服務(wù)提供后臺支撐和管理手段。配電臺區(qū)邊緣計算終端的不同類微服務(wù)可由不同廠家設(shè)計,有利于發(fā)揮各研發(fā)團隊的優(yōu)勢和促成各類廠家參與的格局,為形成開放創(chuàng)新的行業(yè)新生態(tài)帶來了機遇[27]。

      本文配電物聯(lián)網(wǎng)臺區(qū)邊緣計算終端主要面向分布式光伏、儲能系統(tǒng)、充電樁等低壓增量接入對象及其相關(guān)新型配電臺區(qū)業(yè)務(wù)(例如需求側(cè)響應(yīng)、配電網(wǎng)監(jiān)控、配電網(wǎng)保護、拓撲識別等)。這些業(yè)務(wù)一般具有采集、分析、控制等環(huán)節(jié),本文將以文獻[8]中電價型負荷響應(yīng)業(yè)務(wù)的微服務(wù)時序邏輯圖為例闡述后續(xù)所提出的機制,具體如附錄A 圖A2 所示。該業(yè)務(wù)包含7 個微服務(wù),具體業(yè)務(wù)流程如下:

      首先,由負荷數(shù)據(jù)采集類微服務(wù)解析負荷數(shù)據(jù),由電量電價采集類微服務(wù)解析負荷用電量與電價關(guān)系曲線的形狀系數(shù),由峰谷電價采集類微服務(wù)解析分時電價;接著,負荷預測分析類微服務(wù)利用解析的負荷數(shù)據(jù)進行短期負荷預測,彈性矩陣分析類微服務(wù)利用電量電價曲線形狀系數(shù)和分時電價數(shù)值計算出負荷響應(yīng)的彈性系數(shù);最后,負荷響應(yīng)分析類微服務(wù)利用負荷預測、彈性系數(shù)和分時電價結(jié)果計算負荷響應(yīng)量大小,由負荷控制類微服務(wù)形成負荷控制信號。

      在實際系統(tǒng)中,配電物聯(lián)網(wǎng)臺區(qū)邊緣計算終端的數(shù)據(jù)來源于智能電表、傳感器和云主站等,邊緣計算終端業(yè)務(wù)通過部署于邊緣計算終端的各類微服務(wù)完成相應(yīng)的數(shù)據(jù)處理、決策分析和就地控制。本文主要研究邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制,解決數(shù)據(jù)讀寫沖突問題。

      1.2 文件鎖狀態(tài)轉(zhuǎn)移模型

      邊緣計算終端微服務(wù)的文件鎖主要分為讀鎖和寫鎖兩種。讀鎖又稱為共享鎖,當微服務(wù)加讀鎖時,則可對數(shù)據(jù)庫表進行讀操作。寫鎖又稱為排斥鎖,當微服務(wù)加寫鎖時,則可對數(shù)據(jù)庫表進行寫操作。文件鎖的類型決定了微服務(wù)擁有的讀寫操作權(quán)限,合理有序的文件鎖加鎖保證了微服務(wù)數(shù)據(jù)的可靠有序讀寫。建立的邊緣計算終端微服務(wù)的文件鎖加鎖規(guī)則如附錄A 表A1 所示。

      然后,建立微服務(wù)的文件鎖狀態(tài)轉(zhuǎn)移模型,如附錄A 圖A3 所示。其中共有6 種狀態(tài),包括無加鎖狀態(tài)、加讀鎖狀態(tài)、加寫鎖狀態(tài)、解鎖狀態(tài)、阻塞狀態(tài)、等待狀態(tài)。微服務(wù)的文件鎖狀態(tài)轉(zhuǎn)移過程可總結(jié)為3 種。1)正常讀-寫的狀態(tài)轉(zhuǎn)移過程為:無加鎖狀態(tài)→加讀/寫鎖狀態(tài)→解鎖狀態(tài)→無加鎖狀態(tài);2)讀-寫排斥的狀態(tài)轉(zhuǎn)移過程為:無加鎖狀態(tài)→加讀鎖→阻塞→等待→加讀鎖→解鎖→無加鎖狀態(tài);3)寫-讀、寫-寫排斥的狀態(tài)轉(zhuǎn)移過程為:無加鎖狀態(tài)→加寫鎖→阻塞→等待→加寫鎖→解鎖→無加鎖狀態(tài)。

      1.3 文件鎖數(shù)據(jù)交互機制

      受電力系統(tǒng)保護開關(guān)接線的啟發(fā),本文在建立的微服務(wù)層次結(jié)構(gòu)、時序邏輯模型和文件鎖狀態(tài)轉(zhuǎn)移模型的基礎(chǔ)上,設(shè)計了邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)交互機制,用于支撐微服務(wù)數(shù)據(jù)的有序存取。邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)交互機制如圖1 所示。

      圖1 邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)交互機制Fig.1 File lock based data interaction mechanism for microservices of edge computing terminal

      配電臺區(qū)邊緣計算終端業(yè)務(wù)所含微服務(wù)都會經(jīng)歷從數(shù)據(jù)庫讀取數(shù)據(jù)、執(zhí)行微服務(wù)和將數(shù)據(jù)寫入數(shù)據(jù)庫的過程。讀寫數(shù)據(jù)流母線將與閉合的一組讀鎖開關(guān)或?qū)戞i開關(guān)共同構(gòu)成微服務(wù)與數(shù)據(jù)庫間的數(shù)據(jù)流通路徑。數(shù)據(jù)庫是數(shù)據(jù)存放的倉庫,采用垂直分庫和水平分表相結(jié)合的方式構(gòu)建,通過垂直分庫可創(chuàng)建多個數(shù)據(jù)庫,每個數(shù)據(jù)庫中存放同類微服務(wù)的數(shù)據(jù),通過水平分表可在每個數(shù)據(jù)庫內(nèi)創(chuàng)建多個表,每個表中存放不同配電臺區(qū)邊緣計算終端業(yè)務(wù)的微服務(wù)數(shù)據(jù)。

      若沒有微服務(wù)的文件鎖數(shù)據(jù)同步機制,微服務(wù)的數(shù)據(jù)讀取開關(guān)和寫入開關(guān)則根據(jù)微服務(wù)自身讀寫需求閉合,易造成數(shù)據(jù)讀寫沖突問題,尤其在多微服務(wù)場景中更為顯著。通過微服務(wù)的文件鎖數(shù)據(jù)同步機制,使得各微服務(wù)的數(shù)據(jù)讀取開關(guān)和寫入開關(guān)合理有序閉合,從而避免微服務(wù)數(shù)據(jù)讀寫沖突,保證配電臺區(qū)邊緣計算終端業(yè)務(wù)的正常完成。

      2 邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制

      本文為了解決微服務(wù)的數(shù)據(jù)讀寫沖突問題,提出了邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制,所提出機制包括微服務(wù)分區(qū)機制、分區(qū)內(nèi)同步機制和分區(qū)間同步機制。微服務(wù)的文件鎖加鎖不僅受微服務(wù)時序邏輯的影響,還受微服務(wù)所處同步分區(qū)、微服務(wù)類型、讀寫時間等的影響,是多因素耦合的復雜問題。而所提出機制充分考慮了這些影響,并能有效避免微服務(wù)的數(shù)據(jù)讀寫沖突。為了便于讀者理解,本文繼續(xù)以配電臺區(qū)邊緣計算終端電價型負荷響應(yīng)業(yè)務(wù)為示例闡述所提出機制。

      2.1 邊緣計算終端微服務(wù)的分區(qū)機制

      2.1.1 分區(qū)機制

      本文提出的邊緣計算終端微服務(wù)的分區(qū)機制共有3 個步驟:1)根據(jù)微服務(wù)時序邏輯圖中的橫向前向路徑最大微服務(wù)數(shù),獲取分區(qū)列數(shù);2)根據(jù)微服務(wù)時序邏輯圖中的縱向最大微服務(wù)數(shù),獲取分區(qū)行數(shù);3)依次將微服務(wù)時序邏輯圖中的所有前向路徑上的微服務(wù)填入分區(qū)空位中,已填寫的微服務(wù)不再填寫。

      依據(jù)提出的分區(qū)機制,對配電臺區(qū)邊緣計算終端電價型負荷響應(yīng)業(yè)務(wù)中的微服務(wù)進行同步分區(qū),結(jié)果如圖2 所示。圖2 中共有7 個微服務(wù),分別為微服務(wù)1(1.負荷數(shù)據(jù)微服務(wù))、微服務(wù)2(2.電量電價微服務(wù))、微服務(wù)3(3.峰谷電價微服務(wù))、微服務(wù)4(4.負荷預測微服務(wù))、微服務(wù)5(5.彈性矩陣微服務(wù))、微服務(wù)6(6.負荷響應(yīng)微服務(wù))、微服務(wù)7(7.負荷控制微服務(wù))。圖2 中的前向路徑①具有的最大微服務(wù)數(shù)為5,因此共有5 列,每列代表一個分區(qū)。圖2 中,縱向最大微服務(wù)數(shù)為2,因此共有2 行。將前向路徑①中的微服務(wù)1、3、5、6、7 填入第1 行,將前向路徑②中的微服務(wù)2 和微服務(wù)4 填入第2 行,剩余空位不填寫,最終得到了同步分區(qū)結(jié)果。圖中微服務(wù)間連線表示各微服務(wù)的前置關(guān)系。

      圖2 微服務(wù)的同步分區(qū)機制示意圖Fig.2 Schematic diagram of synchronization partitioning mechanism for microservices

      2.1.2 同步矩陣

      微服務(wù)的文件鎖數(shù)據(jù)同步矩陣包括類型矩陣A、分區(qū)矩陣B和前置矩陣C。

      類型矩陣A用于刻畫各微服務(wù)所屬的類型,記微服務(wù)個數(shù)為n,則類型矩陣A為1×n矩陣。矩陣元素1、2、3 分別表示采集類、分析類、控制類。

      分區(qū)矩陣B用于刻畫各微服務(wù)所屬分區(qū),記微服務(wù)個數(shù)為n,則分區(qū)矩陣B為1×n矩陣。若微服務(wù)i與微服務(wù)j同屬于分區(qū)k,則將分區(qū)矩陣B的第i和第j列元素置為k。

      前置矩陣C用于刻畫各微服務(wù)的前置微服務(wù),記微服務(wù)個數(shù)為n,則前置矩陣C為n×n矩陣。若微服務(wù)i是微服務(wù)j的前置微服務(wù),則將前置矩陣C的第i行第j列元素置為1。

      2.2 邊緣計算終端微服務(wù)的分區(qū)內(nèi)同步機制

      2.2.1 分區(qū)內(nèi)同步機制

      因文件鎖中的讀鎖具有共享特性,同一分區(qū)內(nèi)的同一類微服務(wù)可同時讀取相同的數(shù)據(jù)庫表。同一分區(qū)內(nèi)的不同類微服務(wù)因讀取的數(shù)據(jù)庫表不同,不存在沖突。因此,分區(qū)內(nèi)微服務(wù)的數(shù)據(jù)讀取過程不沖突。

      因文件鎖中的寫鎖具有排斥特性,同一分區(qū)內(nèi)的同一類微服務(wù)不允許同時向相同的數(shù)據(jù)庫表寫入數(shù)據(jù)。同一分區(qū)內(nèi)的不同類微服務(wù)因?qū)懭氲臄?shù)據(jù)庫表不同,不存在沖突。因此,建立分區(qū)內(nèi)同步機制解決同一分區(qū)內(nèi)的同類微服務(wù)同時寫入的沖突風險。

      現(xiàn)以分區(qū)1 的微服務(wù)1 和微服務(wù)2 為例闡述分區(qū)內(nèi)同步機制,如圖3 所示,該圖中共有2 種情況。假設(shè)微服務(wù)1 的數(shù)據(jù)讀取和微服務(wù)執(zhí)行時間之和小于微服務(wù)2,則微服務(wù)1 需要先寫入數(shù)據(jù),因此先加寫鎖。微服務(wù)2 在微服務(wù)1 寫入數(shù)據(jù)過程中不允許加寫鎖,因此,需要等待微服務(wù)1 寫入解鎖后才可加寫鎖寫入數(shù)據(jù),如圖3 中第1 種情況所示。若微服務(wù)1 在微服務(wù)2 執(zhí)行完成前寫入完畢,則微服務(wù)2 無須等待可直接寫入,如圖3 中第2 種情況所示。

      圖3 分區(qū)內(nèi)同步機制示意圖Fig.3 Schematic diagram of in-area synchronization mechanism in partition

      2.2.2 分區(qū)內(nèi)同步時間模型

      分區(qū)內(nèi)同步時間模型用于刻畫分區(qū)內(nèi)同步機制下各微服務(wù)文件鎖加鎖的時序配合過程,具體如下:

      式 中:Tini,h,a,m、Trl,h,a,m、Tro,h,a,m、Tex,h,a,m、Twl,h,a,m和Two,h,a,m分 別 為 分 區(qū)h的 第a類 微 服 務(wù) 中 的 第m個 微服務(wù)的起始時間戳、加讀鎖時間戳、解讀鎖時間戳、執(zhí)行完成時間戳、加寫鎖時間戳和解寫鎖時間戳;tc,h,a,m、tr,h,a,m和tw,h,a,m分 別 為 分 區(qū)h的 第a類 微 服 務(wù)中的第m個微服務(wù)的執(zhí)行時長、讀取時長和寫入時長;dr,h,a,m和dw,h,a,m分 別 為 分 區(qū)h的 第a類 微 服 務(wù) 中的第m個微服務(wù)的讀數(shù)據(jù)量和寫數(shù)據(jù)量;αr和αw分別為讀取和寫入時長系數(shù)。

      2.3 邊緣計算終端微服務(wù)的分區(qū)間同步機制

      2.3.1 分區(qū)間同步機制

      為了避免微服務(wù)跨分區(qū)的讀寫沖突風險,需建立分區(qū)間同步機制,分區(qū)間同步機制包括了前置同步和非前置同步2 種。

      1)前置同步機制

      前置同步機制是指微服務(wù)需要等待其所有前置微服務(wù)完成寫入后才可加讀鎖讀取數(shù)據(jù),從而避免微服務(wù)的讀寫沖突。

      現(xiàn)以分區(qū)1 和分區(qū)2 的微服務(wù)為例闡述前置同步機制,如圖4 所示。微服務(wù)1 和微服務(wù)2 均為微服務(wù)3 和微服務(wù)4 的前置微服務(wù),當微服務(wù)1 完成數(shù)據(jù)寫入后微服務(wù)3 和微服務(wù)4 準備加讀鎖讀取數(shù)據(jù)。但此時,微服務(wù)2 準備加寫鎖寫入數(shù)據(jù),將造成微服務(wù)的讀寫沖突。此時,微服務(wù)3 和微服務(wù)4 均需等待其前置微服務(wù)1 和微服務(wù)2 完成寫入后才加讀鎖。

      圖4 前置同步機制示意圖Fig.4 Schematic diagram of pre-synchronization mechanism

      2)非前置同步機制

      非前置同步機制是指處于后一分區(qū)的微服務(wù)需等待前一分區(qū)同類微服務(wù)和與其前置微服務(wù)同類的微服務(wù)完成寫入后才可開始加讀鎖讀取數(shù)據(jù),從而避免微服務(wù)的讀寫沖突。

      現(xiàn)以分區(qū)2 和分區(qū)3 的微服務(wù)為例闡述非前置同步機制,如圖5 所示。當微服務(wù)3 完成數(shù)據(jù)寫入后,微服務(wù)5 準備加讀鎖讀取數(shù)據(jù),但此時微服務(wù)4準備加寫鎖寫入數(shù)據(jù),將造成微服務(wù)的讀寫沖突。此時,微服務(wù)5 的前置微服務(wù)為微服務(wù)3,微服務(wù)4為微服務(wù)5 的前一分區(qū)內(nèi)同類微服務(wù),因此,微服務(wù)5 需等待微服務(wù)3 和微服務(wù)4 完成寫入后才可以開始加讀鎖。因非前置同步與前置同步在時序配合方法上相似,在后續(xù)文件鎖加鎖時間模型中,微服務(wù)4也可視作微服務(wù)5 的前置微服務(wù)來計算。

      圖5 非前置同步機制示意圖Fig.5 Schematic diagram of non-pre-synchronization mechanism

      2.3.2 分區(qū)間同步時間模型

      分區(qū)間同步時間模型用于刻畫分區(qū)間同步機制下各微服務(wù)文件鎖加鎖的時序配合過程,具體如下:

      式中:pj和pk分別為微服務(wù)j和微服務(wù)k;ckj為前置矩陣C中 第k行 第j列 元 素;Two,cr,h,pk為 分 區(qū) 間 同 步 機制 下 分 區(qū)h內(nèi) 微 服 務(wù)k的 解 寫 鎖 時 間 戳;Tini,cr,h+1,pj、Trl,cr,h+1,pj、Tro,cr,h+1,pj和Tex,cr,h+1,pj分 別 為 分 區(qū) 間 同 步機制下分區(qū)h+1 內(nèi)微服務(wù)j的起始時間戳、加讀鎖時 間 戳、解 讀 鎖 時 間 戳、執(zhí) 行 完 成 時 間 戳;tr,cr,h+1,pj、tc,cr,h+1,pj和dr,cr,h+1,pj分 別 為 分 區(qū) 間 同 步 機 制 下 分 區(qū)h+1 內(nèi)微服務(wù)j的讀取時長、執(zhí)行時長和讀取數(shù)據(jù)量。

      3 邊緣計算終端微服務(wù)的文件鎖加鎖方法

      邊緣計算終端微服務(wù)的文件鎖加鎖結(jié)果求解流程如附錄A 圖A4 所示。本文文件鎖的加鎖不僅受時序邏輯的影響,還受微服務(wù)所處同步分區(qū)、微服務(wù)類型、讀寫時間等的影響。通過所提出方法,可以獲得在本文微服務(wù)文件鎖數(shù)據(jù)同步機制下,各微服務(wù)加讀鎖、解讀鎖、執(zhí)行完成、加寫鎖、解寫鎖的時間戳。

      本文所提出機制的適用性分析:首先,本文每個配電臺區(qū)邊緣計算終端的業(yè)務(wù)由微服務(wù)構(gòu)成,微服務(wù)間具有時序邏輯性,而不同時序邏輯結(jié)構(gòu)均可采用本文4 種類型的支路構(gòu)成,因此時序邏輯圖的構(gòu)成是完備的。接著,本文提出的同步分區(qū)機制是在時序邏輯圖的基礎(chǔ)上,依據(jù)所有前向路徑,將微服務(wù)進行分區(qū),因此對于不同的時序邏輯圖而言,同步分區(qū)機制依然適用。最后,本文文件鎖的加鎖不僅受時序邏輯的影響,還受微服務(wù)所處同步分區(qū)、微服務(wù)類型、讀寫時間等的影響,所提出分區(qū)內(nèi)同步和分區(qū)間同步機制均充分考慮了這些影響,并已給出了討論分析。因此,本文所提出機制對于其他具有微服務(wù)時序邏輯的配電臺區(qū)邊緣計算終端業(yè)務(wù)仍具有適用性。

      本文所提出機制的技術(shù)實現(xiàn)與實時性分析:本文同步分區(qū)機制與微服務(wù)執(zhí)行延時無關(guān)。本文分區(qū)內(nèi)同步機制避免微服務(wù)同時寫入沖突的方法,在技術(shù)實現(xiàn)中采用寫入請求先到先寫的方式來實現(xiàn)先執(zhí)行完的微服務(wù)先加寫鎖寫入數(shù)據(jù),不依賴于微服務(wù)執(zhí)行延時為確定值。本文分區(qū)間同步機制避免微服務(wù)讀寫沖突的方法,在技術(shù)實現(xiàn)中采用事件中斷的方式來實現(xiàn)每個微服務(wù)在其前置微服務(wù)寫鎖解鎖后加讀鎖讀取數(shù)據(jù),也不依賴于微服務(wù)執(zhí)行延時為確定值。因此,所提出機制的有效性不依賴于微服務(wù)執(zhí)行延時為確定值。而本文算例分析為了更好讓讀者易懂,以微服務(wù)延時為確定值的方式展示本文機制的有效性。此外,所提出機制的同步耗時受微服務(wù)數(shù)量、微服務(wù)時序邏輯結(jié)構(gòu)、微服務(wù)分解度的影響,本文工作正為分析這些影響和降低同步耗時提供了手段,且所提出機制是解決邊緣計算終端數(shù)據(jù)讀寫沖突的一種直接有效手段,與微服務(wù)輕量級理念相一致。因此,所提出機制在適應(yīng)實時性業(yè)務(wù)方面仍具有優(yōu)勢。

      4 算例分析

      4.1 仿真參數(shù)

      本文以配電臺區(qū)邊緣計算終端電價型負荷響應(yīng)業(yè)務(wù)的微服務(wù)時序邏輯圖為例進行文件鎖數(shù)據(jù)同步機制有效性的驗證和算例分析,具體如附錄A 圖A2所示,仿真參數(shù)如表A2 所示。表中包含了業(yè)務(wù)所含各微服務(wù)、讀取數(shù)據(jù)量、寫入數(shù)據(jù)量、執(zhí)行時長及相應(yīng)矩陣。本文在MATLAB 軟件環(huán)境上搭建面向配用電物聯(lián)網(wǎng)邊緣計算終端微服務(wù)的仿真平臺,硬件環(huán)境為:CPU 型號為Intel Core i7-9700,GPU 型號為AMD Radeon R7 430,內(nèi)存容量為8 GB。

      4.2 邊緣計算終端微服務(wù)的文件鎖加鎖結(jié)果

      采用本文邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制,得到各微服務(wù)的文件鎖加鎖結(jié)果如附錄A表A3 所示。表中展示了各微服務(wù)的加讀鎖、解讀鎖、執(zhí)行完成、加寫鎖和解寫鎖狀態(tài)的時間戳。

      由附錄A 表A3 可知,微服務(wù)1 在0.152 0 s 執(zhí)行完成,微服務(wù)2 在0.151 5 s 執(zhí)行完成,微服務(wù)2 先于微服務(wù)1 執(zhí)行完成,先加寫鎖。微服務(wù)2 寫入數(shù)據(jù)的時間段為0.151 5 s 至0.154 5 s,由于寫鎖的排斥特性,微服務(wù)1 等待至0.154 5 s 才加寫鎖,有效避免了寫入沖突,驗證了分區(qū)內(nèi)同步機制的有效性。

      微服務(wù)1 和微服務(wù)2 均為微服務(wù)3 的前置微服務(wù),微服務(wù)1 在0.154 5 s 解寫鎖,微服務(wù)2 在0.158 1 s 解寫鎖,在分區(qū)間同步機制下微服務(wù)3 需等待至0.158 1 s 加讀鎖,有效避免了讀寫沖突,驗證了前置同步機制的有效性。

      微服務(wù)3 為微服務(wù)5 的前置微服務(wù),微服務(wù)4 為微服務(wù)5 的非前置微服務(wù),微服務(wù)3 在0.312 6 s 解寫鎖,微服務(wù)4 在0.415 9 s 解寫鎖,在分區(qū)間同步機制下微服務(wù)5 需等待至0.415 9 s 加讀鎖,有效避免了讀寫沖突,驗證了非前置同步機制的有效性。

      各類數(shù)據(jù)庫的讀寫記錄如附錄A 表A4 所示。表中展示了各微服務(wù)對數(shù)據(jù)庫的讀、寫操作記錄和讀、寫耗時。該讀寫結(jié)果與微服務(wù)的時序邏輯具有一致性,說明讀寫的數(shù)據(jù)庫對象正確。

      根據(jù)各微服務(wù)的寫入時刻、寫入時長、寫入數(shù)據(jù)量可得到各數(shù)據(jù)庫及邊緣計算終端的累計寫入數(shù)據(jù)量,如附錄A 圖A5 所示。邊緣計算終端的累計寫入數(shù)據(jù)量為各數(shù)據(jù)庫累計寫入數(shù)據(jù)量之和。

      4.3 時序邏輯結(jié)構(gòu)對文件鎖加鎖的影響

      時序邏輯結(jié)構(gòu)改變后,如附錄A 圖A6 所示,原本的微服務(wù)3 從串聯(lián)支路移到了并聯(lián)支路,與微服務(wù)2 和微服務(wù)3 構(gòu)成并聯(lián)支路。采用本文邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制,得到時序邏輯結(jié)構(gòu)改變后的文件鎖加鎖結(jié)果如表A5 所示,累計寫入數(shù)據(jù)量統(tǒng)計結(jié)果如圖A7 所示。時序邏輯結(jié)構(gòu)改變對數(shù)據(jù)同步的影響,如表A6 所示。表中,讀寫耗時占比為讀寫總耗時與業(yè)務(wù)期望延時之比,同步耗時占比為同步總耗時與業(yè)務(wù)期望延時之比,本文該業(yè)務(wù)期望延時為1 s。

      由附錄A 表A5 可知,在分區(qū)內(nèi)同步機制下,微服務(wù)2 在0.151 5 s 執(zhí)行完成先加寫鎖,微服務(wù)3 需等待至0.154 5 s 加寫鎖,微服務(wù)1 需等待至0.157 5 s加寫鎖,有效避免了寫入沖突。

      微服務(wù)4 和微服務(wù)5 在分區(qū)間同步機制下,在0.161 1 s 加讀鎖。由于微服務(wù)5 在0.312 6 s 執(zhí)行完成先加寫鎖,在0.315 0 s 解寫鎖,而此時微服務(wù)4 仍處于執(zhí)行過程中,無須加寫鎖,無寫入沖突。待微服務(wù)4 在0.414 1 s 執(zhí)行完成后,由于無寫入沖突,可直接加寫鎖寫入數(shù)據(jù)。

      由附錄A 表A6 可知,時序邏輯結(jié)構(gòu)改變對同步總耗時和業(yè)務(wù)總時長產(chǎn)生影響。在時序邏輯改變前,同步總耗時為0.105 8 s,業(yè)務(wù)總時長為0.881 0 s,時序邏輯改變后,同步總耗時為0.008 5 s,業(yè)務(wù)總時長為0.730 1 s,其原因在于時序邏輯改變后串聯(lián)支路數(shù)量減少有利于同步總耗時和業(yè)務(wù)總時長的減少。

      4.4 采用文件鎖數(shù)據(jù)同步機制前后結(jié)果的對比

      在時序邏輯結(jié)構(gòu)改變的基礎(chǔ)上,本文對比了采用文件鎖數(shù)據(jù)同步機制前后的結(jié)果,如附錄A 表A7所示。由表A7 可知,沒有采用文件鎖數(shù)據(jù)同步機制前雖沒有同步耗時開銷,但因為存在微服務(wù)同時寫入或同時讀寫的現(xiàn)象,形成了沖突時段。而采用文件鎖數(shù)據(jù)同步機制后雖產(chǎn)生了同步耗時的開銷,但有效避免了微服務(wù)的數(shù)據(jù)讀寫沖突問題,提高了數(shù)據(jù)讀寫的可靠性。時序邏輯結(jié)構(gòu)改變后,微服務(wù)沖突個數(shù)從2 個增加至3 個,其原因在于并聯(lián)支路中微服務(wù)的數(shù)量增加,而采用文件鎖數(shù)據(jù)同步機制后,仍然能有效避免時序邏輯結(jié)構(gòu)變化后帶來的沖突風險。

      4.5 考慮不同微服務(wù)分解度的結(jié)果對比分析

      微服務(wù)分解度指業(yè)務(wù)分解為微服務(wù)的顆粒度大小,可由業(yè)務(wù)分解后的微服務(wù)數(shù)量體現(xiàn)。在附錄A圖A6 基礎(chǔ)上將采集類微服務(wù)1、2、3 合并為一個采集類微服務(wù),將分析類微服務(wù)4、5、6 合并為一個分析類微服務(wù),則該業(yè)務(wù)的微服務(wù)數(shù)量由7 變?yōu)?。

      本文對比了微服務(wù)合并前后的結(jié)果,如附錄A表A8 所示。表中,讀寫耗時占比為讀寫總耗時與業(yè)務(wù)期望延時之比,同步耗時占比為同步總耗時與業(yè)務(wù)期望延時之比,本文該業(yè)務(wù)期望延時為1 s。

      由附錄A 表A8 可知,微服務(wù)分解度對同步總耗時和業(yè)務(wù)總時長產(chǎn)生影響。合并后的微服務(wù)等效于被合并的微服務(wù)以串聯(lián)的方式執(zhí)行,使同步總耗時減少為0,但卻增加了業(yè)務(wù)總時長。合并后業(yè)務(wù)的總時長為1.187 5 s,顯然已經(jīng)超出了該業(yè)務(wù)的期望延時,因此微服務(wù)分解度需兼顧同步總耗時和業(yè)務(wù)延時進行合理設(shè)計。

      4.6 不同微服務(wù)數(shù)據(jù)同步機制對比分析

      本文將所提出的文件鎖數(shù)據(jù)同步機制與隊列機制、獨立空間機制進行了對比,如附錄A 表A9 所示。由表A9 可知,在數(shù)據(jù)讀寫可靠性層面,3 種機制均能滿足要求;在實時性層面,本文機制介于隊列機制和獨立空間機制二者之間,隊列機制下的業(yè)務(wù)總時長最大,獨立空間機制下的業(yè)務(wù)總時長最小;在存儲空間占用層面,獨立空間機制下所需占用的存儲空間是本文機制和隊列機制的2 倍。因此,綜合考慮數(shù)據(jù)讀寫可靠性、實時性和存儲空間3 個方面,本文機制更具有優(yōu)勢。

      采用隊列機制和獨立空間機制獲得的微服務(wù)數(shù)據(jù)讀寫時間結(jié)果分別如附錄A 表A10 和表A11 所示。由表A10 可知,在隊列機制下各微服務(wù)按隊列先后順序從數(shù)據(jù)庫讀取數(shù)據(jù)和寫入數(shù)據(jù),隊列機制保證了微服務(wù)數(shù)據(jù)讀寫的有序進行,避免數(shù)據(jù)讀寫沖突。采用隊列機制后,業(yè)務(wù)完成的時長為0.732 1 s,存儲空間占用量與本文機制相同。由表A11 可知,在獨立空間機制下各微服務(wù)無須等待彼此讀取數(shù)據(jù)和寫入數(shù)據(jù)的完成,從而降低了業(yè)務(wù)完成的時長。采用獨立空間機制后,業(yè)務(wù)完成的時長為0.724 6 s,雖然微服務(wù)通過額外開辟獨立存儲空間能有效避免數(shù)據(jù)讀寫沖突,實時性較強,但卻使得存儲空間占用增大。

      5 結(jié)語

      本文提出了一種配電物聯(lián)網(wǎng)臺區(qū)邊緣計算終端微服務(wù)的文件鎖數(shù)據(jù)同步機制,用于解決微服務(wù)數(shù)據(jù)讀寫沖突問題。仿真結(jié)果表明,所提出機制能有效避免微服務(wù)的數(shù)據(jù)讀寫沖突,而微服務(wù)時序邏輯結(jié)構(gòu)和微服務(wù)分解度均會對數(shù)據(jù)同步耗時產(chǎn)生影響,合理的微服務(wù)時序邏輯結(jié)構(gòu)和微服務(wù)分解度有利于減少同步總耗時和業(yè)務(wù)總時長,更好滿足業(yè)務(wù)延時要求。本文工作為分析這些影響提供了有效手段,也為邊緣計算終端的微服務(wù)數(shù)據(jù)同步機制、微服務(wù)時序邏輯和微服務(wù)分解度的工程研發(fā)設(shè)計提供參考依據(jù)。此外,本文所提出的文件鎖數(shù)據(jù)同步機制相較于隊列機制在同步耗時和業(yè)務(wù)總時長方面更具優(yōu)勢,相較于獨立空間機制在存儲空間占用上更具優(yōu)勢。

      本文工作既為后續(xù)研究考慮微服務(wù)數(shù)據(jù)同步機制的計算資源優(yōu)化配置與調(diào)度問題奠定基礎(chǔ),也為后續(xù)研究配電臺區(qū)邊緣計算終端云邊協(xié)同業(yè)務(wù)的高并發(fā)數(shù)據(jù)同步問題奠定基礎(chǔ)。

      附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。

      猜你喜歡
      時序前置分區(qū)
      時序坐標
      上海實施“分區(qū)封控”
      基于Sentinel-2時序NDVI的麥冬識別研究
      被診斷為前置胎盤,我該怎么辦
      前置性學習單:讓學習真實發(fā)生
      教書育人(2020年11期)2020-11-26 06:00:32
      國企黨委前置研究的“四個界面”
      當代陜西(2020年13期)2020-08-24 08:22:02
      被診斷為前置胎盤,我該怎么辦
      浪莎 分區(qū)而治
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      基于SAGA聚類分析的無功電壓控制分區(qū)
      電測與儀表(2015年8期)2015-04-09 11:50:16
      精河县| 兴业县| 南召县| 卢龙县| 两当县| 陵水| 金寨县| 宁陕县| 关岭| 五常市| 阿拉尔市| 容城县| 拉孜县| 南汇区| 浦江县| 宜昌市| 天台县| 兴仁县| 图木舒克市| 江北区| 临武县| 临湘市| 天门市| 通许县| 安仁县| 盐边县| 黄梅县| 柞水县| 咸宁市| 榆中县| 鞍山市| 千阳县| 鄂温| 仁化县| 杭锦后旗| 宣化县| 江都市| 常熟市| 闸北区| 北海市| 大化|