Data transmission method and device, equipment, storage medium and vehicle

By setting up an aggregation server between the device and the target server and building a tunnel, the problem of high communication delay between the device and the target server in the prior art is solved, and more efficient data transmission is achieved.

CN120238575APending Publication Date: 2025-07-01BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311868507.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

In the prior art, when the equipment communicates with the target server, the transmission delay is high, mainly because the data passes through multiple routing nodes, resulting in complex transmission paths and increased delays.

Method used

By setting up an aggregation server between the device and the target server as a transit server, and building a tunnel between the aggregation server and the current device, multiple physical channels are aggregated into virtual channels using tunneling technology, thereby optimizing the data transmission path, reducing routing nodes, and reducing transmission delay.

Benefits of technology

By setting up a transit server and building a tunnel, the data transmission path is optimized, the data transmission delay is reduced, and the communication efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120238575A_ABST
    Figure CN120238575A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission method and device, equipment, a storage medium and a vehicle. The method comprises the following steps: under the condition of detecting to-be-transmitted data, packaging the to-be-transmitted data to obtain a network layer data packet; performing tunnel encapsulation processing on the network layer data packet to obtain a tunnel data packet, the tunnel data packet comprising at least two source addresses and at least two destination addresses, the at least two source addresses comprising a virtual address corresponding to a tunnel and a physical address corresponding to a physical channel, and the at least two destination addresses comprising a virtual address corresponding to the tunnel and a physical address corresponding to the physical channel; the at least two destination addresses comprise a transit destination address and a final destination address; the tunnel data packet is transmitted to the aggregation server through the tunnel, the aggregation server forwards the tunnel data packet to the target server, the address of the aggregation server is the transit destination address, and the address of the target server is the final destination address. According to the embodiment of the invention, the communication quality can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technologies, and particularly relates to a data transmission method, apparatus, device, storage medium, and vehicle. Background Art

[0002] With the development of communication technologies, terminal devices that can now perform mobile communications usually have multiple physical network interfaces and support different access technologies for accessing different communication networks. For example, a notebook terminal can support access to ETH (Ethernet), WIFI (Wireless Fidelity), and 5G (5th Generation Mobile Networks), a smart phone can support access to WIFI and 5G simultaneously, and an in-vehicle infotainment system can also support access to WIFI, 4G (4th Generation Mobile Networks), and 5G dual-mode networks (i.e., dual-SIM and dual-standby).

[0003] However, in related technologies, device communication can only select an existing path between a source device and a destination device for communication. The existing path is usually a physical channel pre-constructed between devices, and the physical channel includes multiple routing nodes. Each routing node will introduce a certain transmission delay when data passes through it. Therefore, transmitting data through a traditional physical channel will introduce a relatively high transmission delay. Summary of the Invention

[0004] Embodiments of this application provide a data transmission method, apparatus, device, storage medium, and vehicle, which can solve the problem of relatively high transmission delay in the process of existing devices communicating with a target server.

[0005] In a first aspect, embodiments of this application provide a data transmission method, the method including:

[0006] When detecting data to be transmitted, encapsulate the data to be transmitted to obtain a network layer data packet, where the data to be transmitted is transmitted through a tunnel, and the tunnel is a communication connection established between a virtual channel formed by aggregating multiple physical channels corresponding to the current device and an aggregation server;

[0007] Perform tunnel encapsulation processing on the network layer data packet to obtain a tunnel data packet, where the tunnel data packet includes at least two source addresses and at least two destination addresses. The at least two source addresses include the virtual address corresponding to the tunnel and the physical address corresponding to the physical channel, and the at least two destination addresses include a transit destination address and a final destination address;

[0008] Transmit the tunnel data packet through the tunnel to the aggregation server, and the aggregation server forwards the tunnel data packet to the target server. The address of the aggregation server is the transit destination address, and the address of the target server is the final destination address.

[0009] In some embodiments, encapsulating the data to be transmitted includes:

[0010] Adding a network layer protocol header to the data to be transmitted through the internal network layer. The network layer protocol header includes the virtual address and the final destination address.

[0011] The tunnel encapsulation process for the network layer data packet includes:

[0012] Adding a tunnel protocol header to the network layer data packet through the external network layer. The tunnel protocol header includes the physical address and the transit destination address.

[0013] In some embodiments, adding a network layer protocol header to the data to be transmitted through the internal network layer includes:

[0014] Encapsulating the data to be transmitted as a data packet payload into the payload field of the network layer data packet.

[0015] Adding, through the internal network layer, the virtual address of the virtual network card as the source address and the address of the target server as the destination address to the head of the payload field of the network layer data packet in the form of a network layer protocol header.

[0016] In some embodiments, before the tunnel encapsulation process for the network layer data packet, the method further includes:

[0017] Obtaining the aggregation meta-information corresponding to each network layer data packet, adding a protocol header field in front of the network layer corresponding to each network layer data packet, and adding the aggregation meta-information in the protocol header field to obtain a network layer data packet carrying the aggregation meta-information, where the aggregation meta-information is used to indicate data aggregation for network data packets with the same attribute.

[0018] In some embodiments, adding a tunnel protocol header to the network layer data packet through the external network layer includes:

[0019] Determining the network layer data packet as the payload field of the tunnel data packet.

[0020] Adding, through the external network layer, the physical address of the physical network card as the source address and the address of the aggregation server as the destination address to the head of the payload field of the tunnel data packet in the form of a tunnel protocol header.

[0021] In a second aspect, an embodiment of the present application further provides a data transmission method, and the method includes:

[0022] Receiving a tunnel data packet transmitted by the tunnel;

[0023] Determining whether the transit destination address carried in the tunnel data packet is the same as the address of the aggregation server;

[0024] When the transit destination address is the same as the address of the aggregation server, decapsulating the tunnel data packet to obtain a final destination address, where the final destination address is the address of the target server.

[0025] Based on the source address of the aggregation server and the final destination address, re-encapsulating the tunnel data packet to obtain a reorganized data packet;

[0026] Sending the reorganized data packet to the target server.

[0027] In some embodiments, the data parsing of the tunnel data packet and reorganizing the tunnel data packet based on the result of the data parsing to obtain a reorganized data packet includes:

[0028] Performing data parsing on the tunnel data packet to obtain data to be transmitted;

[0029] Obtaining the final destination address from the internal network layer of the tunnel data packet and obtaining the transit destination address from the external network layer of the tunnel data packet;

[0030] Using the transit destination address as the source address and using the final destination address as the destination address to encapsulate the data to be transmitted, to obtain the reorganized data packet.

[0031] In a third aspect, an embodiment of the present application provides a data transmission device, and the device includes:

[0032] A writing module, configured to encapsulate the data to be transmitted to obtain a network layer data packet when detecting the data to be transmitted, where the data to be transmitted is transmitted through a tunnel, and the tunnel is a communication connection established with an aggregation server through a virtual channel aggregated by a plurality of physical channels corresponding to the current device;

[0033] An encapsulation module, configured to perform tunnel encapsulation processing on the network layer data packet to obtain a tunnel data packet, where the tunnel data packet includes at least two source addresses and at least two destination addresses, the at least two source addresses include the virtual address corresponding to the tunnel and the physical address corresponding to the physical channel, and the at least two destination addresses include a transit destination address and a final destination address;

[0034] A transmission module, configured to transmit the tunnel data packet to an aggregation server through the tunnel, and the aggregation server forwards the tunnel data packet to the target server. The address of the aggregation server is the transit destination address, and the address of the target server is the final destination address.

[0035] In a fourth aspect, an embodiment of the present application provides a data transmission device, which includes: a processor and a memory storing computer program instructions;

[0036] When the processor executes the computer program instructions, the above data transmission method is implemented.

[0037] In a fifth aspect, an embodiment of the present application provides a computer storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above data transmission method is implemented.

[0038] In a sixth aspect, an embodiment of the present application provides a vehicle, which includes computer program instructions. When the computer program instructions are executed by a processor, the above data transmission method is implemented.

[0039] In the embodiment of the present application, in the communication between the device and the target server, an aggregation server is used as a transit server between the device and the target server, and then a tunnel is established between the aggregation server and the current device. Multiple physical channels are aggregated into a virtual channel through tunnel technology. In this way, during the data transmission process, the device can encapsulate the data to be transmitted by using the addresses at both ends of the tunnel (the virtual address and the address of the aggregation server). The data to be transmitted all contains the virtual address corresponding to the same tunnel and the address of the aggregation server connected to the tunnel. Then, the data to be transmitted can be transmitted from the current device to the aggregation server through the tunnel, and the aggregation server forwards the data to the target server. Compared with the related technology of directly transmitting data between the current device and the target server through a physical channel, the present application optimizes the data transmission path by setting up a transit server and establishing a tunnel. Moreover, since there are fewer routing nodes in the tunnel, the data transmission delay is reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments of the present application. Obviously, the following described drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0041] Figure 1 It is a schematic flowchart of a data transmission method provided by an embodiment of the present application;

[0042] Figure 2 It is a schematic structural diagram of a data transmission device provided by an embodiment of the present application;

[0043] Figure 3 It is a schematic hardware structure diagram of a data transmission device provided by an embodiment of the present application. Specific embodiments

[0044] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than limiting the present application. For those skilled in the art, the present application can be implemented without some of these specific details. The following description of the embodiments is only intended to provide a better understanding of the present application by showing examples of the present application.

[0045] It should be noted that, in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover a non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, the elements defined by the statement "comprising..." do not exclude the presence of additional identical elements in the process, method, article or device comprising the elements.

[0046] It should be noted that, without conflict, the embodiments in the present application and the features in the embodiments can be combined with each other. The embodiments will be described in detail below with reference to the accompanying drawings.

[0047] Specifically, to solve the problems of the prior art, embodiments of the present application provide a data transmission method, device, equipment, storage medium and vehicle. First, the data transmission method provided by the embodiments of the present application will be introduced below.

[0048] Figure 1 It shows a schematic flow diagram of a data transmission method provided by an embodiment of the present application. The method includes the following steps:

[0049] S110. When detecting the data to be transmitted, encapsulate the data to be transmitted to obtain a network layer data packet. Herein, the data to be transmitted is transmitted through a tunnel, and the tunnel is a communication connection established between a virtual channel formed by aggregating multiple physical channels corresponding to the current device and an aggregation server.

[0050] In this embodiment, the tunneling technology is an encapsulation technology that allows data of one network protocol to be transmitted over another network protocol. Its basic principle is to encapsulate the data packet of one protocol in the data packet of another protocol and then transmit it over the network. This encapsulation and transmission process allows crossing different networks or connecting two networks with different protocols.

[0051] A virtual communication path, i.e., a tunnel, can be set up between the current device and the aggregation server. And the virtual network card is the communication interface of the virtual channel. Therefore, the data to be transmitted written into the virtual network card are all the data that need to be transmitted from the current device to the aggregation server through the tunnel.

[0052] After writing the data to be transmitted into the virtual network card, for each data packet to be transmitted in the data to be transmitted, it can be encapsulated based on the network protocol to generate a network layer data packet, and the tunnel between the current device and the aggregation server further processes multiple network layer data packets.

[0053] In addition, the physical channel refers to the communication channel at the physical level for transmitting data or signals in a device, such as a wired connection (such as an Ethernet cable, optical fiber, etc.) or a wireless connection (such as Wi-Fi, cellular network, etc.). The virtual channel is a logical communication channel formed by merging or aggregating multiple physical channels.

[0054] In some embodiments, the encapsulating the data to be transmitted includes:

[0055] Adding a network layer protocol header to the data to be transmitted through the internal network layer, and the network layer protocol header includes the virtual address and the final destination address.

[0056] In some embodiments, the adding a network layer protocol header to the data to be transmitted through the internal network layer includes:

[0057] Encapsulating the data to be transmitted as a data packet payload into the payload field of the network layer data packet;

[0058] Adding the virtual address of the virtual network card as the source address and the address of the target server as the destination address to the head of the payload field of the network layer data packet in the form of a network layer protocol header through the internal network layer.

[0059] In this embodiment, the data to be transmitted is placed in the payload field of the network layer data packet, and then the virtual address of the virtual network card is used as the source address and the address of the target server is used as the destination address to be encapsulated into the control part of the internal network layer of the network layer data packet, so that the data to be transmitted is sent from the virtual address to the target server.

[0060] Specifically, in the process of writing the data to be transmitted into the virtual network card, an internal network layer protocol header can be added to the data packet to be transmitted in the data to be transmitted to generate a network layer data packet.

[0061] Among them, the internal network layer protocol header is located in the internal network layer, and includes the virtual address of the virtual network card and the address of the target server. The virtual address is used to identify the sender of the network layer data packet, and the address of the target server is used to identify the receiver of the network layer data packet. Since the source address included in the internal network layer protocol header is the virtual address of the virtual network card and the destination address included in the internal network layer protocol header is the address of the target server, the network layer data packet is a data packet sent from the virtual network card to the target server.

[0062] In addition, before adding the internal network layer protocol header to the data to be transmitted, a Transmission Control Protocol (TCP) header can also be added to the data to be transmitted to achieve reliable data transmission and management.

[0063] In this embodiment, by adding an internal network layer protocol header to the data packet to be transmitted, the sender and receiver of the data can be initially determined, which is convenient for the data to be routed and delivered in the network.

[0064] S120. Perform tunneling encapsulation processing on the network layer data packet to obtain a tunnel data packet, where the tunnel data packet includes at least two source addresses and at least two destination addresses. The at least two source addresses include the virtual address corresponding to the tunnel and the physical address corresponding to the physical channel, and the at least two destination addresses include a transit destination address and a final destination address;

[0065] In this embodiment, since the virtual channel is aggregated by multiple physical channels, for the applications in the current device, the virtual channel is a single channel, and the virtual channel has only a single entrance, that is, the virtual network card. Therefore, all the data to be transmitted can be aggregated and written into the virtual network card, and the data to be transmitted is distributed from the virtual network card to multiple physical channels in the virtual channel, and the multiple physical channels perform parallel transmission of the data to be transmitted. Each physical channel includes a physical network card, and the physical network card is used to identify the physical address of the physical channel.

[0066] After encapsulating the data to be transmitted written to the virtual network card to obtain a network layer data packet, the network layer data packet can be further encapsulated to obtain a tunnel data packet, and the tunnel data packet is allocated to the corresponding physical channel.

[0067] In some embodiments, the tunnel encapsulation process for the network layer data packet includes:

[0068] Adding a tunnel protocol header to the network layer data packet through an external network layer, where the tunnel protocol header includes the physical address and the transit destination address.

[0069] In some embodiments, adding the tunnel protocol header to the network layer data packet through the external network layer includes:

[0070] Determining the network layer data packet as the payload field of the tunnel data packet;

[0071] Adding the physical address of the physical network card as the source address and the address of the aggregation server as the destination address to the head of the payload field of the tunnel data packet in the form of a tunnel protocol header through the external network layer.

[0072] In this embodiment, an additional external network layer can be added on the basis of the network layer data packet. The source address in the external network layer is the physical address of the physical network card in the physical channel of the tunnel, and the destination address is the address of the aggregation server. The aggregation server is the server responsible for relaying between the current device and the target server.

[0073] Specifically, the current device can monitor the virtual network card in real time. Whenever a network layer data packet written to the virtual network card is detected, the network layer data packet can be intercepted, and an external network layer protocol header can be added to the network layer data packet to further encapsulate and obtain a tunnel data packet.

[0074] Among them, the external network layer protocol header is located in the network layer and contains the physical address of the physical network card and the transit destination address. The physical address of the physical network card is used to identify the sender of the network layer data packet, and the transit destination address is used to identify the receiver of the network layer data packet. Since the physical address of the physical network card included in the external network layer protocol header is the address of the physical network card corresponding to the physical channel for transmitting the network layer data packet, and the transit destination address included in the external network layer protocol header is the address of the aggregation server, the tunnel data packet is finally sent from the physical network card to the aggregation server. The selection method of the physical network card here can be through polling, load balancing, etc., and the present application does not limit this.

[0075] In addition, after adding an external network layer protocol header to the network layer data packet, a physical layer (Physical Layer Header, PHY) header can also be added to the network layer data packet. The physical layer header can include fields such as a physical layer address, frame synchronization and preamble markers, encoding and modulation information, etc., so that the network layer data packet can be correctly processed during the transmission and reception processes at the physical layer.

[0076] After adding an external network layer protocol header to the network layer data packet and encapsulating to obtain a new tunnel data packet, the new tunnel data packet can be written into the physical network card.

[0077] In this embodiment, by adding an external network layer protocol header to the network layer data packet, a tunnel data packet is obtained, thereby re-determining the sender and receiver of the data, facilitating the routing and delivery of the data in the network.

[0078] In this way, the tunnel data packet includes an internal network layer and an external network layer. The internal network layer is on the layer above the external network layer. The internal network layer includes the virtual address of the virtual network card and the final destination address; the external network layer includes the physical address of the physical network card and the transit destination address.

[0079] In some embodiments, before performing tunnel encapsulation processing on the network layer data packet, the method further includes:

[0080] Obtain the aggregation meta-information corresponding to each network layer data packet, add a protocol header field in front of the network layer corresponding to each network layer data packet, and add the aggregation meta-information in the protocol header field to obtain a network layer data packet carrying the aggregation meta-information, where the aggregation meta-information is used to indicate data aggregation for network data packets with the same attribute.

[0081] In this embodiment, during the process of encapsulating the data to be transmitted, data aggregation can be achieved by adding a protocol header field including aggregation meta-information to the network layer data packet.

[0082] Specifically, the aggregation layer protocol header is used to identify and manage the aggregation process of data in the network. The aggregation meta-information can include information such as an aggregation number, an aggregation size, a timestamp, etc. This information can be used to associate the same type of data packets in the data to be transmitted to the same aggregation.

[0083] Therefore, in this embodiment, the aggregation layer protocol header is located in the middle of the above internal network layer and external network layer. Different types of data packets can be aggregated by adding the aggregation layer protocol header to the network layer data packet, so as to facilitate the unified management of the data.

[0084] S130, transmit the tunnel data packet through the tunnel to the aggregation server, and the aggregation server forwards the tunnel data packet to the target server. The address of the aggregation server is the transit destination address, and the address of the target server is the final destination address.

[0085] In this embodiment, since the internal network layer is above the external network layer, the tunnel data packet will first be transmitted from the physical network card to the aggregation server corresponding to the transit destination address according to the source address and destination address of the external network layer, and then be transmitted from the aggregation server to the destination address of the internal network layer, that is, the target server, according to the source address and destination address of the internal network layer.

[0086] In the embodiment of the present application, in the communication between the device and the target server, the aggregation server is used as the transit server between the device and the target server, and then a tunnel is established between the aggregation server and the current device. Multiple physical channels are aggregated into a virtual channel through the tunnel technology. In this way, during the data transmission process, the device can encapsulate the data to be transmitted using the addresses at both ends of the tunnel (the virtual address and the address of the aggregation server). The data to be transmitted all contains the virtual address corresponding to the same tunnel and the address of the aggregation server connected to the tunnel. Furthermore, the data to be transmitted can be transmitted from the current device to the aggregation server through the tunnel, and the aggregation server forwards the data to the target server. Compared with the related technology in which data is directly transmitted between the current device and the target server through a physical channel, the present application optimizes the data transmission path by setting up a transit server and establishing a tunnel. Also, since there are fewer routing nodes in the tunnel, the data transmission delay is reduced.

[0087] After being transmitted to the aggregation server, the aggregation server then forwards it to the target server. The aggregation server in the present application can be set near the target server. Therefore, the communication between the device and the target server can be converted into tunnel communication between the device and the aggregation server to achieve more stable communication.

[0088] An embodiment of the present application also provides a data transmission method, which is applied to the aggregation server. The method includes the following steps:

[0089] Receive the tunnel data packet transmitted through the tunnel;

[0090] Judge whether the transit destination address carried in the tunnel data packet is consistent with the address of the aggregation server;

[0091] When the transit destination address is consistent with the address of the aggregation server, decompose the encapsulation of the tunnel data packet to obtain the final destination address, and the final destination address is the address of the target server.

[0092] Re - encapsulate the tunnel data packet based on the source address of the aggregation server and the said final destination address to obtain a re - organized data packet;

[0093] Send the re - organized data packet to the target server.

[0094] In this embodiment, since the target server can be a server that needs to exchange data with the device. And the aggregation server is an intermediate server deployed between the current device and the target server, which is used to transfer the data that needs to be transmitted between the vehicle and the target server.

[0095] Specifically, the current device can aggregate at least one type of data to be transmitted, and then transmit multiple tunnel data packets after aggregation to the aggregation server through a virtual channel. The aggregation server can then parse the multiple tunnel data packets, restore the original data to be transmitted after parsing, and re - encapsulate the data to be transmitted. The source address of the data to be transmitted after re - encapsulation is the address of the aggregation server, and the destination address is the address of the target server. Then, the re - organized data packet can be forwarded from the aggregation server to the target server according to the re - encapsulated source address and destination address.

[0096] In this way, the re - organized data packet after re - encapsulation can be routed and forwarded to the target server.

[0097] As an optional embodiment, the data parsing of the tunnel data packet, and re - organizing the tunnel data packet based on the result of the data parsing to obtain a re - organized data packet includes:

[0098] Perform data parsing on the tunnel data packet to obtain the data to be transmitted;

[0099] Obtain the final destination address from the internal network layer of the tunnel data packet, and obtain the transit destination address from the external network layer of the tunnel data packet;

[0100] Use the transit destination address as the source address and the final destination address as the destination address to encapsulate the data to be transmitted to obtain the re - organized data packet.

[0101] Based on the data transmission method provided in the above - mentioned embodiment, correspondingly, the present application also provides a specific implementation manner of a data transmission device. Please refer to the following embodiments.

[0102] First, refer to Figure 2 , the data transmission device 200 provided in the embodiment of the present application includes the following modules:

[0103] A writing module 201, configured to encapsulate the data to be transmitted to obtain a network layer data packet when detecting the data to be transmitted, wherein the data to be transmitted is transmitted through a tunnel, and the tunnel is a communication connection established between a virtual channel formed by aggregating a plurality of physical channels corresponding to the current device and an aggregation server;

[0104] An encapsulation module 202, configured to perform tunnel encapsulation processing on the network layer data packet to obtain a tunnel data packet, wherein the tunnel data packet includes at least two source addresses and at least two destination addresses, the at least two source addresses include the virtual address corresponding to the tunnel and the physical address corresponding to the physical channel, and the at least two destination addresses include a transit destination address and a final destination address;

[0105] A transmission module 203, configured to transmit the tunnel data packet to the aggregation server through the tunnel, and the aggregation server forwards the tunnel data packet to the target server, the address of the aggregation server is the transit destination address, and the address of the target server is the final destination address.

[0106] In an embodiment of the present application, the device can use the aggregation server as a transit server between the device and the target server in the communication between the device and the target server, and then establish a tunnel between the aggregation server and the current device, and aggregate a plurality of physical channels into a virtual channel through tunnel technology. In this way, during the data transmission process, the device can encapsulate the data to be transmitted by using the addresses at both ends of the tunnel (the virtual address and the address of the aggregation server). The data to be transmitted all contains the virtual address corresponding to the same tunnel and the address of the aggregation server connected to the tunnel. Furthermore, the data to be transmitted can be transmitted from the current device to the aggregation server through the tunnel, and the aggregation server forwards the data to the target server. Compared with directly transmitting data between the current device and the target server through a physical channel in the related art, the present application optimizes the data transmission path by setting up a transit server and establishing a tunnel, and since there are fewer routing nodes in the tunnel, the data transmission delay is reduced.

[0107] As an implementation manner of the present application, the tunnel data packet includes an internal network layer and an external network layer. The internal network layer is on the upper layer of the external network layer. The internal network layer includes the virtual address of the virtual network card and the final destination address; the external network layer includes the physical address of the physical network card and the transit destination address.

[0108] As an implementation manner of the present application, the above-mentioned writing module 201 may include:

[0109] A first adding unit, configured to add a network layer protocol header to the data to be transmitted through an internal network layer, where the network layer protocol header includes the virtual address and the final destination address.

[0110] As an implementation manner of the present application, the above encapsulation module 202 may include:

[0111] A second adding unit, configured to add a tunnel protocol header to the network layer data packet through an external network layer, where the tunnel protocol header includes the physical address and the transit destination address.

[0112] As an implementation manner of the present application, the above first adding unit may include:

[0113] A first encapsulation subunit, configured to encapsulate the data to be transmitted as a data packet payload into the payload field of the network layer data packet;

[0114] A second encapsulation subunit, configured to add, through the internal network layer, the virtual address of the virtual network card as the source address and the address of the target server as the destination address to the head of the payload field of the network layer data packet in the form of a network layer protocol header.

[0115] As an implementation manner of the present application, the above data transmission device 200 may further include:

[0116] An adding module, configured to obtain aggregation meta-information corresponding to each network layer data packet, add a protocol header field in front of the network layer corresponding to each network layer data packet, and add the aggregation meta-information to the protocol header field to obtain a network layer data packet carrying the aggregation meta-information, where the aggregation meta-information is used to indicate data aggregation of network data packets with the same attribute.

[0117] As an implementation manner of the present application, the above second adding unit may further include:

[0118] An adding subunit, configured to determine the network layer data packet as the payload field of the tunnel data packet;

[0119] A third encapsulation subunit, configured to add, through the external network layer, the physical address of the physical network card as the source address and the address of the aggregation server as the destination address to the head of the payload field of the tunnel data packet in the form of a tunnel protocol header.

[0120] As an implementation manner of the present application, the above data transmission device 300 may further include:

[0121] A receiving module, configured to receive a tunnel data packet transmitted through the tunnel;

[0122] A judgment module, configured to judge whether the transit destination address carried in the tunnel data packet is the same as the address of the aggregation server;

[0123] A de - encapsulation module, configured to de - encapsulate the tunnel data packet to obtain a final destination address when the transit destination address is the same as the address of the aggregation server, where the final destination address is the address of the target server;

[0124] A recombination module, configured to re - encapsulate the tunnel data packet based on the source address of the aggregation server and the final destination address to obtain a recombined data packet;

[0125] A forwarding module, configured to send the recombined data packet to the target server.

[0126] As an implementation manner of this application, the above - mentioned recombination module can be used to:

[0127] Perform data parsing on the tunnel data packet to obtain data to be transmitted;

[0128] Obtain the final destination address from the internal network layer of the tunnel data packet, and obtain the transit destination address from the external network layer of the tunnel data packet;

[0129] Use the transit destination address as the source address and the final destination address as the destination address to encapsulate the data to be transmitted, and obtain the recombined data packet.

[0130] The data transmission device provided by the embodiments of the present invention can implement each step in the above - mentioned method embodiments. To avoid repetition, it will not be elaborated here.

[0131] Figure 3 Fig. shows a schematic hardware structure diagram of a data transmission device provided by an embodiment of this application.

[0132] In the data transmission device, it may include a processor 301 and a memory 302 storing computer program instructions.

[0133] Specifically, the above - mentioned processor 301 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.

[0134] The memory 302 may include a mass storage for data or instructions. By way of example and not limitation, the memory 302 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 302 may include removable or non-removable (or fixed) media. Where appropriate, the memory 302 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, the memory 302 is a non-volatile solid-state memory.

[0135] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage media device, an optical storage media device, a flash memory device, an electrical, optical, or other physical / tangible memory storage device. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0136] The processor 301 reads and executes the computer program instructions stored in the memory 302 to implement any of the data transmission methods in the above embodiments.

[0137] In one example, the data transmission device may further include a communication interface 303 and a bus 310. Among them, as Figure 3 shown, the processor 301, the memory 302, and the communication interface 303 are connected through the bus 310 to complete communication with each other.

[0138] The communication interface 303 is mainly used to implement communication between the various modules, devices, units, and / or devices in the embodiments of the present application.

[0139] The bus 310 includes hardware, software, or both, and couples components of the data transmission device to each other. By way of example and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable bus or a combination of two or more of these. Where appropriate, the bus 310 may include one or more buses. Although embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.

[0140] The data transmission device may be based on the foregoing embodiments, thereby implementing the data transmission method and apparatus in combination with the above.

[0141] In addition, in combination with the data transmission method in the foregoing embodiments, embodiments of the present application may provide a computer storage medium for implementation. Computer program instructions are stored on the computer storage medium; when the computer program instructions are executed by a processor, any one of the data transmission methods in the foregoing embodiments is implemented, and the same technical effects can be achieved. For the sake of brevity, details are not repeated here. Among them, the above computer-readable storage medium may include a non-transitory computer-readable storage medium, such as a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disc, etc., which are not limited herein.

[0142] In addition, embodiments of the present application further provide a vehicle, including computer program instructions, which can implement the steps and corresponding content of the foregoing method embodiments when executed by a processor.

[0143] It should be clear that the present application is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated. Those skilled in the art can make various changes, modifications, and additions, or change the order between steps after understanding the spirit of the present application.

[0144] The functional blocks shown in the above structural block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, and so on. When implemented in software, the elements of the present application are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium or transmitted via a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical discs, hard disks, fiber optic media, radio frequency (RF) links, and so on. The code segment can be downloaded via a computer network such as the Internet, an intranet, and so on.

[0145] It should also be noted that the exemplary embodiments mentioned in the present application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above steps. That is, the steps can be executed in the order mentioned in the embodiments, or different from the order in the embodiments, or several steps can be executed simultaneously.

[0146] As described above with reference to the flowcharts and / or block diagrams of the methods, apparatuses, and vehicles according to embodiments of the present disclosure. It should be understood that each block in the flowchart and / or block diagram, and the combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the functions / actions specified in one or more blocks of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It can also be understood that each block in the block diagram and / or flowchart, and the combinations of blocks in the block diagram and / or flowchart, can also be implemented by dedicated hardware that performs the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0147] The above is only the specific implementation manner of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein. It should be understood that the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of various equivalent modifications or substitutions, and these modifications or substitutions should all be covered within the protection scope of the present application.

Claims

1. A data transmission method, characterized in that, The method includes: When detecting the data to be transmitted, encapsulate the data to be transmitted to obtain a network layer data packet. Among them, the data to be transmitted is transmitted through a tunnel, and the tunnel is a communication connection established between a virtual channel formed by aggregating multiple physical channels corresponding to the current device and an aggregation server; Perform tunnel encapsulation processing on the network layer data packet to obtain a tunnel data packet. Among them, the tunnel data packet includes at least two source addresses and at least two destination addresses. The at least two source addresses include the virtual address corresponding to the tunnel and the physical address corresponding to the physical channel. The at least two destination addresses include a transit destination address and a final destination address; Transmit the tunnel data packet to the aggregation server through the tunnel, and the aggregation server forwards the tunnel data packet to the target server. The address of the aggregation server is the transit destination address, and the address of the target server is the final destination address.

2. The data transmission method according to claim 1, wherein The encapsulating the data to be transmitted includes: Add a network layer protocol header to the data to be transmitted through the internal network layer. The network layer protocol header includes the virtual address and the final destination address; The tunnel encapsulation processing on the network layer data packet includes: Add a tunnel protocol header to the network layer data packet through the external network layer. The tunnel protocol header includes the physical address and the transit destination address.

3. The data transmission method according to claim 2, wherein The adding a network layer protocol header to the data to be transmitted through the internal network layer includes: Encapsulate the data to be transmitted as a data packet payload into the payload field of the network layer data packet; Through the internal network layer, use the virtual address of the virtual network card as the source address and the address of the target server as the destination address, and add them to the head of the payload field of the network layer data packet in the form of a network layer protocol header.

4. The data transmission method according to claim 2, wherein Before the tunnel encapsulation processing on the network layer data packet, the method further includes: Obtain the aggregation meta-information corresponding to each network layer data packet, add a protocol header field in front of the network layer corresponding to each network layer data packet, and add the aggregation meta-information in the protocol header field to obtain a network layer data packet carrying the aggregation meta-information. Among them, the aggregation meta-information is used to indicate data aggregation of network data packets with the same attribute.

5. The data transmission method according to claim 2, characterized in that, The adding a tunnel protocol header to the network layer data packet through the external network layer includes: Determine the network layer data packet as the payload field of the tunnel data packet; Through the external network layer, use the physical address of the physical network card as the source address and the address of the aggregation server as the destination address, and add them to the head of the payload field of the tunnel data packet in the form of a tunnel protocol header.

6. A data transmission method, characterized in that, The method is applied to an aggregation server, and the method includes: Receive the tunnel data packet transmitted by the tunnel; Judge whether the transit destination address carried in the tunnel data packet is consistent with the address of the aggregation server; When the transit destination address is consistent with the address of the aggregation server, perform decapsulation on the tunnel data packet to obtain the final destination address, and the final destination address is the address of the target server; Re - encapsulate the tunnel data packet based on the source address of the aggregation server and the final destination address to obtain a re - organized data packet; Send the re - organized data packet to the target server.

7. The data transmission method according to claim 6, wherein Re - encapsulating the tunnel data packet based on the source address of the aggregation server and the final destination address to obtain a re - organized data packet includes: Perform data parsing on the tunnel data packet to obtain the data to be transmitted; Obtain the final destination address from the internal network layer of the tunnel data packet and obtain the transit destination address from the external network layer of the tunnel data packet; Use the transit destination address as the source address and the final destination address as the destination address to encapsulate the data to be transmitted, obtaining the re - organized data packet.

8. A data transmission device, characterized in that The device includes: A writing module, configured to encapsulate the data to be transmitted to obtain a network - layer data packet when detecting the data to be transmitted, where the data to be transmitted is transmitted through a tunnel, and the tunnel is a communication connection established with an aggregation server through a virtual channel formed by aggregating multiple physical channels corresponding to the current device; An encapsulation module, configured to perform tunnel encapsulation processing on the network - layer data packet to obtain a tunnel data packet, where the tunnel data packet includes at least two source addresses and at least two destination addresses, the at least two source addresses include the virtual address corresponding to the tunnel and the physical address corresponding to the physical channel, and the at least two destination addresses include the transit destination address and the final destination address; A transmission module, configured to transmit the tunnel data packet to the aggregation server through the tunnel, and the aggregation server forwards the tunnel data packet to the target server, the address of the aggregation server is the transit destination address, and the address of the target server is the final destination address.

9. A data transmission device, characterized in that, The data transmission device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the data transmission method according to any one of claims 1 - 7.

10. A computer storage medium, characterized in that, Computer program instructions are stored on the computer storage medium, and when the computer program instructions are executed by the processor, they implement the data transmission method according to any one of claims 1 - 7.

11. A vehicle, characterized in that, The vehicle includes at least one of the above - mentioned data transmission device, data transmission equipment, and computer storage medium.