Live broadcast resource scheduling method and device
By generating and injecting the environmental variables of the target dyeing labels into the live broadcast platform, the problem that the live broadcast platform cannot achieve full-link dyeing during peak periods is solved, and the refined management of live broadcast streams and optimized resource utilization is achieved.
Patent Information
- Application Number
- CN202411721039.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-02-25
AI Technical Summary
It is difficult for live broadcast platforms to deploy directly to third-party computing resources during peak traffic periods, and it is impossible to achieve full-link dyeing of live broadcasts.
The target staining mark is generated through the dyeing system and sent to the environmental variables of the target computing node. The dyeing mark is obtained and determined through the scheduling system, so that when a live stream request carrying the dyeing mark is received, a suitable computing node is selected to provide the live stream.
The traffic dyeing channel between the live broadcast scheduling system and third-party computing resources is realized, ensuring full-link dyeing of live broadcasts and improving the stability and fault tolerance of live broadcast services.
Smart Images

Figure CN119520839A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular, to a live broadcast resource scheduling method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] Traffic coloring systems are often used in live broadcast platforms to monitor traffic conditions in live broadcast links and use local computing resources for version testing. With the development of online live broadcast technology and the continuous expansion of the audience group, during peak traffic periods such as emergencies or popular events, live broadcast platforms often need to borrow third-party computing resources to help provide live broadcast services. However, since live broadcast platforms and third-party computing resources are usually different systems or platforms, the traffic coloring system of live broadcast platforms cannot be directly deployed to third-party computing resources, and full-link coloring of live broadcasts cannot be achieved.
[0003] It should be noted that the above content is not necessarily prior art, nor is it intended to limit the scope of patent protection of this application. Summary of the invention
[0004] The embodiments of the present application provide a live broadcast resource scheduling method, apparatus, computer equipment, computer-readable storage medium, and computer program product to solve or alleviate one or more of the technical problems raised above.
[0005] An aspect of an embodiment of the present application provides a live broadcast resource scheduling method, the method comprising: Generate target staining mark through staining system; Sending the target coloring identifier to a target computing node through the coloring system to update the target coloring identifier to an environment variable of the target computing node, wherein the target computing node is at least one of the plurality of computing nodes; Acquire the updated environment variables through the scheduling system; Determining the target staining identifier according to the updated environmental variables by the scheduling system; When a live stream request carrying the target coloring identifier is received, the scheduling system selects the target computing node from the plurality of computing nodes according to the target coloring identifier to provide the target live stream.
[0006] Optionally, the method further comprises: Determine the target audience end from multiple audience ends through the coloring system; The target coloring identifier is sent to the target audience terminal through the coloring system, so that the target audience terminal generates a live streaming request according to the target coloring identifier.
[0007] Optionally, there are multiple target computing nodes, and the method further includes: Acquire the status information of each of the target computing nodes through the scheduling system, wherein the status information includes load information; The scheduling system selects one of the target computing nodes as a streaming node to provide the target live stream according to the status information of each of the target computing nodes.
[0008] Optionally, selecting one of the target computing nodes as a streaming node to provide the target live stream through a scheduling system according to the status information of each of the target computing nodes includes: Acquire multiple first live streams from the multiple target computing nodes; According to the multiple first live streams and the target live stream, one or more same-stream nodes are determined from the multiple target computing nodes; among the same-stream nodes, one of the first live streams and the target live stream refers to the same live stream; When at least one of the same-flow nodes meets the load condition, determining the streaming node from at least one of the same-flow nodes; When the one or more nodes with the same flow do not meet the load condition, the streaming node is determined from a plurality of reserved nodes.
[0009] Optionally, the method further comprises: In the case that the same-stream node does not exist among the multiple target computing nodes, determining the streaming node from the multiple target computing nodes that meet the load condition; When none of the multiple target computing nodes meets the load condition, the streaming node is determined from the multiple reserved nodes.
[0010] Optionally, the method further comprises: In a case where the target computing node does not exist in the multiple computing nodes, acquiring multiple second live streams in the multiple computing nodes; Determine one or more same-stream nodes from the plurality of computing nodes according to the plurality of second live streams and the target live stream; When at least one of the same-flow nodes meets the load condition, determining the streaming node from at least one of the same-flow nodes; When one or more of the same-stream nodes do not meet the load condition, the streaming node is determined from a plurality of reserved nodes.
[0011] Another aspect of an embodiment of the present application provides a live broadcast resource scheduling device, the device comprising: A generation module, used for generating a target staining mark through a staining system; A sending module, used to send the target coloring identifier to a target computing node through the coloring system to update the target coloring identifier to the environment variable of the target computing node, wherein the target computing node is at least one of the multiple computing nodes; An acquisition module, used for acquiring the updated environment variables through a scheduling system; A determination module, configured to determine the target staining identifier according to the updated environmental variables through the scheduling system; The scheduling module is used to select the target computing node from the plurality of computing nodes to provide the target live stream through the scheduling system according to the target coloring identifier when receiving the live stream request carrying the target coloring identifier.
[0012] Another aspect of an embodiment of the present application provides a computer device, including: at least one processor; and a memory communicatively coupled to the at least one processor; Wherein: the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method as described above.
[0013] Another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the method described above is implemented.
[0014] Another aspect of an embodiment of the present application provides a computer program product, including a computer program, which implements the method described above when executed by a processor.
[0015] The above technical solution adopted in the embodiment of the present application may include the following advantages: injecting the target coloring identifier into the environment variable of the target computing node, and selecting the target computing node through the scheduling system to provide the live stream, thereby opening up the traffic coloring channel between the live scheduling system and the third-party computing resources (computing nodes), and realizing full-link coloring of the live broadcast. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0016] Figure 1 The operating environment diagram of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown; Figure 2The flowchart of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown; Figure 3 The newly added flow chart of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown; Figure 4 Another newly added flow chart of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown; Figure 5 Schematically shows Figure 4 Flow chart of sub-steps of step S402; Figure 6 Another newly added flow chart of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown; Figure 7 Another newly added flow chart of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown; Figure 8 is an example diagram of a system architecture according to a live broadcast resource scheduling method using an embodiment of the present application; Fig. 9 is a workflow diagram of a live broadcast resource scheduling method according to an embodiment of the present application; Fig.10 A block diagram of a live broadcast resource scheduling device according to Embodiment 2 of the present application is schematically shown; and Fig.11 The hardware architecture diagram of the computer device according to the third embodiment of the present application is schematically shown. DETAILED DESCRIPTION
[0017] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0018] It should be noted that the descriptions involving "first", "second", etc. in the embodiments of the present application are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0019] In the description of the present application, it should be understood that the numerical labels before the steps do not indicate the order in which the steps are executed, but are only used to facilitate the description of the present application and to distinguish each step, and therefore should not be understood as a limitation on the present application.
[0020] First, the following terms are explained: Traffic coloring: A technology used to manage and control traffic in a microservice architecture. Specific identifiers (i.e., "coloring") are added to requests at the traffic inlet, and then these identifiers are parsed, transmitted, and service routed at the basic framework layer.
[0021] Dyeing experiment: It is a network traffic analysis technology used to simulate and trace the path of network requests to detect and diagnose performance problems in the network.
[0022] Full live broadcast link: refers to the complete live broadcast link from client traffic request to the live broadcast platform scheduling system and third-party computing resources that communicate with the live broadcast platform.
[0023] Resource Gateway: A component in the network architecture that manages and controls access to resources and is responsible for processing all requests and responses to and from the resource server.
[0024] Live streaming: A real-time transmission of audio and video data streams that allows users to watch content during live broadcasts.
[0025] Environment variables: A series of dynamic configuration parameters used in the operating system to define the system operating environment. They store external configuration information that the program may rely on when running, such as file paths, system configurations, or user preferences.
[0026] Live streaming: The process of pushing live audio and video content from the source or edge node (such as a computing node) to the audience.
[0027] Public cloud: is a cloud computing service model in which service providers provide IT resources such as computing resources, storage space, databases, networks, software, etc. to the public or large user groups through the Internet.
[0028] Weighted hashing: A method of allocating elements in a hash table that allows different key-value pairs to have different probabilities of being stored or retrieved based on their importance or frequency of use. Weighted hashing is implemented by assigning a weight value to each key, which determines the probability of that key being assigned to a specific slot in the hash table.
[0029] Consistent hashing: Distributed hashing technology maps nodes and data to a virtual ring to achieve smooth data migration and load balancing when nodes are added or reduced.
[0030] The embodiment of the present application provides a technical solution for scheduling live broadcast resources. In this technical solution, the target coloring identifier is injected into the environment variable of the target computing node, and the target computing node is selected by the scheduling system to provide the live broadcast stream, thereby opening up the traffic coloring channel between the live broadcast scheduling system and the third-party computing resources, and realizing the full-link coloring of live broadcast. See below for details.
[0031] For ease of understanding, an exemplary operating environment is provided below.
[0032] like Figure 1 As shown, the operating environment diagram includes: server 2, network 4, computing node 6, and audience terminal 8.
[0033] Among them, server 2 can be a server cluster or a cloud computing service center. Server 2 can be configured with a live broadcast scheduling system. The live broadcast scheduling system can include a dyeing system and a scheduling system. Server 2 can provide services such as storage, forwarding, configuration, and statistical analysis. For example, it provides storage services for live broadcast data, user data, resource scheduling data, dyeing identification data, etc., and provides forwarding services for live broadcast data, request information, dyeing identification data, etc.
[0034] The network 4 may include various network devices, such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, and / or proxy devices, etc. For example, the network 4 may include physical links, such as coaxial cable links, twisted pair cable links, optical fiber links, combinations thereof, and / or the like. For example, the network 4 may include wireless links, such as cellular links, satellite links, Wi-Fi links, and / or the like.
[0035] The computing node 6 can provide content distribution services. The computing node receives the scheduling of the server 2 and can be configured to: respond to a request for a specific resource (such as a live broadcast file) and provide the corresponding resource to the audience.
[0036] The audience terminal 8 may be configured to receive the live broadcast data in real time through the computing node 6. The audience terminal 8 may be any type of computing device, such as a smart phone, a tablet device, a laptop computer, a set-top box, a smart TV, etc. The audience terminal 8 may have a built-in browser or a special program, and receive the live broadcast data through the browser or the special program to output content to the user. The content may include video, audio, comments, text data and / or the like.
[0037] It should be noted that the number of servers 2, networks 4, computing nodes 6, and audience terminals 8 in the figure is only illustrative and is not used to limit the scope of patent protection of this application. Depending on the actual situation, there can be any number of servers, networks, computing nodes, and audience terminals.
[0038] The following is based on the live broadcast scheduling system of the server 2, and introduces the technical solution of the present application through multiple embodiments. It should be noted that these embodiments can be implemented in a variety of different forms and should not be interpreted as being limited to the embodiments described here.
[0039] Embodiment 1 Figure 2 The flowchart of the live broadcast resource scheduling method according to the first embodiment of the present application is schematically shown.
[0040] like Figure 2 As shown, the live broadcast resource scheduling method may include steps S200 to S208, wherein: Step S200, generating a target dyeing mark by a dyeing system.
[0041] Step S202: sending the target coloring identifier to a target computing node through the coloring system to update the target coloring identifier to the environment variable of the target computing node, where the target computing node is at least one of the multiple computing nodes.
[0042] Step S204: obtaining the updated environment variables through the scheduling system.
[0043] Step S206, determining the target dyeing mark according to the updated environmental variables by the scheduling system; Step S208, when receiving a live stream request carrying the target coloring identifier, the scheduling system selects the target computing node from the plurality of computing nodes according to the target coloring identifier to provide the target live stream.
[0044] The live broadcast resource scheduling method provided in this embodiment injects the target coloring identifier into the environment variable of the target computing node. When a live broadcast stream request carrying the target coloring identifier is received, the target computing node can be selected through the scheduling system, and the target live broadcast stream is provided by the target computing node injected with the target coloring identifier, thereby opening up the traffic coloring channel between the live broadcast scheduling system and the third-party computing resources (computing nodes), and realizing full-link coloring of live broadcast.
[0045] The following combination Figure 2 , each step in steps S200~S208 and other optional steps are explained in detail.
[0046] Step S200 , a target staining mark is generated through the staining system.
[0047] During specific implementation, the target staining identifier may consist of numbers or other available character types.
[0048] When the dyeing system is applied in the live broadcast platform, the dyeing system can add specific identifiers to the requests at the traffic entrance, and then parse, transmit and route the traffic carrying the identifiers in the basic framework layer of the traffic transmission link.
[0049] Different coloring marks can be used to distinguish traffic from different user groups and different test versions, thereby ensuring that the live broadcast platform can accurately control and manage traffic, and conduct effective performance monitoring and problem diagnosis to optimize user experience.
[0050] Step S202 , sending the target coloring identifier to a target computing node through the coloring system to update the target coloring identifier to the environment variable of the target computing node, and the target computing node is at least one of the multiple computing nodes.
[0051] In some embodiments, edge computing resources provided by a public cloud may be selected as computing nodes. Other available computing resources may also be selected based on actual conditions.
[0052] In some embodiments, the target staining identifier may be updated to the environment variable of the target computing node through an automated script or configuration management tool. In other embodiments, other methods may be used for updating.
[0053] The target coloring identifier is updated to the environment variables of the target computing node. Since the environment variables can be flexibly adjusted according to different deployment environments without modifying the code or configuration files, the flexibility and scalability of the configuration can be improved.
[0054] Step S204 , obtaining the updated environment variables through the scheduling system.
[0055] In specific implementation, the scheduling system can obtain updated environment variables from third-party computing resources (target computing nodes) through devices such as resource gateways. Depending on the actual situation, the scheduling system can also use other devices to obtain environment variables.
[0056] The updated environment variables may include various variables such as various coloring identifiers, file paths, system configurations, etc.
[0057] By obtaining the updated environment variables, you can obtain the latest configuration of these computing nodes to achieve more efficient resource management and task scheduling.
[0058] Step S206 , the scheduling system determines the target staining identifier according to the updated environmental variables.
[0059] In this embodiment, the scheduling system obtains the coloring identifier of each computing node (such as the target coloring identifier) through the environment variable, and can accurately identify the computing node corresponding to each live stream request carrying the coloring identifier from multiple computing nodes. In this way, the distribution strategy of the live stream can be dynamically adjusted, and the refined management of traffic and optimization of resource utilization can be achieved.
[0060] Step S208 When a live stream request carrying the target coloring identifier is received, the scheduling system selects the target computing node from the plurality of computing nodes to provide the target live stream according to the target coloring identifier.
[0061] In this embodiment, it can be ensured that the live streaming request is accurately directed to the correct computing node (target computing node) according to the target dyeing identifier, thereby achieving refined traffic management and optimized resource allocation, and ensuring the smooth progress of the dyeing experiment.
[0062] In an optional embodiment, if Figure 3 As shown, the method also includes: S300, determining a target audience terminal from multiple audience terminals through a coloring system.
[0063] S302: Send the target coloring identifier to the target audience terminal through the coloring system, so that the target audience terminal generates a live streaming request according to the target coloring identifier.
[0064] In specific implementation, the process of determining the target audience terminal can be random selection. According to actual needs, other selection methods or selection conditions can also be used for determination. For example, according to the software version of the client, user level, etc.
[0065] In this embodiment, the live streaming request of the target audience is dyed, and a grayscale test can be performed through a dyeing experiment when the version is updated to ensure that the new version can run stably before promotion, and feedback data can be collected for optimization.
[0066] In an optional embodiment, if Figure 4 As shown, the number of the target computing nodes is multiple, and the method further includes: S400, obtaining status information of each of the target computing nodes through a scheduling system, where the status information includes load information.
[0067] S402: Select one of the target computing nodes as a streaming node to provide the target live stream according to the status information of each of the target computing nodes through the scheduling system.
[0068] In specific implementation, in addition to load information, the status information may also include various information such as IP address, machine number, etc. The load information may include the current CPU usage, memory usage, bandwidth, etc. of the target computing node.
[0069] In this embodiment, the scheduling system will comprehensively consider the load status of each target computing node, etc., and select a suitable computing node to provide the target live stream, thereby achieving load balancing, improving system efficiency, and ensuring stable transmission of the live stream.
[0070] In an optional embodiment, if Figure 5 As shown, step S402 includes: S500, obtaining multiple first live streams from the multiple target computing nodes.
[0071] S502, determining one or more same-stream nodes from the multiple target computing nodes according to the multiple second live streams and the target live stream; among the same-stream nodes, one of the first live streams and the target live stream refer to the same live stream.
[0072] S504: When at least one of the same-flow nodes meets the load condition, determine the streaming node from the at least one same-flow node.
[0073] S506: When the one or more nodes with the same flow do not meet the load condition, determine the streaming node from multiple reserved nodes.
[0074] In specific implementation, the reserved node can be a local computing node or a third-party computing node that is idle or fully loaded and reserved by the live broadcast platform. In some embodiments, the scheduling system can use the load conditions of each co-streaming node as a weight value, sort each co-streaming node by weight hashing, and determine the push stream node by a consistent hashing algorithm based on the sorting result. In other embodiments, the scheduling system can also use other methods to determine the push stream node.
[0075] In this embodiment, from the target computing nodes currently processing the target live stream, the push stream node is selected according to the node load to provide the live stream, which can reduce the delay of data transmission and improve the real-time performance of the live stream. At the same time, setting a reserved node to ensure the normal push stream can ensure the continuity and stability of the live service under high traffic conditions, avoid service interruption caused by node failure, and improve the fault tolerance of the system.
[0076] In an optional embodiment, if Figure 6 As shown, the method also includes: S600: When the same-stream node does not exist among the multiple target computing nodes, determine the streaming node from the multiple target computing nodes that meet the load condition.
[0077] S602: When none of the multiple target computing nodes meets the load condition, determine the streaming node from the multiple reserved nodes.
[0078] In this embodiment, according to the load situation, one of the multiple target computing nodes is selected as a streaming node to perform the streaming task, which can ensure the smooth progress of the dyeing experiment, ensure the real-time and accuracy of the dyeing experiment data, and avoid experimental interruption. At the same time, setting a reserved node to ensure the normal streaming can ensure the continuity and stability of the live broadcast service under high traffic conditions, avoid service interruption caused by node failure, and improve the fault tolerance of the system.
[0079] In an optional embodiment, if Figure 7 As shown, the method also includes: S700: When the target computing node does not exist in the multiple computing nodes, obtain multiple second live streams in the multiple computing nodes.
[0080] S702: Determine one or more same-stream nodes from the multiple computing nodes according to the multiple second live streams and the target live stream.
[0081] S704: When at least one of the same-flow nodes meets the load condition, determine the streaming node from the at least one same-flow node.
[0082] S706: When one or more of the same-stream nodes do not meet the load condition, determine the streaming node from multiple reserved nodes.
[0083] In this embodiment, when there is no target computing node that can participate in the dyeing experiment, a computing node that is currently providing the target live stream is selected from all computing nodes. In this way, it can be ensured that the audience can obtain the live content even if they do not participate in the dyeing experiment, and the delay in data transmission can be reduced, thereby improving the real-time performance of the live stream. At the same time, setting up a reserved node to ensure the normal push stream can ensure the continuity and stability of the live service under high traffic conditions, avoid service interruptions caused by node failures, and improve the fault tolerance of the system.
[0084] In order to make this application easier to understand, the following Figure 8 and Fig. 9 An exemplary application is provided.
[0085] Among them: the software framework corresponding to the exemplary application is a live broadcast scheduling system, and the live broadcast scheduling system includes a dyeing system and a scheduling system.
[0086] The dyeing system includes a dyeing module and a publishing module.
[0087] The scheduling system includes a resource gateway module, a resource information module and a live broadcast scheduling module.
[0088] S11, the coloring module generates a target coloring identifier M and a target coloring identifier N, sends the target coloring identifier M to the audience terminals A and B, and sends the target coloring identifier M to the target computing nodes a, b and c (the target coloring identifier N is not sent to the target computing nodes a, b and c) through the publishing module, and sends the target coloring identifier N to the audience terminal C; S12, target computing nodes a, b, c respectively update their respective environment variables using the target coloring identifier M; S13, the resource gateway module obtains the updated environment variables and status information from the target computing nodes a, b, and c, and determines the target coloring identifier M in their environment variables; S14, the resource gateway module sends the target coloring identifier M and the status information of the target computing nodes a, b, and c to the resource information module; S15, the resource information module identifies target computing nodes a, b, and c from multiple computing nodes according to the target coloring identifier M.
[0089] The following is the process of responding to a live streaming request.
[0090] S16, the live broadcast scheduling module receives a live broadcast stream request from the viewer end.
[0091] S17, the live broadcast scheduling module determines whether there is a target computing node.
[0092] If yes, go to step S18, otherwise go to step S25.
[0093] S18, the live broadcast scheduling module determines whether there is a same-flow node on the target computing node.
[0094] If yes, go to step S19, otherwise go to step S23.
[0095] S19, sort the multiple nodes with the same flow, and then proceed to step S20.
[0096] S20, judging whether there is a computing node that meets the load condition among the plurality of nodes with the same flow according to the load condition.
[0097] If yes, go to step S21, otherwise go to step S22.
[0098] S21, select a streaming node from the computing nodes that meet the load conditions. End.
[0099] S22, return to the reserved node. End.
[0100] S23, sorting the plurality of target computing nodes according to the load conditions, and proceeding to step S24.
[0101] S24, judging whether there is a computing node that meets the load condition among the plurality of target computing nodes according to the load condition.
[0102] If yes, go to step S21, otherwise go to step S22.
[0103] S25, the live broadcast scheduling module obtains the same-stream node from the multiple computing nodes and proceeds to step S26.
[0104] S26, sort the plurality of nodes with the same flow, and then proceed to step S20.
[0105] For example: Audience A The live broadcast scheduling module receives the live broadcast stream request from the viewer terminal A, identifies the target coloring mark M carried therein, and allocates the target live broadcast stream o to it; The live broadcast scheduling module learns from the resource information module that among the target computing nodes a, b, and c, the target computing nodes a and b are providing the target live broadcast stream o, and then selects the target computing node a with the lowest load to provide the live broadcast stream o to the viewer terminal A.
[0106] Audience B The live broadcast scheduling module receives the live broadcast stream request from the viewer terminal B, identifies the target coloring mark M carried therein, and allocates the target live broadcast stream p to it; The live broadcast scheduling module learns from the resource information module that among the target computing nodes a, b, and c, no target computing node is providing the target live broadcast stream p, and then selects the target computing node b with the lowest load among the target computing nodes a, b, and c to provide the live broadcast stream p to the viewer terminal B.
[0107] Audience C The live broadcast scheduling module receives the live broadcast stream request from the viewer terminal C, identifies the target coloring identifier N carried therein, and allocates the target live broadcast stream q to it; The live broadcast scheduling module learns from the resource information module that among all computing nodes, there is no computing node with the target coloring identifier N in the environment variable, and there is no computing node that meets the load condition among all computing nodes, so a reserved node is selected to provide the live broadcast stream q for the viewer terminal C.
[0108] Embodiment 2 Fig.10The block diagram of the live broadcast resource scheduling device according to the second embodiment of the present application is schematically shown. The device can be divided into one or more program modules, one or more program modules are stored in a storage medium, and are executed by one or more processors to complete the embodiment of the present application. The program module referred to in the embodiment of the present application refers to a series of computer program instruction segments that can complete specific functions. The following description will specifically introduce the functions of each program module in this embodiment. Fig.10 As shown, the live broadcast resource scheduling 100 of the device may include: a generating module 1100, a sending module 1200, an acquiring module 1300, a determining module 1400, and a scheduling module 1500, wherein: A generating module 1100 is used to generate a target staining mark through a staining system; A sending module 1200, configured to send the target coloring identifier to a target computing node through the coloring system, so as to update the target coloring identifier to an environment variable of the target computing node, wherein the target computing node is at least one of the plurality of computing nodes; An acquisition module 1300, configured to acquire the updated environment variables through a scheduling system; A determination module 1400, configured to determine the target staining identifier according to the updated environmental variables through the scheduling system; The scheduling module 1500 is used to select the target computing node from the plurality of computing nodes to provide the target live stream through the scheduling system according to the target coloring identifier when receiving the live stream request carrying the target coloring identifier.
[0109] As an optional embodiment, the device further includes a viewer-side selection module, which is used to: Determine the target audience end from multiple audience ends through the coloring system; The target coloring identifier is sent to the target audience terminal through the coloring system, so that the target audience terminal generates a live streaming request according to the target coloring identifier.
[0110] As an optional embodiment, the number of the target computing nodes is multiple, and the scheduling module 1500 is further used to: Acquire the status information of each of the target computing nodes through the scheduling system, wherein the status information includes load information; The scheduling system selects one of the target computing nodes as a streaming node to provide the target live stream according to the status information of each of the target computing nodes.
[0111] As an optional embodiment, the scheduling module 1500 is further configured to: Acquire multiple first live streams from the multiple target computing nodes; According to the multiple first live streams and the target live stream, one or more same-stream nodes are determined from the multiple target computing nodes; among the same-stream nodes, one of the first live streams and the target live stream refers to the same live stream; When at least one of the same-flow nodes meets the load condition, determining the streaming node from at least one of the same-flow nodes; When the one or more nodes with the same flow do not meet the load condition, the streaming node is determined from a plurality of reserved nodes.
[0112] As an optional embodiment, the scheduling module 1500 is further configured to: In the case that the same-stream node does not exist among the multiple target computing nodes, determining the streaming node from the multiple target computing nodes that meet the load condition; When none of the multiple target computing nodes meets the load condition, the streaming node is determined from the multiple reserved nodes.
[0113] As an optional embodiment, the scheduling module 1500 is further configured to: In a case where the target computing node does not exist in the multiple computing nodes, acquiring multiple second live streams in the multiple computing nodes; Determine one or more same-stream nodes from the plurality of computing nodes according to the plurality of second live streams and the target live stream; When at least one of the same-flow nodes meets the load condition, determining the streaming node from at least one of the same-flow nodes; When one or more of the same-stream nodes do not meet the load condition, the streaming node is determined from a plurality of reserved nodes.
[0114] Embodiment 3 Fig.11 The hardware architecture diagram of a computer device 10000 suitable for implementing a live broadcast resource scheduling method according to Embodiment 3 of the present application is schematically shown. In some embodiments, the computer device 10000 may be a rack server, a blade server, a tower server, or a cabinet server (including an independent server, or a server cluster composed of multiple servers). Fig.11 As shown, the computer device 10000 includes but is not limited to: a memory 10010, a processor 10020, and a network interface 10030 that can communicate with each other through a system bus. Among them: The memory 10010 includes at least one type of computer-readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (such as SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 10010 can be an internal storage module of the computer device 10000, such as a hard disk or memory of the computer device 10000. In other embodiments, the memory 10010 can also be an external storage device of the computer device 10000, such as a plug-in hard disk equipped on the computer device 10000, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Of course, the memory 10010 can also include both the internal storage module of the computer device 10000 and its external storage device. In this embodiment, the memory 10010 is generally used to store the operating system and various application software installed on the computer device 10000, such as the program code of the live broadcast resource scheduling method, etc. In addition, the memory 10010 can also be used to temporarily store various data that have been output or will be output.
[0115] In some embodiments, the processor 10020 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other chips. The processor 10020 is generally used to control the overall operation of the computer device 10000, such as performing control and processing related to data interaction or communication with the computer device 10000. In this embodiment, the processor 10020 is used to run the program code stored in the memory 10010 or process data.
[0116] The network interface 10030 may include a wireless network interface or a wired network interface, and the network interface 10030 is generally used to establish a communication link between the computer device 10000 and other computer devices. For example, the network interface 10030 is used to connect the computer device 10000 to an external terminal through a network, and to establish a data transmission channel and a communication link between the computer device 10000 and the external terminal. The network may be a wireless or wired network such as an intranet, the Internet, the Global System of Mobile communication (GSM), Wideband Code Division Multiple Access (WCDMA), 4G network, 5G network, Bluetooth, Wi-Fi, etc.
[0117] It should be pointed out that Fig.11 Only a computer device having components 10010 - 10030 is shown, but it should be understood that implementation of all of the components shown is not a requirement, and more or fewer components may alternatively be implemented.
[0118] In this embodiment, the live broadcast resource scheduling method stored in the memory 10010 can also be divided into one or more program modules and executed by one or more processors (such as processor 10020) to complete the embodiment of the present application.
[0119] Embodiment 4 An embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the live broadcast resource scheduling method in the embodiment are implemented.
[0120] In this embodiment, the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device. In other embodiments, the computer-readable storage medium may also be an external storage device of a computer device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the computer device. Of course, the computer-readable storage medium may also include both the internal storage unit of the computer device and its external storage device. In this embodiment, the computer-readable storage medium is generally used to store an operating system and various application software installed on the computer device, such as the program code of the live resource scheduling method in the embodiment. In addition, the computer-readable storage medium may also be used to temporarily store various types of data that have been output or are to be output.
[0121] Embodiment 5 An embodiment of the present application also provides a computer program product, including a computer program, which implements the method in the above embodiment when executed by a processor.
[0122] Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present application can be implemented by general-purpose computer devices, they can be concentrated on a single computer device, or distributed on a network composed of multiple computer devices, optionally, they can be implemented by executable program codes of computer devices, so that they can be stored in a storage device and executed by the computer device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0123] It should be noted that the above are only preferred embodiments of the present application, and the patent protection scope of the present application is not limited thereto. Any equivalent structure or equivalent process transformation made using the contents of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A live broadcast resource scheduling method, characterized in that: The method comprises: Generate target staining mark through staining system; Sending the target coloring identifier to a target computing node through the coloring system to update the target coloring identifier to an environment variable of the target computing node, wherein the target computing node is at least one of the plurality of computing nodes; Acquire the updated environment variables through the scheduling system; Determining the target staining identifier according to the updated environmental variables by the scheduling system; When a live stream request carrying the target coloring identifier is received, the scheduling system selects the target computing node from the plurality of computing nodes according to the target coloring identifier to provide the target live stream.
2. The method according to claim 1, characterized in that The method further comprises: Determine the target audience end from multiple audience ends through the coloring system; The target coloring identifier is sent to the target audience terminal through the coloring system, so that the target audience terminal generates a live streaming request according to the target coloring identifier.
3. The method according to claim 1, characterized in that The number of the target computing nodes is multiple, and the method further includes: Acquire the status information of each of the target computing nodes through the scheduling system, where the status information includes load information; The scheduling system selects one of the target computing nodes as a streaming node to provide the target live stream according to the status information of each of the target computing nodes.
4. The method according to claim 3, characterized in that The method of selecting one of the target computing nodes as a streaming node to provide the target live streaming stream according to the status information of each of the target computing nodes through the scheduling system includes: Acquire multiple first live streams from the multiple target computing nodes; According to the plurality of second live streams and the target live stream, one or more same-stream nodes are determined from the plurality of target computing nodes; among the same-stream nodes, one of the first live stream and the target live stream refer to the same live stream; When at least one of the same-flow nodes meets the load condition, determining the streaming node from at least one of the same-flow nodes; When the one or more nodes with the same flow do not meet the load condition, the streaming node is determined from a plurality of reserved nodes.
5. The method according to claim 4, characterized in that The method further comprises: In the case that the same-stream node does not exist among the multiple target computing nodes, determining the streaming node from the multiple target computing nodes that meet the load condition; When none of the multiple target computing nodes meets the load condition, the streaming node is determined from the multiple reserved nodes.
6. The method according to claim 1, characterized in that The method further comprises: In a case where the target computing node does not exist in the multiple computing nodes, acquiring multiple second live streams in the multiple computing nodes; Determine one or more same-stream nodes from the plurality of computing nodes according to the plurality of second live streams and the target live stream; When at least one of the same-flow nodes meets the load condition, determining the streaming node from at least one of the same-flow nodes; When one or more of the same-stream nodes do not meet the load condition, the streaming node is determined from a plurality of reserved nodes.
7. A live broadcast resource scheduling device, characterized in that: The device comprises: A generation module, used for generating a target staining mark through a staining system; A sending module, used to send the target coloring identifier to a target computing node through the coloring system to update the target coloring identifier to the environment variable of the target computing node, wherein the target computing node is at least one of the multiple computing nodes; An acquisition module, used for acquiring the updated environment variables through a scheduling system; A determination module, configured to determine the target staining identifier according to the updated environmental variables through the scheduling system; The scheduling module is used to select the target computing node from the plurality of computing nodes to provide the target live stream through the scheduling system according to the target coloring identifier when receiving the live stream request carrying the target coloring identifier.
8. A computer device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein: The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the method according to any one of claims 1 to 6 is implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to claims 1 to 6 are implemented.