Server resource allocation method and apparatus, and computer device and storage medium
By predicting the number of channel switching requests and dynamically adjusting server resources, the problem of channel switching requests in fast channel switching technology cannot be responded in time, and a faster channel switching rate is achieved.
Patent Information
- Application Number
- PCT/CN2024/114497
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-04
- Filing Date
- 2024-08-26
- Publication Date
- 2025-03-13
AI Technical Summary
In the fast channel switching technology, when the number of channel switching requests for a certain channel exceeds the maximum number of responses of its corresponding fast channel switching server, some channel switching requests cannot respond in time, resulting in an increase in the channel switching time.
By predicting the number of requests for the target time period based on the channel information of the channel to be allocated and the number of historical requests for each historical time period, the number of requests for the target time period is determined based on the number of predicted requests and the maximum number of responses of the candidate server, the number of allocated responses is determined, thereby dynamically adjusting the target server to respond to channel switching requests in a timely manner within the target time period.
This method can effectively shorten the channel switching time, increase the channel switching speed, and ensure that channel switching requests can be responded in a timely manner.
Smart Images

Figure CN2024114497_13032025_PF_FP_ABST
Abstract
Description
Server resource allocation method, device, computer equipment and storage medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 4, 2023, with application number 2023111300691, and application name “Server Resource Allocation Method, Device, Computer Equipment and Storage Medium”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of artificial intelligence technology, and in particular to a server resource allocation method, apparatus, computer equipment, storage medium, and computer program product. Background Art
[0003] Fast Channel Change (FCC) technology is a technology that reduces the channel switching time of IPTV (Internet Protocol Television). After receiving the channel switching request, the fast channel switching server sends a unicast program stream starting with an I (Intra-frame) frame to the set-top box. Because the decoding of I frames does not depend on other frames, the set-top box can quickly decode and display the images of the unicast program stream, thereby improving the channel switching time.
[0004] In the related art, each channel is configured with a corresponding fast channel switching server. When the number of channel switching requests corresponding to a certain channel is greater than the maximum response number of the corresponding fast frequency band switching server, some channel switching requests cannot be responded in time, thereby increasing the channel switching time.
[0005] Summary of the Invention
[0006] Based on this, it is necessary to provide a server resource allocation method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve the channel switching rate in response to the above technical problems.
[0007] In a first aspect, the present application provides a method for allocating server resources. The method comprises:
[0008] Determining a predicted number of requests corresponding to a target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period;
[0009] For each of the channels to be allocated, determining a satisfaction level of the channel to be allocated based on the non-response ratio corresponding to each of the historical time periods and the predicted number of requests corresponding to the target time period;
[0010] Obtaining a candidate server identifier corresponding to the target time period and a maximum response number corresponding to the candidate server identifier, and determining an allocation response number corresponding to each of the channels to be allocated based on the satisfaction level of each of the channels to be allocated and the maximum response number corresponding to each of the candidate server identifiers;
[0011] For each of the channels to be allocated, based on the number of allocation responses corresponding to the channel to be allocated, the target server identifier corresponding to the channel to be allocated is determined from the candidate server identifiers; the target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
[0012] In one embodiment, determining the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period includes:
[0013] Checking the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period to obtain a check result;
[0014] When the inspection result is normal, the channel information and the number of historical requests corresponding to each of the historical time periods are input into a target prediction model to obtain the predicted number of requests corresponding to the to-be-allocated channel in the target time period.
[0015] In one embodiment, determining the satisfaction level of each channel to be allocated based on the unresponse ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period includes:
[0016] Averaging the non-response ratios corresponding to the multiple historical time periods to obtain a target non-response ratio;
[0017] Based on the target non-response ratio, obtaining a target response ratio corresponding to the to-be-allocated channel;
[0018] Normalizing the number of predicted requests corresponding to the to-be-allocated channel in the target time period to obtain a predicted request ratio corresponding to the to-be-allocated channel in the target time period;
[0019] The satisfaction level of the channel to be allocated is determined based on the target response ratio of the channel to be allocated and the predicted request ratio corresponding to the target time period.
[0020] In one embodiment, determining the allocation response number corresponding to each of the to-be-allocated channels based on the satisfaction level of each of the to-be-allocated channels and the maximum response number corresponding to each of the candidate server identifiers includes:
[0021] determining an allocation function based on the satisfaction level of each of the channels to be allocated and an allocation response parameter;
[0022] determining a first constraint condition based on the allocation response parameters of the channels to be allocated and the predicted number of requests corresponding to the channels to be allocated in the target time period;
[0023] determining a second constraint condition based on the allocation response parameters of each of the channels to be allocated and the maximum number of responses corresponding to each of the candidate server identifiers;
[0024] Based on the allocation function, the first constraint condition and the second constraint condition, the allocation response number corresponding to each of the to-be-allocated channels is determined.
[0025] In one embodiment, the first constraint condition is that the allocation response parameter corresponding to the channel to be allocated is less than or equal to the predicted number of requests corresponding to the channel to be allocated; the second constraint condition is that the statistical value of the allocation response parameter corresponding to each of the channels to be allocated is less than or equal to the statistical value of the maximum number of responses corresponding to each of the candidate server identifiers.
[0026] In one embodiment, determining the number of allocation responses corresponding to each of the to-be-allocated channels based on the allocation function, the first constraint, and the second constraint includes:
[0027] determining a maximum value of the allocation function based on the first constraint and the second constraint;
[0028] When the allocation function reaches a maximum value, the parameter value of the allocation response parameter corresponding to the channel to be allocated is determined as the allocation response number corresponding to the channel to be allocated.
[0029] In one embodiment, the method further comprises: after determining, for each of the channels to be allocated, the target server identifier corresponding to the channel to be allocated from the candidate server identifiers based on the number of allocation responses corresponding to the channel to be allocated,
[0030] For the target server identifier, generating allocation information corresponding to the target server identifier based on the target time period and the to-be-allocated channel corresponding to the target server identifier;
[0031] The allocation information is sent to the target server.
[0032] In a second aspect, the present application further provides a server resource allocation device. The device comprises:
[0033] a prediction module, configured to determine a predicted number of requests corresponding to a target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period;
[0034] a determination module configured to determine, for each of the channels to be allocated, a satisfaction level of the channel to be allocated based on the non-response ratio corresponding to each of the historical time periods and the predicted number of requests corresponding to the target time period;
[0035] a solution module, configured to obtain a candidate server identifier corresponding to the target time period and a maximum response number corresponding to the candidate server identifier, and determine an allocation response number corresponding to each of the channels to be allocated based on the satisfaction level of each of the channels to be allocated and the maximum response number corresponding to each of the candidate server identifiers;
[0036] An allocation module is used to determine, for each of the channels to be allocated, a target server identifier corresponding to the channel to be allocated from the candidate server identifiers based on the number of allocation responses corresponding to the channel to be allocated; the target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
[0037] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of any one of the methods described in the first aspect when executing the computer program.
[0038] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of any one of the methods described in the first aspect when the computer program is executed by a processor.
[0039] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which implements the steps of any one of the methods described in the first aspect when executed by a processor.
[0040] The above-mentioned server resource allocation method, apparatus, computer equipment, storage medium and computer program product determine the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period; for each channel to be allocated, determine the satisfaction level of the channel to be allocated based on the non-response ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period; obtain the candidate server identifier corresponding to the target time period and the maximum number of responses corresponding to the candidate server identifier, and determine the allocation response number corresponding to each channel to be allocated based on the satisfaction level of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier; for each channel to be allocated, determine the target server identifier corresponding to the channel to be allocated from the candidate server identifiers based on the allocation response number corresponding to the channel to be allocated; the target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period. Through the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period, the number of requests corresponding to the target time period of the channel to be allocated is predicted to obtain the predicted number of requests, and then the number of allocation responses allocated to the channel to be allocated in the target time period is determined based on the predicted number of requests and the maximum number of responses corresponding to the candidate server identifier, and then the target server identifier allocated to the channel to be allocated in the target time period is determined based on the number of allocation responses, that is, according to the predicted number of requests for the channel to be allocated in the target time period, the target server corresponding to the channel to be allocated is dynamically adjusted, and the target server processes the channel switching request corresponding to the channel to be allocated in the target time period, reducing the channel switching requests with delayed responses, thereby shortening the channel switching time and improving the channel switching rate. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] FIG1 is an application environment diagram of a server resource allocation method according to an embodiment;
[0042] FIG2 is a schematic diagram of a flow chart of a method for allocating server resources in one embodiment;
[0043] FIG3 is a schematic diagram of determining the number of allocated responses in one embodiment;
[0044] FIG4 is a schematic diagram of a satisfaction determination process in one embodiment;
[0045] FIG5 is a schematic diagram of a process for determining the number of allocated responses in one embodiment;
[0046] FIG6 is a schematic diagram of a server resource allocation solution in one embodiment;
[0047] FIG7 is a structural block diagram of a server resource allocation device in one embodiment;
[0048] FIG8 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0050] The server resource allocation method provided in the embodiment of the present application can be applied to the application environment shown in Figure 1. In this case, the terminal 102 communicates with the server 104 via a network. The data storage system can store data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. Both the terminal and the server can be used independently to execute the server resource allocation method provided in the embodiment of the present application. The terminal and the server can also be used in conjunction to execute the server resource allocation method provided in the embodiment of the present application. For example, terminal 102 determines the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period. For each channel to be allocated, the satisfaction level of the channel to be allocated is determined based on the unresponse ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period. A candidate server identifier corresponding to the target time period and the maximum number of responses corresponding to the candidate server identifier are obtained, and based on the satisfaction level of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier, the number of allocated responses corresponding to each channel to be allocated is determined. For each channel to be allocated, a target server identifier corresponding to the channel to be allocated is determined from the candidate server identifiers based on the number of allocated responses corresponding to the channel to be allocated. The target server corresponding to the target server identifier is configured to respond to channel switching requests corresponding to the channel to be allocated within the target time period. Terminal 102 may be, but is not limited to, various personal computers, laptops, smartphones, tablet computers, IoT devices, and portable wearable devices, and server 104 may be implemented as a server cluster consisting of multiple servers.
[0051] In one embodiment, as shown in FIG. 2 , a server resource allocation method is provided. This embodiment is described by taking the method applied to a computer device as an example, and includes steps 202 to 208 .
[0052] Step 202 : determining the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period.
[0053] In one embodiment, the channels to be allocated refer to television channels in an Internet Protocol Television (IPTV). The channels to be allocated may be all or some of the channels in the IPTV. The channels to be allocated can be set based on actual needs. For example, the channels to be allocated may be television channels whose average daily number of channel switching requests exceeds a preset number of requests. Channel information refers to relevant information about the channels to be allocated, including but not limited to channel type and channel region. The historical time period refers to a time period in the past, and the target time period refers to a time period in the future. The length of the historical time period is equal to the length of the future time period, and the time period of the historical time period is the same as the time period of the future time period. For example, if the current date is January 10, the historical time periods are 8:00-12:00 on January 7, 8:00-12:00 on January 8, and 8:00-12:00 on January 9, and the target time period is 8:00-12:00 on January 11. The historical request count refers to the statistical number of channel switch requests corresponding to the to-be-allocated channel during the historical time period. This can be understood as the statistical number of channel switch requests received by the fast channel switch server during the historical time period to switch to the to-be-allocated channel. The predicted request count refers to the number of channel switch requests that the fast channel switch server is likely to receive during the target time period to switch to the to-be-allocated channel. This can be understood as the number of channel switch requests for the to-be-allocated channel during the target time period, obtained by predicting the number of channel switch requests for the to-be-allocated channel during the target time period.
[0054] Exemplarily, the computer device obtains the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period, and based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period, predicts the number of channel switching requests for the channel to be allocated in the target time period, and obtains the predicted number of requests corresponding to the target time period of the channel to be allocated.
[0055] Step 204 : For each channel to be allocated, the satisfaction level of the channel to be allocated is determined based on the non-response ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period.
[0056] The "unresponsiveness ratio" refers to the ratio of unresponsive channel switching requests to all channel switching requests within a historical time period. This can be understood as the ratio between the difference between the statistical number of channel switching requests within the historical time period and the maximum number of responses from the corresponding fast channel switching server, and the difference between the statistical number. The "satisfaction" coefficient is the coefficient that achieves a relatively balanced allocation of server resources. The satisfaction level corresponds one-to-one with the channels to be allocated. The satisfaction level of a channel to be allocated is determined by the unresponsiveness ratio corresponding to each historical time period of the channel to be allocated and the predicted number of requests for the target time period. The satisfaction level is inversely proportional to the unresponsiveness ratio and inversely proportional to the predicted number of requests.
[0057] Exemplarily, for each channel to be allocated, the computer device obtains the non-response ratio corresponding to each historical time period of the channel to be allocated, and determines the satisfaction of the channel to be allocated based on the non-response ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period.
[0058] In one embodiment, a computer device obtains the non-response ratio corresponding to each historical time period of the channel to be allocated, including: for each historical time period, the computer device obtains the statistical number of channel switching requests corresponding to the historical time period of the channel to be allocated, and the fast channel switching server identifier corresponding to the historical time period of the channel to be allocated, counts the maximum number of responses corresponding to the fast channel switching server identifier corresponding to the historical time period to obtain the maximum response statistical number, subtracts the maximum response statistical number from the statistical number to obtain the timeout response number, divides the timeout response number by the statistical number to obtain the non-response ratio corresponding to the historical time period of the channel to be allocated.
[0059] Step 206: Obtain the candidate server identifier corresponding to the target time period and the maximum response number corresponding to the candidate server identifier, and determine the allocation response number corresponding to each channel to be allocated based on the satisfaction level of each channel to be allocated and the maximum response number corresponding to each candidate server identifier.
[0060] In one embodiment, the candidate server identifier is the identifier of a fast channel switching server that responds to channel switching requests within a target time period. The maximum response number is the maximum number of channel switching requests that the candidate server can respond to within the target time period. The allocated response number is the number of channel switching requests that the candidate server assigned to the channel to be allocated can handle.
[0061] Exemplarily, the computer device obtains the candidate server identifier corresponding to the target time period and the maximum response number corresponding to the candidate server identifier, and determines the allocation response number corresponding to each channel to be allocated based on the satisfaction level of each channel to be allocated and the maximum response number corresponding to each candidate server identifier.
[0062] In one embodiment, a computer device obtains a candidate server identifier corresponding to a target time period and a maximum number of responses corresponding to the candidate server identifier, determines an allocation function and constraints based on the satisfaction of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier, and determines the number of allocated responses corresponding to each channel to be allocated based on the allocation function and the constraints.
[0063] Step 208: for each channel to be allocated, based on the number of allocation responses corresponding to the channel to be allocated, determine the target server identifier corresponding to the channel to be allocated from the candidate server identifiers; the target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
[0064] In one embodiment, the target server identifier is an identifier of a fast channel switching server assigned to a channel to be assigned. The target server is the fast channel switching server assigned to a channel to be assigned. A channel switching request is a request to switch from one television channel to the channel to be assigned, and the channel switching request is sent by a set-top box to the fast channel switching server.
[0065] Exemplarily, for each channel to be allocated, the computer device determines the target server identifier corresponding to the channel to be allocated from the candidate server identifiers based on the allocation response number corresponding to the channel to be allocated; the target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
[0066] In one embodiment, for each channel to be allocated, the computer device determines, from the candidate server identifiers, a target server identifier corresponding to the channel to be allocated and a target number of responses corresponding to the target server identifier based on the number of allocation responses corresponding to the channel to be allocated. The target server corresponding to the target server identifier is configured to respond to the target number of channel switching requests corresponding to the channel to be allocated within a target time period. The target number of responses refers to the number of channel switching requests corresponding to the channel to be allocated that the target server responds to within the target time period, and the target number of responses is less than or equal to the maximum number of responses corresponding to the target server identifier.
[0067] The above-mentioned server resource allocation method predicts the number of requests corresponding to the target time period of the channel to be allocated through the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period to obtain the predicted number of requests, and then determines the number of allocation responses allocated to the channel to be allocated in the target time period based on the predicted number of requests and the maximum number of responses corresponding to the candidate server identifier, and then determines the target server identifier allocated to the channel to be allocated in the target time period based on the number of allocation responses, that is, according to the predicted number of requests of the channel to be allocated in the target time period, dynamically adjusts the target server corresponding to the channel to be allocated, and processes the channel switching request corresponding to the channel to be allocated in the target time period, reducing the channel switching requests with delayed responses, thereby shortening the channel switching time and improving the channel switching rate.
[0068] In one embodiment, determining the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period includes:
[0069] The channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period are checked to obtain an inspection result; if the inspection result is normal, the channel information and the number of historical requests corresponding to each historical time period are input into the target prediction model to obtain the predicted number of requests corresponding to the channel to be allocated in the target time period.
[0070] Among them, the inspection refers to the review of the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period. The inspection includes but is not limited to integrity inspection and abnormality inspection. The integrity inspection refers to the inspection of whether the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period are complete. The abnormality inspection refers to the inspection of whether the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period are abnormal. The inspection result refers to the result obtained by inspecting the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period. The inspection results include normal and abnormal. Normal means that the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period meet the preset requirements. Abnormal means that the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period contain information or data that does not meet the preset requirements. The target prediction model refers to a neural network model that predicts the number of channel switching requests for the channel to be assigned in the target time period based on the channel information of the channel to be assigned and the number of historical requests corresponding to each historical time period. The target prediction model is a trained neural network model. The target prediction model is a deep learning model, which can be one of the RNN (Recurrent Neural Network) model, GRU (Gated Recurrent Unit) model, LSTM (Long Short-Term Memory) model, etc., and is not limited here.
[0071] Exemplarily, the computer device checks the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period to obtain an inspection result. If the inspection result is normal, the channel information and the number of historical requests corresponding to each historical time period are input into the target prediction model to obtain the predicted number of requests corresponding to the channel to be allocated in the target time period.
[0072] In one embodiment, a computer device checks channel information and multiple time period sets for a channel to be assigned, obtaining a check result, wherein each time period set includes historical request counts for multiple historical time periods corresponding to the same time period. If the check result is normal, the channel information and multiple time period sets are input into a target prediction model to obtain predicted request counts for the channel to be assigned in multiple future time periods, respectively. One of the future time periods is determined as a target time period, and the predicted request count corresponding to the target time period is obtained. For example, as shown in FIG3 , the input historical request counts include three historical time periods from 8:00 to 12:00, and the historical request counts corresponding to the historical time period from 8:00 to 12:00. The three historical time periods from 8:00 to 12:00 and the historical request counts corresponding to the historical time period from 8:00 to 12:00 constitute a time period set corresponding to the time period from 8:00 to 12:00. The result input into the target prediction model includes predicted request counts corresponding to multiple future time periods, and each future time period can be used as a target time period.
[0073] In this embodiment, the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period are checked, and the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period whose inspection results are normal are input into the target prediction model to ensure that the input data of the target prediction model meets the preset requirements. The target prediction model is a trained neural network model, thereby improving the accuracy of the predicted number of requests corresponding to the channel to be allocated in the target time period.
[0074] In one embodiment, as shown in FIG4 , for each channel to be allocated, the satisfaction level of the channel to be allocated is determined based on the unresponse ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period, including:
[0075] Step 402 : Average the non-response ratios corresponding to multiple historical time periods to obtain a target non-response ratio.
[0076] Exemplarily, the computer device averages the non-response ratios corresponding to multiple historical time periods to obtain a target non-response ratio.
[0077] Step 404: Obtain a target response ratio corresponding to the to-be-allocated channel based on the target non-response ratio.
[0078] Exemplarily, the computer device subtracts the target non-response ratio from one to obtain the target response ratio corresponding to the channel to be allocated.
[0079] Step 406 , normalize the number of predicted requests corresponding to the to-be-allocated channels in the target time period to obtain a predicted request ratio corresponding to the to-be-allocated channels in the target time period.
[0080] Normalization processing refers to a data processing method that processes data and limits it to a certain fixed range, for example, normalization processing that limits data to between 0 and 1.
[0081] Exemplarily, the computer device counts the predicted number of requests corresponding to each channel to be allocated in the target time period to obtain the predicted request statistics. For each channel to be allocated, the predicted number of requests for the channel to be allocated in the target time period is divided by the predicted request statistics to obtain the predicted request ratio corresponding to the channel to be allocated in the target time period.
[0082] Step 408 : Determine the satisfaction level of the channel to be allocated based on the target response ratio of the channel to be allocated and the predicted request ratio corresponding to the target time period.
[0083] Exemplarily, for each channel to be allocated, the computer device subtracts the predicted request ratio of the channel to be allocated in the target time period from one to obtain other predicted request ratios of other channels to be allocated in the target time period, and merges the other predicted request ratios with the target response ratio of the channel to be allocated in the target time period to obtain the satisfaction of the channel to be allocated.
[0084] In one embodiment, the satisfaction level of the channel to be allocated is: S i =(1-P i )*(1-norm(a i )) Formula (1)
[0085] Where i is the sequence number of the channel to be allocated, Si is the satisfaction of the i-th channel to be allocated, Pi is the target non-response ratio of the i-th channel to be allocated, ai is the predicted number of requests for the i-th channel to be allocated in the target time period, and norm is the normalization function.
[0086] In this embodiment, the satisfaction level of the to-be-allocated channel is determined based on the non-response ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period, providing basic data for the subsequent construction of an allocation function.
[0087] In one embodiment, as shown in FIG5 , based on the satisfaction of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier, determining the number of allocation responses corresponding to each channel to be allocated includes:
[0088] Step 502: Determine an allocation function based on the satisfaction level of each channel to be allocated and the allocation response parameter.
[0089] The allocation response parameter is a variable that represents the number of allocation responses for a channel to be allocated, and the allocation response parameter corresponds to each channel to be allocated. The allocation function is a function used to determine the number of allocation responses for each channel to be allocated, and the allocation function includes the allocation response parameter corresponding to each channel to be allocated.
[0090] Exemplarily, the computer device determines the allocation function based on the satisfaction level of each to-be-allocated channel and the allocation response parameter.
[0091] In one embodiment, the allocation function is as follows:
[0092] Wherein, i is the serial number of the channel to be allocated, n is the total number of channels to be allocated, Si is the satisfaction of the i-th channel to be allocated, and Ai is the allocation response parameter of the i-th channel to be allocated.
[0093] Step 504 : determining a first constraint condition based on the allocation response parameters of each channel to be allocated and the predicted number of requests corresponding to each channel to be allocated in the target time period.
[0094] In one embodiment, the first constraint condition refers to a condition constraining an allocation response parameter of each channel to be allocated.
[0095] Exemplarily, the computer device determines the first constraint condition based on the allocation response parameters of each channel to be allocated and the predicted number of requests corresponding to each channel to be allocated in the target time period.
[0096] Step 506: Determine a second constraint condition based on the allocation response parameters of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier.
[0097] In one embodiment, the second constraint condition refers to a condition constraining statistical values of allocation response parameters of a plurality of channels to be allocated.
[0098] Exemplarily, the computer device determines the second constraint condition based on the allocation response parameters of each to-be-allocated channel and the maximum number of responses corresponding to each candidate server identifier.
[0099] Step 508: Determine the number of allocation responses corresponding to each channel to be allocated based on the allocation function, the first constraint condition, and the second constraint condition.
[0100] Exemplarily, the computer device determines the number of allocation responses corresponding to each to-be-allocated channel based on the allocation function, the first constraint condition, and the second constraint condition.
[0101] In this embodiment, based on the allocation function, the first constraint condition and the second constraint condition, the allocation response number corresponding to each channel to be allocated is determined, and the allocation response number corresponding to each channel to be allocated is dynamically adjusted, providing basic data for the subsequent determination of the target server corresponding to each channel to be allocated.
[0102] In one embodiment, the first constraint condition is that the allocation response parameter corresponding to the channel to be allocated is less than or equal to the predicted number of requests corresponding to the channel to be allocated; the second constraint condition is that the statistical value of the allocation response parameter corresponding to each channel to be allocated is less than or equal to the statistical value of the maximum number of responses corresponding to each candidate server identifier.
[0103] Exemplarily, the first constraint condition is that the allocation response parameter corresponding to each channel to be allocated is less than or equal to the predicted number of requests corresponding to the channel to be allocated, and the second constraint condition is that the statistical value of the allocation response parameter corresponding to each channel to be allocated is less than or equal to the statistical value of the maximum number of responses corresponding to each candidate server identifier.
[0104] In one embodiment, the first constraint and the second constraint are respectively as follows: A i ≤a i Formula (3)
[0105] Where i is the sequence number of the channel to be allocated, n is the total number of channels to be allocated, Ai is the allocation response parameter of the i-th channel to be allocated, ai is the predicted number of requests for the i-th channel to be allocated in the target time period, j is the sequence number of the candidate server, m is the total number of candidate servers, and rj is the maximum number of responses of the j-th candidate server.
[0106] In this embodiment, the first constraint condition is used to limit the number of allocation responses of the to-be-allocated channels to be less than the predicted number of requests, thereby avoiding excessive allocation of server resources to the to-be-allocated channels, which would result in waste of server resources. The second constraint condition is used to limit the statistical value of the number of allocation responses of multiple to-be-allocated channels to be less than the statistical value of the maximum number of responses of multiple candidate servers, thereby avoiding the server resources allocated to the to-be-allocated channels to exceed the actually available server resources.
[0107] In one embodiment, determining the number of allocation responses corresponding to each to-be-allocated channel based on the allocation function, the first constraint, and the second constraint includes:
[0108] Based on the first constraint and the second constraint, a maximum value of the allocation function is determined; when the allocation function is at the maximum value, the parameter value of the allocation response parameter corresponding to the to-be-allocated channel is determined as the allocation response number corresponding to the to-be-allocated channel.
[0109] The maximum value of the allocation function refers to the maximum value obtained by calculating the allocation function when the first constraint condition and the second constraint condition are satisfied.
[0110] Exemplarily, the computer device determines the maximum value of the allocation function when the first constraint and the second constraint are satisfied. When the allocation function is at the maximum value, the parameter value of the allocation response parameter corresponding to the channel to be allocated is determined as the allocation response number corresponding to the channel to be allocated.
[0111] In this embodiment, under the condition that the first constraint condition and the second constraint condition are met, the number of allocation responses allocated to the channel to be allocated in the target time period is determined, that is, it is avoided that too many server resources are allocated to the channel to be allocated, resulting in a waste of server resources, and it is avoided that the server resources allocated to the channel to be allocated exceed the actually available server resources, and it is realized that the number of allocation responses is dynamically adjusted according to the predicted number of requests for the channel to be allocated.
[0112] In one embodiment, for each channel to be allocated, after determining the target server identifier corresponding to the channel to be allocated from the candidate server identifiers based on the number of allocation responses corresponding to the channel to be allocated, the method further includes:
[0113] For the target server identifier, allocation information corresponding to the target server identifier is generated based on the target time period and the to-be-allocated channel corresponding to the target server identifier; and the allocation information is sent to the target server.
[0114] In one embodiment, the allocation information refers to information sent by the computer device to the fast channel switching server to instruct the fast channel switching server to respond to the channel switching request corresponding to the channel to be allocated. The allocation information includes but is not limited to the target time period and the channel to be allocated.
[0115] Exemplarily, for the target server identifier, allocation information corresponding to the target server identifier is generated based on the target time period and the to-be-allocated channel corresponding to the target server identifier, and the allocation information is sent to the target server corresponding to the target server identifier.
[0116] In this embodiment, the computer device sends the allocation information to the fast channel switching server, and the fast channel switching server responds to the channel switching request of the corresponding channel to be allocated within the target time period, reducing the delayed response of the channel switching request, thereby shortening the channel switching time.
[0117] In an exemplary embodiment, a computer device manages multiple fast channel switching servers. The fast channel switching servers are used to receive channel switching requests sent by a set-top box and then send a unicast program stream starting with an I frame to the set-top box. The set-top box decodes the unicast program stream starting with an I frame, thereby achieving fast channel switching. Each channel has a corresponding fast channel switching server. When the number of channel switching requests for any channel exceeds the maximum response number of the corresponding fast channel switching server, the corresponding fast channel switching server cannot respond to the channel switching request in a timely manner, thereby increasing the duration of the channel switching. In order to shorten the duration of the channel switching, the server resource allocation method is as follows:
[0118] The computer device obtains the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period, checks the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period, and obtains the inspection result. If the inspection result is normal, the channel information and the number of historical requests corresponding to each historical time period are input into the target prediction model to obtain the predicted number of requests corresponding to the channel to be allocated in the target time period.
[0119] For each channel to be allocated, the computer device obtains the non-response ratio corresponding to each historical time period of the channel to be allocated, averages the non-response ratios corresponding to multiple historical time periods, and obtains the target non-response ratio. Based on the target response ratio of the channel to be allocated and the predicted request ratio corresponding to the target time period, the satisfaction of the channel to be allocated is determined using formula (1). Based on the satisfaction and allocation response parameters of each channel to be allocated, the allocation function is determined using formula (2); based on the allocation response parameters of each channel to be allocated and the predicted number of requests corresponding to each channel to be allocated in the target time period, the first constraint is determined using formula (3); the candidate server identifier corresponding to the target time period and the maximum number of responses corresponding to the candidate server identifier are obtained, and based on the allocation response parameters of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier, the second constraint is determined using formula (4). For example, if the channels to be allocated are A, B, and C, the solution for determining the server resources corresponding to A, B, and C is shown in Figure 6.
[0120] Under the condition that the first constraint and the second constraint are satisfied, a maximum value of the allocation function is determined. When the allocation function reaches the maximum value, the value of the allocation response parameter corresponding to the to-be-allocated channel is determined as the allocation response number corresponding to the to-be-allocated channel. Based on the allocation response number corresponding to the to-be-allocated channel, a target server identifier corresponding to the to-be-allocated channel is determined from the candidate server identifiers.
[0121] For the target server identifier, based on the target time period and the channel to be allocated corresponding to the target server identifier, allocation information corresponding to the target server identifier is generated, and the allocation information is sent to the target server corresponding to the target server identifier. The target server responds to the channel switching request corresponding to the channel to be allocated within the target time period.
[0122] The above-mentioned server resource allocation method predicts the number of requests corresponding to the target time period of the channel to be allocated through the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period to obtain the predicted number of requests, and then determines the number of allocation responses allocated to the channel to be allocated in the target time period based on the predicted number of requests and the maximum number of responses corresponding to the candidate server identifier, and then determines the target server identifier allocated to the channel to be allocated in the target time period based on the number of allocation responses, that is, according to the predicted number of requests of the channel to be allocated in the target time period, dynamically adjusts the target server corresponding to the channel to be allocated, and processes the channel switching request corresponding to the channel to be allocated in the target time period, reducing the channel switching requests with delayed responses, thereby shortening the channel switching time and improving the channel switching rate.
[0123] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are shown in sequence as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0124] Based on the same inventive concept, embodiments of the present application also provide a server resource allocation device for implementing the aforementioned server resource allocation method. The implementation solution provided by this device is similar to the implementation solution described in the aforementioned method. Therefore, the specific limitations in one or more server resource allocation device embodiments provided below can be found in the above-mentioned limitations on the server resource allocation method and will not be further elaborated here.
[0125] In one embodiment, as shown in FIG7 , a server resource allocation device is provided, comprising: a prediction module 702 , a determination module 704 , a solution module 706 , and an allocation module 708 , wherein:
[0126] The prediction module 702 is used to determine the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period;
[0127] The determination module 704 is configured to determine the satisfaction level of each channel to be allocated based on the unresponse ratio corresponding to each historical time period and the predicted number of requests corresponding to the target time period.
[0128] The solution module 706 is used to obtain the candidate server identifier corresponding to the target time period and the maximum response number corresponding to the candidate server identifier, and determine the allocation response number corresponding to each channel to be allocated based on the satisfaction level of each channel to be allocated and the maximum response number corresponding to each candidate server identifier;
[0129] The allocation module 708 is used to determine the target server identifier corresponding to each channel to be allocated from the candidate server identifiers based on the allocation response number corresponding to the channel to be allocated; the target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
[0130] In one embodiment, the prediction module 702 is also used to: check the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period to obtain an inspection result; if the inspection result is normal, input the channel information and the number of historical requests corresponding to each historical time period into the target prediction model to obtain the predicted number of requests corresponding to the channel to be allocated in the target time period.
[0131] In one embodiment, the determination module 704 is also used to: average the non-response ratios corresponding to multiple historical time periods to obtain a target non-response ratio; obtain a target response ratio corresponding to the channel to be allocated based on the target non-response ratio; normalize the predicted number of requests corresponding to the channel to be allocated in the target time period to obtain a predicted request ratio corresponding to the channel to be allocated in the target time period; determine the satisfaction level of the channel to be allocated based on the target response ratio of the channel to be allocated and the predicted request ratio corresponding to the target time period.
[0132] In one embodiment, the solution module 706 is also used to: determine an allocation function based on the satisfaction and allocation response parameters of each channel to be allocated; determine a first constraint based on the allocation response parameters of each channel to be allocated and the predicted number of requests corresponding to each channel to be allocated in the target time period; determine a second constraint based on the allocation response parameters of each channel to be allocated and the maximum number of responses corresponding to each candidate server identifier; determine the number of allocation responses corresponding to each channel to be allocated based on the allocation function, the first constraint and the second constraint.
[0133] In one embodiment, the solution module 706 is also used for: the first constraint condition is that the allocation response parameter corresponding to the channel to be allocated is less than or equal to the predicted number of requests corresponding to the channel to be allocated; the second constraint condition is that the statistical value of the allocation response parameter corresponding to each channel to be allocated is less than or equal to the statistical value of the maximum number of responses corresponding to each candidate server identifier.
[0134] In one embodiment, the solving module 706 is further configured to: determine the maximum value of the allocation function based on the first constraint and the second constraint; and when the allocation function is at the maximum value, determine the parameter value of the allocation response parameter corresponding to the channel to be allocated as the allocation response number corresponding to the channel to be allocated.
[0135] In one embodiment, the allocation module 708 is further configured to: generate allocation information corresponding to the target server identifier based on the target time period and the channel to be allocated corresponding to the target server identifier; and send the allocation information to the target server.
[0136] Each module in the server resource allocation device described above can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0137] In one embodiment, a computer device is provided, which may be a terminal. Its internal structure diagram may be shown in FIG8 . The computer device includes a processor, memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are connected to the system bus via the input / output interface. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to communicate with external terminals via wired or wireless communication, where the wireless communication may be achieved via Wi-Fi, a mobile cellular network, NFC (near-field communication), or other technologies. When executed by the processor, the computer program implements a server resource allocation method. The display unit of the computer device is configured to produce a visually visible image and may be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse.
[0138] Those skilled in the art will understand that the structure shown in FIG8 is merely a block diagram of a portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0139] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0140] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0141] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0142] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0143] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.
[0144] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0145] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A server resource allocation method, comprising: Determine the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period; For each of the channels to be allocated, based on the non-response ratios corresponding to the historical time periods and the predicted number of requests corresponding to the target time period, determining the satisfaction level of the channel to be allocated; Obtain the candidate server identifier corresponding to the target time period and the maximum response number corresponding to the candidate server identifier, and determine the allocation response number corresponding to each of the channels to be allocated based on the satisfaction level of each of the channels to be allocated and the maximum response number corresponding to each of the candidate server identifiers; For each of the channels to be allocated, based on the number of allocation responses corresponding to the channel to be allocated, determining the target server identifier corresponding to the channel to be allocated from the candidate server identifiers; The target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
2. The method according to claim 1, wherein: The determining, based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period, the number of predicted requests corresponding to the target time period of the channel to be allocated includes: Checking the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period to obtain a check result; When the inspection result is normal, the channel information and the number of historical requests corresponding to each of the historical time periods are input into a target prediction model to obtain the predicted number of requests corresponding to the to-be-allocated channel in the target time period.
3. The method according to claim 1, wherein: The step of determining the satisfaction level of each of the channels to be allocated based on the non-response ratios corresponding to the historical time periods and the predicted number of requests corresponding to the target time period includes: Averaging the non-response ratios corresponding to the multiple historical time periods to obtain a target non-response ratio; Based on the target non-response ratio, obtaining a target response ratio corresponding to the to-be-allocated channel; Normalizing the number of predicted requests corresponding to the to-be-allocated channel in the target time period to obtain a predicted request ratio corresponding to the to-be-allocated channel in the target time period; The satisfaction level of the channel to be allocated is determined based on the target response ratio of the channel to be allocated and the predicted request ratio corresponding to the target time period.
4. The method according to claim 1, wherein: The step of determining the allocation response number corresponding to each of the channels to be allocated based on the satisfaction level of each of the channels to be allocated and the maximum response number corresponding to each of the candidate server identifiers comprises: Determining an allocation function based on the satisfaction level and allocation response parameters of each of the channels to be allocated; Determine a first constraint condition based on the allocation response parameters of each of the channels to be allocated and the predicted number of requests corresponding to each of the channels to be allocated in the target time period; Determining a second constraint condition based on the allocation response parameters of each of the channels to be allocated and the maximum number of responses corresponding to each of the candidate server identifiers; Based on the allocation function, the first constraint condition and the second constraint condition, the allocation response number corresponding to each of the to-be-allocated channels is determined.
5. The method according to claim 4, wherein: The first constraint condition is that the allocation response parameter corresponding to the channel to be allocated is less than or equal to the predicted number of requests corresponding to the channel to be allocated; the second constraint condition is that the statistical value of the allocation response parameters corresponding to each of the channels to be allocated is less than or equal to the statistical value of the maximum number of responses corresponding to each of the candidate server identifiers.
6. The method according to claim 4, wherein: The step of determining the allocation response number corresponding to each of the to-be-allocated channels based on the allocation function, the first constraint condition and the second constraint condition comprises: Determining a maximum value of the allocation function based on the first constraint and the second constraint; When the allocation function is at a maximum value, the parameter value of the allocation response parameter corresponding to the channel to be allocated is determined as the allocation response number corresponding to the channel to be allocated.
7. The method according to claim 1, further comprising: After determining the target server identifier corresponding to the channel to be allocated from the candidate server identifiers for each channel to be allocated based on the number of allocation responses corresponding to the channel to be allocated, For the target server identifier, based on the target time period and the to-be-allocated channel corresponding to the target server identifier, generating allocation information corresponding to the target server identifier; The allocation information is sent to the target server.
8. The method according to claim 1, wherein: The step of determining the satisfaction level of each of the channels to be allocated based on the non-response ratios corresponding to the historical time periods and the predicted number of requests corresponding to the target time period includes: For each of the historical time periods, obtaining a statistical number of channel switching requests corresponding to the historical time period of the channel to be allocated, and a fast channel switching server identifier corresponding to the historical time period of the channel to be allocated; Counting the maximum number of responses corresponding to the fast channel switching server identifier corresponding to the historical time period to obtain a maximum response statistical number; Subtract the maximum response statistics from the statistics to get the timeout response number. The number of timeout responses is divided by the statistical number to obtain the non-response ratio corresponding to the historical time period of the channel to be allocated.
9. The method according to claim 1, wherein: The step of obtaining the candidate server identifier corresponding to the target time period and the maximum number of responses corresponding to the candidate server identifier, and determining the number of allocation responses corresponding to each of the channels to be allocated based on the satisfaction level of each of the channels to be allocated and the maximum number of responses corresponding to each of the candidate server identifiers, comprises: Obtaining a candidate server identifier corresponding to the target time period and a maximum number of responses corresponding to the candidate server identifier; Determine the allocation function and constraint conditions based on the satisfaction of each of the channels to be allocated and the maximum number of responses corresponding to each of the candidate server identifiers; Based on the allocation function and the constraint condition, the allocation response number corresponding to each of the channels to be allocated is determined.
10. A server resource allocation device, comprising: A prediction module, configured to determine the predicted number of requests corresponding to the target time period of the channel to be allocated based on the channel information of the channel to be allocated and the number of historical requests corresponding to each historical time period; A determination module, configured to determine, for each of the channels to be allocated, a satisfaction level of the channel to be allocated based on the non-response ratio corresponding to each of the historical time periods and the predicted number of requests corresponding to the target time period; A solution module, used for obtaining the candidate server identifier corresponding to the target time period and the maximum response number corresponding to the candidate server identifier, and determining the allocation response number corresponding to each of the channels to be allocated based on the satisfaction level of each of the channels to be allocated and the maximum response number corresponding to each of the candidate server identifiers; An allocation module, configured to determine, for each of the channels to be allocated, a target server identifier corresponding to the channel to be allocated from the candidate server identifiers based on the number of allocation responses corresponding to the channel to be allocated; The target server corresponding to the target server identifier is used to respond to the channel switching request corresponding to the channel to be allocated within the target time period.
11. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.
12. A computer-readable storage medium having a computer program stored thereon, wherein: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Method and system for providing channel switching service and channel switching server
CN101909194A
Concurrent-stream-based rapid channel switching method of P2P real-time playing system
CN104822084A
Method for adaptively starting fast channel switching function
CN113852855A
Video playing method and related equipment
CN114363715A
Server resource allocation method and device, computer equipment and storage medium
CN117278799A