APP下载

分布式存储与计算在银行的实现与应用

2017-11-30戴云飞石明

中国信息化 2017年9期
关键词:分布式架构服务器

文|戴云飞,石明

分布式存储与计算在银行的实现与应用

文|戴云飞,石明

随着我国市场经济体制的确立,经济全球化的表现愈加明显,市场竞争日渐激烈,银行业作为传统的服务型行业,在新时代面临的机遇和挑战都是巨大的。对于信息时代的银行业来说,信息数据的管理在日常运营中尤为重要。进而到21世纪,信息技术在飞速的提升,应用系统的处理能力和应用实践已经十分稳定和成熟,作为这些系统的最终产品也就是海量增长的各类数据信息,这些信息的管理和应用才是信息技术人员现在面临的最为棘手的问题。在银行日常的运行中,如何能够以较低的成本实现对各类信息的管理、处理与应用,已经成为各级银行在数据管理中最为关键的课题。

一、我国银行业数据的分布式存储与计算应用的研究现状

世界数据之父BILL INMOM在的专业书籍中提出了ODS的理论概念,该系统主要用于解决企业运行过程中的分析决策和管理的需求,随着该理论模型的出现,逐渐形成了新的三层体系的数据结构,即DB-ODS-DW,随着系统应用的加深和在管理过程中效益发挥的增强,这种体系结构被广泛的应用在航空、零售、金融、保险等相关领域。

同西方国家的数据管理体系架构相比,我国的ODS系统的建设要晚,近年来,随着我国信息技术能力的不断加深,政府和市场也越来越重视到ODS系统于企业管理中的意义,并逐渐将该系统应用到企业管理中,在引用的初期,该系统也仅是作为数据的传输中枢;后来,随着企业规模的增长和数据量的增加,逐渐发展成为及收集、存储、处理为一体的用于决策支持的数据库系统。

二、分布式架构的分类和特点

(一)分布式架构的分类

分布式架构一般分为两类,一是以垂直扩展为主的架构,也就是在数据系统中增加单机,或者是更换系统中的设备,将低端设备进行升级,以提高系统的数据存储和管理的能力,这种架构方式也称为集中式架构,这类架构的典型代表就是早期的哑终端主机架构;第二类架构形式是以水平扩展为主,通过在系统中横向节点的扩充,将一个位置的节点提高到几个节点,实现每一个节点可以在系统中独立运行,每个节点可以通过网络进行连接和传输,系统的扩充能力随之提高。这种情况时,即便是系统中某一个节点出现故障,整个系统也还可以为操作员提供数据服务。水平架构也被成为分布式架构。

(二)集中式架构的优缺点

集中式架构的系统底层多采用成熟的商业基础软件进行构建,这种架构的主要优势就是性能成熟、具有较强的稳定性,在银行业具体的应用中,信息技术人员可以以稳定的系统架构为基础,专注于业务功能的开发。以工商银行个人信贷系统为例,在其实现了全国数据集中之后,其个人信贷业务的交易成功率和业务增长率都获得了稳步的提升,也拥有了更为高效的功能产品开发和推广,其业务量的年增长率平均可以达到百分之三十。随着核心业务的集中和业务量的急剧上涨,集中式架构保持着稳固的基层架构,保证了系统运行的统一性和稳定性,为业务的快速发展和系统的平稳运行提供了保障。

集中式架构在实践应用中的主要缺点有以下几个方面:第一,系统的风险较为集中,因为产品整体的成熟和稳定,所以一旦系统中的某一个软件或者逻辑出现故障和异常,很可能导致整个集群都失去功能,引发银行整体的停业;第二,由于我国过多的人口基数,银行的业务量在未来会稳步的增长,那么系统在运行过程中出现问题或者发生缺陷的概率就会增加;第三,系统建立的成本费用高,由于集中式架构对基础架构有着严格的可靠性要求和高度的依赖性,而这些基础架构产品往往是被市场中少数的几个公司垄断,市场中缺乏有力的竞争对手,架构成本居高不下;第四,由于架构基础是商业性软件架构,银行自身不拥有这类核心技术,所以在系统维护中受制于人,同时受供货商和整体供应链的影响和风险较大。

(三)分布式架构的优缺点

分布式架构的建立是按照一定的纬度将整个系统进行拆分,并通过一定的负载平衡原则,将银行的各个业务在多个节点上进行分摊。这种架构模式的主要优点是:各个节点松耦合,架构具有较强的开放型和兼容性、对架构底层产品的依赖程度较低,整体架构的成本低,同集中式架构相比,可以使用更为廉价的基础硬件和开源软件,也不会受到来自供货商的制约,在市场中建立更多供货商的竞争,保证基础成本的低廉。未来,随着分布式架构应用规模的扩大,各类功能的成本将会逐渐压缩。

分布式架构在具体的应用中最大的挑战就是各个节点的协同处理,随着系统的运转,要保证各个节点数据处理的一致性和完整性。在分布式计算技术的应用中,CPA理论是一个重要的指导原则,根据该原则的理论模型,在容错性、可用性和一致性三者中间,系统只能同时保证两个特点,例如,如果要保证数据的一致性和可用性,那么就要牺牲容错性。目前,银行业在分布式架构处理过程中,根据业务的特点一般都是放弃一致性,通过后期的应用设计,实现最终的一致性。分布式架构在应用中,设计和研发的难度增加,另外,随着系统中各类节点数量的增加,对系统的运营管理和应急突发处理技术也提出了更高的要求。

三、分布式架构在银行中的实现与应用

近年来,随着市场中信息技术能力的提升,众多服务于数据信息的软件也逐渐成熟。较为有代表性的是LINUX开源软件,以X86服务器为例,具有较强的可靠性,能够极大的促进系统的数据处理能力,并促进集群、大数据和网络技术的广泛应用,为分布式架构提供了有利的基础条件。以下介绍了分布式架构在商业银行、建设银行、中国银行中的实现与应用。

(一)分布式架构在商业银行中的实现与应用

1. 主机领域

随着新时代的到来,国家和政府也加大了对新型技术建设和投入的力度,各大银行也都在不断的推出新的银行管理系统。农业银行以系统建设为机,进行对主机架构的优化。首先,分离出交易路由层,实现银行系统交易的统一和均衡调度的负载,降低各系统对主机的依赖程度,减少系统运行过程中能源的消耗;第二,采用读与写的分离设计,实现主机最大程度的开放,提高主机的兼容性,将查询类的应用处理转移到X86服务器上,并通过DRDA的访问方式进行对主机数据库的访问,从新型系统的试点统计情况来看,查询类交易下移之后可以比下移之前节省约一半的主机资源消耗,节约能源的效果十分明显,可以有效的降低银行日常运行的成本;第三,将明细数据转移到银行系统的开放性平台中,利用HADOOP架构实现对各类业务的明细查询,分工明细,可以节约业务办理的时间,提高系统使用效率;第四,将各类下移的业务系统统一转移到系统的开放型平台中,减少对核心主机的使用频率,降低能源消耗。

2. 开放领域

农业银行实现了自己的全国数据和核心业务集中之后,在银行中大力的推行集群架构和信息技术的应用,逐渐采用LINUX技术代替了UNIX技术,使用X86服务器代替了小型机设备,并将集群数据库逐渐引进到系统架构中,采取了存储的云端应用,建立了更加开放的分布式架构,同时,加强了对系统的监控和系统功能的研发,降低了传统的分布式架构中由于节点众多而造成的运营管理压力,提高了系统的管理效率和标准化运营水平。

目前,农业银行的开放式架构已经从应用的接入层、服务层、数据服务层和存储服务层多个层面实现了分布式管理和部署。其中,应用接入层,也就是业务需求的接入层,负面对需求的接受和后续交易的分配,同时保证整个系统的负载平衡。通过接入层的应用,实现了系统前端和后端的信息互通,系统的后端可以根据实际需求随时进行自我性能和容量的拓展,具有较强的灵活性。

应用服务层主要是对前端各类需求和指令的逻辑处理,主要平台是.net和.java,由于分布式中各节点的平衡和相对独立的运行状态,所以系统中任何一个节点出现问题时,都可以通过系统前端的均衡负载集群及时的判断和应急处理,保证故障节点之外的整个系统还可以有效运行,服务层的硬件皆采用X86服务器,保证系统资源的灵活性。

3. 数据服务层数据的存取

数据服务层的主要功能是对数据的存储,可以具体的分为联机事物处理和联机分析处理两个方向。联机事物处理一般采用较为成熟的供货商的产品,在市场中同类企业一般有2~3家,保有一定市场竞争的同时降低了银行业设备采购的集中风险。在具体的应用中,如果是业务量较大的联机事务处理,可以采用读写分离的设计,实现联机与批量的分离,或者按照其它的特性对数据进行有规律的拆分,例如网银系统,每天的交易使用量过亿次,巨大的工作量如果采用单数据库系统的压力非常大,如果在运行中能够按照地域、客户种类、客户级别等多个纬度进行数据库的拆分,实现数据的横向拓展,那么即便是有一个纬度的数据库出现故障,对整个网银数据库的运行影响也是比较小的。目前,随着我国X86服务器性能稳定的提升和集群数据库技术的逐渐成熟,银行也加强了X86服务器在数据库领取中的推广和使用。近年来,我国的银行信贷系统的数据库设备已经大多转移到X86服务器上,每天的交易数量超过三千万次。X86服务器也应用在新一代的银行卡办理活动中,随着新一代银行卡的推出,新的数据库计算环境随之建立,服务器根据新型业务的类别和特点,进行了有针对性的保护设计,保证了架构中单一节点出现故障之后其它节点的连续进行。对于业务量不是很大的情况,利用虚拟技术,构建集中部署、有效隔离和弹性伸缩的数据库资源池,为系统整合提供了支撑。

联机分析处理领域,银行内部也较早的实现了分布式数据库的集群架构。早在2011年,银行进行了审计系统的建设,基于分布式数据库集群的建设,使用了X86服务器,全面的实现了银行审计业务数据的集中,集中的数据量超过了30TB,满足了大多是审计人员的工作需要。随之银行将分析型系统的数据全部架构在X86服务器集群之上。在随后的两年时间里,伴随着信息技术水平的不断提升,银行业在加强数据系统的同时积极的同社会厂商合作,系统运行中的各个难点也不断的被攻破,分布式的MPP集群数据库被逐步的建立,目前,银行的联机分析处理领域中最大的集群可以达到56个节点,数据总量达2PB,每天的作业量在四万次以上。在数据处理过程中,遇到业务逻辑相对简单的领域,多采用HADOOP的架构形式。截至2013年年底,银行的核心系统的查询业务已经都转移到HADOOP平台中,即满足了客户的查询需求,也提高了系统使用的效率性,节约了系统运行的成本。

4. 存储服务层

存储层的主要功能是对各级数据的存储和备份,目前,银行系统使用较多的存储是NAS和SAN两类,并利用虚拟化、存储复制等技术实现数据的存储和利用。产品供应方面市场中保有3家以上,竞争良好,近年来,随着国有产品技术的提升,国产SAN和NSA在存储方面的应用也得到了广泛的推广。另外,我国的基础服务器、固态盘和软件的分布式存储技术也都获得了极为明显的进步。

采用分布式架构,可以降低系统中单个节点对系统基础的依赖性,通过架构来保证系统整体的稳定性。但是,随着分布式架构应用的逐渐扩大,系统的设备和数量也在快速的增长,所以在系统具体的运营管理中,还有很多需要完善的地方。在今后分布式架构的管理中,应大力加强对系统的监控管理,同时坚持研发和推广属于银行自己的自动化管理平台,推广统一的管理程序,统一系统的管理流程。

(二)分布式架构在建设银行中的实现与应用

中国建设银行基于X86分布式架构,将大数据、查询类以及渠道类业务逐渐转变为分布式架构。该行经过一定的业务分析,将可以从集中式架构中分离出来的、对数据一致性要求较低的业务拆分开来。比方以前对客户信息进行管理的这一功能主要集中于大型机上,并利用组件化设计、业务分析,对独立客户信息组件进行了定义。将客户信息管理业务功能从大型机中转移到分布式架构中。

此外,建行还研究探索了客户渠道中分库分表的分布式架构,分布式架构可以对分库分表进行相应的改造,使其能够更好的应对不断增长的电子渠道庞大的数据量与交易量。就客户渠道而言,手机银行、网银担负着的交易量非常大,就这一问题可以建立一个公共的数据库,将其拓展成多个同构的公共库,进而促进数据分布存放的实现。结合客户的ID取模可以垂直拆分数据库,进而降低了高并访问给数据量造成的压力。经过上述改造,可以将1个客户的过程流水、限额以及缓存等储存在1个数据库中,以便降低跨库失误现象的产生,为客户体验提供有力的保障。在核心账户的交易上,建设银行还对数据实现从强一致性转变为最终满足一致性进行了相关的探索。并且利用失误的分阶段提交、补偿机制以及异常错误的检测等渐渐把银行账务系统也转移至分布式架构中。

(三)分布式架构在中国银行中的实现与应用

中国银行引入了一种低成本PC服务器(x86平台)的分布式开源技术体系,在硬件上,采用了相对低廉的x86平台,降低了IT投入成本。从交易量上看,微信“摇一摇、抢红包”、支付宝“双十一”秒杀等活动远大于其他的商业银行。这充分说明了利用横向扩展,分布式架构的处理能力非常强大。此外,也体现出分布式架构已经逐渐走向成熟,该技术具有一定的可靠性,能够再一定程度上满足传统企业对稳定性、应用可用性的要求。

(四)分布式架构在兴业银行中的实现与应用

随着业务规模地不断扩大,以及相关产品和服务种类地迅速增加,银行自身的数据总量在剧烈膨胀、数据类型也在不断增多。与此同时,随着我国金融市场的逐步开放,以互联网为代表的现代信息科技,特别是,门户网站、社区论坛、微博、微信等新型传播方式的蓬勃发展,移动支付、搜索引擎和云计算的广泛应用,构建起了全新的虚拟客户信息体系,数据海量化、多样化、快速化和价值化。银行当前数据分析平台体系(包含基础平台、分析集市、分析仓库等)积累了丰富的数据,为信用卡各项业务发展提供稳定高效的数据支持。然而,随着大数据时代的到来,基础数据正向着大量、多样、高速、价值方向转化,传统数据处理技术已渐渐无法满足未来数据的变化及发展趋势,因此银行搭建了互联网渠道非结构化数据采集、处理、存储的大数据基础平台,本着“统一规划,分步实施,循序渐进,迭代上升”的理念,项目以基础平台搭建为主,建立分布式处理框架,重点实现异构数据采集、处理和存储,并探索挖掘客户互联网行为标签。

四、结语

随着信息技术的提升和互联玩+时代的到来,银行业的信息交换和整合的需求越来越强。随着银行操作数据的存储与计算能力的加强,各个系统之间也不在是过去信息零沟通的孤岛局面,各个系统的数据都有了统一的标准和规划,都为系统的整体提供保证和效用,也为银行业在日益激烈的市场竞争中赢得有利的局势,为银行业今后的稳定发展奠定了基础。分布式存储与计算系统架构在银行中应用,即可以提高系统对数据的高效处理能力,也提高了信息系统的灵活性、兼容性、经济性和高效性。本文主要介绍了分布式数据架构的发展背景、数据存储的整体架构,从网络理论的基础着手,对系统架构在银行运营管理中的具体应用进行研析,希望能为分布式存储与计算在银行业的实现与应用提供有价值的参考资料,以促进银行服务的整体发展。

作者单位:戴云飞 ,四川大学软件工程学院石明, 西南财经大学

猜你喜欢

分布式架构服务器
新一代分布式母线保护装置
山西公布首批屋顶分布式光伏整县推进试点
分布式空战仿真系统设计
功能架构在电子电气架构开发中的应用和实践
基于B/S架构的图书管理系统探究
基于Paxos的分布式一致性算法的实现与优化
构建富有活力和效率的社会治理架构
2018年全球服务器市场将保持温和增长
企业内部控制信息化系统架构及实现策略
用独立服务器的站长注意了