Cluster node scheduling method and device
By dynamically adjusting the number of edge nodes and business labels, the problem of lag in edge node video services at high load and resource waste in low load is solved, and high-performance and low-cost video services are achieved.
Patent Information
- Application Number
- CN202411475522.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2024-12-20
AI Technical Summary
Edge node-based video services cause lag and service crashes at high loads, and low resource utilization at low loads, resulting in waste of resources and high operation and maintenance costs.
By obtaining the load information and traffic data of edge nodes, dynamically adjusting the number of nodes and business labels to achieve scaling of edge nodes, ensuring high performance and stability, and converting it to other services at low loads to improve resource utilization.
It effectively improves user experience, reduces operating costs, improves system flexibility and resource utilization, and ensures high availability and high scalability of services.
Smart Images

Figure CN119172250A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of Internet technology, and specifically to a cluster node scheduling method, apparatus, computing device, computer storage medium, and computer program product. Background Art
[0002] With the development of Internet technology, more and more people choose to watch videos online, which has led to the rapid development of streaming media applications. Video services based on content delivery networks (CDNs) have gradually become the mainstream streaming media service model.
[0003] For edge CDNs that provide services based on edge nodes, they can be deployed in edge nodes in the operator's computer room, taking advantage of the close distance between edge nodes and clients to reduce transmission latency and improve data transmission efficiency, thereby providing users with a better browsing experience and service quality assurance.
[0004] However, when a large number of users access the platform at the same time, the server load increases sharply, which affects the user's viewing experience, causing viewing freezes, delays, and even service crashes. When the number of users is small, the server resources such as CPU and memory are mostly idle, resulting in low resource utilization and waste of resources. At the same time, due to the large number of resources, it also causes a waste of operation and maintenance resources. Therefore, a solution that can flexibly schedule cluster nodes is urgently needed. Summary of the invention
[0005] In view of the above problems, the present application is proposed to provide a cluster node scheduling method, apparatus, computing device, computer storage medium and computer program product that overcome the above problems or at least partially solve the above problems.
[0006] According to one aspect of an embodiment of the present application, a cluster node scheduling method is provided, including:
[0007] Obtain node load information reported by each edge node in the node cluster;
[0008] Evaluate resource requirements based on node load information, current on-demand traffic, and / or current live traffic, and determine the number of nodes to be scheduled and the node scheduling method;
[0009] According to the node scheduling method, service label management is performed on the nodes to be scheduled corresponding to the node scheduling quantity to achieve dynamic expansion and contraction of edge nodes in the node cluster for serving on-demand services and / or live broadcast services.
[0010] Furthermore, if the node scheduling mode is dynamic expansion of edge nodes serving on-demand services and / or live broadcast services, then according to the node scheduling mode, performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity further includes:
[0011] Assign on-demand service labels and / or live service labels to the nodes to be scheduled corresponding to the node scheduling quantity, and add the nodes to be scheduled with the on-demand service labels and / or live service labels assigned to the node cluster, so that the edge nodes newly added to the node cluster can serve the on-demand service or live service.
[0012] Furthermore, if the node scheduling mode is dynamic scaling down of edge nodes serving on-demand services and / or live services, then according to the node scheduling mode, performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity further includes:
[0013] The on-demand service label and / or live service label of the node to be scheduled corresponding to the node scheduling quantity is removed, and other service labels are allocated to the node to be scheduled corresponding to the node scheduling quantity, so that the node to be scheduled can serve other services, wherein other services are services other than on-demand service and live service in live video or video on demand.
[0014] Further, performing resource demand assessment according to the node load information, current on-demand traffic and / or current live traffic, and determining the node scheduling quantity and node scheduling method further includes:
[0015] For any edge node, the edge node load is obtained by weighted calculation based on the node load information corresponding to the edge node;
[0016] Traffic estimation is performed based on the access period corresponding to the current time, the current on-demand traffic, and / or the current live broadcast traffic;
[0017] According to the traffic estimation results and the edge node load of each edge node, the resource demand is evaluated to determine the number of nodes to be scheduled and the node scheduling method.
[0018] Furthermore, before evaluating resource requirements according to the node load information, the current on-demand traffic and / or the current live broadcast traffic and determining the node scheduling quantity and the node scheduling mode, the method further includes:
[0019] If the access period corresponding to the current time is the first access period, judging whether the edge node load is greater than or equal to the first preset node load threshold according to the node load information; or, if the access period corresponding to the current time is the second access period, judging whether the edge node load is less than or equal to the second preset node load threshold according to the node load information;
[0020] If so, a resource demand assessment is performed based on the node load information, current on-demand traffic and / or current live traffic to determine the number of nodes to be scheduled and the node scheduling method.
[0021] Furthermore, after performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling method, the method also includes: sending the node information of the nodes to be scheduled and the managed service labels to the scheduling service, so that the scheduling service distributes the corresponding service traffic to the nodes to be scheduled according to the managed service labels.
[0022] According to another aspect of an embodiment of the present application, a cluster node scheduling device is provided, including:
[0023] An acquisition module, adapted to acquire node load information reported by each edge node in the node cluster;
[0024] A resource demand assessment module, adapted to perform resource demand assessment based on node load information, current on-demand traffic, and / or current live traffic, and determine the number of nodes to be scheduled and the node scheduling method;
[0025] The service label management module is suitable for performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling mode, so as to realize dynamic expansion and contraction of the edge nodes in the node cluster for serving on-demand services and / or live broadcast services.
[0026] According to another aspect of the embodiment of the present application, there is provided a computing device, including: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;
[0027] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the above-mentioned cluster node scheduling method.
[0028] According to another aspect of the embodiments of the present application, a computer storage medium is provided, in which at least one executable instruction is stored, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned cluster node scheduling method.
[0029] According to another aspect of the embodiments of the present application, a computer program product is provided, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the above-mentioned cluster node scheduling method.
[0030] According to the cluster node scheduling method and device provided in the embodiment of the present application, by obtaining the node load information reported by each edge node in the node cluster, the resource demand assessment is performed according to the node load information, the current on-demand traffic and / or the current live broadcast traffic, the node scheduling quantity and the node scheduling method are determined, and then, according to the node scheduling method, the service label management is performed on the nodes to be scheduled corresponding to the node scheduling quantity, so as to realize the dynamic expansion and contraction of the edge nodes in the node cluster used to serve the on-demand service and / or the live broadcast service. In this way, the number of edge nodes serving the on-demand service and / or the live broadcast service can be flexibly adjusted according to the actual business volume. If the load is high, the node cluster is expanded to ensure the high performance and stability of the service, thereby ensuring the user experience. If the load is low, the node cluster is reduced so that the edge node serves the remaining services, such as live screenshot, recording and other services, to maximize the utilization of machine resources, while reducing operating costs and improving the flexibility of the entire system.
[0031] The above description is only an overview of the technical solution of the embodiment of the present application. In order to more clearly understand the technical means of the embodiment of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the embodiment of the present application more obvious and easy to understand, the specific implementation method of the embodiment of the present application is listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only used for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the embodiments of the present application. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0033] Figure 1 A schematic diagram of a process of a cluster node scheduling method according to an embodiment of the present application is shown;
[0034] Figure 2 A schematic diagram showing a flow chart of a cluster node scheduling method according to another embodiment of the present application is shown;
[0035] Figure 3 A structural block diagram of a cluster node scheduling device according to an embodiment of the present application is shown;
[0036] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0037] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0038] First, the terms involved in one or more embodiments of the present application are explained.
[0039] CDN (Content Delivery Network): The full name of CDN is content distribution network. It is a new content service system based on IP network. Through the strategic construction and deployment of widely distributed edge servers, supplemented by relevant load balancing and central platform scheduling strategies, it can enable visiting users to access the available edge servers nearby and obtain the required content, thereby improving cache hit rate and response speed. General CDN distribution systems are a kind of tree-like structure, relying on layering and port multiplexing to improve the load capacity of the entire system. The edge-side CDN nodes close to the user obtain real-time media streams or static files from the source station through layers of back-to-source according to the decision of the scheduling system, so as to provide services to users.
[0040] Push streaming: Collect the audio and video data from the client, encode it, and encapsulate it using a transmission protocol before transmitting it to the server. The server here is the source station in the CDN architecture.
[0041] Pulling stream: The process in which the client pulls the live media stream to the local computer through the specified source address.
[0042] Cluster: A region may provide multiple CDN machines to provide services. Such multiple CDN machines in the same region are called a cluster.
[0043] Key concepts of edge CDN:
[0044] 1. Close to users: Edge CDN servers are distributed near users, reducing the physical distance between users and servers, thereby reducing network latency.
[0045] 2. Cache mechanism: Edge CDN will cache commonly used content (such as web pages, videos, etc.) to edge node servers, so that users can access content faster without having to obtain data from the source server every time.
[0046] 3. Load balancing: By distributing user requests to different edge node servers, edge CDN can balance the load and reduce the risk of server overload.
[0047] 4. Reduced latency: Since data is processed on nodes close to the user, edge CDN can significantly reduce latency, especially in real-time applications and streaming scenarios.
[0048] Figure 1 A schematic diagram of a cluster node scheduling method according to an embodiment of the present application is shown. Figure 1 As shown, the method comprises the following steps:
[0049] Step S101, obtaining node load information reported by each edge node in the node cluster.
[0050] The cluster node scheduling method in this embodiment can be executed by the central control service in the cluster. Specifically, the node load information reported by each edge node in the node cluster can be obtained through the node heartbeat mechanism. For example, each edge node actively reports its own node load information to the central control service at regular intervals. The node load information reflects the current load status of the edge node. Generally, the node load information may include but is not limited to CPU occupancy, memory usage, disk usage, network bandwidth usage, etc. In addition, the node load information may also include identification information of the edge node, such as IP address, domain name, etc., so that the central control service can identify which edge node the node load information corresponds to.
[0051] Step S102, performing resource demand assessment based on node load information, current on-demand traffic and / or current live traffic, and determining the number of nodes to be scheduled and the node scheduling method.
[0052] The current on-demand traffic reflects the user traffic of watching on-demand programs at the current time, and the current live broadcast traffic reflects the user traffic of watching live broadcasts at the current time. Therefore, resource demand assessment can be performed based on node load information, current on-demand traffic and / or current live broadcast traffic. Through resource demand assessment, it is possible to analyze how many resources are needed to normally carry the upcoming on-demand traffic and / or live broadcast traffic, or analyze how many resources are redundant, thereby determining the number of node scheduling and the node scheduling method. Among them, the node scheduling method describes how the nodes are scheduled this time, and the number of node scheduling reflects the number of edge nodes that need to be scheduled this time.
[0053] Step S103, according to the node scheduling mode, service label management is performed on the nodes to be scheduled corresponding to the node scheduling quantity, so as to realize dynamic expansion and contraction of edge nodes in the node cluster for serving the on-demand service and / or the live broadcast service.
[0054] After determining the number of node scheduling, the nodes to be scheduled this time can be determined according to the number of node scheduling, wherein the nodes to be scheduled can be edge nodes that do not serve on-demand services and / or live broadcast services, or other nodes that are not yet edge nodes but can serve as edge nodes for on-demand services and / or live broadcast services after this scheduling. After determining the node scheduling method, the nodes to be scheduled corresponding to the number of node scheduling can be managed with service labels according to the node scheduling method, wherein the service label refers to a string that identifies the service type supported by the edge node, such as "vod" for on-demand services, "live" for live broadcast services, etc. The service label management method includes allocating service labels and removing service labels, and the node scheduling method determines the service label management method. Different node scheduling methods have different service label management methods.
[0055] By managing the service labels of the scheduling nodes, dynamic expansion and contraction of the edge nodes in the node cluster used to serve on-demand services and / or live services can be achieved. That is, the number of edge nodes used to serve on-demand services and / or live services is increased, or the number of edge nodes serving on-demand services and / or live services is reduced.
[0056] According to the cluster node scheduling method provided in the embodiment of the present application, by obtaining the node load information reported by each edge node in the node cluster, the resource demand assessment is performed according to the node load information, the current on-demand traffic and / or the current live broadcast traffic, the node scheduling quantity and the node scheduling method are determined, and then, according to the node scheduling method, the service label management is performed on the nodes to be scheduled corresponding to the node scheduling quantity, so as to realize the dynamic expansion and contraction of the edge nodes in the node cluster used to serve the on-demand service and / or the live broadcast service. In this way, the number of edge nodes serving the on-demand service and / or the live broadcast service can be flexibly adjusted according to the actual business volume. If the load is high, the node cluster is expanded to ensure the high performance and stability of the service, thereby ensuring the user experience. If the load is low, the node cluster is reduced so that the edge node serves the remaining services, such as live screenshot, recording and other services, to maximize the utilization of machine resources, while reducing operating costs and improving the flexibility of the entire system.
[0057] Figure 2 A schematic diagram of a cluster node scheduling method according to an embodiment of the present application is shown. Figure 2 As shown, the method comprises the following steps:
[0058] Step S201, obtaining node load information reported by each edge node in the node cluster.
[0059] There are on-demand edge CDN services and / or live edge CDN services on edge nodes. The on-demand edge CDN services and / or live edge CDN services on each node in the node cluster can report the node load information of their own nodes to the central control service in the cluster. Specifically, the edge node can periodically report the node load information of its own node to the central control service through HTTP POST requests, or the edge node sends the node load information of its own node to the message queue, and the central control service obtains the node load information by subscribing to the message queue. It can also obtain the node load information of each edge node through other methods, which will not be repeated here.
[0060] In general, node load information may include but is not limited to CPU occupancy, memory usage, disk usage, network bandwidth usage, etc., among which different services may have different requirements for resource attributes. For example, for live broadcast services, they have higher real-time requirements, so their key requirements may be CPU, memory, and bandwidth. For edge nodes with live broadcast edge CDN services, the node load information reported by the edge nodes mainly includes: CPU occupancy, memory usage, and network bandwidth usage; for on-demand services, the main role of edge nodes is storage, and their key requirements may be CPU, disk, and bandwidth. Therefore, for edge nodes with on-demand edge CDN services, the node load information reported by edge nodes mainly includes: CPU occupancy, disk usage, and network bandwidth usage.
[0061] It should be noted that an edge node may have both on-demand edge CDN services and live edge CDN services, or only on-demand edge CDN services, or only live edge CDN services. Therefore, when reporting node load information, it is reported in combination with the existing services. For example, if both on-demand edge CDN services and live edge CDN services exist, then it is necessary to report CPU usage, memory usage, disk usage, and network bandwidth usage; if only on-demand edge CDN services exist, then only CPU usage, disk usage, and network bandwidth usage need to be reported; if only live edge CDN services exist, then only CPU usage, memory usage, and network bandwidth usage need to be reported.
[0062] Step S202: for any edge node, the edge node load is obtained by weighted calculation according to the node load information corresponding to the edge node.
[0063] After obtaining the node load information of each edge node, the edge node load can be obtained by weighted calculation according to the node load information corresponding to the edge node. That is to say, the CPU occupancy rate, memory usage, disk usage, network bandwidth usage and other information each correspond to a weight coefficient, and the edge node load can be weighted according to the corresponding weight coefficient and the value corresponding to each node load information. The edge node load is a numerical value that reflects the comprehensive performance of the edge node. Among them, the weight coefficient can be customized according to the actual situation, and there is no restriction here.
[0064] Different edge nodes provide different business services. Therefore, the edge node load of each edge node can be weighted and calculated in combination with the resource attributes required by the corresponding business services.
[0065] For example, if the edge node only provides live broadcast services, the following indicators can be used: CPU occupancy, memory usage, network bandwidth usage, and their corresponding weight coefficients and the values of the above indicators to weight the edge node load.
[0066] Step S203, traffic estimation is performed according to the access period corresponding to the current time, the current on-demand traffic and / or the current live broadcast traffic.
[0067] Specifically, the access time period corresponding to the current time can be determined first, wherein the access time period can be divided into a first access time period (also called a peak access time period) and a second access time period (also called a non-peak access time period) according to the access volume. The peak access time period mainly includes the midday peak access time period (e.g., around 11 a.m. to 13 p.m.) and the evening peak access time period (e.g., around 19 p.m. to 10 p.m.). The non-peak access time period refers to the access time period other than the peak access time period.
[0068] After determining the access period corresponding to the current time, traffic estimation can be performed based on the access period corresponding to the current time, the current on-demand traffic and / or the current live traffic. Traffic estimation is to estimate how much traffic may be in the future. For example, traffic estimation can be performed based on the traffic curve of the corresponding historical access period, combined with the current on-demand traffic and / or the current live traffic; traffic estimation can also be performed using a pre-trained traffic estimation model, and the access period corresponding to the current time, the current on-demand traffic and / or the current live traffic are input into the pre-trained traffic estimation model for traffic estimation. Of course, other methods can also be used for traffic estimation, which are not specifically limited here.
[0069] In addition, the current on-demand traffic and / or the current live broadcast traffic can also reflect the access period corresponding to the current time. If the current on-demand traffic and the current live broadcast traffic are both high, it means that it may be in the peak access period. All edge nodes in the node cluster are in a high load state. At this time, you can consider dynamically expanding the node cluster, that is, increasing the number of edge nodes used to serve on-demand services and / or live broadcast services, thereby reducing the load pressure of each edge node and improving the utilization rate of edge nodes.
[0070] If both the current on-demand traffic and the current live broadcast traffic are low, it means that it may be a non-peak access period and all edge nodes in the node cluster are in a low-load state. At this time, you can consider dynamically shrinking the node cluster, that is, reducing the number of edge nodes used to serve on-demand services and / or live broadcast services, thereby saving hardware resources in the node cluster.
[0071] Step S204, performing resource demand assessment according to the traffic estimation result and the edge node load of each edge node, and determining the node scheduling quantity and node scheduling method.
[0072] Specifically, the traffic prediction result reflects the amount of future traffic. Therefore, the total amount of resources required in the future can be determined based on the traffic prediction result. Then, based on the edge node load of each edge node, it can be determined how many resources are needed to normally carry the incoming traffic or how many resources are redundant, and then the number of nodes to be scheduled and the node scheduling method can be determined.
[0073] In addition, the traffic estimation results and edge node load can be used as inputs to predict the number of nodes that need to be scheduled, that is, the node scheduling number, through the pre-trained resource demand assessment model. The node scheduling number can be a positive or negative number, so that the node scheduling method can be determined based on the node scheduling number. In addition, it is also necessary to determine how to schedule these edge nodes, that is, to determine which edge nodes should continue to be retained, which edge nodes should be closed, which edge nodes should be added, and so on.
[0074] For example, assuming that at a certain moment, the on-demand traffic Q1 of n users and the live traffic Q2 of m users are received, then the traffic can be estimated based on the on-demand traffic Q1 and live traffic Q2 of these n+m users to obtain the expected on-demand traffic Q3 and expected live traffic Q4 for the next moment, and then the resource demand can be evaluated based on the expected on-demand traffic Q3 and expected live traffic Q4 to determine the number of nodes to be scheduled and the node scheduling method.
[0075] Step S205, if the node scheduling method is dynamic expansion of edge nodes serving on-demand services and / or live broadcast services, then assign on-demand service labels and / or live broadcast service labels to the nodes to be scheduled corresponding to the node scheduling quantity, and add the nodes to be scheduled that are assigned with on-demand service labels and / or live broadcast service labels to the node cluster, so that the edge nodes newly added to the node cluster can serve the on-demand service or live broadcast service.
[0076] If the node scheduling method is to dynamically expand the edge nodes serving the on-demand service and / or the live broadcast service, that is, it is necessary to increase the number of edge nodes serving the on-demand service and / or the live broadcast service, therefore, the labeling interface can be called to allocate on-demand service labels and / or live broadcast service labels to the nodes to be scheduled corresponding to the node scheduling number, and then, the nodes to be scheduled with the allocated on-demand service labels and / or live broadcast service labels are added to the node cluster, and by allocating on-demand service labels and / or live broadcast service labels to the nodes to be scheduled, the nodes to be scheduled can provide on-demand services and / or live broadcast services, thereby realizing the dynamic expansion of edge nodes serving the on-demand service and / or the live broadcast service. Among them, the live broadcast service label can be a live-play label, and the on-demand service label can be a vod-play label.
[0077] In addition, in order to facilitate resource reuse and make full use of node resources, multiple service labels can be assigned to the same node to be scheduled, for example, a VOD service label and a LIVE service label can be assigned at the same time. Of course, only VOD service labels or LIVE service labels can also be assigned.
[0078] For example, if it is found that two more nodes are needed to provide on-demand services and / or live broadcast services in order to normally carry the traffic that is about to arrive, the labeling interface will be called to label the two nodes to be scheduled with on-demand service labels and / or live broadcast service labels, and then the two nodes to be scheduled will be added to the node cluster so that subsequent scheduling services can import on-demand traffic and / or live broadcast traffic to the corresponding nodes to be scheduled, ensuring the stability of the service and the user's viewing experience. In this way, it is equivalent to adding two new edge nodes that support on-demand services and / or live broadcast services, thereby effectively alleviating the burden on the original node cluster.
[0079] Step S206, if the node scheduling method is dynamic scaling down of edge nodes serving on-demand services and / or live broadcast services, the on-demand service label and / or live broadcast service label of the node to be scheduled corresponding to the node scheduling quantity is removed, and other service labels are allocated to the node to be scheduled corresponding to the node scheduling quantity, so that the node to be scheduled serves other services, wherein other services are services other than on-demand services and live broadcast services in live video or video on demand.
[0080] If the node scheduling method is to dynamically shrink the edge nodes serving the on-demand service and / or the live broadcast service, that is, it is necessary to reduce the number of edge nodes serving the on-demand service and / or the live broadcast service. Therefore, the label removal interface can be called to remove the on-demand service label and / or the live broadcast service label of the node to be scheduled corresponding to the node scheduling quantity. By removing the on-demand service label and / or the live broadcast service label, the node to be scheduled no longer provides on-demand service or live broadcast service. In order to better utilize the resources of the node to be scheduled, other service labels can be allocated to the node to be scheduled corresponding to the node scheduling quantity, so that the node to be scheduled can provide other services. Other services are services other than on-demand service and live broadcast service in live video or video on demand, such as live screenshot and recording.
[0081] For example, if it is determined through calculation that 3 nodes are redundant, the label removal interface can be called to select some edge nodes with higher idleness from the existing edge nodes, remove the on-demand service labels and / or live service labels of these edge nodes, and add other service labels such as live screenshot, recording and other service labels to these edge nodes without service labels, so as to provide other services, ensure high utilization of node resources in the cluster, avoid waste of resources, and reduce CDN costs. In this way, it is equivalent to reducing 3 edge nodes serving on-demand services and / or live services, thereby effectively saving costs.
[0082] In actual applications, if the resources required by other services are sufficient, after removing the on-demand service label and / or live service label of the node to be scheduled and no other service labels are assigned to the node to be scheduled, there will be no service labels on the node to be scheduled and the node to be scheduled can be taken offline.
[0083] Step S207: Send the node information of the node to be scheduled and the managed service label to the scheduling service, so that the scheduling service distributes the corresponding service traffic to the node to be scheduled according to the managed service label.
[0084] After completing the service label management for the node to be scheduled, the service label of the node to be scheduled is updated accordingly. In order for the scheduling service to correctly direct the traffic to the corresponding edge node, the node information of the node to be scheduled and the managed service label need to be sent to the scheduling service, so that the scheduling service can accurately know the services that each edge node can provide, so as to schedule and allocate the corresponding service traffic. For example, by marking the node with a suitable on-demand service label and / or live broadcast service label, the scheduling service can import the on-demand traffic and / or live broadcast traffic to the node, thereby ensuring the stability of the service and the user's viewing experience.
[0085] In an optional implementation of the present application, before performing resource demand evaluation according to node load information, current on-demand traffic and / or current live traffic and determining the number of nodes to be scheduled and the node scheduling method, the method further includes:
[0086] If the access period corresponding to the current time is the first access period, judging whether the edge node load is greater than or equal to the first preset node load threshold according to the node load information; or, if the access period corresponding to the current time is the second access period, judging whether the edge node load is less than or equal to the second preset node load threshold according to the node load information;
[0087] If so, a resource demand assessment is performed based on the node load information, current on-demand traffic and / or current live traffic to determine the number of nodes to be scheduled and the node scheduling method.
[0088] Specifically, if the access period corresponding to the current time is the first access period, that is, the peak access period, then the edge node load is determined to be greater than or equal to the first preset node load threshold based on the node load information. That is, when the traffic peaks caused by the lunch and evening peaks or other live broadcast activities arrive, when the on-demand traffic and / or live broadcast traffic surges, resulting in an increase in the load of the point-to-point live broadcast business, the node load calculated by the central control in the cluster will reach or even exceed the first preset node load threshold (normally set to 70-80%). At this time, it is necessary to evaluate the resource demand based on the node load information, the current on-demand traffic and / or the current live broadcast traffic to determine the node load. or, if the access period corresponding to the current time is the second access period, that is, the non-peak access period, then determine whether the edge node load is less than or equal to the second preset node load threshold based on the node load information, that is, when the traffic peak caused by the lunch peak and evening peak or other live broadcast activities has passed, the load of the nodes in the cluster will decrease due to the reduction of the live broadcast traffic, where the second preset node load threshold can be set to 30%; if so, perform a resource demand assessment based on the node load information, the current on-demand traffic and / or the current live broadcast traffic to determine the number of node scheduling and the node scheduling method. In other words, in certain specific access periods, it is necessary to first check the load of the edge node, and only when certain conditions are met will the resource demand assessment be performed.
[0089] According to the cluster node scheduling method provided in the embodiment of the present application, during the peak user access period, the cluster with higher load is expanded according to the strategy to ensure high performance and stability of the service, thereby ensuring user experience. During the non-peak access period, the cluster with lower load is reduced in capacity to serve the remaining services, such as live screenshots, recording and other services, to maximize the utilization of machine resources and reduce operating costs. By allocating or removing service labels to the nodes to be scheduled, the edge nodes that serve on-demand services and / or live broadcast services can be dynamically expanded and reduced, which not only improves the flexibility and scalability of the system, but also simplifies management and enhances the high availability and resource optimization capabilities of the system. In addition, the service granularity of the nodes in the cluster is further refined, and the responsibilities of the nodes are managed by labels, which simplifies the configuration and management of the node roles. It only needs to pay attention to the allocation and removal of labels without directly intervening in other configuration details of the nodes.
[0090] Figure 3 A structural block diagram of a cluster node scheduling device according to an embodiment of the present application is shown. Figure 3 As shown, the device comprises:
[0091] The acquisition module 301 is adapted to acquire the node load information reported by each edge node in the node cluster;
[0092] The resource demand evaluation module 302 is adapted to evaluate resource demand according to node load information, current on-demand traffic and / or current live traffic, and determine the number of nodes to be scheduled and the node scheduling method;
[0093] The service label management module 303 is adapted to perform service label management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling mode, so as to realize dynamic expansion and contraction of the edge nodes in the node cluster for serving the on-demand service and / or the live broadcast service.
[0094] Optionally, the service label management module is further adapted to: if the node scheduling method is dynamic expansion of edge nodes serving on-demand services and / or live broadcast services, then on-demand service labels and / or live broadcast service labels are allocated to the nodes to be scheduled corresponding to the node scheduling quantity, and the nodes to be scheduled allocated with on-demand service labels and / or live broadcast service labels are added to the node cluster, so that the edge nodes newly added to the node cluster can serve the on-demand service or live broadcast service.
[0095] Optionally, the service label management module is further suitable for: if the node scheduling method is dynamic scaling down of edge nodes serving on-demand services and / or live broadcast services, the on-demand service labels and / or live broadcast service labels of the nodes to be scheduled corresponding to the node scheduling quantity are removed, and other service labels are allocated to the nodes to be scheduled corresponding to the node scheduling quantity, so that the nodes to be scheduled can serve other services, wherein other services are services other than on-demand services and live broadcast services in live video or video on demand.
[0096] Optionally, the resource demand assessment module is further adapted to: for any edge node, obtain the edge node load by weighted calculation according to the node load information corresponding to the edge node;
[0097] Traffic estimation is performed based on the access period corresponding to the current time, the current on-demand traffic, and / or the current live broadcast traffic;
[0098] According to the traffic estimation results and the edge node load of each edge node, the resource demand is evaluated to determine the number of nodes to be scheduled and the node scheduling method.
[0099] Optionally, the device further includes: a judgment module, adapted to judge whether the edge node load is greater than or equal to a first preset node load threshold according to the node load information if the access period corresponding to the current time is a first access period; or, if the access period corresponding to the current time is a second access period, judge whether the edge node load is less than or equal to a second preset node load threshold according to the node load information;
[0100] The resource demand assessment module is further suitable for: if it is judged that the edge node load is greater than or equal to the first preset node load threshold; or, the edge node load is less than or equal to the second preset node load threshold, then the resource demand assessment is performed according to the node load information, the current on-demand traffic and / or the current live traffic to determine the node scheduling quantity and the node scheduling method.
[0101] Optionally, the device further includes: a sending module adapted to send the node information of the node to be scheduled and the managed service label to the scheduling service, so that the scheduling service distributes the corresponding service traffic to the node to be scheduled according to the managed service label.
[0102] The description of each module above refers to the corresponding description in the method embodiment and will not be repeated here.
[0103] According to the cluster node scheduling device provided by the embodiment of the present application, by obtaining the node load information reported by each edge node in the node cluster, the resource demand assessment is performed according to the node load information, the current on-demand traffic and / or the current live broadcast traffic, the node scheduling quantity and the node scheduling method are determined, and then, according to the node scheduling method, the service label management is performed on the nodes to be scheduled corresponding to the node scheduling quantity, so as to realize the dynamic expansion and contraction of the edge nodes in the node cluster used to serve the on-demand service and / or the live broadcast service. In this way, the number of edge nodes serving the on-demand service and / or the live broadcast service can be flexibly adjusted according to the actual business volume. If the load is high, the node cluster is expanded to ensure the high performance and stability of the service, thereby ensuring the user experience. If the load is low, the node cluster is reduced so that the edge node serves the remaining services, such as live screenshot, recording and other services, to maximize the utilization of machine resources, while reducing operating costs and improving the flexibility of the entire system.
[0104] An embodiment of the present application provides a non-volatile computer storage medium, which stores at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the cluster node scheduling method in any of the above method embodiments.
[0105] An embodiment of the present application provides a computer program product, which includes at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the cluster node scheduling method in any of the above method embodiments.
[0106] Figure 4 A schematic diagram of the structure of an embodiment of a computing device of the present application is shown. The specific embodiment of the present application does not limit the specific implementation of the computing device.
[0107] like Figure 4 As shown, the computing device may include: a processor (processor) 402 , a communications interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .
[0108] Wherein: the processor 402, the communication interface 404, and the memory 406 communicate with each other through the communication bus 408. The communication interface 404 is used to communicate with other devices such as a client or other server network elements. The processor 402 is used to execute the program 410, which can specifically execute the relevant steps in the above-mentioned cluster node scheduling method embodiment for computing devices.
[0109] Specifically, the program 410 may include program codes, which include computer operation instructions.
[0110] The processor 402 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0111] The memory 406 is used to store the program 410. The memory 406 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0112] The program 410 can be specifically used to enable the processor 402 to execute the cluster node scheduling method in any of the above-mentioned method embodiments. The specific implementation of each step in the program 410 can refer to the corresponding descriptions in the corresponding steps and units in the above-mentioned cluster node scheduling embodiments, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-mentioned devices and modules can refer to the corresponding process description in the above-mentioned method embodiments, which will not be repeated here.
[0113] The algorithm and display provided herein are not inherently related to any specific computer, virtual system or other equipment. Various general purpose systems can also be used together with the teachings based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages can be utilized to realize the content of the present application embodiment described herein, and the above description of specific languages is to disclose the best mode of implementation of the present application embodiment.
[0114] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0115] Similarly, it should be understood that in order to streamline the present disclosure and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the embodiments of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed embodiments of the present application require more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby explicitly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the embodiment of the present application.
[0116] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0117] In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the embodiments of the present application and to form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.
[0118] The various component embodiments of the embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components according to the embodiments of the present application. The embodiments of the present application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing part or all of the methods described herein. Such a program implementing the embodiments of the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
[0119] It should be noted that the above embodiments illustrate rather than limit the embodiments of the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets should not be constructed as a limitation to the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The embodiments of the present application may be implemented by means of hardware including several different elements and by means of appropriately programmed computers. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names.
Claims
1. A cluster node scheduling method, include: Obtain node load information reported by each edge node in the node cluster; Perform resource demand assessment based on the node load information, current on-demand traffic and / or current live broadcast traffic, and determine the number of nodes to be scheduled and the node scheduling method; According to the node scheduling method, service label management is performed on the nodes to be scheduled corresponding to the node scheduling quantity, so as to realize dynamic expansion and contraction of edge nodes in the node cluster for serving on-demand services and / or live broadcast services.
2. The method according to claim 1, in, If the node scheduling method is dynamic expansion of edge nodes serving on-demand services and / or live broadcast services, then performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling method further includes: Assign on-demand service labels and / or live service labels to the nodes to be scheduled corresponding to the node scheduling quantity, and add the nodes to be scheduled assigned with the on-demand service labels and / or live service labels to the node cluster, so that the edge nodes newly added to the node cluster can serve the on-demand service or the live service.
3. The method according to claim 1 or 2, in, If the node scheduling mode is dynamic scaling down of edge nodes serving the on-demand service and / or the live broadcast service, then performing service tag management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling mode further includes: The on-demand service label and / or live service label of the node to be scheduled corresponding to the node scheduling quantity is removed, and other service labels are allocated to the node to be scheduled corresponding to the node scheduling quantity, so that the node to be scheduled serves other services, wherein the other services are services other than on-demand service and live service in live video or video on demand.
4. The method according to any one of claims 1 to 3, in, The resource demand assessment based on the node load information, the current on-demand traffic and / or the current live broadcast traffic, and determining the node scheduling quantity and the node scheduling method further includes: For any edge node, the edge node load is obtained by weighted calculation according to the node load information corresponding to the edge node; Traffic estimation is performed based on the access period corresponding to the current time, the current on-demand traffic, and / or the current live broadcast traffic; According to the traffic estimation results and the edge node load of each edge node, the resource demand is evaluated to determine the number of nodes to be scheduled and the node scheduling method.
5. The method according to any one of claims 1 to 4, in, Before performing resource demand evaluation according to the node load information, the current on-demand traffic and / or the current live broadcast traffic and determining the node scheduling quantity and the node scheduling mode, the method further includes: If the access period corresponding to the current time is the first access period, judging whether the edge node load is greater than or equal to the first preset node load threshold according to the node load information; or, if the access period corresponding to the current time is the second access period, judging whether the edge node load is less than or equal to the second preset node load threshold according to the node load information; If so, a resource demand assessment is performed based on the node load information, current on-demand traffic and / or current live traffic to determine the number of nodes to be scheduled and the node scheduling method.
6. The method according to any one of claims 1 to 5, in, After performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling method, the method further includes: sending the node information of the nodes to be scheduled and the managed service labels to the scheduling service, so that the scheduling service distributes the corresponding service traffic to the nodes to be scheduled according to the managed service labels.
7. A cluster node scheduling device, include: An acquisition module, adapted to acquire node load information reported by each edge node in the node cluster; A resource demand assessment module, adapted to perform resource demand assessment according to the node load information, current on-demand traffic and / or current live broadcast traffic, and determine the number of nodes to be scheduled and the node scheduling method; The service label management module is suitable for performing service label management on the nodes to be scheduled corresponding to the node scheduling quantity according to the node scheduling mode, so as to realize dynamic expansion and contraction of edge nodes in the node cluster for serving on-demand services and / or live broadcast services.
8. A computing device, include: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the cluster node scheduling method according to any one of claims 1-6.
9. A computer storage medium, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the cluster node scheduling method according to any one of claims 1 to 6.
10. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to execute operations corresponding to the cluster node scheduling method according to any one of claims 1 to 6.
Citation Information
Cited By
Edge node access method, device, equipment and medium
CN119814786A
