CN115357235A - 基于表单的业务规则配置方法及装置 - Google Patents
基于表单的业务规则配置方法及装置 Download PDFInfo
- Publication number
- CN115357235A CN115357235A CN202210980313.2A CN202210980313A CN115357235A CN 115357235 A CN115357235 A CN 115357235A CN 202210980313 A CN202210980313 A CN 202210980313A CN 115357235 A CN115357235 A CN 115357235A
- Authority
- CN
- China
- Prior art keywords
- business rule
- statement
- basic unit
- business
- programming
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 36
- 230000004048 modification Effects 0.000 claims description 36
- 238000012986 modification Methods 0.000 claims description 36
- 230000001960 triggered effect Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种基于表单的业务规则配置方法及装置,涉及计算机技术领域,该方法包括:获取自然语言形式的业务规则信息,将业务规则信息转换为可被编程解析的业务规则描述语句;将业务规则描述语句发送给编译解析端,以供编译解析端将业务规则描述语句解析为业务规则编程语句,业务规则编程语句用于配置针对基础单元且与业务规则信息相匹配的业务规则。本方法能够将自然语言形式的业务规则信息,转换为可被解析的业务规则描述语句,从而编译解析端能够识别业务规则描述语句并将业务规则描述语句转换为可直接编译的业务规则编程语句,进而能够实现自然语言形式的业务规则到机器语言形式的业务规则编程语句的转换,有效降低表单业务规则的配置难度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于表单的业务规则配置方法及装置。
背景技术
目前,表单引擎在针对表单中的基础单元(例如:字段、记录、子表)进行业务规则配置时,普遍采用编程语言(例如:JavaScript脚本)进行编写,这使得对配置业务规则的人员的编程技术能力有着较大的要求,因此,通常在配置业务规则时,需要编程技术人员配合表单运营人员共同进行配置,一些情况下,需要技术人员提前使用编程语言编写好脚本,再将脚本交由运营人员进行业务规则的配置,这使得配置业务规则的难度较大且效率较低。
发明内容
本发明实施例的主要目的在于提出一种基于表单的业务规则配置方法及装置,其能将针对表单中的任一自然语言形式的业务规则信息,转换为可被解析的业务规则描述语句,从而编译解析端可以将业务规则描述语句转换为可直接进行编译的业务规则编程语句。
第一方面,本发明实施例提供一种基于表单的业务规则配置方法,所述表单中包含多个基础单元,针对任一基础单元,所述方法包括:
获取自然语言形式的业务规则信息,将所述业务规则信息转换为可被编程解析的业务规则描述语句;
将所述业务规则描述语句发送给编译解析端,以供所述编译解析端将业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则。
在一些示例中,所述将所述业务规则信息转换为可被编程解析的业务规则描述语句包括:
确定所述业务规则信息中包含的基础单元元素;
根据所述基础单元元素生成符合预设标准格式的条件语句;
将所述条件语句转换为所述业务规则描述语句。
在一些示例中,所述条件语句的数量为多个;所述将所述条件语句转换为所述业务规则描述语句包括:通过逻辑运算符号将多个所述条件语句拼接为所述业务规则描述语句。
在一些示例中,所述预设标准格式为字符串格式;所述基础单元元素包括以下至少一者:基础单元名称、规则符号、基础单元数据。
在一些示例中,所述方法由位于前端服务器和后端服务器之间的中间件实现,且所述获取自然语言形式的业务规则信息包括:
响应于通过前端配置界面中的配置入口触发的业务规则配置请求,获取所述业务规则配置请求中包含的业务规则信息;并且,所述编译解析端为所述后端服务器。
第二方面,本发明实施例提供一种基于表单的业务规则配置方法,所述表单中包含多个基础单元,针对任一基础单元,所述方法包括:
接收业务规则描述语句,并将所述业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则;其中,所述业务规则描述语句通过上述任一方法获得。
在一些示例中,所述业务规则编程语句的形式为函数体;所述将所述业务规则描述语句解析为业务规则编程语句包括:
将所述业务规则描述语句解析为抽象语法树;
将所述抽象语法树转换为函数体。
在一些示例中,将所述抽象语法树转换为函数体包括:
通过递归遍历的方式,遍历所述抽象语法树;
根据所述遍历结果形成所述函数体。
在一些示例中,所述接收业务规则描述语句,并将所述业务规则描述语句解析为业务规则编程语句之后,所述方法还包括:
响应于通过表单展示界面的基础单元触发的表单输入数据,调用该基础单元对应的所述函数体基于所述表单输入数据生成表单显示数据。
在一些示例中,所述业务规则编程语句中包含针对所述基础单元的修改关联参数;针对任一所述基础单元,所述响应于通过表单展示界面的基础单元触发的表单输入数据,调用该基础单元对应的所述函数体基于所述表单输入数据生成表单显示数据之后,所述方法包括:
在检测到针对基础单元的表单数据修改操作的情况下,根据与所述基础单元相匹配的业务规则编程语句中包含的所述修改关联参数,确定针对所述基础单元的表单更新数据;
根据所述表单更新数据更新所述基础单元的表单显示数据;其中,
所述修改关联参数包括以下至少一者:与所述基础单元相关联的关联基础单元的单元标识、所述关联基础单元的执行优先级。
在一些示例中,与所述基础单元相关联的关联基础单元的数量为多个;所述修改关联参数包括多个所述关联基础单元的单元标识及其执行优先级;所述在检测到针对基础单元的表单数据修改操作的情况下,根据与所述基础单元相匹配的业务规则编程语句中包含的所述修改关联参数,确定针对所述基础单元的表单更新数据,包括:
确定执行优先级由高到低的排序的前N个所述关联基础单元为目标关联基础单元,其中,N为大于等于1的整数;
根据所述目标关联基础单元的表单显示数据,确定针对所述基础单元的所述表单更新数据。
第三方面,本发明实施例提供一种基于表单的业务规则配置装置,所述表单中包含多个基础单元,该装置包括:
转换模块,用于针对任一基础单元,获取自然语言形式的业务规则信息,将所述业务规则信息转换为可被编程解析的业务规则描述语句;
发送模块,用于将所述业务规则描述语句发送给编译解析端,以供所述编译解析端将业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则。
第四方面,本发明实施例提供一种基于表单的业务规则配置装置,所述表单中包含多个基础单元,该装置包括:
解析模块,用于针对任一基础单元,接收业务规则描述语句,并将所述业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则;其中,所述业务规则描述语句通过上述任一方法获得。
第四方面,本发明实施例提供一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据上述方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
第五方面,本发明实施例提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据上述方法。
本发明实施例提供的一种基于表单的业务规则配置方法及装置,通过将自然语言形式的业务规则信息转换为可被解析的业务规则描述语句,使得编译解析端能够识别业务规则描述语句,并将业务规则描述语句转换为可直接编译的业务规则编程语句,从而能够实现自然语言形式的业务规则信息到机器语言形式的业务规则编程语句的转换,使得表单业务规则配置人员能够使用自然语言形式的业务规则信息实现表单业务规则的配置,进而能够有效降低表单业务规则的配置难度并提高配置表单业务规则的效率。
附图说明
图1为本发明一实施例提供的一种基于表单的业务规则配置方法的流程图;
图2为本发明提供的一种基于表单的业务规则配置方法的应用场景架构图;
图3为本发明又一实施例提供的一种基于表单的业务规则配置方法的流程图;
图4为本发明一实施例提供的一种基于表单的业务规则配置装置的框图;
图5为本发明又一实施例提供的一种基于表单的业务规则配置装置的框图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的服务器进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本发明透彻和完整,并将使本领域技术人员充分理解本发明的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本发明。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
本文实施例可借助本发明的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本发明的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
参见图1,图1示出本发明一个实施例提供的基于表单的业务规则配置方法的流程图。该方法可应用在针对表单中包含的基础单元的业务规则配置当中,具体地,可以采用表单引擎实现针对基础单元的业务规则配置。表单中包含多个基础单元,基础单元为表单中用于存储数据项的基础单位,例如:字段、记录、子表等。基础单元的业务规则即对基础单元的数据属性进行限制的规则,以基础单元为字段为例,业务规则可以包括以下至少一者:字段的有效数据类型、字段中数据的取值范围、字段的数据计算公式等。为了便于说明,以下皆以基础单元为字段为例进行说明。具体地,如图1所示,针对表单中任一基础单元,本公开实施例提供的基于表单的业务规则配置方法包括以下步骤:
S11、获取自然语言形式的业务规则信息,将业务规则信息转换为可被编程解析的业务规则描述语句。
其中,业务规则信息即对基础单元的数据属性进行限制的规则信息,其中,数据属性包括以下至少一者:数据类型、数据取值范围、数据计算公式、数据关联路径。其中,一个基础单元的数据取值范围包括基础单元的自身取值范围和关联取值范围,自身取值范围采用自然数为上限和/或下限以对基础单元的数据值进行限制,关联取值范围采用与基础单元相关联的关联基础单元的数据值为上限和/或下限以对基础单元的数据值进行限制。例如,一个基础单元的自身取值范围为(0,200),并且,该基础单元的关联取值范围为A+B>C,其中,C表示基础单元本身,A和B分别为基础单元的两个关联基础单元。在基础单元的数据属性包括关联取值范围的情况下,相应地,业务规则信息可以包括修改关联参数,修改关联参数包括以下至少一者:与基础单元相关联的关联基础单元的单元标识、关联基础单元的执行优先级。关联基础单元的执行优先级表示关联基础单元自身的优先级(也即重要程度),可以根据关联基础单元的重要程度或其对所关联的基础单元的影响程度来确定其执行优先级。一个基础单元的数据关联路径用于指示在一个基础单元路径中该基础单元被触发后所跳转的下一个基础单元。
在本方法中,配置人员可以使用自然语言形式(即符合人类逻辑的语言)针对一个基础单元的业务规则进行配置,生成该基础单元的业务规则信息,再将业务规则信息转换为可被编程解析(即可被计算机识别语法)的业务规则描述语句,从而后续可以对业务规则描述语句进行解析和编译生成可被计算机执行的业务规则编程语句,实现自然语言到机器语言的转换。具体地,S11中,将业务规则信息转换为可被编程解析的业务规则描述语句包括以下子步骤:
子步骤一、确定业务规则信息中包含的基础单元元素。
具体地,基础单元元素为可被计算机识别的单个元素,例如,基础单元元素包括以下至少一者:基础单元名称、规则符号、基础单元数据,进一步地,基础单元数据的类型可以为以下一者:字符类型、布尔值类型、枚举值类型、自然数类型;规则符号例如为>、<、=、%、括号等符号。在本步骤中,可从自然语言形式的业务规则信息中识别其包含的至少一个基础单元元素。
子步骤二、根据基础单元元素生成符合预设标准格式的条件语句。
其中,预设标准格式为字符串(string)格式。将识别得到的多个基础单元元素拼接形成单个条件语句,再将单个条件语句以string格式存储,从而便于后续进行语法分析时,解析器能够识别string格式的条件语句。
子步骤三、将条件语句转换为业务规则描述语句。
在一些示例中,子步骤二中条件语句的数量为多个,在这种情况下,子步骤三包括:通过逻辑运算符号将多个条件语句拼接为业务规则描述语句。
其中,逻辑运算符号包括机器语言形式的各类运算符号,例如,逻辑运算符号包括以下至少一者:+、-、*、/等运算符号。
通过上述子步骤一至子步骤三,能够通过初步识别并拆分出业务规则信息中基础单元元素,再按照便于语法识别的方式将单个基础单元元素转换为条件语句,之后将条件语句拼接为能够被解析的业务规则描述语句,从而后续能够通过解析和编译将业务规则描述语句转换为可被计算机执行的业务规则编程语句,在本方法中,业务规则描述语句相当于一个自然语言到可被直接执行的编程语言之间的中间语言,用于将无法被计算机识别的自然语言,转换为可被计算机识别并进行语法分析的中间语言,从而后续可通过对中间语言进行解析和编译形成可被计算机直接执行的编程语言。
S12、将业务规则描述语句发送给编译解析端,以供编译解析端将业务规则描述语句解析为业务规则编程语句,业务规则编程语句用于配置针对基础单元且与业务规则信息相匹配的业务规则。
其中,编译解析端包含解析器和编译器,解析器能够对业务规则描述语句进行解析,再通过编译器将解析后的业务规则描述语句转换为可被计算机直接执行的业务规则编程语句(即上述编程语言),业务规则编程语句能够直接配置针对基础单元的业务规则,换言之,业务规则编程语句能够直接实现与业务规则信息相匹配的、针对基础单元的业务规则。
在一些示例中,参见图2,图2示出本方法的应用场景架构图,该架构中包括前端服务器1、后端服务器3以及连接在二者之间的中间件2,本方法由中间件2实现,其中,中间件2可以为服务器,也可以为实体计算装置。在如图2所示的应用场景中,S11中,获取自然语言形式的业务规则信息包括:
响应于通过前端服务器1中的前端配置界面中的配置入口触发的业务规则配置请求,获取业务规则配置请求中包含的业务规则信息。并且,S13中的编译解析端为后端服务器3。
具体地,前端服务器1中包含前端配置界面,前端配置界面用于向配置人员提供针对表单中的各个基础单元进行业务规则配置的配置入口,配置人员通过在配置入口中点选或输入自然语言形式的配置规则以生成业务规则信息,并触发业务规则配置请求,业务规则触发请求包含所生成的自然语言形式的业务规则信息,通过配置入口触发的业务规则配置请求发送至中间件2,中间件2对业务规则信息进行识别和拆分,将业务规则信息转换为业务规则描述语句,并将业务规则描述语句发送给后端服务器3,后端服务器3包含解析器(图中未示出)和编译器(图中未示出),解析器能够对业务规则描述语句进行解析,再通过编译器将解析后的业务规则描述语句转换为可被计算机直接执行的业务规则编程语句,采用这种方式,通过将自然语言形式的业务规则信息转换为可被解析的业务规则描述语句,使得编译解析端能够识别业务规则描述语句,并将业务规则描述语句转换为可直接编译的业务规则编程语句,从而能够实现自然语言形式的业务规则信息到机器语言形式的业务规则编程语句的转换,使得表单业务规则配置人员能够在前端配置界面使用自然语言形式的业务规则信息实现表单业务规则的配置,而无需掌握编程语言,进而能够有效降低表单业务规则的配置难度并提高配置表单业务规则的效率。
参见图3,图3示出本发明一个实施例提供的基于表单的业务规则配置方法的流程图。如图2所示,本实施例提供的基于表单的业务规则配置方法可应用在图2所示的后端服务器3中。该方法可应用在针对表单中包含的基础单元的业务规则配置当中,具体地,可以采用表单引擎实现针对基础单元的业务规则配置。表单中包含多个基础单元,基础单元为表单中用于存储数据项的基础单位,例如:字段、记录、子表等。为了便于说明,以下皆以基础单元为字段为例进行说明。具体地,如图2所示,该方法包括以下步骤:
S21、接收业务规则描述语句,并将业务规则描述语句解析为业务规则编程语句,业务规则编程语句用于配置针对基础单元且与业务规则信息相匹配的业务规则。
相应地,S21中接收的业务规则描述语句,可以为上述实施例中,中间件2发送的业务规则描述语句。其中,业务规则描述语句通过上述实施例中的基于表单的业务规则配置方法获得,同上述,业务规则描述语句能够被计算机识别并进行语法分析,业务规则描述语句相当于一个自然语言到可被直接执行的编程语言之间的中间语言,用于将无法被计算机识别的自然语言,转换为可被计算机识别并进行语法分析的中间语言,再通过解析编译端对中间语言进行解析和编译形成可被计算机直接执行的编程语言。
业务规则编程语句即可被计算机直接执行的业务规则编程语句,换言之,业务规则编程语句能够直接实现与业务规则信息相匹配的、针对基础单元的业务规则,因此,业务规则编程语句可以为任何形式的编程语句,在一些示例中,业务规则编程语句的形式为函数体。在这种情况下,S21中,将业务规则描述语句解析为业务规则编程语句包括以下步骤:
子步骤一、将业务规则描述语句解析为抽象语法树(abstract syntax code,AST)。
具体地,AST语法树是一种源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构,业务规则描述语句为string格式,因此能够被解析器识别并进行语法分析,解析出业务规则描述语句中所包含的各个结构,再根据识别结果形成AST语法树。具体地,子步骤一包括:
子步骤一a、将string格式的业务规则描述语句分割成语法单元数组。
子步骤一b、分析语法单元数组之间的关系,并根据分析结果生成AST语法树。
由于AST语法树不依赖于具体的文法和语言的细节,因此无论业务规则描述语句采用何种文法,或者复杂程度高或低,均能够被解析为相应的AST语法树,便于后续根据AST语法树生成可被直接编程执行的函数体。
子步骤二、将抽象语法树转换为函数体。
在一些示例中,子步骤二包括以下子步骤:
子步骤二a、通过递归遍历的方式,遍历抽象语法树。
子步骤二b、根据遍历结果形成函数体。
由于AST语法树上的各个节点均可被编译器识别并进行编译,因此,在编译过程中,编译器可遍历AST语法树的各个节点,并根据遍历结果形成JavaScript语言形式的函数体,而函数体可被计算机直接执行,用于实现函数体对应的基础单元的业务规则。采用这种方式,通过将自然语言形式的业务规则信息转换为可被解析的业务规则描述语句,使得编译解析端能够识别业务规则描述语句,并将业务规则描述语句转换为可直接编译的函数体(即业务规则编程语句),从而能够实现自然语言形式的业务规则信息到机器语言形式的业务规则编程语句的转换,使得表单业务规则配置人员能够使用自然语言形式的业务规则信息实现表单业务规则的配置,而无需掌握编程语言,进而能够有效降低表单业务规则的配置难度并提高配置表单业务规则的效率。
需要说明的是,上述子步骤一由解析器执行,上述子步骤二由编译器执行,解析器与编译器的编程语言需要相匹配,例如,若编译器为JavaScript脚本的编译器,则解析器为能够解析出适用于JavaScript脚本的语句的解析器,例如,解析器可以为Acorn解析器或Esprima解析器,在此不做限定。
在一些示例中,继续参见图3,S21之后,该方法还包括:
S22、响应于通过表单展示界面的基础单元触发的表单输入数据,调用该基础单元对应的函数体基于表单输入数据生成表单显示数据。
在完成基于表单的各个基础单元的业务规则配置后,将业务规则匹配至表单展示界面中的各个基础单元中,在使用表单的阶段,用户可通过表单的基础单元输入数据,即通过表单展示界面的基础单元触发的表单输入数据,此时表单展示界面会调用后端服务器中通过上述方法生成的函数体,函数体响应表单输入数据,根据函数体表示的业务规则对表单输入数据进行规则校验,并根据校验结果生成表单显示数据。例如,一个基础单元的函数体的作用为:限定基础单元的取值范围,则在用户通过该基础单元触发表单输入数据后,执行基础单元的函数体对表单输入数据进行取值范围的校验,若表单输入数据在取值范围内,则将表单输入数据作为表单显示数据进行显示。
在一些示例中,业务规则编程语句中包含针对基础单元的修改关联参数,相应地,自然语言形式的业务规则信息也包含修改关联参数。继续参见图3,S22之后,针对任一基础单元,该方法包括:
S23、在检测到针对基础单元的表单数据修改操作的情况下,根据与基础单元相匹配的业务规则编程语句中包含的修改关联参数,确定针对基础单元的表单更新数据。
其中,修改关联参数为与确定基础单元的数据相关的各个参数,修改关联参数包括以下至少一者:与基础单元相关联的关联基础单元的单元标识、关联基础单元的执行优先级。与基础单元相关联的关联基础单元即为对基础单元的数据产生影响的其他基础单元,例如,假设基础单元的业务规则信息为A+B>C,其中,C表示基础单元自身,而A和B表示其他基础单元,因此基础单元C的数值变化受到基础单元B和A的限制,因此基础单元A和B均为基础单元C的关联基础单元。关联基础单元的执行优先级表示关联基础单元自身的优先级(也即重要程度),可以根据关联基础单元的重要程度或其对所关联的基础单元的影响程度来确定其执行优先级。在基础单元的数据发生变化时,即检测到针对基础单元的表单数据修改操作时,表单数据修改操作中携带了新的针对基础单元的表单输入数据,此时需要根据该基础单元的关联基础单元的数据,确定基础单元的基于新的表单输入数据更新后的数据。
具体地,在S23中与基础单元相关联的关联基础单元的数量为多个,并且,修改关联参数包括多个关联基础单元的单元标识及多个关联基础单元的执行优先级的情况下,S23包括以下子步骤:
子步骤一、确定执行优先级由高到低的排序的前N个关联基础单元为目标关联基础单元。
其中,N为大于等于1的整数。根据修改关联参数中包含的关联基础单元的标识,确定基础单元所有的关联基础单元,将多个关联基础单元的执行优先级按照从高到低的顺序进行排序,并取排序前N个关联基础单元为目标关联基础单元,即在关联基础单元较多的情况下,为了减少计算的复杂度,选取关联程度重要的关联基础单元作为目标关联基础单元。
子步骤二、根据目标关联基础单元的表单显示数据,确定针对基础单元的表单更新数据。
确定至少一个目标关联基础单元中每个目标关联基础单元的表单显示数据,并根据基础单元的函数体,根据每个目标关联基础单元的表单显示数据对表单数据修改操作中携带的新的表单输入数据进行计算,并根据计算结果确定针对基础单元的表单更新数据。例如,假设基础单元的业务规则信息为A+B>C,函数体为表示A+B>C的编程语句,其中,C表示基础单元自身,而A和B为C的关联基础单元,并且A和B为子步骤一确定的目标关联基础单元,在检测到表单数据修改操作的情况下,获取表单数据修改操作中的新的表单输入数据,再确定A和B的表单输入数据,执行函数体(表示A+B>C的编程语句)确定表单数据修改操作中的新的表单输入数据是否符合A+B>C的表单业务规则,若符合,则将表单数据修改操作中的新的表单输入数据确定为针对基础单元的表单更新数据。
S24、根据表单更新数据更新基础单元的表单显示数据。
将S23中确定出的表单更新数据作为基础单元的新的表单显示数据进行显示。
在一些示例中,上述S23和S24可以采用Node微服务作为架构实现,以Node微服务的形式向后端提供对基础单元的表单显示数据进行校验、更新的功能。
本公开实施例提供的基于表单的业务规则配置中,通过将自然语言形式的业务规则信息转换为可被解析的业务规则描述语句,使得编译解析端能够识别业务规则描述语句,并将业务规则描述语句转换为可直接编译的业务规则编程语句,从而能够实现自然语言形式的业务规则信息到机器语言形式的业务规则编程语句的转换,使得表单业务规则配置人员能够在前端配置界面使用自然语言形式的业务规则信息实现表单业务规则的配置,而无需掌握编程语言,进而能够有效降低表单业务规则的配置难度并提高配置表单业务规则的效率;并且,后续在对基础单元进行数据修改时,可以调用函数体根据修改关联参数对所修改的数据进行校验,保证了针对基础单元进行数据修改的过程中业务规则仍能生效,进一步保证表单中各个基础单元的数据的准确性和安全性。
图4示出了本发明又一实施例提供的一种基于表单的业务规则配置装置,表单中包含多个基础单元,该装置包括:
转换模块101,用于针对任一基础单元,获取自然语言形式的业务规则信息,将业务规则信息转换为可被编程解析的业务规则描述语句。
发送模块102,用于将业务规则描述语句发送给编译解析端,以供编译解析端将业务规则描述语句解析为业务规则编程语句,业务规则编程语句用于配置针对基础单元且与业务规则信息相匹配的业务规则。
在一些示例中,转换模块101具体用于:
确定业务规则信息中包含的基础单元元素;
根据基础单元元素生成符合预设标准格式的条件语句;
将条件语句转换为业务规则描述语句。
在一些示例中,条件语句的数量为多个;转换模块101中,将条件语句转换为业务规则描述语句包括:通过逻辑运算符号将多个条件语句拼接为业务规则描述语句。
在一些示例中,预设标准格式为字符串格式;基础单元元素包括以下至少一者:基础单元名称、规则符号、基础单元数据。
在一些示例中,该装置为位于前端服务器和后端服务器之间的中间件,且转换模块101具体用于:
响应于通过前端配置界面中的配置入口触发的业务规则配置请求,获取业务规则配置请求中包含的业务规则信息;并且,编译解析端为后端服务器。
图5示出了本发明又一实施例提供的一种基于表单的业务规则配置装置,表单中包含多个基础单元,该装置包括:
解析模块201,用于针对任一基础单元,接收业务规则描述语句,并将业务规则描述语句解析为业务规则编程语句,业务规则编程语句用于配置针对基础单元且与业务规则信息相匹配的业务规则。其中,业务规则描述语句通过上述基于表单的业务规则配置方法获得。
在一些示例中,业务规则编程语句的形式为函数体。解析模块201具体用于:
将业务规则描述语句解析为抽象语法树;
将抽象语法树转换为函数体。
在一些示例中,解析模块201中,将抽象语法树转换为函数体包括:
通过递归遍历的方式,遍历抽象语法树;
根据遍历结果形成函数体。
在一些示例中,该装置还包括:
数据生成模块,用于响应于通过表单展示界面的基础单元触发的表单输入数据,调用该基础单元对应的函数体基于表单输入数据生成表单显示数据。
在一些示例中,业务规则编程语句中包含针对基础单元的修改关联参数;该装置还包括:
确定模块,用于针对任一基础单元,在检测到针对基础单元的表单数据修改操作的情况下,根据与基础单元相匹配的业务规则编程语句中包含的修改关联参数,确定针对基础单元的表单更新数据;
数据更新模块,用于根据表单更新数据更新基础单元的表单显示数据;其中,
修改关联参数包括以下至少一者:与基础单元相关联的关联基础单元的单元标识、关联基础单元的执行优先级。
在一些示例中,与基础单元相关联的关联基础单元的数量为多个。修改关联参数包括多个关联基础单元的单元标识及其执行优先级。确定模块具体用于:
确定执行优先级由高到低的排序的前N个关联基础单元为目标关联基础单元;
根据目标关联基础单元的表单显示数据,确定针对基础单元的表单更新数据。
图6示出了根据本发明又一实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:一个或多个处理器501;
存储器502,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的方法;
一个或多个I/O接口503,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器501为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器502为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)503连接在处理器501与存储器502间,能实现处理器501与存储器502的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器501、存储器502和I/O接口503通过总线相互连接,进而与计算设备的其它组件连接。
本实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种方法。
本领域普通技术人员可以理解,上文中所发明方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经发明了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
1.一种基于表单的业务规则配置方法,其特征在于,所述表单中包含多个基础单元,针对任一基础单元,所述方法包括:
获取自然语言形式的业务规则信息,将所述业务规则信息转换为可被编程解析的业务规则描述语句;
将所述业务规则描述语句发送给编译解析端,以供所述编译解析端将业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则。
2.根据权利要求1所述的方法,其特征在于,所述将所述业务规则信息转换为可被编程解析的业务规则描述语句包括:
确定所述业务规则信息中包含的基础单元元素;
根据所述基础单元元素生成符合预设标准格式的条件语句;
将所述条件语句转换为所述业务规则描述语句。
3.根据权利要求2所述的方法,其特征在于,所述条件语句的数量为多个;所述将所述条件语句转换为所述业务规则描述语句包括:通过逻辑运算符号将多个所述条件语句拼接为所述业务规则描述语句。
4.根据权利要求2所述的方法,其特征在于,所述预设标准格式为字符串格式;所述基础单元元素包括以下至少一者:基础单元名称、规则符号、基础单元数据。
5.根据权利要求1-4任一所述的方法,其特征在于,所述方法由位于前端服务器和后端服务器之间的中间件实现,且所述获取自然语言形式的业务规则信息包括:
响应于通过前端配置界面中的配置入口触发的业务规则配置请求,获取所述业务规则配置请求中包含的业务规则信息;并且,所述编译解析端为所述后端服务器。
6.一种基于表单的业务规则配置方法,其特征在于,所述表单中包含多个基础单元,针对任一基础单元,所述方法包括:
接收业务规则描述语句,并将所述业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则;其中,所述业务规则描述语句通过权利要求1-5任一方法获得。
7.根据权利要求6所述的方法,其特征在于,所述业务规则编程语句的形式为函数体;所述将所述业务规则描述语句解析为业务规则编程语句包括:
将所述业务规则描述语句解析为抽象语法树;
将所述抽象语法树转换为函数体。
8.根据权利要求7所述的方法,其特征在于,将所述抽象语法树转换为函数体包括:
通过递归遍历的方式,遍历所述抽象语法树;
根据所述遍历结果形成所述函数体。
9.根据权利要求7或8所述的方法,其特征在于,所述接收业务规则描述语句,并将所述业务规则描述语句解析为业务规则编程语句之后,所述方法还包括:
响应于通过表单展示界面的基础单元触发的表单输入数据,调用该基础单元对应的所述函数体基于所述表单输入数据生成表单显示数据。
10.根据权利要求9所述的方法,其特征在于,所述业务规则编程语句中包含针对所述基础单元的修改关联参数;针对任一所述基础单元,所述响应于通过表单展示界面的基础单元触发的表单输入数据,调用该基础单元对应的所述函数体基于所述表单输入数据生成表单显示数据之后,所述方法还包括:
在检测到针对基础单元的表单数据修改操作的情况下,根据与所述基础单元相匹配的业务规则编程语句中包含的所述修改关联参数,确定针对所述基础单元的表单更新数据;
根据所述表单更新数据更新所述基础单元的表单显示数据;其中,
所述修改关联参数包括以下至少一者:与所述基础单元相关联的关联基础单元的单元标识、所述关联基础单元的执行优先级。
11.根据权利要求10所述的方法,其特征在于,与所述基础单元相关联的关联基础单元的数量为多个;所述修改关联参数包括多个所述关联基础单元的单元标识及其执行优先级;所述在检测到针对基础单元的表单数据修改操作的情况下,根据与所述基础单元相匹配的业务规则编程语句中包含的所述修改关联参数,确定针对所述基础单元的表单更新数据,包括:
确定执行优先级由高到低的排序的前N个所述关联基础单元为目标关联基础单元,其中,N为大于等于1的整数;
根据所述目标关联基础单元的表单显示数据,确定针对所述基础单元的所述表单更新数据。
12.一种基于表单的业务规则配置装置,其特征在于,所述表单中包含多个基础单元,该装置包括:
转换模块,用于针对任一基础单元,获取自然语言形式的业务规则信息,将所述业务规则信息转换为可被编程解析的业务规则描述语句;
发送模块,用于将所述业务规则描述语句发送给编译解析端,以供所述编译解析端将业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则。
13.一种基于表单的业务规则配置装置,其特征在于,所述表单中包含多个基础单元,该装置包括:
解析模块,用于针对任一基础单元,接收业务规则描述语句,并将所述业务规则描述语句解析为业务规则编程语句,所述业务规则编程语句用于配置针对所述基础单元且与所述业务规则信息相匹配的业务规则;其中,所述业务规则描述语句通过权利要求1-5任一方法获得。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-5任意一项所述的方法,或实现根据权利要求6-11任意一项所述的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
15.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-5任意一项所述的方法,或实现根据权利要求6-11任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980313.2A CN115357235A (zh) | 2022-08-16 | 2022-08-16 | 基于表单的业务规则配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980313.2A CN115357235A (zh) | 2022-08-16 | 2022-08-16 | 基于表单的业务规则配置方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357235A true CN115357235A (zh) | 2022-11-18 |
Family
ID=84000999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210980313.2A Pending CN115357235A (zh) | 2022-08-16 | 2022-08-16 | 基于表单的业务规则配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357235A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301795A (zh) * | 2023-01-28 | 2023-06-23 | 广西数字大脑智能科技有限责任公司 | 一种用于页面可视化配置及代码编写的开发平台 |
CN117611094A (zh) * | 2023-12-06 | 2024-02-27 | 阿帕数字科技有限公司 | 基于业务流程编排实现供应链体系设计方法及系统 |
-
2022
- 2022-08-16 CN CN202210980313.2A patent/CN115357235A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301795A (zh) * | 2023-01-28 | 2023-06-23 | 广西数字大脑智能科技有限责任公司 | 一种用于页面可视化配置及代码编写的开发平台 |
CN116301795B (zh) * | 2023-01-28 | 2024-06-04 | 广西数字大脑智能科技有限责任公司 | 一种用于页面可视化配置及代码编写的开发平台 |
CN117611094A (zh) * | 2023-12-06 | 2024-02-27 | 阿帕数字科技有限公司 | 基于业务流程编排实现供应链体系设计方法及系统 |
CN117611094B (zh) * | 2023-12-06 | 2024-06-07 | 阿帕数字科技有限公司 | 基于业务流程编排实现供应链体系设计方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
US9465593B2 (en) | Method and apparatus for testing browser compatibility | |
CN115357235A (zh) | 基于表单的业务规则配置方法及装置 | |
EP4322009A1 (en) | Test case generation method, apparatus and device | |
US9710243B2 (en) | Parser that uses a reflection technique to build a program semantic tree | |
US6321376B1 (en) | Apparatus and method for semi-automated generation and application of language conformity tests | |
US8707252B1 (en) | Techniques for automatic generation of parsing code | |
CN111045678A (zh) | 页面执行动态代码的方法、装置、设备及存储介质 | |
CN109857641A (zh) | 对程序源文件进行缺陷检测的方法及装置 | |
JP7237457B2 (ja) | コンピューティング装置 | |
US20130125098A1 (en) | Transformation of Computer Programs | |
CN113901083B (zh) | 基于多解析器的异构数据源操作资源解析定位方法和设备 | |
CN111813675A (zh) | Ssa结构解析方法、装置、电子设备和存储介质 | |
CN114968807A (zh) | 代码检测方法、装置、电子设备及可读存储介质 | |
CN107169092A (zh) | 交互过程中智能识别并处理敏感内容的方法及系统 | |
CN115951890A (zh) | 一种不同前端框架间的代码转换方法及系统及装置 | |
CN117113347A (zh) | 一种大规模代码数据特征提取方法及系统 | |
CN113051172A (zh) | 测试脚本的执行方法、装置、计算机设备和存储介质 | |
CN112286784B (zh) | 一种测试用例生成方法、装置、服务器及存储介质 | |
CN114489594A (zh) | 一种命令解析器的构建方法、命令解析处理方法及装置 | |
CN108008947B (zh) | 一种编程语句的智能提示方法、装置、服务器及存储介质 | |
CN112199261A (zh) | 应用程序性能分析方法及装置、电子设备 | |
CN108959508A (zh) | Sql数据生成方法及装置 | |
CN114528218A (zh) | 测试程序的生成方法、装置、存储介质以及电子设备 | |
CN114089980A (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 |