一种分布式软件升级系统及方法

文档序号:7868462阅读:254来源:国知局
专利名称:一种分布式软件升级系统及方法
技术领域
本发明涉及计算机通信领域,特别是涉及一种分布式软件升级的方法。
背景技术
随着我国计算机工控软件给用户带来更多更完善的功能的同时,软件用户不得不进行不定期的软件升级。目前的软件升级方式大多采用工控仪器客户端的方式实现远程升级,即:计算机软件提供商将最新版本的计算机软件升级数据存放在服务器或者工控仪器客户端本地上,工控仪器客户端的用户通过互联网采用HTTP即(超链接传输协议)或FTP(文件传输协议)的方式直接从服务器上下载所需的升级数据。这种软件升级方式适用于同一时期内同一类型工控仪器客户端应用软件升级,而无法满足对于同一局域网内的不同工控仪器的不同类型不同版本的工控仪器客户端应用软件的同时升级要求。如果针对各种类型工控仪器客户端逐一进行升级,这样不仅浪费用户更多宝贵的时间精力,而且增加了软件维护人员的工作量,软件升级维护的工作效率较低。

发明内容
本发明提供一种分布式软件升级系统及方法,以解决现有技术中针对在同一时期有不同类型的工控仪器客户端不同版本应用软件升级占用大量硬件资源,软件维护人员工作量大的问题。本发明的一种分布式软件升级系统的实现方案包括:广域网服务器,用于接收工控仪器客户端的当前版本信息,并根据当前版本信息判断是否需要升级,并返回升级信息;本地接入服务器,用于储存所有工控仪器客户端软件升级程序和升级压缩包,并分别与工控仪器客户端与广域网服务器建立双向通信连接,实现向广域网服务器转发工控仪器客户端的当前版本信息与升级请求,同时向工控仪器客户端转发广域网服务器的升级信息。本发明提供的一种分布式软件升级方法包括步骤:
A、同一局域网中的若干工控仪器客户端分配唯一IP地址,并将同一局域网工控仪器客户端中当前版本信息和软件版本信息保存到本地接入服务器中;
B、通过本地接入服务器将同一局域网内的工控仪器客户端的当前版本信息和软件版本信息转发至广域网服务器;
C、广域网服务器根据接收到的当前版本信息和软件版本信息判断是否需要升级,并将是否需要升级的结果信息通过所述本地接入服务器返回给所述工控仪器客户端;
D、如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载及安装升级程序或升级压缩包完成升级并返回升级后的信息,根据返回的信息,版本管理服务器判断是否升级成功,并记录相应信息。并且,步骤A中,若所述的工控仪器客户端中的软件包括升级程序,则所述当前版本信息或当前软件版本信息包括升级程序版本号信息与模块版本号信息。并且,步骤C还包括 如果当前版本信息等于升级程序最高版本号信息或模块版本号信息,则通过本地接入服务器向工控仪器客户端返回不需要升级的结果信息的步骤。并且,步骤C还包括如果当前版本信息小于升级程序的最高版本号信息或模块版本号信息,则通过本地接入服务器向工控仪器客户端返回需要升级的结果信息和可以选择升级的版本号信息或模块版本号信息。并且,步骤C还包括所述升级结果信息包括升级程序或升级压缩包的下载地址信息。并且,步骤D还包括工控仪器客户端接收到本地接入服务器转发的升级结果信息,从下载地址信息进入本地接入服务器下载升级程序或升级压缩包,并在工控仪器客户端安装所下载的升级程序或升级压缩包,完成自动升级并返回升级后的信息,根据返回的信息,版本管理服务器判断是否升级成功,并记录相应信息。本发明通过在工控仪器客户端和广域网服务器之间连接本地接入服务器,负责在工控仪器客户端与广域网服务器之间建立通信并且储存更新的升级程序或压缩包,当广域网服务器返回需要升级的结果信息时,工控仪器客户端根据下载地址信息直接从本地接入服务器下载升级程序或升级压缩包,既节约了网络的带宽和服务器的资源,又提高了软件维护升级效率,降低了维护人员的工作量,从而降低企业软件使用维护成本。


图I是本发明中一种分布式软件升级系统的架构示意图。图2是本发明中一种分布式软件升级方法的软件升级的流程图。图3是本发明的软件信息数据封装成的帧结构图。图4是本发明的较 佳实施例示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图I所示,是实现本发明一种分布式软件升级方法的系统架构示意图。实现本发明一种分布式软件升级方法需要广域网中的服务器,及同一局域网中的若干工控仪器客户端,其中
广域网服务器,用于接收工控仪器客户端应用软件的当前版本信息,并根据当前版本信息判断是否需要升级,并返回升级信息;及
本地接入服务器,用于储存所有工控仪器客户端应用软件的升级程序和升级压缩包,并分别与工控仪器客户端、广域网服务器建立双向通信连接,实现向广域网服务器转发工控仪器客户端的当前版本信息与升级请求,同时向工控仪器客户端转发广域网服务器的升级信息。本地接入服务器可以是中小型企业局域网服务器,工控仪器客户端可以是同一局域网内的PC机或者可运行各种应用软件的嵌入式工控仪器仪表等。如图2所示,是本发明一种分布式软件升级方法的软件升级流程图。详述如下步骤A、同一局域网中的若干工控仪器客户端分配唯一 IP地址,并将同一局域网工控仪器客户端的当前版本信息和软件版本信息保存到本地接入服务器中;
步骤B、通过本地接入服务器将同一局域网内的工控仪器客户端的当前版本信息和软件版本信息转发至广域网服务器;
步骤C、广域网服务器根据接收到的当前版本信息和软件版本信息判断是否需要升级,并将是否需要升级的结果信息通过所述本地接入服务器返回给所述工控仪器客户端;
步骤D、如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载、安装升级程序或升级压缩包完成升级并返回升级后的信息,根据返回的信息,版本管理服务器判断是否升级成功,并记录相应信息。步骤A中,若所述的工控仪器客户端中的软件包括升级程序,则所述当前版本信息或当前软件版本信息包括升级程序版本号信息与模块版本号信息。步骤C中,如果当前版本信息等于升级程序最高版本号信息或模块版本号信息,则通过本地接入服务器向工控仪器客户端返回不需要升级的结果信息。如果当前版本信息小于升级程序的最高版本号信息或模块版本号信息,则通过本地接入服务器向工控仪器客户端返回需要升级的结果信息和可以选择升级的版本号信息或模块版本号信息。并且,步骤C中升级结果信息包括升级程序或升级压缩包的下载地址信息。步骤D中,工控仪器客户端接收到本地接入服务器转发的升级结果信息,从下载地址信息进入本地接入服务器下载升级程序或升级压缩包,并在工控仪器客户端安装所下载的升级程序或升级压缩包,完成自动升级并返回升级后的信息,根据返回的信息,版本管理服务器判断是否升级成功,并记录相应信息。如图3所示,是工控仪器客户端与升级服务器间信息传递的数据包格式信息。其数据包头包含有被管理工控仪器客户端的地址信息,软件信息,及对应的硬件信息。其包数据包含着不同软件的对应版本信息。

图4是本发明的较佳实施例,该实施例是应用于地铁列车设备检修试验台部署架构,其中,工控仪器客户端是最底层的被监控端设备,即牵引变压器综合试验台、主、辅逆变器综合试验台、司控器试验台、自动开关试验台、电器综合试验台、耐压综合试验台、电压、电流传感器试验台……X试验台,分别为各个列车设备检测台,由于处于不同网段,网段间做了隔离,因此每个网段间部署了一台本地接入服务器,其负责传输客户端信息到升级服务器上。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种分布式软件升级系统,解决现有技术中针对在同一时期有不同类型的工控仪器客户端不同版本应用软件升级过程中维护人员工作量大的问题,其特征在于包括广域网服务器,用于接收工控仪器客户端的当前版本信息,并根据当前版本信息判断是否需要升级,并返回升级信息;本地接入服务器,用于储存所有工控仪器客户端软件升级程序和升级压缩包,并分别与工控仪器客户端与广域网服务器建立双向通信连接,实现向广域网服务器转发工控仪器客户端的当前版本信息与升级请求,同时向工控仪器客户端转发广域网服务器的升级信息。
2.如权利要求I所述的一种分布式软件升级系统,其特征在于,所述广域网服务器还用于存储当前及历史的应用软件版本信息,其根据当前版本信息向工控仪器客户端返回用户可以选择的升级至的升级程序的版本信息或模块版本号信息。
3.如权利要求I所述的一种分布式软件升级系统,其特征在于,所述工控仪器客户端可以是底层被监控端设备。
4.一种分布式软件升级方法,特特征在于,包括以下步骤 A、同一局域网中的被监控工控仪器客户端分配唯一IP地址,接入服务器通过工控仪器接口或者工控仪器安装的监控软件读取工控仪器客户端中当前版本信息和软件版本信息,然后将读取的信息上传保存到本地接入服务器中; B、通过本地接入服务器将同一局域网内的工控仪器客户端的当前版本信息和软件版本信息转发至广域网服务器; C、广域网服务器根据接收到的当前版本信息和软件版本信息判断是否需要升级,并将是否需要升级的结果信息通过所述本地接入服务器返回给所述工控仪器客户端; D、如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载及安装升级程序或升级压缩包完成升级并返回升级后的信息,根据返回的信息,版本管理服务器判断是否升级成功,并记录相应信息。
5.如权利要求4所述的一种分布式软件升级方法,其特征在于,所述步骤A中,若所述的工控仪器客户端中的软件包括升级程序,则所述当前版本信息或当前软件版本信息包括升级程序版本号信息与模块版本号信息。
6.如权利要求4所述的一种分布式软件升级方法,其特征在于,所述步骤C还包括如果当前版本信息等于升级程序最高版本号信息或模块版本号信息,则通过本地接入服务器向工控仪器客户端返回不需要升级的结果信息的步骤。
7.如权利要求4所述的一种分布式软件升级方法,其特征在于,所述步骤C还包括如果当前版本信息小于升级程序的最高版本号信息或模块版本号信息,则通过本地接入服务器向工控仪器客户端返回需要升级的结果信息和可以选择升级的版本号信息或模块版本号信息。
8.如权利要求4所述的一种分布式软件升级方法,其特征在于,所述步骤C还包括所述升级结果信息包括升级程序或升级压缩包的下载地址信息。
9.如权利要求4所述的一种分布式软件升级方法,其特征在于,所述步骤D还包括工控仪器客户端接收到本地接入服务器转发的升级结果信息,从下载地址信息进入本地接入服务器下载升级程序或升级压缩包,并在工控仪器客户端安装所下载的升级程序或升级压缩包,完成自动升级并返回升级后的信息,根据返回的信息,版本管理服务器判断是否升级成功,并记录相应信息 。
全文摘要
本发明公开了一种工控仪器应用环境下的分布式软件升级系统及方法,解决现有技术中针对在同一时期不同类型的工控仪器客户端不同版本应用软件升级中维护人员工作量大的问题。包括步骤工控仪器客户端中当前版本信息和软件版本信息保存到同网段的接入服务器中;通过接入服务器将当前版本信息和软件版本信息转发至版本管理服务器;版本管理服务器查询软件版本数据库从而判断是否需要升级,并将是否升级的信息通过本地接入服务器返回给工控仪器客户端;如果需要升级,则接收升级请求、获取升级信息并根据升级信息下载及安装升级程序并返回升级后的信息,根据返回后的信息判断升级是否成功。本发明合理利用服务器资源,从而降低软件维护人员的工作量。
文档编号H04L29/08GK103248669SQ20121053584
公开日2013年8月14日 申请日期2012年12月13日 优先权日2012年12月13日
发明者李涛, 陈特放, 张勇辉, 程翔 申请人:武汉东为科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1