发明内容
本申请提出一种业务异常检测方法,该方法包括:
启动针对目标业务流程的异常检测;其中,所述目标业务流程包含多个业务子流程;所述多个业务子流程均分别预配置了对应的异常检测程序;所述异常检测程序绑定了待处理的业务参数;
将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验;
当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示。
可选的,所述启动针对目标业务流程的异常检测,包括:
在所述目标业务流程开启时,自动启动针对所述目标业务流程的异常检测;
或者,在所述目标业务流程结束后,基于输入的业务参数启动针对所述目标业务流程的异常检测。
可选的,所述异常检测程序包括业务模拟函数以及校验函数;
所述将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验包括:
将各业务子流程处理的业务参数提交至对应的业务模拟函数,以由所述业务模拟函数进行业务模拟,得到业务模拟结果;
将所述业务模拟结果提交至对应的校验函数,以由所述校验函数对所述业务模拟结果进行校验。
可选的,所述异常检测程序包括多个业务模拟函数时,所述将各业务子流程处理的业务参数提交至对应的业务模拟函数,以由所述业务模拟函数进行业务模拟,得到业务模拟结果包括:
基于针对所述多个业务模拟函数预配置的处理顺序,将各业务子流程处理的业务参数提交至对应的多个业务模拟函数中的第一业务模拟函数,以由所述第一业务模拟函数进行业务模拟,得到第一中间结果;
将所述业务参数以及所述第一中间结果提交至所述多个业务模拟函数中的第二业务模拟函数继续进行业务模拟,得到第二中间结果,以此类推,直至所有业务模拟函数均完成业务模拟;
将所述业务参数以及各业务模拟函数分别进行业务模拟得到的中间结果,作为提交至所述校验函数的业务模拟结果进行存储。
可选的,所述当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示包括:
通过预设的可视化界面输出所述目标业务流程的流程图;
当针对任一业务子流程的业务模拟结果校验失败时,在所述流程图中将该业务子流程突出显示。
本申请还提出一种业务异常检测系统,该系统包括:
启动模块,启动针对目标业务流程的异常检测;其中,所述目标业务流程包含多个业务子流程;所述多个业务子流程均分别预配置了对应的异常检测程序;所述异常检测程序绑定了待处理的业务参数;
校验模块,将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验;
提示模块,当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示。
可选的,所述启动模块:
在所述目标业务流程开启时,自动启动针对所述目标业务流程的异常检测;或者,在所述目标业务流程结束后,基于输入的业务参数启动针对所述目标业务流程的异常检测。
可选的,所述异常检测程序包括业务模拟函数以及校验函数;
所述校验模块:
将各业务子流程处理的业务参数提交至对应的业务模拟函数,以由所述业务模拟函数进行业务模拟,得到业务模拟结果;
将所述业务模拟结果提交至对应的校验函数,以由所述校验函数对所述业务模拟结果进行校验。
可选的,当所述异常检测程序包括多个业务模拟函数时,所述校验模块进一步:
基于针对所述多个业务模拟函数预配置的处理顺序,将各业务子流程处理的业务参数提交至对应的多个业务模拟函数中的第一业务模拟函数,以由所述第一业务模拟函数进行业务模拟,得到第一中间结果;
将所述业务参数以及所述第一中间结果提交至所述多个业务模拟函数中的第二业务模拟函数继续进行业务模拟,得到第二中间结果,以此类推,直至所有业务模拟函数均完成业务模拟;
将所述业务参数以及各业务模拟函数分别进行业务模拟得到的中间结果,作为提交至所述校验函数的业务模拟结果进行存储。
可选的,所述提示模块:
通过预设的可视化界面输出所述目标业务流程的流程图;
当针对任一业务子流程的业务模拟结果校验失败时,在所述流程图中将该业务子流程突出显示。
本申请中,通过为目标业务流程包含的多个业务子流程分别预配置对应的异常检测程序,在启动针对该目标业务流程的异常检测时,可以将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验,当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示,实现了可以通过为各业务子流程预配置的异常检测程序,更加智能化的对目标业务流程进行异常检测,快速定位目标业务流程中存在业务异常的业务子流程,并实时的输出检测结果,而不需要人工排查业务异常,从而有助于降低人力成本,提升业务异常检测的时效性。
具体实施方式
随着业务复杂度不断上升,模块化处理后的业务系统所涉及的业务子系统会越来越多,从而会导致整个业务系统的业务处理链路越来越长。在这种情况下,一旦该业务系统中的业务流程出现异常,由于出现异常的可能仅仅是整个业务流程中的某一环节,因此业务异常的问题定位、排查以及异常问题影响的范围的评估就会显得非常的困难。
在相关技术中,在针对复杂的业务流程进行业务异常的问题定位时,主要通过业务经验丰富的业务专家,结合业务场景以及具体的业务数据,针对整个业务流程中每一个业务子流程逐个进行人工排查,以最终定位出该业务流程中业务异常的业务子流程。
然而,这种通过业务专家人工排查业务异常的处理方法,在实施上虽然比较灵活,能够面对足够复杂的业务,但会存在以下缺陷:
第一,由于业务场景非常复杂,因此必须要非常有经验的业务专家,才能进行处理,这对于处理业务异常问题的处理人的素质要求相对比较高。
第二,由于人工排查是一次性,即使面对的是同一个业务场景,可能也需要重复排查和定位,因此一定程度上会增加人力成本。
第三,由于复杂业务的业务流程中包含的业务子流程比较多,业务链路比较长,因此如果通过人工处理,往往异常问题定位的时间比较长,时效性较差。
第四,对于人工排查定位出来的异常问题,通常只能由排查人通过文字的形式描述,因此异常排查的结果的展示不够直观,更无法直观的判断出业务异常问题,所造成的影响范围。
有鉴于此,本申请提出一种业务异常检测方法,通过为目标业务流程包含的多个业务子流程分别预配置对应的异常检测程序,在启动针对该目标业务流程的异常检测时,可以将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验,当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示,实现了可以通过为各业务子流程预配置的异常检测程序,更加智能化的对目标业务流程进行异常检测,快速定位目标业务流程中存在业务异常的业务子流程,并实时的输出检测结果,而不需要人工排查业务异常,从而有助于降低人力成本,提升业务异常检测的时效性。
另外,通过可视化界面输出目标业务流程的流程图,并将将业务模拟结果校验失败的业务子流程,以及基于该业务子流程的业务数据流向确定出的该业务子流程的下游业务子流程,在该流程图中突出显示,可以更直观的展示存在业务异常的业务子流程,以及该业务子流程所造成的影响范围。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的业务异常检测方法,应用于服务端,所述方法执行以下步骤:
步骤101,启动针对目标业务流程的异常检测;其中,所述目标业务流程包含多个业务子流程;所述多个业务子流程均分别预配置了对应的异常检测程序;所述异常检测程序绑定了待处理的业务参数;
上述服务端,可以包括用于执行目标业务流程的服务器、服务器集群或者基于服务器集群构建的云平台。
上述目标业务流程,为需要进行异常检测的业务流程。在实际应用中,该目标业务流程可以包括多个业务子流程,而每一个业务子流程可以分别预配置了对应的异常检测程序。
上述异常检测程序,可以是由业务专家为各业务子流程人工配置的可供执行的脚本语言;例如,在实际应用中,该异常检测程序可以是基于SQL的脚本语言。在该异常检测程序中,还可以预先绑定需要由该异常检测程序处理的业务参数。
其中,由于上述目标业务流程在执行过程中,该目标业务流程中所包含的各业务子流程实际处理的业务参数,对于普通用户来说是不可知的,因此在这种情况下,可以由熟悉该业务的业务专家,基于自身对整个业务流程的了解程度,在为各业务子流程配置异常检测程序时,同步的将各业务子流程实际所处理的业务参数,绑定至该异常检测程序中。
通过这种方式,可以将业务专家针对各业务子流程的业务异常排查经验,量化为具体的执行逻辑,从而可以实现智能化、自动化的业务异常排查。
在本例中,针对目标业务流程的异常检测,可以在目标业务流程的执行过程中同步开启,也可以在目标业务流程结束后,由用户输入的开启指令来手动开启。
在示出的一种实施方式中,当目标业务流程开启后,此时可以立即自定启动针对上述目标业务流程的异常检测。通过这种方式,可以在目标业务流程的执行过程中,针对该目标业务流程实时的进行异常检测,从而可以提升异常检测的时效性。
在示出的另一种实施方式中,由于各业务子流程预配置的异常检测程序,均绑定了待处理的业务参数,因此当上述目标业务流程结束后,用户可以通过手动输入业务参数的方式,向相应的异常检测程序提交业务参数,来触发该异常检测程序自动执行,来启动针对该目标业务流程的异常检测。通过这种方式,用户可以在该目标业务流程结束后,通过输入业务参数的方式,针对上述目标业务流程中所包含的任一业务子流程进行异常检测。
步骤102,将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验;
在本例中,当针对上述目标业务流程的异常检测启动后,该目标业务流程可以按照实际的业务数据流向,按顺序执行该目标业务流程中所包含的各业务子流程。
同时,由于各业务子流程均预配置了对应的异常检测程序,因此各业务子流程在启动后,可以将实际处理的业务参数提交至预配置的该异常检测程序进行处理,由该异常检测程序基于各业务子流程提交的业务参数,来进行业务模拟,并对业务模拟结果进行校验。
例如,在实际应用中,由于各业务子流程预配置的异常检测程序,已经绑定了待处理的业务参数,而绑定的待处理的参数通常为与该异常检测程序对应的业务子流程,实际处理的业务参数;因此,各业务子流程在启动后,可以利用现有的参数传递机制,将实际处理的业务参数传递至对应的异常检测程序,来触发系统执行该异常检测程序,继而通过执行该异常检测程序,来进行业务模拟,并对业务模拟结果进行校验,以定位存在业务异常的业务子流程。
其中,需要说明的是,各业务子流程向预配置的异常检测程序提交的业务参数,具体可以是json格式的数据。采用json格式,可以将需要提交的业务参数以标签(key)和值(value)的方式组织成大字段,继而各业务子流程在向其预配置的异常检测程序提交业务参数时,可以仅提交与该业务参数对应的取值(value)即可。
而作为业务参数的处理一方,在为异常检测程序绑定需要处理的业务参数是,可以在异常检测程序绑定该业务参数对应的标签,继而当异常检测程序接收到各业务子流程提交的业务参数的取值后,可以不关注各业务子流程提交的业务参数的具体取值,而是将具体取值添加到对应的标签上就可以直接执行该异常检测程序。
在本例中,为各业务子流程预配置的异常检测程序,还可以在功能上进行细分。
在示出的一种实施方式中,为各业务子流程预配置的异常检测程序,可以包括业务模拟函数以及校验函数。
其中,上述业务模拟函数,用于使用各业务流程提交的业务参数进行业务模拟,得到业务模拟结果。上述校验函数,用于对上述业务模拟函数进行业务模拟得到的业务模拟结果进行校验。
因此,各业务子流程在将实际处理的业务参数提交至对应的异常检测程序进行处理时,首先可以将该业务参数提交至该异常检测程序中的业务模拟函数进行处理,由该业务模拟函数针对该业务参数进行业务模拟,得到业务模拟结果。
当该业务模拟函数针对该业务参数进行业务模拟,得到业务模拟结果后,可以进一步将该业务模拟结果提交至该异常检测程序中的校验函数进行处理,由该校验函数对该业务模拟结果进行校验,以判定当前的业务子流程是否存在业务异常。
其中,需要说明的是,上述业务模拟的过程,可以与各业务子流程实际的业务处理过程保持一致。上述校验函数在对业务模拟结果进行校验时,具体可以将对应的业务子流程实际的业务处理结果,与该业务模拟结果进行一致性判定,如果判定出该业务子流程实际的业务处理结果,与该业务模拟结果一致,此时可以确定该业务子流程不存在业务异常。反之,如果判定出该业务子流程实际的业务处理结果,与该业务模拟结果不一致,则确定该业务子流程存在业务异常。
例如,各业务子流程在执行实际的业务的过程中,可能会基于业务人员输入的业务参数,调用相应的业务数据库,进行相应的业务查询,然后基于业务查询结果进行业务分析后得到对应的业务结果。
因此,在这种情况下,各业务子流程将实际处理的业务参数提交至上述业务模拟函数后,上述业务模拟函数可以基于该业务参数,调用相同的业务数据库,执行相同的业务查询,并基于业务查询结果进行相同的业务分析后,得到对应的业务模拟结果,然后将该业务模拟结果提交至上述校验函数,由上述校验函数对该业务模拟结果进行校验。
在本例中,当上述目标业务流程为较复杂的业务时,该目标业务流程所包含的各业务子流程对应的业务处理逻辑,可能会包含多个不同的业务逻辑分支。
例如,在示出的一种业务场景中,各业务子流程可能包含多个不同的业务逻辑分支,并且各业务逻辑分支之间还可能存在业务数据的耦合,即一个业务逻辑分支得到的业务中间结果,会作为下一个业务逻辑分支的输入,继续进行业务处理。
因此,在这种场景下,在为上述目标业务流程所包含的各业务子流程预配置异常检测程序时,可以为各业务子流程分别配置多个业务模拟函数,并且为该多个业务模拟函数预配置相应的处理顺序。
其中,该多个业务模拟函数与各业务子流程所包含的多个业务逻辑分支存在一一对应的关系。该多个业务模拟函数的处理顺序,可以与各业务子流程所包含的多个业务逻辑分支实际的处理顺序保持一致。
在这种情况下,各业务子流程在将实际处理的业务参数提交至对应的异常检测程序进行处理时,可以参照针对该多个业务模拟函数预配置的处理顺序,首先可以将各业务子流程实际处理的业务参数,提交至该多个业务模拟函数中的第一业务模拟函数,以由该第一业务模拟函数进行业务模拟,得到第一中间结果;其中,该第一业务模拟函数,是指上述多个业务模拟函数中处理顺序排列在第一位的业务模拟函数。
当第一业务模拟函数完成业务模拟,并且得到第一业务模拟结果后,可以将该业务子流程处理的业务参数,以及将已经得到的上述第一中间结果作为输入参数,提交至第二业务模拟函数继续进行处理,得到第二中间结果。
依次类推,直至上述多个业务模拟函数中所有的业务模拟函数均完成业务模拟,并得到相应的中间结果时停止。
当上述多个业务模拟函数中所有的业务模拟函数均完成业务模拟后,可以将各业务子流程提交的业务参数,以及上述多个业务模拟函数中所有的业务模拟函数进行业务模拟得到的中间结果,作为业务模拟结果进行存储,并提交给校验函数进行校验,以判定当前的业务子流程是否存在异常。
其中,在这种情况下,上述校验函数在针对上述业务模拟结果进行校验时,可以针对上述多个业务模拟函数中所有的业务模拟函数进行业务模拟得到的中间结果,分别进行校验;当所有的中间结果均校验通过,此时可以确定当前的业务子流程不存在业务异常。反之,所有的中间结果中任一中间结果未校验通过时,则可以确定当前的业务子流程存在业务异常。
例如,请参见图2,图2为示出的一种为业务子流程预配置多个业务模拟函数的处理示意图。在图2所示出的例子中,基于业务专家的异常排查经验,为业务子流程1预配置了f0、f1以及f3等三个业务模拟函数,以及一个校验函数C1。业务模拟函数f0需要调用业务数据库1的数据完成业务模拟,业务模拟函数f1和f2分别需要调用业务数据库1和2的数据完成业务模拟。在检测业务子流程1是否存在业务异常时,业务子流程1可以将业务参数X0分别提交给f1、f2、f3和C1。
f0业务模拟得到的中间结果记为X1;f1业务模拟得到的中间结果记为X2;f2业务模拟得到的中间结果记为X3;其中,X1需要作为f1的输入;X2需要作为f2的输入。C1在对业务模拟结果进行校验时,可以基于X0,针对f1、f2、f3分别得到的中间结果X1、X2和X3分别进行校验,得到校验结果r。其中校验结果r可以是一个bool变量,即校验通过输出1,校验不通过输出0。
步骤103,当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示。
在本例中,如前所述,在针对目标业务流程进行异常检测的过程,各业务子流程可以分别向其各自预配置的异常检测程序提交业务参数,由该异常检测程序进行业务模拟,并对业务模拟结果进行校验,来确定当前的业务子流程是否存在业务异常。
当通过上述方式检测出,上述目标业务流程图中存在业务异常的业务子流程时,此时可以输出该业务子流程存在业务异常的提示。
其中,为了更加直观的展示业务异常的检测结果,在示出的一种实施方式中,可以在业务系统中预先设置一可视化展示界面,同时将上述目标业务流程的完整的流程图在该可视化界面中输出。
一方面,当通过以上示出的业务异常的检测方式,检测出任一业务子流程存在业务异常时,可以在上述流程图中将该业务子流程突出显示;例如,可以查找到该业务子流程位于上述流程图中的位置,将该业务子流程用区别于该流程图的整体色调的颜色进行高亮显示(也可以仅显示该业务子流程)。
另一方面,为了直观的展示存在异常的业务子流程,在上述目标业务流程中的影响范围,还可以基于存在业务异常的该业务子流程的业务数据流向,确定该业务子流程的下游业务子流程,然后在上述流程图中将该业务子流程的下游业务子流程也一起突出显示(也可以仅显示该业务子流程,以及该业务子流程的下游业务子流程)。
由于当任一业务子流程存在业务异常时,该业务子流程的业务数据流向上的下游业务子流程,通常也会同步的存在业务异常,因此通过这种方式,在展示存在业务异常的业务子流程的基础上,还可以进一步将受到该业务子流程影响的其它业务子流程一并直观的展示出来。
当将出现业务异常的业务子流程以及收到该业务子流程影响的其它业务子流程一并展示出来后,业务人员通过查看上述可视化展示界面,就可以直观的获悉当前目标业务流程中到底是哪一个业务环节出现业务异常,以及该出现业务异常的业务环节的影响范围。在这种情况下,业务人员可以迅速定位到业务异常的业务子流程,从而可以有针对性的对该业务子流程存在的问题进行排除,以便快速的消除业务异常。
可见,通过这种方式,不仅能够快速定位目标业务流程中存在业务异常的业务子流程,而且不需要人工排查业务异常,从而有助于降低人力成本,提升业务异常检测的时效性。
以下以上述目标业务为资金调拨监管为例,并结合具体的业务场景对以上实施例中的技术方案进行详细描述。
请参见图3,图3为本例示出的一种资金调拨监管的业务流程图。
在本例中,所谓资金调拨,具体是指同一公司的不同账户之间资金的调拨。
如图3所示,在资金调拨监管系统(以下简称系统)日常执行的业务流程中,通常包括资金调拨、付款、收款、收款凭证以及付款凭证登记、收款以及付款登账、收款以及付款会计分录,收款以及付款登记、调入金额以及调出金额核对等子流程。
其中,系统在执行资金调拨子流程时,可以通过金融网关向相应的银行发起资金调拨请求,金融网关可以对该资金调拨请求进行指令转换,转换为调拨指令后发往相应的银行。银行在完成不同账户之间的资金调拨后,可以通过金融网关向系统返回一个调拨成功的消息。
当资金调拨成功后,系统可以执行付款子流程以及收款子流程,完成付款以及收款,并继续执行收款凭证以及付款凭证登记子流程,在凭证中心完成收款凭证登记以及付款凭证登记。
一方面,当在凭证中心完成针对收款凭证以及付款凭证的登记后,可以继续执行收款登账以及付款登账子流程,完成收款登账以及付款登账,并继续执行收款以及付款会计分录子流程,由会计进行录入登记,生成会计分录表。
另一方面,当在凭证中心完成针对收款凭证登记以及付款凭证登记后,还可以执行收款登记以及付款登记子流程,完成收款登记以及付款登记,生成账务明细表。
当账户明细表生成后,系统可以执行调用金额以及调出金额核对子流程,对调入和调出的金额进行核对。
通过以上描述可知,由于资金调拨监管的业务流程中所包含的子流程众多,业务处理链路较长,因此当整个业务流程出现业务异常时(比如执行调拨金额核对子流程后,发现调入与调出金额不相等时),如果依靠业务专家逐个子流程的进行异常问题排查,往往异常问题定位的时间比较长,时效性较差。
因此,在本例中,业务专家可以基于自身的异常排查经验,为以上示出的各子流程分别配置异常检测程序,所配置的异常检测程序可以由一个或者多个业务模拟函数以及一个校验函数组成。
同时,业务专家可以基于自身对整个业务流程的了解程度,将各子流程实际所处理的业务参数,绑定至上述异常检测程序中。即上述业务模拟函数以及校验函数需要处理的业务参数,可以由业务专家基于对整个业务流程的了解程度,来自主的进行定义。
通过这种方式,可以将业务专家针对各业务子流程的业务异常排查经验,量化为具体的执行逻辑,从而可以实现智能化、自动化的业务异常排查。
当启动针对上述资金调拨监管的业务流程的异常检测时,各子流程可以基于以上示出的,各子流程的实际的业务数据流向,分别将各自处理的业务参数,提交至为该子流程预配置的业务模拟函数,由该业务模拟函数进行业务模拟,得到业务模拟结果,同时将该业务模拟结果提交至校验函数进行校验。
其中,提交的上述业务参数可以包括资金调拨的账号、资金调拨的时间等参数,上述业务模拟函数的执行逻辑可以包括基于资金调拨的账号、资金调拨的时间等参数,向相应的银行查询本次调拨的资金金额的处理逻辑。
当上述业务模拟函数接收到各子流程提交的以上业务参数后,可以执行上述处理逻辑,向相应的银行查询本次调拨的实际金额,然后将查询到的本次调拨的实际金额作为业务模拟结果提交给校验函数进行校验。
上述校验函数的执行逻辑,可以是检查系统中各子流程进行业务处理的过程中,调用和调出的金额与上述业务模拟函数进行业务模拟得到的本次调拨的实际金额是否一致的处理逻辑。
当上述资金调拨监管的业务流程中所包含的任一子流程,进行业务处理的过程中,调用和调出的金额与本次调拨的实际金额不一致时,则可以确定该子流程存在业务异常。
例如,假设以上示出的各子流程中,收款登账子流程在执行过程中,收款金额与本次调拨的实际金额不一致,则可以确定收款登账子流程出现业务异常。
在本例中,系统可以提供一可视化界面,系统可以将图3所示出的流程图在该界面中输出。
当通过上述方式检测出以上各子流程中存在业务异常的子流程时,一方面,可以将该存在业务异常的子流程在上述界面中输出的流程图中突出显示;另一方面,可以基于实际的业务数据流程,将该存在业务异常的子流程的下游子流程在上述界面中输出的上述流程图中,一起突出显示。
请参见图4,图4为本例示出的一种通过可视化界面输出业务异常检测结果的示意图。
如图4所示,假设以上示出的各子流程中,收款登账子流程出现业务异常,一方面,可以在上述可视化界面输出的流程图中,将收款登账子流程在上述流程图中突出显示。
另一方面,收款会计分录子流程、收款登账子流程、以及调出金额核对子流程为收款登账子流程的下游子流程,在这种情况下,可以将分录子流程、收款登账子流程、以及调出金额核对子流程也在上述流程图中一起突出显示(图4示出的为仅显示收款登账子流程,以及收款登账子流程的下游子流程)。
通过以上各实施例可见,本申请通过为目标业务流程包含的多个业务子流程分别预配置对应的异常检测程序,在启动针对该目标业务流程的异常检测时,可以将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验,当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示,实现了可以通过为各业务子流程预配置的异常检测程序,更加智能化的对目标业务流程进行异常检测,快速定位目标业务流程中存在业务异常的业务子流程,并实时的输出检测结果,而不需要人工排查业务异常,从而有助于降低人力成本,提升业务异常检测的时效性。
另外,通过可视化界面输出目标业务流程的流程图,并将将业务模拟结果校验失败的业务子流程,以及基于该业务子流程的业务数据流向确定出的该业务子流程的下游业务子流程,在该流程图中突出显示,可以更直观的展示存在业务异常的业务子流程,以及该业务子流程所造成的影响范围。
与上述方法实施例相对应,本申请还提供了装置的实施例。
请参见图5,本申请提出一种业务异常检测装置50,应用于服务端;其中,请参见图6,作为承载所述业务异常检测装置50的服务端所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述业务异常检测装置50通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置50包括:
启动模块501,启动针对目标业务流程的异常检测;其中,所述目标业务流程包含多个业务子流程;所述多个业务子流程均分别预配置了对应的异常检测程序;所述异常检测程序绑定了待处理的业务参数;
校验模块502,将各业务子流程处理的业务参数提交至对应的异常检测程序进行业务模拟,并对业务模拟结果进行校验;
提示模块503,当针对任一业务子流程的业务模拟结果校验失败时,输出该业务子流程存在业务异常的提示。
在本例中,所述启动模块501:
在所述目标业务流程开启时,自动启动针对所述目标业务流程的异常检测;或者,在所述目标业务流程结束后,基于输入的业务参数启动针对所述目标业务流程的异常检测。
在本例中,所述异常检测程序包括业务模拟函数以及校验函数;
所述校验模块502:
将各业务子流程处理的业务参数提交至对应的业务模拟函数,以由所述业务模拟函数进行业务模拟,得到业务模拟结果;
将所述业务模拟结果提交至对应的校验函数,以由所述校验函数对所述业务模拟结果进行校验。
在本例中,当所述异常检测程序包括多个业务模拟函数时,所述校验模块502进一步:
基于针对所述多个业务模拟函数预配置的处理顺序,将各业务子流程处理的业务参数提交至对应的多个业务模拟函数中的第一业务模拟函数,以由所述第一业务模拟函数进行业务模拟,得到第一中间结果;
将所述业务参数以及所述第一中间结果提交至所述多个业务模拟函数中的第二业务模拟函数继续进行业务模拟,得到第二中间结果,以此类推,直至所有业务模拟函数均完成业务模拟;
将所述业务参数以及各业务模拟函数分别进行业务模拟得到的中间结果,作为提交至所述校验函数的业务模拟结果进行存储。
在本例中,所述提示模块503:
通过预设的可视化界面输出所述目标业务流程的流程图;
当针对任一业务子流程的业务模拟结果校验失败时,在所述流程图中将该业务子流程突出显示;以及,
基于该业务子流程的业务数据流向确定该业务子流程的下游业务子流程,在所述流程图中将该业务子流程的下游业务子流程突出显示。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。