法律状态公告日
法律状态信息
法律状态
2018-04-17
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20121114 终止日期:20170328 申请日:20080328
专利权的终止
2012-11-14
授权
授权
2009-11-25
实质审查的生效
实质审查的生效
2009-09-30
公开
公开
技术领域
本发明涉及无线传感器网络领域,尤其涉及一种实现无线传感器网络通用路由协议的系统及方法。
背景技术
无线传感器网络由大量集成了无线通信、信息采集和信息处理功能的微小型传感器节点组成。每个传感器节点利用本身的传感器采集周围环境中的信息,然后把信息传输到网络中的数据汇聚节点(sink节点)。
由于网络覆盖范围大,sink节点和传感器节点之间往往无法直接通信。当超过直接通信范围的时候,传感器节点需要其他节点帮助其以多跳中继的方式将信息传送到sink节点。类似的,用户如果有指控命令需要发送到某些传感器节点,这个消息也必须以多跳中继的方式进行传输。在无线传感器网络中,路由协议就是要建立从数据采集节点(源节点)到sink节点(目的节点)、从sink节点到传感器节点的路由,引导信息以多跳中继转发的方式传送到sink节点。
传统的路由协议设计是从用户需求出发、以用户需求为中心的。用户需求指的是用户对于网络中信息收集的不同要求。在传感器网络中,用户需求是多种多样的,如追求信息传输消耗的能量最低、追求信息传输的时延最低、追求信息传输的可靠性不低于某个门限等。
但是,传统的路由协议只能针对一种特定的用户需求,如用户需求建立可靠性最高的路由,则在本地节点收集自己到其他节点的链路可靠性度量,在路由建立过程中,路由请求消息(RREQ:Route Request)消息的扩散过程实际上完成的是收集全网节点到sink节点的路径可靠性度量。路由建立之后,所有的节点在本地一直收集可靠性度量,当检测到该度量不满足要求后,发起路由维护。路由的整个过程都是和可靠性路由度量和可靠性最高的路由准则紧密耦合的。
如果在网络运行过程中,用户对信息传输的需求发生变化。比如,用户通过网络的监控系统发现当前网络中的节点剩余能量已经降到比较低的水平,为了延长网络正常工作的时间,要求此后路由准则由可靠性最高变成了能耗最低。路由协议无法自动识别这种变化,其处理机制也就无法及时更新。此时,只能把所有节点收回,重新开发程序并下载到节点上,然后重新部署网络。这将严重影响信息采集任务的完成,甚至在一些场合中根本无法做到。
同时与特定需求紧密耦合的路由度量和路由准则还使得为一个应用场合开发的路由协议无法应用于另外一个场合中,不同的传感器网络之间的兼容性很差。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现无线传感器网络通用路由协议的系统及方法,本发明能够解决无线传感器网络中路由协议的灵活性、兼容性问题,建立面向服务、用户需求自适应的通用路由协议。
本发明提供了一种实现无线传感器网络通用路由协议的系统,该系统包括用户接口模块和路由协议模块,其中,
所述用户接口模块用于将用户需求映射为用户指令,发送到所述路由协议模块;
所述路由协议模块用于根据接收到的所述用户指令对网络内拓扑信息进行处理。
其中,所述用户接口模块包括路由准则映射单元和用户接口单元,其中,
所述路由准则映射单元用于将所述用户需求映射为所述用户指令;
所述用户接口单元用于将所述用户指令发送到所述路由协议模块。
其中,所述路由准则映射单元包括度量处理子单元和关系映射子单元,其中,
所述度量处理子单元用于对所述用户需求中的路径度量信息进行处理,发送到所述关系映射子单元;
所述关系映射子单元用于将处理后的所述用户需求转化为所述用户指令。
其中,所述度量处理子单元包括路径度量信息库、选路准则信息库和路径度量处理,其中,
所述路径度量信息库用于存放标准化的路径度量信息,对各种路径度量进行二进制编码;
所述选路准则信息库用于存放选路准则的二进制编码;
所述路径度量处理用于根据所述路径度量信息库和所述选路准则信息库对所述用户需求中的路径度量信息进行统一处理。
其中,所述路径度量处理具体包括:将多个路径度量进行归一化处理,并按照各自的权重进行加权求和,得到统一路径度量。
其中,所述路径度量处理具体包括:当存在多个路径度量信息且至少一个路径度量有阈值要求时,在所述路径度量均满足阈值要求的前提下,对路径度量进行归一化处理,并按照各自的权重进行加权求和,得到统一路径度量。
其中,所述路由协议模块包括用户指令接口单元、核心功能单元和扩展功能单元,其中,
所述用户指令接口单元用于接收所述用户接口模块发送的所述用户指令;
所述核心功能单元用于将所述用户指令解析为所述选路准则,发送到所述扩展功能单元,并根据返回的本地信息,以及来自其他节点的路由控制信息,建立相应的路由;
所述扩展功能单元用于根据所述选路准则完成所述本地信息收集,返回给所述核心功能单元。
其中,所述核心功能单元包括用户需求解析子单元和路由建立与维护子单元,其中,
所述用户需求解析子单元用于对所述用户指令进行解析,将所述用户指令映射为所述选路准则,并发送到所述扩展功能模块;
所述路由建立与维护子单元用于根据所述选路准则和所述扩展功能模块返回的所述本地信息,以及来自其他节点的路由控制信息,建立相应的路由。
本发明还提供了一种实现无线传感器网络通用路由协议的方法,该方法包括以下步骤:
步骤A:根据用户需求生成用户指令;
步骤B:将所述用户指令映射为选路准则;
步骤C:根据所述选路准则对网络内拓扑信息进行处理。
其中,所述步骤C包括:
Sink节点根据所述选路准则启动本地信息收集功能,构造相应的RREQ消息,在网络中传播。
其中,该方法在所述步骤C之后进一步包括:
步骤D:接收到所述RREQ消息的节点将消息中的所述用户指令映射为所述选路准则,并启动本地信息收集功能;
步骤E:节点判断所述选路准则中的准则域是否有阈值型要求,如果有,检查本节点的度量是否满足要求,如果是,转到步骤F,如果不是,丢弃所述RREQ消息;
步骤F:比较所述RREQ消息中包含的第一序列号和所述节点保存的第二序列号,对所述RREQ消息进行更新;
步骤G:计时器超时后,在所述更新后的RREQ消息中,取出最优路径所对应的RREQ消息,再次进行消息更新;
步骤H:将所述更新后的RREQ消息广播出去,并记录所述节点到sink节点的路径。
其中,所述步骤C和步骤D中启动本地信息收集功能包括判断所述选路准则是否需要在节点邻域内进行拓扑信息采集,如果是,启动节点信息收集和邻域信息收集,如果否,只启动节点信息收集。
其中,所述步骤F包括:
步骤F1:比较所述RREQ消息中包含的所述第一序列号和所述节点保存的第二序列号,当所述第一序列号大于所述第二序列号时,进入步骤F2,当所述第一序列号等于所述第二序列号时,进入步骤F3,当所述第一序列号小于所述第二序列号时,进入步骤F4;
步骤F2:使第二序列号等于第一序列号,启动计时器,将上一跳节点和更新后的路径度量累积值保存到所述RREQ消息缓存列表,进入步骤G;
步骤F3:检查所述计时器是否失效,如果否,将上一跳节点和部分路径度量累积值保存到所述RREQ消息缓存列表,进入步骤G;如果是,进入步骤F4;
步骤F4:丢弃该分组。
其中,步骤G中所述消息更新为使所述RREQ消息中含有的累积度量为所述节点路径度量,所述节点的ID为上一跳节点ID。
其中,该方法在H之后进一步包括:
步骤I:向上一跳节点发送应答消息。
其中其特征在于,该方法在H之后进一步包括:
当用户需求发生改变时,根据新的需求生成新的用户指令发送到sink节点,sink节点根据所述新的用户指令构造新的RREQ消息并下发。
本发明具有如下有益效果:
在本发明所提供的无线传感器网络通用路由协议系统和方法中,在用户接口模块中新增了路由准则映射功能,按照一定的规则将用户需求映射为特定的用户指令,传递到路由协议模块,通过核心功能单元将用户指令映射为相应的选路准则,并通过消息交互接口启动扩展功能模块中的相应子功能模块,完成本地信息收集。由此实现用户自定义选路准则,增强了网络路由协议的灵活性和通用性。
同时本发明还可以灵活的支持网络运行过程中路由准则的更替,实现路由准则更替过程中路径的平稳切换。
附图说明
图1为本发明所提供的系统结构示意图;
图2为本发明所提供的用户接口模块功能结构示意图;
图3为本发明所提供的路由准则映射单元的功能结构示意图;
图4为本发明所提供的路由协议模块功能结构示意图;
图5为本发明所提供的核心功能单元功能结构示意图;
图6为本发明第一实施例所提供的方法流程图;
图7为本发明第二实施例所提供的方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
参见图1所示,为本发明所提供的系统结构示意图。该系统包括用户接口模块101和路由协议模块102,其中,用户接口模块101用于将用户需求按一定的映射规则转化为特定的用户指令,并发送给路由协议模块102,路由协议模块102用于根据接收到的用户指令对网络内拓扑信息进行收集、管理和基于此的路由计算。
参见图2所示,为用户接口模块功能结构示意图。用户接口模块101包括路由准则映射单元201和用户接口单元202。
路由准则映射单元201用于将用户需求按照一定的映射规则转化为特定的用户指令。参见图3所示,为路由准则映射单元201的功能结构示意图。该单元包括度量处理子单元301和关系映射子单元302。
其中,度量处理子单元301用于对用户需求中所包含的路径度量信息和路由准则信息进行统一化处理,发送到关系映射子单元302。
度量处理子单元301包括路径度量信息库(SRML:Standard Route MetricLib)、选路准则信息库(RSRL:Route Select ion Rule Lib)和路径度量处理。
1)路径度量信息库用于存放标准化的路径度量信息。
路径度量是从链路或节点度量的基础上运算得到的。链路度量是对链路属性的描述。典型的链路度量有分组传输的可靠性(也就是分组的成功递交率)、分组传输时延、链路的可用带宽、分组传输过程中的能量消耗等。节点度量是对参与路由的节点的属性的描述。典型的节点度量有节点剩余能量,节点寿命等。
根据链路或节点度量性质的不同,可以将其分为:加性度量、凹性度量、乘性度量。
设路径由k条链路或k个节点串联构成,第i段的链路或第i个节点的度量为ci,对于三种不同性质的度量,路径度量p描述为:
对加性度量:
对乘性度量:
对凹性度量:p=minci。
路径度量信息库中包括了典型的路径度量,对每一个路径度量进行二进制编码。表1表示了7种最常见的路径度量及其对应的编码。SRML是在设计协议时就定义好的,用户根据自己需要的选路准则从中选择一个或者几个。同时,SRML具有良好的可扩展性,可根据实际应用,对上述码表进行扩展。
表1:路径度量编码表
2)选路准则信息库用于存放选路准则。
在无线传感器网络中,从一个节点到另外一个节点的路径可能有多条,不同的路径其度量是不同的。路由协议必须根据用户的需求从这些可能的路径中选择出一条或者是若干条。选择的标准即为选路准则。
路由准则可能针对单一度量,也可能针对多度量。
典型的单一度量路由准则有:最大、最小、阈值等。比如,以参与路由的节点剩余能量为度量,那么路由准则可能是选择度量最大的路径,即从多条路径中挑选路径上剩余能量最小的节点的能量最大的路径。
在本发明中定义路由准则为:最大、最小、阈值,编码分别为01、10、11。
3)路径度量处理用于根据所述路径度量信息库和选路准则信息库对用户需求中所包含的多个路径度量进行统一处理。
对于用户同时关心多个度量,对不同度量采用不同准则的情况,比如,要求传输可靠性和消耗能量都达到最低,或是,要求满足最低带宽要求的前提下路径的时延最短,需要对多个度量进行统一处理,本发明中给出两种多路径度量处理方法:
A、归一化线性加权运算:多个度量进行归一化之后,按照一定的权重加权求和得到一个度量。这适用于多个度量是彼此关联性较弱、用户对各个度量重视程度不同的情况。归一化的目的是消除不同指标数值上不同的影响。如果对多个度量要求的准则有的取最大、有的取最小,则可以将其中之一取倒数,再进行加权运算。
比如:用户要求建立的路径传输分组时消耗的能量最低并且时延最低,则:
其中:k为总路径数;ej和emin分别是第j条路径的能耗和k条路径中的最低能耗;tj和tmin分别是第j条路径的时延和k条路径的最短时延;α表示对能量度量的看重程度。
B、阈值过滤条件下的取最优:当多个路径度量信息中某些路径度量有阈值要求时,首先对这些路径度量判断是否满足阈值要求,过滤掉不满足要求的,再对余下所有的路径度量进行归一化处理,并按照各自的权重进行加权求和,得到统一路径度量。
关系映射子单元302用于根据一定的映射规则将归一化的路径度量信息转化为特定的用户指令。
通过映射规则将路径度量和路由准则的二进制代码组合在一起,生成用户指令,就可以描述满足用户需求的路由准则。如要表示路由准则为考察路径上消耗的能量,选择能量最小的,则表示为;
SRM=00001000,RSR=01。
用户接口单元202用于为用户提供标准的路径度量以及准则接口,将用户指令传送到路由协议模块102。为了实现用户根据需要进行灵活配置,采用特定的接口消息格式,具体如表2所示。
表2:用户接口消息格式
度量域用于按SRML中各度量的排列顺序、以比特图的方式表示用户关心的度量。如果相应位是1,则表示在本次路由建立过程中考虑该度量,否则,不考虑该度量。
准则域用于按SRML中各度量的排列顺序、以比特图的方式表示单度量的选路准则。两个bit对应一个度量:“01”表示取最大,“10”表示取最小,“11”表示阈值型,“00”表示该度量无效。
系数域用于按SRML中各度量的排列顺序描述各度量对应的系数或者阈值。其中k表示用户关心的度量的数量。因为每一个度量要相应的对应一个数值(系数或是阈值),每一个数值占用4byte。
本实施例所提供的用户接口消息格式所示的各域长度是在SRML中包含7个度量的情况下给出的,在本发明其他实施例中,SRML还可以进一步扩展,其长度根据扩展相应变化。
参见图4所示,为路由协议模块功能结构示意图。
路由协议模块102用于根据用户的需求对网络内拓扑信息进行收集、管理和基于此的路由计算。这里的拓扑信息是包含从源到目的的全路径上的拓扑信息。路由协议模块包括用户指令接口单元401、核心功能单元402、扩展功能单元403和媒体访问控制接口单元404。
用户指令接口单元401用于将用户接口模块101发出的用户指令传递到核心功能单元402。
路由协议要完成的功能包括对拓扑信息的收集、管理以及基于这些信息的路由计算。从信息采集的角度来看,可以把所有路由协议运行过程中带有共性的内容抽取出来作为路由的基本功能,而把和用户密切相关的部分和基本功能剥离开,作为扩展功能。这样路由协议能够对不同用户需求进行自适应识别,提供相应的路由服务。
基于此,在本发明中的路由协议模块102中对路由功能进行了划分,分为核心功能单元402和扩展功能单元403。
参见图5,为核心功能单元的功能结构示意图。核心功能单元402用于将所述用户指令解析为选路准则,发送到扩展功能单元403,并得到返回的本地信息,建立相应的路由。核心功能单元402包括用户需求解析子单元(URM:UserRequest Mapping)501和路由建立与维护子单元(RSM:Route Setup andMaitenance,)502。其中,用户需求解析子单元501用于对用户指令进行解析,将用户指令映射为本地信息收集指令和选路准则,并发送到扩展功能单元403;路由建立与维护子单元502用于根据用户需求解析子单元501的解析结果,发送包含用户需求的路由控制分组(包括路由请求分组RREQ、路由应答分组RREP和路由修复分组Repair),收集全路径拓扑信息,在这个过程中以分布式的方式完成路径计算,并进行适时的路由维护。
扩展功能单元403用于在一跳传输范围内交互hello消息,收集和管理本地信息,具体包括本地邻居发现、链路质量探测、邻居节点能量信息收集等功能。该单元包括节点信息收集和邻域信息收集,节点信息收集用于存放在节点自身即可得到的信息,这些信息可以直接得到,不需要与其他节点进行信息交互,邻域信息收集用于存放需要与其他节点交互的信息,需要在节点的邻域内进行拓扑信息采集才能得到。节点信息收集和邻域信息收集统称为本地信息收集,通过启动本地信息收集功能,得到本地信息,并返回给核心功能单元402,供路由建立与维护子单元502使用,其中包括邻居链路质量、邻居节点能量等信息,其具体消息格式如表3所示。
表3:本地信息收集消息
消息类型,本发明中本地信息收集消息的类型均为4。
度量域用于按照SRML中定义的度量的排列顺序,相应的比特位为1表示需要收集该类度量信息,为0表示无效。
序列号用于描述该消息是否是最新的。序列号越大,表示消息越新。
时间戳用于表示该消息启动的时间。
媒体访问控制(MAC)接口单元404用于完成路由和MAC层之间的信息交互。MAC接口包括数据接口和控制接口。数据接口用于将路由协议中待发送的数据消息和协议用于建立、维护路由以及进行本地信息收集的路由控制消息传送到MAC层;控制接口用于在路由和MAC层之间进行信息共享,包括邻居列表的共享和MAC层收集的链路质量变化等信息。
利用上述系统,参见图6,本发明第一实施例所提供的方法流程图,该方法包括以下步骤:
步骤S601:根据用户需求按照一定的映射准则生成特定的用户指令,发送到数据汇聚(sink)节点;
步骤S602:sink节点将接收到的用户指令按照映射规则转化为相应的选路准则;
步骤S603:sink节点根据选路准则对网络拓扑信息进行处理,具体为启动本地信息收集功能,构造相应的RREQ消息,在网络中传播。
参见图7,为本发明第二实施例所提供的方法流程图,该方法包括以下步骤:
步骤S701:根据用户需求按照一定的映射规则生成特定的用户指令,并发送给数据汇聚(sink)节点;
步骤S702:sink节点将接收到的用户指令按照映射准则转化为选路准则;
步骤S703:sink节点根据选路准则启动本地信息收集功能,构造相应的RREQ消息,该消息包括序列号、用户指令、部分路径度量累积值和上一跳节点等信息,以广播形式在无线传感器网络中传播;
在本步骤中,启动本地信息收集功能时,要进行判断,判断根据用户需求的选路准则是否需要在节点的邻域内进行拓扑信息采集,如果用户所关注的信息在节点可以直接获得而不需要节点与其他节点进行信息交互时,则只启动节点信息收集,不启动邻域信息收集,否则均启动;
步骤S704:接收到sink发出的RREQ消息的节点根据消息中的用户指令按照映射准则转化为相应的选路准则,启动本地信息收集功能;
同样,判断根据用户需求的选路准则是否需要在节点的邻域内进行拓扑信息采集,如果用户所关注的信息在节点可以直接获得而不需要节点与其他节点进行信息交互时,则只启动节点信息收集,不启动邻域信息收集,否则均启动;
步骤S705:节点检查选路准则中的准则域是否有“阈值型”要求,如果有,检查本节点的度量是否满足要求,如果是,转到步骤S706,如果否,直接丢弃接收到的RREQ消息;
步骤S706:节点将RREQ消息中携带的序列号SQ和本地保存的序列号SQlocal进行比较,当SQ>SQlocal,表示第一次接收到该RREQ消息,进入步骤S707;当SQ=SQlocal,表示此前收到过同一次路由建立过程发送的RREQ消息,进入步骤S708;当SQ<SQlocal,表示此消息以前处理过,则直接丢弃该RREQ消息;
步骤S707:用新接收到的序列号SQ更新本地的SQlocal,即令SQ=SQlocal,启动计时器T,将上一跳节点和更新后的路径度量累积值保存到RREQ信息缓存中,进入步骤S710;
步骤S708:检查计时器T是否仍然有效,如果有效,则在RREQ消息中保存到上一跳节点和部分路径度量累积值,进入步骤S710;否则,进入步骤S709;
步骤S709:计时器T超时意味着本地等待多个RREQ消息的时间已经结束,则从RREQ消息的缓存中找到最优路径,即满足选路准则的路径,如果存在多条路径具有相同的度量,则从中随机选择一个,进入步骤S710;
步骤S710:取出被选中的最优路径对应的RREQ消息,进行消息更新,使消息中含有的累积度量为本节点路径度量,上一跳节点ID为本节点的ID;
步骤S711:将更新后的RREQ消息广播出去,记录本节点到sink的路径;
步骤S712:向上一跳节点发送应答消息。
以上为路由建立的具体流程,在建立路由之后,立即启动路由维护功能,设定路由维护的有效时间为略长于路由条目的生存时间,超时后停止。路由维护根据本次路由建立中用户的需求收集相关的本地拓扑信息,以计时器控制进行周期的收集,当使用该路由转发了分组之后,路由条目的生存时间自动延长。
同时,本发明所提供的实现无线传感器网络通用路由协议的系统及方法还能灵活的支持网络运行过程中路由准则的更替,实现在路由准则更替过程中平稳的进行路径切换。
实现路由准则更替可以在两种场合下触发:用户触发和特殊业务触发。
(1)用户触发
在实际网络中,用户处于某种考虑,可能需要变更信息传输的要求,此时采用用户触发来实现路由准则的更替。在这种情况下,用户利用标准接口定义新的路由准则发送到sink节点,sink节点通过发送带有新的序列号的RREQ消息,以新的路由准则代替原有准则,这个过程和路由建立是一样的。
为了保持信息传输的连续性,降低路由准则更替给信息传输带来的影响,在新路由未成功建立之前,节点仍然使用原有路由进行信息传输,新路径建立后,删除原有路径。
(2)特殊业务触发
网络中节点可能采集到一些特殊的信息,对于这类信息传输采用的路由准则和普通的信息不同。对特殊信息的处理是协议通用性的一个体现。比如,对于进行环境检测的传感器网络,正常采集的温、湿度信息按照组网时建立的路由进行传输,如果节点采集到了异常温度信息,这意味着网络可能出现火灾等紧急情况,要求这类信息及时的被反馈到用户。
具有特殊传输要求的信息类型可以在网络协议中由用户事先定义好,路由协议要解决的问题是如何在这些业务产生时尽快根据业务要求切换到新的路径上。
处理过程是,路由协议沿主路径转发分组,同时广播RREQ分组,其中包含了特殊业务的需求。节点接收到RREQ消息后启动相应的本地信息收集模块。Sink节点接收到RREQ消息后,回复RREP消息,新路由建立之后,切换到新的路由上。
以上对本发明所提供的一种实现无线传感器网络通用路由协议的系统与方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
机译: 一种在无线局域网(WLAN)和通用移动电信系统(UMTS)之间实现紧密互连的装置及其方法
机译: 一种实现通用用户登录到多个应用程序的方法和系统
机译: 一种实现通用用户登录到多个应用程序的方法和系统