CN113568719B - 一种业务故障处理方法、装置、电子设备及存储介质 - Google Patents
一种业务故障处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113568719B CN113568719B CN202010358140.1A CN202010358140A CN113568719B CN 113568719 B CN113568719 B CN 113568719B CN 202010358140 A CN202010358140 A CN 202010358140A CN 113568719 B CN113568719 B CN 113568719B
- Authority
- CN
- China
- Prior art keywords
- sub
- application program
- application
- main
- program
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 236
- 230000008569 process Effects 0.000 claims abstract description 97
- 238000004891 communication Methods 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 15
- 244000035744 Hura crepitans Species 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010354 integration Effects 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
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种业务故障处理方法、装置、电子设备及存储介质,其中,方法包括:若主应用程序处于运行状态且需要启动子应用程序,通过主应用程序创建新的进程,作为主应用程序所在主进程的子进程,并且通过主应用程序将子应用程序的应用数据加载至子进程,以运行子应用程序,以及若子应用程序中处于前台运行的第一子应用程序出现故障,通过主应用程序重新启动第一子应用程序的第一子进程,以恢复第一子应用程序的运行,由于将主应用程序和子应用程序分别运行在不同的进程中,运行子应用程序的子进程出现故障,并不影响主应用程序的运行,并且还可以通过主应用程序恢复子进程的运行,进而提高了机器人程序的运行可靠性。
Description
技术领域
本发明涉及机器人技术领域,特别是涉及一种业务故障处理方法、装置、电子设备及存储介质。
背景技术
随着时代的发展,机器人逐渐走入人们的工作和生活当中,使得机器人的应用场景的越来越复杂,不同的应用场景对机器人的要求不同,但总体而言无人化运营是机器人发展的趋势。
机器人的无人化运营依赖于机器人运行可靠性的提升,而机器人运行的可靠性主要依赖于机器人运行程序的可靠性。
现有技术中,机器人运行程序主要基于各类型的跨平台框架,或纯Android(安卓)***进行开发,开发后机器人运行程序还需要客户针对机器人的应用场景对机器人运行程序中的程序业务应用的业务代码进行二次开发。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
现有技术中,通过各类型的跨平台框架,或纯Android(安卓)***进行开发的机器人运行程序在运行时,程序框架应用和程序业务应用共用一个进程,而程序业务应用由于需要客户进行二次开发,其可靠性较差,当程序业务应用出现故障后,可能导致同一进程中的程序框架应用也无法运行,进而导致机器人运行程序出错,现有技术中,机器人运行程序的可靠性较低。
发明内容
本发明实施例的目的在于提供一种业务故障处理方法、装置、电子设备及存储介质,以提高机器人运行程序运行的可靠性。具体技术方案如下:
本发明实施例提供一种业务故障处理方法,包括:
若主应用程序处于运行状态且需要启动子应用程序,通过所述主应用程序创建新的进程,作为所述主应用程序所在主进程的子进程;
通过所述主应用程序将所述子应用程序的应用数据加载至所述子进程,以运行所述子应用程序;
若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行。
在一种可能的实施方式中,所述若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行,包括:
若所述子应用程序中处于前台运行的第一子应用程序出现故障,保存所述第一子应用程序故障发生时刻的运行数据;
通过所述主应用程序重新启动所述第一子应用程序的第一子进程;
通过所述主应用程序将所述第一子应用程序的应用数据和所述运行数据加载至所述第一子进程,以恢复所述第一子应用程序的运行。
在一种可能的实施方式中,根据如下方式确定所述子应用程序中处于前台运行的第一子应用程序出现故障:
通过所述主应用程序监听所述子应用程序中第一子应用程序的第一子进程的心跳;若所述主应用程序持续预设时长未监听到所述第一子进程的心跳,确定所述第一子应用程序出现故障;
和/或,
通过所述主应用程序监控所述主进程与所述第一子进程之间的绑定状态;若所述主应用程序监控到所述主进程与所述第一子进程之间断开绑定,确定所述第一子应用程序出现故障。
在一种可能的实施方式中,所述方法还包括:
所述子应用程序中第一子应用程序处于前台运行期间,接收到针对所述子应用程序中第二子应用程序的前台运行指令,将所述第一子用于程序切换为后台运行,并将所述第二子应用程序切换为前台运行。
在一种可能的实施方式中,所述方法还包括:
若处于后台运行的所述第一子应用程序出现故障,通过所述主应用程序删除所述第一子应用程序的第一子进程和所述第一子应用程序的运行数据,以结束所述第一子应用程序的运行。
本发明实施例还提供一种业务故障处理装置,所述装置包括:
进程创建模块,用于若主应用程序处于运行状态且需要启动子应用程序,通过所述主应用程序创建新的进程,作为所述主应用程序所在主进程的子进程;
数据加载模块,用于通过所述主应用程序将所述子应用程序的应用数据加载至所述子进程,以运行所述子应用程序;
运行恢复模块,用于若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行。
在一种可能的实施方式中,所述运行恢复模块,具体用于若所述子应用程序中处于前台运行的第一子应用程序出现故障,保存所述第一子应用程序故障发生时刻的运行数据,并且通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以及通过所述主应用程序将所述第一子应用程序的应用数据和所述运行数据加载至所述第一子进程,以恢复所述第一子应用程序的运行。
在一种可能的实施方式中,所述业务故障处理装置还包括:
故障确定模块,用于通过所述主应用程序监听所述子应用程序中第一子应用程序的第一子进程的心跳;若所述主应用程序持续预设时长未监听到所述第一子进程的心跳,确定所述第一子应用程序出现故障;和/或,通过所述主应用程序监控所述主进程与所述第一子进程之间的绑定状态;若所述主应用程序监控到所述主进程与所述第一子进程之间断开绑定,确定所述第一子应用程序出现故障。
在一种可能的实施方式中,所述业务故障处理装置还包括:
切换模块,用于所述子应用程序中第一子应用程序处于前台运行期间,接收到针对所述子应用程序中第二子应用程序的前台运行指令,将所述第一子用于程序切换为后台运行,并将所述第二子应用程序切换为前台运行。
在一种可能的实施方式中,所述业务故障处理装置还包括:
运行结束模块,用于若处于后台运行的所述第一子应用程序出现故障,通过所述主应用程序删除所述第一子应用程序的第一子进程和所述第一子应用程序的运行数据,以结束所述第一子应用程序的运行。
本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一业务故障处理方法的步骤。
本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一业务故障处理方法的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一业务故障处理方法。
本发明实施例提供的一种业务故障处理方法、装置及电子设备,方案中,若主应用程序处于运行状态且需要启动子应用程序,通过主应用程序创建新的进程,作为主应用程序所在主进程的子进程,并且通过主应用程序将子应用程序的应用数据加载至子进程,以运行子应用程序,以及若子应用程序中处于前台运行的第一子应用程序出现故障,通过主应用程序重新启动第一子应用程序的第一子进程,以恢复第一子应用程序的运行,由于将主应用程序和子应用程序分别运行在不同的进程中,运行子应用程序的子进程出现故障,并不影响主应用程序的运行,并且还可以通过主应用程序恢复子进程的运行,进而提高了机器人程序的运行可靠性。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一个实施例提供的业务故障处理方法的流程图;
图2为本发明另一个实施例提供的业务故障处理方法的部分流程图;
图3为本发明又一个实施例提供的业务故障处理方法的流程图;
图4为本发明一个实施例提供的业务故障处理装置的结构示意图;
图5为本发明另一个实施例提供的业务故障处理装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了给出提高机器人程序运行可靠性的实现方案,本发明实施例提供了一种业务故障处理方法、装置、电子设备及存储介质,以下结合说明书附图对本发明的实施例进行说明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的一个实施例中,提供一种业务故障处理方法,可以应用于机器人、无人机等设备,以下以机器人为例对本发明实施例提供的业务故障处理方法进行说明,本发明实施例所提及的机器人并不对本发明实施例起限定作用,如图1所示,该方法包括以下步骤:
S101:若主应用程序处于运行状态且需要启动子应用程序,通过主应用程序创建新的进程,作为主应用程序所在主进程的子进程。
S102:通过主应用程序将子应用程序的应用数据加载至子进程,以运行子应用程序。
S103:若子应用程序中处于前台运行的子应用程序(记为第一子应用程序)出现故障,通过主应用程序重新启动第一子应用程序的子进程(记为第一子进程),以恢复第一子应用程序的运行。
本发明实施例提供的上述如图1所示的业务故障处理方法中,由于可以将主应用程序和子应用程序分别运行在不同的进程中,运行子应用程序的子进程出现故障,并不影响主应用程序的运行,并且还可以通过主应用程序恢复子进程的运行,进而提高了机器人程序的运行可靠性。进一步的,通过主应用程序恢复子进程的运行,从而在子应用程序出现故障时可以自动实现该子应用程序对应的子进程的重启,无需用户手动再次启动该子进程,不影响用户对该子程序的使用,并且由于该过程速度很快,用户几乎无感知,也提高了用户体验。
在上述如图1所示的业务故障处理方法实施例中,主应用程序可以为应用程序中的框架程序,子应用程序可以为该应用程序中的业务程序,其中,该应用程序可以为用于控制机器人执行特定动作的机器人程序。
可选的,子应用程序,即业务程序,可以用于使机器人完成特定的服务,主应用程序为宿主程序,其用于运行初始化基础服务以及跨平台框架服务,子应用程序必须依靠主应用程序才可以运行,其运行过程中需要与主应用程序保持通信,以获取或发送运行相关的参数,举例而言,子应用程序可以为执行导航、焦点跟随、接待、导览、聊天、测温等功能的程序,而主应用程序则可以为用于管理、调用、控制子应用程序的框架程序,子应用程序运行时,可以通过主应用程序获取当前位置、与目标对象的距离等参数。
在本发明实施例中,主应用程序运行在主进程中,需要说明的是,本发明实施例所指主进程并不是预先指定的进程,而是主应用程序所在的进程即可理解为本实施例所指主进程,故主进程为机器人等终端启动应用程序时,所占用的进程,可选的,可以用标识:进程main(主管道)表示。
可选的,子进程可以为主进程的子进程,当需要启动子应用程序时,可以通过主应用程序在主进程之外重新建立一个进程,作为主应用程序所在主进程的子进程。
可选的,可以在主进程中启动主应用程序的子进程占位,以生成主进程的子进程,其中主应用程序的子进程占位可以为预先设置的,可选的,在基于Android***开发的应用程序,可以通过定义Activity(活动)作为子进程占位,可以使用标识进程sandbox(沙箱)表示。当需要运行子应用程序时,可以启动主应用程序中预先设置的子进程占位,以生成主进程的子进程。
在一个实施例中,一个应用程序可以包括至少一个子应用程序,因此,可以设置多个子进程占位,如定义多个Activity,每一个Activity作为一个子进程占位,可以使用进程sandbox_1、进程sandbox_2、进程sandbox_3、进程sandbox_4和进程sandbox_5来表示。
进一步的,为了启动子应用程序,可以通过主应用程序将子应用程序的应用数据加载至创建的子进程,以运行子应用程序。其中,子应用程序的应用数据可以为为子应用程序运行所需的基础数据,例如,当子应用程序图像识别时,其所需的基础数据可以包括主程序所采集的实时图像。
在一个实施例中,在将子应用程序运行所需的基础数据加载进子应用程序后,还可以建立子进程与主进程之间用于进行进程间通信的绑定关系。本领域技术人员可以理解的是,建立了绑定关系的两个进程之间可以进行通信,因此,通过建立子进程与主进程之间的绑定关系,可以使得子应用程序在需要主进程中的主应用程序提供的运行参数时,可以向主应用程序发送运行参数获取请求,主应用程序接收到运行参数获取请求,向子应用程序发送其所需的运行参数,从而可以使得子应用程序正常运行。
在一个实施例中,运行中的子应用程序可以包括多个,即一个主进程可以对应有多个子进程,每个子进程可以运行一种业务功能类型的子业务程序。
示例性的,应用程序为机器人交互程序,机器人交互程序包含有一个主应用程序和多个子应用程序,多个子应用程序可以包括:图像获取子业务程序、音频获取子业务程序和指令接收子业务程序等,主应用程序、图像获取子业务程序、音频获取子业务程序和指令接收子业务程序分别运行在进程A、进程B、进程C和进程D中,其中,进程A为主进程,进程B、进程C和进程D分别为进程A的子进程。
在运行中的多个子应用程序中至少包括处于前台运行的子应用程序和/或处于后台运行的子应用程序。
在一个实施例中,可以根据如下至少一种方式确定子应用程序中处于前台运行的第一子应用程序出现故障:
第一种方式:通过主应用程序监听子应用程序中第一子应用程序的第一子进程的心跳;若主应用程序持续预设时长未监听到第一子进程的心跳,确定第一子应用程序出现故障。
本方式中,主应用程序可以按照第一预设监听周期周期性的向子应用程序发送监听信号,当子应用程序处于正常运行状态时,子应用程序在接收到监听信号后需要向主应用程序发送指示当前正常的反馈信号。
可选的,子应用程序也可以主动按照第二预设监听周期周期性的向主应用程序发送指示当前正常的心跳信号。
可选的,当主应用程序向子应用程序发送监听信号后,在持续第一预设时长内均未接到到子应用程序反馈的反馈信号,则确定第一子应用程序出现故障,或主应用程序发送了预设次数的监听信号,均未在设定时长内接收到子应用程序的反馈信号,则确定第一子应用程序出现故障,其中,针对主应用程序发送的每次监听信号,当其在发送后第二预设时长内未接收到子应用程序反馈的反馈信号时,则确定本次发送的监听信号为未接收到子应用程序反馈的监听信号。
第二种方式:通过主应用程序监控主进程与第一子进程之间的绑定状态;若主应用程序监控到主进程与第一子进程之间断开绑定,确定第一子应用程序出现故障。
若子应用程序中处于前台运行的第一子应用程序出现故障,通过主应用程序重新启动第一子应用程序的第一子进程,以恢复第一子应用程序的运行
示例性的,应用程序A包括主应用程序B和子应用程序C,子应用程序C用于执行任务D,终端启动时,首先需要加载运行应用程序A,此时终端建立进程a加载主应用程序B的应用数据,当子应用程序C需要执行任务D时,调用主应用程序B新建另一条进程b,作为进程a的子进程b,并将子应用程序C的应用数据加载进子进程b,以在子进程b中运行子应用程序C的应用数据,当子应用程序C处于前台运行、且在前台运行的过程中出现故障时,可以通过主应用程序B重新启动子进程b,以恢复子应用程序C的运行。
在本发明的另一个实施例中,在如图1所提供的业务故障处理方法的基础上,还提供一种业务故障处理方法,如图2所示,上述步骤S103,包括:
S201:若子应用程序中处于前台运行的第一子应用程序出现故障,保存第一子应用程序故障发生时刻的运行数据。
本步骤中,若子应用程序中处于前台运行的第一子应用程序出现故障,可以先保存第一子应用程序故障发生时刻的运行数据。其中,第一子应用程序故障发生时刻的运行数据可以为故障发生时刻子应用程序的上下文和运行中所使用的参数等数据。
可选的,可以调用运行中的主应用程序保存第一子应用程序故障发生时刻的运行数据。
S202:通过主应用程序重新启动第一子应用程序的第一子进程。
本步骤中,在保存完第一子应用程序的运行数据后,可以进一步的通过主应用程序重新启动第一子应用程序的第一子进程。
可选的,本领域技术人员可以理解,在一种情况下,在第一子应用程序故障后并未删除第一子应用程序的第一子进程,此时本步骤所指重新启动第一子应用程序的第一子进程可以理解为:清空第一子应用程序的第一子进程中的数据。在另一种情况下,在第一子应用程序故障后,删除第一子应用程序的第一子进程,此时本步骤所指重新启动第一子应用程序的第一子进程可以理解为:重新通过主应用程序创建一条新的用于运行第一子应用程序的进程。
具体的,其实现方式和上述步骤S101相似或相同,在此不再赘述。
S203:通过主应用程序将第一子应用程序的应用数据和运行数据加载至第一子进程,以恢复第一子应用程序的运行。
本步骤中,可以通过主应用程序将第一子应用程序的应用数据和运行数据加载至第一子进程,由于运行数据中包括第一子应用程序故障发生时刻的上下文和运行中所使用的参数等数据,因此,可以使得第一子应用程序恢复至故障发生时刻的运行状态,从而恢复第一子应用程序的运行。
本发明实施例提供的上述如图2所示的业务故障处理方法中,通过保存第一子应用程序故障发生时刻的运行数据,可以为恢复第一子进程提供了基础,进一步的,通过重新恢复第一子进程并加载保存的运行数据可以实现恢复第一子进程的运行,提高了机器人程序的运行可靠性。
在本发明的又一个实施例中,还提供一种业务故障处理方法,如图3所示,在步骤S102之后,还包括:
S301:在子应用程序中第一子应用程序处于前台运行期间,接收到针对子应用程序中第二子应用程序的前台运行指令,将第一子应用程序切换为后台运行,并将第二子应用程序切换为前台运行。
本步骤中,在子应用程序中第一子应用程序处于前台运行期间,当接收到针对子应用程序中第二子应用程序的前台运行指令时,可以将第一子应用程序切换为后台运行,并将第二子应用程序切换为前台运行,其中,第二子应用程序可以为新加载的子应用程序,也可以是预先已加载、且处于后台运行的子应用程序。
示例性的,第一子进程为前述实施例所提及的图像获取子业务程序,在图像获取子业务程序处于前台运行期间,如获取用户面部图像的期间,接收到用户的输入的取消指令,要求指令接收子业务程序处于前台运行状态,此时,可以先将图像获取子业务程序切换为后台运行,并将指令接收子业务程序切换为前台运行。
S302:若处于后台运行的第一子应用程序出现故障,通过主应用程序删除第一子应用程序的第一子进程和第一子应用程序的运行数据,以结束第一子应用程序的运行。
本步骤中,当处于后台运行的第一子应用程序出现故障时,为了节约运行和计算资源,可以通过主应用程序删除第一子应用程序的第一子进程和第一子应用程序的运行数据,以结束第一子应用程序的运行。
在一个实施例中,还存在另一种情况,当第一子应用程序处于前台运行时,任一处于后台运行的子应用程序出现故障时,也可以通过主应用程序删除该子应用程序的子进程和该子应用程序的运行数据,从而结束该子应用程序的运行。
本发明实施例提供的上述如图3所示的业务故障处理方法中,当处于后台运行的第一子应用程序出现故障时,可以可以通过主应用程序删除第一子应用程序的第一子进程和第一子应用程序的运行数据,以结束第一子应用程序的运行,从而节约了机器人运行和计算的资源。
基于同一发明构思,根据本发明实施例提供的如图1所示的业务故障处理方法,本发明实施例还提供了一种业务故障处理装置,如图4所示,该装置包括:
进程创建模块401,用于若主应用程序处于运行状态且需要启动子应用程序,通过主应用程序创建新的进程,作为主应用程序所在主进程的子进程;
数据加载模块402,用于通过主应用程序将子应用程序的应用数据加载至子进程,以运行子应用程序;
运行恢复模块403,用于若子应用程序中处于前台运行的第一子应用程序出现故障,通过主应用程序重新启动第一子应用程序的第一子进程,以恢复第一子应用程序的运行。
本发明实施例提供的上述如图4所示的业务故障处理装置中,由于可以将主应用程序和子应用程序分别运行在不同的进程中,运行子应用程序的子进程出现故障,并不影响主应用程序的运行,并且还可以通过主应用程序恢复子进程的运行,进而提高了机器人程序的运行可靠性。
在本发明的另一个实施例中,还提供一种业务故障处理装置,如图5所示,包括:
进程创建模块501,用于若主应用程序处于运行状态且需要启动子应用程序,通过主应用程序创建新的进程,作为主应用程序所在主进程的子进程;
数据加载模块502,用于通过主应用程序将子应用程序的应用数据加载至子进程,以运行子应用程序;
运行恢复模块503,用于若子应用程序中处于前台运行的第一子应用程序出现故障,通过主应用程序重新启动第一子应用程序的第一子进程,以恢复第一子应用程序的运行。
进一步的,运行恢复模块503,具体用于若子应用程序中处于前台运行的第一子应用程序出现故障,保存第一子应用程序故障发生时刻的运行数据,并且通过主应用程序重新启动第一子应用程序的第一子进程,以及通过主应用程序将第一子应用程序的应用数据和运行数据加载至第一子进程,以恢复第一子应用程序的运行。
进一步的,业务故障处理装置还包括:
故障确定模块504,用于通过主应用程序监听子应用程序中第一子应用程序的第一子进程的心跳;若主应用程序持续预设时长未监听到第一子进程的心跳,确定第一子应用程序出现故障;和/或,通过主应用程序监控主进程与第一子进程之间的绑定状态;若主应用程序监控到主进程与第一子进程之间断开绑定,确定第一子应用程序出现故障。
进一步的,业务故障处理装置还包括:
切换模块505,用于子应用程序中第一子应用程序处于前台运行期间,接收到针对子应用程序中第二子应用程序的前台运行指令,将第一子用于程序切换为后台运行,并将第二子应用程序切换为前台运行。
进一步的,业务故障处理装置还包括:
运行结束模块506,用于若处于后台运行的第一子应用程序出现故障,通过主应用程序删除第一子应用程序的第一子进程和第一子应用程序的运行数据,以结束第一子应用程序的运行。
本发明实施例提供的上述如图5所示的业务故障处理装置中,由于将主应用程序和子应用程序分别运行在不同的进程中,运行子应用程序的子进程出现故障,并不影响主应用程序的运行,并且还可以通过主应用程序恢复子进程的运行,进而提高了机器人程序的运行可靠性。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
若主应用程序处于运行状态且需要启动子应用程序,通过所述主应用程序创建新的进程,作为所述主应用程序所在主进程的子进程;
通过所述主应用程序将所述子应用程序的应用数据加载至所述子进程,以运行所述子应用程序;
若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行。
本发明实施例提供的上述如图6所示的电子设备中,由于可以将主应用程序和子应用程序分别运行在不同的进程中,运行子应用程序的子进程出现故障,并不影响主应用程序的运行,并且还可以通过主应用程序恢复子进程的运行,进而提高了机器人程序的运行可靠性。
需要说明的是,上述电子设备实现业务故障处理方法的其他实施例,与前述方法实施例部分提及的业务故障处理方法相同,在此不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一业务故障处理方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一业务故障处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种业务故障处理方法,其特征在于,包括:
若主应用程序处于运行状态且需要启动子应用程序,通过所述主应用程序创建新的进程,作为所述主应用程序所在主进程的子进程;其中,所述主应用程序为所述子应用程序的宿主程序;
通过所述主应用程序将所述子应用程序的应用数据加载至所述子进程,以运行所述子应用程序;其中,所述子应用程序的应用数据为所述子应用程序运行所需的基础数据;
若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行;
所述若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行,包括:
若所述子应用程序中处于前台运行的第一子应用程序出现故障,保存所述第一子应用程序故障发生时刻的运行数据;
通过所述主应用程序重新启动所述第一子应用程序的第一子进程;
通过所述主应用程序将所述第一子应用程序的应用数据和所述运行数据加载至所述第一子进程,以恢复所述第一子应用程序的运行。
2.根据权利要求1所述的方法,其特征在于,根据如下方式确定所述子应用程序中处于前台运行的第一子应用程序出现故障:
通过所述主应用程序监听所述子应用程序中第一子应用程序的第一子进程的心跳;若所述主应用程序持续预设时长未监听到所述第一子进程的心跳,确定所述第一子应用程序出现故障;
和/或,
通过所述主应用程序监控所述主进程与所述第一子进程之间的绑定状态;若所述主应用程序监控到所述主进程与所述第一子进程之间断开绑定,确定所述第一子应用程序出现故障。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述子应用程序中第一子应用程序处于前台运行期间,接收到针对所述子应用程序中第二子应用程序的前台运行指令,将所述第一子用于程序切换为后台运行,并将所述第二子应用程序切换为前台运行。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若处于后台运行的所述第一子应用程序出现故障,通过所述主应用程序删除所述第一子应用程序的第一子进程和所述第一子应用程序的运行数据,以结束所述第一子应用程序的运行。
5.一种业务故障处理装置,其特征在于,包括:
进程创建模块,用于若主应用程序处于运行状态且需要启动子应用程序,通过所述主应用程序创建新的进程,作为所述主应用程序所在主进程的子进程;其中,所述主应用程序为所述子应用程序的宿主程序;
数据加载模块,用于通过所述主应用程序将所述子应用程序的应用数据加载至所述子进程,以运行所述子应用程序;其中,所述子应用程序的应用数据为所述子应用程序运行所需的基础数据;
运行恢复模块,用于若所述子应用程序中处于前台运行的第一子应用程序出现故障,通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以恢复所述第一子应用程序的运行;
所述运行恢复模块,具体用于若所述子应用程序中处于前台运行的第一子应用程序出现故障,保存所述第一子应用程序故障发生时刻的运行数据,并且通过所述主应用程序重新启动所述第一子应用程序的第一子进程,以及通过所述主应用程序将所述第一子应用程序的应用数据和所述运行数据加载至所述第一子进程,以恢复所述第一子应用程序的运行。
6.根据权利要求5所述的装置,其特征在于,还包括:
故障确定模块,用于通过所述主应用程序监听所述子应用程序中第一子应用程序的第一子进程的心跳;若所述主应用程序持续预设时长未监听到所述第一子进程的心跳,确定所述第一子应用程序出现故障;和/或,通过所述主应用程序监控所述主进程与所述第一子进程之间的绑定状态;若所述主应用程序监控到所述主进程与所述第一子进程之间断开绑定,确定所述第一子应用程序出现故障。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010358140.1A CN113568719B (zh) | 2020-04-29 | 2020-04-29 | 一种业务故障处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010358140.1A CN113568719B (zh) | 2020-04-29 | 2020-04-29 | 一种业务故障处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568719A CN113568719A (zh) | 2021-10-29 |
CN113568719B true CN113568719B (zh) | 2024-04-19 |
Family
ID=78158560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010358140.1A Active CN113568719B (zh) | 2020-04-29 | 2020-04-29 | 一种业务故障处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568719B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998029162A1 (en) * | 1996-12-27 | 1998-07-09 | Silicon Gaming-Nevada | Method and apparatus for managing faults and exceptions |
CN101178662A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 一种嵌入式linux应用进程的监控方法 |
CN102801961A (zh) * | 2012-08-21 | 2012-11-28 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及*** |
CN102984500A (zh) * | 2012-10-26 | 2013-03-20 | 安科智慧城市技术(中国)有限公司 | 一种实现多种视频监控设备兼容的方法、装置和*** |
CN104268019A (zh) * | 2014-09-23 | 2015-01-07 | 广州金山网络科技有限公司 | 一种软件运行方法、装置及终端 |
CN104317605A (zh) * | 2014-11-18 | 2015-01-28 | 东方网力科技股份有限公司 | 一种组件运行方法及装置 |
CN104852931A (zh) * | 2015-06-12 | 2015-08-19 | 北京京东尚科信息技术有限公司 | 一种通信方法和装置 |
CN105589757A (zh) * | 2014-10-23 | 2016-05-18 | 上海天脉聚源文化传媒有限公司 | 一种服务器架构下的保护工作进程的方法和服务器 |
CN109933465A (zh) * | 2019-03-12 | 2019-06-25 | 北京同城必应科技有限公司 | 异常处理方法、装置、服务器和存储介质 |
CA3017375A1 (en) * | 2018-09-10 | 2020-03-10 | Avigilon Coporation | Secured multi-process architecture |
CN110888690A (zh) * | 2019-12-12 | 2020-03-17 | 北京爱奇艺科技有限公司 | 一种应用启动方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621496B2 (en) * | 2011-04-05 | 2013-12-31 | Netapp, Inc. | Decoupled application program-operating system computing architecture |
US10210061B2 (en) * | 2016-12-14 | 2019-02-19 | Vmware, Inc. | Fault tolerant application storage volumes for ensuring application availability and preventing data loss using forking techniques |
-
2020
- 2020-04-29 CN CN202010358140.1A patent/CN113568719B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998029162A1 (en) * | 1996-12-27 | 1998-07-09 | Silicon Gaming-Nevada | Method and apparatus for managing faults and exceptions |
CN101178662A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 一种嵌入式linux应用进程的监控方法 |
CN102801961A (zh) * | 2012-08-21 | 2012-11-28 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及*** |
CN102984500A (zh) * | 2012-10-26 | 2013-03-20 | 安科智慧城市技术(中国)有限公司 | 一种实现多种视频监控设备兼容的方法、装置和*** |
CN104268019A (zh) * | 2014-09-23 | 2015-01-07 | 广州金山网络科技有限公司 | 一种软件运行方法、装置及终端 |
CN105589757A (zh) * | 2014-10-23 | 2016-05-18 | 上海天脉聚源文化传媒有限公司 | 一种服务器架构下的保护工作进程的方法和服务器 |
CN104317605A (zh) * | 2014-11-18 | 2015-01-28 | 东方网力科技股份有限公司 | 一种组件运行方法及装置 |
CN104852931A (zh) * | 2015-06-12 | 2015-08-19 | 北京京东尚科信息技术有限公司 | 一种通信方法和装置 |
CA3017375A1 (en) * | 2018-09-10 | 2020-03-10 | Avigilon Coporation | Secured multi-process architecture |
CN109933465A (zh) * | 2019-03-12 | 2019-06-25 | 北京同城必应科技有限公司 | 异常处理方法、装置、服务器和存储介质 |
CN110888690A (zh) * | 2019-12-12 | 2020-03-17 | 北京爱奇艺科技有限公司 | 一种应用启动方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
9210工程业务应用软件常见故障及对策与维护技巧;夏巧利, 高宇, 杨银见;陕西气象;20000522(第03期);全文 * |
A. Wolfram ; R. Isermann.Fault detection of inverter-fed induction motors using a multi-model approach based on neuro-fuzzy models.《2001 European Control Conference (ECC)》.2001,全文. * |
刘全周 ; 李占旗 ; 陈慧鹏 ; 白稳峰 ; 张蕾.汽车事件数据记录***控制策略研究.《汽车电器》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113568719A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10511480B2 (en) | Message flow management for virtual networks | |
CN106572137B (zh) | 一种分布式服务资源管理方法和装置 | |
US20120124221A1 (en) | Element terminal and communication system | |
CN112398689A (zh) | 网络恢复方法、装置、存储介质及电子设备 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
CN115328741A (zh) | 一种异常处理方法、装置、设备和存储介质 | |
CN115629785A (zh) | 升级方法、电子设备及存储介质 | |
CN111342986B (zh) | 分布式节点管理方法及装置、分布式***、存储介质 | |
CN113568719B (zh) | 一种业务故障处理方法、装置、电子设备及存储介质 | |
CN110737543B (zh) | 一种分布式文件***数据恢复的方法、装置及存储介质 | |
CN111756800A (zh) | 一种处理突发流量的方法和*** | |
CN113055415A (zh) | 服务提供方法、服务消费方法、装置及设备 | |
CN116319758A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN110874473A (zh) | 病毒检测方法、装置及***、云服务***、存储介质 | |
CN115392706A (zh) | 故障机器人调度方法、装置、电子设备和计算机可读介质 | |
CN111629054B (zh) | 消息处理方法、装置、***、电子设备及可读存储介质 | |
CN110198325B (zh) | 通信方法、装置和***、网络服务器和存储介质 | |
CN109101253B (zh) | 云计算***中主机的管理方法和装置 | |
CN113037871A (zh) | 会议通话的恢复方法、装置、***、电子设备和可读存储介质 | |
US11941432B2 (en) | Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program | |
CN117033084B (zh) | 虚拟机备份方法、装置、电子设备及存储介质 | |
CN112769889B (zh) | 服务数据的推送方法、装置、存储介质以及电子装置 | |
CN114185688B (zh) | 物理资源占用状态的矫正方法、调度器及可读存储介质 | |
CN112104506B (zh) | 组网方法、装置、服务器及可读存储介质 | |
CN111355988B (zh) | 业务灾备方法、设备及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |