一种中控式业务流程调度管理系统及实现方法

文档序号:6549685阅读:241来源:国知局
一种中控式业务流程调度管理系统及实现方法
【专利摘要】一种中控式业务流程调度管理系统及实现方法,包括流程管理模块、业务服务模块、定时任务模块、配置文件管理模块、接收器模块、生成器模块、发送器模块、数据访问模块、配置文件管理模块、文件扫描模块、文件处理模块、文件内容验证模块、文件发送模块、模型与文件转换模块;本发明具有良好的可扩展能力和可重用性,适应不同系统在功能需求和业务需求等方面的扩展,有利于实现个性化调度请求,提高了可复用性。
【专利说明】一种中控式业务流程调度管理系统及实现方法

【技术领域】
[0001] 本发明涉及业务流程调度领域,具体来说是一种中控式的用于业务流程调度的管 理系统及其实现方法。

【背景技术】
[0002] 随着信息化的普及,业务流程管理显得越来越重要。在当今社会,多样化的用户需 求使业务流程发生不断的更新和变化。因用户需求、业务功能设置不同,各系统在业务流程 的管理设计上也不同。研究使用优化的方法高效管理这些业务流程是一个亟待解决的问 题。
[0003] 流程设计体现了系统的功能需求,它是系统设计和软件设计的重要环节,也是影 响系统可扩展性、可维护性的关键因素。在许多流程调度管理系统的设计中,通常围绕流程 步骤构建系统架构,这样做可能符合解决问题的思维方式,但是系统的可扩展性和通用性 受到了限制。目前已公开发表的业务流程调度管理方法,其解决方案较为僵硬,如果业务流 程的频繁变更,将给系统维护带来了巨大挑战。


【发明内容】

[0004] 本发明的技术解决问题是:克服现有技术的不足,提供一种中控式业务流程调度 管理系统及实现方法,具有良好的可扩展能力和可重用性,适应不同系统在功能需求和业 务需求等方面的扩展。
[0005] 本发明的技术解决方案是:一种中控式业务流程调度管理系统,如图1所示包括 以下模块:
[0006] 流程管理模块:由流程管理器、流程调度器和流程处理器三部分组成;其中流程 管理器从文件处理模块获取订单,从配置文件管理模块获取流程管理参数和流程调度参 数,管理所有等待调度和正在运行的流程实例;流程调度器从流程管理器获取待调度流程, 根据调度策略选取流程,并交由流程处理器启动该流程;流程处理器从文件处理模块获取 报告,从配置文件管理模块获取流程配置参数,将流程调度参数交给流程调度引擎,提供流 程处理服务;
[0007] 业务服务模块:接收流程调度引擎的调用,提供订单、任务及报告在流程调度和数 据访问时所需的各类业务服务,包括查询操作、接收操作、审核操作、生成操作、发送操作、 取消操作;其中,接收操作调用接收器模块处理,生成操作调用生成器模块处理,发送操作 调用发送器模块处理,其他数据访问操作调用数据访问模块处理;
[0008] 定时任务模块:从配置文件管理模块获取定时任务参数,在约定的时间按定时任 务设定的参数启动定时任务,让定时任务在某时刻执行一次,或者从某时刻开始,按指定的 时间间隔重复执行多次;待执行的定时任务、定时任务的执行参数可配置;
[0009] 接收器模块:接收业务服务模块的接收参数,完成接收操作,并将接收结果返回至 业务服务模块;在执行接收操作的过程中,调用数据访问模块进行数据存储;根据数据类 型的不同提供了不同的接收器,数据类型不同,接收行为也不同,可以对接收器的类型进行 扩展,以满足系统需求;
[0010] 生成器模块:接收业务服务模块的生成参数,完成生成操作,并将生成结果返回至 业务服务模块;在执行生成操作的过程中,调用数据访问模块进行数据存储;根据数据类 型的不同提供了不同的生成器,数据类型不同,生成行为也不同,可以对生成器的类型进行 扩展,以满足系统需求;
[0011] 发送器模块:接收业务服务模块的发送参数,完成发送操作,并将发送结果返回至 业务服务模块;在执行发送操作的过程中,调用数据访问模块进行数据存储;在发送时,调 用模型与文件转换模块将内部模型对象转换为相应的外部接口文件,并调用文件发送模块 将外部接口文件按指定的发送方式发送;外部接口定义不同,发送器的行为也不同;
[0012] 数据访问模块:以适配方式与外部数据库连接,接收业务服务模块、接收器模块、 生成器模块和发送器模块的数据访问请求,提供数据访问结果,为系统提供了数据的查询、 更新、添加和删除四类基本操作;
[0013] 配置文件管理模块:管理系统配置文件,为流程管理模块、定时任务模块、文件发 送模块和文件扫描模块提供配置参数;并提供了配置参数修改服务;
[0014] 文件扫描模块:当外部接口为文件格式时,从配置文件管理模块获取扫描参数,定 时扫描指定的文件路径,对文件进行匹配、过滤、移除和备份,对于匹配成功文件交由文件 处理模块执行后续操作,否则给出文件不合法提示;
[0015] 文件处理模块:当外部接口为文件格式时,接收文件扫描模块的文件,调用文件内 容验证模块验证文件内容的合法性;调用模型与文件转换模块完成外部接口文件到内部模 型对象的转换;调用流程管理模块中的流程管理器处理订单;调用流程管理模块中的流程 处理器处理任务确认报告和完成报告;
[0016] 文件内容验证模块:当外部接口为文件格式时,接收文件处理模块的调用,完成文 件内容验证操作;文件类型不同,验证逻辑可能不同;
[0017] 模型与文件转换模块:当外部接口为文件格式时,接收文件处理模块的调用,提供 外部接口文件到内部模型对象的转换;接收发送器模块的调用,提供内部模型对象到外部 接口文件的转换。不同的内部模型对象转换成的外部接口文件不同,不同的外部接口文件 转换成的内部模型对象也不同;内部模型对象与外部接口文件的转换规则可配置;
[0018] 文件发送模块:当外部接口为文件格式时,接收待发送文件,从配置文件管理模块 获取发送参数,提供文件发送服务;文件发送方式包括FTP发送、SSH发送,可以根据发送方 式的不同对发送服务类型进行扩展,以满足系统需求。
[0019] 所述的流程管理模块实现过程如下:
[0020] (1)流程管理器从配置文件管理模块获取流程管理参数,包括等待调度的流程队 列的最大容量、运行中的流程的最大容量,使用获取的参数初始化并启动流程管理器;
[0021] (2)启动流程处理器,流程处理器从配置文件管理模块获取流程配置参数,并将流 程调度参数交给流程调度引擎,提供流程处理服务;
[0022] (3)流程管理器从配置文件管理模块获取流程调度参数,包括流程调度策略、流程 调度时间间隔;根据流程调度策略查找相应调度服务,初始化并启动流程调度器,开启调度 线程;
[0023] (4)流程管理器从文件处理模块获取订单,并做如下处理:a.判断当前等待调度 的流程队列是否已达到最大容量,如果已达到,则流程添加失败,返回"等待添加";如果未 达到,则将流程添加到等待调度的流程队列中,返回"添加成功";b.流程管理器管理流程标 识和流程实例的映射关系,方便存取被管理的流程实例;
[0024] (5)流程调度器定期检测当前运行中的流程队列是否达到最大容量,如果已达到 最大容量,间隔固定时间间隔后重新检测,否则做如下处理:a、按流程调度策略从流程管理 器等待调度的流程队列中获取一个优先级最高的流程实例;b、将获取的流程实例从等待队 列移入运行队列;c、调用流程处理器部署、启动该流程;
[0025] (6)在流程调度过程中,任务、订单报告由流程调度引擎调用业务服务模块生成、 任务报告由流程处理器从文件处理模块获取,进而执行流程处理请求。流程处理请求包括 暂挂流程、唤醒暂挂流程、取消流程、重启流程;
[0026] (7)当某流程实例调度结束时,流程管理器将该流程从运行队列中移除,并清理流 程相关数据。
[0027] 所述的定时任务模块实现过程如下:
[0028] (1)用户配置所有待执行的定时任务和执行参数,定时任务模块从配置文件管理 模块获取定时任务参数,初始化并启动定时任务调度器;
[0029] (2)注册所有的定时任务和定时任务监听器。定时任务有两种注册方式:a、根据 配置文件中配置的定时任务参数,注册所有的定时任务及任务监听器;b、在系统运行时动 态注册定时任务及任务监听器;
[0030] (3)为每一个注册成功的定时任务开启一个监听线程,监听该任务设定的定时事 件;
[0031] (4)在约定的时间按定时任务设定的参数启动定时任务,让定时任务在某时刻执 行一次,或者从某时刻开始,按指定的时间间隔重复执行多次。定时任务开始执行时,回调 该任务的启动监听器方法;
[0032] (5)当定时任务执行结束后,回调该任务的结束监听器方法。
[0033] 所述的文件扫描模块实现过程如下:
[0034] (1)从配置文件管理模块获取扫描参数,包括系统需要的匹配器,每种匹配器的名 称和匹配规则即匹配器可匹配的文件类型,为文件匹配服务设置匹配参数;
[0035] (2)从配置文件管理模块获取扫描参数,包括所有的文件扫描目录、文件备份路 径、文件扫描时间间隔等,并开启文件扫描线程;
[0036] (3)对于每个文件扫描路径,每隔固定的时间间隔扫描一次,获取该路径下所有文 件;
[0037] (4)如果未获取到任何文件,则转到步骤(3)继续执行,否则执行步骤(5);
[0038] (5)对于每一个扫描到的文件,首先根据文件类型获取文件匹配服务,验证该文件 是否为系统可忽略的文件,a、如果扫描到的文件为可忽略文件,扫描线程不做任何处理,文 件留在原目录下;b、如果扫描到的文件为不可忽略文件,调用文件匹配服务对文件进行匹 配过滤;如果匹配失败,将文件移动被备份路径下,否则将文件交给文件处理模块处理。如 果文件处理模块处理结果为"等待处理",则文件留在原目录下不做处理,否则将文件移动 到备份路径下;
[0039] (6)处理完所有扫描到的文件后,转到步骤(3)继续执行。
[0040] 所述系统实现步骤如下:
[0041] (1)启动系统;
[0042] (2)文件扫描模块定期扫描指定文件路径,对扫描到的所有文件进行匹配、过滤、 移除和备份;如果该文件匹配不成功,则视为垃圾文件,移除后不做处理;对于匹配成功的 文件,如果该文件为可忽略文件,则文件留在扫描路径下不做处理,否则将文件移除备份 后,将文件交给文件处理模块进行处理;
[0043] (3)文件处理模块将文件交给文件内容验证模块,进行合法性验证,如果验证通过 则执行步骤(4),否则结束对该文件的处理,继续处理其他文件;
[0044] (4)根据文件类型和文件内容,文件处理模块将文件交给模型与文件转换模块,将 文件转换成相应的内部模型对象,交由流程管理模块进行处理;
[0045] (5)流程管理模块处理接收的模型对象。如果接收的模型对象类型为订单对象,执 行步骤(6),如果接收的模型对象类型为任务确认报告对象,则执行步骤(13),如果接收的 模型对象类型为任务完成报告对象,则执行步骤(14);
[0046] (6)流程管理模块从配置文件管理模块获取该订单对象对应的流程参数,根据该 流程参数生成流程对象实例,加入流程管理器的等待调度队列;
[0047] (7)流程调度器使用指定的流程调度策略,定时从流程管理器等待调度的流程队 列中获取一个流程实例,将该流程加入到运行队列,并调用流程处理器处理。流程处理器将 流程调度参数交与流程调度引擎,开启调度流程;
[0048] (8)流程开启后,流程调度引擎调用业务服务模块,首先持久化订单文件转换生成 的订单对象;
[0049] (9)流程调度引擎调用业务服务模块,生成并保存订单确认报告,并将订单确认报 告对象转换成订单确认报告文件,发送给订单发送方;
[0050] (10)系统管理员完成订单审核操作,保存审核结果。流程调度引擎调用业务服务 模块,将审核结果转换成订单审核报告,发送给订单发送方。如果审核通过,继续执行步骤 (11),否则结束流程,执行步骤(17);
[0051] (11)流程调度引擎调用业务服务模块,根据订单数据生成并保存任务对象,对于 每一个生成的任务对象,开启任务调度流程,任务调度流程执行步骤为步骤(12)至(15);
[0052] (12)流程调度引擎调用业务服务模块,将生成的任务对象转换成任务文件,发送 给任务接收方;
[0053] (13)当文件扫描模块接收到任务确认报告文件时,交给文件处理模块。文件处理 模块验证文件内容,并完成文件到模型的转换后,调用流程处理器继续处理;流程处理模块 调用流程调度引擎,唤醒该文件对应的流程实例。流程调度引擎调用业务服务模块,保存确 认报告对象,继续等待任务完成报告;
[0054] (14)当文件扫描模块接收到任务完成报告文件时,交给文件处理模块。文件处理 模块验证文件内容,并完成文件到模型的转换后,调用流程处理器继续处理;流程处理模块 调用流程调度引擎,唤醒该文件对应的流程实例。流程调度引擎调用业务服务模块,保存任 务完成报告对象;
[0055] (15)任务调度流程结束后,流程管理器结束并清除该任务调度流程;
[0056] (16)当订单分解出的所有任务的调度流程完成后,流程调度引擎调用业务服务模 块,生成并保存订单完成报告,并将订单完成报告对象转换成订单完成报告文件,发送给订 单发送方;
[0057] (17)订单调度流程结束后,流程管理器结束并清除该流程。
[0058] 本发明与现有技术相比的优点在于:
[0059] (1)系统采用中控模式接收、管理和调度外部参与者发送的处理请求,按照业务流 程定义开启调度流程,协调外部参与者共同完成对该请求的处理。在调度过程中,用订单模 型描述本系统接收的处理请求,用任务模型描述本系统发送给其他系统的处理请求。任务 调度流程结束后,通知其所属的订单调度流程。订单和任务处理过程中产生的处理报告用 报告模型表不。
[0060] (2)调度流程可通过配置文件进行配置,流程活动之间没有强依赖关系,用户可根 据实际需求定制流程步骤和流程参数;系统可处理的订单、任务和报告类型可通过配置文 件扩展;系统采用了两级核心包机制,一级核心包为系统提供基础支撑,二级核心包为系统 使用文件作为外部接口的一个扩展包。如果外部接口文件格式需要变动,只需要替换二级 核心包的接口实现即可。如果外部接口不是文件,而是其他形式,则二级核心包可替换。这 些为系统二次开发提供了良好的支撑。
[0061] (3)本系统提供了模块化、低耦合、可动态插拔的组件管理环境,每个组件可以向 服务注册表注册、查询和使用服务。系统的服务模型是以服务发布、发现、绑定为基础操作 的动态协作模型。当服务被注册或注销时,其他使用该服务的组件可以感知服务是否可用, 并动态的改变自己的行为。在整个过程中,系统保持稳定,不需要重新启动。

【专利附图】

【附图说明】
[0062] 图1为本发明系统架构图;
[0063] 图2为本发明系统实现过程;
[0064] 图3为本发明系统中的流程管理模块实现过程;
[0065] 图4为本发明系统中的定时任务模块实现过程;
[0066] 图5为本发明系统中的文件扫描模块实现过程。

【具体实施方式】
[0067] 下面结合附图及实施例对本发明进行详细说明。
[0068] (1)中控式:本系统的外部参与者分为两类:主动系统和被动系统,主动系统和被 动系统彼此透明,不发生交互。主动系统向本系统发送订单调度请求,并等待本系统反馈的 各类订单处理报告。本系统接收到主动系统发送的订单调度请求后,协调需要参与的被动 系统,根据订单调度请求产生各类处理任务,将任务派发至相应的被动系统。被动系统接收 到处理任务后,执行处理任务向本系统反馈各类任务处理报告。
[0069] (2)两层模型:订单和任务两层模型,订单为其他分系统发送给本系统的调度请 求,任务为本系统根据接收的订单生成并派发给其他分系统的处理请求。在订单和任务处 理过程中会产生订单处理报告和任务处理报告,其中订单处理报告包括订单确认报告、订 单审核报告、订单完成报告,任务处理报告包括任务确认报告、任务完成报告。订单处理报 告由本系统上报至主动系统,任务处理报告由被动系统上报给本系统;
[0070] (3)两级核心包:一级核心包基于系统内部模型对象提供各类服务,二级核心包 基于外部接口文件,提供文件扫描、验证、发送、文件与内部模型转换等服务。一级核心包为 系统提供基础支撑,二级核心包为系统使用文件作为外部接口的一个扩展包。如果外部接 口不是文件而是其他形式,则二级核心包可替换。
[0071] 为了更好地理解本发明,先对一些基本概念进行一下解释说明。
[0072] 订单:在调度过程中,外部参与者向本系统发送的处理请求为订单,订单内容描述 了该订单的类型、紧急程度、发送方、接收方、创建时间、待执行的处理任务参数等内容。订 单是一个调度流程的起点。
[0073] 任务:在调度过程中,本系统接收外部参与者发送的订单,对订单内容进行解析, 分解且发送给其他外部分系统的处理请求为任务。任务内容描述了该任务的类型、优先级、 发送发、接收方、创建时间、待执行的处理任务参数等。任务是一个调度流程的中间产出。
[0074] 报告:在调度过程中,本系统接收或发送给其他外部参与者的处理状态为报告。报 告分两类,一类是订单处理报告,包括订单确认报告、订单审核报告、订单完成报告等;一类 是任务处理报告,包括任务确认报告、任务完成报告等。订单处理报告一般由本系统发送给 外部参与者,任务报告一般由外部参与者发送给本系统。
[0075] 订单确认报告:本系统接收到订单后,将订单确认报告发送给外部系统。订单确认 报告中描述了订单是否被接收、接收时间、发送方、接收方等参数。如果未被接收,报告中描 述了订单被拒绝原因。
[0076] 订单申核报告:本系统完成订单申核后,将订单申核报告发给外部系统。订单申核 报告中描述了订单审核结果、审核时间、发送方、接收方等参数。
[0077] 订单完成报告:订单处理完成后,本系统发送订单完成报告给外部系统,订单完成 报告中描述订单处理结果、处理时间、发送方、接收方等参数。
[0078] 任务确认报告:外部系统接收到任务时,发送任务确认报告给本系统。任务确认报 告中描述了任务是否被接收、接收时间、发送方、接收方等参数。如果任务未被接收,报告中 描述了任务被拒绝的原因。
[0079] 任务完成报告:任务处理完成后,外部系统发送任务完成报告给本系统。任务完成 报告中描述任务处理结果、处理时间、发送方、接收方等参数。
[0080] 流程活动:流程活动指在流程调度过程中执行的每一个步骤。流程活动分为起始 活动(流程的第一个活动)、任务活动(执行一个指定的流程动作)、等待活动(等待某特 定事件的发生才能继续执行流程的活动)、分支活动(某流程步骤被分解为多个并行的分 支并发执行)、合并活动(多个分支活动都执行完成后才能继续执行流程的活动)、终止活 动(流程的最后一个活动)等。
[0081] 流程调度策略:从等待调度的流程队列中获取一个优先级最高的流程实例的方 法。调度策略可以有多种方式,如先进先出、按紧急程度获取、按最短调度时间获取等。具 体使用的调度策略可在配置文件中配置。系统提供了默认的流程调度策略。流程调度策略 也可通过二次开发进行扩展。
[0082] 业务流程定义:业务流程定义描述了所有流程活动的执行顺序、流程活动间的依 赖关系、流程活动的执行条件、流程活动的执行分支等。业务流程定义一般通过xml文件描 述。业务流程定义是可配置的,用户可以根据自己的需求进行个性化定制,以满足项目需 求。
[0083] 文件匹配验证:验证文件是否与预定的要求相匹配。目前系统提供了文件名后缀 匹配、文件名前缀匹配、文件名是否含指定子字符串匹配、文件名是否符合指定正则表达式 匹配等匹配服务。
[0084] 模型与文件转化规则:描述了模型对象与外部接口文件的转换方式,即从模型对 象转换成文件或者从文件转换成模型对象时,模型对象的属性如何与文件的内容相映射。 模型与文件转换规则是可配置的,用户可以根据自己的需求进行个性化定制,以满足项目 需求。
[0085] 如图1所示,本发明由流程管理模块、业务服务模块、定时任务模块、文件扫描模 块、模型与文件转换模块等组成,整个系统实现过程如图2所示。实现过程如下:
[0086] (1)启动系统;
[0087] (2)文件扫描模块定期扫描指定文件路径,对扫描到的所有文件进行匹配、过滤、 移除和备份;如果该文件匹配不成功,则视为垃圾文件,移除后不做处理;对于匹配成功的 文件,如果该文件为可忽略文件,则文件留在扫描路径下不做处理,否则将文件移除备份 后,将文件交给文件处理模块进行处理;
[0088] (3)文件处理模块将文件交给文件内容验证模块,进行合法性验证,如果验证通过 则执行步骤(4),否则结束对该文件的处理,继续处理其他文件;
[0089] (4)根据文件类型和文件内容,文件处理模块将文件交给模型与文件转换模块,将 文件转换成相应的内部模型对象,交由流程管理模块进行处理;
[0090] (5)流程管理模块处理接收的模型对象。如果接收的模型对象类型为订单对象,执 行步骤(6),如果接收的模型对象类型为任务确认报告对象,则执行步骤(13),如果接收的 模型对象类型为任务完成报告对象,则执行步骤(14);
[0091] (6)流程管理模块从配置文件管理模块获取该订单对象对应的流程参数,根据该 流程参数生成流程对象实例,加入流程管理器的等待调度队列;
[0092] (7)流程调度器使用指定的流程调度策略,定时从流程管理器等待调度的流程队 列中获取一个流程实例,将该流程加入到运行队列,并调用流程处理器处理。流程处理器将 流程调度参数交与流程调度引擎,开启调度流程;
[0093] (8)流程开启后,流程调度引擎调用业务服务模块,首先持久化订单文件转换生成 的订单对象;
[0094] (9)流程调度引擎调用业务服务模块,生成并保存订单确认报告,并将订单确认报 告对象转换成订单确认报告文件,发送给订单发送方;
[0095] (10)系统管理员完成订单审核操作,保存审核结果。流程调度引擎调用业务服务 模块,将审核结果转换成订单审核报告,发送给订单发送方。如果审核通过,继续执行步骤 (11),否则结束流程,执行步骤(17);
[0096] (11)流程调度引擎调用业务服务模块,根据订单数据生成并保存任务对象,对于 每一个生成的任务对象,开启任务调度流程,任务调度流程执行步骤为步骤(12)至(15); [0097] (12)流程调度引擎调用业务服务模块,将生成的任务对象转换成任务文件,发送 给任务接收方;
[0098] (13)当文件扫描模块接收到任务确认报告文件时,交给文件处理模块。文件处理 模块验证文件内容,并完成文件到模型的转换后,调用流程处理器继续处理;流程处理模块 调用流程调度引擎,唤醒该文件对应的流程实例。流程调度引擎调用业务服务模块,保存确 认报告对象,继续等待任务完成报告;
[0099] (14)当文件扫描模块接收到任务完成报告文件时,交给文件处理模块。文件处理 模块验证文件内容,并完成文件到模型的转换后,调用流程处理器继续处理;流程处理模块 调用流程调度引擎,唤醒该文件对应的流程实例。流程调度引擎调用业务服务模块,保存任 务完成报告对象;
[0100] (15)任务调度流程结束后,流程管理器结束并清除该任务调度流程;
[0101] (16)当订单分解出的所有任务的调度流程完成后,流程调度引擎调用业务服务模 块,生成并保存订单完成报告,并将订单完成报告对象转换成订单完成报告文件,发送给订 单发送方;
[0102] (17)订单调度流程结束后,流程管理器结束并清除该流程。
[0103] 上述主要模块的具体实现过程如下:
[0104] 1、流程管理模块
[0105] 该模块的实现过程如图3所示:
[0106] (1)流程管理器从配置文件管理模块获取流程管理参数,包括等待调度的流程队 列的最大容量、运行中的流程的最大容量,使用获取的参数初始化并启动流程管理器;
[0107] (2)启动流程处理器,流程处理器从配置文件管理模块获取流程配置参数,并将流 程调度参数交给流程调度引擎,提供流程处理服务;
[0108] (3)流程管理器从配置文件管理模块获取流程调度参数,包括流程调度策略、流程 调度时间间隔;根据流程调度策略查找相应调度服务,初始化并启动流程调度器,开启调度 线程;
[0109] (4)流程管理器从文件处理模块获取订单,并做如下处理:a.判断当前等待调度 的流程队列是否已达到最大容量,如果已达到,则流程添加失败,返回"等待添加";如果未 达到,则将流程添加到等待调度的流程队列中,返回"添加成功";b.流程管理器管理流程标 识和流程实例的映射关系,方便存取被管理的流程实例;
[0110] (5)流程调度器定期检测当前运行中的流程队列是否达到最大容量,如果已达到 最大容量,间隔固定时间间隔后重新检测,否则做如下处理:1、按流程调度策略从流程管理 器等待调度的流程队列中获取一个优先级最高的流程实例;2、将获取的流程实例从等待队 列移入运行队列;3、调用流程处理器部署、启动该流程;
[0111] (6)在流程调度过程中,任务、订单报告由流程调度引擎调用业务服务模块生成、 任务报告由流程处理器从文件处理模块获取,进而执行流程处理请求。流程处理请求包括 暂挂流程、唤醒暂挂流程、取消流程、重启流程等;
[0112] (7)当某流程实例调度结束时,流程管理器将该流程从运行队列中移除,并清理流 程相关数据。
[0113] 2、定时任务模块
[0114] 该模块的实现过程如图4所示:
[0115] (1)用户配置所有待执行的定时任务和执行参数,定时任务模块从配置文件管理 模块获取定时任务参数,初始化并启动定时任务调度器;
[0116] (2)注册所有的定时任务和定时任务监听器。定时任务有两种注册方式:1、根据 配置文件中配置的定时任务参数,注册所有的定时任务及任务监听器;2、在系统运行时动 态注册定时任务及任务监听器;
[0117] (3)为每一个注册成功的定时任务开启一个监听线程,监听该任务设定的定时事 件;
[0118] (4)在约定的时间按定时任务设定的参数启动定时任务,让定时任务在某时刻执 行一次,或者从某时刻开始,按指定的时间间隔重复执行多次。定时任务开始执行时,回调 该任务的启动监听器方法;
[0119] (5)当定时任务执行结束后,回调该任务的结束监听器方法。
[0120] 3、文件扫描模块
[0121] 该模块的实现过程如图5所示:
[0122] (1)从配置文件管理模块获取扫描参数,包括系统需要的匹配器,每种匹配器的名 称和匹配规则(即匹配器可匹配的文件类型),为文件匹配服务设置匹配参数;
[0123] (2)从配置文件管理模块获取扫描参数,包括所有的文件扫描目录、文件备份路 径、文件扫描时间间隔等,并开启文件扫描线程;
[0124] (3)对于每个文件扫描路径,每隔固定的时间间隔扫描一次,获取该路径下所有文 件;
[0125] (4)如果未获取到任何文件,则转到步骤(3)继续执行,否则执行步骤(5);
[0126] (5)对于每一个扫描到的文件,首先根据文件类型获取文件匹配服务,验证该文件 是否为系统可忽略的文件。1、如果扫描到的文件为可忽略文件,扫描线程不做任何处理,文 件留在原目录下;2、如果扫描到的文件为不可忽略文件,调用文件匹配服务对文件进行匹 配过滤。如果匹配失败,将文件移动被备份路径下,否则将文件交给文件处理模块处理。如 果文件处理模块处理结果为"等待处理",则文件留在原目录下不做处理,否则将文件移动 到备份路径下;
[0127] (6)处理完所有扫描到的文件后,转到步骤(3)继续执行。
[0128] 本发明未详细阐述的部分属于本领域公知技术。
【权利要求】
1. 一种中控式业务流程调度管理系统,其特征在于包括流程管理模块、业务服务模块、 定时任务模块、配置文件管理模块、接收器模块、生成器模块、发送器模块、数据访问模块、 配置文件管理模块、文件扫描模块、文件处理模块、文件内容验证模块、文件发送模块、模型 与文件转换模块;其中: 流程管理模块:由流程管理器、流程调度器和流程处理器三部分组成;其中流程管理 器从文件处理模块获取订单,从配置文件管理模块获取流程管理参数和流程调度参数,管 理所有等待调度和正在运行的流程实例;流程调度器从流程管理器获取待调度流程,根据 调度策略选取流程,并交由流程处理器启动该流程;流程处理器从文件处理模块获取报告, 从配置文件管理模块获取流程配置参数,将流程调度参数交给流程调度引擎,提供流程处 理服务; 业务服务模块:接收流程调度引擎的调用,提供订单、任务及报告在流程调度和数据访 问时所需的各类业务服务,包括查询操作、接收操作、审核操作、生成操作、发送操作、取消 操作;其中,接收操作调用接收器模块处理,生成操作调用生成器模块处理,发送操作调用 发送器模块处理,其他数据访问操作调用数据访问模块处理; 定时任务模块:从配置文件管理模块获取定时任务参数,在约定的时间按定时任务设 定的参数启动定时任务,让定时任务在某时刻执行一次,或者从某时刻开始,按指定的时间 间隔重复执行多次;待执行的定时任务、定时任务的执行参数可配置; 接收器模块:接收业务服务模块的接收参数,完成接收操作,并将接收结果返回至业 务服务模块;在执行接收操作的过程中,调用数据访问模块进行数据存储;根据数据类型 的不同提供了不同的接收器,数据类型不同,接收行为也不同,可以对接收器的类型进行扩 展,以满足系统需求; 生成器模块:接收业务服务模块的生成参数,完成生成操作,并将生成结果返回至业 务服务模块;在执行生成操作的过程中,调用数据访问模块进行数据存储;根据数据类型 的不同提供了不同的生成器,数据类型不同,生成行为也不同,可以对生成器的类型进行扩 展,以满足系统需求; 发送器模块:接收业务服务模块的发送参数,完成发送操作,并将发送结果返回至业务 服务模块;在执行发送操作的过程中,调用数据访问模块进行数据存储;在发送时,调用模 型与文件转换模块将内部模型对象转换为相应的外部接口文件,并调用文件发送模块将外 部接口文件按指定的发送方式发送;外部接口定义不同,发送器的行为也不同; 数据访问模块:以适配方式与外部数据库连接,接收业务服务模块、接收器模块、生成 器模块和发送器模块的数据访问请求,提供数据访问结果,为系统提供了数据的查询、更 新、添加和删除四类基本操作; 配置文件管理模块:管理系统配置文件,为流程管理模块、定时任务模块、文件发送模 块和文件扫描模块提供配置参数;并提供了配置参数修改服务; 文件扫描模块:当外部接口为文件格式时,从配置文件管理模块获取扫描参数,定时扫 描指定的文件路径,对文件进行匹配、过滤、移除和备份,对于匹配成功文件交由文件处理 模块执行后续操作,否则给出文件不合法提示; 文件处理模块:当外部接口为文件格式时,接收文件扫描模块的文件,调用文件内容验 证模块验证文件内容的合法性;调用模型与文件转换模块完成外部接口文件到内部模型对 象的转换;调用流程管理模块中的流程管理器处理订单;调用流程管理模块中的流程处理 器处理任务确认报告和完成报告; 文件内容验证模块:当外部接口为文件格式时,接收文件处理模块的调用,完成文件内 容验证操作;文件类型不同,验证逻辑可能不同; 模型与文件转换模块:当外部接口为文件格式时,接收文件处理模块的调用,提供外部 接口文件到内部模型对象的转换;接收发送器模块的调用,提供内部模型对象到外部接口 文件的转换。不同的内部模型对象转换成的外部接口文件不同,不同的外部接口文件转换 成的内部模型对象也不同;内部模型对象与外部接口文件的转换规则可配置; 文件发送模块:当外部接口为文件格式时,接收待发送文件,从配置文件管理模块获取 发送参数,提供文件发送服务;文件发送方式包括FTP发送、SSH发送,可以根据发送方式的 不同对发送服务类型进行扩展,以满足系统需求。
2. 根据权利要求1的一种中控式业务流程调度管理系统,其特征在于:所述的流程管 理模块实现过程如下: (1) 流程管理器从配置文件管理模块获取流程管理参数,包括等待调度的流程队列的 最大容量、运行中的流程的最大容量,使用获取的参数初始化并启动流程管理器; (2) 启动流程处理器,流程处理器从配置文件管理模块获取流程配置参数,并将流程调 度参数交给流程调度引擎,提供流程处理服务; (3) 流程管理器从配置文件管理模块获取流程调度参数,包括流程调度策略、流程调 度时间间隔;根据流程调度策略查找相应调度服务,初始化并启动流程调度器,开启调度线 程; (4) 流程管理器从文件处理模块获取订单,并做如下处理:a.判断当前等待调度的流 程队列是否已达到最大容量,如果已达到,则流程添加失败,返回"等待添加";如果未达到, 则将流程添加到等待调度的流程队列中,返回"添加成功";b.流程管理器管理流程标识和 流程实例的映射关系,方便存取被管理的流程实例; (5) 流程调度器定期检测当前运行中的流程队列是否达到最大容量,如果已达到最大 容量,间隔固定时间间隔后重新检测,否则做如下处理:a、按流程调度策略从流程管理器等 待调度的流程队列中获取一个优先级最高的流程实例;b、将获取的流程实例从等待队列移 入运行队列;c、调用流程处理器部署、启动该流程; (6) 在流程调度过程中,任务、订单报告由流程调度引擎调用业务服务模块生成、任务 报告由流程处理器从文件处理模块获取,进而执行流程处理请求。流程处理请求包括暂挂 流程、唤醒暂挂流程、取消流程、重启流程; (7) 当某流程实例调度结束时,流程管理器将该流程从运行队列中移除,并清理流程相 关数据。
3. 根据权利要求1的一种中控式业务流程调度管理系统,其特征在于:所述的定时任 务模块实现过程如下: (1) 用户配置所有待执行的定时任务和执行参数,定时任务模块从配置文件管理模块 获取定时任务参数,初始化并启动定时任务调度器; (2) 注册所有的定时任务和定时任务监听器。定时任务有两种注册方式:a、根据配置 文件中配置的定时任务参数,注册所有的定时任务及任务监听器;b、在系统运行时动态注 册定时任务及任务监听器; (3) 为每一个注册成功的定时任务开启一个监听线程,监听该任务设定的定时事件; (4) 在约定的时间按定时任务设定的参数启动定时任务,让定时任务在某时刻执行一 次,或者从某时刻开始,按指定的时间间隔重复执行多次。定时任务开始执行时,回调该任 务的启动监听器方法; (5) 当定时任务执行结束后,回调该任务的结束监听器方法。
4. 根据权利要求1的一种中控式业务流程调度管理系统,其特征在于:所述的文件扫 描模块实现过程如下: (1) 从配置文件管理模块获取扫描参数,包括系统需要的匹配器,每种匹配器的名称和 匹配规则即匹配器可匹配的文件类型,为文件匹配服务设置匹配参数; (2) 从配置文件管理模块获取扫描参数,包括所有的文件扫描目录、文件备份路径、文 件扫描时间间隔等,并开启文件扫描线程; (3) 对于每个文件扫描路径,每隔固定的时间间隔扫描一次,获取该路径下所有文件; (4) 如果未获取到任何文件,则转到步骤(3)继续执行,否则执行步骤(5); (5) 对于每一个扫描到的文件,首先根据文件类型获取文件匹配服务,验证该文件是否 为系统可忽略的文件,a、如果扫描到的文件为可忽略文件,扫描线程不做任何处理,文件留 在原目录下;b、如果扫描到的文件为不可忽略文件,调用文件匹配服务对文件进行匹配过 滤;如果匹配失败,将文件移动被备份路径下,否则将文件交给文件处理模块处理。如果文 件处理模块处理结果为"等待处理",则文件留在原目录下不做处理,否则将文件移动到备 份路径下; (6) 处理完所有扫描到的文件后,转到步骤(3)继续执行。
5. 根据权利要求1的一种中控式业务流程调度管理系统,其特征在于:所述系统实现 步骤如下: (1) 启动系统; (2) 文件扫描模块定期扫描指定文件路径,对扫描到的所有文件进行匹配、过滤、移 除和备份;如果该文件匹配不成功,则视为垃圾文件,移除后不做处理;对于匹配成功的文 件,如果该文件为可忽略文件,则文件留在扫描路径下不做处理,否则将文件移除备份后, 将文件交给文件处理模块进行处理; (3) 文件处理模块将文件交给文件内容验证模块,进行合法性验证,如果验证通过则执 行步骤(4),否则结束对该文件的处理,继续处理其他文件; (4) 根据文件类型和文件内容,文件处理模块将文件交给模型与文件转换模块,将文件 转换成相应的内部模型对象,交由流程管理模块进行处理; (5) 流程管理模块处理接收的模型对象。如果接收的模型对象类型为订单对象,执行步 骤(6),如果接收的模型对象类型为任务确认报告对象,则执行步骤(13),如果接收的模型 对象类型为任务完成报告对象,则执行步骤(14); (6) 流程管理模块从配置文件管理模块获取该订单对象对应的流程参数,根据该流程 参数生成流程对象实例,加入流程管理器的等待调度队列; (7) 流程调度器使用指定的流程调度策略,定时从流程管理器等待调度的流程队列中 获取一个流程实例,将该流程加入到运行队列,并调用流程处理器处理。流程处理器将流程 调度参数交与流程调度引擎,开启调度流程; (8) 流程开启后,流程调度引擎调用业务服务模块,首先持久化订单文件转换生成的订 单对象; (9) 流程调度引擎调用业务服务模块,生成并保存订单确认报告,并将订单确认报告对 象转换成订单确认报告文件,发送给订单发送方; (10) 系统管理员完成订单审核操作,保存审核结果。流程调度引擎调用业务服务模块, 将审核结果转换成订单审核报告,发送给订单发送方。如果审核通过,继续执行步骤(11), 否则结束流程,执行步骤(17); (11) 流程调度引擎调用业务服务模块,根据订单数据生成并保存任务对象,对于每一 个生成的任务对象,开启任务调度流程,任务调度流程执行步骤为步骤(12)至(15); (12) 流程调度引擎调用业务服务模块,将生成的任务对象转换成任务文件,发送给任 务接收方; (13) 当文件扫描模块接收到任务确认报告文件时,交给文件处理模块。文件处理模块 验证文件内容,并完成文件到模型的转换后,调用流程处理器继续处理;流程处理模块调用 流程调度引擎,唤醒该文件对应的流程实例。流程调度引擎调用业务服务模块,保存确认报 告对象,继续等待任务完成报告; (14) 当文件扫描模块接收到任务完成报告文件时,交给文件处理模块。文件处理模块 验证文件内容,并完成文件到模型的转换后,调用流程处理器继续处理;流程处理模块调用 流程调度引擎,唤醒该文件对应的流程实例。流程调度引擎调用业务服务模块,保存任务完 成报告对象; (15) 任务调度流程结束后,流程管理器结束并清除该任务调度流程; (16) 当订单分解出的所有任务的调度流程完成后,流程调度引擎调用业务服务模块, 生成并保存订单完成报告,并将订单完成报告对象转换成订单完成报告文件,发送给订单 发送方; (17) 订单调度流程结束后,流程管理器结束并清除该流程。
【文档编号】G06Q10/06GK104063273SQ201410265833
【公开日】2014年9月24日 申请日期:2014年6月13日 优先权日:2014年6月13日
【发明者】石晓宇, 王海涛, 谭东宇, 李明泉, 王守信, 王智尧, 刘华, 赵坤 申请人:航天恒星科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1