Equipment service quality enhancement method and device, equipment and storage medium
By generating service quality strategies based on business needs and using a programmable data plane in network switches, the method addresses the inflexibility of traditional QoS implementations, enabling dynamic adjustments to network conditions and improved traffic handling.
Patent Information
- Application Number
- CN202510787823.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-13
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2045-06-13
AI Technical Summary
The implementation of QoS in traditional switches mainly relies on fixed pipelines and predefined strategies inside the ASIC chip, and is poor in flexibility and difficult to adapt to rapidly changing business needs.
By receiving service quality policy configuration requests generated based on business needs, using the service quality controller to generate target service quality policy, and converting it into programmable data plane-compatible control instructions, it is processed against the network switching device through the programmable data plane, including traffic classification, queue scheduling and congestion control.
It realizes dynamic adjustment of service quality strategies according to business needs, improves the flexibility and programmability of switch QoS, can effectively deal with network congestion and burst traffic, and provides end-to-end QoS guarantee.
Smart Images

Figure CN120321114A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technologies, and particularly to methods, devices, equipment, and storage media for enhancing the quality of service of devices. Background Art
[0002] In today's rapidly developing field of network communication, with the wide application of technologies such as cloud computing, big data, and the Internet of Things, network traffic shows explosive growth and diversification. As a core device of network infrastructure, ensuring the quality of service (QoS) of switches is crucial for the efficient and stable operation of the network. Traditional switch QoS implementation solutions gradually expose many deficiencies when facing the requirements of modern network environments.
[0003] Currently, the implementation of traditional switch QoS mainly relies on the fixed pipelines and predefined policies inside ASIC (Application-Specific Integrated Circuit) chips. These policies are usually preconfigured by switch manufacturers during the hardware design phase, with poor flexibility. Once network service requirements change, such as the emergence of sudden traffic peaks or new applications, it is usually difficult to quickly adjust QoS policies to adapt to new requirements, thus limiting the flexibility and scalability of the network. Summary of the Invention
[0004] The main purpose of this application is to provide a method, device, equipment, and storage medium for enhancing the quality of service of devices, aiming to solve the technical problem that the implementation of switch service quality in the prior art mainly relies on fixed pipelines and predefined policies, with poor flexibility.
[0005] To achieve the above object, this application proposes a method for enhancing the quality of service of devices, the method including: Receiving a service quality policy configuration request generated based on service requirements; Generating a service quality policy by a service quality controller based on the service quality policy configuration request; Generating a target service quality control instruction based on the service quality policy, and sending the target service quality control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target service quality control instruction; Processing the data packets received by the network switching device by the programmable data plane based on the target service quality control instruction.
[0006] In one embodiment, a policy engine is provided in the quality of service controller; the step of generating a quality of service policy by the quality of service controller based on the quality of service policy configuration request includes: Determining the quality of service requirements by the policy engine according to the quality of service policy configuration request; Determining the quality of service level, the target user type, and the application type corresponding to the network running application according to the quality of service requirements; Generating a quality of service policy based on the quality of service level, the target user type, and the application type.
[0007] In one embodiment, a traffic classifier and a queue scheduler are provided in the programmable data plane; the step of processing the data packets received by the network switching device by the programmable data plane based on the target quality of service control instruction includes: Classifying the data packets by the traffic classifier based on the target quality of service control instruction and the header fields of the data packets received by the network switching device, so as to allocate the data packets to the corresponding target quality of service categories; Allocating queues for the data packets by the queue scheduler based on the target quality of service categories; When the allocation is completed, forwarding the data packets in each queue based on the queue priority and a preset queue scheduling algorithm.
[0008] In one embodiment, a priority marker is further provided in the programmable data plane; the step of allocating queues for the data packets by the queue scheduler based on the target quality of service categories includes: Determining the differentiated service code point information of the data packets by the priority marker based on the target quality of service categories; Marking the priority of the data packets by the priority marker according to the differentiated service code point information to obtain the priority marking information corresponding to the data packets; Allocating queues for the data packets by the queue scheduler according to the priority marking information.
[0009] In one embodiment, a congestion controller is further provided in the programmable data plane; after the step of forwarding the data packets in each queue based on the queue priority and a preset queue scheduling algorithm when the allocation is completed, the method further includes: During the forwarding process, monitoring the network congestion situation in real time by the congestion controller; When network congestion occurs, determining the network limit rate configured in the target quality of service control instruction; Adjusting the forwarding rate of the data packets according to the network limit rate.
[0010] In one embodiment, after the step of processing, by the programmable data plane, the data packets received by the network switching device based on the target quality of service control instruction, the method further includes: Periodically collecting telemetry data by the network switching device and sending the telemetry data to the quality of service controller; Judging, by the quality of service controller, whether global optimization adjustment of the quality of service policy is required according to the telemetry data; If so, globally optimizing and adjusting the quality of service policy by a global optimizer based on global network state information; Updating the quality of service policy based on the optimized quality of service policy.
[0011] In one embodiment, after the step of processing, by the programmable data plane, the data packets received by the network switching device based on the target quality of service control instruction, the method further includes: When receiving a quality of service policy adjustment request triggered based on a northbound data transmission interface, determining a quality of service policy to be adjusted and a policy adjustment method corresponding to the quality of service policy to be adjusted according to the quality of service policy adjustment request; Adjusting the quality of service policy to be adjusted based on the policy adjustment method; Sending the adjusted quality of service policy to the network switching device through a control plane interface.
[0012] In addition, to achieve the above object, the present application further provides a device quality of service enhancement device, the device includes: A request receiving module, configured to receive a quality of service policy configuration request generated based on service requirements; A policy generating module, configured to generate a quality of service policy by a quality of service controller based on the quality of service policy configuration request; An instruction generating module, configured to generate a target quality of service control instruction based on the quality of service policy and send the target quality of service control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target quality of service control instruction; A data packet processing module, configured to process, by the programmable data plane, the data packets received by the network switching device based on the target quality of service control instruction.
[0013] In addition, to achieve the above object, the present application further provides a device service quality enhancement device, which includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the device service quality enhancement method as described above.
[0014] In addition, to achieve the above object, the present application further provides a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium, and when the computer program is executed by a processor, it implements the steps of the device service quality enhancement method as described above.
[0015] The present application provides a device service quality enhancement method, which includes receiving a service quality policy configuration request generated based on service requirements; generating a service quality policy by a service quality controller based on the service quality policy configuration request; generating a target service quality control instruction based on the service quality policy, and sending the target service quality control instruction to a network switching device, where a programmable data plane is configured in the network switching device and the programmable data plane is compatible with the target service quality control instruction; processing, by the programmable data plane, the data packets received by the network switching device based on the target service quality control instruction; compared with the prior art in which the implementation of traditional switch QoS mainly relies on the fixed pipeline and predefined policies inside the ASIC chip, the flexibility is poor and it is difficult to adapt to the rapidly changing service requirements. Since the present invention can generate corresponding service quality policies based on service requirements and convert the service quality policies into target service quality control instructions compatible with the programmable data plane to process the data packets received by the network switching device, the technical problem that the implementation of switch service quality in the prior art mainly relies on fixed pipelines and predefined policies and has poor flexibility is solved. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The accompanying drawings here are incorporated into the specification and form a part of this specification, showing the embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application.
[0017] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0018] Figure 1 It is a schematic flow chart provided for the first embodiment of the device service quality enhancement method of the present application; Figure 2 It is a schematic flow chart provided for the second embodiment of the device service quality enhancement method of the present application; Figure 3 It is a schematic flowchart provided for the third embodiment of the method for enhancing the service quality of the device in this application; Figure 4 It is the overall flowchart of the method for enhancing the service quality of the device in this application; Figure 5 It is a schematic diagram of the module structure of the device service quality enhancement device in the embodiment of this application; Figure 6 It is a schematic diagram of the device structure of the hardware operating environment involved in the method for enhancing the service quality of the device in the embodiment of this application.
[0019] The realization of the purpose, functional features and advantages of this application will be further described with reference to the embodiments and the accompanying drawings. Detailed implementation manners
[0020] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of this application and are not used to limit this application.
[0021] To better understand the technical solutions of this application, the following will be described in detail in combination with the accompanying drawings of the specification and specific implementation manners.
[0022] The main solution of the embodiment of this application is: receiving a service quality policy configuration request generated based on service requirements; generating a service quality policy by a service quality controller based on the service quality policy configuration request; generating a target service quality control instruction based on the service quality policy, and sending the target service quality control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target service quality control instruction; processing the data packets received by the network switching device based on the target service quality control instruction through the programmable data plane.
[0023] Since in the prior art, the implementation of traditional switch QoS mainly depends on the fixed pipeline and predefined policies inside the ASIC chip, the flexibility is poor and it is difficult to adapt to the rapidly changing service requirements.
[0024] This application provides a solution, which can generate corresponding service quality policies based on service requirements, and convert the service quality policies into target service quality control instructions compatible with the programmable data plane to process the data packets received by the network switching device, thereby solving the technical problem that the implementation of switch service quality in the prior art mainly depends on fixed pipelines and predefined policies and has poor flexibility.
[0025] It should be noted that the execution entity of this embodiment can be a computing service device with data processing, network communication, and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of implementing the above functions, a device service quality enhancement device, or a device service quality enhancement system including a device service quality enhancement device, etc. Hereinafter, taking the device service quality enhancement system as an example (hereinafter referred to as the system), this embodiment and the following embodiments will be described.
[0026] Based on this, an embodiment of the present application provides a method for enhancing the quality of service of a device. Referring to Figure 1 , Figure 1 is a schematic flowchart of the first embodiment of the method for enhancing the quality of service of the device in the present application.
[0027] In this embodiment, the method for enhancing the quality of service of the device includes steps S10 to S40: Step S10: Receive a service quality policy configuration request generated based on business requirements.
[0028] It should be understood that the above business requirements can be specific requirements for the quality of service of different applications or services in the network. For example, bandwidth requirements (such as high bandwidth is required for video conferencing, and low bandwidth is tolerated for ordinary web browsing), latency sensitivity (such as low latency is required for real-time trading systems, and high latency is tolerated for file transfer), packet loss rate tolerance (such as VoIP is sensitive to packet loss, and a small amount of packet loss is tolerated for email transmission), priority (such as the priority of critical services needs to be higher than that of ordinary services), etc., or other special requirements set by users. This embodiment does not limit this.
[0029] It can be understood that the above service quality policy configuration request can be a request for instructing the system to configure the service quality policy. In this embodiment, the user can input the business requirements into the upper-layer application or cloud platform. After receiving the business requirements, the upper-layer application or cloud platform can generate a service quality policy configuration request based on the business requirements and send the service quality policy configuration request to the service quality controller in the system through the northbound API. Among them, the northbound API can be an interface for interaction between the upper-layer application or management system and the lower-layer network control or management system. It can provide a unified API interface for the upper-layer application or cloud platform to configure and manage the service quality policy; the service quality controller can be a device in the system responsible for formulating, distributing, and monitoring the service quality policy.
[0030] Step S20: Generate a service quality policy based on the service quality policy configuration request through the service quality controller.
[0031] Specifically, a policy engine is provided in the quality of service (QoS) controller; the step S20 includes: determining the QoS requirements through the policy engine according to the QoS policy configuration request; determining the QoS level, the target user type, and the application type corresponding to the network running application according to the QoS requirements; and generating a QoS policy based on the QoS level, the target user type, and the application type.
[0032] It should be noted that the above-mentioned policy engine can be a component for generating corresponding QoS policies according to the QoS requirements defined by users.
[0033] In this embodiment, the QoS controller can receive QoS requests from upper-layer applications or cloud platforms through the northbound API, and communicate with the SONiC switch through the control plane interface (such as gNMI) to issue QoS policies and collect network status information.
[0034] It can be understood that the above-mentioned QoS level can be the level of QoS provided by network service providers for users. In practical applications, the QoS level can usually be defined through a service level agreement (SLA). By defining different service levels, the generated QoS policies can provide corresponding levels of QoS according to the user's payment level and requirements, so as to achieve reasonable allocation and utilization of resources.
[0035] It should be understood that the above-mentioned target user type can be the category of users using network resources. For example, individual users, enterprise users, specific user groups, etc. are not limited in this embodiment. In practical applications, by identifying and distinguishing different users, the generated QoS policies can provide different QoS for different users to meet the needs and priorities of different users.
[0036] It should be noted that the above-mentioned application type can be the category corresponding to various application programs or services running in the network. In practical applications, since different application types usually have different requirements and sensitivities for network resources, by identifying and distinguishing different application types, the generated QoS policies can allocate different priorities and resources to different types of traffic to meet their respective needs. In this embodiment, by comprehensively considering factors such as application type, target user type, and QoS level to generate QoS policies, more refined and personalized traffic control can be achieved, thereby improving the overall network QoS and user experience.
[0037] Step S30: Generate a target service quality control instruction based on the service quality policy, and send the target service quality control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target service quality control instruction.
[0038] It should be noted that the above target service quality control instruction can be recognized by the programmable data plane and is used for service quality control; correspondingly, the programmable data plane can be a component that can perform data plane programming, such as a P4 (Programming Protocol-independent Packet Processors) programmable switch chip. Among them, P4 is an open-source, high-level programming language for the data plane, which allows users to directly write network applications using the P4 language, and then compile and configure the underlying device to complete the user's functional requirements. The P4 language defines the functions supported by the data plane, but the data plane still needs to receive control information sent by the control plane during operation to guide the data plane to implement correct forwarding behavior for the live network.
[0039] It should be understood that the above network switching device can be a network device used to connect multiple network devices (such as computers, printers, servers, etc.) and realize data transmission between them. The network switching device in this embodiment can include but is not limited to traditional switches and switches based on SONiC (Software for Open Networking in the Cloud). In this embodiment, the SONiC switch can run on the SONiC operating system and is equipped with a data plane that supports P4 programming.
[0040] In this embodiment, a P4 program can run in the programmable data plane of the SONiC switch. The P4 program adopts a modular design and can flexibly combine different QoS function modules. This program can define the QoS processing logic of the switch data plane, including traffic classification, priority marking, queue scheduling, congestion control, etc., and is compiled into instructions that can be executed by a specific switch chip through a P4 compiler. In practical applications, a policy dispatcher is set in the SONiC switch. Through the policy dispatcher, the service quality policy generated by the policy engine can be converted into a format that can be recognized by the P4 program to obtain the target service quality control instruction, and the target service quality control instruction is sent to the SONiC switch through the control plane interface. Among them, the P4 runtime agent on the SONiC switch receives the P4 runtime configuration and uses the chip SDK to modify the runtime state of the switch chip.
[0041] Step S40: Process the data packets received by the network switching device based on the target quality of service control instruction through the programmable data plane.
[0042] In practical applications, when a network switching device receives a data packet, it can process the data packet through the programmable data plane according to the matching rules and actions pre-configured in the target quality of service control instruction, including: traffic classification, priority marking, queue allocation, etc. In this solution, users can flexibly define and modify QoS policies based on the programmable data plane (such as P4), without relying on fixed pipelines, thereby improving the flexibility and programmability of QoS. At the same time, this solution can utilize the hardware acceleration ability of the programmable data plane to achieve line-speed QoS processing, thereby reducing the CPU load.
[0043] This embodiment provides a method for enhancing the quality of service of a device. The method discloses receiving a quality of service policy configuration request generated based on service requirements; generating a quality of service policy by a quality of service controller based on the quality of service policy configuration request; generating a target quality of service control instruction based on the quality of service policy, and sending the target quality of service control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target quality of service control instruction; processing the data packets received by the network switching device based on the target quality of service control instruction through the programmable data plane; compared with the prior art, the QoS implementation of traditional switches mainly relies on the fixed pipeline and predefined policies inside the ASIC chip, with poor flexibility and difficulty in adapting to rapidly changing service requirements. Since this embodiment can generate corresponding quality of service policies based on service requirements and convert the quality of service policies into target quality of service control instructions compatible with the programmable data plane to process the data packets received by the network switching device, the technical problem that the implementation of the switch quality of service in the prior art mainly relies on fixed pipelines and predefined policies and has poor flexibility is solved.
[0044] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar content as in the above-mentioned first embodiment can be referred to the above introduction and will not be repeated hereinafter. On this basis, please refer to Figure 2 , Figure 2 which is the flowchart provided for the second embodiment of the method for enhancing the quality of service of the device in the present application.
[0045] In this embodiment, a traffic classifier and a queue scheduler are set in the programmable data plane; step S40 of the method further includes steps S401 to S403: Step S401: The traffic classifier classifies the data packet based on the target quality of service control instruction and the header fields of the data packet received by the network switching device, so as to allocate the data packet to the corresponding target quality of service category.
[0046] It should be noted that the above traffic classifier can be a component that identifies and classifies traffic according to the header fields of data packets. In this embodiment, the traffic classifier can classify it into different quality of service categories according to the header fields of data packets (such as port number, IP address, protocol type, application type, etc.), that is, the target quality of service category corresponding to the data packet.
[0047] Step S402: The queue scheduler allocates queues for the data packets based on the target quality of service category.
[0048] It should be understood that the above queue scheduler can be a component that schedules data packets. In this embodiment, the queue scheduler can allocate data packets to different output queues according to the priority of the data packets and schedule them according to a certain scheduling algorithm.
[0049] Specifically, a priority marker is further set in the programmable data plane; the step S402 includes: determining the differentiated service code point information of the data packet by the priority marker based on the target quality of service category; marking the priority of the data packet by the priority marker according to the differentiated service code point information to obtain the corresponding priority marking information of the data packet; and allocating queues for the data packet by the queue scheduler according to the priority marking information.
[0050] It can be understood that the above priority marker can be a component for adding a priority marker to a data packet. In this embodiment, the priority marker can add a priority marker to the data packet according to the result of traffic classification. For example, an 802.1p priority or a DSCP value.
[0051] It should be noted that the above differential service code point information can be the DSCP (Differentiated Services Code Point) value of the data packet. Among them, the DSCP value can be a key field in the IP data packet header used to identify the service type and priority. Its core function is to support service quality management in the network. In this embodiment, the switch can perform priority marking on the data packet according to the DSCP value corresponding to the data packet to obtain the priority marking information corresponding to the data packet, and then allocate the data packet to different output queues according to the priority marking information. For example, high-priority traffic (such as voice traffic with DSCP = 46) is allocated to the low-latency queue, and low-priority traffic (such as default traffic with DSCP = 0) is allocated to the normal queue.
[0052] Step S403: When the allocation is completed, forward the data packets in each queue based on the queue priority and the preset queue scheduling algorithm.
[0053] It should be understood that the above preset queue scheduling algorithm can be an algorithm for scheduling data packets in the queue. For example, algorithms such as SP (Strict Priority), WRR (Weighted Round Robin), and DWRR (Deficit Weighted Round Robin) are not limited in this embodiment.
[0054] In practical applications, when the switch receives a data packet, it can first determine the target service quality category corresponding to the data packet through a traffic classifier according to the header fields of the data packet, and allocate the data packet to the corresponding target service quality category. Then, a priority marker can set a priority (such as DSCP, 802.1p) for the data packet according to the target service quality category to achieve priority marking of the data packet, obtain the priority marking information corresponding to the data packet, and a queue scheduler can perform queue allocation on the data packet according to the priority marking information to put the data packet into different queues, and take out the data packets from the queues according to a predefined scheduling algorithm (such as WRR, SP) for forwarding, so as to dynamically adjust the service quality according to the real-time network status, and thus can effectively cope with network congestion and burst traffic.
[0055] Furthermore, a congestion controller is also set in the programmable data plane; after step S403, it further includes: during the forwarding process, the congestion controller monitors the network congestion situation in real time; when network congestion occurs, determine the network limit rate configured in the target service quality control instruction; adjust the forwarding rate of the data packet according to the network limit rate.
[0056] It should be noted that the above congestion controller can be a component that optimizes network performance through mechanisms such as discarding, caching, or retransmitting when network congestion occurs.
[0057] It should be understood that the above network limiting rate can be the maximum allowable rate when forwarding data packets. In this embodiment, the congestion controller can monitor the network congestion situation in real time, and when network congestion occurs, dynamically adjust the forwarding rate of data packets according to a predefined network congestion control policy to prevent network congestion. Among them, the network congestion control policy in this embodiment can include, but is not limited to, the Random Early Detection (RED) algorithm and the Weighted Random Early Detection (WRED) algorithm.
[0058] In this embodiment, it is disclosed that a traffic classifier classifies data packets based on a target quality-of-service control instruction and the header fields of data packets received by a network switching device to allocate the data packets to corresponding target quality-of-service categories; a queue scheduler allocates queues to the data packets based on the target quality-of-service categories; when the allocation is completed, the data packets in each queue are forwarded based on queue priorities and a preset queue scheduling algorithm; since this embodiment can classify data packets by a traffic classifier based on a target quality-of-service control instruction, then allocate queues to the data packets by a queue scheduler based on the quality-of-service categories corresponding to the data packets, and forward the data packets in each queue when the allocation is completed, it can thus achieve dynamically adjusting the quality of service according to the real-time network status, and further can effectively cope with network congestion and burst traffic.
[0059] Based on the first embodiment and / or the second embodiment of this application, in the third embodiment of this application, for the same or similar content as the above embodiments, reference can be made to the above introduction and will not be repeated hereinafter. On this basis, please refer to Figure 3 , Figure 3 which is a schematic flow chart provided for the third embodiment of the method for enhancing the quality of service of the device in this application.
[0060] In this embodiment, after step S40, the method further includes steps S501 to S504: Step S501: Periodically collect telemetry data through the network switching device and send the telemetry data to the quality-of-service controller.
[0061] It should be understood that the above telemetry data can be dynamic data related to network performance, traffic characteristics, resource utilization, etc. collected and reported by the switch in real time. For example, queue length, packet loss rate, etc. This embodiment does not limit this. In this embodiment, the telemetry data can provide a basis for QoS policy optimization, fault troubleshooting, and resource scheduling.
[0062] Step S502: The quality of service controller determines whether global optimization adjustment of the quality of service policy is required according to the telemetry data.
[0063] It should be noted that a monitoring module is set in the quality of service controller in this embodiment. The monitoring module is responsible for collecting and analyzing network status information in real time (such as queue length, packet loss rate, delay). In practical applications, the network status information (such as queue length, packet loss rate, delay) of the SONiC switch can be collected in real time through the monitoring module in the quality of service controller, and it is judged whether the current network status triggers an alarm or policy adjustment according to the predefined threshold.
[0064] Step S503: If required, the global optimizer globally optimizes and adjusts the quality of service policy based on the global network status information.
[0065] It can be understood that the above global optimizer can be a decision engine in the quality of service controller for dynamically adjusting the quality of service policy; the above global network status information can be key indicators reflecting the real-time operation status of the network, such as queue length, packet loss rate, delay, etc. In this embodiment, the global optimizer can modify parameters such as queue weights and priority tags in real time according to the feedback of the monitoring module. For example, when the video conference traffic delay increases, its priority can be increased and the P2P traffic bandwidth can be compressed. In addition, the global optimizer can also balance indicators such as bandwidth utilization, delay, and packet loss rate to avoid performance degradation caused by the optimization of a single indicator.
[0066] In practical applications, when global optimization adjustment of the quality of service policy is required, the global optimizer can optimize the QoS policy according to the collected global network status information, so as to achieve end-to-end QoS guarantee. For example, when it is detected that a certain link in the network is congested, the traffic shaping policy on this link can be adjusted, or part of the traffic can be redirected to other links, so as to achieve global optimization.
[0067] Step S504: Update the quality of service policy based on the optimized quality of service policy.
[0068] It should be understood that after global optimization, the quality of service controller can send the updated P4 runtime configuration to the SONiC switch, so as to update the quality of service policy.
[0069] Further, after step S40, the method further includes: when receiving a service quality policy adjustment request triggered by a northbound data transmission interface, determining the service quality policy to be adjusted and the policy adjustment method corresponding to the service quality policy to be adjusted according to the service quality policy adjustment request; adjusting the service quality policy to be adjusted based on the policy adjustment method; and sending the adjusted service quality policy to the network switching device through a control plane interface.
[0070] It should be noted that the above northbound data transmission interface can be an interface for configuring and managing QoS policies, which is a unified API interface provided for upper-layer applications or cloud platforms. The upper-layer applications or cloud platforms can call the northbound API through protocols such as HTTP or gRPC.
[0071] It should be understood that the above service quality policy adjustment request can be a request for instructing the system to perform an adjustment operation on the service quality policy. Correspondingly, the above policy adjustment method can be a method for performing an adjustment operation on the service quality policy, including creation, deletion, modification, etc., which is not limited in this embodiment. In this embodiment, the functions that the northbound data transmission interface can provide include: 1) Creating / deleting QoS policies: allowing users to define new QoS policies or delete existing QoS policies; 2) Modifying QoS policies: allowing users to modify existing QoS policies, such as adjusting priorities, bandwidth limits, etc.; 3) Querying QoS status: allowing users to query the configuration status and running status of QoS policies.
[0072] In practical applications, with the development of cloud networks, the SONiC platform, as an open-source network operating system, has gradually become the mainstream choice for cloud data center networks. Among them, the existing QoS implementation solutions on SONiC usually rely on open-source Linux Traffic Control (TC) tools or perform secondary development based on the QoS functions provided by the ASIC SDK, and are still limited by the fixed functions of ASIC chips in terms of flexibility and scalability. In addition, in the face of large-scale networks and complex QoS policies, the existing solutions are complex in configuration and management, have poor scalability, and lack global traffic awareness and collaborative control capabilities, making it difficult to achieve end-to-end QoS guarantee. Therefore, this application can utilize the hardware acceleration ability of the programmable data plane to implement line-speed QoS processing, thereby reducing the CPU load. At the same time, this application can achieve unified management and control of QoS for large-scale networks through a centralized controller and distributed agents.
[0073] In specific implementation, refer to Figure 4 , Figure 4 is the overall flowchart of the device service quality enhancement method of this application. As Figure 4As shown in the figure, first, the user or the cloud platform can generate a QoS policy configuration request according to business requirements and send the QoS policy configuration request to the QoS controller through the northbound API. After receiving the QoS policy configuration request, the QoS controller can generate a corresponding QoS policy according to the QoS policy configuration request through the policy engine. Then, the policy dispatcher of the QoS controller can convert the QoS policy into a format recognizable by the P4 program and send it to the SONiC switch through the control plane interface. Among them, the P4 runtime agent on the SONiC switch receives the P4 runtime configuration and uses the chip SDK to modify the runtime state of the switching chip. After that, when a data packet arrives at the switch, the P4 program can process it according to the configured matching rules and actions, including traffic classification, priority marking, queue allocation, etc. Then, the queue scheduler can take out the data packet from the queue for forwarding according to the queue priority and scheduling algorithm. During the data packet processing, the SONiC switch can send the periodically collected telemetry data (such as queue length, packet loss rate) to the QoS controller. The monitoring module in the QoS controller can collect the network status information of the SONiC switch and judge whether to trigger an alarm or policy adjustment according to the predefined threshold. At the same time, the global optimizer can optimize the QoS policy according to the collected global network status information, so as to achieve end-to-end QoS guarantee.
[0074] In this embodiment, it is disclosed that the network switching device periodically collects telemetry data and sends the telemetry data to the quality of service controller; the quality of service controller judges whether it is necessary to globally optimize and adjust the quality of service policy according to the telemetry data; if necessary, the global optimizer globally optimizes and adjusts the quality of service policy based on the global network status information; the quality of service policy is updated based on the optimized quality of service policy; since this embodiment can globally optimize and adjust the quality of service policy based on the global network status information to update the quality of service policy, it can dynamically adjust the quality of service policy according to the telemetry data and the global network status, and achieve end-to-end QoS guarantee.
[0075] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the method for enhancing the device service quality of this application. Based on this technical concept, more forms of simple transformation are within the protection scope of this application.
[0076] This application also provides a device service quality enhancement device. Please refer to Figure 5 , the device service quality enhancement device includes: A request receiving module 10, configured to receive a quality of service policy configuration request generated based on business requirements; A policy generation module 20, configured to generate a quality of service (QoS) policy based on the QoS policy configuration request by a QoS controller; An instruction generation module 30, configured to generate a target QoS control instruction based on the QoS policy, and send the target QoS control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target QoS control instruction; A data packet processing module 40, configured to process data packets received by the network switching device based on the target QoS control instruction through the programmable data plane.
[0077] The device QoS enhancement apparatus provided in this application adopts the device QoS enhancement method in the above embodiment, and can solve the technical problem in the prior art that the implementation of the switch QoS mainly depends on fixed pipelines and predefined policies, with poor flexibility. Compared with the prior art, the beneficial effects of the device QoS enhancement apparatus provided in this application are the same as those of the device QoS enhancement method provided in the above embodiment, and other technical features in the device QoS enhancement apparatus are the same as the features disclosed in the method of the above embodiment, and will not be elaborated here.
[0078] This application provides a device QoS enhancement device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the device QoS enhancement method in the first embodiment above.
[0079] Refer to the following Figure 6 , which shows a schematic structural diagram of a device QoS enhancement device suitable for implementing the embodiments of this application. The device QoS enhancement device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 6 The device QoS enhancement device shown is only an example, and should not impose any limitation on the functions and usage scopes of the embodiments of this application.
[0080] As Figure 6As shown, the device service quality enhancement device may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to the program stored in the read-only memory 1002 or the program loaded from the storage device 1003 into the random access memory 1004. In the random access memory 1004, various programs and data required for the operation of the device service quality enhancement device are also stored. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other through a bus 1005. The input / output interface 1006 is also connected to the bus. Generally, the following systems may be connected to the input / output interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the device service quality enhancement device to communicate with other devices wirelessly or wiredly to exchange data. Although the figure shows a device service quality enhancement device with various systems, it should be understood that it is not required to implement or have all the shown systems. More or fewer systems can be alternatively implemented or had.
[0081] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device, or installed from the storage device 1003, or installed from the read-only memory 1002. When the computer program is executed by the processing device 1001, the above functions defined in the methods of the embodiments disclosed in the present application are executed.
[0082] The device service quality enhancement device provided by the present application adopts the device service quality enhancement method in the above embodiments and can solve the technical problem of device service quality enhancement. Compared with the prior art, the beneficial effects of the device service quality enhancement device provided by the present application are the same as those of the device service quality enhancement method provided by the above embodiments, and the other technical features in the device service quality enhancement device are the same as those disclosed in the method of the previous embodiment, and will not be elaborated here.
[0083] It should be understood that each part disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in a suitable manner in any one or more embodiments or examples.
[0084] As described above, the above are only specific embodiments of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in this application, and all should be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
[0085] This application provides a computer-readable storage medium with computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the device service quality enhancement method in the above embodiments.
[0086] The computer-readable storage medium provided by this application can be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM: Random Access Memory), read-only memory (ROM: Read Only Memory), erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this embodiment, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or combined with an instruction execution system or device. The program code contained on the computer-readable storage medium can be transmitted by any appropriate medium, including but not limited to: wires, optical cables, RF (RadioFrequency: radio frequency), etc., or any suitable combination of the above.
[0087] The above computer-readable storage medium can be included in the device service quality enhancement device; it can also exist separately without being assembled into the device service quality enhancement device.
[0088] The above computer-readable storage medium carries one or more programs, which, when executed by a device service quality enhancement device, cause the device service quality enhancement device to: receive a service quality policy configuration request generated based on service requirements; generate a service quality policy based on the service quality policy configuration request through a service quality controller; generate a target service quality control instruction based on the service quality policy, and send the target service quality control instruction to a network switching device, where a programmable data plane is configured in the network switching device and the programmable data plane is compatible with the target service quality control instruction; and process the data packets received by the network switching device based on the target service quality control instruction through the programmable data plane.
[0089] Computer program code for performing the operations of this application can be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., by connecting through an Internet service provider using the Internet).
[0090] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a part of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks can occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0091] The modules involved in the embodiments of this application can be implemented in software or in hardware. Among them, the name of the module does not constitute a limitation to the unit itself in some cases.
[0092] The readable storage medium provided in this application is a computer-readable storage medium. The computer-readable storage medium stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned method for enhancing the service quality of the device, and can solve the technical problem that the implementation of the service quality of the switch in the prior art mainly depends on fixed pipelines and predefined policies, and the flexibility is poor. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the method for enhancing the service quality of the device provided in the above embodiments, and will not be elaborated here.
[0093] This application also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the method for enhancing the service quality of the device as described above are implemented.
[0094] The computer program product provided in this application can solve the technical problem that the implementation of the service quality of the switch in the prior art mainly depends on fixed pipelines and predefined policies, and the flexibility is poor. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the method for enhancing the service quality of the device provided in the above embodiments, and will not be elaborated here.
[0095] The above are only some embodiments of this application, and do not limit the patent scope of this application accordingly. All equivalent structural transformations made under the technical concept of this application by using the content of the specification and drawings of this application, or directly / indirectly applied to other related technical fields, are included in the patent protection scope of this application.
Claims
1. A method for enhancing the quality of device services, characterized in that, The method described includes: Receiving a quality of service (QoS) policy configuration request generated based on service requirements; Generating a QoS policy by a QoS controller based on the QoS policy configuration request; Generating a target QoS control instruction based on the QoS policy and sending the target QoS control instruction to a network switching device, where a programmable data plane is configured in the network switching device and the programmable data plane is compatible with the target QoS control instruction; Processing the data packets received by the network switching device by the programmable data plane based on the target QoS control instruction.
2. The method according to claim 1, wherein A policy engine is set in the QoS controller; the step of generating a QoS policy by the QoS controller based on the QoS policy configuration request includes: Determining QoS requirements by the policy engine according to the QoS policy configuration request; Determining a QoS level, a target user type, and an application type corresponding to a network running application according to the QoS requirements; Generating a QoS policy based on the QoS level, the target user type, and the application type.
3. The method according to claim 1, wherein A traffic classifier and a queue scheduler are set in the programmable data plane; the step of processing the data packets received by the network switching device by the programmable data plane based on the target QoS control instruction includes: Classifying the data packets by the traffic classifier based on the target QoS control instruction and the header fields of the data packets received by the network switching device to allocate the data packets to corresponding target QoS categories; Allocating queues for the data packets by the queue scheduler based on the target QoS categories; When the allocation is completed, forwarding the data packets in each queue based on queue priorities and a preset queue scheduling algorithm.
4. The method according to claim 3, wherein A priority marker is also set in the programmable data plane; the step of allocating queues for the data packets by the queue scheduler based on the target QoS categories includes: Determining the differentiated services code point (DSCP) information of the data packets by the priority marker based on the target QoS categories; Marking the priorities of the data packets by the priority marker according to the DSCP information to obtain the priority marking information corresponding to the data packets; Allocating queues for the data packets by the queue scheduler according to the priority marking information.
5. The method according to claim 3, wherein A congestion controller is also set in the programmable data plane; after the step of forwarding the data packets in each queue based on queue priorities and a preset queue scheduling algorithm when the allocation is completed, it further includes: During the forwarding process, real-time monitoring of the network congestion situation by the congestion controller; When network congestion occurs, determining the network limit rate configured in the target QoS control instruction; Adjusting the forwarding rate of the data packets according to the network limit rate.
6. The method according to any one of claims 1 to 5, characterized in that, After the step of processing the data packets received by the network switching device by the programmable data plane based on the target QoS control instruction, it further includes: Periodically collect telemetry data through the network switching device and send the telemetry data to the quality of service controller; Judge whether it is necessary to globally optimize and adjust the quality of service policy according to the telemetry data through the quality of service controller; If necessary, globally optimize and adjust the quality of service policy based on the global network status information through the global optimizer; Update the quality of service policy based on the optimized quality of service policy.
7. The method according to any one of claims 1 to 5, characterized in that, After the step of processing the data packets received by the network switching device through the programmable data plane based on the target quality of service control instruction, it further includes: When receiving a quality of service policy adjustment request triggered based on the northbound data transmission interface, determine the quality of service policy to be adjusted and the policy adjustment method corresponding to the quality of service policy to be adjusted according to the quality of service policy adjustment request; Adjust the quality of service policy to be adjusted based on the policy adjustment method; Send the adjusted quality of service policy to the network switching device through the control plane interface.
8. An apparatus for enhancing the quality of device services, characterized in that, The device includes: A request receiving module, configured to receive a quality of service policy configuration request generated based on service requirements; A policy generation module, configured to generate a quality of service policy based on the quality of service policy configuration request through a quality of service controller; An instruction generation module, configured to generate a target quality of service control instruction based on the quality of service policy and send the target quality of service control instruction to a network switching device, where a programmable data plane is configured in the network switching device, and the programmable data plane is compatible with the target quality of service control instruction; A data packet processing module, configured to process the data packets received by the network switching device through the programmable data plane based on the target quality of service control instruction.
9. A device service quality enhancement device, characterized in that, The device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, where the computer program is configured to implement the steps of the device service quality enhancement method according to any one of claims 1 to 7.
10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the device service quality enhancement method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Dynamic selection of parameters for enhanced quality of service (QOS) and reliability
CN118369987A
Secure programmable in-band network telemetering method and system based on programmable switch P4
CN119945778A
Method for applying service quality technology in intelligent virtual switching
CN1738294A
Method for determining network optimization policy, apparatus, and system
US20240214280A1
Cited By
Virtualization method for audio-frequency integrated network resources
CN120785848A
Application dynamic compatibility method and system, electronic equipment and storage medium
CN120872402A
A dynamic compatibility method and system, an electronic device, and a storage medium are provided
CN120872402B