A C / S mode software version small and micro update control system and method
Through file granularity management and collaborative strategies, the problem of large amount of network data and frequent restarts during the C/S mode software version upgrade is solved, and efficient version update control is achieved and user experience is improved.
Patent Information
- Application Number
- CN202311580175.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-23
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2043-11-23
AI Technical Summary
When upgrading the C/S mode software version, the existing technology needs to update the entire software package or patch package, resulting in large amounts of network data and frequent restarts, affecting the user experience.
The file granularity management client software is adopted to achieve small and micro updates through the collaborative work of the main version library server, the backup version library server, the version library maintenance terminal and the client. Combined with strategies such as broadcast notification, timed request and active request, the amount of network data is reduced and the number of restarts is reduced.
Significantly reduce the amount of network data during the version update process, reduce the number of client software restarts, improve update efficiency, and improve user experience.
Smart Images

Figure CN117632214B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of computer science and technology, and in particular relates to a C / S mode software version update control system and method. Background Art
[0002] C / S (Client / Server) architecture. C / S-based software features flexible interface control, efficient data access, and a wide range of development tools. Most C / S-based software, including executable images, dynamic libraries, data files, and configuration files, are already installed on the client, resulting in high execution efficiency. However, iterative upgrades are difficult. Conventional software version update management methods require updating the entire software package or patch package, and then restarting the software for the update to take effect. This approach is inefficient when frequently upgrading multiple clients in batches, severely impacting the user experience.
[0003] After installation in the operating system, client software in the C / S model typically includes an executable program, dynamic libraries, configuration files, data files, and resource files. While the client software is not running, these files can be directly updated. While the client software is running, the executable program and dynamic libraries are locked by the operating system and generally cannot be modified. However, configuration files, data files, and resource files can be directly updated. Summary of the Invention
[0004] In order to overcome the shortcomings of the existing technology, the present invention provides a C / S mode software version small and micro update control system, which can greatly reduce the network data volume during the version update process and effectively improve the update efficiency.
[0005] The technical solution adopted by the present invention to solve the technical problem is: a C / S mode software version small and micro update control system, including a main version library server, a backup version library server and several version library maintenance terminals and clients.
[0006] The main version library server and the backup version library server are both installed with the file version library and version library maintenance software; the version library maintenance terminal is installed with the file submission and storage software; the client is installed with the update control software and the C / S mode client software;
[0007] The file version library is set with a main version number, and each time a software is submitted to the library, the main version number increases by 1; each file is set with a file version number, and each file is modified once, the file version number increases by 1;
[0008] The repository maintenance software completes real-time synchronization between the primary and backup repository servers, generates a list of current repository files, evaluates the load on the primary and backup repository servers, and sends version update notifications to clients.
[0009] The file submission software uploads the software file from the version library maintenance terminal to the file version library, determines the update type after this submission, and submits the file version library description information and file description information;
[0010] The executable program, dynamic library, configuration file, data file and resource file of the C / S mode client software are managed according to the file granularity. Each client software is set up with an independent file version library, and the client software version is updated at the file granularity.
[0011] The update control software compares the main version number based on the version update notification, and then compares and updates the file version information. After the update is completed, it gives an update prompt or forces the client software to restart based on the update type.
[0012] The present invention also provides a C / S mode software version small amount update control method implemented by the above system, comprising the following steps:
[0013] Step 1: On the version library maintenance terminal, modify various types of software files and submit each type of file, file version library description, and file description to the file version library;
[0014] Step 2: The repository maintenance software upgrades the master repository version number and file version number, and synchronizes the master repository server with the backup repository server.
[0015] Step 3: The version library maintenance software generates a list of file version information and publishes update notifications.
[0016] Step 4: The update control software detects the current running status of the client, compares the load information of the primary version library server and the backup version library server, and selects the server with lighter load for file comparison and update; if the C / S mode client software is in running state, the file information that needs to be replaced after restart is recorded.
[0017] The file version library is set with a main version number, and the main version number increases by 1 each time the software is submitted to the library; each file is set with a file version number, and the file version number increases by 1 each time the file is changed; during the main version update process, the file version of the changed file increases, and the unchanged file is directly copied to the new main version and the file version number of the unchanged file remains unchanged.
[0018] The load evaluation method for the primary version library server and the backup version library server is as follows: the CPU load, CPU usage, memory occupancy, and network usage of the primary version library server and the backup version library server are calculated respectively, and normalized to the range of 0 to 1, and calculated according to different weight factors to generate load evaluation indicators.
[0019] The CPU load P CPU load The CPU usage P is the average load of the machine in the last 1 minute, 5 minutes, and 15 minutes; CPU use The utilization rate is calculated by collecting the idle percentage of the CPU; the memory usage rate P Memory use Calculated by the four parameters of total memory, free space, and buffer cache, memory usage = (total memory - free space - buffer - cache) / total memory; the network usage P Network use The ratio of uplink and downlink data to the total bandwidth; set different CPU load weight factors K CPU load , CPU usage weight factor K CPU use , memory usage weight factor K Memory use , network usage weight factor K Network use , each weight factor is set to 1 as the standard value, and the total server load L is calculated Total =K CPU load ×P CPU load +K CPU use ×P CPU use +K Memory use ×P Memory use +K Network use ×P Network use .
[0020] The CPU load weight factor K CPU load is 1.0, CPU usage weight factor K CPU use is 0.8, the memory usage weight factor K Memory use is 1.0, the network utilization weight factor K Network use is 0.7.
[0021] The update adopts one of three small-amount update control strategies, including broadcast notification update, timed update request and active update request.
[0022] The broadcast notification update is issued by the version library maintenance software. After receiving the notification, the update control software on the client performs a major version number comparison and starts the file update process if necessary. The scheduled update request is performed by the update control software according to the timing configuration, which obtains the major version number from the file version library, performs a major version number comparison, and starts the file update process if necessary. The active update request is initiated by the client user operating the update control software according to usage requirements.
[0023] The beneficial effects of this invention are: compared to existing client software updates that rely on full software packages or incremental patch packages, this invention updates and controls software versions at a file-level granularity and provides three implementation strategies, making it suitable for scenarios where client software requires large-scale deployment, centralized management, frequent updates, and long-term use. This invention significantly reduces the amount of network data used during the version update process, reduces the number of client software restarts, effectively improves update efficiency, and enhances the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 This is a schematic diagram of the software composition of the version management system;
[0025] Figure 2 This is a schematic diagram of the version management usage scenario;
[0026] Figure 3 This is a schematic diagram of the version number change process;
[0027] Figure 4 This is a schematic diagram of the version update strategy;
[0028] Figure 5 This is a schematic diagram of the file version comparison and update process. DETAILED DESCRIPTION
[0029] The present invention is further described below with reference to the accompanying drawings and examples. The present invention includes but is not limited to the following examples.
[0030] This invention addresses the unique characteristics of client software and proposes a file-level, micro-version update control method. It also designs and implements a version management system. The system includes a file version repository, repository maintenance software, file submission and warehousing software, and update control software. The file version repository and repository maintenance software are deployed on primary and backup repository servers, while the file submission and warehousing software is deployed on repository maintenance terminals. The update control software and client / server (C / S) client software are deployed on each client.
[0031] The executable programs, dynamic libraries, configuration files, data files, and resource files of client software in the C / S model are managed at the file granularity level. Each client software has a separate file version library. As shown in Table 1, the file version library contains information such as the software name, function, major version number, update date, update type, and update log. As shown in Table 2, the information described for each software file granularity includes the file name, file type, file version number, and update time.
[0032] Table 1 File version library description information
[0033]
[0034] Table 2 File description information
[0035]
[0036] The file version library sets a main version number. Each time a software is submitted to the library, the main version number increases by 1. Each file sets a file version number. Each time a file is modified, the file version number increases by 1. Figure 3 As shown in the figure, during the upgrade process from major version 1 to major version 2, new files A and C are modified in major version 2, and the file versions of the new files A and C are marked as 2. At the same time, the unchanged file B in version 1 is copied to version 2, and the file version number of the unchanged file B remains 1. The process from version 2 to version 3 and so on to version n is the same.
[0037] The file submission software is mainly used to upload various types of software files from the version library maintenance terminal to the file version library, determine the update type after this submission, and submit the file version library description information and file description information.
[0038] The repository maintenance software primarily synchronizes the primary and backup repositories in real time, generates a list of the current repository files, assesses the load on the primary and backup repository servers, and sends version update notifications to clients. The repository maintenance software runs permanently on the primary and backup repository servers.
[0039] The load assessment method for the primary and backup repository servers is as follows: Calculate the server's CPU load, CPU usage, memory occupancy, and network usage, normalize them to a range of 0 to 1, and calculate them according to different weight factors to generate load assessment indicators.
[0040] The CPU load (P CPU load ) is the average load of the machine over the last 1, 5, and 15 minutes. The average load is the CPU load index. An optimal load index of 0.7 indicates smooth CPU operation. The 5-minute CPU load is typically used as the standard.
[0041] The CPU usage (P CPU use ) The utilization rate is calculated by collecting the idle percentage of the CPU. Generally, the utilization rate is capped at 65-70%, which is close to reasonable.
[0042] The memory usage (P Memory use ) It is calculated using four parameters: total memory, free memory, and buffer cache. Memory usage = (total memory - free memory - buffer cache) / total memory.
[0043] The network utilization rate (P Network use ) is the ratio of uplink and downlink data to the total bandwidth.
[0044] Set different CPU load weight factors (K CPU load ), CPU usage weight factor (K CPU use ), memory usage weight factor (K Memory use ), network utilization weight factor (K Network use ), each weight factor is set to 1 as the standard value. In general, K CPU load 1.0 , K CPU use 0.8 , K Memory use 1.0 , K Network If use is 0.7, the total server load is calculated according to the following formula.
[0045] L Total =K CPU load ×P CPU load +K CPU use ×P CPU use +
[0046] K Memory use ×P Memory use +K Network use ×P Network use
[0047] The update control software mainly implements the comparison of the main version number of the version library based on the version update strategy, and then realizes the comparison and update of the file version information. After the update is completed, it will give an update prompt or force the client software to restart according to the update type.
[0048] The present invention adopts three small-amount update control strategies, namely broadcast notification update, timed update request and active update request.
[0049] Broadcast notification updates are sent by the version library maintenance software. After receiving the notification, the update control software on the client compares the major version numbers and starts the file update process if necessary.
[0050] The update control software automatically obtains the major version number from the file version library according to the scheduled configuration, compares the major version numbers, and starts the file update process if necessary.
[0051] Actively requesting updates is done by the client user operating the update control software to initiate the update process based on usage needs.
[0052] The C / S mode software version micro-update process includes the following 4 steps.
[0053] Step 1: On the version library maintenance terminal, modify various types of software files and submit various types of files, file version library descriptions, and file descriptions to the file version library.
[0054] Step 2: The repository maintenance software upgrades the master repository version number and file version number, and synchronizes the master and backup repositories.
[0055] Step 3: The version library maintenance software generates a list of file version information and publishes update notifications.
[0056] Step 4: The update control software detects the client's current operating status, compares the load information of the primary and backup servers, and selects the less loaded server for file comparison and update based on three different strategies. If the client software is still running, it records the need to restart and replace files.
[0057] In an embodiment of the present invention, a monitoring display software includes three executable programs, over 100 dynamic libraries, over 1,000 configuration files, over 200 data files, and over 500 resource files. The executable programs load different configuration files and related data and resource files to generate display pages. Each configuration file, data file, and resource file averages approximately 200KB in size, bringing the total software size to approximately 1GB. The software's executable programs and dynamic libraries are rarely updated, while the configuration files, data files, and resource files are frequently updated. The software is deployed and used in parallel on over 200 terminals.
[0058] When the full package update strategy is used, the amount of data sent from the repository server for each version upgrade is approximately 200GB. When the micro-update control method is used, the amount of data sent from the version server is approximately 400MB, which is equivalent to 1 / 500 of the package update strategy.
[0059] Conventional software version update management methods require updating the entire software package or patch package during a software version upgrade. After the update is complete, the software must be restarted for the update to take effect. This method is inefficient when multiple clients frequently perform batch version upgrades, severely impacting the user experience. This invention analyzes the characteristics of client software and proposes a method for controlling small software version updates in a client-server (C / S) mode. A satellite monitoring and display software, a typical C / S model, employs this method, significantly reducing the amount of network data used during the version update process and effectively improving update efficiency.
[0060] It will be apparent to those skilled in the art that the present application is not limited to the details of the exemplary embodiments described above and that the present application may be implemented in other specific forms without violating the spirit or essential characteristics of the present application. Therefore, the embodiments should be considered in all respects as illustrative and non-restrictive. The scope of the present application is defined by the appended claims, not the foregoing description, and it is intended that all variations within the meaning and scope of the claims be encompassed within the present application.
Claims
1. A control method for a small and micro update control system for software versions in a C / S mode, wherein the small and micro update control system for software versions in the C / S mode comprises a primary version library server, a backup version library server, and several version library maintenance terminals and clients, characterized in that: The file version library and version library maintenance software are installed on both the main version library server and the backup version library server; the file submission and warehousing software is installed on the version library maintenance terminal; the update control software and C / S mode client software are installed on the client; the file version library is set with a main version number, and the main version number increases by 1 each time the software is submitted to the library; each file is set with a file version number, and the file version number increases by 1 each time a file is changed; the version library maintenance software completes the real-time synchronization of the main version library server and the backup version library server, generates the current version library file list information, evaluates the load of the main version library server and the backup version library server, and sends a version update notification to the client; the file submission and warehousing software uploads the software file from the version library maintenance terminal to the file version library, determines the update type after this submission, and submits the file version library description information and file description information; The executable program, dynamic library, configuration file, data file and resource file of the C / S mode client software are managed according to the file granularity. Each client software is set up with an independent file version library, and the client software version update is completed at the file granularity; the update control software realizes the main version number comparison based on the version update notification, and then realizes the file version information comparison and update. After the update is completed, the update prompt is given or the client software is forced to restart according to the update type, which includes the following steps: Step 1: On the version library maintenance terminal, modify various types of software files and submit each type of file, file version library description, and file description to the file version library; The file version library is set with a master version number, and the master version number increases by 1 each time a software is submitted to the library; each file is set with a file version number, and the file version number increases by 1 each time a file is modified; during the master version update process, the file version of the modified file increases, and the unchanged file is directly copied to the new master version and the file version number of the unchanged file remains unchanged; The load evaluation method for the primary version library server and the backup version library server is as follows: respectively calculate the CPU load, CPU usage, memory occupancy, and network usage of the primary version library server and the backup version library server, normalize them to a range of 0 to 1, and calculate according to different weight factors to generate load evaluation indicators; Step 2: The repository maintenance software upgrades the master repository version number and file version number, and synchronizes the master repository server with the backup repository server. Step 3: The version library maintenance software generates a list of file version information and publishes update notifications. Step 4: The update control software detects the current running status of the client, compares the load information of the primary and backup repository servers, and selects the server with the lighter load for file comparison and update. If the client software in C / S mode is in the running state, the information that the file needs to be replaced after restart is recorded. The CPU load P CPUload The CPU usage P is the average load of the machine in the last 1 minute, 5 minutes, and 15 minutes; CPUuse The utilization rate is calculated by collecting the idle percentage of the CPU; the memory usage rate P Memoryuse Calculated by the four parameters of total memory, free space, and buffer cache, memory usage = (total memory - free space - buffer - cache) / total memory; the network usage P Networkuse The ratio of uplink and downlink data to the total bandwidth; set different CPU load weight factors K CPUload , CPU usage weight factor K CPUuse , memory usage weight factor K Memoryuse , network usage weight factor K Networkuse , each weight factor is set to 1 as the standard value, and the total server load L is calculated Total =K CPUload ×P CPUload +K CPUuse ×P CPUuse +K Memoryuse ×P Memoryuse +K Networkuse ×P Networkuse。 2. The C / S mode software version small and micro update control method according to claim 1 is characterized in that: The CPU load weight factor K CPUload is 1.0, CPU usage weight factor K CPUuse is 0.8, the memory usage weight factor K Memoryuse is 1.0, the network utilization weight factor K Network use is 0.
7.
3. The C / S mode software version small and micro update control method according to claim 1, characterized in that: The update adopts one of three small-amount update control strategies, including broadcast notification update, timed update request and active update request.
4. The C / S mode software version small and micro update control method according to claim 3 is characterized in that: The broadcast notification update is issued by the version library maintenance software. After receiving the notification, the update control software on the client performs a major version number comparison and starts the file update process if necessary. The scheduled update request is performed by the update control software according to the timing configuration, which obtains the major version number from the file version library, performs a major version number comparison, and starts the file update process if necessary. The active update request is initiated by the client user operating the update control software according to usage requirements.
Citation Information
Patent Citations
Software update system and method
CN101699399A
Method, device and system for confirming download link of software version upgrade file
CN103888523A