CN101626563A - 一种通信网络中的数据存储系统及信息处理方法 - Google Patents
一种通信网络中的数据存储系统及信息处理方法 Download PDFInfo
- Publication number
- CN101626563A CN101626563A CN200810116321A CN200810116321A CN101626563A CN 101626563 A CN101626563 A CN 101626563A CN 200810116321 A CN200810116321 A CN 200810116321A CN 200810116321 A CN200810116321 A CN 200810116321A CN 101626563 A CN101626563 A CN 101626563A
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4588—Network directories; Name-to-address mapping containing mobile subscriber information, e.g. home subscriber server [HSS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication 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对应的用备份标志标记的数据信息与本地的数据信息比较;
当在时间方面晚于本地的数据信息时,则获得并保存第二存储节点中关于第一存储节点的备份数据信息。
本发明实施例提供了一种数据存储系统,实现了数据信息的分布式存储,若将该系统应用到对现有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、一种插入数据信息的方法,其特征在于,包括以下步骤:
接收携带有数据标识和对应的数据信息的插入请求;
根据预设的哈希算法对数据标识计算,获得第一数据GUID;
按照预设的固定偏移量对第一数据GUID进行计算,获得第二数据GUID,并建立备份标志与第二数据GUID的对应关系;
依据第一数据GUID、第二数据GUID和包含存储节点的节点标识的环链信息,分别确定节点标识与第一数据GUID、第二数据GUID最接近的存储节点;
指示负责第一数据GUID的存储节点根据所述插入请求插入数据信息,以及指示负责第二数据GUID存储节点根据所述插入请求插入用备份标志标记的数据信息。
11、如权利要求10所述的方法,其特征在于,当收到删除请求或更新请求时,负责插入请求的存储节点负责处理删除请求或更新请求。
12、一种查询数据信息的方法,其特征在于,包括以下步骤:
接收携带有数据标识的查询请求;
根据预设的哈希算法对数据标识计算,获得第一数据GUID;
依据第一数据GUID和包含存储节点的节点标识的环链信息,确定节点标识与数据GUID最接近的第一存储节点;
当第一存储节点不对外提供服务时,按照预设的固定偏移量对第一数据GUID进行计算并获得第二数据GUID,确定节点标识与第二数据GUID最接近的第二存储节点;
指示第二存储节点处理所述查询请求并从用备份标志标记的数据信息中获得需要查询的数据信息。
13、一种存储数据信息的方法,其特征在于,包括以下步骤:
根据预设的固定偏移量对第一存储节点中的第一数据GUID进行计算并获得第二数据GUID;
依据包含存储节点的节点标识的环链信息,确定节点标识与第二数据GUID最接近的第二存储节点;
将第二存储节点中第二数据GUID对应的用备份标志标记的数据信息与本地的数据信息比较;
当在时间方面晚于本地的数据信息时,则获得并保存第二存储节点中关于第一存储节点的备份数据信息。
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 true CN101626563A (zh) | 2010-01-13 |
CN101626563B 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 (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763321B (zh) * | 2010-02-24 | 2013-01-02 | 华为技术有限公司 | 数据容灾的方法、装置及系统 |
CN104468665A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据分布式存储的实现方法和系统 |
CN104852935A (zh) * | 2014-02-13 | 2015-08-19 | 北京京东尚科信息技术有限公司 | 数据存储方法和系统及装置以及数据上传方法和装置 |
CN105490999A (zh) * | 2014-12-23 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种基于xmpp协议的分布式存储系统 |
CN108389124A (zh) * | 2018-02-26 | 2018-08-10 | 平安普惠企业管理有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN108536705A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 数据库系统中对象的编码及运算方法与数据库服务器 |
CN108810041A (zh) * | 2017-04-27 | 2018-11-13 | 华为技术有限公司 | 一种分布式缓存系统的数据写入及扩容方法、装置 |
CN112910936A (zh) * | 2019-11-19 | 2021-06-04 | 北京金山云网络技术有限公司 | 数据处理方法、装置、系统、电子设备及可读存储介质 |
CN114020207A (zh) * | 2021-09-06 | 2022-02-08 | 西安电子科技大学 | 一种面向分布式存储网络的树形结构数据插入方法 |
Families Citing this family (8)
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 |
US9785708B2 (en) * | 2008-06-18 | 2017-10-10 | Gracenote, Inc. | Scalable, adaptable, and manageable system for multimedia identification |
US8655878B1 (en) * | 2010-05-06 | 2014-02-18 | Zeitera, Llc | Scalable, adaptable, and manageable system for multimedia identification |
CN101626563B (zh) * | 2008-07-08 | 2012-07-04 | 中国移动通信集团公司 | 一种通信网络中的数据存储系统及信息处理方法 |
US9449039B2 (en) | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Automatic repair of corrupted blocks in a database |
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 |
CN104750738B (zh) * | 2013-12-30 | 2018-06-26 | 中国移动通信集团公司 | 一种更新数据信息的方法、数据节点、管理节点及系统 |
Family Cites Families (8)
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 |
CN101018408B (zh) * | 2007-02-01 | 2010-10-06 | 华为技术有限公司 | 业务实现的方法、网络设备以及网络 |
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 |
-
2008
- 2008-07-08 CN CN2008101163212A patent/CN101626563B/zh active Active
-
2009
- 2009-07-08 US US12/499,375 patent/US8670449B2/en active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775859B2 (en) | 2010-02-24 | 2014-07-08 | Huawei Technologies Co., Ltd. | Method, apparatus and system for data disaster tolerance |
CN101763321B (zh) * | 2010-02-24 | 2013-01-02 | 华为技术有限公司 | 数据容灾的方法、装置及系统 |
CN104468665A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据分布式存储的实现方法和系统 |
CN104468665B (zh) * | 2013-09-18 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 数据分布式存储的实现方法和系统 |
CN104852935B (zh) * | 2014-02-13 | 2019-03-15 | 北京京东尚科信息技术有限公司 | 数据存储方法和系统 |
CN104852935A (zh) * | 2014-02-13 | 2015-08-19 | 北京京东尚科信息技术有限公司 | 数据存储方法和系统及装置以及数据上传方法和装置 |
CN105490999A (zh) * | 2014-12-23 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种基于xmpp协议的分布式存储系统 |
CN108536705A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 数据库系统中对象的编码及运算方法与数据库服务器 |
CN108536705B (zh) * | 2017-03-02 | 2021-10-01 | 华为技术有限公司 | 数据库系统中对象的编码及运算方法与数据库服务器 |
US11194806B2 (en) | 2017-03-02 | 2021-12-07 | Huawei Technologies Co., Ltd. | Object encoding and computation method in database system and database server |
CN108810041A (zh) * | 2017-04-27 | 2018-11-13 | 华为技术有限公司 | 一种分布式缓存系统的数据写入及扩容方法、装置 |
CN108810041B (zh) * | 2017-04-27 | 2021-03-05 | 华为技术有限公司 | 一种分布式缓存系统的数据写入及扩容方法、装置 |
CN108389124A (zh) * | 2018-02-26 | 2018-08-10 | 平安普惠企业管理有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN108389124B (zh) * | 2018-02-26 | 2020-11-03 | 平安普惠企业管理有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112910936A (zh) * | 2019-11-19 | 2021-06-04 | 北京金山云网络技术有限公司 | 数据处理方法、装置、系统、电子设备及可读存储介质 |
CN112910936B (zh) * | 2019-11-19 | 2023-02-07 | 北京金山云网络技术有限公司 | 数据处理方法、装置、系统、电子设备及可读存储介质 |
CN114020207A (zh) * | 2021-09-06 | 2022-02-08 | 西安电子科技大学 | 一种面向分布式存储网络的树形结构数据插入方法 |
CN114020207B (zh) * | 2021-09-06 | 2024-08-02 | 西安电子科技大学 | 一种面向分布式存储网络的树形结构数据插入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101626563B (zh) | 2012-07-04 |
US20100034206A1 (en) | 2010-02-11 |
US8670449B2 (en) | 2014-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101626563B (zh) | 一种通信网络中的数据存储系统及信息处理方法 | |
CN102148850B (zh) | 一种集群系统的业务处理方法及集群系统 | |
US9465819B2 (en) | Distributed database | |
CN102739720B (zh) | 分布式缓存服务器系统及其应用方法、缓存客户端 | |
CN101447937A (zh) | 一种基于路径划分与多分布目录的快速数据定位方法 | |
CN111901705B (zh) | 一种olt设备的omci功能虚拟化系统 | |
CN101090371B (zh) | 一种即时通讯系统中用户信息管理的方法及系统 | |
CN104935654A (zh) | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 | |
CN101344882B (zh) | 数据查询方法、插入方法及删除方法 | |
JP4459999B2 (ja) | 投票を活用した無停止サービスシステム及びそのシステムにおける情報更新及び提供方法 | |
CN109525678B (zh) | 区块链网络系统以及相应的节点设备发现方法 | |
CN102647335A (zh) | 一种数据路由方法、装置和系统 | |
CN112214377B (zh) | 一种设备管理方法及系统 | |
CN111757353A (zh) | 5g核心网中的网络数据处理方法及装置 | |
CN102891811B (zh) | 名字服务数据库的锁定方法和交换机 | |
CN104301990A (zh) | 一种数据同步的方法及装置 | |
CN113285894B (zh) | 基于可编程交换机的身份标识网络移动性控制方法及系统 | |
EP3570169B1 (en) | Method and system for processing device failure | |
CN101834914B (zh) | 一种身份与位置映射关系的实现方法 | |
CN115514797A (zh) | 备用smf发现方法、装置、电子设备和介质 | |
CN102647334A (zh) | 一种数据路由方法和装置 | |
CN101431429B (zh) | 一种设备中物理实体信息管理方法及设备与设备管理端 | |
CN101345648B (zh) | 数据不一致的解决方法 | |
US7058773B1 (en) | System and method for managing data in a distributed system | |
CN101610279B (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 |