Speed configuration method and device, server and storage medium
By using the bandwidth peak prediction model and user data transmission situation, dynamically adjusting the maximum data transmission speed, the problem of low bandwidth resource utilization in the existing technology is solved, and more efficient bandwidth resource utilization and cost reduction are achieved.
Patent Information
- Application Number
- CN202311369644.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-19
- Publication Date
- 2025-04-22
AI Technical Summary
The existing speed configuration method cannot obtain the accurate maximum data transmission speed based on the distribution of data transmission speed, resulting in a low bandwidth resource utilization rate.
By dynamically adjusting the maximum data transmission speed based on the bandwidth peak prediction model, combining the number of download users and the data transmission speed distribution, to improve the utilization rate of bandwidth resources.
A more accurate maximum data transmission speed configuration is achieved, the utilization rate of bandwidth resources is improved, and the CDN cost is reduced.
Smart Images

Figure CN119865428A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network technology, and in particular to a speed configuration method, device, server and storage medium. Background Art
[0002] A large number of websites use CDN (Content Delivery Network) to store copies of website data to provide users with services quickly, safely and stably. Currently, CDN charges according to the daily bandwidth peak, so reducing the bandwidth peak by determining the maximum data transmission speed can effectively reduce CDN costs.
[0003] The current speed configuration method is to use a fixed speed or an average speed as the maximum data transmission speed of the network, where the fixed speed refers to a uniform, constant speed, and the average speed refers to the speed obtained by evenly distributing the expected bandwidth to each current network user.
[0004] The above speed configuration method is relatively simple and cannot obtain the maximum data transmission speed according to the distribution of data transmission speeds. The maximum data transmission speed is inaccurate, resulting in low utilization of bandwidth resources. Summary of the invention
[0005] The embodiment of the present application provides a speed configuration method, device, server and storage medium, which can improve the utilization rate of bandwidth resources. The technical solution is as follows:
[0006] On the one hand, a speed configuration method is provided, the method comprising: based on the bandwidth data of the target service in a first time period, predicting the bandwidth peak of the target service in a second time period through a bandwidth peak prediction model, the first time period is any time period before the current moment, the second time period is any time period after the current moment, and the bandwidth peak prediction model is determined based on the bandwidth data before the current moment; in the second time period, at every preset time period, based on the bandwidth peak, the number of downloading users of the target service in the second time period and the data transmission speed distribution, obtaining the maximum data transmission speed, the data transmission speed distribution being used to indicate the proportion of the number of downloading users in each speed interval; and configuring the target service based on the maximum data transmission speed.
[0007] The speed configuration method provided in the embodiment of the present application utilizes a bandwidth peak prediction model to accurately predict the bandwidth peak of a subsequent time period based on the bandwidth data of a previous time period, and determines the maximum data transmission speed based on the bandwidth peak, the current number of downloading users of the target service and the current data transmission speed distribution. Since the determined bandwidth peak has a high accuracy, when performing speed configuration, a maximum data transmission speed that is more in line with the current data transmission situation can be obtained, thereby improving the utilization rate of bandwidth resources.
[0008] In some embodiments, the above-mentioned acquisition of the maximum data transmission speed based on the bandwidth peak value, the number of downloading users of the target service in the second time period, and the data transmission speed distribution includes: acquiring the expected bandwidth of the target service in the second time period based on the bandwidth peak value and the preset bandwidth ratio; acquiring the maximum data transmission speed based on the expected bandwidth, the number of downloading users of the target service in the second time period, and the data transmission speed distribution. The above-mentioned process can acquire a relatively accurate expected bandwidth based on the predicted bandwidth peak value, and can acquire a maximum data transmission speed that is more in line with the current data transmission situation based on the relatively accurate expected peak value, the current number of downloading users, and the current data transmission speed distribution.
[0009] In some embodiments, at the above-mentioned maximum data transmission speed, the sum of the bandwidth occupied by the downloading users is equal to the expected bandwidth, and the sum of the bandwidth occupied by the downloading users is obtained based on the number of downloading users and the data transmission speed distribution. The above-mentioned method obtains the maximum data transmission speed based on the data transmission speed distribution, so that the total bandwidth at the current maximum data transmission speed is exactly equal to the expected bandwidth, thereby improving the utilization rate of bandwidth resources.
[0010] In some embodiments, the above configuration of the target service based on the maximum data transmission speed includes: if the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is less than the speed threshold, then the target service is not configured; if the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is greater than or equal to the speed threshold, then the current maximum data transmission speed of the target service is configured as the maximum data transmission speed obtained by the target service this time. The above process determines whether the maximum data transmission speed needs to be configured according to the speed threshold, avoids frequent adjustment of the maximum data transmission speed, and saves some resources required for signaling interaction.
[0011] In some embodiments, the method further includes: based on the number of downloading users of the target service in the first time period, predicting the number of downloading users in the second time period by a user number prediction model, the user number prediction model is determined based on the number of downloading users before the current moment. The number of downloading users in the second time period obtained by predicting based on the historical number of downloading users is more accurate.
[0012] In some embodiments, the above method also includes: predicting the number of downloading users in a second time period based on the number of downloading users of the target service in a first time period, the number of downloading users of sub-services in the target service, and the relationship between the sub-services in the target service. Predicting the number of downloading users based on the download status of the sub-services in the target service can make the prediction result more accurate.
[0013] In some embodiments, the bandwidth peak prediction model is trained using one of the following two algorithms: a multi-step prediction algorithm and a scalar prediction algorithm.
[0014] On the other hand, a speed configuration device is provided, which includes: a peak prediction module, which is used to predict the bandwidth peak of the target service in a second time period based on the bandwidth data of the target service in a first time period and through a bandwidth peak prediction model, the first time period is any time period before the current moment, and the second time period is any time period after the current moment, and the bandwidth peak prediction model is determined based on the bandwidth data before the current moment; a maximum speed acquisition module, which is used to obtain the maximum data transmission speed based on the bandwidth peak, the number of downloading users of the target service in the second time period and the data transmission speed distribution at every preset time period in the second time period, and the data transmission speed distribution is used to indicate the proportion of the number of downloading users in each speed interval; a speed configuration module, which is used to configure the target service based on the maximum data transmission speed.
[0015] On the other hand, a server is provided, comprising a processor and a memory, wherein the memory is used to store at least one computer program, and the at least one computer program is loaded and executed by the processor, so that the server executes the speed configuration method provided in the above-mentioned first aspect or various optional implementations of the first aspect.
[0016] On the other hand, a computer-readable storage medium is provided, in which at least one computer program is stored. The at least one computer program is loaded and executed by a processor, so that the server executes the speed configuration method provided in the above-mentioned first aspect or various optional implementations of the first aspect.
[0017] On the other hand, a computer program product or a computer program is provided, which includes a computer program code, and the computer program code is stored in a computer-readable storage medium. A processor of a server reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the server executes the speed configuration method provided in the above-mentioned first aspect or various optional implementations of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0019] Figure 1is a structural diagram of a target service system provided according to an embodiment of the present application;
[0020] Figure 2 is a flow chart of a speed configuration method provided according to an embodiment of the present application;
[0021] Figure 3 is a schematic diagram of bandwidth data provided according to an embodiment of the present application;
[0022] Figure 4 is a flow chart of another speed configuration method provided according to an embodiment of the present application;
[0023] Figure 5 is a schematic diagram of an example of data transmission speed distribution provided according to an embodiment of the present application;
[0024] Figure 6 is a schematic diagram of the structure of another target service system provided according to an embodiment of the present application;
[0025] Figure 7 is a comparison diagram of speed configuration effects provided according to an embodiment of the present application;
[0026] Figure 8 is a block diagram of a speed configuration device provided according to an embodiment of the present application;
[0027] Fig. 9 It is a structural diagram of a server provided according to an embodiment of the present application. DETAILED DESCRIPTION
[0028] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0029] In this application, the terms "first", "second", etc. are used to distinguish identical or similar items with basically the same effects and functions. It should be understood that there is no logical or temporal dependency between "first", "second", and "nth", nor is there any limitation on quantity and execution order.
[0030] In the present application, the term "at least one" means one or more, and the term "plurality" means two or more.
[0031] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the bandwidth data involved in this application is obtained with full authorization.
[0032] Figure 1 This is a schematic diagram of the structure of a target service system provided in an embodiment of the present application, see Figure 1 , the target service system includes a server 101, a terminal 102 and a CDN 103. The server 101 is used to provide a target service to the terminal 102 through the CDN 103, wherein the server 101 can send the data of the target service to the CDN 103, so that the CDN 103 transmits it to the terminal 102, and the terminal 102 can access the CDN 103 to obtain the data of the target service provided by the server 101. The server 101 is also used to configure the maximum data transmission speed for the terminal 102, so that the terminal 102 interacts with the CDN 103 based on the maximum data transmission speed. In some embodiments, the target service is a game service, and the target service can further include multiple sub-services. For example, the game can include multiple copies. Of course, the target service can also be an e-commerce service, an advertising service, a video service, an educational service, etc., which is not limited in the embodiments of the present application.
[0033] Among them, the terminal 102 is a client device, which can include but is not limited to: smart phones, smart TVs, TV boxes, smart wearable devices, tablet computers, portable personal computers, mobile Internet devices, etc. The embodiment of the present application does not limit the type of terminal 102. The terminal 102 is used to send data to the server 101. The server 101 can configure the maximum data transmission speed for the terminal 102 to interact with the CDN 103. For example, the terminal 102 can send a speed configuration request to the server 101, and receive the maximum data transmission speed returned by the server 101 based on the speed configuration request. The terminal 102 is also used to send a download request to the CDN 103, and download the data stored in the CDN 103 according to the maximum data transmission speed configured by the server 101 for the target service. CDN 103 is an edge node server group distributed in different regions, which is used to store data and provide data to the terminal 102, and the data includes data of the target service, such as game terminal installation packages, videos, etc.
[0034] The speed configuration method provided in the embodiment of the present application can be applied to a series of services based on CDN, such as e-commerce services, advertising services, game services, video services and educational services, etc., wherein CDN is a distributed network established and covered on the bearer network, and is composed of edge node server groups distributed in different regions. The servers in the CDN store copies of website data, which can avoid network congestion, transmit data to users quickly, safely and stably, and reduce the pressure of the source site server cluster. For example, in the game service, the game developer stores the game terminal installation package in the CDN, and the CDN receives the download request of the game terminal and transmits the game terminal installation package to the terminal. Since the total bandwidth during data transmission is difficult to adjust directly, the cost optimization of the current CDN is generally achieved by configuring the maximum data transmission speed of each user to adjust the total bandwidth, thereby converting the expected bandwidth into the maximum data transmission speed of each user, achieving the effect of breaking the whole into pieces. The speed configuration method provided in the embodiment of the present application is described below.
[0035] Figure 2 is a flow chart of a speed configuration method provided according to an embodiment of the present application, such as Figure 2 As shown, the method comprises the following steps:
[0036] 201. The server predicts the bandwidth peak of the target service in a second time period based on the bandwidth data of the target service in a first time period through a bandwidth peak prediction model. The first time period is any time period before the current moment, and the second time period is any time period after the current moment. The bandwidth peak prediction model is determined based on the bandwidth data before the current moment.
[0037] In the above step 201, the bandwidth data is time series data. Since the users of the target service in different time periods have different demands for the target service data, the bandwidth usage trends of the target service in different time periods are different, such as Figure 3 As shown, in time period I, the user's demand for the target service data decreases, resulting in a decrease in bandwidth usage. In time period II, the user's demand for the target service data increases, resulting in an increase in bandwidth usage. At time a, the user's demand for the target service data is the smallest, and the bandwidth usage is the smallest, forming a bandwidth trough. At time b, the user's demand for the target service data is the largest, and the bandwidth usage is the largest, forming a bandwidth peak.
[0038] 202. In the second time period, the server obtains the maximum data transmission speed every preset time period based on the bandwidth peak, the number of downloading users of the target service in the second time period, and the data transmission speed distribution, where the data transmission speed distribution is used to indicate the proportion of the number of downloading users in each speed range.
[0039] In the above step 202, the above preset time period can be one minute, thirty seconds, etc. Within a certain time period, the maximum data transmission speed is obtained every preset time period based on the current network conditions, so that the obtained maximum data transmission speed can meet the current data transmission conditions. The shorter the preset time period, the stronger the timeliness of the maximum data transmission speed and the more accurate the speed configuration.
[0040] 203. The server configures the target service based on the maximum data transmission speed.
[0041] The above process is to configure the target service within the second time period, which can be the peak usage period of the target service or any preset time period. The peak usage period of the target service can be inferred based on the past usage of the target service.
[0042] The speed configuration method provided in the embodiment of the present application utilizes a bandwidth peak prediction model to accurately predict the bandwidth peak of a subsequent time period based on the bandwidth data of a previous time period, and determines the maximum data transmission speed based on the bandwidth peak, the current number of downloading users of the target service and the current data transmission speed distribution. Since the determined bandwidth peak has a high accuracy, when performing speed configuration, a maximum data transmission speed that is more in line with the current data transmission situation can be obtained, thereby improving the utilization rate of bandwidth resources.
[0043] Figure 4 is a flow chart of a speed configuration method provided according to an embodiment of the present application, such as Figure 4 As shown, the method includes the following steps.
[0044] 401. The server obtains bandwidth data of a target service in a first time period based on data transmission speeds of multiple terminals, where the first time period is any time period before a current moment.
[0045] In the above process, the bandwidth data of the target service in the first time period is used to represent the actual usage of the target service in the first time period, and the bandwidth data of the target service in the first time period includes: the total bandwidth of the target service at multiple times in the first time period. The bandwidth data can be stored in an array, a set or a curve.
[0046] The process of acquiring bandwidth data includes: the terminal sends the data transmission speed of the terminal at the current moment to the server at regular intervals, the server sums the data transmission speeds of multiple terminals received, obtains the total bandwidth of the target service at the current moment, and uses the total bandwidth of multiple moments in the first time period as the bandwidth data of the target service in the first time period, or fits the total bandwidth of multiple moments in the first time period into a time series curve, and uses the time series curve as the bandwidth data of the target service in the first time period.
[0047] 402. The server predicts the bandwidth peak value of the target service in a second time period based on the bandwidth data of the target service in the first time period through a bandwidth peak prediction model. The second time period is any time period after the current moment, and the bandwidth peak prediction model is determined based on the bandwidth data before the current moment.
[0048] In the above step 402, the server inputs the bandwidth data of the target service in the first time period into the bandwidth peak prediction model, and predicts through the bandwidth peak prediction model to obtain the bandwidth peak of the target service in the second time period, and the second time period can be a preset peak period of use of the target service, or a time period preset according to bandwidth demand. For example, the target service forms a bandwidth peak during the evening peak every day, and the evening peak is from 17:00 to 22:00 every day, so the bandwidth peak from 17:00 to 22:00 is predicted in advance every afternoon. For example, at 16:00, the bandwidth data from 00:00 to 16:00 of the day is input into the bandwidth peak prediction model, and the bandwidth peak from 17:00 to 22:00 of the day is obtained through the bandwidth peak prediction model.
[0049] In some embodiments, the bandwidth peak prediction model is trained using one of the following two algorithms: a multi-step prediction algorithm and a scalar prediction algorithm. In time series prediction, a multi-step prediction algorithm refers to an algorithm that can predict the values of multiple future time points based on previous time series data, and a scalar prediction algorithm refers to an algorithm that converts the prediction problem into a scalar problem and directly obtains the value of the target time period or target time point. Among them, the bandwidth peak prediction model obtained by the multi-step prediction algorithm can predict the changing trend of the bandwidth in the second time period, and based on the changing trend, obtain the bandwidth peak value of any time period. The bandwidth peak prediction model obtained by the scalar prediction algorithm can directly obtain the bandwidth peak value based on the input data transmission speed. The selection of the above algorithm is determined based on bandwidth data, bandwidth prediction requirements, algorithm characteristics, etc., so as to achieve a balance between the correctness of the prediction results and the complexity of the algorithm.
[0050] In some embodiments, the multi-step prediction algorithm is a Prophet algorithm, which is a time series prediction algorithm that can perform curve fitting in combination with the business characteristics of the target service, including the bandwidth trend of the target service in different time periods. Predict the changing trend of the bandwidth in the second time period. During the training process of the bandwidth peak prediction model, the Prophet algorithm decomposes the bandwidth data into trend items, cycle or season items, and holiday items, models each item separately, performs fitting, and then integrates the fitting results of each item to obtain the bandwidth peak prediction model. Among them, the trend item is used to indicate the changing trend of the bandwidth data, based on the logistic regression function or the piecewise linear function fitting; the cycle or season item is used to indicate the impact of the cycle or season on the bandwidth data, and the periodicity of the bandwidth data is fitted based on the Fourier series; the holiday item is used to indicate the impact of holidays on the bandwidth data, based on the normal distribution fitting, and the corresponding holidays can also be specified according to actual needs.
[0051] The core formula of the algorithm is shown in formula (1):
[0052] y(t)=g(t)+s(t)+h(t)+∈ t (1)
[0053] Among them, y(t) is used to indicate the bandwidth at time t, g(t) is used to indicate the trend term at time t, s(t) is used to indicate the cycle or seasonal term at time t, and h(t) is used to indicate the holiday term at time t. t Used to indicate the random disturbance at time t.
[0054] In some embodiments, when the target service is a game service, the business characteristics of the game service include a bandwidth trend of the game service during holidays, a bandwidth trend of the game service within a day, and the like.
[0055] In some embodiments, the scalar prediction algorithm is a linear regression algorithm. Linear regression is a basic machine learning algorithm used to establish a linear relationship between input features and output targets. The goal is to find the best model parameters to minimize the average error between the predicted value and the true value. In this process, the linear regression algorithm can use a stochastic gradient descent algorithm to optimize the model parameters, thereby training the model faster and enabling the model to adapt to large-scale data sets. During the training process of the bandwidth peak prediction model, sample data is input into the bandwidth peak prediction model. The sample data includes bandwidth data of multiple time periods and labels of multiple time periods. The label is the bandwidth at a certain moment after multiple time periods. In each iteration, the linear regression algorithm extracts multiple features of the sample data, predicts the bandwidth peak based on the features, obtains the loss function based on the predicted bandwidth peak and the label, adjusts the model parameters through the loss function, and repeats the iterative process until a certain number of iterations is reached or the change in the loss function is less than the loss threshold. The formula of the linear regression algorithm is shown in formula (2):
[0056] y=β0+β1x1+β2x2+…+β n x n +∈ (2)
[0057] Where y is used to indicate the predicted bandwidth peak, β0 to β n Used to indicate regression coefficients, x0 to x n is used to indicate the characteristic value of the input data, and ∈ is used to indicate the error term. Formula (2) shows that the feature can use multi-dimensional input, that is, multiple features are considered at the same time. The multiple features are features that can reflect the business characteristics of the target service, including but not limited to: position features, such as percentage, 99th percentile, median, etc.; variability features, such as variance, etc.; momentum features, such as data volatility, data change range in recent hours, etc.; date features, such as whether the date of the prediction time is Friday, weekend or holiday, etc.
[0058] In the above process, the process of adjusting the model parameters through the loss function is as follows: calculate the partial derivative of the loss function with respect to the regression coefficient, that is, the gradient, and adjust the regression coefficient according to the direction and size of the gradient.
[0059] In some embodiments, the scalar prediction algorithm is a GBRT (Gradient Boosting Regression Tree) algorithm. The progressive gradient regression tree algorithm is an integrated learning algorithm that combines multiple decision trees for prediction. Each decision tree is constructed based on the previous decision tree. The gradient descent method is used to construct the decision tree in an iterative manner to gradually improve the prediction accuracy. Each iteration adjusts the structure and parameters of the current decision tree according to the prediction error of the previous decision tree, or fits a new decision tree according to the prediction error of the current model, and then adds the decision tree to the current model to reduce the prediction error until a certain number of iterations is reached or the prediction error of the model is less than the error threshold. In the training process of the bandwidth peak prediction model, the sample data is input into the bandwidth peak prediction model. For each decision tree in the bandwidth peak prediction model, in each iteration, multiple features of the sample data are extracted, the bandwidth peak is predicted based on the features, the loss function is obtained based on the predicted bandwidth peak and the label, and the model parameters are adjusted by the loss function. This feature is consistent with the feature mentioned in the above linear regression algorithm.
[0060] In some embodiments, the bandwidth peak prediction model is updated periodically using the latest bandwidth data, and the latest bandwidth data may be bandwidth data within one month before the current moment, which is not limited in the embodiments of the present application. Most machine learning models can be used to train the bandwidth peak prediction model in the embodiments of the present application, and the embodiments of the present application do not limit the training algorithm of the bandwidth peak prediction model.
[0061] 403. In the second time period, at every preset time period, the server obtains the number of downloading users and data transmission speed distribution of the target service in the second time period based on the data transmission speed of the terminal in the preset time period, and the data transmission speed distribution is used to indicate the proportion of the number of downloading users in each speed interval.
[0062] In the above step 401, it is mentioned that the terminal sends the data transmission speed of the terminal at the current moment to the server at intervals, so that the server can receive the real-time data transmission speed output by multiple terminals in the second time period, and obtain the number of downloading users and the data transmission speed distribution in the second time period through statistics based on the data transmission speed of the terminal in the preset time period. In some embodiments, the data transmission speed distribution is expressed in the form of CDF (Cumulative Distribution Function). Figure 5 is a schematic diagram of an example of data transmission speed distribution provided in an embodiment of the present application, such as Figure 5 As shown, the horizontal axis indicates the proportion of downloading users, the vertical axis indicates the data transmission speed, and the curve is the cumulative distribution function. Figure 5 In the example, when the proportion of downloading users is 0.9, the download speed is 23, indicating that 90% of the downloading users have a data transmission speed less than 23 MB / s. In some embodiments, the number of downloading users can be used as the horizontal axis and the data transmission speed can be used as the vertical axis. At this time, the area between the cumulative distribution function and the horizontal axis indicates the bandwidth size.
[0063] 404. The server obtains the maximum data transmission speed based on the bandwidth peak value, the number of downloading users of the target service in the second time period, and the data transmission speed distribution.
[0064] In the above step 404, the server obtains the expected bandwidth of the target service in the second time period based on the bandwidth peak value and the preset bandwidth ratio, and obtains the maximum data transmission speed based on the expected bandwidth, the number of downloading users of the target service in the second time period, and the data transmission speed distribution. In some embodiments, the above expected bandwidth can also be obtained by subtracting the preset bandwidth from the bandwidth peak value. The expected bandwidth is a reasonable bandwidth, which means that the bandwidth can configure the target service while minimizing the impact on the user service experience. Under the above maximum data transmission speed, the sum of the bandwidth occupied by the downloading users (total bandwidth) is equal to the expected bandwidth, and the total bandwidth is obtained based on the number of downloading users and the data transmission speed distribution, that is, based on the expected bandwidth, the number of downloading users of the target service in the second time period, and the data transmission speed distribution, the data transmission speed obtained based on the number of downloading users and the data transmission speed distribution is equal to the expected bandwidth. If in the schematic diagram of the data transmission speed distribution of step 403, the horizontal axis is the number of downloading users and the vertical axis is the data transmission speed, then the data transmission speed when the area between the cumulative distribution function and the horizontal axis is equal to the expected bandwidth is the maximum data transmission speed.
[0065] In the above steps 403 and 404, the number of downloading users and the data transmission speed distribution of the target service in the second time period are real-time statistical data, while in some embodiments, the number of downloading users and the data transmission speed distribution of the target service in the second time period are obtained through prediction.
[0066] In some embodiments, the number of downloading users of the target service in the second time period is obtained through a pre-trained prediction model. The server predicts the number of downloading users in the second time period based on the number of downloading users of the target service in the first time period through a user number prediction model. The user number prediction model is determined based on the number of downloading users before the current moment. The method for obtaining the user number prediction model is the same as the method for obtaining the bandwidth peak prediction model, and the embodiments of the present application are not repeated here. In the case where the number of downloading users counted by the server is not real-time, the number of downloading users in the second time period is predicted by the prediction model, which can ensure the accuracy of the number of downloading users of the target service in the second time period.
[0067] In some embodiments, the number of downloading users of the target service in the second time period is predicted based on the number of downloading users of the target service sub-services in the first time period, the data transmission speed distribution, and the relationship between the sub-services. The server predicts the number of downloading users in the second time period based on the number of downloading users of the target service in the first time period, the number of downloading users of the sub-services in the target service, and the relationship between the sub-services in the target service. For example, there are two sub-services in the target service, namely sub-service I and sub-service II. If the user wants to use the target service, he must first download the installation package of sub-service I, and then download the installation package of sub-service II. The server can predict the number of downloading users of the installation package of sub-service II in the second time period based on the number of downloading users and the download status of the installation package of sub-service I in the first time period. In the case where the number of downloading users counted by the server is not real-time, the number of downloading users in the second time period can be predicted based on the relationship between the sub-services of the target service, which can ensure the accuracy of the number of downloading users of the target service in the second time period.
[0068] In some embodiments, the data transmission speed distribution of the target service in the second time period is obtained through a pre-trained prediction model. The server predicts the data transmission speed distribution in the second time period based on the data transmission speed distribution of the target service in the first time period through a speed distribution prediction model. The speed distribution prediction model is determined based on the data transmission speed distribution before the current moment. The acquisition method of the speed distribution prediction model is the same as the acquisition method of the bandwidth peak prediction model, and the embodiments of the present application are not repeated here. In the case that the data transmission speed distribution statistically obtained by the server is not real-time, the data transmission speed distribution in the second time period is predicted by the prediction model, which can ensure the accuracy of the data transmission speed distribution of the target service in the second time period.
[0069] 405. The server configures the target service based on the maximum data transmission speed.
[0070] In the above process, the server generates a speed configuration based on the maximum data transmission speed, and sends the speed configuration to the terminal. The terminal adjusts the maximum data transmission speed of the target service based on the speed configuration.
[0071] Among them, the server generates speed configuration based on the maximum data transmission speed, including: if the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is less than the speed threshold, the target service is not configured; if the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is greater than or equal to the speed threshold, the current maximum data transmission speed of the target service is configured as the maximum data transmission speed obtained by the target service this time. By limiting the configuration of the maximum data transmission speed through the speed threshold, the signaling interaction of the speed configuration is reduced, saving the bandwidth resources occupied by the signaling interaction.
[0072] In some embodiments, the server can generate different speed configurations according to different sub-services or different users, and configure different maximum data transmission speeds for users under different sub-services or different types of users.
[0073] In some embodiments, the server identifies a user under a target sub-service and does not configure the target sub-service used by the user, the target sub-service being a sub-service with a higher priority in the target service, or the server identifies users under different sub-services of the target service and performs different configurations on users under different sub-services. For example, some sub-services in the target service provide more critical services with higher priorities, and configuring these sub-services will reduce QoS (Quality of Service) and affect user experience, so the sub-service is not configured, or a higher maximum data transmission speed is configured for the sub-service.
[0074] In some embodiments, the server identifies different types of users and configures the services used by different types of users differently. For example, for some users who want to improve the service experience, such as users who have purchased an acceleration package, the service used by the user is not configured, or a higher maximum data transmission speed is configured for the service used by the user.
[0075] The speed configuration method provided in the embodiment of the present application utilizes a bandwidth peak prediction model to accurately predict the bandwidth peak of a subsequent time period based on the bandwidth data of a previous time period, and determines the maximum data transmission speed based on the bandwidth peak, the current number of downloading users of the target service and the current data transmission speed distribution. Since the determined bandwidth peak has a high accuracy, when performing speed configuration, a maximum data transmission speed that is more in line with the current data transmission situation can be obtained, thereby improving the utilization rate of bandwidth resources.
[0076] In the embodiment of the present application, the server determines the maximum data transmission speed based on the predicted bandwidth peak value and the corresponding service usage. In some embodiments, the server can Figure 6 The architecture shown is implemented as Figure 6 As shown, the server includes a computing platform, a prediction platform, a speed control platform, an observation platform and a visualization platform. Among them, the computing platform is used to receive data output by the terminal, process and store the data, and output the data to the prediction platform for use in model training and prediction; the prediction platform is used to use the data output by the computing platform as sample data, store the sample data, and use the sample data to train the bandwidth peak prediction model. After the training is completed, the bandwidth peak prediction model is put online, and the bandwidth peak prediction model is used to predict the bandwidth peak, and the maximum data transmission speed is obtained based on the bandwidth peak and the data output by the computing platform, and the maximum data transmission speed is output to the speed control platform; the speed control platform is used to concurrently manage multiple terminals, receive speed configuration requests output by the terminal, generate speed configuration based on the maximum data transmission speed output by the prediction platform, and send the speed configuration to the terminal; the observation platform is used to observe the operation of the server, including data in the server The transmission, training and use of models, operation of the speed control platform, etc., to ensure that the server executes related links normally; the visualization platform is used to output data transmission speed reports, bandwidth reports and other related reports to display the speed configuration status and bandwidth cost optimization effect, so as to analyze the speed configuration effect. Taking the download of the game terminal installation package as an example, through the visualization platform, an observable scenario of user download experience can be established to observe the user's download completion rate, number of completed downloads, download cancellation rate, overall download time, average speed, etc. in real time to observe the user's download experience. The download experience is obtained through the download experience reference value, which is usually the user's experience indicator under unconfigured speed. The speed configuration behavior cannot cause the relevant experience indicator to be lower than the reference value to ensure that the user experience is not damaged and achieve a balance between user download experience and cost optimization.
[0077] Figure 7 is a comparison diagram of the speed configuration effect provided by an embodiment of the present application. Figure 7 By comparing the bandwidth data on February 7, 2023 and the bandwidth data on February 8, 2023, speed configuration was performed on February 7, but no speed configuration was performed on February 8. It can be seen that under the speed configuration method provided in the embodiment of the present application, the bandwidth peak on February 7 was significantly lower than the peak on February 8, thereby achieving the purpose of lowering the bandwidth peak and reducing CDN costs to increase revenue.
[0078] The embodiment of the present application uses the download of the game terminal installation package in the game service for experimentation, and it is found that the speed configuration method provided in the embodiment of the present application can effectively reduce the bandwidth peak and improve the bandwidth utilization rate. Without affecting the download user experience and the download completion rate, 8% to 10% of the bandwidth cost can be saved during the release of a single game terminal installation package version.
[0079] Figure 8 is a block diagram of a speed configuration device provided according to an embodiment of the present application. The device is used to execute the steps of the above speed configuration method. Figure 8 , the speed configuration device comprises:
[0080] The peak prediction module 801 is used to predict the bandwidth peak of the target service in a second time period based on the bandwidth data of the target service in a first time period through a bandwidth peak prediction model, where the first time period is any time period before the current moment, and the second time period is any time period after the current moment, and the bandwidth peak prediction model is determined based on the bandwidth data before the current moment;
[0081] The maximum speed acquisition module 802 is used to acquire the maximum data transmission speed at every preset time period in the second time period based on the bandwidth peak value, the number of downloading users of the target service in the second time period, and the data transmission speed distribution, where the data transmission speed distribution is used to indicate the proportion of the number of downloading users in each speed interval;
[0082] The speed configuration module 803 is used to configure the target service based on the maximum data transmission speed.
[0083] In some embodiments, the peak prediction module 801 is used to:
[0084] Based on the bandwidth peak value and the preset bandwidth ratio, obtaining the expected bandwidth of the target service in the second time period;
[0085] Based on the expected bandwidth, the number of downloading users of the target service in the second time period, and the data transmission speed distribution, a maximum data transmission speed is obtained.
[0086] In some embodiments, at the above-mentioned maximum data transmission speed, the sum of the bandwidth occupied by the downloading users is equal to the expected bandwidth, and the sum of the bandwidth occupied by the downloading users is obtained based on the number of downloading users and the data transmission speed distribution.
[0087] In some embodiments, the speed configuration module 803 is used to:
[0088] If the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is less than the speed threshold, the target service will not be configured;
[0089] If the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is greater than or equal to the speed threshold, the current maximum data transmission speed of the target service is configured as the maximum data transmission speed obtained by the target service this time.
[0090] In some embodiments, the above apparatus further comprises:
[0091] The first user quantity acquisition module is used to predict the number of downloading users in a second time period based on the number of downloading users of the target service in the first time period through a user quantity prediction model, where the user quantity prediction model is determined based on the number of downloading users before the current moment.
[0092] In some embodiments, the above apparatus further comprises:
[0093] The second user quantity acquisition module is used to predict the number of downloading users in the second time period based on the number of downloading users of the target service in the first time period, the number of downloading users of the sub-services in the target service, and the relationship between the sub-services in the target service.
[0094] In some embodiments, the bandwidth peak prediction model is trained using one of the following two algorithms: a multi-step prediction algorithm and a scalar prediction algorithm.
[0095] It should be noted that: the device provided in the above embodiment only uses the division of the above functional modules as an example for speed configuration. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0096] Fig. 9 This is a schematic diagram of the structure of a server provided according to an embodiment of the present application. The server 900 may have relatively large differences due to different configurations or performances, and may include one or more CPUs (Central Processing Units, processors) 901 and one or more memories 902, wherein the memory 902 stores at least one computer program, and the at least one computer program is loaded and executed by the processor 901 to implement the speed configuration method provided by the above-mentioned various method embodiments. Of course, the server may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output, and the server may also include other components for implementing device functions, which will not be described in detail here.
[0097] The embodiment of the present application also provides a computer-readable storage medium, in which at least one computer program is stored, and the at least one computer program is loaded and executed by the processor of the server to implement the operation performed by the server in the method of the above embodiment. For example, the computer-readable storage medium can be ROM (Read-Only Memory), RAM (Random Access Memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk and optical data storage device, etc.
[0098] In some embodiments, the computer program involved in the embodiments of the present application may be deployed and executed on one server, or on multiple servers located in one location, or on multiple servers distributed in multiple locations and interconnected by a communication network. Multiple servers distributed in multiple locations and interconnected by a communication network may constitute a blockchain system.
[0099] The embodiment of the present application also provides a computer program product or a computer program, which includes a computer program code, and the computer program code is stored in a computer-readable storage medium. The processor of the server reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the server executes the speed configuration method provided in the above various optional implementations.
[0100] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0101] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A speed configuration method, characterized in that: The method comprises: Based on the bandwidth data of the target service in a first time period, predict the bandwidth peak value of the target service in a second time period through a bandwidth peak prediction model, the first time period is any time period before the current moment, the second time period is any time period after the current moment, and the bandwidth peak prediction model is determined based on the bandwidth data before the current moment; In the second time period, at every preset time period, a maximum data transmission speed is obtained based on the bandwidth peak value, the number of downloading users of the target service in the second time period, and a data transmission speed distribution, where the data transmission speed distribution is used to indicate a proportion of the number of downloading users in each speed interval; The target service is configured based on the maximum data transmission speed.
2. The method according to claim 1, characterized in that The acquiring the maximum data transmission speed based on the bandwidth peak value, the number of downloading users of the target service in the second time period, and the data transmission speed distribution includes: Based on the bandwidth peak value and the preset bandwidth ratio, obtaining an expected bandwidth of the target service in the second time period; A maximum data transmission speed is obtained based on the expected bandwidth, the number of downloading users of the target service in the second time period, and the data transmission speed distribution.
3. The method according to claim 2, characterized in that At the maximum data transmission speed, the sum of bandwidths occupied by the downloading users is equal to the expected bandwidth, and the sum of bandwidths occupied by the downloading users is obtained based on the number of downloading users and the data transmission speed distribution.
4. The method according to claim 1, characterized in that: The configuring the target service based on the maximum data transmission speed includes: If the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is less than the speed threshold, the target service is not configured; If the difference between the maximum data transmission speed obtained by the target service this time and the current maximum data transmission speed is greater than or equal to the speed threshold, the current maximum data transmission speed of the target service is configured as the maximum data transmission speed obtained by the target service this time.
5. The method according to claim 1, characterized in that The method further comprises: Based on the number of downloading users of the target service in the first time period, the number of downloading users in the second time period is predicted by a user number prediction model, where the user number prediction model is determined based on the number of downloading users before the current moment.
6. The method according to claim 5, characterized in that The method further comprises: The number of downloading users in the second time period is predicted based on the number of downloading users of the target service in the first time period, the number of downloading users of the sub-services in the target service, and the relationship between the sub-services in the target service.
7. The method according to claim 1, characterized in that The bandwidth peak prediction model is trained using one of the following two algorithms: a multi-step prediction algorithm and a scalar prediction algorithm.
8. A speed configuration device, characterized in that: The device comprises: A peak prediction module, configured to predict a bandwidth peak of the target service in a second time period based on bandwidth data of the target service in a first time period and through a bandwidth peak prediction model, wherein the first time period is any time period before the current moment, and the second time period is any time period after the current moment, and the bandwidth peak prediction model is determined based on bandwidth data before the current moment; a maximum speed acquisition module, configured to acquire a maximum data transmission speed at every preset time period within the second time period based on the bandwidth peak value, the number of downloading users of the target service within the second time period, and a data transmission speed distribution, wherein the data transmission speed distribution is used to indicate a proportion of the number of downloading users within each speed interval; A speed configuration module is used to configure the target service based on the maximum data transmission speed.
9. A server, characterized in that: The server comprises a processor and a memory, wherein the memory is used to store at least one computer program, and the at least one computer program is loaded by the processor and executes the speed configuration method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store at least one computer program, and the at least one computer program is used to execute the speed configuration method according to any one of claims 1 to 7.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the speed configuration method according to any one of claims 1 to 7 is implemented.