CN103761115A - 一种实现软件自我升级的方法 - Google Patents
一种实现软件自我升级的方法 Download PDFInfo
- Publication number
- CN103761115A CN103761115A CN201310703502.6A CN201310703502A CN103761115A CN 103761115 A CN103761115 A CN 103761115A CN 201310703502 A CN201310703502 A CN 201310703502A CN 103761115 A CN103761115 A CN 103761115A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- upgrade
- application program
- redaction
- application
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种实现软件自我升级的方法。该方法基于升级系统实现,该升级系统包括升级模块和自升级模块;升级模块定时监测应用程序池内的每一个应用程序是否有新版本;当应用程序存在新版本时,从应用程序池内下载应用程序的升级文件,对应用程序进行升级操作;自升级模块定时监测服务器是否有升级系统自身的新版本,当存在升级系统自身的新版本时,强制关闭自升级模块,从服务器下载升级系统的升级文件,对升级系统进行自我升级操作,并重新启动升级系统。本发明能够完成客户端应用程序和升级程序自身的升级操作,简化了升级过程,提高了升级效率。
Description
技术领域
本发明涉及一种实现软件自我升级的方法,属于计算机运行维护技术领域。
背景技术
软件产品具有更新快、版本多的特点,导致软件升级成为软件技术支持中最主要的业务,为此投入了大量的人力资源。各种软件升级方法也应运而生。当前,常见的软件升级方法包括手动升级方法、自动升级方法和定期升级方法。
手动升级方法是开发人员根据软件新旧版本的差异开发出升级包,升级包中带有新版本的软件文件或数据;然后将升级包经由传统物流方式或互联网传递到用户的计算机上;最后用户或维护人员根据升级指导书完成一系列操作,完成旧版本文件的替换或配置数据的更新等软件升级工作。由于在手动升级方法中,升级操作主要由用户或维护人员完成,对升级操作人员要求比较高,而且操作复杂,容易出错,升级周期长,不能满足软件频繁升级的需求。
因此,自动升级方法和定期升级方法便应运而生。自动升级方法是待升级的软件实时监测服务器上软件的版本号,若服务器上软件的版本号大于当前软件版本号,则自动从服务器下载升级程序和数据,完成软件升级。定期升级方法与其类似,服务器定期发送软件的版本号,当服务器发送的软件的版本号大于当前软件版本号,则自动从服务器下载升级程序和数据,完成软件升级。
但是在现有的软件升级方法中,对软件进行升级的升级程序却不能完成自身的升级,当客户端需要添加新的软件时,常常需要相关技术人员手动安装完成。这种方法操作复杂,升级周期长而且容易出错。当需要添加软件的客户端数量庞大时,需要耗费巨大的人力资源,给客户端升级带来很大的困难,升级速度慢,升级效率低。
发明内容
本发明所要解决的技术问题在于提供一种实现软件自我升级的方法。
为实现上述的发明目的,本发明采用下述的技术方案:
一种实现软件自我升级的方法,基于升级系统实现,所述升级系统包括升级模块和自升级模块;
所述升级模块定时监测应用程序池内的每一个应用程序是否有新版本;当应用程序存在新版本时,从应用程序池内下载应用程序的升级文件,对所述应用程序进行升级操作;
所述自升级模块定时监测服务器是否有升级系统自身的新版本,当存在升级系统自身的新版本时,强制关闭所述自升级模块,从服务器下载所述升级系统的升级文件,对所述升级系统进行自我升级操作,并重新启动所述升级系统。
其中较优地,对所述应用程序的升级操作和对所述升级系统的自我升级操作各自独立进行。
其中较优地,当新的应用程序添加到客户端时,所述升级模块中的监测单元进行定时监测,发现新版本进行下载更新,将需要添加的新应用程序的相关信息添加到所述升级模块中。
其中较优地,所述升级模块中的升级处理单元接收所述监测单元传送来的应用程序新版本信息,从更新的应用程序池内下载相关应用程序的升级文件,完成对相关应用程序的升级。
其中较优地,所述升级处理单元检测存在新版本的应用程序是否正在运行,当存在新版本的应用程序处于未运行状态时,从应用程序池内下载应用程序的升级文件;当存在新版本的应用程序处于运行状态时,所述升级处理单元强制将其关闭,从应用程序池内下载应用程序的升级文件。
其中较优地,所述应用程序为客户端安装的软件,在应用程序池内包含客户端安装的所有软件。
利用本发明所提供的软件升级方法,当客户端有新的应用程序需要加入时,可以通过在服务器端更新升级系统,通过升级系统的自我升级,再对客户端应用程序进行升级来完成。整个过程不需要技术人员手动下载安装,从而简化了升级过程,提高了升级效率。
附图说明
图1为本发明所提供的软件升级方法中,升级系统的逻辑结构示意图;
图2为本发明所提供的软件升级方法中,升级模块对应用程序进行升级的流程图;
图3为本发明所提供的软件升级方法中,自升级模块实现升级系统自我升级的流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。
在本发明中,所提及的应用程序是指客户端安装的软件,应用程序池内包含了客户端安装的所有软件。服务器可以根据需要对应用程序池进行更新。
本发明提供一种实现软件自我升级的方法。在该软件升级方法中,升级系统(通常安装在服务器端)定时监测应用程序池内的每一个应用程序是否有新版本,当应用程序存在新版本时,从应用程序池内下载新版本应用程序的升级文件,完成每一个应用程序的升级,并启动相关的应用程序,同时,升级系统定时监测服务器是否有自身的新版本,当服务器存在升级系统的新版本时,强制关闭升级系统的自升级模块,从服务器下载升级文件,完成自升级模块的升级操作,并将其重新启动。这样,不仅能够实现对其他研发出新版本的应用程序的升级,而且也能够实现升级系统的自我升级。下面对这一过程做详细具体的说明。
如图1所示,本发明中的升级系统包括自升级模块和升级模块。其中自升级模块包括自监测单元和自升级处理单元,升级模块包括监测单元和升级处理单元。
自监测单元用于定时监测服务器是否有升级系统自身的新版本,当存在升级系统自身的新版本时,将信息传送到自升级处理单元。在自监测单元中,用户可以根据自身需求和运行环境的需要设置轮询的时间,避免了不必要的资源浪费,提高了升级效率。
自升级处理单元接收从监测单元传送来的升级系统新版本信息,从服务器下载升级系统的升级文件,完成对升级系统的升级,并重新启动升级系统,使升级系统继续监测应用程序,根据要求完成对相关应用程序的升级。
监测单元用于定时监测应用程序池内的每一个应用程序是否有新版本,当应用程序存在新版本时,将信息传送到升级处理单元。在监测单元,用户可以根据自身需求和软件的实际运行情况设置轮询的时间,避免不必要的监测所耗费的资源,提高了监测的效率,进而提高了升级的效率。
升级处理单元接收监测单元传送来的应用程序新版本信息,检测存在新版本的应用程序是否正在运行,当存在新版本的应用程序处于未运行状态时,升级处理单元从应用程序池内下载相关应用程序的升级文件,完成对相关应用程序的升级,并启动相关应用程序。当相关应用程序处于运行状态时,升级处理单元强制将其关闭,从应用程序池内下载相关应用程序的升级文件,完成对其的升级,并启动相关应用程序。
需要说明的是,上述升级系统及其功能单元(模块)可以以软件、硬件或者软件和硬件的结合来实现。其中硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。当升级系统以软件方式实现时,即为上述的升级程序。本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明中的系统及其功能单元可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
如图2所示,升级系统的监测单元定时监测应用程序池内的每一个应用程序是否有新版本,当应用程序存在新版本时,将信息传送到升级处理单元。升级处理单元接收监测单元传送来的应用程序新版本信息,检测存在新版本的应用程序是否正在运行,当存在新版本的应用程序处于未运行状态时,升级处理单元从应用程序池内下载相关应用程序的升级文件,完成对相关应用程序的升级,并启动相关应用程序。当存在新版本的应用程序处于运行状态时,升级处理单元强制将其关闭,从应用程序池内下载相关应用程序的升级文件,完成对其的升级,并启动相关应用程序。
与此同时,升级系统还可以完成自身的升级。升级系统的自我升级以及升级系统对其他应用程序的升级活动二者各自独立进行,互不影响。图3为本发明所提供的软件升级方法中,自升级模块实现升级系统自我升级的流程图。自升级模块中的自监测单元定时监测服务器是否有升级系统自身的新版本,当存在升级系统自身的新版本时,将信息传送到自升级处理单元。自升级处理单元接收自监测单元传送来的升级系统新版本信息,强制关闭自升级模块,从服务器下载升级系统的升级文件,完成对升级系统的升级,并重新启动升级系统,使升级系统继续监测应用程序,根据要求完成对相关应用程序的升级。
当有新的应用程序需要添加到客户端时,只需要在服务器端更新升级系统,升级系统中的监测单元会进行定时监测,发现新版本进行下载更新,将需要添加的新应用程序的相关信息添加到升级模块。更新后的升级模块会定时监测包括新应用程序在内的所有应用程序是否有新版本,当升级处理单元接收监测单元传送来的应用程序新版本信息时,从更新的应用程序池内下载相关应用程序的升级文件,完成对相关应用程序的升级,需要加入客户端的新的应用程序作为新的版本被下载安装,启动相关应用程序,自动完成升级更新。整个过程不需要相关人员手动下载安装,显著提高了升级效率。
本发明所提供的实现软件自我升级的方法,能够完成客户端应用程序和升级程序自身的升级操作,当客户端需要添加新的应用程序时,可以通过升级程序和应用程序的升级操作,在不需要人工参与的情况下高效地完成,从而简化了升级过程,提高了升级效率。
以上对本发明所提供的实现软件自我升级的方法进行了详细的说明。对本领域的技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (6)
1.一种实现软件自我升级的方法,其特征在于:
所述方法基于升级系统实现,所述升级系统包括升级模块和自升级模块;
所述升级模块定时监测应用程序池内的每一个应用程序是否有新版本;当应用程序存在新版本时,从应用程序池内下载应用程序的升级文件,对所述应用程序进行升级操作;
所述自升级模块定时监测服务器是否有升级系统自身的新版本,当存在升级系统自身的新版本时,强制关闭所述自升级模块,从服务器下载所述升级系统的升级文件,对所述升级系统进行自我升级操作,并重新启动所述升级系统。
2.如权利要求1所述的实现软件自我升级的方法,其特征在于:
对所述应用程序的升级操作和对所述升级系统的自我升级操作各自独立进行。
3.如权利要求1所述的实现软件自我升级的方法,其特征在于:
当新的应用程序添加到客户端时,所述升级模块中的监测单元进行定时监测,发现新版本进行下载更新,将需要添加的新应用程序的相关信息添加到所述升级模块中。
4.如权利要求3所述的实现软件自我升级的方法,其特征在于:
所述升级模块中的升级处理单元接收所述监测单元传送来的应用程序新版本信息,从更新的应用程序池内下载相关应用程序的升级文件,完成对相关应用程序的升级。
5.如权利要求4所述的实现软件自我升级的方法,其特征在于:
所述升级处理单元检测存在新版本的应用程序是否正在运行,当存在新版本的应用程序处于未运行状态时,从应用程序池内下载应用程序的升级文件;当存在新版本的应用程序处于运行状态时,所述升级处理单元强制将其关闭,从应用程序池内下载应用程序的升级文件。
6.如权利要求1~5中任意一项所述的实现软件自我升级的方法,其特征在于:
所述应用程序为客户端安装的软件,在应用程序池内包含客户端安装的所有软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310703502.6A CN103761115B (zh) | 2013-11-30 | 2013-11-30 | 一种实现软件自我升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310703502.6A CN103761115B (zh) | 2013-11-30 | 2013-11-30 | 一种实现软件自我升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761115A true CN103761115A (zh) | 2014-04-30 |
CN103761115B CN103761115B (zh) | 2017-11-03 |
Family
ID=50528359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310703502.6A Active CN103761115B (zh) | 2013-11-30 | 2013-11-30 | 一种实现软件自我升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761115B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281476A (zh) * | 2014-10-13 | 2015-01-14 | 中国外汇交易中心 | 一种用于计算机系统的数据下载方法及其数据下载管理器 |
CN105468418A (zh) * | 2015-12-09 | 2016-04-06 | 上海爱数信息技术股份有限公司 | 一种智能终端集群升级软件系统及方法 |
CN107122174A (zh) * | 2017-03-30 | 2017-09-01 | 北京小米移动软件有限公司 | 应用程序更新方法及装置 |
CN107239296A (zh) * | 2016-03-29 | 2017-10-10 | 百度在线网络技术(北京)有限公司 | 应用程序的更新方法和装置 |
CN107423087A (zh) * | 2017-05-19 | 2017-12-01 | 北京有初科技有限公司 | 一种服务器可监测的应用程序升级方法 |
CN110069266A (zh) * | 2018-01-24 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN110119279A (zh) * | 2018-02-06 | 2019-08-13 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
CN111443937A (zh) * | 2020-04-22 | 2020-07-24 | 珠海格力电器股份有限公司 | 嵌套式远程升级方法及客户端、升级程序的升级方法 |
CN113329044A (zh) * | 2020-02-28 | 2021-08-31 | 北京京东振世信息技术有限公司 | 一种监控代理程序的升级方法和升级装置 |
CN110119279B (zh) * | 2018-02-06 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
CN102486736A (zh) * | 2010-12-06 | 2012-06-06 | 深圳市金蝶中间件有限公司 | 程序自动更新方法及更新程序生成装置 |
-
2013
- 2013-11-30 CN CN201310703502.6A patent/CN103761115B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
CN102486736A (zh) * | 2010-12-06 | 2012-06-06 | 深圳市金蝶中间件有限公司 | 程序自动更新方法及更新程序生成装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281476A (zh) * | 2014-10-13 | 2015-01-14 | 中国外汇交易中心 | 一种用于计算机系统的数据下载方法及其数据下载管理器 |
CN104281476B (zh) * | 2014-10-13 | 2018-09-11 | 中国外汇交易中心 | 一种用于计算机系统的数据下载方法及其数据下载管理器 |
CN105468418A (zh) * | 2015-12-09 | 2016-04-06 | 上海爱数信息技术股份有限公司 | 一种智能终端集群升级软件系统及方法 |
CN107239296A (zh) * | 2016-03-29 | 2017-10-10 | 百度在线网络技术(北京)有限公司 | 应用程序的更新方法和装置 |
CN107122174A (zh) * | 2017-03-30 | 2017-09-01 | 北京小米移动软件有限公司 | 应用程序更新方法及装置 |
CN107423087A (zh) * | 2017-05-19 | 2017-12-01 | 北京有初科技有限公司 | 一种服务器可监测的应用程序升级方法 |
CN110069266A (zh) * | 2018-01-24 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN110069266B (zh) * | 2018-01-24 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN110119279A (zh) * | 2018-02-06 | 2019-08-13 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
CN110119279B (zh) * | 2018-02-06 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
CN113329044A (zh) * | 2020-02-28 | 2021-08-31 | 北京京东振世信息技术有限公司 | 一种监控代理程序的升级方法和升级装置 |
CN111443937A (zh) * | 2020-04-22 | 2020-07-24 | 珠海格力电器股份有限公司 | 嵌套式远程升级方法及客户端、升级程序的升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103761115B (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761115A (zh) | 一种实现软件自我升级的方法 | |
US9766876B2 (en) | Methods of updating software components, computer systems and memory apparatus | |
US20140053149A1 (en) | Fast and automatic deployment method for cluster system | |
CN107171833A (zh) | 一种通过bmc实现服务器bmc和bios批量升级方法 | |
CN105765534A (zh) | 虚拟计算系统和方法 | |
US10747523B2 (en) | Methods of updating firmware components, computer systems and memory apparatus | |
CN103513993A (zh) | 固件更新系统及方法 | |
CN107291481B (zh) | 一种组件更新方法、装置和系统 | |
CN106897093A (zh) | 一种windows操作系统的部署方法及装置 | |
EP2805233B1 (en) | Installation engine and package format for parallelizable, reliable installations | |
CN114651233A (zh) | 即时容器 | |
CN107220009B (zh) | 一种不同厂家raid卡状态信息的统一获取方法和装置 | |
CN104267993A (zh) | 软件的升级方法、装置和移动终端 | |
JP2016508250A (ja) | ハードディスクシステム操作方法、ストレージシステム及びプロセッサ | |
EP2648092B1 (en) | Updating method and multi-domain embedded system | |
JP2015060411A (ja) | 情報処理装置のファームウェア更新方法 | |
US11204754B2 (en) | Operating system update | |
CN108121552B (zh) | 一种基于XenServer的自动化补丁方法 | |
JP2012146241A (ja) | ソフトウェアアップデート方法、ソフトウェアアップデート装置、及びソフトウェアアップデートプログラム | |
CN102331942A (zh) | 一种BIOS与Linux内核自动升级的方法 | |
US20220197633A1 (en) | Software defined build infrastructure for hybrid, virtualized and native build environments | |
CN109002309A (zh) | 一种硬件升级方法及相关装置 | |
US10237133B2 (en) | Techniques of restoring BMC configurations to multiple BMCs | |
US11709669B2 (en) | Operating system update via sideband processor | |
US11068253B2 (en) | Software upgrade and downgrade using ghost entries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |