一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于脚本的金融规则引擎系统及处理方法与流程

2022-06-12 06:23:55 来源:中国专利 TAG:


1.本发明涉及一种互联网搜索技术领域,具体是一种基于脚本的金融规则引擎系统及处理方法。


背景技术:

2.在金融融资过程中风控审核阶段的审核规则复杂多变且时效要求高。目前市场上通用的规则引擎虽能实现复杂的审核规则,但业务数据指标获取及计算灵活性低,导致从开发实现、验收、上线周期较长,无法适应业务快速响应的需求。


技术实现要素:

3.本发明的目的在于提供一种基于脚本的金融规则引擎系统及处理方法,以解决上述背景技术中提出的问题。
4.为实现上述目的,本发明提供如下技术方案:
5.基于脚本的金融规则引擎系统,包括
6.规则引擎,用于接收外部业务服务和业务程序的规则计算请求;
7.脚本加载器,用于规则脚本id从对象存储服务器加载对应的规则代码,并在加载后,根据不同的脚本语言进行不同的初始化和基础脚本检查;
8.脚本执行器,用于将业务参数传递给规则脚本,实现脚本的调用执行,并将执行结果或者异常信息返回给规则引擎;并由规则引擎将执行结果返回给业务服务/程序;
9.业务程序,用于根据规则引擎返回的数据,按照业务逻辑对规则引擎的返回数据进行处理。
10.作为本发明进一步的方案:所述规则引擎包括:
11.加载规则基本信息,用于在业务服务/程序通过配置的规则代码请求规则引擎;
12.调用脚本加载器加载规则脚本,用于根据获取到的规则脚本基本信息,通过规则脚本id调用规则脚本加载器完成规则脚本加载;
13.脚本执行器规则,用于通过业务服务/程序传输的业务参数,调用对应的规则脚本,完成规则执行,并将执行结果返回给规则引擎;
14.规则引擎收集脚本执行结构,用于对规则执行结果的数据结构和异常返回进行检查,封装返回值对象给业务服务/程序。
15.作为本发明再进一步的方案:所述加载规则基本信息中的信息核心属性包括:规则名、规则代码、规则语言、规则脚本id、版本号和规则适应的业务分类。
16.作为本发明再进一步的方案:所述脚本加载器包括
17.java脚本加载器,用于对规则脚本进行预编译并将编译后的class字节码存入当前jvm;
18.python脚本加载器,用于对python代码进行基础的语法检测,并将检测后的脚本代码存入缓存;
19.go脚本加载器,用于进行基础语法检测,并将检测后的脚本代码存入缓存。
20.作为本发明再进一步的方案:所述脚本执行器包括java脚本执行器、python脚本执行器和go脚本执行器。
21.作为本发明再进一步的方案:所述预编译包括自动校验单元,用于自动对脚本语法的正确性进行校验。
22.基于脚本的金融规则引擎处理方法,包括以下步骤:
23.s1、将外部业务服务和业务程序的规则计算请求发送给规则引擎;
24.s2、利用脚本加载器从对象存储服务器加载对应的规则代码,并在加载后,根据不同的脚本语言进行不同的初始化和基础脚本检查;
25.s3、利用脚本执行器将业务参数传递给规则脚本,实现脚本的调用执行,并将执行结果或者异常信息返回给规则引擎;并由规则引擎将执行结果返回给业务服务/程序;
26.s4、根据规则引擎返回的数据,按照业务逻辑对规则引擎的返回数据进行处理。
27.作为本发明再进一步的方案:所述步骤s1包括
28.s11、利用加载规则基本信息在业务服务/程序通过配置的规则代码请求规则引擎;
29.s12、利用调用脚本加载器加载规则脚本根据获取到的规则脚本基本信息,通过规则脚本id调用规则脚本加载器完成规则脚本加载;
30.s13、利用脚本执行器规则通过业务服务/程序传输的业务参数,调用对应的规则脚本,完成规则执行,并将执行结果返回给规则引擎;
31.s14、利用规则引擎收集脚本执行结构对规则执行结果的数据结构和异常返回进行检查,封装返回值对象给业务服务/程序。
32.作为本发明再进一步的方案:所述步骤s2包括:
33.s21、利用java脚本加载器对规则脚本进行预编译并将编译后的class字节码存入当前jvm;
34.s22、利用python脚本加载器对python代码进行基础的语法检测,并将检测后的脚本代码存入缓存;
35.s23、利用go脚本加载器对基础语法进行检测,并将检测后的脚本代码存入缓存。
36.与现有技术相比,本发明的有益效果是:本技术通过可以将多语言的脚本程序植入到业务程序中,通过复用既有程序中的业务指标提取规则实现快速获取和维护规则数据指标,提升获取规则数据的灵活性。
附图说明
37.图1为基于脚本的金融规则引擎系统及处理方法中步骤示意图。
38.图2为基于脚本的金融规则引擎系统及处理方法中流程框图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
40.请参阅图1和图2,本发明实施例中,基于脚本的金融规则引擎系统及处理方法,包括规则引擎、脚本加载器、脚本执行器和业务程序,其中还包括数据库和oss对象存储单元,其中在本技术中,利用规则引擎用于接收外部业务服务和业务程序的规则计算请求;利用脚本加载器用于规则脚本id从对象存储服务器(即oss对象存储单元)加载对应的规则代码,并在加载后,根据不同的脚本语言进行不同的初始化和基础脚本检查;利用脚本执行器,用于将业务参数传递给规则脚本,实现脚本的调用执行,并将执行结果或者异常信息返回给规则引擎;并由规则引擎将执行结果返回给业务服务/程序;利用业务程序用于根据规则引擎返回的数据,按照业务逻辑对规则引擎的返回数据进行处理。其中数据库提供业务程序所需要的数据,以及对规则引擎返回的规则语言、规则脚本id和版本号等进行存储,以及对业务程序中的业务数据进行加载存储,所以在本实施例中,需要首先将外部业务服务和业务程序的规则计算请求发送给规则引擎,随后利用脚本加载器从对象存储服务器加载对应的规则代码,并在加载后,根据不同的脚本语言进行不同的初始化和基础脚本检查,继而利用脚本执行器将业务参数传递给规则脚本,实现脚本的调用执行,并将执行结果或者异常信息返回给规则引擎;并由规则引擎将执行结果返回给业务服务/程序,最后根据规则引擎返回的数据,按照业务逻辑对规则引擎的返回数据进行处理。
41.作为本技术的进一步实施例,请参阅图1和图2,其中所述规则引擎包括:加载规则基本信息、调用脚本加载器加载规则脚本、脚本执行器规则和规则引擎收集脚本执行结构,其中加载规则基本信息用于在业务服务/程序通过配置的规则代码请求规则引擎,(如approve_auto_rules_vanke_pufa:代表针对万科、浦发银行的自动审核规则),规则引擎根据规则代码从db加载规则基本信息;利用调用脚本加载器加载规则脚本用于根据获取到的规则脚本基本信息,通过规则脚本id调用规则脚本加载器完成规则脚本加载;利用脚本执行器规则,用于通过业务服务/程序传输的业务参数,调用对应的规则脚本,完成规则执行,并将执行结果返回给规则引擎;最后利用规则引擎收集脚本执行结构,用于对规则执行结果的数据结构和异常返回进行检查,封装返回值对象给业务服务/程序,如:审核结果是否通过,若通过返回yes,若没有通过,则返回no,在本实施例中,首先需要利用加载规则基本信息在业务服务/程序通过配置的规则代码请求规则引擎,继而利用调用脚本加载器加载规则脚本根据获取到的规则脚本基本信息,通过规则脚本id调用规则脚本加载器完成规则脚本加载,随即利用脚本执行器规则通过业务服务/程序传输的业务参数,调用对应的规则脚本,完成规则执行,并将执行结果返回给规则引擎,最后利用规则引擎收集脚本执行结构对规则执行结果的数据结构和异常返回进行检查,封装返回值对象给业务服务/程序。
42.作为本技术的进一步实施例,请参阅图1和图2,规则引擎根据规则代码从db加载规则基本信息,其中加载规则基本信息中的信息核心属性包括:规则名、规则代码、规则语言、规则脚本id、版本号和规则适应的业务分类。
43.作为本技术的进一步实施例,请参阅图1和图2,其中所述脚本加载器包括java脚本加载器、python脚本加载器和go脚本加载器,其中脚本加载器的信息来源于oss对象存储单元中,并将数据可以通过相应的脚本加载器加载到oss对象存储单元中,其中java脚本加载器用于对规则脚本进行预编译并将编译后的class字节码存入当前jvm;python脚本加载器用于对python代码进行基础的语法检测,并将检测后的脚本代码存入缓存;go脚本加载
器,用于进行基础语法检测,并将检测后的脚本代码存入缓存,在本实施例中,首先利用java脚本加载器对规则脚本进行预编译并将编译后的class字节码存入当前jvm,随后利用python脚本加载器对python代码进行基础的语法检测,并将检测后的脚本代码存入缓存,最后利用go脚本加载器对基础语法进行检测,并将检测后的脚本代码存入缓存。
44.作为本技术的进一步实施例,请参阅图1和图2,其中为了对应上述的不同类型的脚本加载器,所以脚本执行器包括java脚本执行器、python脚本执行器和go脚本执行器,其中脚本执行器能够接收从规则引擎中传入的业务参数、执行器执行脚本并获取业务指标数据,并执行规则和计算脚本,最后脚本执行器将返回规则计算结构到规则引擎上。
45.作为本技术的进一步实施例,请参阅图1和图2,其中在java脚本加载器中,利用预编译自动校验脚本语法错误,所以预编译包括自动校验单元,用于自动对脚本语法的正确性进行校验。
46.本技术基于多年的自动化金融风控审核经验,创造性的实现了基于脚本的多语言金融规则引擎。通过将多语言的脚本程序植入到业务程序中,通过复用既有程序中的业务指标提取规则实现快速获取和维护规则数据指标,提升获取规则数据的灵活性,将一个审核规则的开发实现、验收、上线流程从原有的平均2-3天缩减到平均0.5天-1天。
47.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
48.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献