(通信与信息系统专业论文)基于msf的路灯监控系统数据库同步模块的研究与设计.pdf_第1页
(通信与信息系统专业论文)基于msf的路灯监控系统数据库同步模块的研究与设计.pdf_第2页
(通信与信息系统专业论文)基于msf的路灯监控系统数据库同步模块的研究与设计.pdf_第3页
(通信与信息系统专业论文)基于msf的路灯监控系统数据库同步模块的研究与设计.pdf_第4页
(通信与信息系统专业论文)基于msf的路灯监控系统数据库同步模块的研究与设计.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(通信与信息系统专业论文)基于msf的路灯监控系统数据库同步模块的研究与设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 城市路灯照明系统是城市建设的重要组成部分之一。长期以来,很多城市 还采用传统的监控方法,随着城市现代化速度不断加快,迫切需要采用先进的 路灯监控系统。本文中涉及的路灯监控系统通过通讯网络,远程终端( 量盯将观 测的数据传输至监控中心计算机,经过分析和处理并执行相应操作,从而集中 实现了遥控、遥测、遥信“三遥 智能数据采集和监控。然而作为监控系统, 必将会面临数据量的冗杂和通信的频繁。所以,对数据库的管理和通信在监控 系统中将占据十分重要的地位。数据库同步模块在监控系统中就显得非常的重 要,直接关系到了整个监控系统的通信和工作运行稳定程度。 本文主要研究和设计的就是路灯监控系统的数据库同步模块,选题来自安 徽四创电子股份有限公司的研发项目。本文从系统和数据库同步的需求出发, 在讨论和研究了m s f ( m i c r o s o f ls y n cf r a m e w o r k ) 框架的基础上,设计出了一种 基于m s f 框架的数据库同步模块的方案,并运用了n e t 下的w c f 技术实现了 系统的分布式数据库同步模块,实现了跨平台,跨数据源的点对点数据库同步。 本文首先介绍了设计的背景,通过对整个路灯监控系统的介绍,清晰的了 解到数据库同步模块在系统中的位置和作用。然后,介绍了数据库同步模块的 实现机制,其中包括了基于m s f 框架和利用w c f 技术两个部分。在确定好了 同步模块的实现框架和设计结构后,重点介绍了模块的具体实现和设计。最后, 本文搭建了整个数据库模块的测试环境,对所设计出的模块进行了测试和分析。 关键词:路灯监控系统,数据库同步,微软同步框架,w c f ( w i n d o w s c o m m u n i c a t i o nf o u n d a t i o n ) 基于i i s f 的路灯骼控系统数据库同步模块的研究。j 设计 a b s t r a c t c i t ys t r e e tl i g h t i n gs y s t e mi sa ni m p o r t a n tp a r to f t h eu r b a nc o n s t r u c t i o n o v e r t h ey e a r s ,m a n yc i t i e sa l s oh a v eb e e nu s i n gt r a d i t i o n a lm o n i t o r i n gm e t h o d s w i t ht h e a c c e l e r a t i n gp a c eo fu r b a nm o d e r n i z a t i o n , w es h o u l di n t r o d u c ea na d v a n c e ds t r e e t l i g h tm o n i t o r i n gs y s t e mf o ra l lu r g e n tn e e d t h es t r e e t l i g h tm o n i t o r i n gs y s t e mw i l l t r a n s f e ro b s e r v i n gd a t at ot h em o n i t o r i n gc e n t e rv i ac o m m u n i c a t i o nn e t w o r ka n d r e m o t et e r m i n au n i t ( a f t e ra n a l y s i sa n dp r o c e s s i n g ,i tp e r f o r m s t h e c o r r e s p o n d i n go p e r a t i o n s t of o c u so na c h i e v i n gas m a r t d a t ac o l l e c t i o na n d m o n i t o r i n g h o w e v e r ,a st h em o n i t o r i n gs y s t e m ,i tw i l lc e r t a i n l yf a c et h ea m o u n t o f m i s c e l l a n e o u sd a t aa n df r e q u e n tc o m m u n i c a t i o n t h e r e f o r e ,d a t a b a s em a n a g e m e n t i n t h em o n i t o r i n gs y s t e mi sb o u n dt oo c c u p yav e r yi m p o r t a n tp o s i t i o n s od a t a b a s e s y n c h r o n i z a t i o nm o d u l e i nt h em o n i t o r i n gs y s t e mi sv e r yi m p o r t a n t ,w h i c hi sd i r e c t l y r e l a t e dt oc o m m u n i c a t i o n sa n dr u nf o rt h ee n t i r em o n i t o r i n gs y s t e m i nt h i st h e s i s ,t h ef o c u si so nr e s e a r c ha n dd e s i g no fd a t a b a s es y n c h r o n i z a t i o n m o d u l eo fs t r e e t l i g h tm o n i t o r i n gs y s t e m t h et o p i cc o m e sf r o ma n h u is u n c r e a t e e l e c t r o n i c sc o ,l t d sr e s e a r c ha n dd e v e l o p m e n tp r o j e c t s c o n s i d e r i n gt h en e e do f s y s t e ma n dd a t a b a s es y n c h r o n i z a t i o n ,t h es y n c h r o n i z a t i o nm o d u l e i sd e s i g n e db a s e d o nt h em s ff r a m e w o r k m e a n w h i l e ,u s i n gw c ft e c h n o l o g ya c h i e v ead i s t r i b u t e d d a t a b a s es y n c h r o n i z a t i o nm o d u l e ,w h i c hc a na c h i e v i n gp e e r - t o p e e r d a t a b a s e s y n c h r o n i z a t i o n f i r s t l yt h eb a c k g r o u n do ft h ed e s i g n i si n t r o d u c e di nt h et h e s i s v i at h e i n t r o d u c t i o no ft h ee n t i r es t r e e tl i g h tm o n i t o r i n gs y s t e m ,t h ep o s i t i o na n dr o l eo ft h e d a t a b a s es y n c h r o n i z a t i o nm o d u l ei nt h es y s t e mc a nb eu n d e r s t o o dc l e a r l y s e c o n d l y , t h ed a t a b a s es y n c h r o n i z a t i o nm o d u l em e c h a n i s mi si n t r o d u c e di n c l u d i n gm s f a n d u s i n g t h ew c ft e c h n o l o g y a f t e rd e t e r m i n i n gt h es y n c h r o n i z a t i o nm o d u l e f r a m e w o r ka n dd e s i g ns t r u c t u r e ,t h es p e c i f i ci m p l e m e n t a t i o na n dd e s i g no ft h e m o d u l ei sd e s c r i b e d f i n a l l y ,at e s te n v i r o n m e n tf o rt h ee n t i r ed a t a b a s em o d u l ei s b u i l t a f t e rt e x t i n g ,t h er e s u l ti ss h o w e da n da n a l y z e d a b s t r a c t 一一一 k e y w o r d s :t h e s t r e e t l i g h tm o n i t o r i n gs y s t e m ,d a t a b a s e s y n c h r o n i z a t i o n , m s f ( m i c r o s o f ts y n cf r a m e w o r k ) ,w c f ( w m d o w s c o m m u n i c a t i o nf o u n d a t i o n ) 第一章绪论 第一章绪论 1 1 研究背景和发展现状 1 1 1 路灯监控系统的应用现状和发展 城市路灯照明系统是城市建设的重要组成部分之一。随着社会和经济的发 展,作为城市基础设施和城市道路景观之一的路灯建设和管理,也越来越引起 城市人民政府的高度重视和社会各方面的广泛关注。路灯对保障夜间交通安全 和社会治安、美化城市夜景起着积极的作用。城市大型化和现代化的发展,迫 切需要利用先进的管理手段来对路灯进行监控。 长期以来,很多城市还采用传统的监控方法,只能在监控室中采用简单机 械的控制功能,不但造成了控制的不准确,也会因为人为的失误或者其他的一 些因素造成大面积的路灯不亮。再者,由于无法做到实时监测路灯线路的电压, 电流等参数,因此无法做到及时了解路灯系统的运行状态,对系统的维护和检 修也造成了诸多的不便。随着计算机软硬件技术,网络技术等的不断发展,自 动化程度越来越高,运行可靠稳定的城市路灯系统成了城市发展的必然趋势和 选择。路灯监控系统是个典型的分布式数据采集和监控系统( s u p e r v i s o r y c o n t r o la n dd a t aa c q u i s i t i o n ,s c a d a ) 1 1 ,它是集计算机技术、现代通信技术和 自动控制技术于一体的高科技系统。通过通讯网络,远程终端将观测的数据传 输至监控中心计算机,经过分析和处理并执行相应操作,从而集中实现了遥控、 遥测、遥信“三遥智能数据采集和监控l z j 。 1 - 1 2m i c r o s o f t s y n cf r a m e w o r k 框架 2 0 0 8 年,微软推出了微软同步框架( m i c r o s o rs y n cf r a m e w o r k ,m s f ) 1 3 】,它 是为应用程序、服务和设备启动协作和离线方案的综合性同步平台,它具有良 好的通用性和可拓展性,支持几乎支持任何数据类型、任何传输协议、任何网 络配置。通过使用m i c r o s o f ts y n cf r a m e w o r k ,开发人员可以很好的解决目前数 据同步所面临的问题。 基于m s f 的路灯监控系统数据库同步模块的研究与设计 s y n cf r a m e w o r k 可以为数据库同步的多种不同形式的应用程序带来好处。 例如,个人信息管理( p i m ) 软件可以使用s y n cf r a m e w o r k 将p i m 数据更新 信息传播到所有参与者;共享诸如文档等数据的业务应用程序可以使用s y n e f r a m e w o r k 确保所有团队成员接收文档更新并正确处理所有并发更新冲突:在 个人计算机上运行并管理移动设备上的介质管理软件可以使用s y n e f r a m e w o r k 轻松地在设备上执行相应更新。 1 1 3w c f 技术背景 w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) 1 4 1 是微软在n e t 框架下新开发实 现的技术框架,可以说它是“更好的n e t ”。它是基于w i n d o w s 平台下丌发和部 署服务的s d k 。对于企业而言,要实现i t 系统的“自动化”,当一个部门做出 了事务上的变更,其他部门自动做出相应的调整变更。面向服务的架构 ( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) t 5 】就是提供了一种构建i t 系统的标准和方 法,其最大的特性就是互操作性,只要简单、精确地定义了服务接口,s o a 就 可以通过一定的通信机制进行跨技术、跨平台的交互,这样就可以把不同的i t 系统相互联系起来。而w c f 技术就是n e t 框架下实现s o a 的技术基础,因此 提高了开发和工作的效率。w c f 为服务的开发提供了许多的功能,如托管、服 务实例管理、异步调用,可靠性、事务管理、断开队列调用及安全性。此外, w c f 同时提供了设计优雅的可扩展性,使得丌发人员能够丰富w c f 的基础功 能。总体来说,选择w c f 是因为现代的大多应用都是基于服务的,而w c f 正 是与服务密切相关的技术框架。图1 1 描述了利用w c f 技术实现s o a 的基本 方式【6 】o 2 第一章绪论 1 2 项目的研究意义 图1 1 利用w c f 实现的s o a 路灯监控系统随着信息化程度的不断提高,原有的采用面向对象开发的系 统逐渐不能满足现在的需求,原有开发的系统各模块之间耦合性非常强,一旦 系统的业务需求发生一点点变化,往往导致系统中各模块都受牵连,修改起来 非常复杂困难,甚至会导致重新设计整个系统。本文中提到的路灯监控系统基 于s o a 的设计,实现了种松耦合的服务架构,也大大提高了系统的扩展性, 复用性,便于修改和更新【7 】。 同时作为监控系统,必将会面临数据量的冗杂和通信的频繁。所以,对数 据库的管理和通信在监控系统中必将占据十分重要的地位。传统的监控系统中, 往往只有转发中心一个数据库,各个客户端要想获取数据和信息都要通过请求 访问转发中心的数据库来获取数据,这样会造成监控中心的通信负荷,时常也 会产生各种连接冲突和数据冲突,很容易导致系统数据库的通信瘫痪。本文提 出了一种基于转发中心与客户端都采用本地数据库存储设计的方案,即转发中 心和客户端均只和本地数据库通信,而只要由转发中心数据库和各客户端数据 基于m s f 的路灯船控系统数据库闻步模块的研究! j 设计 库实现数据库的同步。所以,数据库同步模块在监控系统中就显得非常的重要, 直接关系到了整个监控系统的通信和工作运行。 为此,本文在讨论和研究了m s f ( m i c r o s o f ts y n cf r a m e w o r k ) 框架的基础上, 设计了一种基于m s f 框架的数据库同步模块的方案,并运用了n e t 下的w c f 技术实现了系统的分布式数据库同步模块,实现了跨平台,跨数据源的点对点 数据库同步。具体的介绍将在随后几章做详细的阐述。 1 3 论文的主要内容结构 本论文是基于本人在公司实习所参与的路灯监控系统的项目而来。论文的 重点在于本人参与设计的数据库同步模块。为此,基于以上的内容,本论文的 内容结构安排如下: 第一章:简单介绍了项目研究背景及一些开发技术的发展现状和技术背景, 然后描述了一下研究的意义,最后介绍了本文的内容结构; 第二章:首先介绍了路灯监控系统的整体结构,然后针对本文重点研究的 数据库同步在系统中的位置和需求进行了分析介绍,并提出了数据库同步过程 中面临的主要冲突问题,并提出了一种服务器和客户端各自使用本地数掘库的 解决方案; 第三章:介绍了实现数据库同步模块的具体实现框架和技术,其中包括了 同步框架m s f 和实现同步的w c f 技术的机制。通过对同步技术的研究,选择 出了适合监控系统的数据库同步结构。 第四章:作为论文的重点部分,介绍了数据库同步模块具体的设计思路和 实现,主要从服务接口的设计到服务的具体调用进行了分析介绍。最后,对数 据库同步模块进行了数据同步测试。 第五章:对全文进行了总结,并提出了下一步进行的工作。 4 第二章路灯髓控系统 第二章路灯监控系统 本文中的路灯监控系统是基于c s 模式,整个监控系统出远程终端、转发 中心、客户端三个部分构成。整个系统通过远程终端获取路灯的状态信息参数, 然后使用g p r s 传到转发中心,再由转发中心进行存储转发处理。 2 1 系统架构和无线传输方式选择 2 1 1 系统架构选择 目前,监控系统的主流架构选择为b s 和c s 架构。这两种架构各具优势, 在选择时要根据它们各自的特点及具体系统的需求来进行综合分析。具体到本 文的路灯监控系统,从其监控性能的考虑分析【8 1 :1 ) 实时性:路灯监控系统的 主要控制手段是分界开关设备,改变开关设备的开、合闸状态,即是改变整个 系统的运行状态。在实际操作中,能否实时、准确、可靠的监控开关,关系着 整个配电网络的正常运行。由于对丌关的操作对实时性要求很高,传统的b s 依赖i n t e r n e t ,网络延时之间影响整个系统的运行效率,网络一旦中断,监控系 统将无法登陆,造成灾难性的后果。2 ) 安全性:传统的b s 暴露在广域网中, 易受到网络攻击,虽然可以利用s s l 、h t t p s 等技术的改进,但花费的成本较大。 同时,监控系统一般由专人值守,所以监控人员和客户端设备相对固定,b s 架构的“瘦 客户端优势无法达到发挥。 基于以上两点的分析,本文的监控系统采用c s 架构。 c s 架构即客户机( c l i e n t ) 服务器( s e r v e r ) 架构。在c s 架构中,服务 器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网 络服务资源,而服务器为客户机提供网络必须的资源。 传统的c s 架构一般分为两层:客户端层和服务器层。该架构的基本工作 原理是客户程序向数据服务器发送s q l 请求,服务器返回数据和结果。客户端 负责实现用户接口功能,同时封装了部分应用逻辑。服务器端的数据库服务器 主要提供数据存储功能,也通过触发器和存储过程提供部分应用逻辑。除了两 层架构外还可以根据实际需要分成多个逻辑层架构来组织整个系统。c s s 三层 基于m s f 的路灯监控系统数据库同步模块的研究- j 设计 架构,即客户应用服务器数据库服务器三层架构,中问增加了应用服务器,通 常实现应用逻辑1 9 1 。c s 三层架构如图2 1 所示。 图2 1 三层c s 架构 本文的路灯监控系统采用的是c s 的三层架构,但是如果采用传统的c s 三层架构,客户端在获取服务器的信息时,需频繁与服务器的数据库进行连接, 这样会严重占用服务器的的资源。因此,为了减少对服务器的数据库的载荷, 本文提出了一种在客户端加载了本地数据库的结构,即服务器和客户端分别拥 有本地的数据库,直接调用本地数据库进行访问。在添加了数据库同步模块后, 防止了数据库之间的数据冲突。图2 2 就是本系统采用的改进后的三层c s 架 构。 客户端数据库 数据同步 图2 2 改进后的三层c s 架构 2 1 2 无线传输方式选择 在无线监控系统中,g p r s i n t e m e t 无线网络通信方式已经广泛得到了运用。 g p r s ( g e n e r a lp a c k e tr a d i os e r v i c e ) 1 1 0 1 是通用分组无线服务技术的简称,是移 动用户可用的一种移动数据业务。g p r s 和连续的传输方式不同,它是以封包 式来传输,使用者所负担的费用是依据其传输资料的单位计算,并非占用整个 频道,理论上较为便宜。g p r s 充分利用无线信道,提供端到端的、广域的无 线i p 连接,能无缝隙的接入i n t e m e t 。监控系统中的远程终端单元r t u 采集装 置将信息通过g p r s 传输,采用i po v e rp p p 实现数据终端的高速,远程接入。 6 第二章路灯旅控系统 r t u 信息由g p r s 传输过程如图2 3 所示。 控制开关 j r t u 沓 玲 远程终端 b s s 6 6 s n 图2 3g p r s 传输数据的网络拓扑结构 g p r s 具有以下特烈1 1 】: 1 ) 充分利用现有资源一中国移动全国范围内的电信网络( g s m ) ,可以方 便、快捷、低廉的为用户数据终端提供远程接入网络的部署: 2 ) 传输速率较高,最高速率可达11 4 k b p s ; 3 ) 接入时间短,g p r s 接入等待时间平均在2 秒以内; 4 ) 提供实时在线功能( a l w a y so n l i n e ) 。用户始终处于连线和在线状态,这 使得访问服务变得非常简单快捷; 5 ) 按流量计费,g p r s 用户只有在发送和接收数据时才占用网络资源,运 营商按照用户接收和发送数据包的数量来收取费用,没有数据流量传送时,即 使在线也并不收费。 基于以上g p r s 的特点,在远程突发数据实时传输中有不可比拟的优势, 非常适合诸如远程分界开关监控此类的频发小数据量的实时传输系统,所以采 用g p r s 作为本监控系统无线数据传输方式。 2 2 系统结构 由上述可以分析出,系统采用改进的三层c s 模式,远程终端r t u 与转发 中心采用g p r s 通信。整个路灯监控系统由远程终端、转发中心、客户端三个 部分构成。系统结构如图2 4 所示。 綦于m s f 的路灯j 鼯控系统数据库同步模块的研究与设计 图2 4 监控系统整体结构图 从上行角度看,远程控制终端( r 1 m ) 将采集到的状态信息和设置信息以 协定好的数据帧格式通过g p r s 网络发送给转发中心,转发中心接收到数据帧 后对其进行解析,存入数据库。与此同时,控制中心将收到的r t u 协议帧转发 到全部上线客户端,客户端接收到协议后同样进行解析、存入数据库操作,同 时在客户端界面上显示信息。一一 从下行的角度看,客户端需要把从业务展示界面上接收到的监控人员的控 制命令( 如设置参数、控制开关、查询等) 依据设计好的协议格式构造出准确 的下行信息帧,通过i n t e r n e t 发送给转发中心;转发中心接收到控制命令帧后, 解析并存入数据库,同时根据解析出的信息,将控制命令转发到目标r t u ;远 程控制终端接收到下发信息帧后,通过解析实现更改参数的设定以及控制路灯 的开合等命令。 下面将分别简要介绍下远程终端、转发中心、客户端三个部分。 2 2 1 远程终端 在监控系统中,为了实现远程数据的采集和输送,必须在远程终端上安检 测采集装置,这类装置被称为远程终端控制单元【1 2 l ( r e m o t et e r m i n a lu n i t , 第二章路灯脑控系统 r t u ) 。本系统中它将负责实时获取路灯工作电压、工作电流和开关状态等信息 并将其发送给服务器,接受服务器命令,存储命令信息以实现定时开关灯及设 定配置信息等功能。为了应对突发通信故障,还可将事先设定的开关灯时间表 存入其存储器内,提高系统可靠性。本系统r t u 基本原理图如图2 5 所示【1 3 1 。 2 2 2 转发中心 图2 5r t u 基本原理图 在整个路灯监控系统中,转发中心是系统的核心部分。它从r t u 接收到发 过来的信息帧,解析,储存然后还要转发到在线的客户端中去。此外,它还要 接收来自客户端的控制指令,然后实现对各个r t u 的操纵和控制。所以,转发 中心是整个系统的中心,是客户端和r t u 之间的一条联系的纽带。转发中心的 原理图如图2 6 所示。 9 基于m s f 的路灯监控系统数据库同步模块的研究j 设计 转发中心数据库 图2 6 转发中心原理图 从上图可以看出,整个转发中心由三个基本模块组成,各个模块分别实现 了不同的功能,它们分别是: 1 ) 网络通信模块:它主要实现的整个转发中心与其他部分的通信功能。一 方面,它实现了与r t u 之间通过g p r s 网络通信;另一方面,它通过i n t e r n e t 网络与客户端之间通信,主要包括信息帧的转发和客户端控制指令的上行发送。 2 ) 数据处理模块:数据处理模块中又包含了三个子模块:协议解析模块, 数据库访问模块和数据转发模块。数据转发模块存储了在线的r t u 与客户端的 基本信息,负责向网络通信模块提供站点信息和对客户端进行管理权限设定: 协议解析模块主要是对r t u 和客户端上传的数据帧进行解析,并将解析后的数 据提供给数据库访问模块;数据库访问模块主要完成对数据库的读写操作。 3 ) 数据同步模块:它负责为客户端本地数据库提供数据同步服务,接收从 客户端发来的数据同步请求。这也是本论文的重点部分,将在后面的章节做详 细的介绍。 2 2 3 客户端 客户端是面向监控人员,执行监控功能的终端。它不仅要提供友好的客户 l o 第二章路灯瓶控系统 界面和实现监控功能,同时还应集成权限管理等其他相关功能1 1 4 1 。客户端中绝 大多数模块作用与设计方法和转发中心类似,其原理图如下图2 7 所示。 i n t e r n e t 图2 7 客户端原理图 2 3 系统中的数据库同步模块 通过前面两节的介绍,对整个监控系统有了一个大体上的了解。在整个监 控系统中,由图2 6 和图2 7 可以很清晰的得出数据库同步模块所处的位置。在 客户端和转发中,t 3 分别有一个数据库同步模块,而这两个模块分别都负责与本 地的数据库直接通信,然后通过i n t e m e t 进行数据同步。 当客户端处于在线状态时,转发中心自然而然会将r t u 传上来的信息帧进 行转发给客户端,再由客户端进行解析并将信息存储在客户端本地的数据库中 去。很显然,这种情况下,就不需要数据库同步模块的参与。但是在现实的使 用中,会出现各种各样的问题,导致一些信息不能准确的传给客户端,存在数 据库之间的数据冲突问题,具体分两种情况1 1 5 j : 1 ) 客户端与转发中心数据库数据冲突 当某一( 或全部) 客户端处于离线状态时,转发中心与客户端就停止了联 系。此时转发中心就不能把r t u 上传回的信息帧转发给离线的客户端,也就导 基于l t s f 的路灯歌控系统数据库同步模块的研究与设计 致了客户端的本地数据库未能得到及时的更新。由于本地数据库未被更新,客 户端数据库中将不存在客户端离线时间段的信息,导致用户无法查询到此时间 段的历史信息,影响监控系统功能的实现。 2 ) 客户端数据库之间的数据冲突 如果监控人员在客户端( 具有管理员权限) 对监控系统覆盖站点实施添加 或删除等操作,由于离线客户端与系统其他在线客户端之间没有通信,所造成 离线客户端上线时无法正常更新站点信息,从而造成系统紊乱。 由此,为了保证监控系统的正常运转,必须使用数据库同步技术实现系统 内各部分数据库之间的数据同步。具体实现的策略和方法将在后一章进行详细 的介绍。总之,数据库同步模块在整个系统中处于非常重要的作用,保证了转 发中心和各客户端数据库之间的一致性,避免了数据冲突导致系统紊乱的发生。 2 4 本章小结 本章首先讨论了路灯监控系统的架构和无线传输方式的选择,提出了一种 改进后的三层c s 架构,即客户端和服务器各自有一个本地的数据库,这样避 免了客户端频繁与服务器的数据库进行连接,导致严重占用服务器的的资源。 随后对本文涉及到的路灯监控系统的各部分组成进行了简单的介绍。最后,针 对本文重点介绍的数据库同步模块,对其在整个系统中存在的必要性进行了论 述。 基于m s f 的路灯豁控系统数据库同步模块的研究与设计 第三章数据库同步模块的实现机制 本章从数据库同步模块的设计出发,研究讨论了实现数据库同步模块的机 制。首先介绍了同步的框架m s f ,确定了同步的结构。然后研究讨论了实现同 步所运用的w c f 技术,该技术架构是面向服务的编程技术,具有跨平台,松 耦合等技术优势。 3 1 s y n cf r a m e w o r k 技术架构 3 1 1m s f 概述 m s f ( m i c r o s o f ts y n cf r a m e w o r k ) 是微软推出的微软同步框架,是一个功能完 善的同步平台,实现了应用程序、服务和设备的协作和脱机访问。s y n c f r a m e w o r k 提供了一些可支持在脱机状态下漫游、共享数据和获取数据的技术 和工具。通过使用s y n cf r a m e w o r k ,开发人员可以构建同步生态系统,通过在 任意网络上使用任意协议,将任意应用程序与任意存储区中的数据集成在一起。 m i c r o s o f ts y n cf r a m e w o r k 中含有绝大多数常见数据源的提供程序,包括 a d o n e t 数据源、甚至文件系统和s s e 数据源,同时也支持自定义同步提供 程序编写,开发人员可以根据需要方便的使用或创建自定义提供程序在设备和 应用程序之间交换信息。微软同步框架( m s f ) 是一个全面的同步平台,利用 微软同步框架我们可以使用一致的方式在应用、设备、服务之间同步数据。作 为框架,s y n cf r a m e w o r k 提供了基础类库,工具和技术,用正确的方式构建同 步应用程序;同时因为框架只是一个应用的半成品,还需要扩展框架来实现自 己的同步应用1 1 6 】。在m s f 同步结构中,是通过各自的同步提供程序来进行会话 通信,来实现数据的同步的。m s f 的架构如图3 1 所示【1 7 】。 基于m s f 的路灯:i f 【控系统数据库旧步模块的研究与敬计 数据存储区 数据存储区 图3 1m s f 同步结构 下面简单的描述同步要解决的基本问题i 7 。8 】:源( s o u r c e ) 记录更改,把更改 的部分传输给目标( d e s t i n a t i o n ) ,目标检测并处理冲突,更改应用( a p p l y ) 到本地。 然而,如何记录更改,如何检测并处理冲突是同步框架要解决的核心问题。微 软同步框架( m s f ) 对这些通性问题进行了抽象,s y n cf r a m e w o r k 使用元数据 i s l ( m e t a d a t a ) 来跟踪更改并检查冲突。 在m s f 中,可以通过比较数据的当前状态和数据先前的状态来判断数据是 否更改,通过比较数据的当前状态和要应用到本地存储中的数据状态来判断是 否产生冲突。这些用于跟踪数据更改,数据冲突的状态数据就叫做同步元数据 ( m e t a d a t a ) 。与所有的同步框架和同步应用一样,同步元数据是m s f 的基石。 m s f 的目标是能够同步任何类型的数据,因此对要同步的数据类型没有特别规 定。元数据不需要与被同步的数据保存在起,m s f 允许为元数据提供额外存 储,例如可以保存到文件、数据库,或就在被同步的数据源中。元数据由版本 ( v e r s i o n s ) 、知识( k n o w l e d g e ) 、墓碑( t o m b s t o n e s ) t s l 这几个关键部分组成。版本 记录条目( i t e m ) i d 及条目何时何地被更改的信息。条目可以是任何可以标志的 同步单元,例如数据库表里的一行,或者数据库表里一行中的一个或者几个字 段。当一条数据被更改时,该更改的创建版本和更新版本信息都被记录。知识 是m s f 中用于枚举更改和冲突检测的压缩的数据表示,主要用于改善同步的性 1 4 第三章数据库同步模块的实现机制 能。m s f 引入知识的概念,它将一个复本的当前更改信息以十分压缩的形式保 存在内部数据结构中。知识最大的特点是它用尽可能紧凑的数据来支持更改枚 举和冲突检测,因此提升同步效率。墓碑是用于记录条目的删除信息。 正是利用了同步元数据,使得利用m s f 可以同步任何数据类型的数据存 储区。利用m s f 同步的流程图如图3 2 所示【1 8 l 。 数据接收方 数据提供方 图3 2m s f 同步流程 首先当数据接收方有同步的需求时,发起启动同步会话的请求,并建立一 条从数据接收方到数据提供方的网络连接。数据提供方收到同步会话的请求后, 查找自身的元数据,并将元数据发送给接收方。数据接收方接收到元数据后, 进行比对,确定需要更新的数据,并将其发送给数据提供方。数据提供方获知 需要更新的数据后,找到与之对应的元数据发送给数据接收方进行冲突检测。 检测过后,数据接收方讵式请求接收需要更新的数据。在获取更新的数据后, 数据接收方进行更新数据库和元数据的操作。最后,结束本次同步会话。 基于l t s f 的路灯舱控系统数据库闷步模块的研究。j 设计 3 1 2 数据库同步 s y n cf r a m e w o r k 支持在数据库之间进行同步。它提供了一个直观且灵活的 a p i ,使您可以生成面向脱机和协作方案的应用程序。通过该a p i ,可以根据应 用程序的体系结构和要求,使用所提供的所有或部分组件。s y n cf r a m e w o r k 支 持客户端一服务器、客户端到客户端和混合拓扑。在客户端服务器拓扑中,所 有客户端都与某一中央服务器同步。在客户端到客户端拓扑中,每个客户端都 可以与其他客户端同步,而变更不必通过中央服务器来传递。混合拓扑由客户 端到客户端拓扑和客户端一服务器拓扑组合而成。 当使用典型的数据同步方案时,用户使用v p n 连接或直接连接到网络访问 服务器的数据。但对于大多数远程的用户来说,这种解决方案由于在下列方面 存在严重的缺陷而无法获得满意的效果。 1 ) 网络要求:若要使用户能够访问信息,远程的设备必须无间断的连接到 网络进行服务器的访问。但这对于如果没有网络连接而导致无法访问中心数据 库的用户来说,将无法有效的获得数据。 2 ) 数据访问速度:在典型的客户端一服务器网络环境中,用户拥有快速访 问信息的高速网络。但是,远程用户往往都是通过不太可靠的慢速网络进行连 接。在使用典型的的解决方案时,每次用户需要一份数据时,都必须进行下载, 因为无法将数据长久的保存到设备上。这可能会导致所花费的时间非常的长, 甚至没能达到数据的下载。 3 ) 单个故障点:使用这种典型解决方案时,用户往往依赖于单个服务器数 据库。如果数据库由于故障而无法使用时,所有远程的工作人员将与其数据的 连接中断。 4 ) 服务器的可伸缩性:随着远程工作人员的不断增加,中- 5 , n 务器的性能 必将受到严重的影响,并且可能需要添加更多的硬件。 针对以上所可能导致的问题,本文系统中采用的是偶尔连接的解决方案。 该方案使得远程工作人员能够访问数据,但其所需要的信息数据在本地存储。 应用程序通常采用数据同步来填充本地的数据库。使用这种方案,客户端的数 据库与服务器的数据库进行同步变更。用户不再必须使用不问断的网络进行访 问信息。由于使用了本地的数据库,客户端用户可以随时访问数据,同时减轻 1 6 第三章数据库同步模块的实现机制 了服务器数据库的处理负载。此外,网络速度不再是限制因素,用户现在可以 以本地计算机的速度来访问数据。图3 3 在客户端一服务器拓扑中,多个客户 端连接到一个中心服务器,采用偶尔连接来进行同步数据库,进行本地数据库 的更新【1 9 】。 f 源 图3 3 “偶尔连接”的同步模型 3 1 3m s f 数据库同步结构的选择 在m s f 数据库同步解决方案中,有双层和n 层结构体系可供选择。它们各 自具有自身的特点,在选择上必须根据监控系统需求并结合它们各自优势综合 考虑。图3 4 和图3 5 分别显示了双层结构和n 层结构的同步体系1 9 1 。 图3 4 双层同步结构体系 基于m s f 的路灯监控系统数据库同步模块的研究! j 设计 派生,由应用程序开发人员 创建。 图3 5n 层同步结构体系 从上面两图可以看出,在这两种结构体系中,同步适配器( s y n c a d a p t e r ) 模 仿a d o n e t 中的数据适配器,为同步提供程序提供与数据库交互所需要的s q l 命令。同步控制( s y n c o r c h e s t r a t o r ) j i 过调用本地计算机和远程计算机的同步 提供程序( s y n c p r o v i d e r ) 进行同步的过程。 对比这两种体系结构,虽然实现的原理非常相似,但n 层体系结构在面对 大规模的数据时,有着无法比拟的优势。数据库同步n 层结构不需要在客户端 数据库和服务器数据库之间建立直接连接,所以这种体系结构比双层体系结构 耦合性小,也更实用和安全。同时,由于n 层模式使用s o a p ( 简单对象访问 协议) 作为客户端与服务端互换信息的标准,而s o a p 的最大特点是以x m l ( 可拓展标记语言) 来封装和调用远程服务,具有跨平台、跨语言的特性,这 能使系统能够兼容各种服务端与客户端,非常有利于以后的升级整合和拓展。 此外,s o a p 还选择了以h t t p ( 超文本传输协议) 作为它的传输协议,而h t t p 又具有所有操作平台的共通性,由于它的默认端口是开放的,数据同步程序可 以轻易的跨越服务端防火墙,因此可以大大减少系统开发和维护上的难度。虽 然n 层体系结构在实现上较为复杂,但是显然更适合监控系统的使用。 因此,本文的路灯监控系统采用的是n 层结构体系来实现数据库同步。具 体的同步过程如下:首先,本地客户端程序实例化一个本地s y n c p r o v i d e r ,它 包含需要同步的数据表信息和控制命令,接着包含服务器端数据的信息的 s y n c p r o v i d e r 以服务的形式通过s o a p 发送到客户端中,并在客户端生成服务 器s y n c p r o v i d e r 的代理p r o v i d e r ,最后在客户端程序中,通过调用 第三章数据库同步模块的实现机制 s y n c o r c h e s t r a t o r ,使本地s y n c p r o v i d e r 和服务器代理p r o v i d e r 实现互联,然后 完成同步。 3 2w c f 技术框架 前面3 1 节描述了整个同步的框架,它是基于n e t 下的m s f 同步框架实现 数据之间的同步。具体实现上,本文利用w c f 技术实现了监控系统分布式数 据库同步模块,实现跨平台,跨数据源的点对点数据库同步。 3 2 1 服务 w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) 是微软在n e t 框架下新开发实现 的技术框架,它是一种面向服务的架构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 。 其最大的特性就是互操作性,只要简单、精确地定义了服务接口,s o a 就可以 通过一定的通信机制进行跨技术、跨平台的交互,这样就可以把不同的i t 系统 相互联系起来【2 0 1 。 服务是一组公开的功能集合。面向服务的应用程序将众多的服务聚集到一 个单一逻辑的应用程序中【2 1 1 。服务可以是本地的,也可以是远程的,可以由多 个用任意技术进行开发的个体开发而成。服务内部包含了如语言、技术、平台、 版本与框架等诸多概念,服务之间的交互则只允许使用规定的通信模式。客户 端作为服务功能的一方,理论上,客户端可以是任意事物,例如:w i n d o w s 窗 体类、w p f 或者是s i l v e r l i g h t 类、a s e n e t 页面或者其他服务。客户端与服务 通过发送与接收消息进行交互。在w c f 中,消息通常是s o a p 消息,与协议 无关。因此,w c f 服务可以在不同的协议之间传输,而不仅限于h r r p 。此外, w c f 客户端可以与非w c f 服务完成互操作,而w c f 服务也可以与非w c f 客 户端交互。 因为服务的创建对外界是不透明的,也就是说,外界的客户端并不知道服 务的内部实现细节,只完成对服务的使用。所以w c f 服务通常通过公开元数 据的方式描述可用的功能及服务可能采用的通信方式。w c f 不允许客户端直接 与服务交互,即使是它调用的是本地机器内存中的服务也不允许。客户端是通 过调用由服务器端产生的代理( p r o x y ) 来使用服务。代理公丌的操作与服务相同, 1 9 基于m s f 的路灯监控系统

温馨提示

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

评论

0/150

提交评论