一种流程控制系统及方法

文档序号:9826139阅读:467来源:国知局
一种流程控制系统及方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种流程控制系统及方法。
【背景技术】
[0002]在互联网项目开发中,有一些功能的实现流程复杂,这样对实现流程的控制也就繁重复杂,例如在搜索引擎构建的过程中,流程控制是构建系统的关键,而由于实现搜索引擎的处理模块数量较多、流程复杂,导致对流程中各模块的控制也很复杂。
[0003]在现有技术中,流程控制通常采用脚本处理方式,用脚本将各个流程联运控制起来。但是脚本处理方式需要人工编写脚本,当流程复杂时,流程控制脚本也极其复杂,只有对整个业务非常熟悉的专业人员才能够熟练使用,流程控制实现困难,且脚本生成后不便于修改与查找错误,难以维护。同时,利用脚本进行流程控制时,难以发现在流程运行过程中的运行结果错误,导致查找错误原因效率较低。

【发明内容】

[0004]有鉴于此,本发明提供一种流程控制系统及方法,以解决现有技术中流程控制实现复杂、难以维护的技术问题。
[0005]为解决上述问题,本发明提供的技术方案如下:
[0006]一种流程控制系统,所述系统包括:
[0007]界面模块、主控模块以及任务执行模块;
[0008]所述界面模块,用于调用状态元素构建状态控制流程图,根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库;向所述主控模块发送流程开始触发命令;从所述数据库读取任务运行信息,显示所述任务运行信息;
[0009]所述主控模块,用于当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成所述任务执行模块的控制执行信息;根据所述控制执行信息向所述任务执行模块发送任务命令;接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库;
[0010]所述任务执行模块,用于根据所述任务命令执行任务,在任务执行完成后向所述主控模块反馈任务运行信息。
[0011 ] 相应的,所述主控模块具体用于:
[0012]当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,通过解析所述流程描述文件生成任务执行树,所述任务执行树包括任务执行模块的执行顺序以及各个所述任务执行模块对应的任务命令;
[0013]按照所述执行顺序向各个所述任务执行模块发送相应的任务命令;
[0014]接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库。
[0015]相应的,所述界面模块具体用于:
[0016]调用状态元素构建状态控制流程图;
[0017]读取所述状态控制流程图中各个所述状态元素的状态类型标签、状态标识以及状态内容,按照所述状态控制流程图各个所述状态元素的状态走向顺序将各个所述状态元素的状态类型标签、状态标识以及状态内容写入流程描述文件,将所述流程描述文件保存到数据库;
[0018]向所述主控模块发送流程开始触发命令;从所述数据库读取任务运行信息,显示所述任务运行信息。
[0019]相应的,所述主控模块还用于:
[0020]在流程重新启动时,从数据库读取所述任务运行信息;根据所述任务运行信息,继续向所述任务执行模块发送任务命令。
[0021 ] 相应的,所述主控模块还用于:
[0022]当超过预设时间未收到所述任务执行模块反馈的任务运行信息,产生告警信息写入所述数据库;
[0023]所述界面模块还用于:
[0024]从所述数据库读取所述告警信息,显示所述告警信息。
[0025]一种流程控制方法,所述方法包括:
[0026]界面模块调用状态元素构建状态控制流程图,根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库;向主控模块发送流程开始触发命令;
[0027]所述主控模块当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成任务执行模块的控制执行信息;根据所述控制执行信息向所述任务执行模块发送任务命令;
[0028]所述任务执行模块根据所述任务命令执行任务,在任务执行完成后向所述主控模块反馈任务运行信息;
[0029]所述主控模块接收所述任务执行模块反馈的任务运行信息,实时将所述任务运行信息写入所述数据库;
[0030]所述界面模块从所述数据库读取任务运行信息,显示所述任务运行信息。
[0031]相应的,所述当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,生成任务执行模块的控制执行信息,包括:
[0032]当接收到所述流程开始触发命令时,从所述数据库中获取所述流程描述文件,通过解析所述流程描述文件生成任务执行树,所述任务执行树包括任务执行模块的执行顺序以及各个所述任务执行模块对应的任务命令;
[0033]所述根据所述控制执行信息向所述任务执行模块发送任务命令,包括:
[0034]按照所述执行顺序向各个所述任务执行模块发送相应的任务命令。
[0035]相应的,所述根据所述状态控制流程图生成流程描述文件,将所述流程描述文件保存到数据库,包括:
[0036]读取所述状态控制流程图中各个所述状态元素的状态类型标签、状态标识以及状态内容,按照所述状态控制流程图各个所述状态元素的状态走向顺序将各个所述状态元素的状态类型标签、状态标识以及状态内容写入流程描述文件,将所述流程描述文件保存到数据库。
[0037]相应的,所述方法还包括:
[0038]所述主控模块在流程重新启动时,从数据库读取所述任务运行信息;根据所述任务运行信息,继续向所述任务执行模块发送任务命令。
[0039]相应的,所述方法还包括:
[0040]所述主控模块当超过预设时间未收到所述任务执行模块反馈的任务运行信息,产生告警信息写入所述数据库;
[0041]所述界面模块从所述数据库读取所述告警信息,显示所述告警信息。从所述数据库读取所述告警信息,显示所述告警信息。
[0042]由此可见,本发明实施例具有如下有益效果:
[0043]本发明实施例运用工作流技术,通过可视化方案调用状态元素以构建状态控制流程图,根据状态控制流程图即可生成流程描述文件,主控模块根据流程描述文件采用集中控制方式来处理各个流程,将流程分解成可执行的任务,随后将任务放入各个任务执行模块的任务池中,各个任务执行模块从任务池中获取任务执行,执行完成后将执行结果上报给主控模块,主控模块根据任务执行模块返回的结果继续进行流程控制。这样,通过绘制状态控制流程图即可自动完成流程控制,实现简单、便于维护,有效节省实现流程控制的时间;同时,采用这种自动化流程控制可以减小任务的粒度,以减小任务出错对整体流程的影响和流程恢复的难度,并且可以实时反馈流程执行运行状态以供用户查看参考,并及时反馈异常情况。
【附图说明】
[0044]图1为本发明实施例中提供的流程控制系统实施例的示意图;
[004
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1