本發(fā)明涉及電網(wǎng)信息物理系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法和裝置。
背景技術(shù):
電網(wǎng)是規(guī)模最大也是最復(fù)雜的互聯(lián)系統(tǒng)之一,是典型的信息物理融合系統(tǒng)研究對象,電網(wǎng)cps旨在充分反映電網(wǎng)運行的物理過程和信息過程,體現(xiàn)兩者融合機理和相互作用機制,以期通過更高級的控制方式提升系統(tǒng)整體性能并優(yōu)化全局系統(tǒng)運行,提高能源利用率、設(shè)備利用潛力及系統(tǒng)可靠性、安全性和穩(wěn)定性。
在電網(wǎng)信息物理系統(tǒng)中,信息所有權(quán)和使用權(quán)等問題依然存在,而且電網(wǎng)信息物理系統(tǒng)的組織結(jié)構(gòu)柔性進一步增加,需要合適的管理措施來保證不同服務(wù)之間的隔離,確保信息服務(wù)的規(guī)范性和可靠性。因此,如何通過合適的建模與管控技術(shù),使信息隔離與業(yè)務(wù)規(guī)范結(jié)合起來,成為電網(wǎng)信息物理系統(tǒng)的研究重點,目的是為相關(guān)工程系統(tǒng)的設(shè)計、建設(shè)和運行提供支撐。
目前,容器技術(shù)由于其易用性、高效率等特征,得到廣泛應(yīng)用,在基于容器的隔離方面已經(jīng)有一定成果。例如,申請?zhí)枮?01610072268.5的發(fā)明專利公開了一種基于容器的數(shù)據(jù)重分布方法及裝置,該發(fā)明專利針對不同類型的數(shù)據(jù)庫容器,進行了數(shù)據(jù)庫容器的遷移,優(yōu)化容器中數(shù)據(jù)庫服務(wù)的性能,有效提升容器中數(shù)據(jù)庫服務(wù)的性能。申請?zhí)枮?01510497067.5的發(fā)明專利公開了一種docker容器內(nèi)數(shù)據(jù)的訪問方法及裝置,該發(fā)明專利設(shè)置位于當(dāng)前docker容器外部的請求端具有對當(dāng)前docker容器內(nèi)部數(shù)據(jù)所對應(yīng)的掛載路徑和容器路徑的訪問權(quán)限,獲取請求并判斷所述目標請求端是否具有權(quán)限,用于提高安全性等。但是,上述兩個專利主要是基于it技術(shù)進行優(yōu)化,對業(yè)務(wù)特征考慮較少,沒有將容器技術(shù)結(jié)合到電網(wǎng)業(yè)務(wù)中來,尤其是在電網(wǎng)信息系統(tǒng)和物理系統(tǒng)高度融合的情況下,如果沒有合適的手段確保不同服務(wù)之間實現(xiàn)隔離,將很難保障電網(wǎng)信息物理系統(tǒng)應(yīng)用的規(guī)范性和安全性。
技術(shù)實現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法和裝置,依據(jù)統(tǒng)一的cim實現(xiàn)基于微服務(wù)的信息流隔離,信息流隔離需遵循的規(guī)則在統(tǒng)一的微服務(wù)管理平面中執(zhí)行,保障電網(wǎng)信息物理系統(tǒng)應(yīng)用的規(guī)范性和安全性,且本發(fā)明具有實際可操作性。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
本發(fā)明提供一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法,包括:
定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;
定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),并從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;
將微服務(wù)集合中的微服務(wù)加載到虛擬容器中,各虛擬容器之間進行信息交互,并通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離。
所述根據(jù)微服務(wù)構(gòu)建如下微服務(wù)矩陣:
其中,bs表示微服務(wù)矩陣,s表示電網(wǎng)信息物理系統(tǒng)中的微服務(wù),c、d分別表示微服務(wù)的類別和微服務(wù)所屬的cim主題域,scd表示微服務(wù)s的類別為c,且其所屬的cim主題域為d。
所述從微服務(wù)矩陣中選取如下與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合:
∏s=c*bs*dt
其中,∏s表示微服務(wù)集合,c表示微服務(wù)類別選擇特征向量,d表示微服務(wù)所屬cim主題域選擇特征向量,c和d分別如下式所示:
c=[a1,a2…ac]
d=[0,b1,b2…bd]
其中,ac表示c的第c個元素,∏s中若存在微服務(wù)為第c類微服務(wù),ac=1,否則ac=0;bd表示d的第d+1個元素,∏s中若存在微服務(wù)屬于第d個cim主題域,bd=1,否則bd=0。
將微服務(wù)集合中的微服務(wù)加載到如下式的虛擬容器中:
其中,v表示虛擬容器,v′表示剩余可分配的虛擬容器,vm表示正在使用的虛擬容器,
所述各虛擬容器之間進行信息交互包括:
其中,t表示狀態(tài)集合,t表示狀態(tài);a表示電網(wǎng)信息物理系統(tǒng)的動作集合,a表示動作;v表示虛擬容器,vs表示
所述通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離包括:
確定虛擬容器同時滿足以下約束條件:
1)
2)剩余可分配的虛擬容器處于初始化狀態(tài),且可分配的虛擬容器不包含遺留的微服務(wù)及微服務(wù)的數(shù)據(jù);
3)所述每個虛擬容器都對應(yīng)一個cim主題域,且在執(zhí)行過程中,cim主題域保持不變;
根據(jù)虛擬容器滿足的上述約束條件使微服務(wù)相互調(diào)用,以實現(xiàn)對微服務(wù)的隔離。
本發(fā)明還提供一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離裝置,包括:
構(gòu)建模塊,用于定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;
選取模塊,用于定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),并從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;
隔離模塊,用于將微服務(wù)集合中的微服務(wù)加載到虛擬容器中,各虛擬容器之間進行信息交互,并通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離。
所述構(gòu)建模塊具體用于:
根據(jù)微服務(wù)構(gòu)建如下微服務(wù)矩陣:
其中,bs表示微服務(wù)矩陣,s表示電網(wǎng)信息物理系統(tǒng)中的微服務(wù),c、d分別表示微服務(wù)的類別和微服務(wù)所屬的cim主題域,scd表示微服務(wù)s的類別為c,且其所屬的cim主題域為d。
所述選取模塊具體用于:
從微服務(wù)矩陣中選取如下與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合:
∏s=c*bs*dt
其中,∏s表示微服務(wù)集合,c表示微服務(wù)類別選擇特征向量,d表示微服務(wù)所屬cim主題域選擇特征向量,c和d分別如下式所示:
c=[a1,a2…ax]
d=[0,b1,b2…bd]
其中,ac表示c的第c個元素,∏s中若存在微服務(wù)為第c類微服務(wù),ac=1,否則ac=0;bd表示d的第d+1個元素,∏s中若存在微服務(wù)屬于第d個cim主題域,bd=1,否則bd=0。
所述隔離模塊具體用于:
將微服務(wù)集合中的微服務(wù)加載到如下式的虛擬容器中:
其中,v表示虛擬容器,v′表示剩余可分配的虛擬容器,vm表示正在使用的虛擬容器,
所述隔離模塊具體用于各虛擬容器之間進行信息交互,包括:
其中,t表示狀態(tài)集合,t表示狀態(tài);a表示電網(wǎng)信息物理系統(tǒng)的動作集合,a表示動作;v表示虛擬容器,vs表示
所述隔離模塊具體用于:
確定虛擬容器同時滿足以下約束條件:
1)
2)剩余可分配的虛擬容器處于初始化狀態(tài),且可分配的虛擬容器不包含遺留的微服務(wù)及微服務(wù)的數(shù)據(jù);
3)所述每個虛擬容器都對應(yīng)一個cim主題域,且在執(zhí)行過程中,cim主題域保持不變;
根據(jù)約束條件對微服務(wù)進行編排,實現(xiàn)對虛擬容器相互聯(lián)接構(gòu)成的信息流進行隔離。
與最接近的現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案具有以下有益效果:
本發(fā)明提供的適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法,先定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;然后定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),并從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;最后將微服務(wù)集合中的微服務(wù)加載到虛擬容器中,各虛擬容器之間進行信息交互,最終通過cim主題域?qū)崿F(xiàn)了對微服務(wù)的隔離;
本發(fā)明提供的技術(shù)方案依據(jù)統(tǒng)一的公共信息模型cim實現(xiàn)基于微服務(wù)的信息流隔離,信息流隔離需遵循的規(guī)則在統(tǒng)一的微服務(wù)管理平面中執(zhí)行,將虛擬容器技術(shù)結(jié)合到電網(wǎng)信息系統(tǒng)和物理系統(tǒng)融合而成的電網(wǎng)信息物理系統(tǒng)中,確保不同微服務(wù)之間實現(xiàn)隔離,以及電網(wǎng)信息物理系統(tǒng)應(yīng)用的規(guī)范性和安全性,且本發(fā)明技術(shù)方案具有實際可操作性,應(yīng)用范圍廣泛。
附圖說明
圖1是本發(fā)明實施例1中適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法示意圖;
圖2是本發(fā)明實施例3中用于電網(wǎng)智能運檢管控系統(tǒng)的微服務(wù)隔離示意圖;
圖3是本發(fā)明實施例4中用于電動汽車車聯(lián)網(wǎng)系統(tǒng)的微服務(wù)隔離示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步詳細說明。
實施例1
本發(fā)明實施例1提供的適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法中,電網(wǎng)信息物理系統(tǒng)是具備信息泛在感知、協(xié)作計算、交互通信、自動控制功能的復(fù)雜測控系統(tǒng),而且是對社會開放的公共服務(wù)系統(tǒng),需要基于公共信息模型cim用標準的方式交換信息,訪問公共可用數(shù)據(jù)應(yīng)實現(xiàn)的各種接口。通過微服務(wù)的編排組合實現(xiàn)定制服務(wù),根據(jù)統(tǒng)一的cim進行信息流隔離,有利于電網(wǎng)信息物理系統(tǒng)應(yīng)用的規(guī)范性和安全性。上述公共信息模型cim(commoninformationmodel)是一種抽象模型,描述了一個電力企業(yè)中的所有主要對象,這些對象一般包含在能量管理系統(tǒng)模型中。國家電網(wǎng)公司在cim基礎(chǔ)上構(gòu)建了sg-cim,結(jié)合國家電網(wǎng)公司業(yè)務(wù)進行擴充完善,設(shè)計形成了一套完整標準的數(shù)據(jù)模型和數(shù)據(jù)訪問接口規(guī)范。sg-cim主題域亦稱為“包”,在sg-cim中是一種將相關(guān)模型元件分組的方法,使模型更易于設(shè)計、理解與查看。主題域分為一級和二級,一個一級主題域(一般簡稱為主題域)可包含多個二級主題域。
本發(fā)明實施例1提供的微服務(wù)隔離方法的流程圖如圖1所示,具體過程如下:
s101:定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;
s102:定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),并從s101構(gòu)建的微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;
s103:將s102中的微服務(wù)集合中的微服務(wù)加載到虛擬容器中,各虛擬容器之間進行信息交互,并通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離。
上述s101中,根據(jù)微服務(wù)構(gòu)建如下微服務(wù)矩陣:
其中,bs表示微服務(wù)矩陣,s表示電網(wǎng)信息物理系統(tǒng)中的微服務(wù),c、d分別表示微服務(wù)的類別和微服務(wù)所屬的cim主題域,scd表示微服務(wù)s的類別為c,且其所屬的cim主題域為d。
上述s102中,從微服務(wù)矩陣中選取如下與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合:
∏s=c*bs*dt
其中,∏s表示微服務(wù)集合,c表示微服務(wù)類別選擇特征向量,d表示微服務(wù)所屬cim主題域選擇特征向量,c和d分別如下式所示:
c=[a1,a2…ac]
d=[0,b1,b2…bd]
其中,ac表示c的第c個元素,∏s中若存在微服務(wù)為第c類微服務(wù),ac=1,否則ac=0;bd表示d的第d+1個元素,∏s中若存在微服務(wù)屬于第d個cim主題域,bd=1,否則bd=0。
上述s103中將微服務(wù)集合中的微服務(wù)加載到如下式的虛擬容器中具體過程如下:
其中,v表示虛擬容器,v′表示剩余可分配的虛擬容器,vm表示正在使用的虛擬容器,
上述s103中各虛擬容器之間進行信息交互具體過程如下:
其中,t表示狀態(tài)集合,t表示狀態(tài);a表示電網(wǎng)信息物理系統(tǒng)的動作集合,a表示動作;v表示虛擬容器,vs表示
上述s103中通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離具體過程如下:
首先,確定虛擬容器同時滿足以下約束條件:
1)
2)剩余可分配的虛擬容器處于初始化狀態(tài),且可分配的虛擬容器不包含遺留的微服務(wù)及微服務(wù)的數(shù)據(jù);
4)所述每個虛擬容器都對應(yīng)一個cim主題域,且在執(zhí)行過程中,cim主題域保持不變;
然后,根據(jù)虛擬容器滿足的上述約束條件使微服務(wù)相互調(diào)用,以實現(xiàn)對微服務(wù)的隔離。
實施例2
基于同一發(fā)明構(gòu)思,本發(fā)明實施例2還提供了一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離裝置,實施例2提供的電網(wǎng)信息物理系統(tǒng)中基于cim的微服務(wù)隔離裝置具體包括構(gòu)建模塊、選取模塊和隔離模塊,下面分別對這3個模塊的功能進行說明:
構(gòu)建模塊,主要用于定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;
選取模塊,主要用于定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),并從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;
隔離模塊,主要用于將微服務(wù)集合中的微服務(wù)加載到虛擬容器中,各虛擬容器之間進行信息交互,并通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離。
上述的構(gòu)建模塊定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣具體過程如下:
定義s表示電網(wǎng)信息物理系統(tǒng)中的微服務(wù),c、d分別表示微服務(wù)的類別和微服務(wù)所屬的cim主題域,根據(jù)s構(gòu)建如下微服務(wù)矩陣:
其中,bs表示微服務(wù)矩陣,scd表示微服務(wù)s的類別為c,且其所屬的cim主題域為d。
上述的選取模塊定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合具體過程如下:
定義
∏s=c*bs*dt
其中,∏s表示微服務(wù)集合,c表示微服務(wù)類別選擇特征向量,d表示微服務(wù)所屬cim主題域選擇特征向量,c和d分別如下式所示:
c=[a1,a2…ac]
d=[0,b1,b2…bd]
其中,ac表示c的第c個元素,∏s中若存在微服務(wù)為第c類微服務(wù),ac=1,否則ac=0;bd表示d的第d+1個元素,∏s中若存在微服務(wù)屬于第d個cim主題域,bd=1,否則bd=0。
上述的隔離模塊將微服務(wù)集合中的微服務(wù)加載到虛擬容器中具體過程如下:
將電網(wǎng)信息物理系統(tǒng)中的虛擬容器v用下式表示:
其中,v′表示剩余可分配的虛擬容器,vm表示微服務(wù)管理平面使用的虛擬容器,
各虛擬容器之間進行信息交互具體過程如下:
定義
在g(v,→)中,
且
其中,t表示狀態(tài)集合,t表示狀態(tài);a表示電網(wǎng)信息物理系統(tǒng)的動作集合,a表示動作;v表示虛擬容器,vs表示
上述的隔離模塊通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離具體過程如下:
先確定虛擬容器同時滿足以下約束條件:
1)
其中,vx,vv表示
2)可分配的虛擬容器處于初始化狀態(tài),且可分配的虛擬容器不包含遺留的微服務(wù)及微服務(wù)的數(shù)據(jù),形式化表示為:
其中,domain(t,v,s)表示電網(wǎng)信息物理系統(tǒng)中v加載了s后,在t下對應(yīng)的cim主題域;domain(t,v,s)=0表示對虛擬容器進行初始化,在v′中的所有v均滿足domain(t,v,s)=0;
3)
其中,tx,ty表示t中的任意狀態(tài),step(tx,a)表示在tx下執(zhí)行a到達下一個狀態(tài)的過程,step(ty,a)表示在ty下執(zhí)行a到達下一個狀態(tài)的過程;
然后,根據(jù)虛擬容器滿足的上述約束條件使微服務(wù)相互調(diào)用,以實現(xiàn)對微服務(wù)的隔離。
實施例3
基于同一發(fā)明構(gòu)思,本發(fā)明實施例3提供了一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法,其中的電網(wǎng)信息物理系統(tǒng)為電網(wǎng)智能運檢管控系統(tǒng),本發(fā)明實施例3提供的微服務(wù)隔離方法具體過程如下:
s101:定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),以及所述微服務(wù)的類別和對應(yīng)的cim主題域,并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;
s102:定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),并從s101構(gòu)建的微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;
s103:將s102中的微服務(wù)集合中的微服務(wù)加載到虛擬容器中,各虛擬容器之間進行信息交互,并通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離。
用于電網(wǎng)智能運檢管控系統(tǒng)的微服務(wù)隔離示意圖如圖2所示,通過一次、二次設(shè)備和信息系統(tǒng)的配合,可以完成物理實體與環(huán)境、物理實體之間(包括設(shè)備、人等)的感知、分析、決策和執(zhí)行。通過采集電網(wǎng)設(shè)備的實時運行數(shù)據(jù),在統(tǒng)一的接口協(xié)議或者接口轉(zhuǎn)化標準下連接,進行設(shè)備性能、安全、狀態(tài)等特性分析,在最短時間內(nèi)掌握生產(chǎn)現(xiàn)場的變化,從而作出準確判斷和生產(chǎn)指揮,及時執(zhí)行搶修、維護作業(yè);幫助電網(wǎng)運檢中心建立精準、全面的電網(wǎng)圖景,在知識庫和規(guī)則庫的約束下,預(yù)測設(shè)備的運行狀態(tài),并提前采取恰當(dāng)?shù)念A(yù)測性維護。于是上述s101中,定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣具體過程如下:
首先定義s表示電網(wǎng)信息物理系統(tǒng)中的微服務(wù),c、d分別表示微服務(wù)的類別和微服務(wù)所屬的cim主題域(如一級主題域為設(shè)備,對應(yīng)的二級主題域為輸電設(shè)備、變電設(shè)備、配電設(shè)備、保護設(shè)備、自動化設(shè)備、設(shè)備監(jiān)視、設(shè)備操作、設(shè)備缺陷、作業(yè)過程等等),然后根據(jù)s構(gòu)建如下微服務(wù)矩陣:
其中,bs表示微服務(wù)矩陣,scd為bs的第c行、第d列元素,其表示微服務(wù)s的類別為c,且其所屬的cim主題域為d。且bs中的任意元素均具有唯一性和不可替代性,是功能獨立、接口明確的微服務(wù),且任意兩個微服務(wù)均可以相互調(diào)用。其中,sc0表示為在所有cim主題域中都可用的c類微服務(wù)。
上述s102中,定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合具體過程如下:
先定義
例如作業(yè)過程中的作業(yè)過程跟蹤服務(wù),對應(yīng)于bs中的流程引擎、工單、組織機構(gòu)等服務(wù),并與作業(yè)標準、作業(yè)計劃等其它二級主題域相關(guān)。于是從bs中選取如下與
∏s=c*bs*dt
其中,∏s表示微服務(wù)集合,c表示微服務(wù)類別選擇特征向量,d表示微服務(wù)所屬cim主題域選擇特征向量,c和d分別如下式所示:
c=[a1,a2…ac]
d=[0,b1,b2…bd]
其中,ac表示c的第c個元素,∏s中若存在微服務(wù)為第c類微服務(wù),ac=1,否則ac=0;bd表示d的第d+1個元素,∏s中若存在微服務(wù)屬于第d個cim主題域,bd=1,否則bd=0。
b1,b2…bd依據(jù)cim定義,包括一級、二級主題域,一個一級主題域可包含多個二級主題域。
上述s103中,由于一個容器只能加載一個微服務(wù),但一個微服務(wù)(如作業(yè)過程跟蹤服務(wù))可以被加載到若干個虛擬容器中,形成多個微服務(wù)的實例。在本實施例中,微服務(wù)基于springcloud框架實現(xiàn),用springboot完成微服務(wù)的打包和發(fā)布。基于docker技術(shù)實現(xiàn)虛擬容器,docker是基于linux進程的輕量級容器技術(shù),將微服務(wù)的鏡像文件加載到進程中,只有鏡像中的程序可以訪問容器內(nèi)數(shù)據(jù),通過docker容器的隔離實現(xiàn)信息流的隔離。所以通過微服務(wù)管理平面將微服務(wù)集合中的微服務(wù)加載到虛擬容器中具體過程如下:
先將電網(wǎng)信息物理系統(tǒng)中的虛擬容器v用下式表示:
其中,v′表示剩余可分配的虛擬容器,vm表示微服務(wù)管理平面使用的虛擬容器,
在本實施例3中,docker容器運行在安裝了linux的x86服務(wù)器上,基于spring框架和docker的swarm管理組件,開發(fā)微服務(wù)管理平面,例如使用zuul反向代理組件管理不同服務(wù)調(diào)用者的定制化權(quán)限、身份校驗等業(yè)務(wù)邏輯。各虛擬容器之間進行信息交互,并定義
在g(v,→)中,
且
其中,t表示狀態(tài)集合,t表示狀態(tài);a表示電網(wǎng)信息物理系統(tǒng)的動作集合,a表示動作;v表示虛擬容器,vs表示
上述s103中,通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離,具體過程如下:
先確定虛擬容器同時滿足以下約束條件:
1)
其中,vx,vy表示
2)可分配的虛擬容器處于初始化狀態(tài),且可分配的虛擬容器不包含遺留的微服務(wù)及微服務(wù)的數(shù)據(jù),形式化表示為:
其中,domain(t,v,s)表示電網(wǎng)信息物理系統(tǒng)中v加載了s后,在t下對應(yīng)的cim主題域;domain(t,v,s)=0表示對虛擬容器進行初始化,在v′中的所有v均滿足domain(t,v,s)=0;
3)
其中,tx,ty表示t中的任意狀態(tài),step(tx,a)表示在tx下執(zhí)行a到達下一個狀態(tài)的過程,step(ty,a)表示在ty下執(zhí)行a到達下一個狀態(tài)的過程;
然后,根據(jù)虛擬容器滿足的上述約束條件使微服務(wù)相互調(diào)用,以實現(xiàn)對微服務(wù)的隔離。在智能運檢管控系統(tǒng)的運行中,微服務(wù)加載到docker容器中運行,而容器的文件系統(tǒng)都是掛載到了真實linux系統(tǒng)中的目錄,docker容器不能穿越目錄去訪問其他容器的數(shù)據(jù),即所有容器都在文件系統(tǒng)隔離。因此,可以通過目錄掛載和訪問權(quán)限配置等手段,實現(xiàn)容器的隔離和微服務(wù)卸載時的數(shù)據(jù)歸檔清理,從而實現(xiàn)信息流在虛擬容器級別上的隔離。
實施例4
基于同一發(fā)明構(gòu)思,本發(fā)明實施例4提供了一種適用于電網(wǎng)信息物理系統(tǒng)的微服務(wù)隔離方法,其中的電網(wǎng)信息物理系統(tǒng)為電動汽車車聯(lián)網(wǎng)系統(tǒng),本發(fā)明實施例4提供的微服務(wù)隔離方法具體過程如下:
s101:定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣;
s102:定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),從s101構(gòu)建的微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合;
s103:通過微服務(wù)管理平面將s102中的微服務(wù)集合中的微服務(wù)加載到虛擬容器中,并通過cim主題域?qū)π畔⒘鬟M行隔離。
用于電動汽車車聯(lián)網(wǎng)系統(tǒng)的微服務(wù)隔離示意圖如圖3所示。電動汽車車聯(lián)網(wǎng)系統(tǒng)具有充電站、充電樁、電動汽車的監(jiān)控體系和線上線下資源協(xié)同配合的智能運維檢修工作機制,并具備資源監(jiān)控、業(yè)務(wù)運營、充電服務(wù)、租賃服務(wù)和增值服務(wù)等功能,所屬的cim主題域有客戶、設(shè)備等一級主題域,對應(yīng)的二級主題域為用電計量、客戶服務(wù)、設(shè)備監(jiān)視等等。上述s101中,定義電網(wǎng)信息物理系統(tǒng)中的微服務(wù),并根據(jù)微服務(wù)構(gòu)建微服務(wù)矩陣具體過程如下:
首先定義s表示電網(wǎng)信息物理系統(tǒng)中的微服務(wù),c、d分別表示微服務(wù)的類別和微服務(wù)所屬的cim主題域,然后根據(jù)s構(gòu)建如下微服務(wù)矩陣:
其中,bs表示微服務(wù)矩陣,scd為bs的第c行、第d列元素,其表示微服務(wù)s的類別為c,且其所屬的cim主題域為d。且bs中的任意元素均具有唯一性和不可替代性,是功能獨立、接口明確的微服務(wù),且任意兩個微服務(wù)均可以相互調(diào)用。其中,sc0表示為在所有cim主題域中都可用的c類微服務(wù)。
在本實施例中,虛擬容器基于docker技術(shù)實現(xiàn)。在充電站內(nèi)部,docker容器可以運行在安裝了linux的x86服務(wù)器上;在充電樁、電動汽車上,容器可以運行在安裝了archlinux的raspberrypi單板計算機上,基于raspbian基礎(chǔ)鏡像完成相關(guān)微服務(wù)的發(fā)布和加載。從而可以基于docker的管理組件開發(fā)微服務(wù)管理平面。充電站內(nèi)部的x86服務(wù)器、充電樁、電動汽車上的單板計算機通過電力專用通信接入網(wǎng)或4g無線虛擬專網(wǎng),基于ip協(xié)議互連,從而使運行在不同軟硬件上的虛擬容器能夠相互聯(lián)接。
上述s102中,定義電網(wǎng)信息物理系統(tǒng)中的應(yīng)用服務(wù),從微服務(wù)矩陣中選取與應(yīng)用服務(wù)對應(yīng)的微服務(wù)集合具體過程如下:
先定義
于是從bs中選取如下與
∏s=c*bs*dt
其中,∏s表示微服務(wù)集合,c表示微服務(wù)類別選擇特征向量,d表示微服務(wù)所屬cim主題域選擇特征向量,c和d分別如下式所示:
c=[a1,a2…ac]
d=[0,b1,b2…bd]
其中,ac表示c的第c個元素,∏s中若存在微服務(wù)為第c類微服務(wù),ac=1,否則ac=0;bd表示d的第d+1個元素,∏s中若存在微服務(wù)屬于第d個cim主題域,bd=1,否則bd=0。
b1,b2…bd依據(jù)cim定義,包括一級、二級主題域,一個一級主題域可包含多個二級主題域。
上述s103中,由于一個容器只能加載一個微服務(wù),但一個微服務(wù)可以被加載到若干個虛擬容器中,形成多個微服務(wù)的實例。所以通過微服務(wù)管理平面將微服務(wù)集合中的微服務(wù)加載到虛擬容器中具體過程如下:
先將電網(wǎng)信息物理系統(tǒng)中的虛擬容器v用下式表示:
其中,v′表示剩余可分配的虛擬容器,vm表示微服務(wù)管理平面使用的虛擬容器,
然后,各虛擬容器之間進行信息交互,定義
其中,t表示狀態(tài)集合,t表示狀態(tài);a表示電網(wǎng)信息物理系統(tǒng)的動作集合,a表示動作;v表示虛擬容器,vs表示
上述s103中,通過cim主題域?qū)崿F(xiàn)對微服務(wù)的隔離,具體過程如下:
先確定虛擬容器同時滿足以下約束條件:
1)
其中,vx,vy表示
2)可分配的虛擬容器處于初始化狀態(tài),且可分配的虛擬容器不包含遺留的微服務(wù)及微服務(wù)的數(shù)據(jù),形式化表示為:
其中,domain(t,v,s)表示電網(wǎng)信息物理系統(tǒng)中v加載了s后,在t下對應(yīng)的cim主題域;domain(t,v,s)=0表示對虛擬容器進行初始化,在v′中的所有v均滿足domain(t,v,s)=0;
3)
其中,tx,ty表示t中的任意狀態(tài),step(tx,a)表示在tx下執(zhí)行a到達下一個狀態(tài)的過程,step(ty,a)表示在ty下執(zhí)行a到達下一個狀態(tài)的過程;
然后,根據(jù)虛擬容器滿足的上述約束條件使微服務(wù)相互調(diào)用,以實現(xiàn)對微服務(wù)的隔離。
在電動汽車車聯(lián)網(wǎng)系統(tǒng)的管理平面中執(zhí)行如本發(fā)明實施例4所述的形式化規(guī)則,使不同的服務(wù)之間不存在重復(fù)的虛擬容器;對于充電站內(nèi)部的虛擬容器,通過linux文件系統(tǒng)實現(xiàn)隔離,對于運行在單板計算機上的容器,通過加載容器時的命令,將非易失性存儲器(如sd卡)中對應(yīng)的指令讀取到內(nèi)存中運行形成的數(shù)據(jù),保證可分配的容器處于清空狀態(tài),不包含遺留的微服務(wù)及其數(shù)據(jù);服務(wù)使用的每一個容器都對應(yīng)于一個cim主題域,在服務(wù)執(zhí)行過程中,其cim主題域保持不變。
本發(fā)明實施例4通過微服務(wù)的編排組合實現(xiàn)個性化服務(wù),根據(jù)統(tǒng)一的cim實現(xiàn)隔離,相關(guān)規(guī)則具有形式化表示并在統(tǒng)一的微服務(wù)管理平面中執(zhí)行。即使有黑客入侵了電動汽車,獲知到docker容器名稱、容器數(shù)據(jù)掛載路徑等信息,也無法直接篡改數(shù)據(jù),或跨越容器訪問到位于同一單板計算機上屬于其它cim主題域的虛擬容器,從而保障電動汽車車聯(lián)網(wǎng)系統(tǒng)的規(guī)范性和安全性。
為了描述的方便,以上所述裝置的各部分以功能分為各種模塊或單元分別描述。當(dāng)然,在實施本申請時可以把各模塊或單元的功能在同一個或多個軟件或硬件中實現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
最后應(yīng)當(dāng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,所屬領(lǐng)域的普通技術(shù)人員參照上述實施例依然可以對本發(fā)明的具體實施方式進行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請待批的本發(fā)明的權(quán)利要求保護范圍之內(nèi)。