一种流程控制系统及方法技术方案

技术编号:15105047 阅读:50 留言:0更新日期:2017-04-08 15:34
本发明专利技术公开了一种流程控制系统及方法,用于降低流程控制的实现难度及维护成本,该系统包括:界面模块、主控模块及任务执行模块;界面模块,用于调用状态元素构建状态控制流程图,根据状态控制流程图生成流程描述文件,将流程描述文件保存到数据库;向主控模块发送流程开始触发命令;从数据库读取任务运行信息,显示任务运行信息;主控模块,用于当接收到流程开始触发命令时,从数据库中获取流程描述文件,生成任务执行模块的控制执行信息;根据控制执行信息向任务执行模块发送任务命令;接收任务执行模块反馈的任务运行信息,实时将任务运行信息写入数据库;任务执行模块,用于根据任务命令执行任务,在任务执行完成后向主控反馈任务运行信息。

【技术实现步骤摘要】

本专利技术涉及互联网
,具体涉及一种流程控制系统及方法
技术介绍
在互联网项目开发中,有一些功能的实现流程复杂,这样对实现流程的控制也就繁重复杂,例如在搜索引擎构建的过程中,流程控制是构建系统的关键,而由于实现搜索引擎的处理模块数量较多、流程复杂,导致对流程中各模块的控制也很复杂。在现有技术中,流程控制通常采用脚本处理方式,用脚本将各个流程联运控制起来。但是脚本处理方式需要人工编写脚本,当流程复杂时,流程控制脚本也极其复杂,只有对整个业务非常熟悉的专业人员才能够熟练使用,流程控制实现困难,且脚本生成后不便于修改与查找错误,难以维护。同时,利用脚本进行流程控制时,难以发现在流程运行过程中的运行结果错误,导致查找错误原因效率较低。
技术实现思路
有鉴于此,本专利技术提供一种流程控制系统及方法,以解决现有技术中流程控制实现复杂、难以维护的技术问题。为解决上述问题,本专利技术提供的技术方案如下:一种流程控制系统,所述系统包括:界面模块、主控模块以及任务执行模块;所述界面模块,用于调用状态元素构建状态控制流程图,根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库;向所述主控模块发送流程开始触发命令;从所述数据库读取任务运行信息,显示所述任务运行信息;所述主控模块,用于当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成所述任务执行模块的控制执行信息;根据所述控制执行信息向所述任务执行模块发送任务命令;接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库;所述任务执行模块,用于根据所述任务命令执行任务,在任务执行完成后向所述主控模块反馈任务运行信息。相应的,所述主控模块具体用于:当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,通过解析所述流程描述文件生成任务执行树,所述任务执行树包括任务执行模块的执行顺序以及各个所述任务执行模块对应的任务命令;按照所述执行顺序向各个所述任务执行模块发送相应的任务命令;接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库。相应的,所述界面模块具体用于:调用状态元素构建状态控制流程图;读取所述状态控制流程图中各个所述状态元素的状态类型标签、状态标识以及状态内容,按照所述状态控制流程图各个所述状态元素的状态走向顺序将各个所述状态元素的状态类型标签、状态标识以及状态内容写入流程描述文件,将所述流程描述文件保存到数据库;向所述主控模块发送流程开始触发命令;从所述数据库读取任务运行信息,显示所述任务运行信息。相应的,所述主控模块还用于:在流程重新启动时,从数据库读取所述任务运行信息;根据所述任务运行信息,继续向所述任务执行模块发送任务命令。相应的,所述主控模块还用于:当超过预设时间未收到所述任务执行模块反馈的任务运行信息,产生告警信息写入所述数据库;所述界面模块还用于:从所述数据库读取所述告警信息,显示所述告警信息。一种流程控制方法,所述方法包括:界面模块调用状态元素构建状态控制流程图,根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库;向主控模块发送流程开始触发命令;所述主控模块当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成任务执行模块的控制执行信息;根据所述控制执行信息向所述任务执行模块发送任务命令;所述任务执行模块根据所述任务命令执行任务,在任务执行完成后向所述主控模块反馈任务运行信息;所述主控模块接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库;所述界面模块从所述数据库读取任务运行信息,显示所述任务运行信息。相应的,所述当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成任务执行模块的控制执行信息,包括:当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,通过解析所述流程描述文件生成任务执行树,所述任务执行树包括任务执行模块的执行顺序以及各个所述任务执行模块对应的任务命令;所述根据所述控制执行信息向所述任务执行模块发送任务命令,包括:按照所述执行顺序向各个所述任务执行模块发送相应的任务命令。相应的,所述根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库,包括:读取所述状态控制流程图中各个所述状态元素的状态类型标签、状态标识以及状态内容,按照所述状态控制流程图各个所述状态元素的状态走向顺序将各个所述状态元素的状态类型标签、状态标识以及状态内容写入流程描述文件,将所述流程描述文件保存到数据库。相应的,所述方法还包括:所述主控模块在流程重新启动时,从数据库读取所述任务运行信息;根据所述任务运行信息,继续向所述任务执行模块发送任务命令。相应的,所述方法还包括:所述主控模块当超过预设时间未收到所述任务执行模块反馈的任务运行信息,产生告警信息写入所述数据库;所述界面模块从所述数据库读取所述告警信息,显示所述告警信息。从所述数据库读取所述告警信息,显示所述告警信息。由此可见,本专利技术实施例具有如下有益效果:本专利技术实施例运用工作流技术,通过可视化方案调用状态元素以构建状态控制流程图,根据状态控制流程图即可生成流程描述文件,主控模块根据流程描述文件采用集中控制方式来处理各个流程,将流程分解成可执行的任务,随后将任务放入各个任务执行模块的任务池中,各个任务执行模块从任务池中获取任务执行,执行完成后将执行结果上报给主控模块,主控模块根据任务执行模块返回的结果继续进行流程控制。这样,通过绘制状态控制流程图即可自动完成流程控制,实现简单、便于维护,有效节省实现流程控制的时间;同时,采用这种自动化流程控制可以减小任务的粒度,以减小任务出错对整体流程的影响和流程恢复的难度,并且可以实时反馈流程执行运行状态以供用户查看参考,并及时反馈异常情况。附图说明图1为本专利技术实施例中提供的流程控制系统实施例的示意图;图2为本专利技术实施例中提供的流程控制系统实施例的结构示意图;图3为本专利技术实施例中提供的界面模块实施例的流程图;图4为本专利技术实施例中提供的主控模块实施例的流程图;图5为本专利技术实施例中提供的主控模块实施例的流程图;图6为本专利技术实施例中提供的流程控制方法实施例的流程图;...

【技术保护点】
一种流程控制系统,其特征在于,所述系统包括:界面模块、主控模块以及任务执行模块;所述界面模块,用于调用状态元素构建状态控制流程图,根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库;向所述主控模块发送流程开始触发命令;从所述数据库读取任务运行信息,显示所述任务运行信息;所述主控模块,用于当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成所述任务执行模块的控制执行信息;根据所述控制执行信息向所述任务执行模块发送任务命令;接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库;所述任务执行模块,用于根据所述任务命令执行任务,在任务执行完成后向所述主控模块反馈任务运行信息。

【技术特征摘要】
1.一种流程控制系统,其特征在于,所述系统包括:
界面模块、主控模块以及任务执行模块;
所述界面模块,用于调用状态元素构建状态控制流程图,根据所述状态
控制流程图生成流程描述文件,将所述流程描述文件保存到数据库;向所述
主控模块发送流程开始触发命令;从所述数据库读取任务运行信息,显示所
述任务运行信息;
所述主控模块,用于当接收到所述流程开始触发命令时,从所述数据库
中获取所述流程描述文件,生成所述任务执行模块的控制执行信息;根据所
述控制执行信息向所述任务执行模块发送任务命令;接收所述任务执行模块
反馈的任务运行信息,实时将所述任务运行信息写入所述数据库;
所述任务执行模块,用于根据所述任务命令执行任务,在任务执行完成
后向所述主控模块反馈任务运行信息。
2.根据权利要求1所述的系统,其特征在于,所述主控模块具体用于:
当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述
文件,通过解析所述流程描述文件生成任务执行树,所述任务执行树包括任
务执行模块的执行顺序以及各个所述任务执行模块对应的任务命令;
按照所述执行顺序向各个所述任务执行模块发送相应的任务命令;
接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息
写入所述数据库。
3.根据权利要求1所述的系统,其特征在于,所述界面模块具体用于:
调用状态元素构建状态控制流程图;
读取所述状态控制流程图中各个所述状态元素的状态类型标签、状态标
识以及状态内容,按照所述状态控制流程图各个所述状态元素的状态走向顺
序将各个所述状态元素的状态类型标签、状态标识以及状态内容写入流程描
述文件,将所述流程描述文件保存到数据库;
向所述主控模块发送流程开始触发命令;从所述数据库读取任务运行信
息,显示所述任务运行信息。
4.根据权利要求1所述的系统,其特征在于,所述主控模块还用于:
在流程重新启动时,从数据库读取所述任务运行信息;根据所述任务运
行信息,继续向所述任务执行模块发送任务命令。
5.根据权利要求1所述的系统,其特征在于,所述主控模块还用于:
当超过预设时间未收到所述任务执行模块反馈的任务运行信息,产生告
警信息写入所述数据库;
所述界面模块还用于:
从所述数据库读取所述告警信息,显示所述告警信息。
6.一种流...

【专利技术属性】
技术研发人员:易剑
申请(专利权)人:腾讯数码深圳有限公司
类型:发明
国别省市:广东;44

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

1