




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)面向web地图服务的数据一致性维护技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
攘婴 - j o | | ? 一。一。囊o ? 0 摘要 在霹络信患时绶审,譬息量纛大,虽信息攘式多样。x m l 捧毙兼其霹扩展 性及灵活性的通用数据传输格式,越来越多地被人们用来表示异构数据,以克服 多数据源懿不一致涟,麸两达劐信惠整合麓露韵。因此,x m l 数据视潮广泛缝 应用于各种w e b 应用系统中,针对常用的数据信息建立物化视图已经成为提高 x m l 数据查询效率的重簧手段。然而,物化视图与数据源之间游一致性维护却 面临掰的挑战。 在众多的w e b 应用系统中,对于提供地理数据的w e b 地图服务( w m s ) 系 统来说,受于表示邀图戆数据量大,丽隧终赞源有限,因此对x m l 数据处理性 能有更迫切的要求。 本文菇解决w e b 应鬟系缝,特别是w e b 遗爱服务系统窜豹查询梭麓优化酒 题,以及数据一致性问题,提出了种面向w e b 地图服务的物化视图增量维护 方法,该方法链够截攥瑟台逸鼷数攥翁交纯对w e b 客户璇熬麓纯褪鹜避行一致 性增量维护,并且给出了丽向w m s 系统的x p a t h 物化视图的增量维护系统框架。 在诧蓥破上,重点探讨了两两w m s 鹈物化视甏增量维护熬一些关键技术。 作者依据面向w m s 的x p a t h 物化视图增量维护方法,设计并实现了一个通 用漪物仡视图增量维护系统框絮。该框架戆端为客户提供定制的w e b 地图高效 查询,它可以应用于支持o p e n g i s 简单要素援范的空阕数据存镶方式,势怠越 提供w e b 地图腋务的空间数据库系统,从而支持高性能w e b 地图查询系统的实 现。 在物化视图增量维护系统的实现中,本文采用了自动触发等相关技术,实现 了在物拢视匿增量绦护过程孛变更嚣叁动掳获及处理祝制,有效遗将数据源麴变 更快速准确地捕获,并为视图的增量维护所用。在物化视图增量维护过程中的各 瓣楚理的协调方薅,采餍离步接铡技本,鸯效遗协调控翻物化视图增量维护遭程 中的客户查询及后台数据源变更。此外,本文研究了增量计算程序代码生成方法 熬探索查询实现技本,实现了蔼巍w m s 翁耪化视黉增羹缀护系统撰絮熬系统整 关键调增量维护;w e b 地图殿务:s v g ;物化视图; 北京l , j k 大学工学硕士学位论文 iiii i l , 鼍! 蔓! 曼曼! ! 曼! 皇曼曼曼! ! 曼曼曼皇! 曼! 曼! 曼! 曼曼曼! 曼兰曼皇曼蔓皇曼曼鲁 a b s t r a c t a st h ew e b b a s e dt e c h n i q u ei sw i d e l ya p p l i e d ,t h ev o l u m eo fi n f o r m a t i o n i n c r e a s e s a n dt h ef o r m a to fi n f o r m a t i o ni sv a r i o u s x m l ,w h i c hi st h eg e n e r a l c o m m u n i c a t i o nf o r m a to fd a t a i ss c a l a b l ea n df l e x i b l e ,a n di ti sw i d e l yu s e dt o e l i m i n a t et h ef l a wb r o u g h tu pb yt h ei s o m e r i ed a t as o u r c e st om e e tt h eg o a lo f i n f o r m a t i o ni n t e g r a t i o n t h e r e f o r e ,x m lv i e w sa r ew i d e l yu s e di nv a r i o u sw e b s y s t e m s i ti sa ni m p o r t a n tw a yt h a tm a t e r i a l i z e sv i e w sf o rd a t af r e q u e n t l yu s e dt o i n c r e a s et h ee f f i c i e n c yo fx m lq u e r y i n g h o w e v e r , t h e r ea r es o m en e wc h a l l e n g e si n k e e p i n gc o n s i s t e n c yb e t w e e nm a t e r i a l i z e dv i e w sa n d t h e i rd a t as o u r c e s i nm a n yw e bs y s t e m s ,e s p e c i a l l yf o rw e bm a ps e r v i c e ss y s t e mw h i c hp r o v i d e s g e o g r a p h i c a ld a t a i ti se m e r g e n t t oi m p r o v et h ep e r f o r m a n c eo fx 池d a t ap r o c e s s i n g b e c a u s eo ft h eg r e a ta m o u n to fm a pa n dt h el i m i t e dn e t w o r kr e s o u r c e f o rt h ep r o b l e m so fq u e r yp e r f o r m a n c ea n dt h ed a t ac o n s i s t e n c yi nw 曲s y s t e m s , e s p e c i a l l y i nw 曲m a ps e r v i c es y s t e m s ,t h i sp a p e rp r o v i d e saw m s o r i e n t e d i n c r e m e n t a lm a i n t e n a n c ew a yf o rm a t e r i a l i z e dv i e w s ,i nw h i c hy o uc a nm a i n t a i nt h e m a t e r i a l i z e dv i e wa tc l i e n ts i d ei n c r e m e n t a l l ya c c o r d i n gt ot h ec h a n g eo fg e o g r a p h i c a l d a t a 。a n dg i v et h ea r c h i t e c t u r e i nt h eb a s i co ft h i sw a y , t h i sp 印e rd i s c u s s e ss o m ek e y t e c h n o l o g i e s b a s e do nt h ew a yo fw m s o r i e n t e di n c r e m e n t a lm a i n t e n a n c ef o rm a t e r i a l i z e d x p a t hv i e w s ,t h ea u t h o rh a sd e s i g n e da n di m p l e m e n t e dac o m m o na r c h i t e c t u r eo f i n c r e m e n t a lm a i n t e n a n c ef o rm a t e r i a l i z e dv i e w s i tp r o v i d e st h ec a p a b i l i t yo fq u e r y i n g w e bm a p s a n da l l o w st h eu s e rt oc u s t o m i z et h eq u e r ye x p r e s s i o n t h i sc a nb eu s e da s t h ef u n d a m e n t a la r c h i t e c t u r eo fs p a t i a ld a t a b a s es y s t e m sw h i c hs u p p o r tt h es p a t i a l d a t as c h e m ai nt h eo p e n g i ss i m p l ef e a t u r es p e c i f i c a t i o na n dc a np r o v i d ew 曲m a p s e r v i c e s ,t oi m p l e m e n tt h eh i g he f f i c i e n c yo fw e bm a pq u e r ys y s t e m s f o rt h ei m p l e m e n t a t i o no fi n c r e m e n t a lm a i n t e n a n c es y s t e m sf o rm a t e r i a l i z e d v i e w s ,t h i sp a p e ra d o p t s t h ea u t o m a t i o n t r i g g e r i n gt e c h n i q u e t o p r o v i d et h e m e c h a n i s mo fc a t c h i n ga n dp r o c e s s i n gc h a n g e sa u t o m a t i c a l l yw h i c hc a nq u i c k l ya n d a c c u r a t e l yg e tt h ec h a n g e f o rt h ec o o r d i n a t i o n ,l e tt h eq u e r y i n ga n dc h a n g i n gw o r k w e l l u s i n gt h es y n c h r o n i z a t i o nc o n t r 0 1 f u r t h e rm o r e ,t h i sp a p e rc o n s i d e r st h e i m p l e m e n t a t i o nm e t h o df o re x p l o r i n gq u e r y , a n di n t e g r a t e s t h es u b s y s t e m si n w m s o r i e n t e ds y s t e ma r c h i t e c t u r eo fi n c r e m e n t a lm a i n t e n a n c ef o rm a t e r i a l i z e d v i e w s k e y w o r d si n c r e m e n t a lm a i n t e n a n c e ;w e bm a ps e r v i c e ;s v g ;m a t e r i a l i z e dv i e w 独创性声明 本人声明所呈交的论文是我个人在导师指导。卜进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我- 同工作的同志对本研究所做的任何贡献均 已在论文巾作了明确的说明并表示了谢意。 躲耻吼型迎 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) , 签名:牡导师签名: 日期: 第1 章绪论 1 1 研究目的和意义 第1 章绪论 在数据库领域巾,视图是从一系列的基础表巾,通过定义一个函数来获取的 表。为了加速数据查询,常常会将数据视图进行某种形式的存储,形成物化视图 【l 捌。当物化视图所依据的基础数据发生变化时,就需要修改物化视图,以保持 物化视图与其基础数据之间的一致性,这个过程称为物化视图的维护1 2 ”j 。在 大多数情况下,重新计算视图来维护物化视图与基础数据之问的一致性,这样做 的开销通常很大,而微量的基础数据变化可能仅仅影响到一部分的视图数据,因 此人们就试图根据基础数据中变化了的部分来更新物化视图,即对物化视图进行 增量维护。 在现今的网络信息时代中,信息量不仅庞大而且信息的模式多种多样。为了 能够有效的利用w e b 上丰富的数据,r 。种兼具可扩展性及灵活性的通用数据传 输格式可扩展标记语言1 5 , 6 j ( x m l ,e x t e n s i b l em a r k u pl a n g u a g e ) 应运而生 了。x m l 适合各种网络应用的需要,成为了i n t e r n e t 发展的必然趋势。在当今越 来越多的应用中,x m l 作为数据交换和分布式计算的基础,已经成为了网络通 用的语言。因而,用x m l 表示的查询视图也广泛地应用于各种系统,特别是 w e b 应用系统。那么如何优化x m l 数据的查询检索是迫切需要解决的问题。对 常用的数据信息建立物化视图是提高对x m l 数据查询性能的重要手段。然而, x m l 文档不同于传统的关系数据库的数据表,是半结构化的有序文档1 7 j 。x m l 视图是通过x m l 查询语言定义而成的x m l 文档的子集,它层次化的树型结构 以及复杂的结果重构,使得其增量维护问题比关系数据库视图复杂得多,应用于 关系数据库的增量维护方法也很难用于x m l 视图。与此同时,南于x m l 是网 络通信的传输格式,冈而对于它的研究势必要考虑到w e b 环境远程操作的特点。 信息量过大以及复杂的数据处理都会给网络本身以及客户端和服务器带来巨大 压力。同时,客户端可能会针对某个特定的查询对服务器进行多次的请求,若重 新查询,不仅降低系统性能,而且在数据源变更不是很频繁的情况下,还会加大 数据传输的开销冗余。冈此采用对x m l 物化视图进行增量维护的方法可以加速 客户端对x m l 视图的查询,并且优化查询过程。 在众多的w e b 应用系统中,对于提供地理数据的w e b 地图服务( w m s ) 1 8 系统来说,南于表示地图的数据量非常大,而网络资源又有限,凶此对客户端和 服务器之间的传输性能就提出了挑战。如果服务器端后台地理数据有了很小的变 化,例如,增加了条街道,那么重新传输整个查询结果就造成了时间和效率上 很大的浪费。若采用增量维护的方法则会大大降低重新查询及传输过程中的浪 费,从而提高系统的性能,减少客户等待的时间,提高响应速度。采用增量维护 的方法,可以使地理信息系统能够更好地应用于网络环境,解决其数据量大,效 率难以保证的弱点,扩大其适用范围,为其在更大规模的环境中应用提供技术和 方法上的保证。 本文针对通过w e b 地图服务所获得的物化视图的数据量相当大,但在一定时 北京工业大学工学硕士学位论文 i _i i ! ! 曼曼舅 间内数据源变动相对较小的特点,利用增量维护的方法,研究w e b 地图服务的数 据一致性问题,提出了一种高性能的w e b 地图服务物化视图增量维护方法。主要 工作和贡献如下: ( 1 ) 研究面向w m s 的物化视图一致性维护问题,提出面向w m s 的物化视图 增量维护方法,给出了面向1 j l f m s 的物化视图增量维护系统框架。 ( 2 ) 提出面向w m s 的物化视图增量维护的整体解决方案,设计并实现了增 量维护代理子系统、变更管理子系统,及查询子系统,研制出物化视图增量维护 软件。 ( 3 ) 研究后台地理数据变更的自动捕获及处理机制,给出了变更的自动捕 获及处理方法,并实现该方法。有效地保证后台数据源的变更快速一致地反映给 客户端的s v g 物化视图,实现了w e b 地图服务的数据一致性维护。 ( 4 ) 探讨增量维护过程中的查询及后台变更之间的同步控制问题,设计出 基于时间戳的解决方案,并根据该解决方案实现了系统的同步控制。 ( 5 ) 根据w m s 物化视图的增量算法,设计并实现了探索查询等算法。 ( 6 ) 研究包含遗留功能及新功能的多个子系统的整合方法,实现了系统的 整合。 ( 7 ) 基于已有的w m s 地图服务系统和s d b 空间数据库引擎系统的功能,对 1 】y m s 地图服务系统进行了适当改造,并移植了空间数据库引擎系统。 1 2 面向w m s 的物化视图增量维护简介 1 2 1w e b 地图服务 随着地理信息系统需求的不断扩大,以及互联网技术的飞速发展,为了适应 地理信息共享以及提高g i s 系统互操作性的要求,o g c 组织制定了一系列 o p e n g i s 规范。w 曲地图服务( w m s ) 规范就是o p e n g i s 的规范之一。它可以 将地理数据渲染成p n g ,j p g 等标量图形的形式,也可以转换为是s v g ,c g m 等矢量图形的形式。通过w e b 地图服务,用户可以很方便地通过网络得到地理 信息。克服了传统g i s 的强耦合性、数据格式不统一等弱点,实现了g i s 系统 之间的互操作性、数据分布以及资源共享。 s v g 9 是s c a l a b l ev e c t o rg r a p h i c s ( s v g ) 的英文缩写,意即可扩展的矢量图 像,是由w 3 c 制订的使用x m l 来描述二维矢量图形的语言,是完全用纯文本 来描述的为网络而设计的图像格式l l o j 。它包含了各种形成图像的图元信息,以及 可以丰富显示效果的配置及标注信息l l 。由于s v g 文件是以文本的形式( x m l ) 存放的,便于查询,修改。而且由于是基于文本的,其压缩比例比较大,适合网 络传输。s v g 是矢量的图形格式,当放大和缩小图像时不会破坏图像的清晰度。 因此,利用s v g 文件作为浏览器的数据,可以更好地实现浏览器的交互性及地 图显示的效果。 1 2 2x m l 物化视图增量维护的基本原理 对于x m l 物化视图的增量维护【1 2 1 3 】来说,假设x m l 查询的基础数据,即 第1 章绪论 x m l 数据源为x 。客户端请求的x m l 的查询计算可以看作f o 其查询计算结果 r 可以表示为:删。x m l 基础数据所发生的变更为出,在树型结构的x m l 数据源中,其变更是以节点为最小单位的,任何x m l 数据源的变更都可以归纳 为对某个指定节点的修改、插入、删除操作。当x 上出现了一个变化出时,为 了计算f ( x + a x ) 的计算结果r ,要找到对应于f 的增量计算函数毛眦,使r = 毛加 ( x ,a x ,r ) 。在增量计算函数。的设计中,如果计算的过程中可以尽可能利用前 次的计算结果r ,并尽可能少地访问原有的x m l 数据x ,那么f k 的计算量就有 可能大大小于f 的计算量,进而实现x m l 物化视图的增量更新。本文中讨论的 增量计算方法是根据x p a t h 6 , 1 4 , 1 5 】查询f 来组织增量计算函数的代码生成方法, 具体算法1 1 6 j 见第二章。 1 2 3x p a t h 物化视图 x p a t h ( x m lp a t hl a n g u a g e ) 是一种应用路径表达式对x m l 文档进行查询【1 7 1 的语言。通过x p a t h 查询某个x m l 文档所得到的查询结果是一系列匹配的元素 节点序列。查询结果仍然是x m l 结构,是原有x m l 文档的。个子集。 x p a t h 视图即应用x p a t h 查询x m l 数据源所得到的查询结果。如果在客户 端将x p a t h 查询结果缓存起来,那么就形成了x p a t h 的物化视图。x p a t h 物化视 图与其查询时使用的x p a t h 表达式是相对应的。本课题中,x p a t h 用于定义基于 w m s 服务的s v g 视图。 1 2 4 变更的自动捕获及处理机制 在增量维护的基本原理中,基础数据和基础数据的变更都来自于后台数据 源。当数据源发生变更时,需要一种及时准确的方式将数据源的变更事件及相关 的信息报告出来,也就是需要种能够白动地j i f 控并捕获变更消息的机制 触发机制。在数据库领域中,能够提供触发机制的一种高效准确的技术称为触发 器【1 8 , 1 9 】技术。 数据库触发器( d a t ab a s et r i g g e r ) 是特定事件出现的时候,由数据库自动执 行的代码块,用广不能寅接调用它。它是。种特殊类型的存储过程【2 0 川,比数据 库本身标准的功能有更精细和更复杂的数据控制能力,它通过维持不同表中逻辑 上相关数据的一致性,保持数据的相关完整性。 触发器大概分为五类:语句触发器、行触发器、i n s t e a do f 触发器、系 统条件触发器,和用户事件触发器。般比较常用的是语句触发器和行触发器。 触发器有许多作用,它可以用于自动生成派生列值;提供高级审计;提供透 明的事件日志;实现复杂的数据完整性规则;防止非法无效的事务处理;增强复 杂的业务逻辑;允许或限制对表的修改;同步实时地复制表中的数据等等。 能够导致触发器执行的事件或语句有很多,例如表或视图上的d m l ( 数据 操纵语言,i n s e r t 、u p d a t e ,和d e l e t e ) 语句、d d l ( 数据定义语言) 语 句,数据库的关闭或启动等等。当触发器针对某特定表的i n s e r t ,u p d a t e , 或d e l e t e 语句执行时,用户所定义的过程被隐含执行。 触发器技术是一种广泛应用的事件捕获及处理技术。用户根据自己的需求编 写针对不同变更事件的触发器,并给出事件触发时需要执行的操作。触发器是部 北京工业大学工学礞学霞论文 基皇曼! 曼燃皇皇曼篡燃鼍曼! ! ! i i i i l i i i i ii i i i i i 嘲曼鼍! 皇燃曼皇! ! 曼墨舅 署在数据库中的,当变更事件发生时,数据库会根据用户事先编写的操作代码来 进行事件处理。由于触发器是预先定义的,相应的数据库管理系统会对其进行编 译及优化,因而在事件发生时,数据库可以离效地执行触发事件的处理。 本课题利用这种触发器技术以及存储过程等技术来支持增量维护过程中变 更的自动捕获和处理。 1 2 5 面向w m s 的x p a t h 物化视图的增量维护 本课题组结合了地理信息方面的应用,以w e b 地图服务为基础,提出了一种 基于w m s 的x p a t h 物化视图增量维护【2 2 】方法。 从应用的角度看,蔼向w m s 的x p a t h 物化视图的增量维护是对地理信怠数 据,也就是w e b 地图的查询视图进行增量维护。客广端所请求的x p a t h 查询是 w e b 地图服务系统生成的s v g 地鹜。盘于s v g 本身是x m l 文档,因此客户端 可以通过x p a t h 查询表达式获得s v g 地图本身或一个局部,也就是根据应用需 求,对整张施蚕进行筛选。 与普通的物化视图的维护相似,当后台数据源的地理数据发生变化的时候, 客户端x p a t h 物化视淄也需要进行更新,以保持与数据源的一致性。 如果对于数据源地理数据的变更,无需使用对应的x p a t h 表达式重新进行查 询来维护x p a t h 物化视图的更新,而只生成与数据源地理数据的变更相对应的增 量更新程序代码,在客广端执行增量更新程序来维护x p m h 物化视图的更新,那 么就形成了对w e b 地图的x p a t h 物化视图的增量维护。 1 2 6 面向w m s 的物化视图增量维护的意义 这种面向w e b 地图服务的物化视图增量维护方法熊够有效地丰富w e b 地图 服务的用户体验:它支持客户根据白己的需求,利用x p a t h 定制特定的地图视图: 并且较传统查谗处理方式裰琵,它能够为客户提供更高性能豹服务,快速有效缝 为客户提供响应结果;重要的是它还能够让客户及时地获得与后台数据源一致的 准确数据。 面向w e b 地图服务的物化视图增量维护方法不仅可以丰富用户的体验,还有 效地优化了服务端的处理性能,减少w e b 应用中后台处理的负担,缓解了网络 资源有限的弊端。它使得对于客户端w e b 地图的x p a t h 物化视图的维护有了两 点性能上的提高: 蓠先,提高了物化视图维护的服务器端的处理效率。盛用此种维护方法,客 户端对w e b 地图的x p a t h 物化视图进行更新时,不必重新查询整个w e b 地图, 只需查询w e b 地图中与客户端x p a t h 物化享冀图相关的部分,凼戴这就缩小了数 据查询的范围,减少了冗余的查询,提高了服务器端的查询效率。 其次,降低了服务器端与客户端之阕数据传输的冗余。客户端更新物化褫图 时,不必从服务器获取更新的w e b 地图或部分的w e b 地图,而只需从服务器获 取增量更新程序来进行更新。增量更薪程序代码量一般要眈w e b 墙图数据量要 小得多,因此这就降低了数据传输过程中的冗余,起到了优化数据传输的作用。 这种增量维护方法非常适合于w e b 应用( 特别是像w e b 地图服务这样的应 用) 中所出现的传输数据量大、数据变化量小,变化相对频繁的查询处理情况, 第1 章绪论 是一种可以普遍应用的方法。 1 3 相关技术的研究现状 1 3 1w e b 地图服务 w e b 地图服务是提供地理信息数据的一种可视化表现形式的服务,可以渲染 成p n g ,j p g 等标量图形的形式,也可以是s v g ,c g m 等矢量图形的形式。目 前国内外应用w e b 地图服务的系统采用多样的技术方法。有的利用网格技术进 行w m s 相关研究,有的采用分布式方式将多种商业或开源的g i s 系统的信息利 用起来,形成w e b 地图服务 2 4 1 。 1 3 2 物化视图的增量维护 物化视图技术最早出现在数据库领域中。物化视图的增量研究多以传统数据 库为基础。在以x m l 为格式的数据库r f l 进行物化视图增量处理的研究还比较少, 技术方法也不太成熟。目前国内外已经进行的一些研究是:基于关系数据模型重 构x m l 数据视图。如:用关系表来存储x m l 文档及物化视刚2 卯。还有,直接 增量操作由x m l 的查询处理语言所生成的视图,例如,对使用x p a t h 查询生成 的物化视图进行增量维护。根据数据源的变更,修改x s l t 2 6 j 程序的动态执行流 ( x t - t r e e ) ,实现对视图的增量维护【27 1 。美国伍斯特工业学院计算机科学系的一 个研究组采用代数的方法对物化视图进行增量维护,利用x a t 数据结构进行 x q u e r y 6 ,2 3 ,2 9 j 视图的增量维护【1 2 j 。 1 3 3x p a t h 物化视图的增量维护 对物化视图的研究大多是针对关系数据库的,而对基于半结构化数据模型的 视图研究目前还处于探索阶段,可供参考的研究不是很多,而且各研究中使用的 增量维护方法也不尽相同。 a r s a n ys a w i r e s 等人提出的x p a t h 物化视图的维护方法是具有灵活且较强表 达力的视图定义方法【3 0 】,而且不限制视图是单调的且与视图结果集规模成正比关 系。但是这种维护方法是针对有大量重叠路径和谓词测试的多个视图的维护,因 受重复测试和维护范围的限制而缺乏效率。该文章提出的视图维护方法从整体上 考虑视图保持工作,既减少了重复测试的次数又降低了辅助空问的规模,并通过 实验证明该方法有好的视图维护效率。 1 4 研究内容及主要解决方法 本课题组对x p a t h 物化视图的增量计算算法及x p a t h 物化视图的增量维护系 统的研究已经取得一些成果。本文将从面向w m s 的x p a t h 物化视图的增量一致 性维护的角度出发,分别对以下内容进行研究及给出实现方法。一 芝寨工韭大学工学硕士学绽论文 1 4 1 面向w m s 的物化视图增量维护方法及系统框架 在w e b 地图服务系统中,当客户端的物化视图所依据的后台地图数据发生 变更对,要对客广端物化视图进行维护。为了解决w e b 遗翻服务系统中的查询 性能优化问题以及数据一致性问题,本文提出一种面向w e b 地图服务的物化视 图增量维护方法,依据后台地图数据的变化对w e b 客户端的物化视图进行一致 性增量维护,势且设计实现了面向w m s 系统的x p a t h 物化视图增量维护系统。 它能够为客户提供定制的w e b 地图高效查询,适用于支持o p e n g i s 简单要素规 范的空间数据存储方式,并且能提供w e b 地图服务的空间数据库系统,从恧支 持高性能w e b 地图查询系统的实现。 1 4 2 数据源变更的自动捕获及处理机制 数据源变更是增量维护问题的重要根源。当数据源变更时,需要将数据源匏 变更信息及时有效地反映给增量维护系统。 本文采角触发机制来自动地捕获数据源的变更,并将变更信息通过传输模块 传递给变更管理模块,进行变更信息的处理和变更日志的维护,进而将变更信息 转换为增量维护代理所接受舱变更信息格式通知增量维护代理,进行后续的增量 计算程序代码生成等上作。 在这个过程巾,涉及一系列重要的映射闷题: ( 1 ) 客户端查询采用基于x m l 的x p a t h 查询表达式,增量计算程序代码生成 方法是基于x m l 数据源进行的。因此增量维护所需的数据源变更要求基于x m l 数据源: ( 2 ) w 曲地图服务所提供的s v g 格式的地图是x m l 的一种,但是生成s v g 地图的图元及相关信患来源于关系数据库,数据源的变更发生在关系数据痒中, 所产生的变更信息均基于关系型的数据源; 也就是说系统中灸有逻辑上的增茧维护中用到的x m l 数据源,戳及客户端 x p a t h 表达式查询的x m l 数据源,其真正的数据是以关系数据形式存在的。 针对以上关系型数据和x m l 数据的映射蠢题,本文采用了一种关系型数据 和x m l ( s v g ) 数据的映射机制,在通知增量维护代理之前,将自动捕获的变 更信息进行这种映射转换,从而使得基于x m l 的增量维护可以正确有效地进行。 1 4 3 面向w m s 的物化视图增量维护系统中的同步控制 在增量维护系统中,涉及了复杂的工作过程: ( 1 ) 客户端x p a t h 物化视图的查询: ( 2 ) 数据源的变更; ( 3 ) 在增量更新程序的生成过程中进行的探索查询: 这些操作从逻辑上是按照以上顺序发生斡,但是每个操作都可以独立缝并行执 行。不管后台数据源什么时候变更,客户端都能够在任一时刻进行查询。在数据 源变更产生之后多久进行增量更薪程序的计算是不受限制的,在计算过程中,数 据源也会发生新的变更。此外,这些过程都要经过复杂的处理,因此不可能对其 第1 罩绪论 之前的执行先后顺序加以严格限制。这三个过程除了逻辑上的因果关系外,还对 同一个后台数据源的数据进行互斥访问。 本文针对上述问题,采用了同步控制技术,利用锁机制,对于增量维护过程 中发生的客户端查询、数据源变更,以及探索查询进行读写操作的同步控制,使 得它们在并行运行的基础上对公共数据源进行互斥访问,维护客户端物化视图与 后台数据源之间的数据一致性。 1 4 4 服务于增量计算程序代码生成方法的探索查询实现技术 当增量计算程序代码生成方法生成增量更新程序f ( x s ,r s ,n o d e ,o p ,i t e m ) 时,除 了用到数据源变更时所捕获的变更类型o p ,变更节点位置n o d e ,变更信息i t e m 之外,还需要x m l ( s v g ) 数据源x s 。由于x m l ( s v g ) 数据源是。种逻辑的 数据源,它的实体在实际中并不存在,其数据存储在关系数据库中,因此增量计 算程序代码生成方法就不可能通过查询x m l 数据源获得x s ,只能查询南关系数 据映射过来的x m l 数据源。 增量更新程序的生成过程与数据源的变更是并行进行的,在计算增量更新程 序时,后台数据源有可能已经发生了很多变更,此时获取的数据源数据与增量计 算程序代码生成方法所处理的当前变更是不能相互对应的。 针对上述问题,本文采用数据源数据恢复技术,根据增量计算程序代码生成 方法所处理的特定变更,将数据源从当前的状态恢复到特定变更发生时的数据源 状态,并且将恢复后的关系型数据源映射为x m l ( s v g ) 数据源,为增量计算 程序代码生成方法提供服务。 1 4 5 面向w m s 的物化视图增量维护系统的整合 面向w e b 地图服务的物化视图增量维护系统是。个能够为客广端提供可定 制的x p a t h 的s v g 地图查询的高性能集成系统。该系统是增量更新算法与w e b , 地图服务应用有效结合的验证模型。该系统模型中涉及多方而的系统整合问题。 ( 1 ) 重用问题:功能复杂的庞大系统大都不是从零开始的,复用遗留系统是 节省成本并提高实现效率的好方法。 ( 2 ) 数据间映射问题:相对复杂的查询系统中,结果的或过程中的数据模型 往往和实际的基础数据模型有很大差别,需要进行正确的数据模型的映射。 ( 3 ) 交互协作问题:大规模的整合系统中的各个功能部件分布在各自适合的 环境中,它们之间的交互及协作是集成系统有效工作的重要保证。 ( 4 ) 多语言问题:在系统整合中,不仅要考虑体系结构的可行性,还要考虑 实现语言的效能。不同的实现语言有不同的使用领域。除了凶为不同应用需求而 采用相对较优的实现语言之外,系统整合中遗留部件的实现是既成事实,应尽量 避免对其内部的实现机制进行改造。这样就需要考虑实现语言的差异造成的多部 件相互之间结合的问题。 ( 5 ) 多版本问题:系统各部件之间的整合往往需要将具体部件进行整合时所 必需的移植改造。在这种移植改造的过程中,为了增强部件的功能并且解决部件 之问连接的问题,需要考虑软件功能改进、语言版本升级及类库升级等所带来的 问题。 北京工业大学工学硕士学位论文 根据上述的整合问题,结合面向w e b 地图服务系统的需求及现有资源,本文 提出了以下的整合方案:重用w e b 地图服务系统及空间数据库引擎;将后台数 据模型与前台应用的数据模型进行映射;通过w e b 服务调用、s o c k e t 通信、r m i 等通信方式解决部件之间的交互及协作问题;利用j n i 技术解决j a v a 和c + + 实 现的模块间的调用;解决j d k 版本( 1 4 及1 6 ) 兼容问题;解决模块的功能升 级及c + + 类库( v c 6 、v c 7 和s t l ) 升级问题。 1 5 论文结构 第一章:绪论。简要介绍本课题的研究目的和意义,对研究内容进行了阐述。 第二章:面向w m s 的物化视图增量维护模型。介绍了增量维护方法原理、 系统的框架和工作流程,并探讨了系统中的数据模型映射问题,为后面阐述关键 技术作铺垫。 第三章:增量维护代理子系统。介绍增量维护方法的解决方案及其中涉及的 并发控制问题。 第四章:变更管理子系统。提出了解决变更的白动捕获及处理机制的解决方 案、并深入地分析其中涉及的处理方法及相关算法。探讨同步控制问题及解决方 法。探究探索查询的实现技术。 第五章:查询子系统。简要介绍提供查询功能的功能模块及工作过程。 第六章:面向w m s 的物化视图增量维护系统的实现。分析系统整合问题及 部署方案,并给出测试和实现分析。 。结论:总结本文的工作并指出了未来的研究方向和自己工作的不足之处。 第2 章面向w m s 的物化视图增量维护模型 第2 章面向w m s 的物化视图增量维护模型 客户端为加速查询会对查询结果进行保存,形成物化视图。当后台数据源的 地理数据发生变化时,客户端的物化视图需要进行更新,以保持物化视图与数据 源之间的数据一致性。 为了进行物化视图与后台数据源之问的数据一致性维护,无需重新查询,而 只需将变化的部分反映到物化视图上,进行物化视图的增量维护。本章节提出面 向w m s 的物化视图增量维护方法,并根据物化视图增量维护过程中的各种需求 和主要解决的问题及技术,提出一个系统模型。本章首先介绍面向w m s 的物化 视图增量维护方法和增量计算代码生成方法,然后提出面向w m s 的x p a t h 物化 视图增量维护系统的整体框架,对系统中的各个模块依次作简要的介绍,给出系 统的工作流程,最后分析这个集成系统中所涉及的数据的模型及它们之间的对应 关系。 2 1 面向w m s 的物化视图增量维护方法 面向w m s 的物化视图增量维护方法主要是解决w e b 地图服务系统中的查询 性能优化问题以及数据一致性问题的方法。 在w 曲地图服务系统中,客户端通过x p a t h 表达式查询w e b 地图,所请求 的x p a t h 查询是w e b 地图服务系统生成的s v g 地图。客户端可以通过定义不同 的x p a t h 查询表达式获得s v g 地图本身或一个局部。 当后台数据源的地理数据发生变化的时候,客户端x p a t h 物化视图需要进行 更新,以保持与数据源的一致性。对于数据源地理数据的变更,无需通过x p a t h 表达式重新进行查询,而只需生成与数据源地理数据的变更相对应的增量更新程 序代码,在客户端执行更新程序来维护x p a t h 物化视图的更新,对w e b 地图的 物化视图进行致性增量维护。 x m l ( s v g ) 数据源可以看成是树形的结构,其变更是以节点为最小单位的, 任何x m l ( s v g ) 数据源的变更都可以归纳为对某个指定节点的修改、插入、 删除操作,而这一节点的更新可能只对x p a t h 物化视图中与此节点相关的信息有 影响,也有可能根本不会影响到物化视图与数据源的一致性。 按照上述方法,增量更新程序用于修改x p a t h 物化视图中受到x 池( s v g ) 数据源巾变化节点影响的那一部分。根据数据源r f l 变更节点的位置、变更类型及 对应的x p a t h 查询生成一个对应的增量更新程序f ( x s ,r s ,n o d e ,o p ,i t e m ) 。其中f 代 表对应某种更新操作的增量更新函数,o p 表示更新操作的类型,x s 表示数据源 x m l 文档,r s 表示客户端的x p a t h 物化视图文档,n o d e 表示变化的节点位置, i t e m 表示更新的信息内容。在此更新程序的输入参数中不仅包括前次的物化视 图,还有数据源x m l ( s v g ) 文档。由于数据源x m l ( s v g ) 文档在服务器端, 此更新程序还无法直接发送到客户端执行。首先要对其中涉及数据源x m l ( s v g ) 文档的计算预先作探索查询,计算出结果代换到原增量更新程序代码中, 使得增量更新程序中消除了包含涉及数据源x m l ( s v g ) 文档的内容的计算, 将需要在物化视图中添加或替换的节点内容编码到更新程序中,从而使得更新程 序的输入参数中只包含前次的物化视图r s 。此时将经过上述程序变换的增量更新 北京工! i 卫大学工学硕士学位论文 曼曼曼曼! ! 曼! ! ! ! 量! 曼曼皇曼曼曼曼曼曼曼! ! ! 曼! 鼍曼曼皇曼曼曼曼曼曼! ! 曼鼍曼舅i 曼! ! 曼量曼曼! ! 曼量曼曼皇曼曼曼曼曼曼曼曼曼曼鼍 程序f ,( r s ) 传送给客户端,由客户端执行,得到更新后的s v g 物化视图。这样就 对w 曲地图的物化视图进行了增量维护。 2 2 面向w m s 的增量计算代码生成方法 上文中介绍的增量计算方法是一种普遍应用的原理,针对本课题中的应用, 此处将简要介绍面向w m s 的增量计算代码生成的方法。 2 2 1 增量计算程序代码生成方法的基础数据 图2 - l 中展示了面向w m s 的增量计算程序代码生成方法所要处理的基础数 据的格式。 p a t h t c x t 图2 - 1s v g 地图模型 f i g u r e2 - 1s v gm a pm o d e l 如图2 一l 所示,在此格式的基础数据中,s v g 表示最上层的地图节点,下面 的第。层g 节点表示包含几何信息和标注信息的组。第二层g 节点中包含了具体 的几何节点或标注节点。第四层的节点分别为各种类型的几何节点和标注节点 ( t e x t ) 。几何节点是存储地图图元数据的节点,标注节点是存储图元相关显示信 息的节点。 2 2 2x p a t h 查询视图 针对上述这种格式,客户端所提出的x p a t h 查询请求可以表示为以下形式: 完整的s v g 地图信息:d o c ( “图r 层名矽) g 第2 章面向w m s 的物化视图增量维护模型 曼鼍曼曼曼曼! 曼曼曼! ii i 鼍! 曼曼曼! ! 曼
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 谈判策略研究分析报告
- 系统稳定性优化路径分析报告
- 施工方案重要工作描述
- 数据中心风扇选型分析报告
- 数字版权法律保护框架分析
- 会计招聘考试题库及答案
- 名著阅读教学设计与课堂实施技巧
- 基本急救考试题库及答案
- 制作快餐店营销方案范文
- 客服暖心活动方案策划
- 2025年自考专业(计算机网络)考试综合练习附参考答案详解(A卷)
- 冷链技术对水果品质保持的数值预测模型研究
- 集输工应急处置考核试卷及答案
- 2025年全国保密教育线上培训考试试题库附完整答案(必刷)
- 珠江医院护理面试题库及答案
- 流程管理某省市场营销MPR+LTC流程规划方案
- 2025年江苏省农垦集团有限公司招聘笔试备考及答案详解(新)
- 2025年济南市中考英语试题卷(含答案及解析)
- 2025年人教版一年级下册数学口算题卡(1000题)
- 化工厂实习安全培训课件
- 生物安全培训试题(答案)
评论
0/150
提交评论