CN112241283A - 软件升级方法、装置、计算机设备和存储介质 - Google Patents
软件升级方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112241283A CN112241283A CN202011185851.XA CN202011185851A CN112241283A CN 112241283 A CN112241283 A CN 112241283A CN 202011185851 A CN202011185851 A CN 202011185851A CN 112241283 A CN112241283 A CN 112241283A
- Authority
- CN
- China
- Prior art keywords
- target software
- software
- reset
- communication
- upgrade
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004891 communication Methods 0.000 claims abstract description 137
- 238000012790 confirmation Methods 0.000 claims abstract description 98
- 230000004044 response Effects 0.000 claims abstract description 43
- 238000012544 monitoring process Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本申请涉及一种软件升级方法、装置、计算机设备和存储介质。所述方法包括:监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;当监听到所述通信状态确认包时,则通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。采用本方法能够提高软件升级的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种软件升级方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,人们使用的软件也加快了更新换代的脚步。在进行软件升级的时候,需要获取到相应的升级文件才能进行软件的升级。
然而,在升级时可能会被很多环境因素干扰,导致升级失败。传统的软件升级方法,需要技术人员置身于软件升级现场进行管理,当技术人员离开进行升级处理的现场,并且发生软件升级失败的状况,就需要等待技术人员回来升级现场重新建立连接后再下载安装文件,导致升级效率比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高升级效率的软件升级方法、装置、计算机设备和存储介质。
一种软件升级方法,所述方法包括:
监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;
当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;
当监听到所述通信状态确认包时,则
通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。
在其中一个实施例中,所述当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令,包括:
当在预设时间段内未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令。
在其中一个实施例中,所述方法还包括:
通过所述预设程序向所述目标软件返回响应包后,监听所述目标软件发送的升级文件读取请求;所述升级文件读取请求,用于请求下载所述目标软件对应的升级文件;
当未监听到所述目标软件发送的升级文件读取请求时,则
通过所述预设程序向所述目标软件发送重置状态指令。
在其中一个实施例中,所述方法还包括:
当监听到所述目标软件发送的所述升级文件读取请求时,则
向所述目标软件返回相应的升级文件。
在其中一个实施例中,所述升级文件包括升级包和所述升级包的配置文件;所述配置文件,用于指示所述目标软件根据所述配置文件检测所述升级包是否与所述目标软件相匹配,并将检测通过后,根据所述升级包进行升级处理。
在其中一个实施例中,所述当未监听到所述目标软件发送的升级文件读取请求时,通过所述预设程序向所述目标软件发送重置状态指令,包括:
当在预设时间段内未监听到所述目标软件发送的所述升级文件读取请求时,通过所述预设程序向所述目标软件发送重置状态指令。
在其中一个实施例中,所述方法还包括:
统计通过所述预设程序向所述目标软件发送重置状态指令的重置次数;
当未监听到所述通信状态确认包、且所述重置次数超过预设的次数阈值时,或者,当未监听到所述目标软件发送的升级文件读取请求、且所述重置次数超过预设的次数阈值时,则
不再通过所述预设程序向所述目标软件发送重置状态指令,并生成告警提示信息。
一种软件升级装置,所述装置包括:
监听模块,用于监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;
重置模块,用于当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;
响应模块,用于当监听到所述通信状态确认包时,则通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;
当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;
当监听到所述通信状态确认包时,则
通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;
当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;
当监听到所述通信状态确认包时,则
通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。
上述软件升级方法、装置、计算机设备和存储介质,所述本机中预设程序先监听所述目标软件发送的所述通信状态确认包。当所述本机未监听到所述目标软件发送的所述通信状态确认包时,说明可能存在升级异常的问题,则向所述目标软件发送所述重置状态指令,以指示所述目标软件重置为所述初始状态,以便所述目标软件基于所述初始状态重新启动升级处理。所述本机中预设程序监听到所述目标软件发送的所述通信状态确认包后,则向所述目标软件返回所述响应包,以告知所述目标软件通信正常,可以进一步执行升级处理。通过本机中预设程序自动判断是否存在升级异常的情况,并在升级异常时,发送重置状态指令将所述目标软件重置为所述初始状态以重新启动升级,能够有效提高所述目标软件的升级效率。
附图说明
图1为一个实施例中软件升级方法的流程示意图;
图2为一个实施例中软件升级步骤的流程示意图;
图3为另一个实施例中软件升级方法的流程示意图;
图4为一个实施例中软件升级装置的结构框图;
图5为一个实施例中软件升级装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种软件升级方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于单个终端,还可以应用于包括多个终端的系统,并通过终端与终端的交互实现。本实施例中,该方法包括以下步骤:
步骤102,监听目标软件发送的通信状态确认包;目标软件,是待升级的软件;通信状态确认包,用于确认本机中预设程序与目标软件之间的通信是否正常。
其中,通信状态确认包,是对通信状态进行确认的数据包。通信状态确认包中包含用于确认通信状态的指令。预设程序,是本机中预先设置的用于辅助升级的工具,即用于辅助升级的host侧工具。
具体地,目标软件可以根据用于确认通信状态的指令进行封装,生成通信状态确认包,发送给本机中的预设程序。本机中的预设程序监听目标软件发送的通信状态确认包。
在一个实施例中,通信状态确认包可以是包含了多个相关文件在内的数据包,也可以是只单个文件的数据包。
在一个实施例中,目标软件可以根据用于确认通信状态的指令、以及除该用于确认通信状态的指令之外的其他数据,一起封装生成通信状态确认包。
在一个实施例中,通信状态确认包可以为hello包。
步骤104,当未等待到通信状态确认包时,通过预设程序向目标软件发送重置状态指令;重置状态指令,用于指示目标软件重置为初始状态,并基于初始状态重新启动升级处理。
其中,重置状态指令(Reset state command),是使目标软件恢复为初始状态的指令。初始状态,是目标软件清空影响本次升级失败的数据后的状态。
具体地,当未等待到目标软件发送的通信状态确认包时,本机则可以通过预设程序向目标软件发送重置状态指令。目标软件接收到重置状态指令后,重置状态成初始状态,并基于初始状态重新启动升级处理。可以理解,目标软件基于初始状态重新启动升级处理时,可以向预设程序发送通信状态确认包。
在一个实施例中,目标软件升级前,重置为初始状态。目标软件重置为初始状态的操作,可以是仅清理影响本次升级失败的数据的操作,也可以是将影响本次升级的数据以及目标软件存留的无用的数据一起清理的操作。
在一个实施例中,如图2的软件升级步骤的流程示意图所示。当本机侧的工具(即本机中的预设程序)未接收到通信状态确认包时,向目标软件发送重置状态指令。目标软件接收到重置状态指令后,重置状态成初始状态,并向本机侧的工具发送通信状态确认包后,基于初始状态重新启动升级处理。
步骤106,当等待到通信状态确认包时,则通过预设程序向目标软件返回响应包;响应包,用于确认通信正常,以指示目标软件执行升级处理。
其中,响应包,是本机中预设程序等待到通信状态确认包后,针对通信状态确认包进行回应所返回的一个数据包。
具体地,当本机中预设程序等待到通信状态确认包时,则向目标软件返回响应包。目标软件接收到本机返回的响应包后,则可以确认目标软件与本机中预设程序之间的通信状态正常,因而可以执行升级处理。
在一个实施例中,如图2的软件升级步骤的流程示意图所示。当本机侧的工具(即本机中预设程序)接收到通信状态确认包(即hello包)时,则向目标软件返回针对通信状态确认包的响应包(即hello response包)。目标软件接收到返回的响应包后,可以确认与本机侧的工具的通信状态正常,因而可以执行升级处理。
上述软件升级方法、装置、计算机设备和存储介质,所述本机中预设程序先监听所述目标软件发送的所述通信状态确认包。当所述本机未监听到所述目标软件发送的所述通信状态确认包时,说明可能存在升级异常的问题,则向所述目标软件发送所述重置状态指令,以指示所述目标软件重置为所述初始状态,以便所述目标软件基于所述初始状态重新启动升级处理。所述本机中预设程序监听到所述目标软件发送的所述通信状态确认包后,则向所述目标软件返回所述响应包,以告知所述目标软件通信正常,可以进一步执行升级处理。通过本机中预设程序自动判断是否存在升级异常的情况,并在升级异常时,发送重置状态指令将所述目标软件重置为所述初始状态以重新启动升级,能够有效提高所述目标软件的升级效率。
在一个实施例中,当未等待到通信状态确认包时,通过预设程序向目标软件发送重置状态指令,包括:当在预设时间段内未等待到通信状态确认包时,向通过预设程序目标软件发送重置状态指令。
其中,预设时间段,是预先设置的时间范围。
具体地,当在预设时间段内本机未等待到通信状态确认包时,则通过预设程序向目标软件发送重置状态指令。
在一个实施例中,本机可以先预设一个时间起点,并从该起点开始进行计时,当计时时长超过了预设时间段的长度、且未等待到通信状态确认包时,则通过预设程序向目标软件发送重置状态指令。
在一个实施例中,本机可以预先设定一个时间段,在该时间段内未等待到通信状态确认包,则向目标软件发送重置状态指令。
本实施例中,通过本机能否在预设时间段内等待到通信状态确认包,来判断是否需要向目标软件发送重置状态指令。当目标软件处于无法发送通信状态确认包时,能够使本机无需长时间去等待目标软件发送通信状态确认包,而是在超过预设时间段后自动向目标软件发送重置状态指令,以获取目标软件发送的通信状态确认包。通过本机自行判断出需要向目标软件发送重置状态指令并自动向目标软件发送重置状态指令,能够省去工作人员手动向目标软件发送重置状态指令进行目标软件重置的工作量。
在一个实施例中,该方法还包括:通过预设程序向目标软件返回响应包后,监听目标软件发送的升级文件读取请求;升级文件读取请求,用于请求下载目标软件对应的升级文件;当未等待到目标软件发送的升级文件读取请求时,则向目标软件发送重置状态指令。
其中,升级文件读取请求,是包含了升级文件读取指令的数据包。升级文件读取指令,是用于指示读取升级文件的指令。
在一个实施例中,升级文件读取请求为read(读取)包。
具体地,本机向目标软件返回响应包后,等待目标软件发送的用于请求下载目标软件对应的升级文件的升级文件读取请求。若本机未监听到目标软件发送的升级文件读取请求,则向目标软件发送重置状态指令。
在一个实施例中,升级文件读取请求可以是包含了多个相关文件在内的数据包,也可以是只包含记录了升级文件读取指令的单个文件的数据包。
在一个实施例中,如图2的软件升级步骤的流程示意图所示。若本机侧的工具未接收到目标软件发送的升级文件读取请求,则向目标软件发送重置状态指令。
本实施例中,通过以本机能否监听到目标软件发送的升级文件读取请求,来判断是否需要向目标软件发送重置状态指令。当本机未监听到目标软件发送的升级文件读取请求,则向目标软件发送重置状态指令。通过本机自行判断是否向目标软件发送重置状态指令,能够省去工作人员手动向目标软件发送重置状态指令进行目标软件重置的工作量。
在一个实施例中,方法还包括:当监听到目标软件发送的升级文件读取请求时,则向目标软件返回相应的升级文件。
其中,升级文件,是目标软件进行升级所需的数据包。
具体地,当本机中预设程序监听到目标软件发送的升级文件读取请求时,则根据升级文件读取请求,向目标软件返回相应的升级文件。目标软件接收相应的升级文件进行升级。
在一个实施例中,如图2的软件升级步骤的流程示意图所示。当本机接收到目标软件发送的升级文件读取请求时,则根据升级文件读取请求,向目标软件返回相应的升级文件。目标软件接收相应的升级文件进行升级。
本实施例中,通过本机接收目标软件发送的升级文件读取请求,自动根据升级文件读取请求,向目标软件返回相应的升级文件,能够省去工作人员手动下载相应的升级文件来进行目标软件升级的工作量。
在一个实施例中,升级文件包括升级包和升级包的配置文件;配置文件,用于指示目标软件根据配置文件检测升级包是否与目标软件相匹配,并将检测通过后,根据升级包进行升级处理。
其中,升级包,是目标软件进行升级所需的数据包。配置文件,是记录升级包相关的配置信息的文件。
具体地,目标软件接收到本机发送的升级文件,先根据升级文件中的升级包的配置文件,检测升级包是否与目标软件的本次升级匹配。若目标软件检测到升级包与本次升级匹配,再根据升级包进行升级处理。
在一个实施例中,配置文件可以为firehose文件,包含产品信息,升级镜像信息和分区信息等中的至少一种。
在一个实施例中,配置文件还可以包含目标软件用于判断升级包是否正确的判断依据。当配置文件包含了目标软件用于判断升级包是否正确的判断依据时,目标软件接收相应的升级文件,先根据升级文件包含的配置文件判断升级包是否为目标升级包,当升级包是目标升级包时,则进行升级,而当升级包不是目标升级包时,则发出告警。
其中,目标升级包,是指目标软件本次升级所需要的正确的而不是其他软件的升级包。其他软件,是除目标软件之外的软件。
本实施例中,通过本机返回包含了配置文件与升级包在内的升级文件,能够方便目标软件先根据配置文件判断升级包是否与本次升级匹配,避免了目标软件使用不匹配的升级包进行升级,从而提高了目标软件升级的效率。
在一个实施例中,当未监听到目标软件发送的升级文件读取请求时,向目标软件发送重置状态指令,包括:当在预设时间段内未监听到目标软件发送的升级文件读取请求时,向目标软件发送重置状态指令。
具体地,当本机在预设时间段内未监听到目标软件发送的升级文件读取请求时,则向目标软件发送重置状态指令。
在一个实施例中,本机可以先预设一个时间起点,并从该起点开始进行计算,当时间超过了预设时间段的长度、且本机未监听到升级文件读取请求时,则向目标软件发送重置状态指令。
在一个实施例中,本机可以预先设定一个时间段,在该时间段内未监听到升级文件读取请求,则向目标软件发送重置状态指令。
在一个实施例中,如图2的软件升级步骤的流程示意图所示。当本机在预设时间段内未接收到目标软件发送的升级文件读取请求时,则向目标软件发送重置状态指令。
本实施例中,通过本机能否在预设时间段内等待到升级文件读取请求,来判断是否需要向目标软件发送重置状态指令。当目标软件超出预设时间段尚未发送升级文件读取请求时,本机则自动判断目标软件不能执行升级处理,并自动向目标软件发送重置状态指令。通过本机自行判断出目标软件不能执行升级处理并自动向目标软件发送重置状态指令,能够省去工作人员手动向目标软件发送重置状态指令进行目标软件重置的工作量。
在一个实施例中,该方法还包括:统计向目标软件发送重置状态指令的重置次数;当未监听到通信状态确认包、且重置次数超过预设的次数阈值时,则不再向目标软件发送重置状态指令,并生成告警提示信息。
其中,次数阈值,是预先设定的向目标软件发送重置状态指令的最大值。告警提示信息,是具有告警提示作用的信息。
具体地,当本机未监听到通信状态确认包、且重置次数超过预设的次数阈值时,本机则不再向目标软件发送重置状态指令,并生成告警提示信息。
在其中一个实施例中,告警提示信息,可以是本机发出的特殊的声音,用于向工作人员做出提示,以进行现场问题排查。
在其中一个实施例中,告警提示信息,也可以是文字或者特殊的符号,用于向工作人员做出提示,以进行现场问题排查。
本实施例中,当本机未监听到通信状态确认包时,通过重置次数判断是否需要再向目标软件发送重置状态指令。当重置次数超过预设的次数阈值时,判断目标软件处于无法发送通信状态确认包,能够使本机避免无限循环地向目标软件发送重置状态指令,即避免了本机做无效的发送指令的操作。通过本机自行判断不需要再向目标软件发送重置状态指令,并自动生成告警提示信息,方便工作人员能够根据告警提示信息,有效地进行现场问题排查,从而提高了目标软件的升级效率。
在一个实施例中,方法还包括:统计向目标软件发送重置状态指令的重置次数;当未监听到目标软件发送的升级文件读取请求、且重置次数超过预设的次数阈值时,则不再向目标软件发送重置状态指令,并生成告警提示信息。
具体地,当本机未监听到升级文件读取请求、且重置次数超过预设的次数阈值时,本机则不再向目标软件发送重置状态指令,并生成告警提示信息。
本实施例中,当本机未监听到升级文件读取请求时,通过重置次数判断是否需要再向目标软件发送重置状态指令。当重置次数超过预设的次数阈值时,判断目标软件处于无法发送升级文件读取请求,能够使本机避免无限循环地向目标软件发送重置状态指令,即避免了本机做无效的发送指令的操作。通过本机自行判断不需要再向目标软件发送重置状态指令,并自动生成告警提示信息,方便工作人员能够根据告警提示信息,有效地进行现场问题排查,从而提高了目标软件的升级效率。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
如图3所示,在一个实施例中,提供了另一种软件升级方法,该方法具体包括以下步骤:
步骤302,监听目标软件发送的通信状态确认包。
其中,目标软件,是待升级的软件;通信状态确认包,用于确认本机中预设程序与目标软件之间的通信是否正常。
可以理解,当在预设时间段内未监听到通信状态确认包时,执行步骤304,当监听到通信状态确认包时,执行步骤306。
步骤304,通过预设程序向目标软件发送重置状态指令。
其中,重置状态指令,用于指示目标软件重置为初始状态,并基于初始状态重新启动升级处理;
步骤306,通过预设程序向目标软件返回响应包。
其中,响应包,用于确认通信正常,以指示目标软件执行升级处理。
步骤308,监听目标软件发送的升级文件读取请求。
其中,升级文件读取请求,用于请求下载目标软件对应的升级文件
可以理解,当在预设时间段内未监听到目标软件发送的升级文件读取请求时,执行步骤304。当监听到目标软件发送的升级文件读取请求时,则执行步骤310。
步骤310,通过预设程序向目标软件返回相应的升级文件。
在一个实施例中,升级文件包括升级包和升级包的配置文件;配置文件,用于指示目标软件根据配置文件检测升级包是否与目标软件相匹配,并将检测通过后,根据升级包进行升级处理。
步骤312,统计通过预设程序向目标软件发送重置状态指令的重置次数。
步骤314,当未监听到通信状态确认包、且重置次数超过预设的次数阈值时,或者,当未监听到目标软件发送的升级文件读取请求、且重置次数超过预设的次数阈值时,则不再通过预设程序向目标软件发送重置状态指令,并生成告警提示信息。
在一个实施例中,如图4所示,提供了一种软件升级装置400,包括:监听模块402、重置模块404和响应模块406,其中:
监听模块402,用于监听目标软件发送的通信状态确认包;目标软件,是待升级的软件;通信状态确认包,用于确认本机中预设程序与目标软件之间的通信是否正常。
重置模块404,用于当未监听到通信状态确认包时,向目标软件发送重置状态指令;重置状态指令,用于指示目标软件重置为初始状态,并基于初始状态重新启动升级处理。
响应模块406,用于当监听到通信状态确认包时,则向目标软件返回响应包;响应包,用于确认通信正常,以指示目标软件执行升级处理。
在一个实施例中,重置模块404还用于当在预设时间段内未监听到通信状态确认包时,向目标软件发送重置状态指令。
在一个实施例中,监听模块402还用于向目标软件返回响应包后,监听目标软件发送的升级文件读取请求;升级文件读取请求,用于请求下载目标软件对应的升级文件;当未监听到目标软件发送的升级文件读取请求时,则向目标软件发送重置状态指令。
在一个实施例中,该装置还包括:
返回模块408,用于当监听到目标软件发送的升级文件读取请求时,则向目标软件返回相应的升级文件。
在一个实施例中,升级文件包括升级包和升级包的配置文件;配置文件,用于指示目标软件根据配置文件检测升级包是否与目标软件相匹配,并将检测通过后,根据升级包进行升级处理。
在一个实施例中,重置模块404还用于当在预设时间段内未监听到目标软件发送的升级文件读取请求时,向目标软件发送重置状态指令。
在一个实施例中,重置模块404还用于统计向目标软件发送重置状态指令的重置次数。
如图5所示,在一个实施例中,该装置还包括:返回模块408和告警模块410;
告警模块410,用于当未监听到通信状态确认包、且重置次数超过预设的次数阈值时,或者,当未监听到目标软件发送的升级文件读取请求、且重置次数超过预设的次数阈值时,则不再向目标软件发送重置状态指令,并生成告警提示信息。
关于软件升级装置的具体限定可以参见上文中对于软件升级方法的限定,在此不再赘述。上述软件升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种软件升级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
监听目标软件发送的通信状态确认包;目标软件,是待升级的软件;通信状态确认包,用于确认本机中预设程序与目标软件之间的通信是否正常;
当未监听到通信状态确认包时,通过预设程序向目标软件发送重置状态指令;重置状态指令,用于指示目标软件重置为初始状态,并基于初始状态重新启动升级处理;
当监听到通信状态确认包时,则
通过预设程序向目标软件返回响应包;响应包,用于确认通信正常,以指示目标软件执行升级处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当在预设时间段内未监听到通信状态确认包时,通过预设程序向目标软件发送重置状态指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过预设程序向目标软件返回响应包后,监听目标软件发送的升级文件读取请求;升级文件读取请求,用于请求下载目标软件对应的升级文件;当未监听到目标软件发送的升级文件读取请求时,则通过预设程序向目标软件发送重置状态指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当监听到目标软件发送的升级文件读取请求时,则向目标软件返回相应的升级文件。
在一个实施例中,升级文件包括升级包和升级包的配置文件;配置文件,用于指示目标软件根据配置文件检测升级包是否与目标软件相匹配,并将检测通过后,根据升级包进行升级处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当在预设时间段内未监听到目标软件发送的升级文件读取请求时,通过预设程序向目标软件发送重置状态指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:统计通过预设程序向目标软件发送重置状态指令的重置次数;当未监听到通信状态确认包、且重置次数超过预设的次数阈值时,或者,当未监听到目标软件发送的升级文件读取请求、且重置次数超过预设的次数阈值时,则不再通过预设程序向目标软件发送重置状态指令,并生成告警提示信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
监听目标软件发送的通信状态确认包;目标软件,是待升级的软件;通信状态确认包,用于确认本机中预设程序与目标软件之间的通信是否正常;
当未监听到通信状态确认包时,通过预设程序向目标软件发送重置状态指令;重置状态指令,用于指示目标软件重置为初始状态,并基于初始状态重新启动升级处理;
当监听到通信状态确认包时,则
通过预设程序向目标软件返回响应包;响应包,用于确认通信正常,以指示目标软件执行升级处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当在预设时间段内未监听到通信状态确认包时,通过预设程序向目标软件发送重置状态指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过预设程序向目标软件返回响应包后,监听目标软件发送的升级文件读取请求;升级文件读取请求,用于请求下载目标软件对应的升级文件;当未监听到目标软件发送的升级文件读取请求时,则通过预设程序向目标软件发送重置状态指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当监听到目标软件发送的升级文件读取请求时,则向目标软件返回相应的升级文件。
在一个实施例中,升级文件包括升级包和升级包的配置文件;配置文件,用于指示目标软件根据配置文件检测升级包是否与目标软件相匹配,并将检测通过后,根据升级包进行升级处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当在预设时间段内未监听到目标软件发送的升级文件读取请求时,通过预设程序向目标软件发送重置状态指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:统计通过预设程序向目标软件发送重置状态指令的重置次数;当未监听到通信状态确认包、且重置次数超过预设的次数阈值时,或者,当未监听到目标软件发送的升级文件读取请求、且重置次数超过预设的次数阈值时,则不再通过预设程序向目标软件发送重置状态指令,并生成告警提示信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种软件升级方法,其特征在于,所述方法包括:
监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;
当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;
当监听到所述通信状态确认包时,则
通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。
2.根据权利要求1所述的方法,其特征在于,所述当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令,包括:
当在预设时间段内未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述预设程序向所述目标软件返回响应包后,监听所述目标软件发送的升级文件读取请求;所述升级文件读取请求,用于请求下载所述目标软件对应的升级文件;
当未监听到所述目标软件发送的升级文件读取请求时,则
通过所述预设程序向所述目标软件发送重置状态指令。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当监听到所述目标软件发送的所述升级文件读取请求时,则
向所述目标软件返回相应的升级文件。
5.根据权利要求4所述的方法,其特征在于,所述升级文件包括升级包和所述升级包的配置文件;所述配置文件,用于指示所述目标软件根据所述配置文件检测所述升级包是否与所述目标软件相匹配,并将检测通过后,根据所述升级包进行升级处理。
6.根据权利要求3所述的方法,其特征在于,所述当未监听到所述目标软件发送的升级文件读取请求时,则通过所述预设程序向所述目标软件发送重置状态指令,包括:
当在预设时间段内未监听到所述目标软件发送的所述升级文件读取请求时,通过所述预设程序向所述目标软件发送重置状态指令。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
统计通过所述预设程序向所述目标软件发送重置状态指令的重置次数;
当未监听到所述通信状态确认包、且所述重置次数超过预设的次数阈值时,或者,当未监听到所述目标软件发送的升级文件读取请求、且所述重置次数超过预设的次数阈值时,则
不再通过所述预设程序向所述目标软件发送重置状态指令,并生成告警提示信息。
8.一种软件升级装置,其特征在于,所述装置包括:
监听模块,用于监听目标软件发送的通信状态确认包;所述目标软件,是待升级的软件;所述通信状态确认包,用于确认本机中预设程序与所述目标软件之间的通信是否正常;
重置模块,用于当未监听到所述通信状态确认包时,通过所述预设程序向所述目标软件发送重置状态指令;所述重置状态指令,用于指示所述目标软件重置为初始状态,并基于所述初始状态重新启动升级处理;
响应模块,用于当监听到所述通信状态确认包时,则通过所述预设程序向所述目标软件返回响应包;所述响应包,用于确认通信正常,以指示所述目标软件执行升级处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011185851.XA CN112241283A (zh) | 2020-10-30 | 2020-10-30 | 软件升级方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011185851.XA CN112241283A (zh) | 2020-10-30 | 2020-10-30 | 软件升级方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112241283A true CN112241283A (zh) | 2021-01-19 |
Family
ID=74170120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011185851.XA Pending CN112241283A (zh) | 2020-10-30 | 2020-10-30 | 软件升级方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241283A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090064127A1 (en) * | 2007-08-31 | 2009-03-05 | Schneider James P | Unattended upgrade for a network appliance |
CN102065139A (zh) * | 2010-11-25 | 2011-05-18 | 青岛海信信芯科技有限公司 | 软件升级方法、装置及多媒体终端 |
CN102890636A (zh) * | 2011-07-20 | 2013-01-23 | 中兴通讯股份有限公司 | 安卓系统下的固件升级方法及系统 |
CN107479929A (zh) * | 2017-08-15 | 2017-12-15 | 青岛海信移动通信技术股份有限公司 | 软件升级方法、装置及设备 |
CN107656751A (zh) * | 2017-10-27 | 2018-02-02 | 深圳市银河风云网络系统股份有限公司 | 用户程序升级方法及装置 |
CN109086065A (zh) * | 2018-08-16 | 2018-12-25 | 深圳市元征科技股份有限公司 | 一种软件升级方法、系统及终端设备 |
CN109189445A (zh) * | 2018-10-12 | 2019-01-11 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
CN109842523A (zh) * | 2019-02-14 | 2019-06-04 | 上海华测导航技术股份有限公司 | 一种固件升级方法、装置、设备及存储介质 |
US20190332481A1 (en) * | 2018-04-27 | 2019-10-31 | Rovi Guides, Inc. | System and method for detection of, prevention of, and recovery from software execution failure |
CN110888659A (zh) * | 2018-09-07 | 2020-03-17 | 比亚迪股份有限公司 | 车载设备程序的远程更新方法、装置和系统 |
US20200331604A1 (en) * | 2017-11-24 | 2020-10-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Upgrade of network equipment |
CN111831298A (zh) * | 2019-06-06 | 2020-10-27 | 北京骑胜科技有限公司 | 固件升级方法、装置、电子设备及存储介质 |
-
2020
- 2020-10-30 CN CN202011185851.XA patent/CN112241283A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090064127A1 (en) * | 2007-08-31 | 2009-03-05 | Schneider James P | Unattended upgrade for a network appliance |
CN102065139A (zh) * | 2010-11-25 | 2011-05-18 | 青岛海信信芯科技有限公司 | 软件升级方法、装置及多媒体终端 |
CN102890636A (zh) * | 2011-07-20 | 2013-01-23 | 中兴通讯股份有限公司 | 安卓系统下的固件升级方法及系统 |
CN107479929A (zh) * | 2017-08-15 | 2017-12-15 | 青岛海信移动通信技术股份有限公司 | 软件升级方法、装置及设备 |
CN107656751A (zh) * | 2017-10-27 | 2018-02-02 | 深圳市银河风云网络系统股份有限公司 | 用户程序升级方法及装置 |
US20200331604A1 (en) * | 2017-11-24 | 2020-10-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Upgrade of network equipment |
US20190332481A1 (en) * | 2018-04-27 | 2019-10-31 | Rovi Guides, Inc. | System and method for detection of, prevention of, and recovery from software execution failure |
CN109086065A (zh) * | 2018-08-16 | 2018-12-25 | 深圳市元征科技股份有限公司 | 一种软件升级方法、系统及终端设备 |
CN110888659A (zh) * | 2018-09-07 | 2020-03-17 | 比亚迪股份有限公司 | 车载设备程序的远程更新方法、装置和系统 |
CN109189445A (zh) * | 2018-10-12 | 2019-01-11 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
CN109842523A (zh) * | 2019-02-14 | 2019-06-04 | 上海华测导航技术股份有限公司 | 一种固件升级方法、装置、设备及存储介质 |
CN111831298A (zh) * | 2019-06-06 | 2020-10-27 | 北京骑胜科技有限公司 | 固件升级方法、装置、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
MICHAEL HICKS: "Dynamic software updating", 《 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS》, 1 November 2005 (2005-11-01), pages 1049, XP058232206, DOI: 10.1145/1108970.1108971 * |
李燕琼: "基于嵌入式Linux平台的应用升级机制的研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 October 2016 (2016-10-15), pages 136 - 125 * |
李胜利 等: "可回滚的软件升级技术研究", 《计算机工程与应用》, 30 October 2004 (2004-10-30), pages 113 - 115 * |
顾天晓: "Java程序动态更新技术研究", 《 中国博士学位论文全文数据库信息科技辑》, 15 April 2017 (2017-04-15), pages 138 - 8 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4156663B2 (ja) | ネットワーク内でプログラムを監視し、制御する方法および装置 | |
US6425093B1 (en) | Methods and apparatuses for controlling the execution of software on a digital processing system | |
US7721153B2 (en) | System, method and program product for recovering from a failure | |
CN106648863B (zh) | 一种安卓应用安装包、应用目标进程保活方法及系统 | |
CN108427616B (zh) | 后台程序监控方法及监控装置 | |
CN112817625B (zh) | 系统升级方法、装置、电子设备及存储介质 | |
US9658917B2 (en) | Server performance correction using remote server actions | |
CN106980565B (zh) | 升级过程监控方法及装置 | |
CN110109741B (zh) | 循环任务的管理方法、装置、电子设备及存储介质 | |
CN111913851A (zh) | 进程监控方法、系统、终端及存储介质 | |
JP2009294837A (ja) | 障害監視システム及びデバイスと監視装置並びに障害監視方法 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN110502399B (zh) | 故障检测方法及装置 | |
CN111858077A (zh) | 一种存储系统中io请求日志的记录方法、装置及设备 | |
CN114327606A (zh) | 配置管理方法、装置、电子设备及计算机可读存储介质 | |
CN109783261B (zh) | 终端应用的崩溃处理方法及装置、电子设备、存储介质 | |
CN112241283A (zh) | 软件升级方法、装置、计算机设备和存储介质 | |
KR20140020287A (ko) | 소프트웨어 조작성 서비스 | |
CN112181702B (zh) | 一种线程监测方法及装置 | |
CN114090270A (zh) | 线程管理方法、装置、电子设备及计算机可读存储介质 | |
CN112311495B (zh) | 运行时长获取方法、装置、通信单元、电控板及存储介质 | |
CN111400094A (zh) | 一种服务器系统恢复出厂设置的方法、装置、设备及介质 | |
JP5268820B2 (ja) | 監視装置用プログラムの書き換え方法 | |
CN110188008B (zh) | 作业调度主备切换方法、装置、计算机设备及存储介质 | |
JP2021145298A (ja) | オペレーション装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |