CN106095606A - 一种服务器的软件故障处理方法和装置 - Google Patents

一种服务器的软件故障处理方法和装置 Download PDF

Info

Publication number
CN106095606A
CN106095606A CN201610407447.XA CN201610407447A CN106095606A CN 106095606 A CN106095606 A CN 106095606A CN 201610407447 A CN201610407447 A CN 201610407447A CN 106095606 A CN106095606 A CN 106095606A
Authority
CN
China
Prior art keywords
request
subprocess
client
saved
module
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.)
Granted
Application number
CN201610407447.XA
Other languages
English (en)
Other versions
CN106095606B (zh
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.)
Beijing three cloud computing Co.,Ltd.
Original Assignee
Beijing Sankuai Online Technology 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201610407447.XA priority Critical patent/CN106095606B/zh
Publication of CN106095606A publication Critical patent/CN106095606A/zh
Application granted granted Critical
Publication of CN106095606B publication Critical patent/CN106095606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供了一种服务器的软件故障处理方法和装置,所述方法包括:接收客户端连接;针对所述客户端连接,创建第一子进程;采用所述第一子进程,接收客户端的请求;当故障发生时,将所述请求保存至指定位置;执行保存在所述指定位置的请求,从而可以在保持对外服务连接不中断的前提下将程序恢复到绝对正确的状态;本方法对应用透明,具备完全的通用性,能够处理任何类型的故障,可以实现通用的故障恢复效果。

Description

一种服务器的软件故障处理方法和装置
技术领域
本申请涉及信息技术领域,特别是涉及一种服务器的软件故障处理方法和一种服务器的软件故障处理装置。
背景技术
传统的网络存储***采用集中的存储服务器存放所有数据,存储服务器成为***性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要,为了解决上述问题,分布式存储***便应运而生。
分布式存储***是将数据分散存储在多***立的设备上,利用多台存储服务器分担存储负荷,有效地提高了***的可靠性、可用性和存取效率。分布式存储***通过相应的网络服务器软件进行连接,采用一个进程对应一个连接的模式,客户对连接的稳定性非常敏感。因此,当网络服务器软件发生故障时,必须及时排除故障,尽快恢复***连接。
目前,已有技术中主要采用如下方案对网络服务器的软件故障进行处理:首先替换默认的异常信号处理函数,使得故障发生时程序不会崩溃,然后在异常信号处理函数中,使用longjmp()函数跳转到程序的非故障区域,即setjmp()处,或者使用throw语句抛出异常,以跳转到合适的catch语句处;最后根据故障的类型、原因,有针对性地进行处理。虽然上述方案可以避免程序在运行时崩溃,也能够将程序执行位置回退到故障出现之前的位置,但是由于需要根据故障的原因分类具体处理,使得处理过程十分繁冗,同时容易出现处理不周全的情况。此外,对于某些较严重的故障,也很难直接采用上述方案进行处理。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器的软件故障处理方法和相应的一种服务器的软件故障处理装置。
为了解决上述问题,本申请实施例公开了一种服务器的软件故障处理方法,包括:
接收客户端连接;
针对所述客户端连接,创建第一子进程;
采用所述第一子进程,接收客户端的请求;
当故障发生时,将所述请求保存至指定位置;
执行保存在所述指定位置的请求。
可选地,所述当故障发生时,将所述请求保存至指定位置的步骤包括:
当故障发生时,停止接收所述请求;
将所有未完成的请求序列化,获得序列化数据;
将所述序列化数据保存至指定位置。
可选地,所述执行保存在所述指定位置的请求的步骤包括:
创建第二子进程;
采用所述第二子进程,执行保存在所述指定位置的请求。
可选地,所述采用所述第二子进程,执行保存在所述指定位置的请求的步骤包括:
采用所述第二子进程,判断所述客户端连接是否处于故障恢复状态;
若是,则执行保存在所述指定位置的请求。
可选地,所述执行保存在所述指定位置的请求的步骤包括:
获取所述指定位置的序列化数据,以恢复所有未完成的请求;
执行所述所有未完成的请求。
可选地,所述方法还包括:
清除所述指定位置的序列化数据。
可选地,所述客户端连接具有默认的信号处理函数和替换函数,在所述采用所述第一子进程,接收客户端的请求的步骤后,还包括:
采用替换函数替换默认的信号处理函数。
为了解决上述问题,本申请实施例公开了一种服务器的软件故障处理装置,包括:
第一接收模块,用于接收客户端连接;
创建模块,用于针对所述客户端连接,创建第一子进程;
第二接收模块,用于采用所述第一子进程,接收客户端的请求;
保存模块,用于在故障发生时,将所述请求保存至指定位置;
执行模块,用于执行保存在所述指定位置的请求。
可选地,所述保存模块包括:
序列化子模块,用于在故障发生时,停止接收所述请求,并将所有未完成的请求序列化,获得序列化数据;
保存子模块,用于将所述序列化数据保存至指定位置。
可选地,所述执行模块包括:
第二创建子模块,用于创建第二子进程;
执行子模块,用于采用所述第二子进程,执行保存在所述指定位置的请求。
可选地,所述执行子模块包括:
判断单元,用于采用所述第二子进程,判断所述客户端连接是否处于故障恢复状态;
执行单元,用于在判断所述客户端连接处于故障恢复状态时,执行保存在所述指定位置的请求。
可选地,所述执行单元包括:
获取子单元,用于获取所述指定位置的序列化数据,以恢复所有未完成的请求;
执行子单元,用于执行所述所有未完成的请求。
可选地,所述执行模块还包括:
清除子模块,用于清除所述指定位置的序列化数据。
可选地,所述客户端连接具有默认的信号处理函数和替换函数,所述装置还包括:
替换模块,用于采用替换函数替换默认的信号处理函数。
与背景技术相比,本申请实施例包括以下优点:
在本申请实施例中,通过创建第一子进程,并由所述第一子进程来接收客户端的请求,当故障发生时,将所有未完成的请求保存至指定位置,然后通过执行保存在所述指定位置的请求来恢复故障前的状态,从而可以在保持对外服务连接不中断的前提下将程序恢复到绝对正确的状态;本方法对应用透明,具备完全的通用性,能够处理任何类型的故障,可以实现通用的故障恢复效果。
其次,在本申请实施例中,通过采用替换函数替换默认的信号处理函数,避免了程序在故障发生时的崩溃,使程序重归可控状态。
附图说明
图1是本申请的一种服务器的软件故障处理方法实施例一的步骤流程图;
图2是本申请的一种服务器的软件故障处理方法实施例二的步骤流程图;
图3A~3D是本申请的一种服务器的软件故障处理方法各阶段的***状态示意图;
图4是本申请的一种服务器的软件故障处理装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种服务器的软件故障处理方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101,接收客户端连接;
所述客户端连接是指客户端发起的针对网络服务器的连接。通常,一个进程可以对应一个客户端连接,也可以对应多个客户端连接。
在本申请实施例中,可以将进程构造成连接部分与执行部分,即“壳”与“核”两部分,其中,由连接部分即“壳”部分负责接收并保持客户端连接,以及监控执行部分即“核”部分的运行状态;“核”部分则负责所有实质性的服务工作。
步骤102,针对所述客户端连接,创建第一子进程;
当客户端连接达到后,可以针对所述客户端连接,创建第一子进程。在具体实现中,所述第一子进程可以由“壳”部分创建,并由第一子进程继承“壳”部分的客户端连接状态。
在本申请的一种优选实施例中,所述针对所述客户端连接,创建第一子进程的步骤具体可以包括如下子步骤:
子步骤1021,针对所述客户端连接,调用fork()函数创建第一子进程。
在具体实现中,“壳”部分可以调用fork()函数,以创建第一子进程。
通常,一个现有的进程可以通过调用fork()函数创建一个新进程,由fork()函数创建的新进程被称为子进程(child process),子进程与原来的进程几乎是完全相同的进程,可以执行相同的动作,做完全相同的事。因此,在第一子进程被创建后,可以由第一子进程继承“壳”部分工作,以保持与客户端的连接。
步骤103,采用所述第一子进程,接收客户端的请求;
在本申请实施例中,当第一子进程被创建后,还可以在所述第一子进程中执行“核”部分的工作,即由第一子进程接收客户端的请求,所述请求为读写请求。
步骤104,当故障发生时,将所述请求保存至指定位置;
通常,CPU(Central Processing Unit,中央处理器)能够发现程序在执行过程中的故障,例如,程序执行时,遇到segment fault、divided by 0等。
在本申请实施例中,当故障发生时,可以停止接收客户端的新的请求,并将所有未完成的请求保存至指定位置的临时文件夹中,并结束当前进程的运行。所述指定位置的临时文件夹可以是任意的临时文件,只要子进程能够获知其存储位置即可,本申请对此不作具体限定。
在本申请的一种优选实施例中,所述当故障发生时,将所述请求保存至指定位置的步骤具体可以包括如下子步骤:
子步骤1041,当故障发生时,停止接收所述请求;
子步骤1042,将所有未完成的请求序列化,获得序列化数据;
子步骤1043,将所述序列化数据保存至指定位置。
在具体实现中,当故障发生时,第一子进程可以暂停接收客户端的新的请求,并将所有未完成的请求序列化,从而得到所有未完成的请求的序列化数据,并将所述序列化数据保存至指定位置的临时文件夹中。
序列化(Serialization)是一种将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区;在此之后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
步骤105,执行保存在所述指定位置的请求。
在本申请实施例中,可以通过执行在指定位置的临时文件夹中保存的请求来恢复故障前的状态,重新执行未完成的请求,并继续接受新的请求。
在本申请的一种优选实施例中,所述执行保存在所述指定位置的请求的步骤具体可以包括如下子步骤:
子步骤1051,创建第二子进程;
子步骤1052,采用所述第二子进程,执行保存在所述指定位置的请求。
在具体实现中,当第一子进程由于故障的发生而被结束后,“壳”部分可以通过再次调用fork()函数的方式来创建第二子进程。根据fork()函数的特点可知,第二子进程与第一子进程具有相同的特性,因此,可以在该位置检测到存在第一子进程遗留的请求时,由第二子进程来执行在临时文件夹中保存的未完成的请求,从而恢复故障前的状态。
在本申请实施例中,所述方法还可以包括如下步骤:
步骤106,清除所述指定位置的序列化数据。
由于指定位置的临时文件夹用于保存因故障发生而保存的未完成的请求,因此,恢复至故障前状态后,可以将所述指定位置的序列化数据清除,以便后续故障发生时能够继续使用该临时文件夹。
在本申请实施例中,通过创建第一子进程,并由所述第一子进程来接收客户端的请求,当故障发生时,将所有未完成的请求保存至指定位置,然后通过执行保存在所述指定位置的请求来恢复故障前的状态,从而可以在保持对外服务连接不中断的前提下将程序恢复到绝对正确的状态;其次,本方法对应用透明,具备完全的通用性,能够处理任何类型的故障,可以实现通用的故障恢复效果。
参照图2,示出了本申请的一种服务器的软件故障处理方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤201,接收客户端连接;
所述客户端连接是指客户端发起的针对网络服务器的连接。
在本申请实施例中,可以将进程构造成连接部分与执行部分,即“壳”与“核”两部分,其中,由连接部分即“壳”部分负责接收并保持客户端连接,以及监控执行部分即“核”部分的运行状态;“核”部分则负责所有实质性的服务工作。通常,一个进程可以对应一个客户端连接,或者对应多个客户端连接。
如图3A~3D所示,是本申请的一种服务器的软件故障处理方法各阶段的***状态示意图。当在接收到客户端连接后,此时***处于正常运行中,***实时状态如图3A所示。
步骤202,针对所述客户端连接,创建第一子进程;
在本申请实施例中,当客户端连接达到后,可以针对所述客户端连接,创建第一子进程。
在具体实现中,所述第一子进程可以由“壳”部分通过调用fork()函数的方式来创建。
由于通过fork()函数创建的子进程与原来的进程几乎是完全相同的进程,可以执行相同的动作,因此,可以由所述第一子进程继承“壳”部分的客户端连接状态。
步骤203,采用所述第一子进程,接收客户端的请求;
在本申请实施例中,当第一子进程被创建后,还可以在所述第一子进程中执行“核”部分的工作,即由第一子进程接收客户端的请求,所述请求为读写请求。
步骤204,采用替换函数替换默认的信号处理函数;
在本申请实施例中,一个进程对应一个客户端连接或者多个客户端连接,所述进程具有默认的信号处理函数和替换函数。
通常,程序在故障发生时会出现崩溃,而崩溃是默认的信号处理函数的行为,因此,采用替换函数替换默认的信号处理函数可以避免程序在故障发生时的崩溃,使程序重归可控状态。
在具体实现中,可以采用signal()函数来替换掉默认的信号处理函数。signal()函数是一种***调用函数,可以用于当某种特定的“软件中断”发生时调用特定的程序。
步骤205,当故障发生时,将所有未完成的请求序列化,获得序列化数据;
步骤206,将所述序列化数据保存至指定位置;
在本申请实施例中,当故障发生时,第一子进程可以暂停接收客户端的新的请求,并将所有未完成的请求序列化,从而得到所有未完成的请求的序列化数据,并将所述序列化数据保存至指定位置的临时文件夹中。此外,第一子进程还可以通过返回一个特殊的退出代码给父进程即“壳”部分的方式,告知“壳”部分本次异常退出是由于发生故障导致的。在故障发生时将所有未完成的请求保存至指定位置的临时文件夹,以及第一子进程在退出服务后,其***状态分别如图3B和3C所示。
步骤207,创建第二子进程;
在具体实现中,当第一子进程由于故障的发生而被结束后,“壳”部分可以通过再次调用fork()函数的方式来创建第二子进程。
步骤208,采用所述第二子进程,判断所述客户端连接是否处于故障恢复状态;
在具体实现中,可以通过第一子进程返回的特殊的退出代码获知第一子进程的退出是由于故障导致的,从而确认所述客户端连接处于故障恢复状态,可以继续执行步骤209,执行保存在所述指定位置的请求。
步骤209,执行保存在所述指定位置的请求;
在本申请实施例中,可以通过执行在指定位置的临时文件夹中保存的请求来恢复故障前的状态,重新执行未完成的请求,并继续接受新的请求。此时***状态如图3D所示。
在本申请的一种优选实施例中,所述执行保存在所述指定位置的请求的步骤具体可以包括如下子步骤:
子步骤2091,获取所述指定位置的序列化数据,以恢复所有未完成的请求;
子步骤2092,执行所述所有未完成的请求。
在具体实现中,可以首先获取到在指定位置的临时文件夹中保存的序列化数据,通过反序列化操作,恢复所有未完成的请求,然后由第二子进行继续执行所述所有未完成的请求。
步骤210,清除所述指定位置的序列化数据。
由于指定位置的临时文件夹用于保存因故障发生而保存的未完成的请求,因此,恢复至故障前状态后,可以将所述指定位置的序列化数据清除,以便后续故障发生时能够继续使用该临时文件夹。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种服务器的软件故障处理装置实施例的结构框图,具体可以包括如下模块:
第一接收模块401,用于接收客户端连接;
创建模块402,用于针对所述客户端连接,创建第一子进程;
第二接收模块403,用于采用所述第一子进程,接收客户端的请求;
保存模块404,用于在故障发生时,将所述请求保存至指定位置;
执行模块405,用于执行保存在所述指定位置的请求。
在本申请实施例中,所述保存模块404具体可以包括如下子模块:
序列化子模块4041,用于在故障发生时,停止接收所述请求,并将所有未完成的请求序列化,获得序列化数据;
保存子模块4042,用于将所述序列化数据保存至指定位置。
在本申请实施例中,所述执行模块405具体可以包括如下子模块:
第二创建子模块4051,用于创建第二子进程;
执行子模块4052,用于采用所述第二子进程,执行保存在所述指定位置的请求。
在本申请实施例中,所述执行子模块4052具体可以包括如下单元:
判断单元521,用于采用所述第二子进程,判断所述客户端连接是否处于故障恢复状态;
执行单元522,用于在判断所述客户端连接处于故障恢复状态时,执行保存在所述指定位置的请求。
在本申请实施例中,所述执行单元522具体可以包括如下子单元:
获取子单元5221,用于获取所述指定位置的序列化数据,以恢复所有未完成的请求;
执行子单元5222,用于执行所述所有未完成的请求。
在本申请实施例中,所述执行模块405还可以包括如下子模块:
清除子模块4053,用于清除所述指定位置的序列化数据。
在本申请实施例中,所述客户端连接还具有默认的信号处理函数和替换函数,所述装置还可以包括如下模块:
替换模块406,用于采用替换函数替换默认的信号处理函数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种服务器的软件故障处理方法和一种服务器的软件故障处理装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种服务器的软件故障处理方法,其特征在于,包括:
接收客户端连接;
针对所述客户端连接,创建第一子进程;
采用所述第一子进程,接收客户端的请求;
当故障发生时,将所述请求保存至指定位置;
执行保存在所述指定位置的请求。
2.根据权利要求1所述的方法,其特征在于,所述当故障发生时,将所述请求保存至指定位置的步骤包括:
当故障发生时,停止接收所述请求;
将所有未完成的请求序列化,获得序列化数据;
将所述序列化数据保存至指定位置。
3.根据权利要求2所述的方法,其特征在于,所述执行保存在所述指定位置的请求的步骤包括:
创建第二子进程;
采用所述第二子进程,执行保存在所述指定位置的请求。
4.根据权利要求3所述的方法,其特征在于,所述采用所述第二子进程,执行保存在所述指定位置的请求的步骤包括:
采用所述第二子进程,判断所述客户端连接是否处于故障恢复状态;
若是,则执行保存在所述指定位置的请求。
5.根据权利要求4所述的方法,其特征在于,所述执行保存在所述指定位置的请求的步骤包括:
获取所述指定位置的序列化数据,以恢复所有未完成的请求;
执行所述所有未完成的请求。
6.根据权利要求2或3或4或5所述的方法,其特征在于,还包括:
清除所述指定位置的序列化数据。
7.根据权利要求1-5任一所述的方法,其特征在于,所述客户端连接具有默认的信号处理函数和替换函数,在所述采用所述第一子进程,接收客户端的请求的步骤后,还包括:
采用替换函数替换默认的信号处理函数。
8.一种服务器的软件故障处理装置,其特征在于,包括:
第一接收模块,用于接收客户端连接;
创建模块,用于针对所述客户端连接,创建第一子进程;
第二接收模块,用于采用所述第一子进程,接收客户端的请求;
保存模块,用于在故障发生时,将所述请求保存至指定位置;
执行模块,用于执行保存在所述指定位置的请求。
9.根据权利要求8所述的装置,其特征在于,所述保存模块包括:
序列化子模块,用于在故障发生时,停止接收所述请求,并将所有未完成的请求序列化,获得序列化数据;
保存子模块,用于将所述序列化数据保存至指定位置。
10.根据权利要求9所述的装置,其特征在于,所述执行模块包括:
第二创建子模块,用于创建第二子进程;
执行子模块,用于采用所述第二子进程,执行保存在所述指定位置的请求。
11.根据权利要求10所述的装置,其特征在于,所述执行子模块包括:
判断单元,用于采用所述第二子进程,判断所述客户端连接是否处于故障恢复状态;
执行单元,用于在判断所述客户端连接处于故障恢复状态时,执行保存在所述指定位置的请求。
12.根据权利要求11所述的装置,其特征在于,所述执行单元包括:
获取子单元,用于获取所述指定位置的序列化数据,以恢复所有未完成的请求;
执行子单元,用于执行所述所有未完成的请求。
13.根据权利要求9或10或11或12所述的装置,其特征在于,所述执行模块还包括:
清除子模块,用于清除所述指定位置的序列化数据。
14.根据权利要求8-12任一所述的装置,其特征在于,所述客户端连接具有默认的信号处理函数和替换函数,所述装置还包括:
替换模块,用于采用替换函数替换默认的信号处理函数。
CN201610407447.XA 2016-06-12 2016-06-12 一种服务器的软件故障处理方法和装置 Active CN106095606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610407447.XA CN106095606B (zh) 2016-06-12 2016-06-12 一种服务器的软件故障处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610407447.XA CN106095606B (zh) 2016-06-12 2016-06-12 一种服务器的软件故障处理方法和装置

Publications (2)

Publication Number Publication Date
CN106095606A true CN106095606A (zh) 2016-11-09
CN106095606B CN106095606B (zh) 2019-07-23

Family

ID=57227805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610407447.XA Active CN106095606B (zh) 2016-06-12 2016-06-12 一种服务器的软件故障处理方法和装置

Country Status (1)

Country Link
CN (1) CN106095606B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673936A (zh) * 2019-09-18 2020-01-10 平安科技(深圳)有限公司 编排业务的断点续作方法、装置、存储介质及电子设备
CN110998535A (zh) * 2017-07-24 2020-04-10 优步技术公司 经由对应用操作请求的分析来恢复应用功能
CN116860508A (zh) * 2023-08-31 2023-10-10 深圳华锐分布式技术股份有限公司 分布式***软件缺陷连续自愈方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906593A (zh) * 2003-11-24 2007-01-31 Tsx公司 用于故障解决的***和方法
CN101305346A (zh) * 2004-05-21 2008-11-12 Bea***公司 用于具有过载保护的应用服务器的***和方法
US20120072776A1 (en) * 2010-09-17 2012-03-22 Oracle International Corporation Fault isolation using code paths
CN103064770A (zh) * 2013-01-08 2013-04-24 哈尔滨工程大学 双进程冗余瞬时故障容错方法
CN103636165A (zh) * 2011-06-30 2014-03-12 微软公司 透明故障转移
CN105303103A (zh) * 2015-10-14 2016-02-03 北京奇虎科技有限公司 保护移动终端中的服务进程的方法和移动终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906593A (zh) * 2003-11-24 2007-01-31 Tsx公司 用于故障解决的***和方法
CN101305346A (zh) * 2004-05-21 2008-11-12 Bea***公司 用于具有过载保护的应用服务器的***和方法
US20120072776A1 (en) * 2010-09-17 2012-03-22 Oracle International Corporation Fault isolation using code paths
CN103636165A (zh) * 2011-06-30 2014-03-12 微软公司 透明故障转移
CN103064770A (zh) * 2013-01-08 2013-04-24 哈尔滨工程大学 双进程冗余瞬时故障容错方法
CN105303103A (zh) * 2015-10-14 2016-02-03 北京奇虎科技有限公司 保护移动终端中的服务进程的方法和移动终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110998535A (zh) * 2017-07-24 2020-04-10 优步技术公司 经由对应用操作请求的分析来恢复应用功能
CN110998535B (zh) * 2017-07-24 2024-04-02 优步技术公司 经由对应用操作请求的分析来恢复应用功能
CN110673936A (zh) * 2019-09-18 2020-01-10 平安科技(深圳)有限公司 编排业务的断点续作方法、装置、存储介质及电子设备
CN116860508A (zh) * 2023-08-31 2023-10-10 深圳华锐分布式技术股份有限公司 分布式***软件缺陷连续自愈方法、装置、设备及介质
CN116860508B (zh) * 2023-08-31 2023-12-26 深圳华锐分布式技术股份有限公司 分布式***软件缺陷连续自愈方法、装置、设备及介质

Also Published As

Publication number Publication date
CN106095606B (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN110806923B (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
WO2018072708A1 (zh) 一种云平台业务的缩容方法、装置及云平台
EP3142011B9 (en) Anomaly recovery method for virtual machine in distributed environment
CN104778102A (zh) 一种主备切换方法及***
CN106095606A (zh) 一种服务器的软件故障处理方法和装置
CN104461747A (zh) 一种分布式任务调度***
CN103677870A (zh) ***升级方法及采用该方法升级的***
CN103823708B (zh) 虚拟机读写请求处理的方法和装置
CN106528409A (zh) 一种程序崩溃问题查找方法和装置
KR102488582B1 (ko) 애플리케이션 실행 상태 검증 방법 및 장치
CN103559124A (zh) 故障快速检测方法及装置
CN106170013A (zh) 一种基于Redis的Kafka消息唯一性方法
CN111078468A (zh) 微服务架构下的服务回滚方法及装置
CN104407947A (zh) 主备nas切换方法及装置
CN111130834A (zh) 一种网络弹性策略的处理方法及装置
CN108958980A (zh) 防止Activity生命周期异常的方法、电子装置及计算机可读存储介质
CN110569257B (zh) 数据处理方法、相应装置、设备及存储介质
CN110347659B (zh) 数据处理方法和装置、交易数据处理方法和装置
CN104679407A (zh) 界面响应方法及装置
CN107085532A (zh) 任务监听方法和装置
CN108306926B (zh) 一种车联网设备网关业务数据的推送方法和装置
CN111008095A (zh) 一种面向边缘云的状态快照生成和恢复方法
JP6622926B2 (ja) 分散型サービス処理の完全性をチェックする方法及び装置
CN108062224A (zh) 基于文件句柄的数据读写方法、装置及计算设备
CN108491250B (zh) 复杂***可靠性仿真的自适应智能体通信方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200624

Address after: 100102 3 / F / 01, 2-4 / F, building 6, yard 6, Wangjing East Road, Chaoyang District, Beijing

Patentee after: Beijing three cloud computing Co.,Ltd.

Address before: 2106-030, No.9, Beisihuan West Road, Haidian District, Beijing 100083

Patentee before: BEIJING SANKUAI ONLINE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right