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

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

Info

Publication number
CN117997799A
CN117997799A CN202211329401.2A CN202211329401A CN117997799A CN 117997799 A CN117997799 A CN 117997799A CN 202211329401 A CN202211329401 A CN 202211329401A CN 117997799 A CN117997799 A CN 117997799A
Authority
CN
China
Prior art keywords
message
packet loss
intermediate routing
loss detection
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211329401.2A
Other languages
Chinese (zh)
Inventor
吴波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN202211329401.2A priority Critical patent/CN117997799A/en
Publication of CN117997799A publication Critical patent/CN117997799A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the disclosure provides a data transmission method, a data transmission device, electronic equipment and a storage medium, and relates to the fields of data processing, multimedia, cloud technology and the like. The method comprises the following steps: the method comprises the steps that an intermediate routing device receives a first flow message sent by a message sending end; if the packet loss detection participation identification in the message is associated with the intermediate routing equipment, carrying out packet loss detection based on the message, and if the detection result is that packet loss occurs, sending corresponding packet loss information to a sending end so as to enable the sending end to retransmit the lost message; if the packet loss detection participation identification is not associated with the intermediate routing equipment, the equipment identification of the intermediate routing equipment is sent to the sending end when the preset condition is met, so that the sending end sets the packet loss detection participation identification in the next flow message as the packet loss detection participation identification associated with the intermediate routing equipment according to the equipment identification. Based on the method, the efficiency of message retransmission can be effectively improved, and the perception of a user is improved.

Description

Data transmission method, device, electronic equipment and storage medium
Technical Field
The disclosure relates to the technical fields of data processing, multimedia information, cloud technology and the like, and in particular relates to a data transmission method, a data transmission device, electronic equipment and a storage medium.
Background
With rapid development of technology and continuous improvement of application requirements, requirements for data transmission are also increasing. Among the large number of services available, reliable network transport has become the dominant way of current traffic transport. For reliable network transmission, such as traffic transmission based on TCP (Transport Control Protocol, transmission control protocol) and QUIC (Quick UDP Internet Connection, fast UDP internet connection), when a terminal receives a traffic message from a server, it sends a message acknowledgement message to the server, where the message carries packet loss information (such as a message sequence number) detected by the terminal, and when the server receives the message, it retransmits the lost traffic message.
Although the current reliable transmission mode can make the packet loss occur as little as possible in the network transmission process, and can improve the service experience to a certain extent, how to improve the transmission efficiency of the network transmission is still one of the important problems to be improved.
Disclosure of Invention
An object of an embodiment of the present disclosure is to provide a data transmission method, apparatus, electronic device, and storage medium capable of effectively improving data transmission efficiency. In order to achieve the purpose, the technical scheme provided by the embodiment of the disclosure is as follows:
in one aspect, an embodiment of the present disclosure provides a data transmission method, where the method is performed by an intermediate routing device, and a message sending end and a message receiving end communicate through the intermediate routing device, where the method includes:
receiving a first flow message sent by the message sending end, wherein the first flow message carries a packet loss detection participation identifier;
If the packet loss detection participation identification is associated with the intermediate routing equipment, packet loss detection is carried out based on the first flow message;
If the packet loss detection result is that packet loss occurs, corresponding first packet loss information is sent to the message sending end, so that the message sending end retransmits the lost message according to the first packet loss information;
if the packet loss detection participation identification is not associated with the intermediate routing equipment, under the condition that a preset condition is met, a control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end, so that the message sending end sets the packet loss detection participation identification in the flow message to be sent to the message receiving end as the packet loss detection participation identification associated with the intermediate routing equipment according to the equipment identification.
Optionally, the packet loss detection participation identifier is not associated with the intermediate routing device, including the packet loss detection participation identifier being a preset identifier.
On the other hand, the embodiment of the disclosure provides a data transmission method, which is executed by a message sending end, wherein the message sending end communicates with a message receiving end through an intermediate routing device, and the method comprises the following steps:
Responding to a flow request of the message receiving end, and sending a first flow message to an intermediate routing device, wherein the first flow message comprises a packet loss detection participation identifier which is not associated with the intermediate routing device;
If a control message sent by the intermediate routing equipment is received, setting a packet loss detection participation identifier in a next flow message to be sent as a packet loss detection participation identifier associated with the intermediate routing equipment according to the equipment identifier of the intermediate routing equipment carried in the control message;
The next flow message is sent to the intermediate routing equipment, so that when the intermediate routing equipment determines that a packet loss detection participation identifier in the next flow message is associated with the intermediate routing equipment, packet loss detection is carried out based on the received flow message, and when a packet loss detection result is that packet loss exists, packet loss information is sent to the message sending end;
And retransmitting the corresponding flow message according to the packet loss information when the packet loss information sent by the intermediate routing equipment is received.
On the other hand, the embodiment of the disclosure also provides a data transmission device, which is disposed in an intermediate routing device, and the message sending end and the message receiving end communicate through the intermediate routing device, and the device includes:
The data receiving and transmitting module is used for receiving a first flow message sent by the message sending end, wherein the first flow message carries a packet loss detection participation identifier;
The packet loss detection module is configured to perform packet loss detection based on the first traffic packet when the packet loss detection participation identifier is associated with the intermediate routing device, and send a control packet carrying a device identifier of the intermediate routing device to the packet sending end when the packet loss detection participation identifier is not associated with the intermediate routing device and a preset condition is met, so that the packet sending end sets the packet loss detection participation identifier in a next traffic packet sent to the packet receiving end as the packet loss detection participation identifier associated with the intermediate routing device according to the device identifier;
And the data receiving and transmitting module is further used for transmitting corresponding first packet loss information to the message transmitting end when the packet loss detection result is that packet loss occurs, so that the message transmitting end retransmits the lost message according to the first packet loss information.
Optionally, the packet loss detection participation identifier includes first identification information and second identification information, where the first identification information is used to indicate authority of an intermediate routing device participating in packet loss detection, and the second identification information is used to indicate device information of the intermediate routing device; the packet loss detection module may be configured to:
If the intermediate routing equipment has the authority of participating in packet loss detection according to the first identification information, and the second identification information is not associated with the intermediate routing equipment, under the condition that a preset condition is met, a control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end, and the first identification information in the first flow message is updated.
Optionally, the first identification information may specifically indicate a first number of intermediate routing devices that participate in packet loss detection, where the maximum number of intermediate routing devices that may participate in packet loss detection, that is, an upper limit, is a set number, and when determining that the first number of intermediate routing devices indicated by the first identification information in the packet is less than the set number, the intermediate routing device that receives the first flow packet determines that the intermediate routing device has permission to participate in packet loss detection, and otherwise does not have permission to participate in packet loss detection.
Optionally, the data transceiver module is further configured to: when the packet loss detection result is that packet loss occurs, the first packet loss information is sent to the message receiving end, so that the message receiving end carries out packet loss detection according to the first packet loss information, and when a newly added lost message is detected, the second packet loss information corresponding to the newly added lost message is sent to the message sending end through the intermediate routing equipment;
Wherein, the newly added lost message refers to a message except the lost message corresponding to the first packet loss information.
Optionally, the packet loss detection module is further configured to: and under the condition that the packet loss detection participation identification is not associated with the intermediate routing equipment and a preset condition is met, acquiring a first transmission link identification corresponding to the first flow message, and storing the first transmission link identification into a target database.
Optionally, the packet loss detection module may be configured to: acquiring a second transmission link identification of the first flow message when the packet loss detection participation identification is associated with the intermediate routing equipment; and when the second transmission link identifier is stored in the target database, carrying out packet loss detection based on the first flow message.
Optionally, the first traffic packet further carries a packet loss detection start identifier, where the packet loss detection start identifier is a first start identifier or a second start identifier, the first start identifier indicates to start the intermediate routing device to perform packet loss detection, and the second start identifier indicates to not start the intermediate routing device to perform packet loss detection; the step of meeting preset conditions comprises the step of enabling the packet loss detection opening identifier to be a first opening identifier;
The packet loss detection module may be configured to: and under the condition that the packet loss detection opening identifier is a first opening identifier, if the packet loss detection participation identifier is associated with the intermediate routing equipment, carrying out packet loss detection based on the first flow message.
Optionally, the packet loss detection start identifier is determined by the packet sending end through any one of the following modes:
Acquiring the equipment state information of the message receiving end; determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the equipment state information;
And acquiring message transmission parameters corresponding to the message sending end and the message receiving end, and determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the message transmission parameters.
Optionally, if the packet loss detection participation identifier is not associated with the intermediate routing device, the data transceiver module may be configured to:
according to the equipment identifier, updating the packet loss detection participation identifier in the first flow message into a packet loss detection participation identifier associated with the intermediate routing equipment, and sending the updated first flow message to the message receiving end;
After receiving the confirmation message of the message sending end for the control message and the confirmation message of the message receiving end for the updated first flow message, when receiving the second flow message sent by the message sending end, if the packet loss detection participation identification in the second flow message is the packet loss detection participation identification associated with the intermediate routing device, carrying out packet loss detection based on the second flow message.
Optionally, the packet loss detection participation identifier associated with the intermediate routing device includes a device identifier of the intermediate routing device.
Optionally, the device identification includes at least one of an internet communication protocol IP address of the intermediate routing device, a type of the IP address, or a port number.
Optionally, the transmission link identifier of any traffic message includes five-tuple information, four-tuple information, or connection identifier CID (Connection IDentifier) of the traffic message.
On the other hand, the embodiment of the disclosure also provides a data transmission device, which is disposed at a message sending end, where the message sending end communicates with a message receiving end through an intermediate routing device, and the device includes:
The data receiving and transmitting module is used for responding to the flow request of the message receiving end and transmitting a first flow message to the intermediate routing equipment, wherein the first flow message comprises a packet loss detection participation identifier which is not associated with the intermediate routing equipment;
The data transceiver module is further configured to, when receiving a control packet sent by the intermediate routing device, set, according to a device identifier of the intermediate routing device carried in the control packet, a packet loss detection participation identifier in a next flow packet to be sent to be a packet loss detection participation identifier associated with the intermediate routing device, and send the next flow packet to the intermediate routing device, so that when the intermediate routing device determines that the packet loss detection participation identifier in the next flow packet is associated with the intermediate device, perform packet loss detection based on the received flow packet, and when a packet loss detection result is that packet loss occurs, send corresponding packet loss information to the packet sending end;
The data transceiver module is further configured to retransmit, when receiving packet loss information sent by the intermediate routing device, a traffic packet corresponding to the packet loss information.
The beneficial effect of the scheme that this disclosed embodiment provided lies in: the embodiment of the disclosure provides a novel flow rapid retransmission method based on assistance of an intermediate routing device, in the method, the intermediate routing device on a message transmission path between a message sending end and a message receiving end can participate in packet loss detection of a flow message, when the intermediate routing device detects that packet loss occurs based on the received flow message, the intermediate routing device can timely send corresponding packet loss information to the message sending end, so that the message sending end can rapidly retransmit the lost flow message after receiving the packet loss information sent by the intermediate routing device.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings that are required to be used in the description of the embodiments of the present disclosure will be briefly introduced below.
Fig. 1 is a flow chart of a data transmission method according to an embodiment of the disclosure;
fig. 2 is a flow chart of a data transmission method according to another embodiment of the disclosure;
Fig. 3 is a schematic structural diagram of a data transmission system to which the method according to the embodiment of the present disclosure is applicable;
fig. 4 is a flow chart of a data transmission method according to an embodiment of the disclosure;
Fig. 5 is a schematic flow chart of determining whether to participate in packet loss fast retransmission by an intermediate routing device according to an embodiment of the present disclosure;
fig. 6 is a schematic diagram of packet loss detection according to an embodiment of the present disclosure;
fig. 7 is a schematic diagram of packet loss detection according to an embodiment of the present disclosure;
FIG. 8 is a schematic diagram of a data processing apparatus according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Embodiments of the present disclosure are described below with reference to the drawings in the present disclosure. It should be understood that the embodiments described below with reference to the drawings are exemplary descriptions for explaining the technical solutions of the embodiments of the present disclosure, and the technical solutions of the embodiments of the present disclosure are not limited.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless expressly stated otherwise, as understood by those skilled in the art. It will be further understood that the terms "comprises" and "comprising," when used in this specification, specify the presence of stated features, information, data, steps, operations, elements, and/or components, but do not preclude the presence or addition of other features, information, data, steps, operations, elements, components, and/or groups thereof, all of which may be included in the present specification. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. The term "and/or" as used herein indicates that at least one of the items defined by the term, e.g., "a and/or B" may be implemented as "a", or as "B", or as "a and B". In describing a plurality of (two or more) items, if a relationship between the plurality of items is not explicitly defined, the plurality of items may refer to one, more or all of the plurality of items, for example, the description of "the parameter a includes A1, A2, A3" may be implemented such that the parameter a includes A1 or A2 or A3, and may also be implemented such that the parameter a includes at least two of three items of the parameters A1, A2, A3.
The embodiment of the disclosure aims at the problem that the transmission efficiency of the existing data transmission scheme needs to be improved, and the data processing method can improve the data transmission efficiency on the premise of ensuring low packet loss rate. .
Optionally, the solution of the embodiment of the present disclosure may be implemented based on Cloud technology (Cloud technology), for example, the server of the embodiment of the present disclosure may be a Cloud server, the intermediate routing device may also be a Cloud device or a Cloud node with Cloud computing capability, the data processing involved in the embodiment of the present disclosure may be implemented based on technology, and the data storage involved in the embodiment of the present disclosure may adopt a Cloud storage (Cloud storage) manner.
Cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. The technology is a generic term of network technology, information technology, integration technology, management platform technology, application technology and the like based on cloud computing business model application, can form a resource pool, and is flexible and convenient as required. Cloud computing is a computing model that distributes computing tasks over a large number of computer-made resource pools, enabling various application systems to acquire computing power, storage space, and information services as needed. The network that provides the resources is referred to as the "cloud". Cloud storage is a new concept which extends and develops in the concept of cloud computing, and is a storage system which provides data storage and service access functions together by integrating a large number of storage devices (storage devices are also called storage nodes) of different types in a network through application software or application interfaces to cooperate. With the high development and application of the internet industry, cloud computing technology will become an important support for various industries.
The execution body of the data transmission method provided by the embodiment of the disclosure may be a data transmitting end, an intermediate routing device or a data receiving end, where the data transmitting end may be a server, or may be a user terminal, and the data receiving end may be a user terminal, or may be a server or other electronic devices, and the intermediate routing device may be any type of intermediate node with a data forwarding function.
The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server of a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, network service, cloud communication, middleware service, domain name service, security service, CDN, basic cloud computing service such as big data and an artificial intelligence platform. The user terminal (may also be referred to as a user device) may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart voice interaction device (e.g., a smart speaker), a wearable electronic device (e.g., a smart watch), a vehicle-mounted terminal, a smart home appliance (e.g., a smart television), an AR/VR device, etc. The terminal and the server may be directly or indirectly connected through wired or wireless communication, and embodiments of the present disclosure are not limited herein.
The data transmission method provided by the embodiment of the disclosure can be used in any scene with data transmission requirements. For example, the method can be applied to any application program with data transmission service, and based on the method, the transmission efficiency of data transmission can be improved.
The technical solutions of the embodiments of the present disclosure and technical effects produced by the technical solutions of the present disclosure are described below by describing several exemplary embodiments. It should be noted that the following embodiments may be referred to, or combined with each other, and the description will not be repeated for the same terms, similar features, similar implementation steps, and the like in different embodiments.
Fig. 1 is a schematic flow chart of a data transmission method provided by an embodiment of the present disclosure, where the method is applicable to a data transmission system, where the data transmission system includes a message sending end and a message receiving end, where the message sending end and the message receiving end are communicatively connected through at least one intermediate routing device (also referred to as an intermediate node), and a traffic message that the message sending end needs to transmit to the message receiving end is forwarded to the message receiving end through the at least one intermediate routing device.
It can be understood that in different application scenarios, the devices corresponding to the message sending end and the message receiving end may be different, for example, in a video application program, the user terminal may play or download the video online through the application program, where the message sending end may be an application server that provides video service, the message receiving end may be a user terminal, and in a live video scenario, the user device of the host may be a message sending end, the live broadcast server may be a message receiving end, and in the scenario, the live broadcast server may also be a message sending end, and the user terminal of the viewer watching the live broadcast may be a message receiving end. For another example, in a cloud game scenario, for a downlink data transmission link in which a cloud game server transmits data to a user terminal of a game player, the cloud game server is a message transmitting end, the user terminal is a message receiving end, and for an uplink data transmission link in which the user terminal transmits data to the cloud game server, the user terminal is a message transmitting end, and the cloud game server is a message receiving end.
The data transmission method provided by the embodiment of the disclosure can be theoretically applied to any application scenario in which data forwarding is performed through an intermediate routing device. The method shown in fig. 1 may be performed by any intermediate routing device, as shown in fig. 1, and may include the following steps S110 to S140.
Step S110: and receiving a first flow message sent by a message sending end, wherein the first flow message carries a packet loss detection participation identifier.
The message transmitting end may also be referred to as a data transmitting end, that is, a device for transmitting data. The traffic message refers to a traffic message sent by the message sending end to the data receiving end, that is, a message carrying the traffic data to be transmitted, and the traffic message may also be referred to as a data packet, a data block, a data packet, or the like.
The solution of the embodiment of the present disclosure may be applied to any target application, and for convenience of description, the following will describe an example in which the message sending end is a server of the target application and the message receiving end is a user terminal. When receiving a flow acquisition request (such as a video acquisition request) sent by a user terminal, a server may send a flow message corresponding to the flow acquisition request to the user terminal through an intermediate routing device. The intermediate routing device may be any type of intermediate node that implements message forwarding.
In the embodiment of the disclosure, the first traffic message is any traffic message that the server needs to send to the user terminal, and may be the first traffic message or not the first traffic message sent to the user terminal by the server, where the first traffic message carries the packet loss detection participation identifier besides the traffic data that really needs to be transmitted to the user terminal. The packet loss detection participation identifier relates to a packet loss detection service of an intermediate node (i.e. whether the intermediate routing device performs a packet loss detection function, which may be referred to as a traffic/packet fast retransmission service/function), that is, indicates that the current network transmission supports the intermediate routing device to participate in the packet loss detection, that is, the packet loss detection participation identifier characterizes that the intermediate routing device may participate in the packet loss detection, and further, the participation identifier may be used to indicate the intermediate routing device that participates in the packet loss detection.
In this embodiment of the present disclosure, optionally, a packet loss detection participation identifier in a first traffic packet sent by a packet sending end to a packet receiving end may be a preset identifier (abbreviated as a second detection identifier), such as a default value/an initial value, where the preset identifier indicates that no intermediate routing device participates in the packet loss fast, if the packet loss detection participation identifier of the first traffic packet is not a default value but is a packet loss detection participation identifier related to the intermediate routing device (abbreviated as a first detection identifier), it indicates that an intermediate routing device participates in the service, and between a server and a user terminal, data forwarding may be implemented by one or more intermediate reason devices, and in particular, an intermediate routing device participating in the service is determined according to the first detection identifier, that is, if the packet loss detection participation identifier in the first traffic packet is not a default value but is an identifier related to the intermediate routing device, after the intermediate routing device receives any traffic packet, if the packet loss detection participation identifier in the intermediate routing device is the first detection device associated with the intermediate routing device itself, the packet loss detection may be performed.
The embodiment of the disclosure is not limited to the specific form of the second detection identifier and the preset identifier, and may also be set according to actual requirements, for example, the second detection identifier may be a preset character string or a preset numerical value, etc., and as an example, the second detection identifier may be a set character string with a set length, for example, a numerical string with a length of N and a value of 1. The first detection identifier is an identifier related to the device information of the intermediate routing device, and specifically, what type of identifier may be preconfigured according to the requirement, and theoretically, the first detection identifier may be an identifier capable of uniquely identifying the intermediate routing device. As an aspect, the packet loss detection participation identifier associated with any intermediate routing device may be determined according to the device identifier of the intermediate routing device, for example, the first detection identifier associated with the intermediate routing device may directly use the device identifier of the intermediate routing device, or the device information that can represent the device may be obtained by performing a preset process on the device identifier (for example, encrypting the device identifier in a preset good encryption manner). Alternatively, the device identification of the intermediate routing device may include, but is not limited to, at least one of an internet communication protocol IP address, a type of IP address, or a port number of the intermediate routing device.
Step S120: and if the packet loss detection participation identification is associated with the intermediate routing equipment, carrying out packet loss detection based on the first flow message.
Step 130: if the packet loss detection result is that packet loss occurs, corresponding first packet loss information is sent to the message sending end, so that the message sending end retransmits the lost message according to the first packet loss information.
Step S140: if the packet loss detection participation identification is not associated with the intermediate routing equipment, under the condition that the preset condition is met, a control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end, so that the message sending end sets the packet loss detection participation identification in the flow message to be sent to the message receiving end as the packet loss detection participation identification associated with the intermediate routing equipment according to the equipment identification.
The method provided by the embodiment of the disclosure may be performed by any intermediate routing device (hereinafter referred to as a target routing device) on a data transmission path between a message sending end and a message receiving end. The first traffic message may be received directly from the message sender by the target routing device or may be transmitted from the message sender to the target routing device via at least one other intermediate routing device. After receiving the first flow message, the target routing device can acquire a packet loss detection participation identifier carried in the message by analyzing the message, and if the packet loss detection participation identifier in the first flow message is associated with the target routing device, the target routing device which currently receives the first flow message is indicated to participate in the intermediate node packet loss detection service, and the target routing device needs to perform packet loss detection based on the first flow message.
The embodiment of the disclosure is not limited by the specific manner in which the target routing device performs packet loss detection based on the first traffic message currently received, and any manner in which packet loss detection is currently implemented may be adopted, for example, the target routing device may determine whether packet loss occurs according to a message identifier (such as a message number, a message sequence number, or a flow offset value) of all traffic messages (a traffic message sent by a message sending end corresponding to the first traffic message to a message receiving end corresponding to the first traffic message) that the target routing device currently receives. As an example, assume that the destination routing device has currently received traffic messages with message numbers of 1,2, and 4, and the numbering manner of the traffic messages is continuous, and the destination routing device may determine, according to the received message numbers of the messages, that the traffic message with message number 3 has lost a packet.
When the target routing equipment determines that the packet loss detection result is that the packet loss exists as the packet loss occurrence, namely, the packet loss exists through the packet loss detection, corresponding first packet loss information is sent to the message sending end, the packet loss information indicates which message the lost message currently detected by the target routing equipment is, the message sending end can timely and rapidly transmit the target message corresponding to the lost information after receiving the first packet loss information fed back by the target routing equipment, and the retransmission efficiency of the lost message can be effectively improved without waiting until the message receiving end detects that the target message is lost and sends the corresponding packet loss information to the message sending end through the intermediate routing equipment.
For any traffic message, when the target routing device detects that the message is lost for the first time, the target routing device can directly send the packet loss information corresponding to the message sending end, and if the target routing device does not detect that the message is lost for the first time, the target routing device can determine whether to send the packet loss information again to the message sending end according to a preconfigured packet loss information transmission strategy. Optionally, if the target reason device determines that the traffic message a is lost based on the first traffic message, if the message a is not detected to be lost by the target routing device for the first time, the time difference between the time of last sending the packet loss information corresponding to the message and the current time can be determined, if the time difference is smaller than a preset duration, the packet loss information corresponding to the message can not be sent to the message sending end, and if the duration is longer than the preset duration, the packet loss information corresponding to the message can be resent, in this way, the packet loss information of the same packet corresponding point can be avoided being sent repeatedly in a shorter time, the waste of transmission resources is avoided, and the message sending end can also be reduced to repeatedly receive and parse the same message in a short time.
In the disclosed embodiment, if the packet loss detection participation identifier in the first flow packet is a second detection identifier (which is irrelevant to the intermediate routing device), that is, a default value, which indicates that the target routing device currently receiving the first flow packet is not participating in the packet loss fast retransmission service, the target routing device may determine whether to participate in the service according to its own situation, if it is determined that participation (meeting a preset condition) is determined, the target routing device may feed back its device identifier to the packet sending end, after receiving the device identifier of the routing device sent by the target routing device, the routing device may determine to participate in fast retransmission, that is, the routing device may perform packet loss detection operation, and when the packet sending end subsequently sends a flow packet to the packet receiving end, the packet loss detection participation identifier in the flow packet may be set to the packet loss detection participation identifier associated with the intermediate routing device according to the device, and when the target routing device subsequently receives the flow packet sent by the packet sending end, the packet sending end sends a packet loss packet to the packet receiving end, and the packet loss detection participation identifier is fast known, so that the packet loss detection result is fast perceived and the packet loss detection end is fast obtained.
As an alternative, the packet loss detection participation identifier may include first identification information and second identification information, where the first identification information is used to indicate authority of the intermediate routing device to participate in packet loss detection, and the second identification information is used to indicate device information of the intermediate routing device; if the packet loss detection participation identifier is not associated with the intermediate routing device, the sending of the control message carrying the device identifier of the intermediate routing device to the message sending end may include:
if the intermediate routing equipment is determined to have the authority of participating in packet loss detection according to the first identification information, and the second identification information is not associated with the intermediate routing equipment, the control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end under the condition that the preset condition is met.
For the specific identification forms of the first identification information and the second identification information, the embodiment of the disclosure is not limited, and may be preconfigured according to the requirement. The first identification information may be used to determine whether the intermediate route has authority to participate in packet loss detection. For example, the first identification information may be a value of 1 indicating no participation authority and a value of 0 indicating participation authority.
As an alternative, the first identification information may indicate a first number of intermediate routing devices that participate in packet loss detection, where the maximum number of intermediate routing devices that may participate in packet loss detection, that is, the upper limit, is a set number, and when determining that the first number of intermediate routing devices indicated by the first identification information in the packet is less than the set number, the intermediate routing device that receives the first flow packet determines that the intermediate routing device has authority to participate in packet loss detection, otherwise, does not have authority to participate in packet loss detection.
In practical applications, there may be multiple intermediate routing devices through which data transmission is performed between the packet sending end and the packet receiving end, if each intermediate routing device participates in packet loss fast retransmission, the process implementation of packet transmission may be relatively complex and chaotic, and considering this problem, in this solution of the embodiment of the present disclosure, the number of intermediate routing devices that may participate in packet loss fast retransmission service at the same time may be limited by the first identification information in the packet loss detection participation identification, for example, the transmission protocol agrees to set the number of intermediate routing devices that may participate in packet loss fast retransmission service at the same time to be 1, if the first number indicated by the first identification information is 1, then the intermediate routing device currently receiving the first flow packet may not participate in packet loss fast retransmission, and in this solution, packet loss detection may not be required. Optionally, if the intermediate routing device determines to participate in packet loss detection, the intermediate routing device may further modify the first identification information, so that the intermediate routing device that subsequently receives the packet may determine whether itself has participation rights according to the modified identification information, for example, the first identification information is used to indicate the number of intermediate routing devices that have participated in packet loss detection, when the intermediate routing device determines to participate, the value of the first number indicated by the modified first identification information is to be increased by 1, for example, the number indicated before modification is 0, the number indicated after modification is to be 1, if the upper limit of the number of intermediate routing devices that can participate in detection at the same time is 1, and when there are other intermediate routing devices after the intermediate routing device on the packet transmission link, the other routing devices may know that they have no authority to participate in packet loss detection according to the modified first identification information.
The preset condition for the target routing device to determine whether to participate in the fast retransmission may be configured according to the actual application requirement, which is not limited in the embodiments of the present disclosure. Optionally, the preset condition may include, but is not limited to, at least one of:
The message receiving end is a receiving end of a designated type, such as a high-priority receiving end (such as a user terminal of a VIP user of a target application program), and the implementation of the specific division mode of the priority is not limited;
The load of the intermediate routing equipment meets the set condition, if the load is smaller than the set threshold, that is, the load of the intermediate routing equipment needs to be lower;
the quick retransmission packet loss detection starting identifier corresponding to the message receiving end is a first starting identifier, wherein the first starting identifier indicates that the intermediate routing equipment is started to carry out packet loss detection, namely, the packet loss quick retransmission service is allowed to be started, and if a user of the message receiving end grants permission to start the service.
The fast retransmission packet loss detection start identifier is used for indicating whether the current packet transmission supports the function of packet loss detection by the intermediate routing device, if the packet loss detection start identifier is a second start identifier (e.g. 0 or 00), the function is not supported, at this time, after the target routing device receives the first traffic packet, if the packet loss detection start identifier of the packet is the second start identifier, the packet loss detection operation is not required to be executed, and the received traffic packet is forwarded to the packet receiving end. If the packet loss detection opening identifier is a first opening identifier (e.g. 1 or 01), which indicates that the packet loss fast retransmission is currently supported, the target routing device can send its device identifier to the message sending end so as to inform the message sending end that the message sending end participates in the fast retransmission service, and when the message sending end subsequently sends the traffic message, the packet loss detection participation identifier in the message can be set as the packet loss detection participation identifier associated with the target routing device.
The specific manner of determining whether the value of the packet loss detection opening identifier in the first flow packet is the first opening identifier or the second opening identifier is not limited uniquely in the embodiment of the present disclosure. As an alternative, the packet loss detection start identifier may be determined by the packet sending end in any of the following manners:
mode one: acquiring equipment state information of a message receiving end; according to the equipment state information, determining that the packet loss detection opening identifier is a first opening identifier or a second opening identifier;
Mode two: and acquiring message transmission parameters corresponding to the message sending end and the message receiving end, and determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the message transmission parameters.
For the above manner one, the device state information may include one or more pieces of information related to the fast retransmission service, for example, the device state information may include, but is not limited to, at least one piece of information including a device type of a message receiving end, a usage situation of a device resource (such as a current usage situation of a CPU of the device), or a network state of the device, if the device state information satisfies a first condition (such as the device type is a specified type, the usage situation of the device resource, or the network state satisfies a certain condition, etc.), the packet loss detection start identifier may be determined as a first start identifier, and if the set state information does not satisfy the first condition, the packet loss detection start identifier may be determined as a second start identifier.
As an alternative, the message receiving end may be a user terminal, and may provide a packet loss detection opening setting option for the user, based on which the user may set whether to start the fast retransmission function according to his own actual requirement, for example, if the user wants to improve retransmission efficiency, the user may determine the packet loss detection opening identifier as the first opening identifier on the user setting interface of the target application, and if the user wants to save equipment resources, for example, reduce power consumption of the user terminal, may determine the packet loss detection opening identifier as the second opening identifier. At this time, the device state information may be an identification value of the packet loss detection start identifier, that is, the first start identifier or the second start identifier, acquired by the packet receiving end.
For the second mode, the specific identification value of the packet loss detection opening identification may also be determined by the packet sending end according to the current packet transmission parameter, where the packet transmission parameter may include, but is not limited to, at least one of transmission delay information of a transmission path (packet transmission paths of the packet sending end and the packet receiving end), a packet type of a traffic packet, or information such as a packet priority, and optionally, if the transmission delay of the transmission path is greater, if the transmission delay is greater than a set delay, the packet detection opening identification may be determined as a second opening identification, otherwise, the packet detection opening identification is set as a first opening identification; or if the message type of the flow message to be transmitted is a specified target type, the packet loss detection opening identifier can be determined to be a first opening identifier, otherwise, the packet loss detection opening identifier is set to be a second opening identifier; and then or if the message priority of the flow message to be transmitted is the appointed priority or higher than the appointed priority, the packet loss detection opening identifier can be determined as a first opening identifier, otherwise, the packet loss detection opening identifier is set as a second opening identifier.
As an alternative of the disclosure, the first traffic packet may further carry a packet loss detection start identifier, and as known from the foregoing description, the packet loss detection start identifier is a first start identifier or a second start identifier, where the first start identifier indicates that the intermediate routing device is started to perform packet loss detection, and the second start identifier indicates that the intermediate routing device is not started to perform packet loss detection; correspondingly, the meeting the preset condition includes that the packet loss detection opening identifier is a first opening identifier.
If the packet loss detection participation identifier carried in the first flow packet is associated with the intermediate routing device, the packet loss detection based on the first flow packet may include:
And under the condition that the packet loss detection opening identifier is the first opening identifier, if the packet loss detection participation identifier is associated with the intermediate routing equipment, carrying out packet loss detection based on the first flow message.
That is, the packet loss detection start identifier may be used as a basis for determining whether the target routing device participates in the fast retransmission service of the packet loss, or may be used as a basis for the target routing device to determine whether to perform the packet loss detection operation if the packet loss detection participation identifier of the first traffic packet is the first detection identifier, and if the packet loss detection participation identifier of the first traffic packet is the packet loss detection participation identifier associated with the target routing device, the packet loss detection start identifier is the second start identifier, and the target routing device does not need to perform the packet loss detection. For example, in an application scenario where a user terminal requests data from a server, in the early transmission period, the electric quantity of the user terminal is relatively high, a user starts a packet loss fast retransmission function (i.e., packet loss detection starting detection is set as a first detection identifier), a target routing device also determines to participate in packet loss fast retransmission, but the electric quantity of the user terminal in the later transmission period is low, and the user closes the function, so that even if the packet loss detection participation identifier in a traffic message transmitted at this time is a packet loss detection participation identifier associated with the target routing device, the target routing device does not need to perform packet loss detection.
It can be understood that, whether the target routing device performs packet loss detection or not, the target routing device forwards the packet received from the packet sending end and required to be transmitted to the packet receiving end, where the forwarding may be direct forwarding, and may be forwarding through other intermediate routing devices.
In order to further improve reliability of data transmission, in an alternative embodiment of the present disclosure, if a packet loss detection participation identifier carried by a first traffic packet is not associated with an intermediate routing device, if a preset condition is met, the method further includes:
And acquiring a first transmission link identifier corresponding to the first flow message, and storing the first transmission link identifier into a target database.
If the packet loss detection participation flag is associated with the intermediate routing device, the packet loss detection based on the first flow packet may include:
If the packet loss detection participation identification is associated with the intermediate routing equipment, acquiring a second transmission link identification of the first flow message;
And when the second transmission link identifier is stored in the target database, carrying out packet loss detection based on the first flow message.
The first transmission link identifier is a unique transmission link identifier corresponding to the current message sending end and the message receiving end, and the identifier can uniquely identify a connection or a session. In this alternative scheme, when the packet loss detection participation identifier carried by the first traffic packet is not associated with the target routing device, if the identifier is a preset identifier (e.g., a digital string with a value of 0 in a set length), and the target routing device determines to participate in the fast retransmission of the packet loss under the condition that the preset condition is met, the first transmission link identifier corresponding to the first traffic packet is recorded in the target database, that is, records the fast retransmission of the traffic corresponding to the packet sending end and the packet receiving end corresponding to the first traffic packet, where the transmission link identifier is also used as an important basis for determining whether to participate in the fast retransmission of the packet loss after the target routing device receives the traffic packet in the later period. Specifically, if the packet loss detection participation identifier in the first flow packet currently received by the target routing device is associated with the target routing device, and the transmission link identifier corresponding to the first flow packet is recorded in the target database by the target routing device, it indicates that the target routing device is actually determined to participate in the packet loss fast retransmission corresponding to the packet sending end and the packet receiving back end corresponding to the flow packet before, and the packet loss detection operation can be executed. In the alternative scheme, if the transmission link identifier corresponding to the first flow message is not recorded in the target database by the target routing equipment, the target routing equipment does not perform packet loss detection operation. Based on the alternative scheme, the problems caused by malicious tampering and other reasons of information carried in the flow message can be avoided, and the safety of data transmission can be better ensured.
The embodiment of the disclosure is not limited to the specific form of the transmission link identifier corresponding to the flow message, theoretically, only the message transmitting end and the message receiving end which can be uniquely identified can be used, and the transmission link identifier corresponding to the flow message can be different for different data transmission protocols. Alternatively, the first transmission link identifier may be quintuple information, quad information or connection identifier CID of the first traffic packet.
The data transmission method provided by the embodiment of the disclosure can effectively solve the problem of influence of hysteresis of packet loss feedback on transmission efficiency in the existing packet loss retransmission mechanism, and the method provides a brand-new flow rapid retransmission method based on the assistance of intermediate routing equipment, when the intermediate routing equipment detects that packet loss occurs, packet loss information can be immediately sent to a message sending end, and the message sending end can rapidly retransmit lost flow messages after receiving the packet loss information sent by the intermediate routing equipment.
As an alternative of the present disclosure, if the packet loss detection result is that packet loss occurs, the method may further include:
The method comprises the steps of sending first packet loss information to a message receiving end, so that the message receiving end carries out packet loss detection according to the first packet loss information, and when a newly added lost message is detected, sending second packet loss information corresponding to the newly added lost message to a message sending end through an intermediate routing device;
The newly added lost message refers to a message except for the lost message corresponding to the first packet loss information.
That is, when the target routing device determines that packet loss occurs based on the traffic packet that has been received currently, the target routing device may send corresponding packet loss information to the data receiving end in addition to the corresponding packet loss information to the packet sending end, so as to inform the packet receiving end which one or more lost traffic packets have been detected and informed to the packet sending end, so that the packet receiving end does not need to send the packet loss information of the corresponding lost packet to the packet sending end after receiving the packet loss information sent by the intermediate routing device, thereby saving resources of the packet receiving end. If the message receiving end detects packet loss according to the current received traffic message, if the lost message is determined to include other lost messages, namely the newly added lost message, besides the lost message notified by the intermediate routing equipment, the message receiving end needs to forward packet loss information corresponding to the newly added lost message to the message transmitting end through the intermediate routing equipment, so that the message transmitting end retransmits the newly added lost message, and the integrity of the traffic finally received by the message receiving end is ensured as much as possible.
In the implementation application, if the set number of the intermediate routing devices allowed to participate in the packet loss fast retransmission is greater than 1, it is assumed that at most 2 intermediate routing devices are allowed to participate in the packet loss fast retransmission at the same time, on a transmission path from a message sending end to a message receiving end, the 2 nd intermediate routing device participating in the packet loss fast retransmission can perform packet loss detection according to each flow message currently received by itself, if the intermediate routing device detects packet loss before receiving a certain flow message, the 1 st intermediate routing device participating in the packet loss fast retransmission can send packet loss information to a message sending end and the 2 nd intermediate routing device respectively, the 2 nd intermediate routing device can perform packet loss detection according to the packet loss information sent by the 1 st intermediate routing device and the flow message received by itself, and if the 2 nd intermediate routing device detects a new added lost message (i.e. a lost message corresponding to the packet loss message sent by the 1 st intermediate routing device), the new packet loss detection message and the new packet loss message can not need to be added to the message sending end if the new packet loss information is not to be added to the message sending end. Of course, for the message receiving end, if multiple intermediate routing devices are allowed to participate in the packet loss fast retransmission at the same time, the message receiving end can detect the newly added lost message according to the flow message received by the message receiving end and the packet loss information received from each intermediate routing device, and if the newly added lost message does not exist, the packet loss information does not need to be fed back to the message sending end.
As can be seen from the foregoing description, the target routing device forwards the received traffic message to the message receiving end, regardless of whether the target routing device performs the packet loss detection operation. As an alternative, for the first traffic message, the target routing device may directly forward the traffic message to the message receiving end. As another alternative, if the packet loss detection participation identifier carried in the first traffic packet is not associated with the intermediate routing device, under the condition that the preset condition is met, the data transmission method provided by the disclosure may further include:
According to the equipment identifier, updating the packet loss detection participation identifier in the first flow message into a packet loss detection participation identifier associated with the intermediate routing equipment, and sending the updated first flow message to a message receiving end;
After receiving a confirmation message of the message sending end for the control message and a confirmation message of the message receiving end for the updated first flow message, when receiving a second flow message sent by the message sending end, if the packet loss detection participation identification in the second flow message is the packet loss detection participation identification associated with the intermediate routing device, carrying out packet loss detection based on the second flow message.
As an optional way in practical implementation, when the target routing device determines to participate in packet loss fast retransmission between the message sending end and the message receiving end, the device identifier of the target routing device may be sent to the message sending end through a control message (or other names), and the sending end may know which intermediate routing device participates in packet loss fast retransmission according to the control message, and may set a packet loss detection participation identifier in the traffic message transmitted in the later period as a packet loss detection participation identifier associated with the intermediate routing device. When the target routing device determines participation, the packet loss detection participation identification in the first flow message can be updated from the second detection identification to the packet loss detection participation identification of the intermediate routing device, and the updated flow message is sent to the message receiving end, so that the receiving end also knows that the intermediate routing device participates in packet loss fast retransmission.
After receiving the control message sent by the target routing device, if the sending end agrees that the target routing device participates in packet loss fast retransmission, the message sending end can send a confirmation message corresponding to the control message to the target routing device, so as to inform the message sending end of agreeing to the participation of the target routing device. Similarly, for the message receiving end, when receiving the traffic message carrying the packet loss detection participation identifier associated with the routing device and sent by the target routing device for the first time, if the target routing device is agreed to participate in the packet loss fast retransmission, the message receiving end may also feed back a confirmation message to the target routing device, so as to inform that the message sending end also agrees to participate in the packet loss fast retransmission. Correspondingly, after receiving a confirmation message of a message sending end for a control message and a confirmation message of a message receiving end for an updated flow message, the target routing device performs packet loss detection on the flow message which is received later and contains the first detection identifier associated with the flow message. By adopting the mode, the situation that the message sending end, the target routing equipment and the message receiving end all reach an agreement can be guaranteed, the packet loss rapid retransmission function can be started, namely, the intermediate routing equipment can execute packet loss detection, the message sending end can be informed of retransmitting the lost message as soon as possible when the intermediate routing equipment detects the packet loss, and the time delay of the message receiving end for acquiring the lost message can be effectively reduced.
The foregoing describes an optional implementation manner of the data transmission method provided by the present disclosure by using the intermediate routing device as an execution body of the data transmission method, and it can be understood that the scheme provided by the embodiment of the present disclosure may also be described in terms of standing at a message sending end or a message receiving end. As shown in fig. 2, a flow chart of a data transmission method according to another embodiment of the disclosure is shown, where the method is performed by a message sending end, and the message sending end communicates with a message receiving end through an intermediate routing device, and the method may include:
Step S210: responding to a flow request of a message receiving end, and sending a first flow message to intermediate routing equipment, wherein the first flow message comprises a packet loss detection participation identifier which is not associated with the intermediate routing equipment;
Step S220: if a control message sent by the intermediate routing equipment is received, setting a packet loss detection participation identifier in a next flow message to be sent as a packet loss detection participation identifier associated with the intermediate routing equipment according to the equipment identifier of the intermediate routing equipment carried in the control message;
Step S230: the next flow message is sent to the intermediate routing equipment, so that when the intermediate routing equipment determines that a packet loss detection participation identifier in the next flow message is associated with the intermediate routing equipment, packet loss detection is carried out based on the received flow message, and when a packet loss detection result is that packet loss exists, packet loss information is sent to a message sending end;
Step S240: and retransmitting the corresponding flow message according to the packet loss information when the packet loss information sent by the intermediate routing equipment is received.
In this scheme, the first traffic message is a first traffic message sent by the message sending end and corresponding to the traffic request. If the message transmitting end does not receive the control message which is fed back by the intermediate routing equipment and contains the equipment identifier, the packet loss detection participation identifier of the flow message which is transmitted subsequently is still an identifier which is not associated with the intermediate routing equipment, such as a preset identifier.
It will be understood that the method shown in fig. 2 and the method shown in fig. 1 are descriptions respectively standing on the intermediate routing device as an execution body of the method and the message sending end as an execution body of the method. The solution in other alternative embodiments of the method shown in fig. 1 is equally applicable as an alternative implementation of the method shown in fig. 2. For example, in the method shown in fig. 2, the first flow packet may further include a packet loss detection start identifier, and the method may further include:
acquiring equipment state information of a message receiving end; according to the equipment state information, determining that the packet loss detection opening identifier is a first opening identifier or a second opening identifier;
and acquiring message transmission parameters corresponding to the message sending end and the message receiving end, and determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the message transmission parameters.
It is to be understood that the various embodiments provided by the present disclosure may be combined with one another. In order to better understand and describe the data transmission method provided by the present disclosure, an alternative embodiment of the scheme provided by the present disclosure is described below in conjunction with a practical application scenario. In this scenario embodiment, an application program (simply referred to as a video application program) that provides an online video viewing server will be described as an example, and a user of the application program may view video through the application program running on a user terminal thereof.
Fig. 3 shows a schematic structural diagram of a data transmission system applicable to this embodiment of the present scenario, as shown in fig. 3, where the data transmission system may include a user terminal 10 and a cloud server 30 of a video application, where when a user views a video through the user terminal 10, the user terminal 10 may establish a communication link with the cloud server 30 through one or more intermediate routing devices (two intermediate routing devices 21 and 22 are shown in fig. 3), and the cloud server 30 may send a traffic packet (a packet containing video content) to the user terminal 10 through the intermediate routing device, and the user terminal 10 plays a video stream in the received traffic packet to the user. In this embodiment of the present scenario, only one intermediate routing device is allowed to participate in the fast retransmission of the lost packet.
Fig. 4 is a flow chart illustrating a data transmission method in the embodiment of the present scenario, and the data transmission scheme in the embodiment of the present scenario is described below with reference to fig. 3 and fig. 4. As shown in fig. 4, the data transmission method may include the steps of:
step S11: and the user terminal sends a flow request message to the server, wherein the message carries an identifier S of whether the terminal supports the assistance of the intermediate routing equipment.
In this embodiment of the present scenario, the flow request message is a video acquisition request sent by the user terminal to the server, and optionally, the user interface of the target application program on the user terminal of the user may trigger the user terminal to send the flow message request to the server by clicking a play control of any video. The request may include an identifier of the video requested to be played by the user, and the server may send a flow message to the user terminal after receiving the request, where the flow message corresponds to the identifier of the video.
The identifier S is a packet loss detection start identifier in this embodiment of the present application, where a user may refer to whether to start a service for assisting in packet loss detection by an intermediate routing device, that is, a fast packet loss retransmission service, on a user terminal according to the need of the user, if the user selects to start the service, a marking value of the identifier S carried in a flow request packet is a first start identifier, and if the user selects not to start the service, a marking value of the identifier S is a second start identifier.
In this embodiment of the present scenario, the identifier S may occupy 1bit (bit), and when s=0x0 (i.e. the value of the bit is set to 0), it indicates that the terminal does not support the intermediate routing device to assist in fast retransmission, that is, 0x0 is the first opening identifier; when s=0x1, it means that the terminal supports the intermediate routing device to assist the fast retransmission, that is, 0x1 is the second start identifier.
Step S12: the server initializes and sends the flow message, specifically, the server may send the flow message to the terminal immediately after receiving the flow request message from the user terminal.
With the system shown in fig. 3, the cloud server 40, after receiving a traffic message request sent by the user terminal 10, sends a traffic message to the terminal via the intermediate routing devices 21 and 22.
If the packet loss detection start identifier s=0x0 in the flow request packet, the server sends the flow packet to the user terminal through the intermediate routing device 21 and the routing device 22. If the identifier s=0x1 in the flow packet, the following identifier S and the identifier router_id may also be carried in the flow packet:
1) The value of the identifier S is consistent with the value of the identifier S in the flow request message, and when s=0x1, the identifier router_id (the router_id is the packet loss detection participation identifier in the embodiment of the present scenario) is valid;
2) When the identifier s=0x1, the traffic message carries the identifier router_id.
For the first traffic message to be sent, the router_id in the traffic message is a default value, such as default 0. As an alternative, the identifier router_id may occupy 146bits, and the identifier may consist of four parts of < join, type, r_addr, r_port >, where join occupies 1bit, indicating whether an intermediate routing device has participated in the fast traffic retransmission, and if join=0x1, indicating that an intermediate routing device has participated in the first traffic message, join=0x0; type occupies 1bit, and indicates the IP address type (i.e., IPv4 address or IPv6 address) of the intermediate routing device, when type=0x0, indicates that the IP address r_addr is an IPv4 address, and when type=0x1, indicates that r_addr is an IPv6 address; wherein, r_addr may occupy 128bits, and when type=0x0, r_addr will carry the IPv4 address (length is 32 bits) of the intermediate router, and optionally, the address may be located at the lower 32bits of r_addr of 128 bits; when type=0x1, the r_addr will carry the IPv6 address (length is 128 bits) of the intermediate routing device, occupying the r_addr of the whole 128 bits; the r_port records the port number of the intermediate router, which may occupy 16 bits.
The 146bits occupied by the identifier router_id defaults to 0 in the first traffic message sent by the server, and the identifier router_id needs to be added by the intermediate routing device, because the values of all parts of the identifier are associated with the device identifier of the intermediate routing device, and the server cannot set the specific value of the identifier in advance.
In this scenario embodiment, the join identifier in the router_id may be understood as first identifier information in the packet loss detection participation identifier, which is used to indicate the authority of the intermediate routing device to participate in packet loss detection, for example, a first number of intermediate routing devices that have already participated in packet loss fast retransmission may be identified, if join=0x0 (for example, the first number is 0) may indicate that the intermediate routing device that receives the traffic packet has the authority to participate in packet loss detection, and if join=0x1 (for example, the first number is 1) may indicate that the intermediate routing device that receives the traffic packet does not have the authority to participate in packet loss detection. The information of each field except the join identifier in the router_id may be understood as second identification information, where the second identification information indicates device information of an intermediate routing device currently participating in the packet loss fast retransmission, such as the IP address, the type of the IP address, and the port number of the intermediate routing device.
Step S13: after receiving the flow message sent to the user terminal by the server, the intermediate routing device judges whether to participate in the packet loss fast retransmission.
Taking the system in fig. 3 as an example, the cloud server 40 sends a first traffic message of the video requested to be played by the user terminal 10 to the intermediate routing device 22, and the intermediate routing device 22 determines to participate in the packet loss fast retransmission when determining that the preset condition is met by judging whether the preset condition is currently met. Optionally, in the embodiment of the present disclosure, the intermediate routing device may determine whether to participate in assisting the fast retransmission of the traffic according to the priority of the traffic packet and the load condition of the intermediate routing device, and if so, may embed a router_id identifier corresponding to the intermediate routing device in the traffic packet (i.e., modify a packet loss detection participation identifier in the traffic packet from a default value to a first detection identifier). Optionally, the conditions of participation of the intermediate routing device in assisting the fast retransmission of the traffic, that is, the preset conditions, may include the following conditions:
a) The identifier s=0x1 in the flow message, namely the packet loss detection opening identifier is a first opening identifier;
b) The identifier join=0x0 in the flow message, and no intermediate routing device participates in the flow fast retransmission (the first number indicated by the first identifier information is smaller than the set number);
c) The destination IP address of the traffic message (i.e. the IP address of the user terminal) is a high priority user, i.e. the user requesting the traffic is a user of a certain or some designated priority.
D) The load of the intermediate routing equipment is lower, if the current equipment resource occupation condition of the intermediate routing equipment meets the preset condition, for example, the CPU resource occupation rate is lower than the set occupation rate;
optionally, if the intermediate routing device meets the four conditions simultaneously, the intermediate routing device participates in the fast retransmission of the traffic.
Step S14: if the intermediate routing device determines to participate in assisting the rapid retransmission of the traffic, the self information can be embedded in the traffic message, namely, the identification router_ID of the message is modified to be a first detection identification associated with the intermediate routing device.
Optionally, when the intermediate routing device determines that the preset condition is met, relevant information of the intermediate routing device may be embedded in the router_id identifier, that is, each field of the router_id is updated, including embedding a type of an IP address of the intermediate routing device, an IP address r_addr, and a port number r_port in the router_id, and simultaneously, setting a join identifier value in the traffic message to 1 (i.e., join=0x1), that is, updating the first identifier information.
When the intermediate routing device determines to participate in the fast retransmission of the traffic, the intermediate routing device may send a control message pkt_ctl to the server, where the message may carry a router_id identifier (send the device identifier of the intermediate routing device to the server) to inform the server that the intermediate routing device determines to participate in the fast retransmission of the traffic.
It will be appreciated that the r_port in the router_id identification in the pkt_ctl message sent to the server is the port number sent to the server, which is not necessarily equal to the r_port value in the traffic message, which is the port number sent to the user terminal.
After receiving the control message pkt_ctl, the server may send a confirmation message pkt_ack to the intermediate routing device and the end user, which indicates that the intermediate routing device is accepted to participate in the fast retransmission of the traffic. After receiving the flow message carrying the router_id, the user terminal may send a message acknowledgement message pkt_ack to the intermediate routing device and the server, respectively, to indicate that the intermediate routing device is accepted to participate in the fast retransmission of the flow. It will be appreciated that the server sends messages to the user terminal and whether the user terminal sends messages to the server or forwards the messages through an intermediate routing device between the two.
Taking any intermediate routing device shown in fig. 3 as an example, fig. 5 shows a schematic implementation flow diagram of the intermediate routing device for judging whether to participate in the traffic fast retransmission service, other routing devices are omitted in the diagram, taking the intermediate routing device R1 in fig. 5 as an example of the intermediate routing device 22 in fig. 3, data forwarding is performed between R1 and the user terminal through the intermediate routing device 21, and if R1 is the intermediate routing device 21, data forwarding is performed between the cloud server and R1 through the intermediate routing device 22.
As shown in fig. 5, after receiving the traffic message 1 sent by the cloud server, the intermediate routing device R1 embeds a router_id related to itself in the traffic message and sends a control message pkt_ctl carrying a router_id identifier of itself to the server when the four conditions (preset conditions) in the step S13 are satisfied; after receiving the pkt_ctl message, the server sends a confirmation message pkt_ack to the intermediate routing device R1. The intermediate routing device R1 modifies the router_id identifier in the traffic message 1 to an identifier associated with the router_id identifier, and sends the traffic message carrying the modified router_id identifier to the user terminal, and the user terminal replies a message pkt_ack to the intermediate routing device after receiving the traffic message carrying the router_id identifier. After receiving pkt_ack messages from the server side and from the user terminal, the intermediate routing device starts a flow retransmission assisting function.
It should be noted that, if the above steps are completed, the router_id carried in the traffic packet sent to the ue by the server will be filled by the server, i.e. will not be embedded by the intermediate routing device, where the identifier join=0x1 in the traffic packet; the router_id in the traffic message will fill in the information of the participating intermediate routing devices, i.e. the packet loss detection participation identification is the first detection identification associated with the intermediate routing devices participating in the fast retransmission of the lost packets.
Optionally, if the above steps are completed, the intermediate routing device may locally store a flow identifier (such as a quintuple) or a connection identifier CID of the flow transmission between the server and the ue, where the flow identifier or the connection identifier is used as a transmission link identifier between the server and the ue, and uniquely identifies the connection between the ue and the server, and the information is used as an important basis for determining whether to participate in the packet loss fast retransmission after receiving the packet later. As shown in fig. 3, if the intermediate routing device 22 participates in the packet loss fast retransmission, the intermediate routing device 22 stores the transmission link identifiers corresponding to the cloud server 30 and the user terminal 10 in the corresponding target database.
After determining that the packet loss fast retransmission is participated, the intermediate routing device may perform step S17: and forwarding the message, namely forwarding the flow message updated by the router_ID to the user terminal. The intermediate routing device performs packet loss detection on the traffic message which is received from the server and needs to be sent to the user terminal. As shown in fig. 5, the method may include the steps of:
step S13: the intermediate routing equipment judges whether to participate;
For the subsequent flow message received by the intermediate routing device from the server, the intermediate routing device determines whether the intermediate routing device has participated in packet loss fast retransmission according to the identifier S and the identifier router_id in the flow message, optionally, if the identifier s=0x1 therein indicates that packet loss detection is started as the first detection identifier, if the values of the four fields < join, type, r_addr, r_port > in the identifier router_id are all 0, i.e. default values, in the identifier router_id, the values of the three fields, i.e. join=0x1, type, r_addr, and r_port, are the type of the IP address, and the port number of the intermediate routing device, then the intermediate routing device determines that the intermediate routing device has previously determined to participate in packet loss fast retransmission, and is not primary participation, and may enter step S15, if the values of the fields in the identifier router_id are all 0, indicates that the intermediate routing device is not involved in packet loss fast retransmission, and the intermediate routing device may enter step S14 based on the preset conditions.
Step S15: and detecting packet loss.
After receiving the flow message from the server, the intermediate routing equipment carries out packet loss detection on the flow message meeting the condition; if it is detected that a packet loss occurs, a packet loss information message Ptk _loss may be sent to the server and the user terminal at the same time, as shown in step S16 in fig. 4, the intermediate routing device may notify the server to retransmit a traffic message (i.e. a lost traffic message), and the intermediate routing device forwards the non-lost message received by the intermediate routing device.
The "traffic message meeting the condition" refers to: the flow identifier or the connection identifier (i.e. the transmission link identifier) carried in the flow message is stored locally in the intermediate routing device, and as known from the foregoing description, when the intermediate routing device participates in the fast retransmission of the flow, the flow identifier or the connection identifier corresponding to the local storage server and the user terminal is stored in a target database, for example, after the intermediate routing device receives the flow message, the flow identifier or the connection identifier of the flow message can be extracted and found in the local target database, and if the flow identifier or the connection identifier can be matched (i.e. can be queried in the target database), the packet loss detection is performed on the flow message.
Optionally, in this embodiment of the present invention, the basis for packet loss detection by the intermediate routing device may be a number (may also be referred to as a sequence number) of a packet or a flow offset value carried in the packet, and when the intermediate routing device is based on that the packet number of the traffic packet sent by the server to the user terminal has been received by the intermediate routing device is incomplete or the flow offset value is incomplete, packet loss occurs for detecting that packet loss occurs.
As an example, fig. 6 shows a schematic diagram of performing packet loss detection by the intermediate routing device, as shown in fig. 6, the cloud server sequentially sends, to the intermediate routing device R1, a flow packet 1 to a flow packet 4, where 1 to 4 respectively represent packet numbers of 4 flow packets, the intermediate routing device R1 determines, according to the packet numbers 1, 3 and 4 of 3 flow packets that have been received currently by the intermediate routing device R1, that the flow packet 2 in the flow packet sent by the server to the user terminal is detected to be missing, that is, the flow packet 2 is a missing packet, and at this time, the intermediate routing server R1 may respectively send, to the server and the user terminal, packet loss information packets pkt_loss corresponding to the flow packet 2 (i.e., to be sent to the terminal and the server respectively), where the packet loss information detected by the intermediate routing device is recorded (that the flow packet number 2 is missing). After receiving the packet loss information message pkt_loss from the intermediate routing device R1, the server can immediately retransmit the lost message, namely the traffic message 2 in fig. 5, so that the retransmission efficiency of the message 2 is effectively improved.
For the user terminal, after receiving the traffic message from the server and the packet loss information message pkt_loss from the intermediate routing device, the terminal can check the remaining undetected packet loss information (i.e. the packet loss information of the newly added lost message) based on the detected lost traffic message notified by the packet loss information message, and transmit the message carrying the packet loss information back to the cloud server.
In the schematic diagram shown in fig. 7, after a traffic packet sent to a user terminal by a server passes through an intermediate routing device R1, the intermediate routing device R1 detects that the packet number of the lost traffic packet is 2, in the process that the intermediate routing device R1 forwards the traffic packets with the received packet numbers of 1, 3 and 4 to the user terminal, the traffic packet 3 is lost, the user terminal detects that the traffic packets 2 and 3 are lost according to the packet number or the flow offset value of the received traffic packet, and according to the packet loss information packet pkt_loss sent by the intermediate routing device R1, it finds that the packet number 2 has lost 0 before passing through R1, and R1 feeds back the packet loss information of the traffic packet 2 to the cloud server, then the user terminal feeds back the packet loss information (i.e. the packet number 3) from R1 to the user terminal to the cloud server, where the packet loss information is located, as shown in pkt_loss_client in fig. 6.
After receiving the packet loss information message pkt_loss_client from the user terminal, the server can retransmit the lost message, namely, the traffic message 3, immediately according to the lost message indicated in the pkt_loss_client.
In practical application, when the traffic transmission between the server and the user terminal is ended, the intermediate routing device in the direction of initiating connection shutdown may send a connection shutdown message pkt_close, and after receiving the shutdown message, the intermediate routing device may delete locally stored information about the flow identifier or the connection identifier, that is, delete the transmission link identifiers corresponding to the server and the user terminal stored in the target database, and close/stop the fast retransmission assistance function for the traffic transmission, and at the same time, the server side and the terminal side may also correspondingly delete locally stored router_id information, as shown in step S18 and step S19 in fig. 4.
As can be seen from the schematic diagrams of fig. 5 to fig. 7, when a packet loss occurs on a transmission link between the cloud server and the intermediate routing device by adopting the data transmission method provided by the embodiment of the present disclosure, the cloud server may retransmit the lost packet according to the packet loss information fed back by the intermediate routing device, without waiting for the retransmission after the user terminal reports, thereby improving the retransmission efficiency. In addition, the user terminal can judge whether a newly added lost message exists on a transmission link between the intermediate routing equipment and the user terminal according to the packet loss information sent by the intermediate routing equipment, and if the newly added lost message does not exist, the user terminal can not need to feed back the packet loss information to the server, so that the resource consumption of the user terminal is reduced.
Based on the same principle as the data transmission method shown in fig. 1 of the embodiment of the present disclosure, the embodiment of the present disclosure further provides a data transmission apparatus, as shown in fig. 8, the data transmission apparatus 100 may include a data transceiver module 110 and a packet loss detection module 120, which may be deployed in an intermediate routing device, through which a message transmitting end and a message receiving end communicate,
The data transceiver module 110 is configured to receive a first traffic packet sent by the packet sending end, where the first traffic packet carries a packet loss detection participation identifier;
the packet loss detection module 120 is configured to perform packet loss detection based on the first traffic packet when the packet loss detection participation identifier is associated with the intermediate routing device, and send a control packet carrying a device identifier of the intermediate routing device to the packet sending end when the packet loss detection participation identifier is not associated with the intermediate routing device and meets a preset condition, so that the packet sending end sets, according to the device identifier, the packet loss detection participation identifier in a next traffic packet sent to the packet receiving end as the packet loss detection participation identifier associated with the intermediate routing device;
The data transceiver module 110 is further configured to send corresponding first packet loss information to the packet sending end when the packet loss detection result indicates that a packet loss occurs, so that the packet sending end retransmits the lost packet according to the first packet loss information.
Optionally, the packet loss detection participation identifier is not associated with the intermediate routing device, and the packet loss detection participation identifier is a preset identifier.
Optionally, the packet loss detection participation identifier includes first identification information and second identification information, where the first identification information is used to indicate authority of the intermediate routing device to participate in packet loss detection, and the second identification information is used to indicate device information of the intermediate routing device; the packet loss detection module may be configured to:
If the intermediate routing equipment has the authority of participating in the packet loss detection according to the first identification participation information in the packet loss detection participation identification, and the second identification information is not associated with the intermediate routing equipment, the control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end under the condition that the preset condition is met.
Optionally, the data transceiver module is further configured to: when the packet loss detection result is that packet loss occurs, first packet loss information is sent to a message receiving end, so that the message receiving end carries out packet loss detection according to the first packet loss information, and when a newly added lost message is detected, second packet loss information corresponding to the newly added lost message is sent to a message sending end through intermediate routing equipment;
The newly added lost message refers to a message except for the lost message corresponding to the first packet loss information.
Optionally, the packet loss detection module is further configured to: and under the condition that the packet loss detection participation identification is not associated with the intermediate routing equipment and the preset condition is met, acquiring a first transmission link identification corresponding to the first flow message, and storing the first transmission link identification into a target database.
Optionally, the packet loss detection module may be configured to: when the packet loss detection participation identification is associated with the intermediate routing equipment, acquiring a second transmission link identification of the first flow message; and when the second transmission link identifier is stored in the target database, carrying out packet loss detection based on the first flow message.
Optionally, the first flow packet further carries a packet loss detection opening identifier, where the packet loss detection opening identifier is a first opening identifier or a second opening identifier, the first opening identifier indicates to open the intermediate routing device to perform packet loss detection, and the second opening identifier indicates to not open the intermediate routing device to perform packet loss detection; the method comprises the steps that a preset condition is met, wherein the condition that packet loss detection opening identification is a first opening identification is met;
The packet loss detection module may be configured to: and under the condition that the packet loss detection opening identifier is the first opening identifier, if the packet loss detection participation identifier is associated with the intermediate routing equipment, carrying out packet loss detection based on the first flow message.
Optionally, the packet loss detection opening identifier is determined by the message sending end through any one of the following modes:
acquiring equipment state information of a message receiving end; according to the equipment state information, determining that the packet loss detection opening identifier is a first opening identifier or a second opening identifier;
And acquiring message transmission parameters corresponding to the message sending end and the message receiving end, and determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the message transmission parameters.
Optionally, if the packet loss detection participation identifier is a second detection identifier (not associated with the intermediate routing device), the data transceiver module may be configured to:
According to the equipment identifier, updating the packet loss detection participation identifier in the first flow message into a packet loss detection participation identifier associated with the intermediate routing equipment, and sending the updated first flow message to a message receiving end;
After receiving a confirmation message of the message sending end for the control message and a confirmation message of the message receiving end for the updated first flow message, when receiving a second flow message sent by the message sending end, if the packet loss detection participation identification in the second flow message is the packet loss detection participation identification associated with the intermediate routing device, carrying out packet loss detection based on the second flow message.
Optionally, the packet loss detection participation identifier associated with the intermediate routing device includes a device identifier of the intermediate routing device; the device identification includes at least one of an internet communication protocol, IP, address, type of IP address, or port number of the intermediate routing device.
Optionally, the transmission link identifier of any traffic message includes quintuple information, quad information or connection identifier CID of the traffic message.
Corresponding to the data transmission method shown in fig. 2 in the embodiment of the present disclosure, the embodiment of the present disclosure further provides a data transmission device, where the device may be disposed at a message sending end, and the message sending end communicates with a message receiving end through an intermediate routing device, where the device includes:
The data receiving and transmitting module is used for responding to a flow request of a message receiving end and transmitting a first flow message to the intermediate routing equipment, wherein the first flow message comprises a packet loss detection participation identifier which is not associated with the intermediate routing equipment;
The data transceiver module is further configured to, when receiving a control message sent by the intermediate routing device, set, according to a device identifier of the intermediate routing device carried in the control message, a packet loss detection participation identifier in a next flow message to be sent as a packet loss detection participation identifier associated with the intermediate routing device, and send the next flow message to the intermediate routing device, so that when the intermediate routing device determines that the packet loss detection participation identifier in the next flow message is associated with the intermediate routing device, perform packet loss detection based on the received flow message, and when a packet loss detection result is that packet loss occurs, send corresponding packet loss information to the message sending end;
and the data receiving and transmitting module is also used for retransmitting the corresponding flow message according to the packet loss information when receiving the packet loss information sent by the intermediate routing equipment.
The apparatus of the embodiments of the present disclosure may perform the method provided by the embodiments of the present disclosure, and implementation principles of the method are similar, and actions performed by each module in the apparatus of the embodiments of the present disclosure correspond to steps in the method of the embodiments of the present disclosure, and detailed functional descriptions of each module of the apparatus may be referred to in the corresponding method shown in the foregoing, which is not repeated herein.
An electronic device is provided in an embodiment of the present disclosure, including a memory, a processor, and a computer program stored on the memory, where the processor, when executing the computer program stored in the memory, may implement the method in any of the alternative embodiments of the present disclosure. The processor of the device may be an intermediate routing device, where the processor of the device is configured to execute a method executed by the intermediate routing device provided by an embodiment of the present disclosure, and the electronic device may be a message sending end (such as a server or a terminal, etc.) and configured to execute a method executed by the message sending end provided by any embodiment of the present disclosure, and the electronic device may also be a message receiving end (such as a terminal or a server, etc.) and configured to execute steps executed by the message receiving end in the embodiments of the present disclosure.
Fig. 9 shows a schematic structural diagram of an electronic device provided in an embodiment of the disclosure, and as shown in fig. 9, the electronic device may be used to perform a method provided in any embodiment of the disclosure.
As shown in fig. 9, the electronic device 2000 may include at least one processor 2001 (one shown in fig. 9), a memory 2002, a communication module 2003, and input/output interface 2004, etc., and optionally, the components may communicate with each other via a bus 2005. It should be noted that the structure of the electronic device 2000 shown in fig. 9 is only schematic, and does not limit the electronic device to which the method provided in the embodiment of the present disclosure is applicable.
The memory 2002 may be used to store an operating system, application programs, and the like, which may include computer programs that implement the methods of embodiments of the present invention when called by the processor 2001, and may also include programs for implementing other functions or services. Memory 2002 may be, but is not limited to, ROM (Read Only Memory) or other type of static storage device that can store static information and instructions, RAM (Random Access Memory ) or other type of dynamic storage device that can store information and computer programs, EEPROM (ELECTRICALLY ERASABLE PROGRAMMABLE READ ONLY MEMORY ), CD-ROM (Compact Disc Read Only Memory, compact disc Read Only Memory) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The processor 2001 is connected to the memory 2002 via a bus 2005, and executes a corresponding function by calling an application program stored in the memory 2002. The Processor 2001 may be a CPU (Central Processing Unit ), general purpose Processor, DSP (DIGITAL SIGNAL Processor, data signal Processor), ASIC (Application SPECIFIC INTEGRATED Circuit), FPGA (Field Programmable GATE ARRAY ) or other programmable logic device, transistor logic device, hardware components, or any combination thereof, which may implement or execute the various exemplary logic blocks, modules and circuits described in connection with the present disclosure. The processor 2001 may also be a combination of computing functions, e.g., comprising one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
The electronic device 2000 may be coupled to a network through a communication module 2003 (which may include, but is not limited to, components such as a network interface) to enable interaction of data, such as sending data to or receiving data from other devices, through communication of the network with other devices, such as user terminals or servers, etc. Among other things, the communication module 2003 may include a wired network interface and/or a wireless network interface, etc., i.e., the communication module may include at least one of a wired communication module or a wireless communication module.
The electronic device 2000 may be connected to a desired input/output device, such as a keyboard, a display device, etc., through an input/output interface 2004, and the electronic device 2000 itself may have a display device, or may be externally connected to other display devices through the interface 2004. Optionally, a storage device, such as a hard disk, may be connected to the interface 2004, so that data in the electronic device 2000 may be stored in the storage device, or data in the storage device may be read, and data in the storage device may be stored in the memory 2002. It will be appreciated that the input/output interface 2004 may be a wired interface or a wireless interface. The device connected to the input/output interface 2004 may be a component of the electronic device 2000 or may be an external device connected to the electronic device 2000 when necessary, depending on the actual application scenario.
Bus 2005, which is used to connect the various components, may include a path to transfer information between the components. Bus 2005 may be a PCI (PERIPHERAL COMPONENT INTERCONNECT, peripheral component interconnect standard) bus, or an EISA (Extended Industry Standard Architecture ) bus, or the like. The bus 2005 can be classified into an address bus, a data bus, a control bus, and the like according to functions.
Alternatively, for the solution provided by the embodiment of the present invention, the memory 2002 may be used to store a computer program for executing a method for implementing the embodiment of the present disclosure, and the processor 2001 executes the computer program, where the processor 2001 executes the computer program to implement the actions of the method or the apparatus provided by the embodiment of the present invention.
Based on the same principle as the method provided by the embodiments of the present disclosure, the embodiments of the present disclosure provide a computer readable storage medium, on which a computer program is stored, which when executed by a processor, can implement the corresponding content of the foregoing method embodiments.
The disclosed embodiments also provide a computer program product comprising a computer program which, when executed by a processor, implements the respective aspects of the foregoing method embodiments.
It should be noted that the terms "first," "second," "third," "fourth," "1," "2," and the like in the description and claims of the present disclosure and in the foregoing figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the disclosure described herein may be implemented in other sequences than those illustrated or otherwise described.
It should be understood that, although various operational steps are indicated by arrows in the flowcharts of the disclosed embodiments, the order in which these steps are performed is not limited to the order indicated by the arrows. In some implementations of embodiments of the present disclosure, the implementation steps in the flowcharts may be performed in other orders as desired, unless explicitly stated herein. Furthermore, some or all of the steps in the flowcharts may include multiple sub-steps or multiple stages based on the actual implementation scenario. Some or all of these sub-steps or phases may be performed at the same time, or each of these sub-steps or phases may be performed at different times, respectively. In the scenario that the execution time is different, the execution sequence of the sub-steps or stages can be flexibly configured according to the requirement, and the embodiment of the disclosure is not limited to this.
The foregoing is merely an optional implementation manner of some implementation scenarios of the disclosure, and it should be noted that, for those skilled in the art, other similar implementation manners based on the technical ideas of the disclosure may be adopted without departing from the technical ideas of the scheme of the disclosure, which also belongs to the protection scope of the embodiments of the disclosure.

Claims (15)

1. A data transmission method, wherein the method is performed by an intermediate routing device through which a message sending end and a message receiving end communicate, the method comprising:
receiving a first flow message sent by the message sending end, wherein the first flow message carries a packet loss detection participation identifier;
If the packet loss detection participation identification is associated with the intermediate routing equipment, packet loss detection is carried out based on the first flow message;
If the packet loss detection result is that packet loss occurs, corresponding first packet loss information is sent to the message sending end, so that the message sending end retransmits the lost message according to the first packet loss information;
if the packet loss detection participation identification is not associated with the intermediate routing equipment, under the condition that a preset condition is met, a control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end, so that the message sending end sets the packet loss detection participation identification in the flow message to be sent to the message receiving end as the packet loss detection participation identification associated with the intermediate routing equipment according to the equipment identification.
2. The method of claim 1, wherein the packet loss detection participation identification comprises first identification information and second identification information, wherein the first identification information is used for indicating a participation packet loss detection authority of the intermediate routing device, and the second identification information is used for indicating device information of the intermediate routing device;
if the packet loss detection participation identifier is not associated with the intermediate routing device, sending a control message carrying the device identifier of the intermediate routing device to the message sending end under the condition that a preset condition is met, including:
if the intermediate routing equipment has the authority of participating in packet loss detection according to the first identification information, and the second identification information is not associated with the intermediate routing equipment, a control message carrying the equipment identification of the intermediate routing equipment is sent to the message sending end under the condition that the preset condition is met.
3. The method of claim 1, wherein if the packet loss detection result is that a packet loss occurs, the method further comprises:
the first packet loss information is sent to the message receiving end, so that the message receiving end carries out packet loss detection according to the first packet loss information, and when a newly added lost message is detected, second packet loss information corresponding to the newly added lost message is sent to the message sending end through the intermediate routing equipment;
Wherein, the newly added lost message refers to a message except the lost message corresponding to the first packet loss information.
4. A method according to any one of claims 1 to 3, wherein if the packet loss detection participation flag is not associated with the intermediate routing device, the method further comprises, if the preset condition is satisfied:
Acquiring a first transmission link identifier corresponding to the first flow message, and storing the first transmission link identifier into a target database;
and if the packet loss detection participation identifier is associated with the intermediate routing device, performing packet loss detection based on the first traffic message, including:
if the packet loss detection participation identification is associated with the intermediate routing equipment, acquiring a second transmission link identification of the first flow message;
And when the second transmission link identifier is stored in the target database, carrying out packet loss detection based on the first flow message.
5. The method according to any one of claims 1 to 3, wherein the first traffic packet further carries a packet loss detection start identifier, where the packet loss detection start identifier is a first start identifier or a second start identifier, the first start identifier indicates to start the intermediate routing device to perform packet loss detection, and the second start identifier indicates to not start the intermediate routing device to perform packet loss detection;
the step of meeting preset conditions comprises the step of enabling the packet loss detection opening identifier to be a first opening identifier;
and if the packet loss detection participation identifier is associated with the intermediate routing device, performing packet loss detection based on the first flow message, including:
And under the condition that the packet loss detection opening identifier is a first opening identifier, if the packet loss detection participation identifier is associated with the intermediate routing equipment, carrying out packet loss detection based on the first flow message.
6. The method of claim 5, wherein the packet loss detection start identifier is determined by the packet sending end in any one of the following manners:
Acquiring the equipment state information of the message receiving end; determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the equipment state information;
And acquiring message transmission parameters corresponding to the message sending end and the message receiving end, and determining the packet loss detection opening identifier as a first opening identifier or a second opening identifier according to the message transmission parameters.
7. A method according to any one of claims 1 to 3, wherein if the packet loss detection participation flag is not associated with the intermediate routing device, the method further comprises, if the preset condition is satisfied:
according to the equipment identifier, updating the packet loss detection participation identifier in the first flow message into a packet loss detection participation identifier associated with the intermediate routing equipment, and sending the updated first flow message to the message receiving end;
After receiving the confirmation message of the message sending end for the control message and the confirmation message of the message receiving end for the updated first flow message, when receiving the second flow message sent by the message sending end, if the packet loss detection participation identification in the second flow message is the packet loss detection participation identification associated with the intermediate routing device, carrying out packet loss detection based on the second flow message.
8. A method according to any one of claims 1 to 3, wherein the packet loss detection participation identification associated with the intermediate routing device comprises a device identification of the intermediate routing device;
the device identification includes at least one of an internet communication protocol, IP, address of the intermediate routing device, a type of the IP address, or a port number.
9. The method of claim 4, wherein the transmission link identification of any traffic message comprises five-tuple information, four-tuple information, or a connection identifier CID of the traffic message.
10. A data transmission method, wherein the method is performed by a message sending end, the message sending end communicates with a message receiving end through an intermediate routing device, the method comprising:
responding to a flow request of the message receiving end, and sending a first flow message to the intermediate routing equipment, wherein the first flow message comprises a packet loss detection participation identifier which is not associated with the intermediate routing equipment;
If a control message sent by the intermediate routing equipment is received, setting a packet loss detection participation identifier in a next flow message to be sent as a packet loss detection participation identifier associated with the intermediate routing equipment according to the equipment identifier of the intermediate routing equipment carried in the control message;
The next flow message is sent to the intermediate routing equipment, so that when the intermediate routing equipment determines that a packet loss detection participation identifier in the next flow message is associated with the intermediate routing equipment, packet loss detection is carried out based on the received flow message, and when a packet loss detection result is that packet loss exists, packet loss information is sent to the message sending end;
And retransmitting the flow message corresponding to the packet loss information when the packet loss information sent by the intermediate routing equipment is received.
11. A data transmission apparatus, wherein the apparatus is disposed in an intermediate routing device, and a message sending end and a message receiving end communicate through the intermediate routing device, the apparatus comprising:
The data receiving and transmitting module is used for receiving a first flow message sent by the message sending end, wherein the first flow message carries a packet loss detection participation identifier;
The packet loss detection module is used for carrying out packet loss detection based on the first flow message when the packet loss detection participation identification is associated with the intermediate routing device, and sending a control message carrying the device identification of the intermediate routing device to the message sending end under the condition that the packet loss detection participation identification is not associated with the intermediate routing device and a preset condition is met, so that the message sending end sets the packet loss detection participation identification in the next flow message sent to the message receiving end as the packet loss detection participation identification associated with the intermediate routing device according to the device identification;
And the data receiving and transmitting module is further used for transmitting corresponding first packet loss information to the message transmitting end when the packet loss detection result is that packet loss occurs, so that the message transmitting end retransmits the lost message according to the first packet loss information.
12. A data transmission device, wherein the device is disposed at a message sending end, the message sending end communicates with a message receiving end through an intermediate routing device, the device comprises:
The data receiving and transmitting module is used for responding to the flow request of the message receiving end and transmitting a first flow message to the intermediate routing equipment, wherein the first flow message comprises a packet loss detection participation identifier which is not associated with the intermediate routing equipment;
The data transceiver module is further configured to, when receiving a control packet sent by the intermediate routing device, set, according to a device identifier of the intermediate routing device carried in the control packet, a packet loss detection participation identifier in a next flow packet to be sent to be a packet loss detection participation identifier associated with the intermediate routing device, and send the next flow packet to the intermediate routing device, so that when the intermediate routing device determines that the packet loss detection participation identifier in the next flow packet is associated with the intermediate routing device, perform packet loss detection based on the received flow packet, and when a packet loss detection result is that a packet loss occurs, send corresponding packet loss information to the packet sending end;
The data transceiver module is further configured to retransmit, when receiving packet loss information sent by the intermediate routing device, a traffic packet corresponding to the packet loss information.
13. An electronic device comprising a memory having a computer program stored therein and a processor executing the computer program to implement the method of any of claims 1 to 10.
14. A computer readable storage medium, characterized in that the storage medium has stored therein a computer program which, when executed by a processor, implements the method of any one of claims 1 to 10.
15. A computer program product, characterized in that the computer product comprises a computer program which, when executed by a processor, implements the method of any one of claims 1 to 10.
CN202211329401.2A 2022-10-27 2022-10-27 Data transmission method, device, electronic equipment and storage medium Pending CN117997799A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211329401.2A CN117997799A (en) 2022-10-27 2022-10-27 Data transmission method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211329401.2A CN117997799A (en) 2022-10-27 2022-10-27 Data transmission method, device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117997799A true CN117997799A (en) 2024-05-07

Family

ID=90891889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211329401.2A Pending CN117997799A (en) 2022-10-27 2022-10-27 Data transmission method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117997799A (en)

Similar Documents

Publication Publication Date Title
CN113411313B (en) Data transmission method, device and system
US7984492B2 (en) Methods and apparatus for policy enforcement in a wireless communication system
US20180295190A1 (en) Communication sessions at a coap protocol layer
US20080175383A1 (en) Method and communication unit for communicating between communication apparatus
CA2655806A1 (en) Technique for providing access to a media resource attached to a network-registered device
US20130208620A1 (en) Network Multicast Peer Discovery Methods
CN110933180A (en) Communication establishing method and device, load equipment and storage medium
CN1917512B (en) Method for establishing direct connected peer-to-peer channel
CN100484013C (en) Access equipment, conference access method and conference service system
JP2007058858A (en) Device and method for requesting and providing content information on network
CN109327435B (en) Media resource acquisition method and device and gateway equipment
US7899058B2 (en) Using a hash value as a pointer to an application class in a communications device
CN112866338B (en) Server state detection method and device
CN111181698A (en) Data processing method, device, equipment and medium
CN112398754A (en) Data transmission method, device, medium, electronic equipment and network access equipment
CN117997799A (en) Data transmission method, device, electronic equipment and storage medium
CN111464879A (en) Data communication method and device
CN109120578B (en) Method and device for realizing link connection processing
US20220141153A1 (en) Server communication method, broadband access server, and system
CN111212253B (en) Monitoring processing method and device in video conference, electronic equipment and storage medium
CN114640574A (en) Method and device for switching main equipment and standby equipment
CN109698869A (en) Private network traversing method, communication node and storage medium
CN114363676A (en) Video stream transmission method, device, equipment and medium
JP2006185095A (en) Server selection method, server selection system, server, and client terminal
CN108337215B (en) File transmission method, system and device and electronic equipment

Legal Events

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