CN117478604A - Message forwarding method, system, equipment and medium based on dynamic selection link - Google Patents

Message forwarding method, system, equipment and medium based on dynamic selection link Download PDF

Info

Publication number
CN117478604A
CN117478604A CN202311466200.1A CN202311466200A CN117478604A CN 117478604 A CN117478604 A CN 117478604A CN 202311466200 A CN202311466200 A CN 202311466200A CN 117478604 A CN117478604 A CN 117478604A
Authority
CN
China
Prior art keywords
message
port
score
forwarded
obtaining
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.)
Pending
Application number
CN202311466200.1A
Other languages
Chinese (zh)
Inventor
薛娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202311466200.1A priority Critical patent/CN117478604A/en
Publication of CN117478604A publication Critical patent/CN117478604A/en
Pending legal-status Critical Current

Links

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size

Abstract

The invention relates to a message forwarding method, a system, equipment and a medium based on a dynamic selection link, wherein the method comprises the steps of obtaining a message to be forwarded, first message information of the message to be forwarded, second message information of each port and buffer length of each port, obtaining a first parameter of the message to be forwarded according to the first message information, obtaining a second parameter of each port according to the second message information, determining priority of the message to be forwarded according to the first parameter and the second parameter, calculating idle calculation force of the link where the port is located, obtaining port total score of each port according to the second parameter, the priority of the message to be forwarded, the buffer length and the idle calculation force, determining a forwarding port according to the port total score and the buffer length, and forwarding the message to be forwarded through the link where the forwarding port is located. The invention can reduce the condition of unbalanced load, improves the application performance of the server, and is applied to the field of message forwarding.

Description

Message forwarding method, system, equipment and medium based on dynamic selection link
Technical Field
The present invention relates to the field of message forwarding, and in particular, to a method, a system, an apparatus, and a medium for forwarding a message based on a dynamically selected link.
Background
The intelligent operation and maintenance can be understood that a user only needs to have a terminal device capable of being connected with a network, such as a smart phone, a notebook computer, a PDA and the like, and once the terminal device is connected to a cloud through the network, the user can enjoy all services brought by the cloud. For example, the cloud may provide extremely powerful computing power, users will have unlimited memory, and various software that should be available can be used by themselves without fear of the trouble of various viruses. The cloud can provide various requests required by the user as long as the user can connect to the network.
Server resources which are not in the same geographic position are integrated together through a network in intelligent operation and maintenance to form a huge computer cluster, and a unified data center is constructed to uniformly manage all resources in a cloud. In order to make the service flow evenly divided into each physical link to the maximum extent and ensure that the messages are not disordered, a static hash algorithm based on the message characteristic field is generally adopted at present, but the mode can generate the phenomenon of unbalanced load, so that a certain physical link is overlarge in load and easy to generate congestion to cause message discarding, and other physical links are lighter in load, low in bandwidth utilization rate and influence the application performance of a server, such as FCT and throughput.
Disclosure of Invention
In view of the above, the present invention aims to provide a method, a system, a device and a medium for forwarding a message based on a dynamically selected link, which can reduce the phenomenon of unbalanced load and improve the application performance of a server.
In one aspect, the present invention provides a message forwarding method based on dynamically selecting links, including the following steps:
acquiring a message to be forwarded, first message information of the message to be forwarded, second message information of each port and a cache length of each port;
obtaining a first parameter of a message to be forwarded according to the first message information, and obtaining a second parameter of each port according to the second message information;
determining the priority of the message to be forwarded according to the first parameter and the second parameter, and calculating the idle computing power of the link where the port is located;
obtaining the port total score of each port according to the second parameter, the priority of the message to be forwarded, the buffer length and the idle computing power;
and determining a forwarding port according to the port total score and the buffer length, and forwarding the message to be forwarded through a link where the forwarding port is located.
Optionally, the obtaining the first parameter of the message to be forwarded according to the first message information and obtaining the second parameter of each port according to the second message information specifically includes:
Analyzing the first message information to obtain a first message protocol and a first message size, wherein the first message protocol and the first message size are used as first parameters;
and analyzing the second message information to obtain a second message protocol, a second message size and message survival time of the initial message for a plurality of times, wherein the second message protocol, the second message size and the message survival time are used as second parameters.
Optionally, the determining the priority of the message to be forwarded according to the first parameter and the second parameter specifically includes:
obtaining a suboptimal message protocol according to all second message protocols of each port, and obtaining the maximum message size of each port according to all second message sizes of the same port;
performing first degradation on the message to be forwarded, of which the first message size exceeds the maximum message size;
and performing secondary degradation on the message to be forwarded after the primary degradation according to the first message protocol and the suboptimal protocol to obtain the priority of the message to be forwarded.
Optionally, the calculating the idle computing power of the link where the port is located specifically includes:
calculating logic calculation power according to logic redundancy calculation power of all logic calculation chips on a link and logic chip resources;
Calculating parallel computing power according to the parallel redundant computing power of all the parallel computing chips on the link and the parallel chip resources;
calculating the neural network acceleration computing power according to the neural network acceleration redundancy computing power of all the neural network acceleration chips on the link and the neural network acceleration chip resources;
and adding the logic computing force, the parallel computing force and the neural network acceleration computing force to obtain an idle computing force.
Optionally, the obtaining the port total score of each port according to the second parameter, the priority of the forwarding packet, the buffer length and the idle computing power specifically includes:
obtaining a message protocol score according to the second message protocol of the same port, obtaining a message size score according to the second message sizes of all ports, and obtaining a survival time score according to the message survival time of all ports;
obtaining priority scores of ports according to the priority of the message to be forwarded, obtaining cache scores of the ports according to the cache lengths of all the ports, and obtaining calculation scores according to the idle calculation forces of all the ports;
and adding the message protocol score, the message size score, the survival time score, the priority score, the cache score and the calculation power score to obtain a port total score.
Optionally, the obtaining a message protocol score according to the second message protocol of the same port, obtaining a message size score according to the second message sizes of all ports, and obtaining a survival time score according to the survival time of the messages of all ports specifically includes:
calculating the forwarding times of each message protocol in all second message protocols of the same port, determining a score of each message protocol according to the forwarding times of each message protocol, and adding the scores of each message protocol to obtain the score of the message protocol;
determining the maximum message size of each port according to the second message size of the same port, determining a score for each port according to the maximum message size, and obtaining the message size score;
and determining the maximum survival time of each port according to the message survival time of the same port, and determining a score for each port according to the maximum survival time to obtain the survival time score.
Optionally, the determining a forwarding port according to the port total score and the cache length specifically includes:
determining the port with the largest total port score as an initial port;
if one initial port exists, the initial port is used as a forwarding port;
And if at least two initial ports exist, taking the initial port with the largest buffer length as a forwarding port.
In another aspect, the present invention provides a message forwarding system based on dynamically selected links, the system comprising a client, a data forwarding center, and a cloud server cluster, wherein,
the client is used for generating a message to be forwarded and sending the message to be forwarded and the first message information of the message to be forwarded to the data processing center;
the data processing center is used for executing the method;
the cloud server cluster is used for receiving the message to be forwarded by the data processing center.
In another aspect, the invention provides an electronic device comprising a memory storing a computer program and a processor implementing the method described above when executing the computer program.
In another aspect, the invention provides a computer readable storage medium having stored therein a processor executable program for performing the method described above when executed by a processor.
The invention has the following beneficial effects: the method and the device have the advantages that the message to be forwarded, the first message information of each port, the second message information of each message to be forwarded and the buffer length of each port are obtained, the first parameter of the message to be forwarded is obtained according to the first message information, the second parameter of each port is obtained according to the second message information, the priority of the message to be forwarded is determined according to the first parameter and the second parameter, meanwhile, the influence of the size and the protocol of the message to be forwarded on forwarding is considered, the priority is set for the message to be forwarded, the arrangement of the message to be forwarded on the same port can be reduced, and the condition of link blockage is reduced; calculating the idle calculation force of the link where the port is located, obtaining the port total score of each port according to the second parameter, the priority, the buffer length and the idle calculation force of the message to be forwarded, determining the forwarding port according to the port total score and the buffer length, forwarding the message to be forwarded through the link where the forwarding port is located, comprehensively considering the buffer length of the port, the priority of the message and the calculation force of the link, selecting the link with better forwarding quality for forwarding the message, and improving the broadband utilization rate of the link.
Drawings
FIG. 1 is a flow chart of a message forwarding method based on dynamically selected links provided by the invention;
FIG. 2 is a flow chart for obtaining a first parameter and a second parameter according to the present invention;
FIG. 3 is a flow chart of degrading a message to be forwarded according to the present invention;
FIG. 4 is a flow chart of obtaining link idle calculation force provided by the present invention;
fig. 5 is a schematic diagram of quality evaluation of a physical link according to the present invention;
FIG. 6 is a flow chart of calculating a port total score provided by the present invention;
FIG. 7 is a flow chart for calculating a message protocol score, a message size score, and a time-to-live score provided by the present invention;
fig. 8 is a flowchart of a packet forwarding method based on a dynamically selected link applied to a DNC scenario according to the present invention;
fig. 9 is a schematic structural diagram of a packet forwarding system based on dynamically selecting links according to the present invention;
fig. 10 is a schematic structural diagram of an electronic device provided by the present invention.
Detailed Description
The invention will now be described in further detail with reference to the drawings and to specific examples. The step numbers in the following embodiments are set for convenience of illustration only, and the order between the steps is not limited in any way, and the execution order of the steps in the embodiments may be adaptively adjusted according to the understanding of those skilled in the art.
The terminology used in the embodiments of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the application. As used in this application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any or all possible combinations of one or more of the associated listed items.
When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as detailed in the accompanying claims. In the description of this application, it should be understood that the terms "first," "second," "third," and the like are used merely to distinguish between similar objects and are not necessarily used to describe a particular order or sequence, nor should they be construed to indicate or imply relative importance. The specific meaning of the terms in this application will be understood by those of ordinary skill in the art as the case may be.
Furthermore, in the description of the present application, unless otherwise indicated, "a plurality" means two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship.
In order to better understand the technical solution of the present invention, the following technical terms will be explained.
Data communication network (Data Communication Network, DCN): the DCN network takes one network management center as a network center, and covers all network management centers within a certain range, and comprises a plurality of backbone nodes to form a backbone network within a certain range.
Calculating: computing power is the ability of a computer device or computing/data center to process information, and is the ability of computer hardware and software to cooperate to perform some computational requirement.
FCT (functional test): it refers to a Test method for providing a simulated running environment such as stimulus and load for a Test target board (UUT) to make the Test target board work in various design states, thereby obtaining parameters of various states to verify the performance of UUT functions.
As shown in fig. 1, fig. 1 is a flowchart of a message forwarding method based on a dynamic selection link, and the invention provides a message forwarding method based on a dynamic selection link, which includes the following steps:
s100, obtaining a message to be forwarded, first message information of the message to be forwarded, second message information of each port and a cache length of each port.
The first message information includes, but is not limited to, quintuple information including a message to be forwarded, a message size, and the quintuple information includes a source IP, a source port, a destination IP, a destination port, and a communication protocol.
The second message information of each port may include, but is not limited to, five-tuple information and a message size including N times of message forwarding before each port, where N is a natural number greater than or equal to 1, and in this embodiment, taking N as 3 as an example, the five-tuple information includes a source IP, a source port, a destination IP, a destination port, and a communication protocol.
Cache length includes, but is not limited to, the ratio of including a history shared cache and a dynamic shared cache.
Specifically, the flow quintuple information of each network node (port) can be obtained in a real-time flow interception mode, and the flow quintuple information is analyzed and counted.
In another embodiment, the first message information may include encrypted quintuple information and a message size, and the second message information may include, but is not limited to, encrypted quintuple information and a message size.
The encrypted quintuple information of each network node (port) can be obtained in a real-time traffic interception mode, and the encrypted quintuple information is analyzed and counted.
The shared buffer memory can be used by a plurality of users, and the shared buffer memory is utilized to store data, so that the buffer memory resource can be reused, and network congestion and delay can be reduced.
S200, obtaining a first parameter of a message to be forwarded according to the first message information, and obtaining a second parameter of each port according to the second message information.
The first parameter includes, but is not limited to, a message size including a message to be forwarded, a protocol type, and the second parameter includes, but is not limited to, a message size including a historical forwarding message, a protocol type, and a survival time.
Specifically, the first message information is analyzed through an analysis function to obtain the message size and the protocol type of the message to be forwarded, and the second message information of the message forwarded three times before each port is analyzed through the analysis function to obtain the message size and the protocol type of the message forwarded each time and the survival time of the port.
And S300, determining the priority of the message to be forwarded according to the first parameter and the second parameter, and calculating the idle computing power of the link where the port is located.
The priority of the message to be forwarded may be set to M levels, and in this embodiment, M is taken as 8 for illustration.
The idle computing power can measure the load of the link, and the larger the idle computing power is, the lighter the load of the link is.
Determining the priority of the message to be forwarded includes, but is not limited to, including performing two downgrade processes on the message to be forwarded.
Specifically, the first parameter of the message with forwarding is compared with the second parameter of the historical forwarding, specifically, the message to be forwarded with the size of the message Wen Daxiao larger than the last N times of forwarding messages of the port in step S300 is subjected to first degradation, and the message to be forwarded with the protocol type different from the protocol type with the largest forwarding times in the last N times of forwarding messages of the port is subjected to second degradation, so that the final priority of the message to be forwarded is obtained.
And constructing a message forwarding chip model in the data processing center, and calculating the idle computing power of each link according to the redundant computing power and chip resources of all chips bearing computing power tasks on the link.
Step S300 sets priority according to message size and message protocol by message to be forwarded, improves message forwarding efficiency of network node port, and reduces occurrence of congestion condition.
S400, obtaining the port total score of each port according to the second parameter, the priority of the message to be forwarded, the buffer length and the idle calculation force.
Specifically, according to the message size, protocol type and survival time of the historical forwarding message of the previous N times of each port, calculating the scores corresponding to the message size, protocol type and survival time of each port, calculating the scores of priority, buffer length and idle computing power of the forwarding message, wherein the higher the priority of the forwarding message is, the higher the buffer length is, the higher the score is, the higher the idle computing power is, and adding all the scores to obtain the port total score of each port.
Step S400 evaluates the service characteristics and health condition of the current network port by comprehensively considering the message protocol, the message size and the message survival time, and can improve the quality of the selected port.
S500, determining a forwarding port according to the port total score and the buffer length, and forwarding the message to be forwarded through the link where the forwarding port is located.
Specifically, the port with the highest total port score is confirmed as the forwarding port of the message on the link, if a plurality of ports with the highest total port scores exist, the forwarding port is confirmed according to the buffer length, and the message to be forwarded in the buffer of the forwarding port is forwarded to the destination terminal through the link where the forwarding port is located.
As shown in fig. 2, fig. 2 is a flowchart for obtaining a first parameter and a second parameter, in some embodiments, the obtaining the first parameter of a message to be forwarded according to first message information, and obtaining the second parameter of each port according to second message information specifically includes:
s210, analyzing the first message information to obtain a first message protocol and a first message size, wherein the first message protocol and the first message size are used as first parameters.
Specifically, the first message information of the message to be forwarded is parsed through the parsing function, and quintuple information of the message and the message size of the message to be forwarded are obtained, wherein the quintuple information includes information consistent with the step S100, and the protocol type (first message protocol) and the message size in the quintuple information are used as the first parameters of the message to be forwarded.
S220, analyzing the second message information to obtain a second message protocol, a second message size and a message survival time of the initial message for a plurality of times, wherein the second message protocol, the second message size and the message survival time are used as second parameters.
Specifically, the second message information of the last N initial messages of each port of the current network node is analyzed through an analysis function, five-tuple information of each message in the port, the message size of each message and the message survival time of each message in the port are obtained, wherein the information included in the five-tuple information is consistent with the information included in the step S100, and the protocol type (second message protocol), the message size and the message survival time in the five-tuple information are used as the second parameters of the port.
As shown in fig. 3, fig. 3 is a flowchart of performing degradation processing on a message to be forwarded, and in some embodiments, determining a priority of the message to be forwarded according to a first parameter and a second parameter specifically includes:
s310, obtaining a suboptimal message protocol according to all second message protocols of each port, and obtaining the maximum message size of each port according to all second message sizes of the same port.
Each port comprises N pieces of second message information, and one piece of second message information comprises a plurality of second message protocols.
A second message information includes a plurality of message sizes.
The step can obtain the message protocol with the highest forwarding times while obtaining the suboptimal protocol.
Specifically, counting the times of each second message protocol used in the first N times of message forwarding of the same port, sequencing the times of each second message protocol used or directly comparing the times of each second message protocol used to obtain the message protocol with the largest forwarding times, and taking other types of second message protocols as suboptimal protocols.
For example, a port 1, a message passing through a data processing center where the port 1 is located includes three communication protocols including an http protocol, an ftp protocol and a UDP protocol, and in the first 3 times of message forwarding of the port 1, the http protocol is the message protocol with the largest forwarding times of the port 1 when the http protocol is used three times, the ftp protocol is used twice and the UDP protocol is used once, and the ftp protocol is used twice and the UDP protocol is used as a suboptimal protocol.
Comparing the message sizes of the first N times of messages forwarded by the same port obtained in the step S220, and taking the message size with the largest value as the largest message size of the port.
For example, for one port 1, the message sizes of the first 3 times of message forwarding at the port 1 are respectively 20M, 120M and 200M, and 200M is taken as the maximum message size of the port 1.
S320, degrading the message to be forwarded, of which the first message size exceeds the maximum message size, for the first time.
Specifically, the invention identifies which messages are large flows and which messages are small flows through the message sizes of the messages, and performs degradation scheduling on the large flows after the large flows are identified.
And identifying the message to be forwarded, of which the first message size exceeds the maximum message size, as a large stream, and identifying the message to be forwarded, of which the first message size is equal to or smaller than the maximum message size, as a small stream.
It can be understood that in the message traffic forwarded in the same time, the priority of the size flow is set after the message traffic is ordered according to the size dimension of the traffic.
And S330, performing secondary degradation on the message to be forwarded after the primary degradation according to the first message protocol and the suboptimal protocol to obtain the priority of the message to be forwarded.
The first message protocol of the message to be forwarded, which is subjected to the second degradation, is different from the message protocol with the largest forwarding times.
Specifically, if the first message protocol of the message to be forwarded after the degradation in step S320 is different from the message protocol with the largest forwarding frequency, the priority of the message to be forwarded is sequentially delayed to a low level according to the first message protocol and the sub-optimal protocol in step S310 according to the frequency of being used by the sub-optimal protocol.
For example, the first message protocol of the message to be forwarded is a UDP protocol, which is different from the http protocol of the message protocol with the largest forwarding frequency of the port 1, where the number of times of the message to be forwarded is 1 in the port 1, and after the ftp protocol, the priority of the message to be forwarded in the port 1 is reduced by two stages towards the lower stage, and the reduced stage can be determined according to the ordering of the UDP protocol in the port 1.
When the size flows of the forwarded message are mixed, under the congestion condition, the large flow can block the queue, the following small flow can lose packets because the small flow cannot enter the queue, even if the small flow can enter the queue, the too deep queue length caused by the large flow can also increase the queue time delay of the small flow, and the steps S310-S330 of the invention can carry out degradation scheduling on the large flow after identifying the large flow by identifying which are the large flow and which are the small flow so as to set off the high priority of the small flow, thereby reducing the occurrence of network congestion and improving the message forwarding efficiency.
As shown in fig. 4, fig. 4 is a flowchart of obtaining a link idle computing force, and in some embodiments, computing the idle computing force of the link where the port is located specifically includes:
s340, calculating the logic calculation force according to the logic redundancy calculation force of all the logic calculation chips on the link and the logic chip resources.
Specifically, for the devices and platforms with heterogeneous computing power in the computing power task, assuming that n logic computing chips exist on the link, the output processing center obtains logic redundancy computing power and logic chip resources of the n logic computing chips, and calculates the logic computing power of the link according to the formula (1):
wherein f (a) i ) Is the mapping function of the logic operation chip; a is a mapping proportionality coefficient, q 1 Redundant computing power for parallel computing.
S350, calculating the parallel computing power according to the parallel redundancy computing power of all the parallel computing chips on the link and the parallel chip resources.
Specifically, for the device and platform of heterogeneous computing power in the computing power task, assuming that m parallel computing chips exist on the link, the output processing center obtains parallel redundant computing power and parallel chip resources of the m parallel computing chips, and calculates the parallel computing power of the link according to formula (2):
wherein f (b) j ) Is a mapping function of the parallel operation chip; beta is the mapping proportionality coefficient, q 2 Redundant computing power for parallel computing.
S360, calculating the neural network acceleration computing power according to the neural network acceleration redundancy computing power of all the neural network acceleration chips on the link and the neural network acceleration chip resources.
Specifically, for the devices and platforms with heterogeneous computing power in the computing power task, assuming that p neural network acceleration chips exist on the link, the output processing center acquires the neural network acceleration redundancy computing power and the neural network acceleration chip resources of the p neural network acceleration chips, and calculates the computing neural network acceleration computing power of the link according to the formula (3):
wherein f (c) k ) Is the mapping function of the neural network acceleration chip; gamma is the mapping proportionality coefficient, q 3 Is a neural netRedundancy calculation force of the network chip.
And S370, adding the logic calculation force, the parallel calculation force and the neural network acceleration calculation force to obtain the idle calculation force.
Specifically, the idle calculation force is obtained according to formula (4):
C br =A+B+C (4)
and after matching different calculation force demands on network service scenes and carrying out unified quantification of calculation force, providing link load indexes of all network nodes of the whole link path, wherein the larger the free calculation force is, the better the link quality is, each link consists of a plurality of nodes, the calculation force task is different in calculation force value consumed by different links, and the free calculation force of one link is obtained by the sum of calculation force values of all path nodes.
After the idle computing power of each link is calculated through the model, the load mapping idle computing power of the link is selected in a dynamic mode, so that the utilization rate of each link is more balanced, and the performance (FCT and throughput) of the application is improved.
As shown in fig. 5, fig. 5 is a schematic diagram of quality evaluation of a physical link, in the figure, numeral 1 is the port with the lightest load, and numeral 2 is the port with the heaviest load, wherein the load can be obtained through idle calculation force mapping, and the greater the idle calculation force, the lighter the load of the link, so that the effect of selecting a link with better quality can be achieved by calculating the idle calculation force.
As shown in fig. 6, fig. 6 is a flowchart of calculating a port total score, and in some embodiments, the method includes obtaining the port total score of each port according to the second parameter, the priority of the forwarding message, the buffer length and the idle computing power, specifically including:
s410, obtaining a message protocol score according to a second message protocol of the same port, obtaining a message size score according to the second message sizes of all ports, and obtaining a survival time score according to the message survival time of all ports.
The message protocol scores are obtained by adding the scores of each message protocol of the same port.
The score of each message protocol, the score of the message size and the maximum score of the survival time score are all based on the total number of ports, for example, three ports, and the maximum score is 3.
Specifically, counting the number of times each second message protocol is used in the front N times of message forwarding of the same port, determining the highest score by the message protocol with the highest number of times of use, sequentially reducing the scores of the other types of second message protocols according to the number of times of use, and adding the scores of all types of second message protocols to obtain the message protocol score.
And determining the maximum message size of the front N times of forwarding messages of each port, and obtaining a message size score according to the maximum message size of each port.
And determining the maximum message survival time of the front N times of forwarding messages of each port, and obtaining a survival time score according to the maximum message survival time of each port.
S420, obtaining priority scores of the ports according to the priority of the message to be forwarded, obtaining cache scores of the ports according to the cache lengths of all the ports, and obtaining calculation scores according to the idle calculation forces of all the ports.
The maximum value of each score of the priority score, the cache score and the calculation power score is the same as the total number of ports of the current node.
Wherein the cache length of each port is equal to the ratio of the history shared cache to the dynamic shared cache.
Specifically, the priority score of the port is obtained according to the order of the priority of the message to be forwarded in the priority of the message to be forwarded of all ports.
And obtaining the cache score of the port according to the cache length of one port and the sequencing in the cache lengths of all ports.
And obtaining the calculation force score of the port according to the idle calculation force of one port and the ordering in the idle calculation force of all ports.
And S430, adding the message protocol score, the message size score, the survival time score, the priority score, the cache score and the calculation power score to obtain a port total score.
The message protocol scores are obtained by adding the scores of each message protocol of the same port.
And adding the message protocol score, the message size score, the survival time score, the priority score, the cache score and the calculation power score obtained in the steps S410 and S430 to obtain the final port total score of the port.
When the input ports access the shared buffer memory, an equal time length is allocated to each port, and each port sequentially stores the data packets of the buffer memory into the buffer memory module in the allocated time length within one clock period. However, since the data traffic of each port is different, after some ports transmit data packets within the allocated time length, the data packets in the buffer area have residual data packets which are not transmitted, even have residual data packets, so that packet loss is caused; when some ports transmit data packets within the allocated time length, only part of the time length is used to complete data packet transmission, resulting in part of the time length being wasted
The quality of each port is quantified by steps S410-S430 based on the buffer length of each port, the port bandwidth utilization, the last N times of each network port protocol type, the message size, the message survival time obtained in steps S210-S220, and the like, so that the port with the best quality can be selected, and the time waste is reduced.
As shown in fig. 7, fig. 7 is a flowchart of calculating a message protocol score, a message size score, and a time-to-live score, and in some embodiments, step S410 obtains a message protocol score according to a second message protocol of the same port, obtains a message size score according to second message sizes of all ports, and obtains a time-to-live score according to a time-to-live of all ports, which specifically includes:
s411, calculating the forwarding times of each message protocol in all second message protocols of the same port, determining a score of each message protocol according to the forwarding times of each message protocol, and adding the scores of each message protocol to obtain the score of the message protocol.
As shown in table 1, table 1 shows the port total score calculation process for 3 ports.
Specifically, the number of times each second message protocol is used in the first N times of message forwarding of the same port is calculated, and a score is determined for each message protocol according to the ordering of the same number of times each message protocol is used in the port.
For example, a data processing center including three ports takes port 1 as an example, a message passing through the data processing center where port 1 is located includes three communication protocols including an http protocol, an ftp protocol and a UDP protocol, in the first 3 times of message forwarding of port 1, the http protocol obtains a maximum score of 3 points, that is, the total number of three ports, the ftp protocol obtains a score of 2 points of the second order, the UDP protocol obtains a score of 1 point of the third order, and the scores of the three protocols are added to obtain a score of 6 points, that is, the message protocol score of port 1.
S412, determining the maximum message size of each port according to the second message size of the same port, and determining the score for each port according to the maximum message size to obtain the message size score.
Specifically, the sizes of the first N messages of the same port are compared to obtain the maximum message size of the first N forwarding messages of each port, and the score is determined according to the ordering of the maximum message size of each port in the maximum message sizes of all ports.
For example, a data processing center including three ports, taking port 1 as an example, where the message sizes of the first three times of message forwarding of port 1 are respectively 12M, 18M and 20M, and taking 20M as the maximum message size of port 1, similarly, the maximum message sizes of other ports are obtained.
As can be seen from table 1, the maximum message size of the port 1 is 20M, and the minimum message size of the three ports is determined to be 3 minutes, namely the message size score of the port 1; the maximum message size of the port 2 is 120M, and the score is determined to be 2 minutes, namely the message size score of the port 2; the maximum message size of the port 3 is 200M, and the score is determined to be 1 score, namely the message size score of the port 3.
S413, determining the maximum survival time of each port according to the message survival time of the same port, and determining the score for each port according to the maximum survival time to obtain the survival time score.
Specifically, the survival time of the messages of the first N times of the same port is compared to obtain the maximum survival time of the messages forwarded by the first N times of each port, and the score is determined according to the ordering of the maximum survival time of each port in the maximum survival time of all ports.
For example, a data processing center including three ports, taking port 1 as an example, the maximum survival time of port 1 is 50s, and the second of the three ports is ranked, and the score is determined to be 2 points, namely the survival time score of port 1; the maximum survival time of the port 2 is 120s, and the score is determined to be 1 score; the maximum message size of port 3 is 36s, and the score is determined to be 3 minutes.
TABLE 1
In some embodiments, step S420 obtains a priority score of a port according to a priority of a message to be forwarded, obtains a buffer score of the port according to buffer lengths of all ports, and obtains an calculation score according to an idle calculation of all ports, which specifically includes:
s421, according to the ordering of the messages to be forwarded of the ports in the messages to be forwarded of all the ports, the priority scores of the ports are obtained.
For example, the priority of the message to be forwarded at the port 1 is 1, the priority of the message to be forwarded at the port 1 is ranked as the first among the priorities of the three ports, and the score is determined to be 3, namely the priority score of the port 1.
S422, according to the ordering of the cache length of the port in the cache length of all the ports, obtaining the cache score of the port.
For example, the cache length of the port 1 is 40%, the third among the cache lengths of the three ports is ranked, and the score is determined to be 1 score, namely the cache score of the port 1.
S423, according to the ordering of the idle computing power of the ports in the idle computing power of all the ports, obtaining the computing power score of the ports.
For example, at port 1's free computing power 140, the order is first among the three ports ' free computing power, indicating that port 1's load is the lightest among the three ports, and determining the score as 3 points, i.e., the computing power score of port 1.
In some embodiments, determining the forwarding port according to the port total score and the buffer length specifically includes:
s510, determining the port with the largest total port score as an initial port.
Specifically, the total port scores of all ports of the current node are compared, the port score with the largest total port score is used as an initial port, for example, the port 1 and the port 2 in the table 2 are respectively 18 points, and the first port is arranged in parallel in the three ports.
S520, if an initial port exists, the initial port is used as a forwarding port.
Specifically, if in step S510, the port with the largest total port score has only one port, the port is used as a forwarding port.
And S530, if at least two initial ports exist, taking the initial port with the largest buffer length as a forwarding port.
Specifically, if in step S510, the ports with the largest total port scores have two or more ports, the cache length of each port is compared, and the port with the largest cache length is taken as the forwarding port, where the cache length refers to the history shared cache and the dynamic shared cache. For example, port 1 and port 2 in table 2, with port 2 as the forwarding port.
According to the method, the links are selected dynamically according to the congestion degrees of the links and the ports, so that the utilization rate of each link in the network is more balanced, the loads of each link are balanced, and the performance (FCT and throughput) of network application is improved; by measuring the congestion status of each link, the forwarding chip on the link quantifies the quality of each port based on the buffer length of each port, the port bandwidth utilization rate, the idle computing power, the protocol type of the previous N times of message forwarding, the size of the previous N times of message forwarding and the survival time of the previous N times of message forwarding, so that the link with better quality and lighter congestion can be selected to send the message, thereby reducing the congestion status of the link and improving the forwarding efficiency of the message.
As shown in fig. 8, fig. 8 is a flowchart of a packet forwarding method based on a dynamically selected link applied to a DNC scenario, where the buffer length is the ratio of a history shared buffer to a dynamic shared buffer.
In this embodiment, the current network node includes 3 ports, and the latest 3 times of packet forwarding data of each port are obtained as an example.
And collecting the flow quintuple information of the network node in the DCN network and the information of the message to be forwarded currently required to be forwarded, and carrying out flow analysis on the flow quintuple information and the information of the message to be forwarded.
And analyzing five-tuple information of the latest 3 times of messages of three ports of the current network node through a program, wherein the five-tuple information comprises a source IP, a source port, a destination IP, a destination port and a communication protocol, obtaining a message protocol of each port, the forwarding times of the message protocol at the same port, the size of each initial message and the survival time of each initial message, obtaining a maximum forwarding protocol of the port according to the forwarding times of each message protocol at the same port, obtaining a maximum forwarding message of the port according to the sizes of all initial messages of the same port, obtaining parameters such as the maximum survival time of the port according to the survival time of all initial messages of the same port, and taking the maximum forwarding message protocol and the maximum message as initial thresholds of judging size flows of the port.
And (3) performing program analysis on five-tuple information of the message to be forwarded of the current network node to obtain the message size and the message protocol of the message to be forwarded, performing priority lowering treatment on the message to be forwarded, of which the message size exceeds the maximum message of the last three times, and sequentially and backwardly delaying the forwarding sequence of the message to be forwarded of the suboptimal protocol to obtain the priority of the message to be forwarded. Wherein the sub-optimal protocol is the same as explained in the previous method.
And constructing a message forwarding chip model in the DCN, and calculating the idle computing power of a physical link with n logic operation chips, m parallel calculation chips and p neural network acceleration chips.
And calculating the total port scores of the three ports according to the latest 3 message protocol types (including the number of times the message protocol is used), the message size, the message survival time, the priority of the message to be forwarded, the ratio of the historical shared cache to the dynamic shared cache and the idle calculation power of the link of each port.
And taking the port with the largest total port score as a forwarding port, and selecting the port with the largest ratio of the historical shared cache to the dynamic shared cache as the forwarding port under the condition that a plurality of maximum total port scores are parallel.
And forwarding the message of the forwarding port in the DCN network to the destination end through the link where the message is located.
As shown in fig. 9, fig. 9 is a schematic structural diagram of a message forwarding system based on dynamically selected links, where the system includes a client, a data forwarding center, and a cloud server cluster,
the client is used for generating a message to be forwarded and sending the message to be forwarded and the first message information of the message to be forwarded to the data processing center;
a data processing center for performing the method described above;
and the cloud server cluster is used for receiving the message to be forwarded by the data processing center.
In some embodiments, as shown in fig. 10, fig. 10 is a schematic structural diagram of an electronic device provided by the present invention, and the present invention further provides an electronic device, where the electronic device includes a processor 100 and a memory 101, and the memory 101 stores a computer program, and when the processor 100 executes the computer program, any one of the methods described in the foregoing method embodiments is implemented.
Wherein the memory is operable as a non-transitory computer readable storage medium storing a non-transitory software program and a non-transitory computer executable program. The memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes remote memory provided remotely from the processor, the remote memory being connectable to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
Furthermore, embodiments of the present application disclose a computer program product or a computer program, which is stored in a computer readable storage medium. The computer program may be read from a computer readable storage medium by a processor of a computer device, the processor executing the computer program causing the computer device to perform the method as described above.
The present invention also provides a computer-readable storage medium in which a processor-executable program is stored, which when executed by a processor is adapted to carry out the method of the above-described method embodiment.
Similarly, the content in the above method embodiment is applicable to the present storage medium embodiment, and the specific functions of the present storage medium embodiment are the same as those of the above method embodiment, and the achieved beneficial effects are the same as those of the above method embodiment.
It is to be understood that all or some of the steps, systems, and methods disclosed above may be implemented in software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
While the preferred embodiment of the present invention has been described in detail, the invention is not limited to the embodiment, and various equivalent modifications and substitutions can be made by those skilled in the art without departing from the spirit of the invention, and these modifications and substitutions are intended to be included in the scope of the present invention as defined in the appended claims.

Claims (10)

1. A message forwarding method based on dynamic selection link is characterized by comprising the following steps:
acquiring a message to be forwarded, first message information of the message to be forwarded, second message information of each port and a cache length of each port;
obtaining a first parameter of a message to be forwarded according to the first message information, and obtaining a second parameter of each port according to the second message information;
determining the priority of the message to be forwarded according to the first parameter and the second parameter, and calculating the idle computing power of the link where the port is located;
obtaining the port total score of each port according to the second parameter, the priority of the message to be forwarded, the buffer length and the idle computing power;
and determining a forwarding port according to the port total score and the buffer length, and forwarding the message to be forwarded through a link where the forwarding port is located.
2. The method of claim 1, wherein the obtaining the first parameter of the message to be forwarded according to the first message information and obtaining the second parameter of each port according to the second message information specifically includes:
analyzing the first message information to obtain a first message protocol and a first message size, wherein the first message protocol and the first message size are used as first parameters;
and analyzing the second message information to obtain a second message protocol, a second message size and message survival time of the initial message for a plurality of times, wherein the second message protocol, the second message size and the message survival time are used as second parameters.
3. The method according to claim 2, wherein determining the priority of the message to be forwarded according to the first parameter and the second parameter specifically includes:
obtaining a suboptimal message protocol according to all second message protocols of each port, and obtaining the maximum message size of each port according to all second message sizes of the same port;
performing first degradation on the message to be forwarded, of which the first message size exceeds the maximum message size;
and performing secondary degradation on the message to be forwarded after the primary degradation according to the first message protocol and the suboptimal protocol to obtain the priority of the message to be forwarded.
4. The method of claim 1, wherein the calculating the idle computing power of the link where the port is located specifically comprises:
calculating logic calculation power according to logic redundancy calculation power of all logic calculation chips on a link and logic chip resources;
calculating parallel computing power according to the parallel redundant computing power of all the parallel computing chips on the link and the parallel chip resources;
calculating the neural network acceleration computing power according to the neural network acceleration redundancy computing power of all the neural network acceleration chips on the link and the neural network acceleration chip resources;
and adding the logic computing force, the parallel computing force and the neural network acceleration computing force to obtain an idle computing force.
5. The method according to claim 2, wherein the obtaining the port total score of each port according to the second parameter, the priority of the forwarding message, the buffer length, and the idle computing power specifically includes:
obtaining a message protocol score according to the second message protocol of the same port, obtaining a message size score according to the second message sizes of all ports, and obtaining a survival time score according to the message survival time of all ports;
obtaining priority scores of ports according to the priority of the message to be forwarded, obtaining cache scores of the ports according to the cache lengths of all the ports, and obtaining calculation scores according to the idle calculation forces of all the ports;
And adding the message protocol score, the message size score, the survival time score, the priority score, the cache score and the calculation power score to obtain a port total score.
6. The method of claim 5, wherein the obtaining a message protocol score according to the second message protocol of the same port, obtaining a message size score according to the second message sizes of all ports, and obtaining a time-to-live score according to the message time-to-live of all ports, comprises:
calculating the forwarding times of each message protocol in all second message protocols of the same port, determining a score of each message protocol according to the forwarding times of each message protocol, and adding the scores of each message protocol to obtain the score of the message protocol;
determining the maximum message size of each port according to the second message size of the same port, determining a score for each port according to the maximum message size, and obtaining the message size score;
and determining the maximum survival time of each port according to the message survival time of the same port, and determining a score for each port according to the maximum survival time to obtain the survival time score.
7. The method according to any one of claims 1-6, wherein said determining a forwarding port according to said port total score and said cache length, specifically comprises:
determining the port with the largest total port score as an initial port;
if one initial port exists, the initial port is used as a forwarding port;
and if at least two initial ports exist, taking the initial port with the largest buffer length as a forwarding port.
8. A message forwarding system based on dynamic selection link is characterized in that the system comprises a client, a data forwarding center and a cloud server cluster, wherein,
the client is used for generating a message to be forwarded and sending the message to be forwarded and the first message information of the message to be forwarded to the data processing center;
the data processing center for performing the method of any of claims 1-7;
the cloud server cluster is used for receiving the message to be forwarded by the data processing center.
9. An electronic device comprising a memory storing a computer program and a processor implementing the method of any of claims 1-7 when the computer program is executed by the processor.
10. A computer readable storage medium, in which a processor executable program is stored, which when executed by a processor is adapted to carry out the method of any one of claims 1-7.
CN202311466200.1A 2023-11-06 2023-11-06 Message forwarding method, system, equipment and medium based on dynamic selection link Pending CN117478604A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311466200.1A CN117478604A (en) 2023-11-06 2023-11-06 Message forwarding method, system, equipment and medium based on dynamic selection link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311466200.1A CN117478604A (en) 2023-11-06 2023-11-06 Message forwarding method, system, equipment and medium based on dynamic selection link

Publications (1)

Publication Number Publication Date
CN117478604A true CN117478604A (en) 2024-01-30

Family

ID=89639233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311466200.1A Pending CN117478604A (en) 2023-11-06 2023-11-06 Message forwarding method, system, equipment and medium based on dynamic selection link

Country Status (1)

Country Link
CN (1) CN117478604A (en)

Similar Documents

Publication Publication Date Title
US9185047B2 (en) Hierarchical profiled scheduling and shaping
KR100757872B1 (en) Apparatus and method of backward congestion notification on network
CN109218355A (en) Load equalizing engine, client, distributed computing system and load-balancing method
US11019533B2 (en) Service traffic control method and system and decision network element
WO2018112877A1 (en) Path calculating and access request distributing methods, devices and systems
US7974203B2 (en) Traffic control system, traffic control method, communication device and computer program
CN115794407A (en) Computing resource allocation method and device, electronic equipment and nonvolatile storage medium
CN111181873A (en) Data transmission method, data transmission device, storage medium and electronic equipment
Lei et al. Deploying QoS-assured service function chains with stochastic prediction models on VNF latency
CN105554049B (en) Distributed service amount control method and device
CN112422448A (en) FPGA accelerator card network data transmission method and related components
US7869366B1 (en) Application-aware rate control
George et al. Congestion control mechanism for unresponsive flows in internet through active queue management system (AQM)
Singh et al. An optimal flow assignment framework for heterogeneous network access
CN111404839A (en) Message processing method and device
CN117478604A (en) Message forwarding method, system, equipment and medium based on dynamic selection link
CN115801896A (en) Calculation network node distribution method and device, electronic equipment and storage medium
KR20220097201A (en) Network congestion control method using federated learning
JP3853784B2 (en) Data communication management method
CN114070795A (en) Congestion threshold determination method, device, equipment and storage medium
Mohammed et al. Comparison of Schecduling Schemes in IPV4 and IPV6 to Achieve High QoS
Pakulova et al. Simulation of priority multi-path data transmission in the AnyLogic environment
CN113691410B (en) Network performance data acquisition method, device and server
Efraimidis et al. Window-games between TCP flows
EP3716549A1 (en) Bandwidth management

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