A shunt processing method, system, program product and readable storage medium

By dynamically analyzing and predicting the network load of the intelligent computing center and allocating resources in combination with business priorities, the problem of unbalanced resource utilization under the static allocation method is solved, and the overall performance and response capabilities of the system are improved.

CN118945115BActive Publication Date: 2025-06-24BEIJING CHANGDONG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411211536.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2025-06-24
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

In the intelligent computing center, the static allocation method is difficult to adapt to complex and changeable network environments, resulting in unbalanced resource utilization.

Method used

By obtaining the historical service load data of each port, analyzing common traffic patterns and peak time periods, performing load predictions, calculating business priorities based on business type, processing scale and urgency information, and dynamically allocating processing resources and business traffic.

Benefits of technology

It realizes the rational allocation of resources, improves the balance of resource utilization in the intelligent computing center, ensures priority processing of important and emergency services, and improves the system's response capabilities and processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118945115B_ABST
    Figure CN118945115B_ABST
Patent Text Reader

Abstract

A shunt processing method, system, program product and readable storage medium, which relate to the field of shunting. The method includes: first, obtaining the historical service load data of each port and analyzing to obtain the common traffic patterns and peak time periods, then predicting the service load within a preset time period based on this information to obtain a predicted load data set, then obtaining the service type, processing scale and urgency information to calculate a service priority set, allocating processing resources for each port based on the predicted load data set and the service priority set, and allocating the input service traffic based on the processing resources and service priorities. Implementing this method can improve the balance of resource utilization in the intelligent computing center.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of traffic splitting, and in particular, to a traffic splitting processing method, system, program product, and readable storage medium. Background Art

[0002] As an emerging high-performance computing facility, the intelligent computing center makes network traffic management a key link in ensuring the network performance and service quality of the intelligent computing center. Among many network devices, the traffic splitting processing system, as an important part of network traffic management, its performance directly affects the operation efficiency of the entire network and the user experience. In the related art, a static allocation method can be adopted, that is, network traffic is allocated to different processing units according to preset rules.

[0003] However, this static allocation method often performs poorly in the face of complex and changing network environments. Due to the dynamic and bursty nature of network traffic, fixed allocation rules are difficult to adapt to real-time changing network conditions, resulting in unbalanced resource utilization within the intelligent computing center. Summary of the Invention

[0004] This application provides a traffic splitting processing method, system, program product, and readable storage medium for improving the balance of resource utilization within the intelligent computing center.

[0005] In a first aspect, this application provides a traffic splitting processing method applied to a traffic splitting processing system. The method includes: obtaining historical service load data of each port, and analyzing the historical load data based on a pattern recognition algorithm to obtain common traffic patterns and peak time periods; predicting the service load data within a preset time period based on the common traffic patterns and the peak time periods to obtain a predicted load data set, where the predicted load data set includes predicted load data of each port; obtaining service type information, processing scale information, and urgency information of the current services within each port, and calculating the service priorities of all the current services according to the service type information, the processing scale information, and the urgency information to obtain a service priority set; allocating processing resources for each port based on the predicted load data set and the service priority set, and allocating the input service traffic based on the processing resources and the service priorities.

[0006] By adopting the above technical solution, first, the historical service load data of each port is obtained and analyzed to obtain common traffic patterns and peak time periods. Then, based on this information, the service load within a preset time period is predicted to obtain a predicted load data set. Then, the service type, processing scale, and urgency information are obtained to calculate the service priority set, so that important and urgent services can be processed preferentially. Based on the predicted load data set and the service priority set, processing resources and service traffic are allocated, realizing the reasonable allocation of resources and improving the balance of resource utilization within the intelligent computing center.

[0007] In some embodiments in combination with some embodiments of the first aspect, the step of predicting the service load data within a preset time period based on the common traffic pattern and the peak time period specifically includes: classifying the common traffic pattern to obtain multiple traffic pattern types; setting corresponding prediction models for each traffic pattern type, where different types of traffic patterns correspond to different prediction models; dividing the preset time period into multiple time units and determining the traffic pattern type to which each time unit belongs; selecting a corresponding prediction model according to the traffic pattern type to which each time unit belongs; inputting the historical data of the same period into the selected prediction model to obtain the predicted load data for each time unit; and merging the predicted load data to obtain the predicted load data set within the preset time period.

[0008] By adopting the above technical solution, classifying the common traffic pattern and setting different prediction models can more accurately predict different traffic patterns. Dividing the preset time period into multiple time units, determining the traffic pattern type to which they belong, selecting the corresponding prediction model, inputting the historical data of the same period to obtain the predicted load data, and finally merging to obtain the data set, making the prediction result more accurate, avoiding waste of resources and unreasonable allocation, and improving the adaptability of the system to different traffic patterns.

[0009] In some embodiments in combination with some embodiments of the first aspect, the step of calculating the service priority of all current services according to the service type information, the processing scale information, and the urgency information specifically includes: classifying the service type information, dividing the service types into the first service, the second service, and the third service, and respectively assigning different weight coefficients; calculating the resource consumption index of each service according to the processing scale information, where the resource consumption index is proportional to the processing scale; setting a time sensitivity coefficient based on the urgency information; multiplying the weight coefficient, the resource consumption index, and the time sensitivity coefficient to obtain a priority score; and sorting all current services according to the priority score to obtain the service priority set.

[0010] By adopting the above technical solution, classifying the service types and assigning different weight coefficients reflects the importance differences of different service types. Calculating the resource consumption index according to the processing scale information enables more reasonable resource allocation to take into account the actual needs of the services. Setting the time sensitivity coefficient reflects the urgency. Multiplying the weight coefficient, the resource consumption index, and the time sensitivity coefficient to obtain the priority score and sorting to obtain the service priority set can ensure that important, urgent, and resource - demanding services are processed first, improving the response ability and processing efficiency of the intelligent computing center for different services.

[0011] In some embodiments in combination with some embodiments of the first aspect, after the step of allocating processing resources to each of the ports based on the predicted load data set and the service priority set, the method further includes: receiving a plurality of user-defined custom data models, each of the custom data models including a regular expression and a corresponding processing policy; associating each of the custom data models with one or more of the ports such that each port is responsible for processing service traffic that matches a specific custom data model; parsing the input service traffic data to extract data features; matching the data features with the regular expressions of each of the custom data models to obtain a first data model; and when the matching is successful, allocating the service traffic data with successful matching to the corresponding port according to the processing policy corresponding to the first data model and the service priority set.

[0012] By adopting the above technical solution, user-defined custom data models including regular expressions and processing policies are received, enabling the system to perform traffic allocation according to the specific requirements of users. The custom data models are associated with ports, allowing each port to be responsible for processing service traffic that matches specifically. The input service traffic data is parsed and its features are extracted. After matching with the regular expressions, the service traffic data with successful matching is allocated to the corresponding port according to the processing policy and the service priority set, meeting the requirements of different users for specific service traffic processing.

[0013] In some embodiments in combination with some embodiments of the first aspect, after the step of allocating the service traffic data with successful matching to the corresponding port according to the processing policy corresponding to the first data model and the service priority set, the method further includes: real-time monitoring of the actual load data of each port and comparing it with the predicted load data; when it is detected that the deviation between the actual load data of any port and the predicted load exceeds a preset threshold, dynamically adjusting the resource allocation between ports and the allocation ratio of service traffic according to the actual load data, the predicted load data, and the service priority of each port until it is within the preset load balancing threshold, where the preset load balancing threshold is the maximum allowable deviation percentage between the actual load data and the predicted load data of each port.

[0014] By adopting the above technical solution, the actual load data of each port is monitored in real time and compared with the predicted load data. When the deviation between the actual load and the predicted load exceeds the preset threshold, the resource allocation between ports and the allocation ratio of service traffic are dynamically adjusted according to the actual load data, the predicted load data, and the service priority, ensuring that the system can adjust the resource allocation in a timely manner according to the actual situation during actual operation, avoiding system performance degradation or resource waste caused by excessive load deviation. Through dynamic adjustment, the intelligent computing center always maintains a relatively stable operating state, ensuring the smooth progress of services.

[0015] In some embodiments in combination with some embodiments of the first aspect, after the step of allocating processing resources to each port based on the predicted load data set and the service priority set, the method further includes: detecting the running states of all ports; if there is a first port in a fault state, obtaining first service traffic information of the first port, where the first service traffic information includes service types, service data, and the service priorities of all the service data; analyzing the current load conditions and remaining processing capabilities of other target ports, where the other target ports are the ports that are operating normally except the first port; and based on the dynamic load balancing algorithm, redistributing the first service traffic of the first port to the other target ports one by one in the order from the highest to the lowest service priority.

[0016] By adopting the above technical solution, the running states of all ports are detected. When it is found that a port is in a fault state, the service traffic information of the port is obtained, the current load conditions and remaining processing capabilities of other normally operating ports are analyzed, and based on the dynamic load balancing algorithm, the service traffic of the faulty port is redistributed to other target ports in the order from the highest to the lowest service priority, avoiding service interruption caused by a single port failure. At the same time, the distribution according to the service priority ensures that important services can be processed preferentially, improving the fault tolerance and overall stability of the system.

[0017] In some embodiments in combination with some embodiments of the first aspect, after the step of redistributing the service traffic of the first port to the other normally operating ports one by one in the order from the highest to the lowest service priority based on the dynamic load balancing algorithm, the method further includes: calculating the new load levels of each of the other target ports in real time; if there is a first target port whose new load level exceeds a preset load balancing threshold, storing the first service traffic in a priority queue; and distributing the service traffic in the priority queue at preset time intervals.

[0018] By adopting the above technical solution, after redistributing the service traffic of the faulty port to other normally operating ports based on the dynamic load balancing algorithm, the new load levels of each of the other target ports are calculated in real time. If there is a target port whose new load level exceeds the preset load balancing threshold, the corresponding service traffic is stored in the priority queue, and the service traffic in the priority queue is distributed at preset time intervals. Calculating the new load levels in real time can timely grasp the load changes of each port, ensuring the stability of the system after redistributing the service traffic.

[0019] Second aspect, embodiments of the present application provide a shunt processing system, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, and the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the shunt processing system to execute the method described in the first aspect and any possible implementation manner in the first aspect.

[0020] Third aspect, embodiments of the present application provide a computer program product containing instructions. When the computer program product runs on a shunt processing system, it enables the shunt processing system to execute the method described in the first aspect and any possible implementation manner in the first aspect.

[0021] Fourth aspect, embodiments of the present application provide a computer-readable storage medium including instructions. When the instructions run on a shunt processing system, it enables the shunt processing system to execute the method described in the first aspect and any possible implementation manner in the first aspect.

[0022] It can be understood that the shunt processing system provided in the second aspect, the computer program product provided in the third aspect, and the computer storage medium provided in the fourth aspect are all used to execute the method provided in the embodiments of the present application. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method, and will not be elaborated here.

[0023] One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:

[0024] 1. In the present application, by obtaining the historical service load data of each port and analyzing to obtain the common traffic patterns and peak time periods, which helps to understand the traffic rules of the port. Then, based on this information, the service load within a preset time period is predicted to obtain a predicted load data set. Then, information such as service type, processing scale, and urgency is obtained to calculate a service priority set, so that important and urgent services can be processed preferentially. Based on the predicted load data set and the service priority set, processing resources and service traffic are allocated, realizing the reasonable allocation of resources.

[0025] 2. In the present application, by receiving a user-defined custom data model, which includes regular expressions and processing policies, the system can allocate traffic according to the specific needs of users. The custom data model is associated with the port, and each port is responsible for processing specific matching service traffic. After parsing the input service traffic data and extracting features, and matching with the regular expressions, the matching service traffic is allocated to the corresponding port according to the processing policy and the service priority set, meeting the needs of different users for specific service traffic processing.

[0026] 3. This application monitors the actual load data of each port in real time and compares it with the predicted load data. When the deviation between the actual load and the predicted load exceeds the preset threshold, the resource allocation between ports and the proportion of service traffic allocation are dynamically adjusted according to the actual load data, predicted load data, and service priority, ensuring that the system can adjust the resource allocation in a timely manner according to the actual situation during actual operation, and avoiding system performance degradation or resource waste caused by excessive load deviation. Through dynamic adjustment, the intelligent computing center always maintains a relatively stable operating state, ensuring the smooth progress of services. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 is a schematic flowchart of a shunt processing method in an embodiment of this application;

[0028] Figure 2 is another schematic flowchart of a shunt processing method in an embodiment of this application;

[0029] Figure 3 is a schematic structural diagram of an entity device of a shunt processing system in an embodiment of this application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0030] The terms used in the following embodiments of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. As used in the specification of this application, the singular forms "a", "an", "the above", "the", and "this" are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in this application refers to any or all possible combinations including one or more of the listed items.

[0031] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as implying or indicating relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of this application, unless otherwise specified, the meaning of "a plurality" is two or more.

[0032] For ease of understanding, the method provided in this embodiment is described in terms of a process below. Please refer to Figure 1 , which is a schematic flowchart of a shunt processing method in an embodiment of this application.

[0033] S101. Obtain the historical service load data of each port, and analyze the historical load data based on a pattern recognition algorithm to obtain the common traffic pattern and peak time period.

[0034] Among them, a port refers to an interface on a network device for data transmission; historical service load data refers to the service traffic data processed by each port over a past period of time; a pattern recognition algorithm is used to identify specific patterns or regularities from a large amount of data; common traffic patterns refer to traffic change patterns that frequently appear in historical data; a peak time period refers to a time interval during which the traffic reaches a peak.

[0035] Specifically, the system first collects historical service load data within a certain past time range (such as the recent 3 months) from each port. This data includes information such as the traffic volume and service type distribution at each time point. Then, the system uses a pre-set pattern recognition algorithm (such as clustering analysis, time series analysis, etc.) to identify frequently occurring traffic change patterns, such as the daytime peak on weekdays and the trough on weekends. These are called common traffic patterns. At the same time, the system can also determine the time period when the traffic reaches a peak, that is, the peak time period.

[0036] In some embodiments, the process of obtaining and analyzing the historical service load data can be implemented in various ways: Optionally, the system sets up a data collection module to regularly collect traffic data from each port and store this data in a dedicated database. Then, using time series analysis methods, such as the autoregressive integrated moving average model (ARIMA), the historical data of each port is modeled to identify periodic patterns and abnormal peaks. Finally, similar traffic patterns are grouped through a clustering algorithm (such as K-means) to obtain common traffic patterns, and the peak time period is determined by setting a threshold; Optionally, the system can adopt machine learning methods, such as long short-term memory networks (LSTM), to directly learn from the original historical load data. The LSTM model can capture long-term and short-term time dependencies and automatically extract common traffic patterns. At the same time, by setting a peak detection algorithm, such as the sliding window method, the peak points in the historical data are identified, and then the peak time period is determined. It can be understood that other data analysis and machine learning methods can also be used to implement the analysis of historical load data and pattern recognition, which is not limited here.

[0037] It can be understood that when performing historical service load analysis, the traffic splitting processing system also supports the identification of link layer, VLAN, MPLS, IP, TCP, UDP, SCTP, ICMP, IP layer tunnel, L2TP tunnel, IPsec (AH, ESP encapsulation) tunnel packets, and supports the mixed input of control plane signaling data and user plane service data of mobile core networks such as GPRS, WCDMA, TD-CDMA, and LTE, which enhances the system's ability to identify different types of network traffic.

[0038] S102: predicting the service load data within a preset time period based on the common traffic pattern and the peak time period to obtain a predicted load data collection, wherein the predicted load data collection includes the predicted load data of each of the ports.

[0039] The predicted load data refers to the estimated value of the business load at a certain point in the future.

[0040] Specifically, the system first determines the time range that needs to be predicted, that is, the preset time period. Then, based on the common traffic patterns and peak time period information obtained in the previous step, the prediction process considers the periodic patterns, peak characteristics, and possible seasonal changes in historical data. For each port, the predicted load data is generated at each time point (such as every hour or every 15 minutes) within the preset time period, and finally the prediction results of all ports are summarized to form a complete set of predicted load data.

[0041] In some embodiments, the prediction process can be implemented in a variety of ways: Optionally, the system can use time series prediction methods, such as ARIMA models or exponential smoothing methods. First, select appropriate model parameters based on common traffic patterns. Then, input historical data into the model to generate prediction values ​​for future time points. For known peak time periods, peak adjustment factors can be additionally applied to improve prediction accuracy. Finally, the prediction results of each port are integrated into a collection of predicted load data; Optionally, the system can use machine learning methods, such as recurrent neural networks (RNN) or Prophet models, and use historical data, common traffic patterns, and peak time period information as input features during training. After the model training is completed, the time information of the preset time period is input to obtain the predicted load data for each port. It can be understood that other prediction algorithms or multi-model integration methods can also be used to achieve load prediction, which is not limited here.

[0042] It can be understood that the diversion processing system can also support flow management functions, can transfer the first N packets of each flow, support flow statistics, packet sampling, and message header output functions, and can more accurately predict and manage various types of business traffic.

[0043] S103, obtaining the service type information, processing scale information and urgency information of the current service in each port, and calculating the service priorities of all the current services according to the service type information, the processing scale information and the urgency information to obtain a service priority set.

[0044] Among them, the service type information represents the classification to which the current service belongs, such as data transmission, video streaming media, web browsing, etc.; the processing scale information refers to the amount of resources required for the service, including data volume, computational complexity, etc.; the urgency information is used to represent the time sensitivity of the service, such as the level of real-time requirements; the service priority refers to the sorting of service importance obtained by comprehensive evaluation based on multiple factors.

[0045] Specifically, this step is executed when the system receives a new service request or periodically updates the service status. The system first obtains the service information currently being processed from each port, including the service type, processing scale, and urgency. For the service type, the system will pre-define some categories, such as critical services, ordinary services, and low-priority services, etc. The processing scale information can be determined by analyzing the data volume of the service, the required computing resources, etc. The urgency is evaluated based on factors such as the deadline of the service, the user level, etc. After obtaining this information, a preset algorithm or rule is used to calculate the priority of each service. For example, for certain specific types of services, the urgency is more important than the processing scale. Finally, all the calculated service priorities are aggregated to form a service priority set.

[0046] In some embodiments, the calculation of service priority and the generation of the set can be achieved in various ways: Optionally, the system can adopt the multi-factor weighted scoring method. First, weight coefficients are set for the service type, processing scale, and urgency respectively. Then, each factor is quantified. For example, the service type is converted into a numerical score, the processing scale is normalized to a value between 0 and 1, the urgency is converted into a time sensitivity score, and these scores are multiplied by the corresponding weights and summed to obtain the comprehensive priority score of each service. All services are sorted according to these scores to generate a service priority set; Optionally, the system can use machine learning methods, such as decision tree or random forest algorithms, collect historical service data and their actual priorities as a training set, use the service type, processing scale, and urgency as features, train a model that can predict service priority. After the model training is completed, the relevant information of the current service is input to obtain the predicted priority, and the prediction results of all services are sorted to form a service priority set. It can be understood that other algorithms or hybrid methods can also be used to achieve the calculation and sorting of service priority, which is not limited here.

[0047] S104. Allocate processing resources for each port based on the predicted load data set and the service priority set, and allocate the input service traffic based on the processing resources and service priority.

[0048] Among them, processing resources refer to resources such as computing, storage, and network bandwidth that the system can use to process services; resource allocation means allocating appropriate processing capabilities to each port according to the predicted load and service priority; service traffic allocation means distributing the input service requests to different ports for processing.

[0049] Specifically, first, according to the predicted load data set, evaluate the expected load conditions of each port in the future period, consider the information in the service priority set to ensure that high-priority services can obtain sufficient resource guarantees, and use resource allocation algorithms (such as dynamic programming or heuristic algorithms) to allocate appropriate processing resources to each port. The processing resources include parameters such as adjusting CPU time slices, memory allocation, and network bandwidth. After resource allocation, according to the allocation results and the real-time service priority situation, dynamically allocate the newly incoming service traffic. High-priority services may be allocated to ports with lighter loads or more abundant resources.

[0050] In some embodiments, resource allocation and service traffic allocation can be implemented in various ways: Optionally, the system can adopt a rule-based hierarchical allocation strategy. According to the predicted load data, initially allocate the total system resources to each port proportionally, consider the service priority, reserve a certain proportion of resources for high-priority services, and then use a dynamic threshold adjustment mechanism to dynamically adjust the resource allocation based on real-time monitoring of the port load. Finally, for the newly incoming service traffic, the system selects the most suitable port for allocation according to its priority and the actual load conditions of each current port; Optionally, the system can use machine learning methods, such as reinforcement learning algorithms. First, regard the current state of the system (including predicted load, service priority, real-time load, etc.) as the environmental state. Then, define resource allocation and traffic allocation operations as the action space. Next, design a reward function, considering factors such as the overall throughput of the system and the processing efficiency of high-priority services. By continuously interacting with the environment and learning, it can be understood that other optimization algorithms or hybrid methods can also be used to achieve intelligent allocation of resources and traffic, which is not limited here.

[0051] It can be understood that the shunt processing system can also access, process, and forward high-speed data, support service functions such as packet recognition, rule matching, data processing, traffic balancing, same-source and same-destination, aggregation and shunt, flow management, flow statistics, packet sampling, and packet header output, and has functions such as five-tuple filtering, signature filtering, composite rule filtering, protocol and application filtering.

[0052] The shunt processing system also supports the HTTP shunt function, including the shunt ability for special fields of single-packet and cross-packet HTTP messages, supports the domain name shunt function, can shunt specific domain names, supports the application shunt function, can directly output or discard service traffic according to application protocols and application types, and supports the GTP-C, GTP-U association and output functions.

[0053] The shunt processing system also supports packet header stripping, can strip the outer IP, VLAN, VXLAN or MPLS headers, supports output packet information carrying, can modify the source and destination MAC addresses of the link layer header of the output packet to identify relevant information of the output packet, and supports the processing of unrecognized packets.

[0054] The following is a further and more specific process description of the method provided in this embodiment. Please refer to Figure 2 , which is another process schematic diagram of the shunt processing method in the embodiment of the present application.

[0055] S201. Obtain the historical service load data of each port, and analyze the historical load data based on the pattern recognition algorithm to obtain the common traffic patterns and peak time periods;

[0056] It can be understood that this step is similar to step S101, and will not be elaborated here.

[0057] S202. Predict the service load data within the preset time period based on the common traffic patterns and the peak time periods to obtain a predicted load data set, and the predicted load data set contains the predicted load data of each port;

[0058] This step specifically includes:

[0059] Classify the common traffic patterns to obtain multiple traffic pattern types;

[0060] In this step, the shunt processing system first deeply analyzes the historical traffic data, and uses clustering algorithms (such as K-means or hierarchical clustering) to identify different traffic patterns. The system considers multiple features, including traffic size, volatility, duration, and periodicity, etc. For example, the system can identify the following traffic pattern types: (1) Daily regular pattern: from 9:00 am to 6:00 pm on Monday to Friday, the traffic is large and stable; (2) Peak pattern on weekdays: from 9:00 am to 11:00 am and from 2:00 pm to 4:00 pm on weekdays, the traffic increases sharply; (3) Nightly low pattern: from 1:00 am to 5:00 am every day, the traffic is significantly reduced; (4) Weekend leisure pattern: on Saturday and Sunday, the traffic is medium and evenly distributed; (5) Holiday burst pattern: during specific holidays, the traffic shows irregular sudden growth. The system also considers the impact of seasonal changes and special events (such as large online activities) on traffic patterns to ensure the comprehensiveness and accuracy of the classification.

[0061] A corresponding prediction model is set for each such traffic pattern type, where different types of traffic patterns correspond to different prediction models;

[0062] In this step, the shunt processing system selects and configures the most suitable prediction model for each identified traffic pattern type. For the daily regular pattern, the system uses the ARIMA (Autoregressive Integrated Moving Average) model, which can effectively capture the trends and seasonality of time series data. The Prophet model is used for the weekday peak pattern. This model is a time series prediction model developed by Facebook and is suitable for processing data with multiple periodicities and holiday effects. The simple exponential smoothing method is adopted for the night trough pattern because this pattern is relatively stable and does not require a complex model. The random forest algorithm is used for the weekend leisure pattern, which can handle non-linear relationships and complex interaction effects. For the holiday burst pattern, the system selects the Long Short-Term Memory network (LSTM), which can learn long-term dependencies for handling irregular burst events.

[0063] The preset time period is divided into multiple time units, and the traffic pattern type to which each such time unit belongs is determined;

[0064] In this step, the preset time period is divided into multiple time units, and the traffic pattern type to which each such time unit belongs is determined: The shunt processing system divides the preset time period (such as a week) into multiple smaller time units, usually in hours. The system first creates a time series data structure, with each element representing an hour, for a total of 168 elements (7 days × 24 hours). Then, the system traverses each time unit and determines the traffic pattern type to which it belongs by analyzing historical data and the current situation. This process involves multiple steps: calculating statistical features such as the average traffic, standard deviation, and peak ratio of each time unit, comparing the extracted features with predefined traffic pattern types, using metrics such as Euclidean distance or cosine similarity to measure the degree of matching, considering the surrounding environment of the time unit, such as the pattern types of the previous and subsequent time periods, to ensure the coherence of classification, querying a predefined special event calendar (such as holidays, promotional activities) to specially mark the affected time units, continuously monitoring real-time traffic data, and if a significant deviation is detected, the pattern type of the time unit is adjusted in real time.

[0065] According to the traffic pattern type to which each such time unit belongs, a corresponding prediction model is selected;

[0066] In this step, the traffic diversion processing system selects the most appropriate prediction model for each time unit based on the traffic pattern type of each time unit determined in the previous step. The system maintains a model mapping table that associates traffic pattern types with corresponding prediction models. The selection process is as follows: the system queries the model mapping table, finds the corresponding prediction model based on the traffic pattern type of the time unit, creates an instance of the selected model, and loads the pre-trained model parameters. The model parameters are fine-tuned according to the specific characteristics of the time unit (such as the date, cycle position, etc.) to improve the prediction accuracy, and the selected model is quickly verified using recent historical data to ensure that its performance meets expectations.

[0067] Input the historical data of the same period into the selected forecasting model to obtain the forecast load data for each time unit;

[0068] In this step, the diversion processing system prepares the corresponding historical contemporaneous data for each time unit and inputs it into the selected forecast model. The preparation process of historical contemporaneous data includes: extracting the contemporaneous data of the past few weeks or months corresponding to the current forecast time unit from the database, removing outliers and missing values, using interpolation or mean filling methods to handle missing data, creating additional features such as lagged values, moving averages, etc., and standardizing or normalizing the data. For each time unit, the system performs the following steps: warming up the model with part of the historical data, and using the rolling forecast method to gradually forecast forward to obtain the forecast load data.

[0069] The predicted load data are merged to obtain a set of predicted load data within the preset time period.

[0070] In this step, the predicted load data is merged to obtain a set of predicted load data within the preset time period. The diversion processing system merges the predicted load data of each time unit obtained in the previous step to form a complete set of predicted load data within the preset time period.

[0071] S203, obtaining the service type information, processing scale information and urgency information of the current service in each port, and calculating the service priority of all the current services according to the service type information, the processing scale information and the urgency information to obtain a service priority set;

[0072] This step specifically includes:

[0073] Classifying the service type information, dividing the service type into a first service, a second service and a third service, and assigning different weight coefficients to each of them;

[0074] In this step, the shunt processing system first classifies the service type information, divides the services into first, second, and third services, and assigns different weight coefficients. The system maintains a service type database that contains predefined service types and their default classifications. When a new service enters the system, the system automatically matches its type and classifies it. For example, financial transaction services are classified as first services with a weight coefficient of 1.5; video stream services are classified as second services with a weight coefficient of 1.2; ordinary web browsing is classified as third services with a weight coefficient of 1.0.

[0075] Calculate the resource consumption index for each service based on this processing scale information, and this resource consumption index is proportional to this processing scale;

[0076] In this step, next, the system calculates the resource consumption index for each service according to the processing scale information. The system first defines a benchmark unit, such as the resource consumption for processing 1MB of data per second. Then, the system evaluates the actual processing scale of each service and converts it into a multiple relative to the benchmark unit. For example, if a video stream service needs to process 10MB of data per second, its resource consumption index is 10. The system uses a linear mapping function to convert the processing scale into a resource consumption index to ensure that the resource consumption index is proportional to the processing scale. In addition, the system also considers the characteristics of different types of services, such as CPU-intensive or I / O-intensive, and appropriately adjusts the resource consumption index.

[0077] Set the time sensitivity coefficient based on this urgency information;

[0078] In this step, the system then sets the time sensitivity coefficient based on the urgency information. The system defines a time sensitivity scale ranging from 1 to 10, where 1 represents a service that is not time-sensitive, and 10 represents a service that is extremely time-sensitive. The system determines the urgency of each service by analyzing the characteristics of the service and the parameters set by the user. For example, a real-time video conference is given a time sensitivity coefficient of 9, while background data backup is given a coefficient of 2. The system also implements a dynamic adjustment mechanism that can adjust the time sensitivity coefficient according to the real-time performance of the service and user feedback. For example, if it is detected that the video conference has a delay, the system will automatically increase its time sensitivity coefficient.

[0079] Multiply this weight coefficient, this resource consumption index, and this time sensitivity coefficient to obtain a priority score;

[0080] In this step, the system multiplies the weight coefficient, the resource consumption index, and the time sensitivity coefficient to obtain a priority score. The formula for calculating the priority score is: Priority score = Weight coefficient × Resource consumption index × Time sensitivity coefficient. For example, for a type-one service (weight coefficient 1.5), with a resource consumption index of 8 and a time sensitivity coefficient of 7, its priority score is 1.5 × 8 × 7 = 84. This priority score also includes an upper limit and a lower limit to prevent certain services from obtaining too high or too low a priority due to extreme values.

[0081] Sort all the current services according to this priority score to obtain a service priority set.

[0082] In this step, finally, the system sorts all the current services according to the priority score to obtain a service priority set. The system uses a quicksort algorithm to sort the priority scores of all services in descending order. After the sorting is completed, the system generates an ordered list containing all service IDs and their corresponding priority scores, that is, the service priority set. The system also implements a segmented processing mechanism, dividing services with similar priorities into different priority groups, such as a high-priority group (score 80 - 100), a medium-priority group (score 50 - 79), and a low-priority group (score 0 - 49).

[0083] S204. Allocate processing resources for each port based on this predicted load data set and this service priority set, and allocate the input service traffic based on this processing resource and service priority.

[0084] In this step, the system first reads the predicted load data set to determine the expected load of each port in the future time period. The system uses a time series prediction algorithm, such as ARIMA (Autoregressive Integrated Moving Average Model), to predict the load of each port per hour in the next 24 hours. Then, the system reads the service priority set, sorts the services from high to low according to the priority, and the system uses a weighted round-robin algorithm to allocate processing resources for each port. Suppose the system has 4 ports and the total CPU resource is 100 units. According to the predicted load, the system can allocate CPU resources in the following way: Port 1 (predicted load 80%) is allocated 40 units, Port 2 (predicted load 60%) is allocated 30 units, and Ports 3 and 4 (both with a predicted load of 40%) are each allocated 15 units.

[0085] S205. Receive multiple user-defined custom data models, each of which includes a regular expression and a corresponding processing policy;

[0086] A custom data model is a user-defined specific data processing rule used to identify specific types of data streams and specify their processing methods. A regular expression is an expression used to match strings of a specific pattern and is used here to identify specific types of data packets or traffic. The processing policy specifies the processing method to be taken after the matching data is found.

[0087] The system provides a graphical Web interface for users to create custom data models. Users need to input the following information: Model name: Give the model a descriptive name, such as "Financial Transaction Model" or "Video Stream Model". Regular expression: Used to match specific data patterns. For example, "^TRADE_[A-Z]{3}_\d{6}$" can be used to match all strings that start with TRADE_, followed by 3 uppercase letters and 6 digits, which represents a specific format of financial transaction data.

[0088] Users can select from a list of predefined policies, such as "High-priority Processing", "Dedicated Server Routing", "Data Encryption", etc. According to the selected policy, users need to set additional parameters. For example, if "High-priority Processing" is selected, users need to specify a specific priority value (such as a number from 1 to 100).

[0089] The system immediately validates the effectiveness of the regular expression when the user creates the model and provides a real-time matching test function, allowing users to input sample data to check the matching results.

[0090] S206. Associate each such custom data model with one or more of such ports, such that each port is responsible for processing service traffic matching a specific custom data model;

[0091] Association means mapping the custom data model to a specific network port. The system provides an intuitive graphical interface that allows administrators to establish associations between models and ports through drag-and-drop operations. The interface displays all available custom data models and all ports in the system. The administrator can select a model and then select one or more ports to be associated. The system supports many-to-many association relationships, that is, one model can be associated with multiple ports, and one port can also process data of multiple models.

[0092] The system uses two mapping tables internally to maintain these association relationships: one mapping from ports to models, and the other mapping from models to ports. This two-way mapping allows the system to quickly find all models associated with a specific port, or find all ports that can process data of a specific model.

[0093] When a data packet arrives at a certain port, the system first looks up all the models associated with that port. Then, it attempts to use the regular expressions of these models to match the characteristics of the data packet (such as header information or specific parts of the payload). If a matching model is found, the system will apply the processing policy specified by that model. If multiple models match, the system will apply the policy of the model with the highest priority.

[0094] The system implements a dynamic reconfiguration mechanism that allows administrators to add, delete, or modify the associations between models and ports without stopping the system. When the administrator updates the association relationship, the system immediately applies the changes to the mapping table in memory and asynchronously persists these changes to the database. The system uses a read-write lock mechanism to ensure that ongoing data packet processing operations are not affected when updating the association relationship.

[0095] S207. Parse the input service traffic data and extract data features;

[0096] Service traffic data refers to various types of data packets transmitted over the network, including but not limited to HTTP requests, database queries, file transfers, etc. Data features are the structured information extracted from the service traffic data in the previous step. In this step, the traffic diversion processing system first receives the original data packets transmitted in the network. The system uses deep packet inspection (DPI) technology to parse these data packets. DPI technology can analyze the content of the data packet, not just the header information. The system first identifies the protocol used by the data packet, such as TCP, UDP, HTTP, FTP, etc. Then, according to different protocol types, the system uses the corresponding parser to extract data features. For HTTP traffic, the system extracts the request method, URL, and request header information; for database queries, the system identifies the type of SQL statement (SELECT, INSERT, UPDATE, etc.); for file transfers, the system identifies the file type and size. The system also analyzes the source IP address and destination IP address of the data packet, as well as the source port and destination port. For encrypted traffic, the system will attempt to identify the encryption protocol used (such as SSL / TLS) and extract available metadata.

[0097] In this step, the shunt processing system compares the data features extracted in the previous step with all the custom data models stored in the system. First, the system converts the data features into string form. For example, it concatenates the various components of an HTTP request (method, URL, headers, etc.) into a long string. Then, the system traverses all the custom data models and performs the following operations on each model: reads the regular expression of the model, compiles the regular expression into an automaton using an efficient regular expression engine (such as RE2), and uses the compiled automaton to match the data feature string. When the first successfully matched model is found, the system immediately marks it as the "first data model" and records the detailed information of the match, including the specific location of the match and the captured groups.

[0098] S208. Match the data features with the regular expressions of each of the custom data models to obtain the first data model.

[0099] The first data model is the custom data model that successfully matches the data features in the previous step. The processing policy is a set of rules defined in advance for each custom data model, guiding how the system processes the data traffic that matches the model. The business priority collection is a list containing different business types and their corresponding priorities. Here, the port refers to the physical or logical interface on a network device used for data transmission. For example, if the first data model is the "financial transaction model" and its corresponding processing policy is "high-priority processing", and in the business priority collection, the priority of the financial transaction business is set to 95 (out of 100).

[0100] In this step, the shunt processing system first confirms whether the match in the previous step is successful. If the match is successful, the system immediately performs the following operations: extracts the processing policy associated with the first data model. This policy contains multiple instructions such as priority setting, bandwidth allocation, security processing, etc. The system queries the business priority collection to determine the priority of the business to which the current data traffic belongs. If the first data model has already specified a priority, the system compares it with the value in the business priority collection and takes the higher one. 3) The system selects a suitable port for data allocation according to the processing policy and the determined priority. This selection process takes into account multiple factors: the current load of the port, the processing capacity of the port, the association relationship with the data model, etc.

[0101] S209. When the match is successful, allocate the successfully matched business traffic data to the corresponding port according to the processing policy corresponding to the first data model and the business priority collection.

[0102] The first data model is a custom data model that successfully matches data characteristics in the previous step. This model contains identification rules and processing guidelines for specific types of data traffic. The processing strategy is a set of specific operation instructions associated with the first data model, defining how to process the data traffic that matches the model. These strategies include, but are not limited to, priority setting, bandwidth allocation, security processing, etc. The business priority collection is a predefined list that contains various business types and their corresponding priority values. For example, assume that the first data model identifies a data stream as financial transaction data, and its corresponding processing strategies are "high-priority processing" and "encrypted transmission", while in the business priority collection, the priority of the financial transaction business is set to 95 (out of 100).

[0103] In this step, the traffic splitting and processing system first confirms the successful match of the data characteristics with the first data model. Then, the system immediately executes the following operation sequence: extract the associated processing strategies from the first data model. In this example, the strategies include "high-priority processing" and "encrypted transmission". The system queries the business priority collection to obtain the priority value of 95 for the financial transaction business, and based on the processing strategies and the priority value, selects the most suitable one from the available ports.

[0104] S210. Real-time monitor the actual load data of each such port and compare it with the predicted load data;

[0105] A port is an interface on a network device used for data transmission, which can be a physical port or a logical port. Each port has its specific data processing capacity and current working status. The actual load data refers to the amount of data actually processed by the port at the current moment, usually measured by the number of bytes or packets transmitted per second. The predicted load data is the load that the system predicts the port may bear in a future period based on historical data and various algorithms. For example, the actual load of a certain port is 100 Mbps per second, while the predicted load is 80 Mbps per second.

[0106] In this step, the traffic splitting and processing system implements a comprehensive and continuous monitoring mechanism. The system collects the actual load data of each port once per second. These data include, but are not limited to: the amount of data transmitted (number of bytes), the number of packets processed, the current bandwidth usage rate, CPU usage rate, memory usage situation, etc. The system uses high-precision network monitoring tools (such as NetFlow or sFlow) to collect these data to ensure the accuracy and real-time nature of the data. At the same time, the system obtains the predicted load data at the corresponding time point from its prediction model.

[0107] S211. When the deviation between the actual load data of any port and the predicted load exceeds the preset threshold, dynamically adjust the resource allocation between ports and the allocation ratio of service traffic according to the actual load data, the predicted load data, and the service priority of each port until it is within the preset load balancing threshold, where the preset load balancing threshold is the maximum allowable deviation percentage between the actual load data and the predicted load data of each port.

[0108] The actual load data refers to the amount of data currently processed by the port, usually measured by the number of bytes or packets processed per second. The allocation ratio of service traffic refers to the process of allocating different types of service data to each port according to a certain ratio. The preset load balancing threshold is an allowable maximum deviation range, and the goal of system adjustment is to keep the load of all ports within this range. For example, if the preset threshold is set to 15% and the preset load balancing threshold is set to 10%, then when the actual load of a certain port is 20% higher than the predicted load, the system will make adjustments until the deviation between the actual load and the predicted load of all ports does not exceed 10%.

[0109] In this step, the shunt processing system implements a complex dynamic load balancing and resource adjustment mechanism. The system first continuously monitors the actual load data of each port and compares it with the predicted load data in real time. When the system detects that the deviation between the actual load and the predicted load of any port exceeds the preset threshold (e.g., 15%), it will immediately trigger the adjustment process.

[0110] S212. Detect the operating status of all ports. If there is a first port in a fault state, obtain the first service traffic information of the first port, where the first service traffic information includes the service type, service data, and the service priority of all the service data.

[0111] A port is an interface on a network device for data transmission, which can be a physical port or a logical port. Each port has its specific operating status, including normal, faulty, overloaded, etc. The first port refers to the first port found in a fault state during the detection process. The fault state means that the port cannot process data traffic normally, which may be caused by hardware failures, software errors, or configuration problems. The first service traffic information refers to the detailed information set of all service data transmitted through the first port. The service type represents the specific service category to which the data traffic belongs, such as web browsing, video streaming, financial transactions, etc. The service data refers to the actual transmitted data content and its metadata. The service priority refers to the importance level assigned to each service type or each data packet, which is used to determine the processing order when resources are limited.

[0112] Specifically, the shunt processing system implements a comprehensive and continuous port status monitoring mechanism. The system conducts a full scan every 5 seconds to check the operating status of all ports. The inspection content includes, but is not limited to, physical connection status, data transmission capacity, error packet rate, packet loss rate, latency and other indicators. For each port, the system maintains a status counter to record the number of consecutive fault detections. When a certain port is detected as abnormal for 3 consecutive times (15 seconds), the system marks it as a fault status. Once the system detects that the first port (such as port 3) is in a fault state, it will notify the administrator of the fault situation through multiple channels (such as the system console, email, text message).

[0113] It can be understood that step S212 can be executed after step S211 or after step 204, and there is no limitation here.

[0114] S213. Analyze the current load status and remaining processing capacity of other target ports, where the other target ports are the normally operating ports other than the first port.

[0115] The other target ports refer to all the normally operating ports in the system except the faulty port (the first port). The current load status refers to the working status of each target port at the current moment, including the amount of data being processed, the number of active connections, CPU usage, memory usage, etc. The remaining processing capacity refers to the additional data processing capacity that each target port can bear without affecting the current business, which is expressed in the form of available bandwidth, idle CPU time or available memory, etc.

[0116] In this step, first determine the set of target ports, that is, all the normally operating ports except the faulty port, collect real-time data of the ports once per second, including the current bandwidth usage rate, packet processing rate, number of active connections, CPU usage, memory usage, etc., retrieve the historical data within the past 1 hour, and analyze the load change trend. Use time series analysis techniques (such as moving average, exponential smoothing) to predict the load change in the short term (such as the next 5 minutes), calculate the remaining processing capacity according to the maximum processing capacity of the port (such as the maximum bandwidth, peak packet processing rate) and the current load, analyze the type of business currently processed by each target port, and evaluate whether it is suitable for receiving the specific business traffic of the faulty port. For example, some ports may be specifically configured to process encrypted traffic and are more suitable for receiving business that requires secure transmission. The system calculates a comprehensive performance index for each target port, which comprehensively considers the current load, remaining capacity, historical stability and business compatibility.

[0117] S214. Based on the dynamic load balancing algorithm, redistribute the first business traffic of the first port to the other target ports one by one in the order of the business priority from high to low.

[0118] In this step, the shunt processing system performs a complex traffic reallocation process. First, the system creates a task list sorted from high to low according to business priorities based on the first business traffic information collected previously. It uses a machine learning model (such as an LSTM neural network) to predict the traffic changes of this business type within the next 5 minutes. According to the predicted traffic and business characteristics (such as bandwidth requirements, processing complexity), it calculates the required amount of resources. Using a multi-objective optimization algorithm, considering the remaining capacity of each target port, the current load, business compatibility, and network topology, it selects the most suitable set of target ports. Using software-defined network (SDN) technology, it dynamically updates the flow table of network devices and redirects the business traffic to the selected target ports according to business priorities.

[0119] S215. Real-time calculate the new load level of each of these other target ports.

[0120] This step is to, after reallocating the business traffic of the faulty port, monitor and calculate the new load levels of other normally operating ports in real time. The calculation of the new load level may include multiple metrics, such as CPU usage rate, memory occupancy, network bandwidth utilization rate, etc.

[0121] Collect the real-time data of each target port, including CPU usage rate, memory occupancy rate, and network bandwidth usage rate, etc. At the same time, obtain the business traffic data newly allocated to this port. Then, calculate the new CPU load, memory load, and network load respectively. The calculation method is to add the current usage rate and the estimated requirements of the newly added business and then divide by the total capacity to obtain a percentage. Next, the system combines the new CPU load, memory load, and network load through a preset weight coefficient to calculate a comprehensive new load level.

[0122] S216. If the new load level of the first target port exceeds the preset load balancing threshold, store the first business traffic in the priority queue.

[0123] The first target port refers to the port that first receives the newly allocated business traffic during the traffic reallocation process. The new load level refers to the overall workload status of this port after receiving the newly allocated business traffic, usually expressed as a percentage.

[0124] Specifically, for the marked "first target port", the system will identify the business traffic originally planned to be allocated to it (the first business traffic), suspend the allocation of this part of the business traffic to this port, create or access a pre-defined priority queue data structure, encapsulate the relevant information of the first business traffic (such as business ID, data volume, priority, etc.) into a data object, and insert this data object into the priority queue. The insertion position is determined based on the priority of the business.

[0125] S217. Allocate the service traffic in the priority queue at a preset time interval.

[0126] Specifically, the shunt processing system implements a periodic queue processing mechanism. The system first sets a timer with an interval of 10 seconds. Whenever the timer is triggered, the system executes the following operation sequence: First, check the current state of the priority queue, including the queue length, the waiting time of the head element of the queue, the distribution of services with different priorities in the queue, etc. Conduct a comprehensive load scan of all target ports and collect the real-time load data of each port, including CPU usage, memory occupancy, bandwidth utilization, etc. Based on the queue state and port load data, the system uses a multi-objective optimization algorithm to calculate the optimal allocation strategy and allocate the service traffic in the priority queue according to this allocation strategy.

[0127] Next, the shunt processing system in the embodiment of the present invention application will be described from the perspective of hardware processing. Please refer to Figure 3 , which is a schematic structural diagram of an entity device of the shunt processing system in the embodiment of the present application.

[0128] It should be noted that Figure 3 the structure of the shunt processing system shown is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present invention.

[0129] As Figure 3 shown, the shunt processing system includes a central processing unit (CPU) 301, which can execute various appropriate actions and processes according to the program stored in the read-only memory (ROM) 302 or the program loaded from the storage section 308 into the random access memory (RAM) 303, such as executing the method described in the above embodiments. In the RAM 303, various programs and data required for system operation are also stored. The CPU 301, ROM 302, and RAM 303 are connected to each other through a bus 304. The input / output (I / O) interface 305 is also connected to the bus 304.

[0130] The following components are connected to the I / O interface 305: an input section 306 including an audio input device, a push-button switch, etc.; an output section 307 including a liquid crystal display (LCD), an audio output device, an indicator light, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as required. A removable medium 311, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 310 as required so that a computer program read therefrom can be installed into the storage section 308 as required.

[0131] Specifically, according to an embodiment of the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 309, and / or installed from the removable medium 311. When the computer program is executed by a central processing unit (CPU) 301, various functions defined in the present invention are executed.

[0132] It should be noted that specific examples of computer-readable storage media may include, but are not limited to: an electrical connection having one or more 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), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or apparatus.

[0133] 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 the present invention. Among them, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the above-mentioned module, program segment, or part of code includes 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 may occur in a different order from that marked in the accompanying drawings.

[0134] Specifically, the shunt processing system of this embodiment includes a processor and a memory, and a computer program is stored on the memory. When the computer program is executed by the processor, the shunt processing method provided in the above embodiment is implemented.

[0135] On the other hand, the present invention also provides a computer-readable storage medium, which may be included in the shunt processing system described in the above embodiment; or it may exist separately without being assembled into the shunt processing system. The above storage medium carries one or more computer programs. When the above one or more computer programs are executed by a processor of the shunt processing system, the shunt processing system is enabled to implement the shunt processing method provided in the above embodiment.

[0136] As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the various embodiments of the present application.

[0137] As used in the above embodiments, depending on the context, the term "when..." can be interpreted to mean "if...", or "after...", or "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if detecting (the stated condition or event)" can be interpreted to mean "if determining...", or "in response to determining...", or "when detecting (the stated condition or event)", or "in response to detecting (the stated condition or event)".

[0138] Those of ordinary skill in the art can understand all or part of the processes in the methods of the above embodiments. These processes can be completed by relevant hardware instructed by a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The foregoing storage medium includes: various media such as ROM or random access memory RAM, magnetic disk, or optical disc that can store program code.

Claims

1. A diversion processing method, characterized in that: Applied to a diversion processing system, the method comprises: Obtaining historical load data of each port, and analyzing the historical load data based on a pattern recognition algorithm to obtain common traffic patterns and peak time periods; Classifying the common traffic patterns to obtain multiple traffic pattern types; Setting a corresponding prediction model for each type of traffic pattern, wherein different types of traffic patterns correspond to different prediction models; Dividing a preset time period into a plurality of time units, and determining a flow pattern type to which each of the time units belongs; Selecting a corresponding prediction model according to the traffic pattern type to which each of the time units belongs; Inputting historical data of the same period into the selected forecasting model to obtain forecast load data for each of the time units; Merging the predicted load data to obtain a set of predicted load data within the preset time period, wherein the set of predicted load data includes the predicted load data of each of the ports; Obtaining the service type information, processing scale information and urgency information of the current service in each port, and classifying the service type information, dividing the service type into the first service, the second service and the third service, and assigning different weight coefficients to each of them; Calculating a resource consumption index for each business according to the processing scale information, wherein the resource consumption index is proportional to the processing scale; Setting a time sensitivity coefficient based on the urgency information; Multiplying the weight coefficient, the resource consumption index and the time sensitivity coefficient to obtain a priority score; Sorting all the current services according to the priority scores to obtain a service priority set; Processing resources are allocated to each of the ports based on the predicted load data set and the service priority set, and input service traffic is allocated based on the processing resources and service priorities.

2. The method according to claim 1, characterized in that After the step of allocating processing resources to each of the ports based on the set of predicted load data and the set of service priorities, the method further includes: Receiving a plurality of user-defined custom data models, each of the custom data models comprising a regular expression and a corresponding processing strategy; Associating each of the custom data models with one or more of the ports, so that each port is responsible for processing business traffic matching a specific custom data model; Analyze the input business traffic data and extract data features; Matching the data feature with the regular expression of each of the custom data models to obtain a first data model; When the match is successful, the successfully matched business traffic data is allocated to the corresponding port according to the processing strategy corresponding to the first data model and the business priority set.

3. The method according to claim 2, characterized in that After the step of allocating the successfully matched service flow data to the corresponding port according to the processing strategy corresponding to the first data model and the service priority set, the method further includes: Monitor the actual load data of each port in real time and compare it with the predicted load data; When it is detected that the deviation between the actual load data and the predicted load of any port exceeds a preset threshold, the resource allocation and the distribution ratio of business traffic between ports are dynamically adjusted according to the actual load data, the predicted load data and the business priority of each port to within the preset load balancing threshold. The preset load balancing threshold is the maximum allowable deviation percentage between the actual load data of each port and its predicted load data.

4. The method according to claim 1, characterized in that: After the step of allocating processing resources to each of the ports based on the set of predicted load data and the set of service priorities, the method further includes: Detecting the running status of all ports, and if a first port is in a fault state, obtaining first service flow information of the first port, where the first service flow information includes a service type, service data, and service priority of all the service data; Analyzing current load conditions and remaining processing capacity of other target ports, where the other target ports are ports operating normally except the first port; Based on a dynamic load balancing algorithm, the first service traffic of the first port is redistributed to the other target ports one by one in the order of the service priorities from high to low.

5. The method according to claim 4, characterized in that After the step of reallocating the service traffic of the first port to the other normally operating ports one by one in the order of the service priorities from high to low based on the dynamic load balancing algorithm, the method further includes: calculating in real time a new load level for each of the other target ports; If the new load level of the first target port exceeds a preset load balancing threshold, storing the first service flow in a priority queue; The service traffic in the priority queue is distributed according to a preset time interval.

6. A flow separation processing system, characterized in that: The diversion processing system includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the diversion processing system to execute the method described in any one of claims 1-5.

7. A computer-readable storage medium comprising instructions, characterized in that: When the instruction is executed on the offload processing system, the offload processing system is caused to execute the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Green intelligent computing center energy efficiency optimization method and system

    CN117539726A

  • Flow scheduling method and system for multi-core SDN (Software Defined Network) switch

    CN118509373A