Resource scheduling method, resource scheduling device, electronic device and storage medium
The preset mapping table converts user requirements into tree-like tags to realize hierarchical matching of resource pools, solving the problem that resource scheduling schemes in the existing technology cannot match descriptive requirements, and improving the accuracy and efficiency of resource matching.
Patent Information
- Application Number
- CN202111536192.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-14
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-12-14
AI Technical Summary
In the prior art, resource scheduling schemes cannot effectively match descriptive user application requirements with standardized resource pools, resulting in inaccurate resource matching and low efficiency.
The application requirements in the resource scheduling request are converted into demand tags through preset mapping tables, and the target hardware resources are determined from the resource pool based on these tags. The tree labels are used to match the resource pool hierarchical matching to achieve the disassembly of user application requirements and Accepted.
It improves the accuracy and flexibility of resource matching, improves the efficiency of resource scheduling, and reduces user learning costs and resource scheduling errors.
Smart Images

Figure CN114201300B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the fields of cloud computing technology and financial technology, and more specifically, to a resource scheduling method, a resource scheduling device, an electronic device, a readable storage medium, and a computer program product. Background Art
[0002] As a resource provision model with ultra-large scale, virtualization, high availability, high scalability and on-demand supply, cloud computing can provide convenient and available network access, fast supply and configurable computing resources. Among them, the cloud platform, as a platform for managing cloud computing resources, organizes and manages cloud computing hardware resources according to a certain model, and provides users with matching resource capabilities based on their application needs.
[0003] In the process of implementing the concept of the present disclosure, the inventors found that there are at least the following problems in the related art: the resource scheduling scheme of the related art cannot achieve the matching between the descriptive user application requirements and the standardized resource pool. Summary of the invention
[0004] In view of this, the present disclosure provides a resource scheduling method, a resource scheduling device, an electronic device, a readable storage medium and a computer program product.
[0005] One aspect of the present disclosure provides a resource scheduling method, including: in response to a resource scheduling request, obtaining application requirements carried in the above resource scheduling request; querying from a first preset mapping table to obtain multiple requirement tags associated with the above application requirements; for each of the above requirement tags, querying from a second preset mapping table to obtain a target resource pool tag associated with the above requirement tag; and determining a target hardware resource from a resource pool based on the above target resource pool tag.
[0006] According to an embodiment of the present disclosure, the above-mentioned application requirement is configured with an application environment; wherein, the above-mentioned query from the second preset mapping table to obtain the target resource pool tag associated with the above-mentioned requirement tag includes: based on the above-mentioned second preset mapping table, performing an associated query on the above-mentioned requirement tag to obtain a query result; when the above-mentioned query result indicates that there is at least one resource pool tag associated with the above-mentioned requirement tag, obtaining resource information of at least one hardware resource corresponding to at least one of the above-mentioned resource pool tags from the above-mentioned resource pool; determining the target resource matching strategy from multiple resource matching strategies based on the above-mentioned application environment; and determining the above-mentioned target resource pool tag from at least one of the above-mentioned resource pool tags based on the above-mentioned target resource matching strategy and the resource information of at least one of the above-mentioned hardware resources.
[0007] According to an embodiment of the present disclosure, each of the above-mentioned requirement tags has approximate matching identification information; the above-mentioned method also includes: when the above-mentioned query result indicates that there is no resource pool tag associated with the above-mentioned requirement tag, obtaining the target approximate matching identification information of the above-mentioned requirement tag; when the above-mentioned target approximate matching identification information is characterized as enabled, determining the target requirement tag from other requirement tags; and based on the above-mentioned second preset mapping table, performing an association query on the above-mentioned target requirement tag.
[0008] According to an embodiment of the present disclosure, the above-mentioned multiple requirement tags belong to a hierarchical tag tree, and each of the above-mentioned requirement tags has a corresponding parent tag and / or child tag; wherein, the above-mentioned determination of the target requirement tag from other requirement tags includes: obtaining at least one same-level child tag with the same parent tag as the above-mentioned requirement tag from the above-mentioned hierarchical tag tree; and determining the above-mentioned target requirement tag from at least one of the above-mentioned same-level child tags.
[0009] According to an embodiment of the present disclosure, the method further includes: when the target approximate matching identification information is characterized as prohibited, sending feedback information of insufficient hardware resources to the requester that initiated the resource scheduling request.
[0010] According to an embodiment of the present disclosure, the above-mentioned application requirements include computing resource requirements, storage resource requirements and network resource requirements; wherein the above-mentioned requirement tags include at least one first requirement tag associated with the above-mentioned computing resource requirements, at least one second requirement tag associated with the above-mentioned storage resource requirements and at least one third requirement tag associated with the above-mentioned network resource requirements.
[0011] Another aspect of the present disclosure provides a resource scheduling device, including:
[0012] An acquisition module is used to respond to a resource scheduling request and obtain the application requirements carried in the above resource scheduling request; a first query module is used to query from a first preset mapping table to obtain multiple requirement tags associated with the above application requirements; a second query module is used to query from a second preset mapping table for each of the above requirement tags and obtain a target resource pool tag associated with the above requirement tag; and a determination module is used to determine the target hardware resource from the resource pool based on the above target resource pool tag.
[0013] Another aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more instructions, wherein when the one or more instructions are executed by the one or more processors, the one or more processors implement the method as described above.
[0014] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the above method when executed.
[0015] Another aspect of the present disclosure provides a computer program product, which includes computer executable instructions, and when the instructions are executed, are used to implement the method as described above.
[0016] According to the embodiments of the present disclosure, after receiving a resource scheduling request, the application requirements in the resource scheduling request can be mapped to requirement tags in turn through two pre-set mapping tables, and then the requirement tags can be mapped to resource pool tags, and then the corresponding hardware resources can be called from the resource pool according to the resource pool tags. Through the above technical means, the technical problem that the resource scheduling scheme in the related art cannot achieve the matching between the descriptive user application requirements and the standardized resource pool is at least partially overcome, thereby effectively improving the accuracy and flexibility of resource matching and improving the efficiency of resource scheduling. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0018] Figure 1 An exemplary system architecture to which the resource scheduling method according to an embodiment of the present disclosure can be applied is schematically shown.
[0019] Figure 2 The flowchart of the resource scheduling method according to the embodiment of the present disclosure is schematically shown.
[0020] Figure 3 A schematic diagram schematically shows a process of splitting application requirements according to an embodiment of the present disclosure.
[0021] Figure 4 The flowchart of the method for querying the association of the target resource pool tag according to the embodiment of the present disclosure is schematically shown.
[0022] Figure 5 The block diagram of a resource scheduling device according to an embodiment of the present disclosure is schematically shown.
[0023] Figure 6 A block diagram of an electronic device suitable for implementing a resource scheduling method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0024] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0025] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0026] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.
[0027] In the case of using expressions such as "at least one of A, B, and C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.). In the case of using expressions such as "at least one of A, B, or C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, or C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0028] In related technologies, the application requirements of cloud platform users, in addition to hardware specification requirements, are often also reflected in the requirements for data centers, technology stacks, environments, application types, etc. Currently, common resource allocation solutions focus on the standardization and labeling of resource pools. By configuring one or more labels, they can only support the requirements on hardware specifications, and cannot solve the matching problem between descriptive user application requirements and standardized resource pools.
[0029] In view of this, an embodiment of the present disclosure provides a method for matching cloud platform application requirements with resource pools, which completes the decomposition and acceptance of user application requirements by converting user-descriptive application requirements into resource requirements identified by tree-like tags; the resource requirements after acceptance are hierarchically matched with resource pools through tree-like tags, and finally resource allocation that meets user application requirements is achieved.
[0030] Specifically, the embodiments of the present disclosure provide a resource scheduling method, a resource scheduling device, an electronic device, a readable storage medium, and a computer program product. The method includes: in response to a resource scheduling request, obtaining an application requirement carried in the resource scheduling request; querying a plurality of requirement tags associated with the application requirement from a first preset mapping table; querying a target resource pool tag associated with the requirement tag from a second preset mapping table for each requirement tag; and determining a target hardware resource from a resource pool based on the target resource pool tag.
[0031] It should be noted that the resource scheduling method and device determined in the embodiments of the present disclosure can be used in the field of cloud computing technology or the field of financial technology, and can also be used in any field other than the field of cloud computing technology and the field of finance. The application field of the resource scheduling method and device determined in the embodiments of the present disclosure is not limited.
[0032] Figure 1 The exemplary system architecture to which the resource scheduling method according to the embodiment of the present disclosure can be applied is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0033] like Figure 1 As shown, the system architecture 100 according to this embodiment may include terminal devices 101 , 102 , 103 , a network 104 and a server 105 .
[0034] The terminal devices 101 , 102 , and 103 may be any electronic devices, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
[0035] The terminal devices 101, 102, and 103 may be installed with cloud platform client applications, including but not limited to cloud disks, cloud games, etc. Users may apply for application environments from the cloud platform through the cloud platform client applications, and propose descriptive requirements for computing resources, storage resources, and network environments.
[0036] The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired and / or wireless communication links.
[0037] Server 105 can be any server that provides services in the cloud platform, for example, a management server that provides resource scheduling services to users. The management server can process the descriptive requirements provided by the user and match the corresponding hardware resources for the terminal device to call.
[0038] It should be noted that the resource scheduling method provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the resource scheduling device provided in the embodiment of the present disclosure can generally be set in the server 105. The resource scheduling method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Accordingly, the resource scheduling device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105.
[0039] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0040] Figure 2 The flowchart of the resource scheduling method according to the embodiment of the present disclosure is schematically shown.
[0041] like Figure 2 As shown, the method includes operations S201 to S204.
[0042] In operation S201, in response to a resource scheduling request, an application requirement carried in the resource scheduling request is obtained.
[0043] In operation S202, a plurality of requirement tags associated with the application requirement are queried from a first preset mapping table.
[0044] In operation S203, for each requirement tag, a target resource pool tag associated with the requirement tag is queried from the second preset mapping table.
[0045] In operation S204, a target hardware resource is determined from the resource pool based on the target resource pool tag.
[0046] According to an embodiment of the present disclosure, a user of a cloud platform may initiate a resource scheduling request through a client device.
[0047] According to an embodiment of the present disclosure, application requirements may be divided into computing resource requirements, storage resource requirements, and network resource requirements.
[0048] According to the embodiments of the present disclosure, the user's application requirements may include standardized hardware specification requirements, and may also include descriptive and comprehensive requirements. For example, if the user's application requirements are database types and used in production environments, then the application requirements also hide resource requirements for computing, storage, and network resources such as cluster high availability, HBA cards, and multiple IP addresses.
[0049] According to an embodiment of the present disclosure, the first preset mapping table can be pre-set by a developer, and the first preset mapping table can be used to configure the association between the requirement items for computing, storage and network resources filled in by the user at the application requirement layer and one or more tags at the resource requirement layer.
[0050] According to an embodiment of the present disclosure, the requirement items filled in by the user at the application requirement layer may include the user's descriptive application requirements, for example, the application type is DB type, AP type, etc., and the application environment is test environment, production environment, etc.
[0051] According to an embodiment of the present disclosure, one or more tags of the resource requirement layer can be implemented as a hierarchical tag tree, which can include tags of different levels belonging to public resource requirements, computing resource requirements, storage resource requirements, and network resource requirements. For example, the environment tag in the public resource requirement can include the tag value "production environment" and the first-level sub-tags "production interconnection environment" and "production external environment".
[0052] For example, the application requirements carried in the resource scheduling request include the application environment of functional testing and the application type of database. Through the first preset mapping table, the corresponding multiple IP labels, hard disk labels, computing framework labels, etc. can be queried.
[0053] According to an embodiment of the present disclosure, the second preset mapping table can be pre-set by a developer, and the second preset mapping table can be used to configure the association relationship between the demand tag and the resource pool tag of each hardware resource in the resource pool. The relationship can be a one-to-one or one-to-many relationship, that is, one demand tag can have any corresponding number of resource pool tags.
[0054] According to an embodiment of the present disclosure, the resource pool tag of a hardware resource may be a unique identification code of the hardware resource or other unique tag to achieve unique correspondence between the resource pool tag and the hardware resource.
[0055] According to an embodiment of the present disclosure, after the target hardware resources corresponding to all the demand tags are determined, services can be provided to the user through the determined multiple target hardware resources.
[0056] According to the embodiments of the present disclosure, after receiving a resource scheduling request, the application requirements in the resource scheduling request can be mapped to requirement tags in turn through two pre-set mapping tables, and then the requirement tags can be mapped to resource pool tags, and then the corresponding hardware resources can be called from the resource pool according to the resource pool tags. Through the above technical means, the technical problem that the resource scheduling scheme in the related art cannot achieve the matching between the descriptive user application requirements and the standardized resource pool is at least partially overcome, thereby effectively improving the accuracy and flexibility of resource matching and improving the efficiency of resource scheduling.
[0057] Reference below Figure 3-4 , combined with specific embodiments Figure 2 The method shown is further explained.
[0058] Figure 3 A schematic diagram schematically shows a process of splitting application requirements according to an embodiment of the present disclosure.
[0059] like Figure 3 As shown, the embodiment of the present disclosure is described by taking the OraclellgRac application deployment for the functional test environment as an example in which the resources applied for by the user are deployed.
[0060] According to an embodiment of the present disclosure, the user's application requirements are split based on the application environment and the application type, and it can be determined that the application environment is a functional test and the application type is an Oracle Rac database.
[0061] According to an embodiment of the present disclosure, the user's application requirements include computing resource requirements, storage resource requirements, and network resource requirements, wherein the requirement tags include at least one first requirement tag associated with the computing resource requirements, at least one second requirement tag associated with the storage resource requirements, and at least one third requirement tag associated with the network resource requirements.
[0062] According to an embodiment of the present disclosure, based on the functional test in the test environment as the application environment, the functional test sub-environment label in the test environment label can be matched to the computing, storage and network resource requirements by querying the first preset mapping table, and the non-cluster high availability label can be matched to the computing resource requirements.
[0063] According to the embodiments of the present disclosure, based on the application type being Oracle Rac database, which belongs to the database type, the computing resource requirements can be matched with an x86 architecture label by querying the first preset mapping table; the system disk storage sub-requirement in the storage resource requirements can be matched with a SAN label, and the data disk storage sub-requirement in the storage resource requirements can be matched with an RDM label and an HBA card label; the five IPs required for the network resource requirements can be matched with a production IP label, a management IP label, two virtual IP labels, and a private IP label, respectively.
[0064] According to the embodiments of the present disclosure, by splitting and mapping the user's descriptive user requirements, the user does not need to write the required hardware resource specifications in full into the application requirements, thereby reducing the user's learning cost and also reducing the random errors in resource scheduling caused by user subjective errors.
[0065] Figure 4 The flowchart of the method for querying the association of the target resource pool tag according to the embodiment of the present disclosure is schematically shown.
[0066] like Figure 4 As shown, the method includes operations S401 to S406.
[0067] It should be noted that, unless it is explicitly stated that there is a sequence of execution between different operations shown in the flowchart in the embodiments of the present disclosure, or there is a sequence of execution between different operations in technical implementation, otherwise, the execution order of multiple operations may not be prioritized, and multiple operations may also be executed simultaneously.
[0068] In operation S401, an association query is performed on the requirement tags based on the second preset mapping table.
[0069] In operation S402, determine whether the number of queried resource pool tags is greater than zero; if the determined query result indicates that there is at least one resource pool tag associated with the requirement tag, perform operation S403; if the determined query result indicates that there is no resource pool tag associated with the requirement tag, perform operation S404.
[0070] In operation S403, a target resource pool tag is determined from the at least one resource pool tag found.
[0071] In operation S404, it is determined whether the approximate match identification information of the requirement tag indicates enable. If it is determined that the approximate match identification information of the requirement tag indicates enable, operation S405 is performed; if it is determined that the approximate match identification information of the requirement tag indicates disable, operation S406 is performed.
[0072] In operation S405, the target demand tag is matched from other demand tags through approximate matching. After completing operation S405, the process returns to execute operation S401 to perform an association query on the target demand tag.
[0073] In operation S406, feedback information of insufficient hardware resources is sent to the requester that initiated the resource scheduling request.
[0074] According to an embodiment of the present disclosure, the number of resource pool tags obtained through association query may be zero, one, or multiple.
[0075] According to an embodiment of the present disclosure, when there are multiple resource pool tags obtained through the associated query, operation S403 also includes the following operations: obtaining resource information of at least one hardware resource corresponding to at least one resource pool tag from the resource pool; determining a target resource matching strategy from multiple resource matching strategies based on the application environment; determining a target resource pool tag from at least one resource pool tag based on the target resource matching strategy and the resource information of at least one hardware resource.
[0076] According to the embodiments of the present disclosure, in the resource scheduling process, the resource matching strategy can be selected according to the application environment configured in the application requirements. For example, in a test environment, stress testing is usually required to verify the reliability of the service. At this time, a high-load priority resource matching strategy can be adopted to prioritize the task requirements to the same hardware resources to simulate a high-load test environment; for another example, in a production environment, in order to ensure the stability and high availability of the service, an average-load resource matching strategy is usually adopted.
[0077] According to an embodiment of the present disclosure, multiple requirement tags queried through the first preset mapping table may belong to the same hierarchical tag tree, and each requirement tag has a corresponding parent tag and / or child tag. For example, a production environment tag may have a production interconnection environment child tag and a production external environment child tag, and a tag at the same level as the production environment tag may have a test environment tag, and the production environment tag and the test environment tag may have a common application environment parent tag.
[0078] According to an embodiment of the present disclosure, each requirement tag may be configured with approximate matching identification information. When the approximate matching identification information indicates that it is enabled, an identical match may be performed first, and an approximate match may be performed when an identical match cannot obtain the corresponding hardware resources.
[0079] According to an embodiment of the present disclosure, operation S405 may further include the following operations: acquiring at least one sibling sub-tag having the same parent tag as the requirement tag from the hierarchical tag tree; and determining the target requirement tag from the at least one sibling sub-tag.
[0080] According to an embodiment of the present disclosure, the specific strategy adopted to determine the target requirement tag from at least one same-level sub-tag is not limited, including but not limited to random selection, selection based on positional relationship in the hierarchical tag tree, selection based on priority, etc.
[0081] According to an embodiment of the present disclosure, after determining the target demand tag, a queried identifier can be added to the target demand tag, and the identifier is canceled after the associated resource pool tag is successfully queried, thereby reducing repeated queries caused by insufficient hardware resources and improving resource scheduling efficiency.
[0082] Figure 5 The block diagram of a resource scheduling device according to an embodiment of the present disclosure is schematically shown.
[0083] like Figure 5 As shown, the resource scheduling device 500 includes an acquisition module 510 , a first query module 520 , a second query module 530 and a determination module 540 .
[0084] The acquisition module 510 is used to respond to the resource scheduling request and acquire the application requirements carried in the resource scheduling request.
[0085] The first query module 520 is used to query and obtain multiple requirement tags associated with the application requirement from the first preset mapping table.
[0086] The second query module 530 is used to query the second preset mapping table for each requirement tag and obtain the target resource pool tag associated with the requirement tag.
[0087] The determination module 540 is used to determine the target hardware resource from the resource pool based on the target resource pool tag.
[0088] According to the embodiments of the present disclosure, after receiving a resource scheduling request, the application requirements in the resource scheduling request can be mapped to requirement tags in turn through two pre-set mapping tables, and then the requirement tags can be mapped to resource pool tags, and then the corresponding hardware resources can be called from the resource pool according to the resource pool tags. Through the above technical means, the technical problem that the resource scheduling scheme in the related art cannot achieve the matching between the descriptive user application requirements and the standardized resource pool is at least partially overcome, thereby effectively improving the accuracy and flexibility of resource matching and improving the efficiency of resource scheduling.
[0089] According to an embodiment of the present disclosure, the application requirement is configured with an application environment.
[0090] According to an embodiment of the present disclosure, the second query module 530 includes a first query unit, a second query unit, a third query unit, and a fourth query unit.
[0091] The first query unit is used to perform an association query on the demand tag based on the second preset mapping table to obtain a query result.
[0092] The second query unit is configured to obtain resource information of at least one hardware resource corresponding to the at least one resource pool tag from the resource pool when the query result indicates that there is at least one resource pool tag associated with the requirement tag.
[0093] The third query unit is used to determine a target resource matching strategy from a plurality of resource matching strategies based on an application environment.
[0094] The fourth query unit is configured to determine a target resource pool tag from at least one resource pool tag based on the target resource matching strategy and resource information of at least one hardware resource.
[0095] According to an embodiment of the present disclosure, each requirement tag has approximately matching identification information.
[0096] According to an embodiment of the present disclosure, the second query module 530 further includes a fifth query unit, a sixth query unit, and a seventh query unit.
[0097] The fifth query unit is configured to obtain target approximate matching identification information of the requirement tag when the query result indicates that there is no resource pool tag associated with the requirement tag.
[0098] The sixth query unit is used to determine the target requirement tag from other requirement tags when the target approximate matching identification information is characterized as enabled.
[0099] The seventh query unit is used to perform an association query on the target demand tag based on the second preset mapping table.
[0100] According to an embodiment of the present disclosure, a plurality of requirement tags belong to a hierarchical tag tree, and each requirement tag has a corresponding parent tag and / or child tag.
[0101] According to an embodiment of the present disclosure, the sixth query unit includes a first query sub-unit and a second query sub-unit.
[0102] The first query subunit is used to obtain at least one child tag of the same level as the required tag from the hierarchical tag tree.
[0103] The second query sub-unit is used to determine the target requirement tag from at least one sub-tag of the same level.
[0104] According to an embodiment of the present disclosure, the resource scheduling device 500 further includes a sending module.
[0105] The sending module is used to send feedback information of insufficient hardware resources to the requester who initiates the resource scheduling request when the target approximate matching identification information is characterized as prohibited.
[0106] According to an embodiment of the present disclosure, application requirements include computing resource requirements, storage resource requirements, and network resource requirements. The requirement tags include at least one first requirement tag associated with the computing resource requirements, at least one second requirement tag associated with the storage resource requirements, and at least one third requirement tag associated with the network resource requirements.
[0107] According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, submodules, units, and subunits can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.
[0108] For example, any multiple of the acquisition module 510, the first query module 520, the second query module 530, and the determination module 540 can be combined in one module / unit / subunit for implementation, or any one of the modules / units / subunits can be split into multiple modules / units / subunits. Alternatively, at least part of the functions of one or more of these modules / units / subunits can be combined with at least part of the functions of other modules / units / subunits and implemented in one module / unit / subunit. According to an embodiment of the present disclosure, at least one of the acquisition module 510, the first query module 520, the second query module 530, and the determination module 540 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or by any one of the three implementation methods of software, hardware, and firmware, or by a suitable combination of any of them. Alternatively, at least one of the acquisition module 510 , the first query module 520 , the second query module 530 , and the determination module 540 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be performed.
[0109] It should be noted that the resource scheduling device part in the embodiment of the present disclosure corresponds to the resource scheduling method part in the embodiment of the present disclosure. The description of the resource scheduling device part specifically refers to the resource scheduling method part, which will not be repeated here.
[0110] Figure 6A block diagram of an electronic device suitable for implementing a resource scheduling method according to an embodiment of the present disclosure is schematically shown. Figure 6 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0111] like Figure 6 As shown, the computer electronic device 600 according to the embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 602 or the program loaded from the storage part 608 to the random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (for example, an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include an onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiment of the present disclosure.
[0112] In RAM 603, various programs and data required for the operation of electronic device 600 are stored. Processor 601, ROM 602 and RAM 603 are connected to each other via bus 604. Processor 601 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 602 and / or RAM 603. It should be noted that the program can also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.
[0113] According to an embodiment of the present disclosure, the electronic device 600 may further include an input / output (I / O) interface 605, which is also connected to the bus 604. The electronic device 600 may further include one or more of the following components connected to the I / O interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 608 including a hard disk, etc.; and a communication portion 609 including a network interface card such as a LAN card, a modem, etc. The communication portion 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage portion 608 as needed.
[0114] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.
[0115] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
[0116] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus, or device.
[0117] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 602 and / or the RAM 603 described above and / or one or more memories other than the ROM 602 and the RAM 603 .
[0118] An embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains a program code for executing the method provided by the embodiment of the present disclosure. When the computer program product runs on an electronic device, the program code is used to enable the electronic device to implement the resource scheduling method provided by the embodiment of the present disclosure.
[0119] When the computer program is executed by the processor 601, the above functions defined in the system / device of the embodiment of the present disclosure are executed. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0120] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 609, and / or installed from a removable medium 611. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0121] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).
[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions. It can be understood by those skilled in the art that the features recorded in the various embodiments and / or claims of the present disclosure can be combined and / or combined in a variety of ways, even if such a combination or combination is not explicitly recorded in the present disclosure. In particular, without departing from the spirit and teaching of the present disclosure, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.
[0123] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. A resource scheduling method, include: In response to a resource scheduling request, obtaining an application requirement carried in the resource scheduling request; Querying a first preset mapping table to obtain a plurality of requirement tags associated with the application requirement; For each of the requirement tags, respectively, query from a second preset mapping table to obtain a target resource pool tag associated with the requirement tag; as well as Based on the target resource pool tag, determining a target hardware resource from the resource pool; Wherein, the application requirement is configured with an application environment; The step of querying from the second preset mapping table to obtain the target resource pool tag associated with the demand tag includes: Based on the second preset mapping table, performing an association query on the demand tag to obtain a query result; When the query result indicates that there is at least one resource pool tag associated with the demand tag, obtaining resource information of at least one hardware resource corresponding to at least one resource pool tag from the resource pool; Determining a target resource matching strategy from a plurality of resource matching strategies based on the application environment; and The target resource pool tag is determined from at least one of the resource pool tags based on the target resource matching strategy and resource information of at least one of the hardware resources.
2. The method according to claim 1, in, Each of the demand tags has approximately matching identification information; The method further comprises: When the query result indicates that there is no resource pool tag associated with the requirement tag, obtaining target approximate matching identification information of the requirement tag; In a case where the target approximate matching identification information is characterized as enabled, determining a target requirement tag from other requirement tags; and Based on the second preset mapping table, an association query is performed on the target demand tag.
3. The method according to claim 2, in, The multiple demand tags belong to a hierarchical tag tree, and each of the demand tags has a corresponding parent tag and / or child tag; Wherein, determining the target demand tag from other demand tags includes: Acquire at least one child tag of the same level as the required tag from the hierarchical tag tree; and The target requirement tag is determined from at least one of the sibling sub-tags.
4. The method according to claim 2, further comprising: include: When the target approximate match identification information indicates that the target approximate match identification information is prohibited, feedback information indicating that hardware resources are insufficient is sent to the requester that initiated the resource scheduling request.
5. The method according to claim 1, in, The application requirements include computing resource requirements, storage resource requirements and network resource requirements; The demand tags include at least one first demand tag associated with the computing resource demand, at least one second demand tag associated with the storage resource demand, and at least one third demand tag associated with the network resource demand.
6. A resource scheduling method and device, include: An acquisition module, configured to respond to a resource scheduling request and acquire an application requirement carried in the resource scheduling request; A first query module, used to query and obtain a plurality of requirement tags associated with the application requirement from a first preset mapping table; A second query module is used to query from a second preset mapping table for each of the demand tags to obtain a target resource pool tag associated with the demand tag; as well as A determination module, configured to determine a target hardware resource from a resource pool based on the target resource pool tag; Wherein, the application requirement is configured with an application environment; Wherein, the second query module includes: A first query unit, configured to perform an association query on the demand tag based on the second preset mapping table to obtain a query result; A second query unit is configured to obtain, from the resource pool, resource information of at least one hardware resource corresponding to at least one resource pool tag respectively when the query result indicates that there is at least one resource pool tag associated with the demand tag; A third query unit, configured to determine a target resource matching strategy from a plurality of resource matching strategies based on the application environment; and The fourth query unit is used to determine the target resource pool tag from at least one of the resource pool tags based on the target resource matching strategy and resource information of at least one of the hardware resources.
7. An electronic device, include: one or more processors; A memory for storing one or more instructions, Wherein, when the one or more instructions are executed by the one or more processors, the one or more processors are enabled to implement the method according to any one of claims 1 to 5.
8. A computer-readable storage medium having executable instructions stored thereon, wherein when the executable instructions are executed by a processor, the processor is enabled to implement the method according to any one of claims 1 to 5.
9. A computer program product, comprising computer executable instructions, wherein the computer executable instructions are used to implement the method according to any one of claims 1 to 5 when executed.
