CN114936136A - 业务流程监控方法、装置、计算机设备及存储介质 - Google Patents
业务流程监控方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114936136A CN114936136A CN202210746702.9A CN202210746702A CN114936136A CN 114936136 A CN114936136 A CN 114936136A CN 202210746702 A CN202210746702 A CN 202210746702A CN 114936136 A CN114936136 A CN 114936136A
- Authority
- CN
- China
- Prior art keywords
- business process
- target
- monitoring
- type
- abnormal
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种业务流程监控方法,应用于数据监控技术领域。本发明提供的方法包括:获取所述目标业务流程中的目标节点以及所述目标节点的类型;生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数;在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径;使用所述业务拦截函数对所述代码路径对应的代码产生的第一关键字和/或第一异常进行拦截,得到业务流程异常;根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
Description
技术领域
本发明涉及数据监控技术领域,尤其涉及业务流程监控方法、装置、计算机设备及存储介质。
背景技术
用户在各种网页端应用中进行业务流程的过程中,经常会发生阻断用户进行业务流程的情况。而发生阻断用户进行业务流程的情况不仅有网页端应用的程序代码的原因,还有其他例如逻辑设计不合理、网络环境差等原因。业务流程被阻断情况的发生极大降低了用户体验,而且技术人员只能通过主动查询日志和技术分析后定位阻断原因,不仅耗时长且效率低下。
发明内容
本发明实施例提供一种业务流程监控方法、装置、计算机设备及存储介质,以解决现有技术解决业务流程被阻断问题耗时长且效率低下的问题。
本申请的第一方面,提供一种业务流程监控方法,包括:
按照目标业务流程的逻辑顺序,获取所述目标业务流程中的目标节点以及所述目标节点的类型;
生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数;
根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径;
使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常;
根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
本申请的第二方面,提供一种业务流程监控装置,包括:
节点获取模块,用于按照目标业务流程的逻辑顺序,获取所述目标业务流程中的目标节点以及所述目标节点的类型;
切面处理器模块,用于生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数;
第一切面注解模块,用于根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径;
业务流程异常模块,用于使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常;
异常上传模块,用于根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
本申请的第三方面,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述业务流程监控方法的步骤。
本申请的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述业务流程监控方法的步骤。
上述业务流程监控方法、装置、计算机设备及存储介质,通过在目标业务流程对应的程序代码中使用面向切面编程技术在所述目标业务流程的各节点插入切面,使用所述切面监控并拦截所述目标业务流程的各节点的运行期间的状态变化以及产生的关键信息,并通过消息队列将所述目标业务流程的各节点在运行期间产生的异常信息或目标关键信息作为告警信息发送至监控告警平台,通过所述监控告警平台进行集中统计得到所述目标业务流程的监控异常统计信息,同时还通过所述监控告警平台将所述目标业务流程的异常信息发送至相关人员。由现有技术的技术人员主动排查目标业务流程被阻断的原因,转换成自动监控目标业务流程被阻断的原因,并进行异常统计和发送告警信息,不仅提高了监控目标业务流程的灵活性,更提高了目标业务流程的问题被解决的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中业务流程监控方法的一应用环境示意图;
图2是本发明一实施例中业务流程监控方法的一流程图;
图3是本发明一实施例中业务流程监控装置的结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的业务流程监控方法,可应用在如图1的应用环境中,其中,计算机设备可以但不限于各种个人计算机、笔记本电脑,计算机设备还可以是服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。可以理解的是图1中的计算机设备的数量仅仅是示意性的,可以根据实际需求进行任意数量的扩展。
在一实施例中,如图2所示,提供一种业务流程监控方法,以该方法应用在图1中的计算机设备为例进行说明,包括如下步骤S101至S105:
S101、按照目标业务流程的逻辑顺序,获取所述目标业务流程中的目标节点以及所述目标节点的类型。
其中,所述目标业务流程中的目标节点是所述目标业务流程按照逻辑顺序进行推进的各个步骤或流程,即所述目标节点对应所述目标业务流程中的步骤或流程。需要特殊说明的是,所述目标节点与所述目标业务流程中的步骤或流程的对应关系是一对一关系或一对多关系,具体的实施方式根据对所述目标业务流程的监控的需求确定。进一步地,从软件工程化的角度考虑所述目标节点的设计,所述目标业务流程在对应的软件项目中是一系列代码块一起作用完成所述目标业务流程,即所述目标节点对应地在软件项目中是至少一个代码块。其中,每一个代码块在所述软件项目中都有固定的相对代码路径(根据所述软件项目的根路径确定每一个代码块在所述软件项目中的相对代码路径)。
进一步地,若所述目标业务流程是存在分支型的业务流程,则对于整个分支的获取按照预先设定的分支获取规则获取,例如所述分支获取规则按照分支节点数目从大到小的顺序获取,则先获取分支节点数目较多的分支流程上的节点,再获取分支节点数目较少的分支流程上的节点。
其中,所述目标节点的类型根据所述目标业务流程的具体类型以及所述目标业务流程的需求进行特征提取后抽象化设计,得到至少一种类型的所述目标节点的类型。例如,将所述目标节点的类型设计为填充类型和非填充类型,即对应的所述目标节点需要用户进行内容填充和所述目标节点不需要用户进行填充。
进一步地,所述目标节点包含至少一个节点类型。具体地,根据前述节点的类型的设计方法,为所述目标业务流程中的所有所述目标节点设计至少一类节点类型,而每一类节点类型中包含至少一个节点类型,例如,将所述目标节点的第一类型设计为填充类型和非填充类型,还新增所述目标节点的第二类型设计为判断类型和非判断类型。然后,将所述目标节点与每一类节点类型中的一个节点类型进行对应绑定。需要特别说明的是,每一类节点类型中的每一个节点类型都是彼此互斥的关系,例如前述的填充类型和非填充类型的节点类型。
S102、生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数。
其中,针对所述目标业务流程采用面向切面编程方法进行监控处理,即在所述目标业务流程的每个环节或步骤插入切面进行相应监控。所述面向切面编程(AOP,AspectOriented Programming),通过在已有的程序代码基础上增加额外的通知机制,对被声明为切点的代码块进行统一管理与装饰,关于面向切面编程技术的详细技术细节由于不是本申请的核心部分,故在此不再赘述。同时,不同的程序语言也存在不同的面向切面编程的实现方法,例如Python语言、Go语言、Java语言、JavaScript语言等都已拥有面向切面编程的实现方法或框架,所以本申请中针对所述目标业务流程的监控可根据面向切面编程的设计原理、所述目标业务流程所在的项目代码类型以及本申请的方法采用不同的计算机语言程序实现。
其中,所述切面处理器是针对所述目标业务流程设计的特定切面处理程序类,即针对所述目标业务进行的切面处理内容都在所述切面处理器中进行,例如在所述目标业务流程对应的项目代码中生成TargetAspect类,并将对所述目标业务流程进行的切面处理内容都放置在所述TargetAspect类中。需要特别说明的是,针对不同类型类的业务流程可生成不同的切面处理器,例如针对注册流程生成注册流程切面处理器,针对登录流程生成登录流程切面处理器,针对购买流程生成购买流程切面处理器。
具体地,首先检测是否存在生成所述切面处理器的依赖库,若不存在则使用依赖库下载工具下载所述依赖库。其中,所述依赖库是用于实现前述面向切面编程方法设计的程序功能的工具库。若存在所述依赖库,则生成所述目标业务流程的切面处理器,并添加所述依赖库包含的第二切面注解至所述切面处理器。其中,所述第二切面注解用于标注所述切面处理器是使用了面向切面编程方法对所述目标业务流程进行切面处理的程序类,例如在基于Java语言实现的Spring框架中使用“@Aspect”注解表示所述第二切面注解,即使用“@Aspect”注解标注过的程序类在基于Spring框架的软件项目中都使用了面向切面编程方法。最后,根据所述业务流程的监控需求,在所述切面处理器中添加所述目标节点的至少一个业务拦截函数。进一步地,根据所述业务流程中每个节点的重要程度决定是否对节点设置业务拦截函数,例如在注册流程中对用户在弹窗中观看注册协议的节点不设置业务拦截函数,而在注册流程中对用户填写注册信息的节点设置业务拦截函数。进一步地,根据所述面向切面编程方法的多种特性,对所述目标节点设计至少两个业务拦截函数对当前节点的不同状态进行监控,例如在针对购买流程中用户付款的付款节点,添加用于监控用户付款前信息的第一付款节点业余拦截函数和用于监控用户付款后信息的第二付款节点业务拦截函数。
S103、根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径。
具体地,首先根据所述目标节点的类型,以及所述业务拦截函数的功能,确定所述第一切面注解的类型。其中,所述第一切面注解的类型包括但不限于:前置通知类型、后置通知类型、返回通知类型、异常通知类型和环绕通知类型,所述前置通知类型用于在所述业务拦截函数执行前发出监控通知,所述后置通知类型用于在所述业务拦截函数执行后发出监控通知,所述返回通知类型、所述异常通知类型、所述环绕通知类型的功能与此类似,在此不再赘述,例如在注册节点对应的注册请求拦截函数上添加前置通知类型用于监控用户在注册前填写的注册信息,又例如在付款节点对应的付款结果拦截函数上添加后置通知类型用于监控用户付款是否成功。在一更具体的基于Spring框架的实施例中,所述第一切面注解的类型包括:@Before、@After、@AfterRunning、@AfterThrowing和@Around,所述Spring框架包含的不同类型的所述第一切面注解的使用方法在此不再赘述。最后,获取所述目标节点对应的代码路径,并根据所述目标节点的监控需求,选择对应的注解匹配运算符号,添加所述代码路径作为所述注解匹配运算符号的参数。其中,所述代码路径为基于正则表达式的代码路径,即根据所述代码路径进行正则匹配之后得到的目标代码路径集合可能会存在多个目标代码路径的情况,同时也表示所述业务拦截函数将作用于多个目标代码路径的代码块,即在本申请中所述业务拦截函数用于同时监控至少两个所述目标节点的运行情况。同时,根据所述依赖库提供的不同注解匹配运算符号,添加所述代码路径作为所述注解匹配运算符号的参数,实现不同业务需求下对所述目标节点的监控,例如在Spring框架中使用注解匹配运算符号execution和参数(public*com.user.UserService.*(..))匹配com.user.UserService类中的所有共有函数,与所述execution注解匹配运算符号有类似功能的其他注解匹配运算符号还包括但不限于:within、this、target、、bean、point、args等,每个注解匹配运算符号的具体功能和用法在此不再赘述。
S104、使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常。
具体地,首先使用所述注解匹配运算符号以及所述代码路径进行匹配运算,得到匹配代码片段。然后使用所述业务拦截函数监听所述代码片段的运行过程是否产生所述第一关键字和/或所述第一异常,若产生,则获取所述第一关键字和/或第一异常的异常信息作为业务流程异常。需要进一步说明的是,所述业务拦截函数不仅拦截常规技术方法中会拦截的程序代码抛出的异常,所述业务拦截函数还拦截根据业务需求设计的关键字,例如在用户支付节点对应的支付业务拦截函数中不仅监听所述支持业务拦截函数在执行时抛出的所有异常,还拦截所述支付业务拦截函数中获取的支付信息中是否包含预设的支付渠道目标关键字。其中,使用所述业务拦截函数监听后拦截所述第一关键字,一方面不仅满足业务需求设计,例如满足数据统计方面的需求,另一方面还能甄别非合理请求,例如甄别出部分注入式攻击请求。
S105、根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
其中,所述预设业务流程异常分类集合中的业务流程异常是根据所述目标业务流程在运行期间出现的历史流程异常,以及根据业务流程所在领域的常规异常等数据进行预先设计。例如在保险业务流程中,既有保险业务领域独有的承保校验的节点,又有常规的用户信息校验的节点,在所述承保校验节点和所述用户信息校验节点出现的异常都作为一种业务流程异常加入所述预设业务流程异常分类集合中。进一步地,从软件工程化地角度设计所述业务流程异常,则将运行所述目标业务流程的代码块产生的异常或拦截的关键信息作为对应的一类业务流程异常。
具体地,首先使用所述业务流程异常与所述预设业务流程异常分类集合进行类型匹配,得到所述业务流程异常的异常类型。若所述类型匹配失败,则将所述业务流程异常作为新增异常类型,并将所述新增异常类型添加至所述预设业务流程异常分类集合。其中,所述预设业务流程异常分类集合中的元素在本申请的方法执行过程中由相关人员进行人工增、删、改操作。然后,将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息发送至所述消息队列。其中,所述消息队列(Message Queue)不仅可以是使用RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等消息队列组件或中间件,还可以使用Redis、MySQL或phxsql等数据库实现所述消息队列的功能,更可以是由技术人员根据需求自行设计开发的自研消息队列组件或中间件,具体的消息队列的工作原理及使用方法已是现有技术故在此不再赘述。最后,所述消息队列按照预设上传规则将所述监控异常信息上传至所述监控告警平台。其中,所述消息队列中的所述监控异常信息被取出有两种方式,一种是所述消息队列中的所述监控异常信息满足预设条件(例如所述监控异常信息达到20条)后主动通知所述监控告警平台(消费者)来获取,另一种是所述监控告警平台不断轮询访问所述消息队列查看所述消息队列中的所述监控异常信息是否满足预设条件,若满足则获取。
进一步地,所述根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息上传至监控告警平台之后,还发送统计命令至所述监控告警平台。所述监控告警平台接收所述统计命令后,使用所述监控异常信息,根据预设报表类型生成业务流程监控异常统计图和/或表。最后,所述监控告警平台将所述业务流程监控异常统计图和/或表发送至所述业务流程的预设第一关联用户。进一步地,所述监控异常信息被传输到所述监控告警平台之后被存储在预先部署的全文搜索引擎中,通过所述全文搜索引擎的分析引擎快速生成所述业务流程监控异常统计图和/或表。其中,所述全文搜索引擎使用但不限于:Elasticsearch、Lucene、Solr、Nutch等。
进一步地,所述根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息上传至监控告警平台之后,还发送告警命令至所述监控告警平台。所述监控告警平台接收所述告警命令后,根据预设异常类型以及所述预设异常类型对应的预设异常类型阈值,判断各类型的所述监控异常信息是否触发告警,若触发告警,则所述监控告警平台将触发告警的目标监控异常信息、所述目标监控异常信息对应的目标异常类型、所述目标异常类型对应的异常类型阈值作为告警信息发送至所述业务流程的预设第二关联用户。其中,所述告警信息发送的方式包括但不限于:邮件、短息、通讯软件消息等。进一步地,选择至少两个目标所述异常类型并对应定义第二异常类型阈值,将所述目标异常类型进行关联后添加至异常类型集合,当所述异常类型集合中的每个目标异常类型达到各自对应的所述第二异常类型阈值时,所述监控告警平台将所述目标异常类型及对应的所述第二异常类型阈值作为告警信息发送至所述业务流程的预设第二关联用户。
本实施例提出的业务流程监控方法,通过在目标业务流程对应的程序代码中使用面向切面编程技术在所述目标业务流程的各节点插入切面,使用所述切面监控并拦截所述目标业务流程的各节点的运行期间的状态变化以及产生的关键信息,并通过消息队列将所述目标业务流程的各节点在运行期间产生的异常信息或目标关键信息作为告警信息发送至监控告警平台,通过所述监控告警平台进行集中统计得到所述目标业务流程的监控异常统计信息,同时还通过所述监控告警平台将所述目标业务流程的异常信息发送至相关人员。由现有技术的技术人员主动排查目标业务流程被阻断的原因,转换成自动监控目标业务流程被阻断的原因,并进行异常统计和发送告警信息,不仅提高了监控目标业务流程的灵活性,更提高了目标业务流程的问题被解决的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种业务流程监控装置100,该业务流程监控装置100与上述实施例中业务流程监控方法一一对应。如图3所示,该业务流程监控装置100包括节点获取模块11、切面处理器模块12、第一切面注解模块13、业务流程异常模块14和异常上传模块15。各功能模块详细说明如下:
节点获取模块11,用于按照目标业务流程的逻辑顺序,获取所述目标业务流程中的目标节点以及所述目标节点的类型;
切面处理器模块12,用于生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数;
第一切面注解模块13,用于根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径;
业务流程异常模块14,用于使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常;
异常上传模块15,用于根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
进一步地,所述切面处理器模块12还包括:
依赖库检测子模块,用于检测是否存在生成所述切面处理器的依赖库,若不存在则使用依赖库下载工具下载所述依赖库;
第二切面注解子模块,用于若存在所述依赖库,则生成所述目标业务流程的切面处理器,并添加所述依赖库包含的第二切面注解至所述切面处理器;
业务拦截函数子模块,用于根据所述业务流程的监控需求,在所述切面处理器中添加所述目标节点的至少一个业务拦截函数。
进一步地,所述第一切面注解模块13还包括:
切面注解类型子模块,用于根据所述目标节点的类型,以及所述业务拦截函数的功能,确定所述第一切面注解的类型;
代码路径子模块,用于获取所述目标节点对应的代码路径,并根据所述目标节点的监控需求,选择对应的注解匹配运算符号,添加所述代码路径作为所述注解匹配运算符号的参数。
进一步地,所述业务流程异常模块14包括:
匹配代码片段子模块,用于使用所述注解匹配运算符号以及所述代码路径进行匹配运算,得到匹配代码片段;
关键字或异常子模块,用于使用所述业务拦截函数监听所述代码片段的运行过程是否产生所述第一关键字和/或所述第一异常;
异常信息子模块,用于若产生,则获取所述第一关键字和/或第一异常的异常信息作为业务流程异常。
进一步地,所述异常上传模块15还包括:
异常类型匹配子模块,用于使用所述业务流程异常与所述预设业务流程异常分类集合进行类型匹配,得到所述业务流程异常的异常类型;
异常类型新增子模块,用于若所述类型匹配失败,则将所述业务流程异常作为新增异常类型,并将所述新增异常类型添加至所述预设业务流程异常分类集合;
消息队列子模块,用于将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息发送至所述消息队列;
异常信息上传子模块,用于所述消息队列按照预设上传规则将所述监控异常信息上传至所述监控告警平台。
进一步地,所述异常上传模块15还包括:
统计命令子单元,用于发送统计命令至所述监控告警平台;
异常统计图表子单元,用于所述监控告警平台接收所述统计命令后,使用所述监控异常信息,根据预设报表类型生成业务流程监控异常统计图和/或表;
统计图表发送子单元,用于将所述业务流程监控异常统计图和/或表发送至所述业务流程的预设第一关联用户。
进一步地,所述异常上传模块15还包括:
告警命令子模块,用于发送告警命令至所述监控告警平台;
告警触发判断子模块,用于所述监控告警平台接收所述告警命令后,根据预设异常类型以及所述预设异常类型对应的预设异常类型阈值,判断各类型的所述监控异常信息是否触发告警;
告警信息发送子模块,用于若触发告警,则将触发告警的目标监控异常信息、所述目标监控异常信息对应的目标异常类型、所述目标异常类型对应的异常类型阈值作为告警信息发送至所述业务流程的预设第二关联用户。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于业务流程监控装置的具体限定可以参见上文中对于业务流程监控方法的限定,在此不再赘述。上述业务流程监控装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储业务流程监控方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务流程监控方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中业务流程监控方法的步骤,例如图2所示的步骤S101至步骤S105及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中业务流程监控装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中业务流程监控方法的步骤,例如图2所示的步骤S101至步骤S105及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中业务流程监控装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种业务流程监控方法,其特征在于,包括:
按照目标业务流程的逻辑顺序,获取所述目标业务流程中的目标节点以及所述目标节点的类型;
生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数;
根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径;
使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常;
根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
2.根据权利要求1所述的业务流程监控方法,其特征在于,所述生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数包括:
检测是否存在生成所述切面处理器的依赖库,若不存在则使用依赖库下载工具下载所述依赖库;
若存在所述依赖库,则生成所述目标业务流程的切面处理器,并添加所述依赖库包含的第二切面注解至所述切面处理器;
根据所述业务流程的监控需求,在所述切面处理器中添加所述目标节点的至少一个业务拦截函数。
3.根据权利要求1所述的业务流程监控方法,其特征在于,所述根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径包括:
根据所述目标节点的类型,以及所述业务拦截函数的功能,确定所述第一切面注解的类型;
获取所述目标节点对应的代码路径,并根据所述目标节点的监控需求,选择对应的注解匹配运算符号,添加所述代码路径作为所述注解匹配运算符号的参数。
4.根据权利要求3所述的业务流程监控方法,其特征在于,所述使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常包括:
使用所述注解匹配运算符号以及所述代码路径进行匹配运算,得到匹配代码片段;
使用所述业务拦截函数监听所述代码片段的运行过程是否产生所述第一关键字和/或所述第一异常;
若产生,则获取所述第一关键字和/或第一异常的异常信息作为业务流程异常。
5.根据权利要求1所述的业务流程监控方法,其特征在于,所述根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台包括:
使用所述业务流程异常与所述预设业务流程异常分类集合进行类型匹配,得到所述业务流程异常的异常类型;
若所述类型匹配失败,则将所述业务流程异常作为新增异常类型,并将所述新增异常类型添加至所述预设业务流程异常分类集合;
将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息发送至所述消息队列;
所述消息队列按照预设上传规则将所述监控异常信息上传至所述监控告警平台。
6.根据权利要求5所述的业务流程监控方法,其特征在于,所述根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息上传至监控告警平台之后还包括:
发送统计命令至所述监控告警平台;
所述监控告警平台接收所述统计命令后,使用所述监控异常信息,根据预设报表类型生成业务流程监控异常统计图和/或表;
将所述业务流程监控异常统计图和/或表发送至所述业务流程的预设第一关联用户。
7.根据权利要求1所述的业务流程监控方法,其特征在于,所述根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型作为监控异常信息上传至监控告警平台之后还包括:
发送告警命令至所述监控告警平台;
所述监控告警平台接收所述告警命令后,根据预设异常类型以及所述预设异常类型对应的预设异常类型阈值,判断各类型的所述监控异常信息是否触发告警;
若触发告警,则将触发告警的目标监控异常信息、所述目标监控异常信息对应的目标异常类型、所述目标异常类型对应的异常类型阈值作为告警信息发送至所述业务流程的预设第二关联用户。
8.一种业务流程监控装置,其特征在于,包括:
节点获取模块,用于按照目标业务流程的逻辑顺序,获取所述目标业务流程中的目标节点以及所述目标节点的类型;
切面处理器模块,用于生成所述目标业务流程的切面处理器,并在所述切面处理器中添加所述目标节点的业务拦截函数;
第一切面注解模块,用于根据所述目标节点的类型在所述业务拦截函数上添加对应类型的第一切面注解,其中,所述第一切面注解还包括所述目标业务节点对应的代码路径;
业务流程异常模块,用于使用所述业务拦截函数监听所述目标业务流程的执行过程,对所述代码路径对应的代码在运行时产生的第一关键字和/或第一异常进行拦截,得到业务流程异常;
异常上传模块,用于根据预设业务流程异常分类集合确定所述业务流程异常的异常类型,通过消息队列将根据所述目标业务流程、所述目标节点、所述业务流程异常和所述异常类型生成的监控异常信息上传至监控告警平台。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述业务流程监控方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述业务流程监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210746702.9A CN114936136A (zh) | 2022-06-29 | 2022-06-29 | 业务流程监控方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210746702.9A CN114936136A (zh) | 2022-06-29 | 2022-06-29 | 业务流程监控方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114936136A true CN114936136A (zh) | 2022-08-23 |
Family
ID=82867987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210746702.9A Pending CN114936136A (zh) | 2022-06-29 | 2022-06-29 | 业务流程监控方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936136A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115641142A (zh) * | 2022-12-22 | 2023-01-24 | 北京搜狐新动力信息技术有限公司 | 一种监控支付流程的方法及装置 |
CN115828247A (zh) * | 2023-02-10 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 一种小程序的异常检测方法、装置、设备及可读存储介质 |
CN117528431A (zh) * | 2023-10-25 | 2024-02-06 | 广州市玄武无线科技股份有限公司 | 一种通信平台的数据监控方法、装置和终端设备 |
-
2022
- 2022-06-29 CN CN202210746702.9A patent/CN114936136A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115641142A (zh) * | 2022-12-22 | 2023-01-24 | 北京搜狐新动力信息技术有限公司 | 一种监控支付流程的方法及装置 |
CN115828247A (zh) * | 2023-02-10 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 一种小程序的异常检测方法、装置、设备及可读存储介质 |
CN117528431A (zh) * | 2023-10-25 | 2024-02-06 | 广州市玄武无线科技股份有限公司 | 一种通信平台的数据监控方法、装置和终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114936136A (zh) | 业务流程监控方法、装置、计算机设备及存储介质 | |
CN109446068B (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN109871305B (zh) | 告警信息的处理方法、装置、计算机设备及存储介质 | |
CN110851159B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
KR101143999B1 (ko) | Api 기반 어플리케이션 분석 장치 및 방법 | |
CN111193609B (zh) | 应用异常的反馈方法、装置及应用异常的监控系统 | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN113159737B (zh) | Rpa业务处理方法、rpa管理平台、设备及介质 | |
CN113489713A (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN111930472B (zh) | 一种代码调试方法、装置、电子设备及存储介质 | |
CN111666211A (zh) | 服务动态测试方法、装置、计算机设备及存储介质 | |
CN110597709B (zh) | 混合模式移动应用的交互调试方法、装置和计算机设备 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN112099972A (zh) | 基于rpa机器人的办公文件处理方法、装置、设备和存储介质 | |
CN110362356B (zh) | 函数数据处理方法、装置、计算机设备和存储介质 | |
CN112017007A (zh) | 用户行为数据的处理方法及装置、计算机设备、存储介质 | |
CN113778442A (zh) | 一种系统菜单生成方法、装置、设备及存储介质 | |
CN112527600A (zh) | 监控日志处理方法、装置、设备及存储介质 | |
CN112306805A (zh) | 防重复点击的方法、装置、计算机设备及可读存储介质 | |
CN114546837A (zh) | 接口测试的方法、装置、设备及存储介质 | |
CN112866319A (zh) | 日志数据处理方法、系统和存储介质 | |
CN110119277A (zh) | 数据分享方法、装置、计算机设备和存储介质 | |
CN113419950A (zh) | Ui自动化脚本的生成方法、装置、计算机设备及存储介质 | |
CN111752819B (zh) | 一种异常监控方法、装置、系统、设备和存储介质 | |
CN111722994A (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 |