A method for transmitting call data and related apparatus
By employing a multi-link dynamic selection method in audio and video conferencing, the problem of unstable call data caused by jitter in a single network link is solved, achieving higher quality and more accurate call data transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-01-06
- Publication Date
- 2026-04-24
AI Technical Summary
In audio and video conferencing, quality jitter in a single network link can cause unstable data transmission, affecting the accuracy of the call data.
The sending terminal transmits call data to the first data transmission node via at least one uplink based on uplink decision, and the first data transmission node integrates the data before transmitting it to the receiving terminal. The receiving terminal's downlink decision is determined based on the link quality of each downlink, thus achieving dynamic selection of multiple links.
It improves the transmission quality and accuracy of call data, and optimizes the uplink and downlink transmission process through dynamic selection of multiple links, ensuring the stability of data during transmission.
Smart Images

Figure CN114786229B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method and apparatus for transmitting call data. Background Technology
[0002] With the development of mobile terminal technology and the improvement of network bandwidth, more and more users are choosing to use audio and video conferencing for remote communication. In this type of service, audio and video are transmitted between users in the form of data streams. Data streams need to have characteristics such as low latency and high stability to provide high-quality service. With the development of hardware devices and audio and video codec technologies, the quality of the data transmission link has become a key factor affecting the quality of audio and video conferencing services.
[0003] Currently, audio and video conferencing services generally use a single network link to transmit data, thereby enabling audio and video conferencing services between terminal devices.
[0004] However, during data transmission over a single network link, link quality (including packet loss and latency) varies with changes in access quality (factors such as Wi-Fi channel interference and 4G signal strength) and network node congestion. Link quality fluctuations can cause audio and video stuttering, affecting the transmission quality of call data during audio and video conferencing services and consequently impacting the accuracy of the call data. Summary of the Invention
[0005] In view of this, this application provides a method for transmitting call data, which can effectively improve the transmission quality of call data and ensure the accuracy of call data during transmission.
[0006] The first aspect of this application provides a method for transmitting call data, which can be applied to a system or program in a terminal device that includes a call data transmission function, specifically including:
[0007] The sending terminal obtains the call data corresponding to the communication process;
[0008] The sending terminal transmits the call data to the first data transmission node through at least one uplink based on uplink decision, and the uplink decision is determined based on the link transmission quality corresponding to each uplink.
[0009] The first data transmission node integrates the call data to obtain downlink data;
[0010] The first data transmission node transmits the downlink data to the second data transmission node corresponding to the receiving terminal;
[0011] The second data transmission node transmits the downlink data to the receiving terminal through at least one downlink based on the downlink decision, wherein the downlink decision is determined based on the link transmission quality corresponding to each downlink.
[0012] Optionally, in some possible implementations of this application, the sending terminal transmits the call data to the first data transmission node through at least one uplink based on uplink decisions, including:
[0013] The sending terminal determines the quality management server corresponding to the communication process;
[0014] The quality management server receives the uplink quality parameters sent by the first data transmission node;
[0015] The quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters.
[0016] The quality management server encapsulates the target uplink into the uplink decision and sends it to the sending terminal;
[0017] The sending terminal transmits the call data to the first data transmission node via the target uplink.
[0018] Optionally, in some possible implementations of this application, the quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters, including:
[0019] The quality management server determines the link data packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters.
[0020] The quality management server determines the link tradeoff value for each uplink based on the link data packet utilization rate and the resource overhead coefficient.
[0021] The quality management server determines the target uplink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0022] Optionally, in some possible implementations of this application, the method further includes:
[0023] The quality management server obtains the terminal status parameters sent by the sending terminal;
[0024] The quality management server determines the corresponding hardware information and user identification information based on the terminal status parameters.
[0025] The quality management server updates the link tradeoff value corresponding to the uplink based on the hardware information corresponding to the terminal status parameters and the user identification information.
[0026] Optionally, in some possible implementations of this application, the quality management server determines the link tradeoff value corresponding to each uplink based on the link data packet utilization rate and the resource overhead coefficient, including:
[0027] The quality management server obtains the data bitrate threshold and the transmission bitrate corresponding to the call data;
[0028] The quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold.
[0029] The quality management server weights the resource overhead coefficients according to the overhead parameters to determine the overhead weight values;
[0030] The quality management server determines the quality weight based on the link data packet utilization rate and utilization coefficient;
[0031] The quality management server determines the link tradeoff value based on the overhead weight and the quality weight.
[0032] Optionally, in some possible implementations of this application, the quality management server determines the quality weight based on the link data packet utilization rate and utilization coefficient, including:
[0033] The quality management server obtains multiple participating terminals from the call process indication;
[0034] The quality management server weights the utilization rate coefficient based on the number of participating terminals;
[0035] The quality management server determines the quality weight based on the link data packet usage rate and the weighted usage rate coefficient.
[0036] Optionally, in some possible implementations of this application, the method further includes:
[0037] The quality management server obtains the expected adjustment parameters sent by the sending terminal, which are statistically obtained by the sending terminal based on link fluctuation information;
[0038] The quality management server adjusts the overhead weight or the quality weight based on the desired adjustment parameters.
[0039] Optionally, in some possible implementations of this application, the second data transmission node transmits the downlink data to the receiving terminal through at least one downlink based on a downlink decision, including:
[0040] The second data transmission node determines the quality management server corresponding to the communication process;
[0041] The quality management server receives downlink quality parameters sent by the receiving terminal;
[0042] The quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters.
[0043] The quality management server encapsulates the target downlink into the downlink decision and sends it to the second data transmission node;
[0044] The second data transmission node transmits the downlink data to the receiving terminal via the target downlink.
[0045] Optionally, in some possible implementations of this application, the quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters, including:
[0046] The quality management server determines the link data packet utilization rate and the resource overhead coefficient corresponding to each downlink in the downlink quality parameters.
[0047] The quality management server determines the link tradeoff value for each downlink based on the link data packet utilization rate and the resource overhead coefficient.
[0048] The quality management server determines the target downlink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0049] Optionally, in some possible implementations of this application, the method further includes:
[0050] The quality management server obtains the node status parameters sent by the second data transmission node;
[0051] The quality management server determines the corresponding hardware information and user identification information based on the node status parameters.
[0052] The quality management server updates the link tradeoff value corresponding to the downlink based on the hardware information corresponding to the node status parameters.
[0053] Optionally, in some possible implementations of this application, the quality management server determines the link tradeoff value corresponding to each downlink based on the link data packet utilization rate and the resource overhead coefficient, including:
[0054] The quality management server obtains the data bitrate threshold and the transmission bitrate corresponding to the call data;
[0055] The quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold.
[0056] The quality management server weights the resource overhead coefficients according to the overhead parameters to determine the overhead weight values;
[0057] The quality management server determines the quality weight based on the link data packet utilization rate and utilization coefficient;
[0058] The quality management server determines the link tradeoff value based on the overhead weight and the quality weight.
[0059] Optionally, in some possible implementations of this application, the sending terminal acquiring call data corresponding to the communication process includes:
[0060] The sending terminal responds to the initiation of the communication process and associates with the scheduling server to determine multiple participating terminals;
[0061] The sending terminal determines the receiving terminal among the plurality of participating terminals;
[0062] The sending terminal determines the call data corresponding to the receiving terminal.
[0063] Optionally, in some possible implementations of this application, the sending terminal, in response to the initiation of the communication process, associates with a scheduling server to determine multiple participating terminals, including:
[0064] The sending terminal determines the target cluster in response to the initiation of the communication process;
[0065] The sending terminal sends the identifier corresponding to the target cluster to the scheduling server to identify the multiple participating terminals.
[0066] Optionally, in some possible implementations of this application, the method further includes:
[0067] The sending terminal determines the primary link information and secondary link information in response to the initiation of the communication process;
[0068] The sending terminal sends the main link information and the secondary link information to the scheduling server, so that the scheduling server initiates main link scheduling to the main link node based on the main link information and initiates secondary link scheduling to the secondary link node based on the secondary link information.
[0069] The sending terminal responds to the execution of the main link scheduling and the secondary link scheduling by accessing the main link and the secondary link for association.
[0070] Optionally, in some possible implementations of this application, the method further includes:
[0071] The quality management server obtains the link transmission quality corresponding to the main link and the secondary link;
[0072] If the transmission quality of both the primary link and the secondary link fails to meet the quality conditions, the quality management server will use the primary link as either the uplink or the downlink for decision-making.
[0073] Optionally, in some possible implementations of this application, the communication process is used to instruct the execution of a remote conference, the call data is multimedia data corresponding to the execution of the remote conference, the uplink is at least one of a cellular data network link or a wireless network link, and the downlink is at least one of a cellular data network link or a wireless network link.
[0074] A second aspect of this application provides a device for transmitting call data, comprising:
[0075] The acquisition unit is used to acquire call data corresponding to the communication process.
[0076] A transmission unit is configured to transmit the call data to a first data transmission node via at least one uplink based on an uplink decision, wherein the uplink decision is determined based on the link transmission quality corresponding to each uplink.
[0077] An integration unit is used to integrate the call data to obtain downlink data;
[0078] The transmission unit is further configured to transmit the downlink data to the second data transmission node corresponding to the receiving terminal;
[0079] The transmission unit is further configured to transmit the downlink data to the receiving terminal through at least one downlink based on a downlink decision, wherein the downlink decision is determined based on the link transmission quality corresponding to each downlink.
[0080] Optionally, in some possible implementations of this application, the transmission unit is specifically used for the sending terminal to determine the quality management server corresponding to the communication process;
[0081] The transmission unit is specifically used to receive uplink quality parameters sent by the first data transmission node;
[0082] The transmission unit is specifically used to determine the target uplink that meets the quality conditions based on the uplink quality parameters.
[0083] The transmission unit is specifically used to encapsulate the target uplink into the uplink decision and send it to the sending terminal;
[0084] The transmission unit is specifically used to transmit the call data to the first data transmission node via the target uplink.
[0085] Optionally, in some possible implementations of this application, the transmission unit is specifically used by the quality management server to determine the link data packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters;
[0086] The transmission unit is specifically used to determine the link tradeoff value corresponding to each uplink based on the link data packet utilization rate and the resource overhead coefficient.
[0087] The transmission unit is specifically used to determine the target uplink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0088] Optionally, in some possible implementations of this application, the transmission unit is specifically used to obtain the data bitrate threshold and the transmission bitrate corresponding to the call data;
[0089] The transmission unit is specifically used to determine the overhead parameters based on the transmission code rate and the data code rate threshold.
[0090] The transmission unit is specifically used to weight the resource overhead coefficients according to the overhead parameters to determine the overhead weights.
[0091] The transmission unit is specifically used to determine the quality weight based on the link data packet utilization rate and utilization coefficient.
[0092] The transmission unit is specifically used to determine the link tradeoff value based on the overhead weight and the quality weight.
[0093] Optionally, in some possible implementations of this application, the transmission unit is specifically used to acquire multiple participating terminals of the call process indication;
[0094] The transmission unit is specifically used to weight the utilization rate coefficient based on the number of participating terminals;
[0095] The transmission unit is specifically used to determine the quality weight based on the link data packet utilization rate and the weighted utilization coefficient.
[0096] Optionally, in some possible implementations of this application, the transmission unit is specifically used to obtain the expected adjustment parameters sent by the transmitting terminal, wherein the expected adjustment parameters are obtained by the transmitting terminal based on link fluctuation information.
[0097] The transmission unit is specifically used to adjust the overhead weight or the quality weight based on the desired adjustment parameters.
[0098] Optionally, in some possible implementations of this application, the transmission unit is specifically used to determine the quality management server corresponding to the communication process;
[0099] The transmission unit is specifically used to receive downlink quality parameters sent by the receiving terminal;
[0100] The transmission unit is specifically used to determine a target downlink that meets the quality conditions based on the downlink quality parameters.
[0101] The transmission unit is specifically used to encapsulate the target downlink into the downlink decision and send it to the second data transmission node;
[0102] The transmission unit is specifically used to transmit the downlink data to the receiving terminal via the target downlink.
[0103] Optionally, in some possible implementations of this application, the transmission unit is specifically used to determine the link data packet utilization rate and the resource overhead coefficient corresponding to each downlink in the downlink quality parameters;
[0104] The transmission unit is specifically used to determine the link tradeoff value corresponding to each downlink based on the link data packet utilization rate and the resource overhead coefficient.
[0105] The transmission unit is specifically used to determine the target downlink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0106] Optionally, in some possible implementations of this application, the transmission unit is specifically used to obtain the data bitrate threshold and the transmission bitrate corresponding to the call data;
[0107] The transmission unit is specifically used to determine the overhead parameters based on the transmission code rate and the data code rate threshold.
[0108] The transmission unit is specifically used to weight the resource overhead coefficients according to the overhead parameters to determine the overhead weights.
[0109] The transmission unit is specifically used to determine the quality weight based on the link data packet utilization rate and utilization coefficient.
[0110] The transmission unit is specifically used to determine the link tradeoff value based on the overhead weight and the quality weight.
[0111] Optionally, in some possible implementations of this application, the transmission unit is specifically used to associate with a scheduling server in response to the initiation of the communication process, so as to determine multiple participating terminals;
[0112] The transmission unit is specifically used to determine the receiving terminal among the plurality of participating terminals;
[0113] The transmission unit is specifically used to determine the call data corresponding to the receiving terminal.
[0114] Optionally, in some possible implementations of this application, the transmission unit is specifically used to determine the target cluster in response to the initiation of the communication process;
[0115] The transmission unit is specifically used to send the identifier corresponding to the target cluster to the scheduling server in order to identify the multiple participating terminals.
[0116] Optionally, in some possible implementations of this application, the transmission unit is specifically used to determine the main link information and the secondary link information in response to the initiation of the communication process;
[0117] The transmission unit is specifically used to send the main link information and the secondary link information to the scheduling server, so that the scheduling server initiates main link scheduling to the main link node according to the main link information and initiates secondary link scheduling to the secondary link node according to the secondary link information.
[0118] The transmission unit is specifically used to connect to the main link and the secondary link in response to the execution of the main link scheduling and the secondary link scheduling.
[0119] Optionally, in some possible implementations of this application, the transmission unit is specifically used to obtain the link transmission quality corresponding to the main link and the secondary link;
[0120] The transmission unit is specifically used to determine whether the main link or the downlink is used as the uplink or downlink if the transmission quality of both the main link and the secondary link does not meet the quality conditions.
[0121] A third aspect of this application provides a computer device, comprising: a memory, a processor, and a bus system; the memory is used to store program code; the processor is used to execute the call data transmission method described in the first aspect or any one of the first aspects according to instructions in the program code.
[0122] A fourth aspect of this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the call data transmission method described in the first aspect or any one of the first aspects.
[0123] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the call data transmission method provided in the first aspect or various optional implementations thereof.
[0124] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0125] The process involves several steps: First, the sending terminal acquires call data corresponding to the communication process. Then, based on uplink decisions, the sending terminal transmits the call data to a first data transmission node via at least one uplink, with the uplink decisions determined by the transmission quality of each uplink. The first data transmission node then integrates the call data to obtain downlink data, which is transmitted to a second data transmission node corresponding to the receiving terminal. The second data transmission node then transmits the downlink data to the receiving terminal via at least one downlink, again based on downlink decisions determined by the transmission quality of each downlink. This multi-link transmission process for call data is achieved. Because the multiple links are dynamically selected based on their transmission quality, and link selection is targeted for both uplink and downlink transmission, the transmission quality of call data is improved, ensuring the accuracy of the call data during transmission. Attached Figure Description
[0126] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0127] Figure 1Network architecture diagram for the system operating the call data transmission system;
[0128] Figure 2 A flowchart illustrating the transmission process of call data is provided in this embodiment of the application.
[0129] Figure 3 A flowchart illustrating a method for transmitting call data provided in an embodiment of this application;
[0130] Figure 4 A schematic diagram illustrating a method for transmitting call data according to an embodiment of this application;
[0131] Figure 5 A flowchart illustrating another method for transmitting call data provided in an embodiment of this application;
[0132] Figure 6 A schematic diagram illustrating another method for transmitting call data provided in an embodiment of this application;
[0133] Figure 7 A schematic diagram illustrating another method for transmitting call data provided in an embodiment of this application;
[0134] Figure 8 A flowchart illustrating another method for transmitting call data provided in an embodiment of this application;
[0135] Figure 9 A flowchart illustrating another method for transmitting call data provided in an embodiment of this application;
[0136] Figure 10 A schematic diagram illustrating another method for transmitting call data provided in an embodiment of this application;
[0137] Figure 11 A schematic diagram illustrating another method for transmitting call data provided in an embodiment of this application;
[0138] Figure 12 This is a schematic diagram of the structure of a call data transmission device provided in an embodiment of this application;
[0139] Figure 13 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application;
[0140] Figure 14 This is a schematic diagram of the structure of a server provided in an embodiment of this application. Detailed Implementation
[0141] This application provides a method and related apparatus for transmitting call data, which can be applied to a system or program in a terminal device that includes call data transmission functionality. The method involves a sending terminal acquiring call data corresponding to a communication process; then, based on uplink decisions, the sending terminal transmits the call data to a first data transmission node via at least one uplink, whereby the uplink decisions are determined based on the transmission quality of each uplink; further, the first data transmission node integrates the call data to obtain downlink data; and the first data transmission node transmits the downlink data to a second data transmission node corresponding to a receiving terminal; subsequently, the second data transmission node transmits the downlink data to the receiving terminal via at least one downlink, whereby the downlink decisions are determined based on the transmission quality of each downlink. This achieves a multi-link transmission process for call data. Because multiple links are dynamically selected based on their transmission quality, and link selection is targeted for both uplink and downlink transmission processes, the transmission quality of call data is improved, ensuring the accuracy of the call data during transmission.
[0142] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “corresponding to,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0143] First, some terms that may appear in the embodiments of this application will be explained.
[0144] Audio and video conferencing system: An audio and video conferencing system refers to a system device that enables two or more individuals or groups in different locations to exchange sound, images and documents through transmission lines and multimedia equipment, so as to achieve real-time and interactive communication and conduct meetings simultaneously.
[0145] Data link: The network path through which audio and video data generated by audio and video conferencing services are transmitted to the terminals of other participating members.
[0146] Relay link: A type of data link. In audio and video conferencing, all participants connect to a relay server, and the data stream needs to be transmitted to other participants' terminals through the relay server. Its advantages are stability and controllability, but its disadvantages are the need for server and bandwidth resources.
[0147] Multiple network access: This refers to having multiple ways to access the internet. For mobile terminals, this generally includes two types of network access: the first is through a wireless network card and a nearby wireless router for data exchange, which is WiFi network access; the other is through a wireless baseband and the nearest base station for data exchange, which is cellular data network access (such as 4G).
[0148] It should be understood that the call data transmission method provided in this application can be applied to systems or programs in terminal devices that include call data transmission functionality, such as communication software. Specifically, the call data transmission system can run in environments such as... Figure 1 In the network architecture shown, such as Figure 1 The diagram shows the network architecture of a call data transmission system. As can be seen, this system can transmit call data to multiple sources. It works by collecting call data from the terminal and transmitting it to other terminals for playback via a server, thus enabling the call process. Figure 1 The diagram illustrates various terminal devices, which can be computer devices. In real-world scenarios, more or fewer types of terminal devices may participate in the transmission of call data. The specific number and types depend on the actual scenario and are not limited here. Figure 1 The image shows one server, but in real-world scenarios, multiple servers can be involved, with the specific number depending on the actual situation.
[0149] In this embodiment, the server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, and the terminal and server can be connected to form a blockchain network; this application does not impose any restrictions.
[0150] It is understood that the aforementioned call data transmission system can run on a personal mobile terminal, such as as a communication software application, or it can run on a server, or it can run on a third-party device to provide call data transmission in order to obtain the call data transmission and processing results of the information source. Specifically, the call data transmission system can run in the aforementioned device as a program, or it can run as a system component in the aforementioned device, or it can run as a cloud service program. The specific operating mode depends on the actual scenario and is not limited here.
[0151] With the development of mobile terminal technology and the improvement of network bandwidth, more and more users are choosing to use audio and video conferencing for remote communication. In this type of service, audio and video are transmitted between users in the form of data streams. Data streams need to have characteristics such as low latency and high stability to provide high-quality service. With the development of hardware devices and audio and video codec technologies, the quality of the data transmission link has become a key factor affecting the quality of audio and video conferencing services.
[0152] Currently, audio and video conferencing services generally use a single network link to transmit data, thereby enabling audio and video conferencing services between terminal devices.
[0153] However, during data transmission over a single network link, link quality (including packet loss and latency) varies with changes in access quality (factors such as Wi-Fi channel interference and 4G signal strength) and network node congestion. Link quality fluctuations can cause audio and video stuttering, affecting the transmission quality of call data during audio and video conferencing services and consequently impacting the accuracy of the call data.
[0154] To address the aforementioned problems, this application proposes a method for transmitting call data, which can be applied to... Figure 2 In the flowchart of call data transmission shown, such as Figure 2 The diagram shown illustrates a process architecture for transmitting call data according to an embodiment of this application. The process involves acquiring call data at the sending terminal and then transmitting the call data across multiple links via data transmission nodes in a relay server. Specifically, a high-quality transmission link is selected for data transmission (e.g., the criteria for judging the transmission quality of a transmission link include idle time, link utilization, and link load rate; a high-quality transmission link is one that is idle or has a low load rate). This transmits the call data to multiple receiving terminals. Furthermore, multiple downlinks are also configured on the receiving terminal side to ensure the accuracy of the data received by the receiving terminal.
[0155] It is understood that the method provided in this application embodiment can be a program written as processing logic in a hardware system, or a call data transmission device, implemented in an integrated or external manner to achieve the aforementioned processing logic. As one implementation, the call data transmission device obtains call data corresponding to the communication process through a sending terminal; then, the sending terminal transmits the call data to a first data transmission node through at least one uplink based on uplink decisions, the uplink decisions being determined based on the link transmission quality corresponding to each uplink; further, the first data transmission node integrates the call data to obtain downlink data; and the first data transmission node transmits the downlink data to a second data transmission node corresponding to the receiving terminal; subsequently, the second data transmission node transmits the downlink data to the receiving terminal through at least one downlink based on downlink decisions, the downlink decisions being determined based on the link transmission quality corresponding to each downlink. This achieves a multi-link transmission process for call data. Because multiple links are dynamically selected based on link transmission quality, and link selection is specifically performed for the uplink and downlink transmission processes, the transmission quality of call data is improved, ensuring the accuracy of call data during transmission.
[0156] Based on the above process architecture, the method for transmitting call data in this application will be described below. Please refer to [link / reference]. Figure 3 , Figure 3 A flowchart illustrating a method for transmitting call data provided in this application embodiment, which includes at least the following steps:
[0157] 301. The sending terminal obtains the call data corresponding to the communication process.
[0158] In this embodiment, the communication process can be the execution process of the audio and video conferencing system, and the call data is the data interaction between two or more different terminals executed by the audio and video conferencing system to realize the display of multimedia data. The specific multimedia data can include sound, video or document data. The specific number of terminals involved and the data format depend on the actual scenario and are not limited here.
[0159] 302. The sending terminal transmits the call data to the first data transmission node through at least one uplink based on the uplink decision.
[0160] In this embodiment, the uplink decision is determined based on the link transmission quality corresponding to each uplink. Specifically, the uplink is the link through which the transmitting terminal may send data, such as a cellular data network link, a wireless network link, a Bluetooth connection link, or a wired connection link.
[0161] Specifically, the wireless connection link can correspond to a data traffic network, which may include the 3rd generation mobile communication technology (3G) network, the 4th generation mobile communication technology (4G) network, and the 5th generation mobile communication technology (5G) network. In this embodiment, a 4G network is used as an example for illustration, and the specific network form depends on the actual scenario.
[0162] In one possible scenario, the uplink can include a 4G link and a WiFi link. The sending terminal will decide whether to send data via the 4G link or the WiFi link based on the uplink decision. Specifically, data transmission can be performed through a single link, such as only through the WiFi link; or it can be performed through two links, such as transmitting call data to the first data transmission node via the 4G link and the WiFi link respectively. Then, the first data transmission node performs integration processing, that is, it performs redundancy recovery and deduplication operations on the call data to aggregate the data into data on the same path. Redundancy recovery is the process of recovering redundant packets in the call data. For example, if the call data contains two data packets p1 and p2, a redundant packet fec1 is generated by XORing these two data packets and sent to the first data transmission node, that is, redundancy is added to the call data. For the receiving end (the first data transmission node), if p1 is lost, p1 can be recovered from p2 and fec1; if p2 is lost, p2 can be recovered from p1 and fec1, thus achieving redundancy recovery. In addition, deduplication involves removing duplicate parts of data transmitted from different links to ensure data accuracy.
[0163] Specifically, the process of accessing the first data transmission node via multiple links can be performed through a link management node, such as... Figure 4 As shown, Figure 4This is a schematic diagram illustrating a method for transmitting call data according to an embodiment of this application. The diagram shows that the sending terminal accesses link 1 through link management node 1 (Access-Route 1) and accesses link 2 through link management node 2 (Access-Route 2). Specifically, Access-Route 1 and Access-Route 2 are data transmission servers responsible for transmitting audio and video data with the terminal. Functionally, Access-Route is link-level and allocates appropriate Access-Routes based on the network characteristics (operator, geographical location, etc.) of the link to ensure that the link accesses the first data transmission node (Access-Engine 1). Correspondingly, in the downlink, the link is accessed through link management node 3 (Access-Route 3) and link management node 4 (Access-Route 4).
[0164] In one possible scenario, the uplink and downlink data transmission methods are the same. For example, links 1 and 3 can use 4G transmission, while links 2 and 4 can use WiFi transmission. Alternatively, the uplink and downlink data transmission methods can be different. For example, link 1 can use 4G transmission, link 2 can use WiFi transmission, and link 3 can use Bluetooth transmission. The specific link configuration depends on the data access method of the terminal device, and is not limited here.
[0165] It is understandable that the selection of an uplink can be based on the quality judgment of a single link. For example, when the 4G link meets the quality conditions (latency less than the threshold or packet loss rate less than the threshold), the 4G link is used for the transmission of communication data packets. This transmission process will not interfere with the transmission of WiFi links.
[0166] Specifically, the process of determining link quality in uplink decision-making can be based on the sending terminal judging the link parameters of different uplinks. The types of link parameters are explained below:
[0167] Firstly, link parameters can include the latency or packet loss rate of communication data during link transmission. For example, select links with a latency of less than 20ms or links with a packet loss rate of less than 5% in different uplinks. The threshold setting for latency or packet loss rate can be an average value over a period of time, such as the average latency of a video call over a month, thereby improving the adaptability of the threshold setting to the call scenario.
[0168] Secondly, link parameters can include the idle level of the link during the transmission of communication data. For example, an idle link can be selected for data transmission. The determination of an idle link can be based on the amount of data transmitted over a period of time. For example, the amount of data transmitted on the uplink over four hours can be obtained, and links with a transmission volume of less than 50MB can be identified as idle links. In scenarios where 4G links and WIFI links are used as uplink links in multiple links, this avoids the situation where the 4G link is mistakenly identified as a busy link due to traffic generated by other applications.
[0169] Third, the link parameters can include the data parameters of the communication data, such as the data format and data size. For example, for a data format that indicates a large amount of data per unit (such as AVI format), a WIFI link is used as the uplink. For a data format that indicates a small amount of data per unit (such as MP4 format), a 4G link is used as the uplink. The specific format type depends on the actual scenario and is not limited here.
[0170] It is understandable that data parameters can be not only parameters indicating the data itself, but also parameters set by the user, such as priority or transmission weight values set by the user. That is, for communication data with high priority or large transmission weight values, the WIFI link is used as the uplink.
[0171] Fourth, link parameters can also include the status parameters of the sending terminal, specifically hardware parameters and user identification parameters. Among them, hardware parameters refer to the network configuration of the sending terminal, such as whether the 4G hardware module is normal, whether the WIFI hardware module is normal, etc.; while user identification parameters are the network parameters of the user corresponding to the sending terminal, such as data usage, WIFI speed limit, etc. In one possible scenario, a link with a normal WIFI hardware module and a WIFI speed limit greater than 2MB / s can be selected as the uplink.
[0172] It should be noted that in real-world scenarios, the process of judging the quality of a link in uplink decision-making can be one or more of the parameters described above. In scenarios with multiple combinations, a weighted summation can be performed to obtain a comprehensive feature value to determine the uplink. For example, if the delay of link 1 is less than the delay of link 2, and link 2 is idle compared to link 1; since the weight value of delay is 3 and the weight value of idle status is 2, the comprehensive feature value of link 1 is 3+0=3, while the comprehensive feature value of link 2 is 0+2=2<3. Therefore, link 1 is selected as the uplink.
[0173] The link selection process in the downlink is similar to that in the uplink, and will not be elaborated here.
[0174] It is understandable that the judgment result in the sending terminal is the parameter judgment on the access side. In order to more comprehensively cover the link quality during the data transmission process, a quality management server can be used in the transmission link to judge the link quality.
[0175] Optionally, in scenarios where the quality management server determines link quality, the sending terminal first identifies the quality management server corresponding to the communication process; then, the quality management server receives uplink quality parameters sent by the first data transmission node; subsequently, the quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters; the quality management server encapsulates the target uplink into an uplink decision and sends it to the sending terminal; then, the sending terminal transmits the call data to the first data transmission node through the target uplink. The uplink quality parameters can be assessments of latency and packet loss rate.
[0176] In one possible scenario, since latency and packet loss rate may be affected by short-term network fluctuations, to more comprehensively and accurately assess quality from the overall link perspective, link tradeoff values can be calculated to determine link quality. Specifically, the quality management server first determines the link packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters; then, based on the link packet utilization rate and resource overhead coefficient, the quality management server determines the link tradeoff value corresponding to each uplink; finally, the quality management server determines the target uplink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value. Evaluating the utilization rate of a link is essentially calculating the utilization rate of the data packets transmitted on that link. For example, if there is no packet loss on either link, but the latency of link 1 is 500ms and that of link 2 is 100ms, then from the receiver's perspective, only the data packets from link 2 are actually being used. In other words, the utilization rate of link 2 is 100%, while the utilization rate of link 1 is 0%. This describes the link quality from the perspective of the overall data packet processing, showing that the utilization rate is high only when both packet loss and transmission latency are relatively good, thus improving the accuracy of the link quality description.
[0177] Optionally, the process of determining the resource overhead coefficient is related to the bitrate of the specific service corresponding to the call data, i.e., the load ratio of transmitting the call data. Specifically, the process of determining the link tradeoff value can be controlled by the quality management server first obtaining the data bitrate threshold and the transmission bitrate corresponding to the call data; then the quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold; further, the quality management server weights the resource overhead coefficient according to the overhead parameters to determine the overhead weight; thus, the quality management server determines the quality weight based on the link data packet utilization rate and utilization coefficient; and finally, the quality management server determines the link tradeoff value based on the overhead weight and the quality weight.
[0178] Specifically, the calculation process based on the above link tradeoff values can be represented by the following formula:
[0179]
[0180] Where T is the link tradeoff value; U is the link packet utilization rate; α is the link utilization coefficient; Br is the transmission code rate; BR max β is the maximum transmission bit rate for the service (e.g., 500kbps), which is the data bit rate threshold; β is the 4G link traffic overhead coefficient. For example, if the uplink is selected as a WiFi link, then β = 0; γ is the server bandwidth overhead coefficient.
[0181] Optionally, since uplink data needs to be sent to multiple receiving terminals, and one member's uplink data will be sent to all other members, if his uplink transmission quality is poor, it will affect the experience of all other members in the conference; therefore, the link packet utilization rate needs to be weighted by the number of receiving terminals, that is, the quality management server obtains multiple participating terminals indicating the call progress; then the quality management server weights the utilization rate coefficient based on the number of participating terminals; and finally, the quality management server determines the quality weight based on the link packet utilization rate and the weighted utilization rate coefficient.
[0182] Specifically, the above scenario can be represented by the following formula:
[0183]
[0184] Where T is the link tradeoff value; n is the number of participating terminals; (n-1) is the number of receiving terminals; U is the link data packet utilization rate; α is the link utilization rate coefficient; Br is the transmission code rate; BR max β is the data bitrate threshold; β is the 4G link traffic overhead coefficient; γ is the server bandwidth overhead coefficient.
[0185] For a single link, if T is greater than a certain threshold, the terminal application will choose this link to send data when sending packets. Additionally, if the uplink tradeoff value T for both links is less than the threshold, the primary link will be used to send uplink packets as a fallback, thus ensuring the stability of multi-link transmission.
[0186] Optionally, the coefficients α, β, and γ in any of the above scenarios can be adjusted according to the current transmission scenario. Specifically, the quality management server first obtains the expected adjustment parameters sent by the transmitting terminal, which are statistically obtained by the transmitting terminal based on link fluctuation information. Then, the quality management server adjusts the overhead weights or quality weights based on the expected adjustment parameters. Specifically, the expected adjustment parameters are adjusted according to the system's priorities, namely link fluctuation information, such as traffic consumption fluctuations and bandwidth consumption fluctuations of 4G links. If the system focuses on improving user experience, then α is increased, which includes connecting multiple links; if the system wants to reduce user traffic consumption, then β is increased, which reduces the possibility of 4G links being selected, for example, when user traffic balance alarms are triggered; if the system focuses on reducing server and bandwidth costs, then γ is increased, which reduces the possibility of WiFi links being selected. The values of the three weight parameters are all in the range of 0 to 1. The above link forms are illustrated using 4G links and WiFi links as examples. The specific link forms can be any combination of the forms in the above examples, and are not limited here.
[0187] Optionally, the above link trade-off values can also be compared with the comprehensive feature values obtained based on the link parameters to select the corresponding link. The specific combination process can be data summation, weighting, etc., and the specific calculation method depends on the actual scenario.
[0188] 303. The first data transmission node integrates the call data to obtain downlink data;
[0189] In this embodiment, the process of integrating call data involves performing redundancy recovery and deduplication operations on the data packets corresponding to the call data, thereby summarizing them into a single downlink data stream.
[0190] It is understandable that call data needs to be integrated because step 302 may involve single-link data transmission or multi-link transmission, and a link may disconnect due to quality issues during transmission. Therefore, call data integration is necessary.
[0191] Specifically, redundancy recovery is the process of recovering redundant packets from data packets. For example, call data may contain two packets, p1 and p2. A redundant packet, fec1, is generated by XORing these two packets and also sent out, thus adding redundancy to the call data. At the receiving end, if p1 is lost, it can be recovered from p2 and fec1; if p2 is lost, it can be recovered from p1 and fec1, thereby achieving redundancy recovery. Deduplication, on the other hand, involves removing duplicate parts of data transmitted from different links to ensure data accuracy.
[0192] 304. The first data transmission node transmits the downlink data to the second data transmission node corresponding to the receiving terminal.
[0193] In this embodiment, the second data transmission node is the transmission node used by the receiving terminal for link management. Specifically, the first data transmission node and the second data transmission node can be deployed on the same relay node, that is, multiple Access-Engines (transmission nodes) can be deployed on the same server, and multiple terminals can be assigned to different Access-Engines on the same server.
[0194] 305. The second data transmission node obtains downlink decisions.
[0195] In this embodiment, the downlink decision can be determined based on the statistical analysis of network fluctuations by the second data transmission node. However, in order to determine the downlink from the overall perspective of data transmission, the downlink decision can be issued by the quality management server, which specifically obtains the downlink quality parameters through the statistical analysis of the receiving terminal.
[0196] Specifically, the downlink decision is determined by the quality management server. First, the second data transmission node determines the quality management server corresponding to the communication process. Then, the quality management server receives the downlink quality parameters sent by the receiving terminal. Further, the quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters. Therefore, the quality management server encapsulates the target downlink into a downlink decision and sends it to the second data transmission node. Then, the second data transmission node transmits the downlink data to the receiving terminal through the target downlink.
[0197] Understandably, the process by which the quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters is similar to the process of determining the target uplink. That is, it can also perform link tradeoff calculations. First, the quality management server determines the link data packet utilization rate and the resource overhead coefficient corresponding to each downlink in the downlink quality parameters. Then, the quality management server determines the link tradeoff value corresponding to each downlink based on the link data packet utilization rate and the resource overhead coefficient. Finally, the quality management server determines the target downlink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0198] Optionally, the parameter weighting process can also be based on the transmission bitrate. That is, the quality management server obtains the data bitrate threshold and the transmission bitrate corresponding to the call data; then the quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold; the quality management server weights the resource overhead coefficients according to the overhead parameters to determine the overhead weights; then the quality management server determines the quality weights according to the link data packet utilization rate and utilization coefficient; and determines the link trade-off value based on the overhead weights and quality weights, thereby ensuring the accuracy of the link trade-off value.
[0199] In one possible scenario, the calculation process for the above link tradeoff value can be expressed by the following formula:
[0200]
[0201] Where T is the link tradeoff value; U is the link packet utilization rate; α is the link utilization coefficient; Br is the transmission code rate; BR max β is the maximum transmission bit rate for the service (e.g., 500kbps), which is the data bit rate threshold; β is the 4G link traffic overhead coefficient. For example, if the uplink is selected as a WiFi link, then β = 0; γ is the server bandwidth overhead coefficient.
[0202] Specifically, for a single link, the quality condition is a comparison between T and a threshold. If T is greater than a certain threshold, the second data transmission node will choose this link to send data when sending packets. Furthermore, if the trade-off value T for both links is less than the threshold, the primary link will be used as a fallback.
[0203] Optionally, the weight parameters α, β, and γ can be adjusted according to the system's priorities. That is, if the system prioritizes improving user experience, then increase α; if the system aims to reduce user traffic consumption, then increase β; if the system prioritizes reducing server and bandwidth overhead, then increase γ. All three weight parameters range from 0 to 1, thereby improving the accuracy of the link tradeoff values.
[0204] 306. The second data transmission node transmits downlink data to the receiving terminal through at least one downlink based on the downlink decision.
[0205] In this embodiment, the downlink decision is determined based on the link transmission quality corresponding to each downlink, that is, the downlink decision is determined using the method in step 305.
[0206] Specifically, the process of transmitting data to the receiving terminal through at least one downlink can be achieved through one downlink, such as a WiFi link; or through two downlinks, such as a WiFi link and a 4G link. The specific number of links depends on the number of links that meet the quality requirements.
[0207] 307. The receiving terminal decodes and plays the downlink data.
[0208] In this embodiment, the receiving terminal can decode and play the downlink data upon receipt, thereby displaying the interface and enabling video or voice conferencing.
[0209] It is understood that when the user of the receiving terminal replies, the receiving terminal adjusts to execute the process described in the above embodiment as the sending terminal, thereby realizing multimedia interaction between multiple terminals.
[0210] As described in the above embodiments, the sending terminal acquires call data corresponding to the communication process; then, based on uplink decisions, the sending terminal transmits the call data to a first data transmission node via at least one uplink, with the uplink decisions determined based on the transmission quality of each uplink; further, the first data transmission node integrates the call data to obtain downlink data; and the first data transmission node transmits the downlink data to a second data transmission node corresponding to the receiving terminal; subsequently, the second data transmission node transmits the downlink data to the receiving terminal via at least one downlink, with the downlink decisions determined based on the transmission quality of each downlink. This achieves a multi-link transmission process for call data. Because multiple links are dynamically selected based on their transmission quality, and link selection is targeted for both uplink and downlink transmission processes, the transmission quality of call data is improved, ensuring the accuracy of the call data during transmission.
[0211] The above embodiments describe the process of the quality server issuing uplink and downlink decisions. The following section will illustrate this scenario with specific interaction timings, such as... Figure 5 The diagram shown is a flowchart of another method for transmitting call data provided in an embodiment of this application. First, the execution device involved in this embodiment will be introduced:
[0212] Terminal: The user terminal participating in the audio and video conference. The user terminal runs an audio and video conferencing app, which is responsible for audio and video data acquisition, transmission, reception, and playback. The terminal can choose to send data packets via a single link or multiple links.
[0213] The scheduling server is responsible for functions such as creating and joining meetings, and sending meeting notifications. It is also responsible for scheduling data transmission servers, assigning appropriate data servers to users joining the meeting. The scheduling server is a TCP type server.
[0214] Access-Route (Link Management Node): This is a data transmission server responsible for transmitting audio and video data with the terminal. Access-Route is a link-level node that allocates appropriate Access-Routes based on the characteristics of the access network (carrier, geographical location, etc.).
[0215] Data transmission node (Access-Engine): This is a data transmission server at the terminal level, with one Access-Engine corresponding to each user terminal. It is responsible for receiving data packets from the Access-Route, integrating them (including deduplication), and sending them to the Access-Engines of other user terminals. Symmetrically, the Access-Engine is also responsible for receiving data packets from other members' Access-Engines and forwarding them to their corresponding Access-Routes. The Access-Engine can choose to use a single link or multiple links to send data.
[0216] Understandably, Access-Engine and Access-Route can be hardware-separate, or they can be two modules on the same server. Assuming there are two links, there would be two Access-Route instances and one Access-Engine, but this Access-Engine can be deployed in conjunction with one of the Access-Route instances. Furthermore, multiple Access-Engine instances can be deployed on the same server, meaning multiple endpoints can be assigned to different Access-Engine instances on the same server.
[0217] Quality of Service (QoS) server: responsible for deciding the link strategy for uplink and downlink data transmission. User terminal APP and server downlink data transmission nodes will select the data packet sending link according to this strategy.
[0218] The aforementioned hardware devices can be functionally combined on a single hardware device, such as integrating multiple Access Engines on a relay server. For scenarios where they are configured separately, alternative methods can be used. Figure 6 The scene architecture shown is Figure 6 This is a schematic diagram illustrating another method for transmitting call data provided in an embodiment of this application. The diagram shows two uplinks (link 1 and link 2) and two downlinks (link 3 and link 4). In actual scenarios, more links can be incorporated into this architecture; the specific number depends on the specific scenario and is not limited here.
[0219] Below, in conjunction with Figure 6 The scene architecture shown is for Figure 5The embodiments shown in the illustration include at least the following steps:
[0220] 501. The sending terminal obtains the call data corresponding to the communication process.
[0221] In this embodiment, the communication process can be initiated corresponding to the user joining the video conference, and the call data is the data transmitted during the video conference. Since the transmission of video data is continuous, the transmission process of call data in this application is a dynamically executed process, that is, it can be executed at each point in time during the transmission process or at the sending point corresponding to a specified data packet, which is not limited here.
[0222] 502. The first data transmission node transmits the uplink quality parameters to the quality management server.
[0223] In this embodiment, the transmission of uplink quality parameters from the first data transmission node to the quality management server can be done in real time. That is, the uplink quality parameters are dynamic parameters, which may include link data packet utilization, service bitrate, overhead of each link, etc.
[0224] 503. The quality management server sends the uplink decision to the sending terminal.
[0225] In this embodiment, the quality management server according to Figure 3 The process of calculating the tradeoffs shown determines the target uplink that meets the quality conditions, and thus serves as the uplink decision.
[0226] It is understandable that, since the uplink quality parameter is a dynamic parameter, at the current moment both the first and second links are the target uplinks and are transmitting data simultaneously, the data packet utilization rate of the first and second links will be affected due to the difference in data transmission at the next moment. Thus, the relatively high-quality uplink is selected for subsequent data transmission, which realizes the process of dynamic link adjustment.
[0227] 504. The sending terminal transmits the call data to the first data transmission node through at least one uplink based on the uplink decision.
[0228] 505. The first data transmission node integrates the call data to obtain downlink data.
[0229] In this embodiment, steps 504 and 505 are... Figure 3 Steps 302 and 303 in the illustrated embodiment are similar, and the relevant feature descriptions can be referred to, but will not be repeated here.
[0230] 506. The first data transmission node transmits downlink data to the quality management server.
[0231] In this embodiment, the downlink data transmission process can be mediated by a quality management server or directly transmitted to the second data transmission node. Specifically, if a quality management server is used as an intermediary, the integrity of the downlink data can be checked within the quality management server, improving data accuracy.
[0232] 507. The receiving terminal collects downlink parameters.
[0233] In this embodiment, the downlink parameters can be statistically analyzed by the receiving terminal in real time. That is, the downlink quality parameters are dynamic parameters, which may include link data packet utilization, service code rate, overhead of each link, etc.
[0234] Specifically, the downlink parameters collected by the receiving terminal can be generated by a plugin in the software corresponding to the communication process, or by a third-party plugin in the terminal, depending on the actual scenario.
[0235] 508. The receiving terminal transmits downlink parameters to the quality management server.
[0236] In this embodiment, the downlink parameters transmitted from the receiving terminal to the quality management server can be performed in real time. That is, the downlink quality parameters are dynamic parameters, which may include link data packet utilization, service bitrate, overhead of each link, etc.
[0237] 509. The quality management server transmits downlink decisions to the second data transmission node.
[0238] In this embodiment, the quality management server according to Figure 3 The process of calculating the tradeoffs shown determines the target downlink that meets the quality conditions, and thus serves as the downlink decision.
[0239] It is understandable that since the downlink quality parameter is a dynamic parameter, at the current moment both the first link and the second link are the target downlink and are transmitting data simultaneously, the difference in data transmission at the next moment will affect the data packet utilization of the first link and the second link, thus selecting the relatively high-quality downlink for subsequent data transmission, which realizes the process of dynamic link adjustment.
[0240] 510. The quality management server transmits downlink data to the second data transmission node.
[0241] In this embodiment, step 510 can be combined with step 506, that is, the first data transmission node directly transmits the downlink data to the second data transmission node.
[0242] 511. The second data transmission node obtains downlink decisions.
[0243] 512. The second data transmission node transmits downlink data to the receiving terminal through at least one downlink based on the downlink decision.
[0244] 513. The receiving terminal decodes and plays the downlink data.
[0245] In this embodiment, steps 511-513 and Figure 3 Steps 305-307 shown are similar, and the relevant feature descriptions can be referenced, so they will not be repeated here.
[0246] As can be seen from the above embodiments, the process of acquiring link parameters and updating decisions in real time through the quality management server realizes the dynamic adjustment of multiple links. On the one hand, it can save users' traffic consumption, and on the other hand, it can ensure the stability of link communication.
[0247] The above embodiments will now be described using a specific scenario as an example. Figure 6 The scenario shown includes the following steps in the process of transmitting call data:
[0248] In the first step, terminal A (sending terminal) and terminal B (receiving terminal) interact with the scheduling server to establish transmission links. Since they both have multiple access networks (4G, link 1) and WiFi (link 2), two links are established respectively.
[0249] The second step involves sending data packets (call data) from the perspective of terminal A (sending terminal). The data packets are sent to the corresponding Access-Route (link management node 1 and link management node 12) through multi-link transmission.
[0250] Specifically, the process of selecting links involves Figure 7 The scene shown, Figure 7 This is a schematic diagram illustrating another method for transmitting call data provided in this application. The diagram shows the quality management server determining uplink decisions by acquiring uplink parameters from the uplink engine in the first data transmission node. Since the uplink parameters are acquired in real time, the corresponding uplink decisions are also dynamically updated. Furthermore, the uplink decisions are also related to terminal status parameters sent by the terminal. These terminal status parameters include the terminal's hardware parameters and the corresponding user identifier parameters. For example, if the hardware parameter is the remaining battery power, the uplink decision prioritizes power-saving uplinks; if the user identifier parameter is the user account's remaining data allowance, the uplink decision prioritizes data-saving uplinks. The specific parameter type depends on the actual scenario. Compared to the judgment process of a single parameter across multiple links, the uplink decision in this application fully considers the quality parameters of both the sending and receiving ends, ensuring the accuracy of the uplink decision.
[0251] For downlink decision-making, the quality management server determines the downlink decision by obtaining downlink parameters statistically collected by the receiving terminal client. Since the downlink parameters are obtained in real time, the corresponding downlink decision is also dynamically updated. Furthermore, the downlink decision is also related to the node status parameters sent by the second data transmission node. These node status parameters include the node's hardware parameters, such as the operating status of the downlink engine corresponding to different downlinks. Therefore, the downlink decision prioritizes downlinks with normally operating downlink engines. The specific parameter types should be determined according to the actual scenario. Compared to the judgment process of a single parameter across multiple links, the downlink decision in this embodiment fully considers the quality parameters of both the sending and receiving ends, ensuring the accuracy of the downlink decision.
[0252] By using a quality management server to consider parameters from multiple terminals for uplink and downlink decisions, the normal transmission of links is ensured. In video conferencing scenarios, this avoids errors in uplink or downlink decision-making caused by the failure of some terminals or nodes, thus ensuring the smooth conduct of video conferences.
[0253] Understandable Figure 7 The diagram shows that the first data transmission node includes a downlink engine and an uplink engine. That is, the first data transmission node calls the corresponding engine according to the specific data transmission direction. The corresponding second data transmission node also adopts this structure, which facilitates the interaction process of multiple terminals.
[0254] The third step involves the two Access-Route nodes (Link Management Node 1 and Link Management Node 2) forwarding the data packets received to the Access-Engine (First Data Transmission Node) corresponding to Terminal A (Sending Terminal). The uplink engine performs redundancy recovery, deduplication, and other operations on the data packets, and then aggregates them into a single data stream.
[0255] The fourth step is to forward the data packet to the Access-Engine (second data transmission node) corresponding to terminal B (receiving terminal). In addition to the data from terminal A (sending terminal), the Access-Engine will also receive audio and video data from other members of the conference (such as terminal C).
[0256] The fifth step involves the downlink engine forwarding data packets to the corresponding Access-Route (link management node 3 and link management node 4) of terminal B according to the current downlink policy of terminal B.
[0257] Step 6: Access-Route (link management node 3 and link management node 4) send the data packets to terminal B, which processes the data packets and then decodes and plays them.
[0258] The above examples demonstrate how to fully utilize the access resources (4G and WiFi) and network node resources (Access-Route and Access-Engine configuration) of terminal devices. By dynamically scheduling audio and video data packets to different transmission links, transmission quality can be improved at a controllable cost, thereby reducing the consumption of 4G or WiFi and enhancing the user experience.
[0259] Optionally, for multi-link configurations, different link levels can be set, such as primary link and secondary link. Specifically, the sending terminal first determines the primary link information and secondary link information in response to the initiation of the communication process; the sending terminal sends the primary link information (e.g., bandwidth address information) and secondary link information (e.g., carrier information) to the scheduling server, so that the scheduling server initiates primary link scheduling to the primary link node based on the primary link information, and initiates secondary link scheduling to the secondary link node based on the secondary link information; then, the sending terminal responds to the execution of the primary link scheduling and secondary link scheduling, and connects to the primary link and secondary link for association.
[0260] The above process can be performed on links of different levels after they are created. Figure 3 or Figure 5 The data process in the illustrated embodiment is as follows. Additionally, for links of different quality levels, a fallback mechanism can be implemented when no link meets the quality requirements. Specifically, the quality management server obtains the transmission quality of the primary and secondary links. If the transmission quality of both the primary and secondary links fails to meet the quality requirements, the quality management server uses the primary link as the uplink or downlink decision, thereby ensuring data transmission stability. For example, a WiFi link can be used as the primary link, and if none of the links meet the quality requirements, the system switches to the WiFi link for transmission.
[0261] The process of creating the above-mentioned link will be explained below using a specific scenario, such as... Figure 8 The diagram shown is a flowchart of another method for transmitting call data provided in an embodiment of this application. The process includes the following steps:
[0262] Step 1: The client creates a meeting or receives an invitation to join a meeting.
[0263] Step 2: The client obtains cellular network operator information and activates the cellular network (no special operation is required for iOS devices, but for Android devices, the Android SDK needs to be called to complete the cellular network activation).
[0264] Step 3: The client initiates a creation signaling or joining signaling to the scheduling server, and sends the external IP address of the primary network (system default network) and the secondary network operator information to the server.
[0265] Step 4: The scheduling server makes multi-link decisions based on the terminal network information.
[0266] Step 5: The scheduling server allocates the main access route based on the external IP information of the main network.
[0267] Step 6: The scheduling server allocates secondary access routes based on the geographical location information in the primary network's external IP address and the secondary network's ISP information. This is because the primary and secondary networks belong to the same terminal and have the same geographical location.
[0268] Step 7: The configuration information of the primary and secondary links is returned to the client via CGI return packets.
[0269] Step 8: The client establishes the primary relay link (primary link), creating a primary network socket by binding to the primary network's local IP address and checking it into the corresponding Access-Route. The `socket` function is used to allocate a socket descriptor and its resources based on the specified address family, data type, and protocol, thus allocating a socket.
[0270] Step 9: Similarly, establish a secondary relay link (secondary link).
[0271] The configuration of the main link and the secondary link can be completed through the above process. It can be understood that the configuration of more links can also be done in the same way as creating links. The specific number depends on the actual scenario and is not limited here.
[0272] The above embodiments illustrate the multi-link transmission process on the network side. The following describes different initiation scenarios for the communication process. Please refer to... Figure 9 , Figure 9 A flowchart illustrating another method for transmitting call data provided in this application embodiment, which includes at least the following steps:
[0273] 901. Retrieve call data in response to the initiation of the communication process.
[0274] In this embodiment, the communication process can be initiated when a video call is initiated, such as... Figure 10The figure shows a scenario diagram of another call data transmission method provided in this application embodiment; the figure shows that when a user uses instant messaging software and clicks on video call A1, a relay server is triggered to perform a link quality assessment and then make a decision, thereby performing multi-link transmission. The specific transmission process is as follows: Figure 3 or Figure 5 The illustrated embodiment will not be described in detail here. A call interface will then be displayed, showing the current link A2, such as a 4G link or a WiFi link.
[0275] Specifically, in a multi-person call process, the sending terminal responds to the initiation of the communication process and associates with the scheduling server to identify multiple participating terminals; then, the sending terminal identifies the receiving terminal among the multiple participating terminals; and finally, the sending terminal determines the call data corresponding to the receiving terminal and executes it. Figure 3 or Figure 5 The transmission process of the illustrated embodiment will not be described in detail here.
[0276] Alternatively, the communication process can be initiated by a user joining an existing conference. In this case, the sending terminal responds to the initiation of the communication process by identifying the target cluster. Then, the sending terminal sends the identifier corresponding to the target cluster to the scheduling server to identify multiple participating terminals, thus initiating the data transmission process. Specifically, for example... Figure 11 The figure shows a scenario diagram of another method for transmitting call data provided in an embodiment of this application. The figure shows that when a user clicks to join a meeting B1 while using instant messaging software, a multi-link connection will be established with multiple participating devices in the current meeting to transmit data.
[0277] 902. Perform multi-link transmission of call data.
[0278] 903. Establish a data connection for audio and video conferencing.
[0279] In this embodiment, the processes of steps 902 and 903 are referred to Figure 3 or Figure 5 The transmission process of the illustrated embodiment will not be described in detail here.
[0280] The above embodiments provide a large-scale audio and video conferencing system that uses multi-link data transmission. This system can fully utilize the access resources of terminal devices and network node resources, and dynamically schedule audio and video data packets to different transmission links to improve transmission quality and enhance user experience while keeping costs under control.
[0281] To better implement the above-described solutions of the embodiments of this application, related apparatus for implementing the above solutions is also provided below. Please refer to... Figure 12 , Figure 12This is a schematic diagram of a call data transmission device provided in an embodiment of this application. The transmission device 1200 includes:
[0282] Acquisition unit 1201 is used to acquire call data corresponding to the communication process;
[0283] Transmission unit 1202 is used to transmit the call data to a first data transmission node through at least one uplink based on uplink decision, wherein the uplink decision is determined based on the link transmission quality corresponding to each uplink.
[0284] Integration unit 1203 is used to integrate the call data to obtain downlink data;
[0285] The transmission unit 1202 is further configured to transmit the downlink data to the second data transmission node corresponding to the receiving terminal;
[0286] The transmission unit 1202 is further configured to transmit the downlink data to the receiving terminal through at least one downlink based on a downlink decision, wherein the downlink decision is determined based on the link transmission quality corresponding to each downlink.
[0287] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used for the sending terminal to determine the quality management server corresponding to the communication process;
[0288] The transmission unit 1202 is specifically used to receive uplink quality parameters sent by the first data transmission node;
[0289] The transmission unit 1202 is specifically used to determine the target uplink that meets the quality conditions based on the uplink quality parameters.
[0290] The transmission unit 1202 is specifically used to encapsulate the target uplink into the uplink decision and send it to the sending terminal;
[0291] The transmission unit 1202 is specifically used to transmit the call data to the first data transmission node through the target uplink.
[0292] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used by the quality management server to determine the link data packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters;
[0293] The transmission unit 1202 is specifically used to determine the link trade-off value corresponding to each uplink based on the link data packet utilization rate and the resource overhead coefficient.
[0294] The transmission unit 1202 is specifically used to determine the target uplink that meets the quality conditions based on the numerical relationship between the link trade-off value and the preset value.
[0295] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to obtain the data bit rate threshold and the transmission bit rate corresponding to the call data;
[0296] The transmission unit 1202 is specifically used to determine the overhead parameters based on the transmission code rate and the data code rate threshold.
[0297] The transmission unit 1202 is specifically used to weight the resource overhead coefficient according to the overhead parameter to determine the overhead weight value;
[0298] The transmission unit 1202 is specifically used to determine the quality weight based on the link data packet utilization rate and utilization coefficient.
[0299] The transmission unit 1202 is specifically used to determine the link tradeoff value based on the overhead weight and the quality weight.
[0300] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to acquire multiple participating terminals of the call process indication;
[0301] The transmission unit 1202 is specifically used to weight the utilization rate coefficient based on the number of participating terminals;
[0302] The transmission unit 1202 is specifically used to determine the quality weight based on the link data packet utilization rate and the weighted utilization coefficient.
[0303] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to obtain the expected adjustment parameters sent by the transmitting terminal, wherein the expected adjustment parameters are obtained by the transmitting terminal based on the link fluctuation information.
[0304] The transmission unit 1202 is specifically used to adjust the overhead weight or the quality weight based on the desired adjustment parameters.
[0305] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to determine the quality management server corresponding to the communication process;
[0306] The transmission unit 1202 is specifically used to receive downlink quality parameters sent by the receiving terminal;
[0307] The transmission unit 1202 is specifically used to determine the target downlink that meets the quality conditions based on the downlink quality parameters.
[0308] The transmission unit 1202 is specifically used to encapsulate the target downlink into the downlink decision and send it to the second data transmission node;
[0309] The transmission unit 1202 is specifically used to transmit the downlink data to the receiving terminal through the target downlink.
[0310] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to determine the link data packet utilization rate and the resource overhead coefficient corresponding to each downlink in the downlink quality parameters;
[0311] The transmission unit 1202 is specifically used to determine the link trade-off value corresponding to each downlink based on the link data packet utilization rate and the resource overhead coefficient.
[0312] The transmission unit 1202 is specifically used to determine the target downlink that meets the quality conditions based on the numerical relationship between the link trade-off value and the preset value.
[0313] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to obtain the data bit rate threshold and the transmission bit rate corresponding to the call data;
[0314] The transmission unit 1202 is specifically used to determine the overhead parameters based on the transmission code rate and the data code rate threshold.
[0315] The transmission unit 1202 is specifically used to weight the resource overhead coefficient according to the overhead parameter to determine the overhead weight value;
[0316] The transmission unit 1202 is specifically used to determine the quality weight based on the link data packet utilization rate and utilization coefficient.
[0317] The transmission unit 1202 is specifically used to determine the link tradeoff value based on the overhead weight and the quality weight.
[0318] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to associate with the scheduling server in response to the initiation of the communication process, so as to determine multiple participating terminals;
[0319] The transmission unit 1202 is specifically used to determine the receiving terminal among the plurality of participating terminals;
[0320] The transmission unit 1202 is specifically used to determine the call data corresponding to the receiving terminal.
[0321] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to determine the target cluster in response to the initiation of the communication process;
[0322] The transmission unit 1202 is specifically used to send the identifier corresponding to the target cluster to the scheduling server in order to identify the multiple participating terminals.
[0323] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to determine the main link information and the secondary link information in response to the initiation of the communication process;
[0324] The transmission unit 1202 is specifically used to send the main link information and the secondary link information to the scheduling server, so that the scheduling server initiates main link scheduling to the main link node according to the main link information and initiates secondary link scheduling to the secondary link node according to the secondary link information.
[0325] The transmission unit 1202 is specifically used to connect to the main link and the secondary link in response to the execution of the main link scheduling and the secondary link scheduling.
[0326] Optionally, in some possible implementations of this application, the transmission unit 1202 is specifically used to obtain the link transmission quality corresponding to the main link and the secondary link;
[0327] The transmission unit 1202 is specifically used to make the main link the uplink or downlink decision if the link transmission quality of the main link and the corresponding secondary link does not meet the quality conditions.
[0328] The process involves several steps: First, the sending terminal acquires call data corresponding to the communication process. Then, based on uplink decisions, the sending terminal transmits the call data to a first data transmission node via at least one uplink, with the uplink decisions determined by the transmission quality of each uplink. The first data transmission node then integrates the call data to obtain downlink data, which is transmitted to a second data transmission node corresponding to the receiving terminal. The second data transmission node then transmits the downlink data to the receiving terminal via at least one downlink, again based on downlink decisions determined by the transmission quality of each downlink. This multi-link transmission process for call data is achieved. Because the multiple links are dynamically selected based on their transmission quality, and link selection is targeted for both uplink and downlink transmission, the transmission quality of call data is improved, ensuring the accuracy of the call data during transmission.
[0329] This application also provides a terminal device, such as... Figure 13 The diagram shown is a structural schematic of another terminal device provided in an embodiment of this application. For ease of explanation, only the parts related to the embodiment of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiment of this application. The terminal can be any terminal device including mobile phones, tablet computers, personal digital assistants (PDAs), point-of-sale (POS) terminals, in-vehicle computers, etc. Taking a mobile phone as an example:
[0330] Figure 13 This is a block diagram illustrating a portion of the structure of a mobile phone related to the terminal provided in the embodiments of this application. (Reference) Figure 13 The mobile phone includes components such as a radio frequency (RF) circuit 1310, a memory 1320, an input unit 1330, a display unit 1340, a sensor 1350, an audio circuit 1360, a wireless fidelity (WiFi) module 1370, a processor 1380, and a power supply 1390. Those skilled in the art will understand that... Figure 13 The mobile phone structure shown does not constitute a limitation on the mobile phone and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0331] The following is combined Figure 13 A detailed introduction to each component of a mobile phone:
[0332] RF circuit 1310 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and processes it with processor 1380; additionally, it transmits uplink data to the base station. Typically, RF circuit 1310 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, RF circuit 1310 can also communicate wirelessly with networks and other devices. The aforementioned wireless communication can use any communication standard or protocol, including but not limited to Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Message Service (SMS), etc.
[0333] The memory 1320 can be used to store software programs and modules. The processor 1380 executes various mobile phone functions and data processing by running the software programs and modules stored in the memory 1320. The memory 1320 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 1320 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0334] The input unit 1330 can be used to receive input numerical or character information, and generate key signal inputs related to user settings and function control of the mobile phone. Specifically, the input unit 1330 may include a touch panel 1331 and other input devices 1332. The touch panel 1331, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel 1331, as well as air touch operations within a certain range on the touch panel 1331), and drive the corresponding connection devices according to a pre-set program. Optionally, the touch panel 1331 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, sends it to the processor 1380, and can receive and execute commands sent by the processor 1380. Furthermore, the touch panel 1331 can be implemented using various types of sensors, including resistive, capacitive, infrared, and surface acoustic wave sensors. In addition to the touch panel 1331, the input unit 1330 may also include other input devices 1332. Specifically, these other input devices 1332 may include, but are not limited to, one or more of the following: a physical keyboard, function keys (such as volume control buttons, power buttons, etc.), a trackball, a mouse, and a joystick.
[0335] The display unit 1340 can be used to display information input by the user or information provided to the user, as well as various menus of the mobile phone. The display unit 1340 may include a display panel 1341, which may optionally be configured as a liquid crystal display (LCD), organic light-emitting diode (OLED), or similar form. Further, a touch panel 1331 may cover the display panel 1341. When the touch panel 1331 detects a touch operation on or near it, it transmits the information to the processor 1380 to determine the type of touch event. Subsequently, the processor 1380 provides corresponding visual output on the display panel 1341 according to the type of touch event. Although in Figure 13 In this embodiment, the touch panel 1331 and the display panel 1341 are two separate components to realize the input and output functions of the mobile phone. However, in some embodiments, the touch panel 1331 and the display panel 1341 can be integrated to realize the input and output functions of the mobile phone.
[0336] The mobile phone may also include at least one sensor 1350, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 1341 according to the ambient light level, and the proximity sensor can turn off the display panel 1341 and / or the backlight when the phone is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used for applications that recognize the phone's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition-related functions (such as pedometer, tapping), etc. Other sensors that may be configured in the mobile phone, such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be described in detail here.
[0337] Audio circuit 1360, speaker 1361, and microphone 1362 provide an audio interface between the user and the mobile phone. Audio circuit 1360 converts received audio data into electrical signals and transmits them to speaker 1361, where speaker 1361 converts them into sound signals for output. On the other hand, microphone 1362 converts collected sound signals into electrical signals, which are received by audio circuit 1360, converted into audio data, and then processed by processor 1380 before being transmitted via RF circuit 1310 to, for example, another mobile phone, or the audio data can be output to memory 1320 for further processing.
[0338] WiFi is a short-range wireless transmission technology. Mobile phones, through the WiFi module 1370, can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access. Although Figure 13 WiFi module 1370 is shown, but it is understood that it is not an essential component of a mobile phone and can be omitted as needed without changing the essence of the invention.
[0339] The processor 1380 is the control center of the mobile phone, connecting various parts of the phone through various interfaces and lines. It executes various functions and processes data by running or executing software programs and / or modules stored in the memory 1320, and by calling data stored in the memory 1320. Optionally, the processor 1380 may include one or more processing units; optionally, the processor 1380 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the aforementioned modem processor may also not be integrated into the processor 1380.
[0340] The mobile phone also includes a power supply 1390 (such as a battery) that supplies power to various components. Optionally, the power supply can be logically connected to the processor 1380 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.
[0341] Although not shown, mobile phones may also include a camera, Bluetooth module, etc., which will not be described in detail here.
[0342] In this embodiment of the application, the processor 1380 included in the terminal also has the function of performing the various steps of the page processing method described above.
[0343] This application also provides a server; please refer to [link / reference]. Figure 14 , Figure 14 This is a schematic diagram of a server structure provided in an embodiment of this application. The server 1400 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1422 (e.g., one or more processors) and memory 1432, and one or more storage media 1430 (e.g., one or more mass storage devices) for storing application programs 1442 or data 1444. The memory 1432 and storage media 1430 can be temporary or persistent storage. The program stored in the storage media 1430 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the server. Furthermore, the CPU 1422 may be configured to communicate with the storage media 1430 and execute the series of instruction operations in the storage media 1430 on the server 1400.
[0344] Server 1400 may also include one or more power supplies 1426, one or more wired or wireless network interfaces 1450, one or more input / output interfaces 1458, and / or one or more operating systems 1441, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0345] The steps performed by the management device in the above embodiments can be based on this Figure 14 The server structure shown.
[0346] Specifically, the server can be the quality server in the above embodiment, and the quality management server is specifically used to receive the uplink quality parameters sent by the first data transmission node;
[0347] The quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters.
[0348] The quality management server encapsulates the target uplink into the uplink decision and sends it to the sending terminal;
[0349] The transmitting terminal transmits the call data to the first data transmission node via the target uplink.
[0350] Optionally, in some possible scenarios, the quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters, including:
[0351] The quality management server determines the link packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters.
[0352] The quality management server determines the link tradeoff value for each uplink based on the link data packet utilization rate and the resource overhead coefficient.
[0353] The quality management server determines the target uplink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0354] Optionally, in some possible scenarios, the quality management server determines the link tradeoff value corresponding to each uplink based on the link packet utilization rate and the resource overhead coefficient, including:
[0355] The quality management server obtains the data bitrate threshold and the transmission bitrate corresponding to the call data;
[0356] The quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold.
[0357] The quality management server weights the resource overhead coefficient based on the overhead parameter to determine the overhead weight value;
[0358] The quality management server determines the quality weight based on the data packet usage and usage coefficient of the link.
[0359] The quality management server determines the link tradeoff value based on the overhead weight and the quality weight.
[0360] Optionally, in some possible implementations of this application, the method further includes:
[0361] The quality management server obtains the terminal status parameters sent by the sending terminal;
[0362] The quality management server determines the corresponding hardware information and user identification information based on the terminal's status parameters.
[0363] The quality management server updates the link tradeoff value for the uplink based on the hardware information corresponding to the terminal status parameters and the user identification information.
[0364] Optionally, in some possible scenarios, the quality management server determines the quality weight based on the packet utilization and utilization coefficient of the link, including:
[0365] The quality management server obtains information about multiple participating terminals indicating the call process.
[0366] The quality management server weights the usage rate coefficient based on the number of participating terminals;
[0367] The quality management server determines the quality weight based on the data packet usage rate of the link and the weighted usage rate coefficient.
[0368] Optionally, in some possible scenarios, the method may also include:
[0369] The quality management server obtains the expected adjustment parameters sent by the transmitting terminal, which are statistically obtained by the transmitting terminal based on link fluctuation information;
[0370] The quality management server adjusts the overhead weight or the quality weight based on the expected adjustment parameters.
[0371] Optionally, in some possible scenarios, the second data transmission node transmits the downlink data to the receiving terminal via at least one downlink based on a downlink decision, including:
[0372] The second data transmission node determines the quality management server corresponding to the communication process.
[0373] The quality management server receives downlink quality parameters sent by the receiving terminal;
[0374] The quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters.
[0375] The quality management server encapsulates the target downlink into the downlink decision and sends it to the second data transmission node;
[0376] The second data transmission node transmits the downlink data to the receiving terminal via the target downlink.
[0377] In addition, for the downlink management process, the quality management server is specifically used to receive downlink quality parameters sent by the receiving terminal;
[0378] The quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters.
[0379] The quality management server encapsulates the target downlink into the downlink decision and sends it to the second data transmission node;
[0380] The second data transmission node transmits the downlink data to the receiving terminal via the target downlink.
[0381] Optionally, in some possible implementations of this application, the quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters, including:
[0382] The quality management server determines the link packet utilization rate and the resource overhead coefficient corresponding to each downlink in the downlink quality parameters.
[0383] The quality management server determines the link tradeoff value for each downlink based on the data packet utilization rate and the resource overhead coefficient of that link.
[0384] The quality management server determines the target downlink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
[0385] Optionally, in some possible implementations of this application, the method further includes:
[0386] The quality management server obtains the node status parameters sent by the second data transmission node;
[0387] The quality management server determines the corresponding hardware information and user identification information based on the node's status parameters.
[0388] The quality management server updates the link tradeoff value for the downlink based on the hardware information corresponding to the node's status parameters.
[0389] Optionally, in some possible implementations of this application, the quality management server determines the link tradeoff value corresponding to each downlink based on the link packet utilization rate and the resource overhead coefficient, including:
[0390] The quality management server obtains the data bitrate threshold and the transmission bitrate corresponding to the call data;
[0391] The quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold.
[0392] The quality management server weights the resource overhead coefficient based on the overhead parameter to determine the overhead weight value;
[0393] The quality management server determines the quality weight based on the data packet usage and usage coefficient of the link.
[0394] The quality management server determines the link tradeoff value based on the overhead weight and the quality weight.
[0395] This application also provides a computer-readable storage medium storing transmission instructions for call data, which, when executed on a computer, cause the computer to perform the aforementioned actions. Figures 3 to 11 The steps performed by the call data transmission device in the method described in the illustrated embodiment.
[0396] This application also provides a computer program product that includes instructions for transmitting call data, which, when run on a computer, causes the computer to perform the aforementioned actions. Figures 3 to 11 The steps performed by the call data transmission device in the method described in the illustrated embodiment.
[0397] This application embodiment also provides a call data transmission system, which may include... Figure 12 The call data transmission device in the described embodiments, or Figure 13 The terminal device in the described embodiments, or Figure 14 The server described.
[0398] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0399] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus 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 coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0400] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0401] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0402] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a data transmission device, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0403] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method for transmitting call data, characterized in that, include: In response to the initiation of the communication process, the sending terminal sends its main network information and secondary network information to the scheduling server, so that the scheduling server initiates main link scheduling based on the main network information and secondary link scheduling based on the main network information and the secondary network information. The sending terminal responds to the execution of the main link scheduling and the secondary link scheduling by accessing the main link and the secondary link for association; The sending terminal acquires the call data corresponding to the communication process; the communication process is used to indicate the execution of the remote conference, and the call data is the multimedia data corresponding to the execution of the remote conference; The sending terminal transmits the call data to the first data transmission node through multiple uplinks based on uplink decision. The uplink decision is determined by the quality management server corresponding to the communication process based on the link data packet utilization rate, resource overhead coefficient, transmission code rate of the call data, number of receiving terminals, and terminal status parameters of the sending terminal for each uplink. The number of receiving terminals is used to weight the link data packet utilization rate. Each uplink corresponds to a different access network. The multiple uplinks include the main link and the secondary links. When the quality management server determines that the transmission quality of both the main link and the secondary link does not meet the quality conditions, it will use the main link as the uplink for decision. The first data transmission node integrates the call data to obtain downlink data; The first data transmission node transmits the downlink data to the second data transmission node corresponding to the receiving terminal; The second data transmission node transmits the downlink data to the receiving terminal through multiple downlinks based on downlink decisions, so that the receiving terminal can decode and play the downlink data. The downlink decisions are determined by the quality management server from the overall dimension of data transmission based on the link data packet utilization rate, resource overhead coefficient, transmission bit rate of the call data, and node status parameters of the second data transmission node for each downlink. Each downlink corresponds to a different access network.
2. The method according to claim 1, characterized in that, The sending terminal transmits the call data to the first data transmission node via multiple uplinks based on uplink decisions, including: The sending terminal determines the quality management server corresponding to the communication process; The quality management server receives the uplink quality parameters sent by the first data transmission node; The quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters. The quality management server encapsulates the target uplink into the uplink decision and sends it to the sending terminal; The sending terminal transmits the call data to the first data transmission node via the target uplink.
3. The method according to claim 2, characterized in that, The quality management server determines the target uplink that meets the quality conditions based on the uplink quality parameters, including: The quality management server determines the link data packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters. The quality management server determines the link tradeoff value for each uplink based on the link data packet utilization rate and the resource overhead coefficient. The quality management server determines the target uplink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
4. The method according to claim 3, characterized in that, The quality management server determines the link tradeoff value for each uplink based on the link packet utilization rate and the resource overhead coefficient, including: The quality management server obtains the data bitrate threshold and the transmission bitrate corresponding to the call data; The quality management server determines the overhead parameters based on the transmission bitrate and the data bitrate threshold. The quality management server weights the resource overhead coefficients according to the overhead parameters to determine the overhead weight values; The quality management server determines the quality weight based on the link data packet utilization rate and utilization coefficient; The quality management server determines the link tradeoff value based on the overhead weight and the quality weight.
5. The method according to claim 4, characterized in that, The quality management server determines the quality weight based on the link data packet usage rate and usage rate coefficient, including: The quality management server obtains multiple participating terminals from the call process indication; The quality management server weights the utilization rate coefficient based on the number of participating terminals; The quality management server determines the quality weight based on the link data packet usage rate and the weighted usage rate coefficient.
6. The method according to claim 4, characterized in that, The method further includes: The quality management server obtains the expected adjustment parameters sent by the sending terminal, which are statistically obtained by the sending terminal based on link fluctuation information; The quality management server adjusts the overhead weight or the quality weight based on the desired adjustment parameters.
7. The method according to claim 1, characterized in that, The second data transmission node transmits the downlink data to the receiving terminal via multiple downlinks based on downlink decisions, including: The second data transmission node determines the quality management server corresponding to the communication process; The quality management server receives downlink quality parameters sent by the receiving terminal; The quality management server determines the target downlink that meets the quality conditions based on the downlink quality parameters. The quality management server encapsulates the target downlink into the downlink decision and sends it to the second data transmission node; The second data transmission node transmits the downlink data to the receiving terminal via the target downlink.
8. The method according to claim 1, characterized in that, The sending terminal acquires the call data corresponding to the communication process, including: The sending terminal responds to the initiation of the communication process and associates with the scheduling server to determine multiple participating terminals; The sending terminal determines the receiving terminal among the plurality of participating terminals; The sending terminal determines the call data corresponding to the receiving terminal.
9. The method according to claim 8, characterized in that, The sending terminal responds to the initiation of the communication process and associates with the scheduling server to determine multiple participating terminals, including: The sending terminal determines the target cluster in response to the initiation of the communication process; The sending terminal sends the identifier corresponding to the target cluster to the scheduling server to identify the multiple participating terminals.
10. The method according to claim 1, characterized in that, The uplink is at least one of a cellular data network link or a wireless network link, and the downlink is at least one of a cellular data network link or a wireless network link.
11. A device for transmitting call data, characterized in that, include: The transmission unit is used to send the main network information and secondary network information of the sending terminal to the scheduling server in response to the initiation of the communication process, so that the scheduling server initiates main link scheduling based on the main network information and secondary link scheduling based on the main network information and the secondary network information. The transmission unit is also used to execute the main link scheduling and the secondary link scheduling, and to associate the main link and the secondary link; A sending unit is used to acquire call data corresponding to the communication process; the communication process is used to indicate the execution of the remote conference, and the call data is multimedia data corresponding to the execution of the remote conference; A transmission unit is used to transmit the call data to a first data transmission node through multiple uplinks based on uplink decisions. The uplink decisions are determined by the quality management server corresponding to the communication process based on the link data packet utilization rate, resource overhead coefficient, transmission code rate of the call data, number of receiving terminals, and terminal status parameters of the sending terminal for each uplink. The number of receiving terminals is used to weight the link data packet utilization rate. Each uplink corresponds to a different access network. The multiple uplinks include the main link and the secondary links. The transmission unit is further configured to, when the transmission quality of the links corresponding to the primary link and the secondary link does not meet the quality conditions, decide to use the primary link as the uplink link; An integration unit is used to integrate the call data to obtain downlink data; The transmission unit is further configured to transmit the downlink data to the second data transmission node corresponding to the receiving terminal; The transmission unit is further configured to transmit the downlink data to the receiving terminal through multiple downlinks based on downlink decisions. The downlink decisions are determined by the quality management server from the overall dimension of data transmission based on the link data packet utilization rate, resource overhead coefficient, transmission code rate of the call data, and node status parameters of the second data transmission node corresponding to each downlink. Each downlink corresponds to a different access network.
12. The apparatus according to claim 11, characterized in that, The transmission unit is specifically used by the sending terminal to determine the quality management server corresponding to the communication process. The transmission unit is specifically used to receive uplink quality parameters sent by the first data transmission node; The transmission unit is specifically used to determine the target uplink that meets the quality conditions based on the uplink quality parameters. The transmission unit is specifically used to encapsulate the target uplink into the uplink decision and send it to the sending terminal; The transmission unit is specifically used to transmit the call data to the first data transmission node via the target uplink.
13. The apparatus according to claim 12, characterized in that, The transmission unit is specifically used by the quality management server to determine the link data packet utilization rate and the resource overhead coefficient corresponding to each uplink in the uplink quality parameters. The transmission unit is specifically used to determine the link tradeoff value corresponding to each uplink based on the link data packet utilization rate and the resource overhead coefficient. The transmission unit is specifically used to determine the target uplink that meets the quality conditions based on the numerical relationship between the link tradeoff value and the preset value.
14. The apparatus according to claim 13, characterized in that, The transmission unit is specifically used to acquire the data bitrate threshold and the transmission bitrate corresponding to the call data; The transmission unit is specifically used to determine the overhead parameters based on the transmission code rate and the data code rate threshold. The transmission unit is specifically used to weight the resource overhead coefficients according to the overhead parameters to determine the overhead weights. The transmission unit is specifically used to determine the quality weight based on the link data packet utilization rate and utilization coefficient. The transmission unit is specifically used to determine the link tradeoff value based on the overhead weight and the quality weight.
15. The apparatus according to claim 14, characterized in that, The transmission unit is specifically used to acquire multiple participating terminals of the call process indication; The transmission unit is specifically used to weight the utilization rate coefficient based on the number of participating terminals; The transmission unit is specifically used to determine the quality weight based on the link data packet utilization rate and the weighted utilization coefficient.
16. The apparatus according to claim 15, characterized in that, The transmission unit is specifically used to obtain the expected adjustment parameters sent by the transmitting terminal, which are obtained by the transmitting terminal based on the link fluctuation information. The transmission unit is specifically used to adjust the overhead weight or the quality weight based on the desired adjustment parameters.
17. The apparatus according to claim 11, characterized in that, The transmission unit is specifically used to determine the quality management server corresponding to the communication process. The transmission unit is specifically used to receive downlink quality parameters sent by the receiving terminal; The transmission unit is specifically used to determine a target downlink that meets the quality conditions based on the downlink quality parameters. The transmission unit is specifically used to encapsulate the target downlink into the downlink decision and send it to the second data transmission node; The transmission unit is specifically used to transmit the downlink data to the receiving terminal via the target downlink.
18. The apparatus according to claim 11, characterized in that, The transmission unit is specifically used to respond to the initiation of the communication process and associate with the scheduling server to determine multiple participating terminals; The transmission unit is specifically used to determine the receiving terminal among the plurality of participating terminals; The transmission unit is specifically used to determine the call data corresponding to the receiving terminal.
19. The apparatus according to claim 18, characterized in that, The transmission unit is specifically used to determine the target cluster in response to the initiation of the communication process; The transmission unit is specifically used to send the identifier corresponding to the target cluster to the scheduling server in order to identify the multiple participating terminals.
20. The apparatus according to claim 11, characterized in that, The uplink is at least one of a cellular data network link or a wireless network link, and the downlink is at least one of a cellular data network link or a wireless network link.
21. A computer device, characterized in that, The computer device includes a processor and memory: The memory is used to store program code; the processor is used to execute the call data transmission method according to any one of claims 1 to 10 according to the instructions in the program code.
22. A computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method for transmitting call data according to any one of claims 1 to 10.
23. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method for transmitting call data as described in any one of claims 1 to 10.
Citation Information
Patent Citations
Cross-node data transmission method, device and system and readable storage medium
CN109995653A
Method and device for transmitting message based on shared session link
CN110875914A
Data packet transmission method and internet protocol based uplink / downlink multi-network connection device performing thereof
KR1020170002232A