CN104301287A - Method, network node, server and system of implementing many-to-many session - Google Patents
Method, network node, server and system of implementing many-to-many session Download PDFInfo
- Publication number
- CN104301287A CN104301287A CN201310297765.1A CN201310297765A CN104301287A CN 104301287 A CN104301287 A CN 104301287A CN 201310297765 A CN201310297765 A CN 201310297765A CN 104301287 A CN104301287 A CN 104301287A
- Authority
- CN
- China
- Prior art keywords
- session
- channel
- network node
- server
- service
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000000977 initiatory effect Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 22
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
The invention discloses a method of implementing a many-to-many session. The implementation method comprises the following steps of creating one or more corresponding session channels for a network node and dividing the one or more session channels to a session set of a session type after a session initiation request of the network node is received and the network node is determined to not establish the session channel of the requested session type; adding the initiated session into the session set corresponding to the session type when the network node is determined to establish the session channel of the requested session type; and selecting corresponding session channel routing business data from the session set matched with the session type corresponding to the business request according to a load balancing algorithm when the business request of the network node is received. The invention also discloses a network node, a server and a system of implementing the many-to-many session. By adopting the technical scheme of the invention, the number of session mappings is reduced, the network resources are saved, and the network data transmission capability is improved.
Description
Technical Field
The present invention relates to communications technologies, and in particular, to a method, a network node, a server, and a system for implementing many-to-many sessions.
Background
With the development of communication networks, the scale of network users is growing explosively, network applications are also showing a more diversified trend, the one-to-one routing and session management functions of the traditional network cannot meet the requirements of network applications, and in order to meet the requirement of continuously expanding the scale of network services, new one-to-many, even many-to-many routing and session management schemes are gradually applied.
However, from the service perspective, the current mainstream routing and session management method is still a one-to-many session routing in nature, so that a so-called many-to-many session is actually a set of one-to-many sessions, that is, one communication network node creates one session, a plurality of sessions communicated with other network nodes through a server establish a corresponding relationship, and when a message is sent, a destination session is selected for communication, so as to increase the data sending amount; when receiving data, only one session is still used as a communication channel, that is, the capability of sending data in many-to-many sessions is far higher than the capability of receiving data.
Disclosure of Invention
In view of this, the main objective of the present invention is to provide a method, a network node, a server and a system for implementing many-to-many sessions, which can reduce the number of session mappings, save network resources and improve network data transmission capability.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
the invention provides a method for realizing many-to-many conversation, which comprises the following steps:
after receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
In the foregoing solution, the selecting, according to a load balancing algorithm, a corresponding session channel from a session set matched with a session type corresponding to a service request to route service data includes:
selecting a session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm, and sending the data related to the service request through the session channel;
after receiving the service data corresponding to the service request sent through the session channel or other session channels for receiving the service request, selecting the session channel or other session channels for receiving the service request of the network node and sending the service data corresponding to the service request;
and the other session channels are session channels in a session set matched with the session types corresponding to the service requests or the service data.
In the foregoing solution, the selecting, according to a load balancing algorithm, a corresponding session channel from a session set matched with a session type corresponding to a service request to route service data includes:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
In the above scheme, after dividing the one or more session channels into the session set of the session type, the method further includes:
and establishing an item of the session type and the session set by taking the session type and/or an Internet Protocol (IP) address and port information of the network node as indexes.
In the above scheme, the session establishment mode is a synchronous mode or an asynchronous mode.
The invention also provides a method for realizing many-to-many conversation, which comprises the following steps:
after sending a session initiation request to a server, and when receiving a session channel which is returned by the server and allocated for a network node, sending a service request to the server through the session channel.
In the above scheme, the method further comprises:
and after receiving the service data routed by the server according to the load balancing algorithm and selecting the corresponding session channel from the session set matched with the session type corresponding to the service request, sending a service data response to the server through the session channel distributed by the server for the network node.
In the above solution, the session channel allocated to the network node and returned by the server includes:
after receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and returning the session channel allocated to the network node.
In the above scheme, the selecting, by the server, a corresponding session channel from a session set matched with a session type corresponding to the service request according to a load balancing algorithm includes:
and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
In the foregoing solution, the selecting, according to a load balancing algorithm, a corresponding session channel from a session set matched with a session type corresponding to a service request to route service data includes:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
The invention also provides a server, which comprises a session set creating unit and a selecting unit; wherein,
the session set creating unit is configured to create one or more corresponding session channels for a network node after receiving a session initiation request from the network node and when determining that the network node does not create a session channel of a requested session type, and divide the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and the selection unit is used for selecting the corresponding session channel routing service data from the session set matched with the session type corresponding to the service request according to a load balancing algorithm when the service request of the network node is received.
In the foregoing solution, the selecting unit is further configured to:
selecting a session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm, and sending the data related to the service request through the session channel;
after receiving the service data corresponding to the service request sent through the session channel or other session channels for receiving the service request, selecting the session channel or other session channels for receiving the service request of the network node and sending the service data corresponding to the service request;
and the other session channels are session channels in a session set matched with the session types corresponding to the service requests or the service data.
In the foregoing solution, the selecting unit is further configured to:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
In the above solution, the server further includes a storage unit, configured to establish an entry between the session type and the session set by using the session type and/or the IP address and the port information of the network node as an index.
In the above scheme, the session establishment mode is a synchronous mode or an asynchronous mode.
The invention also provides a network node, which comprises a sending unit and a receiving unit; wherein,
the sending unit is used for sending a session initiation request to the server; sending a service request to a server through a session channel which is returned by the server and allocated to a network node;
the receiving unit is used for receiving the session channel distributed by the server for the network node.
In the above scheme, the network receiving unit is further configured to receive service data routed by the server through selecting a corresponding session channel from a session set matched with a session type corresponding to the service request according to a load balancing algorithm; the sending unit is further configured to send a service data response to the server through the session channel allocated by the server to the network node.
The invention also provides a many-to-many conversation system, which comprises a network node and a server; wherein,
the network node is used for sending a session initiation request to a server; sending a service request to a server;
the server is used for creating one or more corresponding session channels for the network node after receiving a session initiation request of the network node and when determining that the network node does not establish a session channel of a requested session type, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type; and when receiving a service request of the network node, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route the service data.
Preferably, the network node is the network node described above; the server is the above server.
After receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type; and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data. Therefore, the invention reduces the number of session mapping, further saves network resources, improves the network data transmission capability and enhances the scalability of the networking scheme.
Specifically, in the present invention, one network node may create multiple sessions, and divide the sessions into sets of different types, thereby converging the sessions; and when each network node receives and transmits data, selecting a session channel from the session set matched with the session type according to a load balancing algorithm to complete the data transmission. The invention realizes the function of multi-session access of network nodes, greatly reduces the number of session mappings and saves network resources; through the load balancing algorithm, the capability of transmitting data with high performance of the network node is maintained, and meanwhile, the capability of receiving the data with high performance of the network node is also achieved. In addition, the technical scheme of the invention has strong scalability, can flexibly support the networking scheme, and is particularly suitable for the network service based on a Transmission Control Protocol (TCP) network.
Drawings
Fig. 1 is a schematic flow chart illustrating an implementation of a many-to-many session method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of an implementation flow of another many-to-many session method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a system networking scheme according to an embodiment of the invention;
FIG. 4 is a schematic diagram of a server according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a network node according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a structure of a many-to-many session system according to an embodiment of the present invention;
FIG. 7 is a schematic flow chart illustrating a short message downlink service implemented in an embodiment;
fig. 8 is a schematic flow chart illustrating a point-to-point short message service implemented in an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and specific embodiments.
Fig. 1 is a schematic flow chart of an implementation of a many-to-many session method according to an embodiment of the present invention, as shown in fig. 1, the method includes the following steps:
step 101: after receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
further, after dividing the one or more session channels into the session set of the session type, the method further includes:
and establishing and storing the session type and the list item of the session set by taking the session type and/or the IP address and the port information of the network node as indexes.
Here, the session establishment mode is a synchronous mode or an asynchronous mode.
Specifically, the session establishment process may be a synchronous manner, that is, after the session of the destination network node is established, a success message is replied to the source network node; the method can also be an asynchronous mode, namely, firstly returning a confirmation message to the source network node, and then initiating a request for establishing the session to the destination network node, and when the request fails, a retry mechanism can be adopted for re-requesting, and the session can also be abandoned.
The synchronous mode or the asynchronous mode is the same as the prior art.
Step 102: and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
Specifically, the selecting, according to a load balancing algorithm, a corresponding session channel from a session set matched with a session type corresponding to the service request to route the service data includes:
selecting a session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm, and sending the data related to the service request through the session channel;
after receiving the service data corresponding to the service request sent through the session channel or other session channels for receiving the service request, selecting the session channel or other session channels for receiving the service request of the network node and sending the service data corresponding to the service request;
and the other session channels are session channels in a session set matched with the session types corresponding to the service requests or the service data.
Specifically, the selecting, according to a load balancing algorithm, a corresponding session channel from a session set matched with a session type corresponding to the service request to route the service data includes:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
For example, after receiving a service request message sent by a network node a, a server generates a Hash (Hash) index according to the type of the service request message, the address of the network node a and port information, finds out a session set matched with the service request message, selects a target session channel according to a load balancing algorithm, and forwards the service request message to a network node b; here, if the message forwarding fails, a retry mechanism may be used to retransmit the message, or a failure message may be directly returned to the source network node a;
after receiving and processing the service request message, the network node b sends a response message to the server; the network node b can select to use the session channel receiving the service request message to send a response message, and if the network node b has a plurality of sessions of the same type, another session channel can be selected from the session set to send the response message according to a load balancing algorithm;
the server receives the response message sent by the network node b, queries session information, can select a session channel for receiving the service request message of the network node a to forward the response message to the network node a, and can also select one session channel of the network node a to send the response message according to a load balancing algorithm.
The implementation of the above many-to-many session is explained below from the network node side. Fig. 2 is a schematic flow chart of another implementation of a many-to-many session method according to an embodiment of the present invention, as shown in fig. 2, the method includes the following steps:
step 201: sending a session initiation request to a server;
step 202: and when receiving a session channel which is returned by the server and allocated for the network node, sending a service request to the server through the session channel.
Further, the method further comprises:
and after receiving the service data routed by the server according to the load balancing algorithm and selecting the corresponding session channel from the session set matched with the session type corresponding to the service request, sending a service data response to the server through the session channel distributed by the server for the network node.
Specifically, the session channel allocated to the network node and returned by the server includes:
after receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and returning the session channel allocated to the network node.
Specifically, the selecting, by the server, a corresponding session channel from a session set matched with a session type corresponding to the service request according to a load balancing algorithm includes:
and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
Specifically, the selecting a corresponding session channel from a session set matched with a session type corresponding to the service request according to a load balancing algorithm to route the service data includes:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
Fig. 3 is a schematic diagram of a networking scheme of a many-to-many session system according to the present invention, which shows that one network node can create multiple sessions and divide the sessions into different types of sets, and each network node realizes a function of accessing multiple sessions of the network node when receiving and transmitting data, thereby greatly reducing the number of session mappings, saving network resources, and flexibly supporting the networking scheme.
Fig. 4 is a schematic diagram of a composition structure of a server according to the present invention, and as shown in fig. 4, the server includes a session set creating unit 41 and a selecting unit 42; wherein,
the session set creating unit 41 is configured to, after receiving a session initiation request from a network node, create one or more corresponding session channels for the network node when determining that the network node does not establish a session channel of a requested session type, and divide the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
the selecting unit 42 is configured to, when receiving a service request from a network node, select, according to a load balancing algorithm, a corresponding session channel from a session set matched with a session type corresponding to the service request to route service data.
Specifically, the selecting unit 42 is further configured to:
selecting a session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm, and sending the data related to the service request through the session channel;
after receiving the service data corresponding to the service request sent through the session channel or other session channels for receiving the service request, selecting the session channel or other session channels for receiving the service request of the network node and sending the service data corresponding to the service request;
and the other session channels are session channels in a session set matched with the session types corresponding to the service requests or the service data.
Specifically, the selecting unit 42 is further configured to:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
Specifically, the server further includes a storage unit 43, configured to establish an entry between the session type and the session set by using the session type and/or the IP address and the port information of the network node as an index.
Here, the session establishment mode is a synchronous mode or an asynchronous mode.
Fig. 5 is a schematic diagram of a structure of a network node according to an embodiment of the present invention, and as shown in fig. 5, the network node includes a sending unit 51 and a receiving unit 52; wherein,
the sending unit 51 is configured to send a session initiation request to a server; sending a service request to a server through a session channel which is returned by the server and allocated to a network node;
the receiving unit 52 is configured to receive a session channel allocated by the server for the network node.
Further, the receiving unit 52 is further configured to receive service data routed by the server according to a load balancing algorithm by selecting a corresponding session channel from the session set matched with the session type corresponding to the service request;
the sending unit 51 is further configured to send a service data response to the server through the session channel allocated by the server to the network node.
Fig. 6 is a schematic structural diagram of the components of the many-to-many conversation system of the present invention, as shown in fig. 6, the system includes a network node 61 and a server 62; wherein,
the network node 61 is configured to send a session initiation request to the server 62; sending a service request to a server;
the server 62 is configured to, after receiving a session initiation request of a network node 61 and when determining that the network node 61 does not establish a session channel of a requested session type, create one or more corresponding session channels for the network node 61, and divide the one or more session channels into a session set of the session type; when determining that the network node 61 has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type; and is further configured to, when receiving a service request from the network node 61, select a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
Specifically, a specific structure of the server 62 is shown in fig. 4, and a specific structure of the network node 61 is shown in fig. 5.
Fig. 7 is a schematic flowchart of a process for implementing a Mobile Termination (MT) service according to an embodiment, where as shown in fig. 7, the process includes the following steps:
step 701: an Extended Short Message Entity (ESME) creates a TCP link to the server and sends a bundle (Bind) login request.
Step 702: the server generates a Hash index according to the type of the Bind request, the Internet Protocol (IP) address and the port information of the ESME by using a session convergence algorithm, and queries whether a session set matching the Bind request exists in a session set Hash table, if so, executing step 703; if not, step 704 is performed.
Step 703: the session is directly added to the session set and after a successful response message is returned, step 706 is performed.
Step 704: the server creates an SMSC link to a plurality of Short Message Service Centers (SMSC) configured, and forwards a Bind login request.
Step 705: the server receives the successful response message returned by the SMSC and sends a successful response message to the ESME, step 706 is performed.
The steps 701 to 705 are processes of establishing a session channel.
Step 706: the ESME sends a submit message to the server.
Step 707: and the server selects an SMSC link in the same session set to forward the submit message according to a load balancing algorithm.
Here, the SMSC link is a transport layer session tunnel in a session set.
Step 708: the SMSC sends a submit response (submit _ resp) message to the server.
Step 709: the server sends a submit _ resp message to the ESME using the link that received the submit message.
Step 710: the SMSC sends a delivery (deliverer) response message to the server.
Step 711: and the server selects one ESME link in the same session set to forward the deliverer receipt message according to a routing algorithm.
The ESME link is also a session channel of a transport layer in a session set.
Step 712: the ESME sends a delivery response (deliverer _ resp) message to the server.
Step 713: the server sends a delivery _ resp message to the SMSC using the link that received the delivery acknowledgement message.
The steps 706 to 713 are processes for transmitting the service message.
The Bind login request, submit message, submit _ resp message, sender receipt message, and sender _ resp message in embodiment 7 are all messages defined in the short message protocol in the prior art.
Fig. 8 is a schematic flowchart of a process of implementing a point-to-point (P2P, Peer-to-Peer) short message service according to an embodiment of the present invention, as shown in fig. 8, the process includes the following steps:
step 801: the source SMSC creates a TCP link to the server and sends a Bind login request.
Step 802: the server generates a Hash index according to the type of the Bind login request, the IP address and the port information of the SMSC by using a session convergence algorithm, inquires whether a session set matched with the type of the Bind login request exists in a session set Hash table, and if the session set exists, executes a step 803; if not, go to step 804;
step 803: directly adding the session to the session set, and executing step 808 after returning a successful response message; .
Step 804: the server creates a link to the configured SMSCs and forwards a Bind login request.
Step 805: the server receives the successful response message returned by the SMSC and sends a successful response message to the source SMSC, step 806 is performed.
The above steps 801 to 805 are procedures for establishing a session channel.
Step 806: the source SMSC sends a deliverer message to the server.
Step 807: and the server selects a destination SMSC link in the same session set according to a load balancing algorithm, converts the sender message into a submit message, and sends the submit message to a destination SMSC by using the destination SMSC link.
Step 808: the destination SMSC sends a submit _ resp message to the server.
Step 809: the server sends a submit _ resp message to the SMSC using the link that receives the deliverer message.
Step 810: the destination SMSC sends a deliverer response message to the server.
Step 811: the server selects an SMSC link in the same session set according to a routing algorithm, converts the sender receipt message into a submit message and sends the submit message to the SMSC.
Step 812: the SMSC sends a submit _ resp message to the server.
Step 813: the server sends a delivery _ resp message to the destination SMSC using the link that received the delivery acknowledgement message.
The steps 806 to 813 are procedures for transmitting the service message.
The Bind login request, submit message, submit _ resp message, sender receipt message, and sender _ resp message in the above embodiment 8 are all messages defined in the short message protocol in the prior art.
The above description is only exemplary of the present invention and should not be taken as limiting the scope of the present invention, and any modifications, equivalents, improvements, etc. that are within the spirit and principle of the present invention should be included in the present invention.
Claims (19)
1. A method for implementing many-to-many session, the method comprising:
after receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
2. The method of claim 1, wherein the selecting, according to a load balancing algorithm, a corresponding session channel from a set of sessions matching a session type corresponding to the service request to route the service data comprises:
selecting a session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm, and sending the data related to the service request through the session channel;
after receiving the service data corresponding to the service request sent through the session channel or other session channels for receiving the service request, selecting the session channel or other session channels for receiving the service request of the network node and sending the service data corresponding to the service request;
and the other session channels are session channels in a session set matched with the session types corresponding to the service requests or the service data.
3. The method of claim 1, wherein the selecting, according to a load balancing algorithm, a corresponding session channel from a set of sessions matching a session type corresponding to the service request to route the service data comprises:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
4. The method of claim 1, wherein after dividing the one or more conversation channels into the set of conversations of the conversation type, the method further comprises:
and establishing the list items of the session type and the session set by taking the session type and/or the internet protocol IP address and the port information of the network node as indexes.
5. The method of claim 1, wherein the session is established in a synchronous manner or an asynchronous manner.
6. A method for implementing many-to-many session, the method comprising:
after sending a session initiation request to a server, and when receiving a session channel which is returned by the server and allocated for a network node, sending a service request to the server through the session channel.
7. The method of claim 6, further comprising:
and after receiving the service data routed by the server according to the load balancing algorithm and selecting the corresponding session channel from the session set matched with the session type corresponding to the service request, sending a service data response to the server through the session channel distributed by the server for the network node.
8. The method of claim 6, wherein the session channel allocated for the network node returned by the server comprises:
after receiving a session initiation request of a network node, when determining that the network node does not establish a session channel of a requested session type, establishing one or more corresponding session channels for the network node, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and returning the session channel allocated to the network node.
9. The method of claim 6, wherein the server selects a corresponding session channel from a session set matching a session type corresponding to the service request according to a load balancing algorithm, comprising:
and when a service request of the network node is received, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route service data.
10. The method of claim 9, wherein the selecting a corresponding session channel from a set of sessions matching a session type corresponding to the service request according to a load balancing algorithm to route the service data comprises:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
11. A server, characterized in that the server comprises a session set creation unit and a selection unit; wherein,
the session set creating unit is configured to create one or more corresponding session channels for a network node after receiving a session initiation request from the network node and when determining that the network node does not create a session channel of a requested session type, and divide the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type;
and the selection unit is used for selecting the corresponding session channel routing service data from the session set matched with the session type corresponding to the service request according to a load balancing algorithm when the service request of the network node is received.
12. The server according to claim 11, wherein the selecting unit is further configured to:
selecting a session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm, and sending the data related to the service request through the session channel;
after receiving the service data corresponding to the service request sent through the session channel or other session channels for receiving the service request, selecting the session channel or other session channels for receiving the service request of the network node and sending the service data corresponding to the service request;
and the other session channels are session channels in a session set matched with the session types corresponding to the service requests or the service data.
13. The server according to claim 11, wherein the selecting unit is further configured to:
when only one session channel exists in the session set matched with the session type corresponding to the service request, the service data is routed through the session channel;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the lowest load to route service data;
when a plurality of session channels are matched with the session types corresponding to the service requests in a session set, selecting the session channel with the channel quality exceeding a set first threshold value and the lowest load to route service data;
and when a plurality of session channels are matched with the session types corresponding to the service requests, selecting the session channel with the bandwidth meeting the set second threshold and the lowest load to route the service data.
14. The server according to claim 11, wherein the server further comprises a storage unit, configured to establish an entry between the session type and the session set by using the session type, and/or the IP address and the port information of the network node as an index.
15. The server according to claim 11, wherein the session is established in a synchronous manner or an asynchronous manner.
16. A network node, characterized in that the network node comprises a transmitting unit and a receiving unit; wherein,
the sending unit is used for sending a session initiation request to the server; sending a service request to a server through a session channel which is returned by the server and allocated to a network node;
the receiving unit is used for receiving the session channel distributed by the server for the network node.
17. The network node of claim 16,
the network receiving unit is further configured to receive service data routed by the server through selecting a corresponding session channel from a session set matched with the session type corresponding to the service request according to a load balancing algorithm;
the sending unit is further configured to send a service data response to the server through the session channel allocated by the server to the network node.
18. A many-to-many session system, the system comprising a network node and a server; wherein,
the network node is used for sending a session initiation request to a server; sending a service request to a server;
the server is used for creating one or more corresponding session channels for the network node after receiving a session initiation request of the network node and when determining that the network node does not establish a session channel of a requested session type, and dividing the one or more session channels into a session set of the session type; when determining that the network node has established a session channel of the requested session type, adding the initiated session to a session set corresponding to the session type; and when receiving a service request of the network node, selecting a corresponding session channel from the session set matched with the session type corresponding to the service request according to a load balancing algorithm to route the service data.
19. The system according to claim 18, wherein the network node is the network node according to claim 16 or 17; the server of any one of claims 11 to 15.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310297765.1A CN104301287B (en) | 2013-07-16 | 2013-07-16 | Many-to-many session implementation method, network node, server and system |
PCT/CN2014/074479 WO2014161460A1 (en) | 2013-07-16 | 2014-03-31 | Session method, network node, server, system and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310297765.1A CN104301287B (en) | 2013-07-16 | 2013-07-16 | Many-to-many session implementation method, network node, server and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301287A true CN104301287A (en) | 2015-01-21 |
CN104301287B CN104301287B (en) | 2020-03-31 |
Family
ID=51657594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310297765.1A Active CN104301287B (en) | 2013-07-16 | 2013-07-16 | Many-to-many session implementation method, network node, server and system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104301287B (en) |
WO (1) | WO2014161460A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072191A (en) * | 2015-08-24 | 2015-11-18 | 拉扎斯网络科技(上海)有限公司 | Method for determining target communication channel and server |
CN106302572A (en) * | 2015-05-15 | 2017-01-04 | Tcl集团股份有限公司 | A kind of multichannel communication method between server and system thereof |
WO2018086123A1 (en) * | 2016-11-14 | 2018-05-17 | 华为技术有限公司 | Session processing method, apparatus and system |
CN108304993A (en) * | 2018-01-05 | 2018-07-20 | 阿里巴巴集团控股有限公司 | A kind of method and device that business executes |
CN109818997A (en) * | 2017-11-21 | 2019-05-28 | 中兴通讯股份有限公司 | A kind of load-balancing method, system and storage medium |
CN112860431A (en) * | 2021-01-20 | 2021-05-28 | 重庆六花网络科技有限公司 | Connection method, system, equipment and storage medium of micro service node |
CN113452737A (en) * | 2020-03-27 | 2021-09-28 | 华为技术有限公司 | Method and device for transmitting session request and electronic equipment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1287761A (en) * | 1998-11-04 | 2001-03-14 | 诺基亚网络有限公司 | Control of a multicall in a telecommunications system |
WO2002080609A1 (en) * | 2001-03-28 | 2002-10-10 | Qualcomm Incorporated | Method and apparatus for channel management for point-to-multipoint services in a communication system |
CN101150595A (en) * | 2007-11-13 | 2008-03-26 | 腾讯科技(深圳)有限公司 | A real time file transmission method, system and device |
CN101924772A (en) * | 2010-08-27 | 2010-12-22 | 北京邮电大学 | Communication system and method supporting cross-network and cross-terminal realization of multimedia session merging |
CN102571756A (en) * | 2010-12-06 | 2012-07-11 | 微软公司 | Multichannel connections in file system sessions |
US20120233334A1 (en) * | 2011-03-07 | 2012-09-13 | Avaya Inc. | Shared media access for real time first and third party control |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852125A (en) * | 2005-08-17 | 2006-10-25 | 华为技术有限公司 | Method for expanding one-to-one conversation to multi-to-multi conversation |
CN101247553B (en) * | 2007-02-13 | 2011-08-10 | 华为技术有限公司 | Multimedia broadcast multicast service system and conversation starting and stopping method |
JP5058135B2 (en) * | 2008-02-08 | 2012-10-24 | パナソニック株式会社 | Terminal device |
-
2013
- 2013-07-16 CN CN201310297765.1A patent/CN104301287B/en active Active
-
2014
- 2014-03-31 WO PCT/CN2014/074479 patent/WO2014161460A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1287761A (en) * | 1998-11-04 | 2001-03-14 | 诺基亚网络有限公司 | Control of a multicall in a telecommunications system |
WO2002080609A1 (en) * | 2001-03-28 | 2002-10-10 | Qualcomm Incorporated | Method and apparatus for channel management for point-to-multipoint services in a communication system |
CN101150595A (en) * | 2007-11-13 | 2008-03-26 | 腾讯科技(深圳)有限公司 | A real time file transmission method, system and device |
CN101924772A (en) * | 2010-08-27 | 2010-12-22 | 北京邮电大学 | Communication system and method supporting cross-network and cross-terminal realization of multimedia session merging |
CN102571756A (en) * | 2010-12-06 | 2012-07-11 | 微软公司 | Multichannel connections in file system sessions |
US20120233334A1 (en) * | 2011-03-07 | 2012-09-13 | Avaya Inc. | Shared media access for real time first and third party control |
Non-Patent Citations (1)
Title |
---|
A. BALLARDIE,ET AL: "《RFC2189》", 30 September 1997 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302572A (en) * | 2015-05-15 | 2017-01-04 | Tcl集团股份有限公司 | A kind of multichannel communication method between server and system thereof |
CN106302572B (en) * | 2015-05-15 | 2020-09-22 | Tcl科技集团股份有限公司 | Multi-channel communication method and system between servers |
CN105072191A (en) * | 2015-08-24 | 2015-11-18 | 拉扎斯网络科技(上海)有限公司 | Method for determining target communication channel and server |
WO2018086123A1 (en) * | 2016-11-14 | 2018-05-17 | 华为技术有限公司 | Session processing method, apparatus and system |
US10834208B2 (en) | 2016-11-14 | 2020-11-10 | Huawei Technologies Co., Ltd. | User device determines whether to create a new session based on session type information |
CN109818997A (en) * | 2017-11-21 | 2019-05-28 | 中兴通讯股份有限公司 | A kind of load-balancing method, system and storage medium |
CN108304993A (en) * | 2018-01-05 | 2018-07-20 | 阿里巴巴集团控股有限公司 | A kind of method and device that business executes |
CN108304993B (en) * | 2018-01-05 | 2022-04-29 | 创新先进技术有限公司 | Service execution method and device |
CN113452737A (en) * | 2020-03-27 | 2021-09-28 | 华为技术有限公司 | Method and device for transmitting session request and electronic equipment |
CN112860431A (en) * | 2021-01-20 | 2021-05-28 | 重庆六花网络科技有限公司 | Connection method, system, equipment and storage medium of micro service node |
CN112860431B (en) * | 2021-01-20 | 2024-03-15 | 重庆六花网络科技有限公司 | Connection method, system, equipment and storage medium of micro service node |
Also Published As
Publication number | Publication date |
---|---|
CN104301287B (en) | 2020-03-31 |
WO2014161460A1 (en) | 2014-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104301287B (en) | Many-to-many session implementation method, network node, server and system | |
EP2088791B1 (en) | Method, system and device for increasing multimedia messaging service system capacity | |
KR101337039B1 (en) | Server-side load balancing using parent-child link aggregation groups | |
KR101355767B1 (en) | Peer-to-peer group communication in content centric networking | |
WO2020259509A1 (en) | Method and device for application migration | |
US20130155906A1 (en) | Scaling address resolution for massive data centers | |
KR101995145B1 (en) | Method operating in a fixed access network and ues | |
KR20080089382A (en) | Optimizing communication using scaleable peer groups | |
JP6605633B2 (en) | Method, apparatus and system for floor control for multiple MCPTT systems | |
EP3136676B1 (en) | Method, device and system for transmitting data | |
WO2023000940A1 (en) | Data processing method and apparatus, and network element device, storage medium and program product | |
WO2010119287A2 (en) | Method and system for network-based collaboration | |
CN102130845B (en) | The sending method of return receipt report and processing system | |
WO2023000936A1 (en) | Data processing method, function device and readable storage medium | |
US20140019549A1 (en) | Control System for Conferencing Applications in Named-Data Networks | |
WO2021008591A1 (en) | Data transmission method, device, and system | |
CN112929264B (en) | Service flow transmission method, system and network equipment | |
US9037655B2 (en) | Maintaining instant messaging conversations when a recipient is not at their primary workstation | |
EP2892196B1 (en) | Method, network node and system for implementing point-to-multipoint multicast | |
EP2439876B1 (en) | Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process | |
CN109120556B (en) | A kind of method and system of cloud host access object storage server | |
Yan et al. | Novel branching-router-based multicast routing protocol with mobility support | |
KR101382177B1 (en) | System and method for dynamic message routing | |
CN109379443B (en) | Method for realizing distributed message queue facing to Internet of things | |
CN102480422B (en) | The means of communication of P2P terminal in P2P overlay network and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |