您现在的位置是:首页 > 行业 > 金融 >

银行如何借鉴互联网应用技术基础

2014-03-06 15:39:06作者:来源:

摘要作为一名商业银行IT从业人员,笔者一直关注阿里、腾讯、Google等互联网企业的技术路线、技术架构和技术管理理念,探究其如何能够支持如此的业务创新和技术保障能力。...

  据阿里官方公布的数据,2013年“双11”这一天,天猫、淘宝成交额共计350.19亿元,相当于10月全国日均消费额的一半,较去年的191亿元增长83%。支付宝交总交易笔数达到1.88亿笔,其中无线支付达到4518万笔,分别是去年同一天的1.77倍和5倍。

  参照央行发布的2013年第二季度支付体系运行数据,二季度全国银行卡消费业务笔数约为30.6亿笔,平均每天约3400万笔,那么支付宝“双11”一天的支付笔数就相当于二季度全国的POS机交易量的5.5倍,也相当于国际支付机构Paypal一个月的支付量,比肩Visa全球日刷卡量。

  作为一名商业银行IT从业人员,笔者一直关注阿里、腾讯、Google等互联网企业的技术路线、技术架构和技术管理理念,探究其如何能够支持如此的业务创新和技术保障能力。

  一、几个基本计算机理论与模型

  1.分布式系统。包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文件系统和分布式数据库系统等。

  Google在构建搜索系统时,第一次将分布式系统和互联网结合起来,用分布式系统来解决互联网问题。Google的分布式系统设计有几个重要的特征:视失败为常态;重视横向伸缩性;预测性能,追求低延迟,廉价的硬件和软件,推崇重用,灵活设计,加入足够的监测点和调试功能来帮助日后的调式,优先虚拟计算。Google的这些设计思想,成为互联网应用开发事实上的标准和规范。

  2.CAP:一致性理论。CAP理论(C:Consistency一致性,A:Availability可用性,P:Tolerance of network Partition分区容忍性)指出,一个分布式系统不可能满足一致性、可用性和分区容错性这三个需求,最多只能同时满足其中的两个需求。因此应用系统的关注点不同,采用的策略也是不一样的,只有准确把握了应用需求,才有可能利用好CAP理论。对互联网应用,可用性与分区容忍性优先级要高于数据一致性。

  3.ACID和BASE模型。ACID是指在数据库管理系统中事务具有的4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。在数据库系统中,一个事务是由一系列数据库操作组成的一个完整的逻辑过程。事务的核心思想就是为了保证数据的一致性。ACID模型被引申为强调数据一致性的开发理念,被银行、证券等机构广泛采用。

  BASE则是另外一个理念和思路,Basically Available为基本可用,Soft-state为软状态/柔性事务,Eventual Consistency为最终一致性。BASE模型完全不同于ACID模型。牺牲高一致性,获得可用性。对一个“基本可用”系统来说,需要把系统中的所有功能点进行优先级的划分,对于系统内部的状态,采用一种柔性的策略,假如系统内分布了3个功能模块,允许它们在某一时刻3个模块的状态可以不一致。然后通过业务和技术的手段,例如采用异步机制或者批处理方式,来保证系统通过柔性状态一致来获得可用性。当前互联网应用在业务允许范围里普遍参考BASE模型来进行系统设计。

  4.SOA面向服务架构。是一种松散耦合的架构理念和模型,针对粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用。

  二、互联网应用的技术基础

  1.基于X86服务器集群和开源软件搭建技术设施,分布式架构+开源软件是其基本特征。X86服务器是互联网应用基本计算资源,例如Google、阿里等公司,每个数据中心动辄部署上万台、几十万台和百万台X86服务器,进行动态资源调度。开源操作系统Linux、开源web服务器Apache、开源数据库MySQL、开源脚本语言Php/Perl……这些著名的开源软件支撑了互联网公司发展。开源软件的发展同样离不开互联网发展的支持。初期的开源软件代码缺陷和设计缺陷很多,正是通过应用发现软件缺陷、不断修补的方式,既支持了互联网公司的发展,又促进了开源软件的发展。从对开源软件的使用和修改开始,互联网公司就逐步积累和掌握了自主研发能力。

  2.积极进取的创新精神。以阿里巴巴为例,短短几年先后自主开发了如下技术产品:分布式文件系统和分布式存储、搜索引擎技术、分布式计算、分布式机房、消息中间件、分布式锁管理、虚拟化和计算资源调度;Apache和Nginx等开源软件定制、Java虚拟机调优(JVM)、开源数据库调优;文件系统优化、网卡协议栈优化、操作系统资源隔离、操作系统资源管理、操作系统内存优化、虚拟化软件底层研发;低功耗处理机、协处理器辅助应用、数据中心省电技术、新一代存储技术、新一代网卡应用。

  3.基于场景的需求分析和应用开发。总结阿里巴巴开发的原则如下:SOA服务化,所有系统采取服务化模式,系统之间进行必要的分拆和隔离,通过服务调用和消息通知的方式进行协同;BASE和ACID相结合,能够采取BASE模式的业务一定是异步方式,而核心的账务信息一定是采取实时方式,保证ACID;无单点设计、可监控、可测试、可回滚、可禁用、短事务与柔性事务、异步设计、无状态、使用成熟技术、业务分等级、业务可降级、多数据中心部署。

  4.平台化建设理念,提高开发效率和系统质量。苹果公司的App store提供标准的开发平台,全球开发者可以充分发挥自己的聪明才智,开发个性化的应用,并通过苹果应用商店发布。苹果公司向开发者提供了应用程序开发框架,以方便开发者的开发工作。开发框架包含三类组件:应用程序接口库、开发工具和测试模拟器。

  5.自动化部署和运维体系。阿里巴巴开发了一套资产信息采集程序和采集流程,将服务器、网络设备、存贮等资产信息,采集到数据库中。应用系统不再关心具体的资源信息,无论资产还是资源都是处于动态的变化中。通过资产信息和资源的变更流程,资产信息,硬件信息和应用信息的任何变更,必须通过系统进行变更记录,详细记录每个设备的生命周期里的各种变化。变更流程和工作流系统对接,通过工作流系统进行分级审批之后,才能进行相应的变更。以自动化采集为核心的资产管理体系,主动监控确保资源池一致性,保证资产信息的准确性。对资源进行回收和重新分配的时候,先要确保资源的状态。对于资源的数据,必须采取主动监控的做法,确保数据的可靠性,其具体做法是每天对设备的信息进行重新抓取,并与数据库里的状态进行匹配,发现不一致的数据,报警并锁定资源,不允许对资源进行任何操作。通过这种自动化的方式,杜绝人为错误,确保资产数据和资源池信息的数据一致性,是资源池可信的重要保证。
(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们