CN113014499B - Data transmission method and device, electronic equipment and storage medium - Google Patents

Data transmission method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113014499B
CN113014499B CN202110198258.7A CN202110198258A CN113014499B CN 113014499 B CN113014499 B CN 113014499B CN 202110198258 A CN202110198258 A CN 202110198258A CN 113014499 B CN113014499 B CN 113014499B
Authority
CN
China
Prior art keywords
data
historical
link
transmission
current
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.)
Active
Application number
CN202110198258.7A
Other languages
Chinese (zh)
Other versions
CN113014499A (en
Inventor
郭凌峰
刘岩
陈立
李耀斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110198258.7A priority Critical patent/CN113014499B/en
Publication of CN113014499A publication Critical patent/CN113014499A/en
Application granted granted Critical
Publication of CN113014499B publication Critical patent/CN113014499B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a data transmission method, a data transmission device, electronic equipment and a storage medium, which relate to the technical field of big data, and the method comprises the following steps: acquiring historical link state information when historical data is transmitted through a target protocol link; acquiring current link state information in the target protocol link in the process of transmitting current data on the target protocol link; adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information; and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is finished. The application improves the data transmission performance in the protocol link.

Description

Data transmission method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of data transmission technologies, and in particular, to a data transmission method and apparatus, an electronic device, and a storage medium.
Background
With the development of big data technologies such as cloud computing, scenes of data transmission through protocol links in a network are more and more common, and how to improve the data transmission performance in the protocol links is very important.
At present, in the process of data transmission through a protocol link, data transmission acceleration processing is usually performed through a fixed data transmission acceleration strategy, and data transmission performance can be ensured to a certain extent, for example, data transmission acceleration processing is performed through a fixed congestion control algorithm in the data transmission process.
However, when a fixed data transmission acceleration strategy is generally used, it is not possible to effectively cope with the change of the network environment in the whole data transmission flow, and thus, the prior art has a problem that the data transmission performance in the protocol link is limited.
Disclosure of Invention
The embodiment of the application provides a data transmission method and a related device, and aims to improve the data transmission performance in a protocol link.
In order to solve the above technical problem, an embodiment of the present application provides the following technical solutions:
according to an embodiment of the present application, a data transmission method includes: acquiring historical link state information when historical data is transmitted through a target protocol link; acquiring current link state information in the target protocol link in the process of transmitting current data on the target protocol link; adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information; and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is finished.
According to an embodiment of the present application, a data transmission apparatus includes: the history acquisition module is used for acquiring historical link state information when historical data are transmitted through a target protocol link; a current obtaining module, configured to obtain current link state information in the target protocol link in a process of transmitting current data on the target protocol link; the dynamic adjustment module is used for adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information; and the control module is used for controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is completed.
In some embodiments of the present application, the historical link state information comprises historical link buffer size information; the current link state information includes current link buffer size information; the dynamic adjustment module comprises: the real-time comparison unit is used for comparing the size information of the historical link buffer area and the size information of the current link buffer area in real time to obtain a comparison result; and the real-time adjusting unit is used for adjusting the data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result.
In some embodiments of the present application, the historical link buffer size information includes a historical bandwidth delay product and a sending data volume safety threshold, where the sending data volume safety threshold is greater than or equal to the historical bandwidth delay product; the current link buffer size information comprises a current bandwidth-delay product; the real-time adjustment unit comprises: a first adjusting subunit, configured to adjust the data accelerated transmission policy corresponding to the target protocol link to a first data accelerated transmission policy when the comparison result indicates that the current bandwidth delay product is smaller than the historical bandwidth delay product; a second adjusting subunit, configured to adjust the data accelerated transmission policy corresponding to the target protocol link to a second data accelerated transmission policy when the comparison result indicates that the current bandwidth delay product is greater than the historical bandwidth delay product and the current bandwidth delay product is less than or equal to the sending data amount security threshold; and a third adjusting subunit, configured to adjust the data accelerated transmission policy corresponding to the target protocol link to a third data accelerated transmission policy when the comparison result indicates that the current bandwidth-delay product is greater than the sent data amount security threshold.
In some embodiments of the present application, the control module comprises: a first control unit, configured to control, when the adjusted data acceleration transmission policy is the first data transmission acceleration policy, to increase a single data transmission amount on the target protocol link according to a predetermined data transmission rate, and to transmit the current data until the single data transmission amount on the target protocol link reaches the historical bandwidth delay product; a second control unit, configured to adjust a single data transmission amount on the target protocol link through periodic bandwidth detection when the adjusted data acceleration transmission policy is the second data transmission acceleration policy, and transmit the current data until a current bandwidth delay product on the target protocol link reaches the transmission data amount security threshold; a third control unit, configured to, when the adjusted data acceleration transmission policy is the third data transmission acceleration policy, control to increase a single data transmission amount on the target protocol link according to a predetermined rule, and when a packet loss occurs on the target protocol link, send the current data by adjusting the increased single data transmission amount until the transmission of the current data is completed.
In some embodiments of the present application, the dynamic adjustment module includes: and the preset adjusting unit is used for adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a preset data accelerated transmission strategy when the historical link state information is null.
In some embodiments of the present application, the apparatus further comprises: the acquisition module is used for acquiring the size information of the link buffer area when the historical data is transmitted through the target protocol link every time to obtain the size information of the historical link buffer area; and the normalization module is used for performing normalization processing on the historical link buffer area size information to obtain the historical link state information.
In some embodiments of the present application, the size information of the historical link buffer includes a limit bandwidth delay product, a congestion bandwidth delay product, and an unacknowledged data volume, where the limit bandwidth delay product is a bandwidth delay product corresponding to a last transmission time point at which historical data is transmitted each time, the congestion bandwidth delay product is a bandwidth delay product corresponding to a time point at which congestion occurs in transmission is detected each time, and the unacknowledged data volume is a data volume which has been sent but has not received an acknowledgment at a time point at which congestion occurs in transmission is detected each time; the normalization module comprises: the weighting processing unit is used for weighting and summing all the limit bandwidth delay products to obtain historical bandwidth delay products; the maximum confirmation unit is used for taking the maximum numerical value in all the congestion bandwidth delay products and the unconfirmed data volume as a safety threshold value of the sending data volume; and the information determining unit is used for taking the historical bandwidth delay product and the sending data volume safety threshold as the historical link state information.
In some embodiments of the present application, the weighting processing unit includes: a previous obtaining subunit, configured to obtain a previous limited bandwidth delay product, where the previous limited bandwidth delay product is a limited bandwidth delay product corresponding to a previous transmission of historical data, and the previous historical data is data transmitted one time before the current data; a previous acquiring subunit, configured to acquire a previous historical bandwidth delay product, where the previous historical bandwidth delay product is obtained by performing weighted summation on a limit bandwidth delay product corresponding to the transmission of the previous historical data according to a predetermined weighting coefficient, and the previous historical data is data transmitted before the previous historical data; and the weighted summation subunit is used for weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to the preset weighting coefficient to obtain the historical bandwidth delay product.
In some embodiments of the present application, the predetermined weighting coefficients include a first weighting coefficient and a second weighting coefficient; the weighted summation subunit is configured to multiply the previous historical bandwidth delay product by the first weighting coefficient to obtain a first weighted term; multiplying the previous limited bandwidth delay product by the second weighting coefficient to obtain a second weighting term; and adding the first weighted term and the second weighted term to obtain the historical bandwidth-delay product.
In some embodiments of the present application, the history acquisition module includes: the device comprises a hash table acquisition unit, a hash table acquisition unit and a hash table processing unit, wherein the hash table acquisition unit is used for acquiring a preset hash table which is used for storing historical link state information corresponding to a protocol link; and the query unit is used for querying the historical link state information corresponding to the target protocol link from the preset hash table.
In some embodiments of the present application, the target protocol link corresponds to a target data sender, and the preset hash table stores a sender identifier and historical link state information associated with the sender identifier; the query unit comprises: an identifier obtaining subunit, configured to obtain a sender identifier of the target data sender; and the query subunit is configured to query, from the preset hash table, historical link state information associated with the sender identifier of the target data sender.
In some embodiments of the present application, the apparatus further comprises an update module comprising: the current acquisition unit is used for acquiring the size information of the buffer area of the current link in the process of transmitting the current data in the target protocol link; the current normalization unit is used for normalizing the current link buffer area size information and the historical link buffer area size information to obtain updated historical link state information; and the updating unit is used for updating the historical link state information corresponding to the target protocol link in the preset hash table by using the updated historical link state information.
According to another embodiment of the present application, an electronic device may include: a memory storing computer readable instructions; and a processor for reading the computer readable instructions stored in the memory to perform the methods of the embodiments.
According to another embodiment of the present application, a storage medium has stored thereon computer-readable instructions which, when executed by a processor of a computer, cause the computer to perform the method of the embodiments of the present application.
According to another embodiment of the present application, a computer program product or computer program comprises computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided in the various alternative implementations described in the embodiments of this application.
The method comprises the steps of acquiring historical link state information when historical data are transmitted through a target protocol link; acquiring current link state information in a target protocol link in the process of transmitting current data on the target protocol link; adjusting a data accelerated transmission strategy corresponding to a target protocol link according to the historical link state information and the current link state information; and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is completed.
Furthermore, in the process of transmitting the current data on the target protocol link, the data acceleration transmission strategy can be dynamically adjusted, the target protocol link is controlled to accelerate the transmission of the current data, and the dynamic adjustment of the data acceleration transmission strategy is guided by the historical link state information, so that various link conditions in the protocol link can be effectively responded, the data transmission can be rapidly and safely carried out, the transmission quality of the target protocol link is effectively improved, and the data transmission performance in the protocol link is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 shows a schematic diagram of a system to which embodiments of the present application may be applied.
Fig. 2 shows a schematic diagram of another system 200 to which embodiments of the present application may be applied.
Fig. 3 shows a flow diagram of a data transmission method according to an embodiment of the application.
FIG. 4 illustrates a flow diagram of a method of querying historical link-state information according to one embodiment of the present application.
FIG. 5 shows a flow diagram of a method of obtaining historical link-state information according to one embodiment of the present application.
FIG. 6 shows a flow diagram of a normalization processing method according to an embodiment of the application.
FIG. 7 illustrates a flow diagram of a method of adjusting a data acceleration transmission policy according to one embodiment of the present application.
Fig. 8 shows a flow chart of data transmission in one scenario in which embodiments of the present application are applied.
FIG. 9 shows a block diagram of a data transmission device according to an embodiment of the present application.
FIG. 10 shows a block diagram of an electronic device according to an embodiment of the application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In the description that follows, specific embodiments of the present application will be described with reference to steps and symbols executed by one or more computers, unless otherwise indicated. Accordingly, these steps and operations will be referred to, several times, as being performed by a computer, the computer performing operations involving a processing unit of the computer in electronic signals representing data in a structured form. This operation transforms the data or maintains it at locations in the computer's memory system, which may be reconfigured or otherwise altered in a manner well known to those skilled in the art. The data maintains a data structure that is a physical location of the memory that has particular characteristics defined by the data format. However, while the principles of the application have been described in language specific to above, it is not intended to be limited to the specific form set forth herein, and it will be recognized by those of ordinary skill in the art that various of the steps and operations described below may be implemented in hardware.
FIG. 1 shows a schematic diagram of a system 100 to which embodiments of the present application may be applied. As shown in fig. 1, the system 100 may include a server 101 and a terminal 102, where the server 101 may receive, store and distribute data, and the terminal 102 may also receive, store and distribute data.
The server 101 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, middleware service, a domain name service, a security service, a CDN, a big data and artificial intelligence platform, and the like. The server 101 may perform background tasks and data assets may be stored in the server 101.
In one embodiment, the server 101 may provide an artificial intelligence cloud service, such as an artificial intelligence cloud service that provides Massively Multiplayer Online Role Playing Games (MMORPGs). The so-called artificial intelligence cloud Service is also generally called AIaaS (AI as a Service, chinese). The method is a service mode of an artificial intelligence platform, and particularly, the AIaaS platform splits several types of common AI services and provides independent or packaged services at a cloud. This service model is similar to the one opened in an AI theme mall: all developers can access one or more artificial intelligence services provided by the platform through an API (application programming interface), and some qualified developers can also use an AI framework and an AI infrastructure provided by the platform to deploy and operate and maintain self-dedicated cloud artificial intelligence services, for example, the server 101 can provide artificial intelligence-based data processing.
The terminal 102 may be an edge device such as a smart phone, a computer, etc. The user can perform operations such as updating, modifying and deleting data through the client on the terminal 102.
The client on the terminal 102 may transmit data to the server 101 through a target Protocol link, where the target Protocol link may include a transport layer Protocol-based link, such as a Transmission Control Protocol (TCP) link or a User Datagram Protocol (UDP) link Transmission, and other transport layer protocols.
The terminal 102 and the server 101 may be directly or indirectly connected through wireless communication, and the application is not limited in this respect.
In one embodiment of this example, the server 101 may obtain historical link state information when transmitting historical data over the target protocol link; acquiring current link state information in a target protocol link in the process of transmitting current data on the target protocol link; adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information; and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data accelerated transmission strategy until the transmission of the current data is completed.
Fig. 2 shows a schematic diagram of another system 200 to which embodiments of the present application may be applied. As shown in fig. 2, the system 200 may be a distributed system formed by a client 201, a plurality of nodes 202 (any form of computing device in an access network, such as a server, a user terminal) connected by way of network communication.
Taking a distributed system as an example of a blockchain system, referring To fig. 2, fig. 2 is an optional structural schematic diagram of the distributed system 200 applied To the blockchain system provided in this embodiment of the present application, and is formed by a plurality of nodes 202 (computing devices in any form in an access network, such as servers and user terminals) and a client 201, a Peer-To-Peer (P2P, Peer To Peer) network is formed between the nodes, and the P2P Protocol is an application layer Protocol operating on a Transmission Control Protocol (TCP). In a distributed system, any machine, such as a server, a terminal, may join to become a node 202, which includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.
Referring to the functions of each node in the blockchain system shown in fig. 2, the functions involved include:
1) routing, a basic function that a node has, is used to support communication between nodes.
Besides the routing function, the node may also have the following functions:
2) the application is used for being deployed in a block chain, realizing specific services according to actual service requirements, recording data related to the realization functions to form recorded data, carrying a digital signature in the recorded data to represent a source of task data, and sending the recorded data to other nodes in the block chain system, so that the recorded data is added to a temporary block when the other nodes verify the source and the integrity of the recorded data.
For example, the services implemented by the applications include:
2.1) wallet, for providing the function of transaction of electronic money, including initiating transaction (i.e. sending the transaction record of current transaction to other nodes in the blockchain system, after the other nodes are successfully verified, storing the record data of transaction in the temporary blocks of the blockchain as the response of confirming the transaction is valid; of course, the wallet also supports the querying of the remaining electronic money in the electronic money address;
and 2.2) sharing the account book, wherein the shared account book is used for providing functions of operations such as storage, query and modification of account data, record data of the operations on the account data are sent to other nodes in the block chain system, and after the other nodes verify the validity, the record data are stored in a temporary block as a response for acknowledging that the account data are valid, and confirmation can be sent to the node initiating the operations.
2.3) Intelligent contracts, computerized agreements, which can enforce the terms of a contract, implemented by codes deployed on a shared ledger for execution when certain conditions are met, for completing automated transactions according to actual business requirement codes, such as querying the logistics status of goods purchased by a buyer, transferring the buyer's electronic money to the merchant's address after the buyer signs for the goods; of course, intelligent contracts are not limited to executing contracts for trading, but may also execute contracts that process received information.
3) And the Block chain comprises a series of blocks (blocks) which are mutually connected according to the generated chronological order, new blocks cannot be removed once being added into the Block chain, and recorded data submitted by nodes in the Block chain system are recorded in the blocks.
The nodes 202 may transmit data therebetween through a target Protocol link, which may include a link based on a transport layer Protocol, such as a Transmission Control Protocol (TCP) link or a User Datagram Protocol (UDP) link Transmission, and other transport layer protocols.
In one embodiment of this example, node 202 may obtain historical link state information when transmitting historical data over a target protocol link; acquiring current link state information in a target protocol link in the process of transmitting current data on the target protocol link; adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information; and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is completed.
Fig. 3 schematically shows a flow chart of a data transmission method according to an embodiment of the application. The execution subject of the data transmission method may be an electronic device having a calculation processing function, such as the server 101 or the terminal 102 shown in fig. 1 or the node 202 or the client 201 in fig. 2.
As shown in fig. 3, the data transmission method may include steps S210 to S240.
Step S210, obtaining historical link state information when historical data is transmitted through a target protocol link;
step S220, acquiring the current link state information in the target protocol link in the process of transmitting the current data on the target protocol link;
step S230, adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information;
step S240, controlling the target protocol link to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed.
The following describes a specific process of each step performed when data is transmitted.
In step S210, historical link state information at the time of transmission of the historical data over the target protocol link is acquired.
In the present exemplary embodiment, the target protocol link is a data transmission link between a data sending party (e.g. client) and a data receiving party (e.g. server) established based on a data transmission protocol. In this example, the target Protocol link includes a transport layer Protocol-based link, such as a Transmission Control Protocol (TCP) link or a User Datagram Protocol (UDP) link transport, among other transport layer protocols. The historical data may include various types of data such as files and audio-video sessions.
The historical link state information is information related to the network link quality corresponding to the target protocol link, for example, information related to the size of a link Buffer (Buffer), such as bandwidth information, round trip time product (RTT), congestion window (CWnd) information, and transmission window information, when historical data is transmitted through the target protocol link.
The process of transmitting data on the target protocol link each time includes a plurality of data transmission processes, for example, the target protocol link is regarded as performing one data transmission process from establishment to disconnection, in the process of transmitting data, the data to be transmitted is packaged into a plurality of data packets, and the data packets are transmitted for a plurality of times, and a few data packets are transmitted each time.
Historical link state information when historical data are transmitted through the target protocol link is obtained, the historical transmission state of the target protocol link can be reflected, and the transmission process is guided.
In one embodiment, the target protocol link is a transmission control protocol link, and the transmission control protocol link is established by a three-way handshake protocol between the client and the server, that is, the client performs three-way handshake interaction between the server and the client in a preparation stage of sending data, and a first handshake: the client SENDs a first connection message (SYN packet (SYN ═ j)) to the server, enters a connection sending state (SYN _ SEND state), and waits for the server to confirm; second handshake: the server receives a first connection message (SYN packet (SYN j)), and confirms the first connection message of the client through a confirmation response (ACK j +1), and simultaneously sends a second connection message, namely, a SYN + ACK packet (SYN k, ACK j +1), and then the server enters a connection sending state (SYN _ RECV state); third handshake: the client receives the SYN + ACK packet from the server, and sends an acknowledgement packet ACK (ACK ═ k +1) to the server, after the acknowledgement packet ACK (ACK ═ k +1) is sent, the client and the server enter a connection (ESTABLISHED) state, three-way handshake is completed, and after the connection is ESTABLISHED, data transmission can be started between the client and the server.
In one embodiment, referring to fig. 4, step S210, acquiring historical link status information when historical data is transmitted through a target protocol link, includes:
step S310, acquiring a preset hash table, wherein the preset hash table is used for storing historical link state information corresponding to a protocol link;
step S320, querying historical link state information corresponding to the target protocol link from a preset hash table.
The preset hash table may be a hash table applied in advance by a link management module (e.g., a TCP module), and is used to store link state information of each protocol link so as to be acquired as required, and the link state information is stored in the hash table in the form of a hash code, and meanwhile, data security may be ensured.
Furthermore, when the current data is ready to be transmitted in the target protocol link, the historical link state information corresponding to the target protocol link can be safely acquired from the hash table, and when the buffer area of the link is large enough, the size information of the link buffer area can be stored in the hash table every time the historical data is transmitted; when the buffer area of the link is small, the hash table can only store historical link state information obtained by normalizing historical link buffer area size information.
It can be understood that, when data is transmitted in a target protocol link for the first time, the acquired historical link state information corresponding to the target protocol link is null, that is, the historical link state information corresponding to the target protocol link is not acquired.
In one embodiment, the target protocol link corresponds to a target data sender, and a preset hash table stores sender identification and historical link state information associated with the sender identification; step S320, querying historical link state information corresponding to the target protocol link from a preset hash table, including:
acquiring a sender identifier of a target data sender;
and querying historical link state information associated with the sender identification of the target data sender from the preset hash table.
The target data sender may be a target client, and the sender identity is a unique identity of the target client (e.g., client ip). The same data receiver (e.g. server) can correspond to many data senders, and the protocol link between the data sender and the data receiver can be accurately determined according to the sender identification of the data sender.
Furthermore, the sender identification and the historical link state information associated with the sender identification are stored in the preset hash table, and for the same data receiver, the historical link state information corresponding to the target protocol link can be accurately obtained by inquiring the historical link state information associated with the sender identification of the target data sender from the preset hash table.
In one embodiment, the target protocol link corresponds to a target data sender and a target data receiver, and a preset hash table stores sender identification and receiver identification and historical link state information simultaneously associated with the sender identification and the receiver identification; inquiring historical link state information associated with a sender identifier of a target data sender from a preset hash table, wherein the historical link state information comprises the following steps:
acquiring a sender identifier of a target data sender and a receiver identifier of a target data receiver;
and inquiring historical link state information which is simultaneously related to the sender identification of the target data sender and the receiver identification of the target data receiver from a preset hash table.
Therefore, the protocol link between the target data sender and the target data receiver can be accurately determined through the sender identification of the target data sender and the receiver identification of the target data receiver, and for a plurality of data receivers, historical link state information corresponding to the protocol link between the target data sender and the target data receiver can be accurately obtained by inquiring historical link state information which is simultaneously associated with the sender identification of the target data sender and the receiver identification of the target data receiver from a preset hash table.
In one embodiment, referring to fig. 5, before acquiring the historical link state information when the historical data is transmitted through the target protocol link in step S210, the method further includes:
step S410, obtaining the size information of the link buffer area when the historical data is transmitted through the target protocol link each time, and obtaining the size information of the historical link buffer area;
step S420, the size information of the historical link buffer area is normalized to obtain the historical link state information.
The link Buffer size information may include information related to a link Buffer (Buffer) size, such as bandwidth information, round trip time product (RTT), congestion window (CWnd) information, and transmission window information in a protocol link. The link Buffer area reserves certain storage space in the memory space, the storage space is used for buffering input or output data, the size of the link Buffer area (Buffer) greatly affects the data transmission performance in the protocol link, and further, the size information of the link Buffer area can effectively reflect the network link quality when the data is transmitted.
The method comprises the steps of obtaining link buffer area size information when historical data are transmitted through a target protocol link every time, obtaining historical link buffer area size information, conducting normalization processing to obtain historical link state information, further synthesizing historical link state information with all historical link buffer area size information in the target protocol link, and guaranteeing reliability of historical link state information on dynamic adjustment guidance of a data transmission strategy. Compared with the implementation mode of guiding only by adopting the size information of the single link buffer area, the method can effectively improve the guiding reliability.
In an embodiment, referring to fig. 6, the size information of the historical link buffer includes a limit bandwidth delay product, a congestion bandwidth delay product, and an unacknowledged data amount, where the limit bandwidth delay product is a bandwidth delay product corresponding to a last transmission time point of each transmission of the historical data, the congestion bandwidth delay product is a bandwidth delay product corresponding to a time point of each detection of congestion occurring in transmission, and the unacknowledged data amount is a data amount that has been sent but has not received an acknowledgment at the time point of each detection of congestion occurring in transmission; step S420, performing normalization processing on the historical link buffer size information to obtain historical link state information, including:
step S510, weighting and summing all the time delay products of the limit bandwidth to obtain historical time delay products of the bandwidth;
step S520, taking the maximum value of all the congestion bandwidth delay products and the unconfirmed data volume as the safety threshold of the sending data volume;
step S530, using the historical bandwidth delay product and the safety threshold of the sending data amount as the historical link state information.
The bandwidth-delay product (BDP) is obtained by multiplying the link bandwidth by the minimum round trip delay (RTT). I.e., the one-time bandwidth delay product is the minimum amount of packet transmission required for the sender to fully utilize the link bandwidth.
The limit bandwidth delay product is a bandwidth delay product corresponding to the last transmission time point of each transmission of the historical data, and may be a bandwidth delay product corresponding to the time point of each completion of the transmission of the historical data, that is, a maximum bandwidth delay product in each normal transmission of the data. After each time of transmitting the historical data, if data acceleration processing is performed (for example, if the data is very little and the transmission is completed, but the slow start algorithm is still being executed), the bandwidth-delay product corresponding to the last transmission time point may be the bandwidth-delay product corresponding to the time point at which the data acceleration processing is completed.
The congestion bandwidth delay product is a bandwidth delay product corresponding to a point in time when congestion occurs in transmission is detected each time, for example, when congestion is detected to be sent for 2 times in a process of transmitting historical data for a certain time in a target protocol link, the bandwidth delay product is obtained at the point in time when the congestion occurs for 2 times. After the sender sends out the data, when the sender does not receive the acknowledgement within a preset time period, the sender can consider that congestion occurs in the protocol link.
The unacknowledged data volume is the data volume which is sent but not received at the time point when the congestion is detected to occur in transmission, for example, in the process of transmitting historical data for a certain time in a target protocol link, 10 data packets are sent out at a certain time point when the congestion occurs, but only 2 data packets are received, and the other 8 data packets are the data volume which is sent but not received.
And weighting and summing all the limit bandwidth delay products to obtain historical bandwidth delay products, wherein the historical bandwidth delay products can be effectively integrated with the maximum bandwidth delay products when data are normally transmitted on the target protocol link based on the historical bandwidth delay products. The maximum value of all the congestion bandwidth delay products and the unconfirmed data volume is used as a safety threshold of the sending data volume, and the maximum bearable data sending volume on the target protocol link can be effectively reflected on the basis of the safety threshold of the sending data volume.
Furthermore, the historical bandwidth delay product and the safety threshold of the sending data volume are used as historical link state information, and the historical link state information can be used as guidance for the maximum bandwidth delay product and the maximum acceptable data sending volume when the current data is transmitted normally.
In one embodiment, step S510 is to sum all the extreme bandwidth-delay products in a weighted manner to obtain a historical bandwidth-delay product, and includes:
acquiring a previous limited bandwidth delay product, wherein the previous limited bandwidth delay product is a limited bandwidth delay product corresponding to the previous historical data when the previous historical data is transmitted, and the previous historical data is data transmitted before the current data;
acquiring a previous historical bandwidth delay product, wherein the previous historical bandwidth delay product is obtained by weighting and summing a limit bandwidth delay product corresponding to the transmission of the historical data before the transmission according to a preset weighting coefficient, and the historical data before the transmission is the data transmitted before the historical data before the transmission;
and weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to a preset weighting coefficient to obtain the historical bandwidth delay product.
The previous history data is data transmitted one time before the current data, for example, the current data is data transmitted 6 th time in the target protocol link (i.e., the client and the server establish the target protocol link 6 th time to transmit the current data), and the previous history data is data transmitted 5 th time in the target protocol link (i.e., the client and the server establish the target protocol link 5 th time to transmit the previous history data).
The previous history data is data transmitted before the previous history data, i.e. data transmitted from 1 st to 4 th times in the target protocol link (i.e. the client and the server establish the target protocol link from 1 st to 4 th times to transmit the previous history data).
The prior historical bandwidth delay product is obtained by weighting and summing the corresponding limit bandwidth delay product when the prior historical data is transmitted according to a preset weighting coefficient, for example, the 1 st limiting bandwidth delay product and the 2 nd limiting bandwidth delay product are weighted and summed according to a predetermined weighting coefficient to obtain a second historical bandwidth delay product (as guidance for the 3 rd transmission data), the second historical bandwidth delay product and the 3 rd limiting bandwidth delay product are weighted and summed according to a predetermined weighting coefficient to obtain a third historical bandwidth delay product (as guidance for the 4 th transmission data), the third historical bandwidth delay product and the 4 th limiting bandwidth delay product are weighted and summed according to a predetermined weighting coefficient to obtain a fourth historical bandwidth delay product (as guidance for the 5 th transmission data), it is understood that the 1 st extreme bandwidth-delay product directly serves as the first historical bandwidth-delay product (as a guide for the 2 nd transmission data).
Furthermore, the historical bandwidth delay product and the previous limit bandwidth delay product are weighted and summed according to a preset weighting coefficient to obtain the historical bandwidth delay product (as a guide for transmitting the current data), and the applicant finds that the historical limit bandwidth delay product can be reliably integrated to guide transmission.
In one embodiment, the following may be expressed according to the formula: BDPWMA2=BDPWMA1/m+BDPfThe following historical bandwidth delay product and the last limited bandwidth delay product are weighted and summed according to a preset weighting coefficient to obtain the historical bandwidth delay product, wherein the BDPWMA2For historical bandwidth-delay product, BDPWMA1For the preceding historical bandwidth-delay product, BDPfM and n are predetermined weighting coefficients, and m + n is 1.
In one embodiment, the step of weighting the predetermined weighting factor with a first weighting factor and a second weighting factor, and summing the previous historical bandwidth-delay product and the previous limited bandwidth-delay product in a weighted manner according to the predetermined weighting factor to obtain the historical bandwidth-delay product includes: multiplying the time delay product of the previous historical bandwidth by a first weighting coefficient to obtain a first weighting item; multiplying the previous limited bandwidth time delay product by a second weighting coefficient to obtain a second weighting term; and adding the first weighted term and the second weighted term to obtain a historical bandwidth time-delay product.
In this example, the following may be expressed according to the formula: BDPWMA21=BDPWMA1/2+BDPfAnd/2, weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to a first weighting coefficient of 1/2 and a second weighting coefficient of 1/2 to obtain a first historical bandwidth delay product, wherein the BDPWMA21For the first historical bandwidth-delay product, BDPWMA1For the preceding historical bandwidth-delay product, BDPfFor the previous limit bandwidth delay productM-1/2 and n-1/2 are predetermined weighting coefficients, and m + n-1. According to the formula: BDPWMA22=BDPWMA1/8+7*BDPfAnd 8, weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to a first weighting coefficient of 1/8 and a second weighting coefficient of 7/8 to obtain a second historical bandwidth delay product, wherein the BDPWMA22For the second historical bandwidth-delay product, BDPWMA1For the preceding historical bandwidth-delay product, BDPfFor the previous minimum bandwidth-delay product, m-1/8 and n-7/8 are predetermined weighting coefficients, and m + n is 1. The applicant finds that the guiding reliability of the historical bandwidth-delay product can be further reliably ensured based on one of the two preset weighting coefficients.
In step S220, during the process of transmitting the current data on the target protocol link, the current link state information in the target protocol link is obtained.
In the embodiment of this example, the current data is data transmitted this time on the target protocol link. When the current link state information is the current data transmitted through the target protocol link, the network link quality related information corresponding to the target protocol link, for example, the current bandwidth information, round trip time product information (RTT), congestion window (CWnd) information, and send window information, and the like, are related to the size of the link Buffer, and the information related to the size of the link Buffer can effectively reflect the current network link quality.
In the process of transmitting current data on the target protocol link, current link state information in the target protocol link is acquired, that is, the current link state information in the target protocol link is continuously acquired from a time point (which may be a time point at which the target protocol link is established) at which data transmission is to be started to a time point (which may be a time point at which the target protocol link is disconnected) at which data transmission on the target protocol link is finished.
In step S230, a data acceleration transmission policy corresponding to the target protocol link is adjusted according to the historical link state information and the current link state information.
In the present exemplary embodiment, the data acceleration transmission policy is a policy for controlling the amount of data transmitted on a protocol link. The data acceleration transmission strategy may include: an accelerated transmission strategy based on a slow start algorithm (i.e. a strategy for controlling the size of a congestion window (a single data transmission amount, i.e. the amount of data transmitted by a sender at one time) to increase exponentially), an accelerated transmission strategy based on a congestion control algorithm of link capacity (i.e. a strategy for controlling the size of a congestion window by measuring bandwidth and delay in real time through periodic bandwidth detection, and considering that congestion occurs when the total amount of data on a link is greater than the bandwidth-delay product, and further controlling the size of the congestion window), an accelerated transmission strategy based on a congestion control algorithm of packet loss (i.e. a method for determining packet loss as congestion and adopting slow bandwidth detection, and gradually increasing the congestion window, and reducing the congestion window when packet loss occurs, and algorithms of packet loss, such as Reno and Cubic) and an accelerated transmission strategy based on a learned congestion control algorithm (i.e. a strategy trained based on training data (including historical link state information and current link state information samples) A machine learning model, a policy for controlling the size of a congestion window according to historical link state information and current link state information based on the machine learning model, and the like.
In the process of transmitting the current data on the target protocol link, comparing the historical link state information with the current link state information acquired in the process of transmitting the current data, the link quality information in the process of transmitting the current data on the target protocol link can be continuously determined, and then a data accelerated transmission strategy suitable for the current data transmission can be selected according to the link quality information, so that the data accelerated transmission strategy corresponding to the target protocol link can be dynamically adjusted.
The method can switch a plurality of preset data accelerated transmission strategies according to the link quality information determined in real time in the process of transmitting the current data on the target protocol link, effectively utilize the advantages of different data accelerated transmission strategies and ensure the reliability of the currently used data accelerated transmission strategy.
In one embodiment, referring to FIG. 7, the historical link state information includes historical link buffer size information; the current link state information includes current link buffer size information; step S230, according to the historical link status information and the current link status information, adjusting a data accelerated transmission policy corresponding to the target protocol link, including:
step S610, comparing the size information of the historical link buffer area and the size information of the current link buffer area in real time to obtain a comparison result;
and step S620, adjusting the data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result.
Comparing the historical link buffer area size information with the current link buffer area size information in real time, namely continuously comparing the current link buffer area size information acquired in real time with the historical link buffer area size information in the process of transmitting current data in a target protocol link to obtain difference information, wherein the difference information can reflect the network link quality in the current transmission process, and further can adjust a data accelerated transmission strategy corresponding to the target protocol link in real time according to a comparison result.
In one embodiment, the historical link buffer size information comprises a historical bandwidth delay product and a safety threshold of data volume to be sent, wherein the safety threshold of the data volume to be sent is greater than or equal to the historical bandwidth delay product; the current link buffer size information comprises a current bandwidth-delay product; step S420, according to the comparison result, adjusting the data accelerated transmission policy corresponding to the target protocol link in real time, including:
when the comparison result is that the current bandwidth delay product is smaller than the historical bandwidth delay product, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a first data accelerated transmission strategy;
when the comparison result is that the current bandwidth delay product is larger than the historical bandwidth delay product and the current bandwidth delay product is smaller than or equal to the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a second data accelerated transmission strategy;
and when the comparison result shows that the current bandwidth delay product is larger than the safety threshold of the data sending quantity, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a third data accelerated transmission strategy.
When the current bandwidth delay product is smaller than the historical bandwidth delay product, the data transmission amount of the current transmission stage (the stage is usually the stage of starting data transmission) is far from the limit transmission amount of the link. When the current bandwidth delay product is larger than the historical bandwidth delay product and the current bandwidth delay product is smaller than or equal to the safety threshold of the data sending quantity, the data sending quantity of the current transmission stage may exceed the limit sending quantity of the link, but the probability of congestion is low.
Furthermore, for the three link transmission conditions, the accelerated data transmission can be reliably controlled in time based on the accelerated data transmission strategy corresponding to each link transmission condition by correspondingly adjusting the first accelerated data transmission strategy, the second accelerated data transmission strategy and the third accelerated data transmission strategy.
In one embodiment, the first data transmission acceleration strategy comprises a slow start algorithm, the second data transmission acceleration strategy comprises a congestion control algorithm based on link capacity, and the third data transmission acceleration strategy comprises a congestion control algorithm based on packet loss.
A slow start algorithm is a strategy for controlling the size of a congestion window (namely the data volume sent by a sender at one time) to increase exponentially; a congestion control algorithm based on link capacity, namely, network bandwidth and time delay are measured in real time, and when the total amount of data on a link is considered to be larger than the bandwidth-time delay product, congestion occurs, so that the size of a congestion window is controlled, such as a BBR algorithm; the congestion control algorithm based on packet loss regards packet loss as congestion, a slow bandwidth detection method is adopted to gradually increase a congestion window, and when packet loss occurs, the congestion window is reduced, such as Reno and Cubic algorithms. The applicant finds that the data transmission can be safely and efficiently performed by effectively coping with the transmission condition of each link.
In the embodiment of this example, the first data transmission acceleration strategy is a slow start algorithm, the second data transmission acceleration strategy is a BBR algorithm, and the third data transmission acceleration strategy is a Cubic algorithm. The applicant has found that this allows the most secure and efficient transfer of data.
In one embodiment, step S230, adjusting the data acceleration transmission policy corresponding to the target protocol link according to the historical link state information and the current link state information includes:
and when the historical link state information is empty, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a preset data accelerated transmission strategy.
When the historical link state information is empty, the target protocol link is indicated as the first data transmission or the first target protocol link establishment. At this time, the data acceleration transmission strategy corresponding to the target protocol link is adjusted to be a preset data acceleration transmission strategy, that is, the target protocol link is controlled to transmit the current data according to the preset data acceleration transmission strategy. The preset data acceleration transmission strategy can be a congestion control algorithm based on link capacity or a congestion control algorithm based on packet loss.
In an embodiment, when the historical link state information is null, the data accelerated transmission policy corresponding to the target protocol link is adjusted to be a BBR algorithm.
In step S240, the target protocol link is controlled to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed.
In the embodiment of the present example, during the process of transmitting the current data on the target protocol link, the data transmission policy is dynamically switched to the adjusted data accelerated transmission policy, and the target protocol link is controlled to accelerate the transmission of the current data, for example, during a first time period, the first data accelerated transmission policy is used to control the target protocol link to accelerate the transmission of the current data, and during a second time period, the second data accelerated transmission policy is switched to control the target protocol link to accelerate the transmission of the current data until the transmission of the current data is completed, so that various network conditions during the process of transmitting the current data on the target protocol link can be effectively ensured to be reliably coped with.
In one embodiment, step S240, controlling the target protocol link to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed, includes:
when the adjusted data acceleration transmission strategy is the first data transmission acceleration strategy, controlling the target protocol link to increase the single data transmission quantity according to the preset data transmission rate, and transmitting the current data until the single data transmission quantity on the target protocol link reaches the historical bandwidth delay product;
when the adjusted data acceleration transmission strategy is a second data transmission acceleration strategy, adjusting the single data transmission quantity on the target protocol link through periodic bandwidth detection, and transmitting the current data until the current bandwidth delay product on the target protocol link reaches the data transmission quantity safety threshold;
and when the adjusted data acceleration transmission strategy is the third data transmission acceleration strategy, controlling the target protocol link to increase the single data transmission quantity according to a preset rule, and transmitting the current data by adjusting the increased single data transmission quantity when packet loss occurs on the target protocol link until the transmission of the current data is finished.
In the embodiment of the present example, the first data transmission acceleration policy may be an acceleration transmission policy based on a slow start algorithm, and may control the size of a congestion window (a single data transmission amount, that is, the amount of data that is sent by a sender at one time; when current data is sent, the current data is split into a plurality of data packets and sent for a plurality of times, and the single data transmission amount, that is, the number of data packets sent at each time) to increase exponentially, and quickly send the current data until the single data transmission amount on the target protocol link reaches a historical bandwidth-delay product.
The second data transmission acceleration strategy can be an acceleration transmission strategy of a congestion control algorithm based on link capacity, and can measure the bandwidth and the time delay on a target protocol link in real time through periodic bandwidth detection, take the product of the measured bandwidth and the time delay as single data transmission quantity, and consider that congestion occurs when the total data quantity on the target protocol link is larger than the product of the bandwidth and the time delay, so as to adjust the single data transmission quantity, and the congestion control algorithm of the link capacity is like a BBR algorithm.
The third data transmission acceleration strategy may be an acceleration transmission strategy based on a congestion control algorithm for packet loss, and may regard packet loss as congestion, adopt a slow bandwidth detection method to gradually increase the single data transmission amount, when packet loss occurs, reduce a congestion window, and use a congestion control algorithm for packet loss, such as Reno, Cubic, and the like.
In this way, the change of the network environment in the whole data transmission process can be effectively coped with in the transmission process of the current data, and the transmission performance of the current data in the target protocol link is effectively improved.
In one embodiment, in step S240, controlling the target protocol link to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed, further includes:
in the process of transmitting current data in a target protocol link, obtaining the size information of a buffer area of the current link;
normalizing the size information of the current link buffer area and the size information of the historical link buffer area to obtain updated historical link state information;
and updating the historical link state information corresponding to the target protocol link in the preset hash table by using the updated historical link state information.
Therefore, the updated historical link state information is used for updating the historical link state information corresponding to the target protocol link in the preset hash table, and the updated historical link state information can be obtained for transmission guidance when data is transmitted on the target protocol link next time. The normalization process is performed as described in the previous examples.
The size information of the current link buffer area may include a current limit bandwidth delay product, a current congestion bandwidth delay product, and a current unacknowledged data volume; the current limit bandwidth delay product is the bandwidth delay product corresponding to the last transmission time point in the process of transmitting the current data; the current congestion bandwidth delay product is the bandwidth delay product corresponding to the time point when the congestion occurs in the transmission detected in the process of transmitting the current data; the current unacknowledged data volume is the data volume which is sent but not acknowledged at the moment point when the congestion occurs in the transmission is detected in the process of transmitting the current data.
The bandwidth-delay product (BDP) is obtained by multiplying the link bandwidth by the minimum round trip delay (RTT). I.e., the one-time bandwidth delay product is the minimum amount of packet transmission required for the sender to fully utilize the link bandwidth.
The current limit bandwidth-delay product is a bandwidth-delay product corresponding to a last transmission time point in the process of transmitting the current data, and may be a bandwidth-delay product corresponding to a time point at which the current data is transmitted, that is, a maximum bandwidth-delay product when the current data is normally transmitted. After the current data is transmitted, if data acceleration processing is performed (for example, the data is few, the transmission is completed, but the slow start algorithm is still executed), the bandwidth-delay product corresponding to the last transmission time point may be the bandwidth-delay product corresponding to the time point at which the data acceleration processing is completed.
The bandwidth-delay product of the current congestion is a bandwidth-delay product corresponding to a point in time when the congestion occurs in the transmission process of the current data, for example, when the congestion is detected to be sent for 2 times in the process of transmitting the current data in the target protocol link, the bandwidth-delay product is obtained at all the point in time when the congestion occurs for 2 times. After the sender sends out the data, when the sender does not receive the acknowledgement within a preset time period, the sender can consider that congestion occurs in the protocol link.
The current unacknowledged data volume is a data volume which is sent but not received at a time point when the congestion occurs in the transmission process of the current data, for example, in the current data transmission process in the target protocol link, 10 data packets are sent out at a certain time point when the congestion occurs, but only 2 data packets are received, and the other 8 data packets are the data volumes which are sent but not received.
The historical link buffer size information may include historical bandwidth delay product and transmit data volume security threshold.
In one embodiment, normalizing the current link buffer size information and the historical link buffer size information to obtain updated historical link state information includes:
weighting and summing the current limit bandwidth delay product and the historical bandwidth delay product to obtain an updated historical bandwidth delay product; taking the maximum value of all current congestion bandwidth delay products, all current unconfirmed data volumes and the sending data volume safety threshold as the updated sending data volume safety threshold; and taking the updated historical bandwidth delay product and the updated sending data volume safety threshold as the updated historical link state information.
In one embodiment, the weighted summation of the current limit bandwidth-delay product and the historical bandwidth-delay product to obtain an updated historical bandwidth-delay product includes: and weighting and summing the current limit bandwidth delay product and the historical bandwidth delay product according to a preset weighting coefficient to obtain the updated historical bandwidth delay product.
In one embodiment, the predetermined weighting coefficients include a first weighting coefficient and a second weighting coefficient; weighting and summing the current limit bandwidth delay product and the historical bandwidth delay product according to a preset weighting coefficient to obtain an updated historical bandwidth delay product, wherein the method comprises the following steps: multiplying the historical bandwidth delay product by a first weighting coefficient to obtain a first weighting term; multiplying the current limit bandwidth delay product by the second weighting coefficient to obtain a second weighting term; and adding the first weighted term and the second weighted term to obtain the updated historical bandwidth-delay product.
In one example, the first weighting factor is one-half, and the second weighting factor is one-half, according to the formula: BDPWMA31=BDPWMA2/2+BDPnowAnd/2, carrying out weighted summation on the current limit bandwidth delay product and the historical bandwidth delay product according to a first weighting coefficient and a second weighting coefficient to obtain a first updated historical bandwidth delay product, wherein the BDPWMA31For historical bandwidth-delay product after first update, BDPWMA2For historical bandwidth-delay product, BDPnowFor the current bandwidth-limited delay product, m-1/2 and n-1/2 are predetermined weighting coefficients, and m + n-1.
In one example, the first weighting factor is one eighth, and the second weighting factor is seven eighths, according to the formula: BDPWMA32=BDPWMA2/8+7*BDPnowAnd 8, carrying out weighted summation on the current limit bandwidth delay product and the historical bandwidth delay product according to a first weighting coefficient and a second weighting coefficient to obtain a second updated historical bandwidth delay product, wherein the BDPWMA32For the second updated historical bandwidth-delay product, BDPWMA2For historical bandwidth-delay product, BDPnowFor the current bandwidth-limited delay product, m-1/8 and n-7/8 are predetermined weighting coefficients, and m + n-1.
In one embodiment, when the historical link state information is empty, adjusting a data accelerated transmission strategy corresponding to a target protocol link to a preset data accelerated transmission strategy; in step S240, according to the adjusted data accelerated transmission policy, controlling the target protocol link to accelerate transmission of the current data until the transmission of the current data is completed, further including: in the process of transmitting current data in a target protocol link, obtaining the size information of a buffer area of the current link; and taking the size information of the current link buffer area as historical link state information and storing the historical link state information into a preset hash table.
In one embodiment, the using the current link buffer size information as the historical link state information includes: according to the formula: BDPWMA31=BDPnowDelay product BDP of current limit bandwidthnowAs a historical bandwidth-delay product BDP after updateWMA31. According to the formula: x2=max{BDPnow,XiAnd Xi=max{inflighti,BDPiDelay product BDP of current limit bandwidthnowAnd all current congestion bandwidth delay product BDPiAll current unacknowledged data volumes inflightiThe maximum value is used as the safety threshold value X of the updated sending data volume2
In this way, based on steps S210 to S240, further, in the process of transmitting the current data on the target protocol link, the data acceleration transmission policy may be dynamically adjusted, and the target protocol link is controlled to accelerate transmission of the current data, and the dynamic adjustment of the data acceleration transmission policy is guided by the historical link state information, so that various link conditions in the protocol link may be effectively handled, fast and safe data transmission is realized, the transmission quality of the target protocol link is effectively improved, and the data transmission performance in the protocol link is improved.
The method described in the above embodiments is further illustrated in detail by way of example.
Fig. 8 shows a flow chart of data transmission in one scenario in which embodiments of the present application are applied. In this scenario, the target Protocol link is a Transmission Control Protocol (TCP) link. The data transmission method is realized on the basis of a server side (namely a data receiving side), no requirement is provided for an intermediate route and a client side, and the server side dynamically applies a hash table (namely a preset hash table) to store historical link state information corresponding to each client side IP (namely a sender identification of a data sender) when a TCP module takes effect.
The data transmission in this scenario may include steps S710 to S730 shown in fig. 7; in step S710, historical link state information is queried; in step S720, transmitting the current data; in step S730, the hash table is updated.
In step S710, the server may "obtain historical link state information when historical data is transmitted through the TCP link", which is specifically completed by a TCP three-way handshake protocol between the client and the server to establish the TCP link. At this time, the server inquires an entry corresponding to the client IP from the hash table through client IP mapping, and checks whether historical link state information corresponding to the client IP exists under the entry (namely, a preset hash table is obtained and used for storing the historical link state information corresponding to the protocol link; and the historical link state information corresponding to the transmission control protocol link is inquired from the preset hash table).
In step S720, the server side may "obtain the current link state information in the tcp link during the process of transmitting the current data on the tcp link; adjusting a data accelerated transmission strategy corresponding to the transmission control protocol link according to the historical link state information and the current link state information; and controlling the transmission control protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is finished.
Specifically, if historical link state information corresponding to the client IP is queried, the server acquires historical link state information corresponding to the tcp link (i.e., a hit), and then starts the present technology. If the historical link state information corresponding to the client IP is not inquired, the obtained historical link state information corresponding to the transmission control protocol link is empty (namely, no hit), and then the BBR algorithm is backed.
Starting the technology, namely comparing the size information of the historical link buffer area with the size information of the current link buffer area in real time to obtain a comparison result; and adjusting the data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result. Wherein the historical link buffer size information comprises historical bandwidth delay product BDPWMA2And a sending data volume safety threshold value X, wherein the sending data volume safety threshold value X is greater than or equal to the historical bandwidth time delay product BDPWMA2(ii) a The current link buffer size information comprises a current bandwidth-delay product BDPnow
According to the comparison result, adjusting the data acceleration transmission strategy corresponding to the transmission control protocol link in real time, which specifically comprises: from the beginning of data transmission, when the comparison result is the current bandwidth delay product BDPnowLess than historical bandwidth delay product BDPWMA2When the data is transmitted, the data acceleration transmission strategy corresponding to the transmission control protocol link is adjusted to be a first data acceleration transmission strategy; when the comparison result is the current bandwidth delay product BDPnowGreater than historical bandwidth delay product BDPWMA2And the current bandwidth-delay product BDPnowWhen the data volume is less than or equal to the sending data volume safety threshold value X, adjusting the data accelerated transmission strategy corresponding to the transmission control protocol link to a second data accelerated transmission strategy; finally, when the comparison result is the current bandwidth delay product BDPnowAnd when the data volume is greater than the safety threshold value X of the sent data volume, adjusting the data accelerated transmission strategy corresponding to the transmission control protocol link to a third data accelerated transmission strategy.
The first data transmission acceleration strategy is an acceleration transmission strategy based on a slow start algorithm, the second data transmission acceleration strategy is an acceleration transmission strategy based on a BBR algorithm, and the third data transmission acceleration strategy is an acceleration transmission strategy based on a Cubic algorithm. The applicant has found that this allows the most secure and efficient transfer of data.
At the stage of starting to transmit data, oneThe bandwidth-doubled delay product (BDP) is an ideal slow start threshold, if the accelerated transmission strategy based on the BBR algorithm is started at the beginning, at the end of the BBR slow start phase (startup) of the BBR algorithm itself, the amount of data to be transmitted is close to three times of the bandwidth-doubled delay product (BDP), because the BBR algorithm will exit the BBR slow start only when detecting that the bandwidth does not increase with the increase of the transmission rate (pacing rate), and the bandwidth detection of the BBR algorithm has the problem of hysteresis (about 1 round trip delay (RTT)). After the technology is started, in the initial stage of data transmission, the data accelerated transmission strategy is adjusted to be the accelerated transmission strategy based on the slow start algorithm, the BBR slow start stage of the BBR can be taken over, and the data sending quantity can be quickly promoted to the smooth bandwidth delay product (namely the historical bandwidth delay product BDP) through slow startWMA2)。
Then, the technique delays the product BDP in the current bandwidthnowGreater than historical bandwidth delay product BDPWMA2And then, immediately exiting the slow start, and starting an accelerated transmission strategy based on a BBR algorithm to perform periodic bandwidth detection (the transmission rate can be increased by 25% by taking each eight round-trip delay as a preset period to perform bandwidth detection) control so as to perform data transmission control. When using BBR algorithm to do periodic bandwidth detection, if the current bandwidth is delayed by product BDPnowWhen the safety threshold value X of the sending data volume is exceeded, the technology starts further bandwidth detection control based on the Cubic algorithm acceleration transmission strategy so as to continue to control data transmission. Therefore, the problem that the BBR algorithm has a high packet loss rate (namely, the probability of transmission congestion is high due to the fact that the amount of transmitted data is too large in the detection process) in a shallow buffer network environment can be effectively avoided, the BBR algorithm is insensitive to packet loss, and the Cubic algorithm can be used for avoiding packet loss caused by excessive detection and simultaneously considering effective bandwidth detection.
And backing off the BBR algorithm, namely adjusting the data accelerated transmission strategy corresponding to the transmission control protocol link to be a preset data accelerated transmission strategy when the historical link state information is null, wherein the preset data accelerated transmission strategy is an accelerated transmission strategy based on the BBR algorithm.
In step S730, for the case of starting the present technology, in the process of transmitting the current data in the tcp link, the size information of the buffer of the present link is obtained; normalizing the size information of the current link buffer area and the size information of the historical link buffer area to obtain updated historical link state information; and updating the historical link state information corresponding to the transmission control protocol link in the preset hash table by using the updated historical link state information. For the condition of backing up the BBR algorithm, acquiring the size information of the buffer area of the current link in the process of transmitting the current data in the transmission control protocol link; and taking the size information of the current link buffer area as historical link state information and storing the historical link state information into a preset hash table.
Specifically, historical link state information (including updated historical bandwidth delay product and updated sent data packet security threshold) of corresponding entries in the hash table is updated according to the client IP address.
Wherein, for the case of starting the present technique, according to the formula: BDPWMA31=BDPWMA2/2+BDPnow(ii)/2, delay product BDP of current limit bandwidthnowBDP product with historical bandwidth delayWMA2Weighting and summing according to the first weighting coefficient to obtain the updated historical bandwidth delay product BDPWMA31
According to the formula: x2=max{X*1,XiAnd Xi=max{inflighti,BDPiDelay product BDP of all current congestion bandwidthsiAll current unacknowledged data volumes inflightiAnd sending data volume safety threshold value X1The maximum value is used as the safety threshold value X of the updated sending data volume2
For the case of the fallback BBR algorithm, according to the formula: BDPWMA31=BDPnowDelay product BDP of current limit bandwidthnowBDP as updated historical bandwidth delay productWMA31
According to the formula: x2=max{BDPnow,XiAnd Xi=max{inflighti,BDPiDelay product BDP of current limit bandwidthnowAnd all currently congested bandwidthExtended product BDPiAll current unacknowledged data volumes inflightiThe maximum value is used as the safety threshold value X of the updated sending data volume2
Wherein, the current limit bandwidth delay product BDPnowDetermining a last transmission time point for a bandwidth delay product corresponding to the last transmission time point for transmitting the current data, wherein the last transmission time point comprises: determining whether the data transmission is finished, if the data transmission is finished and the slow start is already exited, the last transmission time point is the time point when the data transmission is finished; if the data transmission is determined to be completed and the slow start is not exited (i.e. the data acceleration processing is completed), the last transmission time point is the time point of the slow start exiting.
Furthermore, based on the scheme of the application, the selection of a data acceleration transmission strategy (including a BBR algorithm and a Cubic algorithm) in the TCP transmission process is dynamically adjusted by comparing the difference between the historical link buffer area size information and the current link buffer area size information, so that excessive packet loss of TCP transmission in a shallow buffer area is avoided on the basis of considering both bandwidth detection and friendliness, and the preemptive property of TCP transmission in a deep buffer area is improved. In the process of transmitting the current data on the transmission control protocol link, a data acceleration transmission strategy can be dynamically adjusted to control the transmission control protocol link to accelerate the transmission of the current data, and the dynamic adjustment of the data acceleration transmission strategy is guided by historical link state information, so that various link conditions in the protocol link can be effectively responded, the data transmission can be rapidly and safely carried out, the transmission quality of the transmission control protocol link is effectively improved, and the data transmission performance in the protocol link is improved.
Furthermore, the scheme of the application is applied to the existing TCP protocol stack and is tested in a real network. The hit rate of the protocol link (the probability of acquiring historical link information corresponding to the protocol link) increases with the increase of the deployment time, the hit rate on the first day can reach 70%, the hit rate on the second day is close to 80%, and then the hit rate is close to stability, and the hit rate on the seventh day is close to 90%. This indicates that a significant portion of clients have frequent access to the same server. Compared with the prior TCP framework that each data transmission needs independent link detection, the scheme based on the application can accelerate the current data transmission quickly and safely under the guidance of historical link information of transmission historical data.
In order to better implement the data transmission method provided by the embodiments of the present application, the embodiments of the present application further provide a data transmission device based on the data transmission method. The terms are the same as those in the data transmission method, and specific implementation details can refer to the description in the method embodiment. FIG. 9 shows a block diagram of a data transmission device according to an embodiment of the present application.
As shown in fig. 9, the data transmission apparatus 800 may include a history obtaining module 810, a current obtaining module 820, a dynamic adjusting module 830, and a control module 840.
The history obtaining module 810 may be configured to obtain historical link state information when historical data is transmitted through a target protocol link; the current obtaining module 820 may be configured to obtain current link state information in the target protocol link in the process of transmitting current data on the target protocol link; the dynamic adjustment module 830 may be configured to adjust a data acceleration transmission policy corresponding to the target protocol link according to the historical link state information and the current link state information; the control module 840 may be configured to control the target protocol link to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed.
In some embodiments of the present application, the historical link state information comprises historical link buffer size information; the current link state information includes current link buffer size information; the dynamic adjustment module 830 includes: the real-time comparison unit is used for comparing the size information of the historical link buffer area and the size information of the current link buffer area in real time to obtain a comparison result; and the real-time adjusting unit is used for adjusting the data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result.
In some embodiments of the present application, the historical link buffer size information includes a historical bandwidth delay product and a sending data volume safety threshold, where the sending data volume safety threshold is greater than or equal to the historical bandwidth delay product; the current link buffer size information comprises a current bandwidth-delay product; the real-time adjustment unit comprises: a first adjusting subunit, configured to adjust the data accelerated transmission policy corresponding to the target protocol link to a first data accelerated transmission policy when the comparison result indicates that the current bandwidth delay product is smaller than the historical bandwidth delay product; a second adjusting subunit, configured to adjust the data accelerated transmission policy corresponding to the target protocol link to a second data accelerated transmission policy when the comparison result indicates that the current bandwidth delay product is greater than the historical bandwidth delay product and the current bandwidth delay product is less than or equal to the sending data amount security threshold; and a third adjusting subunit, configured to adjust the data accelerated transmission policy corresponding to the target protocol link to a third data accelerated transmission policy when the comparison result indicates that the current bandwidth-delay product is greater than the sent data amount security threshold.
In some embodiments of the present application, the control module 840 comprises: a first control unit, configured to control, when the adjusted data acceleration transmission policy is the first data transmission acceleration policy, to increase a single data transmission amount on the target protocol link according to a predetermined data transmission rate, and to transmit the current data until the single data transmission amount on the target protocol link reaches the historical bandwidth delay product; a second control unit, configured to adjust a single data transmission amount on the target protocol link through periodic bandwidth detection when the adjusted data acceleration transmission policy is the second data transmission acceleration policy, and transmit the current data until a current bandwidth delay product on the target protocol link reaches the transmission data amount security threshold; a third control unit, configured to, when the adjusted data acceleration transmission policy is the third data transmission acceleration policy, control to increase a single data transmission amount on the target protocol link according to a predetermined rule, and when a packet loss occurs on the target protocol link, send the current data by adjusting the increased single data transmission amount until the transmission of the current data is completed.
In some embodiments of the present application, the dynamic adjustment module 830 comprises: and the preset adjusting unit is used for adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a preset data accelerated transmission strategy when the historical link state information is null.
In some embodiments of the present application, the apparatus further comprises: the acquisition module is used for acquiring the size information of the link buffer area when the historical data is transmitted through the target protocol link every time to obtain the size information of the historical link buffer area; and the normalization module is used for performing normalization processing on the historical link buffer area size information to obtain the historical link state information.
In some embodiments of the present application, the size information of the historical link buffer includes a limit bandwidth delay product, a congestion bandwidth delay product, and an unacknowledged data volume, where the limit bandwidth delay product is a bandwidth delay product corresponding to a last transmission time point at which historical data is transmitted each time, the congestion bandwidth delay product is a bandwidth delay product corresponding to a time point at which congestion occurs in transmission is detected each time, and the unacknowledged data volume is a data volume which has been sent but has not received an acknowledgment at a time point at which congestion occurs in transmission is detected each time; the normalization module comprises: the weighting processing unit is used for weighting and summing all the limit bandwidth delay products to obtain historical bandwidth delay products; the maximum confirmation unit is used for taking the maximum numerical value in all the congestion bandwidth delay products and the unconfirmed data volume as a safety threshold value of the sending data volume; and the information determining unit is used for taking the historical bandwidth delay product and the sending data volume safety threshold as the historical link state information.
In some embodiments of the present application, the weighting processing unit includes: a previous obtaining subunit, configured to obtain a previous limited bandwidth delay product, where the previous limited bandwidth delay product is a limited bandwidth delay product corresponding to a previous transmission of historical data, and the previous historical data is data transmitted one time before the current data; a previous acquiring subunit, configured to acquire a previous historical bandwidth delay product, where the previous historical bandwidth delay product is obtained by performing weighted summation on a limit bandwidth delay product corresponding to the transmission of the previous historical data according to a predetermined weighting coefficient, and the previous historical data is data transmitted before the previous historical data; and the weighted summation subunit is used for weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to the preset weighting coefficient to obtain the historical bandwidth delay product.
In some embodiments of the present application, the predetermined weighting coefficients include a first weighting coefficient and a second weighting coefficient; the weighted summation subunit is configured to multiply the previous historical bandwidth delay product by the first weighting coefficient to obtain a first weighted term; multiplying the previous limited bandwidth delay product by the second weighting coefficient to obtain a second weighting term; and adding the first weighted term and the second weighted term to obtain the historical bandwidth-delay product.
In some embodiments of the present application, the history acquisition module 810 comprises: the device comprises a hash table acquisition unit, a hash table acquisition unit and a hash table processing unit, wherein the hash table acquisition unit is used for acquiring a preset hash table which is used for storing historical link state information corresponding to a protocol link; and the query unit is used for querying the historical link state information corresponding to the target protocol link from the preset hash table.
In some embodiments of the present application, the target protocol link corresponds to a target data sender, and the preset hash table stores a sender identifier and historical link state information associated with the sender identifier; the query unit comprises: an identifier obtaining subunit, configured to obtain a sender identifier of the target data sender; and the query subunit is configured to query, from the preset hash table, historical link state information associated with the sender identifier of the target data sender.
In some embodiments of the present application, the apparatus further comprises an update module comprising: the current acquisition unit is used for acquiring the size information of the buffer area of the current link in the process of transmitting the current data in the target protocol link; the current normalization unit is used for normalizing the current link buffer area size information and the historical link buffer area size information to obtain updated historical link state information; and the updating unit is used for updating the historical link state information corresponding to the target protocol link in the preset hash table by using the updated historical link state information.
In this way, based on the data transmission apparatus 800, by acquiring the historical link state information when the historical data is transmitted through the target protocol link; acquiring current link state information in a target protocol link in the process of transmitting current data on the target protocol link; adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information; and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is completed.
Furthermore, in the process of transmitting the current data on the target protocol link, the data acceleration transmission strategy can be dynamically adjusted, the target protocol link is controlled to accelerate the transmission of the current data, and the dynamic adjustment of the data acceleration transmission strategy is guided by the historical link state information, so that various link conditions in the protocol link can be effectively responded, the data transmission can be rapidly and safely carried out, the transmission quality of the target protocol link is effectively improved, and the data transmission performance in the protocol link is improved.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
In addition, an electronic device, which may be a terminal or a server, is provided in an embodiment of the present application, as shown in fig. 10, which shows a schematic structural diagram of the electronic device according to the embodiment of the present application, and specifically:
the electronic device may include components such as a processor 901 of one or more processing cores, memory 902 of one or more computer-readable storage media, a power supply 903, and an input unit 904. Those skilled in the art will appreciate that the electronic device configuration shown in fig. 10 does not constitute a limitation of the electronic device and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components. Wherein:
the processor 901 is a control center of the electronic device, connects various parts of the entire computer device by using various interfaces and lines, and performs various functions of the computer device and processes data by running or executing software programs and/or modules stored in the memory 902 and calling data stored in the memory 902, thereby performing overall monitoring of the electronic device. Optionally, processor 901 may include one or more processing cores; preferably, the processor 901 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user page, an application program, and the like, and the modem processor mainly processes wireless communication. It will be appreciated that the modem processor described above may not be integrated into the processor 901.
The memory 902 may be used to store software programs and modules, and the processor 901 executes various functional applications and data processing by operating the software programs and modules stored in the memory 902. The memory 902 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data created according to use of the computer device, and the like. Further, the memory 902 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory 902 may also include a memory controller to provide the processor 901 access to the memory 902.
The electronic device further comprises a power supply 903 for supplying power to each component, and preferably, the power supply 903 may be logically connected to the processor 901 through a power management system, so that functions of managing charging, discharging, power consumption, and the like are realized through the power management system. The power supply 903 may also include any component including one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power status indicators, and the like.
The electronic device may further include an input unit 904, and the input unit 904 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
Although not shown, the electronic device may further include a display unit and the like, which are not described in detail herein. Specifically, in this embodiment, the processor 901 in the electronic device loads an executable file corresponding to a process of one or more application programs into the memory 902 according to the following instructions, and the processor 901 runs the application programs stored in the memory 902, so as to implement various functions as follows:
acquiring historical link state information when historical data is transmitted through a target protocol link;
acquiring current link state information in the target protocol link in the process of transmitting current data on the target protocol link;
adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information;
and controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is finished.
In one embodiment, the historical link state information includes historical link buffer size information; the current link state information includes current link buffer size information; the adjusting the data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information includes:
comparing the size information of the historical link buffer area with the size information of the current link buffer area in real time to obtain a comparison result;
and adjusting the data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result.
In one embodiment, the historical link buffer size information includes a historical bandwidth delay product and a safety threshold of the sending data volume, and the safety threshold of the sending data volume is greater than or equal to the historical bandwidth delay product; the current link buffer size information comprises a current bandwidth-delay product; the adjusting, in real time, the data accelerated transmission policy corresponding to the target protocol link according to the comparison result includes:
when the comparison result is that the current bandwidth delay product is smaller than the historical bandwidth delay product, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a first data accelerated transmission strategy;
when the comparison result is that the current bandwidth delay product is larger than the historical bandwidth delay product and the current bandwidth delay product is smaller than or equal to the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a second data accelerated transmission strategy;
and when the comparison result shows that the current bandwidth delay product is larger than the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a third data accelerated transmission strategy.
In one embodiment, the controlling the target protocol link to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed includes:
when the adjusted data acceleration transmission strategy is the first data transmission acceleration strategy, controlling the single data transmission quantity on the target protocol link to be increased according to a preset data transmission rate, and transmitting the current data until the single data transmission quantity on the target protocol link reaches the historical bandwidth time delay product;
when the adjusted data acceleration transmission strategy is the second data transmission acceleration strategy, adjusting the single data transmission quantity on the target protocol link through periodic bandwidth detection, and transmitting the current data until the current bandwidth delay product on the target protocol link reaches the data transmission quantity safety threshold;
and when the adjusted data acceleration transmission strategy is the third data transmission acceleration strategy, controlling the target protocol link to increase the single data transmission quantity according to a preset rule, and transmitting the current data by adjusting the increased single data transmission quantity when packet loss occurs on the target protocol link until the transmission of the current data is finished.
In one embodiment, the adjusting the data acceleration transmission policy corresponding to the target protocol link according to the historical link state information and the current link state information includes:
and when the historical link state information is empty, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a preset data accelerated transmission strategy.
In one embodiment, before the obtaining the historical link state information when the historical data is transmitted through the target protocol link, the method further comprises:
obtaining the size information of a link buffer area when historical data is transmitted through the target protocol link every time to obtain the size information of the historical link buffer area;
and carrying out normalization processing on the historical link buffer area size information to obtain the historical link state information.
In one embodiment, the size information of the history link buffer includes a limit bandwidth delay product, a congestion bandwidth delay product and an unacknowledged data volume, where the limit bandwidth delay product is a bandwidth delay product corresponding to a last transmission time point of each transmission of history data, the congestion bandwidth delay product is a bandwidth delay product corresponding to a time point of each detection of congestion occurring in transmission, and the unacknowledged data volume is a data volume which has been sent but has not received an acknowledgement at a time point of each detection of congestion occurring in transmission;
the normalizing the historical link buffer size information to obtain the historical link state information includes:
weighting and summing all the limit bandwidth delay products to obtain historical bandwidth delay products;
taking the maximum value of all the congestion bandwidth delay products and the unconfirmed data volume as a safety threshold value of the transmitted data volume;
and taking the historical bandwidth delay product and the sending data volume safety threshold as the historical link state information.
In one embodiment, the weighting and summing all the extreme bandwidth-delay products to obtain a historical bandwidth-delay product includes:
acquiring a last limited bandwidth delay product, wherein the last limited bandwidth delay product is a limited bandwidth delay product corresponding to the transmission of the last historical data, and the last historical data is data transmitted before the current data;
acquiring a previous historical bandwidth delay product, wherein the previous historical bandwidth delay product is obtained by weighting and summing a limit bandwidth delay product corresponding to the transmission of the previous historical data according to a preset weighting coefficient, and the previous historical data is data transmitted before the previous historical data;
and weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to the preset weighting coefficient to obtain the historical bandwidth delay product.
In one embodiment, the predetermined weighting factor comprises a first weighting factor and a second weighting factor; weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to the preset weighting coefficient to obtain the historical bandwidth delay product, wherein the step of weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product comprises the following steps:
multiplying the previous historical bandwidth delay product by the first weighting coefficient to obtain a first weighting term;
multiplying the previous limited bandwidth delay product by the second weighting coefficient to obtain a second weighting term;
and adding the first weighted term and the second weighted term to obtain the historical bandwidth-delay product.
In one embodiment, the obtaining historical link state information when historical data is transmitted through a target protocol link includes:
acquiring a preset hash table, wherein the preset hash table is used for storing historical link state information corresponding to a protocol link;
and querying historical link state information corresponding to the target protocol link from the preset hash table.
In one embodiment, the target protocol link corresponds to a target data sender, and the preset hash table stores sender identification and historical link state information associated with the sender identification; the querying historical link state information corresponding to the target protocol link from the preset hash table includes:
acquiring a sender identifier of the target data sender;
and querying historical link state information associated with the sender identification of the target data sender from the preset hash table.
In one embodiment, after the controlling the target protocol link to accelerate transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed, the method further includes:
acquiring the size information of the buffer area of the current link in the process of transmitting the current data in the target protocol link;
normalizing the size information of the current link buffer area and the size information of the historical link buffer area to obtain updated historical link state information;
and updating the historical link state information corresponding to the target protocol link in a preset hash table by using the updated historical link state information.
It will be understood by those skilled in the art that all or part of the steps of the methods of the above embodiments may be performed by a computer program, which may be stored in a computer-readable storage medium and loaded and executed by a processor, or by related hardware controlled by the computer program.
To this end, the present application further provides a storage medium, in which a computer program is stored, where the computer program can be loaded by a processor to execute the steps in any one of the methods provided in the present application.
Wherein the storage medium may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like.
Since the computer program stored in the storage medium can execute the steps in any method provided in the embodiments of the present application, the beneficial effects that can be achieved by the methods provided in the embodiments of the present application can be achieved, for details, see the foregoing embodiments, and are not described herein again.
According to an aspect of the application, a computer program product or computer program is provided, comprising computer instructions, the computer instructions being stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to execute the method provided in the various alternative implementations of the above embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains.
It will be understood that the present application is not limited to the embodiments that have been described above and shown in the drawings, but that various modifications and changes can be made without departing from the scope thereof.

Claims (13)

1. A method of data transmission, comprising:
acquiring historical link state information when historical data are transmitted through a target protocol link, wherein the historical link state information comprises historical link buffer area size information, the historical link buffer area size information comprises historical bandwidth delay product and a transmitted data volume safety threshold, and the transmitted data volume safety threshold is greater than or equal to the historical bandwidth delay product;
acquiring current link state information in the target protocol link in the process of transmitting current data on the target protocol link, wherein the current link state information comprises current link buffer area size information, and the current link buffer area size information comprises a current bandwidth delay product;
adjusting a data accelerated transmission strategy corresponding to the target protocol link according to the historical link state information and the current link state information, wherein the data accelerated transmission strategy comprises the following steps: comparing the size information of the historical link buffer area with the size information of the current link buffer area in real time to obtain a comparison result, and adjusting a data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result;
controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is finished;
the adjusting, in real time, the data accelerated transmission policy corresponding to the target protocol link according to the comparison result includes:
when the comparison result is that the current bandwidth delay product is smaller than the historical bandwidth delay product, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a first data accelerated transmission strategy;
when the comparison result is that the current bandwidth delay product is larger than the historical bandwidth delay product and the current bandwidth delay product is smaller than or equal to the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a second data accelerated transmission strategy;
and when the comparison result shows that the current bandwidth delay product is larger than the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a third data accelerated transmission strategy.
2. The method according to claim 1, wherein the controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed comprises:
when the adjusted data acceleration transmission strategy is the first data transmission acceleration strategy, controlling the single data transmission quantity on the target protocol link to be increased according to a preset data transmission rate, and transmitting the current data until the single data transmission quantity on the target protocol link reaches the historical bandwidth time delay product;
when the adjusted data acceleration transmission strategy is the second data transmission acceleration strategy, adjusting the single data transmission quantity on the target protocol link through periodic bandwidth detection, and transmitting the current data until the current bandwidth delay product on the target protocol link reaches the data transmission quantity safety threshold;
and when the adjusted data acceleration transmission strategy is the third data transmission acceleration strategy, controlling the target protocol link to increase the single data transmission quantity according to a preset rule, and transmitting the current data by adjusting the increased single data transmission quantity when packet loss occurs on the target protocol link until the transmission of the current data is finished.
3. The method of claim 1, wherein the adjusting the data acceleration transmission policy corresponding to the target protocol link according to the historical link state information and the current link state information comprises:
and when the historical link state information is empty, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a preset data accelerated transmission strategy.
4. The method of claim 1, wherein prior to said obtaining historical link state information when historical data was transmitted over a target protocol link, the method further comprises:
obtaining the size information of a link buffer area when historical data is transmitted through the target protocol link every time to obtain the size information of the historical link buffer area;
and carrying out normalization processing on the historical link buffer area size information to obtain the historical link state information.
5. The method according to claim 4, wherein the historical link buffer size information includes a limit bandwidth delay product, a congestion bandwidth delay product, and an unacknowledged data amount, wherein the limit bandwidth delay product is a bandwidth delay product corresponding to a last transmission time point of each transmission of the historical data, the congestion bandwidth delay product is a bandwidth delay product corresponding to a time point of each detection of congestion in transmission, and the unacknowledged data amount is a data amount that has been sent but has not received an acknowledgement at the time point of each detection of congestion in transmission;
the normalizing the historical link buffer size information to obtain the historical link state information includes:
weighting and summing all the limit bandwidth delay products to obtain historical bandwidth delay products;
taking the maximum value of all the congestion bandwidth delay products and the unconfirmed data volume as a safety threshold value of the transmitted data volume;
and taking the historical bandwidth delay product and the sending data volume safety threshold as the historical link state information.
6. The method of claim 5, wherein the weighted summation of all the extreme bandwidth-delay products to obtain a historical bandwidth-delay product comprises:
acquiring a last limited bandwidth delay product, wherein the last limited bandwidth delay product is a limited bandwidth delay product corresponding to the transmission of the historical data of the last time, and the historical data of the last time is the data transmitted by the current data at the previous time;
acquiring a previous historical bandwidth delay product, wherein the previous historical bandwidth delay product is obtained by weighting and summing a limit bandwidth delay product corresponding to the transmission of the previous historical data according to a preset weighting coefficient, and the previous historical data is data transmitted before the previous historical data;
and weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to the preset weighting coefficient to obtain the historical bandwidth delay product.
7. The method of claim 6, wherein the predetermined weighting coefficients comprise a first weighting coefficient and a second weighting coefficient; weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product according to the preset weighting coefficient to obtain the historical bandwidth delay product, wherein the step of weighting and summing the previous historical bandwidth delay product and the previous limit bandwidth delay product comprises the following steps:
multiplying the previous historical bandwidth time delay product by the first weighting coefficient to obtain a first weighting term;
multiplying the previous limited bandwidth delay product by the second weighting coefficient to obtain a second weighting term;
and adding the first weighted term and the second weighted term to obtain the historical bandwidth-delay product.
8. The method of claim 1, wherein obtaining historical link state information when historical data is transmitted over a target protocol link comprises:
acquiring a preset hash table, wherein the preset hash table is used for storing historical link state information corresponding to a protocol link;
and querying historical link state information corresponding to the target protocol link from the preset hash table.
9. The method of claim 8, wherein the target protocol link corresponds to a target data sender, and the predetermined hash table stores sender id and historical link state information associated with the sender id; the querying historical link state information corresponding to the target protocol link from the preset hash table includes:
acquiring a sender identifier of the target data sender;
and querying historical link state information associated with the sender identification of the target data sender from the preset hash table.
10. The method according to any one of claims 1-9, wherein after controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission policy until the transmission of the current data is completed, the method further comprises:
acquiring the size information of the buffer area of the current link in the process of transmitting the current data in the target protocol link;
normalizing the size information of the current link buffer area and the size information of the historical link buffer area to obtain updated historical link state information;
and updating the historical link state information corresponding to the target protocol link in a preset hash table by using the updated historical link state information.
11. A data transmission apparatus, comprising:
the historical acquisition module is used for acquiring historical link state information when historical data are transmitted through a target protocol link, wherein the historical link state information comprises historical link buffer area size information, the historical link buffer area size information comprises historical bandwidth delay product and a data volume sending safety threshold, and the data volume sending safety threshold is greater than or equal to the historical bandwidth delay product;
a current obtaining module, configured to obtain current link state information in the target protocol link in a process of transmitting current data on the target protocol link, where the current link state information includes current link buffer size information, and the current link buffer size information includes a current bandwidth-delay product;
a dynamic adjustment module, configured to adjust a data accelerated transmission policy corresponding to the target protocol link according to the historical link state information and the current link state information, where the dynamic adjustment module includes: comparing the size information of the historical link buffer area with the size information of the current link buffer area in real time to obtain a comparison result, and adjusting a data accelerated transmission strategy corresponding to the target protocol link in real time according to the comparison result; the adjusting, in real time, the data accelerated transmission policy corresponding to the target protocol link according to the comparison result includes: when the comparison result is that the current bandwidth delay product is smaller than the historical bandwidth delay product, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a first data accelerated transmission strategy; when the comparison result is that the current bandwidth delay product is larger than the historical bandwidth delay product and the current bandwidth delay product is smaller than or equal to the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to be a second data accelerated transmission strategy; when the comparison result is that the current bandwidth delay product is larger than the sending data volume safety threshold, adjusting the data accelerated transmission strategy corresponding to the target protocol link to a third data accelerated transmission strategy;
and the control module is used for controlling the target protocol link to accelerate the transmission of the current data according to the adjusted data acceleration transmission strategy until the transmission of the current data is completed.
12. An electronic device, comprising: a memory storing computer readable instructions; a processor reading computer readable instructions stored by the memory to perform the method of any of claims 1-10.
13. A storage medium having stored thereon computer readable instructions which, when executed by a processor of a computer, cause the computer to perform the method of any one of claims 1-10.
CN202110198258.7A 2021-02-22 2021-02-22 Data transmission method and device, electronic equipment and storage medium Active CN113014499B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110198258.7A CN113014499B (en) 2021-02-22 2021-02-22 Data transmission method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110198258.7A CN113014499B (en) 2021-02-22 2021-02-22 Data transmission method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113014499A CN113014499A (en) 2021-06-22
CN113014499B true CN113014499B (en) 2022-05-17

Family

ID=76406256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110198258.7A Active CN113014499B (en) 2021-02-22 2021-02-22 Data transmission method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113014499B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285801A (en) * 2021-12-30 2022-04-05 北京天融信网络安全技术有限公司 Data forwarding method and device, electronic equipment and storage medium
CN116319158B (en) * 2023-05-23 2023-08-29 南京芯驰半导体科技有限公司 Node data processing method, device, equipment and medium based on daisy chain network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188473A (en) * 2007-12-20 2008-05-28 上海交通大学 Self-adapted adjustment method for transmission rate of transport layer in wireless self-organized network
CN102014030A (en) * 2010-12-31 2011-04-13 湖南神州祥网科技有限公司 Network performance measurement diagnostic method and system based on transmission control protocol (TCP)
CN110445722A (en) * 2018-05-04 2019-11-12 华为技术有限公司 Jamming control method, device, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584124B (en) * 2010-10-06 2017-05-21 鈺群科技股份有限公司 Method capable of reducing required capacity of retry buffer of real-time transfer through pcie and device thereof
US8787378B2 (en) * 2010-12-28 2014-07-22 The Chinese University Of Hong Kong Systems and methods to improve performance of TCP over large bandwidth-delay-product networks
CN110730105B (en) * 2015-05-29 2021-09-28 腾讯科技(深圳)有限公司 Picture data transmission method, device, equipment and storage medium
CN106102094B (en) * 2016-07-06 2019-09-06 广州海格通信集团股份有限公司 A kind of TCP jamming control method based on SDN network
CN107592344B (en) * 2017-08-28 2021-05-25 腾讯科技(深圳)有限公司 Data transmission method, device, storage medium and computer equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188473A (en) * 2007-12-20 2008-05-28 上海交通大学 Self-adapted adjustment method for transmission rate of transport layer in wireless self-organized network
CN102014030A (en) * 2010-12-31 2011-04-13 湖南神州祥网科技有限公司 Network performance measurement diagnostic method and system based on transmission control protocol (TCP)
CN110445722A (en) * 2018-05-04 2019-11-12 华为技术有限公司 Jamming control method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN113014499A (en) 2021-06-22

Similar Documents

Publication Publication Date Title
US10715282B2 (en) Method and related device for improving TCP transmission efficiency using delayed ACK
US10110429B2 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
CN110730105B (en) Picture data transmission method, device, equipment and storage medium
CN109412946B (en) Method, device, server and readable storage medium for determining back source path
CN113014499B (en) Data transmission method and device, electronic equipment and storage medium
CN104811459A (en) Processing method, processing device and system for message services and message service system
CN111970208B (en) Network transmission method, device, equipment and computer readable storage medium
CN112631788B (en) Data transmission method and data transmission server
CN113259415B (en) Network message processing method and device and network server
CN107995233A (en) Establish the method for connection and corresponding equipment
CN114185582A (en) Automobile software online upgrading system and method based on QUIC protocol
CN116088901A (en) Firmware upgrading method and device, electronic equipment and computer storage medium
US10958712B2 (en) Enhanced reliability for information services
US11444882B2 (en) Methods for dynamically controlling transmission control protocol push functionality and devices thereof
CN116915827A (en) Data transmission method and device of internet of things edge gateway, electronic equipment and medium
Shaleva et al. Evaluation of the Neo P2P Blockchain Network Protocol Efficiency
CN111163160A (en) Keep-alive method and system for session table entry
CN112711465B (en) Data processing method and device based on cloud platform, electronic equipment and storage medium
JP5758934B2 (en) Distribution server and its program
CN114500682B (en) Data packet processing method and device and side equipment
JP5702232B2 (en) Server cooperation mutual assistance system and server and server cooperation mutual assistance program
US20230246966A1 (en) Flexible load balancing on multipath networks
CN114301924A (en) Application task scheduling method and node equipment for cloud edge collaborative environment
Kassam Beyond distributed transactions through exactly-once exchanges
CN118283059A (en) Mirror image data processing method, DPU and system

Legal Events

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