一种基于优先级的无线传感器网络轮询系统控制方法与流程

文档序号:12917714阅读:497来源:国知局
一种基于优先级的无线传感器网络轮询系统控制方法与流程

本发明涉及一种基于优先级的无线传感器网络轮询系统控制方法,尤其是一种qos保障的轮询控制优先级划分方法,属无线传感器网络领域。



背景技术:

无线传感器网络(wsn)是现阶段国际领域颇受重视的多学科交叉、知识高度集成的前沿热点研究项目,其融合了传感器、嵌入式、现代网络和分布式等一系列的处理方法,可以利用多方面的集成化的微传感器实现对一系列环境或监测对象的信息监控以及采集工作,这部分信息主要是利用无线的方法逐渐发送至汇聚节点,而后利用该节点再发送至处理中心进行处理,由此达到物理、计算机和人类社会等三方面的有效衔接。

轮询系统的基本模型为:一个服务器和n个站点构成,服务器按照一定的规则按顺序对n个站点进行服务,最后一个站点服务完成后服务器完成一个周期的服务工作,之后转入下一个周期进行服务。轮询系统实际上是n个站点共用一个或多个服务器资源,因此服务器在对站点服务时选择的服务策略影响着系统的服务质量。通常来说,轮询系统的服务策略主要有门限、完全和限定(k=1)三种服务策略。

轮询系统通常部署在异步的mac协议中,以通过减少节点长时间处于唤醒状态、监听和空闲监听的机会来提高能量效率。由于wsn的能量效率和网络寿命在很大的程度上能够进行改进,轮询系统的研究已经引起了广泛研究者的兴趣。

轮询系统针对于时延敏感的业务有着较好的优化,通常来说,对网络内的节点划分优先级能够有效的区分节点的时延,例如将网络内业务量繁忙的节点划分为高优先级别的节点,服务器对于高优先级别的节点服务相对于低优先级别节点有着更高的服务频率;相对于业务量繁忙的节点,将业务量少的节点划分为低优先级别,有着较低的服务频率;将更多的服务时间留给高优先级别的节点,从而达到高业务量节点具有较小时延的目的,轮询系统对于网络内的节点而言有着较好的公平性,因此对于节点优先级别的划分可以有效保障网络内节点的服务质量。



技术实现要素:

本发明目的在于克服现有技术不足,提供一种对无线传感器网络轮询系统内节点进行优先级划分的方法,则在轮询系统中服务器按一定的查询顺序对系统内的节点进行周期性服务,考虑实际应用中资源的利用率、吞吐量、平均等待时间等因素以及节点中信息分组数与优先级之间的关系,引入动态优先级的服务策略进行设置,通过动态优先级公式计算优先级值,节点按照优先级值对应的服务规则进行服务。另外节点的优先级会随着其中信息分组的平均等待时间的增长而提高节点的服务优先级,实现了轮询系统节点的优先级动态划分。

为实现上述目的,本发明基于ieee802.15.4mac帧结构进行设计,考虑到无线传感器网络轮询控制系统的运行机制及流程,采用以超帧为周期的mac帧结构进行通信。

由于服务器在服务的过程中其服务时间是视服务站点中的信息分组数所决定的,因此采用的超帧结构并不规定拥有时隙的数目,其时隙是一个动态变化的数目,在服务的过程中通过读取节点寄存器中的信息分组数来决定超帧结构时隙的大小。

本发明设计的帧结构是以超帧为一个周期对某个站点进行服务,以信标帧作为其转换的间隔。

信标帧中添加服务地址和优先级两个字段,服务地址是从存储器中的轮询表中按顺序读取出来的,用于告知下一个进行服务的地址,添加优先级字段用于对应节点使用的服务策略。

在数据帧中则添加收发器状态、节点号和剩余包数目计数三个字段,收发器状态控制节点的收发器状态;节点号字段用于分辨是哪个节点发送来的数据;剩余包数目计数是用于计算还有多少包没有发送。

假若剩余包数目计数为零则结束此次超帧,继续发送信标帧对下一个站点进行服务。

所述的轮询系统控制方法是对于系统内节点的优先级进行划分,因此定义节点的优先级为4类,从高到低依次为完全服务、门限服务、限定(k=2)服务、限定(k=1)服务。

节点通过不同优先级使用不同的服务策略进行发送信息分组,针对于不同类型的信息分组传输提供多优先级的信息传输保障。

所述的轮询系统控制方法是对于系统内节点的多个优先级进行划分,因此首先初始化各节点的优先级,在命令帧的基础上根据优先级别的要求添加优先级字段,在开始进行传输时簇头节点首先对无线传感器网络中的节点广播该命令帧,告知传感器网络中簇内节点的优先级。

簇头节点作为sink节点开始工作之后,所服务的节点以上一次服务的时间到此次服务的时间间隔之内到达的信息分组数为依据,通过优先级划分方法对该节点进行优先级划分,之后采用划分好的优先级对应的服务方式进行服务。

所述的轮询系统控制方法为一种基于优先级的划分方法,优先级的划分需要考虑实际应用中资源的利用率、吞吐量和平均等待时间等因素,应当要兼顾优先级的差异使得高优先级的节点使用完全服务等策略进行服务。

考虑到节点中信息分组数与优先级之间的问题,引入动态优先级的服务策略进行设置,节点的优先级会随着其中信息分组的平均等待时间的增长而增高,当节点中的信息分组平均等待时间经过优先级公式转换后达到相应阈值则立即使用优先级对应的服务策略进行服务。

所述的动态优先级公式如下:

其中pr为sink节点对普通节点进行服务时通过存储器内的信息分组数使用上述公式计算出的优先级值。

prinit为sink节点初始化工作时发布的初始化优先级,范围在0~1之间。

α为节点中信息分组的平均等待时间加权因子,β为节点中信息分组的预计等待时间加权因子,α和β均为0~1之间的变量。

t*指的是普通节点sink节点上次服务到此次服务的时间间隔。

wt(t*)是经过计算的在t*时间段内到达该节点的信息分组的平均等待时间。

et是该节点中的信息分组数预计的平均等待时间;th是优先级划分的临界值。

在上述的动态优先级公式中,部分表示普通节点中信息分组的平均等待时间越长则其优先级越高的关系,充分照顾时延高的业务采用完全或门限服务方式进行。

为了保证优先级的划分方法能够有效进行,制定轮询系统的服务规则,首先针对于优先级进行设置阈值,通过动态调整优先级,达到相应服务规则的区间则选择相应的服务方式进行服务。

定义e1,e2,e3为优先级划分的三个临界值且有e1<e2<e3的关系,计算相应临界值对应的优先级值如下:

定义该优先级划分方法的服务规则如下:

时,采用限定(k=1)服务方式服务节点内的信息分组;

时,采用限定(k=2)服务方式服务节点内的信息分组;

时,采用门限服务方式服务节点内的信息分组;

时,采用完全服务方式服务节点内的信息分组;

所述的轮询系统控制方法采用分簇的方法对网络进行拓扑结构设计,通过分簇的方式将动态自组织的无线传感器网络设计成相对比较固定的簇结构,在簇内访问各个成员节点时采用划分优先级的轮询控制方式,采用此种方式进行传输数据能够有效避免常见多址协议中因碰撞而产生的能量损失。

所述的拓扑结构设计之中采用分簇的方式进行拓扑控制,为了实现对无线传感器网络实现优先级轮询控制,在建立好簇的网络拓扑结构之后,每个簇的簇节点都接收到了来自各自簇头节点发出的调度方案,簇节点就按照此方案开始在分配给自己的时隙内发送数据。

在网络中由sink节点以广播形式发出同步消息,确保网络中全部时间保持一致。

数据通信状态的每个操作会分成很多的帧,工作时隙内任意工作节点向簇头节点发送数据,在该时隙内只能完成一次数据发送过程。

簇成员节点完成分配时隙工作后,其余时间处于休眠状态,可以节约能量消耗,簇头节点必须时刻处于工作状态。

所有簇成员向簇头节点发送数据,并完成融合数据与处理数据工作,采用高功率形式向sink节点发送。

传输数据时根据设计的调度方案实施,完成一轮数据传输后,进入下一轮工作。

为了方便进行对簇内的节点实行轮询控制,在簇的结构建立好了之后以簇头节点为中心建立轮询表,轮询表反映了簇头节点依次访问簇内节点的顺序,簇内节点地址和查询顺序号之间存在对应关系,表中的节点地址和查询顺序号可以是一对多的对应关系,即一个节点可以在该次轮询中访问多次。

所述的轮询系统控制方法的轮询控制工作流程主要如下:

首先通过拓扑结构控制将网络分成易于管理的簇结构,接下来对节点进行区分。

假若是簇头节点,则开始按照轮询表向查询顺序为1的节点发送唤醒通知消息,依次进行对节点数据的接收。

假若节点是簇内节点,则等待接收簇头节点发送的唤醒通知消息,假若收到消息则开始向簇头节点按照轮询方式(门限、完全、限定)发送数据到簇头节点,数据发送完毕之后如若需要继续采集信息则转向下一节点。

所述的轮询系统的工作流程主要步骤如下:

(1)初始化各节点的各项参数:初始化各节点的状态,进行信道设置、rx设置、功率设置以及更新寄存器中的值等操作;

(2)通过分簇的方法将无线传感器网络划分为相对固定的簇结构,簇头节点向簇内节点广播发送优先级与服务方式对应关系表及各节点的初始化优先级,簇内节点接收到调度计划及优先级后开始进入工作状态,开启定时器记录到接收到信标帧的时间段内到达的信息分组数并且对信道进行监听;

(3)查询顺序为1的簇内节点在收到簇头节点发送的信标帧之后,读取信标帧中的优先级字段,由于该节点是首次进行服务的节点,簇头节点查询转换时间内到达的信息分组数计入了簇内节点存储器之中,该节点中的信息分组则按照划分后的优先级对应的服务方式进行服务,服务完成后更新节点寄存器中的信息分组数值并转入下一个节点进行服务。

(4)簇头节点转向查询顺序为2的节点发送信标帧进行唤醒,该簇内节点接收到信标帧后读取在此次节点服务时间之前到达的信息分组数,对到达的信息分组数按照所述的优先级划分方法进行划分,该节点中的信息分组则按照划分后的优先级对应的服务方式进行服务,服务完成后更新节点寄存器中的信息分组数值并转入下一个节点进行服务,重新开启定时器记录到达的信息分组数。

(5)簇头节点按照存储区中的轮询表对簇内节点进行服务,按照轮询表的查询顺序对簇内节点进行周期性服务。

所述的轮询系统控制方法实现了对节点内的优先级进行动态划分,有效的控制了节点的平均排队队长和平均时延,使用节点服务时间之前到达的信息分组数进行优先级划分,从而满足时延敏感业务的要求,体现了轮询系统的公平性。

本发明提供了一种对无线传感器网络轮询系统内节点进行优先级划分的方法,对现有轮询系统服务过程中站点不能依据信息分组数进行划分的问题进行了有效的解决,通过引入动态优先级的服务策略,设置相应的服务规则,计算节点中的优先级值达到相应阈值则使用优先级对应的服务策略进行服务,有效的解决了实际应用过程中站点优先级划分过于单一的问题,并且节点的优先级会随着其中信息分组平均等待时间的变化而动态的发生变化,最终保障了轮询系统的服务质量,与现有技术相比有效减少了站点中信息分组的平均排队队长和平均时延。

附图说明

图1是本发明中结合优先级划分方法的轮询系统工作流程图。

图2是本发明中建立簇的工作流程图。

图3是本发明中射频通信中的时隙工作示意图。

图4是本发明中以超帧为周期的mac帧结构设计。

具体实施方式

结合附图对本发明的实施方式进行详细的说明,结合优先级划分的轮询系统控制方法的主要实现步骤如下:

首先初始化各节点的各项参数:初始化各节点的状态,进行信道设置、rx设置、功率设置以及更新寄存器中的值等操作。

采用分簇算法拓扑控制网络,无线传感器网络内通过选举选择某个节点为簇头节点后,在网络中以广播通知形式告知其他节点。

其他未被选中的节点为非簇头节点,收到通知后按照与簇头节点之间距离,最终加入相距最短的簇头,并发送请求加入信息至簇头节点,收到加入请求后在簇头成员列表中增加该节点信息。

建立一个完整的簇头成员表,本轮簇头的控制中心为簇头节点,可以控制簇内全部成员节点行为。

使用节点芯片内核中的fsm子模块控制rf收发器状态、发送器和接收器fifo,fsm提供正确的事件顺序(例如在启用接收器或发射器之前执行fs校准),提供来自解调器的输入帧的逐步处理:读取帧长度、计数接收的字节数、检查fcs、以及在成功的帧接收之后处理ack帧的自动传输。

在tx中执行类似的任务,包括在传输之前执行可选的cca,并在传输结束之后自动转到rx以接收ack帧,最后通过fsm控制调制器或解调器与ram中的txfifo或rxfifo之间的数据传输。

建立簇结构之后簇头节点需要建立轮询表,需要向存储区中写入、读取轮询表,txfifo存储区位于地址0x40088200,rxfifo存储区位于地址0x40088000,两个fifo都是128字节长。

fifo的内容仅由指定的指令操作,txfifo和rxfifo通过rfdata寄存器(0x40088828)访问。

写入rfdata寄存器时,数据写入txfifo,读取rfdata寄存器时,从rxfifo读取数据,rxfifocnt和txfifocnt寄存器提供有关fifo中数据量的信息。

通过发出isflushrx(或sflushrx)和isflushtx(或sflushtx)来清除fifo内容。

按照优先级划分需求定义节点的优先级为4类,从高到低依次为完全服务、门限服务、限定(k=2)服务、限定(k=1)服务。

节点通过不同优先级使用不同的服务策略进行发送信息分组,针对于不同类型的信息分组传输提供多优先级的信息传输保障。

对于系统内节点的多个优先级进行划分,初始化各节点的优先级。

在ieee802.15.4命令帧的基础上根据优先级别的要求添加优先级字段。

在开始进行传输时簇头节点首先对无线传感器网络中的节点广播该命令帧,告知传感器网络中簇内节点的优先级。

簇头节点作为sink节点开始工作之后,所服务的节点以上一次服务的时间到此次服务的时间间隔之内到达的信息分组数为依据,通过优先级划分方法对该节点进行优先级划分,之后采用划分好的优先级对应的服务方式进行服务。

所采用的优先级分为4类,从高到低分别与完全服务、门限服务、限定(k=1)与限定(k=2)相对应。使用动态优先级公式计算节点的优先级值,按下述服务规则进行服务:

时,采用限定(k=1)服务方式服务节点内的信息分组;

时,采用限定(k=2)服务方式服务节点内的信息分组;

时,采用门限服务方式服务节点内的信息分组;

时,采用完全服务方式服务节点内的信息分组;

簇头节点开始向查询顺序为1的节点发送信标帧唤醒,该簇内节点接收到信标帧后读取信标帧中的轮询方式字段,由于该节点是最先进行服务的节点,因此此次直接按照轮询方式字段所传递的服务策略进行服务,服务完成后更新节点寄存器中的信息分组数值并转入下一个节点进行服务。

上述提出的发送信标帧采用时隙csma-ca的传输模式进行射频通信,在时隙csma-ca的传输模式下,先执行ssamplecca命令对cca信号进行采集,假若采集到cca信号则表示信道空闲,然后按照非时隙的csma-ca模式进行射频通信。

当节点芯片接收到数据帧之后,系统产生rxpktdone硬件中断,在中断函数中进行接收数据的处理。首先读取数据包的长度,判断是否小于接收缓存区的长度,假如该包的长度等于了回复包的长度则该包是回复包,不需要上层的处理,接收过程直接结束。

假如接收的包的长度小于了接收缓存区的长度则开始读取fcf帧控制信息,然后查看是否需要回复,如果需要回复则发送ack帧,否则继续读取其它数据,最后进行帧校验。

查询顺序为1的簇内节点在收到簇头节点发送的信标帧之后,读取信标帧中的轮询方式字段,由于该节点是首次进行服务的节点,簇头节点查询转换时间内到达的信息分组数计入了簇内节点存储器之中,该节点中的信息分组则按照划分后的优先级对应的服务方式进行服务,服务完成后更新节点寄存器中的信息分组数值并转入下一个节点进行服务。

簇头节点转向查询顺序为2的节点发送信标帧进行唤醒,该簇内节点接收到信标帧后读取在此次节点服务时间之前到达的信息分组数,对到达的信息分组数按照所述的优先级划分方法进行划分,该节点中的信息分组则按照划分后的优先级对应的服务方式进行服务,服务完成后更新节点寄存器中的信息分组数值并转入下一个节点进行服务,重新开启定时器记录到达的信息分组数。

簇头节点按照存储区中的轮询表对簇内节点进行服务,按照轮询表的查询顺序对簇内节点进行周期性服务。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1