冠字号云存储管理系统设计
2014-01-15赵云龙
徐 俊 , 汤 庸 , 赵云龙
(1.广州广电运通金融电子股份有限公司ATM研究院,广东 广州 510663;2.华南师范大学 计算机学院,广东 广州 510631)
假钞泛滥为人民币流通管理带来巨大挑战。对于目前误付问题钞币事后取证难的问题,需建设冠字号管理查询系统,以冠字号查询为手段,有效解决银行对外误付假币的问题,解决银行涉假币纠纷的举证和责任认定的问题,提高金融机构公信力。人民银行下发的《中国人民银行办公厅关于银行业金融机对外误付假币专项治理工作的指导意见》(人民银行14号文)明确要求各金融机构逐步实现全额清分以及实现冠字号追踪查询工作。
根据目前各大银行总行的需求,冠字号信息需要集中到总行管理,冠字号图像采用网点节点机保存,支持保存至少3个月的全行数据,数据量达几十亿上百亿条。需求分析表明,记录的产生速度和记录的数量都满足典型的大数据特征,已经接近或超过传统数据库技术的处理能力,而随着系统的持久运行和业务扩大,记录数量还有持续增长的趋势。因此分析系统的架构应以成熟的大数据系统架构为基础才能良好的实现其业务能力的要求。因此需要用到云计算相关技术[1],例如Hadoop[2]的管理理念。
基于以上分析,本文方案以开源技术Hadoop、HBase、Flume与ZooKeeper[3]为支撑,开发大数据的并发导入、高速存储[2]、高性能查询应用等业务系统,实现对海量数据高性能、高可靠性支持和较强的在线扩容能力。该方案具有安全机制、高性能通信机制、数据可靠性机制、处理负载平衡和分布式调度机制以及任务保障性机制等,具有高可靠、高性能、面向列、可伸缩的分布式存储[5-6]和计算特性,可在廉价的PC服务器上支持10PB级以上数据的存储,支持对100 Gps以上量级的数据流生成实时索引,秒级完成海量数据的处理、查询和分析工作。
1 冠字号云存储管理系统方案
如图1所示,系统构建在Hadoop基础之上,主要包含数据导入、数据存储、数据分析、安全及审计、业务客户端、系统运维管理等部分。
数据导入:实现高速高性能并发接收记录的功能,实现对外部生产设备海量记录的实时接收。
图1 总体架构图Fig.1 Structure diagram of the software system
数据存储:将导入数据根据设计要求进行格式化处理,存储到大数据库中,建立相关索引。
数据分析:根据用户指令,执行数据的分析查询任务。
安全及审计:用户管理、身份认证、权限控制和安全审计。
客户端应用:提供用户进行分析查询、展示分析结果的web服务。
云平台系统运维和服务:对整个系统各个节点、关键进程和服务运行状态进行监控和报警。
2 系统流程
Hadoop是处理海量数据的高效分布式的云计算平台,以开源项目为基础,具有高可靠、高性能、面向列、可伸缩的分布式存储和计算特性,可在廉价的PC服务器上支持10PB级以上数据的存储,支持对100 Gps以上量级的数据流生成实时索引,秒级完成海量数据的处理、查询和分析工作。
2.1 系统逻辑结构
图2显示了冠字号管理系统底层Hadoop的系统逻辑结构。冠字号管理底层Hadoop的一个重要特点是支持集群式架构。系统每个部分都可以采用集群式部署,在zookeeper的统一调度和监控下,提供高并发量、高可靠性的任务管理模式,从而适应高性能的业务需求和扩展需求。
对数据集的操作被分被分布在大量的节点上,节点数量决定了系统总体的处理能力。因此可以根据性能的要求,决定节点的数量。
图2 Hadoop的系统逻辑结构图Fig.2 Structure diagram of the Hadoop logical system
Hadoop分布式文件系统是一个高度容错性的系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
HBase是建立的HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于nosql和RDBMS之间,特别提供通过主键(row key)和主键的range来检索数据的能力。适合存储非结构化和半结构化的松散数据。与hadoop一样,Hbase具有优秀的横向扩展能力,增加服务器数量就能线性增加计算和存储能力。
ZooKeeper是针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给业务。
Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
1)Client:数据导入、数据查询终端;
2)FC(Flume Collector):数据导入中间层,为大数据导入提供数据缓冲与批量写入机制,提高整个系统数据导入的吞量;
3)HM(HBase Master):HBase管理结点,在数据导入时为FC分配RS节点,使数量有序地、均衡地分布在各个RS节点上。在数据查询时,定位数据存储的RS节点并把节点信息返回给 Client;
4)RS(HBase Region Server):HBase 存储节点,接收 FC的导入数据,在数据导入时创建好数据索引。在数据查询时,把数据返回给Client;
5)NN(Hadoop Name Node):HDFS 管理节点,存储 HDFS中文件元数据信息;
6)DN(Hadoop Data Node):HDFS 存储节点,存储 HDFS文件的真实数据;
7)ZK(ZooKeeper Server):ZooKeeper服务器节点,系统配置集中存储与系统任务统一管理。
上述部分构成了冠字号管理系统底层Hadoop的核心架构,实现了从数据大并发输入、海量存储、高性能运算的完整流程,并且具有高度可靠性、可扩充性的能力。
2.2 关键流程说明
1)写入流程
图3 写入流程图Fig.3 Write process
①Client向ZooKeeper Server查询Flume Collector地址;
②ZooKeeper Server根据Flume Collector负载情况选择适合的Flume Collector并向Client返回Flume Collector地址;
③Client向Flume Collector发送数据;
④Flume Collector向HBase Master Server查询HBase Region Server地址;
⑤HBase Master Server分析待导入的数据选择适合的HBase Region Server并把HBase Region Server的地址返回给Flume Collector;
⑥Flume Collector把数据发送到HBase Region Server。
2)读取流程
图4 读取流程图Fig.4 Read process
①Client向 ZooKeeper Server查询 HBase Master Server地址;
②ZooKeeper Server向 Client返回 HBase Master Server地址;
③Client向HBase Master Server查询HBase Region Server地址;
④HBase Master Server根据数据查询条件返回适合的HBase Region Server地址;
⑤Client向HBase Region Server发起查询请求;
⑥HBase Region Server返回查询结果到Client。
3 结束语
本文提出基于云计算[7-8]的冠字号云存储设计实现,是由于银行总行冠字号码的数据量级为几十亿条以上的大数据,且采集的钞票信息更新速度很快,并要求快速的查询检索和数据分析。然而传统的数据库系统已经不能很好的支持大数据的存储、查询、分析等功能。因此需要运用云计算及大数据处理等关键技术来实现大数据存储和管理,为金融机构提供相关的智能决策分析功能。因此本文提出得冠字号云存储管理系统能实现冠字号、钞票流转信息以及图像数据等大数据的存储、快速检索、定时数据清理。
[1]郑纬民.云计算的大幕已经拉开[J].中国计算机学会通讯,2009,5(6):6-7.ZHENG Wei-ming.Cloud computing has begun[J].Society of China Computer Communication,2009,5(6):6-7.
[2]White T.Hadoop权威指南[M].北京:清华大学出版社,2011.
[3]Lam C.Hadoop实战[M].北京:人民邮电出版社,2012.
[4]武永卫,黄小猛.云存储[J].中国计算机学会通讯,2009,5(6):44-51.WU Yong-wei,HUANG Xiao-meng.Cloud storage[J].Society of China Computer Communication,2009,5( 6):44-51.
[5]王意杰,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报,2012(4):1-25.WANG Yi-jie,SUN Wei-dong,ZHOU Song,etal.Key technologies of distributed storage for cloud computing[J].Journal of Software,2012(4):1-25.
[6]Tanenbaum A S,van Steen M.分布式系统原理与范型[M].北京:清华大学出版社,2008.
[7]程文芳.基于云计算平台的图书馆构建[J].电子科技,2013(6):175-176.CHENG Wen-fang.The library building based on cloud computing platform[J].Electronic Science and Technology,2013(6):175-176.
[8]林晓鹏.云计算及其关键技术问题[J].现代电子技术,2013(12):67-70.LIN Xiao-peng.Cloud computing and its key technical problems[J].Modern Electronics Technique,2013(12):67-70.