一种基于业务流程设计的快速开发引擎系统技术方案

技术编号:22218078 阅读:36 留言:0更新日期:2019-09-30 00:52
本发明专利技术公开了一种基于业务流程设计的快速开发引擎系统,该引擎系统包括流程驱动引擎和流程设计软件,所述流程驱动引擎具体包括数据源模块、日志模块、变量域模块、资源模块及作业模块,所述流程驱动引擎与流程设计软件通过协作接口进行数据通讯。本发明专利技术的基于业务流程设计的快速开发引擎系统以编程角度出发,利用流程设计软件制定业务流程,通过流程驱动引擎,使得开发人员以实现具体功能与逻辑为任务,实现从面向对象的开发模式转变为过程性功能实现的开发模式,大大提高了开发人员的开发效率,减小了管理成本。

A Rapid Development Engine System Based on Business Process Design

【技术实现步骤摘要】
一种基于业务流程设计的快速开发引擎系统
本专利技术属于开发引擎
,具体涉及一种基于业务流程设计的快速开发引擎系统。
技术介绍
在关于数据处理、业务流程的项目开发中,往往因为开发人员的技术水平、业务理解参差不齐,导致各自对项目目标、流程的理解不清晰,导致项目开发产生偏差。为了更好地完成项目开发,项目管理人员需要大量的项目管理工具,但这些往往只是以规范、制度性地规避风险。那么,让开发人员无需关心业务流程的和数据走向,专注某个具体功能实现的开发模式显得尤为重要。
技术实现思路
本专利技术的主要目的在于提供一种基于业务流程设计的快速开发引擎系统,旨在解决既有方法中存在的以上全部或部分技术问题。为实现上述目的,本专利技术提供一种基于业务流程设计的快速开发引擎系统,包括流程驱动引擎和流程设计软件;所述流程驱动引擎用于通过解析流程配置文件,按配置方式生成整个业务流程模型,自动完成数据输入、处理、输出;所述流程驱动引擎具体包括数据源模块、日志模块、变量域模块、资源模块及作业模块,所述数据源模块用于缓存流程中涉及的所有数据源,所述日志模块用于提供引擎中日志输出方式,所述变量域模块用于提供变量保存方式,所述资源模块用于设置组件使用到的全局资源,资源在引擎启动时加载,同时允许进行定时刷新,所述作业模块用于实现整个业务流程,通过循环器定义轮询周期,组织各组件形成业务流程;所述流程设计软件用于对业务流程进行设计,生成配置文件,对项目、组件进行管理;所述流程驱动引擎与流程设计软件通过协作接口进行数据通讯,所述流程设计软件完成业务流程设计后通过第一协作接口导出配置文件提供给流程引擎使用,所述流程驱动引擎通过第二协作接口向设计软件上报各通道的数据堆积统计量,所述流程驱动引擎通过第三协作接口向设计软件提供管理API接口。进一步地,所述作业模块具体包括功能组件、数据通道和循环器,所述功能组件用于自动完成数据输入、处理、输出,所述数据通道用于以FIFO消息队列方式进行数据中转,所述循环器用于定义作业的轮询方式。进一步地,所述流程驱动引擎中,将所有编程单元定义为可配置模块,其中具备数据流动的模块定位为功能组件,具体包括输入组件、过程组件、输出组件,所述输入组件用于将外部数据输入到流程驱动引擎中,所述过程组件用于将数据从数据通道取出,进行分析处理后,输出至另一通道的中间过程组件,所述输出组件从数据通道取出数据,并输出至外部系统。进一步地,所述流程驱动引擎中,一个业务服务允许由一个或多个作业流程进行组织,在作业流程中各组件通过顺序流程形成串行输入输出关系,同时允许多个组件向一个组件输入,也允许一个组件向多个组件输出,数据流贯穿于整个业务服务流程中,作业流程以配置文件的方式保存,通过引擎加载生成各模块组件,并按配置执行自身的业务逻辑。进一步地,所述流程驱动引擎所有的对外开发方式均采用接口实现,以反射工厂方式实现对象实例化,通过对接口的实现,形成类型的横向扩展,通过对对象的继承,实现派生的扩展,从而形成整个派生体系结构树。进一步地,所述流程驱动引擎还用于进行通道监视、集成管控及数据追踪;通道监视具体为对所有数据通道堆积的数据量进行统计,通过UDP方式向外进行数据包广播,流程设计软件接收后在流程监控图上展示;集成管控具体为以自身作为注册节点,以restful接口方式提供管理API,允许第三方监控界面集成展示整个引擎服务、作业流程等,同时也提供对作业的管控能力;数据追踪具体为数据在输入组件接收后进入系统内部时,通过对数据标注产生一个唯一的编号和时间戳,在数据最终输出时,通过编号和时间戳计算此数据的整个处理时间。进一步地,所述流程设计软件以可视化方式配置各组件的输入输出关系,形成业务工作流,用户通过流程配置模块拖拽形成配置文件后,由编译打包模块负责在指定目录获取代码,进行编译,打包输出。进一步地,所述流程设计软件在配置文件中指定各模块的配置,包括预置类型和用户开发的自定义类型;在配置文件配置完成后,启动系统,由框架统一装载配置文件,通过对配置文件的解析,获取各模块的类型,并按类型进行反射实例化,并通过读取自定义的配置信息,对功能模块进行个性化配置。进一步地,系统允许以单节点方式或集群方式进行分布式部署,以单节点方式部署时,所有作业及组件作用于同一应用服务;以集群方式进行分布式部署时,以Kafka作为分布式部署的数据输入与输出源,实现全系统中各个服务的输入输出负载均衡。本专利技术的有益效果是:本专利技术的基于业务流程设计的快速开发引擎系统以编程角度出发,利用流程设计软件制定业务流程,通过流程驱动引擎,使得开发人员以实现具体功能与逻辑为任务,实现从面向对象的开发模式转变为过程性功能实现的开发模式,大大提高了开发人员的开发效率,减小了管理成本。附图说明图1是本专利技术的基于业务流程设计的快速开发引擎系统的框架图;图2是本专利技术的流程驱动引擎的执行流程图;图3是本专利技术的流程驱动引擎与流程设计软件协作接口关系图;图4是本专利技术的作业模块结构示意图;图5是本专利技术的作业模块工作流程示意图;图6是本专利技术的数据通道解耦示意图;图7是本专利技术的流程驱动引擎接口拓展和继承示意图;图8是本专利技术的业务服务组织结构示意图;图9是本专利技术的流程驱动引擎集成管控示意图;图10是本专利技术的流程驱动引擎数据追踪示意图;图11是本专利技术的服务部署结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,是本专利技术的基于业务流程设计的快速开发引擎系统的框架图;一种基于业务流程设计的快速开发引擎系统,包括流程驱动引擎和流程设计软件;所述流程驱动引擎用于通过解析流程配置文件,按配置方式生成整个业务流程模型,自动完成数据输入、处理、输出;所述流程驱动引擎具体包括数据源模块、日志模块、变量域模块、资源模块及作业模块,所述数据源模块用于缓存流程中涉及的所有数据源,所述日志模块用于提供引擎中日志输出方式,所述变量域模块用于提供变量保存方式,所述资源模块用于设置组件使用到的全局资源,资源在引擎启动时加载,同时允许进行定时刷新,所述作业模块用于实现整个业务流程,通过循环器定义轮询周期,组织各组件形成业务流程;所述流程设计软件用于对业务流程进行设计,生成配置文件,对项目、组件进行管理;所述流程驱动引擎与流程设计软件通过协作接口进行数据通讯,所述流程设计软件完成业务流程设计后通过第一协作接口导出配置文件提供给流程引擎使用,所述流程驱动引擎通过第二协作接口向设计软件上报各通道的数据堆积统计量,所述流程驱动引擎通过第三协作接口向设计软件提供管理API接口。在本专利技术的一个可选实施例中,上述流程驱动引擎中的作业模块具体包括功能组件、数据通道和循环器,如图4所示,所述功能组件用于自动完成数据输入、处理、输出,所述数据通道用于以FIFO消息队列方式进行数据中转,所述循环器用于定义作业的轮询方式。在流程驱动引擎中,将所有编程单元定义为可配置模块,其中具备数据流动的模块定位为功能组件,具体包括输入组件、过程组件、输出组件,所述输入组件用于将外部数据输入到流程驱动引擎中,所述过程组件用于将数据从数据通道取出,本文档来自技高网...

【技术保护点】
1.一种基于业务流程设计的快速开发引擎系统,其特征在于,包括流程驱动引擎和流程设计软件;所述流程驱动引擎用于通过解析流程配置文件,按配置方式生成整个业务流程模型,自动完成数据输入、处理、输出;所述流程驱动引擎具体包括数据源模块、日志模块、变量域模块、资源模块及作业模块,所述数据源模块用于缓存流程中涉及的所有数据源,所述日志模块用于提供引擎中日志输出方式,所述变量域模块用于提供变量保存方式,所述资源模块用于设置组件使用到的全局资源,资源在引擎启动时加载,同时允许进行定时刷新,所述作业模块用于实现整个业务流程,通过循环器定义轮询周期,组织各组件形成业务流程;所述流程设计软件用于对业务流程进行设计,生成配置文件,对项目、组件进行管理;所述流程驱动引擎与流程设计软件通过协作接口进行数据通讯,所述流程设计软件完成业务流程设计后通过第一协作接口导出配置文件提供给流程引擎使用,所述流程驱动引擎通过第二协作接口向设计软件上报各通道的数据堆积统计量,所述流程驱动引擎通过第三协作接口向设计软件提供管理API接口。

【技术特征摘要】
1.一种基于业务流程设计的快速开发引擎系统,其特征在于,包括流程驱动引擎和流程设计软件;所述流程驱动引擎用于通过解析流程配置文件,按配置方式生成整个业务流程模型,自动完成数据输入、处理、输出;所述流程驱动引擎具体包括数据源模块、日志模块、变量域模块、资源模块及作业模块,所述数据源模块用于缓存流程中涉及的所有数据源,所述日志模块用于提供引擎中日志输出方式,所述变量域模块用于提供变量保存方式,所述资源模块用于设置组件使用到的全局资源,资源在引擎启动时加载,同时允许进行定时刷新,所述作业模块用于实现整个业务流程,通过循环器定义轮询周期,组织各组件形成业务流程;所述流程设计软件用于对业务流程进行设计,生成配置文件,对项目、组件进行管理;所述流程驱动引擎与流程设计软件通过协作接口进行数据通讯,所述流程设计软件完成业务流程设计后通过第一协作接口导出配置文件提供给流程引擎使用,所述流程驱动引擎通过第二协作接口向设计软件上报各通道的数据堆积统计量,所述流程驱动引擎通过第三协作接口向设计软件提供管理API接口。2.如权利要求1所述的基于业务流程设计的快速开发引擎系统,其特征在于,所述作业模块具体包括功能组件、数据通道和循环器,所述功能组件用于自动完成数据输入、处理、输出,所述数据通道用于以FIFO消息队列方式进行数据中转,所述循环器用于定义作业的轮询方式。3.如权利要求2所述的基于业务流程设计的快速开发引擎系统,其特征在于,所述流程驱动引擎中,将所有编程单元定义为可配置模块,其中具备数据流动的模块定位为功能组件,具体包括输入组件、过程组件、输出组件,所述输入组件用于将外部数据输入到流程驱动引擎中,所述过程组件用于将数据从数据通道取出,进行分析处理后,输出至另一通道的中间过程组件,所述输出组件从数据通道取出数据,并输出至外部系统。4.如权利要求3所述的基于业务流程设计的快速开发引擎系统,其特征在于,所述流程驱动引擎中,一个业务服务允许由一个或多个作业流程进行组织,在作业流程中各组件通过顺序流程形成串行输入输出关系,同时允许多个组件向一个组件输入,也允许一个组件向多个组件输...

【专利技术属性】
技术研发人员:段军薛飞阳霍曦
申请(专利权)人:成都九洲电子信息系统股份有限公司
类型:发明
国别省市:四川,51

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

1