(计算机应用技术专业论文)基于syncml的移动数据库同步模型研究与设计.pdf_第1页
(计算机应用技术专业论文)基于syncml的移动数据库同步模型研究与设计.pdf_第2页
(计算机应用技术专业论文)基于syncml的移动数据库同步模型研究与设计.pdf_第3页
(计算机应用技术专业论文)基于syncml的移动数据库同步模型研究与设计.pdf_第4页
(计算机应用技术专业论文)基于syncml的移动数据库同步模型研究与设计.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

湖北工业大学硕士学位论文 摘要 随着移动通信技术的飞速发展,各种数据类型之间的相互通信需求变得越来 越强烈。然而,相同的数据信息可能被存储于不同的通信设备中,当其中一个通 信设备上的信息发生修改后,如何保证其它通信设备上也能保持同样的信息,也 就是及时的对相同数据进行跟新? 这就是本文研究的要点,数据同步技术。 移动数据库同步技术包含两个方面的研究。由于移动计算的断接性,移动设备 可以离线操作数据库副本,会导致客户端与服务器数据库中数据暂时不一致。由于 移动环境的复杂性,存在多种多样的移动客户端( p d a 、手机、p c 等) 需要互相通 信。为了解决由于移动通信环境的差异性所导致的这两个问题,必须设计一个同 步通信协议,这个同步协议必须能够实现以下两个主要功能:一是能够识别任何 种类的数据消息,实现异构数据源之间的同步。二是有一套标准的同步过程规范, 实现数据库副本之间的最终一致性。 s y n c m l 作为专为移动通信环境所设计的数据同步协议,为解决刚才提到的两 个问题提供了一个很好的参考。本文在结合s y n c m l 同步协议的基础上,通过一些 技术改进,对移动数据库的同步进行深入的研究。主要包括以下两方面的研究内 容: 1 、异构数据源之间的同步。由于移动客户端的多样性,需要通过同步技术实 现异构数据源之间的互相映射。本文详细分析了异构客户端与服务器之间的映射 流程,针对s y n c m l 对数据之间关系等复杂模式信息难以描述的问题,提出引入中 间过渡格式充当模式数据和传输类型之间的媒。由于允许数据库副本的存在,保 持各数据库副本和数据库服务器中数据的一致性就变得至关重要。本文在s y n c m l 同步框架的基础上,提出一个完整的同步模型h d s m ,并给出具体的同步过程描述。 2 、针对s y n c m l 协议在冲突处理上的不足,所以本文在h d s m 模型中引入了多 级冲突处理机制。 关键字:移动数据库,数据同步,s y n c m l 协议 a bs t r a c t a st h ed e v e l o p m e n to fm o b i l ec o m m u n i c a t i o nt e c h n o l o g y , m a n yv a r i e t yo fd a t a t y p e sn e e d st oc o m m u n i c a t ew i t he a c ho t h e rb e c o m em o r ea n dm o r es t r o n g l y w h e no n e o ft h ei n f o r m a t i o nc o m m u n i c a t i o ne q u i p m e n tm o d i f i c a t i o n so c c u r ,h o wt oe n s u r et h e o t h e rm o d i f i e da tt h es a m et i m e ? t h i si st h em a i nk e y so ft h i sp a p e rr e s e a r c h 。 m o b i l ed a t a b a s es y n c h r o n i z a t i o nt e c h n o l o g yi n c l u d e st w oa s p e c t so ft h es t u d y a s t h ed i s c o n n e c tm o b i l ec o m p u t i n g ,m o b i l ed e v i c e sc a no p e r a t eo f f - l i n e c o p yo ft h e d a t a b a s ew o u l dl e a dt oc l i e n ta n ds e r v e rd a t at e m p o r a r i l yi n c o n s i s t e n c i e si nt h ed a t a b a s e a st h ec o m p l e x i t yo ft h em o b i l ee n v i r o n m e n t ,t h e r ea r em a n yt y p e so fm o b i l ec l i e n t ( p d a ,c e l lp h o n e ,p c ,e t c ) n e e dt oc o m m u n i c a t ew i t he a c ho t h e r i no r d e rt os o l v e t h e s ep r o b l e m se x i s t i n gi nt h ef i l e do fm o b i l ed a t a b a s es y n c h r o n i z a t i o n ,w h i c hc a nb e a b l et os o l v et h e s et w op r o b l e m s o n ei st h a ta n ym o b i l ed e v i c ec a l ls u p p o r tau n i f i e d d a t af o r m a t ,n a m e l yt oa c h i e v es y n c h r o n i z a t i o na m o n gt h eh e t e r o g e n e o u sd a t as o u r c e s a n o t h e ri st h a th a v eas t a n d a r ds y n c h r o n i z a t i o np r o c e s ss p e c i f i c a t i o nt og e tt h ef i n a l c o n s i s t e n c ya m o n gt h ec o p i e so ft h ed a t a b a s e b a s e do nt h es y n c m l ,t h ea p p l i c a t i o no fd a t as y n c h r o n i z a t i o ni sa l le m e r g i n g b u s i n e s si nt h ef i e l do fm o b i l ec o m m u n i c a t i o n s ,w h i c hc a l l c o m p l e t et h e d a t a s y n c h r o n i z a t i o na m o n ga n yn e t w o r k ,a n yd a t at y p ea sw e l la sa n yd e v i c eo fi n f o r m a t i o n o nt h eb a s eo fs y n c m lp r o t o c o l ,t h i sp a p e rw i l lh a v ea ni n - d e p t hs t u d yi nt h e s y n c h r o n i z a t i o no ft h em o b i l ed a t a b a s e m a i n l yi n c l u d et h e s et w ok e y s : 1 s y n c h r o n i z a t i o nb e t w e e nt h eh e t e r o g e n e o u sd a t as o u r c e s b e c a u s eo ft h e d i v e r s i t yo fm o b i l ec l i e n t ,s y n c h r o n i z a t i o nt e c h n o l o g ys h o u l db eu s e dt oc o m p l yt h e m a p p i n go fh e t e r o g e n e o u sd a t as o u r c e s t h i sp a p e ra n a l y z et h ed e t a i l s o fm a p p i n g p r o c e s sb e t w e e nh e t e r o g e n e o u sc l i e n ta n ds e r v e r t h a t sd i f f i c u l tf o rt h es y n c m lt o d e s c r i b et h ec o m p l e xp a t t e r ni n f o r m a t i o n ,s ow ei n t r o d u c et h em i d d l ef o r m a td a t aa st h e b r i d g eb e t w e e nt h em o d e lf o r m a td a t aa n dt h et r a n s m i tf o r m a td a t a a n dl c a d so u tt h e s p e c i f i cc o n v e r tr u l e sf r o mm o d e lf o r m a td a t at om i d d l ef o r m a td a t aa n df r o mm i d d l e f o r m a td a t at ot r a n s m i tf o r m a td a m 2 s y n c m lp r o t o c o lh a v es o m es h o r t a g ei nc o n f l i c tt r e a t m e n t ,s om u l t i - l e v e l c o n f l i c tt r e a t m e n tw a si n t r o d u c e di n t ot h eh d s mm o d e l k e y w o r d s :m o b i l ed a t a b a s e ,s y n c h r o n i z a t i o nt e c h n o l o g y ,s y n c m lp r o t o c o l l l 湖咖二棠大学 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工 作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本声明的法律结果由本人承担。 学位论文作者签名: 辘日期 乙吣1 年9 月2 g 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 学位论文作者签名:桶纯 日期:v - 7 年了月儿日 九地 日绎乩 移 坷,那蚂 名 摊 年 煨唧 教 圯 导 期 指 日 湖北工业大学硕士学位论文 1 1 研究背景及意义 第1 章引言 近年来,随着无线通讯技术和计算机网络技术的飞速发展使得一种全新的计 算模式一移动计算模式成为现实。在移动计算环境中,用户可以使用便携式移动 通信设各( 如p d a 、手机、笔记本电脑等) 通过无线通讯模块访问网络上的各种信 息资源,而不会受到实际物理位置变化的影响。由于移动计算环境的移动性、频 繁端接性、网络通讯的上下行非对称性、低可靠性和资源有限性以及系统的高伸 缩性等因素使得传统的分布式数据库技术以及主流数据库产品己无法有效地支持 移动计算的需求。因此,对移动计算环境中移动数据库管理技术的研究,已成为 当前数据库研究领域中一个新的方向。 由于移动客户机和固定网络之间不是固定连接的,通信双方经常会处于断接 的状态;但是,移动客户端在断接时又需要保持离线操作,这就需要在移动客户 机上维持一个数据库的副本。当移动客户机再次与数据库服务器连接上时,移动 客户机会将自己修改的数据信息上传至固定网络上的服务器主机,同时将固定服 务器上的发生的修改信息下载到移动客户机,从而使同步双方重新达到一致性的 状态。在这个系统中,有多个移动客户端对同一个数据进行了不同的操作,导致 了冲突的发生,因此需要通过数据同步技术实现数据的最终一致性。 此外,随着移动通信技术的快速发展,现代通信设备,比如笔记本电脑、p d a 、 手机等移动终端的广泛应用,是的不同通信产品之间的相互通信变得十分频繁。 但是由于通信终端的种类非常多,需要通信的信息可能被保存在不同的数据源中, 我们要求通过一个通用的同步协议来保证不同的数据源之间能够互相识别,并且 实现各类异构数据之间的共享传输。 1 2 移动数据库同步相关技术概述 1 2 1 移动计算环境 计算技术和无线通讯技术的发展与结合使得一种全新的计算环境移动计 算环境成为了现实。在移动计算环境中,用户使用笔记本电脑通过无线通讯模块 实现对信息网络的访问,而不受实际物理位置变化的影响。在过去的十几年里, 湖北工业大学硕士学位论文 这种全新的计算环境得到了高速的发展,并在越来越多的应用领域中发挥了不可 替代的作用。 移动计算环境是对传统分布式计算环境的延伸和扩充。在传统的各类计算环 境中,各个移动通信结点之间都是以固定网络连接,并且网络之间的连接是持续 的。而在移动计算环境中,这种连接环境完全被改变。整个移动计算系统是由固 定通信系统和移动通信系统共同构成的,这使得用户可以在移动的过程中随时访 问网络,可以携带便携式通信设备任意自由移动,而且在移动的同时能保持和网 络的连接以及对信息的访问。 移动数据库系统与传统的固定网络环境下的数据库系统相比,具有非常多不 不一样的特点:异构数据非常集中、用户数量非常庞大、信息管理开销剧增等。 因而要求移动数据库系统应具有更好的灵活性、自适应性和伸缩性。但移动数据 库系统作为传统分布式数据库系统的扩展和延伸。移动数据库综合了分布式计算 技术、数据库技术和移动通信技术等多门学科领域,能够支持移动用户对数据访 问的需求。 1 2 2 移动数据库同步技术 在移动数据库的关键技术中,核心技术之一就是如何在错综复杂的移动环境 下高效地实现数据的最终一致性即数据同步,数据同步技术是整个系统的根本所 在。由于移动用户各自异步地在本地数据库副本上对数据进行存取,必然造成各 数据库副本和中央数据库之间的不一致性。当移动数据库与主存数据库重新连接 上时,就会出现他们对相同数据保持了不同的版本。因此,如何消除断连情况下 造成的数据不一致,最终实现数据的一致性,是本系统研究的重点。 对数据同步的研究主要集中在两个方面:数据库同步技术( 数据一致性) 和 数据同步协议。 图1 i 数据同步关键技术 2 湖北工业大学硕士学位论文 通过复制技术来实现移动数据库之间的一致性是移动数据同步的基本思想。 各移动客户端之间数据可以以特定的时间间隔将数据复制到异构的另一端,即异 步复制,或者立即将改变的数据复制到远端站点,即同步复制。进行复制时,可 以是全部复制所有数据,也可以是将发生变化的部分数据进行复制。通过复制技 术可保存一个表的多个拷贝,实现个移动数据库之间的同步,在多个数据库服务 器上根据对数据的访问率有间隔地更新数据,并且在有冲突产生时重新通过复制 保持同步。 在分布式数据库系统中,事务的a c i d 特性很好地保证了数据的一致性。但由 于移动事务不同于传统数据库事务的特征,移动事务模型需要对传统事务的a c i d 特性做不同程度的放松,以期获得理想的性能。比较有代表性的模型主要有:簇 模型( c l u s t e r i n g ) 、p r o - m o t i o n 模型和k a n g a r o o 模型等嫡3 。 数据同步技术首先要研究两个方面的问题: ( 1 ) 异构数据之间的映射问题,即一个字符集如何转换为另一个字符集。 ( 2 ) 冲突处理机制。当对同一对象的不同数据副本在同一时刻进行了不同的 更新操作时,将出现更新冲突。冲突处理机制包括两个部分:冲突检测机制( 包 括语义冲突检测方法) 和冲突解决机制。 本文对移动数据库同步技术的研究主要集中在数据同步协议方面。数据同步 协议的任务是快速识别出各版本的变化、解决可能的冲突、并传输同步数据到不 同的同步设备。对于前两个功能,同步协议需要依靠数据库的相应功能来帮助完 成,但是同步协议必须定义这两个功能在同步过程中的执行时机,也可以在协议 中定义为方便实现这些功能所作的改进设计。目前比较普遍的同步协议有h o t s y n c p r o t o c o l ,c p i s y n c 以及s y n c m l 等。因为s y n c m l 从设计的早期就关注为任意设备, 任意网络之间资源有限的移动设备设计,所以我们下面对移动数据库同步技术的 研究都基于其展开。 1 3 国内外研究现状 在国内,由于中国的移动通信市场正以爆炸式的速度快速发展,各类移动通 信相关业务也正在相继推出。与庞大的中国市场形成鲜明对比的是我们对移动数 据库同步通信技术的研究却才刚刚起步。在s y n c m l 数据同步的研究方面,目前主 要有华中科技大学、人民大学、国防科技大学以及中科院计算机研究所等在相关 领域取得了一定的研究成果。这些研究机构大部分都是关注于理论系统的研究与 设计,并发表了一些中文科技文献。但目前绝大数的研究还只是停留于理论研究 湖北工业大学硕士学位论文 阶段,在项目上的应用推广还比较少。在s y n c m l 数据同步的市场应用方面,华为、 中兴等大型移动通信设备生产企业,已经开发出了一些支持s y n c m l 同步协议的移 动通信设备。中软、大堂等软件提供商也开发了一些s y n c m l 配套软件,其中一些 已经开始了市场推广。此外,中国电信针对目前支持s y n c m l 协议的手机已经较为 普及,推出了全新的基于s y n c m l 协议的移动梦网服务。 在国外,s y n c m l 协议首先被一些大型手机生产厂商应用,开发出了支持s y n c m l 协议的手机。在这方面比较领先的主要是当时共同提出s y n c m l 协议的一些企业, 例如诺基亚、西门子、爱立信等。当然,手机上的应用只是s y n c m l 协议实际应用 中的一部分,还有很多支持s y n c m l 同步协议的移动通信设备正在研发阶段,或以 经投入市场。在理论研究上,国外很多知名理工科大学都将s y n c m l 协议作为一个 重要的研究点,并在很多相关领域取得了突破。 1 4 论文研究内容与组织结构 本文主要研究内容包括以下几个方面: 1 深入研究研究s y n c m l 协议的同步原理。详细分析了s y n c m l 协议的同步机 制以及同步过程,以及采用的同步安全机制和冲突处理机制。并根据s y n c m l 协议 在冲突处理方面的不足,提出了h d s m 异构数据同步模型,同时在h d s m 同步模型 中引入了多级冲突处理机制。 2 由于移动客户端的多样性,多种异构数据源之间的互相映射就成为了一个 急待解决得难题。本文结合s y n c m l 的表示协议,利用x m l 技术来实现数据的互相 映射,提出一个完整的映射模型,并给出具体的映射实现机制。另外,由于直接 使用s y n c m l 消息来表示复杂的模式信息是困难的。因此本文引入中间过渡格式充 当模式信息和传输类型之间的媒介,使这一问题得到解决。 3 目前大部分相关的研究还只是停留在s y n c m l 协议本身,或在研究移动数据 库的同步时,没有将两者结合起来。s y n c m l 主要用于网络设备的通用数据同步, 它的目标是让任何移动设备的网络化数据都能实现同步并保证设备间同步的无缝 连接,即种网络数据可以与任一种移动设备同步,一种移动设备可以与任一种网 络数据同步,这使得移动数据库具有了通用性和可适应性。本论文在研究移动数据 库同步时,结合s y n c m l 同步协议,利用这个协议在设计时就固有的一些先天的优 点,优化和提高移动数据库同步的研究。 本文的组织结构如下: 第一章引言,介绍了本课题的研究背景以及意义,讨论了本课题的一些相关 4 湖北工业大学硕士学位论文 技术,以及国内外研究现状,并简单介绍了本文的研究内容。 第二章详细分析了s y n c m l 同步协议的基本内容、同步原理以及同步过程。首 先是介绍了s y n c m l 协议产生的背景与发展,然后介绍了协议的组成和协议结构, 最后具体分析了同步信息交互过程。 第三章承接第二章深入讨论了异构数据源同步的一个关键环节,异构数据源 的映射。结合一个简单的例子,具体分析了服务器和客户端之间的映射流程和具 体的映射机制。 第四章深入研究s y n c m l 同步机制,结合移动计算环境下资源有限性,断接性 等特点,深入分析同步模型的关键技术、数据同步过程,提出一个完整的同步模 型解决方案:h d s m 。并针对s y n c m l 协议在冲突处理上的不足,在h d s m 模型中引 入了多级冲突处理机制。 最后,第五章对全文进行总结并对将来的研究工作进行了进一步地展望。 湖北工业大学硕士学位论文 第2 章s y n c m l 数据同步协议分析 由于本文的研究都是基于s y n c m l 协议完成,因此本章详细介绍了s y n c m l 协 议的组成内容,包括s y n c m l 同步协议、s y n c m l 表示协议和数据传输协议,这为第 三章研究本系统的映射流程和映射机制提供了理论基础。同时为了第四章h d s m 同 步模型的提出了指导方向,本章还详细介绍了s y n c m l 协议中的一些关键技术,包 括同步过程,同步信息交互等。 2 1s y n c m l 协议的产生背景与发展 2 1 1 移动计算环境下的数据同步问题 随着移动通信技术的迅猛发展和不断推广以及移动通信设备的广泛使用,任 何时候任何地点都能够访问网络成为了人们的普遍需求。为了实现这一目标,移 动通信技术应运而生。它能够满足用户在任何时候任何地点都能访问信息网络的 需求。但由于移动计算环境有别于传统的网络环境,他在满足用户需求的同时也 产生了一系列新的问题,其中移动计算环境下的数据同步问题就是其中的一个重 点。 对于企业用户而言,移动计算技术的发展使得移动办公成为可能。员工不需 要在固定的工作地点办公,而是在任何地方都可以进行工作。例如在火车上,上 班途中,或者是在家中,他们随时都可以通过无线网络来工作。但由于移动网络 环境的制约性,在网络断连的情况下,员工依然需要对数据进行操作,这个时候 就带来了信息同步的问题。 对于个人用户而言,用户可能拥有多个移动通信设备,而这些通信设备对数 据的表示方式,存储方式等都存在很大的差别。例如一个用户拥有一台电脑、一 部支持s y n c m l 协议的手机和一个p d a ,这些设备上面有些相同个人文件,但由于 这些文件在不同设备上的存储格式等式完全不同的,如果这一个设备上修改了部 分信息,那么就需要手动修改其他设备上的信息,这就带了很多操作上的麻烦, 如何实现这些不同设备之间的自动同步,也是移动计算环境下数据同步的一个关 键问题。 为了解决前面提到的两个问题,必须对不同设备上发生了变化的数据进行同 步。也就当相同数据的数据出现了多个版本时,就要消除这些版本之间的不一致 6 湖北工业大学硕士学位论文 性。并且在同步客户端不是同构的情况下,需要通过同步技术来实现这些不同客 户端之间对相同数据的相互识别。 2 1 2s y n c m l 发起组的成立 为了解决数据一致性问题,各移动通信设备生产厂商、通信软件集成商以及 服务提供商各自都提出了许多的移动环境下的同步通信解决方案。但是由于这些 厂商都是各自为政,这些解决方案在通信设备信息表示方式、网络传输特性等方 面存在着很大的不同。例如设备生产厂商生产的各种移动通信终端,他们对需要 同步的移动数据消息都各自有自己的存储格式、描述方式,一种移动终端根本无 法识别另一种移动终端上的同步消息。还有不同软件生产厂商和服务提供商之间 由于没有一个通用性的标准存在,他们的提供的同步解决方案也是有着千差万别。 所有这些同步解决方案虽然在设计之初为移动计算环境下数据同步的发展起到了 很大的推动作用,但是随着移动计算环境的日益普及,移动环境下的同步需求变 得越来越频繁。这个时候,各种不同的同步实现方法之间无法兼容的问题,就变 严重制约了移动通信的进步发展。 为了解决移动计算环境下,数据同步解决方案诸侯混乱的局面,国际上包括 爱立信、诺基亚、西门子和o p e n w a v e 等在内的多家有影响的公司共同发布了一个 移动计算环境下,通用的数据同步协议一s y n c m l 。s y n c m l 数据同步协议的发布使 得移动设备制造商、通信服务提供商、软件生产厂商等都有了一个共同的参考标 准。并随着许多大公司陆续宣布对s y n c m l 协议表示支持,s y n c m l 协议很快就成为 了移动通信同步事实上的标准。 湖北工业大学硕士学位论文 2 2s y n c m l 体系结构 s y n c m l 协议的体系结构如下图2 1 所示。高层应用软件、同步引擎和同步代 理共同构成了s y n c m l 同步协议的同步协议和同步表示模块,s y n c m l 接口以及 s y n c m l 适配器共同构成了s y n c m l 同步协议的传输模块。 h t t p w s p o b e x j 等传输协议 图2 1s y n c m l 协议体系结构 图2 1 中“a p p l i c a t i o na 代表一个网络服务,可以与“a p p l i c a t i o nb ” 进行数据同步交互。“a p p l i c a t i o na 和“a p p l i c a t i o nb ”之间根据s y n c m l 同步协议的规范,通过s y n c m l 传输协议进行信息同步。 同步服务代理:同步服务代理是上层同步协议与下层同步传输协议之间的 连接桥梁,一般在同步服务器端和同步客户端都需要同步服务代理模块,他们 负责接收和发送上层应用构建的s y n c m l 消息给s y n c m l 接口。 同步引擎:同步引擎是s y n c m l 体系结构的一个核心模块,由于它对通信设 备的计算能力、存储能力等要求比较高,因此同步引擎一般都被放在服务器中, 它负责根据高层应用构建s y n c m l 消息。 s y n c m l 接口:s y n c m l 接口是s y n c m l 体系结构中负责数据传输的一个核心 模块,他主要用来收发s y n c m l 同步消息。 s y n c m l 适配器:s y n c m l 适配器主要负责根据同步开始时定义的同步传输 方式,并根据特定网络条件来传输s y n c m l 同步消息。 湖北工业大学硕士学位论文 2 3s y n c m l 协议组成 不t s y n c m l 协议与网络协议类似,自上而下层层进行封装,它的组成如图2 2 所 图2 2s y n c m l 协议栈 可见,s y n c m l 协议栈主要由3 个部分组成心,射:s y n c m l 表示协议、s y n c m l 同 步协议、s y n c m l 传输绑定协议。 s y n c m l 表示协议主要是一个x m l 文档定义文件,由于s y n c m l 消息都是以x m l 文件格式描述,因此表示协议主要就是构建这些x m l 文件的解析文档。这个文档 可以是d t d 文件、或者是x s l t 文件等,它负责定义s y n c m l 消息文件的格式,并 根据这个文档来解析接收到的s y n c m l 消息。下面的图2 3 描述了s y n c m l 表示协 议所定义的s y n c m l 消息包格式: s y n c m l 消息 s y n c m l 消息头 s y n c m l 消息体 s y n c m l 命令 s y n c m l 命令 图2 3s y n c m l 消息包 s y n a m l 同步协议是整个协议的关键部分,它负责控制整个同步方法和同步过 程以及同步映射机制,下面的图2 4 说明了s y n c m l 客户端和服务器端同步时消息 的交互过程: 9 湖北工业大学硕士学位论文 c l i e n t s e r v e r 发送同步初始化数据包p k g # 1 响应同步初始化数据包p k g # 2 根据服务器的p k g # 2 响应,采取响应的同步力式进行同步 将需要同步的数据发送给服务器 p k g # 3 p k g # 3 的执行状态反馈,同时将需要 同步的数据发送给客户端p k g # 4 客户端根据p k g j ! j 4 的响应,更新本地相应数据 通知服务器本地数据的更新结果 p k g j ! i 5 p k g # 5 的执行反馈p k g # 6 若p k g # 6 的反馈正常则同步完成 图2 4s y n c m l 同步消息交互过程 在图2 4 的同步过程中,从同步开始到同步结束一共传送6 个同步包,p k g # i 和p k g # 2 是建立连接的初始化包,用来发送一些双方的鉴权信息以及设备能力等 其它辅助信息。其中p k g # 3 和p k g # 4 是最重要的两个消息包,p k g 捌t 3 发送的是客 户端修改的信息给服务器端,p k g # 4 发送的是服务器端修改的信息给客户端。p k g # 5 和p k g # 6 主要是为本次同步记录一些日志文件,并为下一次同步做准备。 s y n c m l 传输绑定协议描述在传输s y n c m l 消息时的网络传输方法,它是s y n c m l 同步协议的一个重要组成部分。根据网络条件的不同,s y n c m l 传输协议主要支持 三种类型的网络连接:h t t p 、w a p 、0 b e x ,这三种传输协议基本覆盖了目前主流的 各类网络传输。 1 0 湖北工业大学硕士学位论文 i ii iiii 曼! ,! ! 曼 2 4 本章小结 本章主要介绍了s y n c m l 数据同步协议栈的架构,描述了协议集的层次关系, 并着重讨论了组成协议栈的s y n c m l 同步框架、s y n c m l 同步协议、s y n c m l 表示协 议、s y n c m l 传输绑定协议的基本内容和各协议在s y n c m l 数据同步应用中所起到 的作用以及协议中的相关规定。 湖北工业大学硕士学位论文 3 1 引言 第3 章异构数据源的映射方法 3 1 1 问题的提出 在移动计算环境中,移动数据库具有许多不同于传统分布式数据库的特点: 由于移动通信环境的多样性,移动计算环境下的同步往往会设计多种异构的数据 源。由于各生产厂商生产的通信产品都有各自的一套工艺标准,他们对数据的表 示方式,存储方式存在着很大的差别。即使一些主流通信产品之间有一套工业标 准,但是这个标准也不会一成不变,这样按照新标准生产的通信设备还要考虑旧 版本兼容的问题。所有这些就造成了需要同步的移动数据源之间往往是异构的。 随着异构数据源之间同步通信变得越来越频繁,如何实现异构数据源之间的 同步就具有很大的现实意义。目前对数据同步技术的研究大多还停留在分布式数 据库系统中,对移动数据库同步技术的研究还比较少。虽然现在对移动数据库各 关键技术的研究开始多了起来,但移动数据库同步技术方面的文献还比较少,即 使有少量这方面的文献,大多也是停留在同构数据源阶段,对于移动环境下,异 构数据源之间同步研究还非常少。因此本文结合移动数据库的一些特点,深入分 析移动环境中,异构数据源之间的同步技术。 3 1 2 解决思想 经过前面第二章的分析可以看出,s y n c m l 协议作为专为移动通信环境设计的 同步通信协议,能够支持任何数据类型,在任何有线、无线网络上传输。因此, 本文对异构数据源同步技术的研究也基于s y n c m l 协议,在深入分析s y n c m l 协议 的基础上,针对s y n c m l 协议难于描述数据之间关系等复杂模式信息的缺点,在本 系统中引入了中间过渡格式,给出了一个完整的异构数据源同步解决方案。 因为移动计算环境中需要同步的客户端种类繁多,异构客户端对数据的表示 方法千差万别,要如何实现各异构客户端之间能够互相识别彼此的数据格式,是 解决这个问题的关键一步。基本的设计思想是:既然异构客户端之间无法互相直 接识别对方的消息格式,那么可以设计一个中间过渡格式,来充当各个客户端本 地模式信息的桥梁。本地模式信息在发送给对方时,首先传换为对方能够理解的 中间过渡格式信息,接收方收到这样个信息后,再将它还原为自己能够理解的 1 2 湖北工业大学硕士学位论文 本地信息。 3 2 异构数据映射流程 3 2 1 基本映射流程 考虑到s y n c m l 消息以x m l 文件表示,而且近年来x m l 逐渐发展为数据表现和 数据交互的标准,所以我们很自然的想到用x m l 技术来实现异构数据之间的映射。 基本的映射过程通过下面的图3 1 来说明。 露露印露 移动数据库映射配置 n x m l 数据文件 么 v s y n c m l 传输方式 习丐 文件映射与数据格式转换 商 鬯翮匣型 图3 1 映射结构图 整体流程设计说明: 1 根据各异构数据库结构信息和共享需求,配置数据库共享设置,生成映射 配置文件即模式信息。 湖北工业大学硕士学位论文 曼皇! ! ! 曼! ! 曼! 皇! ! ! 皇! 曼! 曼! 詈! ! ! ! 曼! ! ! ! ! ! 曼鼍曼皇! ! ! ! ! ! ! 曼曼曼! 鼍! 曼量1i ; - - 1 2 由程序根据配置文件自动从异构数据库中抽取需要传输的数据,并根据 s y n c m l 协议的规则将其生成为x m l 文件表示; 3 然后,将以x m l 文件包装的s y n c m l 消息通过s y n c m l 传输协议发送到服务 器。 4 服务器端接收消息,还原成x m l 文件,并根据模式信息,采用x s l t 技术或 d t d 文档实现数据格式转换,生成符合本地数据库格式要求的x m l 文件。 上面的映射流程设计只是简单说明了基本的数据映射方法,一个完整的数据 同步模型还要考虑许多其它过程。由于所有的数据不是孤立存在的,各种数据除 了有自己的格式之外,数据之间还有各种关系等复杂的模式信息,如何描述数据 之间的各种关系,是衡量一个映射规则健壮性的基本条件。因此,在设计同步模 型时,不能仅仅传输基本的元数据信息,还应该传输包括数据关系在内的复杂模 式信息。此外,由于各种移动客户端千差万别,它们对数据的表示和存储方式都 不一样,如何构建映射配置文件即模式信息文件,定义转换规则也是本同步解决 方案成功的关键。 3 2 2 本系统流程设计 通过对上面的分析可以发现,要成功实现本系统有两个关键之处。一个是中 间过渡格式的设计,这个中间过渡格式要充当本地数据和传输类型数据之间的桥 梁,并且这个过渡格式数据不仅能够描述基本的元数据信息,还要能够描述数据 属性以及数据之间关系等复杂的模式信息。此外,如何设计从本地数据到过渡格 式数据,以及从过渡格式数据到本地信息这两个转换规则,也是本映射系统成功 的关键。 因为数据源的种类繁多,转换规则大致可以分为两种类型瑚1 。 ( 1 ) 数据库系统充当数据源的情况: 数据库充当数据源是目前最为广泛的应用,同时也是本系统实现的一个难点。 因为当前数据库的种类繁多,主流的数据库有关系型数据库、面向对象数据库、 嵌入式数据库等,为了实现本系统的通用性,就需要综合考虑各种类型数据库充 当数据源的情况。此外,由于数据库中存储的数据往往有比较复杂的数据关系, 因此在数据库充当数据源时,还要充分考虑数据之间的关联等复杂模式信息。 ( 2 ) 移动客户端充当数据源的情况 移动客户端充当数据源时,最大的难点在于移动客户端的种类繁多。各类移 动客户端对数据的描述方式、存储方式等存在很大的差别,如何兼顾到各种移动 客户端充当数据源的兼容性,是实现本系统通用性的关键。 1 4 湖北工业大学硕士学位论文 3 2 3 服务器处理流程 图3 2 转换过程 由于在移动计算环境中,服务器和移动客户端在处理能力,存储能力等设有 很大的差别。客户端往往是一些便携的移动终端,它们对数据处理的能力非常有 限,为了大大降低对客户端数据处理能力的要求,一般将大部分的同步功能模块 都放在服务器端来完成。客户端只需要接收传送过来的同步消息,按照事先定义 的转换规则,将它转换为本地可以识别的信息即可。出于这样的设计,服务器端 的处理流程就会相对比较复杂,下面的图描述了同步服务器端的处理流程。 湖北工业大学硕士学位论文 厂、 f 开始 ) l 接受对方同步初始化信息 上 解析获得对方模式信息 1 l 计算元数据映射关系 上 利用元数据映射关系转化对方发送来的同步数据 或利用映射关系将本地同步数据转化为对方的数 据类型 土 i完成具体同步操作( 添加、册j l a 、修改) l + 厂、 ( 结束 l 图3 3 服务器处理流程 图3 3 描述了服务器端一次简单的消息处理流程。在正式的同步数据消息传 送过来之前,服务器首先会收到连接请求,还有客户端的鉴权报告等初始化信息, 这个初始化信息同时也包含了对方发送过来的模式信息,像设备处理能力等等。 服务器对对方的模式信息进行解析之后,会进行一些计算操作,生成数据映射表, 与客户端进行连接之后,就会进行消息的同步,包括添加、删除、修改等操作, 完成这些之后就会对本次同步进行一些日志文件的记录。 3 3 映射机制 设法利用s y n c m l 协议使同步双方交换各自数据库的元数据结构信息和各自所 支持的数据类型信息,并在此基础上建立彼此的元数据对应关系。然后,利用得到 的元数据对应关系将s y n c m l 消息中的同步数据转换为本地数据源可以接受的信息, 继而针对本地数据源执行由s y n c m l 同步消息发送的操作。这样,就完成了异构数 据源之间的同步功能。 1 6 湖北工业大学硕士学位论文 iiii 3 3 。1 转换规则 规则a :数据源本地信息向中间过渡类型数据转换的规则 ( 1 ) 当移动客户端充当数据源时,由于移动客户端种类繁多,数据格式多种 多样,因此在设计转换规则时,就要充分考虑移动客户端的多变、灵活,设计的 转换的规则要具有一定得自适应性和兼容性。下面的算法描述了如何将数据源模 式信息转换为中间过渡格式数据的规则。 i fe a c hr e c o r da sg u m po fe n dm o d i f y i n gt h em o b i l ed a t ai n f o m a t i o n s y n c h r o n i z a t i o nb e i g i n s y n c k e y s p e cd e s k s = n e ws y n c k e y s p e c ( b y t k e y ) ; s e c r e t k e y f a c t o r ys k f = s e c r e t k e y f a c t o r y g e t l n s t a n c e ( ”s y n c ”) ; s e c r e t k e ys k = s k f g e n e r a t e s e c r e t ( s y n ci n d e x ) ; c i p h e rc i p = c i p h e r g e t l n s t a n c e ( ”s y n c ”) ; c i p i n i t ( c i p h e r s y n c _ m o d e ,s k ) ; r e t u r nc i p d o f i n a l ( b y t p ) ; w h e nt h ec r e a t e i n f o r m a i t o n 弱i n d e x o f ( g u m p ,“:d e s c r i p t i o n v a u l eo f i n f o r m a t i o n ”) ; c r e a t er e c o r da ss m i t h w h i l e ( g u m pc o t a i nn o t “s m i t h ”) ; d o i f ( s k e y 1 e n g t h ( ) 一4 8 ) r e c o r d b y t k1 = g e t i n d e x ( s k e y s u b s t r i n g ( 0 ,l6 ) ) ; r e c o r d b y t k 2 = g e t i n d e x ( s k e y s u b s t r i n g ( 16 ,3 2 ) ) ; r e c o r d b y t k 3 = s e t i n s e x ( s k e y s u b s t r i n g ( 3 2 ,4 8 ) ) ; b y t e b y t i n = n e wb y t e ( i n t ) f i l e l n 1 e n g t h ( ) ; ) e n d 可以看出,转换成了中间过渡格式数据之后,数据变得更加具有结构性,统 一存放在估计的数组单元中。将划分出来的信息组织成一定的结构,利用具有分 界作用的符号划分类型描述。 ( 2 ) 当数据库充当数据源时,数据库充当

温馨提示

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

评论

0/150

提交评论