Live broadcast method and device, nonvolatile storage medium and electronic equipment
By predicting the popularity of live programs and dynamically configuring cache nodes, the problem of lag caused by full load of single nodes in live broadcast acceleration is solved, and a more stable live broadcast service is achieved.
Patent Information
- Application Number
- CN202510316229.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-06-24
AI Technical Summary
In the acceleration of live broadcast, the existing technology can easily lead to full load of single nodes or single servers, resulting in the problem of lag in popular live broadcast programs.
By acquiring program list data, determining popular program data using a prediction model, determining the target cache node based on the popular program data, and instructing the target cache node to establish multiple video stream pull tasks for live broadcasting popular programs to divert the playback request of the video playback device.
It effectively avoids server overload, prevents live broadcast programs from being stuck, and improves the stability and user experience of live broadcast services.
Smart Images

Figure CN120201208A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and in particular, to a live broadcast method, apparatus, non-volatile storage medium, and electronic device. Background Art
[0002] In the related art, when providing a video playback service, caching is usually performed by means of a request-triggered origin return. To avoid stuttering during the playback of popular videos, popular accelerated content is generally prefetched and cached locally in advance. However, for live programs, their specific content cannot be prefetched in advance, and the files can only be cached in real time to a preset node or server by means of pulling the stream and slicing, which results in the situation that a single node or a single server is fully loaded during live broadcast acceleration in the related art, thus causing stuttering problems in popular live programs.
[0003] In view of the above problems, no effective solution has been proposed yet. Summary of the Invention
[0004] Embodiments of this application provide a live broadcast method, apparatus, non-volatile storage medium, and electronic device, so as to at least solve the technical problem of stuttering in popular live programs in a high-concurrency scenario caused by the method of pre-storing popular content locally to provide an acceleration service in the related art.
[0005] According to one aspect of the embodiments of this application, a live broadcast method is provided, including: obtaining program list data, and determining popular program data in the program list through a prediction model, where the popular program data includes the program identifier and the playback time period of a popular program; determining a target cache node according to the popular program data, and instructing the target cache node to establish a plurality of video stream pulling tasks for live broadcasting the popular program; after receiving a playback request from a video playback device, determining a target cache node corresponding to the video playback device, where the target cache node is used to provide a live broadcast service for the video playback device through the video stream pulling task.
[0006] Optionally, obtaining the program list data includes: obtaining initial program list data, where the initial program list data includes the program identifier and the playback time period of each program; retrieving the description information and discussion information of each program according to the program identifier, where the discussion information includes the number of people discussing each program, and the description information includes the scene information and the participant information of each program; adding the description information of each program to the initial program list data to obtain the program list data; converting the program list data into structured text data, and processing the structured text data through a prediction model.
[0007] Optionally, after retrieving the description information and discussion information of each program according to the program identifier, the method further includes: determining historical playback data of historical popular programs that match the scene information according to the scene information, where the historical playback data includes the playback time period of the historical popular programs and the viewing population information of the historical popular programs during the playback time period; adding the historical playback data to the program list data.
[0008] Optionally, the popular program data further includes the predicted viewing population of the popular program; determining the target cache node according to the popular program data and instructing the target cache node to establish multiple video stream pulling tasks for live broadcasting the popular program includes: determining the number of target cache nodes according to the predicted viewing population, where the target cache nodes include the first type of cache nodes and the second type of cache nodes, the first type of cache nodes are existing cache nodes, and the second type of cache nodes are newly added cache nodes for the popular program; determining the number of video stream pulling tasks established in each target cache node according to the number of target cache nodes, the predicted viewing population, and the configuration information of the target cache nodes.
[0009] Optionally, the popular program data further includes the predicted audience distribution information of the popular program; determining the number of target cache nodes according to the predicted viewing population includes: determining the predicted regional viewing population in each region according to the predicted audience distribution information and the predicted viewing population; determining the number of target cache nodes in each region according to the predicted regional viewing population and the configuration information of the cache nodes in each region.
[0010] Optionally, the video stream pulling task includes a first type of video stream pulling task and a second type of video stream pulling task, where the first type of video stream pulling task is a video stream pulling task loaded in the memory of the target cache node, and the second type of video stream pulling task is a video stream pulling task not loaded in the target cache node; after determining the target cache node corresponding to the video playing device, the method further includes: preferentially providing live broadcast services for the video playing device through the first type of video stream pulling task.
[0011] Optionally, after determining the target cache node corresponding to the video playing device, the method further includes: deleting some video stream pulling tasks after the popular program is played, where the number of the remaining video stream pulling tasks is a preset number.
[0012] Optionally, the prediction model is a gradient boosting decision tree model; the prediction model is trained in the following manner: training the prediction model through the historical popular program list data and adjusting the parameters of the prediction model by using the Bayesian optimization method during the training process.
[0013] According to another aspect of the embodiments of the present application, there is also provided a live broadcast device, including: a first processing module, configured to obtain program schedule data and determine popular program data in the program schedule through a prediction model, where the popular program data includes program identifiers of popular programs and playing time periods; a second processing module, configured to determine a target cache node according to the popular program data and instruct the target cache node to establish a plurality of video stream pulling tasks for live broadcasting popular programs; a third processing module, configured to determine a target cache node corresponding to the video playing device after receiving a playing request from the video playing device, where the target cache node is used to provide live broadcast services for the video playing device through the video stream pulling tasks.
[0014] According to another aspect of the embodiments of the present application, there is also provided a non-volatile storage medium, in which a program is stored. When the program runs, it controls the device where the non-volatile storage medium is located to execute the live broadcast method.
[0015] According to another aspect of the embodiments of the present application, there is also provided an electronic device, including: a memory and a processor, where the processor is configured to run a program stored in the memory. When the program runs, it executes the live broadcast method.
[0016] According to another aspect of the embodiments of the present application, there is also provided a computer program product, including a computer program, where the computer program implements the live broadcast method when executed by a processor.
[0017] In the embodiments of the present application, by obtaining program schedule data and determining popular program data in the program schedule through a prediction model, where the popular program data includes program identifiers of popular programs and playing time periods; determining a target cache node according to the popular program data and instructing the target cache node to establish a plurality of video stream pulling tasks for live broadcasting popular programs; and determining a target cache node corresponding to the video playing device after receiving a playing request from the video playing device, where the target cache node is used to provide live broadcast services for the video playing device through the video stream pulling tasks, the purpose of diverting the playing requests of the video playing device is achieved by predicting popular programs and adding video stream pulling tasks for popular programs in advance, thereby achieving the technical effect of avoiding the lag of live broadcast programs caused by server overload, and further solving the technical problem of the lag of popular live broadcast programs in high-concurrency scenarios caused by the method of pre-storing popular content locally to provide acceleration services in the related art. Description of the Drawings
[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0019] Figure 1 It is a schematic structural diagram of a live broadcast system provided according to an embodiment of the present application;
[0020] Figure 2 It is a schematic flowchart of a live broadcast method provided according to an embodiment of the present application;
[0021] Figure 3 It is a schematic structural diagram of a model training module provided according to an embodiment of the present application;
[0022] Figure 4 It is a schematic flowchart of a popular live broadcast program recognition process provided according to an embodiment of the present application;
[0023] Figure 5 It is a schematic flowchart of a popular live broadcast program acceleration process provided according to an embodiment of the present application;
[0024] Figure 6 It is a schematic structural diagram of a live broadcast device provided according to an embodiment of the present application;
[0025] Figure 7 It is a schematic structural diagram of an electronic device provided according to an embodiment of the present application. Detailed implementation manners
[0026] In order to enable those skilled in the art of the present technology to better understand the solution of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present application described herein can be implemented in an order different from those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0028] In order to better understand the embodiments of the present application, the technical terms involved in the embodiments of the present application are explained as follows:
[0029] Supervised learning: Also known as supervised machine learning, it is a subclass of machine learning and artificial intelligence. It is defined as using a labeled dataset to train an algorithm for classifying data or accurately predicting results. When the input data is fed into the model, it adjusts its weights until the model is properly fitted, which is part of the cross-validation process.
[0030] GBDT (Gradient Boosting Decision Tree): It is a long-lasting model in machine learning. Its main idea is to use weak classifiers (decision trees) to iteratively train to obtain an optimal model, which has advantages such as good training effect and not being prone to overfitting. GBDT is widely used in the industrial field and is usually used for tasks such as click-through rate prediction and search ranking.
[0031] LightGBM (Light Gradient Boosting Machine) is an efficient and scalable machine learning algorithm based on Gradient Boosting Decision Tree (GBDT). LGBM very well integrates a series of advantages of various algorithms within the previous GBDT algorithm framework including XGB, and has made a series of further optimizations on this basis. The core purpose of the LGBM algorithm is to solve the problem of low computational efficiency of the GBDT algorithm framework when dealing with massive data.
[0032] Live program list: For the CDN (Content Delivery Network) service that provides live broadcast services, the operator will obtain the playback content of each channel and each time period in advance and make it into a program list and deploy it in the cache platform in advance.
[0033] Bayesian optimization is a strategy for global optimization of functions, especially suitable for those computationally expensive black-box functions (such as hyperparameter tuning of machine learning models). Its core idea is to construct a surrogate model (usually a Gaussian process or a random forest), gradually select the optimal parameters, and thus effectively find the global optimal solution. Bayesian optimization can effectively explore the parameter space without requiring a large amount of computing resources and has the characteristics of being more efficient and more rigorous.
[0034] Video acceleration service: The video acceleration service refers to the service provided by the CDN for optimizing the transmission and accelerating the access of video streaming media. Its main purpose is to ensure that video content can be quickly and stably transmitted to the devices of end users. Live acceleration refers to using specific technologies and network optimization strategies to improve the transmission quality and efficiency of live videos and ensure that viewers can obtain a smooth and low-latency live experience.
[0035] In the related art, for ordinary accelerated content, CDN usually adopts the method of triggering the origin return by requests for caching, and for popular accelerated content, it generally adopts the prefetching method to cache it locally in advance.
[0036] However, for live channels, CDN can only pull the real-time TS (Transport Stream) shard files of the channel and cannot prefetch in advance. When there are popular evening parties, events, or sports live broadcasts, the CDN load suddenly increases, and it is easy for a single node or a single server to be fully loaded. It is impossible to intelligently balance and schedule service traffic, resulting in the problem of stuttering and spinning when users watch live content. Moreover, since live content cannot be prefetched in advance, CDN operators can only manually create copies of popular live programs to balance traffic after receiving offline notifications from the operator, and also need to manually delete the copies after the end to avoid garbage data.
[0037] To solve the above problems, relevant solutions are provided in the embodiments of the present application, which are described in detail below.
[0038] According to the embodiments of the present application, a method embodiment of a live broadcast method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0039] The method embodiment provided by the embodiments of the present application can be executed in Figure 1 the live broadcast system shown. As Figure 1 shown, an identification function component is added to the traditional CDN architecture in this system. The identification function component includes a live program list receiving module 10, an algorithm training module 12, and a label system 14, which are used to identify popular live programs. Among them, the identified popular live programs will be marked with popular labels through the label system 14 and then poured into the service function component of the CDN. The scheduling network element 16 controls the cache node to create multiple copies, load balancing strategies, and time periods of the popular channel. After the expiration of the popular program, the scheduling network element 16 notifies the cache node to recycle the redundant copies and strategies and resume the daily scheduling.
[0040] In some embodiments of the present application, the above-mentioned live program list receiving module 10 is used to receive program list data. It can also obtain relevant information of each program according to the received program list data, so as to improve the prediction accuracy. And the program list receiving module will also convert the program list data into structured text data.
[0041] The above algorithm training module 12 is used to train a popular program recognition model, which adopts the LightGBM algorithm. And after the model training is completed, the popular program data in the program list data is recognized through the model. Subsequently, the label system 14 tags the popular program list with tags recognizable by the scheduling network element 16.
[0042] In some embodiments of the present application, the scheduling network element 16 will notify the cache node to establish a multi-copy and memory-priority scheduling strategy for the popular program list. When the program is broadcast, the service traffic of users accessing the CDN will be evenly borne, achieving peak shaving and valley filling. At the same time, the scheduling network element 16 returns statistical data. After the program broadcast ends, the scheduling network element 16 will also summarize the playback data, process it and return it to the algorithm training module 12 for subsequent model correction and optimization. The above copy refers to the copy of the video stream pulling task. The memory-priority scheduling strategy means that after receiving a playback request, the video stream pulling task loaded into the memory is preferentially called.
[0043] As an alternative implementation, the scheduling network element 16 also has functions of dynamic scheduling, timing monitoring and statistics for popular program playback.
[0044] Under the above operating environment, the embodiments of the present application provide a live broadcast method, as Figure 2 shown, the method includes the following steps:
[0045] Step S202, obtain program list data, and determine the popular program data in the program list through a prediction model, where the popular program data includes the program identifier and the playback time period of the popular program;
[0046] In the technical solution provided in step S202, the steps of obtaining program list data and processing the program list data through a prediction model include: obtaining initial program list data, where the initial program list data includes the program identifier and the playback time period of each program; retrieving the description information and discussion information of each program according to the program identifier, where the discussion information includes the number of people discussing each program, and the description information includes the scene information and participant information of each program; adding the description information of each program to the initial program list data to obtain program list data; converting the program list data into structured text data, and processing the structured text data through a prediction model.
[0047] In some embodiments of the present application, first, the initial program list data can be obtained from the program production party or content provider. These data contain the unique identifier (such as program ID) of each program and the specific playback time period. The program ID is the key for subsequent information retrieval to ensure that the data related to each program can be accurately matched.
[0048] Next, use the program ID to conduct in-depth information retrieval on the Internet. The main goal is to collect the description information and discussion information of each program. The description information covers program types, themes, participants (such as hosts, guests), program scene descriptions, etc., which is the basis for understanding the content and nature of the program; the discussion information includes the discussion volume and the number of discussants on the program on network platforms such as social media, forums, and blogs, which can reflect the popularity of the program and the scale of potential viewers.
[0049] To retrieve this information efficiently, various data scraping techniques and strategies can be adopted. For example, for the collection of description information, a dedicated crawler program can be designed to crawl well-known entertainment information websites, official program pages, personal pages of actors and hosts, etc. Through keyword matching and semantic analysis, key description data can be automatically extracted and sorted. At the same time, using natural language processing technology, in-depth analysis of the program scene description is carried out to extract scene features and keywords, providing a richer information dimension for subsequent model training.
[0050] For the retrieval of discussion information, more reliance can be placed on social media analysis. For example, using API interfaces or customized crawler programs to search for keywords related to the program on major social media platforms (such as Weibo, Twitter, Facebook), and collecting interactive data such as discussion posts, comments, likes, and shares. Further, through sentiment analysis and topic detection technologies, the sentiment tendency (positive, neutral, negative) of the discussion is evaluated, and the hot topics of the discussion are identified, such as the performance of the guests, program highlights, and audience reactions. These information are crucial for understanding the program's popularity and audience preferences.
[0051] After collecting the description information and discussion information, data cleaning and preprocessing are also required to ensure the accuracy and consistency of the information. For example, denoising the crawled text, removing irrelevant words, and de-duplicating the number of discussants to avoid double counting of discussions by the same user on different platforms. At the same time, integrating structured data (such as program types, broadcast times) and unstructured data (such as review texts) to construct a unified data set for subsequent analysis and model training.
[0052] Finally, associate and store the sorted description information and discussion information, including participants, scene descriptions, the number of discussants, sentiment tendency, hot topics, etc., with the program ID and broadcast time period. These data are used as inputs to train the viewership prediction model, helping the system to more accurately predict the potential viewer scale of each program, providing a basis for the early preparation of CDN resources and subsequent dynamic scheduling. The entire retrieval and information integration process needs to be continuously optimized to cope with the dynamic changes of Internet data and improve the efficiency of information collection, ensuring that the prediction model is always trained based on the latest and most comprehensive data set.
[0053] Through automated tools and technologies, efficiently crawl and analyze program-related data from the Internet, convert unstructured description and discussion information into structured data, and provide rich training materials for subsequent prediction models. At the same time, through sentiment analysis and topic detection, deeply understand the audience's feedback and interest points on the program, so as to more accurately predict the program popularity, realize the intelligent optimization and dynamic allocation of CDN resources, and improve the quality of live broadcast services and user satisfaction. This method is not only applicable to specific live intelligent acceleration scenarios, but also can be widely applied to the popularity prediction and resource planning of various online contents.
[0054] As an alternative implementation, after retrieving the description information and discussion information of each program according to the program identifier, the method further includes: determining the historical playback data of historical popular programs that match the scenario information according to the scenario information, where the historical playback data includes the playback time period of the historical popular programs and the viewing population information of the historical popular programs during the playback time period; adding the historical playback data to the program list data.
[0055] In some embodiments of the present application, the prediction model is a gradient boosting decision tree model; the prediction model is trained in the following manner: training the prediction model through the historical popular program list data, and adjusting the parameters of the prediction model by using the Bayesian optimization method during the training process.
[0056] As an alternative implementation, an algorithm training module as shown in Figure 3 can be used to train the prediction model. As can be seen from Figure 3 , this module includes a receiver 30, a trainer 32, a transmitter 34, a parameter tuning module 36, and a memory 38. Among them, the data received by the receiver 30 includes the future program list synchronized by the upstream operator and the playback data of the popular program list returned by the downstream scheduling network element.
[0057] The trainer 32 is used to train the prediction model and call the model to determine the popular programs in the program list according to the future program list. The transmitter 34 is used to summarize the popular programs and send them to the label system. The parameter tuning module 38 is used to tune the model by using the Bayesian optimization method. The main parameters to be adjusted include the maximum depth, the number of leaves, subsampling, regularization, etc. The memory 38 is used to store a copy of the future program list and the actual playback popular program list data.
[0058] Step S204, determine the target cache node according to the popular program data, and instruct the target cache node to establish multiple video stream pulling tasks for live broadcasting popular programs;
[0059] In the technical solution provided in step S204, the popular program data further includes the predicted number of viewers of the popular program; the steps of determining the target cache node based on the popular program data and instructing the target cache node to establish multiple video stream pulling tasks for live broadcasting the popular program include: determining the number of target cache nodes according to the predicted number of viewers, where the target cache nodes include the first type of cache nodes and the second type of cache nodes, the first type of cache nodes are existing cache nodes, and the second type of cache nodes are newly added cache nodes for the popular program; determining the number of video stream pulling tasks established in each target cache node according to the number of target cache nodes, the predicted number of viewers, and the configuration information of the target cache nodes.
[0060] As an alternative implementation, the popular program data further includes the predicted audience distribution information of the popular program; the step of determining the number of target cache nodes according to the predicted number of viewers includes: determining the predicted regional number of viewers in each region according to the predicted audience distribution information and the predicted number of viewers; determining the number of target cache nodes in each region according to the predicted regional number of viewers and the configuration information of the cache nodes in each region.
[0061] In some embodiments of the present application, by introducing the predicted audience distribution information of the popular program, the configuration strategy of the cache nodes can be further refined and optimized to ensure the accurate satisfaction of the regional viewing requirements. Using the predicted audience distribution information and combining with the predicted number of viewers, the number of target cache nodes in each region can be dynamically adjusted to achieve the efficient allocation and utilization of resources. The process of predicting the total number of viewers and the number of viewers in each region includes the following steps:
[0062] The first step: Data collection and preprocessing
[0063] Collect program viewing data from historical viewing records, including but not limited to the geographical location information of the viewers, viewing time periods, viewing durations, network types, etc. After cleaning and preprocessing these data, they are converted into a structured data set for further training and analysis of the model.
[0064] The second step: Build a prediction model
[0065] Based on the collected historical data, use the LightGBM algorithm to build a prediction model. During the model training process, special attention is paid to the geographical location distribution of the viewers to predict the potential audience distribution of future live programs in different regions. The training set includes the audience distribution information and the actual number of viewers of past popular programs. Based on this, the model learns how to predict the audience distribution and the number of viewers according to factors such as program attributes, time, and region.
[0066] The third step, predict the audience distribution
[0067] After the model training is completed, use the model to predict the audience distribution of upcoming popular programs in the future, and output the predicted audience distribution information, including the number of potential audiences in each region. This prediction is based on multiple factors, such as program type, promotion intensity, broadcast time, target audience characteristics, etc., to improve the accuracy of the prediction.
[0068] Step 4: Determine the number of target cache nodes
[0069] Based on the predicted audience distribution information and the predicted number of viewers, further determine the predicted number of viewers in the predicted regions in each area, that is, predict the number of audiences watching the live program in a specific area. Next, according to the predicted number of viewers in the region, combined with the cache node configuration information in each region, such as the bandwidth, storage capacity, concurrent processing ability, etc. of the node, calculate the number of target cache nodes in each region. The goal is to ensure that enough cache nodes are configured in the regions with a large predicted number of viewers to meet the high-concurrency demand, while in the regions with a small number of viewers, reasonably reduce the number of cache nodes to avoid resource waste.
[0070] Step 5: Dynamic configuration of cache nodes
[0071] According to the number of target cache nodes calculated in Step 4, perform dynamic configuration on the cache nodes in each region. Increase the number of cache nodes in the regions with a large predicted number of viewers, and at the same time adjust the node configuration strategy, such as setting a memory-priority scheduling strategy, to ensure the rapid distribution of live content. Reduce the number of cache nodes in the regions with a small predicted number of viewers, and at the same time recycle the redundant resources to improve the overall resource utilization rate.
[0072] Step 6: Resource recycling and model correction
[0073] After the live program ends, according to the actual viewing data, including the actual number of viewers and the audience distribution, adjust the model prediction and correct the prediction error. At the same time, start the resource recycling process to recycle the resources of the cache nodes, and only retain the resources and copy quantities required for daily services to avoid redundancy and reduce operating costs.
[0074] Step 7: Continuous optimization and learning
[0075] As the system runs, continuously collect the actual viewing data, including the audience distribution and the number of viewers, for the continuous optimization and learning of the model. Through tuning strategies such as Bayesian optimization, regularly adjust the model parameters, such as the maximum depth, number of leaves, subsampling ratio, regularization parameter, etc., to improve the prediction accuracy and system performance.
[0076] By implementing the regional cache optimization strategy based on predicted audience distribution information, the system can more accurately predict the potential audience distribution of future live programs, and then dynamically adjust the configuration of cache nodes, significantly improving the resource utilization rate and the viewing experience of the audience. In high-concurrency live scenarios, such as large-scale sports events and popular entertainment programs, the system can respond quickly, avoiding the problem of single-point overload. At the same time, during periods and regions with fewer viewers, resource waste is reduced, and overall, the efficiency and service quality of the CDN network are improved.
[0077] Moreover, for live services with obvious regional viewing preferences, such as local event live broadcasts and regional cultural festival live broadcasts, through accurate prediction and resource allocation, it can ensure that audiences in each region can obtain high-quality services while reducing the overall operating cost.
[0078] In some embodiments of the present application, the process of determining popular programs is as Figure 4 shown, including the following steps:
[0079] Step S402, obtain the content of the future program schedule synchronized by the operator and convert it into structured text for subsequent processing.
[0080] Step S404, use the live program schedule with historical playback peaks as the classification criterion to train the future program schedule and extract the popular program schedule.
[0081] Step S406, the tagging system tags the popular program schedule and converts it into an identifier recognizable by the CDN scheduling network element.
[0082] Step S408, the scheduling network element notifies multiple cache nodes to create copies of the popular program schedule and sets a scheduling policy with memory priority.
[0083] Step S410, the cache nodes use the multi-copy and priority caching strategy to handle the playback peak, achieve peak shaving and valley filling, and return the statistical data to the scheduling network element.
[0084] Step S412, the scheduling network element aggregates the playback data and optimizes the model based on the aggregated data after processing.
[0085] Step S206, after receiving the playback request from the video playback device, determine the target cache node corresponding to the video playback device, where the target cache node is used to provide live services for the video playback device through video stream pulling tasks.
[0086] In the technical solution provided in step S206, the video stream pulling task includes a first type of video stream pulling task and a second type of video stream pulling task. Among them, the first type of video stream pulling task is the video stream pulling task loaded in the memory of the target cache node, and the second type of video stream pulling task is the video stream pulling task not loaded in the target cache node. After determining the target cache node corresponding to the video playback device, the method further includes: preferentially providing live broadcast services for the video playback device through the first type of video stream pulling task.
[0087] As an alternative implementation, after determining the target cache node corresponding to the video playback device, the method further includes: after the popular program is played, deleting some video stream pulling tasks, where the number of remaining video stream pulling tasks is a preset number.
[0088] In some embodiments of the present application, the live broadcast acceleration process of popular live programs is as Figure 5 shown and includes the following steps:
[0089] Step S502, the scheduling network element scans the remaining playback time of the popular live program list through a timing task.
[0090] Step S504, when the remaining playback time is not 0, the cache node continues to accelerate the popular content with multiple copies.
[0091] Step S506, when the remaining playback time is 0, the scheduling network element starts the redundant resource destruction process and notifies the cache node to delete the redundant copies.
[0092] Step S508, the cache node only retains the number of copies required for daily services, and deletes the remaining copies and reports them to the scheduling network element.
[0093] By obtaining the program list data and determining the popular program data in the program list through a prediction model, where the popular program data includes the program identifier and playback time period of the popular program; determining the target cache node based on the popular program data and instructing the target cache node to establish multiple video stream pulling tasks for live broadcasting popular programs; after receiving the playback request of the video playback device, determining the target cache node corresponding to the video playback device, where the target cache node is used to provide live broadcast services for the video playback device through the video stream pulling task, by predicting popular programs and adding video stream pulling tasks in advance for popular programs, the purpose of diverting the playback requests of the video playback device is achieved, thereby achieving the technical effect of avoiding the lag of live programs caused by server overload, and further solving the technical problem of the lag of popular live programs in high-concurrency scenarios caused by the method of pre-storing popular content locally to provide acceleration services in the related art.
[0094] The embodiments of the present application provide a live broadcast deviceFigure 6 is a structural schematic diagram of the device. As can be seen from Figure 6 it, the device includes: a first processing module 60, configured to obtain program schedule data and determine popular program data in the program schedule through a prediction model, where the popular program data includes program identifiers and play time periods of popular programs; a second processing module 62, configured to determine a target cache node according to the popular program data and instruct the target cache node to establish multiple video stream pulling tasks for live broadcasting popular programs; and a third processing module 64, configured to determine a target cache node corresponding to a video playing device after receiving a play request of the video playing device, where the target cache node is configured to provide live broadcast services for the video playing device through the video stream pulling tasks.
[0095] In some embodiments of the present application, the steps of the first processing module 60 obtaining program schedule data and processing the program schedule data through a prediction model include: obtaining initial program schedule data, where the initial program schedule data includes program identifiers and play time periods of each program; retrieving description information and discussion information of each program according to the program identifier, where the discussion information includes the number of people discussing each program, and the description information includes scene information and participant information of each program; adding the description information of each program to the initial program schedule data to obtain program schedule data; converting the program schedule data into structured text data, and processing the structured text data through a prediction model.
[0096] In some embodiments of the present application, after retrieving the description information and discussion information of each program according to the program identifier, the first processing module 60 is further configured to: determine historical play data of historical popular programs matching the scene information according to the scene information, where the historical play data includes play time periods of historical popular programs and viewing number information of historical popular programs during the play time periods; and add the historical play data to the program schedule data.
[0097] In some embodiments of the present application, the prediction model is a gradient boosting decision tree model; the prediction model is trained in the following manner: training the prediction model through historical popular program schedule data, and adjusting parameters of the prediction model by using a Bayesian optimization method during the training process.
[0098] In some embodiments of the present application, the popular program data further includes the predicted number of viewers of the popular program; the step in which the second processing module 62 determines the target cache node according to the popular program data and instructs the target cache node to establish a plurality of video stream pulling tasks for live broadcasting the popular program includes: determining the number of target cache nodes according to the predicted number of viewers, wherein the target cache nodes include the first type of cache nodes and the second type of cache nodes, the first type of cache nodes being existing cache nodes, and the second type of cache nodes being newly added cache nodes for the popular program; determining the number of video stream pulling tasks established in each target cache node according to the number of target cache nodes, the predicted number of viewers, and the configuration information of the target cache nodes.
[0099] In some embodiments of the present application, the popular program data further includes the predicted viewer distribution information of the popular program; the step in which the second processing module 62 determines the number of target cache nodes according to the predicted number of viewers includes: determining the predicted regional number of viewers in each region according to the predicted viewer distribution information and the predicted number of viewers; determining the number of target cache nodes in each region according to the predicted regional number of viewers and the configuration information of the cache nodes in each region.
[0100] In some embodiments of the present application, the video stream pulling tasks include the first type of video stream pulling tasks and the second type of video stream pulling tasks, wherein the first type of video stream pulling tasks are video stream pulling tasks loaded in the memory of the target cache node, and the second type of video stream pulling tasks are video stream pulling tasks not loaded in the target cache node; after determining the target cache node corresponding to the video playing device, the third processing module 64 is further configured to: preferentially provide live broadcast services for the video playing device through the first type of video stream pulling tasks.
[0101] In some embodiments of the present application, after determining the target cache node corresponding to the video playing device, the third processing module 64 is further configured to: after the popular program is played, delete some of the video stream pulling tasks, wherein the number of the remaining video stream pulling tasks is a preset number.
[0102] It should be noted that each module in the above live broadcast device may be a program module (for example, a set of program instructions for implementing a specific function), or a hardware module. For the latter, it may be presented in the following forms, but not limited to: the presentation form of each of the above modules is a processor, or the functions of each of the above modules are implemented by a processor.
[0103] According to an embodiment of the present application, an electronic device is further provided. Figure 7 The hardware structure block diagram of an electronic device such as a computer terminal (or mobile device) for implementing the live broadcast method is shown. As Figure 7As shown, the computer terminal 70 (or mobile device 70) may include one or more processors 702 (shown as 702a, 702b, ……, 702n in the figure) (the processor 702 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 704 for storing data, and a transmission device 706 for communication functions. In addition, it may further include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply, and / or a camera. Those of ordinary skill in the art can understand that Figure 7 the structure shown is only schematic and does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 70 may further include more or fewer components than those Figure 7 shown in, or have a different configuration from that Figure 7 shown.
[0104] It should be noted that the above one or more processors 702 and / or other data processing circuits can generally be referred to as "data processing circuits" herein. The data processing circuit may be embodied in whole or in part as software, hardware, firmware, or any combination thereof. In addition, the data processing circuit may be a single independent processing module, or be incorporated in whole or in part into any one of other elements in the computer terminal 70 (or mobile device). As involved in the embodiments of the present application, the data processing circuit is a processor control (such as the selection of a variable resistance terminal path connected to an interface).
[0105] The memory 704 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the live broadcast method in the embodiments of the present application. The processor 702 executes various functional applications and data processing by running the software programs and modules stored in the memory 704, that is, implements the above-mentioned live broadcast method. The memory 704 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 704 may further include a memory remotely set relative to the processor 702, and these remote memories can be connected to the computer terminal 70 through a network. Examples of the above network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0106] The transmission device 706 is used to receive or send data via a network. Specific examples of the above-mentioned network may include a wireless network provided by the communication provider of the computer terminal 70. In one example, the transmission device 706 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 706 can be a Radio Frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0107] The display can be, for example, a touch-screen liquid crystal display (LCD), which enables the user to interact with the user interface of the computer terminal 70 (or mobile device).
[0108] According to an embodiment of the present application, a non-volatile storage medium is further provided. A program is stored in the non-volatile storage medium. When the program runs, it controls the device where the non-volatile storage medium is located to execute the following live broadcast method: obtain program list data, and determine the popular program data in the program list through a prediction model, where the popular program data includes the program identifier and the playing time period of the popular program; determine the target cache node according to the popular program data, and instruct the target cache node to establish multiple video stream pulling tasks for live broadcasting the popular program; after receiving the playing request of the video playing device, determine the target cache node corresponding to the video playing device, where the target cache node is used to provide live broadcast services for the video playing device through the video stream pulling tasks.
[0109] According to an embodiment of the present application, a computer program product is further provided, including a computer program. When the computer program is executed by a processor, it implements the following live broadcast method: obtain program list data, and determine the popular program data in the program list through a prediction model, where the popular program data includes the program identifier and the playing time period of the popular program; determine the target cache node according to the popular program data, and instruct the target cache node to establish multiple video stream pulling tasks for live broadcasting the popular program; after receiving the playing request of the video playing device, determine the target cache node corresponding to the video playing device, where the target cache node is used to provide live broadcast services for the video playing device through the video stream pulling tasks.
[0110] In the above embodiments of the present application, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0111] In several embodiments provided by the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of the units can be a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the couplings or direct couplings or communication connections shown or discussed with each other can be through some interfaces. The indirect couplings or communication connections of units or modules can be in electrical or other forms.
[0112] The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they can be located in one place or distributed to multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0113] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0114] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the related technology, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The foregoing storage medium includes: various media such as USB flash drives, read-only memories (ROMs), random access memories (RAMs), mobile hard disks, magnetic disks or optical discs that can store program codes.
[0115] The above is only the preferred embodiment of the present application. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present application, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present application.
Claims
1. A live broadcast method, characterized in that: include: Acquire program list data, and determine popular program data in the program list through a prediction model, wherein the popular program data includes program identifiers and broadcast time periods of the popular programs; Determine a target cache node according to the popular program data, and instruct the target cache node to establish multiple video stream pulling tasks for live broadcasting of the popular program; After receiving a playback request from a video playback device, the target cache node corresponding to the video playback device is determined, wherein the target cache node is used to provide a live broadcast service for the video playback device through the video stream pulling task.
2. The live broadcast method according to claim 1, characterized in that: Obtaining program list data includes: Acquire initial program list data, wherein the initial program list data includes program identifiers and broadcast time periods of various programs; Retrieving description information and discussion information of each program according to the program identifier, wherein the discussion information includes the number of people discussing each program, and the description information includes scene information and participant information of each program; The description information of each program is added to the initial program list data to obtain the program list data.
3. The live broadcast method according to claim 2, characterized in that: After retrieving the description information and discussion information of each program according to the program identifier, the method further includes: Determining, according to the scene information, historical playback data of a historical popular program that matches the scene information, wherein the historical playback data includes a playback time period of the historical popular program and information on the number of viewers of the historical popular program during the playback time period; The historical playback data is added to the program list data.
4. The live broadcast method according to claim 1, characterized in that: The popular program data also includes the predicted number of viewers of the popular program; determining a target cache node according to the popular program data, and instructing the target cache node to establish multiple video stream pulling tasks for live broadcasting of the popular program includes: Determine the number of the target cache nodes according to the predicted number of viewers, wherein the target cache nodes include first-type cache nodes and second-type cache nodes, the first-type cache nodes are existing cache nodes, and the second-type cache nodes are newly added cache nodes for the popular program; The number of the video stream pulling tasks established in each of the target cache nodes is determined according to the number of the target cache nodes, the predicted number of viewers and the configuration information of the target cache nodes.
5. The live broadcast method according to claim 4, characterized in that: The popular program data also includes predicted audience distribution information of the popular program; determining the number of target cache nodes according to the predicted number of viewers includes: Determining the predicted regional viewing number in each area according to the predicted audience distribution information and the predicted viewing number; The number of the target cache nodes in each area is determined according to the predicted number of viewers in the area and the configuration information of the cache nodes in each area.
6. The live broadcast method according to claim 1, characterized in that: The video stream pulling task includes a first type of video stream pulling task and a second type of video stream pulling task, wherein the first type of video stream pulling task is a video stream pulling task loaded in the memory of the target cache node, and the second type of video stream pulling task is a video stream pulling task not loaded in the target cache node; after determining the target cache node corresponding to the video playback device, the method further includes: The live broadcast service is preferentially provided to the video playback device through the first type of video stream pulling task.
7. The live broadcast method according to claim 1, characterized in that: After determining the target cache node corresponding to the video playback device, the method further includes: After the popular program is played, some of the video stream pulling tasks are deleted, wherein the number of the remaining video stream pulling tasks is a preset number.
8. The live broadcast method according to claim 1, characterized in that: The prediction model is a gradient boosting decision tree model; the prediction model is trained in the following way: The prediction model is trained by using historical popular program list data, and the parameters of the prediction model are adjusted by using the Bayesian optimization method during the training process.
9. A live broadcast device, characterized in that: include: A first processing module is used to obtain program list data, and process the program list data through a prediction model to determine popular program data in the program list, wherein the popular program data includes program identifiers and broadcast time periods of popular programs; A second processing module is used to determine a target cache node according to the popular program data, and instruct the target cache node to establish multiple video stream pulling tasks for live broadcasting of the popular program; The third processing module is used to determine the target cache node corresponding to the video playback device after receiving the playback request of the video playback device, wherein the target cache node is used to provide live broadcast service for the video playback device through the video stream pulling task.
10. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a program, wherein when the program is running, the device where the non-volatile storage medium is located is controlled to execute the live broadcast method according to any one of claims 1 to 7.
11. An electronic device, characterized in that: include: A memory and a processor, wherein the processor is used to run a program stored in the memory, wherein the live broadcast method described in any one of claims 1 to 7 is executed when the program is run.
12. A computer program product, characterized in that It comprises a computer program which, when executed by a processor, implements the live broadcast method according to any one of claims 1 to 8.
Citation Information
Cited By
IPTV live broadcast data processing method and device, medium and computer equipment
CN120769076A
Video operation execution method and device, storage medium and electronic equipment
CN121012943A