




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着电子技术的发展,现代战争己由陆、海、空的三维立体战发展到陆、 海、空、天、电磁多维的网络中心战。网络中心战通过传感器、决策制定者和射 手的网络化,获取共享感知,增加指挥速度,加快作战节奏,增大杀伤力,增强 生存能力,提高自同步能力,从而形成新增的战斗力。 传感器网络是网络中心战中的重要的组成部分,从根本上改变了作战单元中 各传感器交换和处理信息的方式,将雷达及其它传感器的有效性发挥到最大程度, 迅速提供“战场空间态势图”。 传感器网络系统的异构性无处不在,如硬件平台、操作系统、数据库等都存 在异构性。虚拟机技术屏蔽了传感器网络中的异构特性,使得只需生成在虚拟机 上运行的目标代码,就可以在多种平台上不加修改地运行。v m 技术极大降低了跨 平台软件开发的复杂度,缩短了开发时间,降低了歼发成本,使其在传感器网络 开发中具有先天的优势。 本文以当前的v m 技术与传感器网络的研究为背景,提出了一种基fv m 的 传感器网络异构资源共享解决方案,以及简单的仿真设计:针对j v m 运行速度相 对较慢的特点,提出了改进的世代垃圾回收算法和类装载机制算法。 关键字:网络中心战传感器网络虚拟机远程方法调用 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h es e n s o rn e t w o r k , t h ew a r f a r eh a sb e e nc h a n g e df r o m t h et h r e e - d i m e n s i o n a lw a r f a r eo fl a n d , s e a , s k yt ot h em u l t i d i m e n s i o n a ln e t w o r kc e n t r a l w a ro ff a l , s e a , s k y , s p a c e f l i g h ta n de l e c t r o m a g n e t i s m t h en e t w o r kc e n t r a lw a rg a i n e d s h a r i n g a p p e r c e i v e ,i n c r e a s e t h es p e e d o f c o m m a n d i n g , q u i c k e nc a d e n c e o f t h e w a r , a g g r a n d i z et h ee x e c u t i o n ,b o o s tu pt h es u r v i v a la b i l i t y , i m p r o v et h ea b i l i t yo f s y n c h r o n i z a t i o n , t of o r mn e w b a t t l ee f f e c t i v e n e s s t h es e n s o rn e t w o r ki sa ni m p o r t a n tp a r to ft h en e t w o r kc e n t r a lw a r i tr a d i c a l l y c h a n g e st h em o d eo ft h es o i i s o i sc h a n g i n ga n dd e a l i n gw i t ht h ei n f o r m a t i o ni nt h ec e l l o fb a h l e t h es e n s o rn e t w o r kc 姐e x e r tt h ev a l i d i t yo ft h er a d a ra n do t h e rs e n s o i st 0t h e b e s t i t 咖o f f e rt h e b a t t l e f i e l ds i t u n t i o nm a p ” t h ef 汜n s o rn e t w o r ks y s t e mh a sm a n yk i n d so fh e t e r o g e n e i t y t h ep l a t f o r mo f h a r d w a r e 、t h eo p e r a t i n gs y s t e m ,d a t a b a s ea l lh a v eh e t e r o g e n e i t y t h ev i r t u a lm a c h i n e ( v m ) t e c h n o l o g ys h i e l d st h eh e t e r o g e n e i t yo ft h es e n s o rn e t w o r li ti sn e e d e dt o g e n e r a t et h eo b j e c t i v ec o d ei nt h ev i r t u a lm a c h i n e t om ni nm a n yk i n d so ft h ep l a t f o r m t h a ti sn o tn e c e s s a r yt 0m o d i f y t h ev mt e c h n o l o g yd e c r e a s e dt h ec o m p l i c a t i o n so ft h e c r o a s - p l a t f o r ms o f t w a r ed e v e l o p m e n t ,s h o r t e nt h ed e v e l o p m e n tt i m e , r e d u c e dt h e d e v e l o p m e n tc u s li th a st h ei n b o r na d v a n t a g ei nd e v e l o p m e n to ft h es e n s o rn e t w o r l t h i sp a p e ri sb a s e do nt h ev m t e c h n o l o g ya n dt h er e s e a r c ho ft h e5 e l l $ o rn e t w o r k i ta d v a n c e sak i n do f s o l v i n gs c h e m ea n ds i m p l ee m u l a t o rt os h a r et h eh e t e r o g e n e o u s r e s o u r c c si nt h es e n s o rn e t w o r k t h i sm e t h o di sb a s e do nt h ev m f o rt h es p e e do ft h e j v l v lj ss l o w l y t h eg e n e r a t i o n a lg a r b a g ec o l l e c t o ra n dt h em e c h a n i s mo fl o a d i n g c l a s s 酷ma m e h o r a t e d k e yw o r d s :t h en e t w o r kc e n t r a lw a r t h es e n s o rn e t w o r kv i r t u a lm a c h i n e r e m o t em e t h o dl n v e c a t i o n 声明 独创性( 或创新性) 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容外,论文中不包 含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其 它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学_ 立论文与资料若有不实之处,本人承担一切相关责任。 本人签名:珠磊 日湖:坐! 至! i ! i 璺 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和倍阅论文:学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在年解密后适用本授权书。 本人签名: 导师签名: 球磊 夕够芦 日期:! ! ! ! 主堑兰塑 日期2 必多,岁台 第一章绪论 第一章绪论 1 1 研究背景、目的及意义 传感器组网从根本上改变了作战单元中各传感器交换和处理信息的方式,将雷 达及其它传感器的有效性发挥到最大程度。传感器网络利用了作战部队中处在不 同位置、不同频段上、不同扫描速率、信号处理能力各有所长的雷达,允许各单 元记录和使用有可能被分立雷达摒弃的多个传感器测量数据,克服了单一雷达受 到的局限,因而得到的最终跟踪画面具有更好的连续性、完整性、一致性和精确 性 传感器网络具有如下基本特征: ( 1 ) 收集和分发所有来自一次监视和火控传感器的信息,所有的网络成员都 可以使用传感器得出的知识集; ( 2 ) 保持原传感器数据的准确性和精确度,以提高信息的相关性,而且在精 确度足够的情况下支持火力分配; ( 3 ) 相互协同式地从各传感器中提取在分立传感器中无法提取的信息: ( 4 ) 汇总数据形成一条复合航迹,其精度和持续性都超过单一传感器形成的 航迹。 传感器网络在n e w 中的地位举足轻重,主要作用如下: ( 1 ) 良好的战场感知能力成为实施网络中心战的基础网络中心战要求在多 维立体的战场上,实现战场态势的快速感知、传递和高度共享,以信息优势支撑 对作战目标的打击。 ( 2 ) 网络中心战的主要特征之一是网络化战场分布在战场上的部队要达到 行动的协调一致,良好的战场信息网络是必不可少的 ( 3 ) 在网络中心战中,目标定位是通过传感器网络实现的。这些传感器网络 包括了从高空的卫星到中低空的无人机,在传感器网络中有着举足轻重的地位。 ( 4 ) 实现精确打击在以平台为中心的作战方式中,向目标发射导弹都是由 战斗机和远程武器平台来完成而在网络中心战中,交战网络单元不仅包括传统 的空中武器平台,地面作战部队及其武器平台和远程武器平台,还包括无人机。 ( 5 ) 对打击后的目标进行毁伤评估,是网络中心战的重要任务之一美军的 。全球鹰”、。捕食者”、“龙眼”等无人机,均担负有战场毁伤评估任务 由于传感器网络的巨大应用价值,它已经引起了世界许多国家的军事部门、工 业界和学术界的极大关注美国自然科学基金委员会2 0 0 3 年制定了传感器网络研 究计訇j ,投资3 4 0 0 0 0 0 0 美元,支持相关基础理论的研究。美国国防部和各军事部 门都对传感器网络给予了高度重视,在c a i s r 的基础上提出了c 4 s r 计财,强调 2 虚拟机技术在传感器网络中的应用 战场情报的感知能力、信息的综合能力和信息的利用能力,把传感器网络作为一 个重要研究领域,设立了一系列的军事传感器网络研究项目。1 1 1 在c 4 1 s r 中,预警探测系统和情报侦察系统构成一体化的传感器网络。美军具 有多层次、全方位、世界最先迸的预警探测系统,由天基预警卫星、空中预警机、 陆基和海上预警系统组成。天基预警卫星系统由国防支援卫星系统组成。空中预 警机不仅具有远程预警、指挥控制各类飞机协同作战的功能,而且还可以指挥协 调三军联合作战,由驻中央地区部队的空军预警机和海军航母上装备的预警机组 成,比如空军的e 一3 “卫兵”和海军的e 2c ,“鹰眼”2 0 0 0 预警机等。陆基和海 上预警系统由陆基和舰船上的多种预警雷达系统组成,能发现数百公里外的目标。 1 2 本文工作 本文着重于j a v a 虚拟机在传感器网络上的实现,首先对传感器网络中的资源异 构形式进行了分析,提出了解决资源异构的方案,然后对j a v a 虚拟机所依赖的硬件 平台进行了设计,最后使用j a v a 中的r m i 技术实现了屏蔽异构的仿真模型。 1 提出屏蔽传感器网络中资源异构的方法。使用j v m 中的类装载机制可以 根据客户端不同的类型需求,装载不同类型的异构资源;采用j a v a 体系 结构来实现传感器网络中的跨平台。 2 传感器网络性能优化。通过调整堆中每个管理区域的大小,使垃圾回收 算法每次回收内存的时间缩短,实现了传感器网络的实时性;通过添加 自定义装载器,使无用的类不能长期占据内存。 3 利用刚i 技术实现了传感器网络的仿真模型。针对传感器网络中存在大 量的异构性资源的特点,通过j a v a 技术的远程调用,屏蔽了网络中的资 源异构,实现了资源共享。 1 3 研究内容及论文结构 本文以当前的v m 技术与传感器网络的研究为背景,提出了一种基于v m 的 传感器网络异构资源共享解决方案。本文的组织结构大致如下: 第2 章分析了v m 技术的特点,对j a v a 虚拟机的体系结构和j a v a 远程方 法调用( 1 咖) 做了相关介绍; 第3 章讨论了传感器网络中资源的异构性。从传感器网络中资源异构的表 现形式入手,介绍了4 种解决异构的方案,提出了一种采用v m 技术的资 源异构性屏蔽模型。 第4 章针对j v m 运行速度相对较慢的特点,提出了改进的世代垃圾回收 算法和类装载机制算法 第5 章实现了仿真。 第二章v m 技术 3 第二章v m 技术 2 1v m 工作模式 虚拟机技术能够在一台真实计算机上虚拟出多台计算机,还可以同时运行两个 或更多的操作系统,比如运行d o s 、各个版本的w i n d o w s 、各个版本的l i n u x 、b e o s 、 m a co s 等等。虚拟机的应用非常广泛,从程序开发到组建服务器以及专业的应用 学习,处处有其展现魅力的地方。 虚拟机提供3 种工作模式:b r i d g e d 模式、n a t 模式和h o s t - o n l y 模式。 1 b r i d g e d 模式 该模式的虚拟系统和宿主机器就如同连接在同一个h u b ( 集线器) 上的两台 p c 。为彼此建立通讯,需要为虚拟系统配置球地址和子网掩码,并且虚拟系统和 宿主机器要处于同一网段。如果只是为了进行操作系统方面知识的学习,不妨使 用b r i d g e d 模式。 2 n a t 模式 该模式可以让虚拟系统不做任何手工设置,就能顺利访问互联网。这时虚拟系 统借助n a t 功能。通过宿主机器的网络接口来访问互联网。并且虚拟机系统的i p 地址及子网掩码等信息是由虚拟网络的d h c p 服务动态分配的,无需手工分配。 3 h o s t - - o n l y 模式 在这种模式下,虚拟系统间可以相互通信,同时虚拟系统和真实网络是被隔离 开的。该模式一般用于网管进行特殊的网络应用调试。 2 2 m 的体系结构 图2 1 是j a v a 虚拟机的结构框图,包括主要子系统和内存区。嘲每个j a v a 虚 拟机都有一个类装载器子系统,它根据给定的权限来装入类型( 类或接口) ,同 样,每个j a v a 虚拟机都有一个执行引擎,它负责执行那些包含在被装载类的方法 中的指令装载类型存储的内存叫做方法区。堆是j a v a 程序在运行时创建的所有 类型实例或数组存放的内存。每当启动一个新线程时,j a v a 虚拟机都会为它分配 一个j a v a 栈。存放与本地方法相关数据的栈叫做本地方法栈。本地方法接口和本 地方法库用来存放与本地方法相关的接口和库。 4 虚拟机技术在传感器网络中的应用 圈口日围困 本地方法库 图2 1j a v a 虚拟机的结构框图 当j a v a 虚拟机运行一个程序时,它需要内存来存储许多东西。例如,字节码、 从已装载的c l a s s 文件中得到的其它信息、程序创建的对象、传递方法的参数、返 回值、局部变量以及运算的中间结果等等。j a v a 虚拟机把这些东西都组织到几个 “运行时数据区”中,以便于管理。 不同虚拟机实现可能具有很不同的内存限制,有的实现可能有大量的内存可 用,有的可能只有很少。有的实现可以利用虚拟内存,有的则不能。 某些运行时数据区是由程序中所有线程共享的,还有一些则只能由一个线程拥 有,每个j a v a 虚拟机实例都有一个方法区以及一个堆,它们是由该虚拟机实例中 所有线程共享的。当虚拟机装载一个c l a s s 文件时,它会从这个c l a s s 文件包含的二 进翎数据中解析类型信息。然后,它把这些类型信息放到方法区中。当程序运行 时,虚拟机会把所有该程序在运行时创建的对象都放到堆中。 当每一个新线程被创建时,它都将得到它自己的p c 寄存器( 程序计数器) 以 及一个j a v a 栈。如果线程正在执行的是一个j a v a 方法( 非本地方法) ,那么p c 寄存器的值将总是指示下一条将被执行的指令,而它的j a v a 栈则总是存储该线程 中j a v a 方法调用的状态一一包括它的局部变量、被调用时传进来的参数、它的返 回值以及运算的中间结果等等。而本地方法调用的状态,则是已某种依赖于具体 实现的方式存储在本地方法栈中,也可能是寄存器或者其它某些与特定实现相关 的内存区中。 j a v a 栈是由许多栈帧组成的,一个栈帧包含一个j a v a 方法调用的状态。当线 程调用一个j a v a 方法时,虚拟机压入一个新的栈帧到该线程的j a v a 栈中:当该方 法返回时,这个栈帧被从j a v a 栈中弹出并抛弃 j a v a 虚拟机没有寄存器,其指令集使用j a v a 栈来存储中间数据。这样设计的 原因是为了保持j a v a 虚拟机的指令集尽量紧凑,同时也便于j a v a 虚拟枧在那些只 有很少通用寄存器的平台上实现。另外,j a v a 虚拟机的这种基于栈的体系结构, 也有助于运行时某些虚拟机实现的动态编译器和即时编译器的代码优化。 图2 2 描绘了j a v a 虚拟机为每一个线程创建的内存区,这些内存区域是私有 的、任何线程都不能访问另一个线程的p c 寄存器或者j a v a 栈。 图2 2 线程专用的运行时数据区 图2 2 展示了一个虚拟机实例的快照,它有三个线程正在执行。线程1 和线程 2 都正在执行j a v a 方法,而线程3 则正在执行一个本地方法。 2 3r 蛐 r m l l 3 ( 远程方法调用) 是分布式应用程序的开发方法之一r m i 是将客户和 服务器的接口抽象为一个本地的过程调用。这样一来,如果使用r m i ,那么就不 再需要选用或设计一个协议 r m i 对象之间之所以能够互相通信,是因为我们使用j a v a 实现通过j a v a 的 体系结构,r m i 为开发分布式应用程序提供了一个理想平台。 2 3 1r m i 简介 使用底层的s o c k e t 开发分布式应用程序必须设计协议。协议是客户和服务器 6 虚拟机技术在传感器网络中的应用 所共同遵循的一组命令( 或者说语言) ,通过协议,客户和服务器能够进行有效会话。 但设计协议既是困难的,又是容易产生错误的。例如,死锁( d e a d l o c k ) 即是其一。 当发生死锁时,一些进程始终不能执行完毕。在这种情况下,这些进程很可能占 据了系统资源,造成其它进程无法再访问这些资源。 j a v a 的r m i 可以取代底层的s o c k e t ,它是其它系统所使用的r p c 的形式之一。 使用r m i ,你不仅可以在本地机创建和初始化对象,而且还可以在其它何能是远 程1 机器上创建对象,并且和这些对象进行通信,就像与本地对象进行通信一样。 另一方面,使用r m i 把通信接口抽象成本地的过程调用,这样就不再需要一个协 议,分布式应用程序的开发也变得更加容易。 与c o r b a 不同,只有当对象都是由j a v a 实现时,它们之间才能互相通信。 如果选择了j a v a 作为开发语言,那么对于创建分布式应用程序来说,r m i 是最好 的通信选择。 r m i 是可用来开发分布式程序的j d k l 1 ( 及其更高版) 的核心包。r m i 使软 件t f 发人员能够编写这样的分布式程序:即在这个分布式程序中,其远程对象的 方。去能够被运行于不同主机上的、其它j a v a 虚拟机0 v m ) 的方法所调用。r m i 常 类似于其它系统中的r p c 机制,但是比r p c 更易用。当所有参数被传送给远程目 标并且被解释,然后将结果返回给调用者时,程序员会有一种错觉,以为是从本 地类文件中调用一个本地方法。图2 3 说明了本地调用与远程方法调用的不同。 远程调用 佃 圈 圈 网络 i 应用程序i - 7 i对象l 机器 机器 图2 3 本地与远程方法调用 对于致力于分布式对象技术的软件开发人员来说,使用r m i 来简化分布式程 序设计的工作是非常有吸引力的。 以下是r b f l 所支持的,对于构建分布式程序来说最有价值的一些特征: 透明调用。 分布式的垃圾回收。 远程对象的访问。 远程调用是透明的,因为它与本地的调用一样,而且它们的方法签名也是一 样的。 第二章v m 技术 7 r m i 规范文档( 参见h t t p :j a v a s u n c o m p r o d u c t s j d k n n i i n d e x h t m l ) 中列出了 r m i 的目标,如下: 支持对存在于不同虚拟机上对象的无缝的远程调用。 支持服务器对客户的回调。 把分布式对象模型自然地集成到j a v a 语言里,尽可能地从语义上保留j a v a 的面向对象的特性。 使分布式对象模型和本地j a v a 对象模型间的不同表面化。 使编写可靠的分布式应用程序尽可能简单 保留j a v ar a n - t i m e 环境所提供的安全性。 为达到这些主要目标,r m i 致力于交得灵活和可扩展。r m i 系统的目标还包 括,提供: 多样化的远程调用机制,如u n i c a s t 和m u l t i c a s t 。 支持多传输的能力。 分布的垃圾回收。 2 3 2r m i 体系结构 如图2 4 所示,r m i 系统由以下3 层组成:桩,构架( s t u b s k e l e t o n ) 层,远程 引用层和传输层。 服务请求者服务提供者 桩构架 远程引用层 传输层 圈2 4 r m i 系统结构 每一层都是由特定的接口和协议来定义的,因此,每一层相对于它的相邻层是 独立的。也就是说,某一层在实现上的改变,是不会影响到其它层的例如在r m i 系统中,当前传输层是基于t c p 的,它可以被基于u d p 的传输层所替换。通过对 象序列化的使用,从一个地址空间传输一个对象到另一个地址空间被显式地完成 i 桩构架层 桩构架层是应用程序层与系统其它部分的接口当开发了一个服务器应用程 虚拟机技术在传感器网络中的应用 序后,就使用r m i 的r m i 编译器产生桩构架层,它根据服务器程序的字节代码, 产生代理( p r o x y ) 类( 扮演代理人) 。桩构架层通过抽象编组流( 使用对象序列 化) ,传输数据到远程引用层。所以,此层并不处理任何特定的传输。 一个远程对象客户端的桩要负责许多项任务:初始化远程调用,序列化 ( m a r s h a l ) 发送的参数,提示远程引用层将进行调用,反序列化胁a r s h a l ) 返回值( 或 异常) ,以及提示远程传输层调用完成。另一方面,服务器端的构架要负责:反序 列化客户端输入的参数,调用实际的远程对象实现,以及将返回值( 或异常、序列化 为流,以传输给客户。 2 远程引用层 远程引用层是桩构架层和传输层的中间层。它负责为独立于客户桩和服务器 构架的,多种形式的远程引用和调用协议提供支持。例如,单点传送协议可能提 供点对点( p o i n 卜- t o p o i n t ) 的调用,多点传送协议可能提供对复制的( r e p l i c a t e d ) 成组对象的调用。而另外一些协议则可能要处理特定的复制策略或对远程对象的 持久性引用,例如激活远程对象。然而,并不是所有这些功能都被r m i 系统的所 有版 本所支持。例如,j d k l 1 中的r m i 统就不支持对象激活,而j a v a2 中的r m i 系 统则支持。 3 传输层 传输层处于模型的最底的层,它在不同的地址空间内传输序列化的流。传输层 负责建立到远程地址空间的连接,管理连接,监听外来调用,维护驻留于同一个 地址空间的远程对象表,为外来的调用建立连接,以及根据远程调用的目的定位 调度程序,并传递连接到该调度程序。 在这一层,远程对象引用通过个对象标识符和吟结束点( e n d - - p o i n t ) 来 表示。它被称为活动引用( l i f er e f e r e n c e ) ,任一个给定的远程对象的活动引甩 中,对象标志符指出了远程调用的对象是什么,结束点则建立了到远程对象所驻 留的地址空间的连接。前面曾介绍过,r m i 使用基于t c p 的传输,但由于对于每 一个地址空间,传输层支持多个传输协议,所以也可以使用基于u d p 的传输,因 此,在同一个地址空间或虚拟机上,可以支持t c p 和u d p 两种协议。 2 3 3 跚i 的工作模式 当一个客户程序调用一个来自服务器的对象实现,r m i 的3 层就开始工作,对 程序员来说,最重要的层就是桩构架层。r m i 实现了一个r m i c 编译器,它根据用 户定义的接口产生桩和构架,一般来说,桩是客户端的代理,而构架是服务器端 的入口,桩允许客户与系统的其它层通信。当然,这是自动完成的,因为你一定 第二章v m 技术 9 要继承r m i 类。然后,你可以使用r m i 中更有帮助的一些函数。 首先,一个调用将通过桩构架层传递,桩构架层作为应用程序与r m i 系统其 它部分的一个接口来提供服务。它的唯一目的就是通过序列化流,传输数据到远 程引用层。实际上,这也是对象序列化开始应用的地方它使j a v a 对象能够在 不同的地方空间进行传输。 一旦数据通过桩构架层传递,那么它就将通过远程引用层。远程引用层实现 了调用的语义,并且使用面向连接的流( 如t c p ) 、将数据传递到传输层。这就 意味着,远程引用层要负责确定对象的性质,它是驻留在本地机上,还是通过网 络驻留 于远程机器。远程引用层还要确定对象是否可以被实例化,以及是否可以自动启 动,或者它是否需要事先声明和初始化。 最后,数据将到达传输层。传输层负责建立连接并管理这些连接。 o s l 参考模型定义了网络通信的7 层框架,图2 5 说明了如何用这一模型来描 述r m l 。 用户的应用程序位于最顶层,它使用一种数据表达方案( d a t ar e p r e s e n t a t i o n s c h e m e ) 与远程对象进行通信,注意,本章前面曾介绍过,r m i 系统本身是由桩 构架层,远程引用层和传输层构成的。 在每一个分布式应用程序中,安全都是所要考虑的最主要的方面之一,使用 r m i 开发的分布式应用程序也不例外。由于r m i 是创建分布式程序的直接方法, 故使用 r m i 开发关键任务系统时,必须掌握许多安全问题: r m i 使用很简单的方式创建客户与服务器之间的连接。对象被序列化后,以 普通文本的方式通过网络传输。由于它们没有被加密,所以任何监视网络传输 的人都能够读网络上所传输的所有数据。 没有认证,客户只要请求对象( 桩) 、服务器就提供给它,后续的通信都被 假定来自同一个客户 对于对象没有访问控制 r m i 注册表本身没有安全检查,所有调用者都被允许进行请求。 桩被假定为与构架相互匹配,然而,程序有可能被构造为类似于r m i 网络 调用,这样就允许任何数据被包含于请求中。 在桩和构架间没有版本控制,这样,程序就有可能使用低级别的桩访 问较高级别的构架,从而破坏版本间的二进制兼容性。 虚拟机技术在传感器网络中的应用 2 3 4 小结 1 使用r m i 可以避免设计协议。 2 r m i 系统由3 层组成:桩构架层、远程引用层和传输层。 3 桩构架层通过序列化流,负责传输数据到远程引用层。 4 远程引用层通过序列化流,负责传输数据到远程引用层。 应用层 表示层 会话层 传输层 网络层 数据链路 物理层 图2 5 r m i 的o s l 模型 第三章传感器网络中资源异构的表现形式和解决方案 1 1 第三章传感器网络中资源异构的表现形式和解决方案 3 1 传感器网络中资源异构的表现形式 传感器网络系统中无处不存在异构性,如硬件平台的异构性、基础操作系统的 异构性、数据库的异构性,此外,还有通信网络、应用程序的异构性等。但在传 感器网络中,主要存在如下异构资源: 3 1 1 传感器网络中的控制台异构 指令集结构的设计是传感器网络控制台体系结构设计的核心问题,是软硬件功 能分配最主要的界面一般来说,可以按如下五个因素考虑对指令集结构进行分 类: 在c p u 中操作数的存储方法; 指令中表示的操作数个数; 操作数的寻址方式; 指令集所提供的操作类型; 操作数的类型和字长; 传感器网络在控制台指令集方面的异构性主要表现在操作数的类型方面,每一 台雷达产生的数据类型都会有差别。比如,某种类型的雷达采用的d s p 是1 6 位字长, 它定义的整型数据是1 6 位的,而数据融合中心采用的处理器是3 2 位,它的整形数 据字长是6 4 位,当把雷达的整型数据传输到融合中心时,必须采用某种技术使得 融合中心可以对雷达的基本数据类型进行识别和转换。举例说明,如果雷达a 采集 的整形参数a 是1 6 位的,雷达b 采集的整形参数b 是3 2 位的,现在需要调用融合中心 的远程控制台c 的加法运算s e n s o r s e r v i c e0 ,首先传感器网络把参数a 和参数b 传输 给c ,在c 中,必须给a 和b 统一分配一样的数据位数才能正确进行操作,从而得到 正确地结果。 3 1 2 传感器网络中的平台异构 过去2 0 年中,各军、兵种都各自开发了专用的传感器网络。目前的状况是,不 同类型,不同版本、不同年代的各种专用传感器网络共存是全世界所有军队的现 状为实现多军种的联合作战,实现这些传感器网络之间的互联互通互操作成为 现实而紧迫的问题。在缺乏联合作战指导思想的年代,第一代传感器网络通常都 是由各种不同种类的控制台和雷达互联而成的为了在这种情形下使得各种控制 台和设备可以共享彼此的数据,需要大量的管理工作。像这样一个网络,要求系 虚拟机技术在传感器网络中的应用 统管理员必须随时维持运行于不同种类计算机上的同一个软件,在升级的时候, 要根据特定于它所运行的不同平台进行版本同步升级。如果软件能够不加修改地 运行于传感器网络的任何控制台,而不管该控制台是什么种类,那么这将极大地 减轻系统管理员的工作。特别是当这样的程序是通过网络交付的时候,效果更加 显著。 3 1 3 传感器网络中的数据库异构 在传感器网络中,每个部门都有自己的数据处理需求。指挥部有自己的一系列 数据需求,工程部有另一些需求,而通信部门的需求又不同。每个部门的计算机 系统的硬件和软件可能也不同。如果要求这些不同系统进行交互,我们就必须用 一些通信媒质将它们连接起来。 如图3 1 所示,对象数据库、关系数据库和网络数据库都没有一个标准的数据 库模型或语言,而是尽力形成一个可接收的联盟协议,然后模型才被确定下来。 如果对象数据库、关系数据库和网络数据库之间要进行数据通信的话,它们之间 就存在异构。 3 1 4 传感器网络中的其它异构 图3 1 数据库之间的关系 在任何一个传感器网络中,都存在通信网络的异构,网络的基本结构有7 层, 每一层都规定了数据包的格式,如果使用不同的标准,网络之间就不能连接。比 如不同的予网之间使用不同的网络协议标准,那么当这两个网络需要连接时,就 必须统一数据包的格式,不然的话,接受方就不会接收到正确地数据。如果是关 键的数据将会打乱整个战局形势。例如a 和b 两个传感器网络,a 使用地u d p 无连接传输协议,而b 使用地t c p 有连接传输协议,当b 要传输数据给a 时,b 需要等待a 的恢复确认,但是a 只接收数据,没有确认,那么就会一直等待下去, 第三章。传感器网络中资源异构的表现形式和解决方案 从而贻误战机 应用程序的异构在传感器网络中也很常见,不同的应用程序可能是由不同的开 发语言开发的,各种开发语言本身的语法、编译和链接过程各不相同。例如c + + 语言中存在指针,而j a v a 中没有,那么在c + + 中,程序可以访问属于它自己的内 存,而j a v a 则不行。j a v a 自动进行无用内存回收操作,不需要程序员进行删除。 而c + + 中必须由程序员自己访问内存资源。 3 2 传感器网络中屏蔽资源异构的解决方案 在传感器网络中,可采取如下方法解决异构性,实现信息共享: ( 1 ) 采用统一的规范、协议和接口,使网络中的服务标准化。目前得到广泛 支持的是w c bs e r v i c e s 技术。该技术的核心是用标准的、规范的基于x m l 的w s d l 语言来描述模块化、标准化网络服务的接口和资源。这一描述 囊括了与服务交互所需全部细节,包括消息格式,( 详细描述操作的输 入输出消息格式) 、传输协议和位置。该接口隐藏了服务实现的细节, 允许用户通过独立于服务、独立于硬件或软件平台、独立于开发服务的 编程语言的方式使用该服务。这使得基于w e bs e r v l c e 的网络服务具 备松散耦合、面向组件和跨技术实现的特点。 ( 2 ) 采用转换机制和代理,由于硬件、操作系统、体系结构、数据库等众多 资源的异构性,用户在请求利用这些异构资源时,必须对分配到这些异 构资源上的服务进行合理地转换。这就需要代理和转换机制对网络间的 服务类型规定标准和规范,通过标准和规范,代理和转换机制可以针对 不同的异构资源采取相应的服务类型。采用代理的方法是一种行之有效 的转换机制。 在这种方法中,首先要求在网络中搭建合理的体系结构,选取合适的计 算机作为代理服务器,代理服务器的选取应该根据各个区域具有什么样 的异构资源,因为代理服务器必须对所属区域内的各种异构资源进行管 理,然后依据各种异构资源的特点采用相应的转换机制,每台代理服务 器采用地各种转换机制必须达到统一,这样才能为客户服务要求提供迅 速有效的响应。 ( 3 ) 采用虚拟机( v m ) 技术,这也是隐蔽异构性的一种方法。虚拟机具有 跨平台性,装载在硬件平台上的虚拟机,它和宿主机好象是连接在同一 个网络中一样。用户通过虚拟机提供的标准接口访问异构资源,而标准 接口的具体实现由各异构资源提供者负责落实,因此用户感觉不到请求 资源的异构性。j a v a 和p v l v l 是比较成功的采用虚拟机技术实现跨平 台、屏蔽异构性的典型例子。 1 4 虚拟机技术在传感器网络中的应用 j v m 支持j a v a 面向网络体系结构三大支柱的所有方面:平台无关性、安 全性和网络移动性。当编写j a v a 程序时,通过调用类( 这些类实现了j a v a a p i ) 中的方法来访问系统资源。当程序运行的时候,它通过调用c l a s s 义件中实现了j a v aa p i 的方法来满足程序的j a v aa p i 调用。( 见图3 2 ) j a v a 虚拟机的主要任务是装载c l a s s 文件并且执行其中的字节码。j a v a 程 序可以在不同的计算机上运行,这是因为j a v a 习z 台自己可以用软件实现。 从图3 3 可以看出,j a v a 程序可以在有j a v a 平台的任何地方运行。 、逻辑t j 物理的映射,在网格系统中把物理资源都映射成逻辑资源,网格 成为逻辑共享资源的集合。用户通过访问逻辑资源的形式间接访问物理 资原,映射关系负责屏蔽资源的异构性。u r l 是运用逻辑与物理资源映 射技术的成功实例 嫡译时环境运行时环境 p 序的源文件程序的c l a s s 文件 程序的c l a s s 文件 针对l i n u x 的 j a v a 平台 f 图3 2j a v a 编程环境 针对w i n 3 2 的 j a v a 平台 j a v a a p i 的c l a s s 文件 针对控制台1 的j a v a 平台 * i a 1 u 图3 3 生:j a v a 平台上运行的j a y a 程序 针对控制台2 的j a v a 平台 蒂2 l - 帖1 4 - d ,- 1 1 4 第三章传感器网络中资源异构的表现形式和解决方案 3 3v m 传感器网络中异构性的屏蔽方法 3 3 1 使用j v m 技术 我们首先介绍类型的装载、连接与初始化 j a v a 虚拟机通过装载、连接和初始化一个j a v a 类型,使该类型可以被正在运行 的j a v a 程序所使用,其中,转载就是把二进制形式的j a v a 类型读a j a v a 虚拟机中; 而连接就是把这种已读入虚拟机的二进制形式的类型数据合并到虚拟机的运行时 状态中去。连接阶段分为三个子步骤验证、准备和解析。“验证”步骤确保 了j a v a 类型数据格式正确并且适于j a v a 虚拟机使用,而“准备”步骤负责为该类型 分配它所需的内存,比如为它的类变量分配内存。“解析”步骤则负责把常量池 中的符号引用转换为直接引用。在初始化期闻,将给类变量赋以适当的初始值。 整个过程如图3 4 所示 图3 4 类型的装载、连接、初始化 上述过程中,第一步装载对不同类型数据的使用起到了关键作用,下面我 们介绍j a v a 中的类的装载器。 图3 5 描述了类装载器的体系结构,图中装载了一个名为v o l c a n o 的类。命名空 间的每一个命名都被关联到方法区中的一个类型数据,这个类型数据用那个名字 定义了一个类型。图3 5 画出了从命名空间中的名字指向方法区中的类型的箭头, 方法区定义了类型左边深灰色的类装载器装载了两个深灰色的类型,名字为 c l i m b e r 和v o l c a n o ;右边浅灰色的类装载器装载了两个浅灰色的类型,名字为 b a k m g s o d a 和v o l c a n o 。基于命名空间的特性,当类c l i m b e r ;j i 用类v o l c a n o 时,它 指向的是深灰色的v o l c a n o ,这个v o l c a n o 和它装载在同一个命名空间内。 1 6 虚拟机技术在传感器网络中的应用 图3 5 类装载器和命名空闻 女1 i 3 5 所示,通过装载可以把需要的类型装进j a v a 的程序中,然后在给类型 j 配“l 。 ? 。仃j 剑对方的基本数据时,有可能需要进行类型的转换才能继续使用, lv a 盛:以机包括许多进行基本类型转换工作的操作码,这些执行转换工作的操作码 厅丽没有操作数,转换的值从栈顶端获得。j a v a 虚拟机从栈顶端弹出一个值,对它 i 上厅转换,然后再把转换结果压入栈。进行i n t 、l o n g 、f l o a t 和d o u b l e 类型之间转换 自漾t i 吗如表3 1 所示,针对这四种类型之间的每一种可能的类型转换,都存在相 卜的探作码。 如麦3 2 所示的操作码是把i n t 类型转换为比i n t 类型占据更小空间的数据类型。 i ,些扣f ! 码扶操作数栈中弹出一个i n t 类型值,将它转换为能用b y t e 、s h o r t 或c h a r 类 ! 描n 的i n t 类型值,然后再把这个转换后的j n t 类型值压入栈。i 2 b 指令将弹出的i m 梦型仿变为b y t e 类型,然后再对其进行带符号扩展,恢复成i n t 类型。i 2 s 指令将弹 :的1 1 11 型值变为s h o r t 类型,然后再对其进行符号扩展,恢复成i l l t 类型。i 2 c 指令 聿弹t i n t 类型值变为c h a r 类型,然后再对其进行零扩展,恢复成i n l 类型。 撵:彬j 操作数说明 ,2 t 无 将i n t 类型值转换为l o n g 类型值 o无将i n t 类型值转换为f l o a t 类型值 1 2 d无 将i n t 类型值转换为d o u b l e 类型值 1 2 i 无 将l o n g 类型值转换为i n t 类型值 1 2 j 无 将l o n g 类型值转换为f l o a t 类型值 1 2 d无 将l o n g 类型值转换:为d o u b l e 类型值 第三章。传感器掰络中资源异构的表现形式和解决方案 t 2 i无将f l o a t 类型值转换为i n t 类型值 记l无 将f l o a t 类型值转换为l 佃g 类型值 位d无将f l o a t 类型值转换为d o u b l e 类型值 d 2 i无将d o u b l e 类型值转换为i n t 类型值 d 2 1无 将d o u b l e 类型值转换为l o n g 类型值 d 2 f无将d o u b l e 类型值转换为f l o a t 类型值 操作码操作数说明 i 2 b无 将i i l t 类型值转换为b y t e 类型值 i 2 e无将i i l t 类型值转换为c h a r 类型值 i 2 s无将i n t 类型值转换为s h o r t 类型值 j a v a 虚拟机中没有把l o n g 、f l o a t 、d o u b l e 类型值直接转换为比i n t 类型占据更小空 间的数据类型的操作码。因此,把f l o a t 类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年N-甲基-N-乙烯基乙酰胺行业研究报告及未来行业发展趋势预测
- 2025年复合铜箔行业研究报告及未来行业发展趋势预测
- 锑白炉工理念考核试卷及答案
- 2025年对氯苯异氰酸酯行业研究报告及未来行业发展趋势预测
- 线绕电阻器、电位器制造工三级安全教育(公司级)考核试卷及答案
- 2025年DTRO膜行业研究报告及未来行业发展趋势预测
- 2025年辅助包装材料行业研究报告及未来行业发展趋势预测
- 铝电解筑炉工突发故障应对考核试卷及答案
- 2025年蛋白粉行业研究报告及未来行业发展趋势预测
- 2025年按摩器材行业研究报告及未来行业发展趋势预测
- 七年级数学开学第一课课件
- 市场营销学市场营销与市场营销学
- 四年级心理健康上册全册教案
- 石油钻采设备与工具专业标准分类
- GB/T 39725-2020信息安全技术健康医疗数据安全指南
- GB/T 13173-2021表面活性剂洗涤剂试验方法
- FZ/T 73044-2012针织配饰品
- 全套课件:机械基础
- 公安派出所建设标准
- 智慧矿山为未来煤矿发展赋能课件
- 煤矿安全规程(防治水)课件
评论
0/150
提交评论