CN106874004B - Method for enabling low-version software to be compatible with high-version file, client and server - Google Patents

Method for enabling low-version software to be compatible with high-version file, client and server Download PDF

Info

Publication number
CN106874004B
CN106874004B CN201710093270.5A CN201710093270A CN106874004B CN 106874004 B CN106874004 B CN 106874004B CN 201710093270 A CN201710093270 A CN 201710093270A CN 106874004 B CN106874004 B CN 106874004B
Authority
CN
China
Prior art keywords
version
software
file
low
client
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.)
Active
Application number
CN201710093270.5A
Other languages
Chinese (zh)
Other versions
CN106874004A (en
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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201710093270.5A priority Critical patent/CN106874004B/en
Publication of CN106874004A publication Critical patent/CN106874004A/en
Application granted granted Critical
Publication of CN106874004B publication Critical patent/CN106874004B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

A method for compatibility of low-version software and high-version files comprises the following steps: the server receives a high-version file sent by a low-version software client, identifies a software version corresponding to the high-version file, and calls software of a corresponding version; the server analyzes the received high-version file by using an analyzer in corresponding version software to generate a new low-version file; the server sends the generated low-version file back to the low-version software client. The invention also requests to protect the corresponding client, server and system. By the scheme of the invention, the software in different versions can be compatible, and particularly the compatibility of a high version can be realized on a low version.

Description

Method for enabling low-version software to be compatible with high-version file, client and server
Technical Field
The invention relates to a computer software version compatibility technology, in particular to a method for enabling low-version software to be compatible with high-version files, a client and a server.
Background
With the development of computer software, many pieces of software are inevitably upgraded. Some are changes which have little influence on the file structure, and some may cause great changes to the software. Differences in software versions between different devices may arise due to personal preferences, network conditions, etc. This results in different versions being present at the user side, and if the user wants to use the software product on multiple devices, there will be instances where the software versions on the different devices are not consistent.
This difference between the different versions creates a problem of file compatibility. For example, a file stored by the low-version software is a low-version file, a file stored by the high-version software is a high-version file, and the low-version software is difficult to be completely compatible with the high-version file. It is difficult for low-version software to handle high-version files because it is difficult to predict how the file format will change during the development phase of the low-version software.
In order to solve the problem, the general scheme is that the low-version software selects a part which can be identified in the high-version file (namely, a part of the format of the high-version file which is unchanged relative to the format of the low-version file), and abandons the analysis of an unidentifiable part of the high-version file (namely, a part of the format of the high-version file which is changed relative to the format of the low-version file). However, when the low-version software parses the high-version file, much information may be lost.
Therefore, there is a need to provide a solution that allows compatibility between different versions of software, in particular compatibility with higher versions on lower versions.
Disclosure of Invention
The embodiment of the invention provides a method for realizing compatibility of low-version software and high-version files, which is used for solving the problem of software compatibility among different versions and comprises the following steps:
step 1: the server receives a high-version file sent by a low-version software client, identifies a software version corresponding to the high-version file, and calls software of a corresponding version;
step 2: the server analyzes the received high-version file by using an analyzer in corresponding version software to generate a new low-version file;
and step 3: the server sends the generated low-version file back to the low-version software client.
Further, all released versions of the software are stored on the server.
Further, each version of software contains a file parser for the current version and all file parsers for the lower versions.
Further, in step 1, the server receives version information of the high-version file from the client at the same time.
The embodiment of the invention also provides a client for the compatibility of the low-version software and the high-version file, which comprises a judging and prompting module, an uploading module and a receiving module, wherein,
the judging and prompting module is used for judging whether the software version of the client is lower than that of the current file or not, and prompting the uploading operation of the high-version file when the software version of the client is lower than that of the current file;
the uploading module is used for uploading the high-version file to the server;
and the receiving module is used for receiving the converted file matched with the client low-version software from the server.
Further, the receiving module is used for receiving the file which is converted according to the method and matched with the client-side low-version software from the server.
Further, the client further comprises:
and the version informing module informs the software version of the client to the server.
The embodiment of the present invention further provides a server for low-version software to be compatible with a high-version file, including:
the storage module is used for storing all released versions of the software, wherein each version of the software comprises a file parser of the version and file parsers of all low versions;
the receiving module is used for receiving the high-version file sent by the client;
the identification module identifies the software version corresponding to the file;
the calling module is used for calling the version software corresponding to the high version file, analyzing the received high version file by using an analyzer in the version software and generating a new low version file, wherein the generated low version file can be opened by the corresponding low version software;
and the sending module sends the generated low-version file back to the low-version software client.
Further, the server further includes:
and the client software version determining module is used for determining the software version of the client through the software version information sent by the client.
The embodiment of the invention also provides a system for enabling the low-version software to be compatible with the high-version file, which comprises the client and the server.
The technical scheme of the embodiment of the invention is that the high-version file is opened on the low-version client by using the software resolvers of all versions on the server in a form of setting the client and the server. Therefore, the low-version software can be more completely compatible with the high-version files through the scheme.
Drawings
FIG. 1 is a flowchart of a method for a low-version software to be compatible with a high-version file according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of versions of software stored by a server in a method according to an embodiment of the invention;
fig. 3 is a system structure diagram of the low-version software compatible with the high-version file according to the embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to specific embodiments and the accompanying drawings. Those skilled in the art will appreciate that the present invention is not limited to the drawings and the following examples.
Referring to fig. 1 and 2, all released versions of the software are stored on the server. For example, in FIG. 2, the server includes three already published versions, V1.0, V2.0, and V3.0. Wherein, the V1.0 version is an old version, the V2.0 version is a next new version, and the V3.0 version is a latest version. Each version of software contains a file parser for the current version and file parsers for all lower versions. The file parser is used for opening the stored file, parsing the stored content, restoring the stored elements according to the parsed content, and finally presenting the elements to a user. In fig. 2, the V1.0 version includes only the V1.0 parser, the V2.0 version includes the V1.0 parser and the V2.0 parser, and the V3.0 version includes the V1.0 parser and the V2.0 parser and the V3.0 parser.
Next, referring to fig. 1, a specific flow of a method for implementing compatibility of a low-version software with a high-version file in an embodiment of the present invention will be described.
Step 1: when a client installed with low-version software needs to analyze a high-version file generated by high-version software, the client uploads the high-version file to the server and informs the server of the software version of the client.
For example, in a specific embodiment, when a client of the V1.0 version software needs to parse a V2.0 version file, in a normal case, the client cannot open or partially display the content of the high version file because the V1.0 version is lower. At this time, the client uploads the file to the server, and simultaneously, the server is informed that the version of the client is V1.0 at present.
Preferably, the client may have a prompt module, and when it is identified that the file cannot be opened in the current client version, the client is prompted to perform a corresponding upload operation.
Step 2: the server receives the high-version file sent by the low-version software client, identifies the software version corresponding to the high-version file, and calls the software of the corresponding version.
And step 3: the server analyzes the received high-version file by using an analyzer in the corresponding version software to generate a new low-version file, and the generated low-version file can be opened by the corresponding low-version software;
specifically, the server receives the V1.0 version upload file from the client.
After the server receives the V2.0 file sent by the V1.0 client, the file is identified to correspond to the V2.0 version software. Or the server determines that the version of the client is V1.0 through the version information sent by the client.
Next, the server calls the V2.0 version of software stored at the server. As described above, the V2.0 version software in the server includes the V1.0 parser and the V2.0 parser. Therefore, the V2.0 version software parses the sent file through the V2.0 parser therein, and saves the parsed information as a V1.0 file through the V1.0 parser of the V2.0 software. Thus, the server will generate a V1.0 file corresponding to the V1.0 version client.
And 4, step 4: the server sends the generated low-version file back to the client of the low-version software, and the client can completely process the file.
Specifically, the server sends the file of V1.0 to the client, and the V1.0 client may perform operations such as opening and editing on the file.
In a preferred embodiment of the present invention, when a client installed with V1.0 version software needs to parse a V3.0 version file, the client cannot open or partially display the content of the high version file because the V1.0 version is low, and the client needs to upload the file to the server.
The server receives the V3.0 high-version file sent by the V1.0 version software client, identifies the software version V3.0 corresponding to the high-version file, and calls the V3.0 version software.
The server parses the received V3.0 version file using the parser V1.0, parser V2.0 and parser V3.0 in the V3.0 version software to generate a new V1.0 version file, which can be opened by the V1.0 version software.
The server sends the generated V1.0 version file back to the client of the V1.0 version software, and the client can open the received file by using the V1.0 version software without loss of file content.
Referring to fig. 3, an embodiment of the present invention further provides a client for a low-version software to be compatible with a high-version file, including a determining and prompting module, an uploading module, and a receiving module, where:
the judging and prompting module is used for judging whether the software version of the client is lower than that of the current file or not, and prompting the uploading operation of the high-version file when the software version of the client is lower than that of the current file;
the uploading module is used for uploading the high-version file to the server;
and the receiving module is used for receiving the converted file matched with the client low-version software from the server.
Furthermore, the client also comprises a version informing module for informing the server of the software version of the client.
Through the client, a user can upload the high-version file which cannot be analyzed in time, the server analyzes the high-version file, a file matched with the low-version software on the client is generated and returned to the client, and therefore the problem that the high-version file cannot be completely displayed and operated in the low-version software is solved.
The embodiment of the invention also provides a server for low-version software to be compatible with high-version files, which comprises the following steps:
the storage module is used for storing all released versions of the software, wherein each version of the software comprises a file parser of the version and file parsers of all low versions;
the receiving module is used for receiving the high-version file sent by the client;
the identification module identifies the software version corresponding to the file;
and the client software version determining module is used for determining the version of the client through the software version information sent by the client.
The calling module is used for calling the version software corresponding to the high version file, analyzing the received high version file by using an analyzer in the version software and generating a new low version file, wherein the generated low version file can be opened by the corresponding low version software;
and the sending module sends the generated low-version file back to the low-version software client.
In addition, the client and the server jointly form a system, and the compatibility of low-version software to high-version files can be effectively realized.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
The embodiments of the present invention have been described above. However, the present invention is not limited to the above embodiment. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (8)

1. A method for compatible of low-version software and high-version files is characterized by comprising the following steps:
responding to the low-version software client to judge that the software version of the low-version software client is lower than the software version corresponding to the high-version file needing to be processed, receiving software version information of the high-version file and the low-version software client from the low-version software client by the server, or receiving the software version information of the high-version file, the low-version software client and the software version information corresponding to the high-version file from the low-version software client, identifying the software version corresponding to the high-version file or receiving the software version information corresponding to the high-version file from the low-version software client, and calling the software of the version corresponding to the software version information corresponding to the high-version file; wherein, each version of software comprises a file parser of the version and file parsers of all low versions;
the server analyzes the received high-version file by using a file analyzer in the called corresponding version software, and then generates a new low-version file by using a file analyzer matched with the software version information of the low-version software client in the called corresponding version software;
and the server sends the generated low-version file back to the low-version software client for processing by the low-version software client.
2. The method of claim 1, wherein: all released versions of the software are stored on the server.
3. The method of claim 1, wherein: and in response to the low-version software client judging that the software version of the low-version software client is lower than that of the high-version file to be processed, the low-version software client prompts the low-version software client to upload the high-version file.
4. A client for a low-version software compatible high-version file, characterized by: comprises a judging and prompting module, an uploading module and a receiving module, wherein,
the judging and prompting module is used for judging whether the software version of the client is lower than that of the current file, and when the software version of the client is lower than that of the current file, the current file is a high-version file and prompts the uploading operation of the high-version file;
the uploading module is used for uploading the software version information of the high-version file and the low-version software client to the server, or uploading the software version information of the high-version file, the low-version software client and the software version information corresponding to the high-version file to the server, so that the server calls the software of the version corresponding to the software version corresponding to the high-version file, a file resolver in the called corresponding version software is used for resolving the received high-version file, and then a file resolver matched with the software version of the low-version software client in the called corresponding version software is used for generating a new low-version file; wherein, each version of software comprises a file parser of the version and file parsers of all low versions;
the receiving module is used for receiving the generated low-version file from the server.
5. The client of claim 4, further comprising: all released versions of the software are stored on the server.
6. A server for a low-version software compatible high-version file, comprising:
the storage module is used for storing all released versions of the software, wherein each version of the software comprises a file parser of the version and file parsers of all low versions;
the receiving module is used for responding to the software version which is judged by the low-version software client to be lower than the software version corresponding to the high-version file to be processed by the low-version software client, receiving the software version information of the high-version file and the low-version software client sent by the low-version software client, or receiving the software version information of the high-version file, the low-version software client and the software version information corresponding to the high-version file sent by the low-version software client;
the identification module identifies the software version corresponding to the high-version file;
the calling module is used for calling the software of the version corresponding to the software version corresponding to the high-version file, analyzing the received high-version file by using a file analyzer in the called corresponding version software, and then generating a new low-version file by using a file analyzer matched with the software version of the low-version software client in the called corresponding version software, wherein the generated low-version file can be opened by the low-version software of the low-version software client;
and the sending module sends the generated low-version file back to the low-version software client.
7. The server of claim 6, further comprising:
and the client software version determining module is used for determining the software version of the low-version software client through the software version information sent by the low-version software client.
8. A system for low-version software to be compatible with high-version files, comprising: comprising a client according to claim 4 or 5 and a server according to claim 6 or 7.
CN201710093270.5A 2017-02-21 2017-02-21 Method for enabling low-version software to be compatible with high-version file, client and server Active CN106874004B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710093270.5A CN106874004B (en) 2017-02-21 2017-02-21 Method for enabling low-version software to be compatible with high-version file, client and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710093270.5A CN106874004B (en) 2017-02-21 2017-02-21 Method for enabling low-version software to be compatible with high-version file, client and server

Publications (2)

Publication Number Publication Date
CN106874004A CN106874004A (en) 2017-06-20
CN106874004B true CN106874004B (en) 2020-08-21

Family

ID=59167524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710093270.5A Active CN106874004B (en) 2017-02-21 2017-02-21 Method for enabling low-version software to be compatible with high-version file, client and server

Country Status (1)

Country Link
CN (1) CN106874004B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897570B (en) * 2018-06-20 2023-01-03 大国创新智能科技(东莞)有限公司 Version compatibility method based on cloud computing and artificial intelligence and robot system
CN110119562B (en) * 2019-05-06 2023-06-16 广联达科技股份有限公司 Method, equipment and system for managing model component files

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165682A (en) * 2006-10-20 2008-04-23 北京北大方正电子有限公司 Document file processing method and system
CN101685394A (en) * 2008-09-26 2010-03-31 国际商业机器公司 Method and device for providing inter-version document compatibility

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US7305669B2 (en) * 2002-09-27 2007-12-04 Sun Microsystems, Inc. Software upgrades with multiple version support
US8930901B2 (en) * 2011-08-15 2015-01-06 International Business Machines Corporation Automatic selection of lowest configuration feature level by functionality exploited

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165682A (en) * 2006-10-20 2008-04-23 北京北大方正电子有限公司 Document file processing method and system
CN101685394A (en) * 2008-09-26 2010-03-31 国际商业机器公司 Method and device for providing inter-version document compatibility

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
搞定文档不兼容问题的三招式;杨鑫芳;《电脑知识与技术》;20120831;第40-41页 *

Also Published As

Publication number Publication date
CN106874004A (en) 2017-06-20

Similar Documents

Publication Publication Date Title
CN110673576B (en) Automatic test method and device, vehicle and storage medium
CN109359194B (en) Method and apparatus for predicting information categories
US20200174907A1 (en) Attaching metadata to lines of code for alerting to changes in the code
US7913233B2 (en) Performance analyzer
CN111061643B (en) SDK cluster compatibility detection method and device, electronic equipment and storage medium
US10261772B2 (en) Method and device for generating image file
CN111045944A (en) Regression testing method, device and system and computer readable storage medium
CN106874004B (en) Method for enabling low-version software to be compatible with high-version file, client and server
US9037994B2 (en) Navigation to a data definition in a diff context
CN111061489B (en) Multi-platform compiling detection method, device, equipment and medium
US11416455B2 (en) Version control of electronic files defining a model of a system or component of a system
CN110704025A (en) Method and device for generating coding specification tool, storage medium and electronic equipment
CN115237713A (en) Application data acquisition method and device, computer equipment and storage medium
CN110311972B (en) Detection method, device, equipment and medium for application software distribution
CN114661375A (en) Application integration method and device
CN116431520A (en) Test scene determination method, device, electronic equipment and storage medium
US20030043208A1 (en) Dynamic menu system
CN109684207B (en) Method and device for packaging operation sequence, electronic equipment and storage medium
US20090193411A1 (en) Method and system for assessing deployment and un-deployment of software installations
CN115617780A (en) Data import method, device, equipment and storage medium
CN106557337A (en) Interface updating method and terminal
CN115757014A (en) Power consumption testing method and device
CN109766692B (en) Method and device for judging privacy calling rationality and machine-readable storage medium
CN114546839A (en) Redundant code analysis method, device, electronic equipment, storage medium and product
US8843896B2 (en) Metamodeling contextual navigation of computer software applications

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
GR01 Patent grant
GR01 Patent grant