CN104239017B - 一种配置及调用自定义表单的规则的方法和*** - Google Patents
一种配置及调用自定义表单的规则的方法和*** Download PDFInfo
- Publication number
- CN104239017B CN104239017B CN201310244019.6A CN201310244019A CN104239017B CN 104239017 B CN104239017 B CN 104239017B CN 201310244019 A CN201310244019 A CN 201310244019A CN 104239017 B CN104239017 B CN 104239017B
- Authority
- CN
- China
- Prior art keywords
- rule
- condition
- incidence relation
- customizing form
- execution
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明的配置及调用自定义表单的规则的方法和***,***包括第一配置单元、第二配置单元、指令响应单元和执行单元,方法包括:S1、分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;S2、根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;S3、在接收到自定义表单的执行指令时,从规则表中获取该自定义表单包括的所有规则的信息;S4、按照执行顺序执行该自定义表单的所有规则。能够快速、简便、灵活地配置自定义表单中的规则,简化调用配置好的自定义表单中规则的步骤,提高***的运行效率。
Description
技术领域
本发明涉及计算机领域,更具体地说,涉及一种配置计算机***自定义表单的方法和***。
背景技术
现有的自定义表单设计器,在设计时为表单上某个按钮配置例如点击事件,这个点击事件可能会执行一个或多个规则,每个规则又包含具体的规则步骤。运行时,当用户通过点击该表单上的该按钮,触发配置的点击事件,调用设计时配置与该点击事件对应的规则集合,按条件、按步骤执行一个或多个规则。
现有许多计算机***中,如果要实现以下的规则R1步骤:
按照现有计算机***自定义表单的配置方式,需要为每一规则步骤配置执行条件,若要执行上述步骤,则需要进行以下配置:
第一步:配置规则步骤1();
第二步:为规则步骤1配置成功执行的步骤条件1;
第三步:配置规则步骤2();
第四步:为规则步骤2配置成功执行的步骤条件1;
第五步:为规则步骤2配置成功执行的步骤条件2;
第六步:配置规则步骤3();
第七步:为规则步骤3配置成功执行的步骤条件1;
第八步:为规则步骤3配置不成功执行的步骤条件2;
第九步:配置规则步骤4();
第十步:为规则步骤4配置成功执行的步骤条件1;
第十一步:配置规则步骤5();
第十二步:为规则步骤5配置不成功执行的步骤条件1。
运行通过上述方法配置的自定义表单的流程如图1所示,其运行的路径有:步骤条件1—>规则步骤1;步骤条件1—>步骤条件2—>规则步骤2;步骤条件 1—>步骤条件2—>规则步骤3;步骤条件1—>规则步骤4;步骤条件1—>规则步骤5。
可见,由于上述方法配置的规则的执行步骤比较繁琐、重复性配置条目比较多,配置方法不够灵活,造成了在运行自定义表单时的步骤也比较多,严重影响***运行速度。
发明内容
本发明针对现有技术的上述缺陷,提供一种配置及调用自定义表单的规则的方法和***,能够快速、简便、灵活地配置自定义表单中的规则,简化调用配置好的自定义表单中规则的步骤,提高***的运行效率。
本申请解决其技术问题采用的技术方案是:提供一种配置及调用自定义表单的规则的方法,所述自定义表单包括一个或多个规则,每个规则包括一个或多个规则步骤以及一个或多个步骤条件,所述方法包括以下步骤:
S1、分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;
S2、根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;
S3、在接收到自定义表单的执行指令时,从所述规则表中获取该自定义表单包括的所有规则的信息,其中,所述执行指令包括各规则的执行顺序;
S4、按照所述执行顺序执行该自定义表单的所有规则,其中,根据所述关联关系表中存储的各规则的规则步骤以及步骤条件的关联关系,相应的执行所述规则步骤表和所述步骤条件表中存储的规则步骤和步骤条件,以执行各规则。
优选地,所述步骤S2包括以下子步骤:
S21、在每个规则中,按照规则的执行逻辑,每执行一个事件配置一个关联关系,所述事件为规则步骤或者步骤条件;
S22、分别将每个规则中配置的所有关联关系按顺序存储于所述关联关系表。
优选地,每个关联关系包括当前事件的类型、当前事件的执行路径、上一级事件的执行结果为真或者为假时执行当前事件、以及该关联关系的执行顺序。
优选地,所述步骤S4包括以下子步骤:
S41、按各规则的执行顺序选择一个规则;
S42、按顺序逐一根据所述关联关系表中存储的该规则的规则步骤以及步骤条件的关联关系,执行所述规则步骤表和所述步骤条件表中存储的、与该规则对应的规则步骤和步骤条件;
S43、重复步骤S41至步骤S42直到完成执行该自定义表单的所有规则。
优选地,所述规则表中对应存储包括自定义表单编号以及规则编号,所述规则步骤表中对应存储包括自定义表单编号、规则编号、规则步骤编号以及步骤内容,所述步骤条件表中对应存储包括自定义表单编号、规则编号、步骤条件编号以及条件内容。
提供一种配置及调用自定义表单的规则的***,所述自定义表单包括一个或多个规则,每个规则包括一个或多个规则步骤以及一个或多个步骤条件,所述***包括:
第一配置单元,用于分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;
第二配置单元,用于根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;
指令响应单元,用于在接收到自定义表单的执行指令时,从所述规则表中获取该自定义表单包括的所有规则的信息,其中,所述执行指令包括各规则的执行顺序;
执行单元,用于按照所述执行顺序执行该自定义表单的所有规则,其中,根据所述关联关系表中存储的各规则的规则步骤以及步骤条件的关联关系,相应的执行所述规则步骤表和所述步骤条件表中存储的规则步骤和步骤条件,以执行各规则。
优选地,所述第二配置单元包括:
配置模块,用于为每个规则,按照规则的执行逻辑,每执行一个事件配置一个关联关系,所述事件为规则步骤或者步骤条件;
存储模块,用于分别将每个规则中配置的所有关联关系按顺序存储于所述关联关系表。
优选地,每个关联关系包括当前事件的类型、当前事件的执行路径、上一级事件的执行结果为真或者为假时执行当前事件、以及该关联关系的执行顺序。
优选地,所述执行单元包括:
规则选择模块,用于按各规则的执行顺序选择一个规则;
执行模块,用于按顺序逐一根据所述关联关系表中存储的该规则的规则步骤以及步骤条件的关联关系,执行所述规则步骤表和所述步骤条件表中存储的、与该规则对应的规则步骤和步骤条件。
优选地,所述规则表中对应存储包括自定义表单编号以及规则编号,所述规则步骤表中对应存储包括自定义表单编号、规则编号、规则步骤编号以及步骤内容,所述步骤条件表中对应存储包括自定义表单编号、规则编号、步骤条件编号以及条件内容。
本发明的配置及调用自定义表单的规则的方法和***具有以下有益效果:同一表单的规则、规则步骤及步骤条件的配置相互独立,互不影响,配置简单,通过选择配置规则、规则步骤及步骤条件之间的关联关系的方式来配置事件的执行过程,配置方法灵活,简化了配置步骤,提高配置效率;另外,通过调用配置好的、经过简化的运行步骤,提高运行效率。
附图说明
图1为运行通过现有方法配置的自定义表单的流程图;
图2为本发明的配置及调用自定义表单的规则的方法第一实施例的流程图;
图3为本发明中配置并保存自定义表单的规则表的流程图;
图4为本发明中配置并保存规则步骤表的流程图;
图5为本发明中配置并保存步骤条件表的流程图;
图6为本发明中配置规则步骤和步骤条件的关联关系的流程图;
图7为本发明中为按钮配置触发事件的流程图;
图8为本发明中执行自定义表单的规则的流程图;
图9为本发明中调用规则R1的流程图;
图10为本发明的配置及调用自定义表单的规则的***的功能框图。
具体实施方式
以下结合附图和实施例对本发明做进一步的解释说明。
自定义表单包括一个或多个规则,每个规则包括一个或多个规则步骤以及一个或多个步骤条件,图2为本发明的配置及调用自定义表单的规则的方法第一实施例的流程图,如图2所示,在该实施例中,本发明的方法包括以下步骤:
S1、分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;
S2、根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;
S3、在接收到自定义表单的执行指令时,从所述规则表中获取该自定义表单包括的所有规则的信息,其中,所述执行指令包括各规则的执行顺序;
S4、按照所述执行顺序执行该自定义表单的所有规则,其中,根据所述关联关系表中存储的各规则的规则步骤以及步骤条件的关联关系,相应的执行所述规则步骤表和所述步骤条件表中存储的规则步骤和步骤条件,以执行各规则。
在本发明中,规则表Form_Rule的格式如表1所示:
表1
序号 | 列名称 | 列编码 | 类型 |
1 | 规则编号GUID | Rule_ID | 字符 |
2 | 表单编号 | Form_ID | 字符 |
3 | 规则代码 | Rule_Code | 字符 |
4 | 规则名称 | Rule_Name | 字符 |
例如,当执行保存动作时,规则代码可设为[Save],规则名称可设为[保存],当执行查询动作时,规则代码可设为[Search],规则名称可设为[查询]。
在步骤S1中,配置并保存自定义表单的规则表的流程图如图3所示,首先,在规则表中记录新的规则编号Rule_ID,在规则表中的相应位置(同行不同列处)上分别记录规则代码Rule_Code和规则名称Rule_Name,其中,表单编码 Form_ID为自动携带。然后保存规则表,接着判断是否继续配置,若该自定义表单只有一个规则,则配置过程结束,若该自定义表单包括多个规则,则重复上述配置过程分别对各规则进行配置。以背景技术中记载的规则R1为例,规则R1属于自定义表单F1,通过本发明的自定义表单的规则表的配置方法,生成的规则表可以如表2所示:
表2
Rule_ID | Form_ID | Rule_Code | Rule_Name |
R1 | F1 | test1 | 测试R1 |
在本发明中,规则步骤表Form_Rule_Step的格式如表3所示:
表3
序号 | 列名称 | 列编码 | 类型 |
1 | 规则步骤编号GUID | Rule_Step_ID | 字符 |
2 | 表单编号 | Form_ID | 字符 |
3 | 规则步骤名称 | Step_Name | 字符 |
4 | 规则步骤内容 | Step_Content | 字节数组 |
例如,当执行保存动作时,第一步需获取所需保存的记录是否唯一,第二步才是保存。此时,第一个规则步骤名称可设为[记录唯一性],对应的规则步骤内容为[Unique]。第二个规则步骤名称可设为[保存],对应的规则步骤内容为[Save]。
在步骤S1中,配置并保存规则步骤表的流程图如图4所示,首先,在规则步骤表中记录新的规则步骤编号Rule_Step_ID,在规则步骤表中的相应位置(同行不同列处)上分别记录规则步骤名称Step_Name以及配置规则步骤内容 Step_Content,其中,表单编码Form_ID为自动携带。然后保存规则步骤表,接着判断是否继续配置,若该规则包括多个规则步骤,则重复上述配置过程分别对各规则步骤进行配置。以背景技术中记载的规则R1为例,其包括三个规则步骤,编号分别为R_S_1、R_S_2、R_S_3,通过本发明的规则步骤表的配置方法,生成的规则步骤表可以如表4所示:
表4
Rule_Step_ID | Form_ID | Step_Name | Step_Content |
R_S_1 | F1 | 规则步聚1 | 规则步聚1内容 |
R_S_2 | F1 | 规则步聚2 | 规则步聚2内容 |
R_S_3 | F1 | 规则步聚3 | 规则步聚3内容 |
R_S_4 | F1 | 规则步聚4 | 规则步聚4内容 |
R_S_5 | F1 | 规则步聚5 | 规则步聚5内容 |
在本发明中,在本发明中,步骤条件表Form_Rule_Step_Condition的格式如表5所示:
表5
例如,当执行保存动作时,可能第一步需获取所需保存的记录是否唯一,结果存入变量中,如果记录是唯一的,则变量的值为真,否则为假,并做为第二步保存动作的条件。执行第二步保存动作前,先判定此变量的值为真或为假,为真则执行保存动作,否则不执行保存动作。
在步骤S1中,配置并保存步骤条件表的流程图如图5所示,首先,在步骤条件表中记录新的步骤条件编号Condition_ID,在步骤条件表中的相应位置(同行不同列处)上分别记录步骤条件名称Condition_Name以及配置步骤条件内容 Step_Content,其中,表单编码Form_ID为自动携带,然后保存步骤条件表,接着判断是否继续配置,若该规则包括多个步骤条件,则重复上述配置过程分别对各步骤条件进行配置。以背景技术中记载的规则R1为例,其包括两个步骤条件,编号分别为C_1、C_2,通过本发明的规则步骤表的配置方法,生成的步骤条件表可以如表6所示:
表6
Condition_ID | Form_ID | Condition_Name | Step_Content |
C_1 | F1 | 步骤条件1 | 步骤条件1内容 |
C_2 | F1 | 步骤条件2 | 步骤条件2内容 |
步骤S1中配置规则表、规则步骤表和步骤条件表的步骤相互独立,互不影响,并且配置过程简单,上述三个表易于维护。
在本发明中,规则步骤和步骤条件的关联关系表Form_Rule_Relation的格式如表7:
表7
其中,Object_ID存放的是当前事件的编号,其中,事件是规则步骤或者步骤条件,根据实际的执行步骤来确定Object_ID中存放规则步骤編号还是步骤条件編号。Parent_ID中存放上一级事件編号(实际情况中为步骤条件编号)。 FullPath中存放按照执行逻辑执行到当前事件的全路劲。IsTrue存放的是上一级事件的计算结果为真或者为假时执行当前事件,其中,0为假,1为真。Order 存放的是该关联关系的执行顺序,其中,关联关系是在同一表单、同一规则内进行排序。Type存放的是当前事件的类型,其中,0为步骤条件,1为规则步骤,可以使用其他任何方式来区别表示事件类型。
在本实施例中,步骤S2包括以下子步骤:S21、在每个规则中,按照规则的执行逻辑,每执行一个事件配置一个关联关系,所述事件为规则步骤或者步骤条件;S22、分别将每个规则中配置的所有关联关系按顺序存储于关联关系表。
图6为本发明中配置规则步骤和步骤条件的关联关系的流程图,如图6 所示,首先,新增本表单的规则的关联关系,即在关联关系表中的编号栏中记录该关联关系的编号(Relation_ID),表单编码Form_ID为自动携带;然后,选择本表单中的一个规则,即在对应的规则编号栏中记录该规则编号;接着,获取该规则实际的执行逻辑(例如背景技术中记载的执行逻辑),根据执行逻辑判断当前执行的事件是否为步骤条件;若是则选择该步骤条件,配置其关联关系:在对应的当前事件編号栏(Object_ID)中记录该步骤条件的编号(Condition_ID),在对应的上级事件编号栏(Parent_ID)中记录其上一级事件的编号(在实际应用中只可能是上一级的步骤条件编号Condition_ID,若当前事件为第一个被执行的事件,则此栏为空),在对应的全路径栏(FullPath)中记录当前事件的执行路径(从第一个执行的事件开始到当前事件的路径),在“是否为真”一栏(IsTrue,也可称为真值栏,若当前事件为第一个被执行的事件,则此处默认为真)中记录上一级事件的执行结果为真或者为假(1或0)时执行当前事件,在对应的执行顺序栏(Order)中记录该关联关系的执行顺序,在对应的事件类型(Typle)一栏中记录当前事件的类型(此时为步骤条件,可用0表示)。
由于之前完成的是一个步骤条件的关联关系的配置,在该步骤条件之后必然还有下一级事件,因此,在关联关系表中新增一行;按照执行逻辑,选择在刚完成关联关系配置的步骤条件的内容的计算结果为真值或者为假时执行的一下级事件(以规则R1为例,若刚完成关联关系配置的步骤条件为C_1,按照执行逻辑,C_1的内容的计算结果为真时执行的下一级事件为R_S_1,因此在该步骤中选择真值);然后,将下一级事件作为当前执行的事件,根据实际执行逻辑判断当前执行事件是否为步骤条件,若是则重复执行上述对步骤条件的关联关系的配置过程,若否则选择该规则步骤,配置其关联关系:在对应的当前事件編号栏(Object_ID)中记录该规则步骤的编号(Rule_Step_ID),在对应的上级事件编号栏(Parent_ID)中记录其上一级事件的编号(即上一级的步骤条件编号Condition_ID),在对应的全路径栏(FullPath)中记录当前事件的执行路径(从第一个执行的事件开始到当前事件的路径),在“是否为真”一栏中记录上一级事件的执行结果为真或者为假时执行当前事件(以规则R1为例,R_S_1的关联关系中,IsTrue为真),在对应的执行顺序栏(Order)中记录该关联关系的执行顺序,在对应的事件类型(Typle)一栏中记录当前事件的类型(此时为规则,可用1表示),记录了上述信息之后,完成了该关联关系的配置;然后判断是否继续,即在该规则中是否还包含其他未被配置关联关系的事件,若有则新增一行,根据执行逻辑判断其类型,根据相应的类型重复上述过程,直至完成一个规则中所有事件的关联关系的配置。
根据本发明的上述关联关系的配置方法,对规则R1进行关联关系配置后生成的关联关系表如表8所示:
表8
Relation_ID | Form_ID | Rule_ID | Object_ID | Parent_ID | FullPath | IsTrue | Order | Type |
Relation_1 | F1 | R1 | C_1 | C_1 | 1 | 1 | 0 | |
Relation_2 | F1 | R1 | R_S_1 | C_1 | C_1R_S_1 | 1 | 2 | 1 |
Relation_3 | F1 | R1 | C_2 | C_1 | C_1C_2 | 1 | 3 | 0 |
Relation_4 | F1 | R1 | R_S_2 | C_2 | C_1C_2R_S_2 | 1 | 4 | 1 |
Relation_5 | F1 | R1 | R_S_3 | C_2 | C_1C_2R_S_3 | 0 | 5 | 1 |
Relation_6 | F1 | R1 | R_S_4 | C_1 | C_1R_S_4 | 1 | 6 | 1 |
Relation_7 | F1 | R1 | R_S_5 | C_1 | C_1R_S_5 | 0 | 7 | 1 |
由表8可以看出,Parent_ID均为步骤条件編号,规则步骤編号均为子节点,两者构成一个树形结构。
由此可见,在本发明中,每执行一个事件就配置一个关联关系,配置的所有关联关系,按照对应事件在执行逻辑中的执行顺序被存储在关联关系表中。此种配置方法灵活,只需变更关联关系,就可以将规则步骤表和步骤条件表中的规则步骤和步骤条件组合成不同的执行逻辑,从而改变规则的执行效果。
根据步骤S1-S2中的各表的配置,要实现规则R1,其执行逻辑可简化为:
在步骤S3中,可以设置一按钮,为该按钮添加自定义表单中的规则,在该按钮被触发后,判断接收到该自定义表单的执行指令,在本发明中不限制发送自定义表单的执行指令的方式,可以使用现有技术中的任一种技术来实现。本发明中为按钮配置触发事件的流程图如图7所示,首先,启动自定义表单设计器,在设计面板***一按钮控件,然后点击该按钮的属性,重复以下步骤直到完成添加自定义表单的规则:为该按钮添加自定义表单的规则,从规则表以及关联关系表中获取相应的信息。完成添加自定义表单的规则后,保存自定义表单,完成按钮配置。当按钮被触发后,获取该按钮的配置信息中的所有规则编号。
在本实施例中,步骤S4包括以下子步骤:S41、按各规则的执行顺序选择一个规则;S42、按顺序逐一根据所述关联关系表中存储的该规则的规则步骤以及步骤条件的关联关系,执行所述规则步骤表和所述步骤条件表中存储的、与该规则对应的规则步骤和步骤条件;S43、重复步骤S41至步骤S42直到完成执行该自定义表单的所有规则。若采用触发按钮的方式来触发执行自定义表单中的规则,在步骤S41中,各规则中的执行顺序指的是在按钮添加规则时的顺序。
本发明中执行(调用)自定义表单的规则的流程如图8所示,流程开始进入步骤S801,在步骤S801中按照执行顺序从获取的所有规则编号中选择出当前需要被执行的一个规则编号;接着在步骤S802中,从关联关系表中获取该规则的关联关系信息;进入步骤S803,根据获取的关联关系的执行顺序(Order)确定该规则中第1(N)步中需要被执行的事件的类型;在步骤S804中,判断第1(N) 步中需要被执行的事件是否为步骤条件,若是则计算该步骤条件的内容并执行步骤S805,若否则执行步骤S810;在步骤S805中,判断步骤条件内容的计算结果是否为真;在步骤S806中,若是计算结果为真则在关联关系表中找到以当前的步骤条件为上级事件(Parent_ID)且真值栏为1(即IsTrue一栏中的信息为1)的所有结果,并且查询出结果按照关联关系的执行顺序排序;接着,在步骤S807中,判断查找到的结果记录数是否大于0,若是则返回步骤S803,若否则执行步骤S808;在步骤S808中,判断该自定义表单中是否还包含其他规则,若是则返回步骤S801,若否则结束流程。
在步骤S805中判断出步骤条件内容的计算结果是否为假时执行步骤 S809,在步骤S809中,在关联关系表中找到以当前的步骤条件为上级事件(Parent_ID)且真值栏为0(即IsTrue一栏中的信息为0)的所有结果,并且查询出结果按照关联关系的执行顺序排序,然后执行步骤S807。
在步骤S810中,判断第1(N)步中需要被执行的事件是否为规则步骤,若否则返回步骤S803,若是则执行该规则步骤后进入步骤S811;在步骤S811 中,判断在该规则中在该规则步骤之后还包括规则步骤或者规则条件,若是则返回步骤S803,若否则执行步骤S808。
按关联关系表中的执行顺序Order读取第N个规则的执行事件,查询语句如下所示(mssql):
Select*from关联关系表where Rule_id=’R1’;
按fullpath读取规则条件1且IsTrue=1,结果按Order排序,查询条件如下所示(mssql):
where left(fullpath,3)=’C_1’and IsTrue=1order by Order asc
按fullpath读取规则条件2且IsTrue=1,结果按Order排序,查询条件如下所示(mssql):
where left(fullpath,6)=’C_1C_2’and IsTrue=1order by Order asc
此处按fullpath读取步骤条件采用在内存中过滤,当有多个步骤条件嵌套时,采用递归方式。
上述内容中以规则R1为例,根据本发明的方法为其配置了规则表、规则步骤表、步骤条件和关联关系表,分别参见表2、4、6、8所示。执行通过上述配置的R1的流程如图9所示:开始之后计算步骤条件1;判断计算结果是否为真;若是则计算规则步骤1;接着计算步骤条件2;然后判断步骤条件2 的计算结果是否为真;若是则计算规则步骤2;然后计算规则步骤4之后结束。若步骤条件2的计算结果为假时,计算规则步骤3;接着计算规则步骤4,然后结束。若计算步骤条件1的结果为假时,计算规则步骤5,然后结束。
由此可见,在本发明中,由于配置的步骤比较少,所以运行自定义表单中各规则的步骤也较少。
在本发明的配置及调用自定义表单的规则的方法中:一方面,同一表单的规则、规则步骤及步骤条件的配置相互独立,互不影响,配置简单,通过选择配置规则、规则步骤及步骤条件之间的关联关系的方式来配置事件的执行过程,配置方法灵活,简化了配置步骤,提高配置效率;另一方面,通过调用配置好的、经过简化的运行步骤,提高运行效率。
本发明的配置及调用自定义表单的规则的***100的功能框图如图10所示,***100包括:
第一配置单元110,用于分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;
第二配置单元120,用于根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;
指令响应单元130,用于在接收到自定义表单的执行指令时,从规则表中获取该自定义表单包括的所有规则的信息,其中,执行指令包括各规则的执行顺序;
执行单元140,用于按照执行顺序执行该自定义表单的所有规则,其中,根据关联关系表中存储的各规则的规则步骤以及步骤条件的关联关系,相应的执行规则步骤表和步骤条件表中存储的规则步骤和步骤条件,以执行各规则。
其中,规则表中对应存储包括自定义表单编号以及规则编号,规则步骤表中对应存储包括自定义表单编号、规则编号、规则步骤编号以及步骤内容,步骤条件表中对应存储包括自定义表单编号、规则编号、步骤条件编号以及条件内容。
第二配置单元120包括:
配置模块121,用于为每个规则,按照规则的执行逻辑,每执行一个事件配置一个关联关系,所述事件为规则步骤或者步骤条件,每个关联关系包括当前事件的类型、当前事件的执行路径、上一级事件的执行结果为真或者为假时执行当前事件、以及该关联关系的执行顺序;
存储模块122,用于分别将每个规则中配置的所有关联关系按顺序存储于所述关联关系表。
执行单元140包括:
规则选择模块141,用于按各规则的执行顺序选择一个规则;
执行模块142,用于按顺序逐一根据所述关联关系表中存储的该规则的规则步骤以及步骤条件的关联关系,执行所述规则步骤表和所述步骤条件表中存储的、与该规则对应的规则步骤和步骤条件。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种配置及调用自定义表单的规则的方法,所述自定义表单包括一个或多个规则,每个规则包括一个或多个规则步骤以及一个或多个步骤条件,其特征在于,所述方法包括以下步骤:
S1、分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;
S2、根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;
S3、在接收到自定义表单的执行指令时,从所述规则表中获取该自定义表单包括的所有规则的信息,其中,所述执行指令包括各规则的执行顺序;
S4、按照所述执行顺序执行该自定义表单的所有规则,其中,根据所述关联关系表中存储的各规则的规则步骤以及步骤条件的关联关系,相应的执行所述规则步骤表和所述步骤条件表中存储的规则步骤和步骤条件,以执行各规则。
2.根据权利要求1所述的配置及调用自定义表单的规则的方法,其特征在于,所述步骤S2包括以下子步骤:
S21、在每个规则中,按照规则的执行逻辑,每执行一个事件配置一个关联关系,所述事件为规则步骤或者步骤条件;
S22、分别将每个规则中配置的所有关联关系按顺序存储于所述关联关系表。
3.根据权利要求2所述的配置及调用自定义表单的规则的方法,其特征在于,每个关联关系包括当前事件的类型、当前事件的执行路径、上一级事件的执行结果为真或者为假时执行当前事件、以及该关联关系的执行顺序。
4.根据权利要求3所述的配置及调用自定义表单的规则的方法,其特征在于,所述步骤S4包括以下子步骤:
S41、按各规则的执行顺序选择一个规则;
S42、按顺序逐一根据所述关联关系表中存储的该规则的规则步骤以及步骤条件的关联关系,执行所述规则步骤表和所述步骤条件表中存储的、与该规则对应的规则步骤和步骤条件;
S43、重复步骤S41至步骤S42直到完成执行该自定义表单的所有规则。
5.根据权利要求1所述的配置及调用自定义表单的规则的方法,其特征在于,所述规则表中对应存储包括自定义表单编号以及规则编号,所述规则步骤表中对应存储包括自定义表单编号、规则编号、规则步骤编号以及步骤内容,所述步骤条件表中对应存储包括自定义表单编号、规则编号、步骤条件编号以及条件内容。
6.一种配置及调用自定义表单的规则的***(100),所述自定义表单包括一个或多个规则,每个规则包括一个或多个规则步骤以及一个或多个步骤条件,其特征在于,所述***(100)包括:
第一配置单元(110),用于分别配置并保存自定义表单的规则表、规则步骤表以及步骤条件表;
第二配置单元(120),用于根据各规则的执行逻辑,配置各规则的规则步骤以及步骤条件的关联关系并存储于关联关系表;
指令响应单元(130),用于在接收到自定义表单的执行指令时,从所述规则表中获取该自定义表单包括的所有规则的信息,其中,所述执行指令包括各规则的执行顺序;
执行单元(140),用于按照所述执行顺序执行该自定义表单的所有规则,其中,根据所述关联关系表中存储的各规则的规则步骤以及步骤条件的关联关系,相应的执行所述规则步骤表和所述步骤条件表中存储的规则步骤和步骤条件,以执行各规则。
7.根据权利要求6所述的配置及调用自定义表单的规则的***,其特征在于,所述第二配置单元(120)包括:
配置模块(121),用于为每个规则,按照规则的执行逻辑,每执行一个事件配置一个关联关系,所述事件为规则步骤或者步骤条件;
存储模块(122),用于分别将每个规则中配置的所有关联关系按顺序存储于所述关联关系表。
8.根据权利要求7所述的配置及调用自定义表单的规则的***,其特征在于,每个关联关系包括当前事件的类型、当前事件的执行路径、上一级事件的执行结果为真或者为假时执行当前事件、以及该关联关系的执行顺序。
9.根据权利要求8所述的配置及调用自定义表单的规则的***,其特征在于,所述执行单元(140)包括:
规则选择模块(141),用于按各规则的执行顺序选择一个规则;
执行模块(142),用于按顺序逐一根据所述关联关系表中存储的该规则的规则步骤以及步骤条件的关联关系,执行所述规则步骤表和所述步骤条件表中存储的、与该规则对应的规则步骤和步骤条件。
10.根据权利要求6所述的配置及调用自定义表单的规则的***,其特征在于,所述规则表中对应存储包括自定义表单编号以及规则编号,所述规则步骤表中对应存储包括自定义表单编号、规则编号、规则步骤编号以及步骤内容,所述步骤条件表中对应存储包括自定义表单编号、规则编号、步骤条件编号以及条件内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310244019.6A CN104239017B (zh) | 2013-06-19 | 2013-06-19 | 一种配置及调用自定义表单的规则的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310244019.6A CN104239017B (zh) | 2013-06-19 | 2013-06-19 | 一种配置及调用自定义表单的规则的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239017A CN104239017A (zh) | 2014-12-24 |
CN104239017B true CN104239017B (zh) | 2018-09-14 |
Family
ID=52227167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310244019.6A Active CN104239017B (zh) | 2013-06-19 | 2013-06-19 | 一种配置及调用自定义表单的规则的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239017B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132777A (zh) * | 2016-11-30 | 2018-06-08 | 上海驭创信息科技有限公司 | 一种跨表取值计算***及方法 |
CN110737439B (zh) * | 2019-10-18 | 2022-07-22 | 四川长虹电器股份有限公司 | 基于规则文件的设备控制***及方法 |
CN114371867A (zh) * | 2020-10-14 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 关于业务规则的信息处理方法、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581060B1 (en) * | 2000-06-21 | 2003-06-17 | International Business Machines Corporation | System and method for RDBMS to protect records in accordance with non-RDBMS access control rules |
CN101308490A (zh) * | 2008-04-28 | 2008-11-19 | 北京航空航天大学 | 一种动态报表生成方法及平台 |
CN101706716A (zh) * | 2009-09-08 | 2010-05-12 | 南京师范大学 | 基于vo的表单定制配置与解析运行方法 |
CN102841938A (zh) * | 2012-08-14 | 2012-12-26 | 北京久其软件股份有限公司 | 一种参数化报表的生成方法及*** |
CN103020158A (zh) * | 2012-11-26 | 2013-04-03 | 中兴通讯股份有限公司 | 一种报表创建方法、装置和*** |
CN103092890A (zh) * | 2011-11-08 | 2013-05-08 | 苏州中茵泰格科技有限公司 | 报表自动生成及发送的***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727345B (zh) * | 2008-10-29 | 2013-09-04 | 国际商业机器公司 | 控制动态链接库dll加载状态的方法和*** |
-
2013
- 2013-06-19 CN CN201310244019.6A patent/CN104239017B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581060B1 (en) * | 2000-06-21 | 2003-06-17 | International Business Machines Corporation | System and method for RDBMS to protect records in accordance with non-RDBMS access control rules |
CN101308490A (zh) * | 2008-04-28 | 2008-11-19 | 北京航空航天大学 | 一种动态报表生成方法及平台 |
CN101706716A (zh) * | 2009-09-08 | 2010-05-12 | 南京师范大学 | 基于vo的表单定制配置与解析运行方法 |
CN103092890A (zh) * | 2011-11-08 | 2013-05-08 | 苏州中茵泰格科技有限公司 | 报表自动生成及发送的***及方法 |
CN102841938A (zh) * | 2012-08-14 | 2012-12-26 | 北京久其软件股份有限公司 | 一种参数化报表的生成方法及*** |
CN103020158A (zh) * | 2012-11-26 | 2013-04-03 | 中兴通讯股份有限公司 | 一种报表创建方法、装置和*** |
Non-Patent Citations (2)
Title |
---|
基于Web工作流表单的设计与实现;廖斌;《科学技术与工程》;20090228;第9卷(第3期);第721-724页 * |
基于Web的工作流***中表单定义与处理;刘迎春等;《计算机工程与应用》;20050731;第192-195页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104239017A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019518257A (ja) | 状態制御方法及び装置 | |
CN105045514B (zh) | 一种应用进程管理方法及终端 | |
CN105068929B (zh) | 测试脚本生成方法和装置、测试方法、测试装置以及测试*** | |
US6564170B2 (en) | Customizable user interfaces | |
CN104239017B (zh) | 一种配置及调用自定义表单的规则的方法和*** | |
CN104133667B (zh) | 实现人工智能行为的方法、装置及人工智能编辑器 | |
CN105094346A (zh) | 一种信息处理方法、终端及计算机存储介质 | |
CN110505079A (zh) | 用于基于上下文的多维网络可视化的***及方法 | |
CN104133666B (zh) | 确定人工智能行为的方法、装置及人工智能服务器 | |
CN106648666A (zh) | 一种用户界面生成方法及*** | |
CN104794049B (zh) | 应用程序测试方法和装置 | |
CN104750490A (zh) | 界面动画实现方法及*** | |
CN110505528A (zh) | 直播中游戏匹配的方法、装置、设备和可读存储介质 | |
CN108536470A (zh) | 一种资源文件的开发方法及*** | |
CN110058829A (zh) | 一种图像数据处理方法、装置及存储介质 | |
CN110166304A (zh) | 一种跨域sfc的编排方法、装置、电子设备及存储介质 | |
CN104714805A (zh) | 一种控制应用程序的设置菜单的方法及装置 | |
CN105468699A (zh) | 去重数据统计方法及设备 | |
CN107147947B (zh) | 关键帧识别方法及装置 | |
CN111767473B (zh) | 一种对象选取方法及计算机可读存储介质 | |
CN109343913A (zh) | 一种游戏行为树控制方法 | |
CN110209588A (zh) | 游戏服务端测试方法、装置、电子设备及介质 | |
CN105233484B (zh) | 一种智能记分***及方法 | |
CN111367929B (zh) | 数据管理方法和装置及存储介质 | |
US7885907B1 (en) | Automatically creating a component to rapidly evaluate logical expressions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |