Data transmission method based on high-speed network, system, and computing device cluster
By using RDMA technology and intelligent routing rules in the serverless service mesh, the problem of sidecar container packet unpacking and occupancy of resources is solved, and faster network transmission and reduction are achieved cost.
Patent Information
- Application Number
- PCT/CN2024/096294
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-05-31
- Filing Date
- 2024-05-30
- Publication Date
- 2024-12-05
AI Technical Summary
In the serverless service grid, the sidecar container in the computing node needs to perform multiple packet unpackaging and forwarding operations, resulting in large computing resources, slow network transmission speed, and increased costs.
Using a high-speed network-based method, data interaction is performed directly between the gateway and the network proxy through RDMA technology and intelligent routing rules, avoid packet unpacking and forwarding operations, and data storage and transmission is used for shared memory pool and shared memory.
It improves network transmission speed, saves computing resources, and reduces the operating costs of the serverless cloud platform.
Smart Images

Figure CN2024096294_05122024_PF_FP_ABST
Abstract
Description
A data transmission method, system and computing device cluster based on high-speed network
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on May 31, 2023, with application number 202310636256.0 and application name “A data transmission method, system and computing device cluster based on high-speed network”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of cloud computing technology, and in particular to a data transmission method and system based on a high-speed network, and a computing device cluster. Background Art
[0003] Currently, serverless services, with their maintenance-free nature and rapid development capabilities, have become a key service offering on cloud platforms. Each serverless instance in a compute node is connected to a sidecar container, whose network configuration is managed by the control plane. The sidecar container proxies inbound and outbound traffic for the serverless instance, enabling network traffic scheduling for the serverless instance.
[0004] In serverless service mesh network management, serverless instances cannot communicate directly with the gateway, or between serverless instances themselves. Instead, independent proxy servers and sidecar containers are required to perform multiple packet encapsulation, unpacking, and forwarding operations. Consequently, sidecar containers consume significant computing resources, take a long time to process packets, and slow network transmission speeds.
[0005] Summary of the Invention
[0006] The present application provides a data transmission method, system and computing device cluster based on a high-speed network. In a service grid system based on a high-speed network, gateways and network agents directly implement data interaction through remote direct memory access (RDMA) technology and intelligent routing rules, which can improve network transmission speed and reduce the consumption of computing resources.
[0007] In a first aspect, the present application provides a high-speed network-based data transmission method, which is applied to a high-speed network-based service grid system. The system includes a gateway connected via a high-speed network, a shared memory pool, and computing nodes deployed with a business container and a network agent, wherein the business container is connected to the network agent. The method includes: after obtaining first data, the gateway determines, based on container information and routing rules, an address for sending the first data or a first transmission method for the first data and a first business container for receiving the data, wherein the transmission method can be any one of multiple fast channels supported by the gateway, including those utilizing RDMA technology. The first network agent connected to the first business container directly obtains the first data. Similarly, the first network agent can support the aforementioned multiple fast channels.
[0008] In the above process, the gateway and the network agent interact with data addresses or data through RDMA technology and intelligent routing rules in a service grid system based on a high-speed network, thereby obtaining data stored in a shared memory pool or shared memory in a computing node. There is no need to unpack or encapsulate data packets, nor is there a need to deploy an independent proxy server in the system for data packet processing and forwarding operations. This can improve network transmission speed and save computing resources.
[0009] In one possible implementation, container information and routing rules are stored in a shared memory pool or in the shared memory of a computing node. Routing rules include inter-container transmission rules and transmission mode selection strategies, wherein inter-container transmission rules include one or more of load balancing (LB) rules, label-based routing rules, time domain identifiers, memory locations, and container / container group binding relationship rules, which are used to determine the next-hop business container. The transmission mode selection strategy is used to determine the rules and algorithms for the target transmission method based on the data transmission volume or data latency requirements. The above-mentioned container information and routing rules can also be continuously updated according to actual conditions. When a gateway or network proxy forwards data, the container information and routing rules in the shared memory pool or shared memory are accessed, or the container information and routing rules are pulled locally to determine the next-hop business container and transmission method.
[0010] In one possible implementation, after the first network agent obtains the first data, the first network agent stores the first processing result generated based on the first data in a shared memory pool or in the shared memory of the computing node that includes the first network agent. Similar to the step where the gateway determines the first business container, the first network agent also needs to determine whether a next-hop business container exists based on the container information and routing rules. In this process, the first network agent stores the first processing result in the shared memory pool or shared memory, allowing multiple computing nodes to share a copy of the first processing result, thereby conserving memory resources.
[0011] In one possible implementation, when the first network proxy determines the existence of a next-hop business container based on container information and routing rules, it determines a second business container and a second transmission mode, and sends the address of the first processing result or the first processing result to the second business container via the second transmission mode. The second transmission mode is also one of multiple fast channels. The first network proxy can improve network transmission performance by using intelligent routing rules to determine the next-hop business container and appropriate transmission mode. Among them, the second transmission mode has the following situations: when the first business container and the second business container are located in different computing nodes, that is, when data is exchanged between different computing nodes, the second business container accesses the memory space or shared memory space corresponding to the first business container through the second network agent or the second gateway in the corresponding computing node; when data is accessed based on a shared memory pool, the first network agent or the first gateway stores the first processing result in the shared memory pool and sends the storage address to the second business container; when the first business container and the second business container are located in the same computing node and share data based on shared memory, the first network agent caches the data in the local shared memory and sends the cache address to the second business container; when the data transmission volume is very small, for example, when the data transmission volume is at the KB level, the first network agent piggybacks the first processing result in the signaling for establishing a connection with the second business container. The above transmission modes do not require the network agent and the gateway to perform operations such as packet encapsulation and decapsulation. Data acquisition can be achieved by transmitting the data address or data, and even does not require establishing data plane transmission, thereby improving network transmission speed.
[0012] In one possible implementation, when the first network proxy determines that there is no next-hop service container based on the container information and routing rules, it determines a third transmission method and sends the address of the first processing result or the first processing result to the gateway via the third transmission method. The third transmission method is also any one of a variety of fast channels, which are not further described here. If there is no next-hop service container, the service process ends, and the network proxy sends the processing result to the user device via the gateway. The third transmission method enables direct data transmission between the gateway and the network proxy, which can improve network transmission speed.
[0013] In a second aspect, the present application provides a high-speed network-based service grid system, comprising a gateway connected via a high-speed network, a shared memory pool, and computing nodes deployed with a business container and a network agent, wherein the business container is connected to the network agent. The gateway is configured to obtain first data, wherein the gateway supports multiple fast channels including Remote Direct Data Access (RDMA) technology; determine a first business container and a first transmission method based on container information and routing rules, wherein the first transmission method is any one of multiple fast channels; send the address of the first data or the first data to the first business container via the first transmission method; and a first network agent corresponding to the first business container is configured to obtain the first data, wherein the first network agent supports multiple fast channels.
[0014] In one possible implementation, container information and routing rules are stored in a shared memory pool or in the shared memory of a compute node. Routing rules include inter-container transmission rules and transmission mode selection strategies. Inter-container transmission rules include one or more of load balancing (LB) rules, label-based routing rules, time domain identifiers (IDs), memory locations, and container / container group binding rules, used to determine the next-hop service container. The transmission mode selection strategy is used to determine the rules and algorithms for the target transmission method based on data transmission volume or data latency requirements.
[0015] In one possible implementation, after obtaining the first data, the first network agent is further used to store a first processing result generated based on the first data in a shared memory pool or in a shared memory of a computing node including the first network agent; and determine whether a next-hop business container exists based on the container information and routing rules.
[0016] In a possible implementation, when it is determined based on the container information and the routing rule that a next-hop business container exists, the first network agent is specifically used to determine a second business container and a second transmission mode, and send the address of the first processing result or the first processing result to the second business container via the second transmission mode, where the second transmission mode is any one of multiple fast channels.
[0017] In one possible implementation, the first network agent is specifically configured to determine a third transmission mode when it is determined based on the container information and the routing rule that no next-hop business container exists, and send the address of the first processing result or the first processing result to the gateway through the third transmission mode, wherein the third transmission mode is any one of a plurality of fast channels.
[0018] In a third aspect, the present application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster performs the method provided in the first aspect.
[0019] In a fourth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device cluster, causes the computing device cluster to execute the method provided in the first aspect.
[0020] In a fifth aspect, the present application provides a computer-readable storage medium, which includes computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method provided in the first aspect.
[0021] Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments.
[0023] FIG1 is a schematic diagram of the structure of a high-speed network-based service grid system provided in an embodiment of the present application;
[0024] FIG2 is a flow chart of a data transmission method based on a high-speed network provided in an embodiment of the present application;
[0025] FIG3 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0026] FIG4 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0027] FIG5 is a schematic diagram of a structure in which one or more computing devices are connected via a network, as provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] Currently, serverless services have become a key service offering on cloud platforms due to their on-demand resource allocation, maintenance-free nature, and rapid development capabilities. Compute nodes in serverless services include business containers and sidecar containers. The business containers are connected to the sidecar containers, whose network configuration is managed by the control plane. The sidecar containers act as proxies for inbound and outbound traffic for the business containers, thereby scheduling their network traffic.
[0029] In the network management of a serverless service mesh, business containers within compute nodes cannot communicate directly with each other. Independent proxy servers and sidecar containers are required to perform operations such as packet encapsulation, decapsulation, and forwarding. Data requests sent by the gateway must also be forwarded to the backend compute nodes via an independent proxy server. The sidecar container corresponding to the serverless instance in the compute node decapsulates the data request forwarded by the proxy. If a next hop exists, it continues encapsulation and sends the data packet to the proxy server, which then forwards it to the target compute node.
[0030] During this process, the sidecar containers in the compute nodes perform packet encapsulation and unpacking, which consumes significant computing resources. This results in long data processing times and slow network transmission speeds. Furthermore, the control plane and the network configuration information delivered to the containers consume significant storage resources, increasing costs for serverless platforms that implement resource-based billing.
[0031] In order to solve the above problems, the present application proposes a data transmission method based on a high-speed network, by deploying gateways and network agents that support high-speed networks such as the Transmission Control Protocol / Internet Protocol (TCP / IP) protocol and remote direct memory access (RDMA) in a disaggregated data center (DDC), so that the network agent in the computing node can access the shared memory pool or the shared memory in the computing node according to the data address, and determine the transmission method according to the routing rules and container information to achieve data interaction. In this process, the transmission of data does not require independent proxy servers and sidecar containers to perform packetization, unpacking and forwarding operations. Data addresses can be exchanged through a high-speed network to obtain data, thereby improving the speed of network transmission and saving computing resources. The shared memory pool in the disaggregated data center can also reduce the demand for storage resources. When the above method is applied to serverless services, the operating costs of the serverless cloud platform can be reduced.
[0032] The present application proposes a high-speed network-based data transmission method for use in a high-speed network-based service grid system. As shown in FIG1 , FIG1 is a schematic diagram of the structure of a high-speed network-based service grid system provided by an embodiment of the present application. The high-speed network-based service grid system includes a gateway 110, a shared memory pool 120, and computing nodes 130 deployed with a business container 131 and a network agent 132. The gateway, shared memory pool, and computing nodes are connected via a high-speed network such as RDMA.
[0033] In a specific implementation, the gateway is used to handle the inbound and outbound traffic of the system. In addition to supporting traditional sockets and TCP / IP, it can also add multiple fast channels including those using RDMA technology in a pluggable manner. The gateway can also support more fast channels, which is not specifically limited in this application.
[0034] In a specific implementation, the shared memory pool includes a shared data pool for caching data to be transmitted and a space for storing container information and routing rules, wherein the container information and routing rules are continuously updated according to actual conditions. Routing rules include transmission rules between containers and transmission mode selection strategies, wherein the transmission rules between containers include one or more of load balancing LB rules, label-based routing rules, time domain identification ID, memory location, and container / container group binding relationship rules, which are used to determine the next-hop business container. The transmission rules between containers can also include more or less content, which is not specifically limited in this application. The transmission mode selection strategy is used to determine the rules and algorithms of the target transmission method based on the data transmission volume or data delay requirements. The shared memory pool can also include more or less information, which is not specifically limited in this application.
[0035] In a specific implementation, the business container in the compute node establishes a socket or other connection with the network proxy. The network proxy is extremely lightweight and supports multiple transmission methods, which is used to handle the traffic in and out of the connected business container. If the network proxy in the compute node is a container, each network proxy is connected to a business container; if the network proxy in the compute node is a host-level container, each network proxy can be connected to multiple business containers, which is not specifically limited in this application.
[0036] In a specific implementation, for applications that primarily communicate within a computing node, a node gateway 133 can be deployed in the computing node so that the network proxy is only responsible for communication within the computing node, while communication across computing nodes is handled by the node gateway, which can reduce the resource usage of the network proxy. For applications that primarily communicate between computing nodes, a node gateway does not need to be deployed in the computing node, and the network proxy can handle all traffic, thereby avoiding an extra hop that increases computing overhead. The computing node can also include shared memory 134 for storing container information and routing rules, etc. The computing node can also include more or less content, which is not specifically limited in this application.
[0037] In a possible implementation, the business container in the computing node in the above process may also be a different instance such as a virtual machine, which is not specifically limited in this application.
[0038] The high-speed network-based service mesh system described above is a service mesh solution designed based on a decentralized data center. Decentralized data centers pool various resources, concentrating them in corresponding resource pools and distributing them unevenly. Resource pools are connected by a high-speed network. The service mesh separates service communication and related control functions from business applications, with network proxies performing these operations.
[0039] In existing service grid solutions, since the computing nodes are not connected by a high-speed network and cannot share memory, when network transmission is performed between computing nodes, the sidecar container corresponding to the business container needs to unpack, encapsulate, and forward data packets layer by layer, which takes up a large amount of computing resources and slows network transmission speed. Compared with existing service grid solutions, in the high-speed network service grid system provided in this application, by utilizing the characteristics of separated data centers, the gateway resource pool and the network agent in the computing node can exchange data addresses through RDMA technology to access the shared memory pool or shared memory to obtain data, which can fully improve network transmission speed and save computing resources.
[0040] As shown in Figure 2, Figure 2 is a flowchart of a high-speed network-based data transmission method provided in an embodiment of the present application. The method is applied to the high-speed network-based service grid system shown in Figure 1, and the method includes the following steps.
[0041] Step S210: The gateway acquires the first data, wherein the gateway supports multiple fast channels including Remote Direct Data Access (RDMA) technology.
[0042] The gateway serves as the entrance and exit of the system traffic and receives the first data sent by the device outside the system.
[0043] In one possible implementation, the multiple fast channels supported by the gateway include: when data access is based on a shared memory pool, the gateway stores the data in the shared memory pool and sends the stored address to the target business container; when the data transmission volume is very small, for example, the data transmission volume is at the kilobyte (kB) level, the gateway piggybacks the data in the signaling for establishing a connection with the next-hop business container. The gateway can also support more types of transmission methods, as long as the corresponding fast channel plug-in is installed or enabled as needed. This application does not specifically limit this.
[0044] Step S220: The gateway determines a first service container and a first transmission mode according to the container information and the routing rule, wherein the first transmission mode is any one of a plurality of fast channels.
[0045] After obtaining the first data, the gateway accesses the shared memory pool to obtain container information and routing rules. Based on the container information in each compute node and the inter-container transmission rules in the routing rules, the gateway determines the next-hop target service container, the first service container, and, based on the data transmission volume and latency requirements, a first transmission mode.
[0046] The gateway determines the next-hop business container and transmission method based on real-time updated container information and routing rules to achieve load balancing, ensuring that the business container can work normally. Selecting the appropriate transmission method can also improve network transmission performance.
[0047] In one possible implementation, after determining the first business container, the gateway establishes a network connection with the first business container. If the first transmission mode is a fast channel for data access based on a shared memory pool, the gateway stores the first data in a shared data pool within the shared memory pool. Storing the first data in the shared data pool enables memory sharing, allowing multiple computing nodes to share a single copy of the data, thereby saving storage resources.
[0048] Step S230: The gateway sends the address of the first data or the first data to the first service container through the first transmission mode.
[0049] When the first transmission mode is a different fast channel, the gateway sends the address of the first data or the first data to the first business container via the first transmission mode. The gateway and the first business container can communicate without requiring the gateway or an independent proxy server to perform operations such as packet encapsulation, decapsulation, and forwarding, thereby improving network transmission speed and saving computing resources.
[0050] In a possible implementation, when the first transmission mode is a fast channel for data access based on a shared memory pool, the gateway sends the address of the first data in the shared memory pool to the first service container through the RDMA technology.
[0051] In another possible implementation, when the first transmission mode is to piggyback data with a very small transmission volume through control plane signaling, the gateway encloses the first data in the signaling for establishing a network connection with the first service container.
[0052] In a possible implementation, when the communication between the gateway and the business container involves channel conversion between TCP / IP and RDMA, the gateway has a channel conversion component and can call a local protocol conversion program, etc., which is not specifically limited in this application.
[0053] Step S240: The first network agent obtains first data, wherein the first network agent supports multiple fast channels.
[0054] The first network proxy corresponding to the first business container intercepts the address of the first data or the first data sent by the gateway to the first business container, and obtains the first data by accessing the shared memory pool or directly obtaining the first data based on the address of the first data. Compared to the prior art, the first network proxy in this application can obtain the first data without performing operations such as packet encapsulation and decapsulation, greatly improving network transmission speed and reducing the computing overhead required by the network proxy.
[0055] In one possible implementation, the multiple fast channels supported by the first network agent include: when data is exchanged between different computing nodes, the business container accesses the memory space or shared memory space corresponding to the target business container through the network agent or the gateway in the computing node; when data is accessed based on a shared memory pool, the network agent stores the data in the shared memory pool and sends the stored address to the target business container; when data is shared based on shared memory within the same computing node, the network agent caches the data in the local shared memory and sends the cache address to the target business container; when the data transmission volume is very small, for example, the data transmission volume is at the kB level, the network agent piggybacks the data in the signaling for establishing a connection with the next-hop business container.
[0056] The first network agent can also support other transmission methods and install or enable corresponding transmission method plug-ins as needed to implement functions such as establishing, managing, and destroying the connection method with the next-hop business container. This application does not elaborate on these functions one by one. The above transmission methods do not require the network agent to perform operations such as packet encapsulation and decapsulation. They only transmit data and do not even need to establish data plane transmission to achieve data acquisition, which greatly improves network transmission speed.
[0057] Step S250: the first network agent stores the first processing result generated according to the first data in a shared memory pool or in a shared memory of a computing node including the first network agent.
[0058] After the first network agent obtains the first data, the first business container generates a first processing result based on the first data. The first network agent stores the first processing result in a shared memory or in a shared memory of a computing node including the first network agent, which is not specifically limited in this application. Whether the first network agent stores the first processing result in a shared memory pool or in shared memory can achieve data sharing. By exchanging addresses, other computing nodes, or business containers and gateways on the same computing node, can obtain the first processing result via RDMA technology, thereby saving storage space.
[0059] Step S260: The first network agent determines whether there is a next-hop service container based on the container information and routing rules. If there is a next-hop service container, the first network agent executes step S270; if not, the first network agent executes step S280.
[0060] Step S270: The first network agent determines the second business container and the second transmission mode according to the container information and the routing rule, and sends the address of the first processing result or the first processing result to the second business container via the second transmission mode, wherein the second transmission mode is any one of multiple fast channels.
[0061] If the business process has not yet ended, the first network proxy determines the second business container and the second transmission method based on the container information and routing rules, and sends the address of the first processing result or the first processing result to the second business container via the second transmission method. Compared to the situation where business containers on different computing nodes cannot directly transmit data and are forwarded by the proxy server, the first network proxy in this application can establish a connection with the next-hop business container through intelligent routing rules and high-speed networks, directly transmitting data, which can improve network transmission speed.
[0062] In a possible implementation, when communication between network agents involves TCP / IP and RDMA channel conversion, the network agent has a channel conversion component and can call a local protocol conversion program, etc., which is not specifically limited in this application.
[0063] The first network agent repeats step S270 until it determines that there is no next-hop service container, and then executes step S280.
[0064] Step S280: The first network agent determines a third transmission mode according to the container information and the routing rule, and sends the address of the first processing result or the first processing result to the gateway via the third transmission mode, wherein the third transmission mode is any one of a plurality of fast channels.
[0065] If there is no next-hop container, the business process ends, and the first network agent determines the third transmission method based on the container information and routing rules, and sends the address of the first processing result or the first processing result to the gateway through the third transmission method, so that the gateway obtains the first processing result and sends it to a device outside the system.
[0066] In one specific embodiment, when a gateway receives first data sent by a user device via a traditional TCP / IP protocol, the gateway determines the first service container of the next hop based on the container information stored in the shared memory pool and the inter-container transmission rules in the routing rules. Furthermore, based on the transmission mode selection policy in the intelligent routing rules, the gateway determines the first transmission mode from among multiple fast channels supported by the gateway. Alternatively, the gateway determines the first transmission mode based on the intelligent routing configuration results sent by the user device.
[0067] When the first transmission mode is data access based on a shared memory pool, the gateway stores the first data in the shared memory pool. After determining the first service container and the first transmission mode, the gateway establishes a network connection with the first service container and sends the address of the first data to the first service container via the first transmission mode.
[0068] After receiving the first data processing request, the first network agent corresponding to the first business container accesses the shared data pool according to the address of the first data through RDMA technology to obtain the first data. The first business container processes the obtained first data and generates a first processing result. The first network agent determines the second business container and the second transmission method of the next hop based on the container information and intelligent routing. When the second transmission method is also based on data access based on the shared memory pool, the processed first processing result is stored in the shared data pool, and a connection is established with the second business container, and the address of the first processing result is sent to the second business container via the second transmission method. The second network agent connected to the second business container also obtains the first processing result in the shared data pool through RDMA technology, and stores the generated second processing result in the second local memory space.
[0069] The second network agent determines that the third transmission mode is a fast channel for data exchange between different computing nodes. The second network agent exposes the second local memory space to a third service container deployed on another computing node, allowing the third network agent corresponding to the third service container to access the second local memory space via RDMA technology to obtain the second processing result. After processing the second processing result, the third service container generates a third processing result with a data volume in the KB level. Due to the small data volume, the third network agent determines an appropriate fourth transmission mode based on routing rules and piggybacks the third processing result in control plane signaling to the determined fourth service container. The fourth network agent corresponding to the fourth service container then sends the third processing result to the gateway via the same signaling piggyback method, and the gateway sends the third processing result to the user device.
[0070] To sum up, the present application provides a data transmission method based on a high-speed network. In a service grid system based on a high-speed network, a gateway with high-speed network capabilities and a network agent in a computing node utilize the characteristics of a separated data center, utilize RDMA technology and intelligent routing rules, and access a shared memory pool or shared memory by exchanging data addresses, etc. to obtain data, which can improve network transmission speed and save computing resources and storage resources.
[0071] As shown in Figure 3, Figure 3 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. The computing device can be used as a gateway or computing node in the system shown in Figure 1 to perform the corresponding steps in the high-speed network-based data transmission method shown in Figure 2. The computing device 300 includes at least: a processor 310, a memory 320, a communication interface 330, and a bus 340. The processor, memory, and communication interface can communicate via the bus.
[0072] The processor 310 can be composed of at least one general-purpose processor, such as a central processing unit (CPU), or a combination of a CPU and a hardware chip. The above-mentioned hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 310 is used to execute the corresponding steps and realize the corresponding functions. In the case where the computing device is a computing node, the computing node includes one or more processors, and this application does not specifically limit the number of processors.
[0073] Memory 320 can be volatile memory, such as random access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), double data rate RAM (DDR), cache, etc. Memory can also include a combination of the above. Memory 320 stores instructions for gateways or computing nodes, each of which is used to execute the high-speed network-based data transmission method in Figure 2. It can also store container information, routing rules, etc., which are not specifically limited in this application.
[0074] The communication interface 330 uses a transceiver module such as, but not limited to, a network interface card or a transceiver, and supports RDMA and TCP / IP protocols to achieve communication between computing nodes, gateways or shared resource pools, and between gateways and computing nodes or shared resource pools. This application does not make specific limitations on this.
[0075] Bus 340 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses can be categorized as address buses, data buses, and control buses. For ease of illustration, FIG3 shows a single line, but this does not imply a single bus or type of bus. Bus 340 may include a path for transmitting information between various components of a computing device (e.g., processor 310, memory 320, and communication interface 330).
[0076] It should be noted that FIG3 is only a possible implementation of the embodiment of the present application. In actual applications, the computing device may also include more or fewer components, which is not limited here.
[0077] As shown in Figure 4, an embodiment of the present application also provides a schematic diagram of the structure of a computing device cluster, which includes at least one computing device 300, wherein each computing device can communicate with each other. The memory 320 of one or more computing devices 300 in the computing device cluster may store the same instructions for executing a high-speed network-based data transmission method provided in an embodiment of the present application.
[0078] In some possible implementations, the memory 320 of one or more computing devices in the computing device cluster may also store partial instructions for executing the above-mentioned high-speed network-based data transmission method. In other words, the combination of one or more computing devices can jointly execute instructions for executing the above-mentioned high-speed network-based data transmission method.
[0079] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a high-speed network such as RDMA.
[0080] In one possible implementation, the computing device cluster is integrated into a computing resource pool through virtualization technology, and the cloud platform generates and allocates computing resources on demand to achieve elastic expansion or reduction of computing resources. As shown in Figure 4, the cloud platform can create a cloud server (Elastic Compute Service, ECS) or a cloud application instance on demand in the computing device, and can also create one or more cloud application instances in the cloud server, for example, creating cloud application instance 1 in cloud server 1. Cloud server 1, cloud server 2, and cloud application instances 1 to 4 can be business containers in the computing node in Figure 1, or network proxies, etc., which are not specifically limited in this application.
[0081] Figure 5 is a schematic diagram of a structure in which one or more computing devices are connected via a network, as provided by an embodiment of the present application. As shown in Figure 5, two computing devices 300A and 300B are connected via a network, which can be a high-speed network such as RDMA. Computing device 300A includes a processor 310A, memory 320A, a communication interface 330A, and a bus 340A, while computing device 300B includes a processor 310B, memory 320B, a communication interface 330B, and a bus 340B. Specifically, one or more computing devices are connected to a network such as RDMA via a communication interface in each computing device.
[0082] In one possible embodiment, both computing devices are computing nodes, including multiple cloud servers and cloud application instances as shown in FIG4 . Cloud application instance 1 in computing device 300A is the first business container, cloud application instance 2 is the first network proxy connected to the first business container, cloud application instance 3 in computing device 300B is the second business container, and cloud application instance 4 is the second network proxy connected to the second business container. Cloud application instance 2 in computing device 300A is used to determine that the next-hop business container is cloud application instance 3 in computing device 300B based on the container information in the memory and the routing rules, and to determine the transmission method for transmitting the processing result generated by cloud application instance 1 in computing device 300A. Afterwards, the address of the processing result is sent to cloud application instance 3 in computing device 300B via the determined transmission method using RDMA technology, which can realize direct data transmission between computing nodes and improve network transmission speed.
[0083] In one possible implementation, the computing device can also connect to a shared memory pool integrated with the storage device through a network, store the generated data in the shared memory pool, and use the shared memory pool, RDMA technology, and intelligent routing to achieve data interaction between computing devices.
[0084] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the high-speed network-based data transmission method shown in FIG2 .
[0085] The present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the high-speed network-based data transmission method shown in FIG2.
[0086] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention 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 deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A data transmission method based on a high-speed network, applied to a service grid system based on a high-speed network, the system comprising a gateway connected via a high-speed network, a shared memory pool, and a computing node deployed with a business container and a network agent, wherein: The service container is connected to the network proxy, and the method includes: The gateway acquires first data, wherein the gateway supports multiple fast channels including using remote direct data access (RDMA) technology; The gateway determines a first service container and a first transmission mode according to the container information and the routing rule, wherein the first transmission mode is any one of the multiple fast channels; The gateway sends the address of the first data or the first data to the first service container through the first transmission mode; A first network agent corresponding to the first service container obtains the first data, wherein the first network agent supports the multiple fast channels.
2. The method according to claim 1, characterized in that The container information and the routing rule are stored in the shared memory pool, or in the shared memory of the computing node; The routing rules include transmission rules and transmission mode selection strategies between containers, wherein the transmission rules between containers include one or more of load balancing LB rules, label-based routing rules, time domain identifiers, memory locations, and container / container group binding relationship rules, which are used to determine the next-hop business container, and the transmission mode selection strategy is used to determine the rules and algorithms of the target transmission mode according to the data transmission volume or data delay requirements.
3. The method according to claim 1 or 2, characterized in that: After the first network agent corresponding to the first service container obtains the first data, the method further includes: The first network agent stores a first processing result generated according to the first data in the shared memory pool or in a shared memory of a computing node including the first network agent; The first network agent determines whether there is a next-hop service container according to the container information and the routing rule.
4. The method according to claim 3, characterized in that The first network agent determines whether there is a next-hop service container according to the container information and the routing rule, including: When the first network agent determines that there is the business container with a next hop according to the container information and the routing rule, the first network agent determines a second business container and a second transmission mode, and sends the address of the first processing result or the first processing result to the second business container through the second transmission mode, wherein the second transmission mode is any one of the multiple fast channels.
5. The method according to claim 3, characterized in that: The first network agent determines whether there is a next-hop service container according to the container information and the routing rule, and further includes: When the first network agent determines that there is no next-hop business container according to the container information and the routing rule, the first network agent determines a third transmission mode, and sends the address of the first processing result or the first processing result to the gateway through the third transmission mode, wherein the third transmission mode is any one of the multiple fast channels.
6. A service grid system based on a high-speed network, characterized in that: The system includes a gateway connected via a high-speed network, a shared memory pool, and a computing node deployed with a business container and a network agent, wherein the business container is connected to the network agent: The gateway is used to obtain the first data, wherein the gateway supports multiple fast channels including using remote direct data access RDMA technology; Determine a first service container and a first transmission mode according to the container information and the routing rule, wherein the first transmission mode is any one of the multiple fast channels; Sending the address of the first data or the first data to the first service container through the first transmission mode; The first network agent corresponding to the first service container is used to obtain the first data, wherein the first network agent supports the multiple fast channels.
7. The system according to claim 6, characterized in that The container information and the routing rule are stored in the shared memory pool, or in the shared memory of the computing node; The routing rules include transmission rules and transmission mode selection strategies between containers, wherein the transmission rules between containers include one or more of load balancing LB rules, label-based routing rules, time domain identifiers, memory locations, and container / container group binding relationship rules, which are used to determine the next-hop business container, and the transmission mode selection strategy is used to determine the rules and algorithms of the target transmission mode according to the data transmission volume or data delay requirements.
8. The system according to claim 6 or 7, characterized in that: After acquiring the first data, the first network agent is further used for: storing a first processing result generated according to the first data in the shared memory pool or in a shared memory of a computing node including the first network agent; It is determined whether there is a next-hop service container according to the container information and the routing rule.
9. The system according to claim 8, characterized in that The first network agent is specifically used for: When it is determined that the business container with a next hop exists according to the container information and the routing rule, a second business container and a second transmission mode are determined, and the address of the first processing result or the first processing result is sent to the second business container through the second transmission mode, wherein the second transmission mode is any one of the multiple fast channels.
10. The system according to claim 8, characterized in that The first network agent is specifically used for: When it is determined according to the container information and the routing rule that there is no next-hop business container, a third transmission mode is determined, and the address of the first processing result or the first processing result is sent to the gateway through the third transmission mode, wherein the third transmission mode is any one of the multiple fast channels.
11. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to claims 1 to 5.
12. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster is caused to perform the method according to claims 1 to 5.
13. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, which, when executed by a computing device cluster, perform the method according to claims 1 to 5.
Citation Information
Patent Citations
Container switching method and node equipment
CN114760192A
Private network access method and system
CN115714756A
Proxy based data transfer utilizing direct memory access
US20170132173A1
An FPGA-as-a-service system for accelerated serverless computing
WO2020234792A1
Cited By
Computing architecture and method
CN119356881A
Service communication method and service grid system
CN119676309A
Service communication method and service mesh system
CN119676309B
Intelligent camera image acquisition method, device, equipment and medium
CN121711562A
