CN107959579B - Multi-system deployment method and deployment system - Google Patents

Multi-system deployment method and deployment system Download PDF

Info

Publication number
CN107959579B
CN107959579B CN201610899774.1A CN201610899774A CN107959579B CN 107959579 B CN107959579 B CN 107959579B CN 201610899774 A CN201610899774 A CN 201610899774A CN 107959579 B CN107959579 B CN 107959579B
Authority
CN
China
Prior art keywords
deployment
configuration
systems
parameterized
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610899774.1A
Other languages
Chinese (zh)
Other versions
CN107959579A (en
Inventor
樊宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610899774.1A priority Critical patent/CN107959579B/en
Publication of CN107959579A publication Critical patent/CN107959579A/en
Application granted granted Critical
Publication of CN107959579B publication Critical patent/CN107959579B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention provides a deployment method of a plurality of systems, wherein the plurality of systems have certain relevance, and the deployment method comprises the following steps: acquiring deployment package files of the plurality of systems; obtaining a parameterized configuration file in a logic container; creating a deployment catalog on the deployment server corresponding to the identification of the logical container; respectively deploying deployment package files and parameterized configuration files of a plurality of systems under deployment directories; and instantiating the configuration item in the parameterized configuration file. The deployment method of the multiple systems provided by the embodiment of the invention can ensure the independence of system deployment. The logical container is used for storing all the configuration information of the multiple systems, which can be changed, so that the deployment and the migration of the complex systems are simplified, and the pressure of operation and maintenance personnel is relieved. The embodiment of the invention also provides a corresponding deployment system.

Description

Multi-system deployment method and deployment system
Technical Field
The invention relates to the field of computers, in particular to a multi-system deployment method and a multi-system deployment system.
Background
Before various software testing links are carried out, a plurality of systems to be tested need to be deployed under a testing environment, and in order to solve the problems of complex manual deployment, high possibility of error, long deployment process and the like, the existing testing environment system deployment adopts automatic deployment.
However, for a large system including multiple small systems, a single-system deployment scheme is mostly adopted, and the steps generally include constructing and packaging source codes of each small system, processing a configuration file, distributing the deployment package file to an environment to be tested, modifying configuration items in the configuration file according to the file to be tested, finally adjusting a test environment according to a dependency relationship between the systems, starting each small system, and further completing deployment of the large system.
For multiple systems, the deployment method of a single system needs a lot of repeated work, the management and maintenance pressure of operation and maintenance personnel is also high, and particularly the maintenance of multiple configuration files of multiple systems increases the error probability of the operation and maintenance personnel. When the system is migrated, the migration pressure is large because the system configuration needing migration is more.
Disclosure of Invention
In view of this, the present invention provides a multisystem deployment method and a multisystem deployment system, so as to solve the problem that operation and maintenance personnel need to perform a large amount of repeated work to deploy multisystems.
According to a first aspect of an embodiment of the present invention, an embodiment of the present invention provides a method for deploying a plurality of systems, where the plurality of systems have a certain relevance, including: acquiring deployment package files of the plurality of systems; obtaining a parameterized configuration file in a logic container; creating a deployment catalog on a deployment server corresponding to the identification of the logical container; respectively deploying the deployment package files and the parameterized configuration files of the systems under the deployment directory; and instantiating a configuration item in the parameterized configuration file; wherein the logical container has a unique identification.
Optionally, the method further comprises: establishing the logical container, wherein the process of establishing the logical container comprises: acquiring configuration items needing parameterization from the deployment package files of the systems to generate parameterization configuration files; generating a dependency relationship of the parameterized configuration file; and writing the dependency of the parameterized configuration file into the parameterized configuration file.
Optionally, the configuration items to be parameterized are acquired from the deployment package files of the plurality of systems, and a parameterized configuration file is generated: polling each program file and each configuration file in the deployment package file of each system, selecting configuration items needing parameterization according to user instructions, merging the same configuration items, modifying the existing configuration items, adding new configuration items, and writing the configuration items into the parameterization configuration files.
Optionally, the method further comprises: and checking the parameterized configuration file in the logic container.
Optionally, the method further comprises: judging whether each server in the server resource pool is already deployed with the logic container; if one server in the server resource pool is already deployed with the logic container, the server is taken as a deployment server;
optionally, the method further comprises: storing the access domain names of the plurality of systems and the IP addresses of the deployment servers on a domain name server.
Optionally, the access domain names of the plurality of systems contain an identification of the logical container.
Optionally, the logical container is represented in the form of one or more files, folders, or database tables.
According to a second aspect of the embodiments of the present invention, an embodiment of the present invention provides a deployment system of multiple systems, where the multiple systems have a certain relevance, including: the acquisition module is used for acquiring deployment package files of a plurality of systems and parameterized configuration files in the logic containers; the catalog creating module is used for creating a deployment catalog corresponding to the identification of the logic container on a deployment server; the deployment module is used for respectively deploying the deployment package files and the parameterized configuration files of the systems under the deployment directory; an instantiation module for instantiating a configuration item in the parameterized configuration file; wherein the logical container has a unique identification.
Optionally, the method further comprises: a logical container establishing module, configured to establish a logical container, where the process of establishing the logical container includes: extracting configuration items needing parameterization from the deployment package file of each system to generate a parameterization configuration file; generating a dependency relationship of the parameterized configuration file; and writing the dependency of the parameterized configuration file into the parameterized configuration file.
Optionally, the method further comprises: a verification module for verifying the parameterized configuration files in the logical container
Optionally, the logic container establishing module selects configuration items to be parameterized from the program files and the configuration files in the deployment package file of each system by polling, merges the same configuration items, and processes the configuration items to be parameterized into variables, placeholders, variable expressions or constants to generate the parameterized configuration files.
Optionally, the method further comprises: the server testing module is used for judging whether each server in the server resource pool is already deployed with the logic container; if one server in the server resource pool is already deployed with the logic container, the server is taken as a deployment server; and if the logic container is not deployed on all the servers in the server resource pool, selecting at least one idle server as the deployment server.
Optionally, the method further comprises: storing the access domain names of the plurality of systems and the IP addresses of the deployment servers on a domain name server.
Optionally, the access domain names of the plurality of systems contain an identification of the logical container.
According to a third aspect of the present invention, there is provided a deployment apparatus for a plurality of systems, comprising: a memory; and a processor coupled to the memory, the processor configured to perform the method of deploying the plurality of systems based on instructions stored in the memory.
According to a fourth aspect of the present invention, there is provided a computer readable storage medium storing computer instructions which, when executed by a processor, implement the deployment method of the above-described systems.
According to the deployment method of the multiple systems, the deployment directory is created through the identification of the logic container, the deployment package file and the parameterized configuration file are placed in the deployment directory, and the independence of system deployment can be further guaranteed due to the uniqueness of the identification of the logic container. In addition, all configuration information which is possible to change of a plurality of systems is extracted through the logic container and the deployment package files are independent, so that the deployment of a complex system is simplified, and when the system is wholly migrated, only the deployment package files and the logic container need to be migrated, so that the migration pressure is relieved.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent by describing embodiments of the present invention with reference to the following drawings, in which:
FIG. 1 is a flow chart of a method of deployment of a plurality of systems according to an embodiment of the invention;
FIG. 2 is a flow diagram of establishing a logical container according to an embodiment of the present invention;
FIG. 3 is a flow diagram of a method of deploying a plurality of systems according to another embodiment of the invention;
FIG. 4 is a block diagram of a deployment system for deploying multiple systems in accordance with an embodiment of the present invention;
fig. 5 is a block diagram of a deployment system for deploying a plurality of systems according to another embodiment of the present invention.
Detailed Description
The present invention will be described below based on examples, but the present invention is not limited to only these examples. In the following detailed description of the present invention, certain specific details are set forth. It will be apparent to one skilled in the art that the present invention may be practiced without these specific details. Well-known methods, procedures, and procedures have not been described in detail so as not to obscure the present invention. The figures are not necessarily drawn to scale.
The flowcharts and block diagrams in the figures and block diagrams illustrate the possible architectures, functions, and operations of the systems, methods, and apparatuses according to the embodiments of the present invention, and may represent a module, a program segment, or merely a code segment, which is an executable instruction for implementing a specified logical function. It should also be noted that the executable instructions that implement the specified logical functions may be recombined to create new modules and program segments. The blocks of the drawings, and the order of the blocks, are thus provided to better illustrate the processes and steps of the embodiments and should not be taken as limiting the invention itself.
FIG. 1 is a flow chart of a method of deployment of multiple systems according to an embodiment of the invention. The plurality of systems have a certain relevance. For example, a plurality of small systems forming a large system are respectively a service processing system, a database application system, a data monitoring system, a data logging system, and the like. For another example, a plurality of applications have business relationship, such as an order system and a logistics system, and order data generated by the order system is used as input data of the logistics system. The deployment method provided by the invention is used for comprehensive deployment of the system. The deployment method comprises the following steps.
In step 101, deployment package files for a plurality of systems are obtained.
In a production test deployment, one deployment package file may be constructed for each system for deployment of that system. Typically, these deployment package files are managed by version management software and, if necessary, downloaded from a version server. In automated deployment, the deployment package file may be downloaded through a configuration interface provided by the version management software.
In step 102, a parameterized configuration file within a logical container is obtained.
A logical container is a pre-established storage medium, such as a file, folder, or database table, for storing parameterized configuration files for multiple systems. Each logical container has a unique identification, and one or more parameterized configuration files may be stored in one logical container.
In step 103, a deployment catalog corresponding to the identification of the logical container is created on the deployment server.
In step 104, deployment package files and parameterized configuration files for the plurality of systems are deployed under a deployment directory.
In step 103 and 104, the deployment package file is unpacked on the deployment server and deployed in the specified directory of the deployment server, where the specified directory requirement corresponds to the identifier of the logical container. An alternative correspondence is, for example, to create the specified directory based on the identity of the logical container. Assuming that the identifier of the logical container is a LogicContainer, a LogicContainer directory can be created in the deployment server, and the deployment package file is unpacked and then stored in the LogicContainer directory. The LogicContainer directory can be stored under the root directory of the deployment server or under a sub-directory (e.g., under/home/system). Similarly, the parameterized configuration file obtained from the logical container is also stored in the LogicContainer directory.
In step 105, a configuration item in the parameterized configuration file is instantiated.
The configuration items of the parameterized configuration file are mostly composed of variables, and can be variables, variable expressions or placeholders and the like. The instantiation of the configuration items is to configure the variables into constants, and the specific method is to obtain variable values according to the actual deployment environment and replace the variables into constants one by one. For example, $ APPNAME _ IPADDR represents the IP address of the system to be deployed APPNAME, which is a variable unique to each system in the logical container, and no value needs to be specified in advance, and all configuration files referencing the $ APPNAME _ IPADDR configuration will replace it with the server IP address where APPNAME is located when instantiated. Different formats of parameterized configuration files should use different alternatives. For example, the XML-formatted configuration file is processed by xpath, properties format is replaced by key, and the text-formatted configuration file is mostly matched and replaced by a regular matching method. By adopting a replacement configuration mode, the problem of failed deployment caused by increasing or decreasing other unconfigured parameters in the configuration file in the original deployment package can be solved.
According to the deployment method of the multiple systems, the deployment directory is created through the identification of the logic container, the deployment package file and the parameterized configuration file are placed in the deployment directory, and the independence of system deployment can be further guaranteed due to the uniqueness of the identification of the logic container. In addition, all configuration information of a plurality of systems which can be changed is extracted through the logic container and is stored independently of the deployment package file, so that deployment of the complex system is simplified, and when the system is deployed and migrated integrally, only part of variables of the logic container need to be modified and then re-deployed, and the work efficiency is improved.
The deployment method further includes a checking step, which is executed before step 104, and the checking step checks the parameterized configuration file stored in the logic container, for example, checks the validity of defined variables and constant corrections in the parameterized configuration file, so as to avoid logic errors, such as reference of undefined configuration items, unused definition of configuration, and the like.
Optionally, the deployment method may further include a preview step, which is executed before step 104, and simulates an instantiation process of the parameterized configuration file to find a potential error. For example, the replacement configuration item is not found in the actual configuration file, the database connection information configuration in the configuration file is wrongly referenced to the IP address of the system application, the domain name configured in the system is configured with the local host resolution file, and so on. For these potential errors, the system will give error correction prompts and warning information, again to avoid configuration errors during deployment.
It should be noted that the parameterized configuration file may refer to one or more files, and the logical container storing the parameterized configuration file may be one or more files, folders, or database tables. The deployment server may also be composed of one or more servers, which communicate with each other via a local area network or the internet.
FIG. 2 is a flow diagram of establishing a logical container according to an embodiment of the present invention. The process of establishing a logical container is performed prior to step 104. The establishing a logical container comprises the following steps.
In step 201, configuration items to be parameterized are acquired from deployment package files of a plurality of systems, and parameterized configuration files are generated.
Typically, the deployment package files for each system undergo a basic configuration process. In this step, based on the relationship among multiple systems, the basic configuration items may be deleted, simplified, modified, and new configuration items may be added, especially configuration items that represent the dependency relationships among multiple systems may need to be added. The configuration items can be divided into public configuration items (used by at least two systems) and private configuration items (used by only one system), the public configuration items must be extracted into the parameterized configuration files, and the private configuration items can be stored in the original deployment package files or extracted into the parameterized configuration files. Some configuration items may be configured as constant or constant expressions, e.g., database connection information, domain name suffixes, single sign-on configurations, etc., and some configuration items may be configured as variable or variable expressions, e.g., IP addresses, ports. When a new logic container is created again, each program file and each configuration file in the deployment package file of each system can be polled, configuration items needing parameterization are selected according to user instructions, the same configuration items are combined, the existing configuration items are modified, the configuration items needing parameterization are processed into variables, constants, variable expressions or constant expressions, and the variables, the constants, the variable expressions or the constant expressions are written into the parameterization configuration files; alternatively, an existing logical container is copied, and the configuration items in the logical container that need to be modified are modified to create a new logical container.
In step 202, dependencies for a plurality of systems are generated.
The parameterized configuration files of a plurality of systems under the same container may have a dependency relationship, and the dependency relationship between the systems can be generated according to the dependency relationship. For example, the configuration file file.txt of the system a in the logical Container contains the parameterized configuration item B1 in the B system, and the a system depends on the B system.
In step 203, the dependencies of the plurality of systems are written into a parameterized configuration file.
The dependencies of multiple systems are written into a parameterized configuration file for subsequent instantiation processing. And during the instantiation process, the dependency relationship is taken out from the parameterized configuration file, and the parameterized configuration file is instantiated one by one according to the sequence of the dependency relationship. For example, if the A system depends on the B system, the parameterized configuration file of B is instantiated and then the parameterized configuration file of A is instantiated.
Fig. 3 is a flow chart of a method of deploying a plurality of systems according to another embodiment of the invention. The deployment method comprises the following steps.
In step 301, deployment package files for a plurality of systems are obtained.
The deployment package file is used for system deployment, and comprises a plurality of executable program files and configuration files. And uploading the deployment package file to the version server by research personnel to be managed through version management software, and downloading the deployment package file from the version server when needed. In automated deployment, the deployment package file may be downloaded through a configuration interface provided by the version management software.
In step 302, a parameterized configuration file within a logical container is obtained.
The logical container is a pre-established storage medium for storing parameterized configuration files of a plurality of systems, each logical container has a unique identifier, and one or more parameterized configuration files can be stored in one logical container.
In step 303, it is determined whether each server in the server resource pool has deployed the logical container. If so, step 304 is performed, and if not, step 305 is performed.
In step 304, the server that has deployed the logical container is taken as the deployment server.
In step 305, at least one idle server is selected as a deployment server.
And judging whether the logic container is deployed on one server or not according to the corresponding relation between the deployment server and the logic container, and multiplexing the original server and the deployment catalog of the original server if the logic container is deployed. If the logical container is not deployed, at least one idle server is selected as a deployment server. The idle servers can be determined by CPU and memory occupancy. For example, a server having a CPU and memory occupancy below a set threshold, respectively, may be specified as a free server. After each deployment, the corresponding relationship between the deployment server and the logical container is stored, for example, in a database table, and when the deployment is performed again, whether a logical container has been deployed on one server can be determined by searching a related base table. The existing deployment server is reused, so that the resource utilization rate and the deployment efficiency can be improved.
In addition, in some scenarios, for example, if the system migration caused by offline needs to be shut down due to the deployed server hardware in the logical container, etc., the state of the related server needs to be modified to be unavailable, and when the logical container is deployed again, a deployment server is selected from available idle servers.
In step 306, the deployment catalog is found based on the identification of the logical container.
And when the logical container is deployed again, finding the deployment catalog for multiplexing according to the identification of the logical container.
In step 307, a deployment catalog corresponding to the identification of the logical container is created on the deployment server.
In step 308, deployment package files and parameterized configuration files for the plurality of systems are deployed under a deployment directory.
In step 309, the configuration items in the parameterized configuration file are instantiated.
Step 307-309 is the same as step 103-105 described above, and will not be described herein again.
In the embodiment of the invention, if the logic container is already deployed on the server, the corresponding server is found for deployment by retrieving the corresponding relation between the logic container and the server, and if the logic container is not already deployed on the server, a free available server is found in the server resource pool for deployment, so that the resource utilization rate is improved.
In an optional embodiment of the present invention, after the step of "instantiating the configuration item in the parameterized configuration file" is completed, the access domain name and the IP address of the deployment server are stored in the domain name server, and the deployment server can be subsequently accessed through the domain name. In addition, the access domain name of the system is set to contain the identification of the logical container, such as the access domain name http:// LogicContainer. The tester can respectively carry out differential configuration on the logic containers, carry out deployment test, function test, performance test, automation test and other tests on the same system by using different logic containers, and ensure the independence of the environment to be tested and the version consistency of the deployment package. The user does not need to care about the server deployed by the actual system, and only needs to access different domain names to obtain system functions under different logical containers.
In an alternative embodiment, the logical container and the deployment package files for the multiple systems are stored separately. E.g. separately stored under different drive letters.
Fig. 4 is a block diagram of a deployment system for deploying a plurality of systems according to an embodiment of the present invention. The deployment system includes an acquisition module 401, a catalog creation module 402, a deployment module 403, and an instantiation module 404.
The obtaining module 401 is configured to obtain deployment package files of multiple systems and parameterized configuration files in a logic container. The deployment package file contains executable program files and configuration files for a plurality of systems. The logical container is a pre-established storage medium for storing parameterized configuration files of a plurality of systems, and each logical container has a unique identifier.
The catalog creation module 402 is used to create a deployment catalog on the deployment server that corresponds to the identification of the logical container. The identification of the logical container has uniqueness, so that the parameterized configuration files under different logical containers can be stored in different directories.
The deployment module 403 is used to deploy deployment package files and parameterized configuration files of multiple systems onto a deployment server. For example, a LogicContainer directory is created at the deployment server, and both the unpacked deployment package file and the parameterized configuration file under the LogicContainer container are placed under the LogicContainer directory.
The instantiation module 404 is configured to instantiate a configuration item in a parameterized configuration file. The configuration items of the parameterized configuration file are mostly composed of variables, and can be variables, variable expressions or placeholders and the like. The instantiation of the configuration item is to configure the variables or placeholders into constants, and the specific method is to acquire variable values according to the actual deployment environment and replace the variables or placeholders with constants one by one.
Optionally, when acquiring the deployment package files of multiple systems, the acquiring module 401 may acquire the deployment package file of the specified version through the interface by using the interface of the version management software, or may acquire the latest deployment package file each time, so as to meet the requirements of various iterative regression tests, or may achieve version consistency.
Fig. 5 is a block diagram of a deployment system for deploying a plurality of systems according to another embodiment of the present invention. The deployment system includes a logical container creation module 501, an acquisition module 502, a catalog creation module 503, a deployment module 504, and an instantiation module 505.
The logic container establishing module 501 extracts configuration items to be parameterized from the deployment package file of each system, generates a parameterized configuration file, generates a dependency relationship of the parameterized configuration file, and writes the dependency relationship of the parameterized configuration file into the parameterized configuration file.
The obtaining module 502 is configured to obtain deployment package files and parameterized configuration files in the logic containers of the plurality of systems. The deployment package file contains executable program files and configuration files for a plurality of systems. The logical container is a pre-established storage medium for storing parameterized configuration files of a plurality of systems, and each logical container has a unique identifier.
The catalog creation module 503 is used to create a deployment catalog on the deployment server that corresponds to the identification of the logical container. The identification of the logical container has uniqueness, so that the parameterized configuration files under different logical containers can be stored in different directories.
The deployment module 504 is configured to deploy deployment package files and parameterized configuration files for a plurality of systems onto a deployment server. For example, a LogicContainer directory is created at the deployment server, and both the unpacked deployment package file and the parameterized configuration file under the LogicContainer container are placed under the LogicContainer directory.
An instantiation module 504 is used to instantiate a configuration item in a parameterized configuration file. The configuration items of the parameterized configuration file are mostly composed of variables, and can be variables, variable expressions or placeholders and the like. The instantiation of the configuration items is to configure the variables into constants, and the specific method is to obtain variable values according to the actual deployment environment and replace the variables into constants one by one.
Optionally, the deployment system further includes a completion module, configured to complete the configuration file in the deployment package file of each system before the logical container is established.
Optionally, the logic container establishing module 501 polls each program file and each configuration file in the deployment package file of each system, selects a configuration item to be parameterized from the configuration files, merges the same configuration items, and processes the configuration item to be parameterized into a variable, a placeholder, a variable expression, or a constant, thereby generating the parameterized configuration file.
Optionally, the deployment system further includes: the server testing module is used for judging whether each server in the server resource pool is already deployed with the logic container; if one server in the server resource pool has already deployed the logic container, taking the logic container as a deployment server; and if the logical container is not deployed on all the servers in the server resource pool, selecting at least one idle server as a deployment server.
Optionally, the deployment system further includes: and the storage module is used for storing the access domain names of the systems and the IP addresses of the deployment servers on the domain name server.
Optionally, the logical container may be accessed to version management, and version management may be performed for each modification, so that it is convenient to refer to modification time, modification content, a modifier and the like of the configuration, and since the configuration information has less content after parameterization, it is also convenient to rollback configuration and version comparison, which is better than the existing system direct backup deployment package method in efficiency and storage space. Through version management, the configuration comparison of the same configuration file of the same system in different logic containers can be compared, the comparison of configuration items such as configuration constants, variables and the like can be included, the comparison of instantiation of the same configuration file of the same system deployed in two logic containers can also be compared, the differentiation and potential errors of the configuration between different logic containers can be conveniently mastered, the configuration between different systems can be conveniently checked, and the checking of the configuration between different systems is not needed to log in a deployment server.
It will be understood by those skilled in the art that the modules of the deployment system and the steps of the deployment method of the present invention correspond, and what is described in the deployment method also applies to the modules, and thus the modules of the deployment system are described in a relatively schematic manner.
The various modules or units of the system may be implemented in hardware, firmware or software. The software includes, for example, a code program formed using various programming languages such as JAVA, C/C + +/C #, SQL, and the like. Although the steps and sequence of steps of the embodiments of the present invention are presented in method and method diagrams, the executable instructions of the steps implementing the specified logical functions may be re-combined to create new steps. The sequence of the steps should not be limited to the sequence of the steps in the method and the method illustrations, and can be modified at any time according to the functional requirements. Such as performing some of the steps in parallel or in reverse order.
Systems and methods according to the present invention may be deployed on a single server or on multiple servers. For example, different modules may be deployed on different servers, respectively, to form a dedicated server. Alternatively, the same functional unit, module or system may be deployed in a distributed fashion across multiple servers to relieve load stress. The server includes but is not limited to a plurality of PCs, PC servers, blades, supercomputers, etc. on the same local area network and connected via the Internet.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method for deploying a plurality of systems, the plurality of systems having a certain association, comprising:
acquiring deployment package files of the systems respectively;
establishing a logic container;
obtaining a plurality of parameterized configuration files in the logical container;
selecting a deployment server according to the identification of the logic container;
creating a deployment catalog on a deployment server corresponding to the identification of the logical container;
respectively deploying the deployment package files and the parameterized configuration files of the systems under the deployment directory; and
instantiating a configuration item in the plurality of parameterized configuration files;
wherein the logical container has a unique identifier to ensure independence of system deployment, the step of establishing the logical container comprising:
acquiring configuration items needing parameterization from deployment package files of the systems respectively, and generating a plurality of parameterized configuration files;
determining dependencies between the plurality of parameterized configuration files; and
writing dependencies between the plurality of parameterized configuration files into a first parameterized configuration file of the plurality of parameterized configuration files,
said instantiating a configuration item in the plurality of parameterized configuration files comprises:
reading the dependency relationship from the first parameterized configuration file, and instantiating the parameterized configuration files one by one based on the dependency relationship.
2. The deployment method of claim 1, wherein the obtaining configuration items to be parameterized from the deployment package files of the systems generates parameterized configuration files:
polling each program file and each configuration file in the deployment package file of each system, selecting configuration items needing parameterization according to user instructions, merging the same configuration items, modifying the existing configuration items, adding new configuration items, and writing the configuration items into the parameterization configuration files.
3. The deployment method of claim 1, further comprising:
and checking the parameterized configuration file in the logic container.
4. The deployment method of claim 1, wherein selecting a deployment server according to the identification of the logical container comprises:
judging whether each server in the server resource pool is already deployed with the logic container;
if at least one server in the server resource pool has already deployed the logic container, taking the at least one server as a deployment server;
and if the logic container is not deployed on all the servers in the server resource pool, selecting at least one idle server from the server resource pool as the deployment server.
5. The deployment method of claim 1, further comprising: storing the access domain names of the plurality of systems and the IP addresses of the deployment servers on a domain name server.
6. The deployment method of claim 5 wherein the access domain names of the plurality of systems contain an identification of the logical container.
7. The deployment method of any one of claims 1 to 6, wherein the logical container is one or more files, folders, or database tables.
8. A system for deploying a plurality of systems, the plurality of systems having an association, comprising:
the logical container establishing module is used for establishing a logical container;
the acquisition module is used for acquiring the deployment package files of the systems and the parameterized configuration files in the logic containers;
the catalog creating module is used for selecting a deployment server according to the identification of the logic container and creating a deployment catalog corresponding to the identification of the logic container on the deployment server;
the deployment module is used for deploying the deployment package files and the parameterized configuration files of the systems into the deployment directory;
an instantiation module for instantiating a configuration item in the parameterized configuration file,
wherein the logical container has a unique identifier to ensure independence of system deployment, the logical container establishing module comprises:
acquiring configuration items needing parameterization from the deployment package files of the systems respectively, and generating a plurality of parameterization configuration files;
determining dependencies between the plurality of parameterized configuration files; and
writing dependencies between the plurality of parameterized configuration files into a first parameterized configuration file of the plurality of parameterized configuration files,
the instantiation module comprises:
reading the dependency relationship from the first parameterized configuration file, and instantiating the parameterized configuration files one by one based on the dependency relationship.
9. A deployment apparatus for a plurality of systems, comprising: a memory; and a processor coupled to the memory, the processor configured to perform the method of deploying a plurality of systems according to any of claims 1 to 7 based on instructions stored in the memory.
10. A computer readable storage medium storing computer instructions which, when executed by a processor, implement a method of deploying a plurality of systems as claimed in any one of claims 1 to 7.
CN201610899774.1A 2016-10-14 2016-10-14 Multi-system deployment method and deployment system Active CN107959579B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610899774.1A CN107959579B (en) 2016-10-14 2016-10-14 Multi-system deployment method and deployment system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610899774.1A CN107959579B (en) 2016-10-14 2016-10-14 Multi-system deployment method and deployment system

Publications (2)

Publication Number Publication Date
CN107959579A CN107959579A (en) 2018-04-24
CN107959579B true CN107959579B (en) 2021-11-12

Family

ID=61954172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610899774.1A Active CN107959579B (en) 2016-10-14 2016-10-14 Multi-system deployment method and deployment system

Country Status (1)

Country Link
CN (1) CN107959579B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768725B (en) * 2018-05-30 2021-10-15 中国联合网络通信集团有限公司 Network restoration method and system for container thermal migration
CN110580216B (en) * 2018-06-08 2024-04-05 北京京东尚科信息技术有限公司 Application lifting method and device
CN109257349A (en) * 2018-09-14 2019-01-22 北京天融信网络安全技术有限公司 A kind of list SSL service supports the method and device of multi-protocols
CN109460268B (en) * 2018-11-19 2022-05-27 中国银行股份有限公司 Application parameter configuration method, device and system
CN109739616A (en) * 2018-12-05 2019-05-10 国云科技股份有限公司 A kind of cloud platform container mirror image batch making method
CN111831530A (en) * 2019-04-15 2020-10-27 北京字节跳动网络技术有限公司 Test method and device
CN110688305B (en) * 2019-08-30 2022-04-29 平安普惠企业管理有限公司 Test environment synchronization method, device, medium and electronic equipment
CN110704082A (en) * 2019-09-25 2020-01-17 许昌许继软件技术有限公司 Continuous integration method and system for monitoring platform
CN111404755B (en) * 2020-03-24 2022-03-25 联想(北京)有限公司 Network configuration method, device and storage medium
CN112559132B (en) * 2020-12-18 2023-04-14 建信金融科技有限责任公司 Safe static detection method and device for containerized deployment application
CN113778549B (en) * 2021-08-16 2023-12-22 济南浪潮数据技术有限公司 Method, device, equipment and medium for realizing back-end environment variable replacement
CN113791794B (en) * 2021-09-13 2023-09-12 天津大学 Automatic disposition method and system for computing cases facing to super computing application
CN114637553B (en) * 2022-03-17 2024-04-19 武汉虹信技术服务有限责任公司 Method, system, equipment and storage medium for configuring comprehensive treatment platform of cell

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266542A (en) * 2008-02-01 2008-09-17 中国建设银行股份有限公司 Method and device for loading component in container
CN105577779A (en) * 2015-12-21 2016-05-11 用友网络科技股份有限公司 Method and system for containerized deployment of large enterprise private cloud
CN105959138A (en) * 2016-04-29 2016-09-21 深圳前海大数点科技有限公司 Micro-service dynamic disposition system and method based on cloud calculation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266542A (en) * 2008-02-01 2008-09-17 中国建设银行股份有限公司 Method and device for loading component in container
CN105577779A (en) * 2015-12-21 2016-05-11 用友网络科技股份有限公司 Method and system for containerized deployment of large enterprise private cloud
CN105959138A (en) * 2016-04-29 2016-09-21 深圳前海大数点科技有限公司 Micro-service dynamic disposition system and method based on cloud calculation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于BASH脚本的Unix 环境下多组件部署管理框架;闫生超;《计算机系统应用》;20121030;第61-65页 *

Also Published As

Publication number Publication date
CN107959579A (en) 2018-04-24

Similar Documents

Publication Publication Date Title
CN107959579B (en) Multi-system deployment method and deployment system
CN109032824B (en) Database verification method, database verification device, computer equipment and storage medium
US10353913B2 (en) Automating extract, transform, and load job testing
US20050262501A1 (en) Software distribution method and system supporting configuration management
US9971671B2 (en) System and method for dynamic debugging in a multitenant application server environment
US7937455B2 (en) Methods and systems for modifying nodes in a cluster environment
US10581676B2 (en) System and method for providing configuration settings to services in a cloud infrastructure
US10621212B2 (en) Language tag management on international data storage
US9183062B2 (en) Automated application reconfiguration
EP3616066B1 (en) Human-readable, language-independent stack trace summary generation
CN110781231B (en) Database-based batch import method, device, equipment and storage medium
CN106575227B (en) Automatic software update framework
US10235372B1 (en) Log message storage
EP3158443B1 (en) System and method for portable partitions in a multitenant application server environment
US10572470B2 (en) Enhanced FSCK mechanism for improved consistency in case of erasure coded object storage architecture built using clustered file system
US9256509B1 (en) Computing environment analyzer
CN110063042A (en) A kind of response method and its terminal of database failure
US20050108704A1 (en) Software distribution application supporting verification of external installation programs
US10963227B2 (en) Technique for transforming a standard messaging component to a customized component
US10120671B1 (en) Multi-level image extraction
US9830177B1 (en) Computer implemented method and system, and computer program product, for determining compliance with a configuration parameter before deployment of a virtual appliance into a network appliance
US10678813B2 (en) Scaling quorum based replication systems
US9305000B1 (en) Creating and publishing service level representations of applications from operational representations
US9621415B1 (en) Automated configuration collection and management using source control
CN113419743B (en) Comprehensive application script deployment method, device, equipment and storage medium

Legal Events

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