WO2009127132A1 - 报文分发方法、设备及*** - Google Patents

报文分发方法、设备及*** Download PDF

Info

Publication number
WO2009127132A1
WO2009127132A1 PCT/CN2009/070711 CN2009070711W WO2009127132A1 WO 2009127132 A1 WO2009127132 A1 WO 2009127132A1 CN 2009070711 W CN2009070711 W CN 2009070711W WO 2009127132 A1 WO2009127132 A1 WO 2009127132A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
type
message
identifier
packet
Prior art date
Application number
PCT/CN2009/070711
Other languages
English (en)
French (fr)
Inventor
陈胜平
李益民
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP09732873.6A priority Critical patent/EP2257022B1/en
Priority to BRPI0911244-8A priority patent/BRPI0911244B1/pt
Publication of WO2009127132A1 publication Critical patent/WO2009127132A1/zh
Priority to US12/904,850 priority patent/US8856243B2/en
Priority to US14/473,528 priority patent/US20140369202A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer

Definitions

  • the present invention relates to the field of communications, and in particular, to a packet distribution method, device, and system.
  • the Wireless Application Protocol is a set of specifications similar to Internet applications on mobile networks to standardize wireless communication devices for Internet access, including sending and receiving emails, accessing WAP web pages, and more.
  • WAP technology has become a global mobile phone (Global System for Mobile Communications, GSM), General Packet Radio Service (GPRS), Wideband Code Division Multiple Access (WCDMA) and other mobile phones and other The global standard for terminals accessing wireless information services.
  • GSM Global System for Mobile Communications
  • GPRS General Packet Radio Service
  • WCDMA Wideband Code Division Multiple Access
  • the WAP protocol mainly includes the WAP1.X protocol and the WAP2.0 protocol.
  • a load balancing cluster mechanism is applied to the existing WAP system, in which a User Information Database (UIDB) cluster and a WAP Gateway ( WAPGW) cluster are separately deployed for session control messages, such as remote users.
  • UIDB User Information Database
  • WAPGW WAP Gateway
  • the Remote Authentication Dial in User Service (RADius) request message (Radius Req message)
  • GGSN GPRS Gateway Supporting Node
  • LB Load Balance
  • the message is sent to a cluster node of the UIDB cluster.
  • the GGSN sends the WAP request to a cluster node of the WAPGW cluster through the LB of the WAPGW cluster.
  • the UIDB cluster and the WAPGW cluster are independent clusters, and the load balancing policies of the two clusters are separated and unrelated.
  • IP Internet Protocol
  • the cluster node A in the WAPGW cluster needs to query the mobile phone user's online and offline information on the cluster node B in the UIDB cluster according to the Internet Protocol (IP) address of the mobile phone user.
  • IP Internet Protocol
  • the prior art provides a The technical means, that is, the cluster node A determines the cluster node B storing the online and offline information of the mobile phone user by using the remaining value of the mobile phone user IP address value and the remaining number of the cluster nodes in the UIDB cluster (when storing the mobile phone user's online and offline information) This technical means is also used).
  • the mechanism for separately deploying the UIDB cluster and the WAPGW cluster in the prior art has the following drawbacks: using the technical means provided by the above prior art to query session control information such as the online and offline information of the mobile phone user, or querying the session service information, increasing or decreasing the UIDB cluster.
  • session control information such as the online and offline information of the mobile phone user
  • session service information increasing or decreasing the UIDB cluster.
  • the embodiment of the invention provides a packet distribution method, device and system, which can send session control messages and session service messages to the same cluster node, and implement session control information and session service information on the cluster nodes. Storage, query, and smooth dynamic expansion of the cluster, improve system performance, and make system maintenance more convenient.
  • An embodiment of the present invention provides a packet distribution method, including:
  • the second type of session message When receiving the second type of session message associated with the session, the second type of session message is distributed to the cluster node corresponding to the session.
  • an embodiment of the present invention further provides a load balancing device, including:
  • a pre-processing unit configured to create a session according to the received first type of session message, and allocate a corresponding cluster node to the session;
  • the distribution unit is configured to distribute the second type of session message to the cluster node corresponding to the session when receiving the second type of session message associated with the session.
  • an embodiment of the present invention further provides a cluster node device, including a wireless application protocol gateway and a corresponding user context information database thereof;
  • the user context information database is configured to receive a control session message, and save control information in the control session message;
  • the wireless application protocol gateway is configured to receive a service session message, query the control session information in the user context information database according to the service session message, and report the service session according to the session control information.
  • the text is processed.
  • the embodiment of the present invention further provides a load balancing system, including a load balancing device and a cluster node device.
  • the load balancing device is configured to create a session according to the received first type session message, and allocate a corresponding cluster node device to the session, when receiving the second type session message associated with the session Distributing the second type of session message to the cluster node device corresponding to the session;
  • the cluster node device is configured to receive a first type of session message and a second type of session message, where the first type of session message is a session control message, and the second type of session message is a session service message, or The first type of session message is a session service message, and the second type of session message is a session control message, and the session control information in the session control message is saved, and the session is controlled according to the session control information. Service packets are processed.
  • a session is created according to the received first type of session message, and a corresponding cluster node is allocated to the session.
  • the second type of session message associated with the session is received, the The second type of session message is distributed to the cluster node corresponding to the session, so that the session control message and the session service message are sent to the same cluster node, and session control information and session service information can be implemented on the cluster node. Storage, query, and smooth dynamic expansion of the cluster, improve system performance, and make system maintenance more convenient.
  • FIG. 1 is a flowchart of a message distribution method according to an embodiment of the present invention.
  • FIG. 2 is a detailed flowchart of step 102 in the packet distribution method of the embodiment of the present invention
  • FIG. 3 is a structural diagram of a load balancing device according to an embodiment of the present invention
  • FIG. 4 is another structural diagram of a load balancing device according to an embodiment of the present invention.
  • FIG. 5 is a structural diagram of a cluster node device according to an embodiment of the present invention.
  • FIG. 6 is a structural diagram of a load balancing system according to an embodiment of the present invention.
  • FIG. 7 is a structural diagram of a load balancing system in a proxy mode according to an embodiment of the present invention.
  • FIG. 8 is a structural diagram of a load balancing system in a server mode according to an embodiment of the present invention.
  • the embodiment of the present invention provides a packet distribution method, an information query method, and a corresponding device and system, which can send two different types of packets, namely, a control message and a tongue service message, to the same cluster node.
  • the session control information and session service information can be stored and queried on the same cluster node, and the cluster can be smoothly and dynamically expanded to improve system performance and make system maintenance more convenient.
  • FIG. 1 is a flowchart of a message distribution method according to an embodiment of the present invention. Referring to the figure, the method mainly includes:
  • the first identifier can be extracted from the first type of session message as a keyword, the session is created with the keyword, and the session is maintained.
  • the keyword may be the IP address or number of the terminal that sends or receives the first type of session message.
  • the keyword may be the terminal that sends the first type of session message.
  • the IP address or number of the terminal is used as a key.
  • the IP address or number of the terminal that receives the first type of session message can be used as a key.
  • a cluster node When a cluster node is allocated for a session, it can be allocated according to the load and running status of the cluster node. If the received first type session packet is sent by the cluster node, the cluster node can be assigned to the tongue.
  • the second identifier may be an IP address or a number of a terminal that sends or receives the second type of session message.
  • the keyword for creating the session that is, the first identifier
  • the second identifier is the IP address of the terminal
  • the third identifier needs to be extracted from the first type of session, and the third identifier is established.
  • the third identifier is an IP address of the terminal.
  • the first identifier is searched for according to the second identifier, and the second identifier is matched.
  • the terminal number is then matched with the keyword of the created session (ie, the number of the terminal) according to the found terminal number. If the same, the second type of session message is associated with the session.
  • the tongue-type packets (such as IP packets) have different types, such as session control packets and session service packets, and the first type of session packets are session control packets, and the second type.
  • the session packet is a session service packet, or the first type of session packet is a session service packet, and the second type is
  • the session packet is a session control packet, and the session control packet is a Remote Authentication Dial in User Service (RADius) message in the User Datagram Protocol (UDP) packet.
  • the tongue business is as follows: UDP is not a Radius 4 text or a Transmission Control Protocol (TCP).
  • the foregoing embodiment distributes different types of session packets to the cluster node corresponding to the tongue by maintaining a session and assigning a corresponding cluster node to the session, and then by using the association relationship between different types of session packets and the session.
  • the storage and query of different types of session information are implemented on the same cluster node, so that different types of session information can be conveniently obtained, and different types of session information can be distributed evenly, and the cluster can be smoothly and dynamically expanded. Improve system performance and make system maintenance more convenient.
  • the first type of tongue message and the second type of message of the same user are distributed to the same cluster node, that is, user-based load balancing is implemented, thereby enabling user-based service control and charging management.
  • the following uses the UDP packet (the protocol number of the IP packet is 17 for the UDP packet) and the IP address of the MS as the session keyword as an example. As shown in Figure 2, the following processes are mainly included:
  • the LB receives the session packet, where the session packet is a UDP packet.
  • the LB determines whether there is a session associated with the UDP packet, if not, executes 203, and if yes, performs 204.
  • the LB first analyzes whether the server port number of the UDP packet is the Radius service port (1813 or 1812), that is, whether the received UDP packet is a Radius packet (a type of session control packet and contains session control information). , such as MS online and offline information, etc.), including two situations:
  • the received UDP packet is a Radius packet, that is, the session control packet:
  • the LB extracts the Frame-IP-Address (that is, the IP of the MS) in the Radius text. Since the source IP of the Radius packet is not the IP of the MS, but the Authentication Authorization Accounting (AAA) or the IP of the GGSN, The identifier extracted here is Frame-IP-Address, where the Frame-IP-Address in the Radius text is the IP of the MS (the UDP packet of the non-Radius packet mentioned below, the source IP in the TCP packet is the MS) IP);
  • UDP packet If it is not a Radius service port, the received UDP packet is a non-Radius packet.
  • the LB extracts the source IP address of the UDP packet.
  • the UDP packet is sent by the MS.
  • the source IP address of the UDP packet is the IP address of the MS.
  • the LB determines whether there is a session in which the keyword is the same as the extracted Frame-IP-Address or the source IP (that is, the IP of the MS). If yes, the UDP packet is associated with the session; if not, the UDP 4 does not exist. The tongue associated with the text.
  • the LB creates a session and uses the extracted Frame-IP-Address as the key to maintain the session according to the Frame-IP-Address extracted from A.
  • a cluster node is selected in a balanced manner, and the cluster node is assigned to the created session, and the Radius packet is sent to the cluster node, so that the IP packet of the IP with the same MS is subsequently During the duration of the session, it is sent to the cluster node; wherein, according to the timeout time of the tongue, when the current tongue times out, the new IP session can be recreated in this manner for the subsequent IP packets, and the new cluster node is reselected. ;
  • the LB directly creates a session with the source IP as the key source and performs session maintenance according to the source IP extracted by B. Then, a cluster node is selected in a balanced manner, and the cluster node is selected. Assigned to the created session, the UDP packet is sent to the cluster node, so that subsequent IP packets with the same MS IP address are sent to the cluster node during the session;
  • the processing may be similar to the processing of the UDP packet of the non-radiius packet.
  • the LB may also be extracted first.
  • Frame-IP-Address and MS's Mobile Station International Subscriber Directory Number (MSISDN) (ie, Calling-Station-ID), establish the correspondence between Frame-IP-Address and Calling-Station-ID. (for example, a frame with a Frame-IP-Address and a Calling-Station-ID value)
  • MSISDN Mobile Station International Subscriber Directory Number
  • the session corresponding to a cluster node is created by using the Calling-Station-ID as a key, and the session is maintained.
  • the LB receives other types of session packets from the MS (the application layer is not a Radius message), the session text is extracted.
  • the source IP searches for the Calling-Station-ID corresponding to the source IP according to the correspondence between the Frame-IP-Address and the Calling-Station-ID, and determines the found Calling-Station-ID and the keyword that creates a session (ie, If the call is the same, the session message is associated with the session, and the session message is sent to the cluster node corresponding to the session. If not, the session message is discarded.
  • the LB may also detect the working status of the cluster node corresponding to the tongue, and when detecting the cluster node fault corresponding to the tongue, You can create another session based on the session packet, assign another non-faulty cluster node to the session, and send the session packet to the non-faulty cluster node. For details, refer to the above description, which is not mentioned here.
  • the session information (such as session control information or session service information) in the session packet is locally recorded; and the LB sends the session message to a cluster node.
  • the session information may be sent to a backup node, and the session information in the session message may be backed up to the backup node for subsequent local information query on the cluster node.
  • the session control information may be User online and offline information.
  • FIG. 3 is a structural diagram of a load balancing device according to an embodiment of the present invention.
  • the load balancing device is connected to a plurality of cluster node devices, wherein the balancing device includes a preprocessing unit 311 and a distribution unit 312, where:
  • the pre-processing unit 311 is configured to create a session according to the received first type of session message, and allocate a corresponding cluster node device to the session; specifically, when the session is created, the session may be extracted from the first type of session message.
  • the first identifier is used as a keyword to create a session with the keyword and to maintain the session. Therefore, the pre-processing unit 311 may further include: a first extraction module, configured to extract a first identifier in the first type of session message; an establishing module, configured to create a session by using the first identifier as a keyword, and perform session holding, An allocation module, configured to allocate a corresponding cluster node for the session.
  • the keyword may be an IP address or a number of the terminal that sends or receives the first type of session message. For example, when receiving the first type of session message sent by the GGSN, the keyword may send the first type of session message.
  • the IP address or number of the terminal is used as a key.
  • the IP address or number of the terminal receiving the first type of session message may be used as a key. Distribution mode When a cluster node device is allocated for a session, the cluster node device can be allocated according to the load and the running status of the cluster node device. If the received first type session packet is sent by the cluster node device, the cluster node device can be allocated to the cluster node device. Conversation.
  • the distribution unit 312 is configured to distribute the second type of session message to the cluster node device corresponding to the session when receiving the second type of session message associated with the session.
  • the second type of session packet is associated with the session, and the second identifier is extracted from the second type of session packet, and the second identifier is determined to be the same as the keyword for creating the session.
  • the text is associated with the conversation. Therefore, the distribution unit 312 may further include: a receiving module, configured to receive a second type of session message; a second extraction module, configured to extract a second identifier in the second type of session message; and a determining module, configured to determine the second The identifier is the same as the keyword for creating the session. If the same, the second type of session message is associated with the session.
  • the sending module is configured to associate with the session when the determining module determines that the second type of session message is associated with the session.
  • the second type of session message is distributed to the cluster node corresponding to the session.
  • the second identifier may be an IP address or a number of the terminal that sends or receives the second type of session message.
  • the first identifier and the second identifier are both the terminal IP address or the terminal number.
  • the pre-processing unit 311 When the keyword (ie, the first identifier) of the session is the number of the terminal, and the second identifier is the IP address of the terminal, the pre-processing unit 311 also needs to extract the third identifier from the first type of session, and establish a third Corresponding relationship between the identifier and the first identifier, where the third identifier is the IP address of the terminal.
  • the first identifier is searched for according to the second identifier, and the second identifier is matched.
  • the terminal number is matched with the keyword of the created session (that is, the number of the terminal) according to the found terminal number. If the same, the second type of session packet is associated with the session.
  • the pre-processing unit further includes: a third extraction module, configured to extract a third identifier in the first type of session packet, where the third identifier is a terminal that sends or receives the first type of packet An IP address; a relationship module, configured to establish a correspondence between an IP address of the terminal that sends or receives the first type of packet and a terminal number; a receiving module, configured to receive a second type of session message; a second extracting module, configured to extract a second identifier in the second type of session message; a searching module, configured to use the corresponding relationship in the relationship module, a terminal number corresponding to the second identifier; a determining module, configured to determine whether the found terminal number is the same as the keyword for creating the session, and if the same, the second type of tongue message is associated with the tongue; the sending module is configured to: When the judging module judges that the second type of session message is associated with the session, the second type of packet An IP address; a relationship module, configured to establish a correspondence between an IP
  • the tongue-type packets (such as IP packets) have different types, such as session control packets and session service packets, and the first type of session packets are session control packets, and the second type.
  • the session message is a session service message, or the first type of session message is a session service message, and the second type of session message is a session control message.
  • the foregoing embodiment maintains a session by the pre-processing unit 311, and assigns a corresponding relationship to the session, and distributes different types of tongue-and-mouth messages to the cluster node device corresponding to the session, thereby realizing different implementations on the same cluster node device.
  • the storage and query of the type of tongue information makes it easy to obtain different types of tongue information, and different types of tongue information can be distributed evenly, and the cluster can be smoothly and dynamically expanded, improve system performance, and maintain the system. More convenient.
  • the pre-processing unit 311 and the distribution unit 312 in the load balancing device are described as follows: After receiving the UDP packet, the second module extracts the second identifier in the UDP packet, and the server port number of the UDP packet is When the Radius service port (that is, the UDP packet is a Radius packet), the second extraction module extracts the Frame-IP-Address (that is, the IP of the MS).
  • the second extraction module extracts the source IP (ie, the IP of the MS), and then the determination module determines whether there is a keyword and the extracted Frame-IP-Address or source IP (ie, MS). IP) the same session, if it exists, the UDP packet is associated with the session.
  • the sending module distributes the UDP packet to the cluster node device corresponding to the session; if not, the UDP packet does not exist.
  • the first extraction module extracts the Frame-IP-Address or the source IP (that is, the IP of the MS) in the UDP packet according to the UDP packet type, and the establishing module creates a session by using the IP of the extracted MS as a key. And assign a corresponding cluster node device to the created session, and set the timeout time of the tongue. When the current tongue times out, the new IP session can be recreated in this way, and the new cluster is re-selected. Node device.
  • the load balancing device receives the TCP packet as a TCP packet, that is, the tongue-and-shoulder service packet is used as an implementation manner
  • the setup module creates a session by using the MS number as a keyword
  • the line session is maintained (that is, the first identifier extracted by the first extraction module is in the session message)
  • the third lifting block extracts the frame-IP-Address in the session message, and the relationship module establishes the correspondence between the Frame-IP-Address and the Calling-Station-ID (for example, Frame-IP- Address is a keyword, a hash table with a value of Calling-Station-ID.
  • the receiving module receives other types of session messages from the MS (the application layer is not a Radius message)
  • the second extraction module extracts the session.
  • the words ie, the Calling-Station-ID
  • the session message is associated with the session.
  • the sending module sends the session message to the cluster node device corresponding to the session.
  • the load balancing device may further include a fault detecting unit that detects the working status of the cluster node device corresponding to the session when the determining module determines that the session packet is associated with a session.
  • the triggering pre-processing unit 311 may create another session according to the session packet, and allocate another non-faulty cluster node device to the session.
  • the load balancing device may further include a backup unit, and send the session message to a backup node device, and back up the session control information or the session service information in the session to the backup node device.
  • the subsequent information query specifically, the session control information may be user online and offline information.
  • FIG. 5 is a structural diagram of a cluster node device according to an embodiment of the present invention.
  • the cluster node device includes a user context information database UIDB51 and a corresponding wireless application protocol gateway WAPGW52, and its functions are as follows:
  • the UIDB 51 performs session control processing on a session, and saves session control information of the session, such as user online and offline information, etc., the WAPGW 52 performs session service processing on the same session processed by the UIDB 51, and when the WAPGW 52 needs to query the control information of the tongue and the tongue
  • the WAPGW 52 sends a session control information query request to the UIDB 51, and receives the session control information that the UIDB 51 responds to.
  • the WAPGW 52 may include a receiving unit, configured to receive a service session message, and a local query unit, configured to send the control session information query request to the UIDB 51 and receive a response thereof, where the processing unit is configured to perform a query according to the query.
  • the control session information is sent to the service session message.
  • Reason The WAPGW 52 may further include an external query unit.
  • the local query unit sends a session control information query request to the UIDB 51 and receives a response that the session control information is not queried, the external query unit queries a backup node other than the cluster node device. Session control information for the session backed up on the device.
  • UIDB 51 and the WAPGW 52 may be respectively disposed on different physical devices or on the same physical device.
  • the foregoing embodiment implements the query of different types of session information on the same cluster node device, so that different types of session information can be conveniently obtained.
  • FIG. 6 is a structural diagram of a load balancing system according to an embodiment of the present invention.
  • the system mainly includes a load balancing device 61 and a cluster node device 62.
  • the plurality of cluster node devices form a cluster, where:
  • the load balancing device 61 creates a session according to the received first type of session message, and allocates a corresponding cluster node device to the session.
  • the second type of session message is distributed to the cluster node device corresponding to the session; the cluster node device 62 performs the first type of session processing of the session according to the received first type session message, according to the received
  • the second type of session packet performs the second type of session processing of the session.
  • the cluster node device 62 performs session service processing according to the received session service message.
  • the cluster node device 62 performs session control processing according to the received session control message.
  • the system includes a client (Client) 71, an LB72, and a Transparent Proxy Service Gateway (TPSG) cluster 73 ( Not limited to the number of TPSGs shown, LB74, Application Server, APPServer 75, LB72, LB74, and TPSG cluster 73 are transparent to Client71 and APPServer75, Client71 is connected to LB72, and LB72 and LB74 are connected to On the same cluster 73, LB74 is connected to APPServer75.
  • the functions of each device are as follows:
  • Client71 sends a UDP packet to APPServer75:
  • Client 71 sends a UDP packet to the LB72.
  • the LB72 extracts the second identifier in the UDP packet.
  • the server port number of the UDP packet is the Radius service port (that is, the UDP packet is a Radius packet)
  • the LB72 extracts the Frame- IP-address (that is, the IP address of the MS).
  • the server port number of the UDP packet is not the Radius service port (that is, the UDP packet is a non-Radius packet)
  • the source IP that is, the IP of the MS
  • the LB 72 has created a session and held the session with the IP of the MS in the previously received message, and the LB 72 determines whether the keyword has the same name as the extracted Frame-IP-Address or the source IP (ie, the IP of the MS). If the UDP packet is associated with the session, the LB packet will be distributed to the TPSG corresponding to the session. If the session is not associated with the UDP packet, the LB72 is based on the UDP packet.
  • the UDP packet type extracts the Frame-IP-Address or the source IP (that is, the IP address of the MS) in the UDP packet, creates a session with the IP of the extracted MS as a key, and assigns a corresponding TPSG to the created session.
  • the session timeout period can be set, when the current tongue timeout, Subsequent IP packets to re-create a new ⁇ tongue in this manner, and re-select a new TPSG is.
  • the TPSG corresponding to the session in the TPSG cluster 73 receives the UDP packet.
  • the UDP packet is a Radius packet, and the frame-IP-Address (that is, the IP address of the client 71) in the UDP packet is extracted, and the MAC address of the last hop of the UDP packet is extracted, that is, the UDP packet is sent.
  • the MAC address of the TPSG of the text and establish the correspondence between the Frame-IP-Address and the MAC address (such as the hash table with the frame-IP-Address as the key and the MAC address as the value), and then the LB74 will use the UDP packet.
  • the APPServer 75 receives the UDP packet and performs corresponding processing.
  • the APPServer75 After the APPServer75 receives the UDP packet and performs corresponding processing, the APPServer75 returns a UDP packet to the Client71:
  • APPServer75 returns UDP 4 text to LB74;
  • the LB 74 After receiving the UDP packet returned by the APPServer 75, the LB 74 extracts the second identifier in the UDP packet and extracts the destination IP address (that is, the IP address of the MS). After that, the LB 74 determines whether there is a session with the same keyword and the extracted destination IP address. If yes, the UDP packet is associated with the session. In this case, the LB74 searches for the correspondence between the Frame-IP-Address and the MAC address, finds the MAC address of the TPSG corresponding to the destination IP address, and distributes the UDP file to the MAC address.
  • TPSG (the above situation) (1) TPSG that receives and sends UDP packets; if it does not exist, there is no session associated with the UDP packet, and LB74 discards the UDP packet;
  • the TPSG corresponding to the session in the TPSG cluster 73 sends the UDP packet to the LB72.
  • the LB72 After receiving the UDP packet sent by the TPSG, the LB72 sends the UDP packet to the client 71 corresponding to the destination IP address.
  • the above embodiment maintains a session in a bidirectional direction (the direction of the client 71 to the APPServer 75 and the direction of the APPServer 75 to the client 71), and allocates a corresponding cluster node device for the session, and then associates the tongue with the different types of tongues.
  • Different types of tongue messages are distributed to the cluster node device corresponding to the session for forwarding, so that different types of session information are processed on the same cluster node device, and different types of tongue information can be distributed uniformly.
  • the cluster can be smoothly and dynamically expanded to improve system performance and make system maintenance more convenient.
  • the first type of session packets and the second type of packets of the same user are distributed to the same cluster node, that is, user-based load balancing is implemented, thereby implementing user-based service control and charging management.
  • FIG. 8 is a structural diagram of a load balancing system in a server mode according to an embodiment of the present invention.
  • the system includes an LB 81, a service node device 82, and a backup node device 83.
  • the LB 81 is connected to multiple service node devices in the service node device cluster, and the LB 81 includes There is a pre-processing unit 811, a distribution unit 812, and a backup unit 813.
  • Each of the service node devices 82 has a UIDB 821 that performs session control processing on the session, and a WAPGW 822 that performs session service processing on the same session processed by the UIDB 821, and the number of backup node devices. It can also be determined according to the situation. In this example, it is described by one backup node device. Referring to the figure, the functions of each device and unit in the system are as follows:
  • the pre-processing unit 811 creates a session according to the received Radius packet, and allocates a corresponding service node device to the session, that is, creates a session and performs session holding by using the IP of the MS in the previously received Radius packet as a key.
  • the distribution unit 812 extracts the second identifier in the UDP packet.
  • the server port number of the UDP packet is a Radius service port, that is, the UDP packet is a Radius packet
  • the second identifier extracted by the distribution unit 812 is the Frame-IP-Address (ie, the IP of the MS).
  • the extracted second identifier is the source IP (ie, the IP of the MS), and then the distribution unit 812 determines whether There is a keyword with the same Frame-IP-Address or source IP (that is, the IP of the MS). If it exists, the UDP packet is associated with the session. At this time, the distribution unit 812 distributes the UDP packet to the session.
  • the backup unit 813 sends the UDP packet to the backup node device 83; if not, the session associated with the UDP packet does not exist, and the pre-processing unit 811 extracts the UDP packet type according to the UDP packet type.
  • the frame-IP-Address or the source IP address of the UDP packet that is, the IP address of the MS, creates a session with the IP of the extracted MS as a key, and assigns a corresponding service node device to the created session.
  • the tongue timeout period when the current session times out, the new session can be recreated in this way for subsequent IP packets, and the new service node device is reselected;
  • the UIDB821 receives the Radius packet sent by the LB81 and saves the session control information (such as the MS uplink and downlink information), and the WAPGW822 receives the UDP packet of the non-Radius packet sent by the LB81 or other session service (such as TCP "3 ⁇ 4" And save the session business information;
  • the session control information such as the MS uplink and downlink information
  • the WAPGW822 receives the UDP packet of the non-Radius packet sent by the LB81 or other session service (such as TCP "3 ⁇ 4" And save the session business information;
  • the backup node device 83 performs backup of the control information of the UDP packet or the tongue of the tongue;
  • the session control information query request is sent to the UIDB 821, and the UIDB 821 responds to the query request with the session control information of the session saved locally; when the WAPGW 822 does not query the UIDB 821, the session control is obtained.
  • the session control information of the session backed up on the backup node device 63 is queried.
  • the UIDB 821 may also query the session service information in the WAPGW 822.
  • the foregoing embodiment distributes different types of session packets to the service node corresponding to the session by maintaining a session and assigning a corresponding service node to the session, and then by using the association relationship between the different types of tongue messages and the session.
  • the storage and query of different types of session information are implemented on the same service node, so that different types of tongue information can be conveniently obtained, and different types of session information can be distributed uniformly, and the service node cluster can be enabled at the same time. Smooth dynamic capacity expansion improves system performance and makes system maintenance more convenient.
  • the bearer related to the session control information may be a Radius packet or a Diameter packet
  • the session service information corresponding to the session service may be a WAP service, a streaming media service, or an Internet Protocol-based voice (Voice over Internet Protocol, VoIP) services or IP services such as Peer to Peer (P2P) services.
  • VoIP Voice over Internet Protocol
  • IP IP services
  • P2P Peer to Peer
  • all or part of the process in implementing the foregoing embodiments may be completed by a program instructing related hardware, and the program may be stored in a computer readable storage medium.
  • the program when executed, may include the flow of an embodiment of the methods as described above.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

报文分发方法、 设备及***
本申请要求于 2008 年 4 月 14 日提交中国专利局、 申请号为 200810027427.5、 发明名称为"报文分发方法、 设备及***"的中国专利申请的 优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域, 尤其涉及一种报文分发方法、 设备及***。
背景技术
无线应用协议 ( Wireless Application Protocol, WAP )是移动网络上类似 互联网应用的一系列规范组合, 以标准化无线通信设备, 可用于互联网访问, 包括收发电子邮件、 访问 WAP网页等。 目前 WAP技术已成为全球移动通信 ( Global System for Mobile Communications , GSM )、 通用无线分组业务 ( General Packet Radio Service, GPRS )、宽带码分多址( Wideband Code Division Multiple Access, WCDMA )等移动电话及其他终端访问无线信息服务的全球 标准。 WAP协议主要有 WAP1.X协议和 WAP2.0协议。
在现有的 WAP***中应用了负载均衡集群机制, 其中用户上下文信息数 据库( User Information Database, UIDB ) 集群和 WAP网关 ( WAP Gateway, WAPGW )集群是分开部署的, 对于会话控制消息, 如远程用户拨号认证服务 ( Remote Authentication Dial in User Service, Radius )请求消息 ( Radius Req 消息), GPRS网关支持节点 (Gateway GPRS Supporting Node, GGSN )通过 UIDB集群的负载均衡设^ ( Load Balance , LB )将 Radius Req消息发送到 UIDB 集群的某个集群节点上;对于会话业务消息,如 WAP请求, GGSN通过 WAPGW 集群的 LB将该 WAP请求发送到 WAPGW集群的某个集群节点上。 UIDB集 群与 WAPGW集群是相互独立的集群, 两个集群的负载均衡策略是分开不相 关的。 在手机用户上网时, WAPGW集群中的集群节点 A需要根据手机用户 因特网协议 ( Internet Protocol , IP )地址到 UIDB集群中的集群节点 B上查询 该手机用户上下线信息, 现有技术提供了一种技术手段, 即集群节点 A通过 将手机用户 IP地址值后 4位与 UIDB集群中的集群节点数的余值来确定存放 手机用户上下线信息的集群节点 B (在存放该手机用户上下线信息时也采用此 技术手段)。 现有技术采用 UIDB集群、 WAPGW集群分开部署的机制有如下缺陷: 采用上述现有技术提供的技术手段来查询手机用户上下线信息等会话控 制信息, 或查询会话业务信息, 在增加或减少 UIDB集群/ WAPGW集群中集 群节点数量时, 不能确定会话控制信息 /会话业务信息的存放地点, 不能实现 各集群的平滑动态扩容, ***性能低, 维护不方便。
发明内容
本发明实施例提供了一种报文分发方法、设备及***, 实现将会话控制报 文、会话业务报文发送到同一个集群节点中,可在集群节点上实现会话控制信 息与会话业务信息的存放、 查询, 并可实现集群的平滑动态扩容, 提高***性 能, 使***维护更加方便。
本发明实施例提供了一种报文分发方法, 包括:
根据接收到的第一类型会话报文创建会话 ,并为所述会话分配一个对应的 集群节点;
当接收到与所述会话关联的第二类型会话报文时 ,将所述第二类型会话报 文分发给与所述会话对应的集群节点。
相应地, 本发明实施例还提供了一种负载均衡设备, 包括:
预处理单元, 用于根据接收到的第一类型会话报文创建会话, 并为所述会 话分配一个对应的集群节点;
分发单元, 用于当接收到与所述会话关联的第二类型会话报文时,将所述 第二类型会话报文分发给与所述会话对应的集群节点。
相应地,本发明实施例还提供了一种集群节点设备, 包括无线应用协议网 关和与其——对应的用户上下文信息数据库;
所述用户上下文信息数据库, 用于接收控制会话报文,保存所述控制会话 报文中的控制 ^舌信息;
所述无线应用协议网关, 用于接收业务会话报文,根据所述业务会话报文 查询所述用户上下文信息数据库中的控制会话信息,并^^据所述会话控制信息 对所述业务会话报文进行处理。
相应地, 本发明实施例还提供了一种负载均衡***, 包括负载均衡设备、 集群节点设备, 所述负载均衡设备, 用于根据接收到的第一类型会话报文创建会话, 并为 所述会话分配一个对应的集群节点设备,当接收到与所述会话关联的第二类型 会话报文时, 将所述第二类型会话报文分发给与所述会话对应的集群节点设 备;
所述集群节点设备, 用于接收第一类型会话报文和第二类型会话报文, 所 述第一类型会话报文为会话控制报文, 第二类型会话报文为会话业务报文,或 者, 所述第一类型会话报文为会话业务报文, 第二类型会话报文为会话控制报 文,保存所述会话控制报文中的会话控制信息,根据所述会话控制信息对所述 会话业务报文进行处理。
本发明实施例,根据接收到的第一类型会话报文创建会话, 并为所述会话 分配一个对应的集群节点 , 当接收到与所述会话关联的第二类型会话报文时 , 将所述第二类型会话报文分发给与所述会话对应的集群节点 ,从而实现将会话 控制报文、会话业务报文发送到同一个集群节点中,可在集群节点上实现会话 控制信息与会话业务信息的存放、 查询, 并可实现集群的平滑动态扩容, 提高 ***性能, 使***维护更加方便。
附图说明
图 1是本发明实施例的报文分发方法的流程图;
图 2是图 1所示本发明实施例的报文分发方法中步骤 102的具体流程图; 图 3是本发明实施例的负载均衡设备的一种结构图;
图 4是本发明实施例的负载均衡设备的另一种结构图;
图 5是本发明实施例的集群节点设备的结构图;
图 6是本发明实施例的负载均衡***的结构图;
图 7是本发明实施例的代理模式下的负载均衡***的结构图;
图 8是本发明实施例的服务器模式下的负载均衡***的结构图。
具体实施方式
本发明实施例提供了一种报文分发方法、信息查询方法及对应的设备、 系 统,可实现将^舌控制报文、 ^舌业务报文两种不同类型的报文发送到同一个 集群节点中, 可在同一集群节点上实现会话控制信息与会话业务信息的存放、 查询, 并可实现集群的平滑动态扩容, 提高***性能, 使***维护更加方便。 下面结合附图 , 对本发明实施例进行伴细说明。
图 1是本发明实施例的报文分发方法的流程图, 参照该图,该方法主要包 括:
101 : 根据接收到的第一类型会话报文创建会话, 并为该会话分配一个对 应的集群节点;
在创建会话时可以从第一类型会话报文中提取第一标识作为关键字 ,以该 关键字创建会话, 并进行会话保持。 关键字可以是发送或接收该第一类型会话 报文的终端的 IP地址或号码, 比如, 在收到 GGSN发送的第一类型会话报文 时, 可以以发送该第一类型会话报文的终端的 IP地址或号码作为关键字, 在 收到集群节点发送的第一类型会话报文时,可以以接收该第一类型会话报文的 终端的 IP地址或号码作为关键字。
在为会话分配集群节点时,可以根据集群节点的负载、运行状况等进行分 配,如果接收到的第一类型会话报文是集群节点发送的,可以将该集群节点分 配给该 ^舌。
102: 当接收到与该会话关联的第二类型会话报文时, 将第二类型会话报 文分发给与该会话对应的集群节点。
其中, 判断第二类型会话报文与会话是否关联,可以从第二类型会话报文 中提取第二标识, 判断第二标识与创建会话的关键字是否相同, 若相同, 则第 二类型会话报文与会话关联。第二标识可以是发送或接收该第二类型会话报文 的终端的 IP地址或号码。 当创建会话的关键字 (也就是第一标识)是终端的 号码, 而第二标识是终端的 IP地址时, 在步骤 101中还需要从第一类型会话 中提取第三标识, 并建立第三标识和第一标识的对应关系,该第三标识为终端 的 IP地址, 在判断第二类型会话报文与会话是否关联时, 需要先根据第二标 识查找对应关系, 查找第二标识所对应的终端号码, 然后 据查找到的终端号 码与创建会话的关键字(即终端的号码)进行匹配, 若相同, 则第二类型会话 报文与会话关联。
在上述实施例中, ^舌报文(如 IP报文)具有不同的类型, 如可分为会 话控制报文和会话业务报文, 第一类型会话报文为会话控制报文, 第二类型会 话报文为会话业务报文, 或者, 第一类型会话报文为会话业务报文, 第二类型 会话报文为会话控制报文, 其中会话控制报文如用户数据报协议 (User Datagram Protocol , UDP ) 报文中的远程用户拨号认证服务 ( Remote Authentication Dial in User Service, Radius ) 4艮文, ^舌业务 4艮文如 UDP中非 Radius 4艮文或传输控制协议 ( Transfer Control Protocol, TCP ) 4艮文。
上述实施例通过保持一个会话, 并为该会话分配一个对应的集群节点,再 通过不同类型的会话报文与该会话的关联关系 ,将不同类型的会话报文分发到 该^舌对应的集群节点上,实现了在同一集群节点上实现不同类型的会话信息 的存放、 查询, 使得不同类型的会话信息可以方便的获取, 并且不同类型的会 话信息也可以均衡的分发, 同时使集群能够平滑动态扩容, 提高***性能, 使 ***维护更加方便。此外,将同一用户的第一类型^舌报文与第二类型报文分 发到同一个集群节点, 即实现了基于用户的负载均衡,进而能够实现基于用户 的业务控制和计费管理。
下面以 UDP报文( IP报文的协议号为 17表示 UDP报文) 以及以 MS的 IP地址为会话的关键字为例对 102进行说明, 如图 2所示, 主要包括如下流 程:
201 : LB接收会话报文, 该会话报文为 UDP报文;
202: LB判断是否存在与 UDP报文关联的会话, 若不存在, 则执行 203, 若存在, 则执行 204。
LB首先要分析 UDP报文的服务器端口号是否为 Radius服务端口 (1813 或 1812 ), 即判断接收到的 UDP报文是否为 Radius报文(会话控制报文的一 种, 且包含有会话控制信息, 如 MS上下线信息等), 包括两种情形:
A、 如果是 Radius服务端口, 则接收到的 UDP报文为 Radius报文, 即会 话控制报文:
LB提取 Radius 文中的 Frame-IP- Address (即 MS的 IP ), 由于该 Radius 报文的源 IP不是 MS的 IP, 而是认证鉴权计费 (Authentication Authorization Accounting , AAA ) 或 GGSN 的 IP , 因此, 此处所提取的标识为 Frame-IP- Address, 其中 Radius 文中的 Frame-IP- Address即 MS的 IP (下文 提及的非 Radius报文的 UDP报文、 TCP报文中的源 IP即 MS的 IP );
B、 如果不是 Radius服务端口, 则接收到的 UDP报文为非 Radius报文的 UDP报文:
LB提取 UDP报文中的源 IP , 由于 UDP报文是由 MS发送的 , UDP报文 的源 IP即为 MS的 IP;
LB判断是否存在关键字与提取的 Frame-IP- Address或源 IP(即 MS的 IP ) 相同的会话, 若存在, 则 UDP报文与该会话关联; 若不存在, 则不存在与该 UDP 4艮文关联的 ^舌。
203: 以提取的 MS的 IP地址为关键字创建会话, 并为创建的会话分配一 个对应的集群节点。 其中, 创建会话的过程也包括两种情形:
如果 UDP报文的服务器端口号为 Radius服务端口 , 则 LB根据 A中提取 的 Frame-IP- Address, 直接以该提取的 Frame-IP-Address为关键字创建会话并 进行^舌保持, 同时可设定^舌超时时间, 接着, 均衡地选择一个集群节点, 并将该集群节点分配给所创建的会话, 将 Radius报文发送至该集群节点, 这 样, 后续具有相同 MS的 IP的 IP报文即在该会话存续期间被发送到这个集群 节点上; 其中, 根据^舌超时时间, 当当前 ^舌超时时, 可为后续 IP报文以 该方式重新创建新的会话, 并重新选择新的集群节点;
如果 UDP报文的服务器端口号不是 Radius服务端口 , LB根据 B提取的 源 IP, 直接以该源 IP为关键字创建会话并进行会话保持, 接着, 均衡地选择 一个集群节点, 并将该集群节点分配给所创建的会话, 将 UDP报文发送至该 集群节点, 这样, 后续具有相同 MS的 IP的 IP报文即在该会话存续期间被发 送到这个集群节点上;
204: 将 UDP报文分发给该会话所对应的集群节点。
上述实施例是以 UDP报文为例进行说明的, 当 LB接收到的会话报文是 TCP报文, 即会话业务报文时, 其处理过程可以类似非 Radius报文的 UDP报 文的处理。
作为一种实施方式, 当会话报文为 Radius报文的时候, LB也可以先提取
Frame-IP-Address 和 MS 的移动台国际用户 目录号码 ( Mobile Station International Subscriber Directory Number , MSISDN ) ( 即 其 中 的 Calling-Station-ID ),建立 Frame-IP-Address与 Calling-Station-ID的对应关系(例 如以 Frame-IP- Address为关键字 , 以 Calling-Station-ID为值的哈希表 ) 之后 , 以 Calling-Station-ID 为关键字创建与某集群节点对应的会话, 并进行会话保 持, 当 LB接收到来自 MS的其它类型的会话报文(应用层不是 Radius消息 ) 时,提取该会话 文的源 IP,根据 Frame-IP-Address与 Calling-Station-ID的对 应关系查找源 IP 对应的 Calling-Station-ID , 并判断该查找到的 Calling-Station-ID与创建了某会话的关键字(即 Calling-Station-ID )是否相同, 如果相同, 则所述会话报文与所述会话关联,将该会话报文发送至该会话所对 应的集群节点, 如果不同, 丢弃该会话报文。
作为一种实施方式, 当 LB判断为会话报文关联到某一会话时, LB还可 以检测该^舌所对应的集群节点的工作状况,当检测出该^舌所对应的集群节 点故障时,可根据会话报文创建另一会话,为该会话分配另一非故障集群节点, 并将会话报文发送至该非故障集群节点,具体可参照上述描述,此处不再赞述。
作为一种实施方式, 当某集群节点接收到会话报文后,本地记录会话报文 中的会话信息 (如会话控制信息或会话业务信息); 而 LB在向某集群节点发 送上述会话报文时,也可以向某备份节点发送上述会话报文, 并将会话报文中 的会话信息备份到该备份节点上以供后续在集群节点上的本地信息查询 ,具体 地, 所述会话控制信息可为用户上下线信息。
图 3是本发明实施例的负载均衡设备的结构图 ,负载均衡设备连接有多个 集群节点设备, 其中, 负责均衡设备包括预处理单元 311及分发单元 312, 其 中:
预处理单元 311 , 用于根据接收到的第一类型会话报文创建会话, 并为该 会话分配了一个对应的集群节点设备; 具体地,在创建会话时可以从第一类型 会话报文中提取第一标识作为关键字,以该关键字创建会话,并进行会话保持。 因此, 预处理单元 311可进一步包括: 第一提取模块, 用于提取第一类型会话 报文中的第一标识; 建立模块, 用于以第一标识为关键字创建会话, 并进行会 话保持, 分配模块, 用于为该会话分配一个对应的集群节点。 其中, 关键字可 以是发送或接收该第一类型会话报文的终端的 IP地址或号码, 比如, 在收到 GGSN发送的第一类型会话报文时,可以以发送该第一类型会话报文的终端的 IP地址或号码作为关键字, 在收到集群节点设备发送的第一类型会话报文时, 可以以接收该第一类型会话报文的终端的 IP地址或号码作为关键字。 分配模 块在为会话分配集群节点设备时,可以根据集群节点设备的负载、运行状况等 进行分配,如果接收到的第一类型会话报文是集群节点设备发送的,可以将该 集群节点设备分配给该会话。
分发单元 312, 用于当接收到与该会话关联的第二类型会话报文时, 将第 二类型会话报文分发给与该会话对应的集群节点设备。其中, 第二类型会话报 文与会话是否关联,可以从第二类型会话报文中提取第二标识, 判断第二标识 与创建会话的关键字是否相同, 若相同, 则第二类型^舌报文与会话关联。 因 此, 分发单元 312可进一步包括: 接收模块, 用于接收第二类型会话报文; 第 二提取模块, 用于提取第二类型会话报文中的第二标识; 判断模块, 用于判断 第二标识与创建会话的关键字是否相同, 若相同, 则第二类型会话报文与该会 话关联; 发送模块, 用于当判断模块判断第二类型会话报文与会话关联时, 将 与该会话关联的第二类型会话报文分发给与该会话对应的集群节点。其中, 第 二标识可以是发送或接收该第二类型会话报文的终端的 IP地址或号码, 上述 实施例为第一标识和第二标识同为终端 IP地址或同为终端号码的情况。
当创建会话的关键字(也就是第一标识)是终端的号码, 而第二标识是终 端的 IP地址时, 预处理单元 311还需要从第一类型会话中提取第三标识, 并 建立第三标识和第一标识的对应关系, 该第三标识为终端的 IP地址, 在判断 第二类型会话报文与会话是否关联时, 需要先根据第二标识查找对应关系, 查 找第二标识所对应的终端号码,然后根据查找到的终端号码与创建会话的关键 字(即终端的号码)进行匹配, 若相同, 则第二类型会话报文与会话关联, 因 此, 该实施例中负载均衡设备的结构图如图 4所示, 预处理单元还包括: 第三 提取模块, 用于提取第一类型会话报文中的第三标识, 第三标识为发送或接收 所述第一类型报文的终端的 IP地址; 关系模块, 用于建立发送或接收第一类 型报文的终端的 IP地址与终端号码的对应关系; 分发单元则具体包括: 接收 模块, 用于接收第二类型会话报文; 第二提取模块, 用于提取第二类型会话报 文中的第二标识; 查找模块, 用于 ^居关系模块中的对应关系, 查找所述第二 标识对应的终端号码; 判断模块,用于判断查找到的终端号码与创建会话的关 键字是否相同, 若相同, 则第二类型^舌报文与^舌关联; 发送模块, 用于当 判断模块判断第二类型会话报文与会话关联时,将与该会话关联的第二类型会 话报文分发给与该会话对应的集群节点。
在上述实施例中, ^舌报文(如 IP报文)具有不同的类型, 如可分为会 话控制报文和会话业务报文, 第一类型会话报文为会话控制报文, 第二类型会 话报文为会话业务报文, 或者, 第一类型会话报文为会话业务报文, 第二类型 会话报文为会话控制报文。
上述实施例通过预处理单元 311保持一个会话,并为该会话分配一个对应 关系,将不同类型的^舌报文分发到该会话对应的集群节点设备上, 实现了在 同一集群节点设备上实现不同类型的^舌信息的存放、查询,使得不同类型的 ^舌信息可以方便的获取, 并且不同类型的^舌信息也可以均衡的分发, 同时 使集群能够平滑动态扩容, 提高***性能, 使***维护更加方便。
下面同样以^舌^艮文为用户数据 ^艮协议 ( User Datagram Protocol, UDP ) 报文( IP报文的协议号为 17表示 UDP报文), 以及以 MS的 IP地址为会话的 关键字为例对负载均衡设备中的预处理单元 311、 分发单元 312进行说明: 接收模块接收 UDP报文后, 第二提 莫块提取 UDP报文中的第二标识, 当 UDP报文的服务器端口号为 Radius服务端口(即 UDP报文为 Radius报文) 时, 第二提取模块提取其中的 Frame-IP-Address (即 MS的 IP ), 当 UDP报文 的服务器端口号不是 Radius服务端口(即 UDP报文为非 Radius报文)时, 第 二提 ^莫块提取其中的源 IP (即 MS的 IP ), 之后, 判断模块判断是否存在关 键字与提取的 Frame-IP-Address或源 IP (即 MS的 IP )相同的会话, 若存在, 则 UDP报文与该会话关联,此时发送模块将 UDP报文分发给该会话所对应的 集群节点设备; 若不存在, 则不存在与该 UDP报文关联的会话, 则第一提取 模块根据 UDP报文类型提取 UDP报文中的 Frame-IP-Address或源 IP (即 MS 的 IP ), 建立模块以该提取的 MS的 IP为关键字创建会话, 并为创建的会话分 配一个对应的集群节点设备, 同时可设定^舌超时时间, 当当前 ^舌超时时, 可为后续 IP报文以该方式重新创建新的会话,并重新选择新的集群节点设备。
另外, 当负载均衡设备接收到的^舌报文是 TCP报文, 即^舌业务报文 作为一种实施方式, 当建立模块是以 MS的号码为关键字创建会话, 并进 行会话保持的时候 (即第一提取模块提取的第一标识为会话报文中的
Calling-Station-ID ), 则第三提耳 ^莫块提取会话报文中 Frame-IP- Address , 关系 模块建立 Frame-IP-Address 与 Calling-Station-ID 的对应关系 ( 如以 Frame-IP-Address为关键字, 以 Calling-Station-ID为值的哈希表), 当接收模 块接收到来自 MS的其他类型的会话报文(应用层不是 Radius消息) 时, 第 二提取模块, 提取该会话 文的源 IP, 查找模块 Frame-IP-Address 与 Calling-Station-ID的对应关系查找源 IP对应的 Calling-Station-ID,判断模块判 断查找模块查找到的 Calling-Station-ID 与创建会话的关键字 ( 即 Calling-Station-ID )是否相同, 如果相同, 则所述会话报文与所述会话关联, 此时, 发送模块将该会话报文发送至该会话所对应的集群节点设备。
作为一种实施方式, 负载均衡设备中还可以包括故障检测单元,该故障检 测单元当上述判断模块判断为会话报文关联到某一会话时 ,检测该会话所对应 的集群节点设备的工作状况, 当检测出该^舌所对应的集群节点设备故障时 , 可触发预处理单元 311根据所述会话报文创建另一会话,为该会话分配另一非 故障集群节点设备, 具体可参照上述描述, 此处不再赞述。
作为一种实施方式, 负载均衡设备中还可以包括备份单元, 向某备份节点 设备发送上述会话报文,并将会话4艮文中的会话控制信息或会话业务信息备份 到该备份节点设备上以供后续的信息查询,具体地, 所述会话控制信息可为用 户上下线信息。
图 5是本发明实施例的集群节点设备的结构图, 参照该图,该集群节点设 备包括用户上下文信息数据库 UIDB51 和与其——对应的无线应用协议网关 WAPGW52, 其功能如下述:
UIDB51对某一会话进行会话控制处理保存有该会话的会话控制信息, 如 用户上下线信息等, WAPGW52对 UIDB51处理的同一会话进行会话业务处理, 当 WAPGW52需要查询该^舌的^舌控制信息时, WAPGW52向 UIDB51发 送会话控制信息查询请求, 并接收 UIDB51响应的会话控制信息。
作为一种实施方式, WAPGW52中可以包括有接收单元,用于接收业务会 话报文; 本地查询单元, 用于向 UIDB51发送所述控制会话信息查询请求并接 收其响应; 处理单元, 用于根据查询到的控制会话信息对业务会话报文进行处 理。 其中, WAPGW52还可以包括外部查询单元, 当本地查询单元向 UIDB51 发送会话控制信息查询请求并接收其未查询得到所述会话控制信息的响应时, 外部查询单元查询本集群节点设备之外某备份节点设备上备份的所述会话的 会话控制信息。
需要说明的是, UIDB51与 WAPGW52可分别设置在不同的物理设备上, 也可以设置在同一个物理设备上。
上述实施例实现了在同一集群节点设备上实现不同类型的会话信息的查 询, 使得不同类型的会话信息可以方便的获取。
图 6是本发明实施例的负载均衡***的结构图, 参照该图,该***主要包 括负载均衡设备 61、 集群节点设备 62, 多个集群节点设备形成一个集群, 其 中:
负载均衡设备 61, 根据接收到的第一类型会话报文创建会话, 并为所述 会话分配一个对应的集群节点设备,当接收到与所述会话关联的第二类型会话 报文时 , 将所述第二类型会话报文分发给与所述会话对应的集群节点设备; 集群节点设备 62, 根据接收的所述第一类型会话报文进行所述会话的第 一类型会话处理,根据接收的所述第二类型会话报文进行所述会话的第二类型 会话处理, 如当第一类型会话报文为会话业务报文时, 则集群节点设备 62根 据接收到的会话业务报文进行会话业务处理,第二类型会话报文为会话控制报 文时, 则集群节点设备 62根据接收到的会话控制报文进行会话控制处理。
下面介绍上述本发明实施例的两种应用场景。
图 7是本发明实施例的代理模式下的负载均衡***的结构图, 参照该图, 该***包括客户端(Client ) 71、 LB72、 透明代理服务网关( Transparent Proxy Service Gateway, TPSG ) 集群 73 (不仅限于图示的 TPSG的数量)、 LB74、 业务服务器( Application Server, APPServer ) 75, LB72、 LB74与 TPSG集群 73对 Client71和 APPServer75来说是透明的 , Client71与 LB72相连, LB72、 LB74分别连接到同一个集群 73上, LB74与 APPServer75相连, 各设备功能 如下述:
( 1 ) Client71向 APPServer75发送 UDP报文:
Client71向 LB72发送 UDP报文; LB72接收到 Client71发送的 UDP报文后 ,提取 UDP报文中的第二标识, 当 UDP报文的服务器端口号为 Radius服务端口(即 UDP报文为 Radius报文) 时, 提取其中的 Frame-IP- Address (即 MS的 IP ), 当 UDP报文的服务器端口 号不是 Radius服务端口 (即 UDP报文为非 Radius报文) 时, 提取其中的源 IP (即 MS的 IP ), 之后, 由于 LB72已以之前接收的^舌报文中的 MS的 IP 作为关键字创建会话并进行会话保持, LB72 判断是否存在关键字与提取的 Frame-IP-Address或源 IP (即 MS的 IP )相同的 ^舌, 若存在, 则 UDP报文 与该会话关联,此时 LB72将 UDP报文分发给该会话所对应的 TPSG; 若不存 在, 则不存在与该 UDP报文关联的会话, 则 LB72根据 UDP报文类型提取 UDP报文中的 Frame-IP-Address或源 IP (即 MS的 IP ), 以该提取的 MS的 IP 为关键字创建会话, 并为创建的会话分配一个对应的 TPSG, 同时可设定会话 超时时间, 当当前 ^舌超时时, 可为后续 IP报文以该方式重新创建新的 ^舌, 并重新选择新的 TPSG。
TPSG集群 73中的与上述会话对应的 TPSG接收到 UDP报文后,将该 UDP
Figure imgf000014_0001
发送的 UDP报文后 , 当 UDP报文为 Radius报文时, 提取 UDP报文中的 Frame-IP-Address (即 Client71的 IP ), 提取 UDP报文最 后一跳的 MAC 地址, 即发送 UDP报文的 TPSG 的 MAC 地址, 并建立 Frame-IP-Address与 MAC地址的对应关系(如以 Frame-IP-Address为关键字, 以 MAC地址为值的哈希表), 之后 , LB74将 UDP报文发送到 APPServer75;
APPServer75接收到 UDP报文并进行对应处理。
( 2 ) APPServer75接收到 UDP报文并进行对应处理后, APPServer75向 Client71返回 UDP报文:
APPServer75向 LB74返回 UDP 4艮文;
LB74接收到 APPServer75返回的 UDP报文后 , 提取 UDP报文中的第二 标识, 提取其中的目的 IP (即 MS的 IP ), 之后, LB74判断是否存在关键字 与提取的目的 IP相同的会话,若存在,则 UDP报文与该会话关联,此时 LB74 查找 Frame-IP-Address与 MAC地址的对应关系 ,查找到该目的 IP对应的 TPSG 的 MAC地址, 将 UDP 文分发给该 MAC地址所对应的 TPSG (即上述情况 ( 1 ) 中接收并发送 UDP报文的 TPSG ); 若不存在, 则不存在与该 UDP报文 关联的会话, 此时 LB74丢弃该 UDP报文;
TPSG集群 73中的与上述会话对应的 TPSG接收到 UDP报文后,将该 UDP 报文发送到 LB72;
LB72接收到 TPSG发送的 UDP报文后,将该 UDP报文发送至目标 IP所 对应的 Client71。
上述实施例通过双向 (Client71到 APPServer75的方向及 APPServer75到 Client71的方向)保持一个会话, 并为该会话分配一个对应的集群节点设备, 再通过不同类型的^舌报文与该^舌的关联关系 ,将不同类型的 ^舌报文分发 到该会话对应的集群节点设备上进行转发,实现了在同一集群节点设备上实现 不同类型的会话信息的处理, 不同类型的^舌信息也可以均衡的分发, 同时使 集群能够平滑动态扩容, 提高***性能, 使***维护更加方便。 此外, 将同一 用户的第一类型会话报文与第二类型报文分发到同一个集群节点,即实现了基 于用户的负载均衡, 进而能够实现基于用户的业务控制和计费管理。
图 8是本发明实施例的服务器模式下的负载均衡***的结构图,该***包 括 LB81、 业务节点设备 82、 备份节点设备 83 , LB81与业务节点设备集群中 多个业务节点设备相连, LB81包括有预处理单元 811、 分发单元 812、备份单 元 813, 每个业务节点设备 82均有对会话进行会话控制处理的 UIDB821、 对 UIDB821处理的同一会话进行会话业务处理的 WAPGW822, 备份节点设备的 个数还可以根据情况来确定,此例中以 1个备份节点设备进行说明,参照该图 , 该***中各设备、 单元功能如下述:
预处理单元 811根据接收到的 Radius报文创建会话, 并为该会话分配了 一个对应的业务节点设备 , 即以之前接收的 Radius报文中的 MS的 IP作为关 键字创建会话并进行会话保持, 之后, 分发单元 812接收来自 GGSN路由过 来的 UDP报文后, 提取 UDP报文中的第二标识, 当 UDP报文的服务器端口 号为 Radius服务端口(即 UDP报文为 Radius报文)时, 分发单元 812提取的 第二标识为其中的 Frame-IP-Address (即 MS的 IP ), 当 UDP报文的服务器端 口号不是 Radius服务端口 (即 UDP报文为非 Radius报文)时 , 分发单元 812 提取的第二标识为其中的源 IP (即 MS的 IP ), 之后, 分发单元 812判断是否 存在关键字与提取的 Frame-IP-Address或源 IP (即 MS的 IP )相同的^舌, 若 存在, 则 UDP报文与该会话关联,此时分发单元 812将 UDP报文分发给该会 话所对应的业务节点设备 , 同时, 备份单元 813将 UDP报文发送至备份节点 设备 83; 若不存在, 则不存在与该 UDP报文关联的会话, 则预处理单元 811 根据 UDP报文类型提取 UDP报文中的 Frame-IP-Address或源 IP(即 MS的 IP ), 以该提取的 MS的 IP为关键字创建会话, 并为创建的会话分配一个对应的业 务节点设备, 同时可设定^舌超时时间, 当当前会话超时时, 可为后续 IP报 文以该方式重新创建新的会话, 并重新选择新的业务节点设备;
UIDB821接收 LB81发送的 Radius报文并保存其中的会话控制信息 (如 MS上下线信息), 而 WAPGW822接收 LB81发送的非 Radius报文的 UDP报 文或其他会话业务 ^艮文(如 TCP "¾文) 并保存其中的会话业务信息;
备份节点设备 83 , 将 UDP报文中的^舌控制信息或 ^舌业 ^言息进行备 份;
WAPGW822需要查询某一会话的会话控制信息时,向 UIDB821发送会话 控制信息查询请求, UIDB821 以本地保存的所述会话的会话控制信息响应所 述查询请求; 当 WAPGW822未从 UIDB821查询得到所述会话控制信息时, 查询备份节点设备 63上备份的所述会话的会话控制信息。
另外, 在本发明其他实施例也可以是 UIDB821查询 WAPGW822中的会 话业务信息。
上述实施例通过保持一个会话, 并为该会话分配一个对应的业务节点,再 通过不同类型的^舌报文与该会话的关联关系 ,将不同类型的会话报文分发到 该会话对应的业务节点上,实现了在同一业务节点上实现不同类型的会话信息 的存放、 查询, 使得不同类型的^舌信息可以方便的获取, 并且不同类型的会 话信息也可以均衡的分发, 同时使业务节点集群能够平滑动态扩容,提高*** 性能, 使***维护更加方便。
需要说明的是, 上述会话控制信息相关的承载可以是 Radius 报文或 Diameter报文, 所述会话业务信息对应会话业务可以是 WAP业务、 流媒体业 务、 基于因特网协议的语音(Voice over Internet Protocol, VoIP )业务或点对 点 ( Peer to Peer, P2P )业务等 IP业务。 另夕卜,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分 流程,是可以通过程序来指令相关的硬件来完成, 所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM )或随^ 1 储记忆体 ( Random Access Memory, RAM )等。
以上所述是本发明的具体实施方式,应当指出,对于本技术领域的普通技 术人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这 些改进和润饰也视为本发明的保护范围。

Claims

权 利 要 求
1、 一种报文分发方法, 其特征在于, 包括:
根据接收到的第一类型会话报文创建会话 ,并为所述会话分配一个对应的 集群节点;
当接收到与所述会话关联的第二类型会话报文时,将所述第二类型会话报 文分发给与所述会话对应的集群节点。
2、 如权利要求 1所述的方法, 其特征在于, 所述根据接收到的第一类型 ^舌报文创建^舌包括:
提取所述第一类型会话报文中的第一标识;
以所述第一标识为关键字创建会话, 并进行会话保持。
3、 如权利要求 2所述的方法, 其特征在于, 所述方法还包括:
提取所述第二类型会话>¾文中的第二标识,判断所述第二标识与创建所述 ^舌的关键字是否相同, 若相同, 则所述第二类型^舌报文与所述会话关联。
4、 如权利要求 3所述的方法, 其特征在于, 所述第一标识为发送或接收 所述第一类型^舌报文的终端的因特网协议 IP地址; 所述第二标识为发送或 接收所述第二类型会话报文的终端的 IP地址。
5、 如权利要求 2所述的方法, 其特征在于, 所述第一标识为发送或接收 所述第一类型 "^文的终端号码, 则所述方法还包括:
提取所述第一类型会话报文中的第三标识,所述第三标识为发送或接收所 述第一类型 文的终端的 IP地址, 建立所述 IP地址与所述终端号码的对应关 系;
当接收到第二类型会话报文时 , 提取所述第二类型会话报文中的第二标 识, 所述第二标识为发送或接收所述第二类型报文的终端的 IP地址, 根据所 述 IP地址与所述终端号码的对应关系查找所述第二标识对应的终端号码, 判 断所述查找所得终端号码与创建所述会话的关键字是否相同, 若相同, 则所述 第二类型会话报文与所述会话关联。
6、 如权利要求 1所述的方法, 其特征在于, 该方法还包括:
检测所述集群节点是否故障, 若是,根据所述第二类型会话报文创建另一 会话, 并为所述会话分配关联的另一非故障集群节点。
7、 如权利要求 1所述的方法, 其特征在于, 该方法还包括:
将所述第一类型会话报文或第二类型会话报文发送至备份节点以备份所 述第一类型会话报文或第二类型会话报文中的会话信息。
8、 如权利要求 1至 7中任一项所述的方法, 其特征在于, 所述第一类型 会话报文为会话控制报文, 所述第二类型会话报文为会话业务报文, 或者, 所 述第一类型会话报文为会话业务报文, 所述第二类型会话报文为会话控制报 文。
9、 一种负载均衡设备, 其特征在于, 包括:
预处理单元, 用于根据接收到的第一类型会话报文创建会话, 并为所述会 话分配一个对应的集群节点;
分发单元, 用于当接收到与所述会话关联的第二类型会话报文时,将所述 第二类型会话报文分发给与所述会话对应的集群节点。
10、 如权利要求 9所述的设备, 其特征在于, 所述预处理单元包括: 第一提取模块, 用于提取所述第一类型会话报文中的第一标识; 建立模块, 用于以所述第一标识为关键字创建会话, 并进行会话保持, 分配模块, 用于为所述会话分配一个对应的集群节点。
11、 如权利要求 10所述的设备, 其特征在于, 所述分发单元包括: 接收模块, 用于接收第二类型会话报文;
第二提取模块, 用于提取所述第二类型会话报文中的第二标识; 判断模块, 用于判断所述第二标识与创建所述会话的关键字是否相同, 若 相同, 则所述第二类型会话报文与所述会话关联;
发送模块,用于当所述判断模块判断所述第二类型会话报文与所述会话关 联时 ,将与所述会话关联的第二类型会话报文分发给与所述会话对应的集群节 点。
12、 如权利要求 11所述的设备, 其特征在于, 所述第一标识为发送或接 收所述第一类型会话报文的终端的 IP地址; 所述第二标识为发送或接收所述 第二类型会话报文的终端的 IP地址。
13、 如权利要求 10所述的设备, 其特征在于, 所述第一标识为发送或接 收所述第一类型 ^艮文的终端号码, 则所述预处理单元还包括:
第三提取模块, 用于提取所述第一类型会话报文中的第三标识, 所述第三 标识为发送或接收所述第一类型报文的终端的 IP地址;
关系模块, 用于建立所述发送或接收所述第一类型报文的终端的 IP地址 与所述终端号码的对应关系;
所述分发单元包括:
接收模块, 用于接收第二类型会话报文;
第二提取模块, 用于提取所述第二类型会话报文中的第二标识, 所述第二 标识为发送或接收所述第二类型报文的终端的 IP地址,;
查找模块, 用于根据所述关系模块中的对应关系, 查找所述第二标识对应 的终端号码;
判断模块, 用于判断所述终端号码与创建所述会话的关键字是否相同, 若 相同, 则所述第二类型会话报文与所述会话关联;
发送模块,用于当所述判断模块判断为所述第二类型会话报文与所述会话 关联时 ,将与所述会话关联的第二类型会话报文分发给与所述会话对应的集群 节点。
14、 如权利要求 9所述的设备, 其特征在于, 该设备还包括: 故障检测单元, 用于检测所述集群节点是否故障, 若是, 则触发所述预处 理单元根据所述第二类型会话报文创建另一会话,并为所述会话分配另一个对 应的非故障集群节点。
15、 如权利要求 9所述的设备, 其特征在于, 该设备包括:
备份单元,用于将所述第一类型会话报文或第二类型会话报文发送至备份 节点以备份所述第一类型会话报文或第二类型会话报文中的会话信息。
16、 如权利要求 9至 15所述的设备, 其特征在于, 所述第一类型会话报 文为会话控制报文, 所述第二类型会话报文为会话业务报文, 或者, 所述第一 类型会话报文为会话业务报文, 所述第二类型会话报文为会话控制报文。
17、 一种集群节点设备, 其特征在于, 包括无线应用协议网关和与其—— 对应的用户上下文信息数据库;
所述用户上下文信息数据库, 用于接收控制会话报文,保存所述控制会话 报文中的控制 ^舌信息;
所述无线应用协议网关, 用于接收业务会话报文,根据所述业务会话报文 查询所述用户上下文信息数据库中的控制会话信息,并根据所述会话控制信息 对所述业务会话报文进行处理。
18、 如权利要求 17所述的设备, 其特征在于, 所述无线应用协议网关包 括:
接收单元, 用于接收业务会话报文;
本地查询单元,用于向所述用户上下文信息数据库发送所述控制会话信息 查询请求并接 Jit其响应;
外部查询单元, 用于当所述本地查询单元未查询得到所述控制会话信息 时, 查询本集群节点设备之外的备份节点设备上备份的所述控制会话信息; 处理单元, 用于根据查询到的控制会话信息对所述业务会话报文进行处 理。
19、一种负载均衡***, 包括负载均衡设备、集群节点设备,其特征在于, 所述负载均衡设备, 用于根据接收到的第一类型会话报文创建会话, 并为 所述会话分配一个对应的集群节点设备,当接收到与所述会话关联的第二类型 会话报文时, 将所述第二类型会话报文分发给与所述会话对应的集群节点设 备;
所述集群节点设备, 用于接收第一类型会话报文和第二类型会话报文, 所 述第一类型会话报文为会话控制报文, 第二类型会话报文为会话业务报文,或 者, 所述第一类型会话报文为会话业务报文, 第二类型会话报文为会话控制报 文,保存所述会话控制报文中的会话控制信息,根据所述会话控制信息对所述 会话业务报文进行处理。
PCT/CN2009/070711 2008-04-14 2009-03-10 报文分发方法、设备及*** WO2009127132A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP09732873.6A EP2257022B1 (en) 2008-04-14 2009-03-10 A message distributing method, device and system
BRPI0911244-8A BRPI0911244B1 (pt) 2008-04-14 2009-03-10 Método para distribuição de mensagens, dispositivo de balanceamento de carga e sistema de balanceamento de carga
US12/904,850 US8856243B2 (en) 2008-04-14 2010-10-14 Method, device, and system for message distribution
US14/473,528 US20140369202A1 (en) 2008-04-14 2014-08-29 Method, device, and system for message distribution

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810027427.5 2008-04-14
CN2008100274275A CN101562784B (zh) 2008-04-14 2008-04-14 报文分发方法、设备及***

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/904,850 Continuation US8856243B2 (en) 2008-04-14 2010-10-14 Method, device, and system for message distribution

Publications (1)

Publication Number Publication Date
WO2009127132A1 true WO2009127132A1 (zh) 2009-10-22

Family

ID=41198776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/070711 WO2009127132A1 (zh) 2008-04-14 2009-03-10 报文分发方法、设备及***

Country Status (6)

Country Link
US (2) US8856243B2 (zh)
EP (1) EP2257022B1 (zh)
CN (1) CN101562784B (zh)
BR (1) BRPI0911244B1 (zh)
RU (1) RU2464722C2 (zh)
WO (1) WO2009127132A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856243B2 (en) 2008-04-14 2014-10-07 Huawei Technologies Co., Ltd. Method, device, and system for message distribution

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722413B (zh) * 2012-05-16 2017-12-29 上海兆民云计算科技有限公司 一种桌面云集群使用的分布式资源调度方法
CN103634375B (zh) * 2013-11-07 2017-01-11 华为技术有限公司 扩容集群节点的方法、装置及设备
CN106161353B (zh) * 2015-03-31 2019-05-17 国家计算机网络与信息安全管理中心 一种面向宽带网络侧的上网时间管理方法及***
CN107395555A (zh) * 2016-05-17 2017-11-24 中兴通讯股份有限公司 一种会话管理的方法、设备和***
CN106302661B (zh) * 2016-08-02 2019-08-13 网宿科技股份有限公司 P2p数据加速方法、装置和***
CN108415951B (zh) * 2018-02-02 2022-01-11 广东睿江云计算股份有限公司 一种数据库控制方法和***
WO2019232750A1 (zh) * 2018-06-07 2019-12-12 Guan Chi 一种网络通信方法、对等体及***
CN113452737A (zh) * 2020-03-27 2021-09-28 华为技术有限公司 一种传输会话请求的方法、装置和电子设备
CN111444018B (zh) * 2020-03-30 2023-08-08 北京字节跳动网络技术有限公司 请求处理方法以及装置
CN112134929B (zh) * 2020-08-28 2022-05-27 新华三技术有限公司 一种会话报文分析方法、装置及存储介质
CN113032151B (zh) * 2021-03-31 2023-10-17 广州虎牙科技有限公司 业务消息的处理方法、电子设备、移动终端及存储介质
CN114979236B (zh) * 2022-05-12 2024-06-28 山石网科通信技术股份有限公司 数据传输方法、装置、存储介质以及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
KR20030062018A (ko) * 2002-01-15 2003-07-23 삼성전자주식회사 이동 통신 시스템에서 무선 데이터 전송 방법
CN1882123A (zh) * 2005-06-13 2006-12-20 大唐移动通信设备有限公司 一种移动网终端的集群通信方法
CN1885969A (zh) * 2005-06-21 2006-12-27 大唐移动通信设备有限公司 数字集群通信***及实现集群业务的方法
CN1965519A (zh) * 2004-06-21 2007-05-16 思科技术公司 用于利用反馈信息网络环境中的负载均衡的***和方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393289B1 (en) * 1998-11-19 2002-05-21 Lucent Technologies Inc. Apparatus, method and system for wireless telecommunication session control by an adjunct network entity
FI112427B (fi) * 1999-11-05 2003-11-28 Nokia Corp Menetelmä langattoman päätelaitteen ominaisuuksien määrittämiseksi multimediasanoman välityspalvelussa, multimediasanoman välityspalvelu ja multimediapäätelaite
AU2000250743A1 (en) * 2000-05-31 2001-12-11 Nokia Corporation Method and apparatus for generating a connection identification
FI112756B (fi) * 2000-09-11 2003-12-31 Stonesoft Oyj Tietopakettien käsittely verkkoelementtiklusterissa
US7003574B1 (en) * 2000-11-01 2006-02-21 Microsoft Corporation Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier
US7958237B2 (en) * 2001-01-23 2011-06-07 Pearl Software, Inc. Method for managing computer network access
WO2002082763A2 (en) * 2001-02-20 2002-10-17 Innomedia Pte Ltd. System and method for establishing channels for a real time media streaming communication
BRPI0215035B1 (pt) * 2001-12-21 2017-05-23 France Telecom métodos para operar uma rede de telefonia móvel, e, rede de telefonia móvel
US7254634B1 (en) * 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
FI20021137A0 (fi) * 2002-06-12 2002-06-12 Nokia Corp Kuormantasain monisuoritinalustoja varten
CA2406880A1 (en) * 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for an ecommerce message using sms
US20070106619A1 (en) * 2003-06-30 2007-05-10 Holdsworth John C Method of and system for authenticating a transaction initiated from a non-internet enabled device
US7284147B2 (en) * 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
US7324473B2 (en) 2003-10-07 2008-01-29 Accenture Global Services Gmbh Connector gateway
US8412837B1 (en) * 2004-07-08 2013-04-02 James A. Roskind Data privacy
US7996471B2 (en) * 2004-07-13 2011-08-09 At&T Intellectual Property I, L.P. Electronic message distribution system
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7779081B2 (en) * 2004-07-16 2010-08-17 International Business Machines Corporation Method, system, and program for forwarding messages between nodes
US7693050B2 (en) * 2005-04-14 2010-04-06 Microsoft Corporation Stateless, affinity-preserving load balancing
US20060277596A1 (en) * 2005-06-06 2006-12-07 Calvert Peter S Method and system for multi-instance session support in a load-balanced environment
US20070002834A1 (en) * 2005-06-30 2007-01-04 Nortel Networks Limited Session control for mass session events
JP4616159B2 (ja) * 2005-11-30 2011-01-19 富士通株式会社 クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム
US20090070858A1 (en) * 2006-05-10 2009-03-12 Keytel Co., Ltd. Authentication computer and program
US7974235B2 (en) * 2006-11-13 2011-07-05 Telecommunication Systems, Inc. Secure location session manager
EP2111701B1 (en) * 2007-01-31 2018-12-05 BroadSoft, Inc. System and method for reestablishing, with a client device, a signaling session associated with a call in progress
US7818785B2 (en) * 2007-07-25 2010-10-19 Dell Products L.P. System and method for secure information handling system memory
CN101562784B (zh) 2008-04-14 2012-06-06 华为技术有限公司 报文分发方法、设备及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
KR20030062018A (ko) * 2002-01-15 2003-07-23 삼성전자주식회사 이동 통신 시스템에서 무선 데이터 전송 방법
CN1965519A (zh) * 2004-06-21 2007-05-16 思科技术公司 用于利用反馈信息网络环境中的负载均衡的***和方法
CN1882123A (zh) * 2005-06-13 2006-12-20 大唐移动通信设备有限公司 一种移动网终端的集群通信方法
CN1885969A (zh) * 2005-06-21 2006-12-27 大唐移动通信设备有限公司 数字集群通信***及实现集群业务的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2257022A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856243B2 (en) 2008-04-14 2014-10-07 Huawei Technologies Co., Ltd. Method, device, and system for message distribution

Also Published As

Publication number Publication date
RU2464722C2 (ru) 2012-10-20
US20140369202A1 (en) 2014-12-18
US8856243B2 (en) 2014-10-07
BRPI0911244A2 (pt) 2015-10-06
RU2010146258A (ru) 2012-05-20
CN101562784B (zh) 2012-06-06
EP2257022A1 (en) 2010-12-01
CN101562784A (zh) 2009-10-21
BRPI0911244B1 (pt) 2020-10-06
EP2257022A4 (en) 2011-04-20
EP2257022B1 (en) 2014-07-02
US20110029631A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
WO2009127132A1 (zh) 报文分发方法、设备及***
US9521060B2 (en) Identifying services provided over secured connections using DNS caching
CN111698725A (zh) 动态确定网络切片的方法及电子设备
JP5323861B2 (ja) ネットワーク・リソースをプールするための方法および装置
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
US20120099429A1 (en) Adaptation of Quality of Service in Handling Network Traffic
US7984149B1 (en) Method and apparatus for identifying a policy server
US8018847B2 (en) System and method for redirecting requests
WO2020253747A1 (zh) 会话管理方法、会话管理功能smf实体、终端及网络侧实体
WO2006095236A1 (en) System, method and apparatus for selecting a remote endpoint for accessing packet data services
WO2010093826A1 (en) Selection of roaming gateway
WO2012171169A1 (zh) 一种通信方法及负载均衡器
EP3668058B1 (en) Content distribution method and system
WO2012065500A1 (zh) 一种业务控制方法及***、演进基站、分组数据网网关
CN106572132B (zh) 分发建链方法、装置和***
WO2021008591A1 (zh) 数据传输方法、装置及***
WO2014101755A1 (zh) 业务数据分流方法及***
WO2017012471A1 (zh) 负载均衡处理方法及装置
WO2022206260A1 (zh) 地址信息发送方法、获取方法、装置、设备及介质
WO2013004134A1 (zh) 一种p2p网络路由方法、节点及***
US11902380B1 (en) Liveness detection for an authenticated client session
US20220345532A1 (en) Apparatus, method, and computer program
CN106790502B (zh) 一种基于NAT64前缀的IPv4终端、IPv6服务互通业务的负载均衡***
WO2010012189A1 (zh) 一种gtp消息传输的方法及装置
CN116074985A (zh) 数据网络dn间的连接方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09732873

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009732873

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 4007/KOLNP/2010

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2010146258

Country of ref document: RU

ENP Entry into the national phase

Ref document number: PI0911244

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20101014