基于规则引擎的数据处理方法、装置及规则引擎系统制造方法及图纸

技术编号:38335998 阅读:9 留言:0更新日期:2023-08-02 09:16
本发明专利技术提供了一种基于规则引擎的数据处理方法、装置及规则引擎系统,该方法包括:获取预先存储的规则配置表和待处理的多个业务数据,将多个判定规则拆分成互不相同的多个子条件,根据多个子条件对多个业务数据进行并行处理,得到每个业务数据的多个子判定结果,根据每个业务数据的多个子判定结果分别确定每个业务数据对应的多个目标判定结果。本发明专利技术实施例将复杂的逻辑判定条件拆分成最细粒度的条件,借助大数据框架的天然并行计算优势,实现了对海量数据的规则判断,可以解决相关技术中规则引擎较少能支持海量数据处理的问题。规则引擎较少能支持海量数据处理的问题。规则引擎较少能支持海量数据处理的问题。

【技术实现步骤摘要】
基于规则引擎的数据处理方法、装置及规则引擎系统


[0001]本专利技术涉及数据处理领域,具体而言,涉及一种基于规则引擎的数据处理方法、装置及规则引擎系统。

技术介绍

[0002]目前常见规则引擎主要是将业务决策从应用程序代码中分解出来,并使用预定义的语义模块来编写业务决策。完整的规则引擎主要由三部分组成:规则库(Rules)、既定事实(Facts)、推理机(Inference Engine/规则引擎)。
[0003]现有技术中的规则引擎还存在以下问题:(1)大部分仅能支持简单逻辑的判断和简单的规则优先级控制,组合逻辑配置相对较复杂;(2)通过界面配置的规则引擎,可视化操作需要将规则内容在页面逐一进行添加,工作量大;(3)基于脚本语言的规则引擎,对规则进行修改时不易定位,需要一定的代码编写能力,业务人员使用难度较大;(4)基于Java虚拟机(Java Virtual Machine,简称JVM)开发的规则引擎,对于普通开发人员存在一定的学习成本;(5)现有技术主要基于单机环境,较少能支持海量数据处理。
[0004]目前在大数据环境下,尚不存在成熟的规则引擎产品。

技术实现思路

[0005]本专利技术实施例提供了一种基于规则引擎的数据处理方法、装置及规则引擎系统,以至少解决相关技术中规则引擎较少能支持海量数据处理的问题。
[0006]根据本专利技术的一个实施例,提供了一种基于规则引擎的数据处理方法,包括:获取预先存储的规则配置表和待处理的多个业务数据,其中,所述规则配置表包含多个判定规则;将所述多个判定规则拆分成互不相同的多个子条件,其中,每个所述判定规则包含至少一个子条件;根据所述多个子条件对所述多个业务数据进行并行处理,得到每个业务数据的多个子判定结果;根据每个业务数据的所述多个子判定结果分别确定每个业务数据对应的多个目标判定结果,其中,每个所述判定规则对应一个目标判定结果。
[0007]可选地,根据每个业务数据的所述多个子判定结果分别确定每个业务数据对应的多个目标判定结果,包括:针对每个所述业务数据,根据所述多个判定规则与所述多个子条件之间的关联关系,分别确认每个所述判定规则关联的至少一个子判定结果,其中,每个子判定结果对应所述判定规则中的一个子条件;在所述判定规则关联的子判定结果均为是的情况下,确定所述判定规则的目标判定结果为是;在所述判定规则关联的任意一个子判定结果为否的情况下,确定所述判定规则的目标判定结果为否。
[0008]可选地,在所述获取预先存储的规则配置表和待处理的多个业务数据之前,所述方法还包括:将按照预设规范编写的规则文件上传到数据库中,并根据所述规则文件更新所述规则配置表,其中,所述规则文件为表格文件,所述规则文件和所述规则配置表中包含多个中文字段。
[0009]可选地,在所述将所述多个判定规则拆分成互不相同的多个子条件之前,所述方
法还包括:解析所述规则配置表,并根据预设词库将所述规则配置表中的中文字段转换为英文字段,其中,所述预设词库存储有所述中文字段与所述英文字段的映射关系。
[0010]可选地,所述规则配置表包含以下字段:规则编号、序号;其中,所述规则配置表中的每行数据对应一个子条件,每个判定规则包含至少一行数据,所述规则编号为所述判定规则的唯一标识,所述序号为每个判定规则中各个子条件的顺序编号。
[0011]可选地,所述将所述多个判定规则拆分成互不相同的多个子条件,包括:将所述规则配置表中每个子条件依次进行条件编号,得到所述互不相同的多个子条件,其中,每个条件编号对应不同的子条件,相同子条件的条件编号相同。
[0012]可选地,所述根据所述多个子条件对所述多个业务数据进行并行处理,得到每个业务数据的多个子判定结果,包括:根据所述多个业务数据分别对每个条件编号对应的子条件进行逻辑判断,得到每个业务数据对应的多个子判定结果;将所述多个子判定结果和对应的条件编号存储到数据库。
[0013]可选地,所述根据所述多个业务数据分别对每个条件编号对应的子条件进行逻辑判断,得到每个业务数据对应的多个子判定结果,包括:所述规则配置表还包含以下字段:依据字段、规则运算符、命中内容以及判别方式;根据所述依据字段从所述业务数据中提取目标数据;根据所述判别方式和所述命中内容确定目标关键词;根据所述目标数据、所述目标关键词以及所述规则运算符确定所述子判定结果。
[0014]可选地,所述根据所述判别方式和所述命中内容确定目标关键词,包括:所述判别方式包括:关键词、词库编码以及表内其他字段,其中,所述判别方式用于指示所述命中内容的数据类型;
[0015]在所述判别方式为关键词的情况下,将所述命中内容中的关键词直接确定为所述目标关键词;
[0016]在所述判别方式为词库编码的情况下,从预设词库中查找所述命中内容中词库编码的关联关键词,并将所述关联关键词确定为所述目标关键词,其中,所述预设词库中存储有所述词库编码与所述关联关键词的映射关系;
[0017]在所述判别方式为表内其他字段的情况下,从所述业务数据中提取所述命中内容中字段对应的关键词数据,并将所述关键词数据确定为所述目标关键词。
[0018]可选地,所述根据所述目标数据、所述目标关键词以及所述规则运算符确定所述子判定结果,包括:在所述目标数据与所述目标关键词之间的关系满足所述规则运算符的情况下,确定所述子判定结果为是;在所述目标数据与所述目标关键词之间的关系不满足所述规则运算符的情况下,确定所述子判定结果为否;其中,所述目标数据和所述目标关键词的类型包括字符串和数值,所述规则运算符包括字符串逻辑判断和数值逻辑判断。
[0019]可选地,在所述根据每个业务数据的所述多个子判定结果分别确定每个业务数据对应的多个目标判定结果之前,所述方法还包括:根据所述规则优先级将所述规则配置表中的多个判定规则按照优先级从高到低的顺序进行排序;根据所述规则编号将优先级相同的多个判定规则按照编号从小到大的顺序进行排序,以使所述判定规则按顺序执行;其中,所述规则配置表还包含以下字段:规则优先级。
[0020]根据本专利技术的另一个实施例,还提供了一种基于规则引擎的数据处理装置,包括:
[0021]获取模块,用于获取预先存储的规则配置表和待处理的多个业务数据,其中,所述
规则配置表包含多个判定规则;
[0022]拆分模块,用于将所述多个判定规则拆分成互不相同的多个子条件,其中,每个所述判定规则包含至少一个子条件;
[0023]处理模块,用于根据所述多个子条件对所述多个业务数据进行并行处理,得到每个业务数据的多个子判定结果;
[0024]确定模块,用于根据每个业务数据的所述多个子判定结果分别确定每个业务数据对应的多个目标判定结果,其中,每个所述判定规则对应一个目标判定结果。
[0025]根据本专利技术的另一个实施例,还提供了一种规则引擎系统,包括:
[0026]规则库,用于存储规则配置表,其中,所述规则配置表包含多个判定规则,每个所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于规则引擎的数据处理方法,其特征在于,包括:获取预先存储的规则配置表和待处理的多个业务数据,其中,所述规则配置表包含多个判定规则;将所述多个判定规则拆分成互不相同的多个子条件,其中,每个所述判定规则包含至少一个子条件;根据所述多个子条件对所述多个业务数据进行并行处理,得到每个业务数据的多个子判定结果;根据每个业务数据的所述多个子判定结果分别确定每个业务数据对应的多个目标判定结果,其中,每个所述判定规则对应一个目标判定结果。2.根据权利要求1所述的方法,其特征在于,所述根据每个业务数据的所述多个子判定结果分别确定每个业务数据对应的多个目标判定结果,包括:针对每个所述业务数据,根据所述多个判定规则与所述多个子条件之间的关联关系,分别确认每个所述判定规则关联的至少一个子判定结果,其中,每个子判定结果对应所述判定规则中的一个子条件;在所述判定规则关联的子判定结果均为是的情况下,确定所述判定规则的目标判定结果为是;在所述判定规则关联的任意一个子判定结果为否的情况下,确定所述判定规则的目标判定结果为否。3.根据权利要求1所述的方法,其特征在于,在所述获取预先存储的规则配置表和待处理的多个业务数据之前,所述方法还包括:将按照预设规范编写的规则文件上传到数据库中,并根据所述规则文件更新所述规则配置表,其中,所述规则文件为表格文件,所述规则文件和所述规则配置表中包含多个中文字段。4.根据权利要求3所述的方法,其特征在于,在所述将所述多个判定规则拆分成互不相同的多个子条件之前,所述方法还包括:解析所述规则配置表,并根据预设词库将所述规则配置表中的中文字段转换为英文字段,其中,所述预设词库存储有所述中文字段与所述英文字段的映射关系。5.根据权利要求3所述的方法,其特征在于,所述规则配置表包含以下字段:规则编号、序号;其中,所述规则配置表中的每行数据对应一个子条件,每个判定规则包含至少一行数据,所述规则编号为所述判定规则的唯一标识,所述序号为每个判定规则中各个子条件的顺序编号。6.根据权利要求5所述的方法,其特征在于,所述将所述多个判定规则拆分成互不相同的多个子条件,包括:将所述规则配置表中每个子条件依次进行条件编号,得到所述互不相同的多个子条件,其中,每个条件编号对应不同的子条件,相同子条件的条件编号相同。7.根据权利要求6所述的方法,其特征在于,所述根据所述多个子条件对所述多个业务数据进行并行处理,得到每个业务数据的多个子判定结果,包括:根据所述多个业务数据分别对每个条件编号对应的子条件进行逻辑判断,得到每个业
务数据对应的多个子判定结果;将所述多个子判定结果和对应的条件编号存储到数据库。8.根据权利要求7所述的方法,其特征在于,所述根据所述多个业务数据分别对每个条件编号对应的子条件进行逻辑判断,得到每个业务数据对应的多个子判定结果,包括:所述规则配置表还包含以下字段:依据字段、规则运算符、命中内容以及判别方式;根据所述依据字段从所述业务数据中提取目标数据;根据所述判别方式和所述命中内容确定目标关...

【专利技术属性】
技术研发人员:李岩苗森
申请(专利权)人:中国光大银行股份有限公司
类型:发明
国别省市:

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

1