CN109933465B - 异常处理方法、装置、服务器和存储介质 - Google Patents
异常处理方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN109933465B CN109933465B CN201910183923.8A CN201910183923A CN109933465B CN 109933465 B CN109933465 B CN 109933465B CN 201910183923 A CN201910183923 A CN 201910183923A CN 109933465 B CN109933465 B CN 109933465B
- Authority
- CN
- China
- Prior art keywords
- version information
- processing request
- sub
- processing
- abnormal
- 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
Abstract
本发明公开了一种异常处理方法、装置、服务器和存储介质。该方法包括:获取到处理请求时,确定处理请求对应的第一版本信息;启动至少一个第一子进程,并控制各第一子进程基于第一版本信息处理该处理请求;监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定该处理请求对应的第二版本信息;控制各第二子进程基于第二版本信息处理该处理请求;将各第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得处理请求的处理结果。本发明实施例提供的方法,可提高异常处理性能,增强系统稳定性。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种异常处理方法、装置、服务器和存储介质。
背景技术
随着数字化时代的到来,各种应用型系统渗入到人们生活的方方面面,人们对于应用型系统的热情极大的推动了系统的改进和版本更新,但对于改进或版本更新后的系统而言,可能更新后系统因某些原因导致兼容性差或运行异常的问题,且极容易因为这些异常造成应用系统的崩溃。
针对上述问题,现有技术中常需要关闭应用型系统现有的运行版本,然后查找并重启动运行一个历史版本,但该种方式会导致应用型系统中的部分数据丢失,影响系统的稳定性,对业务造成损失。
发明内容
本发明提供一种异常处理方法、装置、服务器和存储介质,以实现系统异常的快速处理。
第一方面,本发明实施例提供了一种异常处理方法,该方法包括:
获取到处理请求时,确定所述处理请求对应的第一版本信息;
启动至少一个第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求;
监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息;
控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果。
第二方面,本发明实施例还提供了一种异常处理装置,该装置包括:
处理请求获取模块,用于获取到处理请求时,确定所述处理请求对应的第一版本信息;
进程启动模块,用于启动至少一个第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求;
异常监测模块,用于监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息;
第二进程处理模块,用于控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果。
第三方面,本发明实施例还提供了一种服务器,该服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的异常处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的异常处理方法。
本发明实施例通过在获取到处理请求时,确定处理请求对应的第一版本信息,启动至少一个第一子进程,并控制第一子进程根据第一版本信息处理该处理请求,当检测到处理异常的第一子进程时,关闭异常第一子进程,启动与第一子进程数量相同的第二子进程,并确定对应处理请求的第二版本信息,控制第二子进程根据第二版本信息处理所述处理请求,并将第二子进程记为新的第一子进程,返回执行异常检测操作,直到该处理请求处理完毕;出现异常时系统无需停止处理请求的处理,可提高异常处理效率,增强系统的稳定性。
附图说明
图1时本发明实施例一提供的一种异常处理方法的流程图;
图2是本发明实施例二提供的一种异常处理方法的流程图;
图3是本发明实施例三提供的一种异常处理方法的功能框图;
图4是本发明实施例三提供的一种异常处理装置的结构示意图;
图5是本发明实施例四提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1时本发明实施例一提供的一种异常处理方法的流程图,本实施例可适用于应用系统异常处理的情况,该方法可以由异常处理装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的一种异常处理方法包括:
步骤101、获取到处理请求时,确定所述处理请求对应的第一版本信息。
其中,处理请求可以是系统接收的用于处理数据的请求,可以包括数据存储请求和HTTP服务请求等,第一版本信息可以用于表征处理处理请求的程序代码的版本信息,可以包括程序代码的版本号、算法名称和编码语言等信息,例如python、C/C++和Java等。
具体的,可以在获取到处理请求时,根据处理请求的内容确定需要的程序代码的版本号、算法名称和编程语言等信息,示例性的,可以预设一个默认配置表,默认配置表中包括处理请求和对应的版本信息,可以根据处理请求默认配置表征查找到对应的版本信息,将查找到的版本信息作为第一版本信息,还可以在处理请求内部封装有初始的版本信息,通过解析处理请求直接获取到版本信息,将获取到的版本信息作为第一版本信息。
步骤102、启动至少一个第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求。
其中,第一子进程可以是用于运行第一版本信息对应程序代码的子进程,不同第一子进程的内存可以相互独立,各第一子进程运行的程序代码互不影响。
具体的,可以由接收处理请求的进程创建多个子进程,并控制第一子进程根据第一版本信息获取程序代码并处理接收的处理请求。
步骤103、监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息。
其中,处理异常可以是指第一子进程在处理处理请求时发生的异常,可以包括进程崩溃、数据处理错误和产生异常信息等,第二子进程可以是用于接替出现处理异常的第一子进程继续处理处理请求的子进程,第二版本信息可以是与第一版本信息具有相同处理能力的代码程序对应的版本号、算法名称和编码语言等信息,第二版本信息可以与第一版本信息对应的处理请求相同,第二版本信息可以是第一版本信息对应程序代码的上一个稳定版本的信息。
具体的,可以在检测到第一子进程发生进程崩溃、数据处理错误和产生异常信息等处理异常时,可以关闭出现处理异常的第一子进程,启动第二子进程,并根据处理请求获取第二版本信息。
示例性的,可以由主进程使用IPC(inter-process communication,进程间通信)嵌套字创建与第一子进程的通信链接,当主进程监测不到第一子进程的通信链接时,对应的第一子进程处理异常,主进程可以关闭出现异常的第一子进程,并由主进程启动第二子进程,并建立通信链接,主进程还可以根据处理请求在包含处理请求和版本信息对应关系的算法版本管理表中查找对应处理请求的版本信息,将查找到的版本信息作为第二版本信息。
步骤104、控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果。
具体的,可以控制第二子进程根据第二版本信息获取对应的程序代码,并根据程序代码处理处理请求,可以将启动的第二子进程记为第一子进程,相应的可以将第二版本信息作为第一版本信息,例如可以在算法版本管理表中的第二版本信息进行标记作为第一版本信息,返回继续监测第一子进程,直到获取到所述处理请求的处理结果。
本发明实施例的技术方案,通过在获取处理请求时,确定处理请求对应的第一版本信息,启动多个第一子进程,各第一子进程基于第一版本信息处理处理请求,监测到处理异常的第一子进程时,关闭异常第一子进程,启动第二子进程,并确定第二版本信息,由第二子进程根据第二版本信息处理处理请求,将第二子进程和第二版本信息记为新的第一子进程和第一版本信息,返回继续监测处理异常,直到获取到处理请求的处理结果,无需系统重启操作即可异常处理,保证系统稳定运行,提高了系统的鲁棒性。
实施例二
图2是本发明实施例二提供的一种异常处理方法的流程图。本实施例是在上述实施例的基础上提供的一种可选方案,参见图2,本实施例提供的异常处理方法包括:
步骤201、获取预设的版本信息管理表。
其中,版本信息管理表可以是管理存储版本信息和处理请求的信息表,版本信息管理表中,一个处理请求可以对应一个或多个版本信息,例如,排序请求可以同时对应冒泡排序算法、快速排序算法和堆排序算法的版本信息。
具体的,可以获取预设的管理存储有版本信息和处理请求的信息表。
步骤202、根据处理请求在预设的版本信息管理表中获取对应的第一版本信息。
具体的,可以根据处理请求在版本信息表中查找对应的版本信息,将查找到的版本信息作为第一版本信息。
步骤203、标记第一版本信息为已使用版本信息。
其中,已使用版本信息可以是第一子进程已经使用的版本信息。
具体的,可以在版本信息管理表中对第一版本信息进行标记,可以用与表示该版本信息已经被子进程使用,可选的,还可以将第一版本信息写入已使用版本信息表,并将对应的第一子进程号关联存储,可以将写入已使用版本信息表中的第一版本信息作为已使用版本信息。
步骤204、启动至少一个第一子进程,根据所述第一版本信息将对应的程序代码导入各所述第一子进程的内存。
其中,程序代码可以是对应第一版本信息标识的程序代码,可以用于执行处理请求,内存可以是第一子进程中用于存储执行处理请求数据的存储区域,各第一子进程的内存可以相互独立,互不影响。
具体的,可以启动多个第一子进程,可以根据第一版本信息获取存储的程序代码,将程序代码导入到各第一子进程的内存中。
步骤205、各所述第一子进程根据所述内存中的程序代码执行所述处理请求。
具体的,可以控制第一子进程根据各自内存中的程序代码执行处理请求,直到生成对应处理请求的处理结果。
步骤206、当对所述第一子进程的处理信息获取失败和/或监测到所述第一子进程对所述处理请求的处理错误时,确定所述第一子进程异常,记为异常第一子进程。
其中,处理信息可以是各子进程在处理请求执行过程中反馈的信息,可以通过Unix domain socket技术或管道通信技术实现,处理错误可以是第一子进程在执行处理请求过程中获取到异常信息和/或获取到错误处理结果等处理错误。
具体的,如果获取第一子进程的处理信息失败,可以确定第一子进程异常,记为异常第一子进程,例如,与第一子进程的Unix domain嵌套字通信链接断开,可以认为对应的第一子进程异常,如果第一子进程处理请求的执行过程中产生了异常信息或者处理结果不正确,也可以确定第一子进程异常,记为异常第一子进程,可选的,第一子进程发生异常可以同时发生,可以既获取处理信息失败又发生处理错误。
步骤207、获取各所述异常第一子进程的进程编号。
其中,进程编号可以第一子进程的唯一标识号,可以用于区分不同的子进程。
具体的,可以使用进程通信获取异常第一进程的进程编号,还可以根据管理子进程的信息表获取异常第一子进程的进程编号。
步骤208、根据各所述进程编号,关闭对应的异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息。
具体的,可以各异常第一进程的进程编号,关闭对应的异常第一子进程,示例性的,如果异常第一子进程获取处理信息失败,可以认为异常第一子进程出现异常自动关闭,如果异常第一子进程对处理请求的处理错误,那么可以使用退出函数关闭异常第一子进程,可以启动与异常第一子进程数量相同的第二子进程,并确定处理请求对应的第二版本信息。
步骤209、控制各所述第二子进程基于所述第二版本信息处理所处处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果。
本发明实施例,通过获取预设的版本信息表获取处理请求对应的第一版本信息,并将第一版本信息标记为已使用版本信息,启动多个第一子进程,并根据第二版本信息将对应的程序代码导入各第一子进程的内存中,控制第一子进程根据程序代码执行处理请求,当获取第一子进程的处理信息失败或者处理处理请求发生错误时,确定异常第一子进程,获取异常第一子进程编号并关闭对应异常第一子进程,启动与异常第一子进程相同数目的第二子进程,并获取对应处理请求的第二版本信息,控制第二子进程根据第二版本信息处理处理请求,将第二子进程和第二版本信息记为新的第一子进程和第一版本信息,返回继续监测处理异常,直到获取到处理请求的处理结果,使得系统无需停机处理异常问题,提高异常的处理请求,各第一子进程独立运行提高了系统的鲁棒性,避免由于版本更新导致系统稳定性下降。
进一步的,为提高处理速度,启动至少一个第一子进程可以包括:
获取当前运行的处理芯片数目;启动与所述处理芯片数目相同的第一子进程。
其中,处理芯片可以是运行异常处理方法的设备中的中央处理器,可以用于运行第一子进程。
具体的,可以获取当前正在运行的中央处理器的数量,并启动对应中央处理器数目对应的数量的第一子进程,使得第一子进程和中央处理器一一对应,提高中央处理器执行处理请求的速度。可选的,为进一步提供处理速度,各子进程内可仅运行一个线程,用于执行处理请求。
进一步的,确定处理请求对应的第二版本信息,可以包括:
根据所述处理请求获取所述版本信息管理表中未被标记为已使用版本信息的目标版本信息;将所述目标版本信息作为对应所述处理请求的第二版本信息,并标记所述第二版本信息为已使用版本信息。
其中,目标版本信息可以是版本信息管理表中未被标记未已使用版本信息的版本信息,可以与处理请求管理存储。
具体的,可以根据处理请求在版本信息管理表中获取对应的版本信息,可以去除其中被标记为已使用版本信息的版本信息,可以在剩余的版本信息中选择更新时间最近的版本信息或者最稳定的版本信息作为目标版本信息,可以将目标版本信息作为对应处理请求的第二版本信息,在确定第二版本信息后,可以在版本信息管理表中将第二版本信息标记为已使用版本信息。
示例性的,参见图3,通过父进程运行本发明实施例的异常处理方法为例,接收到Http服务处理请求时,父进程可以控制启动对应中央处理器数量的第一子进程,根据处理请求确定程序代码默认的第一版本信息,根据第一版本信息获取存储的程序代码,父进程可以将程序代码导入到各第一子进程的内存中,由第一子进程运行程序代码处理Http服务处理请求,当第一子进程崩溃时或者第一子进程处理结果错误时,父进程可以根据第一子进程的进程编号获取对应的第二版本信息,第二版本信息可以是第一版本信息对应程序代码上一个稳定版本程序代码的信息,父进程可以控制启动第二子进程并基于第二版本信息处理Http服务处理请求,通过父进程对外提供Http服务,对内管理第一子进程,第一子进程用于运行程序代码,其中程序代码可以包括Python、Java和C/C++等程序语言实现的程序代码。
实施例三
图4是本发明实施例三提供的一种异常处理装置的结构示意图,本发明实施例所提供的异常处理装置可执行本发明任意实施例所提供的异常处理方法,具备执行方法相应的功能模块和有益效果。参见图4,本实施例提供的异常处理装置包括:处理请求获取模块310、进程启动模块320、异常检测模块330和第二进程处理模块340。
其中,处理请求获取模块310,用于获取到处理请求时,确定所述处理请求对应的第一版本信息。
进程启动模块320,用于启动至少一个第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求。
异常监测模块330,用于监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息。
第二进程处理模块340,用于控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果。
本发明实施例通过处理请求获取模块获取到处理请求,确定处理请求对应的第一版本信息,进程启动模块启动至少一个第一子进程,并控制第一子进程根据第一版本信息处理该处理请求,异常检测模块当检测到处理异常的第一子进程时,关闭异常第一子进程,启动与第一子进程数量相同的第二子进程,并确定对应处理请求的第二版本信息,第二进程处理模块控制第二子进程根据第二版本信息处理所述处理请求,并将第二子进程记为新的第一子进程,返回执行异常检测操作,直到该处理请求处理完毕;出现异常时系统无需停止处理请求的处理,可提高异常处理效率,增强系统的稳定性。
进一步的,处理请求获取模块310,包括:
预处理单元,用于获取预设的版本信息管理表。
版本信息获取单元,用于根据所述处理请求在预设的版本信息管理表中获取对应的第一版本信息。
标记单元,用于标记所述第一版本信息为已使用版本信息。
进一步的,进程启动模块320,包括:
代码导入单元,用于根据所述第一版本信息将对应的程序代码导入各所述第一子进程的内存。
处理请求执行单元,用于各所述第一子进程根据所述内存中的程序代码执行所述处理请求。
进一步的,进程启动模块320,还包括:
参数获取单元,用于获取当前运行的处理芯片数目。
进程启动单元,用于启动与所述处理芯片数目相同的第一子进程。
进一步的,异常检测模块330,包括:
异常检测单元,用于当对所述第一子进程的处理信息获取失败和/或监测到所述第一子进程对所述处理请求的处理错误时,确定所述第一子进程异常,记为异常第一子进程。
编号获取单元,用于获取各所述异常第一子进程的进程编号。
进程关闭单元,用于根据各所述进程编号,关闭对应的异常第一子进程。
进一步的,异常检测模块330,还包括:
目标获取单元,用于根据所述处理请求获取所述版本信息管理表中未被标记为已使用版本信息的目标版本信息。
第二版本确定单元,用于将所述目标版本信息作为对应所述处理请求的第二版本信息,并标记所述第二版本信息为已使用版本信息。
实施例四
图5为本发明实施例四提供的一种服务器的结构示意图,如图5所示,该服务器包括处理器70、存储器71、输入装置72和输出装置73;服务器中处理器70的数量可以是一个或多个,图5中以一个处理器70为例;服务器中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的异常处理方法对应的程序模块(例如,异常处理装置中的处理请求获取模块310、进程启动模块320、异常检测模块330和第二进程处理模块340)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的异常处理方法。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种异常处理方法,该方法包括:
获取到处理请求时,确定所述处理请求对应的第一版本信息;
启动至少一个第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求;
监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息;
控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的异常处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述异常处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种异常处理方法,其特征在于,包括:
获取到处理请求时,确定所述处理请求对应的第一版本信息;
获取当前运行的处理芯片数目,启动与所述处理芯片数目相同的第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求;
监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息;
控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果;
其中,所述获取到处理请求时,确定所述处理请求对应的第一版本信息,包括:
获取预设的版本信息管理表;根据所述处理请求在预设的版本信息管理表中获取对应的第一版本信息;标记所述第一版本信息为已使用版本信息。
2.根据权利要求1所述的方法,其特征在于,所述控制各所述第一子进程基于所述第一版本信息处理所述处理请求,包括:
根据所述第一版本信息将对应的程序代码导入各所述第一子进程的内存;
各所述第一子进程根据所述内存中的程序代码执行所述处理请求。
3.根据权利要求1所述的方法,其特征在于,所述监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,包括:
当对所述第一子进程的处理信息获取失败和/或监测到所述第一子进程对所述处理请求的处理错误时,确定所述第一子进程异常,记为异常第一子进程;
获取各所述异常第一子进程的进程编号;
根据各所述进程编号,关闭对应的异常第一子进程。
4.根据权利要求1所述的方法,其特征在于,所述确定所述处理请求对应的第二版本信息,包括:
根据所述处理请求获取所述版本信息管理表中未被标记为已使用版本信息的目标版本信息;
将所述目标版本信息作为对应所述处理请求的第二版本信息,并标记所述第二版本信息为已使用版本信息。
5.一种异常处理装置,其特征在于,包括:
处理请求获取模块,用于获取到处理请求时,确定所述处理请求对应的第一版本信息;
进程启动模块,用于获取当前运行的处理芯片数目,启动与所述处理芯片数目相同的第一子进程,并控制各所述第一子进程基于所述第一版本信息处理所述处理请求;
异常监测模块,用于监测到存在至少一个处理异常的第一子进程时,关闭各异常第一子进程,启动与异常第一子进程数量相同的第二子进程,并确定所述处理请求对应的第二版本信息;
第二进程处理模块,用于控制各所述第二子进程基于所述第二版本信息处理所述处理请求,将各所述第二子进程记为新的第一子进程,所述第二版本信息记为新的第一版本信息,返回执行异常监测操作,直至获得所述处理请求的处理结果;
处理请求获取模块,包括:
预处理单元,用于获取预设的版本信息管理表;
版本信息获取单元,用于根据所述处理请求在预设的版本信息管理表中获取对应的第一版本信息;
标记单元,用于标记所述第一版本信息为已使用版本信息。
6.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的异常处理方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的异常处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910183923.8A CN109933465B (zh) | 2019-03-12 | 2019-03-12 | 异常处理方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910183923.8A CN109933465B (zh) | 2019-03-12 | 2019-03-12 | 异常处理方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933465A CN109933465A (zh) | 2019-06-25 |
CN109933465B true CN109933465B (zh) | 2021-12-10 |
Family
ID=66987004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910183923.8A Active CN109933465B (zh) | 2019-03-12 | 2019-03-12 | 异常处理方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933465B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346906A (zh) * | 2019-08-08 | 2021-02-09 | 丰鸟航空科技有限公司 | 无人机守护进程处理方法、装置、设备、及存储介质 |
CN112905331A (zh) * | 2019-11-19 | 2021-06-04 | 上海商汤智能科技有限公司 | 任务处理系统、方法及装置、电子设备和存储介质 |
CN113568719B (zh) * | 2020-04-29 | 2024-04-19 | 北京猎户星空科技有限公司 | 一种业务故障处理方法、装置、电子设备及存储介质 |
CN112948158A (zh) * | 2021-02-19 | 2021-06-11 | 山东英信计算机技术有限公司 | 一种文件共享方法、装置、设备及计算机可读存储介质 |
CN114237766A (zh) * | 2021-12-28 | 2022-03-25 | 南京合智电力科技有限公司 | 一种进程动态重启的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681891A (zh) * | 2012-05-04 | 2012-09-19 | 奇智软件(北京)有限公司 | 一种浏览器输入控件的进程控制方法和装置 |
CN103530199A (zh) * | 2012-07-02 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种修复软件运行错误的方法、装置及系统 |
CN104040495A (zh) * | 2012-01-15 | 2014-09-10 | 微软公司 | 用于可并行、可靠的安装的安装引擎和包格式 |
CN105653328A (zh) * | 2015-12-29 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 大内存服务的多版本程序的并存方法和装置 |
CN109218044A (zh) * | 2017-06-30 | 2019-01-15 | 贵州白山云科技股份有限公司 | 一种故障处理方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7047448B2 (en) * | 2002-11-21 | 2006-05-16 | Bitfone Corporation | Software self-repair toolkit for electronic devices |
CN102663274B (zh) * | 2012-02-07 | 2015-12-02 | 北京奇虎科技有限公司 | 一种检测远程入侵计算机行为的方法及系统 |
US10055209B2 (en) * | 2015-01-12 | 2018-08-21 | Red Hat, Inc. | Resource closing |
CN107135519A (zh) * | 2017-06-15 | 2017-09-05 | 广东欧珀移动通信有限公司 | 异常处理功能的检测方法及装置 |
CN107783857A (zh) * | 2017-10-31 | 2018-03-09 | 珠海市魅族科技有限公司 | 一种异常修复方法及装置、计算机装置、可读存储介质 |
CN108322345B (zh) * | 2018-02-07 | 2020-08-21 | 平安科技(深圳)有限公司 | 一种故障修复数据包的发布方法及服务器 |
-
2019
- 2019-03-12 CN CN201910183923.8A patent/CN109933465B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040495A (zh) * | 2012-01-15 | 2014-09-10 | 微软公司 | 用于可并行、可靠的安装的安装引擎和包格式 |
CN102681891A (zh) * | 2012-05-04 | 2012-09-19 | 奇智软件(北京)有限公司 | 一种浏览器输入控件的进程控制方法和装置 |
CN103530199A (zh) * | 2012-07-02 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种修复软件运行错误的方法、装置及系统 |
CN105653328A (zh) * | 2015-12-29 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 大内存服务的多版本程序的并存方法和装置 |
CN109218044A (zh) * | 2017-06-30 | 2019-01-15 | 贵州白山云科技股份有限公司 | 一种故障处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109933465A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933465B (zh) | 异常处理方法、装置、服务器和存储介质 | |
CN109240886B (zh) | 异常处理方法、装置、计算机设备以及存储介质 | |
CN108196878B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN110086658B (zh) | 接口切换方法、装置及计算机可读存储介质 | |
CN109669844B (zh) | 设备故障处理方法、装置、设备和存储介质 | |
US20150331733A1 (en) | Tag based selection of test scripts for failure analysis | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
CN107357731A (zh) | 进程产生core dump问题的监控、分析和处理方法 | |
CN109086094B (zh) | 应用服务自启动的方法、系统、装置及存储介质 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN111444208A (zh) | 一种数据更新方法及相关设备 | |
CN108595292B (zh) | 一种系统的优化方法、移动终端及计算机存储介质 | |
CN111694724A (zh) | 分布式表格系统的测试方法、装置、电子设备及存储介质 | |
CN114237991A (zh) | 基于冷备模式的主备服务切换方法、装置、设备及介质 | |
CN109560964B (zh) | 一种设备合规检查方法及装置 | |
CN114116253A (zh) | 一种消息队列的消息处理方法及系统 | |
CN110673710B (zh) | 一种服务器机箱复位方法、装置、设备、介质 | |
CN113127029A (zh) | 固件更新方法、装置、电子设备及存储介质 | |
CN112818204A (zh) | 一种业务的处理方法、装置、设备及存储介质 | |
CN112988441A (zh) | 异常处理方法和装置 | |
CN114625594A (zh) | 配置文件生成方法、日志采集方法、装置、设备和介质 | |
CN113037521A (zh) | 识别通讯设备状态的方法、通讯系统及存储介质 | |
JP2009217617A (ja) | メモリリーク箇所の特定方法及び装置 | |
CN110989408A (zh) | 一种设备控制方法、装置、设备及可读存储介质 | |
CN113312592B (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 |