基于JavaRMI技术信息家电远程控制设计与实现_第1页
基于JavaRMI技术信息家电远程控制设计与实现_第2页
基于JavaRMI技术信息家电远程控制设计与实现_第3页
基于JavaRMI技术信息家电远程控制设计与实现_第4页
基于JavaRMI技术信息家电远程控制设计与实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、基于JavaRMI技术信息家电远程控制设计与实现.数据库及信息管理.本栏目责任编辑:闻翔军基于JavaRMI技术信息家电远程控制设计与实现唐赞玉1I2,刘宏,瞿绍军(1.湖南师范大学数学与计算机学院,湖南长沙410081;2.吉首大学数学与计算机学院,湖南吉首416000)摘要:本文针对家庭网络分布式环境,探讨基于XML语言描述信息家电基本信息的方法,实现了基于lSP+lavaBean+Servlet发布信息家电信息,并自动形成远程的控制界面,同时利用lavaRMI技术实现远程对信息家电的控制.这对于信息家电远程控制的实际应用具有重要意义.关键词:XML;信息家电;IavaRMI;JSP+la

2、vaBean+Servlet中图分类号:TP319文献标识码:A文章编号:10093044(2007)1731216_02DesignandRealizationofRemoteControIBasedonJavaRMIinInf0rmationApplianceTANGZan-Yu1.2,LIUHong,QUShao-jun(1.CoUegeofMathematicsandComputerScience,HunanNormalUniversity,Changsha410081,China;2.CoUegeofMathematicsandComputerScience,JishouUniver

3、sity,Jishou416000,China).Abstract:Intheviewoffamilynetworkspecialenvironment,itisdescribedthatthemethodofbasicinformationintheinformationappliancesisbasedOntheXMLlanguage.Anditisissuedthattheinformationappliancesinformationispublished.AtthesametilTle,itisautomaticayformedthattheremotecontrolinterfac

4、eisbasedonJSP+JavaBean+Servlet.ItisrealizedremotecontroloftheinformationapplianceschtheRMItechnology.Allareimportantwhentheremotecontrolofinformationapplianceisappliedinthispaper.Keywords:X_ML;InformationAppliance;JavaRMI;JSP+JavaBean+Servlet1引言家庭网络是20世纪90年代兴起的一项新技术.其目标是实现家庭环境中的信息化和网络化,以使家具环境更加舒适,安全

5、,高效和便捷l1.家庭网络中的信息家电或智能设备,不仅要能上网接受和传送信息.实现远程监控.而且信息家电之间能够协同工作目前网络应用已经从传统的集中控制结构发展到分布式控制结构构成分布式系统,系统由一组通过网络连接在一起的,能独立工作的计算机组成.这些计算机安装了分布式系统环境,使得它们能够协同工作.共享系统资源.家庭网络是一种特殊的分布式系统环境为了适应分布式环境,出现了Corba,Deom等适应不同环境的平台,但是JAVA具有对象传递,平台无关性等特性,因此已成为lntemet上广泛应用的程序语言.而在家庭网络这一特殊的分布式系统环境下.使用JAVA语言构建的环境与平台具有显着的优势.因此

6、本文基于JSP+JavaBean+Servlet来进行实现信息家电的远程控制2关键技术2.1JavaRMI方法分布式系统要求分布于不同地址控件,不同宿主机上的计算机之间能够相互通信.Java能支持Sockets.但是其协议的设计很复杂而且容易出错.所以SUN公司提供了RMI来实现Java同构环境下的分布式对象系统.在JAVA分布式对象模型中,一个远程对象的方法能被不同宿主机上的JAVA虚拟机调用这种类型的对象被一个或多个远程接口描述.远程接口声明了远程对象的方法RMI是调用远程对象远程接口的方法行为,远程对象的方法调用和本地对象的方法调用是一样的语法RMI系统由3层组成:桩,框架(Stub/S

7、keleton)层,远程应用层,传输层21.2.2XML语言随着网络技术和WEB应用程序的发展.Intemet上传送的信息越来越复杂,数据格式也越来越多样化.这带来了网络中WINDOWSHNUX和UNIX等不同操作系统间.以及不同操作平台上的应用程序之间交互性问题.为了满足网络应用需求,同意数据交换的标准.互联网联合组织fW3C1于1998年发布了可扩展标记语言XML(eXtensibleMarkupLanguage)f31,作为数据表达和交换的标准.XML能够扩展Web体系结构的功能和灵活行.正逐步成为继HTML后在WWW上对信息进行捕述和交换的新标准2.3JSP+Servlet+JavaB

8、ean平台在远程通过IE浏览器来查阅和监控家庭网络中设备的使用时.必须访问家庭网关中的WEB服务器该设计通过JSP来设计网页.提供动态的控制界面在当今的网站开发标准中,给出了两种使用JSP的方式.分别称为模式一和模式二模式一是JSP+JavaBean的结合,模式二是JSP+JavaBean+Servlet的结合.模式二遵循视图控制器(MVC)模式,主要思想是使用一个或多个Servlet作为控制器.JavaBean作为模型的角色,充当JSP和Serdet通信的中问工具.Servlet处理完后设置Bean属性.JSP读取该Bean属性.然后进行实现3系统结构信息家电网络远程监控系统基于关键技术.主

9、要包括三个部分:被控设备(即信息家电),网关和客户端(即PC浏览器).在分布式家庭网络结构中.家庭网关是家庭内部子网或设备于外界相连的门户41,其系统结构如图1所示,家庭网关提供协议转化,命令转换,界面的形成和转换,简单的WEB服务;提供设备注册服务.并维护简单的数据结构由于是基于JAVA技术.需要设备端(信息家电)和网关端必须要求有JAVA虚拟机(JVM)作为运行平台.网关是为了实现RMI远程调用而特别设计的在网关端,要实现服务端(信息设备:设备提供服务功能)的注册,因此远程用户就可以找到已经注册的设备.执行其能够提供的功能服务.其中的协议是RMI在通信时需要有TCP/IP协议.在远程通过浏

10、览器访问和文件下载与上传时使用到的Hr丁P协议等信息设备端的XML描述文件通过H兀P服务下载到网关端.网关端通过JSP+Servlet+JavaBean根据XML文件动态形成远程控制界面.用户在访问该网关的地址时.WEB服务器就把控制界面发送到客户端客户端是只要支持XML和JSP页面的瘦客户端设备端必须提供设备的XML描述文件,其中描述了设备本身的属性,提供的功能描述和协作的事件接口描述等;提供的所有功能的类接口,用JAVA类提供的接口类.RMI调用中提供给远程客户使用的接口描述注册服务器的作用是为设备连接到网收稿日期:20070805作者简介:唐赞玉(1978-),女,硕士研究生,研究方向为

11、:分布式计算和信息家电;刘宏(1963-),男,教授,研究方向为基于嵌入式的信息家电,分布式计算.1216知技术本栏目责任编辑:闻翔军.数据库及信息管理?关时,设备提供和远程网关绑定的信息.WEB服务器主要提供JAVA类的主动下载和上传.充分体现的JAVA技术的优越性.设备端的信息是需要开发者,软件供应商,设备供应商等进行协商和规范,形成一种统一的接口规范.PCBr0wsl介一I网络服务器I1w由眠备器JJs口+s啊eI+JavaBeanIlL解析注册器IRMI注册服务器JTP/IPFITTP协l00设备服务接口类注册服务器设备服务接口类注册服务器服务存根(stub)web服务器服务存根(st

12、ub)web服务器信息家电I信息家电2图1系统结构图4系统实现4.1设备描述家电上网,如何被外界识别,理解,使用,设备之M何JI信息.都离不开对设备的定义或描述如何能够完整的定义?个设备,包括它的属性,操作接El以及与其他设备的关联等.就需要有一种能够将设备所有内容抽象出来的语言.即接El定义语言(IDL,InterfaceDefinitionLanguage).IDL不是编程语言.它唯一的目的是以与任何具体编程语言无关的形式来定义家庭网络中的信息设备,这种考虑允许应用程序以不同的编程语言来实现以便于互操作.IAIDL(InformationApplianceInterfaceDeftniti

13、onLanguage)实际上为远程控制信息家电提供了统一的标准设备描述是通过XML来描述.设备描述一般由设备厂商编写.采用XML句法.遵循标准设备模版.设备模板由设备标准委员会生成:该模板来源于模板语言一一来自XML标准结构对于设备的描述分成三个逻辑部分:设备描述(描述所包含的各种相关属性)以及一个或多个服务描述(描述设备对外暴露的能力)和事件的描述(设备之间的协作).设备描述包括特定厂商,制造商信息,如模块名称和编号,序列号,制造商名称,特定厂商网站URL等,如图2所示.对于设备中的每种服务.服务描述包括一系列命令,或动作.服务的响应与每种动作的参数.或变量.服务描述还包括一系列变量这些变量

14、描述了服务运行时的状态,其中包括数据类型,取值范围的描述图3是对某个设备的某个服务的描述<attributelist><attribute><nD_e>companv</name><value>ABC</value></attribute><attribute><name>companyLrRL</name><value>URI,</value>attribute><attribute><name>)</narD_e

15、><value>UID</value></attribute></atlributelist>图2设备描述4-2服务注册与发布服务注册的时候.设备端服务程序把设备的服务在网关端的RMI服务注册上进行注册,此动作是实现了服务功能的注册.用户就可以在远程通过调用:但是用户如何很清晰的知道有那些设备可用,又提供了那些功能和服务.通过RMI注册服务器是不能达到这个目的.在该设计中,就是通过设备端的XML描述文件来实现设备以及设备提供的功能和服务的明朗化.让用户很清晰的知道设备当前的状况.<actionlist><action>

16、;<name>Switch</name><argumentname>on_off</argumentname><datatype>variabletype</datatype><defaultValue>false</defaultvalue><statevariable>on0ff1<lstatevariable><allowedvaluelist><allowedvalue>true</allowedvalue><allowedv

17、alue>false</allowedvalue></allowedvaluelist></action><lactionlist>图3设备服务描述RMI是一种Java虚拟机之间对象相互调用对象的函数5,启动对方进程的一种机制,主要用java.rmi和java.rmi.Server包中定义的接口和类实现.JavaRMI实现远程操作.其中关键步骤包括:服务在注册时在RMI服务器上通过名字绑定进行注册airconditionC=newairconditionImpl0;Naming.rebind(rmi:/:l099/aiIo

18、nditionsPr,iP,c);在远程调用的时候通过名称查找服务来找到已经注册的服务,airconditionx=(aireondition)Naming.1ookup(rmi:/127.0.0.hl099/airconditionService1:获得对象引用后进行远程操作但是在家庭网络的信息设备中.同类设备并不是唯一的比如家里有两台或更多的空调,那么在设备端不能都用airconditionService名称来进行绑定,这样会造成控制的紊乱为了保证对设备操作的唯一性,任何一个设备必须都能唯一的识别所以在XML属性描述中有一个属性描述<ID>属性.它的值就是一个全球统一标志符.在

19、服务提供的设备端.在注册绑定的时候是通过这个ID号来进行绑定,保证唯一性;但是鉴于ID号的复杂性.在用户操作的时候最好提供人性化的界面.所以在设备注册时.XML文件解析注册器就提供名称到ID号之间的转化在设备端必须有厂家提供如下主要文件.那就是接口文件,简单文件服务器,设备描述文件和设备存根设备描述文件和接口密切相关的.其提供的接口就是设备描述文件的<actionlist>中提供的各个<action>描述,所以设备描述语言解析后就能得到所有的关于设备的操作.实现功能和服务的可视化操作4.3控制界面自动形成通过JSP+SERVLET+JAVABEAN来实现从界面上进行简单

20、的选择和操作按钮操作远程设备.XML的一个应用是提供了设备的描述,XML另外的一个应用是取代传统的数据库作为数据源的使用.要使用一个数据库,就要安装一个分离的数据库服务.还要有数据库管理员,又要掌握SQ1语句的使用.在没有频繁的写操作时,XML文档的优点就体现出来了.XML的数据是分层次的,与关系数据库相比,数据的组织更贴近与现实.查询起来更简单.也不会造成大量的冗余.所以在这个网关上没有设计数据库JSP+SERVLET+JAVABEAN模式遵循视图控制器(MVC)模式.主要思想是使用一个或多个SERVLET作为控制器请求由前沿的SERVLET接受并处理后,重新定向到JSPJAVABEAN作为

21、模型的角色,充当JSP和SERVELT通信的中间工具.SERVLET处理完后设置BEAN的属性,JSP读取此BEAN的属性.然后进行实现当设备连接注册时,设备的描述文件传输到了网关上.并具有统一分配的唯一的ID号,如把空调描述文件上传后.分配了ID号为IA1,则网关上描述文件为队1.xml:所有设备注册时生成一(下转第1222页)1217数据库及信息管理.本栏目责任编辑:闻翔军表示图元编码,前两位是图层代号,第三位是图元类型代号,后边几位表示元序号,根据图元的数量来确定位数,并留出了一定的余地,以便系统将来进一步资料扩充.地质灾害信息管理系抗系统图层构成行政区戋lJ图交通图水系分布图人口分布图

22、建筑物分布图地形地貌图矿山地层分布图矿山山石-洼分布图矿山构造分布图矿山工程分布图灾害历史分布表图3信息管理系统系统图层构成5系统各功能模块设计及实现系统包括了三大功能模块.矿山地质灾害属性数据管理模块,矿山空间数据管理模块,模拟预测模块,针对各个模块的数据资料及功能特点.我们采取了不同的数据组织和开发策略.矿山地质灾害属性数据管理模块主要包括矿山基础数据管理,矿山地质数据管理,矿山开采数据管理,矿山灾害数据管理.对这些属性数据主要采取数据库的形式存放管理系统外挂了Access数据库.将整个矿区的灾害属性数据.存放在数据库中,从系统中用ODBC连接数据库.进行相应的查询修改操作这部分模块开发的

23、主要功能有:信息输入,数据修改等数据库管理子模块和向导式查询,SQL查询,浏览式查询等子模块矿山空间数据管理模块包括,图像数据管理,空间属性数据查询三大模块图形,图像数据管理主要包括对系统中的地形图,地质图,行政区划图,遥感图像和地质影像数据的添加和删除矿区提供了1:1万的地形图,1:1万大厂锡矿区地质图,相应区域的1:1万DEM高程数据和行政区划图在入库之前.要对纸质资料进行转化.用扫描仪将纸质图件扫描成能存储在计算机中的栅格影像为了便于在以后的查询分析中使用方便.还要将这些栅格影像进行矢量化.矢量化采用ArcGIS自带的ArcScan组件来完成,首先对影像进行坐标配准.指定其坐标系统.然后

24、根据不同的数据主体.分层进行矢量化.矢量化完成以后,对各矢量图层的属性表字段进行修改.并对图元进行编号.丰富完善属性数据.最后根据矿点位置分别存放成MXD文件在VB环境中添加MapContml控件.并导入相应得MXD文档.调用相应的接13进行开发,实现相应的管理和查询功能空间属性数据查询主要是实现对系统中的空间数据库和属性数据库以及灾害数据库的数据查询和修改这部分主要在VB环境下进行组件级二次开发.调用相应的接13.实现空问数据的查询,定位,地图漫游,缩放等功能.利用ArcGISEngine中的ToolBar控件可以方便的实现部分查询,漫游等功能.模拟预测模块这部分主要包括三维地形模拟和尾砂库

25、溃坝地质灾害演进动画模拟,主要实现地质灾害的分析评估功能,将地质与气象数据耦合,根据降雨量的不同.估算汇水量,溃坝淹没面积及经济损失.图4三雄地形模拟三维地形的模拟f31是在ArcG|S中的ArcScene组件中完成的.首先在ArcSceBe中将矿区的DEM高程栅格数据导入.再将卫星遥感影像导入.将DEM栅格图像图层的属性中BaseHight设置为从DEM栅格数据层获得高程.这样栅格图像影像就变成了具有高程的三维地形了.在三维地形的表面再贴上遥感影像的纹理.就获得了比较逼真的三维地形模拟效果将这个场景保存成SXD文档.在VB环境下利用SceneControl控件加载这个SXD文档.就在系统中获

26、得了三维地形如图4所示矿区尾矿库潜在的溃坝灾害.是对矿区最大的威胁数十年来的矿山开采,形成了几十座大小不一的尾矿库.库容量最大的是车河灰岭尾矿库.设计总容量为30oO多万立方米.库容量在百万立方米以上的尾矿库也不鲜见.这些尾矿库一旦在雨量过多时发生溃坝,危害巨大.这也是矿区重点防护的灾种.所以在系统中利用SceneContm|控件开发了溃坝灾害动画演示模块.以帮助对溃坝灾害的分析评估6结束语本系统的成功开发.实现了矿区地质灾害信息数据的无纸化管理.极大地提高了数据信息录入和信息查询的速度.也方便了在海量信息中寻找地质灾害发生的规律对溃坝灾害的动态三维演进模拟.为溃坝的危害提供了更直观的展示.也为矿区的地质灾害的预警和防灾提供了科学的有力的决策依据.提高了工作的效率.参考文献:【1】杨念哥,李庶林.金属矿山地质灾害信息管理系统的开发J1.中国地质灾害与防治,2003.14f1):6467.21张永波,张礼中.地质灾害信息系统的设计与开发M1.地质出版社.2001.,31卞海

温馨提示

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

评论

0/150

提交评论