CN115473895B - 泛在环境下的数字对象仓库节点共识组划分方法和装置 - Google Patents
泛在环境下的数字对象仓库节点共识组划分方法和装置 Download PDFInfo
- Publication number
- CN115473895B CN115473895B CN202211068409.8A CN202211068409A CN115473895B CN 115473895 B CN115473895 B CN 115473895B CN 202211068409 A CN202211068409 A CN 202211068409A CN 115473895 B CN115473895 B CN 115473895B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- core
- consensus group
- triangle
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000010586 diagram Methods 0.000 claims description 47
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 238000000638 solvent extraction Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 9
- 230000036961 partial effect Effects 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000002224 dissection Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 21
- 230000008859 change Effects 0.000 abstract description 8
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000013467 fragmentation Methods 0.000 abstract description 2
- 238000006062 fragmentation reaction Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种泛在环境下的数字对象仓库节点共识组划分方法和装置,属于数字对象架构技术领域,本申请实施例基于节点的位置信息将其映射在一个二维平面,并通过构建泰森多边形对节点进行划分,将空间距离临近的节点划分在同一个共识组内,有效减小节点与节点之间的网络延迟,提高分片性能;同时将整个泰森多边形分布式地保存在节点中,根据泰森多边形的特性,某个节点的动态变化仅会影响临近的常数个单元格,因此能够以较小的开销,实现共识组内动态节点的自适应调整,使得分片区块链技术能够在泛在环境下发挥其优势,进而保障数字对象访问事务记录的高效可信。
Description
技术领域
本申请涉及数字对象架构技术领域,特别是涉及一种泛在环境下的数字对象仓库节点共识组划分方法和装置。
背景技术
数字对象架构DOA(Digital Object Architecture)是由图灵奖得主、互联网之父罗伯特·卡恩教授提出的一种软件体系结构,以数字对象为中心解决开放环境下信息***资源之间的互操作,数字对象本质上是资源实体的数据抽象,互联网环境下,数字对象主要产生于云端信息***,由库表、文档、图片等已经存在于信息***中的数据转变而成。而泛在环境是一个去中心化的环境,不同于互联网环境下对数据进行集中管理,泛在环境下的主要组成部分大量分散在世界各地的终端、边缘设备。产生于去中心化环境的数字对象访问事务往往是由多个数字对象主体之间交互产生,涉及到多个数字对象主体之间的共识,存储于终端、边缘仓库节点中的访问事务存在丢失、被篡改的风险,因此,需要保证数字对象事务记录的可信。
区块链作为一个去中心化环境下的数据可信存证技术,可以保障数字对象访问事务记录的可信。然而泛在环境下海量的数字对象时时刻刻都在产生访问事务,而终端设备稳定性不足且存储能力有限,再加上区块链技术本身的吞吐量瓶颈,导致传统的区块链技术难以直接应用于泛在环境。
在传统的区块链***中,全网所有节点属于同一个共识组,***只能串行地存证事务,导致***的吞吐量无法有效提升。虽然利用区块链技术中的分片技术可以节点划分为多个共识组,每个共识组独立并行地产块,从而提高区块链***整体的吞吐量,但是要求各个共识组内的节点需要进行数据同步、数据共识,其交互明显频繁于组间节点与组间节点的交互。而数字对象处于网络末端,分布随机,使得节点和节点之间网络延迟差异较大;同时,不同于互联网环境下文挡、表库等静态数据,泛在环境下的数字对象实体通常由智能设备实时感知、产生,其值会随着现实世界的改变而实时变化,如何对泛在环境下的数字对象仓库节点进行划分是当前亟需解决的问题。
发明内容
本申请提供一种泛在环境下的数字对象仓库节点共识组划分方法和装置,以解决传统的区块链分片技术难以对泛在环境下的数字对象仓库节点进行划分的问题。
为了解决上述问题,本申请采用了以下的技术方案:
第一方面,本申请实施例提供了一种泛在环境下的数字对象仓库节点共识组划分方法,所述泛在环境下的数字对象仓库节点共识组划分方法包括:
基于多个数字对象的位置信息,将所述多个数字对象映射到二维平面上,得到多个节点;其中,不同的节点对应不同的数字对象;
基于所述多个节点,对所述二维平面进行划分,得到泰森多边形;所述泰森多边形包括n个单元格;n为大于等于1的整数;
将属于同一个单元格的节点划分在同一个共识组中,以得到n个共识组;
基于所述n个共识组,创建n条区块链;其中,不同的区块链对应不同的共识组;所述区块链用于存储对应共识组中的节点的事务信息。
在本申请一实施例中,基于所述多个节点,对所述二维平面进行划分,得到泰森多边形,包括:
将所述节点集合中具有固定位置信息的n个节点确定为n个核节点;
基于所述n个核节点,通过Delaunay三角剖分算法,对所述二维平面进行划分,生成Delaunay三角剖分图;
基于所述Delaunay三角剖分图,得到所述泰森多边形;
其中,不同的核节点对应不同的单元格;每个单元格包括对应的核节点和若干个成员节点;所述核节点存储有邻居节点集合、三角形集合和共识组成员集合;所述邻居节点集合表示与所述核节点邻接的所有邻居核节点的集合;所述三角形集合表示与所述邻居核节点组成的三角形关系;所述共识组成员集合表示所述单元格中的所有节点。
在本申请一实施例中,所述泛在环境下的数字对象仓库节点共识组划分方法还包括:
在出现新成员节点的情况下,将任意一个核节点作为初始核节点,计算所述初始核节点的邻居核节点与所述新成员节点之间的欧式距离;
将距离所述新成员节点最近的邻居核节点确定为最近邻接节点;
判断所述最近邻接节点与所述新成员节点之间的欧式距离是否小于等于所述初始核节点与所述新成员节点之间的欧氏距离;
若否,则将所述初始核节点确定为距离所述新成员节点最近的目标核节点,并将所述新成员节点加入所述目标核节点所在的共识组;
若是,则令所述最近邻接节点作为所述初始核节点,重复以上步骤,直到找到所述目标核节点。
在本申请一实施例中,所述泛在环境下的数字对象仓库节点共识组划分方法还包括:
在任一共识组中的节点数量超过上限阈值的情况下,在所述共识组对应的单元格的成员节点中,确定新核节点,以使在所述单元格中距离所述新核节点较近的成员节点的数量和距离所述单元格对应的原核节点较近的成员节点的数量相当;
基于所述新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图;
基于所述新Delaunay三角剖分图,更新所述原核节点的邻居核节点的邻居节点集合和三角形集合;
基于更新后的所述邻居节点集合和所述三角形集合,更新受到影响的核节点的共识组成员集合,得到完成重构的共识组;所述完成重构的共识组包括所述新核节点所在的新增共识组。
在本申请一实施例中,基于所述新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图,包括:
在所述原核节点存储的三角形集合中,确定包含所述新核节点的目标三角形;所述目标三角形的顶点分别为所述原核节点、第一邻居核节点、第二邻居核节点;
将所述原核节点、所述第一邻居核节点和所述第二邻居核节点分别与所述新核节点连接,得到三个新三角形;对所述新三角形进行合法化操作,以生成所述新Delaunay三角剖分图。
在本申请一实施例中,对所述新三角形进行合法化操作,包括:
判断所述新三角形是否满足Delaunay三角剖分的空圆特性;
若是,则确定所述新三角形为合法三角形并进行保留;
若否,则确定所述新三角形为不合法三角形,则删除所述不合法三角形,并连接所述新核节点和对侧核节点,以构造出两个重构三角形;所述对侧核节点为所述不合法三角形在邻接边上的邻接三角形的对侧顶点,所述邻接边为连接所述第一邻居核节点和所述第二邻居核节点构成的边;
重复以上步骤,对所述重构三角形进行合法化操作,直到所有重构三角形均为合法三角形。
在本申请一实施例中,基于更新后的所述邻居节点集合和所述三角形集合,更新受到影响的核节点的共识组成员集合,包括:
基于更新后的所述邻居节点集合和所述三角形集合,确定受到影响的目标成员节点;
判断所述目标成员节点到所述新核节点的距离是否小于所述目标成员节点到自身原本所在共识组中的核节点的距离;
若否,则保持所述目标成员节点在原本所在的共识组中不变;
若是,则将所述目标成员节点加入所述新核节点所在的新增共识组。
在本申请一实施例中,所述泛在环境下的数字对象仓库节点共识组划分方法还包括:
在任一共识组中的节点数量低于下限阈值,或任一共识组中的核节点退出的情况下,将所述共识组确定为待合并共识组,将所述待合并共识组对应的单元格中的核节点确定为待删除核节点;
基于所述待删除核节点的邻居节点集合,确定目标邻居核节点;
基于所述目标邻居核节点,通过Delaunay三角剖分算法,生成局部三角剖分图;
基于所述局部三角剖分图,更新所述目标邻居核节点的邻居节点集合和三角形集合,以从所述目标邻居核节点的邻居节点集合中删除所述待删除核节点,并从所述目标邻居核节点的三角形集合中删除包含所述待删除核节点的三角形;
基于所述待合并共识组中的所有节点的位置信息,将所述待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,以更新所述目标邻居核节点的共识组成员集合,得到完成合并的共识组。
在本申请一实施例中,基于所述待合并共识组中的所有节点的位置信息,将所述待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,包括:
针对所述待合并共识组中的每个节点,分别获取该节点距离所述目标邻居核节点的距离;并将该节点加入距离该节点最近的目标邻居核节点所在的共识组成员集合中。
第二方面,基于相同发明构思,本申请实施例提供了一种泛在环境下的数字对象仓库节点共识组划分装置,所述泛在环境下的数字对象仓库节点共识组划分装置包括:
映射模块,用于基于多个数字对象的位置信息,将所述多个数字对象映射到二维平面上,得到多个节点;其中,不同的节点对应不同的数字对象;
节点划分模块,用于基于所述多个节点,对所述二维平面进行划分,得到泰森多边形;所述泰森多边形包括n个单元格;n为大于等于1的整数;
共识组划分模块,用于将属于同一个单元格的节点划分在同一个共识组中,以得到n个共识组;
区块链创建模块,用于基于所述n个共识组,创建n条区块链;其中,不同的区块链对应不同的共识组;所述区块链用于存储对应共识组中的节点的事务信息。
在本申请一实施例中,所述节点划分模块包括:
核节点确定子模块,用于将所述节点集合中具有固定位置信息的n个节点确定为n个核节点;
三角剖分子模块,用于基于所述n个核节点,通过Delaunay三角剖分算法,对所述二维平面进行划分,生成Delaunay三角剖分图;
泰森多边形获取子模块,用于基于所述Delaunay三角剖分图,得到所述泰森多边形;其中,不同的核节点对应不同的单元格;每个单元格包括对应的核节点和若干个成员节点;所述核节点存储有邻居节点集合、三角形集合和共识组成员集合;所述邻居节点集合表示与所述核节点邻接的所有邻居核节点的集合;所述三角形集合表示与所述邻居核节点组成的三角形关系;所述共识组成员集合表示所述单元格中的所有节点。
在本申请一实施例中,所述泛在环境下的数字对象仓库节点共识组划分装置还包括:
距离计算模块,用于在出现新成员节点的情况下,将任意一个核节点作为初始核节点,计算所述初始核节点的邻居核节点与所述新成员节点之间的欧式距离;
最近邻接节点确定模块,用于将距离所述新成员节点最近的邻居核节点确定为最近邻接节点;
距离判断模块,用于判断所述最近邻接节点与所述新成员节点之间的欧式距离是否小于等于所述初始核节点与所述新成员节点之间的欧氏距离;
目标核节点确定模块,用于在所述最近邻接节点与所述新成员节点之间的欧式距离大于所述初始核节点与所述新成员节点之间的欧氏距离时,则将所述初始核节点确定为距离所述新成员节点最近的目标核节点,并将所述新成员节点加入所述目标核节点所在的共识组;
目标核节点探索模块,用于在所述最近邻接节点与所述新成员节点之间的欧式距离小于等于所述初始核节点与所述新成员节点之间的欧氏距离时,重复以上步骤,直到找到所述目标核节点。
在本申请一实施例中,所述泛在环境下的数字对象仓库节点共识组划分装置还包括:
新核节点确定模块,用于在任一共识组中的节点数量超过上限阈值的情况下,在所述共识组对应的单元格的成员节点中,确定新核节点,以使在所述单元格中距离所述新核节点较近的成员节点的数量和距离所述单元格对应的原核节点较近的成员节点的数量相当;
新三角剖分图生成模块,用于基于所述新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图;
第一更新模块,用于基于所述新Delaunay三角剖分图,更新所述原核节点的邻居核节点的邻居节点集合和三角形集合;
第二更新模块,用于基于更新后的所述邻居节点集合和所述三角形集合,更新受到影响的核节点的共识组成员集合,得到完成重构的共识组;所述完成重构的共识组包括所述新核节点所在的新增共识组。
在本申请一实施例中,所述第一更新模块包括:
目标三角形确定子模块,用于在所述原核节点存储的三角形集合中,确定包含所述新核节点的目标三角形;所述目标三角形的顶点分别为所述原核节点、第一邻居核节点、第二邻居核节点;
三角形合法化子模块,用于将所述原核节点、所述第一邻居核节点和所述第二邻居核节点分别与所述新核节点连接,得到三个新三角形;对所述新三角形进行合法化操作,以生成所述新Delaunay三角剖分图。
在本申请一实施例中,所述三角形合法化子模块包括:
合法性判断单元,用于判断所述新三角形是否满足Delaunay三角剖分的空圆特性;
合法三角形确定单元,用于在所述新三角形满足Delaunay三角剖分的空圆特性时,则确定所述新三角形为合法三角形并进行保留;
三角形合法化单元,用于在所述新三角形不满足Delaunay三角剖分的空圆特性时,则确定所述新三角形为不合法三角形,则删除所述不合法三角形,并连接所述新核节点和对侧核节点,以构造出两个重构三角形;所述对侧核节点为所述不合法三角形在邻接边上的邻接三角形的对侧顶点,所述邻接边为连接所述第一邻居核节点和所述第二邻居核节点构成的边;
递归单元,用于重复以上步骤,对所述重构三角形进行合法化操作,直到所有重构三角形均为合法三角形;
在本申请一实施例中,所述第二更新模块包括:
目标成员节点确定子模块,用于基于更新后的所述邻居节点集合和所述三角形集合,确定受到影响的目标成员节点;
距离判断子模块,用于判断所述目标成员节点到所述新核节点的距离是否小于所述目标成员节点到自身原本所在共识组中的核节点的距离;
节点保持子模块,用于在所述目标成员节点到所述新核节点的距离大于等于所述目标成员节点到自身原本所在共识组中的核节点的距离时,则保持所述目标成员节点在原本所在的共识组中不变;
节点加入子模块,用于在所述目标成员节点到所述新核节点的距离小于所述目标成员节点到自身原本所在共识组中的核节点的距离时,则将所述目标成员节点加入所述新核节点所在的新增共识组。
在本申请一实施例中,所述泛在环境下的数字对象仓库节点共识组划分装置还包括:
待合并共识组确定模块,用于在任一共识组中的节点数量低于下限阈值,或任一共识组中的核节点退出的情况下,将所述共识组确定为待合并共识组,将所述待合并共识组对应的单元格中的核节点确定为待删除核节点;
目标邻居核节点确定模块,用于基于所述待删除核节点的邻居节点集合,确定目标邻居核节点;
局部三角剖分图生成模块,用于基于所述目标邻居核节点,通过Delaunay三角剖分算法,生成局部三角剖分图;
第三更新模块,用于基于所述局部三角剖分图,更新所述目标邻居核节点的邻居节点集合和三角形集合,以从所述目标邻居核节点的邻居节点集合中删除所述待删除核节点,并从所述目标邻居核节点的三角形集合中删除包含所述待删除核节点的三角形;
第四更新模块,用于基于所述待合并共识组中的所有节点的位置信息,将所述待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,以更新所述目标邻居核节点的共识组成员集合,得到完成合并的共识组。
在本申请一实施例中,所述第四更新模块具体用于针对所述待合并共识组中的每个节点,分别获取该节点距离所述目标邻居核节点的距离;并将该节点加入距离该节点最近的目标邻居核节点所在的共识组成员集合中。
与现有技术相比,本申请包括以下优点:
本申请实施例提供的一种泛在环境下的数字对象仓库节点共识组划分方法,基于节点的位置信息将其映射在一个二维平面,并通过构建泰森多边形对节点进行划分,将空间距离临近的节点划分在同一个共识组内,有效减小节点与节点之间的网络延迟,提高分片性能;同时将整个泰森多边形分布式地保存在节点中,根据泰森多边形的特性,某个节点的动态变化仅会影响临近的常数个单元格,因此能够以较小的开销,实现共识组内动态节点的自适应调整,使得分片区块链技术能够在泛在环境下发挥其优势,进而保障数字对象访问事务记录的高效、可信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中一种泛在环境下的数字对象仓库节点共识组划分方法的步骤流程图。
图2是本申请一实施例中Voronoi图的示意图。
图3是本申请一实施例中Delaunay三角剖分示意图。
图4是本申请一实施例中共识组***示意图。
图5是本申请一实施例中生成新Delaunay三角剖分图的过程示意图。
图6是本申请一实施例中单个三角形合法化的过程示意图。
图7是本申请一实施例中共识组合并示意图。
图8是本申请一实施例中泛在环境下的数字对象仓库节点共识组划分装置的功能模块示意图。
附图标记:800-泛在环境下的数字对象仓库节点共识组划分装置;801-映射模块;802-节点划分模块;803-共识组划分模块;804-区块链创建模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于进一步理解本申请的相关术语以及背景技术,下面首先对泛在环境下的数字对象进行介绍。
随着软硬件技术的发展,越来越多的“智能”设备分布在现实世界中,智能设备是指具有计算处理能力的终端设备。智能设备的普及也意味着计算成为一种泛在的资源融入物理***和人类社会中。通过计算资源,人类社会、物理***和信息***可以便捷地进行交互、协同,而计算资源的泛在化也意味着人类社会、物理***和信息***的结合越来越紧密,其边界也越来越模糊。本申请所提的泛在环境即是指计算资源泛在化而产生的一种不同于互联网的新型环境。
在泛在环境下,海量泛在的智能设备时时刻刻都在产生海量的数据。在互联网环境下,数字对象以文档、库表等静态数据为主,其数字对象实体为这些资源的实际字节序列,通常不会产生频繁的变化,比如目前最广泛的数字对象应用DOI,其为已发表的论文分配唯一的标识并将其看做是数字对象。而泛在环境下的数字对象实体通常由智能设备实时感知、产生,其值会随着现实世界的改变而实时变化。以泛在环境下的净化器数字对象为例,该数字对象代表着一台净化器实体,其标识仍然是由标识解析***分配的全局唯一的字符序列,其元数据为描述该净化器的键值对,包括:产品名称、生产日期、生产厂家、序列号等,标识和元数据均和互联网中的论文数字对象没有本质区别。但净化器数字对象的实体则是净化器的数字表征,代表着净化器中多个传感器的实时状态,包括:空气质量、湿度、风扇转数等,其值会实时变化,因而无法像论文数字对象一样直接将某一时刻的快照以字节形式序列化在数字对象实体当中。净化器的数字对象实体中通常存储净化器传感器的数据接口,在访问数字对象时通过数据接口获取实时数据并返回。泛在环境和互联网环境在数字对象实体上的差异使得终端、边缘设备更适合作为数字对象仓库的载体,提供数字对象的访问服务。
泛在环境下数字对象由其所在的终端、边缘仓库提供访问服务,相应的访问事务也产生于终端、边缘数字对象仓库。在DOA中,访问事务作为事后追溯数字对象操作行为的唯一凭据,能够还原数字对象的历史操作记录,提供数据的审计服务、保障数据的相关权益。因此,数字对象的访问事务需要被安全、可靠地记录、存证。
区块链作为一个去中心化环境下的数据可信存证技术,可以保障数字对象访问事务记录的可信。然而泛在环境下海量的数字对象时时刻刻都在产生访问事务,而终端设备稳定性不足且存储能力有限,再加上区块链技术本身的吞吐量瓶颈,导致传统的区块链技术难以直接应用于泛在环境。
区块链***本质上是一个分布式的数据库,其中存储的是***中产生的一条条交易(Transaction),也即事务。通过将事务备份在多个节点中,保证事务的完整性;通过事务之间的哈希指针,保证事务之间顺序以及增强事务的防篡改能力;通过共识算法,保证事务的合法性。基于区块链技术存证泛在环境下数字对象访问事务,既可以通过节点之间的多备份保证访问事务的完整性,又可以通过数据之间的Hash指针保证访问事务的安全性。
然而,在传统的区块链***中,全网所有节点属于同一个共识组,***只能串行地存证事务,导致***的吞吐量无法有效提升,难以满足泛在环境下海量数字对象的访问事务存证需求。虽然利用区块链技术中的分片技术可以节点划分为多个共识组,每个共识组独立并行地产块,从而提高区块链***整体的吞吐量,分片技术需要维持各个共识组内节点数量在恒定水平,既不能过高影响状态存证效率,也不能过低影响历史状态的完整性。然而,泛在环境下作为数字对象仓库的终端、边缘设备分布随机且行为动态,主要给共识组的划分带来以下挑战:
(1)终端、边缘仓库节点处于网络末端,节点和节点之间网络延迟差异较大,影响共识组内的节点的数据同步和数据共识。
(2)终端、边缘仓库节点分布随机、不均且无法预测。传统的基于空间网格划分共识组的方式或者基于边缘服务器划分共识组的方式,均需要预先知道终端节点的分布规律,或者假设终端节点分布均匀,因而无法应用于分散式数字对象仓库的共识组划分。
(3)终端、边缘仓库节点行为动态,节点加入、退出行为频繁。在根据初始节点分布划分共识组后,共识组还需要随着节点加入退出动态伸缩共识组的能力,以维持共识组内节点数量在恒定水平。
为了解决上述背景技术中存在的问题,本申请旨在提供一种泛在环境下的数字对象仓库节点共识组划分方法,通过将数字对象映射为二维平面上的节点,并通过构建泰森多边形对节点进行划分,将空间距离临近的节点划分在同一个共识组内,并实现共识组内动态节点的自适应调整,使得分片区块链技术能够在泛在环境下发挥其优势,进而保障数字对象访问事务记录的可信。
参照图1,示出了本申请一种泛在环境下的数字对象仓库节点共识组划分方法的步骤流程图,该方法包括:
S101:基于多个数字对象的位置信息,将多个数字对象映射到二维平面上,得到多个节点。
在本实施方式中,基于泰森多边形构建共识组,首先需要将所有数字对象映射到一个二维平面上,在该二维平面上,不同的节点对应不同的数字对象。
在本实施方式中,多个数字对象的位置信息可以是经纬度信息,在泛在环境下,数字对象以分布在现实世界中的终端节点为主,天然的具有经纬度信息。在具体实现中,可以通过全球定位***GPS自动获取数字对象的经纬度信息,也可以手动设置仓库节点的经纬度属性。
在本实施方式中,每个节点均对应一个二维向量Vi,如公式(1)所示:
Vi=<lati,loni> (1);
其中,lati为节点Vi的经度,loni为节点Vi的纬度。
S102:基于多个节点,对二维平面进行划分,得到泰森多边形,泰森多边形包括n个单元格。
需要说明的是,泰森多边形又叫冯洛诺伊图(Voronoi diagram),以下简称为Voronoi图,Voronoi图根据多个节点构成的点集,将二维平面划分为n个Voronoi多边形,每个Voronoi多边形为一个Voronoi单元格(以下简称为单元格),每个单元格中均包括若干个节点,这些属于同一个Voronoi单元格的节点便可划分在同一个共识组内,其中,n为大于等于1的整数。
需要说明的是,常见的构造Voronoi图的算法有:扫描线算法,分治算法,增量法等。但利用Delaunay三角剖分算法构建Voronoi图是其中最为高效的做法。在本实施方式中,将采用Delaunay三角剖分算法构建Voronoi图,基于Delaunay三角剖分算法,S102具体可以包括以下步骤:
S102-1:将节点集合中具有固定位置信息的n个节点确定为n个核节点。
需要说明的是,参照图2,示出了Voronoi图的示意图,通过Delaunay三角剖分算法构建的Voronoi图中有两类节点:一类是核节点,如图2中的三角形,核节点每个单元格中有且仅有一个,一般为地理位置不会频繁发生变化的固定节点,共识组主要依据核节点的地理位置进行划分,以表示,每个/>表示核节点对应的经纬度向量,即:另一类是成员节点,如图2中的圆形,成员节点同样具有地理位置信息,成员节点根据其所在的单元格,选择相应的核节点作为其引导节点,加入该共识组,以表示,同样/>节点之间的距离以欧式几何的距离定义,即任意两个节点Vi与Vj之间的距离可以用公式(2)表示:
其中,Di,j表示Vi与Vj之间的欧式距离;lati和loni分别表示Vi的经度和维度;latj和lonj分别表示Vj的经度和维度。
在本实施方式中,在通过Delaunay三角剖分算法构建的Voronoi图之前,需要首先确定核节点,可以将基站、摄像头、路由器等具有固定位置信息而不会频繁发生变化的节点确定为核节点。
S102-2:基于n个核节点,通过Delaunay三角剖分算法,对二维平面进行划分,生成Delaunay三角剖分图。
需要说明的是,如图3所示,示出了Delaunay三角剖分示意图,Delaunay三角剖分图是Voronoi图的对偶图,连接Voronoi图中每个邻接单元格的核节点即可唯一的得到一个Delaunay三角剖分,相应的,对Delaunay三角剖分图中的每一条边做一条垂直平分线,取每个垂直平分线以及其交点作为多边形的边和点,即可得到一个Voronoi图。
在本实施方式中,采用Delaunay三角剖分算法运用到泛在环境下的数字对象仓库节点共识组划分,具有如下优势:
唯一性:对于给定的点集,Delaunay三角剖分是唯一的,因此,Delaunay三角剖分同样可以分布式进行。
Voronoi对偶性:Delaunay三角形的每一个顶点即为Voronoi图中每个单元格的核节点,数字对象仅需要找到距离最近的Delaunay三角形顶点即可加入到正确的单元格对应的共识组中。
空圆性:任意一个Delaunay三角形的外接圆一定不包含其他的三角形顶点,该特性作为共识组分配的重要特征,能够作为后续共识组***或合并的判断依据。
S102-3:基于Delaunay三角剖分图,得到泰森多边形。
在本实施方式中,基于Voronoi图和Delaunay三角剖分图的对偶关系,存储Delaunay三角剖分图即代表存储了Voronoi图,完整的Delaunay三角剖分图以GTrianglation表示,GTrianglation代表了整个图中的点集边集Set[Ei,j]以及三角形集合Set[Ti,j,k],如公式(3)所示:
在本实施方式中,以分布式的方式将整个Delaunay三角剖分图分别保存在每个核节点中。对于核节点若在Delaunay三角剖分中,存在边/>则认为/>是的邻居节点,如公式(4)所示:
当且仅当/>
对于核节点其本地仅保存局部的三角剖分和共识组信息,主要包括以下三个部分:
(1)核节点的邻居节点集合neighboursi,表示包含与核节点/>邻接的所有邻居核节点的集合,如公式(5)所示:
(2)包含核节点的三角形集合Trianglesi,用于记录核节点/>与邻居核节点组成的三角形关系,如公式(6)和公式(7)所示:
Trianglesi=<Ti,j,k>j,k∈neighboursi (6);
Ti,j,k=<Vi,Vj,Vk> (7);
(3)核节点所在的共识组成员集合shardi,由核节点/>本身与处于相同单元格中的成员节点组成,如公式(8)所示:
在本实施方式中,通过在每个核节点存储有其对应的邻居节点集合neighboursi、三角形集合Trianglesi和共识组成员集合shardi,相当于存储了一个Delaunay三角剖分图,而存储Delaunay三角剖分图即代表存储整个Voronoi图。进而在后续数字对象的状态发送改变时,仅需对其所在共识组中的核节点存储的信息进行更新即可。
S103:将属于同一个单元格的节点划分在同一个共识组中,以得到n个共识组。
在本实施方式中,按照数字对象的经纬度信息将其映射在一个二维平面,并基于Voronoi图对节点进行划分,可以将空间距离临近的节点划分在同一个共识组内,降低组内节点和节点之间的网络延迟,提高共识组内的节点的数据同步和数据共识的效率。
S104:基于n个共识组,创建n条区块链。
在本实施方式中,不同的区块链对应不同的共识组,每条区块链用于存储对应共识组中的节点的事务信息。
在本实施方式中,同一个共识组仅对组内的数字对象的访问事务进行共识、存证,组间相互不影响,每个共识组独立并行地产块,从而提高区块链***整体的吞吐量;同时,将整个Voronoi图分布式地保存在节点中,根据泰森多边形的特性,某个节点的动态变化仅会影响临近的常数个单元格,因此能够以较小的开销,实现共识组内动态节点的自适应调整,使得分片区块链技术能够在泛在环境下发挥其优势,进而保障数字对象访问事务记录的可信,进而满足海量数字对象的访问事务存证需求。
在一个可行的实施方式中,当Voronoi图中产生新的节点时,本实施例提供的泛在环境下的数字对象仓库节点共识组划分方法还可以包括以下步骤:
S105:在出现新成员节点的情况下,将任意一个核节点作为初始核节点,计算初始核节点的邻居核节点与新成员节点之间的欧式距离。
在本实施方式中,在三角剖分图GTrianglation构建完成之后,其他成员节点或新成员节点均是基于核节点的坐标信息选择相应的核节点,加入其所在的共识组,下面将对新成员节点的加入过程为为示例进行说明。
需要说明的是,根据Voronoi图的特性,对于属于某个细胞的节点,其距离最近的核节点一定是该细胞的核节点,因此对于节点仅需要选择距离最近的核节点/>加入其所在共识组即可。由于三角剖分图GTrianglation中的核节点仅存储有局部视图,因此,将采用基于深度优先搜索算法找寻选择距离新成员节点最近的核节点。
在具体实现中,将选择任意一个核节点为初始核节点,并将该初始核节点作为查询起点,首先查询其邻居节点集合neighboursi,找到初始核节点的邻居核节点。
S106:将距离新成员节点最近的邻居核节点确定为最近邻接节点。
在具体实现中,可以通过公式(2)分别计算新成员节点与所有邻居核节点之间的欧式距离Dj,k,其中k∈neighboursi,得到距离最小的邻居节点/>以及其最近距离Dj,k。
S107:判断最近邻接节点与新成员节点之间的欧式距离是否小于等于初始核节点与新成员节点之间的欧氏距离。
S108:若否,则将初始核节点确定为距离新成员节点最近的目标核节点,并将新成员节点加入目标核节点所在的共识组;
S109:若是,则令最近邻接节点作为初始核节点,重复以上步骤,直到找到目标核节点。
在本实施方式中,将判断Dj,k≤Dj,i的条件是否满足,若不满足,则说明核节点即为距离/>最近的核节点,此时,将/>加入核节点/>所在的共识组即可;若满足,则说明核节点/>不是距离/>最近的核节点,此时,令/>并重复步骤S106-S107,使得/>逐步向/>靠拢,最终找到距离/>最近的核节点。
需要说明的是,根据Delaunay三角剖分图的特性,如果一个核节点不是距离该新成员节点/>最近的节点,那么其邻居节点中一定存在距离更近的核节点。因此,能够在分散式的环境下找到全网距离最近的核节点,进而引导新成员节点/>加入正确的共识组中。
在本实施方式中,新成员节点在找到全网最近的核节点/>并加入其所在的共识组shardi后,会从/>同步shardi以及neighboursi信息,用于事务的共识和见证。
在本实施方式中,新的节点在加入共识网络时均作为成员节点,选择最近的共识组加入。随着成员节点的加入/退出,共识组内节点数量会增加/减少。为了避免共识组中节点数量过多导致组内事务存证效率过低,或者过少而导致事务存证不可靠、不可信,需要在共识组数量达到上/下阈值的时候对共识组进行动态的伸缩。
在一个可行的实施方式中,为实现共识组的自动***,本实施例提供的泛在环境下的数字对象仓库节点共识组划分方法还可以包括以下步骤:
S201:在任一共识组中的节点数量超过上限阈值的情况下,在共识组对应的单元格的成员节点中,确定新核节点,以使在单元格中距离新核节点较近的成员节点的数量和距离单元格对应的原核节点较近的成员节点的数量相当。
S202:基于新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图;
S203:基于新Delaunay三角剖分图,更新原核节点的邻居核节点的邻居节点集合和三角形集合。
S204:基于更新后的邻居节点集合和三角形集合,更新受到影响的核节点的共识组成员集合,得到完成重构的共识组;完成重构的共识组包括新核节点所在的新增共识组。
参照图4,示出了共识组***示意图。其中,当某一共识组shardi中节点的数量超过上限阈值τup时,如图4(a)所示;shardi会启动“***”流程,产生一个新的核节点如图4(b)所示;以及一个新增共识组shardnew,如图4(c)所示。
需要说明的是,新核节点的选择遵循均分原则,即新核节点/>应为物理位置相对稳定的静态节点,且共识组中距离新核节点/>较近和距离原核节点/>较近的节点数量应相当。也就是说,当待***共识组中出新核节点/>和原核节点/>之外的成员节点的数量如果为偶数个,则均分这偶数个成员节点;若数量为奇数个,则平分之后取上下两个整数,并随机将两个整数分配给新核节点/>和原核节点/>
在本实施方式中,根据新加入的新核节点将通过增量三角剖分算法,重新划分Voronoi图,重构受到影响的核节点之间的邻接关系,如图4(c)所示;最后,涉及到重构的共识组内成员根据/>的物理位置重新选择加入/>所在共识组shardnew或保持在原共识组中不变。
在一个可行的实施方式中,S202具体可以包括以下子步骤:
S202-1:在原核节点存储的三角形集合中,确定包含新核节点的目标三角形;目标三角形的顶点分别为原核节点、第一邻居核节点、第二邻居核节点。
S202-2:将原核节点、第一邻居核节点和第二邻居核节点分别与新核节点连接,得到三个新三角形;对新三角形进行合法化操作,以生成新Delaunay三角剖分图。
在本实施方式中,对于进行***的共识组shardi,***的执行节点由shardi的核节点执行,/>通过执行增量三角剖分算法,生成局部的新Delaunay三角剖分图Gnew。
示例性的,生成新Delaunay三角剖分图Gnew过程如图5所示:首先利用/>的neighboursi和Trianglesi构造初始局部三角剖分图Gnew;在根据均分原则确定新核节点后,在/>的本地三角形集合Trianglesi中选择/>所在的目标三角形Ti,j,k,如图5(a)所示,虚线所指示的即为包含新核节点/>的目标三角形Ti,j,k;从Gnew中删除Ti,j,k,并将目标三角形的三个顶点分别与新核节点连接,得到三个新三角形Ti,j,new,Ti,new,k,Tnew,j,k,如图5(b)所示,三条虚线所指示的即为三个新三角形;随后依次递归地合法化Ti,j,new,Ti,new,k,Tnew,j,k,如图5(c)所示,使得每个新三角形都符合Delaunay三角剖分的空圆特性;最后,当所有三角形均合法时,Gnew即为所得的***后的局部三角剖分图。
需要说明的是,由于Delaunay三角剖分具有空圆特性,即:任意三角形的外接圆均不包含其他任何节点,三角形合法化的目标即是针对新的核节点判断其是否存在于其他三角形的外接圆中。显然,/>仅可能存在于其所产生的新三角形的邻接三角形中,因而三角形合法化的过程即依次合法化新三角形的邻接三角形,判断/>是否处于邻接三角形中,若是则代表邻接三角形不合法,则需要对其进行合法化,生成新的合法三角形。
在一个可行的实施方式中,S202-2中对新三角形进行合法化操作的步骤具体可以包括以下子步骤:
S202-2-1:判断新三角形是否满足Delaunay三角剖分的空圆特性。
S202-2-2:若是,则确定新三角形为合法三角形并进行保留。
继续参照图5(b),图中上方的新三角形Ti,j,new和右侧的新三角形Ti,new,k均符合空圆特性,即确定新三角形Ti,j,new和Ti,new,k为合法三角形。
S202-2-3:若否,则确定新三角形为不合法三角形,则删除不合法三角形,并连接新核节点和对侧核节点,以构造出两个重构三角形。对侧核节点为不合法三角形在邻接边上的邻接三角形的对侧顶点,邻接边为连接第一邻居核节点和第二邻居核节点构成的边。
S202-2-4:重复以上步骤,对重构三角形进行合法化操作,直到所有重构三角形均为合法三角形。
在本实施方式中,继续参照图5(b),图中新三角形Tnew,j,k的外接圆包含了其他核节点,该其他核节点即为新三角形Tnew,j,k的邻接三角形的对侧顶点,该邻接三角形与新三角形Tnew,j,k共用一条邻接边Ej,k。此时,则需要对新三角形Tnew,j,k进行合法化处理。
参照图6,示出了单个三角形合法化的过程示意图。其中,处于三角形Ti,k,l的外接圆中,此时合法化三角形的过程即删除三角形Ti,k,l,连接/>和/>构造三角形Tnew,k,l和Tnew,j,l,合法化三角形过程中会产生两个新的三角形,三角形Tnew,k,l和Tnew,j,l即为重构三角形,这两个重构三角形需要进一步合法化。因此,合法化三角形的过程是一个递归的过程,直到所有三角形均被合法化为止。
需要说明的是,三角形合法化会终止,且平均时间复杂度为O1),与网络规模无关。分散式环境下,共识组***的主要开销即来自于三角形合法化。因此,本实施方式可以在只影响常数个节点的情况下,无中心、自治地实现共识组的扩容。
需要说明的是,在完成局部的Delaunay增量三角剖分后,执行核节点本地会得到一个更新后的局部三角剖分图Gnew,以及***所涉及到的核节点Setupdated[V]。/>会将Gnew中的邻居节点集合Set[V]、三角形集合Set[T]发送给Setupdated[V]中的所有受到影响的核节点/> 在收到Gnew后,从Set[V]和Set[T]中选择自己邻接的核节点以及三角形,更新自己的neighboursupdated以及Trianglesupdated。由于在合法化过程中已经将的所有neighboursupdated和Trianglesupdated加入至Gnew,因而可以完全替换的方式更新邻居节点集合和三角形集合;最后,/>向本共识组shardupdated内所有成员节点广播新核节点/>信息,成员节点根据自身与/>和/>的距离,选择较小的核节点重新加入其所在的共识组。
在一个可行的实施方式中,S204中基于更新后的邻居节点集合和三角形集合,更新受到影响的核节点的共识组成员集合的步骤,具体可以包括以下子步骤:
S204-1:基于更新后的邻居节点集合和三角形集合,确定受到影响的目标成员节点。
在本实施方式中,受到影响的目标成员节点即为所有受到影响的核节点所在的共识组中的成员节点;也就是说,/>受到影响,即意味着/>的成员节点将有部分加入到新增共识组中。
S204-2:判断目标成员节点到新核节点的距离是否小于目标成员节点到自身原本所在共识组中的核节点的距离。
S204-3:若否,则保持目标成员节点在原本所在的共识组中不变。
S204-4:若是,则将目标成员节点加入新核节点所在的新增共识组。
在本实施方式中,通过计算目标成员节点到新核节点的距离和目标成员节点到自身原本所在共识组中的核节点的距离,可以判断出目标成员节点距离哪个核节点更近。若距离新核节点更近,则加入新核节点所在的新增共识组;若距离自身原本所在共识组中的核节点更近,则保持在自身原本所在共识组中不变。待所有目标成员节点选择完之后,便可得到包括新增共识组在内的重构后共识组,进而完成整个共识组***过程。
在一个可行的实施方式中,为实现共识组的自动合并,本实施例提供的泛在环境下的数字对象仓库节点共识组划分方法还可以包括以下步骤:
S301:在任一共识组中的节点数量低于下限阈值,或任一共识组中的核节点退出的情况下,将共识组确定为待合并共识组,将待合并共识组对应的单元格中的核节点确定为待删除核节点。
S302:基于待删除核节点的邻居节点集合,确定目标邻居核节点。
S303:基于目标邻居核节点,通过Delaunay三角剖分算法,生成局部三角剖分图。
S304:基于局部三角剖分图,更新目标邻居核节点的邻居节点集合和三角形集合,以从目标邻居核节点的邻居节点集合中删除待删除核节点,并从目标邻居核节点的三角形集合中删除包含待删除核节点的三角形。
S305:基于待合并共识组中的所有节点的位置信息,将待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,以更新目标邻居核节点的共识组成员集合,得到完成合并的共识组。
在本实施方式中,当共识组shardi中节点数量到达下限阈值τlow或者其对应的核节点退出网络时,会触发共识组的合并。
需要说明的是,共识组的合并可以看做是共识组***的逆向过程,将***过程中产生的新的核节点、新的三角形还原成共识组未***之前的状态。
在具体实现中,参照图7,示出了共识组合并示意图。首先如图7(a)所示,确定节点数量低于下限阈值的待合并共识组以及其核节点该核节点/>即为待删除核节点;然后如图7(b)所示,基于待删除核节点/>的邻居节点集合Trianglesi,确定周围受到影响的目标邻居核节点;再基于目标邻居核节点,通过Delaunay三角剖分算法,即可重新生成如图7(c)所示的局部三角剖分图;最后,原本属于待合并共识组Shardi中的所有成员节点,需要在目标邻居核节点中选择离自身最近的核节点,重新加入其所在共识组,也就是说,针对待合并共识组中的每个节点,将分别获取该节点距离目标邻居核节点的距离;并将该节点加入距离该节点最近的目标邻居核节点所在的共识组成员集合中。
需要说明的是,由于局部三角剖分图实际上存储于目标邻居核节点中,因此,还需要基于局部三角剖分图,更新目标邻居核节点的邻居节点集合和三角形集合,以从目标邻居核节点的邻居节点集合neighboursupdated中删除待删除核节点并从目标邻居核节点的三角形集合Trianglesupdated中删除包含待删除核节点/>的三角形;对于目标邻居核节点/>而言,则将包含自身/>的三角形加入到Trianglesupdated中,将其中与自身有连接关系的核节点点加入到neighboursupdated中。
需要说明的是,算法的理论开销可以通过算法执行过程中所影响的核节点数量来评估,由于在核节点随机分布的Voronoi图中,每个单元格的邻居单元格数量为常数级别,且平均为6个。因此,在进行共识组***时,受到影响需要重构的核节点在***后均为新核节点的邻居节点neighboursnew,neighboursnew的数量平均为6,加上单元格本身的***过程中影响的核节点数量平均为7;在进行共识组合并时,算法所涉及到的重构节点仅有/>的邻居节点neighboursi,平均为6个,因而,合并过程平均仅影响附近6个共识组。可见,本实施方式提供的算法并不会对***整体的运行产生过大开销。
需要进一步说明的是,针对去中心化的数字对象中产生的海量数字对象访问事务,其核心思想是通过分片区块链技术保障事务存证的高效、可信,但其关键挑战则在于随机分布、动态加入退出的节点与分片技术共识组均衡划分要求之间的矛盾。为此,本申请提出了泛在环境下的数字对象仓库节点共识组划分方法:首先,按照数字对象的经纬度信息将其映射在一个二维平面,并基于Voronoi图进行分片,将空间距离临近的节点(具体包括核节点和成员节点)划分在同一个共识组内,并将整个Voronoi图分布式地保存在节点中,同一个共识组仅对组内的数字对象的访问事务进行共识、存证,组间相互不影响;然后,基于分布式的Delaunay三角剖分算法,使得共识组可以随着节点的加入和退出动态伸缩,保证每个共识数量可以随着节点的加入、退出动态扩展,以较小的代价保证共识组划分的均衡,使得分片区块链技术能够在泛在环境下发挥其优势,进而保障数字对象访问事务记录的高效、可信。
第二方面,参照图8,基于相同发明构思,本申请实施例提供了一种泛在环境下的数字对象仓库节点共识组划分装置800,该泛在环境下的数字对象仓库节点共识组划分装置800包括:
映射模块801,用于基于多个数字对象的位置信息,将多个数字对象映射到二维平面上,得到多个节点;其中,不同的节点对应不同的数字对象;
节点划分模块802,用于基于多个节点,对二维平面进行划分,得到泰森多边形;泰森多边形包括n个单元格;n为大于等于1的整数;
共识组划分模块803,用于将属于同一个单元格的节点划分在同一个共识组中,以得到n个共识组;
区块链创建模块804,用于基于n个共识组,创建n条区块链;其中,不同的区块链对应不同的共识组;区块链用于存储对应共识组中的节点的事务信息。
在一个可行的实施方式中,节点划分模块802包括:
核节点确定子模块,用于将节点集合中具有固定位置信息的n个节点确定为n个核节点;
三角剖分子模块,用于基于n个核节点,通过Delaunay三角剖分算法,对二维平面进行划分,生成Delaunay三角剖分图;
泰森多边形获取子模块,用于基于Delaunay三角剖分图,得到泰森多边形;其中,不同的核节点对应不同的单元格;每个单元格包括对应的核节点和若干个成员节点;核节点存储有邻居节点集合、三角形集合和共识组成员集合;邻居节点集合表示与核节点邻接的所有邻居核节点的集合;三角形集合表示与邻居核节点组成的三角形关系;共识组成员集合表示单元格中的所有节点。
在一个可行的实施方式中,泛在环境下的数字对象仓库节点共识组划分装置800还包括:
距离计算模块,用于在出现新成员节点的情况下,将任意一个核节点作为初始核节点,计算初始核节点的邻居核节点与新成员节点之间的欧式距离;
最近邻接节点确定模块,用于将距离新成员节点最近的邻居核节点确定为最近邻接节点;
距离判断模块,用于判断最近邻接节点与新成员节点之间的欧式距离是否小于等于初始核节点与新成员节点之间的欧氏距离;
目标核节点确定模块,用于在最近邻接节点与新成员节点之间的欧式距离大于初始核节点与新成员节点之间的欧氏距离时,则将初始核节点确定为距离新成员节点最近的目标核节点,并将新成员节点加入目标核节点所在的共识组;
目标核节点探索模块,用于在最近邻接节点与新成员节点之间的欧式距离小于等于初始核节点与新成员节点之间的欧氏距离时,重复以上步骤,直到找到目标核节点。
在一个可行的实施方式中,泛在环境下的数字对象仓库节点共识组划分装置800还包括:
新核节点确定模块,用于在任一共识组中的节点数量超过上限阈值的情况下,在共识组对应的单元格的成员节点中,确定新核节点,以使在单元格中距离新核节点较近的成员节点的数量和距离单元格对应的原核节点较近的成员节点的数量相当;
新三角剖分图生成模块,用于基于新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图;
第一更新模块,用于基于新Delaunay三角剖分图,更新原核节点的邻居核节点的邻居节点集合和三角形集合;
第二更新模块,用于基于更新后的邻居节点集合和三角形集合,更新受到影响的核节点的共识组成员集合,得到完成重构的共识组;完成重构的共识组包括新核节点所在的新增共识组。
在一个可行的实施方式中,第一更新模块包括:
目标三角形确定子模块,用于在原核节点存储的三角形集合中,确定包含新核节点的目标三角形;目标三角形的顶点分别为原核节点、第一邻居核节点、第二邻居核节点;
三角形合法化子模块,用于将原核节点、第一邻居核节点和第二邻居核节点分别与新核节点连接,得到三个新三角形;对新三角形进行合法化操作,以生成新Delaunay三角剖分图。
在本申请一实施例中,三角形合法化子模块包括:
合法性判断单元,用于判断新三角形是否满足Delaunay三角剖分的空圆特性;
合法三角形确定单元,用于在新三角形满足Delaunay三角剖分的空圆特性时,则确定新三角形为合法三角形并进行保留;
三角形合法化单元,用于在新三角形不满足Delaunay三角剖分的空圆特性时,则确定新三角形为不合法三角形,则删除不合法三角形,并连接新核节点和对侧核节点,以构造出两个重构三角形;对侧核节点为不合法三角形在邻接边上的邻接三角形的对侧顶点,邻接边为连接第一邻居核节点和第二邻居核节点构成的边;
递归单元,用于重复以上步骤,对重构三角形进行合法化操作,直到所有重构三角形均为合法三角形;
在一个可行的实施方式中,第二更新模块包括:
目标成员节点确定子模块,用于基于更新后的邻居节点集合和三角形集合,确定受到影响的目标成员节点;
距离判断子模块,用于判断目标成员节点到新核节点的距离是否小于目标成员节点到自身原本所在共识组中的核节点的距离;
节点保持子模块,用于在目标成员节点到新核节点的距离大于等于目标成员节点到自身原本所在共识组中的核节点的距离时,则保持目标成员节点在原本所在的共识组中不变;
节点加入子模块,用于在目标成员节点到新核节点的距离小于目标成员节点到自身原本所在共识组中的核节点的距离时,则将目标成员节点加入新核节点所在的新增共识组。
在一个可行的实施方式中,泛在环境下的数字对象仓库节点共识组划分装置800还包括:
待合并共识组确定模块,用于在任一共识组中的节点数量低于下限阈值,或任一共识组中的核节点退出的情况下,将共识组确定为待合并共识组,将待合并共识组对应的单元格中的核节点确定为待删除核节点;
目标邻居核节点确定模块,用于基于待删除核节点的邻居节点集合,确定目标邻居核节点;
局部三角剖分图生成模块,用于基于目标邻居核节点,通过Delaunay三角剖分算法,生成局部三角剖分图;
第三更新模块,用于基于局部三角剖分图,更新目标邻居核节点的邻居节点集合和三角形集合,以从目标邻居核节点的邻居节点集合中删除待删除核节点,并从目标邻居核节点的三角形集合中删除包含待删除核节点的三角形;
第四更新模块,用于基于待合并共识组中的所有节点的位置信息,将待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,以更新目标邻居核节点的共识组成员集合,得到完成合并的共识组。
在一个可行的实施方式中,第四更新模块具体用于针对待合并共识组中的每个节点,分别获取该节点距离目标邻居核节点的距离;并将该节点加入距离该节点最近的目标邻居核节点所在的共识组成员集合中。
需要说明的是,本申请实施例的泛在环境下的数字对象仓库节点共识组划分装置800的具体实施方式参照前述本申请实施例第一方面提出的泛在环境下的数字对象仓库节点共识组划分方法的具体实施方式,在此不再赘述在本实施方式中,
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种泛在环境下的数字对象仓库节点共识组划分方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,所述泛在环境下的数字对象仓库节点共识组划分方法包括:
基于多个数字对象的位置信息,将所述多个数字对象映射到二维平面上,得到多个节点;其中,不同的节点对应不同的数字对象;
基于所述多个节点,对所述二维平面进行划分,得到泰森多边形;所述泰森多边形包括n个单元格;n为大于等于1的整数;
将属于同一个单元格的节点划分在同一个共识组中,以得到n个共识组;
基于所述n个共识组,创建n条区块链;其中,不同的区块链对应不同的共识组;所述区块链用于存储对应共识组中的节点的事务信息;
基于所述多个节点,对所述二维平面进行划分,得到泰森多边形,包括:
将所述节点集合中具有固定位置信息的n个节点确定为n个核节点;
基于所述n个核节点,通过Delaunay三角剖分算法,对所述二维平面进行划分,生成Delaunay三角剖分图;
基于所述Delaunay三角剖分图,得到所述泰森多边形;
其中,不同的核节点对应不同的单元格;每个单元格包括对应的核节点和若干个成员节点;所述核节点存储有邻居节点集合、三角形集合和共识组成员集合;所述邻居节点集合表示与所述核节点邻接的所有邻居核节点的集合;所述三角形集合表示与所述邻居核节点组成的三角形关系;所述共识组成员集合表示所述单元格中的所有节点;
所述泛在环境下的数字对象仓库节点共识组划分方法还包括:
在任一共识组中的节点数量低于下限阈值,或任一共识组中的核节点退出的情况下,将所述共识组确定为待合并共识组,将所述待合并共识组对应的单元格中的核节点确定为待删除核节点;
基于所述待删除核节点的邻居节点集合,确定目标邻居核节点;
基于所述目标邻居核节点,通过Delaunay三角剖分算法,生成局部三角剖分图;
基于所述局部三角剖分图,更新所述目标邻居核节点的邻居节点集合和三角形集合,以从所述目标邻居核节点的邻居节点集合中删除所述待删除核节点,并从所述目标邻居核节点的三角形集合中删除包含所述待删除核节点的三角形;
基于所述待合并共识组中的所有节点的位置信息,将所述待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,以更新所述目标邻居核节点的共识组成员集合,得到完成合并的共识组。
2.根据权利要求1所述的泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,所述泛在环境下的数字对象仓库节点共识组划分方法还包括:
在出现新成员节点的情况下,将任意一个核节点作为初始核节点,计算所述初始核节点的邻居核节点与所述新成员节点之间的欧式距离;
将距离所述新成员节点最近的邻居核节点确定为最近邻接节点;
判断所述最近邻接节点与所述新成员节点之间的欧式距离是否小于等于所述初始核节点与所述新成员节点之间的欧氏距离;
若否,则将所述初始核节点确定为距离所述新成员节点最近的目标核节点,并将所述新成员节点加入所述目标核节点所在的共识组;
若是,则令所述最近邻接节点作为所述初始核节点,重复以上步骤,直到找到所述目标核节点。
3.根据权利要求1所述的泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,所述泛在环境下的数字对象仓库节点共识组划分方法还包括:
在任一共识组中的节点数量超过上限阈值的情况下,在所述共识组对应的单元格的成员节点中,确定新核节点,以使在所述单元格中距离所述新核节点较近的成员节点的数量和距离所述单元格对应的原核节点较近的成员节点的数量相当;
基于所述新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图;
基于所述新Delaunay三角剖分图,更新所述原核节点的邻居核节点的邻居节点集合和三角形集合;
基于更新后的所述邻居节点集合和所述三角形集合,更新受到影响的核节点的共识组成员集合,得到完成重构的共识组;所述完成重构的共识组包括所述新核节点所在的新增共识组。
4.根据权利要求3所述的泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,基于所述新核节点,通过增量三角剖分算法,生成新Delaunay三角剖分图,包括:
在所述原核节点存储的三角形集合中,确定包含所述新核节点的目标三角形;所述目标三角形的顶点分别为所述原核节点、第一邻居核节点、第二邻居核节点;
将所述原核节点、所述第一邻居核节点和所述第二邻居核节点分别与所述新核节点连接,得到三个新三角形;对所述新三角形进行合法化操作,以生成所述新Delaunay三角剖分图。
5.根据权利要求4所述的泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,对所述新三角形进行合法化操作,包括:
判断所述新三角形是否满足Delaunay三角剖分的空圆特性;
若是,则确定所述新三角形为合法三角形并进行保留;
若否,则确定所述新三角形为不合法三角形,则删除所述不合法三角形,并连接所述新核节点和对侧核节点,以构造出两个重构三角形;所述对侧核节点为所述不合法三角形在邻接边上的邻接三角形的对侧顶点,所述邻接边为连接所述第一邻居核节点和所述第二邻居核节点构成的边;
重复以上步骤,对所述重构三角形进行合法化操作,直到所有重构三角形均为合法三角形。
6.根据权利要求3所述的泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,基于更新后的所述邻居节点集合和所述三角形集合,更新受到影响的核节点的共识组成员集合,包括:
基于更新后的所述邻居节点集合和所述三角形集合,确定受到影响的目标成员节点;
判断所述目标成员节点到所述新核节点的距离是否小于所述目标成员节点到自身原本所在共识组中的核节点的距离;
若否,则保持所述目标成员节点在原本所在的共识组中不变;
若是,则将所述目标成员节点加入所述新核节点所在的新增共识组。
7.根据权利要求1所述的泛在环境下的数字对象仓库节点共识组划分方法,其特征在于,基于所述待合并共识组中的所有节点的位置信息,将所述待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,包括:
针对所述待合并共识组中的每个节点,分别获取该节点距离所述目标邻居核节点的距离;并将该节点加入距离该节点最近的目标邻居核节点所在的共识组成员集合中。
8.一种泛在环境下的数字对象仓库节点共识组划分装置,其特征在于,所述泛在环境下的数字对象仓库节点共识组划分装置包括:
映射模块,用于基于多个数字对象的位置信息,将所述多个数字对象映射到二维平面上,得到多个节点;其中,不同的节点对应不同的数字对象;
节点划分模块,用于基于所述多个节点,对所述二维平面进行划分,得到泰森多边形;所述泰森多边形包括n个单元格;n为大于等于1的整数;
共识组划分模块,用于将属于同一个单元格的节点划分在同一个共识组中,以得到n个共识组;
区块链创建模块,用于基于所述n个共识组,创建n条区块链;其中,不同的区块链对应不同的共识组;所述区块链用于存储对应共识组中的节点的事务信息;
所述节点划分模块包括:
核节点确定子模块,用于将所述节点集合中具有固定位置信息的n个节点确定为n个核节点;
三角剖分子模块,用于基于所述n个核节点,通过Delaunay三角剖分算法,对所述二维平面进行划分,生成Delaunay三角剖分图;
泰森多边形获取子模块,用于基于所述Delaunay三角剖分图,得到所述泰森多边形;其中,不同的核节点对应不同的单元格;每个单元格包括对应的核节点和若干个成员节点;所述核节点存储有邻居节点集合、三角形集合和共识组成员集合;所述邻居节点集合表示与所述核节点邻接的所有邻居核节点的集合;所述三角形集合表示与所述邻居核节点组成的三角形关系;所述共识组成员集合表示所述单元格中的所有节点;
所述泛在环境下的数字对象仓库节点共识组划分装置还包括:
待合并共识组确定模块,用于在任一共识组中的节点数量低于下限阈值,或任一共识组中的核节点退出的情况下,将所述共识组确定为待合并共识组,将所述待合并共识组对应的单元格中的核节点确定为待删除核节点;
目标邻居核节点确定模块,用于基于所述待删除核节点的邻居节点集合,确定目标邻居核节点;
局部三角剖分图生成模块,用于基于所述目标邻居核节点,通过Delaunay三角剖分算法,生成局部三角剖分图;
第三更新模块,用于基于所述局部三角剖分图,更新所述目标邻居核节点的邻居节点集合和三角形集合,以从所述目标邻居核节点的邻居节点集合中删除所述待删除核节点,并从所述目标邻居核节点的三角形集合中删除包含所述待删除核节点的三角形;
第四更新模块,用于基于所述待合并共识组中的所有节点的位置信息,将所述待合并共识组中的每个节点加入对应的目标邻居核节点所在的共识组成员集合中,以更新所述目标邻居核节点的共识组成员集合,得到完成合并的共识组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068409.8A CN115473895B (zh) | 2022-09-01 | 2022-09-01 | 泛在环境下的数字对象仓库节点共识组划分方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211068409.8A CN115473895B (zh) | 2022-09-01 | 2022-09-01 | 泛在环境下的数字对象仓库节点共识组划分方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115473895A CN115473895A (zh) | 2022-12-13 |
CN115473895B true CN115473895B (zh) | 2023-09-12 |
Family
ID=84368365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211068409.8A Active CN115473895B (zh) | 2022-09-01 | 2022-09-01 | 泛在环境下的数字对象仓库节点共识组划分方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115473895B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701410B (zh) * | 2023-08-07 | 2023-11-14 | 北京大学 | 数联网数据语用内存状态数据的存储方法及*** |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636419A (zh) * | 2018-12-05 | 2019-04-16 | 深圳市循真科技有限公司 | 基于区块链的实物交易方法、装置、设备及存储介质 |
CN111131145A (zh) * | 2019-11-08 | 2020-05-08 | 西安电子科技大学 | 一种隐匿通信关键节点的管理查询***及方法 |
CN111611321A (zh) * | 2020-06-29 | 2020-09-01 | 上海优扬新媒信息技术有限公司 | 一种数据存储方法、装置及区块链*** |
CN111798068A (zh) * | 2020-07-22 | 2020-10-20 | 南京纯白矩阵科技有限公司 | 一种基于区块链底层的数字孪生*** |
CN111835572A (zh) * | 2020-07-23 | 2020-10-27 | 上海优扬新媒信息技术有限公司 | 一种区块链网络的通信方法及装置 |
US10965448B1 (en) * | 2017-05-03 | 2021-03-30 | Board Of Trustees Of The University Of Illinois | Dynamic distributed storage for scaling blockchain |
CN113366799A (zh) * | 2019-02-01 | 2021-09-07 | 区块链控股有限公司 | 用于确定或验证位置的计算机实现的***和方法 |
CN113411376A (zh) * | 2021-05-12 | 2021-09-17 | 精英数智科技股份有限公司 | 基于区块链分片存储的传感器数据处理方法及装置 |
CN113641869A (zh) * | 2021-10-13 | 2021-11-12 | 北京大学 | 一种人机物融合环境下的数字对象访问方法和*** |
CN114372058A (zh) * | 2022-01-10 | 2022-04-19 | 北京新华夏信息技术有限公司 | 一种空间数据管理方法、装置、存储介质及区块链*** |
CN114449476A (zh) * | 2022-02-24 | 2022-05-06 | 北京交通大学 | 一种用于车联网中安全通信的区块链节点共识方法 |
CN114490020A (zh) * | 2021-12-03 | 2022-05-13 | 清华大学 | 一种区块链分片方法、***及电子设备 |
CN114913013A (zh) * | 2022-05-13 | 2022-08-16 | 江南大学 | 一种基于区块链的租房交易***及租房交易方法 |
-
2022
- 2022-09-01 CN CN202211068409.8A patent/CN115473895B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10965448B1 (en) * | 2017-05-03 | 2021-03-30 | Board Of Trustees Of The University Of Illinois | Dynamic distributed storage for scaling blockchain |
CN109636419A (zh) * | 2018-12-05 | 2019-04-16 | 深圳市循真科技有限公司 | 基于区块链的实物交易方法、装置、设备及存储介质 |
CN113366799A (zh) * | 2019-02-01 | 2021-09-07 | 区块链控股有限公司 | 用于确定或验证位置的计算机实现的***和方法 |
CN111131145A (zh) * | 2019-11-08 | 2020-05-08 | 西安电子科技大学 | 一种隐匿通信关键节点的管理查询***及方法 |
CN111611321A (zh) * | 2020-06-29 | 2020-09-01 | 上海优扬新媒信息技术有限公司 | 一种数据存储方法、装置及区块链*** |
CN111798068A (zh) * | 2020-07-22 | 2020-10-20 | 南京纯白矩阵科技有限公司 | 一种基于区块链底层的数字孪生*** |
CN111835572A (zh) * | 2020-07-23 | 2020-10-27 | 上海优扬新媒信息技术有限公司 | 一种区块链网络的通信方法及装置 |
CN113411376A (zh) * | 2021-05-12 | 2021-09-17 | 精英数智科技股份有限公司 | 基于区块链分片存储的传感器数据处理方法及装置 |
CN113641869A (zh) * | 2021-10-13 | 2021-11-12 | 北京大学 | 一种人机物融合环境下的数字对象访问方法和*** |
CN114490020A (zh) * | 2021-12-03 | 2022-05-13 | 清华大学 | 一种区块链分片方法、***及电子设备 |
CN114372058A (zh) * | 2022-01-10 | 2022-04-19 | 北京新华夏信息技术有限公司 | 一种空间数据管理方法、装置、存储介质及区块链*** |
CN114449476A (zh) * | 2022-02-24 | 2022-05-06 | 北京交通大学 | 一种用于车联网中安全通信的区块链节点共识方法 |
CN114913013A (zh) * | 2022-05-13 | 2022-08-16 | 江南大学 | 一种基于区块链的租房交易***及租房交易方法 |
Non-Patent Citations (1)
Title |
---|
"Fission: Autonomous, Scalable Sharding for IoT Blockchain";C. Luo et al;《2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC)》;第 956-965 页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115473895A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241350B (zh) | 图数据查询方法、装置、计算机设备和存储介质 | |
CN111814664A (zh) | 识别图纸中标注的方法、装置、计算机设备及存储介质 | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN115473895B (zh) | 泛在环境下的数字对象仓库节点共识组划分方法和装置 | |
WO2022193872A1 (zh) | 空间关系的确定方法、装置、计算机设备及存储介质 | |
CN111932438B (zh) | 图像风格迁移方法、设备及存储装置 | |
CN111475511A (zh) | 基于树状结构的数据存储方法、访问方法、装置及设备 | |
CN110097581B (zh) | 基于点云配准icp算法构建k-d树的方法 | |
Basaraner et al. | A structure recognition technique in contextual generalisation of buildings and built-up areas | |
CN111291085B (zh) | 层次化兴趣匹配方法、装置、计算机设备和存储介质 | |
CN114359352A (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
CN111274004B (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN111028092A (zh) | 基于Louvain算法的社区发现方法、计算机设备及其可读存储介质 | |
CN113572721A (zh) | 一种异常访问检测方法、装置、电子设备及存储介质 | |
CN112181563A (zh) | 基于云平台的浏览器视图加载方法、装置、***及服务器 | |
CN114911966A (zh) | 用于户型数据处理的方法、装置、设备和存储介质 | |
CN114897666A (zh) | 图数据存储、访问、处理方法、训练方法、设备及介质 | |
CN114490651A (zh) | 数据存储方法及装置 | |
CN110321435B (zh) | 一种数据源划分方法、装置、设备和存储介质 | |
CN115221360A (zh) | 树形结构配置方法和*** | |
CN111612069A (zh) | 基于动态网格哈希索引的密度聚类方法及装置 | |
CN111339245A (zh) | 数据存储方法、装置、存储介质及设备 | |
CN111884940B (zh) | 兴趣匹配方法、装置、计算机设备和存储介质 | |
CN116451099B (zh) | 一种基于随机遍历的高熵knn聚类方法、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |