电信网络用户数据存储管理的方法及装置的制作方法

文档序号:7767040阅读:219来源:国知局
专利名称:电信网络用户数据存储管理的方法及装置的制作方法
技术领域
本发明涉及电信网络技术领域,尤其涉及一种电信网络用户数据存储管理的方法 及装置。
背景技术
电信网络为海量的用户提供电信服务,用户数据是电信网络的关键数据,由专门 的电信设备进行存储和管理,如移动通讯网络种的HLROtomeLocation Register,归属地寄 存器)或者HSS (Home Subscriber Server,用户归属服务器)就集中存储了以下的用户信 息签约信息,位置信息,业务限制信息,补充业务及相关参数等。由于HLR/HSS在电信网络中处于关键位置,而且目前的电信网络中是采用集中式 的用户数据管理模式,因此对其可靠性的要求非常苛刻,为了满足不间断运行的要求,普遍 采用了本地热备份/本地冗余加上异地容灾备份等非常高的系统配置。不过,即使这样,对 越来越趋于海量的用户数据,系统的维护成本显著上升,可扩展能力明显不足,网络的负荷 不均衡,现有的集中式的方案已不能满足要求。

发明内容
为了解决电信网络中集中式用户数据管理带来的缺陷,本发明的实施例提供了一 种可以减轻用户数据存储压力的用户数据存储管理的方法及装置。一种基于DHT的存放通讯网络用户数据的方法,包括DHT叠加网中的第一节点接收待存放的用户数据;将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于或等于所述DHT 叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K为备份数据的 总份数,K为大于零的整数;将所述待存放的用户数据作为主数据,将所述的主数据和KXL/K份分割后的备 份数据分别向1+KXL/K个DHT节点发送。一种基于DHT的查询通讯网络用户数据的方法,包括DHT叠加网中的第一节点接收查询用户数据的请求; 根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的DHT节点 fn息;根据所述DHT节点信息,查找到与所述key值对应的用户数据。一种基于DHT的更新通讯网络用户数据的方法,包括DHT叠加网中的第一节点接收更新用户数据的请求;根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的DHT节点 fn息;根据所述DHT节点信息,更新与所述key值对应的用户数据。一种基于DHT的存放通讯网络用户数据的装置,包括
接收单元,接收待存放的用户数据;数据分割单元,将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于 所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K为备 份数据的总份数,K为大于零的整数;数据存放单元,将所述待存放的用户数据作为主数据,将所述的主数据和KXL/K 份分割后的备份数据分别向1+KXL/K个DHT节点发送。一种基于DHT的查询通讯网络用户数据的装置,包括接收单元,接收查询用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据 的DHT节点信息;查询单元,根据所述DHT节点信息,查找到与所述key值对应的用户数据。一种基于DHT的更新通讯网络用户数据的装置,包括接收单元,接收更新用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据 的DHT节点信息;更新单元,根据所述DHT节点信息,更新与所述key值对应的用户数据。这三个装置可以单独作为一个节点加入到DHT叠加网中,也可以任意组合成一个 节点加入到DHT叠加网中,即DHT叠加网的节点可以提供上述三个装置的功能的任意组合。本发明提供的数据存放、查询和更新的方法和装置,能够实现电信用户数据的分 布式存储,显著提升了 DHT叠加网络中节点恢复的并行程度,减少了预留给DHT叠加网络维 护工作的系统资源,提高了整个用户数据存储系统的健壮性,减少了 DHT叠加网络中各个 节点之间不必要的消息开销。


图1是顺序备份的传统方式示意图2是本发明实施例中新改进的顺序备份方式示意图3是等分Hash空间(固定偏移)备份的传统方式示意图4是本发明实施例中新改进的等分Hash空间(固定偏移)备份方式示意图
图5是本发明实施例中■(据存放方法流程图6是本发明实施例中■(据查询方法流程图7是本发明实施例中■(据更新方法流程图8是本发明实施例中■(据存放的装置示意图9是本发明实施例中■(据查询的装置示意图10是本发明实施例中]数据更新的装置示意具体实施例 同样面对海量数据的互连网,很多互联网业务提供商采取了分布式的、自组织、自 管理的P2P技术,构建了一种自组织形态的网络系统,在P2P网络中不存在中心服务器节 点,每个节点既可用作服务器为其他节点提供服务,同时又可以享受其他节点用作服务器时所提供的服务。因此,P2P网络中,每个Peer节点处于对等地位,称每个节点为一个对等 体。本发明通过研究电信网中存放在HLR/HSS的用户数据的特点,对现有的P2P技术 进行了改进,实现了高效可靠的用户数据的存储和管理。本发明中所述用户数据除了包括 背景技术中所述的电信用户的相关信息外,还包括这些用户信息的索引信息。所述用户数据是电信用户的相关信息,可以是用户的签约信息、位置信息、业务限 制信息、补充业务及相关参数等;也可以是用户的签约信息、位置信息、业务限制信息、补充 业务及相关参数等的索引信息;也可以是电信用户的专用存储空间的地址信息。下面将结合附图对本发明实施例的技术方案作进一步详细描述。根据电信网络的用户数据的特点,目前基于DHT (Distributed HashTable,分布式 哈希表)的Key-Value (键值-数据)的存储管理方案是目前比较合适的技术。对电信网络的用户数据,DHT叠加网络中的key根据一个或多个用户信息通过哈 希函数计算得出,所述用户信息可以为(1)用户的电话号码;或者(2)用户的SIM卡的编 号;或者⑶用户自己的私人号码(如身份证);或者⑷用户的IP地址等等。考虑到对用户数据高可靠性的要求,需要在通讯网络商对用户数据进行冗余备 份,采用一个节点作为主存,多个节点分别存放一份作为备份的形式。为了技术方案叙述的 方便,下面的技术方案内容将以一主加两备份总共三份数据为例来叙述,相关技术方案对 其它的一主加多备份的情况同样适用。一、数据的放置一主加两备份总共三份数据如何放置,可以采用顺序保存的方式(如图1所示), 即在哈希空间上各个节点除了保存一份属于自己的主数据外,还要把另外两份副数据依次 放在自己与自己相邻的节点上。也可以按照等分哈希空间的方式放置(如图3),存放备份数据的节点与存放主数 据的节点分别位于相邻的1/(K+1)哈希空间上,K为主数据外的备份数据的总份数,例如K =2时,两份副数据分别存放在主数据所在节点偏移三分之一和三分之二哈希空间的节点 上。以顺序存放为例,如图1所示,A所保存的索引,需要在后续B和C上作备份,那么 当A故障的时候,新节点只能从B和C开始下载部分的数据顺序备份。另外在传统的顺序 保存机制下,A故障的时候,A所承担的负载由B来承担。等分哈希空间的传统存放方式如图3所示,以Peer A所保存的区域为Da Dz, 同样的一主二副,那么该区域会平移放置在l/3*HashSpace+Da l/3*HashSpace+Dz2/3*HashSpace+Da 2/3*HashSpace+Dz的位置,假设Peer分布均勻的话,那么这两个位 置也是各一个Peer,假设为B和C。本发明提出下面新的L数据分割放置方法,本发明的实施例还提出一种数据分割 放置的方法。将每个Peer所保存的数据按照Key分割为L/K份,其中K为备份数据的总份 数,L为节点的下行带宽和节点可用于数据恢复的上行带宽之比。以每一份数据为单元进行顺序或者等分间隔复制副本,这样,尽管副本的总份数 不变,但在数据恢复过程中可以充分利用L台机器来进行并行恢复,同时每一台机器只要 多留出1/L 2/L的带宽余量即可。图2和图4给出了对应K = 2,L = 6时候顺序备份和等分哈希空间备份的改进形式。基于上述的L数据分割放置方法,我们可以进一步建立基于规则的索引机制,完 成数据存储方式。在顺序备份的机制下,假设某个节点负责维护key从1_6000的数据(该节点称为 主数据所在节点),K = 2,L = 6,则数据存储的规则是1、对第1份备份数据,分成L/K = 3份;当前处于在线状态的节点中主数据所在节 点的第1个相邻节点,该节点存放key为1-2000的数据;当前处于在线状态的节点中主数 据所在节点的第2个相邻节点,存放key为2001-4000的数据;当前处于在线状态的节点中 主数据所在节点的第3个相邻节点,存放key为4001-6000的数据。这里“相邻”的含义根 据不同的DHT确定,以Chord为例,则是指从本节点开始沿着顺时针方向的环上的第1个、 第2个和第3个节点。2、对第2份备份数据,分成L/K = 3份;当前处于在线状态的节点中主数据所在节 点的第4个相邻节点,该节点存放key为1-2000的数据;当前处于在线状态的节点中主数 据所在节点的第5个相邻节点,存放key为2001-4000的数据;当前处于在线状态的节点中 主数据所在节点的第6个相邻节点,存放key为4001-6000的数据。这里“相邻”的含义根 据不同的DHT确定,以Chord为例,则是指从本节点开始沿着顺时针方向的环上的第4个、 第5个和第6个节点。3、总结上面的规则第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,其中 第j个数据片(j为整数,L/K),选择存放在当前处于在线状态的节点中主数据所 在节点的第iX j个相邻节点。或者在上述规则的基础上备份数据所在节点id再整体增加 一个偏移量N,即存放在当前处于在线状态的节点中主数据所在节点的第i X j+N个相邻节 点上,N为大于零的整数。在等分哈希空间备份的机制下,假设某个节点负责维护key从1_6000的数据(该 节点称为主数据所在节点),K = 2,L = 6,则数据存储的隐含规则是1、对第1份备份数据,被分成L/K = 3份;选择的第1个节点是当前处于在线 状态的节点中节点id最接近“key = [1-2000]+哈希空间的大小/(KXL+1)”的节点, 该节点存放key为1-2000的数据;选择的第2个节点是当前处于在线状态的节点中节 点id最接近“key = [2001-4000]+2 X哈希空间的大小/ (KX L+1) ”的节点,存放key为 2001-4000的数据;选择的第3个节点是当前处于在线状态的节点中节点id最接近“key = [4001-6000]+3X哈希空间的大小/ (KXL+1),,的节点,存放key为4001-6000的数据。2、对第2份备份数据,选择的第4个节点是当前处于在线状态的节点中节点id最 接近“id = key = [1-2000]+4X哈希空间的大小/(KXL+1) ”的节点,该节点存放key为 1-2000的数据;选择的第5个节点是当前处于在线状态的节点中节点id最接近“key = [2001-4000]+5 X哈希空间的大小/(KXL+1)”的节点,存放key为2001-4000的数据;选 择的第6个节点是当前处于在线状态的节点中节点id最接近“key = [2001-4000]+6 X哈 希空间的大小/(KXL+1),,的节点,存放key为4001-6000的数据。3、总结上面的规则第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,第j 个数据片(j为整数,1 < j彡L/K)的key范围为[Djl Djh],其中第j个数据片(j为整 数,1彡j彡L/K),选择存放在当前处于在线状态的节点中节点id最接近“key = [Djl Djh]+iXjX哈希空间的大小/(KXL+1)”的节点上。或者在上述规则的基础上备份数据的key范围再整体增加一个偏移量N,即存放在当前处于在线状态的节点中节点id最接近 "key = [Djl Djh]+N+iXjX哈希空间的大小/(KXL+1) ”的节点上,N为大于零的整数。上述规则就构成了我们系统中的隐含索引,这个隐含索引是key值与节点id之间 的对应关系,使用任何一个key值就可以得出该key值对应的用户数据所在的主数据所在 节点的id,进而进一步得到出所有副本数据所在的节点的id,另外,如果需要系统也可以 维护一个显示的索引表。二、数据的读写过程和一致性保证本发明的实施例中采用了一主多副并且进行等分的存储方式,由于基于规则的隐 含索引的存在,任何一个存有该key值数据的节点都可充当Coordinator (Peer节点中的协 调节点,负责协调其它普通节点共同完成相关任务。)角色,也就是说一个节点如果接收到 了对key值属于自己存储范围内的用户数据的操作请求,不论该用户数据是主数据还是备 份数据,该节点都可以计算出另外几份数据存放的节点id,并充当Coordinator的角色来 协调另外两个节点完成相关的数据操作。在本发明的实施例中,使用这种“共同协调”的机制来保证数据一致性,其具体机 制为假设数据副本数为K,定义两个可配置参数R和W,R表示实现查询请求成功所需的 最小副本数,W表示更新请求成功所需的最小副本数。其中R和W是整数,满足R+W>K+1, 并且1彡R彡K+l, 1彡W彡K+1。当第一个节点接收到更新请求时,自动充当Coordinator节点,首先将数据打上 最新的版本标记,并在本地保存,然后将数据发送给相关节点列表(preference list)中的 K个节点。当至少收到W个响应后,认为更新操作成功。同样的,当第一个节点接收到查询请求时,自动充当Coordinator节点将查询请 求转发给相关节点列表(preference list)中的N个节点,当收到R个返回的数据后,分析 出最新的版本,将最新版本数据返回给发出查询请求的客户端。本发明的实施例提供一种存放通讯网络用户数据的方法,如图5所示,该方法包 括步骤21,DHT叠加网中的第一节点接收待存放的用户数据;步骤22,将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于或等 于所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比,其中第二 节点可以是第一节点,或者是所述DHT叠加网中的其它节点;所述K为备份数据的总份数, K为大于零的整数。步骤23,将所述待存放的用户数据作为主数据,将所述的主数据和KXL/K份分割 后的备份数据分别向1+KXL/K个DHT节点发送。所述步骤23,根据所述待存放的用户数据得到key值,得到与所述key值最接近的 DHT节点id,该节点被选择为存放所述key值对应的用户数据的主数据;所述步骤23,分割后的备份数据的存放的DHT节点按照规则一或规则二或规则三 或规则四来选择,其中,规则一第i份备份数据(i为整数,1 ≤ i ≤ K)被分成L/K份,其中第j个数据片(j为整数,L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第 iXj个相邻节点上。规则二 第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,其中第j个数据 片(j为整数,L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第 i X j+N个相邻节点上,N为大于零的整数。规则三第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,第j个数据片(j为 整数,1彡j彡L/K)的key范围为[Djl Djh],其中第j个数据片(j为整数,1彡j彡L/ K),选择存放在当前处于在线状态的节点中节点id最接近“key = [Djl Djh]+iX jX哈 希空间的大小/(KXL+1),,的节点上。规则四第i份备份数据(i为整数,1彡i彡K)被分成L/K份,第j个数据片(j为 整数,1彡j彡L/K)的key范围为[Djl Djh],其中第j个数据片(j为整数,1彡j彡L/ K),选择存放在当前处于在线状态的节点中节点id最接近“key = [Djl Djh]+N+iXjX 哈希空间的大小/(KXL+1),,的节点上,N为大于零的整数。 所述步骤23具体包括步骤231 将主数据存放在前述选择的存放主数据的节点上,并将KXL/K个分割 后的备份数据片分别向KXL/K个DHT节点发送;步骤232 接收所述接收备份数据片的DHT节点的返回信息,当接收的返回信息的 个数大于W时,则存放成功。所述W是整数,1彡W彡L。本发明的实施例还提供一种查询通讯网络用户数据的方法,如图6所示,该方法 包括步骤31,DHT叠加网中的第一节点接收查询用户数据的请求;步骤32,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的 DHT节点信息;步骤33,根据所述DHT节点信息,查找到与所述key值对应的用户数据。所述步骤32具体包括步骤321 得到与所述key值最接近的DHT节点id,该节点上存放了所述key值对 应的用户数据的主数据;步骤322 根据所述主数据所在DHT节点id,按照规则一或规则二或规则三或规则 四来得到备份数据所在DHT节点id,其中,规则一第i份备份数据(i为整数,1 ≤ i ≤ K)被分成L/K份,主数据所在节点的 第iX j个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1 ≤ j≤ L/ K)。规则二 第i份备份数据(i为整数,1 ≤ i ^ K)被分成L/K份,主数据所在节点的 第i X j+N个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤j≤L/ K),N为大于零的整数。规则三第i份备份数据(i为整数,1 ≤i ≤ K)被分成L/K份,第j个数据片(j 为整数,1≤j≤L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数据 的第j个数据片(j为整数,1≤j≤L/K)。
规则四第i份备份数据(i为整数,1彡i彡K)被分成L/K份,第j个数据片(j 为整数,1彡j彡L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+N+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数 据的第j个数据片(j为整数,L/K),N为大于零的整数。所述步骤33具体包括步骤331 从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点 发送查询用户数据的请求(x为整数,1彡x彡K+1)。步骤332 接收所述接收查询用户数据的请求的DHT节点的返回信息,当接收的返 回信息的个数大于R时,则查询成功。所述R是整数,1彡R彡K+1。步骤333 比较查询获得的多个返回信息中的用户数据,将最新的数据作为查询 结果返回。所述步骤33中,所述节点信息包括主数据和备份数据所在的节点信息。所述步骤33中,所述用户数据查询可以由所述第一节点完成;或者可以由所述第 一节点通知所述主数据所在节点,由主数据所在节点完成;或者可以由所述第一节点通知 所述备份数据所在节点,由备份数据所在节点完成。本发明的实施例还提供一种更新通讯网络用户数据的方法,如图7所示,该方法 包括步骤41,DHT叠加网中的第一节点接收更新用户数据的请求;步骤42,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的 DHT节点信息;步骤43,根据所述DHT节点信息,更新与所述key值对应的用户数据。所述步骤42具体包括步骤421 得到最接近所述key值的DHT节点id,该节点上存放了所述key值的用 户数据的主数据;步骤422 根据所述主数据所在DHT节点id,按照规则一或规则二或规则三或规则 四来得到备数据所在DHT节点id,其中,规则一第i份备份数据(i为整数,1 ^≤i ≤ K)被分成L/K份,主数据所在节点的 第iX j个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1 ≤ j ≤ L/ K)。规则二 第i份备份数据(i为整数,1 ≤ i ≤ K)被分成L/K份,主数据所在节点的 第i X j+N个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤j≤L/ K),N为大于零的整数。规则三第i份备份数据(i为整数,1 ≤ i ≤K)被分成L/K份,第j个数据片(j 为整数,1≤j≤L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数据 的第j个数据片(j为整数,1≤j≤L/K)。规则四第i份备份数据(i为整数,1≤i≤K)被分成L/K份,第j个数据片(j 为整数,1≤j≤L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+N+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数据的第j个数据片(j为整数,L/K),N为大于零的整数。所述步骤43具体包括步骤431 从主数据所在节点和备份数据所在节点中选择χ个节点,向这χ个节点 发送更新用户数据的请求(X为整数,1彡X彡K+1)。步骤432 接收所述接收更新用户数据的请求的DHT节点的返回信息,当接收的返 回信息的个数大于W时,则更新成功。所述W是整数,1彡W彡K+1。所述步骤43中,所述节点信息包括主数据和备份数据所在的节点信息。所述步骤43中,所述用户数据更新可以由所述第一节点完成;或者可以由所述第 一节点通知所述主数据所在节点,由主数据所在节点完成;或者可以由所述第一节点通知 所述备份数据所在节点,由备份数据所在节点完成。为了实现上述用户数据操作功能,本发明提供了下面的三个装置,这三个装置可 以单独作为一个节点加入到DHT叠加网中,也可以任意组合成一个节点加入到DHT叠加网 中,即DHT叠加网的节点可以提供上述三个装置的功能的任意组合。本发明的实施例提供一种存放通讯网络用户数据的装置,如图8所示,该装置包 括接收单元,接收待存放的用户数据;数据分割单元,将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于 或等于所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比,其中 第二节点可以是第一节点,或者是所述DHT叠加网中的其它节点;所述K为备份数据的总份 数,K为大于零的整数。数据存放单元,将所述待存放的用户数据作为主数据,将所述的主数据和KXL/K 份分割后的备份数据分别向1+KXL/K个DHT节点发送。所述数据存放单元具体包括第一数据计算单元,根据所述待存放的用户数据得到key值,得到与所述key值最 接近的DHT节点id,该节点被选择为存放所述key值对应的用户数据的主数据。第二数据计算单元,按照规则一或规则二或规则三或规则四来选择存放分割后的 备份数据的DHT节点,其中,规则一第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,其中第j个数据 片(j为整数,L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第 iXj个相邻节点上。规则二 第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,其中第j个数据 片(j为整数,L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第 i X j+N个相邻节点上,N为大于零的整数。规则三第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,第j个数据片(j为 整数,1彡j彡L/K)的key范围为[Djl Djh],其中第j个数据片(j为整数,1彡j彡L/ K),选择存放在当前处于在线状态的节点中节点id最接近“key = [Djl Djh]+iX jX哈 希空间的大小/(KXL+1),,的节点上。规则四规则四第i份备份数据(i为整数,1彡i彡K)被分成L/K份,第j个 数据片(j为整数,1彡j彡L/K)的key范围为[Djl Djh],其中第j个数据片(j为整数,1彡j彡L/K),选择存放在当前处于在线状态的节点中节点id最接近“key = [Djl Djh]+N+iXjX哈希空间的大小/(KXL+1)”的节点上,N为大于零的整数。发送和保存单元,将主数据存放在前述选择的存放主数据的节点上,并将KXL/K 个分割后的备份数据片分别向KXL/K个DHT节点发送;所述数据存放单元还包括判断单元,接收所述接收备份数据片的DHT节点的返回信息,当接收的返回信息 的个数大于W时,则存放成功。所述W是整数,1彡W彡L。本发明的实施例还提供一种查询通讯网络用户数据的装置,如图9所示,该装置 包括接收单元,接收查询用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据 的DHT节点信息;查询单元,根据所述DHT节点信息,查找到与所述key值对应的用户数据。所述计算单元包括第二计算单元,得到与所述key值最接近的DHT节点id,该节点上存放了所述key 值对应的用户数据的主数据;根据所述主数据所在DHT节点id,按照规则一或规则二或规 则三或规则四来得到备份数据所在DHT节点id,其中,规则一第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,主数据所在节点的 第iX j个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1 ^ j ^ L/ K)。规则二 第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,主数据所在节点的 第i X j+N个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1彡j彡L/ K),N为大于零的整数。规则三第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,第j个数据片(j 为整数,1彡j彡L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数据 的第j个数据片(j为整数,1彡j彡L/K)。规则四第i份备份数据(i为整数,1 ^ i ^ K)被分成L/K份,第j个数据片(j 为整数,1彡j彡L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+N+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数 据的第j个数据片(j为整数,L/K),N为大于零的整数。所述查询单元包括选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点 发送查询用户数据的请求(x为整数,1彡x彡K+1)。判断单元,接收所述接收查询用户数据的请求的DHT节点的返回信息,当接收的 返回信息的个数大于R时,则查询成功;比较查询获得的多个返回信息中的用户数据,将最 新的用户数据作为查询结果返回。所述R是整数,1彡R彡K+1。所述查询单元中,所述节点信息包括主数据和备份数据所在的节点信息。所述查询单元,与接收单元和计算单元都属于同一节点,或者分别位于不同节点;
13或者所述查询单元位于所述主数据所在节点,或者所述查询单元位于所述备份数据所在节点。本发明的实施例还提供一种更新通讯网络用户数据的装置,如图10所示,该装置 包括接收单元,接收更新用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据 的DHT节点信息;更新单元,根据所述DHT节点信息,更新与所述key值对应的用户数据。所述计算单元包括第二计算单元,得到最接近所述key值的DHT节点id,该节点上存放了所述key值 的用户数据的主数据;根据所述主数据所在DHT节点id,按照规则一或规则二或规则三或 规则四来得到备数据所在DHT节点id,其中,规则一第i份备份数据(i为整数,1≤ i ≤ K)被分成L/K份,主数据所在节点的 第ix j个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤ j ≤ L/ K)。规则二 第i份备份数据(i为整数,1≤ i≤ K)被分成L/K份,主数据所在节点的 第i χ j+N个相邻节点上存放有其中第i个备份数据的第j个数据片(j为整数,1 ≤j ≤L/ K),N为大于零的整数。规则三第i份备份数据(i为整数,1 ≤ i ≤ K)被分成L/K份,第j个数据片(j 为整数,1彡j彡L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数据 的第j个数据片(j为整数,1≤j≤L/K)。规则四第i份备份数据(i为整数,1 ≤ i ≤ K)被分成L/K份,第j个数据片(j 为整数,1≤j≤L/K)的key范围为[Djl Djh],当前DHT叠加网中节点id最接近“key =[Djl Djh]+N+iXjX哈希空间的大小/(KXL+1)”的节点上存放有其中第i个备份数 据的第j个数据片(j为整数,L/K),N为大于零的整数。所述更新单元包括选择单元,从主数据所在节点和备份数据所在节点中选择X个节点,向这X个节点 发送更新用户数据的请求(χ为整数,1彡χ彡K+1)。判断单元,接收所述接收更新用户数据的请求的DHT节点的返回信息,当接收的 返回信息的个数大于W时,则更新成功。所述W是整数,1彡W彡K+1。所述更新单元中,所述节点信息包括主数据和备份数据所在的节点信息。所述更新单元,与接收单元和计算单元都属于同一节点,或者分别位于不同节点; 或者所述更新单元位于所述主数据所在节点,或者所述更新单元位于所述备份数据所在节 点。 本发明提供的数据存放、查询和更新的方法和装置,能够实现电信用户数据的分 布式存储,显著提升了 DHT叠加网络中节点恢复的并行程度,减少了预留给DHT叠加网络维 护工作的系统资源,提高了整个用户数据存储系统的健壮性,减少了 DHT叠加网络中各个 节点之间不必要的消息开销。
权利要求
一种基于分布式哈希表的查询通讯网络用户数据的方法,其特征在于,包括分布式哈希表叠加网中的第一节点接收查询用户数据的请求;根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表节点信息;根据所述分布式哈希表节点信息,查找到与所述key值对应的用户数据。
2.根据权利要求1所述的方法,其特征在于,所述的根据所述key值得出存储所述用户 数据的分布式哈希表节点信息,具体包括得到与所述key值最接近的分布式哈希表节点id,该节点上存放了所述key值对应的 用户数据的主数据;根据所述主数据所在分布式哈希表节点id,按照规则一或规则二或规则三或规则四来 得到备份数据所在分布式哈希表节点id。
3.根据权利要求1所述的方法,其特征在于,所述的根据所述分布式哈希表节点信息, 查找到与所述key值对应的用户数据,具体包括从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送查询用户 数据的请求,x为整数,1 ^ x ^ K+1 ;接收所述接收查询用户数据的请求的分布式哈希表节点的返回信息,当接收的返回信 息的个数大于R时,则查询成功,所述R是整数,1彡R彡K+1 ;比较查询获得的多个返回信息中的用户数据,将最新的数据作为查询结果返回。
4.根据权利要求1所述的方法,其特征在于,所述节点信息包括主数据和备份数据所 在的节点信息。
5.根据权利要求1所述的方法,其特征在于,所述的根据所述分布式哈希表节点信息, 查找到与所述key值对应的用户数据,可以由所述第一节点完成;或者可以由所述第一节点通知所述主数据所在节点,由主 数据所在节点完成;或者可以由所述第一节点通知所述备份数据所在节点,由备份数据所 在节点完成。
6.一种基于分布式哈希表的更新通讯网络用户数据的方法,其特征在于,包括分布式哈希表叠加网中的第一节点接收更新用户数据的请求;根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表 节点信息;根据所述分布式哈希表节点信息,更新与所述key值对应的用户数据。
7.根据权利要求6所述的方法,其特征在于,所述的根据所述的请求,得到key值,根据 所述key值得出存储所述用户数据的分布式哈希表节点信息,具体包括得到最接近所述key值的分布式哈希表节点id,该节点上存放了所述key值的用户数 据的主数据;根据所述主数据所在分布式哈希表节点id,按照规则一或规则二或规则三或规则四来 得到备数据所在分布式哈希表节点id。
8.根据权利要求6所述的方法,其特征在于,所述的根据所述分布式哈希表节点信息, 更新与所述key值对应的用户数据,具体包括从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送更新用户数据的请求,x为整数,1彡x彡K+1。接收所述接收更新用户数据的请求的分布式哈希表节点的返回信息,当接收的返回信 息的个数大于W时,则更新成功,所述W是整数,1彡W彡K+1。
9.根据权利要求6所述的方法,其特征在于,所述节点信息包括主数据和备份数据所 在的节点信息。
10.根据权利要求6所述的方法,其特征在于,所述的根据所述分布式哈希表节点信 息,更新与所述key值对应的用户数据,可以由所述第一节点完成;或者可以由所述第一节点通知所述主数据所在节点,由主 数据所在节点完成;或者可以由所述第一节点通知所述备份数据所在节点,由备份数据所 在节点完成。
11.一种基于分布式哈希表的查询通讯网络用户数据的装置,其特征在于,包括接收单元,接收查询用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分 布式哈希表节点信息;查询单元,根据所述分布式哈希表节点信息,查找到与所述key值对应的用户数据。
12.根据权利要求11所述的装置,其特征在于,所述计算单元包括第二计算单元,得到与所述key值最接近的分布式哈希表节点id,该节点上存放了所 述key值对应的用户数据的主数据;根据所述主数据所在分布式哈希表节点id,按照规则 一或规则二或规则三或规则四来得到备份数据所在分布式哈希表节点id。
13.根据权利要求11所述的装置,其特征在于,所述查询单元包括选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送 查询用户数据的请求,X为整数,1 ^ x ^ K+1 ;判断单元,接收所述接收查询用户数据的请求的分布式哈希表节点的返回信息,当接 收的返回信息的个数大于R时,则查询成功;比较查询获得的多个返回信息中的用户数据, 将最新的用户数据作为查询结果返回;所述R是整数,1 ^ R ^ K+1 ;
14.根据权利要求11所述的装置,其特征在于,所述查询单元中,所述节点信息包括主 数据和备份数据所在的节点信息。
15.根据权利要求11所述的装置,其特征在于,所述查询单元,与接收单元和计算单元 都属于同一节点,或者分别位于不同节点;或者所述查询单元位于所述主数据所在节点,或 者所述查询单元位于所述备份数据所在节点。
16.一种基于分布式哈希表的更新通讯网络用户数据的装置,其特征在于,包括接收单元,接收更新用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分 布式哈希表节点信息;更新单元,根据所述分布式哈希表节点信息,更新与所述key值对应的用户数据。
17.根据权利要求16所述的装置,其特征在于,所述计算单元包括第二计算单元,得到最接近所述key值的分布式哈希表节点id,该节点上存放了所述 key值的用户数据的主数据;根据所述主数据所在分布式哈希表节点id,按照规则一或规 则二或规则三或规则四来得到备数据所在分布式哈希表节点id。
18.根据权利要求16所述的装置,其特征在于,所述更新单元包括选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送 更新用户数据的请求,x为整数,1 ^ x ^ K+1 ;判断单元,接收所述接收更新用户数据的请求的分布式哈希表节点的返回信息,当接 收的返回信息的个数大于W时,则更新成功,所述W是整数,1彡W彡K+1。
19.根据权利要求16所述的装置,其特征在于,所述更新单元中,所述节点信息包括主 数据和备份数据所在的节点信息。
20.根据权利要求16所述的装置,其特征在于,所述更新单元,与接收单元和计算单元 都属于同一节点,或者分别位于不同节点;或者所述更新单元位于所述主数据所在节点,或 者所述更新单元位于所述备份数据所在节点。
21.—种通讯设备,其特征在于,包括基于分布式哈希表的存放通讯网络用户数据的装置,或者 基于分布式哈希表的查询通讯网络用户数据的装置,或者 基于分布式哈希表的更新通讯网络用户数据的装置; 所述的基于分布式哈希表的存放通讯网络用户数据的装置,包括 接收单元,接收待存放的用户数据;数据分割单元,将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于所述 分布式哈希表叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K 为备份数据的总份数,K为大于零的整数;数据存放单元,将所述待存放的用户数据作为主数据,将所述的主数据和KXL/K份分 割后的备份数据分别向1+KXL/K个分布式哈希表节点发送;所述的基于分布式哈希表的查询通讯网络用户数据的装置,包括 接收单元,接收查询用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分 布式哈希表节点信息;查询单元,根据所述分布式哈希表节点信息,查找到与所述key值对应的用户数据; 所述的基于分布式哈希表的更新通讯网络用户数据的装置,包括 接收单元,接收更新用户数据的请求;计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分 布式哈希表节点信息;更新单元,根据所述分布式哈希表节点信息,更新与所述key值对应的用户数据。
全文摘要
为了解决电信网络中集中式用户数据管理带来的缺陷,本发明通过对分布式哈希表(DHT)技术进行改进,并应用到通讯网络的用户数据管理中,实现了一种高效的通讯网络的分布式数据管理系统,克服了原有的集中式数据管理的不足。一种基于DHT的存放通讯网络用户数据的方法,其特征在于,包括DHT叠加网中的第一节点接收待存放的用户数据;将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于或等于所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K为备份数据的总份数,K为大于零的整数;将所述待存放的用户数据作为主数据,将所述的主数据和K×L/K份分割后的备份数据分别存放在1+K×L/K个DHT节点上。
文档编号H04L12/24GK101997726SQ20101056697
公开日2011年3月30日 申请日期2008年2月29日 优先权日2008年2月5日
发明者施广宇, 邬浩, 陈坚, 龚皓 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1