一种可视化的风控变量在线开发方法及装置与流程

文档序号:32608341发布日期:2022-12-20 18:41阅读:28来源:国知局
一种可视化的风控变量在线开发方法及装置与流程

1.本发明涉及金融公司风控科技应用领域,提供了一种可视化的风控变量在线开发方法及装置。


背景技术:

2.风控变量,即金融风控中判断客户信用的一个必要的组件,金融公司判断一个客户信用的评分等级需要很多种数据,将数据根据业务逻辑加工后即成为一个风控变量。常用的做法是策略人员定义好加工逻辑然后向开发人员提出开发需求开发人员开发测试上线最后策略人员才可以使用该风控变量。随着业务的发展,公司策略越来越复杂需要的风控变量也越来越多并且历史风控变量也需要频繁更新。现有的方式是策略人员提出需求开发人员开发后上线更新风控变量,这种方式存在以下缺点:首先是流程节点过长耗时过多,一个风控变量从需求提出到上线至少需要一天时间,在风控变量开发需求多但时间固定的情况下开发人员成本需要增加;其次是如果遇到紧急情况需要修正一个风控变量逻辑不能实时修改,可能导致风控准确性问题影响极大;最终是大量的开发人员陷入到繁琐的风控变量是的开发维护重复性工作中影响团队产出。


技术实现要素:

3.以解决以下问题:现有技术每一个变量都需要开发人员将变量逻辑用代码写死,风控变量开发流程长、上线周期长、不能做到实时更新、开发人员维护工作量大的问题。
4.为实现上述目的,本发明采用以下技术手段:
5.一种可视化的风控变量在线开发方法,包括以下步骤:
6.步骤1:从数据库中获取待加工的元数据字段的值、基础函数以及逻辑运算符;
7.步骤2:将基础元数据字段的值、基础函数和逻辑运算符展示在前端页面的控件上,控件支持拖拽、下拉框选择、文本框输入方式来组合定义一个新的风控变量;
8.步骤3、测试校验,风控变量逻辑在线完成后需要测试校验是否能够达到自己的效果,这里会要求输入测试数据,系统根据测试数据执行刚才创建的风控变量逻辑输出结果策略通过验证后方可提交保存,得到前段编辑组合好的变量规则;
9.步骤4、保存前端编辑组合好的变量规则,保存过程中动态生成相应的java逻辑代码,生成过程包括自动加入需要导入的依赖包,检查编辑输入的文字是否包含非法可执行代码,最终进行编译生成可执行的字节码文件保存至数据库中;
10.步骤5:创建或更新后的风控变量保存后需要提交审核,这里审核是为了避免操作失误导致未验证的变量逻辑误被生产使用;
11.步骤6:审核通过后,执行审核流程的服务会找到所有缓存的变量规则的服务器依次通知通过执行步骤4得到的字节码文件进行缓存的变量规则更新,缓存变量规则的服务器更新内存中加载的变量规则。
12.上述技术方案中,基础函数包括数据处理函数、字符串处理函数、日期处理函数。
13.上述技术方案中,基础函数分为可修改的自定义函数和不可修改的基本函数两类。
14.上述技术方案中,步骤6中,
15.6.1程序启动后服务器集群中的所有机器会通过zookeepr中间件的发布订阅功能订阅zookeepr节点的数据变更事件;
16.6.2分布式环境下执行审核通过命令的是服务器集群中的某一台机器,该机器向zookeepr发送消息

变量的规则发生变更服务器集群需要更新变量规则缓存’;
17.6.3、zookeepr收到规则变更消息后会将该消息转发给所有订阅的机器,服务器集群收到消息后开始通过消息中的变量id去mysql表中取编译好的字节码文件加载成对象再缓存至jvm中。
18.本发明还提供了一种可视化的风控变量在线开发装置,包括:
19.数据获取模块:从数据库中获取待加工的元数据字段的值、基础函数以及逻辑运算符;
20.风控变量操作模块:将基础元数据字段的值、基础函数和逻辑运算符展示在前端页面的控件上,控件支持拖拽、下拉框选择、文本框输入方式来组合定义一个新的风控变量;
21.测试校验模块:风控变量逻辑在线完成后需要测试校验是否能够达到自己的效果,这里会要求输入测试数据(模拟一个客户元数据字段对应的值),系统根据测试数据执行刚才创建的风控变量逻辑输出结果策略通过(定义风控变量的人清楚输入自定义的数据后应该得出的结果)验证后方可提交保存,得到前段编辑组合好的变量规则;
22.编译模块、保存前端编辑组合好的变量规则,保存过程中动态生成相应的java逻辑代码,生成过程包括自动加入需要导入的依赖包,检查编辑输入的文字是否包含非法可执行代码,最终进行编译生成可执行的字节码文件保存至数据库中;
23.审核模块:创建或更新后的风控变量保存后需要提交审核,这里审核是为了避免操作失误导致未验证的变量逻辑误被生产使用;
24.更新模块:审核通过后,执行审核流程的服务会找到所有缓存的变量规则的服务器依次通知通过执行步骤4得到的字节码文件进行缓存的变量规则更新,缓存变量规则的服务器更新内存中加载的变量规则。
25.上述技术方案中,基础函数包括数据处理函数、字符串处理函数、日期处理函数。
26.上述技术方案中,基础函数分为可修改的自定义函数和不可修改的基本函数两类。
27.上述技术方案中,更新模块实现包括以下步骤:,
28.6.1程序启动后服务器集群中的所有机器会通过zookeepr中间件的发布订阅功能订阅zookeepr节点的数据变更事件;
29.6.2分布式环境下执行审核通过命令的是服务器集群中的某一台机器,该机器向zookeepr发送消息

变量的规则发生变更服务器集群需要更新变量规则缓存’;
30.6.3、zookeepr收到规则变更消息后会将该消息转发给所有订阅的机器,服务器集群收到消息后开始通过消息中的变量id去mysql表中取编译好的字节码文件加载成对象再缓存至jvm中。
31.本发明因为采用上述技术方案,所以具备以下有益效果:
32.1、变量创建更新页面配置化无需开发上线提升了策略迭代周期
33.2、支持策略人员在线实时验证风控变量
34.3、分布式集群多机器环境下风控变量新增/更新后支持实时更新规则缓存。
附图说明
35.图1为变量运营流程;
36.图2为变量创建/更新流程图;
37.图3为变量更新发布流程。
具体实施方式
38.以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。
39.另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员将理解,没有这些具体细节,本发明同样可以实施。
40.本发明提供了一种可视化的风控变量在线开发方法,包括以下步骤:
41.步骤1:从数据库中获取待加工的源数据对应的字段(每个客户字段对应的值不同)、基础函数以及逻辑运算符;
42.步骤2:将基础源数据字段、基础函数和逻辑运算符展示在前端页面的控件上,控件支持拖拽、下拉框选择、文本框输入方式来组合定义一个新的风控变量;
43.步骤3、测试校验,风控变量逻辑在线完成后需要测试校验是否能够达到自己的效果,这里会要求输入测试数据(模拟一个客户源数据字段对应的值),系统根据测试数据执行刚才创建的风控变量逻辑输出结果策略通过(定义风控变量的人清楚输入自定义的数据后应该得出的结果)验证后方可提交保存。
44.步骤4、保存前端编辑组合好的变量规则,保存过程中动态生成相应的java逻辑代码,生成过程包括自动加入需要导入的依赖包,检查编辑输入的文字是否包含非法可执行代码,最终进行编译生成可执行的字节码文件保存至数据库中;
45.4.1生成java逻辑代码
46.a、java类名使用变量名称+时间戳
47.b、方法名为invoke,返回值为object,入参为userinfo(步骤1中元数据对应字段为userinfo属性)
48.c、导入固定的依赖包
49.d、插入页面编辑的规则
50.4.2组合完的java代码使用代码检查组件sourceforg-pdm检查是否存在非法代码
51.4.3编译代码生成字节码保存至mysql数据库中,指定风控数据mysql表中的一个字段,用于保存待加工的源数据;
52.步骤5:创建或更新后的风控变量保存后需要提交审核,这里审核是为了避免操作失误导致未验证的变量逻辑误被生产使用。审核是为了验证变量规则,只有编译后的规则
才能提供测试规则的能力,如果审核通过了规则编译不通过会出现异常不可控。
53.步骤6:审核通过后,执行审核流程的服务会找到所有缓存变量规则的服务器依次通知进行变量缓存更新,缓存变量规则的服务器更新内存中加载的规则。这时新创建或更新后的变量规则就在生产环境待使用了。
54.6.1程序启动后服务器集群中的所有机器会通过zookeepr中间件的发布订阅功能订阅zookeepr节点的数据变更事件。
55.6.2分布式环境下执行审核通过命令的是服务器集群中的某一台机器,该机器向zookeepr发送消息

变量的规则发生变更服务器集群需要更新变量规则缓存’;
56.6.3zookeepr收到规则变更消息后会将该消息转发给所有订阅的机器,服务器集群收到消息后开始通过消息中的变量id去mysql表中取编译好的字节码加载成对象再缓存至jvm中。
57.上述技术方案中,基础函数包括数据处理函数、字符串处理函数、日期处理函数。
58.上述技术方案中,基础函数分为可修改的自定义函数和不可修改的基本函数两类。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1