基于区块链的数字孪生体的构建方法、装置、存储介质及电子设备与流程

文档序号:33379060发布日期:2023-03-08 05:04阅读:18来源:国知局
基于区块链的数字孪生体的构建方法、装置、存储介质及电子设备与流程

1.本公开涉及数字孪生技术领域,具体地,涉及一种基于区块链的数字孪生体的构建方法、装置、存储介质及电子设备。


背景技术:

2.数字孪生是指在信息化平台内模拟物理实体、流程或系统。数字孪生技术起初应用在汽车、航空航天等领域,时至今日其应用场景已经扩展到医疗、教育、金融等众多领域。但在相关场景中,构建的数字孪生体的可信度还较低,即无法保障实体从现实映射到虚拟空间的数字孪生体的身份的真实性。


技术实现要素:

3.本公开的目的是提供一种基于区块链的数字孪生体的构建方法、装置、存储介质及电子设备,以解决上述相关技术问题。
4.为了实现上述目的,根据本公开实施例的第一方面,提供一种基于区块链的数字孪生体的构建方法,应用于第一设备,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有目标对象的至少部分数据集,所述方法包括:
5.向目标区块链节点发送第一请求,所述第一请求用于所述目标区块链节点在区块链网络中注册所述目标对象的目标数字孪生体,得到所述目标数字孪生体的目标标识,所述目标区块链节点为所述区块链网络中的任一区块链节点;
6.确定数据目录;
7.向目标区块链节点发送第二请求,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所述第二请求用于所述目标区块链节点在所述区块链网络的区块链中保存所述数据目录;
8.确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录,其中,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
9.根据本公开实施例的第二方面,提供一种基于区块链的数字孪生体的构建方法,应用于目标区块链节点,所述目标区块链节点为区块链网络中的任一区块链节点,所述方法包括:
10.响应于接收到第一设备的第一请求,在区块链网络中注册目标对象的目标数字孪生体,得到所述目标数字孪生体的目标标识,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有所述目标对象的至少部分数据集;
11.响应于接收到第一设备的第二请求,在所述区块链网络的区块链中保存数据目录;
12.其中,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所
述数据目录由所述第一设备确定,所述第一设备在确定待上传的目标对象的目标数据属于目标目录时,将所述目标数据关联至区块链中的所述目标目录,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
13.根据本公开实施例的第三方面,提供一种基于区块链的数字孪生体的构建装置,应用于第一设备,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有目标对象的至少部分数据集,所述装置包括:
14.第一发送模块,用于向目标区块链节点发送第一请求,所述第一请求用于所述目标区块链节点在区块链网络中注册所述目标对象的目标数字孪生体,得到所述目标数字孪生体的目标标识,所述目标区块链节点为所述区块链网络中的任一区块链节点;
15.第一确定模块,用于确定数据目录;
16.第二发送模块,用于向目标区块链节点发送第二请求,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所述第二请求用于所述目标区块链节点在所述区块链网络的区块链中保存所述数据目录;
17.目录确定模块,用于确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录,其中,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
18.根据本公开实施例的第四方面,提供一种基于区块链的数字孪生体的构建装置,应用于目标区块链节点,所述目标区块链节点为区块链网络中的任一区块链节点,所述装置包括:
19.第一注册模块,用于响应于接收到第一设备的第一请求,在区块链网络中注册目标对象的目标数字孪生体,得到所述目标数字孪生体的目标标识,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有所述目标对象的至少部分数据集;
20.第一保存模块,用于响应于接收到第一设备的第二请求,在所述区块链网络的区块链中保存数据目录;
21.其中,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所述数据目录由所述第一设备确定,所述第一设备在确定待上传的目标对象的目标数据属于目标目录时,将所述目标数据关联至区块链中的所述目标目录,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
22.根据本公开实施例的第五方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
23.根据本公开实施例的第六方面,提供一种电子设备,包括:
24.存储器,其上存储有计算机程序;
25.处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
26.根据本公开实施例的第七方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第二方面中任一项所述方法的步骤。
27.根据本公开实施例的第八方面,提供一种电子设备,包括:
28.存储器,其上存储有计算机程序;
29.处理器,用于执行所述存储器中的所述计算机程序,以实现上述第二方面中任一项所述方法的步骤。
30.上述技术方案中,第一设备可以在区块链中注册目标对象的目标数字孪生体,并在区块链中保存与所述目标数字孪生体相关联的数据目录。这样,设备集合中的各个设备都可以将自身所维护的目标对象的数据保存至对应的目录中。例如,第一设备可以确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录。这样,可以根据数据目录所关联的数据来构建目标数字孪生体。
31.上述技术方案在区块链中注册了数字孪生体信息,并在区块链中维护用于构建所述数字孪生体的数据目录。这样,能够保障数字孪生体的信息是可追溯的,从而能够提升数字孪生体的可信性。并且,这种方式也为各个设备基于数据目录所关联的数据来构建数字孪生体提供了基础,即可以结合各个设备所拥有的数据构建数字孪生体。在丰富数字孪生体信息的同时,也保障了用于构建数字孪生体的相关信息的一致性,进而有助于保障所构建的数字孪生体的一致性。
32.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
33.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
34.图1是本公开一示例性实施例所示出的一种基于区块链的数字孪生体的构建系统的示意图。
35.图2是本公开一示例性实施例所示出的一种基于区块链的数字孪生体的构建方法的流程图。
36.图3是本公开一示例性实施例所示出的一种数字孪生体的注册流程图。
37.图4是本公开一示例性实施例所示出的一种步骤s24的实施流程图。
38.图5是本公开一示例性实施例所示出的一种设备注册和组网的流程图。
39.图6是本公开一示例性实施例所示出的一种基于区块链的数字孪生体的构建方法的流程图。
40.图7是本公开一示例性实施例所示出的一种基于区块链的数字孪生体的构建装置的框图。
41.图8是本公开一示例性实施例所示出的一种基于区块链的数字孪生体的构建装置的框图。
42.图9是本公开一示例性实施例所示出的一种电子设备900的框图。
43.图10是本公开一示例性实施例所示出的一种电子设备1000的框图。
具体实施方式
44.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
45.需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行
的。
46.在介绍本公开的基于区块链的数字孪生体的构建方法、装置、存储介质及电子设备之前,首先对本公开的应用场景进行介绍。
47.数字孪生是指在信息化平台内模拟物理实体、流程或系统。数字孪生技术起初应用在汽车、航空航天等领域,时至今日其应用场景已经扩展到医疗、教育、金融等众多领域。
48.在一些场景中,在构建个体的数字孪生体时,可以将个体的数据采集到中心化部署的数据库中。各个参与方连接所述中心数据库,在仿真调度程序启动时,各个参与方程序直接或间接地在所述中心化服务器中获取个体的数据明文,并使用这些数据明文完成仿真,最终各个参与方共享仿真结果。
49.需要说明的是,个体的数字孪生体所涉及到的信息较为复杂,在用户许可的情况下,这些数据可以涉及各种领域,如教育、医疗、金融、征信等等,其中不乏敏感信息。但在一些场景的仿真过程中,数字孪生个体可能并不希望在数据传输或计算过程中暴露自己的私有数据。
50.此外,各个参与方可以根据自身拥有的个体数据构建个体的数字孪生体。由于数据可能不一致,因此构建的数字孪生体也可能存在多个版本,从而使得个体存在多个不一样的数字孪生体,进而导致数字孪生体的可信度和真实性存疑。
51.为此,本公开提供一种基于区块链的数字孪生体的构建方法,应用于第一设备。第一设备可以为任何静止或可移动的计算设备,如手机、平板电脑、可穿戴设备、台式电脑等等。所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有目标对象的部分或全部数据集。
52.图1是本公开所示出的一种基于区块链的数字孪生体的构建系统的示意图,以所述目标对象为个体a为例,所述设备集合可以包括设备a1、设备a2以及设备b1。在所述目标对象为个体c时,所述设备集合则可以包括设备b2和设备c1。应当理解,设备集合中的各个设备可以部分或全部地属于所述目标对象,例如在图1的示例中,设备a1和设备a2可以属于个体a,设备b1则属于个体b。
53.在用户许可的情况下,设备集合中的各个设备可以维护目标对象的部分或全部数据。例如,设备a1可以是个体a的手机,设备a1可以维护个体a的位置数据、运动数据等等,设备a2可以是电脑,设备a2可以维护个体a的教育数据、金融数据等等。当然,参照图1,在一些实施场景中,设备集合中的设备还可以组成局域网(如图1中的网络1、网络2)。这样,各个设备之间可以通过广播或其他可行的通信方式相互传输自身维护的目标对象的数据集。
54.图2是本公开所示出的一种基于区块链的数字孪生体的构建方法的流程图,参照图2,所述方法包括:
55.在步骤s21中,向目标区块链节点发送第一请求。
56.所述第一请求用于目标区块链节点在区块链网络中注册目标对象的目标数字孪生体,得到目标数字孪生体的目标标识,目标区块链节点为区块链网络中的任一区块链节点。
57.参照图3所示出的一种数字孪生体的注册流程图。作为一种示例,个体a(即目标对象)可以通过第一设备发起注册流程。第一设备可以通过自身的孪生体管理功能接口,向目标区块链节点发送第一请求。所述第一请求可以包括个体身份、个体属性和个体的签名。其
中,个体身份和个体属性可以基于应用需求进行设置,个体的签名可以为个体对所述个体身份和所述个体属性的签名,以保障信息的真实性。作为一种示例,个体身份可以包括个体的名称,个体属性可以包括个体所属的组织、权限信息等等,本公开对此不做限制。
58.当然,第一请求中所包括的信息也可以基于应用需求进行选择和设置。例如在一些实施场景中,第一请求中还可以包括第一设备的设备信息。在一些实施场景中,设备集合中的各个设备还可以组成局域网,在这种情况下所述第一请求中还可以包括所述局域网的网络id。相应的,个体的签名可以包括个体根据自身私钥对所述网络id、所述设备信息、所述个体身份以及所述个体属性的签名。
59.目标区块链节点在接收到第一请求之后,可以通过所述个体a的公钥对所述签名进行验证。目标区块链节点还可以查询区块链中已注册的数字孪生体的信息。例如,可以计算所述个体属性的哈希值,并和已注册的数字孪生体的个体属性的哈希值进行对比,从而确定所述目标数字孪生体是否已注册。
60.在所述目标数字孪生体已注册的情况下,目标区块链节点可以返回注册失败信息。在所述目标数字孪生体未注册的情况下,目标区块链节点可以获取当前的时间戳,并将所述时间戳、所述个体属性的哈希值、所述个体身份进行组合,得到组合信息。这样,可以根据目标区块链节点的私钥对组合信息进行签名,并将签名的哈希值作为所述目标数字孪生体的标识,即作为所述目标标识。
61.此外,目标区块链节点还可以将所述目标标识作为键,将所述目标标识所对应的时间戳、所述个体属性的哈希值、所述个体身份作为键值,保存至区块链中,以便于后续查询。目标区块链节点还可以将所述个体属性的哈希值作为键,将所述个体属性作为键值,保存至所述区块链中,以便于后续查询。
62.此外,在一些实施场景中,也可以在区块链网络中部署孪生体管理智能合约。在这种情况下,上述步骤也可以由目标区块链节点基于部署的孪生体管理智能合约实现的。
63.在注册得到目标标识之后,目标区块链节点可以将所述目标标识反馈至所述第一设备。
64.在步骤s22中,确定数据目录。
65.在一种可能的实施方式中,第一设备例如可以基于所述目标对象的信息,确定多个数据类别,并分别为每一所述数据类别生成类别目录,所述数据目录包括各所述类别目录。
66.作为一种示例,第一设备可以基于目标对象的信息,按照时间区间确定多个数据类别。这里,时间区间可以是周、月、年等等。应当理解,所述类别目录可以包括目录层级,如2021年这一目录中可以包括每个月份的子目录,每个月份的子目录还可以包括每一周的子目录等等。
67.在一些实施场景中,第一设备也可以预设得到所述数据目录。例如,第一设备可以基于数据的类别预设数据目录,如金融数据目录、教育数据目录、运动数据目录等等。
68.在一些实施场景中,第一设备也可以获取目标对象的数据,并根据所述数据确定所述数据目录,本公开对所述数据目录的生成方式不做限制。
69.在步骤s23中,向目标区块链节点发送第二请求,第二请求包括数据目录,数据目录与目标标识相关联,第二请求用于目标区块链节点在区块链网络的区块链中保存数据目
录。
70.参照图3,第一设备例如可以通过调用自身的孪生体管理接口,从而向目标区块链节点发送第二请求。第二请求包括数据目录,以及所述数据目录所关联的目标标识。
71.目标区块链节点可以查询所述目标标识所对应的目标数字孪生体是否已注册,在所述目标数字孪生体未注册的情况下,目标区块链节点可以返回目录创建失败消息。在所述目标数字孪生体已注册的情况下,目标区块链节点可以将所述数据目录保存至区块链中。
72.此外,目标区块链节点还可以对所述数据目录进行存证。示例地,可以基于所述数据目录的层级关系创建默克尔树。其中,将数据目录的哈希值作为默克尔树中的节点,将所述数据目录的子目录的哈希值映射为所述默克尔树中的所述节点的子节点。这样,可以计算所述默克尔树的默克尔根,得到数据校验码。
73.这样,目标区块链节点可以获取当前的时间戳,并将时间戳与所述数据校验码、所述数据目录、所述目标标识进行组合,得到组合信息。目标区块链节点还可以对组合信息进行私钥签名,将签名保存至区块链中进行存证。为了便于查询,还可以将目标标识作为键,将所述时间戳、所述数据校验码、所述数据目录、所述目标标识以及所述签名作为键值保存至区块链中。
74.在步骤s24中,确定待上传的目标对象的目标数据所属的目标目录,并将目标数据关联至区块链中的目标目录,数据目录所关联的数据用于构建对应于目标标识的目标数字孪生体。
75.作为一种示例,目标数据可以是目标对象的运动数据。因此,第一设备可以确定目标数据所对应的运动数据目录,并将所述目标数据关联至所述运动数据目录。
76.第一设备还可以根据应用需求将所述目标数据关联至目标目录。例如,在数据不为敏感数据或安全性要求较低的场景中,第一设备可以将所述目标数据上传至区块链中的所述目标目录。在数据为敏感信息时,第一设备可以计算所述目标数据的哈希值,并将所述哈希值上传至区块链中的所述目标目录。在一些实施场景中,第一设备可以计算所述目标数据的哈希值,并将所述哈希值以及所述第一数据的获取地址上传至区块链中的所述目标目录。这样,请求数据的设备可以通过所述第一数据的获取地址获取第一数据,并根据所述哈希值验证所获得的数据的正确性。
77.以下对步骤s24的实施方式进行说明。图4是本公开所示出的一种步骤s24的实施流程图,参照图4,所述流程包括:
78.在步骤s241中,计算对应于目标数据的第一承诺以及第一承诺因子。
79.在一种可能的实施方式中,第一设备可以获取第一随机数、第一计算参数以及第二计算参数。所述第一随机数为所述目标区块链节点生成的对应于所述第一设备的随机数,所述第一计算参数包括所述目标区块链节点在有线椭圆曲线上选择的第一位置坐标,所述第二计算参数包括所述目标区块链节点在有线椭圆曲线上选择的第二位置坐标。
80.这样,可以根据第一输入信息、所述第一计算参数、所述第二计算参数以及所述第一随机数计算第一承诺,所述第一输入信息包括所述目标数据的第一哈希值、所述目标目录以及所述目标标识。并基于所述第二计算参数以及生成的第一盲因子,计算得到第一承诺因子。
81.在步骤s242中,获取对应于第二设备的待上传数据的第二承诺以及第二承诺因子。第二设备为设备集合中的设备,第二承诺以及第二承诺因子由第二设备计算得到。
82.需要说明的是,第二设备的数量可以为一个或多个,本公开对此不做限制。作为一种示例,各个设备可以通过如下计算式计算承诺:
83.mi=mi*g+si*h
84.其中,mi为第i个设备的承诺,mi为第i个设备的输入信息,si为目标区块链节点为第i个设备生成的随机数,g为第一计算参数,h为第二计算参数。则基于上述计算式。第一承诺m1为:m1=m1*g+s1*h,第二承诺m2为:m2=m2*g+s2*h。其中,m1为第一输入信息,所述第一输入信息包括所述目标数据的第一哈希值、所述目标目录以及所述目标标识;m2为第二输入信息,所述第二输入信息包括第二设备待上传的数据的第二哈希值、第二设备待上传的数据所对应的数据目录以及所述目标标识。
85.各个设备还可以通过如下计算式计算承诺因子:
86.ri=ri*h
87.其中,ri为第i个设备的承诺因子,ri为第i个设备的盲因子,所述盲因子可以由设备随机生成得到,h为第二计算参数。这样,第一承诺因子可以为r1=r1*h;第二承诺因子可以为r2=r2*h。
88.在步骤s243中,根据第一承诺因子以及第二承诺因子,构建组合承诺因子。
89.在步骤s244中,根据第一承诺以及第二承诺,构建组合承诺。
90.沿用上述例子,可以通过如下计算式计算组合承诺m
sum
:并计算组合承诺因子r
sum
:其中,n为设备的数量。
91.在步骤s245中,基于第一设备的第一私钥、组合承诺以及组合承诺因子生成第一签名。
92.在步骤s246中,获取第二签名,第二签名由第二设备基于第二设备的第二私钥、第二设备构建得到的组合承诺以及第二设备构建得到的组合承诺因子生成。
93.所述基于所述第一设备的第一私钥、所述组合承诺以及所述组合承诺因子生成第一签名,包括:
94.通过所述第一设备的第一私钥、所述第一盲因子、所述组合承诺以及所述组合承诺因子生成第一签名;
95.沿用上述例子,各个设备可以通过如下计算式计算签名:
96.sigmi=ri+hash(m
sum
+r
sum
)*prikeyi97.其中,sigmi为第i个设备的签名,prikeyi为第i个设备的私钥。
98.在步骤s247中,根据第一签名和第二签名生成组合签名。
99.沿用上述例子,组合签名sig
sum
可以为:
[0100][0101]
其中,n为设备的数量。
[0102]
在步骤s248中,将组合签名、组合承诺以及组合承诺因子发送至目标区块链节点。
[0103]
其中,所述目标区块链节点基于所述第一输入信息、第二输入信息、第一设备和第
二设备的公钥、第一承诺因子以及第二承诺因子,对所述组合承诺以及所述组合签名进行正确性验证,在验证通过的情况下,所述目标数据的第一哈希值被保存至所述目标目录中。
[0104]
示例地,目标区块链节点在接收到第一设备发送的组合签名、组合承诺以及组合承诺因子之后,可以向所述第一设备以及所述组合签名所涉及的各个第二设备发送数据获取请求。
[0105]
第一设备在接收到所述数据获取请求之后,可以向所述目标区块链节点发送第一响应,所述第一响应包括所述第一设备的第一承诺因子以及第一输入信息。类似的,第二设备在接收到所述数据获取请求之后,可以向所述目标区块链节点发送第二响应,所述第二响应包括所述第二设备的第二承诺因子以及第二输入信息。
[0106]
沿用上述例子,目标区块链节点可以基于如下计算式验证所述组合承诺以及所述组合签名:
[0107][0108][0109]
其中,pubkeyi为第i个设备的公钥。目标区块链节点可以将请求得到的第一承诺因子、第一输入信息、第二承诺因子以及第二输入信息代入上述计算式,当上述等式成立时则正确性验证通过。此时可以将将目标数据的目标哈希值保存至所述目标目录中。类似的,也可以将第二设备待上传的数据的哈希值保存至对应的数据目录中。
[0110]
此外,在一些实施场景中,目标区块链节点还可以对验证结果进行存证。例如,目标区块链节点可以计算r
sum
、sig
sum
、m
sum
的组合的哈希值,将所述哈希值作为键,将r
sum
、sig
sum
、m
sum
、各个承诺mi、第一设备的信息、第二设备的信息的集合作为键值,保存至区块链中。通过这样的方式,第一设备可以聚合其他设备的上传数据来实现数据上传,因而无法确定数据与数据所有者之间的关联关系。此外,在上传过程中,承诺的计算和传输过程也不向其他成员泄露待传输数据,因而能够进一步保障数据的安全性。
[0111]
上述技术方案中,第一设备可以在区块链中注册目标对象的目标数字孪生体,并在区块链中保存与所述目标数字孪生体相关联的数据目录。这样,设备集合中的各个设备都可以将自身所维护的目标对象的数据保存至对应的目录中。例如,第一设备可以确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录。这样,可以根据数据目录所关联的数据来构建目标数字孪生体。上述技术方案在区块链中注册了数字孪生体信息,并在区块链中维护用于构建所述数字孪生体的数据目录。这样,能够保障数字孪生体的信息是可追溯的,从而能够提升数字孪生体的可信性。并且,
这种方式也为各个设备基于数据目录所关联的数据来构建数字孪生体提供了基础,即可以结合各个设备所拥有的数据构建数字孪生体。在丰富数字孪生体信息的同时,也保障了用于构建数字孪生体的相关信息的一致性,进而有助于保障所构建的数字孪生体的一致性。
[0112]
在一些实施场景中,所述设备集合中的各个设备属于同一局域网,第一设备在向目标区块链节点发送第一请求之前,还可以在所述区块链网络中进行注册。在这种情况下,所述向目标区块链节点发送第一请求之前,还包括:
[0113]
向所述目标区块链节点发送注册请求,所述注册请求包括所述第一设备的设备信息;
[0114]
接收所述目标区块链节点的注册响应,所述注册响应包括所述第一设备在区块链中注册得到的设备标识;
[0115]
向所述目标区块链节点发送组网请求,所述组网请求包括所述局域网的网络标识以及所述第一设备的设备标识,所述组网请求用于所述目标区块链节点将所述第一设备添加至所述局域网中。
[0116]
参照图5所示出的一种设备注册和组网的流程图。作为一种示例,第一设备可以响应于目标对象(示例中为个体a)的注册操作,调用自身的设备注册接口,向目标区块链节点发送第一请求。所述第一请求包括设备id、设备信息(如设备出厂编号、配置和型号等)和设备对组合信息的签名,组合信息例如可以由所述设备id和设备信息拼接得到。
[0117]
目标区块链节点可以响应于所述第一请求,在区块链网络中注册第一设备,得到第一设备的设备标识。
[0118]
例如,目标区块链节点可以计算所述设备信息的哈希值,并查询链上已注册的设备的信息,确定所述第一设备是否已经注册。在所述第一设备已经注册的情况下,目标区块链节点可以返回注册失败信息。在所述第一设备未注册的情况下,目标区块链节点可以获取当前的时间戳,并拼接时间戳、设备id信息、所述设备信息的哈希值。目标区块链节点还可以用自身的节点私钥对拼接得到信息进行签名,并将签名的哈希值作为所述第一设备的设备标识。
[0119]
目标区块链节点还可以在区块链中对注册结果进行存证。例如,可以将所述设备标识作为键,将第一设备的id以及设备信息的哈希值作为键值,保存至区块链中,以便于后续查询。
[0120]
得到设备标识之后,目标区块链节点可以将所述设备标识发送至所述第一设备。第一设备可以基于设备标识,请求加入某个设备集合的网络。例如,可以向所述目标区块链节点发送组网请求,所述组网请求包括所述局域网的网络标识以及所述第一设备的设备标识,所述组网请求用于所述目标区块链节点将所述第一设备添加至所述局域网中。
[0121]
这样,目标区块链节点可以在已注册的局域网的信息中检索所述网络标识。在检索成功的情况下,确定所述网络标识所对应的局域网络已注册,从而将所述第一设备添加至所述局域网的设备集合中。
[0122]
在一些实施场景中,第一设备也可以创建局域网(如组网请求中的网络标识为空)。这样,目标区块链节点可以获取当前时间戳,生成网络id并将所述第一设备添加至网络成员数组中。在一些实施场景中,第一设备在请求创建网络时,也可以将所述网络的设备成员信息发送至目标区块链节点。这样,目标区块链节点可以将所述第一设备以及所述设
备成员信息中的设备添加至所述网络成员数组中。
[0123]
之后,目标区块链节点还可以将所述时间戳、所述网络id以及所述网络成员数组作为网络信息。目标区块链节点还可以计算所述网络信息的哈希值,并对所述哈希值进行签名存证。
[0124]
在一些实施场景中,第一设备也可以请求随机加入某个局域网络。在这种情况下,目标区块链节点可以将所述第一设备随机添加至某一已注册的局域网络。
[0125]
目标区块链节点在将所述第一设备添加至所述局域网之后,可以还将所述局域网的网络成员数组发送至所述第一设备。这样,第一设备可以与所述网络成员数组中的其他设备建立通信。
[0126]
所述第一设备还可以与所述局域网络中的其他设备协同,从而综合各个设备所维护的数据进行数据处理过程。
[0127]
在这种情况下,所述方法还包括:
[0128]
获取第二设备发送的加密共享数据,所述第二设备为所述设备集合中的设备,所述加密共享数据由所述第二设备对待共享数据进行同态加密得到;
[0129]
基于所述加密共享数据执行对应于所述目标数字孪生体的目标计算,得到目标加密计算结果;
[0130]
对各个目标加密计算结果进行解密,得到计算结果明文。
[0131]
以下通过一个示例对多个设备的协同处理过程进行示例性说明。其中,设备的数量为t个,t个设备属于局域网o。
[0132]
首先,各个设备准备己方要共享数据明文,并使用自身的密钥keya加密得到密文a。所述设备还可以调用公私钥管理机构生成t-1个随机数{r1,r2,r3,
…rt-1
},并调用自身的“秘密共享功能接口”,令r0=a构成如下多项式:
[0133][0134]
之后,所述设备可以将fa(x)共享到局域网络o中。分组中的其他设备oi可以获得此设备的秘密共享值ai=fa(xi)。其中,i∈[0,t-1]。
[0135]
也就是说,各个设备都可以将己方待共享的数据明文按上述方式构建多项式,并共享到局域网络o中,各个设备也可以获取其他成员的共享数据。例如,多个设备oi之间可以共享和获取其他设备的秘密共享值ai、bi,ci,
……
[0136]
各个设备oi使用其获得的其他节点的秘密共享值,调用区块链上已部署的“计算调度智能合约”。所述计算调度智能合约的内容可以基于应用需求进行设置,用于对所述秘密共享值进行预设的处理(如求平均值、仿真等等)。所述计算调度智能合约还可以将输入的秘密共享值以及所述秘密共享值的处理结果在区块链中进行记录,得到:
[0137]
ηi=f(ai,bi,ci,

)
[0138]
其中,ηi为第i个设备oi调用所述计算调度智能合约得到的处理结果。设备oi还可以收集其他成员的计算结果,得到{η0,η1,η2,

η
t-1
},从而进行解密恢复。例如在上述的示例中,存在的重构因子,可以计算得到处理结果的秘密值η:
[0139][0140]
这样,各个设备oi使用自身的密钥keya解析η即可获得本设备与其他设备的联合计算结果明文。
[0141]
应当理解,除了上述方式,在具体实施时也可以通过任何可行的协同加密方法进行秘密共享过程,并进而进行协同处理,本公开对此不做限制。采用上述技术方案,多个设备之间能够在不共享数据明文的情况下,进行数据的协同处理,从而保障了数据的安全性。
[0142]
基于同一发明构思,本公开还提供一种基于区块链的数字孪生体的构建方法,应用于目标区块链节点,所述目标区块链节点为区块链网络中的任一区块链节点。图6是本公开所示出的一种基于区块链的数字孪生体的构建方法的流程图,参照图6,所述方法包括:
[0143]
在步骤s61中,响应于接收到第一设备的第一请求,在区块链网络中注册目标对象的目标数字孪生体,得到目标数字孪生体的目标标识。
[0144]
其中,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有所述目标对象的至少部分数据集。
[0145]
参照图3所示出的一种数字孪生体的注册流程图。作为一种示例,个体a(即目标对象)可以通过第一设备发起注册流程。第一设备可以通过自身的孪生体管理功能接口,向目标区块链节点发送第一请求。所述第一请求可以包括个体身份、个体属性和个体的签名。其中,个体身份和个体属性可以基于应用需求进行设置,个体的签名可以为个体对所述个体身份和所述个体属性的签名,以保障信息的真实性。作为一种示例,个体身份可以包括个体的名称,个体属性可以包括个体所属的组织、权限信息等等,本公开对此不做限制。
[0146]
当然,第一请求中所包括的信息也可以基于应用需求进行选择和设置。例如在一些实施场景中,第一请求中还可以包括第一设备的设备信息。在一些实施场景中,设备集合中的各个设备还可以组成局域网,在这种情况下所述第一请求中还可以包括所述局域网的网络id。相应的,个体的签名可以包括个体根据自身私钥对所述网络id、所述设备信息、所述个体身份以及所述个体属性的签名。
[0147]
目标区块链节点在接收到第一请求之后,可以通过所述个体a的公钥对所述签名进行验证。目标区块链节点还可以查询区块链中已注册的数字孪生体的信息。例如,可以计算所述个体属性的哈希值,并和已注册的数字孪生体的个体属性的哈希值进行对比,从而确定所述目标数字孪生体是否已注册。
[0148]
在所述目标数字孪生体已注册的情况下,目标区块链节点可以返回注册失败信息。在所述目标数字孪生体未注册的情况下,目标区块链节点可以获取当前的时间戳,并将所述时间戳、所述个体属性的哈希值、所述个体身份进行组合,得到组合信息。这样,可以根据目标区块链节点的私钥对组合信息进行签名,并将签名的哈希值作为所述目标数字孪生体的标识,即作为所述目标标识。
[0149]
此外,目标区块链节点还可以将所述目标标识作为键,将所述目标标识所对应的时间戳、所述个体属性的哈希值、所述个体身份作为键值,保存至区块链中,以便于后续查询。目标区块链节点还可以将所述个体属性的哈希值作为键,将所述个体属性作为键值,保存至所述区块链中,以便于后续查询。
[0150]
此外,在一些实施场景中,也可以在区块链网络中部署孪生体管理智能合约。在这种情况下,上述步骤也可以由目标区块链节点基于部署的孪生体管理智能合约实现的。
[0151]
在注册得到目标标识之后,目标区块链节点可以将所述目标标识反馈至所述第一设备。
[0152]
在步骤s62中,响应于接收到第一设备的第二请求,在所述区块链网络的区块链中保存数据目录。
[0153]
其中,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所述数据目录由所述第一设备确定,所述第一设备在确定待上传的目标对象的目标数据属于目标目录时,将所述目标数据关联至区块链中的所述目标目录,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
[0154]
在一种可能的实施方式中,所述响应于接收到第一设备的第二请求,在所述区块链网络的区块链中保存数据目录,包括:
[0155]
获取所述第二请求中的数据目录信息以及目标标识;
[0156]
基于所述数据目录信息,构建默克尔树;
[0157]
计算所述默克尔树的默克尔根,得到数据校验码;
[0158]
基于目标区块链节点的私钥对所述数据校验码、当前时间戳、所述数据目录信息以及目标标识的组合信息进行签名,得到签名结果;
[0159]
将目标标识为键,所述签名结果、所述数据校验码、所述当前时间戳、所述数据目录信息作为键值,保存至区块链中。
[0160]
以下对步骤s62进行示例性说明,在一些实施场景中,所述第一设备还可以确定数据目录,并向目标区块链节点发送第二请求,第二请求包括数据目录,数据目录与目标标识相关联,第二请求用于目标区块链节点在区块链网络的区块链中保存数据目录。
[0161]
参照图3,第一设备例如可以通过调用自身的孪生体管理接口,从而向目标区块链节点发送第二请求。第二请求包括数据目录,以及所述数据目录所关联的目标标识。
[0162]
目标区块链节点可以查询所述目标标识所对应的目标数字孪生体是否已注册,在所述目标数字孪生体未注册的情况下,目标区块链节点可以返回目录创建失败消息。在所述目标数字孪生体已注册的情况下,目标区块链节点可以将所述数据目录保存至区块链中。
[0163]
此外,目标区块链节点还可以对所述数据目录进行存证。示例地,所述第二请求可以包括数据目录信息以及目标标识,目标区块链节点可以基于所述数据目录信息确定数据目录的层级关系,并根据数据目录的层级关系创建默克尔树。其中,将数据目录的哈希值作为默克尔树中的节点,将所述数据目录的子目录的哈希值映射为所述默克尔树中的所述节点的子节点。这样,可以计算所述默克尔树的默克尔根,得到数据校验码。
[0164]
这样,目标区块链节点可以获取当前的时间戳,并将时间戳与所述数据校验码、所述数据目录、所述目标标识进行组合,得到组合信息。目标区块链节点还可对组合信息进行私钥签名,将签名保存至区块链中进行存证。为了便于查询,还可以将目标标识作为键,将所述时间戳、所述数据校验码、所述数据目录、所述目标标识以及所述签名作为键值保存至区块链中。
[0165]
上述技术方案中,第一设备可以在区块链中注册目标对象的目标数字孪生体,并
在区块链中保存与所述目标数字孪生体相关联的数据目录。这样,设备集合中的各个设备都可以将自身所维护的目标对象的数据保存至对应的目录中。例如,第一设备可以确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录。这样,可以根据数据目录所关联的数据来构建目标数字孪生体。上述技术方案在区块链中注册了数字孪生体信息,并在区块链中维护用于构建所述数字孪生体的数据目录。这样,能够保障数字孪生体的信息是可追溯的,从而能够提升数字孪生体的可信性。并且,这种方式也为各个设备基于数据目录所关联的数据来构建数字孪生体提供了基础,即可以结合各个设备所拥有的数据构建数字孪生体。在丰富数字孪生体信息的同时,也保障了用于构建数字孪生体的相关信息的一致性,进而有助于保障所构建的数字孪生体的一致性。
[0166]
在一种可能的实施方式中,所述设备集合中的各个设备属于同一局域网,所述响应于接收到第一设备的第一请求,在区块链网络中注册目标对象的目标数字孪生体之前,还包括:
[0167]
接收所述第一设备的注册请求,所述注册请求包括所述第一设备的设备信息;
[0168]
基于所述设备信息生成所述第一设备的设备标识,将所述设备标识保存至区块链中;
[0169]
向所述第一设备发送注册响应,所述注册响应包括所述设备标识;
[0170]
接收所述第一设备的组网请求,所述组网请求包括所述局域网的网络标识以及所述第一设备的设备标识;
[0171]
基于所述网络标识查询已注册至所述区块链中的网络信息;
[0172]
在所述网络标识所对应的局域网已在所述区块链中注册的情况下,将所述第一设备添加至所述局域网中。
[0173]
参照图5所示出的一种设备注册和组网的流程图。作为一种示例,第一设备可以响应于目标对象(示例中为个体a)的注册操作,调用自身的设备注册接口,向目标区块链节点发送第一请求。所述第一请求包括设备id、设备信息(如设备出厂编号、配置和型号等)和设备对组合信息的签名,组合信息例如可以由所述设备id和设备信息拼接得到。
[0174]
目标区块链节点可以响应于所述第一请求,在区块链网络中注册第一设备,得到第一设备的设备标识。
[0175]
例如,目标区块链节点可以计算所述设备信息的哈希值,并查询链上已注册的设备的信息,确定所述第一设备是否已经注册。在所述第一设备已经注册的情况下,目标区块链节点可以返回注册失败信息。在所述第一设备未注册的情况下,目标区块链节点可以获取当前的时间戳,并拼接时间戳、设备id信息、所述设备信息的哈希值。目标区块链节点还可以用自身的节点私钥对拼接得到信息进行签名,并将签名的哈希值作为所述第一设备的设备标识。
[0176]
目标区块链节点还可以在区块链中对注册结果进行存证。例如,可以将所述设备标识作为键,将第一设备的id以及设备信息的哈希值作为键值,保存至区块链中,以便于后续查询。
[0177]
得到设备标识之后,目标区块链节点可以将所述设备标识发送至所述第一设备。第一设备可以基于设备标识,请求加入某个设备集合的网络。例如,可以向所述目标区块链节点发送组网请求,所述组网请求包括所述局域网的网络标识以及所述第一设备的设备标
识,所述组网请求用于所述目标区块链节点将所述第一设备添加至所述局域网中。
[0178]
这样,目标区块链节点可以在已注册的局域网的信息中检索所述网络标识。在检索成功的情况下,确定所述网络标识所对应的局域网络已注册,从而将所述第一设备添加至所述局域网的设备集合中。
[0179]
在一些实施场景中,第一设备也可以创建局域网(如组网请求中的网络标识为空)。这样,目标区块链节点可以获取当前时间戳,生成网络id并将所述第一设备添加至网络成员数组中。在一些实施场景中,第一设备在请求创建网络时,也可以将所述网络的设备成员信息发送至目标区块链节点。这样,目标区块链节点可以将所述第一设备以及所述设备成员信息中的设备添加至所述网络成员数组中。
[0180]
之后,目标区块链节点还可以将所述时间戳、所述网络id以及所述网络成员数组作为网络信息。目标区块链节点还可以计算所述网络信息的哈希值,并对所述哈希值进行签名存证。
[0181]
在一些实施场景中,第一设备也可以请求随机加入某个局域网络。在这种情况下,目标区块链节点可以将所述第一设备随机添加至某一已注册的局域网络。
[0182]
目标区块链节点在将所述第一设备添加至所述局域网之后,可以还将所述局域网的网络成员数组发送至所述第一设备。这样,第一设备可以与所述网络成员数组中的其他设备建立通信。
[0183]
在一种可能的实施方式中,所述方法还包括:
[0184]
响应于接收到第一设备发送的组合签名、组合承诺以及组合承诺因子,向所述第一设备以及所述组合签名所涉及的各个第二设备发送数据获取请求;
[0185]
接收所述第一设备发送的第一响应,所述第一响应包括所述第一设备的第一承诺因子以及第一输入信息;
[0186]
接收所述第二设备发送的第二响应,所述第二响应包括所述第二设备的第二承诺因子以及第二输入信息;
[0187]
根据所述第一承诺因子、所述第二承诺因子、所述第一承诺、所述第二承诺以及第一设备和第二设备的公钥,对所述组合签名和组合承诺进行正确性验证;
[0188]
在验证通过的情况下,将目标数据的目标哈希值保存至所述目标目录中。
[0189]
其中,关于验证的方式请参照上述实施例中的说明,为了说明书的简洁,本公开对此不做赘述。通过这样的方式,第一设备可以聚合其他设备的上传数据来实现数据上传,因而无法确定数据与数据所有者之间的关联关系。此外,在上传过程中,承诺的计算和传输过程也不向其他成员泄露待传输数据,因而能够进一步保障数据的安全性。
[0190]
基于同一发明构思,本公开还提供一种基于区块链的数字孪生体的构建装置,应用于第一设备,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有目标对象的至少部分数据集。图7是本公开所示出的一种用于第一设备的基于区块链的数字孪生体的构建装置的框图,参照图7,所述装置包括:
[0191]
第一发送模块701,用于向目标区块链节点发送第一请求,所述第一请求用于所述目标区块链节点在区块链网络中注册所述目标对象的目标数字孪生体,得到所述目标数字孪生体的目标标识,所述目标区块链节点为所述区块链网络中的任一区块链节点;
[0192]
第一确定模块702,用于确定数据目录;
[0193]
第二发送模块703,用于向目标区块链节点发送第二请求,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所述第二请求用于所述目标区块链节点在所述区块链网络的区块链中保存所述数据目录;
[0194]
目录确定模块704,用于确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录,其中,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
[0195]
上述技术方案中,第一设备可以在区块链中注册目标对象的目标数字孪生体,并在区块链中保存与所述目标数字孪生体相关联的数据目录。这样,设备集合中的各个设备都可以将自身所维护的目标对象的数据保存至对应的目录中。例如,第一设备可以确定待上传的目标对象的目标数据所属的目标目录,并将所述目标数据关联至区块链中的所述目标目录。这样,可以根据数据目录所关联的数据来构建目标数字孪生体。上述技术方案在区块链中注册了数字孪生体信息,并在区块链中维护用于构建所述数字孪生体的数据目录。这样,能够保障数字孪生体的信息是可追溯的,从而能够提升数字孪生体的可信性。并且,这种方式也为各个设备基于数据目录所关联的数据来构建数字孪生体提供了基础,即可以结合各个设备所拥有的数据构建数字孪生体。在丰富数字孪生体信息的同时,也保障了用于构建数字孪生体的相关信息的一致性,进而有助于保障所构建的数字孪生体的一致性。
[0196]
可选地,所述设备集合中的各个设备属于同一局域网,所述装置还包括:
[0197]
第三发送模块,用于在向目标区块链节点发送第一请求之前,向所述目标区块链节点发送注册请求,所述注册请求包括所述第一设备的设备信息;
[0198]
第一接收模块,用于接收所述目标区块链节点的注册响应,所述注册响应包括所述第一设备在区块链中注册得到的设备标识;
[0199]
第四发送模块,用于向所述目标区块链节点发送组网请求,所述组网请求包括所述局域网的网络标识以及所述第一设备的设备标识,所述组网请求用于所述目标区块链节点将所述第一设备添加至所述局域网中。
[0200]
可选地,所述第一确定模块,包括:
[0201]
第一确定子模块,用于基于所述目标对象的信息,确定多个数据类别;
[0202]
第一生成子模块,用于分别为每一所述数据类别生成类别目录,所述数据目录包括各所述类别目录。
[0203]
可选地,所述目录确定模块,包括:
[0204]
第一计算子模块,用于计算对应于所述目标数据的第一承诺以及第一承诺因子;
[0205]
第一获取子模块,用于获取对应于第二设备的待上传数据的第二承诺以及第二承诺因子,所述第二设备为所述设备集合中的设备,所述第二承诺以及第二承诺因子由所述第二设备计算得到;
[0206]
第一构建子模块,用于根据所述第一承诺因子以及所述第二承诺因子,构建组合承诺因子;
[0207]
第二构建子模块,用于根据所述第一承诺以及所述第二承诺,构建组合承诺;
[0208]
第二生成子模块,用于基于所述第一设备的第一私钥、所述组合承诺以及所述组合承诺因子生成第一签名;
[0209]
第二获取子模块,用于获取第二签名,所述第二签名由第二设备基于所述第二设
备的第二私钥、所述第二设备构建得到的组合承诺以及所述第二设备构建得到的组合承诺因子生成;
[0210]
第三生成子模块,用于根据所述第一签名和所述第二签名生成组合签名;
[0211]
第一发送子模块,用于将所述组合签名、所述组合承诺以及所述组合承诺因子发送至目标区块链节点;
[0212]
其中,所述组合承诺和所述组合签名用于所述目标区块链节点进行正确性验证,在验证通过的情况下,所述目标数据的第一哈希值被保存至所述目标目录中。
[0213]
可选地,所述第一计算子模块,包括:
[0214]
第一获取子单元,用于获取第一随机数、第一计算参数以及第二计算参数,所述第一随机数为所述目标区块链节点生成的对应于所述第一设备的随机数,所述第一计算参数包括所述目标区块链节点在有线椭圆曲线上选择的第一位置坐标,所述第二计算参数包括所述目标区块链节点在有线椭圆曲线上选择的第二位置坐标;
[0215]
第一计算子单元,用于根据第一输入信息、所述第一计算参数、所述第二计算参数以及所述第一随机数计算第一承诺,所述第一输入信息包括所述目标数据的第一哈希值、所述目标目录以及所述目标标识;
[0216]
第二计算子单元,用于基于所述第二计算参数以及生成的第一盲因子,计算得到第一承诺因子;
[0217]
所述第二生成子模块,用于通过所述第一设备的第一私钥、所述第一盲因子、所述组合承诺以及所述组合承诺因子生成第一签名;
[0218]
其中,所述目标区块链节点基于所述第一输入信息、第二输入信息、第一设备和第二设备的公钥、第一承诺因子以及第二承诺因子,对所述组合承诺以及所述组合签名进行正确性验证,在验证通过的情况下,所述目标数据的第一哈希值被保存至所述目标目录中。
[0219]
可选地,还包括:
[0220]
第一获取模块,用于获取第二设备发送的加密共享数据,所述第二设备为所述设备集合中的设备,所述加密共享数据由所述第二设备对待共享数据进行同态加密得到;
[0221]
第一执行模块,用于基于所述加密共享数据执行对应于所述目标数字孪生体的目标计算,得到目标加密计算结果;
[0222]
第一解密模块,用于对各个目标加密计算结果进行解密,得到计算结果明文。
[0223]
基于同一发明构思,本公开还提供一种基于区块链的数字孪生体的构建装置,应用于目标区块链节点,所述目标区块链节点为所述区块链网络中的任一区块链节点。图8是本公开所示出的一种用于目标区块链节点的基于区块链的数字孪生体的构建装置的框图,参照图8,所述装置包括:
[0224]
第一注册模块801,用于响应于接收到第一设备的第一请求,在区块链网络中注册目标对象的目标数字孪生体,得到所述目标数字孪生体的目标标识,所述第一设备为设备集合中的任意设备,所述设备集合中包括多个设备,各个设备分别维护有所述目标对象的至少部分数据集;
[0225]
第一保存模块802,用于响应于接收到第一设备的第二请求,在所述区块链网络的区块链中保存数据目录;
[0226]
其中,所述第二请求包括所述数据目录,所述数据目录与所述目标标识相关联,所
述数据目录由所述第一设备确定,所述第一设备在确定待上传的目标对象的目标数据属于目标目录时,将所述目标数据关联至区块链中的所述目标目录,所述数据目录所关联的数据用于构建对应于所述目标标识的目标数字孪生体。
[0227]
上述技术方案在区块链中注册了数字孪生体信息,并在区块链中维护用于构建所述数字孪生体的数据目录。这样,能够保障数字孪生体的信息是可追溯的,从而能够提升数字孪生体的可信性,并保障数字孪生体的唯一性。并且,这种方式也为各个设备基于数据目录所关联的数据来构建数字孪生体提供了基础,即可以结合各个设备所拥有的数据构建数字孪生体。在丰富数字孪生体信息的同时,也保障了用于构建数字孪生体的相关信息的一致性,进而有助于保障所构建的数字孪生体的一致性。
[0228]
可选地,所述设备集合中的各个设备属于同一局域网,所述装置还包括:
[0229]
第二接收模块,用于在响应于接收到第一设备的第一请求,在区块链网络中注册目标对象的目标数字孪生体之前,接收所述第一设备的注册请求,所述注册请求包括所述第一设备的设备信息;
[0230]
第二保存模块,用于基于所述设备信息生成所述第一设备的设备标识,将所述设备标识保存至区块链中;
[0231]
第五发送模块,用于向所述第一设备发送注册响应,所述注册响应包括所述设备标识;
[0232]
第三接收模块,用于接收所述第一设备的组网请求,所述组网请求包括所述局域网的网络标识以及所述第一设备的设备标识;
[0233]
第一查询模块,用于基于所述网络标识查询已注册至所述区块链中的网络信息;
[0234]
第一添加模块,用于在所述网络标识所对应的局域网已在所述区块链中注册的情况下,将所述第一设备添加至所述局域网中。
[0235]
可选地,所述第一保存模块,包括:
[0236]
第三获取子模块,用于获取所述第二请求中的数据目录信息以及目标标识;
[0237]
第三构建子模块,用于基于所述数据目录信息,构建默克尔树;
[0238]
第二计算子模块,用于计算所述默克尔树的默克尔根,得到数据校验码;
[0239]
签名子模块,用于基于目标区块链节点的私钥对所述数据校验码、当前时间戳、所述数据目录信息以及目标标识的组合信息进行签名,得到签名结果;
[0240]
第一保存子模块,用于将目标标识为键,所述签名结果、所述数据校验码、所述当前时间戳、所述数据目录信息作为键值,保存至区块链中。
[0241]
可选地,还包括:
[0242]
第六发送模块,用于响应于接收到第一设备发送的组合签名、组合承诺以及组合承诺因子,向所述第一设备以及所述组合签名所涉及的各个第二设备发送数据获取请求;
[0243]
第四接收模块,用于接收所述第一设备发送的第一响应,所述第一响应包括所述第一设备的第一承诺因子以及第一输入信息;
[0244]
第五接收模块,用于接收所述第二设备发送的第二响应,所述第二响应包括所述第二设备的第二承诺因子以及第二输入信息;
[0245]
验证模块,用于根据所述第一承诺因子、所述第二承诺因子、所述第一承诺、所述第二承诺以及第一设备和第二设备的公钥,对所述组合签名和组合承诺进行正确性验证;
[0246]
第三保存模块,用于在验证通过的情况下,将目标数据的目标哈希值保存至所述目标目录中。
[0247]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0248]
本公开还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开所提供的应用于第一设备的基于区块链的数字孪生体的构建方法的步骤。
[0249]
本公开还提供一种电子设备,包括:
[0250]
存储器,其上存储有计算机程序;
[0251]
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开所提供的应用于第一设备的基于区块链的数字孪生体的构建方法的步骤。
[0252]
本公开还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开所提供的应用于目标区块链节点的基于区块链的数字孪生体的构建方法的步骤。
[0253]
本公开还提供一种电子设备,包括:
[0254]
存储器,其上存储有计算机程序;
[0255]
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开所提供的应用于目标区块链节点的基于区块链的数字孪生体的构建方法的步骤。
[0256]
图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:第一处理器901,第一存储器902。该电子设备900还可以包括第一多媒体组件903,第一输入/输出(i/o)接口904,以及第一通信组件905中的一者或多者。
[0257]
其中,第一处理器901用于控制该电子设备900的整体操作,以完成上述的应用于第一设备的基于区块链的数字孪生体的构建方法中的全部或部分步骤。第一存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该第一存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。第一多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在第一存储器902或通过第一通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。第一i/o接口904为第一处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。第一通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限
定。因此相应的该第一通信组件905可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0258]
在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于第一设备的基于区块链的数字孪生体的构建方法。
[0259]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于第一设备的基于区块链的数字孪生体的构建方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的第一存储器902,上述程序指令可由电子设备900的第一处理器901执行以完成上述的应用于第一设备的基于区块链的数字孪生体的构建方法。
[0260]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的应用于第一设备的基于区块链的数字孪生体的构建方法的代码部分。
[0261]
图10是根据一示例性实施例示出的一种电子设备1000的框图。如图10所示,该电子设备1000可以包括:第二处理器1001,第二存储器1002。该电子设备1000还可以包括第二多媒体组件1003,第二i/o接口1004,以及第二通信组件1005中的一者或多者。
[0262]
其中,第二处理器1001用于控制该电子设备1000的整体操作,以完成上述的应用于目标区块链节点的基于区块链的数字孪生体的构建方法中的全部或部分步骤。第二存储器1002用于存储各种类型的数据以支持在该电子设备1000的操作,这些数据例如可以包括用于在该电子设备1000上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该第二存储器1002可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。第二多媒体组件1003可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在第二存储器1002或通过第二通信组件1005发送。音频组件还包括至少一个扬声器,用于输出音频信号。第二i/o接口1004为第二处理器1001和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。第二通信组件1005用于该电子设备1000与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该第二通信组件1005可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0263]
在一示例性实施例中,电子设备1000可以被一个或多个应用专用集成电路
(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于目标区块链节点的基于区块链的数字孪生体的构建方法。
[0264]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于目标区块链节点的基于区块链的数字孪生体的构建方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的第二存储器1002,上述程序指令可由电子设备1000的第二处理器1001执行以完成上述的应用于目标区块链节点的基于区块链的数字孪生体的构建方法。
[0265]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的应用于目标区块链节点的基于区块链的数字孪生体的构建方法的代码部分。
[0266]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0267]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0268]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1