随着宏观经济下行,商业银行信用风险不断累积并加快暴露, 传统的信用风险监控措施及管理流程较为单一、滞后与被动,难以适应日益复杂的外部经济形势和内部管理要求。为改变信用风险管理的现状,中国银行上海分行自2014年起着手建设信用风险预警监控管理系统,汇总整合内外部数据,通过编制专业化预警规则,利用科技手段全面、高效、主动地识别风险。系统投产后随着历史数据的累积、外部数据的拓展、预警规则的丰富,传统数据分析技术手段的局限性逐渐显现,采用分布式大数据技术势在必行,是解决上述问题瓶颈的有效策略。
一、传统信息处理技术应用于信用风险监控领域的局限性
1、数据管理成本高、可扩展性差
系统最初采用关系型数据库解决数据管理问题,硬件配置为小型机及SAN存储,由于应用场景需要长期历史数据的累积,导致硬件开销增加、数据处理效率下降,高成本的硬件追加投入和简单的数据库调优无法彻底解决日益增长的数据规模和传统信息处理模式带来的性能瓶颈。
2、半结构化、非结构化数据支持度低
为获取外部负面信息,系统在隔离区的PC服务器上部署外部信息采集服务,运用网络爬虫技术,将互联网的非结构化信息进行结构化转换后,写入关系型数据库进一步分析加工。这种信息处理模式在实际运行中产生了大量基于数据库的I/O请求,快速消耗系统资源,使服务器长期处于满负荷运作状态,仍无法适配互联网的更新频率和时效。
3、数据检索效率受限
系统需实现基于大数据量、组合条件的在线检索,在关系型数据库中只能通过分表、分区等解决方案,以牺牲一定的使用便利性、增加维护成本为代价,但查询响应效率仍无法满足日益增长的需求。
二、引入大数据技术的信用风险预警系统技术框架
鉴于上述局限性,中国银行上海分行对原有预警系统的技术平台进行了重新规划,从单一依靠关系型数据库的模式,转型为融合Hadoop分布式大数据技术与集中式关系型数据库技术相结合的模式。引入大数据平台后的预警系统架构如图1所示。
1、银行外网区
在外网中可以访问的外部数据来源,根据数据获取方式的不同,分为:(1)网络舆情:采用定向爬虫,通过互联网连接各大网站进行页面抓取;(2)其他数据:通过其他非自动渠道获取的外部结构化数据。
2、DMZ区
指架设在银行非安全系统和安全系统之间的缓冲区,外部数据采集模块部署在该区域,运用网络爬虫技术,定时向外网的指定网页实施定向爬取,解析后暂存至DMZ区服务器。采集服务器之间可做集群或负载均衡。
图1. 引入大数据技术的预警系统架构图
3、银行内网区
指银行内部的网络区域,基本包含Hadoop大数据基础平台、预警系统及其关联的周边系统。其中Hadoop大数据平台在逻辑架构上主要包括:(1)分析服务器:用于对爬取到的非结构化数据按照一定规则、语义进行拆分、筛选,组合成有效数据;(2)存储服务器:一方面用于将分析服务器产出的有效数据进行存储,一方面对于应用系统提供的结构化数据进行格式化存储;(3)发布服务器:支持具有相关权限的用户进行数据维护和人工运营。
三、大数据技术支持下信用风险预警系统转型方案
基于上述技术框架,中国银行上海分行搭建了分行级Hadoop大数据基础平台,将预警系统中数据量大、处理速度慢、查询效率低的模块迁移到大数据平台存储、运行和管理,逐步减轻关系型数据库的运转负荷。
1、大数据平台搭建
大数据基础平台采用了星环TDH技术架构,其中:
Hadoop提供基础的分布式文件系统作为存储引擎,YARN作为资源管理框架,提供了数据的采集、存储、数据同步、批处理、工作流分析以及全文搜索功能;Inceptor提供高速SQL分析和R语言数据挖掘能力,可建立高速可扩展的数据仓库、数据集市,结合多种报表工具提供交互式数据分析、即时报表和可视化能力。提供完整ANSI SQL支持以及PL/SQL过程语言扩展,支持复杂的数据仓库类分析应用;Hyperbase是融合了多种索引技术、分布式事务处理的实时NoSQL数据库;Elastic Search简称ES,是基于Lucene的搜索服务器,提供分布式多用户能力的全文搜索引擎,能够达到实时搜索,稳定,可靠,快速,安装使用方便的全文索引功能,实现通过Elastic Search对Hyperbase中的数据进行全文检索。
2、外部数据采集模块改造
原有技术架构是以隔离区的爬虫服务器为独立建设单位,每一个爬虫服务器担负着爬取、解析、去重、运维、发布等多种功能,这种方案随着业务量的提升,存在着明显的成本以及效率瓶颈。通过将现有的关系型数据库与大数据平台相结合,充分利用Hadoop的分布式存储、云计算技术,从数据结构、流向、存储、解析等多方面进行改造,可大幅提高外部数据采集模块的运行效率。改造后的技术框架如图2所示:
图2.外部数据采集模块新架构图
(1)数据爬取
隔离区PC服务器上的关系型数据库仅将用于存储调度运营参数,基于Java技术的爬虫服务在采集互联网信息后,不再做结构化转换,而是直接输出文本文件,从而大大降低爬虫服务器的工作压力,仅保持对外部数据的不间断捕捉,不会对其内部数据库和I/O读写产生大量负荷。
(2) HDFS临时存储
使用sftp将爬虫服务器生成的文本文件传输至Hadoop集群某个节点的特定目录下,并登陆到该节点,进入指定目录,将目录上传至HDFS。
(3)Inceptor外表创建及入库
在Inceptor服务下创建Text文本表并指定相应的HDFS文件,由于Text表只能存放当日的文本数据,还需创建相应的ORC表,将Text表的增量数据导入ORC表做历史数据储存。
(4)Hyperbase永久存储
为实现快速检索,需对爬取的数据创建相应的Hyperbase表,并对相关字段创建全文索引或者全局索引。针对预警系统的应用场景,为了能从大量外部数据中快速精准地完成关键字匹配,采用了IK分词技术,将关键字配置到分词词典中,在创建索引的过程中对相关字段进行IK分词,可大幅提高后续检索效率。
(5)使用Elastic Search完成数据筛选
数据导入Hyperbase表后会在ES服务中自动生成相应的ES索引数据,对ES服务发送查询请求后,ES会依据相关的快速排序算法,在较短时间内返回查询结果。针对预警系统的应用场景,即可实现从大批量的长文本网页信息中,根据客户名单以及负面关键字的不同组合,生成业务所需的预警信息。在原有技术架构中,这一功能在爬虫服务器上通过“关系型数据库+Solr”技术实现,引入Hadoop大数据平台之后转变为“Inceptor+Hyperbase+Elastic Search”的实现模式。Elastic Search是更契合大数据平台的原生工具,不仅能较好地覆盖Solr的原有功能,而且更适配现有大数据平台的技术架构。
为了验证大数据技术对外部数据采集模块的性能提升效果,进行了相同业务场景运行在两种技术架构上的对比测试,结果如下:
结果表明:利用“Inceptor+Hyperbase+Elastic Search”做外部数据检索,准确性与“关系型数据库+Solr”基本一致,但效率方面有明显改善。
将大数据技术应用于外部数据采集模块的改造,不仅减轻了爬虫服务器的工作负载,而且提升了大量结构化预警数据的产出时效。同时这种技术架构又具备灵活的可扩展性和较高的系统健壮性,硬件和开发维护成本也大幅降低。
3、在线查询的性能提升
预警系统面向用户的最基础、直观的功能是预警信息的查询和展现,系统投产以来数据快速堆叠,目前最大数据量的在线查询功能需查询客户风险全局视图,该视图是对8张表执行left join后生成,共计近2000万条数据记录,根据复合查询条件返回结果,平均需耗费30多秒。为改善查询效率,中国银行上海分行尝试借助大数据平台的全文搜索引擎Elastic Search来提升基于大数据量的在线检索,并取得了较为理想的效果。
首先,将生成视图的多张源数据表在大数据平台上创建相应ORC表,并实现每日数据同步。其次,按照视图的数据结构,在大数据平台上创建Hyperbase表,并将作为查询条件的字段创建为索引字段。参照视图的定义,将多张ORC表进行关联查询后生成结果,插入Hyperbase表,并在ES服务中生成索引数据。最后,修改应用系统的查询页面,通过调用ES提供的API来获取查询结果。
为了能够直观体现Elastic Search对查询性能的提升,以该视图查询功能为例,针对新旧两种技术架构进行了极端情况的对比测试,结果如下:
通过改造前后的对比发现,利用Elastic Search的客户端做大数据量的在线查询,能从效率上有显著提升。
4、ETL过程性能优化
关系型数据库的ETL一般以存储过程实现,预警系统在处理复杂逻辑(多个Cursor游标和多个SubSQL子查询嵌套)以及大数据量(1000万以上)的加工时,往往运行时间较长(>2小时),影响ETL的整体进度。
引入大数据平台技术之后,中国银行上海分行考虑将复杂逻辑的存储过程移植到大数据平台上运行。具体步骤是:(1)进行表结构的迁移,在Hadoop平台建立相应外表,用于数据查询。(2)建立ORC表,从外表插入数据至ORC表,并根据需要进行数据分桶。(3)根据大数据平台的技术规范改写原存储过程,Inceptor中存储过程的写法虽与Oracle基本一致,但仍存在差异。例如:由于分布式数据库不支持自增序列Sequence,须自行构造唯一流水号;在大数据平台中编写存储过程应尽量不使用游标,直接使用一个完整的复杂sql处理所有业务逻辑,等等。
根据上述方案,对预警系统中某条针对客户历史交易数据的分析指标进行了测算:从一年的交易流水记录中,生成每家客户的前十大交易对手名单,在原有的关系型数据库上需要运行7个小时以上,在大数据平台上可能仅需10分钟左右,可大幅提升ETL效率。
四、总结
经过各方面探索后发现,基于Hadoop的大数据技术能非常好地解决商业银行在信用风险监控领域遭遇的痛点,从根本上突破预警系统现有架构的瓶颈与局限性,将风控工作的及时性从事后提升至事中甚至事前。同时也发现,大数据技术并不是对传统数据库的完全替代,两者更有所长、相辅相成,应根据业务场景的需要,实现两种数据处理技术的互补,最大化发挥各自的效能,服务于商业银行的风控领域。
文章来源:中国银行股份有限公司上海市分行
发表于:《中国金融电脑》 2017年07期
领取专属 10元无门槛券
私享最新 技术干货