Data transmission method and device and related equipment
By adopting data disk-based data reading method and configuration information data transmission method between data centers, the problems of low data transmission efficiency and insufficient security in the prior art are solved, and efficient and secure massive data transmission is achieved.
Patent Information
- Application Number
- CN202311315139.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-10
- Publication Date
- 2025-04-11
AI Technical Summary
In the prior art, data transmission efficiency between data centers is low, which is difficult to meet the needs of massive data transmission, and file-based data transmission methods have security and efficiency problems.
The data reading method based on the data disk is adopted. The sending device obtains data transmission configuration information and sends data packets to the receiving device based on the network address of the receiving device. The load of the data packet includes the data to be transmitted. The packet header includes the identification of the data disk and the data offset to ensure the security and efficiency of data transmission.
By shortening the data reading path, reducing the number of addressing times and time, improving data transmission speed, enhancing the security of data transmission, and meeting the needs of efficient massive data transmission between data centers.
Smart Images

Figure CN119814711A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data transmission method, device and related equipment. Background Art
[0002] Data transmission is required between data centers established in different locations in order to fully mine the data and efficiently utilize the computing resources of the data centers.
[0003] Data centers can transmit data through the network transmission path built between the data centers. Currently, data transmission between data centers is based on files. The sending device of the data center uses the file system to read the file data. The sending device encrypts the file data and splits or aggregates the file data based on the data volume of the file data to generate data packets. The sending device sends the data packet to the receiving device of other data centers through the transmission path. The file-based data transmission method has low efficiency in transmitting data and is difficult to meet the needs of data transmission between data centers. Summary of the invention
[0004] In view of this, the present application provides a data transmission method, apparatus and related equipment to improve the efficiency of data transmission between data centers.
[0005] In the first aspect, the present application provides a data transmission method. The method is applied to a sending device of a first data center. The sending device obtains data transmission configuration information. The data transmission configuration information includes a network address of a receiving device and address information of data to be transmitted. The data to be transmitted is data that the first data center needs to transmit. The address information of the data to be transmitted is used to indicate the storage address information of the data to be transmitted on a data disk. The sending device reads the data to be transmitted from the data disk of the sending device based on the address information, and sends a first data packet to the receiving device of the second data center based on the network address of the receiving device. The first data packet is obtained by encapsulating the data to be transmitted by the sending device. The sending device and the receiving device are, for example, data port devices. The sending device adopts a data reading method based on a data disk, which shortens the path of reading data, reduces the number of addressing times required for reading data, reduces the time of reading data, and improves the efficiency of reading the data to be transmitted compared to the data reading method based on a file. In addition, the data reading method based on the data disk only focuses on the data to be transmitted stored in the data disk, and shields the underlying data storage method. The data to be transmitted read by the sending device does not have upper-level semantics, and it is difficult to parse based on the upper-level semantics to ensure the security of data transmission.
[0006] In some possible implementations, an unreliable transmission protocol is used between the sending device and the receiving device to transmit the first data packet, thereby increasing the speed of data transmission between data centers and reducing the overhead required for data transmission.
[0007] In some possible implementations, the amount of data to be transmitted between the sending device and the receiving device is relatively large. The sending device obtains multiple first data packets based on the encapsulation of the data to be transmitted. The payload of the first data packet includes the first data in the transmission data. The header of the first data packet includes an identifier of the data disk storing the first data and an offset of the first data in the data disk storing the first data. The information included in the header of the first data packet is used to determine the storage location of the first data in the data disk of the sending device. In this way, it is convenient for the receiving device to determine the storage location of the first data included in the first data packet lost during the data transmission process in the data disk of the sending device, so as to realize the retransmission of the lost data.
[0008] In some possible implementations, after completing a transmission of the data to be transmitted, the receiving device determines whether all the data to be transmitted are successfully received. In the case where part of the data to be transmitted is lost, the sending device also obtains the lost data information sent by the receiving device. The lost data information includes the identifier of the data disk of the sending device storing the lost data and the offset of the lost data in the data disk storing the lost data. Based on the lost data information, the sending device can re-read the lost data from the data disk of the sending device, and encapsulate the lost data to obtain a second data packet. The sending device sends the second data packet to the receiving device to achieve retransmission of the lost data, thereby ensuring that the receiving device can obtain all the data to be transmitted.
[0009] In some possible implementations, the sending device has a data processor DPU. The sending device reads the data to be transmitted from the data disk of the sending device based on the address information through the data processor DPU of the sending device. The DPU directly reads the data to be transmitted stored in the data disk through the bus, which can shorten the path of reading and writing data, improve the efficiency of reading data, and thus increase the speed of data transmission between data centers. In addition, by using the DPU to read the data to be transmitted, there is no need for the CPU to process the data to be transmitted, saving CPU resources, and effectively alleviating the problem of low efficiency of data transmission between data centers due to limited CPU resources of the sending device.
[0010] In some possible implementations, the sending device and the receiving device are connected via a dedicated line. The sending device sends data packets to the receiving device via the dedicated line. The dedicated line can achieve high-speed, secure and reliable data transmission.
[0011] In some possible implementations, the data transmission configuration information obtained by the sending device also includes data transmission metadata. The data transmission metadata is used to describe data transmission requirements. Before sending the first data packet to the receiving device, the sending device first establishes a connection with the receiving device based on the network address of the receiving device and negotiates with the receiving device. The sending device sends the data transmission metadata to the receiving device so that the receiving device determines whether the receiving device meets the data transmission requirements based on the data transmission metadata. The sending device obtains the negotiation result fed back by the receiving device. The negotiation result indicates that the receiving device meets the data transmission requirements, or indicates the transmission parameters supported by the receiving device. The sending device determines the transmission parameters for sending data based on the negotiation result, which can reduce the probability of data transmission failure.
[0012] In some possible implementations, the transmission parameter includes a maximum transmission unit (MTU). The sending device reads a data block from a data disk of the sending device based on the address information. The size of the data block is determined based on the MTU. The sending device directly performs a packetization operation on the read data block to obtain a first data packet. In this way, there is no need to further split or aggregate the read data to be transmitted, which facilitates the packetization operation, improves the packetization rate, and further improves the efficiency of data transmission.
[0013] In some possible implementations, the storage address information includes an identifier of a data disk of the sending device storing the data to be transmitted, and a starting address and length of the data to be transmitted in the data disk.
[0014] In some possible implementations, the data to be transmitted is stored in multiple data disks of the sending device. The address information of the data to be transmitted includes the identifier of each data disk included in the multiple data disks, and the starting address and length of each data disk storing the data to be transmitted. The sending device reads the data to be transmitted from the multiple data disks based on the address information of the data to be transmitted.
[0015] In some possible implementations, the sending device obtains the data to be transmitted from other devices and stores the data to be transmitted in a data disk of the sending device. The other data may be, for example, a storage device included in the first data center and one or more devices in the sending devices included in other data centers other than the first data center. The sending device aggregates the data to be transmitted from other devices to facilitate centralized transmission of the data to be transmitted.
[0016] In some possible implementations, if the sending device determines that the transmission of the data to be transmitted is completed, the data to be transmitted stored in the data disk of the sending device is deleted to allocate storage resources for subsequent data transmission services.
[0017] In some possible implementations, the sending device also has the ability to maintain a path between the sending device and the receiving device. The sending device obtains device configuration information. The device configuration information includes the network address of the sending device, the network address of the receiving device, and the network addresses of the network devices included in the path between the sending device and the receiving device. The sending device maintains the path between the sending device and the receiving device based on the device configuration information. In this way, the sending device can manage the path and facilitate the determination of an available path.
[0018] As an example, the sending device establishes connections with the receiving device and the network device based on the device configuration information, and obtains the device status information of the receiving device and the device status information of the network device. The sending device determines whether the path between the sending device and the receiving device is available based on the device status information of the receiving device and the device status information of the network device, and maintains the path status between the sending device and the receiving device, so as to facilitate timely determination of unavailable paths, select available paths to transmit data, and improve the probability of successful data transmission.
[0019] In some possible implementations, the data transmission configuration information further includes a data transmission trigger condition. The data transmission trigger condition is a condition that triggers the sending device to send the first data packet. In response to satisfying the data transmission trigger condition, the sending device sends the first data packet to the receiving device based on the network address of the receiving device. The user can configure the data transmission trigger condition to achieve flexible data transmission between data centers.
[0020] In some possible implementations, the number of data transmission paths between the sending device and the receiving device is one or more. The sending device can send the first data packet to the receiving device through multiple data transmission paths, further shortening the data transmission time and improving the data transmission efficiency.
[0021] In a second aspect, the present application provides a data transmission method. The method is applied to a receiving device of a second data center. The receiving device obtains a first data packet sent by a sending device. The payload of the first data packet includes the first data in the data to be transmitted. The header of the first data packet includes an identifier of a data disk of the sending device storing the first data and an offset of the first data. Based on the header of the first data packet, the receiving device can determine the storage location of the first data on the data disk of the sending device, which facilitates determining the storage location of the lost data on the data disk of the sending device and realizes the subsequent retransmission of the lost data. The receiving device stores the first data included in the first data packet to the data disk of the receiving device.
[0022] In some possible implementations, the receiving device stores the first data in a storage space indicated by the offset of the first data in a data disk of the receiving device.
[0023] In some possible implementations, the receiving device determines the lost data information based on the data to be transmitted stored in the data disk of the receiving device. The lost data information includes the identifier of the data disk of the sending device storing the lost data and the offset of the lost data. The lost data information is used to determine the storage location of the lost data in the data disk of the sending device. The receiving device sends the lost data information to the sending device so that the sending device retransmits the lost data based on the lost data information to ensure that the receiving device can obtain the complete data to be transmitted.
[0024] In some possible implementations, the receiving device maintains a bitmap. Each data bit included in the bitmap corresponds to each first data packet. The value of the data bit is used to indicate whether the first data packet corresponding to the data bit is received. The receiving device determines the lost first data packet based on the bitmap, and determines the lost data information based on the lost first data packet.
[0025] In some possible implementations, the receiving device further negotiates with the sending device. The receiving device obtains the data transmission metadata sent by the sending device. The data transmission metadata is used to describe the data transmission requirements. The receiving device determines whether the receiving device meets the data transmission requirements based on the data transmission metadata. The receiving device sends a negotiation result to the sending device. The negotiation result is used to indicate that the receiving device meets the data transmission requirements, or indicates the transmission parameters supported by the receiving device. The sending device determines the transmission parameters for sending data based on the negotiation result, and transmits the data packet based on the transmission parameters, which can reduce the probability of data transmission failure.
[0026] In some possible implementations, after determining that the data to be transmitted is completed, the receiving device sends the data to be transmitted to the storage device included in the second data center so that the data can be processed based on the storage device. The receiving device deletes the data to be transmitted stored in the data disk of the receiving device so as to allocate storage resources for subsequent data transmission services.
[0027] In a third aspect, the present application provides a data transmission device, which is applied to a sending device of a first data center, and includes:
[0028] an acquisition module, used to acquire data transmission configuration information, the data transmission configuration information including a network address of a receiving device and address information of data to be transmitted, the address information being used to indicate storage address information of the data to be transmitted on a data disk, the data disk being a data disk of the sending device, the data to be transmitted being data that needs to be transmitted by the first data center, and the receiving device belonging to a second data center;
[0029] A reading module, configured to read the data to be transmitted from a data disk of the sending device based on the address information;
[0030] The sending module is used to send a first data packet to the receiving device based on the network address of the receiving device, where the first data packet is obtained by encapsulating the data to be transmitted.
[0031] In some possible implementations, an unreliable transmission protocol is used between the sending device and the receiving device to transmit the first data packet.
[0032] In some possible implementations, the payload of the first data packet includes the first data in the data to be transmitted, and the header of the first data packet includes an identifier of a data disk storing the first data and an offset of the first data in the data disk storing the first data.
[0033] In some possible implementations, the acquisition module is further used to acquire lost data information sent by the receiving device, where the lost data information includes an identifier of a data disk storing lost data and an offset of the lost data in the data disk storing lost data;
[0034] The sending module is further used to send a second data packet to the receiving device, and the payload of the second data packet includes the lost data read from the data disk of the sending device based on the lost data information.
[0035] In some possible implementations, the reading module is specifically configured to read the data to be transmitted from the data disk of the sending device based on the address information through the data processor DPU of the sending device.
[0036] In some possible implementations, the sending module is specifically configured to send the first data packet to the receiving device through a dedicated line between the sending device and the receiving device based on the network address of the receiving device.
[0037] In some possible implementations, the data transmission configuration information further includes data transmission metadata, where the data transmission metadata is used to describe data transmission requirements, and before sending the first data packet to the receiving device based on the network address of the receiving device, the sending module is further used to send the data transmission metadata to the receiving device based on the network address of the receiving device;
[0038] The receiving module is further used to obtain the negotiation result of the receiving device, and determine the transmission parameters of the sent data packet based on the negotiation result.
[0039] In some possible implementations, the transmission parameters of the data packet include a maximum transmission module MTU, and the reading module is specifically used to read a data block from a data disk of the sending device based on the address information, the data block includes the first data, the size of the data block is determined based on the MTU, and the first data packet is obtained by encapsulating a data block including the first data.
[0040] In some possible implementations, the storage address information includes an identifier of a data disk of the sending device storing the data to be transmitted, and a starting address and length of the data to be transmitted in the data disk.
[0041] In some possible implementations, the data to be transmitted are respectively stored in multiple data disks of the sending device, and the address information of the data to be transmitted includes the identifier of each data disk included in the multiple data disks, and the starting address and length of each data disk storing the data to be transmitted.
[0042] In some possible implementations, the acquisition module is further used to acquire the data to be transmitted, where the data to be transmitted is sent by one or more devices including a storage device included in the first data center and a sending device included in other data centers except the first data center;
[0043] The device also includes:
[0044] The storage module is also used to store the data to be transmitted in the data disk of the sending device.
[0045] In some possible implementations, the device further includes:
[0046] The processing module is used to delete the data to be transmitted stored in the data disk if it is determined that the transmission of the data to be transmitted is completed.
[0047] In some possible implementations, the acquisition module is used to acquire device configuration information, where the device configuration information includes a network address of the sending device, a network address of the receiving device, and a network address of a network device included in a path between the sending device and the receiving device;
[0048] The device also includes:
[0049] A management module is used to maintain a path between the sending device and the receiving device based on the device configuration information.
[0050] In some possible implementations, the management module is specifically used to establish connections with the receiving device and the network device, respectively, based on the device configuration information; obtain device status information of the receiving device and device status information of the network device; and determine whether the path between the sending device and the receiving device is available based on the device status information of the receiving device and the device status information of the network device.
[0051] In some possible implementations, the data transmission configuration information further includes a data transmission triggering condition;
[0052] The sending module is specifically configured to send a first data packet to the receiving device based on the network address of the receiving device in response to satisfying the data transmission trigger condition.
[0053] In some possible implementations, the data transmission configuration information also includes a network address of a forwarding device included in the data transmission path, and the sending module is specifically used to send the first data packet to the forwarding device based on the network address of the forwarding device, and the forwarding device is used to send the first data packet to the receiving device based on the network address of the receiving device.
[0054] In some possible implementations, the number of data transmission paths between the sending device and the receiving device is one or more.
[0055] In a fourth aspect, the present application provides a data transmission device, which is applied to a receiving device of a second data center, and includes:
[0056] an acquisition module, configured to acquire a first data packet sent by a sending device, wherein a payload of the first data packet includes first data in the data to be transmitted, and a header of the first data packet includes an identifier of a data disk storing the first data and an offset of the first data;
[0057] The storage module is used to store the first data included in the first data packet to the data disk of the receiving device.
[0058] In some possible implementations, the storage module is specifically configured to store the first data in a storage space indicated by an offset of the first data in a data disk of the receiving device.
[0059] In some possible implementations, the device further includes:
[0060] A processing module, configured to determine lost data information based on the data to be transmitted stored in the data disk of the receiving device, wherein the lost data information includes an identifier of the data disk of the sending device storing the lost data and an offset of the lost data;
[0061] A sending module is used to send the lost data information to the sending device.
[0062] In some possible implementations, the processing module is specifically used to determine the lost first data packet based on a bitmap, wherein each data bit included in the bitmap corresponds to each first data packet, and the value of the data bit is used to indicate whether the first data packet corresponding to the data bit is received; and determine the lost data information based on the lost first data packet.
[0063] In some possible implementations, the acquisition module is further used to acquire data transmission metadata sent by the sending device, where the data transmission metadata is used to describe data transmission requirements;
[0064] The device also includes:
[0065] The sending module is used to send the negotiation result to the sending device, and the negotiation result is used to indicate that the receiving device meets the data transmission requirement.
[0066] In some possible implementations, the device further includes:
[0067] The sending module is used to send the data to be transmitted to the storage device included in the second data center, and delete the data to be transmitted stored in the data disk of the receiving device.
[0068] In a fifth aspect, the present application provides a system, comprising a sending device of a first data center and a receiving device of a second data center, wherein the sending device is used to execute the method described in the first aspect and any possible implementation of the first aspect, and the receiving device is used to execute the method described in the second aspect and any possible implementation of the second aspect.
[0069] In a sixth aspect, the present application provides a computer-readable storage medium, which stores instructions, and when the computer-readable storage medium is executed on a computing device, the computing device executes the method described in the first aspect and any possible implementation of the first aspect, or executes the method described in the second aspect and any possible implementation of the second aspect.
[0070] In the seventh aspect, the present application provides a computer program product comprising instructions, which, when executed on at least one computing device, enables the at least one computing device to execute the method described in the first aspect and any possible implementation of the first aspect, or execute the method described in the second aspect and any possible implementation of the second aspect.
[0071] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Figure 1 A network architecture of a data transmission method provided in an embodiment of the present application;
[0073] Figure 2 A schematic diagram of an application scenario provided for an embodiment of the present application;
[0074] Figure 3 A network architecture of a data transmission method provided in an embodiment of the present application;
[0075] Figure 4 A flowchart of a data transmission method provided in an embodiment of the present application;
[0076] Figure 5 A schematic diagram of reading data from a data disk based on a DPU provided in an embodiment of the present application;
[0077] Figure 6 A schematic diagram of the structure of a data packet provided in an embodiment of the present application;
[0078] Figure 7 A schematic diagram of data transmission provided in an embodiment of the present application;
[0079] Figure 8 A schematic diagram of a negotiation process between a sending device and a receiving device provided in an embodiment of the present application;
[0080] Fig. 9 A schematic diagram of configuring an IP address of a network device provided in an embodiment of the present application;
[0081] Fig.10 A schematic diagram of the structure of a data transmission device provided in an embodiment of the present application;
[0082] Fig.11 A schematic diagram of the structure of another data transmission device provided in an embodiment of the present application;
[0083] Fig.12 A schematic diagram of the structure of a system provided in an embodiment of the present application;
[0084] Fig.13 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0085] The scheme in the embodiments provided in this application will be described below in conjunction with the drawings in this application.
[0086] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances. This is just a way of distinguishing objects with the same attributes when describing the embodiments of this application.
[0087] As a data integration system, a data center is usually composed of components such as computing systems, storage systems, communication systems, network equipment, environmental control systems, and security systems. It is often used for computing and storing core business at the enterprise level, or computing and storing enterprise organization operation data. At present, data centers are established in different regions to meet the needs of enterprises or institutions in various regions for data processing. Data needs to be transmitted between different data centers, and the transmitted data needs to be analyzed and processed. On the one hand, it can fully analyze the data and mine the value of the data. On the other hand, it can realize the effective use of the computing resources of the data center.
[0088] Massive amounts of data need to be transmitted between data centers. The efficiency of data transmission is low when using offline transmission. For example, data center A exports the data to be transmitted to a hard disk, and then moves the hard disk to data center B. Data center B imports the data from the hard disk. The process of importing data into the hard disk, exporting data from the hard disk, and moving the hard disk all takes a lot of time. In addition, data loss and data corruption may occur during the transmission process. The offline data transmission method is difficult to meet the needs of data transmission between data centers. However, using the network between data centers to transmit data has the following problems: (1) The bandwidth of the transmission link between data centers is limited by the network protocol and has an upper limit on bandwidth utilization. The data transmission rate is limited by the upper limit on bandwidth utilization. (2) The data transmission method based on file granularity requires reading the file data to be transmitted from the storage device according to the storage address of the file, and the time cost of reading data is high. In addition, file data has file semantics and is easy to be parsed, which affects the security of data transmission. In addition, before transmitting data, the file data needs to be encapsulated into data packets. In the process of encapsulating the data packets, the read file data needs to be split or aggregated to meet the size of the encapsulated data packets. The process of processing file data encapsulation data packets is inefficient, resulting in slow data transmission. (3) The sending device needs to use a large amount of CPU resources to process the data to be sent. For example, the sending device needs to use the file index to read the file data to be transmitted from the disk, and perform operations such as encryption and fragmentation on the file data. These operations all require the use of CPU resources. When the sending device needs to send massive amounts of data, even if the bandwidth utilization rate of the transmission link is large, the CPU resources of the sending device are difficult to meet the needs of processing and sending data. The CPU resources of the sending device limit the data transmission rate, resulting in low efficiency of data transmission between data centers.
[0089] Based on this, an embodiment of the present application provides a data transmission method. The method is applied to a sending device of a first data center and a receiving device of a second data center. The sending device obtains data transmission configuration information. The data transmission configuration information includes a network address of a receiving device and address information of data to be transmitted. The address information is used to indicate storage address information of data to be transmitted on a data disk. The data to be transmitted is pre-stored in the data disk of the sending device. The sending device pre-integrates the data to be transmitted by the first data center, that is, the data to be transmitted, and stores it in the data disk of the sending device, so as to facilitate reading the data to be transmitted from the data disk. The sending device reads the data to be transmitted from the data disk based on the address information. The sending device uses the data disk or the data block included in the data disk as the granularity, and adopts a method of reading data based on the data disk to read the data to be transmitted. The sending device reads the data to be transmitted based on the data disk, which can shield the underlying data storage method, reduce the number of times data is read from the data disk, and reduce the time overhead of reading data. In addition, the data to be transmitted obtained based on the data disk does not have upper-level semantics, is difficult to be parsed, and can ensure the security of data transmission. The sending device sends a first data packet to the receiving device based on the network address of the receiving device. The first data packet is obtained by encapsulating the data to be transmitted. The receiving device obtains the first data packet, and stores the first data included in the first data packet into a data disk of the receiving device.
[0090] In a possible implementation, the sending device and the receiving device are data port devices included in a data center. The data port device is used to provide data transmission services between data centers, and the data port device includes a storage medium that can store data to be transmitted. The data transmission method provided in the embodiment of the present application can be applied to Figure 1 and Figure 3 The network architecture shown in Figure 1. Figure 1 As shown, the network includes multiple data centers, namely data center A, data center B, data center C and data center D. Each data center includes a data port device and multiple storage devices. Each data center includes a storage device connected to the data port device of the data center.
[0091] The storage device is, for example, an enterprise-level storage device, which is composed of a data processor (DPU), a storage medium, front-end and back-end cards, and other devices, and can provide storage services.
[0092] The data port device can be used as a sending device to send data to be transmitted. Alternatively, the data port device can be used as a receiving device to obtain data to be transmitted sent by other devices. In actual application, the above data transmission method can be executed by different modules in the data port device. As an example, see Figure 2As shown, this figure is a schematic diagram of an application scenario provided by an embodiment of the present application. The data port device 200 is a sending device. The data port device 201 is a receiving device. The data port device 200 includes an acquisition module, a reading module and a sending module. Among them, the acquisition module is used to obtain data transmission configuration information. The data transmission configuration information includes the network address of the receiving device and the address information of the data to be transmitted. The reading module is used to read the data to be transmitted from the data disk of the data port device based on the address information. The sending module is used to send a first data packet encapsulated from the data to be transmitted to the receiving device based on the network address of the receiving device. The data port device 201 includes an acquisition module and a storage module. The acquisition module is used to obtain a first data packet sent by the sending device. The storage module is used to store the first data included in the first data packet to the data disk of the receiving device.
[0093] Data port devices are connected through transmission paths. Figure 1 As shown, data port device A is connected to data port device B, data port device C and data port device D respectively, data port device C is connected to data port device B, and data port device D is connected to data port device B.
[0094] The embodiment of the present application does not limit the connection method between the data port devices of different data centers. In one possible implementation, see 1, the data port devices are connected via a wide area network. In another possible implementation, see Figure 3 As shown in the figure, data port devices can be connected through dedicated lines. Dedicated lines are dedicated networks for data transmission established based on the network resources of operators, which can ensure the security, high speed and reliability of business transmission. Data port devices access dedicated lines through wavelength division devices. Wavelength division devices are devices used to provide transmission, multiplexing, routing, management, monitoring and protection functions of signals based on optical channels. Data port devices can be directly connected to wavelength division devices or connected to wavelength division devices through routing devices. Wavelength division devices are connected to other devices through routing devices, and can obtain more data streams through routing devices, making it easier to fully utilize dedicated line resources to transmit data.
[0095] Data can be transmitted between data centers through a single path. For example, take the data transmission between data center A and data center B as an example. Data port device A can transmit data through one or more of the following three paths. The three paths are: the path from data port device A to data port device B, the path from data port device A to data port device C and then to data port device B, and the path from data port device A to data port device D and then to data port device B. Take data port device A as a sending device, data port device B as a receiving device, and use the path from data port device A to data port device B to transmit data as an example. Data port device A obtains the data to be transmitted from one or more storage devices in data center A, and stores the data to be transmitted in its own data disk. In this way, data port device A, that is, the sending device, can obtain the data to be transmitted stored in the storage device included in data center A, and realize the integration of the data to be transmitted in data port device A, so that data port device A can send the data to be transmitted to data port device B in a centralized manner, without the need to transmit data separately based on the transmission needs of different data, thereby reducing the number of data transmissions. Data port device A obtains data transmission configuration information, and reads the data to be transmitted from the data disk of data port device A based on the data transmission configuration information. Data port device A encapsulates the data to be transmitted and obtains a data packet. Data port device A sends a data packet to data port device B. Data port device B obtains the data packet, parses the data packet to obtain the data to be transmitted. Data port device B stores the obtained data to be transmitted in its own data disk. After determining that the transmission of the data to be transmitted is completed, data port device B sends the data to be transmitted to the storage device of data center B so as to use the data stored in the storage device for data processing.
[0096] In addition, data can be transmitted between data centers through multiple paths. Still taking the data transmission between data center A and data center B as an example, data port device A can transmit data through one or more of the following three paths. The three paths are: the path from data port device A to data port device B, the path from data port device A to data port device C and then to data port device B, and the path from data port device A to data port device D and then to data port device B. Take the path from data port device A to data port device B, and the path from data port device A to data port device C and then to data port device B as an example of data transmission. Data port device A is a sending device. Data port device A obtains the data to be transmitted from the storage device of data center A, and stores the data to be transmitted in its own data disk. Data port device A obtains data transmission configuration information, and based on the data transmission configuration information, uses the data to be transmitted from the data disk of data port device A. Data port device A encapsulates the data to be transmitted to obtain multiple data packets. Data port device A sends a part of the number of data packets to data port device B, and sends another part of the number of data packets to data port device C. After data port device C obtains the data packet, it parses the data packet to obtain the data to be transmitted. Data port device C stores the obtained data to be transmitted in its own data disk. Data port device C then acts as a sending device to encapsulate the data to be transmitted stored in the data disk to obtain a data packet. Data port device C sends a data packet to data port device B. Data port device B obtains the data packets sent by data port device A and data port device C respectively. Data port device B parses the data packet to obtain the data to be transmitted. Data port device B stores the obtained data to be transmitted in its own data disk. After determining that the transmission of the data to be transmitted is completed, data port device B sends the data to be transmitted to storage device B of data center B for subsequent data processing.
[0097] It should be noted that the embodiments of the present application provide Figure 1 and Figure 3 It is only an example of a scenario for implementing the network architecture provided in the embodiments of the present application. The embodiments of the present application do not limit the specific scenarios in which the data transmission method provided in the embodiments of the present application is applied.
[0098] Next, various non-limiting specific implementations of the data transmission method provided in the embodiments of the present application are described in detail.
[0099] See also Figure 4 As shown in FIG. 1 , this figure is a flow chart of a data transmission method provided in an embodiment of the present application. The method is applied to a sending device of a first data center and a receiving device of a second data center. The sending device is, for example, a data port device of the first data center. The receiving device is, for example, a data port device of the second data center. Figure 1 or Figure 3 Taking the network architecture shown as an example, taking the path of data port device A-data port device B to send data from data center A to data center B as an example, the sending device is, for example, data port device A, and the receiving device is data port device B. Taking the path of data port device A-data port device C-data port device B to send data from data center A to data center B as an example, the sending device is, for example, data port device A, and the receiving device is data port device C, or the sending device is data port device C, and the receiving device is data port device B.
[0100] See also Figure 4 , the method may include S401-S410.
[0101] S401: The sending device obtains data transmission configuration information.
[0102] The data transmission configuration information is used to instruct the sending device to send the data to be transmitted. The data transmission configuration information can be generated by the management plane of the sending device, or generated by the management device of the sending device and sent to the sending device. The data transmission configuration information can be automatically triggered based on the preset data transmission requirements, or triggered by the user through the management plane of the sending device, or through the management device of the sending device.
[0103] The data transmission configuration information includes the network address of the receiving device and the address information of the data to be transmitted.
[0104] The network address of the receiving device is, for example, an Internet Protocol (IP) address of the receiving device. The network address of the receiving device can be configured by a user through a management plane of the sending device or through a management device of the sending device.
[0105] The data to be transmitted is pre-stored in the data disk of the sending device. The data disk of the sending device is, for example, a disk included in the storage array of the sending device. The embodiment of the present application does not limit the source of the data to be transmitted. In one possible implementation, the data to be transmitted is copied from the storage device of the first data center to the data disk of the sending device by means of distributed file system scheduling, network file system (NFS) remote copy or offline copy. In another possible implementation, the sending device obtains the data to be transmitted sent by the data port device of other data centers. For example Figure 1 or Figure 3In the scenario shown, taking the path from data port device A to data port device C and then to data port device B as an example, data is sent from data center A to data center B. Data port device C first obtains the data to be transmitted sent by data port device A, and then acts as a sending device to send the data to be transmitted to data port device B. After the sending device obtains the data to be transmitted, it stores it in the data disk so that the data to be transmitted can be read from the data disk when the data to be transmitted needs to be transmitted. In this way, the data to be transmitted can be integrated, making it easier for the sending device to send data to the receiving device in a centralized manner.
[0106] The data transmission configuration information includes address information of the data to be transmitted. The address information is used to indicate the storage location of the data to be transmitted in the data disk. The address information of the data to be transmitted is used to indicate the storage address information of the data to be transmitted on the data disk. As an example, the address information of the data to be transmitted includes the identifier of the data disk storing the data to be transmitted, and the starting address and length of the data to be transmitted in the data disk. The identifier of the data disk storing the data to be transmitted is the unique identifier of the data disk. Based on the address information, the sending device can read the data to be transmitted from the data disk. In some possible implementations, the data to be transmitted is stored in a data disk of the sending device. The address information of the data to be transmitted includes the identifier of the data disk and the starting address and length of the data to be transmitted in the data disk. In other possible implementations, the data to be transmitted is stored in multiple data disks of the sending device respectively. The address information of the data to be transmitted includes the identifier of each data disk included in the multiple data disks, and the starting address and length of each data disk storing the data to be transmitted.
[0107] S402: The sending device reads the data to be transmitted from the data disk of the sending device based on the address information.
[0108] The sending device determines the data disk storing the data to be transmitted based on the identifier of the data disk storing the data to be transmitted included in the address information, and determines the storage location of the data to be transmitted in the data disk based on the starting address and length of the data to be transmitted in the data disk. The sending device reads the data to be transmitted from the data disk.
[0109] The method of reading the data to be transmitted based on the data disk has a high reading and writing efficiency. Compared with the data transmission method based on the file granularity, there is no need to address multiple times to obtain the file data. Only a few addressing times are needed to read the data to be transmitted stored on the data disk, reducing the time overhead of reading data. In addition, the method of reading the data to be transmitted based on the data disk can shield the underlying data storage organization method, only focusing on the data stored in the data disk, and is not affected by the storage organization method such as file storage, block storage or object storage on the reading of data.
[0110] In addition, the data to be transmitted obtained by reading the disk block has higher security. The data to be transmitted obtained by reading the disk block does not have upper-level semantics and cannot be parsed, thereby ensuring data security.
[0111] In a possible implementation, the sending device has a DPU. The sending device reads the data to be transmitted from the data disk based on the address information through the DPU. Figure 5 As shown, this figure is a schematic diagram of a method for reading data from a data disk based on a DPU provided in an embodiment of the present application. The DPU directly reads data stored in a solid-state disk (SSD) through a bus. The sending device directly reads data from the data disk based on the DPU, without CPU processing, saving CPU resources, and can effectively alleviate the problem of low efficiency of data transmission between data centers due to limited CPU resources of the sending device. In addition, by directly reading data from the data disk based on the DPU, the path for reading and writing data can be shortened, the efficiency of reading data can be improved, and the speed of data transmission between data centers can be increased.
[0112] The embodiments of the present application do not limit the manner in which the sending device reads the data to be transmitted from the data disk. As an example, the sending device reads a data block from the data disk of the sending device. The data block includes the first data in the data to be transmitted. The size of the data block is determined based on the maximum transmission unit (Maximum Transmission Unit, MTU) included in the transmission parameters of this data transmission. The size of the data block is less than or equal to the MTU. The MTU can be configured in advance through data transmission configuration information, or determined by negotiation between the sending device and the receiving device.
[0113] S403: The sending device sends a first data packet to the receiving device based on the network address of the receiving device.
[0114] The sending device encapsulates the acquired data to be transmitted to obtain a first data packet. The data to be transmitted is usually large in size, and the data to be transmitted is divided into a plurality of first data, and the first data are respectively encapsulated to obtain a plurality of first data packets.
[0115] The payload of each first data packet includes the first data in the data to be transmitted. The header of the first data packet includes the identifier of the data disk storing the first data and the offset of the first data in the data disk.
[0116] As an example, the header of the first data packet includes a destination address, an identifier of a data disk storing the first data, and an offset of the first data in the data disk. Figure 6As shown, this figure is a schematic diagram of the structure of a data packet provided in an embodiment of the present application. The destination address is the network address of the receiving device. The identifier of the data disk storing the first data is, for example, the logical unit number (Logical Unit Number Identity document, LUN ID) of the data disk. The packet header can also encapsulate other information, which is not limited in the embodiment of the present application.
[0117] When the sending device reads a data block including the first data based on the MTU, the sending device encapsulates each read data block to obtain a first data packet. In this way, the read data block including the first data can be directly packaged without splitting or aggregating the read data to be transmitted, which facilitates the package operation, improves the package rate, and thus improves the efficiency of data transmission. The sending device sends the first data packet to the receiving device. In the case of multiple first data packets, the sending device sends each first data packet in sequence according to the order in which the first data included in the first data packet is stored in the data disk. As an example, see Figure 7 As shown, this figure is a schematic diagram of a data transmission provided by an embodiment of the present application. The sending device encapsulates 12 data packets based on the data block including the first data read from the data disk. The header of the 12 data packets includes the identifier of the data disk as the LUN ID of the data disk and the offset of the first data in the data disk. Among them, the sequence number of each data packet is the sequence number of the sending order of the data packet. The sending device sends the data packets to the receiving device in sequence.
[0118] Between the sending device and the receiving device, a data packet is transmitted through an unreliable transmission protocol. The embodiment of the present application does not limit the specific type of the unreliable transmission protocol, for example, the User Datagram Protocol (UDP) or the unreliable connection (UC) mode of the Remote Direct Memory Access (RDMA) protocol. The use of an unreliable transmission protocol to transmit data packets does not require confirmation or retransmission during the transmission of data packets, nor does it require caching of the data to be transmitted, which can improve the bandwidth utilization between the sending device and the receiving device. The data transmission path between the sending device and the receiving device can be pre-configured based on the data transmission configuration information. In a possible implementation, the data transmission configuration information also includes the network address of the forwarding device included in the data transmission path. The sending device sends a first data packet to the forwarding device so that the forwarding device sends the first data packet to the receiving device based on the network address of the receiving device. The forwarding device is, for example, a routing device, or a wavelength division device, which is not limited in the embodiment of the present application.
[0119] The number of data transmission paths is one or more. The sending device can allocate the number of first data packets transmitted through different data transmission paths based on data transmission requirements of different data transmission paths.
[0120] In addition, the user can configure the data transmission trigger condition through the management plane of the sending device. The data transmission trigger condition is a condition that triggers the sending device to send the data to be transmitted. As an example, the data transmission trigger condition includes one or more of the transmission trigger mode and the transmission start time. The transmission trigger mode is, for example, a periodic trigger or a one-time trigger. The transmission start time is a pre-set time to start transmitting the data to be transmitted. When the data transmission trigger condition is met, the sending device sends a first data packet to the receiving device based on the network address of the receiving device.
[0121] S404: The receiving device obtains the first data packet.
[0122] The receiving device obtains the first data packet, parses the first data packet, and stores the first data included in the payload of the first data packet in a data disk of the receiving device.
[0123] The embodiments of the present application do not limit the implementation method in which the receiving device writes the first data to the data disk of the receiving device. As an example, the receiving device parses the first data packet to obtain the offset of the first data. The receiving device stores the first data in the storage space indicated by the offset of the first data in the data disk of the receiving device. The data to be transmitted read by the sending device based on the data disk of the sending device is stored continuously in the data disk. The first data stored by the receiving device based on the offset of the first data should also be stored continuously in the data disk of the receiving device. If, in the data disk of the receiving device storing the data to be transmitted, there is a storage space without data stored between two storage spaces storing the first data, it means that there is lost data to be transmitted.
[0124] After determining that a transmission process of the first data packet is completed, the receiving device determines lost data information based on the data to be transmitted stored in the data disk of the receiving device.
[0125] The embodiments of the present application do not limit the specific implementation method by which the receiving device determines that the transmission process of transmitting the first data packet has ended. As an example, after the sending device completes sending the first data packet that needs to be sent for this data transmission, it sends a message indicating that the transmission is completed to the receiving device. The receiving device determines that the transmission process of the first data packet for this transmission is completed based on the obtained message indicating that the transmission is completed. As another example, the receiving device determines the number of first data packets that need to be transmitted based on the result of negotiation with the sending device. For example, the receiving device determines the number of first data packets based on the size and MTU of the amount of data to be transmitted determined by negotiation with the sending device. After determining that the last first data packet is obtained, the receiving device determines that the transmission process of this first data packet is completed. Alternatively, if the receiving device does not receive the last first data packet within a preset time, it determines that the process of sending the first data packet this time is completed.
[0126] The receiving device determines the lost data information based on the data to be transmitted stored in the data disk of the receiving device.
[0127] As an example, the receiving device can determine the storage space required to store the data to be transmitted in the data disk of the receiving device based on the size of the data amount to be transmitted pre-negotiated with the sending device. If after the transmission process of the first data packet is completed, there is storage space in the storage space storing the data to be transmitted that does not store data, it is determined that there is lost data to be transmitted. The receiving device can determine the offset of the lost data and the lost first data packet based on the offset of the storage space where the data is not stored. The data to be transmitted read by the sending device based on the data disk of the sending device is continuously stored in the data disk, and the sending device sends the first data packet based on the storage order of the first data included in the first data packet. The identifiers of the data disks included in adjacent first data packets are the same. The receiving device then determines the identifier of the data disk of the sending device storing the lost data based on the identifier of the data disk included in the header of other first data packets whose transmission order is adjacent to the lost first data packet.
[0128] As another example, the receiving device maintains a bitmap. The bitmap is used to determine whether a data packet is received. The number of data bits included in the bitmap is the same as the number of all data packets that the sending device needs to transmit. In a possible implementation, the receiving device determines the number of data bits included in the bitmap based on the data volume and MTU of the data to be transmitted negotiated with the sending device. Specifically, the ratio of the data volume of the data to be transmitted to the MTU is calculated to obtain the number of data bits included in the bitmap. The data bits included in the bitmap correspond to the data packets one by one. The correspondence between the data bits and the data packets is determined based on the number of bits of the data bits in the bitmap and the offset of the first data included in the first data packet. For example, the data volume of the first data included in the first data packet is the value of the MTU. The receiving device can determine the offset of the first data included in each first data packet based on the data volume and MTU of the data to be transmitted for this transmission determined in advance through negotiation. The offset of the first data included in the first data packet corresponds one by one to the data bits included in the bitmap.
[0129] The value of a data bit is used to indicate whether the data packet corresponding to that data bit has been received. For example, see Figure 7 As shown, the value of a data bit is 0, indicating that the data packet corresponding to the data bit has not been received. The value of a data bit is 1, indicating that the data packet corresponding to the data bit has been received. The initial value of each data bit included in the bitmap is 0. Based on the acquired first data packet, the receiving device adjusts the value of the data bit corresponding to the first data packet in the bitmap to 1. In this way, after the first data packet is sent, the receiving device can determine whether there is a first data packet that has not been successfully transmitted based on the bitmap. If the bitmap includes a data bit with a value of 0, it means that the first data packet corresponding to the data bit is lost. Figure 7 For example, the data packets corresponding to the bits with a value of 0 in the bitmap fail to be transmitted, that is, the data packets of the 6th first data packet, the 8th first data packet and the 9th first data packet fail to be transmitted.
[0130] Based on the determined lost first data packet, the lost data information is determined. As an example, the receiving device determines the identifier of the data disk of the sending device storing the lost data based on the identifier of the data disk included in the packet headers of other first data packets adjacent to the lost first data packet in the transmission order. The identifier of the data disk of the sending device storing the lost data is the same as the identifier of the data disk included in the packet headers of other first data packets adjacent to the lost first data packet. The offset of the lost data is determined, for example, based on the transmission order and the offset and MTU included in the first data packet adjacent to the lost first data packet. For another example, in a case where the offset of the first data included in the first data packet corresponds one-to-one with the data bits included in the bitmap, the offset of the lost data is the offset of the first data corresponding to the data bits indicating that the first data packet is lost. In one possible implementation, the receiving device fails to successfully receive all the first data packets, and the transmission of some first data packets fails, and S405-S408 is executed.
[0131] In another possible implementation, the receiving device successfully receives all first data packets and executes S409 - S410 .
[0132] S405: The receiving device sends lost data information to the sending device.
[0133] If the receiving device determines that there is a first data packet that fails to be transmitted, the lost data information is determined. The lost data information includes the identifier of the data disk storing the lost data and the offset of the lost data.
[0134] S406: The sending device obtains lost data information.
[0135] The sending device can determine the lost data of the receiving device, that is, the data to be transmitted that was not successfully obtained, based on the identification of the data disk storing the lost data and the offset of the lost data included in the acquired lost data information. The sending device reads data from the data disk corresponding to the identification of the data disk storing the lost data based on the offset of the lost data. It should be noted that when the data volume of the first data encapsulated in the first data packet is MTU, the sending device starts from the storage address indicated by the offset and reads the data block with a data volume of MTU.
[0136] The sending device encapsulates the lost data read based on the lost data information into a second data packet. The payload of the second data packet includes the second data in the lost data. The header of the second data packet includes an identifier of a data disk storing the second data and an offset of the second data in the data disk storing the second data.
[0137] The method of encapsulating the second data packet in S406 can be the same as the method of encapsulating the first data packet in S403 above. For details, please refer to the method of encapsulating the first data packet described in S403 above, which will not be repeated here.
[0138] S407: The sending device sends a second data packet to the receiving device.
[0139] S408: The receiving device obtains the second data packet.
[0140] After the receiving device obtains the second data packet, the second data included in the second data packet is written into the data disk of the receiving device. The receiving device writes the second data in a manner similar to the above-mentioned manner of writing the first data. As an example, the receiving device writes the second data into the data disk at a position determined based on the offset of the second data included in the header of the second data packet.
[0141] After obtaining the second data packet, the receiving device determines whether there is still unsuccessfully transmitted data to be transmitted.
[0142] As an example, if after the transmission process of the second data packet is completed, if there is still storage space without data stored in the storage space required to store the data to be transmitted in the data disk of the receiving device that stores the data to be transmitted, it is determined that there is lost data.
[0143] As another example, the receiving device determines whether there is any lost data to be transmitted using the bitmap. The receiving device adjusts the values of the data bits included in the bitmap using the acquired second data packet.
[0144] See also Figure 7 As shown, the receiving device adjusts the value of the data bit included in the bitmap based on the second data packet obtained by the second transmission. The receiving device modifies the value of the corresponding data bit in the bitmap to 1 based on the offset of the second data included in the second data packet.
[0145] If the receiving device obtains all the data to be transmitted after the sending device sends the second data packet, the data transmission process between the sending device and the receiving device ends, and S409-S410 is executed.
[0146] If the receiving device determines that there is still lost data, that is, the data with transmission is successfully transmitted, that is, there is lost data to be transmitted, then continue to send the information including the lost data determined this time to the sending device so that the sending device can feedback the data packet, and repeat this multiple times until the entire transmission of the data packet is completed, and execute S409-S410.
[0147] S409: The receiving device sends a message indicating successful transmission to the sending device.
[0148] If the data to be transmitted received by the receiving device is data that needs to be processed by the second data center, the receiving device will copy the data to be transmitted stored in the data disk of the receiving device to the storage device of the second data center for subsequent data processing after determining that all the data to be transmitted have been successfully transmitted. The receiving device deletes the data to be transmitted stored in its own data disk to allocate storage resources for subsequent data transmission services.
[0149] If the data to be transmitted received by the receiving device is data that the receiving device needs to forward, the receiving device acts as a sending device and sends the data to be transmitted to another receiving device.
[0150] S410: The sending device obtains a message indicating successful transmission.
[0151] After receiving the message indicating successful transmission, the sending device confirms that all data to be transmitted are successfully transmitted. The sending device deletes the data to be transmitted stored in its own data disk to allocate storage resources for subsequent data transmission services.
[0152] The above describes the data transmission process between the sending device and the receiving device. In one possible implementation, before the sending device sends a data packet to the receiving device, it first establishes a connection with the receiving device and negotiates with the receiving device. The embodiment of the present application does not limit the way in which the sending device and the receiving device establish a connection, for example, the sending device and the receiving device establish a TCP connection.
[0153] As an example, see Figure 8 As shown, this figure is a schematic diagram of a negotiation process between a sending device and a receiving device provided in an embodiment of the present application. The sending device first establishes a TCP connection with the receiving device through a three-way handshake. The sending device sends data transmission metadata to the receiving device. Data transmission metadata is used to describe the requirements for data transmission. For example, data transmission metadata includes one or more of the amount of data transmitted, the transmission bandwidth, and the MTU. The embodiment of the present application does not limit the method for obtaining data transmission metadata. In one implementation, the data transmission configuration information includes data transmission metadata. The data transmission metadata can be configured by the user through the management plane of the sending device or through the management device of the sending device.
[0154] After receiving the data transmission metadata, the receiving device determines whether it can support the data transmission based on its own resource conditions. In the case where the data transmission metadata includes the amount of data to be transmitted, the receiving device can determine whether the storage space of the receiving device can support the storage of the data to be transmitted based on the amount of data to be transmitted. In the case where the data transmission metadata includes the transmission bandwidth or MTU, the receiving device can determine whether it supports the data transmission rate corresponding to the transmission bandwidth or MTU based on the data processing capability.
[0155] The receiving device sends a negotiation result to the sending device. The negotiation result indicates whether the receiving device can support data transmission, or indicates the transmission parameters supported by the receiving device. As an example, the negotiation result includes the maximum amount of data stored by the receiving device, the transmission bandwidth supported by the receiving device, and the MTU supported by the receiving device. As another example, the negotiation result includes a judgment result determined by the receiving device whether the data transmission is supported.
[0156] The sending device obtains the negotiation result of the receiving device. The sending device can determine whether the receiving device can support data transmission based on the negotiation result of the receiving device.
[0157] For example, take the negotiation result including the maximum amount of data stored by the receiving device, the transmission bandwidth supported by the receiving device, and the MTU supported by the receiving device. If the maximum amount of data stored by the receiving device is less than the amount of data to be transmitted, the sending device determines that the receiving device cannot receive the data to be transmitted, and the current data transmission negotiation ends without subsequent data transmission. For another example, if the maximum amount of data stored by the receiving device is greater than or equal to the amount of data to be transmitted, but the transmission bandwidth supported by the receiving device is less than the transmission bandwidth, or the MTU is less than the MTU supported by the receiving device, the sending device determines that the receiving device can receive the data to be transmitted, and determines the transmission parameters for sending the data packet based on the transmission bandwidth or MTU supported by the receiving device.
[0158] In addition to transmitting data, the sending device can also be used to manage the transmission path. In a possible implementation, the sending device obtains device configuration information. As an example, the device configuration information includes an identifier of the network device. The identifier of the network device is a globally unique identifier of the network device, such as an IP address of the network device. The network device includes, for example, a data port device, a routing device, and a wavelength division device. For example, see Fig. 9 As shown, this figure is a schematic diagram of configuring the IP address of a network device provided by an embodiment of the present application. The IP address of the interconnected data port device, the IP address of the routing device, and the IP address of the wavelength division device are configured using the device configuration information. Among them, the data port device can be directly connected to the wavelength division device, or connected to the wavelength division device through the routing device.
[0159] As another example, the device configuration information includes path configuration information for a sending device. The path configuration information includes a network address of the sending device, a network address of the receiving device, and a network address of a network device included in the path between the sending device and the receiving device. The network device is, for example, a more critical forwarding device included in the path. For example, in a scenario where a sending device and a receiving device are connected via a dedicated line, the network device includes a wavelength division device connected to the sending device and a wavelength division device connected to the receiving device. The wavelength division device connected to the sending device may also be referred to as a proximal wavelength division device. The wavelength division device connected to the receiving device may also be referred to as a distal wavelength division device. See Table 1, which is used to maintain the path between the sending device and the receiving device.
[0160] Table 1
[0161] Sending device Near-end WDM equipment Remote WDM equipment Receiving equipment
[0162] The sending device can maintain the path between the sending device and the receiving device based on the path configuration information. For example, the sending device can establish connections with the receiving device and the network device based on the network address of the receiving device and the network address of the network device included in the path between the sending device and the receiving device. For example, the sending device establishes a TCP connection with the receiving device and the network device. The sending device obtains the device status information of the receiving device and the device status information of the network device. As an example, the sending device implements a heartbeat mechanism with the receiving device and the network device through a TCP connection respectively, and detects the device status of the receiving device and the device status of the network device. Based on the acquired device status information of the network device and the device status information of the receiving device, the sending device can maintain the path between the sending device and the receiving device, promptly discover the failed receiving device or network device, and then promptly determine the unavailable path.
[0163] Based on the data transmission method provided in the embodiment of the present application, see Fig.10 As shown, the present application embodiment also provides a structural diagram of a data transmission device 1000. The data transmission device 1000 can implement Figure 4 The data transmission method applied to the sending device is shown. The figure is a schematic diagram of the structure of a data transmission device provided in an embodiment of the present application. The data transmission device 1000 includes an acquisition module 1001, a reading module 1002, a sending module 1003, a storage module 1004, a processing module 1005 and a management module 1006. The functions of each module in the data transmission device 1000 can be specifically described in the relevant parts of the sending device in the above embodiment.
[0164] Specifically, the acquisition module 1001 is used to acquire data transmission configuration information, the data transmission configuration information includes a network address of a receiving device and address information of data to be transmitted, the address information is used to indicate storage address information of the data to be transmitted on a data disk, the data disk is a data disk of the sending device, the data to be transmitted is data that needs to be transmitted by the first data center, and the receiving device belongs to the second data center;
[0165] A reading module 1002, configured to read the data to be transmitted from a data disk of the sending device based on the address information;
[0166] The sending module 1003 is used to send a first data packet to the receiving device based on the network address of the receiving device, where the first data packet is obtained by encapsulating the data to be transmitted.
[0167] In a possible implementation manner, an unreliable transmission protocol is used between the sending device and the receiving device to transmit the first data packet.
[0168] In a possible implementation, the payload of the first data packet includes the first data in the data to be transmitted, and the header of the first data packet includes an identifier of a data disk storing the first data and an offset of the first data in the data disk storing the first data.
[0169] In a possible implementation, the acquisition module 1001 is further configured to acquire lost data information sent by the receiving device, where the lost data information includes an identifier of a data disk storing lost data and an offset of the lost data in the data disk storing lost data;
[0170] The sending module 1003 is further configured to send a second data packet to the receiving device, wherein the payload of the second data packet includes the lost data read from the data disk of the sending device based on the lost data information.
[0171] In a possible implementation, the reading module 1002 is specifically configured to read the data to be transmitted from the data disk of the sending device based on the address information through the data processor DPU of the sending device.
[0172] In a possible implementation, the sending module 1003 is specifically configured to send a first data packet to the receiving device through a dedicated line between the sending device and the receiving device based on the network address of the receiving device.
[0173] In a possible implementation, the data transmission configuration information further includes data transmission metadata, where the data transmission metadata is used to describe data transmission requirements, and before sending the first data packet to the receiving device based on the network address of the receiving device, the sending module 1003 is further used to send the data transmission metadata to the receiving device based on the network address of the receiving device;
[0174] The receiving module is further used to obtain the negotiation result of the receiving device, and determine the transmission parameters of the sent data packet based on the negotiation result.
[0175] In one possible implementation, the transmission parameters of the data packet include a maximum transmission module MTU, and the reading module 1002 is specifically used to read a data block from a data disk of the sending device based on the address information, the data block includes the first data, the size of the data block is determined based on the MTU, and the first data packet is obtained by encapsulating a data block including the first data.
[0176] In a possible implementation, the data to be transmitted are respectively stored in multiple data disks of the sending device, and the address information of the data to be transmitted includes the identifier of each data disk included in the multiple data disks, and the starting address and length of each data disk storing the data to be transmitted.
[0177] In a possible implementation, the acquisition module 1001 is further used to acquire the data to be transmitted, where the data to be transmitted is sent by one or more devices of a storage device included in the first data center and a sending device included in other data centers except the first data center;
[0178] The device also includes:
[0179] The storage module 1004 is further configured to store the data to be transmitted in a data disk of the sending device.
[0180] In a possible implementation manner, the device further includes:
[0181] The processing module 1005 is configured to delete the data to be transmitted stored in the data disk if it is determined that the transmission of the data to be transmitted is completed.
[0182] In a possible implementation, the acquisition module 1001 is used to acquire device configuration information, where the device configuration information includes a network address of the sending device, a network address of the receiving device, and a network address of a network device included in a path between the sending device and the receiving device;
[0183] The device also includes:
[0184] The management module 1006 is used to maintain the path between the sending device and the receiving device based on the device configuration information.
[0185] In one possible implementation, the management module 1006 is specifically used to establish connections with the receiving device and the network device, respectively, based on the device configuration information; obtain the device status information of the receiving device and the device status information of the network device; and determine whether the path between the sending device and the receiving device is available based on the device status information of the receiving device and the device status information of the network device.
[0186] In a possible implementation manner, the data transmission configuration information further includes a data transmission triggering condition;
[0187] The sending module 1003 is specifically configured to send a first data packet to the receiving device based on the network address of the receiving device in response to satisfying the data transmission trigger condition.
[0188] In a possible implementation, the data transmission configuration information also includes a network address of a forwarding device included in the data transmission path, and the sending module 1003 is specifically used to send the first data packet to the forwarding device based on the network address of the forwarding device, and the forwarding device is used to send the first data packet to the receiving device based on the network address of the receiving device.
[0189] In a possible implementation manner, the number of data transmission paths between the sending device and the receiving device is one or more.
[0190] Based on the data transmission method provided in the embodiment of the present application, see Fig.11 As shown, the present embodiment also provides a structural diagram of another data transmission device 1100. The data transmission device 1100 can implement Figure 4 The data transmission method applied to the receiving device is shown. This figure is a schematic diagram of the structure of another data transmission device provided in an embodiment of the present application. The data transmission device 1100 includes an acquisition module 1101, a storage module 1102, a processing module 1103 and a sending module 1104. The functions of each module in the data transmission device 1100 can be specifically referred to the relevant description of the receiving device in the above embodiment.
[0191] Specifically, the acquisition module 1101 is used to acquire a first data packet sent by a sending device, wherein a payload of the first data packet includes first data in the data to be transmitted, and a header of the first data packet includes an identifier of a data disk storing the first data and an offset of the first data;
[0192] The storage module 1102 is used to store the first data included in the first data packet to the data disk of the receiving device.
[0193] In a possible implementation, the storage module 1102 is specifically configured to store the first data in a storage space indicated by an offset of the first data in a data disk of the receiving device.
[0194] In a possible implementation manner, the device further includes:
[0195] A processing module 1103 is used to determine lost data information based on the data to be transmitted stored in the data disk of the receiving device, where the lost data information includes an identifier of the data disk of the sending device storing the lost data and an offset of the lost data;
[0196] The sending module 1104 is configured to send the lost data information to the sending device.
[0197] In one possible implementation, the processing module 1103 is specifically used to determine the lost first data packet based on a bitmap, wherein each data bit included in the bitmap corresponds to each first data packet, and the value of the data bit is used to indicate whether the first data packet corresponding to the data bit is received; and determine the lost data information based on the lost first data packet.
[0198] In a possible implementation, the acquisition module 1101 is further used to acquire data transmission metadata sent by the sending device, where the data transmission metadata is used to describe data transmission requirements;
[0199] The device also includes:
[0200] The sending module 1104 is used to send a negotiation result to the sending device, where the negotiation result is used to indicate that the receiving device meets the data transmission requirement.
[0201] In a possible implementation manner, the device further includes:
[0202] The sending module 1104 is used to send the data to be transmitted to the storage device included in the second data center, and delete the data to be transmitted stored in the data disk of the receiving device.
[0203] Based on the data transmission method provided in the embodiment of the present application, see Fig.12 As shown, the embodiment of the present application also provides a structural diagram of a system 1200. The system 1200 includes a sending device 1201 and a receiving device 1202. The sending device 1201 is connected to the receiving device 1202. The sending device 1201 can be Figure 4 The illustrated embodiment, and Figure 8The receiving device 1202 can be the above-mentioned Figure 4 The illustrated embodiment, and Figure 8 The receiving device in the illustrated embodiment.
[0204] Fig.13 A structural diagram of a computing device is shown, on which the above-mentioned data transmission device 1300 can be deployed. The computing device can be a data port device, etc., which can be specifically used to implement the functions of the sending device or the receiving device in the above-mentioned embodiments.
[0205] like Fig.13 As shown, computing device 1300 includes processor 1310, memory 1320, communication interface 1330 and bus 1340. Processor 1310, memory 1320 and communication interface 1330 communicate through bus 1340. Bus 1340 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.13 The communication interface 1330 is used to communicate with the outside, such as sending a first data packet to a receiving device. For another example, obtaining a first data packet sent by a sending device.
[0206] Among them, the processor 1310 can be a central processing unit (CPU), an application specific integrated circuit (ASIC), a graphics processing unit (GPU) or one or more integrated circuits. The processor 1310 can also be an integrated circuit chip with signal processing capabilities. In the implementation process, the functions of each module in the data transmission device can be completed by the hardware integrated logic circuit or software instructions in the processor 1310. The processor 1310 can also be a general processor, a digital signal process (DSP), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. Among them, the general processor can be a microprocessor or the processor can also be any conventional processor, etc., and the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1320, and the processor 1310 reads the information in the memory 1320 and completes part or all of the functions of the data transmission device in combination with its hardware.
[0207] The memory 1320 may include a volatile memory, such as a random access memory (RAM), or a non-volatile memory, such as a read-only memory (ROM), a flash memory, a HDD, or a SSD.
[0208] The memory 1320 stores executable codes, and the processor 1310 executes the executable codes to execute the method executed by the aforementioned data transmission device.
[0209] In addition, an embodiment of the present application also provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is executed on one or more computing devices, the one or more computing devices execute any one of the data transmission methods in the above embodiments.
[0210] In addition, the embodiment of the present application further provides a computer program product, and when the computer program product is executed by one or more computing devices, the one or more computing devices execute any of the aforementioned data transmission methods. The computer program product may be a software installation package, and when any of the aforementioned data transmission methods is required, the computer program product may be downloaded and executed on a computer.
[0211] It should also be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the units indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
[0212] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0213] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0214] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
[0215] Those skilled in the art should be aware that in one or more of the above examples, the functions described in this application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a general or special-purpose computer can access.
[0216] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above description is only a specific implementation method of the present application.
[0217] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A data transmission method, characterized in that: The method is applied to a sending device of a first data center, and the method includes: Acquire data transmission configuration information, the data transmission configuration information including a network address of a receiving device and address information of data to be transmitted, the address information being used to indicate storage address information of the data to be transmitted on a data disk; the data disk is a data disk of the sending device, the data to be transmitted is data that needs to be transmitted by the first data center, and the receiving device belongs to a second data center; Reading the data to be transmitted from the data disk of the sending device based on the address information; Based on the network address of the receiving device, a first data packet is sent to the receiving device, where the first data packet is obtained by encapsulating the data to be transmitted.
2. The method according to claim 1, characterized in that An unreliable transmission protocol is used between the sending device and the receiving device to transmit the first data packet.
3. The method according to claim 1 or 2, characterized in that: The payload of the first data packet includes the first data in the data to be transmitted, and the header of the first data packet includes the identifier of the data disk storing the first data and the offset of the first data in the data disk storing the first data.
4. The method according to claim 3, characterized in that The method further comprises: Acquire lost data information sent by the receiving device, the lost data information including an identifier of a data disk storing lost data and an offset of the lost data in the data disk storing lost data; A second data packet is sent to the receiving device, wherein the payload of the second data packet includes the lost data read from the data disk of the sending device based on the lost data information.
5. The method according to any one of claims 1 to 4, characterized in that: The reading the data to be transmitted from the data disk of the sending device based on the address information includes: The data to be transmitted is read from the data disk of the sending device based on the address information through the data processor DPU of the sending device.
6. The method according to any one of claims 1 to 5, characterized in that: The sending a first data packet to the receiving device based on the network address of the receiving device includes: Based on the network address of the receiving device, a first data packet is sent to the receiving device through a dedicated line between the sending device and the receiving device.
7. The method according to any one of claims 1 to 6, characterized in that: The data transmission configuration information further includes data transmission metadata, where the data transmission metadata is used to describe data transmission requirements. Before sending the first data packet to the receiving device based on the network address of the receiving device, the method further includes: sending the data transmission metadata to the receiving device based on the network address of the receiving device; A negotiation result of the receiving device is obtained, and a transmission parameter for sending a data packet is determined based on the negotiation result.
8. The method according to claim 7, characterized in that The transmission parameter includes a maximum transmission unit MTU, and the reading the data to be transmitted from the data disk of the sending device based on the address information includes: A data block is read from a data disk of the sending device based on the address information, a size of the data block is determined based on the MTU, and the first data packet is obtained by encapsulating the data block.
9. The method according to any one of claims 1 to 8, characterized in that: The storage address information includes an identifier of a data disk storing the data to be transmitted, and a starting address and a length of the data disk storing the data to be transmitted.
10. The method according to any one of claims 1 to 9, characterized in that: The data to be transmitted are respectively stored in multiple data disks of the sending device, and the address information of the data to be transmitted includes the identifier of each data disk included in the multiple data disks, and the starting address and length of each data disk storing the data to be transmitted.
11. The method according to any one of claims 1 to 10, characterized in that: The method further comprises: Acquire the data to be transmitted, where the data to be transmitted is sent by one or more devices of a storage device included in the first data center and a sending device included in other data centers except the first data center; The data to be transmitted is stored in a data disk of the sending device.
12. The method according to any one of claims 1 to 11, characterized in that: The method further comprises: If it is determined that the transmission of the data to be transmitted is completed, the data to be transmitted stored in the data disk is deleted.
13. The method according to any one of claims 1 to 12, characterized in that: The method further comprises: Acquire device configuration information, the device configuration information including the network address of the sending device, the network address of the receiving device, and the network addresses of network devices included in the path between the sending device and the receiving device; Based on the device configuration information, a path between the sending device and the receiving device is maintained.
14. The method according to any one of claims 1 to 13, characterized in that: The number of data transmission paths between the sending device and the receiving device is one or more.
15. A data transmission method, characterized in that: The method is applied to a receiving device of a second data center, and the method includes: Acquire a first data packet sent by a sending device, wherein a payload of the first data packet includes first data in the data to be transmitted, and a header of the first data packet includes an identifier of a data disk storing the first data and an offset of the first data; The first data included in the first data packet is stored in a data disk of the receiving device.
16. The method according to claim 15, characterized in that The storing the first data included in the first data table to the data disk of the receiving device comprises: The first data is stored in a storage space indicated by the offset of the first data in a data disk of the receiving device.
17. The method according to claim 15, characterized in that The method further comprises: Determine lost data information based on the data to be transmitted stored in the data disk of the receiving device, the lost data information including an identifier of the data disk of the sending device storing the lost data and an offset of the lost data; The lost data information is sent to the sending device.
18. The method according to claim 17, characterized in that The determining of lost data information based on the data to be transmitted stored on the data disk of the receiving device includes: Determine the lost first data packet based on a bitmap, wherein each data bit included in the bitmap corresponds to each first data packet, and a value of the data bit is used to indicate whether the first data packet corresponding to the data bit is received; Lost data information is determined based on the lost first data packet.
19. The method according to any one of claims 15 to 18, characterized in that: Before obtaining the first data packet sent by the sending device, the method further includes: Acquire data transmission metadata sent by the sending device, where the data transmission metadata is used to describe data transmission requirements; A negotiation result is sent to the sending device, where the negotiation result is used to indicate that the receiving device meets the data transmission requirement.
20. The method according to any one of claims 15 to 19, characterized in that: The method further comprises: The data to be transmitted is sent to a storage device included in the second data center, and the data to be transmitted stored in the data disk of the receiving device is deleted.
21. A data transmission device, characterized in that: The device is applied to a sending device of a first data center, and the device includes: an acquisition module, used to acquire data transmission configuration information, the data transmission configuration information including a network address of a receiving device and address information of data to be transmitted, the address information including storage address information for indicating the data to be transmitted on a data disk, the data disk is a data disk of the sending device, the data to be transmitted is data that needs to be transmitted by the first data center, and the receiving device belongs to the second data center; A reading module, configured to read the data to be transmitted from a data disk of the sending device based on the address information; The sending module is used to send a first data packet to the receiving device based on the network address of the receiving device, where the first data packet is obtained by encapsulating the data to be transmitted.
22. The device according to claim 21, characterized in that An unreliable transmission protocol is used between the sending device and the receiving device to transmit the first data packet.
23. The device according to claim 21 or 22, characterized in that The payload of the first data packet includes the first data in the data to be transmitted, and the header of the first data packet includes the identifier of the data disk storing the first data and the offset of the first data in the data disk storing the first data.
24. The device according to claim 23, characterized in that The acquisition module is further used to acquire the lost data information sent by the receiving device, wherein the lost data information includes an identifier of a data disk storing the lost data and an offset of the lost data in the data disk storing the lost data; The sending module is further used to send a second data packet to the receiving device, and the payload of the second data packet includes the lost data read from the data disk of the sending device based on the lost data information.
25. The device according to any one of claims 21 to 24, characterized in that The reading module is specifically configured to read the data to be transmitted from the data disk of the sending device based on the address information through the data processor DPU of the sending device.
26. The device according to any one of claims 21 to 25, characterized in that The sending module is specifically configured to send a first data packet to the receiving device through a dedicated line between the sending device and the receiving device based on the network address of the receiving device.
27. The device according to any one of claims 21 to 26, characterized in that The data transmission configuration information further includes data transmission metadata, and the data transmission metadata is used to describe data transmission requirements. Before sending the first data packet to the receiving device based on the network address of the receiving device, the sending module is further used to send the data transmission metadata to the receiving device based on the network address of the receiving device; The receiving module is further used to obtain the negotiation result of the receiving device, and determine the transmission parameters of the sent data packet based on the negotiation result.
28. The device according to any one of claims 21 to 27, characterized in that The transmission parameters of the data packet include the maximum transmission module MTU. The reading module is specifically used to read a data block from the data disk of the sending device based on the address information. The data block includes the first data. The size of the data block is determined based on the MTU. The first data packet is obtained by encapsulating the data block including the first data.
29. The device according to any one of claims 21 to 28, characterized in that The acquisition module is used to acquire device configuration information, wherein the device configuration information includes the network address of the sending device, the network address of the receiving device, and the network addresses of network devices included in the path between the sending device and the receiving device; The device also includes: A management module is used to maintain a path between the sending device and the receiving device based on the device configuration information.
30. A data transmission device, characterized in that: The device is applied to a receiving device of a second data center, and the device includes: an acquisition module, configured to acquire a first data packet sent by a sending device, wherein a payload of the first data packet includes first data in the data to be transmitted, and a header of the first data packet includes an identifier of a data disk storing the first data and an offset of the first data; The storage module is used to store the first data included in the first data packet to the data disk of the receiving device.
31. The device according to claim 30, characterized in that The storage module is specifically used to store the first data in a storage space indicated by the offset of the first data in a data disk of the receiving device.
32. The device according to claim 30 or 31, characterized in that The device also includes: A processing module, configured to determine lost data information based on the data to be transmitted stored in the data disk of the receiving device, wherein the lost data information includes an identifier of the data disk of the sending device storing the lost data and an offset of the lost data; A sending module is used to send the lost data information to the sending device.
33. The device according to claim 32, characterized in that The processing module is specifically used to determine the lost first data packet based on the bitmap, each data bit included in the bitmap corresponds to each first data packet, and the value of the data bit is used to indicate whether the first data packet corresponding to the data bit is received; Lost data information is determined based on the lost first data packet.
34. A system, characterized in that: The system includes a sending device of a first data center and a receiving device of a second data center, wherein the sending device is used to execute the method according to any one of claims 1-14, and the receiving device is used to execute the method according to any one of claims 15-20.
35. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, which, when executed on a computing device, enable the computing device to execute the method according to any one of claims 1 to 14, or to execute the method according to any one of claims 15 to 20.
Citation Information
Cited By
Data optimization transmission method and device based on partitioning, equipment and medium
CN120614315A
Data transmission method and apparatus, and related device
EP4776595A1
Data transmission method and apparatus, and related device
WO2025077179A1