CN112650565A - 一种应用进程恢复方法及装置 - Google Patents

一种应用进程恢复方法及装置 Download PDF

Info

Publication number
CN112650565A
CN112650565A CN202011515298.1A CN202011515298A CN112650565A CN 112650565 A CN112650565 A CN 112650565A CN 202011515298 A CN202011515298 A CN 202011515298A CN 112650565 A CN112650565 A CN 112650565A
Authority
CN
China
Prior art keywords
application
daemon
communication
event
communication process
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
CN202011515298.1A
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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN202011515298.1A priority Critical patent/CN112650565A/zh
Publication of CN112650565A publication Critical patent/CN112650565A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明公开了一种应用进程恢复方法及装置,其中方法为:应用节点的通信进程若接收到所述应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点;所述预设事件为隔离事件或恢复事件或失效事件;所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程;所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。

Description

一种应用进程恢复方法及装置
技术领域
本发明涉及进程管理技术领域,尤其涉及一种应用进程恢复方法及装置。
背景技术
金融机构的应用进程每天都需要处理大量的交易。金融机构对交易出错的容忍度较低,需要将交易的错误率控制在非常低的水平。因此,对于金融机构而言,应用进程的正常运转是金融机构的交易处理质量的重要保障。然而,应用进程可能会由于某些原因异常关闭,如果异常关闭后仍然向应用进程发送交易,便会造成交易损失,因此需要及时恢复应用进程。
目前为了及时恢复应用进程,常给应用进程配置守护进程。具体的恢复方式是,调用应用节点一中应用进程的调用方通过心跳测试和应用进程进行心跳测试,在心跳测试超时后,才判断是应用进程异常关闭,便将交易发送至应用节点一之外应用节点二的应用进程,并通知守护进程恢复应用进程。但是,心跳测试不能设置较短的周期,否则仅心跳测试便会占据较大的流量,失去心跳测试的意义。心跳测试的周期对于交易而言是较长的时长,如果依靠心跳测试发现应用进程,那么心跳测试超时期间的交易都会损失,再者,守护进程也可能异常关闭导致不能及时恢复应用进程。因此,目前恢复应用进程的方法会造成较多的交易损失,这是一个亟待解决的问题。
发明内容
本发明提供一种应用进程恢复方法及装置,解决了现有技术中恢复应用进程的方法会造成较多的交易损失的问题。
第一方面,本发明提供一种应用进程恢复方法,包括:应用节点的通信进程若接收到所述应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点;所述预设事件为隔离事件或恢复事件或失效事件;
所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程;
所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。
上述方式下,所述通信进程和所述应用进程建立了套接字连接,由于所述通信进程和所述应用进程同为应用节点的进程,那么在套接字机制下,进程间的通信较快,通信进程可以在所述应用进程异常关闭后迅速接收到预设事件,再通知所述应用进程的调用方所述应用进程异常关闭,从而使得所述调用方及时切换流量,而且,所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态,并及时恢复所述通信进程和\或所述应用进程中未存活的进程,而且所述通信进程按照第二预设周期,监测所述守护进程的存活状态,并及时恢复所述守护进程,从而所述通信进程和所述守护进程相互保活,进一步保证了所述应用进程的存活,由于进程恢复和发送断链通知消息是异步执行,所述调用方的流量不会受进程恢复的影响。
可选的,若所述守护进程获取到管理指令,则在执行所述管理指令后,根据所述管理指令生成状态信息的第一存储文件;所述管理指令为对所述应用进程和\或所述通信进程执行预设操作的指令;
将所述状态信息的第一存储文件存储至持久化存储空间。
上述方法中,将所述状态信息的第一存储文件存储至持久化存储空间,可以为状态信息做备份,记录对所述应用进程和\或所述通信进程执行的预设操作。
可选的,所述恢复所述通信进程和\或所述应用进程中未存活的进程,包括:
获取所述持久化存储空间中的第二存储文件;所述第二存储文件中存储的状态信息为所述未存活的进程在所述持久化存储空间中存储的最新状态信息;
按照所述第二存储文件的状态信息,恢复所述未存活的进程。
上述方法中,所述第二存储文件中存储的状态信息为所述未存活的进程在所述持久化存储空间中存储的最新状态信息,按照所述第二存储文件的状态信息,恢复所述未存活的进程,可以将所述未存活的进程恢复到最新状态。
可选的,若所述通信进程接收到状态变更事件,且所述通信进程确定所述应用进程未停止,则通知所述调用方对所述应用节点和\或所述应用进程隔离或恢复;所述状态变更事件指示所述应用进程停止处理所述调用方的交易,或者指示所述应用进程恢复对所述调用方的交易的处理。
上述方式下,通过状态变更事件,及时停止处理所述调用方的交易,防止更多的交易损失。
可选的,若所述守护进程接收到手动进程停止指令,则停止所述手动进程停止指令所指示的进程;所述手动进程停止指令所指示的进程至少包括所述应用进程。
上述方式下,提供了一种手动停止所述应用进程的方法。
可选的,所述手动进程停止指令还指示了如下信息:停止所述守护进程和所述通信进程,或者,停止所述通信进程。
可选的,所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态,包括:
所述守护进程按照所述第一预设周期,通过执行预设状态查询命令行,监测所述通信进程以及所述应用进程的存活状态;
所述通信进程按照第二预设周期,监测所述守护进程的存活状态,包括:
所述通信进程按照所述第二预设周期,通过执行所述预设状态查询命令行,监测所述守护进程的存活状态。
上述方式下,命令行可以直接通过操作系统内核执行,通过统一命令行可以实现对进程的统一监测。
第二方面,本发明提供一种应用进程恢复装置,包括:通知模块,用于通信进程若接收到应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点;所述预设事件为隔离事件或恢复事件或失效事件;
处理模块,用于守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程;以及用于所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。
可选的,所述处理模块还用于:
若所述守护进程获取到管理指令,则在执行所述管理指令后,根据所述管理指令生成状态信息的第一存储文件;所述管理指令为对所述应用进程和\或所述通信进程执行预设操作的指令;将所述状态信息的第一存储文件存储至持久化存储空间。
可选的,所述处理模块具体用于:
获取所述持久化存储空间中的第二存储文件;所述第二存储文件中存储的状态信息为所述未存活的进程在所述持久化存储空间中存储的最新状态信息;
按照所述第二存储文件的状态信息,恢复所述未存活的进程。
可选的,所述处理模块还用于:
若所述通信进程接收到状态变更事件,且所述通信进程确定所述应用进程未停止,则通知所述调用方对所述应用节点和\或所述应用进程隔离或恢复;所述状态变更事件指示所述应用进程停止处理所述调用方的交易,或者指示所述应用进程恢复对所述调用方的交易的处理。
可选的,所述处理模块还用于:
若所述守护进程接收到手动进程停止指令,则停止所述手动进程停止指令所指示的进程在所述守护进程中的守护状态;所述手动进程停止指令所指示的进程至少包括所述应用进程。
可选的,所述处理模块还用于:所述手动进程停止指令还指示了如下信息:停止所述守护进程和所述通信进程,或者,停止所述通信进程。
可选的,所述处理模块具体用于:
所述守护进程按照所述第一预设周期,通过执行预设状态查询命令行,监测所述通信进程以及所述应用进程的存活状态;
所述通信进程按照所述第二预设周期,通过执行所述预设状态查询命令行,监测所述守护进程的存活状态。
上述第二方面及第二方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。
第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用进程恢复方法对应的流程示意图;
图2为本发明实施例提供的一种应用进程恢复系统的系统架构示意图;
图3为本发明实施例提供的一种应用进程恢复装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本申请提供一种应用进程恢复方法。
步骤101:应用节点的通信进程若接收到所述应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点。
所述预设事件为隔离事件或恢复事件或失效事件;。
步骤102:所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程。
步骤103:所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。
步骤101中,由于所述通信进程和所述应用进程建立了套接字连接,那么当所述应用进程正常运行时,套接字连接会一直存在,如果所述应用进程异常关闭,那么套接字连接会断掉,便会触发预设事件。
需要说明的是,通知所述应用进程的调用方所述应用进程已异常关闭的方式可以为通信进程直接向所述应用进程的调用方通知,也可以为,通过能够通知到所有调用方的控制台、etcd等中间基础设施来通知调用方。
一种可选实施方式中,步骤102中,所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态的过程可以如下:
所述守护进程按照所述第一预设周期,通过执行预设状态查询命令行,监测所述通信进程以及所述应用进程的存活状态。
步骤103中,所述通信进程按照第二预设周期,监测所述守护进程的存活状态,包括:
所述通信进程按照所述第二预设周期,通过执行所述预设状态查询命令行,监测所述守护进程的存活状态。
需要说明的是,第一预设周期和第二预设周期可以设置相同的时长,且不同的起始时刻,这样可以减少所述守护进程和所述通信进程同时异常关闭,但不能自动化恢复。
一种可选实施方式中,若所述守护进程获取到管理指令,则在执行所述管理指令后,根据所述管理指令生成状态信息的第一存储文件;将所述状态信息的第一存储文件存储至持久化存储空间。
所述管理指令为对所述应用进程和\或所述通信进程执行预设操作的指令。
其中,持久化存储空间为本地磁盘、远程磁盘、redis数据库等存储空间。
举例来说,状态信息为启动、停止,隔离、解隔中一种状态。
基于上述实现方式,步骤102的执行过程如下:
获取所述持久化存储空间中的第二存储文件;按照所述第二存储文件的状态信息,恢复所述未存活的进程。
所述第二存储文件中存储的状态信息为所述未存活的进程在所述持久化存储空间中存储的最新状态信息。
也就是说,通过上述方式,可以将所述未存活的进程恢复为所述持久化存储空间中存储的最新状态信息。
需要说明的是,还可以将所述未存活的进程恢复为预设状态,如预设状态为隔离状态。
一种可选实施方式中,若所述通信进程接收到状态变更事件,且所述通信进程确定所述应用进程未停止,则通知所述调用方对所述应用节点和\或所述应用进程隔离或恢复。
需要说明的是,宕机或者主动被隔离,均为隔离状态。
所述状态变更事件指示所述应用进程停止处理所述调用方的交易,或者指示所述应用进程恢复对所述调用方的交易的处理。
一种可选实施方式中,若所述守护进程接收到手动进程停止指令,则停止所指示的进程。
所述手动进程停止指令所指示的进程至少包括所述应用进程。
下面结合图2,通过具体的守护系统详细描述图1所示的方法。
图2的整体设计思想如下:
进程守护采用双进程(进程A、进程B)守护模式。进程A为图1所示方法的守护进程,进程2为图1所示方法的通信进程。
进程A负责进程B和其它应用进程保活。进程A负责同步进程守护状态、隔离/解隔状态等信息。进程A负责持久化进程状态信息,重启后恢复;进程B负责进程A保活;进程B负责应用进程健康检查,异常时主动通知调用方。
本守护系统主要由进程一(守护进程)、进程二(通信进程)两个进程组成,具体流程如下:
步骤(1):进程一启动时,启动进程二,二者形成双守护,负责彼此保活和状态同步。进程一和进程二周期性通过预设状态查询命令行(kill-0如)检查彼此存活状态,如果进程不存在,则恢复进程。如进程一不存在,进程二便恢复进程一。
步骤(2):进程一和进程二异常关闭被重新恢复后,可恢复到异常关闭前的状态,特别,当进程一受理某进程(如应用进程)手动被停止指令后,即使进程一非法重启,也不会再重启该进程,其它状态类似。
步骤(3):当通过命令行工具或控制台向进程一发送管理指令,执行整个节点或某应用进程启动、停止,隔离、解隔等操作时,进程一会将状态信息同步至进程二,并持久化至本地文件。进程二或某应用进程异常关闭,会被恢复至最后一次管理指令执行后的持久化状态。
步骤(4):进程一作为统一管理指令入口,受理命令行或控制台下发的启动停止、隔离解隔等管理指令,管理进程生命周期,检查进程存活状态,通知进程二状态变更事件,修改本地状态并持久化。
步骤(5):进程一启动时,根据本地文件持久化的状态信息,拉起并恢复进程二和应用进程。当然,如果状态信息中显示某应用进程不需要拉起和守护,那么进程一会将其忽略。
步骤(6):进程一启动后,周期性使用预设状态查询命令行(kill-0)对进程进行存活监测,如果失效则重新启动并恢复。如果进程已经存在,则只挂载进程PID,用于后续检查。
步骤(7):进程二作为统一流量进出入口,管理所有跨机/本机调用方连接,执行本机进程状态健康检查、受理进程一或主动健康检查或应用主动通知等状态变更事件,通知调用方状态变更事件,如果进程未停止,仅作节点或进程隔离或者恢复,其在正常处理在途请求应答后,不再受理新请求。进程二启动后,周期性使用预设状态查询命令行(kill-0)对进程一进行存活监测,如果失效则重新拉起并恢复。如果进程一已存在,则只挂载进程一PID,用于后续检查。
步骤(8):进程二启动后,周期性对应用进程做健康检查,当有进程重启事件、断链、隔离/解隔等健康检查事件时,主动通知已连接进程二的所有调用方。若调用方收到状态变更事件的通知后,则隔离或恢复该节点或该节点某服务,转移在线流量至正常节点,从而交易损失间隔从秒级降低到毫秒级,在高TPS金融场景下收益明显,数万QPS情况下仅有数十笔失败。隔离、解隔等进程状态改变类似,但不会有交易失败。例如:在不隔离节点的情况下,双节点5万QPS,在其中一个节点kill-9服务进程(强制关闭)。同步调用大约损失49笔交易,异步调用大约损失66笔交易,服务进程大约6秒左右恢复交易处理。
如图3所示,本发明提供一种应用进程恢复装置,包括:通知模块301,用于通信进程若接收到应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点;所述预设事件为隔离事件或恢复事件或失效事件;
处理模块302,用于守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程;以及用于所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。
可选的,所述处理模块302还用于:
若所述守护进程获取到管理指令,则在执行所述管理指令后,根据所述管理指令生成状态信息的第一存储文件;所述管理指令为对所述应用进程和\或所述通信进程执行预设操作的指令;将所述状态信息的第一存储文件存储至持久化存储空间。
可选的,所述处理模块302具体用于:
获取所述持久化存储空间中的第二存储文件;所述第二存储文件中存储的状态信息为所述未存活的进程在所述持久化存储空间中存储的最新状态信息;
按照所述第二存储文件的状态信息,恢复所述未存活的进程。
可选的,所述处理模块302还用于:
若所述通信进程接收到状态变更事件,且所述通信进程确定所述应用进程未停止,则通知所述调用方对所述应用节点和\或所述应用进程隔离或恢复;所述状态变更事件指示所述应用进程停止处理所述调用方的交易,或者指示所述应用进程恢复对所述调用方的交易的处理。
可选的,所述处理模块302还用于:
若所述守护进程接收到手动进程停止指令,则停止所述手动进程停止指令所指示的进程;所述手动进程停止指令所指示的进程至少包括所述应用进程。
可选的,所述手动进程停止指令还指示了如下信息:停止所述守护进程和所述通信进程,或者,停止所述通信进程。
可选的,所述处理模块302具体用于:
所述守护进程按照所述第一预设周期,通过执行预设状态查询命令行,监测所述通信进程以及所述应用进程的存活状态;
所述通信进程按照所述第二预设周期,通过执行所述预设状态查询命令行,监测所述守护进程的存活状态。
基于同一发明构思,本发明实施例还提供了一种计算机设备,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的应用进程恢复方法及任一可选方法被执行。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的应用进程恢复方法及任一可选方法被执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种应用进程恢复方法,其特征在于,包括:
应用节点的通信进程若接收到所述应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点;所述预设事件为隔离事件或恢复事件或失效事件;
所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程;
所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。
2.如权利要求1所述的方法,其特征在于,还包括:
若所述守护进程获取到管理指令,则在执行所述管理指令后,根据所述管理指令生成状态信息的第一存储文件;所述管理指令为对所述应用进程和\或所述通信进程执行预设操作的指令;
将所述状态信息的第一存储文件存储至持久化存储空间。
3.如权利要求2所述的方法,其特征在于,所述恢复所述通信进程和\或所述应用进程中未存活的进程,包括:
获取所述持久化存储空间中的第二存储文件;所述第二存储文件中存储的状态信息为所述未存活的进程在所述持久化存储空间中存储的最新状态信息;
按照所述第二存储文件的状态信息,恢复所述未存活的进程。
4.如权利要求1所述的方法,其特征在于,还包括:
若所述通信进程接收到状态变更事件,且所述通信进程确定所述应用进程未停止,则通知所述调用方对所述应用节点和\或所述应用进程隔离或恢复;所述状态变更事件指示所述应用进程停止处理所述调用方的交易,或者指示所述应用进程恢复对所述调用方的交易的处理。
5.如权利要求1所述的方法,其特征在于,还包括:
若所述守护进程接收到手动进程停止指令,则停止所述手动进程停止指令所指示的进程;所述手动进程停止指令所指示的进程至少包括所述应用进程。
6.如权利要求5所述的方法,其特征在于,所述手动进程停止指令还指示了如下信息:停止所述守护进程和所述通信进程,或者,停止所述通信进程。
7.如权利要求1至6任一项所述的方法,其特征在于,所述应用节点的守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态,包括:
所述守护进程按照所述第一预设周期,通过执行预设状态查询命令行,监测所述通信进程以及所述应用进程的存活状态;
所述通信进程按照第二预设周期,监测所述守护进程的存活状态,包括:
所述通信进程按照所述第二预设周期,通过执行所述预设状态查询命令行,监测所述守护进程的存活状态。
8.一种应用进程恢复装置,其特征在于,包括:
通知模块,用于通信进程若接收到应用节点的应用进程的预设事件,则通知所述应用进程的调用方所述应用进程已异常关闭,从而使得所述调用方切换流量至所述应用节点之外的节点;所述预设事件为隔离事件或恢复事件或失效事件;
处理模块,用于守护进程按照第一预设周期,监测所述通信进程以及所述应用进程的存活状态;若所述守护进程确定所述通信进程和\或所述应用进程未存活,则恢复所述通信进程和\或所述应用进程中未存活的进程;以及用于所述通信进程按照第二预设周期,监测所述守护进程的存活状态;若所述通信进程确定所述守护进程未存活,则恢复所述守护进程。
9.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
10.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
CN202011515298.1A 2020-12-21 2020-12-21 一种应用进程恢复方法及装置 Pending CN112650565A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011515298.1A CN112650565A (zh) 2020-12-21 2020-12-21 一种应用进程恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011515298.1A CN112650565A (zh) 2020-12-21 2020-12-21 一种应用进程恢复方法及装置

Publications (1)

Publication Number Publication Date
CN112650565A true CN112650565A (zh) 2021-04-13

Family

ID=75358443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011515298.1A Pending CN112650565A (zh) 2020-12-21 2020-12-21 一种应用进程恢复方法及装置

Country Status (1)

Country Link
CN (1) CN112650565A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501162A (zh) * 2023-04-23 2023-07-28 深圳中柏科技有限公司 智能笔记本自动调整功耗方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256185A (ja) * 2000-03-09 2001-09-21 Hitachi Ltd マルチプロセスシステムにおけるプロセス間通信管理方式
CN111064590A (zh) * 2018-10-16 2020-04-24 腾讯科技(深圳)有限公司 异常状态的修复方法、装置及可读存储介质
CN111400138A (zh) * 2020-03-17 2020-07-10 中国建设银行股份有限公司 基于双层守护机制的客户端监控方法、装置及系统
CN111414229A (zh) * 2020-03-09 2020-07-14 网宿科技股份有限公司 一种应用容器异常处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256185A (ja) * 2000-03-09 2001-09-21 Hitachi Ltd マルチプロセスシステムにおけるプロセス間通信管理方式
CN111064590A (zh) * 2018-10-16 2020-04-24 腾讯科技(深圳)有限公司 异常状态的修复方法、装置及可读存储介质
CN111414229A (zh) * 2020-03-09 2020-07-14 网宿科技股份有限公司 一种应用容器异常处理方法及装置
CN111400138A (zh) * 2020-03-17 2020-07-10 中国建设银行股份有限公司 基于双层守护机制的客户端监控方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王伯天;廖建新;王纯;朱晓民;: "UNIX环境下两种进程守护机制的比较分析", 计算机系统应用, no. 10, pages 392 - 396 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501162A (zh) * 2023-04-23 2023-07-28 深圳中柏科技有限公司 智能笔记本自动调整功耗方法、装置及电子设备
CN116501162B (zh) * 2023-04-23 2023-11-24 深圳中柏科技有限公司 智能笔记本自动调整功耗方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US6622261B1 (en) Process pair protection for complex applications
AU2012217636B2 (en) Restarting data processing systems
CN111953566B (zh) 一种基于分布式故障监控的方法和虚拟机高可用系统
CN105933407B (zh) 一种实现Redis集群高可用的方法及系统
CN109286529B (zh) 一种恢复RabbitMQ网络分区的方法及系统
CN106789306B (zh) 通信设备软件故障检测收集恢复方法和系统
CN107480014B (zh) 一种高可用设备切换方法及装置
CN103370693A (zh) 重启进程
US7373542B2 (en) Automatic startup of a cluster system after occurrence of a recoverable error
CN111104237A (zh) 可配置的故障自动化处理方法和系统及计算机存储介质
US7366949B2 (en) Distributed software application software component recovery in an ordered sequence
CN112650565A (zh) 一种应用进程恢复方法及装置
CN106445746A (zh) 一种面向应急接替的容灾备份方法及装置
CN113438111A (zh) 基于Raft分布式恢复RabbitMQ网络分区的方法及应用
CN103812697A (zh) 一种分布式通信网络的异地容灾方法和系统
CN111917576A (zh) 存储集群的控制方法和装置
JP2007280155A (ja) 分散システムにおける信頼性向上方法
CN111897626A (zh) 一种面向云计算场景的虚拟机高可靠系统和实现方法
CN112948484A (zh) 分布式数据库系统和数据灾备演练方法
CN112269693B (zh) 一种节点自协调方法、装置和计算机可读存储介质
CN114816930A (zh) 一种主动式服务自愈运维系统及方法
CN110597609A (zh) 一种集群迁移与自动恢复方法及系统
US11954509B2 (en) Service continuation system and service continuation method between active and standby virtual servers
KR100832890B1 (ko) 정보통신 시스템의 프로세스 장애 감시방법 및 복구방법
CN113032106A (zh) 计算节点io悬挂异常自动检测方法及装置

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