低版本软件兼容高版本文件的方法以及客户端和服务器与流程

文档序号:12718855阅读:726来源:国知局
低版本软件兼容高版本文件的方法以及客户端和服务器与流程

本发明涉及计算机软件版本兼容技术,尤其涉及一种低版本软件兼容高版本文件的方法以及客户端和服务器。



背景技术:

随着计算机软件的发展,许多的软件都不可避免的进行不断的升级。有些是一些对文件结构影响不大的变更,有的则可能导致软件发生巨大变化。由于个人喜好、网络条件等原因,有可能造成不同设备之间的软件版本出现差异。这样就会造成了不同的版本存在于用户端,如果用户要在多个设备上使用软件产品,那么就会存在不同的设备上软件版本不一致的情况。

这种不同版本之间的差异,产生出文件兼容性的问题。例如,低版本软件保存出的文件为低版本文件,高版本软件保存出的文件为高版本文件,低版本软件很难完全兼容高版本的文件。因为低版本软件的开发阶段,很难预知文件格式将如何变化,因此低版本软件难以处理高版本文件。

为了解决这种问题,一般的方案是低版本软件选取高版本文件中可以识别的部分(即高版本文件格式相对低版本文件格式保持不变的部分),放弃解析高版本文件的不可识别部分(即高版本文件格式相对低版本文件格式变动的部分)。但是,在低版本软件解析高版本文件时,可能会丢失较多信息。

因此,存在需求来提供一种方案,使得在不同版本间的软件可以兼容,尤其是低版本上能够实现对高版本的兼容。



技术实现要素:

本发明实施例提供了一种低版本软件兼容高版本文件的方法,用于解决不同版本间软件兼容的问题,包括如下步骤:

步骤1:服务器接收低版本软件客户端发来的高版本文件,识别该高版本文件所对应的软件版本,并调用相应版本的软件;

步骤2:服务器利用相应版本软件中的解析器解析所接收的高版本文件,生成新的低版本文件;

步骤3:服务器将生成的低版本文件发送回所述低版本软件客户端。

进一步,所述服务器上存储软件的所有已发布版本。

进一步,每个版本的软件都包含有一个本版本的文件解析器,和所有低版本的文件解析器。

进一步,步骤1中,服务器同时从客户端接收高版本文件的版本信息。

本发明实施例还提供一种用于低版本软件兼容高版本文件的客户端,包括判断和提示模块、上传模块和接收模块,其中,

判断和提示模块用于判断客户端的软件版本是否低于当前文件的软件版本,客户端的软件版本低于当前文件的软件版本时,提示进行高版本文件的上传操作;

上传模块用于将高版本文件上传到服务器;

接收模块用于从服务器接收经转换后与该客户端低版本软件匹配的文件。

进一步,接收模块用于从服务器接收按照所述方法转换后与该客户端低版本软件匹配的文件。

进一步,所述客户端还包括:

版本告知模块,将客户端的软件版本告知服务器。

本发明实施例还提供一种用于低版本软件兼容高版本文件的服务器,包括:

存储模块,其存储软件的所有已发布版本,其中每个版本的软件都包含有一个本版本的文件解析器,和所有低版本的文件解析器;

接收模块,接收客户端发来的高版本文件;

识别模块,识别出该文件对应的软件版本;

调用模块,调用与所述高版本文件对应的版本软件,利用该版本软件中的解析器解析所接收的高版本文件,生成新的低版本文件,所生成的低版本文件能够由对应的低版本软件打开;

发送模块,将生成的低版本文件发送回所述低版本软件客户端。

进一步,所述服务器还包括:

客户端软件版本确定模块,其通过客户端发送过来的软件版本信息,确定客户端的软件版本。

本发明实施例还提供一种低版本软件兼容高版本文件的系统,包括上述客户端以及上述服务器。

本发明实施例的技术方案是通过客户端和服务器设置的形式,利用服务器上的各版本软件解析器,实现低版本客户端上打开高版本文件。由此,通过这样的方案可以更完整地使低版本软件兼容高版本文件。

附图说明

图1是本发明实施例的低版本软件兼容高版本文件的方法流程图;

图2是本发明实施例的方法中服务器所存储的各版本软件的示意图;

图3是本发明实施例的低版本软件兼容高版本文件的系统结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。但本领域技术人员知晓,本发明并不局限于附图和以下实施例。

参照附图1、2,服务器上存储软件的所有已发布版本。例如,在图2中,服务器包括三个已经发布的版本,V1.0、V2.0和V3.0。其中,V1.0版本为旧版本,V2.0版本为次新版本,V3.0版本为最新版本。每个版本的软件都包含有一个本版本的文件解析器,和所有低版本的文件解析器。文件解析器用来打开存储的文件,解析里面存储的内容,并根据解析的内容还原存储的元素,最终呈现给用户。在图2中,V1.0版本只包括V1.0解析器,V2.0版本中包含V1.0解析器和V2.0解析器,而V3.0版本中包含V1.0解析器和V2.0解析器和V3.0解析器。

接着,参照图1,将描述本发明实施例中实现低版本软件兼容高版本文件方法的具体流程。

步骤1:当一个安装有低版本软件的客户端需要解析高版本软件生成的高版本文件时,客户端会将高版本文件上传至服务器,并将客户端的软件版本告知服务器。

例如,在具体实施例中,V1.0版本软件的客户端需要解析V2.0版本的文件时,通常情况下,此时由于V1.0版本较低,客户端无法打开或无法部分显示该高版本的文件内容。此时,客户端将该文件上传到服务器中,同时,向服务器告知目前客户端的版本为V1.0。

优选的,客户端上可以具有提示模块,当识别出当前客户端版本无法打开文件时,提示客户端进行相应的上传操作。

步骤2:服务器接收低版本软件客户端发来的高版本文件,识别该高版本文件所对应的软件版本,并调用相应版本的软件。

步骤3:服务器利用相应版本软件中的解析器解析所接收的高版本文件,生成新的低版本文件,所生成的低版本文件能够由对应的低版本软件打开;

具体的,服务器接收来自客户端的V1.0版本上传文件。

当服务器收到V1.0的客户端发来的V2.0的文件后,识别出该文件对应于V2.0版本软件。或者,服务器通过客户端发送过来的版本信息,确定客户端的版本为V1.0。

接着,服务器调用存储在服务器的V2.0版本软件。如上所述的,服务器中的V2.0版本软件中包含V1.0解析器和V2.0解析器。因此,V2.0版本的软件通过其中的V2.0解析器解析发来的文件,并将解析得到的信息通过V2.0软件的V1.0解析器保存为V1.0的文件。这样,服务器就将生成与V1.0版本客户端相对应的V1.0文件。

步骤4:服务器将生成的低版本文件发送回所述低版本软件的客户端,客户端可以完整的处理该文件。

具体的,服务器将V1.0的文件发送给客户端,V1.0客户端可以对该文件进行打开、编辑等操作。

在本发明的一个优选实施例中,当安装有V1.0版本软件的客户端需要解析V3.0版本的文件时,由于V1.0版本较低,所以客户端无法打开或无法部分显示该高版本的文件内容,客户端需将该文件上传到服务器中。

服务器接收到V1.0版本软件客户端发来的V3.0高版本文件,识别出该高版本文件所对应的软件版本V3.0,并调用V3.0版本的软件。

服务器利用V3.0版本软件中的解析器V1.0、解析器V2.0和解析器V3.0解析所接收的V3.0版本文件,生成新的V1.0版本文件,所生成的V1.0版本文件能够由V1.0版本软件打开。

服务器将生成的V1.0版本文件发送回所述V1.0版本软件的客户端,该客户端可以利用V1.0版本软件打开所接收到的文件,不会发生文件内容的损失。

参照图3,本发明实施例还提供了一种用于低版本软件兼容高版本文件的客户端,包括判断和提示模块、上传模块和接收模块,其中:

判断和提示模块用于判断客户端的软件版本是否低于当前文件的软件版本,客户端的软件版本低于当前文件的软件版本时,提示进行高版本文件的上传操作;

上传模块用于将高版本文件上传到服务器;

接收模块用于从服务器接收经转换后与该客户端低版本软件匹配的文件。

进一步的,客户端还包括版本告知模块,将客户端的软件版本告知服务器。

通过该客户端,用户可以将无法解析的高版本文件及时上传,由服务器对高版本文件进行解析,生成与客户端上的低版本软件匹配的文件,返回给客户端,从而解决了高版本文件在低版本软件中无法全部显示、操作的问题。

本发明实施例还提供了一种用于低版本软件兼容高版本文件的服务器,包括:

存储模块,其存储软件的所有已发布版本,其中每个版本的软件都包含有一个本版本的文件解析器,和所有低版本的文件解析器;

接收模块,接收客户端发来的高版本文件;

识别模块,识别出该文件对应的软件版本;

客户端软件版本确定模块,其通过客户端发送过来的软件版本信息,确定客户端的版本。

调用模块,调用与所述高版本文件对应的版本软件,利用该版本软件中的解析器解析所接收的高版本文件,生成新的低版本文件,所生成的低版本文件能够由对应的低版本软件打开;

发送模块,将生成的低版本文件发送回所述低版本软件客户端。

此外,上述客户端和服务器共同构成一个系统,其可以有效实现低版本软件对高版本文件的兼容。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上,对本发明的实施方式进行了说明。但是,本发明不限定于上述实施方式。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1