Software increment upgrading method and device, computer equipment and storage medium
By obtaining and comparing the current file information of the client on the server side, generating and sending the target incremental upgrade package, the problem that the incremental upgrade package needs to save a large amount of historical version information is solved, and the storage space is saved and the upgrade time is shortened. At the same time, it ensures the success of the upgrade.
Patent Information
- Application Number
- CN202411129011.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2024-12-13
AI Technical Summary
The existing incremental upgrade method requires the server to save a large amount of historical version information and the latest information, resulting in a large amount of storage space.
The server obtains the current file information from the client to determine whether the incremental upgrade package has been saved. If it has been saved, it will be sent directly. Otherwise, compared with the latest software information, it will generate the target incremental upgrade package, including incremental files and file processing tags, reducing server storage Historical version information.
Save server storage space, shorten upgrade time, and ensure that the client can successfully upgrade even if the files are tampered with.
Smart Images

Figure CN119127271A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a software incremental upgrade method, device, computer equipment and storage medium. Background Art
[0002] As user needs continue to rapidly update, software versions are iterating very frequently. In order to reduce the size of the upgrade package and shorten the upgrade time, the client software is upgraded by incremental upgrade. The current incremental upgrade is usually done by the server generating an incremental upgrade package. When the client downloads, it only downloads the difference between the new and old version installation packages, namely the incremental upgrade package, and then the client merges the incremental upgrade package with the old version installation package to achieve the upgrade.
[0003] However, the current incremental upgrade method requires the server to record a large amount of historical version information and corresponding file information of the software, and also requires the server to record the latest version information and file information of the software for comparison, which takes up a lot of storage space.
[0004] Therefore, the related technology has the problem that the generation of incremental data packets requires the server to save the historical information and the latest information of the software, which takes up a lot of storage space. Summary of the invention
[0005] In view of this, the present invention provides a method, apparatus, computer device and storage medium for incremental software upgrade to solve the problem that the generation of incremental data packets requires the server to save the historical information and the latest information of the software, which takes up more storage space.
[0006] In a first aspect, the present invention provides a method for incremental software upgrade, which is applied to a server and includes:
[0007] Get the current file information of the current software from the client;
[0008] Determine whether the server has saved the incremental upgrade package corresponding to the current file information, and if so, use the incremental upgrade package corresponding to the current file information as the target incremental upgrade package;
[0009] If it is not saved, the current file information is compared with the latest file information of the latest software, and the changed files between the latest software and the current software are determined according to the comparison result, wherein the changed files include incremental files;
[0010] Generate a file processing tag corresponding to the changed file according to the file change of the changed file, and generate a target incremental upgrade package including the incremental file and the file processing tag;
[0011] The target incremental upgrade package is sent to the client, instructing the client to perform software incremental upgrade according to the target incremental upgrade package.
[0012] The software incremental upgrade method provided in this embodiment is that the server obtains the current file information from the client. There is no need to record a large amount of historical versions or customized version information of the software on the server. Only the latest software needs to be recorded, saving storage space. If the server has previously generated and saved an incremental upgrade package for the current file information, it can be sent directly to the client. If not, by comparing the current file information with the file information of the latest software, a target incremental upgrade package is generated and sent to the client, instructing the client to perform an incremental software upgrade according to the target incremental upgrade package. This solves the problem that the server needs to save the historical and latest information of the software when generating an incremental data packet, which takes up a lot of storage space.
[0013] In some optional implementations, the changed file includes at least one of a modified file, a deleted file, and a newly added file, and a file processing tag corresponding to the changed file is generated according to the file change of the changed file, and a target incremental upgrade package including the incremental file and the file processing tag is generated, including:
[0014] Generate first processing tags corresponding to modified files, deleted files, and newly added files respectively;
[0015] Determine the modification mode corresponding to the modified file, and if the modification mode is overwriting, generate a second processing tag for the modified file;
[0016] If the modification mode is differential processing, obtaining first configuration information of the modified file and second configuration information of a file in the current software corresponding to the modified file;
[0017] Determine new configuration information and deleted configuration information by comparing the first configuration information and the second configuration information;
[0018] Generate third processing tags corresponding to the newly added configuration information and the deleted configuration information respectively;
[0019] Summarize the first processing tag, the second processing tag, and the third processing tag to obtain a file processing tag;
[0020] Generate verification codes for incremental files and file processing tags according to a preset tool, and generate a verification file containing the verification codes;
[0021] Get the file description information of the latest software from the latest file information;
[0022] Package the incremental files, file processing tags, verification files, and file description information into a target incremental upgrade package.
[0023] In this embodiment, a first processing tag is generated to facilitate the client to modify the changed file according to the first processing tag. A second processing tag and a third processing tag are generated to facilitate the client to process the modified file. A verification code is generated for the incremental file and the file processing tag. The verification code can be used to verify whether the information in the target incremental upgrade package has been tampered with, thereby ensuring that the client can smoothly perform the incremental upgrade. By using the file processing tag, even if the client file has been tampered with, the incremental upgrade can still be successfully completed through the target incremental upgrade package.
[0024] In some optional implementations, after generating a target incremental upgrade package including incremental files and file processing tags, the method further includes:
[0025] Generate association information between the target incremental upgrade package and the current file information, and save the target incremental upgrade package and the association information;
[0026] Determine whether the number of saved incremental upgrade packages is equal to a preset threshold. If it is equal to the preset threshold, according to the order of the saved incremental upgrade packages, the first preset number of saved incremental upgrade packages are used as the incremental upgrade packages to be deleted;
[0027] Delete the incremental upgrade package to be deleted and the associated information corresponding to the incremental upgrade package to be deleted.
[0028] In this embodiment, after the target incremental upgrade package is generated, the target incremental upgrade package can be saved. When the corresponding current file information is received again, the upgrade package can be reused, skipping the upgrade package production process, which is faster. In addition, by setting the maximum number of retained upgrade packages through a preset threshold, the upgrade packages can be dynamically managed according to the storage situation of the server, saving server storage space.
[0029] In some optional implementations, determining whether the server has saved the incremental upgrade package corresponding to the current file information includes:
[0030] Determine the incremental upgrade package saved in the server, and determine the association information between the saved incremental upgrade package and the file information;
[0031] According to the associated information of the saved incremental upgrade package, it is determined whether the server has saved the incremental upgrade package corresponding to the current file information.
[0032] In a second aspect, the present invention provides a method for incremental software upgrade, which is applied to a client and includes:
[0033] Obtaining current file information of the software, sending the current file information to the server, and instructing the server to determine a target incremental upgrade package based on the current file information;
[0034] When the target incremental upgrade package is obtained from the server, the incremental files and the file processing tags are obtained from the target incremental upgrade package, and the software incremental upgrade is performed according to the incremental files and the file processing tags.
[0035] The software incremental upgrade method provided in this embodiment sends the current file information of the current software to the server when the client needs to upgrade, and instructs the server to return the target incremental upgrade package. The client upgrades according to the incremental files and corresponding tags in the incremental upgrade package, reducing the number of files to be processed and shortening the upgrade time. When the client file is tampered with, the incremental upgrade can still be successful. The problem that the server needs to save the historical information and the latest information of the software when generating the incremental data packet, which takes up a lot of storage space, is solved.
[0036] In some optional implementations, obtaining an incremental file and a file processing tag from a target incremental upgrade package, and performing an incremental software upgrade according to the incremental file and the file processing tag, includes:
[0037] Decompress the target incremental upgrade package to obtain incremental files, file processing tags, verification files, and file description information;
[0038] Verify the incremental file and file processing tags based on the verification file;
[0039] If the verification is successful, the incremental file is written into the software, and the software file is processed according to the file processing tag to obtain the intermediate software;
[0040] Determine whether the file of the intermediate software is consistent with the file description information. If they are consistent, treat the intermediate software as the new version software;
[0041] Restart the new version of the software. If the startup is successful, the software incremental upgrade is completed.
[0042] In this embodiment, the client performs incremental upgrades on the software according to the incremental files and file processing tags in the target incremental upgrade package, reducing the number of file processing and shortening the upgrade time. The incremental files and file processing tags are verified according to the verification file, and the files of the intermediate software are compared with the file description information to ensure the success of the incremental upgrade. In addition, the software files are processed using the file processing tags, so that even if the files of the current software of the client are tampered with, the software can still be upgraded to ensure the security and accuracy of the software.
[0043] In some optional implementations, before writing the incremental file into the software, the method further includes:
[0044] Back up the current software of the client and obtain the software backup information;
[0045] After restarting the new version of the software, the method also includes:
[0046] If the startup fails, the client's current software is restored according to the software backup information, and no incremental software upgrade is performed.
[0047] In this embodiment, the current software of the client is backed up to obtain software backup information, and after the software is incrementally upgraded, the software is restored according to the software backup information to prevent the software from being unavailable due to failure of the software incremental upgrade.
[0048] In a third aspect, the present invention provides a software incremental upgrade device, which is deployed on a server and includes:
[0049] The acquisition module is used to obtain the current file information of the current software from the client;
[0050] A judgment module, used to judge whether the server has saved the incremental upgrade package corresponding to the current file information, and if so, use the incremental upgrade package corresponding to the current file information as the target incremental upgrade package;
[0051] A comparison module, for comparing the current file information with the latest file information of the latest software if it has not been saved, and determining the changed files between the latest software and the current software according to the comparison result, wherein the changed files include incremental files;
[0052] A generation module, used to generate a file processing tag corresponding to the changed file according to the file change of the changed file, and generate a target incremental upgrade package including the incremental file and the file processing tag;
[0053] The first sending module is used to send the target incremental upgrade package to the client, and instruct the client to perform software incremental upgrade according to the target incremental upgrade package.
[0054] In a fourth aspect, the present invention provides a software incremental upgrade device, which is deployed on a client and includes:
[0055] The second sending module is used to obtain the current file information of the software, send the current file information to the server, and instruct the server to determine the target incremental upgrade package according to the current file information;
[0056] The upgrade module is used to obtain the incremental file and the file processing tag from the target incremental upgrade package when the target incremental upgrade package is obtained from the server, and perform the software incremental upgrade according to the incremental file and the file processing tag.
[0057] In a fifth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the software incremental upgrade method of the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions, or executes the software incremental upgrade method of the above-mentioned second aspect or any corresponding embodiment thereof.
[0058] In a sixth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the software incremental upgrade method of the above-mentioned first aspect or any corresponding embodiment thereof, or to execute the software incremental upgrade method of the above-mentioned second aspect or any corresponding embodiment thereof.
[0059] In a seventh aspect, the present invention provides a computer program product, comprising computer instructions, wherein the computer instructions are used to enable a computer to execute the software incremental upgrade method of the above-mentioned first aspect or any corresponding embodiment thereof, or to execute the software incremental upgrade method of the above-mentioned second aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0061] Figure 1 is a schematic diagram of an incremental upgrade of current client software according to an embodiment of the present invention;
[0062] Figure 2 is a flow chart of a software incremental upgrade method applied to a server according to an embodiment of the present invention;
[0063] Figure 3 is a schematic diagram of an incremental upgrade process according to an embodiment of the present invention;
[0064] Figure 4 is a flowchart of a method for incremental software upgrade applied to a client according to an embodiment of the present invention;
[0065] Figure 5 is a structural block diagram of a software incremental upgrade device deployed on a server according to an embodiment of the present invention;
[0066] Figure 6 is a structural block diagram of a software incremental upgrade device deployed on a client according to an embodiment of the present invention;
[0067] Figure 7 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0068] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0069] As user needs continue to update rapidly, software version iterations are very frequent. The traditional full upgrade method will take up a lot of system space and bandwidth during the upgrade process, and the process of replacing the entire software is relatively cumbersome. Especially when the content involved in the upgrade is only a few files, if a full upgrade is performed every time, it is easy to waste bandwidth. The download of the upgrade package and the upgrade time will become very long, affecting the user experience. At present, in order to reduce the size of the upgrade package and shorten the upgrade time, incremental upgrade technology has emerged. The usual practice now is to compare the content changes of the two upgrade packages, and then differentiate the incremental content. When downloading, only the difference between the new and old version installation packages is downloaded, that is, the incremental upgrade package. Then merge the incremental upgrade package with the old version installation package to achieve the upgrade. When the client uses the incremental upgrade package to upgrade the software, it is necessary to merge the incremental upgrade package with the old version installation package. When the merged upgrade package is used for upgrading, the upgrade still needs to process the full upgrade file, and the upgrade process is still relatively long. In addition, some of the client files are configuration files, scripts, editable toolkits, etc. These are all editable content. If the information is edited unreasonably or added and deleted at will, the service may be unavailable. If the client software has been tampered with, the merged upgrade package may become a damaged upgrade package, resulting in upgrade failure when using the new installation package.
[0070] like Figure 1As shown, the current process of incremental upgrade of client software includes: the development end performs a compile operation to output a compiled file, generates a verification file according to the compiled file, packages the compiled file and the verification file to generate an upgrade package, the verification file is generated by the development end traversing each sub-file of the compiled file and obtaining the file information of each sub-file, and the upgrade package is uploaded to the server. The server receives the upgrade package uploaded by the development end, unpacks the upgrade package, verifies the compiled file using the verification file, decrypts the verification file after the compiled file passes the verification of the verification file to obtain the corresponding file information, and verifies the compiled file in sequence using the file information. The compiled files of the upgrade package are compared with different existing versions to form an incremental file set corresponding to different existing versions, all incremental files in each incremental file set are traversed respectively and each incremental file is obtained, and a corresponding incremental upgrade package is generated according to the incremental file set and the incremental verification file, and the incremental upgrade package includes at least one incremental file and an incremental verification file. Send the download information of the incremental upgrade package to the client, so that the client obtains the incremental upgrade package according to the download information, and executes the incremental upgrade package to perform the upgrade operation after the incremental files of the incremental upgrade package pass the verification of the incremental verification file. However, the above method requires the server to record a large amount of historical version information and corresponding file information to compare with the current new version. When making incremental files, it is necessary to compare with a large number of historical versions to generate a large number of incremental upgrade packages. This takes up a lot of storage space. If the client file is tampered with, the incremental upgrade may fail.
[0071] Based on the above content, an embodiment of the present invention provides a method for incremental software upgrade. When the client needs to upgrade, the current file information of the current software is sent to the server. The server obtains the current file information from the client in real time. There is no need to record a large number of historical versions or customized version information of the software on the server. Only the latest software needs to be recorded, saving storage space. If the server has previously generated and saved an incremental upgrade package for the current file information, it can be sent directly to the client. If not, by comparing the current file information with the file information of the latest software, an incremental upgrade package is generated and sent to the client. The client upgrades according to the incremental files and corresponding tags in the incremental upgrade package, reducing the number of files to be processed and shortening the upgrade time. This achieves the effect of not having to store each version information and the corresponding file information on the server side, not having to make a large number of incremental upgrade packages, and only storing the incremental upgrade packages of specific users, saving storage space, and being able to successfully perform incremental upgrades when the client files are tampered with.
[0072] According to an embodiment of the present invention, a software incremental upgrade embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a server, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0073] In this embodiment, a method for incremental software upgrade is provided, which can be used for a server. Figure 2 is a flowchart of a software incremental upgrade method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0074] Step S201, obtaining current file information of the current software from the client.
[0075] Specifically, when the client has an upgrade requirement, the client collects the current version number and the corresponding version file information, i.e., the current file information, which includes but is not limited to the version number, software installation directory, file name, file storage path, file verification information, etc., wherein the file storage path is not limited to only one path. The client provides the collected current file information to the server by uploading or calling an interface. The server obtains the current file information of the current software from the client.
[0076] Step S202, determining whether the server has saved the incremental upgrade package corresponding to the current file information, and if so, taking the incremental upgrade package corresponding to the current file information as the target incremental upgrade package.
[0077] Specifically, each time the server generates an incremental upgrade package, it will save the incremental upgrade package and the corresponding file information. The maximum number of incremental upgrade packages to be saved can be set on the server as needed. When the number of saved incremental upgrade packages exceeds the maximum number of retained versions, the earliest retained incremental upgrade package and the corresponding file information will be deleted.
[0078] The received current file information is compared with the saved file information. If they are consistent, the incremental upgrade package corresponding to the consistent file information is also the incremental upgrade package corresponding to the current file information. The incremental upgrade package corresponding to the current file information is used as the target incremental upgrade package. The server no longer produces new incremental upgrade packages and can directly send the target incremental upgrade package to the client.
[0079] The above process is as follows Figure 3 As shown, it is determined whether the server has an incremental upgrade package corresponding to the version. If so, the incremental upgrade package is placed on the target client. If not, an incremental upgrade package needs to be generated.
[0080] Step S203, if not saved, compare the current file information with the latest file information of the latest software, and determine the changed files between the latest software and the current software according to the comparison result, wherein the changed files include incremental files.
[0081] Specifically, if the server does not save the incremental upgrade package corresponding to the current file information, it is necessary to generate the incremental upgrade package corresponding to the current file information.
[0082] The server compares the current file information with the latest file information of the latest software. For example, the current file information contains files A, B, C, D, E, and F; the latest file information contains files A, B', D, E, F, and G. It should be noted that the above files are only example files, which are an object and have not only a name, but also file path, file size, file latest modification time, file checksum, and other contents.
[0083] By comparison, it can be determined that the changed files include: B (B'), C, G. Because file C has been deleted in the latest file information, file C is not an incremental file. The incremental files are: B (B'), G. B (B') means that file B has been modified in the latest software. The file name is the same, but the file content and file size have changed. When the client upgrades the software, it is necessary to modify file B in the software to B'. In addition, when comparing the previous file information with the latest file information of the latest software, it is necessary to use the current file information as a parameter or conditional requirement and then package it. The main purpose is to compare the previous file with the current latest file to make an incremental upgrade package.
[0084] Step S204: Generate a file processing tag corresponding to the changed file according to the file change status of the changed file, and generate a target incremental upgrade package including the incremental file and the file processing tag.
[0085] Specifically, a file processing tag corresponding to the changed file is generated according to the file change of the changed file, for example: if the changed files are B, C, and G, the file processing tag corresponding to the changed file is generated, file B-modified, file C-deleted, and file G-added. Alternatively, the file path information can also be recorded in the file processing tag, for example: path 1-file B-modified, path 2-file C-deleted, and path 3-file G-added.
[0086] Generate a target incremental upgrade package containing incremental files and the above-mentioned file processing tags. During the packaging process, you can use the verification code generation tool to generate verification codes for incremental files and file processing tags, and package the verification codes. The incremental files are included in the change files, such as B and G.
[0087] The above process is as follows Figure 3 As shown, the information provided by the client is used as a parameter, and the packaging device process is used to package it. The incremental file and the label of the corresponding file are then compared with the above parameters. The incremental file and label file information are then encrypted to obtain the verification file. The incremental file, label file, verification file, etc. are packaged into an incremental upgrade package.
[0088] Step S205: Send the target incremental upgrade package to the client, instructing the client to perform software incremental upgrade according to the target incremental upgrade package.
[0089] Specifically, the target incremental upgrade package is placed on the target client online or offline, and the client is instructed to perform software incremental upgrade according to the target incremental upgrade package.
[0090] The above process is as follows Figure 3 As shown in the figure, put the incremental upgrade package on the target client.
[0091] The software incremental upgrade method provided in this embodiment is that the server obtains the current file information from the client. There is no need to record a large amount of historical versions or customized version information of the software on the server. Only the latest software needs to be recorded, saving storage space. If the server has previously generated and saved an incremental upgrade package for the current file information, it can be sent directly to the client. If not, by comparing the current file information with the file information of the latest software, a target incremental upgrade package is generated and sent to the client, instructing the client to perform an incremental software upgrade according to the target incremental upgrade package. This solves the problem that the server needs to save the historical and latest information of the software when generating an incremental data packet, which takes up a lot of storage space.
[0092] In some optional implementations, the changed file includes at least one of a modified file, a deleted file, and a newly added file, and a file processing tag corresponding to the changed file is generated according to the file change of the changed file, and a target incremental upgrade package including the incremental file and the file processing tag is generated, including:
[0093] Generate first processing tags corresponding to modified files, deleted files, and newly added files respectively;
[0094] Determine the modification mode corresponding to the modified file, and if the modification mode is overwriting, generate a second processing tag for the modified file;
[0095] If the modification mode is differential processing, obtaining first configuration information of the modified file and second configuration information of a file in the current software corresponding to the modified file;
[0096] Determine new configuration information and deleted configuration information by comparing the first configuration information and the second configuration information;
[0097] Generate third processing tags corresponding to the newly added configuration information and the deleted configuration information respectively;
[0098] Summarize the first processing tag, the second processing tag, and the third processing tag to obtain a file processing tag;
[0099] Generate verification codes for incremental files and file processing tags according to a preset tool, and generate a verification file containing the verification codes;
[0100] Get the file description information of the latest software from the latest file information;
[0101] Package the incremental files, file processing tags, verification files, and file description information into a target incremental upgrade package.
[0102] Specifically, the changed file includes at least one of a modified file, a deleted file, and a newly added file. For example, the changed file includes: B (B'), C, G, where B is a modified file, C is a deleted file, and G is a newly added file. First processing tags corresponding to the modified file, the deleted file, and the newly added file are generated respectively. The first processing tags are, for example, modified, deleted, and added, and may also include no change.
[0103] The files with modified tags need to be further processed and the modification methods corresponding to the modified files need to be further determined. The modification methods include overwriting and differentiation. If the file needs to be overwritten as a whole, it is marked as overwriting.
[0104] If the changed part of the file content needs differential processing, the differential processing details of the file are recorded. This type of file is generally a configuration file. Read the configuration file line by line, and set the processing strategy for each line of configuration items according to the software business requirements. If the configuration item only exists in the old version, delete the configuration; if the configuration item only exists in the new version, directly append the configuration item; if the configuration item exists in both the old and new versions, set the label to overwrite according to the software business requirements, use the new configuration, and dynamically adjust according to the customer environment.
[0105] Determine the modification mode corresponding to the modified file, if the modification mode is overwrite processing, generate a second processing tag for the modified file, the second processing tag is overwrite. Files that need to be overwritten as a whole are generally files that cannot be directly edited.
[0106] Differential processing generally refers to configuration files. You can directly specify overall coverage or differential processing for some special files according to the file format or when packaging. If the modification method is differential processing, read the configuration file line by line to obtain the first configuration information of the modified file and the second configuration information of the file in the current software corresponding to the modified file. According to the business needs of the software, set the processing strategy for each line of configuration information separately. For example, by comparing the first configuration information and the second configuration information, if the configuration information only exists in the old version, delete the configuration, which is to delete the configuration information; if the configuration information only exists in the new version, directly append the configuration item, which is to add the new configuration information. If the configuration item exists in both the old and new versions, you need to set the label as coverage according to the business needs of the software, use the new configuration, and dynamically adjust according to the customer environment. For example, when the software function is developed, it is clear whether this configuration item needs to be overwritten or the latest value needs to be used. For example, customer environment information can only be set to a general value during business development, but the customer environment is set to the value used by itself. For example, the IP address can only be written as 127.0.0.1 during development, but the customer environment needs to be set to the customer network IP according to the customer's network configuration. A third processing tag corresponding to the newly added configuration information and the deleted configuration information is generated respectively, and the third processing tag is, for example: delete the configuration information, add the configuration information.
[0107] The first processing label, the second processing label and the third processing label are summarized to obtain a file processing label.
[0108] Generate verification codes for incremental files and file processing tags according to preset tools, and generate verification files containing verification codes. Preset tools include verification code generation tools such as MD5. Obtain the file description information of the latest software from the latest file information. Package the incremental files, file processing tags, verification files, and file description information into the target incremental upgrade package. Record files, file paths, and corresponding tag information according to the above rules. And fully record the description information of all files of the new version in the verification file. The description information includes file name, file path, file verification code, etc. Based on the above content, it can be concluded that there are only incremental files in the target incremental upgrade package, such as changed B files and newly added G files. The size of the upgrade package has been extremely streamlined. It occupies much less space than the full upgrade package. In addition, the information in the target incremental file can be encrypted. The encryption can be performed using the encryption method that is more commonly used now, and then the certificates and keys required for decryption can be obtained offline or online.
[0109] In this embodiment, a first processing tag is generated to facilitate the client to modify the changed file according to the first processing tag. A second processing tag and a third processing tag are generated to facilitate the client to process the modified file. A verification code is generated for the incremental file and the file processing tag. The verification code can be used to verify whether the information in the target incremental upgrade package has been tampered with, thereby ensuring that the client can smoothly perform the incremental upgrade. By using the file processing tag, even if the client file has been tampered with, the incremental upgrade can still be successfully completed through the target incremental upgrade package.
[0110] In some optional implementations, after generating a target incremental upgrade package including incremental files and file processing tags, the method further includes:
[0111] Generate association information between the target incremental upgrade package and the current file information, and save the target incremental upgrade package and the association information;
[0112] Determine whether the number of saved incremental upgrade packages is equal to a preset threshold. If it is equal to the preset threshold, according to the order of the saved incremental upgrade packages, the first preset number of saved incremental upgrade packages are used as the incremental upgrade packages to be deleted;
[0113] Delete the incremental upgrade package to be deleted and the associated information corresponding to the incremental upgrade package to be deleted.
[0114] Specifically, after the server generates a target incremental upgrade package including an incremental file and a file processing tag, the server saves the target incremental upgrade package and saves association information between the target incremental upgrade package and the current file information.
[0115] You can set the threshold based on the server's storage space and the versions that support maintenance. For example, if the server's storage space is 100G and the target incremental upgrade package size is about 5G, the preset threshold is 20 or 19. Or, if the older update packages have large changes or take a long time to update, only the latest few upgrade packages will be maintained. The preset threshold is the maximum number of incremental upgrade packages that the server can retain.
[0116] Determine whether the number of saved incremental upgrade packages is equal to a preset threshold. If it is equal to the preset threshold, delete the earliest retained incremental upgrade packages. The deletion process includes: according to the order of the saved incremental upgrade packages, the first preset number of saved incremental upgrade packages are used as the incremental upgrade packages to be deleted, and the incremental upgrade packages to be deleted and the associated information corresponding to the incremental upgrade packages to be deleted are deleted.
[0117] In this embodiment, after the target incremental upgrade package is generated, the target incremental upgrade package can be saved. When the corresponding current file information is received again, the upgrade package can be reused, skipping the upgrade package production process, which is faster. In addition, by setting the maximum number of retained upgrade packages through a preset threshold, the upgrade packages can be dynamically managed according to the storage situation of the server, saving server storage space.
[0118] In some optional implementations, determining whether the server has saved the incremental upgrade package corresponding to the current file information includes:
[0119] Determine the incremental upgrade package saved in the server, and determine the association information between the saved incremental upgrade package and the file information;
[0120] According to the associated information of the saved incremental upgrade package, it is determined whether the server has saved the incremental upgrade package corresponding to the current file information.
[0121] Specifically, after generating an incremental upgrade package, the server will save some of the incremental upgrade packages. Therefore, there will be multiple saved incremental upgrade packages in the server, and the server will also record the association information between the incremental upgrade package and the file information, so as to facilitate the subsequent reuse of the incremental upgrade package and skip the upgrade package production process. Determine the incremental upgrade packages saved in the server, and determine the association information between the saved incremental upgrade package and the file information. According to the association information of the saved incremental upgrade package, determine whether the server has saved the incremental upgrade package corresponding to the current file information. If the server has saved the incremental upgrade package corresponding to the current file information, the incremental upgrade package is used as the target incremental upgrade package, and there is no need to execute the upgrade package production process, thereby improving the efficiency of the software incremental upgrade.
[0122] According to an embodiment of the present invention, an embodiment of a method for incremental software upgrade is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in the client, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0123] In this embodiment, a method for incremental software upgrade is provided, which can be used for a client. Figure 4 is a flowchart of a software incremental upgrade method according to an embodiment of the present invention. Figure 4 As shown, the process includes the following steps:
[0124] Step S401, obtaining current file information of the software, sending the current file information to the server, and instructing the server to determine a target incremental upgrade package according to the current file information.
[0125] Specifically, when the client has an upgrade requirement, the client collects the current version number and the corresponding version file information, i.e., the current file information, including but not limited to the version number, software installation directory, file name, file storage path, file verification information, etc., wherein the file storage path is not limited to only one path. The client provides the collected current file information to the server by uploading or calling an interface, etc., and instructs the server to determine the target incremental upgrade package according to the current file information.
[0126] Step S402, when the target incremental upgrade package is obtained from the server, the incremental files and file processing tags are obtained from the target incremental upgrade package, and the software incremental upgrade is performed according to the incremental files and file processing tags.
[0127] Specifically, the server places the target incremental upgrade package on the target client online or offline, and instructs the client to perform software incremental upgrade according to the target incremental upgrade package.
[0128] After the client obtains the target incremental upgrade package from the server, it decompresses the target incremental upgrade package, obtains the incremental file and the file processing tag from the target incremental upgrade package, and performs software incremental upgrade according to the incremental file and the file processing tag.
[0129] The software incremental upgrade method provided in this embodiment sends the current file information of the current software to the server when the client needs to upgrade, and instructs the server to return the target incremental upgrade package. The client upgrades according to the incremental files and corresponding tags in the incremental upgrade package, reducing the number of files to be processed and shortening the upgrade time. When the client file is tampered with, the incremental upgrade can still be successful. The problem that the server needs to save the historical information and the latest information of the software when generating the incremental data packet, which takes up a lot of storage space, is solved.
[0130] In some optional implementations, obtaining an incremental file and a file processing tag from a target incremental upgrade package, and performing an incremental software upgrade according to the incremental file and the file processing tag, includes:
[0131] Decompress the target incremental upgrade package to obtain incremental files, file processing tags, verification files, and file description information;
[0132] Verify the incremental file and file processing tags based on the verification file;
[0133] If the verification is successful, the incremental file is written into the software, and the software file is processed according to the file processing tag to obtain the intermediate software;
[0134] Determine whether the file of the intermediate software is consistent with the file description information. If they are consistent, treat the intermediate software as the new version software;
[0135] Restart the new version of the software. If the startup is successful, the software incremental upgrade is completed.
[0136] Specifically, the client decompresses the target incremental upgrade package to obtain incremental files, file processing tags, verification files, and file description information.
[0137] The client verifies whether the incremental file and the file processing tag are damaged or tampered with based on the verification file.
[0138] If the verification is successful, that is, it is determined that the incremental file and the file processing tag are not damaged or tampered with, the client writes the incremental file to the software, and processes the software file according to the file processing tag to obtain the intermediate software. The processing process includes: according to the record in the file processing tag, the file under the corresponding path in the target client is processed with the corresponding tag. For files that need to be updated, more refined differential processing is required based on the corresponding file tag and subdivision tag. For modified files, more refined differential processing is required using the second processing tag and the third processing tag.
[0139] Determine whether the files of the intermediate software are consistent with the file description information. Files with the first processing tag of modification and the second processing tag of overwriting are not included in the comparison. If they are consistent, the intermediate software is regarded as the new version of the software and the new version of the software is restarted. If the startup is successful, the software incremental upgrade is completed.
[0140] The above process is as follows Figure 3 As shown: unzip the incremental upgrade package; verify the incremental upgrade package; determine whether the incremental upgrade package is verified successfully. If not, end the incremental upgrade process. If successful, process the file according to the tag file, restart the target client, determine whether the client is successfully started, and if successful, update the version information to complete the incremental upgrade.
[0141] In this embodiment, the client performs incremental upgrades on the software according to the incremental files and file processing tags in the target incremental upgrade package, reducing the number of file processing and shortening the upgrade time. The incremental files and file processing tags are verified according to the verification file, and the files of the intermediate software are compared with the file description information to ensure the success of the incremental upgrade. In addition, the software files are processed using the file processing tags, so that even if the files of the current software of the client are tampered with, the software can still be upgraded to ensure the security and accuracy of the software.
[0142] In some optional implementations, before writing the incremental file into the software, the method further includes:
[0143] Back up the current software of the client and obtain the software backup information;
[0144] After restarting the new version of the software, the method also includes:
[0145] If the startup fails, the client's current software is restored according to the software backup information, and no incremental software upgrade is performed.
[0146] Specifically, before writing the incremental file to the software, that is, before upgrading the current software using the target incremental upgrade package, the client will back up the current software in the client and obtain software backup information to prevent the upgrade from failing and causing the software to be unavailable.
[0147] After restarting the new version of the software, if the new version of the software fails to start, the upgrade is rolled back and the software is restored according to the previous software backup information, and no incremental software upgrade is performed.
[0148] In addition, when judging whether the files of the intermediate software are consistent with the file description information, if it is judged that the files of the intermediate software are inconsistent with the file description information, manual intervention is required to determine whether manual processing can be performed based on the comparison results. If manual processing is possible, the new version of the software is restarted after manual processing. If it is manually judged that the incremental upgrade package cannot be repaired manually to be able to start normally, it is marked as an upgrade failure, the upgrade is rolled back, and the software is restored according to the previous software backup information, and no incremental software upgrade is performed.
[0149] The above process is as follows Figure 3 As shown: Back up the target client. If the client fails to start successfully, restore the version and end.
[0150] In this embodiment, the current software of the client is backed up to obtain software backup information, and after the software is incrementally upgraded, the software is restored according to the software backup information to prevent the software from being unavailable due to failure of the software incremental upgrade.
[0151] In some optional implementations, the process of backing up the current software of the client may include steps A1 to A7.
[0152] Step A1, when backing up the current software, the client queries the IP addresses of all hosts in the local area network where the client is located.
[0153] Step A2: the client sends a transfer station query message that can only be identified by the backup transfer station to all hosts in the local area network according to the IP address.
[0154] Step A3: The client finds out the backup transfer station deployed in the local area network by obtaining the response message corresponding to the transfer station query message.
[0155] Step A4: when a backup transfer station is found, a data backup request message is sent to the backup transfer station, so that the backup transfer station verifies the identity information bound to the backup client recorded in the data backup request.
[0156] Step A5, when obtaining the verification success message returned by the backup transfer station, the client uses the data of the current software as backup data and sends it to the backup transfer station via the local area network for storage.
[0157] Step A6, after the backup data is successfully stored in the backup transfer station, a data transfer success message sent by the backup transfer station is obtained; the data transfer success message records the storage address of the backup data in the backup transfer station.
[0158] Step A7, forwarding the data transfer success message to the backup server, instructing the backup server to download the backup data from the backup transfer station for storage according to the storage address in the data transfer success message.
[0159] In this implementation, by deploying a backup transfer station and its corresponding proxy service in the local area network where the client is located, relying on the high bandwidth of the local area network, the backup data is sent to the backup transfer station through the local area network, and the backup transfer station indirectly transmits it to the backup server, so as to achieve rapid backup of the current software. And the current software is backed up to the backup server instead of backing up the data on the client, so as to avoid the impact of incremental upgrade failure on the client, resulting in client data loss and software unavailability.
[0160] In this embodiment, a software incremental upgrade device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0161] This embodiment provides a software incremental upgrade device, which is deployed on a server, such as Figure 5 As shown, including:
[0162] The acquisition module 501 is used to obtain the current file information of the current software from the client;
[0163] The judgment module 502 is used to judge whether the server has saved the incremental upgrade package corresponding to the current file information. If it has been saved, the incremental upgrade package corresponding to the current file information is used as the target incremental upgrade package;
[0164] Comparison module 503, used for comparing the current file information with the latest file information of the latest software if it is not saved, and determining the changed files between the latest software and the current software according to the comparison result, wherein the changed files include incremental files;
[0165] A generating module 504 is used to generate a file processing tag corresponding to the changed file according to the file change of the changed file, and generate a target incremental upgrade package including the incremental file and the file processing tag;
[0166] The first sending module 505 is used to send the target incremental upgrade package to the client, and instruct the client to perform software incremental upgrade according to the target incremental upgrade package.
[0167] In some optional implementations, the changed file includes at least one of a modified file, a deleted file, and a newly added file. The generation module 504 generates a file processing tag corresponding to the changed file according to the file change of the changed file, and generates a target incremental upgrade package including the incremental file and the file processing tag, including:
[0168] Generate first processing tags corresponding to modified files, deleted files, and newly added files respectively;
[0169] Determine the modification mode corresponding to the modified file, and if the modification mode is overwriting, generate a second processing tag for the modified file;
[0170] If the modification mode is differential processing, obtaining first configuration information of the modified file and second configuration information of a file in the current software corresponding to the modified file;
[0171] Determine new configuration information and deleted configuration information by comparing the first configuration information and the second configuration information;
[0172] Generate third processing tags corresponding to the newly added configuration information and the deleted configuration information respectively;
[0173] Summarize the first processing tag, the second processing tag, and the third processing tag to obtain a file processing tag;
[0174] Generate verification codes for incremental files and file processing tags according to a preset tool, and generate a verification file containing the verification codes;
[0175] Get the file description information of the latest software from the latest file information;
[0176] Package the incremental files, file processing tags, verification files, and file description information into a target incremental upgrade package.
[0177] In some optional implementations, after generating a target incremental upgrade package including incremental files and file processing tags, the apparatus is further configured to:
[0178] Generate association information between the target incremental upgrade package and the current file information, and save the target incremental upgrade package and the association information;
[0179] Determine whether the number of saved incremental upgrade packages is equal to a preset threshold. If it is equal to the preset threshold, according to the order of the saved incremental upgrade packages, the first preset number of saved incremental upgrade packages are used as the incremental upgrade packages to be deleted;
[0180] Delete the incremental upgrade package to be deleted and the associated information corresponding to the incremental upgrade package to be deleted.
[0181] In some optional implementations, the determination module 502 determines whether the server has saved the incremental upgrade package corresponding to the current file information, including:
[0182] Determine the incremental upgrade package saved in the server, and determine the association information between the saved incremental upgrade package and the file information;
[0183] According to the associated information of the saved incremental upgrade package, it is determined whether the server has saved the incremental upgrade package corresponding to the current file information.
[0184] This embodiment provides a software incremental upgrade device, which is deployed on a client, such as Figure 6 As shown, including:
[0185] The second sending module 601 is used to obtain the current file information of the software, send the current file information to the server, and instruct the server to determine the target incremental upgrade package according to the current file information;
[0186] The upgrade module 602 is used to obtain the incremental files and file processing tags from the target incremental upgrade package when the target incremental upgrade package is obtained from the server, and perform software incremental upgrade according to the incremental files and file processing tags.
[0187] In some optional implementations, the upgrade module 602 obtains the incremental file and the file processing tag from the target incremental upgrade package, and performs the software incremental upgrade according to the incremental file and the file processing tag, including:
[0188] Decompress the target incremental upgrade package to obtain incremental files, file processing tags, verification files, and file description information;
[0189] Verify the incremental file and file processing tags according to the verification file;
[0190] If the verification is successful, the incremental file is written into the software, and the software file is processed according to the file processing tag to obtain the intermediate software;
[0191] Determine whether the file of the intermediate software is consistent with the file description information. If they are consistent, treat the intermediate software as the new version software;
[0192] Restart the new version of the software. If the startup is successful, the software incremental upgrade is completed.
[0193] In some optional implementations, before writing the incremental file into the software, the device is further configured to:
[0194] Back up the current software of the client and obtain the software backup information;
[0195] After restarting the new version of the software, the method also includes:
[0196] If the startup fails, the client's current software is restored according to the software backup information, and no incremental software upgrade is performed.
[0197] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0198] The software incremental upgrade device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0199] The embodiment of the present invention also provides a computer device having the above Figure 5 or Figure 6 The software incremental upgrade device shown.
[0200] See also Figure 7 , Figure 7 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 7 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.
[0201] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include an integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0202] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0203] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0204] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0205] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0206] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0207] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0208] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined in this application.
Claims
1. A software incremental upgrade method, characterized in that: The method is applied to a server, and the method comprises: Get the current file information of the current software from the client; Determine whether the server has saved the incremental upgrade package corresponding to the current file information, and if so, use the incremental upgrade package corresponding to the current file information as the target incremental upgrade package; If not saved, comparing the current file information with the latest file information of the latest software, and determining the changed files between the latest software and the current software according to the comparison result, wherein the changed files include incremental files; Generate a file processing tag corresponding to the changed file according to the file change status of the changed file, and generate a target incremental upgrade package including the incremental file and the file processing tag; The target incremental upgrade package is sent to the client, instructing the client to perform software incremental upgrade according to the target incremental upgrade package.
2. The method according to claim 1, characterized in that The changed file includes at least one of a modified file, a deleted file, and a newly added file. The generating of a file processing tag corresponding to the changed file according to the file change of the changed file, and generating a target incremental upgrade package including the incremental file and the file processing tag include: Generating first processing tags corresponding to the modified file, the deleted file, and the newly added file respectively; Determine a modification mode corresponding to the modified file, and if the modification mode is overwriting, generate a second processing tag for the modified file; If the modification mode is differential processing, obtaining first configuration information of the modified file and second configuration information of a file in the current software corresponding to the modified file; Determine new configuration information and deleted configuration information by comparing the first configuration information and the second configuration information; Generating third processing tags corresponding to the newly added configuration information and the deleted configuration information respectively; Summarizing the first processing tag, the second processing tag, and the third processing tag to obtain the file processing tag; Generate verification codes for the incremental file and the file processing tag according to a preset tool, and generate a verification file containing the verification code; Acquire file description information of the latest software from the latest file information; The incremental file, the file processing tag, the verification file and the file description information are packaged into the target incremental upgrade package.
3. The method according to claim 1, characterized in that After generating the target incremental upgrade package including the incremental file and the file processing tag, the method further includes: Generate association information between the target incremental upgrade package and the current file information, and save the target incremental upgrade package and the association information; Determine whether the number of saved incremental upgrade packages is equal to a preset threshold, and if so, take the first preset number of saved incremental upgrade packages as the incremental upgrade packages to be deleted according to the order of the saved incremental upgrade packages; Delete the incremental upgrade package to be deleted and the associated information corresponding to the incremental upgrade package to be deleted.
4. The method according to claim 1, characterized in that: The determining whether the server has saved the incremental upgrade package corresponding to the current file information includes: Determining the incremental upgrade package stored in the server, and determining association information between the stored incremental upgrade package and file information; According to the associated information of the saved incremental upgrade package, it is determined whether the server has saved the incremental upgrade package corresponding to the current file information.
5. A software incremental upgrade method, characterized in that: The method is applied to a client, and the method comprises: Acquire current file information of the software, send the current file information to a server, and instruct the server to determine a target incremental upgrade package according to the current file information; When the target incremental upgrade package is obtained from the server, incremental files and file processing tags are obtained from the target incremental upgrade package, and software incremental upgrade is performed according to the incremental files and the file processing tags.
6. The method according to claim 5, characterized in that The step of obtaining an incremental file and a file processing tag from the target incremental upgrade package, and performing an incremental software upgrade according to the incremental file and the file processing tag, includes: Decompress the target incremental upgrade package to obtain the incremental file, the file processing tag, the verification file and the file description information; Verify the incremental file and the file processing tag according to the verification file; If the verification is successful, the incremental file is written into the software, and the file of the software is processed according to the file processing tag to obtain the intermediate software; Determine whether the file of the intermediate software is consistent with the file description information, and if consistent, use the intermediate software as a new version of software; Restart the new version of the software. If the startup is successful, the software incremental upgrade is completed.
7. The method according to claim 6, characterized in that Before writing the incremental file into the software, the method further includes: Back up the current software of the client and obtain the software backup information; After restarting the new version software, the method further includes: If the startup fails, the current software of the client is restored according to the software backup information, and no incremental software upgrade is performed.
8. A software incremental upgrade device, characterized in that: The device is deployed on a server, and includes: The acquisition module is used to obtain the current file information of the current software from the client; A judgment module, used to judge whether the server has saved the incremental upgrade package corresponding to the current file information, and if so, use the incremental upgrade package corresponding to the current file information as the target incremental upgrade package; A comparison module, for comparing the current file information with the latest file information of the latest software if it is not saved, and determining the changed files between the latest software and the current software according to the comparison result, wherein the changed files include incremental files; A generation module, used to generate a file processing tag corresponding to the changed file according to the file change status of the changed file, and generate a target incremental upgrade package including the incremental file and the file processing tag; The first sending module is used to send the target incremental upgrade package to the client, and instruct the client to perform software incremental upgrade according to the target incremental upgrade package.
9. A software incremental upgrade device, characterized in that: The device is deployed on a client, and includes: A second sending module, used to obtain current file information of the software, send the current file information to the server, and instruct the server to determine a target incremental upgrade package according to the current file information; The upgrade module is used to obtain the incremental file and the file processing tag from the target incremental upgrade package when the target incremental upgrade package is obtained from the server, and perform software incremental upgrade according to the incremental file and the file processing tag.
10. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the software incremental upgrade method according to any one of claims 1 to 7 by executing the computer instructions.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the software incremental upgrade method according to any one of claims 1 to 7.
Citation Information
Cited By
Application updating method and device, storage medium and electronic equipment
CN121050754A
Cross-platform software processing method and computer readable storage medium
CN121326361A
