(计算机软件与理论专业论文)分布式海量数据并行传输的研究与实现.pdf_第1页
(计算机软件与理论专业论文)分布式海量数据并行传输的研究与实现.pdf_第2页
(计算机软件与理论专业论文)分布式海量数据并行传输的研究与实现.pdf_第3页
(计算机软件与理论专业论文)分布式海量数据并行传输的研究与实现.pdf_第4页
(计算机软件与理论专业论文)分布式海量数据并行传输的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机软件与理论专业论文)分布式海量数据并行传输的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着信息化技术的不断发展,行业内部和行业间的业务数据量呈几何级数递增, 海量数据的传输与处理难题成为制约信息化产业扩大的瓶颈,本文提出一种分布式海 量数据并行传输设计与实现技术,系统采用了计算机集群及并行处理技术,以m o b i l i n k 技术为基础,将传输任务分解为若干个子任务,采用多台传输处理机分工并行传输方 式,解决了海量数据传输处理上的瓶颈,在很大程度上解决了异构数据库系统间数据 传输不兼容的问题;基于多路径q o s 路由算法实现了目标智能路由,可以有效地均衡 网络负载,提高网络资源利用率,从而实现了大型网络系统中异构数据库信息系统间 海量数据信息并行交换。 关键词:计算机集群并行中间件m o b j l i n kq o s 路由 a b s t r a c t w j t ht h ec o n s t a n td e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , t h eq u a n t i t i e so ft r a n s a c t i o n p r e s e n t 鲇o m 硎ci n c r e a s ei nb o t hi 肋e ri n d u s t r ya n di n t e r - i n d u s t r i e s ,t h ep r o b l e m so fm a s s d a t at r a n s m i s s i o na n dt r a n s a c t i o nc a u s et h eb o t t l e n e c ko fm u l t i p l y i n gi n f o r m a t i o ni n d u s t r y t h i sp a p e ri n v o l v e st h et e c h n i q u eo ft r a n s m i s s i o na n di m p l e m e n t a t i o no fc l u s t e r e dp a r a l l e l d i s t r i b u t i o n ;t h i ss y s t e mm a k e su s eo fc o m p m e rc l u s t e ra n dp a r a l l e lt e c h n i q u e ,b a s e do n m o b i l i n kt e c h n o l o g y , d i v i d i n gt h et a s ki n t os e v e r a la c t i v i t i e s u s i n gm u l t it r a n s m i s s i o n p r o c e s s o rs e p a r a t e l yt r a n s m i s s i o nf o l n l s ,s o l v i n gt h eb o t t l e n e c ko fm a s s i v ea m o u n to fd a t a t r a n s m i s s i o n t og r e a te x t e n t s o l v i n gt h ei n c o m p a t i b i l i t yo fd a t at r a n s m i s s i o na m o n gi s o m e r o fd a t a b a s es y s t e m ;b a s e do nm u l t ip a t hq o s r o u t i n gm e t h o di m p l e m e n t sa i m so ni n t e l l i g e n t r o u t e r , a sw e l la se f f i c i e n t l ye q u a l i z e sn e t w o r kl o a d s 。r a i s e st h eu s er a t i oo fn e t w o r k r e s o u r c e s s ot h a ti m p l e m e n t si n f o r m a t i o np a r a l l e ls w i t c ha m o n gi s o m e r o u sd a t a b a s eo fl a r g e n e t w o r k s y s t e m s k e yw o r d s :c l u s t e rp a r a l l e l m i d d l e w a r em o b i l i n kq o s - r o u t i n g 长春理工大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,分布式海量数据并行传输的研究 与实现是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文中 已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的 作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标 明。本人完全意识到本声明的法律结果由本人承担。 作者签名:盈楚肇卫年上月丑日 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“长春理工大学硕士、博士学位论文版 权使用规定”,同意长春理工大学保留并向国家有关部门或机构送交学位论文的 复印件和电子版,允许论文被查阅和借阅。本人授权长春理工大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等 复制手段保存和汇编学位论文。 作者签名:鱼董盈 指导导师签名: 沁矽 7 叨多 年上月“e l 、 年三一月卫日 第一章绪论 1 1 本文研究的目的和意义 近年来随着电子政务、电子商务技术的广泛应用,各个行业已经建立起基于广域 网络的信息管理体系。在行业内部,业务信息由基层单位采集,向市县、地市、省和 国家汇集( 如人口信息) 。各行业间,如,工商、税务、银行、保险和公安等业务交互 日益频繁,信息资源共享、信息资源的挖掘与利用,导致信息交换需求迅速增长,交 换信息容量巨增。由于传统的软件及技术已经不能适应信息化建设对中间件的广泛应 用需求。且在数据传输及交换中的一致性、及时性、高效性等得不到保障,从而带来 不必要的经济损失,此类问题亟须解决。因此建立通用的、快速而安全、高效而可靠 的传输通道,开发大型、支持海量数据并行传输的消息中问件就成为确保庞大的网络 信息系统正常运转的关键问题( i 】。 本论文的主要目标是研究大型网络信息系统中数据信息交换技术,开发通用的海 量数据并行传输中间件软件,实现大型网络系统中异构信息系统间数据信息交换、多 级网络系统间数据信息交换。从而解决海量数据的传输问题,为电子政务、电子商务 技术等其它相关领域的发展提供可靠的数据交换的平台。建立通用的、快捷安全、可 靠而高效的传输通道,开发通用的数据传输平台成为确保庞大的网络信息体系正常运 转、确保不同地域数据的一致及更新的及时的可靠保障。因此,本课题的研究与实现 具有极其重要的现实意义,并且会对今后信息技术的发展有深远的影响。 1 2 国内外研究现状 近几年,国外中间件市场主要被两大国外厂商i b m 和b e a 垄断,他们在银行、证券、 电信等高端行业以及i t 等行业中得到广泛应用。前者凭借其在1 9 9 9 年推出的应用服 务器w e b s p h e r e ,扎根金融、证券等行业;后者则是一家专门致力于中间件开发的公司, 它的应用服务器产品w e b l o g i c 在美国市场占有率超过6 0 ,在国内电信及证券行业占 据主要地位。国内流行的消息传输中间件,如i b m 公司的i b m m q s e r i e s 、东方通公司的 t o n g l i n k 、b e a 公司的m e s s a g e q 等,i b m 公司消息传输中问件市场占领导地位【2 】。 国外在中间件研究方面进行过不断的探索,主要工作有自适应重用中间件、自适应 数据复制中间件、可编程、可重配中间件等研究1 3 1 。国内流行的传输中间件,如b e a 公司的m e s s a g e o 、东方通公司的t o n g l i n k 、i b m 公司的i b mm o s e r i e s 等,费用昂贵、 网络条件要求高、传输效率差、不能完全适应中国国情,相关的研究成果处于理论探讨 阶段。能够支持海量数据并行传输的研究成果或成型产品国内外未见报道和使用。 目前,国外的消息中间件产品占领着国内数据传输领域的主要市场份额,但仍存在 许多技术缺陷。在传输承载能力方面,由于采用的是串行处理技术,如i b m 公司的 i b m m o s e r i e s 和b e a 公司的m e s s a g e o 等,当每次传输数据过大时传输耗时巨大,由于 网络稳定性差容易造成传输中断;当需要多用户间数据交换时( 如数据汇总) ,经常发生 传输等待、网络阻塞和系统死锁现象,导致传输系统瘫痪。由于目前消息中间件产品 其处理方式所限,无法承担所面临界的海量数据传输要求。在传输功能方面,国内外 流行的消息中间件沿不具备独立传输功能,数据打包解包、数据压缩加密、传输过程 监控等工作需另外编制程序完成,存在着需要二次开发、传输内容发生变动时修改困 难、系统运行不稳定、维护工作量大等问题i “。 1 3 本文的主要工作和组织结构 本文的主要工作是设计与实现了基于m o b i l i n k 技术的海量数据并行传输系统,实 现广域网络中异构数据库系统间数据信息交换,通过并行数据传输技术解决了海量数 据传输的系统承载力问题,通过数据库日志传输机制研究解决传输效率问题,通过研 究异构传输数据库配置与传输数据配置技术研究解决平台通用性问题,传输平台实现 传输数据库、传输数据灵活配置。研究了计算机集群技术,利用并行计算机与集群技 术提高数据处理能力,实现任务的优化拆分与分配,使系统达到负载平衡。研究了q o s 路由算法,提出了一种多路径o o s 路由的启发式算法的模型。实现了目标智能路由, 可以有效地均衡网络负载,提高网络资源利用率。 本论文共分七章,各章组织如下: 第一章给出了课题研究的目的、意义、研究现状,以及论文的组织结构。 第二章介绍了计算机集群和并行处理技术的发展、背景、意义及分类。 第三章介绍了中间件的概念、特点及分类;重点介绍了面向消息中间件的相关知 识。 第四章对s y b a s e 公司的m o b i l i n k 技术进行了介绍,介绍了m o b i l i n k 技术的传输 结构、同步过程、同步特性以及m o b i l i n k 技术的传输机制。 第五章提出了多路径q o s 路由的启发式算法,该算法能根掘网络负载状况动态选 路,有效地均衡网络负载,提高网络资源利用率,并能与传统路由算法良好共存,具 有较好的性能和自适应性。 第六章是本文的重点。介绍了系统设计思想及原理中间件的系统结构对本中间件 系统总体设计以及主要流程图在系统设计过程中涉及到的主要表以及表之间的关系中 间件的详细设计及实验结果分析。 第七章对全文工作进行总结,提出了需要进一步研究的问题和下一步的工作目标。 2 第二章计算机集群及并行处理技术简介 2 1 计算机集群简介 计算机集群简称集群,是一种计算机系统,它通过软件或硬件把多台计算机以特 殊的方式连接起来,协作完成指定的任务。集群分为同构与异构两种,它们的区别在 于组成集群系统的计算机之间的体系结构是否相同。对于用户而言,使用一个集群系 统就像使用一台计算机一样。位于集群系统中的计算机通常称为节点,节点之间通常 采用以太网或专用网络连接。 随着计算机技术的发展和广泛的应用,越来越多的依赖于计算机技术的应用系统 走进了人们的工作和生活中。在带来方便和效率的同时,也使得各行各业对计算机技 术的依赖程度越来越高。随着计算机技术以日新月异的速度发展,尽管单台计算机的 性能和可靠性越来越好,但仍然还有许多实际的应用仅靠单台计算机是难以实现的。 集群技术使用特定的连接方式,将相对于超级计算机便宜许多的计算机设备结合 起来,提供与超级计算机性能相当的并行处理技术。早在七十年代就有人提出可以使 用这种集群技术完成并行处理,但是由于受到当时网络交换技术的限制,在性能上集 群系统与其他并行处理系统相比相距甚远。直到a t m 技术、千兆位以太网技术逐渐成 熟的今天,集群系统才具备了与超级计算机相匹敌的能力。 目前对集群技术需求最迫切、发展最快的领域主要有:w w w 应用、数据库应用等 商业计算领域。 2 2 计算机集群的发展背景 计算机集群已经出现并运用了十年多了。早期的一种集群技术结构,g p f i s t e r 定 义了一种集群,“包括所有互连的计算机的一个并行或分发系统,它作为一个单一的、 统一的计算资源被应用”。几个服务器计算机连到一起成为一个单一的统一的集群,这 样使得共享一个计算负载成为可能,而用户或管理员不需要知道其实有几台服务器。 例如,如果任何一个集群服务中的资源出现了故障,集群作为一个整体会用集群中其 它一台服务器上的资源继续为用户提供服务,不管故障组件是硬件资源还是软件的资 源【5 1 。 换句话说,当一个资源出现了故障,连到集群服务的用户会经历暂时的性能降低, 但不会完全失去对服务的访问。随着更多的对处理能力的需要,管理员可以用一个滚 动升级过程添加新资源,在这个过程中集群作为一个整体对用户一直保持在线和可用, 升级后的集群性能会提高。 微软的市场调查表明,在中、小型企业中,数据库和电子邮件对他们的日常操作 变得非常重要,从而对高可用性系统的需求正在增长。安装和管理容易是这个规模的 组织的主要需求。同时,微软调查表明,在大企业中对具有高可用性和高性能的基于 w i n d o w s 的服务器的需求也正在增长。市场调查的结果导致集群服务作为一个 w i n d o w s 操作系统的集成组件发展。集群服务被用于小型和大型的企业,提供运行于 w i n d o w s2 0 0 0 和w i n d o w sn t 的应用程序的高可用性和易管理性。集群服务也提供用 于开发新的、集群感应的应用程序的应用界面和工具。 2 3 计算机集群技术的特点 计算机集群系统( c l u s t e r ) 是一种并行或分布式处理系统,由一组相互独立的、 通过高速网络互联的计算机组成,像一个单独集成的计算资源一样协同工作,是具有高 可用性和高可伸缩性的高性能计算机网络系统。和传统的高性能计算机技术相比,集 群技术可以利用各种档次的服务器作为节点,系统造价低,可以实现很高的运算速度, 完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需 求。 近十年出现了许多不同的支持高性能计算的计算机系统,最常见的系统有基于分 布存储的并行处理系统( m p p ) 、对称多道处理( s m p ) 和集群系统( c l u s t e r ) 。m p p 以系 统的伸缩性见长,s m p 的优点是结构简单,可用性好。c l u s t e r 的结构在可伸缩性和 可用性之间的兼顾与融合使其成为最成熟、适用范围最广的技术方案,在实际应用中 可以满足大多数用户的需求。相对于其他并行计算机系统而言,计算机集群系统具有 以下主要特点: 1 ) 可实现单一系统映像,即操作控制、i p 登陆点、文件结构、存储空间、i 0 空 间、作业管理系统等的单一化,提高了系统管理与操作的可用性和灵活性。 2 ) 在集群系统中可以动态的增减节点,从而最大限度的扩展系统以满足不断增长 的应用的需要。 3 ) 能够为用户提供不间断服务,系统可以监控和管理所有节点,自动隔离故障节 点并将其任务转移到其他节点,保证整个系统的连续运行;故障节点修复后,重新接 管任务。 4 ) 具有极高的性能价格比,和传统的大型主机相比,集群具有很大的价格优势。 5 ) 可用性是集群系统应用中最重要的因素,是评价和衡量系统的一个重要指标。 2 4 计算机集群的分类 目前应用最为广泛的计算机集群技术可以分为三大类:高可用性集群技术、高性 能计算集群技术和高可扩展性集群技术。下面对这三种集群技术做一简单的介绍。 ( 1 ) 高可用性集群技术 高可用性集群,是指以减少服务中断( 当机) 时问为目的的服务器集群技术。 4 随着全球经济的增长,世界各地各种各样的组织对计算机系统的依赖都在不断增 加,电子贸易使得商务一周七天2 4 小时不问断的进行成为了可能。新的强大的应用 程序使得商业和社会机构对日常操作的计算机化要求达到了空前的程度,趋势非常明 显,这需要不间断的、稳定的计算机系统。 这种需求的快速增长,使得对系统可用性的要求变得非常重要。现在许多公司和 组织的业务几乎完全依赖于计算机系统,任何的当机都会造成严重的损失,关键i t 系 统的故障可能会导致整个商业运作系统的瘫痪,因此每一分钟的当机都意味着收入、 生产和利润的损失,甚至是市场份额的减少。 可用性是指一个系统保持在线并且可供访问。有很多因素会造成系统当机,包括 为了维护而有计划的当机以及意外故障当机等,高可用性的目标就是使当机时间以及 故障恢复时间最小化。 ( 2 ) 高性能计算集群技术 高性能计算集群( h i g hp e r f o r m a n c ec o m p u t i n gc l u s t e r ,简称h p c c l u s t e r ) , 是指以提高科学计算能力为目的计算机集群技术。h p cc l u s t e r 是一种并行计算集群 的实现方法。并行计算是指将一个应用程序分割成多块可以并行执行的部分并指定到 多个处理器上执行的方法。目前的很多计算机系统可以支持s m p ( 对称多处理器) 架 构并通过进程调度机制进行并行处理,但是s m p 技术的可扩展性是十分有限的,比如 在目前的i n t e l 架构上最多只可以扩展到8 个c p u 。为了满足某些”计算能力饥渴”的 科学计算任务,并行计算集群的方法被引入到计算机界。著名的“深蓝”计算机就是 并行计算集群的一种具体实现。 ( 3 ) 高可扩展性集群技术 高可扩展性集群技术就是带均衡算法的服务器集群。负载均衡集群在多节点之间 按照一定的策略( 算法) 分发网络或计算处理负载。负载均衡建立在现有网络结构之 上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能 力,同时又可以避免单点故障。 以w e b 访问为例,后台的多个w e b 服务器上面有相同的w e b 内容。每个w e b 服 务器有相同的内容做起来不难,所以负载均衡算法选择是关键问题。 负载均衡的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人过度 劳累。但是与轮流值日制度不同的是,负载均衡是一种动态均衡,它通过一些工具实 时地分析数据包,掌握网络中的数据流量状况,把任务合理分配出去。对于不同的应 用环境,使用的均衡算法是不同的。所以均衡算法也就有了多种多样的形式,广义上 的负载均衡既可以设置专门的网关、负载均衡器,也可以通过一些专用软件与协议来 实现。在数据链路层上实现负载均衡的原理是根据数据包的目的m a c 地址选择不同的 路径;在网络层上可利用基于i p 地址的分配方式将数据流疏通到多个节点:而传输 层和应用层的交换( s w i t c h ) ,本身便是一种基于访问流量的控制方式,能够实现负载 均衡。 5 2 。5 计算机并行处理技术简介 并行处理是新一代计算机( 日本人叫第五代计算机) 的关键技术之一。在目前, 复杂的科学计算,大量的信号及图像处理和严格的高采样率的实时控制等许多领域中 的问题,都需要具有很高处理能力的计算机来完成。缩短器件的延迟时间,是提高计 算机速度的一个方面,但更重要的一个方面是改进计算机的体系结构,通过在时间上 重叠或资源重复来提高并行度,以实现高速处理1 5 t 。 并行处理计算机系统是指同时执行多个任务或多条指令或同时对多个数据项进行 处理的计算机系统。早期的计算机是串行逐位处理的,称为串行计算机。随着计算机 技术的发展,现代计算机均具有不同程度的并行性。并行处理计算机主要指以下两种 类型的计算机:能同时执行多条指令或同时处理多个数据项的单中央处理器计算机; 多处理机系统。 随着电子器件的发展,计算机的处理能力有显著提高。但是,仅仅依靠器件的进 展而达到的速度提高,远不能满足现代科学、技术、工程和其他许多领域对高速运算 能力的需要。这就要求人们改进计算机结构,采用各种并行处理技术,以便大幅度地 提高处理速度和解题能力。 并行处理计算机的结构特点主要表现在两个方面: 在单处理机内广泛采用各种并行措施; 由单处理机发展成各种不同耦合度的多处理机系统。 并行处理的主要目的是提高系统的处理能力。有些类型的并行处理计算机系统 ( 如多处理机系统) 还可以提高系统的可靠性。由于器件的发展,并行处理计算机系 统具有较好的性能价格比,而且还有进一步提高的趋势。 现在,并行处理技术几乎成了从工作站到巨型机的所有计算机的基本构筑技术。经 常使用的并行处理方式有下列几种:在微处理机内进行命令级的细粒度并行处理的超 标量( s u p e rs c a l a r ) 方式及超长指令v l i w 方式;在巨型机中使用的运算流水线 ( p i p e l i n e ) 即向量处理机方式;小巨型机、巨型机中使用的多处理机方式。这些处理 方式的共同特点是都需要软件的强有力支持。在有效发挥硬件的高处理性能方面,尤其 需要软件的支持。 由此可见,并行处理技术是一项核心技术,它使组织能够高效地管理和访问t b 级 的数据。如果不能提供高效的并行处理技术,大型数据库( 通常用于数掘仓库但也越来 越多地出现在业务系统中) 将不会存在。 2 6 小结 本章介绍了计算机集群和并行处理技术的发展、背景及意义,分布式海量数据并 行传输采用了计算机集群及并行处理技术,服务器节点呈层叠结构排列,分为调度 6 节点与子结点。在某个单位中,调度结点只有一个,调度服务器可能在下层搜寻负载 最轻的子节点和进行并行操作。子结点有多个,结点数可扩展,增加层内节点数目即 可提升系统处理大批量请求的能力。利用并行计算机与集群技术提高数据处理能力, 研究并行传输的处理模型和算法,实现任务的优化拆分与分配;研究并行处理机负载 与状态监控技术,动态调整系统负载,实现系统负载平衡。 3 1 引言 第三章中间件技术概述 随着计算机与网络技术的迅速发展,特别是在应用日益普及的情况下,现代企业 信息系统的分布性、异构性和自治性的特征越来越显著,对日常业务活动详细信息的 需求日益提高,而体系结构和分布式处理技术被广泛应用,以上这些情况都说明了这 样一个事实集中式信息处理的时代即将成为过去,取而代之的将是大规模的异构 分布式信息处理与应用执行环境。 企业的信息系统和以往相比,也有了巨大的进步。企业级的应用不再满足于单机 系统和简单的客户服务器系统,而是向着三层和多层体系结构的分布式环境不断迈进。 在分布式环境中,无论是硬件平台还是软件平台都不可能做到统一。大规模的应用软 件通常要求在软硬件各不相同的分布式网络上运行,为了更好的开发和应用能够运行 在这种异构平台上的软件,迫切需要一种基于标准的、独立于计算机硬件以及操作系 统的开发和运行环境,中间件技术就应运而生了。 中间件的引入源于分布式应用的需求,简而言之就是用于连接异构的客户到同一 个服务器上的软件总和。中间件能支持各种硬件平台、操作系统、网络数据库,使开 发者不必考虑操作系统,提高系统的可靠性和工作效率,降低开发成本并缩短开发周 期,从而更快地将产品投放市场。 3 2 中间件的特点 中间件具有如下特点1 6 j : 1 易于集成:中间件能无缝地连入应用开发环境中,应用程序可以很容易地定位和共 享中间件提供地应用逻辑和数据,满足大量应用的需要。 2 易于移植:中间件使与平台有关地细节对于应用程序来说是透明的,因此可以在不 改变应用程序代码地情况下改换计算机底层硬件、操作系统活通信协议。 3 易于演进:中间件实现的功能对应用程序来说是透明的,所以可以对局部进行改进 而不会影响到系统的其它部分。 4 高可靠性:中间件应该是可靠的,需要提供接管和恢复功能,保证事务及关键性业 务不被丢失。 5 易于使用:中间件能和同构或异构环境下的多种数据源通信,同时它能够管理数据 | 日j 的公共逻辑约束。它将用户从复杂的平台、网络、数掘库选择中解放出来。 由于标准接口对于可移植性和标准协议对于互改操作性的重要性,中间件已成为许 多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为 重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算 8 机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口 定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的 重大投资。 3 3 中间件的分类 中间件的分类方式很多,有些软件在中间件的概念产生以前就已经存在,有些软件 虽然不是作为中间件开发出来的,但是符合中间件的定义,也把它归于中间件的范畴。 1 9 9 8 年i d e 和g i g a 在各自的报告中给出了中问件的分类,按照i d c 的分类方法,中 间件可分为六类【7 】: 终端仿真屏幕转换 数据访问中间件 远程过程调用中间件 消息中间件 交易中间件 对象中间件 下面,针对上述六类中间件分别加以简要的介绍。 1 终端仿真屏幕转换 用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互 操作。 2 数据访问中间件 适用于应用程序与数据源之间的互操作模型,客户端使用面向数据库的a p i ,以 提请直接访问和更新基于服务器的数据源,数据源可以是关系型、非关系型和对象型。 这类中间件大都基于s q l 语句,采用同步通讯方式。此类中间件使应用开发简单化, 但如果透过广域网使用,则会带来严重的效率问题,因为在低速网上来回交互s q l 语 句会使通讯流量过大,同时对数据压缩、加密带来不便。 3 远程过程调用中间件( r e m o t ep r o c e d u r ec a l lm i d d l e w a r e ) r p c 机制是早期开发分布式应用时经常采用的一种同步式的请求应答协议。通过 这种协议,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程。r p c 扩展了过程语言中的“功能调用结果返回”的机制,使得它可以适用于一个远程环 境。由于r p c 机制是同步方式,因而在工作的时候,要求客户方和服务方均能正确工 作才能很好地运行,有一方不能工作将导致r p c 失败。在网络故障、机器故障存在的 情况下,这一要求是很难保证的。另外,由于大多数r p c 机制很难建立点到点的关系, 因而也很难用在面向对象的编程当中。 4 消息中间件( m e s s a g e - - o r i e n t e dm i d d l e w a r e ) 越来越多的分布式应用采用消息中间件来构建,通过消息中间件把应用扩展到不同 9 的操作系统和不同的网络环境。基于消息的机制更多地适用于事件驱动的应用,当一 个事件发生时,消息中间件通知服务方应该进行何种操作。其核心安装在需要进行消 息传递的系统上,在它们之间建立逻辑通道,由消息中间件实现消息发送。消息中间 件可以支持同步方式和异步方式,实际上是一种点到点的机制,因而可以很好的适用 于面向对象的编程方式。 5 交易中间件 是专门针对联机交易处理系统而设计的,如银行业务系统、定票系统等。联机交 易处理系统需要处理大量并发进程,处理并发涉及到操作系统、文件系统、编程语言、 数据通讯、数据库系统、系统管理、应用软件,交易中间件就是一组程序模块,用以 减少开发一个联机交易处理系统所需的编程量。 6 对象中间件( o b j e c tm i d d l e w a r e ) 传统的面向对象技术通过封装、继承及多态提供了良好的代码重用功能,但是这 些对象只存在一个程序中,外面的世界并不知道它们的存在,也无法访问它们。面向 对象的中间件就是要解决这些问题,面向对象的中间件提供一个标准的构件框架,能 使不同厂家的软件通过不同的地址空间、网络和操作系统交互访问。该构件的具体实 现、位置及所依附的操作系统对客户来说都是透明的。 3 4 消息中间件 面向消息的中间件( m e s s a g eo r i e n t e d m i d d l e w a r e ,m o m ) 是中间件中非常独特的 一类,它支持在一个分布式应用环境中多种用途的消息交换。在分布的计算进程之间, 消息是通过消息传递、消息排队两种方法,以同步或异步方式进行交换的。 m o m 作为一种基本的中间件,其基本功能就是使分布应用间的通信变得更容易。 虽然,m o m 支持同步和异步两种方式的消息传递,但它更趋向于使用队列进行异步消 息传递。m o m 将消息从一个应用发送到另一个应用,使用了队列来作为一个过渡。客 户消息被送到一个队列,并被一直保存在队列中,直到服务应用将这些消息取走。这 种系统的优点就在于当客户应用在发送消息时,服务应用并不需要运行。实际上,服 务应用可以在任何时候取走这些消息。此外,由于可以从队列中以任意顺序取走消息, 所以,m o m 就可更方便地使用优先级或均衡负载的机制来获取消息。m o m 也可以提 供一定级别的容错能力,这种容错能力一般是使用持久的队列,这种队列允许在系统 崩溃时,重新恢复队列中的消息。 基于消息的机制更多地适用于事件驱动的应用,当一个事件发生时,消息中间件 通知服务方应该进行何种操作。事件可以是一个请求,也可以只是一种警示。警示到 来后,即可进行某种处理,但不需等待应答。使用消息中间件编程采用的是消息中间 件的a p i ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) ,其可以很好地扩展到不同的操作系统和硬件平 台上。消息中间件的核心安装在需要进行消息传递的系统上,在它们之间建立逻辑通 o 道,由消息中间件实现消息发送。 中间件领域目前最热门的技术是异步的消息中间件。异步中间件技术比同步中间 件技术具有更强的容错性,在系统出现故障时可以保证消息的正常传输。异步消息中 间件技术可以分为两类:广播方式和发布,订阅方式。广播方式把消息分发给系统的所 有用户;发布订阅方式可以指定哪种类型的用户可以接收哪种类型的消息。发布订阅 方式由于更加智能有效,因而事实上己成为异步中间件的非正式标准捧j 。 3 5m o m 涉及的技术 中间件覆盖了处于操作系统和应用程序之间的广泛服务,再加上中间件是一个相 对较新的软件类别,所以不同种类的中间件的功能并没有被标准化。在目前主要的中 间件产品中,每一个产品都包含了不同的功能,所以很难定义出中间件的标准服务。 但是,下列一些技术在许多消息中间件产品中都是有用的。 消息传递( m e s s a g i n g ) 消息由一个发送者发送给接收者,消息是成块的数据,它至少包括消息体、发送者 和接收者。在形式上,消息可表现为一个小的数据包,亦可表现为一个很大的文件。 多路复用和排队机带t j ( m u l t i p l e x i n ga n dq u e u i n 曲 多路复用指一个接收者可以接收多个发送者发来的消息。 发送协议( s e n dp r o t o c 0 1 ) 发送协议是一个从发送方向接收方的单向协议,它不需要获得一个从接收方发来的 应答。 3 6 消息中间件的发展现状 随着信息技术的快速发展,各个行业已经建立起基于广域网络的信息管理体系, 应用范围不断扩大,由地方到省,由省到全国。在行业内部,业务信息出基层单位采 集,逐渐汇总,数据传输负载巨大。各行业间,业务交互同益频繁,信息资源共享、 信息资源的挖掘与利用的需求迅速增长。随着信息交换需求迅速增长,交换信息容量 的巨增,系统内部上下级数据库之问的数据传输和不同系统之自j 的数据交换已成为信 息系统发展的一个瓶颈,建立通用的、快捷安全、可靠而高效的传输通道,开发通用 数据传输平台成为确保庞大的网络信息体系正常运转、以及今后发展的关键问题。 在同益增长的数据传输与数据交换活动中,数据传输系统面i 临两大难题数据 库之间的一致性与数据交换的及时性。由于网络宽带、传输故障、电源、服务器及网 络设备故障、数据库及软件系统故障等原因导致系统瘫痪、数据丢失,造成数据库之 间数据不一致、系统无法运行;由于需传输的数据量过大、传输耗时过长,造成传输 频繁失败,信息更新不及时,影响业务系统的j 下常运行。 近几年,国内外中间件市场主要被两大国外厂商i b m 和b e a 垄断,他们在银行、 证券、电信等高端行业以及i t 等行业中得到广泛应用。前者凭借其在1 9 9 9 年推出的 应用服务器w e b s p h e r e ,扎根金融、证券等行业;后者则是一家专门致力于中间件开 发的公司,他的应用服务器产品w e b l o g i c 在美国市场占有率超过6 0 ,在国内电信及 证券行业占据主要地位。 消息传输中间件使用队列的方式进行消息管理,通常在进行数据传输时,将数据 按照同步或异步的通信方法发送或接收消息。在实际的操作过程中,为了保障消息可 靠传输,经常使用诸如消息优先级、断点续传、可靠消息队列、内存队列等技术,有 些产品还加入了流量控制、预建连接等功能。 m q s e f i e s 是i b m 公司的商业通讯中间件。m q s e r i e s 提供一个具有工业标准、安 全、可靠的信息传输系统。它的功能是控制和管理一个集成的商业应用,使得组成这 个商业应用的多个分支程序( 模块) 之间通过传递信息完成整个工作流程。m q s e r i e s 基 于由一个信息传输系统和一个应用程序接口组成,其资源是信息和队歹u ( m e s s a g i n ga n d q u e u i n g ) 。m q 能确保信息传输。事实上,m q s e f i e s 具有特殊的技术,防止信息重复传 送,确保信息一次且仅一次( o n c e a n d o n l y o n c e ) 传递。t o n g l i n k q 是北京东方通科技 公司开发的消息队y u ( m e s s a g eq u e u i n g ) 或消息传送( m e s s a g ep a s s i n g ) 的消息中间件。该 软件采用应用队列的方式,进行消息的存放和发送。应用队列是应用程序与 t o n g l i n k q 系统核心间交换数据的重要通道。t o n g l i n k q 包括了三个队列:一个用 于存放发送的消息,一个用于存放接收的消息,再一个用于接口与核心的协调通讯用。 对于需要进行可靠传输的消息,该软件采用可靠队列进行传输,也就是将消息登记在 可靠队列中,并对消息传送的优先级进行判断,在发送过程中遇到故障时,可以根据 可靠队列中登记的信息,重传消息,保证消息的可靠传输。国内外消息中问件技术不 断更新,产品正在由c s 结构向b s 结构过渡。 在传输功能方面,国内外流行的消息中间件尚不具备独立传输功能,数据打包与 解包、数据压缩加密、传输过程监控等工作需另外编制程序完成,存在着需要二次开 发、传输内容发生变动时修改困难、系统运行不稳定、维护工作量大等问题。 3 7 小结 本章介绍了中间件技术的产生背景、基本概念、分类以及发展等相关知识。其中, 对中间件的一个基本类型消息中间件( m o m ) 的相关概念和发展现状做了较为详细 地说明。已有的消息中阳j 件为当前流行的分布式应用系统提供了相对安全、稳定的消 息传输机制的基础上,也不同程度地存放着一定的共性问题:“二次”开发问题。我们 知道,不管是i b m 的m q s e r i e s 还是东方通的t o n g l i n k q 均是以自身集成的a p i 接 口进行编程的,每个公司在进行相应系统的数据传输模块设计时都需要根据不同的系 统进行相适应的编程需求,由此带来的资源浪费是不可估计的。其次,对于以上两种 占据传输市场较大的消息中间件产品本身的传输机制是以“数据”本身来进行传输的, 这种传输形式不可避免的存在着传输信息量过大、易丢失、传输速度慢等问题。 分布式海量数据并行传输采用了基于“日志”的传输,传输的上下级之间仅 在进行同步传输时,传输两级之间日志发生变化的记录,提高传输速度,与此同时也 减少了传输的信息量以及带来的一系列问题,并且进行了相应的封装建立较为通 用的数据传输平台,使用户可以经过一系列的配置来完成适用于本系统的数据传输的 子系统,而不再需要进行二次开发。 第四章s y b a s e 的m o b i l in k 技术的传输机制 m o b i l i n k 是一个基于服务器的同步化引擎,它可以通过串行口、t c p i p 、h r r p 、 h o t s y n c 、s c o u t s y n c 或a c t i v e s y n c 连接与远程客户通信。使用像m o b i l i n k 这样的通用 同步技术可以极大地削减开发费用,因为m o b i l i n k 能够处理高级的同步操作,比如瞬 象( s n a p s h o t ) 和时间戳同步、主键维持、冲突的检测和解决等。在服务器端,所有的 m o b i l i n k 同步逻辑都是通过使用后台数据库的s o l 的事件处理的( m o b i l i n k 通过 o d b c 连接数据库,所以事实上支持所有的s q l 数据库) ,通过使用c e r t i c o m 的 s s l f f l sp l u s 来支持公钥加密功能( 使用椭圆曲线加密系统技术) 。 4 1 m o b il n k 的传输结构 m o b i l i n k 是基于会话的同步系统,它允许在本地的主数据库与多个远程数据库 之间进行双向同步。m o b i l i n k 传输结构如图4 i 所示。 图4 1m o b i l i n k 传输结构图 以下对传输结构图中的各个部分进行简要地介绍。 统一数据库:统一数据库是用于存储所有数据的,统一数据库内的数据是主要的 同步对象,远程数据库只是统一数据库内的全部数据或是其中的一部分数据而已。另 外,在统一数据库内也有逻辑存在。如何进行数据可同步,如何解决数据库冲突的问 题等都是以程序的形式存储在统一数据库内。统一数据库可以是a d a p t i v es e r v e r a n y w h e r e ,也可以是使用o d b c 连接的数据库,如可以使用s y b a s ea d a p t i v es e r v e r e n t e r p r i s e ,o r a c l e ,m i c r o s o f ts q ls e r v e r ,i b md b 2 等,但是使用a d a p t i v es e r v e r a n y w h e r e 以外的数据库时,就需要做若干的设定,配置m o b i l i n k 系统表。 o d b c 连接:m o b i l i n k 同步服务器和统一数据库之间的所有通信都通过一个 1 4 o d b c 连接进行。o d b c 使用同步服务器可以使用多种统一数据库系统。 m o b i l i n k 同步服务器:m o b i l i n k 同步服务器( 简称m o b i l i n k 服务器) 是用于管 理m o b i l i n k 的所有处理程序。统一数据库与远程数据库之间并不能直接进行联机。 m o b i l i n k 服务器就成了这两者的接口,用来作为数据存取的中介,并控制与管理处理 程序。 o n e t w o r k :m o b i l i n k 服务器与远程服务器可以通过各种通讯协议进行通讯,如可 以使用序列联机( a c t i v e s y n e ,h o t s y n c ) 或是t c p ,i p ,h 兀p 等协议。 o m o b i l i n k 客户端:m o b i l i n k 客户端可分为两种,分别是a d a p t i v es e r v e r a n y w h e r e 和u l t r a l i t e 数据库。关于同步处理的逻辑部分,虽然它已经是存储在统一数据库内, 但是在客户端内也需要进行设定。在客户端的设定中,主要包括m o b i l i n k 用户( u s e r ) 、 发布( p u b l i c a t i o n ) 、订阅( s u b s c r i p t i o n ) 。 m o b i l i n k 用户是远程数据库的识别码,在每个远程数据库中各自设定不同的 m o b i l i n k 用户。 发布是远程数据库中用于标识要同步数据的数据库对象,由标识要同步的表和列的 项组成;依据发布的设定,可以上传数据。 订阅是一种数据库对象,它在远程数据库中作为发布和m o b i l i n k 用户之间的链接, 从而使发布所描述的数据实现同步。即用来设定m o b i l i n k 同步服务器的地址。 4 2m o b i l i n k 的同步过程 同步会话是m o b i l i n k 客户端和同步服务器之间的双向数据交换过程。此过程可分 为三个阶段:上传、下载和确认。同步过程如图4 2 。 图4 2m o b i l i n k 同步过程示意图 下面对传输过程进行简要地介绍: 1 将远程数据库的数据上传至m o b i l i n k 服务器上。同步是开始于远程客户端的。 具体而言,当m o b i l i n k 客户端开始执行同步时,远程站点上的m o b i l i n k 客户端就会 上载自上次同步成功后对远程数据库所作的更改。于是,m o b i l i n k 同步服务器作为上 传数据的接收方,在接收到这些数据时开始更新主数据库,进行一系列的数据项的增 加、删除、修改等操作。所有的更改将在一次事务中完成应用。此后,m o b i l i n k 同步 服务器将提交该事务。 2 将m o b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论