云计算的虚拟银行海量数据存储设计.docx

上传人:b****6 文档编号:8457217 上传时间:2023-01-31 格式:DOCX 页数:51 大小:423.24KB
下载 相关 举报
云计算的虚拟银行海量数据存储设计.docx_第1页
第1页 / 共51页
云计算的虚拟银行海量数据存储设计.docx_第2页
第2页 / 共51页
云计算的虚拟银行海量数据存储设计.docx_第3页
第3页 / 共51页
云计算的虚拟银行海量数据存储设计.docx_第4页
第4页 / 共51页
云计算的虚拟银行海量数据存储设计.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

云计算的虚拟银行海量数据存储设计.docx

《云计算的虚拟银行海量数据存储设计.docx》由会员分享,可在线阅读,更多相关《云计算的虚拟银行海量数据存储设计.docx(51页珍藏版)》请在冰豆网上搜索。

云计算的虚拟银行海量数据存储设计.docx

云计算的虚拟银行海量数据存储设计

基于云计算的虚拟银行海量数据存储设计

ThedesignofthemassivedatastoringsystemforE-bankbasedonthecloudcomputing

 

摘要

随着谷歌公司的五篇关于公司服务器构架论文的发表,世界掀起一片云计算的研究热潮,紧随其后微软,亚马逊,IBM,雅虎,阿帕奇公司等国际IT巨头纷纷投入巨资参与云计算的研究。

本论文的主要工作是在基于云计算理论的基础上设计适合JEPAY虚拟银行数据特点的云存储系统,系统的设计工作主要分为两个方面:

一个方面是设计能够为银行数据库提供文件支持的分布式文件系统。

对于当前的云计算系统,因为文件只能写入不能修改,不能为银行提供数据支持。

我们的工作就是在底层构架能够满足银行数据要求的分布式系统,传统的分布式数据库的扩展性是不够灵活的,比如他们在动态的增减节点时付出的代价很大,并且他们把这种情况当作一种错误处理,严重影响系统的性能和扩展。

在论文中我们参考了Hadoop的构架以后设计了能够弥补以上缺点的系统,同时使系统保持了云计算平台的优势。

工作的另一个方面是在我们构架的分布式文件系统的基础上设计我们的数据库管理系统,相对于云计算而言分布式数据库的技术是比较成熟的,也正因为如此他们不能很好的和基于云计算的文件系统很好的兼容,我们的工作是利用已经成熟的分布式数据库的技术在我们的云存储文件系统上面构架相应的数据库管理系统,因为我们的系统是针对JEPAY虚拟银行的,所以我们的系统设计是基于关系数据模型的,在设计中主要包括如下几个方面:

系统的查询,事务处理,目录管理,容错处理,和安全性等等。

关键字:

云计算;虚拟银行;海量数据;HADOOP

ThedesignofthemassivedatastoringsystemforE-bankbasedonthecloudcomputing

Abstract

Withthefivepaperspublishedbythegoogleaboutthegoogle’sserverarchitecture,theresearchofthecloudcomputingbecomesmoreandmorepopular.followedwithit,Microsoft,Amazon,IBM,Yahoo,Apache,etc.ofinternationalITcompanieshaveinvestedheavilyinvolvedingiantcloudcomputingresearch.

Inthispaper,themaintaskisthedesigningofcloudstromingsystemfixtothedataofthebankbasedonthetheoryofthecloudcomputing.Designworkisdividedintotwomainareas:

Thefirstistodesignadistributedfilesystemtosuportthedatabaseofthebank..forthecurrentcloudcomputingsystem,thefilesstoredonthemcouldbewritenbutcouldnotbeenupdateoredit.Whichcouldnotmeettherequireofthedatabaseofbank.itsworkistodesignadistributedfilesysteminthebottomoftheframeworktomeetthrequireofthedataofbank.Addition,thetraditionaldistributeddatabaseisnotflexibleenoughtoexpand,suchastheincreaseordecreasethenodedynamic.Thecostisrelativelylarge,andtheyfacethiscaseasaformoferrorhandling,seriousimpactonsystemperformanceandtheDepartmentofTheexpansionofEC.itanalyzestheHadoopframework,anddesignsystemmakeupfortheshortcomingsofthesystem,thesystemsecurityHoldersoftheadvantagesofcloudcomputingplatform.

Anotheraspectoftheworkistodesignthedatabasemanagesystemforthebankbasedonthedistributefilesystemdesignedbefore.Comparetothecloudcomputing,thedistributedatabaseisrelativelymature,itispreciselyforthisreasontheycannotmergethecloudcomputingsystemverywell.itsworkistousethematurelydistributesystemtotodesigntheframeworkofthecorrespondingdatabasemanagementsystemaboveourdistributefilesytem.becauseoursystemistargetedatbanks,sooursystemdesignisbasedontherelationshipDatamodel,inthedesignincludethefollowingmainaspects:

thesystemofinformation,transactionprocessing,directorymanagement,fault-tolerant,andsecurityandsoon

KeyWords:

cloudcomputing;E-bank;massivedata;Hadoop

引言

随着Internet技术的快速发展,电子商务和网络商业如雨后春笋般快速兴起,银行金融业务进一步扩大和发展。

以此为背景,虚拟银行应运而生。

作为银行业一种新的经营方式,虚拟银行[1]正在以一种迅猛的势头和传统银行抢占客户资源,其经营策略可谓一浪高过一浪,虚拟银行已经成为银行金融业发展的必然趋势。

一个成功的虚拟银行必须要有让客户钟情于它的理由,服务质量将是连接客户与虚拟银行成功与发展的桥梁,如何提供优质的服务,已经成为各个虚拟银行业务的公司发展的主要话题,正在这个时候,以提供优质数据和计算服务而闻名的云计算[2]来临了,云计算是网格计算[3],分布式计算[4]和并行计算[5]的升级。

但是他不是简单的集合,而是一种革新。

它的到来必将为我们计算机网络的发展掀开新的一页,那么能否让云计算这个充满活力的新生儿来为我们的虚拟银行提供数据支持呢?

回答当然是肯定的。

云计算自从05年谷歌公司公开发表自己的论文以来,给我们的IT行业带来了巨大的冲击[文献][6],谷歌公司在云计算应用方面无疑是具有巨大领先优势的。

各大IT业的巨头随后都成立了自己的云计算研究中心,并且投巨资参与云计算的发展,先是亚马逊公司的EC2[7]的出现,它已经成为亚马逊公司收入的一个重要支柱,随后微软推出自己的云计算平台livemesh平台。

IBM推出自己的蓝云。

在这其中有一个引人注目的项目走进人们的视野,那就是hadoop[8]项目,自从阿帕奇公司收购hadoop项目以后继续了先前的开源模式,并且得到了雅虎的资金支持。

Hadoop的出现为广大的云计算爱好者和程序员提供一片新的天地。

正是因为各大公司的牵头,并且云计算本身又具有巨大的成本和性能优势,所以业界内预测人类的第四次科技革命即将到来,而云计算则是此次革命的导火索。

那么根据市场导向,要想在未来的商业中立于不败之地就必须重视云计算,像虚拟银行这种命运和数据管理息息相关的公司就更加应该把握市场导向,用最低的成本和最优质的服务保持公司的竞争力。

而每个公司不可能都构架自己的云平台,这样不仅浪费成本,同时技术上也不能达标,那么一个针对银行的云平台的将可能服务多个银行企业。

鉴于以上情况和台湾台湾JEPAY公司的虚拟银行的要求我们决定,在市场大潮还没来临之前研究并设计一个针对虚拟银行的云存储平台,它是最新的云计算理论和成熟的适合银行的关系数据模型的结合。

它的开发必将为虚拟银行服务质量和生命力的提升注入新的血液。

1绪论

1.1项目背景

虚拟银行:

可以理解为专门针对网上客户开设的一个银行,他主要的业务是为网上的客户提供转账,资金管理,交易等等的平台。

在当今计算机和网络迅猛发展的时代,网络已经渐渐成为人们生活不可缺少的一个部分,不管是工作,购物娱乐都和网络挂上千丝万缕的关系,自1995年10月加拿大皇家银行在美国建立世界上第一个网上银行以来网上银行在世界范围内迅速发展。

1996年,招商银行在国内率先推出网上银行概念,随后国内各大商业银行相继加入了网上银行业务的角逐。

经过十年的发展,睡着国内银行网上业务的扩大和推广,我国的网上客户规模快速增长:

06年用户规模7100万,07年的网上银行交易总规模达到245.8万亿元。

随着人民币业务开始对外资银行全面开放,网上业务必将成为一个更广阔的市场。

但是当今的网上交易仍然处于一个非常混乱的状态,每个实体银行为了争取客户都开设了自己的网上银行可以和自己的银行帐号挂钩,一个客户通常不止在一个银行有业务,当他们需要资金流动时就面临一个很大的问题,如何方便快捷安全的在网上管理自己的资金,统一的管理自己的资金和各种信息。

正是在这种需求上我们设计E-Bank(虚拟银行)系统,作为一个信息时代的系统它首先需要满足对客户的高质量的服务和海量的数据存储,这就需要一个良好的数据存储系统,但是目前的分布式系统大多具有一定的局限性,只能被动的提供访问而不能主动的根据客户的行为改进服务质量,第二,他们的扩展性不够好,他们增减节点复出的代价太高,并且不够灵活。

在这个方面云计算为我们提供了很好的参考模型,云计算概念的提出为我们的问题解决提供了契机,随着google公司关于自己云架构的五篇标志性论文的发表,人们在计算机和网络发展方向上找到了新的方向,云计算之所以如此被人们看好是因为它有很好的扩展性,很好的性价比,对客户透明,很强的自动管理和优化资源分配的能力,并且提供必要的数据冗余和容错机制,也有很好的一致性机制保证数据的完整性,但是他们存储的大多是非结构化的数据,并且就目前的研究进展来看,云存储还只能面向一次写入多次读取的数据,对于常更新的数据没有很好的解决方案。

在当今技术环境下,银行最成熟的数据存储模型仍然是关系数据模型,所以如何才能把两种优势结合起来,让我们既要拥有云存储平台的各种优势,又能方便的为我们的虚拟银行提供良好的服务,只有这样才能让我们的虚拟银行在未来的竞争中处于有利地位。

进一步考虑,在未来市场中云计算成为市场的发展方向,以后的各种公司类型分为如下几种,一类是提供云服务的公司,他们利用自己巨大的资金和技术优势在全世界的范围提供自己的服务就像现在的电力公司一样,这样的公司全世界并不是很多,现在来看像google,IMB,微软,亚马逊,惠普,ORCALE在以后成为云服务提供商的可能性很大,另外一种类型的公司就像现在的工厂用电一样享受这些公司提供的服务,并且按需支付,而不像现在这样这样公司需要自己架设自己的服务器自己管理自己提供安全保证,这就是原来公司自己发电一样落后,那么一个针对银行这种特殊群体的需求而提供服务的云平台在未来将成为可能,这样可以把银行从海量的数据保存和安全防护中解放出来,有利于银行精力集中在业务上面。

这行在云存储平台上架构我们的关系模型的数据库就是本文需要讨论和解决的问题。

更进一步考虑此项目甚至可以扩展为未来为银行专门提供计算和存储服务的平台。

1.2国内外现状及发展趋势

网上支付宝的出现对于网上交易和资金管理是一个里程碑。

它提出了第三方平台的概念,也为我们在网上进行安全交易和资金管理提出了接口,但是它不能满足我们我们管理网上财产的需求,各个银行之间的转账还不够方便,过程繁琐,手续复杂,对于我们的其他虚拟财产的管理没有提供良好的扩展接口,比如Q币的各种游戏货币,同时也没有面向证券,股票等等的服务,但是这项业务恰恰是人、人们体会网络方便的指标之一。

我们的虚拟银行虽然开始简单,但是它是一个具有良好扩展性的平台,我们的目标是一边开发一边扩展它的业务,这就更加要求有一个良好的可扩展性的数据支持平台。

云计算的一个主要用途就是存储数据。

利用云存储,数据被存放到多个第三方的服务器上,而不是像传统的网络数据存储那样存放在专用的服务器上。

存储数据时,用户看到的是一个虚拟的服务器,也就是说,看起来数据好像是以特定的名称存放在某一特殊的地方,但在现实中,那个地方并不存在。

这只是一个假名,用来指示云中划分出来的虚拟空间。

实际上,用户的数据可以存储在构成云的任何一台或多台电脑上。

因为云动态的管理可用的存储空间,实际的存储位置可能每天甚至每分钟都不相同。

但是,尽管位置是虚拟的,用户所看到的数据位置是“固定的”,事实上,他可以管理自己的存储空间,就好像它是连接到自己的电脑一样。

云存储同时具有经济和安全方面的优势。

从经济上说,虚拟的云资源通常比那些连接到个人电脑或网络的专用物质资源更便宜。

至于安全,由于数据被复制到多台物理机器上,存储在云里的数据不受意外删除或硬件崩溃的困扰。

由于始终保留数据的多个副本,即使一台或多台机器进入脱机状态,云仍然能够继续正常运行。

如果一台机器崩溃了,数据就会被复制到云中的其他机器上。

目前,我们正处在云计算革命的初期阶段。

尽管已经有许多可用的云服务,更多的有趣的应用仍在开发之中。

也就是说,今天的云计算正在吸引着整个计算行业最优秀、最大的企业,他们都希望建立基于云来赢利的商业模式。

正如本章前面讨论过的,也许目前正在拥抱云计算模式的最引人注目的公司是谷歌。

看到的,谷歌提供了一组功能强大的基于web的应用,他们都通过其云架构对外服务。

无论你是需要基于云的文字处理(谷歌文档)、演示软件(谷歌演示文稿)、电子邮件(Gmail),还是日历/日程安排功能(谷歌日历),谷歌都有提供。

而且最重要的是,谷歌为它的所有基于web的应用都提供了相互之间的接口,为了用户的利益,这些云服务相互关联。

其他大公司也参与了云服务的开发。

例如,微软提供了WindowsLiveweb应用套件以及LiveMesh计划,该计划承诺将各种类型的设备,数据和应用连接到一个公共的基于云的平台。

亚马逊推出了弹性计算云(EC2)服务,用来为应用开发人员提供以云为基础的可调整的计算能力。

IBM已经成立了一个云计算中心,用来向客户提供云服务和研究。

许多较小的公司也都推出了自己的基于web的应用,他们主要(但不完全)利用云服务的协作特性。

Hadoop原本由Lueene的子项目Nuteh发展出来,成为Lucene的子项目,Hadoop是Google的GFS[9]和MapReduce[10]的一个java实现,用于大规模分布式存储和计算。

最近Hadoop被提升为Apache的顶级项目,还有yahoo一直的支持,可见Hadoop的前途相当光明。

HDFS[11]是Hadoop的文件系统也是其他hadoop功能的基础,它既保持了当初google的架构的完整性,有根据自身的特点作出一些改进,它根据自己检测到的资源把文件分配合理的分配到各个节点上,既要保证文件的安全,有保证文件更新是付出更小的代价,这样的模式有利于我们在此基础上实现我们的目标针对我们的特定的要求和需求进行更有针对性的设计。

这样的优势使得hadoop在众多分布式存储和计算技术中脱颖而出,hadoop的各方面都比较切合我们的项目需求,这使其成为解决方案的主要参考架构。

1.3本文工作及章节安排

论文主要结构如下:

(1)绪论,本章介绍当今云计算的市场和科技前沿情况。

(2)相关技术的理论研究,本章对系统在开发过程中使用的关键技术进行概述,如谷歌的技术,Hadoop的技术,亚马逊的技术以及P2P技术等等。

(3)需求分析,本章介绍了系统功能需求,安全需求和系统目标。

(4)系统设计,本章首先从数据库设计和界面设计两方面来进行系统的概要设计,然后给出了系统主要模块的详细设计,包括类图设计和序列图设计。

(5)关键算法实现,本章给出部分关键算法的实现方案。

(6)结论,本章对系统整体构建工作的总结,并且指出系统的不足和有待完善的地方系统的下一步研究和开发提供基础。

2关键技术

2.1分布式系统模型简介

在本文中分布式系统[12]主要指分布式软件系统(DistributedSoftwareSystems),支持分布式处理的软件系统。

与并行系统类似的是,分布式系统的设计目的也是为了将计算复杂的大任务划分为若干个计算量稍小的任务进行处理,然后通过一系列调度算法汇总得到最终的计算结果。

但与并行计算不同的是,分布式系统要处理的任务相互之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理几乎没有什么影响。

因此,分布式的实时性要求不高,而且允许存在计算错误。

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

本小节将对现有的一些比较有影响力的分布式系统或分布式计算应用逐一进行介绍。

2.1.1Google的GFS

Google文件系统(GoogleFileSystem-GFS)被设计用来满足Google迅速增长的数据处理需求。

GFS与过去的分布式文件系统拥有许多相同的目标,例如性能,可伸缩性,可靠性以及可用性。

然而,Google在设计并实现其GFS时所考虑的目标和以往的分布式文件系统又有着一些不同的地方,具体表现在:

首先,组件失效不再被认为是意外,而被看作是正常的现象。

这个文件系统包括几百甚至几千台普通廉价部件构成的存储机器,又被相应数量的客户机访问。

组件的庞大数量和参差不齐的质量状况使得在任何给定时间,某些组件无法工作,而某些组件无法从他们的目前的失效状态恢复是常见的情况。

除此之外,应用程序bug造成的问题,操作系统bug造成的问题,人为原因造成的问题,甚至硬盘、内存、连接器、网络以及电源失效造成的问题都是需要考虑的组件失效问题。

所以,常量监视器,错误侦测,容错以及自动恢复系统必须集成在系统中。

其次,按照传统的标准来看,单就Google网页搜索来看其存储的文件就己经非常巨大。

数G的文件非常寻常。

每个文件通常包含许多应用程序对象,比如web文档。

传统情况下快速增长的数据集在容量达到数TB,对象数达到数亿的时候,即使文件系统支持,处理数据集的方式也就是笨拙地管理数亿KB尺寸的小文件。

所以,设计预期和参数,如I/O操作和块尺寸都要重新考虑。

第三,在Google大部分文件的修改,不是覆盖原有数据,而是在文件尾追加新数据。

对文件的随机写是几乎不存在的。

一般写入后,文件就只会被读,而且通常是按顺序读。

很多种数据都有这些特性。

有些数据构成数据仓库供数据分析程序扫描,有些数据是运行的程序连续生成的数据流,有些是存档的数据。

有些数据是在一台机器生成,在另外一台机器处理的中间数据。

对于这类巨大文件的访问模式,客户端对数据块缓存失去了意义,追加操作成为性能优化和原子性保证的焦点。

第四,应用程序和文件系统的协同设计提高了整个系统的灵活性。

例如,GFS的设计者放松了对GFS一致性模型的要求[文献],这样不用加重应用程序的负担,就大大的规约了文件系统的设计。

他们还引入了原子性的追加操作,这样多个客户端同时进行追加的时候,就不需要额外的同步操作了。

论文后面还会对这些问题的细节进行讨论。

为了不同的应用,Google已经部署了许多GFS集群[13]。

最大的一个,拥有超过1000个存储节点,超过300T的硬盘空间,被不同机器上的数百个客户端连续不断的频繁访问着。

一个GFS集群包含一个主服务器和多个块服务器,被多个客户端访问,如图2.1,这些机器通常都是普通的Linux机器,运行着一个基于用户层的服务进程。

如果机器的资源允许,而且运行多个程序带来的低稳定性是可以接受的话,可以很简单的把块服务器和客户端运行在同一台机器。

图2.1GFS的结构

2.1.2Apache的Hadoop

Hadoop最早是作为一个开源搜索引擎项目Nutch的基础平台而开发的,后来随着项目的进展,Hadoop被作为一个单独的开源项目进行开发,目前的最新版本已经是0.19.1[14]。

Hadoop作为一个开源的软件平台使得编写和运行用于处理海量数据的应用程序更加容易。

Hadoop是MapReduee[google论文]的开源实现,它使用了Hadoop分布式文件系统(HDFS,见图2.2)。

MapReduce将应用切分为许多小任务块去执行。

出于保证可靠性的考虑,HDFS会为数据块创建多个副本,并放置在群的计算节点中,MapReduee就在数据副本存放的地方进行处理。

Hadoop是由Java编写的,该项目己到得yahoo的全面支持,项目的领袖Dougcutting从2006年一月开始己经被Yahoo全职雇用于此项目中。

作为一个分布式系统平台,Hadoop具有以下一些优势:

(1)可扩展性:

Hadoop可以可靠的存储和处理Petabytes级别的数据。

(2)经济性:

Hadoop将数据分布到由廉价Pc机组成的集群中进行处理,这些集群可以由成千上万个节点组成。

(3)有效性:

通过数据分发,Hadoop可以在不同的节点上并行处理数据。

这使得数据处理过程大大提速。

(4)可靠性:

Hadoop自动维护一份数据的多个拷贝并自动将失败的计算任务进行重新部署。

2.2HDFS架构示意图

2.1.3并发控制发展现状

数据库的重要特征是它能为多个用户提供数据共享。

数据库管理系统必须提供并发控制机制[15]来协调并发用户的并发操作以保证并发事务的隔离性和数据库的一致性。

并发控制不仅是集中式数据库的技术,同时也是分布式数据库的技术,分布式数据库的事务并发控制更为复杂。

分布式并发控制研究成果,其中主要的方法有以下几种:

(1)封锁方法

封锁方法是最常用的并发控制方法。

它的基本思想是:

要求一事务在对一数据对象进行操作前必须先申请该数据对象的封锁(Lock),获准后才进行操作。

如果该数据对象已经被其他事务封锁,且操作方式冲突,那么该事务必须处于等待状态,直到该数据对象被释放为止。

确切的控制则由封锁类型决定,封锁方法通过规定相应的加锁原则和封锁相容机制实现冲突操作的可串行化调度。

基于封锁的解决方案中,最有名的是两段锁协议,两段锁能确保可串行性,但是该协议基于一定的假设。

两段锁(Tw

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1