基于优先权分簇的无线传感器网络的网络再编程方法技术

技术编号:3545576 阅读:306 留言:0更新日期:2012-04-11 18:40
基于优先权的分簇的无线传感器网络的网络再编程方法提供了一种无线传感器网络再编程方法,用于解决当前无线传感器网络新应用程序发布到节点间耗费能量大、通信量大等问题。同时可显著的提高无线传感器网络的网络再编程的效率,并节省无线传感器网络的能量、有效控制无线传感器网络的能信量。本方法通过将无线传感网络分簇,并将无线传感器网络的每个簇根据通信的要求进行划分优先级,优先级高的簇拥有先请求新代码的下载、传输的权利,而优先级低的则要在优先权高的簇之后才有机会代码下载、传输。它具有如下特征:无线传感器网络是分簇的;每个簇头节点在接收代码时分配有优先权;簇内代码的下载是由首负责制的。

【技术实现步骤摘要】

本专利技术是一种无线传感器网络再编程的方法。主要用于解决无线传感器网络中应用程序代码更新、代码维护等,属于无线传感器网络应用程序开发及无线传感器网络的网络编程领域。
技术介绍
无线传感器网络由具有计算、通信和感知能力的小设备组成。由于传感器节点资源严重受限,要求应用程序必须尽量少地消耗网络资源。因此无线传感器网络的研究就集中到能量高效使用,同时为网络提供信息收发功能。但在实际的应用中,一个无线传感器网络必须在无人照顾的环境下服务,由于环境变化、需求变化,使得重新更新、替换并重新启动节点上的软件成为一种必然。无线传感器的网络编程可以大致分为两类:一类是将整个新程序镜象传送到各个节点;一类是基于新旧代码不同部分的传送。第一类方法为网络编程提供了基本的解决方案,而第二类办法则针对同一应用程序不同版本时使用方便,或者用于修改程序的Bug及程序升级等情况。传统的无线传感器节点再编程由手工将新程序直接配置到节点。然而,随着节点的增加,这种手工再编程已经不适用,而且,即使收到数据后通过XNP小规模的网络也不理想。因此,无线传感器网络的再编程不能依靠手工完成,而需要通过网络自动地传输到网络的各个节点。但是,如果不能将代码完全准确地发送到每个节点,则有可能会引起网络没法正常工作、网络阻塞,甚至瘫痪等。目前已有的网络再编程包括单跳网络再编程(XNP),MOAP(MultihopOver-the-Air Programming)和Deluge。所有这些都是传输整个程序,并且在TinyOS平台上编译。XNP支持代码分发和编程的主要功能,但是不支持多跳发送和无法满足大-->规模传感器网络的编程增量更新。其只能广播整个程序到离基站距离为一跳的网络节点。MOAP多跳网络编程的实现。使用Ripple分发协议来分发包到一些选中的节点,而不是洪泛到网络。对于包的重传,MOAP使用了滑动窗口协议,当它处于等待丢失包重传的时候,允许节点转发程序。Deluge是多跳网络编程机制,有两个主要功能:块数据的分发和再编程bootloader。Deluge分发程序以一种流的方式,以调整通信量。为了增加传输吞吐量,Deluge使用了优化技术,如调整包传输率,空间复用技术。不象MOAP,Deluge使用了固定大小页作为缓冲单元管理和传输。MNP提供可靠服务——将新程序通过发送选择协议发布到所有网络节点,网络上的每个节点都下载完新程序后,等待控制命令启用新程序。这些方法从仅支持单跳到支持多跳,从通信量大调整到通信量小,从提供不完全可靠到提供可靠的传输,为无线传感器网络再编程提供了技术保障,但是,无线传感器网络中网络节点的能量这个关键的影响因素却没有进行有效的控制,因此,这里提出了一种能够节省能量、又能控制网络流量的无线传感器网络再编程方法。
技术实现思路
技术问题:本专利技术的目的是提供一种基于优先权分簇的无线传感器网络的网络再编程方法,用于解决当前无线传感器网络新应用程序发布到节点间耗费能量大、通信量大等问题。本专利技术可显著的提高无线传感器网络的网络再编程的效率,并节省无线传感器网络的能量、有效控制无线传感器网络的通信量。技术方案:本专利技术是一种策略性方法,可以应用于各种与无线传感器网络的网络再编程相关的应用。本专利技术通过将无线传感网络分簇,并将无线传感器网络的每个簇根据通信的要求进行划分优先级,优先级高的簇先请求新代码的下载、传输,而优先级低的则后请求代码下载、传输。其目标是通过对网络分簇、给簇分配优先权,按先后顺序给网络节点下载新代码。网络再编程方法实现过程可以分为以下三个部分:1.)基站与簇头节点代码下载:基站负责为每个簇头节点的分配下载代码的优先权,并发布代码下载通知,簇头节点向基站请求代码下载,直到基站与-->簇头节点之间完成代码的下载,对于基站节点,分配每个簇的下载代码优先权,一开始时与优先权为0的簇头进行代码传输,每传输完一个,找优先权加1的簇头节点,2.)簇头与簇内节点的代码下载:完成簇头节点与簇内节点间的代码传输。簇头节点首先选择一个簇内节点下载代码,而后,由这个已经下载代码的簇内节点当作簇头节点,将代码下载到一个它的邻居节点,直到所有簇内节点都下载完毕新代码,3.)申请启动新代码:在簇内的所有节点下载完新代码后,可以由簇头节点负责申请启动新代码的运行,基站根据设定不同的优先权,按照不同的次序发布重启新代码程序指令。基站与簇头节点代码下载过程为:1.)分配簇头不同的优先权;2.)簇头节点每收到下载请求,判断请求是否请求本节点;3.)是,接收请求并发送请求下载的代码号;4.)不是,不理会通知,继续执行原任务;5.)收到下载代码后,判断当前代码是否已经接收过,如果接收过,则放弃接收,否则接收并发送申请下一个代码;6.)基站收到簇头请求下载的代码号后,发送与代码号对应的代码;7.)簇头节点接收完所有代码后,发送一个接收完毕通知基站,如果基站接收完簇头接收完毕通知,则根据开始发送下一个优先权的代码通知;8.)如果簇头节点有些代码没有接收到,则可以发送请求到基站重新下载代码号,基站重新发送该代码块。簇头与簇内节点的代码下载过程为:1.)簇头节点发送代码下载通知到其一簇内节点;2.)簇内节点每收到下载请求,判断请求是否请求本节点;3.)是,接收请求并发送请求下载的代码号;4.)不是,不理会通知,继续执行原任务;5.)收到下载代码后,判断当前代码是否已经接收过,如果接收过,则放弃接收,否则接收并发送申请下一个代码;6.)簇头收到簇内邻居请求下载的代码号后,发送与代码号对应的代码;-->7.)簇内节点接收完所有代码后,发送一个接收完毕通知簇头,如果簇头接收完簇头接收完毕通知,则以该簇内节点当簇头节点,开始发送代码下载通知到其一邻居节点;8.)如果簇内节点有些代码号没有接收到,则可以发送请求到簇头重新下载代码号,簇头重新发送该代码块。网络再编程方法实现过程使用“优先权分簇”实现,其步骤具体如下:步骤1).使用已有的LEACH分簇算法,将无线传感器网络分簇;步骤2).基站根据当前从簇返回到基站的信息量的值大小分配当前簇的优先权,信息量的数值最小的簇标识为0,次小的标记为1,依次按照信息量的数值增大簇的标记值也增大,标记值数值越小则优先权越高,标记值数值越大则优先权越小;基站发送下载通知代码块大小到当前优先权最高的簇头节点;步骤3).簇头节点收到通知后,向基站节点发送第一个代码下载请求;步骤4).基站节点收到请求后,开始发送代码给簇头节点,并附有下一个可以下载的代码编号;步骤5).簇头节点收到第一个代码后,发一个确认接收并请求下一个请求要下载的代码编号;步骤6).一直按步骤4)-步骤6)进行,直到簇头节点接收完毕最后一个代码编号,然后发送一个接收完毕确认到基站;步骤7).基站开始通知下一个优先权高的请求代码下载的簇头节点;步骤8).当前簇头节点收到通知后,请求下载代码,按照步骤3)-步骤6)进行,直到最后一个簇头节点完成代码的接收;步骤9).簇头节点收完整个代码后,开始向簇内的一节点开始发送代码下载通知;步骤10).簇内收到通知的节点发送下载请求;与簇头节点按照步骤3)-步骤6)进行代码下载;步骤11).簇内节点收完代码后,其它节点的代码由这个节点开始负责下载本文档来自技高网
...

【技术保护点】
一种基于优先权分簇的无线传感器网络的网络再编程方法,其特征是网络再编程方法实现过程可以分为以下三个部分:1.)基站与簇头节点代码下载:基站负责为每个簇头节点的分配下载代码的优先权,并发布代码下载通知,簇头节点向基站请求代码下载,直到 基站与簇头节点之间完成代码的下载,对于基站节点,分配每个簇的下载代码优先权,一开始时与优先权为0的簇头进行代码传输,每传输完一个,找优先权加1的簇头节点,2.)簇头与簇内节点的代码下载:完成簇头节点与簇内节点间的代码传输。簇头节点首 先选择一个簇内节点下载代码,而后,由这个已经下载代码的簇内节点当作簇头节点,将代码下载到一个它的邻居节点,直到所有簇内节点都下载完毕新代码,3.)申请启动新代码:在簇内的所有节点下载完新代码后,可以由簇头节点负责申请启动新代码的运行 ,基站根据设定不同的优先权,按照不同的次序发布重启新代码程序指令。

【技术特征摘要】
1.一种基于优先权分簇的无线传感器网络的网络再编程方法,其特征是网络再编程方法实现过程可以分为以下三个部分:1.)基站与簇头节点代码下载:基站负责为每个簇头节点的分配下载代码的优先权,并发布代码下载通知,簇头节点向基站请求代码下载,直到基站与簇头节点之间完成代码的下载,对于基站节点,分配每个簇的下载代码优先权,一开始时与优先权为0的簇头进行代码传输,每传输完一个,找优先权加1的簇头节点,2.)簇头与簇内节点的代码下载:完成簇头节点与簇内节点间的代码传输。簇头节点首先选择一个簇内节点下载代码,而后,由这个已经下载代码的簇内节点当作簇头节点,将代码下载到一个它的邻居节点,直到所有簇内节点都下载完毕新代码,3.)申请启动新代码:在簇内的所有节点下载完新代码后,可以由簇头节点负责申请启动新代码的运行,基站根据设定不同的优先权,按照不同的次序发布重启新代码程序指令。2.根据权利要求1所述的基于优先权分簇的无线传感器网络的网络再编程方法,其特征是基站与簇头节点代码下载过程为:1.)分配簇头不同的优先权;2.)簇头节点每收到下载请求,判断请求是否请求本节点;3.)是,接收请求并发送请求下载的代码号;4.)不是,不理会通知,继续执行原任务;5.)收到下载代码后,判断当前代码是否已经接收过,如果接收过,则放弃接收,否则接收并发送申请下一个代码;6.)基站收到簇头请求下载的代码号后,发送与代码号对应的代码;7.)簇头节点接收完所有代码后,发送一个接收完毕通知基站,如果基站接收完簇头接收完毕通知,则根据开始发送下一个优先权的代码通知;8.)如果簇头节点有些代码没有接收到,则可以发送请求到基站重新下载代码号,基站重新发送该代码块。3.根据权利要求1所述的基于优先权分簇的无线传感器网络的网络再编程方法,其特征是簇头与簇内节点的代码下载过程为:1.)簇头节点发送代码下载通知到其一簇内节点;2.)簇内节点每收到下载请求,判断请求是否请求本节点;3.)是,接收请求并发送请求下载的代码号;4.)不是,不理会通知,继续执行原任务;5.)收到下载代码后,判断当前代码是否已经接收过,如果接收过,则放弃接收,否则接收并发送申请下一个代码;6.)簇头收到簇内邻居请求下载的代码号后,发送与代码号对应的代码;7.)簇内节点接收完所有代码后,发送一个接收完毕通知簇头,如果簇头接收完簇头接收完毕通知,则以该簇内节点当簇头节点,开始发送代码下载通知到其一邻居节点;8....

【专利技术属性】
技术研发人员:王汝传李文锋孙力娟黄海平陈志
申请(专利权)人:南京邮电大学
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1