服务器、对等网络系统、路由与转移资源键值的方法

文档序号:7647157阅读:134来源:国知局

专利名称::服务器、对等网络系统、路由与转移资源键值的方法
技术领域
:本发明涉及一种服务器、对等网络系统、路由与转移资源键值的方法,尤其涉及一种用于结构化对等网络中的服务器,以及通过该服务器能快速查找资源键值的结构化对等网络,该对等网络中为查找资源键值的节点路由的方法,以及该对等网络中节点加入或退出时转移资源键值的方法。
背景技术
:对等网络即P2P(Peer-to-Peer,简称P2P)网络,改变了传统的客户机/服务器模式。在P2P网络中,文件资源存储于各个节点,这些节点在网络中的地位是对等的,文件直接在节点间进行传输,网络中的每个节点既可以给其它节点提供服务,又可以接受其它节点提供的服务。依照节点对资源的存储和搜索方式的不同,P2P网络可以分为结构化P2P网络与非结构化P2P网络两大类。非结构化P2P网络中,每个节点只存储自身的资源,并不知道其它资源都存储在哪个节点上,当节点需要在P2P网络中获取资源时,采用泛洪的方式查找资源。结构化P2P网络采用DHT(DistributedHashTable,分布式哈希算法,简称DHT)算法进行资源的存储和查找。DHT算法的核心思想是通过将资源(即存储对象)的特征(即关键字)经过哈希运算,得到资源键值(Key),资源的分布存储依据键值来进行,键值与实际存储资源的节点描述信息如IP地址等相对应存储在节点中,只要找到保存资源键值的节点,即可根据二者的对应关系找到保存资源的节点。结构化P2P网络通过哈希算法生成范围大小相同的节点标识符号NodeID和文件资源的键值,每个节点存储一部分邻居节点的列表,同时存储本节点NodeID与前向节点NodeID之间范围的4建值(Key)。其中,前向节点相对于每个节点是唯一的,且每一节点的NodeID都大于各自前向节点的NodeID,节点NodeID及其前向节点NodeID之间的差距最小。当节点需要获取资源时,它們将资源的关键字进行DHT运算,得到资源的键值后,根据存储的邻居节点列表信息,逐跳找到存储资源键值的节点,通过资源的键值最终找到资源。当结构化P2P网络中查找资源时,才艮据节点的fingertable(指针表)以及由DHT运算得到的资源键值,便可查找到保存该资源键值的节点,从而根据保存的资源键值与保存资源的节点描述信息的对应关系,找到所需的资源。fingertable可以减少查找键值的跳数,提高查找资源键值的效率。上述方案存在的缺陷在于,非结构化P2P网络采用洪泛资源查找方式不能保证最终能够找到资源;虽然结构化P2P网络通过资源键值最终找到资源,相比非结构化P2P网络资源搜索的效率有一定地提高,但是,在某些实时业务中,如V0IP,用户接续时间短,资源搜索效率仍然难以满足要求。并且由于Chord环中,每个节点只保存了一部分节点信息,因此在查找资源键值时,需要经过多跳才能找到保存此键值的节点。其他的结构化P2P使用的算法与Chord类似,同样需要经过多跳才能正确地找到保存资源键值的节点。另夕卜,由于P2P网络是一个开放式的网络,恶意节点或bug(程序中存在的破坏网络正常运转能力的问题或缺陷)节点可能导致错误的节点路由信息,最终导致不能正确地找到保存资源键值的节点。
发明内容本发明实施例的主要目的在于针对现有技术的不足提出一种服务器,能够根据保存的节点NodeID和节点状态信息及结构化对等网络中节点查询资源键值的请求,将请求查询资源键值的节点路由到保存资源键值的节点。本发明实施例的另一目的在于针对现有技术的不足提出一种对等网络系统,以保证对等网络能够快速查找到保存资源键值的节点。本发明实施例的又一目的在于针对现有技术的不足提出一种对等网络中路由的方法,以使得对等网络中的节点能够快速查找到保存资源键值的节点,从而找到正确的资源。本发明实施例的再一目的在于针对现有技术的不足提出一种转移资源键值的方法,以保证对等网络中的节点能够正确地查找到保存资源键值的节点。为实现上述主要目的,本发明实施例提供了一种服务器,该服务器包括路由处理模块及与之相连的存储模块;所述存储模块保存结构化对等网络中所有的节点NodeID和节点状态信息;所述路由处理模块用于根据所述存储模块保存的节点NodeID和节点状态信息,将所述结构化对等网络中查询资源键值的节点路由到保所述资源键值的节点。这样,结构化对等网络中的节点就可以通过上述技术方案中的服务器路由到保存资源键值的节点。为了进一步确保路由的可靠性,上述技术方案中,路由处理模块还进一步连接有节点检测模块,用于定期检测对等网络系统中的节点是否正常,对于检测到的非正常节点实现应用层保活,服务器可根据保活情况及时更新节点的NodeID以及节点的状态信息。为实现上述另一目的,本发明实施例提供了一种对等网络系统,该系统包括结构化对等网络,其中,所述结构化对等网络中配置服务器,所述服务器与所述结构化对等网络中所有的节点信号连接,所述服务器根据保存的所述结构化对等网络所有节点NodeID以及节点状态信息,以及所述结构化对等网络中节点发出的查询资源键值请求,将请求查询资源键值的节点路由到保存所述资源键值的节点。这样,对等网络系统中的节点通过服务器查找资源键值时,服务器根据存储的所有节点的NodeID以及节点的状态信息,就直接将节点路由到了保存资源键值的节点,大大节省了路由时间,加快了查找资源键值的时间。上述对等网络系统方案中,通过服务器,节点可以快速、准确地跳到保存资源键值的节点,进而获取所需资源。为实现上述又一目的,本发明实施例提供了一种对等网络中路由的方法,该方法包括以下步骤步骤1、对等网络中的服务器接收到节点发起的查询资源键值的请求后,根据请求消息中的资源键值以及保存的节点NodeID,查找到保存所述资源键值的节点;步骤2、所述服务器将发起查询请求的节点路由到查找到的节点。发起查询请求的节点通过服务器和查找到的节点这两跳就找到了所要查找的资源键值,大大节省了路由时间,提高了结构化对等网络中查找资源的效率。为实现上述再一目的,本发明实施例提供了一种对等网络中转移资源键值的方法,包括以下步骤新加入的节点向其后继节点发出复制资源键值的请求;所述后继节点将所述节点负责的资源键值发送给所述节点;所述后继节点删除所述节点负责的资源键值;所述节点接收到所述资源键值后,通知服务器资源键值转移完成。新加入节点负责的资源键值在该节点加入时复制到该节点,并通知了服务器,这样服务器就能及时更新保存的节点NodeID和节点的状态信息,保证了节点能够通过服务器快速、正确地查找保存资源键值的节点。为实现上述再一目的,本发明实施例还提供了一种对等网络中转移资源键值的方法,包括以下步骤一节点将其负责的所有资源键值发送给其后继节点;所述后继节点接收到所述资源键值后,通知所述节点;所述节点接收到所述后继节点的通知后,将退出的消息通知服务器。节点退出结构化对等网络系统前,将其保存的资源键值复制到其后继节点,并通知服务器,使得服务器能够及时更新保存的节点NodeID和节点的状态信息,保证了节点能够通过服务器快速、正确地查找保存资源键值的节点。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。图1为本发明服务器一较佳实施例的结构示意图;图2为本发明服务器另一较佳实施例的结构示意图;图3为本发明对等网络系统较佳实施例的结构示意图;图4为本发明对等网络中路由方法较佳实施例所在的对等网络结构示意图;图5为本发明对等网络中路由方法较佳实施例的流程图;图6为本发明对等网络中路由方法中确保路由可靠性的流程图;图7为本发明对等网络中路由方法中在节点非正常退出情况下查找正确保存资源4建值节点的流程图。具体实施方式为区别资源键值与节点的标识符号,将资源键值标识符号前加K,节点的标识符号前加N。图1为本发明服务器一较佳实施例的结构示意图,服务器S包括路由处理模块Sl及与之相连的存储模块S2;存储模块S2保存结构化对等网络中所有的节点NodeID和节点状态信息;路由处理模块Sl用于根据存储模块Sl保存的节点NodeID和节点状态信息,将结构化对等网络中查询资源键值的节点路由到保存资源键值的节点。图2为本发明服务器另一较佳实施例的结构示意图,本实施例在图1实施例的基础上,增加了节点检测模块S3,节点检测模块S3与路由处理模块Sl相连,定期检测对等网络系统中的节点是否正常,对于检测到的非正常节点实现应用层保活。这样,路由处理模块S1可根据保活情况及时更新节点的NodeID以及节点的状态信息,进一步确保了服务器S路由的可靠性。图3为本发明对等网络系统较佳实施例的结构示意图,在结构化P2P网络中配置服务器S,服务器S与结构化对等网络中的所有节点NO、N1和N3信号连接,以根据保存的节点NodeID以及节点状态信息、以及节点NO、Nl或N3发出的查询资源键值的请求,将查询资源键值的节点直接路由到保存资源键值的节点,这样资源键值的查找只需路由服务器S和保存资源键值的节点两跳就可以完成,大大节省了路由时间,加快了查找资源键值的时间。这样,P2P网络中的每个节点可以通过服务器S实现快速地查找资源键值。同时,当结构化P2P网络由于存在恶意节点或bug节点,而不能正确地查找资源键值时,每个节点可以通过服务器S完成正确的资源键值查找。假设ra-3的结构化P2P网络中共有5个节点NO、Nl、N3、N5、N7,如图4所示,则节点NO保存资源键值KO;节点Nl保存资源键值Kl;节点N3保存资源鍵值K1、K2、K3;节点N5保存资源键值K4、K5;节点N7保存资源键值K6、K7。当节点N1查找资源键值K6时,如图5所示,具体执行以下步骤步骤101、服务器S根据节点Nl的请求找到保存资源键值K6的节点,具体包括以下两步步骤1011、节点Nl向服务器S发起查询资源键值K6的请求;步骤1012、服务器S接收到节点Nl发起查询资源键值K6的请求后,将保存的结构化P2P网络中所有的节点NodeID与请求消息中的资源键值K6的进行比较,NodeID不小于6且最接近6的节点N7即为保存资源键值K6的节点;当没有节点N时,则NodeID最小的节点NO即为保存资源键值K6的节点。本实施例中,查找到保存资源键值K6的节点为N7;步骤102、服务器S将发起查询请求的节点Nl路由到查找到的节点N7。这样,节点Nl只经过服务器S和节点N7两跳就找到了资源键值K6,大大节省了查询资源键值的时间。并且,上述路由方法并不改变现有结构化P2P网络中查找资源键值的路由方法,两种路由方式可以互为备份。即在结构化P2P网络中存在恶意节点或bug节点而不能正确地找到保存资源键值的节点情况下,查询资源键值的节点能够使用上述路由方法正确地找到保存资源键值的节点;在服务器S路由工作负荷较大的情况下,查询资源键值的节点也可以使用现有路由方法查找保存资源键值的节点,从而根据键值与实际保存资源节点的对应关系找到相应的资源。为了进一步确^f呆路由的可靠性,如图6所示,步骤101与步骤102之间进一步包括步骤201、服务器S向查找到的节点N7发送是否保存资源键值K6的请求报文;步骤202、节点N7向服务器S返回请求结果。在服务器S接收到返回结果后,将节点N:t路由到节点N7,进一步保证了节点Nl能够在节点N7找到资源键值K6。当节点N7退出对等网络系统,其保存的资源键值K6转移到了其后继节点NO中,而节点N7未通知服务器S其退出。则服务器S在未知的情况下,并没有从全局节点列表中删除节点N7,服务器S仍然会向节点N7发起请求查询是否保存资源键值K6的请求,此时,如图7所示,即步骤202与步骤102之间进一步包括步骤301、服务器S判断是否接收到请求结果,若是,即表示节点N7未退出网络,则执行步骤102;若否,即表示节点N7退出了网络,导致响应超时或保活消息超时,则执行步骤302;步骤302、服务器S向接收请求报文的节点N7的后继节点NO发起是否保存资源键值K6的请求报文;再次:执行步骤301,判断NO否返回请求结杲,即判断NO是否正常,若节点NO正常,则执行步骤102,将节点Nl路由到节点NO;否则,执行步骤302,服务器S继续向节点NO的后继节点发起是否保存资源键值K6的请求,再执行步骤301,重复操作,直至服务器S接收到请求结果。从而在节点N7非正常退出对等网络的情况下,节点Nl仍正确地找到了保存资源键值K6的节点NO。当现有网络中新加入了节点N6,键值K6转移到了节点N6,而新加入的节点并未通知服务器S,此种情况下,服务器S并未保存节点N6,当节点Nl查找资源键值K6时,服务器S查找到的节点仍然是N7,此时,为了保证节点Nl仍能正确地找到保存资源键值为K6的节点,在步骤301中,当服务器S接收到请求结果即节点N7的响应后,还要进一步判断请求结果是否确认保存资源键值K6,若是,则表明资源键值K6未发生转移,执行步骤102;若否,即表明节点N6加入后,资源键值K6已发生转移,则服务器S检测对等网络中的节点,更新保存的节点NodeID以及节点的状态信息,保存新加入的节点N6,执行步骤IOI,重新查找保存资源键值K6的节点,将节点Nl路由到节点N6。这样,在对等网络系统加入新节点而服务器S未知的情况下,节点N1仍正确地找到了保存资源键值K6的节点N6。经过上迷步骤后,节点N1正确地跳到了保存资源键值K6的节点,从而正确、快速地找到了资源键值K6。对等网络中,资源键值的转移发生在节点加入和退出这两种情况下。当节点N6加入对等网络中,可以执行以下步骤完成资源键值的转移新加入的节点N6向其后继节点N7发出复制资源键值K6的请求;后继节点N7将节点N6负责的资源键值K6发送给节点N6;后继节点N7删除节点N6负责的资源键值K6。从而完成了资源4定值K6的转移。节点N6接收到资源键值K6后,进一步通知服务器S,这样,服务器S就及时地更新了保存的节点NodeID和节点的状态信息,即使不执行步骤201-202、301-302也可正确找到保存资源键值的节点,实现了节点路由的快速、准确性。当节点N7退出对等网络时,可以执行以下步骤完成资源键值的转移节点N7将其负责的所有资源键值K6、K7发送给其后继节点NO;后继节点NO接收到资源键值K6、K7后,通知节点N7。节点N7退出的情况下,完成了资源键值转移。节点N7接收到后继节点N0的通知后,将退出的消息通知服务器S。这样,服务器S就及时地更新了保存的节点NodeID和节点的状态信息,即使不执行步骤201-202、301-302也可正确找到保存资源键值的节点,实现了了节点路由的快速、准确性。从而实现了对等网络中,在节点频繁加入或离开的情况下,仍能快速、正确地找到保存资源键值的节点。本发明通过存储模块存储结构化P2P网络中所有节点的NodeID及节点状态信息,使得查询资源键值的结构化P2P中的节点直接由服务器路由到了保存资源键值的节点。从而,配置了该服务器的对等网络系统中,查询资源键值的节点只需要经过服务器、保存资源键值的节点两跳就完成了键值的查找,大大减少了路由查询时间,加快了路由查询的速度。并且,服务器定期检测结构化P2P网络中的节点,保证了服务器中节点NodeID及节点状态信息的及时更新,进一步保证了通过服务器能够正确地进行资源键值的查找。此外,本发明查找资源键值的技术方案并未改变现有查找资源键值的方法。在存在恶意节点或bug节点的结构化P2P中,当使用现有查找资源键值的方法不能正确地进行资源键值的查找时,可以直接请求服务器,以实现正确地查找。在转移资源键值的过程中,通过在资源键值复制后将节点加入或退出的信息通知服务器,使得服务器能够及时更新保存的节点NodeID及节点状态信息,更加确保了资源4走值路由的正确性和可靠性。当本发明路由以及转移资源键值的方法被做成独立软件时,该软件可以存储在计算机可读取的任何类型存储介质如中。例如该软件可存储在记录介质中,如可插入计算机系统驱动器的圓盘状介质,采用磁性、光学或磁光方式存储信息;或者可存储在计算机系统的固定记录介质如硬盘驱动器,或者一固态计算机存储器中。对等网络系统中,节点计算机系统及服务器可读取存储介质中保存的软件,执行该软件来完成资源键值的查找和转移。最后所应i兑明的是,以上实施例^义用以i兑明本发明的:R术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。权利要求1.一种服务器,其特征在于包括路由处理模块及与之相连的存储模块;所述存储模块保存结构化对等网络中所有的节点NodeID和节点状态信息;所述路由处理模块用于根据所述存储模块保存的节点NodeID和节点状态信息,将所述结构化对等网络中查询资源键值的节点路由到保存所述资源键值的节点。2、根据权利要求1所述的服务器,其特征在于,所述路由处理模块进一步连接有节点检测模块,所述节点检测模块用于定期检测结构化对等网络中的节点。3、一种对等网络系统,包括结构化对等网络,其特征在于,所述结构化对等网络中配置服务器,所述服务器与所述结构化对等网络中所有的节点信号连接,所述服务器根据保存的所述结构化对等网络所有节点NodeID以及节点状态信息,以及所述结构化对等网络中节点发出的查询资源键值请求,将请求查询资源键值的节点路由到保存所述资源键值的节点。4、一种对等网络中路由的方法,其特征在于,包括以下步骤步骤1、对等网络中的服务器接收到节点发起的查询资源键值的请求后,根据请求消息中的资源键值以及保存的节点NodeID,查找到保存所述资源键值的节点;步骤2、所述服务器将发起查询请求的节点路由到查找到的节点。5、根据权利要求4所述的路由的方法,其特征在于,所述步骤1与步骤2之间还包括步骤11、所述服务器向查找到的节点发送是否保存所述资源键值的请求报文;步骤12、查找到的节点向所述服务器返回请求结果。6、根据权利要求5所述的路由的方法,其特征在于,所述步骤12与步骤2之间还包括步骤21、所述服务器判断是否接收到请求结果,若是,则执行步骤2;否则,执行步骤22;步骤22、所述服务器向接收请求报文的节点的后继节点发起是否保存所述资源键值的请求报文,执行步骤21。7、根据权利要求6所述的路由的方法,其特征在于,所述步骤21中,所述服务器接收到请求结果后,进一步判断所述请求结果是否确认保存所述资源键值,若是,则执行步骤2;否则,所述服务器检测对等网络中的节点,更新保存的节点NodeID以及节点的状态信息,执行步骤l。8、根据权利要求4-7任一项所述的路由方法,其特征在于,所述步骤1中,找到保存资源键值的节点具体为所述服务器将保存的节点NodeID与所述资源键值进行比4交,NodeID不小于所述资源键:值且最接近所述资源键值的节点即为保存所述资源键值的节点;或者NodeID最小的节点即为保存所述资源键值的节点。9、一种对等网络中转移资源键值的方法,其特征在于,包括以下步骤新加入的节点向其后继节点发出复制资源键值的请求;所述后继节点将所述节点负责的资源键值发送给所述节点;所述后继节点删除所述节点负责的资源键值;所述节点接收到所述资源键值后,通知服务器资源键值转移完成。10、根据权利要求9所述的转移资源键值的方法,其特征在于,所述服务器接收到通知后,更新保存的节点NodeID和节点状态信息。11、一种对等网络中转移资源键值的方法,其特征在于,包括以下步骤一节点将其负责的所有资源键值发送给其后继节点;所述后继节点接收到所述资源键值后,通知所述节点;所述节点接收到所述后继节点的通知后,将退出的消息通知服务器。12、根据权利要求11所述的转移资源键值的方法,其特征在于,所述服务器接收到通知后,更新保存的节点NodeID和节点状态信息。全文摘要本发明涉及一种服务器、对等网络系统、路由与转移资源键值的方法,服务器包括路由处理模块及与之相连的存储模块;对等网络系统包括结构化对等网络及其中配置的服务器,服务器根据存储的信息将查询节点路由到保存资源键值的节点,从而实现了快速路由。路由方法通过服务器查找保存资源键值的节点,使得节点只需经过服务器和保存资源键值的节点两跳就可找到查询的资源键值。转移资源键值的方法通过在节点加入或退出时,复制或删除其所负责的资源键值;并通知服务器,保证了存储模块中节点信息的及时更新,更加确保了节点能快速、正确地找到保存资源键值的节点。文档编号H04L12/00GK101227292SQ20071006284公开日2008年7月23日申请日期2007年1月18日优先权日2007年1月18日发明者管红光申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1