[发明专利]一种非结构化P2P网络的资源搜索方法有效
申请号: | 201510088791.2 | 申请日: | 2015-02-26 |
公开(公告)号: | CN104734962B | 公开(公告)日: | 2017-12-26 |
发明(设计)人: | 卢苇;周韬;邢薇薇;车啸平 | 申请(专利权)人: | 北京交通大学 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L29/08;G06F17/30 |
代理公司: | 北京正理专利代理有限公司11257 | 代理人: | 张雪梅 |
地址: | 100044*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种非结构化P2P网络的资源搜索方法,包括步骤为网络中各节点分别分配一个标识符,并分别定义各节点的前后向节点、邻居表及其中的表项;发起资源查询请求的节点分别向该节点的邻居表中各表项中的一个邻居节点发送增加转发区间的查询消息;若查询到资源,则向发起资源查询请求的节点发送搜索成功消息;若未查询到,邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息;重复上一步直至查询到资源或已查询所有节点。本发明所述技术方案解决了洪泛搜索中冗余消息的问题,提高了非结构化P2P网络的资源搜索的可扩展性和效率,从而提高了非结构化P2P网络的可用性。 | ||
搜索关键词: | 一种 结构 p2p 网络 资源 搜索 方法 | ||
【主权项】:
一种非结构化P2P网络的资源搜索方法,其特征在于,该方法包括如下步骤:S1、为非结构化P2P网络中的各节点分别分配一个与节点唯一对应的标识符,并根据各节点在标识符空间中的相对位置分别定义各节点的前向节点、后向节点、邻居表及邻居表中的表项,各节点的邻居表中的表项包括:开始项、结束项、区间项、邻居项和节点冗余度;S2、发起资源查询请求的节点分别向该节点的邻居表中各表项中的一个邻居节点发送增加转发区间的查询消息;S3、若在邻居节点中查询到所需资源,则拥有资源的节点向发起资源查询请求的节点发送搜索成功的回复消息,搜索流程结束;若在邻居节点中未查询到所需资源,则邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息;S4、重复步骤S3直至查询到所需资源或已查询非结构化P2P网络中所有节点;步骤S1进一步包括如下子步骤:S1.1、使用一致性哈希函数为非结构化P2P网络中的各节点分别分配一个m位的与节点唯一对应的标识符,则标识符空间为以2m为模依次排列的一个标识符圆环,在标识符空间中,以任意一个节点x为中心,把与节点x的相对距离大小为2m‑1的节点称作节点x的界点,记作M(x);S1.2、定义节点在标识符空间中沿逆时针方向的第一个节点为节点的前向节点,定义节点在标识符空间中沿顺时针方向的第一个节点为节点的后向节点;S1.3、定义与节点在标识符空间中相对距离为2m‑1的节点为节点的界点,定义节点的邻居表,邻居表中记录在标识符空间中沿顺时针和逆时针方向节点至节点的界点范围内的节点为邻居节点;S1.4、定义节点的邻居表中的表项,第i个表项包含变量:开始项start、结束项end、区间项interval、邻居项neighbors和节点冗余度H,i为节点的邻居表中表项标号,1≤i<m,沿顺时针记录的正向邻居表中第i个表项的变量start和end的计算方法分别为x+2i‑1和x+2i,沿逆时针记录的负向邻居表中第i个表项的变量start和end的计算方法分别为x‑2i‑1和x‑2i;第i个表项的开始项start为标识符空间中与节点相对距离为2i‑1的节点的标识符,第i个表项的结束项end为标识符空间中与节点相对距离为2i的节点的标识符,第i个表项的区间项interval为开始项到结束项的区间,区间项为[2i‑1,2i),第i个表项的邻居项neighbors为第i个表项的邻居节点列表,第i个表项的节点冗余度H为邻居项中邻居节点个数的最大值;步骤S2进一步包括如下子步骤:为查询消息M增加两个m位的字段LL和RL,分别代表转发区间的左边界和右边界;对于当前节点x,分别从邻居表的每一个表项中选择一个邻居节点,对于从节点x的邻居表中第i个表项中选出的邻居节点y,把节点x的邻居表中第i个表项的start值和end值赋予消息M的LL和RL字段,并向节点y发送消息M;步骤S3中邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息进一步包括如下子步骤:节点y收到消息M后,对于邻居表中属于转发区间[LL,RL)内的表项i,检查其neighbors是否为空,如果不为空,则从neighbors中选出一个邻居节点z,把节点y的邻居表中第i个表项的start值和end值赋予消息M的LL和RL字段,向邻居节点z发送消息M;如果节点y的邻居表中第i个表项不存在邻居节点,即neighbors为空,且第i个表项不是邻居表的最后一个表项,则将表项i所属的区间[start,end)合并到下一个表项的区间中,即第i+1表项的区间中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京交通大学,未经北京交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510088791.2/,转载请声明来源钻瓜专利网。