CN112068848A - Method and device for managing software version - Google Patents

Method and device for managing software version Download PDF

Info

Publication number
CN112068848A
CN112068848A CN201910496126.5A CN201910496126A CN112068848A CN 112068848 A CN112068848 A CN 112068848A CN 201910496126 A CN201910496126 A CN 201910496126A CN 112068848 A CN112068848 A CN 112068848A
Authority
CN
China
Prior art keywords
file
folder
version
downloaded
configuration data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910496126.5A
Other languages
Chinese (zh)
Inventor
郭挺
袁檀
王守野
刘卫程
黄珊
杨旭
段小秋
何芊芊
尹国梁
马千里
牛之奎
苑文斌
袁玉敏
贺浩
孟庆东
周敏
戴风雷
刘江涛
张栋
李夙璃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Priority to CN201910496126.5A priority Critical patent/CN112068848A/en
Publication of CN112068848A publication Critical patent/CN112068848A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The invention discloses a method and a device for managing software versions, and relates to the technical field of computers. One embodiment of the method comprises: s101, managing software versions by using a file container, wherein the file container is defined by a folder and configuration data; s102, determining a first file set and a second file set according to a 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, wherein the first file set comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded; s103, forming a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file; and S104, updating the configuration data. The implementation mode reduces the number of downloaded files required by the software version to be downloaded and saves network resources.

Description

Method and device for managing software version
Technical Field
The invention relates to the technical field of computers, in particular to a method and a device for managing software versions.
Background
At present, to realize downloading or updating of software versions, methods commonly used include: downloading or updating a version as a compressed file; or analyze the paths of all resources in one version for downloading or updating.
In the process of implementing the invention, the inventor finds that at least the following problems exist in the prior art: when downloading or updating a software version in a compressed file form, analysis needs to be performed locally, and if the file downloading fails, is interrupted and the like, a user needs to download again, and particularly under the condition that a resource file is large, the user experience is poor; when all resource paths of one version are analyzed for updating, resources among different versions need to be distinguished, integrity of all resources of the latest version needs to be guaranteed, and only the part needing to be changed in the current version needs to be updated based on existing resources of the current version, so that a large amount of network resources need to be consumed.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and an apparatus for managing a software version, which can only update a part of files to download or update a whole software version to be downloaded on the basis of a historical software version, thereby reducing consumption of network resources, well distinguishing different versions of software, and ensuring integrity of the downloaded software version.
To achieve the above object, according to a first aspect of embodiments of the present invention, there is provided a method of managing software versions, including: managing software versions using a file container, the file container being defined by a folder indicating a version number of software and configuration data indicating a correspondence of the folder, files included in the folder, and version numbers of the files; determining a first file set and a second file set according to a 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, wherein the first file set comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded; forming a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file; updating the configuration data to include a correspondence of the new folder, the files included by the new folder, and the version numbers of the files included by the new folder.
Optionally, the method further comprises: and recording the downloading state of the first file, and judging whether the first file needs to be continuously downloaded according to the downloading state.
Optionally, a predefined number of folders is reserved, and after a new folder is formed, if the number of folders exceeds the predefined number, the earliest formed folder indicated by the configuration data is deleted.
Optionally, the file container is divided into a working area and a history area, the working area is used for storing folders corresponding to the currently used software versions, and the history area is used for storing folders corresponding to the historical software versions.
Optionally, a uniform resource locator is used to indicate the version number of the file.
Optionally, the downloading of the first file is continued by using a breakpoint download technology.
Optionally, the configuration data is established for the file container according to the unique path corresponding to the file container; and when the unique path contains the dynamically changed part, removing the dynamically changed part.
To achieve the above object, according to a second aspect of embodiments of the present invention, there is provided an apparatus for managing a soft version, including: the system comprises a version management module, a file determination module, a folder composition module and a configuration data updating module; the version management module is used for managing software versions by using a file container, 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 corresponding relation among the folder, files contained in the folder and the version number of the files; the file determining module is used for determining a first file set and a second file set according to a 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, wherein the first file set comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded; the folder forming module is used for forming a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file; the configuration data updating module is configured to update the configuration data to include a corresponding relationship between the new folder, the file included in the new folder, and the version number of the file included in the new folder.
Optionally, the configuration data updating module is further configured to record a downloading state of the first file, and determine whether the first file needs to be continuously downloaded according to the downloading state.
Optionally, the folder forming module is further configured to reserve a predefined number of folders, and delete the earliest formed folder indicated by the configuration data if the number of folders exceeds the predefined number after a new folder is formed.
Optionally, the version management module is configured to divide the file container into a working area and a history area, where the working area is used to store folders corresponding to currently used software versions, and the history area is used to store folders corresponding to historical software versions.
Optionally, a uniform resource locator is used to indicate the version number of the file.
Optionally, the folder construction module is configured to continue downloading the first file by using a breakpoint download technology.
Optionally, the version management module is configured to establish the configuration data for the file container according to a unique path corresponding to the file container; and when the unique path contains the dynamically changed part, removing the dynamically changed part.
To achieve the above object, according to a third aspect of embodiments of the present invention, there is provided a server for managing software versions, including: one or more processors; storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to carry out a method according to any one of the methods of managing software versions described above.
To achieve the above object, according to a fourth aspect of embodiments of the present invention, there is provided a computer-readable medium having stored thereon a computer program which, when executed by a processor, implements any one of the methods of managing software versions described above.
One embodiment of the above invention has the following advantages or benefits: because the software version is managed by the file container defined by the configuration data and the folder, the versions of the software can be well distinguished, existing files in the historical software version can be utilized, the file downloading amount of the software version to be downloaded is reduced, and the consumption of network resources is reduced.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of the main flow of a method of managing software versions according to an embodiment of the invention;
FIG. 2 is a schematic diagram of the principal structure of a document container according to an embodiment of the present invention;
FIG. 3a is a schematic diagram of the main flow of a method of composing a new folder according to an embodiment of the present invention;
FIG. 3b is a schematic diagram of the main flow of another method of composing a new folder according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of the major modules of an apparatus for managing software versions in accordance with an embodiment of the present invention;
FIG. 5 is an exemplary system architecture diagram in which embodiments of the present invention may be employed;
fig. 6 is a schematic block diagram of a computer system suitable for use in implementing a terminal device or server of an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Referring to fig. 1, an embodiment of the present invention provides a method for managing a software version, which may specifically include the following steps:
step S101, managing software versions using a file container, the file container being defined by a folder and configuration data, the folder indicating a version number of software, and the configuration data indicating a correspondence relationship between the folder, files included in the folder, and the version number of the files.
The software comprises an application program, system software and the like, each software version only corresponds to one folder in a file container, and the same file container is only used for managing 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 and the like; the version number of the file is used to identify the file. As shown in table 1 below, as can be seen from the content indicated by the configuration data of the file container, three folders are stored in the file container, i.e., D1, D2, and D3 correspond to three different versions V1, V2, and V3 of the same software, respectively; the folder D1 contains three files, the version numbers of the corresponding files are F1, F2 and F3, and the three files are all in a downloaded state, that is, the three files are all downloaded to the folder D1; the download status of the files contained in the folder D3 indicates that the file with version number F7 is in a download status or in a download suspended status, and the file with version number F8 is not yet downloaded into the folder D3. It will be appreciated that when there is a change in the folder in the file container, or a change in the contents of the folder, the corresponding download status is updated to downloaded when the corresponding update configuration data, such as the file with version number F7, completes downloading.
TABLE 1 schematic of configuration data for a File Container
Figure BDA0002088626600000061
In an optional embodiment, since the configuration data of the file container is used for managing folders in the file container and needs to be persistently updated, the configuration data is established for the file container according to a unique path corresponding to the file container; and when the unique path contains the dynamically changed part, removing the dynamically changed part. Specifically, the path of the sandbox under the IOS platform is dynamically changed, so that the acquired sandbox path needs to be processed when the configuration data is established, the dynamically changed part in the sandbox path is removed, the non-dynamically changed part is reserved, and then the configuration data is established according to the non-dynamically changed part.
In an optional implementation manner, when a plurality of software versions need to be stored in a file container, in order to more conveniently distinguish a currently used version from a historical version, the file container is divided into a working area and a historical area, the working area is used for storing folders corresponding to the currently used software version, and the historical area is used for storing folders corresponding to the historical software version. Specifically, referring to fig. 2, taking three software versions stored in the file container as an example for explanation, the software version corresponding to the folder D1 stored in the working area is the currently used software version, and the software versions corresponding to the folders D2 and D3 stored in the history area are the history software versions. When a problem occurs in the software version corresponding to the folder D1, the software version corresponding to the folders D2 and D3 in the version-down use history area can be used to improve the running reliability of the software.
Step S102, determining a first file set and a second file set according to a 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, wherein the first file comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded.
The number of the first files contained in the first file set and the number of the second files contained in the second file set may be zero, one or more, as the case may be. The first file is a file which exists in the downloaded software version but does not exist in other versions in the file container; the second file is a file that exists both in the version of the software to be downloaded and in other versions already in the file container. That is, to obtain the software version to be downloaded, the first file needs to be obtained through network downloading, and the second file can be directly obtained from other versions in the file container without network downloading, so that the number of files to be downloaded in the software version to be downloaded can be greatly reduced.
In an alternative embodiment, a uniform resource locator is used to indicate the version number of the file. The uniform resource locator is a URL path, which contains a version number corresponding to the file, i.e., an 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 using the matching result of the URL path indicated by the software version to be downloaded and the URL path indicated by the file container.
It can be understood that, to avoid the situation of deleting files in the folder manually, before the first file and the second file are confirmed, whether the downloaded files in the folder are consistent with the download status is confirmed according to the download status of the files indicated in the configuration data, and if not, the download status in the configuration data is updated.
Step S103, a new folder corresponding to the software version to be downloaded is formed by using the second file and the downloaded first file.
It is to be understood that since there are folders already in the file container corresponding to the currently used software version, one or more historical software versions, when constructing a new folder corresponding to the software version to be downloaded, the files in the file container can be processed in a variety of ways (e.g., copied, deleted, moved, etc.) to construct the new folder. If a blank new folder is copied and established, the second file is copied to the blank new folder, and then the first file is downloaded to the blank new folder, so that the formed new folder corresponds to the version of the software to be downloaded. Or copying a folder corresponding to the currently used software version, deleting files which are not needed by the software version to be downloaded on the basis of the folder, reserving needed second files, and then downloading the first files to the folder to form a new folder corresponding to the software version to be downloaded.
In an optional implementation manner, in the process of downloading a first file, the downloading state of the first file is recorded, and whether the first file needs to be continuously downloaded is determined according to the downloading state. In the first file downloading process, the downloading state corresponding to the first file in the configuration data is synchronously updated according to the downloading process of the first file, so that the files which are not downloaded can be continuously downloaded when the downloading is interrupted, the downloading is failed and the like.
In an optional implementation manner, in order to implement breakpoint continuous transmission of seamless connection of files, reduce problems of repeated downloading, increased downloading time consumption, reduced user experience, and the like caused by downloading interruption, downloading failure, and the like, a breakpoint downloading technology is used to continue downloading the first file. Specifically, the downloading process of the file may be determined according to the downloading state of the first file recorded in the configuration data, and for an unfinished file, the file is continuously downloaded on the basis of the previous downloading, and for an unmounted file, the downloading is continuously completed.
It is understood that after the downloading of the first file is completed or the second file is copied, the second file and the first file are renamed according to the requirements of the software version to be downloaded.
It is noted that if a predefined number of folders is reserved, if the number of folders exceeds the predefined number, the oldest constructed folder indicated by the configuration data is deleted after the new folder is constructed. Specifically, referring to fig. 2, taking the example of reserving 3 folders as an example, when a new folder is created, the file container contains 4 folders, i.e., D1, D2, D3, and the new folder, so that the number of folders exceeds the predefined number of 3, and therefore, the folder corresponding to the oldest software version in the history region, i.e., the oldest folder D1, needs to be deleted.
Step S104, updating the configuration data to include the corresponding relation of the new folder, the files included in the new folder and the version numbers of the files included in the new folder.
In addition, whether the number of downloaded files recorded in the configuration data is consistent with the number of files contained in the software version to be downloaded or not can be compared, if so, it is indicated that all the files in the file set to be downloaded are downloaded, and if not, it is indicated that the files which are not downloaded still exist, and the downloading of the files which are not downloaded needs to be continued.
Based on the embodiment, the method for managing the software versions provided by the invention not only can well distinguish different software versions, but also can only download the files only existing in the software version to be downloaded based on the files in the folders corresponding to the software versions existing in the file container, thereby reducing the downloading amount of the files and greatly saving network resources; in addition, due to the adoption of the breakpoint downloading technology during file downloading, breakpoint continuous transmission among files is realized, and the utilization rate of network resources is further improved.
Referring to fig. 2 and fig. 3a, on the basis of the above embodiments, an embodiment of the present invention provides a method for constructing a new folder, which may specifically include the following steps:
step S1031a, a blank new folder corresponding to the version of the software to be downloaded is created in the workspace. It can be understood that, after a new folder is created in the working area, the corresponding added file container configuration data includes information such as a name of the new folder, a software version number corresponding to the new folder, and a file included in the new folder.
In step S1032a, the folder in the work area corresponding to the currently used version is moved to the history area. Specifically, referring to fig. 2, if a new folder is newly added in the work area, the folder D1 originally existing in the work area is moved to the history area.
Step S1033a, copies the second file existing in the history area into a new folder, and downloads the first file into the new folder.
When copying the second files existing in the history area to the new folder, not only the second files existing in the folders D1, D2, but also the files existing in D3 are copied so that the number of the second files is as large as possible and the number of the first files that need to be downloaded is as small as possible. It can be understood that, when it is obtained that the number of the first files to be downloaded is zero, that is, all the files of the software version to be downloaded exist in other software versions stored in the file container, the new folder can be constructed without network downloading, and the downloading and updating of the software version to be downloaded are completed.
Referring to fig. 2 and fig. 3b, on the basis of the foregoing embodiments, an embodiment of the present invention provides a method for constructing a new folder, which may specifically include the following steps:
in step S1031b, the folder in the work area corresponding to the currently used software version is copied into the history area.
Since the operation of deleting the file is performed in the working area subsequently, the folder corresponding to the currently used software version stored in the working area needs to be copied to the history area for storage and backup.
Step S1032b deletes the file other than the second file in the work area, and copies the second file in the folder corresponding to the history software version in the history area to the work area.
Since the software version to be downloaded and the software version currently used in the working area have different file numbers or file contents, a file which is not needed by the software version to be downloaded existing in the working area needs to be used. 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.
Step S1033b, the first file is downloaded into the work area, and forms a new folder corresponding to the version of the software to be downloaded with the second file.
Referring to fig. 4, an embodiment of the present invention provides an apparatus 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 the content of the first and second substances,
the version management module 401 is configured to manage software versions by using a file container, where the file container is defined by a folder and configuration data, the folder indicates a version number of software, and the configuration data indicates a correspondence relationship between the folder, files included in the folder, and the version number of the files;
the file determining module 402 is configured 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 a software version to be downloaded and a version number of a file indicated by configuration data of the file container, where the first file set includes a first file to be downloaded, and the second file set includes a second file existing in the folder and indicated by the software version to be downloaded;
the folder forming module 403 is configured to form a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file;
the configuration data updating module 404 is configured to update the configuration data to include a corresponding relationship between the new folder, the file included in the new folder, and the version number of the file included in the new folder.
In an optional implementation manner, the configuration data updating module 404 is further configured to record a downloading state of the first file, and determine whether to continue downloading the first file according to the downloading state.
In an alternative embodiment, the folder construction module 403 is further configured to reserve a predefined number of folders, and delete the earliest constructed folder indicated by the configuration data if the number of folders exceeds the predefined number after constructing a new folder.
In an alternative embodiment, the version management module 401 is configured to divide the file container into a working area and a history area, where the working area is used to store folders corresponding to currently used software versions, and the history area is used to store folders corresponding to historical software versions.
In an alternative embodiment, a uniform resource locator is used to indicate the version number of the file.
In an alternative embodiment, the folder construction module 403 is configured to continue downloading the first file using a breakpoint download technique.
In an optional implementation manner, the version management module 401 is configured to establish the configuration data for the file container according to a unique path corresponding to the file container; and when the unique path contains the dynamically changed part, removing the dynamically changed part.
Fig. 5 illustrates an exemplary system architecture 500 of a method of managing software versions or an apparatus for managing software versions to which embodiments of the present invention may be applied.
As shown in fig. 5, the system architecture 500 may include terminal devices 501, 502, 503, a network 504, and a server 505. The network 504 serves to provide a medium for communication links between the terminal devices 501, 502, 503 and the server 505. Network 504 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 501, 502, 503 to interact with a server 505 over a network 504 to receive or send messages or the like. The terminal devices 501, 502, 503 may have various communication client applications installed thereon, such as a shopping application, a web browser application, a search application, an instant messaging tool, a mailbox client, social platform software, and the like.
The terminal devices 501, 502, 503 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 505 may be a server that provides various services, such as a background management server that supports shopping websites browsed by users using the terminal devices 501, 502, 503. The background management server may analyze and perform other processing on the received data such as the product information query request, and feed back a processing result (e.g., a constructed new folder) to the terminal device.
It should be noted that the method for managing software versions provided by the embodiment of the present invention is generally performed by the server 505, and accordingly, the apparatus for managing software versions is generally disposed in the server 505.
It should be understood that the number of terminal devices, networks, and servers in fig. 5 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 6, a block diagram of a computer system 600 suitable for use with a terminal device implementing an embodiment of the invention is shown. The terminal device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU)601 that 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 section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 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, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 601.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor comprising: the system comprises a version management module, a file determination module, a folder composition module and a configuration data updating module. The names of these modules do not in some cases constitute a limitation on the modules themselves, and for example, the file determination module may also be described as a "module that determines the first set of files and the second set of files".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: managing software versions using a file container, the file container being defined by a folder indicating a version number of software and configuration data indicating a correspondence of the folder, files included in the folder, and version numbers of the files; determining a first file set and a second file set according to a 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, wherein the first file set comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded; forming a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file; updating the configuration data to include a correspondence of the new folder, the files included by the new folder, and the version numbers of the files included by the new folder.
According to the technical scheme of the embodiment of the invention, different software versions can be well distinguished, and only files in the software version to be downloaded can be downloaded based on files in the folder corresponding to each software version existing in the file container, so that the downloading amount of the files is reduced, and network resources are greatly saved; in addition, due to the adoption of the breakpoint downloading technology during file downloading, breakpoint continuous transmission among files is realized, and the utilization rate of network resources is further improved.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (16)

1. A method of managing software versions, comprising:
managing software versions using a file container, the file container being defined by a folder indicating a version number of software and configuration data indicating a correspondence of the folder, files included in the folder, and version numbers of the files;
determining a first file set and a second file set according to a 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, wherein the first file set comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded;
forming a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file;
updating the configuration data to include a correspondence of the new folder, the files included by the new folder, and the version numbers of the files included by the new folder.
2. The method for managing software versions according to claim 1, further comprising:
and recording the downloading state of the first file, and judging whether the first file needs to be continuously downloaded according to the downloading state.
3. The method of managing software versions according to claim 1,
and reserving a predefined number of folders, and deleting the earliest constructed folder indicated by the configuration data if the number of folders exceeds the predefined number after a new folder is constructed.
4. The method of managing software versions according to claim 1,
the file container is divided into a working area and a history area, the working area is used for storing folders corresponding to the currently used software versions, and the history area is used for storing folders corresponding to the historical software versions.
5. The method of managing software versions of claim 1 wherein a uniform resource locator is used to represent the version number of the file.
6. The method of managing software versions according to claim 2,
and continuously downloading the first file by using a breakpoint downloading technology.
7. The method of managing software versions according to claim 1,
establishing the configuration data for the file container according to the unique path corresponding to the file container; and when the unique path contains the dynamically changed part, removing the dynamically changed part.
8. An apparatus for managing software versions, comprising: the system comprises a version management module, a file determination module, a folder composition module and a configuration data updating module; wherein the content of the first and second substances,
the version management module is used for managing software versions by using a file container, 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 corresponding relation among the folder, files contained in the folder and the version number of the files;
the file determining module is used for determining a first file set and a second file set according to a 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, wherein the first file set comprises a first file to be downloaded, and the second file set comprises a second file which is existed in the folder and indicated by the software version to be downloaded;
the folder forming module is used for forming a new folder corresponding to the software version to be downloaded by using the second file and the downloaded first file;
the configuration data updating module is configured to update the configuration data to include a corresponding relationship between the new folder, the file included in the new folder, and the version number of the file included in the new folder.
9. The apparatus for managing software versions according to claim 8,
the configuration data updating module is further configured to record a downloading state of the first file, and determine whether to continue downloading the first file according to the downloading state.
10. The apparatus for managing software versions according to claim 8,
the folder forming module is further configured to reserve a predefined number of folders, and delete the earliest formed folder indicated by the configuration data if the number of folders exceeds the predefined number after a new folder is formed.
11. The apparatus for managing software versions according to claim 8,
the version management module is used for dividing the file container into a working area and a history area, wherein the working area is used for storing folders corresponding to the currently used software versions, and the history area is used for storing folders corresponding to the historical software versions.
12. The apparatus for managing software versions according to claim 8,
the version number of the file is represented using a uniform resource locator.
13. The apparatus for managing software versions according to claim 9,
and the folder forming module is used for continuously downloading the first file by using a breakpoint downloading technology.
14. The apparatus for managing software versions according to claim 9,
the version management module is used for establishing the configuration data for the file container according to the unique path corresponding to the file container; and when the unique path contains the dynamically changed part, removing the dynamically changed part.
15. A server for managing software versions, comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-7.
16. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-7.
CN201910496126.5A 2019-06-10 2019-06-10 Method and device for managing software version Pending CN112068848A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910496126.5A CN112068848A (en) 2019-06-10 2019-06-10 Method and device for managing software version

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910496126.5A CN112068848A (en) 2019-06-10 2019-06-10 Method and device for managing software version

Publications (1)

Publication Number Publication Date
CN112068848A true CN112068848A (en) 2020-12-11

Family

ID=73658157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910496126.5A Pending CN112068848A (en) 2019-06-10 2019-06-10 Method and device for managing software version

Country Status (1)

Country Link
CN (1) CN112068848A (en)

Similar Documents

Publication Publication Date Title
CN107844324B (en) Client page jump processing method and device
CN107656748B (en) Application publishing method and device
CN107644075B (en) Method and device for collecting page information
CN110765187A (en) Data source route management method and device
CN112597126A (en) Data migration method and device
CN116737662A (en) Method, device, electronic equipment and storage medium for processing business data
CN110674082A (en) Method and device for removing online document, electronic equipment and computer readable medium
CN108810130B (en) Method and device for planning distribution request
CN112948138A (en) Method and device for processing message
CN112711572B (en) Online capacity expansion method and device suitable for database and table division
CN113779412B (en) Message touch method, node and system based on blockchain network
CN112068848A (en) Method and device for managing software version
CN114064803A (en) Data synchronization method and device
CN109087097B (en) Method and device for updating same identifier of chain code
CN113742376A (en) Data synchronization method, first server and data synchronization system
CN113779048A (en) Data processing method and device
CN113760861A (en) Data migration method and device
CN113127416A (en) Data query method and device
CN109213815B (en) Method, device, server terminal and readable medium for controlling execution times
CN110851192A (en) Method and device for responding to configuration of degraded switch
CN110858240A (en) Front-end module loading method and device
CN113760860B (en) Data reading method and device
CN109388536B (en) Data collection method and device
CN113282688A (en) Method, device, equipment and computer readable medium for displaying data
CN114490583A (en) Data migration method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination