P2P模式下的资源定位技术探究
2012-01-09李瑞兴
李瑞兴
(福州教育学院 计算机系,福建 福州 350108)
P2P模式下的资源定位技术探究
李瑞兴
(福州教育学院 计算机系,福建 福州 350108)
在P2P模式的网络环境中,如何迅速的对节点资源进行定位和建立连接,是网络技术研究的重点之一.针对P2P混合型模式的资源定位和搜索算法中存在冗余消息等问题,通过算法分析,提出两种改进思路和方法:一是减少查询的冗余消息;二是查询到的信息直接发送给起始的查询节点.通过仿真实验,表明改进后的算法,减少了查询消息冗余和提高了搜索速度.
P2P;搜索算法;RVP;Peer定位
随着社会信息化的深入,网络规模的迅速扩大,在网的主机数目越来越多,这就使得网内的总资源更加丰富.C/S架构是一种重要的互联网模式,在该模式下提供信息的角色主要由网内的诸多Web服务器担任,这样的模式有一个弊端就是整个Internet网络都主要靠仅有的服务器节点来提供服务,造成了许多个人主机中的重要资源不能共享,利用率不高.网络中的各个主机节点在P2P模式中,扮演着服务器和被服务者的双重角色,所有的节点权利和其所处地位都是一样的,这样使得每个节点上的信息资源利用率大大提高[1].
P2P这种网络模型中的各个节点是对等的关系[2],具有一样的处理数据和提供服务能力的网络节点会相互协同,一起承担网络中的任务.在该模式下完成任务是由分布的主机提供资源和技术,主要任务涉及:数据信息的共享、分布处理和计算、平台信息服务、节点间相互协作和通信等[3].如何迅速的对节点资源进行定位,同时能够确定快捷合理的路径以建立连接是实现P2P网络技术的关键所在.由于在分布式的网络中节点间关系无论在逻辑上还是能力上都是对等的,所以就削减甚至取消了服务器的作用.
1 P2P网络的基本结构
当前主要有三种P2P网络结构:分布式的P2P结构、集中式的P2P结构和混合式的P2P结构[4].
1.1 分布式
该模式下的网络中仅仅存在对等的网络节点,中央服务器不再被采用,所有网路节点接入网络的方式是自行接入,然后再与相邻的网络节点进行连接.在这种分布式的P2P模式下,节点间进行资源共享和信息查询是采用广播的方式,这就造成了较大的网络数据流量,导致进行节点信息定位和资源搜索的速度很慢,响应时间也大大加长.
1.2 集中式
集中式的结构采用的算法是快速搜索,该算法的主要特性是性能高、弹性高、排队响应所用的时间较短;该模式灵活性差,过于依靠中央控制点.如果它出现了故障,服务便会被迫中断.在这种模式中,为网络中对等节点提供主要目录服务的是与节点互相连接的中央目录服务器.该模式的工作流程为,首先在目录服务器上对等节点进行自身信息的注册,要想对其他的节点进行定位或者进行相关信息的查询,可以访问目录服务器获得消息.
1.3 混合式
这种结构是以上两种结构的综合,兼具了查找快速和中心弱化的特点.在进行资源定位搜索的时候是分层次进行查找的,这样使得资源的分布情况和它的存储位置能够迅速地被锁定,任务进行排队时间缩短,搜索性能得到了很大的改进.响应时间也大大减小,网络自身的性能和弹性得到提高,主要是归功于超级节点的存在.
该模式下中央服务器被分布在网络中的超级节点代替,根据连接带宽大小、计算处理能力强弱、网络等待时间长短的差异等[5],将节点划分为不同的类型.普通节点是其中一种类型,它和另一种超级节点共同组成一个自治的簇,簇中的节点分布结构是普通网络节点以超级节点为中心进行围绕.超级节点间相连接的方式是分布式P2P网络结构,簇内采用集中式进行连接.
2 P2P资源定位技术
P2P技术应用领域广泛,包括了信息搜索,文件交换,信息资源共享,分布式数据处理和计算,实时通信,协同工作,网络游戏开发等[6].要想实现以上功能,就要处理好资源定位问题,找到合理的搜索定位算法.
信息资源快速定位的常用方法主要是“地址查询”.网络中每个资源的定位主要依赖于标识符,其次还要考虑到包含该资源位置的地址指针,二者共同起到了寻位作用.资源信息标识符如表1所示:
表1 标识符说明
系统会将<OID,P>定位信息保存,当网络用户要对资源进行访问的时候,根据保存的位置信息,以OID为依据来对P进行查询,进而达到了资源的定位.
2.1 集中目录定位方式
在该定位方式中,资源位置的索引信息集中进行记录,这些信息会由一个与服务器很相似的节点提供.
1)个人主机中资源要与网络中其他节点共享时,要先对自己的资源进行注册,由索引服务器记录好注册信息,资源位置信息<OID,P>.许多的定位信息保存在索引服务器中,包括了资源的地址指针列表和位置标识符.
2)网络用户要对自己所需的资源进行查找时,首先进行索引服务器的查询,查询依据是资源标识符,然后服务器会将该资源的地址指针返回,用户通过返回的信息对资源定位.
3)资源的所在位置定位后,开始在节点间进行网络资源的查询和下载等,此时索引服务器是不参与该通信过程的.如图1所示,其中双向箭头表示资源的下载,单项箭头表示资源的定位查找.
该种定位方式自身有优点,但也存在弊端.较为明显的缺点是:该方式与C/S模式很相似[7],过于依赖仅有的一些索引服务器,单点故障造成的影响很大,可扩展性较差.该方式的主要优点是:实现容易,方法简单.
2.2 泛洪请求的资源定位方式
该模式中是不存在中央服务器的,用户发出的信息和请求主要是借助相互连接的网络节点进行传递,节点收到请求后有两种处理方式,如果该节点满足查询条件和要求,就会响应请求,如果不能够满足发来的请求时,就会将该请求广播出去,主要是将信息发送给与自己互相连接的网络节点,这样的处理方式一直进行,直到发出的请求得到了某个节点的响应为止.当然广播也会使带宽遭到浪费,所以限制广播的跳数在7~8内,请求超过了广播循环的有限次数之后,节点未对其响应,将会为起始请求节点提供信息[8].图2为该种方式的结构展示:
图1 集中式结构图
图2 泛洪请求模式结构
泛洪的主要代表就是Gnutella协议,该协议为了控制传递的请求消息数量的快速增长制定了很多控制机制:
1)路径标识符
为能够指引返回的通讯消息按照原来的路线返回并防止消息在网络节点间循环,设定了路径标识符.
2)UID消息标识符
消息有时会出现重复的传播,指多次到达同一个节点.为了避免该情况,设计了消息的唯一标识.
3)消息生存周期
TTL即为消息的生存周期,消息形成的起初为TTL赋予初值.TTL主要目的是为了控制消息的生命周期,从而实现了消息在网络中传播的实际时间,消息中也包含了UID,标识符在各个消息中是不同的.
以上控制机制的主要目的是为了确保消息在网络进行传播的时候不会失去控制,从而保证Gnutella网络能够运行正常[9].
泛洪请求式的主要缺点是扩展性较差,但是也有很多的优点:可靠性高,在小范围内执行的效率比较高.如果较多的超级节点在系统中存在的话,带宽的浪费情况可以大大改善.
3 资源定位搜索算法与改进
P2P有多种模式,分布型、集中型和混合型等,下面将分析混合型模式的网络信息资源定位和搜索算法,找出存在的弊端,提出改进策略.要求改进的算法兼备原算法的优点,而且自身的适应性良好,可扩展性好,搜索效率高,冗余信息少.改进的算法中超级节点在处理查询消息的时候,是进行单次处理,忽略掉其他冗余消息,查询结果和反馈信息最终都会传递给起始的信息查询节点.
3.1 搜索定位算法
实现搜索定位算法有两种策略,分别是节点部分连接的方式和节点全连接的方式.
3.1.1 节点间采用不完全连接的方式
超级节点简称为RVP,当RVP要进行消息的查询和转发时,只有与起始RVP相邻的节点才会收到消息,然后在本地进行查询,起始RVP接收查询结果,而且结果沿着原路发送给它.
如图3所示,中间的超级节点RVP A进行查询转发的时候仅仅向它的两个相邻RVP发送了请求信息,回馈信息被原路反向传送给起始查询节点.不完全连接的最大弊端就是信息搜索和查询的速度较慢,与全连接方式相比较它的搜索范围也相对较小.该方式削减了信息查询次数,总体性好,网络连接数也大大减少.
3.1.2 全连接方式
RVP在该种方式下查询信息或者转发信息时,会请求相邻的RVP,然后它们做出响应.如图4所示,以RVP A为中心,它是信息请求的起始节点,与其相邻的RVP将转发它的查询请求信息.接收最终结果的对象是起始节点RVP A,接收请求的RVP一旦搜索到满足条件的结果会将其发送给最初发出请求的节点.
3.2 算法改进策略
某个网络节点在同一个路径进行重复的转发或对同一个查询请求进行反复的处理,那么这些被反复处理的消息就是冗余消息.这造成了较长的响应时间,导致信息搜索和定位速度减慢,较大的网络流量,起始查询节点承担的任务加重等问题.解决方法如下:
1)查询消息到达了超级节点之后,如果是消息首次到达,则节点进行本地信息的搜索查询或者消息的转发,如果消息并非第一次到达该节点,则超级节点不会对查询请求作出反应,冗余的查询消息就被很好地避免了.
2)查询到的信息结果将不再沿原来的路线返回到起始查询节点,而是直接发送给起始的查询节点,使得查询反馈的速度得到很大的提高.
3.3 算法改进描述
改进后的算法进行查询时的信息处理过程方式如图5所示,描述如下:
图3 不完全连接方式消息传递方式
图4 全连接方式消息传递方式
图5 改进后的查询请求与转发方式
1)为了记录首先到达节点的查询消息,每个消息设置一个唯一的标识符ID,并设置了一个查询消息的目录表,网络中的超级节点配有自己的消息记录表.消息表如表2所示:
表2 消息表概况
2)当某个节点接收到查询消息后,以消息信息表为依据首先对到达的查询信息进行判断,看该RVP是否是首次到达,只有首次到达的信息才会在本地进行转发和查询.
3)在本地得到查询结果之后,不是将结果发给进行查询的超级节点,而是直接将结果反馈给起始进行查询的对等点.
4)在图5中,边缘节点peer发出了查询请求消息,本地RVP B接收到了该请求,进行本地查询并作出相应的处理.但是也可能超级节点B查询失败或无结果,它就会将收到的查询请求进行转发,只能转给与它相邻的对象,最后接收查询结果的是边缘Peer,若某一节点根据要求的条件进行查询得到了结果,就会将查询结果发送给边缘Peer.
5)边缘Peer得到反馈回来的查询结果后,会将相关信息发送给所有的本地RVP.这样,一样的查询请求就不会重复出现,查询速度也有很大的提升.
4 实验仿真分析
采用NS-2网络仿真器对改进算法进行验证,对比改进前后综合性能的变化情况.主要的实验数据分析对象是查询延时和消息冗余量,这是混合P2P网络模式的两个网络性能指标,对改进后的结果返回和查询请求转发算法进行综合对比和分析.NS2是一种可以进行网络模拟的软件,利用gt-itm和packet-level在NS2上建立拓扑结构[10].
实验过程:
1)对NS2进行安装,从而进行模拟,利用GT-ITM对拓扑结构进行建立.
2)数据参数的修改配置:为了转换gt-itm的输出形式,从而变成的NS2形式,对修改文件sgb2ns进行编译之后,将其转移到gt-itm/bin这个名称的子目录下,从而实现sgb2ns在目录gt-itm下的正常运行.实验模拟设备和数据参数如表3所示:
表3 实验模拟设备及数据参数配置
在数据源的各个端节点上,为了能够产生固定速率的数据流,对网络带宽进行了相关设置,保证了数据包能够有序并高效率地进行传输.
实验模拟结果如图6和图7所示,分别是消息冗余和结果延迟算法改进前后的关系图对比.
图6 跳数和冗余量的关系图
图7 返回的查询结果延迟与跳数的关系图
表4记录了在延迟时间和消息冗余方面,算法改进前后两种方式的在网络中的最后一跳时的数据信息.
表4 算法改进前后的数据对比
实验结果表明,改进后的查询定位方式不但兼备了原来P2P混合模式的许多优点,还包括了RVP对来自同一个网络节点的数据查询请求,只在首次进行处理,减少了一半左右的冗余查询消息.
6 结论
P2P网络模式应用有良好的前景,其资源定位与搜索技术对网络的性能有重要的影响.为了迅速的对节点资源进行定位和建立连接,改进搜索定位算法策略,通过有效减少查询的冗余消息和查询到的信息直接发送给起始的查询节点(而不是原路返回),可以提高查询信息反馈的速度.研究结果表明,对于混合P2P模式中存在的消息冗余等问题,有较好的改进效果.
[1] 张春红.P2P技术全面解析[M].北京:人民邮电出版社,2010:10-35
[2] Karl A,Magdalena P.Improving data access in P2P systems[J].IEEE Internet Computing,2002,6(1):58-67
[3] 邢小良.P2P技术及其应用[M].北京:人民邮电出版社,2008:43-69
[4] 蔡 康.P2P对等网络原理与应用[M].北京:科学出版社,2011:2-24
[5] 赵治国,丁琳,谭敏生.基于询问—应答策略的Gnutella资源搜索算法的改进[J].计算机工程与设计,2008(7):1 694-1 697
[6] 周功业,黎书生.新一代网络计算模型——P2P及其JXTA体系结构的设计与实现[J].计算机应用研究,2002(9):139-142
[7] Beverly Yang,Hector Garcia-Molina.Improving searchinPeer-to-Peer networks[R].Technical report,Stanford University.March 2002:152-166
[8] 管 磊.P2P技术揭秘—P2P网络技术原理与典型系统开发[M].北京:清华大学出版社,2011:35-67
[9] 王 菁.P2P系统中资源管理机制的研究[D].北京:中国科学技术大学,2007:15-41
[10] 殷 炜,蒋卓明,陈 刚,许榕生.基于一簇多超级结点的混合P2P网络模型[J].计算工程,2009(2):112-115
The Research to Resource Positioning Technology of P2P Mode
Li Ruixing
(Department of Computer,Fuzhou Institute of Education,Fuzhou 350108,China)
In the P2P mode network environment,one of the key points to the study of network technology is how to positioning and connecting the node resources.For the problems of P2P hybrid model's resources location and the redundant messages in the search algorithm,this paper provides two kinds of improved ideas and methods.One is reduce the query redundancy messages,and the other is sent the inquired messages directly to the start of the query node.The simulated experiment proved that the improved algorithm reduced the query message redundancy,and improved the search speed.
P2P;search algorithm;RVP;Peer positioning
张丽萍】
1672-2027(2012)03-0077-05
TP393
A
2012-06-28
李瑞兴(1962-),男,福建福州人,福州教育学院高级讲师,从事计算机网络技术研究.