Data transmission method, data transmission system and data transmission apparatus

By identifying the type of data to be transmitted and transmitting it in the current transmission order under the timeout data type, the problem of data packet loss caused by excessive single-core CPU resources is solved, and the stability and integrity of data transmission are achieved.

WO2025196494A1PCT designated stage Publication Date: 2025-09-25CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2024/062181
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-18
Filing Date
2024-12-04
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

During data transmission, as the amount of network transmission data increases and the transmission duration increases, the single-core CPU resource utilization rate is too high, resulting in packet loss during data transmission, affecting the stability of data transmission.

Method used

By obtaining the data to be transmitted, the data type of the data to be transmitted is automatically identified using the data transmission identifier and the type reference identifier stored in the data order preservation queue, and when the data type is a timeout data type, the data to be transmitted is transmitted according to the current transmission order.

Benefits of technology

When the delay jitter of the processing unit is large, the data to be transmitted of the timeout data type is accurately determined and transmitted to ensure the stability and integrity of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2024062181_25092025_PF_FP_ABST
    Figure IB2024062181_25092025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a data transmission method, a data transmission system and a data transmission apparatus. The data transmission method comprises: acquiring data to be transmitted, wherein the data to be transmitted is data processed by a processing unit among a plurality of pieces of original data, and the data to be transmitted carries a data transmission identifier; according to the data transmission identifier and a type reference identifier stored in a data order preserving queue, determining the data type of the data to be transmitted, the data order preserving queue comprising a plurality of storage units in one-to-one correspondence with the original data, the storage units being used for storing data identifiers and time information of the original data, the plurality of storage units being obtained by means of sequential arrangement based on the time information, and the type reference identifier being obtained by means of performing screening on the data identifiers on the basis of the time information; and, in the case that the data type is timeout data type, according to a current transmission sequence of the data to be transmitted, transmitting the data to be transmitted. The present disclosure achieves stable transmission of data of the timeout data type, thereby ensuring the integrity of data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]TECHNICAL FIELD: Embodiments of this specification relate to the field of computer technology, and more particularly to data transmission methods, data transmission systems, and data transmission devices. Background: With the development of computer technology, more and more computer technologies are being applied in the field of data transmission. In a computer system, a network interface card (NIC) serves as a bridge connecting a host computer and a network, responsible for implementing data exchange between the host's internal core processor (CPU), memory, and the external network. However, during data transmission, as the amount of network transmission data increases and the transmission duration increases, there is a risk of excessive single-core CPU resource utilization, resulting in packet loss and affecting data transmission stability. Therefore, a stable and complete data transmission solution is urgently needed. SUMMARY OF THE INVENTION: In view of this, embodiments of this specification provide a data transmission method. One or more embodiments of this specification also relate to a data transmission system, a data transmission device, a computing device, a computer-readable storage medium, and a computer program product to address technical deficiencies in the prior art. According to a first aspect of an embodiment of the present specification, a data transmission method is provided, comprising: obtaining data to be transmitted, wherein the data to be transmitted is data processed by a processing unit from a plurality of original data, and the data to be transmitted carries a data transmission identifier; determining a data type of the data to be transmitted based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue, wherein the data order-preserving queue includes a plurality of storage units corresponding to the original data, the storage units are used to store data identifiers and time information of the original data, the plurality of storage units are sequentially arranged based on the time information, and the type reference identifier is obtained by filtering the data identifiers based on the time information; and, if the data type is a timeout data type, transmitting the data to be transmitted according to the current transmission order of the data to be transmitted.According to a second aspect of an embodiment of the present specification, a data transmission system is provided, comprising a network card and a processing unit; the processing unit is configured to process a plurality of raw data; the network card is configured to obtain data to be transmitted, wherein the data to be transmitted is data processed by the processing unit from the plurality of raw data, and the data to be transmitted carries a data transmission identifier; a data type of the data to be transmitted is determined based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue, wherein the data order-preserving queue includes a plurality of storage units corresponding one-to-one to the raw data, the storage units are configured to store data identifiers and time information of the raw data, the plurality of storage units are sequentially arranged based on the time information, and the type reference identifier is obtained by filtering the data identifiers based on the time information; and if the data type is a timeout data type, the data to be transmitted is transmitted according to the current transmission order of the data to be transmitted. According to a third aspect of an embodiment of this specification, a data transmission apparatus is provided, comprising: an acquisition module configured to acquire data to be transmitted, wherein the data to be transmitted is data processed by a processing unit from a plurality of raw data, and the data to be transmitted carries a data transmission identifier; a determination module configured to determine the data type of the data to be transmitted based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue, wherein the data order-preserving queue includes a plurality of storage units corresponding to the raw data, the storage units storing data identifiers and time information of the raw data, the plurality of storage units being sequentially arranged based on the time information, and the type reference identifier being filtered from the data identifiers based on the time information; and a transmission module configured to transmit the data to be transmitted according to the current transmission order of the data to be transmitted if the data type is a timed-out data type. According to a fourth aspect of an embodiment of this specification, a computing device is provided, comprising: a memory and a processor; the memory storing a computer program / instruction, and the processor executing the computer program / instruction, wherein the computer program / instruction, when executed by the processor, implements the steps of the aforementioned data transmission method. According to a fifth aspect of embodiments of this specification, a computer-readable storage medium is provided, storing a computer program / instructions. When executed by a processor, the computer program / instructions implement the steps of the aforementioned data transmission method. According to a sixth aspect of embodiments of this specification, a computer program product is provided, including a computer program / instructions. When executed by a processor, the computer program / instructions implement the steps of the aforementioned data transmission method.One embodiment of this specification provides a data transmission method, including: obtaining data to be transmitted, wherein the data to be transmitted is data processed by a processing unit from a plurality of raw data, and the data to be transmitted carries a data transmission identifier; determining the data type of the data to be transmitted based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue; wherein the data order-preserving queue includes multiple storage units corresponding one-to-one to the raw data, the storage units storing data identifiers and time information of the raw data, the multiple storage units being sequentially arranged based on the time information, and the type reference identifier being filtered from the data identifiers based on the time information; and, if the data type is a timeout data type, transmitting the data to be transmitted according to the current transmission order of the data to be transmitted. By automatically identifying the data type of the data to be transmitted, even when there is significant delay jitter in the processing unit, the data to be transmitted of the timeout data type can be accurately determined and transmitted, thereby ensuring the stability and integrity of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS FIG1 is an architectural diagram of a data transmission system provided by one embodiment of this specification; FIG2 is a flow chart of a data transmission method provided by one embodiment of this specification; FIG3 is a schematic diagram of a data order-preserving queue in a data transmission method provided by one embodiment of this specification; FIG4 is an architectural diagram of another data transmission system provided by one embodiment of this specification; FIG5 is a schematic diagram of the structure of a data transmission device provided by one embodiment of this specification; and FIG6 is a block diagram of the structure of a computing device provided by one embodiment of this specification. DETAILED DESCRIPTION The following description sets forth numerous specific details to facilitate a thorough understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art may make similar generalizations without departing from the scope of this specification. Therefore, this specification is not limited to the specific implementations disclosed below. The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit this specification. As used in one or more embodiments of this specification and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and encompasses any and all possible combinations of one or more of the associated listed items. It should be understood that although the terms "first," "second," and so on may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are merely used to distinguish information of the same type from one another. For example, "first" could also be referred to as "second," and similarly, "second" could also be referred to as "first," without departing from the scope of one or more embodiments of this specification.Depending on the context, the term "if" as used herein can be interpreted as "at the time of," "when," or "in response to a determination." Furthermore, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, storage, and display, etc.) referred to in one or more embodiments of this specification are all authorized by the user or fully authorized by all parties. The collection, use, and processing of such data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or deny. First, the terms used in one or more embodiments of this specification are explained. Data forwarding plane: The data forwarding plane, also known as the data plane or forwarding plane, is the portion of a network device (such as a router, switch, or virtual switch in a software-defined network) responsible for processing and forwarding data packets. The primary function of this layer is to perform high-speed, error-free processing of data packets entering an interface based on pre-defined rules (such as routing tables, forwarding tables, or flow tables), and to determine which interface these packets should be sent out through to reach their destination. Gateway: A gateway is a device or system used to connect two or more different networks and is responsible for transmitting data packets from one network to another, acting as a bridge and translator between different networks. Cloud Gateway: A cloud gateway is a forwarding node similar to a data center gateway, serving as a traffic aggregation point. Load Balancing: Load balancing refers to the balanced distribution of traffic across multiple computing devices. Elephant Flow Scenario: Elephant flow scenarios typically refer to network traffic with large amounts of data and long durations. Field-Programmable Gate Array (FPGA): A programmable device is an integrated circuit that allows users to configure and reprogram its internal logic functions as needed. Programmable devices are composed of a large number of basic programmable logic units, configurable input / output blocks, digital signal processing modules, embedded memory resources, and other advanced functional modules. They offer programmability, flexibility, parallel processing capabilities, high performance, and low power consumption. Hardware entries: Hardware entries are primarily used for high-speed packet processing and forwarding decisions. Compared to CPU software processing, hardware entries offer lower latency and higher throughput. Message: A single-transmission unit of data, the fundamental unit of network communication, contains the complete information transmitted from the source to the destination.Messages can contain any form of data, such as text, images, audio, or video, and have different representations and encapsulation structures at different network layers. Structured Query Language (SQL): Structured Query Language is a database query and programming language used to access data, as well as query, update, and manage relational database systems. Gateways may encounter various problems when transmitting data. For example, cloud gateways are the core forwarding nodes in cloud networks, characterized by being stateless and handling high traffic volumes. Traditional data forwarding solutions are prone to single-core overload in high-volume traffic scenarios, impacting the online stability of cloud network projects. While solutions based on programmable switching chips offer guaranteed performance, hardware resource limitations and chip supply disruptions hinder the project's ability to evolve sustainably. To address the above-mentioned issues, embodiments of this specification propose a data transmission solution for a gateway. The solution obtains data to be transmitted, wherein the data to be transmitted is data processed by a processing unit from among multiple raw data, and the data to be transmitted carries a data transmission identifier. The data type of the data to be transmitted is determined based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue. The data order-preserving queue includes multiple storage units corresponding to the raw data, each storage unit storing a data identifier and time information of the raw data. The multiple storage units are sequentially arranged based on the time information, and the type reference identifier is obtained by filtering the data identifier based on the time information. If the data type is a timed-out data type, the data to be transmitted is transmitted based on the current transmission order of the data to be transmitted. It should be noted that the data transmission solution proposed in the embodiments of this specification can also be applied to core nodes on the data forwarding plane of a cloud gateway, such as an Internet Gateway (IGW), a dedicated-line gateway (CGW), or a gateway (VGW) within a virtual private cloud (VPC), but this specification does not impose any limitations on this. By automatically identifying the data type of data to be transmitted, even when processing unit latency jitter is significant, data of the timed-out data type can be accurately determined and transmitted, ensuring the stability and integrity of data transmission. This specification provides a data transmission method, a data transmission system, a data transmission apparatus, a computing device, and a computer-readable storage medium, each of which is described in detail in the following embodiments.1 shows an architecture diagram of a data transmission system provided by an embodiment of the present specification. The data transmission system may include a network card 100 and a processing unit 200; the processing unit 200 is configured to process a plurality of raw data; the network card 100 is configured to obtain data to be transmitted, wherein the data to be transmitted is data processed by the processing unit 200 from the plurality of raw data, and the data to be transmitted carries a data transmission identifier; the data type of the data to be transmitted is determined based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue, wherein the data order-preserving queue includes a plurality of storage units corresponding one-to-one to the raw data, the storage units are configured to store data identifiers and time information of the raw data, the plurality of storage units are sequentially arranged based on the time information, and the type reference identifier is obtained by filtering the data identifiers based on the time information; if the data type is a timeout data type, the data to be transmitted is transmitted according to the current transmission order of the data to be transmitted. In the embodiments of this specification, the data order-preserving queue includes multiple storage units corresponding to the original data. The storage units are used to store the data identifier and time information of the original data. The multiple storage units are sequentially arranged based on the time information, and the type reference identifier is filtered from the data identifier based on the time information. By utilizing the data transmission identifier and the type reference identifier stored in the data order-preserving queue, the data type of the data to be transmitted is automatically identified. Therefore, even in the case of significant processing unit delay jitter, data to be transmitted of a timed-out data type can be accurately determined and transmitted, ensuring the stability and integrity of data transmission. In an optional embodiment of this specification, the data transmission system may further include a programmable component. The programmable component is configured to receive the data transmission identifier and the data order-preserving queue sent by the network card 100; determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue; and send the data type of the data to be transmitted to the network card 100. The network card 100 is further configured to receive the data type sent by the programmable component and, if the data type is a timed-out data type, transmit the data to be transmitted according to the current transmission order of the data to be transmitted. By applying the solutions of the embodiments of this specification, a data transmission system can address the risk of large data flows in traditional solutions by combining the programmability, high performance, and flexibility of programmable components. This system also provides higher assurance regarding hardware table entry specifications and evolution. Referring to FIG2 , FIG2 shows a flowchart of a data transmission method provided in one embodiment of this specification. The method specifically includes the following steps: Step 202: Obtain data to be transmitted, where the data to be transmitted is data processed by a processing unit from among multiple raw data, and the data to be transmitted carries a data transmission identifier.In one or more optional embodiments of this specification, during data transmission, a network card may obtain data to be transmitted and distribute and transmit the data to be transmitted. Specifically, the data to be transmitted may be referred to as a message to be transmitted. The data to be transmitted may be data from different scenarios, such as payment data in financial scenarios, game data in gaming scenarios, and so on. Raw data refers to data that has not been processed by a processing unit. Raw data becomes data to be transmitted after being processed by a processing unit. A processing unit refers to a physical core in a CPU, also referred to as a core. The number of processing units may be one or more. It should be noted that in scenarios with large data transmission flows, the risk of a single core being overwhelmed is very high. To avoid this risk, the embodiments of this specification preferably use multiple processing units. This allows for the load on a single core to be reduced by distributing multiple raw data across multiple CPU processing units. The data transmission identifier may be referred to as a data transmission serial number (SN), which uniquely identifies the data to be transmitted. The data transmission identifier is typically a unique combination of numbers or letters. In practical applications, there are various methods for obtaining data to be transmitted, which can be selected based on actual circumstances and are not limited in this embodiment. In one possible implementation of this specification, data to be transmitted proactively sent by a processing unit can be received. In another possible implementation of this specification, a data to be transmitted instruction can be sent to the processing unit, and the data to be transmitted sent by the processing unit in response to the data to be transmitted instruction can be received. It should be noted that before processing the multiple raw data, the processing unit can obtain the multiple raw data. There are various methods for obtaining the multiple raw data, which can be selected based on actual circumstances and are not limited in this embodiment. In one possible implementation of this specification, the multiple raw data can be read from a database. In another possible implementation of this specification, the multiple raw data can be received from a network card. In an optional embodiment of this specification, before obtaining the data to be transmitted, the following steps may be further included: obtaining multiple raw data, wherein the raw data carry data identifiers; sending the multiple raw data to the processing unit and determining the time information of each of the raw data being sent; and constructing a data order-preserving queue based on the data identifiers and time information of the multiple raw data. Specifically, the data identifier is used to uniquely identify the original data. Time information refers to the time when the original data is sent to the processing unit, such as a timestamp. The data order-preserving queue is used to record the data identifier of the original data and the time information when the original data is sent to the processing unit.It should be noted that there are various ways to obtain multiple raw data, and the selection depends on actual circumstances. This specification does not impose any restrictions on this. In one possible implementation of this specification, multiple raw data can be read from other data acquisition devices or databases. In another possible implementation of this specification, multiple raw data can be received from a network port. In actual applications, there are various ways to send multiple raw data to a processing unit, and the selection depends on actual circumstances. This specification does not impose any restrictions on this. In one possible implementation of this specification, multiple raw data can be sent to a single processing unit. In another possible implementation of this specification, multiple raw data can be sent to multiple processing units at a packet-by-packet granularity. For example, assume that a CPU has four processing units, namely processing unit 0, processing unit 1, processing unit 2, and processing unit 3. The network card can send the first raw data obtained to processing unit 0, the second raw data obtained to processing unit 1, the third raw data obtained to processing unit 2, and the fourth raw data obtained to processing unit 3. OFurthermore, when sending the first raw data to the processing unit, the current system time can be checked and used to determine the time information of the first raw data, where the first raw data is any one of the multiple raw data. It is worth noting that when the network card sends the multiple raw data to the processing unit, it can locally establish a data order-preserving queue to record the data identifier and time information of the raw data when it is sent to the processing unit. Referring to FIG3 , FIG3 shows a schematic diagram of a data order-preserving queue in a data transmission method provided in one embodiment of this specification. The data order-preserving queue includes multiple storage units, each of which is used to store the data identifier and time information of a raw data item. When a raw data item is sent to the processing unit, the storage unit in the data order-preserving queue records the data identifier and time information of the raw data item. As shown in FIG3 , the data order-preserving queue includes the data identifiers and time information of five raw data items: data identifier 1 and time information 1, data identifier 2 and time information 2, data identifier 3 and time information 3, data identifier 4 and time information 4, and data identifier 5 and time information 5. It should be noted that the data order-preserving queue also includes a first-type reference identifier and a second-type reference identifier. Using the solution of the embodiments of this specification, multiple raw data are obtained, wherein the raw data carry data identifiers; the multiple raw data are sent to a processing unit, and time information for each of the multiple raw data is determined; and a data order-preserving queue is constructed based on the data identifiers and time information of the multiple raw data. By constructing the data order-preserving queue, the data order-preserving queue can be used to accurately identify pending data of a timed-out data type and precisely transmit that type of pending data. In an optional embodiment of this specification, the aforementioned sending of the multiple raw data to the processing unit may include the following steps: if there are multiple processing units, obtaining processing status information for each of the multiple processing units; and sending the multiple raw data to the corresponding processing units based on the processing status information. Specifically, the processing status information describes the processing status of the processing unit, such as whether it is idle, whether it is busy, the number of raw data to be processed, and so on. It should be noted that there are various ways to obtain the processing status information of the multiple processing units, and the method selected depends on the actual situation, and this embodiment of this specification does not impose any limitation on this method. In one possible implementation of this specification, a processing log of a processing unit may be parsed to obtain processing status information of multiple processing units. In another possible implementation of this specification, a processing status information acquisition instruction may be sent to the processing unit, and processing status information sent by the processing unit in response to the processing status information acquisition instruction may be received.Furthermore, after obtaining processing status information for each of the multiple processing units, the processing units can be sorted according to the processing status information, from idle to busy, with the original data preferentially distributed to idle processing units. Applying the solution of the embodiments of this specification, when there are multiple processing units, the processing status information of each of the multiple processing units is obtained; and based on the processing status information, the multiple original data are sent to the corresponding processing units. By considering the processing status information of the multiple processing units, load balancing is achieved among the multiple processing units. In an optional embodiment of this specification, after obtaining the data to be transmitted, the following steps may also be included: obtaining order-preserving status information for the data to be transmitted; and if the order-preserving status information indicates that the order-preserving status of the data to be transmitted is invalid, stopping the transmission of the data to be transmitted. Specifically, the order-preserving status information can be referred to as an order-preserving message indication (order_vld), which is used to mark the order and validity of the data to be transmitted. There are various ways to obtain the order-preserving status information for the data to be transmitted, and the method selected depends on the actual situation. This embodiment of this specification does not impose any restrictions on this method. In one possible implementation of this specification, the data to be transmitted also carries order-preserving status information, and the order-preserving status information of the data to be transmitted can be directly obtained. In another possible implementation of this specification, the order-preserving status information of the data to be transmitted can be received from a user. It should be noted that if the order-preserving status information indicates that the order-preserving status of the data to be transmitted is valid, it indicates that the data to be transmitted is order-preserving data, i.e., data that is transmitted in sequence. In this case, the data type of the data to be transmitted can be determined based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue. If the order-preserving status information indicates that the order-preserving status of the data to be transmitted is invalid, it indicates that the data to be transmitted is non-sequence-preserving data, i.e., data that is not transmitted in sequence. In this case, the data to be transmitted can be determined to be illegal, discarded, and transmission of the data to be transmitted can be stopped. Using the solution of the embodiments of this specification, the order-preserving status information of the data to be transmitted is obtained; if the order-preserving status information indicates that the order-preserving status of the data to be transmitted is invalid, transmission of the data to be transmitted can be stopped. By identifying illegal data, transmission of illegal data is avoided, thereby improving the accuracy of data transmission. Step 204: Determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue, wherein the data order-preserving queue includes multiple storage units corresponding to the original data, the storage units are used to store the data identifier and time information of the original data, the multiple storage units are arranged in sequence based on the time information, and the type reference identifier is obtained by filtering from the data identifier based on the time information.In one or more embodiments of this specification, after obtaining the data to be transmitted, the data type of the data to be transmitted can be further determined based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue. The data to be transmitted is data processed by a processing unit from among multiple raw data, and the data to be transmitted carries the data transmission identifier. Specifically, the type reference identifier is used to determine the data type of the data to be transmitted. Data types include timeout data types and non-timeout data types. If the data type of the data to be transmitted is a timeout data type, it indicates that the data to be transmitted is timeout data, i.e., data that exceeds the data transmission order-preserving range and cannot be transmitted in order. If the data type of the data to be transmitted is a non-timeout data type, it indicates that the data to be transmitted is normal data, i.e., data that does not exceed the data transmission order-preserving range and can still be transmitted in order. In an optional embodiment of the present specification, before determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue, a type reference identifier may be obtained first. The above method of determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue may further include the following steps: identifying a first storage unit and a second storage unit in the data order-preserving queue based on time information, wherein the first storage unit is located at the head of the data order-preserving queue and the second storage unit is located at the tail of the data order-preserving queue; and determining the data identifier stored in the first storage unit and the data identifier stored in the second storage unit as type reference identifiers. It should be noted that since the multiple storage units in the data order-preserving queue are arranged sequentially based on time information, the storage unit at the tail of the data order-preserving queue stores the data identifier written earliest to the data order-preserving queue, and the storage unit at the head of the data order-preserving queue stores the data identifier written most recently to the data order-preserving queue. The data identifier stored in the first storage unit is a first type reference identifier, and the data identifier stored in the second storage unit is a second type reference identifier. The first type of reference identifier corresponds to a head pointer, and the second type of reference identifier corresponds to a tail pointer. The head pointer points to the data identifier and time information of the most recently written original data in the data order-preserving queue, while the tail pointer points to the data identifier and time information of the earliest written original data in the data order-preserving queue. Using the scheme of the embodiments of this specification, a first storage unit and a second storage unit in the data order-preserving queue are identified based on the time information, where the first storage unit is located at the head of the data order-preserving queue and the second storage unit is located at the tail of the data order-preserving queue. The data identifier stored in the first storage unit and the data identifier stored in the second storage unit are determined as type reference identifiers.By determining the type reference identifier based on the position of the storage unit in the data order-preserving queue, the accuracy of the type reference identifier is ensured. In an optional embodiment of this specification, after determining the data identifier stored in the first storage unit and the data identifier stored in the second storage unit as the type reference identifier, the following steps may also be included: obtaining current time information; calculating a time difference based on the time information stored in the first storage unit and the current time information; if the time difference is greater than a preset time difference, removing the first storage unit from the data order-preserving queue and returning to the step of identifying the first and second storage units in the data order-preserving queue to obtain an updated type reference identifier. Specifically, the current time information refers to the current time information of the data transmission system, such as the current system timestamp. The time difference refers to the difference between the time represented by the time information stored in the first storage unit and the time represented by the current time information. The preset time difference is set based on actual circumstances and is not limited in this embodiment. In actual applications, there are various ways to obtain current time information, and the method selected depends on actual circumstances and is not limited in this embodiment. In one possible implementation of this specification, a time-based function (such as the time function) can be used to obtain current time information. In another possible implementation of this specification, a structured query language can be used to query the database for current time information. It should be noted that if the time difference is less than or equal to a preset time difference, the original data corresponding to the first storage unit is not timed-out data, and the first storage unit does not need to be removed from the order-preserving queue. As the original data is written to the order-preserving queue, the first and second storage units in the order-preserving queue can be identified in real time. If the time difference is greater than the preset time difference, the original data corresponding to the first storage unit has not yet been returned from the processing unit and is timed-out data. Therefore, the first storage unit can be removed from the order-preserving queue and the type reference identifier updated. Applying the solution of the embodiments of this specification, current time information is obtained; the time difference is calculated based on the time information stored in the first storage unit and the current time information; if the time difference is greater than the preset time difference, the first storage unit is removed from the order-preserving queue, and the process returns to the step of identifying the first and second storage units in the order-preserving queue to obtain an updated type reference identifier. By using the preset time difference to update the data order-preserving queue in real time, the accuracy of the type reference identification is guaranteed, and stable and complete data transmission is achieved.In practical applications, the type reference identifier includes a first type reference identifier and a second type reference identifier. There are multiple ways to determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue. The method of determining the data type of the data to be transmitted can be selected based on actual circumstances and is not limited in this embodiment. In one possible implementation of this specification, time information corresponding to the first type reference identifier and the second type reference identifier can be obtained; a time range can be determined based on the time information corresponding to the first type reference identifier and the second type reference identifier; the time information of the data to be transmitted can be determined based on the data transmission identifier; and the data type of the data to be transmitted can be determined based on the time information and the time range of the data to be transmitted. If the time information of the data to be transmitted does not fall within the time range, the data type of the data to be transmitted is determined to be a timeout data type. In another possible implementation of this specification, the type reference identifier includes a first type reference identifier and a second type reference identifier. Determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue can include the following steps: determining a type reference identifier range based on the first type reference identifier and the second type reference identifier stored in the data order-preserving queue; and determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier range. It should be noted that, since the multiple storage units in the data order-preserving queue are arranged sequentially based on time information, the storage units store data identifiers of the original data. The type reference identifier range refers to the set consisting of the first type reference identifier, the second type reference identifier, and the data identifiers between the first and second type reference identifiers. It should be noted that when determining the type reference identifier range based on the first and second type reference identifiers stored in the data order-preserving queue, the first type reference identifier, the second type reference identifier, and the data identifiers between the first and second type reference identifiers can be extracted and combined into a set, which is the type reference identifier range. In practical applications, when determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier range, it is possible to determine whether the data transmission identifier falls within the type reference identifier range, and determine the data type of the data to be transmitted based on the determination result. Using the solutions of the embodiments of this specification, the type reference identifier range is determined based on the first and second type reference identifiers stored in the data order-preserving queue; and the data type of the data to be transmitted is determined based on the data transmission identifier and the type reference identifier range. By automatically identifying the data type of the data to be transmitted, the data of the timed-out data type can be accurately identified, thereby transmitting the data of the timed-out data type, avoiding packet loss problems, and ensuring the stability and integrity of data transmission.In an optional embodiment of the present specification, determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier range may include the following steps: if the data transmission identifier is not within the type reference identifier range, determining the data type of the data to be transmitted as a timeout data type. It should be noted that if the data transmission identifier is within the type reference identifier range, it indicates that the data to be transmitted has been returned normally from the processing unit, the data to be transmitted is non-timeout unreturned data, and the data type of the data to be transmitted is a non-timeout data type; if the data transmission identifier is not within the type reference identifier range, it indicates that the data to be transmitted has not been returned from the processing unit on time, is timeout unreturned data, and the data type of the data to be transmitted is a timeout data type. Applying the solution of the embodiment of the present specification, if the data transmission identifier is not within the type reference identifier range, determining the data type of the data to be transmitted as a timeout data type. By accurately determining the data type of the data to be transmitted using the type reference identifier range, data of the timeout data type is transmitted, packet loss is avoided, and the stability and integrity of data transmission are ensured. In an optional embodiment of this specification, due to the programmability, high performance, and flexibility of the programmable component, the programmable component can be called to determine the data type. Specifically, determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue can include the following steps: calling the programmable component to determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue; and, if the data type is a timeout data type, transmitting the data to be transmitted according to the current transmission order of the data to be transmitted. This can also include the following steps: receiving the data type sent by the programmable component, and, if the data type is a timeout data type, transmitting the data to be transmitted according to the current transmission order of the data to be transmitted. In actual applications, there are various ways to call the programmable component to determine the data type, and the specific method to be used depends on the actual situation. This embodiment of this specification does not impose any limitation on this method. In one possible implementation of this specification, the network card can send a type identification instruction to the programmable component, the type identification instruction carrying the data transmission identifier of the data to be transmitted and the type reference identifier stored in the data order-preserving queue. After receiving the data transmission identifier of the data to be transmitted and the type reference identifier stored in the data order preservation queue, the programmable component can determine the data type of the data to be transmitted according to the data transmission identifier and the type reference identifier stored in the data order preservation queue.Furthermore, the programmable component can send the data type of the data to be transmitted to the network card. If the data type is a timeout data type, the network card can transmit the data to be transmitted according to the current transmission order of the data to be transmitted. In another possible implementation of this specification, the network card can send a programmable component call instruction to the processing unit. In response to the programmable component call instruction, the processing unit sends the data transmission identifier of the data to be transmitted and the type reference identifier stored in the data order-preserving queue to the programmable component. After receiving the data transmission identifier of the data to be transmitted and the type reference identifier stored in the data order-preserving queue, the programmable component can determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue. Furthermore, the programmable component can send the data type of the data to be transmitted to the network card. If the data type is a timeout data type, the network card can transmit the data to be transmitted according to the current transmission order of the data to be transmitted. In actual applications, the programmable component can also be called to determine whether the order preservation status of the data to be transmitted is invalid based on the order preservation status information of the data to be transmitted. Using the solution of the embodiments of this specification, a programmable component is called to determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue. The data type sent by the programmable component is received, and if the data type is a timeout data type, the data to be transmitted is transmitted according to the current transmission order of the data to be transmitted. By combining the programmability, high performance, and flexibility of the programmable component, the risk of elephant flows in traditional solutions can be addressed while providing higher assurance in hardware table entry specifications and evolution. Step 206: If the data type is a timeout data type, the data to be transmitted is transmitted according to the current transmission order of the data to be transmitted. In one or more embodiments of the present specification, data to be transmitted is obtained, where the data to be transmitted is data from a plurality of original data processed by a processing unit and carries a data transmission identifier. After determining the data type of the data to be transmitted based on the data transmission identifier and a type reference identifier stored in a data order-preserving queue, if the data type is a timed-out data type, the data to be transmitted may be transmitted according to the current transmission order of the data to be transmitted. The data order-preserving queue includes multiple storage units corresponding to the original data, each storage unit being configured to store data identifiers and time information of the original data. The multiple storage units are sequentially arranged based on the time information, and the type reference identifier is obtained by filtering the data identifiers based on the time information. Specifically, the current transmission order refers to the out-of-order transmission order obtained by inserting the data to be transmitted into the order-preserving order of the original data.It should be noted that when the data type is a non-timeout data type, the data transmission order maintains the order of the original data. Therefore, the data to be transmitted can be transmitted according to the order of the data to be transmitted, resolving the data disorder problem caused by different CPU processing delays. When the data type is a timeout data type, it indicates that the data to be transmitted has disrupted the order of the original data. In this case, the data to be transmitted can be transmitted according to the current transmission order of the data to be transmitted, resolving the problem of packet loss that may occur when the network card's order-preserving capability is insufficient. In the embodiments of this specification, the data order-preserving queue includes multiple storage units corresponding to the original data, the storage units are used to store the data identifiers and time information of the original data, the multiple storage units are sequentially arranged based on the time information, and the type reference identifier is obtained by filtering the data identifiers based on the time information. By utilizing the data transmission identifier and the type reference identifier stored in the data order-preserving queue, the data type of the data to be transmitted is automatically identified. Therefore, even when the processing unit delay jitter is large, the data to be transmitted of the timeout data type can be accurately determined and transmitted, ensuring the stability and integrity of data transmission. Referring to FIG4 , FIG4 shows an architecture diagram of another data transmission system provided by one embodiment of this specification. The data transmission system includes a network card and a host. The network card includes a data receiving unit, a data distribution unit, a data order-preserving unit, a timeout detection unit, and a data sending unit. The data distribution unit and the data order-preserving unit can achieve load balancing among the processing units. The host includes multiple processing units (processing unit 0, processing unit 1, processing unit 2, and processing unit 3). The data receiving unit receives multiple raw data packets, each of which carries a data identifier. The data distribution unit distributes the raw data received from the network port among the multiple processing units on a packet-by-packet basis. The data order-preserving unit records the data identifier and time information when the raw data is distributed to the processing units, and sends the data identifier and order-preserving status information, indicating whether it is an order-preserving message, to the processing units. After processing the raw data, the processing units send the data to be transmitted (the raw data processed by the processing units) along with the data identifier and order-preserving status information to the programmable component. The data order-preserving unit can also establish a local order-preserving queue and store data identifiers and time information in the queue. The timeout detection unit detects whether the data to be transmitted has exceeded the maximum order-preserving time limit, that is, whether the data type of the data to be transmitted is a timeout data type. Specifically, a head and tail pointer are maintained for the earliest and latest raw data written in the order-preserving queue, respectively. The head pointer points to the latest raw data, and the tail pointer points to the earliest raw data.Each storage unit in the data order-preserving queue maintains time information, allowing real-time monitoring of the time information at the head pointer position. If the time information exceeds a preset time difference from the current time information, the original data corresponding to the storage unit is considered to have timed out and not returned. The storage unit is ejected from the data order-preserving queue and the head pointer is updated. The timeout detection unit also determines whether the order-preserving status of the data to be transmitted is invalid based on the order-preserving status information. If the order-preserving status is invalid, the data to be transmitted is deemed invalid and discarded. The data transmission unit: If the data type is a non-timeout data type, the data to be transmitted is transmitted in order according to the order-preserving sequence of the data to be transmitted. If the data type is a timeout data type, the data to be transmitted is transmitted out of order according to the current transmission sequence of the data to ensure that the data to be transmitted is not lost. Applying the solutions of the embodiments of this specification, this embodiment proposes a data order preservation timeout solution between a network card and a host CPU to prevent packet loss. This solution includes a data order preservation timeout mechanism, a timeout identification mechanism, and an illegal data identification mechanism. These mechanisms proactively identify data to be transmitted of a timeout type, treating the data as out-of-order, even in situations where network card cache capacity is limited, CPU latency jitter is high, and order preservation information is lost. This prevents packet loss, ensures lossless data, and ensures the stability and integrity of data transmission. Corresponding to the aforementioned method embodiments, this specification also provides an embodiment of a data transmission device. Figure 5 shows a schematic structural diagram of a data transmission device provided in one embodiment of this specification. As shown in Figure 5, the device includes: an acquisition module 502, which is configured to acquire data to be transmitted, wherein the data to be transmitted is data processed by a processing unit from multiple original data, and the data to be transmitted carries a data transmission identifier; a determination module 504, which is configured to determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order preservation queue, wherein the data order preservation queue includes multiple storage units corresponding to the original data, the storage units are used to store the data identifier and time information of the original data, the multiple storage units are arranged in sequence based on the time information, and the type reference identifier is obtained by filtering from the data identifier based on the time information; a transmission module 506, which is configured to transmit the data to be transmitted according to the current transmission order of the data to be transmitted when the data type is a timeout data type.Optionally, the determination module 504 is further configured to call a programmable component to determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue. The transmission module 506 is further configured to receive the data type sent by the programmable component and, if the data type is a timed-out data type, transmit the data to be transmitted according to the current transmission order of the data to be transmitted. Optionally, the apparatus further includes: an identification module configured to identify a first storage unit and a second storage unit in the data order-preserving queue based on time information, wherein the first storage unit is located at the head of the data order-preserving queue and the second storage unit is located at the tail of the data order-preserving queue; and determine the data identifier stored in the first storage unit and the data identifier stored in the second storage unit as type reference identifiers. Optionally, the apparatus further includes: a deletion module configured to obtain current time information; calculate a time difference based on the time information stored in the first storage unit and the current time information; and if the time difference is greater than a preset time difference, delete the first storage unit from the data order-preserving queue and return to the step of identifying the first storage unit and the second storage unit in the data order-preserving queue to obtain an updated type reference identifier. Optionally, the type reference identifier includes a first type reference identifier and a second type reference identifier; the determination module 504 is further configured to determine a type reference identifier range based on the first type reference identifier and the second type reference identifier stored in the data order-preserving queue; and determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier range. Optionally, the determination module 504 is further configured to determine that the data type of the data to be transmitted is a timeout data type if the data transmission identifier is not within the type reference identifier range. Optionally, the apparatus further includes: a construction module configured to obtain multiple raw data, wherein the raw data carries a data identifier; send the multiple raw data to a processing unit and determine time information at which the multiple raw data are respectively sent; and construct a data order-preserving queue based on the data identifiers and time information of the multiple raw data. Optionally, the construction module is further configured to, if there are multiple processing units, obtain processing status information of each of the multiple processing units; and send the multiple raw data to the corresponding processing units based on the processing status information. Optionally, the apparatus further includes: a stopping module configured to obtain order-preserving status information of the data to be transmitted; and stop transmitting the data to be transmitted when the order-preserving status information indicates that the order-preserving status of the data to be transmitted is invalid.In the embodiments of this specification, the data order-preserving queue includes multiple storage units corresponding to the original data. The storage units are used to store the data identifiers and time information of the original data. The multiple storage units are sequentially arranged based on the time information, and the type reference identifier is filtered from the data identifier based on the time information. By utilizing the data transmission identifier and the type reference identifier stored in the data order-preserving queue, the data type of the data to be transmitted is automatically identified. Therefore, even in the case of significant processing unit delay jitter, data of the timed-out data type can be accurately determined and transmitted, ensuring the stability and integrity of data transmission. The above is a schematic diagram of a data transmission device according to this embodiment. It should be noted that the technical solution of this data transmission device and the technical solution of the aforementioned data transmission method are based on the same concept. Details not described in detail in the technical solution of the data transmission device can be found in the description of the technical solution of the aforementioned data transmission method. Figure 6 shows a block diagram of a computing device according to one embodiment of this specification. The components of computing device 600 include, but are not limited to, memory 610 and processor 620. Processor 620 and memory 610 are connected via bus 630. Database 650 is used to store data. The computing device 600 also includes an access device 640 that enables the computing device 600 to communicate via one or more networks 660. Examples of these networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet.The access device 640 may include one or more of any type of wired or wireless network interface (e.g., a Network Interface Card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and the like. In one embodiment of the present specification, the aforementioned components of the computing device 600 and other components not shown in FIG. 6 may also be connected to each other, for example, via a bus. It should be understood that the computing device structure block diagram shown in FIG. 6 is for illustrative purposes only and does not limit the scope of this specification. Those skilled in the art may add or replace other components as needed. Computing device 600 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.), a mobile phone (e.g., smartphone), a wearable computing device (e.g., smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or personal computer (PC). Computing device 600 can also be a mobile or stationary server. Processor 620 is configured to execute a computer program / instructions that, when executed by the processor, implement the steps of the aforementioned data transmission method. The above is a schematic diagram of a computing device in this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the aforementioned data transmission method are based on the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the aforementioned data transmission method. This specification also provides a computer-readable storage medium storing a computer program / instructions that, when executed by the processor, implements the steps of the aforementioned data transmission method. The above is an illustrative solution of a computer-readable storage medium of this embodiment.It should be noted that the technical solution of this storage medium and the technical solution of the aforementioned data transmission method share the same concept. For details not described in detail in the technical solution of the storage medium, refer to the description of the technical solution of the aforementioned data transmission method. One embodiment of this specification also provides a computer program product, comprising a computer program / instructions. When executed by a processor, the computer program / instructions implement the steps of the aforementioned data transmission method. The above is an illustrative embodiment of a computer program product of this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the aforementioned data transmission method share the same concept. For details not described in detail in the technical solution of the computer program product, refer to the description of the technical solution of the aforementioned data transmission method. The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the figures do not necessarily require the specific order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous. The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium may include any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal, and software distribution medium. It should be noted that the content included in the computer-readable medium may be appropriately increased or decreased based on the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media does not include electric carrier signals and telecommunication signals. It should be noted that for ease of description, the aforementioned method embodiments are described as a series of actions. However, those skilled in the art should understand that the embodiments of this specification are not limited to the order of the actions described, as certain steps may be performed in other orders or simultaneously according to the embodiments of this specification. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required for the embodiments of this specification.In the above embodiments, the descriptions of each embodiment have their own specific focus. For portions not described in detail in a particular embodiment, reference should be made to the relevant descriptions of other embodiments. The preferred embodiments disclosed above are intended only to facilitate illustration of this specification. The alternative embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Obviously, many modifications and variations are possible based on the content of the embodiments in this specification. These embodiments are selected and described in detail in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

Claims 1. A data transmission method, comprising: Obtain data to be transmitted, wherein the data to be transmitted is data processed by a processing unit among multiple original data, and the data to be transmitted carries a data transmission identifier; determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order preservation queue, wherein the data order preservation queue includes multiple storage units corresponding to the original data, the storage units are used to store the data identifier and time information of the original data, the multiple storage units are arranged in sequence based on the time information, and the type reference identifier is obtained by filtering from the data identifier based on the time information; in the case that the data type is a timeout data type, transmit the data to be transmitted according to the current transmission order of the data to be transmitted.

2. The data transmission method according to claim 1, wherein determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue comprises: calling a programmable component to determine the data type of the data to be transmitted according to the data transmission identifier and the type reference identifier stored in the data order-preserving queue; The transmitting the data to be transmitted according to the current transmission order of the data to be transmitted when the data type is a timeout data type includes: receiving the data type sent by the programmable component, and transmitting the data to be transmitted according to the current transmission order of the data to be transmitted when the data type is a timeout data type.

3. The data transmission method according to claim 1, before determining the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue, further comprising: According to the time information, identify the first storage unit and the second storage unit in the data order-preserving queue, wherein the first storage unit is located at the head of the data order-preserving queue and the second storage unit is located at the tail of the data order-preserving queue; and determine the data identifier stored in the first storage unit and the data identifier stored in the second storage unit as the type reference identifier.

4. The data transmission method according to claim 3, further comprising: after determining the data identifier stored in the first storage unit and the data identifier stored in the second storage unit as the type reference identifier; Get current time information; According to the time information stored in the first storage unit and the current time information, calculating the time difference; When the time difference is greater than the preset time difference, the first storage unit is deleted from the data order-preserving queue, and the step of identifying the first storage unit and the second storage unit in the data order-preserving queue is returned to obtain an updated type reference identifier.

5. The data transmission method according to claim 1, wherein the type reference identifier comprises a first type reference identifier and a second type reference identifier; and determining the data type of the to-be-transmitted data based on the data transmission identifier and the type reference identifier stored in the data order-preserving queue comprises: determining a type reference identifier range according to the first type reference identifier and the second type reference identifier stored in the data order-preserving queue; The data type of the to-be-transmitted data is determined according to the data transmission identifier and the type reference identifier range.

6. The data transmission method according to claim 5, wherein determining the data type of the data to be transmitted according to the data transmission identifier and the type reference identifier range comprises: When the data transmission identifier is not within the type reference identifier range, it is determined that the data type of the data to be transmitted is a timeout data type.

7. The data transmission method according to claim 1, before obtaining the data to be transmitted, further comprising: Acquire multiple original data, wherein the original data carries a data identifier; send the multiple original data to the processing unit, and determine time information when the multiple original data are respectively sent; and construct a data order-preserving queue according to the data identifiers and the time information of the multiple original data.

8. The data transmission method according to claim 7, wherein sending the plurality of original data to the processing unit comprises: In the case where there are multiple processing units, respectively obtaining processing status information of the multiple processing units; The plurality of original data are sent to corresponding processing units respectively according to the processing status information.

9. The data transmission method according to claim 1, further comprising, after acquiring the data to be transmitted: Obtaining the order preservation status information of the data to be transmitted; When the order-preserving status information indicates that the order-preserving status of the data to be transmitted is invalid, transmission of the data to be transmitted is stopped.

10. A data transmission system, comprising a network card and a processing unit; the processing unit is used to process a plurality of original data; the network card is used to obtain data to be transmitted, wherein: The data to be transmitted is a plurality of original data The data to be transmitted is processed by the processing unit, and the data to be transmitted carries a data transmission identifier; the data type of the data to be transmitted is determined according to the data transmission identifier and the type reference identifier stored in the data order preservation queue, wherein the data order preservation queue includes multiple storage units corresponding to the original data one by one, the storage units are used to store the data identifier and time information of the original data, the multiple storage units are arranged in sequence based on the time information, and the type reference identifier is obtained by filtering from the data identifier based on the time information; in the case that the data type is a timeout data type, the data to be transmitted is transmitted according to the current transmission order of the data to be transmitted.

11. A data transmission device, comprising: An acquisition module is configured to acquire data to be transmitted, wherein the data to be transmitted is data processed by a processing unit among multiple original data, and the data to be transmitted carries a data transmission identifier; a determination module is configured to determine the data type of the data to be transmitted based on the data transmission identifier and the type reference identifier stored in the data order preservation queue, wherein the data order preservation queue includes multiple storage units corresponding one to one to the original data, the storage units are used to store the data identifier and time information of the original data, the multiple storage units are arranged in sequence based on the time information, and the type reference identifier is obtained by filtering from the data identifier based on the time information; a transmission module is configured to transmit the data to be transmitted according to the current transmission order of the data to be transmitted when the data type is a timeout data type.

12. A computing device, comprising: memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer programs / instructions are executed by the processor, the steps of the data transmission method according to any one of claims 1 to 9 are implemented.

13. A computer-readable storage medium storing a computer program / instruction, wherein the computer program / instruction, when executed by a processor, implements the steps of the data transmission method according to any one of claims 1 to 9.

14. A computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the steps of the data transmission method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Message order-preserving method and device thereof

    CN101175033A

  • Client terminal implementing method for real time monitoring video

    CN101510999A

  • PCIe (Peripheral Component Interconnect Express) message queue scheduling method, system and equipment based on timestamp

    CN114968893A

  • Storage breakpoint resuming method and system on intelligent network card

    CN116107805A

  • Forward packet recovery

    US8442052B1