One-key Deployment Method, System and Storage Medium Applicable to Offline Environment
Through the collaborative work of the RM platform and the SM platform, the application packages are automatically orchestrated across application boundaries, solving the cumbersome and complex deployment solutions in the hospital offline environment, and achieving efficient and low-cost deployment results.
Patent Information
- Application Number
- CN202210041286.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-14
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2042-01-14
AI Technical Summary
In the ToB scenario, in the offline hospital environment, the deployment solutions of the existing technology are complicated and complex, prone to errors, and it is difficult to achieve efficient and low-cost application deployment.
The RM platform produces metadata of application deployment packages associated with medical institutions' products, performs version management and dependency analysis, generates deployment workflows, and performs one-click deployment to the K8S cluster by the SM platform, and automatically orchestrates and deploys across application boundaries.
Effectively reduce the error rate of hospital on-site implementation personnel, improve deployment efficiency, and achieve high-quality, efficient and low-cost deployment solutions.
Smart Images

Figure CN114518886B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of offline deployment, and particularly to a one-click deployment method, system and storage medium applicable to an offline environment. Background Art
[0002] Under the microservices architecture, an application will be split into several independent microservices, and each microservice can be built and deployed separately, emphasizing divide and conquer and high autonomy. This deployment model with each microservice as the granularity is a very conventional and standard process in the ToC (To Customer) scenario. However, in the ToB (To Business) scenario, due to the complex on-site environment, deploying an application becomes very cumbersome and error-prone.
[0003] Therefore, in order to cope with the ToB scenario, currently the main deployment model in this field is to use each application as the granularity, package all the microservices inside the application together, and handle the dependencies and configurations between the microservices internally. Finally, deploy them all at once to simplify the deployment process. However, with the continuous expansion of the company's business, the number of applications is increasing, and the relationships between applications are becoming increasingly intricate. At this time, the exposed problems are very similar to those encountered in the previous model deployment with each microservice as the granularity, which makes it cumbersome and complex to deploy a certain set of product solutions of the company because a set of solutions involves a series of applications that need to be deployed.
[0004] Therefore, it is necessary to have a solution that can automatically orchestrate and deploy all the application deployment packages involved in a complete product function system across application boundaries to a k8s cluster, the system can automatically handle the dependency deployment order of applications, and can automatically fill in various application dependency configuration items. This solution aims to provide a one-click deployment solution adapted to the hospital on-site environment for high-quality, high-efficiency and low-cost delivery of products. Summary of the Invention
[0005] In view of the above-mentioned disadvantages of the prior art, the purpose of this application is to provide a one-click deployment method, system and storage medium applicable to an offline environment, which is used to solve the technical problem that the existing deployment solutions are not applicable to the hospital offline environment.
[0006] To achieve the above and other related objectives, the first aspect of this application provides a one - click deployment method applicable to an offline environment, including: The RM platform creates the metadata of one or more application deployment packages associated with medical institution products and introduces output variables; The RM platform performs version management on the one or more application deployment packages associated with the medical institution products; The RM platform determines the deployment order to generate a deployment workflow, and after serializing the deployment workflow, injects it into the metadata to form a metadata file, and packages the application deployment packages associated with the medical institution products and the metadata file into a project package; The SM platform uploads the project package and executes the deployment workflow to perform one - click deployment into the K8S cluster.
[0007] In some embodiments of the first aspect of this application, the process of introducing output variables includes: By using the deployment package production and construction function of the RM platform, declare the parameter configuration keys required to be output by the template service in the application deployment package, and the parameter configuration keys (key) have global uniqueness and immutability; When constructing the deployment package, inject the parameter configuration keys other than those uniformly managed by the RM platform itself into the metadata for the SM platform to parse and use.
[0008] In some embodiments of the first aspect of this application, for on - site configurations that can only be determined at the implementation site, the SM platform uniformly declares the on - site configurations, and the on - site configurations have global uniqueness and immutability; The RM platform synchronizes these on - site configurations to the RM platform for management by pulling them, so that the input configurations can refer to these on - site configurations as needed; For input configurations that do not depend on application boundary configurations, define the values of the configurations as default values adapted to the site.
[0009] In some embodiments of the first aspect of this application, the RM platform performs version management on the application deployment packages associated with the medical institution products, which includes: Clearly define the dependencies of the medical institution products and the version ranges of their dependencies, and then perform the action of version release; If the dependencies of the medical institution products are specific versions, declare the specified version number dependencies; If the dependencies of the medical institution products are a certain version range, declare that the version it depends on is a certain version interval.
[0010] In some embodiments of the first aspect of this application, the RM platform performing version management on the application deployment packages associated with the medical institution products further includes: Generating a corresponding product topology structure and deployment order according to the dependency relationship of the medical institution products, and generating a corresponding directed acyclic graph therewith, for the SM platform to parse the metadata and arrange the applications on each node in the directed acyclic graph according to the deployment order to complete the delivery and implementation of the entire project.
[0011] In some embodiments of the first aspect of the present application, the RM platform determines the deployment order based on the declared dependencies of medical institution products. The process includes: The RM platform analyzes the dependencies of various products within the product scope according to the product scope required for the hospital project, deploys the products with zero dependencies first, and then deploys them item by item in the order of the dependency chain until the end of the dependency chain, generates a dependency graph, and forms a deployment workflow.
[0012] In some embodiments of the first aspect of the present application, the RM platform determines the deployment order based on manual intervention adjustment. The process includes: The RM platform first generates a deployment workflow according to the dependency relationship, and then dynamically adjusts the deployment order of the deployment workflow in response to user operations.
[0013] It should be noted that the RM platform dynamically adjusts the deployment behavior and the deployment workflow order by setting pre-deployment actions, post-deployment actions, and whether manual confirmation of deployment actions is allowed. Once confirmed in the RM platform, it cannot be changed.
[0014] In some embodiments of the first aspect of the present application, the SM platform executes the deployment workflow to perform one-click deployment to the K8S cluster. The process includes: After the upload of the project package is completed, a corresponding project deployment workflow instance is generated based on the metadata file in the project package, and the initial state of the project deployment workflow instance is set to pending start; perform various pre-checks and guide the user to enter the directed acyclic graph page of the one-click deployment workflow of the project package; change the state of the project deployment workflow instance to in execution, and perform the deployment orchestration work of each application node according to the directed acyclic graph; generate a corresponding application node instance when each application node in the directed acyclic graph is executed, and associate the application node instance with the project deployment workflow instance; when all application nodes are completed and meet the execution success conditions of the project deployment workflow instance, change the state of the project deployment workflow instance to execution success.
[0015] To achieve the above and other related purposes, the second aspect of the present application provides a packaging system for application deployment packages, including: a metadata production module for producing metadata of one or more application deployment packages associated with medical institution products and introducing output variables; a version management module for performing version management on the one or more application deployment packages associated with the medical institution products; a project package packaging module for determining the deployment order to generate a deployment workflow, serializing the deployment workflow and injecting it into the metadata to form a metadata file, and packaging the application deployment packages associated with the medical institution products and the metadata file into a project package.
[0016] To achieve the above and other related objectives, a third aspect of the present application provides a deployment system for application deployment packages, including: an upload module for uploading project packages; a deployment module for executing a deployment workflow to perform one-click deployment into a K8S cluster; wherein, the deployment workflow is generated after the RM platform determines the deployment sequence; the project package is formed by the RM platform packaging the application deployment packages and metadata files associated with medical institution products.
[0017] To achieve the above and other related objectives, a fourth aspect of the present application provides a computer-readable storage medium with a computer program stored thereon, and when the computer program is executed by a processor, it implements the one-click deployment method applicable to an offline environment.
[0018] As described above, the one-click deployment method, system, and storage medium of the present application applicable to an offline environment have the following beneficial effects: The present invention automatically arranges and deploys all application deployment packages involved in the complete product function system across application boundaries into a k8s cluster. The present invention can effectively reduce the error rate of on-site hospital implementers and improve the deployment efficiency, thus well adapting to the deployment solution with high quality, high efficiency, and low cost for on-site hospitals. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 It shows a schematic flowchart of a one-click deployment method applicable to an offline environment in an embodiment of the present application.
[0020] Figure 2 It shows a schematic structural diagram of a directed acyclic graph in an embodiment of the present application.
[0021] Figure 3 It shows a schematic structural diagram of a metadata file in an embodiment of the present application.
[0022] Figure 4 It shows a schematic flowchart of a one-click deployment method applicable to an offline environment in an embodiment of the present application.
[0023] Figure 5 It shows a schematic structural diagram of a packaging system for application deployment packages in an embodiment of the present application.
[0024] Figure 6 It shows a schematic structural diagram of a deployment system for application deployment packages in an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0025] The following describes the implementation manners of the present application through specific specific examples. Those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in this specification. The present application can also be implemented or applied through other different specific implementation manners. Various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that, without conflict, the following embodiments and the features in the embodiments can be combined with each other.
[0026] It should be noted that, as used herein in the following description, the singular forms "a", "an" and "the" are also intended to include the plural forms, unless the context indicates otherwise. The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and do not necessarily need to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described here can be implemented in an order different from that shown or described here. In addition, the terms "comprising" and "including" indicate the presence of the described features, operations, elements, components, items, types, and / or groups, but do not exclude the presence, occurrence, or addition of one or more other features, operations, elements, components, items, types, and / or groups. It should be further understood that the terms "or" and "and / or" used herein are interpreted as inclusive, or meaning any one or any combination. Therefore, "A, B or C" or "A, B and / or C" means "any one of the following: A; B; C; A and B; A and C; B and C; A, B and C". An exception to this definition only occurs when the combination of elements, functions, or operations is inherently mutually exclusive in some way.
[0027] Aiming at the defects in the existing deployment process, the present invention provides a one-key deployment method, system and storage medium applicable to an offline environment, and automatically arranges and deploys all application deployment packages involved in the complete product function system across application boundaries into a k8s cluster. The present invention can effectively reduce the error rate of on-site implementers in hospitals and improve the deployment efficiency, so it is well adapted to the deployment solution with high quality, high efficiency and low cost for hospital sites.
[0028] In order to make the purpose, technical solutions and advantages of the present invention clearer and more understandable, the technical solutions in the embodiments of the present invention will be further described in detail through the following embodiments in combination with the drawings. It should be understood that the specific embodiments described here are only used to explain the present invention and are not used to limit the invention.
[0029] As Figure 1 shown, a flowchart of a one-key deployment method applicable to an offline environment in an embodiment of the present invention is shown.
[0030] Under normal circumstances, for safety reasons, the computer room of a medical institution is not directly connected to the Internet for communication. Therefore, in the technical solution of the present invention, an RM platform for R & D personnel to release applications and an SM platform for on-site deployment of applications in medical institutions are designed. The RM platform and the SM platform cooperate with each other and complement each other, which not only meets the needs of off-line deployment in medical institutions, but also integrates R & D - deployment - delivery into an overall entity, improving the efficiency of the delivery process. For the convenience of those skilled in the art to understand, the following explanations are made for the professional terms appearing in the following text:
[0031] The RM (Release Manager) platform is a platform for packaging based on GitLab. After R & D personnel package an application, they can release the corresponding product - associated application package. The on - site implementers in the hospital can download the corresponding deployment package for the deployment of hospital products. It should be understood that GitLab is an open - source project for a repository management system, which uses Git as a code management tool and builds a Web service on this basis. The institutions applicable to the RM platform include but are not limited to hospitals, and can also be health centers, sanatoriums, outpatient clinics, clinics, health clinics, first - aid stations, etc.
[0032] The SM (Service Manager) platform is a platform for deploying applications based on Kubernetes. It enables hospital implementers to deploy the deployment packages provided by R & D personnel to the hospital site. It should be understood that Kubernetes is also commonly referred to as K8S. It is an open - source system for managing containerized applications on multiple hosts in a cloud platform. Its goal is to make the deployment of containerized applications simple and efficient, and it provides a mechanism for application deployment, planning, update, and maintenance.
[0033] In this embodiment, the one - key deployment method applicable to an off - line environment includes steps S11 to S15. The following will explain each step in detail in combination with specific embodiments.
[0034] Step S11: The RM platform creates metadata for one or more application deployment packages associated with medical institution products and introduces output variables (Outputs); for applications with dependencies, the dependent party introduces the output variables for the dependent party to reference. In this way, during deployment, after the dependent party deploys the function, its terminal application node endpoint is automatically filled into the configuration variables of the dependent party, thus eliminating the need for thermal filling.
[0035] It should be understood that metadata, also known as mediation data or relay data, is data that describes data. It mainly describes information about data attributes and is used to support functions such as indicating storage locations, historical data, resource searches, and file records.
[0036] In some examples, output variables (Outputs) are introduced when generating the metadata to disclose specific information of the application deployment package, such as the endpoint information of the server or any other runtime information. After deployment, the instance can disclose the specific outputs declared by the application.
[0037] In some examples, the process of introducing the output variables includes: by using the deployment package creation and build function of the RM platform, declaring the parameter configuration key (key) required for the output of the template service in the application deployment package, and the parameter configuration key (key) has global uniqueness and immutability. Further, when building the deployment package, the parameter configuration keys (keys) other than those uniformly managed by the RM platform itself are injected into the metadata for the SM platform to parse and use.
[0038] In some examples, for on-site configurations that can only be determined at the implementation site, such as the database server address, etc., the SM platform uniformly declares the on-site configurations, and the on-site configurations have global uniqueness and immutability; the RM platform synchronizes these on-site configurations to the RM platform for management by pulling them, so that the input configurations can reference these on-site configurations as needed. It should be noted that the on-site configurations are uniformly managed and defined on the SM platform, and the list of on-site configuration definitions is refreshed each time it is deployed to the site, and the values of the on-site configurations are filled in by on-site integration personnel.
[0039] In some examples, for input configurations that do not depend on application boundary configurations, the values of the configurations are defined as default values adapted to the site to avoid the need for adjustment during on-site deployment. Among them, the boundary configuration is a semi-analytical numerical method, which is another new numerical analysis method after the development of the boundary.
[0040] Step S12: The RM platform performs version management on one or more application deployment packages associated with the medical institution product.
[0041] In some examples, the RM platform performs version management on the application deployment packages associated with the medical institution product, including clarifying the dependencies of the medical institution product and the version ranges of its dependencies, and then performing the action of version release.
[0042] Further, if the dependency of the medical institution product is a specific version, declare the specified version number dependency; if the dependency of the medical institution product is a certain version range, declare that its dependency is a certain version interval. It should be understood that the perfection and correctness of the above two points directly affect the subsequent generation of the dependency relationship graph and determine the correctness of the product deployment order, so it is crucial.
[0043] In some examples, the RM platform performs version management on the application deployment packages associated with the medical institution products, and further includes generating a corresponding product topology structure and deployment order according to the dependency relationships of the medical institution products, and generating a corresponding directed acyclic graph therewith, for the SM platform to parse the metadata and then orchestrate the applications on each node in the directed acyclic graph according to the deployment order, so as to complete the delivery and implementation of the entire project. Among them, the directed acyclic graph refers to a directed graph without loops. If a directed graph cannot start from a certain vertex and return to that point after passing through several edges, then this graph is a directed acyclic graph (DAG graph).
[0044] For ease of understanding, the directed acyclic graph will now be further explained in conjunction with Figure 2 the following content.
[0045] In Step1, the application nodes sso-3.0.0 and logging-1.6.0 are orchestrated. Each application node is a unique identifier composed of a product name and a product version. Among them, the product name of the application node sso-3.0.0 is sso, and the product version is 3.0.0; the product name of the application node logging-1.6.0 is logging, and the product version is 1.6.0. The application nodes sso-3.0.0 and logging-1.6.0 both point to Step2.
[0046] In Step2, the application node taskcenter-3.0.0 is orchestrated, and the product name of the application node taskcenter-3.0.0 is taskcenter, and the product version is 3.0.0. The application node taskcenter-3.0.0 points to Step3.
[0047] In Step3, the application nodes empi-5.0.0 and bank-6.0.0 are orchestrated. Each application node is a unique identifier composed of a product name and a product version. Among them, the product name of the application node empi-5.0.0 is empi, and the product version is 5.0.0. The product name of the application node bank-6.0.0 is bank, and the product identifier is 6.0.0.
[0048] Step S13: The RM platform determines the deployment order to generate a deployment workflow, and after serializing the deployment workflow, injects it into the metadata to form a metadata file, and packages the application deployment packages associated with the medical institution products and the metadata file into a project package.
[0049] In some examples, the RM platform determines the deployment order based on the declared dependencies of medical institution products. Specifically: The RM platform analyzes the dependencies of various products within the product scope according to the product scope required for the hospital project, first deploys the products with zero dependencies, and then deploys them item by item in the order of the dependency chain until the end of the dependency chain, generates a dependency relationship diagram, and forms a deployment workflow.
[0050] In some examples, the RM platform determines the deployment order based on manual intervention adjustment. Specifically, the RM platform first generates a deployment workflow according to the dependency relationship, and then dynamically adjusts the deployment order of the deployment workflow accordingly in response to user operations. For example, the user can dynamically adjust the deployment order on the deployment workflow diagram in the form of dragging and dropping, etc., for the deployment workflow automatically generated by the RM platform. Reserving the operation of manual intervention adjustment facilitates manual decision-making and greatly improves accuracy.
[0051] After the RM platform determines the deployment order and generates a deployment workflow, the deployment workflow is serialized and injected into the metadata to form a metadata file. Subsequently, the application deployment package associated with the medical institution product and the metadata file are packaged into a project package. It should be understood that the project package is a shell based on the application package of the product, and the internal structure continues the format of the application package. That is, the inside of the project package is actually still the application package. In this way, multiple application packages can be put together. The project package is actually a shell for organizing multiple application packages. Secondly, a metadata of the deployment workflow is appended to facilitate identification and deployment processing on the SM platform.
[0052] Among them, the file structure of the metadata file (deployworkflow.json) is as Figure 3 shown, corresponding to Figure 2 the orchestration order of the directed acyclic graph. In Figure 3 it, the metadata file includes the following contents: hospital project code, hospital project name, description information, project package version, unique identifiers of each application deployment package based on the deployment order in the project package, etc. It should be noted that in this embodiment, some or all of the application deployment packages can tolerate deployment failures during orchestration and deployment, and thus directly enter the next step without getting stuck in the process.
[0053] Step S14: The SM platform uploads the project package.
[0054] The SM platform uploads the project package through the open entrance. During the upload process, different from parsing the metadata one by one for non-one-key deployment, in this embodiment, the metadata of multiple application deployment packages is parsed together, and each application deployment package is uploaded to the SM platform in turn. The next step after completion will directly guide the user into the one-key deployment workflow orientation.
[0055] Step S15: The SM platform executes the deployment workflow for one-click deployment to the K8S cluster. The specific process of executing the deployment workflow is as follows:
[0056] First step: After the upload of the project package is completed, a corresponding project deployment workflow instance is generated based on the metadata file in the project package. The initial state of the project deployment workflow instance is set to pending start, and the project deployment workflow instance can also be stored in the database.
[0057] Second step: Perform various pre-checks and guide the user to enter the directed acyclic graph page of the one-click deployment workflow for this project package. Specifically, the pre-checks include, for example, detecting whether there are conflicts in the node ports (NodePort) of each application node, guiding and prompting the user to adjust the input configuration items of the application nodes with node port conflicts, and also detecting the application nodes that have completed deployment and marking them on the corresponding application nodes in the DAG graph, such as marking as "completed deployment, skip this application node", etc.
[0058] Third step: Change the status of the project deployment workflow instance to in execution, and perform the deployment orchestration work for each application node according to the directed acyclic graph. Specifically, after all the pre-checks are okay, the status of the one-click deployment workflow instance of this project can be changed to "in execution", and the deployment orchestration work for each application node in the DAG graph can start. The execution deployment results of the application nodes need to be fed back to the DAG graph in real time.
[0059] Fourth step: Generate a corresponding application node instance when executing each application node in the directed acyclic graph, and associate the application node instance with the project deployment workflow instance; when all application nodes have completed execution and meet the execution success conditions of the project deployment workflow instance, change the status of the project deployment workflow instance to execution success. Among them, the execution success conditions of the project deployment workflow instance can, for example, be the system default that all pod statuses are running + conditions are all true as the evaluation criterion.
[0060] Specifically, when executing each application node in the DAG graph, an application node instance is generated and associated with the project deployment workflow instance, which is the smallest unit for specific execution and orchestration. The condition for successful execution of an application node is that the system by default uses the criterion that all pod statuses are running and all conditions are true. Only when the "application node instance" is marked as "executed successfully" can the application node orchestration execution work of the next step be entered (unless the current "application node" is marked as "allowed to fail" when defined in the RM and can tolerate execution failures and directly enter the next step). And so on, until each application node has completed execution and meets the execution success conditions of the project deployment workflow instance, the status of the project deployment workflow instance can be marked as executed successfully, which also represents the completion of the one-click deployment of the project package.
[0061] For those skilled in the art to have a more comprehensive understanding of the one-click deployment solution applicable to the offline environment based on the RM platform and the SM platform in this embodiment, the following will be described integrally in combination with Figure 4 to make an overall description:
[0062] The RM creates conditions for one-click deployment, which is used to produce the metadata of one or more application deployment packages associated with medical institution products and introduce output variables. By using the deployment package production and construction function of the RM platform, the parameter configuration keys (keys) required for the template services in the application deployment package are declared. When building the deployment package, the parameter configuration keys (keys) other than those uniformly managed by the RM platform itself are injected into the metadata for the SM platform to parse and use.
[0063] The RM declares product dependencies, then generates a dependency graph according to the product scope of the hospital project, determines the product deployment order, and injects the dependency graph into the metadata and packs them into a project package together.
[0064] The SM platform uploads the project package through the open entrance, parses the metadata of multiple application deployment packages in parallel, uploads each application deployment package to the SM platform in turn. The next step after completion will directly guide the user into the one-click deployment workflow orientation and finally deploy it to the K8S cluster in one click.
[0065] As Figure 5 shown, it shows the structural schematic diagram of a packaging system for an application deployment package in an embodiment of the present invention. The packaging system 500 for the application deployment package includes: a metadata production module 501, a version management module 502, and a project package packaging module 503.
[0066] Among them, the metadata production module 501 is used to produce the metadata of one or more application deployment packages associated with the medical institution product and introduce output variables; the version management module 502 is used to manage the versions of one or more application deployment packages associated with the medical institution product; the project package packaging module 503 is used to determine the deployment order to generate a deployment workflow, and after serializing the deployment workflow, inject it into the metadata to form a metadata file, and package the application deployment packages associated with the medical institution product and the metadata file into a project package.
[0067] As Figure 6 shown, a schematic structural diagram of a deployment system for an application deployment package in an embodiment of the present invention is shown. The deployment system 600 in this embodiment includes an upload module 601 and a deployment module 602.
[0068] The upload module 601 is used to upload the project package; the deployment module 602 is used to execute the deployment workflow to perform one-key deployment to the K8S cluster; among them, the deployment workflow is generated after the RM platform determines the deployment order; the project package is packaged by the RM platform from the application deployment packages associated with the medical institution product and the metadata file.
[0069] It should be noted that the implementation principles and processes of the packaging system 500 and the deployment system 600 of the application deployment package have been described in detail in the technical content of the one-key deployment method applicable to the offline environment above, and will not be elaborated here.
[0070] It should be understood that the division of each module of the above system is only a logical function division. In actual implementation, it can be fully or partially integrated into a physical entity, or physically separated. And these modules can all be implemented in the form of software called by processing elements; they can also all be implemented in the form of hardware; or some modules can be implemented in the form of software called by processing elements, and some modules can be implemented in the form of hardware. For example, the project package packaging module can be a separately established processing element, or can be integrated in a certain chip of the above system. In addition, it can also be stored in the memory of the above system in the form of program code, and called and executed by a certain processing element of the above system to perform the functions of the above project package packaging module. The implementation of other modules is similar. In addition, these modules can be fully or partially integrated together or can be independently implemented. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed by the integrated logic circuit in the hardware of the processor element or the instructions in the form of software.
[0071] For example, the above-mentioned modules may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or, one or more digital signal processors (DSPs), or, one or more Field Programmable Gate Arrays (FPGAs), etc. For another example, when a certain above-mentioned module is implemented in the form of a processing element scheduler code, the processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processors that can call program code. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0072] The present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the one-key deployment method applicable to an offline environment is implemented.
[0073] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to a computer program. The aforementioned computer program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above method embodiments; and the aforementioned storage medium includes: various media such as ROM, RAM, magnetic disks, or optical discs that can store program code.
[0074] In the embodiments provided in the present application, the computer-readable and writable storage medium may include a read-only memory, a random access memory, an EEPROM, a CD-ROM, or other optical disc storage devices, a magnetic disk storage device, or other magnetic storage devices, a flash memory, a USB flash drive, a mobile hard disk, or any other medium that can be used to store the desired program code in the form of instructions or data structures and can be accessed by a computer. Additionally, any connection may be appropriately referred to as a computer-readable medium. For example, if the instructions are sent from a website, a server, or other remote sources using coaxial cables, fiber optic cables, twisted pairs, digital subscriber lines (DSLs), or wireless technologies such as infrared, radio, and microwave, then the coaxial cables, fiber optic cables, twisted pairs, DSLs, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. However, it should be understood that computer-readable and writable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are intended to refer to non-transient, tangible storage media. As used in the application, magnetic disks and optical discs include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where magnetic disks typically replicate data magnetically, while optical discs optically replicate data using lasers.
[0075] In summary, the present application provides a one-key deployment method, system, and storage medium applicable to an offline environment. The present invention automatically arranges and deploys all application deployment packages involved in the complete product function system across application boundaries to a k8s cluster. The present invention can effectively reduce the error rate of on-site implementers in hospitals and improve the deployment efficiency, thus well adapting to the deployment solution with high quality, high efficiency, and low cost for hospital sites. Therefore, the present application effectively overcomes various shortcomings in the prior art and has high industrial utilization value.
[0076] The above embodiments merely illustrate the principles and effects of the present application and are not used to limit the present application. Any person familiar with this technology can modify or change the above embodiments without departing from the spirit and scope of the present application. Therefore, all equivalent modifications or changes made by those with ordinary knowledge in the technical field without departing from the spirit and technical idea disclosed in the present application should still be covered by the claims of the present application.
Claims
1. A one-key deployment method applicable to an offline environment, characterized in that, Including: The RM platform creates metadata for one or more application deployment packages associated with medical institution products and introduces output variables; for applications with dependencies, the dependent party introduces the output variables for the dependent party to reference, so that after the deployment of the dependent party is completed, its terminal application nodes are automatically filled into the configuration variables of the dependent party; The RM platform manages the versions of one or more application deployment packages associated with the medical institution products; The RM platform decides the deployment order based on the declared dependencies of the medical institution products to generate a deployment workflow, and after serializing the deployment workflow, injects it into the metadata to form a metadata file, and packages the application deployment packages associated with the medical institution products and the metadata file into a project package; The SM platform uploads the project package through an open entrance, parses the metadata of multiple application deployment packages, uploads each application deployment package to the SM platform in sequence, and the next step after completion will directly guide the user into the one-click deployment workflow orientation and execute the deployment workflow to perform one-click deployment to the K8S cluster; Among them, the process of the SM platform executing the deployment workflow to perform one-click deployment to the K8S cluster includes: After completing the upload of the project package, generate a corresponding project deployment workflow instance based on the metadata file in the project package, and set the initial state of the project deployment workflow instance to be pending start; Execute various pre-checks and guide the user into the one-click deployment workflow directed acyclic graph page of the project package; Change the state of the project deployment workflow instance to in execution, and perform the deployment orchestration work of each application node according to the directed acyclic graph; Generate a corresponding application node instance when executing each application node in the directed acyclic graph, and associate the application node instance with the project deployment workflow instance; when all application nodes are completed and meet the execution success conditions of the project deployment workflow instance, change the state of the project deployment workflow instance to execution success.
2. The one-key deployment method applicable to an offline environment according to claim 1, wherein The process of introducing the output variables includes: By using the deployment package making and building function of the RM platform, declare the parameter configuration keys required to be output by the template service in the application deployment package, and the parameter configuration keys (keys) have global uniqueness and immutability; when building the deployment package, inject the parameter configuration keys other than those uniformly managed by the RM platform itself into the metadata for the SM platform to parse and use.
3. The one-key deployment method applicable to an offline environment according to claim 2, wherein: For the on-site configurations that can only be determined at the implementation site, the SM platform uniformly declares the on-site configurations, and the on-site configurations have global uniqueness and immutability; the RM platform synchronizes these on-site configurations to the RM platform for management by pulling them, so that the input configurations can reference these on-site configurations as needed; for the input configurations that do not depend on the application boundary configurations, define the values of the configurations as the default values adapted to the site.
4. The one-key deployment method applicable to an offline environment according to claim 1, characterized in that The RM platform performs version management on the application deployment packages associated with the medical institution products, which includes: clarifying the dependencies of the medical institution products and the version ranges of their dependencies, and then performing the action of version release; if the dependency of the medical institution product is a specific version, declaring the specified version number dependency; if the dependency of the medical institution product is a certain version range, declaring that its dependency is a certain version interval.
5. The one-key deployment method applicable to an offline environment according to claim 1, characterized in that The RM platform performing version management on the application deployment packages associated with the medical institution products further includes: generating a corresponding product topology structure and deployment order according to the dependency relationship of the medical institution products, and generating a corresponding directed acyclic graph accordingly, for the SM platform to parse the metadata and arrange the applications on each node in the directed acyclic graph according to the deployment order, so as to complete the delivery and implementation of the entire project.
6. The one-key deployment method applicable to an offline environment according to claim 1, wherein The RM platform decides the deployment order based on the declared dependency relationship of the medical institution products, and its process includes: the RM platform analyzes the dependencies of various products within the product scope according to the product scope to be deployed in the hospital project, deploys the products with zero dependencies first, and then deploys them item by item in the order of the dependency chain until the end of the dependency chain, generating a dependency relationship graph to form a deployment workflow.
7. The one-key deployment method applicable to an offline environment according to claim 1, wherein The RM platform decides the deployment order based on manual intervention adjustment, and its process includes: the RM platform first generates a deployment workflow according to the dependency relationship, and then dynamically adjusts the deployment order of the deployment workflow in response to user operations.
8. One - key deployment device applicable to an offline environment, characterized in that, The device includes: A metadata production module, which is used to produce the metadata of one or more application deployment packages associated with the medical institution products and introduce output variables; for applications with dependency relationships, the dependent party introduces the output variables for the dependent party to reference, so that the terminal application nodes can be automatically filled into the configuration variables of the dependent party after the deployment of the dependent party is completed; A version management module, which is used to perform version management on one or more application deployment packages associated with the medical institution products; A project package packaging module, which is used to decide the deployment order based on the declared dependency relationship of the medical institution products to generate a deployment workflow, and after serializing the deployment workflow, inject it into the metadata to form a metadata file, and package the application deployment packages associated with the medical institution products and the metadata file into a project package; An upload module, which is used to upload the project package through an open entrance; A deployment module, which is used to parse the metadata of multiple application deployment packages together, upload each application deployment package to the SM platform in turn, and directly guide the user into the one-key deployment workflow orientation after completion, and execute the deployment workflow to perform one-key deployment to the K8S cluster; among them, after the upload of the project package is completed, a corresponding project deployment workflow instance is generated based on the metadata file in the project package, and the initial state of the project deployment workflow instance is set to be pending start; Execute various pre-checks and guide the user to enter the one-key deployment workflow directed acyclic graph page of the project package; Change the state of the project deployment workflow instance to in execution, and perform the deployment and orchestration work of each application node according to the directed acyclic graph; When each application node in the directed acyclic graph is executed, a corresponding application node instance is generated, and the application node instance is associated with the project deployment workflow instance; when all application nodes are completed and meet the execution success conditions of the project deployment workflow instance, the status of the project deployment workflow instance is changed to execution success.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the one-click deployment method applicable to an offline environment according to any one of claims 1 to 7.
Citation Information
Patent Citations
DevOps-based multi-environment configuration system and method
CN110377294A
BPMN-based micro-service workflow deployment method
CN112463141A