WinCE.Net平台下电力巡检仪数据同步研究与实现_第1页
WinCE.Net平台下电力巡检仪数据同步研究与实现_第2页
WinCE.Net平台下电力巡检仪数据同步研究与实现_第3页
WinCE.Net平台下电力巡检仪数据同步研究与实现_第4页
WinCE.Net平台下电力巡检仪数据同步研究与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、WinCE.Net平台下电力巡检仪数据同步研究与实现摘要研究并实现了使用远程数据访问(ReteDataAess)RDA对象,实现PketP上的SQLServerE数据库与远程P服务器上的SQLServer2000数据库数据同步与交换,最后以电力巡检系统为例,从系统平台的选择、搭建、网络协议,远程数据访问及系统实现等几个方面给出了系统的整体架构。关键词PketP;数据同步;远程数据访问;TP/IP协议数据同步已经成为移动计算的一种基础应用模式。但由于在移动环境中设备多样,需要交互的数据也千差万别,再加之连接特性很不稳定,这就要求用标准的方法来实现数据同步,使之能成为移动计算环境中的一个基础设施。

2、我们在PketP2002中加载了SQLServerE作为PketP的数据库,在indsServer2003中加载了SQLServer2000作为普通台式计算机的数据库,同时采用了irsftVisualStudi.NET2003作为研究的开发平台,PketP与普通P计算机之间的数据同步采用XL方式进行。1.1下载和安装SQLServerE在微软的相关网站上下载SQLServerE2.0或以上的版本,将PketP与桌面计算机正确建立合作关系,进行数据通讯,按要求在桌面计算机上正确安装SQLServerE,安装时,通过建立的合作关系,安装程序会将SQLServerE同时安装到PketP上。1.2配置

3、基于IIS的eb服务器要想通过PketP直接访问服务器中的SQLServer2000数据库中的数据,在服务器上必须安装IIS,建立eb服务器。正确安装IIS后还要进行下面的配置:打开“控制面板-Internet信息服务”,设置步聚如下:(1)增加虚拟目录(2)虚拟目录名称为:per(电力)(3)填写虚拟目录路径:将存放SQLServerE的系统目录下Server于目录作为虚拟目录路径,如:D:irsftSQLServerE2.Server。该目录下包含ssesa20.dll等文件。(4)设置访问权限:该目录应该设置为读取和写入,执行许可应设置为:脚本和可执行程序。(5)测试SQLServerE

4、IE安装是否正确:打开IE浏览器,在地址栏中输入http:1/sqle/ssesa20.dll,其中,1是eb服务器IP地址,系统返回:SQLServerEServerAgent,则表明设置正确。1.3在服务器配置SQLServerESQLServerE安装后,打开“程序irsftSQLServerE2.0-nfigurennetivitySupprtinIIS”,执行nf-igurennetivitySupprtinIIS菜单项,对相关项目进行配置,这样的配置是必须的。RDA对象,是SQLServerE自带的,它为indsE应用程序访问远程的SQLServer2000数据库提供了一种简单的访

5、问方式。利用它可以将存在PketP上的数据直接写入到远程的SQLServer2000数据库中或将远程的SQLServer2000数据库的数据下载到PketP中的SQLServerE数据库中的一个数据表中,这样就实现了数据的交换与同步。安装完SQLServerE后,我们就可以在开发平台如:EbeddedVisual+或irsftVisualStudi.NET2003中使用RDA对象来访问SQLServer2000数据库中数据。我们使用的是irsftVisualStudi.NET2003开发平台。RDA对象有许多方法和属性,主要的方法和属性如下RDA对象的主要方法(ethd):方法功能说明Pull

6、方法从irsftSQLServer数据库中获取数据存放在SQLServerE数据库中的一个表中。注意,该表应是一个不存在的数据表执行Pull方法后,会自动建立数据表。Push方法将SQLServerE数据库表中已改变的数据上传到ServerE数据库的对应表中。方法说明InternetURI属性P服务器上ssesa20.dlI的访问地址如:http:1/sqle/ssesa20.dllLalnnetinString属性String属性PketP的数据库访问连接串RDA对象的主要属性(Prperty)采用irsftVisualStudi.NET2003作为开发工具,开发语言是#,服务器采用inds

7、Server2003数据库采用SQLServer2000,SQLServerE。3.1在PketP上创建SQLServerE数据库SQLServerE中的数据库是存储结构化数据的表集合。在可以存储数据库之前,必须创建数据库。在创建数据库之后,可以创建保存数据的表。首先在PketP上创建一个名为PerDB.sdf的SQLServerE数据库。3.2创建alkThrugh类publilassalkThrughstatividain()Sqlennetinnn=null;if(File.Exists(PerDB.sdf)/判断File.Delete(PerDB.sdf);SqleEngineengi

8、ne=neSqleEngine(DataSure=PerDB.sdf);/创建空数据库engine.reateDatabase();nn=neSqlennetin(DataSure=PerDB.sdf);/连接到新数据库nn.pen();运行上述代码将会在PketP上建立一个名为PerDB.sdf的数据库,用于访问该数据的数据源为PerDB。3.3数据库同步代码为了使PketP上数据库数据与P服务器上的数据库数据保持同步,我们采用远程数据访问(RDA)对象来实现下面简单介绍设计及实现方法。(1)初始设置下面代码对PketP的数据库连接和要保持同步的远程服务器SQLServer2000数据库连接

9、进行初始设置:privatevidRDAF_Lad(bjetsender,Syste.EventArgse)/加载同步窗体即初始化synDS=neDataSet();/声明数据集synDS.Lale=ulturEinf.urrentulture;urrentFlder=Syste.Refletin.Assebly.GetExeutingAssebly().GetNae().deBase;/获取程序集URL位置urrentFlder=urrentFlder.Substring(0,urrentFlder.LastIndexf()+1);xlFileNae=urrentFlder+Synnfig.

10、xl;/获取文件名xsdFileNae=urrentFlder+Synnfig.xsd;/获取文件名FileStreaFsXL=neFileStrea(xlFileNae,Filede.pen);FileStreaFsXSD=neFileStrea(xsdFileNae,Filede.pen);XlTextReaderxtrXSD=neXlTextReader(FsXSD);synDS.ReadXlShea(xtrXSD);xtrXSD.lse();FsXSD.lse();XlTextReaderxtrXL=neXlTextReader(FsXL);synDS.ReadXl(xtrXL);xt

11、rXL.lse();FsXL.lse();DataTabledt=synDS.TablesSynn;/定义数据集中的表/为控件获取数据绑定Text.DataBindings.Add(neBinding(Text,dt,nae);(2)数据同步2方法:数据下载(同步到本机)与上传(同步到服务器)笔者利用RDA的Push和Pull方法分别实现了将掌上电脑上的SQLServerE数据库的数据上传到P服务器上的SQLServer2000数据库中及将P上SQLServer2000数据库中数据下载到掌上电脑的SQLServerE数据库中。将SQLSever2000数据库中PerDB的表中数据下载到SQLS

12、erverE数据库中同名的表中:下面我们介绍一下这两种方法:rdaPush();/数据上传方法privatevidrdaPush()SqleReteDataAessrda=null;rda=neSqleReteDataAess();rda.InternetLgin=lgin;rda.InternetPassrd=pd;rda.InternetUrl=URL;rda.LalnnetinString=lalnnetinString;rda.Push(tlR,rdaleDbnnetString,RdaBathptin.Bathingn);rda.Push(tlRRerd,rdaleDbnnetStr

13、ing,RdaBathptin.Bathingn);rda.Push(sutRerd,rdaleDbnnetString,RdaBathptin.Bathingn);essageBx.Sh(数据上传成功);rda.Dispse();rdaPull();/数据下载方法privatevidrdaPull()if(File.Exists(dbNae+.sdf)File.Delete(dbNae+.sdf);SqleEngineengine=neSqleEngine(lalDbString);engine.reateDatabase();SqleReteDataAessrda=null;rda=neS

14、qleReteDataAess();rda.InternetLgin=lgin;rda.InternetPassrd=pd;rda.InternetUrl=URL;rda.LalnnetinString=lalnnetinString;rda.Pull(tableNae,Selet*frtableNae,rdaleDbnnetString,RdaTrakptin.TrakingffithIndexes,ErrrTable);stringday=string.Epty;/条件同步GetDate(refday);/获取当前日期格式/基本信息,需要上传服务器rda.Pull(tableNae,Sel

15、et*frtableNae,rdaleDbnnetString,RdaTrakptin.TrakingnithIndexes);essageBx.Sh(数据下载成功!);rda.Dispse();(3)用标准的SQL语句修改远程P服务器数据库中的数据除了用Pull,Push方法下载和上传数据外,RDA的SubitSQL方法还支持用标准的语句,如:Insertint、Update、delete等语句对远程的P服务器端SQLSever2000数据库数据进行增加、更新等操作,甚至还可以使用存贮过程对数据库进行操作,在这里笔者不做以详细介绍了。嵌入式系统与一般P在开发硬件环境上的最大差异在于它分为两个

16、平台:开发平台和目标平台,程序在主机端开发、编译,在目标平台的另一个UP平台上执行,这就造成了嵌入式系统的交叉编译、下载程序到目标平台内存、远程调试的特殊现象。远程调试实际包含两部分软件,前端运行在主机并提供人机界面;后端运行在目标机上,它负责通过某种链路来和前端通信。后端被称作调试监控器(debugnitr),它提供了对目标处理器的底层控制。4.1系统的选择与组成应用系统主要由两部分组成见图1。客户端:目标机采用嵌入式indsE操作系统为平台,相应的开发语言为#;实现功能:在本文中执行/S中的服务器进程。服务器端:主机采用indsServer2003,开发工具为面向对象的irsftVisua

17、lStudi-.NET2003,数据库管理系统采用SQLServer2000;实现功能:在本文中执行/S中的客户进程。提出与目标机的连接请求,在连接成功后与客户端进行数据上传与下载。图1客户/服务器模式的系统组成4.2TP/IP协议随着因特网的迅速发展,使TP/IP体系结构成为事实上的工业标准。TP/IP协议把网络协议看成5层的层次模型,如图2所示。图2网络协议层次模型上图中每个层都实现自己的功能,且每层的功能都是其上一层提供的服务基矗网络层协议IP协议,它提供在通信子网中进行路由选择的算法。IP协议使用IP地址来确定发送端(源主机)和接收端(目的主机),提供端到端的数据同步。传输层中有TP协

18、议,该层协议提供主机之间的进程与进程的有效数据传输,数据的发送端和接收端都要建立起端点,形成连接关系,这两个端点即为“套接字”。4.3系统软件实现本系统是面向客户机/服务器模式设计的,其系统必须包括客户和服务器的两个进程,而且服务器进程要先于客户进程启动,在提供服务时必定存在服务器进程和客户进程两个运行着的进程。图3所示为目标机上的服务器进程和主机上的客户进程的执行顺序和流程图。借助网络通信实现电力巡检中巡检信息的共享和同步,可极大提高巡检管理的自动化程度和生产效率。在远程服务器上建立中央巡检数据库,在现场巡检仪中仅设置小容量数据库;由中央数据库对整个系统中的电力设备进行统一的管理调度,而局部数据库与中央数据库间的数据传输与同步可以提高电力设备的使用效率和系统的快速应变能力

温馨提示

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

评论

0/150

提交评论