[发明专利]一种面向大规模网络环境的分布式K近邻节点搜索方法有效
| 申请号: | 201010168975.7 | 申请日: | 2010-05-12 |
| 公开(公告)号: | CN101827004A | 公开(公告)日: | 2010-09-08 |
| 发明(设计)人: | 王意洁;符永铨;孙伟东;李小勇;马行空;李东升;褚瑞;张一鸣;陈振邦;彭宇行;车永刚;徐传福;王勇献 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
| 主分类号: | H04L12/28 | 分类号: | H04L12/28;H04L12/26 |
| 代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
| 地址: | 410073 湖*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 大规模 网络 环境 分布式 近邻 节点 搜索 方法 | ||
1.一种面向大规模网络环境的分布式K近邻节点搜索方法,其特征在于包括以下步骤:
第一步,系统初始化:
1.1在系统初始状态,对于任意节点O,将其初始邻居集设置为除本节点O之外的 其它所有节点,并通过直接测量方式获取节点之间的网络距离,每个节点维护的邻居集 信息包括邻居节点IP和本节点与邻居节点之间的网络距离;
1.2随机选择节点E作为入口节点;
第二步,为新加入节点创建邻居集:
2.1假设A是新加入的节点,节点A向入口节点E发送加入请求;
2.2入口节点E从其邻居集中随机选择I个节点,将这些节点的IP发送给新节点A, I为正整数,I根据系统的扩展性和维护开销进行动态调整;
2.3新节点A将入口节点E发送的I个节点设置为初始邻居集,并通过直接测量方 式获取本节点与邻居节点之间的网络距离;
第三步,节点邻居集更新:
每个节点定期更新邻居集,具体包括随机更新和最近邻更新两部分,随机更新的周 期为TR,最近邻更新的周期为TN,TR和TN根据系统的扩展性和维护开销动态设置, 将正更新的节点设为B,
3.1随机更新:
3.1.1节点B随机选择其邻居集中的一个节点M,并向节点M发送请求消息;
3.1.2节点M从其邻居集中随机选择比例为P的邻居节点构成集合S,并将集合S返 回给节点B,P取5%;
3.1.3节点B通过直接测量方式获取本节点与集合S中的各节点之间的网络距离;
3.1.4节点B将集合S中的节点添加到自己的邻居集中;
3.2最近邻更新:
3.2.1节点B采用最近邻节点搜索方法搜索自己的最近邻节点,得到最近邻节点BN;
3.2.2节点B将节点BN添加到其邻居集中;
第四步,当接收到搜索目标节点T的K近邻节点的请求时,系统的节点数目之K≥1, 进行回退搜索:
4.1采用最近邻节点搜索方法搜索目标节点T的最近邻节点NN,最近邻节点搜索方 法的流程是:
(1)从入口节点E开始搜索目标节点T的最远邻节点:
(1.1)节点E直接测量其与目标节点T之间的网络距离d;
(1.2)在节点E的邻居集中选择符合如下条件的节点X:节点E与节点X之间的 网络距离在[(1-β)*d,(1+β)*d]范围内,β为系统参数,β取10%,符合条件的节点构成集 合FS;
(1.3)直接测量集合FS中的各节点与目标节点T之间的网络距离,确定与目标节 点T距离最远的节点F,其与目标节点T之间的网络距离记为dF;
(1.4)如果dF>d,节点E向节点F发送搜索最远邻节点的请求信息,E=F,然后 转步骤(1.1)继续搜索最远邻节点;否则,当前节点E即为最远邻节点,记为Q;
(2)从最远邻节点Q开始搜索目标节点T的最近邻节点:
(2.1)节点Q直接测量其与目标节点T之间的网络距离l;
(2.2)在节点Q的邻居集中选择符合如下条件的节点Y:节点Q与节点Y之间的 网络距离在[(1-β)*l,(1+β)*l]范围内,符合条件的节点构成集合NS1。
(2.3)在节点Q的邻居集中随机选择m个节点构成集合NS2,m为正整数,m根 据系统的扩展性和维护开销进行动态调整;
(2.4)NS=NS1∪NS2;
(2.5)直接测量集合NS中的各节点与目标节点T之间的网络距离,确定与目标节 点T距离最近的节点N,其与目标节点T之间的网络距离记为lN;
(2.6)如果lN<l,节点Q向节点N发送搜索最近邻节点的请求信息,节点N将节 点Q记录为其上一跳步节点,为实现回退搜索提供信息,Q=N,然后转步骤(2.1)继 续搜索最近邻节点;否则,当前节点Q即为最近邻节点。
4.2目标节点T的最近邻节点NN向其上一跳步节点R发送最近邻节点搜索请求和 当前K近邻节点集合KNSet={NN};
4.3采用最近邻节点搜索方法从节点R开始,E=R,在不包括当前K近邻节点集合 KNSet的节点范围内搜索目标节点T的最近邻节点Y,当前K近邻节点集合更新为KNSet =KNSet∪{Y};
4.4如果当前K近邻节点集合KNSet包含的节点数目等于K,那么,K近邻节点搜 索结束;否则,节点Y向其上一跳步节点R’发送最近邻节点搜索请求和当前K近邻节点 集合KNSet,R=R’,转到第4.3步,继续回退搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010168975.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种MPLS报文处理方法及其装置
- 下一篇:CPE的管理方法和设备





