首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件套件 / 软件组件 / 规则引擎 / 一种中控式业务流程调度管理系统及实现方法

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

阅读:1027发布:2020-06-23

专利汇可以提供一种中控式业务流程调度管理系统及实现方法专利检索,专利查询,专利分析的服务。并且一种中控式业务流程调度管理系统及实现方法,包括流程管理模 块 、业务服务模块、定时任务模块、配置文件管理模块、接收器模块、生成器模块、发送器模块、数据 访问 模块、配置文件管理模块、文件扫描模块、文件处理模块、文件内容验证模块、文件发送模块、模型与文件转换模块;本 发明 具有良好的可扩展能 力 和可重用性,适应不同系统在功能需求和业务需求等方面的扩展,有利于实现个性化调度 请求 ,提高了可复用性。,下面是一种中控式业务流程调度管理系统及实现方法专利的具体信息内容。

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)订单调度流程结束后,流程管理器结束并清除该流程。

说明书全文

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

技术领域

[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] 本发明未详细阐述的部分属于本领域公知技术。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈