一种基于区块链的通用数字孪生服务接入方法及系统
文献发布时间:2024-04-18 19:58:26
技术领域
本发明涉及数字孪生的技术领域,更具体地,涉及一种基于区块链的通用数字孪生服务接入方法及系统。
背景技术
区块链技术是一种分布式账本技术,通过多个网络节点对同一交易的共识,实现了去中心化的数据安全,目前已得到广泛应用。数字孪生技术是工业物联网的重要新兴技术,能够极大提高物联网的管理效率和运作效率。区块链与数字孪生的综合应用是近年来信息科学研究的热门领域,区块链技术使得数字孪生具有分布安全的特性,具有重大研究前景。但目前相关的研究仍停留在初级阶段,即使对二者进行了集成,所集成的系统也并没有针对性地考虑这两种技术的特点而进行优化,因此存在性能低下、可扩展性差、安全性不足、开发成本高昂、缺乏一致接口等问题。
现有技术提出了一种基于数字孪生和区块链的高效可信能源数据处理方法,该方法包括以下步骤:首先,按照初始的频率采集不同设备的能源数据,并打包上传,经解析和重封装后上传至边缘云提取波动敏感数据存储,用于构建数字孪生模型;然后,构建SEM模型计算实时最优采集频率反馈给各数据源设备动态闭环调整。最后,根据边缘云数据生成目录存入区块链节点中,访问方发出请求,经收集方同意后创建智能合约,访问方签订并提供公钥;区块链节点根据目录获取数据位置,并按照定位在云平台上获取原始数据。收集方用公钥加密原始数据并上传至智能合约,访问方利用本地保留的私钥解密数据后即可使用。
现有技术提出的方法将智能合约作为数据存储空间和数据访问接口,以此为媒介将虚拟实体的数据记录在区块链网络上。这种方式没有考虑到数字孪生系统的特性,因此在实际应用过程中,区块链网络上的虚拟孪生体存在许多问题,包括数据结构无法扩展、不具备智能、数据同步效率低下、安全性和隐私性无法保证等;另外,采用该方法进行开发时,若是不同组织的开发方法存在差异,会产生不同的数字孪生系统,且不同的数字孪生系统无法兼容,并且难以在性能、安全等方面达到最佳。
综上所述,现有技术的基于区块链的数字孪生系统存在着数据结构无法扩展、不具备智能、数据同步效率低下、安全性、隐私性无法保证等性能问题,以及不同的数字孪生系统无法兼容的兼容性问题。
发明内容
本发明为克服上述现有技术所述的性能差和兼容性差的缺陷,提供一种性能及兼容性优良的基于区块链的通用数字孪生服务接入方法及系统。
为解决上述技术问题,本发明的技术方案如下:
一种基于区块链的通用数字孪生服务接入系统,系统包括:区块链网络、传感器网络、反向代理服务器、事件处理服务器和用户终端;
所述区块链网络具有若干个区块链节点,且所述区块链网络上部署有智能合约,所述智能合约上设有虚拟孪生体模型;
所述传感器网络包括若干个传感器、若干个网关和若干个执行器;所述传感器用于采集物理实体的状态信息,并将物理实体的状态信息编码转化为数字信号;所述网关利用虚拟孪生体模型,对数字信号进行编码、封装打包和签名,并对执行器发送执行信号;所述执行器用于执行物理动作;所述区块链节点运行智能合约,向虚拟孪生体模型写入状态信息;
所述反向代理服务器用于在每次网关对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点,并将网关的连接请求转发至区块链节点;
所述事件处理服务器用于在区块链节点对智能合约执行完毕后,向区块链网络外发送虚拟孪生体更新通告;
所述用户终端连接区块链网络,用于从区块链网络中读取虚拟孪生体的信息。
本发明还提出了一种基于区块链的通用数字孪生服务接入方法,应用上述的基于区块链的通用数字孪生服务接入系统。所述方法包括以下步骤:
S1:初始化通用数字孪生服务接入系统、数字孪生体模型及物理实体;
S2:通过传感器网络采集物理实体的状态信息,并利用虚拟孪生体模型,在传感器网络中,对物理实体的状态信息进行编码、封装打包和签名,得到实体状态信息包;
S3:利用反向代理服务器,将实体状态信息包发送至区块链网络的区块链节点,区块链节点提取实体状态信息包的交易信息后,验证交易信息;在区块链节点中运行智能合约,使通过验证的交易信息中包含的物理实体的状态信息写入区块链网络上的虚拟孪生体;
S4:智能合约执行完毕后,利用事件处理服务器向区块链网络外发送虚拟孪生体更新通告;利用虚拟孪生体更新通告,同步虚拟孪生体的信息与物理实体的信息;
S5:用户终端利用智能合约提供的接口,查询区块链网络上的虚拟孪生体的信息,或修改虚拟孪生体模型;
S6:循环步骤S2~S5,直至区块链上数字孪生服务结束。
本发明还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其中所述计算机可读指令被所述处理器执行时,使得所述处理器执行本发明提出的基于区块链的通用数字孪生服务接入方法的步骤。
与现有技术相比,本发明技术方案的有益效果是:
本发明利用智能合约中的数字孪生引擎将物理实体的状态信息写入虚拟孪生体中,由于数字孪生引擎支持功能的横向扩展或竖向扩展、能够实现智能行为,且不存在兼容性的问题,因此本发明的虚拟孪生体的性能较好,适用性较广;利用区块链节点验证交易信息,仅将通过验证的交易信息中包含的物理实体的状态信息写入虚拟孪生体,能够提高虚拟孪生体的安全性,利用事件处理服务器,使虚拟孪生体的信息与物理实体的信息同步,能够有效提高数据同步的效率,进而提升虚拟孪生体的性能。
附图说明
图1为实施例1的基于区块链的通用数字孪生服务接入系统的结构框图;
图2为实施例2的基于区块链的通用数字孪生服务接入方法的流程示意图;
图3为实施例2的基于区块链的通用数字孪生接入系统的模块框图;
图4为实施例2的序列化操作示意图;
图5为实施例2的数据孪生同步速率实验数据;
图6为实施例2的反序列化操作算法流程图;
图7为实施例2的数据转移流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提出一种基于区块链的通用数字孪生服务接入系统,图1为本实施例的基于区块链的通用数字孪生服务接入系统的结构框图。
在本实施例提出的基于区块链的通用数字孪生服务接入系统中,系统包括:区块链网络、传感器网络、反向代理服务器、事件处理服务器和用户终端;
所述区块链网络具有若干个区块链节点,且所述区块链网络上部署有智能合约,所述智能合约上设有虚拟孪生体模型;
所述传感器网络包括若干个传感器、若干个网关和若干个执行器;所述传感器用于采集物理实体的状态信息,并将物理实体的状态信息编码转化为数字信号;所述网关利用虚拟孪生体模型,对数字信号进行编码、封装打包和签名,并对执行器发送执行信号;所述执行器用于执行物理动作;所述区块链节点运行智能合约,向虚拟孪生体模型写入状态信息;
所述反向代理服务器用于在每次网关对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点,并将网关的连接请求转发至区块链节点;
所述事件处理服务器用于在区块链节点对智能合约执行完毕后,向区块链网络外发送虚拟孪生体更新通告;
所述用户终端连接区块链网络,用于从区块链网络中读取虚拟孪生体的信息。
作为示例性说明,如图1所示,区块链网络含有若干个区块链节点:区块链节点1、区块链节点2、区块链节点3……,区块链节点之间对同一交易形成共识,用户终端与区块链网络相连,且区块链网络与反向代理服务器相连,事件处理服务器通过反向代理服务器与区块链网络间接相连;反向代理服务器和事件处理服务器分别与若干个网关相连,参见图1,传感器网络包括若干个传感器、若干个网关和若干个执行器,所述网关包括网关A、网关B……网关N,每个网关分别与若干个传感器和若干个执行器相连,其中,网关B与传感器B1,、执行器B2……传感器Bn相连。
实施例2
本实施例提出一种基于区块链的通用数字孪生服务接入方法,应用实施例1提出的一种基于区块链的通用数字孪生服务接入系统,图2为本实施例的基于区块链的通用数字孪生服务接入方法的流程示意图,所述方法包括以下步骤:
S1:初始化通用数字孪生服务接入系统、数字孪生体模型及物理实体;
S2:通过传感器网络采集物理实体的状态信息,并利用虚拟孪生体模型,在传感器网络中,对物理实体的状态信息进行编码、封装打包和签名,得到实体状态信息包;
S3:利用反向代理服务器,将实体状态信息包发送至区块链网络的区块链节点,区块链节点提取实体状态信息包的交易信息后,验证交易信息;在区块链节点中运行智能合约,使通过验证的交易信息中包含的物理实体的状态信息写入区块链网络上的虚拟孪生体;
S4:智能合约执行完毕后,利用事件处理服务器向区块链网络外发送虚拟孪生体更新通告;利用虚拟孪生体更新通告,同步虚拟孪生体的信息与物理实体的信息;
S5:用户终端利用智能合约提供的接口,查询区块链网络上的虚拟孪生体的信息,或修改虚拟孪生体模型;
S6:循环步骤S2~S5,直至区块链上数字孪生服务结束。
在一可选实施例中,初始化通用数字孪生服务接入系统的操作包括:对传感器网络、区块链网络、反向代理服务器和事件处理服务器进行初始化;
对传感器网络进行初始化的操作为:配置传感器网络可信环境、设置传感器网络参数、启动网关设备和启动传感器设备;所述网关设备为任意接入互联网或区块链网络的计算机系统;
所述区块链网络为联盟链架构的分布式网络,区块链网络中的区块链节点为矿工节点,每个矿工节点支持基于以太坊虚拟机,执行部署在区块链网络上的智能合约;
所述智能合约基于Solidity语言编写,智能合约中包含数字孪生接口函数、数字孪生接口函数对应的数据同步接口,以及数字孪生引擎;
对区块链网络进行初始化的操作为:启动配置区块链网络可信环境、设置区块链网络参数和启动区块链网络;
对反向代理服务器进行初始化的操作包括:设置反向代理服务器参数;
对事件处理服务器进行初始化的操作包括:设置事件处理服务器参数;
对传感器网络、区块链网络、反向代理服务器和事件处理服务器进行初始化后,将虚拟孪生体模型上传至区块链网络;在区块链网络中,利用虚拟孪生体模型和部署在区块链网络上的智能合约中的数字孪生引擎,对区块链网络上的虚拟孪生体进行初始化。
作为示例性说明,所述网关设备具有接入区块链网络的密钥对、证书、链上身份和写入权限;
对传感器网络、区块链网络、反向代理服务器和事件处理服务器进行初始化的操作为:
设置若干个区块链节点组成区块链网络;设置若干个网关、若干个传感器和若干个执行器,组成传感器网络。
配置区块链网络和传感器网络的可信环境,包括以下步骤:生成或获取CA(Certificate Authority,证书颁发机构)证书;
为各个区块链节点配置区块链节点的IP地址;为各个网关配置网关的IP地址;
生成每个区块链节点对应的随机密钥对,并利用每个区块链节点对应的密钥对生成每个区块链节点对应的证书,其中,任一个区块链节点对应的证书Cert
生成每个网关对应的随机密钥对,并利用每个网关对应的密钥对生成每个网关对应的证书,其中,任一个网关对应的证书Cert
Cert
作为示例性说明,完成区块链网络的配置后,通过在各个区块链节点中启动FISCOBCOS平台,来启动区块链网络。
待区块链网络启动完毕后,配置反向代理服务器的IP地址,并将反向代理服务器的IP地址代理到区块链网络的所有区块链节点的IP地址,配置事件处理服务器的IP地址,使事件处理服务器通过反向代理服务器连接到区块链网络,且使事件处理服务器通过反向代理服务器连接到所有网关设备。
配置网关设备使网关设备连接到反向代理服务器的地址,启动网关设备;为反向代理服务器配置随机密钥对(Pubkey
启动传感器设备,配置传感器设备,使传感器设备连接到对应的网关设备,即Connected(G
将网关设备的IP地址和区块链网络的IP地址添加至事件处理服务器;
启动用户终端,配置IP地址使用户终端连接到区块链网络,作为示例性说明,用户终端连接到区块链网络中的部分节点,即
管理员用户通过证书双向认证,与区块链网络中的若干个节点建立连接,并在区块链网络中部署智能合约后,在智能合约中上传虚拟孪生体模型,以及更新网关设备权限。
在一可选实施例中,在对区块链网络上的虚拟孪生体进行初始化前,将虚拟孪生体模型上传至智能合约中的数字孪生引擎;
所述数字孪生引擎虚拟孪生引擎支持功能的横向扩展或竖向扩展,数字孪生引擎的主体为由物理实体数据智能合约连接而成的有向无环图结构,每个物理实体数据智能合约对应有向无环图结构的每个节点;
所述有向无环图结构为虚拟孪生体的载体,在区块链网络上记录了有向无环图节点的拓扑、数据、哈希校验值和智能行为;
所述物理实体数据智能合约为与物理实体的数据相结合的智能合约,每个物理实体数据智能合约的实体对应每个物理实体,每个物理实体数据智能合约的实体包含一个数据插槽、一个哈希值和一个有序映射表;其中,每个物理实体数据智能合约的实体中的数据插槽对应每个有向无环图节点的数据,每个物理实体数据智能合约的实体中的哈希值对应每个有向无环图节点的哈希校验值,每个物理实体数据智能合约的实体中的有序映射表对应每个智能行为;
其中,有向无环图结构中的第k个图节点的表达式为:
Entity
{child
式中,Z
作为示例性说明,图3为本实施例的基于区块链的通用数字孪生接入系统的模块框图,所述数字孪生引擎具有用户接口、网关接口和管理接口,数字孪生引擎中包含序列化与反序列化合约、自动差错合约和权限控制合约,数字孪生引擎的序列化与反序列化合约、自动差错合约和权限控制合约,用于支持虚拟孪生体模型编辑合约、虚拟孪生体模型数据同步合约和孪生体事件通告合约;虚拟孪生体模型编辑合约、虚拟孪生体模型数据同步合约和孪生体事件通告合约用于对虚拟孪生体进行操作,实现虚拟孪生体的智能行为。
在一可选实施例中,实体状态信息包的计算表达式为:
Tx
式中,Tx
作为示例性说明,传感器设备为任意的与网关相连的嵌入式设备或主机设备,传感器设备具有采集物理实体实时数据和状态的功能,并能将物理实体实时数据和状态编码为数字信号后,利用任意的通信协议将数字信号发送给网关。
作为示例性说明,物理实体为变电站,传感器设备能够实时采集变电站的数据(电压、功率、温度等),若干个传感器设备{S
M
其中,Encode
每个网关设备与若干个传感器设备通过信道相连,因此,网关设备G
M
其中,M
在一可选实施例中,所述反向代理服务器通过基于SSL协议的SSL隧道分别连接到区块链网络和传感器网络,SSL隧道用于接收传感器网络的网关设备的实体状态信息包,并将实体状态信息包传送至区块链网络;所述反向代理服务器,在每次网关设备对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点Node
其中,可用性最高的区块链节点Node
式中,x表示任一区块链节点,{P
在一可选实施例中,图6为本实施例的反序列化操作算法流程图;将交易信息中包含的物理实体的状态信息写入区块链网络上的虚拟孪生体的步骤为:
S3.1:通过传感器网络的网关设备,将实体状态信息包发送至反向代理服务器,反向代理服务器通过SSL隧道,将实体状态信息包传送至区块链网络;
S3.2:在区块链网络中提取实体状态信息包的交易信息,并计算交易信息的哈希值,通过交易信息的哈希值验证交易信息;
其中,交易信息tx
hash(tx
式中,Pubkey
S3.3:在区块链节点中,将通过验证的交易信息进行解封装和反序列化,获得中间数据,将中间数据转换为物理实体数据智能合约集合,通过连接物理实体数据智能合约集合中的物理实体数据智能合约,构成有向无环图,利用有向无环图更新智能合约中的数字孪生引擎;
其中,第i个区块链节点计算得到的中间数据
sym′
式中,Deserialize为反序列化操作;sym′
通过中间数据{d″′
式中,D′
作为示例性说明,图4为本实施例的序列化操作示意图,网关设备G
d′
然后,网关根据区块链中虚拟孪生体模型M,对d′
d″
其中,Encode
由于d″
sym
其中,sym
Serialize操作将若干个传感器的数据{d″
sym
网关设备G
tx
其中,tx
网关设备G
tx′
其中,Prikey
网关设备G
反向代理服务器Proxy将自动根据网络状况、负载状况的信息,从{Node
在一可选实施例中,同步虚拟孪生体的信息与物理实体的信息的步骤为:
S4.1:智能合约执行完毕后,在整个区块链网络中更新数据,并得到交易回执Rpt
其中,交易回执Rpt
Rpt
式中,M表示区块链网络上的虚拟孪生体模型;
S4.2:区块链节点通过反向代理服务器,将交易回执发送至网关设备;若网关设备在一定时间内接收到交易回执,则执行S4.3步骤;否则,网关设备将重新把实体状态信息包发送至区块链网络的区块链节点;
S4.3:事件处理服务器通过反向代理服务器连接到可用性最高的区块链节点,并在可用性最高的区块链节点中注册事件响应函数后,通过可用性最高的区块链节点将交易信息发送至事件处理服务器;
S4.4:事件处理服务器利用事件响应函数,以及交易信息中包含的交易参与者地址或函数调用信息,判断交易信息中的物理实体的状态信息更新的来源;
当物理实体的状态信息更新的来源是传感器设备时,事件处理服务器将根据预设的策略,向区块链网络外的用户终端或设备发送虚拟孪生体更新通告,用户终端或设备根据虚拟孪生体更新通告更改虚拟孪生体的信息,使虚拟孪生体的信息与物理实体的信息同步;
当物理实体的状态信息更新的来源是用户或智能合约对区块链网络数据的修改时,事件处理服务器对交易信息进行解析,得到交易信息中发生更新的信息,并根据预设的策略,将物理实体更新通告发送至网关设备;网关设备接收到更新通告后,对交易信息中发生更新的信息进行重新编码,并将编码后的结果转发给交易信息中发生更新的信息对应的物理实体,物理实体执行物理实体的状态信息的更新,或执行预期的物理动作,使虚拟孪生体的信息与物理实体的信息同步。
作为示例性说明,图7为本实施例的数据转移流程图;区块链节点Node
区块链节点中包含SDK程序,SDK是用于对区块链交易进行封装、打包和签名的子程序。
在区块链节点Node
hash(tx
其中,Pubkey
验证通过后,SDK根据接口Int的信息对t
sym′
SDK调用数字孪生接口函数Func对解封装后的交易信息sym′
{d″′
其中,Deserialize为反序列化操作,其算法如图6所示;{d″′
其中,D
Func在进行Deserialize操作后,将d″′
然后,Func进行哈希操作,对
其中,Keccak256表示进行keccak256哈希运算,
区块链中所有的Entity智能合约构成一个总的图Graph
智能合约完成排序、执行、共识后,最终在整个区块链网络中更新数据,并得到交易回执:
Rpt
区块链节点Node
同时,事件处理服务器Event通过代理服务器Proxy的转发,在实行双向SSL认证和加密的基础上,建立到区块链网络中一个高可用节点Node
在数字孪生的场景下,Info(tx
第一种情况下,tx
第二种情况下,tx
其中,dev
{G
在一可选实施例中,用户终端利用智能合约提供的接口进行操作的步骤为:用户终端利用智能合约的数据同步接口,对查询的虚拟孪生体的信息或更改的虚拟孪生体模型的信息进行编码,得到交易信息;将交易信息发送给至可用性最高的区块链节点,可用性最高的区块链节点对交易信息进行解封装,并执行数据同步接口对应的数字孪生接口函数,得到并输出交易回执,交易回执中包含查询的虚拟孪生体的信息或更改的虚拟孪生体模型的信息。
实施例3
本实施例提出一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其中所述计算机可读指令被所述处理器执行时,使得所述处理器执行实施例1提出的基于区块链的通用数字孪生服务接入方法的步骤。
可以理解,本实施例的计算机设备应用于上述实施例2的方法,上述实施例2中的可选项同样适用于本实施例,故在此不再重复描述。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
- 一种基于数字孪生的装配精度仿真分析方法与系统
- 一种基于数字孪生的风机直驱变桨距系统及优化设计方法
- 基于数字孪生体的管理系统和方法及基于数字孪生体的燃料电池管理系统和方法
- 基于数字孪生体的管理系统和方法及基于数字孪生体的燃料电池管理系统和方法