Node scheduling method and device, computing equipment and storage medium
By analyzing the index scores of multiple dimensions, selecting the most matching candidate available nodes for scheduling, solving the problems of node scheduling efficiency and cost in CDN or PCDN, and achieving automated node selection and resource acquisition.
Patent Information
- Application Number
- CN202411390466.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2024-12-31
AI Technical Summary
In CDN or PCDN solutions, how to achieve effective scheduling of nodes while ensuring processing performance, reduce dependence on central servers and edge nodes, and reduce operational and bandwidth costs.
By receiving resource acquisition requests from user terminals, querying the list of available nodes and resource storage information, analyzing the indicator scores of multiple dimensions, including operators, regions and bandwidth dimensions, selecting the most matching candidate available nodes as target nodes, and performing automated scheduling.
It realizes conveniently determining candidate available nodes with target resources, and automatically selecting appropriate target nodes, improving node scheduling efficiency and user experience, and reducing operational and bandwidth costs.
Smart Images

Figure CN119232802A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of Internet technology, and specifically to a node scheduling method, apparatus, computing device, and storage medium. Background Art
[0002] In the existing live broadcast, video and other fields, CDN or PCDN solutions are usually used to carry a large number of users and back-to-source requests. Compared with CDN, PCDN can allow user terminal devices to act as cache and transmission nodes, reducing the dependence on central servers and edge nodes, and effectively reducing operating and bandwidth costs. In CDN or PCDN, how to achieve effective node scheduling while ensuring its processing performance has become an urgent problem to be solved. Summary of the invention
[0003] In view of the above problems, the present application is proposed to provide a node scheduling method, apparatus, computing device and storage medium that overcome the above problems or at least partially solve the above problems.
[0004] According to one aspect of an embodiment of the present application, a node scheduling method is provided, including:
[0005] Receiving a resource acquisition request sent by a user terminal, where the resource acquisition request is used to request to acquire a target resource;
[0006] Query the available node list and resource storage information of each node to determine the candidate available nodes storing the target resources; wherein the available node list records the node information of each available node;
[0007] Analyze the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list, and determine the matching scores of the candidate available nodes according to the index scores of the multiple dimensions;
[0008] According to the matching scores of the candidate available nodes, a target node is selected from the candidate available nodes, so that the user terminal can obtain the target resource through the target node.
[0009] Furthermore, querying the available node list and resource storage information of each node to determine the candidate available node storing the target resource further includes:
[0010] Query the resource storage information of each node to determine the primary node that stores the target resource;
[0011] The node working status of the preliminary selected nodes is queried from the available node list, and the preliminary selected nodes whose node working status is in an available state are determined as candidate available nodes.
[0012] Furthermore, the node information includes: node operator information, node type, preset local area processing ratio and node expected utilization rate.
[0013] Furthermore, according to the node information of the candidate available nodes in the available node list, analyzing the index scores of multiple dimensions of the candidate available nodes further includes:
[0014] According to the node operator information in the node information of each candidate available node in the available node list, analyzing the operator matching index score between the candidate available node and the user terminal under the operator dimension;
[0015] According to the node type in the node information of each candidate available node in the available node list and the preset local processing ratio, analyzing the regional matching index score between the candidate available node and the user terminal in the regional dimension;
[0016] According to the node expected utilization rate in the node information of each candidate available node in the available node list, the bandwidth index score of the candidate available node under the bandwidth dimension is analyzed.
[0017] Further, according to the node type in the node information of each candidate available node in the available node list and the preset local processing ratio, analyzing the regional matching index score between the candidate available node and the user terminal under the regional dimension further includes:
[0018] Calculating the proximity between the region number of the candidate available node and the region number of the user terminal, and determining whether the user is a user in the region to which the candidate available node belongs based on the proximity;
[0019] If the node type is a node covered by the region and the user is a user in the region to which the candidate available node belongs, the preset regional matching maximum value is used as the regional matching index score;
[0020] If the node type is a local coverage node and the user is not a user in the region to which the candidate available node belongs, determine whether the current local processing ratio of the candidate available node reaches the preset local processing ratio;
[0021] If the preset local processing ratio is reached, the preset regional matching maximum value is used as the regional matching index score; if the preset local processing ratio is not reached, scheduling of the candidate available node is prohibited;
[0022] If the node type is other node, the regional matching index score is determined based on the proximity.
[0023] Further, according to the node expected utilization rate in the node information of each candidate available node in the available node list, analyzing the bandwidth index score of the candidate available node under the bandwidth dimension further includes:
[0024] Obtain the total available node bandwidth and current outbound bandwidth of the candidate available node;
[0025] The bandwidth index score of the candidate available node in the bandwidth dimension is calculated based on the total available bandwidth of the node, the current outbound bandwidth, the bandwidth base coefficient, and the expected utilization of the node.
[0026] Furthermore, the method further comprises:
[0027] Update the list of available nodes based on node registration, deletion, and offline status.
[0028] According to another aspect of an embodiment of the present application, a node scheduling device is provided, including:
[0029] A receiving module, adapted to receive a resource acquisition request sent by a user terminal, where the resource acquisition request is used to request acquisition of a target resource;
[0030] A determination module, adapted to query the available node list and resource storage information of each node, and determine the candidate available node storing the target resource; wherein the available node list records the node information of each available node;
[0031] A matching module, adapted to analyze the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list, and determine the matching scores of the candidate available nodes according to the index scores of the multiple dimensions;
[0032] The selection module is adapted to select a target node from the candidate available nodes according to the matching scores of the candidate available nodes, so that the user terminal can obtain the target resource through the target node.
[0033] 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;
[0034] 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 node scheduling method.
[0035] 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 node scheduling method.
[0036] According to another aspect of an embodiment 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 node scheduling method.
[0037] According to the node scheduling method, apparatus, computing device and storage medium provided in the embodiments of the present application, node information such as node operator information, node type, preset local processing ratio and expected node utilization rate of each available node is recorded in the available node list. By querying the available node list and the resource storage information of each node, the candidate available nodes storing the target resources can be conveniently determined; according to the node information of the candidate available nodes in the available node list, the index scores of multiple dimensions of the candidate available nodes are analyzed, and then the matching scores of the candidate available nodes are determined. The matching scores fully integrate the index scores of multiple dimensions, and can more comprehensively reflect whether the candidate available nodes are suitable for scheduling to the user terminal, can select suitable target nodes for users, and automatically realize the effective scheduling of nodes.
[0038] 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
[0039] 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:
[0040] Figure 1 A schematic diagram of a node scheduling method according to an embodiment of the present application is shown;
[0041] Figure 2a A schematic diagram showing a flow chart of a node scheduling method according to another embodiment of the present application is shown;
[0042] Figure 2b A schematic diagram of the architecture of the node scheduling method is shown;
[0043] Figure 3 A structural block diagram of a node scheduling device according to an embodiment of the present application is shown;
[0044] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0045] 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.
[0046] First, the terms involved in one or more embodiments of the present application are explained.
[0047] CDN: Content Delivery Network is a new type of content service system based on IP network. By deploying nodes at the edge of the network, the static resources of the website are cached on edge nodes closer to the user, thereby improving user access speed, reducing bandwidth consumption, and increasing concurrent capacity. The CDN distribution system is usually a tree-like structure that relies on layering and port reuse to improve the load capacity of the entire system.
[0048] PCDN: Private Content Delivery Network is a hybrid architecture that combines P2P and CDN. In addition to CDN's edge servers, PCDN also allows user terminal devices to act as cache and transmission nodes, so it has a stronger decentralized nature. Users can get content from other user devices (neighboring "nodes"). PCDN can reduce dependence on central servers and edge nodes and use user terminal devices for distribution, so it can reduce operating and bandwidth costs. By reducing server investment and bandwidth consumption, PCDN is more cost-effective than traditional CDN, especially in scenarios with large content delivery volumes or wide regional distribution.
[0049] Figure 1 A schematic diagram of a node scheduling method according to an embodiment of the present application is shown. Figure 1 As shown, the method comprises the following steps:
[0050] Step S101: receiving a resource acquisition request sent by a user terminal.
[0051] In live broadcast, video and other scenarios based on content distribution technologies such as CDN or PCDN, when a user wants to obtain a target resource (such as live broadcast data, on-demand data, etc.), the user can send a resource acquisition request to the node scheduling service through the user terminal. The resource acquisition request is used to request to obtain the target resource. The resource acquisition request may include the target resource identifier, user identifier, user terminal information, request time, etc.
[0052] Step S102: query the available node list and the resource storage information of each node to determine the candidate available nodes storing the target resource.
[0053] The available node list records the node information of each available node, and can be updated according to the registration, deletion, and offline of the node. In order to facilitate node scheduling, each node can regularly traverse the resources stored on its disk to obtain resource storage information, which is used to record which resources the node stores; each node regularly synchronizes its resource storage information to the node scheduling service, so that the node scheduling service can know which resources are stored on each node.
[0054] After receiving the resource acquisition request sent by the user terminal, the node scheduling service queries the available node list and the resource storage information of each node to determine the candidate available nodes. The candidate available nodes refer to the nodes that store the target resources and whose node working status is in an available state.
[0055] Step S103 , analyzing the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list, and determining the matching scores of the candidate available nodes according to the index scores of the multiple dimensions.
[0056] Among them, the node information of each available node is recorded in the available node list. The node information may include information such as node operator information, node type, preset local area processing ratio, and node expected utilization rate. Specifically, the node operator information is used to indicate the operator to which the node belongs; the node type is used to indicate whether the node is a local coverage node or other node, wherein the local coverage node refers to a node with a local processing ratio requirement; the preset local processing ratio refers to the ratio of user requests in a certain area required by operators, etc. to be processed by local coverage nodes in the area, such as the local rate, etc. This performance indicator can directly affect the efficiency of content distribution, network transmission delay and user experience; the node expected utilization rate refers to the node utilization rate expected by manufacturers, etc.
[0057] In step S103, the index score of the corresponding dimension of each candidate available node can be analyzed from multiple dimensions such as operator dimension, region dimension, bandwidth dimension, etc. according to the node information of each candidate available node, and then the matching score of the candidate available node can be determined according to the index scores of multiple dimensions. For example, the index scores of multiple dimensions can be calculated according to a preset fusion formula to obtain the matching score of the candidate available node.
[0058] Step S104: selecting a target node from the candidate available nodes according to the matching scores of the candidate available nodes, so that the user terminal can obtain the target resource through the target node.
[0059] After obtaining the matching scores of each candidate available node, the candidate available nodes can be sorted in descending order according to the matching scores, and the candidate available nodes with the highest rankings are used as target nodes. The node information of the target nodes is returned to the user terminal, so that the user terminal can access the target node according to the node information of the target node and obtain the target resources from the target node.
[0060] According to the node scheduling method provided in the embodiment of the present application, node information such as node operator information, node type, preset local processing ratio and node expected utilization rate of each available node is recorded in the available node list. By querying the available node list and the resource storage information of each node, the candidate available nodes storing the target resources can be conveniently determined; according to the node information of the candidate available nodes in the available node list, the index scores of multiple dimensions of the candidate available nodes are analyzed, and then the matching scores of the candidate available nodes are determined. The matching scores fully integrate the index scores of multiple dimensions, and can more comprehensively reflect whether the candidate available nodes are suitable for scheduling to the user terminal, can select suitable target nodes for users, and automatically realize the effective scheduling of nodes.
[0061] Figure 2a A schematic diagram of a node scheduling method according to another embodiment of the present application is shown. Figure 2a As shown, the method comprises the following steps:
[0062] Step S201: receiving a resource acquisition request sent by a user terminal.
[0063] Figure 2b A schematic diagram of the architecture of the node scheduling method is shown, Figure 2b As shown, taking the live broadcast, video and other scenarios built based on PCDN as an example, it includes node management service, node scheduling service and resource push service. Among them, the available node list is updated according to the registration, deletion and offline status of the node, and the available node list records the node information of each available node. Specifically, each time the manufacturer adds a batch of nodes, it is necessary to register the nodes with the node management service and update the available node list; the node scheduling service can regularly pull the latest available node list from the node management service; when the manufacturer wants to eliminate the node, it needs to delete the node to be eliminated from the node management service; when the node is abnormally offline, the node management service can perceive and update the node working status in time.
[0064] Moreover, in the process of the manufacturer registering the node with the node management service, the embodiment of the present application adds multiple fields to the available node list, and the node type, the preset local processing ratio and the expected utilization rate of the node are recorded through the above fields. In practical applications, the node type can be marked by the sched field, and the node type includes local coverage nodes and other nodes. For example, if the field content of the sched field is province, it means that the node is a local coverage node, and if the field content of the sched field is other, it means that the node is other nodes; the preset local processing ratio required by the operator, etc. is recorded for the local coverage node through the sched_percent field. For example, when the preset local processing ratio of a local coverage node is 70%, it means that 70% of the traffic on the local coverage node must be accessed by users in the same region as the local coverage node; when the preset local processing ratio changes according to the requirements of the operator, etc., the node management service can perceive it in real time and synchronize it to the node scheduling service; the expected utilization rate of the node is recorded through the utilization field.
[0065] The resource push service pushes different resources (such as resource shards, etc.) to each PCDN node according to a certain algorithm. In order to facilitate node scheduling, resource registration is also performed, such as Figure 2b As shown, each PCDN node can periodically traverse the resources stored on its disk, obtain resource storage information, and periodically synchronize the resource storage information to the node scheduling service, so that the node scheduling service can know which resources are stored on each PCDN node. When a user wants to obtain a certain target resource (such as live data, on-demand data, etc.), the user can send a resource acquisition request to the node scheduling service through the user terminal. The resource acquisition request is used to request to obtain the target resource.
[0066] Step S202: query the available node list and the resource storage information of each node to determine the candidate available nodes storing the target resource.
[0067] After the node scheduling service receives the resource acquisition request sent by the user terminal, the node scheduling service queries the resource storage information of each node to determine the preliminary nodes that store the target resources, that is, to determine on which nodes the target resources requested by the user are stored. Taking into account the situation that there may be nodes in the preliminary nodes that have been deleted or offline, in the embodiment of the present application, a list of available nodes is also combined to further screen out candidate available nodes from the preliminary nodes. For example, the node working status of the preliminary nodes is queried from the list of available nodes, and the preliminary nodes whose node working status is in an available state are determined as candidate available nodes, thereby ensuring that the candidate available nodes not only store the target resources requested by the user, but are also in an available state and can provide services to the user terminal.
[0068] When analyzing each candidate available node, the node scheduling service can combine the indicator data of multiple dimensions such as the operator dimension, the region dimension, and the bandwidth dimension, and quantify and score the indicator data to obtain the indicator score of the candidate available node in the corresponding dimension, and finally determine the matching score of each candidate available node based on the indicator scores of multiple dimensions. Specifically, this can be implemented through steps S203 to S206.
[0069] Step S203: Analyze the operator matching index score between the candidate available node and the user terminal in the operator dimension according to the node operator information in the node information of each candidate available node in the available node list.
[0070] Specifically, the operator information of the user terminal is obtained, and the node operator information in the node information of each candidate available node is queried from the available node list; for each candidate available node, it is determined whether the operator information of the user terminal is the same as the node operator information of the candidate available node; if they are the same, it means that the user terminal and the candidate available node belong to the same operator, and the operator matching index score between the candidate available node and the user terminal can be set to a higher score, such as 10 points; if they are different, it means that the user terminal and the candidate available node belong to different operators, and the operator matching index score between the candidate available node and the user terminal can be set to a lower score, such as 1 point.
[0071] Step S204: Analyze the regional matching index score between the candidate available node and the user terminal in the regional dimension according to the node type in the node information of each candidate available node in the available node list and the preset local processing ratio.
[0072] For the regional dimension, the proximity between the region where the candidate available node is located and the region where the user terminal is located can be calculated based on the region number, so as to obtain the regional matching index score between the candidate available node and the user terminal under the regional dimension.
[0073] Since the local coverage node has a local processing ratio requirement, it is required to reach the preset local processing ratio, that is, most of the access users must be in the same region as the node. Therefore, for users in the local area, the regional matching index score between the local coverage node and the user terminal can be set to the preset regional matching maximum value by default. The user type dispatched by the local coverage node must be recorded each time. For each local coverage node, the following structure can be recorded:
[0074] ProvinceTrafficControl
[0075] provinceCount:1, / / Add 1 for each dispatch to a user in the local area
[0076] globalCount:1, / / Add 1 each time a dispatch is made to a user outside the local area
[0077] sched_percent:sched_percent,
[0078] }
[0079] Specifically, the proximity between the area number of the candidate available node and the area number of the user terminal is calculated, and whether the user is a user in the area to which the candidate available node belongs is determined based on the proximity. For example, it is determined whether the proximity is greater than a preset threshold. Those skilled in the art can set the preset threshold according to actual needs, and no specific limitation is made here; if the proximity is greater than the preset threshold, it is determined that the user is a user in the area to which the candidate available node belongs; if the proximity is less than or equal to the preset threshold, it is determined that the user is not a user in the area to which the candidate available node belongs.
[0080] If the node type of the candidate available node is a node covered in the region and the user is a user in the region to which the candidate available node belongs, the preset regional matching maximum value is used as the regional matching index score.
[0081] If the node type of the candidate available node is a local coverage node and the user is not a user in the region to which the candidate available node belongs, in this case, the preset local processing ratio configured in the sched_percent field of the candidate available node in the available node list can be used to calculate whether its current local processing ratio meets the requirements. Among them, the current local processing ratio = provinceCount / (provinceCount+globalCount), provinceCount represents the number of users in the local region to which the node is scheduled, and globalCount represents the number of users outside the local region to which the node is scheduled.
[0082] After calculating the current local processing ratio of the candidate available node, determine whether the current local processing ratio of the candidate available node reaches the preset local processing ratio; if it reaches the preset local processing ratio, the preset regional matching maximum value can be used as the regional matching index score; if it does not reach the preset local processing ratio, scheduling of the candidate available node is prohibited, for example, scheduling of the candidate available node can be prohibited by setting the regional matching index score to 0 or a negative number.
[0083] If the node type of the candidate available node is other nodes, that is, the candidate available node is not a node covered by the local area and does not meet the local area processing ratio requirement, the regional matching index score can be determined based on the proximity. For example, a calculation method between the proximity and the regional matching index score can be preset, and when the node type of the candidate available node is other nodes, the regional matching index score is determined based on the calculation method.
[0084] Step S205 , analyzing the bandwidth index score of each candidate available node in the available node list in the bandwidth dimension according to the node expected utilization rate in the node information of the candidate available node.
[0085] Considering that the local coverage node may reject some users due to the limitation of its preset local processing ratio, resulting in less traffic and thus lower utilization rate of the node after it goes online. In the embodiment of the present application, the node expected utilization rate is introduced into the calculation process of the bandwidth index score of the candidate available node under the bandwidth dimension.
[0086] Specifically, the total available node bandwidth and current outbound bandwidth of the candidate available node are obtained; based on the total available node bandwidth, the current outbound bandwidth, the bandwidth basic coefficient and the expected node utilization, the bandwidth index score of the candidate available node under the bandwidth dimension is calculated. Those skilled in the art may set the bandwidth basic coefficient according to actual needs, and no specific limitation is made here. Among them, bandwidth index score = (total available node bandwidth - current outbound bandwidth) * bandwidth basic coefficient * expected node utilization. It can be seen from the above formula that the more available bandwidth the candidate available node has, the greater its bandwidth index score.
[0087] Step S206, determining the matching score of each candidate available node according to the operator matching index score, the region matching index score and the bandwidth index score of the candidate available node.
[0088] For each candidate available node, the operator matching index score, regional matching index score and bandwidth index score of the candidate available node can be fused and calculated to obtain the matching score of the candidate available node. Assume that the preset fusion formula is:
[0089] Matching score = operator matching index score * region matching index score * bandwidth index score;
[0090] Substituting the operator matching index score, regional matching index score and bandwidth index score of the candidate available node into the above preset fusion formula, the matching score of the candidate available node can be easily obtained. Through the above processing method, the final matching score of this application fully integrates the index scores of multiple dimensions, which can more comprehensively reflect whether the candidate available node is suitable for scheduling to the user terminal.
[0091] Step S207: selecting a target node from the candidate available nodes according to the matching scores of the candidate available nodes.
[0092] After obtaining the matching scores of each candidate available node, a candidate available node with a higher matching score can be selected as the target node according to the matching scores of the candidate available nodes. Specifically, each candidate available node can be sorted in descending order according to the matching scores, and the candidate available node with the highest ranking can be used as the target node, and the node information of the target node can be returned to the user terminal, so that the user terminal can access the target node according to the node information of the target node and obtain the target resource from the target node.
[0093] In the embodiment of the present application, the node type, the preset local processing ratio and the node expected utilization are added as node information to the list of available nodes. For the nodes covered in the local area, the manufacturer only needs to register with the node management service as required. The node scheduling service will automatically identify whether it is a node covered in the local area or other nodes based on the node information and adjust the scheduling strategy adaptively. In addition, when the operator policy of a certain region is adjusted, the manufacturer only needs to modify the value of the registered preset local processing ratio; when the node utilization rate does not meet expectations, the manufacturer only needs to modify the value of the node expected utilization rate; the node management service will update the list of available nodes according to the modification operation, and the node scheduling service will automatically adapt according to the node information recorded in the list of available nodes, and adaptively adjust the scheduling strategy without manual participation, thus realizing the automatic online and scheduling of the nodes covered in the local area.
[0094] According to the node scheduling method provided in the embodiment of the present application, in the process of the manufacturer registering the node with the node management service, multiple fields are added to the available node list, and the node type, preset local processing ratio and node expected utilization rate of the node are recorded through the above fields, thereby realizing effective marking of the nodes covered in the local area, and facilitating personalized configuration of the preset local processing ratio and node expected utilization rate for different regions, different operators and different manufacturers; by querying the available node list and the resource storage information of each node, the candidate available nodes storing the target resources can be conveniently determined; when analyzing each candidate available node, the indicator data of multiple dimensions such as the operator dimension, the regional dimension and the bandwidth dimension are fully combined, and the indicator data is quantified and scored to obtain each candidate available node. Based on the indicator scores of the corresponding dimensions, the matching scores of each candidate available node are finally determined according to the indicator scores of multiple dimensions. The matching scores can more comprehensively reflect whether the candidate available nodes are suitable for scheduling to the user terminals, and can select suitable target nodes for users, thereby automatically realizing effective scheduling of nodes. Moreover, when the regional operator policy is adjusted, the manufacturer only needs to modify the registered preset processing ratio value of the local area. When the node utilization rate does not meet expectations, the manufacturer only needs to modify the expected node utilization rate. The available node list can be automatically updated according to the modification operation, and the node scheduling service can adaptively adjust the scheduling strategy according to the node information recorded in the available node list without manual intervention, thus realizing the automatic online and scheduling of the nodes covered in the local area.
[0095] Figure 3 A structural block diagram of a node scheduling device according to an embodiment of the present application is shown. Figure 3 As shown, the device includes: a receiving module 310, a determining module 320, a matching module 330 and a selecting module 340.
[0096] The receiving module 310 is adapted to: receive a resource acquisition request sent by a user terminal, where the resource acquisition request is used to request to acquire a target resource;
[0097] The determination module 320 is adapted to: query the available node list and resource storage information of each node to determine the candidate available node storing the target resource; wherein the available node list records the node information of each available node;
[0098] The matching module 330 is adapted to: analyze the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list, and determine the matching scores of the candidate available nodes according to the index scores of the multiple dimensions;
[0099] The selection module 340 is adapted to select a target node from the candidate available nodes according to the matching scores of the candidate available nodes, so that the user terminal can obtain the target resource through the target node.
[0100] Optionally, the determination module 320 is further adapted to: query resource storage information of each node to determine a preliminary node storing target resources; query the node working status of the preliminary node from the available node list, and determine the preliminary node whose node working status is in an available state as a candidate available node.
[0101] Optionally, the node information includes: node operator information, node type, preset local area processing ratio, and node expected utilization rate.
[0102] Optionally, the matching module 330 is further adapted to: analyze the operator matching index score between the candidate available node and the user terminal in the operator dimension according to the node operator information in the node information of each candidate available node in the available node list; analyze the regional matching index score between the candidate available node and the user terminal in the regional dimension according to the node type and the preset local processing ratio in the node information of each candidate available node in the available node list; analyze the bandwidth index score of the candidate available node in the bandwidth dimension according to the node expected utilization in the node information of each candidate available node in the available node list.
[0103] Optionally, the matching module 330 is further adapted to: calculate the proximity between the regional number of the candidate available node and the regional number of the user terminal, and determine whether the user is a user within the region to which the candidate available node belongs based on the proximity; if the node type is a local coverage node and the user is a user within the region to which the candidate available node belongs, then use the preset regional matching maximum value as the regional matching index score; if the node type is a local coverage node and the user is not a user within the region to which the candidate available node belongs, determine whether the current local processing ratio of the candidate available node reaches a preset local processing ratio; if the preset local processing ratio is reached, then use the preset regional matching maximum value as the regional matching index score; if the preset local processing ratio is not reached, scheduling the candidate available node is prohibited; if the node type is other nodes, determine the regional matching index score based on the proximity.
[0104] Optionally, the matching module 330 is further adapted to: obtain the total available node bandwidth and current outbound bandwidth of the candidate available node; and calculate the bandwidth index score of the candidate available node in the bandwidth dimension based on the total available node bandwidth, current outbound bandwidth, bandwidth base coefficient and node expected utilization.
[0105] Optionally, the device is further adapted to update the available node list according to the registration, deletion and offline status of the node.
[0106] The description of each module above refers to the corresponding description in the method embodiment and will not be repeated here.
[0107] According to the node scheduling device provided in the embodiment of the present application, in the process of the manufacturer registering the node with the node management service, multiple fields are added to the available node list, and the node type, preset local processing ratio and node expected utilization rate of the node are recorded through the above fields, thereby realizing effective marking of the nodes covered in the local area, and facilitating personalized configuration of the preset local processing ratio and node expected utilization rate for different regions, different operators and different manufacturers; by querying the available node list and the resource storage information of each node, the candidate available nodes storing the target resources can be conveniently determined; when analyzing each candidate available node, the indicator data of multiple dimensions such as the operator dimension, the regional dimension and the bandwidth dimension are fully combined, and the indicator data is quantified and scored to obtain each candidate available node. Based on the indicator scores of the corresponding dimensions, the matching scores of each candidate available node are finally determined according to the indicator scores of multiple dimensions. The matching scores can more comprehensively reflect whether the candidate available nodes are suitable for scheduling to the user terminals, and can select suitable target nodes for users, thereby automatically realizing effective scheduling of nodes. Moreover, when the regional operator policy is adjusted, the manufacturer only needs to modify the registered preset processing ratio value of the local area. When the node utilization rate does not meet expectations, the manufacturer only needs to modify the expected node utilization rate. The available node list can be automatically updated according to the modification operation, and the node scheduling service can adaptively adjust the scheduling strategy according to the node information recorded in the available node list without manual intervention, thus realizing the automatic online and scheduling of the nodes covered in the local area.
[0108] 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 node scheduling method in any of the above method embodiments.
[0109] 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 node scheduling method in any of the above method embodiments.
[0110] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. The specific embodiment of the present application does not limit the specific implementation of the computing device.
[0111] 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 .
[0112] The processor 402, the communication interface 404, and the memory 406 communicate with each other via 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 node scheduling method embodiment for computing devices.
[0113] Specifically, the program 410 may include program codes, which include computer operation instructions.
[0114] 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.
[0115] 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.
[0116] The program 410 can be specifically used to enable the processor 402 to execute the node scheduling method in any of the above method embodiments. The specific implementation of each step in the program 410 can refer to the corresponding description in the corresponding steps and units in the above node scheduling embodiment, 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-described devices and modules can refer to the corresponding process description in the above method embodiments, which will not be repeated here.
[0117] 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.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] 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.
[0122] 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.
[0123] 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 node scheduling method, comprising: Receiving a resource acquisition request sent by a user terminal, wherein the resource acquisition request is used to request to acquire a target resource; Querying the available node list and resource storage information of each node to determine the candidate available node storing the target resource; wherein the available node list records the node information of each available node; Analyzing the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list, and determining the matching scores of the candidate available nodes according to the index scores of the multiple dimensions; A target node is selected from the candidate available nodes according to the matching scores of the candidate available nodes, so that the user terminal can obtain the target resource through the target node.
2. According to the method of claim 1, the querying of the available node list and the resource storage information of each node to determine the candidate available node storing the target resource further comprises: Query the resource storage information of each node to determine the primary node storing the target resource; The node working status of the preliminary selected node is queried from the available node list, and the preliminary selected node whose node working status is in an available state is determined as the candidate available node.
3. The method according to claim 1, wherein the node information comprises: Node operator information, node type, expected local processing ratio, and expected utilization of the node.
4. According to the method according to any one of claims 1 to 3, analyzing the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list further comprises: Analyzing, according to the node operator information in the node information of each candidate available node in the available node list, an operator matching index score between the candidate available node and the user terminal under the operator dimension; Analyzing the regional matching index score between the candidate available node and the user terminal in the regional dimension according to the node type in the node information of each candidate available node in the available node list and the preset local processing ratio; According to the node expected utilization rate in the node information of each candidate available node in the available node list, the bandwidth index score of the candidate available node in the bandwidth dimension is analyzed.
5. The method according to claim 4, wherein the analyzing the regional matching index score between the candidate available node and the user terminal in the regional dimension according to the node type in the node information of each candidate available node in the available node list and the preset local processing ratio further comprises: Calculating the proximity between the region number of the candidate available node and the region number of the user terminal, and determining whether the user is a user in the region to which the candidate available node belongs according to the proximity; If the node type is a node covered in the local area and the user is a user in the area to which the candidate available node belongs, the preset regional matching maximum value is used as the regional matching index score; If the node type is a local coverage node and the user is not a user in the region to which the candidate available node belongs, determining whether the current local processing ratio of the candidate available node reaches the preset local processing ratio; If the preset local processing ratio is reached, the preset regional matching maximum value is used as the regional matching index score; if the preset local processing ratio is not reached, scheduling of the candidate available node is prohibited; If the node type is other nodes, the regional matching index score is determined according to the proximity.
6. The method according to claim 4, wherein analyzing the bandwidth index score of each candidate available node in the available node list under the bandwidth dimension according to the node expected utilization rate in the node information of the candidate available node further comprises: Obtain the total available node bandwidth and current outbound bandwidth of the candidate available node; The bandwidth index score of the candidate available node in the bandwidth dimension is calculated according to the total available bandwidth of the node, the current outgoing bandwidth, the bandwidth basic coefficient and the expected utilization rate of the node.
7. The method according to any one of claims 1 to 6, further comprising: The available node list is updated according to the registration, deletion and offline status of the node.
8. A node scheduling device, comprising: A receiving module, adapted to receive a resource acquisition request sent by a user terminal, wherein the resource acquisition request is used to request acquisition of a target resource; A determination module, adapted to query the available node list and resource storage information of each node, and determine the candidate available node storing the target resource; wherein the available node list records the node information of each available node; A matching module, adapted to analyze the index scores of multiple dimensions of the candidate available nodes according to the node information of the candidate available nodes in the available node list, and determine the matching scores of the candidate available nodes according to the index scores of the multiple dimensions; The selection module is adapted to select a target node from the candidate available nodes according to the matching scores of the candidate available nodes, so that the user terminal can obtain the target resource through the target node.
9. A computing device comprising: 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 node scheduling method according to any one of claims 1 to 7.
10. 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 node scheduling method according to any one of claims 1 to 7.
11. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to execute operations corresponding to the node scheduling method according to any one of claims 1 to 7.