CN105072657A - 基于数据命名为中心的无线传感器网络异步休眠调度方法 - Google Patents

基于数据命名为中心的无线传感器网络异步休眠调度方法 Download PDF

Info

Publication number
CN105072657A
CN105072657A CN201510438360.4A CN201510438360A CN105072657A CN 105072657 A CN105072657 A CN 105072657A CN 201510438360 A CN201510438360 A CN 201510438360A CN 105072657 A CN105072657 A CN 105072657A
Authority
CN
China
Prior art keywords
node
bag
data
information
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510438360.4A
Other languages
English (en)
Other versions
CN105072657B (zh
Inventor
韩鑫
陈晓江
倪礼刚
徐丹
刘晨
尹小燕
王安文
房鼎益
汤战勇
王薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwest University
Original Assignee
Northwest University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwest University filed Critical Northwest University
Priority to CN201510438360.4A priority Critical patent/CN105072657B/zh
Publication of CN105072657A publication Critical patent/CN105072657A/zh
Application granted granted Critical
Publication of CN105072657B publication Critical patent/CN105072657B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于数据命名为中心的无线传感器网络异步休眠调度方法,本发明的基本思路是:无线传感器网络中命名数据网络框架的实现,网络环境的部署,interest请求包进行下发请求,Data信息包进行回传,节点周期性的进行休眠调度并执行重传机制。该网络结构可以统一多种不同速率的传感器网络,并且能够提供对应的异步休眠调度策略,以达到能够大规模、野外部署,和减少电池能量消耗的目的。

Description

基于数据命名为中心的无线传感器网络异步休眠调度方法
技术领域
本发明属于无线网络的应用技术领域,具体涉及一种新的以命名数据为中心的网络架构及在该构架下实现的异步休眠调度方法,能够更好的改进现有无线传感网中休眠调度算法的不足,该方法应用于无线传感网去解决其休眠调度问题。
背景技术
近年来,传感器技术、无线通信技术与嵌入式计算技术的不断进步,推动了低功耗、多功能传感器的快速发展,使其在微小体积内能够集成信息采集、数据处理和无线通信等多种功能。由这种微型传感器组成的无线传感器网络由部署在监测区域内的大量廉价微型传感器节点组成。通过无线通信的方式形成一种多跳自组织的网络系统,能够通过协作实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,从而获取详细而准确的信息,这种传感器网络综合了微电子、计算机和网络通信等多个学科的知识,是当前国际上备受关注的、知识高度集成的一个新兴研究热点。
由于无线传感器网络多应用于进行环境监控,自然灾害的预警等。节点通常部署的目标监测区域环境恶劣,再加上节点电池电量有限、长期工作的硬件自身可能出现故障等情况,如何减少节点空闲侦听、有效利用电池能源、降低能耗以及延长网络生存期等一系列问题越来越受到人们的关注。较有效的也是最常用的解决办法之一是节点根据一定的调度周期,在休眠状态和工作状态之间相互转换,通过合理关闭部分节点的通信模块,降低部分节点的空闲侦听来节省能量。近几年,国内外的研究人员对休眠调度技术进行了不同的探索,取得了一定的成果,但仍有欠缺,特别是在对于降低能耗方面需要新的技术或者网络框架来进行有效的支持。
命名数据网络这种新型网络架构的提出,对于无线传感器网络降低能耗方面提供了新的技术和解决思路。近年来,以美国为代表的研究下一代互联网架构的项目组越来越多的出现,其中以命名数据网络发展最为快速,而且其以数据为中心的特点受到了广泛的共识。命名数据网络以interest请求包和data数据包为其基本的通信方式,使用转发信息表(ForwardingInformationBase,FIB),等待请求表(PendingInterestTable,PIT)和内容仓库(ContentStore,CS)为其框架的三大组件,构成了一种新颖的网络架构。而且其基于数据请求者(Consumer-Driver)的请求方式颠覆了传统无线传感器网络中的基于数据产生者(Product-Driver)的发送方式。这种传输方式在异构传感器网络中具有相当重要的作用。
目前,根据无线传感器网络中传感器监测、采集以及数据传输方式的不同,可以分为两种传感器网络。一种周期性监测和采集数据的传感器网络,主要针对于长期环境的监测,例如:空气温湿度传感器网络。另一种为爆发式数据采集的传感器网络,主要针对于突发性时间的监测,例如:震动传感器网络、火山监测传感器网络。针对不同的传感器网络,所需的数据传输的速率不同,如何有效的自适应的解决传输速率变化的问题也是目前无线传感器网络的研究方向之一。
在无线传感器网络中,执行休眠调度策略是降低电池能耗的主要办法之一。目前,休眠调度策略分为两种:第一种为同步休眠调度,即假设网络中的所有节点有相同的时钟,使得其可以时钟同步,然后采用休眠调度策略。这种休眠调度策略,假设性质太强,不能达到大规模或者野外部署的要求。第二种为异步休眠调度,即网络中的所有节点都会出现时钟漂移的现象,使得时钟无法同步,解决方案为利用算法来保证某一时间点相邻节点间达到时钟协调,以达到数据传输的目的。对于第二种策略虽然能够达到真实环境的部署但是其不断的进行探测包的发送,会消耗大量的电池电量来进行无意义的伪同步的算法操作,效果也不能达到最优。
发明内容
针对上述现有的无线传感器网络方法存在的缺陷或不足,本发明的目的在于,利用一种新型的命名数据网络来改进无线传感器网络中出现的异步休眠调度问题。该网络结构可以统一多种不同速率的传感器网络,并且能够提供对应的异步休眠调度策略,以达到能够大规模、野外部署,和减少电池能量消耗的目的。
为了实现上述任务,本发明采用以下技术方案:
一种基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的网络中所有节点随机分布于一个三维空间中,汇聚节点位于中间位置且只有一个;该网络在节点中构建数据仓库、转发信息仓库和等待数据返回路径表,节点之间传递的数据包包括请求包和信息包,所述的调度方法包括以下步骤:
步骤一,路由建立及请求数据阶段:
步骤S10,汇聚节点发出请求包;
步骤S11,节点1判断是否收到请求包,如果收到则执行步骤S12;
步骤S12,在节点1的数据仓库中查询,查看请求包是否在其中已经存在,如果查询成功则执行步骤S13,否则执行步骤S14;
步骤S13,节点1直接回传给汇聚节点数据,执行步骤S30;
步骤S14,节点1在等待数据返回路径表中查询,查看请求包是否在其中已经存在,如果查询成功,则执行步骤S15,否则执行步骤S16;
步骤S15,节点1将收到的请求包中存储的上一跳节点号存入等待数据返回路径表中,路由建立结束;
步骤S16,节点1在转发信息仓库中查询,查看请求包是否在其中已经存在,如果查询成功,则执行步骤S17,否则执行步骤S18;
步骤S17,节点1根据请求包在转发信息仓库中对应的节点号,对该请求包进行转发,路由建立结束;
步骤S18,将请求包添加到转发信息仓库中,执行步骤S19;
步骤S19,节点1广播发送请求包,等待任意一个确认包的返回;
步骤S110,若有任何一个节点返回确认包,则将返回的确认包中的节点号存入转发信息仓库中,路由建立结束;否则执行步骤S111;
步骤S111,若没有节点返回确认包,则进行重传;节点1等待1s后,执行步骤S18;
步骤二,休眠调度阶段
步骤S20,节点1唤醒状态持续3s,若接收到请求包则执行步骤S21,若接收到信息包,则执行步骤S23,若未接收到任何包,进行随机的一段时间等待后进入休眠状态,并执行步骤S25;
步骤S21,步骤S21,节点1收到请求包后,若在节点1中完成请求包的处理,则处理完成后,进行随机一段时间的等待,如在等待过程中没有收到任何包,则节点1进入休眠状态,执行步骤S25;若节点1未完成请求包的处理,则执行步骤S22;
步骤S22,节点1等待自己发出的请求包后的确认包返回,若接收到确认包,则将确认包中的信息存储在转发信息仓库中;若没有收到确认包,则执行步骤S23;处理完成后,进行一段时间的等待,若没收收到任何包,则进入休眠状态,执行步骤S25;
步骤S23,如节点1没有收到确认包,则进行重传处理,重传每1s进行1次,共进行3次;若在3次重传中任何一次有确认包的返回,则完成处理,进入休眠状态,执行步骤S25;
步骤S24,节点1收到其下一跳节点2发来的信息包,在等待数据返回路径表中查询该信息包对应的请求包,若查询到,则将信息包进行回传并存储在节点1的数据仓库中,若未查询到则丢弃信息包,整个过程完成;处理完成后,进行随机的一段时间等待,若未收到任何包,则进入休眠状态,执行步骤S25;
步骤S25,节点处于通信模块关闭状态,休眠3s;休眠结束后,执行步骤S20,进入下一个休眠周期;
步骤三,信息包回传阶段
节点进行信息包回传的具体步骤如下:
步骤S30,节点1将接收到的请求包与数据仓库中的每一项进行匹配查询,如查询到则执行步骤S31,否则执行S37;
步骤S31,节点1将查询到与请求包对应的数据进行打包处理,生成信息包并回传给节点1的下一跳节点2,且等待确认包的返回;执行步骤S32;
步骤S32,若节点2收到信息包,则查询节点2的等待数据返回路径表中是否存在此信息包对应的部分,如果存在,则执行步骤S33,否则执行步骤S37;
步骤S33,节点2回传给节点1确认包,执行步骤S34,否则执行步骤S36;
步骤S34,节点2将接收到的信息包存入其数据仓库中,执行步骤S35;
步骤S35,节点2将接收到的信息包回传给此节点的下一跳节点,重复步骤S32至S35,直至下一跳节点为汇聚节点位置,此时执行步骤S37;
步骤S36,若下一跳节点在重传时间1s内未返回确认包,则信息包发送节点执行步骤S21;
步骤S37,信息包回传结束。
进一步地,所述的请求包和信息包的结构均包括命名,命名包括请求的目的节点ID、需要请求的数据类型、数据包的批次号;请求包中还包括数据包类型、上一跳节点ID、随机数;信息包中还包括数据包类型、一批数据包的总个数、目前属于第几个数据包、数据。
进一步地,所述的数据仓库中每一个表项都包括:命名、一批数据包的总个数、目前属于第几个数据包、对应的一个数据、这个数据已经在数据仓库中被使用的次数。
进一步地,所述的转发信息仓库中每一个表项都包括:命名、每一个条目的发送到哪个节点、每一个条编号已经使用的空间、每一个条目已经存在的时间、每一个条相似匹配后使用的次数。
进一步地,所述的等待数据返回路径表中每一个表项都包括:命名、每一个条目的分别来自哪些节点、每一个条目的已经使用的空间、每一个条目已经存在的时间。
进一步地,所述的节点1在请求包发送时,在节点1和节点2之间执行确认和重传机制。
本发明的技术优势在于,利用一种新的命名数据网络来改进传感器网络中的异步休眠调度问题,该网络结构能够提供能耗更少的异步休眠调度策略,以达到能够大规模、野外部署,和减少电池能量消耗的目的。其中优势主要体现在:
1.命名数据网络利用基于数据请求者(Consumer-Driver)的请求方式颠覆了传统无线传感器网络中的基于数据产生者(Product-Driver)的发送方式,形成了内容请求驱动式的通信模式;
2.休眠调度唤醒后,不需要进行探测包的发送,大大减少了探测包对于信道利用率的占用;
3.如果出现了丢包重传的情况,由于每一个节点中有ContentStore的存在,使得再次返回的data包的跳步数大大减少、重传概率降低,增大了信道的吞吐率。
4.不需要对时钟偏移进行校正;
5.能够适应于有路由空洞、具有移动性的无线传感器网络。
附图说明
图1是interest请求包的结构;
图2是Data信息包的结构;
图3是ContentStore中每一个表项的结构;
图4是ForwardingInformationBase中每一个表项的结构;
图5是PendingInterestTable中每一个表项的结构;
图6是节点1发送interest至节点2的ContentStore中,情况1;
图7是节点1发送interest至节点2的ContentStore中,情况2;
图8是节点2将interest在ContentStore至PendingInterestTable中传送,情况1;
图9是节点2将interest在ContentStore至PendingInterestTable中传送,情况2;
图10是节点2将interest在PendingInterestTable至ForwardingInformationBase中传送,情况1;
图11是节点2将interest在PendingInterestTable至ForwardingInformationBase中传送,情况2;
图12是节点2中ForwardingInformationBase处理后,将节点1的interest通过节点2广播发送出去后,情况1;
图13是节点2中ForwardingInformationBase处理后,将节点1的interest通过节点2广播发送出去后,情况2;
图14是Data信息包回传;
图15是interest请求包下发、休眠调度、Data信息包回传的整个过程的流程图。
具体实施方式
本发明是基于命名数据为中心的无线传感网下的异步休眠调度方法,主要有两方面的发明内容:1.命名数据网络在无线传感网下的构建,2.在无线传感器网络的环境中利用命名数据网络的网络框架,实现了一种更好的异步休眠调度的方法。其发明的基本思路是:无线传感器网络中命名数据网络框架的实现,网络环境的部署,interest请求包进行下发请求,Data信息包进行回传,节点周期性的进行休眠调度并执行重传机制。
命名数据网络
一种基于数据命名为中心的无线传感器网络,该网络中所有节点随机分布于一个三维空间中,汇聚节点位于中间位置且只有一个;该网络在节点(包括汇聚节点和普通节点)中构建数据仓库ContentStore、转发信息仓库ForwardingInformationBase和等待数据返回路径表PendingInterestTable,节点之间的数据包包括请求包interest和信息包Data:
一、数据包、节点内部设置以及相关函数的构建
请求包interest和信息包Data:
根据命名中心网络的特点,我们保留了interest请求包和Data信息包。Interest包(请求包)用来进行请求数据,并且进行路由选择,留下“面包屑”路径,使得Data包(信息包)可以快速的回传。其中两个数据包共同保存了命名中心网络中的数据包名字,但是与一般的命名中心网络使用类似url的命名方式不同,无线传感器网络中,我们使用请求的目的节点ID:DestinationID、需要请求的数据类型:DataFlag、数据包的批次号:PackageCounter来进行联合命名;对于interest请求包,除了命名外,还有数据包的类型:PackageFlag、上一跳节点ID:LastID、随机数:Noce来构成。对于Data信息包,除了命名外,还有数据包类型:PackageFlag、一批数据包的总个数:PackageAll、目前属于第几个数据包:PackageSeg、数据:Data构成。图1即为interest请求包结构,图2为Data信息包结构。
数据仓库ContentStore
节点中的ContentStore是一个数据仓库,即将刚刚发送过的返回data数据进行暂时的存储,以便其他中继节点或者汇聚节点出现丢包后,进行快速的返回,提高了传输的速率。其中对于ContentStore中每一个表项都包含:唯一识别数据包的命名interestName(包含DestinationID、DataFlag、PackageCounter)、一批数据包的总个数;PackageAll、目前属于第几个数据包:PackageSeg、对应的一个数据:Data、已经这个数据在ContentStore中被使用的次数:number。图3即为ContentStore的每一个表项的结构。
转发信息仓库ForwardingInformationBase
点中的ForwardingInformationBase是一个转发信息仓库,即用来对需要请求的interest包进行下一跳的选择,进行路由的选择,动态的更新,以及记录每一个interest包从FIB表中每一个条目的interestName发送到哪个节点。其中相比于传统的路由方式,ForwardingInformationBase支持模糊匹配发送。其中对于ForwardingInformationBase的每一个表项都包含如下几部分:唯一识别数据包的命名:interestName(包含DestinationID、DataFlag、PackageCounter)、OutcomingQueue每一个条目的interestName发送到哪个节点、OutcomingNumber每一个条编号interestQueue已经使用的空间、Time每一个条目已经存在的时间,用于替换处理时使用、Used每一个条目相似匹配后使用的次数。如图4所示即为ForwardingInformationBase的一个表项的结构。
等待数据返回路径表PendingInterestTable
节点中的PendingInterestTable是一个等待数据返回路径表,即等待对于自己发送出去的interest数据包,使得其interestName相同的Data信息包进行回传,利用PendingInterestTable就使得返回的Data信息包能够不进行路由工作,直接按照最短的路线进行返回。其中对于PendingInterestTable的每一个表项都包含如下几个部分:唯一识别数据包的命名interestName(包含DestinationID、DataFlag、PackageCounter)、IncomingQueue每一个条目的interestName分别来自哪些节点、IncomingNumber每一个条目的interestName已经使用的空间、Time每一个条目已经存在的时间,用于替换处理时使用。如图5所示即为PendingInterestTable的每一个表项的结构。
相关功能函数的构建
1.ContenStore相关函数构建
1-1voidInsertContentStore(Datadata);
函数作用:对ContentStore数据仓库进行数据的插入。
1-2intContentStoreFinder(Interestinterest)
函数作用:对ContentStore进行查找,找到希望查询的数据。
1-3boolSendMessageFromContentStore(inti)
函数作用:若从ContentStore中找到了请求的内容,则从ContentStore中直接进行Data信息包的发送。
1-4voidDeleteItemCS()
函数作用:从ContentStore中根据Time删除使用次数最少的数据。
2.PendingInterestTable相关函数构建
2-1IntPendingTableFindInterest(Interestinterest)
函数作用:PendingInterestTable中interest查找。
2-2voidInsertNamePIT(Interestinterest)
函数作用:PendingInterestTable中未找到interestName则插入interestName和IncomingQueue。
2-3voidInsertIncomingPIT(inti)
函数作用:PendingInterestTable中找到了interestName则插入IncomingQuere
2-4intPendingTableFindData(Datadata)
函数作用:PendingInterestTable中查找Data知否为等待的data。
2-5voidDeleteItemPIT()
函数作用:PendingInterestTable中删除操作,根据已经存在的time,删除长时间的。
2-6voidDeleteItemPITS(inti)
函数作用:PendingInterestTable中删除特定的Item
2-7voidSendDataFromPIT(inti,Datadata)
函数作用:PendingInterestTable中等待的Interest对应的Data返回,则根据IncomingQueue返回。
3.ForwardingInformationBase相关函数构建
3-1intForwardingTableFinder(Interestinterest)
函数作用:查找ForwardingInformationBase中interest,使用模糊查询,即只是比较DestinationID和DataFlag即可,不需要需要批次一样。
3-2voidInsertInterestFIB(Interestinterest)
函数作用:ForwardingInformationBase中未找到interest,插入新的interestnName,其他等待回复ACK后再添加。后进行广播转发。
3-3voidInsertQueueFIB(intinterestID,intnodeid)
函数作用:ForwardingInformationBase发送完新的interest后收到了ACK来进行OutcomingQueue添加,若没有接收到下一跳的回复,则新的interest丢弃,根据OutcomingNumber来判断。
3-4voidForwardingInterest(intinterestID,Interestinterest)
函数作用:ForwardingInformationBase中查找到相似的interest,直接进行转发。
3-5voidDeleteItemFIB()
函数作用:对ForwardingInformationBase进行删除,删除当前没有被重复使用且时间最长的条目。
3-6voidDeleteItemFIBS(inti)
函数作用:删除ForwardingInformationBase中特定的Item。
二、网络环境的部署
1.所有节点随机分布于一个三维空间中,汇聚节点在区域中间位置且只有一个。
2.所有节点与汇聚节点都保持静止。
3.所有节点均同构,具有唯一的ID,并且具有数据融合的功能。
4.长期监测环境的数据,对数据的实时性没有特别的要求,可以容忍一定的数据延迟。
5.数据请求过程表现为:汇聚节点下发interest包进行请求。
6.数据回传过程表现为:存有需要请求的数据的节点进行回传。
三、请求包和信息包的生命周期
注:本文中,为了更清楚表示节点之间的信息、位置关系,文中涉及的节点1、节点2、节点3的关系是:节点2是节点1的下一跳节点,节点3是节点2的下一跳节点。然而这种特定的指代并不是限制,只是为了更好理解节点的工作状态,节点1可以为整个网络中的任意一个节点,工作方式相同。
请求包的生命周期包括四大步骤:
A.节点1发送interest包(请求包)至节点2的ContentStore中,可以分为以下两种情况:
情况1:节点1发送Interest包到达节点2后,节点2中ContentStore中存储有匹配其interestName的Data包(信息包),则立刻返回该信息包。如图6所示,具体步骤如下:
A1-1.节点1通过SendInterest函数发送interest请求包至节点2;
A1-2.节点2通过ContentStoreFinder函数在其ContentStore中查找interest是否有匹配项存在;
A1-3.若存在,则节点2调用SendMessageFromContentStore函数,将ContentStore中interest对应的Data包进行返回给节点1;
A1-4.节点1收到Data信息包后,进行内容的查看,并且通过InsertContentStore函数将返回的Data包存储到其ContentStore中。
情况2:节点1发送Interest包到达节点2后,节点2中ContentStore中没有存储匹配其interestName的Data的数据包,则将interest交给PendingInterestTable进行处理。如图7所示,具体步骤如下:
A2-1.节点1通过SendInterest函数发送interest请求包至节点2;
A2-2.节点2通过ContentStoreFinder函数在其ContentStore中查找interest是否有匹配项存在;
A2-3.若不存在,则将节点1发送的interest请求包交给PendingInterestTable进行处理。
B.若节点2中经过ContentStore处理后,将节点1的interest请求包交给节点2的PendingInterestTable处理,可以分为两种情况:
情况1:节点2PendingInterestTable中查找节点1的interest请求包,若存在,说明节点1之前发来过请求包,则将节点1的interest请求包中的节点号存入PendingInterestTable中对应interest项的IncomingQueue队列结构中,如图8所示,具体步骤如下:
B1-1.节点2中通过PendingTableFindInterest函数在其PendingInterestTable中查找节点1的interest请求包是否存在;
B1-2.若存在,则说明interest请求包已经到达过节点2。节点2通过InsertIncomingPIT函数将节点1的interest请求包中的节点号存入PendingInterestTable中对应interest项的IncomingQueue队列结构中;
B1-3.节点1发送的interest请求数据整个过程结束,此interest请求包生命周期结束。
情况2:节点2的PendingInterestTable中查找节点1的interest请求包,若不存在,则将节点1此次发来的interest请求包添加进PendingInterestTable中,并且同时将节点1的interest交给ForwardingInformationBase进行处理。如果9所示,具体步骤如下:
B2-1.节点2中通过PendingTableFindInterest函数在其PendingInterestTable中查找节点1的interest请求包是否存在。
B2-2.若不存在,则说明interest请求包从未到达过节点2。节点2通过InsertNamePIT函数将节点1的interest请求包存入PendingInterestTable中。
B2-3.将节点1的interest请求包交给节点2的ForwardingInformationBase进行处理。
C.若节点2中PendingInterestTable处理后,将节点1的interest交给节点2的ForwardingInformationBase处理,则可以分为两种情况:
情况1:节点2的ForwardingInformationBase中查找节点1的interest请求包,若不存在,说明节点1之前没有发来过请求包,则节点2将此次发来的interest存入ForwardingInformationBase中,并且将节点1发送的interest进行广播,最后再等待下一跳节点(如:节点3)进行认证。如图10所示,具体步骤为:
C1-1.节点2通过ForwardingTableFinder函数在其ForwardingInformationBase中查找节点1的interest请求包是否存在。
C1-2.若不存在,说明节点1的interest第一次从节点2进行转发,则节点2会调用InsertInterestFIB函数将此interest存入ForwardingInformationBase中,并且将节点1发送的interest进行广播。
C1-3.等待下一跳节点(如:节点3)进行ACK确认后继续处理。
情况2:节点2的ForwardingInformationBase中查找节点1的interest请求包,若存在,则节点2根据ForwardingInformationBase中interest对应的表项中OutcomingQueue中已有下一跳节点号(如:节点3)进行转发。如图11所示,具体步骤为:
C2-1.节点2通过ForwardingTableFinder函数在其ForwardingInformationBase中查找节点1的interest请求包是否存在
C2-2.若存在,则节点2调用ForwardingInterest函数,并且根据ForwardingInformationBase中interest对应的表项中OutcomingQueue中下一跳节点号(如:节点3)进行转发。
D.若节点2中ForwardingInformationBase处理后,则将节点1的interest通过节点2广播发送出去后,可能出现两种情况:
情况1:若节点3第一次接收到通过节点2发送的节点1的interest请求包,则如图12所示,具体步骤如下:
D1-1.节点2通过ForwardingInformationBase发送节点1的interest进行广播发送;
D1-2.若节点3接收到interest后,经过节点3的PendingInterestTable调用PendingTableFindInterest;
D1-3.经过步骤D1-2后,节点3从未收到过节点2发送的节点1的interest请求包,则节点3返回给节点2ACK确认包;
D1-4.节点2接收到ACK确认包后,将节点2中ForwardingInformationBase中节点1请求的interest对应的项中OutcomingQueue队列中增加节点3的节点号,以便后续使用。
情况2:若节点3没有收到或者已经收到过通过节点2发送的节点1的interest请求包,则不用返回ACK确认包。如图13所示,具体步骤如下:
D2-1.节点2通过ForwardingInformationBase发送节点1的interest进行广播发送
D2-2.若节点3接收到interest后,经过节点3的PendingInterestTable调用PendingTableFindInterest,若没有接受到interest请求包,则不做任何处理。
D2-3.经过步骤D2-2后,节点3在其PendingInterestTable查找到节点1的interest,则不返回ACK确认包。
信息包的生命周期包括:
由于interest请求包在其生命周期过程中留下了“面包屑”,所以Data信息包的生命周期过程相对较简单,如图14所示。具体步骤如下:
(1)节点2回传节点1的interest包匹配的数据Data包;
(2)节点1调用函数PendingTableFindData在其PendingInterestTable中查看节点1是否对此信息包进行了Interest请求包的发送。
(3)若(2)查询失败,即此Data包不是节点1的interest所请求的数据包,则Data信息包被丢弃,Data包返回过程结束;
(4)若(2)查询成功,则节点1将调用SendDataFromPIT函数,并利用PendingInterestTable中查找到的Interest中IncomingQueue队列中的节点ID,进行Data信息包回传;
(5)回传的同时,节点1调用InsertContentStore将回传的Data信息包暂存入其ContentStore中,以便后续使用。
异步休眠调度方法:
本发明的另一方面,根据前面提出的命名数据网络的特点,提供了一种异步休眠调度策略,包括路由建立及请求数据阶段、休眠调度阶段、信息包回传阶段。具体包括如下步骤:
步骤一,路由建立及请求数据阶段:
首先进行路由的建立,整个系统是基于消费者(Consumer-Driver)请求的方式,所以从汇聚节点出发进行interest请求包的请求。
步骤S10,汇聚节点发出interest请求包,其中interest包中包括数据包的类型、请求的目的节点、请求的数据类型、请求的数据包的批次号、此节点的上一跳节点号以及一个随机数。其中数据包类型为1表示为请求数据包;请求数据类型为1温度、2湿度、3光照、4电压,实验中以电压为例;数据包批次从1开始;
步骤S11,节点1判断是否收到interest请求包,如果是则执行第S12步骤;
步骤S12,在节点1中进行ContentStore的查询,查看interest是否在其中已经存在,如果查找成功,则执行步骤S13,否则执行步骤S14;
步骤S13,直接回传给汇聚节点数据,不需要进行路由建立;执行步骤S30;
步骤S14,节点1将interest请求包交给此节点的PendingInterestTable进行查询,查看interest是否在其中已经存在,如果查找成功,则执行步骤S13,将此interest的中存储的上一跳节点号存放在PendingInterestTable中interest对应项的IncomingQueue队列中,路由建立结束;如果查找失败,则执行步骤S16;
步骤S15,节点1将此interest的中存储的上一跳节点号(本例中为汇聚节点号)存放在PendingInterestTable中interest对应项的IncomingQueue队列中,路由建立结束;
步骤S16,节点1将interest请求包交给此节点的ForwardingInformationBase进行查询,查看interest是否在其中已经存在。如果查询成功,则执行步骤S17;根据interest在ForwardingInformationBase中对应项的OutcomingQueue中ID号,直接对此interest进行转发,路由建立结束;如果查询失败,则执行步骤S18;
步骤S17,节点1根据interest在ForwardingInformationBase中对应项的OutcomingQueue中ID号,直接对此interest进行转发,路由建立结束;
步骤S18,节点1的ForwardingInformationBase表中无此interest项,则首先将此interest添加进ForwardingInformationBase中,执行步骤S19;
步骤S19,节点1广播发送interest请求包,等待任意一个确认包的返回;
步骤S110,若有任何1个节点返回ACK确认包,例如节点2返回了确认包,则将返回的确认包中的ID号存入节点1中ForwardingInformationBase对应interest项的OutcomingQueue队列中,路由建立结束;否则,否则执行步骤S111;
步骤S111,若没有任何1个节点返回ACK确认包,则进行重传;节点等待1s后,执行步骤S18操作。
步骤二,休眠调度阶段
路由阶段建立完成整个动态的路由系统后,便进入休眠调度阶段,一个休眠调度阶段分为其中三部分:唤醒状态3s,随机等待时间1s-3s,重传时间1s以及休眠时间3s。具体步骤如下:
步骤S20,节点1唤醒状态持续3s,若接收到interest请求包则执行步骤2;若接收到Data信息包,执行步骤S23;若未接收到任何包,进行随机的一段时间的等待,则进入休眠状态,执行步骤S25;
步骤S21,节点1接收到interest请求包后,若在节点1中完成请求包的处理过程,即在节点1自己的ContentStore或者PendingInterestTable中完整进行请求包生命周期中前三个过程A至C,则interest请求包处理完成;处理完成后,进行随机的一段时间的等待,若未接收到任何包(数据包),则进入休眠状态,执行步骤S25;若未在节点自身完成interest请求包的处理,而进入发请求包生命周期的D过程,则执行步骤S22;
步骤S22,节点1等待自己发出的interest包进行等待ACK确认包进行返回,若接收到ACK确认包,则进行对应ForwardingInformationBase存储,完成interest发送;若未收到任何一个ACK确认包,执行步骤S23;处理完成后,进行随机的一段时间的等待,若未接收到任何包,则进入休眠状态,执行步骤S25;
步骤S23,节点1未收到任何一个ACK确认包,则进行重传处理,重传每1s进行1次,共进行3次;若其中任何一次有ACK确认包的返回,则立刻完成处理,进入休眠状态,执行步骤6S25;
步骤S24,节点1收到节点2发来的信息包Data,在PendingInterestTable中进行查找对应的Data信息包中interest包,若查询到,则将信息包Data中的数据data进行回传并且存储在此节点1的ContentStore中;若未查询到则丢弃,整个过程完成;处理完成后,进行随机的一段时间的等待,若未收到任何包,则进入休眠状态,执行步骤S25;
步骤S25,节点处于通信模块关闭状态,休眠3s,休眠结束后,执行步骤S20,进入下一个休眠周期。
步骤三,信息包回传阶段
节点进入周期性的唤醒和休眠状态后,进行data数据回传时,具体步骤如下:
步骤S30,节点1将接收到的interest包与ContentStore中的每一项进行匹配查询,若查询到则执行步骤S31,否则执行步骤S37;
步骤S31,节点1将ContentStore中对应的数据进行打包处理,生成Data信息包并回传给此节点的下一跳节点2,且等待ACK确认包的返回,执行步骤S32;
步骤S32,若节点2收到信息包,则查询节点2的PendingInterestTable中是否存在此Data信息包中对应的interestName部分,若存在,执行步骤S33,否则执行步骤S37;
步骤S33,节点2回传给节点1确认包ACK,执行步骤S34,否则执行步骤S36;
步骤S34,节点2将接收到的信息包存入其数据仓库中,执行步骤S35;
步骤S35,节点2将接收到的信息包回传给此节点的下一跳节点,重复步骤S32至S35,直至下一跳节点为汇聚节点位置,此时执行步骤S37;
步骤S36,若下一跳节点在重传时间1s内未返回确认包,则信息包发送节点执行步骤S21;
步骤S37,信息包回传结束。
ACK确认和重传机制
1)ACK确认机制构建:
情况1:节点在Interest请求包下发时,需要ACK确认机制。
a.节点1通过ForwaringInformationBase后将interest请求包进行广播发送,若节点2接收到interest请求包,则执行步骤b,否则执行步骤e;
b.若节点2接收到节点发送的interest请求包后,将ACK确认包进行回传;若节点1接收到了回传的ACK,则执行步骤c,否则直接步骤d;
c.节点1将接收到的ACK中的节点2的ID号存入节点1的ForwardingInformationBase中,ACK确认机制成功;
d.节点1未接收到节点2回传的ACK确认包,则ACK确认机制失败,执行重传机制,执行步骤2)-a;
e.若节点2未接收到节点1发送的interest请求包,则执行重传机制步骤2)-a。
情况2:节点在回传Data包时,需要ACK确认机制。
a.节点2通过ContentStore进行Data回传数据时,若节点1接收到Data信息包,则执行步骤b;否则执行步骤c;
b.节点1接收到Data信息包后,回传ACK确认包给节点2,若节点2接收到ACK确认包,则ACK确认机制成功;否则ACK确认机制失败,执行重传机制,步骤2)-a;
c.若节点1未接收到节点2回传的Data信息包,则无法回传ACK确认包,则ACK确认机制失败,执行重传机制,步骤2)-a。
2)重传机制构建:
a.在以下4中情况下进行重传机制:节点1发送interest请求包,节点2未能收到,则执行步骤b;节点2回传ACK确认包,节点1未能收到,则执行步骤c;节点2发送data数据回传包,节点1未能收到,则执行步骤d;节点2发送Data信息包回传包,节点1接收成功,但是未能正确返回ACK确认包,则执行步骤e;
b.若节点1发送interest请求包,节点2未能收到,则在节点1的定时器时间2s结束后,节点1再次发送interest请求包;若节点2接收到interest且正确返回ACK确认包,则重传成功;否则执行步骤a;
c.若节点2回传ACK确认包,节点1未能收到,则在节点1的定时器时间2s结束后,节点1再次发送interest请求包;若节点2成功返回ACK确认包,则重传成功;否则执行步骤a;
d.若节点2发送data数据回传包,节点1未能收到,则在节点2的定时器时间2s结束后,节点2再次发送Data信息包;若节点1接收到Data信息包且正确返回ACK确认包,则重传成功;否则执行步骤a;
e.若节点1回传ACK确认包,节点2未能收到,则节点2的定时器时间2s结束后,节点2再次发送Data信息包;若节点1接收正确返回ACK确认包,则重传成功;否则执行步骤a。
为了进一步说明本发明的方法的技术方案,并验证该方法的有效性,发明人给出如下实施例。
实施例1:
步骤一,构建命名数据网络:
步骤1:编写NesC基站节点程序,并进行基站节点程序的烧写;
步骤2:编写NesC数据收集节点程序,并进行数据收集节点程序的烧写;
步骤二,网络环境的部署:
步骤3:随机部署网络整体环境;
步骤4:基站节点放置于网络环境中间;
步骤5:数据收集节点均匀随机部署;
步骤三,interest请求包进行下发请求:
步骤6:基站发出interest请求包,其中interest包中包括数据包的类型、请求的目的节点、请求的数据类型、请求的数据包的批次号、此节点的上一跳节点号以及一个随机数;其中数据包类型为1表示为请求数据包;请求数据类型为4电压;数据包批次从1开始;
步骤7-1:节点1接收到基站发出的interest,进行ContentStore的查询,发现interest没有存在;
步骤8-1:节点1将interest请求包交给此节点的PendingInterestTable进行查询,发现interest没有存在;
步骤9-1:节点1将interest请求包交给此节点的ForwardingInformationBase进行查询,发现interest没有存在;
步骤10:节点1将此interest添加进ForwardingInformationBase中,并广播发送interest请求包,等待任意节点的ACK回传;
步骤四,节点周期性的进行休眠调度并执行重传机制:
步骤11-1:节点2唤醒状态持续3s,在定时器周期内,接收到了节点1的interest请求包;
步骤12:节点2接收到interest请求包后,回传ACK给节点1;
步骤13:节点1将节点2回传的ACK确认包中的节点2ID号存入节点1的ForwardingInformationBase中;
步骤14:节点2重复进行步骤7-步骤13;
步骤15:节点2在完成所有任务后,进入休眠状态。
步骤五,Data信息包进行回传:
步骤16:节点3在接收到节点2的interest请求包后,查看ContentStore,发现interest存在,节点3直接将Data信息包回传给节点2;
步骤17-1:节点2接收到节点3的Data信息包后,将其暂存在节点2的ContentStore中,并回传给节点1;
步骤18:节点1重复步骤17-1,知道Data回传给基站节点,Data信息包回传结束,整个过程结束。
表1为实施例1中本方案和传统方案仿真实验对比
注:由于每次发送interest或者data回传消耗能量几乎相同,所以每进行一次信息发送,按照消耗单位为1的能量计算,后续相同。
由表1中可知,本方案能耗较少大约为(300-204)/300*100%=32%
实施例2:
本实施方案与实施例1所述的区别在于,在步骤7-1中,如果在节点1收到基站发出的interest,进行ContentStore的查询,发现interest存在,执行步骤7-2。
步骤7-2:节点1直接将Data信息包回传给基站节点数,整个过程结束。
表2为实施例2中本方案和传统方案仿真实验对比
由表2中可知,本方案能耗较少大约为(300-201)/300*100%=33%
实施例3:
本实施方案与实施例1所述的区别在于,在步骤8-1中,如果节点1将interest请求包交给此节点的PendingInterestTable进行查询,发现interest存在,执行步骤8-2。
步骤8-2:节点1将此interest的中存储的上一跳节点号(例中为基站节点号)存放在PendingInterestTable中interest对应项的IncomingQueue队列中,interest请求包下发结束,整个过程结束。
实施例4:
本实施方案与实施例1所述的区别在于,在步骤9-1中,如果节点1将interest请求包交给此节点的ForwardingInformationBase进行查询,发现interest存在,执行步骤9-2。
步骤9-2:节点1根据interest在ForwardingInformationBase中对应项的OutcomingQueue中ID号,直接对此interest进行转发,interest请求包下发结束,整个过程结束。
实施例3、4为相关过程实例,实验结果与表1无不同,故不再展示。
实施例5:
本实施方案与实施例1所述的区别在于,在步骤11-1中,节点2唤醒状态持续3s,在定时器周期内,未接收到了节点1的interest请求包,执行步骤11-2;
步骤11-2:节点1进行重传机制,即每1s发送interest请求包一次;
步骤19:节点2在重传周期内接收到了节点1的interest,则执行步骤12;节点2未在重传周期内收到节点1的interest,则执行步骤20;
步骤20:节点1丢弃发送此interest请求包,整个过程结束。
表3为实施例5中本方案和传统方案仿真实验对比
其中,因为出现了重传的情况,实验中设interest请求包出现10%的概率重传,实验同时进行100次。
由表3中可知,本方案能耗较少大约为(356-201)/356*100%=25%,出现低于实验1不同的原因在于,传统方案中没有interest请求包,但是仍然能够大大较少能耗,是因为虽然本方案多了interest请求包,但是由于有数据仓库和转发信息库,所以能够及时的进行回传,不需要从源节点再次请求数据,所以仍然较低了能耗。
实施例6:
本实施方案与实施例1所述的区别在于,在步骤17-1中,节点2未接收到节点3的Data信息包,执行步骤17-2。
步骤17-2:节点3进行重传机制,即每1s发送Data信息包一次;
步骤21:节点2在重传周期内接收到了节点1的Data,则执行步骤18;节点2未在重传周期内收到节点3的Data,则执行步骤22;
步骤22:节点3丢弃发送此Data信息包,整个过程结束。
根据本发明的方法,解决了无线传感器网络中出现的传感器网络中的异步休眠调度的如下问题:
表4为实施例6中本方案和传统方案仿真实验对比
其中,因为出现了data重传的情况,实验中设data数据包出现10%的概率重传,实验同时进行100次。
由表4中可知,本方案能耗较少大约为(377-201)/377*100%=41%,出现高于实验1不同的原因在于,传统方案中data数据包一旦出现丢失后,需要从源节点出重新发送数据包。但是本方案中由于有数据仓库和转发信息库的存在,使得直接从上一跳节点就可以直接进行数据包的回传,不需要从源节点再次发送数据包,所以能耗较低的效果得到了提升。
根据本发明的方法,解决了无线传感器网络中出现的传感器网络中的异步休眠调度的如下问题:
1、通信模式的改变
技术问题:
基于数据产生者的发送方式,无法动态的进行数据请求的,经常会采集过多的我们不关心的数据,并且无法在移动网络中有好的性能表现。
本方法的解决方案:
命名数据网络利用基于数据请求者的请求方式颠覆了传统无线传感器网络中的基于数据产生者的发送方式。形成了内容请求驱动式的通信模式。
2、异步的休眠调度
技术问题:
时间同步往往会引起额外开销,而之前的路由方法都是在时间同步的基础上进行休眠调度。
本方法的解决方案:
在生成休眠调度阶段,节点具有ContentStore结构,并且具有重传机制能够保证节点发送的interest请求包或Data信息包不会出现丢包。
3、休眠调度唤醒期间能量浪费
技术问题:
在传统的休眠调度唤醒后,要进行路由的探测,且休眠周期一般在秒级别。若我们关心的数据只需要3个小时采集一次,在此期间,会有99%的信道被探测包利用,浪费了大量的能量。
本方法的解决方案:
休眠调度唤醒后,我们利用PendingInterestTable和ForwardingInformationBase的机制,并且进行了组播路由,所以不需要进行探测包的发送,大大减少了探测包对于信道利用率的占用。
4、重传期间能量浪费
技术问题:
在传统的路由中,若出现丢包问题,由于是基于数据产生者进行单向通信,所以导致丢包后,只能由数据产生地进行重新发送,这样既浪费了能量也降低了信道利用率。
本方法的解决方案:
在我们的系统中,如果出现了丢包重传的情况,由于每一个节点中有ContentStore的存在,且基于请求者的通信模式,使得再次返回的data包的跳步数大大减少、重传概率降低,增大了信道的吞吐率,降低了能量的消耗。
5、能够适应于有路由空洞、具有移动性的无线传感器网络
技术问题:
在传统的路由中,若出现丢包问题,由于是基于数据产生者进行单向通信,且路由表变化成本太大,所以一旦网络拓扑出现大量的变化,例如:出现路由空洞、出现节点移动等情况便能难解决。
本方法的解决方案:
在我们的系统中,由于基于请求者的通信模式,所以对于每一次的interest请求过程中,其实都是进行简单的动态组播,使得能够适应移动网络中的不稳定性。

Claims (6)

1.一种基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的网络中所有节点随机分布于一个三维空间中,汇聚节点位于中间位置且只有一个;该网络在节点中构建数据仓库、转发信息仓库和等待数据返回路径表,节点之间传递的数据包包括请求包和信息包,所述的调度方法包括以下步骤:
步骤一,路由建立及请求数据阶段:
步骤S10,汇聚节点发出请求包;
步骤S11,节点1判断是否收到请求包,如果收到则执行步骤S12;
步骤S12,在节点1的数据仓库中查询,查看请求包是否在其中已经存在,如果查询成功则执行步骤S13,否则执行步骤S14;
步骤S13,节点1直接回传给汇聚节点数据,执行步骤S30;
步骤S14,节点1在等待数据返回路径表中查询,查看请求包是否在其中已经存在,如果查询成功,则执行步骤S15,否则执行步骤S16;
步骤S15,节点1将收到的请求包中存储的上一跳节点号存入等待数据返回路径表中,路由建立结束;
步骤S16,节点1在转发信息仓库中查询,查看请求包是否在其中已经存在,如果查询成功,则执行步骤S17,否则执行步骤S18;
步骤S17,节点1根据请求包在转发信息仓库中对应的节点号,对该请求包进行转发,路由建立结束;
步骤S18,将请求包添加到转发信息仓库中,执行步骤S19;
步骤S19,节点1广播发送请求包,等待任意一个确认包的返回;
步骤S110,若有任何一个节点返回确认包,则将返回的确认包中的节点号存入转发信息仓库中,路由建立结束;否则执行步骤S111;
步骤S111,若没有节点返回确认包,则进行重传;节点1等待1s后,执行步骤S18;
步骤二,休眠调度阶段
步骤S20,节点1唤醒状态持续3s,若接收到请求包则执行步骤S21,若接收到信息包,则执行步骤S23,若未接收到任何包,进行随机的一段时间等待后进入休眠状态,并执行步骤S25;
步骤S21,节点1收到请求包后,若在节点1中完成请求包的处理过程,则处理完成后,进行随机一段时间的等待,如在等待过程中没有收到任何包,则节点1进入休眠状态,执行步骤S25;若节点1未完成请求包的处理,则执行步骤S22;
步骤S22,节点1等待自己发出的请求包后的确认包返回,若接收到确认包,则将确认包中的信息存储在转发信息仓库中;若没有收到确认包,则执行步骤S23;处理完成后,进行一段时间的等待,若没收收到任何包,则进入休眠状态,执行步骤S25;
步骤S23,如节点1没有收到确认包,则进行重传处理,重传每1s进行1次,共进行3次;若在3次重传中任何一次有确认包的返回,则完成处理,进入休眠状态,执行步骤S25;
步骤S24,节点1收到其下一跳节点2发来的信息包,在等待数据返回路径表中查询该信息包对应的请求包,若查询到,则将信息包进行回传并存储在节点1的数据仓库中,若未查询到则丢弃信息包,整个过程完成;处理完成后,进行随机的一段时间等待,若未收到任何包,则进入休眠状态,执行步骤S25;
步骤S25,节点处于通信模块关闭状态,休眠3s;休眠结束后,执行步骤S20,进入下一个休眠周期;
步骤三,信息包回传阶段
节点进行信息包回传的具体步骤如下:
步骤S30,节点1将接收到的请求包与数据仓库中的每一项进行匹配查询,如查询到则执行步骤S31,否则执行S37;
步骤S31,节点1将查询到与请求包对应的数据进行打包处理,生成信息包并回传给节点1的下一跳节点2,且等待确认包的返回;执行步骤S32;
步骤S32,若节点2收到信息包,则查询节点2的等待数据返回路径表中是否存在此信息包对应的部分,如果存在,则执行步骤S33,否则执行步骤S37;
步骤S33,节点2回传给节点1确认包,执行步骤S34,否则执行步骤S36;
步骤S34,节点2将接收到的信息包存入其数据仓库中,执行步骤S35;
步骤S35,节点2将接收到的信息包回传给此节点的下一跳节点,重复步骤S32至S35,直至下一跳节点为汇聚节点位置,此时执行步骤S37;
步骤S36,若下一跳节点在重传时间1s内未返回确认包,则信息包发送节点执行步骤S21;
步骤S37,信息包回传结束。
2.如权利要求1所述的基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的请求包和信息包的结构均包括命名,命名包括请求的目的节点ID、需要请求的数据类型、数据包的批次号;请求包中还包括数据包类型、上一跳节点ID、随机数;信息包中还包括数据包类型、一批数据包的总个数、目前属于第几个数据包、数据。
3.如权利要求2所述的基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的数据仓库中每一个表项都包括:命名、一批数据包的总个数、目前属于第几个数据包、对应的一个数据、这个数据已经在数据仓库中被使用的次数。
4.如权利要求2所述的基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的转发信息仓库中每一个表项都包括:命名、每一个条目的发送到哪个节点、每一个条编号已经使用的空间、每一个条目已经存在的时间、每一个条相似匹配后使用的次数。
5.如权利要求2所述的基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的等待数据返回路径表中每一个表项都包括:命名、每一个条目的分别来自哪些节点、每一个条目的已经使用的空间、每一个条目已经存在的时间。
6.如权利要求1所述的基于数据命名为中心的无线传感器网络异步休眠调度方法,其特征在于,所述的节点1在请求包发送时,在节点1和节点2之间执行确认和重传机制。
CN201510438360.4A 2015-07-23 2015-07-23 基于数据命名为中心的无线传感器网络异步休眠调度方法 Expired - Fee Related CN105072657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510438360.4A CN105072657B (zh) 2015-07-23 2015-07-23 基于数据命名为中心的无线传感器网络异步休眠调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510438360.4A CN105072657B (zh) 2015-07-23 2015-07-23 基于数据命名为中心的无线传感器网络异步休眠调度方法

Publications (2)

Publication Number Publication Date
CN105072657A true CN105072657A (zh) 2015-11-18
CN105072657B CN105072657B (zh) 2018-11-27

Family

ID=54501903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510438360.4A Expired - Fee Related CN105072657B (zh) 2015-07-23 2015-07-23 基于数据命名为中心的无线传感器网络异步休眠调度方法

Country Status (1)

Country Link
CN (1) CN105072657B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106912083A (zh) * 2017-03-09 2017-06-30 西北大学 一种适用于大型野外环境的无线传感网络的路由方法
CN107124470A (zh) * 2017-06-08 2017-09-01 天津大学 基于命名数据网的车联网架构及网络层通信方法
CN107948939A (zh) * 2017-11-21 2018-04-20 中南大学 无线ndn数据处理方法、装置及系统
CN109451080A (zh) * 2019-01-14 2019-03-08 北京理工大学 一种无线场景下ndn兴趣包可靠传输方法
CN109768932A (zh) * 2019-03-04 2019-05-17 常熟理工学院 一种命名数据网络的实现方法
CN115099476A (zh) * 2022-06-15 2022-09-23 国网湖北省电力有限公司电力科学研究院 一种基于循环差集理论的电力物联网异步调度方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242433A (zh) * 2008-03-11 2008-08-13 北京航空航天大学 面向目标节点定位的无线传感器网络中动态休眠调度方法
CN101557408A (zh) * 2008-04-11 2009-10-14 中国人民解放军信息工程大学 一种无线传感器网络主动式休眠调度方法
CN102083163A (zh) * 2011-02-28 2011-06-01 无锡泛联物联网科技股份有限公司 无线传感器网络随机休眠调度路由方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242433A (zh) * 2008-03-11 2008-08-13 北京航空航天大学 面向目标节点定位的无线传感器网络中动态休眠调度方法
CN101557408A (zh) * 2008-04-11 2009-10-14 中国人民解放军信息工程大学 一种无线传感器网络主动式休眠调度方法
CN102083163A (zh) * 2011-02-28 2011-06-01 无锡泛联物联网科技股份有限公司 无线传感器网络随机休眠调度路由方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘微姗等: ""DRAD:一种基于异步体眠调度的无线传感器网络数据收集协议"", 《计算机工程与科学》 *
杨白薇: ""基于协作的无线传感器网络休眠调度算法"", 《计算机应用研究》 *
王青明等: ""无线传感器网络中终端节点的休眠算法 "", 《广东通信技术》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106912083A (zh) * 2017-03-09 2017-06-30 西北大学 一种适用于大型野外环境的无线传感网络的路由方法
CN106912083B (zh) * 2017-03-09 2020-01-14 西北大学 一种适用于大型野外环境的无线传感网络的路由方法
CN107124470A (zh) * 2017-06-08 2017-09-01 天津大学 基于命名数据网的车联网架构及网络层通信方法
CN107948939A (zh) * 2017-11-21 2018-04-20 中南大学 无线ndn数据处理方法、装置及系统
CN107948939B (zh) * 2017-11-21 2020-11-17 中南大学 无线ndn数据处理方法、装置及系统
CN109451080A (zh) * 2019-01-14 2019-03-08 北京理工大学 一种无线场景下ndn兴趣包可靠传输方法
CN109768932A (zh) * 2019-03-04 2019-05-17 常熟理工学院 一种命名数据网络的实现方法
CN109768932B (zh) * 2019-03-04 2020-12-11 常熟理工学院 一种命名数据网络的实现方法
CN115099476A (zh) * 2022-06-15 2022-09-23 国网湖北省电力有限公司电力科学研究院 一种基于循环差集理论的电力物联网异步调度方法
CN115099476B (zh) * 2022-06-15 2023-04-28 国网湖北省电力有限公司电力科学研究院 一种基于循环差集理论的电力物联网异步调度方法

Also Published As

Publication number Publication date
CN105072657B (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
CN105072657A (zh) 基于数据命名为中心的无线传感器网络异步休眠调度方法
Lu et al. Teamphone: Networking smartphones for disaster recovery
Rathi et al. A review on routing protocols for application in wireless sensor networks
Levis et al. The Emergence of Networking Abstractions and Techniques in TinyOS.
Goto et al. Data gathering using mobile agents for reducing traffic in dense mobile wireless sensor networks
CN101286912B (zh) 一种移动终端辅助的无线传感器网络信息获取方法
Nieberg et al. Collaborative algorithms for communication in wireless sensor networks
CN104349418B (zh) 面向突发事件的无线传感器网络中数据快速路由传输方法
Wang et al. Ad-hoc robot wireless communication
Akkaya et al. Handling large-scale node failures in mobile sensor/robot networks
CN101945460A (zh) 一种用于Ad Hoc网络环境下的基于节能的AODV路由选择方法
Zhu et al. A smart collaborative routing protocol for delay sensitive applications in industrial IoT
Hong et al. The Mars sensor network: efficient, energy aware communications
CN107196859A (zh) 消息转发方法、广播方法、消息应答方法及通信设备
Balaram et al. A context-aware improved POR protocol for Delay Tolerant networks
CN107453996A (zh) 消息应答方法、消息转发方法及通信装置
Mezghani et al. Improving network lifetime with mobile LEACH protocol for Wireless Sensors Network
Saranya et al. Routing techniques in sensor network–a survey
KR100915555B1 (ko) 지그비 네트워크에서 질의 기반의 경로 탐색을 수행하는지그비 메쉬 라우팅 방법
CN102695192A (zh) IPv6无线传感器网络的路由方法
Papadopoulos et al. CoopStor: a cooperative reliable and efficient data collection protocol in fault and delay tolerant wireless networks
Al-Ahmadi et al. Research Article AMHC: Adaptive Multi-Hop Clustering based Resource Discovery Architecture for Large Scale MANETs
Brzozowski et al. A cross-layer approach for data replication and gathering in decentralized long-living wireless sensor networks
Pathak et al. A comparative analysis of routing protocols in IoT
Mane Conceptual Aspects on Mobile Ad-Hoc Network System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Chen Xiaojiang

Inventor after: Wang Wei

Inventor after: Han Xin

Inventor after: Xu Dan

Inventor after: Liu Chen

Inventor after: Ni Ligang

Inventor after: Yin Xiaoyan

Inventor after: Wang Anwen

Inventor after: Fang Dingyi

Inventor after: Tang Zhanyong

Inventor before: Han Xin

Inventor before: Wang Wei

Inventor before: Chen Xiaojiang

Inventor before: Ni Ligang

Inventor before: Xu Dan

Inventor before: Liu Chen

Inventor before: Yin Xiaoyan

Inventor before: Wang Anwen

Inventor before: Fang Dingyi

Inventor before: Tang Zhanyong

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181127

CF01 Termination of patent right due to non-payment of annual fee