监控业务的选取方法及装置、业务监控系统与流程

文档序号:12739701阅读:208来源:国知局
监控业务的选取方法及装置、业务监控系统与流程

本申请涉及计算机技术领域,尤其涉及一种监控业务的选取方法及装置,以及一种业务监控系统。



背景技术:

随着计算机的发展,越来越多的(互联网或本地)业务在可以在计算机中完成,比如用户可以通过计算机(或称终端,包括移动计算机,又称移动终端)和互联网向业务服务器请求业务,又如可以在终端本地进行数据更新等业务。业务监控作为一种监控业务结果的手段,已经被广泛应用在业务上。

现有的业务监控方法,主要采用定时执行的方式,会设定监控周期,如图1所示,设备会在监控周期内随机选取监控业务并执行监控操作,但是实际业务中,一些监控业务需要被重复多次监控(实时在线类业务),而一些业务不需要,也就是不同的监控业务对于监控频率的要求是不同的,但现有技术的监控方式由于存在随机性,所以不能保证监控业务都能够按照监控要求被监控。



技术实现要素:

本申请实施例提供一种监控业务的选取方法,用于在一定程度上满足不同监控业务的监控要求。

本申请实施例提供一种监控业务的选取装置,用于在一定程度上满足不同监控业务的监控要求。

本申请实施例提供一种业务监控系统,用于在一定程度上满足不同监控业务的监控要求。

本申请实施例采用下述技术方案:

一种监控业务的选取方法,包括:

查询所有监控业务的优先级;

选取优先级最高的监控业务;

在对选取的监控业务执行监控操作后,对所述选取的监控业务的优先级进行更新。

优选地,选取优先级最高的监控业务,包括:

选取预设个数的优先级最高的监控业务。

优选地,根据空闲处理资源调整预设个数。

优选地,所述优先级为监控次数,则所述方法具体包括:

查询所有监控业务的监控次数;

选取监控次数最低的监控业务;

在对选取的监控业务执行监控操作后,对所述选取的监控业务的监控次数进行更新。

优选地,对所述选取的监控业务的优先级进行更新,包括:

将所述选取的监控业务的优先级降低至少一个级别。

优选地,对所述选取的监控业务的优先级进行更新,包括:

删除所述选取的监控业务的优先级。

一种监控业务的选取装置,包括:查询单元、选取单元、以及更新单元,其中,

所述查询单元,查询所有监控业务的优先级;

所述选取单元,选取优先级最高的监控业务;

所述更新单元,在对选取的监控业务执行监控操作后,对所述选取的监控业务的优先级进行更新。

优选地,所述选取单元,

选取预设个数的优先级最高的监控业务。

优选地,所述选取单元,

根据空闲处理资源调整预设个数。

优选地,所述优先级为监控次数,则

所述查询单元,查询所有监控业务的监控次数;

所述选取单元,选取监控次数最低的监控业务;

所述更新单元,在对选取的监控业务执行监控操作后,对所述选取的监控业务的监控次数进行更新。

优选地,所述更新单元,

将所述选取的监控业务的优先级降低至少一个级别。

优选地,所述更新单元,

删除所述选取的监控业务的优先级。

一种业务监控系统,监控业务列表以及监控执行器,其中,

所述监控业务列表,

对监控业务进行初始化优先级;

在对监控业务执行监控操作后,对所述选取的监控业务的优先级进行更新;

所述监控执行器,

查询所有监控业务的优先级;

选取优先级最高的监控业务,并执行监控操作。

优选地,监控执行器,

选取预定个数的优先级最高的监控业务。

优选地,监控执行器,

根据空闲处理资源调整预设个数。

优选地,所述优先级为监控次数,则所述监控业务列表,

在对选取的监控业务执行监控操作后,对所述选取的监控业务的监控次数进行更新;

所述监控执行器,

查询所有监控业务的监控次数;

选取监控次数最低的监控业务,并执行监控操作。

优选地,所述监控业务列表,

将所述选取的监控业务的优先级降低至少一个级别。

优选地,所述监控业务列表,

删除所述选取的监控业务的优先级。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:为监控业务设置优先级,当监控操作开始时,查询所有监控业务的优先级,并选取优先级最高的监控业务,在对选取的监控业务执行监控操作后,更新选取的监控业务的优先级。也就是根据设置(并更新)监控业务的优先级,达到有序的选取监控业务的效果,相比与现有技术随机性较强,无序的选取监控业务而言,本方案在一定程度上满足了不同监控业务的监控要求。比如在每次针对一个监控业务执行监控操作后边降低一个优先级的情况下,所有监控任务均有公平地被监控的机会。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为现有技术选取监控业务的示意图;

图2为本申请实施例1提供的监控业务的选取方法的流程示意图;

图3为本申请实施例1提供的监控业务的示意图;

图4为本申请实施例1提供的选取监控业务的示意图;

图5为本申请实施例1提供的更新监控业务优先级的示意图;

图6为本申请实施例2提供的监控业务的选取方法的流程示意图;

图7为本申请实施例2提供的选取预设个数监控业务的示意图;

图8为本申请实施例2提供的选取预设个数监控业务的示意图;

图9为本申请实施例3提供的监控业务的选取装置的结构图;

图10为本申请实施例4提供的业务监控系统的结构图;

图11为本申请实施例4提供的选取预设个数监控业务的示意图;

图12为本申请实施例4提供的更新监控业务监控次数的示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

实施例1

如前所述,现有技术采用定时执行的方式来监控业务,在一个监控周期内,会随机选取监控业务执行监控操作,比如如图1所示,这一次选取了“监控业务1”、“监控业务n-9”、“监控业务7”以及“监控业务n-1”,下一次就又不一定选取到哪些监控业务,也就是存在很大的随机性。但是实际业务中,如实时在线类业务(转账、支付等)需要被高频次(高频率、多次)监控;又如实时性要求不高的业务(结算)并不需要被高频词监控(每日监控一次或几次即可)。现有技术由于随机性很强,所以很可能出现不能保证按照监控要求进行监控业务的情况,比如“监控业务1”不需要高频次监控,但实际业务中监控频次很高,也就是处理资源做了“无用功”。基于此缺陷,本申请提供了一种监控业务的选取方法,用于在一定程度上满足不同监控业务的监控要求。该方法的流程示意图如图2所示,包括下述步骤:

步骤11:查询所有监控业务的优先级。

现有技术在选取监控业务时是随机的、没有目的,所以就没有办法满足不同监控业务的监控要求,在本申请实施例中,可以为监控业务添加优先级,具体地,在实际应用中,一定是先有监控业务的获取以及首次执行,如图3所示,在获取到监控业务,并首次执行时,可以将所有监控业务的优先级全部设置为最高级(以1级为最高级、序号越大级别越低为例),也就是对优先级进行初始化操作。当监控业务开始后,查询所有监控业务的优先级,图3中,“优先级1”即代表优先级是1级。

步骤12:选取优先级最高的监控业务。

当获取到所有监控业务的优先级后,可以认为优先级越高,需要执行监控操作的需求就越迫切,所以,本步骤就可以如图4所示,选取最高优先级对应的监控业务。如图4所示,选取同为“优先级1”的“监控业务1~5”。

步骤13:在对选取的监控业务执行监控操作后,对选取的监控业务的优先级进行更新。

在选取了监控业务后,就可以执行监控操作,具体比如通过对比业务请求(转账业务)与业务记录(交易记录),判断是否完成,或通过校验数据库特定表的标志位判断核对是否已完成,或其他监控业务等。在对监控业务执行完监控操作后,由于优先级还是原优先级,但已经被监控过,所以就需要修改这些监控业务的优先级,也就是对选取的监控业务的优先级进行更新。在更新时,可以根据不同监控业务的监控要求进行修改,比如,对于“监控业务1”,要求监控的频率较高,所以在更新优先级时,可以保持不变,即依旧更新为“优先级1”,以便下一次选取监控业务时,有较高的可能性被选取。又如,对于“监控业务2”而言,要求监控的频率较低,所以在更新优先级时,可以大幅降低优先级,比如更新为“优先级50”,这样,当所有监控业务的最高优先级为50时,才会对“监控业务2”执行监控操作。对于一般的监控业务而言,均可以在执行一次监控操作后,降低优先级,所以在一种实施方式中,对选取的监控业务的优先级进行更新,可以包括:将选取的监控业务的优先级降低至少一个级别。比如,对于n个监控业务,开始监控时优先级均是1,对每个监控业务执行监控操作后,降低一个优先级的级别,当所有监控业务的优先级均为2时,即可认为所有监控业务都执行了一遍监控操作,类似地,如果大部分监控业务的优先级均为50,则表示大致经过了50遍监控操作。

考虑到一些特殊的监控任务,监控频率需要随时变化,所以更新监控业务优先级也可以由监控业务自行更新,比如,某个监控业务的优先级突然升高,那么可以自行提高优先级,具体比如将“优先级10”直接更新为“优先级1”,以便下一次选取监控业务时,可以选取到该业务。

又考虑到一些特殊的监控任务,监控到业务完成后就无需监控(比如监控是否收到某个信息),所以在一种实施方式中,本步骤还可以包括:删除选取的监控业务的优先级。比如对于“监控业务3”而言,删除“优先级1”(也可以更新为“优先级0”,相当于删除优先级),那么以后就无需选取该监控业务。

在对选取的监控业务的优先级进行更新完成后,如图5所示,为更新优先级后的所有监控业务。

采用实施例1提供的方法,为监控业务设置优先级,当监控操作开始时,查询所有监控业务的优先级,并选取优先级最高的监控业务,在对选取的监控业务执行监控操作后,更新选取的监控业务的优先级。也就是根据设置(并更新)监控业务的优先级,达到有序的选取监控业务的效果,相比与现有技术随机性较强,无序的选取监控业务而言,本方案在一定程度上满足了不同监控业务的监控要求。比如在每次针对一个监控业务执行监控操作后边降低一个优先级的情况下,所有监控任务均有公平地被监控的机会。

实施例2

现有的业务监控方法,在采用定时执行的方式时,由于监控的量级越来越大,所以就会非常频繁地调度监控业务(选取、返回、再选取等),并且由于监控业务的数量很大,在一个设备中会有大量的处理资源被消耗在了监控业务上,通常情况下,一个设备不会仅仅用于执行监控业务,或多或少都会执行主要业务,比如支付业务、转账业务的设备(服务器),通常会优先执行支付、转账等主要业务,监控业务作为从属业务,尤其是在实时性要求不如主要业务高的情况下,更是作为一种从属业务去完成。但在监控量级变大的情况下,设备会“被迫”拿出过多处理资源去处理监控业务,严重地还会影响主要业务的执行,造成“捡芝麻丢西瓜”的局面。基于此缺陷,并且基于实施例1的发明思路,以及在实施例1的基础上,本实施例提供了另外一种监控业务的选取方法,用于在满足不同监控业务的监控要求的同时,减少对处理资源的占用。该方法的流程示意图如图6所示,包括下述步骤:

步骤21:查询所有监控业务的优先级。

本步骤与实施例1中步骤11类似,均是查询所有监控业务的优先级,具体不再赘述。

步骤22:选取预设个数的优先级最高的监控业务。

在设备(计算机)中,用于执行程序的最小单元为线程,也可以称为轻量级进程(Lightweight Process,LWP),在一个设备中,线程的个数总是有限的,如前所述,在监控量级变大的情况下,设备会“被迫”拿出过多处理资源去处理监控,也就是监控业务会占用很多线程,从而影响到了主要业务。所以,可以对设备进行配置,固定执行监控操作的线程数,比如设备中除去主要业务还剩下8个线程可用,那么可以为监控业务预先设定3个线程,每一次选取监控业务时,就不得占用超过预设的线程数,这样就不会过多地占用线程,也就不会影响设备中主要业务对线程的占用。比如根据图5所示的优先级更新结果,如图7和图8所示,为监控业务配置的线程数有3个,所以在选取时,只能选取3个监控业务(“监控业务1”、“监控业务5”以及“监控业务6”),而不能选取超过3个。

线程资源是可以被占用的,那么有被占用的情况,就有空闲的情况,比如,主要业务的业务量不多,那么空闲的线程就会增加,所以在一种实施方式中,可以根据空闲处理资源调整预设个数。比如当空闲线程超过预设阈值时,为监控业务增加若干个数的线程,以上文“预先设定3个线程”为例,当设备中除去主要业务还剩下20个线程可用,就为监控业务增加5个线程,此时一次监控操作可以选取8个监控业务。

步骤23:在对选取的监控业务执行监控操作后,对选取的监控业务的优先级进行更新。

本步骤与实施例1中步骤13类似,均是对选取的监控业务的优先级进行更新,具体不再赘述。

采用实施例2提供的方法,为监控业务配置可用的处理资源,每次选取并执行监控操作时,仅占用分配给监控业务的这些资源,而不再过多占用处理资源,即使需要监控的业务数量再大,也不会消耗分配给监控业务以外的处理资源,结合通过监控业务优先级的选取方式,在满足不同监控业务的监控要求的同时,减少对处理资源的占用,对设备的处理资源较低的侵入。此外,现有技术采用定时执行的方式,迫于占用过多处理资源的压力,通常在一个周期内不会持续不停地执行监控操作,比如以5分钟为一个周期,在一个周期内对所有监控业务执行若干遍监控操作后就会停止,如果1分钟内完成,就会停止监控操作,直到下一周期再开始监控,显然这种监控业务为从属业务的情况下,既不能持续过多占用处理资源又不能充分利用处理资源进行持续监控的方式,对于监控业务而言,效率很低,对于处理资源而言,又没有充分利用,而本申请实施例,通过预设专门用于处理监控业务且相对固定的处理资源,淡化周期的因素,可以持续利用处理资源进行监控业务,而不影响主要业务,提高了监控业务的效率,也充分利用了处理资源。还可以根据处理资源的占用率(或空闲率)自适应调节选取的个数,进一步提高监控业务的效率,也进一步充分利用处理资源。

实施例3

基于相同的发明构思,实施例3提供了一种监控业务的选取装置,用于在一定程度上满足不同监控业务的监控要求。图9为该装置的结构图,该装置包括:查询单元31、选取单元32、以及更新单元33,其中,

查询单元31,可以查询所有监控业务的优先级;

选取单元32,可以选取优先级最高的监控业务;

更新单元33,可以在对选取的监控业务执行监控操作后,对选取的监控业务的优先级进行更新。

在一种实施方式中,选取单元32,可以

选取预设个数的优先级最高的监控业务。

在一种实施方式中,选取单元32,可以

根据空闲处理资源调整预设个数。

在一种实施方式中,优先级为监控次数,则

查询单元31,可以查询所有监控业务的监控次数;

选取单元32,可以选取监控次数最低的监控业务;

更新单元33,可以在对选取的监控业务执行监控操作后,对选取的监控业务的监控次数进行更新。

在一种实施方式中,更新单元32,可以

将选取的监控业务的优先级降低至少一个级别。

在一种实施方式中,更新单元32,可以

删除选取的监控业务的优先级。

实施例4

基于相同的发明构思,实施例4提供了一种业务监控系统,在一定程度上满足不同监控业务的监控要求。图10为该系统的结构图,该业务监控系统40包括:监控业务列表以及监控执行器,还可以包括调度中心、以及集群,

调度中心可以将所有的监控业务分发到集群里的设备(计算机)中,并且可以根据设备的情况(宕机、负载情况)进行负载均衡。

集群中的设备用于接收监控业务,并进行监控操作。

具体地,设备中可以包括监控业务列表,该监控业务列表用于维护其中的监控业务,比如存储、初始化等。调度中心可以按照周期对监控业务列表进行重置,比如以日为单位,或以小时为单位调整监控业务列表中的监控业务。监控业务列表在首次接收到分配的监控业务后,可以对监控业务进行初始化优先级,比如可以将所有监控业务的优先级设置为“优先级1”。在实施例1中已经介绍,在一种场景下,如果大部分监控业务的优先级均为50,则表示大致经过了50遍监控操作,可见优先级也可以看作是监控的次数,所以在一种实施方式中,可以将优先级设定为监控次数,那么在监控业务列表对列表中监控业务进行初始化优先级时,由于均未被执行过监控操作,可以将监控次数设为1,表示将要进行第1次监控操作。

如图11所示,设备1和设备2是集群中的两个设备,调度中心将业务分配到两个设备中后,设备中的监控业务列表先对监控业务进行初始化优先级,比如将所有监控业务的监控次数设置为1。

设备中还可以包括监控执行器,该执行器可以查询所有监控业务的监控次数,选取监控次数最低的监控业务,并执行监控操作。在实施例2中已经介绍了如何降低对设备处理资源的入侵,所以就可以对监控执行器进行配置,为其分配线程,如图11所示,为设备1分配了3个空闲线程,为设备2分配了2个空闲线程,用于选取监控业务并执行监控操作。配置过程可以是由调度中心进行配置,也可以是监控执行器自己配置,并且还可以根据空闲处理资源调节空闲线程数。

当开始监控后,如图12所示,监控执行器查询监控业务列表中所有监控业务的监控次数,根据自身的空闲线程数选取监控次数最低的监控业务,并执行监控操作。在对选取的监控业务执行监控操作后,对选取的监控业务的监控次数进行更新(比如将监控次数进行更新),返回到监控业务列表中。具体地,对于优先级而言,可以将选取的监控业务的优先级降低至少一个级别,也可以删除选取的监控业务的优先级,还可以将选取的监控业务的优先级升高至少一个级别。类似地,对于监控次数而言,可以将选取的监控业务的监控次数增加至少一次,也可以删除选取的监控业务的监控次数(或将监控次数更新为0),以表示无需再次监控,还可以将选取的监控业务的监控次数减小至少一次。

监控业务列表还可以被配置为具有根据优先级(监控次数)对监控业务进行排序的功能,比如按照优先级由高到低(监控次数由低到高)进行排序,以便监控执行器可以直接进行获取。

在实际应用中,还可以通过权重值表示优先级,比如,初始化时,将所有监控业务的权重值设置为1,表示最高权重,执行过监控操作后将权重值降低。

采用实施例3提供的系统,监控业务列表可以管理监控业务以及设置并更新业务的优先级,监控执行器可以执行选取监控业务并执行监控操作,通过为监控执行器配置空闲线程,在进行监控操作时,不会占用过多线程,并且根据优先级选取监控业务,在一定程度上满足了不同业务的监控要求。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1