CN101997726B - 电信网络用户数据存储管理的方法及装置 - Google Patents
电信网络用户数据存储管理的方法及装置 Download PDFInfo
- Publication number
- CN101997726B CN101997726B CN2010105669767A CN201010566976A CN101997726B CN 101997726 B CN101997726 B CN 101997726B CN 2010105669767 A CN2010105669767 A CN 2010105669767A CN 201010566976 A CN201010566976 A CN 201010566976A CN 101997726 B CN101997726 B CN 101997726B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- user data
- distributed hashtable
- integer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
为了解决电信网络中集中式用户数据管理带来的缺陷,本发明通过对分布式哈希表(DHT)技术进行改进,并应用到通讯网络的用户数据管理中,实现了一种高效的通讯网络的分布式数据管理***,克服了原有的集中式数据管理的不足。一种基于DHT的存放通讯网络用户数据的方法,其特征在于,包括:DHT叠加网中的第一节点接收待存放的用户数据;将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于或等于所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K为备份数据的总份数,K为大于零的整数;将所述待存放的用户数据作为主数据,将所述的主数据和K×L/K份分割后的备份数据分别存放在1+K×L/K个DHT节点上。
Description
技术领域
本发明涉及电信网络技术领域,尤其涉及一种电信网络用户数据存储管理的方法及装置。
背景技术
电信网络为海量的用户提供电信服务,用户数据是电信网络的关键数据,由专门的电信设备进行存储和管理,如移动通讯网络种的HLR(HomeLocation Register,归属地寄存器)或者HSS(Home Subscriber Server,用户归属服务器)就集中存储了以下的用户信息:签约信息,位置信息,业务限制信息,补充业务及相关参数等。
由于HLR/HSS在电信网络中处于关键位置,而且目前的电信网络中是采用集中式的用户数据管理模式,因此对其可靠性的要求非常苛刻,为了满足不间断运行的要求,普遍采用了本地热备份/本地冗余加上异地容灾备份等非常高的***配置。不过,即使这样,对越来越趋于海量的用户数据,***的维护成本显著上升,可扩展能力明显不足,网络的负荷不均衡,现有的集中式的方案已不能满足要求。
发明内容
为了解决电信网络中集中式用户数据管理带来的缺陷,本发明的实施例提供了一种可以减轻用户数据存储压力的用户数据存储管理的方法及装置。
一种基于DHT的存放通讯网络用户数据的方法,包括:
DHT叠加网中的第一节点接收待存放的用户数据;
将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于或等于所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K为备份数据的总份数,K为大于零的整数;
将所述待存放的用户数据作为主数据,将所述的主数据和K×L/K份分割后的备份数据分别向1+K×L/K个DHT节点发送。
一种基于DHT的查询通讯网络用户数据的方法,包括:
DHT叠加网中的第一节点接收查询用户数据的请求;
根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的DHT节点信息;
根据所述DHT节点信息,查找到与所述key值对应的用户数据。
一种基于DHT的更新通讯网络用户数据的方法,包括:
DHT叠加网中的第一节点接收更新用户数据的请求;
根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的DHT节点信息;
根据所述DHT节点信息,更新与所述key值对应的用户数据。
一种基于DHT的存放通讯网络用户数据的装置,包括:
接收单元,接收待存放的用户数据;
数据分割单元,将所述待存放的用户数据作为备份数据分割成L/K份,所述L大于所述DHT叠加网中的第二节点的下行带宽和可用于数据恢复的上行带宽之比;所述K为备份数据的总份数,K为大于零的整数;
数据存放单元,将所述待存放的用户数据作为主数据,将所述的主数据和K×L/K份分割后的备份数据分别向1+K×L/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卡的编号;或者(3)用户自己的私人号码(如身份证);或者(4)用户的IP地址等等。
考虑到对用户数据高可靠性的要求,需要在通讯网络商对用户数据进行冗余备份,采用一个节点作为主存,多个节点分别存放一份作为备份的形式。为了技术方案叙述的方便,下面的技术方案内容将以一主加两备份总共三份数据为例来叙述,相关技术方案对其它的一主加多备份的情况同样适用。
一、数据的放置
一主加两备份总共三份数据如何放置,可以采用顺序保存的方式(如图1所示),即在哈希空间上各个节点除了保存一份属于自己的主数据外,还要把另外两份副数据依次放在自己与自己相邻的节点上。
也可以按照等分哈希空间的方式放置(如图3),存放备份数据的节点与存放主数据的节点分别位于相邻的1/(K+1)哈希空间上,K为主数据外的备份数据的总份数,例如:K=2时,两份副数据分别存放在主数据所在节点偏移三分之一和三分之二哈希空间的节点上。
以顺序存放为例,如图1所示,A所保存的索引,需要在后续B和C上作备份,那么当A故障的时候,新节点只能从B和C开始下载部分的数据顺序备份。另外在传统的顺序保存机制下,A故障的时候,A所承担的负载由B来承担。
等分哈希空间的传统存放方式如图3所示,以Peer A所保存的区域为【Da~Dz】,同样的一主二副,那么该区域会平移放置在【1/3*HashSpace+Da~1/3*HashSpace+Dz】和【2/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为整数,1≤j≤L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第i×j个相邻节点。或者在上述规则的基础上备份数据所在节点id再整体增加一个偏移量N,即存放在当前处于在线状态的节点中主数据所在节点的第i×j+N个相邻节点上,N为大于零的整数。
在等分哈希空间备份的机制下,假设某个节点负责维护key从1-6000的数据(该节点称为主数据所在节点),K=2,L=6,则数据存储的隐含规则是:
1、对第1份备份数据,被分成L/K=3份;选择的第1个节点是当前处于在线状态的节点中节点id最接近“key=[1-2000]+哈希空间的大小/(K×L+1)”的节点,该节点存放key为1-2000的数据;选择的第2个节点是当前处于在线状态的节点中节点id最接近“key=[2001-4000]+2×哈希空间的大小/(K×L+1)”的节点,存放key为2001-4000的数据;选择的第3个节点是当前处于在线状态的节点中节点id最接近“key=[4001-6000]+3×哈希空间的大小/(K×L+1)”的节点,存放key为4001-6000的数据。
2、对第2份备份数据,选择的第4个节点是当前处于在线状态的节点中节点id最接近“id=key=[1-2000]+4×哈希空间的大小/(K×L+1)”的节点,该节点存放key为1-2000的数据;选择的第5个节点是当前处于在线状态的节点中节点id最接近“key=[2001-4000]+5×哈希空间的大小/(K×L+1)”的节点,存放key为2001-4000的数据;选择的第6个节点是当前处于在线状态的节点中节点id最接近“key=[2001-4000]+6×哈希空间的大小/(K×L+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]+i×j×哈希空间的大小/(K×L+1)”的节点上。或者在上述规则的基础上备份数据的key范围再整体增加一个偏移量N,即存放在当前处于在线状态的节点中节点id最接近“key=[Djl~Djh]+N+i×j×哈希空间的大小/(K×L+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+1,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,将所述待存放的用户数据作为主数据,将所述的主数据和K×L/K份分割后的备份数据分别向1+K×L/K个DHT节点发送。
所述步骤23,根据所述待存放的用户数据得到key值,得到与所述key值最接近的DHT节点id,该节点被选择为存放所述key值对应的用户数据的主数据;
所述步骤23,分割后的备份数据的存放的DHT节点按照规则一或规则二或规则三或规则四来选择,其中,
规则一:第i份备份数据(i为整数,1≤i≤K)被分成L/K份,其中第j个数据片(j为整数,1≤j≤L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第i×j个相邻节点上。
规则二:第i份备份数据(i为整数,1≤i≤K)被分成L/K份,其中第j个数据片(j为整数,1≤j≤L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第i×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]+i×j×哈希空间的大小/(K×L+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+i×j×哈希空间的大小/(K×L+1)”的节点上,N为大于零的整数。
所述步骤23具体包括:
步骤231:将主数据存放在前述选择的存放主数据的节点上,并将K×L/K个分割后的备份数据片分别向K×L/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份,主数据所在节点的第i×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]+i×j×哈希空间的大小/(K×L+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+i×j×哈希空间的大小/(K×L+1)”的节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤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份,主数据所在节点的第i×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]+i×j×哈希空间的大小/(K×L+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+i×j×哈希空间的大小/(K×L+1)”的节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤j≤L/K),N为大于零的整数。
所述步骤43具体包括:
步骤431:从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送更新用户数据的请求(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为大于零的整数。
数据存放单元,将所述待存放的用户数据作为主数据,将所述的主数据和K×L/K份分割后的备份数据分别向1+K×L/K个DHT节点发送。
所述数据存放单元具体包括:
第一数据计算单元,根据所述待存放的用户数据得到key值,得到与所述key值最接近的DHT节点id,该节点被选择为存放所述key值对应的用户数据的主数据。
第二数据计算单元,按照规则一或规则二或规则三或规则四来选择存放分割后的备份数据的DHT节点,其中,
规则一:第i份备份数据(i为整数,1≤i≤K)被分成L/K份,其中第j个数据片(j为整数,1≤j≤L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第i×j个相邻节点上。
规则二:第i份备份数据(i为整数,1≤i≤K)被分成L/K份,其中第j个数据片(j为整数,1≤j≤L/K),选择存放在当前处于在线状态的节点中主数据所在节点的第i×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]+i×j×哈希空间的大小/(K×L+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+i×j×哈希空间的大小/(K×L+1)”的节点上,N为大于零的整数。
发送和保存单元,将主数据存放在前述选择的存放主数据的节点上,并将K×L/K个分割后的备份数据片分别向K×L/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份,主数据所在节点的第i×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]+i×j×哈希空间的大小/(K×L+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+i×j×哈希空间的大小/(K×L+1)”的节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤j≤L/K),N为大于零的整数。
所述查询单元包括:
选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送查询用户数据的请求(x为整数,1≤x≤K+1)。
判断单元,接收所述接收查询用户数据的请求的DHT节点的返回信息,当接收的返回信息的个数大于R时,则查询成功;比较查询获得的多个返回信息中的用户数据,将最新的用户数据作为查询结果返回。所述R是整数,1≤R≤K+1。
所述查询单元中,所述节点信息包括主数据和备份数据所在的节点信息。
所述查询单元,与接收单元和计算单元都属于同一节点,或者分别位于不同节点;或者所述查询单元位于所述主数据所在节点,或者所述查询单元位于所述备份数据所在节点。
本发明的实施例还提供一种更新通讯网络用户数据的装置,如图10所示,该装置包括:
接收单元,接收更新用户数据的请求;
计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的DHT节点信息;
更新单元,根据所述DHT节点信息,更新与所述key值对应的用户数据。
所述计算单元包括:
第二计算单元,得到最接近所述key值的DHT节点id,该节点上存放了所述key值的用户数据的主数据;根据所述主数据所在DHT节点id,按照规则一或规则二或规则三或规则四来得到备数据所在DHT节点id,其中,
规则一:第i份备份数据(i为整数,1≤i≤K)被分成L/K份,主数据所在节点的第i×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]+i×j×哈希空间的大小/(K×L+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+i×j×哈希空间的大小/(K×L+1)”的节点上存放有其中第i个备份数据的第j个数据片(j为整数,1≤j≤L/K),N为大于零的整数。
所述更新单元包括:
选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送更新用户数据的请求(x为整数,1≤x≤K+1)。
判断单元,接收所述接收更新用户数据的请求的DHT节点的返回信息,当接收的返回信息的个数大于W时,则更新成功。所述W是整数,1≤W≤K+1。
所述更新单元中,所述节点信息包括主数据和备份数据所在的节点信息。
所述更新单元,与接收单元和计算单元都属于同一节点,或者分别位于不同节点;或者所述更新单元位于所述主数据所在节点,或者所述更新单元位于所述备份数据所在节点。
本发明提供的数据存放、查询和更新的方法和装置,能够实现电信用户数据的分布式存储,显著提升了DHT叠加网络中节点恢复的并行程度,减少了预留给DHT叠加网络维护工作的***资源,提高了整个用户数据存储***的健壮性,减少了DHT叠加网络中各个节点之间不必要的消息开销。
Claims (16)
1.一种基于分布式哈希表的查询通讯网络用户数据的方法,其特征在于,包括:
分布式哈希表叠加网中的第一节点接收查询用户数据的请求;
根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表节点信息;
根据所述分布式哈希表节点信息,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个所述节点发送查询用户数据的请求,x为整数,1≤x≤K+1,所述K为主数据外的备份数据的总份数;
接收所述接收查询用户数据的请求的分布式哈希表节点的返回信息,当接收的返回信息的个数大于R时,则查询成功,所述R是整数,表示实现查询请求成功所需的最小副本数,1≤R≤K+1;
比较查询获得的多个返回信息中的用户数据,将最新的数据作为查询结果。
2.根据权利要求1所述的方法,其特征在于,所述的根据所述key值得出存储所述用户数据的分布式哈希表节点信息,具体包括:
得到与所述key值最接近的分布式哈希表节点id,该节点上存放了所述key值对应的用户数据的主数据;
根据所述主数据所在分布式哈希表节点id,获得备份数据所在分布式哈希表节点id。
3.根据权利要求1所述的方法,其特征在于,所述节点信息包括主数据和备份数据所在的节点信息。
4.根据权利要求1所述的方法,其特征在于,所述的根据所述分布式哈希表节点信息,查找到与所述key值对应的用户数据,
可以由所述第一节点完成;或者可以由所述第一节点通知所述主数据所在节点,由主数据所在节点完成;或者可以由所述第一节点通知所述备份数据所在节点,由备份数据所在节点完成。
5.一种基于分布式哈希表的更新通讯网络用户数据的方法,其特征在于,包括:
分布式哈希表叠加网中的第一节点接收更新用户数据的请求;
根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表节点信息;
根据所述分布式哈希表节点信息,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个所述节点发送更新用户数据的请求,x为整数,1≤x≤K+1,所述K为主数据外的备份数据的总份数;
接收所述接收更新用户数据的请求的分布式哈希表节点的返回信息,当接收的返回信息的个数大于W时,则更新成功,所述W是整数,表示更新请求成功所需的最小副本数,1≤W≤K+1。
6.根据权利要求5所述的方法,其特征在于,所述的根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表节点信息,具体包括:
得到最接近所述key值的分布式哈希表节点id,该节点上存放了所述key值的用户数据的主数据;
根据所述主数据所在分布式哈希表节点id,获得备数据所在分布式哈希表节点id。
7.根据权利要求5所述的方法,其特征在于,所述节点信息包括主数据和备份数据所在的节点信息。
8.根据权利要求5所述的方法,其特征在于,所述的根据所述分布式哈希表节点信息,更新与所述key值对应的用户数据,
可以由所述第一节点完成;或者可以由所述第一节点通知所述主数据所在节点,由主数据所在节点完成;或者可以由所述第一节点通知所述备份数据所在节点,由备份数据所在节点完成。
9.一种基于分布式哈希表的查询通讯网络用户数据的装置,其特征在于,包括:
接收单元,接收查询用户数据的请求;
计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表节点信息;
查询单元,根据所述分布式哈希表节点信息,查找到与所述key值对应的用户数据,
其中所述查询单元包括:
选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送查询用户数据的请求,x为整数,1≤x≤K+1,所述K为主数据外的备份数据的总份数;
判断单元,接收所述接收查询用户数据的请求的分布式哈希表节点的返回信息,当接收的返回信息的个数大于R时,则查询成功;比较查询获得的多个返回信息中的用户数据,将最新的用户数据作为查询结果返回;所述R是整数,表示实现查询请求成功所需的最小副本数,1≤R≤K+1。
10.根据权利要求9所述的装置,其特征在于,所述计算单元包括:
第二计算单元,得到与所述key值最接近的分布式哈希表节点id,该节点上存放了所述key值对应的用户数据的主数据;根据所述主数据所在分布式哈希表节点id获得备份数据所在分布式哈希表节点id。
11.根据权利要求9所述的装置,其特征在于,所述查询单元中,所述节点信息包括主数据和备份数据所在的节点信息。
12.根据权利要求9所述的装置,其特征在于,所述查询单元,与接收单元和计算单元都属于同一节点,或者分别位于不同节点;或者所述查询单元位于所述主数据所在节点,或者所述查询单元位于所述备份数据所在节点。
13.一种基于分布式哈希表的更新通讯网络用户数据的装置,其特征在于,包括:
接收单元,接收更新用户数据的请求;
计算单元,根据所述的请求,得到key值,根据所述key值得出存储所述用户数据的分布式哈希表节点信息;
更新单元,根据所述分布式哈希表节点信息,更新与所述key值对应的用户数据,
其中所述更新单元包括:
选择单元,从主数据所在节点和备份数据所在节点中选择x个节点,向这x个节点发送更新用户数据的请求,x为整数,1≤x≤K+1,所述K为主数据外的备份数据的总份数;
判断单元,接收所述接收更新用户数据的请求的分布式哈希表节点的返回信息,当接收的返回信息的个数大于W时,则更新成功,所述W是整数,表示更新请求成功所需的最小副本数,1≤W≤K+1。
14.根据权利要求13所述的装置,其特征在于,所述计算单元包括:
第二计算单元,得到最接近所述key值的分布式哈希表节点id,该节点上存放了所述key值的用户数据的主数据;根据所述主数据所在分布式哈希表节点id,按照规则一或规则二或规则三或规则四来得到备数据所在分布式哈希表节点id。
15.根据权利要求13所述的装置,其特征在于,所述更新单元中,所述节点信息包括主数据和备份数据所在的节点信息。
16.根据权利要求13所述的装置,其特征在于,所述更新单元,与接收单元和计算单元都属于同一节点,或者分别位于不同节点;或者所述更新单元位于所述主数据所在节点,或者所述更新单元位于所述备份数据所在节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105669767A CN101997726B (zh) | 2008-02-05 | 2008-02-29 | 电信网络用户数据存储管理的方法及装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810065362 | 2008-02-05 | ||
CN200810065362.3 | 2008-02-05 | ||
CN2010105669767A CN101997726B (zh) | 2008-02-05 | 2008-02-29 | 电信网络用户数据存储管理的方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810082876XA Division CN101505473B (zh) | 2008-02-05 | 2008-02-29 | 电信网络用户数据存储管理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101997726A CN101997726A (zh) | 2011-03-30 |
CN101997726B true CN101997726B (zh) | 2012-10-03 |
Family
ID=40977489
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105669767A Active CN101997726B (zh) | 2008-02-05 | 2008-02-29 | 电信网络用户数据存储管理的方法及装置 |
CN200810082876XA Expired - Fee Related CN101505473B (zh) | 2008-02-05 | 2008-02-29 | 电信网络用户数据存储管理的方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810082876XA Expired - Fee Related CN101505473B (zh) | 2008-02-05 | 2008-02-29 | 电信网络用户数据存储管理的方法及装置 |
Country Status (3)
Country | Link |
---|---|
CN (2) | CN101997726B (zh) |
AT (1) | ATE470325T1 (zh) |
DE (1) | DE602008001432D1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973810B (zh) * | 2014-05-22 | 2018-01-16 | 华为技术有限公司 | 基于互联网协议ip盘的数据处理方法和装置 |
CN109660493B (zh) * | 2017-10-11 | 2020-12-18 | 南京南瑞继保电气有限公司 | 一种基于区块链的新能源集控云存储方法 |
CN108829539A (zh) * | 2018-06-08 | 2018-11-16 | 中国联合网络通信集团有限公司 | 数据备份、数据恢复方法及设备 |
CN110532271A (zh) * | 2019-08-30 | 2019-12-03 | 北京浪潮数据技术有限公司 | 基于dht算法实现的分布式存储方法、控制***及装置 |
CN111352938B (zh) * | 2020-02-26 | 2023-07-18 | 深圳市迅雷网络技术有限公司 | 数据处理方法、计算机设备及存储介质 |
CN113010119B (zh) * | 2021-04-27 | 2022-09-30 | 宏图智能物流股份有限公司 | 一种通过主备方式实现语音数据分布式存储的方法 |
CN113655969B (zh) * | 2021-08-25 | 2022-09-16 | 北京中电兴发科技有限公司 | 一种基于流式分布式存储***的数据均衡存储方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1331331C (zh) * | 2004-04-27 | 2007-08-08 | 国家数字交换***工程技术研究中心 | 自组织网络的实现方法 |
CN101043695A (zh) * | 2006-03-23 | 2007-09-26 | 上海宇梦通信科技有限公司 | 一种在移动通信***内存储和维护用户设备信息的方法 |
-
2008
- 2008-02-29 CN CN2010105669767A patent/CN101997726B/zh active Active
- 2008-02-29 CN CN200810082876XA patent/CN101505473B/zh not_active Expired - Fee Related
- 2008-12-18 DE DE200860001432 patent/DE602008001432D1/de active Active
- 2008-12-18 AT AT08172134T patent/ATE470325T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN101997726A (zh) | 2011-03-30 |
CN101505473A (zh) | 2009-08-12 |
DE602008001432D1 (de) | 2010-07-15 |
ATE470325T1 (de) | 2010-06-15 |
CN101505473B (zh) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101997726B (zh) | 电信网络用户数据存储管理的方法及装置 | |
CN107193490B (zh) | 一种基于区块链的分布式数据存储***及方法 | |
EP2429120A1 (en) | Distributed network management system, network element management server, and data configuration management method | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其*** | |
EP2086204A2 (en) | Method and system for data synchronisation between network devices | |
CN101626563B (zh) | 一种通信网络中的数据存储***及信息处理方法 | |
CN102411639B (zh) | 元数据的多副本存储管理方法和*** | |
CN102761861A (zh) | 信息的更新方法、服务器以及信息的更新*** | |
CN101751415B (zh) | 元数据服务***、元数据同步方法与写服务器更新方法 | |
CN102098342A (zh) | 一种基于事务级的数据同步方法、装置及*** | |
CN101635680B (zh) | 一种业务路由方法和*** | |
US7860827B1 (en) | Data synchronization method for an application database available on multiple wirelessly connected platforms | |
CN103902410A (zh) | 云存储***的数据备份加速方法 | |
CN107734017B (zh) | 数据服务方法及*** | |
CN104580395A (zh) | 一种基于现存云存储平台的多云协同存储中间件*** | |
EP2088808B1 (en) | Methods and apparatuses for processing and managing subscriber data in telecommunication network | |
CN103428288B (zh) | 基于分区状态表和协调节点的副本同步方法 | |
CN105069152A (zh) | 数据处理方法及装置 | |
CN109525633B (zh) | 区块链网络、基于区块链网络的消息发送、消息接收方法 | |
CN114422331A (zh) | 容灾切换方法、装置及*** | |
CN105975614A (zh) | 一种集群配置装置、一种更新数据的方法及装置 | |
CN101834914B (zh) | 一种身份与位置映射关系的实现方法 | |
CN102594874A (zh) | 一种同步处理方法和装置 | |
CN111460029B (zh) | 数据同步方法和装置 | |
CN100407623C (zh) | 一种通信***中用户数据更新的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |