A live broadcast resource management system based on cloud computing
By dynamically monitoring and evaluating access requests of stream push nodes, filtering low-risk stream push paths and reasonably dividing bandwidth resources, the resource competition and conflict problems of traditional live streaming resource management systems in high concurrency scenarios are solved, and the stability and efficiency of live streaming services are improved.
Patent Information
- Application Number
- CN202510570293.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-06
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2045-05-06
AI Technical Summary
Traditional live broadcast resource management systems are unable to effectively deal with resource competition and conflict in high concurrency and dynamically changing live broadcast scenarios, resulting in uneven resource utilization and degradation of service quality. They lack real-time monitoring and risk assessment of the push flow path, resulting in bandwidth bottlenecks and service interruptions.
Through the push-stream access monitoring module, path risk assessment module, scheduling path screening module and bandwidth priority division module, we dynamically monitor and analyze the access requests of the push-stream nodes, evaluate the path risks, filter the low-risk push-stream paths, and calculate the priority based on the behavioral data of the viewing instances, and reasonably divide bandwidth resources.
Effectively manage live broadcast resource scheduling, reduce resource redundancy and overlap, improve live broadcast stability and reliability, ensure high-quality live broadcast experience, and improve operational efficiency and user satisfaction.
Smart Images

Figure CN120091152B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of resource management, and in particular to a live broadcast resource management system based on cloud computing. Background Art
[0002] The field of resource management technology primarily involves the allocation, scheduling, and optimal control of limited resources in a system, aiming to improve resource utilization efficiency and system performance. This area includes, but is not limited to, the management of factors such as computing resources, network bandwidth, and task execution time windows. In specific implementations, this typically involves building a resource scheduling model, defining resource allocation strategies, and establishing a resource usage status monitoring mechanism to achieve full control over resource occupation, release, and reallocation. This technology is widely used in complex business scenarios such as distributed computing platforms, cloud computing centers, container orchestration systems, and task scheduling systems, requiring the ability to avoid resource conflicts and dynamically regulate resources in highly concurrent environments.
[0003] The live broadcast resource management system is a system used to centrally manage the various resources involved in live broadcast scenarios. Its main purpose is to improve the continuity of live broadcast services, the efficiency of resource utilization, and the intelligent level of operation scheduling. It is used to centrally manage and dynamically schedule multiple resources in live broadcast services, such as server resources, bandwidth resources, transcoding resources, and push-pull streaming channels. The system aims to improve the efficiency of live broadcast resource utilization, ensure service stability in high-concurrency scenarios, and prioritize resources, perform fault migration, and allocate redundancy according to business policies. It is widely used in business scenarios requiring real-time streaming media transmission, such as video live broadcast platforms, online education systems, and live sports events.
[0004] Traditional management systems typically rely on static resource allocation strategies, which are unable to effectively address resource competition and conflicts in high-concurrency and dynamically changing live streaming scenarios. This leads to uneven resource utilization and reduced service quality. Furthermore, traditional systems lack real-time monitoring and risk assessment of streaming paths, preventing timely adjustment and optimization of resource allocation. This can lead to bandwidth bottlenecks and service interruptions during peak live streaming periods. For example, during large-scale live streaming events, the failure to effectively identify and manage high-risk paths can cause severe live streaming delays and degraded image quality, impacting the user experience. Summary of the Invention
[0005] The purpose of the present invention is to solve the shortcomings of the existing technology and propose a live broadcast resource management system based on cloud computing.
[0006] In order to achieve the above-mentioned purpose, the present invention adopts the following technical solution: a cloud computing-based live broadcast resource management system, the system comprising:
[0007] The streaming access monitoring module obtains the access request time points of the streaming nodes within a unit time period through the cloud server, counts the number of time slice repetitions between the current cycle and the previous cycle of each streaming node, and generates a path time slice repetition data set;
[0008] The path risk assessment module calculates the ratio of the concurrent access value to the number of connections permitted for each path based on the path time slice repetition data set, compares the ratio with the set access ratio judgment threshold value, determines the access risk level of the path, and obtains path access load level information;
[0009] The scheduling path screening module compares the time slice duplication value of each path with the set time window overlap threshold based on the path access load level information, screens out paths with an overlap value exceeding the threshold, adjusts the live streaming path, and generates a low-risk streaming path selection result;
[0010] The bandwidth priority division module calls the low-risk streaming path selection result, detects the viewing time value, interaction frequency value and buffer frame value of each viewing instance within the scheduling period, calculates the priority value, and arranges the viewing instance set under the current path in descending order according to the priority value to obtain the service queue priority sorting information.
[0011] As a further solution of the present invention, the path time slice repetition data set includes the streaming node access request time, time slice overlap period and time slice overlap density; the path access load level information includes the number of concurrent path accesses, the number of connection permissions, the access ratio and the path risk level; the low-risk streaming path selection result includes the screening path, overlap amount, number of connection permissions and expected number of accesses; the service queue priority sorting information includes viewing time, interaction frequency, number of buffered frames and priority value.
[0012] As a further solution of the present invention, the streaming access monitoring module includes:
[0013] The access time acquisition submodule obtains the access request time points of the streaming node within a unit time period through the cloud server, divides the window period into fixed-length windows based on the time axis, and marks the window number to which each time point belongs. All time points are classified by window number to generate streaming time window division data;
[0014] The time slice overlap statistics submodule calls the streaming time window division data, extracts the window number set in the current cycle of each streaming node and the window number set in the past cycle, counts the number of intersections of the window numbers in the two sets, calculates the window number repetition value between the current cycle and the past cycle of each streaming node, and obtains the streaming time window overlap number set;
[0015] The path node integration submodule obtains the time window overlap number of multiple streaming nodes corresponding to each path based on the streaming time window overlap number set, performs a sum operation on the repeated values of all nodes in each path, establishes a mapping set between the path number and the total overlap number value, and obtains the path time slice duplication data set.
[0016] As a further solution of the present invention, the path risk assessment module includes:
[0017] The permission parameter extraction submodule obtains the path time slice repetition data set, collects the connection permission number and the expected access number of the push node corresponding to each path, aggregates the permission parameters by path number, establishes a path correspondence between the connection permission number and the expected access number, and generates a path permission access parameter set;
[0018] The connection load calculation submodule calls the path permission access parameter set, calculates the access load ratio of each path in the current period based on the expected access value and the connection permission value under each path, and records the corresponding relationship between the ratio and the path number to obtain a path access load ratio sequence;
[0019] The risk level judgment submodule extracts the access load ratio of each path based on the path access load ratio sequence, calls the set path load ratio level threshold, compares the ratio interval and determines the corresponding level number, summarizes the correspondence between the path number and the level number, and obtains the path access load level information.
[0020] As a further solution of the present invention, the scheduling path screening module includes:
[0021] The path overlap elimination submodule calls the current candidate path set based on the path access load level information, obtains the time slice repetition value corresponding to each path and the set time window overlap threshold, compares the path time slice repetition value with the time window overlap threshold one by one, and eliminates the paths with time slice repetition values greater than the time window overlap threshold to obtain a list of low-overlap path numbers;
[0022] The permission difference calculation submodule calls the low-overlap path number list, extracts the connection permission values and expected access values corresponding to the remaining paths, evaluates the difference between the connection permission value and the expected access value under each path, records the mapping relationship between the difference and the path number, and generates a path permission redundancy difference table;
[0023] The path optimization output submodule extracts the redundant difference corresponding to each path according to the path permission redundant difference table, sorts all the differences, selects the path number with the largest difference value as the live streaming path adjustment target, and obtains the low-risk streaming path selection result.
[0024] As a further solution of the present invention, the bandwidth priority division module includes:
[0025] The behavior indicator extraction submodule calls the low-risk streaming path selection result, obtains all viewing instance numbers under the target path in the current scheduling period, detects the cumulative viewing time, number of interactions per unit time, and number of buffered frames in the current period for each viewing instance, binds these three behavioral data to the corresponding viewing instance number, establishes a behavior indicator set, and generates a viewing behavior indicator dataset;
[0026] The priority value calculation submodule extracts the viewing duration value, interaction frequency value, and buffer frame value corresponding to each viewing instance based on the viewing behavior indicator data set, calls the set weight parameters, and performs a weighted calculation on the three values to calculate the priority value of each viewing instance. A mapping relationship between the viewing instance number and the weighted result is established to obtain a viewing instance priority value table;
[0027] The queue sorting output submodule extracts the priority values corresponding to all viewing instances according to the viewing instance priority value table, sorts the instance numbers in descending order according to the value size, generates the instance sorting queue under the current path, and obtains the service queue priority sorting information.
[0028] As a further solution of the present invention, the formula for calculating the priority value of each viewing instance is: ;
[0029] Calculate the priority value of each viewing instance, establish a mapping relationship between the viewing instance number and the weighted result, and obtain a viewing instance priority value table;
[0030] in, Representative The priority value of each viewing instance, Representative The viewing time of each viewing instance, Representative Interaction frequency for viewing instances, Representative Number of buffered frames per viewing instance, and Represent the weight coefficients of viewing time and interaction frequency respectively.
[0031] As a further embodiment of the present invention, the system further comprises:
[0032] The inter-frame change adjustment module extracts the average pixel difference between the key frame and the adjacent frames in the push frame image sequence of each path in the current scheduling period based on the service queue priority sorting information, calculates the change rate between the average difference value and the previous period, determines the content change classification interval in which the change rate falls, determines whether the bandwidth redundancy ratio needs to be adjusted, adjusts the live broadcast bandwidth allocation, and obtains content change classification bandwidth adjustment information;
[0033] The content change hierarchical bandwidth adjustment information includes inter-frame pixel difference, change rate and bandwidth redundancy adjustment value.
[0034] As a further solution of the present invention, the inter-frame change adjustment module includes:
[0035] The image difference extraction submodule obtains the push frame image sequence corresponding to each path in the current scheduling period based on the service queue priority sorting information, extracts the pixel difference between the key frame and the adjacent frame in each path, calculates the mean of each group of pixel differences by frame pair, and classifies them under the path number to generate a path frame inter-frame pixel difference mean set;
[0036] The content fluctuation identification submodule calls the path inter-frame pixel difference mean set, extracts the pixel difference mean of each path in the current cycle, compares it with the pixel difference mean of the same path number in the previous cycle, calculates the path difference change rate, and then determines the level of the change rate corresponding to each path based on the preset content fluctuation classification interval to obtain the path content change level value;
[0037] The redundancy ratio adjustment submodule extracts the current bandwidth redundancy ratio value of each path based on the path content change level value, calls the ratio adjustment rule corresponding to each level, determines whether to perform an increase, maintenance or decrease action, corrects the path bandwidth allocation, and obtains content change graded bandwidth adjustment information.
[0038] As a further solution of the present invention, the calculation formula of the difference change rate of the path is: ;
[0039] in, Representative The mean pixel difference of the current cycle of the path, Representative The mean pixel difference of one cycle on the path, Representative The rate of change of the difference between the paths.
[0040] Compared with the prior art, the advantages and positive effects of the present invention are:
[0041] In the present invention, by regularly monitoring and analyzing the access requests of the streaming nodes and counting the repeatability of time slices, the scheduling of live broadcast resources is effectively managed, the redundancy and overlap of resources are reduced, and the efficiency of resource utilization is improved. Through path risk assessment and scheduling path screening, dynamic risk assessment and optimal path selection are achieved, the risk of service interruption is reduced, and the stability and reliability of live broadcast are enhanced. The reasonable division of bandwidth priority and the intelligent adjustment of inter-frame changes optimize the utilization of bandwidth resources, ensure a high-quality live broadcast experience, and improve the operating efficiency and user satisfaction of live broadcast. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 is a system flow chart of the present invention;
[0043] Figure 2 Schematic diagram of the system framework of the present invention;
[0044] Figure 3 This is a flow chart of the streaming access monitoring module of the present invention;
[0045] Figure 4 is a flow chart of the path risk assessment module of the present invention;
[0046] Figure 5 This is a flow chart of the scheduling path screening module of the present invention;
[0047] Figure 6 A flow chart of a bandwidth priority division module of the present invention;
[0048] Figure 7 This is a flow chart of the inter-frame change adjustment module of the present invention. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0050] In the description of the present invention, it should be understood that the terms "length," "width," "up," "down," "front," "back," "left," "right," "vertical," "horizontal," "top," "bottom," "inside," "outside," and the like, indicating positions or relationships, are based on the positions or relationships shown in the accompanying drawings and are intended only to facilitate the description of the present invention and simplify the description. They do not indicate or imply that the devices or elements referred to must have a specific orientation, be constructed, or operate in a specific orientation. Therefore, they should not be construed as limiting the present invention. Furthermore, in the description of the present invention, "plurality" means two or more, unless otherwise expressly and specifically defined.
[0051] See also Figure 1 , a live broadcast resource management system based on cloud computing, the system includes:
[0052] The streaming access monitoring module obtains the access request time points of the streaming nodes within a unit time period through the cloud server, divides the fixed window period and marks the start time slices in each period, counts the number of time slice repetitions between the current period and the previous period of each streaming node, accumulates the total number of overlapping periods of each node in the path and classifies them into the path set, and generates a path time slice repetition dataset;
[0053] The path risk assessment module extracts the connection permission number and the expected access number of the push node on each path based on the path time slice duplication data set. It calculates the ratio between the concurrent access value and the connection permission number of each path, and compares it with the set access ratio judgment threshold to determine the access risk level of the path and obtain the path access load level information.
[0054] The scheduling path screening module calls a set of candidate paths based on the path access load level information, compares the time slice duplication value of each path with the set time window overlap threshold, screens out paths with an overlap value exceeding the threshold, calculates the difference between the number of connection permissions and the expected number of connections for each of the remaining paths, selects the path with the largest difference value as the schedulable path, adjusts the live streaming path, and generates a low-risk streaming path selection result;
[0055] The bandwidth priority division module calls the low-risk streaming path selection result, detects the viewing duration value, interaction frequency value, and buffered frame value of each viewing instance within the scheduling period, integrates the three values according to the set weights, calculates the priority value, and sorts the viewing instance set under the current path in descending order according to the priority value to obtain the service queue priority sorting information;
[0056] The inter-frame change adjustment module extracts the average pixel difference between the key frame and the adjacent frames in the push frame image sequence of each path in the current scheduling period based on the service queue priority sorting information, calculates the change rate between the average difference value and the previous period, determines the content change classification interval in which the change rate falls, determines whether the bandwidth redundancy ratio needs to be adjusted, adjusts the live broadcast bandwidth allocation, and obtains content change classification bandwidth adjustment information;
[0057] The path time slice duplication dataset includes the access request time of the streaming node, the time slice overlap period and the time slice overlap density. The path access load level information includes the number of concurrent path accesses, the number of connection permissions, the access ratio and the path risk level. The low-risk streaming path selection results include the filtered path, overlap amount, the number of connection permissions and the expected number of accesses. The service queue priority sorting information includes the viewing time, interaction frequency, the number of buffered frames and the priority value. The content change graded bandwidth adjustment information includes the inter-frame pixel difference, the change rate and the bandwidth redundancy adjustment value.
[0058] See also Figure 2 and Figure 3 ,The push stream access monitoring module includes the access time acquisition submodule, the time slice overlap statistics submodule, and the path node integration submodule;
[0059] The access time acquisition submodule obtains the access request time points of the streaming node within a unit time period through the cloud server, divides the window period into fixed-length windows based on the time axis, and marks the window number to which each time point belongs. All time points are classified by window number to generate streaming time window division data;
[0060] The cloud server receives access request information from multiple streaming nodes. Each request information carries metadata such as the node's unique identifier, request timestamp, streaming task number, path number, etc. The access time acquisition submodule maps all access request time points to the time axis based on the timestamp field of the access request. The time axis is divided into fixed lengths with each 10 seconds as a window period, and the start time of the time period of each time point is obtained as the window number identifier. If a streaming node sends an access request at 14:00:21, the corresponding window number is 14:00:20, completing the window numbering. After identification, the access time acquisition submodule performs a grouping operation on all access request time points according to the window number. In this grouping operation, a key-value pair set is constructed, where the key is the window number and the value is the access request time point sequence contained in the window. Correspondingly, the access request time points 14:00:03, 14:00:07, and 14:00:09 are all classified into the window number 14:00:00 item, and 14:00:15 and 14:00:17 are classified into the 14:00:10 item. After completing this step, the streaming time window division data is formed, and the data structure is a mapping set between the window number and the access time point sequence to which it belongs.
[0061] The time slice overlap statistics submodule calls the streaming time window partition data, extracts the window number set in the current cycle of each streaming node and the window number set in the previous cycle, counts the number of intersections of the window numbers in the two sets, calculates the window number repetition value between the current cycle and the previous cycle of each streaming node, and obtains the streaming time window overlap number set;
[0062] The window number set in the current cycle is the deduplicated set of all window numbers that appeared within a full cycle length (such as 60 seconds) sliding forward from the current moment. The window number set in the past cycle is the sum of the window number sets in multiple non-overlapping cycles sliding forward (such as the first five cycles, each cycle is 60 seconds). Taking streaming node A as an example, the current time is 14:01:30, then the window number set of the current cycle may be {14:01:00,14:01:10,14:01:20}, and the window number set of the past cycle may be {14:00:00,14:00:10,14: 00:20,14:00:30,14:00:40,14:00:50}, the time slice overlap statistics submodule performs an intersection statistics operation on the above two sets, and determines one by one whether each window number in the current set appears in the past set. Let the current set number be m, the past set number be n, and the intersection number be k. Then k is stored as the time window overlap value of the current push node. The higher the overlap value, the higher the repetition of the node in the time slice usage. A push time window overlap number set is formed, and the format is a mapping table between the push node number and its corresponding intersection number k.
[0063] The path node integration submodule obtains the time window overlap count of multiple push nodes corresponding to each path based on the push time window overlap count set, performs a sum operation on the duplicate values of all nodes in each path, establishes a mapping set between path numbers and the total overlap count, and obtains the path time slice duplication data set;
[0064] The mapping relationship between the path number and the push node is established through the path number field in the access time record. The path node integration submodule traverses all path numbers. For each path number, it calls all the push node numbers corresponding to the path number and obtains the intersection number values recorded in the push time window overlap number set of these nodes. It performs a summation operation and adds up the intersection number values of all push nodes to form the total repetition number value of the path number. For example, path P1 contains push nodes A, B, and C. The window overlap numbers corresponding to nodes A, B, and C are 5, 3, and 4 respectively. Then the total overlap number of path P1 is 5+3+4=12. The path node integration submodule performs traversal statistics on each path in this way, establishes a mapping set between path numbers and total overlap numbers, and outputs a path time slice repetition data set. The data structure is a key-value pair set between path numbers and corresponding total overlap numbers of time slices.
[0065] See also Figure 2 and Figure 4 ,The path risk assessment module includes the permission parameter extraction ,submodule, the connection load calculation submodule, and the risk level judgment ,submodule;
[0066] The permission parameter extraction submodule obtains the path time slice duplication data set, collects the connection permission number and expected access number of the push node corresponding to each path, aggregates the permission parameters by path number, establishes the path correspondence between the connection permission number and the expected access number, and generates the path permission access parameter set;
[0067] The number of connection permissions indicates the maximum number of streaming nodes that each path can carry simultaneously, and the expected number of accesses indicates the number of streaming nodes expected to be accessed by each path. The permission parameter extraction submodule aggregates these parameters according to the path number, extracts the corresponding number of connection permissions and expected number of accesses for each path, establishes a mapping relationship between these data according to the path number, and generates a path permission access parameter set. Specifically, the number of connection permissions for path P1 is set to 50, and the expected number of accesses is 45, the number of connection permissions for path P2 is set to 30, and the expected number of accesses is 25. The permission parameter extraction submodule aggregates these parameters according to the path number into 50 connection permissions and 45 expected accesses for path P1, and 30 connection permissions and 25 expected accesses for path P2, and generates a path permission access parameter set. The data structure is a mapping set of path numbers and their corresponding number of connection permissions and expected accesses.
[0068] The connection load calculation submodule calls the path access permission parameter set and calculates the access load ratio of each path in the current cycle based on the expected access value and the connection permission value under each path. It also records the correspondence between the ratio and the path number to obtain the path access load ratio sequence;
[0069] The connection load calculation submodule calculates the ratio of the expected number of connections to the number of connections permitted for each path to obtain the access load ratio. The access load ratio is the ratio of the expected number of connections to the number of connections permitted, indicating the degree of load on each path. A higher ratio indicates a heavier load on the path and greater access pressure. Conversely, a lower ratio indicates a higher carrying capacity and a lighter load. For example, if the expected number of connections for path P1 is 45 and the number of connections permitted is 50, its access load ratio is 45 / 50 = 0.9. If the expected number of connections for path P2 is 25 and the number of connections permitted is 30, its access load ratio is 25 / 30 = 0.833. The connection load calculation submodule associates the ratio with the path number and outputs a sequence of path access load ratios, formatted as a set of key-value pairs of path number and access load ratio.
[0070] The risk level judgment submodule extracts the access load ratio of each path based on the path access load ratio sequence, calls the set path load ratio level threshold, compares the ratio intervals and determines the corresponding level number, summarizes the correspondence between path numbers and level numbers, and obtains path access load level information;
[0071] The path load ratio threshold is set to a series of numerical intervals: [0, 0.5), [0.5, 0.7), [0.7, 1.0), and [1.0, 1.5]. For the judgment of the path access load ratio within each interval, path P1 with a path load ratio of 0.9 falls into the interval [0.7, 1.0), and its corresponding level number is 3. Path P2 has an access load ratio of 0.833, which falls into the interval [0.7, 1.0), and its corresponding level number is also 3. The risk level judgment submodule judges the access load ratio of each path, classifies it into different level intervals, and outputs the mapping relationship between path number and level number, ultimately forming path access load level information. The data structure is a set of key-value pairs between path number and level number.
[0072] See also Figure 2 and Figure 5 ,The scheduling path screening module includes a path overlap elimination submodule, a permissible difference calculation submodule, and a path optimization output submodule;
[0073] The path overlap elimination submodule calls the current candidate path set based on the path access load level information, obtains the time slice duplication value corresponding to each path and the set time window overlap threshold, compares the path time slice duplication value with the time window overlap threshold one by one, and eliminates paths with time slice duplication values greater than the time window overlap threshold to obtain a list of low-overlap path numbers;
[0074] The time window overlap threshold is a value set according to the system's expected load and actual traffic. It is usually set to the maximum allowable duplication of each path within a certain time window. Paths exceeding this threshold will be eliminated to ensure path load balancing. The path overlap elimination submodule traverses all paths in turn, obtains the time slice duplication value of each path, and compares it with the set time window overlap threshold one by one. The set overlap threshold is set to 10, the time slice duplication of path P1 is 12, and the time slice duplication of path P2 is 8. The duplication of path P1 exceeds the threshold 12>10, so path P1 will be screened out, while the duplication of path P2 is lower than the threshold 8<10 and will be retained in the low overlap path number list. Finally, a low overlap path number list is generated, in which path P2 belongs to the low overlap path and path P1 is eliminated.
[0075] The permission difference calculation submodule calls the low-overlap path number list, extracts the connection permission values and expected access values corresponding to the remaining paths, evaluates the difference between the connection permission value and the expected access value under each path, records the mapping relationship between the difference and the path number, and generates a path permission redundancy difference table;
[0076] The connection permission value represents the maximum number of accessible streaming nodes for each path, and the expected access value represents the number of streaming nodes expected to actually access the path. The permission difference calculation submodule calculates the difference between the connection permission number and the expected access number by comparing the connection permission number with the expected access number. For example, if the connection permission number for path P2 is 50 and the expected access number is 40, the permission difference is 50-40=10, and the permission difference for path P2 is 10. The path permission redundancy difference table records the mapping between the permission difference and the path number for each path. For path P2, the permission difference is 10, and the permission redundancy difference for this path is 10. By calculating the difference between the permission number and the expected access number for low-overlap paths, a path permission redundancy difference table is generated, which contains the path numbers and their corresponding permission differences.
[0077] The path optimization output submodule extracts the redundant difference corresponding to each path based on the path permission redundant difference table, sorts all the differences, selects the path number with the largest difference value as the live streaming path adjustment target, and obtains the low-risk streaming path selection result;
[0078] The path optimization output submodule sorts the permissible differences of all paths, and selects the path with the largest difference value as the live streaming path adjustment target based on the size of the permissible difference. During the sorting operation, the path with the larger permissible difference is selected as the priority adjustment path. The permissible difference of path P2 is set to 10, the permissible difference of path P3 is set to 15, and the permissible difference of path P4 is set to 5. The permissible difference of path P3 is the largest. The path optimization output submodule selects path P3 as the preferred path, and the low-risk streaming path selection result is path P3. The final output path P3 is the optimal live streaming path.
[0079] See also Figure 2 and Figure 6 ,The bandwidth priority division module includes a behavior index extraction submodule, a priority value calculation submodule, and a queue sorting output submodule;
[0080] The behavior indicator extraction submodule calls the low-risk streaming path selection results to obtain all viewing instance numbers under the target path in the current scheduling cycle. It then detects the cumulative viewing time, number of interactions per unit time, and number of buffered frames in the current cycle for each viewing instance. It then binds these three pieces of behavior data to the corresponding viewing instance number, establishes a behavior indicator set, and generates a viewing behavior indicator dataset.
[0081] The three behavioral data items are derived from the actual performance of viewing instances. Viewing time reflects the total time users spend watching videos along the viewing path. Interactions refer to user-initiated interactive behaviors during viewing, such as likes and comments. Buffered frames indicate the number of buffered frames due to network or hardware issues during video playback. The behavioral indicator extraction submodule combines the ID of each viewing instance, binds these three data items to the corresponding instance ID, and establishes a behavioral indicator set for each viewing instance. For example, if viewing instance ID is I001, its cumulative viewing time is 120 minutes, the number of interactions is 30, and the number of buffered frames is 5, the generated behavioral indicator set is I001->(120 minutes, 30 interactions, 5 frames). This process is repeated for all viewing instances, ultimately generating a complete viewing behavior indicator dataset. The behavioral data of each viewing instance can be found based on the instance ID, and the complete behavioral data set is output.
[0082] The priority value calculation submodule extracts the viewing duration, interaction frequency, and buffer frame value corresponding to each viewing instance based on the viewing behavior indicator dataset, calls the set weight parameters, and weights the three values to calculate the priority value of each viewing instance. It then establishes a mapping relationship between the viewing instance number and the weighted result to obtain a viewing instance priority value table.
[0083] The formula for calculating the priority value of each viewing instance is: ;in, Representative The priority value of each viewing instance, Representative The viewing time of each viewing instance, Representative Interaction frequency for viewing instances, Representative Number of buffered frames per viewing instance, and Represent the weight coefficients of viewing time and interaction frequency respectively;
[0084] The weight parameters are set through historical data analysis or set standards. Watch time, interaction frequency, and buffered frames each have different weights. The weight coefficient w_T for watch time is set to 0.5, and the weight coefficient w_F for interaction frequency is set to 0.3. The priority value calculation submodule will extract these three data items for each watch instance in turn and perform a weighted sum according to the preset weight coefficients. For example, if the watch time of watch instance I001 is set to 120 minutes, the interaction frequency is set to 30 times, and the buffered frame number is set to 5, the priority value is obtained by substituting them into the formula: ;
[0085] Through this calculation, the priority value corresponding to the viewing instance number I001 is generated as 21.34. The priority value calculation submodule performs this process on all viewing instances and finally outputs a viewing instance priority value table, which contains the numbers of all viewing instances and their corresponding priority values.
[0086] The queue sorting output submodule extracts the priority values corresponding to all viewing instances according to the viewing instance priority value table, sorts the instance numbers in descending order by value, generates the instance sorting queue under the current path, and obtains the service queue priority sorting information;
[0087] The priority values of viewing instance numbers I001, I002, and I003 are set to 21.34, 15.12, and 25.68 respectively. The queue sorting output submodule first sorts these priority values in descending order, and obtains the priority values 25.68, 21.34, and 15.12 after sorting. The corresponding viewing instance numbers after sorting are I003, I001, and I002. The instance sorting queues under the current path are generated as I003, I001, and I002. The final output service queue priority sorting information is I003, I001, and I002. The queue sorting output submodule determines the order of instance priority service according to the priority values to ensure that viewing instances with high priority values are given priority during the streaming process.
[0088] See also Figure 2 and Figure 7 ,The inter-frame change adjustment module includes an image difference extraction submodule, a ,content fluctuation identification submodule, and a redundancy ratio adjustment submodule;
[0089] The image difference extraction submodule obtains the push frame image sequence corresponding to each path in the current scheduling period based on the service queue priority information, extracts the pixel difference between the key frame and the adjacent frame in each path, calculates the mean of each group of pixel differences for each frame pair, and classifies them under the path number to generate a set of path frame pixel difference means;
[0090] The image difference extraction submodule will traverse the streaming images of each path in turn. First, it calculates the pixel difference between the key frame and the adjacent frames of each path. The key frame is usually the key frame point in the image sequence. Subsequent adjacent frames are compared with the key frame to extract the difference. The image difference extraction submodule calculates the pixel difference between each pair of adjacent frames one by one. The pixel difference can be represented by the absolute value of the pixel value difference. For example, if the pixel value of the first frame is 100 and the pixel value of the second frame is 120, the pixel difference is 20. Then, the mean of each group of pixel differences is calculated. For each path, the mean pixel difference of all frames is counted and classified under the path number. For example, the mean pixel difference of path P1 is 15, and the mean pixel difference of path P2 is 10. The image difference extraction submodule organizes these means into a mapping set of path numbers and pixel difference means, and finally generates a mean set of pixel differences between path frames.
[0091] The content fluctuation identification submodule calls the path inter-frame pixel difference mean set, extracts the pixel difference mean of each path in the current cycle, and compares it with the pixel difference mean of the same path number in the previous cycle. It calculates the path difference change rate and then determines the level of change rate corresponding to each path based on the preset content fluctuation classification interval to obtain the path content change level value.
[0092] The calculation formula for the path difference change rate is: ;
[0093] in, Representative The mean pixel difference of the current cycle of the path, Representative The mean pixel difference of one cycle on the path, Representative The rate of change of the difference between the paths;
[0094] The content fluctuation identification submodule determines the degree of path content fluctuation based on the calculated difference change rate. For example, for path P1, the average pixel difference in the current cycle is 15, and that in the previous cycle is 10. Substituting this into the formula yields: ;
[0095] Based on the calculated difference change rate, the content fluctuation identification submodule will compare the change rate with the preset content fluctuation grading interval for judgment. The grading interval is set to 0-1 for low fluctuation, 1-2 for medium fluctuation, and 2 and above for high fluctuation. The change rate of path P1 is 1.545, which belongs to the medium fluctuation interval. The content fluctuation identification submodule outputs the content change level corresponding to path P1 as medium fluctuation.
[0096] The redundancy ratio adjustment submodule extracts the current bandwidth redundancy ratio value of each path based on the path content change level value, calls the ratio adjustment rule corresponding to each level, determines whether to perform an increase, maintenance or decrease action, corrects the path bandwidth allocation, and obtains the content change graded bandwidth adjustment information;
[0097] The bandwidth redundancy ratio value represents the difference between the current path's available bandwidth and its actual bandwidth. The redundancy ratio adjustment submodule, based on each path's content change level and bandwidth redundancy ratio value, calls the ratio adjustment rule corresponding to each level to determine whether to increase, maintain, or decrease bandwidth allocation. If the path's change level is high, the redundancy ratio adjustment submodule may increase bandwidth allocation; if the change level is low, it may decrease bandwidth allocation; and if the change level is medium, bandwidth allocation remains unchanged. For example, if the bandwidth redundancy ratio of path P1 is set to 0.8 and the change level is medium, the redundancy ratio adjustment submodule will maintain path P1's bandwidth redundancy ratio. If the bandwidth redundancy ratio of path P2 is set to 0.5 and the change level is high, the redundancy ratio adjustment submodule will increase bandwidth allocation. The module ultimately outputs path bandwidth adjustment information, including the path number and its new bandwidth redundancy ratio value.
[0098] The above are merely preferred embodiments of the present invention and do not limit the present invention in any other form. Any technician familiar with the profession may use the technical content disclosed above to change or modify it into an equivalent embodiment with equivalent changes and apply it to other fields. However, any simple modification, equivalent change and modification made to the above embodiment based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall still fall within the scope of protection of the technical solution of the present invention.
Claims
1. A cloud computing-based live broadcast resource management system, characterized in that: The system comprises: The streaming access monitoring module obtains the access request time points of the streaming nodes within a unit time period through the cloud server, counts the number of time slice repetitions between the current cycle and the previous cycle of each streaming node, and generates a path time slice repetition data set; The path risk assessment module calculates the ratio of the concurrent access value to the number of connections permitted for each path based on the path time slice repetition data set, compares the ratio with the set access ratio judgment threshold value, determines the access risk level of the path, and obtains path access load level information; The scheduling path screening module compares the time slice duplication value of each path with the set time window overlap threshold based on the path access load level information, screens out paths with an overlap value exceeding the threshold, adjusts the live streaming path, and generates a low-risk streaming path selection result; The bandwidth priority division module calls the low-risk streaming path selection result, detects the viewing duration value, interaction frequency value and buffered frame value of each viewing instance within the scheduling period, calculates the priority value, and sorts the viewing instance set under the current path in descending order according to the priority value to obtain service queue priority sorting information; The path time slice duplication data set includes the streaming node access request time, time slice overlap period and time slice overlap density; the path access load level information includes the number of concurrent path accesses, the number of connection permissions, the access ratio and the path risk level; the low-risk streaming path selection result includes the screening path, overlap amount, number of connection permissions and expected number of accesses; the service queue priority sorting information includes viewing time, interaction frequency, number of buffered frames and priority value.
2. The cloud computing-based live broadcast resource management system according to claim 1, characterized in that: The streaming access monitoring module includes: The access time acquisition submodule obtains the access request time points of the streaming node within a unit time period through the cloud server, divides the window period into fixed-length windows based on the time axis, and marks the window number to which each time point belongs. All time points are classified by window number to generate streaming time window division data; The time slice overlap statistics submodule calls the streaming time window division data, extracts the window number set in the current cycle of each streaming node and the window number set in the past cycle, counts the number of intersections of the window numbers in the two sets, calculates the window number repetition value between the current cycle and the past cycle of each streaming node, and obtains the streaming time window overlap number set; The path node integration submodule obtains the time window overlap number of multiple streaming nodes corresponding to each path based on the streaming time window overlap number set, performs a sum operation on the repeated values of all nodes in each path, establishes a mapping set between the path number and the total overlap number value, and obtains the path time slice duplication data set.
3. The cloud computing-based live broadcast resource management system according to claim 2, characterized in that: The path risk assessment module includes: The permission parameter extraction submodule obtains the path time slice repetition data set, collects the connection permission number and the expected access number of the push node corresponding to each path, aggregates the permission parameters by path number, establishes a path correspondence between the connection permission number and the expected access number, and generates a path permission access parameter set; The connection load calculation submodule calls the path permission access parameter set, calculates the access load ratio of each path in the current period based on the expected access value and the connection permission value under each path, and records the corresponding relationship between the ratio and the path number to obtain a path access load ratio sequence; The risk level judgment submodule extracts the access load ratio of each path based on the path access load ratio sequence, calls the set path load ratio level threshold, compares the ratio interval and determines the corresponding level number, summarizes the correspondence between the path number and the level number, and obtains the path access load level information.
4. The cloud computing-based live broadcast resource management system according to claim 3, characterized in that: The scheduling path screening module includes: The path overlap elimination submodule calls the current candidate path set based on the path access load level information, obtains the time slice repetition value corresponding to each path and the set time window overlap threshold, compares the path time slice repetition value with the time window overlap threshold one by one, and eliminates the paths with time slice repetition values greater than the time window overlap threshold to obtain a list of low-overlap path numbers; The permission difference calculation submodule calls the low-overlap path number list, extracts the connection permission values and expected access values corresponding to the remaining paths, evaluates the difference between the connection permission value and the expected access value under each path, records the mapping relationship between the difference and the path number, and generates a path permission redundancy difference table; The path optimization output submodule extracts the redundant difference corresponding to each path according to the path permission redundant difference table, sorts all the differences, selects the path number with the largest difference value as the live streaming path adjustment target, and obtains the low-risk streaming path selection result.
5. The cloud computing-based live broadcast resource management system according to claim 4, characterized in that: The bandwidth priority division module includes: The behavior indicator extraction submodule calls the low-risk streaming path selection result, obtains all viewing instance numbers under the target path in the current scheduling period, detects the cumulative viewing time, number of interactions per unit time, and number of buffered frames in the current period for each viewing instance, binds these three behavioral data to the corresponding viewing instance number, establishes a behavior indicator set, and generates a viewing behavior indicator dataset; The priority value calculation submodule extracts the viewing duration value, interaction frequency value, and buffer frame value corresponding to each viewing instance based on the viewing behavior indicator data set, calls the set weight parameters, and performs a weighted calculation on the three values to calculate the priority value of each viewing instance. A mapping relationship between the viewing instance number and the weighted result is established to obtain a viewing instance priority value table; The queue sorting output submodule extracts the priority values corresponding to all viewing instances according to the viewing instance priority value table, sorts the instance numbers in descending order according to the value size, generates the instance sorting queue under the current path, and obtains the service queue priority sorting information.
Citation Information
Patent Citations
Method and system for reducing broadcasting delay in P2P (Peer-to-Peer) live broadcasting system
CN102055808A
E-commerce platform video live broadcast intelligent management system based on cloud computing
CN112511855A