Message management method and device, special data processor and storage medium

By dynamically adjusting the computing resource configuration of the traffic governance unit using a dedicated data processor, the problem of unreasonable utilization of computing resources in the service mesh is solved, achieving efficient utilization of computing resources and flexibility of message communication.

CN117499227BActive Publication Date: 2026-07-21YUSUR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
YUSUR TECH CO LTD
Filing Date
2023-11-21
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In existing technologies, the traffic governance units in service meshes cannot adapt to message communication of different service scales, resulting in insufficient or redundant computing resources that cannot be used rationally.

Method used

The system receives communication messages through a dedicated data processor (DPU), performs traffic statistics, dynamically adjusts the computing resource configuration of the traffic management unit based on the traffic value and preset unit template information, and activates the appropriate traffic management unit for management.

Benefits of technology

It achieves the rational use of computing resources, avoids insufficient and redundant computing resources, and improves the efficiency and flexibility of message communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117499227B_ABST
    Figure CN117499227B_ABST
Patent Text Reader

Abstract

The present disclosure provides a message management method and device, a special data processor and a storage medium. The method comprises: receiving a communication message sent by a first device, managing the communication message through a first traffic management unit that has been started, and performing traffic statistics on the communication message to obtain a traffic value of the communication message sent by the first device; if the traffic value is not within a traffic threshold corresponding to the first traffic management unit, obtaining first template information of a first unit template in a plurality of unit templates that matches the traffic value, and starting a second traffic management unit corresponding to the traffic value according to the first template information; wherein the template information of different unit templates is used to start a traffic management unit corresponding to different computing resources; and managing the communication message through the second traffic management unit to replace the first traffic management unit. The present disclosure can match the computing resources of the traffic management unit with the processing of the communication message, so that the computing resources are reasonably utilized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data transmission, and in particular to a message management method, apparatus, dedicated data processor and storage medium. Background Technology

[0002] Service Mesh is an infrastructure layer in cloud services, focusing on ensuring reliable transmission of service requests between microservices. It provides services such as discovery, load balancing, request routing, and rule configuration to achieve traffic governance. Traffic governance refers to the process of managing traffic according to certain strategies, including rate limiting, traffic distribution, traffic monitoring, traffic prediction, and peak shaving / valley filling.

[0003] In related technologies, when microservice units of host devices communicate via a service mesh, the traffic management unit in the service mesh is mainly responsible for calling computing resources to perform traffic management operations on the communication packets. However, in these technologies, when faced with message communication of different service scales, the computing resources matched to the traffic management unit cannot be adaptively adjusted. This can easily lead to a large discrepancy between the computing resources matched to the traffic management unit and the computing resources required to process the communication packets, resulting in insufficient computing resources or excessive redundancy, thus preventing the rational utilization of computing resources. Summary of the Invention

[0004] In view of this, embodiments of this application provide a message management method, apparatus, and dedicated data processor, which enables the computing resources matched by the traffic management unit to match the requirements for processing communication messages, thereby enabling the computing resources to be used rationally.

[0005] According to a first aspect of the embodiments of this application, a packet governance method is provided for a dedicated data processor coupled to a first device, wherein the first device performs traffic governance through the dedicated data processor; the packet governance method includes:

[0006] The system receives communication packets sent by the first device, processes the communication packets through the activated first traffic management unit, performs traffic statistics on the communication packets, and obtains the traffic value of the communication packets sent by the first device.

[0007] If the traffic value is not within the traffic threshold corresponding to the first traffic management unit, then the first template information of the first unit template that matches the traffic value among multiple unit templates is obtained, and the second traffic management unit corresponding to the traffic value is started according to the first template information; wherein, the template information of different unit templates is used to start traffic management units corresponding to different computing resources;

[0008] The second traffic management unit takes over from the first traffic management unit to manage the communication packets.

[0009] According to a second aspect of the embodiments of this application, a packet management apparatus is provided, comprising a dedicated data processor coupled to a first device, wherein the first device performs traffic management through the dedicated data processor; the packet management apparatus includes:

[0010] The generation module is used to receive the communication packets sent by the first device, process the communication packets through the activated first traffic management unit, and perform traffic statistics on the communication packets to obtain the traffic value of the communication packets sent by the first device.

[0011] The startup module is used to, when the traffic value is not within the traffic threshold corresponding to the first traffic management unit, obtain the first template information of the first unit template that matches the traffic value from multiple unit templates, and start the second traffic management unit corresponding to the traffic value according to the first template information; wherein, the template information of different unit templates is used to start traffic management units corresponding to different computing resources;

[0012] The governance module takes over from the first traffic governance unit through the second traffic governance unit to govern the communication packets.

[0013] According to a third aspect of the embodiments of this application, a dedicated data processor is provided, comprising: a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, it implements the message management method as described above.

[0014] According to a fourth aspect of the embodiments of this application, a computer storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the message management method as described above.

[0015] According to an embodiment of this application, after receiving a communication message from a first device, it is possible to determine whether the activated first traffic management unit is suitable for processing the communication message based on the traffic value of the communication message and the traffic threshold of the activated first traffic management unit. If the activated first traffic management unit is unsuitable for processing the communication message, the first template information of the first unit template matching the traffic value of the communication message is obtained based on the traffic thresholds corresponding to multiple preset unit templates. The template information of different unit templates is used to activate traffic management units corresponding to different computing resources. Based on the first template information of the first unit template matching the traffic value of the communication message, the traffic management unit corresponding to the computing resources and the traffic value of the communication message, i.e., the second traffic management unit, can be activated. Thus, after the second traffic management unit takes over from the first traffic management unit to manage the communication message, the second traffic management unit can call the computing resources corresponding to the traffic value of the communication message to manage the communication message, avoiding insufficient computing resources and excessive redundancy, and ensuring that computing resources are used rationally. Attached Figure Description

[0016] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings.

[0017] Figure 1 A system architecture diagram for implementing a message governance method according to an embodiment of this disclosure;

[0018] Figure 2 This is a flowchart of a message management method according to an embodiment of the present disclosure;

[0019] Figure 3 A system architecture diagram for implementing a message governance method according to another embodiment of this disclosure;

[0020] Figure 4 yes Figure 2 Detailed implementation diagram of the message management method;

[0021] Figure 5 This is a block diagram of a message communication apparatus according to an embodiment of the present disclosure;

[0022] Figure 6 Is to implement Figure 2 The diagram shows the dedicated data processor structure of the message management method. Detailed Implementation

[0023] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.

[0024] In related technologies, when microservice units of host devices communicate via service mesh, the traffic governance unit in the service mesh is mainly responsible for calling computing resources to perform traffic governance operations on the communication packets. However, in these technologies, the computing resources matched to the traffic governance unit cannot be adaptively adjusted when facing different scales of communication traffic. This can easily lead to a large discrepancy between the computing resources matched to the traffic governance unit and the computing resources required to process the communication packets, resulting in insufficient computing resources or excessive redundancy, and thus, the computing resources cannot be used rationally. For example, when the business volume increases significantly during a certain period (such as Double Eleven), the existing traffic governance unit cannot call more computing resources to support the processing of large bandwidth traffic. Moreover, when the business volume is low during a certain period (such as the early morning), it cannot reduce the computing resources occupied by the traffic governance unit, which can easily lead to a waste of computing resources.

[0025] Therefore, a technology is needed that can match the computing resources of the traffic management unit with the requirements for processing communication messages, so that computing resources can be used rationally.

[0026] Figure 1 This diagram illustrates a system architecture for implementing a message governance method according to an embodiment of the present disclosure. The system architecture includes a first device and a dedicated data processor. The dedicated data processor is coupled to the first device and is used to carry a service mesh that interfaces with the first device to enable message communication between microservice units within the first device.

[0027] The first device is the device that establishes message communication. This includes microservice units that provide microservices. Each microservice unit comprises multiple application units, which execute the microservice operations corresponding to the microservice unit. Multiple application units can execute multiple corresponding microservice operations in parallel when a microservice unit receives multiple microservice requests for a microservice, thereby improving efficiency. The first device can be a client or a server. Specifically, it can manifest as a desktop computer, laptop computer, mobile phone, PDA, dedicated terminal, or a cluster of terminals. Additionally, it can be a portion partitioned from a single terminal, such as a virtual machine.

[0028] A dedicated data processing unit (DPU) is a device used to manage communication messages sent by a first device in response to the first device's message communication requests. The DPU is a dedicated data processor built around data, employing a software-defined technology approach to support infrastructure layer resource virtualization and supporting infrastructure layer services such as storage, security, and quality of service management. When a service mesh is set up in the first device, the service mesh will significantly consume the first device's computing resources, placing a heavy burden on it. In this embodiment, the DPU is used to replace the first device in handling the service mesh, thereby relieving the burden on the first device caused by the service mesh. The DPU and the first device can communicate via a data channel formed by a PCIe (peripheral component interconnect express) interface. Of course, the DPU and the first device can also establish a communication connection through other suitable channels, all of which are within the protection scope of this application embodiment.

[0029] DPU includes SOC (System on Chip), which includes multiple traffic management units and protocol stacks.

[0030] A System-on-a-Chip (SoC) is a dedicated integrated circuit product that includes a complete system and all embedded software. It integrates a processor, memory, baseband, various interconnect buses, etc., with mobile phone chips being a typical example.

[0031] The traffic governance unit (such as the Envoy unit in an existing service mesh) is the core unit in the service mesh for governing communication packets. It is equipped with computing resources such as CPUs and can govern communication packets sent by the first device by receiving configuration information such as monitoring, routing, nodes, and weights. The configuration methods for other parts of the service mesh within the DPU can be found in relevant technologies and will not be elaborated here.

[0032] The protocol stack is a collection of basic protocols supported by the DPU. It is responsible for receiving communication messages from the first device and can perform traffic statistics on the communication messages to serve as the basis for selecting the first traffic governance unit to process the communication messages from multiple traffic governance units.

[0033] Reference Figure 1As shown in this embodiment, after the DPU receives a communication message, it can perform traffic statistics on the communication message through the protocol stack. Based on the traffic value obtained from the statistics and the traffic threshold corresponding to the activated traffic management unit, it can determine whether the computing resources matched by the activated traffic management unit are suitable for managing the received communication message. If the activated traffic management unit is not suitable for managing the received communication message, a traffic management unit with matching computing resources suitable for managing the communication message can be activated based on the traffic value obtained from the statistics to manage the communication message, thereby enabling the computing resources to be used reasonably.

[0034] like Figure 2 As shown, according to one embodiment of this disclosure, a message governance method 200 is provided. The method is executed by a dedicated data processor coupled to a first device, which performs message communication through the dedicated data processor. The message governance method includes:

[0035] Step 210: Receive the communication message sent by the first device, process the communication message through the activated first traffic management unit, and perform traffic statistics on the communication message to obtain the traffic value of the communication message sent by the first device.

[0036] Step 220: If the traffic value is not within the traffic threshold corresponding to the first traffic management unit, obtain the first template information of the first unit template that matches the traffic value from multiple unit templates, and start the second traffic management unit corresponding to the traffic value according to the first template information; wherein, the template information of different unit templates is used to start the traffic management unit corresponding to different computing resources;

[0037] Step 230: The second traffic management unit takes over from the first traffic management unit to manage the communication packets.

[0038] In step 210, after the communication message is received by the protocol stack, the communication message can be managed by the already activated first traffic management unit, and the protocol stack can simultaneously perform traffic statistics on the communication message to obtain the traffic value of the communication message sent by the first device. Alternatively, traffic statistics can be performed by other suitable traffic statistics units, all of which are within the protection scope of this application embodiment. The first traffic management unit can be the traffic management unit that is activated by default during DPU initialization, or it can be a traffic management unit activated based on the traffic value of previous communication messages and the template information of the corresponding unit template, all of which are within the protection scope of this application embodiment. In this embodiment, the traffic value of the communication message can be the amount of data of the communication message transmitted per unit time.

[0039] The traffic threshold corresponding to the first traffic management unit can be a traffic range set according to the computing resources of the first traffic management unit, thereby characterizing the traffic range of communication messages that the computing resources of the traffic management unit are suitable for processing.

[0040] The unit template in step 220 is a template used to construct a traffic governance unit. The template information in the unit template includes the computing resource configuration (e.g., the number of CPUs) information of the traffic governance unit it constructs, so that the DPU can start the traffic governance unit with the corresponding computing resources according to the template information of the unit template. Of course, the process of starting the traffic governance unit with the corresponding computing resources may include the process of constructing the traffic governance unit according to the template information or other processes, as long as the traffic governance unit can be started.

[0041] In this embodiment, multiple unit templates are preset, and these unit templates can correspond to different computing resource configurations. It should be understood that traffic management units with different computing resources are suitable for processing communication packets with different traffic values. In this real-time example, multiple unit templates can be preset with corresponding traffic thresholds to associate the computing resource configurations of each unit template with the traffic thresholds. The traffic thresholds characterize the range of communication packet traffic that the computing resources of the traffic management unit are suitable for processing. Therefore, based on the communication packet traffic value and the traffic thresholds corresponding to each unit template, after obtaining the first template information of the first unit template matching the traffic value among the multiple unit templates, the first traffic management unit with suitable computing resources is activated to manage the communication packet.

[0042] It should be noted that the traffic threshold corresponding to the traffic governance unit in this application is the same as the traffic threshold corresponding to the unit template used to construct the traffic governance unit. For example, the traffic threshold corresponding to the second traffic governance unit is the same as the traffic threshold corresponding to the first unit template. Of course, if a traffic governance unit does not have a corresponding unit template, the traffic threshold corresponding to that traffic governance unit can also be a separately set traffic threshold.

[0043] In this embodiment, the computational resource configuration information in the template information of the unit template and the corresponding traffic threshold can be set according to the computational resources required by the traffic management unit to process various types of communication packets. For example, based on the computational resources required for traffic management after a significant increase in communication packet traffic (such as during Double 11), a first computational resource configuration can be obtained by setting the number of computational resources for one traffic management unit. Based on the computational resources required for traffic management when communication packet traffic is extremely low (such as after midnight), a second computational resource configuration can be obtained by setting the number of computational resources for another traffic management unit. Furthermore, the computational resources can be divided between the first and second computational resource configurations according to a certain gradient to obtain multiple computational resource configurations. At the same time, the traffic value can be divided between the traffic value when communication packet traffic increases significantly and the traffic value when communication packet traffic is extremely low, according to the gradient of the computational resource configuration, to obtain the traffic threshold (range) corresponding to each computational resource configuration. Thus, multiple unit template computational resource configuration information can be set according to multiple computational resource configurations, and the traffic threshold corresponding to each unit template can be obtained simultaneously.

[0044] In step 220, if the traffic value of the communication message is not within the traffic threshold corresponding to the first traffic management unit, it indicates that the first traffic management unit is suitable for processing the received communication message, and the first traffic management unit can continue to be used to manage the communication message thereafter.

[0045] If the traffic value of a communication packet is not within the traffic threshold corresponding to the first traffic management unit, it indicates that the first traffic management unit is not suitable for processing the received communication packet. In this case, the first template information of the first unit template that matches the traffic value of the communication packet among multiple unit templates can be obtained. Based on the first template information, the second traffic management unit corresponding to the traffic value is activated, and the communication packet is processed by the second traffic management unit. It should be understood that the first unit template that matches the traffic value of the communication packet among multiple unit templates is the unit template among multiple unit templates whose corresponding traffic threshold includes the traffic value of the communication packet.

[0046] In step 230, after the second traffic management unit replaces the first traffic management unit, the first traffic management unit can be deleted, thereby reclaiming the computing resources of the first traffic management unit and preventing the computing resources from being occupied.

[0047] The beneficial effect of steps 210-230 is that, after receiving the communication message sent by the first device, it can determine whether the activated first traffic management unit is suitable for processing the communication message based on the traffic value of the communication message and the traffic threshold of the activated first traffic management unit. If the activated first traffic management unit is unsuitable for processing the communication message, it obtains the first template information of the first unit template matching the traffic value of the communication message based on the traffic thresholds corresponding to multiple preset unit templates. The template information of different unit templates is used to activate traffic management units corresponding to different computing resources. Based on the first template information of the first unit template matching the traffic value of the communication message, the traffic management unit corresponding to the computing resources and the traffic value of the communication message, i.e., the second traffic management unit, can be activated. Therefore, after the second traffic management unit takes over from the first traffic management unit to manage the communication message, the second traffic management unit can call the computing resources corresponding to the traffic value of the communication message to manage the communication message, avoiding insufficient computing resources and excessive redundancy, and ensuring that computing resources are used rationally.

[0048] The process of generating startup information is described in detail below.

[0049] like Figure 3 As shown, in one embodiment, the first device includes a unit matcher, through which first template information is obtained.

[0050] Specifically, such as Figure 4 As shown, in one embodiment, the first template information of the first unit template that matches the above-mentioned flow value among multiple unit templates is generated and issued by the unit matcher through the following steps:

[0051] Step 310: Obtain the traffic value. Based on the traffic value and the traffic thresholds corresponding to the multiple unit templates, determine the first unit template that matches the traffic value from the multiple unit templates.

[0052] Step 320: Obtain the first template information based on the first unit template, and send the first template information to the dedicated data processor.

[0053] In step 310, the traffic value is the traffic value of the communication packets received by the DPU in the above embodiment, which can be directly obtained by performing traffic statistics on the communication packets in step 210. This traffic value is compared with the traffic threshold corresponding to each unit template to determine the traffic threshold to which the traffic value belongs, thereby determining the first unit template that matches the traffic value. After determining the first unit template, the template information of the first unit template can be obtained from the first unit template, and this template information is sent as the first template information to the dedicated data processor.

[0054] The beneficial effect of steps 310-320 is that the first template information can be automatically obtained based on the traffic value of the communication message, and the first template information is sent to the DPU, enabling the DPU to easily obtain the first template information and improving the efficiency of message communication. Furthermore, this embodiment uses a dedicated unit matcher to determine the first unit template matching the traffic value based on the hierarchical relationship between the traffic value and the traffic threshold, obtaining the first template information of the first unit template. An API interface can be provided to users through the unit matcher, allowing users to set the unit templates and their corresponding traffic thresholds, thereby better meeting user needs.

[0055] like Figure 4 As shown, in one embodiment, the message management method 200 further includes:

[0056] Step 410: Determine the first identifier of the source application unit that sent the communication message based on the communication message;

[0057] Step 420: Obtain the unit matching table. Based on the first identifier and the unit matching table, determine the traffic management unit that matches the communication message, and assign the communication message to the traffic management unit that matches the communication message for management.

[0058] The unit matching table is used to indicate the matching relationship between the first identifier and the traffic management unit in the startup state. The traffic management unit in the startup state includes the first traffic management unit and the second traffic management unit in the startup state.

[0059] In step 410, the first identifier is the identification information of the application unit in the first device, which can be the ID number, index number, address, etc. of the application unit in the first device, as long as it corresponds one-to-one with the traffic management unit. The communication message often carries the first identifier of its source application unit. After receiving the communication message, the protocol stack can determine the first identifier of the source application unit based on the content of the communication message.

[0060] In this embodiment, the received communication packets may include communication packets from different source application units. An activated traffic management unit can be matched to the communication packet based on its source application unit, thereby utilizing the activated traffic management unit to perform traffic management on the communication packet. It should be understood that the activated traffic management unit includes a first activated traffic management unit and a second activated traffic management unit. However, since the second traffic management unit is used to replace the first traffic management unit, only one of the first activated traffic management unit and the second activated traffic management unit can be matched to.

[0061] In step 420, the unit matching table includes the matching relationship between the first identifier and the first traffic management unit. The unit matching table can be a manually preset unit matching table, or it can be a unit matching table obtained based on steps 510-550 below, both of which are within the protection scope of this application embodiment. After obtaining the unit matching table, the protocol stack can determine the traffic management unit that matches the communication packet by looking up the table, thereby allocating the communication packet to the traffic management unit in the started state.

[0062] The advantage of steps 410-420 is that the first identifier carried by the communication message itself can be used to allocate the communication message by looking up a table, without the need for complex calculations. This allows the communication message to be sent to the first traffic management unit for processing in a simple and efficient manner, which helps to improve the efficiency of message communication.

[0063] In one embodiment, the cell matching table is generated by a cell matcher. For example... Figure 4 The cell matching table is generated and issued by the cell matcher through the following steps:

[0064] Step 510: Determine the first identifier of the source application unit of the communication message based on the communication message;

[0065] Step 520: Obtain the second identifier of the traffic management unit in the startup state;

[0066] Step 530: Distribute communication messages to the traffic management unit in the startup state;

[0067] Step 540: Generate a unit matching table based on the first identifier of the source application unit corresponding to the communication message, the second identifier of the traffic management unit in the startup state, and the allocation result of the communication message;

[0068] Step 550: Send the cell matching table to the dedicated data processor.

[0069] The communication message in step 510 is the communication message sent by the first device to the DPU.

[0070] The second identifier in step 520 is the identification information of the traffic governance unit, which can be the ID number, index number, address, etc. of the traffic governance unit, as long as it corresponds one-to-one with the traffic governance unit. Step 510 can use the unit matcher to obtain the second identifier of the traffic governance unit storing its startup status from the information storage unit (e.g., the Etcd unit). Etcd is a distributed key-value data storage system. Through Etcd, data sharing can be achieved in the device cluster, thus the second identifier can be stored and retrieved using Etcd. It should be understood that after the second traffic governance unit is started, the second identifier corresponding to the second traffic governance unit can be synchronously stored in the information storage unit of the service mesh for later use.

[0071] Regarding step 530, when only the first traffic management unit is in the active state, all communication packets are allocated to it. When both the first and second traffic management units are in the active state, it indicates that the second traffic management unit is in a transition phase of taking over from the first traffic management unit. In this case, all communication packets are also allocated to the first traffic management unit. After the second traffic management unit completes the relevant operations for taking over from the first traffic management unit, it shuts down or deletes the first traffic management unit, and then all communication packets are allocated to the second traffic management unit. It should be understood that step 530 is only a matching process between communication packets and the first traffic management unit; it does not actually send communication packets to the first traffic management unit.

[0072] In step 540, based on the allocation result of the communication messages, the matching relationship between the communication messages and the traffic management units in the startup state can be obtained. Based on the first identifier of the source application unit corresponding to the communication message and the second identifier of the traffic management unit in the startup state, the matching relationship between the communication messages and the traffic management units in the startup state can be mapped to the first and second identifiers, thus obtaining the matching relationship between the first and second identifiers. Based on the matching relationship between the first and second identifiers, a unit matching table including the matching relationship between the first and second identifiers can be generated. Then, the corresponding second identifier can be determined from the unit matching table based on the first identifier, so as to determine the traffic management unit matching the communication message through the second identifier.

[0073] The advantage of steps 510-550 is that the first identifier of the source application unit of the communication packet can be determined by the unit matcher, the second identifier of the traffic management unit in the startup state can be obtained, and the second identifier matching the first identifier can be obtained by allocating the communication packet to the traffic management unit in the startup state. Based on the matching first and second identifiers, a unit matching table including the matching relationship between the first and second identifiers can be automatically generated, so that the DPU can conveniently obtain the unit matching table using the unit matcher, thereby improving the efficiency of packet management.

[0074] In one embodiment, the number of second traffic governance units activated in step 220 according to the first template information can be multiple, so as to obtain more computing resources through the combination of multiple second traffic governance units. In one embodiment, step 530 may include: when the number of activated second traffic governance units is multiple, dividing the communication packets into multiple packet groups, the number of packet groups being the same as the number of second traffic governance units; and assigning different packet groups to different second traffic governance units.

[0075] In this embodiment, communication packets can be divided according to the computing resources of each second traffic governance unit to obtain packet groups corresponding to the computing resources of each second traffic governance unit. Then, the second traffic governance units can be assigned to the corresponding packet groups. When dividing communication packets, application units belonging to the same microservice unit can be preferentially grouped into one packet group, thereby reducing the complexity of the packet groups.

[0076] The beneficial effect of this embodiment is that by activating multiple second traffic governance units, more computing resources can be obtained by combining multiple second traffic governance units when the computing resources of a single traffic governance unit are insufficient. This provides computing power support for the governance of communication packets, thereby better ensuring the efficiency of packet communication. Furthermore, this embodiment can directly allocate a group of communication packets to the corresponding first traffic governance unit, eliminating the need to allocate each communication packet individually. This simplifies the packet allocation process and improves the efficiency of packet communication.

[0077] The implementation process of step 230 is described in detail below.

[0078] like Figure 4 As shown, in one embodiment, step 230 includes:

[0079] Step 231: Control the first traffic management unit to send synchronization data to the second traffic management unit; the synchronization data is used to enable the second traffic management unit to perform the processing of communication packets by the first traffic management unit;

[0080] Step 232: After the synchronous data transmission is completed, the communication packets are processed by the second traffic management unit.

[0081] In step 231, the synchronization data is used to enable the second traffic management unit to perform the processing of communication packets by the first traffic management unit. For example, when the first traffic management unit performs distribution on the communication packets, the synchronization data may include the address information of the destination unit of the communication packets, information related to the construction of the communication protocol connection (such as the session file information corresponding to the TCP protocol), etc., so that the second traffic management unit can smoothly take over from the original first traffic management unit and perform the distribution processing of communication packets according to the synchronization data. For an introduction to the session file corresponding to the TCP protocol, please refer to relevant technologies; it will not be elaborated here. In some embodiments, the synchronization data may also include all data in the first traffic management unit to reduce the complexity of data synchronization.

[0082] In step 232, after the synchronization data transmission is completed, the first traffic management unit can be shut down or deleted, thereby reclaiming the computing resources matched by the first traffic management unit.

[0083] In an optional embodiment, step 530 of allocating communication packets to the traffic management unit in the activated state may include: step 531, after the synchronization data transmission is completed, allocating the communication packets to the second traffic management unit. After the synchronization data transmission sent from the first traffic management unit to the second traffic management unit is completed, the second traffic management unit can take over the management of the communication packets from the first traffic management unit. In this embodiment, allocating the communication packets to the second traffic management unit only after the synchronization data transmission is completed ensures that the second traffic management unit can manage the communication packets immediately upon receiving them, enabling the second traffic management unit to smoothly take over the management of the communication packets from the first traffic management unit.

[0084] The beneficial effect of steps 231-232 is that, through the synchronization of data, the new first traffic management unit can obtain data such as the communication messages being managed and the management progress of the communication messages. Thus, after the new first traffic management unit takes over from the original first traffic management unit, it can continue to manage the communication messages being managed according to the synchronization data, so as to avoid interruption or loss of message communication and ensure the smooth progress of message communication.

[0085] like Figure 4 As shown, in one embodiment, the message management method 200 further includes:

[0086] Step 240: When the flow value changes, if the changed flow value is not within the flow threshold corresponding to the second flow management unit, then obtain the second template information of the second unit template that matches the changed flow value from multiple unit templates, and start the third flow management unit corresponding to the changed flow value according to the second template information.

[0087] Step 250: The third traffic management unit takes over from the second traffic management unit to manage the communication packets.

[0088] Step 240 involves obtaining the second template information of the second unit template that matches the changed traffic value from multiple unit templates, and starting the third traffic management unit corresponding to the changed traffic value based on the second template information. Step 250 involves the process of the third traffic management unit replacing the second traffic management unit. This process can be implemented by referring to the above embodiment of obtaining the first template information of the first unit template that matches the traffic value from multiple unit templates, starting the second traffic management unit corresponding to the traffic value based on the first template information, and replacing the first traffic management unit with the second traffic management unit. It will not be described in detail here.

[0089] The beneficial effect of steps 240-250 is that when the traffic value of the communication message sent by the first device changes and the changed traffic value does not match the corresponding traffic threshold of the second traffic management unit, the third traffic management unit that matches the changed traffic value can be activated in time to manage the communication message. This allows the traffic management unit that manages the communication message to change synchronously with the traffic value of the communication message, so that the computing resources in the DPU that process the communication message can adapt to the changes in the communication message, thereby enabling the computing resources to be used rationally.

[0090] In one embodiment, the unit matcher may include a CNI (Container Network Interface) to obtain preset unit templates. Furthermore, the CNI may provide an API interface for users, allowing them to configure the preset unit templates obtained by the CNI and to set or adjust the matching relationship between traffic values ​​and traffic governance units, thereby better meeting user needs.

[0091] It should be understood that initialization is required when the traffic governance unit starts up. In this embodiment, the configuration information for initialization of the traffic governance unit can be obtained from the configuration distribution unit corresponding to the service mesh (e.g., the Istio unit of the existing service mesh) through the CNI of the unit matcher, and then sent to the first traffic governance unit that is starting up, so that the first traffic governance unit can initialize according to the configuration information. Of course, if the first traffic governance unit is changed, when the new first traffic governance unit starts up, the latest configuration information can be obtained through the CNI of the unit matcher, so that the new first traffic governance unit can update its configuration according to the configuration information.

[0092] According to another aspect of the embodiments of this application, referring to Figure 5 This embodiment illustrates a message communication device 600 for use with a dedicated data processor coupled to a first device, the first device performing message communication via the dedicated data processor; the message communication device 600 includes:

[0093] The generation module 610 is used to receive communication messages sent by the first device, process the communication messages through the activated first traffic management unit, and perform traffic statistics on the communication messages to obtain the traffic value of the communication messages sent by the first device.

[0094] The startup module 620 is used to obtain the first template information of the first unit template that matches the traffic value among multiple unit templates when the traffic value is not within the traffic threshold corresponding to the first traffic governance unit, and to start the second traffic governance unit corresponding to the traffic value according to the first template information; wherein, the template information of different unit templates is used to start traffic governance units corresponding to different computing resources;

[0095] The governance module 630 is used to manage communication packets by taking over from the first traffic governance unit through the second traffic governance unit.

[0096] Optionally, the first device includes a unit matcher. The first template information of the first unit template that matches the flow value among multiple unit templates is obtained and issued by the unit matcher by performing the following steps:

[0097] Obtain the traffic value, and based on the traffic value and the traffic thresholds corresponding to multiple unit templates, determine the first unit template that matches the traffic value from the multiple unit templates;

[0098] Based on the first unit template, the first template information is obtained and sent to the dedicated data processor.

[0099] Optionally, the message communication device 600 further includes:

[0100] The determination module is used to determine the first identifier of the source application unit that sent the communication message based on the communication message;

[0101] The allocation module obtains the unit matching table, determines the traffic management unit that matches the communication packet based on the first identifier and the unit matching table, and allocates the communication packet to the traffic management unit that matches the communication packet for management.

[0102] The unit matching table is used to indicate the matching relationship between the first identifier and the traffic management unit in the startup state. The traffic management unit in the startup state includes the first traffic management unit and the second traffic management unit in the startup state.

[0103] Optionally, the cell matching table is generated and issued by the cell matcher by performing the following steps:

[0104] Based on the communication message, determine the first identifier of the source application unit of the communication message;

[0105] Obtain the second identifier of the traffic management unit in the startup state;

[0106] Distribute communication messages to the traffic management unit in the startup state;

[0107] A unit matching table is generated based on the first identifier of the source application unit corresponding to the communication message, the second identifier of the traffic governance unit in the startup state, and the allocation result of the communication message.

[0108] The cell matching table is sent to a dedicated data processor.

[0109] Optionally, the governance module 630 is specifically used for:

[0110] The first traffic management unit sends synchronization data to the second traffic management unit; the synchronization data is used to enable the second traffic management unit to perform the processing of communication packets by the first traffic management unit.

[0111] After the synchronous data transmission is completed, the communication packets are processed by the second traffic management unit.

[0112] Optionally, when the unit matcher performs the step of allocating communication packets to the traffic management unit in the startup state, it specifically performs the following steps:

[0113] After the synchronous data transmission is completed, the communication message is allocated to the second traffic management unit.

[0114] Optionally, the startup module 620 is also used for;

[0115] When the traffic value changes, if the changed traffic value is not within the traffic threshold corresponding to the second traffic management unit, the second template information of the second unit template that matches the changed traffic value is obtained from multiple unit templates, and the third traffic management unit corresponding to the changed traffic value is started according to the second template information.

[0116] Different message groups are assigned to different first traffic management units.

[0117] Furthermore, the governance module 630 is also used for:

[0118] The third traffic management unit takes over from the second traffic management unit to manage communication packets.

[0119] The message communication device 600 of this embodiment is used to implement the corresponding message management methods in the foregoing multiple method embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. In addition, the functional implementation of each unit in the message communication device 600 of this embodiment can refer to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.

[0120] The following reference Figure 6 This describes a dedicated data processor 700 according to an embodiment of the present disclosure. Figure 6 The dedicated data processor 700 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.

[0121] Figure 6 The dedicated data processor 700 shown may include, but is not limited to, at least one processor 710, at least one memory 720, and a bus 730 connecting different system components (including the memory 720 and the processor 710). The memory 720 stores program code that can be executed by the processor 710, causing the processor 710 to perform the steps described in the above description of exemplary methods according to various exemplary embodiments of the present invention.

[0122] The memory 720 may include a readable medium in the form of volatile memory cells, such as random access memory (RAM) 7201 and / or cache memory 7202, and may further include read-only memory (ROM) 7203.

[0123] The memory 720 may also include a program / utility 7204 having a set (at least one) of program modules 7205, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0124] Bus 730 can represent one or more of several types of bus structures, including a memory bus or memory controller, peripheral bus, graphics acceleration port, processor, or a local bus using any of the various bus structures.

[0125] The dedicated data processor 700 can also communicate with one or more external devices 800 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with the dedicated data processor 700, and / or any device that enables the dedicated data processor 700 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 750. Furthermore, the dedicated data processor 700 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 740. Figure 6 As shown, network adapter 740 communicates with other modules of dedicated data processor 700 via bus 730. It should be understood that, although not shown in the figure, dedicated data processor 700 can be implemented using other hardware and / or software modules, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0126] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0127] In exemplary embodiments of this disclosure, a computer program medium is also provided, on which computer-readable instructions are stored, which, when executed by a computer's processor, cause the computer to perform the methods described in the above method embodiments.

[0128] According to one embodiment of this disclosure, a program product for implementing the methods in the above-described method embodiments is also provided. This program product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0129] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0130] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0131] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0132] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0133] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0134] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0135] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0136] In an exemplary embodiment of this disclosure, a computer storage medium is also provided, on which a computer program is stored, which, when executed by a computer's processor, causes the computer to perform the methods described in the above method embodiments.

[0137] According to one embodiment of this disclosure, a program product for implementing the methods in the above-described method embodiments is also provided. This program product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0138] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0139] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0140] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0141] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0142] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0143] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0144] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0145] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.

Claims

1. A message management method, characterized in that, A dedicated data processor for coupling with a first device, the first device performing traffic management through the dedicated data processor; The message processing method includes: The system receives communication packets sent by the first device, processes the communication packets through the activated first traffic management unit, performs traffic statistics on the communication packets, and obtains the traffic value of the communication packets sent by the first device. If the traffic value is not within the traffic threshold corresponding to the first traffic management unit, then the first template information of the first unit template that matches the traffic value among multiple unit templates is obtained, and the second traffic management unit corresponding to the traffic value is started according to the first template information; wherein, the template information of different unit templates is used to start traffic management units corresponding to different computing resources; The second traffic management unit takes over from the first traffic management unit to manage the communication packets.

2. The message processing method according to claim 1, characterized in that, The first device includes a unit matcher. The first template information of the first unit template that matches the traffic value among the plurality of unit templates is obtained and issued by the unit matcher through the following steps: Obtain the traffic value, and determine the first unit template that matches the traffic value from the plurality of unit templates based on the traffic value and the traffic thresholds corresponding to the plurality of unit templates respectively; Based on the first unit template, the first template information is obtained, and the first template information is sent to the dedicated data processor.

3. The message processing method according to claim 2, characterized in that, The message processing method also includes: Based on the communication message, determine the first identifier of the source application unit that sent the communication message; Obtain the unit matching table, determine the traffic management unit that matches the communication message based on the first identifier and the unit matching table, and assign the communication message to the traffic management unit that matches the communication message for management; The unit matching table is used to indicate the matching relationship between the first identifier and the traffic management unit in the startup state. The traffic management unit in the startup state includes the first traffic management unit in the startup state and the second traffic management unit in the startup state.

4. The message processing method according to claim 3, characterized in that, The cell matching table is generated and issued by the cell matcher through the following steps: Based on the communication message, determine the first identifier of the source application unit of the communication message; Obtain the second identifier of the traffic management unit in the startup state; The communication message is assigned to the traffic management unit in the startup state; The unit matching table is generated based on the first identifier of the source application unit corresponding to the communication message, the second identifier of the traffic governance unit in the startup state, and the allocation result of the communication message. The unit matching table is sent to the dedicated data processor.

5. The message processing method according to claim 4, characterized in that, The step of replacing the first traffic management unit with the second traffic management unit to manage the communication packets includes: The first traffic management unit is controlled to send synchronization data to the second traffic management unit; the synchronization data is used to enable the second traffic management unit to perform the processing of the communication message by the first traffic management unit. After the synchronous data transmission is completed, the communication packets are processed by the second traffic management unit.

6. The message processing method according to claim 5, characterized in that, The step of allocating the communication message to the traffic management unit in the startup state includes: After the synchronous data transmission is completed, the communication message is allocated to the second traffic management unit.

7. The message processing method according to any one of claims 1-6, characterized in that, The message processing method also includes: When the traffic value changes, if the changed traffic value is not within the traffic threshold corresponding to the second traffic management unit, then the second template information of the second unit template that matches the changed traffic value among the plurality of unit templates is obtained, and the third traffic management unit corresponding to the changed traffic value is started according to the second template information; The third traffic management unit takes over from the second traffic management unit to manage the communication packets.

8. A message processing device, characterized in that, A dedicated data processor for coupling with a first device, the first device performing traffic management through the dedicated data processor; The message processing device includes: The generation module is used to receive the communication packets sent by the first device, process the communication packets through the activated first traffic management unit, and perform traffic statistics on the communication packets to obtain the traffic value of the communication packets sent by the first device. The startup module is used to, when the traffic value is not within the traffic threshold corresponding to the first traffic management unit, obtain the first template information of the first unit template that matches the traffic value from multiple unit templates, and start the second traffic management unit corresponding to the traffic value according to the first template information; wherein, the template information of different unit templates is used to start traffic management units corresponding to different computing resources; The governance module takes over from the first traffic governance unit through the second traffic governance unit to govern the communication packets.

9. A dedicated data processor, characterized in that, include: A memory and a processor, wherein the memory stores a computer program that, when executed by the processor, implements the message management method as described in any one of claims 1-7.

10. A computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of claims 1-7.