Resource scheduling method, communication system, device and storage medium

Through the hybrid resource scheduling and application migration of cloud set-top boxes, the problem of uneven performance of set-top box equipment is solved, providing a fast and secure new application experience and reducing costs, and improving user experience and operational efficiency.

CN117278494BActive Publication Date: 2025-08-26HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311137644.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-04
Publication Date
2025-08-26
Estimated Expiration
2043-09-04

AI Technical Summary

Technical Problem

The large number of existing set-top box equipment and incomplete performance have led to blockages in information delivery and operation and maintenance management of radio and television operators, poor user experience, inability to install new applications, and high cost of replacing equipment.

Method used

Adopting a cloud-based set-top box architecture, through the hybrid resource scheduling of public and private clouds, it prioritizes the use of private cloud resources in the user computer room to provide application initiator services, reduce response delays and costs, and migrate complex application software to the cloud to run.

Benefits of technology

It realizes the rapid and secure new application experience without replacing the local set-top box, reducing the cost of equipment replacement and operation and maintenance complexity, and improving user experience and operation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117278494B_ABST
    Figure CN117278494B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a resource scheduling method, a communication system, a device and a storage medium. The present application provides a new cloud set-top box, 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 of 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. Among them, a target resource group whose container water level meets the water level requirement can be determined from the first resource group and the second resource group; and when the target resource group includes the first resource group, the idle container instance is preferentially scheduled from the first resource group to provide the data required by the application launcher. Since the first resource group is deployed in the private network of the user's computer room, it can provide a faster application launcher service than the second resource group located in the public cloud network, thereby reducing the response delay of the application launcher's request.
Need to check novelty before this filing date? Find Prior Art

Description

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. Summary of the Invention

[0004] 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.

[0005] 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;

[0006] The method comprises:

[0007] 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;

[0008] 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;

[0009] 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.

[0010] 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;

[0011] 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;

[0012] 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;

[0013] The control node is used to execute the steps in the above resource scheduling method.

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

[0015] The processor is coupled to the memory and the communication component, and is configured to execute the computer program to perform the steps in the resource scheduling method.

[0016] 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.

[0017] 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.

[0018] 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

[0019] 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:

[0020] Figure 1 It is a structural diagram of a traditional Internet TV system;

[0021] Figure 2 A schematic diagram of the structure of a communication system provided in an embodiment of the present application;

[0022] Figure 3 A desktop diagram of the application launcher provided in an embodiment of the present application;

[0023] Figure 4 Another structural diagram of a communication system provided in an embodiment of the present application;

[0024] Figure 5 A schematic diagram of a resource scheduling process of a communication system provided in an embodiment of the present application;

[0025] Figure 6 Schematic diagram of the dynamic scaling process of a cloud server provided in an embodiment of the present application;

[0026] Figure 7 A schematic diagram of a resource scheduling method according to an embodiment of the present invention;

[0027] Figure 8 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] 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 only 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.

[0029] like Figure 1 As shown, 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, as a local device, supports user operations.

[0030] 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 are limited to traditional TV viewing 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 mainstream new applications, limiting 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.

[0031] 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.

[0032] 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.

[0033] 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.

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

[0035] 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.

[0036] Figure 2 This is a schematic diagram of the structure of the communication system provided in the embodiment of the present application. Figure 2As shown, 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 one or more. Multiple means two 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 eliminate the need for customers to purchase hardware in advance, allowing users to use the server conveniently and efficiently, and realize the ready-to-use and elastic scalability of computing resources. The cloud server 301 can be flexibly elastically scaled according to the actual resource needs of users.

[0037] 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.

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

[0039] The user 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 room.

[0040] The first resource group 20 extends the public cloud's computing, storage, and network infrastructure to the user's local data center in a fully managed cloud service, integrating hardware and software. This service meets requirements for data security, local data processing, and low latency. The first resource group 20 represents an extension of the public cloud within the user's local data center. It comprises 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 public cloud's control node 10.

[0041] 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 both the service device 201 of the first resource group 20 and the cloud server 301 of the second resource group 30. This container instance can be a Docker container, such as a container group (e.g., a Pod).

[0042] The application launcher is an application installed in a traditional set-top box, which is used to launch other applications. Other applications can be applications that provide media resources. The desktop of the application launcher can be as follows: Figure 3 As shown, users can launch other applications by operating the application launcher on the desktop, such as Figure 3 AD applications, etc.

[0043] 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.

[0044] 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). A VNIC is a virtual network interface in a private network (such as a VPC) that connects the cloud server to the private network.

[0045] 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.

[0046] Before the first and second resource groups 20 and 30 provide application launcher services to the set-top box service device 40, container instances corresponding to the application launchers must be deployed in the first and second resource groups 20 and 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.

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

[0048] 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.

[0049] For the second resource group 30, the management and control node 10 may deploy a container instance corresponding to the application launcher on the cloud server 301 in the second resource group 30. Specifically, Figure 4 As shown, a container service node 302 is deployed in the public cloud network. The control node 10 can deploy container instances 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.

[0050] The cloud server 301 supports elastic scaling, and can be dynamically scaled according to actual resource requirements. Figure 4 As shown, the public cloud network is also deployed with an instance management node 303. The management node 10 can dynamically scale the cloud server 301 through the instance management node 303. The specific implementation of dynamic scaling of the cloud server will be described in detail in the following embodiments and will not be repeated here.

[0051] 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.

[0052] like Figure 2 As shown, the set-top box service equipment 40 can send a launcher request to the control node 10 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 40 during the startup process.Correspondingly, the set-top box service equipment 40 can send a launcher request to the control node 10 in response to this request.

[0053] Combine Figure 2 and Figure 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 the embodiment of the present application, the container water level can be the water level of the used container instance, that is, the ratio of the used container instance to the total container instance. 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 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 container instances in the second resource group 30.

[0054] 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.

[0055] Whether the container water level represents the water level of used container instances or the water level of unused containers, it represents the availability of schedulable container instances within a resource group (either the first resource group or the second resource group). Based on this, the control node 10 can determine, from the first resource group 20 and the second resource group 30, a target resource group whose container water level meets the set first water level requirement. The target resource group may be entirely the first resource group or entirely the second resource group; of course, it may also include both the first resource group and the second resource group. Specifically, the target resource group includes the first resource group and / or the second resource group, with the specific resource group included being determined by whether the resource group's container water level meets the set first water level requirement. The target resource group has idle container instances and provides the set-top box service device 40 with data required by the application launcher.

[0056] Among them, the representation method of the container water level is different, and the corresponding set first water level requirement is different. 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.

[0057] Accordingly, the management and control node 10 can 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 according to 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, as the target resource group. Figure 5 Water level scheduling in.

[0058] In some embodiments, the container water level is represented by the water level of the above-mentioned idle container instance, and the set first water level requirement can be implemented as follows: the water level of the idle container instance in the resource group is greater than the set first water level threshold. That is, if the water level of the idle container instance in the resource group is greater 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 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%, etc.

[0059] 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.

[0060] 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 delivery content data of 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 instance in the first resource group is scheduled first, that is, Figure 5Based 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. In this way, on the one hand, since the first resource group 20 is deployed in the private network of the user's computer room, it can provide faster application launcher services and reduce the response delay of the application launcher's request compared to the second resource group 30 located in the public cloud network. Moreover, the first resource group is deployed in the private network of the user's computer room to meet the user's needs for data security. On the other hand, since 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, giving priority to scheduling the resources of the pre-paid first resource group can reduce the user's usage cost.

[0061] 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.

[0062] 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 Figure 5 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 may 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 may provide the streaming data corresponding to the application launcher to the set-top box (not shown in the drawings), and the set-top box may render the streaming data corresponding to the application launcher to display the desktop of the application launcher on the display device (such as Figure 3 The user of the set-top box can launch other applications by operating the desktop of the application launcher.

[0063] In the embodiment of the present application, in addition to providing a hybrid resource scheduling method of a first resource group located in the private network of the user's computer room and a second resource group located in the 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 Figure 5"Specified resource scheduling" in ). Accordingly, the launcher request may include: the identifier of the resource group specified for use. The resource group specified for use 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 specified for use, the control node 10 may also obtain the container water level of the resource group specified for use according to the identifier of the resource group specified for use; in the case where the container water level of the resource group specified for use meets the first water level requirement set above, the idle container instance is scheduled from the resource group specified for use to provide the set-top box service device 40 with the data required by the application launcher (corresponding to Figure 5 "Specify Resource Scheduling" in the .

[0064] 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.

[0065] 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.

[0066] like Figure 5 As shown, in some embodiments, a resource scheduling method for a specified environment may also be adopted, that is, Figure 5 "Scheduling in a specified environment" is referred to in the text "Scheduling in a specified environment". 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 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 for 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 for the application launcher.

[0067] like Figure 5As shown, the control node 10 can also verify the user information before responding to the initiator request. Specifically, the control node 10 can obtain the user information from the initiator request and verify the user information. Optionally, the 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 requested by the user (i.e. Figure 5 The user resource information in the first resource group may include the specifications of the cloud server requested and the specifications of the service devices in the first resource group. During resource scheduling, the resources allocated to the user do not exceed the resource information requested by the user. Furthermore, the user's scheduling rules may be obtained, indicating whether the user-defined scheduling rules are water level scheduling, designated resource scheduling, designated environment scheduling, or priority scheduling.

[0068] 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. Figure 6 As shown, the control node 10 can monitor the cloud server expansion event; when the cloud server expansion event is detected, a new target cloud server (ie Figure 6 "Cloud Server Production" in the target cloud server); and, creating a container instance corresponding to the application launcher on the target cloud server. The creation of 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. Figure 6 The description of instance initialization, container environment initialization, application launcher installation and container launch can be found in the above embodiments and 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. Figure 6 Node Online.

[0069] 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.

[0070] 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 being 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%.

[0071] 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.

[0072] 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%.

[0073] 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.

[0074] 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.

[0075] 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.

[0076] 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.

[0077] 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.

[0078] 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.

[0079] In other embodiments, a neural network model may be introduced to improve the accuracy of predicting peak usage times. In the embodiments of the present application, the specific implementation 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), but is not limited thereto.

[0080] 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.

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

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

[0083] After predicting the peak usage times for container instances, you can determine the time to scale up cloud servers based on these times. This scaling time should occur before the predicted peak usage times. For example, you can use a set time (such as half an hour, one hour, or two hours) before the predicted peak usage times as the time to scale up cloud servers. This allows you to dynamically scale up the cloud servers and container instances corresponding to the application launcher before the peak usage period, alleviating resource constraints during set-top box usage peaks and meeting peak usage demands.

[0084] 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 application programming interface (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, the management and control node 10 can determine that a cloud server capacity expansion event has been detected when detecting a trigger on the cloud server capacity expansion interface.

[0085] 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, 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.

[0086] The communication system provided by the embodiment of the present application not only supports dynamic expansion of cloud servers, but also supports dynamic contraction of cloud servers. Accordingly, the management and control node 10 can monitor cloud server contraction events; when a cloud server contraction event is detected, the cloud server to be destroyed is determined, and the container instance in the cloud server to be destroyed is deleted ( Figure 6 Container Delete and Container Component Recycling in the Container); Afterwards, you can destroy the cloud server to release the physical resources occupied by the cloud server to be destroyed ( Figure 6 Specifically, the management and control node 10 may first take the cloud server to be destroyed offline before deleting the container instance in the cloud server to be destroyed ( Figure 6 In this way, the management and control node 10 will no longer schedule the cloud server to be destroyed during resource scheduling.

[0087] 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.

[0088] 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 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 that cloud server. Accordingly, the third water level requirement can be implemented as follows: the water level of used container instances in a single cloud server remains less than or equal to a set third water level threshold for a set duration (e.g., 1 hour, 2 hours, 6 hours, 8 hours, 12 hours, 1 day, 2 days, 1 week, or longer). If the water level of used container instances in a single cloud server remains less than or equal to the set third water level threshold for a set duration, it can indicate that the cloud server has a large number of idle container instances and has consistently low resource utilization for the set duration. Therefore, cloud servers with consistently 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.

[0089] 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.

[0090] Of course, the container water level of a single cloud server can be the water level of idle container instances in the single cloud server, which can be represented by the ratio of the number of idle container instances in the 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 the single cloud server remains greater than or equal to a set third water level threshold for a set period of time (e.g., 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 remains greater than or equal to the set third water level threshold for a set period of time, it can indicate that the cloud server has a large number of idle container instances and that the cloud server's resource utilization has been low for a set period of time. Therefore, cloud servers with persistently 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.

[0091] 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.

[0092] 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.

[0093] 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.

[0094] 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.

[0095] 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.

[0096] 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.

[0097] 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 cloud servers and container instances.

[0098] 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.

[0099] 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.

[0100] Figure 7 Schematic diagram of the resource scheduling method provided in the embodiment of this application. Figure 7 As shown, the resource scheduling method mainly includes:

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

[0102] 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.

[0103] 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.

[0104] 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.

[0105] 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.

[0106] 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.

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

[0108] 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.

[0109] 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). A VNIC is a virtual network interface in a private network (such as a VPC) that connects the cloud server to the private network.

[0110] 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.

[0111] 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.

[0112] Accordingly, for the control node, in step 701, an initiator request is received; and in step 702, in response to the initiator request, the container water level of the first resource group and the container water level of the second resource group are obtained. In an 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.

[0113] 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.

[0114] Whether the container water level represents the water level of used container instances or the water level of unused containers, it represents the availability of schedulable container instances in a resource group (the first resource group or the second resource group). Based on this, in step 703, a target resource group whose container water level meets the set first water level requirement is determined from the first resource group and the second resource group based on the container water levels of the first resource group and the second resource group. The target resource group may be entirely the first resource group or entirely the second resource group; of course, it may also include both the first resource group and the second resource group. Specifically, the target resource group includes the first resource group and / or the second resource group, with the specific resource group included being determined by whether the container water level of the resource group meets the set first water level requirement. The target resource group has idle container instances and provides the data required by the application launcher to the set-top box service device.

[0115] 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.

[0116] 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.

[0117] 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.

[0118] 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.

[0119] 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.

[0120] 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.

[0121] 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.

[0122] 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.

[0123] 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.

[0124] 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.

[0125] 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.

[0126] 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.

[0127] 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.

[0128] 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.

[0129] 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.

[0130] 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.

[0131] 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.

[0132] After predicting the peak usage times for container instances, you can determine the time to scale up cloud servers based on these times. This scaling time should occur before the predicted peak usage times. For example, you can use a set time (such as half an hour, one hour, or two hours) before the predicted peak usage times as the time to scale up cloud servers. This allows you to dynamically scale up the cloud servers and container instances corresponding to the application launcher before the peak usage period, alleviating resource constraints during set-top box usage peaks and meeting peak usage demands.

[0133] 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.

[0134] 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 added to 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.

[0135] 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.

[0136] 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.

[0137] The container water level for each cloud server refers to the container water level for that individual cloud server. The container water level for an individual cloud server can be the water level of used container instances in that individual cloud server, and can be represented by the ratio of the number of used container instances in that individual cloud server to the total number of cloud servers in that cloud server. Accordingly, the third water level requirement can be implemented as follows: the water level of used container instances in that individual cloud server remains less than or equal to a set third water level threshold for a set duration (e.g., 1 hour, 2 hours, 6 hours, 8 hours, 12 hours, 1 day, 2 days, 1 week, or longer). If the water level of used container instances in a single cloud server remains less than or equal to the set third water level threshold for a set duration, it can indicate that the cloud server has a large number of idle container instances and has consistently experienced low resource utilization for the set duration. Therefore, cloud servers with consistently low resource utilization can be scaled down.

[0138] 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.

[0139] Of course, the container water level of a single cloud server can be the water level of idle container instances in the single cloud server, which can be represented by the ratio of the number of idle container instances in the 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 the single cloud server remains greater than or equal to a set third water level threshold for a set period of time (e.g., 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 remains greater than or equal to the set third water level threshold for a set period of time, it can indicate that there are a large number of idle container instances in the cloud server and that the cloud server's resource utilization has been low for a set period of time. Therefore, the cloud server with persistently low resource utilization can be scaled down. Accordingly, if the water level of idle container instances in the second resource group remains greater than or equal to the set third water level threshold for a set period of time, it can be determined that a cloud server scale-down event has been detected.

[0140] 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.

[0141] 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.

[0142] 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.

[0143] 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.

[0144] 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.

[0145] 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.

[0146] 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.

[0147] 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.

[0148] 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 merely used to distinguish between different operations and do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel.

[0149] 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.

[0150] Figure 8 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 also 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 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.

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

[0152] The processor 80b is coupled to the memory 80a and the communication component 80c, and is used 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.

[0153] 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 specifically used to: 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 according to 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, as the target resource group.

[0154] 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, return a resource shortage prompt message to the set-top box service device.

[0155] 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.

[0156] 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, 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, when the target resource group includes the first resource group, scheduling an idle target container instance from the container instances of 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.

[0157] In some embodiments, the processor 80b is further used to: monitor cloud server expansion events; when a cloud server expansion event is detected, 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.

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

[0159] 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.

[0160] 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 specifically 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.

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

[0162] Determine the time to expand cloud server capacity based on peak usage times.

[0163] In other embodiments, the processor 80b is further used 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 shrinking event, processor 80b is specifically 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 shrinking event has been detected. Accordingly, when determining a cloud server to be destroyed, processor 80b is specifically 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 specifically configured to: monitor the shrink time of the cloud server in the second resource group; and upon detecting that the shrink time of the cloud server 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 specifically 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 scaling-down event, processor 80b is specifically configured to: monitor the triggering of a cloud server scaling-down interface corresponding to the second resource group; and upon detecting that the cloud server scaling-down interface corresponding to the second resource group is triggered, determine that a cloud server scaling-down event has been detected. Accordingly, when determining a cloud server to be destroyed, processor 80b is specifically configured to: 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;

[0169] or,

[0170] When monitoring a cloud server shrink event, processor 80b is specifically 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 a third water level requirement for a set duration 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 specifically configured to determine that a cloud server in the second resource group whose container water level fails to meet the third water level requirement at the time of the shrink time has expired is a 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, such as Figure 8As shown, the computing device may further include: a power supply component 80d and other components. In some embodiments, the computing device may be implemented as a terminal device such as a computer or a workstation. Accordingly, the computing device may further include: a display component 80e and an audio component 80f and other optional components. Figure 8 Only some components are shown schematically, and it does not mean that the computing device must include Figure 8 The components shown do not necessarily mean that the computing device can only include Figure 8 Components shown.

[0173] In an embodiment of the present application, the memory is used to store computer programs and can be configured to store various other data to support operations on the device in which it is located. The processor can execute the computer program stored in the memory to implement the corresponding control logic. The memory can 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), electrical 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 embodiments of the present application, the processor may be any hardware processing device capable of executing the logic of the above-described method. Optionally, the processor may be a central processing unit (CPU), a graphics processing unit (GPU), or a microcontroller unit (MCU); may 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), or a complex programmable logic device (CPLD); or an application-specific integrated circuit (ASIC) chip; or an advanced RISC machine (ARM) processor 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 implemented 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 embodiments of the present application, the display assembly may include a liquid crystal display (LCD) and a touch panel (TP). If the display assembly includes a touch panel, the display assembly 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 touches, slides, and gestures on the touch panel. The touch sensors may not only sense the boundaries of a touch or slide action, but also the duration and pressure associated with the touch or slide action.

[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 (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 for outputting audio signals. For example, for a device with a language interaction function, voice interaction with the 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 may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take 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 (CD-ROM), optical storage, etc.) containing computer-usable program code.

[0182] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (or systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, 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 generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[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 work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0184] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[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 computer-readable media. Computer-readable storage media include both permanent and non-permanent, removable and non-removable media, and can be implemented using 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 technologies, 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-transmitting medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable 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 embodiments 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 changes 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, characterized in that: Applicable to control nodes in communication systems; 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 a container instance corresponding to the application launcher of the set-top box is deployed in the service device and the cloud server; The method comprises: 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; 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; 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, characterized in that The container water level is represented 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 determining, from the first resource group and the second resource group, a target resource group whose container water level meets a set first water level requirement includes: From the first resource group and the second resource group, determine that the resource group whose water level of used container instances is less than a set first water level threshold is the target resource group.

3. The method according to claim 1, characterized in that The method further comprises: In a case where the initiator request includes: an identifier of a resource group designated for use, obtaining a container water level of the resource group designated for use according to the identifier of the resource group designated for use; 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, 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, characterized in that 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, characterized in that Also includes: When a cloud server expansion event is detected, expanding a new target cloud server 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, characterized in that The cloud server expansion event detected 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 has been 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 the set cloud server expansion time is detected, 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, characterized in that The overall container water level is the overall water level of the used container instances in the first resource group and the used container instances 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, characterized in that 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, characterized in that Also includes: Monitor cloud server scaling events; When a cloud server downsizing event is detected, determine the cloud server to be destroyed; Deleting the container instance on the cloud server to be destroyed; The cloud server to be destroyed is then destroyed to release the physical resources occupied by the cloud server to be destroyed.

10. The method according to claim 9, characterized in that The monitoring of cloud server shrinking events includes: monitoring a container water level of each cloud server in the second resource group; and determining that a cloud server shrinkage event has been detected if a container water level in any of the cloud servers does not meet a set third water level requirement for a continuous set period of time; 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 has been detected when the cloud server shrinking time of the second resource group is detected to have arrived; The determining of the cloud server to be destroyed includes: determining a cloud server in the second resource group whose cloud server shrinking time has arrived as 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, monitoring the container water level of each cloud server in the second resource group and the shrinking time of the cloud servers of the second resource group; when the container water level of any cloud server does not meet the set third water level requirement for a continuous set period of time and the shrinking time of the cloud servers of the second resource group arrives, determining that the shrinking event of the cloud server has been monitored; The determining of the cloud server to be destroyed includes: determining that a cloud server whose container water level in the second resource group does not meet a 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, characterized in that 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.

12. A communication system, characterized in that: include: 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 starter request to the control node; The control node is used to execute the steps in the method according to any one of claims 1 to 11.

13. A computing device, characterized in that include: Memory, processor and communication components; wherein the memory is used to store computer programs; 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 method according to any one of claims 1 to 11.

14. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by one or more processors, the one or more processors are caused to perform 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