A method and device for managing software versions

Through the file container management software version, only files that do not exist in the software version to be downloaded are downloaded, which solves the problems of poor user experience and large network resource consumption during the download and update of software versions in the existing technology, and realizes efficient software version management and updated.

CN112068848BActive Publication Date: 2025-02-21BEIJING WODONG TIANJUN INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201910496126.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-06-10
Publication Date
2025-02-21
Estimated Expiration
2039-06-10

AI Technical Summary

Technical Problem

During the download or update of the software version, the existing technology requires local parsing of compressed files, resulting in poor user experience and difficulty in updating only the parts that need to be changed in the current version, consuming a large amount of network resources.

Method used

By using the file container to manage the software version, the file container is defined by the folder and configuration data. According to the file version number of the software version to be downloaded, it determines the file set that needs to be downloaded and the existing file set. Only download Files that do not exist in the software version to be downloaded and configuration data are updated to include the new folder and their corresponding file version number relationship.

Benefits of technology

It realizes that only some files are updated on the basis of historical software versions to complete the download or update of the software version, which reduces the consumption of network resources and ensures the integrity of the software version.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112068848B_ABST
    Figure CN112068848B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and device for managing software versions, and relates to the field of computer technology. A specific implementation of the method includes: S101, using a file container to manage software versions, the file container is defined by a folder and configuration data; S102, according to the matching result of the version number of the file indicated by the software version to be downloaded and the version number of the file indicated by the configuration data of the file container, determining a first file set and a second file set, the first file set containing a first file to be downloaded, and the second file set containing a second file already in the folder and indicated by the software version to be downloaded; S103, using the second file and the downloaded first file to form a new folder corresponding to the software version to be downloaded; S104, updating the configuration data. This implementation reduces the number of files required to be downloaded for the software version to be downloaded, and saves network resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a method and device for managing software versions. Background Art

[0002] Currently, in order to download or update a software version, the commonly used methods are: downloading or updating a version as a compressed file; or parsing the paths of all resources in a version for downloading or updating.

[0003] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art: when downloading or updating the software version in the form of a compressed file, it is necessary to parse it locally, and if the file download fails or is interrupted, the user needs to download it again, especially when the resource file is large, the user experience is poor; when updating by parsing all the resource paths of a version, it is necessary to distinguish the resources between different versions, and it is even more necessary to ensure the integrity of all resources of the latest version, and it is difficult to update only the parts that need to be changed in the current version based on the existing resources of the current version, which requires consuming a large amount of network resources. Summary of the invention

[0004] In view of this, an embodiment of the present invention provides a method and device for managing software versions, which can download or update the entire software version to be downloaded by only updating part of the files based on the historical software version. It can not only reduce the consumption of network resources, but also distinguish different versions of the software well, thereby ensuring the integrity of the downloaded software version.

[0005] To achieve the above-mentioned purpose, according to a first aspect of an embodiment of the present invention, a method for managing software versions is provided, comprising: using a file container to manage software versions, the file container is defined by a folder and configuration data, the folder indicates a version number of the software, and the configuration data indicates a correspondence between the folder, the files included in the folder, and the version numbers of the files; determining a first file set and a second file set according to a matching result between the version number of the file indicated by the software version to be downloaded and the version number of the file indicated by the configuration data of the file container, wherein the first file set includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded; utilizing the second file and the downloaded first file to form a new folder corresponding to the software version to be downloaded; and updating the configuration data to include the new folder, the files included in the new folder, and the correspondence between the version numbers of the files included in the new folder.

[0006] Optionally, the method further includes: recording a download status of the first file, and determining whether to continue downloading the first file according to the download status.

[0007] Optionally, a predefined number of folders is retained, and when a new folder is constructed, if the number of folders exceeds the predefined number, the earliest constructed folder indicated by the configuration data is deleted.

[0008] Optionally, the file container is divided into a working area and a historical area, the working area is used to store folders corresponding to the software version currently in use, and the historical area is used to store folders corresponding to the historical software version.

[0009] Optionally, a uniform resource locator is used to indicate the version number of the file.

[0010] Optionally, a breakpoint downloading technology is used to continue downloading the first file.

[0011] Optionally, the configuration data is established for the file container according to a unique path corresponding to the file container; when the unique path includes a dynamically changing portion, the dynamically changing portion is removed.

[0012] To achieve the above-mentioned purpose, according to a second aspect of an embodiment of the present invention, there is provided an apparatus for managing software versions, comprising: a version management module, a file determination module, a folder construction module, and a configuration data update module; wherein the version management module is used to manage software versions using a file container, wherein the file container is defined by a folder and configuration data, wherein the folder indicates a version number of the software, and wherein the configuration data indicates a correspondence between the folder, the files included in the folder, and the version numbers of the files; wherein the file determination module is used to determine a first file set and a second file set according to a matching result between the version number of the file indicated by the software version to be downloaded and the version number of the file indicated by the configuration data of the file container, wherein the first file set includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded; wherein the folder construction module is used to construct a new folder corresponding to the software version to be downloaded using the second file and the downloaded first file; and wherein the configuration data update module is used to update the configuration data to include the correspondence between the new folder, the files included in the new folder, and the version numbers of the files included in the new folder.

[0013] Optionally, the configuration data updating module is further used to record the download status of the first file, and determine whether to continue downloading the first file according to the download status.

[0014] Optionally, the folder construction module is further used to retain a predefined number of folders, and when a new folder is constructed, if the number of folders exceeds the predefined number, delete the earliest constructed folder indicated by the configuration data.

[0015] Optionally, the version management module is used to divide the file container into a working area and a historical area, the working area is used to store folders corresponding to the currently used software version, and the historical area is used to store folders corresponding to historical software versions.

[0016] Optionally, a uniform resource locator is used to indicate the version number of the file.

[0017] Optionally, the folder constitutes a module for continuing to download the first file using a breakpoint downloading technology.

[0018] Optionally, the version management module is used to establish the configuration data for the file container according to the unique path corresponding to the file container; when the unique path contains a dynamically changing part, remove the dynamically changing part.

[0019] To achieve the above-mentioned purpose, according to the third aspect of an embodiment of the present invention, a server for managing software versions is provided, comprising: one or more processors; a storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement any of the methods for managing software versions described above.

[0020] To achieve the above objective, according to a fourth aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored, and when the program is executed by a processor, any of the methods described above for managing software versions is implemented.

[0021] One embodiment of the above invention has the following advantages or beneficial effects: since the software version is managed by a file container defined by configuration data and folders, it is possible to distinguish the various versions of the software well, and to utilize the existing files in the historical software version, thereby reducing the file download amount of the software version to be downloaded and reducing the consumption of network resources.

[0022] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with specific implementation examples. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.

[0024] Figure 1is a schematic diagram of the main process of the method for managing software versions according to an embodiment of the present invention;

[0025] Figure 2 is a schematic diagram of the main structure of a file container according to an embodiment of the present invention;

[0026] Figure 3a is a schematic diagram of the main process of the method for forming a new folder according to an embodiment of the present invention;

[0027] Figure 3b is a schematic diagram of the main process of another method for forming a new folder according to an embodiment of the present invention;

[0028] Figure 4 is a schematic diagram of main modules of an apparatus for managing software versions according to an embodiment of the present invention;

[0029] Figure 5 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;

[0030] Figure 6 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0031] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0032] See also Figure 1 The embodiment of the present invention provides a method for managing software versions, which may specifically include the following steps:

[0033] Step S101, using a file container to manage software versions, the file container is defined by a folder and configuration data, the folder indicates the version number of the software, and the configuration data indicates the correspondence between the folder, the files included in the folder, and the version numbers of the files.

[0034] Software includes applications, system software, etc. In the file container, each software version uniquely corresponds to a folder, and the same file container is only used to manage different versions of the same software; and the files contained in the folder may include: executable files, library files corresponding to the software, configuration files, etc.; the version number of the file is used to identify the file. As shown in Table 1 below, it can be seen from the content indicated by the configuration data of the file container that there are three folders stored in the file container, namely D1, D2, and D3 corresponding to three different versions V1, V2, and V3 of the same software respectively; and the folder D1 contains three files, and the corresponding file version numbers are F1, F2, and F3, and the three files are all in the downloaded state, that is, the three files have been downloaded to the folder D1; and the download status of the files contained in the folder D3 shows that the file with version number F7 is in the downloading state or in the downloading paused state, and the file with version number F8 has not yet been downloaded to the D3 folder. It is understandable that when there is a change in the folder or the folder content in the file container, the content in the configuration data is updated accordingly. For example, when the file with version number F7 is downloaded, the corresponding download status is updated to downloaded.

[0035] Table 1 Schematic diagram of configuration data of file container

[0036]

[0037] In an optional implementation, since the configuration data of the file container is used to manage the folders in the file container and requires persistent updates, the configuration data is established for the file container according to the unique path corresponding to the file container; when the unique path contains a dynamically changing part, the dynamically changing part is removed. Specifically, the path of the sandbox on the IOS platform changes dynamically, so when establishing the configuration data, the acquired sandbox path needs to be processed, the dynamically changing part of the sandbox path is removed, the non-dynamically changing part is retained, and then the configuration data is established based on the non-dynamically changing part.

[0038] In an optional implementation, when multiple software versions need to be stored in a file container, in order to more conveniently distinguish the currently used version from the historical version, the file container is divided into a working area and a historical area, the working area is used to store folders corresponding to the currently used software version, and the historical area is used to store folders corresponding to the historical software versions. Figure 2, take the example of three software versions stored in the file container, the software version corresponding to the folder D1 stored in the work area is the currently used software version, and the software versions corresponding to the folders D2 and D3 stored in the history area are historical software versions. When there is a problem with the software version corresponding to the folder D1, you can downgrade the version to use the software versions corresponding to the folders D2 and D3 in the history area to improve the reliability of software operation.

[0039] Step S102, determining a first file set and a second file set based on a match result between a version number of a file indicated by the software version to be downloaded and a version number of a file indicated by the configuration data of the file container, wherein the first file includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded.

[0040] The number of first files included in the first file set and the number of second files included in the second file set shall be determined according to the specific situation, and may be zero, one or more. The first file is a file that exists in the software version to be downloaded but does not exist in other versions in the file container; the second file is a file that exists in the software version to be downloaded and already exists in other versions in the file container. In other words, in order to obtain the software version to be downloaded, the first file needs to be downloaded from the network, while the second file can be obtained directly from other versions in the file container without downloading from the network, which can greatly reduce the number of files that need to be downloaded in the software version to be downloaded.

[0041] In an optional implementation, a uniform resource locator is used to represent the version number of the file. The uniform resource locator is a URL path, which contains the version number corresponding to the file, that is, the identifier of the file, and the same resource path represents the same resource file. Therefore, the first file and the second file can be determined by using the matching result of the URL path indicated by the version of the software to be downloaded and the URL path indicated by the file container.

[0042] It is understandable that in order to avoid the situation where files in the folder are manually deleted, before confirming the first file and the second file, the download status of the file indicated in the configuration data is used to confirm whether the downloaded files in the folder are consistent with the download status. If they are inconsistent, the download status in the configuration data is updated.

[0043] Step S103: Use the second file and the downloaded first file to form a new folder corresponding to the software version to be downloaded.

[0044] It is understandable that, since when constructing a new folder corresponding to the software version to be downloaded, there are already folders corresponding to the currently used software version and one or more historical software versions in the file container, the files in the file container can be processed in a variety of ways (such as copying, deleting, moving, etc.) to construct a new folder. For example, first copy to create a blank new folder, then copy the second file to the blank new folder, and then download the first file to the blank new folder, so that the formed new folder corresponds to the software version to be downloaded. Alternatively, first copy the folder corresponding to the currently used software version, and based on this folder, delete the files that are not needed by the software version to be downloaded, retain the required second file, and then download the first file to the folder to form a new folder corresponding to the software version to be downloaded.

[0045] In an optional implementation, during the process of downloading the first file, the download status of the first file is recorded, and whether the first file needs to be continued to be downloaded is determined according to the download status. During the first file download process, according to the download progress of the first file, the download status corresponding to the first file in the configuration data is synchronously updated, so as to facilitate the continuation of downloading of the incompletely downloaded file in the event of download interruption, download failure, etc.

[0046] In an optional implementation, in order to achieve seamless breakpoint resuming of files and reduce problems such as repeated downloading, increased downloading time, and reduced user experience caused by download interruptions and download failures, the first file is continued to be downloaded using a breakpoint downloading technology. Specifically, the download progress of the file can be determined based on the download status of the first file recorded in the configuration data, and the download of unfinished files can be continued based on the previous download, and the download of undownloaded files can be continued to be completed.

[0047] It is understandable that after the download of the first file is completed, or the second file is copied, the second file and the first file should be renamed according to the requirements of the software version to be downloaded.

[0048] It is worth noting that if a predefined number of folders is reserved, if the number of folders exceeds the predefined number, when a new folder is formed, the earliest formed folder indicated by the configuration data is deleted. Figure 2 , taking retaining 3 folders as an example, when a new folder is created, the file container now contains 4 folders, namely D1, D2, D3, and the new folder. The number of folders exceeds the predefined number of 3, so it is necessary to delete the folder in the history area that corresponds to the oldest software version, that is, the earliest folder D1.

[0049] Step S104: Update the configuration data to include the correspondence between the new folder, the files included in the new folder, and the version numbers of the files included in the new folder.

[0050] In addition, the number of downloaded files recorded in the configuration data can be compared with the number of files included in the software version to be downloaded. If they are consistent, it means that all files in the file set to be downloaded have been downloaded. If they are inconsistent, it means that there are still files that have not been downloaded, and you need to continue downloading the files that have not been downloaded.

[0051] Based on the above embodiments, the method for managing software versions provided by the present invention can not only distinguish different software versions well, but also download only files that exist only in the software version to be downloaded based on the files in the folders corresponding to each software version that already exist in the file container, thereby reducing the amount of file downloads and greatly saving network resources; in addition, since breakpoint download technology is used when downloading files, breakpoint resumption between files is achieved, further improving the utilization rate of network resources.

[0052] See also Figure 2 and Figure 3a Based on the above embodiment, the present invention provides a method for constructing a new folder, which may include the following steps:

[0053] Step S1031a, create a blank new folder corresponding to the software version to be downloaded in the workspace. It is understandable that after creating a new folder in the workspace, the corresponding added file container configuration data includes information such as the new folder name, the software version number corresponding to the new folder, and the files contained in the new folder.

[0054] Step S1032a, move the folder corresponding to the currently used version in the workspace to the history area. Figure 2 If a new folder is added to the workspace, the original folder D1 in the workspace will be moved to the history area.

[0055] Step S1033a, copy the second file in the history area to the new folder, and download the first file to the new folder.

[0056] When copying the second file in the history area to the new folder, not only the second files in the folders D1 and D2 but also the files in D3 should be copied, so that the number of second files is as large as possible and the number of first files to be downloaded is as small as possible. It can be understood that when it is found that the number of first files to be downloaded is zero, that is, all files of the software version to be downloaded already exist in other software versions stored in the file container, the construction of the new folder can be completed without network download, and the download update of the software version to be downloaded is completed.

[0057] See also Figure 2 and Figure 3b Based on the above embodiment, the present invention provides a method for constructing a new folder, which may include the following steps:

[0058] Step S1031b, copy the folder corresponding to the currently used software version in the working area to the history area.

[0059] Since the file will be deleted in the workspace later, the folder corresponding to the currently used software version in the workspace needs to be copied to the history area for storage and backup.

[0060] Step S1032b, deleting files in the working area except the second file, and copying the second file in the folder corresponding to the historical software version in the historical area to the working area.

[0061] Since the software version to be downloaded is different from the software version currently used in the working area in terms of the number of files or the content of files, the files that are not needed by the software version to be downloaded in the working area need to be copied. Then, the second file in the folder corresponding to the historical software version in the history area is copied to the working area as the downloaded file in the new folder corresponding to the software version to be downloaded.

[0062] Step S1033b: download the first file to the workspace, and form a new folder corresponding to the software version to be downloaded with the second file.

[0063] See also Figure 4 The embodiment of the present invention provides a device 400 for managing software versions, including: a version management module 401, a file determination module 402, a folder composition module 403, and a configuration data update module 404; wherein,

[0064] The version management module 401 is used to manage the software version using a file container, wherein the file container is defined by a folder and configuration data, wherein the folder indicates the version number of the software, and the configuration data indicates the correspondence between the folder, the files included in the folder, and the version numbers of the files;

[0065] The file determination module 402 is used to determine a first file set and a second file set according to a matching result of a version number of a file indicated by the software version to be downloaded and a version number of a file indicated by the configuration data of the file container, wherein the first file set includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded;

[0066] The folder forming module 403 is used to form a new folder corresponding to the software version to be downloaded by using the second file and the first downloaded file;

[0067] The configuration data updating module 404 is used to update the configuration data to include the correspondence between the new folder, the files included in the new folder, and the version numbers of the files included in the new folder.

[0068] In an optional implementation, the configuration data updating module 404 is further configured to record the download status of the first file, and determine whether to continue downloading the first file according to the download status.

[0069] In an optional implementation, the folder construction module 403 is further configured to retain a predefined number of folders, and when a new folder is constructed, if the number of folders exceeds the predefined number, the earliest constructed folder indicated by the configuration data is deleted.

[0070] In an optional implementation, the version management module 401 is used to divide the file container into a working area and a historical area, the working area is used to store folders corresponding to the currently used software version, and the historical area is used to store folders corresponding to historical software versions.

[0071] In an optional implementation, a uniform resource locator is used to represent the version number of the file.

[0072] In an optional implementation, the folder composition module 403 is used to continue downloading the first file using a breakpoint downloading technology.

[0073] In an optional implementation, the version management module 401 is used to establish the configuration data for the file container according to the unique path corresponding to the file container; when the unique path contains a dynamically changing part, remove the dynamically changing part.

[0074] Figure 5 An exemplary system architecture 500 is shown to which the method or apparatus for managing software versions according to the embodiments of the present invention may be applied.

[0075] like Figure 5 As shown, system architecture 500 may include terminal devices 501, 502, 503, a network 504 and a server 505. Network 504 is used to provide a medium for communication links between terminal devices 501, 502, 503 and server 505. Network 504 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0076] Users can use terminal devices 501, 502, 503 to interact with server 505 through network 504 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 501, 502, 503, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc.

[0077] The terminal devices 501 , 502 , and 503 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0078] The server 505 may be a server that provides various services, such as a backend management server that provides support for shopping websites browsed by users using the terminal devices 501, 502, and 503. The backend management server may analyze and process the received data such as product information query requests, and feed back the processing results (such as the constructed new folder) to the terminal device.

[0079] It should be noted that the method for managing software versions provided in the embodiment of the present invention is generally executed by the server 505 , and accordingly, the device for managing software versions is generally set in the server 505 .

[0080] It should be understood that Figure 5 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0081] Reference below Figure 6 , which shows a schematic diagram of the structure of a computer system 600 of a terminal device suitable for implementing an embodiment of the present invention. Figure 6 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0082] like Figure 6As shown, the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the system 600 are also stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0083] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0084] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the system of the present invention are executed.

[0085] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0086] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0087] The modules involved in the embodiments of the present invention may be implemented by software or hardware. The modules described may also be set in a processor, for example, it may be described as: a processor includes: a version management module, a file determination module, a folder composition module, and a configuration data update module. The names of these modules do not constitute a limitation on the modules themselves in some cases, for example, the file determination module may also be described as a "module for determining a first file set and a second file set".

[0088] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: using a file container to manage the software version, the file container is defined by a folder and configuration data, the folder indicates the version number of the software, and the configuration data indicates the folder, the files included in the folder, and the corresponding relationship between the version numbers of the files; according to the matching result of the version number of the file indicated by the software version to be downloaded and the version number of the file indicated by the configuration data of the file container, determining a first file set and a second file set, wherein the first file set includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded; using the second file and the downloaded first file to form a new folder corresponding to the software version to be downloaded; updating the configuration data to include the new folder, the files included in the new folder, and the corresponding relationship between the version numbers of the files included in the new folder.

[0089] According to the technical solution of the embodiment of the present invention, not only can different software versions be distinguished well, but also based on the files in the folders corresponding to each software version already existing in the file container, only the files that only exist in the software version to be downloaded can be downloaded, thereby reducing the amount of file downloads and greatly saving network resources; in addition, since the breakpoint download technology is used when downloading files, breakpoint resumption between files is realized, further improving the utilization rate of network resources.

[0090] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for managing software versions, characterized in that: include: A file container is used to manage software versions. The file container is defined by a folder and configuration data. The folder indicates the version number of the software. The configuration data indicates the correspondence between the folder, the files included in the folder, and the version numbers of the files. In the file container, each software version uniquely corresponds to a folder, and the same file container is only used to manage different versions of the same software. When multiple software versions need to be stored in the file container, the file container is divided into a working area and a historical area. The working area is used to store folders corresponding to the currently used software version, and the historical area is used to store folders corresponding to historical software versions. Determine a first file set and a second file set according to a match result between a version number of a file indicated by the software version to be downloaded and a version number of a file indicated by the configuration data of the file container, wherein the first file set includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded; Using the second file and the downloaded first file to form a new folder corresponding to the software version to be downloaded; The configuration data is updated to include a correspondence between the new folder, the files included in the new folder, and the version numbers of the files included in the new folder.

2. The method for managing software versions according to claim 1, characterized in that: Also includes: The download status of the first file is recorded, and whether the first file needs to be continued to be downloaded is determined according to the download status.

3. The method for managing software versions according to claim 1, characterized in that: A predefined number of folders are retained, and when a new folder is constructed, if the number of folders exceeds the predefined number, the earliest constructed folder indicated by the configuration data is deleted.

4. The method for managing software versions according to claim 1, characterized in that: A Uniform Resource Locator is used to indicate the version number of the file.

5. The method for managing software versions according to claim 2, characterized in that: Use the breakpoint downloading technology to continue downloading the first file.

6. The method for managing software versions according to claim 1, characterized in that: The configuration data is established for the file container according to the unique path corresponding to the file container; when the unique path includes a dynamically changing part, the dynamically changing part is removed.

7. A device for managing software versions, characterized in that: include: Version management module, file determination module, folder composition module, configuration data update module; among them, The version management module is used to manage software versions using a file container, wherein the file container is defined by a folder and configuration data, wherein the folder indicates a version number of the software, and wherein the configuration data indicates a correspondence between the folder, the files included in the folder, and the version numbers of the files; wherein in the file container, each software version uniquely corresponds to a folder, and the same file container is only used to manage different versions of the same software; when multiple software versions need to be stored in the file container, the file container is divided into a working area and a historical area, wherein the working area is used to store folders corresponding to the currently used software version, and the historical area is used to store folders corresponding to historical software versions; The file determination module is used to determine a first file set and a second file set according to a matching result between a version number of a file indicated by the software version to be downloaded and a version number of a file indicated by the configuration data of the file container, wherein the first file set includes a first file to be downloaded, and the second file set includes a second file already in the folder and indicated by the software version to be downloaded; The folder construction module is used to construct a new folder corresponding to the software version to be downloaded using the second file and the downloaded first file; The configuration data updating module is used to update the configuration data to include the correspondence between the new folder, the files included in the new folder, and the version numbers of the files included in the new folder.

8. The device for managing software versions according to claim 7, characterized in that: The configuration data updating module is further used to record the download status of the first file, and determine whether to continue downloading the first file according to the download status.

9. The device for managing software versions according to claim 7, characterized in that: The folder construction module is further used to retain a predefined number of folders, and when a new folder is constructed, if the number of folders exceeds the predefined number, delete the earliest constructed folder indicated by the configuration data.

10. The device for managing software versions according to claim 7, characterized in that: A Uniform Resource Locator is used to indicate the version number of the file.

11. The device for managing software versions according to claim 8, characterized in that: The folder constitutes a module, which is used to continue downloading the first file by using the breakpoint downloading technology.

12. The device for managing software versions according to claim 8, characterized in that: The version management module is used to establish the configuration data for the file container according to the unique path corresponding to the file container; when the unique path contains a dynamically changing part, remove the dynamically changing part.

13. A server for managing software versions, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

14. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Method, equipment and system of incremental update

    US20150220317A1