Data transmission method, device, storage medium and electronic equipment

文档序号:276520 发布日期:2021-11-19 浏览:6次 中文

阅读说明:本技术 数据传输方法、装置、存储介质及电子设备 (Data transmission method, device, storage medium and electronic equipment ) 是由 岳培锋 许天国 于 2021-07-19 设计创作,主要内容包括:本申请实施例公开了一种数据传输方法、装置、存储介质及电子设备,其中,方法包括:获取当前的通信网络质量和屏幕显示数据,确定针对快速用户数据报协议互联网连接的至少一个数据传输通道;将所述屏幕显示数据通过所述至少一个数据传输通道传输至接收设备。采用本申请实施例,可以提高数据传输的效率。(The embodiment of the application discloses a data transmission method, a data transmission device, a storage medium and electronic equipment, wherein the method comprises the following steps: acquiring the current communication network quality and screen display data, and determining at least one data transmission channel for the fast user datagram protocol internet connection; and transmitting the screen display data to a receiving device through the at least one data transmission channel. By adopting the embodiment of the application, the data transmission efficiency can be improved.)

1. A method of data transmission, the method comprising:

acquiring current screen display data, and determining at least one data transmission channel for the fast user datagram protocol internet connection;

and opening the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel.

2. The method of claim 1, wherein determining at least one data transmission channel for a fast user datagram protocol internet connection comprises:

determining the number of transmission channels for the fast user datagram protocol internet connection based on the current communication network quality and/or screen display data;

and determining the data transmission channel indicated by the transmission channel number.

3. The method of claim 2, wherein determining the number of transmission channels for the fast user datagram protocol internet connection based on the current communication network quality and the screen display data comprises:

determining data attributes corresponding to the screen display data and determining quality quantification parameters for communication network quality;

and acquiring the number of transmission channels which are matched with the data attribute and the quality quantization parameter and aim at the fast user datagram protocol Internet connection.

4. The method of claim 1, wherein transmitting the screen display data to a receiving device via the at least one data transmission channel comprises:

dividing the screen display data into at least one data packet according to data attributes, and transmitting each data packet to receiving equipment through at least one data transmission channel;

wherein the data attribute comprises at least one of data information amount, data application type and data service scene.

5. The method of claim 4, wherein transmitting each of the data packets to a receiving device via the at least one data transmission channel comprises:

and determining a data transmission channel corresponding to each data packet, and transmitting the data packet to receiving equipment through the data transmission channel corresponding to each data packet.

6. The method according to claim 5, wherein said transmitting the data packet to a receiving device through the data transmission channel corresponding to each data packet comprises:

determining the last historical data packet of each data packet, and determining the data difference degree of the historical data packet and the data packet;

determining a data transmission channel corresponding to each data packet based on each data difference degree;

and transmitting the data packets to receiving equipment through the data transmission channel corresponding to each data packet.

7. The method of claim 1, further comprising:

and acquiring data transmission attributes corresponding to the data transmission channels, and performing resource scheduling processing on the data transmission channels based on the data transmission attributes.

8. The method of claim 7, wherein the performing resource scheduling processing on the data transmission channel based on the data transmission attribute comprises:

acquiring data transmission attributes corresponding to the data transmission channels, wherein the data transmission attributes comprise at least one of data transmission types, data transmission amounts and data service grades;

determining a resource scheduling level for the data transmission channel based on the data transmission attribute, and allocating the device processing resource corresponding to the resource scheduling level to the data transmission channel.

9. The method of claim 1, further comprising:

monitoring channel transmission quality corresponding to each data transmission channel, and determining a first transmission channel based on the channel transmission quality:

and carrying out channel configuration adjustment on the first transmission channel.

10. The method of claim 9, wherein the channel configuration adjustment of the first transmission channel comprises:

carrying out communication adjustment processing on the communication working mode of the first transmission channel; and/or the presence of a gas in the gas,

and performing resource scheduling processing on the processing resources of the first data transmission channel.

11. The method according to claim 10, wherein the performing communication adjustment processing on the communication operation mode of the first transmission channel includes:

acquiring at least one network communication mode aiming at the rapid user datagram protocol Internet connection, and determining the communication network quality of each network communication mode; the network communication mode is different from the current corresponding communication working mode of the first transmission channel;

determining a target network communication mode according to the communication network quality of each network communication mode;

and switching the first transmission channel from the communication working mode to the target network communication mode.

12. The method of claim 1, wherein after transmitting the screen display data to a receiving device via the at least one data transmission channel, further comprising:

monitoring the data packet transmission state of each data transmission channel when transmitting the screen display data;

if the second transmission channel is in a data packet loss state, determining a target data packet of the second transmission channel packet loss;

and carrying out data retransmission on the target data packet by adopting a third transmission channel.

13. The method of claim 12, wherein the retransmitting the target data packet using a third transmission channel comprises:

determining a third transmission channel except the second transmission channel from each data transmission channel, and performing data retransmission on the target data packet by adopting the third transmission channel; and/or the presence of a gas in the gas,

and establishing a fourth transmission channel for the Internet connection of the fast User Datagram Protocol (UDP) with the receiving equipment, and performing data retransmission on the target data packet by adopting the fourth transmission channel.

14. The method according to claim 1, characterized in that it comprises:

obtaining network address translation information for a receiving device from a server;

establishing a fast user datagram protocol internet connection with a receiving device based on the network address translation information.

15. A computer storage medium, characterized in that it stores a plurality of instructions adapted to be loaded by a processor and to carry out the method steps according to any one of claims 1 to 14.

16. An electronic device, comprising: a processor and a memory; wherein the memory stores a computer program adapted to be loaded by the processor and to perform the method steps of any of claims 1 to 14.

Technical Field

The present application relates to the field of computer technologies, and in particular, to a data transmission method and apparatus, a storage medium, and an electronic device.

Background

With the rapid development of the internet, especially the mobile internet, it is a basic requirement in many application scenarios to transmit data such as audio, video, and image in real time through the internet, for example, data on a device such as a mobile phone can be transmitted to another device for data display; to meet this requirement, data transmission can be guaranteed by using a data real-time transmission technology (such as a real-time transmission technology based on a transmission control protocol) in the related art.

Disclosure of Invention

The embodiment of the application provides a data transmission method, a data transmission device, a storage medium and electronic equipment, and the technical scheme is as follows:

in a first aspect, an embodiment of the present application provides a data transmission method, where the method includes:

acquiring current screen display data, and determining at least one data transmission channel for the fast user datagram protocol internet connection;

and opening the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel.

In a second aspect, an embodiment of the present application provides a data transmission apparatus, where the apparatus includes:

the channel determining module is used for acquiring current screen display data and determining at least one data transmission channel for the fast user datagram protocol Internet connection;

and the data transmission module is used for opening the at least one data transmission channel and transmitting the screen display data to the receiving equipment through the at least one data transmission channel.

In a third aspect, embodiments of the present application provide a computer storage medium storing a plurality of instructions adapted to be loaded by a processor and to perform the above-mentioned method steps.

In a fourth aspect, an embodiment of the present application provides an electronic device, which may include: a processor and a memory; wherein the memory stores a computer program adapted to be loaded by the processor and to perform the above-mentioned method steps.

The beneficial effects brought by the technical scheme provided by some embodiments of the application at least comprise:

in one or more embodiments of the present application, an electronic device obtains current screen display data and then determines at least one data transmission channel for a fast user datagram protocol internet connection before transmitting the data; and then opening the at least one data transmission channel, and transmitting the screen display data to the receiving equipment through the at least one data transmission channel. The data transmission method and the data transmission system can realize real-time determination of data transmission channels with corresponding quantity based on actual data transmission environment, improve the efficiency of data transmission, avoid the problem of low automation degree caused by transmission in a fixed transmission mode (such as a fixed data transmission channel) in the whole data transmission process, and simultaneously improve the speed of data transmission.

Drawings

In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative work.

Fig. 1 is a schematic flowchart of a data transmission method according to an embodiment of the present application;

fig. 2 is a schematic flowchart of another data transmission method provided in an embodiment of the present application;

fig. 3 is a schematic flowchart of another data transmission method provided in an embodiment of the present application;

fig. 4 is a schematic flowchart of another data transmission method provided in the embodiment of the present application;

fig. 5 is a schematic flowchart of another data transmission method provided in an embodiment of the present application;

fig. 6 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application;

fig. 7 is a schematic structural diagram of a channel determination module according to an embodiment of the present application;

fig. 8 is a schematic structural diagram of a channel number determination unit provided in an embodiment of the present application;

fig. 9 is a schematic structural diagram of another data transmission device provided in an embodiment of the present application;

fig. 10 is a schematic structural diagram of an electronic device provided in an embodiment of the present application;

FIG. 11 is a schematic structural diagram of an operating system and a user space provided in an embodiment of the present application;

FIG. 12 is an architectural diagram of the android operating system of FIG. 10;

FIG. 13 is an architectural diagram of the IOS operating system of FIG. 10;

Detailed Description

The technical solutions in the embodiments of the present application will be described below clearly and completely with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.

In the description of the present application, it is to be understood that the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. In the description of the present application, it is noted that, unless explicitly stated or limited otherwise, "including" and "having" and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus. The specific meaning of the above terms in the present application can be understood in a specific case by those of ordinary skill in the art. In addition, in the description of the present application, "a plurality" means two or more unless otherwise specified. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.

The present application will be described in detail with reference to specific examples.

In one embodiment, as shown in fig. 1, a data transmission method is proposed, which can be implemented in dependence on a computer program, which can be run on a data transmission device based on the von neumann architecture. The computer program may be integrated into the application or may run as a separate tool-like application. The data transmission device may be an electronic device, and the receiving device and the electronic device include but are not limited to: personal computers, tablet computers, handheld devices, in-vehicle devices, wearable devices, computing devices or other processing devices connected to a wireless modem, and the like. The terminal devices in different networks may be called different names, for example: user equipment, access terminal, subscriber unit, subscriber station, mobile station, remote terminal, mobile device, user terminal, wireless communication device, user agent or user equipment, cellular telephone, cordless telephone, equipment in a 5G network or future evolution network, and the like.

Specifically, the data transmission method includes:

s101: acquiring current screen display data, and determining at least one data transmission channel for fast user datagram protocol internet connection;

in practical applications, a part or all of a display interface in a screen of one terminal can be displayed in another terminal device with a display screen through a data transmission means between different devices, wherein a terminal that needs to display a display screen in another device can be called a screen projection device, and a terminal that receives a screen projection screen of the screen projection device is called a receiving device.

In this embodiment, the screen projecting device may be a mobile terminal, a computer device or other terminals, and the receiving device may be a display screen with a communication function, a mobile terminal, a computer device or other devices configured with a display screen.

In the application, the electronic device can be used as the screen projection device, and the screen display data to be transmitted at present is sent to the receiving device by adopting the data transmission scheme related by the application. Furthermore, the receiving device can display the screen display data after receiving the screen display data, and the data transmission method can be applied to service scenes such as data screen projection, media live broadcast, video conference and the like.

The screen display data is data corresponding to content (all or part of content) displayed in a screen display area of the electronic device. Further, the content displayed in the display area may be all content embodied in the display screen of the electronic device. Further, the content displayed in the display area is display content with a specific meaning on the electronic device, and the "display content with a specific meaning" can be set by the user in a self-defined manner. For example, content in a window of a currently running application, or content in a window of a background running application, etc.

The fast User Datagram Protocol internet connection is also referred to as fast UDP (User Datagram Protocol) internet connection, and the fast User Datagram Protocol internet connection is a transmission Protocol for realizing multiplexing and security protection based on UDP. A sending end (such as electronic equipment) can adopt QUIC connection to transmit data, such as screen display data transmission, the QUIC connection is required to be established with a receiving end firstly, then the data to be transmitted is processed, a plurality of QUIC data packets which need to be transmitted based on the QUIC connection are generated, the packet head of each QUIC data packet carries a data packet sequence number, and finally the QUIC data packets are sequentially sent to the receiving end through the established QUIC connection according to the sequence number of the data packets from small to large. In the related art, a fixed data transmission channel is usually preset when a QUIC connection is established, for example, a transmission channel 1 for transmitting multimedia data (such as audio/video data) and a transmission channel 2 for transmitting instruction data are arranged in a transmission layer. In this way, there is a great limitation, and in the process of transmitting the service data, the data attribute of the service data usually shows a nonlinear change, for example, the data volume of the service data increases sharply at a certain time, and in the actual application scenario, the following methods in the related art are adopted: on one hand, when a network traffic emergency (such as a sudden increase of data volume and network jitter) occurs, the situations of network congestion, stream pushing and blocking exist, and the efficiency of data transmission is low. On the other hand, maintaining a fixed number of data transmission channels in the data transmission process may also cause waste of device resources for maintaining the data transmission channels, and the resource utilization rate of data transmission is low.

In the application, the current screen display data can be obtained in real time, and then at least one data transmission channel for the Internet connection of the fast user datagram protocol is determined; that is, instead of using a fixed data transmission channel in the whole data transmission period, a corresponding number of data transmission channels based on the QUIC are determined according to the actual application at each time point, for example, the time point a determines that the transmission is performed by 10 data transmission channels, and the time point B determines that the transmission is performed by 2 data transmission channels. Therefore, the data transmission of the current screen display is guaranteed, and the data transmission efficiency is improved.

In addition, in the present application, when the number of the determined data transmission channels is multiple, each data transmission channel based on the QUIC may use the same or different communication modes to perform channel forwarding establishment, where the communication mode may be a wireless data network (e.g., a 5G network), a local area network, a peer-to-peer network, a bluetooth network, a zigbee communication network, and so on.

In one possible embodiment, after acquiring the current screen display data, the "determining at least one data transmission channel for the QUIC connection" may be based on data attributes of the screen display data, wherein the data attributes may be used to characterize a fit of one or more of the amount of data information, the type of data application, the data traffic scenario, and the like of the screen display data. And determining to adopt different numbers of data transmission channels to carry out data transmission aiming at the current screen display data according to different current data attributes.

Further, a channel mapping relationship between a reference data attribute and "reference number of data transmission channels" may be established in advance, where the reference data attribute may be one or a combination of more of the above-mentioned data information amount, data application type, data service scenario, and the like. That is, different combinations of reference data attributes correspond to different "reference numbers of data transmission channels". The channel mapping relationship may be represented in the form of a channel number mapping set, a channel number mapping list, a channel number mapping array, or the like.

In the actual application stage, only after the current screen display data is acquired, the data attribute of the screen display data is determined, for example, the data information amount of the current screen display data is determined. And then retrieving the target number of data transmission channels matched with the data attribute of the screen display data based on the channel mapping relation.

In addition, the specific meaning of the foregoing "reference number of data transmission channels" includes one or more fitting of channel configurations such as the number of data transmission channels, the type of each data transmission channel, the communication mode (such as a wireless network, a bluetooth network, etc.) of each data transmission channel, the identification of the data transmission channel, etc., which can be determined based on the actual application.

In one particular implementation scenario, an electronic device may employ a communication means, such as a peer-to-peer network and/or a local area network, to establish a fast user datagram protocol internet connection, or QUIC, with a receiving device. Further, the QUIC connection is not limited to the first connection between the electronic device and the receiving device in the present application, and may be the ith connection after the first connection, i being an integer greater than 1.

In one possible embodiment, after acquiring the current screen display data, the "determining at least one data transmission channel for the QUIC connection" may be based on communication environment parameters of the communication networks supported by the electronic device, determining communication network quality of the supported communication networks based on the communication environment parameters, and thus determining the corresponding number of QUIC-based data transmission channels based on the communication network quality.

Specifically, the electronic device may monitor communication environment parameters of the supported communication networks, and determine communication quality of the communication networks based on the communication environment parameters. The channel mapping relationship between the reference communication quality and the reference number of data transmission channels is established in advance, that is, different communication qualities correspond to different reference number of data transmission channels. The channel mapping relationship may be represented in the form of a channel number mapping set, a channel number mapping list, a channel number mapping array, or the like.

In practical applications, the communication environment parameter may be Reference Signal Receiving Power (RSRP), Received Signal Code Power (RSCP) of the supported communication network, the communication quality of the supported communication network is evaluated by at least one of parameters such as a Ratio (EcIo) of received chip Signal strength to Noise strength of a received Signal, a Ratio (EcNo) of power PER modulation Bit to Noise spectral density, a Signal-to-Noise Ratio (SNR), a Reference Signal Reception Quality (RSRQ), a Bit Error Rate (BER) of a received Signal, a block Error Rate (blocker Rate, BLER), a Packet Error Rate (Packet Error Rate, PER), and the like, and may be evaluated by measuring other parameters.

Optionally, determining the communication quality of the supported communication network based on the communication environment parameter may be: determining a communication quality score, that is, a communication quality score based on a communication environment parameter; it may be that the communication quality rating is determined, that is to say based on a communication environment parameter.

A communication quality score/communication quality rating calculation method may be to set reference parameter characteristics (such as a reference indication value, a reference indication range, a reference indication distance, and the like) for each communication environment parameter, calculate difference characteristic information (such as a difference communication parameter value) for each adopted communication environment parameter and its corresponding parameter characteristic, score according to the difference characteristic information, and set a rating level when performing the rating according to the difference characteristic information, for example, set three levels: level a > level B > level C, defined by the above parameters including two communication parameters: and calculating a difference communication value a of the communication environment parameter A1 and the reference indication value A, and taking the score corresponding to the grade B as the current communication quality score when the difference communication value a reaches the value corresponding to the grade B.

In the actual application stage, after the current communication quality score is obtained, the target number of data transmission channels matched with the communication quality score are searched based on the channel mapping relation.

S102: and opening the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel.

Specifically, after determining at least one data transmission channel to be opened, the at least one data transmission channel needs to be opened, and the process of "opening the at least one data transmission channel" may be understood as: by the configuration of the data transmission channels, the data transmission channel corresponding to the QUIC connection is controlled to be the determined "at least one data transmission channel", including but not limited to controlling the data transmission channel corresponding to the QUIC connection to be a determined number, controlling each data transmission channel corresponding to the QUIC connection to be a data transmission channel of a specified type, controlling each data transmission channel corresponding to the QUIC connection to adopt a corresponding communication mode (such as a wireless network, a bluetooth network, etc.), and so on, that is, the process of "turning on the at least one data transmission channel" is a channel configuration process (such as channel number configuration, channel type configuration, communication mode configuration of channels, etc.) for the determined at least one data transmission channel, in some embodiments, if the first channel number indicated by the "at least one data transmission channel" is not consistent with the second channel number of the QUIC connection currently maintained, the process of "opening the at least one data transmission channel" may be understood as: the QUIC connection is adjusted to a first number of channels indicated by the "at least one data transmission channel".

Specifically, data transmission is performed on screen display data by using "at least one data channel", data packetization (which may be understood as performing data encoding and packetization on source data) may be performed on the screen display data to form a data packet or a data packet based on a service data protocol, for example, for a screen projection scenario, source load data generation may be performed by using a method such as RTP (real-time transport protocol) packetization and TS (transport stream) packetization based on an audio/video protocol, and then the source load data (i.e., the source data of the screen display data) is packetized. When source load data (namely source data of screen display data) is packaged, the head of a data message is encrypted, so that target screen equipment can verify the data message. . Specifically, the data packet formed by the packet includes a packet header and source load data, where the packet header includes information required in the packet transmission process, such as packet size, source address, destination address, and transmission protocol used; the source load data includes screen display data actually to be transmitted. When a packet forms a header, the header may be encrypted. By encrypting the header, if the data message is modified in the transmission process, the receiving equipment can discover the data message in time by verifying the header, thereby effectively reducing the security risk.

Further, in the related art, the QUIC protects each bulk data packet from encryption and authentication, and avoids using a forward dependent processing method, such as Cipher Block Chaining (CBC), so that each UDP packet can be independently encrypted or authenticated according to an initial Vector (Initialization Vector, IV). The QUIC employs a two-level key mechanism: an initial key and a session key. The initial connection is not encrypted and an initial key is negotiated. After the initial key negotiation is finished, the session key is immediately negotiated, so that the forward security of the key can be ensured, and then the key can be updated in the communication process. When the receiver realizes that a new key is updated, the receiver tries to decrypt the data by using the new key and the old key until success, the key is formally updated, otherwise, the old key is kept valid.

In the embodiment of the application, the electronic equipment acquires current screen display data, and then determines at least one data transmission channel for the Internet connection of a fast user datagram protocol (RTP) before transmitting the data; and then starting the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel. The data transmission method and the data transmission system have the advantages that the data transmission can be carried out by determining the corresponding number of data transmission channels in real time based on the actual data transmission environment, the efficiency of data transmission is improved, the problem of low automation degree caused by the fact that a fixed transmission mode (such as a fixed data transmission channel) is adopted for transmission in the whole data transmission process is solved, and meanwhile, the speed of data transmission is improved.

Referring to fig. 2, fig. 2 is a schematic flowchart illustrating another embodiment of a data transmission method according to the present application. Specifically, the method comprises the following steps:

s201: and acquiring current screen display data.

See S101 for details, which are not described herein.

S202: the number of transmission channels for the RTP Internet connection is determined based on current communication network quality and/or screen display data.

According to some embodiments, the electronic device may determine a data attribute to which the screen display data corresponds, and determine a quality quantification parameter for a quality of the communication network;

the data attribute can be used for representing one or more fitting of data information quantity, data application type, data service scene and the like of the screen display data.

Alternatively, the electronic device may determine the number of transmission channels for the fast user datagram protocol internet connection based only on the data attributes corresponding to the screen display data. See step S101 for details. And will not be described in detail herein.

Alternatively, the electronic device may determine the number of transmission channels for the fast user datagram protocol internet connection based only on determining a quality quantization parameter for the quality of the communication network. The quality quantifying parameter may be a communication quality score/communication quality rating, see step S101. And will not be described in detail herein.

Alternatively, the electronic device may collectively determine a number of transmission channels for a fast user datagram protocol internet connection based on the data attributes and the quality quantization parameter. In practical implementation, a channel mapping relationship between a reference data attribute and reference quality quantization parameter and a reference number of data channels is created in advance, and in an actual application stage, only after the current data attribute and quality quantization parameter are acquired, a target number of data transmission channels matched with the data attribute of the screen display data are indexed based on the channel mapping relationship. The indexing method may be to calculate the similarity between the "data attribute and quality quantization parameter" and each group of "reference data attribute and reference quality quantization parameter", and select a group of "reference data attribute and reference quality quantization parameter" with the highest similarity as the matching result, so as to obtain the indicated target number of data transmission channels. Thus, the step of obtaining the number of transmission channels for the fast user datagram protocol internet connection matched with the data attribute and the quality quantization parameter can be completed.

In a possible embodiment, in the present application, a neural network may also be introduced to determine the number of transmission channels for the fast user datagram protocol internet connection in combination with the "reference data attribute and the reference quality quantization parameter".

In specific implementation, the electronic device may input the acquired "data attribute and quality quantization parameter" to the trained channel number determination model, and output "the number of transmission channels for the QUIC connection". The method comprises the steps of obtaining sample data (a large number of data samples containing reference data attributes and reference quality quantization parameters) in an actual application environment, extracting characteristic information, carrying out quantity marking on ' transmission channel calibration quantity aiming at QUIC connection ' corresponding to the sample data, wherein the characteristic information contains the reference data attributes and the reference quality quantization parameters ', and creating a channel quantity determination model. The channel number determination model may be trained by using a large number of samples, for example, the channel number determination model may be implemented based on at least one of a Convolutional Neural Network (CNN) model, a Deep Neural Network (DNN) model, a Recurrent Neural Network (RNN), an embedding (embedding) model, a Gradient Boosting Decision Tree (GBDT) model, and a Logistic Regression (LR) model, and the channel number determination model may be trained based on the number of labeled sample data, so that a trained channel number determination model may be obtained.

In the embodiment of the present application, the channel number determination model may create an initial model by using a hidden markov model (DNN-HMM model) introducing an error back propagation algorithm, and after extracting feature information of the sample data, input the feature information into the DNN-HMM model, a training process of the DNN-HMM model generally consists of two parts, namely, forward propagation and back propagation, in the forward propagation process, feature information corresponding to a data sample of an input sample, which contains a "reference data attribute and a reference quality quantization parameter", is transmitted from an input layer of the neural network model to an output layer after being operated by a transfer function (also called an activation function, a conversion function) of hidden layer neurons (also called nodes), wherein each layer of neuron states affects a next layer of neuron states, and an actual output value-abnormal information type is calculated at the output layer, calculating an expected error between the actual output value and an expected output value, adjusting parameters of the DNN-HMM model based on the expected error, wherein the parameters comprise a weight value and a threshold value of each layer, and generating a channel number determination model after training is completed.

S203: and determining the data transmission channels indicated by the number of the transmission channels, and starting at least one data transmission channel.

According to some embodiments, after determining at least one data transmission channel indicated by the number of transmission channels, the process of turning on the at least one data transmission channel indicated by the number of transmission channels "may be understood as: the process of controlling the data transmission channels corresponding to the QUIC connection to be the determined number of transmission channels, controlling the data transmission channels corresponding to the QUIC connection to be the data transmission channels of the specified type, controlling the data transmission channels corresponding to the QUIC connection to be the corresponding communication modes (such as wireless network, bluetooth network, etc.), and so on, that is, the process of "opening at least one data transmission channel indicated by the number of transmission channels" is a channel configuration process (such as channel number configuration, channel type configuration, communication mode configuration of channels, etc.) for the data transmission channels of the specified number, and in some embodiments, if the number of transmission channels is not consistent with the second number of channels of the QUIC connection currently maintained, the process of "opening the data transmission channels indicated by the number of transmission channels" may be understood as: the QUIC connection is adjusted to "the data transmission channel indicated by the number of transmission channels".

S204: dividing the screen display data into at least one data packet according to data attributes;

when the QUIC connection based on the QUIC transmission protocol transmits the screen display data, the electronic equipment can firstly divide the screen display data packet into a plurality of fragment data packets based on the data attribute, wherein the size of the fragment data packets is smaller than the maximum transmission unit specified by the QUIC transmission protocol.

It should be noted that, in the present application, the data packet repartitioning of the screen display data is used for rapidly transmitting the screen display data in a multi-transmission channel manner, so that the transmission efficiency is improved, and the transmission condition under a complex network environment can be coped with, so that the transmission is more stable. In this application, a "data packet mapping relationship between reference data attributes and reference number of data packets" may be set, and in practical applications, after determining the data attributes of the screen display data, for example, determining the data information amount and the data application type of the screen display data, the electronic device may match the target number of the data packets corresponding to the data attributes based on the "data packet mapping relationship between reference data attributes and reference number of data packets".

Wherein the data attribute comprises at least one of data information amount, data application type and data service scene. The data application type may be understood as a type in which the screen display data is divided according to the application type. The data service scene may be understood as a type in which the screen display data is divided according to the service scene, such as an audio-visual scene, a reading scene, and the like.

The reference data attribute is associated with a data attribute, including but not limited to a reference data information amount, a reference data application type, a reference data service scenario.

In the application, the screen display data are subjected to data transmission by adopting multi-channel data sub-packets, the sub-packet phase preferentially performs sub-packet reference based on the data attribute dimension of the screen display data, namely, the data sub-packets are performed only based on the screen display data in the whole process, then the data transmission channels are divided, and therefore the data transmission efficiency can be preferentially guaranteed.

S205: and transmitting each data packet to receiving equipment through the at least one data transmission channel.

Specifically, the electronic device may determine a data transmission channel corresponding to each data packet, and transmit the data packet to the receiving device through the data transmission channel corresponding to each data packet.

In a possible implementation manner, the electronic device may sequentially determine the data transmission channels according to the data generation timing sequence of each data packet; the electronic equipment can also distribute data transmission channels for each data packet in a random distribution mode; the electronic device may also allocate data transmission channels corresponding to priorities according to the data importance of the data packets, that is, each data transmission channel may determine a priority according to the different channel configurations, and the data packets with higher data importance use the data transmission channels with corresponding priorities for data transmission, and if the data importance is one level, use the data transmission channel with one level priority.

In the application, the data transmission channels of the data are divided from the dimension of the data stream to the dimension of the data packet, and the dimension is further refined; generally, transmitting all data packets through a certain data transmission channel is called a data stream, and in the related art, each data packet in the data stream is generally of the same type, such as video data stream, text data stream, and so on; however, in practical application, the loss of important data packets due to network jitter is easily caused, for example, when a packet loss rate of a certain channel is suddenly changed, the loss of important data packets in the same type of data stream is easily caused, which results in the abnormal operation of data services; in order to avoid the situation, the data is further refined to be accurate to the dimension of the data packet, and the fine granularity is higher; data packets in data streams passing through the same data transmission channel are usually not of the same type, and the data streams of the same type are usually transmitted in parallel by adopting different data transmission channels, so that the disaster tolerance capability of data transmission can be improved.

Optionally, when allocating a data transmission channel for an independent data packet, a transmission path may be determined for the current data packet in combination with a requirement of the data packet on channel transmission quality of the data transmission channel, where the channel transmission quality is determined based on at least one of parameters such as an error rate, a block error rate, and a time delay for the data transmission channel. The determination of the channel transmission quality corresponding to the data packet may be obtained by weighting based on the packet data attribute of the data packet, where the packet data attribute includes, but is not limited to, one or more of attribute parameters such as packet capacity, packet application type, packet service scene type, and the like. Different weighting factors are set for different types of data parameters, so that weighted numerical values are obtained, and corresponding parameters such as error rate, block error rate, time delay and the like are obtained based on the data. That is, the parameters corresponding to the reference values such as the error rate, the block error rate, and the time delay are set in advance based on the reference values with different weights.

In a possible implementation manner, the data difference degree for the data packet may be taken as a reference for data transmission, and in consideration of a screen data transmission scenario, there is usually a case where the data difference degree between two consecutive data packets is not large, for example, the information difference degree corresponding to two consecutive frames of screen data is usually not large, that is, a data transmission channel with high channel transmission quality may be adopted for the data packet with large information difference degree. Therefore, in the present application, the data transmission channel for the data packet may be determined by combining the data difference degree of two data packets in the screen number transmission scenario.

1. The electronic equipment determines the last historical data packet of the data packets transmitted through the data transmission channel, and determines the data difference degree of the historical data packet and the data packet;

illustratively, an identifier for a current data packet may be obtained based on a header of the data packet, and a last historical data packet of the data packet may be determined based on the identifier, in practical applications, it is usually only necessary to obtain the last historical data packet of a first data packet into which the on-screen display data is divided, and an ith (i is an integer greater than 1) data packet is usually a certain data packet in the on-screen display data.

And then determining the data difference degree between every two data packets, namely the data difference degree between the data packet and the previous historical data packet aiming at the data packet. And the data difference is obtained by calculating the data difference based on the source load data in every two data packets. Thereby determining the degree of data disparity for each packet at a time.

2. The electronic equipment determines a data transmission channel corresponding to each data packet based on the data difference degree;

further, the channel transmission quality of each data transmission channel may be determined, where the channel transmission quality may be determined based on at least one of parameters such as a bit error rate, an error rate, a block error rate, and a time delay, so that the transmission priority of the data transmission channel may be determined based on the channel transmission quality, and then the data transmission channel corresponding to the transmission priority based on the data difference of each data packet may be determined, where the data difference is positively correlated with the transmission priority, and the higher the data difference is, the higher the transmission priority is. Thereby determining the data transmission channel corresponding to each data packet.

3. And the electronic equipment transmits the data packet to the receiving equipment through the data transmission channel corresponding to each data packet.

In a specific implementation scenario, the electronic device transmits the screen display information to the receiving device, because the two devices are usually located under a firewall or NAT, when instant messaging information such as the screen display information is involved, for example, in a screen projection scenario for the screen display information, a relay device is not needed for direct communication between the electronic device and the receiving device. NAT (network address translation) traversal is involved.

Firstly, the electronic equipment acquires network address conversion information aiming at the receiving equipment from a server; the Network Address Translation information is used for the electronic device to perform Network Address Translation (NAT) traversal, and often includes data information such as Network protocol information, communication coding information, port information, and Address information related to the electronic device and the receiving device.

The electronic device establishes a fast user datagram protocol internet connection with the receiving device based on the network address translation information.

In specific implementation, the electronic device establishes a QUIC connection between the electronic device and the second receiving end by using a Simple Traversal of UDP over NATs (user Datagram protocol of NAT) protocol based on the network address translation information.

It can be understood that, the electronic device obtains the network address translation information for NAT traversal, and can obtain the network address for the receiving device, and based on the network address, a QUIC connection between the electronic device and the NAT route of the receiving device can be established. Similarly, the receiving device also performs NAT traversal, can obtain the network address of the electronic device, and establishes a QUIC connection between the electronic device and the NAT route of the receiving device.

In the embodiment of the application, the electronic equipment acquires current screen display data, and then determines at least one data transmission channel for the Internet connection of a fast user datagram protocol (RTP) before transmitting the data; and then starting the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel. The data transmission can be carried out by determining the corresponding number of data transmission channels in real time based on the actual data transmission environment, so that the efficiency of data transmission is improved, the problem of low automation degree caused by the fact that a fixed transmission mode (such as a fixed data transmission channel) is adopted for transmission in the whole data transmission process is avoided, and meanwhile, the speed of data transmission is also improved; and the data transmission is carried out by adopting the multi-channel data packet, so that the data transmission efficiency can be guaranteed preferentially, and the disaster tolerance capability of the data transmission is improved.

Referring to fig. 3, fig. 3 is a schematic flowchart of another embodiment of a data transmission method according to the present application. Specifically, the method comprises the following steps:

s301: acquiring current screen display data, and determining at least one data transmission channel for fast user datagram protocol internet connection;

s302: and opening the at least one data transmission channel.

S303: and transmitting the screen display data to a receiving device through the at least one data transmission channel.

S301 to S303, refer to the method steps of the foregoing embodiments, and are not described again.

S304: and acquiring data transmission attributes corresponding to the data transmission channels.

In some embodiments, the data transmission attribute is data attribute of data currently transmitted by the data transmission channel, which may be understood as "screen display data" of transmission, common data transmission attributes include but are not limited to fitting of one or more of data transmission type, data transmission amount, data service level, and the like, and the data transmission type may be an application type of data (such as data of an a application); the data transmission quantity is the total data quantity of screen display data transmitted in a certain unit time of the data transmission channel; the data service class is the priority of the service scene to which the data transmitted in the data transmission channel belongs, for example, the audio-visual data in the audio-visual service scene belongs to the first class, the text data in the reading service scene belongs to the third class, the financial data in the financial service scene belongs to the second class, and the like.

Specifically, in the process that the electronic device transmits the screen display data to the receiving device through the at least one data transmission channel, the data transmission attribute of each data transmission channel is acquired, and in consideration of the actual transmission environment, the resources of each data transmission channel are intelligently scheduled, so that the data transmission speed is increased. The situation that resource allocation is not flexible due to the fact that all data transmission channels adopt a fixed allocation mode for resource allocation is avoided.

Specifically, the electronic device may perform resource scheduling processing on the data transmission channel based on the data transmission attribute.

S305: determining a resource scheduling level for the data transmission channel based on the data transmission attribute, and allocating the device processing resource corresponding to the resource scheduling level to the data transmission channel.

The resource scheduling level may be understood as a level of different levels set for device resources on the electronic device, where the different resource scheduling levels correspond to different device processing resources, the device processing resources are mainly computing resources of a processor (CPU, GPU) of the electronic device, and the resource may be defined by a memory size, a number of I/O ports, a computing unit and a control unit associated through the I/O ports, and the like. The more device processing resources a data transmission channel is allocated to, the higher the data transmission efficiency of the data transmission channel is generally. And the resource scheduling is carried out on the corresponding data transmission channel based on different resource scheduling levels, so that the dynamic resource allocation can be realized, and the processing speed of data transmission is guaranteed.

Specifically, a level mapping relationship between the reference data transmission attribute and a reference resource scheduling level (such as reference level 1 and reference level 2.) may be preset, and different reference resource scheduling levels correspond to different reference device processing resources; the level mapping relationship may be characterized in the form of a level mapping table, a level mapping set, a level mapping array, a level mapping chain link, or the like. The aforementioned reference data transmission attribute is associated with a data transmission attribute, and the reference data transmission attribute in the level mapping relationship may substantially include a plurality of feedback "data transmission attribute" parameter types, including but not limited to a fit of one or more of a reference data transmission type set for the data transmission type, a reference data transmission quantity set for the data transmission quantity, a reference service level set for the data service level, and the like. In addition, the above reference data transmission attributes corresponding to a plurality of reference resource scheduling levels set for the data transmission attributes may be substantially as follows: setting a parameter threshold for at least one attribute parameter in the data transmission attributes may be: setting a parameter range and the like for at least one attribute parameter in the data transmission attributes.

Specifically, in the practical application stage, based on the "level mapping relationship between the reference data transmission attribute and the reference resource scheduling level", the electronic device may retrieve the resource scheduling level corresponding to the data transmission attribute based on the level mapping relationship when acquiring the data transmission attribute corresponding to each data transmission channel. In this way, the resource scheduling level for each data transmission channel may be determined in turn, and thus the device processing resource corresponding to the resource scheduling level is allocated to the data transmission channel. The data transmission process is realized as follows: accurate adjustment and intelligent adjustment of a plurality of data transmission channels are achieved.

In the embodiment of the application, the electronic equipment acquires current screen display data, and then determines at least one data transmission channel for the Internet connection of a fast user datagram protocol (RTP) before transmitting the data; and then starting the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel. The data transmission can be carried out by determining the corresponding number of data transmission channels in real time based on the actual data transmission environment, so that the efficiency of data transmission is improved, the problem of low automation degree caused by the fact that a fixed transmission mode (such as a fixed data transmission channel) is adopted for transmission in the whole data transmission process is avoided, and meanwhile, the speed of data transmission is also improved; and in consideration of the actual transmission environment, the resources of each data transmission channel are intelligently scheduled, so that the data transmission speed is increased.

Referring to fig. 4, fig. 4 is a schematic flowchart illustrating another embodiment of a data transmission method according to the present application. Specifically, the method comprises the following steps:

s401: acquiring current screen display data, and determining at least one data transmission channel for fast user datagram protocol internet connection;

s402: and opening the at least one data transmission channel.

S403: and transmitting the screen display data to a receiving device through the at least one data transmission channel.

S401 to S403, refer to the method steps in the foregoing embodiments, and are not described again.

S404: and monitoring the channel transmission quality corresponding to each data transmission channel, and determining a first transmission channel based on the channel transmission quality.

The first transmission channel may be understood as a transmission channel whose channel configuration needs to be adjusted, and in an actual network transmission environment, there may be a large influence on data transmission of the first transmission channel at a certain time due to reasons such as poor network environment corresponding to the transmission channel, more users using the network, limitation of network bandwidth, and limitation of data transmission signal, for example, a data packet loss rate is increased, and a time delay is long. Therefore, normal transmission of data in the first transmission channel is influenced, and data transmission efficiency is reduced. Based on this, in the application, the data transmission monitoring fine particles are carried out to a single data transmission channel instead of a certain network communication mode (generally, one network communication mode can correspond to at least one data transmission channel), the monitoring sensitivity is higher, and the normal operation of data transmission is guaranteed.

According to some embodiments, the channel transmission quality may be determined based on at least one communication parameter of parameters such as a bit error rate, an error rate, a block error rate, and a time delay, for example, a parameter threshold may be set for at least one communication parameter included in the channel transmission quality, if a value of a communication parameter of a certain data transmission channel does not satisfy the parameter threshold, it is considered that data transmission is blocked in the "certain data transmission channel" at this time, and the "certain data transmission channel" is used as the first transmission channel; if the value of the communication parameter of a certain data transmission channel does not fall within the parameter range, the data transmission of the "certain data transmission channel" is considered to be blocked at the moment, and the "certain data transmission channel" is taken as a first transmission channel; and so on.

In some embodiments, the channel transmission quality may be further evaluated based on at least one of parameters of a Reference Signal Receiving Power (RSRP), a Received Signal Code Power (RSCP), a Ratio of received chip Signal strength to Noise strength (EcIo)/a Ratio of Power PER modulation Bit and spectral density of Noise (EcNo)/a Signal-to-Noise Ratio (SNR)/a Reference Signal Receiving Quality (RSRQ), a Bit Error Rate (Bit Error Rate, BER)/a block Error Rate (blocker Rate, BLER)/a Packet Error Rate (Packet Error Rate, PER), and the like of a supported communication network.

It should be noted that the number of the first transmission channels may be one or multiple, and is specifically determined based on an actual communication transmission environment, and is not specifically limited herein.

S405: and carrying out channel configuration adjustment on the first transmission channel.

Specifically, after the first transmission channel is determined, channel configuration adjustment may be performed on the first transmission channel, for example, a network communication method adopted by the first transmission channel is adjusted; if the network channel corresponding to the first transmission channel is adjusted; such as boosting the signal transmission power based on the first transmission channel, etc.

In a specific implementation scenario, the electronic device may implement the channel configuration adjustment by adjusting a communication working manner of the first transmission channel. Namely, the step of performing communication adjustment processing on the communication working mode of the first transmission channel is executed. The specific implementation is as follows

1. The electronic equipment can acquire at least one network communication mode aiming at the rapid user datagram protocol Internet connection and determine the communication network quality of each network communication mode;

the network communication mode is different from the current corresponding communication working mode of the first transmission channel;

the network communication mode includes, but is not limited to, fitting of one or more modes of a wireless data network (such as a 5G network), a local area network, a point-to-point network, a bluetooth network, a zigbee communication network, and the like.

In specific implementation, the communication quality evaluation of the network communication modes is realized by acquiring communication environment parameters of each network communication mode supported by the electronic equipment.

According to some embodiments, determining the communication network quality of the supported network communication means based on the communication environment parameter may be: determining a communication quality score, that is to say a communication quality score based on a communication environment parameter; it may be that the communication quality rating is determined, that is to say based on a communication environment parameter.

2. Determining a target network communication mode according to the communication network quality of each network communication mode;

specifically, after the communication network quality of each network communication method is determined, the priority of each network communication method may be determined, and the target network communication method indicated by the highest priority may be selected.

In a possible implementation manner, considering that the evaluation of multiple network communication manners is generally complicated, in order to improve the accuracy of channel adjustment, in the present application, a neural network may be introduced to combine communication environment parameters of each network communication manner to comprehensively determine a target network communication manner.

In specific implementation, the electronic device may input the acquired "communication environment parameters of each network communication mode" into the trained communication mode determination model, and output the target network communication mode. The method comprises the steps of obtaining sample data (a large number of data samples containing communication environment sample parameters of each network communication mode) in an actual application environment, extracting characteristic information, carrying out network communication mode labeling on the sample data, and creating a communication mode determination model. The communication mode determination model may be trained by using a large number of samples, for example, the channel number determination model may be implemented based on at least one of a Convolutional Neural Network (CNN) model, a Deep Neural Network (DNN) model, a Recurrent Neural Network (RNN), an embedding (embedding) model, a Gradient Boosting Decision Tree (GBDT) model, and a Logistic Regression (LR) model, and the communication mode determination model may be trained based on the sample data to which the Network communication mode has been labeled, so that the trained communication mode determination model may be obtained.

3. Switching the first transmission channel from the communication working mode to the target network communication mode

In a specific implementation scenario, the electronic device may further perform resource scheduling processing on the processing resource of the first data transmission channel, that is, provide more device processing resources for the first data transmission channel, where the provision of the device processing resources may be an asymptotic process, that is, the increased device processor resources are positively correlated with time, and detect the channel transmission quality of the first data transmission channel, and when the channel transmission quality meets the channel transmission requirement, the channel configuration adjustment is finished.

In the embodiment of the application, the electronic equipment acquires current screen display data, and then determines at least one data transmission channel for the Internet connection of a fast user datagram protocol (RTP) before transmitting the data; and then starting the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel. The data transmission can be carried out by determining the corresponding number of data transmission channels in real time based on the actual data transmission environment, so that the efficiency of data transmission is improved, the problem of low automation degree caused by the fact that a fixed transmission mode (such as a fixed data transmission channel) is adopted for transmission in the whole data transmission process is avoided, and meanwhile, the speed of data transmission is also improved; in consideration of the actual transmission environment, resources of each data transmission channel are intelligently scheduled, and the data transmission speed is increased; and the data transmission monitoring fine particles are transmitted to a single data transmission channel instead of a certain network communication mode, so that the monitoring sensitivity is higher, and the normal operation of data transmission is ensured.

Referring to fig. 5, fig. 5 is a schematic flowchart illustrating another embodiment of a data transmission method according to the present application. Specifically, the method comprises the following steps:

s501: acquiring current screen display data, and determining at least one data transmission channel for fast user datagram protocol internet connection;

s502: and opening the at least one data transmission channel.

S503: and transmitting the screen display data to a receiving device through the at least one data transmission channel.

S501-S503, refer to the method steps in the foregoing embodiments, and are not described again.

S504: monitoring the data packet transmission state of each data transmission channel when transmitting the screen display data;

the data packet transmission state comprises a data packet normal state and a data packet loss state.

Specifically, in the transmission process of the data packet based on the QUIC, for the receiving device, the receiving device can feed back one acknowledgement packet to the electronic device every time the receiving device receives one data packet.

The determination of the packet loss state may be that when it is determined that at least one packet is lost, a data transmission channel for packet loss is determined to be the packet loss state;

the determination of the packet loss state may be that the packet loss rate exceeds an error correction threshold of the QUIC, and the current data transmission channel is considered to be in the packet loss state. Wherein the error correction threshold of the QUIC may be set based on user self-definition.

In this application, the electronic device may set a waiting time threshold for the acknowledgement packet, and determine that a data transmission channel for packet loss of the data packet is in a packet loss state if the waiting time for the acknowledgement packet of a certain data packet exceeds the waiting time threshold.

Further, for the receiving device, it may be determined whether there is a packet loss of a data packet based on a packet sequence of the received data packets, where a packet identifier is usually encapsulated in a packet header of each data packet corresponding to the screen display data, and based on the packet identifier of each data packet received within a period of time, it may be detected whether there is a packet loss of a certain data packet. When detecting that a certain data packet has packet loss, the packet loss information can be fed back to the electronic equipment. The electronic device may determine, based on the packet loss information, a data packet corresponding to the packet loss identifier and a data transmission channel (i.e., a second transmission channel described below) through which the data packet is transmitted.

For example, when the electronic device transmits data to the receiving device through each data transmission channel connected to the QUIC, a packet header of each QUIC packet may carry a packet sequence number, and the transmitting end transmits the packet through each data transmission channel connected to the QUIC synchronously or asynchronously according to the sequence of the packet sequence numbers from small to large. When data transmitted by one QUIC connection is transmitted through multiple data transmission channels, for example, a data packet with a data packet sequence number of 1 is transmitted by using the data transmission channel 1, and data packets with data packet sequence numbers of 2 and 3 are transmitted by using the data transmission channel 2, since the network environments of different data transmission channels may be different, in the related art, at least two data transmission channels based on the QUIC connection can be regarded as one transmission path under the condition that the network environments (e.g., the same network communication mode, such as both mobile data networks) are the same.

S505: if the second transmission channel is in a packet loss state, determining a target packet lost by the second transmission channel;

specifically, when the electronic device determines that the second transmission channel (the number of the second transmission channels may be multiple) is in the packet loss state, the electronic device may obtain a target packet that is lost by the second transmission channel. In one possible embodiment, the destination packet may be determined based on the status of the acknowledgement packet fed back by the receiving device for each transmitted packet.

S506: and carrying out data retransmission on the target data packet by adopting a third transmission channel.

In a specific implementation scenario, the electronic device may determine, from the data transmission channels, a third transmission channel other than the second transmission channel, and perform data retransmission on the target data packet by using the third transmission channel;

in the application, on one hand, the retransmission is performed without adopting the original packet loss second transmission channel, and the packet loss probability is considered to be high; on the other hand, the data transmission timing of the second transmission channel is not disturbed. But a third transmission channel other than the second transmission channel is determined from the already established data transmission channels.

Optionally, the third transmission channel may be a standby transmission channel pre-created by the electronic device when the QUIC connection is established, and standby transmission usually does not transmit a data packet on a daily basis, and may be used for retransmission of a data packet in a packet loss condition.

Optionally, the third transmission channel may be an optimal data transmission channel selected by the electronic device after acquiring "channel transmission quality of transmission dimension" and "status parameters (such as data amount, data type, and the like) of data packets to be transmitted in service dimension" of the data transmission channels other than the second transmission channel. According to the method and the device, an optimal data transmission channel is determined by comprehensively measuring not only channel transmission quality but also state parameters of each data transmission channel aiming at the data packet to be transmitted from the existing data transmission channels.

One implementation manner may be that a transmission quality score is determined from "channel transmission quality of transmission dimension", a traffic load score is determined from "state parameter of data packet to be transmitted of traffic dimension", quantization of data transmission channels is realized through the transmission quality score and the traffic load score (for example, the transmission quality score and the traffic load score may be weighted or summed), a composite score for the data transmission channels is obtained, then ranking is performed based on the composite score of the data transmission channels, and an optimal data transmission channel with the highest score is taken as a third transmission channel.

In a specific implementation scenario, the electronic device may not perform the data transmission from the current data transmission channels, so as to avoid disturbing the data transmission timing of the original data transmission channels. Further, the electronic device may establish a fourth transmission channel for the fast user datagram protocol internet connection with the receiving device, that is, reestablish a fourth transmission channel. And carrying out data retransmission on the target data packet by adopting a fourth transmission channel.

Optionally, in order to achieve both shortest link establishment time and stable data transmission when the fourth transmission channel performs data retransmission, the fourth transmission channel may be quickly established based on the channel link establishment information established by the second transmission channel, and in an actual implementation process, the target link establishment information of the fourth transmission channel may be generated based on the channel link establishment information established by the second transmission channel, so as to save time for establishing a new data transmission channel with the receiving device, where a difference between the target link establishment information and the channel link establishment information is at least a name of the transmission channel. The target link establishment information at least adopts the same key pair as the key pair currently used in the channel link establishment information, so that the negotiation time of the link establishment information with the receiving equipment can be saved. And the establishment of the fourth transmission channel is quickly realized based on the channel link establishment information of the original second transmission channel.

Optionally, the fourth transmission channel may use a different network communication mode from the second transmission channel.

In the embodiment of the application, the electronic equipment acquires current screen display data, and then determines at least one data transmission channel for the Internet connection of a fast user datagram protocol (RTP) before transmitting the data; and then starting the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel. The data transmission can be carried out by determining the corresponding number of data transmission channels in real time based on the actual data transmission environment, so that the efficiency of data transmission is improved, the problem of low automation degree caused by the fact that a fixed transmission mode (such as a fixed data transmission channel) is adopted for transmission in the whole data transmission process is avoided, and meanwhile, the speed of data transmission is also improved; and the data packet retransmission based on the multi-channel data transmission is realized, and the disaster tolerance capability of the data transmission is improved.

The data transmission device provided in the embodiment of the present application will be described in detail below with reference to fig. 6. It should be noted that the data transmission apparatus shown in fig. 6 is used for executing the method of the embodiments shown in fig. 1 to fig. 5 of the present application, and for convenience of description, only the portions related to the embodiments of the present application are shown, and details of the specific technology are not disclosed, please refer to other embodiments shown in the present application.

Please refer to fig. 6, which shows a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application. The data transmission device 1 may be implemented as all or part of a user terminal by software, hardware or a combination of both. According to some embodiments, the data transmission device 1 includes a channel determination module 11 and a data transmission module 12, and is specifically configured to:

the channel determining module 11 is configured to obtain current screen display data and determine at least one data transmission channel for fast user datagram protocol internet connection;

and the data transmission module 12 is configured to open the at least one data transmission channel, and transmit the screen display data to a receiving device through the at least one data transmission channel.

Optionally, as shown in fig. 7, the channel determining module 11 includes:

a channel number determining unit 111, configured to determine, based on current communication network quality and/or screen display data, a number of transmission channels for a fast user datagram protocol internet connection;

a transmission channel determining unit 112, configured to determine the number of data transmission channels indicated by the number of transmission channels.

Optionally, as shown in fig. 8, the channel number determining unit 111 includes:

an attribute parameter determining subunit 1111, configured to determine a data attribute corresponding to the screen display data, and determine a quality quantization parameter for quality of the communication network;

a channel number determining subunit 1112 is configured to obtain the number of transmission channels for the hsdpa internet connection, which is matched to the data attribute and the quality quantization parameter.

Optionally, the data transmission module 12 is specifically configured to:

dividing the screen display data into at least one data packet according to data attributes, and transmitting each data packet to receiving equipment through at least one data transmission channel;

wherein the data attribute comprises at least one of data information amount, data application type and data service scene.

Optionally, the data transmission module 12 is specifically configured to:

and determining a data transmission channel corresponding to each data packet, and transmitting the data packet to receiving equipment through the data transmission channel corresponding to each data packet.

Optionally, the data transmission module 12 is specifically configured to:

determining the last historical data packet of each data packet, and determining the data difference degree of the historical data packet and the data packet;

determining a data transmission channel corresponding to each data packet based on each data difference degree;

and transmitting the data packets to receiving equipment through the data transmission channel corresponding to each data packet.

Optionally, as shown in fig. 9, the apparatus 1 further includes:

and the scheduling module 13 is configured to obtain a data transmission attribute corresponding to each data transmission channel, and perform resource scheduling processing on the data transmission channel based on the data transmission attribute.

Optionally, the scheduling module 13 is specifically configured to:

acquiring data transmission attributes corresponding to the data transmission channels, wherein the data transmission attributes comprise at least one of data transmission types, data transmission amounts and data service grades;

determining a resource scheduling level for the data transmission channel based on the data transmission attribute, and allocating the device processing resource corresponding to the resource scheduling level to the data transmission channel.

Optionally, the apparatus 1 is specifically configured to:

monitoring channel transmission quality corresponding to each data transmission channel, and determining a first transmission channel based on the channel transmission quality:

and carrying out channel configuration adjustment on the first transmission channel.

Optionally, the apparatus 1 is specifically configured to:

carrying out communication adjustment processing on the communication working mode of the first transmission channel; and/or the presence of a gas in the gas,

and performing resource scheduling processing on the processing resources of the first data transmission channel.

Optionally, the apparatus 1 is specifically configured to:

acquiring at least one network communication mode aiming at the rapid user datagram protocol Internet connection, and determining the communication network quality of each network communication mode; the network communication mode is different from the current corresponding communication working mode of the first transmission channel;

determining a target network communication mode according to the communication network quality of each network communication mode;

and switching the first transmission channel from the communication working mode to the target network communication mode.

Optionally, the apparatus 1 is specifically configured to:

monitoring the data packet transmission state of each data transmission channel when transmitting the screen display data;

if the second transmission channel is in a data packet loss state, determining a target data packet of the second transmission channel packet loss;

and carrying out data retransmission on the target data packet by adopting a third transmission channel.

Optionally, the apparatus 1 is specifically configured to:

determining a third transmission channel except the second transmission channel from each data transmission channel, and performing data retransmission on the target data packet by adopting the third transmission channel; and/or the presence of a gas in the gas,

and establishing a fourth transmission channel for the Internet connection of the fast User Datagram Protocol (UDP) with the receiving equipment, and performing data retransmission on the target data packet by adopting the fourth transmission channel.

Optionally, the apparatus 1 is specifically configured to:

acquiring network address translation information for a receiving device from an electronic device;

establishing a fast user datagram protocol internet connection with a receiving device based on the network address translation information.

It should be noted that, when the data transmission apparatus provided in the foregoing embodiment executes the data transmission method, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the data transmission device and the data transmission method provided by the above embodiments belong to the same concept, and details of implementation processes thereof are referred to in the method embodiments and are not described herein again.

The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.

An embodiment of the present application further provides a computer storage medium, where the computer storage medium may store a plurality of instructions, where the instructions are suitable for being loaded by a processor and executing the data transmission method according to the embodiment shown in fig. 1 to 5, and a specific execution process may refer to specific descriptions of the embodiment shown in fig. 1 to 5, which is not described herein again.

The present application further provides a computer program product, where at least one instruction is stored in the computer program product, and the at least one instruction is loaded by the processor and executes the data transmission method according to the embodiment shown in fig. 1 to 5, where a specific execution process may refer to specific descriptions of the embodiment shown in fig. 1 to 5, and is not described herein again.

Referring to fig. 10, a block diagram of an electronic device according to an exemplary embodiment of the present application is shown. The electronic device in the present application may comprise one or more of the following components: a processor 110, a memory 120, an input device 130, an output device 140, and a bus 150. The processor 110, memory 120, input device 130, and output device 140 may be connected by a bus 150.

Processor 110 may include one or more processing cores. The processor 110 connects various parts within the overall electronic device using various interfaces and lines, and performs various functions of the electronic device 100 and processes data by executing or executing instructions, programs, code sets, or instruction sets stored in the memory 120, and calling data stored in the memory 120. Alternatively, the processor 110 may be implemented in hardware using at least one of Digital Signal Processing (DSP), field-programmable gate Array (FPGA), and Programmable Logic Array (PLA). The processor 110 may integrate one or more of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a modem, and the like. Wherein, the CPU mainly processes an operating system, a user interface, an application program and the like; the GPU is used for rendering and drawing display content; the modem is used to handle wireless communications. It is understood that the modem may not be integrated into the processor 110, but may be implemented by a communication chip.

The Memory 120 may include a Random Access Memory (RAM) or a read-only Memory (ROM). Optionally, the memory 120 includes a non-transitory computer-readable medium. The memory 120 may be used to store instructions, programs, code sets, or instruction sets. The memory 120 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing various method embodiments described below, and the like, and the operating system may be an Android (Android) system, including a system based on Android system depth development, an IOS system developed by apple, including a system based on IOS system depth development, or other systems. The data storage area can also store data created by the electronic equipment in use, such as a phone book, audio and video data, chatting record data and the like.

Referring to fig. 11, the memory 120 may be divided into an operating system space, in which an operating system runs, and a user space, in which native and third-party applications run. In order to ensure that different third-party application programs can achieve a better operation effect, the operating system allocates corresponding system resources for the different third-party application programs. However, the requirements of different application scenarios in the same third-party application program on system resources are different, for example, in a local resource loading scenario, the third-party application program has a higher requirement on the disk reading speed; in the animation rendering scene, the third-party application program has a high requirement on the performance of the GPU. The operating system and the third-party application program are independent from each other, and the operating system cannot sense the current application scene of the third-party application program in time, so that the operating system cannot perform targeted system resource adaptation according to the specific application scene of the third-party application program.

In order to enable the operating system to distinguish a specific application scenario of the third-party application program, data communication between the third-party application program and the operating system needs to be opened, so that the operating system can acquire current scenario information of the third-party application program at any time, and further perform targeted system resource adaptation based on the current scenario.

Taking an operating system as an Android system as an example, programs and data stored in the memory 120 are as shown in fig. 12, and a Linux kernel layer 320, a system runtime library layer 340, an application framework layer 360 and an application layer 380 may be stored in the memory 120, where the Linux kernel layer 320, the system runtime library layer 340 and the application framework layer 360 belong to an operating system space, and the application layer 380 belongs to a user space. The Linux kernel layer 320 provides underlying drivers for various hardware of the electronic device, such as a display driver, an audio driver, a camera driver, a bluetooth driver, a Wi-Fi driver, power management, and the like. The system runtime library layer 340 provides a main feature support for the Android system through some C/C + + libraries. For example, the SQLite library provides support for a database, the OpenGL/ES library provides support for 3D drawing, the Webkit library provides support for a browser kernel, and the like. Also provided in the system runtime library layer 340 is an Android runtime library (Android runtime), which mainly provides some core libraries that can allow developers to write Android applications using the Java language. The application framework layer 360 provides various APIs that may be used in building applications, and developers may build their own applications by using these APIs, such as activity management, window management, view management, notification management, content provider, package management, session management, resource management, and location management. At least one application program runs in the application layer 380, and the application programs may be native application programs carried by the operating system, such as a contact program, a short message program, a clock program, a camera application, and the like; or a third-party application developed by a third-party developer, such as a game application, an instant messaging program, a photo beautification program, and the like.

Taking an operating system as an IOS system as an example, programs and data stored in the memory 120 are shown in fig. 13, and the IOS system includes: a Core operating system Layer 420(Core OS Layer), a Core Services Layer 440(Core Services Layer), a Media Layer 460(Media Layer), and a touchable Layer 480(Cocoa Touch Layer). The kernel operating system layer 420 includes an operating system kernel, drivers, and underlying program frameworks that provide functionality closer to hardware for use by program frameworks located in the core services layer 440. The core services layer 440 provides system services and/or program frameworks, such as a Foundation framework, an account framework, an advertisement framework, a data storage framework, a network connection framework, a geographic location framework, a motion framework, and so forth, as required by the application. The media layer 460 provides audiovisual related interfaces for applications, such as graphics image related interfaces, audio technology related interfaces, video technology related interfaces, audio video transmission technology wireless playback (AirPlay) interfaces, and the like. Touchable layer 480 provides various common interface-related frameworks for application development, and touchable layer 480 is responsible for user touch interaction operations on the electronic device. Such as a local notification service, a remote push service, an advertising framework, a game tool framework, a User Interface (UI) framework, a User Interface UIKit framework, a map framework, etc.

In the framework illustrated in FIG. 13, the framework associated with most applications includes, but is not limited to: a base frame in the core service layer 440 and a UIKit frame in the touchable layer 480. The base framework provides many basic object classes and data types, provides the most basic system services for all applications, and is UI independent. While the classes provided by the UIKit framework are a basic library of UI classes for creating touch-based user interfaces, iOS applications can provide UIs based on the UIKit framework, so it provides an infrastructure for applications for building user interfaces, drawing, processing and user interaction events, responding to gestures, and the like.

The Android system can be referred to as a mode and a principle for realizing data communication between the third-party application program and the operating system in the IOS system, and details are not repeated herein.

The input device 130 is used for receiving input commands or data, and the input device 130 includes, but is not limited to, a keyboard, a mouse, a camera, a microphone, or a touch device. The output device 140 is used for outputting instructions or data, and the output device 140 includes, but is not limited to, a display device, a speaker, and the like. In one example, the input device 130 and the output device 140 may be combined, and the input device 130 and the output device 140 are touch display screens for receiving touch operations of a user on or near the touch display screens by using any suitable object such as a finger, a touch pen, and the like, and displaying user interfaces of various applications. A touch display screen is generally provided on a front panel of an electronic device. The touch display screen may be designed as a full-face screen, a curved screen, or a profiled screen. The touch display screen can also be designed as a combination of a full-face screen and a curved-face screen, and a combination of a special-shaped screen and a curved-face screen, which is not limited in this application.

In addition, those skilled in the art will appreciate that the configurations of the electronic devices illustrated in the above-described figures do not constitute limitations on the electronic devices, which may include more or fewer components than illustrated, or some components in combination, or a different arrangement of components. For example, the electronic device further includes a radio frequency circuit, an input unit, a sensor, an audio circuit, a wireless fidelity (WiFi) module, a power supply, a bluetooth module, and other components, which are not described herein again.

In the embodiment of the present application, the main body of execution of each step may be the electronic device described above. Optionally, the execution subject of each step is an operating system of the electronic device. The operating system may be an android system, an IOS system, or another operating system, which is not limited in this embodiment of the present application.

The electronic device of the embodiment of the application can also be provided with a display device, and the display device can be various devices capable of realizing a display function, for example: a cathode ray tube display (CR), a light-emitting diode display (LED), an electronic ink panel, a Liquid Crystal Display (LCD), a Plasma Display Panel (PDP), and the like. A user may utilize a display device on the electronic device 101 to view information such as text, images, video, etc. that is displayed. The electronic device may be a smartphone, a tablet computer, a gaming device, an AR (Augmented Reality) device, an automobile, a data storage device, an audio playback device, a video playback device, a notebook, a desktop computing device, a wearable device such as an electronic watch, an electronic glasses, an electronic helmet, an electronic bracelet, an electronic necklace, an electronic garment, or the like.

In the electronic device shown in fig. 10, where the electronic device may be a terminal, the processor 110 may be configured to call the application program stored in the memory 120, and specifically perform the following operations:

acquiring current screen display data, and determining at least one data transmission channel for the fast user datagram protocol internet connection;

and opening the at least one data transmission channel, and transmitting the screen display data to receiving equipment through the at least one data transmission channel.

In an embodiment, when the determining at least one data transmission channel for the fast user datagram protocol internet connection is performed, the processor 1001 specifically performs the following operations:

determining the number of transmission channels for the fast user datagram protocol internet connection based on the current communication network quality and/or screen display data;

and determining the data transmission channel indicated by the transmission channel number.

In one embodiment, when the processor 1001 determines the number of transmission channels for the udp internet connection based on the current communication network quality and the screen display data, it specifically performs the following operations: determining data attributes corresponding to the screen display data and determining quality quantification parameters aiming at the communication network quality;

and acquiring the number of transmission channels which are matched with the data attribute and the quality quantization parameter and aim at the interconnection of the fast user datagram protocol.

In an embodiment, when the processor 1001 executes the transmission of the screen display data to the receiving device through the at least one data transmission channel, the following operations are specifically executed:

dividing the screen display data into at least one data packet according to data attributes, and transmitting each data packet to receiving equipment through at least one data transmission channel;

wherein the data attribute comprises at least one of data information amount, data application type and data service scene.

In an embodiment, when the processor 1001 performs the following operation of transmitting each data packet to the receiving device through the at least one data transmission channel, respectively:

and determining a data transmission channel corresponding to each data packet, and transmitting the data packet to receiving equipment through the data transmission channel corresponding to each data packet.

In an embodiment, when the processor 1001 executes the transmission of the data packet to the receiving device through the data transmission channel corresponding to each data packet, specifically execute the following operations:

determining the last historical data packet of each data packet, and determining the data difference degree of the historical data packet and the data packet;

determining a data transmission channel corresponding to each data packet based on each data difference degree;

and transmitting the data packets to receiving equipment through the data transmission channel corresponding to each data packet.

In an embodiment, when the processor 1001 executes the data transmission method, the following steps are specifically executed:

and acquiring data transmission attributes corresponding to the data transmission channels, and performing resource scheduling processing on the data transmission channels based on the data transmission attributes.

In an embodiment, when the processor 1001 performs the resource scheduling processing on the data transmission channel based on the data transmission attribute, the following operation is specifically performed:

acquiring data transmission attributes corresponding to the data transmission channels, wherein the data transmission attributes comprise at least one of data transmission types, data transmission amounts and data service grades;

determining a resource scheduling level for the data transmission channel based on the data transmission attribute, and allocating the device processing resource corresponding to the resource scheduling level to the data transmission channel.

In an embodiment, when the processor 1001 executes the data transmission method, the following steps are specifically executed:

monitoring channel transmission quality corresponding to each data transmission channel, and determining a first transmission channel based on the channel transmission quality:

and carrying out channel configuration adjustment on the first transmission channel.

In an embodiment, when performing the channel configuration adjustment on the first transmission channel, the processor 1001 specifically performs the following operations:

carrying out communication adjustment processing on the communication working mode of the first transmission channel; and/or the presence of a gas in the gas,

and performing resource scheduling processing on the processing resources of the first data transmission channel.

In an embodiment, when executing the communication adjustment processing on the communication working mode of the first transmission channel, the processor 1001 specifically executes the following operations:

acquiring at least one network communication mode aiming at the rapid user datagram protocol Internet connection, and determining the communication network quality of each network communication mode; the network communication mode is different from the current corresponding communication working mode of the first transmission channel;

determining a target network communication mode according to the communication network quality of each network communication mode;

and switching the first transmission channel from the communication working mode to the target network communication mode.

In one embodiment, after the transmitting the screen display data to the receiving device through the at least one data transmission channel, the processor 1001 further includes:

monitoring the data packet transmission state of each data transmission channel when transmitting the screen display data;

if the second transmission channel is in a data packet loss state, determining a target data packet of the second transmission channel packet loss;

and carrying out data retransmission on the target data packet by adopting a third transmission channel.

In one embodiment, the performing, by the processor 1001, the data retransmission of the target data packet by using the third transmission channel includes:

determining a third transmission channel except the second transmission channel from each data transmission channel, and performing data retransmission on the target data packet by adopting the third transmission channel; and/or the presence of a gas in the gas,

and establishing a fourth transmission channel for the Internet connection of the fast User Datagram Protocol (UDP) with the receiving equipment, and performing data retransmission on the target data packet by adopting the fourth transmission channel.

In an embodiment, when the processor 1001 executes the data transmission method, the following steps are specifically executed:

a fast user datagram protocol internet connection is established with a receiving device using a point-to-point network and/or a local area network.

In an embodiment, when the processor 1001 executes the data transmission method, the following steps are specifically executed:

acquiring network address translation information for a receiving device from an electronic device;

establishing a fast user datagram protocol internet connection with a receiving device based on the network address translation information.

It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a read-only memory or a random access memory.

The above disclosure is only for the purpose of illustrating the preferred embodiments of the present application and is not to be construed as limiting the scope of the present application, so that the present application is not limited thereto, and all equivalent variations and modifications can be made to the present application.

34页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息展示方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类