CN116132503A - Data transmission method, device and equipment - Google Patents

Data transmission method, device and equipment Download PDF

Info

Publication number
CN116132503A
CN116132503A CN202211376517.1A CN202211376517A CN116132503A CN 116132503 A CN116132503 A CN 116132503A CN 202211376517 A CN202211376517 A CN 202211376517A CN 116132503 A CN116132503 A CN 116132503A
Authority
CN
China
Prior art keywords
link
terminal device
history
information
historical
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.)
Pending
Application number
CN202211376517.1A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211376517.1A priority Critical patent/CN116132503A/en
Publication of CN116132503A publication Critical patent/CN116132503A/en
Pending legal-status Critical Current

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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Abstract

The present invention relates to the field of communications technologies, and in particular, to a data transmission method, apparatus, and device. The method comprises the following steps: the method comprises the steps that first terminal equipment sends first information to first service end equipment, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of the history link; the history link is a history link between the first service end equipment and the first terminal equipment, or a history link between the first service end equipment and the second terminal equipment, and the second terminal equipment and the first terminal equipment are in the same local area network; the method comprises the steps that a first service end device sets an initial sending strategy of a first link between the first service end and first terminal equipment according to the state of a historical link; and the first service end equipment sends the service data to the first terminal equipment through the first link according to the initial sending strategy. The method can reduce the risk of congestion of the newly built link between the terminal equipment and the server equipment or reduce the bandwidth waste of the newly built link.

Description

Data transmission method, device and equipment
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a data transmission method, apparatus, and device.
Background
In recent years, new streaming media services such as live broadcast and short video are created, and the requirements of users on the streaming media services are developed towards ultra-high definition, ultra-high smoothness, ultra-low time delay and the like. In the scenario that the user actually uses the service, the user frequently switches live broadcast or switches video, so that the short connection ratio is high, and the terminal needs to frequently establish a new link with the server. After the new link is established, the server needs to push the video first frame data to the terminal again. The terminal starts playing the picture after receiving the first frame data. The time delay of the first frame is a key factor affecting the user experience. The time delay of the first frame is too large, and the user loses the interest of continuing browsing because of waiting for the picture to play too long, so that the user experience is influenced, and the service benefit of a streaming media manufacturer is also influenced.
Current network transport protocols need to go through a slow start procedure when transmitting data over a newly established link. Wherein, a transmission rate conforming to a real network can be achieved after a plurality of round-trip time (RTT) passes. Therefore, after the chain is re-built each time, the transmission delay of the first frame is large and the user experience is influenced due to the influence of the slow start process.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a data transmission device and data transmission equipment, which can reduce the risk of congestion of a newly-built link between terminal equipment and server equipment or reduce the bandwidth waste of the newly-built link.
In a first aspect, a data transmission method is provided and applied to a service system, where the service system includes at least one terminal device and at least one server device; the method comprises the following steps: a first terminal device in the at least one terminal device sends first information to a first service device in the at least one service device, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network; the first service end equipment sets an initial sending strategy of a first link between the first service end and the first terminal equipment according to the state of the historical link; and the first service end equipment sends service data to the first terminal equipment through the first link according to the initial sending strategy.
According to the method, the terminal equipment sends the historical link information to the server equipment, even if the IP address of the terminal equipment changes, the server equipment can obtain the information recording the state of the historical link between the terminal equipment and the server equipment, namely the correct historical link information, so that the server equipment can obtain the state of the historical link between the terminal equipment and the server equipment based on the historical link information, and further the server equipment can set an initial sending strategy of a newly-built link between the server equipment and the terminal equipment based on the historical link between the terminal equipment and the server equipment. Because the initial sending strategy is set based on the state of the historical link between the terminal equipment and the server equipment, the initial sending strategy has higher consistency with the actual network condition of the newly-built link between the terminal equipment and the server equipment, and reduces the risk of congestion of the newly-built link between the terminal equipment and the server equipment or reduces the bandwidth waste of the newly-built link while the newly-built link is started slowly.
In a possible implementation, the first information is a handshake message for establishing the first link.
In this embodiment, when the terminal device and the server device exchange handshake messages to establish the first link, the history link information may be carried in the handshake messages, so that the history link information is sent to the server device without additional signaling or message transmission.
In one possible implementation, the state of the historical link includes a first transmission rate, and the initial transmission policy includes an initial rate set based on the first transmission rate; or the state of the historical link comprises a second transmission rate and a round trip time RTT, and the initial sending strategy comprises an initial rate calculated based on the second transmission rate and the round trip time RTT; or, the state of the historical link includes a packet loss rate, and the initial transmission strategy includes a data message transmission redundancy rate set based on the packet loss rate.
In a possible implementation manner, the plurality of at least one server side devices are in one-to-one correspondence with the plurality of historical link information; the method further comprises the steps of: and the terminal equipment determines the first historical link information from a plurality of historical link information according to the identification of the first server equipment.
In this embodiment, the historical link information is identified by the identifier of the server device, the server device is relatively fixed, the identifier of the server device is also relatively fixed, and the identifier of the server device is used to indicate the historical link information, so that the state of the link recorded by the historical link information and the device corresponding to the link have higher consistency.
In a possible implementation manner, when the history link is a history link between the first service end device and the first terminal device, the first history link information is detected by the first terminal device when the first service end device sends service data to the first terminal device through the history link; when the history link is a history link between the first server device and the second terminal device, the first history link information is detected by the second terminal device when the first server device sends service data to the first terminal device through the history link.
In a possible implementation manner, the service system further comprises an intermediate device, and the method further comprises: when the first terminal device or the second terminal device detects the first historical link information, the first terminal device or the second terminal device sends the first historical link information to the intermediate device; the first terminal device sending first information to a first service end device in the at least one service end device includes: the first terminal device obtains the first historical link information from the intermediate device, and includes the first historical link information in the first information sent to the first service end device.
In the embodiment, the history link information can be stored in the intermediate device, so that different terminal devices connected to the intermediate device can acquire the history link information from the intermediate device, and the history link information is shared among different terminal devices connected to the intermediate device.
In a possible implementation manner, when the historical link is a historical link between the first service end device and the second terminal device, and the requirements of the second terminal device and the first terminal device on link quality are different, the method further includes: the intermediate device modifies the first historical link information detected by the second terminal device according to the link quality of the first terminal device; the first terminal device obtaining the first historical link information from the intermediate device includes: the first terminal device obtains the modified first historical link information from the intermediate device.
In this embodiment, when the terminal device that generates the historical link information (i.e., the second terminal device) and the terminal device that uses the historical link information (i.e., the first terminal device) are different, the link state indicated by the historical link information may be adjusted according to the quality requirement of the terminal device that uses the link information, i.e., the historical link information is modified, so that the link state indicated by the modified historical link information matches with the quality requirement of the terminal device that uses the link information, and further, the initial transmission policy determined by the server device according to the modified historical link information is higher than the actual network state of the newly-built link.
In a possible implementation manner, the first link is a quick UDP internet connection protocol quitc link, and the history link is a quitc link or a transmission control protocol TCP link; alternatively, the first link is a TCP link, and the history link is a qic link or a transmission control protocol TCP link.
In a second aspect, a data transmission method is provided and applied to a first terminal device in a service system, where the service system further includes at least one server device; the method comprises the following steps:
the first terminal equipment sends first information to a first service end equipment in the at least one service end equipment, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the state of the history link is used for the first service end equipment to set an initial sending strategy of a first link between the first service end and the first terminal equipment, and the initial sending strategy is used for the first service end equipment to send service data to the first terminal equipment through the first link.
In a possible implementation manner, the plurality of at least one server side devices are in one-to-one correspondence with the plurality of historical link information; the method further comprises the steps of: and the terminal equipment determines the first historical link information from the plurality of historical link information according to the identification of the first server side equipment.
In a third aspect, a data transmission method is provided and applied to a first server device in a service system, where the service system further includes at least one terminal device; the method comprises the following steps:
the first server side equipment receives first information sent by first terminal equipment in the at least one terminal equipment, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the first service end equipment sets an initial sending strategy of a first link between the first service end and the first terminal equipment according to the state of the historical link;
And the first service end equipment sends service data to the first terminal equipment through the first link according to the initial sending strategy.
In one possible implementation, the state of the historical link includes a first transmission rate, and the initial transmission policy includes an initial rate set based on the first transmission rate; or alternatively, the process may be performed,
the state of the historical link comprises a second transmission rate and a Round Trip Time (RTT), and the initial sending strategy comprises an initial rate calculated based on the second transmission rate and the round trip time; or alternatively, the process may be performed,
the state of the historical link comprises a packet loss rate, and the initial sending strategy comprises a data message sending redundancy rate set based on the packet loss rate.
In a fourth aspect, a service system is provided, where the service system includes at least one terminal device and at least one server device; wherein, the liquid crystal display device comprises a liquid crystal display device,
a first terminal device of the at least one terminal device is configured to send first information to a first service device of the at least one service device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
The first service end device is used for setting an initial sending strategy of a first link between the first service end and the first terminal device according to the state of the history link;
and the first service end equipment is used for sending service data to the first terminal equipment through the first link according to the initial sending strategy.
In a fifth aspect, a data transmission apparatus is provided, where the apparatus uses a first terminal device in a service system, and the service system further includes at least one server device; the device comprises:
a communication unit, configured to send first information to a first server device in the at least one server device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the state of the history link is used for the first service end equipment to set an initial sending strategy of a first link between the first service end and the first terminal equipment, and the initial sending strategy is used for the first service end equipment to send service data to the first terminal equipment through the first link.
In a sixth aspect, a data transmission apparatus is provided, where the apparatus uses a first service end device in a service system, and the service system further includes at least one terminal device; the device comprises:
a receiving unit, configured to receive first information sent by a first terminal device in the at least one terminal device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
a setting unit, configured to set an initial transmission policy of a first link between the first server and the first terminal device according to a state of the historical link;
and the sending unit is used for sending the service data to the first terminal equipment through the first link according to the initial sending strategy.
In a seventh aspect, a terminal device is provided, comprising a memory and a processor; the memory is used for storing computer instructions; the processor is configured to execute the computer instructions stored in the memory to implement the method of the second aspect.
In an eighth aspect, a server device is provided, including a memory and a processor; the memory is used for storing computer instructions; the processor is configured to execute the computer instructions stored in the memory to implement the method according to the third aspect.
In a ninth aspect, there is provided a computer storage medium comprising computer instructions which, when run on a computing device, cause the computing device to perform the method of the second aspect or the method of the third aspect.
In a tenth aspect, a chip is provided for performing the method of the second aspect or the method of the third aspect.
In an eleventh aspect, a computer program product is provided, which comprises program code for implementing the method according to the second aspect or the method according to the third aspect when being executed by a processor in a computing device.
The data transmission method, the device and the equipment provided by the embodiment of the application can enable the server equipment to determine the initial transmission strategy with high consistency with the actual network condition of the newly-built link between the terminal equipment and the server equipment, and send service data to the terminal equipment through the newly-built link according to the initial transmission strategy, so that the risk of congestion of the newly-built link between the terminal equipment and the server equipment can be reduced or the bandwidth waste of the newly-built link can be reduced.
Drawings
FIG. 1 is a schematic diagram of a system architecture provided in an embodiment of the present application;
FIG. 2 is a schematic diagram of a system architecture according to an embodiment of the present application;
fig. 3 is a schematic diagram of a software result of a server device according to an embodiment of the present application;
fig. 4A is a flowchart of a data transmission scheme according to an embodiment of the present application;
fig. 4B is a flowchart of a data transmission scheme provided in an embodiment of the present application;
fig. 5 is a schematic diagram of a message structure provided in an embodiment of the present application;
fig. 6 is a flowchart of a data transmission method provided in an embodiment of the present application;
fig. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a terminal device provided in an embodiment of the present application;
fig. 10 is a schematic structural diagram of a server device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings. It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present specification.
Reference in the specification to "one embodiment" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the specification. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," and the like in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments" unless expressly specified otherwise.
Wherein, in the description of the present specification, "/" means or is meant unless otherwise indicated, for example, a/B may represent a or B; "and/or" herein is merely an association relation describing associated objects, meaning that three relations may exist, e.g., a and/or B may represent: a exists alone, A and B exist together, and B exists alone. In addition, in the description of the embodiments of the present specification, "a plurality" means two or more than two.
In the description of this specification, 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 or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
With the development of streaming media services, the experience requirements of users on streaming media services are also developed towards the directions of ultra-high definition, ultra-high smoothness, ultra-low time delay and the like. Among them, ultra-high definition requires an increase in video code rate to 4K resolution, 8K resolution, and even higher, and a frame rate to 120fps. The ultrahigh smoothness requires that the user experience is free from blocking, and the packet loss rate of the transmission network is lower than 0.3%; the ultra-low latency requires that the real-time interaction between the client and the server requires less than 50ms latency.
In order to meet the experience requirements of users, the industry is continuously invested in the fields of media application processing, transmission networks, transmission protocols and the like so as to develop related technologies. In the field of media application processing, the quality experience of a user picture is improved by developing technologies of coding and decoding and cloud collaborative processing. In the transport network domain, streaming service providers reduce end-to-end latency by self-building or leasing a content delivery network (content delivery network, CDN).
The CDN is a network infrastructure widely used in the internet, and can provide inexpensive cross-regional large-scale data delivery and caching capabilities for streaming media services. The transmission of streaming media service data from a CDN edge node as a server to a client needs to follow a transmission protocol. Among the transport protocols currently in common use for streaming media traffic are the transmission control protocol (transport control protocol, TCP), the fast UDP internet connection protocol (quick UDP internet connection, QUIC) based on the user datagram protocol (user datagram protocol, UDP). The QUIC is a transport layer protocol running in user mode, can be multiplexed, and is safer and more reliable than TCP protocol.
In the scenario that the user actually uses the streaming media service, live broadcast or video may be frequently switched, so that the short connection ratio is high, and the terminal device is required to frequently reestablish the link with the server. After the new link is established, the server needs to push the video first frame data to the terminal again. The first frame data refers to first frame video stream data transmitted from a server to a terminal device after a link is established under the condition that the video stream data is encoded and decoded in a frame granularity and transmitted in a network. The terminal starts playing the picture after receiving the first frame data. The time delay of the first frame is a key factor affecting the user experience. The time delay of the first frame is too large, and the user loses the interest of continuing browsing because of waiting for the picture to play too long, so that the user experience is influenced, and the service benefit of a streaming media manufacturer is also influenced.
In current transmission protocols (e.g., TCP protocol, QUIC protocol), the data transmission of the newly established link needs to be initiated slowly. Wherein slow start is a congestion control mechanism used by the transport protocol to avoid network congestion caused by sending data exceeding the network bearer capability. In the slow start process, after the sending end receives the acknowledgement character (acknowledge character, ACK) sent by the receiving end, the congestion window (congestion window, CWND) is increased once until the packet loss rate reaches a certain degree. Therefore, several RTTs are required to reach a transmission rate that meets the real network conditions. Before this, the service data is transmitted at a transmission rate lower than the transmission rate according to the actual network state. Therefore, the slow start mechanism severely affects the transmission of the first frame data, thereby affecting the user experience.
In one approach, a target address index (destination metrics) mechanism is used to skip the newly created link through a slow start phase. The target address index mechanism refers to a link state represented by historical link information cached by the server, and an initial sending strategy of a newly-built link is initialized, so that the server directly sends data to the client through the newly-built link according to the initial sending strategy without a slow start stage. Wherein the historical link information records the status of the historical links of the server and the client and is stored by the internet protocol (internet protocol, IP) address of the client as an identification. In the scheme, after a link between a server and a client is established, the server queries historical link information according to the IP address of the client, and initializes an initial sending strategy of a newly-built link by using the link state identified by the queried historical link information.
Although this scheme allows the new link to skip the slow start phase. However, in traffic scenarios such as streaming media, due to techniques such as network address translation (network address translation, NAT), the IP address of the client observed by the server may be shared by multiple clients, and the IP address of the client may change with time or place (e.g., one IP address is used by the client A1 before the other is used by the client A2), so that the server may not actually record the state of the historical links of the client and the server through the client IP address. Thus, according to the historical link information (for example, historical link information recording the state of the historical link between the client A1 and the server) which is queried through the client IP (for example, the address used by the client A1 before and then used by the client A2), the initial transmission policy of the newly-built link between the client (using the client A2) and the server is initialized, which may cause the initial transmission policy of the initialization and the actual network condition of the newly-built link to be greatly different, and thus congestion or bandwidth waste may occur when data is transmitted according to the initial transmission policy. In addition, since the server and the plurality of clients establish links, in this scheme, the server needs to cache a plurality of historical link information, resulting in a higher cache pressure of the server. Particularly, at present, a server cluster architecture is generally adopted by a server, under the architecture, history link information needs to be synchronized among different servers, and synchronization of a plurality of history link information among different servers is high in complexity.
In another approach, the server caches the actual maximum transmission rate of the historical link between the server and the client. Wherein the actual maximum transmission rate is still identified by the IP address of the client. When a client side of the same IP address requests and a server side to establish a link, the server side uses the actual maximum transmission rate of the historical link to set the initial transmission rate of the newly-built link. Although this scheme allows the new link to skip the slow start phase. However, since the IP address is shared between different clients and the IP address of the client varies, the initial transmission rate of the new link and the actual network condition of the new link are greatly different, so that congestion or bandwidth waste may occur when data is transmitted according to the initial transmission policy. In addition, since the server and the plurality of clients establish links, in this scheme, the server needs to cache a plurality of historical link information, resulting in a higher cache pressure of the server. Particularly, at present, a server cluster architecture is generally adopted by a server, under the architecture, history link information needs to be synchronized among different servers, and synchronization of a plurality of history link information among different servers is high in complexity.
The embodiment of the application provides a data transmission scheme. In this scheme, the terminal device may buffer the historical link information and send the historical link information to the server device. The server device may set an initial transmission policy of a new link between the server device and the terminal device according to the state of the historical link indicated by the historical link information sent by the terminal device, and send service data to the terminal device through the new link according to the initial transmission policy. The terminal device may also be referred to as a client or a device running the client. The link state includes the actual transmission rate of the link, round trip delay, congestion window, packet loss rate, etc. The sending policy refers to a policy that the service end sends service data to the client. The initial transmission policy refers to a service data transmission policy adopted when a sender starts to transmit service data to a receiver through a link after the link is established.
In the scheme, the terminal equipment sends the historical link information to the server equipment, and even if the IP address of the terminal equipment changes, the server equipment can obtain the information recording the state of the historical link between the terminal equipment and the server equipment, namely the correct historical link information, so that the server equipment can obtain the state of the historical link between the terminal equipment and the server equipment based on the historical link information, and further the server equipment can set an initial sending strategy of a newly-built link between the server equipment and the terminal equipment based on the historical link between the terminal equipment and the server equipment. Because the initial sending strategy is set based on the state of the historical link between the terminal equipment and the server equipment, the initial sending strategy has higher consistency with the actual network condition of the newly-built link between the terminal equipment and the server equipment, and the risk of congestion or bandwidth waste of the newly-built link is reduced while the newly-built link is started slowly.
In addition, in the scheme, the terminal equipment sends the historical link information to the server equipment, namely the historical link information does not need to be cached in the server equipment, so that the cache pressure of the server equipment is reduced, and the complexity of synchronizing data among servers which are not needed by the server is reduced.
Next, a data transmission scheme provided in the embodiment of the present application will be specifically described.
Fig. 1 illustrates a system architecture 100. The system architecture 100 may be used to implement the data transmission scheme provided by embodiments of the present application. As shown in fig. 1, the system architecture 100 may include at least a server device 111 and a terminal device 121. I.e. the system architecture 100 comprises at least one server device and at least one terminal device.
In some embodiments, the system architecture 100 may include multiple server devices. As shown in fig. 1, the system architecture 100 includes a server device 111, a server device 112, and the like. The system architecture 100 may include a plurality of terminal devices. As shown in fig. 1, the system architecture 100 includes a terminal device 121, a terminal device 122, a terminal device 123, a terminal device 124, and the like.
In the embodiment of the present application, when the server devices such as the server device 111, the server device 112, and the like are not particularly distinguished, they may be simply referred to as server devices. When terminal devices such as terminal device 121, terminal device 122, terminal device 123, terminal device 124, and the like are not particularly distinguished, they may be simply referred to as terminal devices.
The service end device refers to a service end, stores service data, and can send the service data to a service client, so that a user can use the service through the client. In one example, the service may be a streaming media service. In one example, the service may be a live service. In another example, the service may be specifically a short video service. Etc. In another example, the service may be a cloud rendering service, such as a cloud rendering of a three-dimensional picture rendering, or the like. The picture is drawn and rendered at the server equipment, and then the server equipment sends the picture to the client in a video stream mode.
In some embodiments, the server device may be implemented in hardware, for example, as a server or a server cluster. For another example, the server device may be one or more computing nodes in a cloud computing (enclosed computing) data center. In some embodiments, the server device may be implemented in software. For example, the server device may be implemented as a Virtual Machine (VM). In one specific example, the server device may be a content delivery network (content delivery network, CDN) node.
The terminal equipment is equipment at the user side, and can run a client of the service so that the user can use the service provided by the service end equipment through the terminal equipment. The terminal equipment can be a mobile phone, a tablet personal computer, a personal computer (personal computer, PC), intelligent wearing equipment, an intelligent television, a vehicle-mounted terminal, an aerial unmanned aerial vehicle and the like. The terminal equipment can provide a hardware environment for the operation of the service client.
With continued reference to fig. 1 and 2, the terminal device and the server device may be connected through the internet (internet). Wherein, through the internet, the terminal device and the server device can establish a communication link between them according to a transmission protocol. Through which the service end device can send service data, e.g. video streams, etc., to the terminal device.
When a communication link is newly established between the terminal device and the server device, the terminal device may send historical link information between the terminal device and the server device to the server device. Wherein the history link information indicates a state of a history link between the terminal device and the server device. Wherein, the history link refers to a communication link between the terminal equipment and the server equipment in history. I.e. the history link refers to the communication link between the terminal device and the server device before the new communication link between the terminal device and the server device.
After the server side equipment receives the history link information and the new link between the server side equipment and the terminal equipment is successfully established, the initial sending strategy of the new link can be set according to the state of the history link indicated by the history link information. Then, the service end device can send service data to the terminal device according to the initial sending strategy, so as to skip the slow start stage, thereby improving the transmission efficiency of the service data, in particular, the transmission efficiency of the first frame data
In some embodiments, the software structure of the server device may include an application layer module 310, a transport layer module 320, and an IP layer module 300 as shown in fig. 3. The application layer module 310 is configured to transfer service data to the transport layer module 320 according to an application layer protocol. Transport layer module 320 may encapsulate the traffic data into transport layer data packets according to a transport layer protocol (e.g., TCP protocol, QUIC protocol, etc.), and pass the transport layer data packets to IP layer module 330. The IP layer module 330 may further encapsulate the data packet and then pass on to the next layer.
The transport layer module 320 includes a connection management unit 321, a link state information management unit 322, a congestion control unit 323, a redundancy recovery unit 324, a packet encapsulation parsing unit 325, and a transceiving unit 326.
The transceiver unit 326 is configured to receive information sent by a terminal device, for example, historical link information. The packet encapsulation parsing unit 325 may encapsulate the service data into a transport layer data packet, and may parse a transport layer header of a packet from the IP layer module 330, so as to extract information carried by the header, such as historical link information.
The link state information management unit 322 may acquire the history link information and set an initial transmission policy of the newly-built link according to the state of the history link indicated by the history link information. Wherein, the state of the historical link can include RTT and CWND, and the set initial transmission policy can include an initial transmission rate. Specifically, the link state information management unit 322 may calculate an initial transmission rate according to the RTT and the CWND. The link state information management unit 322 may transfer the calculated initial transmission rate to the congestion control unit 323, so that the congestion control unit 323 may control the rate at which the server device transmits the data message based on the initial transmission rate. The state of the history link may include a packet loss rate, and the link state information management unit may determine a redundancy rate according to the packet loss rate and pass the redundancy rate to the redundancy recovery unit 324. The redundancy recovery unit 324 may turn on forward error correction (forward error correction, FEC) according to the redundancy rate, and send data packets to the terminal device according to the redundancy rate to combat network packet loss.
In some embodiments, the system architecture 100 may include an intermediary device in a local area network with the terminal device. The terminal equipment is accessed to the Internet through the intermediate equipment, and can be connected with the server equipment through the Internet. In some embodiments, the intermediate device may include at least one aggregation device such as an access device 131, a plurality of access devices such as access device 132, and an aggregation device 141.
Wherein the access device is a network access device close to the terminal device side. The terminal device accesses the network by accessing the access device. Typical access devices are modems, routers or radio base stations, etc.
The aggregation device is a device located at the terminal side for an access device to access to a network. The aggregation device may be configured to forward data of the plurality of access devices to the server device, and forward data from the server device to the plurality of access devices. Typical aggregation devices have core routers, core switches, etc.
The above examples introduce a system architecture that may be used to implement the data transmission schemes provided by embodiments of the present application. Next, the system architecture will be described, taking the terminal device 121 and the server device 111 as an example, and the execution flow of the data transmission scheme provided in the embodiment of the present application will be described by way of example.
Referring to fig. 4A and 4B, in step 401, terminal device 121 may determine that a link B1 needs to be established with server device 111. Wherein there is no link between terminal device 121 and server device 111 when step 401 is performed. That is, link B1 is a new link to be established, not an existing link between terminal device 121 and server device 111.
The link may also be referred to as a communication link, and refers to a channel for performing data transmission between devices. The link may be a transmission protocol defined link, such as a TCP protocol defined link, a quitc protocol defined link, or the like.
In some embodiments, terminal device 121 may actively establish link B1 between terminal device 121 and server device 111. Taking live services as an example, a user may switch between live rooms through the terminal device 121. Taking the short video as an example, the user can switch the short video through the terminal device 121. In these cases, the terminal device 121 needs to switch the terminal device 121 to the connection of the terminal device 121 with the server device 111 from the connection with other server devices. In this manner, terminal device 121 may proactively establish link B1 between terminal device 121 and server device 111, so that it may be determined that link B1 needs to be established with server device 111.
In some embodiments, terminal device 121 may passively establish a link between terminal device 121 and server device 111. Illustratively, terminal device 121 may determine that link B1 needs to be established with server device 111 upon receiving the handshake request message sent by server device 111. When the terminal equipment and the server equipment establish a link, a plurality of handshake messages are needed to handshake, so that the link can be successfully established. When a link needs to be established with the terminal device 121, the server device 111 sends a handshake request message to the terminal device 121 to request or notify the terminal device 121 to perform a link establishment operation. Accordingly, when terminal device 121 receives the handshake request message transmitted by server device 111, terminal device 121 may passively establish link B1 between terminal device 121 and server device 111, so that it may be determined that link B1 needs to be established with server device 111.
The terminal device 121 may perform step 402, and the terminal device 121 acquires the history link information C1. The history link information is information in which the state of the history link between the terminal device and the server device is recorded. The link state refers to an actual state of a link, and includes an actual transmission rate, round trip delay, congestion window, packet loss rate, and the like of the link. The history link information C1 is information in which the state of the history link between the terminal device D and the server device 111 is recorded. The terminal device D may be the terminal device 121, or a terminal device (e.g., the terminal device 122) in the same local area network as the terminal device 121. When terminal device D is terminal device 121, the history link between terminal device D and server device 111 refers to a link between terminal device 121 and server device 111 historically, which history link has been broken at step 401. When the terminal device D is not the terminal device 121, i.e., when the terminal device D is another terminal device in the same local area network as the terminal device 121, the history link between the terminal device D and the server device 111 refers to the history link between the terminal device D and the server device 111 or the link newly established. Wherein both the historical links and the recently established links are relative to the execution time of step 401.
In the embodiment of the present application, the history link information C1 and the identifier of the server device 111 have a mapping relationship. Illustratively, the identification of the server device 111 may be a network address, such as an IP address, of the server device 111. The identity of the server device 111 may also be other information that can distinguish the server device 111 from other server devices. It will be appreciated that the location, etc. of the server device is relatively fixed, and thus the identity, such as the network address, of the server device 111 is also relatively fixed. The identification of the server side equipment is used for indicating the historical link information, so that the state of the link recorded by the historical link information and the equipment corresponding to the link have higher consistency.
When storing the history link information C1, the identification of the server device 111 may be regarded as a key (key) of the history link information C1. The terminal device 121 may query the history link information C1 based on the identification of the server device 111, thereby acquiring the history link information C1. In particular, when the system architecture 100 includes a plurality of server devices, there may be a plurality of pieces of history link information on the terminal device side, where the plurality of server devices and the plurality of pieces of history link information are in one-to-one correspondence. According to the identification of the server side equipment, the historical link information corresponding to the corresponding server side equipment can be queried from the plurality of historical link information. The terminal equipment side comprises terminal equipment and other equipment which are in the same local area network with the terminal equipment.
In some embodiments, when there is a link between the terminal device and the server device, the terminal device may detect the state of the link to obtain historical link information. The terminal device may store or cache historical link information. For example, the terminal device may periodically detect the state of the link according to a preset period T1 to periodically obtain the historical link information. Wherein the historical link information has a life cycle, for example, the life cycle of the historical link information may be N periods T1. When the storage duration of the historical link information reaches N periods T1, the historical link information is invalid. The failed historical link information may be deleted. Wherein N is an integer greater than or equal to 1. The duration of period T1 may be preset empirically or experimentally. In one example, the period T1 may be 5 seconds long. In another example, the period T1 may have a duration of 10 seconds. Etc.
In addition, the history link information C1 acquired in step 402 is history link information that has not failed.
In some embodiments, the terminal device may store or cache the resulting historical link information locally. In step 402, the terminal device 111 may query the locally stored or cached information for the historical link information C1 according to the identity of the server device 111.
In some embodiments, the terminal device may send the historical link information to an intermediary device in the same local area network (i.e., the intermediary device and the terminal device are in the same local area network) to store or cache the historical link information at the intermediary device. Wherein, as shown in fig. 4B, when the terminal device 121 needs to acquire the history link information C1, the terminal device 121 may perform step 402a to send the identification of the server device 111 to the intermediate device. The intermediate device may query the information stored or cached by the intermediate device for the historical link information C1 according to the identification of the server device 111. When the intermediate device inquires about the history link information C1, step 402b may be performed to transmit the history link information C1 to the terminal device 121.
In this embodiment, the historical link information may be shared by different terminal devices in the same local area network. Specifically, the terminal device 122 has a link between the terminal device 122 and the server device 111 or historically has a link, and the terminal device 122 generates historical link information C1, which historical link information C1 is indicated by the identification of the server device. The terminal device 122 may send the history link information C1 to the intermediate device. When the terminal device 121 needs to acquire the history link information indicated by the identifier of the server device 111 (i.e., the history link information C1), the intermediate device may query for the history link information C1 generated by the terminal device 122 and indicated by the identifier of the server device 111 according to the identifier of the server device 111, thereby obtaining the history link information C1. Thereby, the sharing of the history link information among different terminal devices is realized.
In one example of this embodiment, in the system architecture 100, the intermediate devices include access devices and aggregation devices. The terminal device may send the historical link information to the access device to which the terminal device is connected to store or cache the historical link information at the access device. The access device may also send the historical link information received by the access device to a convergence device to which the access device is connected, so as to store or cache the historical link information in the convergence device. When the terminal equipment needs to acquire the history link information, the corresponding history link information can be queried in the information stored or cached in the access equipment or the convergence equipment connected with the terminal equipment according to the identification information of the server equipment. In one example, when the terminal device needs to acquire the historical link information, the corresponding historical link information (the historical link information indicated by the identifier of the server device) may be firstly queried in the information stored or cached by the access device connected to the terminal device according to the identifier of the server device, so as to preferentially acquire the historical link information generated by the terminal device under the same access device. When the corresponding historical link information is not queried in the stored or cached information of the access device connected with the terminal device, the terminal device queries the corresponding historical link information in the stored or cached information of the corresponding aggregation device according to the identification of the server device. The corresponding convergence device of the terminal device refers to a convergence device connected with the access device connected with the terminal device.
In some embodiments, the terminal device may store or cache the obtained historical link information locally, while at the same time sending the historical link information to the intermediary device. When the terminal device needs to acquire the history link information, the corresponding history link information (the history link information indicated by the identifier of the server device) can be firstly queried in the information stored or cached by the terminal device according to the identifier of the server device, so as to preferentially acquire the history link information generated by the same terminal device. When the corresponding historical link information is not queried in the information stored or cached in the terminal equipment, the terminal equipment queries the corresponding historical link information in the information stored or cached in the intermediate equipment according to the identification of the server equipment.
In some embodiments, as described above, the history link information C1 is information in which the state of the history link between the terminal device D and the server device 111 is recorded. The terminal device D is the terminal device 121 or other terminal devices in the same local area network with the terminal device 121. The other terminal device that is in the same lan as the terminal device 121 may be set as the terminal device 122. When the terminal device D is a device other than the terminal device 121, that is, when the terminal device D is the terminal device 122, that is, when the information detected by the terminal device 122 in the historical link information C1, if the requirements of the terminal device 121 and the terminal device 122 on the link quality are different, the original historical link information C1 may be modified or adjusted according to the link quality requirement of the terminal device 121. The modified or adjusted original history link information C1 is used as history link information C1 acquired by the terminal apparatus 121.
The original historical link information C1 refers to the historical link information C1 detected by the terminal device 122. The terminal device detecting the historical link information refers to detecting the state of the link by the terminal device and generating the historical link information based on the detection result. Link quality may refer to quality of service (quality of service, qoS) or other forms of network link quality.
As described above, the intermediate device stores or buffers the history link information detected by the terminal device connected to the intermediate device. It may be set in the system architecture 100 shown in fig. 1 that the access device 131 or the aggregation device 141 stores or buffers the original historical link information C1 detected by the terminal device 122. It may also be provided that the link quality requirements of terminal device 121 and terminal device 122 are different. The status of the link is affected by the requirements of the terminal device 122 on the link quality and the performance of the link itself. For example, the theoretical bandwidth of the link is 20MB, while the requirements of the terminal device 122 for link quality are: the requirement on the packet loss rate is high, and the requirement on the transmission rate is low. Therefore, in actual transmission, in order to ensure a low packet loss rate, a transmission rate lower than the theoretical bandwidth, for example, 10MB, may be adopted for data transmission. This results in the data transfer rate of the original historical link information C1 record detected by the terminal device 122 being 10MB. The requirements of the terminal device 121 on link quality are: the transmission rate is high, and the packet loss rate is low. When terminal device 121 obtains historical link information C1 from access device 131 or aggregation device 141, access device 131 or aggregation device 141 may adjust or modify original historical link information C1 according to the requirements of terminal device 121 for link quality. For example, the data transfer rate recorded by the original history link information C1 is modified from 10MB to a theoretical bandwidth (i.e., 20 MB), and so on. The access device 131 or the aggregation device 141 transmits the modified original history link information C1 as history link information C1 to the terminal device 121.
With continued reference to fig. 4A and 4B, after acquiring the historical link information C1, the terminal device 121 may perform step 403 to send the historical link information C1 to the server device 111.
In some embodiments, step 403 may be performed during or prior to the establishment of link B1. The establishment of link B1 requires several handshakes of information, i.e. several handshakes messages need to be exchanged between terminal device 121 and server device 111. The handshake message is for establishing a link B1 between terminal device 121 and server device 111. The terminal device 121 may carry the history link information C1 in a handshake message to the server device 121 to transmit the history link information C1 to the server device 111. The handshake message may be a handshake request message or a handshake reply message, for example.
In one example of this embodiment, the historical link information C1 may be carried in a reserved field or an extended field of the handshake message, that is, the reserved field or the extended field is used to carry the historical link information C1. For example, the historical link information C1 is carried in a reserved field or an extension field of a message header of the transport layer protocol. In one example, taking link B1 as the quitc protocol link, the handshake message support carries transmission parameter extension (transport parameter extension) information. Historical link information may be added based on transmission parameters (transport parameter) already defined by the QUIC protocol. As shown in fig. 5, the increased historical link information includes transmission rate, round trip delay, packet loss rate, etc. In one example, taking link B1 as the TCP protocol link, historical link information C1 may be carried in a reserved field of the TCP header of the message of the handshake message. Thus, the history link information C1 may be transmitted to the server device 111 with the handshake message.
In some embodiments, step 403 may be performed after the establishment of link B1 is completed and before server device 111 has not yet sent traffic data to terminal device 121 over link B1.
With continued reference to fig. 4A and 4B, after receiving the historical link information C1, the server device 111 may execute step 404 to set the initial transmission policy of the link B1.
In some embodiments, the state of the historical link recorded by the historical link information C1 includes a transmission rate. In step 404, an initial rate of link B1 may be set according to the transmission rate recorded by the history link information C1. For example, the transmission rate recorded by the history link information C1 is used as the initial rate. Wherein the initial rate is or is included in the initial transmission policy.
In some embodiments, the historical link state recorded by the historical link information C1 includes a transmission rate and RTT. In step 404, a congestion window of the link B1 may be calculated according to the transmission rate and RTT recorded in the history link information C1, and then, an initial rate of the link B1 is set based on the calculated congestion window. The initial rate is or is included in the initial transmission policy.
In some embodiments, the historical link information C1 includes packet loss rate. In step 404, the redundancy rate of data packet transmission of the link B1 may be set according to the packet loss rate recorded in the historical link information C1. The redundancy rate of data message transmission is or is included in the initial transmission strategy and is used for resisting the packet loss rate.
Next, the server device 111 may perform step 405 to transmit the service data to the terminal device 121 through the link B1 according to the initial transmission policy. That is, the server device 111 directly transmits the service data to the terminal device 121 through the link B1 according to the initial transmission policy without slowly starting the link B1. Thereby, data transmission efficiency is improved.
Wherein when the initial transmission policy includes or is an initial rate, the server device 111 directly transmits the service data to the terminal device 121 through the link B1 according to the initial rate without slow start of the link B1. When the initial transmission policy includes or is a data packet transmission redundancy rate, the server device 111 directly transmits service data to the terminal device 121 through the link B1 according to the data packet transmission redundancy rate without slow start of the link B1.
With continued reference to fig. 4A and 4B, the terminal device 121 may perform step 406 to detect the state of the link B1 and generate the historical link information C2. The identifier of the historical link information C2 is the identifier of the server device 111, or the historical link information C2 is indicated by the identifier of the server device 111.
For example, the terminal device 121 may periodically detect the state of the link B1 at a preset period T1 to periodically obtain the history link information C2. Wherein the historical link information has a life cycle, for example, the life cycle of the historical link information may be N periods T1. When the storage duration of the historical link information reaches N periods T1, the historical link information is invalid. The failed historical link information may be deleted. Wherein N is an integer greater than or equal to 1. The duration of period T1 may be preset empirically or experimentally. In one example, the period T1 may be 5 seconds long. In another example, the period T1 may have a duration of 10 seconds. Etc.
In some embodiments, terminal device 121 may store or cache historical link information C2 locally. In some embodiments, as shown in fig. 4B, terminal device 121 may perform step 407, send historical link information C2 to an intermediary device, which may store or cache historical link information C2.
In the data transmission scheme provided by the embodiment of the application, the terminal equipment sends the historical link information to the server equipment, and even if the IP address of the terminal equipment changes, the server equipment can obtain the information recording the state of the historical link between the terminal equipment and the server equipment, namely the correct historical link information, so that the server equipment can obtain the state of the historical link between the terminal equipment and the server equipment based on the historical link information, and further the server equipment can set the initial sending strategy of the newly-built link between the server equipment and the terminal equipment based on the historical link between the terminal equipment and the server equipment. Because the initial sending strategy is set based on the state of the historical link between the terminal equipment and the server equipment, the initial sending strategy has higher consistency with the actual network condition of the newly-built link between the terminal equipment and the server equipment, and the risk of congestion or bandwidth waste of the newly-built link is reduced while the newly-built link is started slowly.
Based on the above-described data transmission scheme, the embodiment of the application provides a data transmission method. The method is applied to a service system, and the service system comprises at least one terminal device and at least one server device. As shown in fig. 6, the method includes the following steps.
Step 601, a first terminal device in at least one terminal device sends first information to a first service device in the at least one service device, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, where the second terminal device and the first terminal device are in the same local area network. The implementation may be specifically referred to the description of steps 401-403 in fig. 4A, or the description of steps 401, 402a, 402B and 403 in fig. 4B.
In step 602, the first service end device sets an initial sending policy of the first link between the first service end and the first terminal device according to the state of the history link. Reference is made in particular to the implementation of step 404 in fig. 4A or fig. 4B described above.
And step 603, the first service end device sends service data to the first terminal device through the first link according to the initial sending strategy. Reference is made in particular to the implementation of step 405 in fig. 4A or fig. 4B above.
In some embodiments, the first information is a handshake message for establishing the first link. Reference is made in particular to the implementation of step 403 in fig. 4A or fig. 4B described above.
In some embodiments, the state of the historical link includes a first transmission rate, and the initial transmission policy includes an initial rate set based on the first transmission rate; or the state of the historical link comprises a second transmission rate and a round trip time RTT, and the initial sending strategy comprises an initial rate calculated based on the second transmission rate and the round trip time RTT; or, the state of the historical link includes a packet loss rate, and the initial transmission strategy includes a data message transmission redundancy rate set based on the packet loss rate. Reference is made in particular to the implementation of step 404 in fig. 4A or fig. 4B described above.
In some embodiments, the at least one server device is a plurality of server devices, and the plurality of server devices and the plurality of historical link information are in one-to-one correspondence; the method further comprises the steps of: and the terminal equipment determines the first historical link information from a plurality of historical link information according to the identification of the first server equipment. The implementation may be specifically referred to the description of steps 401-402 in fig. 4A, or the description of steps 401, 402a, and 402B in fig. 4B.
In some embodiments, when the historical link is a historical link between the first server device and the first terminal device, the first historical link information is detected by the first terminal device when the first server device sends service data to the first terminal device through the historical link; when the history link is a history link between the first server device and the second terminal device, the first history link information is detected by the second terminal device when the first server device sends service data to the first terminal device through the history link.
In one example of these embodiments, the business system further comprises an intermediary device, the method further comprising: when the first terminal device or the second terminal device detects the first historical link information, the first terminal device or the second terminal device sends the first historical link information to the intermediate device; the first terminal device sending first information to a first service end device in the at least one service end device includes: the first terminal device obtains the first historical link information from the intermediate device, and includes the first historical link information in the first information sent to the first service end device. Reference is made to the implementations described above for steps 401, 402a, 402B and 403 in figure B.
In one example of this example, when the historical link is a historical link between the first server device and the second terminal device, and the requirements of the second terminal device and the first terminal device for link quality are different, the method further includes: the intermediate device modifies the first historical link information detected by the second terminal device according to the link quality of the first terminal device; the first terminal device obtaining the first historical link information from the intermediate device includes: the first terminal device obtains the modified first historical link information from the intermediate device. Reference is made to the implementations described above for steps 401, 402a, 402B and 403 in figure B.
In some embodiments, the first link is a fast UDP internet connection protocol quit link and the historical link is a quit link or a transmission control protocol TCP link; alternatively, the first link is a TCP link, and the history link is a qic link or a transmission control protocol TCP link.
According to the data transmission method provided by the embodiment of the application, the server side equipment can determine the initial transmission strategy with high consistency with the actual network condition of the newly-built link between the terminal equipment and the server side equipment, and send service data to the terminal equipment through the newly-built link according to the initial transmission strategy, so that the risk of congestion of the newly-built link between the terminal equipment and the server side equipment can be reduced or the bandwidth waste of the newly-built link can be reduced.
The embodiment of the application also provides a data transmission device, which uses the first terminal equipment in the service system, and the service system also comprises at least one server equipment. As shown in fig. 7, the apparatus includes:
a communication unit 710, configured to send first information to a first server device in the at least one server device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network; the state of the history link is used for the first service end equipment to set an initial sending strategy of a first link between the first service end and the first terminal equipment, and the initial sending strategy is used for the first service end equipment to send service data to the first terminal equipment through the first link.
The functions of the functional units of the apparatus may be implemented by referring to the description of the operations performed by the terminal device 121, which is not described herein.
The embodiment of the application also provides a data transmission device, which uses the first service end equipment in the service system, and the service system also comprises at least one terminal equipment. As shown in fig. 8, the apparatus includes:
a receiving unit 810, configured to receive first information sent by a first terminal device in the at least one terminal device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
a setting unit 820, configured to set an initial transmission policy of a first link between the first server and the first terminal device according to the state of the history link;
and a sending unit 830, configured to send service data to the first terminal device through the first link according to the initial sending policy.
The functions of the functional units of the apparatus may be implemented by referring to the description of the operations performed by the server device 111, which is not described herein.
The embodiment of the application provides terminal equipment. Referring to fig. 9, the terminal device may include a memory 910 and a processor 920; wherein the memory 910 is used to store computer instructions; the processor 920 is configured to execute the computer instructions stored in the memory, so that the terminal device may perform the operations performed by the terminal device 121 in the embodiment shown in fig. 4A or fig. 4B, or perform the operations performed by the first terminal device in the embodiment shown in fig. 6.
The embodiment of the application provides a server device. Continuing with the illustration of FIG. 10, the server device may include a memory 1010 and a processor 1020; wherein the memory 1010 is used to store computer instructions; the processor 1020 is configured to execute the computer instructions stored in the memory, so that the server device may perform the operations performed by the server device 111 in the embodiment shown in fig. 4A or fig. 4B, or perform the operations performed by the first server device in the embodiment shown in fig. 6.
The embodiment of the present application further provides a chip, where the chip is configured to perform the above-described method, for example, perform an operation performed by the terminal device 121 or the server device 111, and further, for example, perform an operation performed by the first terminal device or the first server device.
Embodiments of the present application also provide a computer program product comprising instructions. The computer program product may be software or a program product containing instructions capable of running on a computing device or stored in any useful medium. The computer program product, when run on at least one computing device, causes the at least one computing device to perform the operations performed by the terminal device 121 or the server device 111, or the operations performed by the first terminal device or the first server device, supra.
Embodiments of the present application also provide a computer-readable storage medium. The computer readable storage medium may be any available medium that can be stored by a computing device or a host migration device such as a data center containing one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk), etc. The computer-readable storage medium includes instructions that instruct a computing device to perform the operations performed by the terminal device 121 or the server device 111 above, or to perform the operations performed by the first terminal device or the first server device above.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; these modifications or substitutions do not depart from the essence of the corresponding technical solutions from the protection scope of the technical solutions of the embodiments of the present invention.

Claims (18)

1. The data transmission method is characterized by being applied to a service system, wherein the service system comprises at least one terminal device and at least one server device; the method comprises the following steps:
a first terminal device in the at least one terminal device sends first information to a first service device in the at least one service device, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
The first service end equipment sets an initial sending strategy of a first link between the first service end and the first terminal equipment according to the state of the historical link;
and the first service end equipment sends service data to the first terminal equipment through the first link according to the initial sending strategy.
2. The method of claim 1, wherein the first information is a handshake message for establishing the first link.
3. A method according to claim 1 or 2, characterized in that,
the state of the historical link includes a first transmission rate, and the initial transmission policy includes an initial rate set based on the first transmission rate; or alternatively, the process may be performed,
the state of the historical link comprises a second transmission rate and a Round Trip Time (RTT), and the initial sending strategy comprises an initial rate calculated based on the second transmission rate and the round trip time; or alternatively, the process may be performed,
the state of the historical link comprises a packet loss rate, and the initial sending strategy comprises a data message sending redundancy rate set based on the packet loss rate.
4. A method according to any one of claims 1-3, wherein the at least one server device is a plurality of server devices, and the plurality of server devices and the plurality of historical link information are in one-to-one correspondence; the method further comprises the steps of: and the terminal equipment determines the first historical link information from a plurality of historical link information according to the identification of the first server equipment.
5. The method according to any one of claims 1 to 4, wherein,
when the history link is a history link between the first service end device and the first terminal device, the first history link information is detected by the first terminal device when the first service end device sends service data to the first terminal device through the history link;
when the history link is a history link between the first server device and the second terminal device, the first history link information is detected by the second terminal device when the first server device sends service data to the first terminal device through the history link.
6. The method of claim 5, wherein the business system further comprises an intermediary device, the method further comprising: when the first terminal device or the second terminal device detects the first historical link information, the first terminal device or the second terminal device sends the first historical link information to the intermediate device;
the first terminal device sending first information to a first service end device in the at least one service end device includes: the first terminal device obtains the first historical link information from the intermediate device, and includes the first historical link information in the first information sent to the first service end device.
7. The method of claim 6, wherein when the historical link is a historical link between the first server device and the second terminal device and the requirements of the second terminal device and the first terminal device for link quality are different, the method further comprises: the intermediate device modifies the first historical link information detected by the second terminal device according to the link quality of the first terminal device;
the first terminal device obtaining the first historical link information from the intermediate device includes: the first terminal device obtains the modified first historical link information from the intermediate device.
8. The method according to any one of claims 1 to 7, wherein,
the first link is a quick UDP internet connection protocol QUIC link, and the history link is a QUIC link or a transmission control protocol TCP link; or alternatively, the process may be performed,
the first link is a TCP link, and the history link is a QUIC link or a transmission control protocol TCP link.
9. The data transmission method is characterized by being applied to first terminal equipment in a service system, wherein the service system also comprises at least one server equipment; the method comprises the following steps:
The first terminal equipment sends first information to a first service end equipment in the at least one service end equipment, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the state of the history link is used for the first service end equipment to set an initial sending strategy of a first link between the first service end and the first terminal equipment, and the initial sending strategy is used for the first service end equipment to send service data to the first terminal equipment through the first link.
10. The method of claim 9, wherein the at least one server device is a plurality of server devices, and the plurality of server devices and the plurality of historical link information are in one-to-one correspondence; the method further comprises the steps of: and the terminal equipment determines the first historical link information from the plurality of historical link information according to the identification of the first server side equipment.
11. The data transmission method is characterized by being applied to first service end equipment in a service system, wherein the service system also comprises at least one terminal equipment; the method comprises the following steps:
the first server side equipment receives first information sent by first terminal equipment in the at least one terminal equipment, wherein the first information comprises first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the first service end equipment sets an initial sending strategy of a first link between the first service end and the first terminal equipment according to the state of the historical link;
and the first service end equipment sends service data to the first terminal equipment through the first link according to the initial sending strategy.
12. The method of claim 11, wherein the step of determining the position of the probe is performed,
the state of the historical link includes a first transmission rate, and the initial transmission policy includes an initial rate set based on the first transmission rate; or alternatively, the process may be performed,
The state of the historical link comprises a second transmission rate and a Round Trip Time (RTT), and the initial sending strategy comprises an initial rate calculated based on the second transmission rate and the round trip time; or alternatively, the process may be performed,
the state of the historical link comprises a packet loss rate, and the initial sending strategy comprises a data message sending redundancy rate set based on the packet loss rate.
13. A service system, characterized in that the service system comprises at least one terminal device and at least one server device; wherein, the liquid crystal display device comprises a liquid crystal display device,
a first terminal device of the at least one terminal device is configured to send first information to a first service device of the at least one service device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the first service end device is used for setting an initial sending strategy of a first link between the first service end and the first terminal device according to the state of the history link;
And the first service end equipment is used for sending service data to the first terminal equipment through the first link according to the initial sending strategy.
14. A data transmission device, characterized in that the device uses a first terminal device in a service system, the service system further comprises at least one server device; the device comprises:
a communication unit, configured to send first information to a first server device in the at least one server device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
the state of the history link is used for the first service end equipment to set an initial sending strategy of a first link between the first service end and the first terminal equipment, and the initial sending strategy is used for the first service end equipment to send service data to the first terminal equipment through the first link.
15. A data transmission device, characterized in that the device uses a first service end device in a service system, the service system further comprises at least one terminal device; the device comprises:
a receiving unit, configured to receive first information sent by a first terminal device in the at least one terminal device, where the first information includes first historical link information; wherein the first history link information indicates a state of a history link; the history link is a history link between the first service end device and the first terminal device, or a history link between the first service end device and a second terminal device, wherein the second terminal device and the first terminal device are in the same local area network;
a setting unit, configured to set an initial transmission policy of a first link between the first server and the first terminal device according to a state of the historical link;
and the sending unit is used for sending the service data to the first terminal equipment through the first link according to the initial sending strategy.
16. A terminal device comprising a memory and a processor; the memory is used for storing computer instructions; the processor is configured to execute the computer instructions stored in the memory to implement the method of claim 9 or 10.
17. A server device, comprising a memory and a processor; the memory is used for storing computer instructions; the processor being operative to execute the computer instructions stored in the memory to implement the method of claim 11 or 12.
18. A computer storage medium comprising computer instructions which, when run on a computing device, cause the computing device to perform the method of claim 9 or 10 or the method of claim 11 or 12.
CN202211376517.1A 2022-11-04 2022-11-04 Data transmission method, device and equipment Pending CN116132503A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211376517.1A CN116132503A (en) 2022-11-04 2022-11-04 Data transmission method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211376517.1A CN116132503A (en) 2022-11-04 2022-11-04 Data transmission method, device and equipment

Publications (1)

Publication Number Publication Date
CN116132503A true CN116132503A (en) 2023-05-16

Family

ID=86305237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211376517.1A Pending CN116132503A (en) 2022-11-04 2022-11-04 Data transmission method, device and equipment

Country Status (1)

Country Link
CN (1) CN116132503A (en)

Similar Documents

Publication Publication Date Title
JP5976277B2 (en) Transmission control method
JP5059976B2 (en) Communication apparatus and communication method
EP1520377B1 (en) Adaptive feedback technique implemented in mobile IP networks
US7913293B2 (en) Method and communication unit for communicating between communication apparatuses
US20100268761A1 (en) Methods and systems for delivery of media over a network
WO2020048478A1 (en) Transmission control method and apparatus
EP2868054B1 (en) Resilient video encoding control via explicit network indication
JP2024509728A (en) Data retransmission processing method, device, computer equipment and computer program
KR101991388B1 (en) Contents Transmission Method in Heterogeneous Network and Apparatus therefor
EP1806870B1 (en) Method for providing data and data transmission system
CN110445723B (en) Network data scheduling method and edge node
CN112436924B (en) Data transmission method and electronic equipment
EP3742746A1 (en) Method and device for realizing video service, and communication system and computer-readable storage medium
CN111435866A (en) Data transmission method and related device
JP2010028378A (en) Communication apparatus and communication method
Huang et al. The design of mobile concurrent multipath transfer in multihomed wireless mobile networks
TWI707564B (en) Wireless communication device and wireless communication method
CN116132503A (en) Data transmission method, device and equipment
CN113794752B (en) Method for optimizing MQTT based on QUIC
CN115766605A (en) Network congestion control method, device and system
KR101410510B1 (en) Method and apparatus for data transferring using Stream Control Transfer Protocol
Zink et al. Scalable TCP-friendly video distribution for heterogeneous clients
Chhangte et al. Index coding at the WiFi edge: An implementation study for video delivery
KR102131427B1 (en) Method and apparatus for performing a congestion control in stream control transmission protocol
Matsuzono et al. Efficient Pull-based Mobile Video Streaming leveraging In-Network Functions

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