专利名称:数据传输的方法及装置的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种IEEE 802.15.4MAC(MediumAccessControl Layer,介质访问控制层)协议中数据传输的方法及装置。
背景技术:
无线传感器网络(Wireless Sensor Networks, WSN)是由部署在监测区域内部或附近的大量传感器节点通过自组织方式构成的网络。无线传感器网络具有低能耗、低成本、灵活性高、可扩展等优点,可以广泛地应用于国防军事、农业监测控制、环境监测和预报、智能家居、医疗卫生等众多领域。无线传感器网络技术将有限距离的传感器应用扩展为无处不在,种类丰富的网络应用,在客观世界对象与人之间建立了一种有效的沟通方式,成为一项有着广阔发展空间与美好前景的应用技术。图1所示为无线传感器网络系统架构的示意图。无线传感器网络系统包括:传感器节点11 (sensor node)、汇聚节点12 (sink node)和管理节点13。大量传感器节点11随机部署在监测区域14内部或附近,能够通过自组织方式构成网络。传感器节点11监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个传感器节点13处理,经过多跳后路由到汇聚节点12,最后通过互联网或卫星到达管理节点13。汇聚节点12连接传感器网络与Internet等外部网络,同时发布管理节点13的监测任务,并把收集的数据转发到外部网络上。用户通过管理节点13对无线传感器网络进行配置和管理,发布监测任务以及收集监测数据。无线传感器网络MAC协议作为无线传感器网络底层基础协议,负责无线传感器网络的构建与维护,管理无线信道,对网络性能起决定性作用。IEEE802.15.4标准是IEEE802.15.4工作组针对低速无线个人区域网络制定的,定义了物理层和MAC层,把低能量消耗、低速率传输、低成本作为重点目标,旨在为个人或者家庭范围内不同设备之间低速互连提供统一的标准。基于上述技术特征,IEEE 802.15.4MAC协议已成为无线传感器网络MAC协议的最佳选择之一。IEEE 802.15.4MAC协议是一种基于竞争的MAC协议,因此不可避免地存在“隐藏终端”问题这一所有基于竞争的MAC协议的通病。“隐藏终端” (Hidden Stations)是指,网元设备A向网元设备B发送信息,网元设备C未侦测到网元设备A也向网元设备B发送,故网元设备A和网元设备C同时将信号发送至网元设备B,引起信号冲突,最终导致发送至网元设备B的信号都丢失了。“隐藏终端”多发生在大型单元中(一般在室外环境),这将带来效率损失,并且需要错误恢复机制。隐藏终端问题的存在会造成无线网络信道资源的无序征用和浪费,增大数据碰撞概率,严重影响网络的吞吐量、容量和数据传输时延。虽然,IEEE802.11 RTS/CTS (RTS, Request To Send ;CTS, Clear To Send)机制提供了较佳的隐藏终端问题解决方案,但IEEE 802.11 RTS/CTS握手机制中节点在每一次发送数据包之前都利用RTS/CTS握手机制预约信道,广播的RTS帧和CTS帧成对出现,且RTS帧和CTS帧附带本次数据传输所需时间,这对节点时钟同步提出了很高的要求,在资源有 限的无线传感器网络节点上很难实现。
发明内容
本发明提供一种数据传输的方法及装置,可确保传输优先级较高的数据包的传输,有效缩短传输优先级较高的数据包的传输时延。本发明提供一种数据传输的方法,所述方法包括:获取数据包的传输优先级;当所述数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包。优选地,所述获取数据包的传输优先级的步骤为:获取所述数据包中预设的优先级标识;根据获取的所述优先级标识,得到数据包的传输优先级,所述传输优先级划包括高等级的传输优先级和低等级的传输优先级。优选地,所述方法还包括:预先将所述数据包的优先级标识,设置在数据包中MAC帧控制域的保留位中。优选地,所述启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包的步骤包括:步骤A、源节点检测数据包的传输优先级,若所述数据包的传输优先级为高等级的传输优先级,则统计本次传输的包数,以及源节点到最終目的节点间的总跳数,然后广播RTS 帧;步骤B、接收到RTS帧的第二节点,判断所述第二节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第二节点向所述源节点回复CTSO帧,源节点接收到CTSO帧后,开始将所述数据包传输给所述第二节点;步骤C、接收到CTSO帧的第三节点,判断所述第三节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第三节点向所述第二节点返回CTSl帧,所述第二节点接收到CTSl帧后,开始将所述数据包传输给所述第三节点;重复执行步骤B 步骤C,按照传输路径将高等级的传输优先级的数据包传给下ー跳节点,直至完成本次高等级的传输优先级的数据包的传输。 优选地,所述步骤B具体包括:接收到RTS帧的所述第二节点,读取RTS帧中数据包的源节点的MAC地址和数据包的最終目的节点的MAC地址,查找预设的高等级的传输优先级的数据包的传输路由表;若所述第二节点不在高等级的传输优先级的数据包的传输路径上,则所述第二节点休眠;若所述第二节点在高等级的传输优先级的数据包的传输路径上,则判断下一跳的节点的MAC地址是否与所述第二节点的MAC地址相等,若相等,则所述第二节点向源节点回复CTSO帧,CTSO帧中下一跳节点的MAC地址为所述第二节点的MAC地址;若下一跳节点的MAC地址与所述第二节点的MAC地址不相等,所述第二节点不对RTS帧做进一歩处理。优选地,所述第二节点的休眠时间结合下一跳节点的MAC地址、待传输的数据包的数目和源节点到最終目的节点间的跳数进行估算。
优选地,所述步骤C具体包括:接收到CTSO帧的所述第三节点,读取CTSO帧中数据包的源节点的MAC地址和数据包的最終目的节点的MAC地址,查找预设的高等级的传输优先级的数据包的传输路由表;若所述第三节点不在高等级的传输优先级的数据包的传输路径上时,所述第三节点将休眠;若所述第三节点在高等级的传输优先级的数据包的传输路径上时,判断下一跳的节点的MAC地址是否与所述第三节点的MAC地址相等,若相等,则所述第三节点向所述第二节点回复CTSl帧,CTSl帧中下一跳节点的MAC地址为所述第三节点的MAC地址;若下一跳节点的MAC地址与所述第三节点的MAC地址不相等,则所述第三节点不对CTSl帧做进ー步处理。优选地,所述RTS/CTS握手机制中RTS/CTS帧包括:适配头、源节点的MAC地址、最终目的节点的MAC地址、下一跳节点的MAC地址、待传输数据包的数目和源节点到最终目的节点间的跳数。优选地,所述方法还包括:若所述数据包的传输优先级为高等级的传输优先级时,在启动基于串听技术的RTS/CTS握手机制预约到信道之后,设置所述数据包的帧控制域确认请求,表明需要接收方发送ACK帧进行确认;若所述数据包的传输优先级为低等级的传输优先级时,设置所述数据包的帧控制域确认请求,表明不需要接收方发送ACK帧进行确认。本发明还提供一种数据传输的装置,包括:获取模块,用于获取数据包的传输优先级;传输模块,用于当所述数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包。优选地,所述装置还包括:优先级设置模块,用于预先将所述数据包的优先级标识,设置在数据包中MAC帧控制域的保留位中。优选地,所述传输模块包括:检测单元,用于检测数据包的传输优先级,若所述数据包的传输优先级为高等级的传输优先级,则统计本次传输的包数,以及源节点到最終目的节点间的总跳数,然后广播RTS 帧;判断単元,用于判断接收到RTS帧的第二节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第二节点向所述源节点回复CTSO帧,源节点接收到CTSO帧后,开始将所述数据包传输给所述第二节点;以及判断接收到CTSO帧的第三节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第三节点向所述第二节点返回CTSl帧,所述第二节点接收到CTSl帧后,开始将所述数据包传输给所述第三节点,重复执行,按照传输路径将高等级的传输优先级的数据包传给下ー跳节点,直至完成本次高等级的传输优先级的数据包的传输。优选地,所述装置还包括:
反馈模块,用于若所述数据包的传输优先级为高等级的传输优先级时,在启动基于串听技术的RTS/CTS握手机制预约到信道之后,设置所述数据包的帧控制域确认请求,表明需要接收方发送ACK帧进行确认;以及若所述数据包的传输优先级为低等级的传输优先级时,设置所述数据包的帧控制域确认请求,表明不需要接收方发送ACK帧进行确认。由上述技术方案可知,本发明的实施例具有如下有益效果:首先,在本发明的实施例中,能够确保传输优先级较高的数据包的传输,有效缩短传输优先级较高的数据包的传输时延;其次,在本发明的实施例中,对于传输优先级较高的数据包,通过采用基于串听技术的RTS/CTS握手机制预约信道,可大大减少网络中传输的RTS、CTS控制帧。例如对于一次预约信道过程,控制帧的个数由数据包的传输跳数决定。对于L跳的数据包的传输,现有的IEEE 802.11 RTS/CTS握手机制中控制帧的数量为2L ;基于本实施例中的串听技术的RTS/CTS握手机制中控制帧的数量为L+1。跳数越大,每次预约信道过程中,基于串听技术的RTS/CTS握手机制节省的控制帧个数越多,越有利于节能;最后,在本发明的实施例中,还可基于传输优先级的ACK改进机制,充分考虑实际应用中的无线传感器网络数据传输模式,减少网络中不必要的低等级的传输优先级数据包的ACK帧,为高等级的传输优先级数据包的有效、及时传输预留更充分的无线信道资源。
图1为无线传感器网络系统架构的示意图;图2为本发明的实施例中数据传输的方法流程图;图3为本发明的实施例中IEEE 802.15.4MAC帧的结构图;图4为本发明的实施例中RTS/CTS帧的结构图;图5为本发明的实施例中应用场景示意图;图6为本发明的实施例中高等级的传输优先级的数据包的传输流程图;图7为本发明的实施例中数据传输的装置的结构框图。
具体实施例方式在本实施例中,首先获取数据包的传输优先级;然后当数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,采用预约的信道传输该数据包。为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。如图2所示,为本发明的实施例中数据传输的方法流程图,具体步骤如下:步骤11、获取数据包的传输优先级;例如:在本实施例中传输优先级可划分为:高等级的传输优先级和低等级的传输优先级,例如:高等级的传输优先级数据包具有突发性,当无线传感器网络节点监测到异常事件时,高等级的传输优先级数据包会大量注入网络,高等级的传输优先级数据包通常含丰富的信息量,为保证异常事件得到及时发现并处理,要保证高等级的传输优先级数据包得到及时、有效的传输;低等级的传输优先级数据包通常周期性传输,传输频率、速率已知,用于定期搜集数据进行分析或用于确保网络健康运行,低等级的传输优先级数据包所含信息量一般较少。当然可以理解的是,在本实施例中,无线传感器网络中数据包的传输优先级的划分方式并不限于上述方式。执行步骤101是为了从不同传输优先级的数据包中,获取传输优先级最高的数据包。IEEE 802.15.4MAC协议规定MAC帧控制域第7 9位和第12 13位为保留位,协议未对这两段保留位做任何限定。在本实施例中,可将这两段保留位用于标识IEEE802.15.4数据包的传输优先级。如图3所示,为本实施例中的IEEE 802.15.4MAC帧控制域格式,例如:将IEEE802.15.4MAC帧控制域的第7 9保留位定义为IEEE 802.15.4数据包的优先级标识。例如,可将IEEE 802.15.4数据包的优先级划分为8个等级。本实施例中,IEEE 802.15.4数据包的优先级分级可按如下方式设置:Priority值等于0,标识该数据包的传输优先级为0,表示该数据包为低等级的传输优先级的数据包;Priority值等于I,标识该数据包的传输优先级为1,表示该数据包为高等级的传输优先级的数据包;Priority在2 7中取值,在本实施例中未作定义,其可以根据实际需要进行定义。当然可以理解的是,在本实施例中并不限定数据包的优先级的划分等级。步骤12、当数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输数据包。也就是,无线传感器网络节点只在发送高等级的传输优先级的数据包时,才启动基于串听技术的RTS/CTS握手机制预约信道,以便使高等级的传输优先级的数据包独享信道。基于串听技术的RTS/CTS握手机制,RTS帧和CTS帧均广播发送。RTS帧和CTS帧均为IEEE 802.15.4数据包,RTS帧和CTS帧具有统ー的payload格式,參见图4。由图4可知,该RTS/CTS帧包括:适配头、源节点的MAC地址、最終目的节点的MAC地址、下一跳节点的MAC地址、待传输数据包的数目和源节点到最終目的节点间的跳数,其中(I)两字节的Adapter Header子域为适配头,用来标识数据包类型;(2) RTS和CTS帧中均含三个16位MAC短地址:两字节的Src Address子域为高等级的传输优先级的数据包的源节点的MAC地址,两字节的DstAddress子域为高等级的传输优先级的数据包的最終目的节点的MAC地址,两字节的Next Address子域为下ー跳节点的MAC地址;(3)两字节的Num子域用于标识本次预约信道中待传输的高等级的传输优先级的数据包数目;(4) 一字节的Hop子域用于标识本次高等级的传输优先级的数据包从源节点到最终目的节点间的跳数。
在本实施例中,设立待传输数据包的数目(Num)和源节点到最终目的节点间的跳数(Hop)的目的在于,当不在高等级的传输优先级的数据传输路径上的节点串听到RTS/CTS帧时,从中获取有关高等级的传输优先级的数据传输的信息,在高等级的传输优先级的数据传输期间,不在高等级的传输优先级的数据传输路径上的节点将不参与信道竞争,可以休眠以达到节能的目的,休眠时间可以结合Num值和Hop值计算。在本实施例中,启动RTS/CTS握手机制预约信道,并用预约信道传输数据包的步骤具体包括:步骤121、源节点(源节点)检测数据包的传输优先级,若数据包的传输优先级为高等级的传输优先级,则统计本次传输的包数,以及源节点到最终目的节点间的总跳数,然后广播RTS帧。步骤122、接收到RTS帧的第二节点,判断第二节点是否在高等级的传输优先级的数据包的传输路径上,若在,则第二节点向源节点回复CTSO帧,源节点接收到CTSO帧后,开始将数据包传输给第二节点;本步骤具体包括:接收到RTS帧的第二节点,读取RTS帧中数据包的源节点的MAC地址(SrcAddress)和数据包的最终目的节点的MAC地址(Dst Address),查找预设的高等级的传输优先级的数据包的传输路由表;若第二节点其不在高等级的传输优先级的数据包的传输路径上,则第二节点可休目民,以免对高等级的传输优先级的数据包的传输造成影响,第二节点的休眠时间结合下一跳节点的MAC地址(Next Address)、待传输的数据包的数目(Num)和源节点到最终目的节点间的跳数(Hop)估算;若第二节点其在高等级的传输优先级的数据包的传输路径上,则可进一步判断下一跳的节点的MAC地址(Next Address)是否与第二节点的MAC地址相等,若相等,则第二节点向源节点回复CTSO帧,源节点接收到CTSO帧后,开始将数据包传输给第二节点,CTSO帧中下一跳节点的MAC地址(NextAddress)为第二节点的MAC地址;若下一跳节点的MAC地址(Next Address)与第二节点的MAC地址不相等,第二节点不对RTS巾贞做进一步处理。步骤123、接收到CTSO帧的第三节点,判断第三节点是否在高等级的传输优先级的数据包的传输路径上,若在第三节点向第二节点返回CTSl帧,第二节点接收到CTSl帧后,开始将数据包传输给第三节点;本步骤具体包括:接收到CTSO帧的第三节点,读取CTSO帧中数据包的源节点的MAC地址(SrcAddress)和数据包的最终目的节点的MAC地址(Dst Address),查找预设的高等级的传输优先级的数据包的传输路由表;若第三节点不在高等级的传输优先级的数据包的传输路径上时,第三节点将休目民,以免对高等级的传输优先级的数据包的传输造成影响,休眠时间结合下一跳节点的MAC地址(Next Address)、待传输数据包的数目(Num)和源节点到最终目的节点间的跳数(Hop)估算;若第三节点在高等级的传输优先级的数据包的传输路径上时,可进一步判断下一跳的节点的MAC地址(Next Address)是否与第三节点的MAC地址相等,若相等,则第三节点向第二节点回复CTSl帧,第二节点接收到CTSl帧后,开始将数据包传输给第三节点,CTSl帧中下一跳节点的MAC地址(NextAddress)为第三节点的MAC地址,若下一跳节点的MAC地址(Next Address)与第三节点的MAC地址不相等,第三节点不对CTSl巾贞做进ー步处理。源节点重复执行步骤123 步骤124,将高等级的传输优先级的数据包传给下ー跳节点,直至完成本次高等级的传输优先级的数据包的传输。在本实施例中,无线传感器网络节点可只在传输高等级的传输优先级的数据包时,启动基于优先级的ACK帧反馈机制。也就是,在上述方法中还可包括:获取数据包的传输优先级,当数据包的传输优先级为高等级的传输优先级时,启动ACK帧反馈机制。在本实施例中,基于优先级的ACK帧反馈机制包含以下步骤:源节点若数据包的传输优先级为高等级的传输优先级时,在源节点启动基于串听技术的RTS/CTS握手机制预约到信道之后,设置IEEE 820.15.4数据包的帧控制域确认请求(Ack request),表明需要接收方发送ACK巾贞进行确认;若数据包的传输优先级为低等级的传输优先级时,设置IEEE 820.15.4数据包的中贞控制域确认请求(Ack request),表明不需要接收方发送ACK巾贞进行确认。在本实施例中,源节点、第二节点和第三节点可通过现有的传感器节点来实现。如图5所示,为本发明的实施例中应用场景示意图,高等级的传输优先级的数据包从节点NodeO传输至节点Node3,预设的高等级的传输优先级的数据包的传输路径为NodeO- > Nodel- > Node2_ > Node3,节点 Node4 仅能与节点 Nodel 通信。下面结合图5和图6,来介绍本发明的实施例中高等级的传输优先级的数据包的传输流程。NodeO发送机制检测MAC巾贞控制域中优先级标识Priority,获知待传输的数据包为高等级的传输优先级的数据包时,启用基于串听技术的RTS/CTS握手机制预约信道,利用预约信道传输数据包,具体步骤如下:步骤601、NodeO 广播 RTSO 以预约信道,RTSO Src Address 值为 NodeO 地址,DstAddress值为Node3地址,Next Address值为Nodel地址,并根据要传输的高等级的传输优先级数据包(DATA)及跳数填写Num子域和Hop子域;步骤602、Nodel接收到RTSO后查询路由表,若Nodel在高等级的传输优先级数据包的传输路径上,且高等级的传输优先级数据包传输的下ー跳是Nodel,则向NodeO回复CTSO, CTSO Src Address、Dst Address、Num、Hop 值均不变,Next Address 值为 Nodel 地址,NodeO接收到CTSO后,开始将高等级的传输优先级数据包发送给Node I,高等级的传输优先级数据包Ackrequest子域设定为I,要求接收方接收到高等级的传输优先级数据包后,回复ACK帧;步骤603、Node2接收到CTSO后查询路由表,若Node2在高等级的传输优先级数据包的传输路径上,且高等级的传输优先级数据传输的下ー跳是Node2,向Nodel回复CTS1,CTSl Src Address、Dst Address、Num、Hop 值均不变,Next Address 值为 Node2 地址,Nodel接收到CTSl后,开始将高等级的传输优先级数据包发送给Node2,高等级的传输优先级数据包Ack request子域设定为1,要求接收方接收到高等级的传输优先级数据包后,回复ACK 帧;步骤604、Node4接收到CTSO后查询路由表,由于Node4不在高等级的传输优先级数据包的传输路径上,Node4在本次高等级的传输优先级数据包传输期间将休眠,休眠时间根据Num值和Hop值计算;当然可以理解的是,在本实施例中也可先执行步骤604中的内容,在本实施例中并不限定步骤603和步骤604的执行顺序。步骤605、Node3接收到CTSl后查询路由表,若Node3在高等级的传输优先级数据包的传输路径上,且高等级的传输优先级数据传输的下一跳是Node3,则回复CTS2,CTS2Src Address、Dst Address、Num> Hop 值均不变,Next Address 值为 Node3 地址,Node2 接收到CTS2后开始将高等级的传输优先级数据包发送给Node3,高等级的传输优先级数据包Ack request子域设定为1,要求接收方接收到高等级的传输优先级数据包后,回复ACK帧,高等级的传输优先级数据包传至最终目的节点。在本实施例中,通过采用基于串听技术的RTS/CTS握手机制,可将大大减少网络中传输的RTS、CTS控制帧。对于一次预约信道过程,控制帧的个数由数据包传输跳数决定。对于L跳的数据传输,IEEE 802.11RTS/CTS握手机制中控制帧的数量为2L ;而基于本实施例中的串听技术的RTS/CTS握手机制中控制帧的数量为L+1。由此可知,若跳数越大,每次预约信道过程中,基于串听技术的RTS/CTS握手机制节省的控制帧个数越多,越有利于节倉泛。进一步,在本实施例中充分考虑实际应用中的无线传感器网络数据传输模式,有效减少网络中不必要的低等级的传输优先级数据ACK帧,为高等级的传输优先级数据的有效、及时传输预留更充分的无线信道资源。如图7,所示为本发明的实施例中数据传输的装置的结构框图,该数据传输的装置包括:获取模块71,用于获取数据包的传输优先级;传输模块72,用于当所述数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包。在本发明的另一实施例中,所述装置还包括:优先级设置模块,用于预先将所述数据包的优先级标识,设置在数据包中MAC帧控制域的保留位中。在本发明的另一实施例中,所述传输模块包括:检测单元,用于检测数据包的传输优先级,若所述数据包的传输优先级为高等级的传输优先级,则统计本次传输的包数,以及源节点到最终目的节点间的总跳数,然后广播RTS 帧;判断单元,用于判断接收到RTS帧的第二节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第二节点向所述源节点回复CTSO帧,源节点接收到CTSO帧后,开始将所述数据包传输给所述第二节点;以及判断接收到CTSO帧的第三节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第三节点向所述第二节点返回CTSl帧,所述第二节点接收到CTSl帧后,开始将所述数据包传输给所述第三节点,重复执行,按照传输路径将高等级的传输优先级的数据包传给下一跳节点,直至完成本次高等级的传输优先级的数据包的传输。在本发明的另一实施例中,所述装置还包括:
反馈模块,用于若所述数据包的传输优先级为高等级的传输优先级时,在启动基于串听技术的RTS/CTS握手机制预约到信道之后,设置所述数据包的帧控制域确认请求,表明需要接收方发送ACK帧进行确认;以及若所述数据包的传输优先级为低等级的传输优先级时,设置所述数据包的帧控制域确认请求,表明不需要接收方发送ACK帧进行确认。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种数据传输的方法,其特征在于,所述方法包括: 获取数据包的传输优先级; 当所述数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包。
2.根据权利要求1所述的方法,其特征在于,所述获取数据包的传输优先级的步骤为: 获取所述数据包中预设的优先级标识; 根据获取的所述优先级标识,得到数据包的传输优先级,所述传输优先级划包括高等级的传输优先级和低等级的传输优先级。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 预先将所述数据包的优先级标识,设置在数据包中MAC帧控制域的保留位中。
4.根据权利要求1所述的方法,其特征在于,所述启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包的步骤包括: 步骤A、源节点检测数据包的传输优先级,若所述数据包的传输优先级为高等级的传输优先级,则统计本次传输的包数,以及源节点到最終目的节点间的总跳数,然后广播RTS帧; 步骤B、接收到RTS帧的第二节点,判断所述第二节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第二节点向所述源节点回复CTSO帧,源节点接收到CTSO帧后,开始将所述数据包传输给所述第二节点; 步骤C、接收到CTSO帧的第三节点,判断所述第三节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第三节点向所述第二节点返回CTSl帧,所述第二节点接收到CTSl帧后,开始将所述数据包传输给所述第三节点; 重复执行步骤B 步骤C,按照传输路径将高等级的传输优先级的数据包传给下ー跳节点,直至完成本次高等级的传输优先级的数据包的传输。
5.根据权利要求4所述的方法,其特征在于,所述步骤B具体包括: 接收到RTS帧的所述第二节点,读取RTS帧中数据包的源节点的MAC地址和数据包的最終目的节点的MAC地址,查找预设的高等级的传输优先级的数据包的传输路由表; 若所述第二节点不在高等级的传输优先级的数据包的传输路径上,则所述第二节点休眠; 若所述第二节点在高等级的传输优先级的数据包的传输路径上,则判断下一跳的节点的MAC地址是否与所述第二节点的MAC地址相等,若相等,则所述第二节点向源节点回复CTSO帧,CTSO帧中下一跳节点的MAC地址为所述第二节点的MAC地址;若下一跳节点的MAC地址与所述第二节点的MAC地址不相等,所述第二节点不对RTS帧做进一歩处理。
6.根据权利要求5所述的方法,其特征在于,所述第二节点的休眠时间结合下ー跳节点的MAC地址、待传输的数据包的数目和源节点到最終目的节点间的跳数进行估算。
7.根据权利要求4所述的方法,其特征在于,所述步骤C具体包括: 接收到CTSO帧的所述第三节点,读取CTSO帧中数据包的源节点的MAC地址和数据包的最終目的节点的MAC地址,查找预设的高等级的传输优先级的数据包的传输路由表; 若所述第三节点不在高等级的传输优先级的数据包的传输路径上时,所述第三节点将休眠;若所述第三节点在高等级的传输优先级的数据包的传输路径上时,判断下一跳的节点的MAC地址是否与所述第三节点的MAC地址相等,若相等,则所述第三节点向所述第二节点回复CTSl帧,CTSl帧中下一跳节点的MAC地址为所述第三节点的MAC地址;若下一跳节点的MAC地址与所述第三节点的MAC地址不相等,则所述第三节点不对CTSl帧做进一步处理。
8.根据权利要求1所述的方法,其特征在于,所述RTS/CTS握手机制中RTS/CTS帧包括:适配头、源节点的MAC地址、最终目的节点的MAC地址、下一跳节点的MAC地址、待传输数据包的数目和源节点到最终目的节点间的跳数。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述数据包的传 输优先级为高等级的传输优先级时,在启动基于串听技术的RTS/CTS握手机制预约到信道之后,设置所述数据包的帧控制域确认请求,表明需要接收方发送ACK帧进行确认; 若所述数据包的传输优先级为低等级的传输优先级时,设置所述数据包的帧控制域确认请求,表明不需要接收方发送ACK帧进行确认。
10.一种数据传输的装置,其特征在于,包括: 获取模块,用于获取数据包的传输优先级; 传输模块,用于当所述数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括: 优先级设置模块,用于预先将所述数据包的优先级标识,设置在数据包中MAC帧控制域的保留位中。
12.根据权利要求10所述的装置,其特征在于,所述传输模块包括: 检测单元,用于检测数据包的传输优先级,若所述数据包的传输优先级为高等级的传输优先级,则统计本次传输的包数,以及源节点到最终目的节点间的总跳数,然后广播RTS帧; 判断单元,用于判断接收到RTS帧的第二节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第二节点向所述源节点回复CTSO帧,源节点接收到CTSO帧后,开始将所述数据包传输给所述第二节点;以及判断接收到CTSO帧的第三节点是否在高等级的传输优先级的数据包的传输路径上,若在,所述第三节点向所述第二节点返回CTSl帧,所述第二节点接收到CTSl帧后,开始将所述数据包传输给所述第三节点,重复执行,按照传输路径将高等级的传输优先级的数据包传给下一跳节点,直至完成本次高等级的传输优先级的数据包的传输。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括: 反馈模块,用于若所述数据包的传输优先级为高等级的传输优先级时,在启动基于串听技术的RTS/CTS握手机制预约到信道之后,设置所述数据包的帧控制域确认请求,表明需要接收方发送ACK帧进行确认;以及若所述数据包的传输优先级为低等级的传输优先级时,设置所述数据包的帧控制域确认请求,表明不需要接收方发送ACK帧进行确认。
全文摘要
本发明提供一种数据传输的方法及装置,其中该方法包括获取数据包的传输优先级;当所述数据包的传输优先级为高等级的传输优先级时,启动RTS/CTS握手机制预约信道,并用预约信道传输所述数据包,可确保传输优先级较高的数据包的传输,有效缩短传输优先级较高的数据包的传输时延。
文档编号H04L1/00GK103138888SQ20111039909
公开日2013年6月5日 申请日期2011年12月5日 优先权日2011年12月5日
发明者徐亮, 倪颖, 付长东, 王泽民, 傅剑 申请人:中国移动通信集团广东有限公司