A data processing method and device for data packet throttling
Patent Information
- Application Number
- CN202311724598.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-14
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-12-14
AI Technical Summary
要么没有充分利用自适应路由的优势,要么对路由器架构进行大幅修改
[0080] In this embodiment of the invention, information on data packets to be forwarded is obtained; the information on data packets to be forwarded includes M pieces of information on data particles to be forwarded; each piece of information on data particles to be forwarded corresponds to a unique data flow number; secondary flow-limiting transmission processing is performed on the information on data packets to be forwarded to obtain target data particle information; the target data particle information includes M target forwarded data particle information; the target forwarded data particle information includes a data flow number and a forwarding time period; the target data particle information is calculated to obtain target out-of-order information. It is evident that this application facilitates queuing data packets at the endpoint for injection into the network, and adaptively adjusts the waiting time of data packets according to the network status, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order behavior.
Smart Images

Figure CN117596217B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network communication technology, and in particular to a data processing method and apparatus for data packet rate limiting. Background Technology
[0002] With the development of multi-core architectures, on-chip networking has become widely used. The emergence of new applications has led to increasingly complex traffic patterns, in which deterministic routing algorithms can degrade network performance. Adaptive routing, on the other hand, can improve network performance and offer benefits such as fault tolerance. However, adaptive routing can result in out-of-order packets. Some protocols and applications, such as cache coherence protocols, file transfer protocols, stream computing (e.g., StreamIt), and explicit messaging applications, require ordered packet delivery; otherwise, the receiver must perform additional processing on the data packets, resulting in high overhead. Existing solutions can mitigate out-of-order packets to reduce the need for reordering buffers at the destination. However, existing solutions have two drawbacks: they either do not fully utilize the advantages of adaptive routing or require significant modifications to the router architecture. Therefore, this paper provides a data processing method and apparatus for packet rate limiting, which queues packets at the endpoint before injecting them into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order packets. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a data processing method and apparatus for packet rate limiting that facilitates packet queuing at the end for injection into the network and adaptively adjusts the packet waiting time according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance) while minimizing out-of-order delivery.
[0004] To address the aforementioned technical problems, a first aspect of the present invention discloses a data processing method for packet rate limiting, the method comprising:
[0005] Obtain the data packet information to be transferred; the data packet information to be transferred includes M data particles to be transferred; each data particle corresponds to a unique data stream number;
[0006] The data packet information to be transferred is subjected to secondary rate-limiting transmission processing to obtain target data particle information; the target data particle information includes the M target transfer data particle information; the target transfer data particle information includes the data stream number and forwarding time period;
[0007] The target data granular information is processed to obtain the target disorder information.
[0008] As an optional implementation, in the first aspect of the present invention, the step of performing secondary flow-limiting transmission processing on the data packet information to be transferred to obtain target data granule information includes:
[0009] Obtain initial parameter information; the initial parameter information includes waiting time period, data packet hop count, buffer occupancy threshold, and network size value;
[0010] Based on the initial parameter information, the data packet information to be transferred is transmitted to the routing buffer module to update the buffered data packet information; the routing buffer module includes N routing buffer units; each routing buffer unit includes K routing buffers; the buffered data packet information includes the N buffered data granules; each buffered data granule includes L buffered data granules to be transferred.
[0011] The buffered data packet information is transmitted and processed via the data output module to obtain the target data particle information; the data output module includes P output virtual channels.
[0012] As an optional implementation, in the first aspect of the present invention, the step of transmitting the data packet information to be routed to the routing buffer module based on the initial parameter information to update the buffered data packet information includes:
[0013] Determine whether the number of hops in the data packet flow is greater than half of the network size value to obtain a numerical judgment result;
[0014] When the numerical judgment result is yes, the waiting time period is adjusted to 4, and the adjustment status of the waiting time period is set to locked.
[0015] When the numerical judgment result is negative, the adjustment state of the waiting time period is adjusted to an adjustable state;
[0016] Obtain the current time period, the historical transmission period, and the buffer occupancy information corresponding to the current time period; the buffer occupancy information includes the N buffer occupancy values.
[0017] Determine whether the adjustment state of the waiting time period is in a locked state, and obtain the state determination result;
[0018] When the state judgment result is yes, the judgment process corresponding to the state judgment result ends;
[0019] When the state judgment result is negative, the largest buffer occupancy value in the buffer occupancy value information is determined as the target buffer occupancy value;
[0020] Determine whether the target buffer occupancy value is greater than the buffer occupancy threshold, and obtain the occupancy value determination result;
[0021] When the occupancy value determination result is yes, the waiting time period is adjusted to 4;
[0022] When the occupancy value determination result is negative, the waiting time period is adjusted to 0;
[0023] Determine whether the sum of the historical transmission period and the waiting time period is equal to the current time period to obtain the period determination result;
[0024] When the period determination result is negative, the process of obtaining the current time period, historical transmission period and buffer occupancy value information corresponding to the current time period is triggered after a time period of 1;
[0025] When the period determination result is yes, the target data packet information to be transferred is determined from the data packet information to be transferred; the target data packet information to be transferred includes H target data packet information to be transferred; H is a positive integer not greater than N;
[0026] Delete the target data packet information to be transferred from the data packet information to be transferred;
[0027] The target data packet information to be transferred is sent to the routing buffer module to update the buffered data packet information;
[0028] Determine whether the data granule information to be transferred exists in the data packet information to be transferred, and obtain a first existence determination result;
[0029] When the first existence judgment result is yes, the process of obtaining the current time period, the historical transmission period and the buffer occupancy value information corresponding to the current time period is triggered after a time period of 1;
[0030] When the first existence judgment result is negative, the judgment process corresponding to the first existence judgment result ends.
[0031] As an optional implementation, in the first aspect of the present invention, the step of transmitting the buffered data packet information via a data output module to obtain target data granule information includes:
[0032] Obtain the output channel information for the current time period; the output channel information includes Q data output channel information; the output channel information corresponds to the data output module;
[0033] Based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information, target buffer output relationship pairs are determined; the target buffer output relationship pairs include Q target buffer output relationship pairs; the target buffer output relationship pairs represent the corresponding matching relationship between the routing buffer unit and the output virtual channel;
[0034] Based on the target buffer output relationship information, the buffer data granule information in the routing buffer unit is transmitted through the output virtual channel corresponding to the output channel information to obtain the Q target flow data granule information; where Q is a positive integer not greater than P;
[0035] Determine whether the data granule information to be transferred exists in the data packet information to be transferred, and obtain a second existence determination result;
[0036] When the second existence judgment result is yes, the process of obtaining the output channel information of the current time period is triggered;
[0037] When the second existence judgment result is negative, it is determined whether the buffer data granule information to be transferred exists in the routing buffer module to obtain the third existence judgment result;
[0038] When the third existence judgment result is yes, the process of obtaining the output channel information of the current time period is triggered;
[0039] When the third existence judgment result is negative, the judgment process corresponding to the third existence judgment result ends.
[0040] As an optional implementation, in a first aspect of the present invention, determining the target buffer output relationship pair information based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information includes:
[0041] All the highest priority routing buffer units are identified as X first routing buffer units;
[0042] Determine whether X is greater than Q to obtain the first buffer judgment result;
[0043] When the first buffer judgment result is negative, it is determined whether there is a routing buffer unit in the routing buffer module with a lower priority than the first routing buffer unit, and a second buffer judgment result is obtained.
[0044] When the second buffer determination result is yes, all the routing buffer units corresponding to the next priority of the priority corresponding to the first routing buffer unit are determined to be Y second routing buffer units;
[0045] When the result of the second buffer judgment is negative, the judgment process corresponding to the result of the second buffer judgment ends.
[0046] When the first buffer judgment result is yes, the judgment process corresponding to the first buffer judgment result ends;
[0047] The first routing buffer unit and the second routing buffer unit are integrated to obtain Z third routing buffer units;
[0048] The third routing buffer unit is assigned to the data output channel information in the output channel information to obtain initial buffer output relationship pair information; the initial buffer output relationship pair information includes the Q initial buffer output relationship pairs; each initial buffer output relationship pair includes at least one third routing buffer unit;
[0049] For any of the initial buffer output relationship pairs, determine whether the third routing buffer unit in the initial buffer output relationship pair is greater than 1, and obtain the third buffer determination result;
[0050] When the third buffer judgment result is yes, all the third routing buffer units in the initial buffer output relationship pair are sorted in ascending order according to the data stream number corresponding to the buffer data granule information of the routing buffer that is the first in the third routing buffer unit, to obtain the routing buffer unit sequence.
[0051] The third routing buffer unit, which is ranked first in the routing buffer unit sequence, is identified as the target routing buffer unit.
[0052] Remove all third routing buffer units from the initial buffer output relationship pair except for the third routing buffer unit corresponding to the target routing buffer unit to obtain the target buffer output relationship pair corresponding to the initial buffer output relationship pair.
[0053] As an optional implementation, in the first aspect of the present invention, the step of calculating and processing the target data granular information to obtain target disorder information includes:
[0054] Obtain the sequential absorption time period value;
[0055] Based on the target data particle information, the disordered absorption time period value is determined;
[0056] The target disorder degree information is obtained by calculating and processing the ordered absorption time period value and the disordered absorption time period value using the disorder degree model.
[0057] The disorder degree model is as follows:
[0058] LXD = SXSJ - LXSJ;
[0059] In the formula, LXD is the target disorder degree corresponding to the target disorder degree information; SXSJ is the sequential absorption time period value; and LXSJ is the disorder absorption time period value.
[0060] As an optional implementation, in the first aspect of the present invention, determining the out-of-order absorption time period value based on the target data granule information includes:
[0061] The target flow data granule information in the target data granule information is sorted in ascending order according to the data stream number corresponding to the target flow data granule information to obtain the data granule information sequence;
[0062] Obtain the initial out-of-order absorption time period value;
[0063] Starting with the second-ranked target flowing data particle information in the data particle information sequence, the corresponding target flowing data particle information is determined as the data particle information to be calculated according to the sequence number; the sequence number represents the sorting position of the target flowing data particle information in the data particle information sequence.
[0064] Determine whether the forwarding time period corresponding to the data granule information to be calculated is greater than the forwarding time period of the target flow data granule information corresponding to the previous sequence number of the target flow data granule information to be calculated, and obtain the forwarding time period determination result;
[0065] When the forwarding cycle determination result is negative, the initial out-of-order absorption time cycle value is incremented by 1 to obtain a new initial out-of-order absorption time cycle value.
[0066] When the forwarding cycle determination result is yes, the determination process corresponding to the forwarding cycle determination result ends.
[0067] Determine whether the target flow data particle information corresponding to the data particle information to be calculated is the last target flow data particle information in the data particle information sequence, and obtain the sequence determination result;
[0068] When the sequence judgment result is negative, the execution of determining the corresponding target flow data granule information as the data granule information to be calculated is triggered according to the sequence number.
[0069] When the sequence determination result is yes, the initial out-of-order absorption time period value is determined as the out-of-order absorption time period value.
[0070] A second aspect of this invention discloses a data processing apparatus for packet rate limiting, the apparatus comprising:
[0071] The acquisition module is used to acquire information about data packets to be transferred; the information about data packets to be transferred includes M pieces of information about data particles to be transferred; each piece of information about data particles to be transferred corresponds to a unique data stream number;
[0072] The first processing module is used to perform secondary flow-limiting transmission processing on the data packet information to be transferred to obtain target data particle information; the target data particle information includes the M target transfer data particle information; the target transfer data particle information includes the data stream number and forwarding time period;
[0073] The second processing module is used to calculate and process the target data granular information to obtain the target disorder information.
[0074] A third aspect of the present invention discloses another data processing apparatus for packet rate limiting, the apparatus comprising:
[0075] Memory containing executable program code;
[0076] A processor coupled to the memory;
[0077] The processor calls the executable program code stored in the memory to execute some or all of the steps in the data processing method for packet rate limiting disclosed in the first aspect of the present invention.
[0078] The fourth aspect of the present invention discloses a computer-readable storage medium storing computer instructions, which, when invoked, are used to perform some or all of the steps in the data processing method for packet rate limiting disclosed in the first aspect of the present invention.
[0079] Compared with the prior art, the embodiments of the present invention have the following beneficial effects:
[0080] In this embodiment of the invention, information on data packets to be forwarded is obtained; the information on data packets to be forwarded includes M pieces of information on data particles to be forwarded; each piece of information on data particles to be forwarded corresponds to a unique data flow number; secondary flow-limiting transmission processing is performed on the information on data packets to be forwarded to obtain target data particle information; the target data particle information includes M target forwarded data particle information; the target forwarded data particle information includes a data flow number and a forwarding time period; the target data particle information is calculated to obtain target out-of-order information. It is evident that this application facilitates queuing data packets at the endpoint for injection into the network, and adaptively adjusts the waiting time of data packets according to the network status, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order behavior. Attached Figure Description
[0081] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0082] Figure 1 This is a flowchart illustrating a data processing method for packet rate limiting disclosed in an embodiment of the present invention;
[0083] Figure 2 This is a schematic diagram of the structure of a data processing device for packet rate limiting disclosed in an embodiment of the present invention;
[0084] Figure 3 This is a schematic diagram of another data processing device for packet rate limiting disclosed in an embodiment of the present invention. Detailed Implementation
[0085] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0086] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, apparatus, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0087] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0088] This invention discloses a data processing method and apparatus for packet rate limiting, which facilitates packet queuing at the endpoint before injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery. These are described in detail below.
[0089] Example 1
[0090] Please see Figure 1 , Figure 1 This is a flowchart illustrating a data processing method for packet rate limiting disclosed in an embodiment of the present invention. Figure 1 The described data processing method for packet rate limiting is applied to network communication systems, such as local servers or cloud servers used for data processing management of packet rate limiting, etc., and the embodiments of the present invention are not limited thereto. Figure 1 As shown, the data processing method for packet rate limiting may include the following operations:
[0091] 101. Obtain information about the data packets to be transferred.
[0092] In this embodiment of the invention, the data packet information to be transferred includes M data granules to be transferred.
[0093] In this embodiment of the invention, each data granule information to be transferred corresponds to a unique data stream number.
[0094] 102. Perform secondary flow-limiting transmission processing on the data packet information to be transferred to obtain the target data particle information.
[0095] In this embodiment of the invention, the target data granule information includes M target flow data granule information.
[0096] In this embodiment of the invention, the target flow data granule information includes the data flow number and the forwarding time period.
[0097] 103. Calculate and process the target data granular information to obtain the target disorder information.
[0098] It should be noted that the aforementioned forwarding time period represents the current time period for sending buffered data granule information to be transferred.
[0099] It should be noted that the data processing method for packet rate limiting in this application can adaptively control the packet sending rate according to network conditions, causing packets to queue at the sending node. Simultaneously, a virtual channel allocation method based on dynamically adjusted priorities is employed, which can further mitigate packet out-of-order delivery.
[0100] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0101] In an optional embodiment, the above-described secondary rate-limiting transmission processing of the data packet information to be transferred to obtain target data granule information includes:
[0102] Obtain initial parameter information; the initial parameter information includes the waiting time period, packet flow hop count, buffer usage threshold, and network size value;
[0103] Based on the initial parameter information, the data packet information to be transferred is transmitted to the routing buffer module to update the buffered data packet information; the routing buffer module includes N routing buffer units; each routing buffer unit includes K routing buffers; the buffered data packet information includes N buffer data granules; each buffer data granule includes L buffer data granules to be transferred.
[0104] The buffered data packet information is transmitted and processed through the data output module to obtain the target data particle information; the data output module includes P output virtual channels.
[0105] It should be noted that the above packet hop count represents the total number of routing points that the data needs to pass through from the initial routing point to the destination routing point.
[0106] It should be noted that the above network size values represent the total number of routing points in the communication network.
[0107] It should be noted that each of the above-mentioned routing buffers can store one buffer data particle information to be transferred. Furthermore, the buffer data particles to be transferred are stored sequentially in the routing buffers according to the order in which they arrive at the routing buffer unit; that is, the earlier the particle arrives, the earlier it is stored. When the buffer data particle information to be transferred is transmitted out via the data output module, the routing buffer corresponding to that particle will be sequentially updated by the next particle in the sequence, and other buffer data particles will be sequentially updated and added to the earlier, vacant routing buffers.
[0108] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0109] In another optional embodiment, based on the initial parameter information, the data packet information to be routed is transmitted to the routing buffer module to update the buffered data packet information, including:
[0110] Determine whether the number of hops in a data packet flow is greater than half of the network size value, and obtain the numerical judgment result;
[0111] When the numerical judgment result is yes, the waiting time period is adjusted to 4, and the adjustment status of the waiting time period is set to locked.
[0112] When the numerical judgment result is negative, the adjustment status of the waiting time period will be changed to an adjustable status.
[0113] Obtain the current time period, historical transmission periods, and buffer occupancy information corresponding to the current time period; the buffer occupancy information includes N buffer occupancy values;
[0114] Determine whether the adjustment status of the waiting time period is locked, and obtain the status determination result;
[0115] When the state judgment result is yes, the judgment process corresponding to the state judgment result ends;
[0116] When the status judgment result is negative, the maximum buffer occupancy value in the buffer occupancy value information is determined as the target buffer occupancy value;
[0117] Determine whether the target buffer occupancy value is greater than the buffer occupancy threshold, and obtain the occupancy value determination result;
[0118] When the occupancy value judgment result is yes, the waiting time period will be adjusted to 4.
[0119] When the occupancy value judgment result is negative, the waiting time period will be adjusted to 0.
[0120] Determine whether the sum of the historical transmission cycle and the waiting time cycle equals the current time cycle to obtain the cycle determination result;
[0121] When the period judgment result is negative, the process is triggered after 1 time period to obtain the current time period, the historical transmission period and the buffer occupancy value corresponding to the current time period.
[0122] When the period determination result is yes, the target data packet information to be transferred is determined from the data packet information to be transferred; the target data packet information to be transferred includes H target data packet information to be transferred; H is a positive integer not greater than N;
[0123] Remove the target data packet information from the data packet information to be transferred;
[0124] Send the target data packet information to be routed to the routing buffer module and update the buffered data packet information;
[0125] Determine whether there is data granule information to be transferred in the data packet information to be transferred, and obtain the first existence determination result;
[0126] When the first existence judgment result is yes, the execution is triggered after 1 time period to obtain the current time period, the historical transmission period and the buffer occupancy value information corresponding to the current time period;
[0127] If the first existence judgment result is negative, the judgment process corresponding to the first existence judgment result ends.
[0128] It should be noted that the above-mentioned waiting time period adjustment status indicates whether the waiting time period can be adjusted and updated.
[0129] It should be noted that the above historical transmission period represents the time interval between the most recent time period when the target data packet information was sent to the routing buffer module and the current time period.
[0130] It should be noted that the buffer occupancy value mentioned above represents the ratio of the number of routing buffers storing buffered data granules to be transferred in a certain routing buffer unit to the total number of routing buffers in that routing buffer unit. Furthermore, in each time period, the buffer occupancy value changes dynamically as the data packet information to be transferred is transmitted to the routing buffer module and the buffered data packet information is transmitted via the data output module.
[0131] It should be noted that the above method of determining the target data packet information from the data packet information to be transferred means that when the number of data granules to be transferred in the data packet information to be transferred is greater than or equal to N, then N data granules to be transferred are randomly selected as the target data granules to be transferred from the data packet information to be transferred; when the number of data granules to be transferred in the data packet information to be transferred is less than N, then all data granules to be transferred in the data packet information to be transferred are selected as the target data granules to be transferred.
[0132] It should be noted that the above-mentioned sending of the target data packet information to the routing buffer module and updating the buffer data packet information involves allocating the target data granules from the target data packet information to a routing buffer unit, and then storing the target data granules in the empty routing buffers of the routing buffer unit, thereby updating the buffer data granules corresponding to each routing buffer unit. For example, when the target data granule with data number 3 is allocated to the routing buffer unit with buffer unit number 1, and this routing buffer unit already stores the buffer data granules (data granules with data number 2 and data granules with data number 5), then the updated buffer data granule information will be (data granules with data number 2, data granules with data number 5, and data granules with data number 3).
[0133] Because the congestion levels of multiple paths selected by adaptive routing vary significantly, later-sent data packets arrive at the destination node earlier. If, at a given moment, the congestion levels of multiple paths between the source and destination nodes in the network are similar, even adaptive routing algorithms can significantly reduce the out-of-order nature of data packets. Therefore, when "congestion bias" exists in the network, while adaptive routing can balance the load, it leads to disordered data packet order. This application dynamically adjusts the waiting time period by adjusting the packet hop count, buffer occupancy threshold, and network size value to allow data packets to wait at the end node rather than be injected into the network, thereby mitigating the "congestion bias" problem between different paths and alleviating the out-of-order nature of data transmission. Furthermore, the aforementioned congestion bias indicates that the amount of pending data granularity in a certain routing buffer unit is significantly greater than that in other routing buffer units.
[0134] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0135] In another optional embodiment, the buffered data packet information is transmitted and processed via a data output module to obtain target data granule information, including:
[0136] Obtain the output channel information for the current time period; the output channel information includes Q data output channel information; the output channel information corresponds to the data output module;
[0137] Based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information, the target buffer output relationship pair information is determined; the target buffer output relationship pair information includes Q target buffer output relationship pairs; the target buffer output relationship pair represents the corresponding matching relationship between the routing buffer unit and the output virtual channel;
[0138] Based on the target buffer output relationship information, the buffer data granule information in the routing buffer unit is transmitted through the output virtual channel corresponding to the output channel information to obtain Q target flow data granule information; Q is a positive integer not greater than P;
[0139] Determine whether there is data granule information to be transferred in the data packet information to be transferred, and obtain the second existence determination result;
[0140] When the second condition is true, the process of obtaining the output channel information for the current time period is triggered.
[0141] If the second existence judgment result is negative, determine whether there is buffer data granule information to be transferred in the routing buffer module to obtain the third existence judgment result;
[0142] When the third condition is true, the process of obtaining the output channel information for the current time period is triggered.
[0143] If the result of the third existence judgment is negative, the judgment process corresponding to the result of the third existence judgment ends.
[0144] It should be noted that the above data output channel information represents the output virtual channel that currently has no data transmission task.
[0145] It should be noted that the priority of the aforementioned routing buffer units is dynamically adjusted. For example, the virtual channel allocator records the time period of the last transmission to the data output module for each occupied routing buffer unit as the historical transmission time period. If the historical transmission time period of a routing buffer unit is greater than twice N, then the priority of that routing buffer unit is adjusted to the highest priority, meaning that the data granules to be transferred in that routing buffer unit will be transmitted first in the next time period.
[0146] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0147] In another optional embodiment, the target buffer output relationship pair information is determined based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information, including:
[0148] All the highest priority routing buffer units are designated as X first routing buffer units;
[0149] Determine if X is greater than Q to obtain the first buffer judgment result;
[0150] If the first buffer judgment result is negative, it is determined whether there is a routing buffer unit in the routing buffer module with a lower priority than the first routing buffer unit, and the second buffer judgment result is obtained.
[0151] When the second buffer determination result is yes, determine that all routing buffer units corresponding to the next priority of the priority corresponding to the first routing buffer unit are Y second routing buffer units;
[0152] When the result of the second buffer judgment is negative, the judgment process corresponding to the result of the second buffer judgment ends.
[0153] If the first buffer judgment result is yes, the judgment process corresponding to the first buffer judgment result ends;
[0154] The first and second routing buffer units are integrated to obtain Z third routing buffer units;
[0155] The data output channel information in the output channel information is allocated to the third routing buffer unit to obtain the initial buffer output relationship pair information; the initial buffer output relationship pair information includes Q initial buffer output relationship pairs; each initial buffer output relationship pair includes at least 1 third routing buffer unit;
[0156] For any initial buffer output relationship pair, determine whether the third routing buffer unit in the initial buffer output relationship pair is greater than 1, and obtain the third buffer judgment result;
[0157] When the third buffer judgment result is yes, all the third routing buffer units in the initial buffer output relationship pair are sorted in ascending order according to the data flow number corresponding to the buffer data granule information of the routing buffer at the beginning of the third routing buffer unit, to obtain the routing buffer unit sequence.
[0158] The third route buffer unit, which is first in the sequence of route buffer units, is identified as the target route buffer unit.
[0159] Remove all third-party routing buffer units from the initial buffer output pair except for the third-party routing buffer unit corresponding to the target routing buffer unit to obtain the target buffer output pair corresponding to the initial buffer output pair.
[0160] It should be noted that Z above is the sum of X and Y.
[0161] It should be noted that the data output channel information in the above-mentioned allocation of the third routing buffer unit to the output channel information is completed by the sequence-aware virtual channel allocator.
[0162] It should be noted that the buffer data granule information corresponding to the first routing buffer in the third routing buffer unit mentioned above is the buffer data granule information that arrives first in the third routing buffer unit.
[0163] It should be noted that sorting all the third routing buffer units in the initial buffer output relationship pair according to the data flow number corresponding to the buffer data granule information of the first routing buffer unit in the third routing buffer unit in ascending order, and then determining the third routing buffer unit that ranks first in the routing buffer unit sequence as the target routing buffer unit, can avoid the problem of data packet out-of-order occurrence when data packets belonging to the same flow simultaneously request the same output port (output virtual channel), as the virtual channel allocator does not consider the order of the data packets.
[0164] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0165] In an optional embodiment, the above-described calculation and processing of the target data granular information to obtain the target disorder information includes:
[0166] Obtain the sequential absorption time period value;
[0167] Based on the target data granular information, the disordered absorption time period value is determined;
[0168] The disorder degree model is used to calculate and process the sequential absorption time period value and the disorder absorption time period value to obtain the target disorder degree information;
[0169] The disorder degree model is as follows:
[0170] LXD = SXSJ - LXSJ;
[0171] In the formula, LXD is the target disorder degree corresponding to the target disorder degree information; SXSJ is the sequential absorption time period value; and LXSJ is the disorder absorption time period value.
[0172] It should be noted that the above sequential absorption time period value represents the time period required for data information to be transferred to the next routing point in sequence according to the data stream number.
[0173] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0174] In another optional embodiment, the out-of-order absorption time period value is determined based on the target data granular information, including:
[0175] The target flow data granules in the target data granule information are sorted in ascending order according to the data stream number corresponding to the target flow data granule information to obtain the data granule information sequence;
[0176] Obtain the initial out-of-order absorption time period value;
[0177] Starting with the second-ranked target flow data particle information in the data particle information sequence, the corresponding target flow data particle information is determined as the data particle information to be calculated according to the sequence number; the sequence number represents the sorting position of the target flow data particle information in the data particle information sequence.
[0178] Determine whether the forwarding time period corresponding to the data granule information to be calculated is greater than the forwarding time period of the target flow data granule information corresponding to the previous sequence number of the target flow data granule information to be calculated, and obtain the forwarding time period judgment result.
[0179] When the forwarding cycle determination result is negative, the initial out-of-order absorption time cycle value is incremented by 1 to obtain a new initial out-of-order absorption time cycle value.
[0180] When the forwarding cycle judgment result is yes, the judgment process corresponding to the forwarding cycle judgment result ends;
[0181] Determine whether the target flow data particle information corresponding to the data particle information to be calculated is the last target flow data particle information in the data particle information sequence, and obtain the sequence judgment result;
[0182] When the sequence judgment result is negative, the execution is triggered to determine the corresponding target flow data granule information as the data granule information to be calculated according to the sequence number.
[0183] When the sequence judgment result is yes, the initial out-of-order absorption time period value is determined as the out-of-order absorption time period value.
[0184] It should be noted that the initial out-of-order absorption time period value is 0.
[0185] It should be noted that the process of determining the target flow data grains to be calculated sequentially based on the sequence number, starting from the second-ranked target flow data grain in the data grain information sequence, occurs in each loop. Specifically, the target flow data grain corresponding to the next sequence number corresponding to the current sequence number is determined as the data grain to be calculated. For example, if the data grain information sequence is (A1 - target flow data grain 1, A2 - target flow data grain 2, A3 - target flow data grain 3, A4 - target flow data grain 4, A5 - target flow data grain 5), and the sequence number corresponding to the current loop is A3, then when determining the target flow data grains to be calculated sequentially based on the sequence number again, the target flow data grain 4 corresponding to A4 is determined as the data grain to be calculated. Furthermore, in the first loop, the target flow data grain 2 corresponding to sequence number A2 is determined as the data grain to be calculated.
[0186] As can be seen, implementing the data processing method for packet rate limiting described in the embodiments of the present invention is beneficial for queuing packets at the end and waiting to be injected into the network, and for adaptively adjusting the waiting time of packets according to the network status, thereby giving full play to the advantages of adaptive routing (such as congestion relief, load balancing and fault tolerance), while minimizing the degree of out-of-order delivery.
[0187] Example 2
[0188] Please see Figure 2 , Figure 2 This is a schematic diagram of a data processing device for packet rate limiting disclosed in an embodiment of the present invention. Figure 2 The described apparatus can be applied to network communication systems, such as local servers or cloud servers for data processing management and packet rate limiting, etc., and the embodiments of the present invention are not limited thereto. Figure 2 As shown, the device may include:
[0189] The acquisition module 201 is used to acquire information about the data packets to be transferred; the information about the data packets to be transferred includes M pieces of information about data particles to be transferred; each piece of information about data particles to be transferred corresponds to a unique data stream number;
[0190] The first processing module 202 is used to perform secondary flow-limiting transmission processing on the data packet information to be transferred to obtain target data particle information; the target data particle information includes M target data particle information; the target data particle information includes data stream number and forwarding time period;
[0191] The second processing module 203 is used to calculate and process the target data granular information to obtain the target disorder information.
[0192] It is evident that implementation Figure 2 The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0193] In another alternative embodiment, such as Figure 2 As shown, the first processing module 202 performs secondary rate-limiting transmission processing on the data packet information to be transferred, obtaining target data granule information, including:
[0194] Obtain initial parameter information; the initial parameter information includes the waiting time period, packet flow hop count, buffer usage threshold, and network size value;
[0195] Based on the initial parameter information, the data packet information to be transferred is transmitted to the routing buffer module to update the buffered data packet information; the routing buffer module includes N routing buffer units; each routing buffer unit includes K routing buffers; the buffered data packet information includes N buffer data granules; each buffer data granule includes L buffer data granules to be transferred.
[0196] The buffered data packet information is transmitted and processed through the data output module to obtain the target data particle information; the data output module includes P output virtual channels.
[0197] It is evident that implementation Figure 2 The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0198] In yet another alternative embodiment, such as Figure 2 As shown, the first processing module 202, based on the initial parameter information, transmits the data packet information to be routed to the routing buffer module to update the buffered data packet information, including:
[0199] Determine whether the number of hops in a data packet flow is greater than half of the network size value, and obtain the numerical judgment result;
[0200] When the numerical judgment result is yes, the waiting time period is adjusted to 4, and the adjustment status of the waiting time period is set to locked.
[0201] When the numerical judgment result is negative, the adjustment status of the waiting time period will be changed to an adjustable status.
[0202] Obtain the current time period, historical transmission periods, and buffer occupancy information corresponding to the current time period; the buffer occupancy information includes N buffer occupancy values;
[0203] Determine whether the adjustment status of the waiting time period is locked, and obtain the status determination result;
[0204] When the state judgment result is yes, the judgment process corresponding to the state judgment result ends;
[0205] When the status judgment result is negative, the maximum buffer occupancy value in the buffer occupancy value information is determined as the target buffer occupancy value;
[0206] Determine whether the target buffer occupancy value is greater than the buffer occupancy threshold, and obtain the occupancy value determination result;
[0207] When the occupancy value judgment result is yes, the waiting time period will be adjusted to 4.
[0208] When the occupancy value judgment result is negative, the waiting time period will be adjusted to 0.
[0209] Determine whether the sum of the historical transmission cycle and the waiting time cycle equals the current time cycle to obtain the cycle determination result;
[0210] When the period judgment result is negative, the process is triggered after 1 time period to obtain the current time period, the historical transmission period and the buffer occupancy value corresponding to the current time period.
[0211] When the period determination result is yes, the target data packet information to be transferred is determined from the data packet information to be transferred; the target data packet information to be transferred includes H target data packet information to be transferred; H is a positive integer not greater than N;
[0212] Remove the target data packet information from the data packet information to be transferred;
[0213] Send the target data packet information to be routed to the routing buffer module and update the buffered data packet information;
[0214] Determine whether there is data granule information to be transferred in the data packet information to be transferred, and obtain the first existence determination result;
[0215] When the first existence judgment result is yes, the execution is triggered after 1 time period to obtain the current time period, the historical transmission period and the buffer occupancy value information corresponding to the current time period;
[0216] If the first existence judgment result is negative, the judgment process corresponding to the first existence judgment result ends.
[0217] It is evident that implementation Figure 2 The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0218] In yet another alternative embodiment, such as Figure 2 As shown, the first processing module 202 transmits the buffered data packet information through the data output module to obtain the target data particle information, including:
[0219] Obtain the output channel information for the current time period; the output channel information includes Q data output channel information; the output channel information corresponds to the data output module;
[0220] Based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information, the target buffer output relationship pair information is determined; the target buffer output relationship pair information includes Q target buffer output relationship pairs; the target buffer output relationship pair represents the corresponding matching relationship between the routing buffer unit and the output virtual channel;
[0221] Based on the target buffer output relationship information, the buffer data granule information in the routing buffer unit is transmitted through the output virtual channel corresponding to the output channel information to obtain Q target flow data granule information; Q is a positive integer not greater than P;
[0222] Determine whether there is data granule information to be transferred in the data packet information to be transferred, and obtain the second existence determination result;
[0223] When the second condition is true, the process of obtaining the output channel information for the current time period is triggered.
[0224] If the second existence judgment result is negative, determine whether there is buffer data granule information to be transferred in the routing buffer module to obtain the third existence judgment result;
[0225] When the third condition is true, the process of obtaining the output channel information for the current time period is triggered.
[0226] If the result of the third existence judgment is negative, the judgment process corresponding to the result of the third existence judgment ends.
[0227] It is evident that implementation Figure 2The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0228] In yet another alternative embodiment, such as Figure 2 As shown, the first processing module 202 determines the target buffer output relationship pair information based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information, including:
[0229] All the highest priority routing buffer units are designated as X first routing buffer units;
[0230] Determine if X is greater than Q to obtain the first buffer judgment result;
[0231] If the first buffer judgment result is negative, it is determined whether there is a routing buffer unit in the routing buffer module with a lower priority than the first routing buffer unit, and the second buffer judgment result is obtained.
[0232] When the second buffer determination result is yes, determine that all routing buffer units corresponding to the next priority of the priority corresponding to the first routing buffer unit are Y second routing buffer units;
[0233] When the result of the second buffer judgment is negative, the judgment process corresponding to the result of the second buffer judgment ends.
[0234] If the first buffer judgment result is yes, the judgment process corresponding to the first buffer judgment result ends;
[0235] The first and second routing buffer units are integrated to obtain Z third routing buffer units;
[0236] The data output channel information in the output channel information is allocated to the third routing buffer unit to obtain the initial buffer output relationship pair information; the initial buffer output relationship pair information includes Q initial buffer output relationship pairs; each initial buffer output relationship pair includes at least 1 third routing buffer unit;
[0237] For any initial buffer output relationship pair, determine whether the third routing buffer unit in the initial buffer output relationship pair is greater than 1, and obtain the third buffer judgment result;
[0238] When the third buffer judgment result is yes, all the third routing buffer units in the initial buffer output relationship pair are sorted in ascending order according to the data flow number corresponding to the buffer data granule information of the routing buffer at the beginning of the third routing buffer unit, to obtain the routing buffer unit sequence.
[0239] The third route buffer unit, which is first in the sequence of route buffer units, is identified as the target route buffer unit.
[0240] Remove all third-party routing buffer units from the initial buffer output pair except for the third-party routing buffer unit corresponding to the target routing buffer unit to obtain the target buffer output pair corresponding to the initial buffer output pair.
[0241] It is evident that implementation Figure 2 The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0242] In yet another alternative embodiment, such as Figure 2 As shown, the second processing module 203 calculates and processes the target data granular information to obtain the target disorder information, including:
[0243] Obtain the sequential absorption time period value;
[0244] Based on the target data granular information, the disordered absorption time period value is determined;
[0245] The disorder degree model is used to calculate and process the sequential absorption time period value and the disorder absorption time period value to obtain the target disorder degree information;
[0246] The disorder degree model is as follows:
[0247] LXD = SXSJ - LXSJ;
[0248] In the formula, LXD is the target disorder degree corresponding to the target disorder degree information; SXSJ is the sequential absorption time period value; and LXSJ is the disorder absorption time period value.
[0249] It is evident that implementation Figure 2 The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0250] In yet another alternative embodiment, such as Figure 2 As shown, the second processing module 203 determines the out-of-order absorption time period value based on the target data granule information, including:
[0251] The target flow data granules in the target data granule information are sorted in ascending order according to the data stream number corresponding to the target flow data granule information to obtain the data granule information sequence;
[0252] Obtain the initial out-of-order absorption time period value;
[0253] Starting with the second-ranked target flow data particle information in the data particle information sequence, the corresponding target flow data particle information is determined as the data particle information to be calculated according to the sequence number; the sequence number represents the sorting position of the target flow data particle information in the data particle information sequence.
[0254] Determine whether the forwarding time period corresponding to the data granule information to be calculated is greater than the forwarding time period of the target flow data granule information corresponding to the previous sequence number of the target flow data granule information to be calculated, and obtain the forwarding time period judgment result.
[0255] When the forwarding cycle determination result is negative, the initial out-of-order absorption time cycle value is incremented by 1 to obtain a new initial out-of-order absorption time cycle value.
[0256] When the forwarding cycle judgment result is yes, the judgment process corresponding to the forwarding cycle judgment result ends;
[0257] Determine whether the target flow data particle information corresponding to the data particle information to be calculated is the last target flow data particle information in the data particle information sequence, and obtain the sequence judgment result;
[0258] When the sequence judgment result is negative, the execution is triggered to determine the corresponding target flow data granule information as the data granule information to be calculated according to the sequence number.
[0259] When the sequence judgment result is yes, the initial out-of-order absorption time period value is determined as the out-of-order absorption time period value.
[0260] It is evident that implementation Figure 2 The described data processing apparatus for packet rate limiting facilitates the queuing of packets at the end for injection into the network and adaptively adjusts the packet waiting time according to network conditions, thereby fully leveraging the advantages of adaptive routing (e.g., congestion mitigation, load balancing, and fault tolerance) while minimizing out-of-order delivery.
[0261] Example 3
[0262] Please see Figure 3 , Figure 3 This is a schematic diagram of another data processing device for packet rate limiting disclosed in an embodiment of the present invention. Figure 3The described apparatus can be applied to network communication systems, such as local servers or cloud servers for data processing management and packet rate limiting, etc., and the embodiments of the present invention are not limited thereto. Figure 3 As shown, the device may include:
[0263] Memory 301 storing executable program code;
[0264] Processor 302 coupled to memory 301;
[0265] The processor 302 calls the executable program code stored in the memory 301 to execute the steps in the data processing method for packet rate limiting described in Embodiment 1.
[0266] Example 4
[0267] This invention discloses a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform the steps in the data processing method for packet flow limiting described in Embodiment 1.
[0268] Example 5
[0269] This invention discloses a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to perform the steps in the data processing method for packet rate limiting described in Embodiment 1.
[0270] The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0271] Through the detailed description of the above embodiments, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, including read-only memory (ROM), random access memory (RAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), one-time programmable read-only memory (OTPROM), electrically-Erasable Programmable Read-Only Memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, disk storage, magnetic tape storage, or any other computer-readable medium that can be used to carry or store data.
[0272] Finally, it should be noted that the data processing method and apparatus for data packet rate limiting disclosed in the embodiments of the present invention are merely preferred embodiments of the present invention and are only used to illustrate the technical solutions of the present invention, not to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data processing method for packet rate limiting, characterized in that, The method includes: Obtain the data packet information to be transferred; the data packet information to be transferred includes M data particles to be transferred; each data particle corresponds to a unique data stream number; The data packet information to be transferred is subjected to secondary rate-limiting transmission processing to obtain target data particle information; the target data particle information includes M target transfer data particle information; the target transfer data particle information includes the data stream number and forwarding time period; The target data granular information is processed to obtain the target disorder information; The step of performing secondary rate-limiting transmission processing on the data packet information to be transferred to obtain target data granule information includes: Obtain initial parameter information; the initial parameter information includes waiting time period, data packet hop count, buffer occupancy threshold, and network size value; Based on the initial parameter information, the data packet information to be transferred is transmitted to the routing buffer module to update the buffered data packet information; the routing buffer module includes N routing buffer units; each routing buffer unit includes K routing buffers; the buffered data packet information includes N buffered data granules; each buffered data granule includes L buffered data granules to be transferred. The buffered data packet information is transmitted and processed via the data output module to obtain the target data particle information; the data output module includes P output virtual channels.
2. The data processing method for packet rate limiting according to claim 1, characterized in that, The step of transmitting the data packet information to be routed to the routing buffer module based on the initial parameter information to update the buffered data packet information includes: Determine whether the number of hops in the data packet flow is greater than half of the network size value to obtain a numerical judgment result; When the numerical judgment result is yes, the waiting time period is adjusted to 4, and the adjustment status of the waiting time period is set to locked. When the numerical judgment result is negative, the adjustment state of the waiting time period is adjusted to an adjustable state; Obtain the current time period, the historical transmission period, and the buffer occupancy information corresponding to the current time period; the buffer occupancy information includes N buffer occupancy values. Determine whether the adjustment state of the waiting time period is in a locked state, and obtain the state determination result; When the state judgment result is yes, the judgment process corresponding to the state judgment result ends; When the state judgment result is negative, the largest buffer occupancy value in the buffer occupancy value information is determined as the target buffer occupancy value; Determine whether the target buffer occupancy value is greater than the buffer occupancy threshold, and obtain the occupancy value determination result; When the occupancy value determination result is yes, the waiting time period is adjusted to 4; When the occupancy value determination result is negative, the waiting time period is adjusted to 0; Determine whether the sum of the historical transmission period and the waiting time period is equal to the current time period to obtain the period determination result; When the period determination result is negative, the process of obtaining the current time period, historical transmission period and buffer occupancy value information corresponding to the current time period is triggered after a time period of 1; When the period determination result is yes, the target data packet information to be transferred is determined from the data packet information to be transferred; the target data packet information to be transferred includes H target data packet information to be transferred; H is a positive integer not greater than N; Delete the target data packet information to be transferred from the data packet information to be transferred; The target data packet information to be transferred is sent to the routing buffer module to update the buffered data packet information; Determine whether the data granule information to be transferred exists in the data packet information to be transferred, and obtain a first existence determination result; When the first existence judgment result is yes, the process of obtaining the current time period, the historical transmission period and the buffer occupancy value information corresponding to the current time period is triggered after a time period of 1; When the first existence judgment result is negative, the judgment process corresponding to the first existence judgment result ends.
3. The data processing method for packet rate limiting according to claim 1, characterized in that, The step of transmitting the buffered data packet information via the data output module to obtain the target data particle information includes: Obtain the output channel information for the current time period; the output channel information includes Q data output channel information; the output channel information corresponds to the data output module; Based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information, target buffer output relationship pairs are determined; the target buffer output relationship pairs include Q target buffer output relationship pairs; the target buffer output relationship pairs represent the corresponding matching relationship between the routing buffer unit and the output virtual channel; Based on the target buffer output relationship information, the buffer data granule information in the routing buffer unit is transmitted through the output virtual channel corresponding to the output channel information to obtain Q target flow data granule information; Q is a positive integer not greater than P; Determine whether the data granule information to be transferred exists in the data packet information to be transferred, and obtain a second existence determination result; When the second existence judgment result is yes, the process of obtaining the output channel information of the current time period is triggered; When the second existence judgment result is negative, it is determined whether the buffer data granule information to be transferred exists in the routing buffer module to obtain the third existence judgment result; When the third existence judgment result is yes, the process of obtaining the output channel information of the current time period is triggered; When the third existence judgment result is negative, the judgment process corresponding to the third existence judgment result ends.
4. The data processing method for packet rate limiting according to claim 3, characterized in that, The determination of the target buffer output relationship pair information based on the priority of the routing buffer unit, the data stream number corresponding to the buffer data granule information in the buffer data packet information, and the output channel information includes: All the highest priority routing buffer units are identified as X first routing buffer units; Determine if X is greater than Q to obtain the first buffer judgment result; When the first buffer judgment result is negative, it is determined whether there is a routing buffer unit in the routing buffer module with a lower priority than the first routing buffer unit, and a second buffer judgment result is obtained. When the second buffer determination result is yes, all the routing buffer units corresponding to the next priority of the priority corresponding to the first routing buffer unit are determined to be Y second routing buffer units; When the result of the second buffer judgment is negative, the judgment process corresponding to the result of the second buffer judgment ends. When the first buffer judgment result is yes, the judgment process corresponding to the first buffer judgment result ends; The first routing buffer unit and the second routing buffer unit are integrated to obtain Z third routing buffer units; The third routing buffer unit is assigned to the data output channel information in the output channel information to obtain initial buffer output relationship pair information; the initial buffer output relationship pair information includes Q initial buffer output relationship pairs; each initial buffer output relationship pair includes at least one third routing buffer unit; For any of the initial buffer output relationship pairs, determine whether the third routing buffer unit in the initial buffer output relationship pair is greater than 1, and obtain the third buffer determination result; When the third buffer judgment result is yes, all the third routing buffer units in the initial buffer output relationship pair are sorted in ascending order according to the data stream number corresponding to the buffer data granule information of the routing buffer that is the first in the third routing buffer unit, to obtain the routing buffer unit sequence. The third routing buffer unit, which is ranked first in the routing buffer unit sequence, is identified as the target routing buffer unit. Remove all third routing buffer units from the initial buffer output relationship pair except for the third routing buffer unit corresponding to the target routing buffer unit to obtain the target buffer output relationship pair corresponding to the initial buffer output relationship pair.
5. The data processing method for packet rate limiting according to claim 1, characterized in that, The step of calculating and processing the target data granular information to obtain target disorder information includes: Obtain the sequential absorption time period value; Based on the target data particle information, the disordered absorption time period value is determined; The target disorder degree information is obtained by calculating and processing the ordered absorption time period value and the disordered absorption time period value using the disorder degree model. The disorder degree model is as follows: ; In the formula, The target disorder degree is the target disorder degree corresponding to the target disorder degree information; The sequential absorption time period value; The time period value for the disordered absorption is given.
6. The data processing method for packet rate limiting according to claim 5, characterized in that, The step of determining the disordered absorption time period value based on the target data granule information includes: The target flow data granule information in the target data granule information is sorted in ascending order according to the data stream number corresponding to the target flow data granule information to obtain the data granule information sequence; Obtain the initial out-of-order absorption time period value; Starting with the second-ranked target flowing data particle information in the data particle information sequence, the corresponding target flowing data particle information is determined as the data particle information to be calculated according to the sequence number; the sequence number represents the sorting position of the target flowing data particle information in the data particle information sequence. Determine whether the forwarding time period corresponding to the data granule information to be calculated is greater than the forwarding time period of the target flow data granule information corresponding to the previous sequence number of the target flow data granule information to be calculated, and obtain the forwarding time period determination result; When the forwarding cycle determination result is negative, the initial out-of-order absorption time cycle value is incremented by 1 to obtain a new initial out-of-order absorption time cycle value. When the forwarding cycle determination result is yes, the determination process corresponding to the forwarding cycle determination result ends. Determine whether the target flow data particle information corresponding to the data particle information to be calculated is the last target flow data particle information in the data particle information sequence, and obtain the sequence determination result; When the sequence judgment result is negative, the execution of determining the corresponding target flow data granule information as the data granule information to be calculated is triggered according to the sequence number. When the sequence determination result is yes, the initial out-of-order absorption time period value is determined as the out-of-order absorption time period value.
7. A data processing apparatus for packet rate limiting, characterized in that, The device includes: The acquisition module is used to acquire information about data packets to be transferred; the information about data packets to be transferred includes M pieces of information about data particles to be transferred; each piece of information about data particles to be transferred corresponds to a unique data stream number; The first processing module is used to perform secondary flow-limiting transmission processing on the data packet information to be transferred to obtain target data particle information; the target data particle information includes M target transfer data particle information; the target transfer data particle information includes the data stream number and forwarding time period; The second processing module is used to calculate and process the target data granular information to obtain the target disorder information; The step of performing secondary rate-limiting transmission processing on the data packet information to be transferred to obtain target data granule information includes: Obtain initial parameter information; the initial parameter information includes waiting time period, data packet hop count, buffer occupancy threshold, and network size value; Based on the initial parameter information, the data packet information to be transferred is transmitted to the routing buffer module to update the buffered data packet information; the routing buffer module includes N routing buffer units; each routing buffer unit includes K routing buffers; the buffered data packet information includes N buffered data granules; each buffered data granule includes L buffered data granules to be transferred. The buffered data packet information is transmitted and processed via the data output module to obtain the target data particle information; the data output module includes P output virtual channels.
8. A data processing apparatus for packet rate limiting, characterized in that, The device includes: Memory containing executable program code; A processor coupled to the memory; The processor calls the executable program code stored in the memory to execute the data processing method for packet rate limiting as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions, which, when invoked, are used to perform the data processing method for packet rate limiting as described in any one of claims 1-6.