一种依托于表格的工作流引擎制造技术

技术编号:32331846 阅读:12 留言:0更新日期:2022-02-16 18:39
本发明专利技术公开了一种依托于表格的工作流引擎,分为工作流存储和工作流执行两部分,通过表达式的创建、验证、解析,从而完成配置内表格数据更新以及工作流存储。本发明专利技术采用上述工作流引擎,能够快速完成配置内关联表格数据的创建、更新以及其他通知等相关功能的扩展和实现,简化操作员的重复操作,自动化实现数据的扭转以及业务功能的实现,数据变更更快、更安全及方便。全及方便。全及方便。

【技术实现步骤摘要】
一种依托于表格的工作流引擎


[0001]本专利技术涉及数据存储
,尤其是涉及一种依托于表格的工作流引擎。

技术介绍

[0002]在一个工作区或一个企业内部,管理者通常会创建大量表格,以完成数据的分类存储与管理。受项目约束,多张表格之间往往会相互关联。当某一张表格数据变更时,通常需要管理者手动完成关联表格的同步更新,以免影响后期调用。当关联表格数据量较大时,这种操作方式更新速度显著降低,且极易导致丢表、数据误操作、操作繁琐等多种问题,严重跟不上项目需求。

技术实现思路

[0003]本专利技术的目的是提供了一种依托于表格的工作流引擎,用以解决表格更新速度慢、易丢表、易出错及繁琐的问题。
[0004]为实现上述目的,本专利技术提供了如下技术方案:
[0005]一种依托于表格的工作流引擎,分为工作流存储和工作流执行两部分,工作流存储用于保存工作流,工作流执行用于维护表格数据;
[0006]工作流存储包括触发方式、触发条件、动作执行和动作存储;其中,触发方式依据指令生成方式创建表达式,并下发至表格;触发条件依据表达式对表格数据验证,以判断是否对表格数据进行操作;动作执行在表达式验证通过时,该工作流会完成一个或多个具体工作流执行操作;动作存储在工作流保存时,生成表达式的抽象语法树并随工作流同步存储;
[0007]工作流执行根据用户表格配置生成表格关系树与表格影响树,表格关系树表示表格之间的数据关联关系,表格影响树表示表格关系树的执行过程;系统依据表达式完成当前表格数据更新,并依据表格影响树依次完成关联表格的数据更新。
[0008]优选的,所述工作流执行的具体过程如下:
[0009]S1、以当前表格为起始端,获得表格影响树及相关工作流;
[0010]S2、验证下一阶段工作流的触发条件,若不通过则结束;
[0011]S3、执行下一阶段工作流的动作,完成下一个表格的数据更新,并把创建好的数据保存作为后续工作流的输入;
[0012]S4、维护第二表格上的操作行为;
[0013]S5、依据表格影响树顺序,依次对后续工作流验证,并完成下一个表格的数据更新,直至完成末端表格的数据更新。
[0014]优选的,所述抽象语法树由表达式经词法分析与语法分析而成;词法分析将文本形式的表达式转换成可识别的元素单元,语法分析通过对元素单元组合验证形成抽象语法树。
[0015]优选的,所述动作存储在生成抽象语法树时,还依次验证触发条件、表达式是否合
法。
[0016]优选的,所述触发方式包括创建数据触发、更新数据触发、删除数据触发、数据字段到期触发、指定时间查找数据后触发、手动触发查出数据后触发、指定时间触发、手动触发。
[0017]本专利技术采用上述结构的依托于表格的工作流引擎,表格数据更新无需人工介入,更新速度快,安全性高,管理更方便。
附图说明
[0018]图1为本专利技术实施例中工作流存储阶段的流程图;
[0019]图2为本专利技术实施例中表达式词法分析产生的元素图;
[0020]图3为本专利技术实施例中表达式语法分析产生的语法树;
[0021]图4为本专利技术实施例中正常状态的表格关系树;
[0022]图5为本专利技术实施例中死循环状态的表格关系树;
[0023]图6为本专利技术实施例中的表格影响树。
具体实施方式
[0024]以下结合附图和实施例对本专利技术的技术方案作进一步说明。
[0025]一种依托于表格的工作流引擎包括工作流存储和工作流执行两部分。
[0026]工作流存储包括触发方式、触发条件、动作执行和动作存储。其中,触发方式依据指令生成方式创建表达式,并下发至表格;触发条件依据表达式对表格数据验证,以判断是否对表格数据进行操作;动作执行在表达式验证通过时,完成一个或多个工作流执行操作;动作存储在工作流保存时,生成表达式的抽象语法树并随工作流同步存储。
[0027]工作流执行依据表达式完成当前表格数据更新,并依据表格影响树依次完成关联表格的数据更新。
[0028]具体地,工作流存储阶段的工作流程如图1所示。
[0029]S1:依据触发方式自动创建表达式;
[0030]S2:触发条件依据表达式对表格数据进行验证;验证不通过,可以直接结束,也可以提示原因重新返回S1步骤;
[0031]S3:依据表达式进入工作流执行阶段;
[0032]S4:工作流保存时,验证触发条件及表达式是否合法,同时生成AST结构;
[0033]S5:保存工作流及AST。
[0034]其中,触发方式包括如下几种方式:
[0035]①
创建数据触发——绑定表格发生创建行为后触发
[0036]②
更新数据触发——绑定表格发生更新行为后触发
[0037]③
删除数据触发——绑定表格发生删除行为后触发
[0038]④
数据字段到期触发——绑定表格指定时间类型字段到期之后执行
[0039]⑤
指定时间查找数据后触发——指定时间达到后,通过筛选条件获取数据后执行
[0040]⑥
手动触发查出数据后触发——由用户手动触发后,通过筛选条件获取数据后执行
[0041]⑦
指定时间触发——指定时间达到后,直接执行
[0042]⑧
手动触发——用户手动触发后,直接执行
[0043]表达式主要具备以下五个元素组合而来:
[0044]①
常量——代码语言上写死的值,一般为文本或者数字,如:'文本常量'、12等
[0045]②
方法——各种实现功能逻辑的方法,如:NOW()、IF等
[0046]③
变量——当前执行环境可使用的表格字段,如:{当前数据.数字字段},{目标表格.文本字段}
[0047]④
操作——数字操作和比较,+,

,*,/,>,<
[0048]⑤
括号——影响优先级,(),[][0049]表达式解析过程实施例如图2

3所示。
[0050]1.词法分析,将文本形式的表达式转换成可识别的上述元素。
[0051]2、语法分析,将代码元素进行组合验证,然后生成AST。
[0052]工作流执行,当工作流的配置发生变更时,整个工作区的所有工作流会根据配置生成表格关系树与表格影响树。
[0053]表格:A、B、C
[0054]工作流:w1依托表A,当表A数据创建时触发,动作为在B表创建数据;w2依托表B,当表B数据创建时触发,动作为在C表创建数据。
[0055]正常状态下的表格关系树如图4所示。如果此时存在工作流w3依托表C,当表C数据创建时触发,动作为在A表创建数据,那么生成的表格关系树如图5所示,表格陷入死循环阶段,是系统不允许的。因此,最终生成的表格本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种依托于表格的工作流引擎,其特征在于:分为工作流存储和工作流执行两部分,工作流存储用于保存工作流,工作流执行用于维护表格数据;工作流存储包括触发方式、触发条件、动作执行和动作存储;其中,触发方式依据指令生成方式创建表达式,并下发至表格;触发条件依据表达式对表格数据验证,以判断是否对表格数据进行操作;动作执行在表达式验证通过时,该工作流会完成一个或多个具体的工作流执行操作;动作存储在工作流保存时,生成表达式的抽象语法树并随工作流同步存储;工作流执行根据用户表格配置生成表格关系树与表格影响树,表格关系树表示表格之间的数据关联关系,表格影响树表示表格关系树的执行过程;系统依据表达式完成当前表格数据更新,并依据表格影响树依次完成关联表格的数据更新。2.根据权利要求1所述的依托于表格的工作流引擎,其特征在于:所述工作流执行的具体过程如下:S1、以当前表格为起始端,获得表格影响树及相关工作流;S2、验证下一阶段工作...

【专利技术属性】
技术研发人员:何石阳
申请(专利权)人:伙伴智慧北京信息技术有限公司
类型:发明
国别省市:

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

1