一、系统现状
业务系统中有A、B、C、D、E等多种并发运行的业务流,每一种业务流会派生许多并行的业务流实例,如业务流A会派生A1、A2、A3等运行实例。
a1是触发业务流实例A1运行的外部消息,f1、f2、f3、f4、f5是A1各个阶段的处理模块,a11、a12、a13、a14分别是相应模块的输出消息,aa1是业务系统的输出消息。所有的输入、输出和中间消息分别记录在不同格式的日志文件和数据文件中。
二、功能需求
将不同格式的日志文件和数据文件中的所有消息按照业务流程进行关联后,按照业务流触发消息查询指定的业务流实例是否运行成功。
三、界面视图
本软件采用命令行方式,运行模式如下所示:
$workflow_analysis help
用法: workflow_analysis <subcommand> [options] [args]
面向并行业务流的数据分析工具。
输入 'workflow_analysis help <subcommand>'查看关于子命令的帮助。
可用的子命令:
import
query
statistics
$workflow_analysis help import
import: 将异构的原始数据解释、转换后存入数据库
usage: import [OPTIONS]
可用的选项:
-c [--configfile] : 配置文件所在的路径
示例:
workflow_analysis import -c D: estconfig.ini
$workflow_analysis help query
query: 根据业务流触发消息的关键字在数据库中检索指定业务流实例的各个阶段
usage: query [OPTIONS] <keyword-value pairs>
可用的选项:
-c [--configfile] : 配置文件所在的路径
-l [--list] : 列出业务系统中全部业务流的描述和ID
-i [--id] : 用于检索的业务流的ID
-t [--time] : 检索指定时间的业务流
示例:
workflow_analysis query -i 9 -t 20170120 {keword1:value1,keword2:values2,keyword3:value3}