一种人机物融合环境下的数字对象访问方法和系统

文档序号:27388506发布日期:2021-11-15 21:54阅读:来源:国知局

技术特征:
1.一种人机物融合环境下的数字对象访问方法,其特征在于,所述方法包括:基于分布式哈希表dht构建p2p网络,其中,所述p2p网络中的每个节点包括所述节点对应的节点标识;根据所述节点标识,利用kademlia算法构建每个节点对应的kad路由表;以所述p2p网络中的任意节点为目标节点,计算所述目标节点对应的kad路由表中的各个节点距离所述目标节点的逻辑距离,并根据所述各个节点距离所述目标节点的逻辑距离,构建索引二叉树;在所述索引二叉树中的任意节点获得数字对象的数据实体的情况下,将所述节点确定为临近仓库节点;所述临近仓库节点针对所述数据实体生成第一数据标识,并将所述第一数据标识依次向所述临近仓库节点的上一级父节点传递,直至所述第一数据标识到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表;在所述索引二叉树中的任意节点获得针对所述数据实体的查询请求的情况下,将所述节点确定为查询起始节点;所述查询起始节点在未存储有所述反向路由表的情况下,按照所述kad路由表,在所述索引二叉树中依次向其上一级父节点转发所述查询请求,直至所述查询请求到达包含有所述第一数据标识的反向路由表的父节点或根节点;包含有所述第一数据标识的反向路由表的父节点或根节点根据所述反向路由表,将所述查询请求转发至所述临近仓库节点;所述临近仓库节点根据所述查询请求,将所述数据实体的当前状态信息返回给所述查询起始节点。2.根据权利要求1所述的方法,其特征在于,所述以所述p2p网络中的任意节点为目标节点,计算所述目标节点对应的kad路由表中的各个节点距离所述目标节点的逻辑距离的步骤,包括:采用以下异或计算公式,计算所述目标节点对应的kad路由表中的各个节点距离所述目标节点的逻辑距离;d(node1,node2)=id
node1

id
node2
;式中,node1为目标节点,id
node1
为目标节点的节点标识;node2为kad路由表中的任意节点,id
node2
为kad路由表中的任意节点的节点标识;d(node1,node2)为目标节点与kad路由表中的任意节点之间的逻辑距离。3.根据权利要求1所述的方法,其特征在于,所述根据所述各个节点距离所述目标节点的逻辑距离,构建索引二叉树的步骤,包括:根据所述各个节点距离所述目标节点的逻辑距离,将所述索引二叉树的第i层的树节点按照升序或者降序的顺序依次保存距离所述目标节点的逻辑距离在[2
i
‑1,2
i
)范围内的节点,其中,i为正整数。4.根据权利要求1所述的方法,其特征在于,所述临近仓库节点针对所述数据实体生成第一数据标识,并将所述第一数据标识依次向所述临近仓库节点的上一级父节点传递,直至所述第一数据标识到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表的步骤,包括:所述临近仓库节点基于布隆过滤器生成反向路由表,所述反向路由表包括三元路由组
<id
node
,address,set[bf vector]>,其中,id
node
为所述临近仓库节点的节点标识,address为所述临近仓库节点的网络地址,set[bf vector]为所述临近仓库节点包含的数据标识集合;所述临近仓库节点生成所述数据实体的第一数据标识,将第一数据标识写入所述临近仓库节点的set[bf vector]中,并向上一级父节点传递所述第一数据标识;所述父节点在获得所述第一数据标识的情况下,判断所述父节点是否包含指向所述临近仓库节点的反向路由表;若包括,所述父节点将所述第一数据标识写入所述父节点的set[bf vector]中,并将所述第一数据标识传递给所述父节点的下一个父节点,直至到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表;若不包括,所述父节点基于布隆过滤器生成所述父节点的三元路由组,将所述第一数据标识写入所述父节点的set[bf vector]中,并将所述第一数据标识传递给所述父节点的下一个父节点,直至到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表。5.根据权利要求4所述的方法,其特征在于,所述查询起始节点在未存储有所述反向路由表的情况下,按照所述kad路由表,在所述索引二叉树中依次向其上一级父节点转发所述查询请求,直至所述查询请求到达包含有所述第一数据标识的反向路由表的父节点或根节点的步骤,包括:所述查询起始节点在未存储有所述反向路由表的情况下,按照所述kad路由表,在所述索引二叉树中依次向其上一级父节点转发所述查询请求,其中,所述查询请求包括所述第一数据标识和所述查询起始节点的节点标识;在所述上一级父节点中的set[bf vector]中不包含所述第一数据标识的情况下,所述上一级父节点将所述查询请求传递给下一个父节点,直至所述查询请求到达包含有所述第一数据标识的反向路由表的父节点或根节点。6.一种人机物融合环境下的数字对象访问系统,其特征在于,所述系统包括:p2p网络构建模块,用于基于分布式哈希表dht构建p2p网络,其中,所述p2p网络中的每个节点包括所述节点对应的节点标识;根据所述节点标识,利用kademlia算法构建每个节点对应的kad路由表;索引二叉树构建模块,用于以所述p2p网络中的任意节点为目标节点,计算所述目标节点对应的kad路由表中的各个节点距离所述目标节点的逻辑距离,并根据所述各个节点距离所述目标节点的逻辑距离,构建索引二叉树;第一确定模块,用于在所述索引二叉树中的任意节点获得数字对象的数据实体的情况下,将所述节点确定为临近仓库节点;反向路由表构建模块,配置于所述临近仓库节点,所述反向路由表构建模块用于针对所述数据实体生成第一数据标识,并将所述第一数据标识依次向所述临近仓库节点的上一级父节点传递,直至所述第一数据标识到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表;第二确定模块,用于在所述索引二叉树中的任意节点获得针对所述数据实体的查询请求的情况下,将所述节点确定为查询起始节点;
正向查询模块,配置于所述查询起始节点,所述正向查询模块在未存储有所述反向路由表的情况下,按照所述kad路由表,在所述索引二叉树中依次向其上一级父节点转发所述查询请求,直至所述查询请求到达包含有所述第一数据标识的反向路由表的父节点或根节点;反向查询模块,配置于包含有所述第一数据标识的反向路由表的父节点或根节点,所述反向查询模块用于根据所述反向路由表,将所述查询请求转发至所述临近仓库节点;信息返回模块,配置于所述临近仓库节点,所述信息返回模块用于将所述临近仓库节点针对所述查询请求返回的数字对象状态信息返回给所述查询起始节点。7.根据权利要求6所述的系统,其特征在于,所述索引二叉树构建模块包括:距离计算子模块,采用以下异或计算公式,计算所述目标节点对应的kad路由表中的各个节点距离所述目标节点的逻辑距离;d(node1,node2)=id
node1

id
node2
;式中,node1为目标节点,id
node1
为目标节点的节点标识;node2为kad路由表中的任意节点,id
node2
为kad路由表中的任意节点的节点标识;d(node1,node2)为目标节点与kad路由表中的任意节点之间的逻辑距离。8.根据权利要求6所述的系统,其特征在于,所述索引二叉树构建模块还包括:树构建子模块,用于根据所述各个节点距离所述目标节点的逻辑距离,将所述索引二叉树的第i层的树节点按照升序或者降序的顺序依次保存距离所述目标节点的逻辑距离在[2
i
‑1,2
i
)范围内的节点,其中,i为正整数。9.根据权利要求6所述的系统,其特征在于,所述反向路由表构建模块包括:反向路由表生成子模块,配置于所述临近仓库节点,所述反向路由表生成子模块用于基于布隆过滤器生成反向路由表,所述反向路由表包括三元路由组<id
node
,address,set[bf vector]>,其中,id
node
为所述临近仓库节点的节点标识,address为所述临近仓库节点的网络地址,set[bf vector]为所述临近仓库节点包含的数据标识集合;第一传递子模块,配置于所述临近仓库节点,所述第一传递子模块用于生成所述数据实体的第一数据标识,将第一数据标识写入所述临近仓库节点的set[bf vector]中,并向上一级父节点传递所述第一数据标识;判断子模块,用于在所述父节点获得所述第一数据标识的情况下,判断所述父节点是否包含指向所述临近仓库节点的反向路由表;第二传递子模块,配置于所述父节点,所述第二传递子模块用于在所述父节点包含指向所述临近仓库节点的反向路由表情况下,将所述第一数据标识写入所述父节点的set[bf vector]中,并将所述第一数据标识传递给下一个父节点,直至到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表;第三传递子模块,配置于所述父节点,所述第三传递子模块用于在所述父节点不包含指向所述临近仓库节点的反向路由表的情况下,基于布隆过滤器生成所述父节点的三元路由组,将所述第一数据标识写入所述父节点的set[bf vector]中,并将所述第一数据标识传递给下一个父节点,直至到达所述索引二叉树的根节点,以使所述父节点和所述根节点构建包含有所述第一数据标识的反向路由表。10.根据权利要求9所述的系统,其特征在于,所述正向查询模块包括:
第四传递子模块,配置于所述查询起始节点,所述第四传递子模块用于所述查询起始节点在未存储有所述反向路由表的情况下,将所述查询请求按照所述kad路由表,依次向上一级父节点转发所述查询请求,其中,所述查询请求包括所述第一数据标识和所述查询起始节点的节点标识;第五传递子模块,配置于所述上一级父节点,所述第五传递子模块用于在所述上一级父节点中的set[bf vector]中不包含所述第一数据标识的情况下,将所述查询请求传递给下一个父节点,直至所述查询请求到达包含有所述第一数据标识的反向路由表的父节点或根节点。

技术总结
本申请提供了一种人机物融合环境下的数字对象访问方法和系统,属于通讯技术领域。本申请实施例基于分布式哈希表DHT构建P2P网络,并利用Kademlia算法构建每个节点对应的Kad路由表,并根据Kad路由表中各个节点距离目标节点的逻辑距离,构建索引二叉树;存储数字对象的节点向根节点传递消息的过程中,消息途径的节点均构建针对该数字对象的反向路由表,使得在数据查询阶段,从任意节点出发通过Kad路由表和反向路由表均能找到目标数据,能够在不增加数据寻址复杂度的基础上,实现基于DHT的P2P网络中数据实体的数据标识与其存储位置的解耦,允许数字对象存储在P2P网络中的任意节点中,满足人机物融合环境下数字对象空间约束的同时也可以提高数字对象的访问效率。同时也可以提高数字对象的访问效率。同时也可以提高数字对象的访问效率。


技术研发人员:黄罡 罗超然 马郓 张颖
受保护的技术使用者:北京大学
技术研发日:2021.10.13
技术公布日:2021/11/14
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1