CN108958827B - 一种处理程序升级故障的方法和系统 - Google Patents
一种处理程序升级故障的方法和系统 Download PDFInfo
- Publication number
- CN108958827B CN108958827B CN201710379152.0A CN201710379152A CN108958827B CN 108958827 B CN108958827 B CN 108958827B CN 201710379152 A CN201710379152 A CN 201710379152A CN 108958827 B CN108958827 B CN 108958827B
- Authority
- CN
- China
- Prior art keywords
- application program
- configuration file
- fault
- program
- version
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种处理应用程序升级故障的方法和系统。该方法包括:步骤1,监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息,并基于记录的发生故障的应用程序的信息确定所述故障是否与该应用程序的升级相关;步骤2,若确定所述故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件;步骤3,将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使所述应用程序加载所获取的应用程序版本和配置文件。该方法和系统能够实现发生故障的应用程序的自动回退,提高系统故障处理效率并降低应用程序的服务风险。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种处理程序升级故障的方法和系统。
背景技术
目前互联网高速发展,为了满足日益增长的网民需求和功能需求,快速迭代、敏捷开发非常盛行,应用程序的升级操作每周都会进行2-3次。大量数据统计表明,在所有导致服务异常的故障中,有一半以上的故障是由于应用程序升级导致。如何做好升级管理、故障监控、故障和升级操作联系判定、应用程序版本快速回退成为非常重要的工作。目前,已经有一些当出现应用程序故障时进行升级回退的方法,但是都存在些问题,例如:
(1)在应用程序升级后立刻发生故障,会立刻进行升级回退操作,但是针对升级后运营一段时间后的故障,很难与程序升级关联在一起,从而不能执行快速回退;
(2)判定故障由升级引起,并执行回退操作为人工执行,执行成本高、效率差、对服务影响大、误操作概率高;
(3)版本升级存在应用程序的配置文件格式更新,运营一段时间出现问题后,由于配置文件不兼容,回退很难进行;
(4)没有标准的升级/回退体系设计,故障发生后,程序回退很难执行。
因此,需要一种能够有效的处理程序升级故障的方法和系统,以便在程序故障时,确保可以顺利回退。
发明内容
为了解决现有技术中应用程序故障时回退的问题,提出了一种处理程序升级故障的方法和系统。
根据本发明的一个方面,提供了一种处理应用程序升级故障的方法,所述方法包括:
步骤1,监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息,并基于记录的发生故障的应用程序的信息确定所述故障是否与该应用程序的升级相关;
步骤2,若确定所述故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件;
步骤3,将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使所述应用程序加载所获取的应用程序版本和配置文件。
其中,所述方法在所述步骤1之前还包括:
在一应用程序升级后,存储该应用程序的升级信息,所述升级信息至少包括:应用程序的名称、应用程序版本编号、安装该应用程序的设备IP、升级时间、升级重保期限、配置文件格式更新标识符。
其中,所述发生故障的应用程序的信息至少包括:发生故障的应用程序的名称、安装该发生故障的应用程序的设备IP、发生故障的时间、发生故障的应用程序的版本编号;
所述步骤1中判断满足下述两个条件时,则确定应用程序的故障与该应用程序的升级相关:
(1)发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP与存储的应用程序的升级信息中的一应用程序名称和安装该应用程序的设备IP一致;
(2)发生故障的时间处于所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的升级时间开始到对应的升级重保期限结束的时间段内。
其中,所述方法在所述步骤1之前还包括:
在一应用程序升级前,备份并存储该应用程序的当前程序版本;
所述步骤2中获取该应用程序待回退到的应用程序版本包括:
基于所述升级信息,确定所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的应用程序版本编号为该应用程序待回退到的应用程序的版本编号,
基于所述待回退到的应用程序的版本编号,从已存储的该应用程序的程序版本中获取待回退到的应用程序版本。
其中,所述方法在所述步骤1之前,在一应用程序升级前,备份并存储该应用程序的当前程序版本之后,还执行:
确定安装该应用程序的设备上已存储的程序版本个数是否小于设定阈值N,如果小于,则指示安装该应用程序的设备存储备份的当前程序版本,否则,则指示安装该应用程序的设备删除已存储的最早的程序版本,并存储备份的当前程序版本,其中N为大于零的正整数;
所述步骤2中获取该应用程序待回退到的应用程序版本还包括:
判断所述发生故障的应用程序的版本编号与所述待回退到的应用程序的版本编号之间的版本个数是否大于N-1,如果小于等于N-1,则从安装该发生故障的应用程序的设备上获取与所述待回退到应用程序的版本编号对应的应用程序的版本。
其中,所述步骤2中获取该应用程序待回退到的配置文件包括:
获取所述升级信息中与发生故障的应用程序的名称和安装该发生故障的应用程序的设备IP一致的应用程序的名称和安装该应用程序的设备IP对应的配置文件格式更新标识符;
若所述配置文件格式更新标识符表示配置文件格式未更新,则获取安装该发生故障的应用程序的设备上的配置文件作为待回退到的配置文件;
若所述配置文件格式更新标识符表示配置文件格式已更新,则获取安装该发生故障的应用程序的设备上的配置文件和格式转换文件,利用所述格式转换文件对所述配置文件进行格式转换并将格式转换后的配置文件作为待回退到的配置文件。
根据本发明的另一方面,还提供了一种处理应用程序升级故障的系统,所述系统包括:
监控模块,用于监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息;
故障定性模块,用于基于记录的发生故障的应用程序的信息确定所述故障是否与该应用程序的升级相关;
程序回退模块,用于当确定所述故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件,并将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使所述应用程序加载所获取的应用程序版本和配置文件。
其中,所述系统还包括:
程序发布模块,用于在一应用程序升级后,存储该应用程序的升级信息,所述升级信息至少包括:应用程序的名称、应用程序版本编号、安装该应用程序的设备IP、升级时间、升级重保期限、配置文件格式更新标识符。
其中,所述发生故障的应用程序的信息至少包括:发生故障的应用程序的名称、安装该发生故障的应用程序的设备IP、发生故障的时间、发生故障的应用程序的版本编号;
故障定性模块还用于通过判断满足下述两个条件时,确定应用程序的故障与该应用程序的升级相关:
(1)发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP与存储的应用程序的升级信息中的一应用程序名称和安装该应用程序的设备IP一致;
(2)发生故障的时间处于所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的升级时间开始到对应的升级重保期限结束的时间段内。
其中,所述程序发布模块还用于在一应用程序升级前,备份并存储该应用程序的当前程序版本;
程序回退模块还用于:
基于所述升级信息,确定所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的应用程序版本编号为该应用程序待回退到的应用程序的版本编号,
基于所述待回退到的应用程序的版本编号,从已存储的该应用程序的程序版本中获取待回退到的应用程序版本。
其中,所述程序发布模块还用于在一应用程序升级前,备份并存储该应用程序的当前程序版本之后,确定安装该应用程序的设备上已存储的程序版本个数是否小于设定阈值N,如果小于,则指示安装该应用程序的设备存储备份的当前程序版本,否则,则指示安装该应用程序的设备删除已存储的最早的程序版本,并存储备份的当前程序版本,其中N为大于零的正整数;
所述故障定性模块还用于判断所述发生故障的应用程序的版本编号与所述待回退到的应用程序的版本编号之间的版本个数是否大于N-1,如果小于等于N-1,则从安装该发生故障的应用程序的设备上获取与所述待回退到应用程序的版本编号对应的应用程序的版本。
其中,所述程序回退模块还用于通过以下步骤获取该应用程序待回退到的配置文件:
获取所述升级信息中与发生故障的应用程序的名称和安装该发生故障的应用程序的设备IP一致的应用程序的名称和安装该应用程序的设备IP对应的配置文件格式更新标识符;
若所述配置文件格式更新标识符表示配置文件格式未更新,则获取安装该发生故障的应用程序的设备上的配置文件作为待回退到的配置文件;
若所述配置文件格式更新标识符表示配置文件格式已更新,则获取安装该发生故障的应用程序的设备上的配置文件和格式转换文件,利用所述格式转换文件对所述配置文件进行格式转换并将格式转换后的配置文件作为待回退到的配置文件。
本发明提供的处理程序升级故障的方法和系统能够实现发生故障的应用程序的自动回退,提高系统故障处理效率并降低应用程序的服务风险。具体地,具有以下有益效果:
(1)通过快速定位故障原因与应用程序升级操作关联,能够处理80%以上的故障定性问题;
(2)通过应用程序自动回退的方法,提高100%的回退操作的效率和20%的回退成功率;
(3)通过完善的升级/回退体系设计,包括配置文件格式变更时的应用程序回退方法,确保可以顺利回退。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的处理程序升级故障的方法的流程图;
图2是根据本发明的处理程序升级故障的方法的具体实施例示意图;
图3是根据本发明的处理程序升级故障的系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明提供了一种处理应用程序升级故障的方法,如图1所示,该方法包括:
步骤101,监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息,并基于记录的发生故障的应用程序的信息确定故障是否与该应用程序的升级相关;
步骤102,若确定故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件;
步骤103,将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使应用程序加载所获取的应用程序版本和配置文件。
上述方法在步骤101之前还包括:在一应用程序升级后,存储该应用程序的升级信息,所述升级信息至少包括:应用程序的名称、应用程序版本编号、安装该应用程序的设备IP、升级时间、升级重保期限、配置文件格式更新标识符。系统可以将每个应用程序每次升级后的升级信息存储至应用程序升级记录表中,应用程序升级记录表的格式和内容可以为:
应用程序的名称 应用程序版本编号 安装该应用程序的设备IP
升级时间 升级重保期限 配置文件格式更新标识符
升级重保期限为设置的应用程序在升级后发生故障时可以回退的期限,该升级重保期限可以根据不同的应用程序进行自定义设置,例如设置为一周。配置文件格式更新标识符表示两个版本的配置文件格式是否存在差异。这里的两个版本指当前设备加载的配置文件的版本和历史版本。配置文件格式更新标识符可以设置为空或非空,当设置为空时,表示当前版本与历史版本的格式一致,当设置为非空时,表示当前版本与历史版本的格式存在差异。
上述步骤101中的发生故障的应用程序的信息至少包括:发生故障的应用程序的名称、安装该发生故障的应用程序的设备IP、发生故障的时间、发生故障的应用程序的版本编号。这里的发生故障的应用程序的信息还可以包括发生故障的状态,以备用于后续判断故障原因等。
步骤101中判断满足下述两个条件时,则确定应用程序的故障与该应用程序的升级相关:(1)发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP与存储的应用程序的升级信息中的一应用程序名称和安装该应用程序的设备IP一致;(2)发生故障的时间处于所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的升级时间开始到对应的升级重保期限结束的时间段内。具体地,可以先在程序升级记录表中找到包含发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP的一条记录,然后基于该条记录中的升级时间和升级重保期限判断发生故障的时间是否在可回退的时间段内。如果在该时间段内,则可以引导应用程序回退到发生故障前的程序版本。
如果判断后,上述条件中有一个不满足或均不满足上述两个条件,则通过人工方式确定应用程序发生故障的原因。如果人工确定应用程序的故障是由于升级导致,就进行应用程序的回退操作;如果人工确定应用程序的故障不是由升级导致,就继续处理该故障;如果人工无法确定应用程序的故障原因,也可以进行应用程序的回退操作,以尝试解决该故障。
另外,步骤101中,可以周期性地监控指定的应用程序升级后的运行状态。
需要说明的是,上述方法中步骤101之前还包括:在一应用程序升级前,备份并存储该应用程序的当前程序版本。备份当前程序版本可以存储至系统指定的模块中。以便应用程序需要回退到该程序版本时可以从系统中获取。
上述步骤102中获取该应用程序待回退到的应用程序版本包括:基于所述升级信息,确定所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的应用程序版本编号为该应用程序待回退到的应用程序的版本编号,基于所述待回退到的应用程序的版本编号,从已存储的该应用程序的程序版本中获取待回退到的应用程序版本。
另外,上述方法在步骤101之前,在一应用程序升级前,备份并存储该应用程序的当前程序版本之后,还执行:确定安装该应用程序的设备上已存储的程序版本个数是否小于设定阈值N,如果小于,则指示安装该应用程序的设备存储备份的当前程序版本,否则,则指示安装该应用程序的设备删除已存储的最早的程序版本,并存储备份的当前程序版本,其中N为大于零的正整数。此时,步骤102中获取该应用程序待回退到的应用程序版本还包括:判断所述发生故障的应用程序的版本编号与所述待回退到的应用程序的版本编号之间的版本个数是否大于N-1,如果小于等于N-1,则从安装该发生故障的应用程序的设备上获取与所述待回退到应用程序的版本编号对应的应用程序的版本。
在这种情况下,设定安装应用程序的设备上的存储空间可以存储N个应用程序版本,当存储空间中已存储的程序版本个数小于N时将备份的当前程序版本存储至安装应用程序的设备上;否则删除已存储的最早的程序版本后再存储当前程序版本。这样,当应用程序待回退到的程序版本存储于设备本地上时,可以直接从设备本地获取待回退到的应用程序版本,缩短了回退操作所需要的时间。
步骤102中获取该应用程序待回退到的配置文件包括:获取所述升级信息中与发生故障的应用程序的名称和安装该发生故障的应用程序的设备IP一致的应用程序的名称和安装该应用程序的设备IP对应的配置文件格式更新标识符;若所述配置文件格式更新标识符表示配置文件格式未更新,则获取安装该发生故障的应用程序的设备上的配置文件作为待回退到的配置文件;若所述配置文件格式更新标识符表示配置文件格式已更新,则获取安装该发生故障的应用程序的设备上的配置文件和格式转换文件,利用所述格式转换文件对所述配置文件进行格式转换并将格式转换后的配置文件作为待回退到的配置文件。这里的格式转换文件即为设备上存储的兼容脚本。配置文件格式更新标识符可以用空或非空表示,配置文件格式更新标识符为空时,表示配置文件格式未更新,配置文件格式更新标识符为非空时,表示配置文件格式已更新。
步骤103即为执行应用程序的回退操作。实际中,可能多个设备上的应用程序均出现了故障,需要进行回退操作。在这种情况下,可以按照下述步骤进行回退:
(1)确定设备列表,该列表中包括应用程序名称以及安装该应用程序的设备IP,格式可以为:
应用程序名称安装该应用程序的设备IP
(2)确定设备列表中需进行回退操作的设备IP;
(3)基于设备列表中设备总数和需进行回退操作的设备总数,确定发生故障且需进行回退操作的设备占总设备的百分比;
(4)基于上述百分比确定需回退的所有设备完成回退的总步数和每步回退完成后已完成回退任务的百分比;
(5)确定每步回退操作中进行回退的设备IP,并进行每步的回退操作。
在进行回退操作时,可以显示该步回退操作完成后,已完成回退任务的百分比。
下面给出根据本发明的处理应用程序升级故障的方法的具体实施例。如图2所示,在该具体实施例中,由升级提报模块、程序发布模块、配置管理模块、监控模块、故障定性模块、程序回退模块完成上述方法。
步骤201,升级提报模块向程序发布模块提交新版本应用程序和升级计划。新版本应用程序包括新版本的应用程序包、应用名称、配置文件格式更新标识符和配置文件格式转换文件,即兼容脚本;升级计划包括升级的具体时间、安装该新版本应用程序的设备范围、升级重保期限。
步骤202,程序发布模块接收到新版本应用程序和升级计划后,指示升级计划中设备范围内的设备IP,按照升级时间对设备上安装的应用程序进行升级。同时,在升级前,程序发布模块指示待升级的设备备份当前的应用程序版本,并将该备份的程序版本存储至配置管理模块或设备本地。在升级后,记录完成升级的设备的升级信息,并将该升级信息存储至应用程序升级记录表中。
步骤203,程序发布模块将应用程序升级记录表发送给配置管理模块。
步骤204,配置管理模块将应用程序升级记录表发送给故障定性模块,并下发监控任务给监控模块。
需要说明的是,也可以用程序发布模块将应用程序升级记录表直接发送给故障定性模块。
步骤205,监控模块周期性地对监控任务中指定的应用程序的运行状态进行监控。例如,若监控到应用程序AAA.exe状态异常,则记录发生故障的应用程序的信息,并将该信息发送给故障定性模块。
步骤206,故障定性模块基于记录的发生故障的应用程序的信息确定该故障是否与应用程序AAA.exe的升级相关。如果相关,则通知程序回退模块进行回退操作。具体地,故障定性模块判断发生故障的应用程序名称AAA.exe以及安装该应用程序的设备IP(例如192.168.1.1)是否与升级信息中的已升级的一应用程序名称和安装该应用程序的设备IP一致,以及发生故障的时间处于升级信息中上述应用程序名称和设备IP对应的升级时间开始到升级重保期限结束的时间段内。
步骤207(图中未示出),程序回退模块获取该应用程序待回退到的应用程序版本和配置文件。程序回退模块将升级信息中记录与应用程序名称AAA.exe和设备IP192.168.1.1对应的应用程序AAA.exe的版本编号作为待回退到的应用程序版本编号。程序回退模块还获取与应用程序名称AAA.exe和设备IP 192.168.1.1对应的配置文件格式更新标识符,并根据该标识符获取配置文件。如前所述,配置文件的获取可以通过设备上的配置文件直接得到或者将设备上的配置文件格式转换后得到。
步骤208,程序回退模块将获取的应用程序版本和配置文件提供给发生故障的应用程序,以便应用程序进行回退操作。
本发明还提供了一种处理应用程序升级故障的系统,所述系统包括:
监控模块301,用于监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息;
故障定性模块302,用于基于记录的发生故障的应用程序的信息确定所述故障是否与该应用程序的升级相关;
程序回退模块303,用于当确定所述故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件,并将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使所述应用程序加载所获取的应用程序版本和配置文件。
其中,所述系统还包括:
程序发布模块,用于在一应用程序升级后,存储该应用程序的升级信息,所述升级信息至少包括:应用程序的名称、应用程序版本编号、安装该应用程序的设备IP、升级时间、升级重保期限、配置文件格式更新标识符。
其中,所述发生故障的应用程序的信息至少包括:发生故障的应用程序的名称、安装该发生故障的应用程序的设备IP、发生故障的时间、发生故障的应用程序的版本编号;
故障定性模块302还用于通过判断满足下述两个条件时,确定应用程序的故障与该应用程序的升级相关:
(1)发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP与存储的应用程序的升级信息中的一应用程序名称和安装该应用程序的设备IP一致;
(2)发生故障的时间处于所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的升级时间开始到对应的升级重保期限结束的时间段内。
其中,所述程序发布模块还用于在一应用程序升级前,备份并存储该应用程序的当前程序版本。
其中,程序回退模块303还用于:
基于所述升级信息,确定所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的应用程序版本编号为该应用程序待回退到的应用程序的版本编号,
基于所述待回退到的应用程序的版本编号,从已存储的该应用程序的程序版本中获取待回退到的应用程序版本。
其中,所述程序发布模块还用于在一应用程序升级前,备份并存储该应用程序的当前程序版本之后,确定安装该应用程序的设备上已存储的程序版本个数是否小于设定阈值N,如果小于,则指示安装该应用程序的设备存储备份的当前程序版本,否则,则指示安装该应用程序的设备删除已存储的最早的程序版本,并存储备份的当前程序版本,其中N为大于零的正整数;
所述故障定性模块302还用于判断所述发生故障的应用程序的版本编号与所述待回退到的应用程序的版本编号之间的版本个数是否大于N-1,如果小于等于N-1,则从安装该发生故障的应用程序的设备上获取与所述待回退到应用程序的版本编号对应的应用程序的版本。
其中,所述程序回退模块303还用于通过以下步骤获取该应用程序待回退到的配置文件:
获取所述升级信息中与发生故障的应用程序的名称和安装该发生故障的应用程序的设备IP一致的应用程序的名称和安装该应用程序的设备IP对应的配置文件格式更新标识符;
若所述配置文件格式更新标识符表示配置文件格式未更新,则获取安装该发生故障的应用程序的设备上的配置文件作为待回退到的配置文件;
若所述配置文件格式更新标识符表示配置文件格式已更新,则获取安装该发生故障的应用程序的设备上的配置文件和格式转换文件,利用所述格式转换文件对所述配置文件进行格式转换并将格式转换后的配置文件作为待回退到的配置文件。
另外,该系统还可以包括升级提报模块和配置管理模块。其中,升级提报模块用于向程序发布模块提交新版本的应用程序和升级计划。配置管理模块用于下发监控任务给监控模块,接收程序发布模块生成的应用程序升级记录表,并把该应用程序升级记录表下发给故障定性模块。如果系统中没有配置管理模块,则可以用程序发布模块直接将应用程序升级记录表发送给故障定性模块。
本发明提供的处理程序升级故障的方法和系统能够实现发生故障的应用程序的自动回退,提高系统故障处理效率并降低应用程序的服务风险。具体地,具有以下有益效果:
(1)通过快速定位故障原因与应用程序升级操作关联,能够处理80%以上的故障定性问题;
(2)通过应用程序自动回退的方法,提高100%的回退操作的效率和20%的回退成功率;
(3)通过完善的升级/回退体系设计,包括配置文件格式变更时的应用程序回退方法,确保可以顺利回退。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种处理应用程序升级故障的方法,其特征在于,所述方法包括:
步骤1,监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息,并基于记录的发生故障的应用程序的信息确定所述故障是否与该应用程序的升级相关;
步骤2,若确定所述故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件;
步骤3,将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使所述应用程序加载所获取的应用程序版本和配置文件;
所述步骤2中获取该应用程序待回退到的配置文件包括:
获取升级信息中与发生故障的应用程序的名称和安装该发生故障的应用程序的设备IP一致的应用程序的名称和安装该应用程序的设备IP对应的配置文件格式更新标识符;
若所述配置文件格式更新标识符表示配置文件格式未更新,则获取安装该发生故障的应用程序的设备上的配置文件作为待回退到的配置文件;
若所述配置文件格式更新标识符表示配置文件格式已更新,则获取安装该发生故障的应用程序的设备上的配置文件和格式转换文件,利用所述格式转换文件对所述配置文件进行格式转换并将格式转换后的配置文件作为待回退到的配置文件;
所述步骤1中判断满足下述两个条件时,则确定应用程序的故障与该应用程序的升级相关:
(1)发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP与存储的应用程序的升级信息中的一应用程序名称和安装该应用程序的设备IP一致;
(2)发生故障的时间处于所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的升级时间开始到对应的升级重保期限结束的时间段内。
2.如权利要求1所述的方法,其特征在于,所述方法在所述步骤1之前还包括:
在一应用程序升级后,存储该应用程序的升级信息,所述升级信息至少包括:应用程序的名称、应用程序版本编号、安装该应用程序的设备IP、升级时间、升级重保期限、配置文件格式更新标识符。
3.如权利要求2所述的方法,其特征在于,
所述发生故障的应用程序的信息至少包括:发生故障的应用程序的名称、安装该发生故障的应用程序的设备IP、发生故障的时间、发生故障的应用程序的版本编号。
4.如权利要求2或3所述的方法,其特征在于,所述方法在所述步骤1之前还包括:
在一应用程序升级前,备份并存储该应用程序的当前程序版本;
所述步骤2中获取该应用程序待回退到的应用程序版本包括:
基于所述升级信息,确定所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的应用程序版本编号为该应用程序待回退到的应用程序的版本编号,
基于所述待回退到的应用程序的版本编号,从已存储的该应用程序的程序版本中获取待回退到的应用程序版本。
5.如权利要求4所述的方法,其特征在于,所述方法在所述步骤1之前,在一应用程序升级前,备份并存储该应用程序的当前程序版本之后,还执行:
确定安装该应用程序的设备上已存储的程序版本个数是否小于设定阈值N,如果小于,则指示安装该应用程序的设备存储备份的当前程序版本,否则,则指示安装该应用程序的设备删除已存储的最早的程序版本,并存储备份的当前程序版本,其中N为大于零的正整数;
所述步骤2中获取该应用程序待回退到的应用程序版本还包括:
判断所述发生故障的应用程序的版本编号与所述待回退到的应用程序的版本编号之间的版本个数是否大于N-1,如果小于等于N-1,则从安装该发生故障的应用程序的设备上获取与所述待回退到应用程序的版本编号对应的应用程序的版本。
6.一种处理应用程序升级故障的系统,其特征在于,所述系统包括:
监控模块,用于监控应用程序在升级后的运行状态,若监控到该应用程序在升级后发生故障,则记录发生故障的应用程序的信息;
故障定性模块,用于基于记录的发生故障的应用程序的信息确定所述故障是否与该应用程序的升级相关;
程序回退模块,用于当确定所述故障与该应用程序的升级相关,则获取该应用程序待回退到的应用程序版本和配置文件,并将获取的应用程序版本和配置文件提供给该发生故障的应用程序,以使所述应用程序加载所获取的应用程序版本和配置文件;
所述程序回退模块还用于通过以下步骤获取该应用程序待回退到的配置文件:
获取升级信息中与发生故障的应用程序的名称和安装该发生故障的应用程序的设备IP一致的应用程序的名称和安装该应用程序的设备IP对应的配置文件格式更新标识符;
若所述配置文件格式更新标识符表示配置文件格式未更新,则获取安装该发生故障的应用程序的设备上的配置文件作为待回退到的配置文件;
若所述配置文件格式更新标识符表示配置文件格式已更新,则获取安装该发生故障的应用程序的设备上的配置文件和格式转换文件,利用所述格式转换文件对所述配置文件进行格式转换并将格式转换后的配置文件作为待回退到的配置文件;
故障定性模块还用于通过判断满足下述两个条件时,确定应用程序的故障与该应用程序的升级相关:
(1)发生故障的应用程序名称以及安装该发生故障的应用程序的设备IP与存储的应用程序的升级信息中的一应用程序名称和安装该应用程序的设备IP一致;
(2)发生故障的时间处于所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的升级时间开始到对应的升级重保期限结束的时间段内。
7.如权利要求6所述的系统,其特征在于,所述系统还包括:
程序发布模块,用于在一应用程序升级后,存储该应用程序的升级信息,所述升级信息至少包括:应用程序的名称、应用程序版本编号、安装该应用程序的设备IP、升级时间、升级重保期限、配置文件格式更新标识符。
8.如权利要求7所述的系统,其特征在于,
所述发生故障的应用程序的信息至少包括:发生故障的应用程序的名称、安装该发生故障的应用程序的设备IP、发生故障的时间、发生故障的应用程序的版本编号。
9.如权利要求7或8所述的系统,其特征在于,
所述程序发布模块还用于在一应用程序升级前,备份并存储该应用程序的当前程序版本;
程序回退模块还用于:
基于所述升级信息,确定所述升级信息中与发生故障的应用程序名称和安装该发生故障的应用程序的设备IP对应的应用程序版本编号为该应用程序待回退到的应用程序的版本编号,
基于所述待回退到的应用程序的版本编号,从已存储的该应用程序的程序版本中获取待回退到的应用程序版本。
10.如权利要求9所述的系统,其特征在于,
所述程序发布模块还用于在一应用程序升级前,备份并存储该应用程序的当前程序版本之后,确定安装该应用程序的设备上已存储的程序版本个数是否小于设定阈值N,如果小于,则指示安装该应用程序的设备存储备份的当前程序版本,否则,则指示安装该应用程序的设备删除已存储的最早的程序版本,并存储备份的当前程序版本,其中N为大于零的正整数;
所述故障定性模块还用于判断所述发生故障的应用程序的版本编号与所述待回退到的应用程序的版本编号之间的版本个数是否大于N-1,如果小于等于N-1,则从安装该发生故障的应用程序的设备上获取与所述待回退到应用程序的版本编号对应的应用程序的版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710379152.0A CN108958827B (zh) | 2017-05-25 | 2017-05-25 | 一种处理程序升级故障的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710379152.0A CN108958827B (zh) | 2017-05-25 | 2017-05-25 | 一种处理程序升级故障的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958827A CN108958827A (zh) | 2018-12-07 |
CN108958827B true CN108958827B (zh) | 2021-11-02 |
Family
ID=64494067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710379152.0A Active CN108958827B (zh) | 2017-05-25 | 2017-05-25 | 一种处理程序升级故障的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958827B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434180B (zh) * | 2021-07-13 | 2022-08-09 | 上海浦东发展银行股份有限公司 | 应用的数据处理方法、装置、服务器和存储介质 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1711747A (zh) * | 2002-11-12 | 2005-12-21 | 创道软件有限公司 | 包括从升级中发生的故障和错误自动恢复的电子文件升级 |
CN1904852A (zh) * | 2006-08-01 | 2007-01-31 | 西安西电捷通无线网络通信有限公司 | 一种计算机应用程序的监控及异常处理方法 |
CN1909693A (zh) * | 2006-08-07 | 2007-02-07 | 华为技术有限公司 | 数据配置文件在不同软件版本间进行转换的方法及装置 |
CN1968098A (zh) * | 2006-05-10 | 2007-05-23 | 华为技术有限公司 | 对网元设备进行配置的方法 |
CN101184309A (zh) * | 2007-12-21 | 2008-05-21 | 深圳国人通信有限公司 | 直放站设备嵌入式系统远程升级方法 |
CN101610449A (zh) * | 2009-07-07 | 2009-12-23 | 中兴通讯股份有限公司 | 配置数据升级与回退的方法和系统 |
CN101621812A (zh) * | 2009-08-10 | 2010-01-06 | 酷派软件技术(深圳)有限公司 | 一种实现移动终端修复更新的方法及系统 |
CN101656627A (zh) * | 2009-09-23 | 2010-02-24 | 福建星网锐捷网络有限公司 | 一种主程序还原的方法、装置及网络设备 |
CN102117234A (zh) * | 2011-03-23 | 2011-07-06 | 惠州Tcl移动通信有限公司 | 移动终端在软件升级失败时恢复原有软件的方法 |
CN103713925A (zh) * | 2013-12-26 | 2014-04-09 | 北海创新科存储技术有限公司 | 避免存储阵列在升级过程的业务中断方法和装置 |
CN103901877A (zh) * | 2014-03-20 | 2014-07-02 | 北京天诚同创电气有限公司 | 基于故障属性数据的故障判断及处理方法 |
CN103970564A (zh) * | 2014-04-23 | 2014-08-06 | 京信通信系统(中国)有限公司 | 嵌入式操作系统自动修复升级功能的方法及其系统 |
CN103995715A (zh) * | 2014-05-06 | 2014-08-20 | 百度在线网络技术(北京)有限公司 | 应用程序的修复方法、装置及服务器 |
CN104486125A (zh) * | 2014-12-19 | 2015-04-01 | 杭州华三通信技术有限公司 | 配置文件的备份方法及装置 |
CN104636172A (zh) * | 2015-03-09 | 2015-05-20 | 联想(北京)有限公司 | 一种应用升级方法和装置 |
CN105260209A (zh) * | 2015-10-20 | 2016-01-20 | 珠海金山网络游戏科技有限公司 | 一种程序热更新解决方法 |
CN105487980A (zh) * | 2015-12-04 | 2016-04-13 | Tcl集团股份有限公司 | 修复应用程序运行异常的方法及装置 |
CN105677394A (zh) * | 2015-12-30 | 2016-06-15 | 北京奇艺世纪科技有限公司 | 一种终端设备的应用程序升级方法和装置 |
CN105930185A (zh) * | 2016-04-19 | 2016-09-07 | 乐视控股(北京)有限公司 | 应用程序更新方法、装置、终端和服务器 |
CN105955846A (zh) * | 2016-04-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 移动终端基于网络升级失败后进行恢复的方法及系统 |
CN106528193A (zh) * | 2015-09-15 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种应用更新方法及终端 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0750716A (ja) * | 1993-08-09 | 1995-02-21 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークエレメント・ソフトウェア更新制御方法 |
US20040076166A1 (en) * | 2002-10-21 | 2004-04-22 | Patenaude Jean-Marc Guy | Multi-service packet network interface |
CN100407206C (zh) * | 2006-02-20 | 2008-07-30 | 华为技术有限公司 | 不同版本的配置数据间进行转换的方法和系统 |
CN101236507A (zh) * | 2008-03-03 | 2008-08-06 | 华为技术有限公司 | 安装或升级方法和装置 |
CN101556540B (zh) * | 2009-06-01 | 2012-05-23 | 杭州华三通信技术有限公司 | 多种备份软件的统一管理方法和系统 |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102567053A (zh) * | 2011-12-20 | 2012-07-11 | 云海创想信息技术(无锡)有限公司 | 一种软件版本回退的方法及装置 |
CN103077058B (zh) * | 2013-01-06 | 2014-10-08 | 邓海勤 | 一种安装应用程序的方法及装置 |
CN105607923A (zh) * | 2015-12-10 | 2016-05-25 | 中国航空工业集团公司西安航空计算技术研究所 | 一种跨平台的航空电子系统配置数据生成与恢复方法 |
CN106713460B (zh) * | 2016-12-26 | 2019-12-10 | 武汉斗鱼网络科技有限公司 | 一种flash应用的版本控制方法和系统 |
-
2017
- 2017-05-25 CN CN201710379152.0A patent/CN108958827B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1711747A (zh) * | 2002-11-12 | 2005-12-21 | 创道软件有限公司 | 包括从升级中发生的故障和错误自动恢复的电子文件升级 |
CN1968098A (zh) * | 2006-05-10 | 2007-05-23 | 华为技术有限公司 | 对网元设备进行配置的方法 |
CN1904852A (zh) * | 2006-08-01 | 2007-01-31 | 西安西电捷通无线网络通信有限公司 | 一种计算机应用程序的监控及异常处理方法 |
CN1909693A (zh) * | 2006-08-07 | 2007-02-07 | 华为技术有限公司 | 数据配置文件在不同软件版本间进行转换的方法及装置 |
CN101184309A (zh) * | 2007-12-21 | 2008-05-21 | 深圳国人通信有限公司 | 直放站设备嵌入式系统远程升级方法 |
CN101610449A (zh) * | 2009-07-07 | 2009-12-23 | 中兴通讯股份有限公司 | 配置数据升级与回退的方法和系统 |
CN101621812A (zh) * | 2009-08-10 | 2010-01-06 | 酷派软件技术(深圳)有限公司 | 一种实现移动终端修复更新的方法及系统 |
CN101656627A (zh) * | 2009-09-23 | 2010-02-24 | 福建星网锐捷网络有限公司 | 一种主程序还原的方法、装置及网络设备 |
CN102117234A (zh) * | 2011-03-23 | 2011-07-06 | 惠州Tcl移动通信有限公司 | 移动终端在软件升级失败时恢复原有软件的方法 |
CN103713925A (zh) * | 2013-12-26 | 2014-04-09 | 北海创新科存储技术有限公司 | 避免存储阵列在升级过程的业务中断方法和装置 |
CN103901877A (zh) * | 2014-03-20 | 2014-07-02 | 北京天诚同创电气有限公司 | 基于故障属性数据的故障判断及处理方法 |
CN103970564A (zh) * | 2014-04-23 | 2014-08-06 | 京信通信系统(中国)有限公司 | 嵌入式操作系统自动修复升级功能的方法及其系统 |
CN103995715A (zh) * | 2014-05-06 | 2014-08-20 | 百度在线网络技术(北京)有限公司 | 应用程序的修复方法、装置及服务器 |
CN104486125A (zh) * | 2014-12-19 | 2015-04-01 | 杭州华三通信技术有限公司 | 配置文件的备份方法及装置 |
CN104636172A (zh) * | 2015-03-09 | 2015-05-20 | 联想(北京)有限公司 | 一种应用升级方法和装置 |
CN106528193A (zh) * | 2015-09-15 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种应用更新方法及终端 |
CN105260209A (zh) * | 2015-10-20 | 2016-01-20 | 珠海金山网络游戏科技有限公司 | 一种程序热更新解决方法 |
CN105487980A (zh) * | 2015-12-04 | 2016-04-13 | Tcl集团股份有限公司 | 修复应用程序运行异常的方法及装置 |
CN105677394A (zh) * | 2015-12-30 | 2016-06-15 | 北京奇艺世纪科技有限公司 | 一种终端设备的应用程序升级方法和装置 |
CN105930185A (zh) * | 2016-04-19 | 2016-09-07 | 乐视控股(北京)有限公司 | 应用程序更新方法、装置、终端和服务器 |
CN105955846A (zh) * | 2016-04-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 移动终端基于网络升级失败后进行恢复的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108958827A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10635656B1 (en) | Extract, transform, and load application complexity management framework | |
CN107844386B (zh) | 一种数据备份、恢复方法及装置 | |
US8661418B2 (en) | Setting program, workflow creating method, and work flow creating apparatus | |
CN110225078B (zh) | 一种应用服务更新方法、系统及终端设备 | |
CN110119325B (zh) | 服务器故障处理方法、装置、设备及计算机可读存储介质 | |
EP3148116A1 (en) | Information system fault scenario information collection method and system | |
CN103761165A (zh) | 日志备份方法及装置 | |
CN113434180B (zh) | 应用的数据处理方法、装置、服务器和存储介质 | |
CN111782679B (zh) | 数据处理过程的监管方法、装置、计算机设备及存储介质 | |
CN108958827B (zh) | 一种处理程序升级故障的方法和系统 | |
CN110620798A (zh) | Ftp连接的控制方法、系统、设备和存储介质 | |
CN110955443A (zh) | 批量更新集群crontab的方法、装置、设备及介质 | |
WO2023240944A1 (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
JP3551079B2 (ja) | 修正ロードモジュール置換後の復旧方法ならびに装置 | |
CN110990145A (zh) | 一种分布式系统的后台任务处理机制及方法 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN115454491A (zh) | 一种版本部署方法和相关装置 | |
CA2299850C (en) | System and method for the management of computer software maintenance | |
CN106209450B (zh) | 服务器故障切换方法及应用自动化部署系统 | |
CN112055086B (zh) | 一种IIS站点、Windows服务的发布与管理方法、运维系统及平台 | |
US20040064784A1 (en) | Document management system, method and computer program | |
CN111177241A (zh) | 一种数据处理方法、装置、系统、电子设备及其存储介质 | |
CN114691395A (zh) | 一种故障处理方法、装置、电子设备及存储介质 | |
RU2187835C1 (ru) | Способ ремонтного обслуживания компьютеров и система для его осуществления | |
CN113110955B (zh) | 一种系统盘修复方法、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 550003 Building No. 12 in the Southern Park of Gui'an High-end Equipment Industrial Park, Guizhou Province Applicant after: Guizhou Baishan cloud Polytron Technologies Inc Address before: 100015 5 floor, block E, 201 IT tower, electronic city, 10 Jiuxianqiao Road, Chaoyang District, Beijing. Applicant before: Guizhou white cloud Technology Co., Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |