CN108121550A - 一种软件自动升级的方法及系统 - Google Patents

一种软件自动升级的方法及系统 Download PDF

Info

Publication number
CN108121550A
CN108121550A CN201611086148.7A CN201611086148A CN108121550A CN 108121550 A CN108121550 A CN 108121550A CN 201611086148 A CN201611086148 A CN 201611086148A CN 108121550 A CN108121550 A CN 108121550A
Authority
CN
China
Prior art keywords
management entity
upgrade patch
client
download
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611086148.7A
Other languages
English (en)
Inventor
谢楚楚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Zhenhai Yongxin Mdt Infotech Ltd
Original Assignee
Ningbo Zhenhai Yongxin Mdt Infotech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo Zhenhai Yongxin Mdt Infotech Ltd filed Critical Ningbo Zhenhai Yongxin Mdt Infotech Ltd
Priority to CN201611086148.7A priority Critical patent/CN108121550A/zh
Publication of CN108121550A publication Critical patent/CN108121550A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种软件自动升级的方法,包括如下步骤:A、位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件;B、更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤C,若相同,则按照更新策略等待特定时长后返回步骤A;C、更新管理实体从服务器下载并保存升级补丁;D、更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;E、客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。

Description

一种软件自动升级的方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件自动升级的方法及系统。
背景技术
软件升级,是指软件开发者在编写软件的时候,由于设计人员考虑不全面或程序功能不完善,在软件发行后,通过对程序的修改或加入新的功能后,以升级补丁的形式发布,通过下载并安装升级补丁实现软件升级。
软件升级主要包括两种方式:手动升级和自动升级。手动升级需要用户手动控制下载并安装升级补丁,使用较为麻烦。自动升级通常采用客户端/服务器的形式,客户端上安装需要升级的软件,升级补丁存放在服务器。软件包含主程序和更新程序,升级过程如图1所示,包括如下步骤:
步骤101:主程序释放并激活更新程序。
步骤102:更新程序连接服务器,下载版本信息文件。
步骤103:将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤104。
步骤104:更新程序从服务器下载升级补丁,下载完成后停止相关进程,然后将新数据覆盖旧的数据。
步骤105:更新程序自行退出并运行主程序。
现有自动升级方法存在的问题是:更新程序从属于主程序,如果由于某些原因(如病毒感染、用户误操作删除关键文件)导致主程序不能正常启动或运行,则更新程序也无法运行,也就无法进行自动升级。此外,如果升级补丁很大或者网速很慢,用户不得不等待很长时间直到下载完成或者下载失败,导致更新程序长时间占用客户端系统资源或网络带宽。特别是在同一局域网内多台客户端安装同一需要升级的程序时,这多台客户端都要分别进行升级,严重占用局域网与广域网之间的连接带宽。
发明内容
本发明提供了一种软件自动升级的方法及系统,可以使得软件升级更为可靠,并且避免占用客户端和网络带宽资源。
本发明实施例提供的一种软件自动升级的方法,包括如下步骤:
A、位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件;
B、更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤C,若相同,则按照更新策略等待特定时长后返回步骤A;
C、更新管理实体从服务器下载并保存升级补丁;
D、更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
E、客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
较佳地,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
本发明实施例还提供一种软件自动升级的系统,包括:位于广域网中的服务器,位于同一局域网中的更新管理实体和至少一个客户端;
所述服务器用于保存升级补丁,并提供升级补丁的下载服务;
所述更新管理实体用于从服务器处下载升级补丁,并保存升级补丁,连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
所述客户端用于接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
较佳地,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
较佳地,所述更新管理实体包括:
版本比较模块,用于从服务器下载版本信息文件,将下载的版本信息文件与本地版本信息进行对比,如果不同则使能下载模块;
下载模块,用于从服务器下载升级补丁;
保存模块,用于保存下载模块所下载的升级补丁;
推送模块,用于将升级补丁推送到所述更新管理实体所在的局域网中的客户端。
从以上技术方案可以看出,将更新程序完全从主程序以及客户端中独立出来,在客户端所在的局域网内设置专门的更新管理实体,由更新管理实体实现升级补丁的自动下载及安装,客户端只需要接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。根据本发明方案,局域网中安装同一软件的多个客户端每次升级时,只要从服务器下载一次升级补丁即可,极大减少了对局域网与广域网之间的连接带宽的占用。更新管理实体与客户端独立,因此更新过程无须占用客户端的资源,即使客户端的主程序出现异常也可以实现更新。本发明方案尤其适用于局域网中部署了大量安装了同一软件的客户端的情形。
附图说明
图1为现有技术中的自动升级流程示意图;
图2为本发明实施例提供的软件自动升级流程示意图。
具体实施方式
本发明的基本思想是,将更新程序完全从主程序以及客户端中独立出来,在客户端所在的局域网内设置专门的更新管理实体,由更新管理实体实现升级补丁的自动下载及安装。
本发明实施例提供的软件自动升级流程如图2所示,包括如下步骤:
步骤201:位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件。
步骤202:更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤203,若相同,则按照更新策略等待特定时长后返回步骤201。
步骤203:更新管理实体从服务器下载并保存升级补丁。
步骤204:更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端。
步骤205:客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
所述版本信息文件可以是按照时间及软件版本编码的版本信息,也可以是采用MD5算法对升级补丁进行演算得到的MD5码。
更新管理实体可以保存多个升级补丁,以便在某些情况下客户端可以回退到较旧的版本。更新管理实体可以仅保存最新的n个升级补丁,而将更早的升级补丁删除。
本发明实施例还提供了一种软件自动升级的系统,包括:位于广域网中的服务器,位于同一局域网中的更新管理实体和至少一个客户端;
所述服务器用于保存升级补丁,并提供升级补丁的下载服务;
所述更新管理实体用于从服务器处下载升级补丁,并保存升级补丁,连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
所述客户端用于接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
其中,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
较佳地,所述更新管理实体包括:
版本比较模块,用于从服务器下载版本信息文件,将下载的版本信息文件与本地版本信息进行对比,如果不同则使能下载模块;
下载模块,用于从服务器下载升级补丁;
保存模块,用于保存下载模块所下载的升级补丁;
推送模块,用于将升级补丁推送到所述更新管理实体所在的局域网中的客户端。
从以上流程可以看出,由独立的更新管理实体从服务器下载升级补丁,并推送到局域网中的各个客户端进行安装,这样局域网中安装同一软件的多个客户端每次升级时,只要从服务器下载一次升级补丁即可,极大减少了对局域网与广域网之间的连接带宽的占用。更新管理实体与客户端独立,因此更新过程无须占用客户端的资源,即使客户端的主程序出现异常也可以实现更新。本发明方案尤其适用于局域网中部署了大量安装了同一软件的客户端的情形。
更新管理实体可以看作一类特殊的客户端,其运行的程序就是更新程序。此外,更新管理实体自身运行的程序可以按照现有技术的方式进行升级。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (5)

1.一种软件自动升级的方法,其特征在于,包括如下步骤:
A、位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件;
B、更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤C,若相同,则按照更新策略等待特定时长后返回步骤A;
C、更新管理实体从服务器下载并保存升级补丁;
D、更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
E、客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
2.根据权利要求1所述的方法,其特征在于,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
3.一种软件自动升级的系统,其特征在于,包括:位于广域网中的服务器,位于同一局域网中的更新管理实体和至少一个客户端;
所述服务器用于保存升级补丁,并提供升级补丁的下载服务;
所述更新管理实体用于从服务器处下载升级补丁,并保存升级补丁,连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
所述客户端用于接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
4.根据权利要求3所述的系统,其特征在于,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
5.根据权利要求3或4所述的系统,其特征在于,所述更新管理实体包括:
版本比较模块,用于从服务器下载版本信息文件,将下载的版本信息文件与本地版本信息进行对比,如果不同则使能下载模块;
下载模块,用于从服务器下载升级补丁;
保存模块,用于保存下载模块所下载的升级补丁;
推送模块,用于将升级补丁推送到所述更新管理实体所在的局域网中的客户端。
CN201611086148.7A 2016-11-28 2016-11-28 一种软件自动升级的方法及系统 Pending CN108121550A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611086148.7A CN108121550A (zh) 2016-11-28 2016-11-28 一种软件自动升级的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611086148.7A CN108121550A (zh) 2016-11-28 2016-11-28 一种软件自动升级的方法及系统

Publications (1)

Publication Number Publication Date
CN108121550A true CN108121550A (zh) 2018-06-05

Family

ID=62227338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611086148.7A Pending CN108121550A (zh) 2016-11-28 2016-11-28 一种软件自动升级的方法及系统

Country Status (1)

Country Link
CN (1) CN108121550A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547534A (zh) * 2018-10-29 2019-03-29 深圳同耕科技股份有限公司 一种辅助分布式b/s架构实现系统自动在线升级的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547534A (zh) * 2018-10-29 2019-03-29 深圳同耕科技股份有限公司 一种辅助分布式b/s架构实现系统自动在线升级的方法
CN109547534B (zh) * 2018-10-29 2021-11-30 深圳同耕科技股份有限公司 一种辅助分布式b/s架构实现系统自动在线升级的方法

Similar Documents

Publication Publication Date Title
US9141366B2 (en) Method, system, terminal and device management server for installing software components
US10348804B2 (en) System to automatically process components on a device
CN102546246A (zh) 一种软件自动升级的方法及系统
US9904534B2 (en) Inter-tenant and intra-tenant flock management
US9383992B2 (en) Enterprise wide software version recommendation
US7577949B2 (en) Installation source management
US11314524B2 (en) Method, apparatus, and computer program product for managing service container
EP1577766A2 (en) Side-by-side drivers
CN104834541B (zh) 功能模块挂载方法、挂载系统及更新挂载系统的方法
CN103036706A (zh) 应用升级异常的本地处理方法
CN105981332A (zh) 使用喷泉码广播管理信息
CN110865819B (zh) 一种os的安装方法、服务器和系统
US11550918B2 (en) Package-based remote firmware update
EP2104274B1 (en) Method, system, dm client and dm server for installing software component
CN108121550A (zh) 一种软件自动升级的方法及系统
US20190012161A1 (en) Distributed and self-deleting apparatus for fast software deployment and upgrade in a network
US20170070573A1 (en) Communication device, communication system, and data processing device
CN104348646A (zh) 配置数据处理方法、装置及系统
EP2763035A2 (en) Method of evaluating one or more commands to be executed and related apparatus
JP2006011781A (ja) インストール方式およびインストール方法ならびに配布装置およびそのプログラム
JP5787688B2 (ja) サーバ装置、クライアント装置、情報処理方法及びプログラム
CN111240708B (zh) 工控系统主机、工控系统及工控系统主机软件升级的方法
CN103685431A (zh) 虚拟主机控制系统及方法
CN116016469A (zh) 设备升级方法、装置、电子设备及计算机可读存储介质
CN113064622A (zh) 一种调度录音系统集中管控升级的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180605