发明内容
基于此,有必要针对数据处理的故障检测不准确问题,提供一种数据处理的故障检测方法,能提高检测的准确性。
此外,还有必要针对数据处理的故障检测不准确问题,提供一种数据处理的故障检测系统,能提高检测的准确性。
一种数据处理的故障检测方法,包括:
对数据执行运算逻辑;
依次判断是否逻辑失败,是否系统错误,是否超过当前的时间阈值;
当满足逻辑失败、系统错误、超过当前时间阈值中任一项时,均发送告警信息,并重新对数据执行运算逻辑。
在其中一个实施例中,所述方法还包括步骤:
当运算逻辑成功、未出现系统错误且未超过当前的时间阈值时,更新时间阈值。
在其中一个实施例中,所述当运算逻辑成功、未出现系统错误且未超过当前的时间阈值时,更新时间阈值的步骤包括:
获取一次完整的逻辑处理过程所耗费的时间,所述逻辑处理过程包括判断是否逻辑失败,是否系统错误,是否超过当前的时间阈值;
根据所述耗费的时间及当前的时间阈值更新时间阈值。
在其中一个实施例中,所述根据所述耗费的时间及当前的时间阈值更新时间阈值的步骤包括:
根据所述耗费时间和当前的时间阈值分别对应的权值加权求和得到更新的时间阈值。
在其中一个实施例中,所述发送告警信息的步骤包括:
以短信方式或即时通讯方式发送告警信息。
一种数据处理的故障检测系统,包括:
执行模块,用于对数据执行运算逻辑;
判断模块,用于依次判断是否逻辑失败,是否系统错误,是否超过当前的时间阈值;
告警模块,用于当满足逻辑失败、系统错误、超过当前的时间阈值中任一项时,均发送告警信息,并重新由执行模块对数据执行运算逻辑。
在其中一个实施例中,所述系统还包括:
更新模块,用于当运算逻辑成功、未出现系统错误且未超过当前的时间阈值时,更新时间阈值。
在其中一个实施例中,所述更新模块还用于获取一次完整的逻辑处理过程所耗费的时间,所述逻辑处理过程包括判断是否逻辑失败,是否系统错误,是否超过当前的时间阈值,以及根据所述耗费的时间及当前的时间阈值更新时间阈值。
在其中一个实施例中,所述更新模块还用于根据所述耗费时间和当前的时间阈值分别对应的权值加权求和得到更新的时间阈值。
在其中一个实施例中,所述告警模块还用于以短信方式或即时通讯方式发送告警信息。
上述数据处理的故障检测方法和系统,通过逐步检测运算失败的可能情况,准确的区分逻辑失败、系统错误和超过时间阈值导致的失败情况,细化了运算失败的原因,提高了检测的准确性,且在失败后发送告警信息,起到了有效的警示作用,并在失败后进行重试,保证了数据处理的稳定。
具体实施方式
下面结合具体的实施例及附图对数据处理的故障检测方法和系统的技术方案进行详细的描述,以使其更加清楚。
如图1所示,为一个实施例中数据处理的故障检测方法的流程图。该数据处理的故障检测方法运行于终端上。该终端可为膝上便携式计算机、台式计算机、平板电脑、智能手机等。该数据处理的故障检测方法,包括:
步骤S102,对数据执行运算逻辑。
具体的,将大数据分成多个小块数据,开启子进程对每个小块数据执行运算逻辑。
步骤S104,判断是否逻辑失败,若是,执行步骤S120,若否,执行步骤S106。
具体的,判断是否逻辑失败是根据各个运算逻辑来确定的,根据不同的计算任务采用不同的运算逻辑,例如计算用户的状态、计算辅助工具的有效时限等。运算逻辑调用了函数,每个函数处理完数据后,必须有一个返回码表示处理的结果,如非0表示逻辑失败,0表示逻辑成功,即可判断返回码来确定是否逻辑失败。
步骤S106,进一步判断是否系统错误,若是,执行步骤S120,若否,执行步骤S108。
具体的,系统错误包括指针越界等,指针越界是指超过了指针变量的作用范围。出现系统错误时,会导致子进程结束,并且有对应的状态,查询该对应的状态可得到系统错误的原因。
步骤S108,进一步判断是否超过当前的时间阈值,若是,执行步骤S120,若否,执行步骤S110。
具体的,每一次对数据执行运算逻辑处理均设定了时间阈值,当前的时间阈值是指该次运算逻辑处理的时间阈值,当超过当前的时间阈值时,需重新执行运算逻辑。设置时间阈值是为了防止长时间无处理结果,降低了运算效率。
步骤S110,更新时间阈值。
具体的,当运算逻辑成功、未出现系统错误且未超过当前的时间阈值时,更新时间阈值。
如图2所示,为一个实施例中更新时间阈值的流程图。该更新时间阈值,包括:
步骤S202,获取一次完整的逻辑处理过程所耗费的时间,该逻辑处理过程包括判断是否逻辑失败,是否系统错误,是否超过当前的时间阈值。
具体的,该逻辑处理过程所耗费的时间是指完成一次完整的判断是否逻辑失败、是否系统错误、是否超过当前的时间阈值所耗费的时间。
步骤S204,根据该耗费的时间及当前的时间阈值更新当前时间阈值。
具体的,可采用加权法求取更新的时间阈值。根据该耗费时间和当前的时间阈值分别对应的权值加权求和得到更新的时间阈值。如耗费时间Th,对应的权值为a,当前的时间阈值T,对应的权值为b,更新的时间阈值T',则T'=Th*a+T*b,a与b之和为1。
在其他实施例中,可采用平均值法求取更新的时间阈值。如T'=(Th+T)/2。
在其他实施例中,也可采用前n次的时间阈值和耗费的时间加权求和的方式得到更新的时间阈值,如前n次的时间阈值分别为T1、T2、…、Tn,对应的权值分别为a1、a2、…、an,更新的时间阈值T'=T1*a1+T2*a2+,…,+Tn*an+Th*a,其中,a+a1+a2+…+an=1。
在其他实施例中,也可采用当前n次的时间阈值和耗费的时间平均值作为更新的时间阈值。
通过动态更新时间阈值,灵活性较好,不易引起反复处理某块数据,提高了数据处理的稳定性。
步骤S120,发送告警信息,并返回步骤S102。
具体的,当满足逻辑失败、系统错误、超过当前的时间阈值中任一项时,均发送告警信息,并重新对数据执行运算逻辑。可以以短信方式或即时通讯方式发送告警信息,即以短信方式发送给移动终端,或以即时通讯方式发送给即时通讯客户端,如微信客户端。该告警信息可为文本信息、图片信息、图文组合信息、语音信息或视频信息等。文本信息可为“处理错误”文字提醒等。图片信息可为悲伤表情或“X”图片符号等。图文组合信息可为悲伤表情加文字说明等。语音信息可为一段错误提示语音。视频信息可为一段表示错误的动画提醒等。
此外,逻辑失败、系统错误及超过时间阈值所发送的告警信息可相同,也可不同,根据需要选定。
上述数据处理的故障检测系统,通过逐步检测运算失败的可能情况,准确的区分逻辑失败、系统错误和超过时间阈值导致的失败情况,细化了运算失败的原因,提高了检测的准确性,且在失败后发送告警信息,起到了有效的警示作用,并在失败后进行重试,保证了数据处理的稳定。
如图3所示,为一个实施例中数据处理的故障检测系统的结构框图。该数据处理的故障检测系统运行于终端上。该数据处理的故障检测系统,包括执行模块320、判断模块340和告警模块360。其中:
执行模块320用于对数据执行运算逻辑。
具体的,将大数据分成多个小块数据,开启子进程对每个小块数据执行运算逻辑。
判断模块340用于依次判断是否逻辑失败,是否系统错误,是否超过当前的时间阈值。
具体的,判断是否逻辑失败是根据各个运算逻辑来确定的,根据不同的计算任务采用不同的运算逻辑,例如计算用户的状态、计算辅助工具的有效时限等。运算逻辑调用了函数,每个函数处理完数据后,必须有一个返回码表示处理的结果,如非0表示逻辑失败,0表示逻辑成功,即可判断返回码来确定是否逻辑失败。
系统错误包括指针越界等,指针越界是指超过了指针变量的作用范围。出现系统错误时,会导致子进程结束,并且有对应的状态,查询该对应的状态可得到系统错误的原因。
每一次对数据执行运算逻辑处理均设定了时间阈值,当前的时间阈值是指该次运算逻辑处理的时间阈值,当超过当前的时间阈值时,需重新执行运算逻辑。设置时间阈值是为了防止长时间无处理结果,降低了运算效率。
告警模块360用于当满足逻辑失败、系统错误、超过当前时间阈值中任一项时,均发送告警信息,并重新由执行模块320对数据执行运算逻辑。
具体的,当满足逻辑失败、系统错误、超过当前的时间阈值中任一项时,均发送告警信息,并重新对数据执行运算逻辑。告警模块360可以以短信方式或即时通讯方式发送告警信息,即以短信方式发送给移动终端,或以即时通讯方式发送给即时通讯客户端,如微信客户端。该告警信息可为文本信息、图片信息、图文组合信息、语音信息或视频信息等。文本信息可为“处理错误”文字提醒等。图片信息可为悲伤表情或“X”图片符号等。图文组合信息可为悲伤表情加文字说明等。语音信息可为一段错误提示语音。视频信息可为一段表示错误的动画提醒等。
此外,逻辑失败、系统错误及超过时间阈值所发送的告警信息可相同,也可不同,根据需要选定。
上述数据处理的故障检测系统,通过逐步检测运算失败的可能情况,准确的区分逻辑失败、系统错误和超过时间阈值导致的失败情况,细化了运算失败的原因,提高了检测的准确性,且在失败后发送告警信息,起到了有效的警示作用,并在失败后进行重试,保证了数据处理的稳定。
如图4所示,为一个实施例中数据处理的故障检测系统的结构框体。该数据处理的故障检测系统除了包括执行模块320、判断模块340和告警模块360,还包括更新模块380。其中:
更新模块380用于当运算逻辑成功、未出现系统错误且未超过当前的时间阈值时,更新时间阈值。
更新模块380还用于获取一次完整的逻辑处理过程所耗费的时间,该逻辑处理过程包括判断是否逻辑失败,是否系统错误,是否超过当前时间阈值,以及根据所述耗费的时间及当前的时间阈值更新时间阈值。
具体的,可采用加权法求取更新的时间阈值。更新模块380还用于根据该耗费时间和当前的时间阈值分别对应的权值加权求和得到更新的时间阈值。如耗费时间Th,对应的权值为a,当前的时间阈值T,对应的权值为b,更新的时间阈值T',则T'=Th*a+T*b,a与b之和为1。
在其他实施例中,更新模块380可采用平均值法求取更新的时间阈值。如T'=(Th+T)/2。
在其他实施例中,更新模块380也可采用前n次的时间阈值和耗费的时间加权求和的方式得到更新的时间阈值,如前n次的时间阈值分别为T1、T2、…、Tn,对应的权值分别为a1、a2、…、an,更新的时间阈值T'=T1*a1+T2*a2+,…,+Tn*an+Th*a,其中,a+a1+a2+…+an=1。
在其他实施例中,更新模块380也可采用当前n次的时间阈值和耗费的时间平均值作为更新的时间阈值。
通过动态更新时间阈值,灵活性较好,不易引起反复处理某块数据,提高了数据处理的稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。