CN113973124A - Data transmission method and device - Google Patents

Data transmission method and device Download PDF

Info

Publication number
CN113973124A
CN113973124A CN202111254531.XA CN202111254531A CN113973124A CN 113973124 A CN113973124 A CN 113973124A CN 202111254531 A CN202111254531 A CN 202111254531A CN 113973124 A CN113973124 A CN 113973124A
Authority
CN
China
Prior art keywords
session
protocol
data transmission
connection
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111254531.XA
Other languages
Chinese (zh)
Other versions
CN113973124B (en
Inventor
钟书城
周超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202111254531.XA priority Critical patent/CN113973124B/en
Publication of CN113973124A publication Critical patent/CN113973124A/en
Priority to PCT/CN2022/096081 priority patent/WO2023071184A1/en
Application granted granted Critical
Publication of CN113973124B publication Critical patent/CN113973124B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Abstract

The present disclosure relates to a data transmission method and apparatus, the data transmission method including: determining a preferred transport protocol and an alternative transport protocol from a plurality of available transport protocols in response to a data transmission request from a user based on a quality assessment parameter, wherein the quality assessment parameter is derived based on historical download speeds; attempting to establish a connection through the preferred transport protocol in preference to the alternate transport protocol to conduct data transmission using either the preferred transport protocol or the alternate transport protocol based on a result of the attempted establishment of a connection.

Description

Data transmission method and device
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a data transmission method and apparatus.
Background
In scenes such as short video streaming, live streaming or API requests, the download speed is one of the key factors affecting the user experience. In order to obtain a good downloading speed, a transmission protocol racing strategy is available at present, and a transmission protocol with a higher connection speed can be selected for data transmission. For example, in the open source network library Cronet independent from the program network stack, a Protocol race between TCP (Transmission Control Protocol) and QUIC (Quick UDP Internet Connection, UDP based low latency Internet transport layer Protocol) is realized, and when UDP (User Datagram Protocol) is limited or blocked by QOS (Quality of Service) of an operator, the Protocol can be switched to TCP in time. However, the current transmission protocol election strategy is adopted, and the situation that the downloading speed of the user is slow still often occurs.
Disclosure of Invention
The present disclosure provides a data transmission method and apparatus to solve at least the problems in the related art described above, and may not solve any of the problems described above.
According to a first aspect of the embodiments of the present disclosure, there is provided a data transmission method, including: determining a preferred transport protocol and an alternative transport protocol from a plurality of available transport protocols in response to a data transmission request from a user based on a quality assessment parameter, wherein the quality assessment parameter is derived based on historical download speeds; attempting to establish a connection through the preferred transport protocol in preference to the alternate transport protocol to conduct data transmission using either the preferred transport protocol or the alternate transport protocol based on a result of the attempted establishment of a connection.
Optionally, the determining a preferred transmission protocol and an alternative transmission protocol from a plurality of available transmission protocols according to the quality assessment parameter includes: and determining the transmission protocol with the maximum value of the quality evaluation parameter in the plurality of available transmission protocols as the preferred transmission protocol, and determining the transmission protocol except for the preferred transmission protocol in the plurality of available transmission protocols as the alternative transmission protocol.
Optionally, the quality assessment parameter is obtained by: acquiring a maximum downloading speed and a minimum downloading speed in a preset historical time period and a downloading speed when the last downloading is carried out in the preset historical time period; acquiring a first difference value between the downloading speed during the last downloading and the minimum downloading speed, and acquiring a second difference value between the maximum downloading speed and the minimum downloading speed; and carrying out quotient calculation on the first difference and the second difference to obtain the quality evaluation parameter.
Optionally, the attempting to establish a connection by the preferred transmission protocol in preference to the alternative transmission protocol to perform data transmission using the preferred transmission protocol or the alternative transmission protocol according to a result of the attempting to establish a connection includes: in the case that a first session which is connected already exists, carrying out data transmission through the first session, wherein the first session is a session established through the preferred transmission protocol; in the absence of an already connected first session, creating a second session and attempting to establish a connection through the preferred transport protocol; after a preset period of time to attempt to establish a connection through the second session, creating a third session through the alternate transport protocol and attempting to establish a connection; and performing data transmission through the session in which the connection is successfully established in the second session and the third session.
Optionally, the method further comprises: when one of the second session and the third session is successfully connected, stopping attempting to establish a connection through the other of the second session and the third session.
Optionally, the method further comprises: when one of the second session and the third session fails to establish a connection, in a case where there is an attempt to establish a connection through the other of the second session and the third session, waiting for a result of establishing a connection through the other session; and if the result is that the connection is successfully established, carrying out data transmission through the other sessions.
Optionally, the method further comprises: generating information that the data transmission request failed when there is no case of attempting to establish a connection through the other of the second session and the third session.
Optionally, the plurality of available transmission protocols includes a TCP protocol and a QUIC protocol.
According to a second aspect of the embodiments of the present disclosure, there is provided a data transmission apparatus including: a protocol determination unit configured to: determining a preferred transport protocol and an alternative transport protocol from a plurality of available transport protocols in response to a data transmission request from a user based on a quality assessment parameter, wherein the quality assessment parameter is derived based on historical download speeds; a data transmission unit configured to: attempting to establish a connection through the preferred transport protocol in preference to the alternate transport protocol to conduct data transmission using either the preferred transport protocol or the alternate transport protocol based on a result of the attempted establishment of a connection.
Optionally, the protocol determination unit may be configured to: and determining the transmission protocol with the maximum value of the quality evaluation parameter in the plurality of available transmission protocols as the preferred transmission protocol, and determining the transmission protocol except for the preferred transmission protocol in the plurality of available transmission protocols as the alternative transmission protocol.
Optionally, a quality assessment parameter determination unit is further included, which may be configured to: acquiring a maximum downloading speed and a minimum downloading speed in a preset historical time period and a downloading speed when the last downloading is carried out in the preset historical time period; acquiring a first difference value between the downloading speed during the last downloading and the minimum downloading speed, and acquiring a second difference value between the maximum downloading speed and the minimum downloading speed; and carrying out quotient calculation on the first difference and the second difference to obtain the quality evaluation parameter.
Optionally, the data transmission unit may be configured to: in the case that a first session which is connected already exists, carrying out data transmission through the first session, wherein the first session is a session established through the preferred transmission protocol; in the absence of an already connected first session, creating a second session and attempting to establish a connection through the preferred transport protocol; after a preset period of time to attempt to establish a connection through the second session, creating a third session through the alternate transport protocol and attempting to establish a connection; and performing data transmission through the session in which the connection is successfully established in the second session and the third session.
Optionally, the data transmission unit may be further configured to: when one of the second session and the third session is successfully connected, stopping attempting to establish a connection through the other of the second session and the third session.
Optionally, the data transmission unit may be further configured to: when one of the second session and the third session fails to establish a connection, in a case where there is an attempt to establish a connection through the other of the second session and the third session, waiting for a result of establishing a connection through the other session; and if the result is that the connection is successfully established, carrying out data transmission through the other sessions.
Optionally, the data transmission unit may be further configured to: generating information that the data transmission request failed when there is no case of attempting to establish a connection through the other of the second session and the third session.
Optionally, the plurality of available transmission protocols includes a TCP protocol and a QUIC protocol.
According to a third aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including: at least one processor; at least one memory storing computer-executable instructions, wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform a data transmission method according to the present disclosure.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium storing instructions, which when executed by at least one processor, cause the at least one processor to perform a data transmission method according to the present disclosure.
According to a fifth aspect of embodiments of the present disclosure, there is provided a computer program product, instructions in which are executable by a processor of a computer device to perform a data transmission method according to the present disclosure.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
according to the data transmission method and device disclosed by the invention, when a data transmission request from a user is received, a preferred transmission protocol and an alternative transmission protocol are determined from a plurality of available transmission protocols according to the quality evaluation parameters, and the transmission protocol is selected to establish connection and perform data transmission according to the principle that the preferred transmission protocol is prior to the alternative transmission protocol, so that the transmission protocol most suitable for the user can be flexibly selected under different network environments, and the situation that the download speed of the user is low due to the slow transmission rate is avoided.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
Fig. 1 is a flowchart illustrating a data transmission method according to an exemplary embodiment of the present disclosure.
Fig. 2 is a flowchart illustrating selection from among a TCP protocol and a QUIC protocol according to an example embodiment of the present disclosure.
Fig. 3 is a block diagram illustrating a data transmission apparatus according to an exemplary embodiment of the present disclosure.
Fig. 4 is a block diagram illustrating an electronic device 400 according to an example embodiment of the present disclosure.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The embodiments described in the following examples do not represent all embodiments consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
In this case, the expression "at least one of the items" in the present disclosure means a case where three types of parallel expressions "any one of the items", "a combination of any plural ones of the items", and "the entirety of the items" are included. For example, "include at least one of a and B" includes the following three cases in parallel: (1) comprises A; (2) comprises B; (3) including a and B. For another example, "at least one of the first step and the second step is performed", which means that the following three cases are juxtaposed: (1) executing the step one; (2) executing the step two; (3) and executing the step one and the step two.
In a scenario such as a short video stream, a live stream, or an API (Application Program Interface) request, a download rate of data is one of key factors that affect user experience. In order to obtain a good downloading speed, a transmission protocol with a faster connection establishment speed can be selected for data transmission through a transmission protocol racing strategy at present. For example, in the open source network library Cronet which is independent based on the chromosome network stack, the racing protocol between the TCP protocol and the QUIC protocol is realized, and the UDP can be switched to the TCP in time when being limited or forbidden by the QOS of the operator.
Specifically, the QUIC Protocol is an internet Transport Layer Protocol established by Google, is based on a UDP Protocol, has the reliability and the Security of protocols such as TCP, TLS (Transport Layer Security Protocol), HTTP/2 and the like, and can effectively reduce connection and transmission delay. Because the QUIC protocol has advantages over TCP in retransmission, congestion control, and connection multiplexing, many network services are switched to the QUIC protocol.
In the short video streaming process, the upper layer can perform fragment downloading based on the HTTP protocol, and the bottom layer can switch to the QUIC protocol for downloading. Different from a general HTTP short connection, the data volume downloaded by the short video stream is large, and at this time, there are many factors that affect the short video stream experience, such as the connection establishment time and the download speed. If for some reason the transmission rate using the QUIC protocol is slower than that using the TCP protocol (e.g., operator speed limit for UDP, congestion control algorithm differences between the QUIC protocol and the TCP protocol, etc.), then still using the QUIC protocol at this time may result in a slower download speed, which may affect the user experience.
The specific execution flow of the racing protocol between the TCP protocol and the QUIC protocol is as follows:
first, after the client initiates an HTTP request, a decision is made as to whether to use the QUIC protocol or the TCP protocol. When a connected QUIC session (QUIC session) exists, the QUIC session is directly multiplexed, and connection establishment through TCP is not attempted; when no connected QUIC session exists, the QUIC session is created immediately and connection establishment is started, and then the TCP session is created and connection establishment is started after 1.5 srtt (smoothened Round Trip time) time delay. At the moment, if the QUIC session is successfully established firstly, the QUIC session is used for data transmission and the TCP session establishment is stopped to be tried; if the TCP session is successfully established first, the TCP session is used for data transmission, but the QUIC session establishment can be continuously tried to prepare for directly multiplexing the QUIC session when the data transmission is carried out next time; if the connection establishment through the QUIC protocol fails, checking whether a TCP session created in a delayed manner exists, and immediately starting the connection establishment under the condition that the TCP session created in a delayed manner exists, otherwise, calling back HTTP request failure information; and if the TCP session is failed to establish the connection, checking whether the QUIC session being established exists, and continuously waiting for the connection establishment of the QUIC session under the condition that the QUIC session being established exists, otherwise, calling back the HTTP request to fail.
However, the racing protocol between the TCP protocol and the QUIC protocol always has priority over the QUIC protocol, and the racing strategy is not fair when the TCP protocol is delayed; and the racing mechanism decides which transmission protocol is adopted completely based on the connection speed, and does not consider the difference of the transmission speeds, so that the downloading speed of the user using the racing mechanism is slower in some cases (for example, the operator limits the flow rate for UDP or the congestion control algorithm used by TCP protocol in the current network environment has better effect than that used by QUIC protocol).
In order to solve the problem that the current downloading speed is slow, the present disclosure provides a data transmission method and apparatus, and specifically, when a data transmission request from a user is received, a preferred transmission protocol and an alternative transmission protocol are determined from a plurality of available transmission protocols according to a quality evaluation parameter, and a transmission protocol is selected to establish a connection and perform data transmission according to a principle that the preferred transmission protocol is prior to the alternative transmission protocol, so that a transmission protocol most suitable for the user can be flexibly selected under different network environments, a situation that the downloading speed of the user is slow due to a slow transmission rate is avoided, and user experience is improved. Hereinafter, a data transmission method and apparatus according to an exemplary embodiment of the present disclosure will be described in detail with reference to fig. 1 to 4.
Fig. 1 is a flowchart illustrating a data transmission method according to an exemplary embodiment of the present disclosure. It should be noted that the data transmission method shown in the present disclosure may be applied to application scenarios such as short video streaming, live streaming, API request, and the like, and as long as the scenario related to data transmission through a transmission protocol is applicable to the scheme shown in the present disclosure. In the following description, a short video stream is exemplified in order to clearly show the aspects of the present disclosure.
Referring to fig. 1, in response to a data transmission request from a user, a preferred transmission protocol and an alternative transmission protocol are determined from a plurality of available transmission protocols according to a quality assessment parameter, wherein the quality assessment parameter is derived from a historical download speed, step 101.
According to an exemplary embodiment of the present disclosure, the quality assessment parameter may be derived from a historical download speed of the client. Specifically, the maximum download speed and the minimum download speed of the client within a preset historical time period and the download speed of the client during the last download within the preset historical time period can be obtained firstly; then obtaining a first difference value between the downloading speed during the last downloading and the minimum downloading speed, and obtaining a second difference value between the maximum downloading speed and the minimum downloading speed; and finally, carrying out quotient calculation on the obtained first difference and the second difference to obtain the quality evaluation parameter. After obtaining the quality evaluation parameter, the transmission protocol with the largest value of the quality evaluation parameter in the plurality of available transmission protocols may be determined as the preferred transmission protocol, and the transmission protocols other than the determined preferred transmission protocol in the plurality of available transmission protocols may be determined as the candidate transmission protocols. In some embodiments, a plurality of available Transport protocols, such as, but not limited to, QUIC Protocol, TCP Protocol, or KTP (KWai Transport Protocol) Protocol, etc., may be available.
The downstream bandwidth is one of the important factors causing the short video streamlining, and therefore, the selection of the best matching transmission protocol adapted to the current network environment according to the historical download speed can be set. The short video pull stream is performed in a manner of fragmented downloading of 1MB of data per http request, the quality of a plurality of available transport protocols can be evaluated in units of http requests (for example, in the short video pull stream, the quality of the TCP protocol and the QUIC protocol can be evaluated), and a preferred transport protocol and an alternative transport protocol are determined according to the quality evaluation result.
Specifically, without any a priori knowledge, a certain QOS statistic (i.e., historical download speed) can be obtained by first downloading through each available transport protocol separately, and then selecting a better performing protocol from the plurality of available transport protocols based on the QOS statistic. In some embodiments, the selection problem of the transport protocols may be mathematically modeled, and converted into a classic multiple-arm slot machine problem, with each available transport protocol corresponding to each arm of the slot machine, and the historical download speed corresponding to rewarded (return revenue) for the slot machine. In order to realize the selection of the transmission protocol through modeling, the historical download speed needs to be further processed to conform to a reward mechanism of the multi-arm slot machine, specifically, the historical download speed calculated according to http requests in a certain historical time can be selected, the maximum value and the minimum value of the historical download speed are normalized, and the normalized value is used as the reward (here, the reward is a quality evaluation parameter) of each request, that is, the maximum download speed and the minimum download speed of the client in a preset historical time period and the download speed of the client in the last download in the preset historical time period are obtained; then obtaining a first difference value between the downloading speed during the last downloading and the minimum downloading speed, and obtaining a second difference value between the maximum downloading speed and the minimum downloading speed; and finally, carrying out quotient calculation on the obtained first difference and the second difference to obtain the quality evaluation parameter. In addition, because the network fluctuates and the operator's restrictions on some transport protocols may also change with time, the rewarded distribution is unstable, and therefore, the selection of the transport protocol may be performed by a SW-UCB (slipping window UCB) algorithm, which solves the problem that the rewarded distribution may change with time by introducing a time window in the conventional UCB algorithm.
For example, assuming that the time window is 60s, 5 downloads have been completed, and the time points and download speeds of the 5 downloads are: in 10 th s, the downloading speed is 1 Mbps; in 20s, the downloading speed is 5 Mbps; in the 30 th s, the downloading speed is 4 Mbps; in 40s, the downloading speed is 2 Mbps; and in 50 th s, the downloading speed is 3 Mbps. When the 6 th download is completed at 60s, the download speed is 3Mbps, and the corresponding reward is (3 Mbps-1 Mbps)/(5 Mbps-1 Mbps) is 0.5. The 7 th download is completed in 75s, the download speed is 4Mbps, the first download time exceeds the time window now, the calculation is not considered, and the corresponding reward is 0.667 (4 Mbps-2 Mbps)/(5 Mbps-2 Mbps). The 8 th download is completed in 85s, the download speed is 3.5Mbps, and the second download also exceeds the time window, and the corresponding reward is (3.5Mbps-2Mbps)/(4 Mbps-2Mbps) is 0.75. After multiple rewards are obtained within a certain time of the selected history, the multiple rewards are averaged, and a preferred transmission protocol suitable for the current network environment can be selected according to a selection mechanism of the multi-arm slot machine.
At step 102, a connection is attempted to be established by a preferred transport protocol over an alternative transport protocol for data transmission using either the preferred transport protocol or the alternative transport protocol depending on the result of the attempted connection establishment.
According to the exemplary embodiment of the disclosure, after the preferred protocol and the alternative protocol are determined, the connection is tried to be established by the preferred transmission protocol in preference to the alternative transmission protocol, so that data transmission is performed by using the preferred transmission protocol or the alternative transmission protocol according to the result of the connection establishment attempt. In particular, it is first checked whether there is a first session created and connected through the preferred transport protocol, and in case there is an already connected first session, data transmission takes place directly through this first session, and no further attempt is made to establish a session through an alternative transport protocol. In the absence of an already connected first session, a second session is created and a connection is attempted to be established immediately via the preferred transport protocol, and after a preset period of time (e.g., 1.5 strtt delay) to attempt to establish a connection via the second session, a third session is created and a connection is attempted to be established via the alternate transport protocol, after which data transmission is performed via the session that successfully established the connection first in the second session and the third session. In some embodiments, when one of the second session and the third session is successful in establishing the connection, stopping attempting to establish the connection through the other of the second session and the third session, and when one of the second session and the third session is failed in establishing the connection, waiting for a result of establishing the connection through the other of the second session and the third session in the presence of attempting to establish the connection through the other of the second session and the third session; and if the result is that the connection establishment is successful, performing data transmission through the other sessions, and if the result is that the connection establishment is failed, generating information that the data transmission request fails. In addition, when there is no case where connection establishment is attempted through the other of the second session and the third session, information of data transmission request failure is also generated.
Fig. 2 is a flowchart illustrating selection from among a TCP protocol and a QUIC protocol according to an example embodiment of the present disclosure.
Referring to fig. 2, the HTTP request is responsible for the entire flow of HTTP, and after receiving a data transfer request from a user, a session for transfer is requested from a task controller. The task controller, upon receiving the session request, first queries the adaptive protocol engine to obtain the preferred transport protocol and the alternate transport protocol. Here, the adaptive protocol engine is responsible for monitoring QOS metrics (historical download speed) and determines the preferred transport protocol and the alternative transport protocol to transmit to the task controller according to the scheme shown in step S101. When the preferred transmission protocol is the QUIC protocol, a QUIC task is created and a QUIC session for transmission is requested from a QUIC session pool, the QUIC session is directly multiplexed when there is an already connected QUIC session, the QUIC session is immediately created when there is no already connected QUIC session, and an alternative TCP session is created after a 1.5 strtt delay. When the preferred transmission protocol is the TCP protocol, a TCP task is created, a TCP session for transmission is requested from a TCP session pool, the TCP session is directly multiplexed when a connected TCP session exists, the TCP session is immediately created when the connected TCP session does not exist, and an alternative QUIC session is created after 1.5 × srtt delay.
Fig. 3 is a block diagram illustrating a data transmission apparatus 300 according to an exemplary embodiment of the present disclosure.
Referring to fig. 3, a data transmission apparatus 300 according to an exemplary embodiment of the present disclosure may include a protocol determination unit 301 and a data transmission unit 302.
The protocol determination unit 301 may determine, in response to a data transmission request from a user, a preferred transmission protocol and an alternative transmission protocol from a plurality of available transmission protocols based on a quality assessment parameter, where the quality assessment parameter may be derived from historical download speeds.
According to an exemplary embodiment of the present disclosure, the Protocol determination unit 301 may determine a transmission Protocol with the largest value of the quality assessment parameter among a plurality of available transmission protocols as the preferred transmission Protocol, and determine a transmission Protocol other than the preferred transmission Protocol among the plurality of available transmission protocols as an alternative transmission Protocol, and in some embodiments, the plurality of available transmission protocols may be, for example and without limitation, a QUIC Protocol, a TCP Protocol, or a KTP (Kwai Transport Protocol ) Protocol, etc.
According to an exemplary embodiment of the present disclosure, the data transmission apparatus 300 may further include a quality evaluation parameter determination unit 303, and the quality evaluation parameter determination unit 303 may acquire a maximum download speed, a minimum download speed, and a download speed at the last download within a preset history time period; then, acquiring a first difference value between the downloading speed during the last downloading and the minimum downloading speed, and acquiring a second difference value between the maximum downloading speed and the minimum downloading speed; and then, carrying out quotient calculation on the first difference and the second difference to obtain the quality evaluation parameter.
The data transmission unit 302 may attempt to establish a connection by using the preferred transmission protocol over the alternative transmission protocol to perform data transmission using the preferred transmission protocol or the alternative transmission protocol according to a result of the attempt to establish a connection.
According to an exemplary embodiment of the present disclosure, the data transmission unit 302 may perform data transmission through a first session that is already connected, where the first session is a session created through a preferred transmission protocol. In the case where there is no first session that has been connected, the data transmission unit 302 may create a second session through the preferred transmission protocol and attempt to establish a connection, and after a preset period of time for attempting to establish a connection through the second session, create a third session through the alternative transmission protocol and attempt to establish a connection, and then perform data transmission through sessions in which connections are successfully established in the second session and the third session.
According to an exemplary embodiment of the present disclosure, the data transmission unit 302 may stop attempting to establish a connection through the other of the second session and the third session when one of the second session and the third session is successful, and wait for a result of establishing a connection through the other session in a case where there is an attempt to establish a connection through the other of the second session and the third session when one of the second session and the third session is failed; and if the result is that the connection establishment is successful, performing data transmission through the other sessions, and if the result is that the connection establishment is failed, generating information that the data transmission request fails. In addition, when there is no case where connection establishment is attempted through the other of the second session and the third session, information of data transmission request failure is also generated.
Fig. 4 is a block diagram of an electronic device 400 according to an example embodiment of the present disclosure.
Referring to fig. 4, the electronic device 400 comprises at least one memory 401 and at least one processor 402, the at least one memory 401 having stored therein a set of computer-executable instructions that, when executed by the at least one processor 402, perform a data transmission method according to an exemplary embodiment of the present disclosure.
By way of example, the electronic device 400 may be a PC computer, tablet device, personal digital assistant, smartphone, or other device capable of executing the set of instructions described above. Here, the electronic device 400 need not be a single electronic device, but can be any collection of devices or circuits that can execute the above instructions (or sets of instructions) individually or in combination. The electronic device 400 may also be part of an integrated control system or system manager, or may be configured as a portable electronic device that interfaces with local or remote (e.g., via wireless transmission).
In the electronic device 400, the processor 1002 may include a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a programmable logic device, a special purpose processor system, a microcontroller, or a microprocessor. By way of example, and not limitation, processors may also include analog processors, digital processors, microprocessors, multi-core processors, processor arrays, network processors, and the like.
The processor 402 may execute instructions or code stored in the memory 401, wherein the memory 401 may also store data. The instructions and data may also be transmitted or received over a network via a network interface device, which may employ any known transmission protocol.
The memory 401 may be integrated with the processor 1002, for example, by having RAM or flash memory disposed within an integrated circuit microprocessor or the like. Further, memory 401 may comprise a stand-alone device, such as an external disk drive, storage array, or any other storage device usable by a database system. The memory 401 and the processor 402 may be operatively coupled or may communicate with each other, such as through I/O ports, network connections, etc., so that the processor 402 can read files stored in the memory.
In addition, the electronic device 400 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, mouse, touch input device, etc.). All components of electronic device 400 may be connected to each other via a bus and/or a network.
According to an exemplary embodiment of the present disclosure, there may also be provided a computer-readable storage medium storing instructions, which when executed by at least one processor, cause the at least one processor to perform a data transmission method according to the present disclosure. Examples of the computer-readable storage medium herein include: read-only memory (ROM), random-access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random-access memory (DRAM), static random-access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD + R, CD-RW, CD + RW, DVD-ROM, DVD-R, DVD + R, DVD-RW, DVD + RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or compact disc memory, Hard Disk Drive (HDD), solid-state drive (SSD), card-type memory (such as a multimedia card, a Secure Digital (SD) card or a extreme digital (XD) card), magnetic tape, a floppy disk, a magneto-optical data storage device, an optical data storage device, a hard disk, a magnetic tape, a magneto-optical data storage device, a hard disk, a magnetic tape, a magnetic data storage device, a magnetic tape, a magnetic data storage device, a magnetic tape, a magnetic data storage device, a magnetic tape, a magnetic data storage device, a magnetic tape, a magnetic data storage device, A solid state disk, and any other device configured to store and provide a computer program and any associated data, data files, and data structures to a processor or computer in a non-transitory manner such that the processor or computer can execute the computer program. The computer program in the computer-readable storage medium described above can be run in an environment deployed in a computer apparatus, such as a client, a host, a proxy device, a server, and the like, and further, in one example, the computer program and any associated data, data files, and data structures are distributed across a networked computer system such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by one or more processors or computers.
According to an exemplary embodiment of the present disclosure, there may also be provided a computer program product in which instructions are executable by a processor of a computer device to perform a data transmission method according to an exemplary embodiment of the present disclosure.
According to the data transmission method and device disclosed by the invention, when a data transmission request from a user is received, a preferred transmission protocol and an alternative transmission protocol are determined from a plurality of available transmission protocols according to the quality evaluation parameters, and the transmission protocol is selected to establish connection and perform data transmission according to the principle that the preferred transmission protocol is prior to the alternative transmission protocol, so that the transmission protocol most suitable for the user can be flexibly selected under different network environments, the situation that the download speed of the user is low due to low transmission speed is avoided, and the user experience is improved.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method of data transmission, comprising:
determining a preferred transport protocol and an alternative transport protocol from a plurality of available transport protocols in response to a data transmission request from a user based on a quality assessment parameter, wherein the quality assessment parameter is derived based on historical download speeds;
attempting to establish a connection through the preferred transport protocol in preference to the alternate transport protocol to conduct data transmission using either the preferred transport protocol or the alternate transport protocol based on a result of the attempted establishment of a connection.
2. The data transmission method of claim 1, wherein determining a preferred transmission protocol and an alternate transmission protocol from a plurality of available transmission protocols based on the quality assessment parameter comprises:
and determining the transmission protocol with the maximum value of the quality evaluation parameter in the plurality of available transmission protocols as the preferred transmission protocol, and determining the transmission protocol except for the preferred transmission protocol in the plurality of available transmission protocols as the alternative transmission protocol.
3. The data transmission method of claim 1, wherein the quality assessment parameter is obtained by:
acquiring a maximum downloading speed and a minimum downloading speed in a preset historical time period and a downloading speed when the last downloading is carried out in the preset historical time period;
acquiring a first difference value between the downloading speed during the last downloading and the minimum downloading speed, and acquiring a second difference value between the maximum downloading speed and the minimum downloading speed;
and carrying out quotient calculation on the first difference and the second difference to obtain the quality evaluation parameter.
4. The data transmission method according to claim 1, wherein the attempting to establish a connection by the preferred transmission protocol in preference to the alternative transmission protocol for data transmission using the preferred transmission protocol or the alternative transmission protocol according to a result of the attempting to establish a connection comprises:
in the case that a first session which is connected already exists, carrying out data transmission through the first session, wherein the first session is a session established through the preferred transmission protocol;
in the absence of an already connected first session, creating a second session and attempting to establish a connection through the preferred transport protocol;
after a preset period of time to attempt to establish a connection through the second session, creating a third session through the alternate transport protocol and attempting to establish a connection;
and performing data transmission through the session in which the connection is successfully established in the second session and the third session.
5. The data transmission method of claim 4, further comprising:
when one of the second session and the third session is successfully connected, stopping attempting to establish a connection through the other of the second session and the third session.
6. The data transmission method of claim 4, further comprising:
when one of the second session and the third session fails to establish a connection, in a case where there is an attempt to establish a connection through the other of the second session and the third session, waiting for a result of establishing a connection through the other session;
and if the result is that the connection is successfully established, carrying out data transmission through the other sessions.
7. A data transmission apparatus, comprising:
a protocol determination unit configured to: determining a preferred transport protocol and an alternative transport protocol from a plurality of available transport protocols in response to a data transmission request from a user based on a quality assessment parameter, wherein the quality assessment parameter is derived based on historical download speeds;
a data transmission unit configured to: attempting to establish a connection through the preferred transport protocol in preference to the alternate transport protocol to conduct data transmission using either the preferred transport protocol or the alternate transport protocol based on a result of the attempted establishment of a connection.
8. An electronic device, comprising:
at least one processor;
at least one memory storing computer-executable instructions,
wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the data transmission method of any one of claims 1 to 6.
9. A computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform a data transmission method as claimed in any one of claims 1 to 6.
10. A computer program product comprising computer instructions, characterized in that the computer instructions, when executed by at least one processor, implement the data transmission method according to any one of claims 1 to 6.
CN202111254531.XA 2021-10-27 2021-10-27 Data transmission method and device, electronic equipment and computer readable storage medium Active CN113973124B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111254531.XA CN113973124B (en) 2021-10-27 2021-10-27 Data transmission method and device, electronic equipment and computer readable storage medium
PCT/CN2022/096081 WO2023071184A1 (en) 2021-10-27 2022-05-30 Data transmission method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111254531.XA CN113973124B (en) 2021-10-27 2021-10-27 Data transmission method and device, electronic equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN113973124A true CN113973124A (en) 2022-01-25
CN113973124B CN113973124B (en) 2023-01-20

Family

ID=79588564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111254531.XA Active CN113973124B (en) 2021-10-27 2021-10-27 Data transmission method and device, electronic equipment and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN113973124B (en)
WO (1) WO2023071184A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023071184A1 (en) * 2021-10-27 2023-05-04 北京达佳互联信息技术有限公司 Data transmission method and apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216731A1 (en) * 1999-03-31 2005-09-29 Kabushiki Kaisha Toshiba Content distribution apparatus, content receiving apparatus, and content distribution method
CN101834879A (en) * 2010-02-09 2010-09-15 北京中科大洋科技发展股份有限公司 Intelligent efficient video/audio data transmission method adapted to different network environments
CN102791045A (en) * 2011-05-20 2012-11-21 希姆通信息技术(上海)有限公司 Mobile communication terminal and transfer protocol automatic preferentially-selecting method thereof
CN103078831A (en) * 2011-10-26 2013-05-01 新太科技股份有限公司 Self-adaption method on basis of TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) transmission supported by streaming media

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9843522B2 (en) * 2014-04-09 2017-12-12 Hcl Technologies Ltd. Efficient mechanism to improve data speed between systems by MPTCP and MIMO combination
CN105871509A (en) * 2016-03-25 2016-08-17 乐视控股(北京)有限公司 Data transmission method and device
CN111193772B (en) * 2019-12-05 2022-04-05 商客通尚景科技(上海)股份有限公司 File downloading method and server
CN113301000B (en) * 2020-02-24 2023-04-18 贵州白山云科技股份有限公司 Data transmission method, device, medium and equipment
CN113973124B (en) * 2021-10-27 2023-01-20 北京达佳互联信息技术有限公司 Data transmission method and device, electronic equipment and computer readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216731A1 (en) * 1999-03-31 2005-09-29 Kabushiki Kaisha Toshiba Content distribution apparatus, content receiving apparatus, and content distribution method
CN101834879A (en) * 2010-02-09 2010-09-15 北京中科大洋科技发展股份有限公司 Intelligent efficient video/audio data transmission method adapted to different network environments
CN102791045A (en) * 2011-05-20 2012-11-21 希姆通信息技术(上海)有限公司 Mobile communication terminal and transfer protocol automatic preferentially-selecting method thereof
CN103078831A (en) * 2011-10-26 2013-05-01 新太科技股份有限公司 Self-adaption method on basis of TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) transmission supported by streaming media

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023071184A1 (en) * 2021-10-27 2023-05-04 北京达佳互联信息技术有限公司 Data transmission method and apparatus

Also Published As

Publication number Publication date
CN113973124B (en) 2023-01-20
WO2023071184A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
US11122067B2 (en) Methods for detecting and mitigating malicious network behavior and devices thereof
US8489995B2 (en) Systems and methods for efficiently managing and configuring virtual servers
EP3475856B1 (en) Warm start technique for cloud-hosted functions
US10079745B2 (en) Measuring virtual infrastructure performance as a function of physical infrastructure performance
US9864749B2 (en) Methods for provisioning workloads in a storage system using machine learning and devices thereof
US9654436B2 (en) Systems and methods for migrating mailbox data from systems with limited or restricted remote access
JP2017501657A (en) Link health check method and apparatus
US20210289036A1 (en) Computer system providing saas application session state migration features and related methods
JP6314252B2 (en) Network video playback method and apparatus
US20170085683A1 (en) Protocol selection for transmission control protocol/internet protocol (tcp/ip)
US20180278482A1 (en) Policy driven network probe for determining internet protocol selection
CN108055314A (en) The management method and group system of a kind of group system
CN113973124B (en) Data transmission method and device, electronic equipment and computer readable storage medium
US11805172B1 (en) File access service
CN108156160A (en) Connect method for building up and device
WO2017185632A1 (en) Data transmission method and electronic device
JP2017515329A (en) Method for determining rebuffering events in a video session
JP6816511B2 (en) Session management program, session management method, information processing device, and information processing system
US11546408B2 (en) Client-side measurement of computer network conditions
CN114816748A (en) Thread scheduling method and device, electronic equipment and storage medium
US10594657B1 (en) Methods for parameterized sub-policy evaluation for fine grain access control during a session and devices thereof
CN115065859B (en) Video data acquisition method, device, equipment and medium
CN114285798B (en) Data transmission method and device
CN109587012B (en) Network type identification method and device
CN116319744A (en) Resource acquisition method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant