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

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

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

文档简介

摘要 随着信息化技术的不断发展,行业内部和行业间的业务数据量呈几 何级数递增,海量数据的传输与处理难题成为制约信息化产业扩大的瓶 颈,本文研究了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 i i n k a b s t r a c t w i t ht h ed 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 i q u e a m o u n to f o p e r a t i o nd a t ap r e s e n tg e o m e t r i cs e r i e si n c r e a s ei ni n d u s t r y i n s i d ea n da m o n go fi n d u s t r y t h ep r o b l e mo ft h em a s sd a t a t r a n s m i s s i o na n dd i s p o s a lb e c o m et or e s t r i c tb o t t l e n e c ko f i n f o r m a t i o ni n d u s t r ye x t e n d t h i sp a d e rr e s e a r c h e st h em o b i l i n k t e c h n i q u eo ft h es y b a s e ,a n db a s e do i lt h et e c h n i q u eo f m o b i l i n k ,f i n i s h e dt h ed e s i n ga n di m p l e m e n t a t i o no fp a r a l l e l t r a n s m i s s i o nm e s s a g em i d d l e w a r ef o rd i s t r i b u t e dm a s sd a t a s y s t e m a d o p t sm a n yt r a n s m i s s i o np r o c e s s o r st od i v i d et h ew o r kb yu s i n g p a r a l l e lt r a n s m i s s i o nw a y d e l i v e r i n gt h em i s s i o ni sd i v i d e di n t o l o t so fs u b - m i s s i o n ,i ts o l v e dt h ep r o b l e mo ft h em a s sd a t a t r a n s m i s s i o na n dd i s p o s a l t h es y s t e mb a s e do nd a t a b a s e s y n c h r o n u sm e c h a n i s i l l ,c o n f i g u r a t i o no fi s o m e r o u st r a n s i t i o n d a t a b a s e s ,c o n f i g u r a t i o nt e c h n i q u e so ft r a n s i t i o nd a t a ,i ts o l v e d i n c o m p a t i b l ed a t at r a n s m i s s i o ni ni s o m e r o u sd a t a b a s e ss y s t e mt o al a r g ee x t e n t ,s o l v e dt h ep r o b l e mw h i c hh a p p e n e db e c a u s eo f m i d d l e w a r ed i s a d v a n t a g e k e yw o r d s :m i d d i e w a r es y n c h r o n ym o b iii n k 长春理工大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,分布式海 量数据并行传输消息中间件的设计与实现是本人在指导 教师的指导下,独立进行研究工作所取得的成果。除文中 已经注明引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写过的作品成果。对本文的研究做出重要 贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律结果由本人承担。 作者签名:垄堑亟! z 年上月j 妇 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“长春理工大学 硕士、博士学位论文版权使用规定”,同意长春理工大学 保留并向国家有关部门或机构送交学位论文的复印件和 电子版,允许论文被查阅和借阅本人授权长春理工大学 可以将本学位论文的全部或部分内容编入有关数据库进 行检索,也可采用影印、缩印或扫描等复制手段保存和汇 编学位论文。 作者签名:盔查童! z 年土月丛日 :铷年鲫么日 第一章绪论 1 1 研究的目的和意义 随着信息技术的快速发展,各个行业已经建立起基于广域网络的、 分布式业务信息管理体系,它的应用范围不断地扩大,在行业内部,业 务信息由基层单位采集,逐级汇总,因此需要对海量数掘进行传输。各 行业间,由于电子商务、电子政务业务活动兴起和蓬勃发展,业务交互 日益频繁,信息资源共享、信息资源的挖掘与利用的需求迅速增长。系 统内部上下级数掘库之间的数据传输和不同系统之间的数据交换已成 为信息产业发展的一个瓶颈,根据上面的情况这就需要我们去研究一个 适应中国国情的而且费用低、网络条件要求不高的、能够支持海量数据 并行传输的消息中间件。因此建立通用的、快速而安全、高效而可靠的 传输通道,开发大型、支持海量数据并行传输的消息中间件就成为确保 庞大的网络信息系统正常运转的关键问题。本文是研究一种可行的技 术,屏蔽了底层分布式环境的复杂性与异构性,用户通过对相应的可视 化界面完成适合本系统的传输配置工作,使传输系统针对不同的应用系 统和不同的操作平台而不再需要进行重复开发,通过并行技术解决海量 数据传输存在的问题。 1 2 消息中间件研究现状 随着硬件设备、软件技术和网络技术的发展,带来了信息化发展的 新浪潮,人们感受到了计算机及网络技术所带来的好处,于是对电子化、 信息化应用的需求也越来越迫切。信息技术以其强大的渗透力,深入到 社会经济生活的各个方面。如商业、金融、制造业、运输业、零售业以 及卫生保健和政府部门等。各个行业已经建立起基于广域网络的、分布 式业务信息管理体系,行业内部、行业问业务交互闩益频繁,信息资源 共享、信息资源的挖掘与利用的需求迅速增长。建立通用的、快捷安全、 可靠而高效的传输通道,开发通用数据并行传输平台成为确保庞大的网 络信息体系正常运转、以及今后电予商务、电子政务全面发展的关键性 问题。 数据库之间的一致性与数据交换的及时性是数据传输系统面临的 两大难题。由于网络宽带、传输故障、电源、服务器及网络设备故障、 数据库及软件系统故障等原因导致系统瘫痪、数据丢失,造成数据库之 间数据不一致、系统无法运行;由于需传输的数掘量过大、传输耗时过 长,造成传输频繁失败,信息更新不及时,影响业务系统的正常运行i l j 。 消息中日j 件是目前中问件技术的发展热点。它适用于任何需要进行 网络通信的系统,负责建立网络通信的通道,进行数掘或文件发送。消 息中间件可以跨平台操作,为不同操作系统上的应用软件集成提供方 便,从而满足企业内部对系统伸缩性和可扩展性的要求。消息中间件在 目前的市场上占据主导地位,而且发展势头迅猛。消息中间件以其独特 的优势为各种分布式应用的开发注入了强大动力,极大地推动了应用系 统集成的发展【1 3 1 。此外,计算机硬件和操作系统的“后门”问题是所有 加密软件、身份认证、防火墙都控制不了的,而处于操作系统软件与用 户应用软件中间的中间件,相当于一个过滤层,所有的数据进出都要通 过这个过滤层。中间件是否可靠,将关系到所有数据是否安全,而把住 中间件这一关,也可能将来自“后门”的攻击拒之门外,为解决中国的 信息、安全问题提供一种可能的方法【l ”。 近几年,国内外中间件市场主要被两大国外厂商i b m 和b e a 垄断, 他们在银行、证券、电信等高端行业以及i t 等行业中得到广泛应用。 目前,m q m 的厂商包括i b m 、b e a 、清华北美、东方通科技、中科 国际等公司,产品主要有m q s e r i e s 、t d x e d q 、e l i n k t h m t 、 t o n g l i n k q 、a 2 e m q 等。其中,国内的中间件产品巳占据很大的市 场份额【l i 】。 微软消息中间件m s m q 可以在应用之日j 实现推送式的商务传输环 境,即使在可靠性不高的网络上也能建立可靠的应用。它具有易用、应 用高度集成的特点。i b m 的m q s e r i e s 中间件产品,以消息队列的方式 为分布式环境下实现程序之间的通信提供了灵活、快速并且易于使用的 解决方案。这种消息交换与硬件、操作系统无关,并能够保证数据既不 会丢失又不会被复制。 目前的中间件距其应遵循的一些原则还有较大距离,多数流行的中 间件服务使用专有的a p i 和运行平台,使得网络应用需建立在单一厂家 的产品上,来自不同厂家的产品很难实现互操作。应用开发者在这些中 间件服务之上建立自己的应用还需要承担很大风险。例如m i c r o s o t t 的 m s m q 只运行在w i n d o w s 系列平台上,而i b m 的m q s e r i e s 在其i b m 主机的u n i x 系统上运行 2 1 。而且,国内外流行的消息中间件尚不具备 独立传输功能,数据打包与解包、数据压缩加密、传输过程监控等工作 需另外编制程序完成,存在着需要二次丌发、传输内容发生变动时修改 困难、系统运行不稳定、维护工作量大等问题。并且它们的费用昂贵、 网络条件要求高、传输效率差。 2 1 3 本文的主要工作和组织 1 3 1 主要工作 本文的主要工作是设计与实现了基于s y b a s e 的m o b i l i n k 技术的通 用数据并行传输系统,实现广域网络中异构数据库系统间数据信息交 换,通过并行数据传输技术解决了海量数据传输的系统承载力问题,通 过数据库日志传输机制研究解决传输效率问题;通过研究异构传输数据 库配置与传输数据配置技术研究解决平台通用性问题,传输平台实现传 输数据库、传输数据灵活配置。 1 3 2 论文组织 本文共分六章,各章组织如下: 第一章:给出了课题研究的目的、意义,以及国内外研究现状:本 文的主要工作 第二章:介绍了中间件的概念、特点及分类;重点介绍了面向消息 中间件的相关知识。 第三章:对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 同步过程及同步特 性。 第四章;着重介绍m o b i l i n k 技术的传输机制。首先,介绍a s a 客 户端和同步服务器。其次,介绍了m o b i l i n k 同步脚本和同步过程技术。 最后,介绍了同步过程中冲突怎么处理,以及影响m o b i l i n k 性能的关键 因素。 第五章:是本文的重点。介绍了本中间件的系统设计思想及原理; 中间件的系统结构;对本中间件系统总体设计以及主要流程图;在系统 设计过程中涉及到的主要表以及表之间的关系:中间件的详细设计及实 验结果分析。 第六章:对全文工作进行总结,提出了需要进一步研究的问题。 3 第二章中间件技术 计算机系统最初阶段多是单机系统,多个用户是通过联机终端来访 问。随着网络的出现,产生了客户服务器的计算服务模式,多个客户 端可以共享数据库服务器和打印服务器等。随着计算机和网络技术的飞 速发展,许多软件需要在不同厂家的硬件平台、网络协议异构环境下运 行,应用的规模从局域网发展到广域网,应用范围面向一层和多层体系 结构的分布式环境,在分布式环境中,无论是硬件平台还是软件平台都 不可能做到统一,而大规模的应用软件通常要求在软硬件各不相同的分 布式网络上运行【8 1 。中间件产生以前,应用软件直接使用操作系统、网 络协议和数据库等开发,开发者不得不直接面对许多复杂棘手的问题, 如操作系统的多样性、繁杂的网络程序设计和管理、复杂多变的网络环 境、数据分散处理带来的不一致性问题等,这些与用户的业务没有直接 关系,但又必须解决,耗费了大量的时间和精力,因此开发者迫切需要 一种趋于标准的、独立于计算机硬件以及操作系统的开发和运行环境, 于是,中间件技术应运而生。 2 1 中间件的概念和特点 中间件处于操作系统软件与用户的应用软件中间。中间件在操作 系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上 层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集 成复杂的应用软件l 2 i 。 2 1 1 中间件概念 由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精 确的定义,比较流行的定义是:中间件是一种独立的系统软件或服务程 序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件 位于客户机服务器的操作系统之上,管理计算资源和网络通信1 7 j 。因此, 如果用一种比较形象方式表示的话:中日j 件= 平台十通信。 中间件的核心思想是分层,通过在应用层与底层基础软件间增加一 层,屏蔽底层复杂的技术细节,实现对底层的透明访问,为应用的开发、 部署与管理提供支持。从上述定义不难看出,中日j 件是一类基于分布式 技术的系统软件或软件平台,而非一种应用软件;中间件是一种分布式 计算平台,涉及多种资源,包括各种操作系统、数掘库、网络协议甚至 语言,其目标是在分布计算环境中实现应用互连、资源共享、协同工作 4 和互操作嘲。 目前中间件的发展速度是惊人的,它已与操作系统、数据库一起成 为基础软件领域的三大支柱。中问件作为构筑企业信息系统和电子商务 系统的基石和核心技术。特别是在最近几年,分布式应用软件大多都是 在中间件基础上开发的。 2 1 2 中间件特点 通常含义下,中间件具有以下一些特点 9 1 ; 1 易于集成 中间件能无缝地连入应用开发环境中,应用程序可以很容易地定位 和共享中间件提供地应用逻辑和数据,满足大量应用的需要。 2 易于移植 中间件使与平台有关地细节对于应用程序来说是透明的,因此可以 在不改变应用程序代码的情况下改换计算机底层硬件、操作系统和通信 协议。 3 易于演进 中间件实现的功能对应用程序来说是透明的,所以可以对局部进行 改进而不会影响到系统的其它部分。 4 高可靠性 中间件应该是可靠的,需要提供接口和恢复功能,保证事务及关键 性业务不被丢失。 5 易于使用 中间件能和同构或异构环境下的多种数据源通信,同时它能够管理 数据闯的公共逻辑约束。它将用户从复杂的平台、网络、数据库选择中 解放出来。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中 间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远 比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相 对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换 代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用 软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重 大投资。 2 2 中间件的分类 中间件的种类很多,根据中间件在系统中所起的作用和采用的不同 技术,大致划分为以下五类嗍。 1 数据库中间件( d m ) 数据库中间件在所有的中间件中是应用最广泛、技术最成熟的一 种。一个最典型的例子就是o d b c 。它是一种基于数据库的中间件标准, 允许应用程序和本地或者异地的数据库进行通信,并提供了一系列的应 用程序接口a p i 。 这种方式虽然是灵活的,但是并不适合于一些高性能处理的要求, 系统灵活性的提高是以处理性能的降低为代价的。 2 远程过程调用中间件( r p c ) 它在客户,服务器计算方面,比数据库中间件又迈进了一步。它已 经存在了相当长的时间,而且沿用了大多数程序员都非常熟悉的编程模 式,程序员在程序中调用远程过程就像调用本地过程一样。远程过程调 用还可以将程序的控制传递到远端的服务器。 它一般用于应用程序之间的通信,而且采用的是同步通信方式,因 此比较适合小型的简单应用。但是对于一些大型的应用,这种方式就不 是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操 作、缓冲、流量控制以及进程同步等一系列复杂问题。 3 面向消息中间件( m o m ) 和远程过程调用相比,消息中间件不支持程序控制的传递。其优点 在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻 都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一 步的原因。消息中间件适用于需要在多个进程之间进行可靠的数据传送 的分布式环境。 4 基于对象请求代理的中间件( o r b ) 对象请求代理是近年来才发展起来的一项新技术,它可以看作和编 程语言无关的面向对象的r p c 应用,被视为从面向对象过渡到分布式 计算的强大推动力量。从管理和封装的模式上看,对象请求代理和远程 过程调用有些类似,不过对象请求代理可以包含比远程过程调用和消息 中间件更复杂的信息,并且适用于非结构化或非关系型的数据。 5 事务处理中间件( t p m ) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布 式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理 的a p i ,程序员可以使用这个程序接口编写高速而且可靠的分布式应用 程序一一基于事务处理的应用程序。事务处理中间件向用户提供一系列 的服务,如应用管理,管理控制、以及应用程序间的消息传递等。 6 2 3 面向消息中间件 2 3 1 面向消息中间件概念及工作原理 面向消息中间件( m o m ) 指的是利用高效可靠的消息传递机制进行 平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过 提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信 【4 】。 面向消息的中间件较好的解决了同步通信、客户和服务对象的生命 周期紧密藕合、点对点通信的问题【5 】。发送者将消息发送给消息服务器, 消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接 收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生 命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候 发送者也不一定运行;一对多通信:对于一个消息有多个接收者p j 。 消息中间件的工作原理是:应用之间以一系列消息的方式进行通 信。在发送者和接收者的传送过程中,消息保存在队列中,避免在传送 过程中消息丢失,并且为接收者查看消息提供了一个区域,应用把消息 发送到与接收者相关的队列中去,如果发送者想及时得到反馈,他们就 要把接收返回消息的队列名称包含在所有他们发送的消息中。消息传递 机制要保证将发送者的消息传送到目的地。在消息传递中,应用组件之 间不必建立直接的联系,也就是发送方将消息放入队列中,然后接收方 自己从队列中提取消息。发送方在发送消息时不必关心接收方是否处于 接收状态“o l 。 消息中间件能在不同平台之间通信,实现分布式系统中可靠的、高 效的、实时的跨平台数据传输,常被用来屏蔽掉各种平台及协议之间的 特性,进行相互通信,实现应用程序之间的协同1 1 2 j 。消息中间件适用于 需要在多个进程之间进行可靠的数据传递的分布式环境,越来越多的分 布式应用采用消息中间件来构建,通过消息中间件来把应用扩展到不同 的操作系统和不同的网络环境。基于消息的机制更多地适用于事件驱动 的应用,当一个事件发生时,消息中间件通知服务方应该进行何种操作。 消息中间件的任务除了以其高可靠性、高安全性传递消息之外,还 应包括如下服务:完成不同系统之间的数据转换、加密解密、支持消 息驱动处理模式的触发机制、向多个应用广播数据、发布订阅、错误恢 复、网络资源定位、消息和请求的优先排序以及广泛的错误查询机制等。 其中发布订阅是一种消息传递常用的形式,在这种形式中,应用对其感 兴趣的主题进行登记,一旦主题被一个应用“订阅”,那么这个应用就 会接收到与该主题相关的消剧w 1 。 7 2 3 2n o m 的主要特点和作用 消息中间件属于中间件的一种,拥有中间件的主要特点,但是自身 的工作机制又具有特殊性,主要特点包括以下几个方面【4 】: 1 异步传送; 2 防御通信; 3 并发执行; 4 日志通信; 5 多种通信方式; 6 应用程序与网络复杂性相隔离; 它的作用主要体现在以下几点: 1 存储和转发通信 m q m 能使应用程序向其他应用程序发送请求,而那些应用程序不 必正在运行或是可到达。 2 防御通信 m q m 软件使用强大的技术来保证消息在传送中不会丢失,打乱顺 序或重复传送。 3 并发执行 使用m q m ,应用程序可以向许多不同的接受方发送请求而不必等 待响应;等待接受方可以平行地处理请求;当所有的响应消息都到达时, 或无论什么时候只要方便,应用程序就处理结果。 4 日志通信 m q m 产品可以产生只志,以利于记录,核查和错误恢复。 2 4 小结 本章介绍了中间件技术的产生背景、基本概念、特点及分类等相关 知识。其中,尤其对于消息中间件( m o m ) 的相关概念、主要特点和发展 现状做了较为详细地说明。已有的消息中间件可以实现实时通讯传输和 可靠通讯传输,为分布式应用提供实时、高效、可靠的、跨越不同操作 系统、不同网络的消息传送服务,但也不同程度地存放着一定的共性问 题。我们知道,不管是i b m 的m q s e r i e s 还是东方通的t o n g l i n k q 都 使用专有的a p i 和运行平台,虽然网络a p l 支持同步通讯和异步通讯, 但它没有提供编码数掘设备以使多个平台上不同数据表示的应用程序 可以理解这些数据,这样用户还必须为打包和传送请求以及解包和把请 求传递例程而编写代码,可能还要做大量的缓冲区操作并注意不同平台 的细小差别,由此带来的资源浪费是不可估计的。其次,上面两种占据 8 传输市场较大份额的消息中间件产品本身的传输机制是以“数据”本身 来进行传输的,这样不可避免地会造成传输速度慢,当需要大量交换数 据时,更容易引起传输数据延迟、易丢失等问题。 针对上面存在的问题,我们引入一种新的消息中间件技术一一 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 技术是基于“同志”传输,传输的上下级之问 进行同步传输时,传输日志发生变化的记录,从而提高了传输速度,减 少了传输的信息量。最后,对于信息交换量的巨增,采用了并行传输技 术来解决大量传输数据的问题。对于m o b i l i n k 技术的详细说明以及基 于此技术的分布式海量数掘并行传输消息中间件的设计部分将在以下 几章中给予介绍。 9 第三章s y b a s e 的m o b i ii n k 技术概述 s q la n y w h e r es t u d i o 拥有先进的技术可用于在企业系统和远 程设备之间进行可伸缩的、双向的信息同步。m o b i l i n k 是一个基于服 务器的同步化引擎,它可以通过串行口、t c p i p 、h t t 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 能够处理 高级的同步操作,比如瞬象和时间戳同步、主键维持、冲突的检测和解 决等。在服务器端,所有的m o b i l i n k 同步逻辑都是通过使用后台数据 库的s q 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 t l sp l u s 来 支持公钥加密功能( 使用椭圆曲线加密系统技术) 。 3 1m o b ii _ n k 同步组件及术语 在同步环境下,通过m o b i l i n k 来实现,s q la n y w h e r es t u d i o 的 m o b i l i n k 提供了高灵活性的数据库同步功能,支持复杂关系的数据复 制和中心、远程的数掘处理。 3 1 1m o b i ;n k 同步组件 m o b i l i n k 同步组件如下图: 幽3 1m o b i l i n k 同步组件 i o 下面分别对各个部分作简要说明: 1 统一数据库 此数据库包括同步系统中所有信息的集中副本。应用程序与一个中 央统一数据库同步。在同步系统中,此数据库是信息的主存储库。统一 数据库可以是a d a p t i v es e r v e ra n y w h e r e 或者a d a p t i v e s e r v e r e n t e r p r i s e ,也可以是用o d b c 连接的数据库,如o r a c l e 、i b md b 2 或 m i c r o s o f ts q ls e r v e r 。但是使用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 l i n k 系统表和存储过程。 2 统一数据库服务器 管理统一数据库的服务器或d b m s 。此服务器可以是s y b a s e 产 品,如a d a p t i v es e r v e ra n y w h e r e 或a d a p t i v es e r v e re n t e r p r i s e 3 o d b c 连接 m o b i l i n k 同步服务器和统一数据库之间的所有通信都通过一个 o d b c 连接进行。o d b c 使同步服务器可以使用多种统一数据库系统。 4 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 同步服 务器对同步过程进行控制。每当客户端同步时,将有一系列预先定义的 事件发生。您可以通过编写同步脚本自定义同步过程,并将这些脚本存 储在统一数据库中。脚本通常为s q l 语句或存储过程,存储在统一数 据库中。您可以在一个预定义序列中将每个脚本与特定事件相关联。只 要发生该事件,m o b i l i n k 同步服务器将自动执行您编写的脚本 5 网络 m o b i l i n k 同步服务器d b m l s r v 9 与m o b i l i n k 客户端d b m l s y n e 之间的连接,可以使用多种协议。如可以使用序列联机( a c t i v e s y n c , h o t s y n e ) 或是t c p i p , r r t p 等协议 6 m o b i l i n k 客户端, 每个远程数据库连同其应用程序一起被称为一个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 r 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 同步服务器的客户端。 发布就是标识将要同步的数掘的数据库对象。发布由一些项目构 成,这些项目是表的列或行的子集,或者是既包括列又包括行的子集。 每个发布可包含一个或多个完整的表,或包含一个或多个由选定的行和 列组成的非完整表。 同步预订用于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 服务器的地址及任 何同步预订所需的选项 3 1 2m o b j l i n k 术语 为了在下面的章节中描述方便,有必要对m o b i l i n k 的一些基本术 语做简单的介绍。 1 远程数据库 与统一数据库交换同步消息的a d a p t i v es e r v e ra n y w h e r e 数据库。 远程数据库可能会共享统一数据库中的全部或部分数据。 2 客户端通信流 客户端可以通过多种通信协议与同步服务器进行通信。 3 下载 同步过程的一个阶段,在此阶段数据从统一数据库传送到远程数据 库。 4 脚本 编写来处理m o b i l i n k 事件的代码。脚本通过程序控制数据交换, 以满足业务需要。 5 同步 在多个数据库之间协调数据,使其最终保持数据表示形式一致性 的过程。 6 基于会话的同步 一种同步类型,此类型同步实现了数据表现在统一数据库和远程数 据库之间保持一致。 7 事务完整性 确保对整个同步系统进行事务维护。要么同步整个事务,要么不进 行任何同步。 8 上载 同步过程的一个阶段,在此阶段数据从远程数据库传送到统一数 据库。 3 2m o b il n k 同步过程 同步会话是m o b i l i n k 客户端和同步服务器之间的双向数据交换 过程。在此过程中,客户端必须建立并维护与同步服务器的连接。如果 成功,此会话将使远程数据库和统一数据库保持相互一致的状态【2 5 1 。同 步遵循三个步骤;上传数据、下载数据、确认。 图3 2m o b i l i n k 同步过程示意幽 当m o b i l i n k 远程站点打开与m o b i l i n k 同步服务器的连接时,通 常便开始了同步过程。 1 上传数据: 将远程数据库的数据上传至m o b i l i n k j l 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 客户端将一个列出所有这些更改的列表上 载到同步服务器。m o b i l i n k 同步服务器接收上载流并将更改应用于统 一数据库中。所有的更改将在一次事务中完成应用。此后,m o b i l i n k 同 步服务器将提交该事务。 其中上载流由远程数据库中被修改的各行的新行值和旧行值组成。 如果某行被更新或删除,旧行值是指上次成功同步后时的那些值。如果 某一行被插入或更新,新行值是指当前的行值。即使在到达当前状态之 前,行已经更改过数次,也不会发送任何中间值。 2 下载数据: 将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 客户端插入、更新或删除的一组行。它将这些 行下载至u 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 客户端将自动对下载流进行处理,删除旧行、插入新行以及 更新已更改的行。所有的更改将在远程数据库中的一个事务中完成应 用。此后,m o b i l i n k 同步服务器将提交该事务。 3 可选的下载确认: 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 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 同步服务器的连接时,通 常便开始了同步过程。同步期| 日j ,远程站点的m o b i l i n k 客户端将上载 自上一次同步以来对远程数据库所作的更改。m o b i l i n k 同步服务器在 收到这些数据时开始更新统一数据库,然后将统一数据库中的更改下载 到远程数据库。 3 3m o b iii n k 的同步特性 下面是m o b i l i n k 同步的一些特征i 硐: 1 双向同步 可以在任意位置对数据库进行更改。 2 远程启动 可以在一个远程数据库启动该数掘库和统一数据库之间的同步。 3 基于会话 1 4 所有更改的上载和下载都分别在单个事务中完成。每次同步成功完 成后,统一数据库和远程数据库将保持一致。 4 事务完整性 要么同步全部事务,要么不进行任何同步。这样就确保了每个数据 库中的事务完整性。 5 擞据一致性 m o b i l i n k 使用松散一致性策略来进行操作。所有更改经过一段时 间后将在每个站点中保持一致,从而实现同步,但在任一瞬时不同的站 点可能拥有不同的数据副本。 6 范围广泛的硬件和软件平台 多种广泛使用的数据库管理系统都可以用作m o b i l i n k 统一数据 库:a d a p t i v es e r v e ra n y w h e r e 、a d a p t i v es e r v e re n t e r p r i s e 、o r a c l e 、 i b md b 2 或m i c r o s o f ts q l s e r v e r 。远程数据库可以是a d a p t i v e s e r v e ra n y w h e r e 数据库或u l t r a l i t e 数据库。m o b i l i n k 同步服务器 可在w i n d o w s 或u n i x 平台上运行。a d a p t i v es e r v e ra n y w h e r e 可在 w i n d o w s 、w i n d o w s c e 或u n i x 机器上运行。 7 灵活性 m o b i l i n k 同步服务器使用s q l 、j a v a 或n e t 脚本来控制数据的 上载和下载。该脚本在每次同步期间将根据事件模型执行。 8 可伸缩性和性能 m o b i l i n k 同步服务器支持多线程,并且通过负载平衡功能,多个 m o b i l i n k 服务器可以同时运行。 3 4 小结 本章介绍了m o b i l i n k 同步组件、同步特性以及同步传输的过程。 s q la n y w h e r es t u d i o 的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 数据库与众多的企业数据源( 包括a d a p t i v es e r v e r a n y w h e r e 、s y b a s ea d a p t i v es e r v e re n t e r p r is e 、o r a c l e 、m i c r o s o f t s q ls e r v e r 和i b md b 2 ) 之间的安全、双向的信息交换提供了保证。远 程系统通过标准的i n t e r n e t 协议与m o b i l i n k 同步服务器连接,而 g o b i l i n k 同步服务器通过o d b c 与后端数据库进行通信。强大的1 2 8 位 加密技术( 可选) 可以用来保证数据在传输中的绝对安全性。 我们在了解了m o b i l i n k 同步技术之后,了解其同步传输机理并为 我们所用成为关键性的问题,因此我们将在第四章对m o b i l i n k 技术的 传输机制做以介绍。 1 5 第四章m o b iii n k 技术的传输机制 m o b i l i n k 技术一种基于发布订阅方式的异步消息中间件技术。 m o b i l i n k 是基于会话的同步系统,它允许在称作统一数据库的主数据 库与多个远程数据库之间进行双向同步。 4 1a d a p t i v es e r v e ra n y w h e r e 客户端和同步服务器 在同步时,远程站点的m o b i l i n k 客户端将上载白上一次同步以来 对远程数据库所作的更改。m o b i l i n k 同步服务器在收到这些数据时开 始更新统一数据库,然后将所有相关的更改发送回远程站点。下面分别 介绍客户端和同步服务器。 4 1 1a s a 客户端及同步参数 远程数据库连同其应用程序一起被称为m o b i l i n k 客户端。本文只 用a d a p t i v es e r v e ra n y w h e r e 类型的m o b i l i n k 客户端。在启动同步 之前,客户端的设定主要包括m o b i l i n k 用户、发布、同步预订。之后 运行名为d b m l s y n c 的命令行实用程序即可启动同步。此实用程序将连 接到远程数据库,然后利用远程数据库中的事务日志中包含的信息准备 上载流。然后,该实用程序利用存储在同步发布及同步预订中的信息与 m o b i l i n k 同步服务器连接并交换数据。 d b m l s y n c 实用程序将a d a p t i v es e r v e ra n y w h e r e 远程数据库与 统一数据库同步, 语法: d b m l s y n c 【o p t i o n s 】 t r a n s a c t i o n l o g s - d i r e c t o r y 表4 1 是m o b i l i n k 客户端主要参数说明。 表4 1m o b i i i n k 客户端主要参数 选项说明 cc o n n e c t i o n - s t r i n g - d i - e ”k e y w o r d = v a l u e ;” - e k k e y 唧 - if i l e n a m e - k mp a s s w o r d 数据库连接参数 在控制台上显示日志消息 指定扩展选项 指定加密密钥 提示输入加密密钥 同步后立即执行包含s o l 语句的文件 完成时关闭窗口 指定新的m o b i l i n k 口令 1 6 m pp a s s w o r d n n a m e - oi o g f i l e - o rl o g f i l e p i q - r aj b 】 - um lu s e m a m e s i cr o we s t i m a t e - v 1 e v e l s l - x t r a n s a c t i o n - l o g s - d i r e c t o r y 指定m o b i l i n k 口令 指定同步发布名称 将输出消息记录剑该文件 截断该文件并将输山消息记录到该文件 测试您是否可以连接到m o b i l i n k 以最小化窗口运行 客户端进程的上载重试 指定执行同步的m o b i l i n k 用户 允许您指定和估计要上载的行 详细操作 重新命名并重新启动事务日志 指定事务日志的位置 在命令行中运行d b m l s y n e 以将a d a p t i v es e r v e ra n y w h e r e 远程 数据库与统一数据库同步。为找到并连接至m o b i l i n k 同步服务器, d b m l s y n e 使用有关发布、同步用户、同步预订或命令行的信息。 4 1 2m o b i 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

温馨提示

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

评论

0/150

提交评论