CN114422489B - Information transmission method and system based on service grid - Google Patents

Information transmission method and system based on service grid Download PDF

Info

Publication number
CN114422489B
CN114422489B CN202011091443.8A CN202011091443A CN114422489B CN 114422489 B CN114422489 B CN 114422489B CN 202011091443 A CN202011091443 A CN 202011091443A CN 114422489 B CN114422489 B CN 114422489B
Authority
CN
China
Prior art keywords
service
dpdk
container
micro
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011091443.8A
Other languages
Chinese (zh)
Other versions
CN114422489A (en
Inventor
何震苇
杨新章
严丽云
黄丹池
林园致
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202011091443.8A priority Critical patent/CN114422489B/en
Publication of CN114422489A publication Critical patent/CN114422489A/en
Application granted granted Critical
Publication of CN114422489B publication Critical patent/CN114422489B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The disclosure provides an information transmission method and system based on a service grid. The information transmission method comprises the following steps: the method comprises the steps that a first service container in a first micro-service group writes a message into a first DPDK shared memory pool, a first mbuf pointer is sent to a second service container in a second micro-service group through a first service agent in the first micro-service group and a second service agent in the second micro-service group, and the second service container obtains the message from the first DPDK shared memory pool according to the first mbuf pointer. In the construction process of the service grid, downloading a micro-service container image from an image warehouse to a DPDK enhanced micro-service construction environment, and acquiring a service source protocol library root file from the container image; starting DPDK enabling from the source protocol library root file, if the current source protocol library node DPDK enabling is successful, continuing to enable the DPDK of other brother nodes; and analyzing the micro-service deployment configuration file by a micro-service deployment engine to perform DPDK-enabled micro-service deployment. The present disclosure effectively reduces communication latency of a service grid.

Description

Information transmission method and system based on service grid
Technical Field
The disclosure relates to the field of cloud computing, and in particular relates to an information transmission method and system based on a service grid.
Background
The service grid takes over the traffic of all micro-service containers through a series of distributed interconnected service agents, enabling flexible, fine micro-service traffic control. In the service grid, all the incoming and outgoing traffic of the micro-service container is forwarded through the service agent, the service container and the service agent are communicated through a 4/7 layer protocol stack, the communication time delay is large, and the time delay sensitive micro-service communication requirement is difficult to meet.
The service grid generally relates to two types of network communication protocols, one is a service communication protocol, and mainly carries data traffic provided by micro service itself, data traffic between micro service and service agents and data traffic between service agents, and the other is a service control protocol, and mainly carries policy control issuing and performance index/monitoring log acquisition reporting traffic between a service controller and the service agents. Currently, most service communication protocols and service control protocols use communication protocols based on HTTP (HyperText Transfer Protocol ), such as RestfulAPI, GRPC, JSON-RPC, and some micro services use communication protocols based on TCP (Transmission Control Protocol, transmission control protocol, TCP), such as Thrift, webSocket.
In the service grid, all network traffic of the micro service is taken over by a SideCar container (side hanging container) which is bound with the micro service one by one, and under the condition that a service agent intercepts the micro service access traffic, the communication flow of the micro service A and the micro service B is as follows:
1) The service request sending flow comprises the following steps: micro service a→service proxy b→micro service B.
2) The service response sending flow is as follows: micro service b→service proxy a→micro service a.
The communication between the micro service and the service agent is local loop communication based on localhost, including micro service A, service agent B, micro service B, service agent A, micro service A and the like, and the communication between the service agents is network communication, such as service agent A, service agent B.
The service communication based on HTTP relates to the data encapsulation/unpacking of the application layer and the encapsulation unpacking of the message of each protocol layer of TCP/IP, and for the local loop service communication, the encapsulation unpacking process of the message comprises the following steps: service protocol message encapsulation, HTTP message encapsulation, TCP message encapsulation, IP message unpacking, TCP message unpacking, HTTP message unpacking and service protocol message unpacking. For network service communication, the packet encapsulation and unpacking process includes: service protocol message encapsulation, HTTP message encapsulation, TCP message encapsulation, IP message encapsulation, link message transmission, link message unpacking, IP message unpacking, TCP message unpacking, HTTP message unpacking and service protocol message unpacking.
Disclosure of Invention
The inventor found through research that in the related art, when a micro service application sends a service request, a service protocol message (such as JSON, protocolBuffer, avro, TBinary) is first encapsulated, which needs to make a memory data copy, for example, encapsulating a Java object into a JSON string, and similarly, converting a service protocol object into an HTTP packet needs to make a memory data copy, for example, writing the JSON string into an HTTP request body. Since the protocol encapsulation/de-encapsulation of the application layer is performed in the user state, and the encapsulation/de-encapsulation of the TCP/IP protocol stack is performed in the kernel state, the memory address space of the user state and the kernel state is different, the data needs to be copied from the user state to the kernel state or from the kernel state to the user state, that is, the TCP/IP packet from the HTTP packet to the kernel state needs to be copied at least once, that is, in the data transmission process, the memory copy needs to be performed three times from the application layer, the service layer, the HTTP layer, the TCP/IP layer, and in the data packet receiving process, the memory copy needs to be performed three times, and in the service grid, a service communication process (service a→service agent b→service a) including at least 12 hops (each hop is a transmission or receiving process of a process), each hop is at least 2-3 memory copies, unlike DMA (Direct Memory Access ), the CPU needs to participate in the memory copy (CPU Central Processing Unit), and the CPU needs to participate in the memory copy (CPU resource consumption). Therefore, the existing micro-service application based on the service grid is easy to have serious performance bottleneck under the low-delay and high-concurrency scene.
Accordingly, the present disclosure provides an information transmission scheme based on a service grid, which can effectively reduce communication delay of the service grid.
According to a first aspect of an embodiment of the present disclosure, there is provided a service grid-based information transmission method, including: the first service container creates a service request message for sending to the second service container, and writes the service request message into a first DPDK shared memory pool; the first service container writes a first mbuf pointer of the service request message into a transmission queue of the first service container; the first DPDK controller moves a first mbuf pointer from a transmission queue of a first service container to a receiving queue of a first service agent, wherein the first service container and the first service agent are both positioned in a first micro service group; the first service agent reads a first mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into a transmitting queue of the first service agent; the first DPDK controller moves a first mbuf pointer from a sending queue of a first service agent to a receiving queue of a second service agent in a second micro service group under the condition that the first micro service group and the second micro service group comprising a second service container are both positioned on a first host; the second service agent reads the first mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into the sending queue of the second service agent; the first DPDK controller moves a first mbuf pointer from a transmission queue of the second service agent to a receiving queue of the second service container; the second service container acquires a first mbuf pointer from a receiving queue of the second service container, and acquires a service request message from the first DPDK shared memory pool according to the first mbuf pointer.
In some embodiments, after the second service container acquires the service request message, creating a service response message for sending to the first service container, and writing the service response message into the first DPDK shared memory pool; the second service container writes a second mbuf pointer of the service response message into a transmission queue of the second service container; the first DPDK controller moves a second mbuf pointer from a transmission queue of the second service container to a receiving queue of the second service agent; the second service agent reads a second mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into the sending queue of the second service agent; the first DPDK controller moves a second mbuf pointer from a transmission queue of the second service agent to a receiving queue of the first service agent; the first service agent reads a second mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into a transmitting queue of the first service agent; the first DPDK controller moves a second mbuf pointer from a transmission queue of the first service agent to a receiving queue of the first service container; the first service container acquires a second mbuf pointer from a receiving queue of the first service container, and acquires a service response message from the first DPDK shared memory pool according to the second mbuf pointer.
In some embodiments, the first DPDK shared memory pool is accessible by any micro service group located on the first host.
In some embodiments, when the first micro service group is located in the first host and the second micro service group is located in the second host, the first DPDK controller obtains a service request message from the first DPDK shared memory pool by using a first mbuf pointer in a transmission queue of the first service agent and writes the service request message into the first network card buffer; the first network card sends the service request message to a second network card in the second host; the second DPDK controller writes the service request message received by the second network card into a second DPDK shared memory pool in the second host, and writes a corresponding third mbuf pointer into a receiving queue of the second service agent; the second service agent reads a third mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the third mbuf pointer into the sending queue of the second service agent; the second DPDK controller moves a third mbuf pointer from a sending queue of the second service agent to a receiving queue of the second service container; the second service container acquires a third mbuf pointer from the receiving queue of the second service container, and acquires a service request message from the second DPDK shared memory pool according to the third mbuf pointer.
In some embodiments, after the second service container acquires the service request message, creating a service response message for sending to the first service container, and writing the service response message into the second DPDK shared memory pool; the second service container writes a fourth mbuf pointer of the service response message into a transmission queue of the second service container; the second DPDK controller moves a fourth mbuf pointer from a transmission queue of the second service container to a receiving queue of the second service agent; the second service agent reads a fourth mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the fourth mbuf pointer into the sending queue of the second service agent; the second DPDK controller acquires a service response message from the second DPDK shared memory pool by using a fourth mbuf pointer in a transmission queue of the second service agent and writes the service response message into a second network card buffer area; the second network card sends the service response message to the first network card in the first host; the first DPDK controller writes the service response message received by the first network card into a first DPDK shared memory pool in the first host, and writes a corresponding fifth mbuf pointer into a receiving queue of the first service agent; the first service agent reads a fifth mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and writes the fifth mbuf pointer into a transmitting queue of the first service agent; the first DPDK controller moves a fifth mbuf pointer from a transmission queue of the first service agent to a receiving queue of the first service container; the first service container acquires a fifth mbuf pointer from a receiving queue of the first service container, and acquires a service response message from the first DPDK shared memory pool according to the fifth mbuf pointer.
In some embodiments, the second DPDK shared memory pool is accessible by any micro service group located on the second host.
According to a second aspect of embodiments of the present disclosure, there is provided a service grid-based information transmission system, including: the first service container is configured to create a service request message for sending to the second service container, write the service request message into the first DPDK shared memory pool, and write a first mbuf pointer of the service request message into a sending queue of the first service container; a first DPDK controller configured to move a first mbuf pointer from a transmit queue of a first service container to a receive queue of a first service agent, wherein the first service container and the first service agent are both in a first micro service group; and further configured to move the first mbuf pointer from the transmit queue of the first service agent into the receive queue of a second service agent in the second micro-service group if both the first micro-service group and the second micro-service group including the second service container are located at the first host; further configured to move the first mbuf pointer from the transmit queue of the second service agent into the receive queue of the second service container; the first service agent is configured to read a first mbuf pointer from a receiving queue of the first service agent so as to perform corresponding protocol stack and routing processing, and write the first mbuf pointer into a transmitting queue of the first service agent; the second service agent is configured to read the first mbuf pointer from the receiving queue of the second service agent so as to perform corresponding protocol stack and routing processing, and write the first mbuf pointer into the sending queue of the second service agent; the second service container is configured to acquire a first mbuf pointer from the receiving queue of the second service container, and acquire a service request message from the first DPDK shared memory pool according to the first mbuf pointer.
In some embodiments, the second service container is further configured to create a service response message for sending to the first service container after the service request message is acquired, write the service response message into the first DPDK shared memory pool, and write a second mbuf pointer of the service response message into the sending queue thereof; the first DPDK controller is further configured to move the second mbuf pointer from the transmit queue of the second service container to the receive queue of the second service agent; further configured to move the second mbuf pointer from the transmit queue of the second service agent into the receive queue of the first service agent; further configured to move the second mbuf pointer from the send queue of the first service agent into the receive queue of the first service container; the second service agent is further configured to read a second mbuf pointer from the receiving queue thereof to perform corresponding protocol stack and routing processing, and write the second mbuf pointer into the sending queue thereof; the first service agent is further configured to read a second mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and write the second mbuf pointer into a sending queue of the first service agent; the first service container is further configured to obtain a second mbuf pointer from its own receiving queue, and obtain a service response message from the first DPDK shared memory pool according to the second mbuf pointer.
In some embodiments, the first DPDK shared memory pool is accessible by any micro service group located on the first host.
In some embodiments, the first DPDK controller is further configured to obtain a service request packet from the first DPDK shared memory pool and write the service request packet into the first network card buffer using a first mbuf pointer in a transmit queue of the first service agent if the first micro service group is located at the first host and the second micro service group is located at the second host; the first network card is configured to send the service request message to a second network card in the second host; the second network card is configured to receive a service request message sent by the first network card; the second DPDK controller is configured to write the service request message received by the second network card into a second DPDK shared memory pool in the second host, and write a corresponding third mbuf pointer into a receiving queue of the second service agent; further configured to move a third mbuf pointer from the transmit queue of the second service agent into the receive queue of the second service container; the second service agent is configured to read a third mbuf pointer from a receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and write the third mbuf pointer into a transmitting queue of the second service agent; the second service container is configured to acquire a third mbuf pointer from the receiving queue of the second service container, and acquire a service request message from the second DPDK shared memory pool according to the third mbuf pointer.
In some embodiments, the second service container is further configured to create a service response message for sending to the first service container after the service request message is acquired, write the service response message into the second DPDK shared memory pool, and write a fourth mbuf pointer of the service response message into the sending queue thereof; the second DPDK controller is configured to move the fourth mbuf pointer from the transmit queue of the second service container to the receive queue of the second service agent; the second DPDK controller is further configured to acquire a service response message from the second DPDK shared memory pool by using a fourth mbuf pointer in a transmission queue of the second service agent and write the service response message into the second network card buffer area; the second service agent is configured to read a fourth mbuf pointer from a receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and write the fourth mbuf pointer into a transmitting queue of the second service agent; the second network card is configured to send a service response message to the first network card in the first host; the first network card is configured to receive a service response message sent by the second network card; the first DPDK controller is configured to write a service response message received by the first network card into a first DPDK shared memory pool in the first host, and write a corresponding fifth mbuf pointer into a receiving queue of the first service agent; further configured to move a fifth mbuf pointer from the send queue of the first service agent into the receive queue of the first service container; the first service agent is configured to read a fifth mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and write the fifth mbuf pointer into a transmitting queue of the first service agent; the first service container is configured to acquire a fifth mbuf pointer from the receiving queue of the first service container, and acquire a service response message from the first DPDK shared memory pool according to the fifth mbuf pointer.
In some embodiments, the second DPDK shared memory pool is accessible by any micro service group located on the second host.
According to a third aspect of the embodiments of the present disclosure, there is provided a method for constructing a service grid for implementing the information transmission method of any one of the embodiments, including: uploading a micro-service image to an image warehouse, and submitting a micro-service deployment request to a micro-service deployment engine, wherein the micro-service deployment request comprises a micro-service deployment configuration file, and the micro-service deployment configuration file comprises micro-service container configuration, micro-service interface information, micro-service protocol stack information, micro-service interface test case sets and DPDK (digital video broadcasting) enabling information, and the micro-service container configuration comprises micro-service container image IDs and micro-service container resource configuration; reading a DPDK enabling state of the DPDK configuration information from the micro service container deployment configuration file by the micro service deployment engine, and if the DPDK enabling state is not enabled, performing DPDK enabling protocol stack injection; acquiring a micro-service container mirror image ID and micro-service protocol stack configuration information; if the protocol stack configuration information does not have DPDK version information, indicating that the corresponding micro service container image is a non-DPDK enabling image, and constructing the micro service container image into a DPDK enabling image; downloading a micro-service container image from an image warehouse to a DPDK enhanced micro-service construction environment, and acquiring a service source protocol library root file from the container image; starting from a source protocol library root file, scanning a protocol stack node and a child node on which the protocol stack node depends in a breadth-first mode to perform DPDK (digital video coding) enabling; if the DPDK of the node of the current source protocol library is enabled successfully, continuing to enable the DPDK of the brother node of the protocol library, if all nodes of the current protocol library cannot enable the DPDK, searching the next layer of the protocol library dependency tree in a breadth-first mode, and if all nodes of the whole protocol library dependency tree cannot enable the DPDK, setting the DPDK enabling state of the micro-service deployment configuration as disabled; and analyzing the micro-service deployment configuration file by a micro-service deployment engine to perform DPDK-enabled micro-service deployment.
In some embodiments, starting from the source protocol library root file, scanning the protocol stack nodes and the child nodes on which the protocol stack nodes depend in a breadth-first manner for DPDK enablement comprises: extracting characteristic information of a current node library file; searching a DPDK enhancement library file index library by using protocol library file characteristic information, and adding the searched DPDK enhancement library files with the matching degree exceeding the preset minimum matching degree requirement into a candidate enhancement library list according to the sequence of the matching degree from high to low; if the candidate enhancement library list is not empty, a DPDK enhancement mirror image is built in sequence from the first element of the candidate enhancement library list, the DPDK enhancement mirror image is inserted into an original micro-service mirror image layer, then a deployment test is carried out, and the deployment configuration of the enhancement mirror image and the container group passing the test is released into a mirror image warehouse and a deployment configuration warehouse.
In some embodiments, constructing the DPDK enhanced mirror includes: taking the current enhancement library file element as a root node, acquiring all enhancement library files of the whole DPDK enhancement library dependency tree, and storing the enhancement library files into an enhancement library file list; taking the mirror image layer where the current scanned source protocol library is located as a father mirror image, overlapping the current matched enhancement library file and all the sub-files on the father mirror image layer to form a DPDK enhancement mirror image layer containing an enhancement library file set, and setting the library loading priority of the DPDK enhancement library to be the highest in the enhancement mirror image layer; if the sub-mirror layer exists in the currently scanned micro-service mirror layer, a parent mirror pointer of the sub-mirror layer is pointed to the DPDK enhanced mirror layer, all descendant mirror layers are reconstructed in sequence, and finally the DPDK enhanced micro-service mirror is obtained.
In some embodiments, constructing the DPDK enhanced micro service container group includes: selecting a DPDK enhancement micro-service agent image which is most matched with the injected DPDK enhancement library from the image warehouse; packaging the DPDK enhanced micro service mirror image and the DPDK enhanced service proxy mirror image into the same container group, taking the DPDK enhanced micro service mirror image as a main container of the container group, and taking the DPDK enhanced service proxy as a bypass container of the container group; the DPDK enhanced service agent container intercepts all process flow of the micro service container in the container group through a DPDK I/O filter; replacing the micro service container configuration information in the original micro service deployment configuration file with the DPDK enhanced micro service container group configuration.
In some embodiments, performing deployment testing on the DPDK enhanced micro service container group includes: starting a DPDK enhanced micro-service container group through a container deployment instruction; executing all service interface test cases; if all the service interface test cases are successfully executed, the injected DPDK enhancement library is compatible with the original micro-service protocol stack; if the current enhancement library test fails, selecting the next element from the candidate element list, and repeating the step of constructing the DPDK enhancement mirror image.
In some embodiments, publishing the DPDK enhancement container group and deployment configuration information through testing includes: uploading the DPDK enhanced container image to a container image warehouse; setting DPDK configuration information in the micro-service deployment configuration file, setting a DPDK library ID as a root library ID of the injected DPDK library, setting a DPDK proxy ID as an injected DPDK proxy ID, and setting a DPDK enabled state as enabled.
In some embodiments, parsing, by the micro service deployment engine, the micro service deployment configuration file for DPDK enabled micro service deployment includes: if the DPDK enabling state in the configuration file is enabled, using the DPDK proxy ID to request the deployable DPDK enhanced service grid from the container cluster controller; the container cluster controller selects a DPDK service grid controller supporting a DPDK service control protocol of the requested DPDK service agent from the registered DPDK enabled service controllers; if the available DPDK service grid controller exists, a container engine is informed to download a DPDK service proxy container and a DPDK micro service container, a DPDK enhancement container group is started, the DPDK service proxy container and the DPDK micro service container are connected to a DPDK shared memory pool of a host, and finally the DPDK service proxy is registered on the DPDK service controller; and if the DPDK enabling state of the service deployment configuration file is not enabled or cannot be enabled, selecting a preset standard micro-service grid deployment micro-service container.
According to a fourth aspect of embodiments of the present disclosure, there is provided a service grid construction apparatus, including: a memory configured to store instructions; a processor coupled to the memory, the processor configured to perform a method according to any of the embodiments described above based on instructions stored in the memory.
According to a fifth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium, wherein the computer readable storage medium stores computer instructions which, when executed by a processor, implement a method as in any of the embodiments described above.
Other features of the present disclosure and its advantages will become apparent from the following detailed description of exemplary embodiments of the disclosure, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description, serve to explain the principles of the disclosure.
The disclosure may be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings in which:
FIG. 1 is a flow diagram of a method of service grid based information transfer in accordance with one embodiment of the present disclosure;
FIG. 2 is a flow diagram of a method of service grid based information transfer in accordance with another embodiment of the present disclosure;
FIG. 3 is a flow diagram of a method of service grid based information transmission according to yet another embodiment of the present disclosure;
fig. 4 is a flow diagram of a service grid based information transmission method according to yet another embodiment of the present disclosure;
fig. 5 is a schematic diagram of a DPDK based service grid architecture according to one embodiment of the present disclosure;
FIG. 6 is a flow diagram of a service grid construction method according to one embodiment of the present disclosure;
FIG. 7 is a schematic diagram of a service grid construction device according to one embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of a service grid-based information transmission system according to an embodiment of the present disclosure;
fig. 9 is a schematic structural view of a service grid-based information transmission system according to another embodiment of the present disclosure.
It should be understood that the dimensions of the various elements shown in the figures are not drawn to actual scale. Further, the same or similar reference numerals denote the same or similar members.
Detailed Description
Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. The description of the exemplary embodiments is merely illustrative, and is in no way intended to limit the disclosure, its application, or uses. The present disclosure may be embodied in many different forms and is not limited to the embodiments described herein. These embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. It should be noted that: the relative arrangement of parts and steps, the composition of materials, and the numerical values set forth in these examples should be construed as merely illustrative, and not limiting unless specifically stated otherwise.
The use of the terms "comprising" or "including" and the like in this disclosure means that elements preceding the term encompass the elements recited after the term, and does not exclude the possibility of also encompassing other elements.
All terms (including technical or scientific terms) used in this disclosure have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs, unless specifically defined otherwise. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Techniques, methods, and apparatus known to one of ordinary skill in the relevant art may not be discussed in detail, but are intended to be part of the specification where appropriate.
Fig. 1 is a flow diagram of a service grid based information transmission method according to one embodiment of the present disclosure.
In step 101, a first service container creates a service request message for transmission to a second service container and writes the service request message into a shared memory pool of a first DPDK (Data Plane Development Kit ).
The first service container and the first service agent are both located in a first micro service group.
In step 102, the first service container writes a first mbuf (message buffer) pointer of the service request message into its own send queue.
In step 103, the first DPDK controller moves the first mbuf pointer from the transmit queue of the first service container to the receive queue of the first service agent.
In step 104, the first service agent reads the first mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into its own transmit queue.
For example, the first service agent sequentially extracts protocol header information of the link layer, the network layer, the transport layer, the HTTP layer and the service layer based on the first mbuf pointer, performs service control policy processing based on the protocol header information of each layer, and modifies or filters relevant parameters of the service protocol header based on the service control policy.
In step 105, the first DPDK controller moves the first mbuf pointer from the transmit queue of the first service agent to the receive queue of the second service agent in the second micro service group if the first micro service group and the second micro service group including the second service container are both located at the first host.
In step 106, the second service agent reads the first mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into its own transmit queue.
In step 107, the first DPDK controller moves the first mbuf pointer from the transmit queue of the second service agent to the receive queue of the second service container.
In step 108, the second service container obtains a first mbuf pointer from its own receiving queue, and obtains a service request message from the first DPDK shared memory pool according to the first mbuf pointer.
It should be noted that, the first DPDK shared memory pool provided on the first host can be accessed by any micro service group located on the first host.
That is, in the case that the first micro service group and the second micro service group are both located on the first host, the process of transferring the service packet from the first service container to the second service container is: first service container → first service agent → second service container. And only the mbuf pointer is transmitted in the transmission process, and the service message is acquired from the DPDK shared memory pool by using the mbuf pointer, so that the communication delay of the service grid is effectively reduced.
Fig. 2 is a flow chart of a method of service grid based information transmission according to another embodiment of the present disclosure.
In step 201, after the second service container obtains the service request packet, a service response packet for sending to the first service container is created, and the service response packet is written into the first DPDK shared memory pool.
In step 202, the second service container writes the second mbuf pointer of the service response message into its own transmit queue.
In step 203, the first DPDK controller moves the second mbuf pointer from the transmit queue of the second service container to the receive queue of the second service agent.
In step 204, the second service agent reads the second mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into its own transmit queue.
In step 205, the first DPDK controller moves the second mbuf pointer from the send queue of the second service agent to the receive queue of the first service agent.
Because the first micro service group and the second micro service group are both located on the first host, the first micro service group and the second micro service group can access the first DPDK shared memory pool. The second mbuf pointer is thus moved directly into the receive queue of the first service agent.
In step 206, the first service agent reads the second mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into its own transmit queue.
In step 207, the first DPDK controller moves the second mbuf pointer from the send queue of the first service agent to the receive queue of the first service container.
In step 208, the first service container obtains a second mbuf pointer from its own receiving queue, and obtains a service response message from the first DPDK shared memory pool according to the second mbuf pointer.
Under the condition that the first micro service group and the second micro service group are both positioned on the first host, the transmission process of the response message from the second service container to the first service container is as follows: second service container → second service proxy → first service container.
Fig. 3 is a flow chart illustrating a method of service grid based information transmission according to still another embodiment of the present disclosure. The embodiment shown in fig. 3 is different from the embodiment shown in fig. 1 in that the first micro service group is located on the first host, and the second micro service group is located on the second host. The second micro service group cannot access the first DPDK shared memory pool provided on the first host.
In step 301, a first service container creates a service request packet for sending to a second service container, writes the service request packet into a first DPDK shared memory pool, and writes a first mbuf pointer of the service request packet into its own sending queue.
The first service container and the first service agent are both located in a first micro service group.
In step 302, the first DPDK controller moves a first mbuf pointer from a transmit queue of a first service container to a receive queue of a first service agent.
In step 303, the first service agent reads the first mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into its own transmit queue.
In step 304, the first DPDK controller obtains the service request message from the first DPDK shared memory pool and writes the service request message into the first network card buffer area by using the first mbuf pointer in the transmission queue of the first service agent when the first micro service group is located in the first host and the second micro service group is located in the second host.
In step 305, the first network card sends a service request message to a second network card in the second host.
In step 306, the second DPDK controller writes the service request packet received by the second network card into the second DPDK shared memory pool in the second host, and writes the corresponding third mbuf pointer into the receive queue of the second service agent.
In step 307, the second service agent reads the third mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the third mbuf pointer into its own transmit queue.
In step 308, the second DPDK controller moves the third mbuf pointer from the transmit queue of the second service agent to the receive queue of the second service container.
The second service container and the second service agent are both located in a second micro-service group.
In step 309, the second service container obtains a third mbuf pointer from its own receiving queue, and obtains a service request packet from the second DPDK shared memory pool according to the third mbuf pointer.
That is, in the case where the first micro service group is located on the first host and the second micro service group is located on the second host, since the second micro service group cannot access the first DPDK shared memory pool located on the first host, the service packet needs to be transferred to the second DPDK shared memory pool in the second host by using the first gateway and the second gateway, so that the second service container can obtain the service packet. The transfer process of the service message from the first service container to the second service container is as follows: first service container → first service proxy → first gateway → second service proxy → second service container.
Fig. 4 is a flow chart illustrating a method of service grid based information transmission according to still another embodiment of the present disclosure. The embodiment of fig. 4 differs from the embodiment of fig. 2 in that the first micro-service set is located on the first host and the second micro-service set is located on the second host. The first micro service group cannot access the second DPDK shared memory pool provided on the second host.
In step 401, after the second service container obtains the service request packet, a service response packet for sending to the first service container is created, the service response packet is written into the second DPDK shared memory pool, and a fourth mbuf pointer of the service response packet is written into its own sending queue.
In step 402, the second DPDK controller moves the fourth mbuf pointer from the transmit queue of the second service container to the receive queue of the second service agent.
In step 403, the second service agent reads the fourth mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the fourth mbuf pointer into its own transmit queue.
In step 404, the second DPDK controller obtains the service response message from the second DPDK shared memory pool by using the fourth mbuf pointer in the transmission queue of the second service agent, and writes the service response message into the second network card buffer.
In step 405, the second network card sends a service reply message to the first network card in the first host.
In step 406, the first DPDK controller writes the service response message received by the first network card into the first DPDK shared memory pool in the first host, and writes the corresponding fifth mbuf pointer into the receive queue of the first service agent.
In step 407, the first service agent reads the fifth mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the fifth mbuf pointer into its own transmit queue.
In step 408, the first DPDK controller moves the fifth mbuf pointer from the send queue of the first service agent to the receive queue of the first service container.
In step 409, the first service container obtains a fifth mbuf pointer from its own receiving queue, and obtains a service response message from the first DPDK shared memory pool according to the fifth mbuf pointer.
In the case that the first micro service group is located on the first host and the second micro service group is located on the second host, since the first micro service group cannot access the second DPDK shared memory pool located on the second host, the service packet needs to be transferred to the first DPDK shared memory pool in the first host by using the first gateway and the second gateway, so that the first service container can acquire the service packet. The transmission process of the response message from the second service container to the first service container is as follows: second service container → second service proxy → second gateway → first service proxy → first service container.
It should be noted that, in order to implement the method according to the foregoing embodiment, when a micro service container is deployed, a DPDK enhanced network interface library that is the best match is selected to construct a DPDK enhanced service container, then a DPDK enhanced micro service group (Pod) is constructed by selecting a DPDK enhanced service agent that is the best match and the DPDK enhanced service container, and finally a connection relationship between all DPDK enhanced service pods and a DPDK shared memory pool of a host is established, so that the service grid has DPDK acceleration capability, and user state high-speed communication based on DPDK can be implemented without modifying a code of the service container.
In the service grid, the DPDK enhanced service agent is a service agent integrating a DPDK enhanced service communication protocol library and a DPDK enhanced service control protocol library, can communicate with a DPDK enhanced micro service and other DPDK enhanced service agents, can receive a service control instruction issued by a DPDK enhanced service controller, and report a service monitoring log to the service controller in real time, and the DPDK enhanced service controller is a service controller integrating a DPDK enhanced service control protocol library and capable of managing the DPDK enhanced service agent. Since both the DPDK enhanced services agent and the DPDK enhanced services controller are provided by the container infrastructure side, both can select the optimal DPDK protocol stack for construction. The DPDK-based service network architecture of the present disclosure is shown in fig. 5.
The DPDK (or DPDK enhanced) based service communication protocol stack includes the following layers:
the DPDK base, the shared memory-based I/O communication library provided by the DPDK official, includes shared memory management, transmit/receive queue management, mbuf-based batch transmission and reception of data packets, etc., only provides C/c++ language APIs (Application Programming Interface, application program interface).
The DPDK network library provides the processing capability of a transmission layer and a network layer protocol stack based on the DPDK base library, supports TCP, UDP (User Datagram Protocol ) and IP protocols, only provides a C/C++ language API interface, and encapsulates the transmission layer and the network layer protocol through an mbuf structure of the DPDK at the bottom layer.
The method comprises the steps of providing a DPDK Socket library, providing synchronous/asynchronous, blocking/non-blocking abstract network API interfaces compatible with Posix sockets based on a DPDK network library, respectively providing a matched DPDK Socket library for main stream development languages such as C/C++, java, python, go and the like, enabling the DPDK Socket library of each language to be consistent with the interfaces of the official Socket libraries of each language, and enabling a Socket data communication interface at the bottom layer through an mbuf and queue mechanism of the DPDK, wherein the Socket data communication interface comprises a client Socket and a server Socket.
The DPDK Http library provides HTTP protocol stack processing capability based on a DPDK network library or a DPDK Socket, comprises HTTP request, filtering, response and route forwarding, provides an HTTP protocol stack interface compatible with a main stream development language, and realizes HTTP protocol message processing through an mbuf of the DPDK at the bottom layer.
And the DPDK service communication protocol library provides main stream micro-service communication protocol stack processing capability supporting REST API, GRPC, JSON-RPC, thread and the like based on a DPDK network library, a DPDK Socket library or a DPDK HTTP library, and the bottom layer realizes service request and service response processing capability of the service communication protocol through mbuf of the DPDK.
The DPDK service control protocol library is based on a service communication protocol library, such as a DPDK enabled GRPC implementing xDS (Endpoint Discovery Service, route Discovery Service, cluster Discovery Service, etc.) service control protocol, supporting service policy control and service monitoring capabilities such as service discovery, routing policy, index collection, etc., and the bottom layer also implements related service policy control protocol data processing through an mbuf of the DPDK.
Whether the DPDK enhanced protocol library or the original protocol library of the micro service, most are composed of one or more dynamically loadable class libraries (e.g. JAR) or dynamically linked library files (e.g. SO), typically the library files of the upper layer protocol depend on the library files of the lower layer protocol. The method establishes indexes and dependency trees for each type of DPDK enhancement protocol library, can rapidly retrieve the associated DPDK enhancement files through file indexes, and can realize library file replacement and mirror image construction of the DPDK enhancement protocol library through the dependency trees.
In the process of constructing and deploying the micro service container, an index entry needs to be created for each protocol library file of the DPDK enhancement protocol library, and the index field includes: the method comprises the steps of enhancing a protocol library file ID, a library type, a library name, a library version, a protocol library root file ID, a compatible library name and version list, a language type, a protocol list, a compatible package type, a compatible file name and a compatible library file hash code list, wherein the enhanced protocol library ID is a unique identifier of an enhanced protocol library, the library type refers to whether the enhanced library belongs to a basic IO library, a network library, a Socket library, an HTTP library or a service library, the library name is a DPDK enhanced protocol library name, the library version is a version number of the DPDK enhanced library, the compatible library name and version list refers to a common network protocol library name and version list which are compatible with the enhanced library, the language type is only an API language type of the enhanced protocol library, and the protocol list is only a protocol type supported by the enhanced protocol library.
The dependency relationship of the library files is organized according to a tree structure, whether the original service protocol stack or the DPDK protocol stack, the library files (father node) at the upper layer depend on one or more library files (value nodes) at the lower layer, and all the dependent library files can be retrieved from the dependency tree as long as a certain library file node is known.
The container mirror image is organized by adopting a reverse tree structure, the upper layer mirror image (child node) depends on the lower layer mirror image (father node), the files of the lower layer mirror image can be multiplexed by the upper layer mirror image, the file set of the upper layer mirror image is an increment of the file set of the lower layer mirror image, and the files in the upper layer mirror image can cover the files with the same name and the same path of the lower layer mirror image.
In the DPDK enhanced service grid configuration process, the following steps are performed:
1. and installing DPDK basic environment on all servers of the container cluster, wherein the DPDK basic environment comprises a DPDK memory I/O framework and a DPDK network card driver, and binding a DPDK enabling network card on a DPDK shared memory pool.
2. Installing a DPDK service grid controller, starting a DPDK service grid controller container, linking a DPDK shared memory pool of a host, and registering the service grid controller in a container cluster controller.
3. Each container cluster may install one or more DPDK enabled service grid controllers, each managing one DPDK enabled service grid.
In the DPDK enhanced micro service image construction process, the following steps are performed as shown in fig. 6.
In step 601, the micro-service application provider uploads the micro-service image to the image repository and submits a micro-service deployment request to the micro-service deployment engine.
The micro service deployment request comprises a micro service deployment configuration file or file package, the micro service deployment configuration file comprises micro service container configuration, micro service interface information, micro service protocol stack information, micro service interface test case sets and DPDK (digital video broadcasting) enabling information, the micro service container configuration comprises micro service container mirror image ID (identity) and micro service container resource configuration, the container mirror image ID is a unique identity of a container mirror image and is used for retrieving, updating and downloading the micro service container mirror image from a mirror image warehouse, the micro service interface information comprises micro service interface access information such as micro service names, ports, main paths and the like, and the micro service protocol stack information comprises: the micro service interface test case set comprises at least one micro service interface test case, interface test case information comprises service interface identification, interface request data, expected response data and the like, and DPDK enabling information comprises information such as DPDK enabling state, DPDK enhancement library type, DPDK enhancement library ID, DPDK service agent identification and the like, wherein the DPDK enabling state comprises: disabled, enabled, and disabled.
In step 602, the micro service deployment engine reads the DPDK enabled state of the DPDK configuration information from the micro service container deployment configuration file, and if the state is not enabled, attempts to perform DPDK enabled protocol stack injection.
In step 603, the micro service container mirror ID and the micro service protocol stack configuration information are obtained.
In step 604, if the DPDK version information is not included in the protocol stack configuration information, the image is a non-DPDK enabled image, and an attempt is made to construct the image as a DPDK enabled image.
In step 605, the micro-service container image is downloaded from the image repository into the DPDK enhanced micro-service building environment.
At step 606, a service source protocol library root file is obtained from the container image. The source protocol library root file may be defined in the mirror metadata or directly with the container mirrored portal file, which is defined by the EntryPoint or CMD (command prompt) parameters for the Docker mirror.
In step 607, starting from the source protocol library root file, the protocol stack nodes and the dependent subnodes are scanned in a breadth-first manner, and DPDK enabling is attempted.
1) Extracting characteristic information of a current node library file, wherein the characteristic information comprises: file hash codes, file names, package/namespace names, function declaration lists, etc.
2) Searching a DPDK enhanced library file index library by using protocol library file characteristic information, and sequentially adding the searched DPDK enhanced library files with the matching degree exceeding the minimum matching degree requirement (such as 90%) into a candidate enhanced library list according to the matching degree from high to low
3) If the candidate enhancement library list is not empty, sequentially attempting to construct a DPDK enhancement mirror image from the first element (namely the library file with highest matching degree) of the list, inserting the DPDK enhancement mirror image into an original micro-service mirror image layer, then performing deployment test, and publishing the enhancement mirror image and container group deployment configuration which pass the test to a mirror image warehouse and a deployment configuration library.
a) DPDK enhanced mirror construction
i. And taking the current enhancement library file element as a root node, acquiring all enhancement library files of the whole DPDK enhancement library dependency tree, and storing the enhancement library files into an enhancement library file list.
And ii, taking the mirror image layer where the source protocol library is currently scanned as a parent mirror image (namely a basic mirror image), overlapping the enhancement library file which is currently matched and all the sub files which are depended on the enhancement library file to form a DPDK enhancement mirror image layer containing an enhancement library file set, and setting the library loading priority of the DPDK enhancement library to be the highest in the enhancement mirror image layer (such as configuring the library file which is loaded preferentially through LD_PRELOAD parameters).
And if the current scanned micro-service mirror layer has a child mirror layer (namely an upper mirror layer), the parent mirror pointer of the child mirror layer points to the DPDK enhanced mirror layer, all descendant mirror layers are reconstructed in sequence, and finally the DPDK enhanced micro-service mirror is obtained.
b) DPDK enhanced micro-service container group construction
i. And selecting the DPDK enhancement micro-service agent image which is matched with the injected DPDK enhancement library best from the image warehouse.
Packaging the DPDK enhanced micro service image and the DPDK enhanced service proxy image into the same container group (such as Pod of Kubernetes), taking the DPDK enhanced micro service image as a main container of the container group, and taking the DPDK enhanced service proxy as a bypass container of the container group.
The DPDK enhanced service proxy container intercepts all process traffic of the micro service container in the container group through a DPDK I/O filter.
Replacing the configuration information of the micro service container in the original micro service deployment configuration file by using DPDK enhanced micro service container group configuration.
c) DPDK enhanced micro-service container group deployment test
i. The DPDK enhanced micro-service container group is started by the container deployment instruction.
And ii, executing all service interface test cases.
And if all the service interface test cases are successfully executed, the injected DPDK enhancement library is compatible with the original micro-service protocol stack.
d) If the current enhancement library test fails, then selecting the next element from the candidate list of elements, and repeating steps a) through c) above.
e) Publishing DPDK enhanced container groups and deployment configuration information through testing
i. Uploading the DPDK enhanced container image to a container image repository.
Setting DPDK configuration information in the micro-service deployment configuration file, setting a DPDK library ID as a root library ID of the injected DPDK library, setting a DPDK proxy ID as an injected DPDK proxy ID, and setting a DPDK enabled state as enabled.
If the current source protocol library node DPDK enable is successful, then attempts continue to enable the sibling node of the protocol library node by the DPDK at step 608. If all nodes of the current protocol library hierarchy cannot enable DPDK (i.e. the matched DPDK enhancement library cannot be retrieved or the matched enhancement library test fails), the next layer of the protocol library dependency tree is retrieved in a breadth-first manner, and if all nodes of the whole protocol library dependency tree cannot enable DPDK, the DPDK enabling state of the micro-service deployment configuration is set to be disabled.
In step 609, the micro service deployment engine parses the micro service deployment configuration file for DPDK enabled micro service deployment.
1) If the DPDK enabled state in the configuration file is enabled, a deployable DPDK enhanced services grid is requested from the container cluster controller with the DPDK proxy ID.
2) The container cluster controller selects a DPDK service grid controller supporting a DPDK service control protocol of the requested DPDK service agent from the registered DPDK enabled service controllers.
3) And if the available DPDK service grid controller exists, informing the container engine to download a DPDK service proxy container and a DPDK micro service container, starting a DPDK enhancement container group, connecting the DPDK service proxy container and the DPDK micro service container to a DPDK shared memory pool of the host, and finally registering the DPDK service proxy to the DPDK service controller.
4) If the DPDK enabled state of the service deployment configuration file is not enabled or cannot be enabled, a standard micro-service grid deployment micro-service container is selected.
Fig. 7 is a schematic structural view of a service grid construction apparatus according to an embodiment of the present disclosure. As shown in fig. 7, the service grid construction device includes a memory 71 and a processor 72.
The memory 71 is for storing instructions and the processor 72 is coupled to the memory 71, the processor 72 being configured to perform a method as referred to in any of the embodiments of fig. 6 based on the instructions stored by the memory.
As shown in fig. 7, the construction apparatus further comprises a communication interface 73 for information interaction with other devices. Meanwhile, the construction device further comprises a bus 74, and the processor 72, the communication interface 73 and the memory 71 perform communication with each other through the bus 74.
The memory 71 may comprise a high-speed RAM memory or may further comprise a non-volatile memory (non-volatile memory), such as at least one disk memory. The memory 71 may also be a memory array. The memory 71 may also be partitioned and the blocks may be combined into virtual volumes according to certain rules.
Further, the processor 72 may be a central processing unit CPU, or may be an application specific integrated circuit ASIC, or one or more integrated circuits configured to implement embodiments of the present disclosure.
The present disclosure also relates to a computer readable storage medium having stored thereon computer instructions which, when executed by a processor, implement a method as referred to in any of the embodiments of fig. 6.
Fig. 8 is a schematic structural diagram of a service grid-based information transmission system according to an embodiment of the present disclosure. As shown in fig. 8, the first micro service group 81 and the second micro service group 82 are both located at the first host. The first micro service set 81 includes a first service container 811 and a first service agent 812, and the second micro service set 82 includes a second service container 821 and a second service agent 822.
The first service container 811 is configured to create a service request message for transmission to the second service container 821, write the service request message into the first DPDK shared memory pool 83, and write the first mbuf pointer of the service request message into its own transmission queue. The first DPDK controller (not shown in the figures) is configured to move the first mbuf pointer from the transmit queue of the first service container 811 to the receive queue of the first service agent 812. The first service agent 812 reads the first mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into its own transmit queue. The first DPDK controller moves the first mbuf pointer from the transmit queue of the first service agent 812 to the receive queue of the second service agent 822 in the second micro service group 82. The second service agent 822 is configured to read the first mbuf pointer from its own receive queue, perform corresponding protocol stack and routing processing, and write the first mbuf pointer into its own transmit queue. The first DPDK controller moves the first mbuf pointer from the transmit queue of the second service agent 822 to the receive queue of the second service container 821. The second service container 821 is configured to obtain a first mbuf pointer from its own receive queue, and obtain a service request packet from the first DPDK shared memory pool 83 according to the first mbuf pointer.
That is, in the case where both the first micro service group and the second micro service group are located on the first host, the network card 84 is not required. The service message is transferred from the first service container 811 to the second service container 821 as follows: first service container 811→first service agent 812→second service agent 822→second service container 821.
In some embodiments, after the second service container 821 acquires the service request packet, creates a service response packet for sending to the first service container 811, writes the service response packet into the first DPDK shared memory pool 83, and writes the second mbuf pointer of the service response packet into its own sending queue. The first DPDK controller moves the second mbuf pointer from the transmit queue of the second service container 821 to the receive queue of the second service agent 822. The second service agent 822 reads the second mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into its own transmit queue. The first DPDK controller moves the second mbuf pointer from the transmit queue of the second service agent 822 to the receive queue of the first service agent 812. The first service agent 812 reads the second mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into its own transmit queue. The first DPDK controller moves the second mbuf pointer from the transmit queue of the first service agent 812 to the receive queue of the first service container 811. The first service container 811 obtains a second mbuf pointer from its own receiving queue, and obtains a service response message from the first DPDK shared memory pool according to the second mbuf pointer.
That is, the transfer procedure of the response message from the second service container 821 to the first service container 811 is: second service container 821→second service proxy 822→first service proxy 812→first service container 811.
Fig. 9 is a schematic structural view of a service grid-based information transmission system according to another embodiment of the present disclosure. As shown in fig. 9, the first micro service group 91 is located at a first host, and the second micro service group 92 is located at a second host. The first micro service group 91 comprises a first service container 911 and a first service agent 912, and the second micro service group 92 comprises a second service container 921 and a second service agent 922.
The first service container 911 creates a service request packet for transmission to the second service container 921, writes the service request packet into the first DPDK shared memory pool 913, and writes the first mbuf pointer of the service request packet into its own transmission queue. The first DPDK controller moves the first mbuf pointer from the transmit queue of the first service container 911 to the receive queue of the first service agent 912. The first service agent 912 reads the first mbuf pointer from its own receive queue to perform the corresponding protocol stack and routing processing, and writes the first mbuf pointer into its own transmit queue. The first DPDK controller obtains the service request message from the first DPDK shared memory pool 913 by using the first mbuf pointer in the transmission queue of the first service agent, and writes the service request message into the first network card buffer. The first network card 914 sends a service request message to a second network card 924 in the second host. The second DPDK controller writes the service request packet received by the second network card 924 into a second DPDK shared memory pool 923 in the second host, and writes a corresponding third mbuf pointer into a receive queue of the second service agent 922. The second service agent 922 reads the third mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the third mbuf pointer into its own transmit queue. The second DPDK controller moves the third mbuf pointer from the transmit queue of the second service agent 922 to the receive queue of the second service container 921. The second service container 921 obtains a third mbuf pointer from its own receiving queue, and obtains a service request message from the second DPDK shared memory pool 923 according to the third mbuf pointer.
That is, the service message is transferred from the first service container 911 to the second service container 912 by: first service container 911→first service agent 912→first gateway 914→second gateway 924→second service agent 922→second service container 921.
In some embodiments, after the second service container 921 obtains the service request packet, a service response packet for sending to the first service container 911 is created, the service response packet is written into the second DPDK shared memory pool 923, and a fourth mbuf pointer of the service response packet is written into its own sending queue. The second DPDK controller moves the fourth mbuf pointer from the transmit queue of the second service container 912 to the receive queue of the second service agent 922. The second service agent 922 reads the fourth mbuf pointer from its own receive queue to perform corresponding protocol stack and routing processing, and writes the fourth mbuf pointer into its own transmit queue. The second DPDK controller obtains the service response message from the second DPDK shared memory pool 923 by using the fourth mbuf pointer in the transmission queue of the second service agent 922, and writes the service response message into the second network card buffer. The second network card 924 sends a service reply message to the first network card 914 in the first host. The first DPDK controller writes the service response message received by the first network card 914 into the first DPDK shared memory pool 913 in the first host, and writes the corresponding fifth mbuf pointer into the receive queue of the first service agent 912. The first service agent 912 reads the fifth mbuf pointer from its own receive queue to perform the corresponding protocol stack and routing processing, and writes the fifth mbuf pointer into its own transmit queue. The first DPDK controller moves the fifth mbuf pointer from the transmit queue of the first service agent 912 to the receive queue of the first service container 911. The first service container 911 obtains a fifth mbuf pointer from its own receiving queue, and obtains a service response message from the first DPDK shared memory pool 913 according to the fifth mbuf pointer.
That is, the transfer process of the response message from the second service container to the first service container is as follows: second service container 921→second service proxy 922→second gateway 924→first gateway 914→first service proxy 912→first service container 911.
In some embodiments, the functional modules described above may be implemented as general-purpose processors, programmable logic controllers (Programmable Logic Controller, abbreviated as PLCs), digital signal processors (Digital Signal Processor, abbreviated as DSPs), application specific integrated circuits (Application Specific Integrated Circuit, abbreviated as ASICs), field programmable gate arrays (Field-Programmable Gate Array, abbreviated as FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any suitable combination thereof for performing the functions described herein.
Thus, embodiments of the present disclosure have been described in detail. In order to avoid obscuring the concepts of the present disclosure, some details known in the art are not described. How to implement the solutions disclosed herein will be fully apparent to those skilled in the art from the above description.
Although some specific embodiments of the present disclosure have been described in detail by way of example, it should be understood by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present disclosure. It will be understood by those skilled in the art that the foregoing embodiments may be modified and equivalents substituted for elements thereof without departing from the scope and spirit of the disclosure. The scope of the present disclosure is defined by the appended claims.

Claims (21)

1. An information transmission method based on a service grid, comprising:
the first service container creates a service request message for sending to the second service container, and writes the service request message into a first DPDK shared memory pool;
the first service container writes a first mbuf pointer of the service request message into a transmission queue of the first service container;
the first DPDK controller moves a first mbuf pointer from a transmission queue of a first service container to a receiving queue of a first service agent, wherein the first service container and the first service agent are both positioned in a first micro service group;
the first service agent reads a first mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into a transmitting queue of the first service agent;
the first DPDK controller moves a first mbuf pointer from a sending queue of a first service agent to a receiving queue of a second service agent in a second micro service group under the condition that the first micro service group and the second micro service group comprising a second service container are both positioned on a first host;
the second service agent reads the first mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the first mbuf pointer into the sending queue of the second service agent;
The first DPDK controller moves a first mbuf pointer from a transmission queue of the second service agent to a receiving queue of the second service container;
the second service container acquires a first mbuf pointer from a receiving queue of the second service container, and acquires a service request message from the first DPDK shared memory pool according to the first mbuf pointer.
2. The method of claim 1, further comprising:
after the second service container acquires the service request message, a service response message for sending to the first service container is created, and the service response message is written into the first DPDK shared memory pool;
the second service container writes a second mbuf pointer of the service response message into a transmission queue of the second service container;
the first DPDK controller moves a second mbuf pointer from a transmission queue of the second service container to a receiving queue of the second service agent;
the second service agent reads a second mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into the sending queue of the second service agent;
the first DPDK controller moves a second mbuf pointer from a transmission queue of the second service agent to a receiving queue of the first service agent;
the first service agent reads a second mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and writes the second mbuf pointer into a transmitting queue of the first service agent;
The first DPDK controller moves a second mbuf pointer from a transmission queue of the first service agent to a receiving queue of the first service container;
the first service container acquires a second mbuf pointer from a receiving queue of the first service container, and acquires a service response message from the first DPDK shared memory pool according to the second mbuf pointer.
3. The method according to claim 2, wherein:
the first DPDK shared memory pool can be accessed by any micro service group located on the first host.
4. The method of claim 1, further comprising:
the method comprises the steps that when a first micro service group is located on a first host and a second micro service group is located on a second host, a first mbuf pointer in a transmission queue of a first service agent is utilized by a first DPDK controller to obtain a service request message from a first DPDK shared memory pool and write the service request message into a first network card cache area;
the first network card sends the service request message to a second network card in the second host;
the second DPDK controller writes the service request message received by the second network card into a second DPDK shared memory pool in the second host, and writes a corresponding third mbuf pointer into a receiving queue of the second service agent;
the second service agent reads a third mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the third mbuf pointer into the sending queue of the second service agent;
The second DPDK controller moves a third mbuf pointer from a sending queue of the second service agent to a receiving queue of the second service container;
the second service container acquires a third mbuf pointer from the receiving queue of the second service container, and acquires a service request message from the second DPDK shared memory pool according to the third mbuf pointer.
5. The method of claim 4, further comprising:
after the second service container acquires the service request message, a service response message for sending to the first service container is created, and the service response message is written into a second DPDK shared memory pool;
the second service container writes a fourth mbuf pointer of the service response message into a transmission queue of the second service container;
the second DPDK controller moves a fourth mbuf pointer from a transmission queue of the second service container to a receiving queue of the second service agent;
the second service agent reads a fourth mbuf pointer from the receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and writes the fourth mbuf pointer into the sending queue of the second service agent;
the second DPDK controller acquires a service response message from the second DPDK shared memory pool by using a fourth mbuf pointer in a transmission queue of the second service agent and writes the service response message into a second network card buffer area;
The second network card sends the service response message to the first network card in the first host;
the first DPDK controller writes the service response message received by the first network card into a first DPDK shared memory pool in the first host, and writes a corresponding fifth mbuf pointer into a receiving queue of the first service agent;
the first service agent reads a fifth mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and writes the fifth mbuf pointer into a transmitting queue of the first service agent;
the first DPDK controller moves a fifth mbuf pointer from a transmission queue of the first service agent to a receiving queue of the first service container;
the first service container acquires a fifth mbuf pointer from a receiving queue of the first service container, and acquires a service response message from the first DPDK shared memory pool according to the fifth mbuf pointer.
6. The method according to claim 5, wherein:
the second DPDK shared memory pool can be accessed by any micro service group located on the second host.
7. An information transmission system based on a service grid, comprising:
the first service container is configured to create a service request message for sending to the second service container, write the service request message into the first DPDK shared memory pool, and write a first mbuf pointer of the service request message into a sending queue of the first service container;
A first DPDK controller configured to move a first mbuf pointer from a transmit queue of a first service container to a receive queue of a first service agent, wherein the first service container and the first service agent are both in a first micro service group; and further configured to move the first mbuf pointer from the transmit queue of the first service agent into the receive queue of a second service agent in the second micro-service group if both the first micro-service group and the second micro-service group including the second service container are located at the first host; further configured to move the first mbuf pointer from the transmit queue of the second service agent into the receive queue of the second service container;
the first service agent is configured to read a first mbuf pointer from a receiving queue of the first service agent so as to perform corresponding protocol stack and routing processing, and write the first mbuf pointer into a transmitting queue of the first service agent;
the second service agent is configured to read the first mbuf pointer from the receiving queue of the second service agent so as to perform corresponding protocol stack and routing processing, and write the first mbuf pointer into the sending queue of the second service agent;
the second service container is configured to acquire a first mbuf pointer from the receiving queue of the second service container, and acquire a service request message from the first DPDK shared memory pool according to the first mbuf pointer.
8. The system of claim 7, wherein:
the second service container is further configured to create a service response message for sending to the first service container after the service request message is acquired, write the service response message into the first DPDK shared memory pool, and write a second mbuf pointer of the service response message into a sending queue thereof;
the first DPDK controller is further configured to move the second mbuf pointer from the transmit queue of the second service container to the receive queue of the second service agent; further configured to move the second mbuf pointer from the transmit queue of the second service agent into the receive queue of the first service agent; further configured to move the second mbuf pointer from the send queue of the first service agent into the receive queue of the first service container;
the second service agent is further configured to read a second mbuf pointer from the receiving queue thereof to perform corresponding protocol stack and routing processing, and write the second mbuf pointer into the sending queue thereof;
the first service agent is further configured to read a second mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and write the second mbuf pointer into a sending queue of the first service agent;
The first service container is further configured to obtain a second mbuf pointer from its own receiving queue, and obtain a service response message from the first DPDK shared memory pool according to the second mbuf pointer.
9. The system of claim 8, wherein:
the first DPDK shared memory pool can be accessed by any micro service group located on the first host.
10. The system of claim 7, wherein:
the first DPDK controller is further configured to obtain a service request message from the first DPDK shared memory pool and write the service request message into the first network card buffer area using a first mbuf pointer in a transmission queue of the first service agent when the first micro service group is located in the first host and the second micro service group is located in the second host;
the first network card is configured to send the service request message to a second network card in the second host;
the second network card is configured to receive a service request message sent by the first network card;
the second DPDK controller is configured to write the service request message received by the second network card into a second DPDK shared memory pool in the second host, and write a corresponding third mbuf pointer into a receiving queue of the second service agent; further configured to move a third mbuf pointer from the transmit queue of the second service agent into the receive queue of the second service container;
The second service agent is configured to read a third mbuf pointer from a receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and write the third mbuf pointer into a transmitting queue of the second service agent;
the second service container is configured to acquire a third mbuf pointer from the receiving queue of the second service container, and acquire a service request message from the second DPDK shared memory pool according to the third mbuf pointer.
11. The system of claim 10, wherein:
the second service container is further configured to create a service response message for sending to the first service container after the service request message is acquired, write the service response message into the second DPDK shared memory pool, and write a fourth mbuf pointer of the service response message into a sending queue thereof;
the second DPDK controller is configured to move the fourth mbuf pointer from the transmit queue of the second service container to the receive queue of the second service agent; the second DPDK controller is further configured to acquire a service response message from the second DPDK shared memory pool by using a fourth mbuf pointer in a transmission queue of the second service agent and write the service response message into the second network card buffer area;
the second service agent is configured to read a fourth mbuf pointer from a receiving queue of the second service agent to perform corresponding protocol stack and routing processing, and write the fourth mbuf pointer into a transmitting queue of the second service agent;
The second network card is configured to send a service response message to the first network card in the first host;
the first network card is configured to receive a service response message sent by the second network card;
the first DPDK controller is configured to write a service response message received by the first network card into a first DPDK shared memory pool in the first host, and write a corresponding fifth mbuf pointer into a receiving queue of the first service agent; further configured to move a fifth mbuf pointer from the send queue of the first service agent into the receive queue of the first service container;
the first service agent is configured to read a fifth mbuf pointer from a receiving queue of the first service agent to perform corresponding protocol stack and routing processing, and write the fifth mbuf pointer into a transmitting queue of the first service agent;
the first service container is configured to acquire a fifth mbuf pointer from the receiving queue of the first service container, and acquire a service response message from the first DPDK shared memory pool according to the fifth mbuf pointer.
12. The system of claim 11, wherein:
the second DPDK shared memory pool can be accessed by any micro service group located on the second host.
13. A method of constructing a service grid for implementing the method of information transmission of any one of claims 1-6, comprising:
Uploading a micro-service image to an image warehouse, and submitting a micro-service deployment request to a micro-service deployment engine, wherein the micro-service deployment request comprises a micro-service deployment configuration file, and the micro-service deployment configuration file comprises micro-service container configuration, micro-service interface information, micro-service protocol stack information, micro-service interface test case sets and DPDK (digital video broadcasting) enabling information, and the micro-service container configuration comprises micro-service container image IDs and micro-service container resource configuration;
reading a DPDK enabling state of the DPDK configuration information from the micro service container deployment configuration file by the micro service deployment engine, and if the DPDK enabling state is not enabled, performing DPDK enabling protocol stack injection;
acquiring a micro-service container mirror image ID and micro-service protocol stack configuration information;
if the protocol stack configuration information does not have DPDK version information, indicating that the corresponding micro service container image is a non-DPDK enabling image, and constructing the micro service container image into a DPDK enabling image;
downloading a micro-service container image from an image warehouse to a DPDK enhanced micro-service construction environment, and acquiring a service source protocol library root file from the container image;
starting from a source protocol library root file, scanning a protocol stack node and a child node on which the protocol stack node depends in a breadth-first mode to perform DPDK (digital video coding) enabling;
If the DPDK of the node of the current source protocol library is enabled successfully, continuing to enable the DPDK of the brother node of the protocol library, if all nodes of the current protocol library cannot enable the DPDK, searching the next layer of the protocol library dependency tree in a breadth-first mode, and if all nodes of the whole protocol library dependency tree cannot enable the DPDK, setting the DPDK enabling state of the micro-service deployment configuration as disabled;
and analyzing the micro-service deployment configuration file by a micro-service deployment engine to perform DPDK-enabled micro-service deployment.
14. The method of claim 13, wherein scanning protocol stack nodes and sub-nodes on which protocol stack nodes depend for DPDK enablement in a breadth-first manner starting from a source protocol library root file comprises:
extracting characteristic information of a current node library file;
searching a DPDK enhancement library file index library by using protocol library file characteristic information, and adding the searched DPDK enhancement library files with the matching degree exceeding the preset minimum matching degree requirement into a candidate enhancement library list according to the sequence of the matching degree from high to low;
if the candidate enhancement library list is not empty, a DPDK enhancement mirror image is built in sequence from the first element of the candidate enhancement library list, the DPDK enhancement mirror image is inserted into an original micro-service mirror image layer, then a deployment test is carried out, and the deployment configuration of the enhancement mirror image and the container group passing the test is released into a mirror image warehouse and a deployment configuration warehouse.
15. The method of claim 14, wherein constructing a DPDK boost image comprises:
taking the current enhancement library file element as a root node, acquiring all enhancement library files of the whole DPDK enhancement library dependency tree, and storing the enhancement library files into an enhancement library file list;
taking the mirror image layer where the current scanned source protocol library is located as a father mirror image, overlapping the current matched enhancement library file and all the sub-files on the father mirror image layer to form a DPDK enhancement mirror image layer containing an enhancement library file set, and setting the library loading priority of the DPDK enhancement library to be the highest in the enhancement mirror image layer;
if the sub-mirror layer exists in the currently scanned micro-service mirror layer, a parent mirror pointer of the sub-mirror layer is pointed to the DPDK enhanced mirror layer, all descendant mirror layers are reconstructed in sequence, and finally the DPDK enhanced micro-service mirror is obtained.
16. The method of claim 15, wherein constructing a DPDK enhanced micro service container group includes:
selecting a DPDK enhancement micro-service agent image which is most matched with the injected DPDK enhancement library from the image warehouse;
packaging the DPDK enhanced micro service mirror image and the DPDK enhanced service proxy mirror image into the same container group, taking the DPDK enhanced micro service mirror image as a main container of the container group, and taking the DPDK enhanced service proxy as a bypass container of the container group;
The DPDK enhanced service agent container intercepts all process flow of the micro service container in the container group through a DPDK I/O filter;
replacing the micro service container configuration information in the original micro service deployment configuration file with the DPDK enhanced micro service container group configuration.
17. The method of claim 16, wherein performing deployment testing on the DPDK enhanced micro service container group includes:
starting a DPDK enhanced micro-service container group through a container deployment instruction;
executing all service interface test cases;
if all the service interface test cases are successfully executed, the injected DPDK enhancement library is compatible with the original micro-service protocol stack;
if the current enhancement library test fails, selecting the next element from the candidate element list, and repeating the step of constructing the DPDK enhancement mirror image.
18. The method of claim 17, wherein publishing the DPDK enhancement container group and deployment configuration information that passed the test comprises:
uploading the DPDK enhanced container image to a container image warehouse;
setting DPDK configuration information in the micro-service deployment configuration file, setting a DPDK library ID as a root library ID of the injected DPDK library, setting a DPDK proxy ID as an injected DPDK proxy ID, and setting a DPDK enabled state as enabled.
19. The method of claim 18, wherein parsing, by the micro service deployment engine, the micro service deployment configuration file for DPDK enabled micro service deployment comprises:
if the DPDK enabling state in the configuration file is enabled, using the DPDK proxy ID to request the deployable DPDK enhanced service grid from the container cluster controller;
the container cluster controller selects a DPDK service grid controller supporting a DPDK service control protocol of the requested DPDK service agent from the registered DPDK enabled service controllers;
if the available DPDK service grid controller exists, a container engine is informed to download a DPDK service proxy container and a DPDK micro service container, a DPDK enhancement container group is started, the DPDK service proxy container and the DPDK micro service container are connected to a DPDK shared memory pool of a host, and finally the DPDK service proxy is registered on the DPDK service controller;
and if the DPDK enabling state of the service deployment configuration file is not enabled or cannot be enabled, selecting a preset standard micro-service grid deployment micro-service container.
20. A service grid construction apparatus comprising:
a memory configured to store instructions;
a processor coupled to the memory, the processor configured to perform the method of any of claims 13-19 based on instructions stored by the memory.
21. A computer readable storage medium storing computer instructions which, when executed by a processor, implement the method of any one of claims 13-19.
CN202011091443.8A 2020-10-13 2020-10-13 Information transmission method and system based on service grid Active CN114422489B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011091443.8A CN114422489B (en) 2020-10-13 2020-10-13 Information transmission method and system based on service grid

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011091443.8A CN114422489B (en) 2020-10-13 2020-10-13 Information transmission method and system based on service grid

Publications (2)

Publication Number Publication Date
CN114422489A CN114422489A (en) 2022-04-29
CN114422489B true CN114422489B (en) 2024-01-26

Family

ID=81260257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011091443.8A Active CN114422489B (en) 2020-10-13 2020-10-13 Information transmission method and system based on service grid

Country Status (1)

Country Link
CN (1) CN114422489B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442173B (en) * 2022-06-07 2024-02-06 北京车和家信息技术有限公司 Vehicle message forwarding and processing method and device, electronic equipment and storage medium
CN115065720B (en) * 2022-06-15 2024-02-13 中电云计算技术有限公司 Method and device for automatically adapting multiple external registries to service grid Istio
CN115665221A (en) * 2022-09-28 2023-01-31 国科础石(重庆)软件有限公司 Communication method and device between vehicle-mounted containers, vehicle and electronic equipment
CN115801770B (en) * 2023-02-07 2023-04-18 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) Large file transmission method based on full-user-state QUIC protocol
CN118677966B (en) * 2024-08-22 2024-10-18 成都菁蓉联创科技有限公司 High-real-time rapid container communication method based on domestic hardware platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018032399A1 (en) * 2016-08-17 2018-02-22 Zte Corporation Server and method having high concurrency capability
CN108270676A (en) * 2016-12-31 2018-07-10 普天信息技术有限公司 A kind of network data processing method and device based on IntelDPDK
WO2020106973A1 (en) * 2018-11-21 2020-05-28 Araali Networks, Inc. Systems and methods for securing a workload
CN111262784A (en) * 2020-01-13 2020-06-09 杭州朗和科技有限公司 Message forwarding method, message forwarding device, storage medium and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785334B2 (en) * 2015-06-03 2020-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Implanted agent within a first service container for enabling a reverse proxy on a second container
US10785122B2 (en) * 2018-10-05 2020-09-22 Cisco Technology, Inc. Canary release validation mechanisms for a containerized application or service mesh

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018032399A1 (en) * 2016-08-17 2018-02-22 Zte Corporation Server and method having high concurrency capability
CN108270676A (en) * 2016-12-31 2018-07-10 普天信息技术有限公司 A kind of network data processing method and device based on IntelDPDK
WO2020106973A1 (en) * 2018-11-21 2020-05-28 Araali Networks, Inc. Systems and methods for securing a workload
CN111262784A (en) * 2020-01-13 2020-06-09 杭州朗和科技有限公司 Message forwarding method, message forwarding device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN114422489A (en) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114422489B (en) Information transmission method and system based on service grid
US10938647B2 (en) Edge database management of the network data plane
CN104731516B (en) A kind of method, apparatus and distributed memory system of accessing file
US7089560B1 (en) Architecture for building web applications
US7587447B2 (en) Systems, methods and computer programs for implementing and accessing web services
US10331504B2 (en) Method and system for extending application programming interfaces
CN107818268A (en) The access control method and server of big data platform
JP2016045944A (en) System and method for reconstructable all-in-one content stream
US20210141648A1 (en) Configuration manager data structures
US9172744B2 (en) Scalable storage with programmable networks
US11552868B1 (en) Collect and forward
CN103207866B (en) A kind of file memory method based on partition strategy and system
CN116860488A (en) Process communication method and related device
US20230409514A1 (en) Transaction based remote direct memory access
US11711411B2 (en) Method for transparent zero-copy distribution of data to DDS applications
WO2021155498A1 (en) Data reading method and terminal
Kang et al. Android RMI: a user-level remote method invocation mechanism between Android devices
Jackson Building Microservices with Go
CA2894608A1 (en) A computer-implemented method of aggregating and presenting digital photos from numerous sources
US20200334213A1 (en) Composite file system commands
Kelly et al. Unity Networking Fundamentals
CN108737525A (en) A kind of Web service system based on REST frameworks
US11782885B2 (en) Accessing S3 objects in a multi-protocol filesystem
CN118660083A (en) Data access method and related device
WO2023225219A2 (en) Systems and methods for header processing in a server computing environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant