一种c/s结构应用程序版本兼容性控制方法

文档序号:6442022阅读:155来源:国知局
专利名称:一种c/s结构应用程序版本兼容性控制方法
技术领域
本发明涉及一种C/S结构应用程序版本兼容性控制方法,属于信息系统应用技术领域。
背景技术
大型应用软件往往存在上千个客户端、几十个应用服务器、几个数据库服务器,应用程序必然分布在多台机器上,并且经常进行程序的更新,这些分布式部署的程序版本如果不兼容,将会导致程序运行错误,甚至导致数据错误,必须进行控制。现有技术实现了根据程序版本控制客户端程序的下发,能实现将升级文件服务器上的新版本程序自动下载到客户端的目的。这些技术的缺陷在于
在下载更新程序的时候,仅仅比较了当前程序与升级文件服务器上的更新包中程序的版本差异,如果有差异,则下载更新程序。已经下载的客户端程序在运行时,没有与应用服务器确认自身版本是否与应用服务器兼容、是否与数据库版本兼容,如果升级文件服务器上的升级文件版本出现错误,或者升级文件服务器暂时不能提供服务,而应用服务器和数据库已经升级完成,这时客户端运行的程序与应用服务器程序可能不匹配,与数据库也可能不匹配,就有可能出现不可预料的程序异常,甚至导致严重数据错误。当出现程序更新失败,造成版本不兼容的情况时,系统管理维护人员不能及时得到通知,不能及时排除故障,将会影响业务运营,造成非常不好的用户体验。

发明内容
本发明为了解决现有的兼容性升级控制方法不能根据实际需要的版本进行升级或升级后没有严格控制版本之间的兼容性,有可能造成升级之后版本间仍然不兼容的问题,提供了一种C/S结构应用程序版本兼容性控制方法,可以检查版本之间的兼容性,防止版本不兼容时继续运行导致出错。为了解决上述技术问题,本发明采用以下技术方案予以实现
一种C/S结构应用程序版本兼容性控制方法,在数据库中保存有配置文件DbV,所述文件DbV中记录有当前数据库版本,以及与其可兼容的应用服务器版本,应用服务器端启动运行时,判断当前应用服务器版本与当前数据库版本是否兼容,只有在两者兼容的情况下才允许应用服务器端运行。进一步的,为了方便应用服务器端检查版本兼容性,可以在所述应用服务器端保存配置文件AppV,所述文件AppV中记录有当前应用服务器版本,以及与其可兼容的数据库版本,应用服务器端启动运行时,控制步骤如下
应用服务器端读取文件DbV中的内容,以及读取文件AppV中的内容; 应用服务器端判断文件AppV中的可兼容的数据库版本是否包含了文件DbV中的当前数据库版本,如果包含,则判断为当前应用服务器版本与当前数据库版本兼容,也即允许应用服务器端继续运行。
又进一步的,应用服务器端启动运行时,若文件AppV中的可兼容的数据库版本不包含文件DbV中的当前数据库版本,则判断文件DbV中的可兼容的应用服务器版本是否包含了文件AppV中的当前应用服务器版本,如果包含,同样判断为当前应用服务器版本与当前数据库版本兼容,否则,不兼容。再进一步的,若当前应用服务器版本与当前数据库版本不兼容,则执行以下步骤 禁止应用服务器端继续运行以及发送提示信息,或者应用服务器按照文件DbV中的可兼容的应用服务器版本进行自动加载升级。为了控制客户端与数据库版本的兼容性,所述文件DbV中还记录有与当前数据库版本可兼容的客户端版本,客户端启动运行时,判断当前数据库版本与当前客户端版本是否兼容,当两者兼容时允许客户端继续运行。为了控制客户端与应用服务器版本的兼容性,所述文件AppV中还记录有与当前应用服务器版本可兼容的客户端版本,客户端启动运行时,还会判断当前应用服务器版本与当前客户端版本是否兼容,在当前数据库版本与当前客户端版本兼容以及当前应用服务器版本与当前客户端版本兼容时,允许客户端继续运行。当不同时满足当前数据库版本与当前客户端版本兼容以及当前应用服务器版本与当前客户端版本兼容时,则执行以下步骤禁止客户端端继续运行以及发送提示信息,或者,查找出文件DbV中的可兼容的客户端版本与文件AppV中的可兼容客户端版本所共有的客户端版本,并且客户端按照该版本进行自动加载升级。为了方便检查客户端的兼容性,所述客户端保存有配置文件Cl iV,所述文件Cl iV 中记录有当前客户端版本,和与其可兼容的数据库版本,客户端启动运行时,控制步骤如下
客户端读取文件CliV中的内容,以及读取文件DbV中的内容; 客户端判断文件CliV中的可兼容的数据库版本是否包含了文件DbV中的当前数据库版本,如果包含,则判断为当前数据库版本与当前客户端版本兼容。进一步的,客户端启动运行时,若CliV中的可兼容的数据库版本没有包含文件 DbV中的当前数据库版本,则继续判断文件DbV中的可兼容的客户端版本是否包含了文件 CliV中的当前客户端版本,如果包含,则判断为当前数据库版本与当前客户端版本兼容。又进一步的,所述文件CliV中还记录有与当前客户端版本可兼容的应用服务器版本,客户端启动运行时,判断文件CliV中的可兼容的应用服务器版本是否包含了文件 AppV中的当前应用服务器版本,如果包含,则判断为当前应用服务器版本与当前客户端版本兼容,否则,继续判断文件AppV中的可兼容客户端版本是否包含了文件Cl iV中的当前客户端版本,如果包含,则判断为当前应用服务器版本与当前客户端版本兼容。优选的,所述的提示信息包括邮件提示、手机短信提示、界面提示、异常日志提示中的一种或几种。与现有技术相比,本发明的优点和积极效果是本发明的一种C/S结构应用程序版本兼容性控制方法,通过在数据库中配置记录有当前数据库版本,以及与其可兼容的应用服务器版本的文件,方便检查版本之间的兼容性,可以有效防止版本不兼容时继续运行导致出错;客户端、应用服务器、数据库相互进行版本兼容性判断,只要一方兼容另一方即可运行程序,为三者独立升级创立了条件,在兼容的前提下,大量分布部署的客户端程序可以逐步升级;以及具有报错功能,可以提醒维护人员错误出现位置,便于及时维护。结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。


图1是本发明所提出的一种C/S结构应用程序版本兼容性控制方法的数据库一种实施方式构建示意图2是本发明所提出的一种C/S结构应用程序版本兼容性控制方法的应用服务器一种实施方式构建示意图3是图1中文件DbV的表格结构图4是本发明所提出的一种C/S结构应用程序版本兼容性控制方法的数据库另外一种实施方式构建示意图5是本发明所提出的一种C/S结构应用程序版本兼容性控制方法的应用服务器另外一种实施方式构建示意图6是本发明所提出的一种C/S结构应用程序版本兼容性控制方法的客户端一种实施方式构建示意图7是图6是本发明所提出的一种C/S结构应用程序版本兼容性控制方法的客户端另外一种实施方式构建示意图。
具体实施例方式本发明针对现有的C/S结构应用程序版本兼容性控制方法,检查到版本出现不兼容时,不能根据实际需要的版本进行升级或升级后没有严格控制版本之间的兼容性,有可能造成升级之后版本间仍然不兼容的问题,提供了一种C/S结构应用程序版本兼容性控制方法,通过在数据库中配置记录有当前数据库版本,以及与其可兼容的应用服务器版本的文件,方便检查版本之间的兼容性,可以有效防止版本不兼容时继续运行导致出错,以及具有报错功能,可以提醒维护人员错误出现位置,便于及时维护。下面结合附图对本发明的具体实施方式
作进一步详细地说明。实施例一,参见图1所示,本实施例的一种C/S结构应用程序版本兼容性控制方法,首先在数据库中保存有配置文件DbV,所述文件DbV中记录有当前数据库版本VD,以及与其可兼容的应用服务器版本VD-A,当应用服务器端启动运行时,首先判断当前应用服务器版本与当前数据库版本是否兼容,只有在两者兼容的情况下才允许应用服务器端运行。作为一个具体的实施例,参见图2所示,应用服务器端判断版本的兼容性可以通过在所述应用服务器端保存有配置文件AppV,所述文件AppV中记录有当前应用服务器版本VA,以及与其可兼容的数据库版本VA-D,当应用服务器端启动运行时,控制步骤如下
应用服务器端读取文件DbV中的内容,以及读取文件AppV中的内容; 也即包括读取文件DbV中的当前数据库版本VD,以及与其可兼容的应用服务器版本 VD-A,读取文件AppV中的当前应用服务器版本VA,以及与其可兼容的数据库版本VA-D。应用服务器端判断文件AppV中的可兼容的数据库版本VA-D是否包含了文件DbV 中的当前数据库版本VD,如果包含,则判断为当前应用服务器版本与当前数据库版本兼容,也即允许应用服务器端继续运行。应用服务器端启动运行时,若文件AppV中的可兼容的数据库版本VA-D不包含文件DbV中的当前数据库版本VD,由于数据库的配置文件DbV中同时包含了与当前数据库版本可兼容的应用服务器版本信息,若两者相兼容的话,仍然认为当前应用服务器版本与当前数据库版本兼容,也即则判断文件DbV中的可兼容的应用服务器版本VD-A是否包含了文件AppV中的当前应用服务器版本VA,如果包含,同样判断为当前应用服务器版本与当前数据库版本兼容,允许应用服务器端继续运行,否则,不兼容。若当前应用服务器版本与当前数据库版本不兼容,则执行以下步骤禁止应用服务器端继续运行以及发送提示信息,以防止进一步运行造成出错,或者,应用服务器按照文件DbV中的可兼容的应用服务器版本进行自动加载升级,升级完毕后即可继续运行。其中,发送提示信息可以通过记录异常日志、页面提示、邮件通知、以及短信通知的其中一种或几种通知方式,以便及时通知维护人员进行维护,消除错误。所述文件AppV为纯文本文件,该纯文本文件至少包括名称以及赋值。本例的实现方式是在应用服务器主程序所在目录中建立一个纯文本文件,文件名为AppV,文件内容举例如下
VA = 1.0.0.1 ;应用服务器的当前版本,仅一个。VA-D= 1. 0. 0. 0,1. 0. 0.1;可兼容的数据库版本,多个版本之间用逗号“,”分开。当然,若文件AppV中包括更多的项目时,可以在文件中继续添加,所添加项目将在其他的实施例中提到。需要说明的是,当更新了应用服务器程序时,必须同时修改文件 AppV中的内容,VA行的等号后面填写应用服务器的当前版本号。VA-D行的等号后面填写当前应用服务器可兼容的数据库版本,如果可兼容多个数据库版本,则多个版本号之间用逗号分开。根据数据库的特性,文件DbV优选采用表格文件的形式,参见图3所示,为文件DbV 的一种表结构,数据库程序版本配置的内容是数据库程序的当前版本号、可兼容应用服务器版本的版本号等。本实施例主要解决了 C/S结构中数据库与应用服务器之间的应用程序版本控制问题,方法简单易行,有效防止了因兼容问题的出错。实施例二,当C/S结构中同时包含数据库、应用服务器、以及客户端时,应用程序版本兼容性同样需要控制,具体的方式为所述文件DbV中还记录有与当前数据库版本可兼容的客户端版本VD-C,如图4所示,客户端启动运行时,判断当前数据库版本与当前客户端版本是否兼容,当两者兼容时允许客户端继续运行。同样道理的,由于客户端有可能调用应用服务器,因此,需要控制客户端欲应用服务器之间的版本可兼容性,具体的,参见图5所示,在所述文件AppV中还记录有与当前应用服务器版本可兼容的客户端版本VA-C,客户端启动运行时,还会判断当前应用服务器版本与当前客户端版本是否兼容,在满足条件当前数据库版本与当前客户端版本兼容以及当前应用服务器版本与当前客户端版本兼容时,允许客户端继续运行。当不同时满足当前数据库版本与当前客户端版本兼容以及当前应用服务器版本与当前客户端版本兼容时,则执行以下步骤禁止客户端端继续运行以及发送提示信息,或者,查找出文件DbV中的可兼容的客户端版本与文件AppV中的可兼容客户端版本所共有的客户端版本,并且客户端按照该版本进行自动加载升级。相应的,文件名为AppV,文件内容修改如下 VA = 1.0.0.1 ;应用服务器的当前版本,仅一个。VA-D= 1. 0. 0. 0,1. 0. 0.1;可兼容的数据库版本,多个版本之间用逗号“,”分开。VA-C=L 0. 0. 1,1. 0. 0.2 ;可兼容的客户端版本,多个版本之间用逗号(,)分开。其中,所述的提示信息包括邮件提示、手机短信提示、界面提示、异常日志提示中的一种或几种。为了便于客户端比较判断版本的兼容性,所述客户端保存有配置文件CliV,参见图6所示,所述文件CliV中记录有当前客户端版本VC,和与其可兼容的数据库版本VC-D, 当客户端启动运行时,控制步骤如下
客户端读取文件CliV中的内容,以及读取文件DbV中的内容; 具体的,也即客户端读取文件CliV中的当前客户端版本VC,和与其可兼容的数据库版本VC-D,以及读取文件DbV中的当前数据库版本VD,以及与其可兼容的客户端版本VD-C。
客户端判断文件Cl iV中的可兼容的数据库版本VC-D是否包含了文件DbV中的当前数据库版本VD,如果包含,则判断为当前数据库版本与当前客户端版本兼容。所述文件CliV为纯文本文件,该纯文本文件至少包括名称以及赋值,客户端程序版本配置的内容是客户端的当前版本号、可兼容应用服务器版本的版本号、可兼容数据库版本的版本号。本例的实现方式是在客户端主程序所在目录中建立一个纯文本文件,文件名为Cl iV,文件内容举例如下
VC= 1.0. 0.2 ;客户端的当前版本,仅一个。VC-D = 1. 0. 0. 0,1. 0. 0. 1 ;可兼容的数据库版本,多个版本之间用逗号“,”分开。当更新了客户端程序时,必须同时修改文件CliV中的内容,VC行的等号后面填写客户端的当前版本号。VC-D行的等号后面填写当前客户端可兼容的数据库版本,如果可兼容多个数据库版本,则多个版本号之间用英文逗号分开。客户端启动运行时,若CliV中的可兼容的数据库版本VC-D没有包含文件DbV中的当前数据库版本VD,则继续判断文件DbV中的可兼容的客户端版本VD-C是否包含了文件 CliV中的当前客户端版本VC,如果包含,则同样判断为当前数据库版本与当前客户端版本兼容。本实施例中主要叙述了客户端启动运行时,客户端与数据库版本兼容性的控制问题,保障了客户端与数据库的版本兼容。实施例三,本实施例主要讨论客户端与应用服务器版本兼容性控制问题,为了方便客户端判断当前客户端版本与应用服务器版本的可兼容性,参见图7所示,所述文件 CliV中还记录有与当前客户端版本可兼容的应用服务器版本VC-A,客户端启动运行时,判断文件CliV中的可兼容的应用服务器版本是否包含了文件AppV中的当前应用服务器版本,如果包含,则判断为当前应用服务器版本与当前客户端版本兼容,否则,继续判断文件 AppV中的可兼容客户端版本是否包含了文件CliV中的当前客户端版本,如果包含,则同样判断为当前应用服务器版本与当前客户端版本兼容。相应的,文件名为Cl iV,文件内容修改如下VC= 1.0. 0.2 ;客户端的当前版本,仅一个。VC-D = 1. 0. 0. 0,1. 0. 0. 1 ;可兼容的数据库版本,多个版本之间用逗号“,”分开。VC-A=L 0. 0.1;可兼容的应用服务器版本,多个版本之间用逗号“,,,分开。当更新了客户端程序时,必须同时修改文件CliV中的内容,VC行的等号后面填写客户端的当前版本号。VC-D行的等号后面填写当前客户端可兼容的数据库版本,如果可兼容多个数据库版本,则多个版本号之间用英文逗号分开,VC-A行的等号后面填写当前客户端可兼容的应用服务器版本,如果可兼容多个应用服务器版本,则多个版本号之间用逗号 “,”分开。当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
权利要求
1.一种C/S结构应用程序版本兼容性控制方法,其特征在于,在数据库中保存有配置文件DbV,所述文件DbV中记录有当前数据库版本,以及与其可兼容的应用服务器版本,应用服务器端启动运行时,判断当前应用服务器版本与当前数据库版本是否兼容,只有在两者兼容的情况下才允许应用服务器端运行。
2.根据权利要求1所述的C/S结构应用程序版本兼容性控制方法,其特征在于,在所述应用服务器端保存有配置文件AppV,所述文件AppV中记录有当前应用服务器版本,以及与其可兼容的数据库版本,应用服务器端启动运行时,控制步骤如下应用服务器端读取文件DbV中的内容,以及读取文件AppV中的内容;应用服务器端判断文件AppV中的可兼容的数据库版本是否包含了文件DbV中的当前数据库版本,如果包含,则判断为当前应用服务器版本与当前数据库版本兼容。
3.根据权利要求2所述的C/S结构应用程序版本兼容性控制方法,其特征在于,应用服务器端启动运行时,若文件AppV中的可兼容的数据库版本不包含文件DbV中的当前数据库版本,则判断文件DbV中的可兼容的应用服务器版本是否包含了文件AppV中的当前应用服务器版本,如果包含,同样判断为当前应用服务器版本与当前数据库版本兼容,否则,不兼容。
4.根据权利要求3所述的C/S结构应用程序版本兼容性控制方法,其特征在于,若当前应用服务器版本与当前数据库版本不兼容,则执行以下步骤禁止应用服务器端继续运行以及发送提示信息,或者应用服务器按照文件DbV中的可兼容的应用服务器版本进行自动加载升级。
5.根据权利要求2所述的C/S结构应用程序版本兼容性控制方法,其特征在于,所述文件DbV中还记录有与当前数据库版本可兼容的客户端版本,客户端启动运行时,判断当前数据库版本与当前客户端版本是否兼容,当两者兼容时允许客户端继续运行。
6.根据权利要求5所述的C/S结构应用程序版本兼容性控制方法,其特征在于,所述文件AppV中还记录有与当前应用服务器版本可兼容的客户端版本,客户端启动运行时,还会判断当前应用服务器版本与当前客户端版本是否兼容,在当前数据库版本与当前客户端版本兼容以及当前应用服务器版本与当前客户端版本兼容时,允许客户端继续运行。
7.根据权利要求6所述的C/S结构应用程序版本兼容性控制方法,其特征在于,当不同时满足当前数据库版本与当前客户端版本兼容以及当前应用服务器版本与当前客户端版本兼容时,则执行以下步骤禁止客户端端继续运行以及发送提示信息,或者,查找出文件 DbV中的可兼容的客户端版本与文件AppV中的可兼容客户端版本所共有的客户端版本,并且客户端按照该版本进行自动加载升级。
8.根据权利要求5或6所述的C/S结构应用程序版本兼容性控制方法,其特征在于,所述客户端保存有配置文件CliV,所述文件CliV中记录有当前客户端版本,和与其可兼容的数据库版本,客户端启动运行时,控制步骤如下客户端读取文件CliV中的内容,以及读取文件DbV中的内容;客户端判断文件CliV中的可兼容的数据库版本是否包含了文件DbV中的当前数据库版本,如果包含,则判断为当前数据库版本与当前客户端版本兼容。
9.根据权利要求8所述的C/S结构应用程序版本兼容性控制方法,其特征在于,客户端启动运行时,若CliV中的可兼容的数据库版本没有包含文件DbV中的当前数据库版本,则继续判断文件DbV中的可兼容的客户端版本是否包含了文件CliV中的当前客户端版本,如果包含,则判断为当前数据库版本与当前客户端版本兼容。
10.根据权利要求8所述的C/S结构应用程序版本兼容性控制方法,其特征在于,所述文件CliV中还记录有与当前客户端版本可兼容的应用服务器版本,客户端启动运行时,判断文件CliV中的可兼容的应用服务器版本是否包含了文件AppV中的当前应用服务器版本,如果包含,则判断为当前应用服务器版本与当前客户端版本兼容,否则,继续判断文件 AppV中的可兼容客户端版本是否包含了文件CliV中的当前客户端版本,如果包含,则同样判断为当前应用服务器版本与当前客户端版本兼容,否则,不兼容。
全文摘要
本发明公开了一种C/S结构应用程序版本兼容性控制方法,在数据库中保存有配置文件DbV,所述文件DbV中记录有当前数据库版本,以及与其可兼容的应用服务器版本,应用服务器端启动运行时,判断当前应用服务器版本与当前数据库版本是否兼容,只有在两者兼容的情况下才允许应用服务器端运行。本方法通过在数据库中配置记录有当前数据库版本,以及与其可兼容的应用服务器版本的文件,方便检查版本之间的兼容性,可以有效防止版本不兼容时继续运行导致出错,以及具有报错功能,可以提醒维护人员错误出现位置,便于及时维护。
文档编号G06F9/445GK102521001SQ201110425948
公开日2012年6月27日 申请日期2011年12月19日 优先权日2011年12月19日
发明者丁建德, 孙永良, 朱中, 王善军, 陈维强 申请人:青岛海信网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1