首页> 中国专利> 支持任务重构的无线传感器网络系统及方法

支持任务重构的无线传感器网络系统及方法

摘要

一种支持任务重构的无线传感器网络系统及方法,该系统包括有:多个传感器节点,采用无线方式与传感器进行通信的数据汇聚服务器,以及利用IP网络或其它通信网络分别与数据汇聚服务器以及互相之间进行通信的用户端和代码服务器,其中代码服务器用于存放和管理系统执行各种传感任务所需要的不同任务代码。重构任务的实现方法包括三个步骤:配置和执行初始代码,请求传感任务重构与分发代码,启动和执行新的传感任务。该方法特点是能够将新的传感任务代码快速配置到网络的传感器节点中,为节点存储空间和处理计算能力有限的传感器网络系统提供一种支持传感任务动态变化的有效方法,并在重构任务代码过程中,基于可靠组播的技术进行任务代码的分发。

著录项

  • 公开/公告号CN1633098A

    专利类型发明专利

  • 公开/公告日2005-06-29

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN200510005162.5

  • 发明设计人 马华东;张冬梅;

    申请日2005-01-28

  • 分类号H04L12/28;H04L12/24;

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人夏宪富

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-12-17 16:12:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-04-08

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2007-05-02

    授权

    授权

  • 2005-08-24

    实质审查的生效

    实质审查的生效

  • 2005-06-29

    公开

    公开

说明书

技术领域

本发明涉及一种支持任务重构的无线传感器网络系统以及该系统实现任务重构的方法,属于无线自组织网络系统技术领域。

背景技术

无线传感器网络是由一组分布在设定位置的多个传感器节点以无线自组织方式构成的无线网络,用于传感器节点协作地感知、采集和处理该网络覆盖的地理区域中感测对象的信息,并及时向用户发布感测结果。

参见图1,无线传感器网络系统是由多个传感器节点(即图中的黑色小方框)、数据汇聚服务器(即sink节点)和用户端构成。其中各个传感器节点之间以及每个传感器节点与数据汇聚服务器之间采用无线方式进行通信(图中带箭头的虚线所示),数据汇聚服务器与用户端之间则采用Internet或其他传统方式通信。

无线传感器网络的特点是:多个传感器节点的传感任务具有应用相关性,随着应用的变化,传感器节点需要执行的传感任务也会随之发生变化,但是由于下述各种因素:传感器节点的功能资源有限,不可能将所有任务一次性全部安装在传感器节点上;用户对传感数据的需求也会发生变化,不可能在系统初始部署的时候,就能够预见到用户以后可能产生的各种需求;另外,传感器节点往往设置在人们不易直接接近的位置,再加上传感器节点的密度通常都比较大,节点数量多,覆盖范围广,由工作人员直接重新部署和安置每个传感器节点的安装位置和传感任务往往是既不经济,也不现实;再者,一个传感器网络通常要为多个不同用户提供传感数据,而不同用户要求传感器网络提供的传感对象、甚至传感数据的精度都有可能是不同的,如果需要人工进行重新部署,则完成任务的延迟时间几乎是不能接受的,很不实用。因此,如何实现一种支持传感器网络传感任务自动重构的系统及其工作方法就成为业内技术人员关注的热点。

发明内容

有鉴于此,本发明的目的是提供一种支持任务重构的无线传感器网络系统及方法,本发明的系统使得原来节点存储空间和处理能力都有限的传感器网络系统能够支持传感任务的动态变化,并且,在数据汇聚服务器向各个传感器节点传送新的传感任务代码过程中提出一种基于可靠组播技术的程序代码分发方法,可以显著地提高网络重构的工作效率。

为了达到上述目的,本发明提供了一种支持任务重构的无线传感器网络系统,包括有:分布在设定地点或空间的多个传感器节点,采用无线方式与传感器节点进行通信交互的数据汇聚服务器,以及利用IP网络或其它通信网络与数据汇聚服务器进行通信交互的用户端;其特征在于:该系统还包括有:

代码服务器,用于存放和管理所述系统执行各种传感任务所需要的各种不同任务代码,这些任务代码由系统管理者通过用户端动态加载,该代码服务器利用IP网络和/或其它通信网络分别与数据汇聚服务器和用户端进行通信交互。

所述代码服务器与用户端的通信是接收用户端提供的新的传感任务代码;该代码服务器与数据汇聚服务器的通信是为数据汇聚服务器提供无线传感器网络任务重构时所需要的新的传感任务代码。

所述任务代码是系统控制各个传感器节点执行传感任务的应用程序,该应用程序的运行平台是传感器节点中的操作系统。

所述传感器节点执行的传感任务的应用程序包括但不限于温度、湿度、烟感、气味、声音、视频图像的监控程序。

为了达到上述目的,本发明还提供了一种支持任务重构的无线传感器网络系统的实现方法,其特征在于:包括下述步骤:

(1)配置和执行初始任务代码:采用无线传感器网络的传统技术设置各个传感器节点和网元设备,为每个传感器节点初始配置传感任务的程序代码,再从传感区域获取数据,并汇聚到数据汇聚服务器进行数据融合处理,以便将传感结果通告给用户端;

(2)请求重构传感任务与分发程序代码:由用户端向数据汇聚服务器发送重构传感任务的请求,再由数据汇聚服务器向代码服务器请求相应的任务代码,并构建分发代码的无线信道,将从代码服务器下载的任务代码分发到需要进行任务重构的各个传感器节点;

(3)启动和执行新的传感任务:任务重构后的传感器节点运行重构的程序代码,开始执行新的传感任务,再将感测到的数据汇聚到数据汇聚服务器,由数据汇聚服务器对该数据进行融合处理后,将传感结果传送给用户端。

所述步骤(2)进一步包括下列操作:

(21)发送传感任务重构请求:当用户需要改变网络系统的传感任务时,通过用户端向数据汇聚服务器发送重构传感任务的请求,再由数据汇聚服务器向代码服务器请求相应的传感任务代码,以及从代码服务器下载所请求的传感任务代码;

(22)构建分发代码的信道:数据汇聚服务器采用可靠组播技术构建分发代码的组播树,用作该服务器为各个传感器节点分发传感任务代码的无线信道;

(23)分发任务代码:数据汇聚服务器利用可靠组播树的无线信道和时分多址技术将新的任务代码分发到需要进行任务重构的各个传感器节点;

(24)构建和部署新的任务代码:传感器节点接收到新的任务代码后,利用可靠组播树的无线信道将包含肯定应答的消息以逐级会聚方式向数据汇聚服务器返回确认消息;并将新的任务代码存入其可重新配置的任务代码区,同时将原来的任务代码置换出去。

所述步骤(21)进一步包括下列操作步骤:

(211)用户希望改变传感器网络的传感任务时,通过用户端向数据汇聚服务器发送“传感任务重构请求”消息,并等待数据汇聚服务器的响应;

(212)数据汇聚服务器收到“传感任务重构请求”消息后,向代码服务器发送“任务代码请求”消息,然后等待代码服务器的响应;

(213)代码服务器收到“任务代码请求”消息后,在其存储的任务代码中进行查找,如果存在请求的任务代码,则将至少包含代码名称和代码长度的被请求任务代码描述参数的“代码响应(肯定证实)”消息发送给数据汇聚服务器,执行后续步骤;如果代码服务器上不存在请求的任务代码,则将“代码响应(否定证实)”消息发送给数据汇聚服务器,表示无法为其提供任务代码,跳转执行步骤(216);

(214)数据汇聚服务器收到代码服务器的“代码响应(肯定证实)”消息后,采用文件传输方式从代码服务器中下载该请求的任务代码;

(215)如果数据汇聚服务器成功地接收到从代码服务器下载的任务代码,则向用户端发送“重构请求响应(正在进行代码分发)”消息,结束该处理流程;如果任务代码传输失败,执行后续步骤;

(216)数据汇聚服务器向用户端发送“重构请求响应(重构失败)”消息,表示网络系统不能重新配置所请求的传感任务,结束该处理流程。

所述步骤(22)进一步包括下列操作步骤:

(221)数据汇聚服务器对组播树的当前节点集合currentList和子节点集合nextList进行初始化,初始化后,currentList仅包含一个根节点,即数据汇聚服务器节点,nextList则为空;

(222)如果currentList不为空,将currentList中的各个节点按照每个节点的邻居节点数目从大到小进行排序,执行后续步骤;如果currentList为空,则跳转执行步骤(228);

(223)检查currentList中是否有未被处理过的节点,如果currentList中有未被处理过的节点,则按排列顺序选择一个未处理的节点作为当前节点,执行后续步骤;如果currentList中没有未处理过的节点,则跳转执行步骤(227);

(224)按照子节点选择规则为当前节点选择子节点,并将选择的子节点加入子节点集合nextList;

(225)按照时隙分配规则分别配置根节点到子节点的广播通信时隙和子节点到根节点的通信时隙,即分配各个子节点接收根节点信息的时隙和根节点接收子节点信息的时隙;循环执行步骤(224)和步骤(225),直到为当前节点选择出全部子节点;

(226)将当前节点设置已经处理过的标记,跳转执行步骤(223);

(227)将nextList中内容拷贝到currentList中,再令nextList为空,执行步骤(222);

(228)结束该处理流程。

所述步骤(221)中组播树的当前节点集合currentList表示该组播树的当前处理层中所有节点的集合,子节点集合nextList表示currentList中所有节点的子节点的集合。

所述步骤(224)中子节点选择规则是:在为当前节点选择子节点时,选择当前节点的下一级节点中的邻居节点为该节点的子节点;当一个子节点同时处于两个或两个以上父节点的通信覆盖范围内时,选择通信代价最小的节点为其父节点,即只有通信代价最小的父节点能够选择该节点为其子节点;所谓通信代价是综合考虑至少包括距离、能量、链路误码率的加权值后的通信费用支出。

所述步骤(225)中时隙分配规则是:每个节点按照从大到小的原则来选择分配没有使用过的时隙,每个父节点的所有子节点需要分配不同时隙分别与该父节点通信,如果某个子节点同时处于两个或两个以上父节点的通信覆盖范围内,该子节点应采用不同时隙分别与其各个父节点通信。

本发明是一种支持任务重构的无线传感器网络系统及其工作方法,该网络系统能够支持传感任务的动态变化,也就是说,传感器网络系统执行的传感任务可以进行重新配置,使传感器节点能够在不同时期执行不同的传感任务,从而实现了在资源有限的传感器节点上传感任务的重构,可以在不增加太多的投资费用的前提下,大大提高传感器网络系统的效能和效率。同时,本发明在数据汇聚服务器向各个传感器节点传送新的传感任务代码过程中使用基于可靠组播技术的方法给各个传感器节点分发程序代码,该方法综合利用了组播技术和数据汇聚技术的优点,可以显著提高网络重构的工作效率。

附图说明

图1为现有的无线传感器网络系统的结构组成示意图。

图2为本发明无线传感器网络系统的结构组成示意图。

图3为本发明无线传感器网络系统重构过程中的系统状态转移图。

图4为本发明无线传感器网络系统实现重构操作的流程图。

图5为本发明无线传感器网络系统重构任务代码的消息交互图。

图6为本发明基于可靠组播的任务代码分发消息的一实施例示意图。

图7为本发明基于可靠组播树技术构建分发代码的组播树,用作向各个传感器节点分发传感任务代码和汇聚响应消息的无线信道的传输路线示意图。

图8(A)、(B)、(C)、(D)分别为本发明基于可靠组播树技术构建分发代码的无线信道中的一组播树构建实施例的各个状态示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

参见图2,本发明是一种支持任务重构的无线传感器网络系统,包括有:多个传感器节点4(即图中的黑色小方框,虚线框内为其传感区域),采用无线方式分布与各个传感器节点进行通信交互的数据汇聚服务器2,以及利用IP网络或其它通信网络分别与数据汇聚服务器2以及互相之间进行通信交互的用户端1和代码服务器3。其中代码服务器3用于存放和管理系统执行各种传感任务所需的不同任务代码。代码服务器3与用户端1进行通信是接受用户提供的新的传感任务代码;它与数据汇聚服务器2进行通信是为数据汇聚服务器2提供无线传感器网络任务重构时所需的新的任务代码。该任务代码是命令系统内的传感器节点执行传感任务的应用程序,该应用程序运行平台是传感器节点的操作系统。传感器节点4执行的传感应用程序包括但不限于温度、湿度、烟感、气味、声音、图像的监控程序。

参见图3,介绍本发明整个网络系统的工作状态的变化:在正常运行状态,各个传感器节点执行本节点的应用功能,感测和汇聚数据到数据汇聚服务器,由数据汇聚服务器对收集的数据进行加工处理后传送给用户。当用户需要改变传感器节点的功能时,发出重构请求,系统进入代码分发的部署状态,在代码分发状态,通过远端控制,系统完成相关节点的任务代码的配置,将新的任务代码配置到各个需要重构的节点上。当所有节点都正确配置好新的代码后,系统进入网络重构状态;在网络重构状态,节点执行新的传感任务,感测新的传感数据并汇聚到数据汇聚服务器,当数据汇聚服务器接收到新的感测数据时,就通知用户网络重构完成,系统进入正常运行状态。

本发明还提供了一种支持任务重构的无线传感器网络系统的实现重构的方法,该方法将任务重构的工作过程划分为三个步骤(参见图4):

(1)配置和执行初始任务代码;

(2)请求重构传感任务与分发程序代码;

(3)启动和执行新的传感任务。其中的步骤(2)和(3)是支持任务重构的关键操作。

下面参见图2和图5,具体描述上述两个步骤中的主要操作:

(1)传感任务重构请求,用户希望改变传感器网络的传感任务时,通过用户端1向数据汇聚服务器2发出“传感任务重构请求”消息,并等待数据汇聚服务器的响应;

(2)数据汇聚服务器2收到“传感任务重构请求”消息后,向代码服务器3发送“任务代码请求”消息,然后等待代码服务器的响应;

(3)代码服务器3收到“任务代码请求”消息后,在其存储的任务代码中进行查找,如果存在请求的任务代码,则将包含被请求任务代码描述参数的“代码响应(肯定证实)”消息发送给数据汇聚服务器2;如果代码服务器3上不存在请求的任务代码,则将“代码响应(否定证实)”消息发送给数据汇聚服务器2,表示无法为其提供任务代码,再由数据汇聚服务器2向用户端1发送“重构请求响应(重构失败)”消息,表示网络系统不能重新构置该传感任务,结束该处理流程;

(4)数据汇聚服务器2收到代码服务器3的“代码响应(肯定证实)”消息后,采用文件传输方式从代码服务器3中下载该请求的任务代码;如果数据汇聚服务器2成功地接收到从代码服务器3下载的任务代码,则向用户端1发送“重构请求响应(正在进行代码分发)”消息,同时,该数据汇聚服务器2采用基于可靠组播技术构建的代码组播树的无线传输信道,向各个传感器节点4广播分发任务代码;

(5)各个传感器节点4成功接收到新的任务代码后,利用可靠组播树的无线传输信道将任务代码响应的证实消息集中汇聚到数据汇聚服务器2,再分别将新的任务代码存入各自可重新配置的任务代码区,置换出原来的任务代码;任务重构后的传感器节点4运行新的程序代码,执行新的传感任务,并将感测到的数据汇聚到数据汇聚服务器2;

(6)数据汇聚服务器2对数据进行加工处理后将有用信息传送给用户。

本发明的传感器网络特点是多个节点协同执行一个传感任务,因此在进行网络重构时,相同的传感任务代码需要同时配置到多个传感器节点上。组播技术是一种成熟、有效的一点对多点的传输方式。同时,由于传输任务代码对可靠性有较高要求,因此必须对传输的代码提供差错控制机制,本发明采用了基于可靠组播树的代码分发方法,利用该方法构造一个可靠组播树,再为每条通信链路分配时分多址(TDMA)的无线信道。也就是在代码发布过程中,数据汇聚服务器利用可靠细播树将任务代码以组播方式无冲突地传送到各个传感器节点;在响应过程中,各传感器节点利用可靠组播树将包含肯定应答的消息以逐级会聚的方式传送到数据汇聚服务器,这样可以保证代码传输的可靠性。

参见图6,展示了本发明基于可靠组播的任务代码分发消息的一实施例示意。其中实线表示代码消息的传输路线,虚线表示包含肯定应答的证实消息的逐级会聚的传输路线。

本发明在构造可靠组播树时使用了两个集合:当前节点集合currentList和子节点集合nextList,其中currentList表示树的当前处理层中所有节点的集合,nextList表示currentList中所有节点的子节点的集合。下面参见图7,介绍本发明构造可靠组播树的各个操作步骤:

(200)数据汇聚服务器对组播树的当前节点集合currentList和子节点集合nextList进行初始化,初始化后,currentList仅包含一个根节点:数据汇聚服务器节点,nextList则为空;

(201)判断currentList是否为空,如果currentList不为空,执行后续步骤;如果currentList为空,则结束该处理流程;

(202)将currentList中的各个节点按照每个节点的邻居节点数目从大到小进行排序;

(203)检查currentList中是否有未被处理过的节点,如果有未被处理过的节点,执行后续步骤;如果没有未处理过的节点,则跳转执行步骤(227);

(204)按排列顺序选择currentList中的一个未处理过的节点作为当前节点;

(205)按照子节点选择规则为当前节点选择子节点;

(206)按照时隙分配规则配置该当前节点与子节点的广播通信时隙,该时隙也是子节点接收当前节点信息的时隙;

(207)配置各个子节点到当前节点的通信时隙,该时隙也是当前节点接收子节点信息的时隙;

(208)将选择的子节点加入子节点集合nextList;

(209)将当前节点设置已经处理过的访问标记,跳转执行步骤(203);

(210)将nextList中内容拷贝到currentList中,再令nextList为空,执行步骤(202);

其中步骤(205)中的子节点选择规则是:在为当前节点选择子节点时,选择当前节点的下一级节点中的邻居节点为该节点的子节点;当一个子节点同时处于两个或两个以上父节点的通信覆盖范围内时,选择通信代价(综合考虑包括距离、能量、链路误码率等加权值后的通信费用支出)最小的节点为其父节点,换言之,只有通信代价最小的父节点可以选择该节点为其子节点,通信代价较大的父节点不可以选择该节点作为其子节点。

其中步骤(206)和(207)中的时隙分配规则是:在分配时隙的时候,一个节点应该按照从大到小的原则选择分配未使用过的时隙(一般包括8个时隙)。每一个父节点的所有子节点必须分配不同的时隙分别与该父节点通信。如果某个子节点同时处于两个或两个以上父节点的通信覆盖范围内,则该两个父节点的子节点必须采用不同的时隙分别与其父节点通信。

参见图8,举例说明可靠组播树的构建方法:

一个实施例的无线传感器网络结构的示意图如图8(A)所示,其中节点①为数据汇聚服务器,节点②~⑥均为传感器节点,每个虚线圈内的节点互为邻居节点(即在一个天线覆盖区内)。

首先初始化,currentList={1},nextList=,即nextList为空集。

接着,为currentList中的所有节点选择子节点,节点①的邻居节点为节点②和节点③,将节点②和③作为节点①的子节点加入nextList,即nextList={2,3};如图8(B)所示。

然后,将nextList中的内容复制到currentList中,同时将nextList设置为空,即currentList={2,3},nextList=。由于节点②的下一级邻居数目与节点③的下一级邻居数目相同,因此首先为节点②选择子节点。节点②的子节点有节点④和节点⑤,但节点⑤同时又是节点③的邻居,因此按照节点选择规则,需要比较节点⑤分别到节点②和节点③的通信代价。假设该实施例中,节点⑤到节点②的通信代价权值是10,节点⑤到节点③的通信代价权值是8,则节点⑤应该是节点③的邻居,因此,节点②的邻居只有节点④,即nextList={4},如图8(C)所示。

之后,为节点③选择邻居,节点③的邻居为节点⑤和节点⑥,则将节点⑤和节点⑥加入nextList中,即nextList={4,5,6},如图8(D)所示。

再将nextList中的内容复制到currentList中,同时将nextList设置为空,即currentList={4,5,6},nextList=。

继续为currentList中的节点选择子节点,由于节点④、⑤、⑥均无下一级邻居,因此nextList为空。

再将nextList中的内容复制到currentList中,由于nextList为空,因此currentList也为空。

由于currentList为空,所以完成了可靠组播树的构建。该无线传感器网络实施例最终生成的可靠组播树的结构如图8(D)所示。

本发明是一种支持任务重构的无线传感器网络系统以及该系统实现任务重构的方法,其中重构消息的交互过程已经在计算机上使用Telelogic公司的SDLand TTCN Suite 4.3软件进行了编程仿真,并使用该软件的Simulator和Validator工具对方法中涉及的网络系统中的各个逻辑实体(包括:用户端、代码服务器、数据汇聚服务器和传感器节点)进行了仿真和验证,试验结果表明:本发明方法中的重构消息交互过程是合理的,没有发生死锁和不可控制的状态等现象,实现了发明目的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号