首页
学习
活动
专区
工具
TVP
发布

高容错!银行如何搞定PB级非结构化数据的存储与快速搜索

引言

本文针对银行内非结构化数据增长迅速、存储困难、搜索缓慢、识别采集空缺等问题,提出了非结构化数据服务平台的设计和部署方案,并对平台中的非结构化数据生命周期管理策略与平台容灾容错架构设计思路的进行了分析与总结,最后,做出了商业银行非结构化数据服务平台的业务对接计划,提出了未来业务的发展方向。

一、背景:非结构化数据服务平台现状与行内要解决的实际问题

银行作为非结构化数据密集的企业,基本上涵盖所有类型的非结构化数据,如视频数据、音频数据、图片数据,既包括系统自己产生的近些年越来越多的行内业务系统,也包括与客户交换产生的,还有购买获取的,这些数据按照格式分为电子文档、图像、音频、视频、XML/HTML 等类型。非结构化数据格式、标准多样,而且这些数据每年以几何级数在增长,在技术上比结构化数据更难存储和分析。

行内信贷类业务、信用卡业务、手机/网上银行等渠道类业务、财务共享业务、柜面无纸化以及电子档案等多个业务系统,仅影像文件每日产生新写入文件接近 10 万张,调阅影像文件近 30 万次,每年数据增量近 10T,随着线上业务的开展,与业务场景相关的影像文件数量与容量仍会持续增长。此外,银行内部邮件信息、聊天记录客服热线音频文件、市场调研结果、视频课件、客户关系管理系统中的评价及程序中的文本字段等非结构化数据都面临着和影像文件类似的存储与管理压力与挑战。

二、建设目标:如何解决上述问题并设计合理架构满足未来发展

随着非结构化数据的剧增,传统型数据库无法满足存储大数据基本的非结构数据,导致架构急需做出调整,尽可能的满足业务需求,实现 PB 级别数据的存储以及快速搜索。在此基础之上提出非结构化集中处理平台产品方案,主要针对行内业务系统产生的图片、文档、提供一套高可靠、高效性、高扩展性、高容错性的企业级非结构化数据服务解决方案。

为了大规模、高效率地存调、分析非结构化数据,平台针对标准接口的字段进行了定义,提供一个较为规整、有章可循的非结构化数据集,提取其基本元素,形成数据字段。

数据字段是通过对非结构化数据进行主题提炼形成主题字段,通过汇总非结构化数据通用属性形成通用字段,通过标识非结构化数据的格式形成技术字段,并基于以上三个维度的标签满足更大规模的数据分析和系统性存储。

主题字段包括渠道来源、机构号、流水号、系统号和数据来源等,通用字段通过汇总非结构化数据的通用属性形成,这些属性不涉及非结构化数据的主题,包括扫描时间、扫描人、影像名称、文件类型等;技术字段反映的是形成非结构化数据所运用的原始处理技术,从而获得非结构化数据的底层特性,包括影像 ID、数据大小、分辨率等。上述数据字段形成后,非结构化数据的基本属性与业务属性都可以较全面的描述和快速检索,也为不同类型非结构化数据的统一存储提供了可能。

非结构化数据服务平台在设计上采用低耦合思路,分为表象层,业务逻辑层,数据访问层的三层架构,它会将业务产生的图像数据扫描归档到影像平台,并实现影像的查询、条码打印、按顺序批量打包下载影像文件的归档、修改归档、拷贝归档、分类查询、阶段标示绑定关系、影像操作日志等功能。

表现层(UI)展现给用户操作的界面,包含多个调用渠道。本平台以渠道为单位,针对各个渠道进行管理,提供一个安全可靠的环境,保证数据实时性的同时保证服务的稳定性。这些渠道主要通过 http/https 协议和数据上传平台进行通信,保证传输过程中数据的安全性。这些渠道在本系统中只是以影像数据传输接入,没有业务逻辑,各个渠道具体限制由管理平台配置化实现。

业务逻辑层由非结构化数据集中处理平台(UCP)服务及三方数据上传平台应用服务组成,三方数据上传平台主要负责处理非结构化数据业务逻辑,UCP 主要实现非结构化数据的存储,该平台支持大部分行内业务系统的非结构化数据处理服务,少量有高定制化需求的业务,UCP 提供非标准接口,有针对性的为信贷类业务系统定制化开发,实现其全流程信贷系统非结构化数据的存储以及下载,而针对无定制化其他渠道,均通过标准接口进行满足。三方数据上传平台 APP 主要实现互联网系统非结构化数据的校验、控制、缓存以及压力均衡。

数据层主要由非结构化存储 ElasticSearch(ES)分布式搜索服务,配合轻量级的传统 DB 与后端高、中、低性能网络存储共同构成。ES 主要负责保存 UCP 写入的元数据,并可高效完成大量非结构化数据的搜索和分析;传统 DB 主要负责配置信息以及部分日志信息的存储;采用开源软件定义存储,主要负责非结构化数据的归档,高速网络存储部分可作为上传平台影像文件缓存,提高 ES 索引存调速度,最后通过归档流转规则进行非结构化数据的动态迁移与归档保存。

三、基本组成

1、接口服务

标准接口基于 REST 方式实现,调用方以 REST API 调用方式调用即可;调用方根据 Content-Type 字段的值完成单张或批量打包的操作,配合数据的字段标签,上送不同的文件类型,如图片格式(jpg、jpeg、tif、tiff、png、bmp)、word、pdf、excel 等常见格式;另外配合接口中请求类型的不同,可实现上传、下载、替换和删除等操作请求;标准控件调用时,接口字段除接口参数以外,会增加控件类型 ID,接口名和返回值,非标准接口会在标准接口基础之上,为信贷类业务流程单独定制接口类型,结合业务具体需求,增加查看控件调用方式,动作类型以及对客对司的功能编号等字段。

物理结构上由 2 台非标准影像应用服务器通过应用负载对接信贷系统渠道,3 台标准影像应用服务器通过负载均衡对接行内其他业务系统渠道;互联网业务数据通过三方上传平台处理之后,会对接影像应用服务器。

2、索引服务

ES 索引服务主要负责索引(存入)与检索(调阅)两部分,其中索引部分包含分词器、过滤器、字符映射器等,检索部分包含查询解析器等。其索引是先在内存里生成,然后定期以段文件的形式将元数据刷到磁盘的。每段写到磁盘上之后是不能被修改的,一个段文件就作为了一个实际上的索引,字段就是最小的检索域。

物理结构上由 5 台索引数据库组成高扩展性的分布式 ES 索引集群,在任意一个节点宕机时,整个集群的服务依然可用,且由于具有副本设置,保证数据完整性。

3、存储服务

存储服务作为非结构化数据文件的载体,需要充分利用存储,降低存储成本,保证数据安全和服务质量。作为基础服务平台,为高效率利用存储,将其分为在线、近线(GFS 分布式存储管理)、离线存储配合影像数据文件的归档控制。

本平台存储服务在线区域存储指存储设备的响应速度和所存储的数据时刻保持“在线”状态,可供行内用户随存取与调阅,满足对数据访问速度的要求。这部分目前采用带有去重压缩功能的 SSD NAS 实现,可用容量在 10TB,价格相对昂贵,但性能较好。

近线存储选择相对较广泛,主要定位于在线存储和离线存储之间,将那些存调频率相对较低,或者说数据的访问量相对较小的数据存放在性能稍低的存储设备上。近线存储对性能要求相对来说并不高,但要求相对较好的访问性能,各业务系统不常用的数据要占总数据量较大比重,这要求近线存储设备容量相对较大,因此近线部分采用基于 PC 服务器实现横向扩展的三副本 GlusterFileSystem ,可用容量超 100TB,虽然维护成本上升,但性能和安全性都比较高,价格也得到有效控制。

离线存储被设计存放不常被业务系统调用,但仍需要长期或永久保存的冷数据存储区域,存储介质通常选择访问速度慢、效率低的存储设备,系统最初选择低成本的 NAS 设备,后续优化后,更改为物理磁带库,数据的存放介质变为磁介质后,价格相对低廉。

4、非结构化数据的生命周期管理与数据分层迁移

影像平台的在线存储区目前使用 SSD NAS,保障关键生产系统的快速写入,但总体容量有限;影像平台的近线存储区会定期将在线数据,无缝、安全、可靠的迁移到近线区域,一方面解决大量近线非结构化数据的存放空间与成本问题,另一方面保障调阅的速度,以及与结构化交易数据的一一映射关系,实现应用系统透明访问;影像平台的离线存储区,按照数据全生命周期管控的规则,自动将近线数据迁移到离线区,并同步备份与结构化交易数据的映射关系,确保应用系统直接调阅,或者由影像平台提供离线查阅功能调阅。

非结构化数据由在线到近线、由近线到离线的迁移过程中,保证下列关键性控制功能。首先,按照规则自动化或半自动化(或由作业调度系统调度工具)完成,并且提供 MD5 校验/哈希值比对功能,确保备份数据的可靠归档,应删除数据的安全可控删除。其次,由在线到近线的迁移,为确保应用系统可透明访问被迁移数据,需实现可靠程的原文件路径操作系统连接处理,最后,由近线到离线的迁移,需同步更新影像文件的全路径名称与结构化数据的映射关系,确保离线数据可回调到近线进行查阅,并同步清理在线区域的操作系统连接,确保生产系统安全。

5、业务连续性的容错、容灾架构考量

容灾容错架构都是基于业务的可靠性和服务可用性,以及应对各种故障并能快速响应的可操控性去考虑和设计的,容灾 IDC 要保证业务服务的连续性以及数据的可用性,因此在平台前后端均有所考虑。

在同一数据中心之内,应对影像标准应用与非标准应用服务器硬件故障或应用程序 BUG 导致无法对上层业务系统提供影像接口服务,或是需要主动停止进行应用程序升级或故障维护,都可以通过负载均衡设备实现多活,以及调用均衡策略控制;若发生 IDC 级别的灾难,则容灾负载均衡及应用服务器会无缝接管业务。

ES 的多副本分布式集群架构,天然带有容错属性,集群内 5 节点组成的 ES 索引服务器集群,为元数据的高效数据访问与搜索,集群将元数据以分片形式分布于各个节点,配合多副本保存,容许单节点或双节点的故障前提下,仍可提供服务。那么以 5 节点 ES 集群分片数量为 10(s0~s9),双份数据副本的配置为例,演示分片和节点故障的容错情况。

单分片故障的场景,另外的副本对外提供数据服务,待故障分片清理后,数据将由正常副本向清理副本同步,恢复集群分片状态。

类似单节点故障,导致节点内所有分片不可用,整个集群服务仍然可用,保证 s0-s9 分片对外服务正常,节点故障恢复或重新部署后,启动 ES 服务,分片副本将进行同步恢复集群状态。

具体的配置策略与副本数,会根据承载渠道和业务重要性和访问速度要求,进行合理配比。ES 集群中元数据在本地备份至专用 NAS 设备和带库以外,还会通过消息队列(Kafka)将两中心的元数据准实时同步至对端数据中心,相应的非结构化数据也会在容灾中心保留一份,形成对等的数据容灾架构。

非结构化数据存储的同城容灾实现方式是:在线区高性能 SSD NAS 依靠 SnapMirror 技术,提供数据高可用性和快速数据复制服务,通过专用数据传输 LAN 网络,实现同城容灾中心 NAS 设备的高速数据复制,并不断更新数据,保持最新且能随时满足使用需求。

容灾 NAS 可选择任意时间点进行快照恢复,提供零数据丢失同步复制 (RPO=0)方案,保护最关键的在线区存调业务文件,并利用精简复制数据流创建容灾数据保护,降低数据复制网络带宽利用率;近线区 GFS 存储则在主备 IDC 各搭建一套,一方面承载在线区的下移数据,另一方面对于低失效调阅要求的业务系统的直接调阅,平台会通过分布式消息队列将调阅任务同步至对端影像应用服务,实现非结构化数据文件的准实时容灾存储,当一侧 GFS 近线存储发生灾难故障短时间内无法恢复,则主备中心可快速切换至对侧 GFS 提供对业务的数据服务;离线区的物理带库的归档数据,在归档之前会由前端虚拟带库完成容灾端的异步复制,进而在容灾端实现归档的异地磁介质永久备份。

6、业务访问量监控与效果

非结构化数据服务平台的监控,主要通过对各部分服务进程和业务端口的监视,和对负载模式下的服务健康检查端口的通断操作实现业务通道开启关闭的控制这两部分共同完成。

  • 主要服务进程的状态监视与验证判断
  • 主要业务端口的状态监视

配合上述业务监视方法在监控系统中的合理频率配置以及值机人员对业务通道开关信号的标准化快速控制,实现“监”与“控”的闭环。

以非结构化数据服务平台中影像文件读写数量和读写耗时为例,非工作日平均万笔影像文件读写量之下,平均写入耗时可维持在 150 毫秒以内,那么由于批量包下载调阅的情况存在,读取平均耗时会被拉高,但也保持在平均 250 毫秒之内,能够较好的满足当前十几套业务系统的存调需求。

四、非结构化数据服务平台规划与展望

非结构化数据服务平台的未来规划会从内部结构优化、数据中心运维服务支持、行内业务系统新增功能需求以及未来银行有机会承接的非金融资产交易几方面来进行规划和展望。

在下一阶段,非结构化数据服务平台不断优化自身功能与架构,或通过光盘介质库对物理磁带库的存放年限和成本的进一步降低提供补充和完善,同时实现海量非结构化的验证与快速恢复,将备份数据的敏捷验证功能作为快速容灾容错的一种补充手段。

数据中心内部千台以上生产服务器、操作系统、数据库、中间件、网络设备以及专用设备产生的海量日志,可交由非结构化数据服务平台进行采集、萃取、清理与整合,并将非结构化与半结构化的数据提炼并应用在运维管理中。使用 ES 技术实现高效的搜索与存储,用于系统问题的快速定位、搜索、分析、干预、解决和预测,为后续数据中心智能化运维进行有力辅助。

行内业务数量与种类的不断增加与更新迭代的过程,也使非结构化数据服务平台面临的压力和挑战不断攀升。呼叫中心与智能客服系统会产生大量语音录入与智能存储与分析需求,银行销售理财产品、基金、保险等产品时,全程同步录音录像产生的双录数据也有保存至对付后半年以上的需求,以及配合智能视频分析、语音识别和自然语言处理技术,达到快速判断合规性和稽核、风控智能化分析的需求。会计凭证、会计账簿、财务会计报告以及其他会计档案都有 30 年以上或永久保存的业务和监管需求。

在后疫情时代,金融行业也在不断进行发展方向的思考。疫情冲击加速了线上“无接触”服务全面推进的进程。与区块链技术不可篡改特性相结合,个人和企业在参与金融服务过程中,在存储数据时存在信任的问题,就可以通过区块链建立起信任,电子证据存证、电子签约等业务逐渐在兴起并日益成熟。以电子签约为例,可将公证处、司法鉴定中心、仲裁委等权威机构纳入区块链节点生态,确保客户电子合同证据链的数据真实、私密、无法篡改,可支持单日上亿笔签单的存储量,并已广泛应用于金融、供应链、租房租赁、人力资源等场景,实现电子合同全证据链溯源;与人工智能技术相结合,可对客户提供线上合同智能归档、智能检索、智能监测与提醒等服务,提供高效便捷的合同全生命周期服务。

针对上述线上签约的场景,银行系统可提供等级保护四级的 IDC 机房,提供私有云架构环境支持业务部署,提供高稳定性的系统环境和同城双活、异地保护等多种容灾机制,提供高并发业务量的性能保障,提供个人与企业资料审核、实名认证和 CA 证书颁发服务,在不接触合同内容同时进行线上合同签章,同时对敏感字段加密,保证客户数据安全性和隐私性。

未来银行要快速适应互联网+的环境,消除摩擦,实现功能,原有的传统银行产品线上化已经不能满足未来的客户体验和嵌入式银行的功能,未来物联网状态下,银行业务将以客户为中心,基于数据预测算法,嵌入日常穿戴设备、智能汽车与智能楼宇的管家服务之中,逐渐步入银行 4.0 时代。

作者介绍

张鹏,某城商银行系统管理组存储/备份/应用负载管理员,具有丰富的项目实施与运维管理经验,参与行内新一代核心系统建设、同城与异地容灾系统建设与切换、非结构化数据服务平台迁移改造等项目,对异构存储设备监控、存储虚拟化及同城双活、分布式存储有深入的研究和应用,结合业务数据访问的多重需求进行存储资源适配。

原文链接

高容错!银行如何搞定PB级非结构化数据的存储与快速搜索

本文由 dbaplus 社群授权转载。

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/oFQYIh5yT0h8Hmdm6q4H
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券