Detailed Description
Exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, in which various details of the embodiments of the present invention are included to facilitate understanding, and are to be considered merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It should be noted that, in the embodiments of the present application, some existing solutions in the industry such as software, components, models, etc. may be mentioned, and they should be regarded as exemplary, only for illustrating the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or must not use the solution.
Embodiments of the invention and features of the embodiments may be combined with each other without conflict. The technical scheme of the invention is used for acquiring, transmitting, storing, using and processing the data according with the relevant regulations of national laws and regulations, is used for legal and reasonable purposes, is not shared, leaked or sold outside the aspects of legal use and the like, and is subjected to supervision and management of a supervision department.
For the user information, necessary measures should be taken for the user personal information to prevent illegal access to such personal information data, ensure that personnel having access to the personal information data obeys the regulations of the relevant laws and regulations, and ensure the safety of the user personal information. Once these user personal information data are no longer needed, the risk should be minimized by limiting or even prohibiting the data collection and/or deletion. User privacy is protected, when applicable, by de-identifying the data, including in some related applications, such as by removing a particular identifier (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at a city level rather than at a specific address level), controlling how the data is stored, and/or other methods.
The concepts of "machine node," "node," and "machine" may vary in different contexts, but in general, in the context of computer networks or distributed systems, these terms are used with some relevance and distinction to refer to a physical computing device, such as a server, personal computer, or other computing-capable hardware appliance. In a network or a distributed system, a node generally refers to a connection point in a network, which may be any entity capable of sending, receiving, or forwarding information. In the network graph, nodes are generally represented by circles and are connected to other nodes by edges (i.e., connecting lines). In a distributed computing environment, nodes often refer to hosts running particular software instances that may perform particular tasks, such as data processing or storage. Machine nodes, sometimes referred to as a physical machine in a network or cluster, carry the functions of the node. That is, a machine node is understood to be both a physical machine and a logical network node.
The environment is built, and simply includes creating a machine (e.g., operating system) node, installing base software (e.g., middleware required for the application system to run). The basic software is software for providing basic functions, and common basic software includes middleware (Tomcat, weblogic, etc.), programming language running environment software (JDK/JRE, python, etc.), web server software (nginnx, httpd, etc.), database software, etc. Because of the complexity of the database field, there are classification modes in which the databases are independently classified as a piece of software.
When the existing operation and maintenance personnel perform environment construction work, a resource demand list is input, and a system, node configuration and basic software required to be constructed in the environment are listed in the list. For easy understanding, the enterprise-level application system is complicated, and for ease of understanding, a resource demand list of 2 application systems is taken as an example, as shown in table 1:
the existing method for building the environment comprises the following 2 steps:
The method comprises the steps that after the machine nodes are built, needed basic software of the machine nodes is installed for each machine node through an automation tool, wherein the automation tool is the most common tool and one of the most important tools in operation and maintenance work. The automation tool realizes interaction with each machine node through agents on each machine node, can remotely issue execution commands and scripts and issue the execution commands in batches, and is an important tool in operation and maintenance management work and a bottom layer supporting component for realizing automation. In the daily operation and maintenance management work, common usage scenarios are software installation, creation of operating system users/user groups, etc.
Taking the example resource demand inventory as an example, the inventory involves 2 systems, where the A system includes 4 deployment units and the B system includes 3 deployment units, and these 7 different units require 6 different base software installations.
1) A task is created in an automation tool, wherein 6 machine nodes under a first deployment unit of an A system are selected as execution targets, the arrangement of Redis sentry installation required by the deployment unit is selected as execution actions, and the task is generated and executed;
2) Executing the task, and performing installation operation on the target machine node;
3) Repeating the steps 1) and 2), and completing the basic software installation of all the deployment units in the list. Alternatively, if there is a complete agreement of the types, versions, and installation modes of the base software required by some deployment units (e.g., #3, #7 in the manifest), the base software requirements of these deployment units may be combined and executed in an automation task, and the target machine node is the machine node under the deployment unit, and the execution action is the base software installation required by the target machine node.
The disadvantage of this approach is that 1 the manual effort is large. In the resource demand list example, only the demands of 19 machine nodes of 2 systems are listed, in practical situations, the number of systems, the number of deployment units and the number of machine nodes involved in a new environment can be 2 orders of magnitude greater, and the number of basic software installation tasks required to be created in an automation tool can be increased by tens of times or even hundreds of times. And 2, the input links are more, the efficiency is difficult to improve, and the error probability is high. The original input is a resource demand list of each system, a machine node is needed to be manually created according to the list in the step of creating the machine node, the original input is a first input step, and when an automatic tool is used for creating a basic software installation task, an execution target (the machine node) and an execution action (the basic software to be installed) are manually selected, and the original input is a second input step. The two links comprise a plurality of information sub-items which need to be filled or input manually, the efficiency is difficult to improve, the required data volume is large, and the probability of manual input errors is increased.
And secondly, manufacturing the needed basic software into an operating system mirror image template, and after the machine is created by using the mirror image template, obtaining the installed basic software. Taking an example resource requirement list as an example, 3 kinds of Operating Systems (OS) and 6 kinds of basic software are involved in the list.
1) The mirror image needed by the first demand in the list is confirmed, and because the basic software is provided by the mirror image, the mirror image information is SUSE11 Redis (sentinel) _5.0.4';
2) And searching in the mirror image library to confirm whether the required mirror image exists. If not, making a mirror image and uploading a mirror image library;
3) Selecting a mirror image of SUSE11 Redis (sentinel) _5.0.4, creating virtual machines required by a first deployment unit of the A system, and creating 6 machine nodes;
Repeating the steps 1), 2) and 3) to complete the creation of all the systems and all the machine nodes of the deployment units and the installation of the basic software in the list.
Disadvantages of this approach are, 1, that it is time consuming to make an operating system image, less flexible, and difficult to respond quickly to a demand. When the mirror image library has no mirror image with the adaptation requirement, the mirror image is required to be manufactured. Because the types of the basic software are gradually increased and the manufacturers of the basic software continuously iterate to update the versions, and the creation and the calibration of the images are long, the method of providing the basic software by using the images can only be used as a supplementary means under a specific range, and is difficult to quickly and comprehensively support the installation requirement of the basic software, and the defects are 2 that the number of the images is greatly increased (the number of the image templates=the number of the OS basic images which is the number of the software types which is the software versions), and the images occupy larger storage space additionally.
Other modes exist in the prior art, such as 1) information is collected from existing equipment, abstract modeling is performed to form data, 2) learning is performed based on the data to form intelligent adaptation rules, 3) based on the obtained rules, an application system is packaged to form a container mirror image and stored, and 4) based on the mirror image manufactured by packaging, deployment can be performed relatively simply, and various complex installation and configuration processes are omitted.
But this approach relies on existing equipment rather than newly created equipment and thus does not involve the process of creating machine nodes under a deployment unit, one of the focus of the present application is to create machine nodes based on a configuration information model. In addition, an agent needs to be installed on the equipment in the mode to collect equipment information, and although the application also relates to configuration information and basic software information of the machine node, the information is used in a construction environment, namely the machine node is not yet established at the moment, the basic software is not yet installed, and the information is planning information, and even if a deployment unit is not yet constructed, the information can exist, so that the information is different from acquisition after the equipment is established.
Referring to fig. 1, a main flowchart of an environment construction processing method provided by an embodiment of the present invention is shown, including the following steps:
S101, acquiring an environment resource demand list to be imported into an application system hierarchical architecture model to obtain application system hierarchical architecture information, wherein the application system hierarchical architecture information comprises application system information, deployment unit information, machine node configuration information and basic software information;
S102, responding to a selection operation of one or more application system information, and generating a machine node creation instruction based on deployment unit information and machine node configuration information for each selected application system;
S103, sending a machine node creation instruction to a first building party, so that the first building party executes machine node creation operation under a deployment unit to obtain machine node information;
And S104, generating an installation basic software instruction based on the machine node information and the basic software information and sending the installation basic software instruction to the second building party in response to the completion of the creation of the machine nodes under the deployment unit, so that the second building party executes the installation basic software operation under each machine node.
In the above embodiment, for step S101, the application system referred to in this scheme is a system that can independently run and carry a certain or a certain kind of service, such as an OA system and an attendance system, which are understood in a general sense. A set of systems, whether virtual machines or container technology is required, may be referred to as an "application system," with the system being a unit of deployment underneath, and thus being considered a combination of one or more units of deployment. Deployment unit-a collection of one or more service nodes whose contents are completely consistent, all machine node configurations under the deployment unit are also completely consistent for services to be deployed on the machine nodes.
Application system hierarchy architecture, namely, expressing architecture information of an application system in a logically layered manner. The application system hierarchy is two to three layers, namely a system group (optional), an application system and a deployment unit, and each hierarchy object comprises corresponding attributes. The system group is a logic combination of a plurality of application systems, and the application systems are related in the service field or have a relatively tight upstream-downstream relationship.
The scheme is provided with an application system hierarchy model which can be regarded as a table with standard requirements, so that after input of environment construction (namely an environment resource demand list) is imported, data in the environment resource demand list is arranged through the standard in the table, and some data possibly have data loss, in this case, in order to ensure that only data meeting the standard can be stored in the application system hierarchy model, the missing data is marked and the storage is refused, so that the integrity and the accuracy of the imported data are ensured.
And importing the environment resource demand list into an application system hierarchical architecture model according to a model format through a table importing module to obtain application system hierarchical architecture information to be stored in a database. The form importing module can be a form tool, and the form tool is a tool commonly used in work and is used for information statistics, account records and the like. The various programming languages provide or realize the tool kit for reading the table data content, and can conveniently and rapidly realize the reading and importing module of the table data for other functional modules in the system.
The application system hierarchy information includes application system information, deployment unit information, machine node configuration information, and base software information. Taking table 1 as an example, the application system information includes environment, system number and system name, the deployment unit information includes deployment unit name, deployment unit type, node number and node type, the machine node configuration information includes operating system, CPU, memory and storage, and the base software information includes base software and software version.
For steps S102 and S103, the operation and maintenance personnel may select one or more from the application system information, specifically, select an application system name or a system number, so as to construct a system range to be built, and take table 1 as an example, select an a system and a B system, so as to achieve the purpose of batch building. For the A system and the B system, the hierarchical architecture information of the application system is determined one by one, wherein the hierarchical architecture information comprises application system information, deployment unit information, machine node configuration information and basic software information.
The machine node configuration information and the basic software information are used for reflecting the planning state requirements of the machine nodes, and the machine node requirements under the same deployment unit are completely consistent. For the system a (the same system B is omitted), first, a create machine node instruction is generated based on the deployment unit information and the machine node configuration information. Different deployment units in the same system may have different deployment requirements, and as shown in table 1, a machine node creation instruction is sent to the first building party, a machine node creation operation is performed, and the creation situation is tracked until all the machine nodes in the deployment units are created.
The first builder may be a cloud base/platform or other infrastructure, such as a data center or server hardware, with cloud base/platform being preferred because they provide more flexible and extensible services. The cloud base/cloud platform is a basic technology platform in the field of cloud computing, encapsulates the underlying physical infrastructure, enables the complex processing of the underlying to be transparent, provides an interface and a console for the upper layer, and enables the infrastructure to be virtualized and managed to be digitized. Based on the support of the cloud base/cloud platform, the machine node can be created by providing less resource demand information (such as model/specification configuration, operating system, storage demand and network demand).
For step S104, some of the base software may be installed independently, while others may require an overall installation, because of the specific requirements of the installation. Thus, for a deployment unit, installation of the base software is only possible after all machine nodes under the unit have been created. At this time, an installation base software instruction is generated based on the machine node information and the base software information. If there are three machine nodes, the reference numerals are 1,2 and 3 respectively, the machine node information is 1,2 and 3, and the installation base software under the machine nodes 1,2 and 3 is indicated. Or by system discrimination as previously described for SUSE 11, kylin V10 and RHEL 8.5. And sending the instruction of installing the basic software to a second building party, such as an automatic operation and maintenance tool and an integrated/continuous deployment system, preferably the automatic operation and maintenance tool, so as to execute the software installation operation task and track the installation condition of each basic software until all the basic software is safely completed.
According to the method provided by the embodiment, the machine node instruction is automatically generated and executed and the basic software instruction is installed, so that the environment construction efficiency is remarkably improved, errors and inconsistencies caused by manual operation are reduced, meanwhile, the hierarchical architecture information of an application system is integrated, and the full-flow automatic management from resource requirements to environment construction completion is realized.
Referring to fig. 2, a flowchart of an alternative environment setup processing method according to an embodiment of the present invention is shown, including the following steps:
S201, determining a configuration information model and a software information model which are created in advance for the type of the deployment unit or the deployment unit;
s202, storing configuration information of the machine node into a configuration information model to obtain configuration information model data;
And S203, storing the basic software information into a software information model to obtain software information model data.
In the above embodiment, the machine node configuration information and the basic software information are used to represent the planning requirement of the machine node, and the machine node requirements under the same deployment unit are completely consistent, so that the association relationship between the configuration information model, the software information model and the deployment unit is referred to the tree diagram shown in fig. 3. In addition, different configuration information models and software information models can be set for different deployment unit types, so that quick configuration is realized. However, considering that the requirements may be different in actual operation, the former way is preferred, namely, different configuration information models and software information models are created for different deployment units.
1. And establishing a configuration information model, wherein the model is an abstraction of the configuration information of the machine node, and the model defines the attribute of the configuration information to include node type, operating system version, CPU core number, memory size and storage size. Optionally, the model attribute definition is configurable, and the attribute can be increased or decreased according to the actual requirement, such as increasing the size of the shared storage, the mounting point of the shared storage, the shared range, and the like;
2. and establishing a software information model, wherein the model is an abstraction of basic software required to be installed on a machine node, and the model defines the attribute of the software information including the software type, the software name, the version, the installation mode and other required information. Optionally, the model attribute definition is configurable, and the attribute can be increased or decreased according to the actual requirement, such as adding the user to which the software belongs.
The configuration information model and the software information model have similar meanings to the application system hierarchical architecture model, and only data meeting the specification can be stored in the model, and the missing data is marked and stored refused, so that the integrity and accuracy of the imported data are ensured. Taking an excel template as an example, after data is stored in the template, the template added with the data needs to be stored to another position so as to be different from the original template, and the original template is prevented from being covered.
3. The method comprises the steps of storing configuration information of a machine node into a configuration information model to obtain configuration information model data, storing basic software information into a software information model to obtain software information model data, and establishing association relation among the configuration information model data, the software information model data and a deployment unit.
In the method provided by the embodiment, in the hierarchical architecture of the application system, the configuration model and the software information model of the deployment unit are predefined, and the configuration information and the basic software information of the machine node are respectively stored in the corresponding models, so that the structural management and standardized processing of the information are realized. This not only improves maintainability and flexibility of deployment, but also simplifies the process of subsequent automated deployment.
Referring to fig. 4, a flowchart of another optional environment setup processing method according to an embodiment of the invention is shown, including the following steps:
S401, determining a deployment unit according to deployment unit information, acquiring a deployment log of the deployment unit, and acquiring a deployment state from the deployment log;
S402, generating a machine node creation instruction based on deployment unit information and machine node configuration information in response to the deployment state being undeployed;
s403, returning repeated deployment prompt information in response to the deployment state being in deployment;
S404, responding to the deployment state as deployed, acquiring historical deployment unit information closest to the current time from a deployment log, and comparing the deployment unit information with the historical deployment unit information;
S405, returning repeated deployment prompt information under the condition that the comparison results are the same;
S406, calculating a difference value between the deployment unit information and the historical deployment unit information when the comparison result is larger than the comparison result, and generating a machine node creation instruction based on the difference value and the machine node configuration information;
and S407, determining the machine node to be deleted based on the historical deployment unit information and the deployment unit information and generating a deleting machine node instruction under the condition that the comparison result is smaller than the historical deployment unit information.
In the above embodiment, the method establishes an environment construction frame, including:
1. The system query module is used for querying and acquiring the imported application system hierarchy architecture information, including system names, numbers and environment information;
2. the information determining module is used for determining application system information, deployment unit information and machine node configuration information and basic software information which are related to the deployment unit to be built;
3. The instruction module is used for generating an instruction for creating the machine node and an instruction for installing the basic software, and description of the instruction for installing the basic software is shown in fig. 1 to 3 and is not repeated here.
4. The storage module is used for storing data in the environment construction process, including the establishment completion condition of the machine node under each deployment unit, the installation condition of the basic software and the like. The operational process data and results of each step are recorded as the machine node is created or the base software is installed. When all nodes under a deployment unit are created and basic software is installed, the state of the deployment unit is updated to be completed. And obtaining the deployment state of the whole application system according to the state summary of all the deployment units.
The system inquiry module inquires and lists all imported systems, such as a system name list and related information. The operation and maintenance personnel select the system range to be built, the minimum number of the systems is 1, and the maximum number of the systems is the number of all the introduced systems. The information determining module determines system information in a range one by one, and the system information comprises detailed information of an application system, a deployment unit, configuration information and basic software. And meanwhile, the constructed historical data which is completed and currently constructed is queried for duplication removal processing, so that repeated construction is avoided. Such as checking for duplicate deployment entries for each system and removing duplicate entries.
When the machine node starts to be created, its state is in the installation. If the creation of the machine nodes is completed, the statistical quantity is increased by 1, if the statistical quantity is equal to the node quantity, the creation of the deployment unit is completed, and the deployment unit is hooked or marked in other modes, so that the deployment state is completed. Therefore, the state of the deployment unit is determined by the deployment state of the machine node, and the state of the deployment unit will determine the deployment state of the application system, and in the case that the deployment states of all the deployment units are deployed, the deployment state of the application system can be changed to be deployed.
The deployment operation for a deployment unit is set forth herein, specifically:
Determining a deployment unit according to deployment unit information, acquiring a deployment log of the deployment unit, and acquiring a deployment state from the deployment log;
responding to the deployment state as undeployment, and generating a machine node creation instruction according to the instruction module based on the deployment unit information and the machine node configuration information;
and step three, returning repeated deployment prompt information in response to the deployment state being in deployment, for example, the afternoon operation and maintenance personnel Q clicks the cache service under the application system of the deployment A, but searches to find that the cache service is already clicked by the operation and maintenance personnel P for deployment in the morning, and only the deployment event takes longer time and is still in the deployment state at present.
And step four, responding to the deployment state as deployed, acquiring historical deployment unit information from the deployment log, comparing the deployment unit information with the historical deployment unit information, and generating corresponding instructions according to the comparison result. Assuming that the operation and maintenance person P deploys the cache service under the application system A yesterday, the operation and maintenance person Q adds one machine node to the user requirement of the application system A today, so that the number of nodes in the deployment unit information is changed from 6 to 7. Comparing the yesterday and the present deployment unit information, mainly comparing the number of nodes, and if the present deployment unit information is more than one node number than the present deployment unit information, generating a machine node creation instruction based on the node number 1 and the machine node configuration information and sending the machine node creation instruction to the first building party.
However, if the number of nodes is 6, the deployment requirements of yesterday and today are not changed, and the deployment is repeated, and the friendly prompt information of repeated deployment is popped up. The present solution also supports additional functions-deleting machine nodes. If the user today informs that less than 6 machine nodes are actually used, 5 machine nodes are satisfied, and one machine node is required to be deleted, for example, the machine node 1 is deleted, or the machine node is not specified by the user, the operation and maintenance personnel is required to select one machine node, for example, the machine node 2, as the deleted machine node, because the configuration of the machine nodes is the same. Based on the pruned machine node, pruned machine node instructions are generated and sent to the first party, or manually pruned by the operation and maintenance personnel.
The method and the device can also receive the deleting machine node request after setting up the environment, acquire the application system information, the deployment unit information and the machine node identification to be deleted from the deleting machine node request, determine the application system according to the application system information, determine the deployment unit under the application system according to the deployment unit information, and delete the machine node corresponding to the machine node identification from the deployment unit according to the machine node identification to be deleted. Or in the case that only the number of machine nodes is included in the request, the machine nodes corresponding to the number of machine nodes may be deleted from the deployment unit.
The storage module is used for storing data in the environment construction process, including the establishment completion condition of the machine node under each deployment unit, the installation condition of the basic software and the like. After deleting the machine node, the record in the storage module may also be updated to reflect the latest deployment status. Through the design and perfection of the four modules, a complete automatic environment construction frame can be constructed, the creation of a new environment can be supported, and the requirements of environment adjustment can be flexibly met, such as adding or reducing machine nodes.
According to the method provided by the embodiment, the efficient management and the automatic processing of the environment construction process are realized by establishing the system query, information determination, instruction generation and storage module, the dynamic monitoring and the optimal configuration of the deployment units and the machine nodes are ensured, the repeated deployment and the resource waste are avoided, the operation and maintenance efficiency and the system flexibility are improved, the follow-up machine node deletion request is supported, the user requirements are met, and the operation and maintenance cost is reduced.
Referring to fig. 5 (a), a flowchart of a concrete environment construction processing method according to an embodiment of the present invention is shown, including the following steps:
s501, a configuration information model and a software information model are created for the type of the deployment unit or the deployment unit in advance;
S502, acquiring an environment resource demand list to be imported into an application system hierarchical architecture model to obtain application system hierarchical architecture information, wherein the application system hierarchical architecture information comprises application system information, deployment unit information, machine node configuration information and basic software information;
s503, storing the configuration information of the machine node into a configuration information model to obtain configuration information model data;
S504, responding to the selection operation of one or more application system information, inquiring the built history data which is currently being built for each selected application system, and performing deduplication processing to avoid repeated building;
S505, generating machine node creation instructions based on the deployment unit information and the configuration information model data, wherein the machine node creation instructions are generated based on the number of nodes and the machine node configuration information, or the machine node creation instructions with the number equal to the number of the nodes are generated based on the machine node configuration information;
S506, sending a machine node creation instruction to the cloud base/cloud platform, so that the cloud base/cloud platform executes machine node creation operation under the deployment unit to obtain machine node information;
S507, tracking the creation condition of each machine node under the deployment unit, responding to the completion of the creation of each machine node, and recording the result to a database;
s508, generating an installation basic software instruction based on the machine node information and the software information model data and sending the installation basic software instruction to a second building party in response to the completion of the creation of the machine nodes under the deployment unit, so that the second building party executes the installation basic software operation under each machine node;
S509, tracking the installation condition of the base software under each machine node, and recording the result to a database in response to the completion of the installation of each base software.
Referring to fig. 5 (b), a schematic flow diagram of another concrete environment construction process according to an embodiment of the invention is shown. Whether the node number is included in the machine node instruction is created in the scheme depends on the service function of the first building party. Most of the existing cloud platforms support the number of nodes in the instruction, namely the initiated machine node creation instruction comprises the number x of machine nodes to be created, and the cloud platforms create x machine nodes according to the information in the instruction. For the number of cloud platforms which are not supported, the number is small, the cloud platforms are generally very few, the cloud platforms can be realized in a second mode, the cloud platforms are realized through the instruction module, the creation machine node instructions are generated only according to the machine node configuration information, and x creation machine node instructions are determined to be sent according to the number of nodes.
In the prior art, operation and maintenance personnel are required to feed back the creation conditions of the x machine nodes according to the creation progress of the x machine nodes respectively, and the cloud platform can only actively acquire the creation conditions. For this case, the scheme also creates an instruction tracking module for tracking the execution condition of the instruction.
For the situation of creating the machine node, 1) the instruction module generates an instruction for creating the machine node based on the deployment unit information and the machine node configuration information, sends the instruction to the cloud base/cloud platform for creating the machine node, and informs the instruction tracking module to track the creation situation of the machine node. 2) The instruction tracking module tracks instructions created by the machine nodes one by one until the creation is completed. And when the creation instruction is completed, storing the result record into a database through a storage module, counting whether the machine nodes to be created are all created or not by taking the deployment unit as the dimension, if not, continuing to wait for the completion of the creation of the machine nodes to be created under the deployment unit, and if so, entering the next step.
For the condition of installing the basic software, 1) the instruction module generates an instruction of installing the basic software by using the machine node information and the basic software information to be installed, sends the instruction to the automatic operation and maintenance tool to execute a software installation operation task, and informs the instruction tracking module to track the installation condition of the basic software. 2) The instruction tracking module tracks the software installation condition one by one until the installation task is completed. When the installation instruction is completed, the result record is stored into the database through the storage module, whether the installation of the basic software under the deployment unit is completed or not is counted by taking the deployment unit as a dimension, and if not, the completion of the installation instruction under the unit is continued to be waited.
And then, the environment building framework takes the application system as a dimension, counts whether all deployment units under the system have completed building work, if not, continues waiting, and if so, enters the next step. Taking the whole as a dimension, counting whether all systems in the environment construction range have completed construction work, if not, continuing to wait, and if so, finishing the environment construction.
Compared with the prior art which is too dependent on manpower, high in error rate and large in workload, the method provided by the embodiment of the invention has the following beneficial effects:
1. only when the range of the system to be built is determined, the system needs to be determined manually, no complex input item exists, the manual workload is small, and the input links and the links of manual operation are greatly reduced, so that errors caused by human errors are reduced;
2. The method has the advantages that the method steps and the module devices which can be automatically executed replace manual work, so that environments required by a plurality of application systems can be quickly built from zero, the workload is greatly reduced, the efficiency and the speed of environment building are improved, and the resource management and daily operation and maintenance requirements of large scale and high requirements are met;
3. Different from basic software information which can be checked in configuration management after installation is completed, enterprise operation and maintenance personnel can comprehensively know the software requirement of not implementing installation in a planning stage through a software model and the basic software information, thereby being beneficial to management in advance and improving the management level of a software baseline and a standard.
Referring to fig. 6, a schematic diagram of main modules of an environment construction processing apparatus 600 provided by an embodiment of the present invention is shown, where the main modules include a system query module 601 configured to obtain an environment resource requirement list to be imported into an application system hierarchical model to obtain application system hierarchical information, where the application system hierarchical information includes application system information, deployment unit information, machine node configuration information and base software information, an information determining module 602 configured to respond to a selection operation of one or more application system information, an instruction module 603 configured to generate a machine node creation instruction for each selected application system based on the deployment unit information and the machine node configuration information, and send the machine node creation instruction to a first construction party, so that the first construction party performs a machine node creation operation under the deployment unit to obtain machine node information, and generate an installation base software instruction based on the machine node information and the base software information and send the installation base software instruction to a second construction party, so that the second construction party performs an installation base software operation under each machine node.
In the implementation device of the invention, the instruction module 603 is used for determining a deployment unit according to deployment unit information, acquiring a deployment log of the deployment unit, acquiring a deployment state from the deployment log, generating a machine node creation instruction based on the deployment unit information and machine node configuration information in response to the deployment state being undeployed, returning repeated deployment prompt information in response to the deployment state being deployed, acquiring historical deployment unit information closest to the current time from the deployment log in response to the deployment state being deployed, comparing the deployment unit information with the historical deployment unit information, and generating a corresponding instruction according to the comparison result.
In the implementation device of the invention, the instruction module 603 is configured to return repeated deployment prompt information when the comparison result is the same, calculate a difference value between the deployment unit information and the historical deployment unit information when the comparison result is greater than the comparison result, generate a machine node creation instruction based on the difference value and the machine node configuration information, and determine a machine node to be pruned based on the historical deployment unit information and the deployment unit information when the comparison result is less than the comparison result, and generate a pruned machine node instruction.
The implementation device of the invention further comprises a pruning module, wherein the pruning module is used for receiving a pruning machine node request, acquiring application system information, deployment unit information and machine node identification to be pruned from the pruning machine node request, or acquiring the application system information, the deployment unit information and the number of the machine nodes to be pruned, determining an application system according to the application system information, determining a deployment unit under the application system according to the deployment unit information, pruning machine nodes corresponding to the machine node identification to be pruned from the deployment unit according to the machine node identification to be pruned, or pruning machine nodes corresponding to the number of the machine nodes to be pruned from the deployment unit according to the number of the machine nodes to be pruned.
In the implementation device of the present invention, the deployment unit information includes the number of nodes, and the instruction module 603 includes a manner of generating machine node creation instructions based on the number of nodes and the machine node configuration information, and generating machine node creation instructions equal to the number of nodes based on the machine node configuration information.
In the implementation device of the invention, the deployment unit information comprises a deployment unit type, and the system query module 601 is further used for determining a configuration information model and a software information model which are created for the deployment unit type or the deployment unit in advance, storing the configuration information of the machine node into the configuration information model to obtain configuration information model data, and storing basic software information into the software information model to obtain software information model data.
The implementation device of the invention also comprises a tracking module, a base software installation module and a deployment unit, wherein the tracking module is used for tracking the creation condition of each machine node under the deployment unit;
And the storage module is used for recording the result to the database in response to the completion of the creation of each machine node and recording the result to the database in response to the completion of the installation of each basic software.
In addition, the implementation of the apparatus in the embodiments of the present invention has been described in detail in the above method, so that the description is not repeated here.
Fig. 7 shows an exemplary system architecture 700, including terminal devices 701, 702, 703, a network 704, and a server 705 (by way of example only), to which embodiments of the invention may be applied.
The terminal devices 701, 702, 703 may be various electronic devices having a display screen and supporting web browsing, are installed with various communication client applications, and a user may interact with the server 705 through the network 704 using the terminal devices 701, 702, 703 to receive or transmit messages, etc.
The network 704 is the medium used to provide communication links between the terminal devices 701, 702, 703 and the server 705. The network 704 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The server 705 may be a server providing various services, such as a background management server (by way of example only) providing support for shopping-type websites browsed by users using the terminal devices 701, 702, 703. The background management server may analyze and process the received data such as the product information query request, and feedback the processing result (e.g., the target push information, the product information—only an example) to the terminal device. It should be noted that, the method provided by the embodiment of the present invention is generally performed by the server 705, and accordingly, the apparatus is generally disposed in the server 705.
It should be understood that the number of terminal devices, networks and servers in fig. 7 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 8, there is illustrated a schematic diagram of a computer system 800 suitable for use in implementing an embodiment of the present invention. The terminal device shown in fig. 8 is only an example, and should not impose any limitation on the functions and the scope of use of the embodiment of the present invention.
As shown in fig. 8, the computer system 800 includes a Central Processing Unit (CPU) 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the system 800 are also stored. The CPU 801, ROM 802, and RAM 803 are connected to each other by a bus 804. An input/output (I/O) interface 805 is also connected to the bus 804.
Connected to the I/O interface 805 are an input section 806 including a keyboard, a mouse, and the like, an output section 807 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker, and the like, a storage section 808 including a hard disk, and the like, and a communication section 809 including a network interface card such as a LAN card, a modem, and the like. The communication section 809 performs communication processing via a network such as the internet. The drive 810 is also connected to the I/O interface 805 as needed. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as needed so that a computer program read out therefrom is mounted into the storage section 808 as needed.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication section 809, and/or installed from the removable media 811. The above-described functions defined in the system of the present invention are performed when the computer program is executed by a Central Processing Unit (CPU) 801.
The computer readable medium shown in the present invention may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of a computer-readable storage medium may include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules involved in the embodiments of the present invention may be implemented in software or in hardware. The described modules may also be provided in a processor, for example, a processor may be described as including a system query module, an information determination module, an instruction module. Where the names of the modules do not constitute a limitation on the module itself in some cases, for example, an instruction module may also be described as an "instruction generation and execution module".
As a further aspect, the invention also provides a computer readable medium which may be comprised in the device described in the above embodiments or may be present alone without being fitted into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to perform any of the environment construction methods described above.
The computer program product of the present invention comprises a computer program which, when executed by a processor, implements the environment construction processing method in the embodiment of the present invention.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives can occur depending upon design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.