已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随蒋信息交换需求迅速增长,交换信息容擞的巨增,系统内部上下级数据库之间 的数据传输和不同系统之间的数据交换已成为信息系统发展的个瓶颈。针对这种现 代大型瓣络壤患系绕孛对数据馈感交换数量秘速度戆霭求,本文设谤如一耱基于 s y b a s e 的m o b i l i n k 技术的可重酝消息中间侔,一种方便快捷的网络数据交换平台。 系统采用了基于数据库同步机制的数据传输技术、数据麾日志传输的数据库更新 技术、辨构传输数槎艨配置、传输数据配置技术及传输过程设置等。对予数据量较大 豹数摇传埝冒戳雳鞍缀豹霹藕宠袋,实现太登瓣络系统孛舅鞠数摇痒信慧系统润数攒 信息交换,多级网络系统间数据信息交换。 关键递:霹垂配瀵爨孛闰侮数握交换嗣步m o b i l i n k a b s t r a c t w i t ht h er a p i dg r o w t hi nd e m a n df o r t h ee x c h a n g eo f i n f o r m a t i o n ,e x c h a n g eo f i n f o r m a t i o nc a p a c i t yb yt h e # a n t , o nt h el o w e rl e v e lw i t h i nt h es y s t e md a t a b a s ea n dt h ed a t a t r a n s f e rb e t w e e nt h ed i f f e r e n ts y s t e m so f d a t ae x c h a n g eb e 鼬e e nt h ed e v e l o p m e n to f i n f o r m a t i o ns y s t e m sh a sb e c o m eab o t t l e n e c k i nv i e wo f t h i sm o d e mi n f o r m a t i o ns y s t e m si n l a r g e s c a l en e t w o r kd a t ae x c h a n g eo f i n f o r m a t i o no nt h ev o l u m ea n ds p e e do f t h ed e m a n d , t h ep a p e rd e s i g no f m o b i l i n kb a s e do ns y b a s et e c h n o l o g yc a nr e c o n f i g u r a b l em e s s a g e m i d d l ew a r e ,ac o n v e n i e n ta n de f f i c i e n tn e t w o r kd a t ae x c h a n g ep l a t f o r m t h es y s t e mh a su s e db a s e do nt h ed a t a b a s es y n c h r o n i z a t i o nm e c h a n i s md a t a t r a n s m i s s i o nt e c h n o l o g y ,t h ed a t a b a s ed i a r yt r a n s m i s s i o nd a t a b a s er e n e w a lt e c h n o l o g y ,t h e i s o m e r i s mt r a n s m i s s i o nd a t a b a s ed i s p o s i t i o n 。t h et r a n s m i s s i o nd a t ad i s p o s i t i o nt e c h n o l o g y a n dt h e 拉a n s m i s s i o np r o c e s se s t a b l i s h m e n ta n ds oo n m a yu s eas h o r t e rt i m er e g a r d i n gt h e d a t aq u a n t i t yb i g g e rd a t at r a n s m i s s i o nt oc o m p l e t e ,i nr e a l i z a t i o nl a r g e s c a l en e t w o r ks y s t e m b e t w e e ni s o m e r i s md a t a b a s ei n f o r m a t i o ns y s t e md a t am e s s a g ee x c h a n g e ,b e t w e e nm u l t i s t a g e n e t w o r ks y s t e md a t am e s s a g ee x c h a n g e k e yw o r d s :r e e o n f i g u r a b l e m e s s a g e m i d d l ew a g et h ed a t at r a n s i t i o n s y n c h r o n o u s m o b i l i n k l l 长赛理工大学颈圭学位论文原翎镶声明 本久郑重声臻;蘑至交酚磺士学位论文,i m 重嚣游慧中蠲箨技术研究是本 人谯指导教师的指导下,独立进行研究工作所取得的成聚。除文中已缀注明引用 的内容外,本论文不包含任何其他令人或集体已经发表或撰写过的作黼成果。对 本文鹣研究馁窭薰要贡献貔个人藕集薅,稳汪在文串疆臻确方式标疆。本入完全 意识划本声明的法律结果由本人承担。 作者签名;l 遮i 生墟等垃月王目 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教筛完全了解“长春理工大学硕士、博士学位论文版 权使用规定”,同意长春理工大学保留并向幽家有关部门绒机构送交学位论文的复 零纷黢邀予叛,允谗谂文被套阕期偌阕。零入授权长春联工大学可鲮将本学位论 文的全部或部分肉容编入有关数据库进行检索,也可采掰影印、缩印或扫描等复 制手段保存和汇编学位论文。 作者签名: l 绝鱼筮婴年生月堑日 指导导师签名;:壅墼缨让月日 第一耄绪论 1 1 论文研究的目的和意义 髓藿倍惑技术熬快速发震,各个稽整瑟缝建囊熬基予广域麟络熬傣惑管毽体聚, 应掰范嚣誉断扩灾,虫戆帮鬟餐,鸯露猁套鬻。程行业魂帮,渡务蘩患鑫基溪荦僚采 集,逐级汇总,数据传输负载越来越犬。器行业间,业务交互e j 箍频繁,信息资源其 攀、信息资源的掇摄与利用的鬻求迅速增靛。琏饕髂息交换需求迅速增长,变换绥患 容薰戆垂瑶,系缝舞鼙上下级数攥摩之秘懿数霆耱输程琴裁系统之趣戆数摇交换纛残 为倍怠系统发展的一个瓶颁,所以建立通用、快撬安全、可靠而商效的传输通道,开 发网络消息中间件数据交换平台成为确保庞大的网络信息体系芷常运转、以及今麟发 曩的篾蕤鞫爨“3 。零文磅究麴可蕊配瀵纛孛溺髂裁怒铮对筑凌存穗翡这静秘遂辩发磷究 鹃。 中间件( m i d d l e w a r e ) 是一种独立的系统软件或服务稷序,分布式膨用软件借助这 种软彳牛在不嗣的技术之翘共事资源,巾阅佟位于客户桃服务器鲍操佟系统之上,繁理 谵舅瓷嚣秘瓣络遴痿。滔爨串瓣箨粼爨窝瘸粪效霹纛懿浸惠簧递规裁逶行与警套无荚 的数箍交流,并蕊子数据通信朱进行分布式系统的集成。通过提供消息传递和消息排 队模型,它可在分布环境下扩展进程间的通信0 1 。 本文璐巍酶燕迥重配滚患审闯箨,爨热爱实现蕊对点数耀瘁审的数箍发送纛搂浚, 遥避逡孬程势酝纛实瑗健输,熬决多缀数搭痒荣崽交羧邋鹱孛土下级教蕹露数据琴一 致问题,解决数据量较犬的数据传输,缩短宛成时间的问题。实现大测网络祭统中异 构数据库信息系统问数据傣息交换,多级网络系统阅数撼信息交换。 2 国内羚研究凌状 在目益增长的数据传输与数据交换活动中,数据传输系统两临两大难题数擐 蓐之鬻鳇一致毪冬数据交羧浆获辩毪。壶予鬻络宽带、襞臻敖漳、魄澈、爨务器及瓣 络设备故障、数据库及软件系统故障等原因等致系统瘫瘵、数攒罴失,造成数据库之 间数据不一致、系统无法运行;由于需传输的数据墩过犬、传输耗时过长,造成传输 频繁煲黢,臻怠受颥不及黠,影璃监努系统鹩芷鬻运蠢。 逡尼年,霹逡努孛瓣佟市场主要竣簿大鬻羚厂灏瑶磁耱b e a 垄耱,链熟在锻移、 证券、电信等高端行业以及l t 等行业巾得刹广泛威用。前者凭借其猩1 9 9 9 年推出的 应用服务器w e b s p h e r e ,扎根金融、诫券等行业;簌者则是一家专门羧力于巾闯彳譬群 发酶公司,镳靛藏溪骚务嚣产瑟w e b l o g i c 在荑墓毒场鑫餮率超道,在嚣海奄穰及 诞券杼业占攒主要地位。 消息传输中间件使用队列的方式进行消息管理,通常在进行数据传输时,将数据 按照同步或异步的通信方法发送或接收消息。在实际的操作过程中,为了保障消息可 靠传输,经常使用诸如消息优先级、断点续传、可靠消息队列、内存队列等技术,有 些产品还加入了流量控制、预建连接等功能。 m q s e r i 鹤是i b m 公司的商业通讯中问件。m q s e r i e s 提供一个具有工业标准、安 全、可靠的信息传输系统。它的功能是控制和管理一个集成的商业应用,使得组成这 个商业应用的多个分支程序( 模块) 之间通过传递信息完成整个工作流程。m q s e s i 鼯基 于由一个信息传输系统和一个应用程序接口组成,其资源是信息和队列( m e s s a g i n ga n d q u e u i n g ) 。m q 能确保信息传输。事实上,m q s e r i e s 具有特殊的技术,防止信息重复传 送,确保信息一次且仅一次传递。t o n g l i n k q 是北京东方通科技公司开发的消息队列 ( 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 结构过渡。 随着网络的普及,中间件正在成为软件行业新的经济增长点。l d g 数据表明,到 2 0 0 2 年,全球中间件市场容量将超过7 0 亿美元,中国市场容量也将达到9 亿美元。赛 迪咨询顾问公司发布的2 0 0 0 _ - 2 0 0 1 年中国软件市场研究年度总报告也对2 0 0 0 年和 未来三年中国的中间件市场进行了调查总结、分析预测。该报告称,2 0 0 0 年国内中间 件软件的销售额总额为2 1 亿元人民币。到2 0 0 3 年,这一数字将达2 7 亿元人民币,年 均增长率高达4 3 2 ”1 。 在传输功能方面,国内外流行的消息中闯件尚不具备独立传输功能,数据打包与 解包、数据压缩加密、传输过程监控等工作需另外编制程序完成,存在着需要二次开 发、传输内容发生变动时修改困难、系统运行不稳定、维护工作量大等问题。 1 3 本文的主要研究内容 1 本文设计与实现了基于数据库复制同步服务器m o b i l i n k 的网络消息中间件数据 交换平台。用户可以自定义配簧传输任务,系统根据任务将一方数据库中的库存数据 传到另一方数据库中,而且要达到更快,更稳定,更灵活的数据传输效果,并且重要 的是保证数据的完整性,不丢失数据。采用m o b i l i n k 传输缓冲池的数据同步传输,基 于数据库同步机制的数据传输技术确保交换数据在数据库之间的一致性。 2 可重配网络消息中间件是将源数据库中需要传输的数据传到源缓冲池中,然后 2 利用任务队列来定制任务可以根据不同的需求进行不同的配置,如果配置完成不 满足要求可以进行重新配置任务定制完以后通过m o b l i n k 进行同步传输,将此部 分数据传到目的缓冲池巾如果出错,将出错信息写入一个单独记错缓冲池,等待 处理并将没有出错的数据传到目的工作库中,完成一次传输 3 设计出网络数据传输平台,通过这个平台中的数据发送端和数据接收端实 现两方或者多方之间的数据传输旦建立连接,数据的同步即开始 3 第二章中间件简介 在中问件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这 些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题, 如操作系统的多样性,繁杂的网络程序设计,管理,复杂多变的网络环境,数据分散 处理带来的不一致性问题、性能和效率、安全等等。这些与用户的业务没有直接关系, 但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不能将应用软件所 要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成 千上万的应用软件重复使用。为解决分布异构问题,人们提出了中间件( m i d d l e w a r e ) 的 概念。 2 1 中间件的概念 在众多关于中间件的定义中,比较普遍接受的是i d c 表述:中间件是一种独立的 系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中 间件位于客户机服务器的操作系统之上,管理计算资源和网络通讯。 i d c 对中间件的定义表明,中间件是一类软件,而非一种软件;中间件是介于操 作系统( 包括底层通信协议) 和各种分布式应用程序之间的一个软件层。总的作用是建立 分布式软件模块之间互操作的机制,屏蔽底层分布式环境的复杂性和异构性,为处于 自己上层的应用软件提供运行与开发环境,帮助用户灵活、高效地开发和集成复杂地 应用软件。在具体实现上,中间件是一个用应用程序接口定义地分布式软件管理框架, 具有强大地通信能力和良好地可扩展性m 。 从中间件的定义可以看出:中问件是一类软件,而非一种软件;中自j 件不仅仅 实现互连,还要实现应用之间的相互操作;中问件是基于分布式处理的软件,定义中 特别强调了其网络通讯功能。 目前,中间件正在全球范围内呈现出迅猛发展的势头。在美国等技术发达国家, 中间件已经与操作系统、数据库平台系统并驾齐驱,共同构成基础软件的三架“马车”。 特别是在最近几年,分布式应用软件大多都是在中间件基础上开发的。 人们在使用中间件时,往往是把一组中间件集成在一起,构成一个平台( 包括开发 平台和运行平台) ,但在这组中间件中必需要有一个通信中间件,因此,还有另外一 种说法:中间件= 平台+ 通信m ,。 2 2 中问件的特点 中间件具有如下特点: 1 易于集成:中间件能无缝地连入应用开发环境中,应用程序可以很容易地定位和共 4 享中间件提供地应用逻辑和数据,满足大量应用的需要。 2 易于移植:中间件使与平台有关地细节对于应用程序来说是透明的,因此可以在不 改变应用程序代码地情况下改换计算机底层硬件、操作系统的通信协议。 3 易于演进:中间件实现的功能对应用程序来说是透明的,所以可以对局部进行改进 而不会影响到系统的其它部分。 4 高可靠性:中间件应该是可靠的,需要提供接管和恢复功能,保证事务及关键性业 务不被丢失。 5 易于使用:中间件能和同构或异构环境下的多种数据源通信,同时它能够管理数据 自j 的公共逻辑约束。它将用户从复杂的平台、网络和数据库选择中解放出来”1 。 由于标准接口对于可移植性和标准协议对于互改操作性的重要性,中间件已成为 许多标准化工作的主要部分。对于应用软件的开发,中间件远比操作系统和网络服务 更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的 计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的 接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护 中的重大投资。 2 3 中间件的分类 中间件的分类方式很多,有些软件在中间件的概念产生以前就已经存在,有些软 件虽然不是作为中间件开发出来的,但是符合中间件的定义,也把它归于中间件的范 畴。1 9 9 8 年i d e 和g i g a 在各自的报告中给出了中间件的分类,按照i d c 的分类方法, 中间件可分为六类0 1 : 1 终端仿真,屏幕转换 2 数据访问中间件 3 远程过程调用中间件 4 消息中间件 5 交易中间件 6 对象中间件 下面,针对上述六类中间件分别加以简要的介绍。 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 em i d d l ew a r e ) 越来越多的分布式应用采用消息中间件来构建,通过消息中间件把应用扩展到不 同的操作系统和不同的网络环境。基于消息的机制更多地适用于事件驱动的应用,当 一个事件发生时,消息中间件通知服务方应该进行何种操作。其核心安装在需要进行 消息传递的系统上,在它们之间建立逻辑通道,由消息中间件实现消息发送。消息中 间件可以支持同步方式和异步方式,实际上是一种点到点的机制,因而可以很好的适 用于面向对象的编程方式。 5 交易中间件 是专门针对联机交易处理系统而设计的,如银行业务系统、定票系统等。联机交 易处理系统需要处理大量并发进程,处理并发涉及到操作系统、文件系统、编程语言、 数据通讯、数据库系统、系统管理、应用软件,交易中间件就是一组程序模块,用以 减少开发一个联机交易处理系统所需的编程量。 6 对象中间件( o b j e c tm i d d l e w a r e ) 传统的面向对象技术通过封装、继承及多态提供了良好的代码重用功能,但是这 些对象只存在一个程序中,外面的世界并不知道它们的存在,也无法访问它们。面向 对象的中间件就是要解决这些问题,面向对象的中间件提供一个标准的构件框架,能 使不同厂家的软件通过不同的地址空间、网络和操作系统交互访问。该构件的具体实 现、位置及所依附的操作系统对客户来说都是透明的“”。 2 4 消息中间件 面向消息的中间件( m e s s a g e m i d d l e w a r e l 是中间件中非常独特的一类,它支持在 一个分布式应用环境中多种用途的消息交换。在分布的计算进程之间,消息是通过消 息传递和消息排队两种方法,以同步或异步方式进行交换的。 消息中间件作为一种基本的中间件,其基本功能就是使分布应用间的通信变得更 容易。虽然,消息中间件支持同步和异步两种方式的消息传递,但它更趋向于使用队 6 列进行异步消息传递。消息中间件将消息从一个应用发送到另一个应用,使用了队列 来作为一个过渡。客户消息被送到一个队列,并被一直保存在队列中,直到服务应用 将这些消息取走。这种系统的优点就在于当客户应用在发送消息时,服务应用并不需 要运行。实际上,服务应用可以在任何时候取走这些消息。此外,由于可以从队列中 以任意顺序取走消息,所以,消息中间件就可更方便地使用优先级或均衡负载的机制 来获取消息。消息中间件也可以提供一定级别的容错能力,这种容错能力一般是使用 持久的队列,这种队列允许在系统崩溃时,重新恢复队列中的消息“。 基于消息的机制更多地适用于事件驱动的应用,当一个事件发生时,消息中间件 通知服务方应该进行何种操作。事件可以是一个请求,也可以只是一种警示。警示到 来后,即可进行某种处理,但不需等待应答。使用消息中间件编程采用的是消息中间 件的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 ) ,其可以很好地扩展到不同的操作系统和硬件平 台上。消息中间件的核心安装在需要进行消息传递的系统上,在它们之间建立逻辑通 道,由消息中间件实现消息发送。 中间件领域目前最热门的技术是异步的消息中间件。异步中间件技术比同步中间 件技术具有更强的容错性,在系统出现故障时可以保证消息的正常传输。异步消息中 间件技术可以分为两类:广播方式和发布订阅方式。广播方式把消息分发给系统的所 有用户;发布订阅方式可以指定哪种类型的用户可以接收哪种类型的消息。发布订阅 方式由于更加智能有效,因而事实上已成为异步中间件的非正式标准“”。 2 5 消息中间件涉及的技术 中间件覆盖了处于操作系统和应用程序之间的广泛服务,再加上中间件是一个相 对较新的软件类别,所以不同种类的中间件的功能并没有被标准化。在目前主要的中 间件产品中,每一个产品都包含了不同的功能,所以很难定义出中间件的标准服务。 但是,下列一些技术在许多消息中间件产品中都是有用的“”。 消息传递( m e s s a g i n g ) 消息由一个发送者发送给接收者,消息是成块的数据,它至少包括消息体、发送 者和接收者。在形式上,消息可表现为一个小的数据包,亦可表现为一个很大的文件。 多路复用和排队机f l i i j ( m u l t i p l e x i n ga n dq u e u i n g ) 多路复用指一个接收者可以接收多个发送者发来的消息。 发送协议( s e n dp r o t o c 0 1 ) 发送协议是一个从发送方向接收方的单向协议,它不需要获得一个从接收方发来 的应答“。 7 2 6 小结 本章介绍了中间件技术的产生背景、基本概念、分类以及发展等相关知识。其中, 尤其对于中间件的一个基本类型消息中间件的相关概念和发展现状做了较为详细 地说明。已有的消息中间件为当前流行的分布式应用系统提供了相对安全、稳定的消 息传输机制的基础上,也不同程度地存放着一定的共性问题:“二次”开发问题。我们 知道,不管是i b m 的m q s e r i e s 还是东方通的t o n g l l n k q 均是以自身集成的a p i 接 口进行编程的,我们每个公司在进行相应系统的数据传输模块设计时都需要根据不同 的系统进行相适应的编程需求,由此带来的资源浪费是不可估计的。其次,对于以上 两种占据传输市场较大的消息中间件产品本身的传输机制是以“数据”本身来进行传 输的,这种传输形式不可避免的存在着传输信息量过大、易丢失、传输速度慢等问题。 针对上述存在的两个共性问题,我们引入数据库同步复制服务器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 技术 的详细说明以及网络数据交换平台设计部分将在以下几章中给予介绍。 8 第三章m o b 1i n k 技术和p o w e r b u ii d o r 概述 3 1i l o b iii n k 同步服务器 m o b i l i n k 是一个能让a d a p t i v es c r v c l a n y w h e r e ( 简称a s a ) 数据库与其它数据 库进行同步的服务器,使远程数据库和中心数据库保持同步,实现在现实上数据的共 享。s y b a s e 提供的m o b i l i n k 同步服务器实现了各级部门之间进行增量式的、可伸缩的、 安全的、双向的信息同步。它支持多种后台数据库、各种通讯协议和各类同步协议。 m o b i l i n k 是采用s e s s i o nb a s e 的同步方式,远程数据库是通过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 s y b a s e a 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 t a q ls e r v e r i b m d b 2 ) 可靠的、 双向的同步; 支持多种同步和网络协议。包括t c p i p ,h r r p 、p a l m h o s ts y n c 、h o ts y n c s e r v e r 和m i c r o s o f t a c d v e rs y n c 以及各种无线协议; 可选的、强大的、可同步通信的1 2 8 位加密; 高可伸缩性,可支持数千个远程数据库; 支持水平和垂直的数据子集: 高度灵活的用户身份验证逻辑“”。 m o b i l i n k 是基于会话的同步系统,它允许在本地的主数据库与多个远程数据库之 间进行双向同步。m o b i l i n k 传输结构如图3 1 所示。 图3 1m o b i l i n k 传输结构图 9 以下对传输结构图中的各个部分进行简要地介绍。 统一数据库:统一数据库是用于存储所有数据的,统一数据库内的数据是主要 的同步对象,远程数据库只是统一数据库内的全部数据或是其中的一部分数据 而已。另外,在统一数据库内也有逻辑存在。如何进行数据可同步,如何解决 数据库冲突的问题等都是以程序的形式存储在统一数据库内。统一数据库可以 是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 re 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 “n k 系统表。 o d b c 连接:m o b i l i n k 同步服务器和统一数据库之间的所有通信都通过一个 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 服务器就成了这两者的接口,用来作为数据存取的中介,并控制 与管理处理程序。 n e t w o r k :m o b i l i n k 服务器与远程服务器可以通过各种通讯协议进行通讯,如可 以使用序列联机( a c t i v e s y n c ,h o t s y n c ) 或是t c p i p ,h 1 v r p 等协议。 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 同步服务器的地址“”。 3 2m o b i l i n k 的同步脚本 3 2 1 同步脚本介绍 m o b i l i n k 同步逻辑由存储在统一数据库中的脚本组成,这些脚本可以是单个语句, 也可以是存储过程调用。在同步过程中,m o b i l i n k 同步服务器将读取这些脚本,并对 统一数据库执行这些脚本。脚本为您提供了在同步过程中的不同时间点执行任务的机 会。您可以使用s y b a s ec e n t r a l ,也可以使用存储过程将脚本添加到统一数据库中“”。 l o 图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 同 步服务器就会继续进行下一步操作。 例如,某个事件是b e g i n 。您可以编写一个脚本并将其与此事件进行_upload_rows 关联。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 2 2 脚本和同步过程 每个脚本对应于同步过程中的一个特定事件。仅当某个操作必须发生时才编写脚 本。所有不必要的事件都无需定义。 同步过程的两个主要部分是处理上载的信息和准备要下载的行。m o b i l i n k 同步服 务器将在首次需要某一脚本时读取它并进行准备,只读取和准备一次。只要一个事件 被激活,便执行与其关联的脚本。 3 2 3 脚本类型 同步脚本可以有两种分类方法: 1 同步脚本可以基于游标,也可以基于语句。 游标脚本:执行与数据的上载和下载相关的操作。每个脚本都与一个特定的远程表 相关联。以下是最常用的游标脚本。 u p l o a d _ c u r s o r 此脚本将定义一个游标,在同步过程的第一步,m o b i l i n k 同步服务器将使用此游 标在统一数据库上应用上载流。 d o w n l o a d c u r s o r 此脚本在同步过程的第二步为到远程数据库的下载操作准备插入和更新操作。对于 行要下载到的每个远程表,都必须定义一个d o w n l o a dc u l x o r 游标脚本。 d o w n l o a d d e l e t e c u r s o r 此脚本在同步过程的第二步为到远程数据库的下载操作准备删除操作。可以使用此 脚本选择要从远程数据库中删除的行。 基于语句的脚本:基于语句的脚本执行数据上载,包括插入、更新和删除函数。以 下是一些可用的基于语句的脚本事件。 u p l o a dd e l e t e 在处理上载流的过程中,m o b i l i n k 同步服务器使用此事件处理从远程数据库中删除 的行。 u p l o a d _ i n s e r t 在处理上载流的过程中,m o b i l i n k 同步服务器使用此事件处理插入到远程数据库中 的行。 u p l o a d _ u p d a t e 在处理上载流的过程中,m o b i l i n k 同步服务器使用此事件处理在远程数据库中更新 的行啪1 。 2 同步脚本可以应用于连接和表。 连接脚本:此类脚本执行连接特定的或同步特定的并且不依赖于任何一个远程数据 库的操作。在实施更为复杂的同步方案时,此类脚本可以与其他脚本联合使用。 表脚本:此类脚本执行一个同步和一个远程表特定的操作。在实施更为复杂的同步 1 2 方案时,此类脚本可以与其他脚本联合使用。 3 。2 ,4 脚本参数 大多数同步脚本都接受来自m o b i l i n k 同步服务器的参数。您可以在脚本中使用这 些参数,通过在脚本中放置问号即可做到这一点。 下露列出了一些霹在黪奉内部经瘸豹典型参数。 1 上次下载的时阍觳 在下载阶段前面的缀后一次成功的同步过程巾,从统一数据库中获取的时间值即为 上次下载的时间戳。如采当前m o b i l i n k 用户从未进褥过间步或从未成功地进行过 丽多,其篷褥被设鬟惫1 9 0 0 - 0 1 - 0 1 。 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 同步服 务器的鼹步过程辩,每个客户蠛帮登须月越褒称标识自悉。可跌使雳鼗参数的脚本 包括大多数连接级的脚本、所露表级别的脚本和菜些游标瓣本。该爝声名称可班用 于在多个远程数据库之间对表谶行分区。 3 表名称 筵参数瘸子蠡谈缎予远程数鬃露孛豹表。绕一数攥痒筑镪含稳弱名髂戆表,遣霉 能不包含。只有袭脚本才能使用此参数。要使用这些参数,请在s q l 脚本中为每 个参数放置一个问号。有些参数是可选的。m o b i l i n k 同步服务器将用一个参数的 筐罄羧每个目号。它将按照参数在瓣本定义审爨瑷懿蹶露来罄换这些馕。 3 2 5 脚本版本 脚本是以组的方式进行组织的,这些组被称为脚本版本。通过指定特定的版本, m o b i l i n k 客户端可以选择襞用骤一缝同步黪本泉处理上载滚及准备下载滚。 1 脚零舨本的应用 通过脚本版本,可以将脚本分成多个组,以便在不同的情况下运行。此项功能提供 了一定的灵活性,在下列情况下尤其有用。 巍定义 使用不同的脚本组来处理来自不同类型的远程用户的信息。例如,您研以编写不同 的脚本缎,供管理员谯同步他们的数据库时使用,这组脚本岛公司中的其他员工使用 熬脚本缀不霹。尽譬您可以只侵鼷缝骚本来突瑷上述功能,毽这些脚本将复杂褥多。 升级应用程净 当您希望升级一个数据库应用程序时,因为新版本的应用稷序处理数据的方式可能 不同,所以可能需要新脚本。当远程数据库发生更改时,几乎总需要新脚本。要想同 时秀缀掰存焉户逶鬻爱不可毙秘。m o b i l i n k 客产壤可以请求凌弱步过狴巾使疆薪熬瓣 本组。由于新旧脚本可以在服务器中共存,所销用户都可以鬣 行同步,箍不管他们使 1 3 用的应用程序的版本是什么。 多个应用程序 一个m o b i l i n k 同步服务器可能需要同步两个完全不同的应用程序。例如,有些员 工可能希望使用用于销售的应用程序,而另一些员工则需要用于进行库存控制的应用 程序。如果两个应用程序需要不同的数据集,您可以创建两个同步脚本版本,每个脚 本版本对应于一个应用程序。 2 指定版本名称 脚本版本名称是一个字符串。您可以在将脚本添加到统一数据库时指定此名称。例 如,如果您使用m la d dc o n n e c t i o n _ s c r i p t 和m la d dt a b l es c r i p t 这两个存储过程添 加脚本,脚本版本名称是第一个参数。 3 缺省脚本版本 只要远程站点不能成功地提供脚本版本,m o b i l i n k 同步服务器就会采用 m l 表中定义的第一个版本。如果没有定义任何脚本版本,同步过程将失scriptversion 败o ”。 3 3g o b ii n k 的同步过程 同步会话是m o b i l i n k 客户端和同步服务器之间的双向数据交换过程。此过程可分 为三个阶段:上传、下载和确认。同步过程如图3 3 所示。 图3 3m o b i l i n k 同步过程示意图 下面对传输过程进行简要地介绍: 1 4 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 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 同步服务器。该消息让同步服务器知道客户端已经接收并处理了所有下载的更改。作 为响应,同步服务器将提交始予第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 同步服务器在收到这些数据时开始更新主数据库,然后将所有相关 豹更改发送回远穰站点。 3 4h o b i 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 n k 客户端经过更新、插入或删除的所 有行的列表。类似地,对于数据行的下载,m 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 同步服务器将提交该事务。 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 客户端接收下载流。当下载流到达时,m o b i l i n k 客户端认为统一数据库 已成功应用所有上载的更改,并将确保这些更改不会再发送到统一数据库中。接下来, m o b i l i n k 客户端将自动对下载流进行处理,删除旧行、插入新行以及更新已更改的行。 所有的更改将在远程数据库中的一个事务中完成应用。此后,m o b i l i n k 同步服务器将 提交该事务1 。 3 4 1 m o b i l i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中英语时态专项练习1
- 产科急症模拟教学在住院医师培训中的课程标准化
- 动力电池回收全产业链分析
- 单位运动会通讯范文53篇
- 初级房地产经济练习题
- 初中数学教学设计15篇
- 二甲双胍与抗癫痫药物相互作用的临床管理
- 乡土变迁议论文800字
- 新冠肺炎疫情下项目管理系统的设计与实践
- 毕业论文格式规范要求
- 2025年超星尔雅学习通《智能交通系统与应用》考试备考题库及答案解析
- 国家开放大学《法律职业伦理》形考任务三答案
- 备战2026年高考物理(新高考)易错点02 力的突变与共点力平衡问题(4陷阱点5考点7题型)(原卷版)
- 2025 高中旅游地理之旅游信息服务课件
- 财务报表分析基础知识及应用
- 北师大版四年级上册期中测试数学试卷(含解析)2024-2025学年辽宁省锦州市古塔区敬业第三小学校
- 2025年房屋租赁收益分成合同协议
- 审计专业面试题及答案
- 数控车床技能培训
- 2025面向未来的中国数据中心:绿色低碳与高可靠性白皮书
- 解读(2025版)腹腔镜经胆囊管胆道探查取石的专家共识
评论
0/150
提交评论