TW201828078A - Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment - Google Patents

Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment Download PDF

Info

Publication number
TW201828078A
TW201828078A TW106102234A TW106102234A TW201828078A TW 201828078 A TW201828078 A TW 201828078A TW 106102234 A TW106102234 A TW 106102234A TW 106102234 A TW106102234 A TW 106102234A TW 201828078 A TW201828078 A TW 201828078A
Authority
TW
Taiwan
Prior art keywords
configuration
file package
execution
package
application
Prior art date
Application number
TW106102234A
Other languages
Chinese (zh)
Inventor
周煥盛
Original Assignee
阿里巴巴集團服務有限公司
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 阿里巴巴集團服務有限公司 filed Critical 阿里巴巴集團服務有限公司
Priority to TW106102234A priority Critical patent/TW201828078A/en
Publication of TW201828078A publication Critical patent/TW201828078A/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

An embodiment of this invention provides an application deployment method and apparatus. The application deployment method comprises: obtaining an execution file kit and a configuration file kit of an application; obtaining pre-generated configuration information, and modifying the configuration file kit according to the configuration information; and distributing the execution file kit and the modified configuration file kit to a server where an application client is located according to a preset application deployment process, and executing an installation process of the application. According to the embodiment of this invention, by means of separating software kits of the application and an installation package of a dependent runtime environment thereof for being divided into the execution file kit and the configuration file kit, and generating the configuration information for different execution environments in advance, the configuration file kit can be modified by utilizing the configuration information under different execution environments during the application deployment, and parameters of the application deployment are dynamically configurable. The method realizes flexibility and dynamic customizability of the application deployment.

Description

應用部署方法和裝置    Application deployment method and device   

本發明關於資訊技術領域,特別是關於一種應用部署方法和一種應用部署裝置。 The present invention relates to the field of information technology, and in particular, to an application deployment method and an application deployment device.

現代軟體系統通常有很多依賴,特別是在雲端環境中,一個應用會依賴底層的執行時環境和很多第三方庫、周邊的系統,比如語言執行時環境、資料庫、Web伺服器、分佈式儲存。應用本身有很多的配置檔來管理這些依賴,比如庫文件執行時參數、資料庫連接配置、Web伺服器配置、自身的啟動參數。在部署過程中,需要先寫入這些配置資訊,然後載入相關依賴,最後啟動應用。 Modern software systems usually have a lot of dependencies, especially in the cloud environment. An application depends on the underlying runtime environment and many third-party libraries and surrounding systems, such as the language runtime environment, databases, web servers, and distributed storage. . The application itself has many configuration files to manage these dependencies, such as library file execution parameters, database connection configuration, Web server configuration, and its own startup parameters. During the deployment process, you need to write these configuration information first, then load related dependencies, and finally start the application.

為了做到從準備好安裝包到應用正確啟動的自動化應用部署,必須定制每個應用的部署流程,解決部署過程中的依賴問題、配置管理和可根據部署需要進行動態定制的問題,以便在部署的末尾能正確地啟動應用。 In order to achieve automated application deployment from the preparation of the installation package to the correct startup of the application, the deployment process of each application must be customized to solve the dependency problems during the deployment process, configuration management, and issues that can be dynamically customized based on the deployment needs in order to deploy At the end will launch the app correctly.

現有的應用部署系統包括部署管理模組、執行模組、SVN伺服器、資料庫和客戶端。該系統下的應用部署方法包括:部署管理模組向執行模組發送部署命令及部署資 訊,部署資訊包括生產環境中需要部署的伺服器及元件資訊;執行模組接收部署命令及部署資訊,並根據部署資訊從資料庫中獲取需要部署的元件的版本資訊,將版本資訊發送給需要部署的伺服器上的客戶端;客戶端根據該版本資訊從SVN伺服器下載版本檔,並根據指令檔執行對應版本檔,完成本次部署。 The existing application deployment system includes a deployment management module, an execution module, an SVN server, a database, and a client. The application deployment method under the system includes: the deployment management module sends deployment commands and deployment information to the execution module, and the deployment information includes server and component information to be deployed in the production environment; the execution module receives the deployment command and deployment information, and Obtain the version information of the components to be deployed from the database according to the deployment information, and send the version information to the client on the server to be deployed; the client downloads the version file from the SVN server according to the version information, and executes it according to the command file Correspond to the version file to complete this deployment.

對於某些應用部署場景,例如考慮中介軟體的部署場景,不同的中介軟體集群通常有不同的配置參數(如資料庫連接資訊、啟動參數、集群配置等),以適配上層不同業務應用的執行要求,然而,上述應用部署方法在部署時應用的所有部署都只能使用一樣的配置,無法實現應用部署時的參數動態可配置。 For some application deployment scenarios, such as considering the deployment scenario of intermediary software, different intermediary software clusters usually have different configuration parameters (such as database connection information, startup parameters, cluster configuration, etc.) to adapt to the execution of different upper-level business applications Requirements, however, the above application deployment method can only use the same configuration for all deployments during deployment, and cannot dynamically configure parameters for application deployment.

本發明實施例的發明目的在於提供一種應用部署方法,能夠實現應用部署時的參數動態可配置。 An object of the embodiments of the present invention is to provide an application deployment method, which can dynamically configure parameters during application deployment.

相應的,本發明實施例還提供了一種應用部署裝置,用以保證上述方法的實現及應用。 Correspondingly, an embodiment of the present invention further provides an application deployment device, which is used to ensure the implementation and application of the foregoing method.

為了解決上述問題,本發明公開了一種應用部署方法,包括:獲取應用的執行檔案套件和配置檔案套件;獲取預先產生的配置資訊,並根據該配置資訊修正該配置檔案套件;按照預先設置的應用部署流程,將該執行檔案套件及 修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程。 In order to solve the above problems, the present invention discloses an application deployment method, which includes: obtaining an execution file package and a configuration file package of an application; obtaining pre-generated configuration information and correcting the configuration file package according to the configuration information; and according to the preset application The deployment process distributes the execution file package and the modified configuration file package to the server where the application client is located, and executes the installation process of the application.

進一步,該獲取應用的執行檔案套件和配置檔案套件,包括:在版本基線資料庫中獲取該應用的該執行檔案套件的版本基線資訊和該配置檔案套件的版本基線資訊;根據版本基線資訊與雲端儲存地址之間的對應關係,獲得該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址;根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件。 Further, obtaining the application's execution file package and configuration file package includes: obtaining version baseline information of the application's execution file package and version baseline information of the configuration file package in a version baseline database; and according to the version baseline information and the cloud Correspondence between storage addresses, to obtain the cloud storage address of the execution file package and the cloud storage address of the configuration file package; from the cloud storage address of the execution file package and the cloud storage address of the configuration file package, Download the executable file package and the configuration file package.

進一步,該根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件,包括:根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,並行從執行包雲端儲存倉庫中下載獲得該執行檔案套件及從配置包雲端儲存倉庫中下載獲得該配置檔案套件。 Further, downloading the execution file package and the configuration file package from the cloud storage warehouse according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package includes: according to the cloud storage address of the execution file package. And the cloud storage address of the configuration file package, download the execution file package from the execution package cloud storage warehouse in parallel and download the configuration file package from the deployment package cloud storage warehouse in parallel.

進一步,在該按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程之前,還包括:載入與該應用對應的應用部署流程範本。 Further, before the application deployment process is performed in accordance with a preset application deployment process, the execution file package and the modified configuration file package are distributed to a server where an application client is located, and before executing the application installation process, the method further includes: Corresponding application deployment process template.

進一步,根據該配置資訊修正該配置檔案套件,包 括:對該配置資訊進行解析,獲取配置參數值;採用該配置參數值對該配置檔案套件中預設的執行配置參數進行修正。 Further, correcting the configuration file package according to the configuration information includes: parsing the configuration information to obtain configuration parameter values; and using the configuration parameter value to modify a preset execution configuration parameter in the configuration file package.

進一步,該方法還包括:從軟體套件中分離出執行檔和配置檔;為該配置檔配置預設的執行配置參數;為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件;依據版本基線資訊將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。 Further, the method further comprises: separating an execution file and a configuration file from the software package; configuring a preset execution configuration parameter for the configuration file; generating an execution file package for configuring the version baseline information of the execution file, and configuring the configuration file A configuration file package is generated from the version baseline information; the execution file package and the configuration file package are respectively stored in the cloud storage addresses corresponding to the storage warehouse according to the version baseline information.

進一步,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,包括:藉由非同步方式,將該執行檔案套件及修正後的該配置檔案套件批量分發到應用客戶端所在伺服器。 Further, distributing the execution file package and the modified configuration file package to a server where the application client is located includes: batchly distributing the execution file package and the modified configuration file package to the application client in an asynchronous manner. Server where the client is located.

進一步,該配置資訊為ini檔。 Further, the configuration information is an ini file.

本發明還公開了一種應用部署裝置,包括:獲取單元,被配置為獲取應用的執行檔案套件和配置檔案套件;修正單元,被配置為獲取預先產生的配置資訊,並根據該配置資訊修正該配置檔案套件;執行單元,被配置為按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程。 The invention also discloses an application deployment device, comprising: an obtaining unit configured to obtain an application execution profile package and a configuration archive suite; and a correction unit configured to obtain pre-generated configuration information and correct the configuration according to the configuration information. File package; an execution unit configured to distribute the execution file package and the modified configuration file package to a server where an application client is located according to a preset application deployment process, and execute the application installation process.

進一步,該獲取單元包括:資訊獲取子單元,被配置為在版本基線資料庫中獲取該應用的該執行檔案套件的版本基線資訊和該配置檔案套件的版本基線資訊;地址獲取子單元,被配置為根據版本基線資訊與雲端儲存地址之間的對應關係,獲得該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址;下載子單元,被配置為根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件。 Further, the obtaining unit includes: an information obtaining subunit configured to obtain the version baseline information of the execution file package of the application and the version baseline information of the configuration file package in a version baseline database; the address obtaining subunit is configured In order to obtain the cloud storage address of the execution file package and the cloud storage address of the configuration file package according to the correspondence between the version baseline information and the cloud storage address; the download subunit is configured to be based on the cloud storage address of the execution file package. And the cloud storage address of the configuration file package, download the execution file package and the configuration file package from the cloud storage warehouse.

進一步,該下載子單元,被配置為根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,並行從執行包雲端儲存倉庫中下載獲得該執行檔案套件及從配置包雲端儲存倉庫中下載獲得該配置檔案套件。 Further, the download subunit is configured to download the execution file package from the execution package cloud storage warehouse and download the execution file package from the execution package cloud storage warehouse in parallel according to the cloud storage address of the execution file package and the configuration file package's cloud storage address. Download to get the configuration file suite.

進一步,該裝置還包括:載入單元,被配置為在該執行單元按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程之前,載入與該應用對應的應用部署流程範本。 Further, the device further includes: a loading unit configured to distribute the execution file package and the modified configuration file package to the server where the application client is located in the execution unit according to a preset application deployment process, and execute the Before the application installation process, an application deployment process template corresponding to the application is loaded.

進一步,該修正單元包括:參數解析子單元,被配置為對該配置資訊進行解析,獲取配置參數值;參數修正子單元,被配置為採用該配置參數值對該配置檔案套件中預設的執行配置參數進行修正。 Further, the correction unit includes: a parameter analysis subunit configured to analyze the configuration information to obtain a configuration parameter value; and a parameter correction subunit configured to use the configuration parameter value to execute a preset in the configuration file suite Configuration parameters are modified.

進一步,還包括:分離單元,被配置為從軟體套件中分離出執行檔和配置檔;為該配置檔配置預設的執行配置參數;為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件;儲存單元,被配置為依據版本基線資訊將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。 Further, it further comprises: a separation unit configured to separate the execution file and the configuration file from the software package; configuring preset execution configuration parameters for the configuration file; configuring version baseline information for the execution file to generate an execution file package, and The configuration file configures version baseline information to generate a configuration file package; the storage unit is configured to store the execution file package and the configuration file package in the cloud storage addresses corresponding to the storage warehouse according to the version baseline information, respectively.

進一步,該執行單元,被配置為藉由非同步方式,將該執行檔案套件及修正後的該配置檔案套件批量分發到應用客戶端所在伺服器。 Further, the execution unit is configured to batchly distribute the execution file package and the modified configuration file package to a server where the application client is located in an asynchronous manner.

進一步,該配置資訊為ini檔。 Further, the configuration information is an ini file.

與現有技術相比,本發明實施例包括以下優點:本發明實施例藉由將應用的各個軟體套件及其依賴的執行時環境的安裝包進行分離,劃分為執行檔案套件和配置檔案套件,並預先針對不同的執行環境產生配置資訊,從而使得在應用部署時可以利用不同執行環境下的配置資訊對配置檔案套件進行修正,從而改變了現有應用的所有部署都只能使用同一配置的情況,實現了應用部署時的參數動態可配置,進而實現了搭建不同應用集群可以指定不同的執行時配置參數,以適應不同的業務需求,該方法實現了應用部署的靈活性和動態可定制性。 Compared with the prior art, the embodiments of the present invention include the following advantages: The embodiments of the present invention divide the software packages of the application and the installation packages of the runtime environment it depends on, and divide them into an execution file package and a configuration file package, and Generate configuration information for different execution environments in advance, so that when the application is deployed, the configuration file suite can be modified using the configuration information under different execution environments, thereby changing the situation where all existing application deployments can only use the same configuration. The parameters are dynamically configurable during application deployment, which enables different application clusters to specify different execution configuration parameters to meet different business requirements. This method achieves application deployment flexibility and dynamic customizability.

101~103‧‧‧步驟 101 ~ 103‧‧‧ steps

201~204‧‧‧步驟 201 ~ 204‧‧‧step

301~303‧‧‧步驟 301 ~ 303‧‧‧step

501‧‧‧步驟 501‧‧‧step

701‧‧‧獲取單元 701‧‧‧ Acquisition Unit

702‧‧‧修正單元 702‧‧‧ correction unit

703‧‧‧執行單元 703‧‧‧execution unit

801‧‧‧資訊獲取子單元 801‧‧‧ Information Acquisition Subunit

802‧‧‧地址獲取子單元 802‧‧‧Address acquisition subunit

803‧‧‧下載子單元 803‧‧‧Download subunit

901‧‧‧載入單元 901‧‧‧ loading unit

1001‧‧‧參數解析子單元 1001‧‧‧parameter analysis subunit

1002‧‧‧參數修正子單元 1002‧‧‧parameter correction subunit

1101‧‧‧分離單元 1101‧‧‧ Separation Unit

1102‧‧‧儲存單元 1102‧‧‧Storage Unit

圖1是本發明的一種應用部署方法實施例的步驟流程圖;圖2是本發明中的一種軟體套件的分離和儲存的方法實施例的步驟流程圖;圖3是本發明中的一種獲取應用的執行檔案套件和配置檔案套件的方法實施例的步驟流程圖;圖4是本發明中的版本基線資料庫與執行包雲端儲存和配置包雲端儲存之間的關聯示意圖;圖5是本發明的另一種應用部署方法實施例的步驟流程圖;圖6是本發明中的應用部署的一種系統架構示意圖;圖7是本發明的一種應用部署裝置實施例的結構方塊圖;圖8是本發明中的一種獲取單元的結構方塊圖;圖9是本發明的另一種應用部署裝置實施例的結構方塊圖;圖10是本發明中的一種修正單元的結構方塊圖;圖11是本發明的又一種應用部署裝置實施例的結構方塊圖。 FIG. 1 is a flowchart of steps in an embodiment of an application deployment method of the present invention; FIG. 2 is a flowchart of steps in an embodiment of a method for separating and storing a software suite in the present invention; FIG. 3 is an acquisition application in the present invention FIG. 4 is a schematic flowchart of the steps of the method embodiment for executing the file suite and the configuration file suite; FIG. 4 is a schematic diagram of the association between the version baseline database and the execution package cloud storage and the configuration package cloud storage in the present invention; Step flowchart of another application deployment method embodiment; FIG. 6 is a schematic diagram of a system architecture of application deployment in the present invention; FIG. 7 is a structural block diagram of an application deployment device embodiment of the present invention; FIG. 8 is a block diagram of the present invention FIG. 9 is a structural block diagram of another embodiment of an application deployment device of the present invention; FIG. 10 is a structural block diagram of a correction unit in the present invention; and FIG. 11 is another type of the present invention. Structure block diagram of an application deployment device embodiment.

為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合圖式和具體實施方式對本發明作進一步詳細的說明。 In order to make the foregoing objects, features, and advantages of the present invention more comprehensible, the following further describes the present invention in detail with reference to the drawings and specific embodiments.

參照圖1,示出了本發明的一種應用部署方法實施例的步驟流程圖,具體可以包括如下步驟: Referring to FIG. 1, a flowchart of steps of an embodiment of an application deployment method according to the present invention is shown, which may specifically include the following steps:

步驟101,獲取應用的執行檔案套件和配置檔案套件。 Step 101: Obtain an application execution archive package and a configuration archive package.

本發明實施例中,用於應用部署的裝置或系統(以下簡稱該裝置)預先將應用的各個軟體套件,及其依賴的執行時環境的安裝包進行分離,劃分為執行檔案套件和配置檔案套件。 In the embodiment of the present invention, the device or system for application deployment (hereinafter referred to as the device) separates each software package of the application and the installation package of the runtime environment it depends on, and divides it into an execution file package and a configuration file package. .

其中,配置檔案套件可以為不同執行環境下檔案套件內的配置參數會發生變化或需要修改的檔案套件,例如中介軟體的部署場景中,不同的中介軟體集群通常有不同的配置參數(如資料庫連接資訊、啟動參數、集群配置等),以適配上層不同業務應用的執行要求。該配置檔案套件中的配置參數等可以預先設置為預設值。而執行檔案套件中的資料內容在不同的執行環境中一般相對固定。 The configuration file package can be a file package whose configuration parameters change or need to be modified in different execution environments. For example, in the deployment scenario of an intermediary software, different intermediary software clusters usually have different configuration parameters (such as a database). Connection information, startup parameters, cluster configuration, etc.) to adapt to the execution requirements of different upper-level business applications. The configuration parameters and the like in the configuration archive kit can be set to preset values in advance. The data content in the execution file package is generally relatively fixed in different execution environments.

另外,應用的執行檔案套件和配置檔案套件可以儲存在同一資料庫中,也可以分開儲存,還可以儲存在雲端儲存倉庫中等。 In addition, the application's execution file package and configuration file package can be stored in the same database, can be stored separately, or can be stored in a cloud storage warehouse.

該裝置在對應用進行部署時,首先獲得該應用的執行檔案套件和配置檔案套件。 When the device deploys an application, it first obtains an execution file package and a configuration file package of the application.

步驟102,獲取預先產生的配置資訊,並根據配置資訊修正配置檔案套件。 Step 102: Obtain pre-generated configuration information, and modify the configuration file package according to the configuration information.

該裝置預先針對應用的不同執行環境產生有不同的配置資訊,該配置資訊可以包括機器清單和各配置參數值, 主要可以包括要機器列表段[deploy-servers],其中列出要部署集群的機器IP清單,以及配置參數段[deploy-configs],其中列出適用於這個集群的的應用部署配置參數值。 The device generates different configuration information in advance for different execution environments of the application. The configuration information may include a list of machines and values of various configuration parameters, and may mainly include a list of required machines [deploy-servers], which lists the machines to be deployed in the cluster IP list, and configuration parameter section [deploy-configs], which lists the application deployment configuration parameter values applicable to this cluster.

該配置資訊可以為ini檔。ini檔解析過程簡單。 The configuration information can be an ini file. The ini file parsing process is simple.

在該裝置上步驟獲得配置檔案套件後,在本步驟中即可調取預先產生的配置資訊,然後根據該配置資訊對配置檔案套件中的配置參數進行修正。因此,本發明一個可選實施例中,根據該配置資訊修正該配置檔案套件,包括:對該配置資訊進行解析,獲取配置參數值;採用該配置參數值對該配置檔案套件中預設的執行配置參數進行修正。 After the configuration file package is obtained in a step on the device, the pre-generated configuration information can be called in this step, and then the configuration parameters in the configuration file package are modified according to the configuration information. Therefore, in an optional embodiment of the present invention, correcting the configuration file package according to the configuration information includes: parsing the configuration information to obtain a configuration parameter value; and using the configuration parameter value to preset execution of the configuration file package. Configuration parameters are modified.

該裝置可以首先解壓配置檔案套件獲取其中的配置檔,配置檔中的執行配置參數配置有預設值。解析配置資訊的ini檔,然後獲取配置資訊中的配置參數值,採用該配置參數值對該配置檔中預設的執行配置參數進行修正,即採用配置參數值插入或替換到配置檔案套件中的對應檔中,以修改配置檔案套件中的執行配置參數的預設值,從而讓應用在部署時可以根據集群環境、業務需要動態調整執行時的配置參數值,無需在應用部署完之後登錄到機器來修改配置參數,實現了應用部署的靈活性和動態可定制性。 The device may first decompress a configuration file package to obtain a configuration file therein, and execution configuration parameters in the configuration file are configured with preset values. Parse the ini file of the configuration information, and then obtain the configuration parameter values in the configuration information. Use the configuration parameter values to modify the preset execution configuration parameters in the configuration file, that is, insert or replace the configuration parameter values into the configuration file package. In the corresponding file, the preset values of the execution configuration parameters in the configuration file package are modified, so that the application can dynamically adjust the configuration parameter values during execution according to the cluster environment and business needs during deployment, without having to log in to the machine after the application is deployed To modify the configuration parameters to achieve the flexibility and dynamic customizability of application deployment.

在將配置資訊中的配置參數值插入或替換到配置檔案套件中的對應檔中去的過程中,如果插入或替換操作產生衝突或者沒有成功,則修正失敗,可以直接使用配置檔案 套件的默認參數,即直接使用各執行配置參數的預設值。 In the process of inserting or replacing the configuration parameter values in the configuration information into the corresponding files in the configuration file package, if the insertion or replacement operation conflicts or is unsuccessful, the correction fails, and the default parameters of the configuration file package can be directly used , That is, the preset value of each execution configuration parameter is directly used.

步驟103,按照預先設置的應用部署流程,將執行檔案套件及修正後的配置檔案套件分發到應用客戶端所在伺服器,執行應用的安裝過程。 Step 103: Distribute the execution file package and the modified configuration file package to a server where the application client is located according to a preset application deployment process, and execute an application installation process.

在完成對配置檔案套件的修正後,該裝置即可根據應用部署流程,將執行檔案套件及修正後的配置檔案套件分發到應用客戶端所在各伺服器,分別執行應用的安裝過程。 After completing the modification of the configuration file package, the device can distribute the execution file package and the modified configuration file package to each server where the application client is located according to the application deployment process, and respectively execute the application installation process.

本發明實施例藉由將應用的各個軟體套件及其依賴的執行時環境的安裝包進行分離,劃分為執行檔案套件和配置檔案套件,並預先針對不同的執行環境產生配置資訊,從而使得在應用部署時可以利用不同執行環境下的配置資訊對配置檔案套件進行修正,從而改變了現有應用的所有部署都只能使用同一配置的情況,實現了應用部署時的參數動態可配置,進而實現了搭建不同應用集群可以指定不同的執行時配置參數,以適應不同的業務需求,該方法實現了應用部署的靈活性和動態可定制性。 In the embodiment of the present invention, each application software package and the installation package of the execution environment it depends on are separated into an execution file package and a configuration file package, and configuration information is generated in advance for different execution environments, so that During deployment, configuration information suites can be modified using configuration information in different execution environments, thereby changing the situation where all existing application deployments can only use the same configuration, enabling dynamic parameter configurability during application deployment, and thus building Different application clusters can specify different execution-time configuration parameters to meet different business needs. This method achieves the flexibility and dynamic customizability of application deployment.

在本發明的另一可選實施例中,軟體套件的分離和儲存,具體可以如圖2所示,包括: In another optional embodiment of the present invention, the separation and storage of the software package may specifically be as shown in FIG. 2, including:

步驟201,從軟體套件中分離出執行檔和配置檔。 In step 201, an execution file and a configuration file are separated from the software package.

步驟202,為該配置檔配置預設的執行配置參數。 Step 202: Configure preset execution configuration parameters for the configuration file.

本實施例中,將應用的軟體套件,及其依賴的執行時環境的安裝包統稱為軟體套件,為了能夠動態定制、部署應用,預先從軟體套件中查找配置相關的資料和執行相關 的資料,分離出執行檔和配置檔。然後將配置檔進行模組化處理,即產生標準化的配置檔,配置檔中的各執行配置參數均在相應的模組,為各執行配置參數配置預設值產生預設的執行配置參數。 In this embodiment, the software package of the application and the installation package of the runtime environment that it depends on are collectively referred to as a software package. In order to dynamically customize and deploy the application, look for configuration-related data and execution-related data from the software package in advance. Separate execution files and configuration files. Then, the configuration file is modularized, that is, a standardized configuration file is generated. Each execution configuration parameter in the configuration file is in a corresponding module, and preset execution configuration parameters are generated for each execution configuration parameter.

步驟203,為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件。 Step 203: Generate an execution file package for the execution file configuration version baseline information, and generate a configuration file package for the configuration file configuration version baseline information.

步驟204,依據版本基線資訊將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。 In step 204, the execution file package and the configuration file package are respectively stored in the cloud storage addresses corresponding to the storage warehouse according to the version baseline information.

本發明實施例中,一個應用的安裝包會有多個版本,執行檔案套件和配置檔案套件也可能會有多個版本,一個版本表示一個基線。因此可以為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件。該裝置採用版本基線資料庫對應用的執行檔案套件及配置檔案套件的版本基線資訊進行統一管理,該版本基線資料庫中包含各執行檔案套件及配置檔案套件的版本基線資訊以及各版本檔案套件的儲存地址,而不儲存各檔案套件。各版本的執行檔案套件及配置檔案套件可以統一儲存在雲端儲存倉庫中,藉由HTTP URL來訪問。因此可以依據版本基線資訊分別確定執行檔案套件和配置檔案套件的雲端儲存地址,該雲端儲存地址即為雲端儲存倉庫中儲存資料檔案的地址資訊,因此可以將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。 In the embodiment of the present invention, there may be multiple versions of the installation package of an application, and there may also be multiple versions of the execution archive package and the configuration archive package, and one version represents a baseline. Therefore, an executable file package can be generated for the configuration file version baseline information, and a configuration file package can be generated for the configuration file version baseline information. The device uses a version baseline database to uniformly manage version baseline information of the application's execution file package and configuration file package. The version baseline database contains version baseline information of each execution file package and configuration file package and the version file information of each version file package. Save addresses instead of individual file packages. The execution file package and configuration file package of each version can be stored in the cloud storage warehouse uniformly and accessed through HTTP URL. Therefore, the cloud storage address of the execution file package and the configuration file package can be determined according to the version baseline information. The cloud storage address is the address information of the data file stored in the cloud storage warehouse. Therefore, the execution file package and the configuration file package can be stored separately. To the cloud storage address corresponding to the storage warehouse.

藉由版本基線資料庫來統一管理版本基線資訊和包的雲端儲存地址而將各檔案套件存放在雲端儲存中,可以節省資料庫的儲存空間,並且各檔案套件可以從雲端儲存中方便的下載。另外,各檔案套件的一個版本對應一個基線,該版本基線資訊管理方法方便升級集群上的應用。所有配置檔打包儲存,統一管理,也避免了下載和拷貝大量的小檔。 By using the version baseline database to uniformly manage the cloud storage address of version baseline information and packages and storing each file package in the cloud storage, the storage space of the database can be saved, and each file package can be easily downloaded from the cloud storage. In addition, one version of each file suite corresponds to one baseline. This version of the baseline information management method facilitates upgrading applications on the cluster. All configuration files are packaged and stored for unified management, which avoids downloading and copying a large number of small files.

在本發明的另一實施例中,上述獲取應用的執行檔案套件和配置檔案套件的過程,具體可以如圖3所示,包括: In another embodiment of the present invention, the above-mentioned process of obtaining the execution archive suite and the configuration archive suite of an application may specifically be shown in FIG. 3, including:

步驟301,在版本基線資料庫中獲取應用的執行檔案套件的版本基線資訊和配置檔案套件的版本基線資訊。 Step 301: Obtain version baseline information of an application's execution file package and version baseline information of a configuration file package in a version baseline database.

該裝置在獲得應用的執行檔案套件和配置檔案套件時,首先在版本基線資料庫中確定執行檔案套件的版本基線資訊和配置檔案套件的版本基線資訊。 When the device obtains the application's execution file package and configuration file package, it first determines the version baseline information of the execution file package and the version baseline information of the configuration file package in the version baseline database.

步驟302,根據版本基線資訊與雲端儲存地址之間的對應關係,獲得執行檔案套件的雲端儲存地址及配置檔案套件的雲端儲存地址。 Step 302: Obtain a cloud storage address for executing the file package and a cloud storage address for configuring the file package according to the correspondence between the version baseline information and the cloud storage address.

在本步驟中,該裝置再根據版本基線資料庫中各檔案套件的版本基線資訊與雲端儲存地址之間的對應關係,確定出執行檔案套件的雲端儲存地址及配置檔案套件的雲端儲存地址。 In this step, the device determines the cloud storage address for executing the file package and the cloud storage address for configuring the file package according to the correspondence between the version baseline information of each file package in the version baseline database and the cloud storage address.

步驟303,根據執行檔案套件的雲端儲存地址及配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得執 行檔案套件和配置檔案套件。 Step 303: Download the execution file package and the configuration file package from the cloud storage warehouse according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package.

在獲得雲端儲存地址後,該裝置即可從雲端儲存倉庫中下載獲得該應用的執行檔案套件和配置檔案套件。 After obtaining the cloud storage address, the device can download the execution file package and configuration file package of the application from the cloud storage warehouse.

在另一實施例中,為了加快應用的執行檔案套件和配置檔案套件的下載速度,可以將執行檔案套件及配置檔案套件分別儲存在不同的雲端儲存倉庫中,如圖4所示,版本基線資料庫中儲存了執行檔案套件的版本基線資訊對應的在執行包雲端儲存倉庫中的地址,以及配置檔案套件的版本基線資訊對應的在配置包雲端儲存倉庫中的地址,那麼,根據執行檔案套件的雲端儲存地址及配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得執行檔案套件和該配置檔案套件的過程,具體可以是: 根據執行檔案套件的雲端儲存地址及配置檔案套件的雲端儲存地址,並行從執行包雲端儲存倉庫中下載獲得執行檔案套件及從配置包雲端儲存倉庫中下載獲得該配置檔案套件。 In another embodiment, in order to speed up the download speed of the application's execution file package and configuration file package, the execution file package and the configuration file package can be stored in different cloud storage repositories, as shown in FIG. 4, version baseline data The library stores the address in the execution package cloud storage warehouse corresponding to the version baseline information of the execution package and the address in the configuration package cloud storage warehouse corresponding to the version baseline information of the configuration file package. The cloud storage address and the cloud storage address of the configuration file package. The process of downloading the execution file package and the configuration file package from the cloud storage warehouse can be specifically: according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package. , Download the execution file package from the execution package cloud storage warehouse in parallel and download the configuration file package from the deployment package cloud storage warehouse in parallel.

該下載過程可以使用非同步I/O,從而提高下載速度。藉由執行檔案套件和配置檔案套件的雲端儲存和版本基線管理,可以實現集中、批量、並行地分發軟體套件,從而可以進行快速的大規模集群部署。 This download process can use asynchronous I / O to increase download speed. By performing cloud storage and version baseline management of file packages and configuration file packages, centralized, batch, and parallel distribution of software packages can be achieved, enabling rapid large-scale cluster deployment.

在本發明的另一實施例中,在按照預先設置的應用部署流程,將執行檔案套件及修正後的配置檔案套件分發到應用客戶端所在伺服器,執行應用的安裝過程之前,如圖5所示,該方法還可以包括: In another embodiment of the present invention, according to a preset application deployment process, the execution file package and the modified configuration file package are distributed to the server where the application client is located, and before the application installation process is performed, as shown in FIG. 5 The method may further include:

步驟501,載入與該應用對應的應用部署流程範本。 Step 501: Load an application deployment process template corresponding to the application.

本實施例中,該裝置不再使用統一的或固定的應用部署流程,而是可以預先建立多個應用部署流程範本,且不同應用的部署流程對應不同的部署流程範本。該部署流程範本主要包括在目的機器上創建安裝目錄、把應用和其依賴應用的執行包和配置包藉由下載模組批量分發到目的機器、解壓包、拷貝配置檔、拷貝執行檔、檢測應用的服務進程是否存在、若存在則停止、啟動新的應用服務、檢查服務是否啟動成功等。不同應用根據自身特點有不同的部署流程範本。該應用部署流程範本可以是yaml。 In this embodiment, the device no longer uses a unified or fixed application deployment process, but can establish multiple application deployment process templates in advance, and different application deployment processes correspond to different deployment process templates. The deployment process template mainly includes creating an installation directory on the target machine, distributing the application and its dependent application execution packages and configuration packages in batches to the target machine by downloading the module, decompressing the package, copying the configuration file, copying the execution file, and detecting the application. Whether the service process exists, stop if it exists, start a new application service, check whether the service is started successfully, and so on. Different applications have different deployment process templates based on their own characteristics. The application deployment process template can be yaml.

在載入與該應用對應的應用部署流程範本後,在執行前述步驟103時,即可按照該載入的應用部署流程,將執行檔案套件及修正後的配置檔案套件分發到應用客戶端所在伺服器,執行應用的安裝過程。其中,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,包括:藉由非同步方式,將該執行檔案套件及修正後的該配置檔案套件批量分發到應用客戶端所在伺服器。即在分發過程中可以採用非同步I/O方式,並行對執行檔案套件及修正後的配置檔案套件進行分發,實現執行檔案套件及修正後的配置檔案套件的批量分發,藉由執行檔案套件和配置檔案套件的雲端儲存和版本基線管理,可以實現集中、批量、並行地分發軟體套件,從而可以進行快速的大規模集群部署。 After the application deployment process template corresponding to the application is loaded, when the foregoing step 103 is performed, the executed file package and the modified configuration file package can be distributed to the server where the application client is located according to the loaded application deployment process. To perform the application installation process. Wherein, distributing the execution file package and the modified configuration file package to the server where the application client is located includes: batchly distributing the execution file package and the modified configuration file package to the application client in an asynchronous manner. Server where the client is located. That is, during the distribution process, asynchronous I / O can be used to distribute the execution file package and the modified configuration file package in parallel to achieve the batch distribution of the execution file package and the modified configuration file package. The cloud storage and version baseline management of the configuration file suite can implement centralized, batch, and parallel distribution of software suites, which enables rapid large-scale cluster deployment.

相應的,應用客戶端所在伺服器可以依據部署流程範 本的部署執行安裝過程,例如創建相應的安裝目錄,解壓縮安裝包即執行檔案套件及修正後的配置檔案套件,拷貝配置檔、拷貝執行檔,然後檢測應用的服務進程是否存在、若存在則停止、啟動新的應用服務、檢查服務是否啟動成功等,進行該應用的安裝。 Correspondingly, the server where the application client is located can perform the installation process according to the deployment of the deployment process template, such as creating the corresponding installation directory, decompressing the installation package to execute the file package and the modified configuration file package, copying the configuration file, copying the execution file , And then detect whether the service process of the application exists, stop it if it exists, start a new application service, check whether the service started successfully, etc., and install the application.

該方法可以使不同應用的部署流程可客制化,當應用的部署過程有變化時,只需更新流程範本,無需要更新部署模組或該部署裝置。藉由不同的部署流程範本,可以實現流程編排。 This method can customize the deployment process of different applications. When the application deployment process changes, only the process template needs to be updated, and there is no need to update the deployment module or the deployment device. With different deployment process templates, process orchestration can be achieved.

基於上述實施例,整個系統架構可以如圖6所示,該裝置首先從版本基線資料庫中獲得執行檔案套件和配置檔案套件的版本資訊及儲存地址,然後從執行包雲端儲存倉庫和配置包雲端儲存倉庫中並行下載獲得應用的執行檔案套件和配置檔案套件,然後採用預先產生的配置資訊對配置檔案套件進行修正,在獲得修正後的配置檔案套件後,從應用部署流程範本中確定與該應用對應的應用部署流程範本,並載入該部署流程範本,然後按照該部署流程範本將執行檔案套件及修正後的配置檔案套件分發到應用客戶端所在的各伺服器,執行應用的安裝過程。其中,底層使用非同步I/O來分發各安裝包,不僅實現了批量分發安裝包到目的機器,還使得對各台機器分發執行包和配置包時並行化,從而加快了批量分發安裝包的速度。 Based on the above embodiment, the entire system architecture can be as shown in FIG. 6. The device first obtains the version information and storage address of the execution file package and the configuration file package from the version baseline database, and then stores the execution package cloud and the configuration package cloud from the execution package cloud. Download the application's execution file package and configuration file package in parallel in the storage warehouse, and then use the pre-generated configuration information to modify the configuration file package. After obtaining the modified configuration file package, determine the application from the application deployment process template. The corresponding application deployment process template is loaded, and the deployment process template is loaded, and then the execution file package and the modified configuration file package are distributed to each server where the application client is located according to the deployment process template, and the application installation process is performed. Among them, the bottom layer uses asynchronous I / O to distribute each installation package, which not only implements batch distribution of installation packages to the destination machine, but also enables parallel execution of distribution of execution packages and configuration packages to each machine, thereby speeding up the batch distribution of installation packages. speed.

需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應 該知悉,本發明實施例並不受所描述的動作順序的限制,因為依據本發明實施例,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作並不一定是本發明實施例所必須的。 It should be noted that, for the method embodiments, for the sake of simple description, they are all described as a series of action combinations, but those skilled in the art should know that the embodiments of the present invention are not limited by the described action sequence because According to the embodiment of the present invention, some steps may be performed in other orders or simultaneously. Secondly, a person skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

參照圖7,示出了本發明一種應用部署裝置實施例的結構方塊圖,具體可以包括如下單元: Referring to FIG. 7, there is shown a structural block diagram of an embodiment of an application deployment apparatus according to the present invention, which may specifically include the following units:

獲取單元701,被配置為獲取應用的執行檔案套件和配置檔案套件。 The obtaining unit 701 is configured to obtain an execution archive suite and a configuration archive suite of an application.

修正單元702,被配置為獲取預先產生的配置資訊,並根據該配置資訊修正該配置檔案套件。 The correction unit 702 is configured to obtain pre-generated configuration information and correct the configuration file package according to the configuration information.

執行單元703,被配置為按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程。 The execution unit 703 is configured to distribute the execution file package and the modified configuration file package to a server where an application client is located according to a preset application deployment process, and execute the application installation process.

本發明實施例藉由上述單元將應用的各個軟體套件及其依賴的執行時環境的安裝包進行分離,劃分為執行檔案套件和配置檔案套件,並預先針對不同的執行環境產生配置資訊,從而使得在應用部署時可以利用不同執行環境下的配置資訊對配置檔案套件進行修正,從而改變了現有應用的所有部署都只能使用同一配置的情況,實現了應用部署時的參數動態可配置,進而實現了搭建不同應用集群可以指定不同的執行時配置參數,以適應不同的業務需求,該裝置實現了應用部署的靈活性和動態可定制性。 In the embodiment of the present invention, each software package of the application and the installation package of the runtime environment it depends on are separated by the above unit, and are divided into an execution file package and a configuration file package, and configuration information is generated in advance for different execution environments, so that During application deployment, configuration information packages in different execution environments can be used to modify the configuration file suite, thereby changing the situation where all existing application deployments can only use the same configuration, and the parameters of application deployment can be dynamically configured to achieve In order to build different application clusters, different execution configuration parameters can be specified to meet different business requirements. The device realizes the flexibility and dynamic customizability of application deployment.

在另一實施例中,如圖8所示,獲取單元701可以進 一步包括: In another embodiment, as shown in FIG. 8, the obtaining unit 701 may further include:

資訊獲取子單元801,被配置為在版本基線資料庫中獲取該應用的該執行檔案套件的版本基線資訊和該配置檔案套件的版本基線資訊。 The information acquisition subunit 801 is configured to acquire version baseline information of the execution file package and version baseline information of the configuration file package in a version baseline database.

地址獲取子單元802,被配置為根據版本基線資訊與雲端儲存地址之間的對應關係,獲得該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址。 The address acquisition subunit 802 is configured to obtain the cloud storage address of the execution file package and the cloud storage address of the configuration file package according to the correspondence between the version baseline information and the cloud storage address.

下載子單元803,被配置為根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件。 The download subunit 803 is configured to download the execution file package and the configuration file package from a cloud storage warehouse according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package.

其中,下載子單元803,具體可以被配置為根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,並行從執行包雲端儲存倉庫中下載獲得該執行檔案套件及從配置包雲端儲存倉庫中下載獲得該配置檔案套件。 The download subunit 803 may be specifically configured to download the execution file package from the execution package cloud storage warehouse and obtain the execution file package from the execution package cloud storage warehouse and the configuration file cloud in parallel according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package. Download the configuration file package from the repository.

在另一實施例中,如圖9所示,該裝置還可以包括:載入單元901,被配置為在執行單元703按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程之前,載入與該應用對應的應用部署流程範本。 In another embodiment, as shown in FIG. 9, the device may further include: a loading unit 901 configured to execute the application unit 703 and the modified configuration file in the execution unit 703 according to a preset application deployment process. The file package is distributed to the server where the application client is located, and before executing the application installation process, an application deployment process template corresponding to the application is loaded.

在另一實施例中,如圖10所示,該修正單元702包括:參數解析子單元1001,被配置為對該配置資訊進行解析,獲取配置參數值; 參數修正子單元1002,被配置為採用該配置參數值對該配置檔案套件中預設的執行配置參數進行修正。 In another embodiment, as shown in FIG. 10, the correction unit 702 includes: a parameter analysis sub-unit 1001 configured to parse the configuration information to obtain configuration parameter values; and a parameter correction sub-unit 1002 configured to adopt The configuration parameter value corrects the execution configuration parameter preset in the configuration file suite.

在另一實施例中,如圖11所示,該裝置還包括:分離單元1101,被配置為從軟體套件中分離出執行檔和配置檔;為該配置檔配置預設的執行配置參數;為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件;儲存單元1102,被配置為依據版本基線資訊將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。 In another embodiment, as shown in FIG. 11, the device further includes: a separation unit 1101 configured to separate an execution file and a configuration file from a software package; configuring a preset execution configuration parameter for the configuration file; The execution file configuration version baseline information generates an execution file package and generates a configuration file package for the configuration file deployment version baseline information; the storage unit 1102 is configured to separately store the execution file package and the configuration file package to storage according to the version baseline information. In the cloud storage address corresponding to the warehouse.

在另一實施例中,該執行單元703,被配置為藉由非同步方式,將該執行檔案套件及修正後的該配置檔案套件批量分發到應用客戶端所在伺服器。 In another embodiment, the execution unit 703 is configured to batchly distribute the execution file package and the modified configuration file package to a server where the application client is located in an asynchronous manner.

上述配置資訊均可以為ini檔。 The above configuration information can be an ini file.

本發明實施例還提供了一種電子設備,包括記憶體和處理器。 An embodiment of the present invention further provides an electronic device including a memory and a processor.

處理器與記憶體藉由匯流排相互連接;匯流排可以是ISA匯流排、PCI匯流排或EISA匯流排等。該匯流排可以分為地址匯流排、資料匯流排、控制匯流排等。 The processor and the memory are connected to each other through a bus; the bus may be an ISA bus, a PCI bus, or an EISA bus. The bus can be divided into an address bus, a data bus, a control bus, and the like.

其中,記憶體用於儲存一段程式,具體地,程式可以包括程式碼,該程式碼包括電腦操作指令。記憶體可能包含高速RAM記憶體,也可能還包括非易失性記憶體(non-volatile memory),例如至少一個磁碟記憶體。 The memory is used to store a program. Specifically, the program may include code, and the code includes a computer operation instruction. The memory may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory.

處理器用於讀取記憶體中的程式碼,執行以下步驟: 獲取應用的執行檔案套件和配置檔案套件;獲取預先產生的配置資訊,並根據該配置資訊修正該配置檔案套件;按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程。 The processor is used to read the code in the memory and execute the following steps: Obtain the execution file package and configuration file package of the application; obtain the pre-generated configuration information, and modify the configuration file package according to the configuration information; according to the pre-set application The deployment process distributes the execution file package and the modified configuration file package to the server where the application client is located, and executes the installation process of the application.

對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the related parts, refer to the description of the method embodiment.

本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。 Each embodiment in this specification is described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments may refer to each other.

本領域內的技術人員應明白,本發明實施例的實施例可提供為方法、裝置、或電腦程式產品。因此,本發明實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。 Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a device, or a computer program product. Therefore, the embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present invention may adopt a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk memory, CD-ROM, optical memory, etc.) containing computer-usable code. form.

在一個典型的配置中,該電腦設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內部記憶體。內部記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性內部記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部 記憶體是電腦可讀介質的示例。電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變內部記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性儲存設備或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括非持續性的電腦可讀媒體(transitory media),如調變的資料信號和載波。 In a typical configuration, the computer equipment includes one or more processors (CPUs), input / output interfaces, network interfaces, and internal memory. Internal memory may include non-permanent memory, random access memory (RAM), and / or non-volatile internal memory in computer-readable media, such as read-only memory (ROM) or flash memory Flash memory. Internal memory is an example of a computer-readable medium. Computer-readable media includes permanent and non-permanent, removable and non-removable media. Information can be stored by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change internal memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), and other types of random access memory (RAM ), Read-only memory (ROM), electrically erasable and programmable read-only memory (EEPROM), flash memory or other internal memory technology, read-only disc read-only memory (CD-ROM), digital Versatile optical discs (DVDs) or other optical storage, magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transmitting medium may be used to store information that can be accessed by computing devices. As defined herein, computer-readable media does not include non-persistent computer-readable media (such as modulated data signals and carrier waves).

本發明實施例是參照根據本發明實施例的方法、終端設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理終端設備的處理器以產生一個機器,使得藉由電腦或其他可程式設計資料處理終端設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。 The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the method, the terminal device (system), and the computer program product according to the embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and a combination of the flow and / or block in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to generate a machine, so that the processor of the terminal device can be processed by the computer or other programmable data The executed instructions generate means for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.

這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理終端設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。 These computer program instructions can also be stored in computer readable memory that can guide a computer or other programmable data processing terminal device to work in a specific way, so that the instructions stored in the computer readable memory include the manufacture of the instruction device Product, the instruction device realizes a function specified in a flowchart or a plurality of processes and / or a block or a block of the block diagram.

這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理終端設備上,使得在電腦或其他可程式設計終端設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計終端設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。 These computer program instructions can also be loaded on a computer or other programmable data processing terminal equipment, so that a series of operating steps can be performed on the computer or other programmable terminal equipment to generate computer-implemented processing, and the computer or other programmable The instructions executed on the design terminal device provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.

儘管已描述了本發明實施例的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附發明專利範圍意欲解釋為包括優選實施例以及落入本發明實施例範圍的所有變更和修改。 Although the preferred embodiments of the present invention have been described, those skilled in the art can make other changes and modifications to these embodiments once they know the basic inventive concepts. Therefore, the scope of the appended invention patents is intended to be construed as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the invention.

最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終 端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括該要素的過程、方法、物品或者終端設備中還存在另外的相同要素。 Finally, it should be noted that in this article, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities. There is any such actual relationship or order between OR operations. Moreover, the terms "including", "comprising", or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or end device that includes a series of elements includes not only those elements but also those that are not explicitly listed Other elements, or elements inherent to such a process, method, article, or terminal. Without more restrictions, the elements defined by the sentence "including a ..." do not exclude the existence of other identical elements in the process, method, article, or terminal device including the elements.

以上對本發明所提供的一種應用部署方法和一種應用部署裝置,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。 The application deployment method and the application deployment device provided by the present invention are described in detail above. The specific examples are used in this document to explain the principles and implementation of the present invention. The descriptions of the above embodiments are only used to help understand the present invention. The method of the invention and its core ideas; meanwhile, for a person of ordinary skill in the art, according to the ideas of the present invention, there will be changes in the specific implementation and the scope of application. In summary, the content of this specification should not be understood. To limit the present invention.

Claims (16)

一種應用部署方法,其特徵在於,包括:獲取應用的執行檔案套件和配置檔案套件;獲取預先產生的配置資訊,並根據該配置資訊修正該配置檔案套件;按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程。     An application deployment method is characterized by comprising: obtaining an application execution file package and a configuration file package; obtaining pre-generated configuration information and correcting the configuration file package according to the configuration information; and following the preset application deployment process, The execution file package and the modified configuration file package are distributed to the server where the application client is located, and the installation process of the application is performed.     根據申請專利範圍第1項所述的方法,其中,該獲取應用的執行檔案套件和配置檔案套件,包括:在版本基線資料庫中獲取該應用的該執行檔案套件的版本基線資訊和該配置檔案套件的版本基線資訊;根據版本基線資訊與雲端儲存地址之間的對應關係,獲得該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址;根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件。     The method according to item 1 of the scope of the patent application, wherein the obtaining an execution file package and a configuration file package of the application includes: obtaining version baseline information of the application's execution file package and the configuration file in a version baseline database. The package baseline information of the package; the cloud storage address of the execution file package and the cloud storage address of the configuration file package are obtained according to the correspondence between the version baseline information and the cloud storage address; according to the cloud storage address of the execution file package and the cloud storage address The cloud storage address of the configuration file package. Download the execution file package and the configuration file package from the cloud storage warehouse.     根據申請專利範圍第2項所述的方法,其中,該根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件,包括:根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,並行從執行包雲端儲存倉庫中下載獲 得該執行檔案套件及從配置包雲端儲存倉庫中下載獲得該配置檔案套件。     The method according to item 2 of the scope of patent application, wherein the execution file package and the configuration file package are downloaded from a cloud storage warehouse according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package. , Including: downloading the execution file package from the execution package cloud storage warehouse and downloading the configuration file package from the deployment package cloud storage warehouse according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package .     根據申請專利範圍第1至3項中任意一項所述的方法,其中,在該按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程之前,還包括:載入與該應用對應的應用部署流程範本。     The method according to any one of claims 1 to 3, wherein, in accordance with a preset application deployment process, the execution file package and the modified configuration file package are distributed to a server where an application client is located. Before executing the installation process of the application, the method further comprises: loading an application deployment process template corresponding to the application.     根據申請專利範圍第1項所述的方法,其中,根據該配置資訊修正該配置檔案套件,包括:對該配置資訊進行解析,獲取配置參數值;採用該配置參數值對該配置檔案套件中預設的執行配置參數進行修正。     The method according to item 1 of the scope of patent application, wherein correcting the configuration file package according to the configuration information includes: parsing the configuration information to obtain configuration parameter values; and using the configuration parameter values to predict the configuration file suite. Set the execution configuration parameters to be modified.     根據申請專利範圍第1項所述的方法,其中,還包括:從軟體套件中分離出執行檔和配置檔;為該配置檔配置預設的執行配置參數;為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件;依據版本基線資訊將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。     The method according to item 1 of the scope of patent application, further comprising: separating an execution file and a configuration file from a software package; configuring a preset execution configuration parameter for the configuration file; configuring version baseline information generation for the execution file Run the file package and configure the version baseline information for the configuration file to generate a configuration file package; according to the version baseline information, save the execution file package and the configuration file package to the corresponding cloud storage addresses in the storage warehouse.     根據申請專利範圍第1項所述的方法,其中,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,包括:藉由非同步方式,將該執行檔案套件及修正後的該配 置檔案套件批量分發到應用客戶端所在伺服器。     The method according to item 1 of the scope of the patent application, wherein distributing the execution file package and the modified configuration file package to a server where the application client is located includes: using an asynchronous method, the execution file package and The revised configuration file package is distributed in batches to the server where the application client is located.     根據申請專利範圍第1至3、5至7項中任意一項所述的方法,其中,該配置資訊為ini檔。     The method according to any one of claims 1 to 3, 5 to 7, wherein the configuration information is an ini file.     一種應用部署裝置,其特徵在於,包括:獲取單元,被配置為獲取應用的執行檔案套件和配置檔案套件;修正單元,被配置為獲取預先產生的配置資訊,並根據該配置資訊修正該配置檔案套件;執行單元,被配置為按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程。     An application deployment device, comprising: an acquisition unit configured to acquire an application execution file package and a configuration file package; and a correction unit configured to acquire pre-generated configuration information and correct the configuration file according to the configuration information The suite; the execution unit is configured to distribute the execution file package and the modified configuration file package to the server where the application client is located according to a preset application deployment process, and execute the application installation process.     根據申請專利範圍第9項所述的裝置,其中,該獲取單元包括:資訊獲取子單元,被配置為在版本基線資料庫中獲取該應用的該執行檔案套件的版本基線資訊和該配置檔案套件的版本基線資訊;地址獲取子單元,被配置為根據版本基線資訊與雲端儲存地址之間的對應關係,獲得該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址;下載子單元,被配置為根據該執行檔案套件的雲端儲存地址及該配置檔案套件的雲端儲存地址,從雲端儲存倉庫中下載獲得該執行檔案套件和該配置檔案套件。     The device according to item 9 of the scope of patent application, wherein the acquisition unit includes: an information acquisition subunit configured to acquire version baseline information of the execution archive package of the application and the configuration archive package from a version baseline database. Version baseline information; the address acquisition subunit is configured to obtain the cloud storage address of the execution file package and the cloud storage address of the configuration file package according to the correspondence between the version baseline information and the cloud storage address; the download subunit, It is configured to download the execution file package and the configuration file package from the cloud storage warehouse according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package.     根據申請專利範圍第10項所述的裝置,其中,該下載子單元,被配置為根據該執行檔案套件的雲端 儲存地址及該配置檔案套件的雲端儲存地址,並行從執行包雲端儲存倉庫中下載獲得該執行檔案套件及從配置包雲端儲存倉庫中下載獲得該配置檔案套件。     The device according to item 10 of the scope of patent application, wherein the download subunit is configured to download from the execution package cloud storage warehouse in parallel according to the cloud storage address of the execution file package and the cloud storage address of the configuration file package. Obtain the execution file package and download the configuration file package from the configuration package cloud storage warehouse.     根據申請專利範圍第9至11項中任意一項所述的裝置,其中,該裝置還包括:載入單元,被配置為在該執行單元按照預先設置的應用部署流程,將該執行檔案套件及修正後的該配置檔案套件分發到應用客戶端所在伺服器,執行該應用的安裝過程之前,載入與該應用對應的應用部署流程範本。     The device according to any one of items 9 to 11 of the scope of patent application, wherein the device further comprises: a loading unit configured to execute the application unit according to a preset application deployment process on the execution unit, and The revised configuration file package is distributed to the server where the application client is located, and before executing the application installation process, an application deployment process template corresponding to the application is loaded.     根據申請專利範圍第9項所述的裝置,其中,該修正單元包括:參數解析子單元,被配置為對該配置資訊進行解析,獲取配置參數值;參數修正子單元,被配置為採用該配置參數值對該配置檔案套件中預設的執行配置參數進行修正。     The device according to item 9 of the scope of patent application, wherein the correction unit includes: a parameter analysis sub-unit configured to analyze the configuration information to obtain a configuration parameter value; and a parameter correction sub-unit configured to adopt the configuration The parameter values modify the preset execution configuration parameters in the configuration file suite.     根據申請專利範圍第9項所述的裝置,其中,還包括:分離單元,被配置為從軟體套件中分離出執行檔和配置檔;為該配置檔配置預設的執行配置參數;為該執行檔配置版本基線資訊產生執行檔案套件,並為該配置檔配置版本基線資訊產生配置檔案套件;儲存單元,被配置為依據版本基線資訊將該執行檔案套件和配置檔案套件分別儲存到儲存倉庫對應的雲端儲存地址中。     The device according to item 9 of the scope of patent application, further comprising: a separating unit configured to separate an execution file and a configuration file from a software package; configuring a preset execution configuration parameter for the configuration file; The file configuration version baseline information generates an execution file package, and generates a configuration file package for the configuration file configuration version baseline information. The storage unit is configured to store the execution file package and the configuration file package to the corresponding storage warehouse respectively according to the version baseline information. Cloud storage address.     根據申請專利範圍第9項所述的裝置,其中,該執行單元,被配置為藉由非同步方式,將該執行檔案套件及修正後的該配置檔案套件批量分發到應用客戶端所在伺服器。     According to the device according to item 9 of the scope of the patent application, wherein the execution unit is configured to batchly distribute the execution file package and the modified configuration file package to a server where the application client is located in an asynchronous manner.     根據申請專利範圍第9至11、13至15項中任意一項所述的裝置,其中,該配置資訊為ini檔。     The device according to any one of claims 9 to 11, 13 to 15, in which the configuration information is an ini file.    
TW106102234A 2017-01-20 2017-01-20 Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment TW201828078A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106102234A TW201828078A (en) 2017-01-20 2017-01-20 Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106102234A TW201828078A (en) 2017-01-20 2017-01-20 Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment

Publications (1)

Publication Number Publication Date
TW201828078A true TW201828078A (en) 2018-08-01

Family

ID=63960256

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106102234A TW201828078A (en) 2017-01-20 2017-01-20 Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment

Country Status (1)

Country Link
TW (1) TW201828078A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725897A (en) * 2018-12-03 2019-05-07 深圳市多元世纪信息技术股份有限公司 Software customized methods, devices and systems, terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725897A (en) * 2018-12-03 2019-05-07 深圳市多元世纪信息技术股份有限公司 Software customized methods, devices and systems, terminal

Similar Documents

Publication Publication Date Title
WO2017071494A1 (en) Application deployment method and apparatus
KR102370568B1 (en) Containerized deployment of microservices based on monolithic legacy applications
CN108829409B (en) Distributed system rapid deployment method and system
US9569198B2 (en) Release lifecycle management system for multi-node application
US9280338B1 (en) Dynamic application updates
US20140196022A1 (en) Cloud Based Application Packaging
US9996331B1 (en) Customized application state transition
CN108319460B (en) Method and device for generating application program installation package, electronic equipment and storage medium
CN108897547B (en) Software automation deployment method and device
US10305731B2 (en) System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server
US20130283259A1 (en) Application installation
US20150363195A1 (en) Software package management
US9542173B2 (en) Dependency handling for software extensions
US9141363B2 (en) Application construction for execution on diverse computing infrastructures
US10338910B2 (en) Multi-tenant upgrading
US20220129301A1 (en) Architectural design for universal software automation pipelines
CN114721809A (en) Application deployment method and device of kubernets cluster
CN111147291B (en) Service maintenance method and device
US11188362B2 (en) Generating a command line interface for projects based on configuration management technologies
GB2628240A (en) Automated deployment of enterprise archive with dependency on application server via script
US9760364B2 (en) Checks for software extensions
US9477447B1 (en) Semantic representations of software extensions
TW201828078A (en) Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment
US20180341475A1 (en) Just In Time Deployment with Package Managers
CN110275699A (en) Code construction method, Serverless platform and object storage platform