Traffic scheduling method and device for industrial switch
By dividing priority queues in industrial switches and dynamically adjusting bandwidth and time slots, the signal delay problem caused by high-priority queues in existing technologies is solved, high-speed transmission of high-real-time signals and effective transmission of other signals are achieved, and the overall data transmission delay is reduced.
Patent Information
- Application Number
- CN202511260468.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-04
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2045-09-04
AI Technical Summary
Existing industrial switches fail to effectively guarantee the transmission of business signals with extremely high real-time requirements in power systems, and high-priority queues can easily affect the transmission of other signals.
The system uses priority queue division and bandwidth configuration methods to configure different bandwidths for different priority queues. When the bandwidth of the high-priority queue is idle, temporary bandwidth is allocated to other queues. The bandwidth allocation weight and time slot are dynamically adjusted to ensure latency guarantee for the high-priority queue and flexible bandwidth requirements for other queues.
It ensures sufficient bandwidth for high-priority queues with high latency requirements, reduces overall data transmission latency, avoids bandwidth waste, and ensures effective transmission of other priority queues.
Smart Images

Figure CN120811997A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to the technical field of traffic scheduling, and in particular to a traffic scheduling method and device for an industrial switch. BACKGROUND
[0002] With the rapid development of the power industry and the advancement of new power system construction, higher requirements are put forward for the performance, reliability and security of power communication networks. In the current power system, there are many problems in the industrial switches used. For example, the existing industrial switches have not fully considered the existence of a large number of real-time requirements in the power industry, such as power dispatching instruction transmission, relay protection signal transmission, which need to be accurately transmitted in a very short time to ensure timely switching of fault lines and protect the safety of the power grid. SUMMARY
[0003] In view of the above defects or deficiencies in the prior art, it is desirable to provide a traffic scheduling method and device for an industrial switch, which can effectively guarantee the effective transmission of high real-time requirement business signals in the power system by prioritizing data packets and configuring reasonable bandwidth, and can effectively recover the bandwidth when the highest priority queue exists, thereby guaranteeing the high-speed transmission of other priority queues.
[0004] In a first aspect, an embodiment of the present application provides a traffic scheduling method for an industrial switch, comprising: obtaining a first priority queue and a second priority queue to be transmitted by the industrial switch, the transmission priority of the first priority queue being 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, the first bandwidth being greater than the second bandwidth; In the transmission process, when the occupancy rate of the first bandwidth is less than a first preset threshold, determining a remaining bandwidth corresponding to the first bandwidth; configuring a temporary bandwidth for the second priority queue based on the remaining bandwidth.
[0005] 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 method further comprising: determining whether the actual demand bandwidth of the second priority queue is greater than the actual configuration bandwidth, the actual configuration bandwidth including the second bandwidth and the temporary bandwidth; if the actual demand bandwidth of the second priority queue is greater than the actual configuration bandwidth, determining a bandwidth excess margin corresponding to the second priority queue according to the actual demand bandwidth and the actual configuration bandwidth; According to the bandwidth excess amplitude, the third priority queue is bandwidth-limited.
[0006] In some embodiments, the bandwidth-limited third priority queue according to the bandwidth excess amplitude comprises: According to the bandwidth excess amplitude, a bandwidth-limited weight of the third priority queue is determined; According to the bandwidth-limited weight, the third bandwidth is bandwidth-limited.
[0007] In some embodiments, further comprising: The third priority queue is limited to a bandwidth to be recovered and a preset recovery time window is obtained; According to the bandwidth to be recovered and the recovery time window, the third bandwidth is dynamically recovered according to an update frequency corresponding to the recovery time window.
[0008] In some embodiments, the first bandwidth is configured for the first priority queue, the second bandwidth is configured for the second priority queue, and the third bandwidth is configured for the third priority queue, comprising: For each priority queue, a level component and a trend component of current data traffic are obtained; According to the level component and the trend component, a predicted traffic value is determined; According to the predicted traffic value, a bandwidth allocation weight corresponding to the priority queue is determined; Based on the bandwidth allocation weight, a bandwidth is configured for each priority queue.
[0009] In some embodiments, further comprising: In the transmission process, a dynamic time slot corresponding to each priority queue is determined based on the queue depth of the first priority queue, the second priority queue and the third priority queue; According to the dynamic time slot, the first priority queue, the second priority queue and the third priority queue are transmitted.
[0010] In a second aspect, the embodiments of the present application provide a flow scheduling device for an industrial switch, comprising: An acquisition module is configured to acquire a first priority queue and a second priority queue to be transmitted by an industrial switch, wherein the transmission priority of the first priority queue is higher than that of the second priority queue; An allocation module is configured to configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue, respectively, wherein the first bandwidth is greater than the second bandwidth; An identification module is configured to identify a remaining bandwidth corresponding to the first bandwidth when the occupancy rate of the first bandwidth is less than a first preset threshold in a transmission process. a scheduling module, configured to configure a temporary bandwidth for the second priority queue based on the residual bandwidth.
[0011] In a third aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, and the processor implements the method described in the embodiments of the present application when executing the program.
[0012] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, having a computer program stored thereon, and the program is executed by a processor to implement the method described in the embodiments of the present application.
[0013] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, and the computer program is executed by a processor to implement the method described in the embodiments of the present application.
[0014] The method and device for traffic scheduling of an industrial switch provided by the embodiments of the present application can realize bandwidth guarantee for a high-priority queue with high latency requirement by allocating the to-be-transmitted traffic data to different priority queues and configuring different sizes of bandwidth according to the transmission priorities of the priority queues, thereby realizing latency guarantee for the first priority queue. Further, in the transmission process, when the occupancy rate of the first bandwidth is less than a first preset threshold, a temporary bandwidth is configured for the second priority queue according to the residual bandwidth of the first bandwidth, thereby effectively avoiding bandwidth waste, providing a temporary bandwidth for the to-be-transmitted traffic data in other priority queues, realizing the provision of elastic bandwidth for other priority queues under the condition of guaranteeing the bandwidth guarantee for the first priority queue, improving the overall data flow of the industrial switch, and reducing the overall latency of traffic data transmission.
[0015] Additional aspects and advantages of the application will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and / or can be learned by practice of the application. BRIEF DESCRIPTION OF DRAWINGS
[0016] Other features, objects, and advantages of the application will become apparent from the detailed description of the non-limiting embodiments set forth below: Figure 1 Fig. 1 shows a flowchart of a method for traffic scheduling of an industrial switch provided by an embodiment of the present application; Figure 2 Fig. 2 shows a block diagram of a device for traffic scheduling of an industrial switch provided by an embodiment of the present application; Figure 3 Fig. 3 shows a structure diagram of a computer system of an electronic device or a server suitable for implementing the embodiments of the present application. DETAILED DESCRIPTION
[0017] The application will be further described below in detail with reference to the drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the related application, and not to limit the application. In addition, it should be noted that only the parts related to the application are shown in the drawings for ease of description.
[0018] It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other without conflict. The application will be described in detail below with reference to the drawings and embodiments.
[0019] The conventional industrial switch usually uses the Round-Robin (RR) and Weighted Round-Robin (WRR) to schedule the data to be transmitted in the system. However, such scheduling method lacks priority differentiation, which leads to signal delay or packet loss of data with high real-time requirement. The High-Priority Queueing WRR (HQ-WRR) and Strict Priority (SP) are prone to high-priority traffic monopolizing bandwidth, affecting the transmission of other necessary signals.
[0020] Based on this, the embodiments of the present application provide a traffic scheduling method and device for industrial switch, which can guarantee the high-speed transmission of high real-time signals and the effective transmission of other necessary signals.
[0021] In order to further illustrate the technical solutions provided by the embodiments of the present application, the following will be described in detail in conjunction with the drawings and specific embodiments. Although the embodiments of the present application provide the following method operation instruction steps, more or fewer operation instruction steps can be included in the method based on conventional or non-creative labor. The execution order of the steps is not limited to the execution order provided by the embodiments of the present application in the logical sense. The method can be executed in sequence or in parallel during the actual processing process or when the device is executed.
[0022] Reference Figure 1 , Figure 1 A flowchart of a traffic scheduling method for industrial switch provided by an embodiment of the present application is shown. As shown in Figure 1 , the method comprises: Step 101, obtaining a first priority queue and a second priority queue to be transmitted by the industrial switch, the transmission priority of the first priority queue being higher than that of the second priority queue.
[0023] It should be noted that the priority queues are classified according to the strictness of transmission requirements. When the traffic data to be transmitted is obtained, the priority queue to which the traffic data belongs can be determined according to the traffic type or transmission attribute of the traffic data, and then the traffic data is added to the priority queue to be transmitted according to the determination result.
[0024] In some embodiments, the priority queues further include a third priority queue.
[0025] For example, for a relay protection signal, since it is mainly used to cut off the fault line to protect the safety of the power grid, it is required that the end-to-end delay is small enough and the packet loss rate is small enough, so the signal is classified as a first priority signal and added to the first priority queue to become the traffic data in the first priority queue to be transmitted. For example, non-real-time device state monitoring data, since it is mainly used for transmission and storage of device state monitoring data, there is no specific requirement for end-to-end delay, so the signal is classified as a third priority signal and added to the third priority queue to become the traffic data in the third priority queue to be transmitted.
[0026] In a preferred embodiment, the traffic data in the first priority queue is delay-sensitive data, the traffic data in the second priority queue is elastic guarantee type data, and the traffic data in the third priority queue is best effort type data.
[0027] Therefore, according to the type characteristics of different traffic data, the application divides a plurality of traffic data into fixed three priority queues, effectively balances the relationship between the priority level requirements of traffic data and the number of queues, and reduces the difficulty of traffic data priority division.
[0028] Step 102, a first bandwidth is configured for the first priority queue, and a second bandwidth is configured for the second priority queue; the first bandwidth is greater than the second bandwidth.
[0029] The third priority queue is configured with a third bandwidth, and the second bandwidth is greater than the third bandwidth.
[0030] It should be noted that in the embodiments of the 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 original bandwidths classified according to the strictness of bandwidth requirements of the first priority queue, the second priority queue and the third priority queue.
[0031] That is, the first bandwidth is the bandwidth configured for the first priority queue to ensure the requirements such as delay, and the second bandwidth and the third bandwidth are the maximum bandwidth provided on the basis of guaranteeing the first bandwidth.
[0032] It should be understood that the embodiment of the present application provides sufficient bandwidth guarantee for the first priority queue by configuring the first bandwidth with the largest bandwidth for the first priority queue, so as to realize the delay guarantee for the first priority queue.
[0033] In step 103, in the transmission process, when the occupation rate of the first bandwidth is less than the first preset threshold, the remaining bandwidth corresponding to the first bandwidth is determined.
[0034] In step 104, the temporary bandwidth is configured for the second priority queue based on the remaining bandwidth.
[0035] That is, in the embodiment of the present application, although the first bandwidth is configured for the traffic data of the first priority queue with high delay requirement, when the occupation rate of the first priority queue to the first bandwidth is less than the first preset threshold, for example, the traffic data to be transmitted in the first priority queue is less, the occupation rate of the first bandwidth is insufficient, the first bandwidth can be recycled, and the remaining bandwidth after recycling can be configured to the second priority queue with higher priority.
[0036] In one possible embodiment, the temporary bandwidth is configured for the second priority queue based on the remaining bandwidth, including: dividing the remaining bandwidth into the temporary bandwidth and the emergency bandwidth according to a preset ratio.
[0037] It should be understood that the temporary bandwidth is used to provide flexible bandwidth for the second priority queue to temporarily occupy when the occupation rate of the first priority queue to the first bandwidth is insufficient, so as to improve the transmission speed of the second priority queue and reduce the delay. The emergency bandwidth is configured as a bandwidth buffer pool for emergency allocation, so as to quickly restore the bandwidth of the first priority queue to the first bandwidth when the first bandwidth is temporarily recycled, provide an emergency recycling mechanism for the first priority queue, and realize the dynamic guarantee of the bandwidth of the first priority queue.
[0038] Therefore, the traffic scheduling method for the industrial switch provided by the embodiment of the present application can realize the delay guarantee for the high priority queue with high delay requirement by allocating the traffic data to be transmitted to different priority queues and configuring different sizes of bandwidth according to the transmission priority of each priority queue, so as to realize the delay guarantee for the first priority queue. Further, in the transmission process, when the occupation rate of the first bandwidth is less than the first preset threshold, the temporary bandwidth is configured for the second priority queue according to the remaining bandwidth of the first bandwidth, so as to effectively avoid the waste of bandwidth, provide the temporary bandwidth for the traffic data to be transmitted in other priority queues, realize the flexible bandwidth for other priority queues under the guarantee of the bandwidth of the first priority queue, improve the overall data flow of the industrial switch, and reduce the overall delay of the traffic data transmission.
[0039] In an embodiment, the method further comprises: determining whether the actual demand bandwidth of the second priority queue is greater than the actual configuration bandwidth; if the actual demand bandwidth of the second priority queue is greater than the actual configuration bandwidth, determining a bandwidth excess amplitude of the second priority queue according to the actual demand bandwidth and the actual configuration bandwidth; and limiting the bandwidth of the third priority queue according to the bandwidth excess amplitude.
[0040] The actual configuration bandwidth comprises the second bandwidth and the temporary bandwidth.
[0041] It should be noted that the actual demand bandwidth of the second priority queue increases in the case of, for example, traffic surge. Specifically, the actual demand bandwidth of the second priority queue can be determined according to the storage of the second priority queue buffer depth. For example, if the current depth of the second priority queue is greater than 80% of the real-time allocation depth, it is determined that the actual demand increases and the actual demand bandwidth is calculated according to the current depth. If the actual demand bandwidth is greater than the actual configuration bandwidth, the actual configuration bandwidth comprises the second bandwidth and the temporary bandwidth, that is, the traffic of the second priority queue surges and the first bandwidth has no temporary bandwidth to provide. Based on this, in order to ensure the effective transmission of the second priority queue in the case of traffic surge, the third priority queue is proposed to be slowed down, that is, the bandwidth of the third priority queue is limited to provide more flexible bandwidth for the second priority queue to cope with the surge traffic.
[0042] The bandwidth excess amplitude is the proportion of the actual demand bandwidth of the second priority queue exceeding the actual configuration bandwidth, that is, the proportion of the difference between the actual demand bandwidth and the actual configuration bandwidth to the actual configuration bandwidth. It should be understood that the bandwidth excess amplitude describes the degree of demand for additional bandwidth of the second priority queue, and the greater the bandwidth excess amplitude, the higher the bandwidth limit of the third priority queue.
[0043] Specifically, the bandwidth limit weight of the third priority queue can be determined according to the bandwidth excess amplitude corresponding to the second priority queue, and the bandwidth of the third priority queue corresponding to the bandwidth limit weight is determined, and the excess bandwidth is configured to the second priority queue.
[0044] Further, after the traffic surge of the second priority queue ends, in order to ensure the normal transmission of the third priority queue, the application further proposes to gradually recover the bandwidth of the third priority queue.
[0045] Specifically, the limited to-be-recovered bandwidth of the third priority queue and a preset recovery time window are obtained, and the third bandwidth is dynamically recovered according to the to-be-recovered bandwidth and the recovery time window at an update frequency corresponding to the recovery time window.
[0046] The bandwidth to be recovered 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 at least once occupied by the second priority queue.
[0047] The preset recovery time window can be determined according to the network size corresponding to the industrial switch, so as to guarantee the normal transmission requirement of the traffic data in the third priority queue in the network corresponding to the industrial switch. The update frequency corresponding to the recovery time window can be determined according to the bandwidth scheduling capability of the industrial switch, so that the second priority queue and the third priority queue can be stably transmitted in the bandwidth recovery process.
[0048] For example, the real-time bandwidth of the third priority queue can be calculated by the following formula:
[0049] wherein, is the real-time bandwidth of the third priority queue at time t, is the initial bandwidth of the third priority queue, i.e., the third bandwidth, is the actual bandwidth of the third priority before bandwidth recovery, is the bandwidth to be recovered, is the recovery time window, is the update frequency, is a period constant.
[0050] In a feasible embodiment, the application also provides an emergency recovery strategy for the first priority queue. Specifically, the emergency recovery condition is triggered by identifying the first priority queue, and the bandwidth recovery is performed in a preset order.
[0051] Optionally, the emergency recovery condition can be triggered according to the first priority queue depth, or the increment of the first priority queue depth in the detection time window is greater than the increment threshold.
[0052] For example, the following formula can be used to determine whether the emergency recovery condition is triggered:
[0053] wherein, Trigge is the triggering result, is the current depth of the first priority queue, is the real-time allocation depth of the first priority queue, is the increment of the first priority queue depth in the detection time window, is the detection time window, is the increment threshold.
[0054] The preset order of bandwidth recovery is: recovering bandwidth of the bandwidth buffer pool, recovering temporary bandwidth of the second priority queue, and recovering reduced-speed bandwidth of the third priority queue.
[0055] It should be understood that the bandwidth in the bandwidth buffer pool can be directly recovered, and the bandwidth recovery of the second priority queue and the third priority queue can be proportionally recovered and proportionally limited according to the actual demand bandwidth of the first priority queue, which is not limited in the present application.
[0056] It should also be understood that after bandwidth limitation of the third priority queue, the bandwidth of the third priority queue needs to be recovered.
[0057] Therefore, the present application can dynamically adjust the bandwidth when the first priority queue traffic surges according to the bandwidth emergency recovery mechanism, effectively guaranteeing the bandwidth demand of the first priority queue.
[0058] In a feasible embodiment, in order to reduce the frequent recovery and recovery of bandwidth, the present application further proposes to dynamically configure the bandwidth allocation weight of the priority queue 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 guarantee the transmission demand of the surging traffic as much as possible in the bandwidth allocation stage.
[0059] Specifically, for each priority queue, the level component and the trend component of the current data traffic are obtained, the predicted traffic value is determined according to the level component and the trend component, the bandwidth allocation weight corresponding to the corresponding priority queue is determined according to the predicted traffic value, and the bandwidth of each priority queue is configured based on the bandwidth allocation weight.
[0060] That is, the level 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, and then the level component and the trend component are added to obtain the predicted traffic values Y1, Y2 and Y3 corresponding to the first priority queue, the second priority queue and the third priority queue.
[0061] Wherein, the level component and the trend component can be respectively as follows:
[0062]
[0063] Wherein, is the level component of the i-th priority queue at the current time, is the level component of the i-th priority queue at the previous time, is the predicted traffic value of the i-th priority queue at the current time, a trend component of the i-th priority queue at the current time, a trend component of the i-th priority queue at the previous time, and a smoothing factor, i = 1, 2, 3.
[0064] Based on this, the predicted traffic value is:
[0065] wherein, a predicted traffic value of the i-th priority queue at the next time.
[0066] Further, the bandwidth allocation weight is:
[0067] wherein, a predicted traffic value of the i-th priority queue at the next time, a base weight of the i-th priority queue, a predicted traffic value of the i-th priority queue at the next time, an actual traffic of the i-th priority queue at the current time, a traffic adjustment sensitive coefficient, a bandwidth protection threshold.
[0068] Thus, the application can dynamically allocate the bandwidth of the priority queue by the predicted traffic value, reduce the execution amount of bandwidth recovery and restoration in the case of guaranteeing the bandwidth demand, and guarantee the stability of the bandwidth allocation of the industrial switch. Meanwhile, the prediction by the level component and the trend component can effectively reduce the prediction data amount in the industrial switch, only need two state variables of the level component and the trend component, and reduce the prediction complexity.
[0069] Further, the application further proposes to transmit the first priority queue, the second priority queue and the third priority queue according to the dynamic time slot in order to avoid the unfair scheduling in the data transmission process due to the high priority of the first priority queue, and cause the second priority queue and the third priority queue to wait for a long time.
[0070] Specifically, in the transmission process, the corresponding dynamic time slot is determined based on the queue depth 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 transmitted according to the dynamic time slot.
[0071] For example, the following formula is used to calculate the dynamic time slot:
[0072] wherein, a dynamic time slot corresponding to the i-th priority queue, a queue depth corresponding to the i-th priority queue, a total depth of the three priority queues, k = 1, 2, 3, a total number of time slots provided by the industrial switch, a maximum number of time slots of a single queue.
[0073] It should be noted that the queue depth of the priority queue is configured at the same time when the bandwidth of the priority queue is configured, that is, the queue depth can also be dynamically configured according to the predicted traffic value, and then the time slots are dynamically allocated.
[0074] Therefore, the embodiments of the present application can dynamically allocate the queue depth of the priority queue according to the predicted traffic value, which can guarantee data buffering when traffic surges, and then dynamically configure time slots according to the queue depth, which can effectively avoid long delay of shallow queues, and at the same time, the single queue maximum time slot limit can effectively prevent time slot monopoly of a single priority queue.
[0075] In some embodiments, dynamic time slot allocation also easily appears idle time slots, at which time idle time slot skipping can effectively improve scheduling efficiency.
[0076] It should be noted that although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in that specific order, or that all of the shown operations must be performed to achieve the desired result.
[0077] Figure 2 A block schematic diagram of a traffic scheduling device for an industrial switch provided by an embodiment of the present application is shown.
[0078] As shown in the figure, the traffic scheduling device 10 for the industrial switch includes: Figure 2 an acquisition module 11, configured to acquire a first priority queue and a second priority queue to be transmitted by the industrial switch, the transmission priority of the first priority queue being higher than that of the second priority queue; an allocation module 12, configured to configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue respectively; the first bandwidth is greater than the second bandwidth; an identification module 13, configured to identify, in a transmission process, that the occupancy rate of the first bandwidth is less than a first preset threshold, and determine a remaining bandwidth corresponding to the first bandwidth; a scheduling module 14, configured to configure a temporary bandwidth for the second priority queue based on the remaining bandwidth.
[0079] In some embodiments, the priority queue further comprises a third priority queue, the third priority queue is configured with a third bandwidth, the second bandwidth is greater than the third bandwidth, the identification module 13 is specifically used for: judging whether the actual demand bandwidth of the second priority queue is greater than the actual configuration bandwidth, the actual configuration bandwidth comprising the second bandwidth and the temporary bandwidth; the scheduling module 14 is specifically used for: if the actual demand bandwidth of the second priority queue is greater than the actual configuration bandwidth, determining a bandwidth excess amplitude corresponding to the second priority queue according to the actual demand bandwidth and the actual configuration bandwidth; performing bandwidth limitation on the third priority queue according to the bandwidth excess amplitude.
[0080] In some embodiments, the scheduling module 14 is specifically used for: determining a bandwidth limitation weight of the third priority queue according to the bandwidth excess amplitude; performing bandwidth limitation on the third bandwidth based on the bandwidth limitation weight.
[0081] In some embodiments, the scheduling module 14 is specifically used for: obtaining a to-be-recovered bandwidth of the third priority queue being limited and a preset recovery time window; performing dynamic recovery on the third bandwidth according to the to-be-recovered bandwidth and the recovery time window, and according to an update frequency corresponding to the recovery time window.
[0082] In some embodiments, the allocation module 12 is specifically used for: obtaining a level component and a trend component of current data traffic for each priority queue; determining a predicted traffic value according to the level component and the trend component; determining a bandwidth allocation weight corresponding to the priority queue according to the predicted traffic value; configuring bandwidth for each priority queue based on the bandwidth allocation weight.
[0083] In some embodiments, the scheduling module 14 is specifically used for: determining a corresponding dynamic time slot based on a queue depth of the first priority queue, the second priority queue and the third priority queue respectively during the transmission process; sending the first priority queue, the second priority queue and the third priority queue according to the dynamic time slot.
[0084] It should be understood that the modules or modules described in the traffic scheduling device 10 for industrial switches are usedFigure 1 The various steps in the described method correspond. Thus, the operations and features described above in relation to the method also apply to the traffic scheduling apparatus 10 for an industrial switch and the modules contained therein, which will not be described again here. The traffic scheduling apparatus 10 for an industrial switch can be implemented in advance in a browser or other secure application of an electronic device, or can be loaded into a browser or a secure application thereof of an electronic device by means of downloading or the like. The respective modules in the traffic scheduling apparatus 10 for an industrial switch can cooperate with the modules in the electronic device to realize the solutions of the embodiments of the present application.
[0085] In the foregoing detailed description, several modules or units are mentioned. The division into such modules or units is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, a module or unit described above can be further divided into a plurality of modules or units to perform the features and functions described above.
[0086] Reference is made below to Figure 3 , Figure 3 Fig. 1 shows a structural schematic diagram of a computer system of an electronic device or a server suitable for implementing the embodiments of the present application, As Figure 3 shown, the computer system 300 includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 302 or loaded from a storage portion 308 into a random access memory (RAM) 303. In the RAM 303, various programs and data required for operation instructions of the system are also stored. The CPU 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0087] The following components are connected to the I / O interface 305: an input portion 306 including a keyboard, a mouse, and the like; an output portion 307 including a cathode ray tube (CRT), a liquid crystal display (LCD), and the like, and a speaker, and the like; a storage portion 308 including a hard disk, and the like; and a communication portion 309 including a network interface card such as a LAN card, a modem, and the like. The communication portion 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as necessary. A removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and the like is mounted on the drive 310 as necessary, so that a computer program read therefrom is installed in the storage portion 308 as necessary.
[0088] In particular, according to the embodiments of the present application, the operations described above with reference to the flowcharts Figure 2The described processes can be implemented as computer software programs. For example, embodiments of the present application include a computer program product which includes a computer program tangibly embodied on a computer readable medium, the computer program including program code for executing the methods illustrated in the flowcharts. In such embodiments, the computer program includes program code for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 309, and / or installed from the removable media 311. When the computer program is executed by the central processing unit (CPU) 301, the above-described functions defined in the system of the present application are executed.
[0089] It should be noted that the computer readable medium shown in the present application can be a computer readable signal medium or a computer readable storage medium or any combination of the two. The computer readable storage medium may, for example, be but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device. In the present application, the computer readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, in which a computer readable program code is carried. Such a propagated data signal can take many forms, including but not limited to an electromagnetic signal, an optical signal or any suitable combination of the above. The computer readable signal medium can also be any computer readable medium that can transmit, propagate or transport 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 by any suitable medium, including but not limited to wireless, wire, optical cable, RF or the like, or any suitable combination of the above.
[0090] The flow and block diagrams in the drawings represent possible architectural, functional, and operational scenarios of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block can represent a module, a segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations thereof, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or combinations of hardware and software.
[0091] The units or modules described in the embodiments of the present application can be implemented by software or by hardware. The described units or modules can also be arranged 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. In some cases, the names of these units or modules do not constitute a limitation on the units or modules themselves, for example, the acquisition module can also be described as "acquiring a first priority queue, a second priority queue, and a third priority queue to be transmitted, the transmission priority of the first priority queue being higher than that of the second priority queue, and the transmission priority of the second priority queue being higher than that of the third priority queue".
[0092] As another aspect, the present application also provides a computer readable storage medium, which can be included in the electronic device described in the above embodiments, or can exist separately without being assembled into the electronic device. The computer readable storage medium stores one or more programs, and when the programs are used by one or more processors to execute the flow scheduling method for industrial switches described in the present application.
[0093] The above description is merely preferred embodiments of the present application and a description of the principles of the technology used. Those skilled in the art should understand that the disclosed scope of the present application is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by any combinations of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features can be replaced with the technical features disclosed in the present application (but not limited to) having similar functions to form technical solutions.
Claims
1. A traffic scheduling method for an industrial switch, characterized in that: include: Acquire a first priority queue and a second priority queue to be transmitted by the industrial switch, where the transmission priority of the first priority queue is higher than that of the second priority queue; Configure a first bandwidth for the first priority queue and a second bandwidth for the second priority queue respectively; the first bandwidth is greater than the second bandwidth; During the transmission process, when it is identified that the occupancy rate of the first bandwidth is less than a first preset threshold, determining a remaining bandwidth corresponding to the first bandwidth; A temporary bandwidth is configured for the second priority queue based on the remaining bandwidth.
2. The traffic scheduling method for an industrial switch according to claim 1, characterized in that: The priority queue further includes a third priority queue, the third priority queue is configured with a third bandwidth, and the second bandwidth is greater than the third bandwidth. The method further includes: Determine whether the actual required bandwidth of the second priority queue is greater than the actual configured bandwidth, where the actual configured bandwidth includes the second bandwidth and the temporary bandwidth; If the actual bandwidth required by the second priority queue is greater than the actual configured bandwidth, determining the bandwidth excess margin corresponding to the second priority queue according to the actual bandwidth required and the actual configured bandwidth; Bandwidth limitation is performed on the third priority queue according to the bandwidth excess margin.
3. The traffic scheduling method for an industrial switch according to claim 2, characterized in that: The step of limiting the bandwidth of the third priority queue according to the bandwidth excess range includes: Determining a bandwidth limit weight for the third priority queue according to the bandwidth excess magnitude; Bandwidth limitation is performed on the third bandwidth based on the bandwidth limitation weight.
4. The traffic scheduling method for an industrial switch according to claim 2, characterized in that: Also includes: Obtaining the restricted bandwidth to be restored and the preset restoration time window of the third priority queue; The third bandwidth is dynamically restored according to the bandwidth to be restored and the restoration time window, and according to an update frequency corresponding to the restoration time window.
5. The traffic scheduling method for an industrial switch according to claim 2, characterized in that: The configuring a first bandwidth for the first priority queue, configuring a second bandwidth for the second priority queue, and configuring a third bandwidth for the third priority queue respectively includes: For each priority queue, obtain the horizontal component and trend component of the current data traffic; determining a predicted flow value according to the horizontal component and the trend component; Determine the bandwidth allocation weight corresponding to the priority queue according to the predicted traffic value; Based on the bandwidth allocation weight, bandwidth is configured for each priority queue.
6. The traffic scheduling method for an industrial switch according to any one of claims 2 to 5, characterized in that: Also includes: During the transmission process, determining corresponding dynamic time slots based on queue depths of the first priority queue, the second priority queue, and the third priority queue; The first priority queue, the second priority queue, and the third priority queue are sent according to the dynamic time slot.
7. A flow scheduling device for an industrial switch, characterized in that: include: An acquisition module, configured to acquire a first priority queue and a 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; An allocation module, configured to respectively 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; an identification module, configured to, when identifying that the occupancy rate of the first bandwidth is less than a first preset threshold during the transmission process, determine a remaining bandwidth corresponding to the first bandwidth; A scheduling module is configured to configure a temporary bandwidth for the second priority queue based on the remaining bandwidth.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the traffic scheduling method for an industrial switch according to any one of claims 1 to 6 is implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the traffic scheduling method for an industrial switch according to any one of claims 1 to 6 is implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the traffic scheduling method for an industrial switch according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Service traffic scheduling method based on priority queue and device thereof
CN102158420A
Queue scheduling method based on multiple priorities
CN104079501A
Bandwidth management method, device and equipment and machine readable storage medium
CN112968845A
Bandwidth adjustment method and system based on service priority, and storage medium
CN118138925A
Scalable traffic management for multiple levels of quality of service
US20190199646A1