Method and apparatus for automatic allocation of database resources in a heterogeneous resource pool

By receiving user demand information, the system automatically determines the resource level, sub-resource pool, and physical machine, solving the problem of low database allocation efficiency in heterogeneous resource pools and achieving efficient and automated database resource allocation.

CN117389988BActive Publication Date: 2026-04-21CHINA CONSTRUCTION BANK
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA CONSTRUCTION BANK
Filing Date
2023-10-12
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing database allocation methods cannot be effectively applied to complex heterogeneous resource pools, requiring bank operations and maintenance personnel to manually evaluate database allocations, which increases the workload of operations and maintenance and is inefficient.

Method used

By receiving users' database resource requirements, including environmental requirements, database business metrics, and associated business levels, the system automatically determines resource levels, sub-resource pools, sub-clusters, and physical machines to achieve automatic allocation of database resources.

Benefits of technology

It reduces the manual cost of database allocation, improves the efficiency of database allocation in heterogeneous resource pools, and meets the efficient and automated allocation needs of different business operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117389988B_ABST
    Figure CN117389988B_ABST
Patent Text Reader

Abstract

This invention discloses an automatic allocation method and apparatus for database resources in a heterogeneous resource pool, relating to the field of database technology. The method includes: receiving database resource requirement information from a user, including environmental requirement information, database business indicator information, and associated business level. The environmental requirement information indicates the storage environment requirements of the data to be stored; the database business indicator information indicates the database's data processing capabilities requirements of the data to be stored; and the associated business level indicates the degree of association between the data to be stored and the business system. Based on the database resource requirement information, a resource level is determined; based on the environmental requirement information, a first sub-resource pool is determined; based on the resource level, a first sub-cluster is determined within the first sub-resource pool; and based on the database business indicator information and the associated business level, a first physical machine is determined within the first sub-cluster. This invention can improve the efficiency of database allocation in a heterogeneous resource pool.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of database technology, and in particular to a method and apparatus for automatically allocating database resources in a heterogeneous resource pool. Background Technology

[0002] This section is intended to provide background or context for the embodiments of the invention set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section.

[0003] A database is an ordered collection of structured information or data, typically stored electronically in a computer system. Database allocation is essentially the process of allocating a database from a resource pool based on a user's database resource request. Traditional database allocation methods generally determine the type of data to be stored based on the user's database resource request, and then determine a suitable physical device from the resource pool to allocate or create the database, thereby storing the data.

[0004] However, with the development of internet technology, enterprise business volume has surged, and business needs have become increasingly diverse. Currently, most databases are characterized by variable resource pools, complex structures, and diverse cluster forms. For example, different software, hardware configurations, software / hardware integration methods, and requirements mean that existing database methods are no longer applicable to the automatic allocation of databases within complex heterogeneous resource pools. For instance, when bank operations personnel receive a database resource request, they cannot automatically allocate the database within the complex heterogeneous resource pool. Instead, they need to manually assess which physical devices the database can be allocated to before creating it, increasing the workload and reducing efficiency. Summary of the Invention

[0005] This invention provides an automatic allocation method for database resources in a heterogeneous resource pool, aimed at reducing the manual cost of database allocation and improving the efficiency of database allocation in the heterogeneous resource pool. The heterogeneous resource pool in this method includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines. The method includes:

[0006] Receive user's database resource requirement information, which includes environment requirement information, database business indicator information, and associated business level. The environment requirement information is used to indicate the requirements of the data to be stored for the storage environment. The database business indicator information is used to indicate the requirements of the data to be stored for the database's data processing capabilities. The associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing.

[0007] Based on the database resource requirement information, the resource level is determined; the resource level is used to represent the security level of the database.

[0008] Based on environmental demand information, the first sub-resource pool is determined from multiple sub-resource pools;

[0009] Based on resource level, determine the first sub-cluster in the first sub-resource pool;

[0010] Based on database business metrics and associated business levels, determine the first physical machine in the first sub-cluster.

[0011] Database resources are allocated to users based on the first physical machine.

[0012] This invention also provides an automatic database resource allocation device in a heterogeneous resource pool, to reduce the manual cost of database allocation and improve the efficiency of database allocation in the heterogeneous resource pool. The heterogeneous resource pool in this device includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines. The device includes:

[0013] The requirement receiving module is used to receive database resource requirement information from users. The database resource requirement information includes environmental requirement information, database business indicator information, and associated business level. The environmental requirement information is used to indicate the requirements of the data to be stored for the storage environment. The database business indicator information is used to indicate the requirements of the data to be stored for the database's data processing capabilities. The associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing.

[0014] The resource level determination module is used to determine the resource level based on the database resource requirement information; the resource level is used to represent the security level of the database.

[0015] The sub-resource pool determination module is used to determine the first sub-resource pool from multiple sub-resource pools based on environmental demand information;

[0016] The sub-cluster determination module is used to determine the first sub-cluster in the first sub-resource pool based on the resource level.

[0017] The physical machine determination module is used to determine the first physical machine in the first sub-cluster based on database business indicator information and associated business level; and to allocate database resources to users based on the first physical machine.

[0018] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-mentioned method for automatically allocating database resources in a heterogeneous resource pool.

[0019] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method for automatically allocating database resources in a heterogeneous resource pool.

[0020] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described method for automatically allocating database resources in a heterogeneous resource pool.

[0021] In this embodiment of the invention, the heterogeneous resource pool includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines. It receives database resource requirement information from users. This database resource requirement information includes environmental requirement information, database business indicator information, and associated business level. The environmental requirement information indicates the storage environment requirements of the data to be stored. The database business indicator information indicates the database's data processing capabilities requirements of the data to be stored. The associated business level indicates the degree of association between the data to be stored and the business system. The business system utilizes the databases in the heterogeneous resource pool for data processing. Based on the database resource requirement information, a resource level is determined. This resource level indicates the database's security level. Based on the environmental requirement information, a first sub-resource pool is determined from the multiple sub-resource pools. Based on the resource level, a first sub-cluster is determined from the first sub-resource pool. Based on the resource level, a first physical machine is determined from the first sub-cluster. Based on the database business indicator information and the associated business level, database resources are allocated to the user. In this embodiment of the invention, the system receives database resource requirement information from users, including environmental requirement information, database business indicator information, and associated business level. Based on the environmental requirement information, a first sub-resource pool that meets the user's database resource storage environment requirements is determined. Within the first sub-resource pool, a first sub-cluster that meets the user's database resource security level requirements is determined. Within the first sub-cluster, a first physical machine that meets the user's database data processing capabilities and business association level requirements is determined based on the database business indicator information and associated business level. Finally, based on the first physical machine, a database is allocated to the user. The entire process no longer requires manual processing, reducing the manual cost of database allocation and greatly improving the efficiency of database allocation in heterogeneous resource pools. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0023] Figure 1 This is a flowchart illustrating the automatic allocation method for database resources in a heterogeneous resource pool according to an embodiment of the present invention.

[0024] Figure 2 This is a specific embodiment of the automatic allocation method for database resources in a heterogeneous resource pool according to the present invention;

[0025] Figure 3 This is a specific embodiment of the automatic allocation method for database resources in a heterogeneous resource pool according to the present invention;

[0026] Figure 4 This is an illustration of an automatic allocation device for database resources in a heterogeneous resource pool, as described in an embodiment of the present invention.

[0027] Figure 5 This is a schematic diagram of a computer device in an embodiment of the present invention. Detailed Implementation

[0028] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.

[0029] First, the technical terms involved in the embodiments of the present invention will be explained.

[0030] Resource Pool: A pool is a visual representation of an abstract concept of resources. In the programming world, a pool is a set of resources that can be used at any time, but are not created constantly. For example, the collection of various hardware and software involved in a cloud computing data center can be categorized into computing resources, storage resources, and network resources. Clients request resources from the pool and use the returned resources to perform specified operations. After the client has finished using the resources, they return them to the pool.

[0031] Heterogeneous resource pool: Cloud computing abstracts numerous devices into a unified resource pool, but different devices have different capabilities and database structures, which is called heterogeneity.

[0032] A cluster is a group of computers that work together as a whole to provide a set of network resources to users. These individual computer systems are the nodes of the cluster.

[0033] The applicant observed that with the development of internet technology, enterprise business volume has surged, and business needs are diverse. Currently, most databases are characterized by variable resource pools, complex structures, and diverse cluster forms. For example, different software, hardware configurations, software / hardware integration methods, and requirements lead to existing database methods being unable to automatically allocate databases within complex heterogeneous resource pools. For instance, for bank users, when bank operations personnel receive database resource request tickets, they cannot automatically allocate databases within complex heterogeneous resource pools. Instead, they need to manually assess which physical devices the database can be allocated to before creating the database, increasing the workload and reducing efficiency. Therefore, the applicant proposes an automatic database resource allocation method within heterogeneous resource pools, enabling the automatic allocation of database resources while efficiently meeting diverse business needs and reducing the burden on operations personnel.

[0034] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with the relevant provisions of national laws and regulations.

[0035] Figure 1 This is a flowchart illustrating the automatic allocation method for database resources in a heterogeneous resource pool according to an embodiment of the present invention. The heterogeneous resource pool in this method includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines, such as... Figure 1 As shown, the method includes:

[0036] Step 101: Receive the user's database resource requirement information. The database resource requirement information includes environment requirement information, database business indicator information, and associated business level. The environment requirement information is used to indicate the requirements of the data to be stored on the storage environment. The database business indicator information is used to indicate the requirements of the data to be stored on the database's data processing capabilities. The associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing.

[0037] Step 102: Determine the resource level based on the database resource requirement information; the resource level is used to represent the security level of the database.

[0038] Step 103: Based on the environmental requirements information, determine the first sub-resource pool from multiple sub-resource pools;

[0039] Step 104: Determine the first sub-cluster in the first sub-resource pool based on the resource level;

[0040] Step 105: Determine the first physical machine in the first sub-cluster based on the database business indicator information and the associated business level;

[0041] Step 106: Allocate database resources to users based on the first physical machine.

[0042] from Figure 1 As shown in the process, in this embodiment of the invention, the user's database resource requirement information is received, including environment requirement information, database business indicator information, and associated business level. Based on the environment requirement information, a first sub-resource pool that meets the user's database resource storage environment requirements is determined. In the first sub-resource pool, a first sub-cluster that meets the user's database resource security level requirements is determined. In the first sub-cluster, based on the database business indicator information and associated business level, a first physical machine that meets the user's database data processing capability and business association level requirements is determined. Finally, based on the first physical machine, a database is allocated to the user. The entire process no longer requires manual processing, reducing the manual cost of database allocation and greatly improving the efficiency of database allocation in heterogeneous resource pools.

[0043] The automatic allocation method for database resources in a heterogeneous resource pool in this embodiment of the invention will be explained in detail below.

[0044] First, it should be noted that in this embodiment of the invention, the heterogeneous resource pool includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines. In specific implementation, the heterogeneous resource pool can be structurally divided in advance. For example, according to different business, different configuration, different location, etc., the heterogeneous resource pool can be divided into multiple sub-resource pools. In each sub-resource pool, further classification and processing are carried out to obtain multiple sub-clusters. Each sub-cluster consists of multiple physical machines.

[0045] In step 101, the user's database resource requirement information is received.

[0046] Specifically, the system receives user requests for database resources, such as location, environment, and data storage space size. In this embodiment, the received database resource request information includes environmental requirements, database business metrics, and associated business levels. In practice, a user input interface can be provided. Users can input their database resource requests through a visual interface, for example, by displaying environmental requirements, database business metrics, and associated business levels as checkboxes on the interface. Users can easily input valid information by simply selecting these checkboxes. When it is inconvenient for users to select information on the interface, a custom input interface can be provided, allowing users to input database resource requests in text or voice format. The environmental requirements, database business metrics, and associated business levels are then obtained through natural language processing.

[0047] Among them, environmental requirements information is used to indicate the storage environment requirements of the data to be stored; database business indicator information is used to indicate the database processing capabilities requirements of the data to be stored; and the associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing, which generally refers to business systems with long runtimes and high importance. The associated business level can reflect the frequency of the data to be stored being called by the business system. At the same time, the importance of the business system in the enterprise is also related to the business level indicator. For example, the more important the business system, the more important the data it calls, which will affect the value of the associated business level indicator. For example, the associated business level can be divided into: Level I, Level II, Level III, etc.

[0048] In one embodiment, the environmental requirements information includes, but is not limited to, one or any combination of the following:

[0049] Whether it is used in a production environment or a disaster recovery environment, whether it is a distributed requirement, and whether it is a pre-defined manufacturer, such as requiring all domestically produced products to be used;

[0050] The database business metrics information includes, but is not limited to, one or any combination of the following:

[0051] The number of transactions processed per second by the database, the maximum amount of data the database can store, and the number of disk I / O operations per second, etc.

[0052] The number of transactions per second that a database can process refers to the number of transactions a single database can process per second. A transaction is a set of logical database operations. A single transaction can contain several database operations, and these database operations can be executed successfully at the same time.

[0053] Next, based on the user's database resource requirements, the sub-resource pools, sub-clusters, and physical machines that meet the user's needs are determined in sequence.

[0054] In step 102, the resource level is determined based on the database resource requirement information; the resource level is used to represent the security level of the database.

[0055] During implementation, user environmental requirements, database business metrics, and related business levels can be converted into quantitative information. The weights of the user's storage environment, database data processing capabilities, and related business levels can be determined respectively, and resource levels can be determined using certain mathematical methods.

[0056] Figure 2 This is a specific embodiment of the automatic allocation method for database resources in a heterogeneous resource pool according to an embodiment of the present invention, such as... Figure 2 As shown, Figure 1Before determining the resource level based on database resource requirement information, the process may also include:

[0057] Step 201: Preprocess the database resource requirement information to obtain multiple feature sequences;

[0058] but Figure 1 In this process, based on database resource requirement information, the resource level is determined, which may include:

[0059] Step 202: Determine the resource level based on multiple feature sequences.

[0060] During implementation, the user's database resource requirement information is serialized. Serialization refers to converting the database resource requirement information into a sequence according to rules.

[0061] For example, by setting enumeration rules, database resource requirement information is sequentially converted into corresponding characters, multiple characters are used to generate a feature sequence, and then the resource level is determined based on the multiple feature sequences.

[0062] In one embodiment, the feature sequence includes an environmental demand feature sequence and a business feature sequence;

[0063] Data preprocessing of database resource requirement information yields multiple feature sequences, which may include:

[0064] For environmental demand information, according to a preset environmental demand sequence table, the environmental demand information is converted into corresponding values ​​to obtain an environmental demand feature sequence; the environmental demand sequence table includes the mapping relationship between different environmental demand information and different values; the environmental demand feature sequence includes multiple values.

[0065] For database business indicator information and associated business levels, identify the quantitative information in the database business indicator information and associated business levels, and convert the database business indicator information and associated business levels into a business feature sequence based on the quantitative information; the business feature sequence includes multiple values.

[0066] In step 102, determining the resource level based on multiple feature sequences may include:

[0067] The resource level is determined by the sum of the values ​​in the environmental demand characteristic sequence and the business characteristic sequence.

[0068] In practical implementation, for example, for environmental requirement information in the database resource requirement information, the environmental requirement feature sequence L1 = (x1, x2, x3) is generated according to the following rules:

[0069] If the environmental requirement information provided by the user indicates that the database resources applied in this application are for the production environment, then x1 = 2; for同城 disaster recovery, then x1 = 1; for异地 disaster recovery, then x1 = 0;

[0070] If the environmental requirement information provided by the user is a distributed requirement, then x2 = 1; if it is a non-distributed requirement, then x2 = 0;

[0071] If the environmental requirement information provided by the user requires a preset manufacturer, for example, it is required to use a domestic CPU architecture, server, and operating system, then x3 = 1; otherwise, set x3 = 0.

[0072] As shown in Table 1, Table 1 is a diagrammatic illustration of the environmental requirement sequence.

[0073] Table 1 Diagrammatic Illustration of the Environmental Requirement Sequence

[0074] Environmental requirements information Mapping values Production environment requirements x1=2 Requires same-city disaster recovery x1=1 Requirement for off-site disaster recovery x1=0 Requires distributed requirements x2=1 Requires the first pre-designed manufacturer x3=1 … …

[0075] For another example, for the database service index information and associated service levels in the database resource requirement information, generate a service feature sequence L2 = (y1, y2, y3) according to the following rules:

[0076] Record the number of transactions processed per second by the database (unit: piece) as N, then y1 = N / 1000;

[0077] Record the maximum data volume that the database can store (unit: TB) as S, then y2 = S / 2;

[0078] Record the associated service level as G (0 < G < 4, G is a positive integer), then y3 = G.

[0079] When calculating the resource level, according to the obtained feature sequence L1 = (x1, x2, x3) and sequence L2 = (y1, y2, y3), calculate the resource level M, where the calculation rule is defined as the M value is equal to the sum of x1, x2, x3, y1, y2, and y3.

[0080] After that, in step 103, according to the environmental requirement information, determine the first sub-resource pool from multiple sub-resource pools.

[0081] Specifically, according to the requirements of the data to be stored for the storage environment, determine whether the applied database resources are for the production environment or the disaster recovery environment, whether they are distributed requirements, whether they are preset manufacturers, etc., and determine the appropriate first sub-resource pool from multiple sub-resource pools.

[0082] In one embodiment, determining the first sub-resource pool from multiple sub-resource pools according to the environmental requirement information may include:

[0083] Obtain attribute information of multiple sub-resource pools; the attribute information of the sub-resource pools includes whether it is a disaster recovery resource pool, whether it is a distributed resource pool, and whether it is a preset manufacturer;

[0084] The environmental requirements information is compared with the attribute information of each sub-resource pool in turn. The sub-resource pool that matches the environmental requirements information with the attribute information is determined as the first sub-resource pool that meets the user's database resource requirements.

[0085] For example, the attribute information of a sub-resource pool is stored using a list R. List R = (R1, R2, ..., Rn) (n > 0), and list item Rn stores several attributes of the nth sub-resource pool. The attribute information includes: Rn.backup indicating whether it is a disaster recovery resource pool, Rn.distributed indicating whether it is a distributed resource pool, Rn.localization indicating whether it is from a pre-defined manufacturer (e.g., whether it is a domestically produced resource pool), and Rn.cluster used to store information about the sub-clusters contained within this sub-resource pool.

[0086] Obtaining a sub-resource pool that meets the criteria involves the following two steps:

[0087] (1) Traverse list R and obtain the attribute information of the sub-resource pools in the list in turn;

[0088] (2) Compare the feature sequence L1 of the environmental demand information with the sub-resource pool attribute information. If they match, it means that the sub-resource pool attributes meet the user's needs. Then stop traversing and record the sub-resource pool information that meets the conditions.

[0089] Then, in step 104, the first sub-cluster is determined in the first sub-resource pool according to the resource level.

[0090] During implementation, the attribute information of the sub-resource pool includes information on multiple sub-clusters. Based on the resource level, a suitable first sub-cluster is determined in the first sub-resource pool.

[0091] In one embodiment, determining the first sub-cluster in the first sub-resource pool based on resource level may include:

[0092] Obtain the attribute information of all sub-clusters in the first sub-resource pool. The attribute information of the sub-clusters includes whether they are cross-rack, cross-building, or dedicated clusters.

[0093] According to the preset sub-cluster matching conditions, the resource level is matched with the attribute information of all sub-clusters in the first sub-resource pool in turn to obtain the first sub-cluster that meets the user's database resource requirements. The preset sub-cluster matching conditions include the correspondence between different resource levels and the attribute information of the sub-clusters.

[0094] For example, the attribute information of the sub-clusters is stored using list C. List C = (C1, C2....Cn) (n>0), and several attributes of the nth sub-cluster are stored in list item Cn. The attributes include: Cn.rack indicates whether it is across racks, Cn.building indicates whether it is across buildings, Cn.shad indicates whether it is an exclusive cluster, and Cn.machine is used to store the information of the physical machines included in the sub-cluster.

[0095] Obtaining a sub-resource pool that meets the conditions includes the following two steps:

[0096] (1) Traverse list C and sequentially obtain the attribute information of the sub-resource pools in the list;

[0097] (2) According to the preset sub-cluster matching conditions, compare the resource level M with the sub-cluster attribute information according to the following rules:

[0098] If M = 0, then determine that the sub-cluster includes the attributes of not across racks, not across buildings, and not an exclusive cluster;

[0099] If 0 < M < 4, then determine that the sub-cluster includes the attributes of across racks, not across buildings, and not an exclusive cluster;

[0100] If 3 < M < 8, then determine that the sub-cluster includes the attributes of across racks, across buildings, and not an exclusive cluster;

[0101] If M > 7, then determine that the sub-cluster includes the attributes of across racks, across buildings, and an exclusive cluster;

[0102] If the attributes of the sub-cluster match the requirements corresponding to the M value, stop traversing and record the information of the sub-cluster that meets the conditions.

[0103] After that, in step 105, according to the database service index information and the associated service level, determine the first physical machine in the first sub-cluster.

[0104] After determining the sub-cluster, according to the requirements of the data to be stored for the data processing ability of the database and the requirements of the associated service level, determine a suitable first physical machine in the first sub-cluster.

[0105] In one embodiment, according to the database service index information and the associated service level, determining the first physical machine in the first sub-cluster may include:

[0106] Obtain the attribute information of all the physical machines in the first sub-cluster. The attribute information of the physical machines includes whether it is an exclusive physical machine, the remaining CPU resource amount, the remaining memory resource amount, and the remaining storage resource amount;

[0107] According to the preset physical machine matching conditions, match the database service index information and the associated service level with the attribute information of all physical machines in the first sub-cluster in sequence to obtain the first physical machine that meets the user's database resource requirements; the preset physical machine matching conditions include the corresponding relationship between the database service index information, the associated service level and the attribute information of the physical machine.

[0108] For example, the attribute information of the physical machine is stored using the list P. The list P = (P1, P2....Pn) (n>0), and several attributes of the nth physical machine are stored in the list item Pn. The attributes include: Pn.shad indicates whether it is an exclusive physical machine, Pn.cpu indicates the remaining CPU resource amount, Pn.mem indicates the remaining memory resource amount, and Pn.disk indicates the remaining storage resource amount.

[0109] Obtaining the physical machine that meets the conditions includes the following two steps:

[0110] (1) Traverse the list P to obtain the attribute information of the physical machines in the list in sequence;

[0111] (2) Compare the service feature sequence L2 = (y1, y2, y3) with the physical machine attribute information according to the following rules:

[0112] If the maximum data volume (S) y2 that the database can store > 2 and the associated service level (G) y3 = 3, then it is determined that the physical machine includes the exclusive physical machine attribute;

[0113] If the maximum data volume (S) y2 that the database can store < Pn.disk, the number of transactions processed by the database per second (N) y1 < Pn.cpu * 100, and, the number of transactions processed by the database per second (N) y1 < Pn.mem * 100 / 4, then it is determined that the remaining resources of the physical machine meet the service characteristics;

[0114] Traverse until one or more physical machines whose physical machine attributes match the requirements of the service characteristics are found, then stop traversing, and record the information of the physical machine that meets the conditions.

[0115] Finally, based on the first physical machine, allocate database resources for the user. ` `

[0116] ` Figure 3 ` This is a specific embodiment of the automatic allocation method of database resources in the heterogeneous resource pool in the embodiment of the present invention. As Figure 3 ` shown, the method includes: `

[0117] ` 1. Obtain the database resource requirement information of the user; `

[0118] ` 2. Perform serialization processing on the database resource requirement information and convert it into a feature sequence that can be used for calculation; `

[0119] 3. Calculate resource levels using feature sequences to clarify user requirements for database resource security levels or important programs;

[0120] 4. Use feature sequences to determine sub-resource pools to meet the basic environment requirements of users;

[0121] 5. Determine sub-clusters within the sub-resource pool to meet user requirements for database resource security levels or critical programs;

[0122] 6. Determine suitable physical machines within the sub-cluster to meet user requirements for database hardware configuration, database data processing capabilities, and business association levels.

[0123] This invention also provides an automatic allocation device for database resources in a heterogeneous resource pool, as described in the following embodiments. Since the principle by which this device solves the problem is similar to the automatic allocation method for database resources in a heterogeneous resource pool, the implementation of this device can refer to the implementation of the automatic allocation method for database resources in a heterogeneous resource pool; repeated details will not be elaborated further.

[0124] Figure 4 This is an embodiment of the invention illustrating an automatic allocation device for database resources in a heterogeneous resource pool. The heterogeneous resource pool includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines, such as... Figure 4 As shown, the device includes:

[0125] The requirement receiving module 401 is used to receive database resource requirement information from users. The database resource requirement information includes environmental requirement information, database business indicator information, and associated business level. The environmental requirement information is used to indicate the requirements of the data to be stored for the storage environment. The database business indicator information is used to indicate the requirements of the data to be stored for the database's data processing capabilities. The associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing.

[0126] The resource level determination module 402 is used to determine the resource level based on the database resource requirement information; the resource level is used to represent the security level of the database.

[0127] The sub-resource pool determination module 403 is used to determine the first sub-resource pool from multiple sub-resource pools based on environmental demand information;

[0128] Sub-cluster determination module 404 is used to determine the first sub-cluster in the first sub-resource pool based on the resource level.

[0129] The physical machine determination module 405 is used to determine the first physical machine in the first sub-cluster based on database business indicator information and associated business level; and to allocate database resources to users based on the first physical machine.

[0130] In one embodiment, the environmental requirements information includes one or any combination of the following:

[0131] Whether it is used in a production environment or a disaster recovery environment, whether it is a distributed requirement, and whether it is a pre-designed manufacturer;

[0132] The database business metrics information includes one or any combination of the following:

[0133] The number of transactions the database can process per second, and the maximum amount of data the database can store.

[0134] In one embodiment, the device further includes:

[0135] The serialization module is used by the resource level determination module 402 to preprocess the database resource requirement information to obtain multiple feature sequences before determining the resource level based on the database resource requirement information.

[0136] Resource level determination module 402 is specifically used for:

[0137] Resource levels are determined based on multiple feature sequences.

[0138] In one embodiment, the feature sequence includes an environmental demand feature sequence and a business feature sequence;

[0139] The serialization module is specifically used for:

[0140] For environmental demand information, according to a preset environmental demand sequence table, the environmental demand information is converted into corresponding values ​​to obtain an environmental demand feature sequence; the environmental demand sequence table includes the mapping relationship between different environmental demand information and different values; the environmental demand feature sequence includes multiple values.

[0141] For database business indicator information and associated business levels, identify the quantitative information in the database business indicator information and associated business levels, and convert the database business indicator information and associated business levels into a business feature sequence based on the quantitative information; the business feature sequence includes multiple values.

[0142] Resource level determination module 402 is specifically used for:

[0143] The resource level is determined by the sum of the values ​​in the environmental demand characteristic sequence and the business characteristic sequence.

[0144] In one embodiment, the sub-resource pool determination module 403 is specifically used for:

[0145] Obtain attribute information of multiple sub-resource pools; the attribute information of the sub-resource pools includes whether it is a disaster recovery resource pool, whether it is a distributed resource pool, and whether it is a preset manufacturer;

[0146] The environmental requirements information is compared with the attribute information of each sub-resource pool in turn. The sub-resource pool that matches the environmental requirements information with the attribute information is determined as the first sub-resource pool that meets the user's database resource requirements.

[0147] In one embodiment, the sub-cluster determination module 404 is specifically used for:

[0148] Obtain the attribute information of all sub-clusters in the first sub-resource pool. The attribute information of the sub-clusters includes whether they are cross-rack, cross-building, or dedicated clusters.

[0149] According to the preset sub-cluster matching conditions, the resource level is matched with the attribute information of all sub-clusters in the first sub-resource pool in turn to obtain the first sub-cluster that meets the user's database resource requirements. The preset sub-cluster matching conditions include the correspondence between different resource levels and the attribute information of the sub-clusters.

[0150] In one embodiment, the physical machine determination module 405 is specifically used for:

[0151] Obtain the attribute information of all physical machines in the first sub-cluster. The attribute information of the physical machines includes whether they are dedicated physical machines, the amount of remaining CPU resources, the amount of remaining memory resources, and the amount of remaining storage resources.

[0152] According to the preset physical machine matching conditions, the database business indicator information and the associated business level are matched with the attribute information of all physical machines in the first sub-cluster in sequence to obtain the first physical machine that meets the user's database resource requirements; the preset physical machine matching conditions include the correspondence between the database business indicator information, the associated business level and the attribute information of the physical machine.

[0153] Figure 5 This is a schematic diagram of a computer device in an embodiment of the present invention, such as... Figure 5 As shown, this embodiment of the invention also provides a computer device 500, including a processor 501, a memory 502, and a computer program 503 stored in the memory 502 and executable on the processor 501. When the processor 501 executes the computer program 503, it implements the above-mentioned method for automatically allocating database resources in a heterogeneous resource pool.

[0154] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method for automatically allocating database resources in a heterogeneous resource pool.

[0155] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described method for automatically allocating database resources in a heterogeneous resource pool.

[0156] In this embodiment of the invention, the heterogeneous resource pool includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines. It receives database resource requirement information from users. This database resource requirement information includes environmental requirement information, database business indicator information, and associated business level. The environmental requirement information indicates the storage environment requirements of the data to be stored. The database business indicator information indicates the database's data processing capabilities requirements of the data to be stored. The associated business level indicates the degree of association between the data to be stored and the business system. The business system utilizes the databases in the heterogeneous resource pool for data processing. Based on the database resource requirement information, a resource level is determined. This resource level indicates the database's security level. Based on the environmental requirement information, a first sub-resource pool is determined from the multiple sub-resource pools. Based on the resource level, a first sub-cluster is determined from the first sub-resource pool. Based on the resource level, a first physical machine is determined from the first sub-cluster. Based on the database business indicator information and the associated business level, database resources are allocated to the user. In this embodiment of the invention, the system receives database resource requirement information from users, including environmental requirement information, database business indicator information, and associated business level. Based on the environmental requirement information, it determines a first sub-resource pool for the user's database resources to meet storage environment requirements. Within the first sub-resource pool, it determines a first sub-cluster that meets the user's database resource security level requirements. Within the first sub-cluster, based on the database business indicator information and associated business level, it determines a first physical machine that meets the user's database resource requirements for data processing capabilities and business association level. Finally, based on the first physical machine, it allocates a database to the user. The entire process no longer requires manual processing, reducing the manual cost of database allocation and greatly improving the efficiency of database allocation in heterogeneous resource pools.

[0157] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0158] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0159] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0160] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0161] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for automatically allocating database resources in a heterogeneous resource pool, characterized in that, The heterogeneous resource pool includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines, including: Receive user's database resource requirement information, which includes environment requirement information, database business indicator information, and associated business level. The environment requirement information is used to indicate the requirements of the data to be stored for the storage environment. The database business indicator information is used to indicate the requirements of the data to be stored for the database's data processing capabilities. The associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing. Based on the database resource requirement information, the resource level is determined; the resource level is used to represent the security level of the database. Based on environmental demand information, the first sub-resource pool is determined from multiple sub-resource pools; Based on resource level, determine the first sub-cluster in the first sub-resource pool; Based on database business metrics and associated business levels, determine the first physical machine in the first sub-cluster. Database resources are allocated to users based on the first physical machine.

2. The method as described in claim 1, characterized in that, The environmental requirements information includes one or any combination of the following: Whether it is used in a production environment or a disaster recovery environment, whether it is a distributed requirement, and whether it is a pre-designed manufacturer; The database business metrics information includes one or any combination of the following: The number of transactions the database can process per second, and the maximum amount of data the database can store.

3. The method as described in claim 2, characterized in that, Before determining the resource level based on the database resource requirement information, the following steps are also included: Data preprocessing of database resource requirement information yields multiple feature sequences; Based on the database resource requirement information, determine the resource level, including: Resource levels are determined based on multiple feature sequences.

4. The method as described in claim 3, characterized in that, The feature sequence includes an environmental requirement feature sequence and a business feature sequence; Data preprocessing of database resource requirement information yields multiple feature sequences, including: For environmental demand information, according to a preset environmental demand sequence table, the environmental demand information is converted into corresponding values ​​to obtain an environmental demand feature sequence; the environmental demand sequence table includes the mapping relationship between different environmental demand information and different values; the environmental demand feature sequence includes multiple values. For database business indicator information and associated business levels, identify the quantitative information in the database business indicator information and associated business levels, and convert the database business indicator information and associated business levels into a business feature sequence based on the quantitative information; the business feature sequence includes multiple values. Resource levels are determined based on multiple feature sequences, including: The resource level is determined by the sum of the values ​​in the environmental demand characteristic sequence and the business characteristic sequence.

5. The method as described in claim 3, characterized in that, Based on environmental demand information, the first sub-resource pool is determined from multiple sub-resource pools, including: Obtain attribute information of multiple sub-resource pools; the attribute information of the sub-resource pools includes whether it is a disaster recovery resource pool, whether it is a distributed resource pool, and whether it is a preset manufacturer; The environmental requirements information is compared with the attribute information of each sub-resource pool in turn. The sub-resource pool that matches the environmental requirements information is determined as the first sub-resource pool that meets the user's database resource requirements.

6. The method as described in claim 1, characterized in that, Based on resource level, the first sub-cluster is determined in the first sub-resource pool, including: Obtain the attribute information of all sub-clusters in the first sub-resource pool. The attribute information of the sub-clusters includes whether they are cross-rack, cross-building, or dedicated clusters. According to the preset sub-cluster matching conditions, the resource level is matched with the attribute information of all sub-clusters in the first sub-resource pool in turn to obtain the first sub-cluster that meets the user's database resource requirements. The preset sub-cluster matching conditions include the correspondence between different resource levels and the attribute information of the sub-clusters.

7. The method as described in claim 1, characterized in that, Based on database business metrics and associated business levels, the first physical machine in the first sub-cluster is determined, including: Obtain the attribute information of all physical machines in the first sub-cluster. The attribute information of the physical machines includes whether they are dedicated physical machines, the amount of remaining CPU resources, the amount of remaining memory resources, and the amount of remaining storage resources. According to the preset physical machine matching conditions, the database business indicator information and the associated business level are matched with the attribute information of all physical machines in the first sub-cluster in sequence to obtain the first physical machine that meets the user's database resource requirements; the preset physical machine matching conditions include the correspondence between the database business indicator information, the associated business level and the attribute information of the physical machine.

8. An automatic allocation device for database resources in a heterogeneous resource pool, characterized in that, The heterogeneous resource pool includes multiple sub-resource pools, each sub-resource pool includes multiple sub-clusters, and each sub-cluster includes multiple physical machines, including: The requirement receiving module is used to receive database resource requirement information from users. The database resource requirement information includes environmental requirement information, database business indicator information, and associated business level. The environmental requirement information is used to indicate the requirements of the data to be stored for the storage environment. The database business indicator information is used to indicate the requirements of the data to be stored for the database's data processing capabilities. The associated business level is used to indicate the degree of association between the data to be stored and the business system. The business system utilizes the database in the heterogeneous resource pool for data processing. The resource level determination module is used to determine the resource level based on the database resource requirement information; the resource level is used to represent the security level of the database. The sub-resource pool determination module is used to determine the first sub-resource pool from multiple sub-resource pools based on environmental demand information; The sub-cluster determination module is used to determine the first sub-cluster in the first sub-resource pool based on the resource level. The physical machine determination module is used to determine the first physical machine in the first sub-cluster based on database business indicator information and associated business level; and to allocate database resources to users based on the first physical machine.

9. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 7.

11. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Database resource pool automatic management and distribution method and system

    CN115599547A

  • System and method for resource allocation based on resource attributes and electronic feedback

    US20230252380A1