CN101505272A - 一种基于p2p的查找有关节点子集合的方法 - Google Patents

一种基于p2p的查找有关节点子集合的方法 Download PDF

Info

Publication number
CN101505272A
CN101505272A CNA2009100962477A CN200910096247A CN101505272A CN 101505272 A CN101505272 A CN 101505272A CN A2009100962477 A CNA2009100962477 A CN A2009100962477A CN 200910096247 A CN200910096247 A CN 200910096247A CN 101505272 A CN101505272 A CN 101505272A
Authority
CN
China
Prior art keywords
node
virtual group
network
message
classification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2009100962477A
Other languages
English (en)
Other versions
CN101505272B (zh
Inventor
黄理灿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sci Tech University ZSTU
Zhejiang University of Science and Technology ZUST
Original Assignee
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN2009100962477A priority Critical patent/CN101505272B/zh
Publication of CN101505272A publication Critical patent/CN101505272A/zh
Application granted granted Critical
Publication of CN101505272B publication Critical patent/CN101505272B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于P2P的查找有关节点子集合的方法,包括按用户需求的主题领域建立网络领域分类的步骤、构建领域分类网络的步骤、基于领域分类网络查询节点子集合的步骤,其特征在于领域分类网络是基于领域的P2P覆盖网络,其具体构建步骤包括:1)网络起始节点设置其路由表内容,并建立虚拟组,2)节点加入P2P覆盖网络,3)节点离开P2P覆盖网络。本发明有益效果:本发明的方法采用综合多倍的虚拟树型结构化网络和随机缓存的非结构网络来构建P2P覆盖网络,并以此为基础,采用类SQL语言查找相关的节点子集合,具有按复杂条件查询大规模网络环境下节点的优点,克服了集中式SIP应用的单点失败和通信瓶颈问题,同时克服了其他P2PSIP应用不能按复杂条件查询的缺点。

Description

一种基于P2P的查找有关节点子集合的方法
技术领域
本发明涉及一种查找网络节点的方法,特别涉及一种基于P2P的查找有关节点子集合的方法。
背景技术
随着越来越多的计算机连接到Internet上以及越来越多的Internet用户,IP语音(VoIP)和即时消息(IM)得到普遍的应用。这些通信系统可以采用Session Initiation Protocol(SIP)协议建立用户间的连接,SIP的关键在于将资源转换为IP地址,传统的SIP应用都是基于集中代理服务器方法,此方法存在单点失败和负载不均衡的缺点。
目前,有许多方案采用P2P技术来解决以上问题,如基于DHT P2P技术的SOSIMPLE(Bryan,A.D.,Lowekamp,B.B.,Jennings,C.,2005,SOSIMPLE:A Serverless Standards-based P2P SIP Communication System,In:First International Workshop on Advanced Architectures and Algorithms for Internet Delivery and Applicat ions,AAA-IDEA 2005,pp.42-49)。这些方案都属于P2PSIP的范畴。为此,还建立了IETF P2PSIP工作组。目前,此工作组提出了RELOAD方案(Jennings,C.,Lowekamp,B.,Rescorla,E.,Baset,S.,Schulzrinne,H.,2008,REsource LOcation And Discovery(RELOAD)Internet Draft draft-ietf-p2psip-reload-00.txt)。然而,这些方案都没有解决查询相关节点的子集合问题。
发明内容
本发明所要解决的技术问题是:提供一种基于P2P的查找有关节点子集合的方法,该方法采用综合多倍的虚拟树型结构化网络和随机缓存的非结构网络来构建P2P覆盖网络,并以此为基础,采用类SQL语言查找相关的节点子集合。
为了解决上述技术问题,本发明的方法采用以下技术方案:
一种基于P2P的查找有关节点子集合的方法,包括按用户需求的主题领域建立网络领域分类的步骤、构建领域分类网络的步骤、基于领域分类网络查询节点子集合的步骤,其特征在于领域分类网络是基于领域的P2P覆盖网络,其具体构建步骤包括:
1)网络起始节点设置其路由表内容,并建立虚拟组,路由表内容主要包括节点实体信息,所述实体信息包含节点ID和IP地址,其中节点ID为用户名@域名,域名由几级组成,各分级之间由圆点“.”隔开,各分级均是具有领域分类含义的文字及字符,虚拟组根据领域分类含义划分为分级的域,
2)节点加入P2P覆盖网络,节点根据分级的域加入领域的P2P覆盖网络,节点加入步骤具体如下:
a)节点A按领域确定要加入的虚拟组,并找到已加入此虚拟组的一个节点;
b)节点A向此节点发送包含节点A实体信息的加入消息,此节点向该虚拟组所有其他节点转发该加入消息;
c)虚拟组每个节点将节点A的实体信息增加到自己的路由表中,同时向节点A发送包含自身节点实体信息的确认消息,节点A将虚拟组每个节点的实体信息增加到自己的路由表中;
d)判断是否是根虚拟组或虚拟组中已有N个节点加入上层虚拟组,若判断结果是,则节点A加入步骤结束,若判断结果否,则找到上一层虚拟组的一个节点,并重复步骤b)~d)。
2)节点离开P2P覆盖网络。
其中节点离开P2P覆盖网络的步骤具体如下:
2a)离开节点B寻找到自己加入的最顶层虚拟组的一个节点;
2b)离开节点B向此节点发送包含节点B实体信息的离开消息;此节点向虚拟组所有其他节点转发该离开消息;
2c)虚拟组每个节点从自己的路由表中将节点B实体信息删除,同时向离开节点B发送确认消息;
2d)判断是否是最底层虚拟组,若判断结果是,则节点B离开步骤结束,若判断结果否,则找到下一层虚拟组的一个节点,并重复步骤2b)~2d)。
其中查询节点子集合的步骤具体如下:
3a)用户根据要查询的领域,用类SQL语言编写查询语句;
3b)用户节点将查询语句解析为目标节点的目标虚拟组域名,和本地SQL语句,并将其放入查询消息中;
3c)用户节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的邻近节点;
3d)邻近的节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的节点;
3e)判断是否是目标虚拟组,若判断结果是,则执行下一步骤,若判断结果否,则重复步骤3d)~3e);
3f)目标虚拟组一节点C对目标虚拟组的所有节点广播查询消息;
3g)目标虚拟组所有节点利用本地SQL语句,查找符合查询条件的信息,并将查找结果返回给查询消息广播节点C,查询消息广播节点C整合查找结果,并发送到用户节点。
其中用类SQL语言编写的查询语句为:
SELECT{*|expr[[AS]c_alias]{,expr[[AS]c_alias]...}}FROMdomainref[WHERE search_condition];
其中expr为节点的查询目标属性列表达式,*代表查找所有属性,[AS]c_alias为expr的别名,domainref为虚拟组域名,search_condition为SQL语言查询语句中的条件表达式。
本发明与现有技术相比具有以下有益效果:本发明的方法采用综合多倍的虚拟树型结构化网络和随机缓存的非结构网络来构建P2P覆盖网络,并以此为基础,采用类SQL语言查找相关的节点子集合,具有按复杂条件查询大规模网络环境下节点的优点,克服了集中式SIP应用的单点失败和通信瓶颈问题,同时克服了其他P2PSIP应用不能按复杂条件查询的缺点。
附图说明
图1为本发明的总流程框图;
图2为本发明构建领域分类网络的流程图;
图3为本发明查询节点子集合的流程图。
具体实施方式
相关术语:
节点:节点为参与多个虚拟分层组的计算机,它具有属性数据库Database(PDB)和路由表。
节点ID(PeerID):为层次式域名表示,例如:Alice@music.popular.Britney.
节点实体(PNE):节点实体指明节点ID(PeerID),IP地址等。
路由表:由许多节点实体组成。
网关角色:具有路由角色的节点担任几个不同层次的虚拟组的网关功能。
网关最上层(GUL):网关角色中最上层虚拟组在虚拟树中的位置。
虚拟组:由节点组成。上层虚拟组由具有网关角色的节点组成。
N倍虚拟组树:由虚拟组形成的树。高层虚拟组由低层具有网关角色的每组N个节点组成。重复此过程,以形成虚拟树。
加入消息:加入节点发送的消息,必须包括加入节点的实体信息。
离开消息:离开节点发送的消息,必须包括离开节点的实体信息。
查询消息:用户查询时发送的消息,必须包括类SQL语句。
参见图1,本发明是一种基于P2P的查找有关节点子集合的方法,包括按用户需求的主题领域建立网络领域分类的步骤、构建领域分类网络的步骤、基于领域分类网络查询节点子集合的步骤。
按用户需求的主题领域建立网络领域分类就是按用户的兴趣划分不同的领域,例如:将音乐分为流行音乐和经典音乐,
参见图2,领域分类网络是基于领域的P2P覆盖网络,具体构建步骤包括:
一、网络起始节点设置其路由表内容,并建立虚拟组,路由表内容主要包括节点实体信息,实体信息包含节点ID和IP地址,其中节点ID为用户名@域名,域名的格式与域名系统(DNS)的格式一致,域名由几级组成,各级之间由圆点“.”隔开,各级均是具有领域分类含义的文字及字符,虚拟组根据领域分类含义划分为分级的域,
二、节点加入P2P覆盖网络,节点根据分级的域加入领域的P2P覆盖网络,节点加入步骤具体如下:
a)节点A按领域确定要加入的虚拟组,并找到已加入此虚拟组的一个节点;
b)节点A向此节点发送包含节点A实体信息的加入消息,此节点向该虚拟组所有其他节点转发该加入消息;
c)虚拟组每个节点将节点A的实体信息增加到自己的路由表中,同时向节点A发送包含自身节点实体信息的确认消息,节点A将虚拟组每个节点的实体信息增加到自己的路由表中;
d)判断是否是根虚拟组或虚拟组中已有N个节点加入上层虚拟组,若判断结果是,则节点A加入步骤结束,若判断结果否,则找到上一层虚拟组的一个节点,并重复步骤b)~d)。
三、节点离开P2P覆盖网络,具体步骤如下:
2a)离开节点B寻找到自己加入的最顶层虚拟组的一个节点;
2b)离开节点B向此节点发送包含节点B实体信息的离开消息;此节点向虚拟组所有其他节点转发该离开消息;
2c)虚拟组每个节点从自己的路由表中将节点B实体信息删除,同时向离开节点B发送确认消息;
2d)判断是否是最底层虚拟组,若判断结果是,则节点B离开步骤结束,若判断结果否,则找到下一层虚拟组的一个节点,并重复步骤2b)~2d)。
四、查询节点子集合的步骤具体如下:
3a)用户根据要查询的领域,用类SQL语言编写查询语句;
3b)用户节点将查询语句解析为目标节点的目标虚拟组域名,和本地SQL语句,并将其放入查询消息中;
3c)用户节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的邻近节点;
3d)邻近的节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的节点;
3e)判断是否是目标虚拟组,若判断结果是,则执行下一步骤,若判断结果否,则重复步骤3d)~3e);
3f)目标虚拟组一节点C对目标虚拟组的所有节点广播查询消息;
3g)目标虚拟组所有节点利用本地SQL语句,查找符合查询条件的信息,并将查找结果返回给查询消息广播节点C,查询消息广播节点C整合查找结果,并发送到用户节点。
用类SQL语言编写的查询语句为:
SELECT{*|expr[[AS]c_alias]{,expr[[AS]c_alias]...}}FROMdomainref[WHERE search_condition];
其中expr为节点的查询的目标属性列表达式,例如peerID(节点属性,意义为节点ID)、AVG(musictime)(在线每次欣赏音乐的平均时间,musictime为节点属性,意义为每次欣赏音乐的时间,AVG为平均函数),*代表查找节点的所有属性,例如,若节点属性包括peerID、IP(IP地址)、Types(类型)等属性,结果应同时包括peerID、IP、Types等属性列,[AS]c_alias为expr的别名,例如:peerID as节点ID,IP as IP地址,Types as节点类型等,domainref为虚拟组域名,例如:Brittany.popular.music,search_condition为SQL语言查询语句中的条件表达式,例如:types=’fan’AND sex=’female’AND age<40;,类SQL语言的查询语句与SQL语言不同在于SQL语言中的FROM后面table改为domainref。
例如:
查找所有的布莱特妮的粉丝的节点ID,IP地址,其虚拟组域名:Brittany.popular.music;
其类SQL语言的查询语句为:
SELECT PeerID,IP FROM Brittany.popular.music where types=″fan″;
查找布莱特妮虚拟组中的Alice的在线每次欣赏音乐的平均时间:
其类SQL语言的查询语句为:
SELECT AVG(musictime)FROM Brittany.popular.music WHEREPeerID=’Alice@Brittany.popular.music’;
查找所有的布莱特妮的年龄小于40岁的女性粉丝的所有属性:
其类SQL语言的查询语句为:
SELECT*FROM Brittany.popular.music WHERE types=’fan’AND sex=’female’AND age<40;
下面以实例详细说明构建领域分类网络和查询节点子集合的过程:
实施例1
构建全球音乐网络:
按用户需求的主题领域建立网络领域分类,例如:将音乐分为流行音乐和经典音乐。域名格式为:音乐家.音乐类别.音乐。如:LiuHuan.Popular.Music或刘欢.流行音乐.音乐。
构建领域分类网络,歌唱家,音乐相关公司,经纪人,消费者,粉丝等加入相关虚拟组。所有用户计算机作为节点按用户域名建立领域的覆盖网络。节点ID为用户名@域名,如:小李@刘欢.流行音乐.音乐。
假设有用户:小李为刘欢的粉丝,其节点ID为小李@刘欢.流行音乐.音乐。所用的电脑IP地址为10.20.2.26;
老王为刘欢的经纪人,其节点ID为老王@刘欢.流行音乐.音乐。所用的电脑IP地址为10.88.5.15;
老张为贝多芬的经纪人,其节点ID为老张@贝多芬.经典音乐.音乐。所用的电脑IP地址为200.10.121.150;
小赵为布莱特妮的消费者,其节点ID为小赵@布莱特妮.流行音乐.音乐。所用的电脑IP地址为150.100.69.112;
未来音像公司为刘欢音乐产品公司,其节点ID为未来音像公司@刘欢.流行音乐.音乐。所用的电脑IP地址为26.109.12.123;
假设老王为建立网络的第一人。按图2,老王电脑为网络起始节点,设置其路由表内容为其节点实体(节点ID:老王@刘欢.流行音乐.音乐,IP地址:10.88.5.15);建立刘欢虚拟组,上层的流行音乐虚拟组和音乐根虚拟组。
小李加入网络。小李按领域确定要加入的虚拟组为刘欢.流行音乐.音乐,并找到已加入刘欢虚拟组的一个节点老王。小李节点向老王节点发送包含小李实体信息(节点ID:小李@刘欢.流行音乐.音乐,IP地址10.20.2.26)的加入消息;老王节点向刘欢虚拟组所有其他节点转发该加入消息(因此时只有老王本身一个节点,故不转发);刘欢虚拟组每个节点(此时只有老王一个节点)将小李节点的实体信息(节点ID:小李@刘欢.流行音乐.音乐,IP地址:10.20.2.26)增加到自己的路由表中,同时向小李节点发送确认消息。小李节点将虚拟组每个节点实体信息(节点ID:老王@刘欢.流行音乐.音乐,IP地址:10.88.5.15)增加到自己的路由表中。假设N为1,因已有1个节点加入上层虚拟组(老王节点),节点加入结束。
老张加入网络。老张按领域确定要加入的虚拟组为贝多芬.经典音乐.音乐,此时网络还不存在贝多芬虚拟组和上层经典音乐虚拟组;所以找到最相近的音乐虚拟组的一个节点老王。老张节点向老王节点发送加入消息(包含老张的实体信息);老王节点向音乐虚拟组所有其他节点转发加入消息(因此时只有一个节点,故不转发);音乐组每个节点(老王)将老张节点的实体信息(节点ID:老张@贝多芬.经典音乐.音乐,IP地址:200.10.121.150)增加到自己的路由表中,同时向老张节点发送确认消息(包含自身的节点信息,在此时只有老王一个节点信息)。老张节点将虚拟组每个节点实体信息(节点ID:老王@刘欢.流行音乐.音乐,IP地址:10.88.5.15)增加到自己的路由表中。并建立下层贝多芬和.经典音乐虚拟组,节点加入结束。
小赵加入网络。小赵按领域确定要加入的虚拟组为布莱特妮.流行音乐.音乐,此时网络还不存在布莱特妮虚拟组;所以找到最相近的流行音乐虚拟组的一个节点老王。小赵节点向老王节点发送加入消息(包含小赵的实体信息);老王节点向流行音乐虚拟组所有其他节点转发加入消息(因此时只有一个节点,故不转发);音乐组每个节点(老王)将小赵节点的实体信息(节点ID:小赵@布莱特妮.流行音乐.音乐,IP地址:150.100.69.112)增加到自己的路由表中,同时向小赵节点发送确认消息。小赵节点将虚拟组每个节点实体信息(节点ID:老王@刘欢.流行音乐.音乐,IP地址:10.88.5.15)增加到自己的路由表中。并建立下层布莱特妮虚拟组,假设N为1,结束。
未来音像公司加入网络。未来音像公司按领域确定要加入的虚拟组为刘欢.流行音乐.音乐,并找到已加入刘欢虚拟组的一个节点小李。未来音像公司向小李节点发送加入消息(包含未来音像公司的实体信息);小李节点向刘欢虚拟组所有其他节点转发加入消息(此时向老王节点转发);虚拟刘欢组每个节点(小李和老王)将未来音像公司节点的实体信息(节点ID:未来音像公司@刘欢.流行音乐.音乐,IP地址:26.109.12.123)增加到自己的路由表中,同时向未来音像公司节点发送确认消息。未来音像公司节点将虚拟组每个节点实体信息(节点ID:老王@刘欢.流行音乐.音乐,IP地址:10.88.5.15和小李@刘欢.流行音乐.音乐,IP地址:10.20.2.26)增加到自己的路由表中。假设N为1,结束。
小赵离开网络。A)小赵节点寻找到自己加入的最顶层虚拟组(此时为流行音乐)的一个节点(老王)。小赵节点向此(老王)节点发送离开消息(包含小赵的实体信息);B)此节点向虚拟组所有其他节点转发离开消息(此时,无其他节点,故不转发)。C)虚拟组每个节点(老王)从自己的路由表中将离开节点小赵实体信息(节点ID:为小赵@布莱特妮.流行音乐.音乐,IP地址:150.100.69.112)删除,同时向离开节点小赵发送确认消息。由于不是最底层虚拟组,虚拟组指向下层虚拟组布莱特妮,转向步骤B),循环一次后,是最底层虚拟组,结束。
查询节点子集合:
查询示例:老张为贝多芬的经纪人,但目前对刘欢感兴趣。想查找所有刘欢的粉丝的所有属性。按图3,老张根据要查询的主题,用类SQL语言编写查询语句。Select*from刘欢.流行音乐.音乐wheretype=“粉丝”;老张节点将查询语句解析为目标节点的虚拟组域名刘欢.流行音乐.音乐,和本地SQL语句,select*from PDBTablewhere type=“粉丝”;并将其放入查询消息中。老张节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的邻近节点老王。此时,老王就是目标虚拟组刘欢的一个节点。老王节点对目标虚拟组所有节点(包括小李和未来音像公司)广播查询消息。目标虚拟组所有节点(包括老王、小李和未来音像公司)利用本地SQL语句,查找符合的信息,(在此,只有小李的属性数据库PDBTable中的类型为粉丝),并将结果返回给老王节点。老王节点整合结果,并发送到老张节点。
实施例2
构建全球医疗咨询网络:
将疾病分类,建立相关的域名。医生、病人、医院、药品生产和销售公司、医疗设备生产和销售公司等加入相关虚拟组。所有用户计算机按用户域名建立领域的覆盖网络。节点加入和离开覆盖网络的步骤依照实施例1所示。
查询示例:查找所有治疗偏头痛的中医医生的所有属性,其虚拟组域名:ChineseMedicalDoctor.Doctor;
类SQL语言的查询语句为:
Select*from ChineseMedicalDoctor.Doctor.Medical whereexpert=“偏头痛”;
实施例3
构建全球电子商务网络:
将电子商务业务进行分类。商务提供者、消费者等加入相关虚拟组。所有用户计算机按用户域名建立领域的覆盖网络。节点加入和离开覆盖网络的步骤依照实施例1所示。
查询示例:查找杭州所有的三星级宾馆的所有属性。其虚拟组域名:Zhejiang.China.Hotel.eComence;
类SQL语言的查询语句为:
Select*from Zhejiang.China.Hotel.eComence where place=“Hangzhou”and quality=“3star”;
实施例4
构建全球新媒体网络:
将媒体进行分类。媒体提供者、消费者等加入相关虚拟组。所有用户计算机按用户域名建立领域的覆盖网络。节点加入和离开覆盖网络的步骤依照实施例1所示。
查询示例:查找所有的关于北京奥运会相关新闻的作者的所有属性。其虚拟组域名:sports.newMedia;
类SQL语言的查询语句为:
Select*from sports.newMedia where topic=“BeijingOlympic”and type=“arthor”;
实施例5
构建全球多媒体网络:
将多媒体进行分类。多媒体提供者、消费者等加入相关虚拟组,所有用户计算机按用户域名建立领域的覆盖网络。节点加入和离开覆盖网络的步骤依照实施例1所示。
查询示例:查找所有对中央10台感兴趣的观众的所有属性。其虚拟组域名:TV.multiMedia;
类SQL语言的查询语句为:
SELECT*FROM TV.multiMedia where types=″fan″andTVchannel=“CCTV10”;
实施例6
构建全球即时消息网络:
将用户进行分类。所有用户计算机按用户域名建立领域的覆盖网络。用户间直接进行查找与连接。节点加入和离开覆盖网络的步骤依照实施例1所示。
查询示例:查找所有年龄在20到30岁,地点在杭州的用户的所有属性。其虚拟组域名:Zhejiang.IM;
类SQL语言的查询语句为:
SELECT*FROM Zhejiang.IM where place=″Hangzhou″andage between 20 and 30;
实施例7
构建全球IP电话网络。
将用户进行分类。所有用户计算机按用户域名建立领域的覆盖网络。用户间直接进行查找与连接。节点加入和离开覆盖网络的步骤依照实施例1所示。
查询示例:查找在NewYork的alice电话的所有属性。其虚拟组域名:USA.IPPhone;
类SQL语言的查询语句为:
SELECT*FROM USA.IPPhone where user=“alice”place=″NewYork″。

Claims (4)

1、一种基于P2P的查找有关节点子集合的方法,包括按用户需求的主题领域建立网络领域分类的步骤、构建领域分类网络的步骤、基于领域分类网络查询节点子集合的步骤,其特征在于领域分类网络是基于领域的P2P覆盖网络,其具体构建步骤包括:
1)网络起始节点设置其路由表内容,并建立虚拟组,路由表内容主要包括节点实体信息,所述实体信息包含节点ID和IP地址,其中节点ID为用户名@域名,域名由几级组成,各分级之间由圆点“.”隔开,各分级均是具有领域分类含义的文字及字符,虚拟组根据领域分类含义划分为分级的域;
2)节点加入P2P覆盖网络,节点根据分级的域加入领域的P2P覆盖网络,节点加入步骤具体如下:
a)节点A按领域确定要加入的虚拟组,并找到已加入此虚拟组的一个节点;
b)节点A向此节点发送包含节点A实体信息的加入消息,此节点向该虚拟组所有其他节点转发该加入消息;
c)虚拟组每个节点将节点A的实体信息增加到自己的路由表中,同时向节点A发送包含自身节点实体信息的确认消息,节点A将虚拟组每个节点的实体信息增加到自己的路由表中;
d)判断是否是根虚拟组或虚拟组中已有N个节点加入上层虚拟组,若判断结果是,则节点A加入步骤结束,若判断结果否,则找到上一层虚拟组的一个节点,并重复步骤b)~d)。
2)节点离开P2P覆盖网络。
2、如权利要求1所述的一种基于P2P的查找有关节点子集合的方法,其特征在于其中节点离开P2P覆盖网络的步骤具体如下:
2a)离开节点B寻找到自己加入的最顶层虚拟组的一个节点;
2b)离开节点B向此节点发送包含节点B实体信息的离开消息;此节点向虚拟组所有其他节点转发该离开消息;
2c)虚拟组每个节点从自己的路由表中将节点B实体信息删除,同时向离开节点B发送确认消息;
2d)判断是否是最底层虚拟组,若判断结果是,则节点B离开步骤结束,若判断结果否,则找到下一层虚拟组的一个节点,并重复步骤2b)~2d)。
3、如权利要求1或2所述的一种基于P2P的查找有关节点子集合的方法,其特征在于其中查询节点子集合的步骤具体如下:
3a)用户根据要查询的领域,用类SQL语言编写查询语句;
3b)用户节点将查询语句解析为目标节点的目标虚拟组域名,和本地SQL语句,并将其放入查询消息中;
3c)用户节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的邻近节点;
3d)邻近的节点通过查找其路由表,转发查询消息到更接近目标虚拟组域名的节点;
3e)判断是否是目标虚拟组,若判断结果是,则执行下一步骤,若判断结果否,则重复步骤3d)~3e);
3f)目标虚拟组一节点C对目标虚拟组的所有节点广播查询消息;
3g)目标虚拟组所有节点利用本地SQL语句,查找符合查询条件的信息,并将查找结果返回给查询消息广播节点C,查询消息广播节点C整合查找结果,并发送到用户节点。
4、如权利要求3所述的一种基于P2P的查找有关节点子集合的方法,其特征在于其中用类SQL语言编写的查询语句为:
SELECT{*|expr[[AS]c_alias]{,expr[[AS]c_alias]...}}FROMdomainref[WHERE search_condition];
其中expr为节点的查询目标属性列表达式,*代表查找所有属性,[AS]c_alias为expr的别名,domainref为虚拟组域名,searcn_condition为SQL语言查询语句中的条件表达式。
CN2009100962477A 2009-03-02 2009-03-02 一种基于p2p的查找有关节点子集合的方法 Expired - Fee Related CN101505272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100962477A CN101505272B (zh) 2009-03-02 2009-03-02 一种基于p2p的查找有关节点子集合的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100962477A CN101505272B (zh) 2009-03-02 2009-03-02 一种基于p2p的查找有关节点子集合的方法

Publications (2)

Publication Number Publication Date
CN101505272A true CN101505272A (zh) 2009-08-12
CN101505272B CN101505272B (zh) 2011-04-20

Family

ID=40977346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100962477A Expired - Fee Related CN101505272B (zh) 2009-03-02 2009-03-02 一种基于p2p的查找有关节点子集合的方法

Country Status (1)

Country Link
CN (1) CN101505272B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011069387A1 (zh) * 2009-12-10 2011-06-16 北京邮电大学 一种网络节点及其数据查询方法和索引更新方法
CN104702690A (zh) * 2015-03-12 2015-06-10 杭州域竹科技有限公司 基于虚拟树型网络技术的分布式高性能计算的方法
WO2015165104A1 (zh) * 2014-04-30 2015-11-05 华为技术有限公司 查找装置及方法
CN105407087A (zh) * 2015-10-28 2016-03-16 杭州数梦工场科技有限公司 消息发送方法和装置
CN105574100A (zh) * 2015-12-14 2016-05-11 杭州域竹科技有限公司 一种自动构建分布式分类搜索引擎的方法
CN110990926A (zh) * 2019-12-02 2020-04-10 中国水利水电科学研究院 一种基于面积修正率的城市地表建筑水动力学仿真方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385443C (zh) * 2005-09-09 2008-04-30 湖南大学 一种基于分档Bloom Filter结构的查询方法
WO2008028319A1 (en) * 2006-08-25 2008-03-13 Thomson Licensing Search method for an unstructured p2p network

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011069387A1 (zh) * 2009-12-10 2011-06-16 北京邮电大学 一种网络节点及其数据查询方法和索引更新方法
WO2015165104A1 (zh) * 2014-04-30 2015-11-05 华为技术有限公司 查找装置及方法
US10812382B2 (en) 2014-04-30 2020-10-20 Huawei Technologies Co., Ltd. Search apparatus and method
US11606295B2 (en) 2014-04-30 2023-03-14 Huawei Technologies Co., Ltd. Search apparatus and method
CN104702690A (zh) * 2015-03-12 2015-06-10 杭州域竹科技有限公司 基于虚拟树型网络技术的分布式高性能计算的方法
CN105407087A (zh) * 2015-10-28 2016-03-16 杭州数梦工场科技有限公司 消息发送方法和装置
CN105407087B (zh) * 2015-10-28 2019-01-01 杭州数梦工场科技有限公司 消息发送方法和装置
CN105574100A (zh) * 2015-12-14 2016-05-11 杭州域竹科技有限公司 一种自动构建分布式分类搜索引擎的方法
CN110990926A (zh) * 2019-12-02 2020-04-10 中国水利水电科学研究院 一种基于面积修正率的城市地表建筑水动力学仿真方法
CN110990926B (zh) * 2019-12-02 2021-11-30 中国水利水电科学研究院 一种基于面积修正率的城市地表建筑水动力学仿真方法

Also Published As

Publication number Publication date
CN101505272B (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
CN101505272B (zh) 一种基于p2p的查找有关节点子集合的方法
CN104618506B (zh) 一种众包的内容分发网络系统、方法与装置
AU2004220808B2 (en) A meta-search WEB service-based architecture for peer-to-peer collaboration and voice-over-IP
Aekaterinidis et al. Pastrystrings: A comprehensive content-based publish/subscribe dht network
US7139760B2 (en) Peer-to-peer record structure and query language for searching and discovery thereof
US20080077529A1 (en) Interactive community of interest profile
WO2016045361A1 (zh) 视频会议呼叫方法、系统及服务器
WO2013029471A1 (zh) 一种基于地理位置的网络信息推送方法及装置
WO2013189338A2 (zh) 实现会话发起协议多业务服务器分发的方法、装置及系统
Li et al. SCOM: A scalable content centric network architecture with mobility support
CN101616182B (zh) 一种构建具有语义的p2p网络的方法
CN101075266B (zh) 搜索系统和搜索方法
KR100456618B1 (ko) 인트라 도메인에서의 등록 정보 동기화 방법
Zhao et al. Enhancing service location protocol for efficiency, scalability and advanced discovery
CN103036908A (zh) 一种p2p节点分组方法
CN1878117A (zh) 一种结合分级结构对等网络和会话发起协议的通信方法
Ghamri-Doudane et al. Enhanced DHT-based P2P architecture for effective resource discovery and management
Chang et al. Social VoD: A social feature-based P2P system
Lan et al. Evaluating the perceived quality of infrastructure-less VoIP
Brunkhorst et al. Semantic caching in schema-based p2p-networks
Fantar et al. Exploiting locality using geographic coordinates and semantic proximity in Chord
Li et al. Locality-aware peer-to-peer SIP
Ahson et al. P2p SIP: network architecture and resource location strategy
Tan A peer-to-peer based web service discovery mechanism
Ma et al. Peer-to-peer based multimedia digital library

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Hangzhou Yu Zhu Science and Technology Ltd.

Assignor: Zhejiang Sci-Tech University

Contract record no.: 2011330001328

Denomination of invention: Method for searching related node subset on the basis of P2P

Granted publication date: 20110420

License type: Exclusive License

Open date: 20090812

Record date: 20111107

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110420

Termination date: 20210302