Resource scheduling method, communication system, device and storage medium

By simulating the set-top box operating environment in the cloud and using cloud computing technology to provide streaming services for local set-top boxes, the problem of information delivery and function upgrade obstacles caused by the huge number of existing set-top box equipment and large performance differences is solved, and new applications and experiences are provided without replacing local set-top boxes, reducing operating costs and improving data security.

WO2025050808A1PCT designated stage expired Publication Date: 2025-03-13HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/104054
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-04
Filing Date
2024-07-05
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

The large number of existing set-top box equipment and large performance differences have led to obstacles in information delivery and function upgrades, especially the inability to install new applications and experiences in old equipment, and the operation and maintenance management costs are high.

Method used

By simulating the set-top box operating environment in the cloud, cloud computing technology is used to provide streaming services for local set-top boxes, and resource scheduling of cloud set-top boxes is realized. The specific method includes deploying the first resource group in the private network of the user computer room, deploying the second resource group in the public cloud network, and uniformly scheduling by the control nodes in the public cloud, and providing the data required by the application initiator from the first resource group to schedule idle container instances.

Benefits of technology

It enables new applications and experiences without replacing local set-top boxes, reducing users' hardware requirements and operating costs, while improving data security and application initiator response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024104054_13032025_PF_FP_ABST
    Figure CN2024104054_13032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present application are a resource scheduling method, a communication system, a device and a storage medium. Provided in the present application are a new cloud set-top box, comprising: a first resource group located in a private network of a user machine room, and a second resource group located in a public cloud network, wherein an application launcher of the set-top box is deployed for both the first resource group and the second resource group, and the first resource group and the second resource group are scheduled by a management and control node in the public cloud network in a unified manner. A target resource group with the water level of a container meeting a water level requirement can be determined from the first resource group and the second resource group; and when the target resource group comprises the first resource group, idle container instances are preferentially scheduled from the first resource group to provide data required by the application launcher. Since the first resource group is deployed in the private network of the user machine room, compared with the second resource group located in the public cloud network, the first resource group can provide a faster application launcher service, such that the response delay of a request of a application launcher is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Resource scheduling method, communication system, device and storage medium Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a resource scheduling method, communication system, device and storage medium. Background Art

[0002] A set-top box (STB), also known as a digital video converter box (DVB), is a device that connects a television set to an external signal source. It converts compressed digital signals into television content and displays it on the television. With the advancement of communications and internet technologies, and the advent of the era of triple-network convergence, set-top boxes are also moving towards intelligence. Today, the number of set-top boxes has reached hundreds of millions, encompassing a wide variety of devices with varying levels of performance. This multitude of both new and existing devices has hindered broadcasting and television operators' ability to deliver content to set-top boxes.

[0003] With the development of communications and cloud computing technologies, cloud computing can simulate the set-top box operating environment in the cloud and provide application services to local set-top boxes through streaming services. This allows users to smoothly access broadcast and television media resources on older devices with weaker hardware, eliminating their dependence on local set-top box capabilities.

[0004] Summary of the Invention

[0005] Multiple aspects of the present application provide a resource scheduling method, a communication system, a device, and a storage medium to provide a new cloud set-top box and implement resource scheduling of the new cloud set-top box.

[0006] An embodiment of the present application provides a resource scheduling method applicable to a control node in a communication system; the communication system further includes: a first resource group and a second resource group; the first resource group includes: at least one service device; the second resource group includes: at least one cloud server; wherein the control node and the second resource group are deployed in a public cloud network; the first resource group is deployed in a private network of a user's computer room; the private network is communicatively connected to the public cloud network; the first resource group and the second resource group are uniformly scheduled by the control node; the service device and the cloud server are deployed with a container instance corresponding to an application launcher of a set-top box;

[0007] The method comprises:

[0008] Responding to an initiator request sent by a set-top box service device in the user computer room, obtaining a container water level of the first resource group and a container water level of the second resource group;

[0009] Determine a target resource group whose container water level meets a set first water level requirement from the first resource group and the second resource group; the target resource group includes: the first resource group and / or the second resource group;

[0010] In a case where the target resource group includes the first resource group, an idle target container instance is scheduled from the container instances of the first resource group to provide the set-top box service device with the data required by the application launcher.

[0011] An embodiment of the present application further provides a communication system, comprising: a control node, a first resource group, and a second resource group; the first resource group comprises: at least one service device; the second resource group comprises: at least one cloud server; wherein the control node and the second resource group are deployed in a public cloud network; the first resource group is deployed in a private network of a user's computer room; the private network is communicatively connected to the public cloud network;

[0012] The first resource group and the second resource group are uniformly scheduled by the control node; the container instance corresponding to the application launcher of the set-top box is deployed in the service device and the cloud server;

[0013] The user room further comprises: a set-top box service device; the set-top box service device is configured to send a starter request to the control node;

[0014] The control node is configured to execute the steps of the resource scheduling method described in the claims.

[0015] An embodiment of the present application further provides a computing device, comprising: a memory, a processor, and a communication component; wherein the memory is configured to store a computer program;

[0016] The processor is coupled to the memory and the communication component, and is configured to execute the computer program to perform the steps of the resource scheduling method as claimed in claim 1.

[0017] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions, which, when executed by one or more processors, causes the one or more processors to execute the steps of the resource scheduling method recited in the claim.

[0018] In an embodiment of the present application, a new cloud-based set-top box is provided, comprising: a first resource group located in a private network of a user's computer room and a second resource group located in a public cloud network. The first resource group and the second resource group are deployed with an application launcher for the set-top box, and the first resource group and the second resource group are centrally scheduled by a control node in the public cloud network. During resource scheduling, a target resource group whose container level meets the required level can be determined based on the container level of the first resource group and the container level of the second resource group. If the target resource group includes the first resource group, idle container instances in the first resource group are preferentially scheduled to provide data required by the application launcher. On the one hand, because the first resource group is deployed in the private network of the user's computer room, it can provide faster application launcher service than the second resource group located in the public cloud network, reducing the response latency of application launcher requests. On the other hand, because the first resource group is pre-purchased by the user, while the second resource group in the public cloud requires users to pay based on usage and usage time, preferentially scheduling resources from the pre-paid first resource group can reduce user costs. Moreover, the data required by the application launcher is in the user's computer room, which can meet the user's needs for data security.

[0019] In addition, the cloud set-top box provided in the embodiment of the present application can also migrate the increasingly complex application software originally running in the user's local set-top box to the cloud, eliminating the hardware differences of the local set-top box and lowering the hardware requirements for the set-top box. It can allow users to experience new applications without replacing all set-top boxes, thereby meeting the customer's operational promotion needs. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0021] FIG1 is a schematic diagram of the structure of a traditional network television system;

[0022] FIG2 is a schematic diagram of the structure of a communication system provided in an embodiment of the present application;

[0023] FIG3 is a desktop diagram of an application launcher provided in an embodiment of the present application;

[0024] FIG4 is another structural diagram of a communication system provided in an embodiment of the present application;

[0025] FIG5 is a schematic diagram of a resource scheduling process of a communication system provided in an embodiment of the present application;

[0026] FIG6 is a schematic diagram of a dynamic scaling process of a cloud server provided in an embodiment of the present application;

[0027] FIG7 is a schematic diagram of a flow chart of a resource scheduling method provided in an embodiment of the present application;

[0028] FIG8 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0029] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0030] As shown in Figure 1, current Internet TV systems typically use a local set-top box (STB) as the application launcher. One end of the STB is connected to a local display device, such as a TV, and the other end is connected to the network. After completing authentication with the broadcast and television data center, the STB obtains media resources from the data center and plays them on the local display device. Therefore, the STB acts as a local device, supporting user operations.

[0031] The number of existing set-top boxes (STBs) has reached hundreds of millions, encompassing a wide variety of devices with varying performance levels. This multitude of both new and existing devices has hindered broadcasting and television operators' efforts to deliver information, upgrade functionality, and improve the user experience on STBs. This is primarily manifested in the following ways: First, the large inventory of non-intelligent STBs hinders industry innovation. Users can watch TV programs through traditional methods, with limited application models and a poor user experience. Second, they are unable to install new applications and experiences. Due to performance or system limitations, older STBs are unable to install current mainstream applications, limiting the user experience. Third, STB operation and maintenance presents bottlenecks. Hundreds of different hardware models from various manufacturers coexist on the network, with multiple backend platforms. This leads to inconsistent user experiences and excessively high costs for unified device operation and maintenance. Given these factors, replacing STBs with such a large inventory of devices is a significant costly undertaking.

[0032] With the advancement of communications and cloud computing technologies, cloud computing can now simulate the operating environment of set-top boxes in the cloud and provide application services to users' local set-top boxes through streaming services. This cloud-based set-top box eliminates the need for users to replace their local set-top boxes. When new applications are released, the cloud-based set-top box can push the video stream of the new application to the user's local device. This allows users to experience new applications without having to replace their local set-top boxes. Users with existing set-top boxes with less powerful hardware can now seamlessly access broadcast and television media resources, eliminating their reliance on local hardware.

[0033] The present invention provides a new cloud-based set-top box (STB) comprising a first resource group located in a private network in a user's computer room and a second resource group located in a public cloud network. The first resource group and the second resource group are deployed with a set-top box application launcher, and the first resource group and the second resource group are centrally scheduled by a control node in the public cloud network. During resource scheduling, a target resource group whose container level meets the required level can be determined based on the container level of the first resource group and the container level of the second resource group. If the target resource group includes the first resource group, idle container instances in the first resource group are preferentially scheduled to provide data required by the application launcher. Because the first resource group is deployed in the private network in the user's computer room, it can provide faster application launcher service than the second resource group located in the public cloud network, reducing the response latency of application launcher requests. Furthermore, because the first resource group is pre-purchased by the user, while the second resource group in the public cloud requires users to pay by volume and usage time, prioritizing the scheduling of resources in the pre-paid first resource group reduces user costs. Furthermore, the data required by the application launcher is located in the user's computer room, meeting user requirements for data security.

[0034] In addition, the cloud set-top box provided in the embodiment of the present application can also migrate the increasingly complex application software originally running in the user's local set-top box to the cloud, eliminating the hardware differences of the local set-top box and lowering the hardware requirements for the set-top box. It can allow users to experience new applications without replacing all set-top boxes, thereby meeting the customer's operational promotion needs.

[0035] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0036] It should be noted that the same reference numerals denote the same objects in the following drawings and embodiments, and therefore, once an object is defined in one drawing or embodiment, it does not need to be further discussed in the subsequent drawings and embodiments.

[0037] Figure 2 is a structural diagram of the communication system provided in an embodiment of the present application. As shown in Figure 2, the communication system mainly includes: a management and control node 10, a first resource group 20 and a second resource group 30. In this embodiment, the management and control node 10 and the second resource group 30 are deployed in a public cloud network. The number of second resource groups 30 can be 1 or more. Multiple refers to 2 or more. Each second resource group 30 includes: at least one cloud server 301. Among them, the cloud server 301 is an elastically scalable Infrastructure as a Service (IaaS) level cloud computing service. The cloud server can save customers from the pre-preparation of purchasing hardware, allowing users to use the server conveniently and efficiently, and realize the ready-to-use and elastic scaling of computing resources. The cloud server 301 can be flexibly elastically scaled according to the actual resource needs of users.

[0038] The first resource group 20 is deployed in the private network of the user's computer room. The number of first resource groups 20 can be one or more. "More" means two or more. Each first resource group 20 includes: at least one service device 201. Generally, there are multiple service devices 201. "More" means two or more. The number and specifications of the first resource group 20 and the service devices 201 contained in each first resource group 20 are purchased and customized by the owner of the user's computer room and then deployed in the user's computer room. Therefore, once deployed in the user's computer room, the number of first resource groups 20 and service devices 201 is generally fixed and does not support elastic scaling.

[0039] In this embodiment, the user room may be a room where the set-top box service device 40 is located, such as a room of a broadcasting and television operator. The private network may be a virtual private cloud (VPC) network.

[0040] The user's computer room provides media resources to the users of the set-top boxes (ordinary users), which are played on the user's local display device via the set-top boxes. In this embodiment, in order to realize local storage of media resources, a first resource group 20 is deployed locally in the user's computer room.

[0041] The first resource group 20 extends the public cloud's computing, storage, and network infrastructure to the user's local data center in a hardware-software integrated manner, providing a fully managed cloud service that meets requirements for data security, local data processing, and low latency. The first resource group 20 is an extension of the public cloud within the user's local data center. It is the infrastructure resources deployed in the user's local data center or Internet Data Center (IDC) and managed by the public cloud. The first resource group 20 is managed and maintained by the control node 10 in the public cloud.

[0042] In this embodiment, the first resource group 20 and the second resource group 30 constitute a new cloud-based set-top box. Specifically, a container instance corresponding to the set-top box's application launcher is deployed in the service device 201 of the first resource group 20 and the cloud server 301 of the second resource group 30. The container instance can be a Docker container, such as a container group (e.g., a Pod).

[0043] An application launcher is an application installed in a traditional set-top box that is used to launch other applications. Other applications can be applications that provide media resources. The application launcher's desktop can be shown in Figure 3. Users can launch other applications, such as the AD application in Figure 3, by operating the application launcher's desktop.

[0044] The new cloud-based set-top box provided in this embodiment can utilize the first resource group to implement local storage of video data, meeting users' needs for data security. The second resource group can be used to introduce other new application services, such as video applications and gaming applications, to home set-top boxes, eliminating the need to replace the hardware of older set-top boxes and reducing set-top box replacement costs. Through the control node 10 in the public cloud, software upgrades and unified operation and maintenance management of the set-top boxes can be completed in the cloud, reducing costs and increasing efficiency.

[0045] In this embodiment, the private network in the user's computer room is connected to the public cloud network. In some embodiments, the private network and the public cloud network can be connected via a virtual network card (VNIC). The VNIC is a virtual network interface in a private network (such as a VPC) that is configured to connect the cloud server to the private network.

[0046] The first resource group 20 and the second resource group 30 are centrally scheduled by the control node 10. The control node 10 can provide application launcher services to the set-top box service device 40 located in the user's computer room by performing mixed scheduling on the first resource group 20 and the second resource group 30.

[0047] Before the first resource group 20 and the second resource group 30 provide the application launcher service to the set-top box service device 40, container instances corresponding to the application launcher must be deployed in the first resource group 20 and the second resource group 30. Because the first resource group 20 is purchased and customized by the owner of the user's computer room (such as a broadcasting and television operator), the resources provided by the first resource group 20 are fixed. Therefore, the maximum number of container instances that can be deployed in the first resource group 20 cannot be elastically expanded.

[0048] For the first resource group 20, the control node 10 can deploy a container instance corresponding to the application launcher on the service device 201 in the first resource group 20. Specifically, as shown in Figure 4, a container service node 202 can be deployed in the private network of the user's computer room. The control node 10 can deploy the container instance on the service device 201 by controlling the container service node 202.

[0049] Specifically, the control node 10 can control the container service node 202 to initialize the container instance, which primarily involves preparing related components such as the virtual network card and writing environment information. Furthermore, the control node 10 can also control the container service node 202 to initialize the container environment and install the application launcher in the container environment to obtain the container instance corresponding to the application launcher. Container instances corresponding to the same application launcher occupy the same resources, and the number of container instances deployed on each service device 201 is fixed.

[0050] For the second resource group 30, the control node 10 can deploy the container instance corresponding to the application launcher on the cloud server 301 in the second resource group 30. Specifically, as shown in Figure 4, a container service node 302 is deployed in the public cloud network. The control node 10 can deploy the container instance on the cloud server 301 by controlling the container service node 302. The cloud server 301 has certain resource specifications, and the container instances that can be deployed on the cloud server 301 are also limited.

[0051] Cloud server 301 supports elastic scaling and can be dynamically scaled up or down based on actual resource demands. Accordingly, as shown in FIG4 , an instance management and control node 303 is also deployed in the public cloud network. Management and control node 10 can dynamically scale cloud server 301 through instance management and control node 303. The specific implementation of dynamic scaling of cloud servers will be described in detail in the following embodiments and will not be elaborated here.

[0052] Based on the container instances corresponding to the application launchers deployed in the first resource group 20 and the second resource group 30, the embodiment of the present application provides a corresponding hybrid scheduling method, which is described in detail below.

[0053] As shown in Figure 2, set-top box service equipment 40 can send a launcher request to control node 10 according to actual demand.This launcher request is used to request the application launcher of set-top box.In certain embodiments, set-top box can request application launcher to set-top box service equipment 40 in the startup process.Correspondingly, set-top box service equipment 40 can send a launcher request to control node 10 in response to this request.

[0054] In conjunction with Figures 2 and 5 , the management and control node 10 can obtain the container water level of the first resource group 20 and the container water level of the second resource group 30 in response to the initiator request. In an embodiment of the present application, the container water level can be the water level of the used container instances, that is, the ratio of the used container instances to the total number of container instances. Accordingly, the container water level of the first resource group 20 can be represented by the ratio of the used container instances in the first resource group 20 to the total number of container instances in the first resource group 20. The container water level of the second resource group 30 can be represented by the ratio of the used container instances in the second resource group 30 to the total number of container instances in the second resource group 30.

[0055] Of course, the container water level can also be the water level of unused containers (i.e., idle containers), that is, the ratio of unused containers (i.e., idle containers) to all container instances. Accordingly, the container water level of the first resource group 20 can be represented by the ratio of unused containers in the first resource group 20 to all container instances in the first resource group 20. The container water level of the second resource group 30 can be represented by the ratio of unused containers in the second resource group 30 to all container instances in the second resource group 30.

[0056] Regardless of whether the container water level is the water level of a used container instance or the water level of an unused container, it can represent the situation of the schedulable container instance in the resource group (the first resource group or the second resource group). Based on this, the control node 10 can determine the target resource group whose container water level meets the set first water level requirement from the first resource group 20 and the second resource group 30 according to the container water level of the first resource group 20 and the container water level of the second resource group 30. Among them, the target resource group may be all the first resource group or all the second resource group; of course, it may also include both the first resource group and the second resource group. That is, the target resource group includes: the first resource group and / or the second resource group, and which resource groups are specifically included is determined by whether the container water level of the resource group meets the set first water level requirement. The target resource group has an idle container instance and provides the set-top box service device 40 with the data required by the application launcher.

[0057] Among them, different ways of representing the container water level will result in different corresponding first water level requirements. In some embodiments, the container water level is represented by the water level of the above-mentioned used container instance, and the set first water level requirement can be implemented as follows: the water level of the used container instance in the resource group is less than the set first water level threshold. That is, if the water level of the used container instance in the resource group is less than the set first water level threshold, it is determined that the resource group meets the set first water level requirement and can be determined as the target resource group. The first water level threshold can be flexibly set according to actual needs. Generally, the first water level threshold is greater than 50%, and the first water level threshold can be any value between 50% and 100%. For example, the first water level threshold can be 70%, 75%, 80%, 90% or 100%, etc.

[0058] Accordingly, the management and control node 10 can determine, based on the water level of used container instances in the first resource group and the water level of used container instances in the second resource group, a resource group from the first resource group and the second resource group whose water level of used container instances is less than a set first water level threshold, and use this resource group as the target resource group. This is the water level scheduling in Figure 5.

[0059] In some embodiments, the container water level is represented by the water level of the aforementioned idle container instances. The set first water level requirement can be implemented as follows: the water level of the idle container instances in the resource group is greater than the set first water level threshold. That is, if the water level of the idle container instances in the resource group is greater than the set first water level threshold, the resource group is determined to meet the set first water level requirement and can be designated as the target resource group. The first water level threshold can be flexibly set based on actual needs. Generally, the first water level threshold is less than 50% and can be any value between 0% and 50%. For example, the first water level threshold can be 0%, 5%, 10%, 20%, 30%, or 40%.

[0060] Accordingly, the management and control node 10 can determine, from the first resource group and the second resource group, a resource group whose water level of used container instances is greater than the set first water level threshold based on the water level of idle container instances and the water level of idle container instances in the first resource group, as the target resource group.

[0061] The target resource group has an idle container instance, which provides the set-top box service device 40 with the data required for the application launcher. The data required for the application launcher mainly refers to the content data for the homepage of the application launcher. Since the first resource group 20 is deployed in the private network of the user's computer room, it has the advantage of local service for users. First, compared with the second resource group 30 located in the public cloud network, the first resource group 20 can provide faster application launcher services and reduce response delays. Second, the first resource group 20 is deployed in the private network of the user's computer room, which can meet the user's needs for data security. Therefore, the scheduling priority of the first resource group can be set higher than that of the second resource group. When scheduling resources, the container instances in the first resource group are scheduled first, that is, the "priority scheduling" in Figure 5. Based on this, if the target resource group includes the first resource group 20, the idle target container instance can be scheduled from the first resource group determined as the target resource group to provide the set-top box service device 40 with the data required for the application launcher. Thus, on the one hand, because the first resource group 20 is deployed in the private network of the user's computer room, it can provide faster application launcher services compared to the second resource group 30 located in the public cloud network, reducing the response latency of application launcher requests. Furthermore, the first resource group's deployment in the private network of the user's computer room meets the user's needs for data security. On the other hand, because the first resource group 20 is pre-purchased by the user, the second resource group in the public cloud requires the user to pay by volume and usage time. Therefore, the resources of the pre-paid first resource group are prioritized for scheduling, which can reduce user usage costs.

[0062] Accordingly, if the target resource group does not include the first resource group, the management and control node 10 may schedule an idle target container instance from the second resource group determined as the target resource group to provide the set-top box service device 40 with data required by the application launcher.

[0063] Specifically, the target container instance can send the instance information of the target container instance to the set-top box service device 40 (corresponding to the "application data transmission" in Figure 5). Wherein, the instance information of the target container instance may include: the Internet Protocol (IP) address and verification information of the target container instance. The set-top box service device 40 can establish a communication connection with the target container instance based on the instance information of the target container instance, and then obtain the streaming data corresponding to the application launcher from the target container instance. Further, the set-top box service device 40 can provide the streaming data corresponding to the application launcher to the set-top box (not shown in the accompanying drawings), and the set-top box can render the streaming data corresponding to the application launcher to show the desktop of the application launcher on the display device (as shown in Figure 3). The user of the set-top box can start other applications by operating the desktop of the application launcher.

[0064] In an embodiment of the present application, in addition to providing a hybrid resource scheduling method of a first resource group located in a private network of a user's computer room and a second resource group located in a public cloud network, the owner of the user's computer room, that is, the user of the cloud set-top box, can also specify the resource group to be used (corresponding to the "specified resource scheduling" in Figure 5). Accordingly, the launcher request may include: an identifier of the resource group to be used. The resource group to be used may be the first resource group or the second resource group. Accordingly, in the case where the launcher request includes the identifier of the resource group to be used, the management and control node 10 can also obtain the container water level of the resource group to be used according to the identifier of the resource group to be used; in the case where the container water level of the resource group to be used meets the first water level requirement set above, the idle container instance is scheduled from the resource group to be used to provide the set-top box service device 40 with the data required for the application launcher (corresponding to the "specified resource scheduling" in Figure 5).

[0065] Accordingly, if the container level of the designated resource group does not meet the first level requirement set above, a resource shortage prompt message may be returned to the set-top box service device 40. Of course, if the container level of the designated resource group does not meet the first level requirement set above, the control node 10 may also use a hybrid resource scheduling method of the first resource group in the private network of the user's computer room and the second resource group in the public cloud network to determine the target container instance. The specific determination process can be found in the relevant content of the above embodiment and will not be repeated here.

[0066] If the launcher request does not include the identifier of the resource group specified for use, a hybrid resource scheduling method of the first resource group in the private network of the above-mentioned user computer room and the second resource group located in the public cloud network can be used to determine the target container instance. The specific determination process can be referred to the relevant content of the above-mentioned embodiment and will not be repeated here.

[0067] As shown in Figure 5, in some embodiments, a resource scheduling method for a specified environment can also be adopted, that is, "specified environment scheduling" in Figure 5. The specified environment refers to whether the usage environment of the specified target resource group is an online environment or a test environment. The owner of the user's computer room, that is, the user of the cloud set-top box, can specify the usage environment. The launcher request carries the specified usage environment. The management and control node 10 can also obtain a resource group whose usage environment is the specified usage environment from the first resource group and the second resource group based on the specified usage environment; when the container water level of the resource group whose usage environment is the specified usage environment meets the first water level requirement set above, the idle container instance is scheduled from the resource group whose usage environment is the specified usage environment to provide the set-top box service device 40 with the data required by the application launcher. If the resource group whose usage environment is the specified usage environment includes the first resource group, the idle container instance is scheduled from the first resource group to provide the set-top box service device 40 with the data required by the application launcher.

[0068] As shown in Figure 5, the management and control node 10 can also verify the user information before responding to the initiator request. Specifically, the management and control node 10 can obtain user information from the initiator request; and verify the user information. Optionally, the management and control node 10 can query the user information carried in the initiator request in the pre-stored registered user information; if the user information carried in the initiator request is found in the registered user information, it is determined that the user information carried in the initiator request has passed the verification. Further, the resource information applied for by the user (i.e., the user resource information in Figure 5) can be obtained, which may include: the specifications of the cloud server applied for, and the specifications of the service equipment in the first resource group, etc. During resource scheduling, the resources allocated to the user do not exceed the resource information applied for by the user. Of course, the user scheduling rules of the user can also be obtained, that is, the scheduling rules set by the user are water level scheduling, specified resource scheduling, specified environment scheduling, and priority scheduling.

[0069] In addition to providing a resource scheduling method based on a new cloud set-top box, the communication system provided by the embodiment of the present application also supports dynamic scaling of cloud servers in the public cloud. Accordingly, as shown in Figure 6, the control node 10 can monitor cloud server expansion events; when a cloud server expansion event is detected, a new target cloud server is expanded in the public cloud network (i.e., "cloud server production" in Figure 6); and a container instance corresponding to the application launcher is created on the target cloud server. Among them, creating a container instance corresponding to the application launcher on the target cloud server may include: instance initialization, container environment initialization, application launcher installation (i.e., "application installation" in Figure 6) and container pull-up and other steps. Among them, for the description of instance initialization, container environment initialization, application launcher installation and container pull-up, please refer to the relevant content of the above embodiment, which will not be repeated here. Further, after the container instance is created, the target cloud server can be online for scheduling by the control node 10, i.e., "node online" in Figure 6.

[0070] In the embodiments of the present application, the specific implementation of the cloud server capacity expansion event is not limited. In some embodiments, the communication system supports water level expansion. Accordingly, the management and control node 10 can monitor the overall container water level of the first resource group and the second resource group. If the overall container water level is monitored to meet the set second water level requirement, it is determined that a cloud server capacity expansion event has been detected.

[0071] The overall container water level of the first and second resource groups can be the overall water level of used container instances in the first and second container groups, and can be represented by the ratio of the total number of used container instances in the first and second container groups to the total number of container instances in the first and second container groups. Accordingly, the second water level requirement can be implemented as: the overall water level of used container instances in the first and second container groups is greater than or equal to a set second water level threshold. A total water level of used container instances in the first and second container groups greater than or equal to the set second water level threshold can indicate a shortage of idle container instances in the communication system, and therefore, the need to expand new cloud servers to deploy new container instances. In this embodiment, the specific value of the second water level threshold is not limited. Generally, the second water level threshold is greater than 50% and can be any value between 50% and 100%. For example, the second water level threshold can be 70%, 75%, 80%, 90%, or 100%.

[0072] Accordingly, the management and control node 10 may determine that a cloud server expansion event has been detected when the overall water level of the used container instances in the first container group and the used container instances in the second container group is greater than or equal to the set second water level threshold.

[0073] Of course, the overall container water level of the first and second resource groups can be the overall water level of the idle container instances in the first container group and the idle container instances in the second container group, and can be represented by the ratio of the total number of idle container instances in the first container group and the second container group to the total number of container instances in the first container group and the second container group. Accordingly, the second water level requirement can be implemented as follows: the overall water level of the idle container instances in the first container group and the idle container instances in the second container group is less than or equal to a set second water level threshold. A total water level of the idle container instances in the first container group and the second container group being less than or equal to the set second water level threshold can indicate a shortage of idle container instances in the communication system, and therefore, the need to expand new cloud servers to deploy new container instances. In this embodiment, the specific value of the second water level threshold is not limited; generally, the second water level threshold is less than 50% and can be any value between 0% and 50%. For example, the second water level threshold can be 0%, 5%, 10%, 20%, 30%, or 40%.

[0074] Accordingly, the management and control node 10 may determine that a cloud server expansion event has been detected when the overall water level of the idle container instances in the first container group and the idle container instances in the second container group is less than or equal to the set second water level threshold.

[0075] Of course, in addition to supporting water level-triggered capacity expansion, embodiments of the present application may also support timed and / or manually triggered capacity expansion. For timed-triggered capacity expansion, a cloud server capacity expansion time may be pre-set. The management and control node 10 may determine that a cloud server capacity expansion event has been detected upon detecting the arrival of the set cloud server capacity expansion time.

[0076] Cloud server capacity expansion schedules can be flexibly set by public cloud operations and maintenance personnel or the owner of the user's data center based on prior knowledge. Peak usage times for container instances can also be determined based on historical usage data. This historical usage data can include historical usage times and usage volumes.

[0077] Based on this, the management and control node 10 can obtain historical usage data of the container instance in the communication system. Further, the management and control node 10 can predict the peak usage time of the container instance based on the historical usage data of the container instance.

[0078] In the embodiment of the present application, the specific implementation method of the management and control node 10 predicting the peak usage time of the container instance based on the historical usage data of the container instance is not limited.

[0079] In some embodiments, the management and control node 10 may obtain the historical usage time of the container instance from the historical usage data of the container instance. Furthermore, the management and control node 10 may perform statistical analysis on the historical usage time of the container instance to obtain information on the usage patterns of the container instance. Subsequently, the management and control node 10 may predict peak usage times of the container instance based on the usage pattern information of the container instance. For example, the management and control node 10 may determine the usage of the container instance in each time period based on the usage pattern information of the container instance. Based on the usage of the container instance in each time period, the management and control node 10 may predict the peak usage times of the container instance.

[0080] In other embodiments, in order to improve the accuracy of predicting peak usage time, a neural network model may be introduced. In the embodiments of the present application, the specific implementation form of the neural network model is not limited. Optionally, the neural network model may be a convolutional neural network (CNN), a deep learning neural network (DNN), a recurrent neural network (RNN), or a convolutional neural tensor network (CNTN), etc., but is not limited thereto.

[0081] A neural network model is used to predict peak usage times, defined as a peak-period prediction model. The peak-period prediction model uses historical usage data of container instances in the communication system as training samples, with the goal of minimizing a loss function. This model is trained by initially training the neural network model. The historical usage data of the container instances used in the training samples can be the usage data of the container instances before the historical usage data used for online peak-period prediction. The peak-period prediction model can take historical usage data of container instances as input, and output the predicted peak usage times.

[0082] The loss function can be expressed as the difference between the peak usage time predicted by model training and the actual peak usage time.

[0083] Based on the trained peak period prediction model, historical usage data for container instances can be input into the peak period prediction model. Furthermore, the peak period prediction model can predict peak usage times for container instances based on the historical usage data. The historical usage data used for online prediction of peak usage times for container instances can be historical usage data from a recent period (e.g., the last week, the last two weeks, the last month, or several months).

[0084] After predicting the peak usage times for container instances, the cloud server expansion time can be determined based on these predicted peak usage times. This cloud server expansion time can occur before the predicted peak usage times. For example, a set time period (such as half an hour, one hour, or two hours) before the predicted peak usage times can be used as the cloud server expansion time. This allows for dynamic expansion of the cloud server and container instances corresponding to the application launcher before the peak usage period, alleviating resource constraints during set-top box usage periods and meeting peak usage demands.

[0085] For the aforementioned manually triggered expansion method, a cloud server expansion interface can be provided. This cloud service expansion interface can be implemented as a trigger button or an application programming interface (API). Public cloud operations and maintenance personnel or the owner of a user's computer room can manually trigger cloud server expansion by triggering the cloud server expansion interface. Accordingly, the management and control node 10 can determine that a cloud server expansion event has been detected when detecting a trigger on the cloud server expansion interface.

[0086] The implementation of the cloud server expansion event shown in the above embodiment is for illustrative purposes only and is not intended to be limiting. Upon detecting a cloud server expansion event, the control node 10 can expand a new target cloud server within the public cloud network and create a container instance corresponding to the application launcher on the target cloud server, thereby enabling dynamic expansion of cloud servers and container instances.

[0087] The communication system provided by the embodiment of the present application, in addition to supporting dynamic expansion of cloud servers, also supports dynamic contraction of cloud servers. Accordingly, the management and control node 10 can monitor cloud server contraction events; in the case of monitoring the occurrence of cloud server contraction events, the cloud server to be destroyed is determined, and the container instance in the cloud server to be destroyed is deleted ("Container Deletion" and "Container Component Recycling" in Figure 6); thereafter, the cloud server to be destroyed can be destroyed to release the physical resources occupied by the cloud server to be destroyed ("Cloud Server Destruction" in Figure 6). Specifically, the management and control node 10 can take the cloud server to be destroyed offline before deleting the container instance in the cloud server to be destroyed ("Node Offline" in Figure 6). In this way, the management and control node 10 will no longer schedule the cloud server to be destroyed during resource scheduling.

[0088] In the embodiments of the present application, the specific implementation of the cloud server scaling event is not limited. In some embodiments, the communication system supports water level scaling. Accordingly, the management and control node 10 can monitor the water level of each container of the cloud servers in the second resource group; and if it is detected that the water level of a container in the second resource group 30 does not meet the set third water level requirement for a continuous period of time, it determines that a cloud server scaling event has been detected.

[0089] The container water level of each cloud server refers to the container water level of a single cloud server. The container water level of a single cloud server can be the water level of the used container instances in a single cloud server, and can be represented by the ratio of the number of used container instances in a single cloud server to the total number of cloud servers in the cloud server. Accordingly, the third water level requirement can be implemented as follows: the water level of the used container instances in a single cloud server is less than or equal to the set third water level threshold for a continuous set period of time (such as 1 hour, 2 hours, 6 hours, 8 hours, 12 hours, 1 day, 2 days, 1 week, or longer). If the water level of the used container instances in a single cloud server is less than or equal to the set third water level threshold for a continuous set period of time, it can indicate that there are many idle container instances in the cloud server and the resource utilization of the cloud server is continuously low for the set period of time. Therefore, the cloud server with continuously low resource utilization can be scaled down. In this embodiment, the specific value of the third water level threshold is not limited. Generally, the third water level threshold is less than 50%. For example, the third water level threshold may be any value between 0% and 50%, for example, the third water level threshold may be 0%, 1%, 5%, 10%, 15%, 20%, 25%, or 30%, 40%, etc.

[0090] Accordingly, the management and control node 10 can determine that a cloud server shrinkage event has been detected when it is monitored that the water level of the used container instance in the second resource group 30 has been continuously set for a set period of time, which is less than or equal to the set third water level threshold; and determine that the cloud server whose water level of the used container instance has been continuously set for a set period of time, which is less than or equal to the set third water level threshold, is a cloud server to be destroyed.

[0091] Of course, the container water level of a single cloud server can be the water level of idle container instances in a single cloud server, which can be represented by the ratio of the number of idle container instances in a single cloud server to the total number of container instances in the cloud server. Accordingly, the third water level requirement can be implemented as follows: the water level of idle container instances in a single cloud server is continuously greater than or equal to the set third water level threshold for a set period of time (such as 1 hour, 2 hours, 6 hours, 8 hours, 12 hours, 1 day, 2 days, 1 week or longer). If the water level of idle container instances in a single cloud server is continuously greater than or equal to the set third water level threshold for a set period of time, it can be represented that there are many idle container instances in the cloud server and the resource utilization of the cloud server is continuously low within the set period of time. Therefore, the cloud server with continuously low resource utilization can be scaled down. In this embodiment, the specific value of the third water level threshold is not limited. Generally, the third water level threshold is greater than 50% and can be any value between 50% and 100%. For example, the third water level threshold may be 70%, 75%, 80%, 85%, 90%, 95% or 100%, etc.

[0092] Accordingly, the management and control node 10 may determine that a cloud server shrinking event has been detected when it is detected that the idle container instance level in the second resource group 30 is greater than or equal to a set third level threshold for a continuous set period of time.

[0093] Of course, in addition to supporting the water level triggered shrinking method, the embodiments of the present application can also support timed triggered shrinking and / or manually triggered shrinking, etc. The operation and maintenance personnel of the public cloud or the owner of the user's computer room can set the shrinking method independently. Optionally, the shrinking method of the resource group is set based on the resource group. The set shrinking method can be any one of water level triggering, timed triggering and manual triggering, and of course, it can also be a combination of multiple methods. For example, the shrinking triggering method of the second resource group can be set as: a combination of water level triggering and timed triggering, or a combination of water level triggering and manual triggering, etc.

[0094] For the timed trigger scaling-down method, a scaling-down time for each second resource group's cloud servers can be pre-set. The scaling-down time for cloud servers in different second resource groups can be the same or different. The management and control node 10 can determine that a cloud server scaling-down event has been detected upon detecting the arrival of the set cloud server scaling-down time, and determine that the cloud server in the second resource group whose cloud server scaling-down time has arrived is the cloud server to be destroyed.

[0095] The cloud server scaling-down time can be flexibly set by the public cloud operation and maintenance personnel or the owner of the user's computer room based on prior knowledge.

[0096] For the above-mentioned manual triggering of scaling down method, a cloud server scaling down interface can be provided. The cloud service scaling down interface can be implemented as a trigger button or as an API. The operation and maintenance personnel of the public cloud or the holder of the user's computer room can manually trigger the scaling down of the cloud server by triggering the cloud server scaling down interface. Each second resource group has an independent cloud server scaling down interface. Accordingly, the management and control node 10 can determine that a cloud server expansion event has been detected when detecting a trigger for the cloud server scaling down interface; and determine that the cloud server in the second resource group whose cloud server scaling down interface is triggered is the cloud server to be destroyed.

[0097] For the shrinking method that combines water level triggered shrinking and timed triggered shrinking, the management and control node 10 can monitor the container water level of each cloud server in the second resource group; and when there is a cloud server in the second resource group whose container water level does not meet the above-mentioned third water level requirement, and the cloud server trigger time corresponding to the second resource group arrives, it is determined that a cloud server shrinking event is monitored; and it is determined that the cloud server in the second resource group where the cloud server trigger time arrives, the cloud server whose container water level does not meet the above-mentioned third water level requirement is the cloud server to be destroyed.

[0098] The implementation of the cloud server expansion event shown in the above embodiment is for illustrative purposes only and does not constitute a limitation. When the control node 10 detects a cloud server reduction event, it can determine the cloud server to be destroyed, delete the container instance in the cloud server to be destroyed, and then destroy the cloud server to be destroyed, thereby achieving dynamic reduction of the cloud server and container instance.

[0099] The embodiments of the present application provide a new cloud-based set-top box by hybridly deploying container instances corresponding to the set-top box's application launcher based on a first resource group in the user's private network and a second resource group in the public cloud network. Based on this new cloud-based set-top box, increasingly complex application software originally running on the user's local set-top box can be migrated to the cloud for execution, eliminating hardware differences between local set-top boxes and lowering hardware requirements for set-top boxes. This allows users to experience new applications without having to replace all set-top boxes, thus meeting customers' operational and promotional needs.

[0100] In addition to the above-mentioned communication system, an embodiment of the present application also provides a resource scheduling method. The resource scheduling method provided in the embodiment of the present application is exemplarily described below.

[0101] FIG7 is a flow chart of a resource scheduling method according to an embodiment of the present application. As shown in FIG7 , the resource scheduling method mainly includes:

[0102] 701. Receive a starter request sent by a set-top box service device in a user's computer room.

[0103] 702. In response to the initiator request, obtain the container water level of the first resource group and the container water level of the second resource group.

[0104] 703. Determine a target resource group whose container water level meets a set first water level requirement from the first resource group and the second resource group; the target resource group includes: the first resource group and / or the second resource group.

[0105] 704. When the target resource group includes the first resource group, schedule an idle target container instance from the container instance of the first resource group to provide the set-top box service device with data required by the application launcher.

[0106] The resource scheduling method provided in this embodiment is primarily applicable to a control node in a communication system. The communication system further includes a first resource group and a second resource group. The first resource group includes at least one service device; the second resource group includes at least one cloud server. The control node and the second resource group are deployed on a public cloud network; the first resource group is deployed on a private network in a user's computer room; and the private network is communicatively connected to the public cloud network. The first and second resource groups are centrally scheduled by the control node. Container instances corresponding to the application launcher of the set-top box are deployed on the service device and the cloud server.

[0107] For descriptions of the communication system and the various devices, apparatuses and components in the communication system, please refer to the relevant contents of the above-mentioned system embodiments and will not be repeated here.

[0108] In this embodiment, the first resource group and the second resource group constitute a new cloud-based set-top box. Specifically, a container instance corresponding to the set-top box's application launcher is deployed in the service device of the first resource group and the cloud server of the second resource group. The container instance can be a Docker container, such as a container group (e.g., a Pod).

[0109] The new cloud-based set-top box provided in this embodiment can utilize the first resource group to store video data locally. The second resource group can be used to introduce new application services, such as video and gaming applications, to home set-top boxes, eliminating the need to replace the hardware of older set-top boxes and reducing replacement costs. Software upgrades and unified operations and maintenance management for set-top boxes can be completed in the cloud through the control node in the public cloud, reducing costs and increasing efficiency.

[0110] In this embodiment, the private network in the user's computer room is connected to the public cloud network. In some embodiments, the private network and the public cloud network can be connected via a virtual network card (VNIC). The VNIC is a virtual network interface in a private network (such as a VPC) that is configured to connect the cloud server to the private network.

[0111] The first resource group and the second resource group are uniformly scheduled by the control node. The control node can provide data required by the application launcher to the set-top box service device located in the user's computer room by performing mixed scheduling on the first resource group and the second resource group.

[0112] The set-top box service equipment can send a launcher request to the control node according to actual demand. This launcher request is used to request the application launcher of the set-top box. In certain embodiments, the set-top box can request the application launcher to the set-top box service equipment in the startup process. Accordingly, the set-top box service equipment can send a launcher request to the control node in response to this request.

[0113] Accordingly, the control node receives an initiator request in step 701 and obtains the container water level of the first resource group and the container water level of the second resource group in response to the initiator request in step 702. In this embodiment of the present application, the container water level may be the water level of used container instances, that is, the ratio of used container instances to all container instances. Accordingly, the container water level of the first resource group can be represented by the ratio of used container instances in the first resource group to all container instances in the first resource group. The container water level of the second resource group can be represented by the ratio of used container instances in the second resource group to all container instances in the second resource group.

[0114] Of course, the container water level can also be the water level of unused containers (i.e., idle containers), that is, the ratio of unused containers (i.e., idle containers) to all container instances. Accordingly, the container water level of the first resource group can be represented by the ratio of unused containers in the first resource group to all container instances in the first resource group. The container water level of the second resource group can be represented by the ratio of unused containers in the second resource group to all container instances in the second resource group.

[0115] Regardless of whether the container water level is the water level of a used container instance or the water level of an unused container, it can characterize the situation of the schedulable container instance in the resource group (the first resource group or the second resource group). Based on this, in step 703, the target resource group whose container water level meets the set first water level requirement can be determined from the first resource group and the second resource group according to the container water level of the first resource group and the container water level of the second resource group. Among them, the target resource group may be all the first resource group or all the second resource group; of course, it may also include both the first resource group and the second resource group. That is, the target resource group includes: the first resource group and / or the second resource group, and which resource groups are specifically included is determined by whether the container water level of the resource group meets the set first water level requirement. The target resource group has an idle container instance, which provides the data required by the application launcher for the set-top box service device.

[0116] Different ways of representing the container water level result in different corresponding first water level requirements. In some embodiments, the container water level is represented by the water level of the used container instance. In this case, the first water level requirement can be implemented as follows: the water level of the used container instance in the resource group is less than the set first water level threshold. Accordingly, based on the water level of the used container instance in the first resource group and the water level of the used container instance in the second resource group, a resource group whose used container instance water level is less than the set first water level threshold can be determined from the first resource group and the second resource group as the target resource group.

[0117] In some embodiments, the container water level is represented by the water level of the idle container instances described above. The first water level requirement can be implemented as: the water level of the idle container instances in the resource group is greater than the set first water level threshold. Accordingly, based on the water levels of the idle container instances and the water levels of the idle container instances in the first resource group, a resource group in the first resource group and the second resource group whose used container instance water level is greater than the set first water level threshold can be determined as the target resource group.

[0118] The target resource group has idle container instances that provide the set-top box service device with the data required for the application launcher. Because the first resource group is deployed in the user's computer room's private network, it offers the advantage of local service. First, the first resource group can provide faster application launcher service than the second resource group located in the public cloud network, reducing response latency. Second, because the first resource group is deployed in the user's computer room's private network, providing the data required for the application launcher by the first resource group satisfies the user's data security requirements. Therefore, the scheduling priority of the first resource group can be set higher than that of the second resource group, so that container instances in the first resource group are prioritized during resource scheduling. Based on this, if the target resource group includes the first resource group, then in step 704, an idle target container instance can be scheduled from the first resource group, determined as the target resource group, to provide the set-top box service device with the data required for the application launcher. Thus, because the first resource group is deployed in the user's computer room's private network, it can provide faster application launcher service than the second resource group located in the public cloud network, reducing response latency for application launcher requests. Furthermore, the first resource group is deployed in the user's private network in the computer room and provides the data required by the application launcher, meeting the user's data security requirements. Furthermore, since the first resource group is pre-purchased by the user, the second resource group in the public cloud requires users to pay by volume and usage time. Therefore, prioritizing the resources of the pre-paid first resource group reduces user costs.

[0119] Accordingly, if the target resource group does not include the first resource group, an idle target container instance may be scheduled from the second resource group determined as the target resource group to provide the set-top box service device with data required by the application launcher.

[0120] Regarding the implementation manner in which the target container instance provides the set-top box service device with the data required by the application launcher, reference may be made to the relevant contents of the above embodiment, which will not be described in detail here.

[0121] In an embodiment of the present application, in addition to providing a hybrid resource scheduling method of a first resource group located in a private network of a user's computer room and a second resource group located in a public cloud network, the owner of the user's computer room, that is, the user of the cloud set-top box, can also specify the resource group to be used. Accordingly, the launcher request may include: an identifier of the resource group to be used. The resource group to be used may be the first resource group or the second resource group. Accordingly, the container water level of the resource group to be used may also be obtained based on the identifier of the resource group to be used; when the container water level of the resource group to be used meets the first water level requirement set above, an idle container instance is scheduled from the resource group to be used to provide the data required by the application launcher to the set-top box service device.

[0122] Accordingly, if the container level of the designated resource group does not meet the first level requirement set above, a resource shortage prompt message may be returned to the set-top box service device. Of course, if the container level of the designated resource group does not meet the first level requirement set above, a hybrid resource scheduling method using the first resource group in the private network of the user's computer room and the second resource group in the public cloud network may also be used to determine the target container instance. The specific determination process can be found in the relevant content of the above embodiment and will not be repeated here.

[0123] In some embodiments, a resource scheduling method for a specified environment can also be used. The specified environment refers to whether the usage environment of the specified target resource group is an online environment or a test environment. The owner of the user's computer room, that is, the user of the cloud set-top box, can specify the usage environment. The launcher request carries the specified usage environment. According to the specified usage environment, a resource group whose usage environment is the specified usage environment can also be obtained from the first resource group and the second resource group; when the container water level of the resource group whose usage environment is the specified usage environment meets the first water level requirement set above, the idle container instance is scheduled from the resource group whose usage environment is the specified usage environment to provide the set-top box service device with the data required by the application launcher. If the resource group whose usage environment is the specified usage environment includes the first resource group, the idle container instance is scheduled from the first resource group to provide the set-top box service device with the data required by the application launcher.

[0124] In addition to providing a new cloud-based set-top box resource scheduling method, the communication system provided by this embodiment also supports dynamic scaling of cloud servers in the public cloud. Accordingly, it can monitor cloud server expansion events; upon detecting a cloud server expansion event, it can expand a new target cloud server within the public cloud network; and create a container instance corresponding to the application launcher on the target cloud server.

[0125] In the embodiments of the present application, the specific implementation of the cloud server capacity expansion event is not limited. In some embodiments, the communication system supports water level expansion. Accordingly, the overall container water level of the first resource group and the second resource group can be monitored. If the overall container water level is monitored to meet the set second water level requirement, it is determined that a cloud server capacity expansion event has been detected.

[0126] The overall container water level of the first resource group and the second resource group can be the overall water level of the used container instances in the first container group and the used container instances in the second container group, and can be represented by the ratio of the total number of used container instances in the first container group and the used container instances in the second container group to the total number of container instances in the first container group and the second container group. Accordingly, the second water level requirement can be implemented as follows: the overall water level of the used container instances in the first container group and the used container instances in the second container group is greater than or equal to a set second water level threshold. The overall water level of the used container instances in the first container group and the used container instances in the second container group is greater than or equal to the set second water level threshold, which can indicate that there are insufficient idle container instances in the communication system, and therefore, it is necessary to expand new cloud servers to deploy new container instances.

[0127] Accordingly, when the overall water level of the used container instances in the first container group and the used container instances in the second container group is monitored to be greater than or equal to the set second water level threshold, it can be determined that a cloud server expansion event has been detected.

[0128] Of course, the overall container water level of the first and second resource groups can be the overall water level of the idle container instances in the first container group and the idle container instances in the second container group, and can be represented by the ratio of the total number of idle container instances in the first container group and the second container group to the total number of container instances in the first container group and the second container group. Accordingly, the second water level requirement can be implemented as follows: the overall water level of the idle container instances in the first container group and the idle container instances in the second container group is less than or equal to a set second water level threshold. If the overall water level of the idle container instances in the first container group and the idle container instances in the second container group is less than or equal to the set second water level threshold, it can indicate that there are insufficient idle container instances in the communication system, and therefore, it is necessary to expand new cloud servers to deploy new container instances.

[0129] Accordingly, when the overall water level of the idle container instances in the first container group and the idle container instances in the second container group is monitored to be less than or equal to the set second water level threshold, it can be determined that a cloud server expansion event has been detected.

[0130] Of course, in addition to supporting water level-triggered capacity expansion, embodiments of the present application may also support timed and / or manually triggered capacity expansion. For timed capacity expansion, a cloud server capacity expansion time may be pre-set. Upon detecting the arrival of the set cloud server capacity expansion time, a cloud server capacity expansion event may be detected.

[0131] Cloud server capacity expansion schedules can be flexibly set by public cloud operations and maintenance personnel or the owner of the user's data center based on prior knowledge. Peak usage times for container instances can also be determined based on historical usage data. This historical usage data can include historical usage times and usage volumes.

[0132] Based on this, historical usage data of container instances in the communication system can be obtained. Furthermore, based on the historical usage data of the container instances, peak usage times of the container instances can be predicted. For a specific implementation of predicting peak usage times of container instances based on historical usage data of the container instances, please refer to the relevant content of the above embodiment and will not be repeated here.

[0133] After predicting the peak usage times for container instances, the cloud server expansion time can be determined based on these predicted peak usage times. This cloud server expansion time can occur before the predicted peak usage times. For example, a set time period (such as half an hour, one hour, or two hours) before the predicted peak usage times can be used as the cloud server expansion time. This allows for dynamic expansion of the cloud server and container instances corresponding to the application launcher before the peak usage period, alleviating resource constraints during set-top box usage periods and meeting peak usage demands.

[0134] For the aforementioned manually triggered capacity expansion method, a cloud server capacity expansion interface can be provided. This cloud service capacity expansion interface can be implemented as a trigger button or an API. Public cloud operations and maintenance personnel or the owner of a user's computer room can manually trigger cloud server capacity expansion by triggering the cloud server capacity expansion interface. Accordingly, upon detecting a trigger on the cloud server capacity expansion interface, a cloud server capacity expansion event can be determined.

[0135] The implementation of the cloud server expansion event described in the above embodiment is for illustrative purposes only and is not intended to be limiting. Upon detecting a cloud server expansion event, a new target cloud server can be expanded within the public cloud network. A container instance corresponding to the application launcher can be created on the target cloud server, thereby enabling dynamic expansion of cloud servers and container instances.

[0136] The communication system provided in the embodiments of the present application not only supports dynamic expansion of cloud servers, but also supports dynamic contraction of cloud servers. Accordingly, the system can monitor cloud server contraction events. When a cloud server contraction event is detected, the system determines the cloud server to be destroyed and deletes the container instances in the cloud server to be destroyed. The cloud server to be destroyed can then be destroyed to release the physical resources occupied by the cloud server to be destroyed.

[0137] In the embodiments of the present application, the specific implementation of the cloud server scaling event is not limited. In some embodiments, the communication system supports water level scaling. Accordingly, the water level of each container of the cloud servers in the second resource group can be monitored; and if the water level of any container in the second resource group is detected to have failed to meet the set third water level requirement for a set period of time, it is determined that a cloud server scaling event has been detected.

[0138] The container water level of each cloud server refers to the container water level of a single cloud server. The container water level of a single cloud server can be the water level of the container instances used in a single cloud server, which can be represented by the ratio of the number of container instances used in a single cloud server to the total number of cloud servers in the cloud server. Accordingly, the third water level requirement can be implemented as follows: the water level of the container instances used in a single cloud server is less than or equal to the set third water level threshold for a continuous set period of time (such as 1 hour, 2 hours, 6 hours, 8 hours, 12 hours, 1 day, 2 days, 1 week or longer). If the water level of the container instances used in a single cloud server is less than or equal to the set third water level threshold for a continuous set period of time, it can be indicated that there are many idle container instances in the cloud server, and the resource utilization of the cloud server is continuously low within the set period of time. Therefore, the cloud server with continuous low resource utilization can be scaled down.

[0139] Accordingly, when it is monitored that the water level of the used container instance in the second resource group is continuously set for a period of time that is less than or equal to the set third water level threshold, it can be determined that a cloud server shrinkage event has been detected; and the cloud server whose water level of the used container instance is continuously set for a period of time that is less than or equal to the set third water level threshold is determined to be a cloud server to be destroyed.

[0140] Of course, the container water level of a single cloud server can be the water level of the idle container instances in a single cloud server, which can be characterized by the ratio of the number of idle container instances in a single cloud server to the total number of container instances in the cloud server. Accordingly, the third water level requirement can be implemented as follows: the water level of the idle container instances in a single cloud server continues for a set period of time (such as 1 hour, 2 hours, 6 hours, 8 hours, 12 hours, 1 day, 2 days, 1 week or longer), which is greater than or equal to the set third water level threshold. The water level of the idle container instances in a single cloud server continues for a set period of time, which is greater than or equal to the set third water level threshold. This can represent that there are many idle container instances in the cloud server, and the resource utilization of the cloud server continues to be low within the set period of time. Therefore, the cloud server with continuous low resource utilization can be scaled down. Accordingly, when it is detected that the idle container instance water level in the second resource group continues for a set period of time, which is greater than or equal to the set third water level threshold, it is determined that a cloud server scale-down event has been detected.

[0141] Of course, in addition to supporting the water level triggered shrinking method, the embodiments of the present application can also support timed triggered shrinking and / or manually triggered shrinking, etc. The operation and maintenance personnel of the public cloud or the owner of the user's computer room can set the shrinking method independently. Optionally, the shrinking method of the resource group is set based on the resource group. The set shrinking method can be any one of water level triggering, timed triggering and manual triggering, and of course, it can also be a combination of multiple methods. For example, the shrinking triggering method of the second resource group can be set as: a combination of water level triggering and timed triggering, or a combination of water level triggering and manual triggering, etc.

[0142] For timed-triggered scaling down, a scaling down time can be pre-set for each second resource group's cloud servers. The scaling down time for cloud servers in different second resource groups can be the same or different. The scaling down time for cloud servers in each second resource group can be monitored. Upon reaching the set scaling down time, a cloud server scaling down event is determined to have been detected. The cloud servers in the second resource group whose scaling down time has reached are then designated as the cloud servers to be destroyed.

[0143] The cloud server scaling-down time can be flexibly set by the public cloud operation and maintenance personnel or the owner of the user's computer room based on prior knowledge.

[0144] For the above-mentioned manual triggering of scaling down, a cloud server scaling down interface can be provided. The cloud service scaling down interface can be implemented as a trigger button or as an API. The operation and maintenance personnel of the public cloud or the holder of the user's computer room can manually trigger the scaling down of the cloud server by triggering the cloud server scaling down interface. Each second resource group has an independent cloud server scaling down interface. Accordingly, when a trigger for the cloud server scaling down interface is detected, it can be determined that a cloud server expansion event has been detected; and the cloud server in the second resource group where the cloud server scaling down interface is triggered is determined to be a cloud server to be destroyed.

[0145] For the shrinking method that combines water level triggered shrinking and timed triggered shrinking, the container water level of each cloud server in the second resource group can be monitored; and when there is a cloud server in the second resource group whose container water level does not meet the above-mentioned third water level requirement, and the cloud server trigger time corresponding to the second resource group arrives, it is determined that a cloud server shrinking event is monitored; and it is determined that the cloud server in the second resource group where the cloud server trigger time arrives, the cloud server whose container water level does not meet the above-mentioned third water level requirement is the cloud server to be destroyed.

[0146] The implementation of the cloud server expansion event shown in the above embodiment is for illustrative purposes only and is not intended to be limiting. When a cloud server reduction event is detected, the cloud server to be destroyed can be identified, and the container instances in the cloud server to be destroyed can be deleted. The cloud server to be destroyed can then be destroyed, thereby achieving dynamic reduction of the cloud server and container instances.

[0147] The embodiments of the present application provide a new cloud-based set-top box by hybridly deploying container instances corresponding to the set-top box's application launcher based on a first resource group in the user's private network and a second resource group in the public cloud network. Based on this new cloud-based set-top box, increasingly complex application software originally running on the user's local set-top box can be migrated to the cloud for execution, eliminating hardware differences between local set-top boxes and lowering hardware requirements for set-top boxes. This allows users to experience new applications without having to replace all set-top boxes, thus meeting customers' operational and promotional needs.

[0148] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 701 and 702 can be device A; for another example, the execution entity of step 701 can be device A, and the execution entity of step 702 can be device B; and so on.

[0149] In addition, some of the processes described in the above embodiments and the accompanying drawings include multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The sequence numbers of the operations, such as 701, 702, etc., are used to distinguish different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel.

[0150] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the above-mentioned resource scheduling method.

[0151] FIG8 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. The computing device can be implemented as a control node in a communication system. The communication system further includes: a first resource group and a second resource group; the first resource group includes: at least one service device; the second resource group includes: at least one cloud server; wherein the control node and the second resource group are deployed in a public cloud network; the first resource group is deployed in a private network in a user's computer room; the private network is communicatively connected to the public cloud network; the first resource group and the second resource group are centrally scheduled by the control node; and container instances corresponding to the application launcher of the set-top box are deployed in the service device and the cloud server.

[0152] As shown in Figure 8, the computing device mainly includes: a memory 80a, a processor 80b and a communication component 80c. The memory 80a is configured to store computer programs.

[0153] The processor 80b is coupled to the memory 80a and the communication component 80c, and is configured to execute a computer program for: receiving a launcher request sent by a set-top box service device in a user's computer room through the communication component 80c; obtaining the container water level of the first resource group and the container water level of the second resource group in response to the launcher request; determining, from the first resource group and the second resource group, a target resource group whose container water level meets the set first water level requirement; the target resource group includes: the first resource group and / or the second resource group; and, in the case where the target resource group includes the first resource group, scheduling an idle target container instance from the container instance of the first resource group to provide the set-top box service device with the data required by the application launcher.

[0154] In some embodiments, the container water level is represented by the water level of the used container instance. Accordingly, the container water level of the first resource group is represented by the water level of the used container instance of the first resource group; the container water level of the second resource group is represented by the water level of the used container instance of the second resource group; the set first water level requirement includes: the water level of the used container instance of the resource group is less than the set first water level threshold. Accordingly, when the processor 80b determines the target resource group whose container water level meets the set first water level requirement from the first resource group and the second resource group, it is configured to: based on the water level of the used container instance in the first resource group and the water level of the used container instance in the second resource group, determine the resource group whose used container instance water level is less than the set first water level threshold from the first resource group and the second resource group as the target resource group.

[0155] In some embodiments, the launcher request includes: an identifier of a designated resource group; and the designated resource group is a first resource group or a second resource group. The processor 80b is further configured to: obtain a container water level of the designated resource group based on the identifier of the designated resource group; and, if the container water level of the designated resource group meets the set first water level requirement, schedule an idle container instance from the designated resource group to provide the set-top box service device with the data required by the application launcher. Accordingly, if the container water level of the designated resource group does not meet the set first water level requirement, a resource shortage prompt message is returned to the set-top box service device.

[0156] Optionally, the processor 80b may obtain the container water level of the designated resource group based on the identifier of the designated resource group when the launcher request includes the identifier of the designated resource group; and, when the container water level of the designated resource group meets the set first water level requirement, schedule an idle container instance from the designated resource group to provide the set-top box service device with the data required by the application launcher.

[0157] Accordingly, the processor 80b may be further configured to: when the initiator request includes an identifier of a designated resource group, perform the above-mentioned operations of determining a target resource group whose container water level meets the set first water level requirement from the first resource group and the second resource group; the target resource group includes the first resource group and / or the second resource group; and, when the target resource group includes the first resource group, schedule an idle target container instance from the container instances in the first resource group to provide the set-top box service device with data required by the application initiator. The target resource group does not include the designated resource group.

[0158] In some embodiments, the processor 80b is further configured to: monitor cloud server expansion events; upon detecting a cloud server expansion event, expand a new target cloud server in the public cloud network; and create a container instance corresponding to the application launcher on the target cloud server.

[0159] Optionally, when monitoring a cloud server expansion event, the processor 80b is configured to:

[0160] Monitor the overall container water level of the first resource group and the second resource group; and when it is monitored that the overall container water level meets the set second water level requirement, determine that a cloud server expansion event is monitored; or, monitor the cloud server expansion time; when it is monitored that the set cloud server expansion time arrives, determine that a cloud server expansion event is monitored; or, when a trigger event for the cloud server expansion interface is monitored, determine that a cloud server expansion event is monitored.

[0161] In some embodiments, the overall container water level is the combined water level of used container instances in the first resource group and used container instances in the second resource group; the second water level requirement includes: the combined water level of used container instances in the first resource group and used container instances in the second resource group is greater than or equal to a set second water level threshold. Accordingly, when processor 80b determines that a cloud server capacity expansion event has been detected, it is configured to determine that a cloud server capacity expansion event has been detected if the combined water level of used container instances in the first resource group and used container instances in the second resource group is greater than or equal to the set second water level threshold.

[0162] Optionally, the processor 80b is further configured to: obtain historical usage data of the container instance in the communication system before monitoring the cloud server expansion time; predict the peak usage time of the container instance based on the historical usage data; and determine the cloud server expansion time based on the peak usage time.

[0163] In other embodiments, the processor 80b is further configured to: monitor cloud server shrinkage events; determine the cloud server to be destroyed when a cloud server shrinkage event is detected; delete the container instance on the cloud server to be destroyed; and destroy the cloud server to be destroyed to release the physical resources occupied by the cloud server to be destroyed.

[0164] Optionally, when monitoring a cloud server shrinkage event, the processor 80b is configured to: monitor the container water level of each cloud server in the second resource group; if the container water level of any cloud server does not meet a set third water level requirement for a set period of time, determine that a cloud server shrinkage event has been detected. Accordingly, when determining a cloud server to be destroyed, the processor 80b is configured to: determine that a cloud server whose container water level does not meet the set third water level requirement is a cloud server to be destroyed;

[0165] or,

[0166] When monitoring a cloud server shrink event, processor 80b is configured to: monitor the shrink time of the cloud servers in the second resource group; upon detecting that the shrink time of the cloud servers in the second resource group has arrived, determine that a cloud server shrink event has been detected. Accordingly, when determining a cloud server to be destroyed, processor 80b is configured to: determine that the cloud server in the second resource group whose shrink time has arrived is the cloud server to be destroyed;

[0167] or,

[0168] When monitoring a cloud server shrink event, processor 80b is configured to: monitor the triggering of a cloud server shrink interface corresponding to the second resource group; upon detecting that the cloud server shrink interface corresponding to the second resource group is triggered, determine that a cloud server shrink event has been detected. Accordingly, when determining a cloud server to be destroyed, processor 80b is configured to: determine that the cloud server in the second resource group whose cloud server shrink interface is triggered is the cloud server to be destroyed;

[0169] or,

[0170] When monitoring a cloud server shrink event, processor 80b is configured to monitor the container water level of each cloud server in the second resource group and the shrink time of the cloud servers in the second resource group. If the container water level of any cloud server fails to meet the third water level requirement for a set period of time and the shrink time of the cloud server in the second resource group has expired, processor 80b determines that a cloud server shrink event has been detected. Accordingly, when determining a cloud server to be destroyed, processor 80b is configured to determine that a cloud server in the second resource group whose container water level fails to meet the third water level requirement by the time the cloud server shrink time has expired is the cloud server to be destroyed.

[0171] Optionally, the container water level of each cloud server is the water level of the container instance used in a single cloud server; the set third water level requirement includes: the water level of the container instance used in a single cloud server is less than the set third water level threshold for a continuous set period of time.

[0172] In some optional embodiments, as shown in FIG8 , the computing device may further include components such as a power supply component 80d. In some embodiments, the computing device may be implemented as a terminal device such as a computer or workstation. Accordingly, the computing device may further include optional components such as a display component 80e and an audio component 80f. The schematic illustration of some components in FIG8 does not imply that the computing device must include all of the components shown in FIG8 , nor does it imply that the computing device cannot include components other than those shown in FIG8 .

[0173] In an embodiment of the present application, the memory is configured to store a computer program and may be configured to store various other data to support operations on the device where it is located. The processor may execute the computer program stored in the memory to implement the corresponding control logic. The memory may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0174] In the embodiment of the present application, the processor can be any hardware processing device that can execute the logic of the above method. Optionally, the processor can be a central processing unit (CPU), a graphics processing unit (GPU) or a microcontroller unit (MCU); it can also be a programmable device such as a field programmable gate array (FPGA), a programmable array logic device (PAL), a general array logic device (GAL), a complex programmable logic device (CPLD); or an application specific integrated circuit (ASIC) chip; or an advanced reduced instruction set (RISC) processor (Advanced RISC Machines, ARM) or a system on chip (SoC), etc., but is not limited thereto.

[0175] In an embodiment of the present application, the communication component is configured to facilitate wired or wireless communication between the device in which it is located and other devices. The device in which the communication component is located can access a wireless network based on a communication standard, such as Wireless Fidelity (WiFi), 2G or 3G, 4G, 5G or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can also be based on Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology or other technologies.

[0176] In an embodiment of the present application, the display component may include a liquid crystal display (LCD) and a touch panel (TP). If the display component includes a touch panel, the display component may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.

[0177] In embodiments of the present application, a power supply assembly is configured to provide power to various components of the device in which it is located. The power supply assembly may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply assembly is located.

[0178] In an embodiment of the present application, the audio component may be configured to output and / or input audio signals. For example, the audio component includes a microphone (Microphone, MIC), and when the device where the audio component is located is in an operating mode, such as call mode, recording mode, and voice recognition mode, the microphone is configured to receive external audio signals. The received audio signal may be further stored in a memory or sent via a communication component. In some embodiments, the audio component further includes a speaker configured to output audio signals. For example, for a device with a language interaction function, voice interaction with a user may be achieved through the audio component.

[0179] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0180] It should also be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., and do not represent the order of precedence, nor do they limit "first" and "second" to different types.

[0181] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage, etc.) that contain computer-usable program code.

[0182] The present application is described with reference to the flow chart and / or block diagram of the method, device (or system) and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.

[0183] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0184] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0185] In a typical configuration, a computing device includes one or more processors (such as a CPU, etc.), input / output interfaces, network interfaces, and memory.

[0186] Memory may include non-permanent storage in a computer-readable medium, random-access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0187] Computer storage media is readable storage media, also known as readable media. Readable storage media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable 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 technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium configured to store information that can be accessed by a computing device. According to the definition in this article, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0188] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, commodity, or apparatus comprising the aforementioned elements.

[0189] The above contents are merely examples of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A resource scheduling method, applicable to a control node in a communication system; The communication system further includes: a first resource group and a second resource group; the first resource group includes: at least one service device; the second resource group includes: at least one cloud server; wherein the control node and the second resource group are deployed in a public cloud network; the first resource group is deployed in a private network of a user's computer room; the private network is communicatively connected with the public cloud network; the first resource group and the second resource group are uniformly scheduled by the control node; the service device and the cloud server are deployed with a container instance corresponding to the application launcher of a set-top box; The method comprises: In response to a launcher request sent by a set-top box service device in the user room, obtaining a container water level of the first resource group and a container water level of the second resource group; Determine a target resource group from the first resource group and the second resource group, wherein the container water level meets the set first water level requirement; the target resource group includes: the first resource group and / or the second resource group; In a case where the target resource group includes the first resource group, an idle target container instance is scheduled from the container instances of the first resource group to provide the set-top box service device with the data required by the application launcher.

2. The method according to claim 1, wherein: The container water level is characterized by the water level of the used container instance; the set first water level requirement includes: the water level of the used container instance is less than the set first water level threshold; The step of determining a target resource group whose container water level meets a set first water level requirement from the first resource group and the second resource group includes: From the first resource group and the second resource group, determine that the resource group whose water level of the used container instance is less than the set first water level threshold is the target resource group.

3. The method according to claim 1, wherein: The method further comprises: In a case where the initiator request includes: an identifier of a resource group to be used, obtaining a container water level of the resource group to be used according to the identifier of the resource group to be used; When the container water level of the designated resource group meets the set first water level requirement, scheduling an idle container instance from the designated resource group to provide the set-top box service device with data required by the application launcher; In a case where the initiator request does not include the identifier of the designated resource group for use, the step of obtaining the container water level of the first resource group and the container water level of the second resource group is performed; and the target resource group does not include the designated resource group.

4. The method according to claim 3, wherein: Also includes: When the container water level of the designated resource group does not meet the set first water level requirement, resource shortage prompt information is returned to the set-top box service device.

5. The method according to any one of claims 1 to 4, wherein: Also includes: When a cloud server expansion event is detected, a new target cloud server is expanded in the public cloud network; Create a container instance corresponding to the application launcher on the target cloud server.

6. The method according to claim 5, wherein: The monitoring of cloud server expansion events includes: Monitoring the overall container water level of the first resource group and the second resource group; and determining that the cloud server expansion event is monitored when the overall container water level is monitored to meet a set second water level requirement; or, Monitoring the cloud server expansion time; when it is detected that the set cloud server expansion time has arrived, determining that the cloud server expansion event has been monitored; or, When a trigger event for a cloud server capacity expansion interface is monitored, it is determined that the cloud server capacity expansion event is monitored.

7. The method according to claim 6, wherein: The overall container water level is the overall water level of the container instances used in the first resource group and the container instances used in the second resource group; the second water level requirement includes: the overall container water level is greater than or equal to a set second water level threshold.

8. The method according to claim 6, wherein: Before monitoring the cloud server expansion time, the method further includes: Obtaining historical usage data of container instances in the communication system; Predicting peak usage times of the container instance based on the historical usage data; The cloud server capacity expansion time is determined according to the peak usage time.

9. The method according to any one of claims 1 to 4, wherein: Also includes: Monitor cloud server downsizing events; if a cloud server downsizing event is detected, determine the cloud server to be destroyed; The container instance on the cloud server to be destroyed is deleted; and the cloud server to be destroyed is destroyed to release physical resources occupied by the cloud server to be destroyed.

10. The method according to claim 9, wherein: The monitoring of the cloud server shrinking event includes: Monitoring the container water level of each cloud server in the second resource group; if the container water level in the cloud server fails to meet the set third water level requirement for a set period of time, determining that a cloud server shrinkage event has been monitored; The determining of the cloud server to be destroyed includes: determining that a cloud server whose water level in the container does not meet a set third water level requirement is the cloud server to be destroyed; or, Monitoring the cloud server shrinking time of the second resource group; and determining that the cloud server shrinking event is monitored when the cloud server shrinking time of the second resource group is reached; The determining of the cloud server to be destroyed includes: determining that the cloud server in the second resource group whose cloud server shrinking time has arrived is the cloud server to be destroyed; or, Monitoring the triggering of the cloud server shrinking interface corresponding to the second resource group; when monitoring that the cloud server shrinking interface corresponding to the second resource group is triggered, determining that the cloud server shrinking event is monitored; The determining of the cloud server to be destroyed includes: determining that the cloud server in the second resource group whose cloud server shrinking interface is triggered is the cloud server to be destroyed; or, Monitor the container water level of each cloud server in the second resource group and the cloud server shrinking time of the second resource group; when there is a container water level in the cloud server that does not meet the set third water level requirement for a continuous set time period and the cloud server shrinking time of the second resource group arrives, determine that the cloud server shrinking event is monitored; The determining of the cloud server to be destroyed includes: determining that the cloud server whose container water level in the second resource group does not meet the set third water level requirement when the cloud server shrinking time arrives is the cloud server to be destroyed.

11. The method according to claim 10, wherein: The container water level of each cloud server is the water level of the container instance used in a single cloud server; the set third water level requirement includes: the water level of the container instance used in a single cloud server is less than the set third water level threshold for a continuous set time period.

12. A communication system comprising: A control node, a first resource group, and a second resource group; The first resource group includes: at least one service device; the second resource group includes: at least one cloud server; wherein the control node and the second resource group are deployed in a public cloud network; the first resource group is deployed in a private network of a user's computer room; the private network is communicatively connected to the public cloud network; The first resource group and the second resource group are uniformly scheduled by the control node; the container instance corresponding to the application launcher of the set-top box is deployed in the service device and the cloud server; The user room further comprises: a set-top box service device; the set-top box service device is configured to send a launcher request to the control node; The control node is configured to execute the steps in the method according to any one of claims 1-11.

13. A computing device comprising: A memory, a processor and a communication component; wherein the memory is configured to store a computer program; The processor is coupled to the memory and the communication component, and is configured to execute the computer program for performing the steps in the method according to any one of claims 1 to 11.

14. A computer-readable storage medium storing computer instructions, which, when executed by one or more processors, causes the one or more processors to execute the steps of the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Network system, service providing and resource scheduling method, equipment and storage medium

    CN111800283A

  • Cluster resource scheduling method and device, equipment and storage medium

    CN112860383A

  • Cloud system, public cloud management and control method, equipment and storage medium

    CN114500221A

  • Resource scheduling method, communication system, device and storage medium

    CN117278494A

  • Dynamic Capacity Planning for Application Delivery Platform across Multiple Cloud Deployment

    US20180262413A1