一种软件升级方法及系统技术方案

技术编号:3545584 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种软件升级方法及系统,用以解决现有技术中针对在同一时期有不同版本在客户端运行的应用软件升级占用大量硬件资源、服务器效率低下,软件维护人员工作量大的问题。包括如下步骤:通过接入服务器获取当前版本信息并根据当前版本信息和软件版本信息判断是否需要升级;及将是否需要升级的结果通过所述接入服务器返回给所述客户端;如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载及安装升级程序和/或升级压缩包完成升级。运用本发明专利技术的一种软件升级方法及系统,合理利用了服务器的硬件资源,提高了服务器的使用效率,并降低了应用软件维护人员修改升级信息的工作量,从而降低了软件企业的运营成本。

【技术实现步骤摘要】

本专利技术涉及计算机通信领域,更具体地说,涉及一种软件升级的方法及系统。
技术介绍
对于软件提供商来说,需要不断更新升级计算机软件以提供给用户更多的功能.而随着互联网的发展,计算机软件升级逐渐发展到通过服务器/客户端的方式实现远程升级。所谓服务器/客户端的方式是指计算机软件提供商将最新版本的计算机软件升级数据存放在服务器上,客户端的用户通过互联网采用HTTP即(超链接传输协议)或FTP(文件传输协议)的方式直接从服务器上下载所需的升级数据。最初的软件升级方法是采用将软件的低版本数据包中的所有文件,或一部分文件以整个文件替换的方式进行软件升级。这种软件升级方式适用于软件业发展初期时软件数据量较小的数据包,即使在每次升级时将新版本的整个数据包中的每个文件重新拷贝一遍,然后发送给需要进行软件升级的用户,软件生产商拷贝和用户升级所花费的时间也不会太多,浪费的存储介质也有限。但随着软件业的不断发展,常规的软件升级方法的弊端越来越明显。一方面,软件包的功能越来越多,软件规模也就相应地扩大。对规模较大的软件来说,常规的软件升级方法在每次升级都要拷贝大量的数据,出现一两百兆数据的升级包并不少见。一两百兆的数据要从软件生产商那里发送到进行软件升级的用户手中,首先,软件生产商要花大量人力物力、使用大容量的存储介质拷贝软件,然后用户再花更多的时间将该软件升级数据包拷贝入计算机,以替代原有的低版本软件。这一过程浪费生产商许多宝贵时间、精力和金钱。但升级的内容实际上占该数据包的容量的一小部分,每个文件甚至可能只改动几个字节。一方面,有些诸如软件包需要频繁升级,每一次升级可能数据量不是很大,但由于频度很高,事实上也造成对用户资源的浪费。如果是通过网络下载,也浪费了-->网络的带宽和服务器的资源,加重了厂商的负担。因此现在各种应用软件的开发都采取模块化的开发方式,即将各个功能各个部分都以模块化的方式集成,并发展了针对软件的某一模块进行升级的升级方法,只须拷贝或下载必要的最少内容就能将软件进行升级,而不必为了升级软件,每次都拷贝或下载软件的全部或大多数内容。但是上述升级方案也只适用于同一时期在客户端运行的只有同一版本的软件升级,对于已经发布多个版本并且在同一时期有不同版本在客户端运行的应用软件的升级成为必须要解决的一个问题。如果针对不同版本、不同模块搭建不同的服务器,指定服务器负责完成指定版本、指定模块的升级是可行的,但是这样会造成服务器硬件资源的大量占用,降低服务器的使用效率,而且还会增大应用软件维护人员修改升级信息的工作量。
技术实现思路
本专利技术提供一种软件升级方法及系统,用以解决现有技术中针对在同一时期有不同版本在客户端运行的应用软件升级占用大量硬件资源、服务器效率低下,软件维护人员工作量大的问题。为了实现专利技术目的,本专利技术提供了一种软件升级的方法,所述方法包括下述步骤:A、通过接入服务器获取当前版本信息并根据当前版本信息和软件版本信息判断是否需要升级;及将是否需要升级的结果通过所述接入服务器返回给所述客户端;B、如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载及安装升级程序和/或升级压缩包完成升级。所述步骤A中,如果所述客户端软件包括升级程序,则所述当前版本信息包括升级程序版本号信息与模块版本号信息;如果所述客户端软件不包括升级程序,则所述当前版本信息包括模块版本号信息。所述步骤A之前还包括将软件版本信息保存在升级服务器的数组中的步骤;所述的软件版本信息包括所有升级程序版本号信息与模块版本号信息。所述步骤A还包括如果当前版本信息等于升级程序最高版本号信息和/或-->模块版本号信息,则通过接入服务器向客户端返回不需要升级信息的步骤。所述步骤A还包括如果当前版本信息小于升级程序的最高版本号信息和/或模块版本号信息,则通过接入服务器向客户端返回需要升级的信息和可以选择升级的版本号信息和/或模块版本号信息。所述步骤B还包括:B1、升级服务器通过接入服务器接收升级请求并判断单位时间内接收到升级请求数量是否超过预设阙值;B2、如果超过预设阙值,则通过接入服务器向客户端返回稍后升级的信息;B3、如果未超过预设阙值,则在客户端与升级服务器间建立HTTP链接,上传当前版本信息,并根据所述当前版本信息向客户端返回可以升级至的升级程序版本信息和/或模块版本信息。所述步骤B还包括获取客户端选择的需要升级至的升级程序的版本号信息和/或模块版本号信息并根据客户端选择的升级程序版本号信息和/或模块版本号信息向客户端返回升级信息的步骤;所述升级信息包括升级程序和/或升级压缩包的下载地址信息和下载服务器信息。所述步骤B还包括客户端根据升级信息从相应的下载服务器下载升级程序和/或升级压缩包并在本地安装所下载的升级程序和/或升级压缩包完成升级的步骤。本专利技术还提供一种软件升级系统,包括多个客户端用于运行应用软件,及一接入服务器用于在客户端和升级服务器未建立连接之前进行通信,向升级服务器转发当前版本信息,发送升级请求,以及向客户端转发是否需要升级信息,稍后升级信息;一升级服务器用于根据接入服务器转发的当前版本信息判断是否需要升级,接收升级请求并判断单位时间内接收的升级请求是否超过预设阙值,以及如果需要升级而且单位时间内接收的升级请求未超过预设阙值的情况下接收客户端上传的当前版本信息,并根据当前版本信息返回升级信息;及一下载服务器存储有所有软件升级程序和升级压缩包,用于让客户端根据-->升级信息下载相应的升级程序和/或升级压缩包。所述升级服务器(100)还用于根据当前版本信息向客户端(120)返回用户可以选择的升级至的升级程序的版本信息和/或模块版本号信息等,接收用户选择的升级程序版本信息和/或模块版本信息。本专利技术有益效果如下:本专利技术通过在客户端和升级服务器还未建立连接以前由接入服务器负责二者间的通信,在返回需要升级且单位时间内的升级请求的数量不超过预设阙值的情况下才在客户端和升级服务器间建立连接并且根据客户端上传的当前版本信息返回可供用户选择的升级程序信息,并根据用户选择的升级程序信息提供相应的升级信息;并将升级服务器和下载服务器相分离,合理利用了服务器的硬件资源,提高了服务器的使用效率,并降低了应用软件维护人员修改升级信息的工作量,从而降低了软件企业的运营成本。附图说明图1是实现本专利技术一种软件升级方法的系统架构示意图。图2是本专利技术一种软件升级方法的软件升级的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术通过在客户端和升级服务器还未建立连接以前由接入服务器负责二者间的通信,在返回需要升级且单位时间内的升级请求的数量不超过预设阙值的情况下才在客户端和升级服务器间建立连接并且根据客户端上传的当前版本信息返回可供用户选择的升级程序信息,并根据用户选择的升级程序信息提供相应的升级信息;并将升级服务器和下载服务器相分离,合理利用了服务器的硬件资源,提高了服务器的使用效率,并降低了应用软件维护人员修改升级信息的工作量,从而降低了软件企业的运营成本。-->如图1所示,是实现本专利技术一种软本文档来自技高网
...

【技术保护点】
一种软件升级方法,其特征在于,包括以下步骤:A、通过接入服务器获取当前版本信息并根据当前版本信息和软件版本信息判断是否需要升级;及将是否需要升级的结果通过所述接入服务器返回给所述客户端;B、如果需要升级,则接收升级请求、获取 升级信息并根据升级信息下载及安装升级程序和/或升级压缩包完成升级。

【技术特征摘要】
1、一种软件升级方法,其特征在于,包括以下步骤:A、通过接入服务器获取当前版本信息并根据当前版本信息和软件版本信息判断是否需要升级;及将是否需要升级的结果通过所述接入服务器返回给所述客户端;B、如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载及安装升级程序和/或升级压缩包完成升级。2、根据权利要求1所述的一种软件升级方法,其特征在于,所述步骤A中,如果所述客户端软件包括升级程序,则所述当前版本信息包括升级程序版本号信息与模块版本号信息;如果所述客户端软件不包括升级程序,则所述当前版本信息包括模块版本号信息。3、根据权利要求1所述的一种软件升级方法,其特征在于,所述步骤A之前还包括将软件版本信息保存在升级服务器的数组中的步骤;所述的软件版本信息包括所有升级程序版本号信息与模块版本号信息。4、根据权利要求1所述的一种软件升级方法,其特征在于,所述步骤A还包括如果当前版本信息等于升级程序最高版本号信息和/或模块版本号信息,则通过接入服务器向客户端返回不需要升级信息的步骤。5、根据权利要求1所述的一种软件升级方法,其特征在于,所述步骤A还包括如果当前版本信息小于升级程序的最高版本号信息和/或模块版本号信息,则通过接入服务器向客户端返回需要升级的信息和可以选择升级的版本号信息和/或模块版本号信息。6、根据权利要求1所述的一种软件升级方法,其特征在于,所述步骤B还包括:B1、升级服务器通过接入服务器接收升级请求并判断单位时间内接收到升级请求数量是否超过预设阙值;B2、如果超过预设阙值,则通过接入服务器向客户端返回稍后升级的信息;B3、如果未超过预设阙值,则在客户端与升级服务器间建立HTTP链接,上传当前版本信息,并根据所述当前版本信息向客户端返回可以升...

【专利技术属性】
技术研发人员:杨谦梁永祥王星王凡
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

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

1