Application program deployment method and system

By utilizing a server to decompose the application package and base image from the application file package within a secure interactive environment between the financial platform and financial institutions, identifying change packages, and deploying containers, the problem of low efficiency in cross-network transmission is solved, achieving efficient and secure application deployment.

CN120950084APending Publication Date: 2025-11-14SHENZHEN LEXIN SOFTWARE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510835304.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-20
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

In a secure interactive environment between financial platforms and financial institutions, transmitting application file packages across networks is inefficient, carries the risk of data loss, and results in low overall deployment efficiency.

Method used

By disassembling the application package and base image from the latest released application file package on a server outside the secure interactive environment, comparing them with historical versions of the application package to identify change packages, and then deploying the container within the secure interactive environment, only transmitting change packages to reduce the pressure of cross-domain data transfer.

Benefits of technology

It improves the efficiency of application deployment within a secure interactive environment, reduces the risk of data loss, decreases the amount of data transferred across domains, and enhances data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950084A_ABST
    Figure CN120950084A_ABST
Patent Text Reader

Abstract

The invention provides an application program deployment method, and relates to the technical field of financial science and technology, a server arranged outside a secure interaction environment is utilized to decompose an application package from a file package of a latest published application program, and when a historical version application package corresponding to the application package is stored in the server, the application package is stored in the server. The application package is compared with the historical version application package to determine a change package, the change package is uploaded to a container management system in the secure interaction environment, and the container management system restores the application package based on the change package and stores the application package so as to respond to a preset instruction sent by a server and send the application package to the server. And completing application program deployment in the secure interaction environment according to the application package and the basic mirror image stored in the secure interaction environment. When the container of the application program is deployed, cross-domain data transmission inside and outside the secure interaction environment can be reduced, and only the change packet corresponding to the new version is transmitted, so that the data transmission pressure is reduced, the risk of data loss in the transmission process is avoided, and the data transmission efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of financial technology, and in particular to an application deployment method and system. Background Technology

[0002] Financial policies require financial platforms (such as third-party payment platforms) to refrain from directly providing existing user credit data to financial institutions (such as banks) under the guise of application information, identity information, basic information, or personal profile scoring information when engaging in business cooperation such as customer referral, loan assistance, and joint lending. They must disconnect the direct transmission link of user credit data between the platform and the financial institution. Therefore, financial platforms and financial institutions need to deploy some applications to a secure interactive environment.

[0003] In the current network architecture of the financial industry, financial platforms, financial institutions, and secure interactive environments exist in heterogeneous network environments, with significant differences in network performance between these domains. When deploying applications, large file packets need to be transmitted across networks. Due to bandwidth bottlenecks in the data transmission channels, the transmission efficiency of these file packets is low, and there is even a risk of data loss. In short, the overall efficiency of deploying applications within a secure interactive environment is low. Summary of the Invention

[0004] Therefore, it is necessary to provide an application deployment method and system to address the aforementioned technical problems, so as to improve the efficiency of cross-domain data transmission, reduce the risk of application data loss, and improve the overall efficiency of application deployment in a secure interactive environment.

[0005] Firstly, an application deployment method is proposed, which is applied to a server set up outside a secure interaction environment. The secure interaction environment is used to provide a secure and controllable application interaction environment for participants who have disconnected their direct connection relationship. The method includes: obtaining the file package of the latest released application, the application identifier of the file package, and the version number of the file package; decomposing an application package for implementing business functions from the file package; determining whether the server stores a historical version application package with the application identifier; if so, comparing the application package with the historical version application package to determine the modified package; and sending the modified package, the application identifier, the version number, and the historical version number of the historical version application package to the secure interaction environment. A container management system within a fully interactive environment enables the container management system to restore the application package based on the change package, the application identifier, and the historical version number, and store the application package in the secure interactive environment according to the version number and the application identifier. After storage, the system sends a first response message to the server. Upon receiving the first response message from the container management system, the system stores the application package in the server according to the version number and the application identifier, and controls the container management system to perform container deployment of the application in the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends at runtime, thereby completing the application deployment.

[0006] In this embodiment of the application, after determining whether the server stores a historical version of the application package with the application identifier, the method further includes: if not, creating the base image based on other files in the file package besides the application package; sending the application package, the base image, the application identifier, and the version number to the container management system, so that the container management system stores the application package according to the application identifier and the version number in a secure interactive environment, and stores the base image according to the application identifier, and sends the first response information to the server after storage is completed.

[0007] In this embodiment, comparing the application package and the historical version application package to determine the change package includes: calculating a first hash value for each file in the application package; calculating a second hash value for each file in the historical version application package; comparing the first hash value and the second hash value one by one; if a second hash value with the same value as the first hash value exists, then the file corresponding to the first hash value is recorded in the list of unchanged files; if no second hash value with the same value as the first hash value exists, then the file corresponding to the first hash value is determined to be a changed file; and packaging the list of unchanged files and the changed files into the change package.

[0008] In this embodiment, the preset instructions include container image creation instructions and container deployment instructions. The step of controlling the container management system to perform container deployment of the application within the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends at runtime, thereby completing the application deployment, includes: sending the container image creation instructions to the container management system, so that the container management system obtains the application package corresponding to both the application identifier and version number in the container image creation instructions, as well as the base image on which the application package depends at runtime, within the secure interactive environment; creating a container image from the application package and the base image; storing the container image according to the application identifier and version number within the secure interactive environment; and sending a second response information to the server after storage is completed; and after receiving the second response information sent by the container management system, sending the container deployment instructions to the container management system, so that the container management system obtains the container image corresponding to both the application identifier and version number in the container deployment instructions within the secure interactive environment; and running the container image in the container cluster within the secure interactive environment, thereby completing the application deployment.

[0009] In this embodiment of the application, the server includes the container building server of any of the participating parties.

[0010] Secondly, an application deployment method is proposed, comprising: receiving a change package, an application identifier, a version number, and a historical version number of a historical version application package sent by a server outside a secure interactive environment; the change package is determined by the server first decomposing the application package used to implement business functions from the file package of the latest released application, and then comparing the application package with the historical version application package of the application identifier; the application identifier is the application identifier of the file package; the version number is the version number of the file package; the application package is restored according to the change package, the application identifier, the version number, and the historical version number, and the application package is stored in the secure interactive environment according to the version number and the application identifier; after storage, a first response information is sent to the server, so that the server, after receiving the first response information, stores the application package according to the version number and the application identifier, and sends a preset instruction; in response to the preset instruction sent by the server, the application is containerized and deployed in the secure interactive environment according to the application package stored in the secure interactive environment and the base image on which the application package depends at runtime, thereby completing the application deployment.

[0011] In this embodiment of the application, the method further includes: receiving the application package, the base image, the application identifier, and the version number sent by the server, wherein the base image is created by the server based on other files in the file package besides the application package; storing the application package in a secure interactive environment according to the application identifier and the version number, and storing the base image according to the application identifier; and sending the first response information to the server after storage is completed.

[0012] In this embodiment of the application, the step of restoring the application package based on the change package, the application identifier, and the historical version number includes: parsing an unmodified file list and modified files from the change package; obtaining a historical version application package that corresponds to both the application identifier and the historical version number within a secure interactive environment; extracting the unmodified files corresponding to the unmodified file list from the historical version application package; and packaging the unmodified files and modified files into the application package.

[0013] In this embodiment, the preset instructions include container image creation instructions and container deployment instructions. Responding to the preset instructions sent by the server, the application is deployed in a container within the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends for runtime. This process includes: receiving a container image creation instruction sent by the server; obtaining, within the secure interactive environment, the application package corresponding to both the application identifier and version number in the container image creation instruction, and the base image on which the application package depends for runtime; creating a container image from the application package and the base image; storing the container image within the secure interactive environment according to the application identifier and version number; and sending a second response message to the server after storage; receiving a container deployment instruction sent by the server; obtaining, within the secure interactive environment, the container image corresponding to both the application identifier and version number in the container deployment instruction; and running the container image in a container cluster within the secure interactive environment to complete the application deployment.

[0014] Thirdly, an application deployment system is proposed, comprising a server set outside a secure interactive environment and a container management system set inside the secure interactive environment; the server is used to execute the application deployment method described in any embodiment of the first aspect above; the container management system is used to execute the application deployment method described in any embodiment of the second aspect above; the server and the container management system are communicatively connected through the audit gateway.

[0015] In summary, this application proposes an application deployment method and system. In any of the schemes, a server set up outside the secure interactive environment decomposes the application package from the file package of the latest released application. When the server stores the historical version application package corresponding to the application package, the application package is compared with the historical version application package to determine the modified package. The modified package, the application identifier of the file package, the version number of the file package, and the historical version number of the aforementioned historical version application package are sent to the container management system within the secure interactive environment. The container management system restores the application package based on the modified package, the application identifier, and the historical version number, and stores the application package within the secure interactive environment according to the application identifier and version number. The first response information is sent to the server outside the secure interactive environment. After receiving the first response information, the server stores the application package according to the version number and application identifier, thereby realizing the joint storage of a certain version of the application package inside and outside the secure interactive environment. This allows the server to create a change package using the historical version of the application package stored inside and outside the secure interactive environment when it receives a new version of the application package. This enables the container management server to successfully restore the application package based on the change package and the corresponding historical version of the application package. When the container management system receives the preset instructions sent by the server, it can deploy the application container within the secure interactive environment according to the application package and base image stored within the secure interactive environment. Application version updates typically involve upgrading and optimizing business logic code. However, the underlying environment code upon which this business logic code depends remains unchanged. Therefore, this application allows a server outside the secure interactive environment to extract the application package containing the necessary business functions from the latest application's file package each time a new version is released. This application package covers all the changed files involved in the application version update. Only the changed package, determined by comparing this application package with historical versions, needs to be transferred to the secure interactive environment. The container management system can then reconstruct the new version application package based on this changed package and the historical version application package pre-stored within the secure interactive environment. This allows for container deployment of the application based on the new version application package and the pre-stored base image within the secure interactive environment. This reduces cross-domain data transfer between the secure interactive environment and the application, requiring only the transfer of the changed package corresponding to the new version. This reduces data transfer pressure on limited bandwidth, mitigates the risk of data loss during transmission, and improves data transfer efficiency. Attached Figure Description

[0016] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a schematic diagram illustrating a multi-terminal interaction of an application deployment system according to an exemplary embodiment of this application; Figure 2 It is a schematic diagram illustrating the information interaction between a financial platform and financial institutions; Figure 3 This is a diagram illustrating the information interaction between another financial platform and financial institutions; Figure 4 This is a flowchart illustrating an exemplary embodiment of the application deployment method in this application; Figure 5 This is a flowchart illustrating an application deployment method in another exemplary embodiment of this application; Figure 6 This is a flowchart illustrating an application deployment method in another exemplary embodiment of this application; Figure 7 This is a flowchart illustrating an application deployment method in another exemplary embodiment of this application. Detailed Implementation

[0018] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. The embodiments described with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0019] Figure 1 This is a schematic diagram illustrating a multi-terminal interaction of an application deployment system according to an exemplary embodiment of this application.

[0020] like Figure 1 As shown, the application deployment system may include a server set up outside the secure interactive environment and a container management system set up inside the secure interactive environment. The server and the container management system communicate with each other through an audit gateway.

[0021] A secure interactive environment is used to provide a secure and controlled application interaction environment for participants who have disconnected from direct connections.

[0022] In financial scenarios, financial policies require financial platforms (such as third-party payment platforms like credit platforms) and financial institutions (such as banks and other licensed financial institutions) to "disconnect directly" and avoid direct information transmission between the two.

[0023] Please refer to Figures 2-3Before the direct connection was severed, financial platforms and financial institutions could directly exchange information.

[0024] For example, such as Figure 2 As shown, the financial platform initiates a credit application to the financial institution through the credit granting module (i.e. Figure 2 Following step "1. Credit Application," the financial platform needs to provide the financial institution with the user's personal information, which may include identity information, basic information, and personal credit history. Next, the financial platform queries the financial institution for the credit approval result (i.e.,...). Figure 2 (Step 2, Credit Result Inquiry) Based on the credit limit returned by the financial institution, the financial platform will conduct subsequent business, such as sending the credit limit allocated to the user to the user module (i.e.,...). Figure 2 The step “3. Assigning a credit limit to the user” is used so that the user module can conduct credit business based on the credit limit.

[0025] After the direct connection is disconnected, financial platforms and financial institutions interact through applications / functional modules deployed in a secure interactive environment, thereby ensuring the security of information transmission.

[0026] For example, such as Figure 3 As shown, the financial platform initiates a credit granting request to the financial platform's credit granting module within the secure interactive environment (i.e., Figure 3 In step 1.1), the credit granting module of the financial platform within the secure interactive environment initiates an application to the credit review module of the financial institution within the secure interactive environment (i.e., Figure 3 (Step 1.2) During this process, the user's information is transmitted only within a secure interactive environment and will not be transmitted to the financial institution.

[0027] The financial platform initiates a credit result query to the credit granting module within the secure interactive environment (i.e., Figure 3 In step 2.1), the credit granting module of the financial platform within the secure interactive environment queries the credit review module of the financial institution within the disconnected direct connection for the credit granting result (i.e., Figure 3 Step 2.2 in the process.

[0028] The credit approval module of a financial institution queries and records the credit approval results from the credit approval module of the financial institution within the secure interactive environment (i.e., Figure 3 Step 3 in the process.

[0029] The credit granting module of the financial platform allocates credit limits to users (i.e. Figure 3 Step 4 in the process.

[0030] Throughout the process, the financial platform does not directly transmit user information to financial institutions. Instead, it completes the credit granting operation within a secure interactive environment, thus achieving a direct connection between the financial platform and financial institutions regarding user information.

[0031] This application provides an application deployment method applicable to container building servers for financial platforms or financial institutions. When deploying an application to a secure interactive environment, it improves the efficiency of cross-domain transmission of application-related data within and outside the secure interactive environment and reduces the risk of data loss during cross-domain transmission.

[0032] When an application is first launched or updated, the developers release the application's file package. Devices can then obtain this released application file package and run the application based on the binary files and dependent packages within it. For example... Figure 1 As shown, in the application deployment system proposed in this application, a server set up outside the secure interactive environment obtains the file package of the latest released application. During the initial deployment of the application, the server needs to extract the application package used to implement business functions and the base image that the application package depends on at runtime from the file package outside the secure interactive environment. Then, the application package and the base image are uploaded to the container management system within the secure interactive environment through an audit gateway. During subsequent deployments, i.e., when updating the application, the server needs to extract the application package from the file package outside the secure interactive environment and compare it with the historical version application package stored outside the secure interactive environment to determine the changed package. The changed package is then uploaded to the container management system within the secure interactive environment, where the container management system restores the application package based on the changed package. Thus, each time the container management system within the secure interactive environment responds to a preset instruction from the server to deploy the application, it can perform container deployment based on the application package and base image stored within the secure interactive environment. This allows for the upload of only the changed information to the secure interactive environment after an application version update, reducing the pressure of cross-domain transmission and effectively mitigating the risk of data loss. Overall, it improves the efficiency of deploying applications within a secure interactive environment.

[0033] The steps implemented by a server set up outside the secure interactive environment during application deployment are now described in detail. This server can be a container build server for any participant with whom a direct connection has been severed, such as a container build server for a financial platform and / or a container build server for a financial institution.

[0034] like Figure 4 The diagram shown is a flowchart illustrating an exemplary embodiment of this application's application deployment method.

[0035] The deployment method for this application may include the following steps: S401, retrieves the file package of the latest released application, the application identifier of the file package, and the version number of the file package.

[0036] When developers upgrade or update an application, or launch a new application, they will release an application package. This package includes all the files required for the application to run on the device. For example, it may include binary code files corresponding to business functions, third-party packages that the business functions depend on, and basic environment packages that the business functions rely on. This application does not limit the specific content of the package.

[0037] For example, a server set up outside the secure interactive environment can obtain the file package of the latest released application in real time, and the server can parse the application identifier and version number of the file package from the file package name.

[0038] S402, extract the application package used to implement business functions from the file package.

[0039] Extract the files and packages used to implement business functions from the file package. This includes, for example, the binary code files corresponding to the business functions and the third-party file packages that the business functions depend on. Then, package these files and packages into an application package.

[0040] In one example, the newly released application's file package can be unzipped first. Based on the name, content, and / or directory of each file obtained after unzipping, it can be determined whether the file is a system-level dependency library or framework file, or other basic file used to build the application's runtime environment. All files that are not basic files can then be packaged into the application package. Furthermore, the selected basic files can be used to create a base image.

[0041] For ease of understanding, the terms "container" and "image" are explained below: A file image can be understood as a form of file storage; a file image is a copy of data on one disk that exists exactly on another disk. A container is a running instance of a file image. In other words, copying a source file creates a file image, and instantiating that file creates a container. Containers can be started, stopped, and deleted.

[0042] S403, determine whether the server stores a historical version of the application package with the application identifier.

[0043] Historical versions of application packages deployed within the secure interactive environment are stored on any storage device located outside the secure interactive environment. For example, if a credit inquiry module is deployed within the secure interactive environment, then historical versions of that credit inquiry module's application package are stored outside the secure interactive environment.

[0044] The storage device may be a storage module on the aforementioned server, or a remote storage device of the server, such as a remote database or any other storage device located outside the secure interactive environment. This application does not limit it.

[0045] The server uses the application identifier to check whether a historical version of the application package with that application identifier is stored on the server, and uses the search results to determine whether a historical version of the application package with that application identifier is stored outside the secure interaction environment.

[0046] S404, if so, compare the application package with the historical version of the application package to determine the change package.

[0047] If historical versions of the application package with the aforementioned application identifier are stored outside the secure interaction environment, the server compares the latest application package (i.e., the application package extracted from the latest released file package) with the historical version application package to determine the change package. This change package characterizes the changes made to the latest application package relative to the historical version application package. Compared to the file package containing the latest released application, this change package has a smaller data size.

[0048] S405 sends the change package, application identifier, version number, and historical version number of the historical version application package to the container management system in the secure interactive environment, so that the container management system can restore the application package according to the change package, application identifier, and historical version number, and store the application package in the secure interactive environment according to the version number and application identifier, and send the first response information to the server after storage is completed.

[0049] Once the server identifies the change package, it can send the change package, the application identifier corresponding to the change package, the version number corresponding to the change package, and the historical version number of the application packages that participated in identifying the change package to the container management system within the secure interactive environment.

[0050] For example, the application identifier and version number corresponding to the change package can be written into the change package name, and the application identifier and version number can be transmitted to the secure interactive environment along with the change package.

[0051] After receiving the change package, application identifier, version number, and historical version number of the historical application package sent by the server, the container management system within the secure interactive environment reconstructs the application package corresponding to the change package based on the change package, application identifier, and historical version number. Then, the container management system stores the reconstructed application package within the secure interactive environment according to the version number and application identifier, so that the application package can be located using the version number and application identifier when needed later. After completing the storage of the application package, the container management system sends a first response message to the server to notify the server that the data it sent has been successfully stored.

[0052] S406 After receiving the first response information sent by the container management system, the application package is stored in the server according to the version number and application identifier. The application package is then deployed in the secure interactive environment by sending a preset instruction. This completes the application deployment.

[0053] In one example, after receiving the first response from the container management system, the server can confirm that the container management system has already stored a certain version of the application package within the secure interactive environment. At this point, the server will store the application package locally according to its version number and application identifier. This ensures that a certain version of the application package is stored both inside and outside the secure interactive environment. It should be noted that application packages already stored on the server can be considered historical versions, and similarly, application packages already stored within the secure interactive environment can also be considered historical versions. Under this premise, when the server obtains a new version of an application package, it can determine whether a historical version of the application package exists within the secure interactive environment by checking if the server stores it. If a historical version of the application package is stored both inside and outside the secure interactive environment, a change package can be created based on that historical version, allowing the new version of the application package to be restored within the secure interactive environment. In one instance, after receiving the first response information from the container management system, the server sends a container image creation instruction to the container management system. The container management system obtains the application package corresponding to the application identifier and version number in the container image creation instruction, as well as the base image on which the application package depends at runtime, within a secure interactive environment. It then creates a container image from the application package and the base image, stores the container image according to the application identifier and version number within the secure interactive environment, and sends a second response information to the server after storage is complete.

[0054] After receiving the second response information sent by the container management system, the server sends a container deployment instruction to the container management system. The container management system obtains the container image corresponding to the application identifier and version number in the container deployment instruction within the secure interactive environment, and runs the container image in the container cluster within the secure interactive environment to complete the container deployment, thereby completing the application deployment.

[0055] In one example, after receiving the first response from the container management system within the secure interactive environment, the server can determine that the data sent in the previous step has been stored within the secure interactive environment. The server can then respond to container image creation commands triggered by developers or other automated processes, sending container image creation instructions to the container management system within the secure interactive environment. These instructions include the application identifier and version number.

[0056] Upon receiving the container image creation instruction, the container management system parses the application identifier and version number from the instruction. Using this identifier and version number, it then retrieves the application package corresponding to the specified application identifier and version number, as well as the corresponding base image, from the various versions of application packages and base images stored within the secure interactive environment. This base image includes the essential files / libraries that the application package depends on at runtime.

[0057] Container management systems can use container building tools (such as Docker) to create container images from pulled application packages and base images. Then, the application identifier, version number, and container image are stored in a structured manner in an image repository within a secure interactive environment. After storage is complete, a second response is sent to a server outside the secure interactive environment to notify the server that the container image creation is complete within the secure interactive environment.

[0058] After receiving the second response information, the server can generate a container deployment instruction at any subsequent time when application deployment needs to be carried out in a secure interactive environment, and write the application identifier and version number of the application to be deployed in the instruction.

[0059] The container management system receives a container deployment instruction from the server, parses the application identifier and version number from the instruction, and then searches for the container image that corresponds to both the application identifier and version number from the container images stored in the image repository. The container orchestration tool in the container management system can then send the container image to at least one node in the container cluster, where the node runs the container image, thus completing the container deployment of the application, i.e., completing the deployment of the application in a secure interactive environment.

[0060] In one embodiment, after receiving the first response information returned by the container management system, the server may also directly send a container creation and deployment instruction to the container management system. The container management system, in response to the container creation and deployment instruction, completes the container image creation in the secure interactive environment and then directly runs the container image in the secure interactive environment to complete the container deployment.

[0061] In summary, this application proposes an application deployment method. The method involves a server set up outside the secure interactive environment extracting an application package from the file package of the latest released application. If the server stores a historical version of the application package corresponding to this application package, the method compares the current application package with the historical version to determine a modified package. The modified package, along with the application identifier of the file package, the version number of the file package, and the historical version number of the aforementioned historical version application package, are sent to a container management system within the secure interactive environment. The container management system reconstructs the application package based on the modified package, the application identifier, and the historical version number, and stores the application package within the secure interactive environment according to the application identifier and version number, and also sends... The first response information is sent to the server outside the secure interactive environment. After receiving the first response information, the server stores the application package according to the version number and application identifier, thereby realizing the joint storage of a certain version of the application package inside and outside the secure interactive environment. This allows the server to create a change package using the historical version of the application package stored both inside and outside the secure interactive environment when it receives a new version of the application package. This enables the container management server to successfully restore the application package based on the change package and the corresponding historical version of the application package. When the container management system receives the preset instructions sent by the server, it can complete the container deployment within the secure interactive environment based on the application package and base image stored within the secure interactive environment. Application version updates typically involve upgrading and optimizing business logic code, while the underlying environment code upon which the business logic code depends remains unchanged. Therefore, this application allows a server outside the secure interactive environment to extract the application package containing the necessary business functions from the latest application file package each time a new version is released. This application package covers all the changed files involved in the application version update. Only the changed package, determined by comparing this application package with historical versions, needs to be transferred to the secure interactive environment. The container management system can then reconstruct the new version application package based on this changed package and the historical version application package pre-stored within the secure interactive environment. This allows for container deployment of the application based on the new version application package and the pre-stored base image within the secure interactive environment. In this way, when deploying the application container, cross-domain data transfer between the secure interactive environment and the application can be reduced; only the changed package corresponding to the new version needs to be transferred. This reduces the data transfer pressure on limited bandwidth, mitigates the risk of data loss during transmission, and improves data transfer efficiency.

[0062] In one embodiment, after "determining whether the server stores a historical version application package with an application identifier" in step S403 above, the method also includes the case where the server does not store a historical version application package with an application identifier.

[0063] Figure 5 A flowchart illustrating an application deployment method as another exemplary embodiment of this application.

[0064] S501 retrieves the file package of the latest released application, the application identifier of the file package, and the version number of the file package.

[0065] S502, extract the application package used to implement business functions from the file package.

[0066] S503 determines whether the server stores a historical version of the application package with the application identifier.

[0067] S504, if so, compare the application package with the historical version of the application package to determine the changed package, and store the application package outside the secure interactive environment according to the version number and application identifier.

[0068] S505 sends the change package, application identifier, version number, and historical version number of the historical version application package to the container management system in the secure interactive environment, so that the container management system can restore the application package according to the change package, application identifier, and historical version number, and store the application package in the secure interactive environment according to the version number and application identifier. After storage is completed, the first response information is sent to the server.

[0069] S506, if not, then create a base image based on the files in the package other than the application package.

[0070] S507 sends the application package, base image, application identifier, and version number to the container management system, so that the container management system stores the application package according to the application identifier and version number in a secure interactive environment, stores the base image according to the application identifier, and sends the first response information to the server after storage is completed.

[0071] S508: After receiving the first response information sent by the container management system, the application package is stored in the server according to the version number and the application identifier. The container management system is controlled to perform container deployment of the application in the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends, thereby completing the application deployment.

[0072] It should be noted that steps S501-S505 are the same as S401-S405 in the above embodiments. Please refer to the description of S401-S405 in the above embodiments. They will not be repeated here.

[0073] In this embodiment, if the server does not store a historical version of the application package corresponding to the latest released application package, then the package can be confirmed as the first release version of the application, and it can be confirmed that the application needs to be deployed for the first time in a secure interactive environment. In this case, the server needs to extract the application package and the basic files that the application package depends on from the package, create a base image from these basic files, and then upload the base image and the application package separately to the container management system.

[0074] The application identifier and version number can be written in the application package name, and the application identifier can be written in the base image name.

[0075] Upon receiving an application package, the container management system can parse the application identifier and version number from it. Then, it stores the application identifier, version number, and application package in a structured manner within a secure interactive environment, such as in the container management system's file storage system. Similarly, upon receiving a base image, the container management system can parse the application identifier from it. Then, it stores the application identifier and base image in a structured manner within a secure interactive environment, such as in the container management system's image repository.

[0076] like Figure 1 As shown, after the container management system completes the storage of the application package and base image, it sends a first response message to the server to notify the server that the uploaded data has been successfully stored.

[0077] The server then executes step S508, storing the application package locally according to its version number and application identifier, and controlling the container management server to create and deploy containers by sending preset instructions. For details of the implementation process, please refer to the description of step S406 above; it will not be repeated here.

[0078] In this embodiment, during the initial deployment of the application, the application package is broken down into an application package and a base image. The base image consists of the fundamental files / libraries that the application package relies on to implement business functions at runtime. Therefore, even if the content of the application package changes as business functions evolve, the content of the base image remains unchanged. Thus, when deploying a new version of the application, only the change information of the application package needs to be transmitted from outside the secure interactive environment. The container management system within the secure interactive environment can restore the application package based on the change information and, combined with the base image uploaded to the secure interactive environment by the server during the initial deployment of the application, create a container image. This allows for the reuse of the base image multiple times, reducing the amount of cross-domain data transmission during the deployment of new versions of the application. Furthermore, during the initial deployment of the application, the data volume of a single transmission can be reduced by transmitting the application package and the base image separately. Overall, this reduces the risk of data loss during cross-domain data transmission and improves the efficiency of application deployment within the secure interactive environment.

[0079] In one embodiment, such as Figure 6 As shown, step S404 above, "comparing the application package with historical version application packages to determine the change package," may include the following steps: S601, calculate the first hash value of each file in the application package.

[0080] Unzip the application package and call the MD5 hash calculation algorithm to calculate the first hash value of each file.

[0081] For example, the hashlib library can be used to calculate the first hash value for each file, or the MessageDigest class tool can be used to calculate the first hash value for each file.

[0082] S602, calculate the second hash value of each file in the historical version of the application package.

[0083] Unzip the historical version application package and call the MD5 hash calculation algorithm to calculate the second hash value for each file.

[0084] When determining the change package, the application package closest to the latest release version number can be selected from the historical version application packages identified by the application identifier. The second hash value of each file in the historical version application package is calculated, and all the second hash values ​​corresponding to the historical version application package are compared with the first hash value in step S601 above to determine the change package.

[0085] S603, compare the first hash value with the second hash value one by one. If there is a second hash value with the same value as the first hash value, then record the file corresponding to the first hash value in the list of unchanged files.

[0086] Each first hash value corresponding to the application package is compared with each second hash value corresponding to the historical version of the application package. If the value of a first hash value is the same as the value of any second hash value, the file corresponding to the first hash value is recorded in the list of unchanged files. For example, the name or identifier of the file is recorded in the list of unchanged files.

[0087] S604 If there is no second hash value that is the same as the first hash value, then the file corresponding to the first hash value is determined to be the changed file.

[0088] If, after comparing hash values, a first hash value does not have a second hash value with the same value, then the file corresponding to that first hash value is identified as the changed file.

[0089] S605 packages the list of unchanged files and the changed files into a change package.

[0090] Package all the changed files and the list of unchanged files together into a change package.

[0091] This embodiment compares the hash values ​​of various files to compare the application package with historical versions of the application package. Each hash value uniquely identifies a file. Therefore, this embodiment can accurately filter out which files in the latest released application package have been changed and which have remained unchanged compared to historical versions. Unchanged files are recorded in an unchanged file list, and then the changed files and the unchanged file list are packaged together into a change package. In this way, by transmitting the change package to the container management system within the secure interactive environment, the changed files in the latest version of the application package are uploaded to the secure interactive environment. The container management system can then retrieve the unchanged files of the latest version of the application package from historical versions stored within the secure interactive environment based on the unchanged file list. This reduces the amount of data transferred across domains while ensuring that the latest version of the application package can be accessed within the secure interactive environment.

[0092] In addition, to implement the above embodiments, this application also proposes an application deployment method for a container management system in a secure interactive environment.

[0093] The steps implemented by the container management system set up in a secure interactive environment during application deployment are now described in detail.

[0094] like Figure 7 The diagram shown is a flowchart illustrating an application deployment method, which is another exemplary embodiment of this application.

[0095] The deployment method for this application may include the following steps: S701 receives a change package, application identifier, version number, and historical version number of a historical version application package sent by a server outside the secure interactive environment. The change package is determined by the server first decomposing the application package used to implement business functions from the file package of the latest released application, and then comparing the application package with the historical version application package of the application identifier. The application identifier is the application identifier of the file package.

[0096] The container management system within the secure interactive environment receives data sent by servers outside the secure interactive environment.

[0097] If the received data contains a change package, it can be confirmed that this data is uploaded by the server for the file package of the latest released application. In this case, the application identifier, version number (i.e., the latest version number), and historical version numbers of historical application packages can be further parsed from the received data.

[0098] For details on how the server determines the change package, and the specific implementation process involving the change package, application identifier, version number, and historical version application package, please refer to the above description of the application deployment method implementation process on the server, which will not be repeated here.

[0099] S702, based on the change package, application identifier, and historical version number, restore the application package, and store the application package in a secure interactive environment according to the version number and application identifier. After storage, send a first response message to the server, so that after receiving the first response message, the server stores the application package according to the version number and application identifier and sends a preset instruction.

[0100] S703, in response to a preset instruction sent by the server, performs container deployment of the application within the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends at runtime, thereby completing the application deployment.

[0101] In one embodiment, the preset instructions may include, but are not limited to, container image creation instructions and container deployment instructions, etc.

[0102] The container management system receives container creation instructions sent by the server and obtains the application package corresponding to the application identifier and version number in the container image creation instructions, as well as the base image that the application package depends on at runtime, within a secure interactive environment. Container management systems create container images from application packages and base images; The container management system stores container images according to application identifiers and version numbers within a secure interactive environment; and sends a second response message to the server after storage is complete. The container management system receives container deployment instructions sent by the server, obtains the container image corresponding to the application identifier and version number in the container deployment instructions within a secure interactive environment, and runs the container image in the container cluster within the secure interactive environment to complete the container deployment.

[0103] In one embodiment, the application deployment method may further include the following steps: receiving an application package, a base image, an application identifier, and a version number sent by a server, wherein the base image is created by the server based on other files in the file package besides the application package; storing the application package in a secure interactive environment according to the application identifier and the version number, and storing the base image according to the application identifier; and sending a first response message to the server after storage is completed.

[0104] In some embodiments, step S702 above, "restoring the application package based on the change package, application identifier, and historical version number," may include the following steps: Parse the list of unchanged files and the changed files from the change package; obtain the historical version application package corresponding to the application identifier and historical version number in a secure interactive environment; extract the unchanged files corresponding to the list of unchanged files from the historical version application package; and package the unchanged files and the changed files into an application package.

[0105] It should be noted that the specific implementation method of the application deployment method in the container management system can be referred to the above description of the implementation process of the application deployment method in the server, and will not be repeated here.

[0106] In summary, this application proposes an application deployment method. The method involves a server set up outside the secure interactive environment decomposing an application package from the file package of the latest released application. If the server outside the secure interactive environment stores a historical version of the application package corresponding to this application package, the method compares the current application package with the historical version to determine a modified package. The modified package, along with the application identifier of the file package, the version number of the file package, and the historical version number of the aforementioned historical version application package, are sent to a container management system within the secure interactive environment. The container management system reconstructs the application package based on the modified package, the application identifier, and the historical version number, and stores the application package within the secure interactive environment according to the application identifier and version number. This allows the container management system to respond to preset instructions sent by the server and complete container deployment within the secure interactive environment based on the application package and base image stored within the secure interactive environment. Application version updates typically involve upgrading and optimizing business logic code, while the underlying environment code upon which the business logic code depends remains unchanged. Therefore, this application allows a server outside the secure interactive environment to extract the application package containing the necessary business functions from the latest application file package each time a new version is released. This application package covers all the changed files involved in the application version update. Only the changed package, determined by comparing this application package with historical versions, needs to be transferred to the secure interactive environment. The container management system can then reconstruct the new version application package based on this changed package and the historical version application package pre-stored within the secure interactive environment. This allows for container deployment of the application based on the new version application package and the pre-stored base image within the secure interactive environment. In this way, when deploying the application container, cross-domain data transfer between the secure interactive environment and the application can be reduced; only the changed package corresponding to the new version needs to be transferred. This reduces the data transfer pressure on limited bandwidth, mitigates the risk of data loss during transmission, and improves data transfer efficiency.

[0107] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0108] To implement the above embodiments, this application also proposes a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the application deployment method described in any of the above embodiments.

[0109] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0110] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0111] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. An application deployment method, characterized in that, The method is applied to a server set up outside the secure interaction environment, which provides a secure and controllable application interaction environment for participants who have disconnected from direct connections; the method includes: Obtain the file package of the latest released application, the application identifier of the file package, and the version number of the file package; Extract the application package used to implement business functions from the file package; Determine whether the server stores a historical version of the application package with the application identifier; If so, the application package is compared with the historical version application package to determine the change package; The change package, the application identifier, the version number, and the historical version number of the historical version application package are sent to the container management system in the secure interactive environment, so that the container management system restores the application package according to the change package, the application identifier, and the historical version number, and stores the application package in the secure interactive environment according to the version number and the application identifier. After storage is completed, the first response information is sent to the server. After receiving the first response information sent by the container management system, the application package is stored in the server according to the version number and the application identifier. The container management system is controlled by sending a preset instruction to deploy the application in a container within the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends at runtime, thereby completing the application deployment.

2. The method according to claim 1, characterized in that, After determining whether the server stores a historical version of the application package with the application identifier, the method further includes: If not, the base image is created based on the files in the file package other than the application package; The application package, the base image, the application identifier, and the version number are sent to the container management system, so that the container management system stores the application package according to the application identifier and the version number in a secure interactive environment, and stores the base image according to the application identifier. After storage is completed, the first response information is sent to the server.

3. The method according to claim 1, characterized in that, The step of comparing the application package with the historical version application package to determine the changed package includes: Calculate the first hash value of each file in the application package; Calculate the second hash value of each file in the historical version application package; The first hash value is compared with the second hash value one by one. If there is a second hash value with the same value as the first hash value, the file corresponding to the first hash value is recorded in the list of unchanged files. If there is no second hash value that is the same as the first hash value, then the file corresponding to the first hash value is identified as the changed file; Package the list of unchanged files and the changed files into the change package.

4. The method according to any one of claims 1-3, characterized in that, The preset instructions include container image creation instructions and container deployment instructions. The process of controlling the container management system to perform container deployment of the application within the secure interactive environment based on the application package stored within the secure interactive environment and the base image upon which the application package depends at runtime, thereby completing the application deployment, includes: Send the container image creation instruction to the container management system, so that the container management system can obtain the application package corresponding to the application identifier and version number in the container image creation instruction, as well as the base image on which the application package depends at runtime, in a secure interactive environment, and create a container image from the application package and the base image. Store the container image in the secure interactive environment according to the application identifier and the version number, and send a second response message to the server after storage is completed. After receiving the second response information sent by the container management system, the container deployment instruction is sent to the container management system so that the container management system can obtain the container image corresponding to the application identifier and version number in the container deployment instruction in the secure interactive environment, and run the container image in the container cluster in the secure interactive environment to complete the application deployment.

5. The method according to any one of claims 1-3, characterized in that, The server includes the container build server of any of the participating parties.

6. An application deployment method, characterized in that, The method is applied to a container management system set up within a secure interaction environment, which provides a secure and controllable application interaction environment for participants who have disconnected from direct connections; the method includes: The system receives a change package, application identifier, version number, and historical version number of a historical version application package from a server outside the secure interaction environment. The change package is determined by the server first extracting the application package used to implement business functions from the file package of the latest released application, and then comparing the application package with the historical version application package identified by the application identifier. The application identifier is the application identifier of the file package, and the version number is the version number of the file package. Based on the change package, the application identifier, and the historical version number, the application package is restored, and stored in a secure interactive environment according to the version number and the application identifier. After storage, a first response message is sent to the server, so that after receiving the first response message, the server stores the application package according to the version number and the application identifier, and sends a preset instruction. In response to the preset instruction sent by the server, the application is deployed in a container within the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends at runtime, thereby completing the application deployment.

7. The method according to claim 6, characterized in that, The method further includes: The server receives the application package, the base image, the application identifier, and the version number, wherein the base image is created by the server based on other files in the file package besides the application package. Within a secure interactive environment, the application package is stored according to the application identifier and the version number, and the base image is stored according to the application identifier. After storage is completed, the first response information is sent to the server.

8. The method according to claim 6, characterized in that, The step of restoring the application package based on the changed package, the application identifier, and the historical version number includes: Parse the list of unchanged files and the changed files from the change package; Within a secure interactive environment, obtain the historical version application package that corresponds to both the application identifier and the historical version number; Extract the unchanged files corresponding to the list of unchanged files from the historical version application package; Package the unmodified files and the modified files into the application package.

9. The method according to claim 6, characterized in that, The preset instructions include container image creation instructions and container deployment instructions. In response to the preset instructions sent by the server, the application is deployed in a container within the secure interactive environment based on the application package stored in the secure interactive environment and the base image on which the application package depends at runtime. This completes the application deployment, including: Receive the container image creation instruction sent by the server, and obtain the application package corresponding to the application identifier and version number in the container image creation instruction, as well as the base image on which the application package depends at runtime, within a secure interactive environment; The application package and the base image are combined to create a container image; Within a secure interactive environment, the container image is stored according to the application identifier and the version number; and after storage is completed, a second response message is sent to the server. The system receives a container deployment instruction sent by the server, obtains the container image corresponding to the application identifier and version number in the container deployment instruction within a secure interactive environment, and runs the container image in the container cluster within the secure interactive environment to complete the application deployment.

10. An application deployment system, characterized in that, The application deployment system includes a server set up outside the secure interactive environment and a container management system set up inside the secure interactive environment; The server is used to execute the application deployment method according to any one of claims 1-5; The container management system is used to execute the application deployment method according to any one of claims 6-9; The server and the container management system communicate with each other through an audit gateway.