面向人机物资源的结构化对等网络自适应构建方法和装置转让专利

申请号 : CN202111207252.8

文献号 : CN113645318B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄罡蔡华谦刘譞哲马郓

申请人 : 北京大学

摘要 :

本申请提供了面向人机物资源的结构化对等网络自适应构建方法和装置,涉及P2P技术领域。旨在自适应构建得到结构化对等网络,该结构化对等网络为具有物理感知信息的点对点网络,能在人机物融合场景中有效使用。所述方法包括:采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值;根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点;根据所述注册节点返回给所述新节点的信息,完成对所述新节点的注册,以将完成注册的新节点加入所述结构化对等网络中。

权利要求 :

1.面向人机物资源的结构化对等网络自适应构建方法,其特征在于,所述方法包括:采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值;

根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点;

根据所述注册节点返回给所述新节点的信息,完成对所述新节点的注册,并将完成注册的新节点加入所述结构化对等网络中;

在确定所述新节点的注册节点后,所述方法还包括:驱动所述注册节点发起对所述新节点的反向搜索;

使所述注册节点记录跳转节点的节点列表;所述跳转节点是所述注册节点搜索所述新节点过程中经由的至少一个节点;

根据所述注册节点返回的信息,完成对所述新节点的注册,包括:根据所述注册节点返回的所述节点列表,完成对所述新节点的注册。

2.根据权利要求1所述的面向人机物资源的结构化对等网络自适应构建方法,其特征在于,所述根据所述注册节点返回的所述节点列表,完成对所述新节点的注册的步骤包括:从所述节点列表中获得多个候选节点;

根据所述多个候选节点各自与所述新节点的距离,筛选所述节点列表,确定邻居节点;

将所述新节点的节点信息存储至所述邻居节点,完成对所述新节点的注册;其中,所述新节点的节点信息包括:所述位置哈希值、节点端口号以及节点标识。

3.根据权利要求1所述的面向人机物资源的结构化对等网络自适应构建方法,其特征在于,在所述新节点是资源节点时,所述方法还包括:将所述资源节点的参数信息发送到信息节点;

使所述信息节点根据所述参数信息,确定所述资源节点所属的资源网络类型;

获取所述信息节点针对所述资源节点计算得到的资源网络哈希值;

根据所述资源网络哈希值,确定所述资源节点的哈希值摆放位置;

将完成注册的新节点加入所述结构化对等网络中,包括:按照所述哈希值摆放位置,将所述资源节点加入到所述结构化对等网络中。

4.根据权利要求1所述的面向人机物资源的结构化对等网络自适应构建方法,其特征在于,所述根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点的步骤包括:

将所述位置哈希值发送给存储有多个资源网络哈希值的信息节点;

使所述信息节点根据所述位置哈希值,在所述多个资源网络哈希值中确定目标资源网络哈希值;

将具有所述目标资源网络哈希值的节点确定为所述注册节点。

5.面向人机物资源的结构化对等网络自适应构建装置,其特征在于,所述装置包括:计算模块,用于采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值;

注册节点确定模块,用于根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点;

注册模块,用于根据所述注册节点返回给所述新节点的信息,完成对所述新节点的注册,并将完成注册的新节点加入所述结构化对等网络中;

所述装置还包括:

驱动模块,用于驱动所述注册节点发起对所述新节点的反向搜索;

记录模块,用于使所述注册节点记录跳转节点的节点列表;所述跳转节点是所述注册节点搜索所述新节点过程中经由的至少一个节点;

所述注册模块包括:

第一注册子模块,用于根据所述注册节点返回的所述节点列表,完成对所述新节点的注册。

6.根据权利要求5所述的面向人机物资源的结构化对等网络自适应构建装置,其特征在于,所述第一注册子模块包括:获得单元,用于从所述节点列表中获得多个候选节点;

筛选单元,用于根据所述多个候选节点各自与所述新节点的距离,筛选所述节点列表,确定邻居节点;

存储单元,用于将所述新节点的节点信息存储至所述邻居节点,完成对所述新节点的注册;其中,所述新节点的节点信息包括:所述位置哈希值、节点端口号以及节点标识。

7.根据权利要求5所述的面向人机物资源的结构化对等网络自适应构建装置,其特征在于,所述装置还包括:

发送模块,用于在所述新节点是资源节点时,将所述资源节点的参数信息发送到信息节点;

网络类型确定模块,用于使所述信息节点根据所述参数信息,确定所述资源节点所属的资源网络类型;

获得模块,用于获取所述信息节点针对所述资源节点计算得到的资源网络哈希值;

位置确定模块,用于根据所述资源网络哈希值,确定所述资源节点的哈希值摆放位置;

所述注册模块包括:

第二注册子模块,用于按照所述哈希值摆放位置,将所述资源节点加入到所述结构化对等网络中。

8.根据权利要求5所述的面向人机物资源的结构化对等网络自适应构建装置,其特征在于,所述注册节点确定模块包括:发送子模块,用于将所述位置哈希值发送给存储有多个资源网络哈希值的信息节点;

哈希值确定子模块,用于所述信息节点根据所述位置哈希值,在所述多个资源网络哈希值中确定目标资源网络哈希值;

注册节点确定子模块,用于将具有所述目标资源网络哈希值的节点确定为所述注册节点。

说明书 :

面向人机物资源的结构化对等网络自适应构建方法和装置

技术领域

[0001] 本申请涉及P2P技术领域,特别是涉及面向人机物资源的结构化对等网络自适应构建方法和装置。

背景技术

[0002] 人机物融合环境下,资源的提供者和使用者都是多个主体,资源的提供和使用会产生信任问题,将资源的使用过程记录到区块链上,有争议发生时供事后追溯,可以有效避
免人机物融合场景下的信任问题。传统链式结构区块链产生区块效率低,无法满足人机物
资源的使用者众多,使用频率高的情况。相关领域提出利用图式结构替换链式结构,不同于
链式结构,图结构的区块链中,每个区块有多个前驱区块和后驱区块,并且采用随机共识算
法对区块进行验证,使得单个节点随机存储部分区块数据,导致区块数据存储位置不可知,
无法快速定位并获取用户查询的区块数据。
[0003] 对此,人们提出基于分布式哈希表的结构化网络(Kademlia),Kademlia采用两节点之间的异或距离进行收敛,解决分布式账本的查询问题。但是Kademlia两节点之间的异
或距离是节点间的逻辑距离,逻辑距离最近的两个节点并不是地理上距离最近的节点。
[0004] 人机物融合场景中,资源随需即用是一大重要特征,人们需要快速获取地理上与自己接近的资源获取服务。现有的结构化网络(Kademlia)中,人们难以搜索到地理上与自
己接近的节点以获取服务,因此,快速查找到地理上接近的节点是利用区块链技术实现人
机物融合场景的亟需条件之一。

发明内容

[0005] 本申请实施例提供一种面向人机物资源的结构化对等网络自适应构建方法和装置,旨在自适应构建得到结构化对等网络,该结构化对等网络为具有物理感知信息的点对
点网络,能在人机物融合场景中有效使用,克服上述技术问题。
[0006] 本申请实施例第一方面提供面向人机物资源的结构化对等网络自适应构建方法,所述方法包括:
[0007] 采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值;
[0008] 根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点;
[0009] 根据所述注册节点返回给所述新节点的信息,完成对所述新节点的注册,并将完成注册的新节点加入所述结构化对等网络中。
[0010] 可选的,在确定所述新节点的注册节点后,所述方法还包括:
[0011] 驱动所述注册节点发起对所述新节点的反向搜索;
[0012] 使所述注册节点记录跳转节点的节点列表;所述跳转节点是所述注册节点搜索所述新节点过程中经由的至少一个节点;
[0013] 根据所述注册节点返回的信息,完成对所述新节点的注册,包括:
[0014] 根据所述注册节点返回的所述节点列表,完成对所述新节点的注册。
[0015] 可选的,所述根据所述注册节点返回的所述节点列表,完成对所述新节点的注册的步骤包括:
[0016] 从所述节点列表中获得多个候选节点;
[0017] 根据所述多个候选节点各自与所述新节点的距离,筛选所述节点列表,确定邻居节点;
[0018] 将所述新节点的节点信息存储至所述邻居节点,完成对所述新节点的注册;其中,所述新节点的节点信息包括:所述位置哈希值、节点端口号以及节点标识。
[0019] 可选的,在新节点是资源节点时,所述方法还包括:
[0020] 将所述资源节点的参数信息发送到信息节点;
[0021] 使所述信息节点根据所述参数信息,确定所述资源节点所属的资源网络类型;
[0022] 获取所述信息节点针对所述资源节点计算得到的资源网络哈希值;
[0023] 根据所述资源网络哈希值,确定所述资源节点的哈希值摆放位置;
[0024] 将完成注册的新节点加入所述结构化对等网络中,包括:
[0025] 按照所述哈希值摆放位置,将所述资源节点加入到所述结构化对等网络中。
[0026] 可选的,所述根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点的步骤包括:
[0027] 将所述位置哈希值发送给存储有多个资源网络哈希值的信息节点;
[0028] 使所述信息节点根据所述位置哈希值,在所述多个资源网络哈希值中确定目标资源网络哈希值;
[0029] 将具有所述目标资源网络哈希值的节点确定为所述注册节点。
[0030] 本申请实施例第二方面提供面向人机物资源的结构化对等网络自适应构建装置,所述装置包括:
[0031] 计算模块,用于采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值;
[0032] 注册节点确定模块,用于根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点;
[0033] 注册模块,用于根据所述注册节点返回给所述新节点的信息,完成对所述新节点的注册,并将完成注册的新节点加入所述结构化对等网络中。
[0034] 可选的,所述装置还包括:
[0035] 驱动模块,用于驱动所述注册节点发起对所述新节点的反向搜索;
[0036] 记录模块,用于使所述注册节点记录跳转节点的节点列表;所述跳转节点是所述注册节点搜索所述新节点过程中经由的至少一个节点;
[0037] 所述注册模块包括:
[0038] 第一注册子模块,用于根据所述注册节点返回的所述节点列表,完成对所述新节点的注册。
[0039] 可选的,所述注册子模块包括:
[0040] 获得单元,用于从所述节点列表中获得多个候选节点;
[0041] 筛选单元,用于根据所述多个候选节点各自与所述新节点的距离,筛选所述节点列表,确定邻居节点;
[0042] 存储单元,用于将所述新节点的节点信息存储至所述邻居节点,完成对所述新节点的注册;其中,所述新节点的节点信息包括:所述位置哈希值、节点端口号以及节点标识。
[0043] 可选的,所述装置还包括:
[0044] 发送模块,用于将所述资源节点的参数信息发送到信息节点;
[0045] 网络类型确定模块,用于使所述信息节点根据所述参数信息,确定所述资源节点所属的资源网络类型;
[0046] 获得模块,用于获取所述信息节点针对所述资源节点计算得到的资源网络哈希值;
[0047] 位置确定模块,用于根据所述资源网络哈希值,确定所述资源节点的哈希值摆放位置;
[0048] 所述注册模块包括:
[0049] 第二注册子模块,用于按照所述哈希值摆放位置,将所述资源节点加入到所述结构化对等网络中。
[0050] 可选的,所述注册节点确定模块包括:
[0051] 发送子模块,用于将所述位置哈希值发送给存储有多个资源网络哈希值的信息节点;
[0052] 哈希值确定子模块,用于所述信息节点根据所述位置哈希值,在所述多个资源网络哈希值中确定目标资源网络哈希值;
[0053] 注册节点确定子模块,用于将具有所述目标资源网络哈希值的节点确定为所述注册节点。
[0054] 本申请实施例的有益效果:
[0055] 本申请实施例采用网格聚合算法,根据新节点的经纬度坐标,计算新节点的位置哈希值,并根据位置哈希值,在结构化对等网络已有的节点中确定与新节点相对较近的节
点,将该相对较近的节点作为注册节点,新节点再将注册请求发送到注册节点,使注册节点
对新节点进行反向搜索,得到新节点在地理位置上的邻居节点,新节点接收注册节点发送
的邻居节点的节点列表后,从中筛选出实际的邻居节点,将其节点信息存储至邻居节点,如
此建立了新节点与结构化对等网络已有节点的连接关系,还建立了新节点在结构化对等网
络中的存储结构。按照上述方法依次建立所有节点的连接关系和存储结构,能自适应构建
得到本申请实施例的结构化对等网络。而且,在以上述方法构成的结构化对等网络中,相邻
的节点正是实际地理位置相邻的节点,进而用户可以采用Kademlia分布式搜索方法,在结
构化对等网络的任意节点发其对其他节点的搜索,如此搜索到的资源节点,正是在地理位
置上临近的节点,从而能够及时获得服务。

附图说明

[0056] 图1是本申请实施例提出的面向人机物资源的结构化对等网络自适应构建方法的步骤流程图;
[0057] 图2是本申请一种示例中新节点加入结构化对等网络的拓扑结构的流程示意图;
[0058] 图3是本申请一种示例中Kademlia拓扑结构的示意图;
[0059] 图4是本申请实施例提出的面向人机物资源的结构化对等网络自适应构建装置的功能模块。
[0060] 附图标记说明:
[0061] 41‑计算模块,42‑注册节点确定模块,43‑注册模块。

具体实施方式

[0062] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本
申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实
施例,都属于本申请保护的范围。
[0063] 分布式帐本是基于区块链技术发展得到的数据存储技术。由于分布式数据存储、点对点传输、共识机制、加密算法等核心技术所组成,具有去中心、不可篡改、可追溯的特
点。分布式帐本技术的兴起支撑了一类新型态互联网应用,其中资产数字化、生产供应链防
伪溯源、智能家居物联网是分布式帐本技术重要的应用场景。
[0064] 由于分布式帐本采用随机共识机制验证区块、随机选择节点对区块进行存储以及其中的每个区块有多个前驱区块和后驱区块,导致溯源困难。
[0065] 针对上述问题,相关领域提出基于Kademlia,Kademlia协议是一种结构化P2P覆盖网络(Structured P2P Overlay Network),透过独特的异或计算构建k‑bucket节点路由
表,针对不同场景配合a、K、K_bucket三个系统参数的路由机制,可以快速且高效的定位资
源。对比同类型算法如Chord协议,Kademlia协议使用异步查询请求避免单点失效所带来的
超时响应问题,保证模型在节点高频抖动下仍然能有效地处理来自不同节点的请求,具有
更好的鲁棒性、高准确率等优点。
[0066] Kademlia协议是基于分布式哈希表所设计的结构化P2P搜索,节点和资源对象按一致性哈希函数定位到逻辑拓扑结构的某个位置上。当需要查询资源的时,用异或运算对
比距离值,路由搜索可快速准确的寻访资源的位置。然而对象的摆放位置并没有参考实际
地理位置,即网络中节点位置和真正地理位置完全没有关系,导致k‑bucket中所存储的邻
居节点并非真实意义上的邻居节点,顺带使异或计算所得距离近也仅是逻辑上的距离收
敛。最终使得节点间的哈希值虽然相近,但其实路由过程必须穿越多个冗余ISP,造成大量
访问超时。
[0067] 人机物融合场景是指:互联网和电信网、移动网、物联网泛在连结,形成的万物互联的深度融合系统。外卖配送、共享单车、酒店团购等是典型的人机物融合场景。以外卖配
送为例,外卖平台根据点餐者的当前地理位置,整合点餐者周围的餐厅资源及邻近餐厅资
源的配送员,依据取餐和送餐服务规则为使用者配送餐点完成外卖服务。但目前要实现人
机物融合场景,必须依靠平台整合服务资源、客户资源、人力资源。智能合约以数字形式指
定的承诺,合约参与方可以在上面执行这些承诺的协议。拥有自我验证自动执行合约事务、
在没有第三方情况下进行可信安全交易等特性。上述特性与分布式帐本技术具有的去中
心、不可篡改、可追溯的特点契合。因此,本申请将智能合约应用到分布式帐本,任何服务需
求方、服务提供方都可以加入结构化对等网络。例如,点餐者的手机、餐厅前台的计算机、配
送员的手机都可以是结构化对等网络的节点,餐厅前台的计算机设置智能合约,发布服务
资源,点餐者通过手机搜索到餐厅前台的计算机,调用其中的智能合约,获得餐厅的服务。
[0068] 上述将智能合约应用到分布式帐本的过程中存在问题是:点餐者在搜索可以提供配送服务的节点时,难以搜索到与自己地理位置接近的用以提供服务资源的节点。
[0069] 有鉴于此,本申请提出了一种面向人机物资源的结构化对等网络自适应构建方法,能够构建得到具有地理空间拓扑感知的结构化对等网络,即能够构建得到具有地理空
间拓扑感知的结构化P2P覆盖网络。
[0070] 需要说明的是,本申请中的节点可以是计算机、手机以及平板等具有计算能力的设备。电器等提供服务资源的设备可以作为资源节点,资源节点可以与节点连接,或通信连
接。
[0071] 图1是本申请实施例提出的面向人机物资源的结构化对等网络自适应构建方法的步骤流程图,如图1所示,步骤如下:
[0072] 步骤S11:采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值。
[0073] 新节点本身、与新节点连接的其他具有计算力的设备,都可以对计算新节点的位置哈希值(GeoHash_ID)进行计算。
[0074] 网格聚合算法Geohash是一种地理位置编码机制。基本原理是将地球视为一个二维平面,根据切割精度的不同将平面递归分解成不同程度大小的矩形区域,每个区域在一
定经纬度范围内拥有相同前缀编码。
[0075] 本申请实施例在构建结构化对等网络的拓扑结构时,对每个待加入结构化对等网络的节点计算位置哈希值,根据节点的位置哈希值,将每个节点映射到一维存储空间,形成
物理感知的Kademlia拓扑结构,得到本申请实施例的结构化对等网络的结构基础。
[0076] 在将位置哈希值映射到一维存储空间之前,还可以对二维经度、纬度数据进行降维。根据位置哈希值,也可以获得每个节点所在的地理区域。
[0077] 本申请实施例采用160bits作为位置哈希值的长度,以保证位置哈希值符合索引160
值储存空间够大及具备抗碰撞性。同时将一维存储空间伸至和SHA‑1哈希函数一致的2 数
值空间,当有新节点加入网络需要被系统分配索引值时,是以节点自身的经、纬度作为参
数,结合网格聚合算法GeoHash计算得到位置哈希值,作为新节点的索引值,用于将新节点
映射到一维存储空间。
[0078] 将节点映射到一维存储空间是顺序映射的,因此新节点可以是待映射到一维存储空间的节点。
[0079] 步骤S12:根据所述位置哈希值,在结构化对等网络的已有节点中确定所述新节点的注册节点;
[0080] 结构化对等网络的已有节点可以是已经映射到一维存储空间中的节点。
[0081] 在本申请中,根据位置哈希值确定注册节点具体子步骤是:
[0082] 子步骤S121:新节点将位置哈希值发送给存储有多个资源网络哈希值的信息节点。
[0083] 信息节点在构建结构化对等网络的过程中,用于转发每个新节点的位置哈希值,并且在资源节点加入过程中用于提供资源网络名称,和资源网络哈希值,参与不同的资源
网络的形成,在一段时间后,信息节点存储有资源网络哈希值。
[0084] 其中,资源网络是指人机物资源场景下以资源的功能进行分类的网络,得到属于不同资源网络类型的资源网络。该资源网络包括服务资源、客户资源、人力资源。外卖平台
是典型的人机物资源实例,在这一实例中,资源网络可以为骑手网络、餐厅网络。
[0085] 子步骤S122:使信息节点根据位置哈希值,在多个资源网络哈希值中确定目标资源网络哈希值。
[0086] 信息节点接收到位置哈希值后,在其预先存储的多个资源网络哈希值中查找与位置哈希值相差最少的目标资源网络哈希值,目标资源网络哈希值则是与新节点在地理位置
上相对较近的多个节点组成资源网络的哈希值。
[0087] 子步骤S123:信息节点将具有目标资源网络哈希值的节点确定为注册节点。
[0088] 注册节点是结构化对等网络已有的节点中的其中之一,该节点的位置哈希值与目标资源网络哈希值相似度最高。
[0089] 确定注册节点后,需求节点向注册节点发起注册请求,以在注册节点接收到注册请求后,利用注册请求驱动注册节点发起对新节点的反向搜索。其中,需求节点是预设结构
化对等网络中除生成服务区块的搜索节点外的其他搜索节点中的任一。用户可以在接入预
设结构化对等网络的多个计算机或多个移动终端选择其中一个作为需求节点。
[0090] 当新节点是资源节点时,信息节点在新资源节点加入预设结构化对等网络时,为资源节点统一命名,以使属于相同类型的不同资源节点聚合成资源网络。示例地,资源节点
1是咖啡机1号,资源节点2是咖啡机2号,资源节点3是单车1号;咖啡机1号在C市某街道,地
理位置哈希值是wx4cqzb4;咖啡机2号在C市某街道,地理位置哈希值是wx4cqzf5;单车1号
在C市某街道,地理位置哈希值是wx4cw8y0。根据各资源节点各自的地理位置哈希值,将咖
啡机1号、咖啡机2号和单车1号分别映射到一维存储空间,咖啡机1号和咖啡机2号的地理位
置接近,在一维存储空间临近摆放,形成C市某街道的咖啡机资源网络。可以取wx4cqXXX作
为C市某街道咖啡机资源网络的资源网络的哈希值,得到资源网络名称与资源网络的哈希
值的对应关系。获得多个资源网络名称与资源网络的哈希值的对应关系,可排列得到预设
关系表。根据上述聚合成某地区资源网络的过程可知,某地区资源网络哈希值与该某地区
资源网络中的各节点的位置哈希值具有高度相似性。因此,本申请根据资源网络哈希值,确
定得到的注册节点,是与新节点相对较近的节点,注册节点通过有限次的分布式查找,能够
查找对新节点的邻居节点。
[0091] 在确定所述新节点的注册节点后,在本申请实施例中还提供了以下方法:
[0092] 步骤A1:驱动所述注册节点发起对新节点的反向搜索。新节点发送给注册节点的注册请求可以包括新节点的位置哈希值,注册节点将位置哈希值作为索引值,采用
Kademlia分布式查找的方法,搜索到新节点。
[0093] 步骤A2:使注册节点记录跳转节点的节点列表;跳转节点是所述注册节点搜索所述新节点过程中经由的至少一个节点。
[0094] 注册节点发起对新节点的反向搜索,在搜索新节点的过程中,记录其经由的节点和经由节点的节点列表。由于结构化对等网络构中已有的节点是按照位置哈希值存储的,
在注册节点采用Kademlia搜索算法对新节点进行搜索时,询问的一定是注册节点在地理位
置上的临近节点,即注册节点的跳转节点是与其在地理位置上接近的至少一个节点。节点
列表是任意节点的K‑bucket桶,其中存储有任意节点的邻居节点的地理位置哈希值、节点
IP、节点存储的智能合约等信息。
[0095] 步骤S13:根据注册节点返回给新节点的信息,完成对新节点的注册,以将完成注册的新节点加入所述结构化对等网络中。
[0096] 注册节点返回给新节点的信息包括:跳转节点的节点列表、跳转节点与新节点的距离,跳转节点的可用性。
[0097] 具体的,步骤S13的具体实现可以为:根据所述注册节点返回的所述节点列表,完成对所述新节点的注册。即:新节点根据注册节点返回的至少一个节点的节点列表,根据与
至少一个节点的距离,将其节点信息存储至注册节点返回的至少一个节点的节点列表中,
以将新节点的节点信息存储在结构化对等网络已有的节点,并且存储新节点信息的已有节
点无论在拓扑结构中,还是在实际地理位置都是与新节点临近的节点,进而完成将新节点
加入结构化对等网络的目的。
[0098] 其中,根据所述注册节点返回的所述节点列表,完成对所述新节点的注册的具体步骤可以包括:
[0099] 子步骤S131:从所述节点列表中获得多个候选节点;
[0100] 子步骤S132:根据所述多个候选节点各自与所述新节点的距离,筛选所述节点列表,确定邻居节点;
[0101] 子步骤S133:将所述新节点的节点信息存储至所述邻居节点,完成对所述新节点的注册;其中,所述新节点的节点信息包括:所述位置哈希值、节点端口号以及节点标识。新
节点的节点信息还包括新节点存储的智能合约,以及该智能合约封装的服务资源。
[0102] 表1是本申请一种示例中的预设关系表,图2是本申请一种示例中新节点加入结构化对等网络的拓扑结构的流程示意图,参考图2,在本申请一种示例中,新节点根据自身经
度坐标、纬度坐标计算得到位置哈希值:wyzzqq88,新节点向信息节点(Node Center节点,
也称NC节点)发起注册请求,由NC节点从预设关系表中,查找各资源网络模糊关键字名所对
应的哈希值,确定目标资源网络哈希值。例如,目标资源网络哈希值wyxff493的前40 bits
与位置哈希值wyzzqq88的相似程度最高,信息节点将目标资源网络哈希值wyxff493发回给
新节点,以将结构化对等网络中位置哈希值为wyxff493的现有节点作为注册节点。新节点
将注册请求发送给注册节点wyxff493,以使注册节点发起对新节点的反向搜索,注册节点
在路由跳转过程中,将其行经的节点进行缓存,直到搜索收敛为止,并将所有跳转节点的节
点列表发送给新节点,新节点获取节点列表后自行去重,并依距离将自身的节点信息存储
至对应的节点列表K‑bucket桶中。
[0103] 表1
[0104]
[0105] 在新节点是资源节点时,在节点封装有智能合约时,该节点可以和其具有联系关系的资源节点采用本申请另一实施例提出的面向人机物资源的结构化对等网络自适应构
建方法,加入结构化对等网络,即将节点映射到结构化对等网络的Kademlia拓扑结构中。
[0106] 在本申请一种示例中,资源节点是咖啡机,计算机A上存储有调用咖啡机的智能合约,并且计算机A设置有驱动咖啡机提供服务的调用接口,用智能合约封装了调用接口,计
算机A是与资源节点具有连接关系的节点。
[0107] 该方法的具体步骤可以包括:
[0108] 步骤S21:将资源节点的参数信息发送到信息节点。
[0109] 其中,资源节点是待接入结构化对等网络的节点。具体的,资源节点可以是提供服务的电器设备,也可以是连接有计算机的电器设备。例如,资源节点可以是咖啡机、洗衣机
等,也可以是连接有计算机的咖啡机、洗衣机,以及注册了配送员信息的移动终端。
[0110] 资源节点的参数信息包括资源节点的资源名称、位置信息等。
[0111] 步骤S22:使信息节点根据参数信息,确定资源节点所属的资源网络类型。
[0112] 步骤S23:获取信息节点针对资源节点计算得到的资源网络哈希值。
[0113] 信息节点根据资源名称,确定资源节点所属的资源节点网络的资源网络类型。在本申请一种示例中,信息节点根据资源名称咖啡,确定资源节点属于咖啡机网络,并将咖啡
机网络的哈希值返回给待加入结构化对等网络的资源节点。
[0114] 步骤S24:根据所述资源网络哈希值,确定资源节点的哈希值摆放位置。
[0115] 将资源节点映射到一维存储空间的方法,本申请实施例提出的映射方法一致,需要获得资源节点的位置哈希值,根据位置哈希值,找到与资源节点相对较近的节点作为注
册节点,以利用注册节点完成资源节点的注册。
[0116] 对于同一地理范围,可能形成多个不同的资源网络,具体可以包括咖啡机资源网络、洗衣机资源网络、配送员资源网络,本申请根据资源网络哈希值和位置哈希值,综合二
者的信息,将资源节点映射到一维存储空间的对应位置。在新节点加入结构化对等网络时,
信息节点返回的资源网络哈希值与新节点的位置哈希值有最大相似度时,可以确定新节点
的实际地理位置最接近该资源网络所在的地理区域,因此与该资源网络具有相同哈希值的
节点能够在有限时间内搜索到新节点。
[0117] 信息节点根据资源网络哈希值,确定资源节点的哈希值在一维存储空间的摆放位置。在本申请一种示例中,令哈希(“节点模糊关键字”)==哈希(“名称哈希值”),例如令(“咖
啡”)==哈希(“咖啡机网络”),根据咖啡机的地理位置,将资源节点摆放到一维存储空间对
应的位置。一个地域范围内,所有属于咖啡机网络的资源节点,按照其相同的名称哈希值,
聚集在一维存储空间(物理感知的Kademlia拓扑结构)的特定范围内,形成咖啡机网络。在
咖啡机的临近位置会有地理位置与该资源节点(咖啡机)相近的节点,这些节点中部分节点
存储有该资源节点(咖啡机)的智能合约。本申请按照节点的地理位置哈希值,将节点映射
到一维存储空间对应的位置,根据资源节点名称哈希值,形成资源网络。
[0118] 步骤S25:按照所述哈希值摆放位置,将所述资源节点加入到所述结构化对等网络中。
[0119] 图3是本申请一种示例中Kademlia拓扑结构的示意图,图3所示的拓扑结构有5个节点,位于C市的咖啡机2号的位置哈希值是wx4cqzb5,位于C市的咖啡机3号的位置哈希值
是wx4cqqe5,咖啡机2号wx4cqzb5与咖啡机3号wx4cqqe5位于C市咖啡机网络中。位于C市的
洗衣机1号的位置哈希值是wx4cqcc3,位于C市的洗衣机2号的位置哈希值是wx4caxc3,洗衣
机1号wx4cqcc3与洗衣机2号wx4caxc3位于C市的洗衣机网络。其中,C市咖啡机网络的资源
网络哈希值是wx4cqXXX,C市洗衣机网络的资源网络哈希值是wx4cqYYY。
[0120] 在本申请一种示例中,资源节点咖啡机1号的位置哈希值是wx4cqzb4,根据位置哈希值是wx4cqzb4,能够确定咖啡机1号映射到一维存储空间的位置,根据哈希值摆放位置,
能够将属于同一资源网络类型的资源节点聚集到同一范围中。信息节点确定该资源节点属
于咖啡机网络,并且信息节点将咖啡机网络哈希值wx4cqXXX告知给资源节点,根据
wx4cqXXX,确定资源节点的哈希值摆放位置为wx4cqXXX的范围内,同一地理区域同时存在
咖啡机网络和洗衣机网络,洗衣机网络哈希值是wx4cqYYY,哈希值摆放位置用于指示将资
源节点放置在一维存储空间中对应咖啡机网络对应的位置,即指示将资源节点咖啡机1摆
放在wx4cqXXX的范围内。
[0121] 本申请实施例采用网格聚合算法,根据新节点的经纬度坐标,计算新节点的位置哈希值,并根据位置哈希值,在结构化对等网络已有的节点中确定与新节点相对较近的节
点,将该相对较近的节点作为注册节点,新节点再将注册请求发送到注册节点,使注册节点
对新节点进行反向搜索,得到新节点在地理位置上的邻居节点,新节点接收注册节点发送
的邻居节点的节点列表后,从中筛选出实际的邻居节点,将其节点信息存储至邻居节点,建
立了新节点与结构化对等网络已有节点的连接关系,还建立了新节点在结构化对等网络中
的存储结构。按照上述方法依次建立所有节点的连接关系和存储结构,得到结构化对等网
络。以上述方法构成的结构化对等网络中相邻的节点正是实际地理位置相邻的节点,进而
采用Kademlia分布式搜索方法,在结构化对等网络的任意节点发其对其他节点的搜索,搜
索到的资源节点,正是在地理位置上临近的节点,从而能够及时获得服务,如此克服了人机
物融合场景中当前所面临的人们难以搜索到地理上与自己接近的节点以获取服务的问题。
[0122] 在本申请一种示例中,节点X在需要与节点Y通信时,节点X以节点Y的地理位置哈希值作为索引值,根据节点Y的地理位置哈希值本地所维护的节点列表,如果本地的节点列
表没有检索到节点Y的地理位置哈希值,继续以Kademlia搜索方法,依序询问节点X的邻居
节点是否存储有节点Y的地理位置哈希值,直至检索到存储有节点Y的地理位置哈希值的节
点。经多个节点的查询响应协助,最终收敛至节点Y完成搜索。
[0123] 基于同一发明构思,本申请实施例提供一种面向人机物资源的结构化对等网络自适应构建装置。图4是本申请实施例提出的面向人机物资源的结构化对等网络自适应构建
装置的功能模块。如图4所示,该装置包括:
[0124] 计算模块41,用于采用网格聚合算法对新节点的经纬度坐标进行计算,获得所述新节点的位置哈希值;
[0125] 注册节点确定模块42,用于根据所述位置哈希值,在所述结构化对等网络的已有节点中确定所述新节点的注册节点;
[0126] 注册模块43,用于根据所述注册节点返回给所述新节点的信息,完成对所述新节点的注册,并将完成注册的新节点加入所述结构化对等网络中。
[0127] 可选地,所述装置还包括:
[0128] 驱动模块,用于驱动所述注册节点发起对所述新节点的反向搜索;
[0129] 记录模块,用于使所述注册节点记录跳转节点的节点列表;所述跳转节点是所述注册节点搜索所述新节点过程中经由的至少一个节点;
[0130] 所述注册模块包括:
[0131] 第一注册子模块,用于根据所述注册节点返回的所述节点列表,完成对所述新节点的注册。
[0132] 可选地,所述注册子模块包括:
[0133] 获得单元,用于从所述节点列表中获得多个候选节点;
[0134] 筛选单元,用于根据所述多个候选节点各自与所述新节点的距离,筛选所述节点列表,确定邻居节点;
[0135] 存储单元,用于将所述新节点的节点信息存储至所述邻居节点,完成对所述新节点的注册;其中,所述新节点的节点信息包括:所述位置哈希值、节点端口号以及节点标识。
[0136] 可选地,所述装置还包括:
[0137] 发送模块,用于将所述资源节点的所述参数信息发送到信息节点;
[0138] 网络类型确定模块,用于使所述信息节点根据参数信息,确定所述资源节点所属的资源网络类型;
[0139] 获得模块,用于获取所述信息节点针对所述资源节点计算得到的资源网络哈希值;
[0140] 位置确定模块,用于根据所述资源网络哈希值,确定所述资源节点的哈希值摆放位置;
[0141] 所述注册模块包括:
[0142] 第二注册子模块,用于按照所述哈希值摆放位置,将所述资源节点加入到所述结构化对等网络中。
[0143] 可选地,所述注册节点确定模块包括:
[0144] 发送子模块,用于将所述位置哈希值发送给存储有多个资源网络哈希值的信息节点;
[0145] 哈希值确定子模块,用于所述信息节点根据所述位置哈希值,在所述多个资源网络哈希值中确定目标资源网络哈希值;
[0146] 注册节点确定子模块,用于将具有所述目标资源网络哈希值的节点确定为所述注册节点。
[0147] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0148] 本说明书中的各个实施例均采用递进或说明的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0149] 本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和
硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可
用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上
实施的计算机程序产品的形式。
[0150] 本申请实施例是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器
以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产
生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
的装置。
[0151] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包
括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方
框或多个方框中指定的功能。
[0152] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在
计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程
和/或方框图一个方框或多个方框中指定的功能的步骤。
[0153] 尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为
包括优选实施例以及落入本申请实施例范围的所有变更和修改。
[0154] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包
括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品
或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要
素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0155] 以上对本申请所提供的一种面向人机物资源的结构化对等网络自适应构建方法和装置,进行了详细介绍,以上实施例的说明只是用于帮助理解本申请的方法及其核心思
想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上
均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。