A scheduling method, device and equipment of a content distribution network and a storage medium
By generating predictive models and dynamically adjusting the scheduling strategy of the content delivery network, the problems of lagging and inflexible scheduling strategies in existing technologies are solved, thereby improving the utilization rate of network nodes and the quality of user services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILEHANGZHOUINFORMATION TECH CO LTD
- Filing Date
- 2021-11-04
- Publication Date
- 2026-04-28
AI Technical Summary
The scheduling strategies of existing content delivery networks rely on manual configuration, which is inflexible, slow to adjust, and difficult to cope with special situations, resulting in a large workload for operation and maintenance.
By analyzing the trend changes, periodic changes, and event types of traffic data, a predictive model is generated to dynamically adjust the scheduling strategy of network nodes.
It enables dynamic adjustment of traffic data, improving the utilization rate of network nodes and the quality of user service.
Smart Images

Figure CN116070380B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer network technology, and in particular to a scheduling method, apparatus, device and storage medium for a content delivery network. Background Technology
[0002] In related technologies, static scheduling strategies with manual configuration suffer from several drawbacks. Strategy adjustments are delayed, requiring time to show results, are easily affected by other factors, and heavily rely on the experience of the scheduling personnel. Strategy configuration lacks flexibility, necessitating human intervention and adjustments for special circumstances. Furthermore, strategy configuration is cumbersome, leading to significant subsequent maintenance workload. Summary of the Invention
[0003] To address the aforementioned technical problems, embodiments of this application provide a scheduling method, apparatus, device, and storage medium for a content delivery network. By analyzing the trend changes, periodic changes, and the impact of event types on the first traffic data, a prediction model is obtained, enabling accurate prediction of traffic data at future points in time.
[0004] To achieve the above objectives, the technical solution of this application is implemented as follows:
[0005] This application provides a scheduling method for a content delivery network, the method comprising:
[0006] Obtain the first traffic data of a preset network node within a preset time period;
[0007] Determine the event type of the first traffic data and the time-based change information of the data volume of the first traffic data;
[0008] Based on the event type and the change information, a prediction model is generated;
[0009] Based on the prediction model, predict the second traffic data of the preset network node in a future time period;
[0010] Based on the second traffic data, the preset network nodes are scheduled.
[0011] This application provides a scheduling device for a content delivery network, the device comprising:
[0012] The first acquisition module is used to acquire the first traffic data of a preset network node within a preset time period;
[0013] The first determining module is used to determine the event type of the first traffic data and the time-based change information of the data volume of the first traffic data.
[0014] The first generation module is used to generate a prediction model based on the event type and the change information;
[0015] The first prediction module is used to predict the second traffic data of the preset network node in a future time period based on the prediction model.
[0016] The first scheduling module is used to schedule the preset network nodes based on the second traffic data.
[0017] This application also provides an electronic device, which includes: a processor, a memory, and a communication bus; wherein the communication bus is used to realize a communication connection between the processor and the memory;
[0018] The processor is used to execute the program in the memory to implement the scheduling method of the capacity distribution network described above.
[0019] Accordingly, embodiments of this application also provide a computer-readable storage medium storing one or more programs that can be executed by one or more processors to implement any of the above-described content delivery network scheduling methods.
[0020] This application provides a scheduling method, apparatus, device, and storage medium for a content delivery network. First, it acquires first traffic data within a preset time period from a preset network node. Second, it determines the event type of the first traffic data and the time-based change information of the data volume of the first traffic data. Third, it generates a prediction model based on the event type and the change information. Next, based on the prediction model, it predicts second traffic data within the preset network node in a future time period. Finally, it schedules the preset network node based on the second traffic data. This enables dynamic adjustment of traffic data, improving not only the utilization rate of network nodes but also the quality of service for users. Attached Figure Description
[0021] Figure 1 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0022] Figure 2 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0023] Figure 3 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0024] Figure 4 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0025] Figure 5 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0026] Figure 6 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0027] Figure 7 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0028] Figure 8 A schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in this application embodiment;
[0029] Figure 9 A schematic diagram illustrating the implementation process of the content delivery network scheduling method based on traffic prediction provided in this application embodiment;
[0030] Figure 10 A schematic diagram of the composition structure of the scheduling device for the content delivery network provided in the embodiments of this application;
[0031] Figure 11 This is a schematic diagram of the scheduling system of the content delivery network provided in the embodiments of this application. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the specific technical solutions of the invention will be further described in detail below with reference to the accompanying drawings of the embodiments of this application. The following embodiments are used to illustrate this application, but are not intended to limit the scope of this application.
[0033] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0034] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0036] This application provides a scheduling method for a content delivery network, such as... Figure 1 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 1 As shown, the method includes the following steps:
[0037] Step S101: Obtain the first traffic data of the preset network node within a preset time period.
[0038] In some embodiments, the preset network node can be a local switch, an X.25 node, a leased line service node (such as a DDN node machine), a video-on-demand and broadcast television service node under a specific configuration, an edge node, etc.; here, the network node can be understood as a service node, that is, a network element.
[0039] In some embodiments, the preset duration can be one week, one month, three months, etc., and there is no limitation here.
[0040] In some embodiments, the first traffic data can be service traffic data; for example, live streaming service traffic data, video service traffic data, and other service traffic data with high traffic demand. Obtaining the first traffic data within a preset time period from a preset network node can be achieved through the following process: collecting service traffic data from the preset network nodes located within a preset area to obtain the first traffic data. Here, the preset area can be determined based on the division of physical regions; for example, using physical regions such as provinces, cities, and districts as the preset area. Collecting the service traffic data from the preset network nodes located within the preset area can be understood as statistically analyzing (collecting) the total traffic load of network nodes within the preset area.
[0041] Step S102: Determine the event type of the first traffic data and the time-based change information of the data volume of the first traffic data.
[0042] In some embodiments, the event type refers to the type of event that occurs at the corresponding time point or time period when the amount of first traffic data changes abruptly. The event type can be obtained by classifying events according to their characteristics or nature. For example, the event type that occurs at the time point or time period when the first traffic data suddenly increases can be a hot event, and the event type that occurs at the time point or time period when the first traffic data suddenly decreases can be a cold event.
[0043] In some embodiments, the change information refers to the change in the amount of first traffic data over time; for example: from 10:00 to 14:00 on September 30, 2021, the first traffic data of business node 1 in district a of city A showed a state of first increasing and then decreasing; from 20:00 to 22:00 on September 30, 2021, the first traffic data of business node 1 in district a of city A showed a state of increasing; from September 30, 2021 to October 7, 2021, the first traffic data of business node 1 in district a of city A showed a sinusoidal change state, etc.
[0044] Step S103: Generate a prediction model based on the event type and the change information.
[0045] In some embodiments, generating a prediction model based on the event type and the change information can be understood as analyzing the trend changes (non-periodic changes), periodic changes, and the impact of event types on the first traffic data to generate a prediction model. Here, change information is used to determine the trend changes and periodic changes in the first traffic data, and event types are used to determine the special changes in the first traffic data. Then, by combining the above three types of changes, a prediction model is finally generated that can predict traffic data at future points in time or time periods.
[0046] Step S104: Based on the prediction model, predict the second traffic data of the preset network node in the future time period.
[0047] In some embodiments, after obtaining the prediction model, the second traffic data of the preset network node in the future period can be predicted directly using the prediction model. In this way, the second traffic data of the preset network node in the future period can be known in a timely manner, and then the preset network node can be scheduled based on the second traffic data, thereby solving the problem of lag in static scheduling strategy.
[0048] In some embodiments, since the prediction model is generated based on changes caused by non-periodic variations, periodic variations, and event types, the prediction model can be adjusted based on the event types of the changed region when the preset region changes. Alternatively, the method provided in the embodiments of this application can be used to generate the prediction model for the changed region.
[0049] Step S105: Based on the second traffic data, schedule the preset network nodes.
[0050] In some embodiments, scheduling the preset network nodes based on the second traffic data can be: scheduling users covered by the preset network node with larger second traffic data to the preset network node with smaller second traffic data; for example, if the second traffic data of network node A is much higher than the second traffic data of network node B, then users of network node A are scheduled to network node B to optimize the traffic load of the preset network nodes in the preset area and improve the service quality for users.
[0051] In this embodiment, firstly, first traffic data within a preset time period of a preset network node is acquired; secondly, the event type of the first traffic data and the time-based change information of the data volume of the first traffic data are determined; thirdly, a prediction model is generated based on the event type and the change information; next, based on the prediction model, second traffic data within the preset network node in a future time period is predicted; finally, the preset network node is scheduled based on the second traffic data. In this way, dynamic adjustment of traffic data can be achieved, which not only improves the utilization rate of network nodes but also improves the service quality for users.
[0052] In some embodiments, processing the first flow data into a time series of flow data can effectively save computational resources and provide a clear view of the changes in the first flow data. Figure 2 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 2 As shown, step S102, determining the time-based change information of the first traffic data, includes the following steps:
[0053] Step S201: Based on a preset time interval, the preset duration is divided to obtain multiple divided time periods.
[0054] In some embodiments, the preset time interval is a time period shorter than the preset duration; for example, if the preset duration is one day (i.e., 24 hours), then the preset time interval can be one hour; if the preset duration is one month (i.e., 31 days, 30 days, 28 days, or 29 days), then the preset time interval can be one day.
[0055] In some embodiments, the preset duration is divided based on a preset time interval to obtain multiple divided time periods. This means that the preset duration is divided into multiple time periods using a preset time interval. For example, if the preset duration is one day (i.e., 24 hours) and the preset time interval is one hour, then the preset time interval can divide the preset duration into 24 time periods, i.e., the first hour, the second hour, ... the twenty-fourth hour. If the preset duration is one month (e.g., 31 days) and the preset time interval is one day, then the preset time interval can divide the preset duration into 31 time periods, i.e., the first day, the second day, ... the thirty-first day.
[0056] Step S202: Determine the time period data of the first traffic data within each divided time period.
[0057] In some embodiments, determining the time period data of the first traffic data within each divided time period can be achieved through the following process: First, determining the total traffic data within each divided time period; second, determining the average traffic data within each divided time period based on the total traffic data within each divided time period; and finally, using the average traffic data within each divided time period as the time period data within each divided time period.
[0058] Step S203: Based on the time period data within each divided time period, generate the data sequence within the preset duration.
[0059] In some embodiments, the generation of a data sequence within the preset duration based on the time period data within each predefined time period can be achieved through the following process: First, establish a two-dimensional coordinate system with time as the horizontal axis and traffic data as the vertical axis; second, place the time period data within each predefined time period into the above two-dimensional coordinate system according to the corresponding time, thereby generating a data sequence within the preset duration.
[0060] Step S204: Fit the data sequence to obtain a fitting curve.
[0061] In some embodiments, fitting the data sequence to obtain a fitting curve can be achieved through the following process: fitting the data sequence generated by placing the time period data within each divided time period into the two-dimensional coordinate system according to the corresponding time to obtain a fitting curve.
[0062] Step S205: Use the change in the fitted curve over time as the change information.
[0063] In some embodiments, the change of the fitted curve over time can be used as the change information, which can be achieved by the following process: using the change at each point in the fitted curve as the change information; for example: the change of the fitted curve at the first hour is (+3×10) 4 T), then (+3×10 4 T) is taken as the change information at the first hour; the change at the second hour is (-200T), so (-200T) is taken as the change information at the second hour.
[0064] In this embodiment, firstly, the preset duration is divided based on a preset time interval to obtain multiple divided time periods; secondly, the time period data of the first traffic data within each divided time period is determined; thirdly, a data sequence within the preset duration is generated based on the time period data within each divided time period; thus, the first traffic data can be processed into a time series of traffic data based on the preset time interval; next, the data sequence is fitted to obtain a fitting curve; finally, the change of the fitting curve over time is used as the change information; thus, the change information of the fitting curve obtained by fitting the time series of traffic data can be obtained.
[0065] In some embodiments, a sudden change in the initial traffic data often indicates the occurrence of a special event. To reduce network congestion, it is necessary to analyze the sudden increase in this data. Figure 3 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 3 As shown, determining the event type of the first traffic data in step S102 includes the following steps:
[0066] Step S301: Based on the change information, within the multiple divided time periods, determine the target time period in which the data volume growth rate of the time period data exceeds a first preset threshold.
[0067] In some embodiments, the first preset threshold can be determined based on the first flow data of multiple sudden increase points, or based on the first flow data of multiple sudden increase to sudden decrease intervals; for example, the average value of the first flow data corresponding to multiple sudden increase points can be used as the first preset threshold, the minimum value of the first flow data corresponding to multiple sudden increase points can be used as the first preset threshold, the average value of the first flow data corresponding to multiple sudden increase to sudden decrease intervals can be used as the first preset threshold, the minimum value of the first flow data corresponding to multiple sudden increase to sudden decrease regions can be used as the first preset threshold, and so on, without limitation.
[0068] Step S302: Determine the events corresponding to the target time period.
[0069] In some embodiments, a sudden change in the first traffic data often indicates that a special event has occurred. In order to reduce network congestion, it is necessary to analyze the sudden increase in the change. Here, determining the event that occurred within the target time period is to determine the cause of the target time period, which is particularly important for reducing network congestion.
[0070] Step S303: The type of event corresponding to the target within the time period is taken as the event type.
[0071] In this embodiment of the application, firstly, based on the change information, within the plurality of divided time periods, a target time period is determined in which the data volume growth rate of the time period exceeds a first preset threshold; secondly, the event corresponding to the target time period is determined; finally, the type of the event corresponding to the target time period is taken as the event type; thus, the cause of the sudden change in the first traffic data can be known.
[0072] In some embodiments, analyzing the trend changes, periodic changes, and the impact of special events on the first flow data is particularly important for constructing a predictive model. Figure 4 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 4 As shown, step S103 includes the following steps:
[0073] Step S401: Based on the change information of the data volume abrupt change points in the fitted curve, determine the first prediction model for predicting the trend of traffic data changes in future moments.
[0074] In some embodiments, the first period model can be understood as a trend prediction model, used to analyze the changing trend of the fitted curve.
[0075] In some embodiments, when the demand for first traffic data increases, users covered by preset network nodes are scheduled to reduce network congestion; therefore, the change information of the data volume surge point in the fitted curve can be mainly analyzed.
[0076] Step S402: Based on the change information of the fitted curve within the first preset period, determine a second prediction model for predicting the trend of traffic data changes in the future period.
[0077] In some embodiments, the second prediction model can be understood as a periodic model, used to analyze the periodic variation pattern of the fitted curve.
[0078] Step S403: Based on the event type and the target time period corresponding to the event type, determine a third prediction model for predicting future traffic data mutations.
[0079] In some embodiments, the event type can be understood as a special event; then, the third prediction model can be understood as a special event model, which can be understood as the third prediction model being used to analyze the impact of the fitting curve of the special event.
[0080] In some embodiments, when the demand for first traffic data increases, users covered by preset network nodes are scheduled to reduce network congestion; therefore, special events can be hot events, and in this case, the third prediction model can be understood as a hot event model.
[0081] Step S404: Generate the prediction model based on the first prediction model, the second prediction model, and the third prediction model.
[0082] In some embodiments, the prediction model is generated based on the first prediction model, the second prediction model, and the third prediction model; that is, the final prediction model is obtained by combining the first prediction model, the second prediction model, and the third prediction model. The prediction model can be understood as a time series prediction model (i.e., the Prophet model).
[0083] In this embodiment, firstly, based on the change information of data abrupt change points in the fitted curve, a first prediction model for predicting the trend of traffic data changes in future moments is determined; secondly, based on the change information of the fitted curve within a first preset period, a second prediction model for predicting the trend of traffic data changes in future periods is determined; thirdly, based on the event type and the target time period corresponding to the event type, a third prediction model for predicting sudden changes in traffic data in future moments is determined; finally, based on the first prediction model, the second prediction model, and the third prediction model, the prediction model is generated; thus, the prediction model generated based on the first prediction model (trend prediction model), the second prediction model (period prediction model), and the third prediction model (hotspot event prediction model) can effectively predict traffic data (second traffic data) at future time points.
[0084] In some embodiments, the first prediction model is used to predict future trends in traffic data. Figure 5 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 5 As shown, step S401 includes the following steps:
[0085] Step S501: Based on the change information of the abrupt change point in the fitted curve, determine the change vector of the abrupt change point.
[0086] In some embodiments, the change vector of the abrupt change point is determined based on the change information of the abrupt change point in the fitted curve. This can be achieved through the following process: constructing the change vector of the abrupt change point based on the change information (change amount) of the abrupt change point in the fitted curve.
[0087] In some embodiments, before determining the change vector of the mutation point based on the change information of the mutation point in the fitted curve, the method further includes: determining data points whose event type is a hotspot event as the mutation point; and / or determining data points whose growth rate exceeds a second preset threshold as the mutation point.
[0088] In some embodiments, the second preset threshold may be the same as or different from the first preset threshold; generally, the second preset threshold is determined based on the traffic data corresponding to the mutation point, that is, the traffic data corresponding to the mutation point is used as the second preset threshold.
[0089] In some embodiments, generative models can be used to generate mutation points.
[0090] Step S502: Based on the change vector, determine the first relationship between the data growth rate and time in the fitted curve.
[0091] In some embodiments, based on the change vector, determining the first relationship between the growth rate of the data volume in the fitted curve and time is actually the process of calculating the growth rate at each time point. The calculation of the growth rate at time point t is shown in formula (1):
[0092]
[0093] Where N is the number of mutation points in the first time period; the time point corresponding to each mutation point is N. i ;δ i For N i The change in the growth rate; k is the initial value of the growth rate.
[0094] Step S503: Adjust the first change relationship using preset bias parameters to obtain the first prediction model.
[0095] In some embodiments, the preset bias parameter is a time-varying parameter used to correct the growth rate of the calculation. The preset bias parameter is calculated as shown in formula (2):
[0096]
[0097] Where, N j The meanings of and k are respectively related to N in formula (1). iThe meanings of and k are the same; m is the bias parameter at the previous time point; γ j The adjusted value.
[0098] In some embodiments, future mutation points of the posterior distribution are randomly sampled to ensure that their frequency and amplitude conform to the historical distribution, thus obtaining the first prediction model; wherein, amplitude can be understood as future mutation points and historical mutation points having the same growth rate. The first prediction model is shown in formula (3):
[0099]
[0100] in, The meanings of the other parameters are the same as above, and will not be repeated here.
[0101] In this embodiment, firstly, based on the change information of the abrupt change point in the fitted curve, the change vector of the abrupt change point is determined; secondly, based on the change vector, a first change relationship between the growth rate of the data volume in the fitted curve and time is determined; finally, the first change relationship is adjusted using a preset bias parameter to obtain the first prediction model; thus, the first prediction model can be accurately obtained.
[0102] In some embodiments, the second prediction model is used to predict the trend of traffic data changes over future periods. Figure 6 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 6 As shown, step S402 includes the following steps:
[0103] Step S601: Determine the change information of the fitted curve within the first preset period.
[0104] In some embodiments, the first preset period can be determined based on the fitted curve; that is, it can be determined based on the periodic change pattern of the fitted curve; for example, if the fitted curve changes in a consistent pattern every week, then the first preset period can be one week.
[0105] In some embodiments, determining the change information of the fitted curve within the first preset period is actually determining the change of the fitted curve within the first preset period; for example, whether it exhibits a sine change or a cosine change.
[0106] Step S602: Based on the change information of the fitted curve within the first preset period, determine the second prediction model that characterizes the correlation between the change information and the first preset period.
[0107] In some embodiments, based on the change information of the fitted curve within the first preset period, a second prediction model representing the correlation between the change information and the first preset period is determined. The period prediction model can be constructed using Fourier series, thus obtaining the second prediction model.
[0108] In some embodiments, constructing a periodic prediction model using Fourier series can be achieved through the following process:
[0109] First, assuming P is the period of the data sequence (time series) of the first flow data, its Fourier series form is shown in formula (4):
[0110]
[0111] The value of N is set manually. Since an excessively large N can lead to overfitting of the model, it is generally set to 10.
[0112] The second step is to decompose the Fourier series form to obtain the periodic vector matrix and β, which satisfy a normal distribution with a mean of 0, as shown in formulas (5) and (6):
[0113]
[0114]
[0115] The third step is to multiply the normal distribution with a mean of 0 by the periodic vector matrix to obtain the second prediction model (periodic prediction model); the second prediction model is shown in formula (7):
[0116] s(t)=X(t)β (7);
[0117] The meanings of the parameters are the same as above, and will not be repeated here.
[0118] In this embodiment, firstly, the change information of the fitted curve within the first preset period is determined; secondly, based on the change information of the fitted curve within the first preset period, a second prediction model characterizing the correlation between the change information and the first preset period is determined; thus, the second prediction model can be accurately obtained.
[0119] In some embodiments, in order to improve the fitting rate of the second prediction model, the second prediction model is optimized, and step S402 further includes the following steps:
[0120] Step S603: Based on the data sequence within the preset duration corresponding to the second preset period, update the second prediction model to obtain the updated second prediction model.
[0121] In some embodiments, the second preset period is shorter than the first preset period; for example, if the first preset period is one month, then the second preset period is one day or one week, etc.
[0122] In some embodiments, the second prediction model is updated based on the data sequence within the preset duration corresponding to the second preset period, which can be achieved through the following process: First, the number of terms in the Fourier series is truncated based on the second preset period; second, the parameters of the second prediction model are optimized using the Fourier series of the second preset period, thus obtaining the optimized second prediction model.
[0123] In this embodiment of the application, the second prediction model is updated based on the data sequence within the preset duration corresponding to the second preset period to obtain an updated second prediction model; that is, the parameters of the second prediction model are optimized through a second preset period with a finer granularity than the first preset period to improve the fitting rate of the second prediction model.
[0124] In some embodiments, the third prediction model is used to predict future bursts in traffic data. Figure 7 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 7 As shown, step S403 includes the following steps:
[0125] Step S701: Obtain a first set of events that includes at least one event type.
[0126] In some embodiments, since various hot events may occur in reality, these hot events may lead to a surge in demand for traffic data; for example, celebrity live-streaming sales, meteor shower live streams, etc.; therefore, it is necessary to collect all these events that cause a surge in demand for traffic data, and thus obtain the first event set.
[0127] Step S702: Based on the occurrence time of each first event in the first event set, generate a second relationship representing the change in the amount of data of the first event with the occurrence time of the event.
[0128] In some embodiments, a second variation relationship is generated based on the occurrence time of each first event in the first event set to characterize the amount of data representing the first event as a function of the occurrence time of the event, in order to know whether a certain point in time is within the occurrence time of the first event.
[0129] Step S703: Determine the third prediction model based on the second change relationship and the occurrence time of each first event.
[0130] In some embodiments, the third prediction model is determined based on the second change relationship and the occurrence period of each first event. This can be achieved through the following process: multiplying a normal distribution with a mean of 0 by the regression matrix within the occurrence period of the first event to obtain the third prediction model. The third prediction model is shown in formula (8):
[0131] h(t)=Z(t)σ (8);
[0132] Where Z(t)=[1(t∈D1),...,1(t∈D) L [)] is the regression matrix; D i Let be the set of past and future holidays; t be the date; σ follows a normal distribution with a mean of 0.
[0133] In this embodiment of the application, firstly, a first event set including at least one event type is obtained; secondly, based on the occurrence time of each first event in the first event set, a second change relationship representing the amount of data of the first event as a function of the occurrence time of the event is generated; thirdly, based on the second change relationship and the occurrence time of each first event, the third prediction model is determined; thus, the third prediction model can be accurately obtained.
[0134] In some embodiments, a final prediction model is obtained based on the first prediction model, the second prediction model, and the third prediction model described above. Figure 8 This is a schematic diagram illustrating the implementation flow of the content delivery network scheduling method provided in the embodiments of this application, as shown below. Figure 8 As shown, step S404 includes the following steps:
[0135] Step S801: Combine the first prediction model, the second prediction model and the third prediction model to obtain a fusion model.
[0136] In some embodiments, the combination of the first prediction model, the second prediction model, and the third prediction model can be achieved through the following process: accumulating the first prediction model, the second prediction model, and the third prediction model to obtain a fusion model; the prediction model is shown in formula (9):
[0137] y(t)=g(t)+s(t)+h(t) (9);
[0138] Where g(t) represents the first prediction model; s(t) represents the second prediction model; and h(t) represents the third prediction model.
[0139] Step S802: Perform posterior estimation on the fusion model to obtain the prediction model.
[0140] In this embodiment of the application, firstly, the first prediction model, the second prediction model, and the third prediction model are combined to obtain a fusion model; secondly, the fusion model is subjected to posterior estimation to obtain the prediction model; thus, the second prediction model can be accurately obtained.
[0141] The following will describe an exemplary application of the embodiments of this application in a real-world application scenario, using business traffic data as an example. Figure 9 A schematic diagram illustrating the implementation flow of a content delivery network (CDN) scheduling method based on traffic prediction, provided in an embodiment of this application, is shown below. Figure 9 As shown, the method includes the following steps:
[0142] Step S901: Collect business traffic data.
[0143] Here, the geographical scope is divided according to physical regions such as provinces and cities, and business traffic data is collected at business nodes within each region.
[0144] Step S902: Process the above business traffic data into a traffic time series.
[0145] The traffic data of each node is aggregated to obtain the traffic time series of the region.
[0146] Here, firstly, each node calculates the average flow within that hour to obtain a flow time series. Secondly, the flow data of each node is summarized to obtain the flow time series of the region.
[0147] Step S903: Set several turning points in the flow time series, calculate the change at each turning point, construct a change vector, and obtain the functional relationship between the growth rate and the time segment.
[0148] Here, the selection of transition points can use the time points of hot events and other time points that significantly affect the growth rate. Alternatively, a generative model can be used to automatically generate transition points by setting a large number of historical transition points and multiple layers of prior distributions, and then obtaining the posterior distribution based on the calculated variance.
[0149] Step S904: Adjust the bias parameter accordingly as the growth rate changes, complete the connection of the later parts of the time segment, and obtain the trend model of the time segment.
[0150] Step S905: Randomly sample the future transition points of the posterior distribution to ensure that their frequency and amplitude conform to the historical distribution, and obtain the trend prediction model.
[0151] Step S906: Analyze the traffic flow time series and set a fixed time period length.
[0152] Step S907: Construct a periodic prediction model using Fourier series.
[0153] Here, the period prediction model is obtained by multiplying a normal distribution with a mean of 0 by a period vector matrix.
[0154] Step S908: Set the daily or weekly time period, truncate the number of terms in the Fourier series according to the time period length, and optimize the parameters of the period prediction model.
[0155] Step S909: Analyze the hot events in the traffic time series and generate a set.
[0156] Step S910: Use a time-event relation function to generate a regression matrix, indicating whether a time point is within the event time period.
[0157] Step S911: Set the hot event time window based on the traffic change value, and use the product of a normal distribution with a mean of 0 and the regression matrix within the window as the hot event prediction model.
[0158] Step S912: Combine the three prediction models obtained above, and then perform a fitting calculation on the models to obtain the maximum a posteriori estimate, thus obtaining the final prediction model.
[0159] Step S913: Use a predictive model to predict flow values at the hourly level for the future.
[0160] Step S914: Dynamically update the scheduling strategy based on the predicted traffic value and increase the priority of nodes with lower load.
[0161] Here, the scheduling strategy is dynamically updated based on the predicted traffic value, and the priority of nodes with lower load is increased in order to optimize the load ratio of nodes and ensure service quality.
[0162] Here, when the predicted traffic value surges in a short period of time, some user traffic is pre-scheduled from nodes with high load to nodes with low load, while nodes with low load in the surrounding area are added to the candidate targets, and temporary nodes can be enabled if necessary.
[0163] Step S915: Periodically adjust the values of the hot event set and fine-tune the model in a timely manner.
[0164] Here, periodically adjusting the values of the hot event set and fine-tuning the model in a timely manner is to maintain the model's predictive accuracy.
[0165] In this embodiment, firstly, business traffic data required for traffic prediction is collected; secondly, several turning points are set in the data sequence (traffic time series) to obtain a trend function model; thirdly, the regular period length of the prediction data is set to obtain a periodic prediction model; next, elements such as holidays and hot events (e.g., adding influencing factors such as celebrities and products to live streaming) are analyzed, and the data set of all such factors is statistically analyzed to obtain a hot event prediction model; then, the final prediction model is obtained based on the above three models; finally, the obtained prediction model is fitted and fine-tuned using the prediction data. Thus, in subsequent applications, hot event sets are set according to the business content of different regions, and the fitted model is used to predict traffic in each region, with a prediction granularity reaching the hourly level. Traffic alerts and scheduling strategies are adjusted based on the predicted traffic to optimize the load of nodes in the region to ensure the service quality of user-scheduled nodes.
[0166] This application provides a scheduling device for a content delivery network. Figure 10 This application provides a schematic diagram of the composition structure of a content delivery network scheduling device, as shown in the embodiments of the present application. Figure 10 As shown, the data processing device 1000 includes:
[0167] The first acquisition module 1001 is used to acquire the first traffic data of a preset network node within a preset time period;
[0168] The first determining module 1002 is used to determine the event type of the first traffic data and the time-based change information of the data volume of the first traffic data.
[0169] The first generation module 1003 is used to generate a prediction model based on the event type and the change information;
[0170] The first prediction module 1004 is used to predict the second traffic data of the preset network node in a future time period based on the prediction model.
[0171] The first scheduling module 1005 is used to schedule the preset network nodes based on the second traffic data.
[0172] In some embodiments, the first acquisition module 1001 includes:
[0173] The first acquisition submodule is used to collect service traffic data of the preset network nodes located within a preset area to obtain the first traffic data.
[0174] In some embodiments, the first determining module 1002 includes:
[0175] The first processing submodule is used to divide the preset duration based on a preset time interval to obtain multiple divided time periods;
[0176] The first determining submodule is used to determine the time period data of the first traffic data within each predefined time period;
[0177] The first generation submodule is used to generate a data sequence within the preset duration based on the time period data within each of the divided time periods;
[0178] The second processing submodule is used to fit the data sequence to obtain a fitting curve;
[0179] The second determining submodule is used to take the change of the fitted curve over time as the change information.
[0180] In some embodiments, the first determining module 1002 further includes:
[0181] The third determining submodule is used to determine, based on the change information, the target time period in which the data volume growth rate of the time period data exceeds a first preset threshold within the plurality of divided time periods;
[0182] The fourth determining submodule is used to determine the events corresponding to the target time period.
[0183] The fifth determining submodule is used to determine the type of the event corresponding to the target within the time period as the event type.
[0184] In some embodiments, the first generation module 1003 includes:
[0185] The first generation submodule is used to determine a first prediction model for predicting the trend of traffic data changes in the future based on the change information of the data abrupt change points in the fitted curve.
[0186] The second generation submodule is used to determine a second prediction model for predicting the trend of traffic data changes in the future period based on the change information of the fitted curve within the first preset period.
[0187] The third generation submodule is used to determine a third prediction model for predicting future traffic data mutations based on the event type and the target time period corresponding to the event type.
[0188] The fourth generation submodule is used to generate the prediction model based on the first prediction model, the second prediction model, and the third prediction model.
[0189] In some embodiments, the first generation submodule includes:
[0190] The sixth determining submodule is used to determine the change vector of the abrupt change point based on the change information of the abrupt change point in the fitted curve;
[0191] The third processing submodule is used to determine the first relationship between the growth rate of the data volume in the fitted curve and time based on the change vector;
[0192] The fourth processing submodule is used to adjust the first change relationship using preset bias parameters to obtain the first prediction model.
[0193] In some embodiments, the data processing apparatus 1000 further includes:
[0194] The second determining module is used to determine data points whose event type is a hotspot event as the mutation point; and / or to determine data points whose growth rate exceeds a second preset threshold as the mutation point.
[0195] In some embodiments, the second generation submodule includes:
[0196] The seventh determining submodule is used to determine the change information of the fitted curve within the first preset period;
[0197] The fifth processing submodule is used to determine the second prediction model that characterizes the correlation between the change information and the first preset period based on the change information of the fitted curve within the first preset period.
[0198] In some embodiments, the second generation submodule further includes:
[0199] The sixth processing submodule is used to update the second prediction model based on the data sequence within the preset duration corresponding to the second preset period, so as to obtain the updated second prediction model.
[0200] In some embodiments, the second preset period is shorter than the first preset period.
[0201] In some embodiments, the third generation submodule includes:
[0202] The second acquisition submodule is used to acquire a first event set including at least one event type;
[0203] The seventh processing submodule is used to generate a second variation relationship between the amount of data representing the first event and the occurrence time of the event, based on the occurrence time of each first event in the first event set;
[0204] The eighth processing submodule is used to determine the third prediction model based on the second change relationship and the occurrence time of each first event.
[0205] In some embodiments, the fourth generation submodule includes:
[0206] The ninth processing submodule is used to combine the first prediction model, the second prediction model and the third prediction model to obtain a fusion model;
[0207] The tenth processing submodule is used to perform posterior estimation on the fusion model to obtain the prediction model.
[0208] This application provides an electronic device 1100, such as... Figure 11 As shown, the electronic device 1100 includes:
[0209] The processor 1101, the memory 1102, and the communication bus 1103 are provided; wherein the communication bus 1103 is used to establish a communication connection between the processor 1101 and the memory 1102.
[0210] The processor 1101 is used to execute the program in the memory 1102 to implement the scheduling method of any of the content delivery networks described above.
[0211] This application provides a computer-readable storage medium storing one or more programs thereon, which can be executed by one or more processors to implement the scheduling method of any of the content delivery networks described above.
[0212] It should be noted that the aforementioned computer-readable storage media can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM), etc.; it can also be various processors that include one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0213] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0214] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0215] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0216] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0217] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0218] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0219] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.
Claims
1. A scheduling method for a content delivery network, characterized in that, The method includes: Obtain the first traffic data of a preset network node within a preset time period; Determine the event type of the first traffic data and the time-based change information of the data volume of the first traffic data; Based on the event type and the change information, a prediction model is generated; Based on the prediction model, predict the second traffic data of the preset network node in a future time period; Based on the second traffic data, users covered by the preset network nodes are scheduled, and users covered by the preset network nodes with larger second traffic data are scheduled to the preset network nodes with smaller second traffic data; The determination of the time-based change information of the data volume of the first traffic data includes: Based on a preset time interval, the preset duration is divided to obtain multiple divided time periods; the time period data of the first traffic data in each divided time period is determined; based on the time period data in each divided time period, a data sequence within the preset duration is generated; the data sequence is fitted to obtain a fitting curve; the change of the fitting curve over time is used as the change information. The step of generating a prediction model based on the event type and the change information includes: Based on the change information of the abrupt change points in the fitted curve, the change vector of the abrupt change points is determined; the abrupt change points include: data points whose event type is a hot event and / or data points whose growth rate exceeds a second preset threshold; based on the change vector, a first change relationship between the growth rate of the data volume in the fitted curve and time is determined; the first change relationship is adjusted using a preset bias parameter to obtain a first prediction model; the first prediction model is used to predict the trend of traffic data changes in future moments.
2. The method according to claim 1, characterized in that, The acquisition of the first traffic data of the preset network node includes: The first traffic data is obtained by collecting the service traffic data of the preset network nodes located within the preset area.
3. The method according to claim 1, characterized in that, Determining the event type of the first traffic data includes: Based on the change information, within the multiple divided time periods, a target time period is determined where the data volume growth rate of the time period data exceeds a first preset threshold. Determine the events corresponding to the target time period; The type of event corresponding to the target within the time period is taken as the event type.
4. The method according to claim 1, characterized in that, The step of generating a prediction model based on the event type and the change information further includes: Based on the change information of the fitted curve within the first preset period, a second prediction model is determined to predict the trend of traffic data changes in future periods. Based on the event type and the target time period corresponding to the event type, a third prediction model is determined to predict future traffic data mutations. The prediction model is generated based on the first prediction model, the second prediction model, and the third prediction model.
5. The method according to claim 1, characterized in that, Before determining the change vector of the abrupt change point based on the change information of the abrupt change point in the fitted curve, the method further includes: Data points identified as hotspot events are considered mutation points; and / or, The data point whose growth rate exceeds the second preset threshold is identified as the mutation point.
6. The method according to claim 4, characterized in that, The step of determining a second prediction model for predicting the trend of traffic data changes in the future period based on the change information of the fitted curve within a first preset period includes: Determine the change information of the fitted curve within the first preset period; Based on the change information of the fitted curve within the first preset period, a second prediction model is determined that characterizes the correlation between the change information and the first preset period.
7. The method according to claim 6, characterized in that, The method further includes: Based on the data sequence within the preset duration corresponding to the second preset period, the second prediction model is updated to obtain the updated second prediction model; wherein, the second preset period is shorter than the first preset period.
8. The method according to claim 4, characterized in that, The step of determining a third prediction model for predicting future traffic data mutations based on the event type and the target time period corresponding to the event type includes: Obtain a first set of events that includes at least one event type; Based on the occurrence time period of each first event in the first event set, a second relationship is generated representing the change in the amount of data of the first event with the occurrence time period of the event; The third prediction model is determined based on the second change relationship and the occurrence time of each first event.
9. The method according to claim 4, characterized in that, The step of generating the prediction model based on the first prediction model, the second prediction model, and the third prediction model includes: The first prediction model, the second prediction model, and the third prediction model are combined to obtain a fusion model; The prediction model is obtained by performing posterior estimation on the fusion model.
10. A scheduling device for a content delivery network, characterized in that, include: The first acquisition module is used to acquire the first traffic data of a preset network node within a preset time period; The first determining module is used to determine the event type of the first traffic data and the time-based change information of the data volume of the first traffic data. The first generation module is used to generate a prediction model based on the event type and the change information; The first prediction module is used to predict the second traffic data of the preset network node in a future time period based on the prediction model. The first scheduling module is used to schedule users covered by the preset network node based on the second traffic data, and to schedule users covered by the preset network node with larger second traffic data to the preset network node with smaller second traffic data. The first determining module is further configured to divide the preset duration based on a preset time interval to obtain multiple divided time periods; Determine the time period data of the first traffic data within each predefined time period; Based on the time period data within each predefined time period, a data sequence within the preset duration is generated; the data sequence is fitted to obtain a fitting curve; the change of the fitting curve over time is used as the change information. The first generation submodule is used to determine the change vector of the mutation point based on the change information of the mutation point in the fitted curve; the mutation point includes: data points of the event type being hotspot events and / or data points whose growth rate exceeds a second preset threshold; Based on the change vector, a first relationship between the growth rate of data volume and time in the fitted curve is determined; the first relationship is adjusted using a preset bias parameter to obtain a first prediction model; the first prediction model is used to predict the trend of traffic data changes in future moments.
11. An electronic device, characterized in that, include: A processor, a memory, and a communication bus; wherein the communication bus is used to implement a communication connection between the processor and the memory; The processor is used to execute the program in the memory to implement the scheduling method of the content delivery network as described in any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more programs that can be executed by one or more processors to implement the scheduling method of the content delivery network as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Traffic prediction method, device and equipment
CN110417607A
Shunting scheduling method, device and system and computer readable storage medium
CN112437015A