Signaling transmission methods, devices and systems
By establishing multiple transmission paths between the server and the device, redundant signaling transmission is achieved, which solves the problem of signaling transmission failure caused by unstable network quality and improves the reliability of signaling transmission and the success rate of service connections.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-29
- Publication Date
- 2026-04-03
AI Technical Summary
When network quality is unstable, signaling transmission is prone to failure, leading to data transmission failure. Existing technologies increase the latency of retransmitting signaling and may not succeed even when network quality is poor.
By establishing multiple transmission paths between the server and the device, redundant signaling transmission is achieved, ensuring that signaling is transmitted on multiple paths and improving reliability.
It improves the reliability of signaling transmission, increases the success rate of service connections, and enhances service experience and robustness.
Smart Images

Figure CN116074364B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a signaling transmission method, apparatus and system. Background Technology
[0002] Service transmission generally includes signaling transmission and data transmission, and the successful transmission of signaling is crucial to the successful transmission of data. In real-world network scenarios, unstable network quality (such as packet loss, jitter, and latency) can lead to signaling transmission failure, which in turn can cause data transmission failure. Therefore, there is an urgent need for a signaling transmission scheme to improve the reliability of signaling transmission. Summary of the Invention
[0003] This application provides a signaling transmission method, apparatus, and system. The technical solution of this application is as follows:
[0004] Firstly, a signaling transmission method is provided, comprising: establishing m first transmission paths between a server and a first device; establishing n second transmission paths between the server and a second device; receiving first signaling sent by the first device through the m first transmission paths, the first signaling being signaling used to establish a service connection between the first device and the second device; and sending the first signaling to the second device through the n second transmission paths. Wherein, at least one of m and n is greater than 1, and both m and n are positive integers. The service connection is used to transmit data of a target service.
[0005] The technical solution provided in this application involves a server receiving a first signaling message sent by a first device through m first transmission paths between the server and a first device, and sending the first signaling message to a second device through n second transmission paths between the server and a second device. At least one of m and n is greater than 1. Therefore, redundant transmission of the first signaling message is achieved between at least one of the first and second devices and the server, which helps to improve the reliability of signaling transmission and thus improve the success rate of establishing a service connection.
[0006] Optionally, the service connection is a call connection used to transmit call data.
[0007] Optionally, after the server sends the first signaling to the second device through n second transmission paths, the method further includes: the server receiving the second signaling sent by the first device through the m first transmission paths, the second signaling being signaling used to dismantle the service connection; and the server sending the second signaling to the second device through the n second transmission paths.
[0008] The technical solution provided in this application involves a server receiving a second signaling message sent by a first device through m first transmission paths between the server and the first device, and sending the second signaling message to a second device through n second transmission paths between the server and the second device. Therefore, redundant transmission of the second signaling message is achieved between at least one of the first and second devices and the server, which helps to improve the reliability of signaling transmission.
[0009] Optionally, the server sends the first signaling to the second device through n second transmission paths, including: for the first signaling received through any one of the first transmission paths, the server determines k second transmission paths corresponding to the first transmission path from among the n second transmission paths, where 1≤k≤n and k is an integer; the server sends the first signaling to the second device through the k second transmission paths.
[0010] The technical solution provided in this application enables the server to forward signaling through the corresponding first and second transmission paths by setting a correspondence between m first transmission paths and n second transmission paths.
[0011] Optionally, the first device sends a first signaling message through any first transmission path, carrying the indication information of the second device. For the first signaling message received through any first transmission path, the server determines k second transmission paths corresponding to the first transmission path from among n second transmission paths. This includes: for the first signaling message received through any first transmission path, the server determines k second transmission paths corresponding to the first transmission path from among the n second transmission paths based on a path association table, the indication information of the first transmission path, and the indication information of the second device carried in the first signaling message; wherein, the path association table records the correspondence between the indication information of the second device, the indication information of the m first transmission paths, and the indication information of the n second transmission paths. The indication information of the first transmission path used by the server in determining the k second transmission paths can be carried in the first signaling message or determined by the server through network sensing.
[0012] The technical solution provided in this application sets up a path association table to correspond m first transmission paths with n second transmission paths, so that the server can determine the corresponding first transmission paths and second transmission paths according to the path association table, and forward signaling between the first device and the second device through the corresponding first transmission paths and second transmission paths.
[0013] Optionally, k>1, the server sends the first signaling to the second device through k second transmission paths, including: the server copies the first signaling to obtain k first signaling; the server sends the k first signaling to the second device through the k second transmission paths, wherein each first signaling is sent through one second transmission path.
[0014] The technical solution provided in this application, when a certain first transmission path corresponds to multiple second transmission paths, the server copies the first signaling received through the certain first transmission path to obtain multiple first signaling messages, and sends the multiple first signaling messages to the second device through the multiple second transmission paths corresponding to the certain first transmission path, thereby realizing redundant transmission of the first signaling message between the server and the second device, which helps to improve the reliability of the first signaling message transmission.
[0015] Optionally, p of the m first transmission paths correspond to one of the n second transmission paths, where m ≥ p > 1 and p is an integer; the server sends the first signaling to the second device through the n second transmission paths, including: for the p first signaling received through the p first transmission paths, the server sends the p first signaling to the second device through the one second transmission path.
[0016] The technical solution provided in this application, when multiple first transmission paths correspond to one second transmission path, the server sends the first signaling received through the multiple first transmission paths to the second device through the second transmission path, thereby realizing redundant transmission of the first signaling between the first device and the server, which helps to improve the reliability of the first signaling transmission.
[0017] Optionally, m = n, where m first transmission paths correspond one-to-one with n second transmission paths.
[0018] Optionally, m and n are both greater than 1. The m first transmission paths include a main transmission path and a secondary transmission path, and the n second transmission paths include a main transmission path and a secondary transmission path. The main transmission path is used to transmit critical messages and non-critical messages, and the secondary transmission path is used to transmit critical messages, including the first signaling. The main transmission path in the m first transmission paths corresponds to the main transmission path in the n second transmission paths, and the secondary transmission path in the m first transmission paths corresponds to the secondary transmission path in the n second transmission paths.
[0019] Optionally, the first device includes i first network interface cards (NICs), 1 ≤ i ≤ m, where i is an integer; the second device includes j second NICs, 1 ≤ j ≤ n, where j is an integer; the m first transmission paths are the transmission paths between the i first NICs and the server, and each of the i first NICs is bound to at least one of the m first transmission paths; the n second transmission paths are the transmission paths between the j second NICs and the server, and each of the j second NICs is bound to at least one of the n second transmission paths. For example, the i first NICs and the j second NICs each include a default NIC, the main transmission path in the m first transmission paths is bound to the default NIC in the i first NICs, and the main transmission path in the n second transmission paths is bound to the default NIC in the j second NICs.
[0020] Optionally, i = m, meaning the i first network interface cards are bound one-to-one with the m first transmission paths. j = n, meaning the j second network interface cards are bound one-to-one with the n second transmission paths.
[0021] Optionally, the method further includes: when no heartbeat signal is received from the first device via m first transmission paths within a specified time period, the server determines that the first device is offline; or, when no heartbeat signal is received from the second device via n second transmission paths within a specified time period, the server determines that the second device is offline. Here, "first device offline" means that all transmission paths between the first device and the server are disconnected; if at least one transmission path between the first device and the server is not disconnected, then the first device is online. "Second device offline" means that all transmission paths between the second device and the server are disconnected; if at least one transmission path between the second device and the server is not disconnected, then the second device is online.
[0022] For example, when the server receives a heartbeat signal from the first device via at least one of the m first transmission paths within a specified time period, the server determines that the first device is online. When the server does not receive a heartbeat signal from the first device via any of the m first transmission paths within the specified time period, the server determines that the first device is offline. When the server does not receive a heartbeat signal from the first device via any one of the m first transmission paths within the specified time period, but receives heartbeat signals from the first device via other first transmission paths, the server determines that one of the first transmission paths is disconnected. Since the server received heartbeat signals from the first device via other first transmission paths, the server determines that the first device is online. The determination of whether the second device is offline is based on the same principle.
[0023] Optionally, both the first and second transmission paths can be Transmission Control Protocol (TCP) paths. A TCP path is also known as a TCP connection.
[0024] Optionally, the m first transmission paths include TCP long-connection paths, and the n second transmission paths also include TCP long-connection paths. For example, the primary transmission path in the m first transmission paths is a TCP long-connection path, and the primary transmission path in the n second transmission paths is also a TCP long-connection path. A TCP long-connection path is also known as a TCP long-connection.
[0025] Secondly, a signaling transmission method is provided, the method comprising: a first device establishing m first transmission paths with a server, where m is an integer greater than 1; the first device sending first signaling to the server through the m first transmission paths, the first signaling being signaling used to establish a service connection between the first device and a second device.
[0026] The technical solution provided in this application involves a first device sending a first signaling message to a server through m first transmission paths between the first device and the server, where m is an integer greater than 1. Therefore, redundant transmission of the first signaling message is achieved between the first device and the server, which helps to improve the reliability of signaling transmission and thus improve the success rate of establishing a service connection.
[0027] Optionally, the service connection is a call connection used to transmit call data.
[0028] Optionally, after the first device sends the first signaling to the server through m first transmission paths, the method further includes: the first device sending the second signaling to the server through the m first transmission paths, the second signaling being signaling used to dismantle the service connection.
[0029] The technical solution provided in this application involves a first device sending a second signaling message to a server through m first transmission paths between the first device and the server. Therefore, redundant transmission of the second signaling message is achieved between the first device and the server, which helps to improve the reliability of the signaling message transmission.
[0030] Optionally, the m first transmission paths include a primary transmission path and a secondary transmission path. The primary transmission path is used to transmit critical and non-critical messages, while the secondary transmission path is used to transmit critical messages, including first signaling. The establishment of these m first transmission paths between the first device and the server includes: when the target application in the first device starts, establishing a primary transmission path with the server; the target application is an application related to the target service, and the service connection is used to transmit data for the target service; and when the target service is initiated, establishing a secondary transmission path with the server. The initiation time of the target service is typically after the startup time of the target application.
[0031] The technical solution provided in this application establishes a primary transmission path with the server when the target application in the first device starts up, and establishes a secondary transmission path with the server when the target service is initiated. In this way, on the one hand, it can ensure that there is an established signaling transmission path between the first device and the server when the first device needs to transmit signaling to the server, and on the other hand, it can avoid the waste of network resources caused by establishing too many signaling transmission paths between the first device and the server.
[0032] Optionally, when establishing a secondary transmission path, the Internet Protocol (IP) address of the server carried in the establishment request sent by the first device to the server is the same as the IP address of the server carried in the establishment request sent by the first device to the same server when establishing the primary transmission path. Furthermore, the port number carried in the establishment request sent by the first device to the server when establishing the secondary transmission path is the same as the port number carried in the establishment request sent by the first device to the same server when establishing the primary transmission path. This ensures that the secondary transmission path and the primary transmission path are located between the first device and the same server.
[0033] Optionally, the first device includes i first network interface cards (NICs), 1 ≤ i ≤ m, where i is an integer; the m first transmission paths are the transmission paths between the i first NICs and the server, and each of the i first NICs is bound to at least one of the m first transmission paths. For example, the i first NICs include a default NIC, and the main transmission path of the m first transmission paths is bound to the default NIC among the i first NICs.
[0034] Optionally, i = m, where the i first network cards are bound one-to-one with the m first transmission paths.
[0035] Optionally, the first transmission path is a TCP path.
[0036] Optionally, the m first transmission paths may include TCP long connection paths. For example, the main transmission path among the m first transmission paths may be a TCP long connection path.
[0037] Thirdly, a signaling transmission method is provided, the method comprising: a second device establishing n second transmission paths with a server, where n is an integer greater than 1; the second device receiving a first signaling sent by the server through the n second transmission paths, the first signaling being signaling used to establish a service connection between the first device and the second device.
[0038] The technical solution provided in this application allows the second device to receive the first signaling sent by the server through n second transmission paths between the second device and the server, where n is an integer greater than 1. Therefore, redundant transmission of the first signaling is achieved between the second device and the server, which helps to improve the reliability of signaling transmission and thus improve the success rate of establishing a service connection.
[0039] Optionally, the service connection is a call connection used to transmit call data.
[0040] Optionally, after the second device receives the first signaling sent by the server through n second transmission paths, the method further includes: the second device receiving the second signaling sent by the server through the n second transmission paths, wherein the second signaling is signaling for tearing down the service connection.
[0041] The technical solution provided in this application allows the second device to transmit the second signaling to the server through n second transmission paths between the second device and the server. Therefore, redundant transmission of the second signaling is achieved between the second device and the server, which helps to improve the reliability of signaling transmission.
[0042] Optionally, the n second transmission paths include a primary transmission path and secondary transmission paths. The primary transmission path is used to transmit critical and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling. The establishment of these n second transmission paths between the second device and the server includes: when the target application in the second device starts, establishing a primary transmission path with the server; the target application is an application related to the target service, and the service connection is used to transmit data for the target service; and when the target service is initiated, establishing a secondary transmission path with the server. The initiation time of the target service is typically after the startup time of the target application.
[0043] The technical solution provided in this application establishes a primary transmission path with the server when the target application in the second device starts, and establishes a secondary transmission path with the server when the target service is initiated. In this way, on the one hand, it can ensure that there is an established signaling transmission path between the second device and the server when the second device needs to transmit signaling to the server, and on the other hand, it can avoid the waste of network resources caused by establishing too many signaling transmission paths between the second device and the server.
[0044] Optionally, when establishing a secondary transmission path, the IP address of the server carried in the establishment request sent by the second device to the server is the same as the IP address of the server carried in the establishment request sent by the second device to the same server when establishing the primary transmission path. Furthermore, the port number carried in the establishment request sent by the second device to the server when establishing the secondary transmission path is the same as the port number carried in the establishment request sent by the second device to the same server when establishing the primary transmission path. This ensures that the secondary transmission path and the primary transmission path are located between the second device and the same server.
[0045] Optionally, the second device includes j second network interface cards (NICs), where 1 ≤ j ≤ n, and j is an integer; the n second transmission paths are the transmission paths between the j second NICs and the server, and each of the j second NICs is bound to at least one of the n second transmission paths. For example, the j second NICs include a default NIC, and the main transmission path of the n second transmission paths is bound to the default NIC among the j second NICs.
[0046] Optionally, j = n, and the j second network cards are bound one-to-one with the n second transmission paths.
[0047] Optionally, the second transmission path is a TCP path.
[0048] Optionally, the n second transmission paths may include TCP long connection paths; for example, the primary transmission path among the n second transmission paths may be a TCP long connection path.
[0049] Fourthly, a signaling transmission apparatus is provided, the signaling transmission apparatus including various modules for performing the signaling transmission method provided as described in the first aspect or any alternative method of the first aspect.
[0050] Fifthly, a signaling transmission apparatus is provided, the signaling transmission apparatus including various modules for performing the signaling transmission method provided as described in the second aspect or any alternative method of the second aspect.
[0051] In a sixth aspect, a signaling transmission apparatus is provided, the signaling transmission apparatus including various modules for performing the signaling transmission method provided as described in the third aspect or any alternative method of the third aspect.
[0052] The modules described in aspects four through six above can be implemented based on software, hardware, or a combination of software and hardware, and the modules can be arbitrarily combined or divided based on specific implementations.
[0053] In a seventh aspect, a signaling transmission device is provided, including a memory and a processor;
[0054] Memory is used to store computer programs;
[0055] The processor is used to execute a computer program stored in memory to cause the signaling transmission device to perform the signaling transmission method provided by the first aspect or any alternative method of the first aspect described above.
[0056] Eighthly, a signaling transmission device is provided, including a memory and a processor;
[0057] Memory is used to store computer programs;
[0058] The processor is used to execute a computer program stored in memory to cause the signaling transmission device to perform the signaling transmission method provided by the second aspect or any alternative method of the second aspect described above.
[0059] Ninthly, a signaling transmission device is provided, including a memory and a processor;
[0060] Memory is used to store computer programs;
[0061] The processor is used to execute a computer program stored in memory to cause the signaling transmission device to perform the signaling transmission method provided by the third aspect or any alternative method of the third aspect described above.
[0062] In a tenth aspect, a signaling transmission system is provided, including a first device, a second device, and a server;
[0063] The server includes the signaling transmission device as provided in the fourth aspect above, the first device includes the signaling transmission device as provided in the fifth aspect above, and the second device includes the signaling transmission device as provided in the sixth aspect above; or...
[0064] The server includes the signaling transmission device as provided in the seventh aspect above, the first device includes the signaling transmission device as provided in the eighth aspect above, and the second device includes the signaling transmission device as provided in the ninth aspect above.
[0065] Eleventhly, a computer-readable storage medium is provided, which stores a computer program that, when executed, implements the signaling transmission method provided by the first aspect or any optional method of the first aspect, or implements the signaling transmission method provided by the second aspect or any optional method of the second aspect, or implements the signaling transmission method provided by the third aspect or any optional method of the third aspect.
[0066] In a twelfth aspect, a computer program product is provided, comprising a program or code that, when executed, implements the signaling transmission method provided by the first aspect or any optional method thereof, or implements the signaling transmission method provided by the second aspect or any optional method thereof, or implements the signaling transmission method provided by the third aspect or any optional method thereof.
[0067] In a thirteenth aspect, a chip is provided, the chip including programmable logic circuitry and / or program instructions, the chip being used to implement the signaling transmission method provided by the first aspect or any optional method of the first aspect, or to implement the signaling transmission method provided by the second aspect or any optional method of the second aspect, or to implement the signaling transmission method provided by the third aspect or any optional method of the third aspect.
[0068] The beneficial effects of the technical solution provided in this application are:
[0069] The signaling transmission method, apparatus, and system provided in this application transmit signaling between a first device and a server through m first transmission paths, and between a second device and the server through n second transmission paths, where at least one of m and n is greater than 1. Therefore, redundant signaling transmission is achieved between at least one of the first and second devices and the server, which helps improve the reliability of signaling transmission. The signaling transmitted between the first device and the server, and between the second device and the server, can include signaling for establishing service connections. Therefore, this application can improve the success rate of establishing service connections, enhance service experience, and ensure service robustness. Attached Figure Description
[0070] Figure 1 This is a schematic diagram of the structure of a signaling transmission system provided in an embodiment of this application;
[0071] Figure 2 This is a schematic diagram of another signaling transmission system provided in an embodiment of this application;
[0072] Figure 3 This is a flowchart of a signaling transmission method provided in an embodiment of this application;
[0073] Figure 4 This is a flowchart illustrating a method for a signaling server to send a first signaling message to a second device through n second transmission paths, as provided in an embodiment of this application.
[0074] Figure 5 This is a flowchart of another signaling transmission method provided in the embodiments of this application;
[0075] Figure 6 This is a flowchart of another signaling transmission method provided in the embodiments of this application;
[0076] Figure 7 This is a schematic diagram of the structure of a signaling transmission device provided in an embodiment of this application;
[0077] Figure 8 This is a schematic diagram of another signaling transmission device provided in the embodiments of this application;
[0078] Figure 9 This is a schematic diagram of another signaling transmission device provided in the embodiments of this application;
[0079] Figure 10 This is a schematic diagram of another signaling transmission device provided in the embodiments of this application. Detailed Implementation
[0080] The embodiments of this application will now be described in further detail with reference to the accompanying drawings.
[0081] Service transmission generally includes signaling transmission and data transmission. Signaling typically includes signaling for establishing service connections, signaling for controlling the data transmission process, and signaling for tearing down service connections. For example, for services requiring continuous interaction, such as downloads, video services, and voice calls, signaling may include signaling for establishing service connections, signaling for controlling the data transmission process, and signaling for tearing down service connections. For non-continuous interaction services, such as instant messaging (IM), email, and internet information retrieval, signaling may include signaling for controlling the data transmission process. For instance, for voice over internet protocol (VoIP) services, signaling includes signaling for establishing call connections, signaling for controlling the call process (e.g., signaling to keep the call alive), and signaling for tearing down call connections.
[0082] Successful signaling transmission is crucial for successful data transmission. For example, in a telephone call, the successful transmission of signaling used to establish a call connection is critical to whether the calling and called devices can successfully establish a connection (i.e., whether the call initiated by the calling device can be answered by the called device). Failure to establish a call connection will result in the inability to transmit call data. In real-world network scenarios, unstable network quality (such as packet loss, jitter, and latency) may cause signaling transmission failure, leading to data transmission failure. For instance, signaling transmission failure can cause call connection establishment failure, resulting in the inability to transmit call data.
[0083] Currently, when signaling transmission fails, the sending end typically retransmits the signaling. However, retransmission can increase signaling transmission latency, impacting service experience. Furthermore, in situations with poor network quality, retransmission may not guarantee successful transmission of the signaling to the receiving end. Therefore, a signaling transmission scheme is urgently needed to improve the reliability of signaling transmission.
[0084] This application provides a signaling transmission method, apparatus, and system. The signaling transmission system includes a first device, a second device, and a server. At least one of the first and second devices establishes multiple transmission paths with the server. Devices with multiple transmission paths to the server can send the same signaling message to the server through these multiple transmission paths, and the server can also send the same signaling message to the device through these multiple transmission paths. This achieves redundant transmission of the same signaling message through multiple transmission paths, thus improving the reliability of signaling transmission. For example, devices with multiple transmission paths to the server can send signaling messages for establishing service connections to the server through these multiple transmission paths. Because this signaling transmission has high reliability, it helps improve the success rate of establishing the service connection, enhances the service experience, and ensures the robustness of the service.
[0085] The technical solution of this application will be described below with reference to the accompanying drawings. First, the application scenario of this application will be introduced.
[0086] The application scenario of this application is a signaling transmission system, which includes a first device, a second device, and a server. The server can be used to transmit signaling between the first device and the second device. Multiple transmission paths are established between at least one of the first and second devices and the server to perform redundant signaling transmission through these multiple transmission paths, thereby improving the reliability of signaling transmission.
[0087] Service transmission generally includes signaling transmission and data transmission. Signaling is typically transmitted through a signaling server, while data is typically transmitted through a media server. The signaling server and the media server can be the same server or two different servers. For ease of description, in this embodiment, the server in the signaling transmission system is referred to as the signaling server, the transmission path between the first device and the server is referred to as the first transmission path, and the transmission path between the second device and the server is referred to as the second transmission path. It is understood that the signaling server may be used solely for transmitting signaling, or it may be used for both transmitting signaling and transmitting service data.
[0088] As an example of this application, please refer to Figure 1The diagram illustrates a structural schematic of a signaling transmission system provided in an embodiment of this application. The signaling transmission system includes a first device 101, a second device 102, and a signaling server 103.
[0089] There are m first transmission paths between the first device 101 and the signaling server 103, and n second transmission paths between the second device 102 and the signaling server 103. At least one of m and n is greater than 1, and both m and n are positive integers. This ensures that at least one of the first device 101 and the second device 102 has multiple transmission paths with the signaling server 103. Figure 1 Taking an example where both m and n are equal to 2, that is, two first transmission paths are established between the first device 101 and the signaling server 103, and two second transmission paths are established between the second device 102 and the signaling server 103.
[0090] In this embodiment of the application, for a signaling message (e.g., signaling A) to be transmitted, the first device 101 sends signaling A to the signaling server 103 through m first transmission paths between the first device 101 and the signaling server 103. After receiving the signaling A, the signaling server 103 sends the signaling A to the second device 102 through n second transmission paths between the signaling server 103 and the second device 102. This achieves redundant transmission of the signaling A between the first device 101 and the second device 102, ensuring the reliability of the transmission of the signaling A. Similarly, for a signaling message (e.g., signaling message B) to be transmitted, the second device 102 sends signaling message B to the signaling server 103 through n second transmission paths between the second device 102 and the signaling server 103. After receiving the signaling message B, the signaling server 103 sends the signaling message B to the first device 101 through m first transmission paths between the signaling server 103 and the first device 101. This achieves redundant transmission of the signaling message B between the second device 102 and the first device 101, ensuring the reliability of the transmission of the signaling message B.
[0091] In an optional embodiment, the m first transmission paths correspond to the n second transmission paths. For example, one first transmission path corresponds to multiple second transmission paths, or multiple first transmission paths correspond to one second transmission path. When m = n, the m first transmission paths and the n second transmission paths can correspond one-to-one. Sending signaling A from the signaling server 103 to the second device 102 through the n second transmission paths may include: for signaling A received through any first transmission path, the signaling server 103 determines at least one second transmission path corresponding to the first transmission path among the n second transmission paths, and sends signaling A to the second device 102 through the at least one second transmission path. Similarly, sending signaling B from the signaling server 103 to the first device 101 through the m first transmission paths may include: for signaling B received through any second transmission path, the signaling server 103 determines at least one first transmission path corresponding to the second transmission path among the m first transmission paths, and sends signaling B to the first device 101 through the at least one first transmission path.
[0092] In an optional embodiment, both m and n are greater than 1. The m first transmission paths include a primary transmission path and a secondary transmission path, and the n second transmission paths also include a primary transmission path and a secondary transmission path. Both the primary and secondary transmission paths are used to transmit critical messages, and the primary transmission path is also used to transmit non-critical messages. Critical messages include signaling and other messages with high requirements for transmission latency and reliability, while non-critical messages refer to messages other than critical messages. In this embodiment, the primary transmission paths in the m first transmission paths correspond to the primary transmission paths in the n second transmission paths, and the secondary transmission paths in the m first transmission paths correspond to the secondary transmission paths in the n second transmission paths. In other embodiments, the primary transmission paths in the m first transmission paths may correspond to the secondary transmission paths in the n second transmission paths, and the secondary transmission paths in the m first transmission paths may correspond to the primary transmission paths in the n second transmission paths.
[0093] In this embodiment, the first device 101 and the second device 102 each include at least one network interface card (NIC). The transmission path between the first device 101 and the signaling server 103 is the transmission path between the NIC in the first device 101 and the signaling server 103, and the transmission path between the second device 102 and the signaling server 103 is the transmission path between the NIC in the second device 102 and the signaling server 103. For ease of description, the NIC in the first device 101 is referred to as the first NIC, and the NIC in the second device 102 is referred to as the second NIC. The first device may include i first NICs, each of which can be bound to at least one of the m first transmission paths, where 1 ≤ i ≤ m, and i is an integer. The second device may include j second NICs, each of which can be bound to at least one of the n second transmission paths, where 1 ≤ j ≤ n, and j is an integer. In an optional embodiment, i = m, meaning the i first network interface cards (NICs) are bound one-to-one with the m first transmission paths; j = n, meaning the j second NICs are bound one-to-one with the n second transmission paths. For example, the i first NICs may include a default NIC, and the primary transmission path in the m first transmission paths may be bound to the default NIC among the i first NICs. Similarly, the j second NICs may include a default NIC, and the primary transmission path in the n second transmission paths may be bound to the default NIC among the j second NICs. When i is greater than 1, the i first NICs may include a data NIC and a wireless local area network (WLAN) NIC. The WLAN NIC may be a default NIC, the primary transmission path in the m first transmission paths may be bound to the WLAN NIC, and the secondary transmission path in the m first transmission paths may be bound to the data NIC. When j is greater than 1, the j second network cards include data network cards and WLAN network cards. The WLAN network card can be the default network card. The primary transmission path in the n second transmission paths is bound to the WLAN network card, and the secondary transmission path in the n second transmission paths is bound to the data network card.
[0094] In this embodiment, all m first transmission paths are TCP paths, and these m first transmission paths include TCP long-connection paths; for example, the primary transmission path among these m first transmission paths is a TCP long-connection path. All n second transmission paths are TCP paths, and these n second transmission paths include TCP long-connection paths; for example, the primary transmission path among these n second transmission paths is a TCP long-connection path. Optionally, the secondary transmission paths are either TCP long-connection paths or TCP short-connection paths. Here, a TCP path is also called a TCP connection, a TCP long-connection path is also called a TCP long connection, and a TCP short-connection path is also called a TCP short connection. TCP short connections are generally torn down immediately after message transmission.
[0095] In this embodiment, the first device 101 and the second device 102 can be terminal devices with data connectivity, such as a subscriber identity module (SIM) card and / or WLAN connectivity. For example, the terminal device can be a mobile phone, netbook, laptop, tablet computer, smartwatch, smart camera, personal digital assistant (PDA), portable multimedia player (PMP), augmented reality (AR) device, virtual reality (VR) device, etc. The signaling server 103 can be a single server, a server cluster consisting of several servers, or a cloud computing service center. The signaling server 103 can include multiple microservices or a cluster of microservices, each microservice implementing a portion of the functions of the signaling server 103. Each microservice can be an independent server, or the multiple microservices can be different functional modules within a single server; this embodiment does not limit this.
[0096] As another example of this application, please refer to Figure 2 This illustrates a schematic diagram of another signaling transmission system provided in an embodiment of this application. Figure 2 Taking a scenario where both the first device 101 and the second device 102 are mobile phones, and the signaling transmission system is a call signaling system, as an example, the signaling server 103 includes connector microservice 1, connector microservice 2, tunnel microservice, and terminal router system (TRS) microservice, etc. Connector microservice 1 and connector microservice 2 are respectively connected to the tunnel microservice. Each microservice among connector microservice 1, connector microservice 2, tunnel microservice, and TRS microservice can be an independent server. Alternatively, connector microservice 1, connector microservice 2, tunnel microservice, and TRS microservice can be different functional modules within the same server. The m first transmission paths between the first device 101 and the signaling server 103 can be the m first transmission paths between the first device 101 and connector microservice 1, and the n second transmission paths between the second device 102 and the signaling server 103 can be the n second transmission paths between the second device 102 and connector microservice 2.
[0097] exist Figure 2In the signaling transmission system shown, signaling server 103 receiving signaling A through m first transmission paths can be achieved by connector microservice 1 receiving signaling A through these m first transmission paths. For each first transmission path received, connector microservice 1 transmits signaling A to the Tunnel microservice, which then transmits it to connector microservice 2. For any first transmission path received, connector microservice 2 determines at least one second transmission path from among the n second transmission paths between connector microservice 2 and second device 102, and sends signaling A to second device 102 through this at least one second transmission path. Similarly, signaling server 103 receiving signaling B through n second transmission paths can be achieved by connector microservice 2 receiving signaling B through these n second transmission paths. For each second transmission path received, connector microservice 2 transmits signaling B to the Tunnel microservice, which then transmits it to connector microservice 1. For a signaling B received through any second transmission path, the connector microservice 1 determines at least one first transmission path corresponding to the second transmission path among the m first transmission paths between the connector microservice 1 and the first device 101, and sends the signaling B to the first device 101 through the at least one first transmission path.
[0098] It should be noted that, Figure 1 and Figure 2 The signaling transmission system shown is for illustrative purposes only and is not intended to limit the technical solution of this application. In implementation, the number of terminal devices and the number of microservices in the signaling server can be configured as needed, and this application does not impose any limitations on this.
[0099] The above is an introduction to the application scenarios of this application. The following describes the method embodiments of this application.
[0100] Please refer to Figure 3 The diagram illustrates a flowchart of a signaling transmission method provided in an embodiment of this application. This signaling transmission method can be applied to, for example... Figure 1 or Figure 2 The signaling transmission system shown. The signaling transmission method includes the following steps S301 to S307.
[0101] S301. The first device establishes m first transmission paths with the signaling server.
[0102] The first device and the signaling server can establish m first transmission paths, all of which can be TCP paths, and the m first transmission paths include TCP long connection paths, where m is a positive integer. Optionally, m>1, the m first transmission paths include TCP long connection paths and may also include TCP short connection paths, or all m first transmission paths are TCP long connection paths. This application embodiment does not limit this.
[0103] In this embodiment, the first device includes i first network interface cards (NICs), and the m first transmission paths are the transmission paths between the i first NICs and the signaling server. Each of the i first NICs is bound to at least one of the m first transmission paths, where 1 ≤ i ≤ m, and i is an integer. For example, if i = m, the i first NICs are bound one-to-one with the m first transmission paths. In an optional embodiment, if i > 1 (e.g., i = 2), the i first NICs may include data NICs and WLAN NICs; if m > 1 (e.g., m = 2), the m first transmission paths may include primary transmission paths and secondary transmission paths. The WLAN NICs among the i first NICs are bound to the primary transmission path among the m first transmission paths, and the data NICs among the i first NICs are bound to the secondary transmission paths among the m first transmission paths. Typically, there is one primary transmission path, and one or more secondary transmission paths. For example, if m = 2, there is one primary transmission path and one secondary transmission path.
[0104] In this embodiment, the m first transmission paths established between the first device and the signaling server can be used to transmit signaling related to the target service between the first device and the signaling server (or, in other words, the establishment of the m first transmission paths between the first device and the signaling server is for the purpose of transmitting signaling related to the target service between the first device and the signaling server), thereby facilitating the transmission of signaling related to the target service between the first device and the second device. These m first transmission paths include a primary transmission path and a secondary transmission path. Therefore, establishing these m first transmission paths between the first device and the signaling server can include: the first device establishing a primary transmission path with the signaling server when the target application in the first device starts; and the first device establishing a secondary transmission path with the signaling server when the target service is initiated. Here, the target application is an application related to the target service. For example, if the target service is a call service, the target application is a call application, and the calling device (e.g., the first device) initiates the target service through the target application in the calling device.
[0105] In an optional embodiment, the first device detects in real time or periodically whether the target application in the first device has started. When the target application in the first device starts, the first device and the signaling server establish a primary transmission path through a TCP three-way handshake. After the target application starts, the first device detects in real time or periodically whether the target application initiates a target service. When the target service is initiated, the first device and the signaling server establish a secondary transmission path through a TCP three-way handshake.
[0106] As an example of this application, the user of the first device is referred to as the first user. When the first user uses the target application on the first device, they can trigger a launch command for the target application through touch, voice control, or other means. The first device can detect whether it has received a launch command triggered for the target application in real time or periodically. When the first device receives a launch command triggered for the target application, the first device determines that the target application on the first device has been launched, and the first device and the signaling server establish a primary transmission path through a TCP three-way handshake. The first user can trigger a launch command for the target service through touch, voice control, or other means. The first device can detect whether it has received a launch command for the target service in real time or periodically. When the first device receives a launch command for the target service, the first device determines that the target service has been launched, and the first device and the signaling server establish a secondary transmission path through a TCP three-way handshake.
[0107] For example, in a call service scenario, the target application is the call application, the first device can be the calling device, and the first user can be the calling user. For the first device, the initiation command for the target service can be a call command triggered by the calling user through the call button provided by the call application. In one possible implementation, the first device stores indication information of the called device (e.g., the second device). When the first device receives an initiation command for the target service, it sends the signaling for the target service to the signaling server through the established primary transmission path. When the first device sends the first signaling for the target service (e.g., tunnelcreate signaling) to the signaling server through the primary transmission path, it establishes a secondary transmission path with the signaling server (e.g., the first device sends an establishment request to the signaling server to establish the secondary transmission path). In another possible implementation, the first device does not store indication information of the called device (e.g., the second device). When the first device receives an initiation instruction for a target service, it sends a remote device query request to the signaling server to query the indication information of the called device (e.g., the second device). When sending this remote device query request to the signaling server, the first device establishes a secondary transmission path with the signaling server (e.g., the first device sends an establishment request to the signaling server to establish this secondary transmission path). The indication information of the second device (e.g., the called device) may include its communication identity (ID) or similar information.
[0108] In an optional embodiment, the establishment of a transmission path (primary or secondary transmission path) between the first device and the signaling server via a TCP three-way handshake includes: the first device sending an establishment request to the signaling server to request the establishment of a transmission path; the signaling server establishing a transmission path with the first device after receiving the establishment request, and sending an establishment response to the first device after the transmission path is successfully established to inform the first device that the transmission path has been successfully established; and the first device confirming the successful establishment of the transmission path after receiving the establishment response, and sending an acknowledgment response to the signaling server to inform the signaling server that the first device has received the establishment response. When the first device establishes a transmission path with the signaling server, the establishment request sent by the first device to the signaling server carries the IP address and port number of the signaling server. For example, the establishment request includes an option field, in which the IP address and port number of the signaling server are both located. In this embodiment, the IP address of the signaling server carried in the establishment request sent by the first device to the signaling server when establishing the secondary transmission path is the same as the IP address of the signaling server carried in the establishment request sent by the first device to the signaling server when establishing the primary transmission path. Furthermore, the port number carried in the establishment request sent by the first device to the signaling server when establishing the secondary transmission path is the same as the port number carried in the establishment request sent by the first device to the signaling server when establishing the primary transmission path. This ensures that the primary transmission path and the secondary transmission path are located between the first device and the same signaling server.
[0109] As an example of this application, such as Figure 2As shown, the signaling server 103 includes a connector microservice 1. The m first transmission paths between the first device 101 and the signaling server 103 are the m first transmission paths between the first device 101 and the connector microservice 1. Establishing m first transmission paths between the first device 101 and the signaling server 103 is establishing m first transmission paths between the first device 101 and the connector microservice 1. When establishing transmission paths between the first device 101 and the signaling server 103, the IP address of the signaling server carried in the establishment request sent by the first device 101 to the signaling server 103 is the IP address of the connector microservice 1. In an optional embodiment, the signaling server 103 further includes a TRS microservice. The TRS microservice manages the IP addresses of each connector microservice in the signaling server 103. Before the first device 101 establishes m first transmission paths with connector microservice 1, the first device 101 sends an address acquisition request (e.g., a getRoute request) to the TRS microservice. The TRS microservice sends the IP address of connector microservice 1 to the first device 101 in a polling manner, enabling the first device 101 to obtain the IP address of connector microservice 1. After the first device 101 obtains the IP address of connector microservice 1, when the target application in the first device 101 starts, the first device 101 establishes a primary transmission path with connector microservice 1 through a TCP three-way handshake based on the IP address of connector microservice 1. When the target service is initiated, the first device 101 establishes a secondary transmission path with connector microservice 1 through a TCP three-way handshake based on the IP address of connector microservice 1. Specifically, the TRS microservice sends the IP address of connector microservice 1 to the first device 101 via polling. For example, the TRS microservice polls the IP addresses of each connector microservice managed by the TRS microservice based on the received address retrieval request. When the TRS microservice receives the address retrieval request sent by the first device 101, it polls the IP address of connector microservice 1 and therefore sends the IP address of connector microservice 1 to the first device 101.
[0110] In this embodiment, for a device (e.g., the first device), when initially establishing a transmission path with the signaling server, the device first sends an address acquisition request to the TRS microservice to poll for the IP address of a connector microservice, and then establishes a transmission path with the connector microservice based on its IP address. Within a preset time period thereafter, if the transmission path between the device and the connector microservice is broken, the device will first attempt to reconnect to the connector microservice (i.e., re-establish the transmission path). If the number of reconnection attempts exceeds a preset number (e.g., 3 times), the device resends an address acquisition request to the TRS microservice to re-polle for the IP address of a connector microservice, and establishes a transmission path with the re-polled connector microservice. This avoids the transmission path failing to be established due to a fault in a connector microservice, and also reduces the number of polling attempts, simplifying the processing flow.
[0111] In this embodiment, when the first device establishes a primary transmission path with the signaling server, it first sends an address acquisition request to the TRS microservice to poll for the IP address of a connector microservice, and then establishes a primary transmission path with the connector microservice based on the IP address of the connector microservice. After the primary transmission path is successfully established, when the target service is initiated, the first device establishes a secondary transmission path with the connector microservice based on the IP address of the connector microservice. If the establishment of the secondary transmission path fails, the first device will try to establish a secondary transmission path with the connector microservice again. When the number of times the first device attempts to establish a secondary transmission path with the connector microservice exceeds a preset number (e.g., 3 times), the first device terminates the establishment of the secondary transmission path with the connector microservice. In subsequent processes, if the primary transmission path fails, the first device will send an address acquisition request to the TRS microservice again to poll for the IP address of a connector microservice again, and establish a primary transmission path with the connector microservice based on the re-polled IP address of the connector microservice. After the primary transmission path is successfully established, the first device establishes a secondary transmission path with the connector microservice based on the re-polled IP address of the connector microservice. In other words, whether the first device polls the connector microservice's IP address from the TRS microservice depends on whether a primary transport path is established, rather than whether a secondary transport path needs to be established. This ensures that the primary and secondary transport paths are located between the first device and the same connector microservice.
[0112] In an optional embodiment, each time the first device establishes a first transmission path with the signaling server, the first device sends a login message to the signaling server through the first transmission path, so that the signaling server records the first transmission path. After the signaling server records the first transmission path, the first device can send a heartbeat signal to the signaling server through the first transmission path, so that the signaling server can determine whether the first transmission path is broken and whether the first device is online. For example, when the signaling server receives a heartbeat signal sent by the first device through at least one of the m first transmission paths within a specified time period, the signaling server determines that the first device is online (i.e., the first device and the signaling server are not disconnected). When the signaling server does not receive a heartbeat signal sent by the first device through any of the m first transmission paths within the specified time period, the signaling server determines that the first device is offline (i.e., the first device and the signaling server are disconnected). If the signaling server does not receive a heartbeat signal from the first device through any of the m first transmission paths within a specified time period, but receives heartbeat signals from the first device through other first transmission paths, the signaling server determines that the first transmission path is disconnected. At this time, since the signaling server has received heartbeat signals from the first device through other first transmission paths, the signaling server determines that the first device is online. Optionally, the login message sent by the first device to the signaling server through each first transmission path carries information about that first transmission path, such as the role information of that first transmission path (primary transmission path or secondary transmission path), so that the signaling server can determine the role of that first transmission path.
[0113] As described in S301, the primary transmission path and the secondary transmission path are established asynchronously. The first device first establishes a primary transmission path with the signaling server. After the primary transmission path is successfully established, the first device sends messages (e.g., signaling) to the signaling server through the primary transmission path. During the process of the first device sending messages to the signaling server through the primary transmission path, when the secondary transmission path is successfully established, the first device redundantly sends messages to the signaling server through both the primary and secondary transmission paths. Optionally, the first device can perform log recording during the process of sending messages to the signaling server through the primary transmission path to determine when the secondary transmission path takes effect. This embodiment of the application does not limit this.
[0114] S302. The second device establishes n second transmission paths with the signaling server.
[0115] The second device and the signaling server can establish n second transmission paths, all of which can be TCP paths, and these n second transmission paths include TCP long connection paths, where n is a positive integer. Optionally, n>1, the n second transmission paths include TCP long connection paths and may also include TCP short connection paths, or all of the n second transmission paths are TCP long connection paths; this embodiment of the application does not limit this.
[0116] In this embodiment, the second device includes j second network interface cards (NICs), and the n second transmission paths are the transmission paths between the j second NICs and the signaling server. Each of the j second NICs is bound to at least one of the n second transmission paths, where 1 ≤ j ≤ n, and j is an integer. For example, if j = n, the j second NICs are bound one-to-one with the n second transmission paths. In an optional embodiment, if j > 1 (e.g., j = 2), the j second NICs may include data NICs and WLAN NICs; if n > 1 (e.g., n = 2), the n second transmission paths may include primary transmission paths and secondary transmission paths. The WLAN NICs among the j second NICs are bound to the primary transmission path among the n second transmission paths, and the data NICs among the j second NICs are bound to the secondary transmission paths among the n second transmission paths. Typically, there is one primary transmission path, and one or more secondary transmission paths. For example, if n = 2, there is one primary transmission path and one secondary transmission path.
[0117] In this embodiment, the n second transmission paths established between the second device and the signaling server can be used to transmit signaling for the target service between the second device and the signaling server (or, in other words, the establishment of n second transmission paths between the second device and the signaling server is for transmitting signaling related to the target service between the second device and the signaling server), thereby facilitating the transmission of signaling related to the target service between the second device and the first device. These n second transmission paths include a primary transmission path and secondary transmission paths. Therefore, establishing these n second transmission paths between the second device and the signaling server can include: the second device establishing a primary transmission path with the signaling server when the target application in the second device starts; and the second device establishing a secondary transmission path with the signaling server when the target service is initiated. Here, the target application is an application related to the target service. For example, if the target service is a call service, the target application can be a call application, and the calling device (e.g., the first device) initiates the target service through the target application in the calling device.
[0118] In an optional embodiment, the second device detects in real time or periodically whether the target application in the second device has started. When the target application in the second device starts, the second device and the signaling server establish a primary transmission path through a TCP three-way handshake. After the target application starts, the second device detects in real time or periodically whether the target application initiates a target service. When the target service is initiated, the second device and the signaling server establish a secondary transmission path through a TCP three-way handshake.
[0119] As an example of this application, the user of the second device is referred to as the second user. When the second user uses the target application on the second device, they can trigger a launch command for the target application through touch, voice control, or other means. The second device can detect whether it has received a launch command triggered for the target application in real time or periodically. When the second device receives a launch command triggered for the target application, the second device determines that the target application on the second device has been launched, and the second device and the signaling server establish a primary transmission path through a TCP three-way handshake. The second device can also detect whether it has received an initiation command for the target service in real time or periodically. When the second device receives an initiation command for the target service, the second device determines that the target service has been initiated, and the second device and the signaling server establish a secondary transmission path through a TCP three-way handshake.
[0120] For example, in a call service scenario, the target application is the call application, the second device can be the called device, and the second user can be the called user. For the second device, the initiation instruction for the target service can be a call instruction received by the second device from the first device. In one possible implementation, for the second device, the initiation instruction for the target service is the first signaling message (e.g., tunnelcreate signaling) belonging to the target service received by the second device from the first device through the main transmission path between the second device and the signaling server. That is, when the second device receives the first instruction belonging to the target service from the first device through the main transmission path between the second device and the signaling server, the second device establishes a secondary transmission path with the signaling server (e.g., the second device sends an establishment request to the signaling server to establish the secondary transmission path). In another possible implementation, for the second device, the initiation instruction for the target service is a call instruction belonging to the target service received by the second device from the first device through other means (e.g., a call push instruction). That is, when the second device receives the call push instruction, the second device establishes a secondary transmission path with the signaling server (e.g., the second device sends an establishment request to the signaling server to establish the secondary transmission path).
[0121] In an optional embodiment, the establishment of a transmission path (primary or secondary transmission path) between the second device and the signaling server via a TCP three-way handshake includes: the second device sending an establishment request to the signaling server to request the establishment of a transmission path; the signaling server establishing a transmission path with the second device after receiving the establishment request, and sending an establishment response to the second device after the transmission path is successfully established to inform the second device that the transmission path has been successfully established; and the second device confirming the successful establishment of the transmission path after receiving the establishment response, sending an acknowledgment response to the signaling server to inform the signaling server that the second device has received the establishment response. When the second device establishes a transmission path with the signaling server, the establishment request sent by the second device to the signaling server carries the IP address and port number of the signaling server. For example, the establishment request includes an optional field in which the IP address and port number of the signaling server are both located. In this embodiment, the IP address of the signaling server carried in the establishment request sent by the second device to the signaling server when establishing the secondary transmission path is the same as the IP address of the signaling server carried in the establishment request sent by the second device to the signaling server when establishing the primary transmission path. Furthermore, the port number carried in the establishment request sent by the second device to the signaling server when establishing the secondary transmission path is the same as the port number carried in the establishment request sent by the second device to the signaling server when establishing the primary transmission path. This ensures that the primary transmission path and the secondary transmission path are located between the second device and the same signaling server.
[0122] As an example of this application, such as Figure 2As shown, the signaling server 103 includes a connector microservice 2. The n second transmission paths between the second device 102 and the signaling server 103 are the n second transmission paths between the second device 102 and the connector microservice 2. Establishing n second transmission paths between the second device 102 and the signaling server 103 constitutes establishing n second transmission paths between the second device 102 and the connector microservice 2. When establishing a transmission path between the second device 102 and the signaling server 103, the IP address of the signaling server carried in the establishment request sent by the second device 102 to the signaling server 103 is the IP address of the connector microservice 2. In an optional embodiment, before establishing n second transmission paths between the second device 102 and the connector microservice 2, the second device 102 can send an address acquisition request to the TRS microservice. The TRS microservice sends the IP address of the connector microservice 2 to the second device 102 through a polling method, enabling the second device 102 to obtain the IP address of the connector microservice 2. After obtaining the IP address of connector microservice 2, when the target application in second device 102 starts, second device 102 establishes a primary transmission path with connector microservice 2 through a TCP three-way handshake based on connector microservice 2's IP address. When the target service is initiated, second device 102 establishes a secondary transmission path with connector microservice 2 through a TCP three-way handshake based on connector microservice 2's IP address. Specifically, the TRS microservice sends the IP address of connector microservice 2 to second device 102 in a polling manner. For example, the TRS microservice polls the IP addresses of each connector microservice it manages based on received address retrieval requests. When it receives an address retrieval request from second device 102, the TRS microservice polls and finds the IP address of connector microservice 2, therefore, the TRS microservice sends the IP address of connector microservice 2 to second device 102.
[0123] In this embodiment, when the second device establishes a primary transmission path with the signaling server, it first sends an address acquisition request to the TRS microservice to poll for the IP address of a connector microservice, and then establishes a primary transmission path with the connector microservice based on the IP address of that connector microservice. After the primary transmission path is successfully established, when the target service is initiated, the second device establishes a secondary transmission path with the connector microservice based on the IP address of that connector microservice. If the establishment of the secondary transmission path fails, the second device will attempt to establish a secondary transmission path with the connector microservice again. When the number of times the second device attempts to establish a secondary transmission path with the connector microservice exceeds a preset number (e.g., 3 times), the second device terminates the establishment of the secondary transmission path with the connector microservice. In subsequent processes, if the primary transmission path fails, the second device will send an address acquisition request to the TRS microservice again to poll for the IP address of a connector microservice again, and establish a primary transmission path with the connector microservice based on the re-polled IP address. After the primary transmission path is successfully established, the second device establishes a secondary transmission path with the connector microservice based on the re-polled IP address of the connector microservice. In other words, whether the second device polls the connector microservice's IP address from the TRS microservice depends on whether a primary transport path needs to be established, rather than whether a secondary transport path needs to be established. This ensures that the primary and secondary transport paths are located between the second device and the same connector microservice.
[0124] In this embodiment, for each second transmission path established between the second device and the signaling server, the second device sends a login message to the signaling server through that second transmission path, causing the signaling server to record the second transmission path. After the signaling server records the second transmission path, the second device can send a heartbeat signal to the signaling server through that second transmission path, so that the signaling server can determine whether the second transmission path is broken and whether the second device is online. For example, when the signaling server receives a heartbeat signal sent by the second device through at least one of the n second transmission paths within a specified time period, the signaling server determines that the second device is online (i.e., the second device and the signaling server are not disconnected). When the signaling server does not receive a heartbeat signal sent by the second device through any of the n second transmission paths within a specified time period, the signaling server determines that the second device is offline (i.e., the second device and the signaling server are disconnected). If the signaling server does not receive a heartbeat signal from the second device through any one of the n second transmission paths within a specified time period, but receives heartbeat signals from the second device through other second transmission paths, the signaling server determines that the aforementioned second transmission path is disconnected. At this time, since the signaling server has received heartbeat signals from the second device through other second transmission paths, the signaling server determines that the second device is online. Optionally, the login message sent by the second device to the signaling server through each second transmission path carries information about that second transmission path, such as the role information of that second transmission path (primary transmission path or secondary transmission path), so that the signaling server can determine the role of that second transmission path.
[0125] As shown in S302, the primary transmission path and the secondary transmission path are established asynchronously. The second device first establishes a primary transmission path with the signaling server. After the primary transmission path is successfully established, the second device sends messages (e.g., signaling) to the signaling server through the primary transmission path. During the process of the second device sending messages to the signaling server through the primary transmission path, when the secondary transmission path is successfully established, the second device redundantly sends messages to the signaling server through both the primary and secondary transmission paths. Optionally, the second device can perform log recording during the process of sending messages to the signaling server through the primary transmission path to determine when the secondary transmission path takes effect. This embodiment of the application does not limit this.
[0126] After executing S301 to S302 above, the signaling server can establish a correspondence between the m first transmission paths and the n second transmission paths. For example, the signaling server establishes a path association table, which includes the correspondence between the indication information (e.g., path identifiers) of the m first transmission paths and the indication information (e.g., path identifiers) of the n second transmission paths. This correspondence indicates the relationship between the m first transmission paths and the n second transmission paths. The path association table may also include device indication information, which may include indication information of a first device, indication information of a second device, etc. The correspondence between the m first transmission paths and the n second transmission paths can be one-to-one, one-to-many, or many-to-one. For example, when m = n, the m first transmission paths and the n second transmission paths can have a one-to-one correspondence (i.e., a one-to-one correspondence between the m first transmission paths and the n second transmission paths). When m ≠ n, the m first transmission paths and the n second transmission paths can have a one-to-many correspondence, a many-to-one correspondence, or one of the m first transmission paths can correspond to multiple second transmission paths among the n second transmission paths; multiple of the m first transmission paths can correspond to one second transmission path among the n second transmission paths; and one of the m first transmission paths can correspond to one second transmission path among the n second transmission paths. In an optional embodiment, the primary transmission path among the m first transmission paths corresponds to the primary transmission path among the n second transmission paths, and the secondary transmission paths among the m first transmission paths correspond to the secondary transmission paths among the n second transmission paths. For example, if m = n = 2, the m first transmission paths include one main transmission path and one secondary transmission path, and the n second transmission paths include one main transmission path and one secondary transmission path. The main transmission path in the m first transmission paths corresponds to the main transmission path in the n second transmission paths, and the secondary transmission path in the m first transmission paths corresponds to the secondary transmission path in the n second transmission paths.
[0127] In the embodiments of this application, the indication information of a device refers to various possible information that can indicate or locate the device. This information can be information about the device itself, or other information that can locate the device, such as user information logged into the device. For example, the device indication information can be a communication ID.
[0128] As an example of this application, m = n, and the m first transmission paths correspond one-to-one with the n second transmission paths. The path association table can be shown in Table 1 below:
[0129] Table 1
[0130]
[0131] As another example of this application, one of the m first transmission paths corresponds to multiple second transmission paths among the n second transmission paths. The path association table can be shown in Table 2 below:
[0132] Table 2
[0133]
[0134] As another example of this application, multiple first transmission paths among the m first transmission paths correspond to one second transmission path among the n second transmission paths. The path association table can be shown in Table 3 below:
[0135] Table 3
[0136]
[0137]
[0138] As another example of this application, one of the m first transmission paths corresponds to multiple second transmission paths among the n second transmission paths; alternatively, multiple first transmission paths may correspond to one of the n second transmission paths; and still, one first transmission path may correspond to one of the n second transmission paths. This path association table can be shown in Table 4 below:
[0139] Table 4
[0140]
[0141] As another example of this application, m = n = 2, the primary transmission paths in the m first transmission paths correspond to the primary transmission paths in the n second transmission paths, and the secondary transmission paths in the m first transmission paths correspond to the secondary transmission paths in the n second transmission paths. This path association table can be shown in Table 5 or Table 6 below:
[0142] Table 5
[0143]
[0144] Table 6
[0145]
[0146]
[0147] In Tables 1 to 6, Communication ID1 is the indication information for the first device, and Communication ID2 is the indication information for the second device. In Tables 1 to 5, Path indication information 11 to 1m sequentially indicates the first transmission path 11 to 1m. Path indication information 21 to 2n sequentially indicates the second transmission path 21 to 2n. In Table 5, the first transmission path 11 indicated by path indication information 11 is the primary transmission path, the first transmission path 12 indicated by path indication information 12 is the secondary transmission path, the second transmission path 21 indicated by path indication information 21 is the primary transmission path, and the second transmission path 22 indicated by path indication information 22 is the secondary transmission path. In Table 6, primary indication information 11 indicates the primary transmission path among the two first transmission paths, secondary indication information 12 indicates the secondary transmission path among the two first transmission paths, primary indication information 21 indicates the primary transmission path among the two second transmission paths, and secondary indication information 22 indicates the secondary transmission path among the two second transmission paths.
[0148] like Figure 2 As shown, the signaling server 103 includes connector microservice 1 and connector microservice 2. m first transmission paths are the transmission paths between the first device 101 and connector microservice 1 in the signaling server 103, and n second transmission paths are the transmission paths between the second device 102 and connector microservice 2 in the signaling server 103. The path association tables shown in Tables 1 to 6 above can be stored in connector microservice 1 and / or connector microservice 2. For example, the path association tables shown in Tables 1 to 6 above are stored in connector microservice 1 and also in connector microservice 2.
[0149] S303. The first device sends a first signaling message to the signaling server through m first transmission paths. The first signaling message is used to establish a service connection between the first device and the second device.
[0150] This service connection is used to transmit data for the target service. In a call service scenario, this service connection can be a call connection, the target service data is call data, and the first signaling is a call instruction issued by the first device during the call setup process between the first device and the second device. For example, the first device is the calling device, and the first signaling can be a paging request.
[0151] A first device can send a first signaling message to a signaling server through each of the m first transmission paths. When m > 1, the first device redundantly sends the first signaling message to the signaling server through the m first transmission paths. The first device can send a total of m first signaling messages to the signaling server through the m first transmission paths. Each first signaling message sent by the first device through a first transmission path carries indication information of a second device (e.g., the communication ID of the second device). Optionally, the first signaling message sent by the first device through each first transmission path also carries indication information of that first transmission path. This indication information can be a path identifier or other information that can identify the first transmission path. In this embodiment, a path indication field can be extended in the signaling message to carry the indication information of the transmission path. For example, the signaling message typically includes a control field, and one bit can be extended in the control field to create a path indication field. In the first signaling message, the indication information of the first transmission path can be located in this path indication field. In other embodiments, the first signaling may not carry indication information of the first transmission path, and this application embodiment does not limit this. Optionally, the first signaling may also carry indication information of the first device (e.g., the communication ID of the first device) so that the device receiving the first signaling can determine the source of the first signaling.
[0152] In an optional embodiment, the first device includes m processes. The first device invokes these m processes to simultaneously send first signaling to the signaling server through the m first transmission paths. Each process sends the first signaling to the signaling server through one first transmission path. Taking the example that the first signaling sent by the first device to the signaling server through each first transmission path carries indication information of that first transmission path, each process can first encapsulate the indication information of the corresponding first transmission path in the first signaling, and then send the first signaling through the corresponding first transmission path. This embodiment of the application does not limit this approach.
[0153] S304. The signaling server receives the first signaling sent by the first device through m first transmission paths.
[0154] The first device sends a first signaling message to the signaling server through m first transmission paths, and the signaling server receives the first signaling message sent by the first device through the same m first transmission paths. The signaling server can receive a total of m first signaling messages.
[0155] like Figure 2As shown, the m first transmission paths are the transmission paths between the first device 101 and the connector microservice 1 in the signaling server 103. Therefore, in S304, the connector microservice 1 may receive the m first signaling messages sent by the first device 101 through the m first transmission paths. After receiving the m first signaling messages, the connector microservice 1 can transmit the m first signaling messages to the tunnel microservice, and the tunnel microservice can then transmit the m first signaling messages to the connector microservice 2.
[0156] S305. The signaling server sends the first signaling to the second device through n second transmission paths.
[0157] After receiving a first signaling message sent by a first device through m first transmission paths, the signaling server can send the first signaling message to a second device through n second transmission paths. In this embodiment, the m first transmission paths and the n second transmission paths are related. For each first signaling message received through a first transmission path, the signaling server can send the first signaling message to the second device through the second transmission path corresponding to that first transmission path.
[0158] As an example, please refer to Figure 4 This illustrates a flowchart of a method provided in this application for a signaling server to send a first signaling message to a second device through n second transmission paths. Figure 4 As shown, the method includes S3051 to S3052.
[0159] S3051. For a first signaling received through any first transmission path, the signaling server determines k second transmission paths corresponding to the first transmission path from among n second transmission paths, where 1≤k≤n and k is an integer.
[0160] The signaling server can record the correspondence between m first transmission paths and n second transmission paths. For any first signaling received through a first transmission path, the signaling server determines the corresponding second transmission path based on the correspondence, and the signaling server can determine k second transmission paths corresponding to the first transmission path.
[0161] In an optional embodiment, the signaling server stores a path association table, which includes the correspondence between the indication information of the m first transmission paths and the indication information of the n second transmission paths. The path association table also stores device indication information, including the indication information of the second device. The first device sends a first signaling message to the signaling server through any of the first transmission paths, carrying the indication information of the second device. For a first signaling message received through any of the first transmission paths, the signaling server can determine the k corresponding second transmission paths from the n second transmission paths based on the path association table, the indication information of the first transmission paths, and the indication information of the second device carried in the first signaling message.
[0162] In an optional embodiment, the first signaling sent by the first device to the signaling server through each first transmission path carries not only the indication information of the second device, but also the indication information of the first transmission path. The signaling server can determine the indication information of k second transmission paths that correspond to both the indication information of the second device and the indication information of the first transmission path in the path association table based on the indication information of the second device and the indication information of the first transmission path carried in the first signaling. Then, the k second transmission paths are determined based on the indication information of the k second transmission paths. In another optional embodiment, the first device sends a first signaling message to the signaling server through each first transmission path, carrying indication information of the second device but not indication information of the first transmission path. The signaling server can determine the first transmission path receiving the first signaling message through network sensing. Based on the indication information of the second device carried in the first signaling message and the indication information of the first transmission path receiving the first signaling message sensed by the signaling server, the signaling server determines the indication information of k second transmission paths that correspond to both the indication information of the second device and the indication information of the first transmission path in the path association table, and then determines the k second transmission paths based on the indication information of the k second transmission paths.
[0163] As a first example of this application, assume that the signaling server receives a first signaling A1 via the first transmission path 11, which carries the indication information "communication ID2" of the second device. The first transmission path through which the signaling server receives the first signaling A1 is the first transmission path 11, and the indication information of the first transmission path 11 is "path indication information 11". The path association table recorded by the signaling server is shown in Table 1. Then, based on the indication information "path indication information 11" of the first transmission path 11 and the indication information "communication ID2" of the second device carried in the first signaling A1, the signaling server determines in the path association table shown in Table 1 that the indication information of the second transmission path corresponding to both the indication information "communication ID2" of the second device and the indication information "path indication information 11" of the first transmission path 11 is "path indication information 21". The signaling server determines the second transmission path corresponding to the first transmission path 11 as the second transmission path 21 based on the indication information of the second transmission path.
[0164] As a second example of this application, assume that the first signaling A2 received by the signaling server through the first transmission path 12 carries the indication information "communication ID2" of the second device. The first transmission path through which the signaling server receives the first signaling A2 is the first transmission path 12, and the indication information of the first transmission path 12 is "path indication information 12". The path association table recorded by the signaling server is shown in Table 2. The signaling server determines, based on the indication information "path indication information 12" of the first transmission path 12 and the indication information "communication ID2" of the second device carried in the first signaling A2, in the path association table shown in Table 2 that the indication information of the second transmission path corresponding to both the indication information "communication ID2" of the second device and the indication information "path indication information 12" of the first transmission path 12 includes "path indication information 23", "path indication information 24" and "path indication information 25". Therefore, based on the indication information "path indication information 23", "path indication information 24" and "path indication information 25" of the second transmission path, the signaling server determines that the second transmission path corresponding to the first transmission path 12 includes the second transmission path 23, the second transmission path 24 and the second transmission path 25.
[0165] S3052. The signaling server sends the first signaling to the second device through the k second transmission paths.
[0166] When k=1, the signaling server sends the first signaling to the second device through this second transmission path. Referring to the first example in S3051, the signaling server sends the first signaling A1 to the second device through the second transmission path 21.
[0167] When k > 1, the signaling server copies the first signaling message to obtain k first signaling messages. The signaling server then sends these k first signaling messages to the second device through these k second transmission paths. The content of these k first signaling messages is identical, and each of the k first signaling messages is sent through one of the k second transmission paths. Referring to the second example in S3051, the signaling server copies the first signaling message A2 to obtain three identical first signaling messages A2. The signaling server then sends these three first signaling messages A2 to the second device through second transmission paths 23, 24, and 25. Each of these three first signaling messages A2 is sent through one of the second transmission paths 23, 24, and 25.
[0168] Figure 4 The illustrated embodiment uses one first transmission path corresponding to one or more second transmission paths as an example. In this embodiment, there is also a case where multiple first transmission paths correspond to one second transmission path. In this case, the signaling server can receive multiple first signaling messages through the multiple first transmission paths, and the signaling server can send the multiple first signaling messages to the second device through one second transmission path corresponding to the multiple first transmission paths. That is, the signaling server sends multiple first signaling messages to the second device through one second transmission path. For example, if p first transmission paths out of m first transmission paths correspond to one second transmission path out of n second transmission paths, where m ≥ p > 1 and p is an integer, the signaling server receives p first signaling messages through the p first transmission paths, and for each p first signaling message, the signaling server sends the p first signaling messages to the second device through one second transmission path corresponding to the p first transmission paths. The process by which the signaling server determines the second transmission path corresponding to each of the p first transmission paths can be referred to in S3051.
[0169] As an example of this application, the path association table recorded by the signaling server is shown in Table 3. The first signaling A1 received by the signaling server through the first transmission path 11 carries the indication information "communication ID2" of the second device. The indication information of the first transmission path 11 is "path indication information 11". The first signaling A2 received by the signaling server through the first transmission path 12 carries the indication information "communication ID2" of the second device. The indication information of the first transmission path 12 is "path indication information 12". According to the path association table shown in Table 3, the signaling server determines that both the first transmission path 11 and the first transmission path 12 correspond to the second transmission path 21. Therefore, the signaling server sends the first signaling A1 and the first signaling A2 to the second device through the second transmission path 21.
[0170] like Figure 2As shown, the signaling server 103 includes connector microservice 1 and connector microservice 2. The m first transmission paths are the transmission paths between the first device 101 and connector microservice 1, and the n second transmission paths are the transmission paths between the second device 102 and connector microservice 2. S305 can be executed by connector microservice 2.
[0171] S306. The second device receives the first signaling sent by the signaling server through n second transmission paths.
[0172] The signaling server sends a first signaling message to the second device through n second transmission paths, and the second device receives the first signaling message sent by the signaling server through these n second transmission paths. The second device can receive w first signaling messages sent by the signaling server through these n second transmission paths, where w is the larger value between m and n.
[0173] After receiving w first signaling messages, the second device can deduplicate these w first signaling messages. In an optional embodiment, the m first signaling messages sent by the first device to the signaling server carry the same sequence number. During the process of the signaling server sending the first signaling messages to the second device, the sequence number carried in the first signaling messages is not modified. Therefore, the w first signaling messages received by the second device carry the same sequence number. The second device can deduplicate these w first signaling messages based on the sequence number carried in them. For example, the second device can retain one of the w first signaling messages and discard the other w-1 first signaling messages. The second device can also use other methods to deduplicate these w first signaling messages, which are not limited in this application.
[0174] S307. The first device and the second device establish a service connection based on the first signaling.
[0175] This service connection is used to transmit data for the target service. For example, in a call service scenario, this service connection is the call connection between a first device and a second device, and it is used to transmit call service data.
[0176] In this embodiment, the first device and the second device transmit signaling for the target service through a signaling server and transmit data for the target service through a media server. The media server and the signaling server may be the same server or different servers. The service connection includes a first connection between the first device and the media server and a second connection between the second device and the media server, and the first connection and the second connection are bound together. S307 may include: the first device establishing a first connection with the media server according to a first signaling, and the second device establishing a second connection with the media server according to a first instruction.
[0177] In an optional embodiment, before sending the first signaling, the first device requests a communication identifier from the media server and establishes a first connection with the media server based on the communication identifier. After the first connection is successfully established, the media server binds the first connection to the communication identifier requested by the first device. Then, when the first device sends the first signaling, it can include the requested communication identifier in the first signaling. After receiving the first signaling, the second device establishes a second connection with the media server based on the communication identifier carried in the first signaling. After the second connection is successfully established, the media server binds the communication identifier to the second connection, thereby binding the first connection and the second connection through the communication identifier, completing the establishment process of the service connection. Both the first and second connections can be TCP connections. The first device can establish the first connection with the media server through a TCP three-way handshake, and the second device can establish the second connection with the media server through a TCP three-way handshake. The establishment processes of the first and second connections are not detailed here.
[0178] In optional embodiments, the first device, the second device, and the signaling server are all configured with a TCP retransmission timer, the duration of which is the message retransmission duration. If the message sender receives a response for the message within the retransmission duration, the sender does not retransmit the message. If the message sender does not receive a response for the message within the retransmission duration, the sender considers the message lost and needs to retransmit it. In this embodiment, the retransmission duration of the TCP retransmission timer in the first device, the second device, and the signaling server can be set to a relatively small value. This allows the message sender to retransmit the lost message more quickly, reducing the queuing time caused by the TCP retransmission timer and alleviating message congestion.
[0179] In summary, the signaling transmission method provided in this application establishes m first transmission paths between the first device and the signaling server, and n second transmission paths between the second device and the signaling server, where at least one of m and n is greater than 1. The first device sends a first signaling message to the signaling server through the m first transmission paths, and the signaling server sends the first signaling message to the second device through the n second transmission paths. Thus, redundant transmission of the first signaling message is achieved between at least one of the first and second devices and the signaling server, which helps improve the reliability of signaling transmission and thereby increases the success rate of establishing service connections. Compared to current signaling retransmission schemes, the signaling transmission scheme provided in this application shortens the signaling transmission latency through redundant transmission, making it suitable not only for signaling transmission scenarios but also for other transmission scenarios with high requirements for transmission latency, packet loss, and reliability, such as low-volume transmission. This signaling transmission scheme implements reverse multiplexing similar to multipath TCP (MPTCP) at the application layer without modifying the device's Linux kernel. When applied to call service scenarios, this signaling transmission scheme can improve call connection rate and robustness. For example, it can achieve instant call connection (connection within 1 second), improve the connection rate by 0.4%, and reduce the occurrence of dropped calls.
[0180] In an optional embodiment, the first device and the signaling server disconnect m first transmission paths, and the second device and the signaling server disconnect n second transmission paths. For example, after the first device and the second device establish the service connection, or after the first device and the second device have completed transmitting the target service data through the service connection, the first device and the signaling server disconnect m first transmission paths, and the second device and the signaling server disconnect n second transmission paths. As an optional implementation, please refer to [reference needed]. Figure 5 ,exist Figure 3 Based on this, the signaling transmission method may further include the following steps S308 to S309.
[0181] S308. The first device and signaling server dismantle m first transmission paths.
[0182] The m first transmission paths include a primary transmission path and a secondary transmission path. The first device can disconnect the secondary transmission path from the signaling server when the target service terminates, and the first device can disconnect the primary transmission path from the signaling server when the target application in the first device is closed. Closing the target application in the first device includes, for example, the first device being powered off or the target application being deleted. Termination of the target service includes, for example, the end of a call between the first device and the second device. Typically, when the first and second devices terminate the target service, at least one of them can send a transmission termination signaling message (e.g., a BYE signaling message) to the other. The first device disconnects the secondary transmission path from the signaling server when it sends the transmission termination signaling message to the second device, or when it receives the transmission termination signaling message from the second device. This application embodiment does not limit this specific action.
[0183] In an optional embodiment, for any one of the m first transmission paths, the first device and the signaling server tear down the first transmission path via a TCP three-way handshake. For example, the first device sends a teardown request to the signaling server to request the teardown of the first transmission path; after receiving the teardown request, the signaling server tears down the first transmission path with the first device, and after the teardown is successful, sends a teardown response to the first device to inform the first device that the teardown of the first transmission path is successful; after receiving the teardown response, the first device determines that the teardown of the first transmission path is successful, and sends an acknowledgment response to the signaling server to inform the signaling server that the first device has received the teardown response.
[0184] Each time a first transmission path is disconnected, the signaling server can delete the indication information for that first transmission path from the path association table. In practical applications, after each first transmission path is successfully established, if the signaling server detects that the first transmission path is disconnected (for example, the signaling server does not receive a heartbeat signal sent through the first transmission path within a specified period), the signaling server deletes the indication information for that first transmission path from the path association table. This allows for dynamic updating of the path association table, avoiding the storage of information about disconnected transmission paths in the table.
[0185] S309. The second device and signaling server dismantle n second transmission paths.
[0186] The implementation process of S309 can be referenced from S308, and will not be repeated here. Similar to S308, each time a second transmission path is dismantled by the second device and the signaling server, the signaling server deletes the indication information for that second transmission path from the path association table. In practical applications, after each second transmission path is successfully established, if the signaling server detects that the second transmission path is disconnected (for example, the signaling server does not receive a heartbeat signal sent through the second transmission path within a specified time), the signaling server deletes the indication information for that second transmission path from the path association table. In this way, the signaling server can dynamically update the path association table, avoiding the storage of information about disconnected transmission paths in the path association table.
[0187] In this embodiment, after a service connection is successfully established between the first device and the second device, the first device and the second device can transmit data for the target service through this service connection. After the data transmission of the target service is completed, the first device and the second device can terminate the service connection to release network resources. The termination of the service connection can be triggered by either the first device or the second device; this embodiment illustrates the termination process as being triggered by the first device. For an alternative implementation, please refer to [reference needed]. Figure 6 ,exist Figure 3 Based on this, the signaling transmission method also includes S310 to S314. S310 to S314 can be located between S306 and S307.
[0188] The first device in S310 sends a second signaling message to the signaling server through m first transmission paths. The second signaling message is used to dismantle the service connection.
[0189] S311. The signaling server receives the second signaling sent by the first device through m first transmission paths.
[0190] S312. The signaling server sends the second signaling to the second device through n second transmission paths.
[0191] S313. The second device receives the second signaling sent by the signaling server through n second transmission paths.
[0192] The implementation process of S310 to S313 can be referred to the implementation process of S303 to S306, and will not be repeated here.
[0193] S314. The first and second devices disconnect the service connection according to the second signaling.
[0194] As described in S307, the service connection includes a first connection between the first device and the media server and a second connection between the second device and the media server. Therefore, S311 includes the first device disconnecting the first connection with the media server according to the second signaling and the second device disconnecting the second connection with the media server according to the second signaling.
[0195] In an optional embodiment, both the first connection and the second connection are TCP connections. The first device can terminate the first connection with the media server via a TCP three-way handshake before or after sending the second signaling. After receiving the second signaling, the second device terminates the second connection with the media server via a TCP three-way handshake.
[0196] After the first device and the second device disconnect the service connection, the first device can also disconnect m first transmission paths with the signaling server, and the second device can also disconnect n second transmission paths with the signaling server. The process of the first device disconnecting m first transmission paths with the signaling server can be referred to S308, and the process of the second device disconnecting n second transmission paths with the signaling server can be referred to S309, which will not be repeated here.
[0197] The following describes the apparatus embodiments of this application, which can be used to execute the method embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the method embodiments of this application.
[0198] Please refer to Figure 7 The diagram illustrates a structural schematic of a signaling transmission device 700 provided in an embodiment of this application. The signaling transmission device 700 can be a server or a functional component within that server, such as a signaling server. See also... Figure 7 The signaling transmission device 700 includes: an establishment module 710, a receiving module 720, and a sending module 730.
[0199] Establishment module 710 is used to establish m first transmission paths between the server and the first device, and to establish n second transmission paths between the server and the second device, where at least one of m and n is greater than 1, and both m and n are positive integers; the implementation of the function of establishment module 710 can refer to the implementation process of S301 to S302 above.
[0200] The receiving module 720 is used by the server to receive the first signaling sent by the first device through m first transmission paths. The first signaling is used to establish a service connection between the first device and the second device. The implementation of the function of the receiving module 720 can refer to the implementation process of S304 above.
[0201] The sending module 730 is used by the server to send the first signaling to the second device through n second transmission paths; the implementation of the sending module 730 can refer to the implementation process of S305 above.
[0202] Optionally, the service connection can be a call connection.
[0203] Optionally, the receiving module 720 is also used to receive a second signaling sent by the first device through m first transmission paths. The second signaling is a signaling used to dismantle the service connection. The function implementation of the receiving module 720 can also refer to the implementation process of S311 above.
[0204] The sending module 730 is also used to send second signaling to the second device through n second transmission paths. The implementation of the sending module 730 can be referred to the implementation process of S312 above.
[0205] Optionally, the sending module 730 is configured to: for a first signaling received through any first transmission path, the server determines k second transmission paths corresponding to the first transmission path from among n second transmission paths, where 1≤k≤n and k is an integer; the server sends the first signaling to the second device through the k second transmission paths.
[0206] Optionally, the first signaling sent by the first device through any first transmission path carries the indication information of the second device; the sending module 730 is specifically used to: for the first signaling received through any first transmission path, the server determines k second transmission paths corresponding to the first transmission path from among the n second transmission paths according to the path association table, the indication information of the first transmission path, and the indication information of the second device carried by the first signaling; wherein, the path association table records the correspondence between the indication information of the second device, the indication information of m first transmission paths, and the indication information of n second transmission paths.
[0207] Optionally, k>1, the sending module 730 is specifically used for: the server to copy the first signaling to obtain k first signaling messages; the server to send the k first signaling messages to the second device through the k second transmission paths, wherein each first signaling message is sent through one second transmission path.
[0208] Optionally, p of the m first transmission paths correspond to one of the n second transmission paths, where m ≥ p > 1 and p is an integer; the sending module 730 is used to send the p first signaling messages received through the p first transmission paths to the second device through the one second transmission path.
[0209] Optionally, m = n, where m first transmission paths correspond one-to-one with n second transmission paths.
[0210] Optionally, m and n are both greater than 1. The m first transmission paths include a main transmission path and a secondary transmission path, and the n second transmission paths include a main transmission path and a secondary transmission path. The main transmission path is used to transmit critical messages and non-critical messages, and the secondary transmission path is used to transmit critical messages, including the first signaling. The main transmission path in the m first transmission paths corresponds to the main transmission path in the n second transmission paths, and the secondary transmission path in the m first transmission paths corresponds to the secondary transmission path in the n second transmission paths.
[0211] Optionally, the first device includes i first network cards, 1≤i≤m, where i is an integer;
[0212] The second device includes j second network cards, where 1 ≤ j ≤ n, and j is an integer;
[0213] The m first transmission paths are the transmission paths between the i first network cards and the server, and each of the i first network cards is bound to at least one of the m first transmission paths.
[0214] The n second transmission paths are the transmission paths between the j second network cards and the server, and each of the j second network cards is bound to at least one of the n second transmission paths.
[0215] Optionally, i = m, where the i first network cards are bound one-to-one with the m first transmission paths;
[0216] j = n, and the j second network cards are bound one-to-one with the n second transmission paths.
[0217] Optionally, the signaling transmission device 700 further includes a determination module 740, configured to: determine that the first device is offline when no heartbeat signal is received from the first device through m first transmission paths within a specified time period; or determine that the second device is offline when no heartbeat signal is received from the second device through n second transmission paths within a specified time period.
[0218] Optionally, both the first and second transmission paths can be TCP paths.
[0219] Optionally, the m first transmission paths and the n second transmission paths each include TCP long-connection paths. For example, the main transmission path in the m first transmission paths is a TCP long-connection path, and the main transmission path in the n second transmission paths is a TCP long-connection path.
[0220] In summary, the signaling transmission apparatus provided in this application embodiment allows the server to receive first signaling sent by the first device through m first transmission paths between the server and the first device, and to send the first signaling to the second device through n second transmission paths between the server and the second device. At least one of m and n is greater than 1. Therefore, redundant transmission of the first signaling is achieved between at least one of the first and second devices and the server, which helps to improve the reliability of signaling transmission, thereby increasing the success rate of establishing service connections, improving service experience, and ensuring the robustness of services.
[0221] Please refer to Figure 8 This illustration shows a structural schematic diagram of another signaling transmission device 800 provided in an embodiment of this application. This signaling transmission device 800 can be the first device described above, or a functional component within the first device. See also... Figure 8 The signaling transmission device 800 includes: an establishment module 810 and a transmission module 820.
[0222] Establishment module 810 is used to establish m first transmission paths between the first device and the server, where m is an integer greater than 1; the implementation of the function of establishment module 710 can refer to the implementation process of S301 above.
[0223] The sending module 820 is used by the first device to send a first signaling message to the server through m first transmission paths. The first signaling message is used to establish a service connection between the first device and the second device. The implementation of the sending module 820 can refer to the implementation process of S303 above.
[0224] Optionally, the service connection can be a call connection.
[0225] Optionally, the sending module 820 is further configured to send a second signaling message to the server via m first transmission paths, the second signaling message being a signaling message used to dismantle the service connection. The implementation of the sending module 820 can refer to the implementation process of S310 described above.
[0226] Optionally, the m first transmission paths include a primary transmission path and a secondary transmission path. The primary transmission path is used to transmit critical messages and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling.
[0227] The module 810 is configured to: establish a primary transmission path with the server when the target application in the first device starts up, wherein the target application is an application related to the target service, and the service connection is used to transmit the data of the target service; and establish a secondary transmission path with the server when the target service is initiated.
[0228] Optionally, when establishing a secondary transmission path, the IP address of the server carried in the establishment request sent by the first device to the server is the same as the IP address of the server carried in the establishment request sent by the first device to the server when establishing the primary transmission path, and the port number carried in the establishment request sent by the first device to the server when establishing the secondary transmission path is the same as the port number carried in the establishment request sent by the first device to the server when establishing the primary transmission path.
[0229] Optionally, the first device includes i first network cards, 1≤i≤m, where i is an integer; m first transmission paths are the transmission paths between the i first network cards and the server, and each of the i first network cards is bound to at least one of the m first transmission paths.
[0230] Optionally, i = m, where i first network cards are bound one-to-one with m first transmission paths.
[0231] Optionally, the first transmission path is a TCP path.
[0232] Optionally, the m first transmission paths may include TCP long-connection paths. For example, the primary transmission path among these m first transmission paths may be a TCP long-connection path.
[0233] In summary, the signaling transmission apparatus provided in this application embodiment allows the first device to send the first signaling to the server through m first transmission paths between the first device and the server, where m is greater than 1. Therefore, redundant transmission of the first signaling is achieved between the first device and the server, which helps to improve the reliability of signaling transmission, thereby increasing the success rate of establishing service connections, improving service experience, and ensuring the robustness of services.
[0234] Please refer to Figure 9 This illustration shows a structural schematic diagram of another signaling transmission device 900 provided in an embodiment of this application. This signaling transmission device 900 can be the second device in the above embodiments, or a functional component within the second device. See also... Figure 9 The signaling transmission device 900 includes: an establishment module 910 and a receiving module 920.
[0235] Establishment module 910 is used to establish n second transmission paths between the second device and the server, where n is an integer greater than 1; the implementation of the function of establishment module 710 can refer to the implementation process of S302 above.
[0236] The receiving module 920 is used by the second device to receive a first signaling sent by the server through n second transmission paths. The first signaling is used to establish a service connection between the first device and the second device. The implementation of the receiving module 920 can refer to the implementation process of S306 above.
[0237] Optionally, the service connection can be a call connection.
[0238] Optionally, the receiving module 920 is further configured to receive second signaling sent by the server through n second transmission paths, wherein the second signaling is signaling used to dismantle the service connection. The implementation of the receiving module 920 can refer to the implementation process of S313 above.
[0239] Optionally, the n second transmission paths include a primary transmission path and a secondary transmission path. The primary transmission path is used to transmit critical messages and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling.
[0240] The module 910 is configured to: establish a primary transmission path with the server when the target application in the second device is started, wherein the target application is an application related to the target service, and the service connection is used to transmit the data of the target service; and establish a secondary transmission path with the server when the target service is initiated.
[0241] Optionally, when establishing a secondary transmission path, the IP address of the server carried in the establishment request sent by the second device to the server is the same as the IP address of the server carried in the establishment request sent by the second device to the server when establishing the primary transmission path, and the port number carried in the establishment request sent by the second device to the server when establishing the secondary transmission path is the same as the port number carried in the establishment request sent by the second device to the server when establishing the primary transmission path.
[0242] Optionally, the second device includes j second network interface cards (NICs), where 1 ≤ j ≤ n and j is an integer; the n second transmission paths are the transmission paths between the j second NICs and the server, and each of the j second NICs is bound to at least one of the n second transmission paths.
[0243] Optionally, j = n, and the j second network cards are bound one-to-one with the n second transmission paths.
[0244] Optionally, the second transmission path is a TCP path.
[0245] Optionally, the n second transmission paths may include TCP long-connection paths. For example, the primary transmission path among the n second transmission paths may be a TCP long-connection path.
[0246] In summary, the signaling transmission apparatus provided in this application embodiment allows the second device to receive the first signaling sent by the server through n second transmission paths between the second device and the server, where n is greater than 1. Therefore, redundant transmission of the first signaling is achieved between the second device and the server, which helps to improve the reliability of signaling transmission, thereby increasing the success rate of establishing service connections, improving service experience, and ensuring the robustness of services.
[0247] Please refer to Figure 10 This illustration shows a structural schematic diagram of another signaling transmission device 1000 provided in an embodiment of this application. The signaling transmission device 1000 can be the first device, the second device, or a server in any of the above embodiments. See also... Figure 10 The signaling transmission device 1000 includes a processor 1002, a memory 1004, a communication interface 1006, and a bus 1008. The processor 1002, memory 1004, and communication interface 1006 are interconnected via the bus 1008. Figure 10 The connection method between the processor 1002, memory 1004 and communication interface 1006 shown is merely exemplary. In the implementation process, the processor 1002, memory 1004 and communication interface 1006 may also communicate with each other using other connection methods besides bus 1008.
[0248] The memory 1004 can be used to store a computer program 10042, which may include instructions and data. In this embodiment, the memory 1004 can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, optical storage, and registers. Furthermore, the memory 1004 may include a hard disk and / or RAM.
[0249] The processor 1002 can be a general-purpose processor, which can be a processor that performs specific steps and / or operations by reading and executing a computer program (e.g., computer program 10042) stored in a memory (e.g., memory 1004). The general-purpose processor may use data stored in the memory (e.g., memory 1004) during the execution of the aforementioned steps and / or operations. The stored computer program can be executed, for example, to implement the relevant functions of the aforementioned establishment module 710, determination module 740, establishment module 810, and establishment module 910. The general-purpose processor can be, for example, but not limited to, a central processing unit (CPU). Furthermore, the processor 1002 can also be a dedicated processor, which can be a processor specifically designed to perform specific steps and / or operations. A dedicated processor can be, for example, but not limited to, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), and a field-programmable gate array (FPGA). Additionally, the processor 1002 can also be a combination of multiple processors, such as a multi-core processor. The processor 1002 may include at least one circuit to perform all or part of the steps of the signaling transmission method provided in the above embodiments.
[0250] The communication interface 1006 may include input / output (I / O) interfaces, physical interfaces, and logical interfaces for interconnecting devices within the signaling transmission device 1000, as well as interfaces for interconnecting the signaling transmission device 1000 with other devices (e.g., terminal devices, servers). The physical interface may be a gigabit Ethernet (GE) interface, used for interconnecting the signaling transmission device 1000 with other devices. The logical interface is an internal interface of the signaling transmission device 1000, used for interconnecting devices within the signaling transmission device 1000. It is easy to understand that the communication interface 1006 can be used for communication between the signaling transmission device 1000 and other devices. For example, the communication interface 1006 is used for sending and receiving signaling between the signaling transmission device 1000 and other devices. The communication interface 1006 can implement the related functions of the aforementioned receiving module 720, sending module 730, sending module 820, and receiving module 920. In addition, the communication interface 1006 may also include a transceiver for sending and receiving messages. The transceiver can also perform the related functions of the aforementioned receiving module 720, sending module 730, sending module 820 and receiving module 920.
[0251] The bus 1008 can be any type of communication bus used to interconnect the processor 1002, memory 1004 and communication interface 1006, such as a system bus.
[0252] The aforementioned devices can be disposed on separate chips, or at least partially or entirely on the same chip. Whether to dispose of the devices independently on different chips or integrate them on one or more chips often depends on the needs of the product design. This application does not limit the specific implementation of the aforementioned devices.
[0253] Figure 10 The signaling transmission device 1000 shown is merely an example. In the implementation process, the signaling transmission device 1000 may also include other components, which will not be listed one by one in this article. Figure 10 The signaling transmission device 1000 shown can perform signaling transmission by executing all or part of the steps of the signaling transmission method provided in the above embodiments.
[0254] This application provides a signaling transmission system, including a first device, a second device, and a server. In one implementation, the first device includes as follows: Figure 8 The signaling transmission device 800 shown, the second device includes, as follows: Figure 9 The signaling transmission device 900 shown above, the server includes, as follows Figure 7 The signaling transmission device 700 is shown. In another implementation, at least one of the first device, the second device, and the server is... Figure 10 The signaling transmission device 1000 shown is shown.
[0255] Optionally, in a call scenario, one of the first and second devices is the calling device, and the other is the called device.
[0256] Optionally, the signaling transmission system is Figure 1 or Figure 2 The signaling transmission system shown.
[0257] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed (e.g., by a terminal device, server, one or more processors, etc.), it implements all or part of the steps of the signaling transmission method provided in the above method embodiments.
[0258] This application provides a computer program product, which includes a program or code. When the program or code is executed (e.g., executed by a terminal device, server, one or more processors, etc.), it implements all or part of the steps of the signaling transmission method provided in the above method embodiments.
[0259] This application provides a chip that includes programmable logic circuits and / or program instructions. When the chip is run, it is used to implement all or part of the steps of the signaling transmission method provided in the above method embodiments.
[0260] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented entirely or partially as a computer program product, which includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (e.g., solid-state drive), etc.
[0261] It should be understood that "at least one" in this application refers to one or more, and "multiple" refers to two or more. The " / " in this application signifies "or," unless otherwise specified; for example, A / B means A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Furthermore, for clarity, this application uses terms such as "first," "second," and "third" to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first," "second," and "third" do not limit the quantity or order of execution.
[0262] The method embodiments and device embodiments provided in this application can be referenced interchangeably, and this application does not limit them. The order of operations in the method embodiments provided in this application can be appropriately adjusted, and operations can be added or removed as needed. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.
[0263] In the corresponding embodiments provided in this application, it should be understood that the disclosed devices, etc., can be implemented through other configurations. For example, the device embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical or other forms.
[0264] The units described as separate components may or may not be physically separate. The components described as units may or may not be physical units; they may be located in one place or distributed across multiple network devices (e.g., terminal devices). Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0265] The above description is merely an exemplary embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and such modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A signaling transmission method, characterized in that, The method includes: The server establishes m first transmission paths with the first device; The server establishes n second transmission paths with the second device; The server receives the first signaling sent by the first device through the m first transmission paths. The first signaling is used to establish a service connection between the first device and the second device. The server sends the first signaling to the second device through the n second transmission paths; Where m and n are both integers greater than 1, the m first transmission paths include a primary transmission path and a secondary transmission path, and the n second transmission paths include a primary transmission path and a secondary transmission path. Both the primary transmission path and the secondary transmission path are used to transmit the first signaling. The first device establishes the primary transmission path with the server when the target application in the first device starts, and establishes the secondary transmission path with the server when the target service is initiated. The second device establishes the primary transmission path with the server when the target application in the second device starts, and establishes the secondary transmission path with the server when the target service is initiated. The target application is an application related to the target service, and the service connection is used to transmit the data of the target service.
2. The method according to claim 1, characterized in that, The method further includes: The server receives a second signaling sent by the first device through the m first transmission paths, the second signaling being signaling used to tear down the service connection; The server sends the second signaling to the second device through the n second transmission paths.
3. The method according to claim 1, characterized in that, The server sends the first signaling to the second device through the n second transmission paths, including: For the first signaling received through any of the first transmission paths, the server determines k second transmission paths corresponding to the first transmission path from the n second transmission paths, where 1≤k≤n and k is an integer; The server sends the first signaling to the second device through the k second transmission paths.
4. The method according to claim 3, characterized in that, The first signaling sent by the first device through any of the first transmission paths carries indication information of the second device; for the first signaling received through any of the first transmission paths, the server determines k second transmission paths corresponding to the first transmission path from the n second transmission paths, including: For the first signaling received through any of the first transmission paths, the server determines k second transmission paths corresponding to the first transmission path from the n second transmission paths based on the path association table, the indication information of the first transmission path, and the indication information of the second device carried in the first signaling. The path association table records the correspondence between the indication information of the second device, the indication information of the m first transmission paths, and the indication information of the n second transmission paths.
5. The method according to claim 3, characterized in that, When k>1, the server sends the first signaling to the second device through the k second transmission paths, including: The server replicates the first signaling to obtain k copies of the first signaling; The server sends k first signaling messages to the second device through the k second transmission paths, wherein each first signaling message is sent through one of the second transmission paths.
6. The method according to claim 3, characterized in that, Among the m first transmission paths, p first transmission paths correspond to one of the n second transmission paths, where m ≥ p > 1, and p is an integer; The server sends the first signaling to the second device through the n second transmission paths, including: For each of the p first signaling messages received through the p first transmission paths, the server sends the p first signaling messages to the second device through the second transmission path.
7. The method according to claim 3, characterized in that, m = n, and the m first transmission paths correspond one-to-one with the n second transmission paths.
8. The method according to any one of claims 1 to 7, characterized in that, The primary transmission path is used to transmit critical messages and non-critical messages, and the secondary transmission path is used to transmit critical messages, the critical messages including the first signaling. The primary transmission path in the m first transmission paths corresponds to the primary transmission path in the n second transmission paths, and the secondary transmission path in the m first transmission paths corresponds to the secondary transmission path in the n second transmission paths.
9. The method according to any one of claims 1 to 7, characterized in that, The first device includes i first network cards, 1≤i≤m, where i is an integer; The second device includes j second network cards, 1≤j≤n, where j is an integer; The m first transmission paths are the transmission paths between the i first network interface cards and the server, and each of the i first network interface cards is bound to at least one of the m first transmission paths. The n second transmission paths are the transmission paths between the j second network cards and the server, and each of the j second network cards is bound to at least one of the n second transmission paths.
10. The method according to claim 9, characterized in that, i = m, and the i first network cards are bound one-to-one with the m first transmission paths; j = n, and the j second network cards are bound one-to-one with the n second transmission paths.
11. The method according to any one of claims 1 to 7, 10, characterized in that, Both the first transmission path and the second transmission path are Transmission Control Protocol (TCP) paths.
12. A signaling transmission method, characterized in that, The method includes: The first device establishes m first transmission paths with the server, where m is an integer greater than 1; The first device sends a first signaling message to the server through the m first transmission paths. The first signaling message is used to establish a service connection between the first device and the second device. The m first transmission paths include a primary transmission path and a secondary transmission path. Both the primary transmission path and the secondary transmission path are used to transmit the first signaling. The primary transmission path is established with the server when the target application in the first device is started. The secondary transmission path is established with the server when the target service is initiated. The target application is an application related to the target service. The service connection is used to transmit the data of the target service.
13. The method according to claim 12, characterized in that, The method further includes: The first device sends a second signaling message to the server through the m first transmission paths. The second signaling message is used to dismantle the service connection.
14. The method according to claim 12 or 13, characterized in that, The primary transmission path is used to transmit critical messages and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling.
15. The method according to claim 12 or 13, characterized in that, The first device includes i first network cards, 1≤i≤m, where i is an integer; The m first transmission paths are the transmission paths between the i first network interface cards (NICs) and the server, and each of the i first NICs is bound to at least one of the m first transmission paths.
16. The method according to claim 15, characterized in that, i = m, and the i first network cards are bound one-to-one with the m first transmission paths.
17. The method according to claim 12, 13 or 16, characterized in that, The first transmission path is a Transmission Control Protocol (TCP) path.
18. A signaling transmission method, characterized in that, The method includes: The second device establishes n second transmission paths with the server, where n is an integer greater than 1; The second device receives the first signaling sent by the server through the n second transmission paths. The first signaling is used to establish a service connection between the first device and the second device. The n second transmission paths include a primary transmission path and a secondary transmission path. Both the primary transmission path and the secondary transmission path are used to transmit the first signaling. The second device establishes the primary transmission path with the server when the target application in the second device is started. The second device establishes the secondary transmission path with the server when the target service is initiated. The target application is an application related to the target service. The service connection is used to transmit the data of the target service.
19. The method according to claim 18, characterized in that, The method further includes: The second device receives the second signaling sent by the server through the n second transmission paths. The second signaling is used to terminate the service connection.
20. The method according to claim 18 or 19, characterized in that, The primary transmission path is used to transmit critical messages and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling.
21. The method according to claim 18 or 19, characterized in that, The second device includes j second network cards, 1≤j≤n, where j is an integer; The n second transmission paths are the transmission paths between the j second network cards and the server, and each of the j second network cards is bound to at least one of the n second transmission paths.
22. The method according to claim 21, characterized in that, j = n, and the j second network cards are bound one-to-one with the n second transmission paths.
23. The method according to claim 18, 19 or 22, characterized in that, The second transmission path is the Transmission Control Protocol (TCP) path.
24. A signaling transmission device, characterized in that, The device includes: The module is configured to establish m first transmission paths between the server and the first device, and to establish n second transmission paths between the server and the second device, wherein at least one of m and n is greater than 1, and both m and n are integers greater than 1. The receiving module is used by the server to receive first signaling sent by the first device through the m first transmission paths, wherein the first signaling is signaling used to establish a service connection between the first device and the second device; The sending module is used for the server to send the first signaling to the second device through the n second transmission paths; Wherein, the m first transmission paths include a primary transmission path and a secondary transmission path, and the n second transmission paths include a primary transmission path and a secondary transmission path. Both the primary transmission path and the secondary transmission path are used to transmit the first signaling. The first device establishes the primary transmission path with the server when the target application in the first device starts, and establishes the secondary transmission path with the server when the target service is initiated. The second device establishes the primary transmission path with the server when the target application in the second device starts, and establishes the secondary transmission path with the server when the target service is initiated. The target application is an application related to the target service, and the service connection is used to transmit the data of the target service.
25. The apparatus according to claim 24, characterized in that, The sending module is used for: For the first signaling received through any of the first transmission paths, the server determines k second transmission paths corresponding to the first transmission path from the n second transmission paths, where 1≤k≤n and k is an integer; The server sends the first signaling to the second device through the k second transmission paths.
26. The apparatus according to claim 25, characterized in that, The first signaling sent by the first device through any of the first transmission paths carries the indication information of the second device; the sending module is specifically used to: for the first signaling received through any of the first transmission paths, the server determines k second transmission paths corresponding to the first transmission path from the n second transmission paths according to the path association table, the indication information of the first transmission path, and the indication information of the second device carried in the first signaling; wherein, the path association table records the correspondence between the indication information of the second device, the indication information of the m first transmission paths, and the indication information of the n second transmission paths.
27. The apparatus according to claim 25 or 26, characterized in that, When k>1, the sending module is specifically used for: The server replicates the first signaling to obtain k copies of the first signaling; The server sends k first signaling messages to the second device through the k second transmission paths, wherein each first signaling message is sent through one of the second transmission paths.
28. The apparatus according to claim 25 or 26, characterized in that, Among the m first transmission paths, p first transmission paths correspond to one of the n second transmission paths, where m ≥ p > 1, and p is an integer; The sending module is configured to send p first signaling messages to the second device via the second transmission path for p first signaling messages received through the p first transmission paths.
29. The apparatus according to claim 25 or 26, characterized in that, m = n, and the m first transmission paths correspond one-to-one with the n second transmission paths.
30. A signaling transmission device, characterized in that, The device includes: Establish a module for the first device to establish m first transmission paths with the server, where m is an integer greater than 1; The sending module is used to send a first signaling message to the server through the m first transmission paths, wherein the first signaling message is used to establish a service connection between the first device and the second device. The m first transmission paths include a primary transmission path and a secondary transmission path, both of which are used to transmit the first signaling. The establishment module is used to: establish the primary transmission path with the server when the target application in the first device starts; establish the secondary transmission path with the server when the target service is initiated; the target application is an application related to the target service; and the service connection is used to transmit the data of the target service.
31. The apparatus according to claim 30, characterized in that, The primary transmission path is used to transmit critical messages and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling.
32. A signaling transmission device, characterized in that, The device includes: Establish a module for the second device to establish n second transmission paths with the server, where n is an integer greater than 1; The receiving module is configured to receive, through the n second transmission paths, a first signaling sent by the server, wherein the first signaling is signaling used to establish a service connection between the first device and the second device; The n second transmission paths include a primary transmission path and a secondary transmission path. Both the primary transmission path and the secondary transmission path are used to transmit the first signaling. The establishment module is used to: establish the primary transmission path with the server when the target application in the second device starts; establish the secondary transmission path with the server when the target service is initiated; the target application is an application related to the target service; and the service connection is used to transmit the data of the target service.
33. The apparatus according to claim 32, characterized in that, The primary transmission path is used to transmit critical messages and non-critical messages, while the secondary transmission path is used to transmit critical messages, including the first signaling.
34. A signaling transmission device, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is configured to execute a computer program stored in the memory to cause the signaling transmission device to perform the signaling transmission method as described in any one of claims 1 to 11.
35. A signaling transmission device, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is configured to execute a computer program stored in the memory to cause the signaling transmission device to perform the signaling transmission method as described in any one of claims 12 to 17, or to cause the signaling transmission device to perform the signaling transmission method as described in any one of claims 18 to 23.
36. A signaling transmission system, characterized in that, Includes the first device, the second device, and the server; The server includes the signaling transmission device as described in any one of claims 24 to 29, the first device includes the signaling transmission device as described in claim 30 or 31, and the second device includes the signaling transmission device as described in claim 32 or 33; or... The server includes the signaling transmission device as described in claim 34, and at least one of the first device and the second device includes the signaling transmission device as described in claim 35.
37. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed, implements the signaling transmission method as described in any one of claims 1 to 23.
Citation Information
Patent Citations
Session creation method and device
CN110784432A
Real-time communication method and device, server, system and storage medium
CN112788053A