CN114327406B - 触发器数据过滤方法、触发器配置方法及计算机存储介质 - Google Patents
触发器数据过滤方法、触发器配置方法及计算机存储介质 Download PDFInfo
- Publication number
- CN114327406B CN114327406B CN202111647941.0A CN202111647941A CN114327406B CN 114327406 B CN114327406 B CN 114327406B CN 202111647941 A CN202111647941 A CN 202111647941A CN 114327406 B CN114327406 B CN 114327406B
- Authority
- CN
- China
- Prior art keywords
- trigger
- filtering
- node
- data
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种触发器数据过滤方法、触发器配置方法及计算机存储介质,其中,触发器数据过滤方法包括:基于触发器的触发节点和当前动作节点的数据过滤需求,指定触发节点和当前动作节点执行数据过滤规则的触发字段,并配置对应的数据过滤规则;基于预先配置的数据过滤规则,执行所述触发器的对应节点的数据过滤规则时,先根据过滤值类型和过滤值得到匹配规则的参数,再通过匹配规则对触发字段的数据进行匹配。本发明将节点与过滤条件绑定,可以使过滤条件细化至每个节点,依托于触发器节点可见的优势,可以预见触发节点的触发条件和动作节点的数据过滤条件,配置触发器更加灵活方便。
Description
技术领域
本发明属于工业互联网管理平台技术领域,涉及一种触发器数据过滤方法、触发器配置方法及计算机存储介质。
背景技术
工业互联网平台经常需要在页面上进行数据流转配置和业务编排,从而需要使用大量的触发器。现有的触发器由于筛选条件可重复配置,当多个筛选条件配置重复时,则会导致条件匹配失败,触发器无法触发。另外,现有的触发器筛选条件的匹配规则配置单一、扩展性差,当需要新的匹配规则时,需重新定制开发。而且,由于触发器应用场景广泛,单一的触发条件无法慢足复杂的业务需求,当需要特定的筛选条件时,则需定制开发,增加了人力成本。
发明内容
有鉴于此,本发明的目的在于提供一种触发器数据过滤方法、触发器配置方法及计算机存储介质。
为达到上述目的,本发明提供如下技术方案:
一种触发器数据过滤方法,包括以下步骤:
S1、基于触发器的触发节点和当前动作节点的数据过滤需求,配置对应的数据过滤规则,并指定触发节点和当前动作节点执行数据过滤规则的触发字段;配置所述数据过滤规则包括选择匹配规则、选择过滤值类型、设置过滤值;
所述匹配规则用于指定匹配的算法;
所述过滤值类型用于指定将过滤值转化为匹配规则的参数的方法;
所述过滤值用于获取匹配规则的参数;
S2、基于预先配置的数据过滤规则,执行所述触发器的对应节点的数据过滤规则时,先根据过滤值类型和过滤值得到匹配规则的参数,再通过匹配规则对触发字段的数据进行匹配;其中,当所述对应节点为触发节点时,所述S2步骤还包括:
S201、检查触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,触发器触发;
当所述对应节点为动作节点时,所述S2步骤还包括:
S202、从指定的表单中提取出触发字段满足匹配规则的一条或多条数据,作为该节点获取的数据。
进一步的,所述触发器还包括并行分支节点,所述并行分支节点包括两个或两个以上分支,每一分支中均设置有一分支节点,所述分支节点用于设置执行分支的条件或指定执行分支的主体;当分支节点设置的参数为执行分支的条件时,所述S1步骤还包括:
S101、基于触发器的分支节点的数据过滤需求,指定分支节点执行数据过滤规则的触发字段,并配置对应的数据过滤规则;
当所述对应节点为分支节点时,所述S2步骤还包括:
S203、检查触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,执行该分支节点所在的分支;否则,判断匹配失败,不执行该分支节点所在的分支。
进一步的,所述匹配规则包括无过滤值匹配规则、单过滤值匹配规则、双过滤值匹配规则和多过滤值匹配规则;
所述无过滤值匹配规则不设置过滤值,所述无过滤值匹配规则包括:为空、不为空;
所述单过滤值匹配规则设置一个过滤值,所述单过滤值匹配规则包括:等于匹配参数、不等于匹配参数、大于匹配参数、大于或等于匹配参数、小于匹配参数、小于或等于匹配参数;
所述双过滤值匹配规则设置两个过滤值,所述双过滤值匹配规则包括:处于两个匹配参数的范围之内;
所述多过滤值匹配规则设置两个或两个以上的过滤值,所述多过滤值匹配规则包括:等于多个匹配参数中的一个。
进一步的,所述过滤值类型包括自定义和变量字段;当过滤值类型为自定义时:
在所述S1步骤中,设置过滤值的方法为:人工输入所需的数据作为过滤值;
在所述S2步骤中,根据过滤值类型和过滤值得到匹配规则的参数的方法为:直接将过滤值作为匹配规则的参数;
当过滤值类型为变量字段时:
在所述S1步骤中,设置过滤值的方法为:设置一前置节点中表单的字段作为目标字段,以目标字段作为过滤值;
在所述S2步骤中,根据过滤值类型和过滤值得到匹配规则的参数的方法为:自所述内存中调用前置节点的运行数据,根据过滤值从所述运行数据中提取出目标字段的数据作为匹配规则的参数。
进一步的,所述过滤值类型还包括过滤公式,当过滤值类型为过滤公式时:
在所述S1步骤中,设置过滤值的方法为:从预先定义的运算函数库中的指定一函数公式作为过滤公式,并输入函数公式的参数,以包括参数的过滤公式作为过滤值;其中,输入过滤公式的参数的方法为:输入数据作为过滤公式的参数,或指定前置节点中表单的字段作为目标字段,以目标字段作为过滤公式的参数;
在所述S2步骤中,根据过滤值类型和过滤值得到匹配规则的参数的方法为:根据过滤公式对其参数进行运算,以运算结果作为匹配规则的参数;其中,当输入数据作为过滤公式的参数时,直接通过过滤公式对输入的数据进行运算,得到运算结果;当以目标字段作为过滤公式的参数时,先从所述内存中调用前置节点的运行数据,根据过滤公式的参数从所述运行数据中提取出目标字段的数据,再通过过滤公式对提取的数据进行运算,得到运算结果。
进一步的,还包括以下步骤:
Sa1、预先定义触发字段的每一字段类型允许的匹配规则,并建立触发字段的字段类型和匹配规则之间的映射关系;
Sa2、预先定义触发字段的每一字段类型允许的过滤值类型,并建立触发字段的字段类型和过滤值类型之间的映射关系;
Sa3、预先定义过滤值类型为变量字段时,触发字段的每一字段类型允许的过滤值的字段类型,并建立触发字段的字段类型和过滤值的字段类型之间的映射关系;
所述S1步骤具体还包括:
S111、设置匹配规则时,在匹配规则设置区域显示与触发字段的字段类型有映射关系的匹配规则;
S112、设置过滤值类型时,在过滤值类型设置区域显示与触发字段的字段类型有映射关系的过滤值类型;
S113、当过滤值类型为变量字段时,设置过滤值时,在过滤值设置区域显示字段类型与触发字段的字段类型有映射关系的前置节点的表单字段。
进一步的,还包括以下步骤:
Sa4、预先针对每一过滤值类型分别定义一个过滤值函数表达式,并定义一个数据结构用于存储节点的过滤值函数表达式和过滤值;
所述S1步骤具体还包括:
S102、在设置节点的过滤值类型和过滤值后,将对应的过滤值函数表达式和过滤值存储在所述数据结构中;
在所述S2步骤中,根据过滤值类型和过滤值得到匹配规则的参数时,先对所述数据结构进行解析得到过滤值函数表达式和过滤值,再通过过滤值函数对过滤值进行运算得到匹配规则的参数。
进一步的,所述数据过滤规则还包括组合过滤规则;所述组合过滤规则为将两个或两个以上数据过滤规则通过组合规则进行组合;所述组合规则包括:“且”关系组合、“或”关系组合、“交集”关系组合;当多个数据过滤规则通过“且”关系组合时,得到的组合过滤规则为多个数据过滤规则均满足时,认为满足组合过滤规则;当多个数据过滤规则通过“或”关系组合时,得到的组合过滤规则为多个数据过滤规则中的至少一个满足时,认为满足组合过滤规则;当多个数据过滤规则通过“交集”关系组合时,得到的组合过滤规则为多个数据过滤规则中相同触发字段的计算结果相同”时,认为满足组合过滤规则。
一种触发器配置方法,包括以下步骤:
S901、创建触发器可视化配置画布;
S902、在可视化配置画布中生成触发节点和结束节点;并在所述触发节点设置触发器的触发条件;当触发条件包括数据过滤需求时,指定触发条件的触发字段,并配置触发条件中的数据过滤规则;配置数据过滤规则包括选择匹配规则、选择过滤值类型和设置过滤值;当检查到触发动作的触发字段有符合匹配规则的数据时,判定触发动作满足触发条件的数据过滤规则;否则,判断触发动作不满足触发条件的数据过滤规则;
S903、根据所述触发条件在所述触发节点和所述结束节点之间配置具有对应执行动作的子节点,由此形成由所述触发节点经所述子节点至所述结束节点的触发器执行流程;
S904、设置各子节点的参数,据此生成触发器;其中,当子节点具有数据过滤需求时,基于该节点的数据过滤需求,指定用于获取数据的数据源的表单字段作为触发字段,并配置对应的数据过滤规则;配置数据过滤规则包括选择匹配规则、选择过滤值类型、设置过滤值。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的触发器数据过滤方法或触发器配置方法。
本发明中,基于可视化触发器将可视化节点与过滤条件绑定,可以使触发条件细化至每个节点,依托于触发器节点可见的优势,可视化的预见每个节点的过滤条件。且通过变量字段的过滤值类型可以从内存中存储的前置节点的运行数据中提取数据作为匹配规则的参数,并支持了更为灵活可变的通过过滤公式获取匹配规则的参数的方式。可以满足更加多变的业务场景,相比现有技术需要多个触发器才能实现这一功能,本发明只需要配置一个触发器便可实现,减少了人力成本,提升了用户的体验感。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明触发器配置方法的一个优选实施例的流程图。
图2为通过可视化方式配置触发器的示意图。
图3为本发明触发器数据过滤方法的一个优选实施例的流程图。
图中:101.触发节点,102.增加节点操作符,103.删除操作符,104.动作节点,105.分支操作节点,106.分支组合节点,107.分支节点,108.结束节点。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明公开了一种触发器配置方法,采用配置抽屉在可视化配置画布上配置动作节点104形成触发器,能够实现了触发器的可视化配置,在不影响现有业务的基础上,改善了触发器配置体验,且降低了排查问题难度,减少维护成本。另外,在配置触发器的过滤规则时还可将前置节点的字段数据作为后续节点的匹配规则的参数,从而可以满足更加多变的业务场景。
如图1所示,本发明触发器配置方法的一个优选实施例包括以下步骤:
S901、创建触发器可视化配置画布,以便于在可视化配置画布以可视的方式配置触发器的执行流程。
本步骤中,所述可视化配置画布作为提供一个供配置用户配置触发器的可视化界面而存在,配置用户可在配置触发器时实时掌控、操作触发器配置事项。所述配置用户可以企业管理人员,本优选实施例中,将配置权限由云端侧下放至用户侧,配置用户根据自身需要配置所需的触发器,配置用户能够根据自身习惯、企业数据种类、数据实参、常用应用场景等配置适用于他自身的、贴合度及灵活度更高的触发器触发过程,便于后期应用层触发时,能够根据配置的触发器生成一系列的执行动作,实现由首至尾的完整执行链。
S902、在可视化配置画布中生成触发节点101和结束节点108,并在触发节点101设置触发器的触发条件。所述触发条件是指:在用户应用层面,用户开启或触发所述触发器的开关。例如在指定表单中新增数据、在指定表单中修改数据、达到预设的时间等等。当以新增数据作为触发条件时,当检测到某一表单具有用户新增数据时,则触发对应的触发器,当触发器被触发后,则基于配置的对应触发器执行流程由首至尾执行,直至该对应触发器的所有执行流程全部被执行。当以修改数据作为触发条件时,当检测到某一表单数据被修改时,则触发对应的触发器。
当需要更精确地限定触发条件时,还可在触发条件中指定表单的触发字段,并设置数据过滤规则;当触发条件包括数据过滤需求时,配置触发条件中的数据过滤规则;配置数据过滤规则包括选择匹配规则、选择过滤值类型和设置过滤值。所述匹配规则用于指定匹配的算法,所述过滤值类型用于指定将过滤值转化为匹配规则的参数的方法;所述过滤值用于获取匹配规则的参数(即匹配参数)。在判断是否符合触发条件时还检查触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,触发器触发;否则,判断匹配失败,触发器不触发。
例如,当在新增数据的触发条件中指定表单的触发字段为“姓名”、设置数据过滤规则的匹配规则为“等于”、过滤值类型为“自定义”、过滤值为“张三”;则当指定表单的“姓名”字段新增的数据为“张三”时,触发器才触发,如果指定表单的“姓名”字段虽然新增了数据,但新增的数据不是“张三”,则触发器不会触发。
应当理解的,所述触发条件可以根据不同配置用户的实际需求而设定,上述仅作为示例性描述,不用于限制触发条件的范围。
S903、根据所述触发条件在所述触发节点101和所述结束节点108之间配置具有对应执行动作的子节点,由此形成由触发节点101经所述子节点至所述结束节点108的触发器执行流程。本申请中以触发节点101和结束节点108之间配置的所有节点均作为子节点的状态进行详述,当它具有下级节点时,它又作为下级节点的父节点。所述子节点优选为包括动作节点104以及并行分支节点,所述并行分支节点包括两个或两个以上分支,每一分支中均设置有分支节点107和具有对应的执行动作的动作节点104。在一种实施例中,在所述触发节点101和结束节点108之间并行设置多个子节点,所述多个子节点均为所述触发节点101的同一级子节点。在另一种实施例中,以所述触发节点101作为父节点或者根节点,以结束节点108作为终节点,使多个子节点由父节点至终节点方向、由首至尾逐渐设置于所述父节点与终节点之间。具体结合实例,假设子节点为五个,即子节点1、子节点2、子节点3、子节点4、子节点5,使子节点1接于所述触发节点101的下一级,使子节点2接于所述子节点1的下一级,使子节点3接于子节点2的下一级,使子节点4接于子节点3的下一级,使子节点5接于子节点4与所述结束节点108之间。
配置用户可基于需求配置一个或多个并行或串行的动作节点104作为触发器执行流程,也可基于需求配置一个或多个并行分支节点作为触发器执行流程。所述动作节点104和并行分支节点的配置无先后顺序,也即,配置用户可基于需求优先配置动作节点104或优先配置并行分支节点,也可在串行的两动作节点104之间配置并行分支节点,还可在并行分支节点中的某一个分支节点107下方再次配置并行分支节点等等。综上,当需要依次执独立动作时,可配置动作节点104,当需要多个动作并行执行时,可配置并行分支节点,然后在每一分支中分别配置分支节点107。
根据本发明的一方面,所述S903步骤具体包括:
S9031、以所述触发节点101作为父节点、结束节点108作为终节点,于可视化配置画布中设置附属于所述父节点之下的子节点,所述子节点位于所述触发节点101与所述结束节点108之间。
本步骤中,以触发节点101作为父节点增加的子节点,该子节点为触发节点101的子节点;在某一子节点的下一级增加的另一子节点,则增加的子节点为作为上一级子节点的子节点;从而形成父子关系。所述动作节点104以及所述并行分支节点中的每一分支节点107均与其父节点连接,所述动作节点104及所述并行分支节点中的每一分支节点107均与其子节点连接。
为便于进行增加或删除子节点的操作,增加触发器配置的灵活性、可操作性及兼容性,还可在每一子节点与其父节点之间及每一子节点与其子节点之间均设置供配置用户增加子节点的增加节点操作符102,每一子节点上均设置供配置用户删除该子节点的删除操作符103。
S9032、根据所述父子关系由父至子逐级指向,并使最后一级子节点指向所述结束节点108,即将没有下一级子节点的子节点做为结束节点108的父节点,从而将使该子节点指向结束节点108,根据父子关系进行连线后由此于所述可视化配置画布中形成触发器执行流程图。
如图2所示,为便于根据需求选择相应的子节点,在创建触发器可视化配置画布之前,还可预先创建节点配置抽屉;所述配置抽屉内具有不同执行动作的若干动作节点配置模块;所述配置抽屉内还具有用于配置并行分支节点的分支配置模块。所述S9031步骤的具体方法为:
先根据触发节点101与所述结束节点108之间的增加节点操作符102增加配置子节点;即点击触发节点101与结束节点108之间的增加节点操作符102,打开配置抽屉。然后根据是否需要并行执行两个或两个以上的动作选择对应的节点配置方法:
(1)当同一时间只执行一个动作时,据所述触发条件选择所述配置抽屉中的对应执行动作的动作节点配置模块将所述动作节点104配置于所述触发节点101与结束节点108之间,形成第一动作节点104。
(2)当需要并行执行两个或两个以上的动作时,据所述触发条件选择所述配置抽屉中的分支配置模块以将第一并行分支节点配置于所述触发节点101与所述结束节点108之间。
之后,当需要继续增加子节点时,根据需求于所述第一动作节点104(或第一并行分支节点)和触发节点101之间或第一动作节点104(或第一并行分支节点)和结束节点108之间增加配置第二动作节点104和/或第二并行分支节点。之后,还可根据需要继续在动作节点104(或并行分支节点)和触发节点101之间、动作节点104(或并行分支节点)和结束节点108之间,或两个动作节点104(或并行分支节点)之间、以及动作节点104和并行分支节点之间增加动作节点104或并行分支节点。
其中,选择所述分支配置模块配置对应的并行分支节点的具体方法为:
先自所述配置抽屉中选择所述分支配置模块以触发并行分支节点配置指令。
然后根据所述并行分支节点配置于可视化配置画布中对应位置处配置一个分支操作节点105和一个分支组合节点106。所述分支操作节点105用于形成多个分支,分支组合节点106用于将多个分支合为一路。
之后,在分支操作节点105和分支组合节点106之间并行生成两个分支,并在每一分支生成一个分支节点107于对应位置处。
再判断是否需要增加分支执行流程,如果需要增加分支,则使对应分支操作节点105的分支操作符执行增加分支节点任务,以在对应分支操作节点105和分支组合节点106之间并行增加一个分支节点107。由于该方式固定生成两个分支,当两个分支不满足需求时,可通过点击分支操作符不断添加分支,直至满足需求。
最后,为每一分支以动作节点104或并行分支节点的方式配置子节点,从而使得所述分支被赋与对应的执行动作。
S904、设置各子节点的参数,据此生成触发器;所述触发器以所述触发器执行流程图作为执行依据,逐级执行所述触发器流程图所示流程。即从触发节点101起,按照触发器执行流程图依次向下执行对应的动作,直到执行至结束节点108完成整个触发器执行流程。设置子节点的参数包括设置动作节点104的参数和设置分支节点107的参数。
当动作节点104具有数据过滤需求时,设置动作节点104的参数还包括配置数据过滤规则;配置数据过滤规则包括选择匹配规则为、选择过滤值类型、设置过滤值。所述匹配规则用于指定匹配的算法,所述过滤值类型用于指定将过滤值转化为匹配参数的方法;所述过滤值用于获取匹配参数。例如,在设置获取数据节点的参数时,就需要配置数据过滤规则;在执行获取数据节点时,从指定获取数据的表单中提取出触发字段满足匹配规则的一条或多条数据,作为该节点获取的数据。
为在满足系统的不同触发流程需求,本实施例设置了多个动作节点104,通过组合能够满足工业互联网协同平台系统的各种触发流程需求。
具体结合实例,动作节点104可包括:获取数据节点、新增数据节点、编辑数据节点、删除数据节点、填写节点和app通知节点等多个不同节点。上述节点的功能及参数设置如下:
获取数据节点用于从指定的表单(即一个数据表,每一数据表都有一个独立的ID号,可通过数据表的ID号指定表单,也可根据数据表的名称指定表单)获取满足数据过滤规则的一条或多条数据;配置的参数包括获取数据的表单名称、触发字段名称和数据过滤规则。
新增数据节点:用于在指定的表单中新增一条数据;配置的参数包括新增数据的表单、字段(表单中一列单元格的列标题为这一列单元格的字段名称;每一单元格还分配有一个独立的字段ID号,可通过数据表的字段名称来指定表单的一列单元格,也可通过字段ID指定表单的一个单元格)和新增数据的赋值规则。
编辑数据节点:用于对指定表单中指定字段的数据进行编辑修改;配置的参数包括待编辑数据的表单、字段和编辑数据的赋值规则。
删除数据节点:用于删除指定表单的数据;配置的参数包括删除数据的表单名称。
填写节点:用于通过人工方式对指定表单中的数据进行填写;配置的参数包括填写数据的表单名称和有填写权限的用户名称。
app通知节点:用于通过app发送通知给指定的对象;配置的参数包括接收通知的对象名称。
当然,动作节点104还可设置其他功能的节点,在此只是以常用节点进行举例说明。
设置分支节点107的参数包括:在各分支节点107设置执行分支的条件或指定执行分支的主体。当分支节点设置的参数为执行分支的条件时,需要指定分支节点执行数据过滤规则的触发字段,并配置对应的数据过滤规则;在执行分支节点时,先检查该节点触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,执行该分支节点所在的分支;否则,判断匹配失败,不执行该分支节点所在的分支。
例如,请继续参考图2,当在分支节点107之前执行了新增数据的动作时,可将一个分支节点107的触发字段为“单行文本”、匹配规则为“等于”、过滤值为“2”;即数据过滤规则为“单行文本=2”。将另一个分支节点107的触发字段为“单行文本”、匹配规则为“等于”、过滤值为“1”;即数据过滤规则为“单行文本=1”;当“单行文本”新增的数据为“2”时,则满足“单行文本=2”的执行条件,执行左边的分支;当“单行文本”新增的数据为“1”时,则满足“单行文本=1”的执行条件,执行右边的分支。
本实施例中,通过可视化配置画布和配置抽屉实现了触发器的可视化配置,在不影响现有业务的基础上,改善了触发器配置体验,能够在配置过程中预见触发器配置全貌,使触发器配置过程完全可见。降低排查问题难度,减少维护成本。另外,还可调用前置节点的字段数据作为数据过滤规则的过滤值,可以满足更加多变的业务场景。
本发明还公开了一种触发器数据过滤方法,所述触发器由执行触发动作的触发节点101和多个执行预置业务动作的动作节点104配置而成,基于触发器的触发节点101和当前动作节点104的数据过滤需求,指定触发节点101和当前动作节点104执行数据过滤规则的触发字段,并配置对应的数据过滤规则,将节点与过滤条件绑定,可以使触发条件细化至每个节点,依托于触发器节点可见的优势,可视化的预见每个节点的过滤条件。
如图3所示,本发明触发器数据过滤方法的一个优选实施例包括以下步骤:
S1、基于触发器的触发节点101和当前动作节点104的数据过滤需求,配置对应的数据过滤规则,并指定触发节点101和当前动作节点104执行数据过滤规则的触发字段,并配置对应的数据过滤规则。当所述触发器包括分支节点107,且分支节点107设置的参数为执行分支的条件时,所述S1步骤还包括:
S101、基于触发器的分支节点107的数据过滤需求,指定分支节点107执行数据过滤规则的触发字段,并配置对应的数据过滤规则。
配置数据过滤规则包括选择匹配规则、选择过滤值类型、设置过滤值;所述匹配规则用于指定匹配的算法,所述过滤值类型用于指定将过滤值转化为匹配参数的方法;所述过滤值用于获取匹配参数。
所述匹配规则包括无过滤值匹配规则、单过滤值匹配规则、双过滤值匹配规则和多过滤值匹配规则;所述无过滤值匹配规则不设置过滤值,所述无过滤值匹配规则包括:(匹配参数)为空、(匹配参数)不为空;所述单过滤值匹配规则设置一个过滤值,所述单过滤值匹配规则包括:“=”(即等于匹配参数)、“!=”(即不等于匹配参数)、“>”(即大于匹配参数)、“≥”(即大于或等于匹配参数)、“<”(即小于匹配参数)、“≤”(即小于或等于匹配参数);匹配参数根据过滤值类型和过滤值得到。所述双过滤值匹配规则设置两个过滤值,所述双过滤值匹配规则包括:处于两个匹配参数的范围之内。所述多过滤值匹配规则设置两个或两个以上的过滤值,所述多过滤值匹配规则包括:等于多个匹配参数中的一个。
所述过滤值类型包括自定义和变量字段;当过滤值类型为自定义时,在所述S1步骤中,设置过滤值的方法为:人工输入所需的数据作为过滤值。当过滤值类型为变量字段时,在所述S1步骤中,设置过滤值的方法为:设置一前置节点中表单的字段作为目标字段,以目标字段作为过滤值。
在执行S1步骤之前,需要预先定义过滤值类型为变量字段时,将过滤值转化为匹配参数的方法。当过滤值类型为变量字段时,在用于设置过滤值的过滤值设置区域中显示前置节点(即在该节点之前可能被执行的节点,如该节点的父节点,该节点父节点的父节点等等)的表单的字段,从中选择一个表单的字段作为目标字段,以目标字段作为过滤值;从而在根据过滤值类型和过滤值得到匹配参数时,能够从内存中调用目标字段的表单所在节点的运行数据,然后从运行数据中找出目标字段的数据作为匹配参数。通过上述方法,触发器在运行时可以直接调用前置节点的表单的字段数据作为执行节点(即触发器当前正在执行的节点)的匹配参数,不用分多个触发器调用。
在本实施例中,过滤值类型还包括过滤公式,并预先定义过滤值类型为过滤公式时,将过滤值转化为匹配参数的方法。
当过滤值类型为过滤公式时,在设置过滤值的过滤值设置区域中显示预先定义的运算函数库中的函数公式,先从中选择一个函数公式作为过滤公式,然后设置过滤公式的各个运算参数,输入数据作为函数公式的参数或从前置节点的表单字段中选择一个表单的字段作为目标字段,以包括参数的过滤公式作为过滤值。在根据过滤值类型和过滤值得到匹配参数时,通过函数公式对参数的值进行运算,以运算结果作为匹配参数;其中,当输入数据作为过滤公式的参数时,直接通过过滤公式对输入的数据进行运算,得到运算结果;当以目标字段作为过滤公式的参数时,先从所述内存中调用前置节点的运行数据,根据过滤公式的参数从所述运行数据中提取出目标字段的数据,再通过过滤公式对提取的数据进行运算,得到运算结果。通过上述方法,可以调用多个前置节点的表单的字段数据进行公式运算后,将运算结果作为执行节点的数据过滤规则的匹配参数,也可将前置节点的表单的字段数据与指定值进行公式运算后,将运算结果作为匹配参数,数据过滤方式更加灵活。
为避免选择的匹配规则无法实现触发字段的匹配,在执行S1步骤前还可以先执行以下步骤:
Sa1、预先定义触发字段的每一字段类型允许的匹配规则,并建立触发字段的字段类型和匹配规则之间的映射关系。所述S1步骤还包括:
S111、设置匹配规则时,在匹配规则设置区域显示与触发字段的字段类型有映射关系的匹配规则,而不会显示无映射关系的匹配规则,确保选择的匹配规则实现触发字段的匹配。
为保证选择的过滤值类型为触发字段的字段类型允许的过滤值类型,在执行S1步骤前还可以先执行以下步骤:
Sa2、预先定义触发字段的每一字段类型允许的过滤值类型,并建立触发字段的字段类型和过滤值类型之间的映射关系。
S1步骤具体还包括:
S112、设置过滤值类型时,在过滤值类型设置区域只显示与触发字段的字段类型有映射关系的过滤值类型;而不会显示无映射关系的过滤值类型。
当过滤值类型为变量字段时,为在触发字段的字段类型与过滤值的字段类型不同时执行数据过滤规则,在执行S1步骤前还可以先执行以下步骤:
Sa3、预先定义过滤值类型为变量字段时,触发字段的每一字段类型允许的过滤值的字段类型,并建立触发字段的字段类型和过滤值的字段类型之间的映射关系。
当然,此时还需要定义实现不同字段类型之间转换的函数,以便于在匹配之前先通过函数将过滤值的字段类型转换为触发字段的字段类型,然后再进行匹配。S1步骤具体还包括:
S113、当过滤值类型为变量字段时,设置过滤值时,在过滤值设置区域显示字段类型与触发字段的字段类型有映射关系的前置节点的表单字段,而不显示与触发字段的字段类型没有映射关系的前置节点的表单字段。以减少选择范围。
为了能够在执行S2步骤时从内存中调用前置节点的运行数据,在执行S2步骤前先执行以下步骤:
Sc、触发器触发后,在内存中生成运行上下文,在所述运行上下文中存储每一被执行节点的运行数据。具体方法为:
所述触发器的每一个节点均设置有独立的节点ID,在触发器被触发时,在内存中创建一个list作为运行上下文,用于记录每一被执行节点的运行数据,在触发器运行过程中,每执行一个节点,均将所述节点的运行数据写入list中,并将list中新增的所述运行数据写入触发器运行日志;list中每个节点的数据是一个key-value结构的map,其中key是对应节点的节点ID,value为该节点的运行数据,当触发器的运行结束时,对应的list自动删除。
为便于在触发器运行过程中调用节点的运行数据,本实施例优选为所述list中采用三层存储结构存放节点的运行数据,第一层结构存储以节点ID表示的执行过的触发器节点,在每一节点ID下存储该节点执行的表单的表单ID作为第二层结构,在每一表单ID下存储该节点执行的字段的字段ID及该字段在执行后的数据作为第三层结构。其中,获取到前置节点传入的字段ID定义为elementId,节点ID定义为nodeId,表单ID定义为formId。
例如:在新增节点(ID为addNode01),给“员工信息表”(ID为formStaffInfo01) 表单新增一条数据,假设员工信息表中有三个字段“姓名”(ID为name01)、“电话”(ID为phone01)、“地址”(ID为address01);当执行新增节点为员工信息表单新增一条姓名为“张三”、电话为“189****3355”、地址为“北京市朝阳区**号”的数据后,运行上下文中该节点的运行数据如下所示:
{
"addNode01": { //新增节点的节点ID(nodeId)
"formStaffInfo01": { //员工信息表的表单ID(formId)
"name01": "张三", //姓名的字段ID(elementId)
"phone01": "189****3355", //电话的字段ID(elementId)
"address01": "北京市朝阳区**号" //地址的字段ID (elementId)
}
}
}
从内存中调用目标字段或触发字段的数据时,先根据nodeId从list的第一层结构中找到对应的节点,然后根据formId在该节点的第二层结构中找到对应的表单,再根据elementId从该表单的第三层结构中找到对应的字段和数据,根据获取到的nodeId,formId,elementId,可以精准查询到当前节点对应的表单字段值为多少。例如:要调用上述新增节点的员工信息表中电话字段的数据时,先根据“addNode01”从list中找到新增节点,再根据“formStaffInfo01”从新增节点的数据中找到员工信息表,最后根据“phone01”找到电话字段,并读取该字段对应的数据得到“189****3355”,即为目标字段的数据。
S2、基于预先配置的数据过滤规则,执行所述触发器的对应节点的数据过滤规则时,先根据过滤值类型和过滤值得到匹配参数,并获取触发字段的数据,再通过匹配规则对触发字段的数据进行匹配。
其中,当所述对应节点为触发节点101时,所述S2步骤还包括:
S201、检查触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,触发器触发;否则,判断匹配失败,触发器不触发。
触发节点101在执行数据过滤规则之前,会先检测触发动作是否触发条件,如果触发动作满足触发条件,才执行数据过滤规则;如果触发动作不满足触发条件,则不会执行数据过滤规则。例如,触发条件为在指定表单中新增数据,则检测到在指定表单中新增了数据才会执行数据过滤规则,如果新增数据的不是指定表单,或者指定表单执行了编辑数据动作而非新增数据动作,均不会执行数据过滤规则。
当所述对应节点为动作节点104(例如获取数据节点)时,所述S2步骤还包括:
S202、从指定的表单中提取出触发字段满足匹配规则的一条或多条数据,作为该节点获取的数据;此时,还可设置未获取到数据新增一条满足过滤规则的数据或上报异常。
为根据过滤值类型和过滤值得到匹配参数,在执行S1步骤之前还执行以下步骤:
Sa4、预先针对每一过滤值类型分别定义一个过滤值函数表达式,并定义一个数据结构(数据结构中定义有解析时需要用到的函数)用于存储节点的过滤值函数表达式和过滤值。具体为:
定义“过滤值类型”的代号为“selectType”,selectType=1表示自定义,selectType=2表示变量字段,selectType=3表示过滤公式;在将过滤值转化为匹配参数时,根据selectType的值即可判定过滤值类型,并调用对应的过滤值函数表达式。
(1)当selectType=1(即自定义)时,过滤值函数表达式如下:
expression=“过滤值”//过滤值为用户自定义输入
其中,expression为匹配参数。
(2)当selectType=2(即变量字段)时,过滤值函数表达式如下:
expression=“selectfromprocess(‘nodeid’,’formid’,’elementId’)”。
其中,selectfromprocess为定义的函数,其功能是根据过滤值中的nodeid、formid和elementId从list中调用相应节点的运行数据中相应表单的对应字段的数据。
(3)当selectType=3(即过滤公式)时,过滤值函数表达式如下:
expression=“函数名(函数的参数)”。
例如:当需要采用求和函数“sum”计算参数1和参数2的和时,表达式如下:
expression=“sum(参数1,参数2)”
当需要求多个字段的数据之和时,先通过表达式“selectfromprocess(‘nodeid’,’formid’,’elementId’)”分别调用两个字段的数据,再采用求和函数计算这两个数据之和。
本实施例中,优选为采用多层“children”的数据结构来存储过滤值函数表达式和过滤值,“children”结构可以为空,也可以包括一个或多个元素,每一元素包括一个下一层的“children”结构、一个“nodeType”字段和一个“text”字段;当“children”结构为空表示没有下一层结构;“text”字段用于存储文本信息,“nodeType”字段用于指定对“text”字段的文本信息进行操作的函数。下面分别通过例子对几种过滤值类型的数据结构进行说明。
所述S1步骤具体还包括:
S102、在设置节点的过滤值类型和过滤值后,将对应的过滤值函数表达式和过滤值存储在所述数据结构中。所述S2步骤具体还包括:
在所述S2步骤中,根据过滤值类型和过滤值得到匹配参数时,先对所述数据结构进行解析得到过滤值函数表达式和过滤值,再通过过滤值函数对过滤值进行运算得到匹配参数。
下面针对不同的过滤值类型分别举例进行说明:
例子1、当过滤值类型为自定义时,假设在过滤值配置区域输入的数据为“张三”,得到的过滤值函数表达式为:
expression=“张三”。
执行S102步骤时,该表达式通过两层“children”的数据结构进行存储,具体如下:
{
//第一层级
"children": [{
//第二层级
"children": [], //children为空,表示没有第三层
"nodeType": "StringLiteral",//StringLiteral为函数
"text": "张三" //张三即为过滤值
}],
"nodeType": "Entry",//Entry函数表示按层级遍历所有的children
"text": "entry"
}
执行S2步骤进行解析时,先解析出第一层children中的nodeType字段为Entry,故调用“Entry”函数解析,按层级遍历所有的children。调用“Entry”函数解析发现第一层children中还有值,故解析第一层children中的值(即第二层),第二层children中无值,故不再向下解析,继续解析第二层,第二层nodeType为“StringLiteral”,故调用”StringLiteral”函数解析,StringLiteral函数的功能是将"text"字段中的数据以文本类型返回,直接获取第二层中text字段的值(即“张三”)为计算值,将该值返回,作为匹配参数。nodeType字段的函数为根据需要返回的字段类型确定,如果需要返回的字段类型为数值,则nodeType字段的函数为NumberLiteral(NumberLiteral函数的功能是将"text"字段中的数据以数值类型返回)。
例子2、当过滤值类型为变量字段时,在过滤值配置区域选择目标字段后,会获取目标字段的表单所在节点的节点ID(假设为0001)、目标字段的表单ID(假设为formId0003)和目标字段的字段ID(假设为element2),得到的过滤值函数表达式为:
expression=“selectfromprocess(‘0001’,‘formId0003’,‘element2’)”。
执行S102步骤时,该表达式通过三层“children”的数据结构进行存储,具体如下:
{
//第一层
"children": [{
//第二层
"children": [{
//第三层
"children": [],
"nodeType": "StringLiteral",
"text": "0001" //目标字段的节点ID
}, {
"children": [],
"nodeType": "StringLiteral",
"text": "formId0003" //目标字段的表单ID
}, {
"children": [],
"nodeType": "StringLiteral",
"text": "element2" //目标字段的字段ID
}],
"nodeType": "Function",
"text": "selectformprocess"
}],
"nodeType": "Entry",
"text": "entry"
}
执行S2步骤进行解析时,先解析出第一层children中的nodeType字段为Entry,故调用“Entry”函数解析,按层级遍历所有的children。调用“Entry”函数解析发现第一层children中还有值,故解析第一层children中的值(即第二层),第一层children中有三个元素,故每个元素单独解析,第一个元素的children中(即第三层)的nodeType为”StringLiteral”,因此以文本类型返回其text中的值(即“0001”);同样的,解析第二个元素会返回文本“formId0003”,解析第三个元素会返回文本“element2”;之后,返回第二层,第二层的nodeType为“Function”,故调用“Function”函数解析,Function函数的功能是调用以"text"字段中的数据为函数名的函数进行解析,故调用selectformprocess函数,得到上述的过滤值函数表达式计算出匹配参数。
例子3、当过滤值类型为过滤公式时,假设是通过公式对数值“10”和数值“5”求和时,在过滤值配置区域选择对应的公式(即求和公式),并设置公式的参数1为数值“10”,参数2为数值“5”后,得到的过滤值函数表达式为:
expression=“sum(10,5)”。
执行S102步骤时,该表达式通过三层“children”的数据结构进行存储,具体如下:
{
//第一层
"children": [{
//第二层
"children": [{
//第三层
"children": [],
"nodeType": "NumberLiteral", //该函数根据数据类型选择
"text": "10"
}, {
"children": [],
"nodeType": "NumberLiteral",
"text": "5"
}],
"nodeType": "Function",
"text": "sum"
}],
"nodeType": "Entry",
"text": "entry"
}
执行S2步骤进行解析时,先解析出第一层children中的nodeType字段为Entry,故调用“Entry”函数解析,按层级遍历所有的children。调用“Entry”函数解析发现第一层children中还有值,故解析第一层children中的值(即第二层),第一层children中有两个元素,故每个元素单独解析,第一个元素的children中(即第三层)的nodeType为”NumberLiteral”,因此以数值类型返回其text中的值(即“10”);同样的,解析第二个元素会返回数值“5”,之后,返回第二层,第二层的nodeType为“Function”,调用以"text"字段中的数据为函数名的函数进行解析,故调用sum函数,得到上述的过滤值函数表达式计算出匹配参数。
需要说明的是,设置过滤公式的参数时,还可以将变量字段(即前置节点的字段)设置为参数,例如,可以将上述例子中的参数1—数值“10”替换为前置节点的字段,此时,会将使用例子2中的全部数据结构来代替数值“10”所在的元素(即"children": [],"nodeType": "NumberLiteral", "text": "10"),从而会出现四层结构。在解析时,会先解析出变量字段的过滤值函数表达式运算得到参数1的值,再将参数1的值与参数2(即“5”)进行求和运算。
设置公式的参数时,还可以将公式设置为参数,例如,可以将上述例子中的参数1—数值“10”替换为公式sum(参数3,参数4),则会将数值“10”所在的元素替换为上述例子的结构,形成嵌套。在解析时,会先解析出该公式sum(参数3,参数4),再以公式sum(参数3,参数4)的运算结果作为参数1与参数2(即“5”)进行求和运算。
下面以一个实例对触发器的过滤过程进行说明。
当触发器触发时,先在内存中生成运行上下文,每执行一个节点后均将该节点的运行数据存储到运行上下文中。在执行节点时,当解析到节点设置了过滤条件(即数据过滤规则)时,分别对触发字段、匹配规则和过滤值函数表达式(根据过滤值类型和过滤值得到)进行解析。
解析触发字段时,先根据触发字段的表单ID和字段ID从运行上下文中找到对应的字段,并获取该字段的数据作为触发字段的数据。触析过滤值函数表达式时,当过滤值类型为自定义时,直接以触发字段的字段类型返回用户输入值作为匹配参数;当过滤值类型为变量字段时,根据过滤值的节点ID、表单ID和字段ID从运行上下文中找到对应的字段,并获取该字段的数据,返回获取的数据作为匹配参数;当匹配参数的字段类型与触发字段的字段类型不同的,先将匹配参数的字段类型转化为触发字段的字段类型再返回;当过滤值类型为过滤公式,且过滤公式的参数为用户输入值时,直接通过过滤公式对参数进行运算,返回过滤公式的运算结果作为匹配参数;当过滤值类型为过滤公式,且过滤公式的参数为变量字段时,先根据变量字段的节点ID、表单ID和字段ID从运行上下文中找到对应的字段,并获取该字段的数据作为过滤公式的参数;然后再通过过滤公式对参数进行运算,返回过滤公式的运算结果作为匹配参数,当匹配参数的字段类型与触发字段的字段类型不同的,还需要将匹配参数的字段类型转化为触发字段的字段类型。
之后,将触发字段的数据按照匹配规则与匹配参数进行匹配;例如:当匹配规则为“=”,匹配参数为“1”时,则触发字段的数据等于1匹配成功,否则匹配失败。如果匹配成功,则触发器继续执行,如果匹配失败,则触发器停止运行或执行预先的其他操作。例如:对于触发节点101,触发字段根据数据过滤规则匹配成功则触发器触发,匹配失败则触发器不触发;对于分支节点107,匹配成功则执行该分支节点107所在的分支流程,匹配失败则不执行该分支节点107所在的分支流程;对于获取数据数节点,匹配成功则获取该条数据,如果在触发字段未能获取到数据,则执行异常处理机制。
本实施例基于可视化触发器将可视化节点与过滤条件绑定,可以使触发条件细化至每个节点,依托于触发器节点可见的优势,可视化的预见每个节点的过滤条件。且通过变量字段的过滤值类型可以从内存中存储的前置节点的运行数据中提取数据作为匹配参数,并支持了更为灵活可变的通过过滤公式获取匹配参数的方式。本实施例采用了自定义、变量字段、过滤公式等多种过滤值类型,使触发器的过滤规则更加灵活,满足用户更多使用场景,提升了用户的体验感。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,通过计算机执行所述计算机程序时执行上述触发器数据过滤方法的部分或全部的实际操作,或者执行上述触发器配置方法的部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种触发器数据过滤方法,其特征在于,包括以下步骤:
S1、基于触发器的触发节点和当前动作节点的数据过滤需求,配置对应的数据过滤规则,并指定触发节点和当前动作节点执行数据过滤规则的触发字段;配置所述数据过滤规则包括选择匹配规则、选择过滤值类型、设置过滤值;
所述匹配规则用于指定匹配的算法;
所述过滤值类型用于指定将过滤值转化为匹配规则的参数的方法;所述过滤值类型包括自定义和变量字段;
所述过滤值用于获取匹配规则的参数;当过滤值类型为自定义时,设置过滤值的方法为:人工输入所需的数据作为过滤值;当过滤值类型为变量字段时,设置过滤值的方法为:设置一前置节点中表单的字段作为目标字段,以目标字段作为过滤值;
S2、基于预先配置的数据过滤规则,执行所述触发器的对应节点的数据过滤规则时,先根据过滤值类型和过滤值得到匹配规则的参数,再通过匹配规则对触发字段的数据进行匹配;当过滤值类型为自定义时,根据过滤值类型和过滤值得到匹配规则的参数的方法为:直接将过滤值作为匹配规则的参数;当过滤值类型为变量字段时,根据过滤值类型和过滤值得到匹配规则的参数的方法为:自内存中调用前置节点的运行数据,根据过滤值从所述运行数据中提取出目标字段的数据作为匹配规则的参数;
其中,当所述对应节点为触发节点时,所述S2步骤还包括:
S201、检查触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,触发器触发;
当所述对应节点为动作节点时,所述S2步骤还包括:
S202、从指定的表单中提取出触发字段满足匹配规则的一条或多条数据,作为该节点获取的数据;
所述触发器数据过滤方法还包括以下步骤:
Sa1、预先定义触发字段的每一字段类型允许的匹配规则,并建立触发字段的字段类型和匹配规则之间的映射关系;
Sa2、预先定义触发字段的每一字段类型允许的过滤值类型,并建立触发字段的字段类型和过滤值类型之间的映射关系;
Sa3、预先定义过滤值类型为变量字段时,触发字段的每一字段类型允许的过滤值的字段类型,并建立触发字段的字段类型和过滤值的字段类型之间的映射关系。
2.根据权利要求1所述的触发器数据过滤方法,其特征在于,所述触发器还包括并行分支节点,所述并行分支节点包括两个或两个以上分支,每一分支中均设置有一分支节点,所述分支节点用于设置执行分支的条件或指定执行分支的主体;当分支节点设置的参数为执行分支的条件时,所述S1步骤还包括:
S101、基于触发器的分支节点的数据过滤需求,指定分支节点执行数据过滤规则的触发字段,并配置对应的数据过滤规则;
当所述对应节点为分支节点时,所述S2步骤还包括:
S203、检查触发字段的数据是否符合匹配规则,如果符合则判断匹配成功,执行该分支节点所在的分支;否则,判断匹配失败,不执行该分支节点所在的分支。
3.根据权利要求1或2所述的触发器数据过滤方法,其特征在于,所述匹配规则包括无过滤值匹配规则、单过滤值匹配规则、双过滤值匹配规则和多过滤值匹配规则;
所述无过滤值匹配规则不设置过滤值,所述无过滤值匹配规则包括:为空、不为空;
所述单过滤值匹配规则设置一个过滤值,所述单过滤值匹配规则包括:等于匹配参数、不等于匹配参数、大于匹配参数、大于或等于匹配参数、小于匹配参数、小于或等于匹配参数;
所述双过滤值匹配规则设置两个过滤值,所述双过滤值匹配规则包括:处于两个匹配参数的范围之内;
所述多过滤值匹配规则设置两个或两个以上的过滤值,所述多过滤值匹配规则包括:等于多个匹配参数中的一个。
4.根据权利要求1所述的触发器数据过滤方法,其特征在于,所述过滤值类型还包括过滤公式,当过滤值类型为过滤公式时:
在所述S1步骤中,设置过滤值的方法为:从预先定义的运算函数库中的指定一函数公式作为过滤公式,并输入函数公式的参数,以包括参数的过滤公式作为过滤值;其中,输入过滤公式的参数的方法为:输入数据作为过滤公式的参数,或指定前置节点中表单的字段作为目标字段,以目标字段作为过滤公式的参数;
在所述S2步骤中,根据过滤值类型和过滤值得到匹配规则的参数的方法为:根据过滤公式对其参数进行运算,以运算结果作为匹配规则的参数;其中,当输入数据作为过滤公式的参数时,直接通过过滤公式对输入的数据进行运算,得到运算结果;当以目标字段作为过滤公式的参数时,先从所述内存中调用前置节点的运行数据,根据过滤公式的参数从所述运行数据中提取出目标字段的数据,再通过过滤公式对提取的数据进行运算,得到运算结果。
5.根据权利要求1所述的触发器数据过滤方法,其特征在于,所述S1步骤具体还包括:
S111、设置匹配规则时,在匹配规则设置区域显示与触发字段的字段类型有映射关系的匹配规则;
S112、设置过滤值类型时,在过滤值类型设置区域显示与触发字段的字段类型有映射关系的过滤值类型;
S113、当过滤值类型为变量字段时,设置过滤值时,在过滤值设置区域显示字段类型与触发字段的字段类型有映射关系的前置节点的表单字段。
6.根据权利要求1或2所述的触发器数据过滤方法,其特征在于,还包括以下步骤:
Sa4、预先针对每一过滤值类型分别定义一个过滤值函数表达式,并定义一个数据结构用于存储节点的过滤值函数表达式和过滤值;
所述S1步骤具体还包括:
S102、在设置节点的过滤值类型和过滤值后,将对应的过滤值函数表达式和过滤值存储在所述数据结构中;
在所述S2步骤中,根据过滤值类型和过滤值得到匹配规则的参数时,先对所述数据结构进行解析得到过滤值函数表达式和过滤值,再通过过滤值函数对过滤值进行运算得到匹配规则的参数。
7.根据权利要求1或2所述的触发器数据过滤方法,其特征在于,所述数据过滤规则还包括组合过滤规则;所述组合过滤规则为将两个或两个以上数据过滤规则通过组合规则进行组合;所述组合规则包括:“且”关系组合、“或”关系组合、“交集”关系组合;当多个数据过滤规则通过“且”关系组合时,得到的组合过滤规则为多个数据过滤规则均满足时,认为满足组合过滤规则;当多个数据过滤规则通过“或”关系组合时,得到的组合过滤规则为多个数据过滤规则中的至少一个满足时,认为满足组合过滤规则;当多个数据过滤规则通过“交集”关系组合时,得到的组合过滤规则为多个数据过滤规则中相同触发字段的计算结果相同时,认为满足组合过滤规则。
8.一种触发器配置方法,其特征在于,用于配置如权利要求1至7任一项所述的触发器数据过滤方法的触发器执行流程,包括以下步骤:
S901、创建触发器可视化配置画布;
S902、在可视化配置画布中生成触发节点和结束节点;并在所述触发节点设置触发器的触发条件;当触发条件包括数据过滤需求时,指定触发条件的触发字段,并配置触发条件中的数据过滤规则;配置数据过滤规则包括选择匹配规则、选择过滤值类型和设置过滤值;当检查到触发动作的触发字段有符合匹配规则的数据时,判定触发动作满足触发条件的数据过滤规则;否则,判断触发动作不满足触发条件的数据过滤规则;
S903、根据所述触发条件在所述触发节点和所述结束节点之间配置具有对应执行动作的子节点,由此形成由所述触发节点经所述子节点至所述结束节点的触发器执行流程;
S904、设置各子节点的参数,据此生成触发器;其中,当子节点具有数据过滤需求时,基于该节点的数据过滤需求,指定用于获取数据的数据源的表单字段作为触发字段,并配置对应的数据过滤规则;配置数据过滤规则包括选择匹配规则、选择过滤值类型、设置过滤值。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的触发器数据过滤方法,或权利要求8所述的触发器配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111647941.0A CN114327406B (zh) | 2021-12-30 | 2021-12-30 | 触发器数据过滤方法、触发器配置方法及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111647941.0A CN114327406B (zh) | 2021-12-30 | 2021-12-30 | 触发器数据过滤方法、触发器配置方法及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327406A CN114327406A (zh) | 2022-04-12 |
CN114327406B true CN114327406B (zh) | 2022-08-12 |
Family
ID=81017806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111647941.0A Active CN114327406B (zh) | 2021-12-30 | 2021-12-30 | 触发器数据过滤方法、触发器配置方法及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327406B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115047835B (zh) * | 2022-06-27 | 2024-06-04 | 中国核动力研究设计院 | 基于dcs系统定期试验数据获取方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653274A (zh) * | 2015-12-28 | 2016-06-08 | 珠海金山网络游戏科技有限公司 | 一种基于触发器的可视化游戏关卡编辑方法和系统 |
CN108881369A (zh) * | 2018-04-24 | 2018-11-23 | 中国科学院信息工程研究所 | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 |
CN109240732A (zh) * | 2018-08-29 | 2019-01-18 | 浪潮天元通信信息系统有限公司 | 一种基于灵活规则的流程编排方法 |
CN111905372A (zh) * | 2020-08-14 | 2020-11-10 | 网易(杭州)网络有限公司 | 一种游戏触发器的创建方法、游戏运行方法及装置 |
CN111984371A (zh) * | 2020-08-18 | 2020-11-24 | 济南浪潮高新科技投资发展有限公司 | 一种流程编排服务调度和发布方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010016541A1 (de) * | 2010-04-20 | 2011-10-20 | Sabrina Duda | Computergestütztes Verfahren zum Erzeugen eines softwarebasierten Analysemoduls |
US10235468B2 (en) * | 2015-12-30 | 2019-03-19 | Business Objects Software Limited | Indirect filtering in blended data operations |
-
2021
- 2021-12-30 CN CN202111647941.0A patent/CN114327406B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653274A (zh) * | 2015-12-28 | 2016-06-08 | 珠海金山网络游戏科技有限公司 | 一种基于触发器的可视化游戏关卡编辑方法和系统 |
CN108881369A (zh) * | 2018-04-24 | 2018-11-23 | 中国科学院信息工程研究所 | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 |
CN109240732A (zh) * | 2018-08-29 | 2019-01-18 | 浪潮天元通信信息系统有限公司 | 一种基于灵活规则的流程编排方法 |
CN111905372A (zh) * | 2020-08-14 | 2020-11-10 | 网易(杭州)网络有限公司 | 一种游戏触发器的创建方法、游戏运行方法及装置 |
CN111984371A (zh) * | 2020-08-18 | 2020-11-24 | 济南浪潮高新科技投资发展有限公司 | 一种流程编排服务调度和发布方法 |
Non-Patent Citations (1)
Title |
---|
一种基于关联挖掘的服务一致化配置方法;王焘 等;《计算机研究与发展》;20200131(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114327406A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754073B (zh) | 数据处理方法、装置、电子设备和可读存储介质 | |
CN105549982B (zh) | 一种基于模型配置的自动化开发平台 | |
CN104732306B (zh) | 一种业务应用系统的快速开发系统及方法 | |
EP1819094A1 (en) | Script language based network device configuration management system and method | |
KR101368068B1 (ko) | 데이터베이스 구축 방법, 이를 실행하는 데이터베이스 구축 서버 및 이를 저장한 기록 매체 | |
JPH08110892A (ja) | システム構成装置 | |
CN105183768B (zh) | 一种文件管理方法、装置和终端设备 | |
CN109582289B (zh) | 规则引擎中规则流的处理方法、系统、存储介质和处理器 | |
CN110727687A (zh) | 一种物料清单转换方法及其系统 | |
CN114327406B (zh) | 触发器数据过滤方法、触发器配置方法及计算机存储介质 | |
CN106919606A (zh) | 一种基于树结构实现sql查询条件的方法和系统 | |
JP2002259643A (ja) | ビジネスプロセス制御プログラム | |
CN113900638A (zh) | 可视化触发器配置方法及存储介质 | |
CN110263104A (zh) | Json字符串处理方法及装置 | |
US5856984A (en) | Method of and system for generating test cases | |
CN106096159B (zh) | 一种云平台下的分布式系统行为仿真分析系统的实现方法 | |
CN111104181A (zh) | 一种可视化编辑任务流程的网页数据填报系统 | |
CN109344165A (zh) | 一种查询方法及存储设备 | |
CN114416052B (zh) | 触发器变量赋值方法、触发器配置方法及计算机存储介质 | |
CN106155990A (zh) | 一种数据处理和应用一体化的方法 | |
CN114253542B (zh) | 基于可视化触发器的触发和运行方法及计算机存储介质 | |
CN114385672A (zh) | 信息处理方法及装置、电子设备及存储介质 | |
CN112699155A (zh) | 数据筛选方法和装置 | |
CN113347268A (zh) | 基于分布式网络组网方法、装置、存储介质及计算机设备 | |
CN113656127A (zh) | 页面路由方法、装置、存储介质及处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230607 Address after: Room 1-1-18, Unit 1, Building 4, No. 1580 Zhiyun Avenue, Yudong Street, Banan District, Chongqing, 401320 Patentee after: Chongqing Yunfeng Technology Co.,Ltd. Address before: 408300 building a, 59 Chaoyang Road, Dianjiang Industrial Park, Chongqing Patentee before: Chongqing Yuncheng Internet Technology Co.,Ltd. |