Device service quality enhancement method, apparatus, device, and storage medium
By generating service quality policies based on business needs and converting them into programmable data plane control instructions, the problem of insufficient QoS flexibility in traditional switches is solved, enabling flexible QoS processing and dynamic adjustment, and improving network adaptability and efficiency.
Patent Information
- Application Number
- CN202510787823.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-13
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-06-13
AI Technical Summary
Traditional switches rely mainly on fixed pipelines and predefined policies within the ASIC chip for QoS implementation, which is inflexible and difficult to adapt to rapidly changing business needs.
By receiving service quality policy configuration requests generated based on business needs, the service quality controller generates policies and converts them into target service quality control instructions compatible with the programmable data plane. The programmable data plane then processes the data packets received by the network switching equipment, including operations such as traffic classification, priority marking, and queue scheduling.
It improves the flexibility and programmability of the switch's QoS, enabling dynamic adjustment of policies to adapt to changes in the network environment, reducing CPU load, and achieving line-speed QoS processing.
Smart Images

Figure CN120321114B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of network communication, and in particular to a device quality of service enhancement method and device, equipment and a storage medium. BACKGROUND
[0002] In the rapidly developing field of network communication today, with the widespread application of cloud computing, big data, Internet of Things and other technologies, network traffic is showing explosive growth and diversification. As the core device of network infrastructure, the quality of service (QoS) of the switch is crucial to ensure the efficient and stable operation of the network. The traditional switch QoS implementation scheme gradually exposes many shortcomings when facing the needs of modern network environment.
[0003] Currently, the traditional switch QoS implementation mainly relies on the fixed pipeline and pre-defined strategies inside the ASIC (Application-Specific Integrated Circuit) chip. These strategies are usually pre-configured by the switch manufacturer during the hardware design phase, and have poor flexibility. Once the network service demand changes, such as a sudden traffic peak or a new application, it is usually difficult to quickly adjust the QoS strategy to adapt to the new demand, thereby limiting the flexibility and scalability of the network. SUMMARY
[0004] The main purpose of the present application is to provide a device quality of service enhancement method, device, equipment and storage medium, which aims to solve the technical problem that the implementation of the quality of service of the switch in the prior art mainly relies on fixed pipeline and pre-defined strategies, and has poor flexibility.
[0005] To achieve the above purpose, the present application provides a device quality of service enhancement method, which comprises:
[0006] receiving a quality of service strategy configuration request generated based on service demand;
[0007] generating a quality of service strategy based on the quality of service strategy configuration request through a quality of service controller;
[0008] generating a target quality of service control instruction based on the quality of service strategy, and sending the target quality of service control instruction to a network switching device, wherein the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target quality of service control instruction;
[0009] processing the data packets received by the network switching device based on the target quality of service control instruction through the programmable data plane.
[0010] In an embodiment, the service quality controller is provided with a policy engine; the step of generating a service quality policy by the service quality controller based on the service quality policy configuration request comprises:
[0011] determining a service quality requirement by the policy engine according to the service quality policy configuration request;
[0012] determining a service quality level, a target user type and an application type corresponding to a network running application according to the service quality requirement;
[0013] generating a service quality policy based on the service quality level, the target user type and the application type.
[0014] In an embodiment, the programmable data plane is provided with a traffic classifier and a queue scheduler; the step of processing a data packet received by the network switching device by the programmable data plane based on the target service quality control instruction comprises:
[0015] classifying the data packet by the traffic classifier based on the target service quality control instruction and a header field of the data packet received by the network switching device, to assign the data packet to a corresponding target service quality class;
[0016] performing queue assignment on the data packet by the queue scheduler based on the target service quality class;
[0017] when the assignment is completed, forwarding the data packet in each queue based on queue priority and a preset queue scheduling algorithm.
[0018] In an embodiment, the programmable data plane is further provided with a priority marker; the step of performing queue assignment on the data packet by the queue scheduler based on the target service quality class comprises:
[0019] determining differentiated services code point information of the data packet by the priority marker based on the target service quality class;
[0020] performing priority marking on the data packet by the priority marker according to the differentiated services code point information, to obtain priority marking information corresponding to the data packet;
[0021] performing queue assignment on the data packet by the queue scheduler according to the priority marking information.
[0022] In an embodiment, the programmable data plane is further provided with a congestion controller; after the step of forwarding the data packet in each queue based on queue priority and a preset queue scheduling algorithm when the assignment is completed, the method further comprises:
[0023] In the forwarding process, the network congestion is monitored in real time by the congestion controller;
[0024] When network congestion occurs, a network limit rate configured in the target service quality control instruction is determined;
[0025] The forwarding rate of the data packet is adjusted according to the network limit rate.
[0026] In an embodiment, after the step of processing the data packet received by the network switching device based on the target service quality control instruction by the programmable data plane, the method further comprises:
[0027] Telemetry data is periodically collected by the network switching device, and the telemetry data is sent to the service quality controller;
[0028] Whether the service quality policy needs to be globally optimized and adjusted is determined by the service quality controller according to the telemetry data;
[0029] If so, the service quality policy is globally optimized and adjusted by a global optimizer based on global network state information;
[0030] The service quality policy is updated based on the optimized service quality policy.
[0031] In an embodiment, after the step of processing the data packet received by the network switching device based on the target service quality control instruction by the programmable data plane, the method further comprises:
[0032] When a service quality policy adjustment request triggered based on a northbound data transmission interface is received, a to-be-adjusted service quality policy and a policy adjustment mode corresponding to the to-be-adjusted service quality policy are determined according to the service quality policy adjustment request;
[0033] The to-be-adjusted service quality policy is adjusted based on the policy adjustment mode;
[0034] The adjusted service quality policy is sent to the network switching device through a control plane interface.
[0035] In addition, to achieve the above-mentioned purpose, the application further provides a device service quality enhancement device, the device comprises:
[0036] A request receiving module is configured to receive a service quality policy configuration request generated based on a service requirement;
[0037] A policy generating module is configured to generate a service quality policy based on the service quality policy configuration request by a service quality controller;
[0038] an instruction generation module configured to 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, wherein the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target service quality control instruction;
[0039] a data packet processing module configured to process data packets received by the network switching device based on the target service quality control instruction through the programmable data plane.
[0040] In addition, to achieve the above object, the present application further provides a device service quality enhancement device, which comprises a memory, a processor, and a computer program stored in 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.
[0041] In addition, to achieve the above object, the present application further provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the device service quality enhancement method as described above.
[0042] The present application provides a device service quality enhancement method, and the present application discloses receiving a service quality policy configuration request generated based on service requirements; generating a service quality policy based on the service quality policy configuration request through a service quality controller; 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, wherein the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target service quality control instruction; processing data packets received by the network switching device based on the target service quality control instruction through the programmable data plane; compared with the conventional switch QoS implementation in the prior art which mainly relies on the fixed pipeline and the predefined policy inside the ASIC chip, the flexibility is poor, and it is difficult to adapt to the rapidly changing service requirements, since the present application can generate a corresponding service quality policy based on service requirements, and convert the service quality policy into a target service quality control instruction compatible with the programmable data plane to process data packets received by the network switching device, thereby solving the technical problem that the implementation of the switch service quality in the prior art mainly relies on the fixed pipeline and the predefined policy, and the flexibility is poor. BRIEF DESCRIPTION OF DRAWINGS
[0043] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and serve to explain the principles of the present application together with the specification.
[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings are only for the purpose of illustrating the embodiments of the present application, and for the person of ordinary skill in the art, other drawings can be obtained without creative labor.
[0045] Figure 1 The flowchart provided by the device service quality enhancement method embodiment one of the present application;
[0046] Figure 2 The flowchart provided by the device service quality enhancement method embodiment two of the present application;
[0047] Figure 3 The flowchart provided by the device service quality enhancement method embodiment three of the present application;
[0048] Figure 4 The overall flowchart of the device service quality enhancement method of the present application;
[0049] Figure 5 The module structure diagram of the device service quality enhancement apparatus of the present application embodiment;
[0050] Figure 6 The device structure diagram of the hardware running environment involved in the device service quality enhancement method in the present application embodiment.
[0051] The purpose of the present application, the function characteristics and the advantages will be further explained in combination with the embodiments and the accompanying drawings. DETAILED DESCRIPTION
[0052] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application, and are not used to limit the present application.
[0053] In order to better understand the technical solutions of the present application, the specific embodiments will be described in detail in combination with the drawings of the specification and the specific embodiments.
[0054] The main solution of the present application embodiment is: receiving a service quality policy configuration request generated based on service demand; generating a service quality policy based on the service quality policy configuration request through a service quality controller; 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, the network switching device is configured with a programmable data plane, the programmable data plane is compatible with the target service quality control instruction; processing the data packet received by the network switching device based on the target service quality control instruction through the programmable data plane.
[0055] Since the conventional switch QoS implementation in the prior art mainly relies on the fixed pipeline and predefined strategy inside the ASIC chip, the flexibility is poor, and it is difficult to adapt to the rapidly changing service requirements.
[0056] The present application provides a solution, which can generate corresponding service quality strategy based on service requirements, and convert the service quality strategy into programmable data plane compatible target service quality control instruction to process the data packet received by the network switching device, thereby solving the technical problem that the switch service quality implementation in the prior art mainly relies on the fixed pipeline and predefined strategy, and the flexibility is poor.
[0057] It should be noted that the execution subject of the present 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 realizing the above functions, a device service quality enhancement device, or a device service quality enhancement system containing the device service quality enhancement device, etc. The present embodiment and the following embodiments will be described below taking the device service quality enhancement system as an example (hereinafter referred to as the system).
[0058] Based on this, the present embodiment provides a device service quality enhancement method, which refers to Figure 1 , Figure 1 The flowchart of the first embodiment of the device service quality enhancement method of the present application is shown in the figure.
[0059] In the present embodiment, the device service quality enhancement method comprises steps S10-S40:
[0060] Step S10: receiving a service quality strategy configuration request generated based on service requirements.
[0061] It should be understood that the above service requirements can be the specific requirements of different applications or services in the network for service quality, such as bandwidth requirements (e.g. video conference requires high bandwidth, ordinary web browsing tolerates low bandwidth), delay sensitivity (e.g. real-time transaction system requires low delay, file transfer can tolerate high delay), packet loss tolerance (e.g. VoIP is sensitive to packet loss, email transmission tolerates a small amount of packet loss), priority (e.g. the priority of critical business needs to be higher than that of ordinary business), etc., or other special requirements set by users, which are not limited in the present embodiment.
[0062] It can be understood that the service quality policy configuration request can be a request for instructing the system to configure the service quality policy. In the embodiment, a user can input a service requirement to an upper application or a cloud platform. After receiving the service requirement, the upper application or the cloud platform can generate a service quality policy configuration request based on the service requirement, and send the service quality policy configuration request to a service quality controller in the system through a northbound API. The northbound API can be an interface for interaction between an upper application or a management system and a lower network control or management system, which can provide a unified API interface for the upper application or the cloud platform to configure and manage the service quality policy. The service quality controller can be a device responsible for formulating, issuing and monitoring the service quality policy in the system.
[0063] Step S20: generating a service quality policy based on the service quality policy configuration request by the service quality controller.
[0064] Specifically, the service quality controller is provided with a policy engine. The step S20 includes: determining a service quality requirement according to the service quality policy configuration request by the policy engine; determining a service quality level, a target user type and an application type corresponding to a network running application program according to the service quality requirement; and generating a service quality policy based on the service quality level, the target user type and the application type.
[0065] It should be noted that the policy engine can be a component for generating a corresponding service quality policy according to a service quality requirement defined by a user.
[0066] In the embodiment, the service quality controller can receive a QoS request of the upper application or the cloud platform through the northbound API, and communicate with a SONiC switch through a control plane interface (such as gNMI) to issue a QoS policy and collect network state information.
[0067] It can be understood that the service quality level can be a level of service quality provided by a network service provider for a user. In actual application, the service quality level can be usually defined by a service level agreement (SLA). By defining different service levels, the generated service quality policy can provide a corresponding level of service quality for a user according to the user's payment level and requirement, so as to realize reasonable allocation and utilization of resources.
[0068] It should be understood that the above target user type can be a category of users using network resources, for example, personal users, enterprise users, specific user groups, etc., and the embodiments are not limited thereto. In actual application, by identifying and distinguishing different users, the generated service quality policy can provide different service qualities for different users to meet the needs and priorities of different users.
[0069] It should be noted that the above application type can be a category corresponding to various application programs or services running in the network. In actual application, since the requirements and sensitivity of different application types for network resources are usually different, by identifying and distinguishing different application types, the generated service quality policy can allocate different priorities and resources for different types of traffic to meet their respective needs. In the present embodiment, the service quality policy is generated by comprehensively considering the application type, target user type, and service quality level, etc., so that more refined and personalized traffic control can be achieved, thereby improving the overall network service quality and user experience.
[0070] Step S30: 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, wherein the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target service quality control instruction.
[0071] It should be noted that the above target service quality control instruction can be an instruction that can be identified by the programmable data plane for service quality control; correspondingly, the programmable data plane can be a component that can program the data plane, for example, a P4 (Programming Protocol-independent Packet Processors) programmable switching chip, wherein P4 is an open-source, data-plane high-level programming language that allows users to directly use P4 language to write network applications, and then compile and configure the underlying device to complete the functional requirements of the user. P4 language defines the functions supported by the data plane, but the data plane still needs to receive control information issued by the control plane at runtime to guide the data plane to implement correct forwarding behavior in the live network.
[0072] It should be understood that the above network switching device can be a network device for connecting multiple network devices (such as computers, printers, servers, etc.) and realizing data transmission between them, and the network switching device in the present embodiment can include but is not limited to a traditional switch and a SONiC (Software for Open Networking in the Cloud) based switch. In the present embodiment, the SONiC switch can run on a SONiC operating system and be equipped with a P4 programmable data plane.
[0073] In the embodiment, a P4 program can be run in the programmable data plane of the SONiC switch, the P4 program is modularly designed and different QoS function modules can be flexibly combined, the program can define the QoS processing logic of the data plane of the switch, including traffic classification, priority marking, queue scheduling, congestion control, etc., and is compiled into instructions executable by a specific switch chip through a P4 compiler. In actual application, a policy distributor is arranged in the SONiC switch, the service quality policy generated by the policy engine can be converted into a format recognizable by the P4 program through the policy distributor to obtain target service quality control instructions, and the target service quality control instructions are delivered to the SONiC switch through a control plane interface. The P4 runtime agent on the SONiC switch receives the P4 runtime configuration and modifies the runtime state of the switch chip using the chip SDK.
[0074] Step S40: processing, by the programmable data plane, a data packet received by the network switching device based on the target service quality control instruction.
[0075] In actual application, when the network switching device receives a data packet, the data packet can be processed by the programmable data plane according to the matching rule and action preconfigured in the target service quality control instruction, including traffic classification, priority marking, and queue allocation. In the scheme, the user can flexibly define and modify the QoS policy based on the programmable data plane (for example, P4), without relying on a fixed pipeline, thereby improving the flexibility and programmability of the QoS. At the same time, the scheme can utilize the hardware acceleration capability of the programmable data plane to realize line-speed QoS processing, thereby reducing the CPU load.
[0076] The embodiment provides a device service quality enhancement method, which discloses receiving a service quality policy configuration request generated based on service requirements; generating a service quality policy based on the service quality policy configuration request through a service quality controller; 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, wherein the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target service quality control instruction; processing a data packet received by the network switching device based on the target service quality control instruction through the programmable data plane; compared with the prior art, the traditional switch QoS implementation mainly depends on the fixed pipeline and the predefined policy in the ASIC chip, and the flexibility is poor, and it is difficult to adapt to the rapidly changing service requirements. Since the embodiment can generate a corresponding service quality policy based on service requirements, and convert the service quality policy into a target service quality control instruction compatible with the programmable data plane to process a data packet received by the network switching device, the technical problem that the switch service quality implementation in the prior art mainly depends on the fixed pipeline and the predefined policy, and the flexibility is poor is solved.
[0077] Based on the first embodiment of the application, in the second embodiment of the application, the same or similar contents as the above-mentioned first embodiment can be referred to the above description, and the subsequent description will not be repeated. On this basis, please refer to Figure 2 , Figure 2 The flowchart provided for the second embodiment of the device service quality enhancement method of the application.
[0078] In the embodiment, the programmable data plane is provided with a traffic classifier and a queue scheduler; and the step S40 further includes steps S401-S403.
[0079] The step S401 comprises: performing traffic classification on the data packet based on the target service quality control instruction and the header field of the data packet received by the network switching device through the traffic classifier, so as to allocate the data packet to a corresponding target service quality category.
[0080] It should be noted that the traffic classifier can be a component for identifying and classifying traffic according to the header field of the data packet. In the embodiment, the traffic classifier can classify the data packet into different service quality categories according to the header field (such as port number, IP address, protocol type, application type, etc.) of the data packet, that is, the target service quality category corresponding to the data packet.
[0081] The step S402 comprises: performing queue allocation on the data packet based on the target service quality category through the queue scheduler.
[0082] It should be understood that the above queue scheduler can be a component for scheduling data packets. In the embodiment, the queue scheduler can assign data packets to different output queues according to the priorities of the data packets and schedule the data packets according to a scheduling algorithm.
[0083] Specifically, the programmable data plane is further provided with a priority marker; the step S402 comprises: determining, by the priority marker, differentiated services code point information of the data packet based on the target quality of service class; marking, by the priority marker, the data packet according to the differentiated services code point information to obtain priority marking information corresponding to the data packet; and performing, by the queue scheduler, queue assignment on the data packet according to the priority marking information.
[0084] It can be understood that the above priority marker can be a component for adding priority marking to data packets. In the embodiment, the priority marker can add priority marking to data packets according to the result of traffic classification, for example, 802.1p priority or DSCP value.
[0085] It should be noted that the above differentiated services code point information can be a DSCP (Differentiated Services Code Point) value of a data packet, wherein the DSCP value can be a key field in an IP packet header for identifying service type and priority, and the core function thereof is to support quality of service management in a network. In the embodiment, the switch can mark the data packet according to the DSCP value corresponding to the data packet to obtain priority marking information corresponding to the data packet, and then assign the data packet to different output queues according to the priority marking information, for example, assign high-priority traffic (such as voice traffic with DSCP=46) to a low-latency queue and assign low-priority traffic (such as default traffic with DSCP=0) to a normal queue.
[0086] Step S403: When the assignment is completed, the data packets in each queue are forwarded based on queue priority and a preset queue scheduling algorithm.
[0087] It should be understood that the above preset queue scheduling algorithm can be an algorithm for scheduling data packets in a queue, for example, SP (Strict Priority), WRR (Weighted Round Robin), DWRR (Deficit Weighted Round Robin), etc., which is not limited in the embodiment.
[0088] In actual application, when the switch receives a data packet, the target service quality class corresponding to the data packet can be determined according to the header field of the data packet by the traffic classifier, and the data packet is assigned to the corresponding target service quality class. Then, the priority marker can set the priority (for example, DSCP, 802.1p) of the data packet according to the target service quality class, so as to realize the priority marking of the data packet, obtain the priority marking information corresponding to the data packet, and perform queue allocation on the data packet according to the priority marking information by the queue scheduler, so as to put the data packet into different queues, and take the data packet from the queue according to the predefined scheduling algorithm (for example, WRR, SP) for forwarding, so as to realize the dynamic adjustment of service quality according to the real-time network state, and effectively cope with network congestion and burst traffic.
[0089] Further, the programmable data plane is further provided with a congestion controller; after the step S403, the method further comprises: monitoring network congestion in real time by the congestion controller during forwarding; when network congestion occurs, determining the network limit rate configured in the target service quality control instruction; and adjusting the forwarding rate of the data packet according to the network limit rate.
[0090] It should be noted that the congestion controller can be a component that performs network performance optimization through mechanisms such as discarding, caching, or retransmission when network congestion occurs.
[0091] It should be understood that the network limit rate can be the maximum allowed rate when forwarding the data packet. In this embodiment, the network congestion situation can be monitored in real time by the congestion controller, and when network congestion occurs, the forwarding rate of the data packet is dynamically adjusted according to the predefined network congestion control strategy to prevent network congestion. The network congestion control strategy in this embodiment can include but is not limited to the random early detection algorithm (Random Early Detection, RED) and the weighted random early detection algorithm (Weighted Random Early Detection, WRED).
[0092] In the embodiment, the data packets are classified by a traffic classifier based on the target service quality control instruction and the header field of the data packets received by the network switching device, so as to distribute the data packets to the corresponding target service quality categories; the data packets are distributed to queues by a queue scheduler based on the target service quality categories; when the distribution is completed, the data packets in each queue are forwarded based on the queue priority and the preset queue scheduling algorithm. Since the data packets are classified by the traffic classifier based on the target service quality control instruction, the data packets are distributed to queues by the queue scheduler based on the service quality categories corresponding to the data packets, and the data packets in each queue are forwarded when the distribution is completed, the service quality can be dynamically adjusted according to the real-time network state, and network congestion and burst traffic can be effectively coped with.
[0093] Based on the first and / or second embodiments of the present application, in the third embodiment of the present application, the same or similar contents as the above embodiments can be referred to the above description, and will not be described in detail. On this basis, please refer to Figure 3 , Figure 3 The flowchart provided in the third embodiment of the device service quality enhancement method of the present application is shown.
[0094] In the embodiment, after step S40, the method further includes steps S501-S504:
[0095] Step S501: periodically collecting telemetry data by the network switching device, and sending the telemetry data to the service quality controller.
[0096] 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, such as queue length, packet loss rate, etc. The present embodiment does not limit this. In the present embodiment, the telemetry data can provide a basis for QoS policy optimization, fault diagnosis and resource scheduling.
[0097] Step S502: determining whether global optimization adjustment of the service quality policy is needed by the service quality controller according to the telemetry data.
[0098] It should be noted that the service quality controller in the present embodiment is provided with a monitoring module, which is responsible for real-time collection and analysis of network state information (such as queue length, packet loss rate, delay). In actual application, the network state information (such as queue length, packet loss rate, delay) of the SONiC switch can be collected in real time by the monitoring module in the service quality controller, and it is determined whether the current network state triggers an alarm or a policy adjustment according to a predefined threshold.
[0099] Step S503: If necessary, the global optimizer performs global optimization adjustment on the service quality policy based on global network state information.
[0100] It can be understood that the global optimizer described above can be a decision engine in the service quality controller for dynamically adjusting the service quality policy; and the global network state information described above can be a key indicator for reflecting the real-time running state of the network, such as queue length, packet loss rate, delay, etc. In this embodiment, the global optimizer can modify parameters such as queue weight and priority mark in real time according to the feedback of the monitoring module, for example, when the delay of video conference traffic increases, the priority can be increased and the bandwidth of P2P traffic can be compressed. In addition, the global optimizer can also balance the bandwidth utilization, delay, packet loss rate and other indicators, so as to avoid the decline of other performances caused by single indicator optimization.
[0101] In actual application, when it is necessary to perform global optimization adjustment on the service quality policy, the global optimizer can optimize the QoS policy according to the collected global network state information, so as to realize end-to-end QoS guarantee, for example, when it is detected that a link in the network is congested, the traffic shaping strategy on the link can be adjusted, or part of the traffic can be redirected to other links, so as to realize global optimization.
[0102] Step S504: Update the service quality policy based on the optimized service quality policy.
[0103] It should be understood that after global optimization, the service quality controller can distribute the updated P4 runtime configuration to the SONiC switch, so as to realize the update of the service quality policy.
[0104] Further, after step S40, the method further comprises: when a service quality policy adjustment request triggered based on a northbound data transmission interface is received, determining a to-be-adjusted service quality policy and a policy adjustment manner corresponding to the to-be-adjusted service quality policy according to the service quality policy adjustment request; adjusting the to-be-adjusted service quality policy based on the policy adjustment manner; and distributing the adjusted service quality policy to the network switching device through a control plane interface.
[0105] It should be noted that the northbound data transmission interface described above can be an interface for configuring and managing the QoS policy, which is a unified API interface provided to the upper layer application or cloud platform. The upper layer application or cloud platform can call the northbound API through HTTP or gRPC protocol.
[0106] It should be understood that the service quality policy adjustment request described above can be a request for instructing the system to perform an adjustment operation on the service quality policy. Correspondingly, the policy adjustment manner described above can be a manner of performing an adjustment operation on the service quality policy, including creation, deletion, modification, etc., which is not limited in the embodiment. In the embodiment, the functions that can be provided by the northbound data transmission interface include: 1) creating / deleting a QoS policy: allowing a user to define a new QoS policy or delete an existing QoS policy; 2) modifying a QoS policy: allowing a user to modify an existing QoS policy, for example, adjusting the priority, bandwidth limit, etc.; 3) querying a QoS state: allowing a user to query the configuration state and running state of a QoS policy.
[0107] In actual application, with the development of cloud networks, the SONiC platform gradually becomes a mainstream choice for cloud data center networks as an open-source network operating system. Among them, the existing QoS implementation scheme on the SONiC usually relies on the open-source Linux Traffic Control (TC) tool or provides secondary development based on the QoS function of the ASIC SDK, and is still limited by the fixed functions of the ASIC chip in terms of flexibility and scalability. In addition, the existing scheme becomes complex in configuration and management when facing large-scale networks and complex QoS policies, has poor scalability, lacks global traffic awareness and collaborative control capabilities, and is difficult to realize end-to-end QoS guarantee. Therefore, the present application can utilize the hardware acceleration capability of the programmable data plane to realize line-speed QoS processing, thereby reducing the CPU load. At the same time, the present application can realize unified management and control of QoS of large-scale networks through a centralized controller and a distributed agent.
[0108] In the specific implementation, refer to Figure 4 , Figure 4 for the overall flowchart of the device service quality enhancement method of the present application. As Figure 4As shown, first, the user or the cloud platform can generate a QoS policy configuration request according to the business requirement, 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 through the policy engine according to the QoS policy configuration request. Then, the policy distributor of the QoS controller can convert the QoS policy into a format that can be recognized by the P4 program, and deliver it to the SONiC switch through the control plane interface, wherein the P4 runtime agent on the SONiC switch receives the P4 runtime configuration, and modifies the runtime state of the switching chip using the chip SDK. Thereafter, when the 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., and then the queue scheduler can take the data packet from the queue according to the queue priority and scheduling algorithm for forwarding. 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, and the monitoring module in the QoS controller can collect the network state information of the SONiC switch, and determine whether to trigger an alarm or adjust the policy according to the pre-defined threshold value, while the global optimizer can optimize the QoS policy according to the collected global network state information, thereby realizing end-to-end QoS guarantee.
[0109] In this embodiment, telemetry data is periodically collected by the network switching device and sent to the quality of service controller. The quality of service controller determines whether global optimization adjustment of the quality of service policy is needed according to the telemetry data. If needed, the global optimizer adjusts the quality of service policy based on global network state information. The quality of service policy is updated based on the optimized quality of service policy. In this embodiment, the global optimizer adjusts the quality of service policy based on global network state information to update the quality of service policy, so that the quality of service policy can be dynamically adjusted according to the telemetry data and global network state, and end-to-end QoS guarantee can be realized.
[0110] It should be noted that the above examples are only used to understand the present application and do not limit the device quality of service enhancement method of the present application. Further simple transformations based on this technical concept are within the protection scope of the present application.
[0111] The present application also provides a device quality of service enhancement apparatus, which is described in detail in the following Figure 5 The device quality of service enhancement apparatus comprises:
[0112] The request receiving module 10 is configured to receive a quality of service policy configuration request generated based on a business requirement.
[0113] The policy generation module 20 is configured to generate a quality of service policy based on the quality of service policy configuration request by the quality of service controller.
[0114] The instruction generation module 30 is 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, wherein the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target quality of service control instruction.
[0115] The data packet processing module 40 is configured to process a data packet received by the network switching device based on the target quality of service control instruction by the programmable data plane.
[0116] The device quality of service enhancement apparatus provided by the present application adopts the device quality of service enhancement method in the above embodiments, and can solve the technical problem that the implementation of the quality of service of the switch mainly depends on the fixed pipeline and the pre-defined policy, and the flexibility is poor in the prior art. Compared with the prior art, the device quality of service enhancement apparatus provided by the present application has the same beneficial effects as the device quality of service enhancement method provided by the above embodiments, and other technical features in the device quality of service enhancement apparatus are the same as the features disclosed in the above embodiments, which will not be described here.
[0117] The present application provides a device quality of service enhancement device, which comprises at least one processor and a memory connected with the at least one processor in communication, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the device quality of service enhancement method in the above embodiment one.
[0118] Reference will be made to the following description Figure 6 which shows a structural schematic diagram of a device quality of service enhancement device suitable for implementing the embodiments of the present application. The device quality of service enhancement device in the embodiments of the present application can include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistant), PADs (Portable Application Description), PMPs (Portable Media Player), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. Figure 6 The device quality of service enhancement device shown is only an example, and should not bring any limitation to the functions and use range of the embodiments of the present application.
[0119] As Figure 6As shown, the device service quality enhancement device can include a processing apparatus 1001 (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes according to programs stored in a read-only memory 1002 or loaded from a storage apparatus 1003 into a random access memory 1004. Various programs and data required for operation of the device service quality enhancement device are also stored in the random access memory 1004. The processing apparatus 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other by a bus 1005. An input / output interface 1006 is also connected to the bus. Generally, the following systems can be connected to the input / output interface 1006: input apparatuses 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; output apparatuses 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; the storage apparatus 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication apparatus 1009. The communication apparatus 1009 can allow the device service quality enhancement device to communicate wirelessly or by wire with other devices to exchange data. Although the device service quality enhancement device having various systems is shown in the figure, it should be understood that all the shown systems are not required to be implemented or possessed. More or fewer systems can be alternatively implemented or possessed.
[0120] In particular, according to embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network by the communication apparatus, or installed from the storage apparatus 1003, or installed from the read-only memory 1002. When the computer program is executed by the processing apparatus 1001, the above-mentioned functions defined in the methods of embodiments of the present disclosure are performed.
[0121] The device service quality enhancement device provided by the present disclosure 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 device service quality enhancement device provided by the present disclosure has the same beneficial effects as the device service quality enhancement method provided by the above embodiments, and other technical features in the device service quality enhancement device are the same as the features disclosed in the previous embodiment method, which will not be repeated here.
[0122] It should be understood that various aspects of the disclosure can be implemented in hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any appropriate manner in any one or more embodiments or examples.
[0123] The above description is merely illustrative of the application and is not intended to limit the scope of the application. Any modifications or equivalents of the application should be construed as falling within the scope of the application. The scope of the application should be determined by the appended claims.
[0124] The application provides a computer readable storage medium having stored thereon computer readable program instructions (i.e., a computer program) for performing the device service quality enhancement method in the above embodiments.
[0125] The computer readable storage medium provided by the application may, for example, be a U disk, but is not limited to an electric, magnetic, optical, electromagnetic, infrared, or semiconductor system or device, or any combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electric connection having one or more conductive wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), an optical fiber, a portable compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any appropriate combination thereof. In the present embodiment, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer readable storage medium can be transmitted by any appropriate medium, including but not limited to an electric wire, an optical cable, an RF (Radio Frequency), etc., or any appropriate combination thereof.
[0126] The above computer readable storage medium can be contained in the device service quality enhancement device; or can exist separately without being assembled into the device service quality enhancement device.
[0127] The computer readable storage medium described above carries one or more programs, when the one or more programs are executed by the device quality of service enhancement device, the device quality of service enhancement device: receives a quality of service policy configuration request generated based on service requirements; generates a quality of service policy based on the quality of service policy configuration request through a quality of service controller; generates a target quality of service control instruction based on the quality of service policy, and sends the target quality of service control instruction to a network switching device, the network switching device is configured with a programmable data plane, and the programmable data plane is compatible with the target quality of service control instruction; and the programmable data plane processes a data packet received by the network switching device based on the target quality of service control instruction.
[0128] Computer program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, 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 the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0129] The flow diagrams and the block diagrams in the drawings are illustrations of architectures, functionalities, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of present application. In this regard, each block in the flow diagrams or block diagrams can represent a module, a segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the block can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may
[0130] The modules described in the embodiments of the present application can be implemented in the form of software or in the form of hardware. In some cases, the name of the module does not constitute a limitation on the module itself.
[0131] The readable storage medium provided by the present application is a computer readable storage medium, which stores computer readable program instructions (i.e., a computer program) for executing the device service quality enhancement method described above, 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 strategies, and the flexibility is poor. Compared with the prior art, the computer readable storage medium provided by the present application has the same beneficial effects as the device service quality enhancement method provided by the above embodiments, and will not be described here.
[0132] The present application also provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the device service quality enhancement method as described above.
[0133] The computer program product provided by the present 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 strategies, and the flexibility is poor. Compared with the prior art, the computer program product provided by the present application has the same beneficial effects as the device service quality enhancement method provided by the above embodiments, and will not be described here.
[0134] The above only describes some embodiments of the present application, and does not limit the patent scope of the present application, and any equivalent structural transformation made by using the content of the present application specification and drawings, or direct / indirect application in other related technical fields is included in the patent protection scope of the present application.
Claims
1. A method for enhancing the quality of equipment service, characterized in that, The method includes: Receive service quality policy configuration requests generated based on business requirements; The service quality controller generates a service quality policy based on the service quality policy configuration request. The service quality controller receives the service quality policy configuration request through the northbound interface and issues the service quality policy through the control plane interface. Based on the service quality policy, a target service quality control instruction is generated and sent to a network switching device. The network switching device is configured with a programmable data plane, which is compatible with the target service quality control instruction. A P4 program runs in the programmable data plane. The programmable data plane processes the data packets received by the network switching device based on the target quality of service control instructions. The programmable data plane includes a traffic classifier, a priority marker, and a queue scheduler; the step of processing data packets received by the network switching device through the programmable data plane based on the target quality of service control instructions includes: The traffic classifier classifies the data packets based on the target quality of service control instructions and the header fields of the data packets received by the network switching device, so as to assign the data packets to the corresponding target quality of service category. The differential service code point information of the data packet is determined by the priority marker based on the target quality of service category; The priority marker is used to mark the data packet according to the differential service code point information to obtain the priority marking information corresponding to the data packet; The queue scheduler allocates data packets to queues based on the priority marking information. Once allocation is complete, data packets in each queue are forwarded based on queue priority and a preset queue scheduling algorithm; The service quality controller is equipped with a policy engine; the step of generating a service quality policy based on the service quality policy configuration request through the service quality controller includes: The service quality requirements are determined by the strategy engine based on the service quality policy configuration request. The service quality level, target user type, and application type corresponding to the network running application are determined based on the service quality requirements, and the service quality level is defined by the service level agreement. A service quality policy is generated based on the service quality level, the target user type, and the application type. The service quality policy is used to provide the user with the corresponding level of service quality according to the user's payment level and needs, and to allocate different priorities and resources to different types of traffic.
2. The method as described in claim 1, characterized in that, The programmable data plane also includes a congestion controller; after the step of forwarding data packets in each queue based on queue priority and a preset queue scheduling algorithm upon completion of allocation, the system further includes: During the forwarding process, the congestion controller monitors network congestion in real time. When network congestion occurs, determine the network limiting rate configured in the target quality of service control instruction; The forwarding rate of the data packets is adjusted according to the network rate limit.
3. The method according to any one of claims 1 to 2, 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 instructions, the method further includes: The network switching device periodically collects telemetry data and sends the telemetry data to the quality of service controller. The service quality controller determines whether the service quality strategy needs to be globally optimized and adjusted based on the telemetry data. If necessary, the quality of service strategy can be globally optimized and adjusted based on global network state information using a global optimizer. The service quality policy is updated based on the optimized service quality policy.
4. The method according to any one of claims 1 to 2, 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 instructions, the method further includes: Upon receiving a service quality policy adjustment request triggered by the northbound data transmission interface, the service quality policy to be adjusted and the policy adjustment method corresponding to the service quality policy to be adjusted are determined according to the service quality policy adjustment request. The service quality strategy to be adjusted is adjusted based on the aforementioned strategy adjustment method; The adjusted Quality of Service (QoS) policy is distributed to the network switching device via the control plane interface.
5. A device for enhancing the quality of equipment service, characterized in that, The device includes: The request receiving module is used to receive service quality policy configuration requests generated based on business requirements; The policy generation module is used to generate a service quality policy based on the service quality policy configuration request through the service quality controller. The service quality controller receives the service quality policy configuration request through the northbound interface and issues the service quality policy through the control plane interface. The instruction generation module is used 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 the network switching device. The network switching device is configured with a programmable data plane, which is compatible with the target quality of service control instruction. The programmable data plane runs a P4 program. A data packet processing module is used to process data packets received by the network switching device based on the target quality of service control instructions through the programmable data plane; The programmable data plane includes a traffic classifier, a priority marker, and a queue scheduler. The packet processing module is further configured to: classify the packets based on the target quality of service (QoS) control command and the header fields of the packets received by the network switching device using the traffic classifier, and assign the packets to the corresponding target QoS category; determine the differential service code point (DSC) information of the packets based on the target QoS category using the priority marker; assign priority to the packets based on the DSC information using the priority marker to obtain priority marker information for the packets; allocate the packets to queues based on the priority marker information using the queue scheduler; and forward the packets in each queue based on queue priority and a preset queue scheduling algorithm upon allocation. The service quality controller includes a policy engine; the policy generation module is further configured to determine service quality requirements based on the service quality policy configuration request through the policy engine; determine the service quality level, target user type, and application type corresponding to the network-running application based on the service quality requirements, wherein the service quality level is defined by a service level agreement; and generate a service quality policy based on the service quality level, the target user type, and the application type, wherein the service quality policy is used to provide the user with the corresponding level of service quality according to the user's payment level and requirements, and to allocate different priorities and resources to different types of traffic.
6. A device for enhancing the quality of service, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the device quality of service enhancement method as claimed in any one of claims 1 to 4.
7. 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 as described in any one of claims 1 to 4.
Citation Information
Patent Citations
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