会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 对等网络 / 基于对等网络的资源信息备份操作方法及对等网络

基于对等网络的资源信息备份操作方法及对等网络

申请号 CN200910133732.7 申请日 2009-04-08 公开(公告)号 CN101860559B 公开(公告)日 2014-11-05
申请人 中兴通讯股份有限公司; 发明人 彭永林; 陶全军; 张永辉; 裘晓峰; 雷震宇; 张春红; 李漓春; 王岩; 弭伟;
摘要 本发明提供一种基于对等网络的资源信息备份操作方法,该方法包括:发起节点向备份域的连接节点发送域外备份节点确定请求,所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;所述备份域的连接节点根据所述资源全局标识符信息及域外备份规则确定域外备份节点,并将所述域外备份节点的路由信息发送给所述发起节点;所述发起节点根据所述路由信息向所述域外备份节点发送域外备份操作请求,所述域外备份节点根据所述域外备份操作请求进行相应的处理。本发明方法及对等网络,可以更好的保证数据的可靠性和可用性。
权利要求

1.一种基于对等网络的资源信息备份操作方法,其特征在于:所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述资源信息保存在与所述资源信息具有相同域标识的主节点上,对所述资源信息进行备份操作的方法包括:发起节点向备份域的连接节点发送域外备份节点确定请求,所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;

所述备份域的连接节点根据所述资源全局标识符信息及域外备份规则确定域外备份节点,并将所述域外备份节点的路由信息发送给所述发起节点;

所述发起节点根据所述路由信息向所述域外备份节点发送域外备份操作请求,所述域外备份节点根据所述域外备份操作请求进行相应的处理。

2.如权利要求1所述的方法,其特征在于:

若所述域外备份操作请求是指域外备份请求,则所述发起节点是所述资源信息所在的主节点,所述主节点向所述域外备份节点发送的域外备份请求中还携带所述资源信息的资源信息内容,所述域外备份节点根据所述域外备份请求对所述资源信息内容及资源全局标识符信息进行备份;

若所述域外备份操作请求是指域外备份查询请求,则所述发起节点是查询节点,所述域外备份节点根据域外备份查询请求中的资源全局标识符信息向所述查询节点返回要查询的资源信息的资源信息内容;

若所述域外备份操作请求是指域外备份恢复请求,则所述发起节点是检测到所述资源信息所在主节点故障的节点,所述资源全局标识符信息指要恢复的资源信息的资源全局标识符或资源全局标识符范围,所述资源全局标识符或资源全局标识符范围是所述发起节点根据域内资源存放规则确定的,所述域外备份节点根据所述域外备份恢复请求向所述发起节点返回所述资源全局标识符对应的资源信息内容或所述资源全局标识符范围内的资源全局标识符对应的资源信息内容,并由发起节点进行保存。

3.如权利要求1所述的方法,其特征在于:所述对等网络的节点保存有资源信息表、域内路由表及域外路由表,其中所述资源信息表包括资源信息的资源全局标识符及资源信息内容,所述域内路由表包括与所述节点具有连接关系的域内节点的节点全局标识符及路由信息,所述域外路由表包括与所述节点具有连接关系的域外节点的节点全局标识符及路由信息,所述域外备份节点是结合域内路由表中的节点全局标识符确定的。

4.一种对等网络,其特征在于:所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述对等网络的节点包括接收模块、与接收模块连接的域外备份节点确定模块及与所述接收模块及所述域外备份节点确定模块连接的处理模块,其中:接收模块,用于接收发起节点发送的域外备份节点确定请求,所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,备份域的连接节点与所述资源信息所在的主节点具有不同的域标识;还用于接受所述发起节点发送的域外备份操作请求;

域外备份节点确定模块,用于根据所述资源全局标识符信息及域外备份规则确定域外备份节点;

处理模块,用于根据确定的域外备份节点向所述发起节点发送所述域外备份节点的路由信息;还用于根据所述域外备份操作请求进行相应处理。

5.如权利要求4所述的对等网络,其特征在于:

若所述域外备份操作请求是指域外备份请求,则所述发起节点是所述资源信息所在的主节点,所述域外备份操作请求中还携带所述资源信息的资源信息内容,所述处理模块用于根据所述域外备份操作请求对所述资源信息内容及资源全局标识符信息进行备份;

若所述域外备份操作请求是指域外备份查询请求,则所述发起节点是查询节点,所述处理模块用于根据所述资源全局标识符信息向所述查询节点返回要查询的资源信息的资源信息内容;

若所述域外备份操作请求是指域外备份恢复请求,则所述发起节点是检测到所述资源信息所在主节点故障的节点,所述域外备份恢复请求中的资源全局标识符信息指要恢复的资源信息的资源全局标识符或资源全局标识符范围,所述资源信息的资源全局标识符或资源全局标识符范围是所述发起节点根据域内资源存放规则确定的,所述处理模块用于根据所述域外备份恢复请求向所述发起节点返回所述资源全局标识符对应的资源信息内容或所述资源全局标识符范围内的资源全局标识符对应的资源信息内容。

6.如权利要求4所述的对等网络,其特征在于:所述节点还包括与所述域外备份节点确定模块及处理模块连接的存储模块,用于存储资源信息表、域内路由表及域外路由表,其中所述资源信息表包括资源信息的资源全局标识符及资源信息内容,所述域内路由表包括与所述节点具有连接关系的域内节点的节点全局标识符及路由信息,所述域外路由表包括与所述节点具有连接关系的域外节点的节点全局标识符及路由信息,所述域外备份节点是结合域内路由表中的节点全局标识符确定的。

7.一种基于对等网络的资源信息备份操作方法,其特征在于:所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述资源信息保存在与所述资源信息具有相同域标识的主节点上,对所述资源信息进行备份操作的方法包括:发起节点向备份域的连接节点发送域外备份操作请求,所述域外备份节点操作请求中包括要备份操作的资源信息的资源全局标识符,所述备份域的连接节点与所述主节点具有不同的域标识;

所述备份域的连接节点根据所述资源全局标识符及域外备份规则确定域外备份节点,并向所述域外备份节点转发所述域外备份操作请求,其中携带发起节点的路由信息;

所述域外备份节点根据所述域外备份操作请求进行相应处理。

8.如权利要求7所述的方法,其特征在于:所述的域外备份操作请求,是域外备份请求、备份查询请求或域外备份恢复请求;若域外备份操作请求是域外备份请求,则请求中还携带要备份的资源信息内容。

9.一种基于对等网络的资源信息备份操作装置,其特征在于:所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述资源信息保存在与所述资源信息具有相同域标识的主节点上,对所述资源信息进行备份操作的装置包括:用于发起节点向备份域的连接节点发送域外备份操作请求,所述域外备份节点操作请求中包括要备份操作的资源信息的资源全局标识符,所述备份域的连接节点与所述主节点具有不同的域标识的单元;

用于所述备份域的连接节点根据所述资源全局标识符及域外备份规则确定域外备份节点,并向所述域外备份节点转发所述域外备份操作请求的单元,其中携带发起节点的路由信息;

用于所述域外备份节点根据所述域外备份操作请求进行相应处理的单元。

10.如权利要求9所述的装置,其特征在于:所述的域外备份操作请求,是域外备份请求、备份查询请求或域外备份恢复请求;若域外备份操作请求是域外备份请求,则请求中还携带要备份的资源信息内容。

说明书全文

基于对等网络的资源信息备份操作方法及对等网络

技术领域

[0001] 本发明涉及对等网络,尤其涉及一种基于对等网络的资源信息备份操作方法及对等网络。

背景技术

[0002] 对等(Peer to Peer,P2P)网络作为现有互联网(Internet)的覆盖网络(Overlay Network),通过系统之间的对等交换来共享计算机资源和服务,以实现分布式、可靠、可扩展、健壮的网络应用模式。它打破了传统的Client/Server(C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。
[0003] 随着互联网和宽带接入网的迅速发展,P2P技术得到了大量的应用和研究,特别是基于分布式散列表(Distributed Hash Table,简称DHT)和覆盖网络(Overlay Network)的全分布式结构化P2P网络(即DHT网络)得到业界的广泛重视。
[0004] 在DHT网络中,某些节点可能正常或异常离开该网络,这样就容易造成存储资源的丢失,为了增强存储资源的可用性,使其不会因为个别节点的失效而无法获得,通常要在DHT网络中利用别的节点来为这些资源做一些备份,用来备份某个资源的节点叫做这个资源的备份节点。备份资源使得资源的可用性得到提高。
[0005] 现有技术,资源的备份主要是在一个DHT网络内部进行的。例如在Chord中,节点按照其节点ID从小到大顺时针组成一个DHT环,取某个节点在顺时针方向遇到的第一个节点作为其后向节点,由于每个节点维护该节点的后向节点列表,因此节点所存储的数据直接备份在其后向节点上,如果需要存储多份,则存储在其后向的多个节点上。这种备份方式维护比较方便,但在一些异常情况下,这种方法并不能保证资源的可用性。现有技术有很多对于DHT网络的内部备份方式进行了改进,主要是针对两个方面:一是通过把数据复制多份,并按一定规则存放在若干个节点上,恢复时只需取出一个数据即可;另一种是将一个数据分为多个冗余片段,这样只需取出其中几个片段便可对数据进行恢复,来实现其数据的备份,这种备份方式的存储量比较小,但维护开销比较大。
[0006] 由于上述的备份方式只是针对DHT网络内部进行的,当网络中只有个别少数节点退出网络时,这种方式对网络的数据恢复可以工作的很好,但当网络中突然有大量节点异常退出时,则很可能造成部分数据不能恢复,而这对于可靠性要求很高的网络来说是不允许的。

发明内容

[0007] 本发明要解决的技术问题是提供一种基于对等网络的资源信息备份操作方法及对等网络,以更好的保证数据的可靠性和可用性。
[0008] 为解决上述技术问题,本发明提供一种基于对等网络的资源信息备份操作方法,所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述资源信息保存在与所述资源信息具有相同域标识的主节点上,对所述资源信息进行备份操作的方法包括:
[0009] 发起节点向备份域的连接节点发送域外备份节点确定请求,所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;
[0010] 所述备份域的连接节点根据所述资源全局标识符信息及域外备份规则确定域外备份节点,并将所述域外备份节点的路由信息发送给所述发起节点;
[0011] 所述发起节点根据所述路由信息向所述域外备份节点发送域外备份操作请求,所述域外备份节点根据所述域外备份操作请求进行相应的处理。
[0012] 进一步地,
[0013] 若所述域外备份操作请求是指域外备份请求,则所述发起节点是所述资源信息所在的主节点,所述主节点向所述域外备份节点发送的域外备份请求中还携带所述资源信息的资源信息内容,所述域外备份节点根据所述域外备份请求对所述资源信息内容及资源全局标识符信息进行备份;
[0014] 若所述域外备份操作请求是指域外备份查询请求,则所述发起节点是查询节点,所述域外备份节点根据域外备份查询请求中的资源全局标识符信息向所述查询节点返回要查询的资源信息的资源信息内容;
[0015] 若所述域外备份操作请求是指域外备份恢复请求,则所述发起节点是检测到所述资源信息所在主节点故障的节点,所述资源全局标识符信息指要恢复的资源信息的资源全局标识符或资源全局标识符范围,所述资源全局标识符或资源全局标识符范围是所述发起节点根据域内资源存放规则确定的,所述域外备份节点根据所述域外备份恢复请求向所述发起节点返回所述资源全局标识符对应的资源信息内容或所述资源全局标识符范围内的资源全局标识符对应的资源信息内容,并由发起节点进行保存。
[0016] 进一步地,所述对等网络的节点保存有资源信息表、域内路由表及域外路由表,其中所述资源信息表包括资源信息的资源全局标识符及资源信息内容,所述域内路由表包括与所述节点具有连接关系的域内节点的节点全局标识符及路由信息,所述域外路由表包括与所述节点具有连接关系的域外节点的节点全局标识符及路由信息,所述域外备份节点是结合域内路由表中的节点全局标识符确定的。
[0017] 为解决上述技术问题,本发明还提供一种对等网络,所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述对等网络的节点包括接收模块、与接收模块连接的域外备份节点确定模块及与所述接收模块及所述域外备份节点确定模块连接的处理模块,其中:
[0018] 接收模块,用于接收发起节点发送的域外备份节点确定请求,所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;还用于接受所述发起节点发送的域外备份操作请求;
[0019] 域外备份节点确定模块,用于根据所述资源全局标识符信息及域外备份规则确定域外备份节点;
[0020] 处理模块,用于根据确定的域外备份节点向所述发起节点发送所述域外备份节点的路由信息;还用于根据所述域外备份操作请求进行相应处理。
[0021] 进一步地,若所述域外备份操作请求是指域外备份请求,则所述发起节点是所述资源信息所在的主节点,所述域外备份操作请求中还携带所述资源信息的资源信息内容,所述处理模块用于根据所述域外备份操作请求对所述资源信息内容及资源全局标识符信息进行备份;
[0022] 若所述域外备份操作请求是指域外备份查询请求,则所述发起节点是查询节点,所述处理模块用于根据所述资源全局标识符信息向所述查询节点返回要查询的资源信息的资源信息内容;
[0023] 若所述域外备份操作请求是指域外备份恢复请求,则所述发起节点是检测到所述资源信息所在主节点故障的节点,所述域外备份恢复请求中的资源全局标识符信息指要恢复的资源信息的资源全局标识符或资源全局标识符范围,所述资源信息的资源全局标识符或资源全局标识符范围是所述发起节点根据域内资源存放规则确定的,所述处理模块用于根据所述域外备份恢复请求向所述发起节点返回所述资源全局标识符对应的资源信息内容或所述资源全局标识符范围内的资源全局标识符对应的资源信息内容。
[0024] 进一步地,所述节点还包括与所述域外备份节点确定模块及处理模块连接的存储模块,用于存储资源信息表、域内路由表及域外路由表,其中所述资源信息表包括资源信息的资源全局标识符及资源信息内容,所述域内路由表包括与所述节点具有连接关系的域内节点的节点全局标识符及路由信息,所述域外路由表包括与所述节点具有连接关系的域外节点的节点全局标识符及路由信息,所述域外备份节点是结合域内路由表中的节点全局标识符确定的。
[0025] 为解决上述技术问题,本发明还提供一种基于对等网络的资源信息备份操作方法,所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述资源信息保存在与所述资源信息具有相同域标识的主节点上,对所述资源信息进行备份操作的方法包括:
[0026] 发起节点向备份域的连接节点发送域外备份操作请求,所述域外备份节点操作请求中包括要备份操作的资源信息的资源全局标识符,所述备份域的连接节点与所述主节点具有不同的域标识;
[0027] 所述备份域的连接节点根据所述资源全局标识符及域外备份规则确定域外备份节点,并向所述域外备份节点转发所述域外备份操作请求,其中携带发起节点的路由信息;
[0028] 所述域外备份节点根据所述域外备份操作请求进行相应处理。
[0029] 进一步地,所述的域外备份操作请求,是域外备份请求、备份查询请求或域外备份恢复请求;若域外备份操作请求是域外备份请求,则请求中还携带要备份的资源信息内容。
[0030] 为解决上述技术问题,本发明还提供一种对等网络,所述对等网络的节点具有包括域标识及节点标识的节点全局标识符,并保存有域内其他节点的节点全局标识符,所述对等网络的资源信息具有包括域标识及资源标识的资源全局标识符,所述资源信息保存在与其有相同域标识的节点上,同时备份在与其有不同域标识的域外备份节点上,所述域外备份节点是根据所述资源信息的资源全局标识符、备份域的节点全局标识符及域外备份规则确定的。
[0031] 进一步地,所述资源信息同时备份在与其有相同域标识的其他节点上。
[0032] 相较于现有技术,本发明方法及对等网络,对资源信息进行域外备份,更好的保证了数据的可靠性和可用性;另外针对资源信息进行域外备份,这样在本域网络中有节点加入退出等操作时,不需要对外域的备份数据进行调整,只有当该资源本身有更改时才需要对域外备份数据进行调整,这样可以有效的减少备份数据调整带来的额外开销,提高系统的效率和性能。

附图说明

[0033] 图1为本发明P2P网络架构的示意图。
[0034] 图2为本发明中节点和资源信息的全局标识符示意图。
[0035] 图3为本发明中节点存储的内容示意图。
[0036] 图4为本发明资源信息备份操作方法的流程示意图。
[0037] 图5为本发明方法应用实例1资源信息的备份过程示意图。
[0038] 图6为本发明方法应用实例2备份资源信息的查找示意图。
[0039] 图7为本发明方法应用实例3新节点加入过程的示意图。
[0040] 图8为本发明方法应用实例4利用域外备份数据对资源信息进行恢复示意图。
[0041] 图9为本发明对等网络节点的模块结构示意图。

具体实施方式

[0042] 本发明资源备份方法是基于地域优化的P2P网络架构实现的,下面对此网络架构进行简要介绍:
[0043] 在此网络架构中整个P2P网络按照地理位置划分为若干区域,并确定每个区域的区域标识(即域标识,简称域ID),拥有相同域标识的节点构成一个域,域内节点按照一定的DHT算法构成一个子P2P网络,区域内的每个节点按照一定规则与其他域外保持联系(见图1)。
[0044] 网络中每个节点(或资源)拥有全网唯一的节点(或资源)全局标识符,如图2所示,此全局标识符由域标识和节点(或资源)标识共同组成,节点和资源根据它所在地域决定它的域标识,节点(或资源)标识通过对节点(或资源)的某些信息如节点IP、端口号(或资源名称)进行哈希算法得到。网络中节点(或资源)的插入、查找等均根据节点(或资源)的全局标识符进行。在此网络中,每个资源存放在本域(即域标识与其自身相同的域)的节点上,且此节点的全局标识符应和该资源的资源全局标识符相等或相近(一般取其后向最近)。
[0045] 节点标识是通过对节点的特征信息进行哈希运算得到,节点的特征信息指该节点的唯一性信息,如IP地址、网卡号、或机器序号,哈希算法的选取可以是任意的;
[0046] 资源标识是通过对资源信息的特征信息进行哈希算法得到的,所说资源的特征信息是能标识该资源的信息,如资源的具体内容、用户名、用户数据的名称等,哈希算法的选取可以是任意的。
[0047] 每个节点中所需存储的内容如图3所示,包括路由信息表、资源信息表以及域ID映射表。其中路由信息表包括节点所在域的本域的域内路由表和与本节点保持联系的域外节点路由信息的域外路由表;资源信息表包括该节点所存放的资源信息以及其存放的备份资源信息。这里所说的备份资源信息包括域外资源信息的备份及域内资源信息的备份。
[0048] 资源信息表中存放的资源信息包括资源信息的资源全局标识符及资源信息内容。
[0049] 在实际网络中,大量网络节点的异常宕机往往发生在某个临近地域上,为了更好的保证数据的可用性,本发明在对资源进行备份时,不仅在本域进行数据备份,而且在域外(域ID与资源的域ID不同的域)进行备份,从而在保持域内备份优点的同时满足异地容灾的要求,保证数据的可恢复性。
[0050] 以下对本发明中的一些定义进行说明:
[0051] 主节点:资源信息按照存储规则在本域中被保存的节点;具体地,存储规则为:资源存放在某个节点上,这个节点的节点ID和此资源信息的资源ID最相近且大于等于资源ID,如果不存在比该资源ID更大的节点ID,则存储在该域内节点ID最小的节点上。
[0052] 本域:主节点所在的域;
[0053] 本域备份节点:按照一定的本域备份规则备份主节点资源信息的本域节点;具体地,本域备份规则可以为:主节点的后向节点作为本域备份节点。
[0054] 节点根据节点ID的大小按一定次序(一般为升序)排列成一个大的圆环,称为DHT环(如图所示),取某个节点其顺时针方向遇到的第一个节点作为其后向节点,其逆时针方向遇到第一个节点为其前向节点,每个节点均有一个前向节点和一个后向节点。
[0055] 备份域:用于本域数据备份的域,备份域的选取规则一般为选择规模和本域相当或负载较轻的域作为备份域;备份域的选取可以通过人为指定本域和备份域的映射表,也可以利用一些算法根据域的规模选择本域的备份域。
[0056] 域外备份节点:按照一定的域外备份规则备份资源信息的域外节点。选择域外备份节点时,可以根据本域资源信息的资源ID将所述资源备份到备份域的相应的备份节点上,例如域外备份节点可以是在备份域中节点ID与该资源ID相等或最接近的节点,且大于等于该资源ID的第一个节点;当有数据加入、删除或更新时对备份域的备份数据进行相应更改。
[0057] 本发明根据资源标识对资源信息进行备份,当本域节点发生变化时,外域节点上存放的相应备份数据不需要调整。只有资源信息改变(如资源信息加入、删除或更改)时需要在外域进行相应的改变。
[0058] 如图4所示,本发明基于对等网络的资源信息备份操作的方法包括:
[0059] 步骤401:发起节点向备份域的连接节点发送域外备份节点确定请求;
[0060] 所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;
[0061] 这里所说的资源全局标识符信息可以是确定的资源全局标识符或资源全局标识符范围。
[0062] 步骤402:所述备份域的连接节点根据所述资源全局标识符信息及域外备份规则确定域外备份节点,并将所述域外备份节点的路由信息发送给所述发起节点;
[0063] 步骤403:所述发起节点根据所述路由信息向所述域外备份节点发送域外备份操作请求,所述域外备份节点根据所述域外备份操作请求进行相应的处理。
[0064] 若所述域外备份操作请求是指域外备份请求,则所述发起节点是所述资源信息所在的主节点,所述主节点向所述域外备份节点发送的域外备份请求中还携带所述资源信息的资源信息内容,所述域外备份节点根据所述域外备份请求对所述资源信息内容及资源全局标识符信息进行备份;
[0065] 若所述域外备份操作请求是指域外备份查询请求,则所述发起节点是查询节点,所述域外备份节点根据域外备份查询请求中的资源全局标识符信息向所述查询节点返回要查询的资源信息的资源信息内容;
[0066] 若所述域外备份操作请求是指域外备份恢复请求,则所述发起节点是检测到所述资源信息所在主节点故障的节点,所述资源全局标识符信息指要恢复的资源信息的资源全局标识符或资源全局标识符范围,所述资源全局标识符或资源全局标识符范围是所述发起节点根据域内资源存放规则确定的,所述域外备份节点根据所述域外备份恢复请求向所述发起节点返回所述资源全局标识符对应的资源信息内容或所述资源全局标识符范围内的资源全局标识符对应的资源信息内容,并由发起节点进行保存。
[0067] 以上第一方法中,是由发起节点根据备份域连接节点返回的路由信息向域外备份节点发送域外备份操作请求的,当然也可以由备份域连接节点向域外备份节点转发域外备份操作请求,其中携带发起节点的路由信息,以便域外备份节点处理后向发起节点返回处理结果,第二方法具体包括:
[0068] 步骤A:发起节点向备份域的连接节点发送域外备份操作请求,所述域外备份节点操作请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;
[0069] 步骤B:所述备份域的连接节点根据所述资源全局标识符信息及域外备份规则确定域外备份节点,并向所述域外备份节点转发所述域外备份操作请求,其中携带要操作的资源信息的资源全局标识符信息及发起节点的路由信息;
[0070] 步骤C:所述域外备份节点根据所述域外备份操作请求进行相应处理并根据所述路由信息向所述发起节点返回处理结果。
[0071] 以上所述的域外备份操作请求,是域外备份请求、备份查询请求或域外备份恢复请求;若域外备份操作请求是域外备份请求,则请求中还需要携带要备份的资源信息内容。
[0072] 当本域主节点(存放该资源原始数据的节点)和本域备份节点(本域中用于数据备份的节点)均由于某种异常而导致数据不可获得时可以通过备份域来完成数据的查找和恢复。
[0073] 具体地,数据查找时根据资源信息的全局标识符进行,当本域内未发现所需数据时,则向备份域查找,查找请求为查询备份数据的请求,该请求与直接数据查询请求的查询方式不同;
[0074] 当本域的主节点和本域备份节点均异常宕机时,本域的某个节点(根据域内采用的DHT算法和备份的方法而定)检测到这种情况发生,则主动向备份域发出数据恢复请求,请求中包括需要恢复的资源信息的全局资源标识符范围。
[0075] 在本域内采用某种域内备份的方法对本域数据进行备份,域内的备份方法可以采用单个DHT网络的备份方法,备份方法的选取可以是任意的
[0076] 现在结合具体的实施例对本发明作进一步的说明:
[0077] 图5、6、7、8中每个节点为一个HSS(Home Subscriber Server)服务器,HSS服务器为支持用于处理调用/会话的IMS网络实体的主要用户数据库。它包含用户配置文件,执行用户的身份验证和授权,并可提供有关用户物理位置的信息。在此实施例中,每个HSS服务器(以下简称节点)中保存了部分用户的用户数据,称为资源信息。
[0078] 为简化起见,图中给出了两个域:域A与域B,其中节点N7~N46属于域A,节点n3~n53属于域B,节点的编号即为其节点ID。其中域B作为域A的备份域。在实际网络中按照域的规模或域的负载状况选择备份域,当备份域选定之后,当新节点加入时就会指定其备份域的域ID,A域的节点都会保存这个信息。域A同时也作为其他域的备份域。为了简化,其他域在图中并未表示。
[0079] 图中每个节点在域内采用One-hop DHT算法(即域内每个节点均保存一份域内的全局路由表,从而和域内的其他节点保持全连接),此外每个节点还保存一份域外路由表,此域外路由表包含域外的部分节点的路由信息。
[0080] 应用实例1:数据备份:
[0081] 在本发明中主要针对域外备份,对于域内备份在此采用最简单的形式,即选取主节点的后向节点作为备份节点,备份节点用于备份主节点上的全部资源信息(当有新数据加入或数据更新时保持对备份数据的及时更新)。
[0082] 该实施例中的域外备份规则是:备份资源信息的域外节点为具有这样节点标识的节点,其节点标识等于或大于所述资源信息的资源标识,且最接近所述资源信息的资源标识。
[0083] 如图5所示,数据备份的步骤如下:
[0084] 步骤501:当有新数据加入或有数据更新时,主节点(节点N7)对新数据(其资源ID=5)进行存储;
[0085] 步骤502:节点N7给其后向节点(节点N12)发送备份请求对新数据进行备份;
[0086] 步骤503:节点N12对新数据进行备份并返回应答;
[0087] 步骤504:节点N7对新加入的资源信息进行域外备份,它向对应备份域的连接节点(例如节点n53)发送域外备份请求,请求中包括要备份的资源信息的资源全局标识符;
[0088] 其中备份域的连接节点是随机选择的。
[0089] 步骤505:节点n53从请求中包含的资源全局标识符中提取出资源ID(资源ID=5),通过查找自己的域内路由表得到此资源信息应备份到的节点(即等于或大于此资源ID且最接近的节点,称为域外备份节点),在此为节点n9,节点n53把节点n9的路由信息发送给发起备份请求的节点N7;
[0090] 步骤506:节点N7向节点n9发出域外备份请求,请求中包括资源信息的资源全局标识符和资源信息内容;
[0091] 步骤507:节点n9根据收到的请求对资源信息进行备份,并返回备份成功应答。
[0092] 应用实例2:域外备份数据的查找:
[0093] 数据查找分为域内数据查找和域外备份数据的查找,在此只给出域外备份数据的查找过程,对于域内数据的查找可以直接通过查询资源信息的全局标识符按照数据存储规则在本域内查询得到(对于域外备份数据的查找只有当本域数据和本域的备份数据均不可用时才会进行),如图6所示,查询过程包括:
[0094] 步骤601:查询节点N23根据需查询数据的资源全局标识符查找自己的域内路由表,利用资源全局标识符中的资源ID(例如资源ID=6)得到数据的主节点(在此为节点N7)的路由信息,并向节点N7发出查询请求,请求中包括需要查询的数据的资源全局标识符;
[0095] 步骤602:由于节点N7异常宕机或其他情况造成请求失败,节点N23向域内的备份节点(节点N12)发出查询备份数据请求;
[0096] 步骤603:节点N12也发生某种异常,查询请求失败,节点N23向备份域的其已知的某个节点(例如节点n32)发出域外备份查询请求,请求中包括需查找的数据的资源全局标识符;(这里的查询备份数据的请求和直接进行数据查询的请求是不同的,这里请求中包括该资源的全局标识符是因为该备份域可能还存有其他域的备份数据);
[0097] 步骤604:节点n32按照资源全局标识符和域外备份规则来确定该资源的域外备份节点,并查找自己的域内路由表得到域外备份节点(在此为节点n9)的路由信息,并向节点n9转发域外备份查询请求,转发的查询请求中应该携带N23的路由信息;
[0098] 步骤605:节点n9向节点N23返回所需查询的资源信息
[0099] 域外备份数据查找只发生在本域的数据主节点和备份节点均查询失败的情况,这种情况通常是由于域内大量节点异常宕机所造成的,这样通过域外备份数据的查找仍然能实现数据的正常获得。
[0100] 应用实例3:节点加入/退出时的数据迁移
[0101] 当有新节点(例如节点N20)加入的时候,需要从后向节点复制的数据包括三部分,如图7所示,具体复制步骤如下:
[0102] 步骤701:新节点作为主节点负责保存的资源信息(资源ID值处于前向节点ID与新节点ID之间的那部分资源信息),在此为资源ID为(16,20](在此表示该节点作为主节点应负责保存的数据范围,这些数据的节点ID应大于16而小于等于20;)之间的数据;
[0103] 步骤702:新节点作为域外备份节点所应该负责保存的备份数据(后向节点中保存的资源ID小于或等于本域新节点ID的备份数据)。在此假设域A为域C的备份域(图未示),则此备份资源信息为域C中资源ID在(16,20]的数据;
[0104] 步骤703:新节点作为域内备份节点所应该负责保存的前向节点的备份数据(后向节点中保存的本域备份数据),在此为资源ID在(12,16]的数据。
[0105] 以上几步只需从新加入节点的后向节点(即N23)进行复制即可,复制完数据后,新节点需要进行域内数据备份,而不需要进行域外数据的备份,然后该节点按照本域的路由更新方法及时通知其他节点更新路由表。同理,域内节点的正常离开是加入的一个逆过程,离开时,此节点把负责保存的全部资源信息移交至其后向节点,后向节点仅需要做域内备份,不需要再重新进行域外备份。
[0106] 应用实例4:数据恢复过程
[0107] 在此仅考虑域内主节点和备份节点同时出故障的情况,对于只有其中之一出故障的情况,可以通过域内数据恢复机制进行恢复,而且不需要更改域外的备份数据。域内备份节点的后向节点N16检测出两个以上连续节点发生故障后(节点N16通过与其前向节点之间的保活机制来检测其前向连续多个节点的故障),会根据域外备份的规则从所丢失数据域外备份节点处将资源信息复制过来,并重新进行备份。
[0108] 如图8所示,具体步骤如下:
[0109] 步骤801:域内备份节点的后向节点N16检测出故障(假设只有N7和N12发生故障)后,只能够得知域内丢失资源信息的ID范围为[失效主节点的前向节点ID,失效主节点ID],失效主节点在此为节点N7,所丢失资源信息为资源ID位于(46,7]的资源信息,即资源ID大于46或不大于7的资源信息;
[0110] 该实施例中的域外备份规则是:备份资源信息的域外节点为具有这样节点标识的节点,其节点标识等于或大于所述资源信息的资源标识,且最接近所述资源信息的资源标识。
[0111] 节点N16需要进行的数据恢复和备份包括:
[0112] i、对域内丢失的数据通过域外备份进行恢复;
[0113] ii、把恢复的数据在节点N16的后向节点进行域内备份;
[0114] iii、对节点N16的前向节点N12之前备份在节点N16上的数据进行域内备份;
[0115] iv、对失效主节点前向节点所存放的数据进行备份;
[0116] v、对失效节点所负责的域外的备份数据进行重新备份;、
[0117] 步骤802:节点N16用失效主节点前向节点N46的节点ID=46在备份域中查询(可以通过其域外路由表中的所保存的域B中的节点的路由信息得到节点n43的路由信息),找到此节点ID对应的后向节点为节点n53;再用节点N7的节点ID=7在备份域中查询,找到其后向节点n9;节点N16向节点n53请求查询节点ID位于(53,7)之间的节点的路由信息。则原域内丢失的资源信息为:
[0118] i、节点N53中备份的资源ID值在(46,53]之间的数据
[0119] ii、节点n9中备份资源ID值在(3,7]之间的数据;
[0120] iii、节点n53和节点n9之间的节点所备份的所有数据,即节点n3上备份的所有数据。大于53及小于3的数据
[0121] 步骤803:节点N16将所需数据从域外中拷贝过来,此时节点N16成为这些资源信息的主节点;
[0122] 步骤804:节点N16重新对刚恢复的数据以及节点N16的失效前向节点存放在N16上的域内备份数据进行域内备份,即把恢复的数据以及域内备份的数据备份到其后向节点N23上;
[0123] 步骤805:节点N16将节点N46所存放的数据进行备份;
[0124] 步骤806:所丢失的域外备份数据的范围为:(失效主节点的前向节点ID,节点N16前向节点ID],即资源ID位于(46,12]范围的域外备份数据。如果这些备份数据涉及到多个域,节点C需要到多个域分别对所需数据进行重新备份。具体过程和对失效节点的数据恢复相同,不赘述。
[0125] 如果需要进一步保证数据的可靠性,可以考虑在域外进行多个备份,例如除了在域外的备份节点进行备份一次外,再在该域外备份节点的后向节点备份一份该资源。
[0126] 以上过程均不必重新进行域外备份,域外中的备份数据不必做任何改动。
[0127] 为实现以上第一方法,本发明还提供了一种网络架构,并对节点进行了功能模块划分,如图9所示,所述对等网络的节点包括接收模块、与接收模块连接的域外备份节点确定模块、与所述接收模块及所述域外备份节点确定模块连接的处理模块,及所述节点还包括与所述域外备份节点确定模块及处理模块连接的存储模块,其中:
[0128] 接收模块,用于接收发起节点发送的域外备份节点确定请求,所述域外备份节点确定请求中包括要备份操作的资源信息的资源全局标识符信息,所述备份域的连接节点与所述主节点具有不同的域标识;还用于接受所述发起节点发送的域外备份操作请求;
[0129] 域外备份节点确定模块,用于根据所述资源全局标识符信息及域外备份规则确定域外备份节点;
[0130] 处理模块,用于根据确定的域外备份节点向所述发起节点发送所述域外备份节点的路由信息;还用于根据所述域外备份操作请求进行相应处理。
[0131] 若所述域外备份操作请求是指域外备份请求,则所述发起节点是所述资源信息所在的主节点,所述域外备份操作请求中还携带所述资源信息的资源信息内容,所述处理模块用于根据所述域外备份操作请求对所述资源信息内容及资源全局标识符信息进行备份;
[0132] 若所述域外备份操作请求是指域外备份查询请求,则所述发起节点是查询节点,所述处理模块用于根据所述资源全局标识符信息向所述查询节点返回要查询的资源信息的资源信息内容;
[0133] 若所述域外备份操作请求是指域外备份恢复请求,则所述发起节点是检测到所述资源信息所在主节点故障的节点,所述域外备份恢复请求中的资源全局标识符信息指要恢复的资源信息的资源全局标识符或资源全局标识符范围,所述资源信息的资源全局标识符或资源全局标识符范围是所述发起节点根据域内资源存放规则确定的,所述处理模块用于根据所述域外备份恢复请求向所述发起节点返回所述资源全局标识符对应的资源信息内容或所述资源全局标识符范围内的资源全局标识符对应的资源信息内容。
[0134] 存储模块,用于存储资源信息表、域内路由表及域外路由表,其中所述资源信息表包括资源信息的资源全局标识符及资源信息内容,所述域内路由表包括与所述节点具有连接关系的域内节点的节点全局标识符及路由信息,所述域外路由表包括与所述节点具有连接关系的域外节点的节点全局标识符及路由信息,所述域外备份节点是结合域内路由表中的节点全局标识符确定的。
[0135] 本发明方法及对等网络,域内的数据备份可以保证在网络中少量节点正常或异常离开网络时的数据的可恢复性,本发明在保持域内备份的优点的同时,也实现了异地容灾,更好的保证了数据的可靠性和可用性。另外本发明针对资源信息进行域外备份,这样在本域网络中有节点加入退出等操作时,不需要对外域的备份数据进行调整,只有当该资源本身有更改时才需要对域外备份数据进行调整,这样可以有效的减少备份数据调整带来的额外开销,提高系统的效率和性能。