A remote differential upgrade deployment method for a fusion terminal application software
By using the differential upgrade method, the problems of high transmission traffic and low upgrade efficiency in the remote upgrade and deployment of integrated terminal application software in the distribution area were solved, realizing an efficient and reliable upgrade process and improving the deployment success rate of terminal application software and user experience.
Patent Information
- Application Number
- CN202410887802.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-03
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-07-03
AI Technical Summary
Traditional remote upgrade and deployment methods for integrated terminal application software in distribution networks suffer from problems such as large data transmission volume, long upgrade time, and low deployment efficiency. In particular, when the network environment is unstable or the terminal storage space is limited, upgrade failures are likely to occur, affecting user experience and system stability.
The differential upgrade method is adopted. By obtaining the current application software version information of the terminal, a differential upgrade package is created, and the difference is extracted using a differential algorithm to generate a compressed differential upgrade package. Combined with compression tools and verification information, the differential upgrade package is transmitted and executed, ensuring the integrity and correctness of the data packets.
It significantly reduces network traffic and storage space requirements, improves upgrade speed and success rate, and reduces the risk of upgrade failure due to network instability and storage space limitations.
Smart Images

Figure CN118778991B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent converged terminal technology for distribution network IoT distribution areas, and in particular to a method for remote differential upgrade and deployment of converged terminal application software. Background Technology
[0002] The intelligent converged terminal for power distribution areas integrates multiple functions such as monitoring, protection, control, and IoT. It can interconnect with other intelligent devices within the distribution area and is one of the key pieces of equipment in the construction of new power systems. During the construction of new power systems, the edge computing capabilities of the converged terminal provide a scientific basis for the comprehensive digitalization, intelligentization, and automation of power system dispatching and decision-making, effectively improving the intelligent management level of power equipment and enhancing the operational efficiency and reliability of the distribution network.
[0003] Application software is the carrier of the specific business logic and functions of the smart converged terminal in the distribution area. In order to continuously meet the growing needs of users, ensure the stable operation of the smart converged terminal, and adapt to the development of new business scenarios, continuous upgrading and iteration of the terminal application software has become crucial. As the exploration of the construction of new power systems continues to deepen, the number of distribution area converged terminals connected to the grid is constantly increasing, which makes the remote upgrading and deployment of a large number of terminal application software a huge challenge.
[0004] With the rapid development of information technology, the development and deployment methods of converged terminal application software are also constantly evolving. In recent years, the number of converged terminal application software developed using emerging technologies such as low-code and cloud orchestration has been increasing, and these software programs have made significant progress in terms of feature richness and user-friendliness. However, as software functions become increasingly enhanced and complex, the file size of application software packages is also gradually increasing, which poses certain difficulties for the updating and upgrading of application software packages.
[0005] Currently, most traditional remote upgrades and deployments of integrated terminal application software in distribution networks adopt a full upgrade approach. During a full upgrade, the cloud server needs to send the complete software package to the terminal, overwriting all content from the old version. However, this method has many drawbacks, such as high data transfer volume, long upgrade time, and low deployment efficiency. Especially when the network environment is unstable (e.g., in remote mountain villages), the upgrade package file is too large, or the terminal storage space is limited, a full upgrade can lead to upgrade failure, impacting user experience and system stability. Summary of the Invention
[0006] In view of this, the purpose of this invention is to provide a remote differential upgrade and deployment method for converged terminal application software, which is applicable to the upgrade and iterative deployment of intelligent converged terminal application software in transformer substations that are already in operation.
[0007] To achieve the above objectives, the present invention adopts the following technical solution: a method for remote differential upgrade and deployment of converged terminal application software, comprising the following steps:
[0008] Step 1: Obtain the current application software deployment package version information of the terminal;
[0009] Step 2: Create the executable file for the differential upgrade package;
[0010] Step 3: Download the differential upgrade package to the terminal in batches using the upgrade management solution;
[0011] Step 4: The terminal executes the differential upgrade package;
[0012] Step 5: Remotely verify the differential upgrade results.
[0013] In a preferred embodiment, the version information of the terminal application software deployment package in step 1 is accessed remotely through the upgrade management main station, or summarized offline based on the terminal upgrade records.
[0014] In a preferred embodiment, in step 2, multiple different differential deployment packages are created according to the version of the terminal application software deployment package; a single differential deployment package is made into an independent differential upgrade package, or multiple differential deployment packages based on different prior versions are made into a differential upgrade package. The upgrade execution process matches the prior version according to the header information of the differential package to achieve upgrade compatibility based on multiple prior versions.
[0015] In a preferred embodiment, a differential algorithm is used to extract the differences between the two deployment package versions, and a compression tool is used to compress the difference data to finally generate a differential upgrade package. After generating the differential upgrade package, the header information of the differential package needs to be concatenated. The header information of the differential package includes the file size of the old and new deployment packages, the MD5 checksum, and the CRC checksum to ensure the integrity and correctness of the data packets.
[0016] In a preferred embodiment, after the differential upgrade package is generated, it needs to be packaged into an executable differential upgrade package in the terminal system. The differential upgrade package is composed of an entry shell program, N differential deployment packages, and differential tool programs and compression tool programs required to restore the new deployment package, where N=0,1,2,…; the entry shell program is appended to the beginning of the file to ensure that the file itself can be directly started and run in the terminal system.
[0017] In a preferred embodiment, the number of differential deployment packages included in a differential upgrade package is determined during the upgrade plan development phase, and a trade-off needs to be made based on the number of different versions currently running on the field terminals and the size of the differential upgrade package file. Each differential deployment package is compatible with one previous old version full application deployment package. Multiple differential deployment packages are integrated into one differential upgrade execution package, that is, the differential upgrade execution package can be upgraded based on multiple previous application deployment package versions.
[0018] In a preferred embodiment, step 3 specifically involves customizing a master station upgrade plan on the upgrade management master station and distributing a specified differential upgrade package to the terminal through the IoT management platform; the master station upgrade plan selects the set of terminals to be upgraded and the corresponding upgrade package file to be distributed; the master station upgrade plan selects a differential upgrade package, and the associated set of terminals is filtered according to business scenario conditions, namely, filtered by the pre-installed software version, filtered by the deployment area, and whitelisted by the terminal nameplate information.
[0019] In a preferred embodiment, step 4 specifically includes: after the differential upgrade package is downloaded and transmitted, the main station issues a command to trigger the execution of the differential upgrade package; the differential upgrade package is automatically decompressed, a differential deployment package is matched according to the current software deployment package version of the terminal, a new deployment package is generated and verified, the verification content includes file size, MD5 digest of the entire file and CRC check; after the verification is successful, the new deployment package file is executed to start the upgrade; if the upgrade is successful, the old deployment package file is deleted, otherwise the new deployment package file is deleted.
[0020] In a preferred embodiment, step 4 specifically includes the following steps:
[0021] Step 41: Restore the concatenated file. The entry shell program first splits, decompresses, and restores the concatenated file.
[0022] Step 42: Obtain the current deployment package information on the terminal, such as version, file size, file CRC checksum, and file MD5 value;
[0023] Step 43: The terminal matches the differential deployment package. Based on the obtained current deployment package information of the terminal, the corresponding differential deployment package in the newly downloaded differential upgrade package is selected. The old deployment package information recorded in the header of each differential deployment package is compared with the current deployment package information of the terminal. If the match is successful, proceed to step 44.
[0024] Step 44: Generation of the new application deployment package. Based on the differential deployment package matched in Step 43 and the current deployment package inside the terminal, a new application deployment package is generated. The process of restoring and generating the new application deployment package is automatically completed by the entry shell script. The entry shell script first calls the compression tool to decompress the matched differential deployment package, and then uses the differential tool to synthesize a new application deployment package based on the current deployment package of the terminal and the decompressed differential deployment package. The differential tool and compression tool in this process must be completely consistent with the algorithm of the tool used to create the differential deployment package.
[0025] Step 45: Verify the synthesized new application deployment package; the entry shell script verifies the synthesized new deployment package based on the information of the old and new deployment packages recorded in the header of the differential deployment package; it compares the new synthesized deployment package file size, MD5 hash value, and CRC check value; if the verification is successful, the new application deployment package is granted execution permissions and started running, that is, the new application deployment package upgrade begins.
[0026] Step 46: File cleanup and recovery. If the new application deployment package is successfully executed, the old application deployment package will be deleted. If the execution fails, the new application deployment package file will be deleted, and the old deployment package file will be used for recovery.
[0027] In a preferred embodiment, step 5 specifically includes the upgrade management master station remotely querying the deployment package version, application software (APP) version, and container version information of the upgraded terminal to verify the upgrade result.
[0028] Compared with existing technologies, this invention has the following advantages: 1. Low transmission traffic: Differential upgrades only transmit the difference portion, significantly reducing network traffic consumption and lowering costs. 2. Fast upgrade speed: Due to the small amount of data transmitted, differential upgrades require less time for transmission and merging, improving upgrade efficiency. 3. Saves terminal storage space: Differential packets are typically much smaller than full upgrade packets, thus occupying less storage space on terminal devices. 4. High deployment success rate: Differential upgrades reduce the risk of upgrade failures due to network instability, terminal storage space limitations, etc., improving the deployment success rate. Attached Figure Description
[0029] Figure 1 This is the overall implementation process of differential upgrade according to a preferred embodiment of the present invention;
[0030] Figure 2 This is a preferred embodiment of the distribution radio area convergence terminal service system of the present invention;
[0031] Figure 3 This is a preferred embodiment of the converged terminal application deployment package of the present invention;
[0032] Figure 4This is the generation process of the differential deployment package in a preferred embodiment of the present invention;
[0033] Figure 5 This is the executable differential upgrade package composition of a preferred embodiment of the present invention;
[0034] Figure 6 This is a flowchart illustrating the terminal execution of the differential upgrade package according to a preferred embodiment of the present invention. Detailed Implementation
[0035] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0036] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0037] It should be noted that the terminology used herein is for the purpose of describing particular implementations only and is not intended to limit the exemplary implementations according to this application; as used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise; furthermore, it should be understood that when the terms “comprising” and / or “including” are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or combinations thereof.
[0038] A method for remote differential upgrade and deployment of converged terminal application software, referenced Figure 1-6 This includes the following steps:
[0039] Step 1: Obtain the current application software deployment package version information of the terminal.
[0040] Differential upgrades rely on previous versions. To generate accurate differential packages, it's necessary to precisely record information related to the current old version of the software package on the terminal devices. For a large number of terminals deployed in the field, there may be multiple different application software deployment package versions. The version information of the terminal application software deployment packages can be remotely accessed through the upgrade management main station or summarized offline based on terminal upgrade records. For terminals where the application software deployment package version information cannot be obtained, the traditional full upgrade process will continue.
[0041] A terminal application deployment package is an executable file based on a terminal operating system environment, designed to simplify complex operations such as installing, updating, and upgrading business containers, business applications (APPs), and parameter configuration files on the terminal system. The deployment package contains necessary container image files, application software installers, dependency libraries, configuration files, and other information. Figure 3As shown, the terminal application software deployment package consists of two parts: an entry shell execution script and a binary compressed package. The binary compressed package typically includes deployment and installation scripts, container image files, application (APP) packages, APP configuration files, terminal asset database files, and other auxiliary execution tools.
[0042] The functions of each file in the deployment package are as follows:
[0043] Entry shell script: The entry shell script at the beginning of the deployment package file is used to separate the binary compressed package in the deployment package, decompress it, and then start the deployment installation script to run.
[0044] Deployment and installation script: Located in the deployment package's binary compressed file, this script is used to implement the specific terminal application software deployment process. This includes operations such as terminal device information verification, container installation, application software (APP) installation, system parameter configuration, and APP configuration.
[0045] Container image file: This image file serves as the input dependency for creating the container environment. The actual container creation logic is implemented by the deployment and installation script. Application software (APP) needs to be installed in a container; therefore, a container must be deployed before installing the application software.
[0046] Application (APP) packages: Application (APP) packages are the installation files for application software. A deployment package typically contains multiple application (APP) packages. The deployment and installation script controls the installation of each APP package into its corresponding business container.
[0047] APP configuration file: The configuration file containing the input parameters that the application software depends on to run.
[0048] Asset Database File: The asset database file is a centralized storage file for terminal device information. It contains asset information for all terminal devices in the upgrade plan, such as terminal nameplate information and main module information. This information is crucial for verifying the legitimacy and compatibility of the terminal devices. Terminal device legitimacy verification is an automated process controlled by the deployment and installation script. This script performs a series of operations before the upgrade to ensure the legitimacy and compatibility of the terminal devices. The deployment and installation script first queries the current terminal information against the asset records in the database using software commands. If the set key information fields (such as device model, serial number, module version, etc.) match successfully, the terminal is considered legitimate and eligible for upgrade.
[0049] Executable tools: Tools required during deployment, such as SQLite database tools and MD5 checksum programs.
[0050] Step 2: Create the differential upgrade package executable file
[0051] Multiple differential deployment packages are created based on the version of the software deployment package. A single differential deployment package can be made into an independent upgrade package, or multiple differential deployment packages based on different predecessor versions can be combined into a single differential upgrade package. During the upgrade process, the predecessor version is matched based on the header information of the differential package, achieving upgrade compatibility across multiple predecessor versions. In a certain field, the full application deployment package contained a container image file of approximately 50MB, an APP file collection of approximately 30MB, and other data configuration files and utility software, reaching a total size of 100MB. The differential deployment package created using the above method was only 10% of the original size, with a file size of only about 8MB, significantly reducing the transmission time required for upgrades and improving the efficiency of batch remote terminal upgrades.
[0052] Step 3: Download the differential upgrade package to the terminal in batches using the upgrade management solution.
[0053] Administrators customize upgrade plans on the main upgrade management platform and then distribute specified differential upgrade packages to the terminals through the IoT management platform. The main upgrade plan on the main platform primarily involves selecting the set of terminals to be upgraded and the corresponding upgrade package files. For example, the plan may allow selection of specific differential upgrade packages, and the associated terminal set is filtered based on business scenario conditions, such as filtering by pre-installed software version, by deployment region, or by whitelisting based on terminal nameplate information.
[0054] After the differential deployment package is generated, it needs to be packaged into an executable differential upgrade package for the terminal system. The differential upgrade package consists of an entry shell program, N (n=0,1,2,…) differential deployment packages, and differential and compression tools required to restore the new deployment package. The entry shell program is appended to the very beginning of the file to ensure that the file itself can be directly launched and run on the terminal system. The specific composition of the completed executable differential upgrade package file is as described above. Figure 4 As shown. The number of differential deployment packages included in an upgrade package is determined during the upgrade plan development phase, requiring a trade-off based on the number of different versions currently running on the field terminals and the size of the differential upgrade package files. Each differential deployment package is compatible with one previous old version's full application deployment package. Multiple differential deployment packages are integrated into a single differential upgrade execution package, meaning that this differential upgrade execution package can upgrade based on multiple previous application deployment package versions.
[0055] Actual Results: In one site, the full application deployment package was approximately 100MB. Now, an application upgrade is being performed on over 2000 terminals already deployed in a region. The main site query revealed three different older deployment packages for these terminals. Therefore, the upgrade plan filters converged terminals by deployment region, covering all converged terminals deployed in that region. The corresponding upgrade package is a single differential upgrade package created based on the three older deployment packages. The resulting differential upgrade package executable file is approximately 25% larger than the original, or 25MB.
[0056] Step 4: Execute the differential upgrade package on the terminal.
[0057] Once the differential upgrade package download and transmission are complete, the main station issues a command to trigger its execution. The differential upgrade package is automatically decompressed, and a differential deployment package is matched to the current software deployment package version on the terminal. A new deployment package is then generated and verified, including file size, MD5 hash of the entire file, and CRC checksum. If verification passes, the new deployment package file is executed to initiate the upgrade. If the upgrade is successful, the old deployment package file is deleted; otherwise, the new deployment package file is deleted.
[0058] Step 5: Remotely verify the differential upgrade results
[0059] The upgrade management main station can remotely query information such as the deployment package version, application software (APP) version, and container version of the upgraded terminal to verify the upgrade results.
[0060] Specifically, the intelligent converged terminal business system of the distribution area, such as Figure 2 As shown, a large number of smart converged terminals in the distribution area are connected to the IoT management platform via 4G remote communication. The IoT management platform then connects to various business application systems in the north. The upgrade and deployment of terminal application software are carried out remotely based on the upgrade management system and the physical management platform. The upgrade management system allows for the deployment of multiple customized upgrade schemes, each specifying the range of terminals requiring upgrades and the corresponding differential upgrade package version.
Claims
1. A method for remote differential upgrade and deployment of converged terminal application software, characterized in that, Includes the following steps: Step 1: Obtain the current application software deployment package version information of the terminal; Step 2: Create the executable file for the differential upgrade package; Step 3: Download the differential upgrade package to the terminal in batches using the upgrade management solution; Step 4: The terminal executes the differential upgrade package; Step 5: Remotely verify the differential upgrade results; Step 3 specifically involves customizing the main station upgrade plan on the upgrade management main station and sending the specified differential upgrade package to the terminal through the IoT management platform; the main station upgrade plan uses the selection of the set of terminals to be upgraded and the corresponding upgrade package file to be sent. The main station upgrade plan selects a differential upgrade package, and the associated terminal set is filtered according to the business scenario conditions, namely, filtered by the front-end software version, filtered by the deployment area, and whitelisted by the terminal nameplate information. Step 4 specifically includes the following steps: Step 41: Restore the concatenated file. The entry shell program first splits, decompresses, and restores the concatenated file. Step 42: Obtain the current deployment package information on the terminal, such as version, file size, file CRC checksum, and file MD5 value; Step 43: The terminal matches the differential deployment package. Based on the obtained current deployment package information of the terminal, the corresponding differential deployment package in the newly downloaded differential upgrade package is selected. The old deployment package information recorded in the header of each differential deployment package is compared with the current deployment package information of the terminal. If the match is successful, proceed to step 44. Step 44: Generation of the new application deployment package. Based on the differential deployment package matched in Step 43 and the current deployment package inside the terminal, a new application deployment package is generated. The process of restoring and generating the new application deployment package is automatically completed by the entry shell script. The entry shell script first calls the compression tool to decompress the matched differential deployment package, and then uses the differential tool to synthesize a new application deployment package based on the current deployment package of the terminal and the decompressed differential deployment package. The differential tool and compression tool in this process must be completely consistent with the algorithm of the tool used to create the differential deployment package. Step 45: Verify the synthesized new application deployment package; the entry shell script verifies the synthesized new deployment package based on the information of the old and new deployment packages recorded in the header of the differential deployment package; it compares the new synthesized deployment package file size, MD5 hash value, and CRC check value; if the verification is successful, the new application deployment package is granted execution permissions and started running, that is, the new application deployment package upgrade begins. Step 46: File cleanup and recovery. If the new application deployment package is successfully executed, the old application deployment package will be deleted. If the execution fails, the new application deployment package file will be deleted, and the old deployment package file will be used for recovery.
2. The remote differential upgrade and deployment method for converged terminal application software according to claim 1, characterized in that, In step 1, the version information of the terminal application software deployment package can be remotely accessed through the upgrade management main station, or summarized offline based on the terminal upgrade records.
3. The remote differential upgrade and deployment method for converged terminal application software according to claim 1, characterized in that, In step 2, multiple different differential deployment packages are created according to the version of the terminal application software deployment package. A single differential deployment package is made into an independent differential upgrade package, or multiple differential deployment packages based on different predecessor versions are made into a differential upgrade package. During the upgrade execution process, the predecessor version is matched according to the header information of the differential package to achieve upgrade compatibility based on multiple predecessor versions.
4. The remote differential upgrade and deployment method for converged terminal application software according to claim 3, characterized in that, The difference between two deployment package versions is extracted using a differential algorithm, and the difference data is compressed using a compression tool to finally generate a differential upgrade package. After generating the differential upgrade package, it is also necessary to concatenate the header information of the differential package. The header information of the differential package includes the file size of the old and new deployment packages, the MD5 checksum, and the CRC checksum to ensure the integrity and correctness of the data packet.
5. The remote differential upgrade and deployment method for converged terminal application software according to claim 4, characterized in that, After the differential upgrade package is generated, it needs to be packaged into an executable differential upgrade package in the terminal system. The differential upgrade package is composed of an entry shell program, N differential deployment packages, and differential tool programs and compression tool programs required to restore the new deployment package, where N=0,1,2,…; the entry shell program is appended to the beginning of the file to ensure that the file itself can be directly started and run in the terminal system.
6. The remote differential upgrade and deployment method for converged terminal application software according to claim 5, characterized in that, The number of differential deployment packages included in a differential upgrade package is determined during the upgrade plan development phase. It needs to be balanced based on the number of different versions currently running on the field terminals and the size of the differential upgrade package file. Each differential deployment package is compatible with one full application deployment package of the previous old version. Multiple differential deployment packages are integrated into a single differential upgrade execution package, meaning that the differential upgrade execution package can be upgraded based on multiple versions of the preceding application deployment package.
7. The remote differential upgrade and deployment method for converged terminal application software according to claim 1, characterized in that, Step 5 specifically includes remotely querying the deployment package version, application software (APP) version, and container version information of the upgraded terminal from the upgrade management master station, and verifying the upgrade result.
Citation Information
Patent Citations
Mobile terminal and software upgrading method for same
CN102880495A
Remote upgrade function realization method and system based on MCU and TFTP protocol
CN113900697A