CN117215836A - 一种基于流式作业异常检测与自动重启的方法及系统 - Google Patents
一种基于流式作业异常检测与自动重启的方法及系统 Download PDFInfo
- Publication number
- CN117215836A CN117215836A CN202311245091.0A CN202311245091A CN117215836A CN 117215836 A CN117215836 A CN 117215836A CN 202311245091 A CN202311245091 A CN 202311245091A CN 117215836 A CN117215836 A CN 117215836A
- Authority
- CN
- China
- Prior art keywords
- job
- restarting
- abnormal
- empty
- acquiring
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 40
- 238000001514 detection method Methods 0.000 title claims description 14
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 abstract description 13
- 230000005856 abnormality Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Retry When Errors Occur (AREA)
Abstract
本发明涉及一种基于流式作业异常检测与自动重启的方法及系统,该方法包括:从配置文件获取第一集合;判断第一集合是否为空,当第一集合为空,扫描作业表,获取满足第一预设条件的作业,得到第二集合,遍历第二集合得到异常作业;当第一集合不为空,遍历集合,获取其中的作业名称和作业类型,依据上述作业名称和作业类型查询作业,找出符合第一预设条件的异常作业;调用重跑接口启动异常作业,更新重启次数;对连续三次启动失败的作业发送警告抛出异常。解决了针对实时计算平台的流式作业因环境不稳定问题导致作业无法正常运行的问题。本发明利用定时轮询技术保障处理的准确性和方案的可行性,低成本、高可靠地提升了作业的高可用性和连续性。
Description
技术领域
本发明涉及实时计算与流式数据处理技术领域,尤其涉及一种基于流式作业异常检测与自动重启的方法及系统。
背景技术
流式作业是一种特殊类型的分布式作业,它可以动态地获取待处理的数据并进行处理,而不需要事先知道所有的数据。流式作业在每次执行时会获取待处理的数据集合,并将这些数据进行处理。通过这种方式,流式作业能够实现边获取边处理数据的功能,适用于数据量较大或实时性要求较高的场景。
理想情况下,流式作业的处理不需要人工干预,往往都是正常运行。但在实际使用场景中,实时计算平台的作业会因环境或中间件不稳定导致任务执行出现异常,现有处理方法是异常后预警,退出当前任务,通过各种审批流程后,才能由人工拉起任务;因环境或中间件不稳定导致作业未正常运行时,如长时间未拉起任务,数据积压时间较长,关键业务影响较大,会导致交易延迟和客户体验差等问题。
在大数据实时计算平台作业中,当有流式作业(包括采集任务、实时任务、开发任务)因大数据集群或者kafka断连导致作业未正常运行的时候,解决方案往往是作业失败后,提供一种人为的重启策略,对此缺少一种安全高效的直接处理方法。
发明内容
针对实时计算平台的流式作业因环境或中间件不稳定问题导致作业无法正常运行的问题,提出了一种基于流式作业异常检测与自动重启的方法及系统。采用检测流式作业状态的方式避免了因为环境或者中间件不稳定导致的任务运行失败问题。
本发明涉及一种基于流式作业异常检测与自动重启的方法及系统,从配置文件获取第一集合;判断第一集合是否为空,当第一集合为空,扫描作业表,获取满足第一预设条件的作业,得到第二集合,遍历第二集合得到异常作业;当第一集合不为空,遍历集合,获取其中的作业名称和作业类型,依据上述作业名称和作业类型查询作业,找出符合第一预设条件的异常作业;调用重跑接口启动异常作业,更新重启次数;对连续三次启动失败的作业发送警告抛出异常。本发明解决了针对实时计算平台的流式作业因环境或中间件不稳定问题导致作业无法正常运行的问题,利用定时轮询技术保障处理的准确性和方案的可行性,低成本、高可靠地提升了作业的高可用性和连续性。
为实现以上目的,本发明所采用的技术方案包括:
一种基于流式作业异常检测与自动重启的方法,其特征在于,包括:
S1、启动程序,执行定时作业;
S2、获取配置文件,所述配置文件包括第一集合;
S3、判断第一集合是否为空,当第一集合为空,扫描作业表,获取满足第一预设条件的作业,得到第二集合,遍历第二集合得到异常作业;当第一集合不为空,遍历集合,获取其中的作业名称和作业类型,依据上述作业名称和作业类型查询作业,找出符合第一预设条件的异常作业;
S4、调用重跑接口启动异常作业,更新重启次数。
进一步地,所述定时作业的执行利用了定时轮询技术,每5分钟扫一次表,定时检测任务状态。
进一步地,所述第一集合为Map集合,包括键和值,用于存储作业名称和作业类型;
所述第一预设条件基于任务状态或者当前状态,判断作业是否异常;
所述第二集合为符合第一预设条件的list集合,用于存储异常作业。
进一步地,所述作业表,包括:采集作业表、同步作业表、开发作业表。
进一步地,所述步骤S3,还包括:
当第一集合为空且第二集合为空时,结束当前定时任务;
当第一集合不为空且根据键和值不能查询到作业,结束当前定时任务;
当第一集合不为空,根据键和值查询作业,所述作业不符合第一预设条件,结束当前定时任务。
进一步地,所述步骤S4,包括:
当启动成功,重启次数重置为0;
当启动失败,每次重启次数加1;
当启动异常,每次重启次数加1。
更进一步地,所述连续失败重启次数不少于3次,则向kafka发送告警报文,结束自动重启任务;
本发明还涉及一种基于流式作业异常检测与自动重启的系统,其特征在于,包括:
读取模块,用于获取集合,得到作业名称、作业类型;
检测模块,用于检测流式作业是否异常,即是否满足重启条件,判断是否需要执行下一步调用重启模块;
重启模块,用于当满足重启条件时调用重跑接口自动拉起作业;
计数模块,用于记录失败重启次数,当启动成功,重启次数重置为0,当启动失败,重启次数加1,如果短时间内连续3次重启失败则发送告警,由人工介入处理。
本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储作业名称类型和所述集合;
所述处理器,用于通过检测作业名称类型和所述集合,执行上述的方法。
本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
本发明的有益效果为:
本发明涉及一种基于流式作业异常检测与自动重启的方法及系统,从配置文件获取第一集合;判断第一集合是否为空,当第一集合为空,扫描作业表,获取满足第一预设条件的作业,得到第二集合,遍历第二集合得到异常作业;当第一集合不为空,遍历集合,获取其中的作业名称和作业类型,依据上述作业名称和作业类型查询作业,找出符合第一预设条件的异常作业;调用重跑接口启动异常作业,更新重启次数;对连续三次启动失败的作业发送警告抛出异常。本发明创新地提出了一种基于流式作业异常检测与自动重启的方法及系统,解决了针对实时计算平台的流式作业因环境不稳定问题导致作业无法正常运行的问题,基于作业的状态利用定时轮询技术保障处理的准确性和方案的可行性,低成本、高可靠地提升了作业的高可用性和连续性。
附图说明
图1为本发明一种基于流式作业异常检测与自动重启的方法流程示意图。
图2为本发明一种基于流式作业异常检测与自动重启的系统结构示意图。
具体实施方式
为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
本发明第一方面涉及一种步骤流程如图1所示的一种基于流式作业异常检测与自动重启的方法,包括:
S1、启动程序,执行定时作业。所述定时作业的执行利用了定时轮询技术,定时检测任务状态。在该具体执行中,每5分钟扫一次表,检测作业状态是否异常。如果作业状态符合条件,则主动拉起任务。其中,每5分钟扫一次表是根据当前业务需求所设,假设时间设定为秒级,定时任务每秒运行一次,相应地每秒就会扫一次表,资源消耗较为严重;假设时间设定为小时级,扫表时可能出现业务积压过多的情况,处理响应不及时。
S2、获取配置文件,所述配置文件包括第一集合。第一集合为Map集合,以键值形式存储数据,Map集合中的元素成对存在,每个元素由键和值两部分组成,限定地,Map中的集合不能包含重复的键,每个键只能对应一个值,因此可以通过键找到所对应的值。
第一集合在实际执行中,即runStartMap集合。Map<string,string>中第一个string是它的键,存储的类型为string,这里用于存储作业名称,第二个string是它对应的值,存储类型也是string,用于存储作业类型。
S3、判断第一集合是否为空,当第一集合为空,扫描作业表,包括采集作业表、同步作业表、开发作业表,获取满足第一预设条件的作业,得到第二集合,所述第二集合为符合第一预设条件的list集合,用于存储异常作业,遍历第二集合得到异常作业;当第一集合不为空,遍历集合,获取其中的作业名称和作业类型,依据上述作业名称和作业类型查询作业,找出符合第一预设条件的异常作业。
在实际执行中,所述第一预设条件基于任务状态或者当前状态,判断作业是否异常。当第一集合为空,且没有满足任务状态未在运行中或未在重启中,或当前状态为运行中条件的作业,则不存在异常作业,跳出当前定时任务;当第一集合不为空,但不能根据第一集合Map集合的键和值查询到作业,则跳出当前定时任务;当第一集合不为空,根据第一集合Map集合的键和值查询到作业,但是所述作业不符合第一预设条件,则不存在异常作业,结束当前定时任务。
S4、调用重跑接口启动异常作业,更新重启次数。具体地,包括:当启动成功,重启次数重置为0;当启动失败,每次重启次数加1;当启动异常,每次重启次数加1。当短时间内连续3次重启失败,则向kafka发送告警报文,结束自动重启任务。
启动失败或异常次数短时间内大于等于3次时触发告警,kafka发送消息到企业微信和邮箱,通知人工干预。作业自动重启2次返回告警信息如表1所示,第3次作业自动重启失败返回告警信息如表2所示:
表1
表2
本发明另一方面还涉及一种基于流式作业异常检测与自动重启的系统,其结构如图2所示,包括:
读取模块,用于获取集合,得到作业名称、作业类型;
检测模块,用于检测流式作业是否异常,即是否满足重启条件,判断是否需要执行下一步调用重启模块;
重启模块,用于当满足重启条件时调用重跑接口自动拉起作业;
计数模块,用于记录失败重启次数,当启动成功,重启次数重置为0,当启动失败,重启次数加1,如果短时间内连续3次重启失败则发送告警,由人工介入处理;
通过使用该系统,能够执行上述的异常检测和自动重启方法并实现对应的技术效果。
本发明的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。
本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如识别节点和目标调度文件等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为LCD显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (11)
1.一种基于流式作业异常检测与自动重启的方法,其特征在于,包括:
S1、启动程序,执行定时作业;
S2、获取配置文件,所述配置文件包括第一集合;
S3、判断第一集合是否为空,当第一集合为空,扫描作业表,获取满足第一预设条件的作业,得到第二集合,遍历第二集合得到异常作业;当第一集合不为空,遍历集合,获取其中的作业名称和作业类型,依据上述作业名称和作业类型查询作业,找出符合第一预设条件的异常作业;
S4、调用重跑接口启动异常作业,更新重启次数。
2.如权利要求1所述的方法,其特征在于,所述定时作业的执行利用了定时轮询技术,每5分钟扫一次表,定时检测任务状态。
3.如权利要求1所述的方法,其特征在于,所述第一集合为Map集合,包括键和值,用于存储作业名称和作业类型;
所述第一预设条件基于任务状态或者当前状态,判断作业是否异常;
所述第二集合为符合第一预设条件的list集合,用于存储异常作业。
4.如权利要求1所述的方法,其特征在于,所述作业表,包括:采集作业表、同步作业表、开发作业表。
5.如权利要求1所述的方法,其特征在于,所述步骤S3,还包括:
当第一集合为空且第二集合为空时,结束当前定时任务;
当第一集合不为空且根据键和值不能查询到作业,结束当前定时任务;
当第一集合不为空,根据键和值查询作业,所述作业不符合第一预设条件,结束当前定时任务。
6.如权利要求1所述的方法,其特征在于,所述步骤S4,包括:
当启动成功,重启次数重置为0;
当启动失败,每次重启次数加1;
当启动异常,每次重启次数加1。
7.如权利要求6所述,其特征在于,所述连续失败重启次数不少于3次,则向kafka发送告警报文,结束自动重启任务。
8.一种基于流式作业异常检测与自动重启的系统,其特征在于,包括:
读取模块,用于获取集合,得到作业名称、作业类型;
检测模块,用于检测流式作业是否异常,即是否满足重启条件,判断是否需要执行下一步调用重启模块;
重启模块,用于当满足重启条件时调用重跑接口自动拉起作业;
计数模块,用于记录失败重启次数,当启动成功,重启次数重置为0,当启动失败,重启次数加1,如果短时间内连续3次重启失败则发送告警,由人工介入处理。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储作业名称类型和所述集合;
所述处理器,用于通过检测作业名称类型和所述集合,执行权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245091.0A CN117215836A (zh) | 2023-09-25 | 2023-09-25 | 一种基于流式作业异常检测与自动重启的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245091.0A CN117215836A (zh) | 2023-09-25 | 2023-09-25 | 一种基于流式作业异常检测与自动重启的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117215836A true CN117215836A (zh) | 2023-12-12 |
Family
ID=89045981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311245091.0A Pending CN117215836A (zh) | 2023-09-25 | 2023-09-25 | 一种基于流式作业异常检测与自动重启的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215836A (zh) |
-
2023
- 2023-09-25 CN CN202311245091.0A patent/CN117215836A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990385B2 (en) | Systems and methods for managing computing systems utilizing augmented reality | |
CN108737132B (zh) | 一种告警信息处理方法及装置 | |
US8957917B2 (en) | Systems and methods for managing errors utilizing augmented reality | |
CN107315825B (zh) | 一种索引更新系统、方法及装置 | |
CN108683528B (zh) | 一种数据传输方法、中心服务器、服务器及数据传输系统 | |
US8756352B2 (en) | System for managing buffers of time-stamped events | |
CN112579356B (zh) | 一种故障处理方法及服务器 | |
CN101594376A (zh) | 向cimom注册cim提供器的方法和相应的装置 | |
CN103441861A (zh) | 一种数据记录生成方法及装置 | |
US11489746B2 (en) | Detection device, detection method, and detection program | |
US11930292B2 (en) | Device state monitoring method and apparatus | |
CN112069195A (zh) | 基于数据库的消息传输方法、装置、电子设备及存储介质 | |
CN109684130B (zh) | 一种机房间数据备份的方法及装置 | |
CN113190516A (zh) | 数据同步监控方法及装置 | |
WO2023125777A1 (zh) | 录像数据补录方法、云存储服务器、系统及存储介质 | |
CN104836878A (zh) | 在通话过程中输出提示的方法、装置及系统 | |
CN102325171B (zh) | 一种监控系统中数据的存储方法及其系统 | |
CN117215836A (zh) | 一种基于流式作业异常检测与自动重启的方法及系统 | |
US20120134534A1 (en) | Control computer and security monitoring method using the same | |
CN111615122B (zh) | 一种无人船编队的通讯方法、装置和终端 | |
US11714721B2 (en) | Machine learning systems for ETL data streams | |
CN115033927A (zh) | 一种检测数据完整性的方法、装置、设备及介质 | |
CN111897657A (zh) | 远程教学方法、调度设备、服务器及电子设备 | |
CN112449209A (zh) | 视频存储方法、装置、云服务器及计算机可读存储介质 | |
CN111935313B (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 |