CN101626563B - 一种通信网络中的数据存储***及信息处理方法 - Google Patents

一种通信网络中的数据存储***及信息处理方法 Download PDF

Info

Publication number
CN101626563B
CN101626563B CN2008101163212A CN200810116321A CN101626563B CN 101626563 B CN101626563 B CN 101626563B CN 2008101163212 A CN2008101163212 A CN 2008101163212A CN 200810116321 A CN200810116321 A CN 200810116321A CN 101626563 B CN101626563 B CN 101626563B
Authority
CN
China
Prior art keywords
node
data
memory node
guid
memory
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
Application number
CN2008101163212A
Other languages
English (en)
Other versions
CN101626563A (zh
Inventor
薛海强
欧阳聪星
魏冰
王晓云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN2008101163212A priority Critical patent/CN101626563B/zh
Priority to US12/499,375 priority patent/US8670449B2/en
Publication of CN101626563A publication Critical patent/CN101626563A/zh
Application granted granted Critical
Publication of CN101626563B publication Critical patent/CN101626563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4588Network directories; Name-to-address mapping containing mobile subscriber information, e.g. home subscriber server [HSS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种通信网络中的数据存储***,用于实现数据的分布式存储。所述***包括:前端节点、存储节点、超级节点和管理节点;计算单元,位于前端节点、超级节点或存储节点内,用于按照预设的固定偏移量对第一数据GUID进行计算获得第二数据GUID,根据从管理节点处获得的环链信息和第二数据GUID,确定节点标识与第二数据GUID最接近的超级节点,以及将携带有第二数据GUID、数据信息和备份标志的***请求转发给确定的超级节点。本发明还公开了利用所述***进行信息处理的方法。

Description

一种通信网络中的数据存储***及信息处理方法
技术领域
本发明涉及通信领域,特别是涉及通信网络中的数据存储***及信息处理方法。
背景技术
归属签约用户服务器(Home Subscriber Server,HSS)是集中的用户数据库***,存放着用户的认证信息、用户的业务信息、用户的漫游信息、交由哪个核心网络为这个用户服务的有关信息和授权功能(Authentication,Authorization and Accounting,AAA)等等。HSS也用来记录用户的原始计费数据,并提供给分拣***出账单。
目前的IP多媒体子***(IP Multimedia System,IMS)架构是采用集中式存储结构,一个HSS通常存储百万以上用户的信息,而且必须支持每秒1000次的查询和100次的修改。对HSS的性能要求较高,使得通常HSS的造价也比较高。并且,为了保证电信级的***的99.999%的可靠性,HSS至少采用一台主机和一台备用机,当主设备发生故障时,备用设备承担原来加在主设备上的负载,原本极高的硬件成本增加了一倍,并且如果备用机与主机不在同一物理地址,则当主机故障后备用机启动时,存在时延,如果备用机与主机在同一物理地址,则当主机故障时备用机也很可能故障。同样的,对于HSS的这种集中式存储方式,通常只能靠提高硬件水平来提高IMS架构的存储性能,然而硬件水平的提高是比较困难的,也不方便网络拓扑,很难跟上迅速增长中的用户的需要。
同时,目前的IMS架构所要求的方案中区分漫游地和归属地,一台HSS只为本地的S-CSCF提供用户数据,当某个用户漫游到其它地区时,需要首先在漫游地注册VLR,再通过VLR从归属地的HSS获得用户信息,实现过程比较繁琐,需要较多的信令流程。
发明内容
本发明实施例提供一种通信网络中的数据存储***及信息处理方法,用于实现数据的分布式存储。
一种通信网络中的数据存储***,包括:前端节点、存储节点、超级节点和管理节点;
管理节点,用于依据预设的哈希空间为存储节点和超级节点分配节点标识,并依据该节点标识将存储节点和超级节点组合成一条环链,以及保存环链信息,所述环链信息包括具有顺序关系的节点标识及该节点标识对应的路由信息;
前端节点,用于接收带有数据标识和数据信息的***请求,并通过具有所述哈希空间的哈希算法对数据标识进行计算,获得第一数据全局统一标识符GUID,以及通过从管理节点处获得的超级节点的环链信息,按照节点标识与第一数据GUID最接近的超级节点的路由信息,将携带有第一数据GUID的***请求发送给所述最接近的超级节点;
超级节点,用于接收到携带有数据GUID的***请求时,依据从管理节点处获得的关于超级节点和自身负责的存储节点的环链信息,确定节点标识与该数据GUID最接近的存储节点为应处理该***请求的存储节点;
存储节点,用于根据收到的***请求存储数据信息。
一种基于上述数据存储***的***数据信息的方法,包括以下步骤:
前端节点接收携带有数据标识和对应的数据信息的***请求;并
根据预设的哈希算法对数据标识计算,获得第一数据GUID;以及
按照预设的固定偏移量对第一数据GUID进行计算,获得第二数据GUID,并建立备份标志与第二数据GUID的对应关系;
超级节点依据第一数据GUID、第二数据GUID和包含存储节点的节点标识的环链信息,分别确定节点标识与第一数据GUID、第二数据GUID最接近的存储节点;并
指示负责第一数据GUID的存储节点根据所述***请求***数据信息,以及指示负责第二数据GUID存储节点根据所述***请求***用备份标志标记的数据信息。
一种基于上述数据存储***的查询数据信息的方法,包括以下步骤:
前端节点接收携带有数据标识的查询请求;并
根据预设的哈希算法对数据标识计算,获得第一数据GUID;
超级节点依据第一数据GUID和包含存储节点的节点标识的环链信息,确定节点标识与数据GUID最接近的第一存储节点;并
当第一存储节点不对外提供服务时,按照预设的固定偏移量对第一数据GUID进行计算并获得第二数据GUID,确定节点标识与第二数据GUID最接近的第二存储节点;以及
指示第二存储节点处理所述查询请求并从用备份标志标记的数据信息中获得需要查询的数据信息。
一种基于上述数据存储***的存储数据信息的方法,包括以下步骤:
第一存储节点的前驱存储节点和/或后继存储节点根据预设的固定偏移量对第一存储节点中的第一数据GUID进行计算并获得第二数据GUID,并将计算后的第二数据GUID发送给自身归属的超级节点;
该超级节点依据包含存储节点的节点标识的环链信息,确定节点标识与第二数据GUID最接近的第二存储节点,并从该第二存储节点获得第一存储节点的备份数据信息,并转发给第一存储节点的前驱存储节点和/或后继存储节点;
第一存储节点的前驱存储节点和/或后继存储节点将第二存储节点中第二数据GUID对应的用备份标志标记的数据信息与本地的数据信息比较;并
当在时间方面晚于本地的数据信息时,则获得并保存第二存储节点中关于第一存储节点的备份数据信息。
本发明实施例提供了一种数据存储***,实现了数据信息的分布式存储,若将该***应用到对现有HSS的改进,则用分布式结构代替了现有的集中式结构,用多个普通服务器代替了目前成本高昂的HSS,节约了组网成本。并且,该***是全网分布的,不再区分漫游地和归属地,节省了VLR注册过程,在任何地区都可快速的查找到需要的用户信息,节约信令流程,提高了处理速度和节省了***资源。本发明实施例还通过哈希空间为***中的超级节点和存储节点分配节点标识,以构成一条环链,通过前端节点、超级节点和存储节点这三层结构使得在任何地区都可以在两跳之内查找到需要的数据信息,处理速度得到进一步提高,并且该环链结构便于维护和扩展。同时,本发明实施例在数据存储***中存有多份数据信息,当某个存储节点退出服务时,相应的存储节点可立刻提供服务,省略了备份机探测主机的过程,有效维护了业务的连续性和保证了数据信息的及时处理。以及,本发明实施例中的存储数据信息的方法,可以在某个存储节点退出服务时,可由其它存储节点主动复制一份备份数据信息,保持数据存储***中存有多份数据信息,避免多个存储节点同时退出服务后对***的影响。
附图说明
图1为本发明实施例中数据存储***的结构图;
图2为本发明实施例中包含计算单元的数据存储***的结构图;
图3为本发明实施例中***数据信息的方法流程图;
图4为本发明实施例中查询数据信息的方法流程图;
图5为本发明实施例中存储数据信息的方法流程图。
具体实施方式
本发明实施例通过前端节点、超级节点和存储节点来实现数据的分布式存储,并利用管理节点来管理上述三种节点所构成的数据存储***。同时,在数据存储***中的不同存储节点上存有多份数据信息,以达到备份的目的,由于数据存储***中的存储节点不区分主机和备用机,所以在一个存储节点失效时,存有其备份数据信息的存储节点可立刻代替该失效的存储节点。并且,存储节点是离散式分布,如按照地区分布等,存有相同数据信息的存储节点同时失效的可能性极低。
本实施例中的数据存储***主要适用于通信网络,可存储通信网络中的用户信息或业务信息等,本实施例将可存储的信息统称为数据信息,用于标识数据信息的标志为数据标识。
参见图1,本实施例提供一种数据存储***,其包括前端节点、存储节点、超级节点和管理节点。
管理节点,用于依据预设的哈希空间为存储节点和超级节点分配节点标识,并依据该节点标识将存储节点和超级节点组成一条环链,以及保存环链信息。较佳的方式是依据节点标识的大小顺序构建环链信息,便于节点的查找。环链信息包括具有顺序关系的节点标识及与该节点标识对应的路由信息。管理节点还用于在有存储节点或超级节点增加或退出时更新环链信息,还可以将更新后的环链信息主动发送给与增加或退出的存储节点或超级节点在环链中有关的存储节点和超级节点,以及发送给前端节点,或者发送给所有的超级节点和存储节点。
与增加或退出的存储节点有关的存储节点和超级节点包括:增加或退出的存储节点在环链中的前驱存储节点和/或后继存储节点、和增加或退出的存储节点所归属的超级节点;与增加或退出的超级节点有关的存储节点和超级节点包括:增加或退出的超级节点在环链中的前驱超级节点和/或后继超级节点、和增加或退出的超级节点所负责的存储节点。
环链信息形如:
表1、实施例1、环链信息
  节点标识   路由信息(IP地址、端口等)
  节点1   IP1
  节点2   IP2
...... ......
表1中在节点标识一列中,节点标识按数值大小由上到下排列,表中末尾处的节点标识与首位节点标识相邻,由此构成一条环链。
表2、实例2、索引信息
  节点标识   路由信息   前驱节点标识   后继节点标识   状态
  ......   ......   ......   ......   上线/离线
由于表2中明确记载了节点的前驱后继关系,所以节点标识一列不需要按顺序排列。并且,通过“状态”信息来标识各节点是否能够对外提供服务,“上线”表示可以,“离线”表示不可以。
前端节点,用于接收带有数据标识和数据信息的***请求,并通过具有所述哈希空间的哈希算法对数据标识进行计算,获得第一数据全局统一标识符(GUID,Global Unique ID),以及通过从管理节点处获得的超级节点的环链信息,将携带有第一数据GUID的***请求发送给节点标识与第一数据GUID最接近的超级节点。前端节点若从超级节点处获得存储节点的路由信息,则缓存该路由信息及与本次***请求对应的数据GUID(***请求对应有数据标识,数据标识与数据GUID一一对应,则***请求与数据GUID存在对应关系),当收到***请求(或查询请求、删除请求、更新请求)时,先查询本地的缓存中是否存有能够处理该请求的存储节点的路由信息,若有,则直接向该存储节点发送业务请求,否则将该***请求发送给超级节点。前端节点可以定期向管理节点请求最新的环链信息。
GUID由于其唯一标识性,应用非常广泛,可用于注册表、数据库、节点标识、用户等,本发明实施例中的各节点的GUID(即节点标识)是通过哈希算法运算各节点的IP地址(或UDP等)而得到的,数据GUID是通过哈希算法运算数据标识而得到的。
与数据GUID最接近的节点是指:大于数据GUID的节点标识中的最小节点标识对应的节点;或者,小于数据GUID的节点标识中的最大节点标识对应的节点。
计算单元,位于前端节点、超级节点或存储节点内,用于按照预设的固定偏移量对第一数据GUID进行计算获得第二数据GUID,根据从管理节点处获得的环链信息和第二数据GUID,确定节点标识与第二数据GUID最接近的超级节点,以及将携带有第二数据GUID、数据信息和备份标志的***请求转发给所确定的超级节点。参见图2所示。
超级节点,用于接收到携带有数据GUID的***请求时,依据从管理节点处获得的关于超级节点和自身负责的存储节点的环链信息,确定节点标识与该数据GUID最接近的存储节点为应处理该***请求的存储节点。超级节点还用于根据***请求***数据信息,当确定本地不负责处理所述***请求时,确定节点标识与该数据GUID最接近的存储节点为应处理该***请求的存储节点。超级节点可以直接向确定的存储节点发送***请求,或者,超级节点将确定的存储节点的路由信息发送给前端节点,由前端节点直接向存储节点发送***请求。超级节点可以定期向管理节点请求最新的环链信息,也可以在获知自身负责的存储节点、自身的前驱超级节点或自身的后继超级节点退出提供服务时向管理节点请求最新的环链信息。超级节点还用于保存包含数据GUID和存储节点的节点标识的索引信息,当收到***请求(或删除请求)时可能需要更新索引信息。超级节点兼具了索引和存储的功能,该索引功能使得数据信息的查找或***等操作从前端节点到存储节点在两跳之内完成,加快了数据信息的处理速度。超级节点的存储功能相当于下面介绍的存储节点,充分利用了超级节点的存储和处理能力,使得存储节点的数量减少,从而减少了环链中节点的数量,节约设备成本。
存储节点,用于根据收到的***请求存储数据信息,当***请求携带有备份标志时,用备份标志标记存储的数据信息。存储节点可以定期向管理节点请求最新的环链信息,也可以在获知自身归属的超级节点、自身的前驱存储节点或自身的后继存储节点退出提供服务时向管理节点请求最新的环链信息。存储节点还用于在获知自身在环链中的前驱存储节点或后继存储节点不对外提供服务时,从前驱存储节点或后继存储节点归属的超级节点处获得关于前驱存储节点或后继存储节点的索引信息,并通过指示计算单元对索引信息中的数据GUID进行计算、计算后确定的超级节点、以及确定的超级节点依据计算后的数据GUID所确定的存储节点,从确定的存储节点处获得关于前驱存储节点或后继存储节点的数据信息。
本实施例中的固定偏移量可以使偏移计算前的数据GUID与计算后的数据GUID定位到不同的存储节点(可能是相同或不同的超级节点),以此来实现不同的存储节点存储相同的数据信息,依据第一数据GUID存储的数据信息被标记为主数据信息,依据偏移计算的第二数据GUID存储的数据信息用备份标志标记为备份数据信息,这样便可避免计算后的数据GUID与某个数据GUID相同而导致的冲突。超级节点通过索引信息可以实时知道自身负责的各存储节点上存有的数据GUID,有助于确定与数据GUID对应的备份数据信息,方便存储节点恢复对外提供服务时重新获得应自身负责的数据信息,或者方便退出的存储节点的前驱存储节点或后继存储节点获得退出的存储节点的备份数据信息,达到数据存储***中保持多份数据信息的目的,防止业务中断和数据信息的丢失。
当计算单元位于前端节点时,前端节点依据预设的哈希算法对业务请求中的数据标识进行计算,通过计算后得到的第一数据GUID(如10050)确定第一超级节点,同时,根据预设的固定偏移量(如2∧32)对第一数据GUID计算,通过计算后得到的第二数据GUID(即10050+2∧32所得到的值)确定第二超级节点(可能与第一超级节点是同一节点)。然后前端节点分别向第一超级节点和第二超级节点发送***请求,***请求中携带有各自对应的数据GUID,发送给第二超级节点的***请求还携带有备份标志。第一超级节点和第二超级节点处理业务请求的方式类似,参见前述的对超级节点的介绍。
当计算单元位于超级节点时,第一超级节点在收到前端节点发送的业务请求后,根据预设的固定偏移量对第一数据GUID计算,通过计算后得到的第二数据GUID确定第二超级节点(可能与第一超级节点是同一节点)。第一超级节点依据第一数据GUID向存储节点发送***请求,以及依据第二数据GUID向第二超级节点发送***请求,该***请求还携带有备份标志。两次***请求的发送顺序无严格要求,可同时进行。第二超级节点再依据第二数据GUID向确定的存储节点发送***请求。
当计算单元位于存储节点时,第一存储节点收到第一超级节点发送的***请求后,处理***请求,并根据预设的固定偏移量对第一数据GUID计算,将携带有计算后的第二数据GUID和备份标志的***请求发送给第一超级节点,第一超级节点将***请求转发给对应的第二超级节点(可能与第一超级节点是同一节点,则转发过程省略)。第二超级节点依据第二数据GUID确定处理业务请求的第二存储节点并向其发送***请求。
本实施例将***请求、查询请求、更新请求和删除请求统称为业务请求。以上介绍了各节点在处理***请求时的功能和连接关系,处理更新请求和删除请求的功能和连接关系同***请求,在此不再赘述。在处理查询请求时,在发现存有主数据信息的存储节点不可用时,依据固定偏移量对第一数据GUID计算后得到第二数据GUID,并依据第二数据GUID到相应的存储节点查询备份数据信息。由于各种业务请求的不同,使得具体处理过程有所不同,下面针对各种业务请求的处理过程进行介绍。
参见图3,本实施例中***数据信息的方法流程如下:
步骤301:接收携带有数据标识和对应的数据信息的***请求。
步骤302:根据预设的哈希算法对数据标识计算,获得第一数据GUID。
步骤303:按照预设的固定偏移量对第一数据GUID进行计算,获得第二数据GUID,并建立备份标志与第二数据GUID的对应关系。
步骤304:依据第一数据GUID、第二数据GUID和包含存储节点的节点标识的环链信息,分别确定节点标识与第一数据GUID、第二数据GUID最接近的存储节点。
步骤305:指示负责第一数据GUID的存储节点根据所述***请求***数据信息,以及指示负责第二数据GUID存储节点根据所述***请求***用备份标志标记的数据信息。
若备份数据信息不只一份,则可按照预设的固定偏移量对第二数据GUID继续计算,以再***一份备份数据信息。
关于删除请求和更新请求的处理流程与***数据信息的过程类似,负责***请求的存储节点负责处理删除请求或更新请求,因此对于删除数据信息和更新数据信息的过程不再赘述。
参见图4,本实施例中查询数据信息的方法流程如下:
步骤401:接收携带有数据标识的查询请求。
步骤402:根据预设的哈希算法对数据标识计算,获得第一数据GUID。
步骤403:依据第一数据GUID和包含存储节点的节点标识的环链信息,确定节点标识与数据GUID最接近的第一存储节点。
步骤404:当第一存储节点不对外提供服务时,按照预设的固定偏移量对第一数据GUID进行计算并获得第二数据GUID,确定节点标识与第二数据GUID最接近的第二存储节点。第一存储节点不对外提供服务的原因可能是因为故障失效所以不能对外提供服务,或者是需要升级等操作暂时不对外提供服务,还可能是其它原因。
步骤405:指示第二存储节点处理所述查询请求并从用备份标志标记的数据信息中获得需要查询的数据信息。
确定第一存储节点不对外提供服务的有第一存储节点自身(即主动退出)、第一存储节点的前驱存储节点、第一存储节点的后继存储节点、第一存储节点归属的超级节点或前端节点。前驱存储节点和后继存储节点通过定期向第一存储节点发送探测信号发现第一存储节点不对外提供服务。前驱存储节点和后继存储节点发现第一存储节点不对外提供服务后,直接或通过归属的超级节点向管理节点报告。超级节点和前端节点通过向第一存储节点发送业务请求后未收到反馈消息,则发现第一存储节点不对外提供服务,超级节点和前端节点进一步向管理节点报告。第一存储节点主动退出时,需要直接或通过归属的超级节点向管理节点报告。
当前端节点连接第一超级节点失败时,则前端节点可将业务请求发送给第一超级节点的前驱超级节点或后继超级节点,或者通过固定偏移量对第一数据GUID计算,利用第二数据GUID确定第二超级节点,并向第二超级节点发送业务请求。
节点的加入或退出都影响着环链,也可能影响数据信息的存储,参见图5所示,本实施例中存储数据信息的方法流程如下:
步骤501:根据预设的固定偏移量对第一存储节点中的第一数据GUID进行计算并获得第二数据GUID。
步骤502:依据包含存储节点的节点标识的环链信息,确定节点标识与第二数据GUID最接近的第二存储节点。
步骤503:将第二存储节点中第二数据GUID对应的用备份标志标记的数据信息与本地的数据信息比较。
步骤504:当在时间方面晚于本地的数据信息时,则获得并保存第二存储节点中关于第一存储节点的备份数据信息。
当第一存储节点退出后,尤其是第一存储节点在一段时间内未恢复时,第一存储节点的前驱存储节点和/或后继存储节点从第一存储节点归属的超级节点处获得关于第一存储节点的第一数据GUID(包括主数据信息的数据GUID和备份数据信息的数据GUID),并执行步骤501,然后将计算后的第二数据GUID发送给自身归属的超级节点,该超级节点根据环链信息判断节点标识与第二数据GUID最接近的超级节点是否是自身,若是,则进一步确定节点标识与第二数据GUID最接近的第二存储节点,从该第二存储节点获得第一存储节点的备份数据信息,并转发给第一存储节点的前驱存储节点和/或后继存储节点,否则,根据环链信息向节点标识与第二数据GUID最接近的第二超级节点发送恢复请求,第二超级节点根据环链信息向节点标识与第二数据GUID最接近的第二存储节点转发该恢复请求,从而获得第一存储节点的备份数据信息,并转发给第一存储节点的前驱存储节点和/或后继存储节点。
若第一存储节点是故障退出,则由第一存储节点的前驱存储节点、后继存储节点、第一存储节点归属的超级节点或管理节点发起上述过程,若第一存储节点是主动退出,则可由第一存储节点主动发起上述过程,通知第一存储节点的前驱存储节点、后继存储节点、第一存储节点归属的超级节点或管理节点。
当第一存储节点恢复时,第一存储节点也可以采用与上述过程类似的流程从第二存储节点获得自身的备份数据信息。
第一存储节点的备份数据信息可能由多个第二存储节点分担,例如,第一存储节点负责的数据GUID为1~10000,经过固定偏移量的计算,得到2∧32~10000+2∧32,则依据节点标识与数据GUID最接近的管理原则,可能第二存储节点1存有2∧32~2∧32+5000的备份数据信息,第二存储节点2存有2∧32+5001~10000+2∧32的备份数据信息,但确定各个第二存储节点的过程相同,只是计算后得到的数据GUID不同。
超级节点的备份信息(如对索引信息的备份信息)存储在超级节点的节点标识加上固定偏移量后定位到的超级节点上,索引信息的存储与数据信息的存储过程类似,在此不再赘述。
用于实现本发明实施例的软件可以存储于软盘、硬盘、光盘和闪存等存储介质。
本发明实施例提供了一种数据存储***,实现了数据信息的分布式存储,若将该***应用到对现有HSS的改进,则用分布式结构代替了现有的集中式结构,用多个普通服务器代替了目前成本高昂的HSS,节约了组网成本。并且,该***是全网分布的,不再区分漫游地和归属地,在任何地区都可快速的查找到需要的用户信息,节约信令流程,提高了处理速度和节省了***资源。本发明实施例还通过哈希算法和哈希空间为***中的超级节点和存储节点分配节点标识,以构成一条环链,使得在任何地区都可以在两跳之内查找到需要的数据信息,处理速度得到进一步提高,并且该环链结构便于维护和扩展。同时,本发明实施例在数据存储***中存有多份数据信息,当某个超级节点或存储节点退出服务时,相应的超级节点或存储节点可立刻提供服务,省略了备份机探测主机的过程,有效维护了业务的连续性和保证了数据信息的及时处理。以及,本发明实施例中的存储数据信息的方法,可以在某个存储节点退出服务时,可由其它存储节点主动复制一份备份数据信息,保持数据存储***中存有多份数据信息,避免多个存储节点同时退出服务后对***的影响。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种通信网络中的数据存储***,其特征在于,包括:前端节点、存储节点、超级节点和管理节点;
管理节点,用于依据预设的哈希空间为存储节点和超级节点分配节点标识,并依据该节点标识将存储节点和超级节点组合成一条环链,以及保存环链信息,所述环链信息包括具有顺序关系的节点标识及该节点标识对应的路由信息;
前端节点,用于接收带有数据标识和数据信息的***请求,并通过具有所述哈希空间的哈希算法对数据标识进行计算,获得第一数据全局统一标识符GUID,以及通过从管理节点处获得的超级节点的环链信息,按照节点标识与第一数据GUID最接近的超级节点的路由信息,将携带有第一数据GUID的***请求发送给所述最接近的超级节点;
超级节点,用于接收到携带有数据GUID的***请求时,依据从管理节点处获得的关于超级节点和自身负责的存储节点的环链信息,确定节点标识与该数据GUID最接近的存储节点为应处理该***请求的存储节点;
存储节点,用于根据收到的***请求存储数据信息。
2.如权利要求1所述的***,其特征在于,还包括:计算单元,位于前端节点、超级节点或存储节点内,用于按照预设的固定偏移量对第一数据GUID进行计算获得第二数据GUID,根据从管理节点处获得的环链信息和第二数据GUID,确定节点标识与第二数据GUID最接近的超级节点,以及将携带有第二数据GUID、数据信息和备份标志的***请求转发给确定的超级节点;
存储节点还用于当***请求携带有备份标志时,用备份标志标记存储的数据信息。
3.如权利要求2所述的***,其特征在于,超级节点还用于保存包含数据GUID和存储节点的节点标识的索引信息;
存储节点还用于在获知自身在环链中的前驱存储节点或后继存储节点不对外提供服务时,从前驱存储节点或后继存储节点归属的超级节点处获得关于前驱存储节点或后继存储节点的索引信息,指示计算单元对索引信息中的数据GUID进行计算,并确定超级节点,进一步由确定的超级节点依据数据GUID所确定的存储节点,从确定的存储节点处获得关于前驱存储节点或后继存储节点的数据信息。
4.如权利要求1所述的***,其特征在于,超级节点还用于根据收到的***请求***数据信息。
5.如权利要求4所述的***,其特征在于,超级节点用于当确定本地不负责处理收到的***请求时,确定节点标识与该数据GUID最接近的存储节点为应处理该***请求的存储节点。
6.如权利要求1所述的***,其特征在于,超级节点还用于将***请求转发给确定的存储节点;或者
超级节点还用于将环链信息中确定的存储节点的路由信息发送给前端节点;前端节点还用于将***请求转发给确定的存储节点。
7.如权利要求6所述的***,其特征在于,当前端节点在获得存储节点的路由信息时,前端节点还用于缓存数据GUID和存储节点的路由信息,并在下次收到***请求时,判断通过该***请求获得的数据GUID是否在本地存有与之对应的存储节点的路由信息,若是,则直接向该存储节点发送***请求,否则向确定的超级节点发送***请求。
8.如权利要求1所述的***,其特征在于,管理节点还用于在有存储节点或超级节点增加或退出时更新环链信息,并将更新后的环链信息发送给与增加或退出的存储节点或超级节点在环链中有关的存储节点和超级节点。
9.如权利要求1所述的***,其特征在于,前端节点还用于定期访问管理节点,并获得环链信息。
10.一种基于权利要求1所述的数据存储***的***数据信息的方法,其特征在于,包括以下步骤:
前端节点接收携带有数据标识和对应的数据信息的***请求;并
根据预设的哈希算法对数据标识计算,获得第一数据GUID;以及
按照预设的固定偏移量对第一数据GUID进行计算,获得第二数据GUID,并建立备份标志与第二数据GUID的对应关系;
超级节点依据第一数据GUID、第二数据GUID和包含存储节点的节点标识的环链信息,分别确定节点标识与第一数据GUID、第二数据GUID最接近的存储节点;并
指示负责第一数据GUID的存储节点根据所述***请求***数据信息,以及指示负责第二数据GUID存储节点根据所述***请求***用备份标志标记的数据信息。
11.如权利要求10所述的方法,其特征在于,当收到删除请求或更新请求时,负责***请求的存储节点负责处理删除请求或更新请求。
12.一种基于权利要求1所述的数据存储***的查询数据信息的方法,其特征在于,包括以下步骤:
前端节点接收携带有数据标识的查询请求;并
根据预设的哈希算法对数据标识计算,获得第一数据GUID;
超级节点依据第一数据GUID和包含存储节点的节点标识的环链信息,确定节点标识与数据GUID最接近的第一存储节点;并
当第一存储节点不对外提供服务时,按照预设的固定偏移量对第一数据GUID进行计算并获得第二数据GUID,确定节点标识与第二数据GUID最接近的第二存储节点;以及
指示第二存储节点处理所述查询请求并从用备份标志标记的数据信息中获得需要查询的数据信息。
13.一种基于权利要求1所述的数据存储***的存储数据信息的方法,其特征在于,包括以下步骤:
第一存储节点的前驱存储节点和/或后继存储节点根据预设的固定偏移量对第一存储节点中的第一数据GUID进行计算并获得第二数据GUID,并将计算后的第二数据GUID发送给自身归属的超级节点;
该超级节点依据包含存储节点的节点标识的环链信息,确定节点标识与第二数据GUID最接近的第二存储节点,并从该第二存储节点获得第一存储节点的备份数据信息,并转发给第一存储节点的前驱存储节点和/或后继存储节点;
第一存储节点的前驱存储节点和/或后继存储节点将第二存储节点中第二数据GUID对应的用备份标志标记的数据信息与本地的数据信息比较;并
当在时间方面晚于本地的数据信息时,则获得并保存第二存储节点中关于第一存储节点的备份数据信息。
CN2008101163212A 2008-07-08 2008-07-08 一种通信网络中的数据存储***及信息处理方法 Active CN101626563B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008101163212A CN101626563B (zh) 2008-07-08 2008-07-08 一种通信网络中的数据存储***及信息处理方法
US12/499,375 US8670449B2 (en) 2008-07-08 2009-07-08 Data storage system in communication network and data information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101163212A CN101626563B (zh) 2008-07-08 2008-07-08 一种通信网络中的数据存储***及信息处理方法

Publications (2)

Publication Number Publication Date
CN101626563A CN101626563A (zh) 2010-01-13
CN101626563B true CN101626563B (zh) 2012-07-04

Family

ID=41522188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101163212A Active CN101626563B (zh) 2008-07-08 2008-07-08 一种通信网络中的数据存储***及信息处理方法

Country Status (2)

Country Link
US (1) US8670449B2 (zh)
CN (1) CN101626563B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750738A (zh) * 2013-12-30 2015-07-01 ***通信集团公司 一种更新数据信息的方法、数据节点、管理节点及***

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032710A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US8655878B1 (en) * 2010-05-06 2014-02-18 Zeitera, Llc Scalable, adaptable, and manageable system for multimedia identification
US9785708B2 (en) * 2008-06-18 2017-10-10 Gracenote, Inc. Scalable, adaptable, and manageable system for multimedia identification
CN101626563B (zh) * 2008-07-08 2012-07-04 ***通信集团公司 一种通信网络中的数据存储***及信息处理方法
CN101763321B (zh) * 2010-02-24 2013-01-02 华为技术有限公司 数据容灾的方法、装置及***
US9449040B2 (en) * 2012-11-26 2016-09-20 Amazon Technologies, Inc. Block restore ordering in a streaming restore system
US9577892B2 (en) * 2013-04-06 2017-02-21 Citrix Systems, Inc. Systems and methods for providing monitoring in a cluster system
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
CN104468665B (zh) * 2013-09-18 2020-05-29 腾讯科技(深圳)有限公司 数据分布式存储的实现方法和***
CN104852935B (zh) * 2014-02-13 2019-03-15 北京京东尚科信息技术有限公司 数据存储方法和***
CN105490999A (zh) * 2014-12-23 2016-04-13 哈尔滨安天科技股份有限公司 一种基于xmpp协议的分布式存储***
CN108536705B (zh) 2017-03-02 2021-10-01 华为技术有限公司 数据库***中对象的编码及运算方法与数据库服务器
CN108810041B (zh) * 2017-04-27 2021-03-05 华为技术有限公司 一种分布式缓存***的数据写入及扩容方法、装置
CN108389124B (zh) * 2018-02-26 2020-11-03 平安普惠企业管理有限公司 数据处理方法、装置、计算机设备和存储介质
CN112910936B (zh) * 2019-11-19 2023-02-07 北京金山云网络技术有限公司 数据处理方法、装置、***、电子设备及可读存储介质
CN114020207A (zh) * 2021-09-06 2022-02-08 西安电子科技大学 一种面向分布式存储网络的树形结构数据***方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018408A (zh) * 2007-02-01 2007-08-15 华为技术有限公司 业务实现的方法、网络设备以及网络

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301612B1 (en) * 1998-08-12 2001-10-09 Microsoft Corporation Establishing one computer as a replacement for another computer
US6651077B1 (en) * 2000-09-27 2003-11-18 Microsoft Corporation Backup and restoration of data in an electronic database
US7509372B2 (en) * 2001-09-13 2009-03-24 International Business Machines Corporation Method and system for redirecting data requests in peer-to-peer data networks
US6934710B1 (en) * 2002-05-02 2005-08-23 Palmsource, Inc. Generating coherent global identifiers for efficient data identification
US8238238B2 (en) * 2008-05-16 2012-08-07 Microsoft Corporation Performing networking tasks based on destination networks
CN101626563B (zh) * 2008-07-08 2012-07-04 ***通信集团公司 一种通信网络中的数据存储***及信息处理方法
US8194560B2 (en) * 2008-07-11 2012-06-05 Qualcomm Incorporated Access point identifier configuration procedure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018408A (zh) * 2007-02-01 2007-08-15 华为技术有限公司 业务实现的方法、网络设备以及网络

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
曹建.一种新的基于分布式哈希表DHT的P2P-SIP网络电话研究与设计.《中国优秀硕士学位论文全文数据库 信息科技辑(2008)》.2008,(第3期),第2.1.4节、第2.2节. *
赵竞等.广域网分布式哈希表存储副本可靠性的维护.《全国网络与信息安全技术研讨会论文集(下册),2007年》.2007,第1-2节、第3.2节. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750738A (zh) * 2013-12-30 2015-07-01 ***通信集团公司 一种更新数据信息的方法、数据节点、管理节点及***

Also Published As

Publication number Publication date
US20100034206A1 (en) 2010-02-11
US8670449B2 (en) 2014-03-11
CN101626563A (zh) 2010-01-13

Similar Documents

Publication Publication Date Title
CN101626563B (zh) 一种通信网络中的数据存储***及信息处理方法
CN102739720B (zh) 分布式缓存服务器***及其应用方法、缓存客户端
CN102148850B (zh) 一种集群***的业务处理方法及集群***
US9465819B2 (en) Distributed database
CN101447937A (zh) 一种基于路径划分与多分布目录的快速数据定位方法
CN101090371B (zh) 一种即时通讯***中用户信息管理的方法及***
US20110225121A1 (en) System for maintaining a distributed database using constraints
CN111901705B (zh) 一种olt设备的omci功能虚拟化***
CN102088484A (zh) 一种分布式文件***的写锁定方法及***
JP4459999B2 (ja) 投票を活用した無停止サービスシステム及びそのシステムにおける情報更新及び提供方法
CN111757353B (zh) 5g核心网中的网络数据处理方法及装置
CN101344882B (zh) 数据查询方法、***方法及删除方法
CN109525678B (zh) 区块链网络***以及相应的节点设备发现方法
CN101595689A (zh) 在多机架网络接入环境中改变用户信息
CN112669038A (zh) 账户查询***、跨链网关
CN102647335A (zh) 一种数据路由方法、装置和***
CN101997726B (zh) 电信网络用户数据存储管理的方法及装置
CN104301990A (zh) 一种数据同步的方法及装置
CN102957546A (zh) 配置处理方法、装置及***
EP3570169B1 (en) Method and system for processing device failure
CN113285894B (zh) 基于可编程交换机的身份标识网络移动性控制方法及***
CN101834914B (zh) 一种身份与位置映射关系的实现方法
CN107465706B (zh) 一种基于无线通信网络的分布式数据对象存储装置
CN103399943A (zh) 集群数据库并行查询的通讯方法和通讯装置
CN107908713A (zh) 一种基于Redis集群的分布式动态杜鹃过滤***及其过滤方法

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