[发明专利]一种基于P2P的查找有关节点子集合的方法有效
申请号: | 200910096247.7 | 申请日: | 2009-03-02 |
公开(公告)号: | CN101505272A | 公开(公告)日: | 2009-08-12 |
发明(设计)人: | 黄理灿 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/44;H04L29/08 |
代理公司: | 浙江杭州金通专利事务所有限公司 | 代理人: | 赵红英 |
地址: | 310018浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 p2p 查找 有关 节点 子集 方法 | ||
1.一种基于P2P的查找有关节点子集合的方法,包括按用户需求的主题领域建立网络领域分类的步骤、构建领域分类网络的步骤、基于领域分类网络查询节点子集合的步骤,其特征在于领域分类网络是基于领域的P2P覆盖网络,其具体构建步骤包括:
1)网络起始节点设置其路由表内容,并建立虚拟组,路由表内容主要包括节点实体信息,所述实体信息包含节点ID和IP地址,其中节点ID为用户名@域名,域名由几级组成,各分级之间由圆点“.”隔开,各分级均是具有领域分类含义的文字及字符,虚拟组根据领域分类含义划分为分级的域;
2)节点加入P2P覆盖网络,节点根据分级的域加入领域的P2P覆盖网络,节点加入步骤具体如下:
a)节点A按领域确定要加入的虚拟组,并找到已加入此虚拟组的一个节点;
b)节点A向此节点发送包含节点A实体信息的加入消息,此节点向该虚拟组所有其他节点转发该加入消息;
c)虚拟组每个节点将节点A的实体信息增加到自己的路由表中,同时向节点A发送包含自身节点实体信息的确认消息,节点A将虚拟组每个节点的实体信息增加到自己的路由表中;
d)判断是否是根虚拟组或虚拟组中已有N个节点加入上层虚拟组,若判断结果为是,则节点A加入步骤结束,若判断结果为否,则找到上一层虚拟组的一个节点,并重复步骤b)~d);
3)查询节点子集合的步骤具体如下:
3a)用户根据要查询的领域,用类SQL语言编写查询语句;
3b)用户节点将查询语句解析为目标节点的目标虚拟组域名,和本地SQL语句,并将其放入查询消息中;
3c)用户节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的邻近节点;
3d)邻近的节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的节点;
3e)判断是否是目标虚拟组,若判断结果为是,则执行下一步骤,若判断结果为否,则重复步骤3d)~3e);
3f)目标虚拟组一节点C对目标虚拟组的所有节点广播查询消息;
3g)目标虚拟组所有节点利用本地SQL语句,查找符合查询条件的信息,并将查找结果返回给查询消息广播节点C,查询消息广播节点C整合查找结果,并发送到用户节点;
4)节点离开P2P覆盖网络。
2.如权利要求1所述的一种基于P2P的查找有关节点子集合的方法,其特征在于其中节点离开P2P覆盖网络的步骤具体如下:
2a)离开节点B寻找到自己加入的最顶层虚拟组的一个节点;
2b)离开节点B向此节点发送包含节点B实体信息的离开消息;此节点向虚拟组所有其他节点转发该离开消息;
2c)虚拟组每个节点从自己的路由表中将节点B实体信息删除,同时向离开节点B发送确认消息;
2d)判断是否是最底层虚拟组,若判断结果为是,则节点B离开步骤结束,若判断结果为否,则找到下一层虚拟组的一个节点,并重复步骤2b)~2d)。
3.如权利要求1或2所述的一种基于P2P的查找有关节点子集合的方法,其特征在于其中用类SQL语言编写的查询语句为:
SELECT{*|expr[[AS]c_alias]{,expr[[AS]c_alias]...}}FROMdomainref [WHERE search_condition];
其中expr为节点的查询目标属性列表达式,*代表查找所有属性,[AS]c_alias为expr的别名,domainref为虚拟组域名,search_condition为SQL语言查询语句中的条件表达式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910096247.7/1.html,转载请声明来源钻瓜专利网。