无线传感器网络的嵌入式实时调度系统的制作方法

文档序号:7890195阅读:211来源:国知局
专利名称:无线传感器网络的嵌入式实时调度系统的制作方法
技术领域
本发明涉及一种调度系统,具体涉及无线传感器网络中的实时调度系统。
背景技术
无线传感器网络操作系统(WSNOSffireless Sensor Network operation system)具有以下特性一方面,无线传感器网络(WSN ffireless Sensor Network)节点具有严格受限的系统资源(包括计算能力、存储、无线带宽以及能量),WSNOS必须具备小尺寸、高效率、低功耗的特点以符合严格的资源限制;另一方面,WSN应用复杂多变,WSNOS必须具有足够的灵活性与可配置性以适用于多种复杂的应用场景;此外,考虑到感知节点硬件平台的多样性,WSNOS应具备很好的移植性。WSN最基本特征在于实时监测能力,最直接应用是采用低频数据的远程实时环境监测,最典型应用包括实时跟踪、环境监测、健康护理、以及结构监测等。WSN系统应用可以被分成三类环境数据收集,安全监控以及传感器节点跟踪。环境数据收集环境数据收集应用通过若干个传感器周期性地采集一个特定环境的参数,以便于发现趋势和环境因素间的相互关系。因为此类应用传感器节点通常是保持不变的,因此这一应用类具有相对固定的拓扑结构。在很多应用场合,这类应用的数据收集和传输周期在I 15分钟之间。因此,这类应用具有较低的采样频率和数据比率。此外, 这类应用通常没有严格的反映时间要求。数据被采集是为了将来进一步的分析而不是实时的处理。这类应用典型的应用领域包括环境监测、建筑结构监测等。安全监控安全监控网络由分布在特定环境的若干固定位置上的WSN节点组成。 通过实时连续不断地监测一个或多个传感器来探测异常情况。仅在异常事件出现的情况下,安全监控网络收集和传输数据。安全监控网络必须保证一个快速可靠的警报消息传输, 并且必须支持实时操作。这类应用对警报消息传输的反映时间有较严格要求。因为异常事件发生的几率通常很低,所以数据传输的开销不大。此外,由于WSN节点的固定,这类应用具有一个简单稳定的拓扑结构。这类应用典型的应用领域包括机器指令诊断、战场监控以及实时健康护理等。传感器节点跟踪第三类应用是在WSN网络监控区域跟踪一个携带传感器节点的目标对象。在很多情况下,跟踪有价值的目标是非常必要的。这类应用最重要的特征在于 WSN节点随着目标的移动而不断的改变位置。因此,这类应用的网络拓扑是经常变化的。对于传感器节点跟踪应用,关键问题在于是否能够有效地发现一个WSN节点进入或离开WSN 网络。这类应用典型的应用领域包括车辆跟踪,鸟类、动物和昆虫的跟踪等。一般而言,一个完整的WSN应用包括了上述应用类的一个或几个方面。譬如,在一个非常著名的WSN应用中(Great Duck Island监视项目),WSN技术被用来监视海燕鸟巢和其周围环境小气候的变化。一组WSN节点被用来从事环境数据收集任务。它们负责采集在小岛上海燕鸟巢的温度、亮度、湿度以及其它一些信息。而另一组WSN节点则被用来跟踪海燕,通过判断鸟巢的占有情况来了解海燕的喂养和迁移习惯。
目前,WSNOS有两类其一,精简通用实时系统(RT0S:Real-time operating system),使之满足于WSN节点的资源限制,代表如yC/0S_II,Vxfforks5. x, QNX, pSOS, LyNxOS, RTLinux, Windows CE. net, HERDS 等;其二,针对 WSN 特点,设计符合 WSN 特色的专用操作系统(OS :0perating System),代表如TinyOS错误!未找到引用源。,SOS, Mantis OS,Contiki,EYES OS错误!未找到引用源。等。但现有系统不能完全满足WSN的应用。主要原因是一方面,通用嵌入式OS因为受限于传感器节点资源,不能直接应用于WSN错误!未找到引用源。。另一方面,专用OS多是直接架构在网络层通信协议之上,没有独立出OS层,这就给系统的使用、维护带来了很大开销。此外,当前已有的WSNOS无法同时支持实时多任务和事件驱动两类不同的运行模式, 或者无法根据应用变化自适应的切换运行模式,也极大限制了 WSN应用范围;多数WSNOS设计是针对单一节点,而不是全局网络,这导致系统对分布式、以数据为中心的WSN应用特点不能提供很好支持;另外,当前的WSNOS依赖于节点硬件环境以及下层网络协议,同时也与上层具体应用相关,无法真正实现系统独立于硬件、协议和应用,导致WSNOS的通用性受到很大制约,增加了系统开发成本。

发明内容
本发明无线传感器网络的嵌入式实时调度系统是为了减少系统内核大小,同时能提供一个独立的可以适应应用变化的调度系统,同时能支持实时多任务和事件驱动两类不同的运行模式,根据应用变化自适应的切换运行模式。本发明无线传感器网络的嵌入式实时调度系统包括状态模块和状态转移模块,状态模块包括睡眠态模块、就绪态模块、异常态模块和挂起态模块;状态转移模块包括激活模块、撤销模块、调度模块、挂起模块和唤醒模块;激活模块,用于将睡眠态模块中的任务激活并转移到就绪态模块中,撤销模块,用于将就绪态模块中的结束任务转移到睡眠态模块中,还用于将异常态模块中的异常任务转移到睡眠态模块中,还用于将挂起态模块中的结束任务转移到睡眠态模块中,调度模块,用于将就绪态模块中的异常任务转移到异常态模块中,还用于将异常态模块中的非异常任务转移到就绪态模块中,睡眠态模块,用于显示运行条件不足、需要等待其他任务或者资源的任务,此时任务存储于内存中,不占有当前CPU时间,就绪态模块,用于显示激活状态的任务,所述激活状态是指一个任务被创建或者等待资源就绪后可运行的状态;异常态模块,用于显示异常状态的任务,异常态模块中的任务的状态为一个瞬时状态,仅在任务运行时保持,挂起模块,用于将就绪态模块中不满足运行条件的任务暂停并转移到挂起态模块中,还用于将异常态模块中不满足运行条件的任务暂停并转移到挂起态模块中,唤醒模块,用于将挂起态模块中的满足运行条件的任务唤醒并转移到就绪态模块中,挂起态模块,用于显示运行条件不满足的暂停状态的任务,如果任务运行条件不满足,则当前优先级任务将被暂停,而如果运行条件得到满足,则将被暂定的当前优先级任务唤醒。对于一个WSNOS系统主要由任务调度,任务间通讯与同步,存储管理以及中断处理与定时器管理子系统组成,任务调度系统是WSNOS系统中最核心系统,任务调度系统直接决定系统的应用场合,决定系统的是否具有实时特性和扩展能力。本发明方便在不同硬件架构系统上进行实现。任务管理需要对应用执行时间的长短,任务的优先级等因素进行综合考虑,充分合理的利用硬件设备的资源,高效的、实时的完成各种应用,保证在合理的时间内尽量小的设备代价和能源消耗正常完成尽可能多的任务。在本发明的调度系统中,任务被划分为两类周期性任务和优先级任务。本发明采用一个实时的两级调度策略优先级基础的抢占式调度。为了适应WSN节点的智能生物医学应用,本发明系统必须简单高效以满足受限的资源。同时,它必须满足多任务实时运行。本发明的特点包括具有高可靠性。两类任务: 周期性任务和优先级任务,周期性任务可中断、非抢占式,优先级任务可中断、抢占式。HERDS调度系统是一个适用于受限资源与复杂环境的专用WSN任务管理调度系统,具有超小的分布式实时微调度内核,具有并行运行、稳定性,自适应特点,能同时提供优先级调度和实时调度方式。HERDS可适合各种不同的硬件平台与运行各类软件应用,具有一个兼容性的硬件抽象能力,它能够被快速的移植到不同的WSN平台以及其它的低资源嵌入式设备上。HERDS系统可应用于无线传感器网络(WSN :Wireless Sensor Network)相关应用领域,在环境监测、军事、农业、医疗、采矿等方面有着广阔的应用前景。


图I是本发明的模块中执行的任务为周期性任务时的结构示意图,图2是本发明的模块中执行的任务为优先级任务时的结构示意图,图3是任务自动机模式,图4是应用自动机模式。
具体实施例方式具体实施方式
一结合图I和图2说明本实施方式,本实施方式包括状态模块和状态转移模块,状态模块包括睡眠态模块A、就绪态模块B、异常态模块C和挂起态模块D ;状态转移模块包括激活模块I、撤销模块2、调度模块3、挂起模块4和唤醒模块5 ;激活模块1,用于将睡眠态模块A中的任务激活并转移到就绪态模块B中,即被调用去激活一个睡眠态的任务,当这个任务被分配一个具体的任务,任务的睡眠态变为就绪态;撤销模块2,用于将就绪态模块B中的结束任务转移到睡眠态模块A中,还用于将异常态模块C中的异常任务转移到睡眠态模块A中,还用于将挂起态模块D中的结束任务转移到睡眠态模块A中,即被调用去终止任务,当任务结束或异常发生时,任务的原始状态变为睡眠态,调度模块3,用于将就绪态模块B中的异常任务转移到异常态模块C中,还用于将异常态模块C中的非异常任务转移到就绪态模块B中,
睡眠态模块A,用于显示运行条件不足、需要等待其他任务或者资源的任务,此时任务存储于内存中,不占有当前CPU时间,一个任务已经被产生但仍处于未激活状态的任务,睡眠态模块A是一个任务的起始和终止状态所在模块;当任务广生时,每个任务都被初始化在睡眠态模块A中;就绪态模块B,用于显示激活状态的任务,所述激活状态是指一个任务被创建或者等待资源就绪后可运行的状态异常态模块C,用于显示异常状态的任务,异常态模块C中的任务的状态为一个瞬时状态,仅在任务运行时保持,挂起模块4,用于将就绪态模块B中不满足运行条件的任务暂停并转移到挂起态模块D中,还用于将异常态模块C中不满足运行条件的任务暂停并转移到挂起态模块D中, 即被调用去暂停一个任务,当这个任务的运行条件不被满足,任务的原始状态变为挂起态,唤醒模块5,用于将挂起态模块D中的满足运行条件的任务唤醒并转移到就绪态模块B中,即被调用去继续一个任务执行,当这个任务的运行条件得到满足,任务的挂机态变为就绪态,挂起态模块D,用于显示运行条件不满足的暂停状态的任务,如果任务运行条件不满足,则当前优先级任务将被暂停,而如果运行条件得到满足,则将被暂定的当前优先级任务唤醒。
具体实施方式
二 结合图3和图4说明本实施方式,本实施方式与具体实施方式
一不同点在于所述的模块中执行的任务包括周期性任务和优先级任务;周期性任务,用于获取传感器信号(比如心电图,图像,体温等)或控制激励器信号;周期性任务能够在固定的时间间隔内被中断;周期性任务具有非常短的执行时间和确定性的响应时间,同时具有最高的优先级变量(10);周期性任务是可中断的和非抢占式;当执行的任务为周期性任务时,采用睡眠态模块A、就绪态模块B、异常态模块C、 激活模块I、撤销模块2和调度模块3进行调度;优先级任务,用于有时间限制的应用。优先级任务能够在可变的时间间隔内被中断。优先级任务具有可预测的响应时间以符合实时的要求。优先级任务是可中断的同时也是可抢占式,并具有I到9之间的优先级别(从低到高)。当执行的任务为优先级任务时,采用睡眠态模块A、就绪态模块B、异常态模块C、 挂起态模块D、激活模块I、撤销模块2、调度模块3、挂起模块4和唤醒模块5进行调度;周期性任务和优先级任务均定义为一个时间和动作的二元组,表示为 cowp/e(T,设);其中,τ是一个时间标签集合,τ = {tj ;j = I, . . . , η};设是一个动作集合,
设={电;i=l,..., η};每一任务都是一个独立的自动机,如图3所示。任务间通讯通过两个基本的系统元语SNDO和RCVO。一个应用或是工作是由一个任务集合所构成,它包括了周期性任务和优先级任务。一个应用同时也是一个自动机,如图4所示。每一个应用能够被定时器或其它外部设备所中断。还包括后台任务,后台任务又称之为空闲任务,是一个特殊的优先级任务,具有最低的优先级别(O)。仅仅在系统等待队列没有可执行任务的状况下,后台任务才开始执行。 它意味着系统处于空闲状态。
7
其它组成和连接方式与具体实施方式
一相同。
具体实施方式
三本实施方式与具体实施方式
二不同点在于一个单位的优先级将决定其在系统中被执行概率,在有多个单位同时需要运行的情况下,只有合理的分配优先级才能保证系统能在各个单位的截止完成时间如完成所有的或者尽可能多的完成任务,保证重要的任务优先执行,同时在不影响重要任务的前提下尽可能利用设备的资源。优先级的设定根据优先级任务的单位对象的时间标签集合τ,采用静态设置与动态调整相结合的方法设置优先级任务的单位对象的优先级,在单位释放初始化阶段,任务优先级将基于任务的绝对截止时限,遵循 ‘EDF(earliest-deadline-first) ’原则进行静态设定,即‘距离绝对截止期限最近的任务对象具有最闻优先级’,在单位释放初始化阶段,任务优先级则由用户根据同源任务间的关联关系进行设定。由于任务间存在相关性,为避免任务之间因互锁出现死锁确保任务具有可预测的调度, 任务优先级设定遵循以下原则任务仅接收来自同源任务的内部事件触发,禁止被来自I/O的外部事件触发。若任务被同源任务触发,则认为任务具有仅次于任务的优先级,依此类推。若两个及以上任务出现循环触发时,则任务初始释放时将上述任务合并为一个新的同源任务。在单位调度运行期间,针对ε,由于其执行运行直至完成的运行机制 (‘run-to-completion’的运行机制),任务不具备动态优先级;针对δ,将根据任务对象的相对截止期限与尚未完成的执行时间之差来调整单位优先级,遵循 ‘LDL(latest-deadline-last) ’原则设置单位动态优先级即‘离截止期限最远的单位对象具有最低优先级’。HERDS调度发生在如下四种情况I、定时器中断服务程序周期性地进行调度检测;2、当前任务被阻止当前任务被高优先级任务抢占或当前任务执行条件未满足;3、当前任务被终止当前任务执行结束或执行超时;4、任务被周期性外部事件或被关联I/O中断产生的突发外部事件所触发激活;首先,针对当前任务,采用基于‘抢占式的优先级’机制调度当前任务集合;若当前任务的所有任务执行完毕或被终止,采用基于‘非抢占式的优先级’机制调度任务集。在本实施方式中,每个任务被分配一个优先级,高优先级意味着任务需要更快的做出响应。针对不同的应用类型,提供一个两级的调度,周期性任务和优先级任务的优先级的设定对于周期性任务,采取先进先出(FIFO :First-In,First-Out)调度策略。调度程序根据任务到达等待队列的次序选择执行任务。两个相同优先级别的任务由于采用先进先出的调度策略,能通过对共享资源的互斥而提供保护。周期性任务运行时是不能被抢占的。 例如,如果两个任务共享一个内存段,两者之间的任何一个任务都能够直接更新这一内存段,而不需要其它形式的信号标识。一个被选中运行的任务将继续执行直到它主动放弃控制,这通常意味着任务执行完毕。周期性任务的响应时间和执行时间都非常短暂并且是可以确定的,因此它们能够被用来响应I/O中断或是监视激励器。此外,所有的周期性任务共享系统堆栈,因此选取运行周期性任务并没有上下文切换的开销。对于优先级任务,采用优先级基础的抢占式(priority-based preemptive)调度策略。调度程序根据任务的优先级别选择执行任务。高优先级别任务总是被最先执行,而低优先级别任务只有在所有高级别任务结束以后才能获得对CPU的控制权。当调度程序决定一个任务需要被立即执行,抢占式的属性能够使它能在除临界区域外的任何点中断当前执行任务。优先级任务因此适合严格时间限定的应用。循环(round-robin)调度策略被采用去调度级别相同的优先级任务。在循环调度中,每个任务对应于一个时间片段,这一时间变量显示了任务的生命值。当一个任务消耗了它的时间片段,同一优先级别的下一个就绪任务将抢占系统控制。一个被选中运行的任务将继续执行直到它主动放弃控制或者消耗完时间片段。事实上,除了时间片段外,“循环”调度策略与“先进先出”策略完全相同。其它组成和连接方式与具体实施方式
二相同。本发明内容不仅限于上述各实施方式的内容,其中一个或几个具体实施方式
的组合同样也可以实现发明的目的。
权利要求
1.无线传感器网络的嵌入式实时调度系统,其特征在于它包括状态模块和状态转移模块,状态模块包括睡眠态模块(A)、就绪态模块(B)、异常态模块(C)和挂起态模块(D);状态转移模块包括激活模块(I)、撤销模块(2)、调度模块(3)、挂起模块(4)和唤醒模块(5);激活模块(I),用于将睡眠态模块(A)中的任务激活并转移到就绪态模块(B)中,撤销模块(2),用于将就绪态模块(B)中的结束任务转移到睡眠态模块(A)中,还用于将异常态模块(C)中的异常任务转移到睡眠态模块(A)中,还用于将挂起态模块(D)中的结束任务转移到睡眠态模块(A)中,调度模块(3),用于将就绪态模块(B)中的异常任务转移到异常态模块(C)中,还用于将异常态模块(C)中的非异常任务转移到就绪态模块(B)中,睡眠态模块(A),用于显示运行条件不足、需要等待其他任务或者资源的任务,此时任务存储于内存中,不占有当前CPU时间,就绪态模块(B),用于显示激活状态的任务,所述激活状态是指一个任务被创建或者等待资源就绪后可运行的状态;异常态模块(C),用于显示异常状态的任务,异常态模块(C)中的任务的状态为一个瞬时状态,仅在任务运行时保持,挂起模块(4),用于将就绪态模块(B)中不满足运行条件的任务暂停并转移到挂起态模块(D)中,还用于将异常态模块(C)中不满足运行条件的任务暂停并转移到挂起态模块 (D)中,唤醒模块(5),用于将挂起态模块(D)中的满足运行条件的任务唤醒并转移到就绪态模块⑶中,挂起态模块(D),用于显示运行条件不满足的暂停状态的任务,如果任务运行条件不满足,则当前优先级任务将被暂停,而如果运行条件得到满足,则将被暂定的当前优先级任务唤醒。
2.根据权利要求I所述的无线传感器网络的嵌入式实时调度系统,其特征在于所述的模块中执行的任务包括周期性任务和优先级任务;周期性任务,用于获取传感器信号或控制激励器信号,具有最高的优先级变量;周期性任务是可中断的和非抢占式;当执行的任务为周期性任务时,采用睡眠态模块(A)、就绪态模块(B)、异常态模块(C)、激活模块(I)、撤销模块(2)和调度模块(3)进行调度;优先级任务,用于有时间限制的应用,具有I到9之间的优先级别,优先级任务是可中断的同时也是可抢占式;当执行的任务为优先级任务时,采用睡眠态模块(A)、就绪态模块 (B)、异常态模块(C)、挂起态模块(D)、激活模块(I)、撤销模块(2)、调度模块(3)、挂起模块(4)和唤醒模块(5)进行调度。
3.根据权利要求2所述的无线传感器网络的嵌入式实时调度系统,其特征在于周期性任务和优先级任务的优先级的设定对于周期性任务,采取先进先出调度策略;调度程序根据任务到达等待队列的次序选择执行任务;周期性任务是可中断的和非抢占式。对于优先级任务,采用优先级基础的抢占式调度策略;调度程序根据任务的优先级别选择执行任务;当调度程序决定一个任务需要被立即执行,抢占式的属性能够使它能在除临界区域外的任何点中断当前执行任务;循环调度策略被采用去调度级别相同的优先级任务;在循环调度中,每个任务对应于一个时间片段,这一时间变量显示了任务的生命值;当一个任务消耗了它的时间片段,同一优先级别的下一个就绪任务将抢占系统控制;一个被选中运行的任务将继续执行直到它主动放弃控制或者消耗完时间片段。优先级任务可中断的同时也是可抢占式。
全文摘要
无线传感器网络的嵌入式实时调度系统,它涉及调度系统,它减少了系统内核大小,同时能提供一个独立的可以适应应用变化的调度系统,同时能支持实时多任务和事件驱动两类不同的运行模式,根据应用变化自适应的切换运行模式。它包括状态模块和状态转移模块,状态模块包括睡眠态模块、就绪态模块、异常态模块和挂起态模块;状态转移模块包括激活模块、撤销模块、调度模块、挂起模块和唤醒模块;调度系统是一个适用于受限资源与复杂环境的专用WSN任务调度系统,具有超小的分布式实时微调度内核,具有并行运行、稳定性,自适应特点,能同时提供优先级调度和实时调度方式。它在环境监测、军事、农业、医疗、采矿等方面有着广阔的应用前景。
文档编号H04W72/12GK102612157SQ20121004427
公开日2012年7月25日 申请日期2012年2月24日 优先权日2012年2月24日
发明者周海鹰, 周鹏, 左德承, 张展, 罗丹彦, 舒燕君 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1