多线程批量作业监控方法、装置、计算机设备及存储介质与流程

文档序号:33641395发布日期:2023-03-29 02:11阅读:36来源:国知局
多线程批量作业监控方法、装置、计算机设备及存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种多线程批量作业监控方法、装置、计算机设备及存储介质。


背景技术:

2.在日常大批量业务处理中,多线程批量处理是比较常见的业务处理方式,日益高速发展的业务对批量业务处理需要更高的管控能力,所以就需要有能够实时感知的批量处理的解决方案。
3.传统业务方案常见的方案就是在处理里在批量处理时实时记录到数据库,这种处理增加数据库交互,而且处理完数据留存意义不大,浪费资源。当多线程同时处理业务时,无法监控各线程的进度,因而无法在其中某线程发生异常时进行告警,导致多线程批量作业时的效率低下。因此,如何解决现有多线程批量作业时的效率低下成为了目前亟待解决的技术问题。


技术实现要素:

4.本技术提供了一种多线程批量作业监控方法、装置、计算机设备及存储介质,以解决多线程批量作业时的效率低下的技术问题。
5.第一方面,本技术提供了一种多线程批量作业监控方法,所述方法包括:
6.获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。
7.进一步地,当所述当前业务记录数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等之前,还包括:
8.当所述当前业务记录总数与所述当前业务处理数相等时,将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块;
9.进一步地,获取业务读取模块中各业务线程的当前业务记录总数,包括:
10.通过所述业务读取模块获取各所述业务线程的当前业务记录数;
11.将全体所述业务线程的当前业务记录数求和,得到所述当前业务记录总数;
12.进一步地,通过所述业务读取模块获取各所述业务线程的当前业务记录数之前,还包括:
13.通过所述业务获取模块以序列号的形式对各所述业务线程命名,其中,所述序列号为从0开始依次排列的整数;
14.进一步地,当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警之前,还包括:
15.当所述当前业务记录数与所述上一次业务处理数不相等时,则将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块;
16.进一步地,判断所述当前业务记录数与所述上一次业务处理数是否相等之前,还包括:
17.通过所述业务监控模块判断所述业务线程是否发生中断;
18.若检测所述业务线程发生中断,则通过所述业务监控模块进行告警;
19.若未检测到所述业务线程发生中断,则开始:判断所述当前业务记录数与所述上一次业务处理数是否相等;
20.进一步地,多线程批量作业的监控方法还包括:
21.当处理完成各所述业务线程的当前业务时,则通过所述业务监控模块将所述当前业务标注为已完成,并同步至所述业务读取模块。
22.第二方面,本技术还提供了一种多线程批量作业监控装置,所述装置包括:数据获取模块,用于获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;第一判断模块,用于通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;第二判断模块,用于当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;异常告警模块,用于当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。
23.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的多线程批量作业监控方法。
24.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的多线程批量作业监控方法。
25.本技术公开了一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
附图说明
26.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是本技术的实施例提供的一种多线程批量作业监控方法的第一实施例示意流程图;
28.图2是本技术的实施例提供的一种多线程批量作业监控方法的第二实施例示意流
程图;
29.图3是本技术的实施例提供的一种多线程批量作业监控方法的第三实施例示意流程图;
30.图4是本技术的实施例提供一种多线程批量作业监控装置的示意性框图;
31.图5是本技术的实施例提供的一种多线程批量作业监控计算机设备的结构示意性框图。
具体实施方式
32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
34.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
35.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
36.本技术的实施例提供了一种多线程批量作业监控方法、装置、计算机设备及存储介质。其中,该多线程批量作业监控方法可以应用于服务器中,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,即当前并未进行业务处理,从而通过业务监控模块触发报警。其中,该服务器可以为独立的服务器,也可以为服务器集群。
37.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
38.请参阅图1,图1是本技术的实施例提供的一种多线程批量作业监控方法的第一实施例示意流程图。该多线程批量作业监控方法可应用于服务器中,用于对通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警。
39.如图1所示,该多线程批量作业监控方法具体包括步骤s101至步骤s104。
40.s101、获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数。
41.s102、通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等。
42.s103、当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等。
43.s104、当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。
44.本实施例中,voliate关键字的作用:
45.1、内存可见性
46.基于缓存一致性协议,当用voliate关键字修饰的变量改动时,cpu(central processing unit,中央处理器)会通知其他线程,缓存已被修改,需要更新缓存。这样每个线程都能获到最新的变量值。
47.2、基于内存屏障的防止指令重排
48.用voliate修饰的变量,可以防止cpu指令重排序。底层的实现方式是基于4种内存屏障:读读、读写、写读、读读屏障。
49.计算机在执行多线程程序时,每条指令分别在各中执行,在各cpu执行指令的过程中,会涉及到数据的读取与写入。但是程序运行过程中的临时数据保存在物理内存中,这样就会导致一个现象:cpu的执行速度快,与cpu的执行速度比较起来,物理内存读取和写入的速度就慢得多。在任何时间对所有的数据操作都要通过和物理内存的交互来进行的前提下,会大大降低指令执行的速度。
50.多核cpu中,可能会存在一种情况:初始时,两个线程分别读取i的值存入各自所在的cpu的高速缓存当中,然后线程1进行加1操作,然后把i的最新值1写入到内存。此时线程2的高速缓存当中i的值还是0,进行加1操作之后,i的值为1,然后线程2把i的值写入内存。最终结果i的值是1,而不是2。
51.在计算机编程中,一个基本的概念就是同时对多个任务加以控制。许多程序设计问题都要求程序能够停下手头的工作,改为处理其他一些问题,再返回主进程。可以通过多种途径达到这个目的。最开始的时候,那些掌握机器低级语言的程序员编写一些“中断服务例程”,主进程的暂停是通过硬件级的中断实现的。尽管这是一种有用的方法,但编出的程序很难移植,由此造成了另一类的代价高昂问题。中断对那些实时性很强的任务来说是很有必要的。但对于其他许多问题,只要求将问题划分进入独立运行的程序片断中,使整个程序能更迅速地响应用户的请求。
52.最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器。程序在逻辑意义上被分割为数个线程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。根据前面的论述,大家可能感觉线程处理非常简单。但必须注意一个问题:共享资源。如果有多个线程同时运行,而且它们试图访问相同的资源,就会遇到一个问题。举个例子来说,两个线程不能将信息同时发送给一台打印机。为解决这个问题,对那些可共享的资源来说(比如打印机),它们在使用期间必须进入锁定状态。所以一个线程可将资源锁定,在完成了它的任务后,再释放这个锁,使其他线程可以接着使用同样的资源。
53.多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。
54.本实施例提供一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与
所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
55.如图1所示,在步骤s103之前,还包括:
56.当所述当前业务记录总数与所述当前业务处理数相等时,将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块。
57.本实施例中,voliate读写变量的过程:
58.写过程:当一个线程修改某个voliate变量的值的时候,jmm会把该线程对应的本地内存中的共享变量值刷新到主内存。
59.读过程:当一个线程读取某个voliate变量的值的时候,jmm会把该线程对应的本地内存置为无效,线程接下来将从主内存读取共享变量。
60.本实施例提供一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
61.请参阅图2,图2是本技术的实施例提供的一种多线程批量作业监控方法的第二实施例示意流程图。该多线程批量作业监控方法可应用于服务器中,用于对通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警。
62.基于上述图1所示实施例,其中步骤s101具体包括:
63.步骤s1011,通过所述业务读取模块获取各所述业务线程的当前业务记录数;
64.步骤s1012,将全体所述业务线程的当前业务记录数求和,得到所述当前业务记录总数。
65.本实施例中,设置voliate类型的业务处理记录条数集合:
66.volatile list《integer》currnumberlist=arrays.aslist(0,0,0,0,n);n的个数就是业务处理模块多线程的个数;
67.设置totalnumber=n批量处理的总记录数;
68.设置ynumber=0上次批量处理的记录数。
69.具体实施例中,实现多线程是采用一种并发执行机制。
70.并发执行机制原理:简单地说就是把一个处理器划分为若干个短的时间片,每个时间片依次轮流地执行处理各个应用程序,由于一个时间片很短,相对于一个应用程序来说,就好像是处理器在为自己单独服务一样,从而达到多个应用程序在同时进行的效果。
71.多线程就是把操作系统中的这种并发执行机制原理运用在一个程序中,把一个程
序划分为若干个子任务,多个子任务并发执行,每一个任务就是一个线程。
72.本实施例提供一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
73.请参阅图1,本实施例在所述步骤s101之前,还包括:
74.通过所述业务获取模块以序列号的形式对各所述业务线程命名,其中,所述序列号为从0开始依次排列的整数。
75.本实施例中,在多线程处理业务处理模块,设置多线程的线程名称为序列号,比如第一个就是第0,第二个就是1,以此类推在业务处理时,获取当期线程的序列号,代码如下:integer.parseint(thread.currentthread().getname())。
76.在同一线程中,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作;对一个变量的写操作先行发生于后面对这个变量的读操作。
77.线程的可见性是一个线程对共享变量的修改,对于另一个线程来说是否可以看到,线程中所有操作都限行发生于线程的中止检测。
78.本实施例提供一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
79.请参阅图3,图3是本技术的实施例提供的一种多线程批量作业监控方法的第三实施例示意流程图。该多线程批量作业监控方法可应用于服务器中,用于对通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警。
80.基于上述图1所示实施例,其中步骤s103之前,还包括:
81.步骤s1021,通过所述业务监控模块判断所述业务线程是否发生中断;
82.步骤s1022,若检测所述业务线程发生中断,则通过所述业务监控模块进行告警;
83.步骤s1023,若未检测到所述业务线程发生中断,则开始:判断所述当前业务记录数与所述上一次业务处理数是否相等。
84.本实施例中,多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯
片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(thread),利用它编程的概念就叫作“多线程处理。
85.由于多线程处理器中包含多个cpu,且每个cpu独立运行,这样一来就很难同时监控到全部线程的处理进度,并且当其中的线程出现异常时,也无法从系统中及时获取异常告警信息。
86.本实施例提供一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
87.基于上述全部实施例,本实施例中,具体还包括:
88.当处理完成各所述业务线程的当前业务时,则通过所述业务监控模块将所述当前业务标注为已完成,并同步至所述业务读取模块。
89.本实施例中,基于voliate的内存可见性,当其中的一个或多个线程中的业务发生改动时,及时反馈至其他线程,并通知其他线程接收缓存已修改的指令,这样一来,每个线程都能获取到整个系统中最新的变量值。voliate修饰的变量,还可以在系统中防止cpu指令的重排序。
90.请参阅图1,本实施例在所述步骤s104之前,还包括当所述当前业务记录数与所述上一次业务处理数不相等时,则将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块。
91.本实施例提供一种多线程批量作业的监控方法,所述方法获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。通过上述方式,通过获取前业务记录总数、当前业务处理数和上一次业务处理数,并进行比较,在当前业务记录数与上一次业务处理数相等时,通过业务监控模块触发报警,提高了多线程批量作业时的效率,解决了目前多线程批量作业时的效率低下的技术问题。
92.请参阅图4,图4是本技术的实施例提供一种多线程批量作业监控装置的示意性框图,该多线程批量作业监控装置用于执行前述的多线程批量作业监控方法。其中,该多线程批量作业监控装置可以配置于服务器。
93.如图4所示,该多线程批量作业监控装置400,包括:
94.数据获取模块10,用于获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;
95.第一判断模块20,用于通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;
96.第二判断模块30,用于当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;
97.异常告警模块40,用于当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。
98.进一步地,所述数据获取模块10具体包括:
99.当前业务记录数获取单元,用于通过所述业务读取模块获取各所述业务线程的当前业务记录数;
100.当前业务记录总数获取单元,用于将全体所述业务线程的当前业务记录数求和,得到所述当前业务记录总数。
101.进一步地,所述第一判断模块20具体包括:
102.线程命名单元,用于通过所述业务获取模块以序列号的形式对各所述业务线程命名,其中,所述序列号为从0开始依次排列的整数。
103.进一步地,所述第二判断模块30具体包括:
104.线程中断判断单元,用于通过所述业务监控模块判断所述业务线程是否发生中断;若未检测到所述业务线程发生中断,则开始:判断所述当前业务记录数与所述上一次业务处理数是否相等。
105.进一步地,所述异常告警模块40具体包括:
106.数据同步单元,用于当所述当前业务记录数与所述上一次业务处理数不相等时,则将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块;
107.业务标注单元,用于当处理完成各所述业务线程的当前业务时,则通过所述业务监控模块将所述当前业务标注为已完成,并同步至所述业务读取模块。
108.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
109.上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
110.请参阅图5,图5是本技术的实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
111.参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
112.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种多线程批量作业监控方法。
113.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
114.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种多线程批量作业监控方法。
115.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部
件,或者组合某些部件,或者具有不同的部件布置。
116.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
117.其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
118.获取业务读取模块中各业务线程的当前业务记录总数、当前业务处理数和上一次业务处理数;
119.通过业务监控模块判断所述当前业务记录总数与所述当前业务处理数是否相等;
120.当所述当前业务记录总数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等;
121.当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警。
122.在一个实施例中,所述当所述当前业务记录数与所述当前业务处理数不相等时,判断所述当前业务记录数与所述上一次业务处理数是否相等之前,用于实现:
123.当所述当前业务记录总数与所述当前业务处理数相等时,将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块;
124.在一个实施例中,所述获取业务读取模块中各业务线程的当前业务记录总数,用于实现:
125.通过所述业务读取模块获取各所述业务线程的当前业务记录数;
126.将全体所述业务线程的当前业务记录数求和,得到所述当前业务记录总数;
127.在一个实施例中,所述通过所述业务读取模块获取各所述业务线程的当前业务记录数之前,用于实现:
128.通过所述业务获取模块以序列号的形式对各所述业务线程命名,其中,所述序列号为从0开始依次排列的整数;
129.在一个实施例中,所述当所述当前业务记录数与所述上一次业务处理数相等时,触发监控告警之前,用于实现:
130.当所述当前业务记录数与所述上一次业务处理数不相等时,则将所述当前业务处理数更新至数据库,并将所述当前业务处理数同步至所述业务读取模块;
131.在一个实施例中,所述判断所述当前业务记录数与所述上一次业务处理数是否相等之前,用于实现:
132.通过所述业务监控模块判断所述业务线程是否发生中断;
133.若检测所述业务线程发生中断,则通过所述业务监控模块进行告警;
134.若未检测到所述业务线程发生中断,则开始:判断所述当前业务记录数与所述上一次业务处理数是否相等;
135.在一个实施例中,所述方法还用于实现:
136.当处理完成各所述业务线程的当前业务时,则通过所述业务监控模块将所述当前
业务标注为已完成,并同步至所述业务读取模块。
137.本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本技术实施例提供的任一项多线程批量作业监控方法。
138.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
139.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1