Method and apparatus for flow scheduling for industrial switches

By employing a multi-priority queue scheduling method and dynamic bandwidth allocation, the problem of high-priority queue bandwidth monopoly in industrial switches is solved, ensuring high latency requirements and providing elastic bandwidth for other queues, thereby reducing overall data transmission latency.

CN120811997BActive Publication Date: 2026-05-15BEIJING BORUIXIANGLUN SCI TECH DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING BORUIXIANGLUN SCI TECH DEV CO LTD
Filing Date
2025-09-04
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing industrial switches in power systems have failed to effectively guarantee the transmission of service signals with extremely high real-time requirements, and high-priority queues are prone to bandwidth monopolies, affecting the transmission of other necessary signals.

Method used

A multi-priority queue scheduling method is adopted, which allocates different bandwidths to queues of different priorities and allocates temporary bandwidth to low-priority queues when the bandwidth of high-priority queues is idle. By dynamically adjusting and predicting traffic values, bandwidth allocation is optimized to achieve flexible bandwidth scheduling.

Benefits of technology

It achieves latency guarantee for high-priority queues with high latency requirements, while providing elastic bandwidth for other priority queues, reducing overall data transmission latency and improving the data traffic efficiency of industrial switches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120811997B_ABST
    Figure CN120811997B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of flow scheduling, and discloses a flow scheduling method and device for an industrial switch, which comprises the following steps: obtaining a first priority queue and a second priority queue to be transmitted by the industrial switch, wherein the transmission priority of the first priority queue is higher than that of the second priority queue; configuring a first bandwidth for the first priority queue and a second bandwidth for the second priority queue; in the transmission process, when the occupation rate of the first bandwidth is less than a first preset threshold, determining the residual bandwidth corresponding to the first bandwidth; and configuring a temporary bandwidth for the second priority queue based on the residual bandwidth. Through priority sorting and reasonable bandwidth configuration on data packets, the method can effectively guarantee the effective transmission of service signals with extremely high real-time requirements in a power system, and can effectively recover the bandwidth of the highest priority queue when the bandwidth is idle, thereby guaranteeing the high-speed transmission of other queues.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to the field of traffic scheduling technology, and specifically to a traffic scheduling method and apparatus for industrial switches. Background Technology

[0002] With the rapid development of the power industry and the advancement of new power system construction, higher demands are being placed on the performance, reliability, and security of power communication networks. Currently, the industrial switches used in power systems have numerous problems. For example, the functional design of existing industrial switches fails to fully consider the large number of real-time services in the power industry, such as the transmission of power dispatch instructions and relay protection signals, which need to be accurately transmitted within a very short time to ensure timely switching of faulty lines and protect grid security. Summary of the Invention

[0003] In view of the above-mentioned defects or deficiencies in the prior art, it is desirable to provide a traffic scheduling method and apparatus for industrial switches. By prioritizing data packets and configuring reasonable bandwidth, it can effectively ensure the effective transmission of business signals with extremely high real-time requirements in the power system. At the same time, it can effectively reclaim bandwidth when there is idle bandwidth in the highest priority queue, ensuring high-speed transmission of other priority queues.

[0004] In a first aspect, embodiments of this application provide a traffic scheduling method for industrial switches, comprising:

[0005] Obtain the first priority queue and the second priority queue to be transmitted from the industrial switch, wherein the transmission priority of the first priority queue is higher than that of the second priority queue;

[0006] Configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue; the first bandwidth is greater than the second bandwidth.

[0007] During transmission, when the occupancy rate of the first bandwidth is less than a first preset threshold, the remaining bandwidth corresponding to the first bandwidth is determined.

[0008] Configure temporary bandwidth for the second priority queue based on the remaining bandwidth.

[0009] In some embodiments, the priority queue further includes a third priority queue, the third priority queue being configured with a third bandwidth, wherein the second bandwidth is greater than the third bandwidth, and the method further includes:

[0010] Determine whether the actual bandwidth requirement of the second priority queue is greater than the actual configured bandwidth, wherein the actual configured bandwidth includes the second bandwidth and the temporary bandwidth;

[0011] If the actual bandwidth demand of the second priority queue is greater than the actual configured bandwidth, then the bandwidth excess range corresponding to the second priority queue is determined based on the actual bandwidth demand and the actual configured bandwidth.

[0012] The bandwidth of the third priority queue is limited based on the bandwidth excess.

[0013] In some embodiments, the step of limiting the bandwidth of the third priority queue based on the bandwidth excess includes:

[0014] The bandwidth limit weight of the third priority queue is determined based on the bandwidth excess range.

[0015] The third bandwidth is limited based on the bandwidth limitation weight.

[0016] In some embodiments, it also includes:

[0017] Obtain the restricted bandwidth to be restored and the preset recovery time window of the third priority queue;

[0018] Based on the bandwidth to be restored and the restoration time window, the third bandwidth is dynamically restored according to the update frequency corresponding to the restoration time window.

[0019] In some embodiments, configuring a first bandwidth for the first priority queue, a second bandwidth for the second priority queue, and a third bandwidth for the third priority queue includes:

[0020] For each priority queue, obtain the horizontal and trend components of the current data traffic;

[0021] The predicted flow value is determined based on the horizontal and trend components.

[0022] Based on the predicted traffic value, determine the bandwidth allocation weight corresponding to the priority queue;

[0023] Based on the bandwidth allocation weight, bandwidth is configured for each priority queue.

[0024] In some embodiments, it also includes:

[0025] During the transmission process, the corresponding dynamic time slots are determined based on the queue depths of the first priority queue, the second priority queue, and the third priority queue, respectively.

[0026] The first priority queue, the second priority queue, and the third priority queue are sent according to the dynamic time slot.

[0027] Secondly, embodiments of this application provide a traffic scheduling device for industrial switches, comprising:

[0028] The acquisition module is used to acquire the first priority queue and the second priority queue to be transmitted from the industrial switch, wherein the transmission priority of the first priority queue is higher than that of the second priority queue.

[0029] The allocation module is used to configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue; the first bandwidth is greater than the second bandwidth.

[0030] The identification module is used to identify, during the transmission process, when the occupancy rate of the first bandwidth is less than a first preset threshold, and determine the remaining bandwidth corresponding to the first bandwidth;

[0031] The scheduling module is used to configure temporary bandwidth for the second priority queue based on the remaining bandwidth.

[0032] Thirdly, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in embodiments of this application.

[0033] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in embodiments of this application.

[0034] Fifthly, embodiments of this application provide a computer program product, including a computer program, characterized in that, when the computer program is executed by a processor, it implements the method described in embodiments of this application.

[0035] The traffic scheduling method and apparatus for industrial switches provided in this application allocate the traffic data to be transmitted to different priority queues and configure different bandwidth sizes according to the transmission priority of each priority queue. This ensures sufficient bandwidth for high-priority queues with high latency requirements, thereby guaranteeing latency for the first priority queue. Furthermore, during transmission, when the occupancy rate of the first bandwidth is less than a first preset threshold, temporary bandwidth is configured for the second priority queue based on the remaining bandwidth of the first bandwidth. This effectively avoids bandwidth waste. By providing temporary bandwidth for the traffic data to be transmitted in other priority queues, elastic bandwidth is provided for other priority queues while ensuring bandwidth for the first priority queue, thereby increasing the overall data traffic of the industrial switch and reducing the overall latency of traffic data transmission.

[0036] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description

[0037] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0038] Figure 1 A flowchart illustrating a traffic scheduling method for an industrial switch according to an embodiment of this application is shown.

[0039] Figure 2 A block diagram of a flow scheduling device for an industrial switch according to an embodiment of this application is shown;

[0040] Figure 3 A schematic diagram of the structure of a computer system suitable for implementing an electronic device or server according to embodiments of this application is shown. Detailed Implementation

[0041] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.

[0042] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0043] Traditional industrial switches typically use Round-Robin (RR) and Weighted Round-Robin (WRR) scheduling to manage data flow in the system. However, such scheduling methods lack priority differentiation, making it prone to signal delays or packet loss for data with high real-time requirements. Furthermore, High-Priority Queueing WRR (HQ-WRR) and Strict Priority (SP) algorithms can easily lead to high-priority traffic monopolizing bandwidth, affecting the transmission of other necessary signals.

[0044] Based on this, embodiments of this application propose a traffic scheduling method and apparatus for industrial switches, which can ensure both high-speed transmission of high real-time signals and effective transmission of other necessary signals.

[0045] To further illustrate the technical solutions provided in the embodiments of this application, a detailed description is provided below in conjunction with the accompanying drawings and specific implementation methods. Although the embodiments of this application provide method operation instruction steps as shown in the following embodiments or drawings, the method may include more or fewer operation instruction steps based on conventional or non-creative effort. In steps where there is no logically necessary causal relationship, the execution order of these steps is not limited to the execution order provided in the embodiments of this application. In actual processing or when the device executes the method, it may be executed sequentially or in parallel according to the method shown in the embodiments or drawings.

[0046] Please refer to Figure 1 , Figure 1 A flowchart illustrating a traffic scheduling method for an industrial switch according to an embodiment of this application is shown. Figure 1 As shown, the method includes:

[0047] Step 101: Obtain the first priority queue and the second priority queue to be transmitted from the industrial switch. The transmission priority of the first priority queue is higher than that of the second priority queue.

[0048] It should be noted that the priority queues are divided according to the strictness of the transmission requirements. When traffic data to be transmitted is obtained, the priority queue to which the traffic data belongs can be determined based on the traffic type or transmission attributes of the traffic data, and then the traffic data is added to the priority queue to be transmitted based on the determination result.

[0049] In some embodiments, the priority queue also includes a third priority queue.

[0050] For example, for relay protection signals, since they are mainly used to disconnect faulty lines and protect the power grid, the end-to-end delay and packet loss rate must be sufficiently small. Therefore, this signal is classified as a first-priority signal and added to the first-priority queue, becoming traffic data in the first-priority queue to be transmitted. For, for example, non-real-time equipment status monitoring data, since it is mainly used for the transmission and storage of equipment status monitoring data, there are no specific requirements for end-to-end delay. Therefore, this signal is classified as a third-priority signal and added to the third-priority queue, becoming traffic data in the third-priority queue to be transmitted.

[0051] In a preferred embodiment, the traffic data in the first priority queue is latency-sensitive data, the traffic data in the second priority queue is resilient data, and the traffic data in the third priority queue is best-effort data.

[0052] Therefore, this application divides various types of traffic data into three fixed priority queues based on the characteristics of different traffic data types, effectively balancing the relationship between the priority level requirements of traffic data and the number of queues, and reducing the difficulty of traffic data priority division.

[0053] Step 102: Configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue; the first bandwidth is greater than the second bandwidth.

[0054] The third priority queue is configured with a third bandwidth, and the second bandwidth is greater than the third bandwidth.

[0055] It should be noted that, in the embodiments of this application, the first bandwidth configured for the first priority queue, the second bandwidth configured for the second priority queue, and the third bandwidth configured for the third priority queue are the original bandwidths divided according to the strictness of the bandwidth requirements of the first priority queue, the second priority queue, and the third priority queue.

[0056] In other words, the first bandwidth is the bandwidth configured to guarantee the first priority queue's requirements for latency, etc., while the second and third bandwidths are the maximum bandwidths provided on the basis of guaranteeing the first bandwidth.

[0057] It should be understood that the embodiments of this application provide sufficient bandwidth guarantee for the first priority queue by configuring the first priority queue with the largest bandwidth, thereby achieving latency guarantee for the first priority queue.

[0058] Step 103: During the transmission process, when the occupancy rate of the first bandwidth is less than the first preset threshold, determine the remaining bandwidth corresponding to the first bandwidth.

[0059] Step 104: Configure temporary bandwidth for the second priority queue based on the remaining bandwidth.

[0060] In other words, in this embodiment of the application, although a first bandwidth is configured for the traffic data of the first priority queue with high latency requirements, when the first bandwidth occupancy rate of the first priority queue is less than a first preset threshold, for example, when there is less traffic data to be transmitted in the first priority queue and the first bandwidth occupancy rate is insufficient, the first bandwidth can be reclaimed and the remaining bandwidth after reclamation can be configured to the second priority queue with higher priority.

[0061] In one feasible embodiment, configuring temporary bandwidth for the second priority queue based on the remaining bandwidth includes: dividing the remaining bandwidth into temporary bandwidth and emergency bandwidth according to a preset ratio.

[0062] It should be understood that temporary bandwidth is used to provide elastic bandwidth for the second priority queue, temporarily occupying it when the first priority queue's utilization of the first bandwidth is insufficient, thereby increasing the transmission speed of the second priority queue and reducing latency. Emergency bandwidth is configured as a bandwidth buffer pool for emergency allocation, so that when the first priority queue experiences a traffic surge after the first bandwidth is temporarily reclaimed, the bandwidth of the first priority queue can be restored to the first bandwidth as quickly as possible, providing an emergency reclamation mechanism for the first priority queue and achieving dynamic bandwidth protection for the first priority queue.

[0063] Therefore, the traffic scheduling method for industrial switches provided in this application allocates the traffic data to be transmitted to different priority queues and configures different bandwidth sizes according to the transmission priority of each priority queue. This ensures sufficient bandwidth for high-priority queues with high latency requirements, thereby ensuring latency for the first priority queue. Furthermore, during transmission, when the occupancy rate of the first bandwidth is less than a first preset threshold, temporary bandwidth is configured for the second priority queue based on the remaining bandwidth of the first bandwidth. This effectively avoids bandwidth waste. By providing temporary bandwidth for the traffic data to be transmitted in other priority queues, elastic bandwidth is provided for other priority queues while ensuring bandwidth for the first priority queue, thereby increasing the overall data traffic of the industrial switch and reducing the overall latency of traffic data transmission.

[0064] In one feasible embodiment, the method further includes: determining whether the actual bandwidth demand of the second priority queue is greater than the actual configured bandwidth; if the actual bandwidth demand of the second priority queue is greater than the actual configured bandwidth, determining the bandwidth overrun of the second priority queue based on the actual bandwidth demand and the actual configured bandwidth; and limiting the bandwidth of the third priority queue based on the overrun.

[0065] The actual configured bandwidth includes the second bandwidth and the temporary bandwidth.

[0066] It should be noted that the actual bandwidth demand of the second priority queue surges under conditions such as traffic spikes. Specifically, the actual bandwidth demand of the second priority queue can be determined by monitoring the storage status of its buffer depth. For example, if the current depth of the second priority queue is greater than 80% of the real-time allocated depth, a surge in demand is identified, and the actual bandwidth demand is calculated based on the current depth. If the actual bandwidth demand exceeds the actual configured bandwidth, the actual configured bandwidth includes the second bandwidth and temporary bandwidth. In other words, due to the traffic surge in the second priority queue, there is no available temporary bandwidth to provide for it. Based on this, to ensure effective transmission of the second priority queue under traffic surges, this application proposes to reduce the speed of the third priority queue, i.e., to limit the bandwidth of the third priority queue, in order to provide more elastic bandwidth for the second priority queue to cope with the surge in traffic.

[0067] The bandwidth over-limit is the percentage by which the actual bandwidth demanded by the second priority queue exceeds the actual configured bandwidth; in other words, it's the ratio of the difference between the actual demanded bandwidth and the actual configured bandwidth to the total configured bandwidth. It should be understood that the bandwidth over-limit describes the degree of additional bandwidth demanded by the second priority queue; the larger the bandwidth over-limit, the higher the bandwidth limit corresponding to the third priority queue.

[0068] Specifically, the bandwidth limit weight of the third priority queue can be determined based on the bandwidth excess of the second priority queue, the bandwidth of the third priority queue after bandwidth limitation can be determined based on the bandwidth limit weight, and the excess bandwidth can be allocated to the second priority queue.

[0069] Furthermore, after the surge in traffic in the second priority queue ends, in order to ensure the normal transmission of the third priority queue, this application also proposes to gradually restore the bandwidth of the third priority queue.

[0070] Specifically, the restricted bandwidth to be restored in the third priority queue and the preset recovery time window are obtained. Based on the bandwidth to be restored and the recovery time window, the third bandwidth is dynamically restored according to the update frequency corresponding to the recovery time window.

[0071] The bandwidth to be restored is the difference between the third bandwidth and the current actual bandwidth of the third priority queue. It should be understood that the current actual bandwidth of the third priority queue can be the remaining bandwidth that the second priority queue has over-utilized at least once.

[0072] The preset recovery time window can be determined based on the network size corresponding to the industrial switch to ensure the normal transmission needs of traffic data in the third priority queue of the network corresponding to the industrial switch. The update frequency of the recovery time window can be determined based on the bandwidth scheduling capability of the industrial switch to ensure stable transmission of the second and third priority queues during the bandwidth recovery process.

[0073] For example, the real-time bandwidth of the third priority queue can be calculated using the following formula:

[0074]

[0075] in, The real-time bandwidth of the third priority queue at time t. The initial bandwidth for the third priority queue, i.e., the third bandwidth. This represents the actual bandwidth of the third priority level before bandwidth recovery. For bandwidth to be restored, To restore the time window, To update frequency, It is a periodic constant.

[0076] In one feasible embodiment, this application also provides an emergency reclamation strategy for the first priority queue. Specifically, it identifies the emergency reclamation conditions triggered by the first priority queue and reclaims bandwidth according to a preset order.

[0077] Optionally, the emergency recycling condition can be determined based on the depth of the first priority queue, or if the increment of the first priority queue depth is greater than the increment threshold within the detection time window.

[0078] For example, the following formula can be used to determine the conditions for triggering emergency recovery:

[0079]

[0080] Where Trigger is the trigger result. This represents the current depth of the first priority queue. Real-time allocation of depth for the first priority queue. This represents the increment of the first priority queue depth within the detection time window. For the detection time window, This is the incremental threshold.

[0081] The preset order of bandwidth reclamation is as follows: reclaim bandwidth from the bandwidth buffer pool, reclaim temporary bandwidth from the second priority queue, and reclaim reduced bandwidth from the third priority queue.

[0082] It should be understood that the bandwidth in the bandwidth buffer pool can be directly reclaimed. The bandwidth reclamation of the second priority queue and the third priority queue can be proportionally reclaimed and proportionally limited according to the actual bandwidth demand of the first priority queue. This application does not impose specific restrictions.

[0083] It should also be understood that after bandwidth limiting is applied to the third priority queue, the bandwidth of the third priority queue needs to be restored.

[0084] Therefore, this application can dynamically adjust bandwidth when the traffic of the first priority queue surges according to the bandwidth emergency recovery mechanism, effectively ensuring the bandwidth requirements of the first priority queue.

[0085] In a feasible embodiment, in order to reduce the frequency of bandwidth reclamation and recovery, this application further proposes to dynamically configure the bandwidth allocation weight of priority queues according to the predicted traffic value of each priority queue, so as to realize the dynamic allocation of the first bandwidth, the second bandwidth and the third bandwidth, in order to ensure the transmission demand of surge traffic as much as possible during the bandwidth allocation stage.

[0086] Specifically, for each priority queue, the horizontal and trend components of the current data traffic are obtained. Based on the horizontal and trend components, the predicted traffic value is determined. Based on the predicted traffic value, the bandwidth allocation weight corresponding to the priority queue is determined. Based on the bandwidth allocation weight, bandwidth is configured for each priority queue.

[0087] In other words, the horizontal components A1, A2, and A3, and the trend components B1, B2, and B3 of the first priority queue, the second priority queue, and the third priority queue are obtained respectively. Then, the horizontal components and the trend components are added together to obtain the predicted flow values ​​Y1, Y2, and Y3 corresponding to the first priority queue, the second priority queue, and the third priority queue.

[0088] The horizontal component and the trend component can be represented by the following formulas:

[0089]

[0090]

[0091] in, Let i be the horizontal component of the i-th priority queue at the current moment. Let i be the horizontal component of the i-th priority queue at the previous time step. Let i be the predicted flow rate of the i-th priority queue at the current time. Let i be the trend component of the i-th priority queue at the current moment. Let be the trend component of the i-th priority queue at the previous time step. and Let i be a smoothing factor, i = 1, 2, 3.

[0092] Based on this, the predicted flow rate is:

[0093]

[0094] in, Let be the predicted flow value for the i-th priority team at the next time step.

[0095] Furthermore, the bandwidth allocation weights are:

[0096]

[0097] in, Assign weights to the bandwidth of the i-th priority queue at the next time step. The base weight of the i-th priority queue. Let be the predicted flow value for the i-th priority queue at the next time step. Let i be the actual traffic flow of the i-th priority team at the current moment. Adjust the sensitivity coefficient for traffic flow. This is the bandwidth protection threshold.

[0098] Therefore, this application can dynamically allocate bandwidth to priority queues by predicting traffic values, reducing the execution workload of bandwidth reclamation and recovery while ensuring bandwidth requirements are met, and ensuring the stability of bandwidth allocation in industrial switches. Simultaneously, using horizontal and trend components for prediction can effectively reduce the amount of prediction data in industrial switches, requiring only two state variables, thus reducing prediction complexity.

[0099] Furthermore, in order to avoid unfair scheduling during data transmission due to the high priority of the first priority queue, which would cause long waiting times for the second and third priority queues, this application proposes to transmit the first, second, and third priority queues according to dynamic time slots.

[0100] Specifically, during transmission, the corresponding dynamic time slots are determined based on the queue depths of the first priority queue, the second priority queue, and the third priority queue, and the first priority queue, the second priority queue, and the third priority queue are sent according to the dynamic time slots.

[0101] For example, the dynamic time slot is calculated using the following formula:

[0102]

[0103] in, For the dynamic time slot corresponding to the i-th priority queue, Let i be the queue depth corresponding to the i-th priority queue. The total depth of the three priority queues, k=1, 2, 3. Total number of time slots provided for industrial switches This represents the maximum number of time slots in a single queue.

[0104] It should be noted that the queue depth of the priority queue is configured at the same time as the bandwidth for the priority queue. In other words, the queue depth can also be dynamically configured based on the predicted traffic value, and then time slots are dynamically allocated.

[0105] Therefore, the embodiments of this application can dynamically allocate the queue depth of priority queues by predicting traffic values, which can ensure data buffering when traffic surges. Furthermore, dynamically configuring time slots according to queue depth can effectively avoid long delays in shallow queues. At the same time, the maximum time slot limit of a single queue can effectively prevent time slot monopoly by a single priority queue.

[0106] In some embodiments, dynamic time slot allocation may also result in idle time slots. In this case, skipping idle time slots can effectively improve scheduling efficiency.

[0107] It should be noted that although the operation of the method of the present invention is described in a specific order in the accompanying drawings, this does not require or imply that the operations must be performed in that specific order, or that all the operations shown must be performed in order to achieve the desired result.

[0108] Figure 2 A block diagram of a traffic scheduling device for an industrial switch according to an embodiment of this application is shown.

[0109] like Figure 2 As shown, the traffic scheduling device 10 for industrial switches includes:

[0110] The acquisition module 11 is used to acquire the first priority queue and the second priority queue to be transmitted by the industrial switch, wherein the transmission priority of the first priority queue is higher than that of the second priority queue.

[0111] Allocation module 12 is configured to configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue; the first bandwidth is greater than the second bandwidth;

[0112] The identification module 13 is used to identify, during the transmission process, when the occupancy rate of the first bandwidth is less than a first preset threshold, and determine the remaining bandwidth corresponding to the first bandwidth;

[0113] The scheduling module 14 is used to configure temporary bandwidth for the second priority queue based on the remaining bandwidth.

[0114] In some embodiments, the priority queue further includes a third priority queue, the third priority queue being configured with a third bandwidth, the second bandwidth being greater than the third bandwidth, and the identification module 13 is specifically used for:

[0115] Determine whether the actual bandwidth requirement of the second priority queue is greater than the actual configured bandwidth, wherein the actual configured bandwidth includes the second bandwidth and the temporary bandwidth;

[0116] Scheduling module 14 is specifically used for:

[0117] If the actual bandwidth demand of the second priority queue is greater than the actual configured bandwidth, then the bandwidth excess range corresponding to the second priority queue is determined based on the actual bandwidth demand and the actual configured bandwidth.

[0118] The bandwidth of the third priority queue is limited based on the bandwidth excess.

[0119] In some embodiments, the scheduling module 14 is specifically used for:

[0120] The bandwidth limit weight of the third priority queue is determined based on the bandwidth excess range.

[0121] The third bandwidth is limited based on the bandwidth limitation weight.

[0122] In some embodiments, the scheduling module 14 is specifically used for:

[0123] Obtain the restricted bandwidth to be restored and the preset recovery time window of the third priority queue;

[0124] Based on the bandwidth to be restored and the restoration time window, the third bandwidth is dynamically restored according to the update frequency corresponding to the restoration time window.

[0125] In some embodiments, the allocation module 12 is specifically used for:

[0126] For each priority queue, obtain the horizontal and trend components of the current data traffic;

[0127] The predicted flow value is determined based on the horizontal and trend components.

[0128] Based on the predicted traffic value, determine the bandwidth allocation weight corresponding to the priority queue;

[0129] Based on the bandwidth allocation weight, bandwidth is configured for each priority queue.

[0130] In some embodiments, the scheduling module 14 is specifically used for:

[0131] During the transmission process, the corresponding dynamic time slots are determined based on the queue depths of the first priority queue, the second priority queue, and the third priority queue, respectively.

[0132] The first priority queue, the second priority queue, and the third priority queue are sent according to the dynamic time slot.

[0133] It should be understood that the modules or modules described in the flow scheduling device 10 for industrial switches are similar to those in the reference. Figure 1 The steps in the described method correspond accordingly. Therefore, the operations and features described above for the method are also applicable to the traffic scheduling device 10 for industrial switches and the modules contained therein, and will not be repeated here. The traffic scheduling device 10 for industrial switches can be pre-implemented in the browser or other security applications of electronic devices, or it can be loaded into the browser or other security applications of electronic devices through downloading or other means. The corresponding modules in the traffic scheduling device 10 for industrial switches can cooperate with the modules in the electronic device to implement the solutions of the embodiments of this application.

[0134] The division of modules or units mentioned in the detailed description above is not mandatory. In fact, according to the embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0135] The following is for reference. Figure 3 , Figure 3 A schematic diagram of the structure of a computer system suitable for implementing the embodiments of this application is shown.

[0136] like Figure 3 As shown, the computer system 300 includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 302 or programs loaded from storage section 308 into random access memory (RAM) 303. The RAM 303 also stores various programs and data required for the system's operating instructions. The CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0137] The following components are connected to I / O interface 305: an input section 306 including a keyboard, mouse, etc.; an output section 307 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN card, modem, etc. The communication section 309 performs communication processing via a network such as the Internet. Drive 310 is also connected to I / O interface 305 as needed. Removable media 311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 310 as needed so that computer programs read from them can be installed into storage section 308 as needed.

[0138] Specifically, according to embodiments of this application, the flowchart above refers to... Figure 2 The described process can be implemented as a computer software program. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowchart. In such an embodiment, the computer program contains program code for performing the methods shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by central processing unit (CPU) 301, it performs the functions defined in the system of this application.

[0139] It should be noted that the computer-readable medium shown in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0140] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operational instructions of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two connected blocks may actually be executed substantially in parallel, or they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified functions or operational instructions, or using a combination of dedicated hardware and computer instructions.

[0141] The units or modules described in the embodiments of this application can be implemented in software or hardware. The described units or modules can also be housed in a processor; for example, a processor can be described as including an acquisition module, an allocation module, an identification module, and a scheduling module. The names of these units or modules do not necessarily limit the specific unit or module itself. For example, an acquisition module can also be described as "acquiring a first priority queue, a second priority queue, and a third priority queue to be transmitted, wherein the transmission priority of the first priority queue is higher than that of the second priority queue, and the transmission priority of the second priority queue is higher than that of the third priority queue."

[0142] In another aspect, this application also provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments, or may exist independently and not assembled into the electronic device. The computer-readable storage medium stores one or more programs that, when used by one or more processors, execute the traffic scheduling method for industrial switches described in this application.

[0143] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the foregoing disclosed concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.

Claims

1. A traffic scheduling method for industrial switches, characterized in that, include: Obtain the first priority queue, second priority queue, and third priority queue of the industrial switch to be transmitted, wherein the transmission priority of the first priority queue is higher than that of the second priority queue; A first bandwidth is configured for the first priority queue, a second bandwidth is configured for the second priority queue, and a third bandwidth is configured for the third priority queue; the first bandwidth is greater than the second bandwidth, and the second bandwidth is greater than the third bandwidth. During transmission, when the occupancy rate of the first bandwidth is less than a first preset threshold, the remaining bandwidth corresponding to the first bandwidth is determined. Configuring temporary bandwidth for the second priority queue based on the remaining bandwidth specifically includes: dividing the remaining bandwidth into temporary bandwidth and emergency bandwidth according to a preset ratio; The method further includes: Determine whether the actual bandwidth requirement of the second priority queue is greater than the actual configured bandwidth, wherein the actual configured bandwidth includes the second bandwidth and the temporary bandwidth; If the actual bandwidth demand of the second priority queue is greater than the actual configured bandwidth, then the bandwidth excess range corresponding to the second priority queue is determined based on the actual bandwidth demand and the actual configured bandwidth. Based on the bandwidth excess, the bandwidth of the third priority queue is limited; Obtain the restricted bandwidth to be restored and the preset recovery time window of the third priority queue; Based on the bandwidth to be restored and the restoration time window, the third bandwidth is dynamically restored according to the update frequency corresponding to the restoration time window; The real-time bandwidth of the third priority queue is calculated using the following formula: in, The real-time bandwidth of the third priority queue at time t. The initial bandwidth for the third priority queue, i.e., the third bandwidth. This represents the actual bandwidth of the third priority level before bandwidth recovery. For bandwidth to be restored, To restore the time window, To update frequency, For periodic constants; and Identify the emergency bandwidth reclamation condition triggered by the first priority queue and reclaim bandwidth according to the preset order; The following formula is used to determine the conditions for triggering emergency recovery: Where Trigger is the trigger result. This represents the current depth of the first priority queue. Real-time allocation of depth for the first priority queue. This represents the increment of the first priority queue depth within the detection time window. For the detection time window, Incremental threshold; The preset order of bandwidth reclamation is as follows: reclaim bandwidth from the bandwidth buffer pool, reclaim temporary bandwidth from the second priority queue, and reclaim reduced bandwidth from the third priority queue.

2. The traffic scheduling method for industrial switches according to claim 1, characterized in that, The step of limiting the bandwidth of the third priority queue based on the bandwidth excess includes: The bandwidth limit weight of the third priority queue is determined based on the bandwidth excess range. The third bandwidth is limited based on the bandwidth limitation weight.

3. The traffic scheduling method for industrial switches according to claim 1, characterized in that, The step of configuring a first bandwidth for the first priority queue, a second bandwidth for the second priority queue, and a third bandwidth for the third priority queue includes: For each priority queue, obtain the horizontal and trend components of the current data traffic; The predicted flow value is determined based on the horizontal and trend components. Based on the predicted traffic value, determine the bandwidth allocation weight corresponding to the priority queue; Based on the bandwidth allocation weight, bandwidth is configured for each priority queue.

4. The traffic scheduling method for industrial switches according to any one of claims 1-3, characterized in that, Also includes: During the transmission process, the corresponding dynamic time slots are determined based on the queue depths of the first priority queue, the second priority queue, and the third priority queue, respectively. The first priority queue, the second priority queue, and the third priority queue are sent according to the dynamic time slot.

5. A flow scheduling device for industrial switches, characterized in that, include: The acquisition module is used to acquire the first priority queue, the second priority queue and the third priority queue to be transmitted from the industrial switch, wherein the transmission priority of the first priority queue is higher than that of the second priority queue. The allocation module is configured to configure a first bandwidth for the first priority queue, a second bandwidth for the second priority queue, and a third bandwidth for the third priority queue; the first bandwidth is greater than the second bandwidth, and the second bandwidth is greater than the third bandwidth. The identification module is used to identify, during the transmission process, when the occupancy rate of the first bandwidth is less than a first preset threshold, and determine the remaining bandwidth corresponding to the first bandwidth; The scheduling module is used to configure temporary bandwidth for the second priority queue based on the remaining bandwidth; The identification module is used to determine whether the actual required bandwidth of the second priority queue is greater than the actual configured bandwidth, wherein the actual configured bandwidth includes the second bandwidth and the temporary bandwidth; If the actual bandwidth demand of the second priority queue is greater than the actual configured bandwidth, then the bandwidth excess range corresponding to the second priority queue is determined based on the actual bandwidth demand and the actual configured bandwidth. Based on the bandwidth excess, the bandwidth of the third priority queue is limited; Obtain the restricted bandwidth to be restored and the preset recovery time window of the third priority queue; Based on the bandwidth to be restored and the restoration time window, the third bandwidth is dynamically restored according to the update frequency corresponding to the restoration time window; The real-time bandwidth of the third priority queue is calculated using the following formula: in, The real-time bandwidth of the third priority queue at time t. The initial bandwidth for the third priority queue, i.e., the third bandwidth. This represents the actual bandwidth of the third priority level before bandwidth recovery. For bandwidth to be restored, To restore the time window, To update frequency, For periodic constants; and Identify the emergency bandwidth reclamation condition triggered by the first priority queue and reclaim bandwidth according to the preset order; The following formula is used to determine the conditions for triggering emergency recovery: Where Trigger is the trigger result. This represents the current depth of the first priority queue. Real-time allocation of depth for the first priority queue. This represents the increment of the first priority queue depth within the detection time window. For the detection time window, Incremental threshold; The preset order of bandwidth reclamation is as follows: reclaim bandwidth from the bandwidth buffer pool, reclaim temporary bandwidth from the second priority queue, and reclaim reduced bandwidth from the third priority queue.

6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the traffic scheduling method for industrial switches as described in any one of claims 1-4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by the processor, the program implements the traffic scheduling method for industrial switches as described in any one of claims 1-4.

8. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the flow scheduling method for industrial switches as described in any one of claims 1-4.