Communication data transmission method and device, storage medium and program product

By establishing data transmission channels for the server and two terminals in the on-board infotainment system, and determining the main channel and the secondary channel based on the terminal's usage status information, the problem of instability of network signals in the on-board infotainment system is solved and data transmission is improved Quality and user experience.

CN119421259APending Publication Date: 2025-02-11MIGU INTERACTIVE ENTERTAINMENT CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411503052.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The network signal of the in-car infotainment system is unstable, affecting the user's entertainment experience.

Method used

Data transmission channels are established with the two terminals through the server, the main channel and secondary channel are determined based on the terminal's usage status information, and the communication data is divided into blocks and allocated to the main channel or secondary channel for transmission.

Benefits of technology

Improves data transmission quality and user experience, enhances network coverage and reliability, and reduces the risk of interruption caused by network instability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119421259A_ABST
    Figure CN119421259A_ABST
Patent Text Reader

Abstract

The invention discloses a communication data transmission method and device, a storage medium and a program product. A server establishes a first data channel between the server and a first terminal and a second data channel between the server and a second terminal; determining a main channel and an auxiliary channel in the first data channel and the second data channel according to the use state information of the first terminal and / or the second terminal; dividing communication data to be sent into a plurality of data blocks; allocating the main channel or the auxiliary channel to each data block as a target channel; and transmitting the data block through the corresponding target channel. According to the invention, the main channel and the auxiliary channel are divided according to the use state information of the two terminals, and the communication data issued by the server is distributed to the main channel or the auxiliary channel for transmission, so that the data transmission quality is improved, and the use experience of a user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a communication data transmission method, device, storage medium and program product. Background Art

[0002] With the development of technology, in-vehicle infotainment systems have become an important part of users' daily entertainment life. In-vehicle infotainment systems can realize entertainment functions similar to those of mobile terminals such as mobile phones, such as playing music, playing videos, and cloud games.

[0003] However, the inventors have found that the prior art has at least the following problems: the network signal of the in-vehicle infotainment system is unstable, and the reason is related to the mobility of the vehicle and the network environment. The car may stay in places with poor signals such as underground garages for a long time, and the signal may be blocked by mountains, tunnels, and high-rise buildings that the car passes through during driving. The Internet of Vehicles may only support a certain type of network, such as only 4G but not 5G, or only support cellular networks but not wifi. Signal reception may also be affected by poor antenna design or improper location of the vehicle system. The network signal quality of the in-vehicle infotainment system affects the realization of the in-vehicle entertainment function and affects the user's entertainment experience. Summary of the invention

[0004] The purpose of the embodiments of the present invention is to provide a communication data transmission method, device, storage medium and program product, which divide the main channel and the secondary channel according to the usage status information of two terminals, and allocate the communication data sent by the server to the main channel or the secondary channel for transmission, thereby improving the data transmission quality and improving the user experience.

[0005] To achieve the above object, an embodiment of the present invention provides a method for transmitting communication data, which is applied to a server, and the method includes:

[0006] Establishing a first data channel with the first terminal and a second data channel with the second terminal;

[0007] Determining a primary channel and a secondary channel in the first data channel and the second data channel according to the usage status information of the first terminal and / or the second terminal;

[0008] Divide the communication data to be sent into a number of data blocks;

[0009] Allocating the primary channel or the secondary channel as a target channel for each of the data blocks;

[0010] The data block is transmitted through the corresponding target channel.

[0011] As an improvement of the above solution, the usage status information includes at least one of the following: network quality, user operation status, and the degree of turbulence of the environment;

[0012] The determining, according to the usage status information of the first terminal and / or the second terminal, a primary channel and a secondary channel in the first data channel and the second data channel comprises:

[0013] A main channel and a secondary channel are determined in the first data channel and the second data channel according to the network quality of the first terminal and / or the second terminal, the user operation situation and / or the degree of turbulence in the environment.

[0014] As an improvement of the above solution, determining the primary channel and the secondary channel in the first data channel and the second data channel according to the usage status information of the first terminal and / or the second terminal includes:

[0015] detecting network quality of the first data channel and the second data channel;

[0016] The data channel with better network quality between the first data channel and the second data channel is determined as a main channel, and the other data channel is determined as a secondary channel;

[0017] or;

[0018] detecting user operation conditions of the first terminal and the second terminal;

[0019] Determine the data channel corresponding to the terminal receiving the user operation instruction among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel;

[0020] or;

[0021] Detecting turbulence data of the environment where the first terminal and the second terminal are located, and evaluating the degree of turbulence according to the turbulence data; wherein the turbulence data includes the turbulence amplitude and / or the number of turbulences within the detection time period;

[0022] Determine the data channel corresponding to the terminal in an environment with a smaller degree of turbulence among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel;

[0023] or;

[0024] detecting turbulence data of an environment where the first terminal is located, and evaluating the degree of turbulence according to the turbulence data; the first terminal is a vehicle-mounted system;

[0025] When the turbulence degree is less than or equal to a preset turbulence degree threshold, determining the first data channel as a main channel and determining the second data channel as a secondary channel;

[0026] When the jolting degree is greater than a preset jolting degree threshold, the first data channel is determined as a secondary channel, and the second data channel is determined as a primary channel.

[0027] As an improvement of the above solution, the communication data to be sent is divided into a plurality of data blocks, including:

[0028] Dividing the communication data to be sent into a plurality of data blocks according to a preset classification standard, and marking each of the data blocks with a different type;

[0029] Then allocating the primary channel or the secondary channel as the target channel for each of the data blocks includes:

[0030] According to the type of each of the data blocks, the primary channel or the secondary channel is allocated to the data block as a target channel.

[0031] As an improvement of the above solution, the classification criteria include at least one of the following: user interest, criticality and spatial dimension; the types of user interest include user interest and user non-interest, the types of criticality include critical and non-critical, and the types of spatial dimension include foreground and background;

[0032] The allocating the primary channel or the secondary channel as the target channel for each data block according to the type of the data block comprises:

[0033] When the data block is a user-interested data block, a key data block or a foreground data block, the primary channel is allocated to the data block as a target channel, otherwise, the secondary channel is allocated to the data block as a target channel;

[0034] When the type of the data block is a critical data block, a redundant copy data block is generated for the data block, and the secondary channel is allocated to the redundant copy data block as a target channel.

[0035] An embodiment of the present invention further provides a method for transmitting communication data, which is applied to a first terminal, and the method includes:

[0036] Establishing a first data channel with the server and a third data channel with the second terminal;

[0037] receiving a data block sent by the server using the first data channel as a target channel; wherein the server determines the first data channel and the second data channel between itself and the second terminal as a main channel and a secondary channel according to the usage status information of the first terminal and / or the second terminal, and divides the communication data to be sent into a plurality of data blocks and assigns a main channel or a secondary channel as a target channel to each of the data blocks;

[0038] The data block sent by the server is sent to the second terminal through the third data channel, and / or the data block sent by the second terminal through the third data channel is received.

[0039] As an improvement of the above solution, the method further includes:

[0040] After receiving the data blocks sent by the server and / or the second terminal, multiple data blocks of the same frame are merged to form a data frame, and are stored in the frame buffer in sequence.

[0041] As an improvement of the above solution, the step of merging multiple data blocks of the same frame into a data frame and storing the data frames in sequence in a frame buffer includes:

[0042] When the number of data frames in the frame buffer is less than a preset threshold,

[0043] If the key data blocks and non-key data blocks of the target frame are received, the data blocks of the target frame are merged to form a complete data frame, and stored in the frame buffer;

[0044] If only the key data blocks of the target frame are received, the data blocks of the target frame are merged to form an incomplete data frame, which is stored in the frame buffer, and when the non-key data blocks of the target frame are subsequently received, the non-key data blocks are discarded;

[0045] If only non-critical data blocks of the target frame are received, the key data blocks of the target frame are waited to be received before merging to form a completed data frame, which is stored in the frame buffer.

[0046] An embodiment of the present invention also provides a communication data transmission device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the communication data transmission method as described in any one of the above items is implemented.

[0047] An embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the communication data transmission methods described above.

[0048] An embodiment of the present invention further provides a computer program product, which includes a computer program or a computer instruction. When the computer program or the computer instruction is executed by a processor, the method for transmitting communication data as described in any one of the above is implemented.

[0049] Compared with the prior art, the communication data transmission method, device, storage medium and program product disclosed in the present invention respectively establish data transmission channels through the server and two terminals, and the server determines the main channel and the secondary channel according to the usage status information of the two terminals, and divides the communication data into blocks and allocates the main channel or the secondary channel for each data block for transmission, so that more important data blocks are transmitted through the main channel with better quality, thereby improving the success rate and real-time performance of data reception. The present invention utilizes the network resources of one terminal to enhance the data receiving capability and data transmission capability of another terminal, so that when the network quality of one terminal is poor, data transmission can be maintained through the network of another terminal, thereby improving the coverage and reliability of the network, reducing the risk of interruption caused by network instability, and bringing users a more stable and continuous use experience. In addition, data exchange and data synchronization processing can be performed between the two terminals, allowing users to select a more suitable terminal for operation in different scenarios, effectively improving the user's interactive experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 It is a flow chart of a communication data transmission method provided by an embodiment of the present invention;

[0051] Figure 2 is a schematic diagram of the connection between a server and two terminals in an embodiment of the present invention;

[0052] Figure 3 It is a flowchart of another communication data transmission method provided by an embodiment of the present invention;

[0053] Figure 4 It is a structural schematic diagram of a communication data transmission device provided by an embodiment of the present invention;

[0054] Figure 5 is a schematic structural diagram of another communication data transmission device provided by an embodiment of the present invention;

[0055] Figure 6 It is a structural schematic diagram of a communication data transmission device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0056] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0057] In the description of the present application, it should be understood that the terms "center", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present application.

[0058] The terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, unless otherwise specified, "plurality" means two or more.

[0059] In the description of this application, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to specific circumstances.

[0060] See also Figure 1 , is a flow chart of a method for transmitting communication data provided by an embodiment of the present invention. A method for transmitting communication data provided by an embodiment of the present invention is applied to a server, and the method includes steps S11 to S15:

[0061] S11, establishing a first data channel with a first terminal and a second data channel with a second terminal;

[0062] S12. Determine a primary channel and a secondary channel in the first data channel and the second data channel according to the usage status information of the first terminal and / or the second terminal;

[0063] S13, dividing the communication data to be sent into a plurality of data blocks;

[0064] S14, allocating the primary channel or the secondary channel as a target channel for each of the data blocks;

[0065] S15. Transmit the data block through the corresponding target channel.

[0066] Preferably, a third data channel is established between the first terminal and the second terminal, and the first terminal and / or the second terminal transmits the received data block to the opposite terminal through the third data channel.

[0067] It should be noted that the first terminal and the second terminal are electronic terminal devices of the user, which can realize corresponding business functions through data interaction with the cloud server, such as playing music, playing videos, video calls, voice calls, cloud games and other entertainment functions. As an example, the first terminal and the second terminal are two terminal devices of the same type or different types in terminal devices such as vehicle-mounted systems, mobile phones, tablets, computers, smart watches, etc. The server is the central node of the entire system, responsible for the calculation and processing tasks of the corresponding functions.

[0068] In order to avoid the problem that the terminal cannot stably receive the communication data sent by the server due to poor network signal, the embodiment of the present invention establishes a connection between the server and two terminals, and the network of the other terminal enhances the data receiving capability of the terminal and optimizes the transmission process of the communication data.

[0069] See also Figure 2 , is a connection diagram of a server and two terminals in an embodiment of the present invention, wherein the server establishes a data transmission channel with the first terminal, which is recorded as the first data channel, and the server establishes a data transmission channel with the second terminal, which is recorded as the second data channel, and the first terminal and the second terminal establish a data transmission channel, which is recorded as the third data channel. Preferably, the third data channel is established based on short-range wireless communication technology.

[0070] The service end includes a cloud server, an encoder, a data splitter, and a network adapter, etc. The cloud server is responsible for the calculation and processing of the business functions required, generates the communication data to be sent to the terminal, and compresses it through the encoder so as to be transmitted through the network. The data splitter is used to split the encoded communication data into multiple data blocks, which will be sent through different network channels. The network adapter is responsible for managing the connection with the first terminal and the second terminal, dynamically adjusting the transmission path of the data block, and ensuring that the data block can be sent through the most suitable available network channel. Specifically, according to the usage status information of the first terminal and / or the second terminal, a main channel and a secondary channel are determined in the first data channel and the second data channel, and then, the main channel or the secondary channel is assigned as the target channel for each data block, so that the data block is transmitted to the corresponding first terminal and / or the second terminal through the corresponding target channel. After receiving the data block through their respective data transmission channels, the first terminal and / or the second terminal can send the received data block to the opposite terminal through the third data channel, or receive the data block sent by the opposite terminal through the third data channel, and can also exchange the received data blocks through the third data channel.

[0071] As an example, in a cloud gaming scenario, assuming that the first terminal is a vehicle-mounted system and the second terminal is a user mobile terminal, such as a mobile phone, when the car is parked in an underground garage or other place with poor signal for a long time, or the signal is blocked by mountains, tunnels, and high-rise buildings, or the Internet of Vehicles only supports a certain type of network and the network is not good, the vehicle-mounted system will not be able to stably receive communication data such as video streams and audio streams sent by the server, and when the user uses the vehicle-mounted touch screen to play games, although the screen is larger than the mobile phone, it will produce continuous vibrations and bumps during driving, especially on uneven roads. This dynamic environment causes the relative position between the user's hand and the touch screen to change constantly. After the stability of the passenger's hand is affected, the slight movement of the hand may be magnified, causing the touch operation to deviate from the target and cause misoperation.

[0072] In order to solve the above problems, the server establishes a first data channel and a second data channel connection with the vehicle system and the mobile phone terminal respectively, and the vehicle system and the mobile phone establish a close-range third data channel connection. In the process of executing cloud gaming services, the cloud gaming server is responsible for executing the computing tasks of the game, including game logic processing, graphics rendering, physical simulation, etc., and converts the real-time state of the game into communication data such as video streams and audio streams, and compresses them through a specific encoder for transmission over the network. The encoder converts the video stream and audio stream generated by the server into a format suitable for network transmission, such as using efficient video coding standards (such as H.264 or H.265) and audio coding standards (such as AAC) to reduce the amount of data and maintain high-quality media transmission. The data splitter splits the encoded video stream and audio stream and other communication data into multiple data blocks. The network adapter manages the connection with the vehicle system and the mobile terminal, and dynamically adjusts the transmission path of each data block according to the type of data block, the current usage status information of the vehicle system and / or the mobile terminal, such as network quality, user operation status and vehicle bumpiness, to ensure that the data block can be sent to the terminal through the most suitable available network channel, and the more important data blocks will be transmitted through the data channel with better quality. After the vehicle system and the mobile terminal receive the data blocks from the server, the mobile terminal sends the third channel of the data block channel to the vehicle terminal. The vehicle system can receive all the data blocks, merge the same frame of data through the data merger, and display it on the display screen. Alternatively, the vehicle system and the mobile terminal exchange data through the third data channel, so that the vehicle system and the mobile terminal can receive all the data blocks, merge the same frame of data through their respective data mergers, and display them synchronously on their respective display screens.

[0073] In the above scenario, the user's mobile phone is registered as the network assistant of the vehicle system. On the one hand, the mobile phone's network is used to enhance the data receiving ability of the vehicle computer. When the mobile phone and the vehicle system are on different networks, this enhancement effect will be more obvious, because when the connection between the vehicle system and the base station is blocked by a high-rise building, the connection between the user's mobile phone and the mobile base station may not be. When the cellular network signal in the underground garage is poor, the mobile phone is likely to connect to the public wifi network in the garage. Therefore, the server divides the communication data into multiple data blocks, determines the main channel and the secondary channel according to the usage status information of the vehicle system and the mobile phone, and allocates the data blocks to the corresponding data channels for transmission, so that the communication data sent by the server can be transmitted to the terminal through the optimal network channel. On the other hand, by using the data exchange between the mobile phone and the vehicle system, the game screen is displayed on the mobile phone and the vehicle computer screen at the same time. When the car is parked or driving steadily, the user can use the large screen on the car to control the game by touch screen, and when the car is bumpy, the user can control the game at any time through the mobile phone, which improves the user's gaming experience.

[0074] It can be understood that the above cloud gaming scenario is only used as an example. For application scenarios such as video calls, audio and video playback, the above method can also be used to transmit communication data, which will not be elaborated here.

[0075] By adopting the technical means of the embodiment of the present invention, data transmission channels are established through the service end and the two terminals respectively. The service end determines the main channel and the secondary channel according to the usage status information of the two terminals, and divides the communication data into blocks and allocates the main channel or the secondary channel for each data block for transmission, so that more important data blocks are transmitted through the main channel with better quality, thereby improving the success rate and real-time performance of data reception. The present invention utilizes the network resources of one terminal to enhance the data receiving capability and data transmission capability of another terminal, so that when the network quality of one terminal is poor, data transmission can be maintained through the network of another terminal, thereby improving the coverage and reliability of the network, reducing the risk of interruption caused by network instability, and bringing users a more stable and continuous use experience. In addition, data exchange and data synchronization processing can be performed between the two terminals, allowing users to select a more suitable terminal for operation in different scenarios, effectively improving the user's interactive experience, and providing users with more enjoyable and richer entertainment options.

[0076] As a preferred implementation, the present invention is further implemented on the basis of the above-mentioned embodiment, wherein the usage status information includes at least one of the following: network quality, user operation status, and the degree of turbulence of the environment. The user operation status includes whether a user operation instruction is received.

[0077] Then step S12, i.e., determining a primary channel and a secondary channel in the first data channel and the second data channel according to the usage status information of the first terminal and / or the second terminal, includes:

[0078] A main channel and a secondary channel are determined in the first data channel and the second data channel according to the network quality of the first terminal and / or the second terminal, the user operation situation and / or the degree of turbulence in the environment.

[0079] Specifically, step S12 is implemented in at least one of the following ways:

[0080] detecting network quality of the first data channel and the second data channel;

[0081] The data channel with better network quality between the first data channel and the second data channel is determined as a main channel, and the other data channel is determined as a secondary channel;

[0082] and / or;

[0083] detecting user operation conditions of the first terminal and the second terminal;

[0084] Determine the data channel corresponding to the terminal receiving the user operation instruction among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel;

[0085] and / or;

[0086] Detecting turbulence data of the environment where the first terminal and the second terminal are located, and evaluating the degree of turbulence according to the turbulence data; wherein the turbulence data includes the turbulence amplitude and / or the number of turbulences within the detection time period;

[0087] Of the first data channel and the second data channel, the data channel corresponding to the terminal in an environment with a smaller degree of turbulence is determined as a main channel, and the other data channel is determined as a secondary channel.

[0088] and / or;

[0089] Detecting turbulence data of the environment where the first terminal is located, and evaluating the degree of turbulence according to the turbulence data; wherein the turbulence data includes the turbulence amplitude and / or the number of turbulences within the detection time period;

[0090] When the turbulence degree is less than or equal to a preset turbulence degree threshold, determining the first data channel as a main channel and determining the second data channel as a secondary channel;

[0091] When the jolting degree is greater than a preset jolting degree threshold, the first data channel is determined as a secondary channel, and the second data channel is determined as a primary channel.

[0092] Preferably, the first terminal is a vehicle-mounted system, and the second terminal is a user mobile terminal.

[0093] In the embodiment of the present invention, in the first mode, after the server establishes a connection with the first terminal and the second terminal, it monitors the network quality of the data channel with the first terminal and the second terminal in real time, for example, it evaluates the network quality of the data channel according to the real-time bandwidth and delay of the network where the two data channels are located, and then uses the data channel with better network quality as the main channel for main data block transmission, and the other data channel as the secondary channel for auxiliary transmission. This load balancing strategy ensures the optimal use of network resources and reduces the congestion risk of a single network channel.

[0094] In the second mode, if the network quality of the first data channel and the second data channel is similar, the server determines the user operation by detecting the data uploaded by the first terminal and the second terminal, that is, determines which terminal receives the user operation instruction. When the user operates on the first terminal, the first data channel is set as the main channel and the second data channel is set as the secondary channel; when the user operates on the second terminal, the second data channel is set as the main channel for the main data block transmission, and the first data channel is set as the secondary channel for auxiliary transmission. Through this strategy, the delay of the game screen on the screen currently used by the user can be reduced.

[0095] In the third mode, a sensor is set on the first terminal or the second terminal to detect environmental turbulence data, and the first terminal or the second terminal periodically reports the turbulence data within the past period of time, such as the past 2 seconds, to the server through the corresponding first data channel or the second data channel, including the turbulence amplitude and / or the number of turbulences. The degree of turbulence is evaluated according to whether the turbulence amplitude is greater than a preset turbulence amplitude threshold, whether the number of turbulences is greater than a preset number threshold, etc., and then the data channel corresponding to the terminal with a smaller degree of turbulence is used as the main channel for main data block transmission, and the other data channel is used as the secondary channel for auxiliary transmission.

[0096] More preferably, the server determines the main channel and the secondary channel by comprehensively considering the network quality of the data channel, the user operation of the terminal and the degree of turbulence in the environment, and the main channel is used to transmit more important data blocks, and the secondary channel is used to transmit other data blocks.

[0097] By adopting the technical means of the embodiments of the present invention, the main channel and the sub-channel are determined in the first data channel and the second data channel by considering the network quality, user operation conditions and the degree of environmental turbulence, so that more important data blocks are transmitted through the main channel with better quality, effectively improving the success rate and real-time performance of data reception.

[0098] As a preferred implementation, the embodiment of the present invention is further implemented on the basis of any one of the above embodiments, step S13, that is, dividing the communication data to be sent into a plurality of data blocks, includes:

[0099] The communication data to be sent is divided into a plurality of data blocks according to a preset classification standard, and a different type is marked for each of the data blocks.

[0100] Then step S14, namely allocating the primary channel or the secondary channel as the target channel for each data block, includes:

[0101] According to the type of each of the data blocks, the primary channel or the secondary channel is allocated to the data block as a target channel.

[0102] Preferably, the classification criteria include at least one of the following: user interest, criticality and spatial dimension; the types of user interest include user interested and user not interested, the types of criticality include critical and non-critical, and the types of spatial dimension include foreground and background.

[0103] Then, according to the type of each of the data blocks, allocating the primary channel or the secondary channel as the target channel for the data block includes:

[0104] When the data block is a user-interested data block, a key data block or a foreground data block, the primary channel is allocated to the data block as a target channel; otherwise, the secondary channel is allocated to the data block as a target channel.

[0105] In an embodiment of the present invention, a data segmenter segments the encoded communication data into multiple data blocks, and the segmentation strategy needs to consider the importance of the data, network conditions, and transmission efficiency. The communication data is segmented according to different classification criteria, such as user interest, criticality, and spatial dimension, and each of the data blocks is marked with a different type according to the classification criteria. For example, some data blocks are marked as user-interested data blocks, and some data blocks are marked as user-uninterested data blocks; or some data blocks are marked as foreground data blocks, and some data blocks are marked as background data blocks; or some data blocks are marked as critical data blocks, and some data blocks are marked as non-critical data blocks. The same data block can have multiple different labels according to different classification criteria.

[0106] For data blocks marked as user-interested, critical or prospective, priority is given to transmitting them from the main channel, and other data blocks can be transmitted from the secondary channel to ensure the terminal's reception success rate and real-time performance of more important data blocks.

[0107] More preferably, the allocating the primary channel or the secondary channel as the target channel for each data block according to the type of the data block further comprises:

[0108] When the type of the data block is a critical data block, a redundant copy data block is generated for the data block, and the secondary channel is allocated to the redundant copy data block as a target channel.

[0109] In the embodiment of the present invention, in order to improve the reliability of data transmission, a redundant copy is generated for the data block marked as critical and transmitted through the secondary channel, so that even if a problem occurs in one channel, the critical data block can still be successfully transmitted through another channel.

[0110] By adopting the technical means of the embodiments of the present invention, data blocks are classified and marked according to aspects such as user interest, data criticality and spatial dimension, so as to determine more important data blocks and transmit them through the main channel, effectively improving the success rate and real-time performance of data reception and ensuring the stable execution of terminal services.

[0111] As a preferred implementation, the embodiment of the present invention is further implemented on the basis of any one of the above embodiments. After step S15, the method further includes steps S16 and S17:

[0112] S16. Receive a user operation instruction uploaded by the first terminal through the first data channel, and / or receive a user operation instruction uploaded by the second terminal through the second data channel;

[0113] S17: Process the user operation instruction.

[0114] In the embodiment of the present invention, the user can perform relevant operations on the first terminal, and when the first terminal receives the user operation instruction, it uploads the user operation instruction to the server through the first data channel for processing. The user can also perform relevant operations on the second terminal, and when the second terminal receives the user operation instruction, it uploads the user operation instruction to the server through the second data channel for processing.

[0115] Of course, the first terminal and the second terminal can agree on a target data channel to uniformly upload user operation instructions. For example, with the first data channel as the target data channel, the user can still operate on the first terminal or the second terminal. When the second terminal directly receives the user operation instruction, the user operation instruction is sent to the first terminal through the third data channel. When the first terminal directly receives the user operation instruction, or receives the user operation instruction sent by the second terminal through the third data channel, the user operation instruction is uploaded to the server through the target data channel.

[0116] See also Figure 3 , is a flow chart of another communication data transmission method provided by an embodiment of the present invention. An embodiment of the present invention provides another communication data transmission method, the method is applied to a first terminal, and the method includes steps S21 to S23:

[0117] S21, establishing a first data channel with the server and a third data channel with the second terminal;

[0118] S22, receiving a data block sent by the server using the first data channel as a target channel; wherein the server determines the first data channel and the second data channel between itself and the second terminal as a main channel and a secondary channel according to the usage status information of the first terminal and / or the second terminal, and divides the communication data to be sent into a plurality of data blocks and then allocates a main channel or a secondary channel as a target channel for each of the data blocks;

[0119] S23: Send the data block sent by the server to the second terminal through the third data channel, and / or receive the data block sent by the second terminal through the third data channel.

[0120] In the embodiment of the present invention, a first data channel is established between the first terminal and the server, a second data channel is established between the second terminal and the server, and a third data channel is established between the first terminal and the second terminal. The first terminal and the second terminal are electronic terminal devices of the user. For example, the first terminal and the second terminal are two terminal devices of the same type or different types in terminal devices such as vehicle-mounted systems, mobile phones, tablets, computers, smart watches, etc.

[0121] The service end includes a cloud server, an encoder, a data splitter, and a network adapter, etc. The cloud server is responsible for the calculation and processing of the business functions required, generates the communication data to be sent to the terminal, and compresses it through the encoder so as to be transmitted through the network. The data splitter is used to split the encoded communication data into multiple data blocks, which will be sent through different network channels. The network adapter is responsible for managing the connection with the first terminal and the second terminal, and according to the usage status information of the first terminal and / or the second terminal, a main channel and a sub-channel are determined in the first data channel and the second data channel, and then, the main channel or the sub-channel is assigned as the target channel for each data block, so that the data block is transmitted to the corresponding first terminal and / or the second terminal through the corresponding target channel. After receiving the data block through their respective data transmission channels, the first terminal and the second terminal can send the received data block to each other through the third data channel, or receive the data block sent by the other party through the third data channel, and can also exchange the received data blocks through the third data channel.

[0122] By adopting the technical means of the embodiment of the present invention, data transmission channels are established through the service end and the two terminals respectively. The service end determines the main channel and the secondary channel according to the usage status information of the two terminals, and divides the communication data into blocks and allocates the main channel or the secondary channel for each data block for transmission, so that more important data blocks are transmitted through the main channel with better quality, thereby improving the success rate and real-time performance of data reception. The present invention utilizes the network resources of one terminal to enhance the data receiving capability and data transmission capability of another terminal, so that when the network quality of one terminal is poor, data transmission can be maintained through the network of another terminal, thereby improving the coverage and reliability of the network, reducing the risk of interruption caused by network instability, and bringing users a more stable and continuous use experience. In addition, data exchange and data synchronization processing can be performed between the two terminals, allowing users to select a more suitable terminal for operation in different scenarios, effectively improving the user's interactive experience.

[0123] As a preferred implementation, the first terminal establishes a third data channel with the second terminal, including:

[0124] Broadcast its own device identification and supported functions; receive a connection establishment request sent by a second terminal after scanning via a wireless connection to establish a third data channel with the second terminal. Or;

[0125] Push a QR code containing its own device identification and / or a temporary token, and receive a connection establishment request sent by the second terminal after scanning the QR code to establish a third data channel with the second terminal.

[0126] Specifically, taking a cloud gaming scenario where the first terminal is a car system and the second terminal is a mobile phone as an example, the connection method between the first terminal and the second terminal is explained.

[0127] In the first implementation mode, the car system where the car screen is located (the following description no longer distinguishes between the system of the screen and the system of the control screen, and the screen / car screen / car large screen / car, etc. all refer to the car system corresponding to a certain screen machine in the car) broadcasts its device identification and supported functions (such as cloud games) when it is started. The cloud game application of the mobile phone scans the screen device in the car via Bluetooth or Wi-Fi. An interface is provided in the mobile cloud game application, listing all connectable screen devices and allowing users to select a specific screen. After the user selects the screen on the car on the mobile application, the application establishes a connection with the screen through the selected communication protocol (such as Wi-Fi Direct). The screen device verifies the request of the mobile application and establishes a session. After negotiation or pre-determination, the cloud game client of the mobile phone or car sends an association request to the cloud game server, including the screen device identification and the user identification of the mobile application. The cloud game server receives the request and verifies the validity of the device identification. After verification, the service class records the association between the mobile phone and the car machine and notifies the two clients.

[0128] In the second implementation mode, the car computer enters the association mode and displays a unique QR code on the screen. This QR code contains the identification information of the car computer. When the user uses the cloud game client on the mobile phone to scan the QR code on the car computer screen, the mobile cloud game client parses the data in the QR code and communicates with the cloud game server to propose to it to establish an association relationship with the car computer cloud game client. Based on the information sent by the mobile cloud game client, the cloud game server sends a query message to the car computer cloud game client contained in the information. After receiving the query information, the car computer cloud game client displays the information on the screen, asking the user to confirm whether he agrees to establish an association relationship with the mobile cloud game client. After the user chooses to agree, the car computer cloud game client notifies the server. After the server receives the consent information, the server records the association relationship between the mobile phone and the car computer and notifies the two clients. After receiving the notification, the client establishes a local direct connection channel (such as a wifi connection).

[0129] In the third implementation mode, the car computer enters the association mode and displays a unique QR code on the screen. This QR code contains the identification information of the car computer and a temporary token. The temporary token can be generated by the car computer client or the server. When the user uses the cloud game client on the mobile phone to scan the QR code on the car computer screen, the mobile cloud game client parses the data in the QR code and communicates with the cloud game server, proposing to it to establish an association with the car computer cloud game client, and uploads the temporary token at the same time. The cloud game server receives the request and obtains the temporary token. If the temporary token is generated by the car computer client, the cloud game server consults the car computer client whether the temporary token is valid; otherwise, the cloud game server determines whether the temporary token is valid. If the temporary token is valid, the server records the association between the mobile phone and the car computer and notifies the two clients. After receiving the notification, the client establishes a local direct connection channel (such as a wifi connection).

[0130] As a preferred implementation, the embodiment of the present invention is further implemented on the basis of any of the above embodiments, and the method further includes step S24:

[0131] S24: after receiving the data blocks sent by the server and / or the second terminal, merge multiple data blocks of the same frame to form a data frame, and store them in a frame buffer in sequence.

[0132] In the embodiment of the present invention, the first terminal is provided with a data merger responsible for recombining the data blocks sent from the service end and / or the blocks sent from the second terminal into complete communication data.

[0133] As an example, in a cloud gaming scenario, the first terminal is a car system and the second terminal is a mobile phone, or the first terminal is a mobile phone and the second terminal is a car system. The data merger of the car system is responsible for recombining the data blocks sent by the server and the data blocks sent by the mobile client into a complete video stream and audio stream. The data merger is also responsible for handling the out-of-order arrival and loss of data packets. Understandably, the data merger of the mobile client also performs the same work. In addition, the car system and the mobile client decode, render and display the audio and video data on the screen, and the user can see approximately synchronized game video images on the car screen and the mobile phone screen.

[0134] Preferably, step S24, i.e., merging multiple data blocks of the same frame into a data frame and storing them in sequence in a frame buffer, includes:

[0135] When the number of data frames in the frame buffer is less than a preset threshold,

[0136] If the key data blocks and non-key data blocks of the target frame are received, the data blocks of the target frame are merged to form a complete data frame, which is stored in the frame buffer; the target frame is the previous frame in which the data blocks are received;

[0137] If only the key data blocks of the target frame are received, the data blocks of the target frame are merged to form an incomplete data frame, which is stored in the frame buffer, and when the non-key data blocks of the target frame are subsequently received, the non-key data blocks are discarded;

[0138] If only non-critical data blocks of the target frame are received, the key data blocks of the target frame are waited to be received before merging to form a completed data frame, which is stored in the frame buffer.

[0139] In an embodiment of the present invention, for each terminal, after receiving a data block sent by the service end and a data block sent by another terminal, multiple data blocks of the same frame are merged, and the merged data frames are stored in the frame buffer in order. Wherein, when the number of data frames in the frame buffer is lower than the threshold, for a frame of data to be merged, if the key data block and other data blocks have been received, the two parts of the data blocks are merged, and the merged complete data frame is stored in the frame buffer; if only the key data block is received, but other data blocks have not been received, only the key data block is merged into an incomplete data frame, and the incomplete data frame is stored in the frame buffer, and when other data blocks of this frame are received later, these other data blocks are discarded; if only other data blocks are received, but the key data block has not been received, wait until the key data block is received, merge the two parts of the data blocks, and then store the merged complete data frame in the frame buffer.

[0140] As an example, in a cloud gaming scenario, it is assumed that the first terminal is a vehicle-mounted system and the second terminal is a user mobile terminal, such as a mobile phone. Exemplarily, the service terminal determines the user's operation by detecting the data uploaded by the vehicle-mounted system and the mobile phone. When it is detected that the user is operating a game on the mobile phone, the channel between the mobile phone and the cloud server is used as the main channel, and the channel between the vehicle-mounted system and the cloud server is used as the secondary channel. The cloud server sends key data blocks to the mobile phone through the main channel and sends non-key data blocks to the vehicle system through the secondary channel. Normally, the vehicle-mounted system and the mobile phone also exchange data through a third data channel. The vehicle-mounted system and the mobile phone merge the key data and non-key data into complete data frames, and display them on the screen respectively. In special cases, even if the mobile phone and the vehicle are suddenly disconnected, the key data blocks received by the mobile phone can be merged into incomplete data frames in the above manner, and the incomplete data frames are displayed to the user for game operations.

[0141] Alternatively, when it is detected that the user is operating a game on the vehicle system (i.e., the in-vehicle screen), the channel between the in-vehicle system and the cloud server is used as the main channel. The cloud server sends key data blocks to the in-vehicle system through the main channel and sends non-key data blocks to the mobile phone through the secondary channel. Normally, the in-vehicle system and the mobile phone also exchange data through a third data channel. The in-vehicle system and the mobile phone respectively merge the key data and non-key data into complete data frames and display them on the screen respectively. In special circumstances, even if the mobile phone and the in-vehicle system are suddenly disconnected, the key data blocks received by the in-vehicle system can be merged into incomplete data frames in the above manner, and the incomplete data frames can be displayed to the user for game operations. In this way, even if the connection between the mobile phone and the in-vehicle system suddenly becomes unstable, the user's basic game operations can be guaranteed.

[0142] For example, the service terminal detects the bumps of the vehicle system in real time. When it is detected that the vehicle is bumpy to a large extent, the channel between the mobile phone and the cloud server is used as the main channel, and the channel between the vehicle system and the cloud server is used as the secondary channel. The cloud server sends key data blocks to the mobile phone through the main channel, and sends non-key data blocks to the vehicle system through the secondary channel. In this case, even if the mobile phone and the vehicle system are suddenly disconnected, the key data blocks received by the mobile phone can be merged into incomplete data frames in the above manner, and the incomplete data frames are displayed to the user for game operations. In this way, even if the connection between the mobile phone and the vehicle system suddenly becomes unstable, the user's basic game operations can be guaranteed.

[0143] By adopting the technical means of the embodiments of the present invention, the terminal selects a corresponding merging method to merge the data blocks based on the number of data frames not displayed in the frame buffer and the reception status of the key data blocks and non-key data blocks of the current data frames to be merged, thereby achieving a balance between fluency and completeness.

[0144] As a preferred implementation, the embodiment of the present invention is further implemented on the basis of any of the above embodiments, and the method further includes:

[0145] receiving a user operation instruction input by a user and / or a user operation instruction transmitted by the second terminal through the third data channel;

[0146] The operation instruction is sent to the server through the first data channel.

[0147] In the embodiment of the present invention, the user can perform relevant operations on the first terminal, and when the first terminal receives the user operation instruction, it uploads the user operation instruction to the server through the first data channel for processing. The user can also perform relevant operations on the second terminal, and when the second terminal receives the user operation instruction, it uploads the user operation instruction to the server through the second data channel for processing.

[0148] Of course, the first terminal and the second terminal can agree on a target data channel to uniformly upload user operation instructions. For example, with the first data channel as the target data channel, the user can still operate on the first terminal or the second terminal. When the second terminal directly receives the user operation instruction, the user operation instruction is sent to the first terminal through the third data channel. When the first terminal directly receives the user operation instruction, or receives the user operation instruction sent by the second terminal through the third data channel, the user operation instruction is uploaded to the server through the target data channel.

[0149] It should be noted that the communication data transmission method applied to the first terminal provided in the embodiment of the present invention can also be applied to the second terminal, which will not be described in detail here.

[0150] It should be noted that the communication data transmission method applied to the first terminal provided in the embodiment of the present invention corresponds one to one with all the process steps of the communication data transmission method applied to the server side in the above embodiment, and the working principles and beneficial effects of the two are the same, so they will not be repeated here.

[0151] See also Figure 4 , is a schematic diagram of the structure of a communication data transmission device provided by an embodiment of the present invention. The embodiment of the present invention further provides a communication data transmission device 30, which is applied to a server. The device 30 includes:

[0152] A data channel establishing module 31, configured to establish a first data channel with a first terminal and a second data channel with a second terminal;

[0153] A primary and secondary channel determining module 32, configured to determine a primary channel and a secondary channel in the first data channel and the second data channel according to the usage status information of the first terminal and / or the second terminal;

[0154] The data segmentation module 33 is used to segment the communication data to be sent into a plurality of data blocks;

[0155] A data block allocation module 34, configured to allocate the primary channel or the secondary channel as a target channel for each of the data blocks;

[0156] The data block transmission module 35 is used to transmit the data block through the corresponding target channel.

[0157] As a preferred implementation, the usage status information includes at least one of the following: network quality, user operation status, and the degree of turbulence in the environment;

[0158] The primary and secondary channel determination module 32 is specifically used for:

[0159] A main channel and a secondary channel are determined in the first data channel and the second data channel according to the network quality of the first terminal and / or the second terminal, the user operation situation and / or the degree of turbulence in the environment.

[0160] More preferably, the primary and secondary channel determination module 32 is specifically used for:

[0161] detecting network quality of the first data channel and the second data channel;

[0162] The data channel with better network quality between the first data channel and the second data channel is determined as a main channel, and the other data channel is determined as a secondary channel;

[0163] or;

[0164] detecting user operation conditions of the first terminal and the second terminal;

[0165] Determine the data channel corresponding to the terminal receiving the user operation instruction among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel;

[0166] or;

[0167] Detecting turbulence data of the environment where the first terminal and the second terminal are located, and evaluating the degree of turbulence according to the turbulence data; wherein the turbulence data includes the turbulence amplitude and / or the number of turbulences within the detection time period;

[0168] Determine the data channel corresponding to the terminal in an environment with a smaller degree of turbulence among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel;

[0169] or;

[0170] detecting turbulence data of an environment where the first terminal is located, and evaluating the degree of turbulence according to the turbulence data; the first terminal is a vehicle-mounted system;

[0171] When the turbulence degree is less than or equal to a preset turbulence degree threshold, determining the first data channel as a main channel and determining the second data channel as a secondary channel;

[0172] When the jolting degree is greater than a preset jolting degree threshold, the first data channel is determined as a secondary channel, and the second data channel is determined as a primary channel.

[0173] As a preferred implementation, the data segmentation module 33 is specifically used for:

[0174] Dividing the communication data to be sent into a plurality of data blocks according to a preset classification standard, and marking each of the data blocks with a different type;

[0175] The data block allocation module 34 is specifically used for:

[0176] According to the type of each of the data blocks, the primary channel or the secondary channel is allocated to the data block as a target channel.

[0177] As a preferred implementation, the classification criteria include at least one of the following: user interest, criticality, and spatial dimension; the types of user interest include user interest and user non-interest, the types of criticality include critical and non-critical, and the types of spatial dimension include foreground and background;

[0178] The data block allocation module 34 is specifically used for:

[0179] When the data block is a user-interested data block, a key data block or a foreground data block, the primary channel is allocated to the data block as a target channel, otherwise, the secondary channel is allocated to the data block as a target channel;

[0180] When the type of the data block is a key data block, a redundant copy data block is generated for the data block, and the secondary channel is allocated to the redundant copy data block as a target channel.

[0181] It should be noted that the transmission device for a type of communication data applied to a server provided in an embodiment of the present invention is used to execute all the process steps of the transmission method for a type of communication data applied to a server in the above embodiment. The working principles and beneficial effects of the two correspond one to one, and thus will not be described in detail.

[0182] See also Figure 5 , is a schematic diagram of the structure of another communication data transmission device provided in an embodiment of the present invention. The embodiment of the present invention also provides another communication data transmission device 40, which is applied to a first terminal, and the device 40 includes:

[0183] A data channel establishing module 41, used to establish a first data channel with the server and a third data channel with the second terminal;

[0184] The data block receiving module 42 is used to receive the data block sent by the server using the first data channel as the target channel; wherein the server determines the first data channel and the second data channel between itself and the second terminal as the main channel and the secondary channel according to the usage status information of the first terminal and / or the second terminal, and divides the communication data to be sent into a plurality of data blocks and allocates the main channel or the secondary channel as the target channel for each of the data blocks;

[0185] The data block sending module 43 is used to send the data block sent by the server to the second terminal through the third data channel, and / or receive the data block sent by the second terminal through the third data channel.

[0186] As a preferred embodiment, the device further comprises:

[0187] The data merging module 44 is used to merge multiple data blocks of the same frame into a data frame after receiving the data block sent by the server and / or the second terminal, and store it in the frame buffer in sequence.

[0188] Preferably, the data merging module 44 is specifically used for:

[0189] When the number of data frames in the frame buffer is less than a preset threshold,

[0190] If the key data blocks and non-key data blocks of the target frame are received, the data blocks of the target frame are merged to form a complete data frame, and stored in the frame buffer;

[0191] If only the key data blocks of the target frame are received, the data blocks of the target frame are merged to form an incomplete data frame, which is stored in the frame buffer, and when the non-key data blocks of the target frame are subsequently received, the non-key data blocks are discarded;

[0192] If only non-critical data blocks of the target frame are received, the key data blocks of the target frame are waited to be received before merging to form a completed data frame, which is stored in the frame buffer.

[0193] It should be noted that the transmission device for a type of communication data applied to a first terminal provided in an embodiment of the present invention is used to execute all the process steps of the transmission method for a type of communication data applied to a first terminal in the above embodiment. The working principles and beneficial effects of the two correspond one to one, and thus will not be repeated herein.

[0194] See also Figure 6 , is a structural diagram of a communication data transmission device provided in an embodiment of the present invention. The embodiment of the present invention also provides a communication data transmission device 50, including a processor 51, a memory 52, and a computer program stored in the memory and configured to be executed by the processor, and when the processor executes the computer program, it implements the communication data transmission method described in any one of the above embodiments.

[0195] An embodiment of the present invention further provides a computer-readable storage medium, which includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute the communication data transmission method as described in any one of the above embodiments.

[0196] An embodiment of the present invention further provides a computer program product, which includes a computer program or computer instructions. When the computer program or the computer instructions are executed by a processor, the communication data transmission method described in any one of the above embodiments is implemented.

[0197] A person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0198] The above is a preferred embodiment of the present invention. It should be pointed out that a person skilled in the art can make several improvements and modifications without departing from the principle of the present invention. These improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. A method for transmitting communication data, characterized in that: Applied to the server, the method includes: Establishing a first data channel with the first terminal and a second data channel with the second terminal; Determining a primary channel and a secondary channel in the first data channel and the second data channel according to the usage status information of the first terminal and / or the second terminal; Divide the communication data to be sent into a number of data blocks; Allocating the primary channel or the secondary channel as a target channel for each of the data blocks; The data block is transmitted through the corresponding target channel.

2. The method for transmitting communication data according to claim 1, wherein: The usage status information includes at least one of the following: network quality, user operation status, and the degree of turbulence in the environment; The determining, according to the usage status information of the first terminal and / or the second terminal, a primary channel and a secondary channel in the first data channel and the second data channel comprises: detecting network quality of the first data channel and the second data channel; The data channel with better network quality between the first data channel and the second data channel is determined as a main channel, and the other data channel is determined as a secondary channel; or; detecting user operation conditions of the first terminal and the second terminal; Determine the data channel corresponding to the terminal receiving the user operation instruction among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel; or; Detecting turbulence data of the environment where the first terminal and the second terminal are located, and evaluating the degree of turbulence according to the turbulence data; wherein the turbulence data includes the turbulence amplitude and / or the number of turbulences within the detection time period; Determine the data channel corresponding to the terminal in an environment with a smaller degree of turbulence among the first data channel and the second data channel as a main channel, and determine the other data channel as a secondary channel; or; detecting turbulence data of an environment where the first terminal is located, and evaluating the degree of turbulence according to the turbulence data; the first terminal is a vehicle-mounted system; When the turbulence degree is less than or equal to a preset turbulence degree threshold, determining the first data channel as a main channel and determining the second data channel as a secondary channel; When the jolting degree is greater than a preset jolting degree threshold, the first data channel is determined as a secondary channel, and the second data channel is determined as a primary channel.

3. The method for transmitting communication data according to claim 1, wherein: The step of dividing the communication data to be sent into a plurality of data blocks comprises: Dividing the communication data to be sent into a plurality of data blocks according to a preset classification standard, and marking each of the data blocks with a different type; Then allocating the primary channel or the secondary channel as the target channel for each of the data blocks includes: According to the type of each of the data blocks, the primary channel or the secondary channel is allocated to the data block as a target channel.

4. The method for transmitting communication data according to claim 3, wherein: The classification criteria include at least one of the following: user interest, criticality, and spatial dimension; the types of user interest include user interest and user non-interest, the types of criticality include critical and non-critical, and the types of spatial dimension include foreground and background; The allocating the primary channel or the secondary channel as the target channel for each data block according to the type of the data block comprises: When the data block is a user-interested data block, a key data block or a foreground data block, the primary channel is allocated to the data block as a target channel, otherwise, the secondary channel is allocated to the data block as a target channel; When the type of the data block is a key data block, a redundant copy data block is generated for the data block, and the secondary channel is allocated to the redundant copy data block as a target channel.

5. A method for transmitting communication data, characterized in that: Applied to a first terminal, the method includes: Establishing a first data channel with the server and a third data channel with the second terminal; receiving a data block sent by the server using the first data channel as a target channel; wherein the server determines the first data channel and the second data channel between itself and the second terminal as a main channel and a secondary channel according to the usage status information of the first terminal and / or the second terminal, and divides the communication data to be sent into a plurality of data blocks and assigns a main channel or a secondary channel as a target channel to each of the data blocks; The data block sent by the server is sent to the second terminal through the third data channel, and / or the data block sent by the second terminal through the third data channel is received.

6. The method for transmitting communication data according to claim 5, characterized in that: The method further comprises: After receiving the data blocks sent by the server and / or the second terminal, multiple data blocks of the same frame are merged to form a data frame, and are stored in the frame buffer in sequence.

7. The method for transmitting communication data according to claim 6, wherein: The step of merging multiple data blocks of the same frame into a data frame and storing the data frames in sequence in a frame buffer includes: When the number of data frames in the frame buffer is less than a preset threshold, If the key data blocks and non-key data blocks of the target frame are received, the data blocks of the target frame are merged to form a complete data frame, and stored in the frame buffer; If only the key data blocks of the target frame are received, the data blocks of the target frame are merged to form an incomplete data frame, which is stored in the frame buffer, and when the non-key data blocks of the target frame are subsequently received, the non-key data blocks are discarded; If only non-critical data blocks of the target frame are received, the key data blocks of the target frame are waited to be received before merging to form a completed data frame, which is stored in the frame buffer.

8. A communication data transmission device, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the method for transmitting communication data according to any one of claims 1 to 7 is implemented.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein when the computer program is executed, the device where the computer-readable storage medium is located is controlled to execute the communication data transmission method according to any one of claims 1 to 7.

10. A computer program product, characterized in that The computer program product comprises a computer program or a computer instruction, and when the computer program or the computer instruction is executed by a processor, the method for transmitting communication data according to any one of claims 1 to 7 is implemented.