2018年上海云栖大会上数据处理的workshop场景里,我们会做一期专题来讲解金融机构里数据报文格式处理,我们知道在金融行业里,不同的机构传输的数据报文格式千差外别,有的是日志格式,有的时候表格格式,有的csv格式,形式各式各样,千变万化的格式给统一处理系统带来不少麻烦,在传统的系统设计里,会涉及到存储报文的磁盘空间、处理服务器以及处理后的报文数据的数据库存储,到了云时代,系统架构发生了很大的变化,从重度的设计到轻量设计,看看使用阿里云的产品是怎么做到的,今天我们结合对象存储、函数计算以及表格存储来讲解整个业务处理过程。金融行业处理数据整体架构图如下:
从架构图上能看出金融机构的数据处理上会分为三个环节,
第一个环节:在线交易环境,例如证券交易,日常存取款,刷卡等消费行为产生的数据会通过金融机构或者合作单位把数据传输给对象存储,对象存储触发函数计算对交易报文进行处理,并按照表格存储的格式分解报文并存储格式化的数据到对象存储或者表格存储中。
第二个环节:线下流水分析,通过网络渠道把访问或者交易流水信息传输到日志服务,对日志进行处理后,并把流水信息格式化好传输给表格存储
第三个环节:线上贷款的风控流程,风控调度系统通过函数计算拉取表格存储的数据进行风控业务查询。表格存储会根据请求数据量去大数据处理获取处理结果。
下面的内容会针对环节一和环节三进行详细步骤和代码演示。
第一个环节:报文格式处理
在线交易里,不同的机构传输报文的格式差距很大,在把交易数据入库之前,需要对报文格式统一处理,下面结合函数计算的处理能力,来完成对报文格式解析并把数据入库。下面按照
开通服务
1、开通函数计算
2、开通表格存储
3、开通对象存储
配置产品
1、配置对象存储
2、配置表格存储
3、配置函数计算
配置对象存储
对象存储选择华东1上海区域创建一个Bucket,并记录下bucket名称,看图示:
配置表格存储
打开表格存储,创建一个实例,并把实例名称记录下来,这个名称会在后面的函数代码中使用。
创建两个表格,交易流水表
trade_final 和风控信息表
user_risk,其中trade表格有两个主键c_userid和d_dealdate,都是字符串类型,注意这个地方需要字段名称一样,请拷贝到控制台页面里。
user_risk的主键是c_userid,也是字符串类型
配置函数计算
开通函数服务后,进入函数的
控制台,选择华东2区域,创建一个服务,服务里需要选上两个产品的权限,详细看下图:
配置函数授权给表格存储
配置交易记录解析触发器
创建完函数后,选择创建对象存储触发器,配置好对应的OSS Bucket事件源,记得把触发事件源上选put,post的事件
函数触发规则配置为:前缀 dc_trade_final_dd 后缀 csv
交易数据入库代码
函数代码分为两段,一段是对oss的数据获取,一段是把oss的数据处理后,并保存到表格存储中,请
下载代码压缩包
函数配置完成后,将交易测试数据(
报文数据下载 )解压之后,将以 dc_trade_final_dd_ 开头的文件上传到订阅的OSS bucket上之后,即会触发该函数,在表格存储的控制台上就可以看到trade_final表的数据。
创建完函数后,选择创建对象存储触发器,配置好对应的OSS Bucket事件源,记得把触发事件源上选put,post的事件
风控数据入库代码
交易数据入库后,同样风控数据也需要通过对象存储触发函数计算后,读取数据并保存到表格存储中,请
下载代码压缩包
函数触发规则配置为:前缀 user_ 后缀 csv
第三个环节:通过函数计算获取风控信息
配置HTTP触发器
为了能通过web页面访问数据,可以在函数计算上配置HTTP触发器,详细内容界面如下:
获取风控数据代码
函数计算在第三个环节里,通个web页面吧用户UID输入,并通过函数计算去查询风控系统,并做数据分析,例如查询多张表格进行数据比对等。风控数据入库后,需要设置第三个函数,请
下载代码压缩包
获取风控的演示页面
风控的界面主要通过用户uid可以查询风控信息,这里使用到函数计算里的http trigger,设置好http trigger后,会系统会自动生成一个url地址,该地址可以作为一个http请求地址,通过静态页面调用请求地址,就可以触发获取风控信息的函数执行,详细的html代码可以在
这里下载
风控查询结果如下:
获取HTTP触发器的对外暴露的URL地址:
附录:
报文数据下载、交易代码下载、风控代码下载、获取风控代码下载、html代码下载