A path scheduling method, device and related equipment

CN122802437APending Publication Date: 2026-09-22NEW H3C TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610866128.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-15
Publication Date
2026-09-22

AI Technical Summary

Technical Problem

[0004]然而,现有技术方案需要部署独立的物理采集器及额外的交换机端口用于镜像流量,增加了硬件采购和维护成本;所有被监控端口的RoCE V2特征流量均需复制一份并通过网络镜像至采集器,占用了宝贵的业务带宽,尤其在高速率端口上问题更为突出;引入物理采集器增加了网络结构的复杂性,需要规划独立的采集网络或占用业务网络带宽

Benefits of technology

[0019]第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第二方面中任一项所述方法的步骤。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122802437A_ABST
    Figure CN122802437A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of network communication, in particular to a path scheduling method and device and related equipment. The method is applied to a control analyzer of a wisdom calculation center. The method comprises the following steps: respectively establishing distributed flow information reporting channels with each target network device in a network group under control; respectively sending NFLB strategy configurations to the target network devices, wherein the NFLB strategy configurations are used for instructing the target network devices to sample and upload to a local CPU for analysis the packets received on specified physical interfaces and capable of identifying flow start / flow end, obtaining packet characteristic information of the sampled packets, and uploading the packet characteristic information of the sampled packets to the control analyzer through the distributed flow information reporting channels between the target network devices and the control analyzer; determining flow information of flows to which each sampled packet belongs based on the characteristic information of each sampled packet reported by the target network devices, and scheduling forwarding paths of the flows based on the flow information of the flows to which each sampled packet belongs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network communication technology, and in particular to a path scheduling method, apparatus and related equipment. Background Technology

[0002] In intelligent computing data center networks, a 1:1 uplink-to-downlink bandwidth network structure is typically adopted, with a large number of equal-cost multi-path (ECMP) links. Traditional switches use a flow-by-flow forwarding hash algorithm based on five-tuples to achieve load balancing in the network. However, this can easily lead to traffic from multiple inlets being hashed to the same egress, while other egresses remain idle, resulting in uneven network load and localized congestion.

[0003] To address this issue, the existing technical solution involves global path navigation via an ADDC controller. The core of this solution is: the controller configures the switch's Telemetry Stream mirroring function, uses Access Control List (ACL) rules to match characteristic packets of the RoCE V2 (RDMA over Converged Ethernet version 2, a second-generation protocol for remote direct memory access over Ethernet) protocol, and mirrors these packets to a separate physical data collector. The physical data collector analyzes the packets, extracts communication relationships (e.g., 5-tuples, opcodes, queue pairs, etc.), and reports them to the controller. Based on the overall network topology and communication relationships, the controller calculates and distributes the optimal routing path.

[0004] However, existing technical solutions require the deployment of independent physical collectors and additional switch ports for traffic mirroring, which increases hardware procurement and maintenance costs. All RoCE V2 characteristic traffic of the monitored ports needs to be copied and mirrored to the collector through the network, which consumes valuable service bandwidth, especially on high-speed ports. Introducing physical collectors increases the complexity of the network structure, requiring the planning of an independent collection network or consuming service network bandwidth. Summary of the Invention

[0005] This application provides a path scheduling method, apparatus, and related equipment.

[0006] In a first aspect, this application provides a path scheduling method applied to a control analyzer in an intelligent computing center, the method comprising: Establish distributed flow information reporting channels with each target network device within the managed network; Network flow level load balancing (NFLB) policy configuration is sent to each target network device. The NFLB policy configuration is used to instruct the target network device to sample the packets received on the specified physical interface that can identify the start / end of the flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The packet feature information of the sampled packets is also sent to the control analyzer through the distributed flow information reporting channel between the control analyzer and the control analyzer. Based on the feature information of each sampled packet reported by each target network device, the flow information of the flow to which each sampled packet belongs is determined, and the forwarding path of each flow is scheduled based on the flow information of the flow to which each sampled packet belongs.

[0007] Optionally, the steps of establishing distributed flow information reporting channels with each target network device within the managed network include: Establish distributed flow information reporting channels based on the gRPC protocol with each target network device within the managed network.

[0008] Optionally, a message that can identify the start / end of a stream refers to a message with the RoCE protocol type and the opcode write first / write last; The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp, and operation code.

[0009] Optionally, the step of scheduling the forwarding path of each flow based on the flow information of each sampled packet includes: Based on the flow information of each sampled packet reported by each network device, the flow to which the sampled packet with opcode "write last" belongs is determined to be a terminated flow, and the flow to which the sampled packet with opcode "write first" belongs is determined to be a newly appeared flow; Adjust the overhead values ​​of each link in the forwarding path used to carry the terminated flow; Based on the five-tuple of the newly emerging flow, the current network topology, and the cost values ​​of each link, a forwarding path is calculated and allocated for the newly emerging flow.

[0010] Secondly, this application provides a path scheduling method applied to a network device, the method comprising: Establish a distributed streaming information reporting channel with the control analyzer of the intelligent computing center; Receive the network flow level load NFLB policy configuration sent by the control analyzer; Based on the NFLB policy configuration, packets received on the specified physical interface that can identify the start / end of a flow are sampled and sent to the local CPU for parsing to obtain the packet feature information of the sampled packets; The distributed flow information reporting channel transmits the packet feature information of the sampled packets to the control analyzer, so that the control analyzer can determine the flow information of each sampled packet based on the feature information of each sampled packet reported by each target network device, and schedule the forwarding path of each flow based on the flow information of each sampled packet.

[0011] Thirdly, this application provides a path scheduling device applied to a control analyzer in an intelligent computing center, the device comprising: Establishment unit, used to establish distributed flow information reporting channels with each target network device in the managed network; The sending unit is used to send Network Flow Load Balancing (NFLB) policy configurations to each target network device. The NFLB policy configurations are used to instruct the target network devices to sample packets received on a specified physical interface that can identify the start / end of a flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The sampled packet feature information is also sent to the control analyzer through a distributed flow information reporting channel between the device and the control analyzer. The scheduling unit is used to determine the flow information of each sampled packet based on the feature information of each sampled packet reported by each target network device, and to schedule the forwarding path of each flow based on the flow information of each sampled packet.

[0012] Optionally, when establishing distributed flow information reporting channels with each target network device within the managed network, the establishment unit is specifically used for: Establish distributed flow information reporting channels based on the gRPC protocol with each target network device within the managed network.

[0013] Optionally, a message that can identify the start / end of a stream refers to a message with the RoCE protocol type and the opcode write first / write last; The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp, and operation code.

[0014] Optionally, when scheduling the forwarding paths of each flow based on the flow information of each sampled packet, the scheduling unit is specifically used for: Based on the flow information of each sampled packet reported by each network device, the flow to which the sampled packet with opcode "write last" belongs is determined to be a terminated flow, and the flow to which the sampled packet with opcode "write first" belongs is determined to be a newly appeared flow; Adjust the overhead values ​​of each link in the forwarding path used to carry the terminated flow; Based on the five-tuple of the newly emerging flow, the current network topology, and the cost values ​​of each link, a forwarding path is calculated and allocated for the newly emerging flow.

[0015] Fourthly, this application provides a path scheduling device applied to a network device, the device comprising: Establish a unit to create a distributed streaming information reporting channel with the control analyzer of the intelligent computing center; The receiving unit is used to receive the network flow level load NFLB policy configuration sent by the control analyzer; The sampling unit is used to sample packets received on a specified physical interface that can identify the start / end of a flow based on the NFLB policy configuration and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The uploading unit is used to upload the packet feature information of the sampled packets to the control analyzer through the distributed flow information uploading channel, so that the control analyzer can determine the flow information of the flow to which each sampled packet belongs based on the feature information of each sampled packet reported by each target network device, and schedule the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs.

[0016] Fifthly, embodiments of this application provide a path scheduling device, which includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the first aspects above, according to the obtained program instructions.

[0017] In a sixth aspect, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method as described in any of the first aspects above.

[0018] Seventhly, embodiments of this application provide a path scheduling device, the path scheduling device comprising: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the second aspects above, according to the obtained program instructions.

[0019] Eighthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method as described in any of the second aspects above.

[0020] In summary, the path scheduling method provided in this application embodiment is applied to the control analyzer of an intelligent computing center. The method includes: establishing distributed flow information reporting channels with each target network device in the managed network; sending a Network Flow Load Balancing (NFLB) policy configuration to each target network device, wherein the NFLB policy configuration is used to instruct the target network device to sample packets received on a specified physical interface that can identify the start / end of a flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets; and sending the packet feature information of the sampled packets to the control analyzer through the distributed flow information reporting channel with the control analyzer; determining the flow information of the flow to which each sampled packet belongs based on the feature information of each sampled packet reported by each target network device; and scheduling the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs.

[0021] Using the path scheduling method provided in this application embodiment, the control analyzer establishes a distributed flow information reporting channel with the network device. The network device samples the packets received on the specified physical interface that can identify the start / end of the flow according to the hardware flow establishment method and sends them to the local CPU for parsing. After obtaining the packet feature information of the sampled packets, it sends them to the control analyzer periodically through the flow information reporting channel. The control analyzer completes global service traffic path planning and solves link congestion in the absence of a hardware collector, based on the overall network topology load. Attached Figure Description

[0022] 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 of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.

[0023] Figure 1 A detailed flowchart of a path scheduling method provided in an embodiment of this application; Figure 2 A detailed flowchart of another path scheduling method provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a path scheduling device provided in an embodiment of this application; Figure 4 This is a schematic diagram of another path scheduling device provided in an embodiment of this application; Figure 5 A schematic diagram of the hardware architecture of a path scheduling device provided in an embodiment of this application; Figure 6This is a schematic diagram of the hardware architecture of another path scheduling device provided in an embodiment of this application. Detailed Implementation

[0024] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.

[0025] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."

[0026] For example, see Figure 1 The diagram shown is a detailed flowchart of a path scheduling method provided in an embodiment of this application. This method is applied to the control analyzer of an intelligent computing center and includes the following steps: Step 100: Establish distributed flow information reporting channels with each target network device within the managed network.

[0027] In this embodiment of the application, when establishing distributed flow information reporting channels with each target network device within the managed network, a preferred implementation method is as follows: Establish distributed flow information reporting channels based on the gRPC protocol with each target network device within the managed network.

[0028] Specifically, the control analyzer (controller) sends gRPC (Google Remote Procedure Call) subscription configurations to the target network devices in the managed network that need to collect messages through the management channel, and establishes a distributed information flow reporting channel from the network devices to the controller with each target network device.

[0029] For example, suppose the controller manages a network including network device 1, network device 2, ..., network device n. If all network devices need to perform packet collection tasks, then the controller establishes flow information reporting channels based on the gRPC protocol with network device 1, network device 2, ..., network device n respectively. That is, flow information reporting channel 1 is established between the controller and network device 1, flow information reporting channel 2 is established between the controller and network device 2, ..., and flow information reporting channel n is established between the controller and network device n.

[0030] In this embodiment of the application, the target network device that needs to perform the message collection task can be all network devices in the controller-managed network or some network devices in the controller-managed network. In this embodiment of the application, no specific limitation is made.

[0031] Step 110: Send the Network Flow Load Balancing (NFLB) policy configuration to each target network device.

[0032] In this embodiment of the application, the above-mentioned NFLB (Network Flow Load-Balance) policy configuration is used to instruct the target network device to sample packets received on a specified physical interface that can identify the start / end of a flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets, and to send the packet feature information of the sampled packets to the control analyzer through a distributed flow information reporting channel between the device and the control analyzer.

[0033] In this embodiment of the application, the controller can configure the packet collection policy of each target network device based on user instructions. For example, it can send the Network Flow Load Balancing (NFLB) policy configuration to each network device so that each network device can perform subsequent packet collection operations according to the received NFLB policy configuration.

[0034] Specifically, after receiving the NFLB policy configuration sent by the controller, the target network device can determine, based on the NFLB policy configuration, which interfaces, what characteristics of the received packets need to be sampled, and sent to the CPU.

[0035] For example, the target network device, based on the received NFLB policy configuration, determines that it needs to sample and send the received packets that can identify the start / end of a flow to the local CPU on all interfaces.

[0036] In this embodiment of the application, the RoCE protocol is used as an example for illustration. The message that can identify the start / end of the flow refers to the message with the RoCE protocol type and the opcode write first / write last. The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp and opcode.

[0037] For example, a RoCE opcode of Write First can identify the start of a corresponding flow, while a RoCE opcode of Write Last can identify the end of a corresponding flow. Therefore, the target network device's hardware forwarding chip, while forwarding traffic packets normally, will, according to the configured NFLB policy, copy (sample) the identified RoCE opcode Write First / Last packets and send it to the local CPU for parsing and processing, without affecting the normal forwarding of the original packets. The analysis module of the network device's local CPU parses the sampled packets to extract the packet's five-tuple information, receive the ingress interface and timestamp, send the egress interface and timestamp, and other key metadata information to form flow information. This flow information is then reported to the controller through a distributed flow information reporting channel established with the controller.

[0038] Step 120: Based on the feature information of each sampled packet reported by each target network device, determine the flow information of the flow to which each sampled packet belongs, and schedule the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs.

[0039] In this embodiment, the controller aggregates the flow information reported by each target network device in the entire network, combines the topology and link status, calculates the optimal global path, and sends it to the network devices for execution through a routing protocol (e.g., Hash Group configuration), thereby dynamically adjusting the traffic path and avoiding congestion.

[0040] Specifically, in the embodiments of this application, when scheduling the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs, a preferred implementation is as follows: Based on the flow information of each sampled packet reported by each network device, the flow to which the sampled packet with opcode "write last" belongs is determined to be a terminated flow, and the flow to which the sampled packet with opcode "write first" belongs is determined to be a newly appeared flow; Adjust the overhead values ​​of each link in the forwarding path used to carry the terminated flow; Based on the five-tuple of the newly emerging flow, the current network topology, and the cost values ​​of each link, a forwarding path is calculated and allocated for the newly emerging flow.

[0041] Specifically, by parsing the characteristic information of each sampled packet reported by the network device, the flow to which each sampled packet belongs is determined. If it is determined that sampled packet 1 has the opcode "write last", then the flow to which sampled packet 1 belongs is determined to be an ended flow. This means that the forwarding path previously used to carry the flow to which sampled packet 1 belongs no longer needs to carry the flow to which sampled packet 1 belongs. At this time, the cost value of the forwarding path (including each link in the forwarding path) that previously carried the flow to which sampled packet 1 belongs can be adjusted.

[0042] If it is determined that sampled packet 2 has the opcode "write first," then the flow to which sampled packet 2 belongs is determined to be a newly started flow. At this point, path scheduling / allocation can be performed based on the five-tuple of sampled packet 2, the network topology, and the cost values ​​of each link to the flow to which sampled packet 2 belongs. Specifically, the optimal global path is calculated and distributed to each network included in the path through a routing protocol (e.g., HashGroup configuration), thereby dynamically adjusting the traffic path and avoiding congestion.

[0043] For example, see Figure 2 The diagram shown is a detailed flowchart of a path scheduling method provided in an embodiment of this application. This method is applied to a network device and includes the following steps: Step 200: Establish a distributed streaming information reporting channel with the control analyzer of the intelligent computing center.

[0044] Specifically, the network device receives the gRPC subscription configuration issued by the control analyzer and establishes a distributed flow information reporting channel with the controller based on the gRPC protocol.

[0045] Step 210: Receive the network flow level load (NFLB) policy configuration sent by the control analyzer.

[0046] In this embodiment of the application, the NFLB policy configuration received by the network device is used to instruct itself to sample packets received on a specified physical interface that can identify the start / end of a flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets, and to send the packet feature information of the sampled packets to the control analyzer through a distributed flow information reporting channel with the control analyzer.

[0047] Step 220: Based on the NFLB policy configuration, sample the packets received on the specified physical interface that can identify the start / end of the flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets.

[0048] In this embodiment of the application, the RoCE protocol is used as an example for illustration. The message that can identify the start / end of the flow refers to the message with the RoCE protocol type and the opcode write first / write last. The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp and opcode.

[0049] Step 230: The message feature information of the sampled message is sent to the control analyzer through the distributed flow information reporting channel.

[0050] In this embodiment of the application, the control analyzer determines the flow information of the flow to which each sampled packet belongs based on the feature information of each sampled packet reported by each target network device, and schedules the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs.

[0051] Based on the same inventive concept as the above-described embodiments applied to control analyzers, see, for example, the following... Figure 3 The diagram shown is a schematic representation of a path scheduling device provided in an embodiment of this application. This device is applied to the control analyzer of an intelligent computing center and includes: Establishment unit 30 is used to establish distributed flow information reporting channels with each target network device in the managed network; The sending unit 31 is used to send a Network Flow Load Balancing (NFLB) policy configuration to each target network device. The NFLB policy configuration is used to instruct the target network device to sample packets received on a specified physical interface that can identify the start / end of a flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The sampled packet feature information is also sent to the control analyzer through a distributed flow information reporting channel between the device and the control analyzer. The scheduling unit 32 is used to determine the flow information of each sampled packet based on the feature information of each sampled packet reported by each target network device, and to schedule the forwarding path of each flow based on the flow information of each sampled packet.

[0052] Optionally, when establishing distributed flow information reporting channels with each target network device within the managed network, the establishment unit 30 is specifically used for: Establish distributed flow information reporting channels based on the gRPC protocol with each target network device within the managed network.

[0053] Optionally, a message that can identify the start / end of a stream refers to a message with the RoCE protocol type and the opcode write first / write last; The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp, and operation code.

[0054] Optionally, when scheduling the forwarding path of each flow based on the flow information of each sampled packet, the scheduling unit 32 is specifically used for: Based on the flow information of each sampled packet reported by each network device, the flow to which the sampled packet with opcode "write last" belongs is determined to be a terminated flow, and the flow to which the sampled packet with opcode "write first" belongs is determined to be a newly appeared flow; Adjust the overhead values ​​of each link in the forwarding path used to carry the terminated flow; Based on the five-tuple of the newly emerging flow, the current network topology, and the cost values ​​of each link, a forwarding path is calculated and allocated for the newly emerging flow.

[0055] Based on the same inventive concept as the above-described embodiments applied to network devices, see, for example, the following: Figure 4 The diagram shown is a schematic representation of a path scheduling device according to an embodiment of this application. This device is applied to a network device and includes: Establishment unit 40 is used to establish a distributed streaming information reporting channel with the control analyzer of the intelligent computing center; Receiving unit 41 is used to receive the network flow level load NFLB policy configuration sent by the control analyzer; The sampling unit 42 is used to sample packets received on a specified physical interface that can identify the start / end of a flow based on the NFLB policy configuration and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The uploading unit 43 is used to upload the packet feature information of the sampled packets to the control analyzer through the distributed flow information uploading channel, so that the control analyzer can determine the flow information of the flow to which each sampled packet belongs based on the feature information of each sampled packet reported by each target network device, and schedule the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs.

[0056] These units can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when one of these units is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these units can be integrated together to form a system-on-a-chip (SOC).

[0057] Furthermore, regarding the path scheduling device provided in this application embodiment, from a hardware perspective, the hardware architecture diagram of the path scheduling device can be found in [reference needed]. Figure 5 As shown, the path scheduling device may include: a memory 50 and a processor 51. The memory 50 is used to store program instructions; the processor 51 calls the program instructions stored in the memory 50 and executes the method embodiment applied to the control analyzer as described above according to the obtained program instructions. The specific implementation method and technical effect are similar, and will not be described again here.

[0058] Optionally, this application also provides a control analyzer, including at least one processing element (or chip) for performing the above-described method embodiments applied to the control analyzer.

[0059] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments applied to a control analyzer.

[0060] Furthermore, regarding the path scheduling device provided in this application embodiment, from a hardware perspective, the hardware architecture diagram of the path scheduling device can be found in [reference needed]. Figure 6 As shown, the path scheduling device may include: a memory 60 and a processor 61. The memory 60 is used to store program instructions; the processor 61 calls the program instructions stored in the memory 60 and executes the method embodiment applied to the network device as described above according to the obtained program instructions. The specific implementation and technical effects are similar, and will not be described again here.

[0061] Optionally, this application also provides a network device, including at least one processing element (or chip) for performing the above-described method embodiments applied to a network device.

[0062] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments applied to a network device.

[0063] Here, a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, a machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.

[0064] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0065] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0066] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0067] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0068] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0069] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0070] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A path scheduling method, characterized in that, The method, applied to a control analyzer in an intelligent computing center, includes: Establish distributed flow information reporting channels with each target network device within the managed network; Network flow level load balancing (NFLB) policy configuration is sent to each target network device. The NFLB policy configuration is used to instruct the target network device to sample the packets received on the specified physical interface that can identify the start / end of the flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The packet feature information of the sampled packets is also sent to the control analyzer through the distributed flow information reporting channel between the control analyzer and the control analyzer. Based on the feature information of each sampled packet reported by each target network device, the flow information of the flow to which each sampled packet belongs is determined, and the forwarding path of each flow is scheduled based on the flow information of the flow to which each sampled packet belongs.

2. The method as described in claim 1, characterized in that, The steps for establishing distributed flow information reporting channels with each target network device within the managed network include: Establish distributed flow information reporting channels based on the gRPC protocol with each target network device within the managed network.

3. The method as described in claim 1, characterized in that, A message that can identify the start / end of a stream refers to a message with the RoCE protocol type and the opcode write first / write last. The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp, and operation code.

4. The method as described in claim 3, characterized in that, The steps for scheduling the forwarding paths of each flow based on the flow information of each sampled packet include: Based on the flow information of each sampled packet reported by each network device, the flow to which the sampled packet with opcode "write last" belongs is determined to be a terminated flow, and the flow to which the sampled packet with opcode "write first" belongs is determined to be a newly appeared flow; Adjust the overhead values ​​of each link in the forwarding path used to carry the terminated flow; Based on the five-tuple of the newly emerging flow, the current network topology, and the cost values ​​of each link, a forwarding path is calculated and allocated for the newly emerging flow.

5. A path scheduling method, characterized in that, Applied to network devices, the method includes: Establish a distributed streaming information reporting channel with the control analyzer of the intelligent computing center; Receive the network flow level load NFLB policy configuration sent by the control analyzer; Based on the NFLB policy configuration, packets received on the specified physical interface that can identify the start / end of a flow are sampled and sent to the local CPU for parsing to obtain the packet feature information of the sampled packets; The distributed flow information reporting channel transmits the packet feature information of the sampled packets to the control analyzer, so that the control analyzer can determine the flow information of each sampled packet based on the feature information of each sampled packet reported by each target network device, and schedule the forwarding path of each flow based on the flow information of each sampled packet.

6. A path scheduling device, characterized in that, A control analyzer applied to an intelligent computing center, the device comprising: Establishment unit, used to establish distributed flow information reporting channels with each target network device in the managed network; The sending unit is used to send Network Flow Load Balancing (NFLB) policy configurations to each target network device. The NFLB policy configurations are used to instruct the target network devices to sample packets received on a specified physical interface that can identify the start / end of a flow and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The sampled packet feature information is also sent to the control analyzer through a distributed flow information reporting channel between the device and the control analyzer. The scheduling unit is used to determine the flow information of each sampled packet based on the feature information of each sampled packet reported by each target network device, and to schedule the forwarding path of each flow based on the flow information of each sampled packet.

7. The apparatus as claimed in claim 6, characterized in that, When establishing distributed flow information reporting channels with each target network device within the managed network, the establishment unit is specifically used for: Establish distributed flow information reporting channels based on the gRPC protocol with each target network device within the managed network.

8. The apparatus as claimed in claim 6, characterized in that, A message that can identify the start / end of a stream refers to a message with the RoCE protocol type and the opcode write first / write last. The message feature information includes a 5-tuple, ingress / egress interface, sampling timestamp, and operation code.

9. The apparatus as claimed in claim 8, characterized in that, When scheduling the forwarding paths of each flow based on the flow information of each sampled packet, the scheduling unit is specifically used for: Based on the flow information of each sampled packet reported by each network device, the flow to which the sampled packet with opcode "write last" belongs is determined to be a terminated flow, and the flow to which the sampled packet with opcode "write first" belongs is determined to be a newly appeared flow; Adjust the overhead values ​​of each link in the forwarding path used to carry the terminated flow; Based on the five-tuple of the newly emerging flow, the current network topology, and the cost values ​​of each link, a forwarding path is calculated and allocated for the newly emerging flow.

10. A path scheduling device, characterized in that, Applied to network devices, the device includes: Establish a unit to create a distributed streaming information reporting channel with the control analyzer of the intelligent computing center; The receiving unit is used to receive the network flow level load NFLB policy configuration sent by the control analyzer; The sampling unit is used to sample packets received on a specified physical interface that can identify the start / end of a flow based on the NFLB policy configuration and send them to the local CPU for parsing to obtain the packet feature information of the sampled packets. The uploading unit is used to upload the packet feature information of the sampled packets to the control analyzer through the distributed flow information uploading channel, so that the control analyzer can determine the flow information of the flow to which each sampled packet belongs based on the feature information of each sampled packet reported by each target network device, and schedule the forwarding path of each flow based on the flow information of the flow to which each sampled packet belongs.

11. A path scheduling device, characterized in that, The path scheduling device includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of claims 1-5 according to the obtained program instructions.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the steps of the method as described in any one of claims 1-5.