前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇云计算与分布式技术范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
云计算的英文全称是Cloud Computing,是并行处理、分布式计算以及网格计算等基础的商业实现,其实现的基本原理是将计算进行功能划分,使其分布在不同的计算机上,可以完全脱离本地的计算机或者服务器,这样,便使得云计算的的运行与互联网网络极为相似,这样,便可以使得企业能够根据需求自动的调整应用,从而访问需求中所需要的分布式存储系统或者计算机。云计算是分布式计算的一种,分布式计算的核心便是将庞大的计算能力需求进行划分,变成非常小的模块,各个模块均被划分到不同的计算机中运行。最终将这些结果进行综合,得出的结果便是所需要的结果。
一、分布式云计算特点
具有超大的规模。“云”具有一定的规模,在企业中,私有的云一般都拥有数百上千台服务器,“云”能够赋予用户很强的计算能力,可以达到用户前所未有的计算能力。
虚拟化。在任何地方,不管用户采用何种终端获取服务云计算均支持。这些资源来自“云”,而不是某种有形的固定实体。在应用中,用户不需要担心应用运行的位置,通过网络服务云计算就可以满足我们的需求,甚至是超计算这样的任务。
可靠性极高。多个副本容错数据,计算节点同构可互相交换等使云计算比本地计算机更安全可靠。
可通用。多种应用均可以在“云”的支撑下构造,其不针对某种特定的应用,不同的应用可以在同一个“云”的支撑下运行。
可扩展性高。“云”根据应用和用户规模的增长可以进行动态伸缩满足其需求。
按需服务。“云”的资源相当丰富,可以按你的需求进行购买。
二、分布式云计算在金融业中的应用
云计算的出现,使得各个行业都投入到了云计算技术的应用方面,金融行业自然也不例外,目前,很大一部分的金融交易平台都选择云计算技术,主要是因为,采用云计算技术能够使得金融交易平台节省开支,不需要花大价钱去购买昂贵的数据中心,云计算方案的实施还能够使得金融交易平台脱离存储设备、网络设备以及服务器等硬件设备,所有的技术问题都交给专业的、功能强大的云计算服务器提供商去实现。此外,云计算还解决了硬件以及软件兼容的问题,金融交易平台仅仅需要关心自身的业务。
金融交易平台之所以选择云计算进行一些方案的解决只要是因为云计算具有易用、可管、部署迅速等特性。传统都是自己去购买软硬件的模式,但云计算的模式相对比较灵活,同时也大大缩短了使用的成本,在很多方便都得到了很大程度上的改善。金融交易平台运用云计算解决方案,在很大的程度上简化了IT基础设施的维护和使用。
我国与外国相比较,虽然起步的时间相同,在我国仍然处在起步阶段的时候,国外云计算的应用早已经进入了初步阶段,为什么会存在应用进程的差异呢?在国外传统意义上的外包可以自然的向基于更加灵活方便的云计算外包过度,而在国内,大多数的企业不敢尝试,对云计算的应用产生怀疑的态度,担心自己的业务放到云端是否安全,会比放在自己的机房可靠吗?会有很大的风险吗?等等原因主要是由于缺少IT外包造成的。但随着业务的扩大,管理上与国际化的接轨,金融交易平台光靠传统的方式有了很大的压力和挑战。面对科技的发展,科学的进步,国际化的统一,信息化建设和应用水平一直领先于其他产业的金融交易平台面对迅速膨胀的市场需求,已经面临了前所未有的挑战,金融交易平台的IT系统已经跟不上国际化的发展。面对这样的挑战,国内金融交易平台开始采取措施积极应对。首先,许多金融交易平台采取并购、吸纳一些海外的投资进行资本的运作,扩大自身的规模,大大增强自身的竞争能力;其次,国内的金融交易平台也大大提升产品的创新力度,从服务水平到业务的网络向国际先进金融交易平台靠近。专家向金融交易平台提议,在金融交易平台系统中要合理的运用云计算,必须要全方面的考虑一些问题:首先要分析云计算可以给金融交易平台节约多少成本,以数据的形式进行分析,多提出一些有难度的问题。
云计算最基本的作用就是可以大大的降低国内金融交易平台的IT基础设施成本。在很多领域中,云计算很大程度上扩大了金融交易平台服务市场,给金融交易平台提供了很好的机会,可以改善金融交易平台吸引、留住和服务客户的方式。虽然云计算在金融交易平台系统中有很大的应用,但有人则认为,如果金融交易平台在没有充分的了解相关风险并不知如何成功避开风险的情况下,还是不要轻易的飞入云端。
三、总结
分布式计算的思想是未来计算的主流技术,是解决复杂计算问题的关键技术,基于分布式核心技术的云计算技术,其发展过程是一个相对比较长的过程,但是却已经确定了未来IT发展的主体方向。此外,随着科学技术的发展,云计算,作为引领未来信息技术产业创新的关键战略性技术和手段,将使人们的工作方式和商业模式发生根本性的变革,必将在金融领域发挥着至关重要的作用,为金融行业发展注入新鲜的活力。
参考文献:
[1]Michael Miller.云计算[M].机械工业出版社,2009
[2]张建文,汪鑫.云计算技术在银行中的应用探讨[J].华南金融电脑,2009
关键词:分布式计算;云计算;并行计算;Web Service;网格计算
中图分类号:TP393.02文献标识码:A 文章编号:1009-3044(2011)22-5463-03
Introduction of Distributed Computation
DUAN Xiao-guo
(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266500, China)
Abstract: Distributed Computation system is developing quickly, we can use cheap hard ware to do some research work which only high performance computer can do before by this technology, today distributed computation system is an important technology in research, database search, complex computation and other fields. Such as: P2P, Mobile Agent, Grid Computing, Cloud Computing, Web Service. Introduce this technology and some application examples here.
Key words: distributed computation; cloud computing; parallel computing; Web Service; grid computing
1 综述
分布式计算和并行计算技术为研究开发高性能计算机另辟蹊径,使用普通的计算机通过网络连接之后,通过这两种计算技术来完成以前只有在高性能计算机上才能进行的工作,随着技术的发展和进步,分布式计算技术已经使参与分布式计算的普通计算机的“联合计算能力”超过了单台超级计算机。分布式计算技术已经有十几年的研究历史, 但现在仍然是计算机研究领域的一片热土,在不同的应用领域发展起来特点各异的分布式计算技术的分支。
1.1 分布式计算国内外研究现状[1]
现在对分布式计算技术的研究主要集中两个方面:分布式操作系统和分布式计算环境。经过近20年的研究,已经有多种分布式计算技术在各不同领域得到应用,下面是比较主流的几种技术:中间件技术、P2P技术、移动Agent技术、网格技术、Web Service技术,这些技术已经比较成熟,且得到了大家的认同,已经在其适合的领域内用于科学研究或大规模数据计算。
整体研究水平来看,国内的研究水平和国际上发达国家有明显差距,我国虽然拥有数量巨大的计算机用户和网络用户,但了解或者知道分布式计算的用户却不多,大部分人或者绝大部分用户使用计算机进行日常办公、网上查询、聊天等工作,只有部分高校和科研机构才参与分布式计算,这和西方欧美发达国家相比,我们的理论起点低,研究的深度和应用的广度都和发达国家有巨大的差距。
1.2 分布式计算国内外应用现状[1]
现在分布式计算已经应用在科研、教育、天气预报分析、数据库搜索、生物技术等诸多领域,以下是几个比较典型的例子:
SETI@home是国际上比较著名的一个分布式计算应用的项目。这个项目主要是通过使用参与分布式计算的计算机下载计算程序来对射电望远镜收到的海量信号进行计算分析,目的是确定地球之外有无类人或类似地球生物的生命存在,寻找宇宙中的生命体,我们国家也有一些机构和个人参与这个科研项目。
若说SETI@home和我们的实际生活没有多大关系,那么下面这两个项目则和我们有密切的关系。Climateprediction工程是分布式计算技术在气象预测领域内的成功应用例子之一,研究者首先建立气象计算模型,全球各地巨的气象数据输入计算程序,任何参加这个项目的组织和机构或者个人,都可领到合适的计算任务,并把计算的结果返回,通过海量的计算来组建地球气象模型。
Folding@home是另一个著名的分布式计算工程,这个项目主要是研究蛋白质折叠、、聚合及由此过程引起的一些相关疾病。使用计算机来模拟蛋白质的折叠和聚合过程需要海量的计算,分布式计算可以通过利用大量的闲散计算资源,甚至是跨越国界、民族的界限,来承担这个巨大的计算任务,研究这些疾病的产生原理,为攻克和预防这些疾病做理论上的分析,目前有多个国家的科研机构和组织参与这个项目,我们中国也有人参与这个项目。
作为应用分布式计算最成功的组织之一:谷歌,他的文件管理系统被作为一个典范,许多学者对其研究,一些同行进行效仿,甚至有些人将谷歌的文件管理系统作为一门学科来研究,GFS这个原本是谷歌自有名词缩写因此也成了这个行业应用分布式计算的一个典范。
和上面的应用例子类似的分布式计算工程有很多,分布在不同的国家和地区,但这些项目大都互无联系,甚至每个项目都使用一个不同的软件,使用不同的分布式计算技术,如何整合这些互不关联的项目,更大限度地发挥参与这些工程的计算机的能力,这也是一个研究课题,美国加州大学伯克利分校已经建立了一个开放的网络计算平台,即行内皆知的BOINC(BERKELEY OPEN INFRASTRUCTURE FOR NETWORK COMPUTING),这个平台的主要功能是把不同的分布式计算项目连接起来,对参与这些项目的计算资源进行统一合理分配,从而更有效的利用这些计算资源,提高计算效率。
2 分布式计算的关键技术
2.1 关键技术一:中间件技术[2]
中间件技术是比较早期的分布式计算技术,所谓的中间件技术,就和字面上的意思一样,是一个联络不同技术和操作系统的纽带,通过这个软件,分布式应用软件可以在使用不同的操作系统和技术的计算机之间进行计算资源共享,IBM和SUN Microsystems以及AT&T贝尔实验室都对中间件技术的研究和发展做出重要贡献,贝尔实验室于1984年的Tuxedo应该算是早期比较成熟的中间件技术产品,这个负责屏蔽不同操作系统、编程语言、通讯协议的中间件就负责计算资源的管理和分配以及网络通信。经过十几年的发展,多种技术开始融合,中间件技术又发展出不同层次和类型的多个产品,例如:自适应中间件、移动中间件、对象中间件、消息中间件、数据库中间件,远程过程调用中间件等等。
中间件技术是分布式计算技术中的一种基础技术,其他一些分布式计算技术和中间件技术结合以优化分布式计算技术,例如:网格计算。
2.2 关键技术二:网格技术[3]
网格计算是目前最重要的分布式计算技术之一,它通过网络系统将分布在不同地点或区域的计算机资源(包括各种硬件和软件以及信息数据等)连接成一个巨大的“异构计算机”,虽然这些计算资源分布在各自不同的计算机上,这些计算机可能有不同的操作系统、不同的技术协议,但是通过网格技术组建的这个系统却可以象一台计算机一样对这些资源进行管理和利用,从而完成一些计算规模巨大的复杂运算和数据处理任务。从另一个意义上说,这种计算资源的统一管理和共享,不仅仅为提供复杂就算提供支持,还可以在很大的区域范围内,打破企业、组织和国家界限,避免重复资源投资和浪费,充分利用自己的计算资源,因此网格计算在分布式计算技术中占有十分重要的地位。
网格有多种体系结构,其中Foster等提出的五层沙漏结构(图1)为比较典型的一种体系结构,自下向上分别是构造层、连接层、资源层、汇聚层和应用层;还有一种典型的结构体系:开放网格服务结构OGSA(Open Grid Services Architecture),这个结构是结合Web Service技术的网格体系,OGSA是以服务为中心的“服务结构”,定义了“网格服务”的概念,网格服务是一种Web Service,该服务提供了一组接口。
网格系统大致都可以划分为三个层次的基本结构:底层(构造层),主要是分布在各个计算机上的资源,硬件和软件、信息数据等;中间层,主要负责屏蔽底层资源的异构性,是上面提到的中间件技术;应用层,这是我们的工作平台,通过应用层来组织协调和合理利用底层的资源来完成分布式工作任务。
网格(GRID) 归诸于一个下部基础构造,它使得高端计算、网络、数据库和私有科学工具的集成和协作使用成为可能,并且,能够被多个组织所管理。网格应用通常包含大量的数据或计算,经常需要组织间的安全的资源共享。因此,它们不易被今天的Internet和WEB基础构造所处理。
2.3 关键技术三:移动Agent技术[4]
移动Agent是一种可以在构成分布式计算系统的各节点移动的软件Agent,软件Agent应该是人工智能技术发展起来的一个产物,人工智能的研究主要解决知识表达、机器学习、推理等类似人的智能的算法问题,而软件Agent就具有类人的智能,可以自主管理,能对环境做出响应,甚至主动行动,进行推理计算来完成任务。我们一般把软件Agent看做是在一台机器上运行的一个程序,而移动Agent则是可以自主在网络上构成分布式计算系统的各节点之间进行移动的一个程序。这个程序带着自己的任务找到可以完成这个任务的节点(这个节点有完成这个任务所需要的数据、硬件、软件等资源),通过网络移动到这个节点,在此暂时定居,利用这个节点的资源进行计算,计算结束后,这个Agent携带计算结果通过网络自主移动到下一个需要达到的节点,这种模式可以减少网络拥堵,在一个节点盘踞期间,甚至可以断开网络连接也不会影响其正常工作,只要在它完成任务需要移动时恢复网络连接即可。这种移动类似密封采蜜,一朵花上的资源用完之后飞到另外一朵花上,满载之后(完成任务)飞回蜂窝,卸载蜂蜜,进行第二次行动。这和传统的数据调用方式要好得多,一来可以减少大量数据在网络上传输,对带宽的要求就低了;二来可以减少大量数据传递带来的数据错误,提高计算的效率和鲁棒性;图2和图3分别是传统网络计算和移动Agent的示意图。
图2 传统网络计算方式 图3 移动Agent
移动Agent技术自90年代开始发展很快,因其本身就是一种适用性很强的分布式计算模式,且具有极好的鲁棒性,对网络的要求低,故这项技术是目前分布式计算技术研究的一个热点。
2.4 关键技术四:P2P技术[5]
P2P(Peer-to-Peer)对等网络应该是资格比较老的一项技术,例如TCP/IP协议,并没有对客户机和服务器做区分,所谓的“对等”就是地位相同,在网络中的节点处于同样的地位,没有客户端和服务器的区分,这些地位相等的节点可以互相进行资源利用和数据共享,不需要通过服务器来转接和通信,这样可以减少对服务器的依赖,也就降低了对服务器的性能要求(软件、硬件要求)。当然,纯粹的对等网也有其弊端,为了解决这些问题,一些分支和混合技术发展起来,例如为了解决P2P搜索速度慢的问题,在对等网中仍然设置服务器,但是服务器只提供搜索索引,各节点可以快速在服务器上查到要搜索的资源目录和地址,然后直接去目标地址完成资源交互。为了解决热点资源网路堵塞的问题,数据传输方式由点对点方式发展为多点对多点传输,该项技术已经在现在的网络上广泛应用。点对点传输只能在在源节点和目标节点之间传送数据,若一个节点的资源对应多个目标节点,其传送效率就低了,多点传送解决这个问题,将数据源分割成多个数据包,这些数据包可以不依照顺序给各目标节点发送,同时收到数据包的目标节点可以作为其他目标节点的源节点,给其他未收到该数据包的节点传送数据,使用这种技术,下载源数据的节点越多,实际传送的效率就越快,但是若不能将全部数据包都收齐,这些数据包将无法连接起来,也就无法使用,点对点传输则不存在这个问题。
2.5 关键技术五:Web service技术[6]
并行计算和分布式计算的优点就是发挥“集体的力量”,将大任务分解成小任务,分配给多个计算节点同时去计算,起初的并行计算可以在一台计算机上执行,也可以提高运行效率,现在的分布式计算已经将计算扩展到多台计算机,甚至是多个网络,在网络上有序执行一个共同的任务,当然离不开Web技术,但在分布式计算发展起来之前的网络协议并不能满足分布式计算的要求,于是产生了Web service技术,简单地说,这种技术的功能和中间件的功能有相似之处:Web service技术是屏蔽掉不同开发平台开发的功能模块的相互调用的障碍,从而可以利用 HTTP 和 SOAP 协议使商业数据在 Web 上传输,可以调用这些开发平台不同的功能模块来完成计算任务。这样看来,要在互联网上实施大规模的分布式计算,就需要Web service做支撑,因此很多人认为这项技术是分布式系统继续研究和开发的理想模型。
2.6 关键技术六:云计算[7]
云计算也是分布式计算技术的一种,其最基本的概念,是将巨大的计算处理程序分拆成无数个小的子程序,再将这些小程序分配给庞大的计算机网络系统经搜寻、计算分析之后将处理结果回传给用户。所谓的“云”,最初来自“电子云”的概念,这种子程序的分解是数量巨大,或者可以想象成将水滴分解到蒸气一样的微小颗粒,也就是“云”状态,如此多的任务,分配给同样多的计算节点去计算,每个节点的任务很小,计算也很快,但如何管理这如云一样的庞大网络,就大有文章。使用这项技术,服务提供者可以在短时间内(数秒或者几分钟),达成处理数数量巨大的信息,达到和“超级计算机”同样强大效能的网络服务。最简单的云计算技术在网络服务中已经随处可见,例如搜寻引擎、网络信箱等,使用者只要输入简单指令即能得到大量信息。进一步的云计算不仅只做资料搜寻、分析的功能,更可计算一些像是分析DNA结构、基因图谱定序、解析癌症细胞等。稍早之前的大规模分布式计算技术即为“云计算”的概念起源。
3 结论
分布式计算作为一项快速发展的计算机技术,因有低运营成本高计算性能的优势,且目前我国有丰富的闲置计算资源,其发展前景十分乐观,关于对该项技术的研究,我国明显落后于发达国家,已经成为计算机大国,存在严重的资源浪费和闲置,现在分布式计算技术只是在一些高校、科研机构内作为研究和应用的对象,分布式计算技术虽然发展迅速,但各项技术大都存在一些问题,例如:数据安全问题、网络异构问题等等,还有巨大的研究和发展潜力。
参考文献:
[1] 邓传军,马志民.分布式计算模型探讨[D].福建:厦门大学,2005.
[2] 奚丽倩,袁国良.浅析中间件技术的研究现状[D].上海:上海海事大学,2009.
[3] 赵东.网格计算环境中若干关键技术的研究[D].成都:电子科技大学,2003.
[4] 于涛,张继棠,雷飞鹏.Mobile Agent技术应用[D].重庆:重庆邮电大学,2007.
[5] 周文莉,吴晓非.P2P技术综述[D].北京:北京邮电大学,2006.
[6] 杨涛,刘金德.web service技术综述――一种面向服务的分布式计算模式[D].四川:电子科技大学,2004.
不会改变服务器格局
IDC(中国)行业研究与咨询服务部助理副总裁武连峰表示,虽然云计算在数据中心中已成为趋势,并且很多数据中心也在重新规划或者迁移中为服务器的采购创造了一个巨大市场,但它并不会成为改变x86和非x86架构市场格局的推手。
x86服务器的增长动力来自于互联网企业。而在私有云的建设中,由于不同的工作负载要适应不同的基础架构,大型企业仍然会按照原有的基础架构和工作负载平滑向云计算平台过渡。在各地兴起的主要为中小企业服务的云基地公有云中心也不一定都采用x86架构。
武连峰表示,虽然政府的初衷是想把云计算平台开放给中小企业做运营平台,并大量使用x86服务器,但是不少云基地主要是为以软件外包为主营业务的中小企业服务,而这些中小企业的服务对象往往是国内外的大型企业,这些大型企业对应用平台的性能有很高要求,比如编码测试是基于Unix的小型机甚至是主机系统,如果用x86服务器构建云测试平台,就不能满足其要求。那么,中小企业内部的业务是否就可以应用基于x86架构的云计算平台呢?实际情况是,中小企业一般不用公有云平台,而是采用微软、腾讯等第三方的软件。
两种云平台
谈到中国用户为什么重x86架构,而轻其他架构平台,IDC认为,包括Google和AWS在内的很多国际公共云计算平台大多采用了分布式的架构。这是由于互联网企业普遍具有自身技术实力雄厚、IT资产生命周期短、核心业务对实时性要求不高等特点。因此,互联网企业选择了适合自己的分布式计算平台,而其他行业用户的需求和互联网企业并不相同。因此用户应考虑自身的行业特征来选择适合自己的云计算架构。
IBM系统与科技部中国区行业及重点客户技术支持总经理梁建球对分布式云平台的组成做了细致分析:硬件平台为x86,操作系统为Linux/Windows,分布式数据存储都采用MySQL-CS、BigTable、HDFS以及Hadoop Map-Reduce等分布式开源软件。在应用程序层,用户需要针对新应用重新编程。在梁建球看来,上述这种分布式云平台适用于对性能、可靠性、数据一致性要求不高的应用。
此外,IBM在Power上也加强了对分布式软件的支持,比如Power小型机可以支持Linux,去年底收购的Platform Computing则在分布式计算调度和管理方面具备更大的优势。由此可见,云计算基础架构的搭建并不是一个简单的软硬件集成项目,而是一种企业IT战略的改变。
IDC在《中国云计算基础架构建设指南》中的用户调研数据显示,多数用户在选择云计算架构时,希望未来的云计算平台能够与企业现有的基础架构兼容,从而降低实施风险,同时还可以快速地从现有架构过渡到云平台上,以便节省用户的投资,缩短项目实施的周期。
云计算已经成为NGDC(下一代数据中心)的主要建设目标。IDC刚刚的《中国云计算基础架构建设指南》中列举了中国用户建设云计算的六大误区:重概念,轻本质;重实施,轻规则;重x86架构,轻其他架构;重硬件,轻软件;重虚拟化,轻管理;重创新,轻移植。在云计算进入数据中心的初期阶段,尤其是在IaaS阶段,以服务器为主的基础架构的选择成了摆在用户面前的一道博弈题:是选择x86分布式计算这种初始成本低、未来成本不可预测的基础架构,还是选择初始成本高、未来有商用软件支持的以Power为代表的小型机架构呢?
不会改变服务器格局
IDC(中国)行业研究与咨询服务部助理副总裁武连峰表示,虽然云计算在数据中心中已成为趋势,并且很多数据中心也在重新规划或者迁移中为服务器的采购创造了一个巨大市场,但它并不会成为改变x86和非x86架构市场格局的推手。
x86服务器的增长动力来自于互联网企业。而在私有云的建设中,由于不同的工作负载要适应不同的基础架构,大型企业仍然会按照原有的基础架构和工作负载平滑向云计算平台过渡。在各地兴起的主要为中小企业服务的云基地公有云中心也不一定都采用x86架构。
武连峰表示,虽然政府的初衷是想把云计算平台开放给中小企业做运营平台,并大量使用x86服务器,但是不少云基地主要是为以软件外包为主营业务的中小企业服务,而这些中小企业的服务对象往往是国内外的大型企业,这些大型企业对应用平台的性能有很高要求,比如编码测试是基于Unix的小型机甚至是主机系统,如果用x86服务器构建云测试平台,就不能满足其要求。那么,中小企业内部的业务是否就可以应用基于x86架构的云计算平台呢?实际情况是,中小企业一般不用公有云平台,而是采用微软、腾讯等第三方的软件。
两种云平台
谈到中国用户为什么重x86架构,而轻其他架构平台,IDC认为,包括Google和AWS在内的很多国际公共云计算平台大多采用了分布式的架构。这是由于互联网企业普遍具有自身技术实力雄厚、IT资产生命周期短、核心业务对实时性要求不高等特点。因此,互联网企业选择了适合自己的分布式计算平台,而其他行业用户的需求和互联网企业并不相同。因此用户应考虑自身的行业特征来选择适合自己的云计算架构。
IBM系统与科技部中国区行业及重点客户技术支持总经理梁建球对分布式云平台的组成做了细致分析:硬件平台为x86,操作系统为Linux/Windows,分布式数据存储都采用MySQL-CS、BigTable、HDFS以及Hadoop Map-Reduce等分布式开源软件。在应用程序层,用户需要针对新应用重新编程。在梁建球看来,上述这种分布式云平台适用于对性能、可靠性、数据一致性要求不高的应用。
此外,IBM在Power上也加强了对分布式软件的支持,比如Power小型机可以支持Linux,去年底收购的Platform Computing则在分布式计算调度和管理方面具备更大的优势。由此可见,云计算基础架构的搭建并不是一个简单的软硬件集成项目,而是一种企业IT战略的改变。
关键词:数据库技术; 分布式处理技术; 云计算; 物联网
中图分类号:TN91934; TP311.13文献标识码:A文章编号:1004373X(2012)04012003
Design of IOT database based on distributed processing technology
LI Na, LIU JunHui
(Department of Information Engineering, Zhengzhou College of Animal Husbandry Engineering, Zhengzhou 450011, China)
Abstract: In recent years, with the repid development of Internet of things (IOT) technology, a new challenge has been posed on data storage and access. Focusing on the database management of IOT, a design method of IOT database based on distributed processing technology (DPT) was proposed by means of computation method of peertopeer network (P2P) point clouds. An example of medical system IOT verifies that the mothed can solve the problem of IOT database management to a certain extent and provide technical support for IOT in combination with database technology, network technology, and middleware technology.
Keywords: database technology; distributed processing technology; cloud computing; IOT
收稿日期:20110815
基金项目:河南省科技厅重点项目(112102210395)0引言
物联网是指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一个巨大网络[1]。从这个定义可以看出,物联网的开展具有规模性、广泛参与性、管理性、技术性、物的属性等特征,需要各行各业的参与。物联网技术是一项综合性的技术,其中非常重要的是RFID电子标签技术。以简单RFID系统为基础,结合已有的网络技术、数据库技术、中间件技术等,构筑一个由大量联网的阅读器和无数移动的标签组成的、比Internet更为庞大的物联网已成为RFID技术发展趋势,这使得物联网中的数据库管理问题成为了物联网技术研究中的挑战性问题之一,已引起了国际学术界和工程界的高度关注[26]。本文针对物联网中的数据库管理问题,通过对物联网技术的研究,并结合分布式数据库技术、P2P(对等网)点云计算技术,提出了基于分布式处理技术的物联网数据库管理方法,并探索将其应用于医疗系统中。
1基础理论
1.1混合模型
物联网已经构成的应用系统和应用实例是深入研究物联网体系结构的基础[78]。本文针对医疗系统物联网采用有源CPS(网络化物理系统)结点和具备联网和控制能力的互联网CPS结点的混合模型(如图1所示)进行设计。这使得该系统不但具有物联网系统有的时间和空间的控制能力,还拥有物联网专用的安全性和可靠性的控制体系。互联网CPS结点具有不间断电源,不具备移动性,又具有感知能力,具有较强的存储、计算和联网能力,可以提供H2T,H2H 连接。
图1有源CPS结点与互网CPS结点互连结构的混合模型1.2分布式数据库
分布式数据库(Distributed DataBase,DDB)是传统数据库技术与网络技术相结合的产物。近年来,分布式数据库的快速关联规则挖掘算法、精简频繁模式集和关联规则的安全挖掘算法以及事务流的动态可串行调度算法等都是该领域的研究热点[912]。一个分布式数据库是物理上分散在计算机网络各结点上,但在逻辑上属于同一系统的数据集合,如图2所示。它具有局部自治与全局共享性、数据的冗余性、数据的独立性、系统的透明性等特点。分布式数据库管理系统(DDBMS)支持分布式数据库的建立、使用与维护,负责实现局部数据管理、数据通信、分布式数据管理以及数据字典管理等功能。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征。
图2典型的分布式数据库系统2本文物联网数据库设计方法
物联网数据库管理系统中各个领域都呈现严峻的数据存储性挑战。这里重点讨论分布式数据库技术,并引入面向对象数据库系统技术和点云计算的P2P技术[13],以使物联网系统具有局部自治与全局共享性、数据低冗余性、数据高独立性及系统透明性。
物联网是融入大量RFID系统和分布站点的数据库系统。在系统计算服务中,需要引入云计算平台,这是我国正在积极构建的重要基础计算平台。在考虑远程数据库事务管理之前,必须从那里获取数据,并且使其他数据库能对它进行全局访问。因此,主要涉及的管理任务有:物联网系统计算服务、访问站点数据的位置透明性管理、数据库链接管理、触发器管理和快照管理等分布处理技术。同时在确定的每个服务站点中,引入面向对象数据库技术[14],以支持面向对象编程技术与数据库技术的融合,改善数据库技术的可扩展性。在点云计算中引入P2P技术,自组织P2P网络能够在对等体进入、离开和失效时自动加以调整适应。对等体之间的通信是对称的,它们既请求服务又提供服务。
综上所述,该分布式物联网数据库同时具备面向对象、分布式处理技术和P2P点云计算数据库能力。
3实例验证:医疗系统物联网
本应用实例主要是探索将物联网分布式数据库技术应用于医疗卫生系统中,这将是本文未来研究的重要课题。医疗卫生系统的物联网构建是我国新医改基础设施建设的重要保障。本文医疗系统物联网系统,如图3所示。
图3医疗系统物联网模型在上述医疗系统物联网中,主要包括了移动医疗设备数据库系统、循证医学数据库系统、医学研究网格计算系统、虚拟医疗团队数据库信息以及慢性病、流行病监控管理数据库系统和个人医疗信息门户数据库系统、远程医疗服务数据库系统。在整个物联网数据库系统中,需要P2P技术与云计算服务平台来实现整合医疗服务平台、健康知识管理、电子健康档案统一信息管理等工作。其中,整合的医疗保健平台根据需要通过医院的各系统收集并存储患者信息,并将相关信息添加到患者的电子医疗档案数据库中,这样所有授权和整合的医院都可以对这个数据库进行访问,从而使各个资源和患者能够有效地在各个医院之间流动。利用各医院之间适当的管理系统、转诊系统等保持信息完备性、一致性。这个平台满足一个有效的多层次医疗网络对信息分享的需要,这样就建立了以分布式处理技术为基础的数据库服务系统。电子健康档案系统通过可靠的门户网站集中进行病历整合和共享,这样各种治疗活动就可以不受医院行政限制而形成一种整合的视角。有了电子健康档案系统,医院可以准确顺畅地将患者转到其他门诊或其他医院,患者可随时了解自己的病情,医生可以通过参考患者完整的病史为其做出准确的诊断和治疗。通过医疗系统物联网的建立,将极大地改善医疗服务体系,实现高效、稳健、有效的全面医疗卫生服务。
4结语
本文重点介绍并讨论了基于分布式处理技术、混合面向对象程序设计方法以及P2P点云计算服务的物联网数据库设计方法,并探索将其应用于医疗系统物联网中,从而为物联网数据库管理系统提供了一种新的设计方法,可探索将其拓展到智能电力电网、城市设施、交通管理、物流供应链等行业中。然而,系统的设计实现需要核心云服务计算平台,目前的系统有许多工作要做,包括P2P计算中的信息交互、高速移动医疗设备诊断、整合医疗平台建设等。本文今后的工作将进一步完善上述设计的物联网数据库系统,并将其用于实践,从而为搭建我国基础医疗系统物联网技术平台做出应有的贡献。
参考文献
[1]王保云.物联网技术研究综述[J].电子测量与仪器学报,2009,23(12):17.
[2]COOPER J, JAMES A. Challenges for database management in the Internet of things \[J\]. IETE Technical Review, 2009, 26(5): 320329.
[3] 吴功宜.智慧的物联网:感知中国和世界的技术[M].北京:机械工业出版社,2010.
[4]孟小峰.云数据管理技术[EB/OL].\[2009327\]..
[5]FURNESS A, CHARTIER P. Opportunities through European and UK initiatives \[C\]// Proceedings of The Electronics KTN and the Association for Automatic Identification and Mobile Data Capture (AIM) joint meeting on the "Connected World". London: England:AIM, 2010: 123129.
[6] International Telecommunication Union. ITU Internet reports 2005: the Internet of things \[R\]. \[S.l.\]: ITU 2005.
[7]沈苏彬,范曲立,宗平,等.物联网的体系结构与相关技术研究[J].南京邮电大学学报:自然科学版,2009,29(6):1011.
[8]James A,Cooper J.Database Architecture for the Internet of Things[J].IETE Technical Review.2009,26(5):311312.
[9]贾,刘群,姜晗.分布式数据库的精简频繁模式集及其挖掘算法[J].浙江师范大学学报:自然科学版,2010,33(2):132137.
[10]陈耿,倪巍伟,朱玉全,等.基于分布数据库的快速关联规则挖掘算法[J].计算机工程与应用,2006(4):165167.
[11]梁雄友,薛永生.基于分布式事务流的动态可串行调度算法[J].计算机工程与应用,2010,46(8):144147.
[12]宋宝莉,覃征.分布式数据库关联规则的安全挖掘算法研究[J].计算机工程与应用,2007,43(6):181183.
[关键词]去IOE 互联网+ 分布式 云化架构 虚拟化 服务化
中图分类号:TP3-0 文献标识码:A 文章编号:1009-914X(2016)29-0309-01
第1章 绪论
1.1 现状分析
在中国,最早实践“去IOE”系统转型的,是互联网用户数最多的阿里巴巴公司。阿里公司面临互联网用户交易量成倍增长的趋势,由于IBM小型机、Oracle数据库、EMC高端存储构建的系统架构存在维护成本非常高,源代码冲突,系统部署时间长,数据库连接达到上限等诸多问题,系统不能满易的处理要求,阿里CFO王坚在2008年提出“去IOE”概念。阿里以低成本的x86服务器代替IBM小型机,由开源My SQL代替Oracle,使用PC Server代替EMC存储,自主研发了强大的云计算平台以提供云计算服务。2013年,最后一台小型机在阿里的支付宝下线,标识了阿里完成去IOE的架构转型成功。
1.2 发展趋势
2015年7月,国务院颁发《国务院关于积极推进“互联网+”行动的指导意见》,指导传统行业需要利用信息通信技术以及互联网平台,将互联网的创新成果,深度融合传统行业,创造新的经济发展生态。
电信运营商的传统IT架构也采用IOE架构,随用户数量成倍增长,在系统运营维护时也体现出维护成本高,系统部署时间长,响应慢,容易引起用户投诉以及用户流失等诸多问题。
第2章 运营商分布式云架构实践
2.1 运营商传统IT架构
传统IOE架构采用三层架构,Web逻辑层负责接收Web应用请求,应用逻辑层负责处理业务逻辑,并根据数据层提供的数据计算,数据层负责查询返回上层数据。
2.2 分布式云架构
为实践“互联网+”与通信行业的深度融合,消除IOE架构带来的问题,我们用通信行业的号码资源为集中管理对象,构建分布式云架构的号码资源集中系统,创新IT支撑系统。
创新的分布式云架构系统,分为五层,负载均衡层、接入层、业务服务层、技术服务层、数据层。采用高内聚、低耦合、易扩展、服务化的设计原则,由去中心化的服务框架为应用提供服务。下面分别介绍五层架构级重点中间件及功能。
2.2.1 负载均衡层
负载均衡层支持软负载均衡、硬负载均衡及自定义负载均衡。由传统双机工作转变为集群工作。负载均衡通过流量分发扩展系统对外的服务能力,通过消除单点故障提升系统的可用性。负载均衡器主要功能:1、提供4层(TCP协议)和7层(HTTP协议)的负载均衡服务。2、可对后端应用服务器进行健康检查,自动屏蔽异常状态的应用服务器,待该服务器恢复正常后自动解除屏蔽;3、提供会话保持功能,在Session生命周期内,将同一客户端请求转发同一端后台的应用服掌魃希4、支持加权轮询(WRR),加权最小连接数(WLC)转发方式;5、支持针对监听来分配其对应服务能达到的带宽峰值;6、可以支持公网或私网的负载均衡。负载均衡层采用集群设计,无单点,可以根据应用负载弹性扩容,不同功能模块分别申请负载均衡实例。
2.2.2 接入层
接入层支持多种接入形式,有Web管理门户,手机应用接入,各系统接入。
2.2.3 业务服务层
业务服务层提供多种业务逻辑服务,核心业务服务。业务逻辑服务和核心业务服务包括号段管理:号段入库、号段分配、号段启用、号段下发等;号码库存管理:号码查询、号码上下架、号码回收、号码属性管理、号码出入库、号码调拨、号码状态变更等;号码销售管理:号码选占、号码预占、制作预配预配套包、靓号减免、靓号规则查询、号码返销等;部门信息管理:员工信息同步、渠道信息同步、员工新增、部门新增等;报表管理:号码统计、号码状态统计、靓号统计等;权限管理:菜单管理、角色与员工对应关系、角色维护、菜单权限管理等;日志管理:操作日志、接口日志、号码日志等。
2.2.4 技术服务层
技术服务层包括分布式服务框架,服务生命周期管理、服务日志、服务治理、以及分布式消息服务、分布式缓存服务,分布式文件系统。技术中间件区别于传统架构体系,为了充分体现云架构的能力,需要遵守的原则如下:
1、服务拆分原则:低耦合,高内聚;服务要小,功能单一、完整;每个服务对应一个数据库;采用自下而上的思路进行服务的识别和设计。
2、缓存使用原则:尽量不缓存大对象,拆分为合适的有效的小对象;及时更新缓存中已经变更的数据;不使用不同的键缓存相同的对象,造成内存浪费;分布式缓存服务中,不能在多个线程间共享对象。
3、数据库拆分原则:数据关联的表尽量采用相同的拆分字段,保证分布在同一个数据库中
数据分布尽量均匀;避免数据热点;小数据表、静态数据表不拆分;
4、消息使用原则:没有业务限制的情况下,尽量并行;消息执行与业务系统低耦合;尽量过滤无关消息,提高处理效率;应用使用统一封装接口,无需关心底层组件。
2.2.4.1 分布式服务框架
分布式服务框架,可以采用分布式RPC框架、控制流和数据流分离,替代传统IBM和Oracle服务框架。服务提供者在服务注册中心进行注册,服务调用者就可通过服务注册中心订阅服务。客户端在不知道服务端的IP情况下,只需要知道服务名,就可以调用该服务。当服务调用失败时,框架自动重试分布式架构下其他服务提供者。服务生命周期管理需要实现自动化,经过代码编写(git),代码打包(Jenkins),代码测试,代码,代码监控。
2.2.4.2 分布式消息服务
分布式消息服务:分布式消息服务,可集群部署,通过web控制台管理主题、生产者、消费者等信息。消息中间件通过消息分发、消息缓存以及负载均衡技术,可以异步解耦消息,达到削峰填谷的目标。利用消息中间件可实现分布式事务、数据复制、日志同步、延迟队列、广播通知。
2.2.4.3 分布式缓存服务
分布式缓存服务:提供集群版扩展Redis性能,兼容redis协议的key-value存储服务,支持redis开源客户端直接访问。 config server为中心控制节点,负责管理所有的data server,维护data server的状态信息。data server 对外提供各种数据服务, 并以心跳的形式将自身状况汇报给config server。
2.2.4.4 分布式文件系统
分布式文件系统:采用开放存储服务,实现应用的动静态分离,可以像文件夹一样管理网站上的图片,脚本等静态资源,通过BGP网络或CDN加速方式,提供用户就近访问,有效降低云服务负载。
2.2.5 数据层
数据层采用分布式数据库,支持弹性扩展,平滑扩容,垂直拆分,稻菘庠谙呃┤荨⒈阜莼毓觥⑿阅芗嗖饧胺治觥=立基于mysql数据库及开源产品cobar、tddl进行整合的一个平台。
第3章 去IOE化后系统提升
经过验证,去IOE后的号码集中系统性能大大提升。上线测试,新系统实时类接口平均每秒能处理订单5000tps,平台每秒处理订单40000tps。相比老系统每秒峰值处理订单2700tps左右,成二十倍提升。