Multi-server resource dynamic allocation method and device, terminal and medium

By acquiring and analyzing set-top box, server, and global feature data, and by using neural network models and weight calculations to optimize resource allocation, the problem of uneven resource utilization in traditional multi-server architectures is solved, thereby improving the operating efficiency of the playback system and the user experience.

CN121098745BActive Publication Date: 2026-02-27CHENGDU YINYUE CHUANGXIANG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511640538.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-11
Publication Date
2026-02-27
Estimated Expiration
2045-11-11

AI Technical Summary

Technical Problem

Traditional multi-server architecture resource allocation strategies lack real-time perception, intelligent prediction, and dynamic adjustment capabilities, resulting in uneven resource utilization, response delays, user on-demand failures or buffering, and a lack of keen perception and graceful degradation of the server's "sub-healthy" state.

Method used

By acquiring global feature data from set-top boxes, servers, and playback systems, scene classification is performed using a pre-defined neural network model. Combined with server operation status evaluation and weight calculation, resource allocation is dynamically optimized, and a target allocation scheme is constructed to improve the efficiency of the playback system.

Benefits of technology

It achieves efficient resource utilization of the playback system, reduces stuttering and buffering, and improves user experience and customer satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121098745B_ABST
    Figure CN121098745B_ABST
Patent Text Reader

Abstract

The application discloses a multi-server resource dynamic allocation method and device, a terminal and a medium. The method comprises the following steps: acquiring set-top box feature data, server feature data and global feature data of a playing system; determining a current scene classification result corresponding to the playing system based on the set-top box feature data, the server feature data and the global feature data of the playing system; evaluating the running state of the server to obtain a running state evaluation result corresponding to the server; and obtaining a target allocation scheme based on the current scene classification result, the running state evaluation result and a preset task corresponding to the playing system. The application aims to improve the running efficiency of the playing system and further improve customer satisfaction.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, in particular to a multi-server resource dynamic allocation method and device, a terminal and a medium. BACKGROUND

[0002] Traditional single-store on-demand systems have been basically eliminated, and the systems of modern large-scale chain brands, online applications and large-scale entertainment complexes are all built on multi-server distributed architecture. A large entertainment venue may have hundreds of private rooms operating simultaneously. The on-demand, song switching, karaoke, and drink ordering operations of each private room all need to interact with the server in real time. Video streaming is extremely sensitive to network latency and bandwidth, and must ensure smooth playback and audio-visual synchronization, without lag or buffering.

[0003] However, although the multi-server architecture solves the basic problem, the common resource allocation strategies (such as static allocation, simple round robin or weighted round robin) still have many shortcomings: the scheduling strategy is mostly still at a relatively simple and static level, lacking the ability of real-time perception, intelligent prediction and dynamic adjustment, and is prone to cause uneven resource utilization, response delay, and deficiencies in fault handling, elastic expansion and precise operation. Specifically, requests sent to a faulty server will all fail, resulting in user on-demand failure or lag, and impaired experience. There is a lack of acute perception of the "sub-health" state of the server (such as high latency, high error rate) and graceful degradation; at the same time, the background scheduling of the playback system may send a request to a server with high weight but currently processing a large number of video streams, the disk IO is full, instead of sending it to a server with slightly lower weight but currently very idle. SUMMARY

[0004] The main purpose of the present application is to provide a multi-server resource dynamic allocation method, device, terminal and medium, aiming to improve the operation efficiency of the playback system and thus improve customer satisfaction.

[0005] To achieve the above purpose, the present application provides a multi-server resource dynamic allocation method applied to a playback system, the playback system comprising at least one set-top box and at least one server, the method comprising:

[0006] obtaining set-top box feature data, server feature data and playback system global feature data, wherein the playback system global feature data is used to represent the features of the playback system and the features of the application scenario in which the playback system is located;

[0007] determining a current scene classification result corresponding to the playback system based on the set-top box feature data, the server feature data and the playback system global feature data, wherein the current scene classification result is used to represent the type of the application scenario in which the playback system is located;

[0008] performing running state evaluation on the server to obtain a running state evaluation result corresponding to the server;

[0009] obtaining a target allocation scheme based on the current scene classification result, the running state evaluation result, and a preset task corresponding to the playing system.

[0010] Specifically, the current scene classification result corresponding to the playing system is determined based on the set-top box feature data, the server feature data, and the playing system global feature data, including:

[0011] The current scene classification result is obtained based on the set-top box feature data, the server feature data, and the playing system global feature data through a preset neural network model.

[0012] Specifically, the preset neural network model includes an input layer, a convolution layer, a time sequence feature capturing layer, a feature fusion layer, and a full connection layer.

[0013] The current scene classification result is obtained based on the set-top box feature data, the server feature data, and the playing system global feature data through a preset neural network model.

[0014] A set-top box feature vector is obtained based on the set-top box feature data through the input layer.

[0015] A server feature vector is obtained based on the server feature data through the input layer.

[0016] A playing system global feature vector is obtained based on the playing system global feature data through the input layer.

[0017] A set-top box feature sequence vector is obtained based on the set-top box feature vector through the convolution layer.

[0018] A time sequence feature output vector is obtained based on the server feature vector and the set-top box feature sequence vector through the time sequence feature capturing layer.

[0019] A fusion output vector is obtained based on the time sequence feature output vector and the playing system global feature vector through the feature fusion layer.

[0020] The current scene classification result is obtained based on the fusion output vector through the full connection layer.

[0021] Specifically, the running state evaluation on the server to obtain a running state evaluation result corresponding to the server includes:

[0022] determine the first weight corresponding to each preset evaluation index based on the relative importance between each preset evaluation index corresponding to the server;

[0023] determine the second weight corresponding to each preset evaluation index based on the server feature data and the preset evaluation index;

[0024] calculate the combined weight based on the first weight and the second weight;

[0025] weight the server feature data by the combined weight to obtain the running state evaluation result.

[0026] Specifically, the first weight corresponding to each preset evaluation index is determined based on the relative importance between each preset evaluation index corresponding to the server, comprising:

[0027] construct a judgment matrix based on the relative importance between each preset evaluation index by a scale method;

[0028] calculate the initial first weight vector corresponding to each preset evaluation index based on the judgment matrix;

[0029] calculate the judgment ratio corresponding to the initial first weight vector based on the judgment matrix and the initial first weight vector;

[0030] determine the initial first weight vector with a judgment ratio less than a preset threshold as the first weight by traversing the judgment ratio.

[0031] Specifically, the combined weight is calculated based on the first weight and the second weight, comprising:

[0032] the combined weight is calculated by the following calculation formula:

[0033] Combined weight = preset first harmonic coefficient × first weight + preset second harmonic coefficient × second weight.

[0034] Specifically, the target allocation scheme is obtained based on the current scene classification result, the running state evaluation result, and the preset task corresponding to the playback system, comprising:

[0035] construct a target function and a constraint condition corresponding to the target function based on the current scene classification result, the running state evaluation result, and the preset task corresponding to the playback system, with the goal of maximizing the running efficiency of the playback system;

[0036] solve the target function based on the constraint condition to obtain the decision variable corresponding to the target function;

[0037] The target allocation scheme is determined based on the decision variables, wherein the target allocation scheme includes the allocation relationship between the preset task and the server.

[0038] To achieve the above objectives, this application also provides a multi-server resource dynamic allocation device, applied to a playback system, the playback system including at least one set-top box and at least one server, the device comprising:

[0039] The first unit is used to acquire set-top box feature data, server feature data, and global feature data of the playback system, wherein the global feature data of the playback system is used to characterize the features of the playback system and the features of the application scenario in which the playback system is located.

[0040] The second unit is used to determine the current scene classification result corresponding to the playback system based on the set-top box feature data, the server feature data, and the global feature data of the playback system, wherein the current scene classification result is used to characterize the type of application scene in which the playback system is located;

[0041] The third unit is used to evaluate the operational status of the server and obtain the corresponding operational status evaluation result of the server.

[0042] The fourth unit is used to obtain a target allocation scheme based on the current scene classification result, the operation status evaluation result, and the preset task corresponding to the playback system.

[0043] To achieve the above objectives, this application also provides a terminal, including a memory storing multiple instructions; the processor loads instructions from the memory to execute the steps in any of the methods provided in this application.

[0044] To achieve the above objectives, this application also provides a medium storing a plurality of instructions adapted for loading by a processor to execute the steps in any of the methods provided in this application.

[0045] This application provides a method, apparatus, terminal, and medium for dynamic allocation of multi-server resources. The method first acquires set-top box feature data, server feature data, and global feature data of the playback system. Based on the set-top box feature data, server feature data, and global feature data of the playback system, it determines the current scene classification result corresponding to the playback system. It then evaluates the server's operational status to obtain the server's corresponding operational status evaluation result. Finally, based on the current scene classification result, the operational status evaluation result, and the preset tasks corresponding to the playback system, it obtains a target allocation scheme to improve the playback system's operational efficiency and thus enhance customer satisfaction. Attached Figure Description

[0046] Figure 1 A flowchart of the method provided by the embodiments of the present application is shown in FIG. 1.

[0047] Figure 2 A specific application implementation process diagram of the preset neural network model provided by the embodiments of the present application is shown in FIG. 2.

[0048] Figure 3 A structure diagram of the device provided by the embodiments of the present application is shown in FIG. 3.

[0049] Figure 4 A structure diagram of the terminal provided by the embodiments of the present application is shown in FIG. 4. DETAILED DESCRIPTION

[0050] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.

[0051] Although the multi-server architecture solves the basic problem, the common resource allocation strategies (such as static allocation, simple round robin or weighted round robin) still have many shortcomings: the scheduling strategies are mostly still at a relatively simple and static level, lacking the ability of real-time perception, intelligent prediction and dynamic adjustment, which easily leads to uneven resource utilization, response delay, and deficiencies in fault handling, elastic expansion and precise operation. Specifically, requests sent to a faulty server will all fail, resulting in user on-demand failure or lag, and impaired experience. There is a lack of acute perception of the "sub-health" state of the server (such as high latency, high error rate) and graceful degradation; at the same time, the background scheduling of the playback system may send a request to a server with high weight but currently processing a large number of video streams, the disk IO is full, instead of sending it to a server with slightly lower weight but currently very idle.

[0052] Therefore, the embodiments of the present application provide a multi-server resource dynamic allocation method, device, terminal and medium to solve the actual technical problems.

[0053] In some embodiments, the device can be specifically integrated in an electronic device, which can be a terminal, a server or the like.

[0054] In some embodiments, the server can also be implemented in the form of a terminal.

[0055] The server can be a stand-alone physical server, a server cluster composed of multiple physical servers, or a distributed system, and can also be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and basic cloud computing services such as big data and artificial intelligence platforms.

[0056] The terminal can be a smartphone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, and the like, but is not limited thereto. The terminal and the server can be directly or indirectly connected through wired or wireless communication, which is not limited in the present application.

[0057] The following will be described in detail. It should be noted that the serial numbers of the following embodiments do not limit the preferred order of the embodiments.

[0058] The embodiments of the present application provide a multi-server resource dynamic allocation method, which can improve the running efficiency of the playing system and thus improve customer satisfaction.

[0059] In some embodiments, the method is applied to a playing system, which includes at least one set-top box and at least one server. The playing system can be a singing entertainment place or a multimedia song ordering playing system within a target range.

[0060] In some embodiments, the playing system of a singing entertainment place during the peak hours (20:00-22:00) on Friday night includes 15 set-top boxes (terminals) and 3 servers (SERVER1, SERVER2, SERVER3), each server is equipped with hde, hdf, and hdh three hard disks, and mainly provides song ordering and playing services. Since this period is the peak of consumption, the ordering volume increases sharply, and the dynamic resource allocation method is needed to optimize the system running efficiency, reduce the lag and buffering phenomenon, and improve customer experience.

[0061] As Figure 1 , the specific process of the method can be as follows:

[0062] S110, obtaining set-top box feature data, server feature data, and playing system global feature data, wherein the playing system global feature data is used to represent the features of the playing system and the features of the application scenario in which the playing system is located.

[0063] In some embodiments, a lightweight data collection agent can be deployed on each set-top box and each server to continuously collect the following real-time data:

[0064] The set-top box feature data can include terminal IP address (for traditional algorithm compatibility), currently on-demand song ID, real-time network delay (RTT), bandwidth fluctuation, current playing state (normal, buffering, freezing); specifically, the set-top box feature data can include:

[0065] Terminal IP address: 192.168.1.101-192.168.1.115 (15 in total);

[0066] Currently on-demand song ID: such as ST001 (Song A), ST005 (Song B), ST012 (Song C), etc. (ST001 is on-demand by 5 set-top boxes, and is a currently popular song);

[0067] Real-time network delay (RTT): 10-80 ms (RTT of 192.168.1.105, 108, and 112 is 60-80 ms, and the rest is 10-40 ms);

[0068] Bandwidth fluctuation: 2-5 Mbps (192.168.1.105 has a bandwidth fluctuation of 4-5 Mbps, and the rest is relatively stable at 2-3 Mbps);

[0069] Current playing state: 12 normal, 192.168.1.105 and 108 in short buffering state, and 192.168.1.112 has 1 freezing.

[0070] The server feature data can include CPU utilization, memory occupancy, I / O throughput of each hard disk (hde, hdf,...), disk health status (SMART data), network bandwidth usage, and access request frequency of each song file of each server; specifically, the server feature data can include:

[0071] SERVER1: CPU utilization 65%, memory occupancy 58%; hde hard disk I / O throughput 80 MB / s, hdf 60 MB / s, hdh 50 MB / s; disk health status is good (SMART data is normal); network bandwidth usage 700 Mbps; ST001 access request frequency 20 times / minute;

[0072] SERVER2: CPU utilization 85%, memory occupancy 75%; hde hard disk I / O throughput 95 MB / s, hdf 85 MB / s, hdh 70 MB / s; disk health status is good; network bandwidth usage 900 Mbps; ST001 access request frequency 15 times / minute;

[0073] SERVER3: CPU utilization 45%, memory occupancy 40%; hde hard disk I / O throughput 40MB / s, hdf 35MB / s, hdh 30MB / s; disk health status is all good; network bandwidth usage 400Mbps; ST001 access request frequency 5 times / minute.

[0074] The global feature data of the playing system can include current time (for judging peak / valley period), total number of online terminals in the place, and heat trend of specific songs; specifically, the global feature data of the playing system includes:

[0075] Current time: Friday 20:30 (belongs to the preset peak period);

[0076] Total number of online terminals in the place: 15 (all online);

[0077] Heat trend of specific songs: ST001 (Song A) has increased by 50% in the last 30 minutes, ST005 (Song B) has increased by 20%, and the rest of the songs have increased gently.

[0078] S120, the set-top box feature data, the server feature data, and the global feature data of the playing system are used to determine the current scene classification result corresponding to the playing system, wherein the current scene classification result is used to represent the type of the application scene in which the playing system is located.

[0079] In some embodiments, the determination of the current scene classification result corresponding to the playing system based on the set-top box feature data, the server feature data, and the global feature data of the playing system includes the specific implementation process as follows:

[0080] The current scene classification result is obtained by a preset neural network model based on the set-top box feature data, the server feature data, and the global feature data of the playing system.

[0081] Specifically, as Figure 2 The preset neural network model includes an input layer, a convolution layer, a time sequence feature capturing layer, a feature fusion layer, and a full connection layer.

[0082] In some embodiments, the obtaining of the current scene classification result by the preset neural network model based on the set-top box feature data, the server feature data, and the global feature data of the playing system includes the following steps A1 to A7:

[0083] A1, the set-top box feature vector is obtained by the input layer based on the set-top box feature data.

[0084] In some embodiments, the input layer converts the feature data of 15 set-top boxes (IP address encoding value, song ID encoding value, RTT, bandwidth fluctuation, playing state encoding) into a 15x5 matrix, and obtains a set-top box feature vector (dimension 75) after standardization.

[0085] A2, by the input layer, according to the server feature data, obtain a server feature vector.

[0086] In some embodiments, the input layer converts the feature data of 3 servers (CPU utilization, memory occupancy, 3 hard disk I / O throughput, disk health state encoding, network bandwidth, song access frequency) into a 3x8 matrix, and obtains a server feature vector (dimension 24) after standardization.

[0087] A3, by the input layer, according to the global feature data of the playing system, obtain a global feature vector of the playing system.

[0088] In some embodiments, the input layer converts the global feature data (time encoding as peak period = 1, online terminal number 15, 3 popular song popularity trend values) into a 1x5 global feature vector (dimension 5).

[0089] A4, by the convolution layer, according to the set-top box feature vector, obtain a set-top box feature sequence vector.

[0090] In some embodiments, the convolution layer uses a 3x1 convolution kernel to perform convolution operation on the set-top box feature vector, extracts local correlation features (such as the combination feature of "high RTT + large bandwidth fluctuation + stall state"), and outputs a set-top box feature sequence vector (dimension 60).

[0091] A5, by the time sequence feature capture layer, according to the server feature vector and the set-top box feature sequence vector, obtain a time sequence feature output vector.

[0092] In some embodiments, the time sequence feature capture layer (LSTM layer) performs time sequence modeling on the server feature vector and the set-top box feature sequence vector, captures the load change trend in the past 30 minutes (such as the rising trend of SERVER2's CPU utilization from 60% to 85%), and outputs a time sequence feature output vector (dimension 40).

[0093] A6, by the feature fusion layer, according to the time sequence feature output vector and the global feature vector of the playing system, obtain a fusion output vector.

[0094] In some embodiments, the feature fusion layer fuses the time sequence feature output vector and the global feature vector of the playing system through an attention mechanism, focuses on key features of "peak hours + high online terminal numbers + popular song growth", and outputs a fusion output vector (dimension 30).

[0095] A7、obtaining the current scene classification result according to the fusion output vector through the full connection layer.

[0096] In some embodiments, the full connection layer classifies the fusion output vector, and specifically outputs the current scene classification result as: high-load multi-terminal singing entertainment place peak scene.

[0097] S130、the machine performs running state evaluation to obtain a running state evaluation result corresponding to the server.

[0098] In some embodiments, the running state evaluation of the server to obtain a running state evaluation result corresponding to the server includes the following steps of B1 to B4:

[0099] B1、determine the first weight corresponding to each preset evaluation index based on the relative importance between each preset evaluation index corresponding to the server.

[0100] In some embodiments, the preset evaluation index can include: CPU utilization, memory occupancy, hard disk I / O throughput, network bandwidth usage, and disk health status.

[0101] In some embodiments, the determination of the first weight corresponding to each preset evaluation index based on the relative importance between each preset evaluation index corresponding to the server includes the following steps of C1 to C4:

[0102] C1、construct a judgment matrix through a scaling method based on the relative importance between the preset evaluation indexes.

[0103] In some embodiments, the judgment matrix is constructed through a scaling method (1-9 scaling), and specifically, the scaling can be based on the evaluation of the importance of the index by experts, for example, the CPU utilization is more important than the memory occupancy, and the scaling is 3.

[0104] C2、calculate the initial first weight vector corresponding to each preset evaluation index based on the judgment matrix.

[0105] In some embodiments, based on the constructed judgment matrix, a set of weight vectors, i.e., the importance weight of each index, is calculated by a certain mathematical method, which is the initial first weight vector. It can be obtained by "eigenvector method" or "geometric mean method (square root method)". The initial first weight vector calculated thereby is [0.3, 0.2, 0.25, 0.2, 0.05] (the CPU utilization weight is the highest, and the disk health state is the lowest).

[0106] C3, based on the judgment matrix and the initial first weight vector, the judgment ratio corresponding to the initial first weight vector is calculated.

[0107] In some embodiments, the corresponding maximum eigenvalue can be obtained by the judgment matrix and the initial first weight vector, and the corresponding consistency index value is calculated by the maximum eigenvalue and the order of the judgment matrix. The average random consistency index value corresponding to the judgment matrix is obtained, and the judgment ratio is the ratio between the consistency index value and the average random consistency index value. The calculated judgment ratio is 0.08.

[0108] C4, the judgment ratio is traversed, and the initial first weight vector with a judgment ratio less than a preset threshold is determined as the first weight.

[0109] In some embodiments, since the judgment ratio is 0.08 which is less than the preset threshold 0.1, the first weight is [0.3, 0.2, 0.25, 0.2, 0.05].

[0110] B2, based on the server feature data and the respective preset evaluation indexes, the second weight corresponding to each preset evaluation index is determined.

[0111] In some embodiments, the second weight can be calculated based on the server feature data by entropy method (reflecting the difference degree of data itself), and the result is [0.25, 0.22, 0.28, 0.2, 0.05] (the weight is slightly high due to the large difference of hard disk I / O throughput).

[0112] B3, based on the first weight and the second weight, a combined weight is calculated.

[0113] In some embodiments, the combined weight is calculated based on the first weight and the second weight, including the specific implementation process as shown below:

[0114] The combined weight is calculated by the following calculation formula:

[0115] Combined weight = preset first harmonic coefficient x first weight + preset second harmonic coefficient x second weight.

[0116] Specifically, taking preset first harmonic coefficient = 0.6 and second harmonic coefficient = 0.4, the following is calculated:

[0117] Combination weight = 0.6 * [0.3, 0.2, 0.25, 0.2, 0.05] + 0.4 * [0.25, 0.22, 0.28, 0.2, 0.05] = [0.28, 0.208, 0.262, 0.2, 0.05].

[0118] B4, weighting the server feature data by the combination weight to obtain the running state evaluation result.

[0119] In some embodiments, the server feature data (after standardization) is weighted and summed by the combination weight to obtain:

[0120] SERVER1 running state evaluation result = 0.82 (running state is good);

[0121] SERVER2 running state evaluation result = 0.55 (running state is general, CPU and bandwidth load is high);

[0122] SERVER3 running state evaluation result = 0.90 (running state is excellent, load is low).

[0123] S140, the target allocation scheme is obtained based on the current scene classification result, the running state evaluation result, and the preset task corresponding to the playback system.

[0124] In some embodiments, the target allocation scheme is obtained based on the current scene classification result, the running state evaluation result, and the preset task corresponding to the playback system, including the following steps of D1 to D3:

[0125] D1, based on the current scene classification result, the running state evaluation result, and the preset task corresponding to the playback system, a target function and a constraint condition corresponding to the target function are constructed with the maximum running efficiency of the playback system as the target.

[0126] Specifically, the target function is:

[0127]

[0128] wherein, represents a task set corresponding to the preset task, represents a server resource set corresponding to the server, represents a task in the task set , represents a server in the server resource set , denotes the decision variable, denotes a task not assigned to a server , denotes a task assigned to a server , denotes a preset priority corresponding to a preset task, denotes a server corresponding to an efficiency coefficient in the running state evaluation result, which can be used to represent the current running efficiency score of the server , and can also be used to represent the feedback speed of the server corresponding or the playback quality condition after the playback task is assigned to the server .

[0129] The constraint condition includes:

[0130]

[0131] Wherein, the meaning of the constraint condition is that each task must be assigned and cannot be omitted, and must be assigned to one and only one server.

[0132] In some embodiments, the preset task is a song on-demand task of 15 set-top boxes (task set =15), the server resource set =3 servers, the preset task priority is all 1 (all on-demand tasks are equally important), and the efficiency coefficients are SERVER1=0.82, SERVER2=0.55, and SERVER3=0.90, respectively.

[0133] D2, based on the constraint condition, solving the objective function to obtain the decision variable corresponding to the objective function.

[0134] In some embodiments, the decision variable can be obtained by solving through an integer programming algorithm.

[0135] Among the 5 set-top boxes of ST001 on-demand, 3 are assigned to SERVER3 and 2 are assigned to SERVER1 (avoiding SERVER2 with high load);

[0136] The 3 set-top boxes (105, 108, and 112) with high RTT (60-80 ms) are assigned to SERVER3 (with the highest efficiency to reduce delay);

[0137] Among the remaining 7 set-top boxes, 4 are assigned to SERVER1 and 3 are assigned to SERVER2 (to balance the load).

[0138] D3, determining the target allocation scheme according to the decision variable, wherein the target allocation scheme comprises an allocation relationship between the preset task and the server.

[0139] Specifically, the target allocation scheme can comprise:

[0140] Task: (set-top box IP) 192.168.1.101 (on-demand ST001), allocation server: SERVER3 (popular songs are preferentially allocated to high-performance servers);

[0141] Task: (set-top box IP) 192.168.1.105 (high RTT + buffering), allocation server: SERVER3 (improve the stability of the high latency terminal);

[0142] Task: (set-top box IP) 192.168.1.108 (high RTT + buffering), allocation server: SERVER3 (improve the stability of the high latency terminal);

[0143] Task: (set-top box IP) 192.168.1.112 (high RTT + stuttering), allocation server: SERVER3 (solve the stuttering problem);

[0144] Task: (set-top box IP) 192.168.1.102 (on-demand ST005), allocation server: SERVER1 (balance the load of SERVER1);

[0145] Task: (set-top box IP) 192.168.1.110 (on-demand ST012), allocation server: SERVER2 (moderate use of SERVER2 resources).

[0146] In summary, the application provides a multi-server resource dynamic allocation method, which can improve the running efficiency of the playback system and thus improve customer satisfaction.

[0147] In order to better implement the above method, the embodiment of the application further provides a multi-server resource dynamic allocation device, which can be integrated in an electronic device. The electronic device can be a terminal, a server, etc. The terminal can be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer, a personal computer, etc. The server can be a single server or a server cluster composed of multiple servers.

[0148] For example, in this embodiment, the multi-server resource dynamic allocation device is integrated in the terminal.

[0149] For example, as Figure 3As shown, the multi-server resource dynamic allocation apparatus 300 can include a first unit 301, a second unit 302, a third unit 303, and a fourth unit 304.

[0150] The multi-server resource dynamic allocation apparatus 300 is applied to a playing system, the playing system includes at least one set-top box and at least one server, and the apparatus includes:

[0151] The first unit 301 is configured to acquire set-top box feature data, server feature data, and playing system global feature data, wherein the playing system global feature data is used to represent the features of the playing system and the features of the application scenario in which the playing system is located.

[0152] The second unit 302 is configured to determine a current scene classification result corresponding to the playing system based on the set-top box feature data, the server feature data, and the playing system global feature data, wherein the current scene classification result is used to represent the type of the application scenario in which the playing system is located.

[0153] The third unit 303 is configured to evaluate the running state of the server to obtain a running state evaluation result corresponding to the server.

[0154] The fourth unit 304 is configured to obtain a target allocation scheme based on the current scene classification result, the running state evaluation result, and a preset task corresponding to the playing system.

[0155] In specific implementation, each of the above units can be implemented as an independent entity, or can be combined as the same or several entities, and the specific implementation of each of the above units can be referred to the method embodiments above, which will not be described here.

[0156] As known from the above, the embodiments of the present application can improve the running efficiency of the playing system, and thus improve the customer satisfaction.

[0157] The embodiments of the present application also provide an electronic device, which can be a terminal, a server, or the like. The terminal can be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer, a personal computer, or the like. The server can be a single server or a server cluster composed of multiple servers.

[0158] In some embodiments, the product processing apparatus can also be integrated in multiple electronic devices, for example, the product processing apparatus can be integrated in multiple servers, and the multiple servers can be used to implement the multi-server resource dynamic allocation method of the present application.

[0159] In the present embodiment, the electronic device of the present embodiment will be taken as a terminal for detailed description, for example, as shown in Figure 4As shown, it shows a structural schematic diagram of the terminal 400 related to the embodiments of the present application, in particular:

[0160] The terminal 400 can include a processor 401 with one or more processing cores, a memory 402 with one or more mediums, a power supply 403, an input module 404, a communication module 405, and the like. Those skilled in the art can understand that the terminal 400 structure shown in the figure does not constitute a limitation on the terminal 400, and can include more or fewer components than the figure, or combine certain components, or different component arrangements. Among them: Figure 4 The terminal 400 structure shown in the figure does not constitute a limitation on the terminal 400, and can include more or fewer components than the figure, or combine certain components, or different component arrangements. Among them:

[0161] The processor 401 is the control center of the terminal 400, which connects all parts of the terminal 400 through various interfaces and lines, executes various functions of the terminal 400 and processes data by running or executing software programs and / or modules stored in the memory 402, and calling data stored in the memory 402, thereby overall monitoring the terminal 400. In some embodiments, the processor 401 can include one or more processing cores; in some embodiments, the processor 401 can integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application program, etc., and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 401.

[0162] The memory 402 can be used to store software programs and modules, and the processor 401 executes various functions and data processing by running the software programs and modules stored in the memory 402. The memory 402 can mainly include a program storage area and a data storage area, wherein the program storage area can store the operating system, at least one application program required by the function (such as sound playing function, image playing function, etc.), etc.; the data storage area can store data created according to the use of the terminal 400, etc. In addition, the memory 402 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 can also include a memory controller to provide the processor 401 with access to the memory 402.

[0163] The terminal 400 also includes a power supply 403 for powering various components. In some embodiments, the power supply 403 can be logically connected to the processor 401 through a power management system, so as to realize the functions of managing charging, discharging, and power consumption management, etc. through the power management system. The power supply 403 can also include one or more direct or alternating current power supplies, recharging systems, power failure detection circuits, power converters or inverters, power status indicators, and the like.

[0164] The terminal 400 can further include an input module 404, which can be used to receive inputted digital or character information, and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.

[0165] The terminal 400 can further include a communication module 405, which in some embodiments can include a wireless module, through which the terminal 400 can perform short-range wireless transmission, thereby providing the user with wireless broadband Internet access. For example, the communication module 405 can be used to help the user send and receive emails, browse web pages, and access streaming media, etc.

[0166] Although not shown, the terminal 400 can further include a display unit, etc., which will not be described here. In particular in the present embodiment, the processor 401 in the terminal 400 will load the executable file corresponding to the process of one or more application programs into the memory 402 according to the following instructions, and run the application program stored in the memory 402 by the processor 401, thereby realizing various functions, such as:

[0167] Obtaining set-top box feature data, server feature data, and playback system global feature data, wherein the playback system global feature data is used to represent the characteristics of the playback system and the characteristics of the application scenario in which the playback system is located;

[0168] Determining a current scene classification result corresponding to the playback system based on the set-top box feature data, the server feature data, and the playback system global feature data, wherein the current scene classification result is used to represent the type of the application scenario in which the playback system is located;

[0169] Performing a running state evaluation on the server to obtain a running state evaluation result corresponding to the server;

[0170] Obtaining a target allocation scheme based on the current scene classification result, the running state evaluation result, and a preset task corresponding to the playback system.

[0171] The specific implementation of each operation can refer to the previous embodiments, which will not be described here.

[0172] As can be seen from the above, the embodiments of the present application can improve the running efficiency of the playback system, thereby improving customer satisfaction.

[0173] Those of ordinary skill in the art can understand that all or part of the steps of various methods in the above embodiments can be completed by means of instructions, or by means of instructions controlling relevant hardware, which can be stored in a medium and loaded and executed by a processor.

[0174] To this end, an embodiment of the present application provides a medium, in which a plurality of instructions are stored, the instructions being capable of being loaded by a processor to execute steps in any of the multi-server resource dynamic allocation methods provided by the embodiments of the present application. For example, the instructions can execute the following steps:

[0175] obtaining set-top box feature data, server feature data, and playback system global feature data, wherein the playback system global feature data is used to represent features of the playback system and features of an application scenario in which the playback system is located;

[0176] determining a current scenario classification result corresponding to the playback system based on the set-top box feature data, the server feature data, and the playback system global feature data, wherein the current scenario classification result is used to represent a type of the application scenario in which the playback system is located;

[0177] performing running state evaluation on the server to obtain a running state evaluation result corresponding to the server;

[0178] obtaining a target allocation scheme based on the current scenario classification result, the running state evaluation result, and a preset task corresponding to the playback system.

[0179] The medium can include a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk, or the like.

[0180] According to an aspect of the present application, a computer program product or computer program is provided, which includes computer instructions stored in a medium. A processor of a computer device reads the computer instructions from the medium, and the processor executes the computer instructions to enable the computer device to perform the methods provided in the various optional implementation manners provided in the above embodiments.

[0181] Since the instructions stored in the medium can execute steps in any of the multi-server resource dynamic allocation methods provided by the embodiments of the present application, the beneficial effects that can be achieved by any of the multi-server resource dynamic allocation methods provided by the embodiments of the present application can be achieved. Details are described in the above embodiments, and thus will not be described here.

[0182] The above describes in detail a multi-server resource dynamic allocation method, device, terminal and medium provided by the embodiments of the present application. The principles and implementation manners of the present application are described by applying specific examples. The above embodiment description is only used to help understand the method of the present application and its core idea. Meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manners and application ranges will be changed. In conclusion, the content of the specification should not be understood as a limitation of the present application.

Claims

1. A method for dynamic allocation of resources across multiple servers, characterized in that, Applied to a playback system, the playback system including at least one set-top box and at least one server, the method includes: Acquire set-top box feature data, server feature data, and global feature data of the playback system, wherein the global feature data of the playback system is used to characterize the features of the playback system and the features of the application scenario in which the playback system is located; Based on the set-top box feature data, the server feature data, and the playback system global feature data, the current scene classification result corresponding to the playback system is determined, wherein the current scene classification result is used to characterize the type of application scene in which the playback system is located; The server's operational status is evaluated to obtain the corresponding operational status evaluation result. Based on the current scene classification results, the operation status evaluation results, and the preset tasks corresponding to the playback system, a target allocation scheme is obtained; The step of obtaining a target allocation scheme based on the current scene classification result, the operation status evaluation result, and the preset task corresponding to the playback system includes: Based on the current scene classification result, the running status evaluation result, and the preset task corresponding to the playback system, with the goal of maximizing the running efficiency of the playback system, an objective function and the corresponding constraints of the objective function are constructed. Based on the constraints, the objective function is solved to obtain the decision variables corresponding to the objective function; Based on decision variables, the target allocation scheme is determined, wherein the target allocation scheme includes the allocation relationship between the preset task and the server; The objective function is: in, This represents the set of tasks corresponding to the preset task. This represents the set of server resources corresponding to the server. Represents the tasks in the task set , This refers to the servers in the server resource set. , Denotes the decision variable. Indicates task Not assigned to the server , Indicates task Assigned to server , This indicates the preset priority corresponding to the preset task. Indicates server The corresponding efficiency coefficient in the operational status evaluation results; The constraints include: The constraints are used to characterize that each task must be assigned.

2. The method as described in claim 1, characterized in that, The step of determining the current scene classification result corresponding to the playback system based on the set-top box feature data, the server feature data, and the global feature data of the playback system includes: The current scene classification result is obtained by using a preset neural network model based on the set-top box feature data, the server feature data, and the global feature data of the playback system.

3. The method as described in claim 1, characterized in that, The preset neural network model includes an input layer, a convolutional layer, a temporal feature capture layer, a feature fusion layer, and a fully connected layer; The process of obtaining the current scene classification result through a preset neural network model based on the set-top box feature data, the server feature data, and the global feature data of the playback system includes: The set-top box feature vector is obtained through the input layer based on the set-top box feature data; The server feature vector is obtained through the input layer based on the server feature data. The global feature vector of the playback system is obtained through the input layer based on the global feature data of the playback system. The set-top box feature sequence vector is obtained through the convolutional layer based on the set-top box feature vector. The time-series feature capture layer obtains the time-series feature output vector based on the server feature vector and the set-top box feature sequence vector. The feature fusion layer obtains the fused output vector based on the temporal feature output vector and the global feature vector of the playback system. The current scene classification result is obtained through the fully connected layer based on the fused output vector.

4. The method as described in claim 1, characterized in that, The step of evaluating the operational status of the server to obtain the corresponding operational status evaluation result includes: Based on the relative importance of each preset evaluation index corresponding to the server, the first weight corresponding to each preset evaluation index is determined. Based on the server feature data and the preset evaluation indicators, determine the second weight corresponding to each preset evaluation indicator. Based on the first weight and the second weight, the combined weight is calculated; The server feature data is weighted using the combined weights to obtain the operational status evaluation result.

5. The method as described in claim 4, characterized in that, The determination of the first weight corresponding to each preset evaluation indicator based on the relative importance among the preset evaluation indicators corresponding to the server includes: Based on the relative importance of the various preset evaluation indicators, a judgment matrix is ​​constructed using the scaling method; Based on the judgment matrix, the initial first weight vector corresponding to each preset evaluation index is calculated; Based on the judgment matrix and the initial first weight vector, the judgment ratio corresponding to the initial first weight vector is calculated; The judgment ratios are iterated through, and the initial first weight vectors with judgment ratios less than a preset threshold are determined as the first weights.

6. The method as described in claim 4, characterized in that, Based on the first weight and the second weight, a combined weight is calculated, including: The combined weights are calculated using the following formula: Combined weight = preset first harmonic coefficient × first weight + preset second harmonic coefficient × second weight.

7. A multi-server resource dynamic allocation device, characterized in that, Applied to a playback system, the playback system including at least one set-top box and at least one server, the device includes: The first unit is used to acquire set-top box feature data, server feature data, and global feature data of the playback system, wherein the global feature data of the playback system is used to characterize the features of the playback system and the features of the application scenario in which the playback system is located. The second unit is used to determine the current scene classification result corresponding to the playback system based on the set-top box feature data, the server feature data, and the global feature data of the playback system, wherein the current scene classification result is used to characterize the type of application scene in which the playback system is located; The third unit is used to evaluate the operational status of the server and obtain the corresponding operational status evaluation result of the server. The fourth unit is used to obtain a target allocation scheme based on the current scene classification result, the running status evaluation result, and the preset task corresponding to the playback system; The step of obtaining a target allocation scheme based on the current scene classification result, the operation status evaluation result, and the preset task corresponding to the playback system includes: Based on the current scene classification result, the running status evaluation result, and the preset task corresponding to the playback system, with the goal of maximizing the running efficiency of the playback system, an objective function and the corresponding constraints of the objective function are constructed. Based on the constraints, the objective function is solved to obtain the decision variables corresponding to the objective function; Based on decision variables, the target allocation scheme is determined, wherein the target allocation scheme includes the allocation relationship between the preset task and the server; The objective function is: in, This represents the set of tasks corresponding to the preset task. This represents the set of server resources corresponding to the server. Represents the tasks in the task set , This refers to the servers in the server resource set. , Denotes the decision variable. Indicates task Not assigned to the server , Indicates task Assigned to server , This indicates the preset priority corresponding to the preset task. Indicates server The corresponding efficiency coefficient in the operational status evaluation results; The constraints include: The constraints are used to characterize that each task must be assigned.

8. A terminal, characterized in that, The method includes a processor and a memory, the memory storing multiple instructions; the processor loads instructions from the memory to perform the steps of the method as described in any one of claims 1 to 6.

9. A medium, characterized in that, The medium stores a plurality of instructions adapted for loading by a processor to execute the steps of the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Data processing method and device, electronic equipment, storage medium and program product

    CN117349145A

  • Node deployment method, equipment, storage medium and device

    CN118803364A