A node scheduling method and related device

By matching the number of unloaded nodes and the maximum number of connections in node scheduling, and dynamically adding new nodes in combination with the incremental access number of access requests, the problem of poor node scheduling in the existing technology is solved, and more efficient resource utilization and live broadcast service capabilities are achieved.

CN115604242BActive Publication Date: 2025-05-16SHENZHEN ONETHING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211199496.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-29
Publication Date
2025-05-16
Estimated Expiration
2042-09-29

AI Technical Summary

Technical Problem

In the prior art, node scheduling cannot meet actual needs, resulting in waste of node resources and insufficient service capabilities.

Method used

By obtaining access requests, the remaining number of connections can be obtained based on the number of unloaded nodes in the node set and the maximum number of connections for each unloaded node. If the incremental access number of access requests is greater than the remaining number of connections, a new node is added to the node collection.

Benefits of technology

Improve the accuracy and effectiveness of node scheduling, avoid resource waste, and ensure the data transmission capability of live streams.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115604242B_ABST
    Figure CN115604242B_ABST
Patent Text Reader

Abstract

The present application discloses a node scheduling method, including: obtaining an access request; matching the number of nodes required by each user with the maximum number of connections as the goal based on the number of underloaded nodes in a node set and the maximum number of connections of each underloaded node, and obtaining the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request; if the incremental access number of the access request is greater than the remaining number of connections, adding a new node to the node set. This improves the accuracy of node scheduling and effectively provides data transmission capabilities for live streams. The present application also discloses a node scheduling device, equipment, and computer-readable storage medium, which have the above beneficial effects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of live broadcast scheduling, and in particular to a node scheduling method, a node scheduling device, equipment, and a computer-readable storage medium. Background Art

[0002] In the field of live broadcast technology, in order to reduce the cost of live broadcast services, CDN (Content Delivery Network) machine resources are usually used to distribute live broadcast data streams in order to improve resource utilization.

[0003] In the related art, in order to further reduce the cost of using CDN machine resources, nodes are scheduled when resources are tight or sufficient, so as to dynamically use node resources. However, the general process of scheduling nodes cannot meet actual needs, which reduces the effect of node scheduling and causes waste of node resources.

[0004] Therefore, how to improve the effect and accuracy of node scheduling and avoid resource waste or insufficient service capacity is a key issue that technicians in this field are concerned about. Summary of the invention

[0005] The purpose of the present application is to provide a node scheduling method, a node scheduling device, a device and a computer-readable storage medium to improve the accuracy of node scheduling and effectively provide data transmission capabilities for live streaming.

[0006] In order to solve the above technical problems, the present application provides a node scheduling method, including:

[0007] Get access request;

[0008] Based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, the number of nodes required by each user is matched with the maximum number of connections as the goal to obtain the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request;

[0009] If the incremental access number of the access request is greater than the remaining connectable number, a new node is added to the node set.

[0010] Optionally, based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, the number of nodes required by each user is matched with the maximum number of connections as a target to obtain the remaining number of connections, including:

[0011] If the number of the underloaded nodes is equal to the number of nodes required by the user, the smallest one among the maximum connection numbers of all the underloaded nodes is obtained and used as the remaining connectable number.

[0012] Optionally, based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, the number of nodes required by each user is matched with the maximum number of connections as a target to obtain the remaining number of connections, including:

[0013] If the number of the underloaded nodes is less than the number of nodes required by the user, the remaining number of connections is set to zero, and the number of nodes to be added is determined;

[0014] Accordingly, adding a new node to the node set includes:

[0015] New nodes are added to the node set based on the newly added number of nodes.

[0016] Optionally, based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, the number of nodes required by each user is matched with the maximum number of connections as a target to obtain the remaining number of connections, including:

[0017] If the number of the access requests is one, determining whether the number of the underloaded nodes is greater than the number of nodes required by the user;

[0018] If so, the smallest one among the maximum connection numbers of all the nodes that are not fully loaded is used as the remaining connectable number.

[0019] Optionally, adding a new node to the node set includes:

[0020] Sort all idle nodes in ascending order according to the delay data of each idle node to obtain a node quality list;

[0021] The first node in the node quality list is added to the node set.

[0022] Optionally, all idle nodes are sorted in ascending order according to the delay data of each idle node to obtain a node quality list, including:

[0023] Acquire delay data of each of the idle nodes; wherein the delay data includes at least one or more of propagation delay data, queuing delay data, and data processing delay data;

[0024] The idle nodes whose delay data are less than the preset delay are sorted in the order of delay data from small to large to obtain the node quality list.

[0025] Optionally, the process of obtaining the number of underloaded nodes includes:

[0026] Get the number of user connections and the maximum number of connections for each node;

[0027] Calculating a full load rate of each of the nodes based on the number of user connections and the maximum number of connections;

[0028] The nodes whose full load rate is less than the full load rate threshold are regarded as the underloaded nodes, and the number of the underloaded nodes is calculated.

[0029] The present application also provides a node scheduling device, including:

[0030] A request receiving module, used for obtaining access requests;

[0031] A service quantity determination module, configured to match the required number of nodes for each user with the maximum number of connections as a target based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, to obtain the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request;

[0032] The node adding module is used to add a new node to the node set if the incremental access number of the access request is greater than the remaining connectable number.

[0033] The present application also provides a device, comprising:

[0034] Memory for storing computer programs;

[0035] A processor is used to implement the steps of the node scheduling method as described above when executing the computer program.

[0036] The present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the node scheduling method described above are implemented.

[0037] A node scheduling method provided by the present application includes: obtaining an access request; matching the number of nodes required by each user with the maximum number of connections as the goal based on the number of underloaded nodes in a node set and the maximum number of connections of each of the underloaded nodes, to obtain the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request; if the incremental access number of the access request is greater than the remaining number of connections, adding a new node to the node set.

[0038] By matching the number of underloaded nodes in the node set corresponding to the access request and the maximum number of connections of each underloaded node with the maximum number of connections as the goal, the remaining connectable number of the node set, that is, the current maximum serviceable number of the node set, is obtained. Then, when the incremental access number of the access request is greater than the remaining connectable number, a new node is added to schedule the nodes based on the actual connection demand and the remaining number of connections, thereby improving the effect of node scheduling and avoiding waste of resources.

[0039] The present application also provides a node scheduling device, equipment and computer-readable storage medium, which have the above beneficial effects and are not specifically limited here. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0041] Figure 1 A flowchart of a node scheduling method provided in an embodiment of the present application;

[0042] Figure 2 A flowchart of another node scheduling method provided in an embodiment of the present application;

[0043] Figure 3 A flowchart of another node scheduling method provided in an embodiment of the present application;

[0044] Figure 4 A schematic diagram of a node adding process of a node scheduling method provided in an embodiment of the present application;

[0045] Figure 5 A schematic diagram of the structure of a node scheduling device provided in an embodiment of the present application;

[0046] Figure 6 A schematic diagram of the structure of a device provided in this application. DETAILED DESCRIPTION

[0047] The core of this application is to provide a node scheduling method, a node scheduling device, a device and a computer-readable storage medium to improve the accuracy of node scheduling and effectively provide data transmission capabilities for live streaming.

[0048] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0049] In the related art, in order to further reduce the cost of using CDN machine resources, nodes are scheduled when resources are tight or sufficient, so as to dynamically use node resources. However, the general process of scheduling nodes cannot meet actual needs, which reduces the effect of node scheduling and causes waste of node resources.

[0050] Therefore, the present application provides a node scheduling method, which matches the number of underloaded nodes in the node set corresponding to the access request and the maximum number of connections of each underloaded node with the maximum number of connections as the goal to obtain the remaining connectable number of the node set, that is, the current maximum serviceable number of the node set, and then adds a new node when the incremental access number of the access request is greater than the remaining connectable number, thereby scheduling the nodes based on the actual connection demand and the remaining number of connections, thereby improving the effect of node scheduling and avoiding waste of resources.

[0051] A node scheduling method provided by the present application is described below through an embodiment.

[0052] Please refer to Figure 1 , Figure 1 A flowchart of a node scheduling method provided in an embodiment of the present application.

[0053] In this embodiment, the method may include:

[0054] S101, obtaining an access request;

[0055] It can be seen that this step is intended to obtain an access request. The access request may be obtained by the server, the live broadcast system, or the node scheduling system. In other words, in this embodiment, the subject of node scheduling may be the server, the live broadcast system, or the node scheduling system.

[0056] The access request obtained is the request data of the user or client to access the live streaming data. Generally speaking, the access request can bring a single request or multiple requests to the server. In other words, the incremental access number corresponding to the access request is one or more.

[0057] S102, matching the number of nodes required by each user with the maximum number of connections as a target based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, to obtain the number of remaining connections; wherein the nodes in the node set correspond to the live stream of the access request;

[0058] Based on S101, this step aims to match the number of nodes required by each user with the maximum number of connections as the goal based on the number of nodes that are not fully loaded in the node set and the maximum number of connections of each node that is not fully loaded, and obtain the number of remaining connections. That is, determine the maximum number of connections that the node set can currently provide.

[0059] The live stream corresponding to the access request refers to the stream data of a live broadcast. Generally, in the field of live broadcast, the requirements for data delay and service quality are high, so the cost of server resources is high. In order to reduce the cost of server resources, CDN machine resources are used to distribute live stream resources.

[0060] Among them, all nodes in the node set correspond to a live stream, and one node can serve multiple node sets at the same time.

[0061] Among them, the node set refers to the set of nodes that perform the same live streaming task, which is a concept divided by technicians or experts. This set is only a virtual concept, not a physical restriction. Furthermore, based on the identification information input by the technician, the nodes corresponding to the identification information can be divided into the same node set. It is also possible to send identification information about the node set to each node, and the nodes that receive the same identification information form a node set. It is also possible to send node information about a node set to the server, and the server selects the corresponding node in the node pool based on the node information.

[0062] In addition, the concept of the node set can also be called a node bucket.

[0063] Each node in the node set has an upper limit on the number of connected users. If a certain percentage of the upper limit is not reached, the node is considered to be underloaded. For example, a node whose number of connected users does not reach 60% of the upper limit is considered to be underloaded.

[0064] Due to differences in performance and network, each node can connect to different numbers of users, that is, the maximum number of connections for each node is different. Therefore, matching needs to be performed based on the maximum number of connections.

[0065] The number of nodes required by each user means that when the user accesses the node set, it is not a single node that provides data services, but multiple nodes that provide services. The number of nodes required is the number of nodes required by each user. For example, the number of nodes required by each user can be 6 or 10. Further, the selection can be based on the specific application scenario or network situation, and is not specifically limited here.

[0066] The remaining connectable number refers to the number of users that can be connected or the number of requests that can be processed by the remaining nodes that are not fully loaded in the node when each user is fully connected. Full connection means that the user can connect to multiple nodes according to the required number of nodes. For example, if the required number of nodes for each user is 6, then the remaining connectable number is the maximum number of users that can be connected after each user connects to 6 nodes when the current node is not fully loaded.

[0067] It can be seen that the number of nodes in the node set can be scheduled to meet different request environments, that is, to increase the number of nodes in the node set or to reduce the number of nodes in the node set. Furthermore, in order to maintain the request processing capacity of the node set during node scheduling and reduce the waste of bucket resources, this embodiment schedules the nodes according to the current demand and maintains the processing capacity of the node set.

[0068] Furthermore, the access request may have different numbers of requests in different access environments, including: a single request and multiple requests.

[0069] When the access request is a single request, that is, the access request only brings a connection of one user. Therefore, the matching process is based on the case where the number of nodes that are not fully loaded is greater than the number of nodes required by the user, and the smallest one of the maximum number of connections in the nodes that are not fully loaded is used as the remaining number of connections. As long as the number of nodes that are not fully loaded is greater than the number of nodes required by the user, a single request in the access request can be connected to the node. Therefore, in order to facilitate the setting and cope with dynamically changing scenarios, the remaining number of connections can be directly set to the smallest one of the maximum number of connections.

[0070] When the access request is a multiple request, that is, there are multiple users who need to be connected or multiple connection requests that need to be processed, that is, when the incremental access number of the access request is multiple, the number of nodes in the node set corresponding to the live stream that are not fully loaded and the maximum number of connections of each not fully loaded node are matched with the number of nodes required by each user with the maximum number of connections as the goal to obtain the remaining number of connections. Because in the case of multiple requests, a certain not fully loaded node needs to connect to multiple users or process multiple requests. Therefore, in this case, as many remaining connections as possible are matched.

[0071] Furthermore, in this embodiment, the process of determining the number of underloaded nodes may include:

[0072] Step 1, obtain the number of user connections and the maximum number of connections for each node;

[0073] Step 2, calculating the full load rate of each node based on the number of user connections and the maximum number of connections;

[0074] Step 3: Nodes whose full load rate is less than the full load rate threshold are regarded as underloaded nodes, and the number of underloaded nodes is calculated.

[0075] It can be seen that this optional solution mainly explains how to determine the nodes that are not fully loaded based on the actual node conditions. In this optional solution, the number of user connections and the maximum number of connections of each node are obtained, and the full load rate of each node is calculated based on the number of user connections and the maximum number of connections. Among them, the number of user connections is the number of users currently connected to the node, and the maximum number of connections is the upper limit of the number of user connections of the node. Dividing the number of user connections by the maximum number of connections is the full load rate of the node. Finally, nodes whose full load rates are less than the full load rate threshold can be regarded as non-fully loaded nodes.

[0076] S103: If the incremental access number of the access request is greater than the remaining connectable number, a new node is added to the node set.

[0077] Based on S102, this step aims to add a new node to the node set if the incremental access number of the access request is greater than the remaining connectable number.

[0078] If the incremental access number of access requests is greater than the remaining connectable number, it means that the processing capacity of the remaining underloaded nodes in the current node set is limited, and new nodes need to be added to the node set.

[0079] Among them, adding can add a new node or add multiple new nodes. Furthermore, if the access request is a single request, only one new node needs to be added to effectively supplement the number of nodes in the node set and realize effective node scheduling. If the access request is a multiple request, only one node can be added, and then the new remaining connectable number can be re-matched to determine whether the incremental access number is greater than the remaining connectable number. If it is greater, continue to add a new node until the remaining connectable number is greater than the incremental access number. By adding nodes after continuous judgment, gradual addition can be achieved. Since the access volume is constantly changing, it can avoid wasting node resources by adding too many nodes at a time. It is also possible to determine the number of new nodes that need to be added based on the difference between the incremental access number and the remaining connectable number, and then add new nodes based on this number to improve the efficiency of node scheduling.

[0080] Among them, the new node can be obtained from the node pool. Furthermore, the nodes in the node pool can be sorted according to the performance or bandwidth quality of the node, and the node ranked first or ranked high can be used as the new node added in this embodiment. Among them, the performance sorting can be to evaluate the performance of each node, and then sort based on the evaluated value, and select the node with the largest value as the new node to be added. It can also be sorted based on the network performance of the node, and the network performance of each node is evaluated for delay and / or reliability, and the nodes are sorted based on the delay evaluation value and the reliability evaluation value, and the node with the lowest delay and / or the best reliability is used as the new node to be added.

[0081] Furthermore, if the incremental access number of the access request is less than or equal to the remaining connectable number, it means that the current node of the node set can provide services for the access request, and no node scheduling is required.

[0082] In summary, this embodiment matches the number of nodes required by each user with the maximum number of connections as the goal by matching the number of underloaded nodes in the node set corresponding to the access request and the maximum number of connections of each underloaded node, and obtains the remaining connectable number of the node set, that is, the current maximum serviceable number of the node set. Then, when the incremental access number of the access request is greater than the remaining connectable number, a new node is added to implement node scheduling based on actual connection demand and the remaining number of connections, thereby improving the effect of node scheduling and avoiding waste of resources.

[0083] The case where the access request is a single request is further described below through another specific embodiment.

[0084] Please refer to Figure 2 , Figure 2 A flowchart of another node scheduling method provided in an embodiment of the present application.

[0085] S201, obtaining an access request;

[0086] S202, if the number of access requests is one, determine whether the number of underloaded nodes is greater than the number of nodes required by the user;

[0087] S203: If yes, the smallest one among the maximum connection numbers of all nodes that are not fully loaded is used as the remaining connectable number;

[0088] S204: If the incremental access number of the access request is greater than the remaining connectable number, a new node is added to the node set node set.

[0089] When the access request is a single request, the incremental access number is 1. Therefore, as long as the number of nodes that are not fully loaded is greater than the number of nodes required by the user, the access request can be processed. When the number of nodes that are not fully loaded is less than the number of nodes required by the user, the access request cannot be met and a new node needs to be added.

[0090] It can be seen that through this embodiment, when the access request is a single request, it is efficient to judge whether the nodes in the current node set meet the requirements, and if not, new nodes are directly added, thereby improving the efficiency of node scheduling and effectively adjusting the processing performance of the node set.

[0091] The following further describes the situation where the access request is multiple requests through another specific embodiment.

[0092] Please refer to Figure 3 , Figure 3 A flowchart of another node scheduling method provided in an embodiment of the present application.

[0093] In this embodiment, the method may include:

[0094] S301, obtaining an access request;

[0095] S302, if the number of access requests is multiple, based on the number of underloaded nodes in the node set corresponding to the live stream of the access request and the maximum number of connections of each underloaded node, the number of nodes required by each user is matched with the maximum number of connections as the goal to obtain the remaining number of connections;

[0096] S303: If the incremental access number of the access request is greater than the remaining connectable number, a new node is added to the node set.

[0097] Among them, when the number of underloaded nodes is different from the number of nodes required by the user, there are different matching methods. When the number of underloaded nodes is equal to the number of nodes required by the user, the smallest one in the maximum connection number is used as the remaining number of connections. When the number of underloaded nodes is less than the number of nodes required by the user, it means that the current underloaded nodes cannot fully connect a user, and the remaining number of connections is zero. When the number of underloaded nodes is greater than the number of nodes required by the customer, it is necessary to match the number of nodes required by each user based on the number of underloaded nodes and the maximum number of connections of each underloaded node with the maximum number of connections as the goal to obtain the remaining number of connections.

[0098] Furthermore, S302 in this embodiment may include:

[0099] If the number of nodes that are not fully loaded is equal to the number of nodes required by the user, then the smallest of the maximum number of connections of all nodes that are not fully loaded is obtained and used as the number of remaining connections.

[0100] It can be seen that this optional solution describes how to set the remaining connectable number when the number of underloaded nodes is equal to the number of nodes required by the user, so as to quickly determine the number of nodes that can be connected at present.

[0101] Furthermore, S302 in this embodiment may include:

[0102] If the number of underloaded nodes is less than the number of nodes required by the user, the remaining number of connectable nodes is set to zero and the number of new nodes is determined;

[0103] Accordingly, add new nodes to the node collection node collection, including:

[0104] Add new nodes to the node collection based on the number of nodes added.

[0105] It can be seen that this optional solution mainly explains how to quickly add a suitable number of new nodes to the node set when the number of underloaded nodes is insufficient.

[0106] Furthermore, S302 in this embodiment may include:

[0107] Step 1: If the number of underloaded nodes is greater than the number of nodes required by the customer, the number of required nodes is matched based on some underloaded nodes of all underloaded nodes to obtain a first connectable number, a remaining number of connections of underloaded nodes, and unmatched underloaded nodes;

[0108] Step 2, cyclically executing the step of matching the number of demand nodes based on the remaining number of connections of the underloaded nodes and the unmatched underloaded nodes, to obtain the Nth connectable number;

[0109] Step 3: Add the first connectable number to the Nth connectable number to obtain the remaining connectable number.

[0110] It can be seen that this optional solution mainly explains how to determine the remaining connectable number when the number of underloaded nodes is greater than the number of nodes required by the customer. This optional solution mainly performs multiple matches on all remaining underloaded nodes based on the number of required nodes, and adds up the connectable numbers obtained from each match to obtain the final remaining connectable number.

[0111] Obviously, in this embodiment, by determining the corresponding remaining number of connections based on the number of different underloaded nodes in the case of multiple requests, the service capacity of the node set can be accurately determined to further effectively determine whether node scheduling is needed, thereby improving the effect and accuracy of node scheduling.

[0112] The following further describes the case where the access request is multiple requests through another specific embodiment.

[0113] Please refer to Figure 4 , Figure 4 A schematic diagram of the process of adding nodes in a node scheduling method provided in an embodiment of the present application.

[0114] In this embodiment, the process may include:

[0115] S401, sorting all idle nodes in ascending order according to the delay data of each idle node to obtain a node quality list;

[0116] S402, adding the first node in the node quality list to the node set.

[0117] It can be seen that in this optional solution, idle nodes are sorted mainly based on the delay data of all idle nodes in the node pool, and then the idle nodes with the best quality are selected for addition. The delay data may include at least one or more of propagation delay data, queuing delay data, and data processing delay data.

[0118] Further, S401 may include:

[0119] Step 1, obtaining delay data of each idle node; wherein the delay data includes at least one or more of propagation delay data, queuing delay data and data processing delay data;

[0120] Step 2: sort the idle nodes whose delay data is less than the preset delay in order of delay data from small to large to obtain a node quality list.

[0121] The method of obtaining the delay data for each idle node may be to conduct an experiment on the corresponding delay data of the node to determine the corresponding delay data. The experimental method may be to manually add a corresponding fluctuation environment to determine the good rate of received data. The delay fluctuation when the good rate decreases is the standard line for determining whether the delay of the node is good or bad.

[0122] It can be seen that this embodiment can effectively supplement the processing capacity of the node set by determining the best node from the idle nodes based on the delay data and adding it, avoid multiple subsequent node additions, and improve the efficiency of node scheduling.

[0123] The node scheduling device provided in an embodiment of the present application is introduced below. The node scheduling device described below and the node scheduling method described above can be referenced to each other.

[0124] Please refer to Figure 5 , Figure 5 A schematic diagram of the structure of a node scheduling device provided in an embodiment of the present application.

[0125] In this embodiment, the device may include:

[0126] A request receiving module 100, used to obtain an access request;

[0127] The service quantity determination module 200 is used to match the required number of nodes of each user with the maximum number of connections as the target based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, so as to obtain the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request;

[0128] The node adding module 300 is used to add a new node to the node set if the incremental access number of the access request is greater than the remaining connectable number.

[0129] Optionally, the service quantity determination module 200 is specifically used to obtain the smallest of the maximum connection numbers of all the underloaded nodes as the remaining connectable number if the number of underloaded nodes is equal to the number of nodes required by the user.

[0130] Optionally, the service quantity determination module 200 is specifically configured to set the remaining connectable number to zero and determine the number of newly added nodes if the number of underloaded nodes is less than the number of nodes required by the user;

[0131] Correspondingly, the node adding module 300 is specifically configured to add new nodes to the node set based on the number of newly added nodes.

[0132] Optionally, the service quantity determination module 200 is specifically used to determine whether the number of underloaded nodes is greater than the number of nodes required by the user if the number of access requests is one; if so, the smallest one of the maximum connection numbers of all underloaded nodes is used as the remaining connectable number.

[0133] Optionally, the node adding module 300 is specifically used to sort all idle nodes in ascending order according to the delay data of each idle node to obtain a node quality list; and add the first node in the node quality list to the node set.

[0134] Optionally, the node adding module 300 sorts all idle nodes in ascending order according to the delay data of each idle node to obtain a node quality list, including:

[0135] Obtain delay data of each idle node; wherein the delay data includes at least one or more of propagation delay data, queuing delay data and data processing delay data; sort the idle nodes whose delay data is less than the preset delay in order of delay data from small to large to obtain a node quality list.

[0136] Optionally, the process of obtaining the number of underloaded nodes in the service quantity determination module 200 includes:

[0137] The number of user connections and the maximum number of connections of each node are obtained; the full load rate of each node is calculated based on the number of user connections and the maximum number of connections; nodes whose full load rates are less than the full load rate threshold are regarded as underloaded nodes, and the number of underloaded nodes is calculated.

[0138] This application also provides a device, please refer to Figure 6 , Figure 6 A schematic diagram of a device provided in this application, which may include:

[0139] Memory for storing computer programs;

[0140] The processor is used to implement the steps of any one of the above-mentioned node scheduling methods when executing a computer program.

[0141] like Figure 6 , which is a schematic diagram of the composition structure of the device, the device may include: a processor 10, a memory 11, a communication interface 12 and a communication bus 13. The processor 10, the memory 11, and the communication interface 12 all communicate with each other through the communication bus 13.

[0142] In the embodiment of the present application, the processor 10 may be a central processing unit (CPU), an application specific integrated circuit, a digital signal processor, a field programmable gate array or other programmable logic devices, etc.

[0143] The processor 10 may call a program stored in the memory 11. Specifically, the processor 10 may execute operations in an embodiment of the abnormal IP identification method.

[0144] The memory 11 is used to store one or more programs, which may include program codes, and the program codes include computer operation instructions. In the embodiment of the present application, the memory 11 at least stores programs for implementing the following functions:

[0145] Get access request;

[0146] Based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, the number of nodes required by each user is matched with the maximum number of connections as the goal to obtain the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request;

[0147] If the incremental access number of the access request is greater than the remaining connectable number, a new node is added to the node set.

[0148] In a possible implementation, the memory 11 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function, etc.; the data storage area may store data created during use.

[0149] In addition, the memory 11 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device or other volatile solid-state storage device.

[0150] The communication interface 12 may be an interface of a communication module, and is used to connect to other devices or systems.

[0151] Of course, it should be noted that Figure 6 The structure shown does not constitute a limitation on the device in the embodiment of the present application. In actual applications, the device may include Figure 6 More or fewer components than shown, or combinations of certain components.

[0152] The present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned node scheduling methods can be implemented.

[0153] The computer-readable storage medium may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0154] For an introduction to the computer-readable storage medium provided in this application, please refer to the above method embodiment, and this application will not go into details here.

[0155] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.

[0156] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0157] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0158] The above is a detailed introduction to a node scheduling method, a node scheduling device, an equipment, and a computer-readable storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A node scheduling method, characterized in that: include: Get access request; If the number of access requests is multiple and the number of underloaded nodes is greater than the number of nodes required by the customer, the number of nodes required by each user is matched with the maximum number of connections as the goal based on the number of underloaded nodes in the node set and the maximum number of connections of each underloaded node, to obtain the remaining number of connections; wherein the nodes in the node set correspond to the live stream of the access request; If the incremental access number of the access request is greater than the remaining connectable number, a new node is added to the node set.

2. The node scheduling method according to claim 1, characterized in that: Also includes: If there are multiple access requests, and the number of the underloaded nodes is equal to the number of nodes required by the user, then the smallest one of the maximum connection numbers of all the underloaded nodes is obtained and used as the remaining connectable number.

3. The node scheduling method according to claim 1, characterized in that: Also includes: If the number of access requests is multiple, and the number of underloaded nodes is less than the number of nodes required by the user, the remaining number of connections is set to zero, and the number of newly added nodes is determined; Accordingly, adding a new node to the node set includes: New nodes are added to the node set based on the newly added number of nodes.

4. The node scheduling method according to claim 1, characterized in that: Also includes: If the number of the access requests is one, determining whether the number of the underloaded nodes is greater than the number of nodes required by the user; If so, the smallest one among the maximum connection numbers of all the nodes that are not fully loaded is used as the remaining connectable number.

5. The node scheduling method according to claim 1, characterized in that: Adding a new node to the node set includes: Sort all idle nodes in ascending order according to the delay data of each idle node to obtain a node quality list; The first node in the node quality list is added to the node set.

6. The node scheduling method according to claim 5, characterized in that: Sort all idle nodes in ascending order according to the latency data of each idle node to obtain a node quality list, including: Acquire delay data of each of the idle nodes; wherein the delay data includes at least one or more of propagation delay data, queuing delay data, and data processing delay data; The idle nodes whose delay data are less than the preset delay are sorted in the order of delay data from small to large to obtain the node quality list.

7. The node scheduling method according to claim 1, characterized in that: The process of obtaining the number of underloaded nodes includes: Get the number of user connections and the maximum number of connections for each node; Calculating a full load rate of each of the nodes based on the number of user connections and the maximum number of connections; The nodes whose full load rate is less than the full load rate threshold are regarded as the underloaded nodes, and the number of the underloaded nodes is calculated.

8. A node scheduling device, characterized in that: include: A request receiving module, used for obtaining access requests; A service quantity determination module, for, if the number of access requests is multiple and the number of underloaded nodes is greater than the number of nodes required by the client, matching the number of nodes required by each user with the maximum number of connections as the goal based on the number of underloaded nodes in the node set and the maximum number of connections of each of the underloaded nodes, to obtain the number of remaining connections; wherein the nodes in the node set correspond to the live stream of the access request; The node adding module is used to add a new node to the node set if the incremental access number of the access request is greater than the remaining connectable number.

9. A node scheduling device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the node scheduling method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the node scheduling method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • CDN edge node cross-machine scheduling method and system based on eBPF technology

    CN112968955A

  • Cluster-based server resource scheduling method and device, cloud platform and medium

    CN114756347A