CN102811136A - 软件升级系统及方法 - Google Patents

软件升级系统及方法 Download PDF

Info

Publication number
CN102811136A
CN102811136A CN2011101465784A CN201110146578A CN102811136A CN 102811136 A CN102811136 A CN 102811136A CN 2011101465784 A CN2011101465784 A CN 2011101465784A CN 201110146578 A CN201110146578 A CN 201110146578A CN 102811136 A CN102811136 A CN 102811136A
Authority
CN
China
Prior art keywords
equipment
cloud computing
upgrading
software version
computing equipment
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
CN2011101465784A
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.)
Nanjing ZTE New Software Co Ltd
Original Assignee
Nanjing ZTE New Software Co 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 Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN2011101465784A priority Critical patent/CN102811136A/zh
Priority to PCT/CN2012/070211 priority patent/WO2012163093A1/zh
Publication of CN102811136A publication Critical patent/CN102811136A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本发明公开了一种软件升级系统及方法,上述系统包括:设备管理器、设备软件版本服务器、云计算设备,其中,设备管理器,用于管理云计算设备,并为设备软件版本服务器提供云计算设备的设备全量信息;设备软件版本服务器,用于根据设备管理器提供的云计算设备的设备全量信息将云计算设备划分为预定数量个批次,依次驱动云计算设备进行软件升级;云计算设备,用于在设备软件版本服务器的驱动下,完成本设备的软件升级。通过本发明提供的技术方案,解决了现有软件升级方式无法满足云计算系统软件升级需求的问题,进而达到了使软件升级不会影响整个云计算系统的计算能力和业务运行的效果。

Description

软件升级系统及方法
技术领域
本发明涉及通信领域,具体而言,涉及一种软件升级系统及方法。
背景技术
目前,云计算产品已经在业务产品领域逐步应用了,云计算的本质就是由众多设备协同组织工作,共同完成复杂庞大计算任务的一个分布式计算系统。云计算系统中的设备一般是未定数目的,而且是根据业务量大小随时增减变化的。目前传统的软件自动升级方式,一般是搭建软件版本服务器,各终端设备中软件版本管理程序定时或开机时主动向软件版本服务器查询服务器上最新软件版本信息,当服务器上的软件版本有更新,则设备中的软件版本管理程序通过FTP(File Transfer Protocol,文件传输协议)或HTTP(Hypertext Transfer Protocol,超文本传输协议)方式从软件版本服务器上下载软件,下载完毕后,自动更新当前运行中软件或者将运行中软件强制退出,提示用户手动安装新版本,完成软件版本升级。在业务产品的云计算系统中,系统中的设备数目庞大,并且设备数目经常在变化,每个设备都在从事复杂运算中的一个子计算任务,正在运行中的业务和计算都很关键,不可能中断业务运行或要求用户手动参与,常用的软件自动升级方式已无法适应。
发明内容
本发明的主要目的在于提供一种软件升级系统及方法,以解决上述问题。
根据本发明的一个方面,提供了一种软件升级系统,包括:设备管理器、设备软件版本服务器、云计算设备,其中,设备管理器,用于管理云计算设备,并为设备软件版本服务器提供云计算设备的设备全量信息;设备软件版本服务器,用于根据设备管理器提供的云计算设备的设备全量信息将云计算设备划分为预定数量个批次,依次驱动云计算设备进行软件升级;云计算设备,用于在设备软件版本服务器的驱动下,完成本设备的软件升级。
根据本发明的另一方面,提供了一种软件升级方法,包括:设备管理器为设备软件版本服务器提供云计算设备的设备全量信息;设备软件版本服务器根据设备管理器提供的云计算设备的设备全量信息将云计算设备划分为预定数量个批次,依次驱动云计算设备进行软件升级;云计算设备在设备软件版本服务器的驱动下,完成本设备的软件升级。
通过本发明,采用由设备软件版本服务器根据设备管理器提供的云计算设备的设备全量信息对云计算设备进行批次划分,依次对云计算设备进行软件升级的方案,解决了现有软件升级方式无法满足云计算系统软件升级需求的问题,进而达到了使软件升级不会影响整个云计算系统的计算能力和业务运行的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的软件升级系统的结构框图;
图2是根据本发明优选实施例的软件升级系统的结构框图;
图3是根据本发明实例的软件升级系统进行云计算系统软件升级的流程示意图;
图4是根据本发明实施例的软件升级方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的软件升级系统的结构框图。如图1所示,根据本发明实施例的软件升级系统包括:设备管理器(设备Master)12、设备软件版本服务器14、云计算设备16,其中,
设备管理器12,连接至设备软件版本服务器14及各云计算设备16,用于管理云计算设备16,并为设备软件版本服务器14提供云计算设备16的设备全量信息;
设备软件版本服务器14,连接至设备管理器12及各云计算设备16,用于根据设备管理器12提供的云计算设备16的设备全量信息将云计算设备16划分为预定数量个批次,依次驱动云计算设备16进行软件升级;
云计算设备16,连接至设备管理器12及设备软件版本服务器14,用于在设备软件版本服务器14的驱动下,完成本设备的软件升级。
上述软件升级系统在进行软件升级时,首先会获取软件升级开始时系统中所有云计算设备16的设备全量信息,准确确定本次软件升级面向的设备,防止了设备数量的经常性变动对软件升级的影响;其次,在对云计算设备16进行软件升级时并不是同时进行的,而是有次序分批的进行,设备软件版本服务器14会根据云计算设备16的设备全量信息将云计算设备16划分为若干个批次,然后依次的对各个批次中的云计算设备16进行升级,从而不会影响到整个云计算系统的计算能力和当前承载的业务,满足了云计算系统中软件升级的特殊要求。在具体实施过程中,批次的划分可以根据不同的情况确定。
优选地,如图2所示,设备软件版本服务器14可以进一步包括:
信息请求模块140,连接至设备管理器12,用于在设备软件版本服务器14启动后,向设备管理器12发起设备全量信息请求,并接收设备管理器12反馈的云计算设备16的设备全量信息;
批次划分模块142,连接至信息请求模块140,用于根据云计算设备16的设备全量信息将云计算设备16划分为预定数量个批次;
状态更改模块144,连接至批次划分模块142及设备管理器12,用于向设备管理器12发送版本升级预约消息,驱动设备管理器12将当前升级批次中的云计算设备16设置为版本升级状态;
更新发起模块146,连接至状态更改模块144及各云计算设备16,用于向当前升级批次中的云计算设备16发起强制软件升级请求,其中,升级请求中可以包括以下至少之一的信息:设备软件版本服务器14的IP地址、FTP端口号、FTP用户名及密码、版本文件位置、版本文件个数、版本文件名、版本说明文件、批次号;
结果收集模块148,连接至各云计算设备16及设备管理器12,用于接收当前升级批次中的云计算设备16发送的升级完成消息或升级失败消息,当接收到当前升级批次中所有云计算设备16发送的升级完成消息或升级失败消息后,向设备管理器12发送升级状态更改消息,驱动设备管理器12将当前升级批次中升级成功的云计算设备16设置为升级成功、空闲可用状态,并触发状态更改模块144、更新发起模块146开始下一批次的软件升级。
设备软件版本服务器14是云计算系统中的软件版本服务器,存储了设备软件的不同版本文件和版本说明文件,在软件更新过程中所起到核心作用。在上述系统中,设备软件版本服务器14启动后,会主动向设备管理器12发起链接,链接建立成功后,向设备管理器12发起设备全量信息请求UDP(User Datagram Protocol,用户数据报协议)消息,设备管理器12将自己管理的设备全量信息反馈给设备软件版本服务器14,设备软件版本服务器14将设备全量信息保存在本机内存中。当设备软件版本服务器14上放入最新设备软件版本文件后,设备软件版本服务器14分会分若干个批次完成云计算系统中所有云计算设备16的软件升级工作。设备软件版本服务器14先选择出第一批云计算设备16,发送版本升级预约消息给设备服务器12,设备服务器12收到此消息后,将第一批云计算设备16的状态置为版本升级状态。随后,设备软件版本服务器14会向此批设备中每台云计算设备16发起强制软件升级请求,升级请求中含有以下至少之一的软件版本升级需要的相关信息(根据具体情况进行选择):设备软件版本服务器14的IP地址,FTP端口号,FTP用户名、密码、版本文件位置,版本文件个数、版本文件名、版本说明文件、批次号等。云计算设备16软件版本升级完毕后,升级成功的会向设备软件版本服务器14返回升级完成消息,升级失败的会向设备软件版本服务器14返回升级失败消息,设备软件版本服务器14收到这些消息后,会更新设备软件版本服务器14中此设备相应的状态,待此批次所有设备都返回升级结果后,设备软件版本服务器14会向设备服务器12发起升级状态更改UDP消息,驱动设备服务器12将系统中此批次设备中成功升级设备的状态更改为升级成功、空闲可用状态,同时触发下一批设备的软件升级流程。此批次中升级失败的设备由于其状态还是版本升级状态,所以会随着下一批次的升级过程再次进行升级。
优选地,如图2所示,设备管理器12可以进一步包括:
注册响应模块1202,连接至云计算设备16,用于响应云计算设备16的注册请求,将该云计算设备16纳入管理,其中,注册请求中可以包括以下至少之一的信息:该云计算设备16的种类、机器名、IP地址、端口号、操作系统类型;
心跳发送模块1204,连接至各云计算设备16,用于向处于设备管理器12管理下的云计算设备16发送心跳同步消息,并接收心跳同步消息的响应消息;
信息提供模块1206,连接至设备软件版本服务器14,用于响应设备软件版本服务器14发起的设备全量信息请求向设备软件版本服务器14发送云计算设备16的设备全量信息;
主动提供模块1208,连接至设备软件版本服务器14,用于在设备全量信息发生改变时,主动向设备软件版本服务器14同步改变后的设备全量信息;
状态改变模块1210,连接至设备软件版本服务器14,用于根据设备软件版本服务器14发送的版本升级预约消息将对应的云计算设备16设置为版本升级状态,根据设备软件版本服务器14发送的升级状态更改消息将对应的云计算设备16设置为升级成功、空闲可用状态;
任务分配模块1212,连接至各云计算设备16,用于向处于升级成功、空闲可用状态的云计算设备16分配计算任务,不向处于版本升级预约状态的云计算设备16分配计算任务。
设备管理器12主要负责云计算系统中所有设备的管理和监控工作,在软件升级过程中起辅助作用。在上述系统中,当新增一台云计算设备16到云计算系统中时,此设备会主动向设备管理器12发起连接,向设备管理器12注册本设备的种类、机器名、IP地址、端口号、操作系统类型等信息,设备管理器12收到此设备的信息后,将此设备纳入管理。在运行中时,设备管理器12和其管理的各个设备,都定时向对方发送心跳消息,对方收到心跳消息后,返回响应消息。通过定时心跳,可以判断出设备是否运行正常。因此,设备管理器12可以实时准确的确定当前处于其管理下的云计算设备16。设备管理器12除了响应设备软件版本服务器14的设备全量信息请求给其发送设备全量信息,在设备全量信息发生改变时还会主动向设备软件版本服务器14同步设备全量信息,始终保持设备软件版本服务器14中的设备全量信息为最新、最准确的,从而在软件升级发起时准确地确认升级所面向的设备。在软件升级过程中,设备软件版本服务器14对某个批次的设备进行升级时,会发送版本升级预约消息给设备管理器12,设备管理器12收到此消息后,会将该批次设备的状态置为版本升级状态,如果设备当前为空闲状态,则直接置为版本升级状态,如果设备处于忙碌状态,则在当前计算任务完成后,将该设备状态及时更改为版本升级状态,同时,设备管理器12不会再向版本升级状态中设备安排分配计算任务了。新计算任务来临时,设备管理器12将仅向已升级成功的设备安排计算任务,从而避免了不同软件版本设备软件功能差异导致的最终计算结果错误。设备软件版本服务器14随后将发起下一批设备软件升级流程,继续完成剩余设备的软件版本升级。
优选地,如图2所示,云计算设备16可以进一步包括:
升级判断模块162,连接至设备软件版本服务器14,用于根据设备软件版本服务器14发起的强制软件升级请求,判断本设备是否需要进行软件升级;
软件下载模块164,连接至升级判断模块162及设备软件版本服务器14,用于在本设备需要进行软件升级时,从设备软件版本服务器14上下载新的软件版本文件;
升级实施模块166,连接至软件下载模块164,用于组成并调用升级脚本,使用所述新的软件版本文件更换本设备当前的软件版本文件,并重启软件;
结果反馈模块168,连接至升级实施模块166及设备软件版本服务器14,用于在本设备不需要进行软件升级或软件升级成功后,向软件版本服务器14发送升级完成消息,在软件升级失败后,向软件版本服务器14发送升级失败消息。
云计算设备16是软件升级的主体,在云计算系统中包括众多的云计算设备16,仅从软件升级这一角度来看,其结构都是相同的。在上述系统中,云计算设备16收到设备软件版本服务器14发起的强制软件升级请求后,会核对本机软件版本是否需要升级,如果需要升级,云计算设备16就会调用本机FTP下载程序,通过FTP从设备软件版本服务器14上下载新的软件版本文件到本机目录,下载成功后,云计算设备16中的版本升级程序会根据版本升级信息,组成并调用升级脚本,完成本设备软件版本文件的新旧更换,软件重启等升级工作。云计算设备16软件版本升级完毕后,会向设备软件版本服务器14返回升级完成消息。
优选地,设备管理器12是由双机主备构成的。
在整个软件升级系统中,设备管理器12可以由双机构成,仅有两台机器,其自身的软件版本升级不采用上述的升级方式。
下面结合实例及图3对上述优选实施进行详细说明,本实例中将云计算设备分为2个批次进行升级。图3是根据本发明实例的软件升级系统进行云计算系统软件升级的流程示意图,如图3所示,包括以下步骤:
步骤S302:云计算系统中各设备启动后,主动向设备Master(即设备管理器)发起TCP(Transfer Control Protocol,传输控制协议连接),与设备Master链路连接成功后,向设备Master发起TCP注册消息。
步骤S304:设备Master将此设备的IP、端口、机器名等注册信息保存在自己的内存中后,向云计算系统中设备返回注册成功的TCP响应消息,此设备则纳入设备Master管理。
步骤S306:云计算系统中设备定时与设备Master之间相互发起心跳同步消息,收到方及时返回响应消息。当云计算系统中设备发起的心跳消息未收到设备Master的响应时,云计算系统中设备认为连接链路出现问题,主动断链后重新向设备Master发起链路连接,向设备Master注册自己的设备情况;当设备Master发起的心跳消息未收到云计算系统中设备的响应时,设备Master认为此设备已经脱离管理,从自己维护的设备信息中删除此设备。
步骤S308:设备版本服务器启动后,主动向设备Master发送设备全量信息获取UDP消息。
步骤S310:设备Master收到消息后,将自己管理的设备全量信息返回给设备版本升级服务器,设备版本升级服务器将设备全量信息保存在本机中。
步骤S312:当设备Master中设备全量信息有变化时,设备Master向设备版本服务器发送设备全量信息同步UDP消息,将当前最新的设备全量信息同步给设备版本服务器,设备版本服务器及时更新本机内设备信息。
步骤S314:当设备版本服务器上发现设备软件新版本后,版本服务器选择出N/2个云计算设备,作为第一批次软件升级设备,向设备Master发送版本升级预约UDP消息,消息中含有这些升级设备的IP、请求软件升级状态、请求时间、批次号等字段信息。
步骤S316:设备Master收到此消息后,查看系统中这批设备状态,预约这批设备的状态为版本升级状态,如果这些设备当前为空闲状态,则直接置为版本升级状态;当这些设备处于忙碌状态,当前计算任务完成后,设备Master将这些设备状态及时更改为版本升级状态,当此批所有设备状态都更改为软件升级中状态后,设备Master返回给设备版本服务器此批设备状态变更成功UDP消息。设备Master不会向升级中状态的设备分配计算任务。
步骤S318:设备版本服务器向此批设备中每个设备发送强制软件升级UDP消息,消息中包含设备版本服务器的IP地址、FTP端口号、FTP用户名、密码、版本文件位置、版本文件名称、版本文件个数、版本说明文件、批次号、请求升级时间等信息。
步骤S320:各设备收到设备版本服务器发来的软件强制升级UDP消息后,将消息中的版本号与本机软件版本号比较,如果本机软件版本号与消息中的版本号一致,则返回升级成功UDP消息;如果不一致,则返回同意升级UDP消息。
步骤S322:如果设备软件版本需要升级,则调用本机FTP下载程序,将软件服务器上的软件版本文件FTP下载到本机目录下。
步骤S324:设备调用本机的版本升级程序,组成、调用升级脚本,完成软件版本升级工作。
步骤S326:设备软件升级完毕后,设备向设备版本服务器发送升级完成UDP消息。
步骤S328:设备版本服务器收到设备升级完毕UDP消息,更正本机中此设备的升级状态为升级成功;对于超过设定时间,仍未返回升级成功的设备,版本服务器认为此设备升级失败,更改此设备状态为升级失败。
步骤S330:待此批次所有设备都有了升级结果,设备版本服务向设备Master发送此批设备的状态更改UDP消息,请求更改设备Master中此批设备状态,消息中包含各设备IP地址,升级状态,批次号等字段信息。
步骤S332:设备Master收到此UDP消息后,更改此批设备状态。对于软件升级成功设备,更改为空闲可用状态;对于升级失败设备,依旧为版本升级状态。此后,设备Master将所有新计算任务向软件已升级成功的设备分配,未升级的、处于升级状态中的设备将不再分配计算任务,以避免不同软件版本设备软件功能差异导致的最终计算结果错误。设备版本服务器将选择剩下的未升级设备和升级失败设备作为第二批设备,重复升级过程。第二批设备升级成功后,版本服务器将产生软件升级报告,对于升级失败的设备,提醒维护人员人工干预。
图4是根据本发明实施例的软件升级方法的流程图。如图4所示,根据本发明实施例的软件升级方法包括:
步骤S402,设备管理器(设备Master)为设备软件版本服务器提供云计算设备的设备全量信息;
步骤S404,设备软件版本服务器根据设备管理器提供的云计算设备的设备全量信息将云计算设备划分为预定数量个批次,依次驱动云计算设备进行软件升级;
步骤S406,云计算设备在设备软件版本服务器的驱动下,完成本设备的软件升级。
在上述软件升级方法中,设备软件版本服务器在进行升级时首先会通过设备管理器获取软件升级开始时系统中所有云计算设备的设备全量信息,准确确定本次软件升级面向的设备,以防止设备数量的经常性变动对软件升级的影响;其次,在对云计算设备进行软件升级时并不是同时进行的,而是有次序分批的进行,设备软件版本服务器会根据云计算设备的设备全量信息将云计算设备划分为若干个批次,然后依次的对各个批次中的云计算设备进行升级,从而不会影响到整个云计算系统的计算能力和当前承载的业务,满足了云计算系统中软件升级的特殊要求。在具体实施过程中,批次的划分可以根据不同的情况确定。
优选地,步骤S402可以进一步包括以下处理:
(1)设备管理器响应云计算设备的注册请求,将该云计算设备纳入管理,其中,注册请求中可以包括以下至少之一的信息:该云计算设备的种类、机器名、IP地址、端口号、操作系统类型;
(2)设备管理器向处于其管理下的云计算设备发送心跳同步消息,并接收该心跳同步消息的响应消息;
(3)在设备软件版本服务器启动后,设备软件版本服务器向设备管理器发起设备全量信息请求;
(4)设备管理器响应于设备软件版本服务器发起的设备全量信息请求向设备软件版本服务器发送云计算设备的设备全量信息;
(5)设备管理器在设备全量信息发生改变时,主动向设备软件版本服务器同步改变后的设备全量信息。
上述操作保证了设备管理器可以实时准确地确定其管理下的云计算设备,从而进一步保证了设备软件版本服务器中的设备全量信息是最新、最准确的,使得设备软件版本服务器可以准确的确定软件升级面向的设备。
优选地,步骤S404可以进一步包括以下处理:
(1)设备软件版本服务器根据云计算设备的设备全量信息将云计算设备划分为预定数量个批次;
(2)设备软件版本服务器向设备管理器发送版本升级预约消息;
(3)设备管理器根据设备软件版本服务器发送的版本升级预约消息将当前升级批次中的云计算设备设置为版本升级状态,不再向处于版本升级预约状态的云计算设备分配计算任务;
(4)设备软件版本服务器向当前升级批次中的云计算设备发起强制软件升级请求,其中,升级请求中可以包括以下至少之一的信息:设备软件版本服务器的IP地址、FTP端口号、FTP用户名及密码、版本文件位置、版本文件个数、版本文件名、版本说明文件、批次号;
(5)设备软件版本服务器接收当前升级批次中的云计算设备发送的升级完成消息或升级失败消息,当接收到当前升级批次中所有云计算设备发送的升级完成消息或升级失败消息后,向设备管理器发送升级状态更改消息,并开始下一批次的软件升级;
(6)设备管理器根据设备软件版本服务器发送的升级状态更改消息将当前升级批次中升级成功的云计算设备设置为升级成功、空闲可用状态,开始向处于升级成功、空闲可用状态的云计算设备分配计算任务。
上述处理通过批次划分、状态区分等手段,既保证了各设备可以顺利的进行软件升级,又不影响整个云计算系统的计算能力和当前承载的业务。
优选地,步骤S406可以进一步包括以下处理:
(1)云计算设备根据设备软件版本服务器发起的强制软件升级请求,判断本设备是否需要进行软件升级;
(2)在本设备需要进行软件升级时,云计算设备从设备软件版本服务器上下载新的软件版本文件;
(3)云计算设备组成并调用升级脚本,使用新的软件版本文件更换本设备当前的软件版本文件,并重启软件;
(4)云计算设备在本设备不需要进行软件升级或软件升级成功后,向软件版本服务器发送升级完成消息,在软件升级失败后,向软件版本服务器发送升级失败消息。
当软件升级流程进行到一个一个具体的云计算设备时,每个云计算设备都要判断本设备是否需要进行升级,根据不同的判断结果来进行后续的操作,并将最终将结果反馈给设备软件版本服务器。
优选地,上述设备管理器由双机主备构成。双机主备构成设备管理器工作更为可靠。
下面结合实例对上述优选实施例进行详细说明。
本实例中将云计算设备分为两批进行升级,在具体实施过程中,根据上述优选实施在云计算系统中进行软件升级可以包括以下步骤:
步骤1:云计算系统中各设备启动后向设备Master发起注册消息,注册成功后此设备纳入设备Master管理。运行过程中,各设备与设备Master之间定时互发心跳消息确认两者间的管理与被管理关系。当设备Master发给此设备的定时心跳无返回次数达到设定次数时,设备Master认为此设备已经脱离管理,将此设备信息从自身设备信息中删除。设备软件版本服务器启动后,向设备Master发起设备全量信息获取消息,获取设备Master当前管理的所有设备的信息。当设备Master管理的设备有变化时,设备Master主动向设备版本服务器同步设备全量信息。
步骤2:设备版本服务器程序定时读取本机目录中版本信息文件,当发现有新版本信息描述文件时,认定有了设备软件新版本。当发现有新软件版本后,设备版本服务器分两批完成设备软件升级,先选择N/2台云计算设备作为第一批次升级设备,向设备Master发送版本升级预约消息,设备Master收到此消息后,将自身设备信息表中这些设备状态更改为升级预约状态,如果这些设备当前为空闲状态,则直接置为升级预约状态,如果这些设备处于忙碌状态,则在当前计算任务完成后,设备Master将这些设备状态及时更改为升级预约状态。处于升级预约状态的设备,设备Master不会再向其分配计算任务。当此批设备软件升级完毕,设备版本服务器向设备Master发送状态更改消息,设备Master收到此消息后,将自身设备信息表中这些设备状态更正为升级成功、空闲可用状态,处于此状态的设备之后将可以被继续分配计算任务;同时预约剩余设备为版本升级状态。新计算任务来临时,设备Master将仅向已升级成功的设备安排计算任务,避免不同软件版本设备软件功能差异导致的最终计算结果错误。
步骤3:设备版本服务器收到设备Master发送版本升级预约消息的响应消息后,向此批设备发送强制升级消息,消息中包含设备版本服务器的IP地址、端口号、FTP用户名及密码、版本文件位置、版本文件个数、版本文件名称、版本说明文件、批次号等信息。云计算设备收到软件强制升级消息后,核对消息中的软件版本号是否与本机软件版本号一致,如果软件版本一致,返回响应消息升级成功;如果不一致,返回响应消息同意升级。如果版本不一致,云计算设备调用本机FTP程序,从设备版本服务器上将新的软件版本文件(版本文件和版本说明文件)下载到本机目录中,下载完成后,由云计算设备中的版本升级程序组成、调用升级脚本,完成本设备软件版本升级工作。版本升级完成后,云计算设备向设备版本服务器发送升级完成消息。设备版本服务器收到此批所有设备的升级结果后,向设备Master发送状态更改消息,收到设备Master的响应消息后,继续向设备Master发送下批设备的版本升级预约消息。本次升级失败的设备将随下一批设备再次进行升级。
从以上的描述中,可以看出,通过本发明提供的技术方案,在由成千上万设备构成的业务产品云计算系统中,在任何时刻,都可以实现系统中设备软件的自动升级,软件自动升级必须不中断业务。升级不影响整个云计算系统的计算能力和业务运行,能应对云计算系统中设备的非规律增减。而且,不需要进行人工干预,简单方便可靠,大大减少了维护人员软件升级的工作量。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种软件升级系统,其特征在于,所述软件升级系统包括:设备管理器、设备软件版本服务器、云计算设备,其中,
所述设备管理器,用于管理所述云计算设备,并为所述设备软件版本服务器提供所述云计算设备的设备全量信息;
所述设备软件版本服务器,用于根据所述设备管理器提供的所述云计算设备的设备全量信息将所述云计算设备划分为预定数量个批次,依次驱动所述云计算设备进行软件升级;
所述云计算设备,用于在所述设备软件版本服务器的驱动下,完成本设备的软件升级。
2.根据权利要求1所述的系统,其特征在于,所述设备软件版本服务器包括:
信息请求模块,用于在所述设备软件版本服务器启动后,向所述设备管理器发起设备全量信息请求,并接收所述设备管理器反馈的所述云计算设备的设备全量信息;
批次划分模块,用于根据所述云计算设备的设备全量信息将所述云计算设备划分为预定数量个批次;
状态更改模块,用于向所述设备管理器发送版本升级预约消息,驱动所述设备管理器将当前升级批次中的云计算设备设置为版本升级状态;
更新发起模块,用于向所述当前升级批次中的云计算设备发起强制软件升级请求,其中,所述升级请求中包括以下至少之一的信息:所述设备软件版本服务器的IP地址、FTP端口号、FTP用户名及密码、版本文件位置、版本文件个数、版本文件名、版本说明文件、批次号;
结果收集模块,用于接收所述当前升级批次中的云计算设备发送的升级完成消息或升级失败消息,当接收到所述当前升级批次中所有云计算设备发送的升级完成消息或升级失败消息后,向所述设备管理器发送升级状态更改消息,驱动所述设备管理器将当前升级批次中升级成功的云计算设备设置为升级成功、空闲可用状态,并触发所述状态更改模块、所述更新发起模块开始下一批次的软件升级。
3.根据权利要求2所述的系统,其特征在于,所述设备管理器包括:
注册响应模块,用于响应云计算设备的注册请求,将该云计算设备纳入管理,其中,所述注册请求中包括以下至少之一的信息:该云计算设备的种类、机器名、IP地址、端口号、操作系统类型;
心跳发送模块,用于向处于所述设备管理器管理下的云计算设备发送心跳同步消息,并接收所述心跳同步消息的响应消息;
信息提供模块,用于响应所述设备软件版本服务器发起的设备全量信息请求向所述设备软件版本服务器发送所述云计算设备的设备全量信息;
主动提供模块,用于在所述设备全量信息发生改变时,主动向所述设备软件版本服务器同步改变后的所述设备全量信息;
状态改变模块,用于根据所述设备软件版本服务器发送的版本升级预约消息将对应的云计算设备设置为版本升级状态,根据所述设备软件版本服务器发送的升级状态更改消息将对应的云计算设备设置为升级成功、空闲可用状态;
任务分配模块,用于向处于升级成功、空闲可用状态的云计算设备分配计算任务,不向处于版本升级预约状态的云计算设备分配计算任务。
4.根据权利要求3所述的系统,其特征在于,所述云计算设备包括:
升级判断模块,用于根据所述设备软件版本服务器发起的强制软件升级请求,判断本设备是否需要进行软件升级;
软件下载模块,用于在本设备需要进行软件升级时,从所述设备软件版本服务器上下载新的软件版本文件;
升级实施模块,用于组成并调用升级脚本,使用所述新的软件版本文件更换本设备当前的软件版本文件,并重启软件;
结果反馈模块,用于在本设备不需要进行软件升级或软件升级成功后,向所述软件版本服务器发送升级完成消息,在软件升级失败后,向所述软件版本服务器发送升级失败消息。
5.根据权利要求1至4任一项所述的系统,其特征在于,所述设备管理器由双机主备构成。
6.一种软件升级方法,其特征在于,包括:
设备管理器为设备软件版本服务器提供云计算设备的设备全量信息;
所述设备软件版本服务器根据所述设备管理器提供的所述云计算设备的设备全量信息将所述云计算设备划分为预定数量个批次,依次驱动所述云计算设备进行软件升级;
所述云计算设备在所述设备软件版本服务器的驱动下,完成本设备的软件升级。
7.根据权利要求6所述的方法,其特征在于,设备管理器为设备软件版本服务器提供云计算设备的设备全量信息包括:
所述设备管理器响应云计算设备的注册请求,将该云计算设备纳入管理,其中,所述注册请求中包括以下至少之一的信息:该云计算设备的种类、机器名、IP地址、端口号、操作系统类型;
所述设备管理器向处于所述设备管理器管理下的云计算设备发送心跳同步消息,并接收所述心跳同步消息的响应消息;
在所述设备软件版本服务器启动后,所述设备软件版本服务器向所述设备管理器发起设备全量信息请求;
所述设备管理器响应于所述设备软件版本服务器发起的设备全量信息请求向所述设备软件版本服务器发送所述云计算设备的设备全量信息;
所述设备管理器在所述设备全量信息发生改变时,主动向所述设备软件版本服务器同步改变后的所述设备全量信息。
8.根据权利要求7所述的方法,其特征在于,所述设备软件版本服务器根据所述云计算设备的设备全量信息将所述云计算设备划分为预定数量个批次,依次驱动所述云计算设备进行软件升级包括:
所述设备软件版本服务器根据所述云计算设备的设备全量信息将所述云计算设备划分为预定数量个批次;
所述设备软件版本服务器向所述设备管理器发送版本升级预约消息;
所述设备管理器根据所述设备软件版本服务器发送的版本升级预约消息将当前升级批次中的云计算设备设置为版本升级状态,不再向处于版本升级预约状态的云计算设备分配计算任务;
所述设备软件版本服务器向所述当前升级批次中的云计算设备发起强制软件升级请求,其中,所述升级请求中包括以下至少之一的信息:所述设备软件版本服务器的IP地址、FTP端口号、FTP用户名及密码、版本文件位置、版本文件个数、版本文件名、版本说明文件、批次号;
所述设备软件版本服务器接收所述当前升级批次中的云计算设备发送的升级完成消息或升级失败消息,当接收到所述当前升级批次中所有云计算设备发送的升级完成消息或升级失败消息后,向所述设备管理器发送升级状态更改消息,并开始下一批次的软件升级;
所述设备管理器根据所述设备软件版本服务器发送的升级状态更改消息将所述当前升级批次中升级成功的云计算设备设置为升级成功、空闲可用状态,开始向处于升级成功、空闲可用状态的云计算设备分配计算任务。
9.根据权利要求8所述的方法,其特征在于,所述云计算设备在所述设备软件版本服务器的驱动下,完成本设备的软件升级包括:
所述云计算设备根据所述设备软件版本服务器发起的强制软件升级请求,判断本设备是否需要进行软件升级;
在本设备需要进行软件升级时,所述云计算设备从所述设备软件版本服务器上下载新的软件版本文件;
所述云计算设备组成并调用升级脚本,使用所述新的软件版本文件更换本设备当前的软件版本文件,并重启软件;
所述云计算设备在本设备不需要进行软件升级或软件升级成功后,向所述软件版本服务器发送升级完成消息,在软件升级失败后,向所述软件版本服务器发送升级失败消息。
10.根据权利要求6至9任一项所述的方法,其特征在于,所述设备管理器由双机主备构成。
CN2011101465784A 2011-06-01 2011-06-01 软件升级系统及方法 Pending CN102811136A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011101465784A CN102811136A (zh) 2011-06-01 2011-06-01 软件升级系统及方法
PCT/CN2012/070211 WO2012163093A1 (zh) 2011-06-01 2012-01-11 软件升级系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101465784A CN102811136A (zh) 2011-06-01 2011-06-01 软件升级系统及方法

Publications (1)

Publication Number Publication Date
CN102811136A true CN102811136A (zh) 2012-12-05

Family

ID=47234723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101465784A Pending CN102811136A (zh) 2011-06-01 2011-06-01 软件升级系统及方法

Country Status (2)

Country Link
CN (1) CN102811136A (zh)
WO (1) WO2012163093A1 (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812945A (zh) * 2014-02-26 2014-05-21 可牛网络技术(北京)有限公司 一种数据升级的方法和中心服务器
CN104253866A (zh) * 2014-09-20 2014-12-31 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备
CN104378394A (zh) * 2013-08-14 2015-02-25 阿里巴巴集团控股有限公司 一种服务器集群文件的更新方法及装置
CN104702440A (zh) * 2015-03-17 2015-06-10 四川天邑康和通信股份有限公司 网络设施与网络管理系统的通信方法
CN104702441A (zh) * 2015-03-17 2015-06-10 四川天邑康和通信股份有限公司 网络智能管理终端与网络设施的数据交换方法
WO2015176501A1 (zh) * 2014-05-20 2015-11-26 西安中兴新软件有限责任公司 设备管理会话的触发方法、设备、系统及计算机存储介质
CN105335195A (zh) * 2015-11-02 2016-02-17 北京金山安全软件有限公司 一种设备驱动升级方法、装置及电子设备
CN105630539A (zh) * 2015-12-18 2016-06-01 北京奇虎科技有限公司 灰度升级的方法和装置
CN103713924B (zh) * 2013-12-24 2017-03-08 汉柏科技有限公司 云计算平台服务的升级方法及系统
CN106533757A (zh) * 2016-11-09 2017-03-22 上海斐讯数据通信技术有限公司 一种云终端设备批量升级的方法和装置
CN107645408A (zh) * 2017-08-18 2018-01-30 上海斐讯数据通信技术有限公司 无线ap批量升级管理装置
CN108008968A (zh) * 2017-12-25 2018-05-08 苏州赛源微电子有限公司 一种小内存设备的软件升级系统
CN108052340A (zh) * 2013-08-13 2018-05-18 华为技术有限公司 一种应用升级方法、装置
CN108319500A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种云计算系统的操作方法、装置及电子设备
WO2018195899A1 (en) * 2017-04-28 2018-11-01 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for task scheduling and device management
CN110381156A (zh) * 2019-07-25 2019-10-25 四川航天信息有限公司 基于云平台的实时信息推送方法及其系统
CN110515637A (zh) * 2019-07-12 2019-11-29 湖南新云网科技有限公司 一种程序升级方法、系统及终端设备
CN110708345A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 云盘升级方法、调度方法及云主机、调度装置和系统
CN110716826A (zh) * 2018-07-13 2020-01-21 阿里巴巴集团控股有限公司 一种云盘升级、调度方法及云主机、调度装置和系统
CN110730090A (zh) * 2019-09-05 2020-01-24 深圳平安通信科技有限公司 云环境中代理端批量更新方法、装置、介质及电子设备
CN110798523A (zh) * 2019-11-01 2020-02-14 中科院计算技术研究所南京移动通信与计算创新研究院 通信设备软件升级的方法、控制装置及系统
CN112947956A (zh) * 2020-08-31 2021-06-11 深圳市明源云科技有限公司 一种应用软件升级方法
CN113542019A (zh) * 2021-06-30 2021-10-22 新华三大数据技术有限公司 转控分离分布式cp的升级方法及系统
CN114500525A (zh) * 2021-12-24 2022-05-13 天翼云科技有限公司 分布式系统中节点更新的方法、装置、计算机设备及介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10536332B1 (en) * 2017-11-15 2020-01-14 Amazon Technologies, Inc. Configuration invocation management
CN110597545B (zh) * 2019-09-04 2023-05-30 北京方研矩行科技有限公司 一种基于ota组件的热补丁智能升级方法及系统
US11704106B2 (en) * 2019-11-08 2023-07-18 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server
CN110990039B (zh) * 2019-11-29 2023-09-05 北京金山云网络技术有限公司 应用程序更新方法、装置、系统及计算机可读存储介质
CN111309388B (zh) * 2020-02-03 2023-07-21 杭州迪普科技股份有限公司 设备的系统软件版本的自动回滚系统及其方法
CN116841593B (zh) * 2023-09-01 2024-07-19 荣耀终端有限公司 软件升级方法、设备和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001090892A1 (en) * 2000-05-25 2001-11-29 Everdream, Inc. Intelligent patch checker
CN1763713A (zh) * 2004-10-22 2006-04-26 华为技术有限公司 一种移动终端软件版本升级方法
CN101631037A (zh) * 2008-07-18 2010-01-20 中兴通讯股份有限公司 一种网元软件的远程升级装置及方法
CN101741894A (zh) * 2008-11-26 2010-06-16 中国移动通信集团公司 一种分布式系统的升级方法、升级调度节点及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001090892A1 (en) * 2000-05-25 2001-11-29 Everdream, Inc. Intelligent patch checker
CN1763713A (zh) * 2004-10-22 2006-04-26 华为技术有限公司 一种移动终端软件版本升级方法
CN101631037A (zh) * 2008-07-18 2010-01-20 中兴通讯股份有限公司 一种网元软件的远程升级装置及方法
CN101741894A (zh) * 2008-11-26 2010-06-16 中国移动通信集团公司 一种分布式系统的升级方法、升级调度节点及系统

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052340A (zh) * 2013-08-13 2018-05-18 华为技术有限公司 一种应用升级方法、装置
CN108052340B (zh) * 2013-08-13 2021-03-30 华为技术有限公司 一种应用升级方法、装置
CN104378394B (zh) * 2013-08-14 2018-01-02 阿里巴巴集团控股有限公司 一种服务器集群文件的更新方法及装置
CN104378394A (zh) * 2013-08-14 2015-02-25 阿里巴巴集团控股有限公司 一种服务器集群文件的更新方法及装置
CN103713924B (zh) * 2013-12-24 2017-03-08 汉柏科技有限公司 云计算平台服务的升级方法及系统
CN103812945A (zh) * 2014-02-26 2014-05-21 可牛网络技术(北京)有限公司 一种数据升级的方法和中心服务器
WO2015176501A1 (zh) * 2014-05-20 2015-11-26 西安中兴新软件有限责任公司 设备管理会话的触发方法、设备、系统及计算机存储介质
CN104253866A (zh) * 2014-09-20 2014-12-31 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备
CN104253866B (zh) * 2014-09-20 2018-03-27 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备
WO2016041360A1 (zh) * 2014-09-20 2016-03-24 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备
CN104702441A (zh) * 2015-03-17 2015-06-10 四川天邑康和通信股份有限公司 网络智能管理终端与网络设施的数据交换方法
CN104702440B (zh) * 2015-03-17 2017-11-24 四川天邑康和通信股份有限公司 网络设施与网络管理系统的通信方法
CN104702441B (zh) * 2015-03-17 2018-01-12 四川天邑康和通信股份有限公司 网络智能管理终端与网络设施的数据交换方法
CN104702440A (zh) * 2015-03-17 2015-06-10 四川天邑康和通信股份有限公司 网络设施与网络管理系统的通信方法
CN105335195A (zh) * 2015-11-02 2016-02-17 北京金山安全软件有限公司 一种设备驱动升级方法、装置及电子设备
CN105630539A (zh) * 2015-12-18 2016-06-01 北京奇虎科技有限公司 灰度升级的方法和装置
CN106533757A (zh) * 2016-11-09 2017-03-22 上海斐讯数据通信技术有限公司 一种云终端设备批量升级的方法和装置
CN108319500A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种云计算系统的操作方法、装置及电子设备
WO2018195899A1 (en) * 2017-04-28 2018-11-01 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for task scheduling and device management
US10261841B2 (en) 2017-04-28 2019-04-16 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for task scheduling and device management
TWI685800B (zh) * 2017-04-28 2020-02-21 大陸商北京嘀嘀無限科技發展有限公司 用於任務調度和裝置管理的系統和方法
CN107645408A (zh) * 2017-08-18 2018-01-30 上海斐讯数据通信技术有限公司 无线ap批量升级管理装置
CN108008968A (zh) * 2017-12-25 2018-05-08 苏州赛源微电子有限公司 一种小内存设备的软件升级系统
CN110708345A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 云盘升级方法、调度方法及云主机、调度装置和系统
CN110716826A (zh) * 2018-07-13 2020-01-21 阿里巴巴集团控股有限公司 一种云盘升级、调度方法及云主机、调度装置和系统
CN110716826B (zh) * 2018-07-13 2023-11-24 阿里巴巴集团控股有限公司 一种云盘升级、调度方法及云主机、调度装置和系统
CN110515637A (zh) * 2019-07-12 2019-11-29 湖南新云网科技有限公司 一种程序升级方法、系统及终端设备
CN110381156A (zh) * 2019-07-25 2019-10-25 四川航天信息有限公司 基于云平台的实时信息推送方法及其系统
CN110730090B (zh) * 2019-09-05 2023-02-03 深圳平安通信科技有限公司 云环境中代理端批量更新方法、装置、介质及电子设备
CN110730090A (zh) * 2019-09-05 2020-01-24 深圳平安通信科技有限公司 云环境中代理端批量更新方法、装置、介质及电子设备
CN110798523A (zh) * 2019-11-01 2020-02-14 中科院计算技术研究所南京移动通信与计算创新研究院 通信设备软件升级的方法、控制装置及系统
CN112947956A (zh) * 2020-08-31 2021-06-11 深圳市明源云科技有限公司 一种应用软件升级方法
CN113542019A (zh) * 2021-06-30 2021-10-22 新华三大数据技术有限公司 转控分离分布式cp的升级方法及系统
CN113542019B (zh) * 2021-06-30 2023-12-29 新华三大数据技术有限公司 转控分离分布式cp的升级方法及系统
CN114500525A (zh) * 2021-12-24 2022-05-13 天翼云科技有限公司 分布式系统中节点更新的方法、装置、计算机设备及介质
CN114500525B (zh) * 2021-12-24 2024-04-26 天翼云科技有限公司 分布式系统中节点更新的方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
WO2012163093A1 (zh) 2012-12-06

Similar Documents

Publication Publication Date Title
CN102811136A (zh) 软件升级系统及方法
CN101483576B (zh) 一种分布式系统中的版本管理实现方法
CN111901419B (zh) 用于家电底板升级的方法及装置、设备
CN111131146B (zh) 一种广域环境下多超算中心软件系统部署和增量更新方法
EP2582089A1 (en) System and method for implementing automatic configuration for equipments
CN102202271A (zh) 多移动终端日程信息共享的方法、系统及装置
CN102098590A (zh) 光网络单元固件版本自动升级方法及系统
CN102938898B (zh) 一种atca架构下多板卡统一配置系统
CN102075985B (zh) Rtr单板的版本升级方法及装置
CN104184756A (zh) 一种数据同步方法、装置及系统
WO2013075488A1 (zh) 网元升级方法及装置
US20110167040A1 (en) Method, apparatus and system for executing synchronization
WO2008100114A1 (en) Method for transmitting data transmitted incompletely between server and client
CN111901142A (zh) 一种用于嵌入式设备集群的固件静默升级方法及装置
CN114938329A (zh) 一种基于mqtt的路由器网关设备管理方法及系统
CN108984195B (zh) 一种软件升级方法及装置
CN112540773A (zh) 一种云游戏安装方法、装置、电子设备及存储介质
JP2007282148A (ja) Ponシステム及び自動ダウンロード方法
JP2005228009A (ja) 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム
CN102053844A (zh) 软件升级方法和采用该方法的软件升级系统
CN108874410B (zh) 补丁管理方法及装置
CN108958757A (zh) 复杂嵌入式设备的升级方法及复杂嵌入式设备
CN111769966A (zh) 一种克隆升级方法、系统和应用
CN101789958B (zh) 一种基于设备管理业务的数据同步方法、系统及设备
CN115834382B (zh) 一种无人机中继基站的固件升级方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20121205

RJ01 Rejection of invention patent application after publication