前言
我们的项目是基于报税业务进行风险控制,检测出报错税的情况。对于比较复杂的风险情况,比如两个json进行比较这种情况,可能涉及到时间窗口、流程化的部分,我们采用flink cep进行处理。对于较为简单的风险情况,比如判断json的某一个数据项是否为空,数值类型是否在一个范围之内,这一部分的业务,我们将借鉴陌陌的风控框架进行定制化开发。
需求分析
通过陌陌的介绍,我们可以看出它的产品定位是静态的规则引擎,在这里我对静态的理解是数据维度,以硬编码在代码的形式编写的。
这也不难理解,因为目前市面上大多风控系统都是ToC端行业的风控产品,风控方向主要是反爬虫、反羊毛党等方向,它的数据维度比较单一,主要是用户的ip、帐号、手机号、设备号这类标识类信息。
而在我们的报税需求中,数据维度要比ToC端行业要多的多,因此这部分要做定制化的设计。
多数据维度风控系统设计思路
考虑到接入风控系统的接口比较多,因此这部分的设计我们采取了元数据管理的思路,也就是定义好每个接口的json元数据Schema,用户通过选择Schema中的某一项,获得一个数据维度,而后序的策略原子与规则原子主要根据这个数据维度进行校验。
定制化开发
目前已经完成了策略原子部分的定制化开发,用户可自定义jsonpath,策略通过jsonpath选取接口的数据,再做运算与阈值比较。
下一步目标:
- jsonpath的自动生成。
- 每个规则内置默认的jsonpath校验。
- 针对json中的列表情况,采用any,all的迭代方式进行校验。