规则引擎文件的生成方法、装置、服务器及存储介质制造方法及图纸

技术编号:39396185 阅读:6 留言:0更新日期:2023-11-19 15:50
本申请提供一种规则引擎文件的生成方法、装置、服务器及存储介质。该方法包括:接收用户端发送的预设格式的算子数据,其中预设格式的算子数据为用户端响应于用户根据业务逻辑针对多个算子元素和多个关系元素的可视化编排操作生成的;若预设格式的算子数据校验成功,则将预设格式的算子数据转化为有向无环图,并进行拓扑排序,确定各算子元素的解析顺序;根据各算子元素的解析顺序、预设格式的算子数据和预构建的第一模板生成主文件代码;根据预设格式的算子数据和预构建的第二模板生成依赖文件代码;根据主文件代码和依赖文件代码,得到待编译文件,并进行处理,生成规则引擎文件。本申请的方法,提高了规则引擎文件的可拓展性和易维护性。和易维护性。和易维护性。

【技术实现步骤摘要】
规则引擎文件的生成方法、装置、服务器及存储介质


[0001]本申请涉及规则引擎领域,尤其涉及一种规则引擎文件的生成方法、装置、服务器及存储介质。

技术介绍

[0002]规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来。通过将规则引擎文件引入到应用程序或系统中,进行部署、配置和使用。
[0003]现有技术中,主要通过将规则配置请求信息解析成代码文件,对代码文件进行编译和打包处理,生成规则引擎文件。
[0004]然而,现有技术这种方法不够灵活,会降低规则引擎文件的可拓展性和易维护性。

技术实现思路

[0005]本申请提供一种规则引擎文件的生成方法、装置、服务器及存储介质,用以解决规则引擎文件的可拓展性和易维护性低的技术问题。
[0006]第一方面,本申请提供一种规则引擎文件的生成方法,应用于服务器,包括:
[0007]接收用户端发送的预设格式的算子数据,其中所述预设格式的算子数据为用户端响应于用户根据业务逻辑针对多个算子元素和多个关系元素的可视化编排操作生成的。
[0008]校验所述预设格式的算子数据。
[0009]若校验成功,则将所述预设格式的算子数据转化为有向无环图。
[0010]对所述有向无环图进行拓扑排序,确定各算子元素的解析顺序。
[0011]根据所述各算子元素的解析顺序、所述预设格式的算子数据和预构建的第一模板生成主文件代码。
[0012]根据所述预设格式的算子数据和预构建的第二模板生成依赖文件代码。
[0013]根据所述主文件代码和所述依赖文件代码,得到待编译文件。
[0014]对所述待编译文件进行处理,生成规则引擎文件。
[0015]可选地,如上所述的方法,所述预构建的第一模板包括主模板和各类型的算子模板;相应地,根据所述各算子元素的解析顺序、所述预设格式的算子数据和预构建的第一模板生成主文件代码,包括:按照所述各算子元素的解析顺序依次遍历各算子元素,确定各算子元素的算子类型;根据所述各算子元素的算子类型,匹配所述各类型的算子模板;根据所述各算子元素的解析顺序、所述各类型的算子模板和所述预设格式的算子数据,生成第一算子代码;根据所述主模板、所述第一算子代码和所述预设格式的算子数据,生成所述主文件代码。
[0016]可选地,如上所述的方法,所述根据所述各算子元素的解析顺序、所述各类型的算子模板和所述预设格式的算子数据,生成第一算子代码,包括:获取所述各类型的算子模板中的多个第一占位符,确定为多个第一占位符参数;在所述预设格式的算子数据中获取各
第一占位符参数对应的各算子模板的参数;将所述各算子模板的参数替换所述各类型的算子模板中的所述各第一占位符参数,得到多个第二算子代码;按照所述各算子元素的解析顺序,对所述多个第二算子代码进行拼接,生成所述第一算子代码。
[0017]可选地,如上所述的方法,所述根据所述主模板、所述第一算子代码和所述预设格式的算子数据,生成所述主文件代码,包括:获取所述主模板中的算子代码占位符,确定为算子代码占位符参数;获取所述主模板中的多个第二占位符,确定为多个第二占位符参数;在所述预设格式的算子数据中获取各第二占位符参数对应的各主模板参数;将所述第一算子代码替换所述主模板中的所述算子代码占位符参数,将所述各主模板参数替换所述主模板中的所述各第二占位符参数,生成所述主文件代码。
[0018]可选地,如上所述的方法,所述预构建的第二模板包括实体类模板和聚合函数模板;相应地,所述根据所述预设格式的算子数据和预构建的第二模板生成依赖文件代码,包括:解析所述实体类模板,生成实体类文件代码;根据所述预设格式的算子数据和所述聚合函数模板,生成聚合函数文件代码。
[0019]可选地,如上所述的方法,所述解析所述实体类模板,生成实体类文件代码,包括:获取所述实体类模板中的第三占位符,确定为第三占位符参数;获取所述第三占位符参数对应的实体类模板的参数;将所述实体类模板的参数替换所述实体类模板中的所述第三占位符参数,生成所述实体类文件代码。
[0020]可选地,如上所述的方法,所述根据所述预设格式的算子数据和所述聚合函数模板,生成聚合函数文件代码,包括:获取所述聚合函数模板中的多个第四占位符,确定为多个第四占位符参数;在所述预设格式的算子数据中获取各第四占位符参数对应的各聚合函数模板的参数;将所述各聚合函数模板的参数替换所述聚合函数模板中的所述各第四占位符参数,生成所述聚合函数文件代码。
[0021]可选地,如上所述的方法,所述接收预设格式的算子数据之前,还包括:根据所述各算子元素的属性设置所述多个第一占位符,得到所述各类型的算子模板;设置所述算子代码占位符和所述多个第二占位符,得到所述主模板;设置所述第三占位符,得到所述实体类模板;根据所述各算子元素的属性设置所述多个第四占位符,得到所述聚合函数模板。
[0022]第二方面,本申请提供一种规则引擎文件的生成装置,应用于服务器,包括:
[0023]接收模块,用于接收用户端发送的预设格式的算子数据,其中所述预设格式的算子数据为用户端响应于用户根据业务逻辑针对多个算子元素和多个关系元素的可视化编排操作生成的。
[0024]检验模块,用于校验所述预设格式的算子数据。
[0025]转化模块,用于若校验成功,则将所述预设格式的算子数据转化为有向无环图。
[0026]确定模块,用于对所述有向无环图进行拓扑排序,确定各算子元素的解析顺序。
[0027]第一生成模块,用于根据所述各算子元素的解析顺序、所述预设格式的算子数据和预构建的第一模板生成主文件代码。
[0028]第二生成模块,用于根据所述预设格式的算子数据和预构建的第二模板生成依赖文件代码。
[0029]获取模块,用于根据所述主文件代码和所述依赖文件代码,得到待编译文件。
[0030]处理模块,用于对所述待编译文件进行处理,生成规则引擎文件。
[0031]第三方面,本申请提供一种服务器,包括:至少一个处理器和存储器;
[0032]所述存储器存储计算机执行指令;
[0033]所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的规则引擎文件的生成方法。
[0034]第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的规则引擎文件的生成方法。
[0035]本申请提供的规则引擎文件的生成方法、装置、服务器及存储介质,通过接收用户端发送预设格式的算子数据,结合预构建的第一模板和预构建的第二模板,实现了将预设格式的算子数据转化为待编译文件,对待编译文件进行处理,生成规则引擎文件,提高了规则引擎文件的可拓展性和易维护性。
附图说明
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种规则引擎文件的生成方法,其特征在于,应用于服务器,包括:接收用户端发送的预设格式的算子数据,其中所述预设格式的算子数据为用户端响应于用户根据业务逻辑针对多个算子元素和多个关系元素的可视化编排操作生成的;校验所述预设格式的算子数据;若校验成功,则将所述预设格式的算子数据转化为有向无环图;对所述有向无环图进行拓扑排序,确定各算子元素的解析顺序;根据所述各算子元素的解析顺序、所述预设格式的算子数据和预构建的第一模板生成主文件代码;根据所述预设格式的算子数据和预构建的第二模板生成依赖文件代码;根据所述主文件代码和所述依赖文件代码,得到待编译文件;对所述待编译文件进行处理,生成规则引擎文件。2.根据权利要求1所述的方法,其特征在于,所述预构建的第一模板包括主模板和各类型的算子模板;相应地,根据所述各算子元素的解析顺序、所述预设格式的算子数据和预构建的第一模板生成主文件代码,包括:按照所述各算子元素的解析顺序依次遍历各算子元素,确定各算子元素的算子类型;根据所述各算子元素的算子类型,匹配所述各类型的算子模板;根据所述各算子元素的解析顺序、所述各类型的算子模板和所述预设格式的算子数据,生成第一算子代码;根据所述主模板、所述第一算子代码和所述预设格式的算子数据,生成所述主文件代码。3.根据权利要求2所述的方法,其特征在于,所述根据所述各算子元素的解析顺序、所述各类型的算子模板和所述预设格式的算子数据,生成第一算子代码,包括:获取所述各类型的算子模板中的多个第一占位符,确定为多个第一占位符参数;在所述预设格式的算子数据中获取各第一占位符参数对应的各算子模板的参数;将所述各算子模板的参数替换所述各类型的算子模板中的所述各第一占位符参数,得到多个第二算子代码;按照所述各算子元素的解析顺序,对所述多个第二算子代码进行拼接,生成所述第一算子代码。4.根据权利要求2所述的方法,其特征在于,所述根据所述主模板、所述第一算子代码和所述预设格式的算子数据,生成所述主文件代码,包括:获取所述主模板中的算子代码占位符,确定为算子代码占位符参数;获取所述主模板中的多个第二占位符,确定为多个第二占位符参数;在所述预设格式的算子数据中获取各第二占位符参数对应的各主模板参数;将所述第一算子代码替换所述主模板中的所述算子代码占位符参数,将所述各主模板参数替换所述主模板中的所述各第二占位符参数,生成所述主文件代码。5.根据权利要求1所述的方法,其特征在于,所述预构建的第二模板包括实体类模板和聚合函数模板;相应地,所述根据所述预设格式的算子数据和预构建的第二模板生成依赖文件代码,
包括:解析所述实体类模...

【专利技术属性】
技术研发人员:苏宇蒋维孙玉刚
申请(专利权)人:联通数字科技有限公司联通物联网有限责任公司
类型:发明
国别省市:

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

1