Resource scheduling method and system

By dividing edge cloud resource domains in edge cloud and querying target edge nodes, the efficiency of user resource scheduling needs in cloud services is solved, and flexible satisfaction of multiple user needs is achieved.

CN120066756APending Publication Date: 2025-05-30HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311622783.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-29
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In cloud services, as the number of users increases, users’ customization needs are increasing. How to efficiently and quickly arrange resource scheduling for users has become an urgent problem.

Method used

By dividing edge nodes in the edge cloud into edge cloud resource domains according to the preset division dimensions of the preset resources, responding to the user's resource scheduling request, determining the edge cloud resource domain associated with the user, querying the target edge node that meets the resource scheduling request, and scheduling its resources to the user.

Benefits of technology

Effectively manage edge nodes through the edge cloud resource domain, resource scheduling for users can be more efficiently and quickly, meeting the customized needs of different users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066756A_ABST
    Figure CN120066756A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a resource scheduling method and system.The resource scheduling method comprises the steps that in response to a received resource scheduling request of a user, an edge cloud resource domain associated with the user is determined, and the edge cloud resource domain is determined by dividing edge nodes in edge cloud according to the preset division dimension of preset resources; one edge cloud resource domain is associated with one or more edge nodes; querying a target edge node meeting the resource scheduling request from the edge cloud resource domain; and scheduling the resources of the target edge node to the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification relate to the field of computer technologies, and particularly to a resource scheduling method. Background Art

[0002] Based on cloud infrastructure, cloud resources can be used to provide services for users to meet their usage experiences. Cloud resources include various resources such as storage and network. For example, object storage service is a common cloud resource-based storage service.

[0003] In cloud services, resources are usually distributed on many edge nodes, and the scales and basic capabilities of each node may be heterogeneous. In addition, users may also have different requirements in terms of geographical location, storage capacity, bandwidth, latency, QPS (Queries Per Second), etc. Therefore, currently, a customized method is usually adopted to allocate nodes that meet the requirements to users according to the differences in users' requirements for storage capacity, performance, etc. However, with the continuous increase of users, the customized requirements of users are increasing. How to perform resource scheduling for users more efficiently and quickly is an urgent problem to be solved. Summary of the Invention

[0004] In view of this, the embodiments of this specification provide a resource scheduling method. One or more embodiments of this specification simultaneously relate to a resource scheduling system, a computing device, a computer-readable storage medium, and a computer program to solve the technical defects existing in the prior art.

[0005] According to the first aspect of the embodiments of this specification, a resource scheduling method is provided, including: in response to receiving a resource scheduling request from a user, determining an edge cloud resource domain associated with the user, where the edge cloud resource domain is determined by dividing edge nodes in an edge cloud according to a preset division dimension of preset resources, one edge cloud resource domain is associated with one or more edge nodes, the edge nodes are used to provide the preset resources, the preset resources have attribute values corresponding to the preset division dimension, and edge nodes with the same attribute value are divided into the same edge cloud resource domain; querying target edge nodes that meet the resource scheduling request from the edge cloud resource domain; and scheduling the resources of the target edge nodes to the user.

[0006] According to the second aspect of the embodiments of this specification, a resource scheduling system is provided, including: a central node and edge nodes; the central node is configured to, in response to receiving a resource scheduling request from a user, determine the edge cloud resource domain associated with the user. The edge cloud resource domain is determined by dividing the edge nodes in the edge cloud according to a preset division dimension of preset resources. One edge cloud resource domain is associated with one or more edge nodes. The edge nodes are used to provide the preset resources, and the preset resources have attribute values corresponding to the preset division dimension. Edge nodes with the same attribute value are divided into the same edge cloud resource domain. From the edge cloud resource domain, a target edge node that meets the resource scheduling request is queried, and the resources of the target edge node are scheduled to the user; the edge nodes are configured to provide resources for the user according to the scheduling of the central node.

[0007] According to the third aspect of the embodiments of this specification, a computing device is provided, including: a memory and a processor; the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the above resource scheduling method are implemented.

[0008] According to the fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which stores computer-executable instructions. When the instructions are executed by a processor, the steps of the above resource scheduling method are implemented.

[0009] According to the fifth aspect of the embodiments of this specification, a computer program is provided. When the computer program is executed on a computer, the computer is made to execute the steps of the above resource scheduling method.

[0010] An embodiment of this specification provides a resource scheduling method. This method divides each edge node in the edge cloud according to a preset division dimension of preset resources to obtain an edge cloud resource domain, so that one edge cloud resource domain is associated with one or more edge nodes. In this way, when a resource scheduling request from a user is received, the edge cloud resource domain associated with the user can be determined. From the edge cloud resource domain, a target edge node that meets the resource scheduling request is queried, and the target edge node is scheduled to the user. It can be seen that according to this method, users with the same attribute value corresponding to the preset division dimension, such as users in the same project scenario, can share the resources in the same resource domain. By effectively managing the edge nodes through the edge cloud resource domain, resource scheduling for users can be carried out more efficiently and quickly. Description of the Drawings

[0011] Figure 1 It is an architecture diagram of a resource scheduling system provided by an embodiment of this specification;

[0012] Figure 2 It is the architecture diagram of another resource scheduling system provided by an embodiment of this specification;

[0013] Figure 3 It is the flowchart of the resource scheduling method provided by an embodiment of this specification;

[0014] Figure 4 It is the schematic diagram of the storage domain provided by an embodiment of this specification;

[0015] Figure 5 It is the schematic diagram of the initialization of storage resources provided by an embodiment of this specification;

[0016] Figure 6 It is the schematic diagram of the flow process of the node state provided by an embodiment of this specification;

[0017] Figure 7 It is the flowchart of the processing process of a resource scheduling method provided by an embodiment of this specification;

[0018] Figure 8 It is the schematic diagram of the structure of a resource scheduling device provided by an embodiment of this specification;

[0019] Figure 9 It is the block diagram of the structure of a computing device provided by an embodiment of this specification. Detailed implementation manners

[0020] Many specific details are set forth in the following description in order to provide a thorough understanding of this specification. However, this specification can be implemented in many other ways different from those described herein, and those skilled in the art can make similar generalizations without departing from the connotation of this specification. Therefore, this specification is not limited by the specific implementations disclosed below.

[0021] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a", "the", and "said" used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more of the associated listed items.

[0022] It should be understood that although the terms first, second, etc. may be used in one or more embodiments of this specification to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "when" or "while" or "in response to a determination".

[0023] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data that have been authorized by the user or fully authorized by all parties. And the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or reject.

[0024] First, the noun terms involved in one or more embodiments of this specification are explained.

[0025] Edge cloud / Edge cloud computing: Briefly referred to as edge cloud, it is a cloud computing platform built on edge infrastructure based on the core of cloud computing technology and the capabilities of edge computing, forming a flexible cloud platform with comprehensive capabilities such as computing, networking, storage, and security at the edge location, and forming an end-to-end technical architecture of "cloud-edge-terminal three-body collaboration" with the central cloud and IoT terminals. By placing tasks such as network forwarding, storage, computing, and intelligent data analysis at the edge for processing, it reduces response latency, alleviates the pressure on the cloud, reduces bandwidth costs, and provides cloud services such as network-wide scheduling and computing power distribution.

[0026] Edge node: The infrastructure of the edge cloud includes but is not limited to: distributed IDC (Internet Data Center), edge infrastructure of the operator's communication network, edge-side user nodes (such as edge gateways, home gateways, etc.) and other edge devices and their corresponding network environments. Therefore, the edge node described in this specification refers to an edge unit that can be used for edge cloud computing based on a distributed IDC. An edge node can be represented as a server, a computer room, or multiple computer rooms. To support service availability across regions and computer rooms, the servers can be grouped, and a group can include one or more computer rooms; or a group can include one or more servers. In these application scenarios, an edge node can correspond to a group.

[0027] Collaborative Storage: Based on the resources and storage capabilities of multiple distributed nodes in the edge cloud, through multi-node collaborative management and scheduling, a distributed storage with location insensitivity, consistent experience, large capacity, high elasticity, and high reliability is constructed. For example, collaborative object storage.

[0028] Object Storage: A data storage based on objects that stores data as different units for management and operation. Each data unit can be understood as an object, and each has metadata description, rather than being saved in a folder in the form of a file.

[0029] Storage Space: A storage space is a container for storing objects. All objects must belong to a certain storage space. The storage space has various configuration attributes, including region, access rights, storage type, etc. A Bucket is globally unique.

[0030] The central node is a node in the distributed IDC that provides capabilities including but not limited to resource scheduling.

[0031] In services based on cloud resources, the resources that collaborate to provide services are distributed on many edge nodes, and the scale and basic capabilities of each node may be heterogeneous. In addition, users may also have different requirements in terms of geographical location, storage capacity, bandwidth, latency, QPS, etc. And with the continuous increase of users, the customized requirements of users are increasing. Therefore, how to perform resource scheduling for users more efficiently and quickly is an urgent problem to be solved.

[0032] In view of this, in this specification, a resource scheduling method, a resource scheduling system, this specification also relates to a resource scheduling device, a computing device, and a computer-readable storage medium are provided to solve the above problems. Next, detailed descriptions will be given one by one in the following embodiments.

[0033] See Figure 1 , Figure 1 shows an architecture diagram of a resource scheduling system provided according to an embodiment of this specification. As Figure 1 shown, the resource scheduling system includes: a central node 102 and an edge node 104.

[0034] The central node 102 can be configured to, in response to receiving a resource scheduling request from a user, determine the edge cloud resource domain associated with the user. The edge cloud resource domain is determined by dividing the edge nodes in the edge cloud according to a preset division dimension of preset resources. One edge cloud resource domain is associated with one or more edge nodes, and the edge nodes are used to provide the preset resources. The preset resources have attribute values corresponding to the preset division dimension, and the edge nodes with the same attribute value are divided into the same edge cloud resource domain. From the edge cloud resource domain, a target edge node that meets the resource scheduling request is queried, and the resources of the target edge node are scheduled to the user. The central node is a node for scheduling edge cloud resources, and the edge cloud resources include, for example, the storage, network bandwidth, computing power, etc. of the edge nodes.

[0035] The edge node 104 can be configured to provide resources for the user according to the scheduling of the central node. As Figure 1 shown in the resource scheduling system, the user can send a resource scheduling request to the central node through various user terminals, so that the central node schedules the resources of the target edge node to the user according to the method provided in the embodiments of this specification.

[0036] In this resource scheduling system, the central node divides each edge node in the edge cloud according to a preset division dimension of preset resources to obtain edge cloud resource domains, so that one edge cloud resource domain is associated with one or more edge nodes. In this way, when receiving a resource scheduling request from a user, the edge cloud resource domain associated with the user can be determined. From the edge cloud resource domain, a target edge node that meets the resource scheduling request is queried, and the resources of the target edge node are scheduled to the user. It can be seen that according to this system, users with the same attribute value corresponding to the preset division dimension, such as users in the same project scenario, can share the resources in the same resource domain. By effectively managing the edge nodes through the edge cloud resource domain, resource scheduling for users can be carried out more efficiently and quickly.

[0037] Taking the application scenario of scheduling storage resources as an example, when users use object storage, for big data volume scenarios such as images, videos, and streaming media, there are demands for low cost and low latency in large bandwidth and large capacity storage scenarios. Therefore, the edge cloud can meet these demands through collaborative storage, and users can enjoy the large capacity and high elasticity capabilities brought by the integration of storage resources of all nodes in the edge cloud. However, while users enjoy the capabilities brought by the integration of storage resources, there are also differentiated storage resource requirements. On the one hand, the resources of collaborative storage are distributed on many edge nodes, and the cluster scale and basic capabilities of each node are heterogeneous. On the other hand, users also have different requirements for geographical location, storage capacity, bandwidth, latency, QPS, etc. To manage edge nodes well and limit the range of nodes used by users, by applying the resource scheduling system provided in the embodiments of this specification, scheduling based on storage domains can be realized in the edge cloud collaborative storage. The edge nodes are divided into different storage domains according to different dimensions of storage resources, and each storage domain is associated with a series of edge nodes. Users in the same project scenario share the storage resources in the same storage domain. In addition, on the basis of realizing scheduling resources based on storage domains, smooth scaling of nodes in the storage domain can also be realized.

[0038] Specifically, referring to Figure 2 , Figure 2 FIG. shows the system architecture diagram of the application scenario of scheduling storage resources provided according to another embodiment of this specification. In this application scenario, the resources to be scheduled can be understood as storage resources, and the edge cloud resource domain can be understood as the storage domain of the edge cloud.

[0039] As Figure 2 shown, in the resource scheduling system, the central node 102 can be deployed with a resource domain allocation module, a resource initialization module, a scheduling module based on resource domains, and a resource domain management module according to functions.

[0040] The resource domain allocation module is used to allocate edge cloud resource domains for users. Among them, the edge cloud resource domain can be preset by the system or customized according to user needs. For example, if a user has relatively high requirements for latency, an edge cloud resource domain in the same large area can be allocated to the user, so as to limit that users associated with this edge cloud resource domain will only access node resources in the same large area, realizing nearby access to reduce the overall latency. In addition, if there are differences in the node scales within the same edge cloud resource domain, this module can also allocate different node weights to each edge node, so that the traffic can be allocated proportionally according to the weight values occupied by each edge node.

[0041] The resource initialization module is used to select edge nodes in the edge cloud resource domain allocated to the user to provide resources for the user. For example, the central node can select at least two available edge nodes within the allocated edge cloud resource domain and create physical buckets (buckets) for resource scheduling and disaster tolerance. It can also determine the number of edge nodes for initializing resources according to the project scale of the user.

[0042] The resource domain-based scheduling module is used to query the target edge nodes that meet the resource scheduling request from the edge cloud resource domain allocated to the user (such as the edge nodes allocated to the user in the allocated edge cloud resource domain), and schedule the resources of the target edge nodes to the user. This module can achieve global scheduling of edge cloud resources and can also cooperate with the resource domain management module to achieve smooth scaling of the edge cloud resource domain according to the node status.

[0043] The resource domain management module is used to manage the edge cloud resource domain and each edge node in the edge cloud resource domain, and add or delete edge nodes in the edge cloud resource domain based on the node status of the edge nodes, so as to achieve smooth scaling of the edge cloud resource domain.

[0044] Exemplarily, the edge nodes and central nodes described in this specification can be physical servers or cloud servers that provide various services. For example, it can be a server that provides communication services, data processing services, computing services, storage services, database services, etc. for multiple clients. It should be noted that the above nodes in the content distribution network can be implemented as a distributed server cluster composed of multiple servers, or can be implemented as a single server. The server can also be a server of a distributed system, or a server combined with a blockchain. The server can also be a cloud server of basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery network (CDN, Content Delivery Network), as well as big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.

[0045] It can be understood that the above application scenarios are only used to exemplarily illustrate the methods provided in the embodiments of this specification, and do not constitute a limitation on the methods provided in the embodiments of this specification. For example, for the resource scheduling system provided in the embodiments of this specification, the resource scheduling method can be used in various products of cloud edge node services, including but not limited to scenarios such as the view storage requirements of users in products such as view computing.

[0046] See Figure 3 , Figure 3The figure shows a flowchart of a resource scheduling method provided according to an embodiment of this specification, which specifically includes the following steps.

[0047] Step 302: In response to receiving a resource scheduling request from a user, determine the edge cloud resource domain associated with the user. The edge cloud resource domain is determined by dividing the edge nodes in the edge cloud according to a preset division dimension of preset resources. One edge cloud resource domain is associated with one or more edge nodes, and the edge nodes are used to provide the preset resources. The preset resources have attribute values corresponding to the preset division dimension, and the edge nodes with the same attribute value are divided into the same edge cloud resource domain.

[0048] The resource scheduling request is a request for instructing the central node to perform scheduling of one or more types of resources of edge nodes for the user. The resource scheduling request may carry information such as user information, specified type of resources, and / or the user's performance requirements for resources. Among them, the user information may include, for example, the user's identity information such as unique identification information, the project information corresponding to the user, etc.; the specified type of resources may include, for example, resource type information such as storage, network bandwidth, computing power, etc.; the user's performance requirements for resources may include, for example, requirements information in aspects such as geographical location, storage capacity, bandwidth, latency, concurrency, etc.

[0049] The association relationship between the user and the edge cloud resource domain can be established in various ways. In some embodiments, the system can be pre-configured according to a certain association policy. For example, information such as region and project type can be pre-set to associate with the edge cloud resource domain. In this way, before the user sends a scheduling request, the system can determine the edge cloud resource domain associated with the user according to information such as the region and project type to which the user information belongs. In other embodiments, the edge cloud resource domain associated with the user can be customized according to the user's performance requirements for resources. For example, if the user has a relatively high requirement for latency, the performance requirement information can be expressed as low latency. In this way, a storage domain in the same region can be allocated to the user, and it is specified that the users associated with this storage domain can only access the node resources in the same region, so as to achieve nearby access to reduce the overall latency. Among them, the user's performance requirements can be obtained from the resource scheduling request or through other channels, and this specification does not limit this.

[0050] The preset resources include any type of resources that the edge nodes can provide. For example, it can be one or more of any type of resources such as storage, network bandwidth, and computing power.

[0051] The preset partitioning dimension is any one or more dimensions used to partition resources of any resource type. The edge node is used to provide the preset resources, and the preset resources have attribute values corresponding to the preset partitioning dimension. Edge nodes with the same attribute value are partitioned into the same edge cloud resource domain.

[0052] For example, for storage type resources, multiple different storage dimensions can be preset, and edge nodes in the edge cloud are partitioned into different storage domains according to these different storage dimensions. Each storage domain is associated with a series of edge nodes, and users in the same project scenario share the storage resources in the same storage domain. For example, the preset partitioning dimension can include: scenario dimension, large region dimension, project scale dimension, etc. According to actual needs, the preset partitioning dimension can be set as needed through a custom method. For example, as Figure 4 shown in the schematic diagram of the storage domain, in the edge cloud, the storage domain can include: national storage domain, project scenario 1 storage domain, East China large region storage domain, North China large region storage domain, etc. In addition, the system can also receive a request for a custom storage domain and create a corresponding custom storage domain according to this request.

[0053] Step 304: Query target edge nodes that meet the resource scheduling request from the edge cloud resource domain.

[0054] The target edge node can be any one or more edge nodes in the edge cloud resource domain that meet the resource scheduling request. Through the resource scheduling request, demand information of the user for aspects such as geographical location, storage capacity, bandwidth, latency, concurrency, etc. can be obtained. When searching for the target edge node, the demand information of the user can be used as a filtering condition, and filtering is performed based on the node resource scale and water level such as the storage capacity, bandwidth, latency, concurrency, etc. of the edge node, so as to query the target edge node that meets the resource scheduling request.

[0055] Step 306: Schedule the resources of the target edge node to the user.

[0056] Scheduling means providing the resources of the target edge node for the user to use. For example, for storage type resources, this scheduling can refer to scheduling the read / write requests of the user to the target edge node, and the target edge node performs corresponding read / write operations. Another example, for computing type resources, this scheduling can refer to scheduling the computing requests of the user to the target edge node, and the target edge node performs corresponding computing operations.

[0057] It can be seen that according to this resource scheduling method, the central node divides each edge node in the edge cloud into edge cloud resource domains according to a preset division dimension of preset resources, so that one of the edge cloud resource domains is associated with one or more edge nodes. The edge nodes are used to provide the preset resources, and the preset resources have attribute values corresponding to the preset division dimension. Edge nodes with the same attribute value are divided into the same edge cloud resource domain. In this way, when a resource scheduling request from a user is received, the edge cloud resource domain associated with the user can be determined, and from the edge cloud resource domain, a target edge node that meets the resource scheduling request is queried, and the resources of the target edge node are scheduled to the user. Thus, it can be seen that according to this method, users with the same attribute value corresponding to the preset division dimension, such as users in the same project scenario, can share the resources in the same resource domain. By effectively managing edge nodes through edge cloud resource domains, resource scheduling for users can be carried out more efficiently and quickly.

[0058] Next, an exemplary description will be given of the application of the method provided in the embodiments of this specification in aspects such as allocating edge cloud resource domains, initializing resources, managing edge cloud resource domains, and scheduling based on edge cloud resource domains.

[0059] Regarding the allocation of edge cloud resource domains, it can be preset by the system or customized and added according to user requirements. Exemplarily, in one or more embodiments of this specification, the method may further include:

[0060] Obtain the performance requirement information of the user;

[0061] According to the performance requirement information of the user, select an edge cloud resource domain that meets the performance requirement information;

[0062] Set the selected edge cloud resource domain as the edge cloud resource domain associated with the user.

[0063] The performance requirement information is information used to represent the user's performance requirements for resources. For example, if the user has a high requirement for latency, the performance requirement information may be expressed as low latency; for another example, if the user has a large requirement for storage space, the performance requirement information may be expressed as the storage space being greater than a certain threshold, and so on.

[0064] If there are differences in the resource scales of the edge nodes in the edge cloud resource domain, different node weights can be set for each edge node. In this way, the central node can allocate traffic proportionally according to the node weights corresponding to each edge node. When querying the target edge node, the query can be performed according to the node weights. Specifically, in one or more embodiments of this specification, the step of querying, from the edge cloud resource domain, a target edge node that meets the resource scheduling request includes:

[0065] According to the node weight corresponding to the edge node, a target edge node that meets the resource scheduling request is queried from the edge cloud resource domain, where the node weight is used to represent the scheduling priority of the corresponding edge node, and when the node weight corresponding to the edge node reaches the first preset weight value range, it means that data inflow is not allowed for the edge node, and when the node weight corresponding to the edge node reaches the second preset weight value range, it means that data inflow is allowed for the edge node, and there are no identical weight values in the first preset weight value range and the second preset weight value range.

[0066] Among them, the timing of setting the node weight for the edge node is not limited. For example, when allocating the edge cloud resource domain for a user, the node weight of the edge node can be set as needed; for another example, when it is sensed that the resource water level of the edge node changes to a certain range, the node weight of the edge node can be correspondingly set to increase or decrease the scheduling priority of the corresponding edge node; for yet another example, when it is sensed that the edge node goes online / offline, the node weight of the edge node can be correspondingly set to allow or prohibit data writing.

[0067] For example: when adding an edge node to the edge cloud resource domain, the node weight of the edge node can be set to zero to ensure that there is no online traffic writing. After the resource initialization of the edge node is completed, the node weight of the edge node is set to be greater than zero, so as to ensure that there is online traffic writing. When the edge node goes offline, the node weight of the edge node is set to zero to ensure that the traffic will be diverted from the edge node. In this example, the first preset weight value range is that the weight value is equal to zero, and the second preset weight value range is that the weight value is greater than zero.

[0068] In one or more embodiments of this specification, in order to more accurately query the target edge node that meets the resource scheduling request, the node weight corresponding to the edge node includes weight values corresponding to multiple weight dimensions, and the weight dimensions include at least two of the following weight dimensions: gray control dimension, geographical location dimension, operator network dimension, engine type dimension, scheduling concentration dimension, cost dimension, file life cycle dimension, and user level dimension. In this way, when querying the target edge node, grouping and sorting can be performed according to the weight dimensions to find the appropriate target edge node. Specifically, the step of querying a target edge node that meets the resource scheduling request from the edge cloud resource domain according to the node weight corresponding to the edge node includes:

[0069] Group and sort the edge nodes that meet the candidate conditions in the edge cloud resource domain according to the node weights corresponding to the edge nodes and the weight dimensions to which the node weights belong, and obtain a sorting result. The node weights corresponding to the edge nodes include weight values corresponding to multiple weight dimensions, and the weight dimensions include at least two of the gray control dimension, geographical location dimension, operator network dimension, engine type dimension, scheduling concentration dimension, cost dimension, file life cycle dimension, and user level dimension.

[0070] Select target edge nodes from the edge nodes that meet the candidate conditions according to the sorting result.

[0071] Among them, the edge nodes that meet the candidate conditions can refer to all edge nodes in the edge cloud resource domain, or can refer to the candidate edge nodes obtained by filtering according to other filtering conditions (such as filtering conditions based on any one or more of the node service status, node running status, storage availability, traffic bandwidth, and concurrency).

[0072] The gray control dimension refers to the dimension in which the node weights are set according to the gray control situation of the edge nodes, that is, the scheduling priority for gray control is higher; the geographical location dimension refers to the dimension in which the node weights are set according to the geographical location where the edge nodes are located, that is, the closer the geographical location of the node, the higher the scheduling priority; the operator network dimension refers to the dimension in which the node weights are set according to the operator network to which the edge nodes belong, that is, the higher the operator network affinity of the node, the higher the scheduling priority; the engine type dimension refers to the dimension in which the node weights are set according to the type of the storage engine corresponding to the edge nodes, that is, the more matching the storage engine type of the node, the higher the scheduling priority; the scheduling concentration dimension refers to the dimension in which the node weights are set according to the degree of concentration of the edge nodes being scheduled, and the higher the scheduling concentration of the node, the higher the scheduling priority; the cost dimension refers to the dimension in which the node weights are set according to the cost size of the edge nodes, and the lower the cost of the node, the higher the scheduling priority; the file life cycle dimension refers to the dimension in which the node weights are set according to the length of the file life cycle in the edge nodes, and the longer the life cycle of the node, the higher the scheduling priority; the user level dimension refers to the dimension in which the node weights are set according to the user level, and the higher the user level of the node, the higher the scheduling priority.

[0073] Among them, the specific sorting strategy for grouping and sorting can be set according to the scenario requirements. For example, the sorting can be performed according to the sorting strategy shown in Table 1 below.

[0074]

[0075] Table 1

[0076] It should be noted that the sorting strategy for the above grouping and sorting is only used for exemplarily illustrating the method provided in the embodiments of this specification, and does not constitute a limitation on the method of this specification. The sorting strategy can be flexibly set according to the needs of the application scenario.

[0077] For the resource initialization of the edge cloud resource domain, the management service of the central node can provide an open interface. Users can call the management service of the central node through the open interface for resource initialization. According to the user's call, the management service selects at least two available edge nodes in the edge cloud resource domain allocated to the user to create physical buckets for resource scheduling and disaster tolerance. In addition, during the initialization process, the number of edge nodes for initializing resources can be determined according to the scale of the user's project. Specifically, the method may further include:

[0078] Determine the scale of the user's project;

[0079] According to the scale of the project, determine the scale of the edge nodes to be initialized;

[0080] According to the scale of the edge nodes to be initialized, select at least two edge nodes to be initialized for the user from the edge cloud resource domain associated with the user to provide resources and disaster tolerance;

[0081] Initialize the resources of the edge nodes to be initialized to obtain the initialized edge nodes, and the target edge nodes are any one or more of the initialized edge nodes.

[0082] Among them, the scale of the project and the scale of the edge nodes can be represented by quantization indicators for setting the scale according to the needs of the application scenario. The scale of the project includes data volume indicators and / or computing volume indicators corresponding to the project. For example, the scale of the project may include the estimated data volume size and the estimated computing volume size corresponding to the project. The scale of the edge nodes may include the number of edge nodes, the available resource volume of the edge nodes, etc. Among them, at least two edge nodes to be initialized provide resource services simultaneously and are mutually disaster tolerant. The specific operation of resource initialization can be set as needed according to the resource type. For example, the initialization of an edge node providing storage resources may include: creating a physical bucket.

[0083] For example, as Figure 5Schematic diagram of storage resource initialization. Before resource scheduling for users, physical buckets can be pre-allocated for users of different project types. Assume that the storage domain of "Northeast Region" contains edge nodes such as "Changchun", "Harbin", "Mudanjiang", "Shenyang", and "Chifeng". For users of small-scale projects, when initializing and creating a bucket, two edge nodes, "Chifeng" and "Changchun", can be selected for pre-allocation to the users. For users of large-scale projects or specific projects, when initializing and creating a bucket, five edge nodes, "Changchun", "Harbin", "Mudanjiang", "Shenyang", and "Chifeng", can be selected for pre-allocation to the users.

[0084] For the management of the edge cloud resource domain, it can include node status management, as well as management aspects such as expansion and contraction.

[0085] Among them, the transfer process of the node status is as Figure 6 shown, including: when the construction of a new edge node is completed, the edge node enters the pre-online state; when the pre-online edge node passes the test and acceptance, the edge node enters the online state; when a node removal event occurs, the removed edge node enters the pre-offline state; when the pre-offline edge node is confirmed to be offline, the pre-offline edge node enters the offline state; for the online edge nodes, the central node conducts service detection on them. When the service detection is normal, the edge node enters the normal state. When the service detection is abnormal, the edge node enters the abnormal state; when it is confirmed that the service has recovered from the abnormal state to the normal state, the edge node enters the normal state.

[0086] In summary, the node status of the edge node includes the node service status and the node operation status. Both node statuses can be considered factors in the process of expansion and / or contraction. When querying for the target edge node that meets the resource scheduling request, it can be searched according to the service status and operation status of each edge node in the edge cloud resource domain. For example, the node service status can include: pre-online, online, pre-offline, offline; the node operation status can include: normal, abnormal. Among them, the relationship between the node service status and scheduling can be manifested as: when the node service status is pre-online and online, the resources of the node are available for scheduling, and the storage resources of the node are readable and writable; when the node service status is pre-offline, the resources of the node are available for scheduling, and the storage resources of the node are readable; when the node service status is offline, the resources of the node are not available for scheduling, and the storage resources of the node are not readable and writable. The relationship between the node operation status and scheduling can be manifested as: when the node operation status is normal, the node can provide services; when the node operation status is abnormal, the node cannot provide services.

[0087] For the expansion of the edge cloud resource domain, exemplarily, in one or more embodiments of this specification, the method may further include:

[0088] Obtain the resource water level of the edge nodes in the edge cloud resource domain;

[0089] Determine whether the resource water level reaches the preset expansion condition;

[0090] If it reaches, find out the edge nodes that can be expanded;

[0091] Add the edge nodes that can be expanded to the edge cloud resource domain associated with the user to provide resources.

[0092] The resource water level is used to represent the available resource amount of the preset resources of the edge nodes. For example, assuming the preset resource is storage resources, the resource water level may include: storage space, bandwidth, concurrency, etc. The preset expansion condition is a condition used to restrict whether to expand the edge cloud resource domain, where the resource water level is used as an input parameter for judging whether to expand. For example, the preset expansion condition can be expressed as a preset resource water level threshold, or a certain condition reached when the resource water level is calculated together with some other parameters, and so on. For example: for storage resources, preset resource water level thresholds corresponding to indicators such as storage space, bandwidth, and concurrency can be set. When the resource water levels of the edge nodes in the edge cloud resource domain allocated to the user are all insufficient, it can be determined that the edge cloud resource domain reaches the preset expansion condition.

[0093] For example, for the application scenario of scheduling storage resources, the preset resource is storage resources, and the edge cloud resource domain is a storage domain. When finding edge nodes that can be expanded, nodes can be selected according to the distribution of user requests. Among them, the distribution of user requests can be understood as the large regions covered by the user's IP (Internet Protocol) and the storage amounts in each large region. When expanding, nodes will be selected nearby according to the geographical location. It should be noted that when expanding, if there are nodes in the storage domain that have not created physical buckets, nodes in the storage domain can be selected for expansion according to a certain strategy. If there are no nodes in the storage domain that have not created physical buckets, new nodes outside the storage domain can be selected to expand the storage domain. When judging whether to expand the storage domain, multiple indicators such as storage space and bandwidth can be referred to for expansion. For example: taking the safety water level (such as 90% of the maximum value) as the benchmark, nodes below the safety water level are preferentially selected. If all nodes exceed the safety water level, the storage domain will be expanded.

[0094] For example: the preset resource is storage resources, the edge cloud resource domain is a storage domain, and the processing steps for finding out the edge nodes that can be expanded may include:

[0095] Obtain the bucket table of the storage domain;

[0096] Determine the data upload volume of each bucket in the bucket table;

[0097] Statistically count the data upload volume of each bucket according to each preset region to obtain the data upload volume corresponding to each preset region;

[0098] According to the data upload volume corresponding to each preset region, select the target region with the largest data upload volume from each preset region, and the target region is one or more regions;

[0099] Search for expandable edge nodes from the target region.

[0100] For example, after obtaining the bucket list of the storage domain, a leaderboard of the data upload volume of each bucket within a recently preset time range (such as within 12 hours) can be obtained. By statistically counting each bucket in the leaderboard by each major region, the data upload volume corresponding to each major region is obtained. Then, according to the data upload volume corresponding to each major region, select the major region with the largest data upload volume, and search for expandable edge nodes nearby according to the geographical location. Finally, create a physical bucket for the found expandable edge nodes, and the expansion is completed. Another example is that during the process of searching for expandable nodes above, the data upload volume of each major region can be statistically counted according to some request logs.

[0101] In the above embodiment, since the region with the largest data upload volume is also the region with the largest storage resource demand, by selecting the nodes in the region with the largest data upload volume for expansion, the storage resource volume in this region can be effectively expanded, and the overall storage resource demand of the corresponding storage domain can be effectively met.

[0102] Exemplarily, in the above embodiments of expanding the edge cloud resource domain in combination with the implementation manner of setting node weights in this specification, after adding the expandable edge node to the storage domain to be expanded, the node weight of the newly added edge node can be set to zero to ensure that no online traffic is written. Then, through the management interface of the central node, the logical bucket associated with this storage domain of the expandable edge node is initialized with resources, that is, a physical bucket is created, thereby completing the expansion. Among them, after the resource initialization of the expandable edge node is completed, the node weight of the expandable edge node can be set to be greater than zero to ensure that online traffic is written. At this time, the traffic can be scheduled to the newly expanded node according to the node status and the current water level. Among them, the relationship between the logical bucket and the physical bucket is a one-to-many mapping relationship. One logical bucket can correspond to one or more physical buckets, and one physical bucket only corresponds to one logical bucket. Therefore, the service capacity and performance upper limit of one logical bucket can be large enough. When data disaster recovery is required for a certain bucket, one physical bucket can also be mapped to multiple replica buckets.

[0103] For the shrinkage of the edge cloud resource domain, exemplarily, in one or more embodiments of this specification, the method may further include:

[0104] Determine the edge node to be shrunk in the edge cloud resource domain;

[0105] Set the edge node to be shrunk to a state where data inflow is not allowed;

[0106] Migrate the existing data of the edge node to be shrunk to other edge nodes in the edge cloud resource domain;

[0107] Set the running state of the edge node to be shrunk to offline, and delete the edge node to be shrunk from the edge cloud resource domain.

[0108] The edge node to be scaled down refers to the edge node that needs to be taken offline in the edge cloud resource domain. When determining the edge node to be scaled down, any one or more determination methods can be set according to the actual situation. For example, when an edge node needs to be taken offline due to the cancellation of a computer room, the edge node to be scaled down can be determined according to the coverage range of the computer room; for another example, when an edge node needs to be taken offline due to a node failure, the corresponding edge node to be scaled down can be determined according to the received failure information. Among them, there is no limit to the specific implementation method of setting the edge node to be scaled down to a state where data inflow is not allowed. For example, a flag indicating that data inflow is not allowed can be set for the edge node to be scaled down; for another example, in combination with the above-mentioned implementation method of node weight, the node weight of the edge node to be scaled down can be set to zero, indicating that it does not allow data inflow. When migrating the existing data of the edge node to be scaled down, any available migration tool can be used, and this specification does not limit this.

[0109] For example, in the application scenario of scheduling storage resources, when some edge nodes need to be taken offline, it involves the scaling down of the storage domain. The processing steps for scaling down are as follows:

[0110] Set the status of the edge node to be scaled down to the to-be-taken-offline status, and set the weight value of this edge node to be scaled down to zero. At this time, the global scheduling will divert the write traffic;

[0111] Migrate the stored data under this edge node to be scaled down to other edge nodes through a migration tool;

[0112] Modify the service status of this edge node to be scaled down to the offline status. At this time, the read / write traffic is automatically scheduled to other edge nodes;

[0113] After confirming that the service is normal, delete the physical bucket of this edge node to be scaled down through the management interface of the central node, and delete this edge node to be scaled down from the storage domain;

[0114] Set the service status of this edge node to be scaled down to the offline status, and the scaling down is completed.

[0115] Among them, the judgment of whether the service is normal can be made through service monitoring indicators, such as whether the user traffic has decreased and whether the request success rate is normal.

[0116] For the scheduling of the edge cloud resource domain, according to the needs of the scenario, the target edge node that meets the resource scheduling request can be found through any one or more status indicators of the edge node. For example, in one or more embodiments of this specification, querying the target edge node that meets the resource scheduling request from the edge cloud resource domain includes:

[0117] Select a target edge node that meets the resource scheduling request from the edge cloud resource domain according to any one or more metrics among the service status, running status, available storage, traffic bandwidth, and concurrency of each edge node in the edge cloud resource domain.

[0118] The service status, that is, the node service status, is the status information used to represent the online situation of the node service. For example, the service status may include: pre-online, online, pre-offline, offline. The running status, that is, the node running status, is the status information used to represent the running situation of the node. For example, the running status may include: normal, abnormal. The available storage refers to the size information of the remaining available storage space of the node. The traffic bandwidth refers to the amount of data allowed to be transmitted by the node per unit time. The concurrency is also called QPS.

[0119] In the above embodiment, through any one or more metrics among the service status, running status, available storage, traffic bandwidth, and concurrency of the edge node, the target edge node that meets the resource scheduling request can be found.

[0120] In one or more embodiments of this specification, in order to more accurately find the target edge node that meets the resource scheduling request, at least two layers of filtering are used to search. For example, the step of selecting a target edge node that meets the resource scheduling request from the edge cloud resource domain according to any one or more metrics among the service status, running status, available storage, traffic bandwidth, and concurrency of each edge node in the edge cloud resource domain includes:

[0121] Select the first candidate edge nodes from the edge cloud resource domain according to the service status and running status of each edge node in the edge cloud resource domain;

[0122] Select the target edge node that meets the resource scheduling request from the first candidate edge nodes according to the available storage, traffic bandwidth, and concurrency of the first candidate edge nodes.

[0123] The first candidate edge nodes are any one or more edge nodes in the edge cloud resource domain whose service status and running status both reach the conditions allowing data inflow.

[0124] In the above embodiment, first filter the available nodes in the edge cloud resource domain according to the node service status and running status. At this time, for nodes where the service status and running status do not allow data inflow (such as the node weight is zero, the service status is offline, etc.), traffic is not scheduled to the node. This is the first layer of filtering. Then, filter the available nodes according to the resource scale and real-time water level (available storage / bandwidth / concurrency) of the nodes. Through these at least two layers of filtering, the target edge node can be found more accurately, improving the search efficiency.

[0125] For example, in the application scenario of scheduling storage resources, in the above embodiments, nodes with physical buckets created in the associated storage domain can be queried according to the logical bucket first, and then filtered according to the service status, operating status, and storage resource water level of the nodes.

[0126] In one or more embodiments of this specification, in order to make the found target edge node a more optimized edge node among many edge nodes that meet the conditions, when searching for the target edge node from the first candidate edge nodes, the available nodes can also be sorted according to the node weights, and the target edge node can be selected according to the scheduling priority represented by the node weights. Specifically, the selecting the target edge node that meets the resource scheduling request from the first candidate edge nodes according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge nodes includes:

[0127] Selecting second candidate edge nodes that meet the resource scheduling request from the first candidate edge nodes according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge nodes;

[0128] Selecting the target edge node from the second candidate edge nodes according to the node weights corresponding to the second candidate edge nodes, where the node weights are used to represent the scheduling priorities of the corresponding edge nodes.

[0129] For example, in combination with the foregoing embodiments, the weight dimensions include at least two of the weight dimensions: gray control dimension, geographical location dimension, operator network dimension, engine type dimension, scheduling concentration dimension, cost dimension, file life cycle dimension, and user level dimension. In this case, after selecting the second candidate edge nodes that meet the resource scheduling request according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge nodes, the node weights corresponding to the second candidate edge nodes can be grouped and sorted according to the weight dimensions to which the node weights belong, and the sorting result can be obtained, and the target edge node can be selected from the second candidate edge nodes according to the sorting result.

[0130] The following combination atta Figure 7 Taking the application of the resource scheduling method provided in this specification in storage resource scheduling as an example, the resource scheduling method combining the above multiple embodiments will be further described. Among them, Figure 7 FIG. shows a flowchart of the processing process of a resource scheduling method provided in an embodiment of this specification, which specifically includes the following steps.

[0131] Step 702: Receive a resource scheduling request from a user.

[0132] The resource scheduling request of the user triggers the central node to start the scheduling process of the following steps.

[0133] Step 704: Query the node list of the edge nodes with buckets already created in the storage domain associated with the user.

[0134] Step 706: According to the service status and running status of the edge nodes, select the node list of the edge nodes in the available state from the node list queried in Step 704.

[0135] In this Step 706, the node list of the edge nodes in the available state is also the list of the first candidate edge nodes described in this article.

[0136] Step 708: Select the edge nodes whose storage usage, upstream / downstream bandwidth, and concurrency meet the resource scheduling request from the node list of the edge nodes in the available state.

[0137] In this Step 708, the edge nodes whose storage usage, upstream / downstream bandwidth, and concurrency meet the resource scheduling request are also the second candidate edge nodes described in this article. Through Steps 706 to 708, two - layer filtering of the edge nodes in the storage domain is performed. After filtering, the available edge nodes are obtained and the available edge nodes are recorded. For example, the node name, water level information, etc. can be recorded. In addition, when recording the available edge nodes, correspondingly, the edge nodes with insufficient resources can also be counted by the way, so as to judge whether the preset expansion condition is reached according to the statistical result. If so, the expansion task is executed.

[0138] Step 710: Judge whether all the edge nodes in the available state have been filtered. If so, determine that the loop ends and enter Step 712. If not, determine that the loop has not ended and return to Step 708.

[0139] Step 712: Sort according to the node weights corresponding to the edge nodes selected in Step 708 to obtain the sorting result.

[0140] As Figure 7 shown, the node weights corresponding to the edge nodes can include at least two weight dimensions among the gray - scale control dimension, geographical location dimension, operator network dimension, engine type dimension, scheduling concentration dimension, cost dimension, file life - cycle dimension, and user level dimension.

[0141] Step 714: According to the sorting result, select one or more edge nodes with the highest scheduling priority corresponding to the node weights as the target edge nodes.

[0142] Through the above embodiments, a resource scheduling method based on an edge cloud storage domain is implemented, and dynamic scaling of the storage domain is achieved in combination with node state changes. In scenarios such as node network cutover / anomaly, computer room withdrawal, and storage cluster anomaly, user services can be ensured to be unaffected, providing a more stable edge cloud collaborative storage service.

[0143] Corresponding to the above method embodiments, this specification also provides embodiments of a resource scheduling device. Figure 8 The structural schematic diagram of a resource scheduling device provided by an embodiment of this specification is shown. As Figure 8 shown, the device includes:

[0144] A resource domain determination module 810, configured to determine an edge cloud resource domain associated with the user in response to receiving a resource scheduling request from the user. The edge cloud resource domain is determined by dividing edge nodes in the edge cloud according to a preset division dimension of preset resources. One edge cloud resource domain is associated with one or more edge nodes, and the edge nodes are used to provide the preset resources. The preset resources have attribute values corresponding to the preset division dimension, and edge nodes with the same attribute value are divided into the same edge cloud resource domain.

[0145] A node query module 820, configured to query target edge nodes that meet the resource scheduling request from the edge cloud resource domain.

[0146] A scheduling module 830, configured to schedule the resources of the target edge nodes to the user.

[0147] Optionally, the device further includes: a resource water level acquisition module, configured to acquire the resource water level of edge nodes in the edge cloud resource domain; a water level judgment module, configured to judge whether the resource water level reaches a preset expansion condition; an expandable node search module, configured to, if the water level judgment module determines that it reaches, search for expandable edge nodes; a node addition module, configured to add the expandable edge nodes to the edge cloud resource domain associated with the user to provide resources.

[0148] Optionally, the preset resource is a storage resource, the edge cloud resource domain is a storage domain, and the expansion node search module includes: a storage space acquisition sub-module configured to acquire the bucket table of the storage domain; a data volume determination sub-module configured to determine the data upload volume of each bucket in the bucket table; a partition statistics sub-module configured to statistically calculate the data upload volume of each bucket according to each preset region to obtain the data upload volume corresponding to each preset region; a region selection sub-module configured to select, from each of the preset regions, a target region with the largest data upload volume according to the data upload volume corresponding to each preset region, where the target region is one or more regions; and a node determination sub-module configured to search for expandable edge nodes from the target region.

[0149] Optionally, the device further includes: a shrinkage node determination module configured to determine the edge nodes to be shrunk in the edge cloud resource domain; a node write prohibition module configured to set the edge nodes to be shrunk to a state where data inflow is not allowed; a data migration module configured to migrate the existing data of the edge nodes to be shrunk to other edge nodes in the edge cloud resource domain; and a node offline module configured to set the operating state of the edge nodes to be shrunk to offline and delete the edge nodes to be shrunk from the edge cloud resource domain.

[0150] Optionally, the device further includes: a performance requirement acquisition module configured to acquire the performance requirement information of the user; a resource domain selection module configured to select an edge cloud resource domain that meets the performance requirement information according to the performance requirement information of the user; and a resource domain association module configured to set the selected edge cloud resource domain as the edge cloud resource domain associated with the user.

[0151] Optionally, the device further includes: a project scale determination module configured to determine the project scale of the user; a node scale determination module configured to determine the scale of the edge nodes to be initialized according to the project scale; an initialization node selection module configured to select, from the edge cloud resource domain associated with the user, at least two edge nodes to be initialized for providing resources and disaster tolerance according to the scale of the edge nodes to be initialized; and a node resource initialization module configured to initialize the resources of the edge nodes to be initialized to obtain initialized edge nodes, where the target edge nodes are any one or more of the initialized edge nodes.

[0152] Optionally, the node query module is configured to query, from the edge cloud resource domain, a target edge node that meets the resource scheduling request according to the node weight corresponding to the edge node, where the node weight is used to represent the scheduling priority of the corresponding edge node, and when the node weight corresponding to the edge node reaches the first preset weight value range, it indicates that data inflow is not allowed for the edge node, and when the node weight corresponding to the edge node reaches the second preset weight value range, it indicates that data inflow is allowed for the edge node, and there are no identical weight values in the first preset weight value range and the second preset weight value range.

[0153] Optionally, the node query module includes: a grouping and sorting sub-module configured to group and sort the edge nodes in the edge cloud resource domain that meet the candidate conditions according to the node weight corresponding to the edge node and the weight dimension to which the node weight belongs, to obtain a sorting result, where the node weight corresponding to the edge node includes weight values corresponding to multiple weight dimensions, and the weight dimensions include at least two of the following weight dimensions: gray control dimension, geographical location dimension, operator network dimension, engine type dimension, scheduling concentration dimension, cost dimension, file life cycle dimension, and user level dimension; a post-sorting selection sub-module configured to select a target edge node from the edge nodes that meet the candidate conditions according to the sorting result.

[0154] Optionally, the node query module includes: selecting, from the edge cloud resource domain, a target edge node that meets the resource scheduling request according to any one or more of the service status, operating status, storage availability, traffic bandwidth, and concurrency of each edge node in the edge cloud resource domain.

[0155] Optionally, the node query module includes: a first filtering sub-module configured to select, from the edge cloud resource domain, a first candidate edge node according to the service status and operating status of each edge node in the edge cloud resource domain; a second filtering sub-module configured to select, from the first candidate edge nodes, a target edge node that meets the resource scheduling request according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge nodes.

[0156] Optionally, the second filtering sub-module includes: a second candidate filtering sub-module configured to select, from the first candidate edge nodes, a second candidate edge node that meets the resource scheduling request according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge nodes; a weight sorting sub-module configured to select, from the second candidate edge nodes, a target edge node according to the node weight corresponding to the second candidate edge node, where the node weight is used to represent the scheduling priority of the corresponding edge node.

[0157] The above is a schematic solution of a resource scheduling device according to this embodiment. It should be noted that the technical solution of this resource scheduling device and the technical solution of the above resource scheduling method belong to the same concept. For the details not described in the technical solution of the resource scheduling device, reference can be made to the description of the technical solution of the above resource scheduling method.

[0158] Figure 9 FIG. 4 shows a structural block diagram of a computing device 900 according to an embodiment of the present specification. The components of the computing device 900 include, but are not limited to, a memory 910 and a processor 920. The processor 920 is connected to the memory 910 through a bus 930, and a database 950 is used to store data.

[0159] The computing device 900 further includes an access device 940, which enables the computing device 900 to communicate via one or more networks 960. Examples of these networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 940 may include one or more of any type of wired or wireless network interfaces (e.g., a network interface card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC).

[0160] In an embodiment of the present specification, the above components of the computing device 900 and Figure 9 other components not shown in FIG. 4 may also be connected to each other, for example, through a bus. It should be understood that Figure 9 the structural block diagram of the computing device shown in FIG. 4 is only for illustrative purposes and is not a limitation on the scope of the present specification. Those skilled in the art can add or replace other components as needed.

[0161] The computing device 900 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smart phones), wearable computing devices (e.g., smart watches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 900 can also be a mobile or stationary server.

[0162] Wherein, the processor 920 is configured to execute the following computer-executable instructions, and when the computer-executable instructions are executed by the processor, the steps of the above resource scheduling method are implemented.

[0163] The above is a schematic solution of a computing device according to this embodiment. It should be noted that the technical solution of the computing device and the technical solution of the above resource scheduling method belong to the same concept. For the details not described in detail in the technical solution of the computing device, reference can be made to the description of the technical solution of the above resource scheduling method.

[0164] An embodiment of this specification also provides a computer-readable storage medium, which stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, the steps of the above resource scheduling method are implemented.

[0165] The above is a schematic solution of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of the storage medium and the technical solution of the above resource scheduling method belong to the same concept. For the details not described in detail in the technical solution of the storage medium, reference can be made to the description of the technical solution of the above resource scheduling method.

[0166] An embodiment of this specification also provides a computer program, wherein when the computer program is executed on a computer, the computer is made to execute the steps of the above resource scheduling method.

[0167] The above is a schematic solution of a computer program according to this embodiment. It should be noted that the technical solution of the computer program and the technical solution of the above resource scheduling method belong to the same concept. For the details not described in detail in the technical solution of the computer program, reference can be made to the description of the technical solution of the above resource scheduling method.

[0168] The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0169] The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, removable hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0170] It should be noted that for the foregoing method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of this specification are not limited by the described order of actions, because according to the embodiments of this specification, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments of this specification.

[0171] In the above embodiments, the descriptions of each embodiment have their own focuses. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0172] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The alternative embodiments do not describe all the details in detail, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made according to the content of the embodiments of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the embodiments of this specification, so that those skilled in the art can understand and utilize this specification well. This specification is only limited by the claims and their full scope and equivalents.

Claims

1. A resource scheduling method, including: In response to receiving a resource scheduling request from a user, determining an edge cloud resource domain associated with the user, where the edge cloud resource domain is determined by dividing edge nodes in an edge cloud according to a preset division dimension of preset resources, one edge cloud resource domain is associated with one or more edge nodes, the edge nodes are used to provide the preset resources, the preset resources have attribute values corresponding to the preset division dimension, and edge nodes with the same attribute value are divided into the same edge cloud resource domain; Querying, from the edge cloud resource domain, a target edge node that meets the resource scheduling request; Scheduling the resources of the target edge node to the user.

2. The method according to claim 1, further including: Obtaining the resource water levels of edge nodes in the edge cloud resource domain; Judging whether the resource water levels reach a preset expansion condition; If so, finding out edge nodes that can be expanded; Adding the edge nodes that can be expanded to the edge cloud resource domain associated with the user to provide resources.

3. The method according to claim 2, where the preset resource is a storage resource, the edge cloud resource domain is a storage domain, and the finding out edge nodes that can be expanded includes: Obtaining the bucket table of the storage domain; Determining the data upload amounts of each bucket in the bucket table; Counting the data upload amounts of each bucket according to each preset region to obtain the data upload amounts corresponding to each preset region; According to the data upload amounts corresponding to each preset region, selecting, from each preset region, a target region with the largest data upload amount, where the target region is one or more regions; Finding out edge nodes that can be expanded from the target region.

4. The method according to claim 1, further including: Determining edge nodes to be shrunk in the edge cloud resource domain; Setting the edge nodes to be shrunk to a state where data inflow is not allowed; Migrating the existing data of the edge nodes to be shrunk to other edge nodes in the edge cloud resource domain; Setting the running state of the edge nodes to be shrunk to offline, and deleting the edge nodes to be shrunk from the edge cloud resource domain.

5. The method according to claim 1, further including: Obtaining the performance requirement information of the user; According to the performance requirement information of the user, selecting an edge cloud resource domain that meets the performance requirement information; Setting the selected edge cloud resource domain as the edge cloud resource domain associated with the user.

6. The method according to claim 1, further including: Determining the project scale of the user, where the project scale includes a data volume index and / or a computing volume index corresponding to the project; According to the project scale, determining the scale of edge nodes to be initialized; According to the scale of edge nodes to be initialized, selecting, from the edge cloud resource domain associated with the user, at least two edge nodes to be initialized for providing resources and disaster tolerance for the user; Initializing the resources of the edge nodes to be initialized to obtain initialized edge nodes, where the target edge node is any one or more of the initialized edge nodes.

7. The method according to claim 1, wherein querying a target edge node that meets the resource scheduling request from the edge cloud resource domain comprises: querying, from the edge cloud resource domain, a target edge node that meets the resource scheduling request according to the node weight corresponding to the edge node, where the node weight is used to represent the scheduling priority of the corresponding edge node, and when the node weight corresponding to the edge node reaches a first preset weight value range, it indicates that data inflow is not allowed for the edge node, and when the node weight corresponding to the edge node reaches a second preset weight value range, it indicates that data inflow is allowed for the edge node, and there are no identical weight values in the first preset weight value range and the second preset weight value range.

8. The method according to claim 7, wherein querying, from the edge cloud resource domain, a target edge node that meets the resource scheduling request according to the node weight corresponding to the edge node comprises: grouping and sorting the edge nodes that meet the candidate conditions in the edge cloud resource domain according to the node weight corresponding to the edge node and the weight dimension to which the node weight belongs, to obtain a sorting result, where the node weight corresponding to the edge node includes weight values corresponding to multiple weight dimensions, and the weight dimensions include at least two of the following weight dimensions: gray control dimension, geographical location dimension, operator network dimension, engine type dimension, scheduling concentration dimension, cost dimension, file life cycle dimension, and user level dimension; selecting a target edge node from the edge nodes that meet the candidate conditions according to the sorting result.

9. The method according to any one of claims 1-8, wherein querying a target edge node that meets the resource scheduling request from the edge cloud resource domain comprises: selecting, from the edge cloud resource domain, a target edge node that meets the resource scheduling request according to any one or more of the service status, running status, storage availability, traffic bandwidth, and concurrency of each edge node in the edge cloud resource domain.

10. The method according to claim 9, wherein selecting, from the edge cloud resource domain, a target edge node that meets the resource scheduling request according to any one or more of the service status, running status, storage availability, traffic bandwidth, and concurrency of each edge node in the edge cloud resource domain comprises: selecting a first candidate edge node from the edge cloud resource domain according to the service status and running status of each edge node in the edge cloud resource domain; selecting, from the first candidate edge nodes, a target edge node that meets the resource scheduling request according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge node.

11. The method according to claim 10, wherein selecting, from the first candidate edge nodes, a target edge node that meets the resource scheduling request according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge node comprises: Select second candidate edge nodes that meet the resource scheduling request from the first candidate edge nodes according to the storage availability, traffic bandwidth, and concurrency of the first candidate edge nodes; Select target edge nodes from the second candidate edge nodes according to the node weights corresponding to the second candidate edge nodes, where the node weights are used to represent the scheduling priorities of the corresponding edge nodes.

12. A resource scheduling system Comprising: A central node and edge nodes; The central node is configured to, in response to receiving a resource scheduling request from a user, determine the edge cloud resource domain associated with the user. The edge cloud resource domain is determined by dividing edge nodes in the edge cloud according to a preset division dimension of preset resources. One edge cloud resource domain is associated with one or more edge nodes. The edge nodes are used to provide the preset resources. The preset resources have attribute values corresponding to the preset division dimension. Edge nodes with the same attribute value are divided into the same edge cloud resource domain. Query target edge nodes that meet the resource scheduling request from the edge cloud resource domain, and schedule the resources of the target edge nodes to the user; The edge nodes are configured to provide resources for the user according to the scheduling of the central node.

13. A computing device Comprising: A memory and a processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the resource scheduling method according to any one of claims 1 to 11 are implemented.

14. A computer-readable storage medium storing computer-executable instructions, and when the computer-executable instructions are executed by a processor, the steps of the resource scheduling method according to any one of claims 1 to 11 are implemented.