一种基于消息优先级和速率的VDES动态时隙预约方法
技术领域
本发明属于无线通信技术领域,具体涉及一种基于消息优先级和速率的VDES动态时隙预约方法。
背景技术
VDES(VHF Data Exchange System,甚高频数据交换系统)是在当前的AIS(Automatic Identification System,船舶自动识别系统)基础上发展起来的新一代海事数字通信系统,可以进行船与船、船与岸、船与卫星之间的信息交换,实现船舶的路线导航、天气预测、遇险搜救、船舶避撞、港口调度等功能。
在VDES系统中,通信能力范围内的船舶之间采用自组织的方式进行通信,形成自组织小区。自组织小区内的船舶利用导航卫星实现时间上的同步,无线信道使用TDMA(Time-division Multiple Access,时分多址)的方式进行时隙接入,通常将同一频段的时间分成以帧为单位的片段,每一帧的长度为1分钟,每一帧被划分为2250个时隙。自组织小区内的每艘船舶都通过接收其它用户广播的时隙状态信息和侦听各时隙状态信息来构造和维护一份帧映像表,并实时更新帧映像,帧映像表只负责对帧中的每个时隙的使用或空闲状态进行记录。各船舶发送消息是通过时隙预约的方法来接入通信链路,即针对当前帧的帧映像表中的空闲时隙进行预约,在下一帧到来时接入。通过这种发送消息的时隙预约,可以有效避免自组织小区内船舶之间的消息冲突。
关于VDES中的时隙预约和接入机制,目前的AIS信道接入协议的建议书(例如《G1139标准建议书》)中建议AIS信道使用SOTDMA(Self-organized Time-divisionMultiple Access,自组织时分多址)的接入方法,而其他信道还未给出接入协议的明确建议。已有的研究资料中提出船舶利用随机时分多址(Random Access Time-divisionMultiple Access,RATDMA)或者增量时分多址(Incremental Time-division MultipleAccess,ITDMA)完成信道接入后,进入连续的自主运作阶段,在自主运作阶段仍然使用SOTDMA进行后续时隙的预约。
综上所述,不管是SOTDMA的时隙预约方法,还是RATDMA和ITDMA的时隙接入方法,均是关注于如何寻找空闲时隙及其分配,而没有考虑预约消息的优先级和速率需求。而海事通信中的消息是有优先级之分的,例如救援消息的优先级一定高于天气预报消息,不考虑消息优先级的预约和接入,很有可能导致高优先级的消息延迟,这一问题在网络负载大、消息较多时更为明显。而且随着VDES消息类型的增多,不同消息的速率需求不同,传输速率需求较大的消息需要占用连续时隙传输,不考虑消息速率需求进行预约和接入,满足不了速率需求会使消息卡顿,影响用户体验,甚至导致严重事故。因此,如何根据消息的优先级和速率需求进行时隙预约是当前需要解决的重要问题。
发明内容
针对现有技术中存在的不足,本发明所要解决的技术问题是提供一种基于消息优先级和速率的VDES动态时隙预约方法,该方法可以提高预约成功的消息优先级权重和、速率权重和,还可以增加消息预约成功个数。
本发明解决上述技术问题的方案是:
一种基于消息优先级和速率的VDES动态时隙预约方法,该方法包括以下步骤:
步骤一:系统初始化,即将帧映像表初始化:
自组织小区内的每艘船舶都根据当前帧的时隙使用状况构造和维护一份用来记录信息帧中各个时隙是使用还是空闲的状态的帧映像表,在所述的帧映像表中对连续空闲时隙进行标记,即在连续s个空闲时隙处加入标记CIS=s,其中s为正整数;
步骤二:预约消息的分组和排序:
对来自不同船舶的需要发送的消息进行时隙接入预约,该消息称为预约消息;
设所述的预约消息的优先级共有M种,分别为1,2,…,M,所述的优先级的值越大表示优先级越高;
根据每个预约消息的速率要求换算出各自需接入的连续时隙个数;设I个预约消息需接入的连续时隙个数共有N种,分别为1,2,…,N,需要对所述的I个预约消息进行分组和排序:
首先对预约消息按照优先级从大到小进行分组,即第一组预约消息的优先级为M,第二组预约消息的优先级为M-1,其余以此类推;
然后对优先级分组后的预约消息在组内再按照需接入连续时隙个数从大到小,即从N到1,进行排序;
最后对分组和排序后的预约消息依次编序号为i,i=1,2,…,I,将第i个预约消息的优先级记为ai,ai∈{1,2,…,M};第i个预约消息需接入的连续时隙个数记为bi,bi∈{1,2,…,N};将每一个排序后的预约消息用优先级和需接入的连续时隙个数来标记,则第i个预约消息记为(aibi);
步骤三:根据帧映像表,对分组和排序后的预约消息依次进行基于优先级和速率要求的动态时隙预约,算法如下:
1)令优先级m=M,需接入的连续时隙个数n=N;
2)对预约消息(ai,bi)进行时隙预约:
21)判断ai是否等于m;
22)如果ai≠m,执行m=m-1,然后判断m是否等于0:
如果m=0,说明优先级从M到1的所有预约消息均已经完成时隙预约,算法结束;如果m≠0,令n=N,返回分步骤21);
23)如果ai=m,判断bi是否等于n:
如果bi≠n,执行n=n-1,返回分步骤23);如果bi=n,则继续执行分步骤24);
24)在帧映像表中从头开始依次查找连续空闲时隙标记CIS≥bi的空闲时隙,判断是否找到CIS≥bi的空闲时隙:
如果找到CIS≥bi的空闲时隙,为预约消息(ai,bi)预约此连续空闲时隙;更新帧映像表中的连续空闲时隙标志,即此处的CIS=CIS-bi;执行i=i+1,返回分步骤2),继续为下一个预约消息预约时隙;
如果在帧映像表中没有找到CIS≥bi的空闲时隙,则将该预约消息的需接入的连续时隙个数bi减1,然后判断bi是否等于零,如果bi=0,则等待下一帧的空闲时隙再继续进行时隙预约,如果bi≠0则返回分步骤24);
步骤四:下一帧到来时,按照步骤三的时隙预约结果进行预约消息的接入和传输。
本发明提出了基于消息优先级和速率的动态时隙预约方法,即动态时分多址(Dynamic Time-division Multiple Access,D-TDMA)时隙预约算法。先对消息按优先级、速率进行分组和排序,对分组排序以后的消息进行时隙预约,这样可以兼顾消息的优先级和速率需求,而且该算法加入了一次预约失败时的接入时隙数动态调整和再预约机制,因此D-TDMA时隙预约方法无论是在消息预约成功个数上,还是在预约成功的消息优先级权重和、速率权重和上均优于SOTDMA、RATDMA和ITDMA。
本发明与现有技术相比,具有以下有益效果:
本发明公开了一种基于消息优先级和速率的动态时隙预约方法,即D-TDMA时隙预约算法。该时隙预约方法无论是在消息预约成功个数上,还是在预约成功的消息优先级权重和、速率权重和上均优于现有的SOTDMA、RATDMA和ITDMA。
附图说明
图1为本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法的总体流程图;
图2为本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法中所述的帧映像表的示意图;
图3为本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法中的D-TDMA时隙预约算法流程图;
图4为本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法中,预约成功的消息个数的仿真结果图;
图5为本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法中,预约成功的消息优先级权重和的仿真结果图;
图6为本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法中,预约成功的消息速率权重和的仿真结果图;
具体实施方式
下面结合附图对本发明作进一步解说。
实施例1
如图1所示,本发明所公开的一种基于消息优先级和速率的VDES动态时隙预约方法,包括以下步骤:
步骤一:系统初始化,即将帧映像表初始化:
自组织小区内的每艘船舶都根据当前帧的时隙使用状况构造和维护一份用来记录信息帧中各个时隙是使用还是空闲的状态的帧映像表,如图2所示,在所述的帧映像表中对连续空闲时隙(Continuous Idle Slot,CIS)进行标记,即在连续s个空闲时隙处加入标记CIS=s,其中s为正整数;
步骤二:预约消息的分组和排序:
对来自不同船舶的需要发送的消息进行时隙接入预约,该消息称为预约消息;
设所述的预约消息的优先级共有M种,分别为1,2,…,M,所述的优先级的值越大表示优先级越高;
根据每个预约消息的速率要求换算出各自需接入的连续时隙个数,设I个预约消息的需接入的连续时隙个数共有N种,分别为1,2,…,N,需要对所述的I个预约消息进行分组和排序:
首先对预约消息按照优先级从大到小进行分组,即第一组预约消息的优先级为M,第二组预约消息的优先级为M-1,其余以此类推;
然后对优先级分组后的预约消息在组内再按照需接入连续时隙个数从大到小,即从N到1,进行排序;
最后对分组和排序后的预约消息依次编序号为i,i=1,2,…,I,将第i个预约消息的优先级记为ai,ai∈{1,2,…,M};第i个预约消息需接入的连续时隙个数记为bi,bi∈{1,2,…,N};将每一个排序后的预约消息用优先级和需接入的连续时隙个数来标记,则第i个预约消息记为(ai,bi);
步骤三:根据帧映像表,利用动态时分多址(Dynamic Time-division MultipleAccess,D-TDMA)时隙预约算法,对分组和排序后的预约消息依次进行基于优先级和速率要求的动态时隙预约,算法如图3所示,具体说明如下:
1)令优先级m=M,需接入的连续时隙个数n=N;
2)对预约消息(ai,bi)进行时隙预约:
21)判断ai是否等于m;
22)如果ai≠m,执行m=m-1,然后判断m是否等于0:
如果m=0,说明优先级从M到1的所有预约消息均已经完成时隙预约,算法结束;如果m≠0,令n=N,返回分步骤21);
23)如果ai=m,判断bi是否等于n:
如果bi≠n,执行n=n-1,返回分步骤23);如果bi=n,则继续执行分步骤24);
24)在帧映像表中从头开始依次查找连续空闲时隙标记CIS≥bi的空闲时隙,判断是否找到CIS≥bi的空闲时隙:
如果找到CIS≥bi的空闲时隙,为预约消息(ai,bi)预约此连续空闲时隙;更新帧映像表中的连续空闲时隙标志,即此处的CIS=CIS-bi;执行i=i+1,返回分步骤2),继续为下一个预约消息预约时隙;
如果在帧映像表中没有找到CIS≥bi的空闲时隙,则该预约消息的接入连续时隙个数bi自动减1,然后判断bi是否等于零,如果bi=0,则等待下一帧的空闲时隙再继续进行时隙预约,如果bi≠0则返回分步骤24);
步骤四:下一帧到来时,按照步骤三的时隙预约结果进行预约消息的接入和传输。
实施例2(实验例)
以下是根据本发明所公开的一种基于消息的优先级和速率的VDES时隙预约方法进行的MATLAB软件的仿真实验,以说明本发明方法的可行性和有效性。
在一帧时隙数为2250个的映像表中,假设当前帧中已经有1500个时隙被随机的占用,即网络负载重、消息较多。消息的优先级有3种(M=3),每个消息的优先级在1,2,3中随机选取。消息的需接入连续时隙数有5种(N=5),每个消息的需接入连续时隙数在1,2,3,4,5中随机选取。
仿真实验结果参见图4~6,其中的“SOTDMA”是已有G1139标准建议书中的时隙预约方法,仿真时在原有方法的基础上考虑了消息的速率需求,“优先级+SOTDMA”是指在“SOTDMA”的基础上考虑优先级的需求,“优先级+速率的D-TDMA”是本发明所公开的动态时隙预约方法。RATDMA和ITDMA与SOTDMA一样没有考虑消息的优先级和速率需求,因此与SOTDMA的仿真性能相同,所以没有在仿真图中重复画出。
图4为预约成功的消息个数的仿真结果,反映了预约成功的消息个数与预约消息数的关系。
图5为预约成功的消息优先级权重和的仿真结果,消息优先级权重和是指
其中p
i是第i个预约消息是否预约成功的概率值,p
i∈{0,1},p
i=1代表第i个预约消息预约成功,p
i=0代表第i个预约消息预约失败。
图6为预约成功的消息速率权重和的仿真结果图,消息速率权重和是指
从图4、5、6中可以看出本发明提出的D-TDMA时隙预约方法由于加入了一次预约不成时的接入时隙数动态调整和再预约机制,因此无论是预约成功个数、还是预约成功的优先级权重和、速率权重和均优于“优先级+SOTDMA”和“SOTDMA”,而且预约消息数越多,优势越明显。这说明D-TDMA时隙预约方法也同样优于RATDMA和ITDMA。此外,由于“优先级+SOTDMA”只是在“SOTDMA”的基础上加入了优先级的考虑,而没有接入时隙数的动态调整,因此图4和图6中“优先级+SOTDMA”和“SOTDMA”性能几乎一样,而图5中“优先级+SOTDMA”的优先级效果稍好。
综上所述,本发明所公开的一种基于消息的优先级和速率的VDES时隙预约方法,无论是在消息预约成功个数上,还是在预约成功的消息优先级权重和、速率权重和上均优于已有的SOTDMA、RATDMA和ITDMA时隙预约方法。