Method and device for determining value of configuration item and computing equipment
By establishing configuration models and environment layering rules in cloud services, and automatically calculating configuration item values, the high complexity and inconsistency issues caused by manual editing of configuration items in cloud vendor services are resolved, achieving efficient and accurate configuration management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, the configuration items of cloud vendor services rely on manual editing, which leads to high complexity in configuration and maintenance operations, low management efficiency, and a tendency for inconsistencies in configuration items.
By establishing a configuration model, the configuration item values for the target service are automatically calculated. Combined with environment layering and baseline rules, manual intervention is reduced, and automated management of configuration items is achieved.
It simplifies the configuration work before service launch, improves the efficiency and accuracy of configuration management, reduces the complexity of operation and maintenance, and ensures the data consistency of configuration items.
Smart Images

Figure CN121644346A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing, and more specifically, to a method, apparatus, and computing device for determining the value of a configuration item. Background Technology
[0002] Currently, cloud vendors manage service configurations using a key-value pair. In most scenarios, the values of most configuration items in a service cluster still rely on manual editing. This increases the complexity of configuration maintenance, reduces the efficiency of configuration management, and is prone to human error such as inconsistent configuration values due to manual editing.
[0003] Therefore, improving the management efficiency and configuration accuracy of service configuration items has become a pressing technical problem that needs to be solved. Summary of the Invention
[0004] This application provides a method for determining the value of a configuration item, which can reduce the complexity of configuration operation and maintenance, and improve the efficiency and accuracy of configuration management.
[0005] Firstly, a method for determining the values of configuration items is provided. This method is applied to a target cluster where a target service is deployed. The target cluster is located in at least one cloud data center, and each cloud data center has at least one server. The method includes: obtaining the target service and the corresponding configuration model input by a user, wherein the configuration model is a model obtained by instantiating a combination of at least one atomic model, and the configuration model is used to define multiple configuration items in the configuration item list of the target service; determining the values of the multiple configuration items of the target service defined by the configuration model according to the configuration model; and returning the values of each configuration item of the target service to the user.
[0006] In the above technical solution, a configuration model can be established for the target service in the design phase. When the target service is delivered online, the values of most configuration items of the target service can be automatically calculated through the configuration model. This allows for the rapid completion of the configuration work of the target service before it goes online, greatly simplifying the workload of service operation and maintenance, reducing the complexity of configuration operation and maintenance, and improving the efficiency and accuracy of configuration management.
[0007] In conjunction with the first aspect, in some implementations of the first aspect, the at least one atomic model includes at least one of the following models: atomic service model, atomic index model, atomic association model, atomic configuration item model, and atomic baseline model.
[0008] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: obtaining the environmental information of the target cluster as input by the user.
[0009] In conjunction with the first aspect, in some implementations of the first aspect, the environment information indicates that the target cluster is located in a target environment layer among multiple environment layers. The multiple configuration items include a first configuration item, which sets environment-level configurations. Based on the value of the first configuration item under the target environment layer, the value of the first configuration item in the configuration item list of the target service is determined. The value of the first configuration item under the target environment layer is applied to multiple clusters included in the target environment layer, and the multiple clusters include the target cluster.
[0010] In conjunction with the first aspect, in some implementations of the first aspect, the value of the first configuration item under the aforementioned target environment level satisfies the correctness verification rules corresponding to the first configuration item in the atomic baseline model.
[0011] In the above technical solution, by layering the environment and supporting multi-layer environment configuration overlay rendering, users only need to set the configuration items that are only related to the environment once, without having to repeat the settings for each cluster, thus improving the efficiency of configuration and maintenance.
[0012] In conjunction with the first aspect, in some implementations of the first aspect, the plurality of configuration items include a second configuration item, and the value of the second configuration item in the configuration item list of the target service is determined according to the baseline rule corresponding to the second configuration item in the atomic baseline model.
[0013] In the above technical solution, the atomic baseline model in the configuration model defines the value rules of configuration items in different scenarios. The atomic baseline model can not only automatically generate the configuration values corresponding to the configuration items, but also naturally ensure the data consistency of the configuration values corresponding to the configuration items across various sites.
[0014] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: providing the user with a settings interface for the user to set personalized values for some configuration items in the configuration item list of the target service.
[0015] In the above technical solution, after baseline and environment configurations are established, the values of most configuration items for the target service do not need to be specified by the user. Instead, they can be obtained through environment configuration rendering or automatically calculated through baseline rules. Users only need to set a small number of configuration items that require personalized configuration (such as IP address, username, password, etc.) during cluster deployment / upgrade / maintenance.
[0016] Secondly, an apparatus for determining the values of configuration items is provided. This apparatus is applied to a target cluster where a target service is deployed. The target cluster is located in at least one cloud data center, and each cloud data center has at least one server. The apparatus includes: an acquisition module, a determination module, and a display module. The acquisition module acquires the target service input by the user and the corresponding configuration model for the target service. The configuration model is a model obtained by instantiating a combination of at least one atomic model, and the configuration model defines multiple configuration items in the configuration item list of the target service. The determination module determines the values of the multiple configuration items of the target service defined by the configuration model based on the configuration model. The display module returns the values of each configuration item of the target service to the user.
[0017] In conjunction with the second aspect, in some implementations of the second aspect, the at least one atomic model includes at least one of the following models: atomic service model, atomic index model, atomic association model, atomic configuration item model, and atomic baseline model.
[0018] In conjunction with the second aspect, in some implementations of the second aspect, the acquisition module is also used to acquire the environmental information of the target cluster input by the user.
[0019] In conjunction with the second aspect, in some implementations of the second aspect, the environment information indicates that the target cluster is located in a target environment layer among multiple environment layers. The multiple configuration items include a first configuration item, which sets the environment-level configuration. The determining module is specifically used to: determine the value of the first configuration item in the configuration item list of the target service based on the value of the first configuration item under the target environment layer. The value of the first configuration item under the target environment layer is applied to multiple clusters included in the target environment layer, and the multiple clusters include the target cluster.
[0020] In conjunction with the second aspect, in some implementations of the second aspect, the value of the first configuration item under the target environment level satisfies the correctness verification rules corresponding to the first configuration item in the atomic baseline model.
[0021] In conjunction with the second aspect, in some implementations of the second aspect, the plurality of configuration items includes a second configuration item, and the determining module is specifically used to: determine the value of the second configuration item in the configuration item list of the target service according to the baseline rule corresponding to the second configuration item in the atomic baseline model.
[0022] In conjunction with the second aspect, in some implementations of the second aspect, the display module is also used to provide the user with a settings interface, which is used by the user to set personalized values for some configuration items in the configuration item list of the target service.
[0023] It should be understood that for the beneficial effects of the second aspect and its various implementations, please refer to the first aspect and its various implementations; they will not be repeated here.
[0024] Thirdly, a computing device is provided, including a processor and a memory, and optionally, an input / output interface. The processor controls the input / output interface to send and receive information, the memory stores a computer program, and the processor retrieves and runs the computer program from the memory, causing the program to execute the method of the first aspect or any possible implementation thereof.
[0025] Optionally, the processor can be a general-purpose processor, which can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. This memory can be integrated into the processor or located outside the processor and exist independently.
[0026] Fourthly, a computing device cluster is provided, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, such that the computing device cluster performs the method of the first aspect or any possible implementation thereof.
[0027] Fifthly, a chip is provided that acquires and executes instructions to implement the methods described in the first aspect and any implementation thereof.
[0028] Optionally, as one implementation, the chip includes a processor and a data interface, through which the processor reads instructions stored in the memory and executes the methods in the first aspect and any implementation thereof.
[0029] Optionally, as one implementation, the chip may further include a memory storing instructions, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to perform the method in the first aspect and any implementation thereof.
[0030] In a sixth aspect, a computer program product containing instructions is provided, which, when executed by a computing device, cause the computing device to perform the methods described in the first aspect and any implementation thereof.
[0031] In a seventh aspect, a computer program product containing instructions is provided, which, when run by a cluster of computing devices, cause the cluster of computing devices to perform the methods described in the first aspect and any implementation thereof.
[0032] Eighthly, a computer-readable storage medium is provided, including computer program instructions that, when executed by a computing device, perform the method as described in the first aspect and any implementation thereof.
[0033] As examples, these computer-readable storage devices include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), flash memory, electrically EPROM (EEPROM), and hard drive.
[0034] Alternatively, as one implementation method, the aforementioned storage medium can specifically be a non-volatile storage medium.
[0035] A ninth aspect provides a computer-readable storage medium including computer program instructions that, when executed by a cluster of computing devices, perform the method as described in the first aspect and any implementation thereof.
[0036] As examples, these computer-readable storage devices include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), flash memory, electrically EPROM (EEPROM), and hard drive.
[0037] Alternatively, as one implementation method, the aforementioned storage medium can specifically be a non-volatile storage medium. Attached Figure Description
[0038] Figure 1 This is a schematic block diagram of a cloud scenario applicable to embodiments of this application.
[0039] Figure 2 This is a schematic flowchart illustrating a method for determining the value of a configuration item provided in an embodiment of this application.
[0040] Figure 3 This is a schematic diagram of a different environmental level provided in the embodiments of this application.
[0041] Figure 4 This is a schematic diagram of a personalized configuration interface provided in an embodiment of this application.
[0042] Figure 5 This is a schematic diagram of another personalized configuration interface provided in an embodiment of this application.
[0043] Figure 6 This is a schematic diagram of another personalized configuration interface provided in an embodiment of this application.
[0044] Figure 7 This is a schematic diagram illustrating the priority of configuring overlay rendering according to an embodiment of this application.
[0045] Figure 8 This is a schematic block diagram of a device 800 for determining the value of a configuration item, provided in an embodiment of this application.
[0046] Figure 9 This is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of this application.
[0047] Figure 10 This is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application.
[0048] Figure 11 This is a schematic diagram showing the connection between computing devices 1500A and 1500B via a network, as provided in the embodiments of this application. Detailed Implementation
[0049] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0050] This application will present various aspects, embodiments, or features relating to systems comprising multiple devices, components, modules, etc. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.
[0051] Furthermore, in the embodiments of this application, the words "exemplary," "for example," etc., are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner.
[0052] In the embodiments of this application, "corresponding" and "corresponding" can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, their intended meanings are consistent.
[0053] The business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0054] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0055] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0056] Currently, cloud vendors manage service configurations using a key-value pair. In most scenarios, the values of most configuration items in a service cluster still rely on manual editing. This increases the complexity of configuration maintenance, reduces the efficiency of configuration management, and is prone to human error such as inconsistent configuration values due to manual editing.
[0057] In reality, the values of most service configuration items follow predictable patterns. For example, a configuration item might be set to the domain name of a service, with only the region ID differing across regions. Another example is a feature on / off switch; the value is fixed when the feature needs to be implemented within a region. Yet another example is a configuration item's value being related to the configuration items of another service cluster. Still another example is a configuration item's value being related to the region's disaster recovery architecture settings.
[0058] In view of this, this application provides a method for determining the values of configuration items. This method can establish a configuration model for the target service in the design state. When the target service is delivered online, the values of most of the configuration items of the target service can be automatically calculated through the configuration model. Users only need to edit a small number of configuration items (such as IP address, username, password, etc.) to complete the configuration work of the target service before it goes online. This greatly simplifies the workload of service operation and maintenance, reduces the complexity of configuration operation and maintenance, and improves the efficiency and accuracy of configuration management.
[0059] In one possible implementation, the method provided in this application embodiment can be applied to a cloud service scenario, where the method is executed by a cloud management platform within the cloud service scenario. For ease of description, the following will first refer to... Figure 1 It provides a detailed description of cloud service scenarios.
[0060] Figure 1 This is a schematic block diagram illustrating a cloud scenario applicable to embodiments of this application. For example... Figure 1 As shown, the cloud scenario may include: cloud management platform 110, Internet 120, and client 130.
[0061] like Figure 1 As shown, the cloud management platform 110 is used to manage the infrastructure that provides multiple cloud services. The infrastructure includes multiple cloud data centers, each cloud data center includes multiple servers, and each server includes cloud service resources to provide corresponding cloud services to tenants.
[0062] The cloud management platform 110 can be located in a cloud data center and provides access interfaces (such as user interfaces or application program interfaces, APIs). Tenants can use client 130 to remotely access the cloud management platform 110, register a cloud account and password, and log in. After successful authentication of the cloud account and password, the tenant can further select and purchase virtual machines of specific specifications (processor, memory, disk) on the cloud management platform 110. After successful purchase, the cloud management platform 110 provides the remote login account and password for the purchased virtual machine, allowing client 130 to remotely log in and install and run the tenant's applications. Therefore, tenants can create, manage, log in to, and operate virtual machines in the cloud data center through the cloud management platform 110. Virtual machines can also be referred to as Elastic Compute Service (ECS) or Elastic Instances (different cloud service providers may use different names).
[0063] It should be understood that cloud service tenants can be individuals, businesses, schools, hospitals, government agencies, etc.
[0064] The cloud management platform 110 includes, but is not limited to, a user console, compute management services, network management services, storage management services, authentication services, and image management services. The user console provides an interface or API for interaction with tenants. The compute management services manage servers running virtual machines and containers, as well as bare metal servers. The network management services manage network services (such as gateways and firewalls). The storage management services manage storage services (such as data bucket services). The authentication services manage tenant account passwords. The image management services manage virtual machine images. Tenants can log in to the cloud management platform 110 via client 130 and the internet 120 to manage their rented cloud services.
[0065] Figure 2 This is a schematic flowchart illustrating a method for determining the value of a configuration item according to an embodiment of this application. Figure 2 As shown, the method may include steps 210-230, which will be described in detail below.
[0066] Step 210: Obtain the target service input by the user and the configuration model corresponding to the target service.
[0067] In this embodiment, the target service input by the user and the configuration model corresponding to the target service are obtained. The configuration model of the target service is a model obtained by instantiating the atomic model.
[0068] The configuration model of the target service defines the following information: the configuration items of the target service and their related attributes, service associations, baseline rules for the values of the configuration items, and rules for verifying the correctness of the configuration items.
[0069] The atomic models mentioned above include combinations of the following atomic models: atomic service model (server_model), atomic index model (kv_item_model), atomic association model (refer_model), atomic configuration item model (config_item_model), and atomic baseline model (benchmark_package_model).
[0070] It should be understood that an atomic model refers to a set of basic models defined internally by the system. Each atomic model defines an atomic property. Users cannot define custom atomic models; they can only define model objects by combining atomic models.
[0071] The aforementioned model object refers to a model defined by the user by combining atomic models. For example, atomic models might be basic data types such as int, float, and array. A model object can be understood as a composite data type obtained by combining these basic data types. For instance, `typedef array`... <int>ARRINT, where ARRINT is a model object.
[0072] An object instance instantiated from the above model object can be referred to as a model object instance. For example, for the above model object ARRINT, a variable defined therefrom and assigned a value, such as ARRINT a = [1, 2], where a is a model object instance instantiated therefrom.
[0073] For example, each of the above atomic models is described in detail as follows.
[0074] 1. Atomic service model (server_model)
[0075] As an example, the atomic service model (server_model) defines a framework of a service model, and a service model object is generated based on the atomic model.
[0076] For example, the attributes of the atomic service model (server_model) are shown in Table 1.
[0077] Table 1 Attributes of atomic service model (server_model)
[0078]
[0079] The above service model object refers to a model object defined by the atomic service model (server_model), where the atomic service model (server_model) only defines a framework of a service model, and other atomic models need to be combined to define a service model object for a target service.
[0080] It should be understood that the service model object for the target service, i.e., the configuration model of the target service, will eventually be built into a model package with a software package and used by other systems.
[0081] The above configuration model of the target service, in addition to defining configuration items of the target service, also includes definitions of parameters related to deployment and resources.
[0082] 2. Atomic index model (kv_item_model)
[0083] As an example, the atomic index model (kv_item_model) is a model that defines the index field (index) in the atomic service model (server_model). The atomic index model (kv_item_model) is a simplified key-value model that defines each array element in the index field (index) of the atomic service model (server_model), and the combination of multiple index fields can be used to uniquely locate a model object instance.
[0084] As an example, the attribute information of the atomic index model (kv_item_model) is shown in Table 2.
[0085] Table 2 Attribute information of the atomic index model (kv_item_model)
[0086]
[0087] 3、Atomic association model (refer_model)
[0088] As an example, the atomic association model (refer_model) is a model that defines the association relationship between model objects.
[0089] As an example, the attribute information of the atomic association model (refer_model) is shown in Table 3.
[0090] Table 3 Attribute information of the atomic association model (refer_model)
[0091]
[0092] 4、Atomic configuration item model (config_item_model)
[0093] As an example, the atomic configuration item model (config_item_model) is a model that defines the configuration item parameters.
[0094] As an example, the attribute information of the atomic configuration item model (config_item_model) is shown in Table 4.
[0095] Table 4 Attribute information of the atomic configuration item model (config_item_model)
[0096]
[0097]
[0098] 5、Atomic baseline model (benchmark_package_model)
[0099] As an example, the atomic benchmark model (benchmark_package_model) is a model that defines the baseline rule of the value of the configuration item parameter.
[0100] As an example, the attribute information of the atomic benchmark model (benchmark_package_model) is shown in Table 5.
[0101] Table 5 Attribute information of the atomic configuration item model (config_item_model)
[0102]
[0103] It should be understood that the embodiments of the present application provide the following two modes of baseline rules, both of which are supported in the atomic benchmark model (benchmark_package_model) and can be used.
[0104] Mode 1: Define the baseline values of a group of configuration items in different scenarios through a baseline package. The user can define multiple baseline packages under the benchmark attribute of the atomic service model (server_model), and the configuration items in different baseline packages are repeatable. This mode is suitable for scenarios where the repetition rate of the configuration item list is high in different scenarios, such as gear-based baseline. For example, in gear A, the baseline value of all configuration items is XX. For example, in gear B, the baseline value of all configuration items is ZZ.
[0105] Mode 2: Define the baseline values in different scenarios in each configuration item. This mode is suitable for scenarios where the scene is very miscellaneous and the repetition rate of the configuration item list is low in each scenario.
[0106] As an example, the configuration model of a target service is listed below.
[0107]
[0108]
[0109]
[0110] Step 220: Determine the value of each configuration item in the target service according to the configuration model of the target service.
[0111] In the embodiments of the present application, after obtaining the configuration model of the target service, the value of each configuration item in the configuration item list of the target service can be determined according to the configuration model of the target service.
[0112] In one possible implementation, if the configuration item list contains configuration items with environment-level configurations, the values of these configuration items can be determined based on the environment of the cluster where the target service is deployed.
[0113] For example, the target cluster deployed by the target service is located in the target environment layer among multiple environment layers. The target service has multiple configuration items, including a first configuration item, which sets the environment-level configuration. In this embodiment, the value of the first configuration item in the configuration item list of the target service can be determined based on the value of the first configuration item under the target environment layer. The value of the first configuration item under the target environment layer can be applied to multiple clusters included in the target environment layer, including the target cluster.
[0114] Optionally, the value of the first configuration item under the above target environment level needs to satisfy the correctness verification rules corresponding to the first configuration item in the atomic baseline model.
[0115] For example, in this application embodiment, a hierarchical environment-level configuration management module can be added to the cluster configuration center. This module is responsible for managing the environment-level configuration of configuration items for the target service. For instance, in a public cloud, the environment is configured according to... Figure 3 The layering is done in the manner shown. Figure 3 The layered environment configuration management module can include different environment levels. It supports setting the values of configuration items defined in the configuration model for target services according to different environment levels, and performs overriding rendering based on the inclusion relationship or priority between different environment levels (higher priority further inwards). Service clusters accessed under different environment levels can automatically inherit the overridden configuration values. The layered environment configuration management module uses different environment levels as its granularity; configuration item values are the same for clusters within the same environment level. This allows users to avoid repeatedly setting configuration item values for each cluster. If the values of cluster configuration items are the same within the same environment, the configuration item values only need to be set once within the environment level where the cluster resides.
[0116] In the above technical solution, by layering the environment and supporting multi-layer environment configuration overlay rendering, users only need to set the configuration items that are only related to the environment once, without having to repeat the settings for each cluster, thus improving the efficiency of configuration and maintenance.
[0117] In another possible implementation, if the configuration item list contains configuration items for which no environment-level configuration is set, the values corresponding to these configuration items can be automatically calculated based on the baseline rules corresponding to these configuration items obtained from the configuration model.
[0118] For example, the target service may include a second configuration item among its multiple configuration items, which has no environment-level configuration set. In this embodiment, the value of the second configuration item in the target service's configuration item list can be determined based on the baseline rules corresponding to this second configuration item in the atomic baseline model.
[0119] In the above technical solution, the atomic baseline model in the configuration model defines the value rules of configuration items in different scenarios. The atomic baseline model can not only automatically generate the configuration values corresponding to the configuration items, but also naturally ensure the data consistency of the configuration values corresponding to the configuration items across various sites.
[0120] For example, suppose a list of configuration items for a target service is obtained from the configuration model. This list includes three configuration items, such as key1, key2, and key3. In this embodiment, the system first checks the hierarchical environment-level configuration to see if any configuration item has an environment configuration set. For example, if key1 and key2 have environment-level configurations, the overlay rendering capability of the hierarchical environment-level configuration management module is used to render the values of configuration items key1 and key2. For configuration items without environment-level configurations, if a baseline rule corresponding to the configuration item exists in the configuration model, the value of the configuration item can be automatically calculated based on that baseline rule. For example, if configuration item key3 has a baseline rule but no environment-level configuration, the configuration value of configuration item key3 is calculated according to the baseline rule.
[0121] Step 230: Provide feedback to the user on the values of each configuration item of the target service.
[0122] This application embodiment can also feed back the values of each configuration item of the determined target service to the user.
[0123] The values of the various configuration items of the aforementioned target service can be determined by rendering the environment configuration and / or by calculating the baseline rules. This application embodiment does not specifically limit this.
[0124] For example, in this embodiment of the application, the configuration item key1 is determined to be xx, the configuration item key2 is determined to be yy, and the configuration item key3 is determined to be zz. The following information can be returned to the user: {key1=xx,key2=yy,key3=zz}.
[0125] The above technical solution, by combining layered environment-level configuration management and automatic configuration calculation of the configuration baseline model, greatly reduces the configuration and maintenance complexity of service deployment and delivery.
[0126] In this embodiment, after baseline and environment configurations are established, the values of most configuration items for the target service do not need to be specified by the user. Instead, they can be obtained through environment configuration rendering or automatically calculated through baseline rules. Users only need to set a small number of configuration items that require personalized configuration during cluster deployment / upgrade / maintenance.
[0127] Optionally, embodiments of this application also provide a personalized configuration function for the target service in a specified environment, so that the service clusters deployed in this environment can automatically apply the personalized configuration value, thereby reducing the complexity of operation and maintenance and reducing human error configuration problems.
[0128] For example, users can use, as Figure 4 The interface shown allows you to select an environment that requires personalized configuration. For example, Figure 4 The environment level that users choose from multiple environment levels and require personalized configuration is deck, region.
[0129] For example, after a user selects a target service and its corresponding environment, the user can set personalized values for configuration items defined in the configuration model. As an example, a user can... Figure 5 The interface shown allows you to customize the values of configuration items in the corresponding environment.
[0130] For example, when the environment-level configuration is modified, this application embodiment also provides, for example... Figure 6 The interface shown helps users determine the impact on the cluster in the environment. This embodiment of the application automatically performs overlay rendering based on the environment in which the cluster resides and the inclusion relationship (or priority relationship) of the hierarchical environment, and automatically calculates the final rendering result for that cluster.
[0131] For example, Figure 7 This diagram illustrates a priority configuration for overlay rendering. For example... Figure 7 As shown, the priorities from highest to lowest are: cluster configuration, environment-level configuration, baseline configuration, and default configuration. Cluster configuration refers to configurations that require user customization during runtime. Environment-level configuration refers to customized configurations based on environment layers; each environment only needs to be configured once by the user. Baseline configuration refers to configurations based on baseline rules in the configuration model. Default configuration refers to the default values in the configuration model.
[0132] This application's embodiments can be used not only for public cloud management plane configuration and maintenance, but also for tenant plane configuration and maintenance. In the tenant plane configuration and maintenance scenario, tenants need to define their service configuration models according to the atomic model and import them into the configuration center for processing. Similarly, the tenant plane configuration center also needs to refer to the simplified maintenance architecture described above to implement the corresponding functions.
[0133] The embodiments of this application are not only applicable to public clouds, but also to hybrid clouds, private clouds, etc., and this application does not make specific limitations in this regard.
[0134] The above text combined Figures 1 to 7 The method provided in the embodiments of this application is described in detail below. Figures 8-11 The embodiments of the apparatus of this application are described in detail below. It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments; therefore, any parts not described in detail can be referred to the foregoing method embodiments.
[0135] Figure 8 This is a schematic block diagram of a device 800 for determining the value of a configuration item, provided in an embodiment of this application. The device 800 can be implemented by software, hardware, or a combination of both. The device 800 provided in this embodiment can implement the embodiments of this application. Figure 2 The method flow shown includes the following: The apparatus 800 includes:
[0136] As an example, the device 800 is applied to a target cluster where a target service is deployed. The target cluster is located in at least one cloud data center, and each cloud data center has at least one server. The device 800 includes: an acquisition module 810, a determination module 820, and a display module 830. The acquisition module 810 is used to acquire the target service and its corresponding configuration model input by the user. The configuration model is a model obtained by instantiating a combination of at least one atomic model, and it defines multiple configuration items in the configuration item list of the target service. The determination module 820 is used to determine the values of the multiple configuration items of the target service defined by the configuration model based on the configuration model. The display module 830 is used to return the values of each configuration item of the target service to the user.
[0137] Optionally, the at least one atomic model includes at least one of the following models: atomic service model, atomic index model, atomic association model, atomic configuration item model, and atomic baseline model.
[0138] Optionally, the acquisition module 810 is also used to acquire the environmental information of the target cluster input by the user.
[0139] Optionally, the environment information indicates that the target cluster is located in a target environment level among multiple environment levels. The multiple configuration items include a first configuration item, which sets the environment-level configuration. The determining module 830 is specifically used to: determine the value of the first configuration item in the configuration item list of the target service based on the value of the first configuration item under the target environment level. The value of the first configuration item under the target environment level is applied to multiple clusters included in the target environment level, and the multiple clusters include the target cluster.
[0140] Optionally, the value of the first configuration item under the target environment level satisfies the correctness verification rule corresponding to the first configuration item in the atomic baseline model.
[0141] Optionally, the plurality of configuration items includes a second configuration item, and the determining module 820 is specifically used to: determine the value of the second configuration item in the configuration item list of the target service according to the baseline rule corresponding to the second configuration item in the atomic baseline model.
[0142] Optionally, the display module 830 is also used to provide the user with a settings interface, which allows the user to set personalized values for some configuration items in the configuration item list of the target service.
[0143] The device 800 here can be embodied in the form of a functional module. The term "module" here can be implemented in software and / or hardware, without specific limitations.
[0144] For example, a "module" can be a software program, a hardware circuit, or a combination of both that implements the above functions. For instance, the implementation of module 810 will be described below using module 810 as an example. Similarly, the implementation of other modules, such as module 820 and module 830, can refer to the implementation of module 810.
[0145] As an example of a software functional unit, the acquisition module 810 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the acquisition module 810 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.
[0146] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0147] As an example of a hardware functional unit, the acquisition module 810 may include at least one computing device, such as a server. Alternatively, the acquisition module 810 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.
[0148] The multiple computing devices included in the acquisition module 810 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the acquisition module 810 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the acquisition module 810 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0149] Therefore, the modules of the various examples described in the embodiments of this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0150] It should be noted that the above embodiments of the device, when executing the above methods, are only illustrative examples of the division of functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. For example, the acquisition module 810 can be used to execute any step in the above methods, the determination module 820 can be used to execute any step in the above methods, and the display module 830 can be used to execute any step in the above methods. The steps implemented by the acquisition module 810, the determination module 820, and the display module 830 can be specified as needed. By implementing different steps in the above methods through the acquisition module 810, the determination module 820, and the display module 830, all the functions of the above device can be realized.
[0151] Furthermore, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments above, which will not be repeated here.
[0152] The method provided in this application can be executed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as processing units, memory, and memory control units; the functions and structure of this hardware will be described in detail later. The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Optionally, the computer system can be a handheld device such as a smartphone, or a terminal device such as a personal computer; this application does not particularly limit this, as long as the method provided in this application can be used. The executing entity of the method provided in this application can be a computing device, or a functional module within the computing device capable of calling and executing programs.
[0153] The following is combined Figure 9 This application provides a detailed description of a computing device provided in an embodiment.
[0154] Figure 9 This is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of this application. The computing device 1500 can be a server, a computer, or other device with computing capabilities. Figure 9 The computing device 1500 shown includes at least one processor 1510 and a memory 1520.
[0155] It should be understood that this application does not limit the number of processors and memories in the computing device 1500.
[0156] The processor 1510 executes instructions in the memory 1520, causing the computing device 1500 to implement the method provided in this application. Alternatively, the processor 1510 executes instructions in the memory 1520, causing the computing device 1500 to implement the various functional modules provided in this application, thereby implementing the method provided in this application.
[0157] Optionally, the computing device 1500 also includes a communication interface 1530. The communication interface 1530 uses a transceiver module, such as, but not limited to, a network interface card or a transceiver, to enable communication between the computing device 1500 and other devices or communication networks.
[0158] Optionally, the computing device 1500 further includes a system bus 1540, wherein the processor 1510, memory 1520, and communication interface 1530 are respectively connected to the system bus 1540. The processor 1510 can access the memory 1520 through the system bus 1540; for example, the processor 1510 can perform data read / write or code execution in the memory 1520 through the system bus 1540. The system bus 1540 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus 1540 is divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0159] In one possible implementation, the processor 1510 primarily functions to interpret the instructions (or code) of a computer program and process data within the computer software. The instructions of the computer program and the data within the computer software can be stored in memory 1520 or cache 1516.
[0160] Optionally, processor 1510 may be an integrated circuit chip with signal processing capabilities. By way of example and not limitation, processor 1510 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor, etc. For example, processor 1510 may be a central processing unit (CPU).
[0161] Optionally, each processor 1510 includes at least one processing unit 1512 and a memory control unit 1514.
[0162] Optionally, the processing unit 1512, also known as the core, is the most important component of the processor. The processing unit 1512 is manufactured from single-crystal silicon using a specific production process. All calculations, command reception, command storage, and data processing are performed by the core. Each processing unit independently executes program instructions, utilizing parallel computing capabilities to accelerate program execution. Various processing units have fixed logical structures; for example, a processing unit includes logical units such as a Level 1 cache, a Level 2 cache, an execution unit, an instruction-level unit, and a bus interface.
[0163] In one implementation example, the memory control unit 1514 controls the data interaction between the memory 1520 and the processing unit 1512. Specifically, the memory control unit 1514 receives memory access requests from the processing unit 1512 and controls access to memory based on the memory access requests. By way of example and not limitation, the memory control unit is a device such as a memory management unit (MMU).
[0164] In one implementation example, each memory control unit 1514 addresses the memory 1520 via the system bus. An arbitrator is configured in the system bus. Figure 9 (Not shown in the image), the arbitrator is responsible for handling and coordinating competing accesses of multiple processing units 1512.
[0165] In one implementation example, the processing unit 1512 and the memory control unit 1514 are connected via internal chip connection lines, such as address lines, thereby enabling communication between the processing unit 1512 and the memory control unit 1514.
[0166] Optionally, each processor 1510 also includes a cache 1516, which is a buffer for data exchange (called a cache). When the processing unit 1512 needs to read data, it first looks for the required data in the cache. If the data is found, it is executed directly; otherwise, it looks for the data in memory. Since the cache operates much faster than memory, its purpose is to help the processing unit 1512 run faster.
[0167] The memory 1520 provides runtime space for processes in the computing device 1500. For example, the memory 1520 stores the computer program (specifically, the program code) used to generate the process. After the computer program is run by the processor to generate a process, the processor allocates corresponding storage space for the process in the memory 1520. Furthermore, the aforementioned storage space further includes text segments, initialized data segments, bit initialized data segments, stack segments, heap segments, etc. The memory 1520 stores data generated during the process's execution, such as intermediate data or process data, in the aforementioned process-specific storage space.
[0168] Optionally, the memory, also known as RAM, is used to temporarily store the data processed by the processor 1510, as well as data exchanged with external storage devices such as hard disks. As long as the computer is running, the processor 1510 will load the data that needs to be processed into RAM for processing, and after the processing is completed, the processing unit 1512 will send the result out.
[0169] By way of example and not limitation, memory 1520 is volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory is read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory is random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM). It should be noted that the memory 1520 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0170] The above-described structure of the computing device 1500 is merely illustrative and is not intended to limit the application. The computing device 1500 in this application includes various hardware components found in existing computer systems. For example, the computing device 1500 may also include other memories besides the memory 1520, such as disk storage. Those skilled in the art should understand that the computing device 1500 may also include other devices necessary for normal operation. Furthermore, depending on specific needs, those skilled in the art should understand that the computing device 1500 may also include hardware devices for implementing other additional functions. Moreover, those skilled in the art should understand that the computing device 1500 may only include the devices necessary for implementing the embodiments of this application, and may not necessarily include... Figure 9 All the devices shown.
[0171] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a desktop computer, a laptop computer, or a smartphone, or other terminal device.
[0172] like Figure 10 As shown, the computing device cluster includes at least one computing device 1500. The memory 1520 of one or more computing devices 1500 in the computing device cluster may store the same instructions for performing the methods described above.
[0173] In some possible implementations, the memory 1520 of one or more computing devices 1500 in the computing device cluster may also each store a portion of the instructions for executing the above-described methods. In other words, a combination of one or more computing devices 1500 can jointly execute the instructions of the above-described methods.
[0174] It should be noted that the memory 1520 in different computing devices 1500 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the aforementioned device. That is, the instructions stored in the memory 1520 of different computing devices 1500 can implement the functions of one or more modules within the aforementioned device.
[0175] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 11 One possible implementation is shown. For example... Figure 11 As shown, the two computing devices 1500A and 1500B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0176] It should be understood that Figure 11 The functions of computing device 1500A shown can also be performed by multiple computing devices 1500. Similarly, the functions of computing device 1500B can also be performed by multiple computing devices 1500.
[0177] In this embodiment, a computer program product containing instructions is also provided. The computer program product may be a software or program product containing instructions capable of running on a computing device or stored on any usable medium. When run on a computing device, it causes the computing device to perform the methods provided above, or causes the computing device to perform the functions of the apparatus provided above.
[0178] In this embodiment, a computer-readable storage medium is also provided. This computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method described above.
[0179] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0180] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0181] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0182] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0183] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0184] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0185] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0186] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.< / int>
Claims
1. A method for determining a value of a configuration item, characterized in that, The method is applied to a target cluster of a target service deployment, the target cluster is located in at least one cloud data center, each cloud data center is provided with at least one server, and the method comprises: obtaining the target service input by a user and a configuration model corresponding to the target service, wherein the configuration model is a model obtained by instantiating a combination of at least one atomic model, and the configuration model is used to define a plurality of configuration items in a configuration item list of the target service; determining values of the plurality of configuration items of the target service defined by the configuration model according to the configuration model; returning the values of the respective configuration items of the target service to the user.
2. The method of claim 1, wherein, The at least one atomic model comprises at least one of the following models: an atomic service model, an atomic index model, an atomic association model, an atomic configuration item model, and an atomic baseline model.
3. The method according to claim 1 or 2, characterized in that, The method further comprises: obtaining environment information of the target cluster input by the user.
4. The method of claim 3, wherein, The environment information indicates that the target cluster is located in a target environment level in a plurality of environment levels, the plurality of configuration items comprise a first configuration item, and the first configuration item sets an environment level configuration. The determining of the values of the plurality of configuration items in the configuration item list of the target service according to the configuration model comprises: determining the value of the first configuration item in the configuration item list of the target service according to the value of the first configuration item in the target environment level, wherein the value of the first configuration item in the target environment level is applied to a plurality of clusters contained in the target environment level, and the plurality of clusters comprise the target cluster.
5. The method of claim 1, wherein, The plurality of configuration items comprise a second configuration item. The determining of the values of the plurality of configuration items in the configuration item list of the target service according to the configuration model comprises: determining the value of the second configuration item in the configuration item list of the target service according to a baseline rule corresponding to the second configuration item in the atomic baseline model.
6. The method according to any one of claims 1 to 5, characterized in that, The method further comprises: providing a setting interface to the user, the setting interface being used for the user to set personalized values of part of the configuration items in the configuration item list of the target service.
7. An apparatus for determining a value of a configuration item, the apparatus comprising: The device is applied to a target cluster of a target service deployment, the target cluster is located in at least one cloud data center, each cloud data center is provided with at least one server, and the device comprises: an obtaining module, configured to obtain the target service input by a user and a configuration model corresponding to the target service, wherein the configuration model is a model obtained by instantiating a combination of at least one atomic model, and the configuration model is used to define a plurality of configuration items in a configuration item list of the target service; a determining module, configured to determine values of the plurality of configuration items of the target service defined by the configuration model according to the configuration model; a display module, configured to return the values of the respective configuration items of the target service to the user.
8. The apparatus of claim 7, wherein, The at least one atomic model comprises at least one of the following models: an atomic service model, an atomic index model, an atomic association model, an atomic configuration item model, and an atomic baseline model.
9. The device of claim 7 or 8, wherein The acquisition module is further configured to acquire environment information in which the target cluster input by the user is located.
10. The apparatus of claim 9, wherein, The environment information indicates that the target cluster is located in a target environment level in a plurality of environment levels, and the plurality of configuration items include a first configuration item, and the first configuration item sets an environment level configuration. The determination module is specifically configured to: determine, according to a value of the first configuration item in the target environment level, a value of the first configuration item in the configuration item list of the target service, wherein the value of the first configuration item in the target environment level is applied to a plurality of clusters included in the target environment level, and the plurality of clusters include the target cluster.
11. The apparatus of claim 7, wherein, The plurality of configuration items include a second configuration item, The determination module is specifically configured to: determine, according to a baseline rule corresponding to the second configuration item in an atomic baseline model, a value of the second configuration item in the configuration item list of the target service.
12. The apparatus of any of claims 7 to 11, wherein: The display module is further configured to provide a setting interface to the user, and the setting interface is used for the user to set personalized values of part of configuration items in the configuration item list of the target service.
13. A cluster of computing devices, characterized in that, at least one computing device, each computing device including a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method of any one of claims 1 to 6.
14. A computer program product comprising instructions, characterized in that, When the instructions are executed by the computing device cluster, the computing device cluster executes the method of any one of claims 1 to 6.
15. A computer-readable storage medium, characterized in that, computer program instructions, when executed by a computing device cluster, the computing device cluster executes the method of any one of claims 1 to 6.