数据处理方法、装置、电子设备、介质及产品制造方法及图纸

技术编号:35655785 阅读:14 留言:0更新日期:2022-11-19 16:52
本申请提供一种数据处理方法、装置、电子设备、介质及产品,涉及数据处理领域。包括:根据用户定义的业务规则以及源数据,生成规则模型文件;规则模型文件定义有多个模型节点以及多个计算引擎;针对多个模型节点,生成有向无环图,并根据规则模型文件,解析出多个模型节点对应的规则代码;遍历有向无环图中的多个模型节点,并针对当前遍历的模型节点,基于模型节点对应的源数据,调用模型节点对应的计算引擎执行模型节点对应的规则代码,直至遍历完所有模型节点,得到数据处理结果。以上方案,通过有向无环图对模型节点统一管理,每个节点有对应的计算引擎,多个模型节点可以同时进行数据处理,从而提高数据处理效率。从而提高数据处理效率。从而提高数据处理效率。

【技术实现步骤摘要】
数据处理方法、装置、电子设备、介质及产品


[0001]本申请涉及数据处理领域,尤其涉及一种数据处理方法、装置、电子设备、介质及产品。

技术介绍

[0002]目前,使用大数据技术栈对数据进行加工和计算,能够满足各个领域用户对数据的处理需求。不同的领域的不同用户的数据场景不同,例如,数据场景可以为产能数据、设备工作效率数据以及原材料利用率等,需要针对不同的数据场景定义不同的规则引擎,通过不同的规则引擎处理对应的数据。
[0003]在实际应用中,用户的需求在不断变动,数据场景也在不断迭代。相应的,定义的规则引擎的数量也在不断增加。不同的规则引擎之间不能共用,因此在数据处理时每次数据场景更换都需要更换对应的规则引擎,导致数据处理效率低下,影响用户体验。

技术实现思路

[0004]本申请提供一种数据处理方法、装置、电子设备、介质及产品,用于提高数据处理效率。
[0005]第一方面,本申请提供一种数据处理方法,包括:根据用户定义的业务规则以及源数据,生成规则模型文件;所述规则模型文件定义有多个模型节点以及多个计算引擎;针对所述多个模型节点,生成有向无环图,并根据所述规则模型文件,解析出所述多个模型节点对应的规则代码;遍历所述有向无环图中的所述多个模型节点,并针对当前遍历的模型节点,基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码,直至遍历完所有模型节点,得到数据处理结果。
[0006]在一种可能的实施方式中,所述规则模型文件包括有向无环图依赖定义;所述针对所述多个模型节点,生成有向无环图,包括:根据所述业务规则中的所述有向无环图依赖定义,生成所述多个模型节点的有向无环图;其中,所述有向无环图依赖定义用于定义所述多个模型节点之间的依赖关系和依赖类型,所述依赖类型包括继续执行和结束执行。
[0007]在一种可能的实施方式中,所述规则模型文件包括模型节点的模型节点定义,所述模型节点的模型节点定义包括用于定义所述模型节点的节点类型的第一字段和用于定义所述模型节点对应的规则代码的第二字段;所述根据所述规则模型文件,解析出所述多个模型节点对应的规则代码,包括:根据所述业务规则中所述模型节点定义中的第一字段,确定每个模型节点的节点类型;若所述模型节点的节点类型为结构化查询语言类型,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析,获得所述模型节点对应的规则代码;若所述模型节点的节点类型为自定义类型,则读取所述第二字段中用户自定义的非结构化查询语言格式的代码,获得所述模型节点对应的规则代码。
[0008]在一种可能的实施方式中,所述规则模型文件还包括用户自定义函数定义,所述
用户自定义函数定义用于定义用户自定义的结构化查询语言格式的非内置函数代码;所述若所述模型节点的节点类型为结构化查询语言类型,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析,包括:若所述模型节点的节点类型为结构化查询语言类型,且所述模型节点对应的所述用户自定义函数定义为空值,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析。
[0009]在一种可能的实施方式中,所述方法还包括:若所述模型节点的节点类型为结构化查询语言类型,且所述模型节点对应的所述用户自定义函数定义不为空值,则根据所述用户自定义函数定义生成用户自定义函数;并从所述用户自定义函数中解析出代码合并至所述规则代码。
[0010]在一种可能的实施方式中,所述遍历所述有向无环图中的所述多个模型节点,包括:按照模型节点入度由小至大的顺序,将所述有向无环图中每个入度下的模型节点作为当前遍历的模型节点。
[0011]在一种可能的实施方式中,所述规则模型文件包括计算引擎定义;所述针对当前遍历的模型节点,基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码,包括:根据当前遍历的模型节点对应的计算引擎定义,确定所述模型节点对应的计算引擎;其中,所述计算引擎定义包含用户为模型节点指定的计算引擎,所述计算引擎包括大数据引擎和/或数据库引擎;基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码。
[0012]在一种可能的实施方式中,所述规则模型文件包括分布式锁定义;所述方法还包括:根据当前遍历的模型节点对应的分布式锁定义,确定所述模型节点对应的目标分布式锁;其中,所述分布式锁定义包含用户为模型节点指定的分布式锁;通过所述目标分布式锁锁定当前遍历的模型节点对应的源数据,直至所述模型节点对应的计算引擎执行完成所述模型节点对应的规则代码。
[0013]第二方面,本申请提供一种数据处理装置,包括:生成模块,用于根据用户定义的业务规则以及源数据,生成规则模型文件;所述规则模型文件定义有多个模型节点以及多个计算引擎;解析模块,用于针对所述多个模型节点,生成有向无环图,并根据所述规则模型文件,解析出所述多个模型节点对应的规则代码;处理模块,用于遍历所述有向无环图中的所述多个模型节点,并针对当前遍历的模型节点,基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码,直至遍历完所有模型节点,得到数据处理结果。
[0014]在一种可能的实施方式中,所述规则模型文件包括有向无环图依赖定义;所述解析模块,具体用于根据所述业务规则中的所述有向无环图依赖定义,生成所述多个模型节点的有向无环图;其中,所述有向无环图依赖定义用于定义所述多个模型节点之间的依赖关系和依赖类型,所述依赖类型包括继续执行和结束执行。
[0015]在一种可能的实施方式中,所述规则模型文件包括模型节点的模型节点定义,所述模型节点的模型节点定义包括用于定义所述模型节点的节点类型的第一字段和用于定义所述模型节点对应的规则代码的第二字段;所述解析模块,具体用于根据所述业务规则中所述模型节点定义中的第一字段,确定每个模型节点的节点类型;所述解析模块,具体还用于若所述模型节点的节点类型为结构化查询语言类型,则对所述模型节点对应的所述第
二字段中结构化查询语言格式的内置函数代码进行解析,获得所述模型节点对应的规则代码;所述解析模块,具体还用于若所述模型节点的节点类型为自定义类型,则读取所述第二字段中用户自定义的非结构化查询语言格式的代码,获得所述模型节点对应的规则代码。
[0016]在一种可能的实施方式中,所述规则模型文件还包括用户自定义函数定义,所述用户自定义函数定义用于定义用户自定义的结构化查询语言格式的非内置函数代码;所述解析模块,具体还用于若所述模型节点的节点类型为结构化查询语言类型,且所述模型节点对应的所述用户自定义函数定义为空值,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析。
[0017]在一种可能的实施方式中,所述装置还包括:合并模块,用于若所述模型节点的节点类型为结构化查询语言类型,且所述模型节点对应的所述用户自定义本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:根据用户定义的业务规则以及源数据,生成规则模型文件;所述规则模型文件定义有多个模型节点以及多个计算引擎;针对所述多个模型节点,生成有向无环图,并根据所述规则模型文件,解析出所述多个模型节点对应的规则代码;遍历所述有向无环图中的所述多个模型节点,并针对当前遍历的模型节点,基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码,直至遍历完所有模型节点,得到数据处理结果。2.根据权利要求1所述的方法,其特征在于,所述规则模型文件包括有向无环图依赖定义;所述针对所述多个模型节点,生成有向无环图,包括:根据所述业务规则中的所述有向无环图依赖定义,生成所述多个模型节点的有向无环图;其中,所述有向无环图依赖定义用于定义所述多个模型节点之间的依赖关系和依赖类型,所述依赖类型包括继续执行和结束执行。3.根据权利要求1所述的方法,其特征在于,所述规则模型文件包括模型节点的模型节点定义,所述模型节点的模型节点定义包括用于定义所述模型节点的节点类型的第一字段和用于定义所述模型节点对应的规则代码的第二字段;所述根据所述规则模型文件,解析出所述多个模型节点对应的规则代码,包括:根据所述业务规则中所述模型节点定义中的第一字段,确定每个模型节点的节点类型;若所述模型节点的节点类型为结构化查询语言类型,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析,获得所述模型节点对应的规则代码;若所述模型节点的节点类型为自定义类型,则读取所述第二字段中用户自定义的非结构化查询语言格式的代码,获得所述模型节点对应的规则代码。4.根据权利要求3所述的方法,其特征在于,所述规则模型文件还包括用户自定义函数定义,所述用户自定义函数定义用于定义用户自定义的结构化查询语言格式的非内置函数代码;所述若所述模型节点的节点类型为结构化查询语言类型,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析,包括:若所述模型节点的节点类型为结构化查询语言类型,且所述模型节点对应的所述用户自定义函数定义为空值,则对所述模型节点对应的所述第二字段中结构化查询语言格式的内置函数代码进行解析。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述模型节点的节点类型为结构化查询语言类型,且所述模型节点对应的所述用户自定义函数定义不为空值,则根据所述用户自定义函数定义生成用户自定义函数;并从所述用户自定义函数中解析出代码合并至所述规则代码。6.根据权利要求2所述的方法,其特征在于,所述遍历所述有向无环图中的所述多个模型节点,包括:按照模型节点入度由小至大的顺序,将所述有向无环图中每个入度下的模型节点作为当前遍历的模型节点。
7.根据权利要求1所述的方法,其特征在于,所述规则模型文件包括计算引擎定义;所述针对当前遍历的模型节点,基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码,包括:根据当前遍历的模型节点对应的计算引擎定义,确定所述模型节点对应的计算引擎;其中,所述计算引擎定义包含用户为模型节点指定的计算引擎,所述计算引擎包括大数据引擎和/或数据库引擎;基于所述模型节点对应的源数据,调用所述模型节点对应的计算引擎执行所述模型节点对应的规则代码。8.根据权利要求1

7中任一项所述的方法,其特征在于,所述规则模型文件包括分布式锁定义;所述方法...

【专利技术属性】
技术研发人员:蒋松
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1