Software process design method of multi-port instrument
By using large page memory initialization and resource partitioning methods, combined with lock-free circular queues, shared memory blocks, and other technologies, the problem of insufficient process resources in multi-port instruments and meters was solved, and efficient and stable process operation was achieved.
Patent Information
- Application Number
- CN202411687084.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-03-11
AI Technical Summary
In instruments with multiple physical ports, existing technologies cannot effectively guarantee that the software process of each port obtains sufficient physical resources (memory, CPU) during operation, leading to problems with process stability and efficiency.
By employing methods such as large page memory initialization, physical resource partitioning, binding relationship establishment, lock-free circular queues, shared memory blocks, buffer pools, asynchronous memory reclamation, and core polling thread groups, we ensure that each port's business process is bound to its allocated memory and cores, thereby achieving full utilization of resources and independent operation.
This allows each port's business process to obtain independent memory and CPU resources during operation, avoiding resource contention and improving process stability and operating efficiency.
Smart Images

Figure CN119597255A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of research and development of multi-port instruments and meters, and relates to a software process design method for multi-port instruments and meters. Background Art
[0002] When developing instruments with multiple physical ports, when trying to increase the number of physical data transceiver ports on the same test instrument, it can not only save hardware construction costs, but also better adapt to the complex environment of the application site. The X86 System where the relevant supporting business software runs, because the System carries too many complicated other processes (including system processes, security management processes, other software processes, business processes between different ports, etc.), the physical resources (Memory, CPU) of the software process of a specific port cannot be fully guaranteed during operation. Different processes rely on preemptive mode by default to obtain system resources in the System. When the Memory and CPU of the System are exhausted by other processes, the software process of a specific port cannot apply for enough memory and CPU from the System. Therefore, a physical resource division method that can ensure the stable operation of the software process is needed to ensure that the business process of each port is equipped with independent memory and CPU at any stage of operation, laying a physical resource foundation for its efficient and stable operation.
[0003] Therefore, a method of dividing physical resources (Memory, CPU) that can ensure the stable operation of software processes is needed to replace the default preemptive resource allocation method of the operating system. In addition, how to achieve the highest operating efficiency of the process of each port is another thorny problem. Summary of the invention
[0004] In view of the above technical problems, the present invention provides a software process design method for multi-port instrumentation.
[0005] The present invention is achieved through the following technical solutions:
[0006] A software process design method for a multi-port instrument, the method comprising:
[0007] (1) Resource initialization: Initialize the operating system's memory as large page memory;
[0008] (2) Physical resource allocation: Make an overall plan for all physical memory and multi-core processors of the operating system, and allocate corresponding memory and cores to each port service process in the multi-port service process;
[0009] (3) Establishing a binding relationship: Establishing a binding relationship between each port service process and the corresponding allocated memory and kernel core;
[0010] (4) Process acceleration: Based on the lock-free ring queue, shared memory block, buffer pool, asynchronous memory recycling, and core polling thread group of large page shared memory, the port business process is associated with the lock-free ring queue, shared memory block, buffer pool, asynchronous memory recycling, and core polling thread group to fully utilize the physical resources allocated to the port business process, thereby achieving efficient and stable operation of the process.
[0011] Furthermore, step (1) specifically includes: initializing the memory of the operating system as large page memory, distributing the large page memory evenly to each node, and associating the large page memory with the corresponding socket ID (i.e., CPU slot ID) according to the memory channel number to which it belongs, to form a memory CPU mapping group in which the large page memory is associated with the node, and the cores under each group of nodes share the large page memory mounted under the corresponding node group.
[0012] Furthermore, in step (1), after the operating system is started and other system maintenance processes are not yet running, the large page table of the operating system's memory is initialized.
[0013] Furthermore, in step (2), the overall planning method specifically includes:
[0014] Reserving a first physical memory and a first processor group required for the operation of the operating system;
[0015] Allocate a second physical memory and a second processor group required for the operation of other system maintenance processes in the operating system;
[0016] A third physical memory and a third processor group that meet the expected performance index of the corresponding port are allocated for each port service process in the multi-port service process.
[0017] Furthermore, the number of cores of the CPU of the operating system is greater than or equal to the total number of cores to be divided, and the total number of memories of the operating system system is greater than or equal to the total number of memories to be divided.
[0018] Furthermore, in step (3), a binding relationship is established between each port service process and the corresponding third physical memory and third processor group, thereby achieving physical resource isolation and process independence between ports.
[0019] Further, step (4) comprises:
[0020] Initialization of the lock-free ring queue: Initialize one or more groups of linked list-like continuous memory blocks connected end to end for each port service process, and share the linked list-like continuous memory blocks in a keyname manner;
[0021] Initialization of shared memory blocks: In the large page shared memory, initialize several shared memory blocks of different lengths in advance according to the keyname method for use by the port service process;
[0022] Resource recovery: When the port service process exits, the port-related resources are released, and the port master process recovers the resources asynchronously;
[0023] Communication and scheduling between processes or threads: Port business processes use shared memory technology and TCP technology to achieve production, transmission, consumption of data messages and mutual collaborative scheduling;
[0024] For the port's sent and received data, a zero-copy mechanism is used: with the help of a lock-free ring queue and shared memory block based on large page memory, the data is stored in the corresponding lock-free ring queue or shared memory block in the form of keyname on the production side, and the data consumer side obtains the corresponding lock-free ring queue or shared memory block in the form of keyname, so that the memory data is completely transmitted between the production side and the consumer side in the form of address, achieving zero copy of data content;
[0025] Core polling processing: Create a polling thread group for the core bound to the port business process, and allocate a core polling thread to the data production and consumption ends respectively to poll and process data production and storage, as well as data extraction and consumption;
[0026] Data transfer at the port driver layer: The PCIe device data of the port is transferred to the large page shared memory of the master process through DMA, and the data is passed to the specific port sub-business process through the address of the shared memory for consumption by the port business process.
[0027] Furthermore, the operating system is an operating system that supports NUMA architecture.
[0028] Further, each port service process includes a port primary sub-service process and a port secondary sub-service process;
[0029] For the port-level sub-service process: the core assigned by the port central control process to the current port-level sub-service process is bound to the current port-level sub-service process through the sched_setaffinity method, so that the core of the current port-level sub-service process is not scheduled by the operating system process; a buffer pool is set for the current port-level sub-service process; the port-level sub-service process communicates with the port master process through a lock-free ring queue; a part of the fixed amount of data transmission in the port-level sub-service process is communicated using a shared memory block;
[0030] For the port-level sub-business process: the port-level sub-business process shares data with the port-level sub-business process through an unlocked ring queue: the port-level sub-business process receives and sends data through an unlocked ring queue and address passing to achieve zero copy of data content in the port-level sub-business process; the port-level sub-business process shares data with the port-level sub-business process through a shared memory block: through the shared memory block method, fixed-length data is obtained and consumed in the level-two sub-business process to achieve zero copy of data content; the port-level sub-business process communicates with the port-level sub-business process through TCP messages to coordinate the operation between processes; the port-level sub-business process communicates with the port master process through TCP messages to coordinate the operation between processes.
[0031] Beneficial technical effects of the present invention:
[0032] The invention discloses a software process design method for a multi-port instrument. When the process of each port is guaranteed to be running in a multi-port instrument software system, the physical resources (Memory, CPU) required by the port business process can be released from the default system preemptive resource allocation scheme, and the port business process runs safely and stably in its preset memory and CPU core without being affected by other processes.
[0033] The present invention is based on the use of a lock-free circular queue, a shared memory block, a buffer pool, asynchronous memory recovery, and a core polling thread group, and establishes an organic association between the port business process and the lock-free circular queue, the shared memory block, the buffer pool, asynchronous memory recovery, and the core polling thread group, thereby achieving the purpose of fully utilizing the physical resources allocated to each port and efficiently and stably ensuring the operating efficiency of the process. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 This is a diagram of the physical resource (Memory, CPU) partitioning architecture among multiple processes in Example 1 of the present invention;
[0035] Figure 2 The figure is a flow chart of a process design method in an embodiment of the present invention. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0037] On the contrary, the present invention covers any substitution, modification, equivalent method and scheme made on the essence and scope of the present invention as defined by the claims. Further, in order to make the public have a better understanding of the present invention, some specific details are described in detail in the detailed description of the present invention below. Those skilled in the art can fully understand the present invention without the description of these details.
[0038] The present invention provides a software process design method embodiment of a multi-port instrument. Figure 2 As shown, the method includes:
[0039] (1) Resource initialization: Initialize the operating system's memory as large page memory;
[0040] (2) Physical resource allocation: Make an overall plan for all physical memory (i.e., system memory) and multi-core processors (i.e., multi-core CPUs) of the operating system, and allocate corresponding memory and cores to each port service process in the multi-port service process;
[0041] (3) Establishing a binding relationship: Establishing a binding relationship between each port service process and the corresponding allocated memory and kernel core;
[0042] (4) Process acceleration: Based on the lock-free ring queue, shared memory block, buffer pool, asynchronous memory recycling, and core polling thread group of large page shared memory, the port business process is associated with the lock-free ring queue, shared memory block, buffer pool, asynchronous memory recycling, and core polling thread group to fully utilize the physical resources (including memory and kernel core) allocated to the port business process, thereby achieving efficient and stable operation of the process.
[0043] In the embodiment of the present invention, step (1) specifically includes: initializing the memory of the operating system as large page memory, evenly distributing the large page memory to each node, and associating the large page memory with the corresponding socketid according to the memory channel number to which it belongs, so as to form a memory cpu mapping group in which the large page memory is associated with the node, and the core under each group of nodes shares the large page memory mounted under the corresponding node group; in this step, the cpu core core in the operating system and the memory mounted under the corresponding memory channel are initialized as a large page memory group, and a map mapping group is generated with the sockid corresponding to the node, so as to bind the core and memory to the service process of each port in the future, i.e., lay the foundation for port resource allocation and isolation.
[0044] In step (1) of the embodiment of the present invention, after the operating system is started and other related auxiliary service processes are not yet running, the large page table of the operating system's memory is initialized. Otherwise, it may be preempted by the operating system, resulting in memory fragmentation, making it impossible to complete the allocation of large page memory; this is a conventional Linux system operation technology, in which, after the system is started and other related auxiliary service processes are not yet running, the operating system's idle memory is large enough to initialize the third physical memory; do not wait until the idle memory is smaller than the third physical memory to be allocated before dividing the large page memory table, which will result in insufficient memory and inability to initialize the large page memory.
[0045] In step (2) of the embodiment of the present invention, the overall planning method specifically includes:
[0046] Reserving a first physical memory and a first processor group required for the operation of the operating system;
[0047] A second physical memory and a second processor group required for the operation of other system maintenance processes within the operating system are allocated; specifically, the other system maintenance processes include: other non-operating system processes and non-port business processes, including: database processes, independent operation and maintenance processes for software version upgrades and upgrades, other non-port function-related processes (tomcat) additionally carried by the host, etc.
[0048] Allocate a third physical memory and a third processor group that meet the expected performance index of the corresponding port for each port service process in the multi-port service process;
[0049] Through the above physical resource division method, it is ensured that the service process of each port is always equipped with independent memory and CPU during operation, laying a resource foundation for its efficient and stable operation;
[0050] In an embodiment of the present invention, the core number (i.e., the core number) of the CPU of the operating system is greater than or equal to the total number of cores to be divided (the total number of cores to be divided is the total number of cores of the first processor group, the second processor group, and all third processor groups), and the total number of memories of the operating system system is greater than or equal to the total number of memories to be divided (the total number of memories to be divided is the total number of the first physical memory, the second physical memory, and all third physical memories).
[0051] In step (3) of the embodiment of the present invention, a binding relationship is established between each port service process and the corresponding third physical memory and third processor group (ie, the corresponding memory and kernel core), thereby achieving physical resource isolation and process independence between ports.
[0052] In this step, the third physical memory and the third processor group are divided for each port process, which can ensure that each test instrument port is configured with a specific processor and physical memory, and the third physical memory and the third processor group are bound to the corresponding port process, so that physical resource isolation and process independence can be achieved between each port, thereby providing physical resource guarantee for efficient and stable operation of each port. Specifically, in this step, the core binding method in the C / C++ language is adopted, which is a conventional technology.
[0053] like Figure 1 As shown, in this embodiment, when the operating system is an X86 operating system, the size of the first physical memory divided for the operating system is 2G, and the first processor group includes 4 processors; the size of the second physical memory divided for each port process is 4G, and the second processor group divided for each port process includes 2 processors; the size of the third physical memory divided for other system maintenance processes in the operating system is 2G, and the divided third processor group includes 2 processors. The above specific division parameters are only an example. The actual situation needs to be allocated according to the software performance requirements and the existing hardware resources, and there is no very specific boundary range.
[0054] In the embodiment of the present invention, step (4) includes:
[0055] Initialization of the lock-free ring queue: according to the design requirements of the port service process, one or more groups of linked list-type continuous memory blocks connected end to end are initialized for each port service process, and the linked list-type continuous memory blocks are shared in a keyname manner; the linked list-type continuous memory blocks are used internally by the port service process to improve the efficiency of memory application and use, and the length of the queue is designed to be controllable. When the data flow is large and the data is received in bursts, the data processing pressure is relieved for the data consumer end, and good data buffering and buffer adjustment capabilities are provided; the initialization process is completed using a resource initialization module;
[0056] Initialization of shared memory blocks: Since there are various business modules in the port business process, various formats of data will be transmitted in memory blocks of various fixed sizes. Therefore, in the large page shared memory, according to the design requirements, several required shared memory blocks of different lengths are initialized in advance according to the keyname method for use by the port business process; for the efficient operation of the port business process, an acceleration method is provided; the initialization process is completed using the resource initialization module;
[0057] Resource recycling: The port business process applies for, uses, and releases memory resources according to the keyname method. This method enables the port business process logic to focus on its own business processing. When the port business process exits, the port-related resources are released, and the port master process recycles resources asynchronously to improve the process operation efficiency.
[0058] Communication and scheduling between processes or threads: The business subprocess of a specific port is a complex process or thread group. The port business processes use shared memory technology and TCP technology to realize the production, transmission, consumption of data messages and mutual cooperative scheduling, thereby realizing complex business scenarios. Among them, the shared memory technology includes lock-free queues, shared memory blocks, and buffer pools.
[0059] Zero-copy mechanism: For the port's sent and received data, a zero-copy mechanism is used. With the help of a lock-free ring queue and shared memory block based on large page memory, the data is stored in the corresponding lock-free ring queue or shared memory block in the production end in the form of keyname. The data consumer end obtains the corresponding lock-free ring queue or shared memory block in the form of keyname, so that the memory data is completely transmitted between the production end and the consumer end in the form of address, achieving zero copy of data content and improving the data circulation rate.
[0060] Core polling processing: establish a polling thread group for the core bound to the port business process, and allocate a core polling thread at the data production and consumption ends respectively to poll and process data production and storage, as well as data extraction and consumption; in the polling processing method, the core process or thread is bound so that the core will not schedule processing interrupts back and forth in the operating system, and polling processing can make full use of the core, thereby improving the overall operation efficiency of the process.
[0061] Data transfer at the port driver layer: The PCIe device data of the port is transferred to the large page shared memory of the master process (lock-free queue, shared memory block, buffer pool, etc.) through DMA, and the data is passed to the specific port sub-business process through the address of the shared memory for consumption by the port business process. According to the actual data flow, the length of the lock-free queue is evaluated to receive and send port data.
[0062] The steps of the present invention establish an association relationship between a port service process and a lock-free ring queue, a shared memory block, a buffer pool, asynchronous memory recovery, and a core polling thread group by means of the NUMA architecture of an operating system; and improve the operation efficiency of the process by improving the memory read and write hit rate, reducing the retrieval time of memory pages, asynchronously recovering memory, sharing a memory pool, establishing a lock-free buffer queue, a buffer pool, using CPU instruction prefetching, and the like.
[0063] In the present invention, the resource initialization module is completed by the resource configuration of the operating system and the port master process. It is mainly responsible for initializing the CPU core core in the x86 operating system and the memory mounted under the corresponding memory channel into a large page memory group, and generating a map mapping group with the sockid corresponding to the node node, laying the foundation for subsequent port resource allocation and isolation.
[0064] In the present invention, the port master process is responsible for resource management, security verification, log monitoring and the like, is the management center of all port sub-service processes, and is also responsible for the application and release of port resources.
[0065] The method by which the port master process controls the allocation and recovery of resources of each port is as follows: by binding the process to the core, each port process is bound to the pre-allocated core, and by using the keyname method, memory resources (lock-free queues, shared memory blocks, buffer pools, etc.) are allocated to each port process from the resource initialization module. The resource initialization module obtains the memory cpu mapping group according to the allocated core, and further initializes the lock-free queues, shared memory blocks, etc. according to the design requirements for use by the port process logic, and releases port-related resources when the port process exits.
[0066] The method of port master process control for security analysis and monitoring mechanism is: establish various performance threshold settings, as well as real-time error information collection and alarm mechanism, and establish detailed logging function as needed, so that the port master process is more transparent to the operation process of each port business sub-process.
[0067] In the embodiment of the present invention, the operating system is an operating system that supports the NUMA architecture. Specifically, the operating system is a Linux X86 operating system.
[0068] In the embodiment of the present invention, each port service process includes a port level 1 sub-service process and a port level 2 sub-service process;
[0069] The first-level sub-service process of the port is responsible for the data transfer, statistics, process scheduling, etc. between the second-level sub-service process and the port. For the first-level sub-service process of the port:
[0070] Through the port master process, the core allocated to the first-level sub-service process of the current port is bound to the first-level sub-service process of the current port, so that the core of the first-level sub-service process of the current port is not scheduled by the operating system process;
[0071] A buffer pool is set for the current port-level sub-service process; for burst data within a short period of time, the port-level sub-service process has limited data consumption capacity. In order to prevent the queue from being full in a short period of time, the present invention sets a buffer pool to solve the problem; the buffer pool can effectively improve the buffering capacity of data sending and receiving.
[0072] The port-level sub-business process communicates with the port master process through an unlocked circular queue; the specific method is: first, the unlocked queue allocated by the port master process to the current port-level sub-business process is obtained through the keyname, and then the receiving queue is used to receive the port data received by the main control end, and the sending queue is used to send the data generated by the port sub-business process end. The data zero copy method and core polling processing are used in the receiving and sending process to improve the communication efficiency between the sub-process and the main control process.
[0073] A fixed amount of data transmission in the port-level sub-business process adopts shared memory blocks for communication; specifically, through the keyname of the shared memory block, data can be stored and retrieved between the port sub-business process and the port master process to achieve zero copy, and with the help of TCP messages, the actions between threads or processes can be quickly coordinated to improve the overall operation efficiency of the process.
[0074] The port secondary sub-service process is the final consumption process of the port data, and is also the data production process of the upper-layer application. It is directly related to the actual application needs of the user. It consumes the received data and produces the data to be sent. The process is a complex multi-threaded or multi-process processing process. For the port secondary sub-service process:
[0075] For the port-level sub-business process: the port-level sub-business process shares data with the port-level sub-business process through an unlocked ring queue: the port-level sub-business process receives and sends data through an unlocked ring queue and address passing to achieve zero copy of data content in the port-level sub-business process; the port-level sub-business process shares data with the port-level sub-business process through a shared memory block: through the shared memory block method, fixed-length data is obtained and consumed in the level-two sub-business process to achieve zero copy of data content; the port-level sub-business process communicates with the port-level sub-business process through TCP messages to coordinate the operation between processes; the port-level sub-business process communicates with the port master process through TCP messages to coordinate the operation between processes.
[0076] Those skilled in the art should understand that the modules or steps of the present invention described above can be implemented by a general-purpose computer device, or alternatively, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. The present invention is not limited to any specific combination of hardware and software.
[0077] Although the above describes the specific implementation mode of the present invention in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art on the basis of the technical solution of the present invention without creative work are still within the scope of protection of the present invention.
Claims
1. A software process design method for a multi-port instrument, characterized in that: The method comprises: (1) Resource initialization: Initialize the operating system's memory as large page memory; (2) Physical resource allocation: Make an overall plan for all physical memory and multi-core processors of the operating system, and allocate corresponding memory and cores to each port service process in the multi-port service process; (3) Establishing a binding relationship: Establishing a binding relationship between each port service process and the corresponding allocated memory and kernel core; (4) Process acceleration: Establish an association between the port business process and the lock-free ring queue, shared memory block, buffer pool, asynchronous memory recycling, and core polling thread group to fully utilize the physical resources allocated to the port business process, thereby achieving efficient and stable operation of the process.
2. The software process design method for a multi-port instrument according to claim 1, characterized in that: Step (1) specifically includes: initializing the memory of the operating system as large page memory, distributing the large page memory evenly to each node, associating the large page memory with the corresponding socket ID according to the memory channel number to which it belongs, forming a memory cpu mapping group in which the large page memory is associated with the node, and the cores under each group of nodes share the large page memory mounted under the corresponding node group.
3. The software process design method for a multi-port instrument according to claim 2, characterized in that: In step (1), after the operating system is started and other system maintenance processes are not yet running, the large page table of the operating system's memory is initialized.
4. The software process design method for a multi-port instrument according to claim 1, characterized in that: In step (2), the overall planning method specifically includes: Reserving a first physical memory and a first processor group required for the operation of the operating system; Allocate a second physical memory and a second processor group required for the operation of other system maintenance processes in the operating system; A third physical memory and a third processor group that meet the expected performance index of the corresponding port are allocated for each port service process in the multi-port service process.
5. A software process design method for a multi-port instrument according to claim 4, characterized in that: The number of cores of the CPU of the operating system is greater than or equal to the total number of cores to be divided, and the total number of memories of the operating system system is greater than or equal to the total number of memories to be divided.
6. The software process design method for a multi-port instrument according to claim 4, characterized in that: In step (3), a binding relationship is established between each port service process and the corresponding third physical memory and third processor group, thereby achieving physical resource isolation and process independence between ports.
7. The software process design method for a multi-port instrument according to claim 1, characterized in that: Step (4) comprises: Initialization of the lock-free ring queue: Initialize one or more groups of linked list-like continuous memory blocks connected end to end for each port service process, and share the linked list-like continuous memory blocks in a keyname manner; Initialization of shared memory blocks: In the large page shared memory, initialize several shared memory blocks of different lengths in advance according to the keyname method for use by the port service process; Resource recovery: When the port service process exits, the port-related resources are released, and the port master process recovers the resources asynchronously; Communication and scheduling between processes or threads: Port business processes use shared memory and TCP channels to complete communication and scheduling between processes; For the port's sent and received data, a zero-copy mechanism is used: with the help of a lock-free ring queue and shared memory block based on large page memory, the data is stored in the corresponding lock-free ring queue or shared memory block in the form of keyname on the production side, and the data consumer side obtains the corresponding lock-free ring queue or shared memory block in the form of keyname, so that the memory data is completely transmitted between the production side and the consumer side in the form of address, achieving zero copy of data content; Core polling processing: Create a polling thread group for the core bound to the port business process, and allocate a core polling thread to the data production and consumption ends respectively to poll and process data production and storage, as well as data extraction and consumption; Data transfer at the port driver layer: The PCIe device data of the port is transferred to the large page shared memory of the master process through DMA, and the data is passed to the specific port sub-business process through the address of the shared memory for consumption by the port business process.
8. The software process design method for a multi-port instrument according to claim 1, characterized in that: The operating system is an operating system that supports the NUMA architecture.
9. The software process design method for a multi-port instrument according to claim 1, characterized in that: Each port service process includes a port primary sub-service process and a port secondary sub-service process; For the port-level sub-service process: through the port master process, the core allocated to the current port-level sub-service process is bound to the current port-level sub-service process, so that the core of the current port-level sub-service process is not scheduled by the operating system process; a buffer pool is set for the current port-level sub-service process; the port-level sub-service process communicates with the port master process through a lock-free ring queue; a part of the fixed amount of data transmission in the port-level sub-service process is communicated using a shared memory block; For the port secondary sub-service process: the port secondary sub-service process and the port primary sub-service process share data through a lock-free ring queue; The port's secondary sub-business process receives and sends data through a lock-free ring queue and address passing method to achieve zero copy of data content in the port's secondary sub-business process; the port's secondary sub-business process and the port's primary sub-business process share data through shared memory blocks: through shared memory blocks, fixed-length data is obtained and consumed in the secondary sub-business process to achieve zero copy of data content; the port's secondary sub-business process communicates with the port's primary sub-business process through TCP messages to coordinate the operation between processes; the port's secondary sub-business process communicates with the port's master control process through TCP messages to coordinate the operation between processes.