监控工作流的方法及设备技术

技术编号:16885862 阅读:16 留言:0更新日期:2017-12-27 03:39
申请的目的是提供一种监控工作流的方法及设备,本申请通过记录工作流执行的原始事件数据,而不是通过查询工作流的数据库,使用工作流来解决系统链路跟踪的问题,进而将属于同一工作流的原始事件数据聚合成该工作流的监控指标,然后按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标,解决在多个部署区域的环境下,跨机房服务调用延迟、数据存储、多维度数据分析的问题,能够很好地支持海量工作流调用,同时能够适应灵活的工作流部署结构,实现在大规模分布式环境下,高效监控海量工作流的运行情况。

Methods and equipment for monitoring workflow

The application is intended to provide a method and device for monitoring the application of workflow and workflow execution through the original event log data, rather than through the use of database query workflow, workflow to solve the problem of link tracking system, the original event data and will belong to the same workflow aggregated into the workflow monitoring index, and then according to the different the dimension of the workflow monitoring index of aggregated summary monitoring index of the corresponding solution, in a deployment area environment, across the room service call delay, data storage, multi degree according to the analysis of problems, can well support the massive workflow calls, and can adapt to the flexible workflow deployment structure, realized in in distributed environment, efficient operation of mass monitoring workflow.

【技术实现步骤摘要】
监控工作流的方法及设备
本申请涉及计算机领域,尤其涉及一种监控工作流的方法及设备。
技术介绍
在传统环境下,工作流监控主要是基于关系型数据库来完成工作流整体运行情况的分析。在工作流运行时,引擎会在数据库中插入若干条工作流执行记录,比如启动工作流时,引擎会插入一条新的工作流记录,标识工作流已经启动;在启动活动时,引擎会插入一条新的活动记录,标识工作流活动任务被创建;在结束工作流时,引擎会更新工作流记录的状态。之后,用户可以使用SQL语句来查询工作流的具体执行情况,如在特定时间内运行了多少个工作流实例,多少成功,多少失败等。现有的工作流解决方案如jBPM,Activi等都是使用类似的方案来提供工作流监控的功能。多个部署区域意味着部署区域之间相互通信的延迟可能在秒级,即从一个部署区域到另外一个部署区域可能需要花费数秒甚至是数十秒的时间,这导致在跨机房的情况下使用单一的数据库实例存储实时的工作流运行数据基本是不可能的。海量的工作流实例则意味着对于数据的处理能力和存储能力提出了更高的要求,需要能够支持存储每天上亿的工作流实例数量。这些问题对于传统的工作流监控方法都提出了挑战。上述现有方法在工作流实例数量较少和部署区域单一的情况下运行会比较良好,但是如果需要在多个区域(如杭州、青岛、北京等)部署相同的工作流类型,每天调用量过亿,业务人员需要查看总体的工作流运行情况,传统的工作流监控方法很难解决以上问题。首先是机房与机房之间的延迟问题,在广域网的环境下,机房与机房之间的通信延迟通常在秒级,每一次调用可能需要花费数秒甚至数十秒的时间,所以使用单一数据库来保存所有部署区域的实时工作流数据从技术上来看基本不可能。即使数据延迟的问题能够解决,如果每天工作流实例的启动数量超过亿次,则对应的工作流活动数量可能会超过十亿次,这种规模的数据量也超过了传统关系型数据能够容纳的极限。如果工作流监控数据库部署在各个不同的机房,上面提到的延迟问题和数据量的问题有一定程度的解决。但是,用户可能需要统计跨机房的工作流调用情况,如基于部署区域维度或是工作流类型维度或是活动维度来分析工作流调用。一种解决办法是使用轮询来收集各个机房或是部署区域的工作流调用情况,然后根据查询维度来汇总。这个方法由于需要轮询各个机房的工作流监控服务,查询时间可能会很长,用户体验会很差。更重要的是,轮询到的数据可能无法计算出精确地指标,如跨机房百分们(Percentile)的指标。在机房拓扑发生变化的情况下,也需要对应的调整工作流监控的轮询服务代码来适应,无法很好地适应机房调整的情况。如前所述,现有工作流监控方案基本都是基于数据库来完成,如jBPM,Activi等。但是这些方案在多机房海量数据的情况下会有比较严重的问题,如跨机房服务调用延迟、数据存储、多维度数据分析等。本文提出的办法较好的解决了以上的问题。
技术实现思路
本申请提供一种监控工作流的方法及设备,能够解决跨机房服务调用延迟、数据存储、多维度数据分析的问题。本申请的一个目的是提供一种监控工作流的方法,该方法包括:记录工作流执行的原始事件数据;将属于同一工作流的原始事件数据聚合成该工作流的监控指标;按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标。进一步的,上述方法中,按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标之后,还包括:根据不同的维度查询对应的汇总监控指标。进一步的,上述方法中,所述工作流的类型包括工作流实例、子流程实例、活动任务、信号量和人工任务中的一种或任意组合。进一步的,上述方法中,所述工作流实例的事件类型包括启动工作流实例和结束工作流实例,所述子流程实例的类型包括启动子流程实例和结束子流程实例,所述活动任务的事件类型包括启动新的活动任务和结束活动任务,所述信号量的事件类型包括触发信号量和结束信号量,所述人工任务的事件类型包括启动人工任务和结束人工任务。进一步的,上述方法中,所述维度包括工作流实例类型、子流程实例类型、活动任务类型、信号量类型、人工任务类型、工作流时间区间、部署区域、工作流名称和调用时间中的一种或任意组合。进一步的,上述方法中,所述汇总监控指标包括数量指标、运行时间指标、调度时间指标和可靠性指标中一种或任意组合。进一步的,上述方法中,所述数量指标包括工作流总数量、成功数量、失败数量和超时数量中的一种或任意组合。进一步的,上述方法中,所述运行时间指标包括平均执行时间、最大执行时间、最小执行时间和百分位执行时间指标中的一种或任意组合。进一步的,上述方法中,所述调度时间指标包括平均调度时间、最大调度时间、最小调度时间和百分位调度时间指标中的一种或任意组合。进一步的,上述方法中,所述可靠性指标包括成功率指标和失败率指标中的一种或任意组合。根据本申请的另一方面,还提供了一种监控工作流的设备,该设备包括:根据本申请的另一面,还提供一种监控工作流的设备,该设备包括:记录装置,用于记录工作流执行的原始事件数据;聚合装置,用于将属于同一工作流的原始事件数据聚合成该工作流的监控指标;汇总装置,用于按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标。进一步的,上述设备中,所述设备还包括查询装置,用于根据不同的维度查询对应的汇总监控指标。进一步的,上述设备中,所述工作流的类型包括工作流实例、子流程实例、活动任务、信号量和人工任务中的一种或任意组合。进一步的,上述设备中,所述工作流实例的事件类型包括启动工作流实例和结束工作流实例,所述子流程实例的类型包括启动子流程实例和结束子流程实例,所述活动任务的事件类型包括启动新的活动任务和结束活动任务,所述信号量的事件类型包括触发信号量和结束信号量,所述人工任务的事件类型包括启动人工任务和结束人工任务。进一步的,上述设备中,所述维度包括工作流实例类型、子流程实例类型、活动任务类型、信号量类型、人工任务类型、工作流时间区间、部署区域、工作流名称和调用时间中的一种或任意组合。进一步的,上述设备中,所述汇总监控指标包括数量指标、运行时间指标、调度时间指标和可靠性指标中一种或任意组合。进一步的,上述设备中,所述数量指标包括工作流总数量、成功数量、失败数量和超时数量中的一种或任意组合。进一步的,上述设备中,所述运行时间指标包括平均执行时间、最大执行时间、最小执行时间和百分位执行时间指标中的一种或任意组合。进一步的,上述设备中,所述调度时间指标包括平均调度时间、最大调度时间、最小调度时间和百分位调度时间指标中的一种或任意组合。进一步的,上述设备中,所述可靠性指标包括成功率指标和失败率指标中的一种或任意组合。与现有技术相比,本申请通过记录工作流执行的原始事件数据,而不是通过查询工作流的数据库,使用工作流来解决系统链路跟踪的问题,进而将属于同一工作流的原始事件数据聚合成该工作流的监控指标,然后按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标,解决在多个部署区域的环境下,跨机房服务调用延迟、数据存储、多维度数据分析的问题,能够很好地支持海量工作流调用,同时能够适应灵活的工作流部署结构,实现在大规模分布式环境下,高效监控海量工作流的运行情况。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会本文档来自技高网
...
监控工作流的方法及设备

【技术保护点】
一种监控工作流的方法,其中,该方法包括:记录工作流执行的原始事件数据;将属于同一工作流的原始事件数据聚合成该工作流的监控指标;按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标。

【技术特征摘要】
1.一种监控工作流的方法,其中,该方法包括:记录工作流执行的原始事件数据;将属于同一工作流的原始事件数据聚合成该工作流的监控指标;按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标。2.根据权利要求1所述的方法,其中,按不同的维度将所述工作流的监控指标聚合成对应的汇总监控指标之后,还包括:根据不同的维度查询对应的汇总监控指标。3.根据权利要求1所述的方法,其中,所述工作流的类型包括工作流实例、子流程实例、活动任务、信号量和人工任务中的一种或任意组合。4.根据权利要求3所述的方法,其中,所述工作流实例的事件类型包括启动工作流实例和结束工作流实例,所述子流程实例的类型包括启动子流程实例和结束子流程实例,所述活动任务的事件类型包括启动新的活动任务和结束活动任务,所述信号量的事件类型包括触发信号量和结束信号量,所述人工任务的事件类型包括启动人工任务和结束人工任务。5.根据权利要求1所述的方法,其中,所述维度包括工作流实例类型、子流程实例类型、活动任务类型、信号量类型、人工任务类型、工作流时间区间、部署区域、工作流名称和调用时间中的一种或任意组合。6.根据权利要求1至5任一项所述的方法,其中,所述汇总监控指标包括数量指标、运行时间指标、调度时间指标和可靠性指标中一种或任意组合。7.根据权利要求6所述的方法,其中,所述数量指标包括工作流总数量、成功数量、失败数量和超时数量中的一种或任意组合。8.根据权利要求6所述的方法,其中,所述运行时间指标包括平均执行时间、最大执行时间、最小执行时间和百分位执行时间指标中的一种或任意组合。9.根据权利要求6所述的方法,其中,所述调度时间指标包括平均调度时间、最大调度时间、最小调度时间和百分位调度时间指标中的一种或任意组合。10.根据权利要求6所述的方法,其中,所述可靠性指标包括成功率指标和失败率指标中的一种或任意组合。11.一种监控工作...

【专利技术属性】
技术研发人员:谭佳
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1