专利名称::一种基于结构化p2p应用服务平台及其实现方法
技术领域:
:本发明为一种基于结构化P2P应用服务平台及其实现方法,属于计算才几网络的系统平台领域。
背景技术:
:P2P技术经过若干年的快速发展,已经在当今的Internet中得到了广泛的应用。目前的应用主要集中在两个方面,一方面是4是供文件或元数据的存储服务,从开始集中式的音乐文件P2P服务Napster到完全分布式的Gnutella,Freenet,以及一些文件共享系统,如CFS(CooperativeFileSystem),PAST,OceanStore,其中Napster是集中式结构,Gnutella和Freenet使用的是完全分布式的非结构化P2P,而CFS,PAST和OceanStore则采用了P2P中出现较晚的结构化P2P模型。P2P应用的另一方面是流媒体,它利用P2P技术在互联网上实现大规模流媒体的直播和点播服务。最早的P2P视频直播系统是由卡耐基梅隆大学张辉等人开发的端系统组播(EndSystemMulticast,ESM)。该系统把所有用户节点组成一棵以流媒体服务器为根节点的应用层组播树,通过用户节点上的数据中继,实现多媒体数据的实时传输。P2P直播技术进入商业阶段的标志是CoolSreaming系统的成功。2004年欧洲杯期间,香港科技大学张欣研等人开发的CoolSreaming原型系统在Pfanet匚ab上试用获得成功。在CoolSreaming的鼓舞下,中国流媒体直播技术的发展非常迅速,目前国内已有超过10家网站采用自行研发的软件提供P2P流媒体直播业务,包括PPLive、PPstream、QQLive、UUsee、Rox、Mysee等。流媒体P2P系统大多采用的是-种非结构兆P2P模型。现有的这两种主要应用考虑的都是一种面向特定应用,从而开发出的系统平台方案,而没有考虑到应用之间的共同特点,可以#4居这个共同点开发出一个通用的P2P系统平台,为所有应用提供服务。目前比较成熟的结构化P2P(即DHT)模型主要包括CAN、Chord、Pastry、Tapestry、Kademlia等。虽然各种模型的具体路由方法和节点组织方案有所不同,但总体来说,结构化P2P都是使用Hash对服务信息和节点进行编码,形成一定的编码空间,然后根据此编码空间对信息进行明确的查找,它可以在有限的跳数内(0(logkN),其中k是一个与路由表设置相关的参数,N为网络中总节点数)到达目的节点。相比于非结构化P2P,结构化P2P拓朴开销小,节点互相访问更加方便,此外,由于每个节点的路由表中有多个表项,即每个节点在Overlay上与多个节点间存在连接,因此具有较强的容错性,在网络动态变化的情况下仍然能够保证信息的可靠传输。下面以Chord为例介绍一下结构化P2P的节点组织方式和信息查找的路由过程。Chord使用一个定长m位的标识符来标识每个节点,节点按标识符从小到大顺时针组成一个环形结构,如图1所示,节点加入Chord时随机产生(如哈希IP地址)一个标识符Nodeld,根据此Nodeld由网络中已有的引导节点通过寻路找到维护此Nodeld所在区域的目标节点,划分它的区域给新节点,更新其路由表,并帮助新节点建立一个新的路由表,称为finger表,其中包括m个后继节点和一个前驱节点,前驱节点即Nodeld比本节点小的最近节点,设本节点Nodeld为n,则m个后继节点分别为Nodeld大于"+2°,"+2',',"+2m的第一个节点,國中例举tNodecT为8的节点的finger表(m=6)。进行信息的插入和查找时,由信息的关键字key哈希得到一个标识ID,由发起的节点从其后继表中选取Nodeld小于此ID的最接近的节点,然后由此节点继续按同样的方式进行寻路,直到某个节点发现此ID在本节点Nodeld和其前驱节点的Nodeld之间,则由此节点进行信息的插入和查找操作。图1例举了由Nodeld为8的节点N8查找ID为54的信息的寻路过程。当前具有代表达性的结构化P2P平台主要有下面两个。1.OpenDHTOpenDHT是一个底层使用DHT技术(bamboo模型)的公用的服务平台,与通常的DHT模型不同的是,使用OpenDHT的节点不需要加入DHT,而只需要通过OpenDHT提供的接口即可享受该分布式平台所提供的服务。OpenDHT提供了一些接口,客户节点通过Put()接口进行信息的发布,通过Get()接口获取信息,通过Remove()接口在信息超期之前删除信息,实际上所有客户节点发布的信息都是存储在分布式的DHT平台上,OpenDHT不关心DHT节点上存储的内容,只是确保从发布的信息中找到和查找匹配的结果。此外它还提供了Join()接口用于某项服务的节点加入这个组,Lookup()接口用于寻找某个组中某个ID的直接后继。根据OpenDHT提供的这些接口,目前已经有包括文件共享、域名服务、組播等十多项应用。OpenDHT作为一个P2P底层平台,在实现上与传统的文件共享系统没有多少差别,只是存储的内容不再局限于文件,DHT平台被动地接受信息的发布和获取,获取信息需要客户主动发起查询,没有^fc信息的发布与获取紧密地联系起来,并且也没有提供网络测量和路由优化功能。2.Gr3rwy清华大学开发的Granary是服务型广域存储系统,在用户看来,Granary是一个巨大的存储池,用户付费使用其存储空间。Granary也使用了DHT,其下层的overlay网络使用Pastry。Granary提供基于对象Object的存储方式,具体方式是以对象为基本的数据单元,对象由若干属性attribute组成。Object的模式类型称为Class,Class规定了Object含有哪些属性,每个Object必须隶属于某个存在的Class。Granary用于提供存储服务,因此存储空间按照用户绝对隔离开,用户之间无法共享数据,并且用户之间无法公用同样的类。一个类的基本标识为"用户|ClassName",—个对象的基本标识为"用户|ClassName|ObjectName",其中ClassName、ObjectName都是字符串。对象数据存储在hash("用户ICIassNamelObjectName")得到的编号为No的节点(Objectguider)上,记录了存放该对象的m个备夕分的m个节点(ObjectNode)的IP。类数据存储在hash("用户ICIassName")得到的编号为Nc的节点(Classguider)上,记录了存放该类模型数据的m个备份的m个节点(ClassNode)的IP,每个ClassNode不仅存放该类的模型数据,还负责处理查询操作。Granary把所有的存储数据都组织成结构化数据的形式,提供的数据查询类似于对象数据库的查询,是根据用户给出的对各个属性的限制条件在同类对象中找出符合条件,具有一定的查询语义。但是通常来说属于一个类Class的数据量很大,Granary中的ClassNode不4叉要存放Class类型数据,还要存放大量的索引表、倒排表以及所有对象数据的一个备份,这就需要ClassNode在周围继续找出辅助的节点帮助它存储这些数据,由于数据量巨大,在信息查找时效率也比较低。对于比较复杂的查询,Granary这种方式可以有较好的效果。但是对于服务发布订阅事件通知这种类型的应用,订阅者通常只关心订阅的服务类型和若干个简单的关键字描述的信息,如用户希望订阅所有有关NBA比赛中和姚明有关的新闻,虽然Granary也支持类似这种的事件驱动的数据访问模式,但实际上Granary的这种存储方'式对倌'息查询的复杂方式会使得事件通知变得非常低效。
发明内容本发明的技术解决问题克服现有技术的不足,提供一种基于结构化P2P应用服务平台及其实现方法,该平台及其实现方法结构简单、效率高、扩展性好;此外,还提供了API服务,运营商和上层应用通过平台提供的分布式网络管理对节点组网、网络测量、路由优化进行管理配置和信息获取。本发明的技术解决方案一种基于结构化P2P应用服务平台,其特征在于包括自动组网模块、分布式网络测量模块、路由优化模块、API接口、分布式网络管理模块,其中自动组网模块,为本发明的核心,自动组网模块,包括DHT组网、RON组网和API功能三个部分,DHT组网是把网络中的节点按照结构化P2P的方式组织起来,为API功能实现提供节点间的邻居关系;RON组网是按照节点所在的自治域等地理信息组织节点,为分布式网络测量模块和路由优化模块提供节点邻居关系;API功能实现具体完成API接口向上层应用提供的各种功能;分布式网络测量模块,获取自动组网模块中RON组网中每个节点和其RON邻居节点间路径状态的信息,提供给路由优化模块;路由优化模块,根据分布式网络测量模块的测量结果来对经过RON邻居间的数据提供优化路径,避免拥塞;分布式网络管理模块,对自动组网、分布式网络测量和路由优化模块进行基本信息的配置,并可以获得这些模块运行过程中的各种状态;API接口,完成上层应用和自动组网模块的交互,向上层提供的功能具体由自动组网模块实现。一种基于结构化P2P应用服务平台实现方法,其特征在于首先由分布式网络管理模块向性能数据库中插X与红动组网模块、分布式网络测量模块和路由优化模块相关的配置信息;自动组网模块需要获取本机IP地址,并从性能数据库中读取相关配置信息,对相关参数进行设置;分布式网络测量模块和路由优化模块也分别从性能数据库中读取所需信息,进行相关配置;然后自动组讽模块开始向网络中发出路由表维护相关的报文来获取结构化P2P,即DHT和RON重叠网中邻居节点的信息,并定时检查更新,同时将相关的路由表即邻居节点信息存储到性能数据库中,分布式网络测量模块向RON邻居节点发送探测报文队列,根据探测报文队列的发送参数和接收参数计算出测量结果,并将结果写入性能数据库;路由优化模块从性能数据库中读取网络测量得到的结果,在RON邻居节点间进行分发,获得分发信息的节点将相关信息在性能数据库中进行更新,此外路由优化模块周期性地从数据库中获取优化要求和性能数据,进行优化策略选择;自动组网模块还向上层应用提供了API功能,实现内容发布、检索,服务发布、订阅和事件通知功能,上层应用调用API接口,通过API把请求和相关参数传递给自动组网模块,自动组网模块根据DHT邻居节点路由表找到最终进行处理的节点,进行相关操作并返回处理结果。本发明与现有技术相比的优点在于(1)本发明由于底层结构使用结构化P2P模型来组织提供平台服务的节点,使得整个平台的扩展性很好,平台的功能实现简单、高效。(2)本发明把各种应用划分为两种,一种是内容相关的,另一种是服务相关的,针对这两类应用,本发明通过提供基础API接口和服务扩展API接口实现其相关功能,大部分的应用都可以利用这些接口,在本发明的平台上进一步开发相关的应用,而且实现简单高效,系统扩展性好,可同时容纳多种不同类型的应厨同时使用而不互相干扰。目前国内外的大部分类似的系统平台都只实现了内容发布和检索的功能,而本发明的系统同时还实现了服务相关的功能,特别是事件通知,使得服务发布、更新或删除时,系统可以主动通知订阅服务者。虽然除了本发明的平台之外,清华大学的Granary系统也有类似的功能,但是它的实现过于复杂,对于服务发布订阅事件通知这种类型的应用,订阅者通常只关心订阅的服务类型和若干个简单的关键字描述的信息,清华大学Granary的这种存储方式对信息查询的复杂方式会使得事件通知变得非常低效。(3)本发明提供了网络测量的功能,测量网络延时、丢包率、剩余带宽,可以向运营商提供测量结果,并通过测量结果为数据传输提供不同策略的优化路径,避免使用传统路径出现的路径拥塞。(4)本发明提供了分布式网络管理的功能,运营商和上层应用通过此功能对节点组网、网络测量、路由优化进行管理配置和信息荻取,通过分布式网络管理可以使本平台的管理人员方便地对平台进行管理和信息查看,及时解决使用过程中出现的任何问题。图1为Chord模型;图2为本发听的给构纽成框图;图3为本发明的工作流程图;图4为本发明的自动组网模块组成框图;图5为本发明的自动组网模块DHT组网实现方式图;图6为本发明的自动组网模块RON组网实现方式图;图7为本发明的自动组网模块API功能实现方式图;图8为本发明的分布式网络测量模块实现方式图;图9为本发明的路由优化模块实现方式图;图10为本发明的分布式网络管理模块实现方式图。具体实施方式如图2所示,本发明整个平台分为5个部分,分別是自动组网模块、分布式网络测量模块、路由优化模块、API接口和分布式网络管理模块。自动组网模块,一方面负责将节点按结构化P2P的方式组织成一个重叠网,即DHT组网,DHT组网中的每个节点拥有一个DHT路由表,表项为本节点在DHT组网中的邻居;另一方面,还负责把各f治蘇内的节点组织成一个RON网,从而多个自治域形成多个RON,即RON组网,RON组网中每个节点拥有一个RON路由表,表项为本节点在RON组网中的邻居,RON组网分别为分布式网络测量和路由优化提供节点间的邻居关系;同时自动组网模块还通过API接口向上层应用提供统一内容的API服务。分布式网络测量模块,获取自动组网模块中RON组网中每个节点和其RON邻居节点间路径状态的信息,提供给路由优化模块;路由优化模块,根据分布式网络测量模块的测量结果来对经过RON邻居间的数据提供优化路径,避免拥塞;分布式网络管理模块,对自动组网、分布式网络测量和路由优化模块进行基本信息的配置,并可以获得这些模块运行过程中的各种状态;API接口,完成上层应用和自动组网模块的交互,向上层提供的功能具体由自动组网模块实现,实现的功能有内容发布、检索,服务发布、订阅和事件通知等。此外本发明平台还可以包括性能数据库,用于存放自动组网模块、分布式网络测量模块和路由优化模块相关的配置信息,自动组网模块路由表信息及测量和优化结果信息。实际中,自动组网模块、分布式网络测量模块、路由优化模块和分布式网络管理模块分别对应一个进程,对于同时参与DHT网络和RON网络的节点需要启动这四个进程,而只参与DHT网络的节点只需要启动自动组网模块的进程即可。API接口可以作为动态链接库的形式发布给客户端,上层行进一步的应用开发。如图3所示,本发明的工作过程为自动组网模块、分布式网络测量、路由优化和分布式网络管理各自具有一个单独的进程,平台启动时这几个进程分别启动,并进行各自的初始化操作。首先由分布式网络管理模块向性能数据库中插入与自动组网模块、分布式网络测量模块和路由优化模块相关的配置信息,图3中S1所示。自动组网模块需要获取本机IP地址,并从性能数据库中读取相关配置信息,对相关参数进行设置,图3中'S2所示。分布式网络测量模块和路由优化模块也分别从性能数据库中读取所需信息,进行相关配置,图3中S3和S4所示。此后自动组网模块开始向网络中发出路由表维护相关的报文来获取结构化P2P,即DHT和RON重叠网中邻居节点的信息,并定时检查更新,同时将相关的路由表即邻居节点信息存储到性能数据库中,图3中S5所示。分布式网络测量模块向RON邻居节点发送探测报文队列,根据探测报文队列的发送参数和接收参数计算出测量结果,并将结果写入性能数据库,图3中S6所示。路由优化模块从性能数据库中读取网络测量得到的结果,在RON邻居节点间进行分发,获得分发信息的节点将相关信息在性能数据库中进行更新,此外路由优化模块周期性地从数据库中获取优化要求和性能数据,进行优化策略选择,图3中S7所示。自动组网模块还向上层应用提供了API,实现内容发布、检索,服务发布、订阅和事件通知等功能。上层应用调用API,通过API把请求和相关参数传递给自动组网模块,自动组网模块根据DHT邻居节点路由表找到最终进行处理的节点,进行相关操作并返回处理结果,图3中S8所示。如图4所示,本发明中的自动组网从功能上包括DHT组网、RON组网和API功能实现几个部分,DHT组网就是把网络中的节点按照结构化P2P的方式组织起来,为API功能实现提供节点间的邻居关系。RON组网是按照节点所在的自治域等地理信息组织节点,为分布式网络测量和路由优化提供节点邻居关系。APf功能实现具体完成API接口向上层应用提供的各种功能。其中自动组网模块DHT组网实现方式如图5所示。首先启动自动组网模块的进程,进行初始化及一些相关参数的配置,此后开始进行DHT组网的过程,根据DHT相关协议,通过查询DHT路由表向邻居节点发送维护路由表相关的消息,同时接收其DHT邻居节点发来的维护路由表消息,并判断该消息是应该自己处理还是转发给其它节点,如果应该本节点处理,则返回本节点的信息给发起維护路由表消息的节点,否则通过查询路浙表把消息转发给下一跳节点,之后进行RON组网和处理API请求,最后回到进程开头循环上述工作过程直到进程结束。自动组网模块RON组网实现方式如图6所示。首先是启动自动组网模块进程,进行初始化和参数配置,并进行前面所述的DHT组网,之后进行RON组网过程。通过查询RON路由表向邻居节点发送维护路由表消息,同时接收其RON邻居节点发来的维护路由表消息,收到消息后即返回本节点的信息给发出消息的节点,此后处理API请求,最后回到进程开头循环上述工作过程直到进程结束。自动组网模块除了完成节点间自组织形成网络的功能外,还需要根据向上层应用提供的API的调用来进行相应处理,即进行API功能实现,其实现方式如图7所示。进程在完成DHT和RON组网后,需要接收接口API发来的相关请求,并根据路由表判断是否应该本节点处理,如果是则根据不同API的要求进行相关处理,并返回结果,对于内容发布、服务发布和服务订阅请求,把相关内容插入本地数据库,并返回操作是否成功;对于内容检索和服务获取请求,根据关键字在本地数据库查询,并返回查询结—果;对于内容删除、服务取消发布和服务取消订阅请求,从本地凄史据库中把相应内容删除,并返回操作是否成功;对于服务更新请求,把相关内容在本地数据库中进行更新,并返回操作是否成功。否则查询DHT路由表把消息发往下一跳节点。当请求为本节点处理时,如果相关事件为需要进行事件通知的事件,包括服务发布、服务更新和服务删除事件,则进行事件通知的相关处理,即通知订阅服务的节点,否则回到进程开头循环上述工作过程,直至进程结束为止。如图8所示,本发明中的分布式网络测量模块由网络测量控制模块、测量队列构造模块、接收模块、网络测量处理模块和发送模块组成。首先由发送方的网络测量控制模块从数据库中读出待测路径的信息以及要测量的参数,如图中S9所示,然后网络测量控制模块调用测量队列构^t模块,构造测量报文队列,如图中S10所示,测量队列构造模块根据要测量的参数选择相应的算法构造探测报文队列,完成后,调用发送才莫块发送探测报文队列,如图中S11所示,发送模块根据测量报文队列的相关参数向接收方逐个发送探测报文,如图中S12所示,接收方的接收模块收到探测报文队列后,将其传递给网络测量处理模块,如图中S13所示,网络测量处理模块根据探测报文队列的发送参数和接收参数计算出测量结果,并调用发送模块反馈给发送方,如图中S14所示,接收方的发送模块将测量结果反馈给发送方,如图中S15所示,发送方的接收模块从接收方收到测量结果后提交给网络测量控制模块,如图中S16所示,网络测量控制模块将测量结果进行整理并写入数据库,如图中S17所示,在前面测量的基础上,网络测量控制模块调用发送模块将所测量路径的状态信息向整个RON网络发布,如图中S18所示,发送模块向RON网络的所有节点发送路径状态信息,如图中S19所示,最终各节点收到该信息后,更新自己的数据库。如图9所示,本发明中的路由优化模块由性能数据处理模块、链路状态分发模块、物理路由表处理模块、策略路由表处理模块、隧道处理模块和iptables处理模块组成。首先由分布式网络管理模块将相关的配置信息等插入数据库,并从数据库中获取路由优化相关信息,如图中S20所示。此后链路状态分发模块通过调用性能数据处理模块从数据库中获取性能数据,如图中S21所示,同时链路状态分发模块调用物理路由表处理模块从数据库中获取本节点的物理路由表信息,如图中S22所示,节点1构建数据包,将获取的性能数据和物理路由表信息发送给另一节点2的链路状态分发模块,如图中S23所示,节点2的链路数据'分发才莫块在收到节点1发来的消息后,调用性能数据处理模块将性能数据插入数据库,如图中S24所示,同时调用物理路由表处理模块,将物理路由表信息也插入数据库,如图中S25所示。在上述的基础上,策略路由表处理模块周期性从数据库获取优化要求,进行优化策略选择并调用隧道处理模块,如图中S26所示,最终隧道处理模块根据策略路由处理模块的策略调用iptables处理模块插入规则,同时将相关信息插入数据库,如图中S27所示。本发明中API接口主要由自动组网模块向上层应用提供,便于上层应用利用本平台进行进一步的应用开发,接口API分为基础API接口和应用服务扩展API接口。基础API接口实现内容发布和检索功能,用户通过内容发布API可以将索引或者自己存储的内容信息发布到DHT网络节点上,而内容检索API则使用户通过提供的关键字信息从DHT网络中查找到相关的结果,提供精确匹配、模糊查找、多关键字检索等功能。基础API接口包括a.内容发布接口(Put(key,value,serviceid,t,p)):此接口用于客户节点将索引或自己存储的内容信息发布到DHT网络节点上。其中serviceid标识发布的信息类型,key是对发布信息的关键字描述,value是发布的信息索引或实际的存储内容,t为发布信息的有效期,p为客户端的上层应用提供的函数指针,用于收到DHT网络发来的Put回应消息时调用,给出相应信息,以便上层应用进行处理。b.内容检索接口(Get(key,serviceid'p,from,num)):此接口用于客户节点进行信息查询。其中key为查询信息的关键字描述,serviceid标识查询信息的类型,p为上层应用提供的函数指针,在收到Get回应时调用,from表示从满足条件的第几个结果开始返回,num表示最多返回多少结果。c.内容删除接口(Remove(key,value,serviceid,p)):此接口用于客户节点删除先前发布的信息,参数含义类似内容发布接口。应用服务扩展API接口提供了服务发布、订蹄及事件通知等功能。用户不需要加入结构化P2P网络,只需要通过提供的相关接口,即可以实现服务的发布(Publish)、更新(Update)、取消发布(UnPublish)、订阅(Subscribe)、取消订阅(UnSubscribe)、获取(Obtain),结构化P2P平台本身可以将相同的服务的发布和订阅信息关联在一起,当服务到达或更新时,对订阅服务的节点进行事件通知。应用服务扩展API接口包括a.月良务发布接口(Publish(key,value,serviceid,t,p)):》匕才矣口用于客户节点将服务发布在DHT网络中。其中serviceid标识服务类型,key是对服务相应的关键字描述,value是发布服务的客户节点的相关信息,如节点的IP地址等,t为发布服务的有效期,p为客户端的上层应用提供的函数指针,用于收到DHT网络发来的Publish回应消息时调用,给出相应信息,以便上层应用进行处理。b.月良务更#斤才妾口(Update(key'value,serviceid,t,p)):jt匕才妻口用于客户节点更新先前发布的服务,参数含义同上。c.月l务取消发布接口(UnPublish(key,value,serviceid,t,p)):此接口用于客户节点取消先前发布的服务,参数含义同上。d.月良务i丁阅才妻口(Subscribe(key,serviceid,t,p1,p2)):jt匕接口用于客户节点进行服务的订阅。serviceid表示订阅的服务类型,key描述了希望订阅的服务的关键字信息,结构化P2P平台可根据serviceid和key把相关的发布服务和订阅服务关联起来,当相关的服务到达或更新时主动进行事件通知,t为订阅的有效期,p1和p2均为上层应用提供的函数指针,只不过一个用于Subscribe回应消息时调用,一个用于事件通知时调用,并由上层应用进行不同的处理。e.月良务取消i丁阅冲妾口(UnSubscribe(key,servicekJ,p)):jt匕4妾口用于客户节点取消先前订阅的服务,参数含义同上。f.服务获取接口(Obtain(key,serviceid,p)):此接口用于客户节点主动获取相关服务的信息,参数含义同上。如图10所示,本发明的分布式网络管理模块由三个子模块组成,即自动组网管理模块、网络测量管理模块和路由优化管理模块,分别对自动组网、分布式网络测量和路由优化进行管理和配置。自动组网管理模块负责与自动组网模块进行通信,对其相关参数进行配置,以及获得网络中节点组织的当前状态,包括节点IP地址、节点连通性(即节点当前路由表)、节点生存状态(即节点是否在线等)等,此外还对应用服务进行管理,如服务的注册,服务注册信息的获取,以及对使用此平台的用户信息进行管理,拒绝非法用户的操作。网络测量管理模块负责与分布式网络测量模块进行通信,对其参数等信息进行配置,选择对延时、丟包率、剩余带宽中的哪些值进行测量,设定测量时使用的数据包的大小,使用的网络端口号等,以及测量结果进行分析和信息获取。路由优化管理模块负责与路由优化模块进行通信,并对其进行管理,设定其优化策略和表项配置等,并可以获得通过路由优化为运营商提供的优化可选路径。权利要求1、一种基于结构化P2P应用服务平台,其特征在于包括自动组网模块、分布式网络测量模块、路由优化模块、API接口、分布式网络管理模块,其中自动组网模块,为本发明的核心,包括DHT组网、RON组网和API功能三个部分,DHT组网是把网络中的节点按照结构化P2P的方式组织起来,为API功能实现提供节点间的邻居关系;RON组网是按照节点所在的自治域等地理信息组织节点,为分布式网络测量模块和路由优化模块提供节点邻居关系;API功能实现具体完成API接口向上层应用提供的各种功能;分布式网络测量模块,获取自动组网模块中RON组网中每个节点和其RON邻居节点间路径状态的信息,提供给路由优化模块;路由优化模块,根据分布式网络测量模块的测量结果来对经过RON邻居间的数据提供优化路径,避免拥塞;分布式网络管理模块,对自动组网、分布式网络测量和路由优化模块进行基本信息的配置,并获得这些模块运行过程中的各种状态;API接口,完成上层应用和自动组网模块的交互,向上层提供的功能具体由自动组网模块实现。2、根据权利要求1所述的基于结构化P2P应用服务平台,其特征在于还包括性能数据库,用于存放自动组网模块、分布式网络测量模块和路由优化模块相关的配置信息,自动组网模块路由表信息及测量和优化结果信息。3、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的API功能有基础API和服务扩展API,其中基础API主要用于内容发布和检索,服务扩展API主要用于服务发布、订阅和事件通知。4、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的自动组网模块中的DHT组网实现过程为根据DHT相关协议,通过查询DWT路由表向邻居节点发送维护路由表相关的消息,同时接收其DHT邻居节点发来的维护路由表消息,并判断该消息是应该自己处理还是转发给其它节点,如果应该本节点处理,则返回本节点的信息给发起维护路由表消息的节点,否则通过查询路由表把消息转发给下一跳节点,之后进行RON组网和处理API请求,最后回到进程开头循环上述工作过程直到进程结束。5、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的自动组网模块中RON组网在前面所述的DHT组网之后进行,实现过程为通过查询RON路由表向邻居节点发送维护路由表消息,同时接收其RON邻居节点发来的维护路由表消息,收到消息后即返回本节点的信息给发出消息的节点,此后处理API功能请求,最后回到进程开头循环上述工作过程直到进程结束。6、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的自动组网模块中的API功能实现过程为(1)在完成DHT组网和RON组网后,接收API接口发来的相关请求,并根据路由表判断是否应该本节点处理;(2)如果应该在本节点处理,则根据不同API功能的要求进行相关处理,并返回结果;对于内容发布、服务发布和服务订阅请求,并返回操作是否成功;对于内容检索和服务获取请求,根据关键字在本地性能数据库查询,并返回查询结果;对子内容删除、服务取消发布和服务取消订阅请求,从本地性能数据库中把相应内容删除,并返回操作是否成功;对于服务更新请求,把相关内容在本地性能数据库中进行更新,并返回操作是否成功;(3)如果不应该在本节点处理,查询DHT路由表把消息发往下一跳节点;(4)当请求为本节点处理时,如果相关事件为需要进行事件通知的事件,包括服务发布、服务更新和服务删除事件,则进行事件通知的相关处理,即通知订阅服务的节点,否则回到进程开头循环上述工作过程,直至进程结束为止。7、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的分布式网络测量模块由网络测量控制模块、测量队列构造模块、接收模块、网络测量处理模块和发送模块组成,其实现方式为发送方的网络测量控制模块从数据库中读出待测路径的信息以及要测量的参数,并调用测量队列构造模块,构造测量报文队列,通过发送模块发送探测报文队列,接收方的接收模块收到探测报文队列后,由网络测量处理模块计算出测量结果,并调用发送模块反馈给发送方,发送方的接收模块从接收方收到测量结果后由网络测量控制模块将测量结果进行整理并写入数据库;网络测量控制模块调用发送模块将所测量路径的状态信息向整个RON组网发布,最终各节点收到该信息后,更新自己的性能数据库。8、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的路由优化模块由性能数据处理模块、链路状态分发模块、物理路由表处理模块、策略路由表处理模块、隧道处理模块和iptables处理模块组成,其实现过程为首先由分布式网络管理模块将相关的配置信息等插入性能数据库,并从性能数据库中获取路由优化相关信息,此后链路状态分发模块通过调用性能数据处理模块从数据库中获取性能数据,同时链路状态分发模块通过性能数据处理模块和物理路由表处理模块从数据库中获取本节点的性能数据和物理路由表信息,发送给另一节点;另一节点的链路数据分发模块在收到后,通过性能数据处理模块和物理路由表处理模块,将性能数据和物理路由表信息插入性能数据库;策略路由表处理模块周期性从性能数据库获取优化要求,进行优化策略选择,并通过隧道处理模块调用iptables处理模块插入规则,同时将相关信息插入性能数据库。9、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的分布式网络管理模块由自动组网管理模块、网络测量管理模块和路由优化管理模块三个模块组成,分别对自动组网、分布式网络测量和路由优化进行管理和配置,其中自动组网管理模块负责与自动组网模块进行通信,对其相关参数进行配置,以及获得网络中节点组织的当前状态,包括节点IP地址、节点连通性,即节点当前路由表、节点生存状态,即节点是否在线等等,此外还对应用服务进行管理,包括服务的注册,服务注册信息的获取,以及对使用此平台的用户信息进行管理,拒绝非法用户的操作。网络测量管理模块负责与分布式网络测量模块进行通信,对其参数等信息进行配置,选择对延时、丢包率、剩余带宽中的哪些值进行测量,设定测量时使用的数据包的大小,使用的网络端口号等,以及测量结果进行分析和信息获取。路由优化管理模块负责与路由优化模块进行通信,并对其进行管理,设定其优化策略和表项配置等,并可以获得通过路由优化为运营商提供的优化可选路径。10、根据权利要求1或2所述的基于结构化P2P应用服务平台,其特征在于所述的API包括基础API接口和应用服务扩展API接口,基础API接口实现内容发布和检索功能,用户通过内容发布API可以将索引或者自己存储的内容信息发布到DHT组网节点上,内容检索API则使用户通过提供的关键字信息从DHT组网中查找到相关的结果,提供精确匹配、模糊查找、多关键字检索等功能;应用服务扩展API接口提供了服务发布、订阅及事件通知功能,用户不需要加入结构化P2P网络,只需要通过提供的相关接口,即可以实现服务的发布、更新、取消发布、订阅、取消订阅、获取,将相同的服务的发布和订阅信息关联在一起,当服务到达或更新时,对订阅服务的节点进行事件通知。11、根据权利要求7所述的基于结构化P2P应用服务平台,其特征在于所述的基础API包括内容发布接口Put、内容检索接口Get、内容删除接口Remove,Put接口用于客户将内容信息发布到此应用服务平台中,Get接口用于客户从此应用服务平台中获得相关内容信息,Remove接口用于客户从应應服务平台删.除相应的内容发布信息。12、根据权利要求1所述的基于结构化P2P应用服务平台,其特征在于所述的应用服务扩展API接口包括服务发布接口Publish、服务更新接口Update、服务取消发布接口UnPublish、服务订阅接口Subscribe、服务取消订阅接口Unsubscribe接口和服务获取接口Obtain;Publish接口用于提供服务的客户节点向应用服务平台发布服务信息,同时事件通知订阅此服务的客户节点服务到达,Update接口用于客户节点更新先前发布的服务信息,同时应用服务平台事件通知订阅此服务的客户节点服务发生变化,UnPublish接口用于客户节点取消先前发布的服务,同时应用服务平台事件通知订阅此服务的客户节点服撤消,Subscribe接口用于客户节点订阅某个服务,UnSubscribe接口用于客户节点取消先前订阅的服务,Obtain接口用于客户节点获取某个发布服务的相关信息。13、一种基于结构化P2P应用服务平台实现方法,其特征在于首先由分布式网络管理模块向性能数据库中插入与自动组网模块、分布式网络测量模块和路由优化模块相关的配置信息;自动组网模块需要获取本机IP地址,并从性能数据库中读取相关配置信息,对相关参数进行设置;分布式网络测量模块和路由优化模块也分别从性能数据库中读取所需信息,进行相关配置;然后自动组网模块开始向网络中发出路由表维护相关的报文来获取结构化P2P,即DHT,及RON重叠网中邻居节点的信息,并定时检查更新,同时将相关的路由表即邻唇节点信息存储到性能数据库中,分布式网络测量模块向RON邻居节点发送探测报文队列,根据探测报文队列的发送参数和接收参数计算出测量结果,并将结果写入性能数据库;路由优化模块从性能数据库中读取网络测量;f寻封的结果,在RON邻居节点间'进才亍'分发,获得分发信息的节点将相关信息在性能数据库中进行更新,此外路由优化模块周期性地从数据库中获取优化要求和性能数据,进行优化策略选择;自动组网模块还向上层应用提供了API功能,实现内容发布、检索,服务发布、订阅和事件通知功能,上层应用调用APh通过API把请求和相关参数传递给自动组网模块,自动组网模块根据DHT邻居节点路由表找到最终进行处理的节点,进行相关操作并返回处理结果。全文摘要一种基于结构化P2P应用服务平台及其实现方法,自动组网模块包括DHT组网、RON组网和API功能三个部分,DHT组网是把网络中的节点按照结构化P2P的方式组织起来,为API功能实现提供节点间的邻居关系;RON组网按照节点所在的自治域等地理信息组织节点,为分布式网络测量模块和路由优化模块提供节点邻居关系;API功能实现具体完成API接口向上层应用提供的各种功能;分布式网络测量模块,获取自动组网模块中RON组网中每个节点和其RON邻居节点间路径状态的信息;路由优化模块对经过RON邻居间的数据提供优化路径;分布式网络管理模块分别对自动组网、分布式网络测量和路由优化模块进行基本信息的配置,并获得这些模块运行过程中的各种状态;API接口完成上层应用和自动组网模块的交互。本发明结构简单、易于实现、效率高,且扩展性强的优点。文档编号H04L12/54GK101119271SQ200710118310公开日2008年2月6日申请日期2007年7月5日优先权日2007年7月5日发明者健周,旭周,洪佩琳,范鹏飞,覃毅芳申请人:中国科学技术大学;中国科学院声学研究所