一种基于精细梯度策略的数据转发方法及系统的制作方法

文档序号:7695544阅读:148来源:国知局

专利名称::一种基于精细梯度策略的数据转发方法及系统的制作方法
技术领域
:本发明属于无线传感器网络领域,尤其涉及一种基于精细梯度策略的数据转发方法及系统。
背景技术
:与经典Adhoc路由协议不同,无线传感器网络的应用通常不追求网络吞吐量,而是在满足特定保真度的前提下,提高数据收集的能量效率。因此经典Adhoc网络路由协议在无线传感器网络中没有直接沿用的原因(〃AnalysisofForwardingMechanismsonFine-GrainGradientSinkingModelinWSN,"JournalofSignal:ProcessingSystems,vol.51,pp.'145—159,2008.和张瑜,电磁波空间传播.西安西安电子科技大学出版社,2007.)。无线传感器网络技术的研究者从各个角度考虑提高能量效率的机制,如在应用层通过数据融合、数据压縮提高有效数据率,从而减少网络通信以节省能量;在网络层通过规划汇聚路径以减少数据传输次数以及冲突概率,进而减少节点能量消耗;在链路层通过拓扑控制在保证网络连通、目标区域传感覆盖的前提下让更多的节点睡眠来节省网络能耗;通过跨层设计方法利用时间同步和定位技术辅助完成通信调度以优化能量的使用。无线信道特征的研究是无线通信领域的基本研究内容,各种电磁波在不同介质中的传播特征已经被深入研究(电磁波空间传播.西安西安电子科技大学出版社,2007.)。链路特征除了与信道相关外,还与编解码方法、调制方式息息相关,这在无线点对点通信,或诸如无线局域网的星型单跳网络数据传输中也得到了很好的研究。随着无线网络应用形态由有线网络末梢转变为完成特定功能的主体网络,链路特征对协议性能的影响开始被关注。现有技术通过对实验数据的时空分析,发现数据包接收率在空间分布上有灰色区域(也称过渡带)存在。根据阴影信道模型找到了短距离无线通信在空间上存在灰色过渡区的理论依据,并指出灰色区的宽度取决于信道随机参数的方差和与调制方式相关的有效通信的信噪比范围,10%90%包接收率对应的信噪比区间("Analyzingthetransitionalregioninlowpowerwirelesslinks,〃inSensorandAdHocCommunicationsandNetworks,2004.IEEESEC0N2004.2004FirstAnnualIEEECommunicationsSocietyConferenceon'2004,pp.517-526)。为适应无线链路的时空特征,现有技术算法和协议提高无线传感器网络在真实无线环境下的传输可靠性和能量效率。一种是以链路动态估计为特征的数据转发协议,协议包含一个链路估计器和路径转发代价评估算法,链路估计器通过周期性探测信道状态以评估数据转发链路的质量,然后根据质量评估单跳转发代价和路径转发代价,并据此选择转发节点(〃Tamingtheunderlyingchallengesofreliablemultihoproutinginsensornetworks,〃inProceedingsofthe1stinternationalconferenceonEmbeddednetworkedsensorsystemsLosAngeles,California,USA:ACM,2003);另一种是从链路总体特征模型出发设计的数据转发协议,协议通过链路空间相关性、统计回归和状态空间分离技术实现的链路估计算法(Y.XuandW._C.Lee,"ExploringSpatialCorrelationforLinkQualityEstimationinWirelessSensorNetworks,〃2006,pp.200-211.)。当环境的动态性较弱时,采用链路实时监测浪费能量,现有技术直接根据无线链路的静态特征设计协议,以提高可靠性和能量效率,提出一种基于梯度的健壮广播协议,该协议是一种基于路径开销的先应式定向洪范协议,当路径开销定义为节点传送数据包开销(与链路质量成反比)时,该协议也是一种基于链路质量的数据转发协议,只是没有动态链路估计("GRAdientbroadcast:arobustdatadeliveryprotocolforlargescalesensornetworks,〃Wirel.Netw.,vol.11,pp.285-298,2005)。还有现有技术提出一种基于路径能量效率的数据转发协议,该协议使用Er/Ee作为选择转发节点的尺度,Er为端到端的数据包抵达率,Ee是该数据包在传递过程中消耗的能量,该协议在分析模型中也讨论了单链路和多链路两种链路层转发策略,但是该协议需要维护端到端的抵达率,统计滞后大、开销大,且因为作者没有给出多链路协议的实施过程及仿真结果,无法表现协议的时变链路性育g禾口高负载条件下的效率。(〃Energy—EfficientForwardingSchemesforWirelessSensorNetworks,"inProceedingsofthe2006InternationalSymposiumononWorldofWireless,MobileandMultimediaNetworks:IEEEComputerSociety,2006.)另--个现有技术中利用密集型网络特征通过在网络中建立精细梯度,并利用邻居梯度和随机选择算法进行数据转发。随机选择算法在选择高效节点的同时,兼顾了能量的均衡消耗。("MechanismandAnalysisonFine-GrainGradientSinkingModelinWirelessSensorNetworks,〃JournalofSoftware,vol.18,pp.1138-1151,May.2007)上述静态协议为了使协议能够适应链路的长期变化,通常要对协议参数进行定期的全局刷新。通过对不同调制方式的节点在室内和室外两种环境下分别进行链路实验,获得给出了两种环境下两种节点平台的链路包接收率(PRR)随时间的变化情况,在实验中会议室环境下频率键控调制节点(Gains3节点)发送功率为-20db,扩频调制节点(Gainsz节点)为-5db,草地环境频率键控调制节点和扩频调制节点的发送功率均为0db,办公室发包速率为5包/秒,室外为10包/秒,PRR的统计时间为4秒。节点的包接收率的测量结果如图1A至1D所示。图2A和图2B给出了参与实验的60个节点的链路PRR的统计标准差分布情况,两种调制方式的节点每种30个。0ffc—2—stddata为会议室环境下扩频调制节点包接收率标准差次数统计,0ffc一z—stddata为会议室环境下频率键控调制节点包接收率标准差次数统计,wild—2—stddata为室外草地环境卩扩频调制节点包接收率标准差次数统计,-wild—z—stddata为室外草地环境下频率键控调制节点包接收率标准差次数统计(为显示方便,使用wild—z—std的负值表示)。如图2A和图2B所示,链路在很短时间内都会有显著变化,而扩频调制节点的链路质量变化幅度相对较小;另外,在草地环境中方差分布呈现长尾特征,预示短时时变更为普遍、严重。由此可见,无论在室内还是在野外,无论是频率键控调制,还是扩频调制,短时时变特性普遍存在。这种短时时变不同于过渡带内节点收发的随机抖动,后者源于随机方差的存在,而前者往往是由于环境的瞬变,如人员物品的移动、风吹草动等,导致的路径衰减指数的变化导致。基于ARQ(AutomaticRequestforRepetition,自动请求重发)机制的多链路协议存在两种冗余重传模式发送者冗余重传和接收者冗余重传。图8A和图8B给出了该两种模式产生的过程,图中ACK为确认帧。图8A为发送者冗余重传过程两个候选转发节点中一个收到数据包,一个未收到数据包,同时接收到数据包的节点确认帧也没有正确传送到发送节点;此时发送节点认为发送失败,进而再次发送数据包,而重传的数据包又被另一个候选转发节点准确接收,从而造成网络中有同一个数据包的两份拷贝。图8B为接收者冗余重传过程两个节点都正常接收到数据,因为两节点同时回复确认帧,两者发送的确认帧没有被彼此感知到,由此两个节点将独立转发数据包。接收者冗余重传往往伴随发送者冗余重传,因为两个候选转发节点同时发送的确认帧彼此冲突,使发送节点接收确认帧过程失败,进而导致发送节点重传。接收者冗余重传源于候选节点之间不能监听到对方确认帧,而这种情况在多链路协议中是确定存在的,而不是概率性的。图9所示候选节点区域和确认帧通信区域。由图9可见,节点E、G为候选节点,节点E的确认帧通信范围无法覆盖到G点,故G也会转发A节点的数据包,从而形成冗余重传。另外从基本多链路的算法设计可以看出,多链路机制只能提高数据正向传递的一次成功率,而对于反向的确认帧的成功率没有改善,这使得确认帧的成功率成为效率的瓶颈。
发明内容为解决上述问题,本发明提供了一种基于精细梯度策略的数据转发方法及系统,以克服短时时变无线链路导致数据转发性能下降的问题,从而能够在恶劣无线信道条件下保持数据转发可靠性并提高能量效率。本发明公开了一种基于精细梯度策略的数据转发方法,包括节点计算自身梯度并同邻居节点交换所述梯度,从而获得自身梯度和邻居节点梯度,还包括步骤l,所述节点按设置的候选转发节点数目确定梯度范围;步骤2,所述节点将所述梯度范围添加到数据包的包头,广播所述数据包;步骤3,所述邻居节点接收所述数据包包头,判断自身梯度是否在所述梯度范围内,如果是,执行步骤4;步骤4,所述邻居节点接收完整的所述数据包,在竞争时段内选择发送时槽,检测信道状态,判断是否在所述发送时槽的时间到达前检测到所述信道状态为忙,如果未检测到,则调整发送功率,并发送确认帧给所述节点。所述步骤2还包括,在发送完所述数据包后,启动发送定时器;所述方法还包括步骤5,在所述节点接收到对应于发送数据包的确认帧后,所述发送定时器停止计时;步骤6,所述节点在所述发送定时器超时时,判断所述数据包重传次数是否超过重传门限,如果没有,则进行随机退避,执行步骤2。所述步骤1中所述按设置的候选转发节点数目确定梯度范围进一步包括步骤31,将所述邻居节点按梯度从小到大的顺序排序;步骤32,判断梯度小于所述节点梯度的邻居节点数目是否大于等于所述候选转发节点数目,如果是,执行歩骤33,否则,执行步骤34;步骤33,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,所述排序中第k个邻居节点的梯度值为所述梯度范围的上限值,k的值等于所述候选转发节点数目;歩骤34,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,所述节点的梯度值为所述梯度范围的上限值。所述竞争时段被划分为N个时槽,N为根据所述候选转发节点数目设置的时槽数目,所述竞争时段的起点为接收到完整的所述数据包时刻,所述竞争时段的时长为所述时槽数目同时槽单位时长的乘积;所述歩骤4中所述选择发送时槽进一步为,根据所述邻居节点自身的梯度,所述梯度范围和所述数据包是否被发送过,选择所述发送时槽。所述时槽数目被设置为所述候选转发节点数目的P倍加m,P和ni为预设的参数;所述步骤4中所述邻居节点选择发送时槽进一步包括步骤51,判断接收的所述数据包是否曾经被转发过,如果是,执行步骤52,否则,执行歩骤53;步骤52,从所述竞争时段的第2个到第m个时槽中随机选择一个作为所述发送时槽;步骤53,按如下公式确定所述发送时槽,<formula>formulaseeoriginaldocumentpage11</formula>其中,S/w(力为所述发送时槽,y表示所述邻居节点,"为设置的划分段数,c『的值为所述候选转发节点数目的P倍,g(y)为邻居节点y的自身梯度,g^为所述梯度范围的下限值,g^为所述梯度范围的上限值,"为设置的参数,ra"()为在0至1之间产生均匀分布的随机数的函数。参数《的范围为1<^2,参数P值为2,参数m值为3。所述确认帧的发送功率为使目标转发区域内的所有节点接收所述确认帧的接收率都能够超过预先设置的接收率门限的发送功率。所述预先设置的接收率门限值为90%。所述发送定时器的定时时长为所述竞争时段的时长同确认帧发送时长的加和。本发明还公开了一种基于精细梯度策略的数据转发系统,包括用于汇聚数据的基站和节点,所述节点包括用于计算自身梯度并同邻居节点交换所述梯度的梯度模块,所述节点还包括发送模块和接收模块,所述发送模块包括梯度范围确定模块,用于按设置的候选转发节点数目确定梯度范围;包头添加模块,用于将所述梯度范围添加到数据包的包头,广播所述数据包;所述接收模块包括判断模块,用于接收邻居节点发送的数据包包头,判断自身梯度是否在所述数据包包头中的梯度范围内,如果是,则启动确认帧模块;确认帧模块,用于接收完整的所述数据包,在竞争时段内选择发送时槽,检测信道状态,判断是否在所述发送时槽的时间到达前检测到所述信道状态为忙,如果未检测到,则发送确认帧给发送所述数据包的邻居节点。所述包头添加模块还用于在发送完数据包后,启动发送定时器;在接收到对应于发送数据包的确认帧后,停止所述发送定时器计时;在所述发送定时器超时时,判断所述数据包重传次数是否超过重传门限,如果没有,则进行随机退避,重新发送所述数据包。所述梯度范围确定模块进一步用于将所述邻居节点按梯度从小到大的顺序排序;判断梯度小于自身梯度的邻居节点数目是否大于等于所述候选转发节点数目,如果是,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,所述排序中第k个邻居节点的梯度值为所述梯度范围的上限值,k的值等于所述候选转发节点数目;否则,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,自身的梯度值为所述梯度范围的上限值。所述竞争时段被划分为N个时槽,N为根据所述候选转发节点数目设置的时槽数目,所述竞争时段的起点为接收到完整的所述数据包时刻,所述竞争时段的时长为所述时槽数目同时槽单位时长的乘积;确认帧模块进一步用于根据所述节点自身的梯度,所述数据包中的梯度范围和所述数据包是否被发送过选择所述发送时槽。所述时槽数目被设置为所述候选转发节点数目的P倍加m,P和m为预设的参数;确认帧模块进一步用于判断接收的所述数据包是否曾经被转发过,如果是,则从所述竞争时段的第2个到第m个时槽中随机选择一个作为所述发送时槽;否则,按如下公式确定所述发送时槽,<formula>formulaseeoriginaldocumentpage12</formula>其中,S/W(力为所述发送时槽,7'表示所述节点,w为设置的划分段数,OF的值为所述候选转发节点数目的P倍,g(力为所述节点的自身梯度,gmn为所述接收的数据包中梯度范围的下限值,gmax为所述接收的数据包中梯度范围的上限值,ct为设置的参数,r"""()为在O至l之间产生均匀分布的随机数的函数。参数a的范围为l〈c^2,参数P值为2,参数m值为3。所述确认帧的发送功率被设置为使目标转发区域内的所有节点接收所述确认帧的接收率都能够超过预先设置的接收率门限的发送功率。所述预先设置的接收率门限的值为90%。所述发送定时器的定时时长为所述竞争时段的时长同确认帧发送时长的加和。本发明的有益效果在于,通过一次指定多个节点接收,克服个别链路质量的短时跳变,有效抑制协议性能的下降;通过使用确认帧功率调节机制,提高网络性能;通过时槽竞争回复确认帧,使梯度小的转发节点被优先选择,并降低确认帧冲突;本发明的优异特性不受网络规模和节点部署密度影响;仿真结果表明本发明优于单链路优化方法。图1A至图1D分别是会议室环境下扩频调制节点和频率键控调制节点,在野外环境下扩频调制节点和频率键控调制节点的包接收率的测量结果;图2A是实验中会议室环境下链路数据包接收率的标准差分布函数图,图2B是实验中野外环境下链路数据包接收率的标准差分布函数图3是本发明方法中节点获得自身梯度和邻居节点梯度后的方法流程图4是确定梯度范围的方法流程图5是选择发送时槽的方法流程图;图6是本发明系统中节点的结构图;图7是本发明确认帧回复竞争机制的方法示意图8A是发送者冗余重传过程示意图,图8B是接收者冗余重传过程示意图9是候选节点之间不能监听到对方确认帧而导致接收者冗余传送的示意图IOA和图IOB分别是本发明与单链路优化协议在不同信道参数条件下的抵达率和能量效率比较结果图IIA和图IIB分别是本发明在不同候选节点数目下与其他协议抵达率和能量效率的比较结果图12A和12B分别是本发明在调节和不调节确认帧功率两种情况下的抵达率和能量效率的比较结果图13是带时变特性的无线信道阴影模型状态图。具体实施方式下面结合附图,对本发明做进-一步的详细描述。本发明方法的一个具体实施例如下所述。在无线传感器网络中,位于节点通信范围内,能够同节点间通过发送接收直接通信的节点为该节点的邻居节点。在无线传感器网络中,基站发送建立梯度的梯度广播命令包;节点将该梯度广播命令包转发;接收到梯度广播命令包的节点获得发送节点的地址ID和发送跳数,节点记录邻居节点的地址ID和发送跳数;节点根据现有的邻居信息和自身跳数计算梯度,并转发地址ID和发送跳数。通过上述方法节点获得自身梯度和邻居节点的梯度。节点获得自身梯度和邻居节点梯度后的方法流程如图3所示。步骤S301,节点按设置的候选转发节点数目确定梯度范围,具体流程如图4所示。歩骤S401,将该节点的邻居节点按梯度从小到大的顺序排序;歩骤S402,判断梯度小于该节点梯度的邻居节点的数目是否大于等于设置的候选转发节点数目,如果是,执行歩骤S403,否则,执行步骤S404;歩骤S403,确定排序中第1个邻居节点梯度的值为梯度范围的下限值,排序中第k个邻居节点梯度的值为梯度范围的上限值,k的值等于候选转发节点数目;步骤S404,确定所述排序中第1个邻居节点梯度的值为梯度范围的下限值,该节点的梯度值为梯度范围的上限值。歩骤S302,节点将确定的梯度范围添加到数据包的包头,广播该数据包,在发送完数据包后,启动发送定时器。数据包的包头中还包括节点本身的梯度和跳数。步骤S311,节点的邻居节点接收数据包包头。邻居节点接收到数据包包头后,根据包头中的梯度和跳数更新自身梯度,并读取包头中的梯度范围信息。步骤S312,邻居节点判断自身梯度是否在包头中的梯度范围内,如果是,该邻居节点为候选转发节点,执行步骤S313,否则,执行步骤S315。步骤S313,邻居节点接收完整的数据包,通过校验后,根据该邻居节点自身的梯度,接收的数据包包头中的梯度范围和数据包的编号在竞争时段内t送时槽。该邻居节点在该发送时槽到达时才可发送确认帧。竞争时段被划分为N个时槽,N为根据候选转发节点数目设置的时槽数目,竞争时段的起点时长为接收到完整的数据包时刻,竞争时段时长为时槽数目同时槽单位时长的乘积。时槽数目被设置为f3Xk+m,其中k为候选转发节点数目。P与m的取值根据具体系统要求确定,P用于控制接收者冗余重传的概率,典型值为2,m来源于对冗余重传的接收者个数的估计,典型值为冗余重传接收者个数的2倍加1。本实施例中,设置P值为2,m值为3。其中时槽单位时长不短于无线信道空闲检测时间,该无线信道空闲检测时间与节点使用的具体无线收发器相关。在同步竞争机制中有3个特殊时槽第一个时槽留空,供给发送数据包节点作收发功能切换使用;第二和第三个时槽作为快速通道留给己经转发过该数据的节点使用。当已经转发某数据的节点j发现又有节点i,节点i的梯度大于节点j的梯度,发送由节点J转发过的数据包,节点j将使用快速通道通知节点i和其他候选节点,该数据己转发过,从而快速终止无用数据拷贝在网络中传播。为避免多个节点同时使用快数通道应答而导致冲突,本实施例定义了两个快速通道时槽。本实施例歩骤S302中启动的发送定时器的定时时长为该竞争时段的时长同确认帧发送时长的加和。该邻居节点按如下流程选择发送时槽。步骤S501,判断该接收的数据包是否曾经被转发过,如果是,执行步骤S502,否则,执行步骤S503。该邻居节点根据数据包头中的包编号判断是否已经发送过该数据包。歩骤S502,从该竞争时段的第2个和第3个时槽中随机选择一个作为所述发送时槽;步骤S503,按如下公式确定发送时槽,<formula>formulaseeoriginaldocumentpage15</formula>其中,s^o)为所述发送时槽,y表示该邻居节点,"为设置的划分段数,CW的值为候选转发节点数目的2倍,gW为邻居节点y的自身梯度,g^为接收数据包中梯度范围的下限值,g^为接收的数据包中梯度范围的上限值,为设置的参数,謂"()为在0至1之间产生均匀分布的随机数的函数。其中,m值为3。在节点的邻居节点中处于不同梯度的节点密度不同,靠近该节点的候选转发节点密度大,从而增加映射到同一个时槽的概率。针对候选节点对梯度的不均匀分布问题,本发明方法中采用了非线性映射方法,使用步骤S503中的公式中加号前面项,通过在上述公式引入指数a,使靠近发送节点的候选转发节点映射到窗口域时更分散,以减小冲突。根据目标区域中等梯度节点密度特征,本实施例中参数a范围取Ka《2。目标转发区域为梯度范围确定的邻居节点所在的区域。步骤S314,邻居节点检测信道状态,判断是否在发送时槽的时间到达前检测到信道状态为忙,如果未检测到,则发送确认帧给发送数据包的节点。确认帧竞争信道的机制如图7所示。图中0为竞争时段的起始时刻,T为竞争时段的终止时刻。候选转发节点选择时槽进行退避,以避免冲突。并且,发送确认帧的功率要比发送数据帧的功率大。该邻居节点进入持续的信道检测状态,在发送时槽时间到达前检测到信道忙,则认为有其他候选转发节点已经在优于自己的时槽发送了确认帧,故该邻居节点放弃该确认帧的转发。如果在发送时槽时间到达前,信道保持空闲,则该邻居节点设置收发器为发送状态,并调整发送功率为确认帧发送功率。信道检测过程通过时槽定时器计时,在该邻居节点接收到完整数据包,并校验无误时,启动时槽定时器,超时门限设置为选择的发送时槽的起始时刻,然后一面检测信道状态,一面等待该时槽定时器超时。在该时槽定时器超时时,判断信道检测结果是否为忙,如果是则丢弃接收的数据包,回到起始状态,否则,回复确认帧给发送数据包的节点。确认帧包含的主要字段有.-自身更新的梯度,当前的跳数,回应的数据包编号。对确认帧的发送功率进行功率调解,确认帧发送功率为数据发送功率加非理想调制解调器90%解码信噪比。其中所述非理想调制解调器90%解码信噪比,指对于特定的无线调制解调器,能够使包接收率达到90%(包长为100byte时,误码率为10—4)时的信噪比门限。从而,使确认帧的发送功率为能够使目标转发区域内的所有节点都能够按超过90%的接收率接收到所述确认帧的功率。步骤S315,邻居节点丢弃数据包,休眠到下一个收发周期。步骤S303,该节点在接收到对应于发送的数据包的确认帧后,启动的发送定时器停止计时。步骤S304,定时器超时,发送节点在定时时长内未接收到对应于发送数据包的确认帧,执行步骤S305;步骤S305,判断所述数据包重传次数是否超过重传门限,如果没有,则执行步骤S306,否则执行步骤S307;歩骤306,启动随机退避过程,退避后重复步骤S301至S306;步骤307,丢弃该数据包。本发明的系统包括用于汇聚数据的基站和节点。节点包括用于计算自身梯度并同邻居节点交换所述梯度的梯度模块600,发送模块601和接收模块602。本实施例中,梯度模块600采用中国专利申请(申请号200610164873.1)说明书中公开的方法获得自身梯度和邻居节点的梯度。发送模块601包括梯度范围确定模块611和包头添加模块612。梯度范围确定模块611,用于按设置的候选转发节点数目确定梯度范围。梯度范围确定模块611将所述邻居节点按梯度从小到大的顺序排序;判断梯度小于该节点自身梯度的邻居节点数目是否大于等于所述候选转发节点数目;如果是,确定所述排序中第1个邻居节点梯度的值为所述梯度范围的下限值,所述排序中第k个邻居节点梯度的值为所述梯度范围的上限值,k的值等于所述候选转发节点数目;否则,确定所述排序中第1个邻居节点梯度的值为所述梯度范围的下限值,该节点的梯度值为所述梯度范围的上限值。包头添加模块612,用于将所述梯度范围添加到数据包的包头,广播所述数据包,在发送完数据包后,启动发送定时器;在接收到对应于发送数据包的确认帧后,停止所述发送定时器计时;在所述发送定时器超时时,判断所述数据包重传次数是否超过重传门限,如果没有,则进行随机退避,重新发送所述数据包。发送定时器的定时时长为竞争时段的时长同确认帧发送时长的加和。接收模块602包括判断模块621和确认帧模块622。判断模块621,用于接收邻居节点发送的数据包包头,判断自身梯度是否在所述数据包包头中的梯度范围内,如果是,则启动确认帧模块622,否则,不发送确认帧。确认帧模块622,用于接收完整的所述数据包,在竞争时段内选择发送时槽,检测信道状态,判断是否在所述发送时槽的时间到达前检测到所述信道状态为忙,如果未检测到,则发送确认帧给接收的数据包对应的发送节点。竞争时段被划分为N个时槽,N为根据候选转发节点数目设置的时槽数目,所述竞争时段的起点和时长分别为接收到完整的所述数据包时刻和所述时槽数目同时槽单位时长的乘积。时槽数目被设置为所述候选转发节点数目的e倍加rn;确认帧模块622判断接收的所述数据包是否曾经被转发过,如果是,则从所述竞争时段的第2个到第m个时槽中随机选择一个作为所述发送时槽;否则,按如下公式确定所述发送时槽,-("—1)+其中,5/^(./)为所述发送时槽,y表示所述节点,n为设置的划分段数,c『的值为所述候选转发节点数目的二倍,g(力为所述节点的自身梯度,gmm为所述邻居节点发送数据包中梯度范围的下限值,g^为所述邻居节点发送数据包中梯度范围的上限值,ct为设置的参数,m^()为在0至l之间产生均匀分布的随机数的函数。参数a的范围为大于1小于等于2。e与m的取值根据具体系统要求确定,P用于控制接收者冗余重传的概率,典型值为2,m来源于对冗余重传的接收者个数的估计,典型值为冗余重传接收者个数的2倍加1。本实施例中,P值为2,m值为3。确认帧的发送功率被设置为能够使目标转发区域内的所有节点都能够按90%接收率接收到所述确认帧的功率。仿真实验为验证本发明方法对短时时变特征信道的适应性,在如表1所示的信道参数下对本方法和单链路优化方法进行仿真测试。在仿真实验中应用本发明的实施例被命名为MCFS协议。如图13所示,0为一般链路状态,A为链路中出现移动或固定物体时的链路状态。入、"为状态转换概率八(t)和M(t)的均值。<table>tableseeoriginaldocumentpage19</column></row><table>表l四项实验配置保证在状态0和状态A的时间比10:1。实验l不使用短时时变调节算法,用于与其他实验对比。由图IOA和IOB给出的仿真结果可知链路短时时变特性对本方法的网络抵达率、能量效率影响不大,表现为与对比实验几乎没有差别;但对单链路优化协议有较大影响,表现为抵达率和能量效率都有一个向下的跳变。仿真中所述转发方法中各参数取值如下a=2,P与m具体取为2和3。候选转发节点数目影响到传输的可靠性和网络能量效率。实验选择1~10个候选节点测试本发明性能。因为网络中节点随机部署,故存在候选节点不均匀或者不够的情况,在协议中选择尽量多的节点。如图11A和11B所示实验结果,当候选节点数目大于2时,本发明在抵达率上始终优于相同ARQ重传门限的单链路优化协议;另外,当本发明方法的候选节点数目小于4的情况下,其能量效率也优于相同ARQ重传门限下的单链路优化协议;缠绕多路径算法的抵达率始终低于本发明。另外,尽管缠绕多路径的抵达率不低,但其能量效率相对本发明方法来说差很多,而且缠绕范围越大,能量效率越低;分离多路径方法的抵达率比本发明低,在能量效率方面,分离多路径也要比本发明方法差。从实验结果可以看出,当候选节点门限为3和4时,MCFS在抵达率和能量效率方面表现最好。在调节和不调节确认帧功率两种情况下测试本发明的性能。从图12A和12B给出的仿真结果可以看出加载功率调节机制不仅可以提高数据抵达率,而且使数据转发的能量效率提高近一倍(在ARQ门限大于3时)。本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。权利要求1.一种基于精细梯度策略的数据转发方法,包括节点计算自身梯度并同邻居节点交换所述梯度,从而获得自身梯度和邻居节点梯度,其特征在于,还包括步骤1,所述节点按设置的候选转发节点数目确定梯度范围;步骤2,所述节点将所述梯度范围添加到数据包的包头,广播所述数据包;步骤3,所述邻居节点接收所述数据包包头,判断自身梯度是否在所述梯度范围内,如果是,执行步骤4;步骤4,所述邻居节点接收完整的所述数据包,在竞争时段内选择发送时槽,检测信道状态,判断是否在所述发送时槽的时间到达前检测到所述信道状态为忙,如果未检测到,则调整发送功率,并发送确认帧给所述节点。2.如权利要求1所述的基于精细梯度策略的数据转发方法,其特征在于,所述步骤2还包括,在发送完所述数据包后,启动发送定时器;所述方法还包括歩骤5,在所述节点接收到对应于发送数据包的确认帧后,所述发送定时器停止计时;歩骤6,所述节点在所述发送定时器超时时,判断所述数据包重传次数是否超过重传门限,如果没有,则进行随机退避,执行歩骤2。3.如权利要求1所述的基于精细梯度策略的数据转发方法,其特征在于,所述歩骤1中所述按设置的候选转发节点数目确定梯度范围进一步包括步骤31,将所述邻居节点按梯度从小到大的顺序排序;步骤32,判断梯度小于所述节点梯度的邻居节点数目是否大于等于所述候选转发节点数目,如果是,执行步骤33,否则,执行步骤34;步骤33,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,所述排序中第k个邻居节点的梯度值为所述梯度范围的上限值,k的值等于所述候选转发节点数目;步骤34,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,所述节点的梯度值为所述梯度范围的上限值。4.如权利要求1所述的基于精细梯度策略的数据转发方法,其特征在于,所述竞争时段被划分为N个时槽,N为根据所述候选转发节点数目设置的时槽数目,所述竞争时段的起点为接收到完整的所述数据包时刻,所述竞争时段的时长为所述时槽数目同时槽单位时长的乘积;所述步骤4中所述选择发送时槽进一步为,根据所述邻居节点自身的梯度,所述梯度范围和所述数据包是否被发送过,选择所述发送时槽。5.如权利要求4所述的基于精细梯度策略的数据转发方法,其特征在于,所述时槽数目被设置为所述候选转发节点数目的P倍加m,P和m为预设的所述步骤4中所述邻居节点选择发送时槽进一步包括步骤51,判断接收的所述数据包是否曾经被转发过,如果是,执行步骤52,否则,执行歩骤53;步骤52,从所述竞争时段的第2个到第m个时槽中随机选择一个作为所述发送时槽;歩骤53,按如下公式确定所述发送时槽,C『g(力一g隨1)+c『^、其中,S/w(y)为所述发送时槽,y表示所述邻居节点,n为设置的划分段数,cw的值为所述候选转发节点数目的P倍,g(y)为邻居节点y的自身梯度,^为所述梯度范围的下限值,g^为所述梯度范围的上限值,a为设置的参数,mm/()为在0至1之间产生均匀分布的随机数的函数。6.如权利要求5所述的基于精细梯度策略的数据转发方法,其特征在于,参数a的范围为Kc^2,参数e值为2,参数m值为3。7.如权利要求1至6中任一所述的基于精细梯度策略的数据转发方法,其特征在于,所述确认帧的发送功率为使目标转发区域内的所有节点接收所述确认帧的接收率都能够超过预先设置的接收率门限的发送功率。8.如权利要求7所述的基于精细梯度策略的数据转发方法,其特征在于,所述预先设置的接收率门限值为90%。9.如权利要求2所述的基于精细梯度策略的数据转发方法,其特征在于,所述发送定时器的定时时长为所述竞争时段的时长同确认帧发送时长的加和。10.—种基于精细梯度策略的数据转发系统,包括用于汇聚数据的基站和节点,所述节点包括用于计算自身梯度并同邻居节点交换所述梯度的梯度模块,其特征在于,所述节点还包括发送模块和接收模块,所述发送模块包括梯度范围确定模块,用于按设置的候选转发节点数目确定梯度范围;包头添加模块,用于将所述梯度范围添加到数据包的包头,广播所述数据包;所述接收模块包括判断模块,用于接收邻居节点发送的数据包包头,判断自身梯度是否在所述数据包包头中的梯度范围内,如果是,则启动确认帧模块;确认帧模块,用于接收完整的所述数据包,在竞争时段内选择发送吋槽,检测信道状态,判断是否在所述发送时槽的时间到达前检测到所述信道状态为忙,如果未检测到,则发送确认帧给发送所述数据包的邻居节点。11.如权利要求10所述的基于精细梯度策略的数据转发系统,其特征在于,所述包头添加模块还用于在发送完数据包后,启动发送定时器;在接收到对应于发送数据包的确认帧后,停止所述发送定时器计时;在所述发送定时器超时时,判断所述数据包重传次数是否超过重传门限,如果没有,则进行随机退避,重新发送所述数据包。12.如权利要求IO所述的基于精细梯度策略的数据转发系统,其特征在于,所述梯度范围确定模块进一歩用于将所述邻居节点按梯度从小到大的顺序排序;判断梯度小于自身梯度的邻居节点数目是否大于等于所述候选转发节点数目,如果是,确定所述排序中第l个邻居节点的梯度值为所述梯度范围的下限值,所述排序中第k个邻居节点的梯度值为所述梯度范围的上限值,k的值等于所述候选转发节点数目;否则,确定所述排序中第1个邻居节点的梯度值为所述梯度范围的下限值,自身的梯度值为所述梯度范围的上限值。13.如权利要求10所述的基于精细梯度策略的数据转发系统,其特征在于,所述竞争时段被划分为N个时槽,N为根据所述候选转发节点数目设置的时槽数目,所述竞争时段的起点为接收到完整的所述数据包时刻,所述竞争时段的时长为所述时槽数目同时槽单位时长的乘积;确认帧模块进一步用于根据所述节点自身的梯度,所述数据包中的梯度范围和所述数据包是否被发送过选择所述发送时槽。14.如权利要求13所述的基于精细梯度策略的数据转发系统,其特征在于,所述时槽数目被设置为所述候选转发节点数目的P倍加m,P和m为预设的参数;确认帧模块进一步用于判断接收的所述数据包是否曾经被转发过,如果是,则从所述竞争时段的第2个到第m个时槽中随机选择一个作为所述发送时槽;否则,按如下公式确定所述发送时槽,<formula>formulaseeoriginaldocumentpage5</formula>其中,s/w(y)为所述发送时槽,y表示所述节点,n为设置的划分段数,c『的值为所述候选转发节点数目的e倍,gc/)为所述节点的自身梯度,为所述接收的数据包中梯度范围的下限值,gmax为所述接收的数据包中梯度范围的上限值,a为设置的参数,腦d()为在O至l之间产生均匀分布的随机数的函数。15.如权利要求14所述的基于精细梯度策略的数据转发系统,其特征在于,参数a的范围为Kc^2,参数P值为2,参数m值为3。16.如权利要求10至15中任一所述的基于精细梯度策略的数据转发系统,其特征在于,所述确认帧的发送功率被设置为使目标转发区域内的所有节点接收所述确认帧的接收率都能够超过预先设置的接收率门限的发送功率。17.如权利要求16所述的基于精细梯度策略的数据转发系统,其特征在于,所述预先设置的接收率门限的值为90%。18.如权利要求11所述的基于精细梯度策略的数据转发系统,其特征在于,所述发送定时器的定时时长为所述竞争时段的时长同确认帧发送时长的加和。全文摘要本发明涉及一种基于精细梯度策略的数据转发方法和系统,方法包括节点计算自身梯度并同邻居节点交换所述梯度,获得自身梯度和邻居节点梯度,还包括步骤1,所述节点按设置的候选转发节点数目确定梯度范围;步骤2,所述节点将所述梯度范围添加到数据包的包头,广播所述数据包;步骤3,所述邻居节点接收所述数据包包头,判断自身梯度是否在所述梯度范围内,如果是,则接收完整的所述数据包,在竞争时段内选择发送时槽,检测信道状态,判断是否在所述发送时槽的时间到达前检测到所述信道状态为忙,如果未检测到,则调整发送功率,并发送确认帧给所述节点。从而,克服短时时变无线链路导致的数据转发性能下降的问题。文档编号H04L12/28GK101321129SQ200810115998公开日2008年12月10日申请日期2008年7月1日优先权日2008年7月1日发明者徐勇军,朱红松,李晓维,宇杨,磊赵申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1