本发明涉及无线通信技术领域,具体地,涉及一种基于服务质量的长距离多信道通信随机接入方法及系统。
背景技术:
航空自组织网络采用的mac协议一般分为两种:基于分配的mac协议和基于竞争的mac协议,其中基于竞争的mac协议具有组网灵活性强、抗毁性强、入网时延低等优点。目前大部分成熟的航空自组织网络竞争类mac协议均基于ieee802.11标准进行设计,但这类协议在航空自组织网络长距离通信应用中也有自身的缺点:
1)由于使用rts/cts/data/ack四次握手机制而浪费了大量的信道资源,导致时延增加;
2)没有对服务质量进行支持;
3)由于使用单一的指数退避算法而导致随着网络负载的增加碰撞概率会呈指数增长,大量重传数据会恶化网络性能;
4)没有对多信道通信进行支持。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种基于服务质量的长距离多信道通信随机接入方法及系统。
根据本发明提供的一种基于服务质量的长距离多信道通信随机接入方法,包括以下步骤:
步骤s1:任何通信节点在进行通信前都需要周期性的对全部l个信道进行监听,根据其监听所得前m次通信的情况,独立的计算平均信道忙闲程度
步骤s2:通信节点在发送数据前,需要根据当前待发送数据的最高优先级设置退避函数及其参数值,然后根据当前信道竞争情况执行退避算法,进入步骤s3继续执行;
步骤s3:发送节点执行完退避算法后,从l个信道中随机选取一个进行监听,若此信道空闲,且当前待发数据的优先级门限thn高于
步骤s4:若接收节点成功接收数据,则在此数据包传输所使用的信道上回复ack包,进入步骤s5继续执行;
步骤s5:若发送节点在发送后的tack时间内成功接收到ack包,则表示此数据包通信完成,进入步骤s6继续执行;否则,则返回步骤s2继续执行;
步骤s6:返回步骤s1继续执行。
优选地,所述的信道数l与监听次数m值均可变,l值在系统运行前需用户指定,m值可视情况而调整,m值越大系统稳定性越强,m值越小系统灵敏性越强。
优选地,所述的计算平均信道忙闲程度
对于单信道而言,rb的计算式如下:
其中,
rb表示信道的忙闲程度;
tslot表示时隙长度;pt表示某个时隙中至少存在一个尝试接入信道准备发送数据的节点的概率;ps表示在pt条件下成功发送数据的概率,它们的数值均根据监听所得前m通信的情况来估计得到;ts表示成功发送一次数据所需时间;tc表示产生一次碰撞所需时间。rb在区间[0,0.5]上与信道忙闲程度成正变关系。
对于多信道而言,
优选地,所述的待发送队列数n值可变,表示数据优先级的数量,当选定n值后,数据优先级n可取1,2,……,n中任一值,其值越小表示数据优先级越高,且每个数据优先级n对应一个优先级门限thn,低于此门限将被发送,否则等待。
优选地,所述的优先级门限thn值在区间[0,0.5]上随n的增大而减小;
thn值越小,则该门限对应优先级的数据接入信道的概率越低,故可以通过限制低优先级数据接入信道的概率而保证高优先级数据传输的性能;
thn值可在系统运行前由用户指定,或者随系统运行而动态变化以适应不同通信环境与通信要求。
优选地,所述的退避算法包括:
步骤a:发送不同优先级数据的节点采取不同的退避方式,假设优先级为{1,2,……,i}的数据属于较高优先级数据,其余为较低优先级数据;
步骤b:发送较高优先级数据的节点按照线性函数进行退避,以获得相对低的接入时延和相对稳定的时延性能。其退避数的计算式如下所示:
cwh=rand(a*(n-1)+b)
其中,
cwh表示退避数,决定如果发生碰撞要退避的时间;
rand()函数是取括号内随机数的含义;
rand(a*(n-1)+b)表示[0,a*(n-1)+b]之间的随机数;
a为退避系数,可以根据需要进行修改;
b为最短退避窗长,可以根据需要进行修改;
步骤c:发送较低优先级数据的节点按照指数函数进行退避,以获得相对高的接入时延和相对抖动的时延性能。其退避窗长的计算式如下所示:
cwl=rand(2k-1+(n-i)c)
其中,
cwl表示退避数,决定如果发生碰撞要退避的时间;
rand(2k-1+(n-i)c)表示[0,2k-1+(n-i)c]之间的随机数;k为退避次数,取值{1,2,……,bmax},k在每次发送失败时加1,每次发送成功时重置为1;bmax为最大重传次数,若k等于bmax则丢弃此数据包且重置k为1;n如权利要求4所述,与数据优先级对应;i如1)所述为优先级分界值;c为最短退避窗长,可以根据需要进行修改。
步骤d:若发送较低优先级数据的节点在退避过程中获得较高优先级数据的发送任务,则转为发送较高优先级数据,计算cwh,并取min{cwh,cwl}为最终退避数。
根据本发明提供的一种基于服务质量的长距离多信道通信随机接入系统,包括以下模块:
模块s1:任何通信节点在进行通信前都需要周期性的对全部l个信道进行监听,根据其监听所得前m次通信的情况,独立的计算平均信道忙闲程度
模块s2:通信节点在发送数据前,需要根据当前待发送数据的最高优先级设置退避函数及其参数值,然后根据当前信道竞争情况执行退避算法,调用模块s3;
模块s3:发送节点执行完退避算法后,从l个信道中随机选取一个进行监听,若此信道空闲,且当前待发数据的优先级门限thn高于
模块s4:若接收节点成功接收数据,则在此数据包传输所使用的信道上回复ack包,调用模块s5;
模块s5:若发送节点在发送后的tack时间内成功接收到ack包,则表示此数据包通信完成,调用模块s6;否则,则调用模块s2;
模块s6:调用模块s1。
优选地,所述的信道数l与监听次数m值均可变,l值在系统运行前需用户指定,m值可视情况而调整,m值越大系统稳定性越强,m值越小系统灵敏性越强;
所述的计算平均信道忙闲程度
对于单信道而言,rb的计算式如下:
其中,
rb表示信道的忙闲程度;
tslot表示时隙长度;pt表示某个时隙中至少存在一个尝试接入信道准备发送数据的节点的概率;ps表示在pt条件下成功发送数据的概率,它们的数值均根据监听所得前m通信的情况来估计得到;ts表示成功发送一次数据所需时间;tc表示产生一次碰撞所需时间。rb在区间[0,0.5]上与信道忙闲程度成正变关系。
对于多信道而言,
优选地,所述的待发送队列数n值可变,表示数据优先级的数量,当选定n值后,数据优先级n可取1,2,……,n中任一值,其值越小表示数据优先级越高,且每个数据优先级n对应一个优先级门限thn,低于此门限将被发送,否则等待;
所述的优先级门限thn值在区间[0,0.5]上随n的增大而减小;
thn值越小,则该门限对应优先级的数据接入信道的概率越低,故可以通过限制低优先级数据接入信道的概率而保证高优先级数据传输的性能;
thn值可在系统运行前由用户指定,或者随系统运行而动态变化以适应不同通信环境与通信要求。
优选地,所述的退避算法包括:
步骤a:发送不同优先级数据的节点采取不同的退避方式,假设优先级为{1,2,……,i}的数据属于较高优先级数据,其余为较低优先级数据;
步骤b:发送较高优先级数据的节点按照线性函数进行退避,以获得相对低的接入时延和相对稳定的时延性能。其退避数的计算式如下所示:
cwh=rand(a*(n-1)+b)
其中,
cwh表示退避数,决定如果发生碰撞要退避的时间;
rand()函数是取括号内随机数的含义;
rand(a*(n-1)+b)表示[0,a*(n-1)+b]之间的随机数;
a为退避系数,可以根据需要进行修改;
b为最短退避窗长,可以根据需要进行修改;
步骤c:发送较低优先级数据的节点按照指数函数进行退避,以获得相对高的接入时延和相对抖动的时延性能。其退避窗长的计算式如下所示:
cwl=rand(2k-1+(n-i)c)
其中,
cwl表示退避数,决定如果发生碰撞要退避的时间;
rand(2k-1+(n-i)c)表示[0,2k-1+(n-i)c]之间的随机数;k为退避次数,取值{1,2,……,bmax},k在每次发送失败时加1,每次发送成功时重置为1;bmax为最大重传次数,若k等于bmax则丢弃此数据包且重置k为1;n如权利要求4所述,与数据优先级对应;i如1)所述为优先级分界值;c为最短退避窗长,可以根据需要进行修改。
步骤d:若发送较低优先级数据的节点在退避过程中获得较高优先级数据的发送任务,则转为发送较高优先级数据,计算cwh,并取min{cwh,cwl}为最终退避数。
与现有技术相比,本发明具有如下的有益效果:
本发明取消了rts/cts机制以节约信道资源并提供较低的接入时延,通过使用一组数据优先级门限实现对服务质量的支持,通过对不同优先级数据使用不同的退避算法降低碰撞概率并实现对服务质量的保障,并通过设计随机接入流程实现了对于多信道通信的支持。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明的基于服务质量的长距离多信道通信随机接入方法流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于服务质量的长距离多信道通信随机接入方法,包括以下步骤:
步骤s1:任何通信节点在进行通信前都需要周期性的对全部l个信道进行监听,根据其监听所得前m次通信的情况,独立的计算平均信道忙闲程度
步骤s2:通信节点在发送数据前,需要根据当前待发送数据的最高优先级设置退避函数及其参数值,然后根据当前信道竞争情况执行退避算法,进入步骤s3继续执行;
步骤s3:发送节点执行完退避算法后,从l个信道中随机选取一个进行监听,若此信道空闲,且当前待发数据的优先级门限thn高于
步骤s4:若接收节点成功接收数据,则在此数据包传输所使用的信道上回复ack包,进入步骤s5继续执行;
步骤s5:若发送节点在发送后的tack时间内成功接收到ack包,则表示此数据包通信完成,进入步骤s6继续执行;否则,则返回步骤s2继续执行;
步骤s6:返回步骤s1继续执行。
具体地,所述的信道数l与监听次数m值均可变,l值在系统运行前需用户指定,m值可视情况而调整,m值越大系统稳定性越强,m值越小系统灵敏性越强。
具体地,所述的计算平均信道忙闲程度
对于单信道而言,rb的计算式如下:
其中,
rb表示信道的忙闲程度;
tslot表示时隙长度;pt表示某个时隙中至少存在一个尝试接入信道准备发送数据的节点的概率;ps表示在pt条件下成功发送数据的概率,它们的数值均根据监听所得前m通信的情况来估计得到;ts表示成功发送一次数据所需时间;tc表示产生一次碰撞所需时间。rb在区间[0,0.5]上与信道忙闲程度成正变关系。
对于多信道而言,
具体地,所述的待发送队列数n值可变,表示数据优先级的数量,当选定n值后,数据优先级n可取1,2,……,n中任一值,其值越小表示数据优先级越高,且每个数据优先级n对应一个优先级门限thn,低于此门限将被发送,否则等待。
具体地,所述的优先级门限thn值在区间[0,0.5]上随n的增大而减小;
thn值越小,则该门限对应优先级的数据接入信道的概率越低,故可以通过限制低优先级数据接入信道的概率而保证高优先级数据传输的性能;
thn值可在系统运行前由用户指定,或者随系统运行而动态变化以适应不同通信环境与通信要求。
具体地,所述的退避算法包括:
步骤a:发送不同优先级数据的节点采取不同的退避方式,假设优先级为{1,2,……,i}的数据属于较高优先级数据,其余为较低优先级数据;
步骤b:发送较高优先级数据的节点按照线性函数进行退避,以获得相对低的接入时延和相对稳定的时延性能。其退避数的计算式如下所示:
cwh=rand(a*(n-1)+b)
其中,
cwh表示退避数,决定如果发生碰撞要退避的时间;
rand()函数是取括号内随机数的含义;
rand(a*(n-1)+b)表示[0,a*(n-1)+b]之间的随机数;
a为退避系数,可以根据需要进行修改;
b为最短退避窗长,可以根据需要进行修改;
步骤c:发送较低优先级数据的节点按照指数函数进行退避,以获得相对高的接入时延和相对抖动的时延性能。其退避窗长的计算式如下所示:
cwl=rand(2k-1+(n-i)c)
其中,
cwl表示退避数,决定如果发生碰撞要退避的时间;
rand(2k-1+(n-i)c)表示[0,2k-1+(n-i)c]之间的随机数;k为退避次数,取值{1,2,……,bmax},k在每次发送失败时加1,每次发送成功时重置为1;bmax为最大重传次数,若k等于bmax则丢弃此数据包且重置k为1;n如权利要求4所述,与数据优先级对应;i如1)所述为优先级分界值;c为最短退避窗长,可以根据需要进行修改。
步骤d:若发送较低优先级数据的节点在退避过程中获得较高优先级数据的发送任务,则转为发送较高优先级数据,计算cwh,并取min{cwh,cwl}为最终退避数。
本发明提供的基于服务质量的长距离多信道通信随机接入系统,可以通过本发明给的基于服务质量的长距离多信道通信随机接入方法的步骤流程实现。本领域技术人员可以将所述基于服务质量的长距离多信道通信随机接入方法,理解为所述基于服务质量的长距离多信道通信随机接入系统的一个优选例。
根据本发明提供的一种基于服务质量的长距离多信道通信随机接入系统,包括以下模块:
模块s1:任何通信节点在进行通信前都需要周期性的对全部l个信道进行监听,根据其监听所得前m次通信的情况,独立的计算平均信道忙闲程度
模块s2:通信节点在发送数据前,需要根据当前待发送数据的最高优先级设置退避函数及其参数值,然后根据当前信道竞争情况执行退避算法,调用模块s3;
模块s3:发送节点执行完退避算法后,从l个信道中随机选取一个进行监听,若此信道空闲,且当前待发数据的优先级门限thn高于
模块s4:若接收节点成功接收数据,则在此数据包传输所使用的信道上回复ack包,调用模块s5;
模块s5:若发送节点在发送后的tack时间内成功接收到ack包,则表示此数据包通信完成,调用模块s6;否则,则调用模块s2;
模块s6:调用模块s1。
具体地,所述的信道数l与监听次数m值均可变,l值在系统运行前需用户指定,m值可视情况而调整,m值越大系统稳定性越强,m值越小系统灵敏性越强;
所述的计算平均信道忙闲程度
对于单信道而言,rb的计算式如下:
其中,
rb表示信道的忙闲程度;
tslot表示时隙长度;pt表示某个时隙中至少存在一个尝试接入信道准备发送数据的节点的概率;ps表示在pt条件下成功发送数据的概率,它们的数值均根据监听所得前m通信的情况来估计得到;ts表示成功发送一次数据所需时间;tc表示产生一次碰撞所需时间。rb在区间[0,0.5]上与信道忙闲程度成正变关系。
对于多信道而言,
具体地,所述的待发送队列数n值可变,表示数据优先级的数量,当选定n值后,数据优先级n可取1,2,……,n中任一值,其值越小表示数据优先级越高,且每个数据优先级n对应一个优先级门限thn,低于此门限将被发送,否则等待;
所述的优先级门限thn值在区间[0,0.5]上随n的增大而减小;
thn值越小,则该门限对应优先级的数据接入信道的概率越低,故可以通过限制低优先级数据接入信道的概率而保证高优先级数据传输的性能;
thn值可在系统运行前由用户指定,或者随系统运行而动态变化以适应不同通信环境与通信要求。
具体地,所述的退避算法包括:
步骤a:发送不同优先级数据的节点采取不同的退避方式,假设优先级为{1,2,……,i}的数据属于较高优先级数据,其余为较低优先级数据;
步骤b:发送较高优先级数据的节点按照线性函数进行退避,以获得相对低的接入时延和相对稳定的时延性能。其退避数的计算式如下所示:
cwh=rand(a*(n-1)+b)
其中,
cwh表示退避数,决定如果发生碰撞要退避的时间;
rand()函数是取括号内随机数的含义;
rand(a*(n-1)+b)表示[0,a*(n-1)+b]之间的随机数;
a为退避系数,可以根据需要进行修改;
b为最短退避窗长,可以根据需要进行修改;
步骤c:发送较低优先级数据的节点按照指数函数进行退避,以获得相对高的接入时延和相对抖动的时延性能。其退避窗长的计算式如下所示:
cwl=rand(2k-1+(n-i)c)
其中,
cwl表示退避数,决定如果发生碰撞要退避的时间;
rand(2k-1+(n-i)c)表示[0,2k-1+(n-i)c]之间的随机数;k为退避次数,取值{1,2,……,bmax},k在每次发送失败时加1,每次发送成功时重置为1;bmax为最大重传次数,若k等于bmax则丢弃此数据包且重置k为1;n如权利要求4所述,与数据优先级对应;i如1)所述为优先级分界值;c为最短退避窗长,可以根据需要进行修改。
步骤d:若发送较低优先级数据的节点在退避过程中获得较高优先级数据的发送任务,则转为发送较高优先级数据,计算cwh,并取min{cwh,cwl}为最终退避数。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于服务质量的长距离多信道通信随机接入方法。该方法取消了rts/cts机制以节约信道资源并提供较低的接入时延,通过使用一组数据优先级门限实现对服务质量的支持,通过对不同优先级数据使用不同的退避算法降低碰撞概率并实现对服务质量的保障,并通过设计随机接入流程实现了对于多信道通信的支持。
本发明通过以下技术方案来实现:
步骤一:通信节点在进行通信前都需要周期性的对全部l个信道进行监听,根据其监听所得前m次通信的情况,独立的计算平均信道忙闲程度
数据优先级,节点周期性的检查待发送数据包队列,根据数据优先级对其进行分类并按照先进先出的原则进行排序。执行步骤二;
步骤二:通信节点在发送数据前,需要根据当前待发送数据的最高优先级设置退避函数及其参数值,然后根据当前信道竞争情况执行退避算法(退避算法减小了立即发送产生的碰撞概率),执行步骤三;
步骤三:当发送节点退避结束时,从l个信道中随机选取一个进行监听,若此信道空闲,且当前待发数据的优先级门限thn高于
步骤四:若接收节点成功接收数据,则在此数据包传输所使用的信道上回复ack包,执行步骤五;
步骤五:若发送节点在发送后的tack时间内成功接收到ack包,则表示此数据包通信完成,执行步骤六,否则执行步骤二;
步骤六:重复以上所有步骤。
所述的信道数l与监听次数m值均可变,l值在系统运行前需用户指定,m值可视情况而调整,m值越大系统稳定性越强,m值越小系统灵敏性越强。
所述的n值(待发送队列数)可变,表示数据优先级的数量,当选定n值后,数据优先级可取(1,2,……,n,……,n),其值越小表示数据优先级越高,且每个数据优先级对应一个优先级门限thn。
所述的优先级门限thn(低于此门限将被发送,否则等待)值在区间[0,0.5]上随n的增大而减小。thn值越小,则该门限对应优先级的数据接入信道的概率越低,故可以通过限制低优先级数据接入信道的概率而保证高优先级数据传输的性能。thn值可在系统运行前由用户指定,或者随系统运行而动态变化以适应不同通信环境与通信要求。
所述的
1)对于单信道而言,rb的计算式如下:
其中,
rb表示信道的忙闲程度,通过计算rb,能够定量的确定信道是否忙;
tslot表示时隙长度;pt表示某个时隙中至少存在一个尝试接入信道准备发送数据的节点的概率;ps表示在pt条件下成功发送数据的概率,它们的数值均根据监听所得前m通信的情况来估计得到;ts表示成功发送一次数据所需时间;tc表示产生一次碰撞所需时间。rb在区间[0,0.5]上与信道忙闲程度成正变关系。
2)对于多信道而言,平均信道忙闲程度
所述的退避算法通过以下步骤实现:
1)发送不同优先级数据的节点采取不同的退避方式。假设优先级为{1,2,……,i}的数据属于较高优先级数据,其余为较低优先级数据。
2)发送较高优先级数据的节点按照线性函数进行退避,以获得相对低的接入时延和相对稳定的时延性能。其退避数的计算式如下所示:
cwh=rand(a*(n-1)+b)
其中,
cwh表示退避数,决定如果发生碰撞要退避的时间;rand()函数是取括号内随机数的含义,rand(a*(n-1)+b)表示[0,a*(n-1)+b]之间的随机数,用随机数是用来减小退避后等待时间一致导致的再次碰撞;a为退避系数,可以根据需要进行修改;b为最短退避窗长,可以根据需要进行修改;a与b都是可以手动调节的参数,使得退避数可以根据需要进行某种策略的微调。例如在降低功耗的要求下,a和b可以取长一点,在数据时效性较高时a与b取小一些。n与数据优先级对应,表示事先规定有多少种优先级。
3)发送较低优先级数据的节点按照指数函数进行退避,以获得相对高的接入时延和相对抖动的时延性能。其退避窗长的计算式如下所示:
cwl=rand(2k-1+(n-i)c)
其中,
cwl表示退避数,决定如果发生碰撞要退避的时间;rand()函数是取括号内随机数的含义,rand(2k-1+(n-i)c)表示[0,2k-1+(n-i)c]之间的随机数;k为退避次数,取值{1,2,……,bmax},k在每次发送失败时加1,每次发送成功时重置为1;bmax为最大重传次数,若k等于bmax则丢弃此数据包且重置k为1;n如权利要求4所述,与数据优先级对应;i如1)所述为优先级分界值;c为最短退避窗长,可以根据需要进行修改;n与数据优先级对应。
4)若发送较低优先级数据的节点在退避过程中获得较高优先级数据的发送任务,则转为发送较高优先级数据,计算cwh,并取min{cwh,cwl}为最终退避数。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。