CN117176742A - 一种基于区块链的通用数字孪生服务接入方法及系统 - Google Patents
一种基于区块链的通用数字孪生服务接入方法及系统 Download PDFInfo
- Publication number
- CN117176742A CN117176742A CN202311265580.2A CN202311265580A CN117176742A CN 117176742 A CN117176742 A CN 117176742A CN 202311265580 A CN202311265580 A CN 202311265580A CN 117176742 A CN117176742 A CN 117176742A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- node
- network
- information
- entity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims description 17
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 6
- 230000000704 physical effect Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000005316 response function Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数字孪生技术领域,提出一种基于区块链的通用数字孪生服务接入方法及系统,系统包括:区块链网络、传感器网络、反向代理服务器、事件处理服务器和用户终端;区块链网络具有若干个区块链节点,且区块链网络上部署有智能合约,智能合约上设有虚拟孪生体模型;传感器网络包括若干个传感器、若干个网关和若干个执行器;反向代理服务器用于在每次网关对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点,并将网关的连接请求转发至区块链节点;事件处理服务器用于在区块链节点对智能合约执行完毕后,向区块链网络外发送虚拟孪生体更新通告;用户终端连接区块链网络,用于从区块链网络中读取虚拟孪生体的信息。
Description
技术领域
本发明涉及数字孪生的技术领域,更具体地,涉及一种基于区块链的通用数字孪生服务接入方法及系统。
背景技术
区块链技术是一种分布式账本技术,通过多个网络节点对同一交易的共识,实现了去中心化的数据安全,目前已得到广泛应用。数字孪生技术是工业物联网的重要新兴技术,能够极大提高物联网的管理效率和运作效率。区块链与数字孪生的综合应用是近年来信息科学研究的热门领域,区块链技术使得数字孪生具有分布安全的特性,具有重大研究前景。但目前相关的研究仍停留在初级阶段,即使对二者进行了集成,所集成的系统也并没有针对性地考虑这两种技术的特点而进行优化,因此存在性能低下、可扩展性差、安全性不足、开发成本高昂、缺乏一致接口等问题。
现有技术提出了一种基于数字孪生和区块链的高效可信能源数据处理方法,该方法包括以下步骤:首先,按照初始的频率采集不同设备的能源数据,并打包上传,经解析和重封装后上传至边缘云提取波动敏感数据存储,用于构建数字孪生模型;然后,构建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地址;
生成每个区块链节点对应的随机密钥对,并利用每个区块链节点对应的密钥对生成每个区块链节点对应的证书,其中,任一个区块链节点对应的证书Certp的计算表达式为:Certp=GenCert(CertCA,Pubkeyp,t,Infop),式中,GenCert表示根据CA证书CertCA、Certp对应的区块链节点对应的随机密钥对中的主体公钥Pubkeyp、时间戳t、主体信息Infop生成证书的操作;作为示例性说明,GenCert操作可用openssl等开源工具实现;
生成每个网关对应的随机密钥对,并利用每个网关对应的密钥对生成每个网关对应的证书,其中,任一个网关对应的证书Certl的表达式为:
Certl=GenCert(CertCA,Pubkeyl,t,Infol)
作为示例性说明,完成区块链网络的配置后,通过在各个区块链节点中启动FISCOBCOS平台,来启动区块链网络。
待区块链网络启动完毕后,配置反向代理服务器的IP地址,并将反向代理服务器的IP地址代理到区块链网络的所有区块链节点的IP地址,配置事件处理服务器的IP地址,使事件处理服务器通过反向代理服务器连接到区块链网络,且使事件处理服务器通过反向代理服务器连接到所有网关设备。
配置网关设备使网关设备连接到反向代理服务器的地址,启动网关设备;为反向代理服务器配置随机密钥对(Pubkeyproxy,Prikeyproxy)和证书Certproxy,证书Certproxy的表达式为:Certproxy=GenCert(CertCA,ubkeyproxy,t,Infoproxy),并配置反向代理服务器到所有区块链节点和所有网关之间的连接;同样地,为事件处理服务器配置随机密钥对和证书,并配置事件处理服务器到反向代理服务器和所有网关之间的连接。
启动传感器设备,配置传感器设备,使传感器设备连接到对应的网关设备,即Connected(Gl)={si,si+1,...si+n-1}n,式中,Connected(Gl)表示与网关Gl相连的传感器集合。
将网关设备的IP地址和区块链网络的IP地址添加至事件处理服务器;
启动用户终端,配置IP地址使用户终端连接到区块链网络,作为示例性说明,用户终端连接到区块链网络中的部分节点,即式中,Connected(Usert)为用户t连接的区块链节点的集合;对每个用户Usert创建其密钥对与证书
管理员用户通过证书双向认证,与区块链网络中的若干个节点建立连接,并在区块链网络中部署智能合约后,在智能合约中上传虚拟孪生体模型,以及更新网关设备权限。
在一可选实施例中,在对区块链网络上的虚拟孪生体进行初始化前,将虚拟孪生体模型上传至智能合约中的数字孪生引擎;
所述数字孪生引擎虚拟孪生引擎支持功能的横向扩展或竖向扩展,数字孪生引擎的主体为由物理实体数据智能合约连接而成的有向无环图结构,每个物理实体数据智能合约对应有向无环图结构的每个节点;
所述有向无环图结构为虚拟孪生体的载体,在区块链网络上记录了有向无环图节点的拓扑、数据、哈希校验值和智能行为;
所述物理实体数据智能合约为与物理实体的数据相结合的智能合约,每个物理实体数据智能合约的实体对应每个物理实体,每个物理实体数据智能合约的实体包含一个数据插槽、一个哈希值和一个有序映射表;其中,每个物理实体数据智能合约的实体中的数据插槽对应每个有向无环图节点的数据,每个物理实体数据智能合约的实体中的哈希值对应每个有向无环图节点的哈希校验值,每个物理实体数据智能合约的实体中的有序映射表对应每个智能行为;
其中,有向无环图结构中的第k个图节点的表达式为:
Entityk={(Dk,Hk,{childi}k)|k∈Z*}
{childi}k={child1,child2,...,childn}
式中,Z*表示非零整数,Dk表示第k个图节点的数据,Hk表示第k个图节点的哈希值,{childi}k表示第k个图节点的子节点集合,childi和childn分别表示第k个图节点的第i个子节点和第n个子节点;Encode表示编码及序列化操作,Keccak256表示进行keccak256哈希运算,表示第k个图节点的第i个子节点的哈希值。
作为示例性说明,图3为本实施例的基于区块链的通用数字孪生接入系统的模块框图,所述数字孪生引擎具有用户接口、网关接口和管理接口,数字孪生引擎中包含序列化与反序列化合约、自动差错合约和权限控制合约,数字孪生引擎的序列化与反序列化合约、自动差错合约和权限控制合约,用于支持虚拟孪生体模型编辑合约、虚拟孪生体模型数据同步合约和孪生体事件通告合约;虚拟孪生体模型编辑合约、虚拟孪生体模型数据同步合约和孪生体事件通告合约用于对虚拟孪生体进行操作,实现虚拟孪生体的智能行为。
在一可选实施例中,实体状态信息包的计算表达式为:
Txlk=Sign(Call(Serialize(EncodeModel({di},M))),tk,Prikeyl)
式中,Txlk表示网关设备l在时间戳tk发生的交易,Prikeyl表示网关设备l的私钥,EncodeModel表示利用虚拟孪生体模型进行的模型编码操作,Serialize表示序列化操作,Call表示对智能合约的调用,Sign表示ECDSA签名操作。
作为示例性说明,传感器设备为任意的与网关相连的嵌入式设备或主机设备,传感器设备具有采集物理实体实时数据和状态的功能,并能将物理实体实时数据和状态编码为数字信号后,利用任意的通信协议将数字信号发送给网关。
作为示例性说明,物理实体为变电站,传感器设备能够实时采集变电站的数据(电压、功率、温度等),若干个传感器设备{Si}一一对应地连接到若干个变电站{hi},并采集到数据{di}。之后,传感器对{di}进行信源编码和信道编码,得到:
Mout(Si)=Encodechannel(di,Ii)
其中,Encodechannel为信源编码和信道编码操作;Mout(Si)为传感器Si向网关发出的未调制数字信号;Ii为Si的信道状态信息,用以区分来自不同传感器的信号。
每个网关设备与若干个传感器设备通过信道相连,因此,网关设备Gl接收到的信号为:
Min(Gl)=Mout({Sk,Sk+1,...Sk+n})={Mout(Sk),Mout(Sk+1),...,Mout(Sk+n)}
其中,Min(Gl)为Gl解调后收到的数字信号,Mout({Sk,Sk+1,...Sk+n})为传感器集合{Sk,Sk+1,...Sk+n}发出的未调制数字信号的混合。
在一可选实施例中,所述反向代理服务器通过基于SSL协议的SSL隧道分别连接到区块链网络和传感器网络,SSL隧道用于接收传感器网络的网关设备的实体状态信息包,并将实体状态信息包传送至区块链网络;所述反向代理服务器,在每次网关设备对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点NodeM,并将网关设备的连接请求转发至区块链节点NodeM;
其中,可用性最高的区块链节点NodeM的计算表达式为:
式中,x表示任一区块链节点,{Pi}表示由所有区块链节点形成的集合;Usability(·)表示对x进行可用性计算的操作。
在一可选实施例中,图6为本实施例的反序列化操作算法流程图;将交易信息中包含的物理实体的状态信息写入区块链网络上的虚拟孪生体的步骤为:
S3.1:通过传感器网络的网关设备,将实体状态信息包发送至反向代理服务器,反向代理服务器通过SSL隧道,将实体状态信息包传送至区块链网络;
S3.2:在区块链网络中提取实体状态信息包的交易信息,并计算交易信息的哈希值,通过交易信息的哈希值验证交易信息;
其中,交易信息txl的哈希值hash(txl)的计算表达式为:
hash(txl)=Decrypt(Pubkeyl,signl)
式中,Pubkeyl为第l个网关设备的公钥,Decrypt为非对称解密操作
S3.3:在区块链节点中,将通过验证的交易信息进行解封装和反序列化,获得中间数据,将中间数据转换为物理实体数据智能合约集合,通过连接物理实体数据智能合约集合中的物理实体数据智能合约,构成有向无环图,利用有向无环图更新智能合约中的数字孪生引擎;
其中,第i个区块链节点计算得到的中间数据的计算表达式为:
sym′l=Decodeint(txl,Int)
式中,Deserialize为反序列化操作;sym′l表示解封装的交易信息,Decodeint表示利用智能合约的数据同步接口Int进行的解封装操作;
通过中间数据{d″′i}转化得到的物理实体数据智能合约子集合中的第k个物理实体数据智能合约的结构表达式为:
式中,D′k表示Entity′k包含的数据,H′k表示Entity′k的散列值,{child′q}k表示由Entity′k的子节点组成的子节点集合,中记录了Entity′k的所有子节点的合约地址。
作为示例性说明,图4为本实施例的序列化操作示意图,网关设备Gl收集到数据Min(Gl)后,Gl根据通信协议,对混合的数字信号进行分离,得到各个传感器的信号d′i:
d′i=Decodechannel(Min(Gl),Ii)
然后,网关根据区块链中虚拟孪生体模型M,对d′i重新编码,得到:
d″i=EncodeModel(d′i,M)
其中,EncodeModel为模型编码操作,其按照模型M的结构,对传感器si所采集数据d′l进行重新组合,得到与链上虚拟实体相一致的结构化数据d″i。
由于d″i为内存中的一个数据结构,为了将d″i发送至区块链,网关需要对d″i进行序列化,序列化操作的表达式为:
syml=Serialize({d″i})
其中,syml为Gl需要发送的数据;Serialize为序列化操作,Serialize将内存中的一个任意结构的数据转化为utf8编码的字符串形式。Serialize操作由自定义的序列化语言实现。
Serialize操作将若干个传感器的数据{d″i}组合为单一的字符串。图5为本实施例的数据孪生同步速率实验数据,由图可知,在传感器数量增多时,序列化操作可以为数据同步带来更高的速率。
syml为易于机器理解的描述语言,通过字符串的形式描述了d″i的结构与数值。
网关设备Gl使用区块链中的数据同步接口Int,对symi进行封装:
txl=Encodeint(syml,Int)
其中,txl为包含了syml信息的对数据同步接口Int的调用请求,为一个二进制编码的字节串。作为示例性说明,具体的编码操作由FISCO BCOS SDK实现。此时,txi实质上是对链上智能合约的调用,其本质为一次区块链交易(Transaction)。
网关设备Gl对txl进行签名:
tx′l=Sign(Prikeyl,txl,hash(txl))=(txl,signl)
其中,Prikeyl为Gl的非对称私钥,Sign为使用私钥进行签名的操作,hash(txl)为txl的散列值,signl为hash(txl)的非对称加密值。
网关设备Gl通过SSL隧道,在网络中将tx′l发送至反向代理服务器Proxy。所述SSL隧道为安全套接层协议实现的、具有加密及认证功能的数据传输信道;所述网络可以是局域网、互联网或任意具有网络层的网络模型。
反向代理服务器Proxy将自动根据网络状况、负载状况的信息,从{Nodep}中选择一个可用性最高的区块链节点,其中Usability为测量区块链节点可用性的函数。通过到该节点的SSL隧道,将tx′l转发至NodeM。
在一可选实施例中,同步虚拟孪生体的信息与物理实体的信息的步骤为:
S4.1:智能合约执行完毕后,在整个区块链网络中更新数据,并得到交易回执Rpti;
其中,交易回执Rpti的表达式为:
Rpti=Func(sym′i,M)
式中,M表示区块链网络上的虚拟孪生体模型;
S4.2:区块链节点通过反向代理服务器,将交易回执发送至网关设备;若网关设备在一定时间内接收到交易回执,则执行S4.3步骤;否则,网关设备将重新把实体状态信息包发送至区块链网络的区块链节点;
S4.3:事件处理服务器通过反向代理服务器连接到可用性最高的区块链节点,并在可用性最高的区块链节点中注册事件响应函数后,通过可用性最高的区块链节点将交易信息发送至事件处理服务器;
S4.4:事件处理服务器利用事件响应函数,以及交易信息中包含的交易参与者地址或函数调用信息,判断交易信息中的物理实体的状态信息更新的来源;
当物理实体的状态信息更新的来源是传感器设备时,事件处理服务器将根据预设的策略,向区块链网络外的用户终端或设备发送虚拟孪生体更新通告,用户终端或设备根据虚拟孪生体更新通告更改虚拟孪生体的信息,使虚拟孪生体的信息与物理实体的信息同步;
当物理实体的状态信息更新的来源是用户或智能合约对区块链网络数据的修改时,事件处理服务器对交易信息进行解析,得到交易信息中发生更新的信息,并根据预设的策略,将物理实体更新通告发送至网关设备;网关设备接收到更新通告后,对交易信息中发生更新的信息进行重新编码,并将编码后的结果转发给交易信息中发生更新的信息对应的物理实体,物理实体执行物理实体的状态信息的更新,或执行预期的物理动作,使虚拟孪生体的信息与物理实体的信息同步。
作为示例性说明,图7为本实施例的数据转移流程图;区块链节点NodeM通过到反向代理服务器Proxy的SSL隧道接收到封装的实体状态信息tx′l,在此过程中,将通过SSL协议完成实体认证和数据解密操作,以确保tx′l是可信的。
区块链节点中包含SDK程序,SDK是用于对区块链交易进行封装、打包和签名的子程序。
在区块链节点NodeM中,SDK接收来自特定端口的连接请求,并接收到数据tx′l。随后由SDK提取出tx′l中的交易信息txl,并验证:
hash(txl)=Decrypt(Pubkeyl,signl)
其中,Pubkeyl为网关Gl的公钥,Decrypt为非对称解密操作。
验证通过后,SDK根据接口Int的信息对tx进行解封装:
sym′l=Decodeint(txl,Int)
SDK调用数字孪生接口函数Func对解封装后的交易信息sym′l进行处理,其中数字孪生接口函数Func具有数据同步接口Int。Func将首先对sym′l进行反序列化:
{d″′i}=Deserialize(sym′l)
其中,Deserialize为反序列化操作,其算法如图6所示;{d″′i}是与传感器数据{di}一致的格式化数据。由于区块链无法直接存储任意形式的结构化数据,d″′i实际上由Func转为了Entity集合:{Entityk}。其中,Entity为物理实体数据智能合约,具有如下结构:
其中,Dk为Entityk包含的数据,具有160位比特的长度;Hk为Entityk的散列值,为Entityk的孩子集合,每个childq都是一个160位比特的数据,记录了某个Entity智能合约的链上地址,该Entity合约为Entityk的子节点。
Func在进行Deserialize操作后,将d″′i转换为一个有向无环图:
然后,Func进行哈希操作,对计算哈希值,计算式为:
其中,Keccak256表示进行keccak256哈希运算,表示Entityk的第q个子节点的哈希值
区块链中所有的Entity智能合约构成一个总的图Graphroot,即:
智能合约完成排序、执行、共识后,最终在整个区块链网络中更新数据,并得到交易回执:
Rpti=Func(sym′i,M)
区块链节点NodeM将交易回执Rpti发给反向代理服务器Proxy,再由Proxy发给网关设备Gl。Gl在收到Rpti后,知道物理物理实体数据已成功同步至区块链中。若Gl将在一定的超时时间后仍未收到Rpti,Gl将重新发送tx′i。
同时,事件处理服务器Event通过代理服务器Proxy的转发,在实行双向SSL认证和加密的基础上,建立到区块链网络中一个高可用节点NodeM的连接。然后,Event在NodeM中运行的FISCO BCOS Peer程序中注册一个事件响应函数,每当区块链网络完成了一次对交易txi的共识、同步之后,NodeM将同步该交易,并将交易信息Info(txi)发送给Event。
在数字孪生的场景下,Info(txi)包含了实体的状态信息。Event通过Info(txi)中的交易参与者地址或函数调用信息,可判断出txi中实体状态信息更新的来源。
第一种情况下,txi中的状态更新来源于传感器数据{di}的更新,即物理实体到虚拟实体的映射。此时Event将根据预先设置的策略,对相关的用户、设备等进行通知。
第二种情况下,txi中的状态更新来源于用户或智能合约对链上数据的修改,此时虚拟实体已发生更新,但物理实体还未更新。此时,Event对Info(txi)进行解析,得到更新信息{Di},然后Event根据预先设定的策略,将更新通告发送网关设备:
其中,devi=Dev(Di)为更新信息Di对应的实体设备,Devices(Gw)为Gw所连接的所有设备。
{Gw}接收到后Di,根据通信协议对Di重新编码,并将重新编码后的Di转发给设备devi。devi执行设备状态的更新,或是执行预期的物理动作,以完成虚拟实体到物理实体的同步。
在一可选实施例中,用户终端利用智能合约提供的接口进行操作的步骤为:用户终端利用智能合约的数据同步接口,对查询的虚拟孪生体的信息或更改的虚拟孪生体模型的信息进行编码,得到交易信息;将交易信息发送给至可用性最高的区块链节点,可用性最高的区块链节点对交易信息进行解封装,并执行数据同步接口对应的数字孪生接口函数,得到并输出交易回执,交易回执中包含查询的虚拟孪生体的信息或更改的虚拟孪生体模型的信息。
实施例3
本实施例提出一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其中所述计算机可读指令被所述处理器执行时,使得所述处理器执行实施例1提出的基于区块链的通用数字孪生服务接入方法的步骤。
可以理解,本实施例的计算机设备应用于上述实施例2的方法,上述实施例2中的可选项同样适用于本实施例,故在此不再重复描述。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于区块链的通用数字孪生服务接入系统,其特征在于,系统包括:区块链网络、传感器网络、反向代理服务器、事件处理服务器和用户终端;
所述区块链网络具有若干个区块链节点,且所述区块链网络上部署有智能合约,所述智能合约上设有虚拟孪生体模型;
所述传感器网络包括若干个传感器、若干个网关和若干个执行器;所述传感器用于采集物理实体的状态信息,并将物理实体的状态信息编码转化为数字信号;所述网关利用虚拟孪生体模型,对数字信号进行编码、封装打包和签名,并对执行器发送执行信号;所述执行器用于执行物理动作;所述区块链节点运行智能合约,向虚拟孪生体模型写入状态信息;
所述反向代理服务器用于在每次网关对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点,并将网关的连接请求转发至区块链节点;
所述事件处理服务器用于在区块链节点对智能合约执行完毕后,向区块链网络外发送虚拟孪生体更新通告;
所述用户终端连接区块链网络,用于从区块链网络中读取虚拟孪生体的信息。
2.一种基于区块链的通用数字孪生服务接入方法,所述方法基于权利要求1所述的基于区块链的通用数字孪生服务接入系统实现,其特征在于,包括以下步骤:
S1:初始化通用数字孪生服务接入系统、数字孪生体模型及物理实体;
S2:通过传感器网络采集物理实体的状态信息,并利用虚拟孪生体模型,在传感器网络中,对物理实体的状态信息进行编码、封装打包和签名,得到实体状态信息包;
S3:利用反向代理服务器,将实体状态信息包发送至区块链网络的区块链节点,区块链节点提取实体状态信息包的交易信息后,验证交易信息;在区块链节点中运行智能合约,通过验证的交易信息中包含的物理实体的状态信息写入区块链网络上的虚拟孪生体;
S4:智能合约执行完毕后,利用事件处理服务器向区块链网络外发送虚拟孪生体更新通告;利用虚拟孪生体更新通告,同步虚拟孪生体的信息与物理实体的信息;
S5:用户终端利用智能合约提供的接口,查询区块链网络上的虚拟孪生体的信息,或修改虚拟孪生体模型;
S6:循环步骤S2~S5,直至区块链上数字孪生服务结束。
3.根据权利要求2所述的基于区块链的通用数字孪生服务接入方法,其特征在于,初始化通用数字孪生服务接入系统的操作包括:对传感器网络、区块链网络、反向代理服务器和事件处理服务器进行初始化;
对传感器网络进行初始化的操作为:配置传感器网络可信环境、设置传感器网络参数、启动网关设备和启动传感器设备;所述网关设备为任意接入互联网或区块链网络的计算机系统;
所述区块链网络为联盟链架构的分布式网络,区块链网络中的区块链节点为矿工节点,每个矿工节点支持基于以太坊虚拟机,执行部署在区块链网络上的智能合约;所述智能合约基于Solidity语言编写,智能合约中包含数字孪生接口函数、数字孪生接口函数对应的数据同步接口,以及数字孪生引擎;
对区块链网络进行初始化的操作为:启动配置区块链网络可信环境、设置区块链网络参数和启动区块链网络;
对反向代理服务器进行初始化的操作包括:设置反向代理服务器参数;
对事件处理服务器进行初始化的操作包括:设置事件处理服务器参数;
对传感器网络、区块链网络、反向代理服务器和事件处理服务器进行初始化后,将虚拟孪生体模型上传至区块链网络;在区块链网络中,利用虚拟孪生体模型和部署在区块链网络上的智能合约中的数字孪生引擎,对区块链网络上的虚拟孪生体进行初始化。
4.根据权利要求3所述的基于区块链的通用数字孪生服务接入方法,其特征在于,在对区块链网络上的虚拟孪生体进行初始化前,将虚拟孪生体模型上传至智能合约中的数字孪生引擎;
所述数字孪生引擎虚拟孪生引擎支持功能的横向扩展或竖向扩展,数字孪生引擎的主体为由物理实体数据智能合约连接而成的有向无环图结构,每个物理实体数据智能合约对应有向无环图结构的每个节点;
所述有向无环图结构为虚拟孪生体的载体,在区块链网络上记录了有向无环图节点的拓扑、数据、哈希校验值和智能行为;
所述物理实体数据智能合约为与物理实体的数据相结合的智能合约,每个物理实体数据智能合约的实体对应每个物理实体,每个物理实体数据智能合约的实体包含一个数据插槽、一个哈希值和一个有序映射表;其中,每个物理实体数据智能合约的实体中的数据插槽对应每个有向无环图节点的数据,每个物理实体数据智能合约的实体中的哈希值对应每个有向无环图节点的哈希校验值,每个物理实体数据智能合约的实体中的有序映射表对应每个智能行为;
其中,有向无环图结构中的第k个图节点的表达式为:
Entityk={(Dk,Hk,{childi}k)|k∈Z*}
{childi}k={child1,child2,...,childn}
式中,Z*表示非零整数,Dk表示第k个图节点的数据,Hk表示第k个图节点的哈希值,{childi}k表示第k个图节点的子节点集合,childi和childn分别表示第k个图节点的第i个子节点和第n个子节点;Encode表示编码及序列化操作,Keccak256表示进行keccak256哈希运算,表示第k个图节点的第i个子节点的哈希值。
5.根据权利要求4所述的基于区块链的通用数字孪生服务接入方法,其特征在于,通过S2步骤计算得到的实体状态信息包的计算表达式为:
Txlk=Sign(Call(Serialize(EncodeModel({di},M))),tk,Prikeyl)
式中,Txlk表示网关设备l在时间戳tk发生的交易,Prikeyl表示网关设备l的私钥,EncodeModel表示利用虚拟孪生体模型进行的模型编码操作,Serialize表示序列化操作,Call表示对智能合约的调用,Sign表示ECDSA签名操作。
6.根据权利要求5所述的基于区块链的通用数字孪生服务接入方法,其特征在于,所述反向代理服务器通过基于SSL协议的SSL隧道分别连接到区块链网络和传感器网络,SSL隧道用于接收传感器网络的网关设备的实体状态信息包,并将实体状态信息包传送至区块链网络;所述反向代理服务器,在每次网关设备对区块链节点发出连接请求时,在所有区块链节点中选出一个可用性最高的区块链节点NodeM,并将网关设备的连接请求转发至区块链节点NodeM;
其中,可用性最高的区块链节点NodeM的计算表达式为:
式中,x表示任一区块链节点,{Pi}表示由所有区块链节点形成的集合;Usability(·)表示对x进行可用性计算的操作。
7.根据权利要求6所述的基于区块链的通用数字孪生服务接入方法,其特征在于,S3步骤为:
S3.1:通过传感器网络的网关设备,将实体状态信息包发送至反向代理服务器,反向代理服务器通过SSL隧道,将实体状态信息包传送至区块链网络;
S3.2:在区块链网络中提取实体状态信息包的交易信息,并计算交易信息的哈希值,通过交易信息的哈希值验证交易信息;
其中,交易信息txl的哈希值hash(txl)的计算表达式为:
hash(txl)=Decrypt(Pubkeyl,signl)
式中,Pubkeyl为第l个网关设备的公钥,Decrypt为非对称解密操作
S3.3:在区块链节点中,将通过验证的交易信息进行解封装和反序列化,获得中间数据,将中间数据转换为物理实体数据智能合约集合,通过连接物理实体数据智能合约集合中的物理实体数据智能合约,构成有向无环图,利用有向无环图更新智能合约中的数字孪生引擎;
其中,第i个区块链节点计算得到的中间数据{d″′i}的计算表达式为:
{d″′i}=Deserialize(sym′l)
sym′l=Decodeint(txl,Int)
式中,Deserialize为反序列化操作;sym′l表示解封装的交易信息,Decodeint表示利用智能合约的数据同步接口Int进行的解封装操作;
通过中间数据{d″′i}转化得到的物理实体数据智能合约子集合中的第k个物理实体数据智能合约的结构表达式为:
Entity′k=(D′k,H′k,{child′q}k)
式中,D′k表示Entity′k包含的数据,H′k表示Entity′k的散列值,{child′q}k表示由Entity′k的子节点组成的子节点集合,{child′q}k中记录了Entity′k的所有子节点的合约地址。
8.根据权利要求7所述的基于区块链的通用数字孪生服务接入方法,其特征在于,S4步骤包括:
S4.1:智能合约执行完毕后,在整个区块链网络中更新数据,并得到交易回执Rpti;
其中,交易回执Rpti的表达式为:
Rpti=Func(sym′i,M)
式中,M表示区块链网络上的虚拟孪生体模型;
S4.2:区块链节点通过反向代理服务器,将交易回执发送至网关设备;若网关设备在一定时间内接收到交易回执,则执行S4.3步骤;否则,网关设备将重新把实体状态信息包发送至区块链网络的区块链节点;
S4.3:事件处理服务器通过反向代理服务器连接到可用性最高的区块链节点,并在可用性最高的区块链节点中注册事件响应函数后,通过可用性最高的区块链节点将交易信息发送至事件处理服务器;
S4.4:事件处理服务器利用事件响应函数,以及交易信息中包含的交易参与者地址或函数调用信息,判断交易信息中的物理实体的状态信息更新的来源;
当物理实体的状态信息更新的来源是传感器设备时,事件处理服务器将根据预设的策略,向区块链网络外的用户终端或设备发送虚拟孪生体更新通告,用户终端或设备根据虚拟孪生体更新通告更改虚拟孪生体的信息,使虚拟孪生体的信息与物理实体的信息同步;
当物理实体的状态信息更新的来源是用户或智能合约对区块链网络数据的修改时,事件处理服务器对交易信息进行解析,得到交易信息中发生更新的信息,并根据预设的策略,将物理实体更新通告发送至网关设备;网关设备接收到更新通告后,对交易信息中发生更新的信息进行重新编码,并将编码后的结果转发给交易信息中发生更新的信息对应的物理实体,物理实体执行物理实体的状态信息的更新,或执行预期的物理动作,使虚拟孪生体的信息与物理实体的信息同步。
9.根据权利要求8所述的基于区块链的通用数字孪生服务接入方法,其特征在于,S5步骤包括:
用户终端利用智能合约的数据同步接口,对查询的虚拟孪生体的信息或更改的虚拟孪生体模型的信息进行编码,得到交易信息;将交易信息发送给至可用性最高的区块链节点,可用性最高的区块链节点对交易信息进行解封装,并执行数据同步接口对应的数字孪生接口函数,得到并输出交易回执,交易回执中包含查询的虚拟孪生体的信息或更改的虚拟孪生体模型的信息。
10.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其特征在于,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求2~9任一项所述基于区块链的通用数字孪生服务接入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311265580.2A CN117176742A (zh) | 2023-09-26 | 2023-09-26 | 一种基于区块链的通用数字孪生服务接入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311265580.2A CN117176742A (zh) | 2023-09-26 | 2023-09-26 | 一种基于区块链的通用数字孪生服务接入方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176742A true CN117176742A (zh) | 2023-12-05 |
Family
ID=88935479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311265580.2A Pending CN117176742A (zh) | 2023-09-26 | 2023-09-26 | 一种基于区块链的通用数字孪生服务接入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176742A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371047A (zh) * | 2023-12-07 | 2024-01-09 | 福建中科星泰数据科技有限公司 | 一种基于区块链技术的储能电池回收管理方法及系统 |
-
2023
- 2023-09-26 CN CN202311265580.2A patent/CN117176742A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371047A (zh) * | 2023-12-07 | 2024-01-09 | 福建中科星泰数据科技有限公司 | 一种基于区块链技术的储能电池回收管理方法及系统 |
CN117371047B (zh) * | 2023-12-07 | 2024-03-08 | 福建中科星泰数据科技有限公司 | 一种基于区块链技术的储能电池回收管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021012574A1 (zh) | 多重签名方法、签名中心、介质及电子设备 | |
CN104660603A (zh) | IPSec VPN中扩展使用量子密钥的方法及系统 | |
CN104660602A (zh) | 一种量子密钥传输控制方法及系统 | |
CN104486316B (zh) | 一种提高电力数据传输安全性的量子密钥分等级提供方法 | |
CN108123934B (zh) | 一种面向移动端的数据完整性校验方法 | |
CN109962769B (zh) | 基于门限盲签名的数据安全去重方法 | |
CN108989309B (zh) | 基于窄带物联网的加密通信方法及其加密通信装置 | |
CN105141602A (zh) | 基于收敛加密的文件所有权证明方法 | |
CN117176742A (zh) | 一种基于区块链的通用数字孪生服务接入方法及系统 | |
CN105279254A (zh) | 版式数据流文件系统及其操作装置和其操作装置的实现方法 | |
WO2007076665A1 (fr) | Procede, systeme et dispositif de gestion de licence | |
CN112769773B (zh) | 一种基于国密算法的铁路安全通信协议仿真系统 | |
KR20140061527A (ko) | 하이브리드 네트워크를 위한 프로토콜-특정 키이들 | |
CN112382376A (zh) | 基于区块链的医疗器械管理追溯系统 | |
US9438569B2 (en) | Secured embedded data encryption systems | |
US10419212B2 (en) | Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols | |
CN114531680B (zh) | 基于量子密钥的轻量化ibc双向身份认证系统及方法 | |
CN110691358A (zh) | 无线传感器网络中基于属性密码体制的访问控制系统 | |
CN112364387B (zh) | 一种基于区块链网络的身份认证方法及装置、介质和设备 | |
JP2018093456A (ja) | セキュアネットワーク通信方法 | |
CN102612035A (zh) | 多级分簇无线传感器网络中能量高效的身份认证方法 | |
CN106209772B (zh) | 网络数据编码方法、装置、核验方法、装置和传输方法 | |
CN114745689A (zh) | 一种无线传感器网络多时段数据融合方法和系统 | |
US11792023B2 (en) | Communication apparatus, communication system, and communication method | |
CN111130788B (zh) | 数据处理方法和系统、数据读取方法和iSCSI服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |