服务器端的多版本程序管理方法、装置和系统制造方法及图纸

技术编号:31456410 阅读:17 留言:0更新日期:2021-12-18 11:22
本发明专利技术公开了一种服务器端的多版本程序管理方法、装置和系统,包括:将至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;分别加载至少一个版本的中间程序到至少一个相互隔离的加载器;接收来自客户端程序的包括版本号的请求信息;调用与版本号相同的加载器中的中间程序,并向客户端程序返回请求结果响应。本发明专利技术利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响,基于本发明专利技术方案,取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。消除了因为版本判断过程出错所带来的问题。消除了因为版本判断过程出错所带来的问题。

【技术实现步骤摘要】
服务器端的多版本程序管理方法、装置和系统


[0001]本专利技术涉及计算机及信息
,特别涉及一种服务器端的多版本程序管理方法、装置和系统。

技术介绍

[0002]随着信息技术的发展,计算机应用越来越广泛,各种大型的、长期性的APP应用相继而生,APP应用的持续升级迭代也成为了一种常态。当APP客户端应用(位于终端一侧)升级迭代时,与其相应的服务端应用程序(位于服务器一侧)也会跟着升级迭代。为保证低版本的APP客户端应用的正常使用,升级迭代时服务端应用程序需要做向下的兼容。进而,为了适应于多个版本的APP客户端应用,同一个服务端应用程序的多个不同版本需要同时并存和运行。而如何实现不同版本的同一个服务端应用程序的并存,并确保多版本APP客户端和不同版本的同一个服务端应用程序之间的正确对应,便成为亟待解决的问题。

技术实现思路

[0003]有鉴于此,本专利技术提供一种服务器端的多版本程序管理方法、装置和系统,以简化关于版本判断的代码逻辑和数量,消除因为版本判断过程出错所带来的问题。
[0004]本专利技术的技术方案是这样实现的:
[0005]一种服务器端的多版本程序管理方法,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理方法包括服务器端执行的以下步骤:
[0006]将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
[0007]分别加载所述至少一个版本的中间程序到至少一个相互隔离的加载器;
[0008]接收来自客户端程序的包括版本号的请求信息;
[0009]调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
[0010]进一步,所述中间程序为跨平台类程序。
[0011]进一步,所述中间程序为运行于跨平台虚拟机中的程序。
[0012]进一步,所述跨平台虚拟机为Java虚拟机。
[0013]进一步,所述跨平台类程序为字节码文件包。
[0014]进一步,所述跨平台类程序为Java代码程序。
[0015]进一步,所述字节码文件包为Java的class文件包。
[0016]进一步,所述至少一个版本的服务器端程序为同一程序的不同版本。
[0017]一种服务器端的多版本程序管理系统,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理系统包括:
[0018]程序打包模块,用于将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
[0019]类加载模块,用于分别加载所述至少一个版本的中间程序到至少一个相互隔离的
加载器;
[0020]请求转发模块,用于接收来自客户端程序的包括版本号的请求信息,调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
[0021]一种服务器端的多版本程序管理装置,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理装置包括:
[0022]加载器,所述加载器为至少一个并且相互隔离,用于分别加载至少一个版本的中间程序,其中,所述至少一个版本的中间程序由所述至少一个版本的服务器端程序分别打包而成;
[0023]请求转发器,用于接收来自客户端程序的包括版本号的请求信息,调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。
[0024]一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的服务器端的多版本程序管理方法中的步骤。
[0025]一种电子设备,包括:
[0026]至少一个处理器;以及,
[0027]与所述至少一个处理器通信连接的存储器;其中,
[0028]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如上任一项所述的服务器端的多版本程序管理方法中的步骤。
[0029]从上述方案可以看出,本专利技术的服务器端的多版本程序管理方法、装置和系统,利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响,当客户端程序发来包括版本号的请求信息时,只需要调用相应版本号的位于加载器中的中间程序即可实现服务器端程序与客户端程序的版本匹配。本专利技术利用相互隔离的加载器和其中的由不同版本的服务器端程序所打包成的不同版本的中间程序,基于此便取消了服务器端程序中各个模块和类的关于版本的分支判断,简化了关于版本判断的代码逻辑和数量,消除了因为版本判断过程出错所带来的问题。
附图说明
[0030]图1为本专利技术实施例的服务器端的多版本程序管理方法流程图;
[0031]图2为本专利技术实施例的服务器端的多版本程序管理系统示意图;
[0032]图3为本专利技术实施例的服务器端的多版本程序管理装置示意图;
[0033]图4为基于本专利技术实施例并利用Java语言实现的服务器端的多版本程序管理结构;
[0034]图5为本专利技术实施例的电子设备示意图。
具体实施方式
[0035]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术作进一步详细说明。
[0036]作为一种解决方案,在服务端应用程序代码中,根据APP客户端版本号做分支判断,不同的版本执行不同的代码逻辑块,以实现多版本的并存和兼容。这种解决方案存在这样一个较大的缺点,当同一个服务端应用程序的版本较多时,版本分支的判断逻辑会导致代码越来越臃肿,一个功能可能会涉及很多模块和类,所有涉及的地方都需要进行版本的判断,这样,代码中就充斥着各种分支判断,代码的可读性和可维护性变差,且每次升级都要修改所有版本的代码逻辑,很容易出错,从而导致事故的发生。
[0037]考虑到上述问题,通过本专利技术实施例手段实现的代码隔离,使得同一个服务端应用程序的不同版本之间的代码逻辑互不影响,从而减少了出错的概率,降低了代码开发和维护难度。具体详见以下说明。
[0038]本专利技术实施例提供了一种服务器端的多版本程序管理方法,其中该服务器端运行有至少一个版本的服务器端程序,如图1所示,该服务器端的多版本程序管理方法包括服务端执行的以下步骤:
[0039]步骤1、将至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;
[0040]步骤2、分别加载至少一个版本的中间程序到至少一个相互隔离的加载器;
[0041]步骤3、接收来自客户端程序的包括版本号的请求信息;
[0042]步骤4、调用与版本号相同的加载器中的中间程序,并向客户端程序返回请求结果响应。
[0043]本专利技术实施例中,利用相互隔离的加载器,实现了各个版本的中间程序之间的代码隔离,使得同一个服务器端程序的不同版本的中间程序之间的代码逻辑互不影响本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务器端的多版本程序管理方法,其中所述服务器端运行有至少一个版本的服务器端程序,所述服务器端的多版本程序管理方法包括服务器端执行的以下步骤:将所述至少一个版本的服务器端程序分别打包为至少一个版本的中间程序;分别加载所述至少一个版本的中间程序到至少一个相互隔离的加载器;接收来自客户端程序的包括版本号的请求信息;调用与所述版本号相同的加载器中的中间程序,并向所述客户端程序返回请求结果响应。2.根据权利要求1所述的服务器端的多版本程序管理方法,其特征在于:所述中间程序为跨平台类程序。3.根据权利要求2所述的服务器端的多版本程序管理方法,其特征在于:所述中间程序为运行于跨平台虚拟机中的程序。4.根据权利要求3所述的服务器端的多版本程序管理方法,其特征在于:所述跨平台虚拟机为Java虚拟机。5.根据权利要求2所述的服务器端的多版本程序管理方法,其特征在于:所述跨平台类程序为字节码文件包。6.根据权利要求2所述的服务器端的多版本程序管理方法,其特征在于:所述跨平台类程序为Java代码程序。7.根据权利要求5所述的服务器端的多版本程序管理方法,其特征在于:所述字节码文件包为Java的class文件包。8.根据权利要求1所述的服务器端的多版本程序管理方法,其特征在于:所述至少一个版本的服务器端程序为同一程序的不同版本。9.一种服务器端的多版本程序管理系统,其中所述服务器端运行有至少一个版本的服务器端程序,其特征在于,所述服务器端的多版本程序管...

【专利技术属性】
技术研发人员:甘硕
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1