CN111049750B - Message forwarding method, system and equipment - Google Patents

Message forwarding method, system and equipment Download PDF

Info

Publication number
CN111049750B
CN111049750B CN201911257136.XA CN201911257136A CN111049750B CN 111049750 B CN111049750 B CN 111049750B CN 201911257136 A CN201911257136 A CN 201911257136A CN 111049750 B CN111049750 B CN 111049750B
Authority
CN
China
Prior art keywords
forwarding
core
network card
forwarding core
card queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911257136.XA
Other languages
Chinese (zh)
Other versions
CN111049750A (en
Inventor
刘健男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201911257136.XA priority Critical patent/CN111049750B/en
Publication of CN111049750A publication Critical patent/CN111049750A/en
Application granted granted Critical
Publication of CN111049750B publication Critical patent/CN111049750B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Abstract

The embodiment of the application discloses a message forwarding method, a message forwarding system and message forwarding equipment. And then, the configuration core reconstructs a mapping table of the network card queue and the forwarding core according to the determined target network card queue, so that the target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relation with the second forwarding core. Meanwhile, the configuration core reconstructs the mapping table of the session table and the forwarding core, so that the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relation with the second forwarding core. And the second forwarding core receives the message from the target network card queue, and finds the session table to which the message belongs to forward the message based on the updated session table and the mapping table of the forwarding core.

Description

Message forwarding method, system and equipment
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method, a system, and a device for forwarding a packet.
Background
In a multi-core forwarding system, in addition to optimization of concurrent processing needs among multiple forwarding cores, message load balancing among multiple forwarding cores is also very important. In the prior art, the processing of message forwarding load balancing generally refers to that after a forwarding core with a higher load receives a message, the message is re-checked to a forwarding core with a smaller load based on software for processing, and the forwarding of the message is based on a session table entry, so that the migration of the session table entry is also involved. When a plurality of messages are checked to different forwarding cores at the same time, a plurality of session table entries are checked to different forwarding cores, which causes performance degradation of the forwarding system.
Disclosure of Invention
In view of this, embodiments of the present application provide a method, a system, and a device for forwarding a message, which implement load balancing of a message forwarding system by migrating a network card queue and a session table, and improve the overall forwarding performance of the system.
In order to solve the above problem, the technical solution provided by the embodiment of the present application is as follows:
a message forwarding method is applied to a multi-core forwarding system, the multi-core forwarding system comprises a configuration core and a plurality of forwarding cores, the configuration core establishes a session table corresponding to a network card queue, and the session table corresponding to each network card queue is a resource of each network card queue, and the method comprises the following steps:
the configuration core determines a first forwarding core and a second forwarding core from the forwarding cores and determines a target network card queue corresponding to the first forwarding core;
the configuration core establishes an updated mapping table of a network card queue and a forwarding core, and the target network card queue and the first forwarding core in the updated mapping table of the network card queue and the forwarding core are updated to have a corresponding relationship between the target network card queue and the second forwarding core;
the configuration core establishes a mapping table of an updated session table and a forwarding core, wherein the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue is updated to have a corresponding relationship with the second forwarding core;
the second forwarding core receives a message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core;
and the second forwarding core forwards the message by using the session table to which the message belongs based on the updated session table and the mapping table of the forwarding core.
In a possible implementation manner, the establishing, by the configuration core, an updated mapping table between the network card queue and the forwarding core includes:
the configuration core establishes an updated mapping table of the network card queue and the forwarding core based on a current mapping table of the network card queue and the forwarding core, wherein the target network card queue in the current mapping table of the network card queue and the forwarding core only has a corresponding relation with the first forwarding core, and the target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relation with the second forwarding core;
the configuration core establishes an updated session table and a mapping table of the forwarding core, and the mapping table comprises:
the configuration core establishes an updated mapping table of the session table and the forwarding core based on a current mapping table of the session table and the forwarding core, the session table corresponding to the target network card queue in the mapping table of the current session table and the forwarding core only has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relationship with the second forwarding core.
In a possible implementation manner, before the second forwarding core receives a packet from the target network card queue based on the updated mapping table between the network card queue and the forwarding core, the method further includes:
the first forwarding core changes a first pointer from a mapping table pointing to the current network card queue and forwarding core to a mapping table pointing to the updated network card queue and forwarding core; the first pointer is a global pointer used by each forwarding core and represents a network card queue and a mapping table of the forwarding core currently used by each forwarding core;
the first forwarding core changes a second pointer from a mapping table pointing to the current session table and forwarding core to a mapping table pointing to the updated session table and forwarding core; the second pointer is a global pointer used by each forwarding core, and represents a session table and a mapping table of the forwarding core currently used by each forwarding core.
In a possible implementation manner, the receiving, by the second forwarding core, a message from the target network card queue based on the updated mapping table between the network card queue and the forwarding core includes:
the second forwarding core reads the updated mapping table of the network card queue and the forwarding core and determines the network card queue corresponding to the current forwarding core;
and the second forwarding core traverses each network card queue corresponding to the current forwarding core, and receives a message from each network card queue corresponding to the current forwarding core, wherein the network card queue corresponding to the current forwarding core comprises the target network card queue.
In a possible implementation manner, the forwarding the packet by using the session table to which the packet belongs by the second forwarding core based on the updated mapping table between the session table and the forwarding core includes:
after receiving the message, the second forwarding core acquires the identifier of a session table to which the message belongs;
and the second forwarding core reads the updated session table and the mapping table of the forwarding core, and when the forwarding core corresponding to the identifier of the session table to which the message belongs is the current forwarding core, the message is forwarded based on the session table to which the message belongs.
In one possible implementation, the method further includes:
and when the forwarding core corresponding to the identifier of the session table to which the message belongs is other forwarding cores, sending the message to the forwarding core.
In a possible implementation manner, the determining, by the configuration core, a first forwarding core and a second forwarding core from the forwarding cores, and determining a target network card queue corresponding to the first forwarding core includes:
the configuration core acquires the utilization rate of each forwarding core, determines the forwarding core with the utilization rate meeting a first preset condition as a first forwarding core and determines the forwarding core with the utilization rate meeting a second preset condition as a second forwarding core when the utilization rate of the forwarding core exceeds a preset threshold;
and acquiring a load value of each network card queue of the first forwarding core, and determining the network card queue of which the load value meets a third preset condition as a target network card queue corresponding to the first forwarding core.
In a possible implementation manner, the determining, by the configuration core, a first forwarding core and a second forwarding core from the forwarding cores, and determining a target network card queue corresponding to the first forwarding core includes:
the configuration core receives network card queue high-load information, determines a forwarding core which sends the network card queue high-load information as a first forwarding core, and determines a target network card queue corresponding to the first forwarding core according to a network card queue identifier carried by the network card queue high-load information;
and the configuration core acquires the utilization rate of each forwarding core, and determines the forwarding core of which the utilization rate meets a second preset condition as a second forwarding core.
A message forwarding system comprises a configuration core and a plurality of forwarding cores, wherein the configuration core comprises an establishing unit used for establishing a session table corresponding to a network card queue, the session table corresponding to each network card queue is a resource of each network card queue, the configuration core also comprises a first determining unit, a second determining unit, a first establishing unit and a second establishing unit, the forwarding cores comprise a receiving unit and a forwarding unit,
the first determining unit is configured to determine a first forwarding core and a second forwarding core from the forwarding cores;
the second determining unit is configured to determine a target network card queue corresponding to the first forwarding core;
the first establishing unit is configured to establish an updated mapping table between a network card queue and a forwarding core, where the updated mapping table between the network card queue and the forwarding core corresponds the target network card queue to the first forwarding core, and updates the target network card queue to the second forwarding core;
the second establishing unit is configured to establish an updated mapping table between the session table and the forwarding core, where the session table corresponding to the target network card queue in the updated mapping table between the session table and the forwarding core has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue is updated to have a corresponding relationship with the second forwarding core;
the receiving unit is used for receiving a message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core;
and the forwarding unit is used for forwarding the message by using the session table to which the message belongs based on the updated session table and the mapping table of the forwarding core.
A computer-readable storage medium having instructions stored therein, which when run on a terminal device, cause the terminal device to perform the method for forwarding a packet.
A processing device for implementing message forwarding includes: the message forwarding method comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein when the processor executes the computer program, the message forwarding method is realized.
Therefore, the embodiment of the application has the following beneficial effects:
in the embodiment of the application, the configuration core determines a first forwarding core with high load and a second forwarding core with low load from a plurality of forwarding cores, and determines a target network card queue with high load from the first forwarding core. And then, the configuration core reconstructs a mapping table of the network card queue and the forwarding core according to the determined target network card queue, so that the target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relation with the second forwarding core. Meanwhile, the configuration core reconstructs the mapping table of the session table and the forwarding core, so that the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relation with the second forwarding core. And the second forwarding core receives the message from the target network card queue, and finds the session table to which the message belongs to forward the message based on the updated session table and the mapping table of the forwarding core. That is, in the embodiment of the present application, load balancing between forwarding cores is realized by migrating the network card queue and the session table corresponding to the network card queue, and it is not necessary to perform back-checking on a single message and a session table entry, so that migration efficiency is improved, and thus the overall forwarding performance of the system is improved.
Drawings
Fig. 1 is a schematic diagram of firewall packet forwarding provided in an embodiment of the present application;
fig. 2 is a flowchart of a message forwarding method according to an embodiment of the present application;
fig. 3 is a flowchart of a message receiving and forwarding method according to an embodiment of the present application;
fig. 4 is a frame diagram of a packet forwarding process according to an embodiment of the present application;
fig. 5 is a structural diagram of a message forwarding apparatus according to an embodiment of the present application.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, embodiments accompanying the drawings are described in detail below.
In order to facilitate understanding of the technical solutions provided in the present application, the following description will be made on the background related to the present application.
When a multi-core forwarding system processes message forwarding load balancing, a processing mode usually adopted is to transfer a message received by a forwarding core with a heavier load to a forwarding core with a smaller load. Because the forwarding of the message is performed based on the session table entry, when performing the message countdown, the session table entry corresponding to the message also needs to be checked to the forwarding core with a smaller load. However, since one session entry can only be processed by one forwarding core, the session table involved needs to be locked when the session entry is migrated, which makes the load balancing mechanism more complicated and, on the contrary, causes the forwarding performance of the multi-core forwarding system to be degraded. In addition, when a plurality of messages need to be subjected to the reverse-checking processing at the same time, a plurality of session table entries are subjected to the reverse-checking at the same time, so that the performance of the forwarding system is reduced.
Based on this, the embodiment of the present application provides a packet forwarding method, which may be applied to a multi-core forwarding system, where the multi-core forwarding system may include a configuration core and multiple forwarding cores. Specifically, the configuration core determines a first forwarding core with a heavier load and a second forwarding core with a smaller load from the multiple forwarding cores, and determines a target network card queue with the heaviest load from the network card queues corresponding to the first forwarding core. In order to reduce the load of the first forwarding core, the configuration core establishes a new mapping table between the network card queue and the forwarding core, so that the target network card queue only corresponds to the second forwarding core, namely the second forwarding core receives the message from the target network card queue. Meanwhile, the configuration core further constructs a new mapping table of the session table and the forwarding core, so that the session table corresponding to the target network card queue only corresponds to the second forwarding core, that is, after the second forwarding core receives the message from the target network card queue, because the session table corresponding to the message is configured to the second forwarding core, the second forwarding core can utilize the session table corresponding to the message to forward the message.
Therefore, when load balancing is performed, message countdown and session table entry countdown are not performed any more, but a network card queue with a heavy load and a session table corresponding to the network card queue are integrally migrated to a forwarding core with a small load, so that not only is the processing performance of the whole load balancing improved, but also a global mapping table is reconstructed by configuration and check, the whole migration process is completely free of lock, competition among multiple cores is not required, and the forwarding performance of the whole message is improved. In addition, when the load is unbalanced, the configuration cores uniformly perform the migration of the network card queue and the session table, and each forwarding core does not need to automatically select the forwarding core with a smaller load to perform the core reversing of the message and the session table item, so that the workload of each forwarding core is reduced, the message core reversing processing is also avoided, and the forwarding performance is improved.
To facilitate understanding of the technical solution provided in the embodiment of the present application, refer to fig. 1, which is a schematic diagram of a packet forwarding system provided in the embodiment of the present application, where the packet forwarding system is a multi-core forwarding system, and may be a firewall, for example, and the packet forwarding system may include two types of processing cores, which are a configuration core and a forwarding core respectively. Wherein, the forwarding core only participates in the receiving and forwarding of the message; the configuration core can not only participate in forwarding the message, but also process load balancing. And counting the total number P of network card queues of all network cards by the configuration core during initialization, marking the serial number of each network card queue, and configuring global IDs 1,2,3,4, … and P for each network card queue.
In order to ensure that the session table is processed by only one forwarding core at the same time, the embodiment of the present application designs the session table as a resource per network card queue, that is, the session table is constructed based on each network card queue, and each network card queue can only use the session table corresponding to the network card queue. Specifically, the configuration core establishes a session table corresponding to the network card queues, the session table corresponding to each network card queue is a resource of each network card queue, that is, P session tables are established based on P network card queues in the system, the global ID of each session table is 1,2,3,4, …, and P, and corresponds to the ID of each network card queue one to one, that is, the session table corresponds to the network card queues one to one. For each forwarding core, if the forwarding core processes the messages of the M network card queues, the session table ID corresponding to the M network card queues is configured to the forwarding core for processing.
It should be noted that, after the forwarding core receives the message from the network card queue X, the forwarding core does not query the session table entry corresponding to the message, and then the forwarding core establishes a session table entry based on the message, and adds the session table entry to the session table with the session table ID of X.
Based on the above description, in order to facilitate understanding of specific implementation of the embodiments of the present application, a packet forwarding method provided in the embodiments of the present application will be described below with reference to the accompanying drawings. It should be noted that, for ease of understanding and description, the following embodiments will use nic-table to represent the mapping table of the network card queue and the forwarding core, and sess-table to represent the mapping table of the session table and the forwarding core.
Referring to fig. 2, the figure is a flowchart of a packet forwarding method provided in an embodiment of the present application, and as shown in fig. 2, the method is applied to a multi-core forwarding system, where the multiple forwarding systems include a configuration core and multiple forwarding cores, and the method may include:
s201: the configuration core determines a first forwarding core and a second forwarding core from the plurality of forwarding cores, and determines a target network card queue corresponding to the first forwarding core.
In this embodiment, to implement load balancing, the configuration core may obtain a load condition of each forwarding core, so as to determine a first forwarding core in a high load state and a second forwarding core in a low load state according to the load condition of each forwarding core. Moreover, each forwarding core may correspond to a plurality of network card queues, so in determining the first forwarding core, a high-load target network card queue may also be determined from the network card queues corresponding to the first forwarding core, so as to perform load balancing on the high-load target network card queue.
In specific implementation, the embodiment provides the following two implementation manners for determining the first forwarding core, the second forwarding core, and the target network card queue, which will be described below separately:
one is that: the configuration core obtains the utilization rate of each forwarding core, when the utilization rate of the forwarding core exceeds a preset threshold value, the forwarding core with the utilization rate meeting a first preset condition is determined as a first forwarding core, and the forwarding core with the utilization rate meeting a second preset condition is determined as a second forwarding core. That is, the configuration core may obtain the utilization rate of each forwarding core in real time, and when it is detected that the utilization rate of a certain forwarding core exceeds a preset threshold, the configuration core enters a load balancing mode, determines the forwarding core whose utilization rate meets a first preset condition as a first forwarding core, and determines the forwarding core whose utilization rate meets a second preset condition as a second forwarding core. Wherein, the preset threshold value can be used for equipment according to the actual application condition, for example, is 90%; the first preset condition and the second preset condition may be specific utilization rate thresholds, for example, the first preset condition is 95%, and the second preset condition is 20%, that is, a forwarding core with a utilization rate greater than or equal to 95% is determined as a first forwarding core, and a forwarding core with a utilization rate less than or equal to 20% is determined as a second forwarding core. It should be noted that, in general, the forwarding core with the highest load may be determined as the first forwarding core, and the forwarding core with the lowest load may be determined as the second forwarding core.
And after the first forwarding core is determined, acquiring the load value of each network card queue of the first forwarding core, and determining the network card queue with the load value meeting a third preset condition as a target network card queue corresponding to the first forwarding core. The third preset condition may be a load threshold, and the network card queue with a load value greater than or equal to the load threshold is determined as a target network card queue. The network card queue with the highest load may be determined as the target network card queue in general.
The other is as follows: configuring a core to receive high-load information of a network card queue, determining a forwarding core for sending the high-load information of the network card queue as a first forwarding core, and determining a target network card queue corresponding to the first forwarding core according to a network card queue identifier carried by the high-load information of the network card queue; the configuration core obtains the utilization rate of each forwarding core, and determines the forwarding core with the utilization rate meeting a second preset condition as a second forwarding core.
That is, each forwarding core may monitor the load condition of the network card queue corresponding to the forwarding core in real time, and when it is monitored that the load corresponding to a certain network card queue is high, send high-load information of the network card queue to the configuration core. After receiving the high-load information of the network card queue, the configuration core determines the forwarding core sending the high-load information as a first forwarding core, and determines the network card queue corresponding to the network card queue identification carried by the high-load information of the network card queue as a target network card queue. And meanwhile, determining the forwarding core with the utilization rate meeting a second preset condition as a second forwarding core according to the utilization rate of each forwarding core.
It can be understood that the cores configured in the above two ways may determine the first forwarding core, the second forwarding core, and the target network card queue from the multiple forwarding cores.
S202: the configuration core establishes a mapping table of the updated network card queue and the forwarding core, and the mapping table of the updated network card queue and the forwarding core has a corresponding relation between the target network card queue and the first forwarding core, and updates the mapping table into a corresponding relation between the target network card queue and the second forwarding core.
After determining the first forwarding core, the second forwarding core and the target network card queue, the configuration core reconstructs a mapping table of the network card queue and the forwarding core according to the information, the reconstruction process is to modify the correspondence between the target network card queue and the first forwarding core in the mapping table of the original network card queue and the forwarding core into the correspondence between the target network card queue and the second forwarding core, and the target network card queue and the first forwarding core do not have the correspondence any more. That is, when the corresponding relationship between the target network card queue and the second forwarding core is established, the corresponding relationship between the target network card queue and the first forwarding core is deleted, so that one network card queue is ensured to be processed by only one forwarding core at the same time.
Specifically, the configuration core establishes an updated mapping table of the network card queue and the forwarding core based on a current mapping table of the network card queue and the forwarding core, wherein a target network card queue in the current mapping table of the network card queue and the forwarding core only has a corresponding relationship with the first forwarding core, and a target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relationship with the second forwarding core.
For example, the current mapping table between the network card queue and the forwarding core is nic-table0, and the reconstructed mapping table between the network card queue and the forwarding core is nic-table1. The difference between the nic-table0 and the nic-table1 is that the target network card queue in the nic-table0 only has a corresponding relationship with the first forwarding core, the target network card queue in the nic-table1 only has a corresponding relationship with the second forwarding core, and the corresponding relationships between the remaining network card queues and the forwarding cores are the same.
In specific implementation, the mapping table nic-table of the network card queue and the forwarding core may be designed as a two-dimensional array, i.e. nic-table [ N ] [ M ], where N is the maximum number of the forwarding cores, and M is the maximum number of the network card queue. In practical application, the nic-table is constructed by the configuration core, and other forwarding cores have no right to modify the corresponding relation between the network card queue and the forwarding core and only have read permission.
It should be noted that the nic-table is configured as a global table, and all forwarding cores share the nic-table. In specific implementation, in order to ensure that the nic-table accessed by all forwarding cores is the mapping table newly constructed by the configuration core, a global pointer may be used for implementation. Specifically, after the configuration core constructs a new nic-table, it may send an update message to the first forwarding core, and the first forwarding core changes the first pointer from the mapping table pointing to the current network card queue and forwarding core to the mapping table pointing to the updated network card queue and forwarding core. The first pointer is a global pointer used by each forwarding core, and represents a mapping table of a network card queue and the forwarding core currently used by each forwarding core.
That is to say, when the first pointer is changed, the first forwarding core executes the change operation, because the configuration core removes the target network card queue corresponding to the first forwarding core, and adds the target network card queue to the second forwarding core, so that the first forwarding core and the second forwarding core do not receive messages from the target network card queue at the same time, the first forwarding core changes the first pointer to the old table to point to the new table. Meanwhile, all forwarding cores use the newly created nic-table when receiving the message.
For example, the first pointer is a & nic-table, nic-table0= & nic-table before changing, when the configuration core completes nic-table1, a build completion message is sent to the first forwarding core, and the first forwarding core changes the first pointer to nic-table1= & nic-table.
S203: the configuration core establishes a mapping table of the updated session table and the forwarding core, the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core has a corresponding relation with the first forwarding core, and the session table corresponding to the updated target network card queue has a corresponding relation with the second forwarding core.
It can be understood that, since the session table is a resource of each network card queue, when the configuration core updates the processing right of the target network card queue from the first forwarding core to the second forwarding core, the processing right of the session table corresponding to the target network card queue also needs to be updated from the first forwarding core to the second forwarding core. Namely, the configuration core reconstructs a mapping table of the session table and the forwarding core, and the corresponding relationship between the session table corresponding to the target network card queue in the mapping table of the original session table and the forwarding core and the first forwarding core is changed into the corresponding relationship between the session table corresponding to the target network card queue and the second forwarding core.
Specifically, the configuration core establishes an updated mapping table of the session table and the forwarding core based on the current mapping table of the session table and the forwarding core, wherein the session table corresponding to the target network card queue in the mapping table of the current session table and the forwarding core only has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relationship with the second forwarding core.
For example, the current mapping table between the session table and the forwarding core is sess-table0, and the reconstructed mapping table between the session table and the forwarding core is sess-table1. The difference between the sess-table0 and the sess-table1 is that the session table corresponding to the target network card queue in the sess-table1 only has a corresponding relationship with the first forwarding core, the session table corresponding to the target network card queue in the sess-table1 only has a corresponding relationship with the second forwarding core, and the session tables corresponding to the remaining network card queues and the forwarding cores have the same corresponding relationship.
During specific implementation, a mapping table sess-table of the session table and the forwarding core may be designed as a one-dimensional array, and during specific configuration, the configuration core constructs the one-dimensional array according to a mapping relationship between a current network card queue and the forwarding core. Similarly, the sess-table is also configured as a global table, all forwarding cores share the sess-table, and when in application, the sharing of the sess-table can be realized by using a global pointer. Specifically, after the configuration core constructs a new sess-table, the configuration core may send an update message to the first forwarding core, and the first forwarding core changes the second pointer from the mapping table pointing to the current session table and forwarding core to the mapping table pointing to the updated session table and forwarding core. The second pointer is a global pointer used by each forwarding core, and represents a session table currently used by each forwarding core and a mapping table of each forwarding core. That is, when the second pointer is changed, the first forwarding core also performs the second pointer changing, so that when the first forwarding core receives the message sent by the target network card queue, the session table entry corresponding to the message can be searched from the session table corresponding to the target network card, and the message forwarding is further realized.
For example, the second pointer is a & sess-table, a 0= & sess-table before the change, after the configuration core completes the construction of the sess-table1, a construction completion message is sent to the first forwarding core, and the first forwarding core changes the first pointer to the sess-table1= & sess-table.
Based on the above description, for the nic-table and the sess-table, the embodiment adopts the whole-table replacement mode to update the mapping table, so that the multi-core forwarding processing does not need to be locked, the whole forwarding performance is improved, and normal packet processing by other forwarding cores can be ensured.
S204: and the second forwarding core receives the message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core.
S205: and the second forwarding core forwards the message by using the session table to which the message belongs based on the updated session table and the mapping table of the forwarding core.
After the configuration core updates the two mapping tables, each forwarding core can receive and forward the message based on the new mapping table. Specifically, the second forwarding core receives the message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core, and performs message forwarding by using the session table to which the message belongs based on the updated mapping table of the session table and the forwarding core, so that the second forwarding core processes the message of the target network card queue, and the load of the first forwarding core is reduced.
As can be seen from the foregoing embodiment, the configuration core determines a first forwarding core under high load and a second forwarding core under low load from among the multiple forwarding cores, and determines a target network card queue under high load from the first forwarding core. And then, the configuration core reconstructs a mapping table of the network card queue and the forwarding core according to the determined target network card queue, so that the target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relation with the second forwarding core. Meanwhile, the configuration core reconstructs the mapping table of the session table and the forwarding core, so that the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relation with the second forwarding core. And the second forwarding core receives the message from the target network card queue, and finds the session table to which the message belongs to forward the message based on the updated session table and the mapping table of the forwarding core. That is, in the embodiment of the present application, load balancing between forwarding cores is realized through network card queue migration and session table migration corresponding to the network card queue, and a back-check of a message and a session table entry is not required, so that migration efficiency is improved, and thus overall forwarding performance of the system is improved.
In a possible implementation manner, this embodiment provides a specific implementation that the second forwarding core receives a message based on the updated mapping table between the network card queue and the forwarding core and forwards the message based on the mapping table between the session table and the forwarding core, and for convenience of understanding, the following description is provided with reference to the accompanying drawings.
Referring to fig. 3, which is a flowchart of a message receiving and forwarding method provided in an embodiment of the present application, as shown in fig. 3, the method may include:
s301: and the second forwarding core reads the updated mapping table of the network card queue and the forwarding core and determines the network card queue corresponding to the current forwarding core.
S302: and the second forwarding core traverses each network card queue corresponding to the current forwarding core and receives the message from each network card queue corresponding to the current forwarding core.
In this embodiment, the second forwarding core may determine the network card queue corresponding to the second forwarding core through the updated mapping table between the network card queue and the forwarding core, and then traverse each network card queue corresponding to the second forwarding core to receive the message from each network card queue. It can be understood that, for each forwarding core in the multi-core forwarding system, the network card queue corresponding to the forwarding core may be determined in the above manner, so as to receive the message sent by the network card queue corresponding to the forwarding core. It can be understood that the network card queue corresponding to the second forwarding core includes a target network card queue.
For example, the forwarding core CPU1 in the updated nic-table corresponds to network card queues nic1, nic3, and nic5; the CPU2 corresponds to the network card queues nic2, nic4 and nic6. The CPU1 can determine that the CPU1 receives the messages from the nic1, the nic3 and the nic5 through the nic-table, and the CPU2 can determine that the CPU2 receives the messages from the nic2, the nic4 and the nic6 through the nic-table.
S303: and after receiving the message, the second forwarding core acquires the identifier of the session table to which the message belongs.
It can be understood that, since the second forwarding core already knows the network card queue corresponding to the second forwarding core, when receiving a message, it can know the network card queue to which the received message belongs. Because the identifier of the session table corresponds to the identifier of the network card queue, the second forwarding core can obtain the identifier of the session table to which the message belongs through the message. For example, if the message acquired by the second forwarding core comes from the network card queue 1, the identifier of the session table to which the message belongs is 1.
S304: and the second forwarding core reads the updated session table and the mapping table of the forwarding core, and when the forwarding core corresponding to the identifier of the session table to which the message belongs is the current forwarding core, the message is forwarded based on the session table to which the message belongs.
After the second forwarding core obtains the identifier of the session table to which the packet belongs, the second forwarding core can obtain the forwarding core corresponding to the identifier of the session table by reading the updated session table and the mapping table of the forwarding core. Then, the second forwarding core judges whether the forwarding core obtained through the mapping table is the second forwarding core, and if the forwarding core is the second forwarding core, the second forwarding core forwards the message based on the session table to which the message belongs; if not, the message is sent to the obtained forwarding core. For example, if the second forwarding core CPU2 obtains the forwarding core from the updated session table and the mapping table of the forwarding core according to the identifier of the session table to which the message belongs, the second forwarding core CPU2 directly forwards the message based on the session table to which the message belongs; if the obtained forwarding core is the CPU1, the message is sent to the CPU1, and the CPU1 carries out subsequent forwarding processing.
In specific implementation, when the second forwarding core forwards the message based on the session table to which the message belongs, the method includes searching a session table entry corresponding to the message in the session table to which the message belongs, and if the session table entry corresponding to the message exists, forwarding the message based on the session table entry; if the message does not exist, a session table item is constructed according to the message, and the constructed session table item is added into the session table.
Based on the method, the second forwarding core can receive and forward the message based on the updated mapping table of the network card queue and the forwarding core and the updated mapping table of the session table and the forwarding core, so as to process the message in the target network card queue, thereby improving the message forwarding performance.
For facilitating understanding of the forwarding core processing process, referring to a forwarding core processing flow frame diagram shown in fig. 4, the forwarding core receives a packet from its corresponding network card queue, and determines a session table ID to which the packet belongs according to the packet. And the forwarding core acquires the forwarding core CPUX corresponding to the session ID from the sess-table by using the session table ID, and then judges whether the CPUX is self. And if the CPUX is not the current forwarding core, sending the message to the CPUX for processing. If the CPUX is the current forwarding core, judging whether a corresponding session table item exists in a session table to which the message belongs, and if so, forwarding the message based on the session table; if not, creating a session table item based on the strategy, adding the session table item into the session table, and forwarding the message based on the session table.
It should be noted that, when actually performing load balancing reallocation, only the network card queues of two forwarding cores are switched, and the network card queues of multiple forwarding cores are not switched at the same time. However, if a plurality of forwarding cores have high loads at the same time, every two forwarding cores are sequentially replaced according to the sequence, so that the whole load balancing process is realized.
Based on the above method embodiment, the embodiment of the present application further provides a message forwarding system, which will be described below with reference to the accompanying drawings.
Referring to fig. 5, which is a structural diagram of a message forwarding system provided in this embodiment of the present application, as shown in fig. 5, the system may be applied to a multi-core forwarding system, the system may include a configuration core and a plurality of forwarding cores, the configuration core includes an establishing unit configured to establish a session table corresponding to a network card queue, the session table corresponding to each network card queue is a resource of each network card queue, the configuration core 501 further includes a first determining unit 5011, a second determining unit 5012, a first establishing unit 5013, and a second establishing unit 5014, the forwarding core 502 includes a receiving unit 5021 and a forwarding unit 5022,
the first determining unit 5011 is configured to determine a first forwarding core and a second forwarding core from the forwarding cores;
the second determining unit 5012 is configured to determine a target network card queue corresponding to the first forwarding core;
the first establishing unit 5013 is configured to establish an updated mapping table between a network card queue and a forwarding core, where the updated mapping table between the network card queue and the forwarding core corresponds to the target network card queue and the first forwarding core, and updates the mapping table between the network card queue and the forwarding core to a state where the target network card queue and the second forwarding core correspond to each other;
the second establishing unit 5014 is configured to establish an updated mapping table between a session table and a forwarding core, where a session table corresponding to the target network card queue in the updated mapping table between the session table and the forwarding core has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue is updated to have a corresponding relationship with the second forwarding core;
the receiving unit 5021 is configured to receive a message from the target network card queue based on the updated mapping table between the network card queue and the forwarding core;
the forwarding unit 5022 is configured to forward the packet by using the session table to which the packet belongs based on the updated session table and the mapping table of the forwarding core.
In a possible implementation manner, the first establishing unit is specifically configured to establish, by the configuration core, an updated mapping table between the network card queue and the forwarding core based on a current mapping table between the network card queue and the forwarding core, where the target network card queue in the current mapping table between the network card queue and the forwarding core only has a corresponding relationship with the first forwarding core, and the target network card queue in the updated mapping table between the network card queue and the forwarding core only has a corresponding relationship with the second forwarding core;
the second establishing unit is specifically configured to establish an updated mapping table of the session table and the forwarding core based on a current mapping table of the session table and the forwarding core, where a session table corresponding to the target network card queue in the current mapping table of the session table and the forwarding core only has a corresponding relationship with the first forwarding core, and a session table corresponding to the target network card queue in the updated mapping table of the session table and the forwarding core only has a corresponding relationship with the second forwarding core.
In one possible implementation, the forwarding core further includes: a first changing unit and a second changing unit;
the first changing unit is configured to change, before the receiving unit is executed, the first pointer from a mapping table pointing to the current network card queue and forwarding core to a mapping table pointing to the updated network card queue and forwarding core; the first pointer is a global pointer used by each forwarding core and represents a network card queue and a mapping table of the forwarding core currently used by each forwarding core;
the second changing unit is configured to change the second pointer from a mapping table pointing to the current session table and forwarding core to a mapping table pointing to the updated session table and forwarding core; the second pointer is a global pointer used by each forwarding core, and represents a session table and a mapping table of the forwarding core currently used by each forwarding core.
In one possible implementation manner, the receiving unit includes:
a determining subunit, configured to read the updated mapping table between the network card queue and the forwarding core, and determine a network card queue corresponding to the current forwarding core;
and the receiving subunit is configured to traverse each network card queue corresponding to the current forwarding core, and receive a message from each network card queue corresponding to the current forwarding core, where the network card queue corresponding to the current forwarding core includes the target network card queue.
In one possible implementation manner, the forwarding unit includes:
an obtaining subunit, configured to obtain an identifier of a session table to which the packet belongs;
and the forwarding subunit is configured to read the updated mapping table between the session table and the forwarding core, and perform packet forwarding based on the session table to which the packet belongs when the forwarding core corresponding to the identifier of the session table to which the packet belongs is the current forwarding core.
In one possible implementation, the forwarding core further includes:
and the sending unit is used for sending the message to the forwarding core when the forwarding core corresponding to the identifier of the session table to which the message belongs is other forwarding cores.
In a possible implementation manner, the first determining unit is specifically configured to obtain a utilization rate of each forwarding core, determine, when the utilization rate of the forwarding core exceeds a preset threshold, the forwarding core of which the utilization rate meets a first preset condition as a first forwarding core, and determine, as a second forwarding core, the forwarding core of which the utilization rate meets a second preset condition;
the second determining unit is configured to obtain a load value of each network card queue of the first forwarding core, and determine a network card queue whose load value meets a third preset condition as a target network card queue corresponding to the first forwarding core.
In a possible implementation manner, the first determining unit is specifically configured to receive network card queue high-load information, determine a forwarding core that sends the network card queue high-load information as a first forwarding core, and determine a target network card queue corresponding to the first forwarding core according to a network card queue identifier carried by the network card queue high-load information;
the second determining unit is configured to obtain a utilization rate of each forwarding core, and determine the forwarding core of which the utilization rate meets a second preset condition as the second forwarding core.
It should be noted that, implementation of each unit in this embodiment may refer to the above method embodiment, and this embodiment is not described herein again.
In addition, an embodiment of the present application further provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are run on a terminal device, the terminal device is enabled to execute the above-mentioned message forwarding method.
An embodiment of the present application further provides a processing device for implementing packet forwarding, including: the message forwarding method comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein when the processor executes the computer program, the message forwarding method is realized.
Based on the above description, the configuration core determines a first forwarding core with high load and a second forwarding core with low load from the multiple forwarding cores, and determines a target network card queue with high load from the first forwarding core. And then, the configuration core reconstructs a mapping table of the network card queue and the forwarding core according to the determined target network card queue, so that the target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relation with the second forwarding core. Meanwhile, the configuration core reconstructs the mapping table of the session table and the forwarding core, so that the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relation with the second forwarding core. And the second forwarding core receives the message from the target network card queue, and finds the session table to which the message belongs to forward the message based on the updated session table and the mapping table of the forwarding core. That is, in the embodiment of the present application, load balancing between forwarding cores is realized by migrating the network card queue and the session table corresponding to the network card queue, and it is not necessary to perform back-checking on a single message and a session table entry, so that migration efficiency is improved, and thus the overall forwarding performance of the system is improved.
It should be noted that, in the present specification, the embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other. For the system or the device disclosed by the embodiment, the description is simple because the system or the device corresponds to the method disclosed by the embodiment, and the relevant points can be referred to the method part for description.
It should be understood that in the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" is used to describe the association relationship of the associated object, indicating that there may be three relationships, for example, "a and/or B" may indicate: only A, only B and both A and B are present, wherein A and B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of single item(s) or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
It is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising a … …" does not exclude the presence of another identical element in a process, method, article, or apparatus that comprises the element.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (11)

1. A message forwarding method is characterized in that the method is applied to a multi-core forwarding system, the multi-core forwarding system comprises a configuration core and a plurality of forwarding cores, the configuration core establishes a session table corresponding to a network card queue, the session table corresponding to each network card queue is a per-network card queue resource, and the method comprises the following steps:
the configuration core determines a first forwarding core and a second forwarding core from the forwarding cores, and determines a target network card queue corresponding to the first forwarding core;
the configuration core establishes an updated mapping table of a network card queue and a forwarding core, and the target network card queue and the first forwarding core in the updated mapping table of the network card queue and the forwarding core are updated to have a corresponding relationship between the target network card queue and the second forwarding core;
the configuration core establishes a mapping table of an updated session table and a forwarding core, wherein the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue is updated to have a corresponding relationship with the second forwarding core;
the second forwarding core receives a message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core;
and the second forwarding core forwards the message by using the session table to which the message belongs based on the updated session table and the mapping table of the forwarding core.
2. The method of claim 1,
the configuration core establishes an updated mapping table of the network card queue and the forwarding core, and the mapping table comprises the following steps:
the configuration core establishes an updated mapping table of the network card queue and the forwarding core based on a current mapping table of the network card queue and the forwarding core, wherein the target network card queue in the current mapping table of the network card queue and the forwarding core only has a corresponding relation with the first forwarding core, and the target network card queue in the updated mapping table of the network card queue and the forwarding core only has a corresponding relation with the second forwarding core;
the configuration core establishes an updated session table and a mapping table of the forwarding core, and the mapping table comprises:
the configuration core establishes an updated mapping table of the session table and the forwarding core based on a current mapping table of the session table and the forwarding core, the session table corresponding to the target network card queue in the mapping table of the current session table and the forwarding core only has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue in the mapping table of the updated session table and the forwarding core only has a corresponding relationship with the second forwarding core.
3. The method of claim 2, wherein before the second forwarding core receives a message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core, the method further comprises:
the first forwarding core changes a first pointer from a mapping table pointing to the current network card queue and forwarding core to a mapping table pointing to the updated network card queue and forwarding core; the first pointer is a global pointer used by each forwarding core and represents a network card queue and a mapping table of the forwarding core currently used by each forwarding core;
the first forwarding core changes a second pointer from a mapping table pointing to the current session table and forwarding core to a mapping table pointing to the updated session table and forwarding core; the second pointer is a global pointer used by each forwarding core, and represents a session table and a mapping table of the forwarding core currently used by each forwarding core.
4. The method according to any of claims 1-3, wherein the second forwarding core receives a message from the target network card queue based on the updated mapping table between the network card queue and the forwarding core, and comprises:
the second forwarding core reads the updated mapping table of the network card queue and the forwarding core and determines the network card queue corresponding to the current forwarding core;
and traversing each network card queue corresponding to the current forwarding core by the second forwarding core, and receiving a message from each network card queue corresponding to the current forwarding core, wherein the network card queue corresponding to the current forwarding core comprises the target network card queue.
5. The method according to any of claims 1-3, wherein the second forwarding core performs packet forwarding using the session table to which the packet belongs based on the updated session table and the mapping table of the forwarding core, and includes:
after receiving the message, the second forwarding core acquires the identifier of the session table to which the message belongs;
and the second forwarding core reads the updated session table and the mapping table of the forwarding core, and when the forwarding core corresponding to the identifier of the session table to which the message belongs is the current forwarding core, the message is forwarded based on the session table to which the message belongs.
6. The method of claim 5, further comprising:
and when the forwarding core corresponding to the identifier of the session table to which the message belongs is other forwarding cores, sending the message to the forwarding core.
7. The method of claim 1, wherein the configuring core determines a first forwarding core and a second forwarding core from the forwarding cores, and determines a target network card queue corresponding to the first forwarding core, and the method comprises:
the configuration core acquires the utilization rate of each forwarding core, determines the forwarding core with the utilization rate meeting a first preset condition as a first forwarding core and determines the forwarding core with the utilization rate meeting a second preset condition as a second forwarding core when the utilization rate of the forwarding core exceeds a preset threshold;
and acquiring a load value of each network card queue of the first forwarding core, and determining the network card queue with the load value meeting a third preset condition as a target network card queue corresponding to the first forwarding core.
8. The method of claim 1, wherein the configuring core determines a first forwarding core and a second forwarding core from the forwarding cores, and determines a target network card queue corresponding to the first forwarding core, and the method comprises:
the configuration core receives network card queue high-load information, determines a forwarding core which sends the network card queue high-load information as a first forwarding core, and determines a target network card queue corresponding to the first forwarding core according to a network card queue identifier carried by the network card queue high-load information;
and the configuration core acquires the utilization rate of each forwarding core, and determines the forwarding core of which the utilization rate meets a second preset condition as a second forwarding core.
9. A message forwarding system is characterized in that the system comprises a configuration core and a plurality of forwarding cores, the configuration core comprises an establishing unit used for establishing a session table corresponding to a network card queue, the session table corresponding to each network card queue is a resource of each network card queue, the configuration core further comprises a first determining unit, a second determining unit, a first establishing unit and a second establishing unit, the forwarding cores comprise receiving units and forwarding units,
the first determining unit is configured to determine a first forwarding core and a second forwarding core from the forwarding cores;
the second determining unit is configured to determine a target network card queue corresponding to the first forwarding core;
the first establishing unit is configured to establish an updated mapping table between a network card queue and a forwarding core, where the updated mapping table between the network card queue and the forwarding core corresponds the target network card queue to the first forwarding core, and updates the target network card queue to the second forwarding core;
the second establishing unit is configured to establish an updated mapping table between the session table and the forwarding core, where the session table corresponding to the target network card queue in the updated mapping table between the session table and the forwarding core has a corresponding relationship with the first forwarding core, and the session table corresponding to the target network card queue is updated to have a corresponding relationship with the second forwarding core;
the receiving unit is used for receiving a message from the target network card queue based on the updated mapping table of the network card queue and the forwarding core;
and the forwarding unit is used for forwarding the message by using the session table to which the message belongs based on the updated session table and the mapping table of the forwarding core.
10. A computer-readable storage medium having stored therein instructions that, when executed on a terminal device, cause the terminal device to perform the method of message forwarding according to any one of claims 1-8.
11. A processing device for implementing message forwarding is characterized by comprising: a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the message forwarding method according to any one of claims 1-8 when executing the computer program.
CN201911257136.XA 2019-12-05 2019-12-05 Message forwarding method, system and equipment Active CN111049750B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911257136.XA CN111049750B (en) 2019-12-05 2019-12-05 Message forwarding method, system and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911257136.XA CN111049750B (en) 2019-12-05 2019-12-05 Message forwarding method, system and equipment

Publications (2)

Publication Number Publication Date
CN111049750A CN111049750A (en) 2020-04-21
CN111049750B true CN111049750B (en) 2022-12-09

Family

ID=70235382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911257136.XA Active CN111049750B (en) 2019-12-05 2019-12-05 Message forwarding method, system and equipment

Country Status (1)

Country Link
CN (1) CN111049750B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311678B (en) * 2020-09-29 2022-05-27 新华三技术有限公司合肥分公司 Method and device for realizing message distribution
CN116436855B (en) * 2023-06-12 2023-09-12 建信金融科技有限责任公司 Data information processing method, device, electronic equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533978A (en) * 2016-11-24 2017-03-22 东软集团股份有限公司 Network load balancing method and system
CN107566549A (en) * 2017-09-30 2018-01-09 东软集团股份有限公司 A kind of processing method, device and the equipment of network address translation mapping table
CN107612840A (en) * 2017-09-26 2018-01-19 东软集团股份有限公司 A kind of data processing method and device of four-layer load-equalizing equipment
CN107864156A (en) * 2017-12-18 2018-03-30 东软集团股份有限公司 Ssyn attack defence method and device, storage medium
WO2018094743A1 (en) * 2016-11-28 2018-05-31 华为技术有限公司 Method for processing packet, and computer device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533978A (en) * 2016-11-24 2017-03-22 东软集团股份有限公司 Network load balancing method and system
WO2018094743A1 (en) * 2016-11-28 2018-05-31 华为技术有限公司 Method for processing packet, and computer device
CN107612840A (en) * 2017-09-26 2018-01-19 东软集团股份有限公司 A kind of data processing method and device of four-layer load-equalizing equipment
CN107566549A (en) * 2017-09-30 2018-01-09 东软集团股份有限公司 A kind of processing method, device and the equipment of network address translation mapping table
CN107864156A (en) * 2017-12-18 2018-03-30 东软集团股份有限公司 Ssyn attack defence method and device, storage medium

Also Published As

Publication number Publication date
CN111049750A (en) 2020-04-21

Similar Documents

Publication Publication Date Title
CN111522641B (en) Task scheduling method, device, computer equipment and storage medium
EP3399709B1 (en) Method for forwarding packet
US20170171304A1 (en) Service updating method and system for server cluster
CN108494623B (en) Performance test method and device of network forwarding device
CN106991008B (en) Resource lock management method, related equipment and system
RU2719437C1 (en) Method of administering nf network function and nf administration device
CN111049750B (en) Message forwarding method, system and equipment
CN109802951B (en) Message forwarding method, device and storage device
CN112492574B (en) Load migration method, device and system
CN109155994A (en) A kind of user face method for managing resource, user's veil member and control plane network element
CN105871983A (en) Method and device for selecting servers
CN106294778A (en) Information-pushing method and device
US8055651B2 (en) Distribution of join operations on a multi-node computer system
US20180054827A1 (en) Route Selection Method and Apparatus
EP3319270B1 (en) Service registration method, usage method and relevant apparatus
CN112231102A (en) Method, device, equipment and product for improving performance of storage system
CN112165505B (en) Decentralized data processing method, electronic device and storage medium
CN107045452B (en) Virtual machine scheduling method and device
US20170161508A1 (en) Management device, method executed by the management device, and non-transitory computer-readable storage medium
CN113746920B (en) Data forwarding method and device, electronic equipment and computer readable storage medium
CN112799849B (en) Data processing method, device, equipment and storage medium
CN108520025B (en) Service node determination method, device, equipment and medium
CN104657507A (en) Distributed system-based mode detection method and device of image data
CN110866027A (en) System and method for improving block chain query efficiency
Yassein et al. An efficient overhead-aware leader election algorithm for distributed systems

Legal Events

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