一种适用于电网信息物理系统的微服务隔离方法和装置与流程

文档序号:11180490阅读:399来源:国知局
一种适用于电网信息物理系统的微服务隔离方法和装置与流程

本发明涉及电网信息物理系统技术领域,具体涉及一种适用于电网信息物理系统的微服务隔离方法和装置。



背景技术:

电网是规模最大也是最复杂的互联系统之一,是典型的信息物理融合系统研究对象,电网cps旨在充分反映电网运行的物理过程和信息过程,体现两者融合机理和相互作用机制,以期通过更高级的控制方式提升系统整体性能并优化全局系统运行,提高能源利用率、设备利用潜力及系统可靠性、安全性和稳定性。

在电网信息物理系统中,信息所有权和使用权等问题依然存在,而且电网信息物理系统的组织结构柔性进一步增加,需要合适的管理措施来保证不同服务之间的隔离,确保信息服务的规范性和可靠性。因此,如何通过合适的建模与管控技术,使信息隔离与业务规范结合起来,成为电网信息物理系统的研究重点,目的是为相关工程系统的设计、建设和运行提供支撑。

目前,容器技术由于其易用性、高效率等特征,得到广泛应用,在基于容器的隔离方面已经有一定成果。例如,申请号为201610072268.5的发明专利公开了一种基于容器的数据重分布方法及装置,该发明专利针对不同类型的数据库容器,进行了数据库容器的迁移,优化容器中数据库服务的性能,有效提升容器中数据库服务的性能。申请号为201510497067.5的发明专利公开了一种docker容器内数据的访问方法及装置,该发明专利设置位于当前docker容器外部的请求端具有对当前docker容器内部数据所对应的挂载路径和容器路径的访问权限,获取请求并判断所述目标请求端是否具有权限,用于提高安全性等。但是,上述两个专利主要是基于it技术进行优化,对业务特征考虑较少,没有将容器技术结合到电网业务中来,尤其是在电网信息系统和物理系统高度融合的情况下,如果没有合适的手段确保不同服务之间实现隔离,将很难保障电网信息物理系统应用的规范性和安全性。



技术实现要素:

为了克服上述现有技术的不足,本发明提供一种适用于电网信息物理系统的微服务隔离方法和装置,依据统一的cim实现基于微服务的信息流隔离,信息流隔离需遵循的规则在统一的微服务管理平面中执行,保障电网信息物理系统应用的规范性和安全性,且本发明具有实际可操作性。

为了实现上述发明目的,本发明采取如下技术方案:

本发明提供一种适用于电网信息物理系统的微服务隔离方法,包括:

定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵;

定义电网信息物理系统中的应用服务,并从微服务矩阵中选取与应用服务对应的微服务集合;

将微服务集合中的微服务加载到虚拟容器中,各虚拟容器之间进行信息交互,并通过cim主题域实现对微服务的隔离。

所述根据微服务构建如下微服务矩阵:

其中,bs表示微服务矩阵,s表示电网信息物理系统中的微服务,c、d分别表示微服务的类别和微服务所属的cim主题域,scd表示微服务s的类别为c,且其所属的cim主题域为d。

所述从微服务矩阵中选取如下与应用服务对应的微服务集合:

∏s=c*bs*dt

其中,∏s表示微服务集合,c表示微服务类别选择特征向量,d表示微服务所属cim主题域选择特征向量,c和d分别如下式所示:

c=[a1,a2…ac]

d=[0,b1,b2…bd]

其中,ac表示c的第c个元素,∏s中若存在微服务为第c类微服务,ac=1,否则ac=0;bd表示d的第d+1个元素,∏s中若存在微服务属于第d个cim主题域,bd=1,否则bd=0。

将微服务集合中的微服务加载到如下式的虚拟容器中:

其中,v表示虚拟容器,v′表示剩余可分配的虚拟容器,vm表示正在使用的虚拟容器,表示不同的应用服务,分别表示使用的虚拟容器集合。

所述各虚拟容器之间进行信息交互包括:

其中,t表示状态集合,t表示状态;a表示电网信息物理系统的动作集合,a表示动作;v表示虚拟容器,vs表示中的任意虚拟容器;step(t,a)表示在t下执行a到达下一个状态的过程;addr(t,s)表示微服务s在t下使用的虚拟容器;addr(step(t,a),s)表示微服务s在t执行a到下一个状态时使用的虚拟容器。

所述通过cim主题域实现对微服务的隔离包括:

确定虚拟容器同时满足以下约束条件:

1)之间不存在重复的虚拟容器;

2)剩余可分配的虚拟容器处于初始化状态,且可分配的虚拟容器不包含遗留的微服务及微服务的数据;

3)所述每个虚拟容器都对应一个cim主题域,且在执行过程中,cim主题域保持不变;

根据虚拟容器满足的上述约束条件使微服务相互调用,以实现对微服务的隔离。

本发明还提供一种适用于电网信息物理系统的微服务隔离装置,包括:

构建模块,用于定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵;

选取模块,用于定义电网信息物理系统中的应用服务,并从微服务矩阵中选取与应用服务对应的微服务集合;

隔离模块,用于将微服务集合中的微服务加载到虚拟容器中,各虚拟容器之间进行信息交互,并通过cim主题域实现对微服务的隔离。

所述构建模块具体用于:

根据微服务构建如下微服务矩阵:

其中,bs表示微服务矩阵,s表示电网信息物理系统中的微服务,c、d分别表示微服务的类别和微服务所属的cim主题域,scd表示微服务s的类别为c,且其所属的cim主题域为d。

所述选取模块具体用于:

从微服务矩阵中选取如下与应用服务对应的微服务集合:

∏s=c*bs*dt

其中,∏s表示微服务集合,c表示微服务类别选择特征向量,d表示微服务所属cim主题域选择特征向量,c和d分别如下式所示:

c=[a1,a2…ax]

d=[0,b1,b2…bd]

其中,ac表示c的第c个元素,∏s中若存在微服务为第c类微服务,ac=1,否则ac=0;bd表示d的第d+1个元素,∏s中若存在微服务属于第d个cim主题域,bd=1,否则bd=0。

所述隔离模块具体用于:

将微服务集合中的微服务加载到如下式的虚拟容器中:

其中,v表示虚拟容器,v′表示剩余可分配的虚拟容器,vm表示正在使用的虚拟容器,表示不同的应用服务,分别表示使用的虚拟容器集合。

所述隔离模块具体用于各虚拟容器之间进行信息交互,包括:

其中,t表示状态集合,t表示状态;a表示电网信息物理系统的动作集合,a表示动作;v表示虚拟容器,vs表示中的任意虚拟容器;step(t,a)表示在t下执行a到达下一个状态的过程;addr(t,s)表示微服务s在t下使用的虚拟容器;addr(step(t,a),s)表示微服务s在t执行a到下一个状态时使用的虚拟容器。

所述隔离模块具体用于:

确定虚拟容器同时满足以下约束条件:

1)之间不存在重复的虚拟容器;

2)剩余可分配的虚拟容器处于初始化状态,且可分配的虚拟容器不包含遗留的微服务及微服务的数据;

3)所述每个虚拟容器都对应一个cim主题域,且在执行过程中,cim主题域保持不变;

根据约束条件对微服务进行编排,实现对虚拟容器相互联接构成的信息流进行隔离。

与最接近的现有技术相比,本发明提供的技术方案具有以下有益效果:

本发明提供的适用于电网信息物理系统的微服务隔离方法,先定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵;然后定义电网信息物理系统中的应用服务,并从微服务矩阵中选取与应用服务对应的微服务集合;最后将微服务集合中的微服务加载到虚拟容器中,各虚拟容器之间进行信息交互,最终通过cim主题域实现了对微服务的隔离;

本发明提供的技术方案依据统一的公共信息模型cim实现基于微服务的信息流隔离,信息流隔离需遵循的规则在统一的微服务管理平面中执行,将虚拟容器技术结合到电网信息系统和物理系统融合而成的电网信息物理系统中,确保不同微服务之间实现隔离,以及电网信息物理系统应用的规范性和安全性,且本发明技术方案具有实际可操作性,应用范围广泛。

附图说明

图1是本发明实施例1中适用于电网信息物理系统的微服务隔离方法示意图;

图2是本发明实施例3中用于电网智能运检管控系统的微服务隔离示意图;

图3是本发明实施例4中用于电动汽车车联网系统的微服务隔离示意图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

实施例1

本发明实施例1提供的适用于电网信息物理系统的微服务隔离方法中,电网信息物理系统是具备信息泛在感知、协作计算、交互通信、自动控制功能的复杂测控系统,而且是对社会开放的公共服务系统,需要基于公共信息模型cim用标准的方式交换信息,访问公共可用数据应实现的各种接口。通过微服务的编排组合实现定制服务,根据统一的cim进行信息流隔离,有利于电网信息物理系统应用的规范性和安全性。上述公共信息模型cim(commoninformationmodel)是一种抽象模型,描述了一个电力企业中的所有主要对象,这些对象一般包含在能量管理系统模型中。国家电网公司在cim基础上构建了sg-cim,结合国家电网公司业务进行扩充完善,设计形成了一套完整标准的数据模型和数据访问接口规范。sg-cim主题域亦称为“包”,在sg-cim中是一种将相关模型元件分组的方法,使模型更易于设计、理解与查看。主题域分为一级和二级,一个一级主题域(一般简称为主题域)可包含多个二级主题域。

本发明实施例1提供的微服务隔离方法的流程图如图1所示,具体过程如下:

s101:定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵;

s102:定义电网信息物理系统中的应用服务,并从s101构建的微服务矩阵中选取与应用服务对应的微服务集合;

s103:将s102中的微服务集合中的微服务加载到虚拟容器中,各虚拟容器之间进行信息交互,并通过cim主题域实现对微服务的隔离。

上述s101中,根据微服务构建如下微服务矩阵:

其中,bs表示微服务矩阵,s表示电网信息物理系统中的微服务,c、d分别表示微服务的类别和微服务所属的cim主题域,scd表示微服务s的类别为c,且其所属的cim主题域为d。

上述s102中,从微服务矩阵中选取如下与应用服务对应的微服务集合:

∏s=c*bs*dt

其中,∏s表示微服务集合,c表示微服务类别选择特征向量,d表示微服务所属cim主题域选择特征向量,c和d分别如下式所示:

c=[a1,a2…ac]

d=[0,b1,b2…bd]

其中,ac表示c的第c个元素,∏s中若存在微服务为第c类微服务,ac=1,否则ac=0;bd表示d的第d+1个元素,∏s中若存在微服务属于第d个cim主题域,bd=1,否则bd=0。

上述s103中将微服务集合中的微服务加载到如下式的虚拟容器中具体过程如下:

其中,v表示虚拟容器,v′表示剩余可分配的虚拟容器,vm表示正在使用的虚拟容器,表示不同的应用服务,分别表示使用的虚拟容器集合。

上述s103中各虚拟容器之间进行信息交互具体过程如下:

其中,t表示状态集合,t表示状态;a表示电网信息物理系统的动作集合,a表示动作;v表示虚拟容器,vs表示中的任意虚拟容器;step(t,a)表示在t下执行a到达下一个状态的过程;addr(t,s)表示微服务s在t下使用的虚拟容器;addr(step(t,a),s)表示微服务s在t执行a到下一个状态时使用的虚拟容器。

上述s103中通过cim主题域实现对微服务的隔离具体过程如下:

首先,确定虚拟容器同时满足以下约束条件:

1)之间不存在重复的虚拟容器;

2)剩余可分配的虚拟容器处于初始化状态,且可分配的虚拟容器不包含遗留的微服务及微服务的数据;

4)所述每个虚拟容器都对应一个cim主题域,且在执行过程中,cim主题域保持不变;

然后,根据虚拟容器满足的上述约束条件使微服务相互调用,以实现对微服务的隔离。

实施例2

基于同一发明构思,本发明实施例2还提供了一种适用于电网信息物理系统的微服务隔离装置,实施例2提供的电网信息物理系统中基于cim的微服务隔离装置具体包括构建模块、选取模块和隔离模块,下面分别对这3个模块的功能进行说明:

构建模块,主要用于定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵;

选取模块,主要用于定义电网信息物理系统中的应用服务,并从微服务矩阵中选取与应用服务对应的微服务集合;

隔离模块,主要用于将微服务集合中的微服务加载到虚拟容器中,各虚拟容器之间进行信息交互,并通过cim主题域实现对微服务的隔离。

上述的构建模块定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵具体过程如下:

定义s表示电网信息物理系统中的微服务,c、d分别表示微服务的类别和微服务所属的cim主题域,根据s构建如下微服务矩阵:

其中,bs表示微服务矩阵,scd表示微服务s的类别为c,且其所属的cim主题域为d。

上述的选取模块定义电网信息物理系统中的应用服务,从微服务矩阵中选取与应用服务对应的微服务集合具体过程如下:

定义表示电网信息物理系统中的应用服务,任意一个应用服务都和cim主题域相关,从bs中选取如下与对应的微服务集合:

∏s=c*bs*dt

其中,∏s表示微服务集合,c表示微服务类别选择特征向量,d表示微服务所属cim主题域选择特征向量,c和d分别如下式所示:

c=[a1,a2…ac]

d=[0,b1,b2…bd]

其中,ac表示c的第c个元素,∏s中若存在微服务为第c类微服务,ac=1,否则ac=0;bd表示d的第d+1个元素,∏s中若存在微服务属于第d个cim主题域,bd=1,否则bd=0。

上述的隔离模块将微服务集合中的微服务加载到虚拟容器中具体过程如下:

将电网信息物理系统中的虚拟容器v用下式表示:

其中,v′表示剩余可分配的虚拟容器,vm表示微服务管理平面使用的虚拟容器,表示不同的应用服务,分别表示使用的虚拟容器集合;

各虚拟容器之间进行信息交互具体过程如下:

定义之间的虚拟容器不存在重复,虚拟容器不能直接在服务之间切换,必须在微服务管理平面中经过回收和重新加载微服务的过程,形式化表示为:

在g(v,→)中,有:

其中,t表示状态集合,t表示状态;a表示电网信息物理系统的动作集合,a表示动作;v表示虚拟容器,vs表示中的任意虚拟容器;step(t,a)表示在t下执行a到达下一个状态的过程;addr(t,s)表示微服务s在t下使用的虚拟容器,addr(step(t,a),s)表示微服务s在t执行a到下一个状态时使用的虚拟容器。

上述的隔离模块通过cim主题域实现对微服务的隔离具体过程如下:

先确定虚拟容器同时满足以下约束条件:

1)之间不存在重复的虚拟容器,形式化表示为:

当vx∈addr(t,s)∧vy∈addr(t,s)时,vx=vy

其中,vx,vv表示中的任意虚拟容器;

2)可分配的虚拟容器处于初始化状态,且可分配的虚拟容器不包含遗留的微服务及微服务的数据,形式化表示为:

其中,domain(t,v,s)表示电网信息物理系统中v加载了s后,在t下对应的cim主题域;domain(t,v,s)=0表示对虚拟容器进行初始化,在v′中的所有v均满足domain(t,v,s)=0;

3)使用的每个虚拟容器都对应一个cim主题域,且在执行过程中,的cim主题域保持不变,形式化表示为:

其中,tx,ty表示t中的任意状态,step(tx,a)表示在tx下执行a到达下一个状态的过程,step(ty,a)表示在ty下执行a到达下一个状态的过程;

然后,根据虚拟容器满足的上述约束条件使微服务相互调用,以实现对微服务的隔离。

实施例3

基于同一发明构思,本发明实施例3提供了一种适用于电网信息物理系统的微服务隔离方法,其中的电网信息物理系统为电网智能运检管控系统,本发明实施例3提供的微服务隔离方法具体过程如下:

s101:定义电网信息物理系统中的微服务,以及所述微服务的类别和对应的cim主题域,并根据微服务构建微服务矩阵;

s102:定义电网信息物理系统中的应用服务,并从s101构建的微服务矩阵中选取与应用服务对应的微服务集合;

s103:将s102中的微服务集合中的微服务加载到虚拟容器中,各虚拟容器之间进行信息交互,并通过cim主题域实现对微服务的隔离。

用于电网智能运检管控系统的微服务隔离示意图如图2所示,通过一次、二次设备和信息系统的配合,可以完成物理实体与环境、物理实体之间(包括设备、人等)的感知、分析、决策和执行。通过采集电网设备的实时运行数据,在统一的接口协议或者接口转化标准下连接,进行设备性能、安全、状态等特性分析,在最短时间内掌握生产现场的变化,从而作出准确判断和生产指挥,及时执行抢修、维护作业;帮助电网运检中心建立精准、全面的电网图景,在知识库和规则库的约束下,预测设备的运行状态,并提前采取恰当的预测性维护。于是上述s101中,定义电网信息物理系统中的微服务,并根据微服务构建微服务矩阵具体过程如下:

首先定义s表示电网信息物理系统中的微服务,c、d分别表示微服务的类别和微服务所属的cim主题域(如一级主题域为设备,对应的二级主题域为输电设备、变电设备、配电设备、保护设备、自动化设备、设备监视、设备操作、设备缺陷、作业过程等等),然后根据s构建如下微服务矩阵:

其中,bs表示微服务矩阵,scd为bs的第c行、第d列元素,其表示微服务s的类别为c,且其所属的cim主题域为d。且bs中的任意元素均具有唯一性和不可替代性,是功能独立、接口明确的微服务,且任意两个微服务均可以相互调用。其中,sc0表示为在所有cim主题域中都可用的c类微服务。

上述s102中,定义电网信息物理系统中的应用服务,从微服务矩阵中选取与应用服务对应的微服务集合具体过程如下:

先定义表示电网信息物理系统中的应用服务,由于任意一个应用服务都和cim主题域(如作业过程二级主题域)均相关,对应于一个微服务集合∏s,∏s中所有的元素都属于微服务矩阵bs,应用服务由微服务集合∏s中的微服务相互调用得来,智能运检管控系统的微服务具有组合性和完备性。

例如作业过程中的作业过程跟踪服务,对应于bs中的流程引擎、工单、组织机构等服务,并与作业标准、作业计划等其它二级主题域相关。于是从bs中选取如下与对应的微服务集合:

∏s=c*bs*dt

其中,∏s表示微服务集合,c表示微服务类别选择特征向量,d表示微服务所属cim主题域选择特征向量,c和d分别如下式所示:

c=[a1,a2…ac]

d=[0,b1,b2…bd]

其中,ac表示c的第c个元素,∏s中若存在微服务为第c类微服务,ac=1,否则ac=0;bd表示d的第d+1个元素,∏s中若存在微服务属于第d个cim主题域,bd=1,否则bd=0。

b1,b2…bd依据cim定义,包括一级、二级主题域,一个一级主题域可包含多个二级主题域。

上述s103中,由于一个容器只能加载一个微服务,但一个微服务(如作业过程跟踪服务)可以被加载到若干个虚拟容器中,形成多个微服务的实例。在本实施例中,微服务基于springcloud框架实现,用springboot完成微服务的打包和发布。基于docker技术实现虚拟容器,docker是基于linux进程的轻量级容器技术,将微服务的镜像文件加载到进程中,只有镜像中的程序可以访问容器内数据,通过docker容器的隔离实现信息流的隔离。所以通过微服务管理平面将微服务集合中的微服务加载到虚拟容器中具体过程如下:

先将电网信息物理系统中的虚拟容器v用下式表示:

其中,v′表示剩余可分配的虚拟容器,vm表示微服务管理平面使用的虚拟容器,分别表示使用的虚拟容器集合;

在本实施例3中,docker容器运行在安装了linux的x86服务器上,基于spring框架和docker的swarm管理组件,开发微服务管理平面,例如使用zuul反向代理组件管理不同服务调用者的定制化权限、身份校验等业务逻辑。各虚拟容器之间进行信息交互,并定义

之间的虚拟容器不存在重复,即虚拟容器不能直接在服务之间切换,必须在微服务管理平面中经过回收和重新加载微服务的过程;形式化表示为:

在g(v,→)中,有:

其中,t表示状态集合,t表示状态;a表示电网信息物理系统的动作集合,a表示动作;v表示虚拟容器,vs表示中的任意虚拟容器;step(t,a)表示在t下执行a到达下一个状态的过程;addr(t,s)表示微服务s在t下使用的虚拟容器,addr(step(t,a),s)表示微服务s在t执行a到下一个状态时使用的虚拟容器。

上述s103中,通过cim主题域实现对微服务的隔离,具体过程如下:

先确定虚拟容器同时满足以下约束条件:

1)之间不存在重复的虚拟容器,形式化表示为:

当vx∈addr(t,s)∧vy∈addr(t,s)时,vx=vy

其中,vx,vy表示中的任意虚拟容器;

2)可分配的虚拟容器处于初始化状态,且可分配的虚拟容器不包含遗留的微服务及微服务的数据,形式化表示为:

其中,domain(t,v,s)表示电网信息物理系统中v加载了s后,在t下对应的cim主题域;domain(t,v,s)=0表示对虚拟容器进行初始化,在v′中的所有v均满足domain(t,v,s)=0;

3)使用的每个虚拟容器都对应一个cim主题域,且在执行过程中,的cim主题域保持不变,形式化表示为:

其中,tx,ty表示t中的任意状态,step(tx,a)表示在tx下执行a到达下一个状态的过程,step(ty,a)表示在ty下执行a到达下一个状态的过程;

然后,根据虚拟容器满足的上述约束条件使微服务相互调用,以实现对微服务的隔离。在智能运检管控系统的运行中,微服务加载到docker容器中运行,而容器的文件系统都是挂载到了真实linux系统中的目录,docker容器不能穿越目录去访问其他容器的数据,即所有容器都在文件系统隔离。因此,可以通过目录挂载和访问权限配置等手段,实现容器的隔离和微服务卸载时的数据归档清理,从而实现信息流在虚拟容器级别上的隔离。

实施例4

基于同一发明构思,本发明实施例4提供了一种适用于电网信息物理系统的微服务隔离方法,其中的电网信息物理系统为电动汽车车联网系统,本发明实施例4提供的微服务隔离方法具体过程如下:

s101:定义电网信息物理系统中的微服务,并根据微服务构建微服务矩阵;

s102:定义电网信息物理系统中的应用服务,从s101构建的微服务矩阵中选取与应用服务对应的微服务集合;

s103:通过微服务管理平面将s102中的微服务集合中的微服务加载到虚拟容器中,并通过cim主题域对信息流进行隔离。

用于电动汽车车联网系统的微服务隔离示意图如图3所示。电动汽车车联网系统具有充电站、充电桩、电动汽车的监控体系和线上线下资源协同配合的智能运维检修工作机制,并具备资源监控、业务运营、充电服务、租赁服务和增值服务等功能,所属的cim主题域有客户、设备等一级主题域,对应的二级主题域为用电计量、客户服务、设备监视等等。上述s101中,定义电网信息物理系统中的微服务,并根据微服务构建微服务矩阵具体过程如下:

首先定义s表示电网信息物理系统中的微服务,c、d分别表示微服务的类别和微服务所属的cim主题域,然后根据s构建如下微服务矩阵:

其中,bs表示微服务矩阵,scd为bs的第c行、第d列元素,其表示微服务s的类别为c,且其所属的cim主题域为d。且bs中的任意元素均具有唯一性和不可替代性,是功能独立、接口明确的微服务,且任意两个微服务均可以相互调用。其中,sc0表示为在所有cim主题域中都可用的c类微服务。

在本实施例中,虚拟容器基于docker技术实现。在充电站内部,docker容器可以运行在安装了linux的x86服务器上;在充电桩、电动汽车上,容器可以运行在安装了archlinux的raspberrypi单板计算机上,基于raspbian基础镜像完成相关微服务的发布和加载。从而可以基于docker的管理组件开发微服务管理平面。充电站内部的x86服务器、充电桩、电动汽车上的单板计算机通过电力专用通信接入网或4g无线虚拟专网,基于ip协议互连,从而使运行在不同软硬件上的虚拟容器能够相互联接。

上述s102中,定义电网信息物理系统中的应用服务,从微服务矩阵中选取与应用服务对应的微服务集合具体过程如下:

先定义表示电网信息物理系统中的应用服务;由于任意一个应用服务都和cim主题域均相关,对应于一个微服务集合∏s,∏s中所有的元素都属于微服务矩阵bs,应用服务由微服务集合∏s中的微服务相互调用得来。

于是从bs中选取如下与对应的微服务集合:

∏s=c*bs*dt

其中,∏s表示微服务集合,c表示微服务类别选择特征向量,d表示微服务所属cim主题域选择特征向量,c和d分别如下式所示:

c=[a1,a2…ac]

d=[0,b1,b2…bd]

其中,ac表示c的第c个元素,∏s中若存在微服务为第c类微服务,ac=1,否则ac=0;bd表示d的第d+1个元素,∏s中若存在微服务属于第d个cim主题域,bd=1,否则bd=0。

b1,b2…bd依据cim定义,包括一级、二级主题域,一个一级主题域可包含多个二级主题域。

上述s103中,由于一个容器只能加载一个微服务,但一个微服务可以被加载到若干个虚拟容器中,形成多个微服务的实例。所以通过微服务管理平面将微服务集合中的微服务加载到虚拟容器中具体过程如下:

先将电网信息物理系统中的虚拟容器v用下式表示:

其中,v′表示剩余可分配的虚拟容器,vm表示微服务管理平面使用的虚拟容器,分别表示使用的虚拟容器集合;

然后,各虚拟容器之间进行信息交互,定义之间的虚拟容器不存在重复,即虚拟容器不能直接在服务之间切换,必须在微服务管理平面中经过回收和重新加载微服务的过程;形式化表示为:

其中,t表示状态集合,t表示状态;a表示电网信息物理系统的动作集合,a表示动作;v表示虚拟容器,vs表示中的任意虚拟容器;step(t,a)表示在t下执行a到达下一个状态的过程;addr(t,s)表示微服务s在t下使用的虚拟容器。

上述s103中,通过cim主题域实现对微服务的隔离,具体过程如下:

先确定虚拟容器同时满足以下约束条件:

1)之间不存在重复的虚拟容器,形式化表示为:

当vx∈addr(t,s)∧vy∈addr(t,s)时,vx=vy

其中,vx,vy表示中的任意虚拟容器;

2)可分配的虚拟容器处于初始化状态,且可分配的虚拟容器不包含遗留的微服务及微服务的数据,形式化表示为:

其中,domain(t,v,s)表示电网信息物理系统中v加载了s后,在t下对应的cim主题域;domain(t,v,s)=0表示对虚拟容器进行初始化,在v′中的所有v均满足domain(t,v,s)=0;

3)使用的每个虚拟容器都对应一个cim主题域,且在执行过程中,的cim主题域保持不变,形式化表示为:

其中,tx,ty表示t中的任意状态,step(tx,a)表示在tx下执行a到达下一个状态的过程,step(ty,a)表示在ty下执行a到达下一个状态的过程;

然后,根据虚拟容器满足的上述约束条件使微服务相互调用,以实现对微服务的隔离。

在电动汽车车联网系统的管理平面中执行如本发明实施例4所述的形式化规则,使不同的服务之间不存在重复的虚拟容器;对于充电站内部的虚拟容器,通过linux文件系统实现隔离,对于运行在单板计算机上的容器,通过加载容器时的命令,将非易失性存储器(如sd卡)中对应的指令读取到内存中运行形成的数据,保证可分配的容器处于清空状态,不包含遗留的微服务及其数据;服务使用的每一个容器都对应于一个cim主题域,在服务执行过程中,其cim主题域保持不变。

本发明实施例4通过微服务的编排组合实现个性化服务,根据统一的cim实现隔离,相关规则具有形式化表示并在统一的微服务管理平面中执行。即使有黑客入侵了电动汽车,获知到docker容器名称、容器数据挂载路径等信息,也无法直接篡改数据,或跨越容器访问到位于同一单板计算机上属于其它cim主题域的虚拟容器,从而保障电动汽车车联网系统的规范性和安全性。

为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1