Data stream scheduling method and computing device

By acquiring the traffic characteristics and service types of data streams in computing devices, scheduling strategies can be determined, resolving the bandwidth contention between switching chips and processors, and improving service quality and performance.

CN121509516APending Publication Date: 2026-02-10XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511397601.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-26
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Limited uplink bandwidth between the switching chip and the processor in computing devices leads to bandwidth contention among multiple data streams, resulting in a decline in service quality.

Method used

The processor acquires the data flow characteristics and service types of each input port, generates a model based on preset rules or strategies to determine the scheduling strategy of the output port, and controls the data transmission components to perform scheduling processing to avoid traffic conflicts.

Benefits of technology

It improves the service quality of computing devices, avoids bandwidth conflicts, and enhances the performance and resource utilization of computing devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121509516A_ABST
    Figure CN121509516A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data stream scheduling method and computing equipment. The method is applied to a processor in the computing device, and the computing device comprises a root complex and a plurality of switching chips. The processor is connected with the root complex, and the root complex is connected with the at least one switching chip. Aiming at any data transmission part, the processor obtains the flow characteristics of the data flow of each input port; each input port is a port of the data transmission component; the traffic characteristics comprise service types; the data transmission component is a root complex or a switching chip; the processor determines a scheduling strategy corresponding to the output port according to the flow characteristics of the data streams of the input ports and the obtained service quality parameters corresponding to the service types; the output port is a port of the data transmission component; and the processor controls the data transmission component to schedule the data streams of the input ports according to the scheduling strategies corresponding to the output ports. Accurate scheduling of the data stream is realized, and the service quality of the computing device is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computing devices, and particularly relates to a data flow scheduling method and a computing device. BACKGROUND

[0002] In a computing device, the computing device can include a processor, a root complex, a plurality of switch chips, and a plurality of terminal components (Peripheral Component Interconnect Express (PCIE) components or non-PCIE components such as memories and hard disks with non-PCIE interfaces). Among them, part of the terminal components can be mounted under the switch chip, and the switch chip can be mounted under the processor through the root complex; part of the terminal components can be mounted under the processor through the root complex; and part of the terminal components (non-PCIE components) can be directly mounted under the processor.

[0003] In the related art, the data flow transmitted between the terminal components mounted by different switch chips; the data flow transmitted between the terminal components mounted by the switch chip and the processor; the data flow transmitted between the terminal components mounted by the switch chip and the terminal components mounted under the processor through the root complex; and the data flow transmitted between the terminal components mounted by the switch chip and the terminal components directly mounted under the processor, all need to flow through the link between the switch chip and the processor.

[0004] However, the uplink bandwidth between the switch chip and the processor is limited, and multiple data flows will compete for the bandwidth of the uplink, thereby causing the computing device to have a problem of degraded service quality. SUMMARY

[0005] Embodiments of the present application provide a data flow scheduling method and a computing device, which avoid traffic conflicts and thereby improve the service quality of the computing device.

[0006] In a first aspect, embodiments of the present application provide a data flow scheduling method applied to a processor in a computing device, the computing device including a root complex and a plurality of switch chips; the processor is connected with the root complex, and the root complex is connected with at least one switch chip; and the method includes:

[0007] For any data transmission component, obtaining the traffic characteristics of the data flow of each input port; the input port is a port of the data transmission component; the traffic characteristics include a service type; and the data transmission component is the root complex or the switch chip;

[0008] According to the traffic characteristics of the data flow of each input port and the service quality parameters corresponding to each service type obtained, determining a scheduling strategy corresponding to an output port; the output port is a port of the data transmission component;

[0009] The data transmission component performs scheduling processing on the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0010] In this scheme, the computing device includes a processor, a root complex, and a plurality of switch chips; the processor is connected with the root complex, and the root complex is connected with at least one switch chip. For any data transmission component, the processor can acquire the traffic characteristics of the data streams of each input port; each input port is a port of the data transmission component; the traffic characteristics include service types; the data transmission component is the root complex or the switch chip. The processor can determine the scheduling strategy corresponding to the output port according to the traffic characteristics of the data streams of each input port and the quality of service parameters corresponding to each service type acquired; the output port is a port of the data transmission component. The processor can control the data transmission component to perform scheduling processing on the data streams of each input port according to the scheduling strategy corresponding to the output port. In this way, when a plurality of input ports need to compete for bandwidth, the data streams of the plurality of input ports can be scheduled based on the scheduling strategy, thereby avoiding traffic conflicts and further improving the quality of service of the computing device.

[0011] In an implementation manner, determining the scheduling strategy corresponding to the output port according to the traffic characteristics of the data streams of each input port and the quality of service parameters corresponding to each service type acquired includes:

[0012] acquiring preset rule information; wherein the preset rule information indicates the correspondence between the traffic characteristic information of each input port and the quality of service parameters corresponding to each service type and the scheduling strategy;

[0013] querying the preset rule information according to the traffic characteristics of the data streams of each input port and the quality of service parameters corresponding to each service type to determine the scheduling strategy.

[0014] In this scheme, the processor can acquire preset rule information; wherein the preset rule information indicates the correspondence between the traffic characteristic information of each input port and the quality of service parameters corresponding to each service type and the scheduling strategy. The processor can query the preset rule information according to the traffic characteristics of the data streams of each input port and the quality of service parameters corresponding to each service type to determine the scheduling strategy. In this way, the processor can determine the scheduling strategy based on the preset rule information manually set by the user, so that the scheduling strategy can be more in line with the user's needs, thereby improving the speed and accuracy of determining the scheduling strategy in complex scenarios.

[0015] In an implementation manner, determining the scheduling strategy corresponding to the output port according to the traffic characteristics of the data streams of each input port and the quality of service parameters corresponding to each service type acquired includes:

[0016] The scheduling strategy is determined based on the traffic characteristics of the data streams of the input ports, and the quality of service parameters corresponding to the service types according to the policy generation model.

[0017] In the scheme, the processor can determine the scheduling strategy based on the traffic characteristics of the data streams of the input ports, and the quality of service parameters corresponding to the service types according to the policy generation model. In the above manner, the efficiency of determining the scheduling strategy is improved.

[0018] In an implementation manner, the scheduling strategy corresponding to the output port is determined according to the traffic characteristics of the data streams of the input ports, and the acquired quality of service parameters corresponding to the service types, including:

[0019] The policy generation condition of the output port is determined according to the traffic characteristics of the data streams of the input ports;

[0020] In the case that the policy generation condition of the output port is met, the scheduling strategy is determined according to the traffic characteristics of the data streams of the input ports, and the quality of service parameters corresponding to the service types.

[0021] In the scheme, the processor can determine whether the policy generation condition of the output port is met according to the traffic characteristics of the data streams of the input ports. The processor can determine the scheduling strategy according to the traffic characteristics of the data streams of the input ports, and the quality of service parameters corresponding to the service types in the case that the policy generation condition of the output port is met. In the above manner, the dynamic scheduling of the data streams of different input ports can be realized, so that the scheduling strategy matches the current actual data stream situation, the accuracy of determining the scheduling strategy is improved, and the quality of service of the computing device to which the processor belongs is improved.

[0022] In an implementation manner, whether the policy generation condition of the output port is met is determined according to the traffic characteristics of the data streams of the input ports, including:

[0023] For any input port, it is determined whether the change rate between the traffic characteristics of the data stream of the input port and the traffic characteristics of the first historical data stream of the input port is greater than or equal to a first preset change rate;

[0024] In the case that the change rate between the traffic characteristics of the data stream of the input port and the traffic characteristics of the first historical data stream of the input port is greater than or equal to the first preset change rate, the input port is determined as a target input port;

[0025] The total number of target input ports is acquired;

[0026] It is determined whether the total number of target input ports is greater than or equal to a preset number;

[0027] In a case where the total number of the target input ports is greater than or equal to the preset number, it is determined that the output port satisfies the policy generation condition; or

[0028] In a case where the total number of the target input ports is less than the preset number, it is determined that the output port does not satisfy the policy generation condition.

[0029] In the scheme, the processor can determine that the output port satisfies the policy generation condition in a case where the total number of the target input ports (the input ports of which the change rate between the traffic characteristics of the data streams and the traffic characteristics of the first historical data streams is greater than or equal to the first preset change rate) is greater than or equal to the preset number, and determine the scheduling policy according to the traffic characteristics of the data streams of each input port and the quality of service parameters corresponding to each service type in a case where the output port satisfies the policy generation condition. Through the above manner, the scheduling policy that matches the current actual traffic situation can be determined when the overall traffic situation changes significantly, and the problems of bandwidth conflict, low-priority service preemption of resources and the like caused by using the previous scheduling policy to deal with the traffic change situation can be avoided. In addition, through the above manner of setting the policy generation condition, the problem of invalid or frequent generation of the policy, which leads to the increase of the processor overhead, can be avoided.

[0030] In an implementation manner, in a case where the change rate between the traffic characteristics of the data streams of the input port and the traffic characteristics of the first historical data streams of the input port is greater than or equal to the first preset change rate, the input port is determined as the target input port, including:

[0031] In a case where the change rate between the traffic characteristics of the data streams of the input port and the traffic characteristics of the first historical data streams of the input port is greater than or equal to the first preset change rate, it is determined whether the change rate between the traffic characteristics of the input port and the traffic characteristics of the second historical data streams of the input port is less than the second preset change rate; wherein the first historical collection time range corresponding to the traffic characteristics of the first historical data streams is earlier than the second historical collection time range corresponding to the traffic characteristics of the second historical data streams;

[0032] In a case where the change rate between the traffic characteristics of the data streams of the input port and the traffic characteristics of the second historical data streams of the input port is less than the second preset change rate, the input port is determined as the target input port.

[0033] In the scheme, for any input port, the processor can determine the input port as a target input port in a case that a change rate between a traffic characteristic of a data stream of the input port and a traffic characteristic of a first historical data stream of the input port is greater than or equal to a first preset change rate, and a change rate between the traffic characteristic of the data stream of the input port and a traffic characteristic of a second historical data stream of the input port is less than a second preset change rate. The processor can determine that the output port satisfies a policy generation condition in a case that a total number of the target input ports is greater than or equal to a preset number. The processor can determine the scheduling policy corresponding to the output port according to the traffic characteristics of the data streams of the input ports and the quality of service parameters corresponding to the service types in a case that the output port satisfies the policy generation condition. In this way, the scheduling policy of the output port can be determined in a case that the traffic characteristic information of at least one (greater than or equal to the preset number) input port changes and remains stable for a period of time, so that the scheduling policy matches the actual data stream, the determination accuracy of the scheduling policy is improved, and the quality of service of the computing device to which the processor belongs is improved.

[0034] In an implementation manner, the control data transmission component performs scheduling processing on the data streams of the input ports according to the scheduling policy corresponding to the output port, including:

[0035] The scheduling policy corresponding to the output port is sent to the data transmission component, so that the data transmission component configures a register of the data transmission component according to the scheduling policy, and performs scheduling processing on the data streams of the input ports according to a value of the register.

[0036] In the scheme, the processor can send the scheduling policy corresponding to the output port to the data transmission component, so that the data transmission component configures a register of the data transmission component according to the scheduling policy, and performs scheduling processing on the data streams of the input ports according to a value of the register. In this way, the data streams of the input ports can be effectively scheduled.

[0037] In an implementation manner, the quality of service parameters include a target peak bandwidth, a target minimum guarantee bandwidth, and a delay sensitivity level.

[0038] The scheduling policy includes actual peak bandwidths, actual minimum guarantee bandwidths, and priority information corresponding to the service types.

[0039] In the scheme, the quality of service parameters include a target peak bandwidth, a target minimum guarantee bandwidth, and a delay sensitivity level. The scheduling policy includes actual peak bandwidths, actual minimum guarantee bandwidths, and priority information corresponding to the service types. In this way, the data stream with high priority can be preferentially scheduled, so that the quality of service of the computing device is improved.

[0040] Secondly, embodiments of this application provide a data stream scheduling apparatus, comprising:

[0041] The acquisition module is used to acquire the traffic characteristics of the data stream at each input port for any data transmission component; each input port is a port of the data transmission component; the traffic characteristics include the service type; the data transmission component is a root complex or a switching chip;

[0042] The processing module is used to determine the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type; the output port is the port of the data transmission component.

[0043] The control module is used to control the data transmission component to schedule and process the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0044] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0045] In one implementation, the processing module is specifically used for:

[0046] Obtain preset rule information; wherein, the preset rule information indicates the traffic characteristic information of each input port, as well as the service quality parameters corresponding to each service type, and their correspondence with the scheduling strategy;

[0047] Based on the traffic characteristics of the data streams at each input port and the service quality parameters corresponding to each service type, the preset rule information is queried to determine the scheduling strategy.

[0048] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0049] In one implementation, the processing module is specifically used for:

[0050] Based on the policy generation model, the scheduling policy is determined according to the traffic characteristics of the data flow of each input port and the service quality parameters corresponding to each service type.

[0051] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0052] In one implementation, the processing module is specifically used for:

[0053] Based on the traffic characteristics of the data stream at each input port, determine whether the output port meets the policy generation conditions;

[0054] If the output port meets the policy generation conditions, the scheduling policy is determined based on the traffic characteristics of the data flow of each input port and the service quality parameters corresponding to each service type.

[0055] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0056] In one implementation, the processing module is specifically used for:

[0057] For any input port, determine whether the rate of change between the flow characteristics of the data stream of the input port and the flow characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change.

[0058] If the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to a first preset rate of change, the input port is determined as the target input port.

[0059] Get the total number of target input ports;

[0060] Determine whether the total number of target input ports is greater than or equal to the preset number;

[0061] If the total number of target input ports is greater than or equal to a preset number, the output port is determined to meet the policy generation conditions; or,

[0062] If the total number of target input ports is less than the preset number, it is determined that the output port does not meet the policy generation conditions.

[0063] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0064] In one implementation, the processing module is specifically used for:

[0065] If the rate of change between the flow characteristics of the input port's data stream and the flow characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change, it is determined whether the rate of change between the flow characteristics of the input port and the flow characteristics of the second historical data stream of the input port is less than a second preset rate of change; wherein, the first historical acquisition time range corresponding to the flow characteristics of the first historical data stream is earlier than the second historical acquisition time range corresponding to the flow characteristics of the second historical data stream.

[0066] If the rate of change between the traffic characteristics of the data stream at the input port and the traffic characteristics of the second historical data stream at the input port is less than a second preset rate of change, the input port is determined as the target input port.

[0067] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0068] In one implementation, the control module is specifically used for:

[0069] The scheduling policy corresponding to the output port is sent to the data transmission component so that the data transmission component can configure its registers according to the scheduling policy and schedule the data streams of each input port according to the register values.

[0070] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0071] In one implementation, the quality of service parameters include the target peak bandwidth, the target minimum guaranteed bandwidth, and the latency sensitivity level;

[0072] The scheduling strategy includes the actual peak bandwidth, actual minimum guaranteed bandwidth, and priority information for each service type.

[0073] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0074] Thirdly, embodiments of this application provide a computing device, including:

[0075] Processor, root complex, and multiple switching chips;

[0076] The processor is connected to the root complex;

[0077] The root complex is connected to at least one switching chip;

[0078] The processor is used to execute the method of the first aspect.

[0079] The computing device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be repeated here.

[0080] In one implementation, the root complex is connected to one of a plurality of switching chips; the plurality of switching chips are cascaded in sequence.

[0081] In this scheme, the root complex is connected to one of multiple switching chips; the multiple switching chips are cascaded sequentially. This structure allows some terminal components mounted under the switching chips to communicate directly through the switching chips, avoiding communication between terminal components via the processor, thereby improving processor resource utilization.

[0082] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method of the first aspect.

[0083] When the computer-executable instructions in the computer-readable storage medium provided in this application are executed by a processor, the technical solutions shown in the above method embodiments can be implemented. The implementation principle and beneficial effects are similar, and will not be repeated here.

[0084] Fifthly, embodiments of this application provide a computer program product, including a computer program, which, when executed by a processor, is used to implement the method of the first aspect.

[0085] When the computer program in the computer program product provided in this application is executed by a processor, it can implement the technical solution shown in the above method embodiments. The implementation principle and beneficial effects are similar, and will not be repeated here. Attached Figure Description

[0086] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0087] Figure 1a A structural diagram of a computing device provided in an embodiment of this application;

[0088] Figure 1b A structural diagram of another computing device provided in an embodiment of this application;

[0089] Figure 1c A structural diagram of another computing device provided in an embodiment of this application;

[0090] Figure 2 A flowchart illustrating a data stream scheduling method according to an embodiment of this application;

[0091] Figure 3 A flowchart illustrating a second embodiment of a data stream scheduling method provided in this application;

[0092] Figure 4 A flowchart illustrating a data stream scheduling method according to a third embodiment of this application;

[0093] Figure 5 A schematic diagram of the structure of another computing device provided in this application embodiment;

[0094] Figure 6 This is a schematic diagram of the structure of a data stream scheduling device provided in an embodiment of this application. Detailed Implementation

[0095] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments made by those skilled in the art under the guidance of these embodiments are within the scope of protection of this application.

[0096] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0097] This application provides a data flow scheduling method. The computing device includes a processor, a root complex, and multiple switching chips. The processor is connected to the root complex, and the root complex is connected to at least one switching chip. For any data transmission component, the processor can acquire the traffic characteristics of the data flow at each input port. Each input port is a port of the data transmission component. The traffic characteristics include service type. The data transmission component is either the root complex or a switching chip. The processor can determine the scheduling strategy corresponding to the output port based on the traffic characteristics of the data flow at each input port and the acquired quality of service parameters corresponding to each service type. The output port is a port of the data transmission component. The processor can control the data transmission component to schedule and process the data flow at each input port according to the scheduling strategy corresponding to the output port.

[0098] By using the above method, when multiple input ports need to compete for bandwidth, the data streams of multiple input ports can be scheduled based on the scheduling strategy, thereby avoiding traffic conflicts and improving the service quality of computing devices.

[0099] The data stream scheduling method of this application embodiment will be described in detail below.

[0100] Figure 1a This is a structural diagram of a computing device provided in an embodiment of this application. Figure 1a As shown, the computing device 10 may include a processor 101, a root complex 102, and multiple switching chips.

[0101] For example, Figure 1a Three switching chips are shown: switching chip 103, switching chip 104, and switching chip 105.

[0102] Additionally, the computing device 10 may also include multiple endpoints (EPs). For example, Figure 1a Seven terminal components are shown, namely terminal component 1, terminal component 2, terminal component 3, terminal component 4, terminal component 5, terminal component 6 and terminal component 7.

[0103] Root complex 102 can be connected to processor 101. In one implementation, root complex 102 can be connected to processor 101 by being integrated into processor 101. For example, Figure 1a The diagram shows the root complex 102 integrated into the processor 101. In one implementation, the processor 101 and the root complex can be two separate components. It should be noted that when the root complex 102 and the processor 101 are two separate components, the root complex 102 can be connected to the processor 101 via a front-side bus (FSB). Figure 1a (Not shown).

[0104] The root complex 101 can be connected to at least one switching chip.

[0105] In one implementation, the root complex 102 can be connected to one of a plurality of switching chips. The plurality of switching chips are cascaded (fabric-linked) sequentially. For example, as shown... Figure 1a As shown, root complex 102 can be connected to switching chip 103; switching chip 103 is connected to switching chip 104; and switching chip 104 is connected to switching chip 105.

[0106] In one implementation, the root complex 102 can be connected to each switch chip. For example, Figure 1bA structural diagram of another computing device provided in the embodiments of this application, such as Figure 1b As shown, the root complex can be connected to switching chip 103, switching chip 104, and switching chip 105 respectively.

[0107] The root complex 101 can be connected to at least one terminal component. For example, Figure 1a and Figure 1b The diagram illustrates the connection between root complex 101 and terminal components 6 and 7. It is understood that the terminal components connected to root complex 101 can be Peripheral Component Interconnect Express (PCIE) components. Exemplarily, a PCIE component can be a graphics processor, but other PCIE components are also possible; this embodiment is not limited to these specific examples.

[0108] Each switching chip can be connected to at least one terminal component. For example, Figure 1a and Figure 1b The diagram shows switch chip 103 connected to terminal component 1 and terminal component 2; switch chip 104 connected to terminal component 3; and switch chip 105 connected to terminal component 4. It is understood that the terminal component connected to the root complex via the switch chip can be a PCIe component.

[0109] Additionally, in one implementation, the processor 101 may also be connected to at least one terminal component. For example, such as... Figure 1a and Figure 1b As shown, processor 101 can be connected to terminal component 5. Understandably, the terminal component directly connected to processor 101 can be a non-PCIe component, such as memory.

[0110] Additionally, it should be noted that each switching chip may include multiple ports. The root complex may also include multiple ports.

[0111] For example, Figure 1c A structural diagram of another computing device provided in the embodiments of this application, such as Figure 1c As shown, Figure 1c The root complex 102 is shown to include four ports, namely port 102a, port 102b and port 102c. Figure 1c The switch chip 103 is shown to include four ports: port 103a, port 103b, port 103c, and port 103d. Figure 1c The switch chip 104 is shown to include three ports: port 104a, port 104b, and port 104c. Figure 1c The switch chip 105 is shown to include three ports: port 105a, port 105b, and port 105c.

[0112] Port 102a of root complex 102 is connected to port 103a of switching chip 103. Port 102b of root complex 102 is connected to terminal component 6, and port 102c of root complex 102 is connected to terminal component 7.

[0113] Port 103b of switching chip 103 is connected to port 104a of switching chip 104; port 103c of switching chip 103 is connected to terminal component 1; port 103d of switching chip 103 is connected to terminal component 2.

[0114] Port 104b of switching chip 104 is connected to port 105a of switching chip 105; port 104c of switching chip 104 is connected to terminal component 3.

[0115] Terminal component 4 is connected to port 105b of switching chip 105.

[0116] Additionally, it should be noted that the computing device 10 can be a server. Architecturally, the server can be a rack server, a high-density server, a tower server, or a full-rack server; functionally, the server can be a general-purpose server or an artificial intelligence (AI) server, for example, an AI server can be an image processing server (GPU (graphics processing unit) server).

[0117] It should be noted that, Figure 1a , Figure 1b as well as Figure 1c This is a structural diagram of a computing device provided in an embodiment of this application. This embodiment of the application does not... Figure 1a , Figure 1b as well as Figure 1c The actual form of the various components included is not limited, nor is the actual form of the components included defined. Figure 1a , Figure 1b as well as Figure 1c The interaction methods between components are limited, and can be set according to actual needs in the application of the solution.

[0118] The technical solution of this application will now be described in detail through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.

[0119] Figure 2 This is a flowchart illustrating a data stream scheduling method according to an embodiment of this application. See also... Figure 2 The method specifically includes the following steps:

[0120] S201: For any data transmission component, obtain the flow characteristics of the data stream at each input port.

[0121] In this embodiment, the computing device may include at least one data transmission component.

[0122] The data transmission component can be a switching chip or a root complex.

[0123] Each data transmission component may include multiple input ports. Each data transmission component may also include output ports.

[0124] Each input port can be a port of the data transmission component. In other words, the data transmission component can include multiple ports, and any input port can belong to multiple ports of the data transmission component.

[0125] Each output port can be a port of the data transmission component. In other words, the data transmission component can include multiple ports, and any output port can belong to multiple ports of the data transmission component.

[0126] It should be noted that the port used to acquire data streams can be called the input port of the data transmission component; the port used to output data streams can be called the output port of the data transmission component.

[0127] For any data transmission component, the processor can acquire the traffic characteristics of the data stream at each input port. These traffic characteristics include the service type.

[0128] In one implementation, traffic characteristics may also include bandwidth utilization, latency, and packet size.

[0129] The following section explains the process by which the processor acquires the flow characteristics of the data streams from each input port.

[0130] For each input port, within the acquisition time range, the data transmission component can monitor the data flow of that input port and obtain the traffic characteristics of the data flow of that input port.

[0131] After obtaining the flow characteristics of the data streams from each input port, the data transmission unit can send the flow characteristics of the data streams from each input port to the processor.

[0132] S202: Obtain the service quality parameters corresponding to each business type.

[0133] In this embodiment, the computing device can obtain the service quality parameters corresponding to each service type.

[0134] In one implementation, the quality of service parameters may include the target peak bandwidth, the target minimum guaranteed bandwidth, and the latency sensitivity level.

[0135] S203: Determine the scheduling strategy for the output port based on the traffic characteristics of the data streams at each input port and the service quality parameters corresponding to each service type.

[0136] In this embodiment, the processor can determine the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type.

[0137] In one implementation:

[0138] The processor can store preset rule information.

[0139] Among them, the preset rule information indicates the traffic characteristics of the data flow of each input port, as well as the service quality parameters corresponding to each service type and their correspondence with the scheduling strategy.

[0140] The processor can query preset rule information and determine the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type.

[0141] In one implementation:

[0142] The processor can deploy policy generation models.

[0143] The processor can generate a policy model to determine the scheduling policy corresponding to the output port based on the traffic characteristics of the data flow of each input port and the service quality parameters corresponding to each service type.

[0144] Additionally, it should be noted that in one implementation, the scheduling strategy includes the actual peak bandwidth, the actual minimum guaranteed bandwidth, and priority information corresponding to each service type.

[0145] S204: The control data transmission unit schedules and processes the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0146] In this embodiment, after determining the scheduling policy corresponding to the output port, the processor can control the data transmission unit to schedule and process the data streams of each input port according to the scheduling policy corresponding to the output port.

[0147] The following section explains the process by which the processor control data transmission unit schedules and processes the data streams corresponding to each input port according to the scheduling strategy corresponding to the output port.

[0148] In one implementation:

[0149] The processor can send the scheduling policy corresponding to the output port to the data transmission unit.

[0150] The data transmission unit can configure its registers according to the scheduling strategy.

[0151] The following section explains the process by which the data transmission component configures its registers according to the scheduling strategy.

[0152] In one implementation:

[0153] For any given service type, the data transmission component may include multiple registers corresponding to that service type.

[0154] The data transmission component can configure the register corresponding to the peak bandwidth based on the actual peak bandwidth corresponding to the service type; the data transmission component can configure the register corresponding to the minimum guaranteed bandwidth based on the actual minimum guaranteed bandwidth corresponding to the service type; the data transmission component can configure the register corresponding to the priority (or weight value) based on the priority information corresponding to the service type.

[0155] After configuring the registers of the data transmission unit, the data transmission unit can schedule and process the data streams corresponding to each input port based on the register values. In one implementation, the data transmission unit can use a weighted round-robin (WRR) method to schedule and process the data streams corresponding to each input port based on the register values. In another implementation, the data transmission unit can use a time-based weighted round-robin (TBR) method to schedule and process the data streams corresponding to each input port based on the register values.

[0156] The beneficial effects of this embodiment are as follows: In this embodiment, the computing device includes a processor, a root complex, and multiple switching chips; the processor is connected to the root complex, and the root complex is connected to at least one switching chip. For any data transmission component, the processor can acquire the traffic characteristics of the data streams from each input port; each input port is a port of the data transmission component; the traffic characteristics include service type; the data transmission component is either the root complex or a switching chip. The processor can determine the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams from each input port and the acquired service quality parameters corresponding to each service type; the output port is a port of the data transmission component. The processor can control the data transmission component to schedule the data streams from each input port according to the scheduling strategy corresponding to the output port. Through the above method, when multiple input ports need to compete for the bandwidth of the output port, the data streams of multiple input ports can be scheduled based on the scheduling strategy, thereby avoiding traffic conflicts and improving the service quality of the computing device. This, in the case where the computing device is an inference server, improves the inference performance of the computing device.

[0157] Figure 3 This is a flowchart illustrating a second embodiment of a data stream scheduling method provided in this application. See also... Figure 3 The method specifically includes the following steps:

[0158] S301: For any data transmission component, obtain the flow characteristics of the data stream at each input port.

[0159] In this embodiment, for any data transmission component, the processor can acquire the traffic characteristics of the data stream at each input port. These traffic characteristics include the service type.

[0160] Each input port is a port for the data transmission component.

[0161] The data transmission component is a root complex or a switching chip.

[0162] The specific implementation process is the same as that of S201, and will not be described in detail here.

[0163] S302: Obtain the service quality parameters corresponding to each service type.

[0164] In this embodiment, the processor can obtain the service quality parameters corresponding to each service type.

[0165] The specific implementation process is the same as that of S202, and will not be described in detail here.

[0166] S303: Determine whether the output port meets the policy generation conditions based on the traffic characteristics of the data streams of each input port.

[0167] In this embodiment, the processor can determine whether the output port meets the policy generation conditions based on the flow characteristics of the data streams at each input port.

[0168] The processor can execute S304 if it determines that the output port meets the policy generation conditions;

[0169] The processor can terminate the process if it determines that the output port does not meet the policy generation conditions.

[0170] The following section explains the process by which the processor determines whether the output port meets the policy generation conditions based on the flow characteristics of the data streams from each input port.

[0171] In one implementation:

[0172] For any input port, the processor can determine whether the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to a first preset rate of change. For example, the first preset rate of change can be 30%.

[0173] The processor can determine that an input port is not a target input port if the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is less than a first preset rate of change.

[0174] or,

[0175] The processor can determine the input port as the target input port if the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to a first preset rate of change.

[0176] The processor can obtain the total number of target input ports.

[0177] The processor can determine whether the total number of target input ports is greater than or equal to a preset number.

[0178] The processor can determine that an output port meets the policy generation conditions if the total number of target input ports is greater than or equal to a preset number. Conversely, the processor can determine that an output port does not meet the policy generation conditions if the total number of target input ports is less than the preset number.

[0179] S304: Determine the scheduling strategy for the output port based on the traffic characteristics of the data streams at each input port and the service quality parameters corresponding to each service type.

[0180] In this embodiment, the processor can determine the scheduling policy corresponding to the output port based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type, provided that the output port meets the policy generation conditions.

[0181] The specific implementation process is the same as that of S203, and will not be described in detail here.

[0182] S305: The control data transmission unit schedules and processes the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0183] In this embodiment, the processor can control the data transmission unit to schedule and process the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0184] The specific implementation process is the same as that of S204, and will not be described in detail here.

[0185] The beneficial effects of this embodiment are as follows: In this embodiment, the processor can acquire the traffic characteristics of the data streams from each input port. The processor can acquire the quality of service parameters corresponding to each service type. The processor can determine whether the output port meets the policy generation conditions based on the traffic characteristics of the data streams from each input port. If the output port meets the policy generation conditions, the processor can determine the scheduling policy corresponding to the output port based on the traffic characteristics of the data streams from each input port and the quality of service parameters corresponding to each service type. The processor can control the data transmission unit to schedule the data streams corresponding to each input port according to the scheduling policy corresponding to the output port. Through the above method, dynamic scheduling of data streams from different input ports can be achieved, making the scheduling policy match the current actual data stream situation, improving the accuracy of determining the scheduling policy, and thus improving the quality of service of the computing device to which the processor belongs.

[0186] Figure 4 This is a flowchart illustrating a third embodiment of a data stream scheduling method provided in this application. See also... Figure 4 The method specifically includes the following steps:

[0187] S401: For any data transmission component, obtain the flow characteristics of the data stream at each input port.

[0188] In this embodiment, for any data transmission component, the processor can obtain the flow characteristics of the data stream at each input port.

[0189] Each input port is a port of the data transmission component.

[0190] The data transmission component is a root complex or a switching chip.

[0191] Traffic characteristics include service type. In one implementation, traffic characteristics may also include bandwidth utilization, latency, and packet size.

[0192] For example, in the traffic characteristics of a data stream from an input port, the service type is storage, and the bandwidth utilization rate is 30%. As another example, in the traffic characteristics of a data stream from an input port, the service type is computing, and the bandwidth utilization rate is 50%.

[0193] In addition, the processor can also obtain the collection time range corresponding to this traffic characteristic. For example, the collection time range can be 10:00 AM to 10:10 AM on January 1st.

[0194] S402: Obtain the service quality parameters corresponding to each service type.

[0195] In this embodiment, the processor can obtain the service quality parameters corresponding to each service type.

[0196] In one implementation, the quality of service parameters may include the target peak bandwidth, the target minimum guaranteed bandwidth, and the latency sensitivity level.

[0197] S403: For any input port, determine whether the rate of change between the flow characteristics of the data stream of the input port and the flow characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change.

[0198] In this embodiment, for any input port, the computing device can determine whether the rate of change between the traffic characteristics of the data stream of the input port and the traffic characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change.

[0199] If the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to a first preset rate of change, the computing device may execute S404.

[0200] If the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is less than a first preset rate of change, the computing device may execute S406.

[0201] S404: Determine whether the rate of change between the traffic characteristics of the input port and the traffic characteristics of the second historical data stream of the input port is less than a second preset rate of change.

[0202] In this embodiment, if the rate of change between the traffic characteristics of the input port's data stream and the traffic characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change, the processor can determine whether the rate of change between the traffic characteristics of the input port's traffic stream and the traffic characteristics of the second historical data stream of the input port is less than a second preset rate of change. For example, the second preset rate of change can be 10%.

[0203] The processor may execute S405 if the rate of change between the flow characteristics of the input port and the flow characteristics of the second historical data stream of the input port is less than a second preset rate of change; in one implementation, the processor may execute S405 if the rate of change between the flow characteristics of the input port and the flow characteristics of the second historical data stream of the input port is less than a second preset rate of change, and the rate of change between the flow characteristics of the second historical data stream of the input port and the flow characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change.

[0204] The processor may execute S406 if the rate of change between the flow characteristics of the input port and the flow characteristics of the second historical data stream of the input port is less than a second preset rate of change.

[0205] It should be noted that the first historical data stream's traffic characteristics correspond to the first historical data collection time range, which is earlier than the second historical data stream's traffic characteristics correspond to the second historical data collection time range.

[0206] Additionally, it should be noted that in one implementation, the first preset rate of change is greater than the second preset rate of change.

[0207] S405: Determine the input port as the target input port.

[0208] In this embodiment, the processor can determine the input port as the target input port if the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the second historical data stream at the input port is less than a second preset rate of change.

[0209] S406: Determines that the input port is not the target input port.

[0210] In this embodiment, in one implementation, the processor can determine that the input port is not the target input port if the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is less than a first preset rate of change.

[0211] In one implementation, the processor can determine that the input port is not the target input port if the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the second historical data stream at the input port is greater than or equal to a second preset rate of change.

[0212] S407: Get the total number of target input ports.

[0213] In this embodiment, after determining whether each input port is a target input port, the processor can obtain the total number of target input ports.

[0214] S408: Determine whether the total number of target input ports is greater than or equal to the preset number.

[0215] In this embodiment, the processor can determine whether the total number of target input ports is greater than or equal to a preset number. For example, the preset number can be 1.

[0216] The processor can execute S409 if the total number of target input ports is greater than or equal to a preset number;

[0217] The processor can execute S412 if the total number of target input ports is less than the preset number.

[0218] S409: Determine that the output port meets the policy generation conditions.

[0219] In this embodiment, the processor can determine that the output port meets the policy generation conditions if the total number of target input ports is greater than or equal to a preset number.

[0220] S410: Determine the scheduling strategy based on the traffic characteristics of the data streams at each input port and the service quality parameters corresponding to each service type.

[0221] In this embodiment, the processor can determine the scheduling strategy based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type, provided that the output port meets the policy generation conditions.

[0222] S411: The control data transmission unit schedules and processes the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0223] In this embodiment, after determining the scheduling policy corresponding to the output port, the processor can control the data transmission unit to schedule and process the data streams of each input port according to the scheduling policy corresponding to the output port.

[0224] S412: Determines that the output port does not meet the policy generation conditions.

[0225] In this embodiment, the processor can determine that the output port does not meet the policy generation conditions if the total number of target input ports is less than a preset number.

[0226] The processor can terminate the process if it determines that the output port does not meet the policy generation conditions.

[0227] The beneficial effects of this embodiment are as follows: In this embodiment, for any data transmission component, the processor can acquire the traffic characteristics of the data streams of each input port; the traffic characteristics include the service type. The processor can acquire the service quality parameters corresponding to each service type. For any input port, the processor can determine the input port as a target input port if the rate of change between the traffic characteristics of the input port's data stream and the traffic characteristics of the input port's first historical data stream is greater than or equal to a first preset rate of change, and the rate of change between the traffic characteristics of the input port's data stream and the traffic characteristics of the input port's second historical data stream is less than a second preset rate of change. The processor can determine that the output port meets the policy generation conditions if the total number of target input ports is greater than or equal to a preset number. If the output port meets the policy generation conditions, the processor can determine the scheduling policy corresponding to the output port based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type. The processor can control the data transmission component to perform scheduling processing on the data streams of each input port according to the scheduling policy corresponding to the output port. By using the above method, after a sudden change in the traffic characteristic information of at least one (greater than or equal to a preset number) input port, and while maintaining a steady state for a period of time, the scheduling strategy for generating the output port can be determined. This ensures that the scheduling strategy matches the current actual data flow situation, improves the accuracy of scheduling strategy determination, thereby improving the transmission quality of high-priority data flows and ultimately improving the service quality of the computing device to which the processor belongs.

[0228] The following section explains the data flow scheduling process from a software perspective.

[0229] Figure 5 This is a schematic diagram of the structure of another computing device provided in an embodiment of this application.

[0230] like Figure 5 As shown, the processor 101 runs a strategy engine and a business interface module.

[0231] Traffic monitoring modules run on each switching chip. A traffic monitoring module also runs on root complex 102.

[0232] Taking the switching chip 103 as the data transmission component as an example:

[0233] When both terminal component 1 and terminal component 2 need to access terminal component 6, the data streams input from port 103c and port 103d both need to pass through port 103a of the switching chip 103. At this time, ports 103c and 103d are input ports, and port 103a is an output port.

[0234] The switching chip 103 can run a flow monitoring module, which can obtain the flow characteristics of the data stream at each input port.

[0235] The processor 101 can run a policy engine to obtain the traffic characteristics of the data streams sent by the switching chip 103 to each input port. The traffic characteristics include the service type.

[0236] The processor 101 can run a policy engine to determine the scheduling policy corresponding to the output port (port 103a) based on the traffic characteristics of the data streams from each input port and the service quality parameters corresponding to each service type. The service quality parameters corresponding to each service type are obtained by the processor 101 running the service interface module.

[0237] The processor 101 can run a policy engine to send the scheduling policy corresponding to the output port (port 103a) to the switching chip 103.

[0238] The switching chip 103 can run a flow monitoring module to schedule the data streams of each input port according to the scheduling policy corresponding to the output port (port 103a). For example, the switching chip 103 can run a flow monitoring module to determine, according to the scheduling policy corresponding to the output port (port 103a), to transmit the data stream input at port 103c first, and then transmit the data stream input at port 103d.

[0239] Taking root complex 102 as a data transmission component as an example:

[0240] When both terminal component 1 and terminal component 6 need to access terminal component 7, the data stream input from port 102a and port 102b of root complex 102 both need to pass through port 102c of root complex 102. At this time, ports 102a and 102b are input ports, and port 102c is an output port.

[0241] The root complex 102 can run a flow monitoring module, which can acquire the flow characteristics of the data streams from each input port.

[0242] Processor 101 can run a policy engine to obtain the traffic characteristics of the data streams sent by the root complex 102 to each input port. The traffic characteristics include the service type.

[0243] The processor 101 can run a policy engine to determine the scheduling policy corresponding to the output port (port 102c) based on the traffic characteristics of the data streams from each input port and the service quality parameters corresponding to each service type. The service quality parameters corresponding to each service type are obtained by the processor 101 running the service interface module.

[0244] The processor 101 can run a policy engine to send the scheduling policy corresponding to the output port (port 102c) to the root complex 102.

[0245] The root complex 102 can run a flow monitoring module to schedule the data streams of each input port according to the scheduling policy corresponding to the output port (port 102c). For example, the root complex 102 can run a flow monitoring module to determine, according to the scheduling policy corresponding to the output port (port 102c), to transmit the data stream input from port 102a first, and then transmit the data stream input from port 102b.

[0246] The beneficial effects of this embodiment are as follows: In this embodiment, the data transmission component (switching chip or root complex) can run a traffic monitoring module to obtain the traffic characteristics of the data streams from each input port. The processor 101 can run a policy engine to obtain the traffic characteristics (including service type) of the data streams from each input port sent by the data transmission component. The processor can run the policy engine to determine the scheduling policy corresponding to the output port based on the traffic characteristics of the data streams from each input port and the obtained service quality parameters corresponding to each service type. The service quality parameters corresponding to each service type are obtained by the processor running the service interface module. The processor can run the policy engine to send the scheduling policy corresponding to the output port to the data transmission component. The data transmission component can run the traffic monitoring module to schedule the data streams from each input port according to the scheduling policy corresponding to the output port. Through the above method, when multiple input ports need to compete for bandwidth, the data streams of multiple input ports can be scheduled based on the scheduling policy, thereby avoiding traffic conflicts and improving the service quality of the computing device.

[0247] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0248] Figure 6 This is a schematic diagram of a data stream scheduling device provided in an embodiment of this application. Figure 6 As shown, the data stream scheduling device 60 includes an acquisition module 61, a processing module 62, and a control module 63.

[0249] The acquisition module 61 is used to acquire the traffic characteristics of the data stream at each input port for any data transmission component; each input port is a port of the data transmission component; the traffic characteristics include the service type; the data transmission component is a root complex or a switching chip;

[0250] The processing module 62 is used to determine the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type; the output port is the port of the data transmission component.

[0251] The control module 63 is used to control the data transmission component to schedule and process the data streams of each input port according to the scheduling strategy corresponding to the output port.

[0252] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0253] In one implementation, processing module 62 is specifically used for:

[0254] Obtain preset rule information; wherein, the preset rule information indicates the traffic characteristic information of each input port, as well as the service quality parameters corresponding to each service type, and their correspondence with the scheduling strategy;

[0255] Based on the traffic characteristics of the data streams at each input port and the service quality parameters corresponding to each service type, the preset rule information is queried to determine the scheduling strategy.

[0256] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0257] In one implementation, processing module 62 is specifically used for:

[0258] Based on the policy generation model, the scheduling policy is determined according to the traffic characteristics of the data flow of each input port and the service quality parameters corresponding to each service type.

[0259] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0260] In one implementation, processing module 62 is specifically used for:

[0261] Based on the traffic characteristics of the data stream at each input port, determine whether the output port meets the policy generation conditions;

[0262] If the output port meets the policy generation conditions, the scheduling policy is determined based on the traffic characteristics of the data flow of each input port and the service quality parameters corresponding to each service type.

[0263] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0264] In one implementation, processing module 62 is specifically used for:

[0265] For any input port, determine whether the rate of change between the flow characteristics of the data stream of the input port and the flow characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change.

[0266] If the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to a first preset rate of change, the input port is determined as the target input port.

[0267] Get the total number of target input ports;

[0268] Determine whether the total number of target input ports is greater than or equal to the preset number;

[0269] If the total number of target input ports is greater than or equal to a preset number, the output port is determined to meet the policy generation conditions; or,

[0270] If the total number of target input ports is less than the preset number, it is determined that the output port does not meet the policy generation conditions.

[0271] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0272] In one implementation, processing module 62 is specifically used for:

[0273] If the rate of change between the flow characteristics of the input port's data stream and the flow characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change, it is determined whether the rate of change between the flow characteristics of the input port and the flow characteristics of the second historical data stream of the input port is less than a second preset rate of change; wherein, the first historical acquisition time range corresponding to the flow characteristics of the first historical data stream is earlier than the second historical acquisition time range corresponding to the flow characteristics of the second historical data stream.

[0274] If the rate of change between the traffic characteristics of the data stream at the input port and the traffic characteristics of the second historical data stream at the input port is less than a second preset rate of change, the input port is determined as the target input port.

[0275] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0276] In one implementation, the control module 63 is specifically used for:

[0277] The scheduling policy corresponding to the output port is sent to the data transmission component so that the data transmission component can configure its registers according to the scheduling policy and schedule the data streams of each input port according to the register values.

[0278] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0279] In one implementation, the quality of service parameters include the target peak bandwidth, the target minimum guaranteed bandwidth, and the latency sensitivity level;

[0280] The scheduling strategy includes the actual peak bandwidth, actual minimum guaranteed bandwidth, and priority information for each service type.

[0281] The data stream scheduling device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.

[0282] This application embodiment also provides a computing device, including:

[0283] Processor, root complex, and multiple switching chips;

[0284] The processor is connected to the root complex;

[0285] The root complex is connected to at least one switching chip;

[0286] The processor is used to execute the technical solutions in the foregoing method embodiments.

[0287] The computing device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be repeated here.

[0288] In one implementation, the root complex is connected to one of a plurality of switching chips; the plurality of switching chips are cascaded in sequence.

[0289] The computing device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be repeated here.

[0290] This application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the technical solutions provided in the aforementioned method embodiments.

[0291] This application provides a computer program product, including a computer program, which, when executed by a processor, is used to implement the technical solutions provided in the aforementioned method embodiments.

[0292] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as volatile memory and non-volatile memory.

[0293] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A data stream scheduling method, characterized in that, A processor used in a computing device, the computing device including a root complex and a plurality of switching chips; the processor is connected to the root complex, and the root complex is connected to at least one switching chip; the method includes: For any data transmission component, the traffic characteristics of the data stream at each input port are obtained; each input port is a port of the data transmission component; the traffic characteristics include the service type; the data transmission component is the root complex or the switching chip. Based on the traffic characteristics of the data streams at each input port and the service quality parameters corresponding to each service type, the scheduling strategy corresponding to the output port is determined; the output port is the port of the data transmission component. The control data transmission component schedules and processes the data streams of each input port according to the scheduling strategy corresponding to the output port.

2. The method according to claim 1, characterized in that, The step of determining the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams from each input port and the obtained service quality parameters corresponding to each service type includes: Obtain preset rule information; wherein the preset rule information indicates the traffic characteristic information of each input port, the service quality parameters corresponding to each service type, and the correspondence with the scheduling strategy; Based on the traffic characteristics of the data streams from each input port and the quality of service parameters corresponding to each service type, the preset rule information is queried to determine the scheduling strategy.

3. The method according to claim 1, characterized in that, The step of determining the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams from each input port and the obtained service quality parameters corresponding to each service type includes: Based on the policy generation model, the scheduling policy is determined according to the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type.

4. The method according to any one of claims 1-3, characterized in that, The step of determining the scheduling strategy corresponding to the output port based on the traffic characteristics of the data streams from each input port and the service quality parameters corresponding to each service type includes: Based on the traffic characteristics of the data streams at each input port, determine whether the output port meets the policy generation conditions; If the output port meets the policy generation conditions, the scheduling policy is determined based on the traffic characteristics of the data streams of each input port and the service quality parameters corresponding to each service type.

5. The method according to claim 4, characterized in that, The step of determining whether the output port meets the policy generation conditions based on the traffic characteristics of the data streams from each input port includes: For any input port, determine whether the rate of change between the traffic characteristics of the data stream of the input port and the traffic characteristics of the first historical data stream of the input port is greater than or equal to a first preset rate of change. If the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to the first preset rate of change, the input port is determined to be the target input port. Get the total number of target input ports; Determine whether the total number of the target input ports is greater than or equal to a preset number; If the total number of target input ports is greater than or equal to the preset number, it is determined that the output port satisfies the policy generation condition; or, If the total number of target input ports is less than the preset number, it is determined that the output port does not meet the policy generation conditions.

6. The method according to claim 5, characterized in that, Determining the input port as a target input port when the rate of change between the traffic characteristics of the data stream at the input port and the traffic characteristics of the first historical data stream at the input port is greater than or equal to the first preset rate of change includes: If the rate of change between the flow characteristics of the data stream at the input port and the flow characteristics of the first historical data stream at the input port is greater than or equal to the first preset rate of change, it is determined whether the rate of change between the flow characteristics of the input port and the flow characteristics of the second historical data stream at the input port is less than the second preset rate of change; wherein, the first historical acquisition time range corresponding to the flow characteristics of the first historical data stream is earlier than the second historical acquisition time range corresponding to the flow characteristics of the second historical data stream. If the rate of change between the traffic characteristics of the data stream at the input port and the traffic characteristics of the second historical data stream at the input port is less than the second preset rate of change, the input port is determined to be the target input port.

7. The method according to any one of claims 1-6, characterized in that, The control unit for the data transmission performs scheduling processing on the data streams of each input port according to the scheduling strategy corresponding to the output port, including: The data transmission component sends a scheduling policy corresponding to the output port to the data transmission component, so that the data transmission component configures its registers according to the scheduling policy and schedules the data streams of each input port according to the value of the registers.

8. The method according to any one of claims 1-7, characterized in that, The quality of service parameters include target peak bandwidth, target minimum guaranteed bandwidth, and latency sensitivity level; The scheduling strategy includes the actual peak bandwidth, actual minimum guaranteed bandwidth, and priority information for each service type.

9. A computing device, characterized in that, include: Processor, root complex, and multiple switching chips; The processor is connected to the root complex; The root complex is connected to at least one switching chip; The processor is used to perform the method according to any one of claims 1-8.

10. The computing device according to claim 9, characterized in that, The root complex is connected to one of the multiple switching chips; the multiple switching chips are cascaded in sequence.