实时流计算系统设计与实现
上QQ阅读APP看书,第一时间看更新

2.1 设计数据采集的接口

在本书中,我们以互联网金融风控场景来展开对实时流计算系统的讨论。在金融风控场景下,分析的风险总体上可以分成两类:一类是贷款对象信用风险,另一类是贷款对象欺诈风险。两类风险的风控因素和模型不同。

贷款对象信用风险关注的是贷款对象自身的信用状况、还款意愿和还款能力。信用风险评估常用的分析因素有四要素认证和征信报告,使用的风控模型主要是可解释性强的逻辑回归评分卡。

贷款对象欺诈风险关注的则是贷款对象是不是在骗贷。在欺诈情形下,贷款对象提供的所有征信信息可能都是正常的,但是这些信息是通过伪造或“黑产”渠道得来的,贷款对象以大量具有良好信用的不同身份获得贷款后,欺诈成功,卷款而逃。欺诈风险评估使用的分析因素多种多样。例如,网络因素(如IP是否集中),用户属性因素(如年龄和职业),用户行为因素(如是否在某个时间段集中贷款),社会信用因素(如社保缴纳情况),第三方征信(如芝麻信用得分),还有各种渠道而来的黑名单等。总体而言,欺诈风险评估使用的因素来源更多,使用的模型也更加多样,如决策树、聚类分析等。

互联网金融风控的一般流程如下所述。用户在手机或网页等客户端发出注册、贷款申请等事件时,客户端将用户属性、行为、生物识别、终端设备信息、网络状况、TCP/IP协议栈等信息发送到数据采集服务器;数据采集服务器收到数据后,进行字段提取和转化,发送给特征提取模块;特征提取模块按照预先设定的特征清单进行特征提取,然后以提取出来的特征清单作为模型或规则系统的输入;最终依据模型或规则系统的评估结果做出决策。

根据上面描述的业务流程,完整的互联网金融风控系统架构设计如图2-1所示。

图2-1 完整的互联网金融风控系统架构设计

从手机或网页等客户端,通过互联网发送事件到采集服务器,是金融风控场景下常用的数据采集方式之一。客户端发送的事件包含用户属性、行为、生物识别、终端设备信息、网络状况、TCP/IP协议栈等信息。HTTP/HTTPS协议筑造了整个互联网的基石,也是当前最主要的应用层通信协议。没有特别必要,我们采用HTTP/HTTPS协议来进行客户端和数据采集服务器之间的数据通信。

确定数据通信协议后,还需要制定事件上报API。以REST风格为代表的API设计方式提供了相对标准的API设计准则。依照REST风格,设计事件上报API如下。

POST event/
{
    "user_id": "u200710918",
    "client_timestamp": "1524646221000",
    "event_type": "loan",
    "amount": 1000,
    "……": "……"
}

上面的RES.API表示向服务器上报一个事件,其中:用户账号“user_id”是“u200710918”,发送时间戳“client_timestamp”是“1524646221000”,事件类型“event_type”是“loan”,金额“amount”是“1000”,其他信息用“……”表示。

至此通信协议和API都确定了,接下来实现采集服务器。