Data transmission method, electronic device, storage medium and program product

By dynamically adjusting the mapping relationship of the data transmission path and selecting the most suitable transmission path based on the streaming information, the problem of low data transmission efficiency in the network architecture is solved, and more efficient data transmission and path load balancing is achieved.

CN120090981BActive Publication Date: 2025-08-12INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510574122.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-06
Publication Date
2025-08-12
Estimated Expiration
2045-05-06

AI Technical Summary

Technical Problem

In modern network architectures, data transmission efficiency is low, especially when the transmission path load is unbalanced, it is easy to cause some paths to be blocked, affecting the overall transmission efficiency.

Method used

By receiving the streaming information of the target data, dynamically adjust the mapping relationship between multiple information sets and transmission paths, select the most suitable transmission path for data transmission, avoid fixed path dependence, and adapt to transmission path load changes.

Benefits of technology

It effectively avoids unbalanced load of transmission paths, improves data transmission efficiency, reduces transmission delay and packet loss caused by blockage of some paths, and improves network stability and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120090981B_ABST
    Figure CN120090981B_ABST
Patent Text Reader

Abstract

The present application discloses a data transmission method, electronic device, storage medium and program product, which relate to the field of network communication technology. The method includes: receiving target data to be transmitted from an original data end to a destination data end; matching the target data with a corresponding target information set from multiple information sets according to the flow information of the target data, wherein a mapping relationship exists between the multiple information sets and the multiple transmission paths, and the mapping relationship is adjusted according to the change of the transmission load on each transmission path during the data transmission between the original data end and the destination data end; detecting the target transmission path corresponding to the target information set from the target mapping relationship currently existing between the multiple information sets and the multiple transmission paths; and transmitting the target data to the destination data end via the target transmission path. Through the present application, the technical problem of low data transmission efficiency is solved, and the technical effect of improving data transmission efficiency is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network communication technology, and in particular to a data transmission method, electronic equipment, storage medium, and program product. Background Art

[0002] In modern network architectures, to improve efficiency and better utilize all data transmission resources, when there are multiple transmission paths between the source data end and the destination data end, the received data stream can be divided into multiple data stream slices. These multiple data stream slices are then distributed to multiple transmission paths, and the data stream slices are transmitted to the destination data end via the corresponding transmission paths. Although this data transmission method can achieve load balancing across transmission paths to a certain extent, it can still easily lead to load imbalance across transmission paths if the data stream slices are not divided properly, resulting in low data transmission efficiency. Summary of the Invention

[0003] The present application provides a data transmission method, electronic device, storage medium and program product to at least solve the problem of low data transmission efficiency in related technologies.

[0004] The present application provides a data transmission method, comprising: receiving target data to be transmitted from an original data end to a destination data end, wherein the original data end is connected to the destination data end via multiple transmission paths; matching a corresponding target information set for the target data from multiple information sets based on the flow information of the target data, wherein the flow information is used to indicate the flow to which the target data belongs in the data stream, and there is a mapping relationship between the multiple information sets and the multiple transmission paths, and the mapping relationship is adjusted according to the change of the transmission load on each transmission path during the process of transmitting data between the original data end and the destination data end; detecting a target transmission path corresponding to the target information set from the target mapping relationship currently existing between the multiple information sets and the multiple transmission paths; and transmitting the target data to the destination data end via the target transmission path.

[0005] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned data transmission methods when executing the computer program.

[0006] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned data transmission methods are implemented.

[0007] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned data transmission methods when executed by a processor.

[0008] Through the present application, after receiving target data to be transmitted from the original data end to the destination data end, a corresponding target information set is matched for the target data from multiple information sets according to the flow information of the target data, and a target transmission path corresponding to the target information set is detected from the target mapping relationship currently existing between the multiple information sets and the multiple transmission paths. The mapping relationship between the multiple information sets and the multiple transmission paths is adjusted according to the change of the transmission load on each transmission path during the data transmission process between the original data end and the destination data end. The transmission path of the target data from the original data end to the destination data end no longer depends on a fixed transmission path, but is continuously adjusted to adapt to the change of the transmission load of each transmission path, further avoiding the situation of unbalanced transmission load of each transmission path and avoiding the situation of low data transmission efficiency caused by the blockage of some transmission paths. Therefore, the technical problem of low data transmission efficiency in the related art can be solved, and the technical effect of improving data transmission efficiency can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0010] Figure 1 This is a hardware structure block diagram of data transmission in an embodiment of the present application;

[0011] Figure 2 is a flow chart of a data transmission method according to an embodiment of the present application;

[0012] Figure 3 is a schematic diagram of a data transmission method according to an embodiment of the present application;

[0013] Figure 4 This is a structural block diagram of a data transmission device according to an embodiment of the present application. DETAILED DESCRIPTION

[0014] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0015] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0016] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0017] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the data transmission method depends, the specific application environment architecture or specific hardware architecture is described here.

[0018] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 This is a hardware structure diagram of the data transmission of the embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown) a processor 102 (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. The server device may also include a transmission device 106 and an input / output device 108 for communication functions. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.

[0019] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the data transmission method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to a server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0020] Transmission device 106 is used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by a communication provider of the server device. In one embodiment, transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0021] The embodiments of the present application provide a data transmission method, and the method is described in detail in conjunction with the execution flow of the data transmission method.

[0022] The following is an explanation of the professional terms that appear in this application:

[0023] Flowlet: A flowlet consists of a group of packets with large time intervals, representing sub-flows in the same flow, facilitating more flexible routing allocation.

[0024] Flow: A series of interrelated data transmissions, which usually have common source and destination addresses, port numbers, and other identifiers.

[0025] 5-tuple: A five-tuple packet, typically including source IP (Internet Protocol) address, destination IP, protocol, source port, and destination port, used to uniquely identify a flow.

[0026] Packet: The basic unit of network data transmission, is an information block that encapsulates data according to a specific protocol.

[0027] Next Hop: The next hop is the next forwarding node for the packet, responsible for delivering the packet along the correct path.

[0028] Elephant flow: refers to a data flow in the network that lasts for a long time and transmits a large amount of data.

[0029] Rat traffic: refers to a data flow in the network that transmits relatively small amounts of data and lasts for a relatively short period of time.

[0030] In this embodiment, a data transmission method is provided. Figure 2 is a flow chart of a data transmission method according to an embodiment of the present application, such as Figure 2 As shown, the method includes the following steps:

[0031] Step S202, receiving target data to be transmitted from a source data end to a destination data end, wherein the source data end is connected to the destination data end via multiple transmission paths;

[0032] Step S204: Matching the target data with a corresponding target information set from multiple information sets based on the stream information of the target data, wherein the stream information indicates the stream to which the target data belongs in the data stream. A mapping relationship exists between the multiple information sets and the multiple transmission paths, and the mapping relationship is adjusted according to changes in the transmission load on each transmission path during data transmission between the source data end and the destination data end;

[0033] Step S206, detecting a target transmission path corresponding to the target information set from the target mapping relationships currently existing between the multiple information sets and the multiple transmission paths;

[0034] Step S208: transmitting the target data to the destination data end through the target transmission path.

[0035] Through the above steps, after receiving the target data to be transmitted from the original data end to the destination data end, the target data is matched with a corresponding target information set from multiple information sets according to the stream information of the target data, and the target transmission path corresponding to the target information set is detected from the target mapping relationship currently existing between the multiple information sets and the multiple transmission paths. The mapping relationship between the multiple information sets and the multiple transmission paths is adjusted according to the change of the transmission load on each transmission path during the data transmission process between the original data end and the destination data end. The transmission path of the target data from the original data end to the destination data end no longer depends on a fixed transmission path, but is continuously adjusted to adapt to the change of the transmission load of each transmission path, further avoiding the situation of unbalanced transmission load of each transmission path and avoiding the situation of low data transmission efficiency caused by the blockage of some transmission paths. Therefore, the technical problem of low data transmission efficiency in the related art can be solved, and the technical effect of improving data transmission efficiency can be achieved.

[0036] In the embodiment provided in step S202, the original data end may be, but is not limited to, a device having data transmission requirements and data transmission capabilities.

[0037] Optionally, in this embodiment, the destination data end may be, but is not limited to, a device that has data receiving requirements and data receiving capabilities.

[0038] Specifically, the source data end can be, but is not limited to, any server within a data center, such as a web server or database server, responsible for generating or processing the data to be sent, while the destination data end is another server within the data center that receives the data and further processes it or provides it to end users. Alternatively, the source data end can be, but is not limited to, an edge computing device, such as a smart sensor or monitoring device deployed in an industrial field, responsible for collecting and initially processing data, while the destination data end is a server within a cloud data center responsible for receiving, storing, and further analyzing data from the edge device.

[0039] Optionally, in this embodiment, the target data may be, but is not limited to, a data stream or data stream slice including one or more packets, and this application does not make any specific limitation on this.

[0040] Optionally, in this embodiment, the original data end may be connected to the destination data end through, but not limited to, multiple transmission paths. These multiple transmission paths may have, but not limited to, the same data transmission capabilities when none of them are loaded, that is, under ideal conditions, these transmission paths can transmit data with the same or similar efficiency; or, these multiple transmission paths may have, but not limited to, different data transmission capabilities when none of them are loaded.

[0041] In the embodiment provided in step S204, the stream information may be, but is not limited to, used to indicate the stream to which the target data belongs in the data stream. For example, the stream information may include, but is not limited to, the reception time of the target data, the data content of the target data, or the quintuple of the target data. The stream information may be, but is not limited to, a unique identifier of the stream. For example, the stream information may be, but is not limited to, a combination of the reception time of the target data and the quintuple of the target data.

[0042] Optionally, in this embodiment, the data stream may include, but is not limited to, one or more tape-outs.

[0043] Optionally, in this embodiment, the information set may be, but is not limited to, a set of tape-out information, an information set may include, but is not limited to, multiple tape-out information, and one tape-out information may correspond to, but is not limited to, one information set.

[0044] Optionally, in this embodiment, the total number of multiple information sets may be, but is not limited to, greater than the total number of multiple transmission paths, and the correspondence between multiple information sets and multiple transmission paths may be, but is not limited to, each information set corresponding to one transmission path and each transmission path corresponding to multiple information sets.

[0045] Optionally, in this embodiment, when multiple transmission paths are not used to transmit data, information sets may be allocated to each transmission path based on its load transmission parameter, where the load transmission parameter indicates the load transmission capacity of the transmission path. The ratio of the number of data received from the source data end to the destination data end that falls into each information set to the total number of the multiple data remains consistent, and the product of the load transmission parameter of each transmission path and the number of allocated information sets remains consistent. For example, when the load transmission parameter of transmission path A is 10, the load transmission parameter of transmission path B is 30, and the load transmission parameter of transmission path C is 20, and the total number of multiple information sets is 6, one information set may be allocated to transmission path A, three information sets may be allocated to transmission path B, and two information sets may be allocated to transmission path C.

[0046] Optionally, in this embodiment, the total number of multiple information sets may be selected based on, but not limited to, the strictness of the transmission path load balancing requirement. A larger total number may be selected when the transmission path load balancing requirement is higher, but not limited to.

[0047] Optionally, in this embodiment, the mapping relationship between multiple information sets and multiple transmission paths can be, but is not limited to, adjusted according to changes in the load on each transmission path during the process of transmitting data between the original data end and the destination data end. For example, it can be, but is not limited to, when the load of a transmission path among multiple transmission paths suddenly increases, reducing the number of information sets corresponding to the transmission path, and adjusting the information sets originally corresponding to the transmission path to correspond to other transmission paths, and the loads of the other transmission paths are less than the load of the transmission path after the sudden increase.

[0048] Optionally, in this embodiment, the adjustment of the mapping relationship can be triggered but not limited to at a fixed frequency, or the transmission load on each transmission path can be continuously monitored at a fixed frequency, and the adjustment of the mapping relationship is triggered when the change rate of the transmission load on any transmission path is greater than the change rate threshold.

[0049] Optionally, in this embodiment, matching the corresponding target information set for the target data from multiple information sets based on the target data's flow chip information may include, but is not limited to, generating a target flow chip identifier for the target data based on the quintuple of the target data and a receiving timestamp, wherein the flow chip information includes the target flow chip identifier; and matching the target information set for the target flow chip identifier from flow chip identifiers and information sets having a corresponding relationship.

[0050] In the embodiment provided in step S206, detecting the target transmission path corresponding to the target information set from the current target mapping relationship between multiple information sets and multiple transmission paths may include, but is not limited to: detecting the target transmission path corresponding to the target information set from the current target mapping relationship between multiple information sets and multiple transmission paths at the moment when the target data is about to be transmitted, and monitoring whether the mapping relationship between the multiple information sets and the multiple transmission paths changes at each moment in the process of the target data being transmitted to the destination data end through the target transmission path; when the mapping relationship between the multiple information sets and the multiple transmission paths changes, detecting the target transmission path corresponding to the target information set from the current target mapping relationship between the multiple information sets and the multiple transmission paths, until the target data is completely transmitted to the destination data end.

[0051] Optionally, in this embodiment, detecting the target transmission path corresponding to the target information set from the target mapping relationship currently existing between multiple information sets and multiple transmission paths may also include, but is not limited to: obtaining multiple detection moments at a fixed frequency during the transmission of target data from the original data end to the destination data end, the multiple detection moments including the moment when the target data is about to be transmitted, and detecting the target transmission path corresponding to the target information set from the target mapping relationship currently existing between multiple information sets and multiple transmission paths at each detection moment.

[0052] In the embodiment provided in step S208, in the process of transmitting the target data to the destination data end through the target transmission path, the target transmission path can be but is not limited to being the same transmission path at any time, or can be but is not limited to being different transmission paths at different times.

[0053] As an optional implementation, Figure 3 FIG is a schematic diagram of a data transmission method according to an embodiment of the present application. Figure 3As shown, the original data end is connected to router A, and the aforementioned data transmission method can be, but is not limited to, performed by router A. The multiple transmission paths between the original data end and the destination data end can include, but are not limited to, transmission path 1 through router 1, transmission path 2 through router 2, transmission path 3 through router 3, transmission path 4 through router 4, and transmission path 5 through routers 5 and 6. Transmission paths 1-5 can, but are not limited to, have the same data transmission capacity when unloaded. Therefore, when unloaded, the mapping relationship between the multiple information sets and the multiple transmission paths can include, but is not limited to, the following: information set A and information set B both correspond to transmission path 1, information set C and information set D both correspond to transmission path 2, information set E and information set F both correspond to transmission path 3, information set G and information set H both correspond to transmission path 4, and information set I and information set J both correspond to transmission path 5. As data is transmitted from the original data end to the destination data end through various transmission paths, the mapping relationship between multiple information sets and multiple transmission paths at a certain moment may include, but is not limited to: information set A corresponds to transmission path 1, information set B and information set C both correspond to transmission path 2, information set D corresponds to transmission path 3, information set E and information set F correspond to transmission path 4, information set G, information set H, information set I and information set J all correspond to transmission path 5, then at this moment the transmission load on transmission path 5 is the smallest, and at this moment transmission path 1 and transmission path 3 have the same level of transmission load.

[0054] As an optional implementation, matching a corresponding target information set for the target data from multiple information sets based on the flow chip information of the target data includes: detecting the flow chip attributes of the target data based on the target time difference between the first moment and the second moment, and the time difference threshold of the first moment, wherein the first moment is the moment of receiving the target data, the second moment is the moment of receiving the reference data, the reference data is the last received data transmitted from the original data end to the destination data end before receiving the target data, the time difference threshold is adjusted according to the change of transmission load on multiple transmission paths during the data transmission between the original data end and the destination data end, the flow chip attributes are used to indicate the relationship between the flow chip to which the target data belongs and the flow chip to which the reference data belongs; matching the corresponding target information set for the target data based on the flow chip attributes and the flow chip parameters of the target data, wherein the flow chip information includes flow chip parameters and flow chip attributes, and the flow chip parameters are used to indicate the transmission starting point, transmission end point and transmission protocol of the target data.

[0055] Optionally, in this embodiment, the first moment may be but is not limited to the moment of receiving the target data, and the second moment may be but is not limited to the moment of last receiving the reference data to be transmitted from the original data end to the destination data end before receiving the target data, that is, the first moment may be but is not limited to the moment after the second moment.

[0056] Optionally, in this embodiment, the stream attribute may be, but is not limited to, used to indicate the relationship between the stream to which the target data belongs and the stream to which the reference data belongs. The stream attribute may be, but is not limited to, used to indicate that the stream to which the target data belongs and the stream to which the reference data belongs are the same stream, or may be used to indicate that the stream to which the target data belongs and the stream to which the reference data belongs are different streams.

[0057] Optionally, in this embodiment, the time difference threshold may be, but is not limited to, continuously adjusted according to changes in transmission loads on multiple transmission paths during data transmission between the original data end and the destination data end, and the time difference threshold detected at the first moment and the time difference threshold detected at the second moment may be, but is not limited to, different.

[0058] Optionally, in this embodiment, the tape-out parameters may be, but are not limited to, used to indicate the transmission start point, transmission end point, and transmission protocol of the target data, and the tape-out parameters may be, but are not limited to, include a quintuple.

[0059] Optionally, in this embodiment, the target data may be matched to a corresponding target information set based on, but not limited to, the flow attributes and flow parameters of the target data. Matching the target data to a corresponding target information set based on the flow attributes and flow parameters of the target data may include, but is not limited to, determining the information set corresponding to the reference flow to which the reference data belongs as the target information set when the flow attributes indicate that the flow to which the target data belongs is the same flow (i.e., the target data has not formed a new flow) as the flow attribute indicates that the flow to which the target data belongs is different from the flow to which the reference data belongs (i.e., the target data has formed a new flow), assigning a target information set to the target data based on the flow parameters of the target data. Since the transmission start point, transmission end point, and transmission protocol of the same data stream may, but are not limited to, remain unchanged, matching the data to the information set using the aforementioned method can ensure that all parts of an elephant flow are matched to the same information set.

[0060] Optionally, in this embodiment, before detecting the flow properties of the target data based on the target time difference between the first moment and the second moment and the time difference threshold of the first moment, it is possible to, but not limited to, determine whether the target data belongs to the elephant flow based on the receiving time consumed to receive the target data and the number of packets included in the target data, that is, when the receiving time consumed to receive the target data is greater than or equal to the receiving time threshold, and / or the number of packets included in the target data is greater than the packet number threshold, determine that the target data belongs to the elephant flow; when it is detected that the target data belongs to the elephant flow, bind the target data to the fixed information set corresponding to the elephant flow to maintain the stability of the traffic.

[0061] Through the above content, the flow properties of the target data are detected according to the time difference between the first moment of receiving the target data and the second moment of receiving the target data, and the time difference threshold of the first moment. Since the time difference threshold is continuously adjusted according to the changes in the transmission load on multiple transmission paths, it is possible to flexibly divide a series of data to be sent from the original data end to the destination data end into multiple parts for separate transmission, avoiding the problem of poor adaptation to multiple transmission paths due to a fixed time difference threshold, which in turn leads to unbalanced load on the transmission path.

[0062] As an optional implementation, a target information set corresponding to the target data is matched according to the chip attributes and the chip parameters of the target data, including: when the chip attributes are used to indicate that the chip to which the target data belongs and the chip to which the reference data belongs are the same chip, the information set corresponding to the reference chip is matched for the target data as the target information set, wherein the reference chip is the chip to which the reference data belongs; when the chip attributes are used to indicate that the chip to which the target data belongs and the chip to which the reference data belongs are different chips, the quintuple of the target data is substituted into the hash function to obtain the data parameters of the target data, wherein the chip parameters include the quintuple; and the target information set is matched for the target data according to the data parameters.

[0063] Optionally, in this embodiment, the data parameter ID can be but is not limited to H(Src IP, Dst IP, Protocol, Src Port, Dst Port), where Src IP is the original data end IP address, Dst IP is the destination data end IP address, Protocol is the transmission protocol, Src Port is the original data end port, and Dst Port is the destination data end port.

[0064] Optionally, in this embodiment, the data parameter ID can also be generated using but not limited to a double hash formula, that is, ID=H[H(Src IP, Dst IP, Protocol, Src Port, Dst Port)], where Src IP is the original data end IP address, Dst IP is the destination data end IP address, Protocol is the transmission protocol, Src Port is the original data end port, and DstPort is the destination data end port.

[0065] Optionally, in this embodiment, matching the target information set for the target data according to the data parameters may include, but is not limited to: generating target set parameters of the target data according to the mapping formula M=ID mod N, where N is the total number of multiple information sets; matching the target information set for the target set parameters from the one-to-one corresponding set parameters and information sets.

[0066] As an optional implementation, upon receiving data, an ID is first calculated based on its 5-tuple and compared with the previous data's reception timestamp to determine whether a new flowlet should be formed. When the interval between the reception of adjacent data exceeds Tflowlet (i.e., the time difference threshold), it is considered a new flowlet, triggering information set reallocation. The flowlet ID (i.e., data parameters) can be generated using, but is not limited to, a hash function H(Src IP, Dst IP, Protocol, Src Port, Dst Port), where Src IP is the source data source IP address, Dst IP is the destination data source IP address, Protocol is the transport protocol, Src Port is the source data source port, and Dst Port is the destination data source port. After the new flowlet is formed, its hash value can be used to map it to one of multiple information sets. The target set parameters of the target data are calculated using M = H(Flowlet ID) mod N, where N is the total number of multiple information sets, and each information set has a unique corresponding set parameter. The target information set is then matched to the target data based on the target set parameters.

[0067] Through the above content, the same information set is used for the data of the same flow chip, which ensures the orderly transmission of data within the same flow chip, reduces the packet disorder phenomenon in the network, and improves the transmission reliability and service quality.

[0068] As an optional implementation, before detecting the tape-out properties of the target data based on the target time difference between the first moment and the second moment, and the time difference threshold at the first moment, the method further includes: detecting path delay parameters and delay fluctuation parameters of multiple transmission paths, wherein the path delay parameter is used to indicate the time consumed to transmit data from the original data end to the destination data end through multiple transmission paths, and the delay fluctuation parameter is used to indicate the change in the path delay parameter; adjusting the time difference threshold based on the size relationship between the path delay parameter and the path delay threshold, and the size relationship between the delay fluctuation parameter and the delay fluctuation threshold.

[0069] Optionally, in this embodiment, based on the size relationship between the path delay parameter and the path delay threshold, and the size relationship between the delay fluctuation parameter and the delay fluctuation threshold, adjusting the time difference threshold includes but is not limited to reducing the time difference threshold when the path delay parameter is greater than or equal to the path delay threshold, and / or the path fluctuation parameter is greater than or equal to the delay fluctuation threshold; and reducing the time difference threshold when the path delay parameter is less than the path delay threshold and the path fluctuation parameter is less than the delay fluctuation threshold.

[0070] As an optional implementation, this can include, but is not limited to, regular checks on load balancing status to ensure low-entropy traffic dispersion and monitor for performance fluctuations. Specifically, this can include, but is not limited to, dynamically adjusting Tflowlet based on changes in network latency to improve identification accuracy: This can include, but is not limited to, continuously monitoring network latency across each path and calculating latency trends through a sampling algorithm. A latency change threshold is set, and when latency fluctuations exceed a set range, a threshold adjustment mechanism is triggered. Historical network latency data is analyzed to determine whether there is a sustained upward or downward trend in latency. If network latency continues to increase, it's speculated that the current network may be congested, and Tflowlet can be adjusted to avoid excessive switching. If latency decreases, Tflowlet can be appropriately relaxed to increase traffic switching flexibility. Based on latency fluctuations and trends, Tflowlet can be adjusted according to, but not limited to, the following rules: If latency fluctuations are small and stable, Tflowlet can be increased to reduce frequent path switching; if latency fluctuations are large or increasing, Tflowlet can be decreased to enhance path switching responsiveness. After each Tflowlet adjustment, its impact on network performance can be monitored. If Tflowlet adjustments result in suboptimal network performance, Tflowlet settings can be further optimized based on real-time data to ensure stable performance. This dynamic adjustment mechanism allows us to flexibly respond to changes in network latency and avoid the problems of excessive switching or slow response caused by using fixed thresholds.

[0071] As an optional implementation, the time difference threshold is adjusted according to the size relationship between the path delay parameter and the path delay threshold, as well as the size relationship between the delay fluctuation parameter and the delay fluctuation threshold, including: when the delay fluctuation parameter is greater than or equal to the delay fluctuation threshold, reducing the time difference threshold; when the delay fluctuation parameter is less than the delay fluctuation threshold and the path delay parameter is greater than or equal to the path delay threshold, reducing the time difference threshold; when the delay fluctuation parameter is less than the delay fluctuation threshold and the path delay parameter is less than the path delay threshold, increasing the time difference threshold.

[0072] Through the above content, when the path delay is large and the delay fluctuation is large, reducing the time difference threshold can enable the system to identify new chips more quickly, switch information sets in time, effectively deal with network congestion, and avoid traffic retention.

[0073] As an optional implementation, detecting path delay parameters and delay fluctuation parameters of multiple transmission paths includes: detecting the transmission delay parameters of each transmission path to obtain multiple transmission delay parameters, wherein each transmission delay parameter is used to indicate the time consumed to transmit data from the original data end to the destination data end through each transmission path; calculating the average value of the multiple transmission delay parameters to obtain the path delay parameter; calculating the rate of change of the path delay parameter relative to the historical delay parameter to obtain the delay fluctuation parameter, wherein the historical delay parameter is the average value of the multiple transmission delay parameters calculated last time.

[0074] Optionally, in this embodiment, the path delay parameter may be, but is not limited to, an average value of path delay parameters of multiple transmission paths.

[0075] Through the above content, the calculation of delay fluctuation parameters helps to identify unstable conditions in the network, such as sudden delay increases, so that measures can be taken in advance, such as reducing the tape-out threshold to promote traffic redistribution, prevent local overloads, and maintain high network stability.

[0076] As an optional implementation, before detecting the target transmission path corresponding to the target information set from the target mapping relationship currently held between multiple information sets and multiple transmission paths, the method further includes: detecting data load information of multiple transmission paths at the current moment to obtain multiple data load information, wherein each piece of data load information is used to indicate the transmission load condition on each transmission path; calculating load change parameters of each transmission path based on the multiple data load information and multiple historical load information to obtain multiple load change parameters, wherein each load change parameter is used to indicate the change condition of the transmission load of each transmission path, and the multiple historical load information is detected at historical moments before the current moment; and adjusting the mapping relationship based on each piece of data load information when the target change parameter is greater than or equal to a change parameter threshold, wherein the multiple load change parameters include a target change parameter.

[0077] Optionally, in this embodiment, the data load information can be used, but is not limited to, to directly indicate the transmission load conditions on each transmission path. For example, the data load information can be the amount of data transmitted by the transmission path per unit time. The data load information can also be used, but is not limited to, to indirectly indicate the transmission load conditions on each transmission path. For example, the data load information can be the path delay and packet loss rate of the transmission path, etc.

[0078] Optionally, in this embodiment, adjusting the mapping relationship according to each data load information may include, but is not limited to, screening out transmission paths from multiple transmission paths whose corresponding data load information exceeds the average value of multiple data load information, and reducing the number of information sets corresponding to these transmission paths.

[0079] Optionally, in this embodiment, adjusting the mapping relationship according to each data load information may include, but is not limited to, filtering out the maximum transmission path with the largest corresponding data load information and filtering out the minimum transmission path with the smallest data load information from multiple transmission paths; reducing the number of information sets corresponding to the maximum transmission path and increasing the number of information sets corresponding to the minimum transmission path.

[0080] Optionally, in this embodiment, state collection and mapping relationship adjustment can be decoupled, but is not limited to this. After collecting load data, mapping relationship adjustments are not performed immediately. Instead, the data is cached and trend analysis is performed. Mapping relationship adjustments are triggered only when the monitored load change reaches a certain threshold. This avoids frequent recalculation and information set redistribution caused by minor fluctuations, reducing operational burden.

[0081] Optionally, in this embodiment, a hierarchical adjustment mechanism can be employed for the mapping relationship adjustment strategy, but is not limited thereto. Prioritize coarse-grained adjustments to the total number of information sets corresponding to the transmission paths, and only when necessary, further fine-tune the distribution of information sets corresponding to individual transmission paths. This ensures load balancing between paths while avoiding resource consumption caused by overly fine-grained adjustments.

[0082] Through the above content, by continuously monitoring the load changes of the transmission path and quickly adjusting the mapping relationship between the information set and the transmission path when necessary, the network load can be automatically balanced to avoid the situation where some transmission paths are overloaded while other transmission path resources are idle.

[0083] As an optional implementation, adjusting the mapping relationship according to each piece of data load information includes: determining the number of corresponding information sets for each transmission path according to the ratio between each piece of data load information and the total number of information sets currently corresponding to the multiple transmission paths, to obtain multiple path set numbers, wherein the ratio between each path set number corresponding to each transmission path is equal to the ratio between each piece of data load information corresponding to each transmission path; determining adjustment information of the multiple transmission paths according to the transmission paths and path set numbers having corresponding relationships, wherein the adjustment information is used to indicate the transmission paths and information sets whose corresponding relationships in the mapping relationship need to be changed; and adjusting the mapping relationship according to the adjustment information.

[0084] Optionally, in this embodiment, the number of corresponding information sets can be determined for each transmission path based on, but not limited to, the ratio between each data load information and the total number of information sets currently corresponding to multiple transmission paths. For example, when the data load information of each transmission path is 2x for transmission path 6, x for transmission path 7, and x for transmission path 8, and the total number of sets is 4, it is determined that transmission path 6 corresponds to 2 information sets, transmission path 7 corresponds to 1 information set, and transmission path 8 corresponds to 1 information set, and the number of path sets corresponding to transmission path 6, transmission path 7, and transmission path 8 are 2, 1, and 1, respectively.

[0085] Optionally, in this embodiment, after obtaining multiple path set numbers, adjustment information of multiple transmission paths can be determined based on the corresponding transmission paths and path set numbers. For example, for the above-mentioned transmission paths 6-8, the mapping relationship between transmission paths 6-8 and the information sets before the mapping relationship is adjusted can be, but is not limited to, transmission path 6 corresponds to information set A, transmission path 7 corresponds to information set B and information set C, and transmission path 8 corresponds to information set D. The adjustment information here can be, but is not limited to, transmission path 6, transmission path 7, information set B, and information set C.

[0086] As an optional implementation, adjusting the mapping relationship according to the adjustment information includes: extracting an active information set from multiple information sets according to the adjustment information, and extracting a vacant transmission path from multiple transmission paths according to the adjustment information, wherein the active information set is the information set in the overflow transmission path, the actual number of sets corresponding to the overflow transmission path is greater than the number of path sets corresponding to the overflow transmission path, the actual number of sets is the number of information sets corresponding to the overflow transmission path before the active information set is extracted, the number of active information sets is equal to the difference between the actual number of sets and the number of path sets corresponding to the overflow transmission path, and the vacant transmission path is a transmission path whose number of corresponding information sets is less than the number of path sets corresponding to the vacant transmission path; establishing a change correspondence relationship between the vacant transmission path and the active information set according to the vacancy information of the vacant transmission path, wherein the vacancy information is used to indicate the difference between the number of information sets corresponding to the vacant transmission path and the number of path sets corresponding to the vacant transmission path; deleting the correspondence relationship between the active information set and the overflow transmission path from the mapping relationship, and adding the change correspondence relationship to the mapping relationship.

[0087] Optionally, in this embodiment, for the aforementioned transmission paths 6-8, the overflow transmission path is transmission path 7, the active information set may be, but is not limited to, information set B or information set C, and the vacant transmission path is transmission path 6. A change correspondence between transmission path 6 and information set B may be established, but is not limited to, the correspondence between information set B and transmission path 7 may be deleted from the original mapping relationship, and the change correspondence between transmission path 6 and information set B may be added to the mapping relationship, resulting in a final mapping relationship: transmission path 6 corresponds to information set A and information set B, transmission path 7 corresponds to information set C, and transmission path 8 corresponds to information set D.

[0088] Optionally, in this embodiment, the active information set extracted from multiple information sets based on the adjustment information may include, but is not limited to, extracting the information set corresponding to the overflow transmission path before the active information set was extracted, thereby obtaining multiple candidate information sets. The relationship between the total amount of data corresponding to each candidate information set within a historical time period is detected, and the relationship between the vacancy information and the vacancy threshold is detected. When the vacancy information is greater than or equal to the vacancy threshold, the candidate information sets are extracted in ascending order of total amount of data as the active information set. When the vacancy information is less than the vacancy threshold, the candidate information sets are extracted in descending order of total amount of data as the active information set. Based on the above, when the vacancy information (i.e., the number of additional information sets that the vacancy transmission path can receive) is greater than or equal to the preset vacancy threshold, the active information set selection will tend to favor information sets with smaller total amounts of data, and the mapping relationship will be adjusted first from these sets to avoid network fluctuations caused by transferring a large amount of data at once. Conversely, when the vacancy information is less than the vacancy threshold, the information sets with larger total amounts of data will tend to be selected for adjustment, thereby quickly filling the load gap on the path and avoiding long periods of resource idleness.

[0089] As an optional implementation, data load information of multiple transmission paths at the current moment is detected to obtain multiple data load information, including: detecting data load parameters of each transmission path, wherein the data load parameters are used to indicate the load transmission quality of the transmission path; when each transmission path corresponds to a data load parameter, the multiple data load parameters are determined as multiple data load information; when each transmission path corresponds to multiple data load parameters, the weighted sum of the multiple data load parameters corresponding to each transmission path is calculated to obtain multiple data load information.

[0090] Optionally, in this embodiment, the accuracy of the determined transmission load conditions of each transmission path can be improved by, but not limited to, selecting multiple data load parameters and using the weighted sum of the multiple data load parameters to indicate the transmission load conditions of each transmission path.

[0091] As an optional implementation, the weighted sum of multiple data load parameters corresponding to each transmission path is calculated to obtain multiple data load information, including: obtaining a first weight corresponding to a first parameter, a second weight corresponding to a second parameter, and a third weight corresponding to a third parameter, wherein the first parameter is used to indicate the time required for data to be transmitted from the original data end to the destination data end through the corresponding data transmission path, the second parameter is used to indicate the ratio of data that cannot be transmitted to the destination data end during the process of transmitting data from the original data end to the destination data end through the corresponding data transmission path to the data transmitted from the original data end to the destination data end through the corresponding data transmission path, and the third parameter is used to indicate the ratio of the amount of data transmitted per unit time of the corresponding data transmission path to the maximum amount of data transmitted per unit time of the data transmission path, and the multiple data load parameters include the first parameter, the second parameter, and the third parameter; the weighted sum of the first parameter, the second parameter, and the third parameter of each transmission path is calculated according to the first weight, the second weight, and the third weight to obtain multiple data load information.

[0092] Optionally, in this embodiment, the first parameter may be but is not limited to a delay parameter, the second parameter may be but is not limited to a packet loss rate, and the third parameter may be but is not limited to a bandwidth usage rate.

[0093] As an optional implementation, the bucket weights (i.e., the number of information sets) corresponding to transmission paths may be dynamically adjusted based on real-time load conditions to ensure even traffic distribution and avoid overloading of transmission paths. This may include, but is not limited to, continuously monitoring status indicators for each transmission path, including latency, packet loss rate, and bandwidth utilization. Based on these indicators, a load score (a data load parameter) is calculated: Load Score = α Latency + β Packet Loss Rate + γ Bandwidth Utilization, where α, β, and γ are the first, second, and third weights, respectively. When a transmission path is overloaded, its bucket weight may be reduced to direct more traffic to less-loaded transmission paths. The number of information sets and weight distribution strategies may also be adjusted based on traffic characteristics and transmission path status. Specifically, this may include, but is not limited to, collecting real-time traffic feature data, including traffic size, duration, and distribution. By analyzing these features, different types of traffic (such as large and small traffic) can be identified, as well as their distribution across transmission paths. In addition to basic metrics like latency and packet loss rate, the load on each transmission path can be further assessed based on, but not limited to, bandwidth utilization and congestion status. Based on these assessments, path bottlenecks can be identified, as can traffic concentration and load imbalance. The number of buckets (i.e., information sets) can be dynamically adjusted based on, but not limited to, changes in network topology or traffic characteristics, such as heavy load on certain paths or low traffic on others. If certain paths are nearing capacity, the number of buckets can be increased to refine load distribution and avoid path overload. Conversely, if certain paths have low traffic, the number of buckets can be reduced to avoid wasted resources. Bucket weights for each transmission path can also be adjusted based on, but not limited to, real-time feedback from traffic characteristics and path status. For high-volume or long-duration traffic ("elephant flows"), the corresponding bucket weights can be increased to ensure stable distribution to designated paths. For low-volume or short-lived traffic ("rat flows"), the corresponding bucket weights can be reduced to achieve load balancing.

[0094] As an optional implementation, after calculating the load change parameters of each transmission path based on multiple data load information and multiple historical load information to obtain multiple load change parameters, the method also includes: detecting the size relationship between each load change parameter and a first change threshold and the size relationship between each load change parameter and a second change threshold, wherein the first change threshold is greater than the second change threshold; when it is detected that the reference change parameter is greater than the first change threshold, reducing the sampling time interval, wherein the multiple load change parameters include the reference change parameter, and the sampling time interval is the time interval between the detection moments of two adjacent data load information; when it is detected that the reference change parameter is less than the second change threshold, increasing the sampling time interval.

[0095] Optionally, in this embodiment, an adaptive sampling mechanism may be introduced, but is not limited to, to automatically adjust the monitoring frequency (i.e., the frequency of detecting data load information) based on historical fluctuations in the path. For paths with long-term stable conditions, the sampling frequency is reduced to minimize resource waste; for paths with drastic load fluctuations, the sampling density is appropriately increased to ensure scheduling accuracy. This adaptive adjustment strategy can significantly reduce overall resource overhead while ensuring scheduling responsiveness.

[0096] Optionally, in this embodiment, the data transmission method can be deployed within the transmission system, with central equipment controlling data transmission and preprocessing data at edge nodes (such as switches). Data is reported to the central equipment only when path status is abnormal or exceeds a threshold. This design effectively avoids the bandwidth and computing pressure associated with real-time reporting of all data, improving the system's scalability and real-time performance.

[0097] Based on the above content, this application constructs a low-entropy, efficient and stable load balancing system by combining real-time monitoring and dynamic load adjustment. The Flowlet identification module in the system calculates the Flowlet ID based on the 5-tuple of the packet, and records the packet timestamp to determine whether a new Flowlet is formed; the path allocation module divides each next-hop path into multiple information sets, maps them to the corresponding bucket according to the hash value of the Flowlet ID, and selects the path; the dynamic load monitoring module monitors the delay, packet loss rate, bandwidth utilization and other indicators of each path in real time, calculates the load score (Load Score) as the basis for adjusting the mapping relationship; the mapping relationship adjustment module automatically adjusts the mapping relationship according to the load status of each path to ensure that the traffic is dispersed to the path with lighter load; identifies and fixes the elephant flow to a specific bucket to reduce frequent reallocation and reduce the risk of performance fluctuations.

[0098] The data transmission method and system described above can be applied, but not limited to, in data centers, cloud computing environments, AIGC (Artificial Intelligence-Generated Content), and other fields. Traffic management is crucial in data centers. Using the technology in this application, traffic distribution can be dynamically adjusted to avoid overloads and improve resource utilization, thereby enhancing the overall efficiency and stability of the data center. In cloud computing environments, cloud platforms need to handle large-scale virtual machine and container traffic. This system can intelligently distribute traffic based on real-time network load, avoiding bottlenecks and improving the responsiveness and stability of cloud services. In the AIGC field, AIGC technology typically requires a large amount of computing resources for training and inference. The dynamic load balancing method in this application can efficiently allocate resources across multiple computing nodes, ensuring low latency and high throughput in the content generation process. It can also optimize traffic routing, reduce the transmission delay of generated content, and ensure efficient and stable content distribution, enabling rapid processing and forwarding of generated content.

[0099] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0100] The embodiment of the present application also provides a data transmission device, Figure 4 is a structural block diagram of a data transmission device according to an embodiment of the present application, such as Figure 4 As shown, the device includes:

[0101] A receiving module 402 is configured to receive target data to be transmitted from an original data end to a destination data end, wherein the original data end is connected to the destination data end via multiple transmission paths;

[0102] Matching module 404 is configured to match a corresponding target information set from multiple information sets for the target data based on the flow information of the target data, wherein the flow information indicates the flow to which the target data belongs in the data stream, and a mapping relationship is established between the multiple information sets and the multiple transmission paths. The mapping relationship is adjusted according to changes in transmission load on each transmission path during data transmission between the source data end and the destination data end;

[0103] A first detection module 406 is configured to detect a target transmission path corresponding to a target information set from target mapping relationships currently existing between multiple information sets and multiple transmission paths;

[0104] The transmission module 408 is configured to transmit the target data to the destination data end via the target transmission path.

[0105] Through the above device, after receiving the target data to be transmitted from the original data end to the destination data end, the target data is matched with a corresponding target information set from multiple information sets according to the stream information of the target data, and the target transmission path corresponding to the target information set is detected from the target mapping relationship currently existing between the multiple information sets and the multiple transmission paths. The mapping relationship between the multiple information sets and the multiple transmission paths is adjusted according to the change of the transmission load on each transmission path during the data transmission process between the original data end and the destination data end. The transmission path of the target data from the original data end to the destination data end no longer depends on a fixed transmission path, but is continuously adjusted to adapt to the change of the transmission load of each transmission path, further avoiding the situation of unbalanced transmission load of each transmission path and avoiding the situation of low data transmission efficiency caused by the blockage of some transmission paths. Therefore, the technical problem of low data transmission efficiency in the related art can be solved, and the technical effect of improving data transmission efficiency can be achieved.

[0106] Optionally, the matching module includes: a first detection unit, used to detect the chip attributes of the target data based on the target time difference between the first moment and the second moment, and the time difference threshold of the first moment, wherein the first moment is the moment of receiving the target data, the second moment is the moment of receiving the reference data, the reference data is the last data received from the original data end to the destination data end before the target data is received, and the time difference threshold is adjusted according to the change of transmission load on multiple transmission paths during the data transmission between the original data end and the destination data end, and the chip attributes are used to indicate the relationship between the chip to which the target data belongs and the chip to which the reference data belongs; a first matching unit, used to match the target data with a corresponding target information set based on the chip attributes and the chip parameters of the target data, wherein the chip information includes chip parameters and chip attributes, and the chip parameters are used to indicate the transmission starting point, transmission end point and transmission protocol of the target data.

[0107] Optionally, the first matching unit is further used to: when the wafer attribute is used to indicate that the wafer to which the target data belongs and the wafer to which the reference data belongs are the same wafer, match the target data with an information set corresponding to the reference wafer as a target information set, wherein the reference wafer is the wafer to which the reference data belongs; when the wafer attribute is used to indicate that the wafer to which the target data belongs and the wafer to which the reference data belongs are different wafers, bring the quintuple of the target data into a hash function to obtain data parameters of the target data, wherein the wafer parameters include the quintuple; and match the target information set for the target data according to the data parameters.

[0108] Optionally, the matching module also includes: a second detection unit, used to detect path delay parameters and delay fluctuation parameters of multiple transmission paths, wherein the path delay parameter is used to indicate the time consumed to transmit data from the original data end to the destination data end through multiple transmission paths, and the delay fluctuation parameter is used to indicate the change of the path delay parameter; an adjustment unit, used to adjust the time difference threshold according to the size relationship between the path delay parameter and the path delay threshold, and the size relationship between the delay fluctuation parameter and the delay fluctuation threshold.

[0109] Optionally, the adjustment unit is also used to: reduce the time difference threshold when the delay fluctuation parameter is greater than or equal to the delay fluctuation threshold; reduce the time difference threshold when the delay fluctuation parameter is less than the delay fluctuation threshold and the path delay parameter is greater than or equal to the path delay threshold; increase the time difference threshold when the delay fluctuation parameter is less than the delay fluctuation threshold and the path delay parameter is less than the path delay threshold.

[0110] Optionally, the second detection unit is further used to: detect the transmission delay parameters of each transmission path to obtain multiple transmission delay parameters, wherein each transmission delay parameter is used to indicate the time consumed to transmit data from the original data end to the destination data end through each transmission path; calculate the average value of the multiple transmission delay parameters to obtain the path delay parameter; calculate the rate of change of the path delay parameter relative to the historical delay parameter to obtain the delay fluctuation parameter, wherein the historical delay parameter is the average value of the multiple transmission delay parameters calculated last time.

[0111] Optionally, the device also includes: a second detection module, used to detect data load information of multiple transmission paths at the current moment, and obtain multiple data load information, wherein each data load information is used to indicate the transmission load situation on each transmission path; a calculation module, used to calculate the load change parameters of each transmission path based on the multiple data load information and multiple historical load information, and obtain multiple load change parameters, wherein each load change parameter is used to indicate the change situation of the transmission load of each transmission path, and the multiple historical load information is detected at historical moments before the current moment; an adjustment module, used to adjust the mapping relationship according to each data load information when the target change parameter is greater than or equal to the change parameter threshold, wherein the multiple load change parameters include the target change parameter.

[0112] Optionally, the adjustment module includes: a first determination unit, used to determine the number of corresponding information sets for each transmission path based on the ratio between each data load information and the total number of information sets currently corresponding to the multiple transmission paths, to obtain multiple path set numbers, wherein the ratio between each path set number corresponding to each transmission path is equal to the ratio between each data load information corresponding to each transmission path; a second determination unit, used to determine adjustment information of multiple transmission paths based on the transmission paths and path set numbers having corresponding relationships, wherein the adjustment information is used to indicate the transmission paths and information sets whose corresponding relationships in the mapping relationship need to be changed; and an adjustment unit, used to adjust the mapping relationship according to the adjustment information.

[0113] Optionally, the adjustment unit is further used to: extract an active information set from multiple information sets based on the adjustment information, and extract a vacant transmission path from multiple transmission paths based on the adjustment information, wherein the active information set is the information set in the overflow transmission path, the actual number of sets corresponding to the overflow transmission path is greater than the number of path sets corresponding to the overflow transmission path, the actual number of sets is the number of information sets corresponding to the overflow transmission path before the active information set is extracted, the number of active information sets is equal to the difference between the actual number of sets and the number of path sets corresponding to the overflow transmission path, and the vacant transmission path is a transmission path whose number of corresponding information sets is less than the number of path sets corresponding to the vacant transmission path; establish a change correspondence between the vacant transmission path and the active information set based on the vacancy information of the vacant transmission path, wherein the vacancy information is used to indicate the difference between the number of information sets corresponding to the vacant transmission path and the number of path sets corresponding to the vacant transmission path; delete the correspondence between the active information set and the overflow transmission path from the mapping relationship, and add the change correspondence to the mapping relationship.

[0114] Optionally, the second detection module further includes: a third detection unit, configured to detect a data load parameter of each transmission path, wherein the data load parameter is used to indicate a load transmission quality of the transmission path;

[0115] The third determination unit is used to determine multiple data load parameters as multiple data load information when each transmission path corresponds to one data load parameter; the calculation unit is used to calculate the weighted sum of multiple data load parameters corresponding to each transmission path when each transmission path corresponds to multiple data load parameters to obtain multiple data load information.

[0116] Optionally, the calculation unit is also used to: obtain a first weight corresponding to the first parameter, a second weight corresponding to the second parameter, and a third weight corresponding to the third parameter, wherein the first parameter is used to indicate the time required for data to be transmitted from the original data end to the destination data end through the corresponding data transmission path, the second parameter is used to indicate the ratio of data that cannot be transmitted to the destination data end during the process of transmitting data from the original data end to the destination data end through the corresponding data transmission path to the data transmitted from the original data end to the destination data end through the corresponding data transmission path, and the third parameter is used to indicate the ratio of the amount of data transmitted per unit time by the corresponding data transmission path to the maximum amount of data transmitted per unit time by the data transmission path, and the multiple data load parameters include the first parameter, the second parameter, and the third parameter; the weighted sum of the first parameter, the second parameter, and the third parameter of each transmission path is calculated according to the first weight, the second weight, and the third weight to obtain multiple data load information.

[0117] Optionally, the device also includes: a third detection module, used to detect the size relationship between each load change parameter and the first change threshold and the size relationship between each load change parameter and the second change threshold, wherein the first change threshold is greater than the second change threshold; a reduction module, used to reduce the sampling time interval when it is detected that the reference change parameter is greater than the first change threshold, wherein the multiple load change parameters include the reference change parameter, and the sampling time interval is the time interval between the detection moments of two adjacent data load information; an increase module, used to increase the sampling time interval when it is detected that the reference change parameter is less than the second change threshold.

[0118] For the description of the features in the embodiment corresponding to the data transmission device, reference can be made to the relevant description of the embodiment corresponding to the data transmission method, and no further details will be given here.

[0119] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned data transmission method embodiments.

[0120] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned data transmission method embodiments when running.

[0121] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0122] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned data transmission method embodiments are implemented.

[0123] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned data transmission method embodiments are implemented.

[0124] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0125] The above is a detailed introduction to a data transmission method, electronic device, storage medium and program product provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A data transmission method, characterized in that: include: receiving target data to be transmitted from a source data end to a destination data end, wherein the source data end is connected to the destination data end via a plurality of transmission paths; matching a corresponding target information set for the target data from a plurality of information sets according to the stream information of the target data, wherein the stream information is used to indicate the stream to which the target data belongs in the data stream, and a mapping relationship is defined between the plurality of information sets and the plurality of transmission paths, wherein the mapping relationship is adjusted according to a change in transmission load on each of the transmission paths during data transmission between the source data end and the destination data end; detecting a target transmission path corresponding to the target information set from current target mapping relationships between the multiple information sets and the multiple transmission paths; The target data is transmitted to the destination data end through the target transmission path.

2. The data transmission method according to claim 1, characterized in that: The matching of the target data with a corresponding target information set from a plurality of information sets according to the tape-out information of the target data includes: Detecting a flow slice attribute of the target data based on a target time difference between a first moment and a second moment, and a time difference threshold of the first moment, wherein the first moment is a moment of receiving the target data, the second moment is a moment of receiving reference data, the reference data is data last received from the source data end to the destination data end before the target data is received, the time difference threshold is adjusted according to a change in transmission load on the multiple transmission paths during data transmission between the source data end and the destination data end, and the flow slice attribute is used to indicate a relationship between a flow slice to which the target data belongs and a flow slice to which the reference data belongs; The target information set corresponding to the target data is matched according to the tape-out attributes and the tape-out parameters of the target data, wherein the tape-out information includes the tape-out parameters and the tape-out attributes, and the tape-out parameters are used to indicate the transmission starting point, transmission end point and transmission protocol of the target data.

3. The data transmission method according to claim 2, characterized in that: The matching of the target data to the corresponding target information set according to the tape-out attributes and the tape-out parameters of the target data includes: In a case where the flow slice attribute is used to indicate that the flow slice to which the target data belongs is the same flow slice as the flow slice to which the reference data belongs, matching the target data with an information set corresponding to the reference flow slice as the target information set, wherein the reference flow slice is the flow slice to which the reference data belongs; In the case where the tape-throwing attribute is used to indicate that the tape-throwing to which the target data belongs is different from the tape-throwing to which the reference data belongs, the quintuple of the target data is substituted into a hash function to obtain data parameters of the target data, wherein the tape-throwing parameters include the quintuple; and the target information set is matched for the target data according to the data parameters.

4. The data transmission method according to claim 2, characterized in that: Before detecting the tape-out attribute of the target data according to the target time difference between the first moment and the second moment and the time difference threshold of the first moment, the method further includes: detecting path delay parameters and delay fluctuation parameters of the multiple transmission paths, wherein the path delay parameters are used to indicate the time taken to transmit data from the source data end to the destination data end through the multiple transmission paths, and the delay fluctuation parameters are used to indicate changes in the path delay parameters; The time difference threshold is adjusted according to the magnitude relationship between the path delay parameter and the path delay threshold, and the magnitude relationship between the delay fluctuation parameter and the delay fluctuation threshold.

5. The data transmission method according to claim 4, characterized in that: The adjusting the time difference threshold according to the magnitude relationship between the path delay parameter and the path delay threshold, and the magnitude relationship between the delay fluctuation parameter and the delay fluctuation threshold, includes: When the delay fluctuation parameter is greater than or equal to the delay fluctuation threshold, reducing the time difference threshold; When the delay fluctuation parameter is less than the delay fluctuation threshold and the path delay parameter is greater than or equal to the path delay threshold, reducing the time difference threshold; When the delay fluctuation parameter is smaller than the delay fluctuation threshold and the path delay parameter is smaller than the path delay threshold, the time difference threshold is increased.

6. The data transmission method according to claim 4, characterized in that: The detecting path delay parameters and delay fluctuation parameters of the plurality of transmission paths includes: detecting a transmission delay parameter of each transmission path to obtain a plurality of transmission delay parameters, wherein each transmission delay parameter is used to indicate the time taken to transmit data from the source data end to the destination data end through each transmission path; Calculating an average value of a plurality of the transmission delay parameters to obtain the path delay parameter; The delay fluctuation parameter is obtained by calculating a change rate of the path delay parameter relative to a historical delay parameter, wherein the historical delay parameter is an average value of a plurality of the transmission delay parameters obtained by the last calculation.

7. The data transmission method according to claim 1, characterized in that: Before detecting the target transmission path corresponding to the target information set from the target mapping relationships currently existing between the multiple information sets and the multiple transmission paths, the method further includes: detecting data load information of the plurality of transmission paths at a current moment to obtain a plurality of data load information, wherein each piece of data load information is used to indicate a transmission load condition on each of the transmission paths; Calculating a load change parameter for each transmission path based on the plurality of data load information and the plurality of historical load information to obtain the plurality of load change parameters, wherein each load change parameter is used to indicate a change in the transmission load of each transmission path, and the plurality of historical load information is detected at a historical moment before the current moment; In a case where the target change parameter is greater than or equal to a change parameter threshold, the mapping relationship is adjusted according to each of the data load information, wherein the plurality of load change parameters include the target change parameter.

8. The data transmission method according to claim 7, characterized in that: The adjusting the mapping relationship according to each piece of data load information includes: Determining the number of information sets corresponding to each transmission path according to a ratio between each piece of data load information and a total number of information sets currently corresponding to the plurality of transmission paths, thereby obtaining a plurality of path set numbers, wherein the ratio between each piece of path set numbers corresponding to each transmission path is equal to the ratio between each piece of data load information corresponding to each transmission path; determining adjustment information of the plurality of transmission paths according to the transmission paths and the number of path sets having a corresponding relationship, wherein the adjustment information is used to indicate the transmission paths and the information sets whose corresponding relationships in the mapping relationship need to be changed; The mapping relationship is adjusted according to the adjustment information.

9. The data transmission method according to claim 8, characterized in that: The adjusting the mapping relationship according to the adjustment information includes: Extracting an active information set from the plurality of information sets according to the adjustment information, and extracting a vacant transmission path from the plurality of transmission paths according to the adjustment information, wherein the active information set is the information set in the overflow transmission path, the actual set number corresponding to the overflow transmission path is greater than the path set number corresponding to the overflow transmission path, the actual set number is the number of information sets corresponding to the overflow transmission path before extracting the active information set, the number of active information sets is equal to the difference between the actual set number and the path set number corresponding to the overflow transmission path, and the vacant transmission path is the transmission path for which the number of corresponding information sets is less than the path set number corresponding to the vacant transmission path; establishing a change correspondence between the vacant transmission path and the active information set according to the vacant information of the vacant transmission path, wherein the vacant information is used to indicate a difference between the number of the information sets corresponding to the vacant transmission path and the number of the path sets corresponding to the vacant transmission path; The correspondence between the active information set and the overflow transmission path is deleted from the mapping relationship, and the changed correspondence is added to the mapping relationship.

10. The data transmission method according to claim 7, characterized in that: The detecting data load information of the plurality of transmission paths at a current moment to obtain the plurality of data load information includes: detecting a data load parameter of each of the transmission paths, wherein the data load parameter is used to indicate a load transmission quality of the transmission path; In a case where each of the transmission paths corresponds to one of the data load parameters, determining the plurality of data load parameters as a plurality of the data load information; In the case that each transmission path corresponds to a plurality of data load parameters, a weighted sum of the plurality of data load parameters corresponding to each transmission path is calculated to obtain a plurality of data load information.

11. The data transmission method according to claim 10, characterized in that: The calculating a weighted sum of the multiple data load parameters corresponding to each of the transmission paths to obtain the multiple data load information includes: Obtaining a first weight corresponding to a first parameter, a second weight corresponding to a second parameter, and a third weight corresponding to a third parameter, wherein the first parameter is used to indicate the time required for data to be transmitted from the original data end to the destination data end through the corresponding data transmission path, the second parameter is used to indicate the ratio of data that fails to be transmitted to the destination data end during the process of data transmission from the original data end to the destination data end through the corresponding data transmission path to the data transmitted from the original data end to the destination data end through the corresponding data transmission path, and the third parameter is used to indicate the ratio of the amount of data transmitted per unit time of the corresponding data transmission path to the maximum amount of data transmitted per unit time of the data transmission path, and the multiple data load parameters include the first parameter, the second parameter, and the third parameter; A weighted sum of the first parameter, the second parameter, and the third parameter of each transmission path is calculated according to the first weight, the second weight, and the third weight to obtain the multiple pieces of data load information.

12. The data transmission method according to claim 7, characterized in that: After calculating the load change parameter of each transmission path according to the plurality of data load information and the plurality of historical load information to obtain the plurality of load change parameters, the method further includes: detecting a magnitude relationship between each of the load change parameters and a first change threshold, and a magnitude relationship between each of the load change parameters and a second change threshold, wherein the first change threshold is greater than the second change threshold; When it is detected that the reference change parameter is greater than the first change threshold, reducing a sampling time interval, wherein the multiple load change parameters include the reference change parameter, and the sampling time interval is the time interval between two adjacent detection moments of the data load information; When it is detected that the reference change parameter is less than the second change threshold, the sampling time interval is increased.

13. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the data transmission method according to any one of claims 1 to 12 when executing the computer program.

14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the data transmission method according to any one of claims 1 to 12.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the data transmission method according to any one of claims 1 to 12 are implemented.

Citation Information

Patent Citations

  • Load balancing method and device and equipment

    CN107634912A

  • Data stream segmentation method, device and equipment and computer readable storage medium

    CN117579543A