CN114201300A - Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium - Google Patents

Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium Download PDF

Info

Publication number
CN114201300A
CN114201300A CN202111536192.4A CN202111536192A CN114201300A CN 114201300 A CN114201300 A CN 114201300A CN 202111536192 A CN202111536192 A CN 202111536192A CN 114201300 A CN114201300 A CN 114201300A
Authority
CN
China
Prior art keywords
resource
label
demand
target
requirement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111536192.4A
Other languages
Chinese (zh)
Inventor
李波
张程
张胡颖逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202111536192.4A priority Critical patent/CN114201300A/en
Publication of CN114201300A publication Critical patent/CN114201300A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present disclosure provides a resource scheduling method, including: responding to the resource scheduling request, and acquiring an application requirement carried in the resource scheduling request; querying a plurality of requirement labels associated with application requirements from a first preset mapping table; respectively inquiring a target resource pool label associated with the demand label from a second preset mapping table aiming at each demand label; and determining a target hardware resource from the resource pool based on the target resource pool tag. In addition, the disclosure also provides a resource scheduling device, an electronic device and a readable storage medium.

Description

Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium
Technical Field
The present disclosure relates to the field of cloud computing technology and the field of financial technology, and more particularly, to a resource scheduling method, a resource scheduling apparatus, an electronic device, a readable storage medium, and a computer program product.
Background
The cloud computing is a resource providing mode with super-large scale, virtualization, high availability, high expansibility and on-demand supply, and can provide convenient and available network access, fast supply and configurable computing resources. The cloud platform is used as a platform for managing cloud computing resources, organizes and manages cloud computing hardware resources according to a certain mode, and provides matched resource capacity for users according to application requirements of the users.
In implementing the disclosed concept, the inventors found that there are at least the following problems in the related art: the related art resource scheduling schemes cannot achieve matching between descriptive user application requirements and standardized resource pools.
Disclosure of Invention
In view of the above, the present disclosure provides a resource scheduling method, a resource scheduling apparatus, an electronic device, a readable storage medium, and a computer program product.
One aspect of the present disclosure provides a resource scheduling method, including: responding to a resource scheduling request, and acquiring an application requirement carried in the resource scheduling request; inquiring a plurality of requirement labels associated with the application requirements from a first preset mapping table; respectively inquiring a target resource pool label associated with the demand label from a second preset mapping table aiming at each demand label; and determining the target hardware resource from the resource pool based on the target resource pool label.
According to the embodiment of the present disclosure, the application requirement is configured with an application environment; the querying of the target resource pool tag associated with the requirement tag from the second preset mapping table includes: based on the second preset mapping table, performing association query on the requirement label to obtain a query result; acquiring resource information of at least one hardware resource corresponding to at least one resource pool label from the resource pool under the condition that the query result shows that the at least one resource pool label associated with the requirement label exists; determining a target resource matching strategy from a plurality of resource matching strategies based on the application environment; and determining the target resource pool label from at least one resource pool label based on the target resource matching strategy and the resource information of at least one hardware resource.
According to an embodiment of the present disclosure, each of the above requirement tags has approximate matching identification information; the method further comprises the following steps: under the condition that the query result shows that the resource pool label associated with the demand label does not exist, acquiring target approximate matching identification information of the demand label; under the condition that the target approximate matching identification information is characterized as enabled, determining a target demand label from other demand labels; and performing association query on the target demand label based on the second preset mapping table.
According to an embodiment of the present disclosure, the plurality of requirement tags belong to a hierarchical tag tree, and each requirement tag has a corresponding mother tag and/or child tag; wherein, the determining the target requirement label from the other requirement labels includes: acquiring at least one same-level sub label with the same parent label as the requirement label from the hierarchical label tree; and determining the target requirement label from at least one peer sub-label.
According to an embodiment of the present disclosure, the method further includes: and sending feedback information of insufficient hardware resources to a requester initiating the resource scheduling request under the condition that the target approximate matching identification information is characterized as forbidden.
According to the embodiment of the disclosure, the application requirements include computing resource requirements, storage resource requirements and network resource requirements; wherein the demand labels include at least one first demand label associated with the computing resource demand, at least one second demand label associated with the storage resource demand, and at least one third demand label associated with the network resource demand.
Another aspect of the present disclosure provides a resource scheduling apparatus, including:
the acquisition module is used for responding to the resource scheduling request and acquiring the application requirements carried in the resource scheduling request; the first query module is used for querying a first preset mapping table to obtain a plurality of requirement labels related to the application requirements; a second query module, configured to query, for each requirement tag, a target resource pool tag associated with the requirement tag from a second preset mapping table; and the determining module is used for determining the target hardware resource from the resource pool based on the target resource pool label.
Another aspect of the present disclosure provides an electronic device including: one or more processors; memory to store one or more instructions, wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement a method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program product comprising computer executable instructions for implementing the method as described above when executed.
According to the embodiment of the disclosure, after a resource scheduling request is received, application requirements in the resource scheduling request can be mapped into requirement labels in sequence through two preset mapping tables, and then the requirement labels are mapped into resource pool labels, so that corresponding hardware resources can be called from a resource pool according to the resource pool labels. By the technical means, the technical problem that the matching between descriptive user application requirements and a standardized resource pool cannot be realized in a resource scheduling scheme in the related technology is at least partially solved, so that the accuracy and flexibility of resource matching are effectively improved, and the efficiency of resource scheduling is improved.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments of the present disclosure with reference to the accompanying drawings, in which:
fig. 1 schematically shows an exemplary system architecture to which a resource scheduling method may be applied according to an embodiment of the present disclosure.
Fig. 2 schematically shows a flow chart of a resource scheduling method according to an embodiment of the present disclosure.
Fig. 3 schematically shows a schematic diagram of a splitting flow of application requirements according to an embodiment of the present disclosure.
FIG. 4 schematically shows a flowchart of an association query method for querying a target resource pool label according to an embodiment of the present disclosure.
Fig. 5 schematically shows a block diagram of a resource scheduling apparatus according to an embodiment of the present disclosure.
Fig. 6 schematically shows a block diagram of an electronic device adapted to implement a resource scheduling method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the related art, the application requirements of the cloud platform user are usually reflected in requirements on data centers, technology stacks, environments, application types and the like, except for hardware specification requirements. The current common resource allocation scheme focuses on standardization and tagging of a resource pool, and only can support the requirement on hardware specification by configuring one or more tags, so that the problem of matching between descriptive user application requirements and the standardized resource pool cannot be solved.
In view of this, embodiments of the present disclosure provide a method for matching a cloud platform application requirement with a resource pool, where the method completes the disassembly and adaptation of a user application requirement by converting a user descriptive application requirement into a resource requirement of a tree-shaped tag identifier; and finally realizing resource allocation meeting the application requirements of the user through the hierarchical matching of the tree-shaped label and the resource pool.
Specifically, embodiments of the present disclosure provide a resource scheduling method, a resource scheduling apparatus, an electronic device, a readable storage medium, and a computer program product. The method comprises the following steps: responding to the resource scheduling request, and acquiring an application requirement carried in the resource scheduling request; querying a plurality of requirement labels associated with application requirements from a first preset mapping table; respectively inquiring a target resource pool label associated with the demand label from a second preset mapping table aiming at each demand label; and determining a target hardware resource from the resource pool based on the target resource pool tag.
It should be noted that the resource scheduling method and apparatus determined in the embodiments of the present disclosure may be used in the field of cloud computing technology or the field of financial technology, and may also be used in any field other than the field of cloud computing technology and the field of financial technology. The application fields of the resource scheduling method and the resource scheduling device determined by the embodiment of the disclosure are not limited.
Fig. 1 schematically shows an exemplary system architecture to which a resource scheduling method may be applied according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a system architecture to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the system architecture 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105.
The terminal devices 101, 102, 103 may be any electronic device including, but not limited to, smart phones, tablets, laptop portable computers, desktop computers, and the like.
The terminal devices 101, 102, 103 may have a cloud platform client application installed thereon, including but not limited to a cloud disk, a cloud game, and the like. A user can apply for an application environment from the cloud platform through the cloud platform client application, and descriptive requirements for computing resources, storage resources and a network environment are provided.
The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired and/or wireless communication links, and so forth.
The server 105 may be any server providing services in the cloud platform, for example, a management server providing resource scheduling services for users, and the management server may process descriptive requirements provided by the users and match corresponding hardware resources for the terminal devices to call.
It should be noted that the resource scheduling method provided by the embodiment of the present disclosure may be generally executed by the server 105. Accordingly, the resource scheduling apparatus provided by the embodiment of the present disclosure may be generally disposed in the server 105. The resource scheduling method provided by the embodiment of the present disclosure may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the terminal devices 101, 102, 103 and/or the server 105. Correspondingly, the resource scheduling apparatus provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the server 105 and capable of communicating with the terminal devices 101, 102, 103 and/or the server 105.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Fig. 2 schematically shows a flow chart of a resource scheduling method according to an embodiment of the present disclosure.
As shown in fig. 2, the method includes operations S201 to S204.
In operation S201, in response to the resource scheduling request, the application requirement carried in the resource scheduling request is obtained.
In operation S202, a plurality of requirement tags associated with the application requirement are obtained by querying from a first preset mapping table.
In operation S203, for each requirement label, a target resource pool label associated with the requirement label is obtained by querying from a second preset mapping table.
In operation S204, a target hardware resource is determined from the resource pool based on the target resource pool tag.
According to the embodiment of the disclosure, a user of the cloud platform can initiate a resource scheduling request through the client device.
According to embodiments of the present disclosure, application requirements may be divided into computing resource requirements, storage resource requirements, and network resource requirements.
According to an embodiment of the present disclosure, the application requirements of the user may include standardized hardware specification requirements, and may also include descriptive, comprehensive requirements. For example, if the user's application requirements are of a database type, for a production environment, the application requirements also hide the resource requirements for computing, storage, network resources such as cluster high availability, HBA cards, multiple IP addresses, etc.
According to an embodiment of the disclosure, the first preset mapping table may be preset by a developer, and the first preset mapping table may be used to configure an association relationship between a requirement item on computing, storage and network resources filled by a user in an application requirement layer and one or more tags of the resource requirement layer.
According to the embodiment of the disclosure, the requirement items filled out by the user in the application requirement layer may include descriptive application requirements of the user, for example, the application type is DB type, AP type, and the like, and the application environment is a test environment, a production environment, and the like.
According to embodiments of the present disclosure, one or more tags of a resource demand layer may be implemented as a hierarchical tag tree, which may include tags attributed to different levels of public resource demand, computing resource demand, storage resource demand, network resource demand. For example, environment tags in a common resource requirement may include the tag value "production environment" and the first level sub-tags "production interconnect environment" and "production extranet environment".
For example, the application requirements carried in the resource scheduling request include an application environment of function test and an application type of a database, and a plurality of corresponding IP tags, hard disk tags, computation framework tags, and the like can be queried through the first preset mapping table.
According to the embodiment of the present disclosure, the second preset mapping table may be preset by a developer, and the second preset mapping table may be used to configure an association relationship between the requirement label and the resource pool label of each hardware resource in the resource pool, where the relationship may be a one-to-one or one-to-many relationship, that is, one requirement label may have any number of corresponding resource pool labels.
According to an embodiment of the present disclosure, the resource pool tag of the hardware resource may be a unique identifier of the hardware resource or other unique tag, so as to implement unique correspondence between the resource pool tag and the hardware resource.
According to the embodiment of the disclosure, after the target hardware resources corresponding to all the requirement labels are determined, the service can be provided for the user through the plurality of determined target hardware resources.
According to the embodiment of the disclosure, after a resource scheduling request is received, application requirements in the resource scheduling request can be mapped into requirement labels in sequence through two preset mapping tables, and then the requirement labels are mapped into resource pool labels, so that corresponding hardware resources can be called from a resource pool according to the resource pool labels. By the technical means, the technical problem that the matching between descriptive user application requirements and a standardized resource pool cannot be realized in a resource scheduling scheme in the related technology is at least partially solved, so that the accuracy and flexibility of resource matching are effectively improved, and the efficiency of resource scheduling is improved.
The method shown in fig. 2 is further described with reference to fig. 3-4 in conjunction with specific embodiments.
Fig. 3 schematically shows a schematic diagram of a splitting flow of application requirements according to an embodiment of the present disclosure.
As shown in fig. 3, the embodiment of the present disclosure is described by taking the resource applied by the user as the oracle Rac application deployment for the functional test environment.
According to the embodiment of the disclosure, the application requirements of the user are split based on the application environment and the application type, the application environment can be determined to be a function test, and the application type is an Oracle Rac database.
According to an embodiment of the present disclosure, the application requirements of the user include computing resource requirements, storage resource requirements, and network resource requirements. Wherein the demand labels include at least one first demand label associated with computing resource demands, at least one second demand label associated with storage resource demands, and at least one third demand label associated with network resource demands.
According to the embodiment of the disclosure, according to the application environment as the function test in the test environment, the function test sub-environment labels in the test environment labels are matched for the calculation, storage and network resource requirements by inquiring the first preset mapping table, and the non-cluster high-availability label is matched for the calculation resource requirements.
According to the embodiment of the disclosure, the application type is an Oracle Rac database, the database type is the basis, and x86 framework tags can be matched for computing resource requirements by querying a first preset mapping table; matching SAN labels for system disk storage sub-requirements in storage resource requirements, and matching RDM labels and HBA card labels for data disk storage sub-requirements in storage resource requirements; and respectively matching a production IP label, a management IP label, two virtual IP labels and a private IP label for 5 IPs required by network resource requirements.
According to the embodiment of the disclosure, by splitting and mapping the descriptive user requirements of the user, the user does not need to write the required hardware resource specification into the application requirements in full, thereby reducing the learning cost of the user and simultaneously reducing the random error of resource scheduling caused by the subjective error of the user.
FIG. 4 schematically shows a flowchart of an association query method for querying a target resource pool label according to an embodiment of the present disclosure.
As shown in fig. 4, the method includes operations S401 to S406.
It should be noted that, unless explicitly stated that there is an execution sequence between different operations or there is an execution sequence between different operations in technical implementation, the execution sequence between multiple operations may not be sequential, or multiple operations may be executed simultaneously in the flowchart in this disclosure.
In operation S401, an association query is performed on the requirement tag based on the second preset mapping table.
In operation S402, determining whether the number of queried resource pool tags is greater than zero; in case that the determined query result indicates that there is at least one resource pool label associated with the requirement label, performing operation S403; in case the determined query result indicates that there is no resource pool label associated with the requirement label, operation S404 is performed.
In operation S403, a target resource pool label is determined from the queried at least one resource pool label.
In operation S404, it is determined whether the approximate matching identification information of the requirement label is indicated as enabled. In a case where it is determined that the approximate matching identification information of the requirement tag is indicated as enabled, performing operation S405; in a case where it is determined that the approximate matching identification information of the requirement label is indicated as forbidden, operation S406 is performed.
In operation S405, a target requirement tag is matched from other requirement tags through approximate matching. After operation S405 is completed, operation S401 is executed to perform an association query on the target requirement tag.
In operation S406, feedback information of insufficient hardware resources is transmitted to the requester that initiates the resource scheduling request.
According to an embodiment of the present disclosure, there may be zero, one, or more resource pool tags obtained by associating queries.
According to an embodiment of the present disclosure, in the case that there are a plurality of resource pool tags obtained through the association query, operation S403 further includes the following operations: acquiring resource information of at least one hardware resource corresponding to at least one resource pool label from a resource pool; determining a target resource matching policy from a plurality of resource matching policies based on an application environment; a target resource pool label is determined from the at least one resource pool label based on the target resource matching policy and the resource information of the at least one hardware resource.
According to the embodiment of the 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, a stress test is usually required to verify the reliability of the service, and at this time, a resource matching strategy with a high load priority may be adopted to preferentially divide the task requirements into the same hardware resources so as to simulate the high-load test environment; as another example, in a production environment, to ensure stability and high availability of services, an average load resource matching policy is typically employed.
According to the embodiment of the disclosure, a plurality of requirement tags queried through a first preset mapping table can belong to the same hierarchical tag tree, and each requirement tag has a corresponding mother tag and/or child tag. For example, a production environment tag may have a production interconnection environment sub-tag and a production extralink environment sub-tag, 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.
According to the embodiment of the disclosure, each requirement tag may be configured with approximate matching identification information, and when the approximate matching identification information indicates enabled, congruent matching may be preferentially performed, and when congruent matching fails to match to obtain corresponding hardware resources, approximate matching may be performed.
According to an embodiment of the present disclosure, operation S405 may further include the operations of: acquiring at least one same-level sub label with the same parent label as the required label from the hierarchical label tree; and determining a target demand label from at least one sibling sub-label.
According to the embodiment of the present disclosure, the specific strategy adopted for determining the target demand label from at least one peer sub-label is not limited, and includes but is not limited to random selection, selection based on the position relationship in the hierarchical label tree, selection based on priority, and the like.
According to the embodiment of the disclosure, after the target demand label is determined, the queried identifier can be added to the target demand label, and the identifier is cancelled after the associated resource pool label is successfully queried, so that repeated query caused by insufficient hardware resources can be reduced, and the resource scheduling efficiency is improved.
Fig. 5 schematically shows a block diagram of a resource scheduling apparatus according to an embodiment of the present disclosure.
As shown in fig. 5, the resource scheduling apparatus 500 includes an obtaining module 510, a first querying module 520, a second querying module 530 and a determining module 540.
An obtaining module 510, configured to respond to the resource scheduling request, and obtain an application requirement carried in the resource scheduling request.
The first query module 520 is configured to query the first preset mapping table to obtain a plurality of requirement tags associated with the application requirements.
A second query module 530, configured to query, for each requirement label, a target resource pool label associated with the requirement label from a second preset mapping table.
A determining module 540, configured to determine a target hardware resource from the resource pool based on the target resource pool tag.
According to the embodiment of the disclosure, after a resource scheduling request is received, application requirements in the resource scheduling request can be mapped into requirement labels in sequence through two preset mapping tables, and then the requirement labels are mapped into resource pool labels, so that corresponding hardware resources can be called from a resource pool according to the resource pool labels. By the technical means, the technical problem that the matching between descriptive user application requirements and a standardized resource pool cannot be realized in a resource scheduling scheme in the related technology is at least partially solved, so that the accuracy and flexibility of resource matching are effectively improved, and the efficiency of resource scheduling is improved.
According to an embodiment of the present disclosure, an application requirement is configured with an application environment.
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.
And the first query unit is used for performing association query on the demand label based on the second preset mapping table to obtain a query result.
And the second query unit is used for acquiring resource information of at least one hardware resource corresponding to at least one resource pool label from the resource pool under the condition that the query result shows that the at least one resource pool label associated with the requirement label exists.
And the third query unit is used for determining a target resource matching strategy from the plurality of resource matching strategies based on the application environment.
And the fourth query unit is used for determining the target resource pool label from the at least one resource pool label based on the target resource matching strategy and the resource information of the at least one hardware resource.
According to an embodiment of the present disclosure, each demand label has approximate match identification information.
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.
And the fifth query unit is used for acquiring the target approximate matching identification information of the demand label under the condition that the query result shows that the resource pool label associated with the demand label does not exist.
And the sixth query unit is used for determining the target demand label from other demand labels under the condition that the target approximate matching identification information is characterized to be enabled.
And the seventh query unit is used for performing association query on the target demand label based on the second preset mapping table.
According to an embodiment of the present disclosure, a plurality of demand labels are attributed to a hierarchical label tree, each demand label having a corresponding parent label and/or child label.
According to an embodiment of the present disclosure, the sixth query unit includes a first query subunit and a second query subunit.
And the first query subunit is used for acquiring at least one same-level sub-label with the same parent label as the requirement label from the hierarchical label tree.
And the second query subunit is used for determining the target requirement label from at least one peer sub-label.
According to the embodiment of the present disclosure, the resource scheduling apparatus 500 further includes a transmitting module.
And the sending module is used for sending feedback information of insufficient hardware resources to a requester initiating the resource scheduling request under the condition that the target approximate matching identification information is characterized as forbidden.
According to an embodiment of the present disclosure, application requirements include computing resource requirements, storage resource requirements, and network resource requirements. The demand labels include at least one first demand label associated with computing resource demands, at least one second demand label associated with storage resource demands, and at least one third demand label associated with network resource demands.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part 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 may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any number of the obtaining module 510, the first querying module 520, the second querying module 530 and the determining module 540 may be combined and implemented in one module/unit/sub-unit, or any one of the modules/units/sub-units may be split into a plurality of modules/units/sub-units. Alternatively, at least part of the functionality of one or more of these modules/units/sub-units may be combined with at least part of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit. According to an embodiment of the present disclosure, at least one of the obtaining module 510, the first querying module 520, the second querying module 530 and the determining module 540 may be implemented at least partially 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 may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented in any one of three implementations of software, hardware and firmware, or in a suitable combination of any of them. Alternatively, at least one of the obtaining module 510, the first querying module 520, the second querying module 530 and the determining module 540 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
It should be noted that the resource scheduling apparatus portion in the embodiment of the present disclosure corresponds to the resource scheduling method portion in the embodiment of the present disclosure, and the description of the resource scheduling apparatus portion specifically refers to the resource scheduling method portion, which is not described herein again.
Fig. 6 schematically shows a block diagram of an electronic device adapted to implement a resource scheduling method according to an embodiment of the present disclosure. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, a computer electronic device 600 according to an embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. Processor 601 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 601 may also include onboard memory for caching purposes. Processor 601 may include a single processing unit or multiple processing units for performing different actions of a method flow according to embodiments of the disclosure.
In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are stored. The processor 601, the ROM602, and the RAM 603 are connected to each other via a bus 604. The processor 601 performs various operations of the method flows according to the embodiments of the present disclosure by executing programs in the ROM602 and/or RAM 603. It is to be noted that the programs may also be stored in one or more memories other than the ROM602 and RAM 603. The processor 601 may also perform various operations of the method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
Electronic device 600 may also include input/output (I/O) interface 605, input/output (I/O) interface 605 also connected to bus 604, according to an embodiment of the disclosure. The electronic device 600 may also include one or more of the following components connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 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, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
According to embodiments of the present disclosure, method flows according to embodiments of the present disclosure may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program, when executed by the processor 601, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples may include, but are not limited to: a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM602 and/or RAM 603 described above and/or one or more memories other than the ROM602 and RAM 603.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method provided by the embodiments of the present disclosure, when the computer program product is run on an electronic device, the program code being adapted to cause the electronic device to carry out the method of resource scheduling provided by the embodiments of the present disclosure.
The computer program, when executed by the processor 601, performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed in the form of a signal on a network medium, downloaded and installed through the communication section 609, and/or installed from the removable medium 611. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (10)

1. A resource scheduling method comprises the following steps:
responding to a resource scheduling request, and acquiring an application requirement carried in the resource scheduling request;
querying a first preset mapping table to obtain a plurality of requirement labels associated with the application requirements;
respectively inquiring a target resource pool label associated with the demand label from a second preset mapping table aiming at each demand label; and
determining a target hardware resource from a resource pool based on the target resource pool tag.
2. The method of claim 1, wherein the application requirements are configured with an application environment;
the querying of the target resource pool tag associated with the requirement tag from the second preset mapping table includes:
based on the second preset mapping table, performing association query on the demand label to obtain a query result;
acquiring resource information of at least one hardware resource corresponding to at least one resource pool label from the resource pool under the condition that the query result shows that the at least one resource pool label associated with the requirement label exists;
determining a target resource matching policy from a plurality of resource matching policies based on the application environment; and
determining the target resource pool label from at least one of the resource pool labels based on the target resource matching policy and resource information of at least one of the hardware resources.
3. The method of claim 2, wherein each of the demand tags has approximate match identification information;
the method further comprises the following steps:
under the condition that the query result shows that the resource pool label associated with the demand label does not exist, acquiring target approximate matching identification information of the demand label;
under the condition that the target approximate matching identification information is characterized as enabled, determining a target demand label from other demand labels; and
and performing association query on the target demand label based on the second preset mapping table.
4. The method of claim 3, wherein the plurality of requirement tags are attributed to a hierarchical tag tree, each of the requirement tags having a corresponding parent tag and/or child tag;
wherein the determining a target demand label from other demand labels comprises:
acquiring at least one peer sub-label with the same parent label as the requirement label from the hierarchical label tree; and
determining the target demand label from at least one of the sibling sub-labels.
5. The method of claim 3, further comprising:
and sending feedback information of insufficient hardware resources to a requester initiating the resource scheduling request under the condition that the target approximate matching identification information is characterized as forbidden.
6. The method of claim 1, wherein the application requirements include computing resource requirements, storage resource requirements, and network resource requirements;
wherein the demand labels include at least one first demand label associated with the computing resource demand, at least one second demand label associated with the storage resource demand, and at least one third demand label associated with the network resource demand.
7. A resource scheduling method device comprises the following steps:
the acquisition module is used for responding to a resource scheduling request and acquiring the application requirements carried in the resource scheduling request;
the first query module is used for querying a first preset mapping table to obtain a plurality of requirement labels associated with the application requirements;
the second query module is used for respectively querying each demand label from a second preset mapping table to obtain a target resource pool label associated with the demand label; and
a determining module for determining a target hardware resource from the resource pool based on the target resource pool tag.
8. An electronic device, comprising:
one or more processors;
a memory to store one or more instructions that,
wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-6.
9. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to carry out the method of any one of claims 1 to 6.
10. A computer program product comprising computer executable instructions for implementing the method of any one of claims 1 to 6 when executed.
CN202111536192.4A 2021-12-14 2021-12-14 Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium Pending CN114201300A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111536192.4A CN114201300A (en) 2021-12-14 2021-12-14 Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111536192.4A CN114201300A (en) 2021-12-14 2021-12-14 Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium

Publications (1)

Publication Number Publication Date
CN114201300A true CN114201300A (en) 2022-03-18

Family

ID=80654064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111536192.4A Pending CN114201300A (en) 2021-12-14 2021-12-14 Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium

Country Status (1)

Country Link
CN (1) CN114201300A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979131A (en) * 2022-04-07 2022-08-30 中国科学院深圳先进技术研究院 Tagged Von Neumann architecture communication method and device for cloud computing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979131A (en) * 2022-04-07 2022-08-30 中国科学院深圳先进技术研究院 Tagged Von Neumann architecture communication method and device for cloud computing
CN114979131B (en) * 2022-04-07 2024-04-19 中国科学院深圳先进技术研究院 Cloud computing-oriented communication method and device for labeled von neumann architecture

Similar Documents

Publication Publication Date Title
US10904321B2 (en) Migrating legacy applications to a multi-tenant computing environment
US10333861B2 (en) Modular cloud computing system
US10938668B1 (en) Safe deployment using versioned hash rings
US8904159B2 (en) Methods and systems for enabling control to a hypervisor in a cloud computing environment
US9397905B1 (en) Aggregated health check of a multi-tenant service container
US10929373B2 (en) Event failure management
US11614932B2 (en) Method and system for machine learning framework and model versioning in a machine learning serving infrastructure
US11658972B2 (en) Isolated cell architecture for cloud computing platform
US11042473B2 (en) Intelligent test case management for system integration testing
CN112905537B (en) File processing method and device, electronic equipment and storage medium
US20180150365A1 (en) Disaster Recover of Managed Systems
US20130204918A1 (en) Computing environment configuration and initialization
CN112036558A (en) Model management method, electronic device, and medium
US20220391748A1 (en) Method and system for application programming interface based container service for supporting multiple machine learning applications
CN114201300A (en) Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium
US20240126736A1 (en) Techniques for efficient compute resource harvesting
US20140201511A1 (en) Method and apparatus for optimizing out of band job execution time
US8904396B2 (en) System and method of general service management
US10397130B2 (en) Multi-cloud resource reservations
US20230205657A1 (en) Techniques for automated service monitoring and remediation in a distributed computing system
CN115048060B (en) Storage management method and device, electronic equipment and storage medium
US10587725B2 (en) Enabling a traditional language platform to participate in a Java enterprise computing environment
CN113296911B (en) Cluster calling method, cluster calling device, electronic equipment and readable storage medium
US11178216B2 (en) Generating client applications from service model descriptions
US20120260249A1 (en) Software tool and method for updating a virtual appliance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination