WO2022222906A1 - 带宽预测器的设置、服务调整方法及装置 - Google Patents
带宽预测器的设置、服务调整方法及装置 Download PDFInfo
- Publication number
- WO2022222906A1 WO2022222906A1 PCT/CN2022/087573 CN2022087573W WO2022222906A1 WO 2022222906 A1 WO2022222906 A1 WO 2022222906A1 CN 2022087573 W CN2022087573 W CN 2022087573W WO 2022222906 A1 WO2022222906 A1 WO 2022222906A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bandwidth
- interval
- values
- value
- client
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000007423 decrease Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 9
- 239000000178 monomer Substances 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008014 freezing Effects 0.000 description 3
- 238000007710 freezing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
Definitions
- the embodiments of the present application relate to the technical field of communications, for example, to a method and apparatus for setting a bandwidth predictor and adjusting services.
- the services provided by the platform are often related to bandwidth.
- the bandwidth fluctuates, the service may fluctuate, which affects the quality of the service. Therefore, the platform will predict the change of the bandwidth and adjust the service accordingly to ensure the quality of the service.
- the platform usually uses a fixed method to predict the change of bandwidth.
- the fixed method has limitations, and the change of bandwidth is more complicated, which will cause sudden drop, sudden increase, etc., resulting in a decrease in the accuracy of prediction in some cases, so affect the quality of service.
- the embodiments of the present application propose a bandwidth predictor setting, service adjustment method and device, which solve the problem of how to improve the accuracy of predicting changes in bandwidth, thereby improving service quality.
- An embodiment of the present application provides a method for setting a bandwidth predictor, including:
- a bandwidth predictor is set for each type of interval, and the bandwidth predictor set for each type of interval is used to predict the bandwidth value at the next time point according to the bandwidth value in the each type of interval, the The bandwidth value at the next time point is used to adjust the service provided by the server to the client.
- the embodiment of the present application also provides a service adjustment method, including:
- the service is adjusted according to the bandwidth value at the next time point, so as to optimize the overall quality of the service provided by the server to the client.
- the embodiment of the present application also provides a device for setting a bandwidth predictor, including:
- the bandwidth value detection module is set to detect the bandwidth between the server and the client at multiple consecutive time points, and obtain multiple bandwidth values
- a change trend identification module configured to identify the change trend presented by each bandwidth value in the plurality of bandwidth values
- an interval clustering module configured to cluster the plurality of bandwidth values into a plurality of types of intervals according to the change trend of the plurality of bandwidth values, and the plurality of types of intervals are used to represent various changes of the bandwidth trend;
- a bandwidth predictor setting module configured to set a bandwidth predictor for each type of interval, and the bandwidth predictor set for each type of interval is used to predict the next one according to the bandwidth value in the each type of interval
- the bandwidth value at a time point, and the bandwidth value at the next time point is used to adjust the service provided by the server to the client.
- the embodiment of the present application also provides a service adjustment device, including:
- the bandwidth value detection module is set to detect the bandwidth between the server and the client at multiple consecutive time points, and obtain multiple bandwidth values
- a change trend identification module configured to identify the change trend presented by each bandwidth value in the plurality of bandwidth values
- an interval clustering module configured to cluster the plurality of bandwidth values into a plurality of types of intervals according to the change trend of the plurality of bandwidth values, and the plurality of types of intervals are used to represent various changes of the bandwidth trend;
- a bandwidth predictor searching module configured to query the bandwidth predictor configured for each type of interval, the bandwidth predictor configured for each type of interval is used for predicting according to the bandwidth value in the each type of interval The bandwidth value at the next time point;
- the service adjustment module is configured to adjust the service according to the bandwidth value at the next time point, so as to optimize the overall quality of the service provided by the server to the client.
- Embodiments of the present application also provide a computer device, the computer device comprising:
- processors one or more processors
- a memory configured to store one or more programs that, when the one or more programs are executed by the one or more processors, implement the bandwidth prediction described in any of the embodiments of the present application.
- An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the setting of the bandwidth predictor described in any embodiment of the present application is implemented The method or the service adjustment method described in any embodiment of the present application.
- FIG. 1 is a flowchart of a method for setting a bandwidth predictor according to Embodiment 1 of the present application
- FIG. 2 is a flowchart of a service adjustment method provided in Embodiment 2 of the present application.
- FIG. 3 is a schematic structural diagram of a device for setting a bandwidth predictor according to Embodiment 3 of the present application.
- FIG. 4 is a schematic structural diagram of a service adjustment apparatus according to Embodiment 4 of the present application.
- FIG. 5 is a schematic structural diagram of a computer device according to Embodiment 5 of the present application.
- the bit rate of live streaming data, the freezing rate of live streaming data, the buffering time of live streaming data, and the quality of live streaming data are all key indicators of user experience. Changes, and then select the appropriate bit rate according to the change of the bandwidth, under the condition of improving the picture quality as much as possible, reducing the freezing rate and reducing the buffer time are the main ways to improve the user's experience of watching live broadcasts.
- EWMA Exponential Weighted Moving Average
- the embodiment of the present application provides a method for predicting bandwidth based on the change trend of bandwidth, judges the change trend of bandwidth at the current moment according to the sample points of historical bandwidth, and selects an appropriate bandwidth predictor according to the trend, thereby improving the accuracy of bandwidth prediction and improving service end service quality.
- FIG. 1 is a flowchart of a method for setting a bandwidth predictor according to Embodiment 1 of the present application. This embodiment can be applied to a situation in which an appropriate bandwidth predictor is set according to a change trend of bandwidth.
- the setting device of the bandwidth predictor can be implemented by software and/or hardware, and can be configured in a computer device, such as a server, a workstation, a personal computer, and the like.
- the setting method of the bandwidth predictor includes the following steps:
- Step 101 Detect the bandwidth between the server and the client at multiple consecutive time points to obtain multiple bandwidth values.
- the server server can provide online services to the client client, for example, streaming media (such as live broadcast, short video, etc.), games, news, professional operations (such as online modeling, online image editing, etc.), etc., while the client Facing the user, it provides an interactive interface (such as selecting a video, interacting with the host, etc.).
- streaming media such as live broadcast, short video, etc.
- games such as live broadcast, short video, etc.
- news such as online modeling, online image editing, etc.
- professional operations such as online modeling, online image editing, etc.
- an interactive interface such as selecting a video, interacting with the host, etc.
- the server is a computer cluster, such as a distributed system, that is, the server has multiple machines, and different machines may be located in computer rooms in different areas, so that different machines may be located in different network environments, and these machines establish connections with different clients.
- the connection is generally a long connection, such as a socket (nested word) connection.
- a time point may be set at a preset time interval (for example, 500ms), and at each time point, methods such as congestion control are used to measure the bandwidth for the connection between the server machine and the client, so as to measure the bandwidth at each time point.
- methods such as congestion control are used to measure the bandwidth for the connection between the server machine and the client, so as to measure the bandwidth at each time point.
- One bandwidth value can be measured at each time point, and the bandwidth for the connection between the server machine and the client can be measured continuously at multiple time points, so that multiple bandwidth values can be measured at multiple times.
- Bandwidth represents the ability of the connection to transmit data, that is, the highest data rate that can pass from the server machine to the client in unit time, and the bandwidth value is a numerical representation of the bandwidth.
- the commonly used unit of bandwidth value is bits/second (bit per second, bps).
- Step 102 Identify the change trend of each bandwidth value in the plurality of bandwidth values.
- the connection between the server machine and the client is constantly changing with the network environment. Therefore, the bandwidth value is also constantly changing. For each bandwidth value, the trend that it presents when it changes at a single point, that is, the changing trend can be identified.
- a window can be added to multiple bandwidth values, and the window has a set length n (such as 10, 20, etc.), which can cover the bandwidth values within the length.
- a preset step size such as 1, 2, etc.
- the change trend of the bandwidth value includes at least one of no trend, an upward trend, and a downward trend.
- No trend indicates that the bandwidth value does not change
- an upward trend indicates that the bandwidth value changes, and the change is an increase
- a downward trend indicates that the bandwidth value changes, and the change is a decrease.
- the value of the statistic UFk or the statistic UBk is greater than 0, it indicates that the sequence shows an upward trend, thus indicating that the change trend of the latest bandwidth value in the window is an upward trend, if the value of the statistic UFk or the statistic UBk is less than 0, then It shows that the sequence shows a downward trend, thus indicating that the change trend of the latest bandwidth value within the window is a downward trend.
- they cross a critical straight line it indicates a significant uptrend or downtrend.
- the range beyond the critical line is determined as the time zone in which the mutation occurs. If there is an intersection between the statistic UFk and the statistic UBk, and the intersection is between the critical lines, then the time corresponding to the intersection is the time when the mutation starts.
- Step 103 Cluster the multiple bandwidth values into multiple types of intervals according to the change trend of the multiple bandwidth values.
- the bandwidth value can be clustered with the change trend of the bandwidth value as a reference, so that multiple bandwidth values can be divided into multiple types of intervals, and Multiple bandwidth values in the same interval are continuous, that is, multiple time points corresponding to multiple bandwidth values in the same interval are continuous. Therefore, this interval can be used to represent the relationship between the server machine and the client. connection, in a continuous period of time, the overall change trend of the bandwidth.
- step 103 includes the following steps:
- Step 1031 If the change trend of a plurality of consecutive bandwidth values among the plurality of bandwidth values is the same, and it indicates that the bandwidth value exhibits a change, cluster the consecutive plurality of bandwidth values into a first interval that identifies the change.
- Step 1032 Cluster other bandwidth values except the first interval among the plurality of bandwidth values into a second interval.
- each bandwidth value and its change trend can be traversed. If a plurality of consecutive bandwidth values satisfy the condition that the change trend is the same and indicates that the bandwidth value shows a change, these bandwidth values can be clustered into a group that identifies the change. In the first interval, if multiple consecutive bandwidth values do not meet the condition that the change trend is the same and indicates that the bandwidth value is changing, it can be clustered into the second interval, and the continuous multiple bandwidth values can be clustered, which is consistent with the continuous change of the bandwidth. characteristics, which can ensure the accuracy of the first interval and the second interval.
- the change trend of the bandwidth value includes no trend, an upward trend, and a downward trend, and the change presented in the first interval may include an overall increase or an overall decrease of the bandwidth.
- an independent tag and an independent variable can be set, the tag is used to store the change trend of the previous bandwidth value, and the variable is used to count the number of consecutive times that the change trend of the bandwidth value is an upward trend or a downward trend.
- the change trend of the current bandwidth value is compared with the mark, so as to compare the change trend of the current bandwidth value with the change trend of the previous bandwidth value.
- variable is greater than the preset threshold, cluster a plurality of consecutive bandwidth values into a first interval with an increasing marker, wherein the number of bandwidth values in the consecutive plurality of bandwidth values is equal to the variable.
- variable is greater than the preset threshold, cluster a plurality of consecutive bandwidth values into a first interval marked with a decrease, wherein the number of bandwidth values in the consecutive plurality of bandwidth values is equal to the variable.
- the preset variable is set to zero, and the current bandwidth value is set to zero.
- the change trend of the bandwidth value is recorded in this mark, and the traversal of the next bandwidth value is continued.
- the preset threshold is set to M, where M ⁇ 0, and when pi >M, it is determined that the current i -th bandwidth value is in the first interval that marks the rise or fall.
- variable records that the change trend of the bandwidth value is the same number of times that the upward trend or the downward trend is continuous, and the threshold is used to divide the first interval and the second interval, which is simple in calculation and convenient in operation.
- Step 104 Set a bandwidth predictor for each type of interval in the plurality of types of intervals.
- bandwidth predictors can be preset, and the bandwidth predictor can be used to predict the bandwidth value at the next time point according to the bandwidth value in the interval, that is, the input of the bandwidth predictor in the first interval is the first The bandwidth value in the interval, the output is the bandwidth value at the next time point, the input of the bandwidth predictor in the second interval is the bandwidth value in the second interval, and the output is the bandwidth value at the next time point.
- the predicted bandwidth at the next time point is used to adjust the service provided by the server to the client.
- the bandwidth predictor is a module that implements the bandwidth prediction algorithm.
- the bandwidth prediction algorithm is, for example, Last (using the latest bandwidth value as the predicted bandwidth value), Exponential Weighted Moving Average (EWMA), Harmonic Mean (HM), Kalman (Kalman filter), etc.
- the interval represents the overall change trend of the bandwidth.
- the bandwidth value can be predicted based on the overall change trend. Therefore, in the training phase, the overall quality of the service provided by multiple machines on the server side to multiple clients can be optimized.
- a bandwidth predictor is set for each type of interval, i.e. the online phase, after identifying the interval, the bandwidth predictor set for the interval is applied to predict the bandwidth value.
- the digital representation of the service provided by the server to the client differs, and therefore, the way to optimize the overall quality of the service provided by the server to the client is different, for example, if the overall quality of the service provided by the server to the client
- the quality is mainly represented by positive digitization such as bit rate, and the optimization method is to maximize the overall quality of the service provided by the server to the client.
- the negative digital representation such as the packet rate
- the optimization method is to minimize the overall quality of the service provided by the server to the client, and so on, which is not limited in this embodiment.
- step 101 is performed for the bandwidth between each server and each client, so as to obtain the bandwidth between each server and each client. multiple bandwidth values, and perform step 102, step 103 and step 104 for multiple bandwidth values between each server and each client, so as to combine the multiple bandwidth values between each server and each client.
- the value is divided into multiple types of intervals and a bandwidth predictor is set for each type of interval.
- step 104 includes the following steps:
- Step 1041 Configure multiple bandwidth predictor combinations for all types of intervals.
- different types of bandwidth predictors may be configured for different intervals by using an exhaustive method, so as to enumerate the combinations of intervals and bandwidth predictors.
- Step 1042 Invoke the bandwidth predictor set for each type of interval in each bandwidth predictor combination, and predict the next bandwidth value according to the bandwidth value in each type of interval between each server and each client Bandwidth value at time point.
- the bandwidth value in each type of interval can be input into the bandwidth predictor configured for that type of interval for processing, thereby outputting the bandwidth value at the next time point.
- Step 1043 Under the condition that the bandwidth value of each next time point in all the bandwidth values of the next time point is used to adjust the service corresponding to the bandwidth value of each next time point, calculate each server as each client. Quality at the time of service delivery, and treat each quality as a single quality.
- algorithms such as adaptive bit rate can be applied to adjust the service provided by the server to the client.
- the connection between each server's machine and each client is detected, and each The quality of each server when serving each client, and treat each quality as a single quality.
- the digitized representation of quality is different, and therefore, the manner of calculating quality is also different, which is not limited in this embodiment.
- the single quality belongs to Quality of Experience (QoE).
- QoE Quality of Experience
- the result of the product is the single quality when the server provides video services to the client.
- the optimal bandwidth predictors for different intervals are is the optimal bandwidth predictor for the second interval configuration that does not exhibit variation, is the optimal bandwidth predictor configured for the first interval that identifies rising, is the optimal bandwidth predictor configured for the first interval of marked decline, and the goal is to solve Optimize QoE.
- r j is the code rate
- s j is the stall rate
- ⁇ is the first weight
- ⁇ 0 is the second weight, ⁇ 0.
- Step 1044 Calculate the sum of all individual qualities, and use the sum as the overall quality when all servers provide services to all clients.
- Step 1045 For the overall quality corresponding to different combinations of bandwidth predictors, determine that the combination of bandwidth predictors with the highest overall quality is the combination of bandwidth predictors set in all types of intervals.
- the individual quality (eg QoE) of each connection is added to obtain the overall quality (eg QoE), and the combination of bandwidth predictors that maximizes the overall quality (eg QoE) is selected.
- the server S1 and the server S2 there are 2 servers and 2 clients, namely the server S1 and the server S2, the client U1 and the client U2, and the server S1 is detected at every preset time (for example, 500ms) in one day.
- multiple bandwidth values between server S1 and client U1 are A1-A10
- multiple bandwidth values between server S1 and client U1 are B1-B10
- between server S2 and client U1 The multiple bandwidth values are C1-C10
- the multiple bandwidth values between the server S2 and the client U2 are D1-D10.
- bandwidth values between each server and each client For a plurality of bandwidth values between each server and each client, identify the variation trend of each bandwidth value, so as to classify each server according to the variation trend of the bandwidth value between each server and each client
- the multiple bandwidth values between the client and each client are clustered into multiple types of intervals.
- the change trends of A1-A3 are all upward trends
- A1-A3 is clustered into a first interval with an upward mark
- the change trends of A4-A5 are all no trend
- A4-A5 is clustered Classify to a second interval
- the change trend of A6-A8 is a downward trend
- A6-A8 is clustered into a first interval with a marked decline
- the change trend of A9-A10 is an upward trend
- the bandwidth value B1-B10 the change trend of B1-B2 is no trend
- B1-B2 is clustered into a second interval
- the change trend of B3-B5 is all If it is an upward trend, then cluster B3-B5 into a first interval with a rising mark, and the change trend of B6-B7 is no trend, then cluster B6-B7 into a second interval, and the change trend of B
- bandwidth predictor combination 1 includes bandwidth predictor b0, bandwidth predictor b1, and bandwidth predictor b2,
- bandwidth predictor combination 2 includes Bandwidth predictor b3, bandwidth predictor b4 and bandwidth predictor b5, wherein, b3 is the bandwidth predictor set for the second interval, b4 is the bandwidth predictor set for the first interval where the sign rises, and b5 is the first interval where the sign falls.
- bandwidth predictor combination 1 to predict the bandwidth value of A5 at the next time point according to A4-A5; call b1 in bandwidth predictor combination 1 to predict the bandwidth of A3 at the next time point according to A1-A3 value and predict the bandwidth value of the next time point of A10 according to A9-A10, call b2 in the bandwidth predictor combination 1, and predict the bandwidth value of the next time point of A8 according to A6-A8.
- the bandwidth predictor set for each type of interval in the bandwidth predictor combination 1 is called, which is the type of interval between the server S1 and the client U2, and the interval between the server S2 and the client U1. This type of interval and the type of interval between the server S2 and the client U2 predict the bandwidth value at the next time point.
- Use the predicted bandwidth value at each next time point to adjust the corresponding service For example, for the service provided by the server S1 for the client U1, use the predicted bandwidth value at the next time point of A3 to adjust the server S1 for the client. For the service provided by the end U1, for example, the time point corresponding to A3 is 9:00 am, then the next time point of A3 is 9:00 5 seconds, then use the predicted bandwidth value of 9:05 seconds to adjust the server-side S1 to provide the client U1 After adjusting the service, obtain the quality 1 when the server S1 provides the service for the client U1, and then use the predicted bandwidth value at the next time point of A5 to adjust the service provided by the server S1 for the client U1, For example, the time point corresponding to A5 is 9:10 am, and the next time point of A5 is 9:15 am, then use the predicted bandwidth value of 9:15 am to adjust the service provided by the server side S1 for the client U1, And after adjusting the service, obtain the quality 2 when the server S1 provides the service for the client U1.
- the service provided by the server S1 for the client U1 can be adjusted according to the predicted bandwidth value at the next time point of A8, and after the adjustment of the service, the quality 3 when the server S1 provides the service for the client U1 can be obtained and according to The predicted bandwidth value at the next time point of A10 adjusts the service provided by the server S1 for the client U1, and obtains the quality 4 when the server S1 provides the service for the client U1 after adjusting the service.
- multiple individual qualities ie, quality 1, quality 2, quality 3, and quality 4 can be obtained.
- the service provided by the server S1 for the client U2 under the condition of calling the bandwidth predictor combination 1, the service provided by the server S1 for the client U2, the service provided by the server S2 for the client U1, and the service provided by the server S2 for the client U2 can all be Get multiple monomer masses.
- Calculations are based on the services provided by the server side S1 for the client U1, the services provided by the server side S1 for the client side U2, the services provided by the server side S2 for the client side U1, and the services provided by the server side S2 for the client side U2.
- the sum of body mass is 1.
- bandwidth predictor combination 2 uses the bandwidth predictor combination 2 to predict the bandwidth value at the next time point, and adjust the corresponding service according to the predicted bandwidth value at the next time point.
- the service provided by the end S1 for the client U2, the service provided by the server S2 for the client U1, and the service provided by the server S2 for the client U2 can obtain the quality of multiple monomers, and calculate the sum of all the obtained monomer qualities. value 2.
- the bandwidth predictor combination 1 is the bandwidth predictor combination finally set for all types of intervals, that is, the bandwidth predictor combination b0 in the bandwidth predictor combination 1 is the second interval.
- the configured bandwidth predictor, the bandwidth predictor combination b1 in the bandwidth predictor combination 1 is the bandwidth predictor configured for the first interval indicating the rise, and the bandwidth predictor combination b2 in the bandwidth predictor combination 1 is the bandwidth predictor combination b2 for the first interval indicating the decline.
- the bandwidth between the server and the client is detected at multiple consecutive time points to obtain multiple bandwidth values, and the change trend of each bandwidth value among the multiple bandwidth values is identified.
- the change trend of the value Clusters multiple bandwidth values into multiple types of intervals, and the multiple types of intervals are used to represent multiple changes in bandwidth.
- Set a bandwidth predictor for each type of interval and set a bandwidth predictor for each type of interval.
- the set bandwidth predictor is used to predict the bandwidth value of the next time point according to the bandwidth value in each type of interval, and the bandwidth value of the next time point is used to adjust the service provided by the server to the client, with the overall bandwidth.
- the change trend is used as the benchmark for prediction, aiming at optimizing the overall quality of the service.
- Embodiment 2 is a flowchart of a service adjustment method provided in Embodiment 2 of the present application. This embodiment can be applied to predict bandwidth according to a change trend of bandwidth, so as to adjust service conditions accordingly.
- the method can be performed by a service adjustment device.
- the service adjustment means may be implemented in software and/or hardware, and may be configured in computer equipment such as servers, workstations, personal computers, and the like.
- the service adjustment method includes the following steps:
- Step 201 Detect the bandwidth between the server and the client at multiple consecutive time points to obtain multiple bandwidth values.
- Step 202 Identify a change trend of each bandwidth value in the plurality of bandwidth values.
- a window can be added to the bandwidth value; sliding window; in the process of window sliding, the change trend of the latest bandwidth value in the window relative to all bandwidth values in the window is calculated.
- the change trend of the bandwidth value includes at least one of no trend, an upward trend, and a downward trend; no trend indicates that the bandwidth value does not show a change; an upward trend indicates that the bandwidth value shows a change, and the change is an increase; a downward trend indicates that the bandwidth The value exhibits a change, and the change is a decrease.
- Step 203 Cluster the multiple bandwidth values into multiple types of intervals according to the change trend of the multiple bandwidth values.
- the interval includes a first interval and a second interval, the first interval is used to indicate that the bandwidth exhibits a change, and the second interval is used to indicate that the bandwidth does not exhibit a change.
- step 203 if a plurality of consecutive bandwidth values have the same trend of change and indicate that the bandwidth values are changing, the consecutive plurality of bandwidth values are clustered into a first interval that identifies the change; Among the bandwidth values, other bandwidth values except the first interval are clustered into the second interval.
- the change trend of the current bandwidth value is compared with the change trend of the previous bandwidth value; if the change trend of the current bandwidth value and the change trend of the previous bandwidth value are both upward trends, then The preset variable is accumulated by one; if the variable is greater than the preset threshold, then multiple consecutive bandwidth values are clustered into the first interval where the identifier rises, the number of consecutive multiple bandwidth values is equal to the variable, and among the multiple consecutive bandwidth values The change trend of each bandwidth value of is an upward trend.
- the preset variable is set to zero.
- steps 201, 202, and 203 are basically similar to steps 101, 102, and 103 in the first embodiment, the description is relatively simple. Yes, the embodiments of the present application will not be described in detail here.
- Step 204 Query the bandwidth predictor configured for each type of interval.
- the bandwidth predictor can be pre-configured for different types of intervals through the setting method of the bandwidth predictor described in any embodiment of the present application, and the mapping relationship between the different types of intervals and the bandwidth predictor can be recorded,
- the bandwidth predictor can be used to predict the bandwidth value at the next time point based on the bandwidth value in the interval.
- the bandwidth predictor configured for the interval is searched from the mapping relationship, the bandwidth predictor is loaded, and the bandwidth value input value in the interval is used to predict the bandwidth value at the next time point .
- Step 205 Adjust the service according to the bandwidth value at the next time point to optimize the overall quality of the service provided by the server to the client.
- the bandwidth value at the next time point is used as the calculation parameter, and algorithms such as adaptive code rate are used to adjust the service provided by the server to the client. Since the bandwidth predictor is based on the optimization service The overall quality of the service provided by the client to the client is targeted and set for the interval. Therefore, all connections between the server and the client are adjusted, which can optimize the overall quality of the service provided by the server to the client.
- the bandwidth between the server and the client is detected at multiple consecutive time points to obtain multiple bandwidth values, and the change trend of each bandwidth value among the multiple bandwidth values is identified.
- Value change trends Cluster multiple bandwidth values into multiple types of intervals. Multiple types of intervals are used to represent multiple changes in bandwidth.
- the bandwidth predictor configured in the interval is used to predict the bandwidth value of the next time point according to the bandwidth value in each type of interval, and adjust the service according to the bandwidth value of the next time point to optimize the service provided by the server to the client
- the bandwidth predictor is configured based on the overall change trend of the bandwidth, so that the overall change trend of the adaptive bandwidth can dynamically select the optimal bandwidth predictor to predict the bandwidth, and get rid of the limitation caused by the fixed prediction bandwidth. This improves the accuracy of the predicted bandwidth, makes the service adjustment closer to the actual bandwidth, and ensures the quality of the service.
- FIG. 3 is a structural block diagram of an apparatus for setting a bandwidth predictor provided in Embodiment 3 of the present application, the apparatus includes the following modules: a bandwidth value detection module 301, configured to detect the server and the client respectively at multiple consecutive time points Bandwidth between terminals, and obtain a plurality of bandwidth values; the change trend identification module 302 is configured to identify the change trend presented by each bandwidth value in the plurality of bandwidth values; the interval clustering module 303 is configured to be based on the plurality of bandwidth values.
- a bandwidth value detection module 301 configured to detect the server and the client respectively at multiple consecutive time points Bandwidth between terminals, and obtain a plurality of bandwidth values
- the change trend identification module 302 is configured to identify the change trend presented by each bandwidth value in the plurality of bandwidth values
- the interval clustering module 303 is configured to be based on the plurality of bandwidth values.
- the variation trend of the bandwidth value clusters the multiple bandwidth values into multiple types of intervals, and the multiple types of intervals are used to represent multiple variation trends of the bandwidth; the bandwidth predictor setting module 304 is set to A bandwidth predictor is set for each type of interval, and the bandwidth predictor set for each type of interval is used to predict the bandwidth value at the next time point according to the bandwidth value in the each type of interval, and the lower The bandwidth value at a point in time is used to adjust the service provided by the server to the client.
- the change trend identification module 302 includes: a window adding module, configured to add a window to the plurality of bandwidth values; a window sliding module, configured to slide the window; a window calculation module, configured to In order to calculate the change trend of the latest bandwidth value in the window relative to all the bandwidth values in the window during the sliding process of the window.
- the change trend of the bandwidth value includes at least one of no trend, an upward trend, and a downward trend; wherein, the no trend indicates that the bandwidth value does not show a change; the upward trend The trend indicates that the bandwidth value exhibits a change, and the change is an increase; the decreasing trend indicates that the bandwidth value exhibits a change, and the change is a decrease.
- the multiple types of intervals include a first interval and a second interval, the first interval is used to indicate that the bandwidth presents a change, and the second interval is used to indicate the bandwidth Changes are not presented.
- the interval clustering module 303 includes: a first interval clustering module, which is configured to, in the case that the variation trends of the consecutive plurality of bandwidth values among the plurality of bandwidth values are the same, and the consecutive plurality of bandwidth values show changes, Clustering the continuous plurality of bandwidth values into a first interval identifying the change; a second interval clustering module configured to cluster other bandwidth values in the plurality of bandwidth values except the first interval class to the second interval.
- the first interval clustering module includes: a first comparison module, configured to compare the change trend of each bandwidth value with the change trend of the previous bandwidth value; the first accumulation module, It is set to add one to the preset variable when the change trend of each bandwidth value and the change trend of the previous bandwidth value are both upward trends; the upward interval clustering module is set to be in the preset variable.
- the set variable is greater than a preset threshold, cluster a plurality of consecutive bandwidth values into a first interval with an increased marker, wherein the number of bandwidth values in the consecutive plurality of bandwidth values is equal to the preset variable;
- the second accumulating module is configured to accumulate one preset variable when the change trend of each bandwidth value and the change trend of the previous bandwidth value are both downward trends;
- the descending interval clustering module is configured to set In the case where the preset variable is greater than the preset threshold, cluster a plurality of consecutive bandwidth values into a first interval marked with a decrease, wherein the number of bandwidth values in the consecutive plurality of bandwidth values is equal to the A preset variable; a variable clearing module, set to the situation that the change trend of each bandwidth value is different from the change trend of the previous bandwidth value, or, when the change trend of each bandwidth value is different from the change trend of each bandwidth value. If the change trend of the last bandwidth value is no trend, the preset variable is set to zero.
- the number of the servers is multiple, and the number of the clients is multiple.
- the bandwidth value detection module 301 is configured to detect the bandwidth between each server and each client at multiple consecutive time points, and obtain a plurality of bandwidths between each server and each client.
- the variation trend identification module 302 is configured to identify the variation trend presented by each bandwidth value in the plurality of bandwidth values between each server and each client;
- the interval clustering module 303 is configured to In order to cluster the plurality of bandwidth values between each server and each client into a plurality of types of intervals according to changing trends of the plurality of bandwidth values between each server and each client.
- the bandwidth value at the next time point is used to adjust the service provided by the server to the client, including: according to each type of bandwidth between each server and each client.
- the bandwidth value at the next time point predicted by the bandwidth value in the interval is used to adjust the service provided by each server to each client.
- the bandwidth predictor setting module 304 includes: a bandwidth predictor configuration module, configured to configure a variety of bandwidth predictor combinations for all types of intervals, wherein each bandwidth predictor combination includes: The multiple bandwidth predictors set respectively in the multiple types of intervals; the bandwidth value prediction module is set to call the bandwidth predictors set for each type of interval in each bandwidth predictor combination, according to each server and each bandwidth predictor.
- the bandwidth value in the interval of each type between a client predicts the bandwidth value of the next time point;
- the unit quality calculation module is set to use all the bandwidth values of the next time point for each next time point Under the condition of adjusting the service corresponding to the bandwidth value of each next time point, calculate the quality when each server provides services for each client and use each quality as a single quality;
- overall quality configuration module set to calculate the sum value between the quality of all the monomers, and use the sum value as the overall quality when all servers provide services to all clients;
- the effective determination module is set to combine different bandwidth predictors Corresponding to the overall quality, it is determined that the bandwidth predictor combination with the highest overall quality is the bandwidth predictor combination set for all types of intervals.
- the service includes a video service;
- the single quality calculation module includes: a video parameter prediction module, configured to predict the bit rate and A freeze rate; a first product calculation module, configured to calculate the first product between the code rate and a preset first weight; a second product calculation module, configured to calculate the freeze rate and a preset first product a second product between two weights; a product subtraction module, configured to subtract the second product from the first product, and use the result of subtracting the second product from the first product as the each The individual quality when the server provides video services for each client.
- the apparatus for setting a bandwidth predictor provided in the embodiment of the present application can execute the setting method for a bandwidth predictor provided by any embodiment of the present application, and has functional modules corresponding to the execution method.
- FIG. 4 is a structural block diagram of a service adjustment apparatus provided in Embodiment 4 of the present application.
- the apparatus may include the following modules: a bandwidth value detection module 401, configured to detect the relationship between the server and the client at multiple consecutive time points respectively.
- the change trend identification module 402 is set to identify the change trend presented by each bandwidth value in the multiple bandwidth values; the interval clustering module 403 is set to be based on the multiple bandwidth values.
- the variation trends of the bandwidth values are clustered into multiple types of intervals, and the multiple types of intervals are used to represent multiple variation trends of the bandwidth;
- the bandwidth predictor search module 404 is configured to query each bandwidth predictors configured for each type of interval, the bandwidth predictor configured for each type of interval is used to predict the bandwidth value at the next time point according to the bandwidth value in the each type of interval; service adjustment module 405. Set to adjust the service according to the bandwidth value at the next time point, so as to optimize the overall quality of the service provided by the server to the client.
- the change trend identification module 402 includes: a window adding module, configured to add a window to the plurality of bandwidth values; a window sliding module, configured to slide the window; a window calculation module, configured to In order to calculate the change trend of the latest bandwidth value in the window relative to all the bandwidth values in the window during the sliding process of the window.
- the change trend of the bandwidth value includes at least one of no trend, an upward trend, and a downward trend; wherein, the no trend indicates that the bandwidth value does not show a change; the upward trend The trend indicates that the bandwidth value exhibits a change, and the change is an increase; the decreasing trend indicates that the bandwidth value exhibits a change, and the change is a decrease.
- the multiple types of intervals include a first interval and a second interval, the first interval is used to indicate that the bandwidth presents a change, and the second interval is used to indicate the bandwidth Changes are not presented.
- the interval clustering module 403 includes: a first interval clustering module, which is configured to, in the case that the variation trends of the consecutive plurality of bandwidth values among the plurality of bandwidth values are the same, and the consecutive plurality of bandwidth values show changes, Clustering the continuous plurality of bandwidth values into a first interval identifying the change; a second interval clustering module configured to cluster other bandwidth values in the plurality of bandwidth values except the first interval class to the second interval.
- the first interval clustering module includes: a first comparison module configured to compare the change trend of each bandwidth value with the change trend of the previous bandwidth value; a first accumulation module, set to add one to the preset variable when the change trend of each bandwidth value and the change trend of the previous bandwidth value are both upward trends; the upward interval clustering module is set to be in all In the case where the preset variable is greater than the preset threshold, cluster a plurality of consecutive bandwidth values into a first interval with an increased marker, wherein the number of bandwidth values in the consecutive plurality of bandwidth values is equal to the preset variable
- the second accumulating module is set to add one to the preset variable when the change trend of each bandwidth value and the change trend of the previous bandwidth value are both downward trends;
- the falling interval clustering module is set to cluster a plurality of consecutive bandwidth values into a first interval marked with a decrease when the preset variable is greater than a preset threshold, wherein the number of bandwidth values in the consecutive plurality of bandwidth values is equal to the A preset variable; a variable
- the service adjustment apparatus provided by the embodiment of the present application can execute the service adjustment method provided by any embodiment of the present application, and has functional modules corresponding to the execution method.
- FIG. 5 is a schematic structural diagram of a computer device according to Embodiment 5 of the present application.
- Figure 5 shows a block diagram of an exemplary computer device 12 suitable for use in implementing embodiments of the present application.
- the computer device 12 shown in FIG. 5 is only an example, and should not impose any limitations on the functions and scope of use of the embodiments of the present application.
- computer device 12 takes the form of a general-purpose computing device.
- Components of computer device 12 may include, but are not limited to, one or more processors or processing units 16 , system memory 28 , and a bus 18 connecting various system components including system memory 28 and processing unit 16 .
- Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of a variety of bus structures.
- these architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, MicroChannel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (Video Electronics Standards Association) , VESA) local bus and Peripheral Component Interconnect (PCI) bus.
- Computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by computer device 12, including both volatile and nonvolatile media, removable and non-removable media.
- System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32 .
- Computer device 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media.
- storage system 34 may be used to read and write to non-removable, non-volatile magnetic media (not shown in FIG. 5, commonly referred to as a "hard disk drive").
- a magnetic disk drive for reading and writing to removable non-volatile magnetic disks eg "floppy disks" and removable non-volatile optical disks (eg Compact Disc Read-Only Memory) may be provided Read-Only Memory, CD-ROM), digital video disc read-only memory (Digital Video Disc Read-Only Memory, DVD-ROM) or other optical media) optical disk drive for reading and writing.
- each drive may be connected to bus 18 through one or more data media interfaces.
- Memory 28 may include at least one program product having a set (eg, at least one) of program modules configured to perform the functions of various embodiments of the present application.
- a program/utility 40 having a set (at least one) of program modules 42, which may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data , each or some combination of these examples may include an implementation of a network environment.
- Program modules 42 generally perform the functions and/or methods of the embodiments described herein.
- Computer device 12 may also communicate with one or more external devices 14 (eg, keyboard, pointing device, display 24, etc.), may also communicate with one or more devices that enable a user to interact with computer device 12, and/or communicate with Any device (eg, network card, modem, etc.) that enables the computer device 12 to communicate with one or more other computing devices. Such communication may take place through an input/output (I/O) interface 22 . Also, computer device 12 may communicate with one or more networks (eg, Local Area Network (LAN), Wide Area Network (WAN), and/or public networks such as the Internet) through network adapter 20. As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18 .
- I/O input/output
- network adapter 20 communicates with other modules of computer device 12 via bus 18 .
- the processing unit 16 executes various functional applications and data processing by running the programs stored in the system memory 28, such as implementing the bandwidth predictor setting and service adjustment methods provided by the embodiments of the present application.
- Embodiment 6 of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, each process of the foregoing bandwidth predictor setting method and service adjustment method is implemented, In order to avoid repetition, details are not repeated here.
- Computer-readable storage media may include, but are not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof, for example. More specific examples (non-exhaustive list) of computer readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (Read Only Memory) , ROM), Electrically Erasable Programmable read only memory (EPROM) or flash memory, optical fiber, portable compact disk read only memory (CD-ROM), optical storage devices, magnetic storage devices, or the above any suitable combination.
- a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种带宽预测器的设置、服务调整方法及装置,所述带宽预测器的设置方法包括:分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值,识别多个带宽值中每个呈现的变化趋势,根据多个带宽值的变化趋势将多个带宽值聚类为多个类型的区间,多个类型的区间用于表示带宽的多个变化趋势,为每个类型的区间设置带宽预测器,为所述每个类型的区间设置的带宽预测器用于根据每个类型的区间中的带宽值预测下一个时间点的带宽值,下一个时间点的带宽值用于调整服务端为客户端提供的服务。
Description
本申请要求在2021年04月23日提交中国专利局、申请号为202110442450.6的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
本申请实施例涉及通信的技术领域,例如涉及一种带宽预测器的设置、服务调整方法及装置。
随着网络技术的快速发展,不同平台为用户提供多种多样在线的服务,这些服务在用户的娱乐、生活、工作中越来越重要,在提供服务的过程中,服务的质量往往是平台的关注点。
平台提供的服务往往与带宽相关,在带宽波动的时候,服务往往也可能出现波动,影响服务的质量,为此,平台会预测带宽的变化,从而相应调整服务,保证服务的质量。
平台预测带宽的变化通常使用固定的方式,但是,固定的方式具有局限性,而带宽的变化较为复杂,会产生突降、突增等情况,导致在部分情况下,预测的精准度下降,从而影响服务的质量。
发明内容
本申请实施例提出了一种带宽预测器的设置、服务调整方法及装置,解决了如何提高预测带宽的变化的精确度、从而提高服务的质量的问题。
本申请实施例提供了一种带宽预测器的设置方法,包括:
分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;
识别所述多个带宽值中每个带宽值呈现的变化趋势;
根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;
为每个类型的区间设置带宽预测器,为所述每个类型的区间设置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值,所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务。
本申请实施例还提供了一种服务调整方法,包括:
分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;
识别所述多个带宽值中每个带宽值呈现的变化趋势;
根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;
查询为每个类型的区间配置的带宽预测器,为所述每个类型的区间配置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值;
根据所述下一个时间点的带宽值调整所述服务,以优化所述服务端为所述客户端提供的服务的整体质量。
本申请实施例还提供了一种带宽预测器的设置装置,包括:
带宽值检测模块,设置为分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;
变化趋势识别模块,设置为识别所述多个带宽值中每个带宽值呈现的变化趋势;
区间聚类模块,设置为根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;
带宽预测器设置模块,设置为为每个类型的区间设置带宽预测器,为所述每个类型的区间设置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值,所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务。
本申请实施例还提供了一种服务调整装置,包括:
带宽值检测模块,设置为分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;
变化趋势识别模块,设置为识别所述多个带宽值中每个带宽值呈现的变化趋势;
区间聚类模块,设置为根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;
带宽预测器查找模块,设置为查询为每个类型的区间配置的带宽预测器,为所述每个类型的区间配置的带宽预测器用于根据所述每个类型的区间中的所 述带宽值预测下一个时间点的带宽值;
服务调整模块,设置为根据所述下一个时间点的带宽值调整所述服务,以优化所述服务端为所述客户端提供的服务的整体质量。
本申请实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,设置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现本申请任意实施例所述的带宽预测器的设置方法或者本申请任意实施例所述的服务调整方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例所述的带宽预测器的设置方法或者本申请任意实施例所述的服务调整方法。
图1为本申请实施例一提供的一种带宽预测器的设置方法的流程图;
图2是本申请实施例二提供的一种服务调整方法的流程图;
图3为本申请实施例三提供的一种带宽预测器的设置装置的结构示意图;
图4为本申请实施例四提供的一种服务调整装置的结构示意图;
图5为本申请实施例五提供的一种计算机设备的结构示意图。
下面结合附图和实施例对本申请作说明。可以理解的是,此处所描述的实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
不同平台为用户提供多种多样在线的服务,例如,流媒体(如直播、短视频等)、游戏、新闻、专业操作(如在线建模、在线图像编辑等),等等,在提供服务的过程中,服务的质量往往是平台的关注点。
以流媒体中的直播为例,直播数据的码率、直播数据的卡顿率、直播数据的缓冲时间、以及直播数据的画质等等,均是用户体验的关键指标,因此,预测带宽的变化,进而根据带宽的变化选择合适的码率,在尽可能提高画质的条件下,降低卡顿率、减少缓冲时间,是提高用户观看直播的体验的主要方式。
但是,预测带宽的变化实际上是一件复杂的事情。在直播中,由于端到端延迟的限制,客户端的缓冲区较小,无法依靠客户端的缓冲区来平滑带宽的波动,带宽预测的准确性直接影响用户观看直播的体验。
在直播中,常用于预测带宽的变化的方式是根据历史一段时间内下载数据的速度预测未来的带宽值,例如,使用滑动平均预测带宽值、使用上一次客户端的下载速度预测带宽值、使用指数加权滑动平均(Exponential Weighted Moving Average,EWMA)预测带宽值、使用机器学习回归方法(如线性回归)预测带宽值,等等。
这些方式都将历史下载数据的速度作为历史序列来预测将来时刻的带宽值,而固定使用一种方式预测带宽值具有局限性,例如,由于客户端的缓冲区较小,如果在带宽突降的情况下,使用滑动平均预测带宽值会导致预测的带宽值偏高,此时相应提高码率,会导致卡顿、增大缓冲时间;在带宽突增的情况下,使用滑动平均预测带宽值会导致预测的带宽值偏低,此时相应降低码率,会导致直播数据的画质偏低。
本申请实施例提供了一个基于带宽的变化趋势预测带宽的方法,根据历史带宽的样本点判断当前时刻带宽的变化趋势,根据趋势选择合适的带宽预测器,从而提高预测带宽的准确性,提高服务端的服务质量。
实施例一
图1为本申请实施例一提供的一种带宽预测器的设置方法的流程图,本实施例可适用于根据带宽的变化趋势设定合适的带宽预测器的情况,该方法可以由带宽预测器的设置装置来执行,该带宽预测器的设置装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等。所述带宽预测器的设置方法包括如下步骤:
步骤101、分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值。
服务端Server可向客户端Client提供在线的服务,例如,流媒体(如直播、短视频等)、游戏、新闻、专业操作(如在线建模、在线图像编辑等),等等,而客户端面向用户,提供交互的界面(如选择视频、与主播进行互动等)。
服务端为计算机集群,如分布式系统,即服务端具有多台机器,不同的机器可能位于不同区域的机房,使得不同的机器可能位于不同的网络环境,这些机器分别与不同的客户端建立连接,该连接一般为长连接,如socket(嵌套字)连接。
在本实施例中,可以每间隔预设的时间(如500ms)设置一个时间点,在每个时间点上使用拥塞控制等方法为服务端的机器与客户端之间的连接测量带宽,从而在每个时间点可测量一个带宽值,连续在多个时间点为服务端的机器与客户端之间的连接测量带宽,从而在多个时间上可测量多个带宽值。
带宽表示该连接所能传送数据的能力,即在单位时间内从服务端的机器到客户端所能通过的最高数据率,而带宽值为带宽的数值化表示,带宽值常用的单位是比特/秒(bit per second,bps)。
步骤102、识别所述多个带宽值中每个带宽值呈现的变化趋势。
服务端的机器与客户端之间的连接随网络环境不断地发生变化,因此,带宽值也不断发生变化,针对每个带宽值,可以识别其在单点上变化时呈现的趋势,即变化趋势。
可对多个带宽值添加窗口,该窗口具有设定的长度n(如10、20等),可覆盖该长度内的带宽值。
在初始时,该窗口覆盖前n个带宽值,此后,以预设的步长(如1、2等)滑动窗口,表示为X={x
i-n+1,x
2,…,x
i},x
i为最新的带宽值。
在窗口滑动的过程中,可使用Mann-Kendall(曼-肯德尔)、线性回归、基于梯度等趋势检测方法计算窗口内最新的带宽值相对于窗口内所有带宽值呈现的变化趋势,表示为t
i=TrendDetection(X),TrendDetection(*)为趋势检验方法。
示例性地,带宽值的变化趋势包括无趋势、上升趋势、下降趋势中的至少一种。无趋势表示带宽值未呈现变化,上升趋势表示带宽值呈现变化,且变化为上升,下降趋势表示带宽值呈现变化,且变化为下降。
以Mann-Kendall为例,窗口内最新的带宽值相对于窗口内所有带宽值呈现的变化趋势的计算过程如下:
S1、针对窗口内的带宽值计算顺序时间序列的秩序列Sk,按方程计算统计量UFk。
S2、针对窗口内的带宽值计算逆序时间序列的秩序列sk,按方程计算统计量UBk。
S3、给定显着性水平,如α=0.05,那么临界值U0.05=±1.96。将统计量UFk和统计量UBk和±1.96两条直线均绘在同一张图上。
S4、若统计量UFk或统计量UBk的值大于0,则表明序列呈上升趋势,从而表明窗口内最新的带宽值的变化趋势为上升趋势,若统计量UFk或统计量 UBk的值小于0则表明序列呈下降趋势,从而表明窗口内最新的带宽值的变化趋势为下降趋势。当它们超过临界直线时,表明上升趋势或下降趋势显着。超过临界线的范围确定为出现突变的时间区域。如果统计量UFk和统计量UBk出现交点,且交点在临界线之间,那么交点对应的时刻便是突变开始的时间。
步骤103、根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间。
服务端的机器与客户端之间的连接发生变化具有持续性,因此,可以以带宽值的变化趋势作为参考,对带宽值进行聚类,从而将多个带宽值划分为多个类型的区间,且在同一个区间中的多个带宽值是连续的,即同一个区间中的多个带宽值对应的多个时间点是连续的,因此,该一个区间可用于表示服务端的机器与客户端之间的连接,在连续的一段时间内,带宽在整体上呈现的变化趋势。
在本申请的一个实施例中,不同类型的区间包括第一区间和第二区间,第一区间用于表示带宽呈现变化,第二区间用于表示带宽未呈现变化,所谓未呈现变化,可以指带宽整体保持恒定,或者,整体波动(如带宽值忽高忽低),等等,则在本实施例中,步骤103包括如下步骤:
步骤1031、若所述多个带宽值中连续多个带宽值的变化趋势相同、且表示带宽值呈现变化,则将所述连续多个带宽值聚类至标识所述变化的第一区间。
步骤1032、将所述多个带宽值中除第一区间之外的其他带宽值聚类至第二区间。
在本实施例中,可以遍历每个带宽值及其变化趋势,如果连续多个带宽值满足变化趋势相同、且表示带宽值呈现变化的条件,则可以将这些带宽值聚类至标识该变化的第一区间,如果连续多个带宽值不满足变化趋势相同、且表示带宽值呈现变化的条件,则可以聚类至第二区间,对连续的多个带宽值进行聚类,符合带宽持续性变化的特性,可以保证第一区间、第二区间的准确性。
带宽值的变化趋势包括无趋势、上升趋势和下降趋势,第一区间呈现的变化可以包括带宽整体上升或整体下降。
因此,可以设置一个独立的标记与一个独立的变量,该标记用于存储前一个带宽值的变化趋势,该变量用于统计带宽值的变化趋势为上升趋势或下降趋势连续相同的次数。
在遍历每个带宽值时,将当前带宽值的变化趋势与该标记进行比较,从而将当前带宽值的变化趋势与上一带宽值的变化趋势进行比较。
若当前带宽值的变化趋势与上一带宽值的变化趋势均为上升趋势,则对预 设的变量累加一,将当前带宽值的变化趋势记录至该标记中,将该变量与预设的阈值进行比较。
若变量大于预设的阈值,则将连续多个带宽值聚类至标识上升的第一区间,其中,连续多个带宽值中的带宽值的数量等于变量。
若变量小于或等于预设的阈值,则继续遍历下一个带宽值。
若当前带宽值的变化趋势与上一带宽值的变化趋势均为下降趋势,则对预设的变量累加一,将当前带宽值的变化趋势记录至该标记中,将该变量与预设的阈值进行比较。
若变量大于预设的阈值,则将连续多个带宽值聚类至标识下降的第一区间,其中,连续多个带宽值中带宽值的数量等于变量。
若变量小于或等于预设的阈值,则继续遍历下一个带宽值。
若当前带宽值的变化趋势与上一带宽值的变化趋势不同,或者,当前带宽值的变化趋势与上一带宽值的变化趋势均为无趋势,则将预设的变量置为零,将当前带宽值的变化趋势记录至该标记中,继续遍历下一个带宽值。
设带宽值的变化趋势为t
i,无趋势表示为t
i=0,下降趋势表示为t
i=1、上升趋势表示为t
i=2,记变量为p
i,则有
设预设的阈值为M,M≥0,当p
i>M时,确定当前第i个带宽值处于标识上升或下降的第一区间。
在本实施例中,通过变量记录带宽值的变化趋势为上升趋势或下降趋势的连续相同的次数,以阈值划分第一区间和第二区间,计算简单,操作方便。
步骤104、为所述多个类型的区间中每个类型的区间设置带宽预测器。
在本实施例中,可以预设不同类型的带宽预测器,该带宽预测器可用于根据区间中的带宽值预测下一个时间点的带宽值,即第一区间的带宽预测器的输入为第一区间中的带宽值,输出为下一个时间点的带宽值,第二区间的带宽预测器的输入为第二区间中的带宽值,输出为下一个时间点的带宽值。而预测的下一个时间点的带宽用于调整服务端为客户端提供的服务。
带宽预测器为实现带宽预测算法的模块,带宽预测算法例如是,Last(使用最新的带宽值作为预测的带宽值)、指数加权滑动平均方法(EWMA)、调和平均(Harmonic Mean,HM)、Kalman(卡尔曼滤波),等等。
区间表示带宽整体的变化趋势,本实施例可以基于整体的变化趋势预测带 宽值,以此,在训练阶段,可以以优化服务端的多个机器为多个客户端提供的服务的整体质量为目标,为每个类型的区间设置带宽预测器,即在线阶段,在识别区间之后,应用为区间设置的带宽预测器预测带宽值。
需要说明的是,由于服务端的机器可能存在扩容、缩容以及网络环境变化等情况,为了保证服务端为客户端提供的服务的整体质量,可以每间隔一段时间,重新以优化服务端为客户端提供的服务的整体质量为目标,为每种类型的区间设置带宽预测器。
此外,服务端为客户端提供的服务的数字化表示有所不同,因此,优化服务端为客户端提供的服务的整体质量的方式有所不同,例如,如果服务端为客户端提供的服务的整体质量主要以码率等正向的数字化表示,则优化的方式为最大化服务端为客户端提供的服务的整体质量,如果服务端为客户端提供的服务的整体质量主要以卡顿率、丢包率等负向的数字化表示,则优化的方式为最小化服务端为客户端提供的服务的整体质量,等等,本实施例对此不加以限制。
在服务端的数量为多个,客户端的数量为多个的情况下,针对每一服务端与每一客户端之间的带宽执行步骤101,从而得到每一服务端与每一客户端之间的多个带宽值,并对每一服务端与每一客户端之间的多个带宽值执行步骤102、步骤103和步骤104,从而将每一服务端与每一客户端之间的多个带宽值划分为多个类型的区间并为每个类型的区间设置带宽预测器。
在本申请的一个实施例中,步骤104包括如下步骤:
步骤1041、为所有类型的区间配置多种带宽预测器组合。
在本实施例中,可以使用穷举法等方式,为不同的区间配置不同类型的带宽预测器,从而列举区间及带宽预测器之间的组合。
步骤1042、调用每种带宽预测器组合中为每种类型的区间设置的带宽预测器,根据每一服务端与每一客户端之间的所述每种类型的区间中的带宽值预测下一个时间点的带宽值。
在完成配置时,针对每一种组合,均可将位于每个类型的区间中的带宽值输入到为该类型的区间配置的带宽预测器中进行处理,从而输出下一个时间点的带宽值。
步骤1043、在使用全部下一个时间点的带宽值中每一下一个时间点的带宽值调整所述每一下一个时间点的带宽值对应的服务的条件下,计算每个服务端为每个客户端提供服务时的质量,并将每个质量作为一个单体质量。
对于下一个时间点的带宽值,可应用自适应码率等算法调整服务端为客户端提供的服务,在此情况下,检测每个服务端的机器与每个客户端之间的连接, 计算每个服务端为每个客户端提供服务时的质量,并将每个质量作为一个单体质量。
在不同的业务领域,质量的数据化体现有所不同,因此,计算质量的方式也有所不同,本实施例对此不加以限制。
以流媒体为例,单体质量属于体验质量(Quality of Experience,QoE),在本示例,可预测每个服务端为每个客户端提供视频服务时的码率和卡顿率,计算码率与预设的第一权重之间的第一乘积,计算卡顿率与预设的第二权重之间的第二乘积,将第一乘积减去第二乘积,将第一乘积减去第二乘积的结果作为服务端为客户端提供视频服务时的单体质量。
假设带宽预测器的可选集合为B={BWE
1,BWE
2,…,BWE
K},对于不同区间下最优的带宽预测器为
是对未呈现变化的第二区间配置的最优的带宽预测器,
是对标识上升的第一区间配置的最优的带宽预测器,
是对标识下降的第一区间配置的最优的带宽预测器,目标求解
优化QoE。
在流媒体中,针对一条连接j下,给定一组带宽预测器b={b
0,b
1,b
2},QoE可以定义为:
QoE
j(b)=α·r
j-β·s
j
上述公式中,r
j为码率,s
j为卡顿率,α为第一权重,α≥0,β为第二权重,β≥0。
步骤1044、计算全部单体质量之间的和值,并将所述和值作为全部服务端为全部客户端提供服务时的整体质量。
步骤1045、针对不同的带宽预测器组合对应的整体质量,确定整体质量最大的带宽预测器组合为所有类型的区间设置的带宽预测器组合。
假设服务端的多个机器与客户端之间存在N(N为正整数)个连接,那么,最优的带宽预测器的组合,是在N条连接下,使整体质量(如QoE)最大化的带宽预测器的组合,表示如下:
即,以数据为驱动,将每条连接的单体质量(如QoE)进行相加,获得整体质量(如QoE),选择使得整体质量(如QoE)最大化的带宽预测器的组合。
示例性的,有2个服务器端和2个客户端,分别为服务器端S1和服务器端 S2,客户端U1和客户端U2,在一天中每间隔预设的时间(例如500ms)检测服务器端S1与客户端U1之间的带宽值、服务器端S2与客户端U1之间的带宽值、服务器端S2与客户端U1之间的带宽值以及服务器端S2与客户端U2之间的带宽值,得到服务器端S1与客户端U1之间的多个带宽值、服务器端S1与客户端U1之间的多个带宽值、服务器端S2与客户端U1之间的多个带宽值以及服务器端S2与客户端U2之间的多个带宽值。例如,服务器端S1与客户端U1之间的多个带宽值为A1-A10,服务器端S1与客户端U1之间的多个带宽值为B1-B10,服务器端S2与客户端U1之间的多个带宽值为C1-C10,服务器端S2与客户端U2之间的多个带宽值为D1-D10。
针对每个服务器端与每个客户端之间的多个带宽值,识别每个带宽值呈现的变化趋势以根据每个服务器端与每个客户端之间的带宽值的变化趋势将每个服务器端与每个客户端之间的多个带宽值聚类为多个类型的区间。例如,带宽值A1-A10中,A1-A3的变化趋势均为上升趋势,A1-A3聚类至一个标识上升的第一区间,A4-A5的变化趋势均为无趋势,则A4-A5聚类至一个第二区间,A6-A8的变化趋势均为下降趋势,则将A6-A8聚类至一个标识下降的第一区间,A9-A10的变化趋势均为上升趋势,则将A6-A8聚类至另一个标识上升的第一区间;带宽值B1-B10中,B1-B2的变化趋势均为无趋势,则将B1-B2聚类至一个第二区间,B3-B5的变化趋势均为上升趋势,则将B3-B5聚类至一个标识上升的第一区间,B6-B7的变化趋势均为无趋势,则将B6-B7聚类至一个第二区间,B8-B10的变化趋势均为下降趋势,则将B8-B10聚类至一个标识下降的第一区间。同理,针对带宽值C1-C10和带宽值D1-D10,分别将带宽值C1-C10和带宽值D1-D10聚类为多个类型的区间。
为所有类型的区间配置多种带宽预测器组合,例如,带宽预测器组合1和带宽预测器组合2,其中,带宽预测器组合1包括带宽预测器b0、带宽预测器b1和带宽预测器b2,其中,b0为为第二区间设置的带宽预测器,b1为为标识上升的第一区间设置的带宽预测器,b2为为标识下降的第一区间设置的带宽预测器,带宽预测器组合2包括带宽预测器b3、带宽预测器b4和带宽预测器b5,其中,b3为为第二区间设置的带宽预测器,b4为为标识上升的第一区间设置的带宽预测器,b5为标识下降的第一区间设置的带宽预测器。
调用带宽预测器组合1中的b0,根据A4-A5预测出A5的下一时间点的带宽值;调用带宽预测器组合1中的b1,根据A1-A3预测出A3的下一时间点的带宽值以及根据A9-A10预测出A10的下一时间点的带宽值,调用带宽预测器组合1中的b2,根据A6-A8预测出A8的下一时间点的带宽值。同理,调用带宽预测器组合1中的为每种类型的区间设置的带宽预测器,为服务器端S1与客户端U2之间的该种类型的区间、服务器端S2与客户端U1之间的该种类型的 区间以及服务器端S2与客户端U2之间的该种类型的区间预测出下一时间点的带宽值。
使用预测出的每一下一时间点的带宽值调整对应的服务,例如,针对服务器端S1为客户端U1提供的服务,使用预测出的A3的下一时间点的带宽值调整服务器端S1为客户端U1提供的服务,例如A3对应的时间点上午9点,则A3的下一时间点为9点5秒,则使用预测出的9点5秒的带宽值调整服务器端S1为客户端U1提供的服务,并在调整服务后,获取服务器端S1为客户端U1提供服务时的质量1,然后使用预测出的A5的下一时间点的带宽值调整服务器端S1为客户端U1提供的服务,例如A5对应的时间点为上午9点10秒,A5的下一时间点为上午9点15秒,则使用预测出的9点15秒的带宽值调整服务器端S1为客户端U1提供的服务,并在调整服务后,获取服务器端S1为客户端U1提供服务时的质量2。同理,可根据预测出的A8的下一时间点的带宽值调整服务器端S1为客户端U1提供的服务,并在调整服务后获取服务器端S1为客户端U1提供服务时的质量3以及根据预测出的A10的下一时间点的带宽值调整服务器端S1为客户端U1提供的服务,并在调整服务后获取服务器端S1为客户端U1提供服务时的质量4。由此,针对服务器端S1为客户端U1提供的服务,可获取多个单体质量,即质量1、质量2、质量3和质量4。
同理,在调用带宽预测器组合1的条件下,针对服务器端S1为客户端U2提供的服务、服务器端S2为客户端U1提供的服务以及服务器端S2为客户端U2提供的服务,均可获取多个单体质量。
计算针对服务器端S1为客户端U1提供的服务、服务器端S1为客户端U2提供的服务、服务器端S2为客户端U1提供的服务以及服务器端S2为客户端U2提供的服务,获取的全部单体质量的和值1。
同理,采用带宽预测器组合2预测出下一时间点的带宽值,并根据预测出的下一时间点的带宽值调整对应的服务后,针对服务器端S1为客户端U2提供的服务、服务器端S1为客户端U2提供的服务、服务器端S2为客户端U1提供的服务以及服务器端S2为客户端U2提供的服务,可获取多个单体质量,并计算获取的全部单体质量的和值2。
在和值1大于和值2的情况下,确定带宽预测器组合1为最终为所有类型的区间设置的带宽预测器组合,即带宽预测器组合1中的带宽预测器组合b0为为第二区间配置的带宽预测器,带宽预测器组合1中的带宽预测器组合b1为为表示上升的第一区间配置的带宽预测器,带宽预测器组合1中的带宽预测器组合b2为为表示下降的第一区间配置的带宽预测器;在和值1小于和值2的情况下,确定带宽预测器组合2为最终为所有类型的区间设置的带宽预测器组合。
在本实施例中,分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值,识别多个带宽值中每个带宽值呈现的变化趋势,根据多个带宽值的变化趋势将多个带宽值聚类为多个类型的区间,多个类型的区间用于表示带宽的多种变化趋势,为每个类型的区间设置带宽预测器,为每个类型的区间设置的带宽预测器用于根据每个类型的区间中的带宽值预测下一个时间点的带宽值,下一个时间点的带宽值用于调整服务端为所述客户端提供的服务,以带宽整体的变化趋势作为预测的基准,以优化服务的整体质量为目标每个类型的对区间配置带宽预测器,使得自适应带宽整体的变化趋势动态地选择最优的带宽预测器预测带宽,摆脱了固定预测带宽的方式带来的局限性,从而提高了预测带宽的准确性,让服务的调整更加贴近真实的带宽,保证服务的质量。
实施例二
图2为本申请实施例二提供的一种服务调整方法的流程图,本实施例可适用于根据带宽的变化趋势预测带宽、从而相应调整服务情况,该方法可以由带服务调整装置来执行,该服务调整装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等。所述服务调整方法包括以下步骤:
步骤201、分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值。
步骤202、识别所述多个带宽值中每个带宽值呈现的变化趋势。
可对带宽值添加窗口;滑动窗口;在窗口滑动的过程中,计算窗口内最新的带宽值相对于窗口内所有带宽值呈现的变化趋势。
示例性地,带宽值的变化趋势包括无趋势、上升趋势、下降趋势中的至少一种;无趋势表示带宽值未呈现变化;上升趋势表示带宽值呈现变化,且变化为上升;下降趋势表示带宽值呈现变化,且变化为下降。
步骤203、根据多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间。
多个类型的区间用于表示带宽的多种变化趋势。
区间包括第一区间和第二区间,第一区间用于表示带宽呈现变化,第二区间用于表示带宽未呈现变化。
那么,在步骤203中,若连续多个带宽值的变化趋势相同、且表示带宽值 呈现变化,则将所述连续多个带宽值聚类至标识所述变化的第一区间;将所述多个带宽值中,除第一区间之外的其他带宽值聚类至第二区间。
在对第一区间进行聚类时,将当前带宽值的变化趋势与上一带宽值的变化趋势进行比较;若当前带宽值的变化趋势与上一带宽值的变化趋势均为上升趋势,则对预设的变量累加一;若变量大于预设的阈值,则将连续多个带宽值聚类至标识上升的第一区间,连续多个带宽值的数量等于变量,所述连续多个带宽值中的每个带宽值的变化趋势为上升趋势。
若当前带宽值的变化趋势与上一带宽值的变化趋势均为下降趋势,则对预设的变量累加一;若变量大于预设的阈值,则将所述每个带宽值聚类至标识下降的第一区间。
若当前带宽值的变化趋势与上一带宽值的变化趋势不同,或者,当前带宽值的变化趋势与上一带宽值的变化趋势均为无趋势,则对预设的变量置为零。
在本申请实施例中,由于步骤201、步骤202、步骤203与实施例一中的步骤101、步骤102、步骤103基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本申请实施例在此不加以详述。
步骤204、查询为每个类型的区间配置的带宽预测器。
在本实施例中,可通过本申请任一实施例所述的带宽预测器的设置方法预先为不同类型的区间配置带宽预测器,并记录不同类型的区间与带宽预测器之间的映射关系,带宽预测器可用于根据区间中的带宽值预测下一个时间点的带宽值。
若识别出一个带宽整体变化趋势的区间时,从映射关系中查找为该区间配置的带宽预测器,并加载该带宽预测器,将该区间中的带宽值输入值预测下一个时间点的带宽值。
步骤205、根据下一个时间点的带宽值调整服务,以优化服务端为客户端提供的服务的整体质量。
对于服务端与客户端之间的每个连接,以下一个时间点的带宽值作为计算的参数,应用自适应码率等算法调整服务端为客户端提供的服务,由于带宽预测器是以优化服务端为客户端提供的服务的整体质量为目标、为区间设置的,因此,服务端与客户端之间的所有连接均调整完毕,可优化服务端为客户端提供的服务的整体质量。
在本实施例中,分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值,识别多个带宽值中每个带宽值呈现的变化趋势,根据多个带宽值的变化趋势将多个带宽值聚类为多个类型的区间,多个类型的区间用于表 示带宽的多种变化趋势,查询为每个类型的区间配置的带宽预测器,为每个类型的区间配置的带宽预测器用于根据所述每个类型的区间中的带宽值预测下一个时间点的带宽值,根据下一个时间点的带宽值调整服务,以优化服务端为客户端提供的服务的整体质量,以带宽整体的变化趋势作为预测的基准配置带宽预测器,使得自适应带宽整体的变化趋势动态地选择最优的带宽预测器预测带宽,摆脱了固定预测带宽的方式带来的局限性,从而提高了预测带宽的准确性,让服务的调整更加贴近真实的带宽,保证服务的质量。
实施例三
图3为本申请实施例三提供的一种带宽预测器的设置装置的结构框图,所述装置包括如下模块:带宽值检测模块301,设置为分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;变化趋势识别模块302,设置为识别所述多个带宽值中每个带宽值呈现的变化趋势;区间聚类模块303,设置为根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;带宽预测器设置模块304,设置为为每个类型的区间设置带宽预测器,为所述每个类型的区间设置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值,所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务。
在本申请的一个实施例中,所述变化趋势识别模块302包括:窗口添加模块,设置为对所述多个带宽值添加窗口;窗口滑动模块,设置为滑动所述窗口;窗口计算模块,设置为在所述窗口滑动的过程中,计算所述窗口内最新的带宽值相对于所述窗口内所有所述带宽值呈现的变化趋势。
在本申请实施例的一个示例中,所述带宽值的变化趋势包括无趋势、上升趋势、下降趋势中的至少一种;其中,所述无趋势表示所述带宽值未呈现变化;所述上升趋势表示所述带宽值呈现变化,且所述变化为上升;所述下降趋势表示所述带宽值呈现变化,且所述变化为下降。
在本申请的一个实施例中,所述多个类型的区间包括第一区间和第二区间,所述第一区间用于表示所述带宽呈现变化,所述第二区间用于表示所述带宽未呈现变化。
所述区间聚类模块303包括:第一区间聚类模块,设置为在所述多个带宽值中连续多个带宽值的变化趋势相同、且所述连续多个带宽值呈现变化的情况下,将所述连续多个带宽值聚类至标识所述变化的第一区间;第二区间聚类模 块,设置为将所述多个带宽值中除所述第一区间之外的其他带宽值聚类至第二区间。
在本申请的一个实施例中,所述第一区间聚类模块包括:第一比较模块,设置为将每个带宽值的变化趋势与上一带宽值的变化趋势进行比较;第一累加模块,设置为在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为上升趋势的情况下,对预设的变量累加一;上升区间聚类模块,设置为在所述预设的变量大于预设的阈值的情况下,将连续多个带宽值聚类至标识上升的第一区间,其中,所述连续多个带宽值中带宽值的数量等于所述预设的变量;第二累加模块,设置为在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为下降趋势的情况下,对预设的变量累加一;下降区间聚类模块,设置为在所述预设的变量大于预设的阈值的情况下,将连续多个带宽值聚类至标识下降的第一区间,其中,所述连续多个带宽值中带宽值的数量等于所述预设的变量;变量清零模块,设置为在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势不同的情况下,或者,在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为无趋势的情况下,将预设的变量置为零。
在本申请的一个实施例中,所述服务端的数量为多个,所述客户端的数量为多个。所述带宽值检测模块301,是设置为分别在多个连续的时间点检测每一服务端与每一客户端之间的带宽,得到每一服务端与每一客户端之间的多个带宽值;所述变化趋势识别模块302,是设置为识别每一服务端与每一客户端之间的多个带宽值中每个带宽值呈现的变化趋势;所述区间聚类模块303,是设置为根据每一服务端与每一客户端之间的多个带宽值的变化趋势将每一服务端与每一客户端之间的多个带宽值聚类为多个类型的区间。
本申请实施例中,所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务,包括:根据每一服务端与每一客户端之间的每个类型的区间中的带宽值预测出的下一个时间点的带宽值用于调整所述每一服务端为所述每一客户端提供的服务。
在本申请的一个实施例中,所述带宽预测器设置模块304包括:带宽预测器配置模块,设置为为所有类型的区间配置多种带宽预测器组合,其中,每种带宽预测器组合包括为所述多个类型的区间分别设置的多个带宽预测器;带宽值预测模块,设置为调用每种带宽预测器组合中为每种类型的区间设置的带宽预测器,根据每一服务端与每一客户端之间的所述每种类型的区间中的带宽值预测下一个时间点的带宽值;单体质量计算模块,设置为在使用全部下一个时间点的带宽值中每一下一个时间点的带宽值调整所述每一下一个时间点的带宽值对应的服务的条件下,计算每个服务端为每个客户端提供服务时的质量并将 每个质量作为一个单体质量;整体质量配置模块,设置为计算所述全部单体质量之间的和值,并将所述和值作为全部服务端为全部客户端提供服务时的整体质量;有效确定模块,设置为针对不同带宽预测器组合对应的所述整体质量,确定所述整体质量最大的所述带宽预测器组合为为所有类型的区间设置的带宽预测器组合。
在本申请的一个实施例中,所述服务包括视频服务;所述单体质量计算模块包括:视频参数预测模块,设置为预测每个服务端为每个客户端提供视频服务时的码率和卡顿率;第一乘积计算模块,设置为计算所述码率与预设的第一权重之间的第一乘积;第二乘积计算模块,设置为计算所述卡顿率与预设的第二权重之间的第二乘积;乘积相减模块,设置为将所述第一乘积减去所述第二乘积,将所述第一乘积减去所述第二乘积的结果作为所述每个服务端为所述每个客户端提供视频服务时的单体质量。
本申请实施例所提供的带宽预测器的设置装置可执行本申请任意实施例所提供的带宽预测器的设置方法,具备执行方法相应的功能模块。
实施例四
图4为本申请实施例四提供的一种服务调整装置的结构框图,所述装置可以包括如下模块:带宽值检测模块401,设置为分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;变化趋势识别模块402,设置为识别所述多个带宽值中每个带宽值呈现的变化趋势;区间聚类模块403,设置为根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;带宽预测器查找模块404,设置为查询为每个类型的区间配置的带宽预测器,为所述每个类型的区间配置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值;服务调整模块405,设置为根据所述下一个时间点的带宽值调整所述服务,以优化所述服务端为所述客户端提供的服务的整体质量。
在本申请的一个实施例中,所述变化趋势识别模块402包括:窗口添加模块,设置为对所述多个带宽值添加窗口;窗口滑动模块,设置为滑动所述窗口;窗口计算模块,设置为在所述窗口滑动的过程中,计算所述窗口内最新的带宽值相对于所述窗口内所有所述带宽值呈现的变化趋势。
在本申请实施例的一个示例中,所述带宽值的变化趋势包括无趋势、上升趋势、下降趋势中的至少一种;其中,所述无趋势表示所述带宽值未呈现变化;所述上升趋势表示所述带宽值呈现变化,且所述变化为上升;所述下降趋势表 示所述带宽值呈现变化,且所述变化为下降。
在本申请的一个实施例中,所述多个类型的区间包括第一区间和第二区间,所述第一区间用于表示所述带宽呈现变化,所述第二区间用于表示所述带宽未呈现变化。
所述区间聚类模块403包括:第一区间聚类模块,设置为在所述多个带宽值中连续多个带宽值的变化趋势相同、且所述连续多个带宽值呈现变化的情况下,将所述连续多个带宽值聚类至标识所述变化的第一区间;第二区间聚类模块,设置为将所述多个带宽值中除所述第一区间之外的其他带宽值聚类至第二区间。
在本申请的一个实施例中,所述第一区间聚类模块包括:第一比较模块,设置为将每个所述带宽值的变化趋势与上一带宽值的变化趋势进行比较;第一累加模块,设置为在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为上升趋势的情况下,对预设的变量累加一;上升区间聚类模块,设置为在所述预设的变量大于预设的阈值的情况下,将连续多个带宽值聚类至标识上升的第一区间,其中所述连续多个带宽值中带宽值的数量等于所述预设的变量;第二累加模块,设置为在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为下降趋势的情况下,对预设的变量累加一;下降区间聚类模块,设置为在所述预设的变量大于预设的阈值的情况下,将连续多个带宽值聚类至标识下降的第一区间,其中所述连续多个带宽值中带宽值的数量等于所述预设的变量;变量清零模块,设置为在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势不同的情况下,或者,在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为无趋势的情况下,将预设的变量置为零。
本申请实施例所提供的服务调整装置可执行本申请任意实施例所提供的服务调整方法,具备执行方法相应的功能模块。
实施例五
图5为本申请实施例五提供的一种计算机设备的结构示意图。图5示出了适于用来实现本申请实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture,ISA)总线,微通道体系结构(MicroChannel Architecture,MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM),数字视频光盘只读存储器(Digital Video Disc Read-Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示, 网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的带宽预测器的设置、服务调整方法。
实施例六
本申请实施例六还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述带宽预测器的设置方法、服务调整方法的各个过程,为避免重复,这里不再赘述。
计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Erasable Programmable read only memory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
Claims (12)
- 一种带宽预测器的设置方法,包括:分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;识别所述多个带宽值中每个带宽值呈现的变化趋势;根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;为每个类型的区间设置带宽预测器,为所述每个类型的区间设置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值,所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务。
- 根据权利要求1所述的方法,其中,所述识别所述多个带宽值中每个带宽值呈现的变化趋势,包括:对所述多个带宽值添加窗口;滑动所述窗口;在所述窗口滑动的过程中,计算所述窗口内最新的带宽值相对于所述窗口内所有所述带宽值呈现的变化趋势。
- 根据权利要求1或2所述的方法,其中,所述带宽值的变化趋势包括无趋势、上升趋势、下降趋势中的至少一种;其中,所述无趋势表示所述带宽值未呈现变化;所述上升趋势表示所述带宽值呈现变化,且所述变化为上升;所述下降趋势表示所述带宽值呈现变化,且所述变化为下降。
- 根据权利要求1所述的方法,其中,所述多个类型的区间包括第一区间和第二区间,所述第一区间用于表示所述带宽呈现变化,所述第二区间用于表示所述带宽未呈现变化;所述根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,包括:在所述多个带宽值中连续多个带宽值的变化趋势相同、且所述连续多个带宽值呈现变化的情况下,将所述连续多个带宽值聚类至标识所述变化的第一区间;将所述多个带宽值中除所述第一区间之外的其他带宽值聚类至第二区间。
- 根据权利要求4所述的方法,其中,所述在所述多个带宽值中连续多个带宽值的变化趋势相同、且所述连续多个带宽值呈现变化的情况下,将所述连续多个带宽值聚类至标识所述变化的第一区间,包括:将每个所述带宽值的变化趋势与上一带宽值的变化趋势进行比较;在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为上升趋势的情况下,对预设的变量累加一;在所述预设的变量大于预设的阈值的情况下,将连续多个带宽值聚类至标识上升的第一区间,其中,所述连续多个带宽值中带宽值的数量等于所述预设的变量;在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为下降趋势的情况下,对预设的变量累加一;在所述预设的变量大于预设的阈值的情况下,将连续多个带宽值聚类至标识下降的第一区间,其中,所述连续多个带宽值中带宽值的数量等于所述预设的变量;在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势不同的情况下,或者,在所述每个带宽值的变化趋势与所述上一带宽值的变化趋势均为无趋势的情况下,将预设的变量置为零。
- 根据权利要求1-5任一项所述的方法,其中,所述服务端的数量为多个,所述客户端的数量为多个;所述分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值,包括:分别在多个连续的时间点检测每一服务端与每一客户端之间的带宽,得到每一服务端与每一客户端之间的多个带宽值;所述识别所述多个带宽值中每个带宽值呈现的变化趋势,包括:识别每一服务端与每一客户端之间的多个带宽值中每个带宽值呈现的变化趋势;所述根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,包括:根据每一服务端与每一客户端之间的多个带宽值的变化趋势将每一服务端与每一客户端之间的多个带宽值聚类为多个类型的区间;所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务,包括:根据每一服务端与每一客户端之间的每个类型的区间中的带宽值预测出的下一个时间点的带宽值调整所述每一服务端为所述每一客户端提供的服务;为每个类型的区间设置带宽预测器,包括:为所有类型的区间配置多种带宽预测器组合,其中,每种带宽预测器组合包括为所述多个类型的区间分别设置的多个带宽预测器;调用每种带宽预测器组合中为每种类型的区间设置的带宽预测器,根据每一服务端与每一客户端之间的所述每种类型的区间中的带宽值预测下一个时间点的带宽值;在使用全部下一个时间点的带宽值中每一下一个时间点的带宽值调整所述每一下一个时间点的带宽值对应的服务的条件下,计算每个服务端为每个客户端提供服务时的质量,并将每个质量作为一个单体质量;计算所述全部单体质量之间的和值,并将所述和值作为全部服务端为全部客户端提供服务时的整体质量;针对不同带宽预测器组合对应的所述整体质量,确定所述整体质量最大的所述带宽预测器组合为为所有类型的区间设置的带宽预测器组合。
- 根据权利要求6所述的方法,其中,所述服务包括视频服务;所述计算每个服务端为每个客户端提供服务时的质量,并将每个质量作为一个单体质量,包括:预测每个服务端为每个客户端提供视频服务时的码率和卡顿率;计算所述码率与预设的第一权重之间的第一乘积;计算所述卡顿率与预设的第二权重之间的第二乘积;将所述第一乘积减去所述第二乘积,将所述第一乘积减去所述第二乘积的结果作为所述每个服务端为所述每个客户端提供视频服务时的单体质量。
- 一种服务调整方法,包括:分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;识别所述多个带宽值中每个带宽值呈现的变化趋势;根据所述多个带宽值的变化趋势将所述多个带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;查询为每个类型的区间配置的带宽预测器,为所述每个类型的区间配置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值;根据所述下一个时间点的带宽值调整所述服务,以优化所述服务端为所述客户端提供的服务的整体质量。
- 一种带宽预测器的设置装置,包括:带宽值检测模块,设置为分别在多个连续的时间点检测服务端与客户端之间的带宽,得到多个带宽值;变化趋势识别模块,设置为识别所述多个带宽值中每个带宽值呈现的变化趋势;区间聚类模块,设置为根据所述多个带宽值的变化趋势将所述多个所述带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;带宽预测器设置模块,设置为为每个类型的区间设置带宽预测器,为所述每个类型的区间设置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值,所述下一个时间点的带宽值用于调整所述服务端为所述客户端提供的服务。
- 一种服务调整装置,包括:带宽值检测模块,设置为分别在多个连续的时间点检测所服务端与客户端之间的带宽,得到多个带宽值;变化趋势识别模块,设置为识别所述多个带宽值中每个带宽值呈现的变化趋势;区间聚类模块,设置为根据所述多个带宽值的变化趋势将所述多个所述带宽值聚类为多个类型的区间,所述多个类型的区间用于表示所述带宽的多种变化趋势;带宽预测器查找模块,设置为查询为每个类型的区间配置的带宽预测器,为所述每个类型的区间配置的带宽预测器用于根据所述每个类型的区间中的所述带宽值预测下一个时间点的带宽值;服务调整模块,设置为根据所述下一个时间点的带宽值调整所述服务,以优化所述服务端为所述客户端提供的服务的整体质量。
- 一种计算机设备,包括:至少一个处理器;存储器,设置为存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,所述至少一个处理器实现如权利要求1-7中任一项所述的带宽预测器的设置方法或者如权利要求8所述的服务调整方法。
- 一种计算机可读存储介质,存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的带宽预测器的设置方法或者如权利要求8所述的服务调整方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442450.6A CN113114540B (zh) | 2021-04-23 | 2021-04-23 | 一种带宽预测器的设置、服务调整方法及相关装置 |
CN202110442450.6 | 2021-04-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022222906A1 true WO2022222906A1 (zh) | 2022-10-27 |
Family
ID=76719639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/087573 WO2022222906A1 (zh) | 2021-04-23 | 2022-04-19 | 带宽预测器的设置、服务调整方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113114540B (zh) |
WO (1) | WO2022222906A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114540B (zh) * | 2021-04-23 | 2024-03-01 | 百果园技术(新加坡)有限公司 | 一种带宽预测器的设置、服务调整方法及相关装置 |
CN115460659B (zh) * | 2022-11-09 | 2023-02-03 | 江苏云舟通信科技有限公司 | 用于带宽调节的无线通信数据分析系统 |
CN118509327A (zh) * | 2024-07-22 | 2024-08-16 | 海马云(天津)信息技术有限公司 | 下载带宽调整方法与装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368811A (zh) * | 2012-04-06 | 2013-10-23 | 华为终端有限公司 | 带宽分配方法和设备 |
CN103905272A (zh) * | 2014-03-19 | 2014-07-02 | 珠海世纪鼎利通信科技股份有限公司 | 一种无线网络的可用带宽测量方法及系统 |
US20160234078A1 (en) * | 2015-02-11 | 2016-08-11 | At&T Intellectual Property I, Lp | Method and system for managing service quality according to network status predictions |
CN109996087A (zh) * | 2019-03-21 | 2019-07-09 | 武汉大学 | 一种基于有限状态机的面向视频直播的码率自适应方法及装置 |
CN112019384A (zh) * | 2020-08-24 | 2020-12-01 | 广州市百果园信息技术有限公司 | 带宽预测方法、装置、设备及存储介质 |
CN113114540A (zh) * | 2021-04-23 | 2021-07-13 | 百果园技术(新加坡)有限公司 | 一种带宽预测器的设置、服务调整方法及相关装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6512743B1 (en) * | 1999-04-15 | 2003-01-28 | Cisco Technology, Inc. | Bandwidth allocation for ATM available bit rate service |
JP4755066B2 (ja) * | 2006-10-30 | 2011-08-24 | 富士通株式会社 | 帯域制御装置および帯域制御方法 |
US9396444B2 (en) * | 2011-12-22 | 2016-07-19 | Adobe Systems Incorporated | Predictive analytics with forecasting model selection |
US9948539B2 (en) * | 2014-08-29 | 2018-04-17 | The Nielsen Company (Us), Llc | Methods and apparatus to predict end of streaming media using a prediction model |
CN105471759B (zh) * | 2016-01-11 | 2018-06-01 | 北京百度网讯科技有限公司 | 数据中心的网络流量调度方法和装置 |
US10867421B2 (en) * | 2016-02-29 | 2020-12-15 | Oracle International Corporation | Seasonal aware method for forecasting and capacity planning |
US20180123901A1 (en) * | 2016-10-31 | 2018-05-03 | Level 3 Communication, Llc | Distributed calculation of customer bandwidth utilization models |
CN108011771A (zh) * | 2016-11-01 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 网络链路可用带宽的探测方法、装置和设备 |
CN107135125B (zh) * | 2017-05-17 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 视频idc带宽流量预测方法及装置 |
CN109040855B (zh) * | 2018-09-03 | 2021-01-29 | 重庆邮电大学 | 一种无线dash流媒体码率平滑自适应传输方法 |
CN110474852B (zh) * | 2019-08-01 | 2023-06-20 | 网宿科技股份有限公司 | 一种带宽调度方法及装置 |
-
2021
- 2021-04-23 CN CN202110442450.6A patent/CN113114540B/zh active Active
-
2022
- 2022-04-19 WO PCT/CN2022/087573 patent/WO2022222906A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368811A (zh) * | 2012-04-06 | 2013-10-23 | 华为终端有限公司 | 带宽分配方法和设备 |
CN103905272A (zh) * | 2014-03-19 | 2014-07-02 | 珠海世纪鼎利通信科技股份有限公司 | 一种无线网络的可用带宽测量方法及系统 |
US20160234078A1 (en) * | 2015-02-11 | 2016-08-11 | At&T Intellectual Property I, Lp | Method and system for managing service quality according to network status predictions |
CN109996087A (zh) * | 2019-03-21 | 2019-07-09 | 武汉大学 | 一种基于有限状态机的面向视频直播的码率自适应方法及装置 |
CN112019384A (zh) * | 2020-08-24 | 2020-12-01 | 广州市百果园信息技术有限公司 | 带宽预测方法、装置、设备及存储介质 |
CN113114540A (zh) * | 2021-04-23 | 2021-07-13 | 百果园技术(新加坡)有限公司 | 一种带宽预测器的设置、服务调整方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113114540A (zh) | 2021-07-13 |
CN113114540B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022222906A1 (zh) | 带宽预测器的设置、服务调整方法及装置 | |
US8560667B2 (en) | Analysis method and apparatus | |
US10541931B2 (en) | Data congestion control in hierarchical sensor networks | |
US8112546B2 (en) | Routing users to receive online services based on online behavior | |
CN112703487B (zh) | 在数据中心中分层收集样本 | |
US8145614B1 (en) | Selection of a data path based on the likelihood that requested information is in a cache | |
US10129332B2 (en) | Load balancing of distributed services | |
US7688753B1 (en) | Selection of a data path based on one or more performance characteristics of a computer system | |
US20150341239A1 (en) | Identifying Problems In A Storage Area Network | |
US20170019308A1 (en) | Server outlier detection | |
JPWO2008102739A1 (ja) | 仮想サーバシステム及び物理サーバ選択方法 | |
US20140067898A1 (en) | Cost-aware cloud-based content delivery | |
US10366110B2 (en) | Load balancing for multi-tiered querying | |
CN112835698A (zh) | 一种基于异构集群的请求分类处理的动态负载均衡方法 | |
CN106357789B (zh) | 一种信息访问控制方法、服务器及计算机可读存储介质 | |
US7817562B1 (en) | Methods and systems for back end characterization using I/O sampling | |
US12047658B2 (en) | Control apparatus, control method, and program | |
CN109413694B (zh) | 一种基于内容流行度预测的小小区缓存方法及装置 | |
CN113453045A (zh) | 网络带宽预测方法、系统、设备及存储介质 | |
Akhtar et al. | Avic: a cache for adaptive bitrate video | |
CN114564313A (zh) | 负载调整方法、装置、电子设备及存储介质 | |
US20070067369A1 (en) | Method and system for quantifying and comparing workload on an application server | |
US11144427B2 (en) | Storage system performance models based on empirical component utilization | |
CN113760550A (zh) | 资源分配方法和资源分配装置 | |
Zhang et al. | Proactive Data Placement for Surveillance Video Processing in Heterogeneous Cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22791014 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22791014 Country of ref document: EP Kind code of ref document: A1 |