The present invention relates to electronic communications technologies, and in particular, to a user data server system, method and apparatus.
A large number of user data servers are deployed in a telecommunications network. With its structure shown in
During the implementation of the present invention, the inventor discovers at least the following weakness in the prior art:
At present, those user data servers mainly work in centralized storage mode, where a centralized data storage system stores user data in a uniform manner. However, with the constant increase of users, the centralized storage mode has gradually shown its defects, such as bad scalability.
Embodiments of the present invention provide a user data server system, method and apparatus to improve scalability and relieve pressure coming with the increase of user data.
A user data server system includes:
A method for requesting a user data operation includes:
A DHT index node includes a DHT constructing module, a DHT route searching module and a DHT index module, where:
A front end node includes:
Compared with the prior art, the technical solution provided in the embodiments of the present invention effectively solves the issues that a user data server working in centralized storage mode is faced with. As multiple index nodes provide the data query service for a front end node, the user data server is not centralized and is highly scalable and highly reliable with a high cost-effectiveness.
A Peer-to-Peer (P2P) network is a distributed network that is a breakthrough from the traditional Client/Server (C/S) mode. In a P2P network, all nodes are in an equal position. One node acts as a server to provide services for other nodes while enjoying services provided by other nodes. The P2P network is not centralized. It is highly scalable and has a high cost-effectiveness.
An embodiment of the present invention applies the advantages of a P2P system to a user data server in a telecommunication network and provides a distributed user data server system based on a P2P architecture. The purpose is to overcome the weakness of centralized storage and enable a P2P system to achieve carrier-class performance (such as 99.999% availability, high reliability, and real-time data operations) so that the user data server system is non-centralized and highly scalable with a high cost-effectiveness and carrier-class performance.
The user data server system according to an embodiment of the present invention includes a data storage node, a DHT index node, a DHT super node, a DHT super maintenance node, and a front end node.
The data storage node is configured to: store user data, register the user data in a Distributed Hash Table (DHT) network by using a key, and receive and process user data operation requests. The choice of the key depends on the application scenario of the user data server. For example, in the case of HSS, the key may be an IMS subscription ID, an IP Multimedia Private Identity (IMPI) or an IP Multimedia Public Identity (IMPU). One piece of user data may be registered in the DHT network respectively by using different keys.
The DHT index node is configured to: create and maintain DHT routing information according to a DHT algorithm and store, according to the key, information of data storage nodes where user data is stored and search for, according to the key, information of a data storage node where target user data is stored. The system provided in the embodiment of the present invention is mainly applicable to telecommunications networks where nodes are stable. The DHT index node controls the size of routing information automatically according to the network size and the stability of nodes so as to ensure that a query operation is complete within 1-K hops, where K is configurable, such as 3.
The DHT super node includes multiple virtual DHT index nodes and multiple virtual data storage nodes. The DHT super node is configured to manage DHT routing information in a wider range and store more user data.
The DHT super maintenance node is configured to manage and optimize the DHT network. Multiple DHT super maintenance nodes may be distributed geographically. The DHT super maintenance node provides the following functions: allocating IDs for DHT nodes, and particularly, data storage nodes or DHT index nodes; monitoring the status of DHT nodes in the served area; receiving update routing information of DHT nodes in its controlled area and forwarding the update routing information to super maintenance nodes in other areas, and receiving update routing information from other super maintenance nodes and notifying DHT nodes in its controlled area to update routing information; checking load conditions of nodes in its controlled area by sampling load conditions and realizing load balance by specifying join positions of new nodes.
The front end node is configured to: perform specific protocol processing and service processing, and obtain information of a data storage node where target user data is stored by means of DHT query, and perform operations on the user data stored in the data storage node.
The above logical functions may be mapped into independent physical devices or any combination of the functions may be located in one physical device, or they exist in one physical device as independent processes or as one process. In addition, the user data server system may include no DHT super node.
Step 310: The front end node receives a service request (such as a registration request, an authentication request, and a location update request), performs protocol processing and service processing to obtain an ID of the target user of the service request and obtain a key according to the user ID.
The service request is from a function entity that has interactions with the user data server in the application scenario of the user data server. For example, in a GSM or General Packet Radio Service (GPRS) scenario, the request is from a Mobile Switching Center (MSC), Gateway Mobile Switching Centre (GMSC), Serving GPRS Support Node (SGSN), or Gateway GPRS Support Node (GGSN) that has interactions with an HLR; in an IMS scenario, the request is from an Interrogating-Call/Session Control Function (I-CSCF) or Serving-Call/Session Control Function (S-CSCF) that has interactions with an HSS. The specific type of the service request is a message that can be received by the user data server in such scenarios. For example, the HSS receives a registration request in the IMS scenario; the HLR receives a location update request in the GSM scenario.
The key is obtained by means of a compatible hash algorithm according to the user ID.
Step 320: The front end node acts as a client node in the DHT network and initiates a key-based DHT query to a DHT index node connected with the front end node to find a data storage node where the target user data is stored in the DHT network.
Step 321: The DHT index node searches for a node ID closest to the key in DHT routing information; if the node ID is the ID of the local node, the target index is in the indexes stored in the local DHT index node and step 322 is executed; if the node ID is not the ID of the local node, step 323 is executed.
Step 322: The DHT index node searches for the target index in the indexes stored in the DHT index node and sends information of the data storage node where the user data is stored to the front end node.
Step 323: The DHT index node initiates a DHT query to a DHT index node associated with the node ID closest to the key; the new DHT index node executes step 321 after receiving the DHT query request.
Step 340: According to the received information of the data storage node where the target user data is stored in step 322, the front end node sends a user data operation request to the data storage node.
Step 350: The data storage node performs an operation according to the user data operation request.
Step 360: The data storage node sends a user data operation response to the front end node.
Step 370: The front end node receives the user data operation response from the data storage node and completes subsequent service processing and protocol processing, and sends a corresponding service response (such as a registration response, an authentication response, and a location update response) to the requesting function.
If the scenario in which the user data server processes services does not require a user data operation response or a service response, steps 360 and 370 can be omitted.
An embodiment of the present invention provides another distributed user data server system. The system includes a data storage node, a DHT index node, a DHT super node, a DHT super maintenance node, and a front end node.
The data storage node is configured to: store user data and register the user data in a DHT network as a client node by using a key, and receive and process user data operation requests.
The DHT index node includes a DHT constructing module, a DHT route searching module and a DHT index module, as shown in
The DHT super node includes multiple virtual DHT index nodes and multiple virtual data storage nodes. The DHT super node, as shown in
The DHT super maintenance node is configured to manage and optimize the DHT network.
The front end node includes a protocol processing module and a service processing module, as shown in
The above nodes can be flexibly combined according to operator requirements to construct different physical devices, such as an integrated user data server device, which means the above data storage node, DHT index node and front end node are integrated in one physical device; or the above data storage node, DHT index node and DHT super maintenance node are integrated in one physical device.
An embodiment of the present invention also provides a communication network, including a user data server system that includes:
The data storage node, DHT index node, DHT super maintenance node and front end node may be mapped into independent physical devices or any combination of the functions may be located in one physical device, or they exist in one physical device as independent processes or as one process.
In practice, different physical devices can be deployed in a network, as shown in
The technical solution provided in the embodiments of the present invention can effectively solve the issues that existing user data servers with centralized storage are faced with. The user data server is not centralized and is highly scalable and highly reliable with a high cost-effectiveness.
Through the preceding description of embodiments of the present invention, it is understandable to those skilled in the art that embodiments of the present invention may be implemented by hardware or by software in combination with a necessary hardware platform. Thus, the technical solution of the present invention may be made into software. The software may be stored in a non-volatile storage medium (for example, a CD-ROM, a USB disk, and a mobile hard disk), and include several instructions that instruct a computer device (such as a personal computer, a server, or a network device) to perform the methods provided in each embodiment of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2008 1 0065356 | Feb 2008 | CN | national |
2008 1 0080991 | Feb 2008 | CN | national |
This application is a continuation of International Application No. PCT/CN2009/070064, filed on Jan. 7, 2009, which claims priority to Chinese Patent Application No. 200810080991.3, filed on Feb. 29, 2008 and Chinese Patent Application No. 200810065356.8, filed on Feb. 5, 2008, all of which are hereby incorporated by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
7684352 | Smith et al. | Mar 2010 | B2 |
7984182 | Suzuki et al. | Jul 2011 | B2 |
20050063318 | Xu et al. | Mar 2005 | A1 |
20060098588 | Zhang et al. | May 2006 | A1 |
20060209717 | Sharma et al. | Sep 2006 | A1 |
20070002869 | Miller | Jan 2007 | A1 |
20070283043 | Kiyohara et al. | Dec 2007 | A1 |
20080130516 | You et al. | Jun 2008 | A1 |
20090316687 | Kruppa | Dec 2009 | A1 |
Number | Date | Country |
---|---|---|
1329791 | Jan 2002 | CN |
1859115 | Nov 2006 | CN |
101030866 | Sep 2007 | CN |
101043695 | Sep 2007 | CN |
101047550 | Oct 2007 | CN |
101505472 | Jul 2011 | CN |
0033533 | Jun 2000 | WO |
WO 2007106791 | Sep 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20100268820 A1 | Oct 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2009/070064 | Jan 2009 | US |
Child | 12829752 | US |