Method for deploying streaming media service, related device and computer program product
By separating the deployment process of the streaming media kernel and the application into independent resource packages, the problem of long downtime and high operational risks caused by deployment and updates relying on the same resource package in existing technologies is solved, enabling flexible, efficient, and low-cost deployment and updates of streaming media services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI BILIBILI TECH CO LTD
- Filing Date
- 2026-02-25
- Publication Date
- 2026-05-15
AI Technical Summary
In existing technologies, the deployment and update process of streaming media kernels and applications relies on the same resource package, which requires simultaneous service interruption during deployment and updates, increasing unnecessary downtime and posing operational risks, and making it difficult to perform efficiently and at low cost.
The deployment process of the streaming media kernel and application is separated into independent first and second resource packages, which are deployed on edge nodes respectively. After deployment is completed, a communication link is established to support flexible and efficient deployment and updates.
It enables flexible, efficient, and low-cost deployment and updates of streaming media services, reduces downtime, lowers operational risks, and improves system stability and reliability.
Smart Images

Figure CN122053367A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, electronic device, computer-readable medium, and computer program product for deploying streaming media services. Background Technology
[0002] With the rapid development of streaming media services such as live streaming and online education, edge computing technology, with its advantages of low latency and high bandwidth, has gradually become the core deployment architecture for streaming media processing.
[0003] In scenarios where streaming media services are provided based on edge computing architecture, streaming media kernels and applications can be deployed to edge nodes first through deployment nodes. Then, the edge nodes can provide streaming media services to users through the deployed streaming media kernels and applications.
[0004] A streaming media kernel can be an independent functional module or unit within an edge computing node responsible for "lower-level business functions" such as streaming media data acquisition, encoding, decoding, transmission, and storage. An application, on the other hand, can be an independent functional module or unit within the edge computing node responsible for "upper-level business functions" such as user interaction, configuration management, and data display. Therefore, how to efficiently, cost-effectively, and easily maintainable and updatable deploy streaming media kernels and applications is a matter of concern and urgent need. Summary of the Invention
[0005] This application provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for deploying streaming media services. By making the deployment processes of the streaming media kernel and application used to implement the streaming media service independent and separated from each other, the deployment and update processes of the streaming media service can be completed more flexibly, efficiently, and at a lower cost.
[0006] One aspect of this application provides a method for deploying a streaming media service, applied to a deployment node, comprising: distributing a first resource package and a second resource package to an edge node, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; controlling the edge node to deploy the streaming media kernel and the application at the edge node respectively through the first resource package and the second resource package; and controlling the edge node to establish a communication link between the streaming media kernel and the application at the edge node in response to the completion of the deployment of both the streaming media kernel and the application.
[0007] One aspect of this application provides a method for deploying a streaming media service, applied to an edge node, comprising: receiving a first resource package and a second resource package issued by a deployment node, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; deploying the streaming media kernel and the application locally using the first resource package and the second resource package respectively; and establishing a communication link between the streaming media kernel and the application locally in response to the completion of deployment of both the streaming media kernel and the application.
[0008] Another aspect of this application provides an apparatus for deploying a streaming media service, applied to a deployment node, comprising: a resource package distribution module configured to distribute a first resource package and a second resource package to an edge node, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; a resource deployment control module configured to control the edge node to deploy the streaming media kernel and the application at the edge node respectively through the first resource package and the second resource package; and a link establishment control module configured to establish a communication link between the streaming media kernel and the application at the edge node in response to the completion of deployment of both the streaming media kernel and the application.
[0009] Another aspect of this application provides an apparatus for deploying streaming media services, applied to an edge node, comprising: a resource receiving module configured to receive a first resource package and a second resource package issued by a deployment node, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; a resource deployment module configured to deploy the streaming media kernel and the application locally using the first resource package and the second resource package respectively; and a link establishment module configured to establish a communication link between the streaming media kernel and the application locally in response to the completion of deployment of both the streaming media kernel and the application.
[0010] Another aspect of this application provides a system for providing streaming media services, comprising: a deployment node and an edge node; the deployment node is used to send a first resource package and a second resource package to the edge node, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; the control edge node deploys the streaming media kernel and the application at the edge node respectively through the first resource package and the second resource package; the control edge node establishes a communication link between the streaming media kernel and the application at the edge node in response to the completion of deployment of both the streaming media kernel and the application; the edge node is used to receive the first resource package and the second resource package sent by the deployment node; deploy the streaming media kernel and the application locally at the edge node respectively through the first resource package and the second resource package; and establish a communication link in response to the completion of deployment of both the streaming media kernel and the application.
[0011] In another aspect of this application, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method provided above for deploying streaming media services applied to deployment nodes and edge nodes.
[0012] Another aspect of this application provides a computer-readable storage medium having computer program instructions stored thereon, which can be executed by a processor to implement the method for deploying streaming media services applied to edge nodes as provided above.
[0013] Another aspect of this application is a computer program product including a computer program having computer program instructions stored thereon, which, when executed by a processor, can implement the method for deploying streaming media services applied to edge nodes as provided above.
[0014] The solution provided in this application first offers a method for deploying a streaming media service, which can be applied to deployment nodes. The method distributes a first resource package and a second resource package to edge nodes, wherein the first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The method controls the edge nodes to deploy the streaming media kernel and the application at the edge nodes through the first resource package and the second resource package, respectively. The method controls the edge nodes to establish a communication link between the streaming media kernel and the application at the edge nodes in response to the completion of the deployment of both the streaming media kernel and the application.
[0015] Furthermore, another method for deploying streaming media services is provided, which can be applied to edge nodes. This method receives a first resource package and a second resource package issued by the deployment node. The first and second resource packages are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The streaming media kernel and the application are deployed locally using the first and second resource packages respectively. In response to the completion of the deployment of both the streaming media kernel and the application, a communication link between the streaming media kernel and the application is established locally.
[0016] Therefore, by making the deployment processes of the streaming media kernel and applications used to implement streaming media services independent and separate, the deployment and update processes of streaming media services can be completed more flexibly, efficiently, and at a lower cost. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0019] Figure 1 A flowchart illustrating a process for deploying a streaming media service, as provided in one embodiment of this application;
[0020] Figure 2 A flowchart illustrating the process of updating an edge node, as provided in one embodiment of this application;
[0021] Figure 3 A flowchart illustrating another process for deploying a streaming media service, as provided in one embodiment of this application;
[0022] Figure 4 A flowchart illustrating the process of deploying a streaming media service in a specific application scenario, as provided in an embodiment of this application;
[0023] Figure 5 A schematic diagram of a device for deploying streaming media services provided in an embodiment of this application;
[0024] Figure 6 A schematic diagram of another apparatus for deploying streaming media services provided in an embodiment of this application;
[0025] Figure 7This is a schematic diagram of the structure of an electronic device suitable for implementing the solutions in the embodiments of this application.
[0026] The same or similar reference numerals in the accompanying drawings represent the same or similar parts. Detailed Implementation
[0027] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0028] In a typical configuration of this application, the terminal and the service network devices each include one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0029] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0030] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer program instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only optical disc (CD-ROM), digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0031] As discussed above, the ability to deploy streaming media kernels and applications efficiently, cost-effectively, and easily maintainable and updatable is a matter of concern and urgent need.
[0032] In some solutions, the configuration and deployment resources of the streaming media kernel and application can be packaged into a resource package and then provided to the edge nodes, so that the edge nodes can use the resource package to complete the deployment of the streaming media kernel and application in one go.
[0033] However, in this approach, because the deployment resources for the streaming media kernel and the application are encapsulated in the same resource package, after deployment, the streaming media kernel and the application often depend on the same file and the same resource. This means that updating or maintaining either the streaming media kernel or the application requires interrupting the operation of both simultaneously. This not only prolongs unnecessary service downtime but may also introduce additional operational risks due to the mutual influence between the streaming media kernel and the application.
[0034] In response, this application provides a method for deploying a streaming media service, which can be applied to deployment nodes. The method distributes a first resource package and a second resource package to edge nodes, wherein the first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The method controls the edge nodes to deploy the streaming media kernel and the application at the edge nodes through the first resource package and the second resource package, respectively. The method controls the edge nodes to establish a communication link between the streaming media kernel and the application at the edge nodes in response to the completion of the deployment of both the streaming media kernel and the application.
[0035] Accordingly, this application also provides another method for deploying streaming media services, which can be applied to edge nodes. The method receives a first resource package and a second resource package issued by the deployment node. The first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The streaming media kernel and the application are deployed locally through the first resource package and the second resource package, respectively. In response to the completion of the deployment of both the streaming media kernel and the application, a communication link between the streaming media kernel and the application is established locally.
[0036] In practical scenarios, when the method for deploying streaming media services is applied to deployment nodes, the deployment node, as the "executive entity," can be a user device, a device composed of user devices and network devices integrated through a network, or an application running on the aforementioned devices. User devices include, but are not limited to, various terminal devices such as computers, mobile phones, tablets, smartwatches, and wristbands. Network devices include, but are not limited to, network hosts, single network servers, multiple network server sets, or cloud computing-based computer sets. Here, the cloud consists of a large number of hosts or network servers based on cloud computing. Cloud computing is a type of distributed computing, consisting of a virtual computer composed of a group of loosely coupled computer sets.
[0037] Accordingly, when the executing entity is software, it can be installed in the electronic devices listed above. It can be implemented as multiple software programs or software modules, or as a single software program or software module, without any specific limitations.
[0038] When the method of deploying streaming media services is applied to edge nodes, the edge node, as the "executing entity", can usually be understood as a specific server in the "edge computing architecture". However, in some scenarios, if the computing power meets the requirements, it can also be a user device, a device composed of user devices and network devices integrated through the network, etc.
[0039] Accordingly, when an "edge node" acts as the execution entity, it can be either "hardware" or an application or software, which will not be repeated here.
[0040] First, the methods and processes for deploying streaming media services applied to "deployment nodes" will be discussed. For ease of understanding, please refer to [the relevant documentation / reference]. Figure 1 Let me explain.
[0041] Figure 1 This application illustrates a process 100 for deploying a streaming media service, which can be applied to a "deployment node". Process 100 may include the following steps:
[0042] (Step) S101, send the first resource packet and the second resource packet to the edge node;
[0043] In the embodiments of this application, the execution entity (i.e., the deployment node mentioned above) can distribute the first resource package and the second resource package to the edge nodes that need to be configured with streaming media services.
[0044] The first resource package may include resources for deploying the streaming media kernel that implements the streaming media service, while the second resource package may include resources for deploying the application that implements the streaming media service.
[0045] In embodiments of this application, the first resource package and the second resource package are independent of each other. For example, the first resource package and the second resource package can be two "files" so that the streaming media kernel and the application can be deployed separately and in isolation through two independent resource packages and files.
[0046] It should be understood that, because the first resource package and the second resource package are independent of each other, in practice, for "sending separately", the executing entity can choose to send them based on one communication or two communications with time intervals.
[0047] Accordingly, for ease of understanding, this embodiment will directly discuss the scenario that requires the simultaneous deployment of the streaming media kernel and the application (e.g., initial deployment, original deployment scenario), and will no longer provide additional explanation of the process of deploying only one of the two (e.g., deploying only one of the first resource package and the second resource package in a single communication, and then deploying the other in another communication after a certain interval, or not deploying the other at all).
[0048] In practice, the specific content and resources in the first resource package correspond to the functions provided and implemented by the streaming media kernel. For example, based on the data acquisition, encoding, decoding, transmission, and storage functions of the streaming media kernel, the actual "resources" in the first resource package can be "installation resources" such as collectors, encoders, keyers, communication components, etc. In this way, after the edge node obtains the first resource package, it can deploy these functions to the edge node by executing the "installation resources" method to realize streaming media services as the "streaming media kernel".
[0049] Similarly, the specific content and resources in the second resource package can correspond to the functions provided and implemented by the application lock. For example, when the application is used to provide functions such as business logic processing, user interaction, configuration management, and data display, the actual "resources" in the second resource package can be "installation resources" such as interface rendering components, interface rendering drivers, and interactive acquisition components. This allows the edge nodes to similarly deploy these functions to the edge nodes by executing the "installation resources" method after obtaining the second resource package, so as to implement streaming media services as an "application".
[0050] In some embodiments, the first and second resource packages can be configured and generated by the executing entity based on pre-deployed local resources. For example, resources capable of providing the aforementioned functions can be pre-deployed locally to the executing entity, allowing it to utilize these resources and combine them to generate the first and second resource packages. Correspondingly, this also enables management and deployment users who wish to deploy streaming media services (i.e., streaming media kernels and applications) to directly configure the first and second resource packages by sending instructions and service description information to the executing entity, and to use them to complete the deployment process of the streaming media service, thereby reducing the deployment operation costs for management and deployment users.
[0051] In this scenario, these management and deployment users can communicate with the execution entity through their target devices (e.g., terminal devices) and send service description information for the streaming media service to the execution entity. This service description information may include the first deployment location of the streaming media kernel, the first deployment parameters of the streaming media kernel, the second deployment location of the application, and the second deployment parameters of the application. The deployment parameters (first deployment parameters, second deployment parameters) may correspond to the functions that should be present and implemented, as well as the specific configurations within those functions. For example, the first deployment parameter may indicate the model of the encoder used and the encoding format employed under that model; similarly, the second deployment parameter may indicate the model of the interface rendering component used and the rendering parameters used during rendering.
[0052] In some embodiments, it is also possible to require management users and deployment users to provide different first deployment locations and second deployment locations, so that the streaming media kernel and the application can be separated and decoupled in the actual storage path.
[0053] Accordingly, after receiving the service description information for the streaming media service, the executing entity can generate a first resource package and a second resource package based on the service description information. Taking the first resource package as an example, the executing entity can generate an "installation package" based on the "service description information," which, after execution, can install the encoder of the model specified by the user to the first deployment location.
[0054] S102 controls the edge nodes, deploying the streaming media kernel and applications at the edge nodes through the first resource package and the second resource package respectively;
[0055] In the embodiments of this application, after the first resource package and the second resource package are sent to the edge node based on the above-described S101, the executing entity can control the edge node to deploy the streaming media kernel and the application at the edge node in this step, respectively, using the first resource package and the second resource package. For example, the "installation package" in the first resource package and the second resource package can be used to install the collector, encoder, keycoder, communication component, interface rendering component, interface rendering driver, interactive acquisition component, etc., to the first deployment location and the second deployment location respectively, so as to achieve separate, independent, and decoupled deployment of the streaming media kernel and the application at the edge node.
[0056] In some embodiments, during the process of deploying the streaming media kernel and application at the edge node through the first resource package and the second resource package, the executing entity may choose to deploy the streaming media kernel and application sequentially. This allows the application providing the "upper-layer business logic and functions" to be deployed only after the streaming media kernel, which provides the "lower-level business logic and functions," is running and deployed stably. This avoids situations such as complex failures and excessively high requirements for deployment resources at the edge node, thereby improving the reliability of the deployment.
[0057] That is, in some embodiments, as an alternative or additional step, during the execution of this step, the executing entity may choose to first control the edge node to deploy the streaming media kernel at the edge node through the first resource package, and then start the streaming media kernel after the deployment of the streaming media kernel is completed.
[0058] Then, if the execution entity detects that the streaming media kernel has been successfully started (or detects that the encoding success rate of the streaming media kernel is greater than or equal to the success rate threshold), it then controls the edge node to deploy the application at the edge node through the second resource package.
[0059] S103, the control edge node responds to the completion of deployment of both the streaming media kernel and the application, and establishes a communication link between the streaming media kernel and the application at the edge node;
[0060] In the embodiments of this application, after the edge node pair is deployed based on the above S102, the executing entity can also control the edge node to continuously detect the deployment status and progress of the streaming media kernel and the application, and respond when both the streaming media kernel and the application have been deployed, and establish a communication link between the streaming media kernel and the application at the edge node.
[0061] For example, after detecting that both the streaming media kernel and the application have been deployed, the edge node can establish a communication link between them based on a pre-configured "communication protocol," such as Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol version 2 (HTTP2). This allows the application to use the communication link to send "low-level tasks" to the streaming media kernel, thereby utilizing the underlying business functions of the streaming media kernel to complete processing tasks such as encoding and decoding.
[0062] Correspondingly, after the streaming media kernel completes these processing tasks, it can also use this communication link to provide and return the processing results of these tasks to the application, so that the application can use these processing results to perform actions such as rendering and interface presentation, in order to realize "streaming media service".
[0063] In some embodiments, when establishing a communication link between the streaming media kernel and the application at the edge node, considering that communication with "external users" (e.g., viewers who obtain streaming media services) is usually implemented by the application, in order to simplify and reduce the configuration of the streaming media kernel (e.g., using the application's strong communication capabilities to complete the link establishment, without having to configure strong communication capabilities, such as link establishment capabilities, for the streaming media kernel), the application can be chosen to initiate the request to establish a communication link with the streaming media kernel. That is, the edge node can complete the action of establishing a communication link between the streaming media kernel and the application by calling the application.
[0064] In some embodiments, management users and deployment users may also provide the desired communication protocol as a "communication link parameter" to the execution entity in the service description information described above, so that the execution entity can provide it to the edge node and control the edge node to establish a corresponding communication link according to the "communication link parameter".
[0065] In some embodiments, in order to keep the communication link alive and enable the streaming media kernel and the application to know each other's status, a heartbeat mechanism can also be configured between the streaming media kernel and the application for the communication link during the configuration process.
[0066] Accordingly, in such cases, users who manage and deploy users can also provide the "interval time for heartbeat communication" to adjust the specific configuration and execution of the heartbeat mechanism.
[0067] Accordingly, in this step, if the service description information also includes communication link parameters, such as the communication protocol and the heartbeat communication interval, then as an alternative or additional step, the execution entity can establish a communication link between the streaming media kernel and the application at the edge node in response to the completion of deployment of both the streaming media kernel and the application. This integrates the advantages of the above aspects. This not only allows management users and deployment users to adjust the communication link situation more granularly to adapt to personalized deployment needs in different scenarios, but also reduces the overall configuration complexity of the system.
[0068] Subsequently, the method for deploying streaming media services provided in this application, when applied to deployment nodes, distributes a first resource package and a second resource package to edge nodes. The first and second resource packages are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The edge nodes are controlled to deploy the streaming media kernel and the application at the edge nodes using the first and second resource packages respectively. In response to the completion of the deployment of both the streaming media kernel and the application, the edge nodes establish a communication link between the streaming media kernel and the application at the edge nodes. Thus, by making the deployment processes of the streaming media kernel and the application used to implement the streaming media service independent and separate, the deployment and update process of the streaming media service can be completed more flexibly, efficiently, and at a lower cost.
[0069] As discussed above, the process of deploying streaming media services, in addition to the initial, original deployment achieved using the first and second resource packages (i.e., enabling the edge nodes to deploy the streaming media kernel and applications from scratch), may also include the process of updating the streaming media kernel and applications, so as to fully leverage the advantages of the deployment process of this application in terms of more flexible, convenient and low-cost updates to streaming media services.
[0070] For example, management users and deployment users can communicate with the execution entity to provide update resource packages directly or, as discussed above, by using (updating) service description information, in order to use the update resource packages to update the streaming media kernel and / or applications in the edge nodes.
[0071] The update resource package can specifically include two types: a first update resource package for updating the streaming media kernel and a second update resource package for updating the application. This allows for a similar separation and independence of the update process for the streaming media kernel and the application. For example, based on the instructions of the management user and the deployment user, the executing entity can generate the first update resource package locally and distribute it to the corresponding edge node. Then, the executing entity can control the edge node to modify the relevant resources, files, and parameters already deployed locally to implement and support the streaming media kernel based on the first update resource package, such as overwriting existing historical files (e.g., overwriting files already created corresponding to the first resource package), modifying historical parameters, or adding new files. This completes the "separate update" of the streaming media kernel. Similarly, the executing entity can use the second update resource package to complete a similar process for the application, which will not be elaborated here.
[0072] In some embodiments, since distributed systems often include multiple edge nodes, to better achieve overall updates or lock changes, and to ensure system stability during the update process, the executing entity may choose to use a batch approach to complete the update process. For example, the executing entity may first select a portion of the edge nodes for updating, and only after confirming that no failures or anomalies occur during the update can it gradually advance to a full update of all edge nodes. This avoids system-wide crashes caused by unexpected anomalies or failures during the update process.
[0073] To facilitate understanding of this update process, it will be combined with... Figure 2 Let's have a discussion. Figure 2 A flowchart illustrating a process 200 for updating an edge node according to an embodiment of this application is shown. Process 200 may specifically include the following steps:
[0074] S201, in response to receiving a node update request, determine at least two sets of edge nodes;
[0075] Specifically, the executing entity of process 200 can also be the aforementioned "deployment node". As discussed above, if the executing entity receives a node update request, or more specifically, a node update request for the "streaming service" as a whole, that is, a "node update request" that requests updates to the streaming media kernel and / or applications deployed on (various) edge nodes to achieve an overall update of the "streaming service", then the executing entity can respond by dividing the various edge nodes to determine at least two sets of edge nodes.
[0076] When dividing the edge node set, it can be done individually or jointly based on the geographical range of the edge nodes (e.g., edge nodes belonging to the same geographical area are grouped into one edge node set) and a pre-determined tiered ratio (e.g., 10%, 30%, 60%).
[0077] S202, issue an update resource package to the edge nodes in the first edge node set of at least two edge node sets;
[0078] Specifically, after dividing at least two edge node sets in S201 above, the executing entity can first select one edge node set (for ease of description, it is described as the first edge node set) as the first edge node to be updated in the first batch of updates.
[0079] Then, the executing entity can choose to issue an update resource package to the edge nodes in the first edge node set of at least two edge node sets.
[0080] As discussed above, the update resource package may include a first update resource package that updates the streaming media kernel and a second update resource package that updates the application. The implementing entity may issue at least one of these two packages according to the needs and instructions of the management and deployment users to update the streaming media kernel and / or the application.
[0081] S203, update the streaming media kernel and / or application of the edge nodes in the first edge node set accordingly using the update resource package;
[0082] Specifically, after the update resource package is sent to the edge nodes in the first edge node set, the execution entity can use the update resource package to update the streaming media kernel and / or application of the edge nodes in the first edge node set, as discussed above.
[0083] S204, determine the number of target edge nodes and compare the number with a number threshold;
[0084] Specifically, for each edge node in the first set of edge nodes, the execution entity can continuously acquire their operating metrics (e.g., CPU load rate, memory usage, latency, throughput, etc.) within the target duration after they have completed the update using the updated resource package, and compare them with the target operating metric range to determine the target edge nodes whose operating metrics do not fall within the target operating metric range.
[0085] The target performance indicator range can be determined based on the numerical range of performance indicators of edge nodes after being updated, assuming they are in a "normal" or "successfully updated" state. Accordingly, if the performance indicators of an edge node consistently fall within this target performance indicator range after being updated (e.g., continuously within the target duration), the executing entity can consider the edge node to have been successfully updated. Similarly, for the aforementioned "target edge nodes" that do not fall within this target performance indicator range, they can be considered as having failed to update or experiencing an update malfunction.
[0086] In some embodiments, to avoid the inability to accurately determine when the update was completed due to factors such as failure to install the update resource package or disconnection of the edge node, it is also selected that when the execution subject sends the update resource package to the edge node, a preset time (e.g., a preset time based on the size of the update resource package and the estimated installation time) is reached after the current time.
[0087] After identifying the target edge nodes, the executing entity in this step also needs to compare the number with a quantity threshold (which can be set based on the criteria for considering the update of the first edge node set to have failed; for example, a "proportion" of what is considered a successful update can be predetermined, and then the quantity threshold can be determined by comparing this proportion with the number of edge nodes in the first edge node set).
[0088] If the number of target edge nodes is less than the number threshold, the executing entity can respond by choosing to continue executing S205.
[0089] S205, send the update resource package to the edge nodes in the second edge node set of at least two edge node sets;
[0090] Specifically, if the number of target edge nodes is less than the number threshold, the executing entity can consider the update of the first edge node set to be "successful". Then, as discussed above, the executing entity can select a new edge node set (for ease of description, it is called the second edge node set), and then, similar to the process discussed above, issue update resource packages to the edge nodes in the second edge node set.
[0091] Then, similarly, by executing S206, the streaming media kernels and / or applications of the edge nodes in the second edge node set are updated in a manner similar to those of the first edge node set, which will not be repeated here.
[0092] S206, update the streaming media kernel and / or application of the edge nodes in the second set of edge nodes accordingly using the update resource package.
[0093] Then, if there are still unupdated edge node sets (e.g., a third edge node set), the executing entity can similarly continue to choose whether to continue updating the third edge node set based on whether the second edge node set has been successfully updated, until all edge node sets have been updated. This will not be repeated here. For example, if the number of target edge nodes included in the second edge node set is also less than the aforementioned threshold, the executing entity can continue to send update resource packages to the edge nodes in the third edge node set.
[0094] In some optional implementations of this embodiment, in process 200, after S204, there may still be a situation where the number of target edge nodes is greater than or equal to the number threshold, that is, "the update failed". In such a case, the execution subject can respond to this by choosing to execute S207.
[0095] S207, roll back the updates to each edge node in the first edge node set using the updated resource package.
[0096] Specifically, if the update of the first edge node set fails, the executing entity can choose to reject the update and roll back the update of each edge node in the first edge node set using the update resource package, that is, adjust each edge node in the first edge node set back to the state of being updated using the update resource package.
[0097] Accordingly, after a rollback, the executing entity can refuse to perform the update on each set of edge nodes. This approach not only reduces the computational resources used by failed updates but also ensures the overall security and stability of the system, preventing system-wide anomalies caused by unexpected updates that could lead to malfunctions.
[0098] In some embodiments, if a rollback is triggered, i.e., the update is performed, the executing entity may also choose to report the update failure information to the management and deployment users who instructed the update, so as to help them be aware of the situation and adjust the update strategy in a timely manner.
[0099] Similarly, if there are three or more sets of edge nodes, and such a failure occurs during the process of updating any of the edge node sets, for example, during the update process of the second edge node set, the executing entity can choose to roll back all previous updates. That is, to "roll back" both the first and second edge node sets simultaneously to avoid data inconsistencies between edge nodes and improve the overall stability of the system.
[0100] In some embodiments, during the process of updating the streaming media kernel and / or application of the edge nodes in the first set of edge nodes using the update resource package, if the update is performed using the second update resource package, i.e., the update resource package includes the second update resource package, the executing entity may stop the application first during the update process.
[0101] That is, if the update resource package includes a second update resource package, the executing entity may respond by choosing to stop the application first.
[0102] Then, the application of the edge nodes in the first edge node set is updated accordingly using the update resource package.
[0103] Next, if the application is updated using the second resource package, the executing entity can respond by launching the application.
[0104] Therefore, by controlling the operation of such applications, it is possible to ensure that applications can be updated smoothly.
[0105] In some embodiments, during the process of updating the streaming media kernels and / or applications of edge nodes in the first set of edge nodes using an update resource package, in the case of updating using a first update resource package (i.e., the update resource package includes a first update resource package), the executing entity may, in response, first select to read the task execution status corresponding to each streaming media kernel. The task execution status may include: a task being executed and a task not being executed.
[0106] If a target streaming media kernel is currently executing a task, the executing entity can respond by scheduling the currently executing streaming media task to a (pre-configured) backup streaming media kernel on the target edge node. For example, the executing entity can instruct the target streaming media kernel to stop executing the currently executing streaming media task after it has been executed to a task node. Then, the executing entity migrates and schedules the streaming media task from that task node to a backup streaming media kernel on the target edge node for continued execution.
[0107] After completing the migration and scheduling of the streaming media task, the executing entity can use the update resource package to update the streaming media kernel of the edge nodes in the first edge node set accordingly.
[0108] Then, in response to the target streaming media kernel being updated using the first update resource package, the executing entity can schedule the streaming media task back from the backup streaming media kernel to the target streaming media kernel.
[0109] This approach allows the streaming kernel to perform updates before all streaming tasks are completed, thus advancing the update time and effectively improving update efficiency.
[0110] Based on any of the above embodiments, the execution entity can also continuously monitor the communication link between the streaming media kernel and the application. If a communication link interruption is detected (e.g., consecutive target number of heartbeat failures, target number of reconnection failures, etc.), the execution entity can respond by configuring the application to a cached mode, so that the application caches the received interactive instructions to the cache area associated with the application in cached mode.
[0111] If the communication link is detected to be restored, the execution entity can respond by controlling the application to unbuffer mode and providing the interactive instructions stored in the buffer to the streaming media kernel.
[0112] This ensures that operations performed by viewers using the application are not lost due to communication link interruptions, thus improving the system's responsiveness.
[0113] In some embodiments, the executing entity may also delegate the actions of the detection and control application to edge nodes, for example, by controlling the edge nodes to perform these actions, which will not be repeated here.
[0114] Additionally, this application provides a process for deploying streaming media services at "edge nodes." For further discussion of this topic, please refer to [link to relevant documentation]. Figure 3 , Figure 3 This application illustrates another process 300 for deploying a streaming media service according to an embodiment of the present application. Process 300 can be applied to an "edge node". Process 300 may include the following steps:
[0115] S301, Receive the first and second resource packages issued by the deployment node;
[0116] In the embodiments of this application, as discussed above, the edge node can receive a first resource package and a second resource package provided by the deployment node to complete the "initial deployment". The first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service.
[0117] S302 deploys the streaming media kernel and application locally through the first resource package and the second resource package, respectively;
[0118] In embodiments of this application, edge nodes can deploy streaming media kernels and applications locally via a first resource package and a second resource package, as discussed above.
[0119] S303, in response to the completion of deployment of both the streaming media kernel and the application, establishes a communication link between the streaming media kernel and the application locally.
[0120] In the embodiments of this application, the edge node can, as discussed above, establish a communication link between the streaming media kernel and the application locally after both the streaming media kernel and the application have been deployed.
[0121] Therefore, at the edge nodes, the deployment and update processes of streaming media services can be completed more flexibly, efficiently, and at low cost by making the deployment processes of the streaming media kernel and applications used to implement streaming media services independent and separate.
[0122] In addition, this application also provides a system for providing streaming media services, which may be a "distributed system" including deployment nodes and edge nodes; the deployment nodes are used to distribute a first resource package and a second resource package to the edge nodes, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service; the control edge nodes deploy the streaming media kernel and the application at the edge nodes respectively through the first resource package and the second resource package; the control edge nodes establish a communication link between the streaming media kernel and the application at the edge nodes in response to the completion of the deployment of both the streaming media kernel and the application; the edge nodes are used to receive the first resource package and the second resource package distributed by the deployment nodes; deploy the streaming media kernel and the application locally at the edge nodes respectively through the first resource package and the second resource package; and establish a communication link in response to the completion of the deployment of both the streaming media kernel and the application.
[0123] Therefore, by making the deployment processes of the streaming media kernel and applications independent and separate, the system providing streaming media services enables the deployment and update of streaming media services to be completed more flexibly, efficiently, and at a lower cost.
[0124] To enhance understanding, this application also provides a specific implementation scheme based on a particular application scenario. Please refer to it. Figure 4 , Figure 4 This is a flowchart of a process 400 for deploying a streaming media service in a specific application scenario, as provided in an embodiment of this application.
[0125] Process 400 may include deployment node 410 and edge node 415.
[0126] First, the deployment node 410 can execute S401 to distribute the first resource package 421 and the second resource package 422 to the edge node 415 (respectively) in order to deploy the "streaming service" to the edge node 415.
[0127] Accordingly, after receiving the first resource packet 421 and the second resource packet 422, the edge node 415 can independently deploy the streaming media kernel 431 and the application 432 using the first resource packet 421 and the second resource packet 422 respectively.
[0128] like Figure 4As shown, in process 400, edge node 415 can deploy the streaming media kernel 431 via the first resource package 421 and the application 432 via the second resource package 422 by executing S402 and S403 respectively. It should be understood that edge node 415 can choose to execute S402 and S403 together, or S402 first and S403 later, or S403 first and S402 later, to complete these two steps to deploy the streaming media kernel 431 and the application 432, based on actual needs.
[0129] Next, edge node 415 can continue to execute S404 to establish a communication link 433 between streaming media kernel 431 and application 432.
[0130] Subsequently, if the deployment node 410 needs to update at least one of the streaming media kernel 431 and the application 432, it can do so by issuing a first update resource package and / or a second update resource package separately.
[0131] For example, if only the case where deployment node 410 subsequently expects to update “streaming kernel 431” is shown in process 400, deployment node 410 can issue the first update resource package 441 to edge node 415 by executing S405.
[0132] Accordingly, after receiving the first update resource package 441, the edge node 415 can execute S406 to update the streaming media kernel 431 using the first update resource package 441, thereby achieving an independent update of the streaming media kernel 431 without requiring any operation on the application 432.
[0133] This application also provides an apparatus for deploying streaming media services, which can be applied to a deployment node. The structure of the apparatus is as follows: Figure 5 The apparatus 500 shown includes: a resource package distribution module 510, configured to distribute a first resource package and a second resource package to edge nodes, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; a resource deployment control module 520, configured to control the edge nodes to deploy the streaming media kernel and the application at the edge nodes respectively through the first resource package and the second resource package; and a link establishment control module 530, configured to establish a communication link between the streaming media kernel and the application at the edge nodes in response to the completion of deployment of both the streaming media kernel and the application.
[0134] This embodiment is as a corresponding method embodiment to the above-described method embodiment (for example, Figure 1The apparatus embodiment shown exists, which enables the deployment and update process of streaming media services to be completed more flexibly, efficiently, and at low cost by making the deployment process of the streaming media kernel and the application used to implement streaming media services independent and separate from each other.
[0135] In some embodiments, the resource deployment control module 520 includes: a streaming media kernel deployment submodule, configured to control the edge node to deploy the streaming media kernel at the edge node through a first resource package, and to start the streaming media kernel after the deployment is completed; and an application deployment submodule, configured to control the edge node to deploy the application at the edge node through a second resource package.
[0136] In some embodiments, the apparatus 500 further includes: a description information receiving module configured to receive service description information for a streaming media service, wherein the service description information includes: a first deployment location of the streaming media kernel, a first deployment parameter of the streaming media kernel, a second deployment location of the application, a second deployment parameter of the application, and the first deployment location and the second deployment location are different; and a resource package generation module configured to generate a first resource package and a second resource package based on the service description information.
[0137] In some embodiments, the service description information further includes: communication link parameters, including: communication protocol, heartbeat communication interval, and the link establishment control module 530 is further configured to control the edge node to establish a communication link between the streaming media kernel and the application based on the communication link parameters in response to the completion of deployment of both the streaming media kernel and the application.
[0138] In some embodiments, the apparatus 500 further includes: an edge node set determination module, configured to determine at least two edge node sets in response to receiving a node update request; a first update resource package distribution module, configured to distribute update resource packages to edge nodes in the first edge node set of the at least two edge node sets, wherein the update resource package includes: a first update resource package for updating the streaming media kernel and a second update resource package for updating the application; a first edge node update module, configured to update the streaming media kernel and / or application of the edge nodes in the first edge node set accordingly using the update resource package; a second update resource package distribution module, configured to distribute update resource packages to edge nodes in the second edge node set of the at least two edge node sets in response to the number of target edge nodes whose operating metrics do not fall within the target operating metric range being less than a number threshold within a target duration after the update is completed; the second edge node update module is configured to update the streaming media kernel and / or application of the edge nodes in the second edge node set accordingly using the update resource package.
[0139] In some embodiments, the apparatus 500 further includes an update rollback module, configured to roll back the update of each edge node in the first edge node set using the update resource package in response to a target duration after the update is completed, wherein the number of target edge nodes whose operating metrics do not fall within the target operating metric range is greater than or equal to a number threshold.
[0140] In some embodiments, the first edge node update module includes: an application stop submodule configured to stop the application in response to an update resource package including a second update resource package; an application update submodule configured to update the applications of edge nodes in the first edge node set accordingly using the update resource package; and an application restart submodule configured to start the application in response to the application being updated using the second resource package.
[0141] In some embodiments, the first edge node update module includes: a task execution status reading submodule, configured to read the task execution status corresponding to each streaming media kernel in response to an update resource package including a first update resource package, wherein the task execution status includes: a task being executed and a task not being executed; a first task scheduling submodule, configured to schedule the streaming media task currently being executed by the target streaming media kernel to a backup streaming media kernel of the target edge node in response to the existence of a target streaming media kernel currently executing a task; a streaming media kernel update submodule, configured to update the streaming media kernels of the edge nodes in the first edge node set accordingly using the update resource package; and a second task scheduling submodule, configured to schedule the streaming media task from the backup streaming media kernel back to the target streaming media kernel in response to the target streaming media kernel being updated using the first update resource package.
[0142] In some embodiments, the apparatus 500 further includes: a cache mode configuration module configured to configure the application to cache mode in response to detecting a communication link interruption, wherein the application caches received interactive instructions to a cache associated with the application in cache mode; and a cache mode deactivation module configured to control the application to deactivate cache mode in response to the restoration of the communication link and provide the interactive instructions stored in the cache to the streaming media kernel.
[0143] This application also provides another apparatus for deploying streaming media services, which can be applied to edge nodes. The structure of the apparatus is as follows: Figure 6The apparatus 600 shown includes: a resource receiving module 610, configured to receive a first resource package and a second resource package issued by a deployment node, wherein the first resource package and the second resource package are independent of each other, the first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service; a resource deployment module 620, configured to deploy the streaming media kernel and the application locally using the first resource package and the second resource package respectively; and a link establishment module 630, configured to establish a communication link between the streaming media kernel and the application locally in response to the completion of deployment of both the streaming media kernel and the application.
[0144] This embodiment is as a corresponding method embodiment to the above-described method embodiment (for example, Figure 3 The apparatus embodiment shown exists, which enables the deployment and update of streaming media services to be completed more flexibly, efficiently, and at low cost by deploying streaming media kernels and applications for implementing streaming media services independently and separately.
[0145] Based on the same concept, this application also provides an electronic device, a readable storage medium, and a computer program product. The method corresponding to the electronic device can be the method for deploying streaming media services applied to deployment nodes and edge nodes as described in the foregoing embodiments, and its problem-solving principle is similar to that method. The electronic device provided in this application includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable 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 execute the methods and / or technical solutions of the various embodiments of this application described above.
[0146] Electronic devices can be user devices, or devices composed of user devices and network devices integrated through a network, or applications running on the aforementioned devices. User devices include, but are not limited to, various terminal devices such as computers, mobile phones, tablets, smartwatches, and wristbands. Network devices include, but are not limited to, network hosts, single network servers, multiple network server sets, or cloud computing-based computer sets, and can be used to implement some processing functions when setting an alarm clock. Here, the cloud consists of a large number of hosts or network servers based on cloud computing. Cloud computing is a type of distributed computing, consisting of a virtual computer composed of a group of loosely coupled computer sets.
[0147] Figure 7The diagram illustrates the structure of an electronic device 700 suitable for implementing the methods and / or technical solutions in the embodiments of this application. The electronic device 700 includes a Central Processing Unit (CPU) 701, which can perform various appropriate actions and processes based on a program stored in a Read Only Memory (ROM) 702 or a program loaded from a storage portion 708 into a Random Access Memory (RAM) 703. The RAM 703 also stores various programs and data required for system operation. The CPU 701, ROM 702, and RAM 703 are interconnected via a bus 704. An Input / Output (I / O) interface 705 is also connected to the bus 704.
[0148] The following components are connected to I / O interface 705: an input section 706 including a keyboard, mouse, touchscreen, microphone, infrared sensor, etc.; an output section 707 including a cathode ray tube (CRT), liquid crystal display (LCD), LED display, OLED display, etc., and speakers, etc.; a storage section 708 including one or more computer-readable media such as hard disk, optical disk, magnetic disk, semiconductor memory, etc.; and a communication section 709 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 709 performs communication processing via a network such as the Internet.
[0149] In particular, the methods and / or embodiments in this application can be implemented as computer software programs. For example, the embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowchart. When the computer program is executed by a central processing unit (CPU) 701, it performs the functions defined in the methods of this application.
[0150] Another embodiment of this application provides a computer-readable storage medium and a computer program product having computer program instructions stored thereon, which can be executed by a processor to implement the methods and / or technical solutions of any one or more embodiments of this application described above.
[0151] Specifically, this embodiment may employ any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, a system, apparatus, or device that is, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0152] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0153] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0154] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0155] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0156] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0157] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules and units is only a logical functional division, and in actual implementation, there may be other division methods. Taking units as examples, multiple units or page components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0158] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0159] Furthermore, the functional modules and units in the various embodiments of this application can be integrated into one processing module or unit, or each module or unit can exist physically separately, or two or more units can be integrated into one module or unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional modules and units.
[0160] The integrated modules and units implemented as software functional modules and units described above can be stored in a computer-readable storage medium. These software functional modules and units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0161] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
[0162] Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in a device claim may also be implemented by a single unit or device through software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any specific order.
Claims
1. A method for deploying a streaming media service, applied to a deployment node, characterized in that, include: A first resource package and a second resource package are distributed to edge nodes. The first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. Control the edge node to deploy the streaming media kernel and the application at the edge node via the first resource package and the second resource package, respectively; The control edge node responds to the completion of deployment of both the streaming media kernel and the application, and establishes a communication link between the streaming media kernel and the application at the edge node.
2. The method according to claim 1, characterized in that, The control of the edge node, deploying the streaming media kernel and the application at the edge node via the first resource package and the second resource package respectively, includes: The system controls the edge node to deploy the streaming media kernel at the edge node via the first resource package, and starts the streaming media kernel after the deployment is completed. The control edge node is used to deploy the application at the edge node via the second resource package.
3. The method according to claim 1, characterized in that, The method further includes: Receive service description information for the streaming media service, wherein the service description information includes: a first deployment location of the streaming media kernel, a first deployment parameter of the streaming media kernel, a second deployment location of the application, a second deployment parameter of the application, and the first deployment location is different from the second deployment location; Based on the service description information, the first resource package and the second resource package are generated.
4. The method according to claim 3, characterized in that, The service description information also includes: communication link parameters, which include: communication protocol, heartbeat communication interval, and control of the edge node to establish a communication link between the streaming media kernel and the application after both the streaming media kernel and the application have been deployed, including: The control edge node responds to the completion of deployment of both the streaming media kernel and the application, and uses the application to establish a communication link between the streaming media kernel and the application based on the communication link parameters.
5. The method according to claim 1, characterized in that, The method further includes: In response to receiving a node update request, at least two sets of edge nodes are determined; For the edge nodes in the first set of at least two edge node sets, an update resource package is issued, wherein the update resource package includes: a first update resource package for updating the streaming media kernel, and a second update resource package for updating the application; The streaming media kernel and / or the application of the edge nodes in the first set of edge nodes are updated accordingly using the updated resource package; In response to the fact that, within the target duration after the update is completed, the number of target edge nodes in the first edge node set whose operating indicators do not fall within the target operating indicator range is less than a number threshold, the update resource package is sent to the edge nodes in the second edge node set in at least two edge node sets. The streaming media kernel and / or the application of the edge nodes in the second set of edge nodes are updated accordingly using the updated resource package.
6. The method according to claim 5, characterized in that, The method further includes: In response to a situation where, within the target duration after the update is completed, the number of target edge nodes in the first edge node set whose operating metrics do not fall within the target operating metric range is greater than or equal to a number threshold, the update of each edge node in the first edge node set using the update resource package is rolled back.
7. The method according to claim 5, characterized in that, The step of updating the streaming media kernel and / or the application of the edge nodes in the first set of edge nodes using the updated resource package includes: In response to the update resource package including the second update resource package, the application is stopped; The application of the edge node in the first edge node set is updated accordingly using the update resource package; In response to the application being updated using the second resource pack, the application is launched.
8. The method according to claim 5, characterized in that, The step of updating the streaming media kernel and / or the application of the edge nodes in the first set of edge nodes using the updated resource package includes: In response to the update resource package including the first update resource package, the task execution status corresponding to each of the streaming media kernels is read, wherein the task execution status includes: a task being executed and a task not being executed; In response to the existence of a target streaming media kernel currently executing a task, the streaming media task currently being executed by the target streaming media kernel is scheduled to a backup streaming media kernel of the target edge node; The streaming media kernel of the edge node in the first set of edge nodes is updated accordingly using the updated resource package; In response to the target streaming media kernel being updated using the first update resource package, the streaming media task is scheduled back from the backup streaming media kernel to the target streaming media kernel.
9. The method according to any one of claims 1-8, characterized in that, The method further includes: In response to the detection of the communication link interruption, the application is configured to a cache mode, wherein the application caches received interactive instructions to a cache associated with the application in the cache mode; In response to the restoration of the communication link, the application is controlled to release the caching mode and the interactive instructions stored in the cache are provided to the streaming media kernel.
10. A method for deploying a streaming media service, applied to an edge node, characterized in that, include: The system receives a first resource package and a second resource package from the deployment node. The first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The streaming media kernel and the application are deployed locally using the first resource package and the second resource package, respectively. In response to the completion of deployment of both the streaming media kernel and the application, a communication link between the streaming media kernel and the application is established locally.
11. An apparatus for deploying streaming media services, applied to a deployment node, characterized in that, include: The resource package distribution module is configured to distribute a first resource package and a second resource package to edge nodes. The first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The resource deployment control module is configured to control the edge node to deploy the streaming media kernel and the application at the edge node through the first resource package and the second resource package, respectively. The link establishment control module is configured to establish a communication link between the streaming media kernel and the application at the edge node in response to the completion of deployment of both the streaming media kernel and the application.
12. An apparatus for deploying streaming media services, applied to an edge node, characterized in that, include: The resource receiving module is configured to receive a first resource package and a second resource package issued by the deployment node. The first resource package and the second resource package are independent of each other. The first resource package is used to deploy the streaming media kernel that implements the streaming media service, and the second resource package is used to deploy the application that implements the streaming media service. The resource deployment module is configured to deploy the streaming media kernel and the application locally using the first resource package and the second resource package, respectively. The link establishment module is configured to establish a communication link between the streaming media kernel and the application locally in response to the completion of deployment of both the streaming media kernel and the application.
13. A system for providing streaming media services, characterized in that, include: Deployment nodes and edge nodes; The deployment node is used to issue a first resource package and a second resource package to the edge node, wherein the first resource package and the second resource package are independent of each other. The first resource package is used to deploy a streaming media kernel that implements the streaming media service, and the second resource package is used to deploy an application that implements the streaming media service. The deployment node is controlled to deploy the streaming media kernel and the application at the edge node through the first resource package and the second resource package, respectively. The deployment node is controlled to establish a communication link between the streaming media kernel and the application at the edge node in response to the completion of the deployment of both the streaming media kernel and the application. The edge node is used to receive the first resource package and the second resource package issued by the deployment node; deploy the streaming media kernel and the application locally on the edge node through the first resource package and the second resource package respectively; and establish the communication link in response to the completion of deployment of the streaming media kernel and the application.
14. An electronic device, the electronic device comprising: At least one processor; as well as 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 to enable the at least one processor to perform the method of any one of claims 1 to 10.
15. A computer-readable medium having stored thereon computer program instructions that can be executed by a processor to implement the method as claimed in any one of claims 1 to 10.
16. A computer program product comprising a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 10.