本发明涉及通信技术领域,更进一步涉及无线通信技术领域中的一种自组织网络中支持多跳流式业务的时隙分配方法。本发明在自组织网络中传统时分多址技术tdma(timedivisionmultipleaccess)时隙分配的基础上,根据业务流的目的节点和带宽要求信息,寻找一条多跳业务流进行端到端统一时隙分配,进而达到提高端到端高吞吐量的目的。
背景技术:
时隙分配方法是tdma多址协议的关键技术,对于无线自组织网络来说,在传统的逐跳分配算法和集中式的分配算法均存在一定的问题,逐跳的分配算法会造成路径上出现瓶颈节点限制了路径上的整体带宽,集中式的分配算法需要汇聚所有的信息,造成网络资源浪费和计算节点运算能力受限。由于无线信道由各节点共享,节点之间的时隙资源存在相互交织的关系,因此对于多跳业务路径进行带宽量化和实现端到端带宽最大化分配成为实现的难点,对于提高自组网网络性能具有重要意义。
湖南智领通信科技有限公司在其申请的专利文献“一种无线自组网中用于计算带宽和分配带宽的方法基于多级帧结构的宽带自组网时隙资源动态分配方法”(专利申请号:201711248355.2,公开号:cn107949062a)中提出了一种无线自组网时隙分配的方法。该方法中主节点向子节点发送广播信息,子节点接收广播信息后,子节点进入静默接收状态,直到子节点有业务等待发送,子节点向主节点发送时隙请求帧,主节点接收子节点发送的时隙请求帧,利用在线时隙分配机制,为子节点的新请求分配时隙,主节点在下一个超帧中广播时隙分配方案。该方法存在的不足之处是,时隙分配工作由一个固定的主节点负责全网节点的时隙分配,对主节点计算能力需求较高,影响整个网络性能。
暨南大学在其申请的专利文献“一种满足实时带宽要求的时隙分配方法”(专利申请号:201611085682.6,公开号:cn106792972a)提出了一种三条链路时隙分配算法,在路由建立过程中以三跳链路为单位进行时隙分配,在三跳链路范围内对每一跳链路可用时隙集合的时隙进行干扰程度统计,统计每个时隙在三跳链路范围内出现的次数,在三跳链路范围内分配时隙时,选择可用时隙集合元素最少的链路,在该链路分配干扰程度最小的时隙。该方法仍然存在的不足之处是,节点间共享无线信道,两跳范围内的邻节点的时隙分配互相影响,仅考虑三跳链路范围进行时隙分配会造成多跳业务流端到端吞吐量低的问题。
技术实现要素:
本发明的目的在于针对上述现有技术的不足,提出一种自组织网络中支持多跳流式业务的时隙分配方法,以解决自组织网络中为多跳业务流端到端吞吐量低的问题。
实现本发明目的的思路是:目的节点根据多跳业务流中的所有节点的可用时隙信息,将路径上的节点划分节点集,以节点集为单位,通过节点集的量化带宽为节点集排序,按照优先为量化带宽小的节点集分配时隙的思想,按轮次为每个节点集内的所有节点分配时隙,最后将时隙分配结果规划到了多条业务流上所有的节点。
为实现上述目的,本发明的具体步骤如下:
步骤1,源节点触发时隙预约:
自组织网络中源节点的多址接入控制层mac,利用感知到的一条多跳业务流构造时隙预约请求sreq帧并广播发送出去,触发时隙预约;
步骤2,中间节点转发sreq帧:
中间节点接收到sreq帧,将该中间节点的节点号加入到sreq帧中路径节点信息中,将该中间节点的可用时隙集合加入到sreq帧中路径节点可用时隙集合信息中,得到一个新的sreq帧并广播发送出去;
步骤3,目的节点进行端到端时隙分配:
第1步,自组织网络中的目的节点从接收的sreq帧中提取路径节点信息、所有路径节点可用时隙集合信息和业务流需要带宽;
第2步,将路径节点信息中的所有节点按照从源节点到目的节点的顺序每三个节点划分为一个节点集,将最后不足三个节点也划分为一个节点集;
第3步,为路径节点信息中每个节点设置一个空的用于存放分配时隙的时隙集合;
第4步,根据每个节点集的量化带宽大小对节点集进行从小到大排序;
第5步,依次选择一个节点集作为当前节点集;
第6步,判断当前节点集中的可用时隙集合是否为空集合,若是,则执行第9步,否则,为当前节点集内每个节点分配一个时隙后执行第7步;
第7步,判断是否选完所有的节点集,若是,则执行第8步,否则,执行第5步;
第8步,判断路径节点信息中每个节点分配的时隙是否等于业务流需要带宽,若是,则执行第9步,否则,执行第4步;
第9步,完成目的节点进行端到端的时隙分配;
步骤4,规划时隙分配结果:
自组织网络中多跳业务流的目的节点将路径信息上所有节点的时隙集合和路径节点信息封装成的srep帧,从目的节点到源节点逐跳单播传输到路径信息上的所有节点。
本发明与现有的技术相比具有以下优点:
第一,由于本发明在目的节点进行端到端时隙分配时,每个目的节点在全网节点的时隙分配中一次只负责一条多跳路径上的所有节点的时隙分配,克服了现有技术中集中式时隙分配中主节点负责全网节点的时隙分配而导成的计算能力需求高和复杂度高的问题,使得本发明将全网的时隙分配任务分散到不同的目的节点上,提高了完成时隙分配的效率。
第二,由于本发明在目的节点进行端到端时隙分配时,目的节点根据路径上所有节点的时隙资源信息划分小的节点集合,以节点集合为单位进行端到端统一规划时隙资源,克服了现有技术中只依据局部三跳范围的信息进行时隙分配造成的多跳业务流端到端吞吐量低的问题,使得本发明降低了实现路径带宽的最大化时隙分配的复杂度,提高了多跳业务流端到端吞吐量。
附图说明
图1是本发明的流程图;
图2是本发明的目的节点端到端时隙分配的流程图;
图3是本发明划分节点集的示意图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,对本发明实现的具体步骤做进一步的描述。
步骤1,源节点触发时隙预约。
自组织网络中源节点的多址接入控制层mac,利用感知到的一条多跳业务流构造时隙预约请求sreq帧并广播发送出去,触发时隙预约。
所述的多跳业务流包含源地址、目的地址、业务流类型、源端口号、目的端口号和业务流需要带宽。
所述的构造时隙预约请求sreq帧指的是,将源地址、目的地址、业务流需要带宽、路径节点信息和路径节点的可用时隙集合信息封装为一个数据帧。
步骤2,中间节点转发sreq帧。
中间节点接收到sreq帧,将该中间节点的节点号加入到sreq帧中路径节点信息中,将该中间节点的可用时隙集合加入到sreq帧中路径节点可用时隙集合信息中,得到一个新的sreq帧并广播发送出去。
参照附图2,对本发明步骤3目的节点进行端到端时隙分配的具体步骤做进一步的描述。
步骤3,目的节点进行端到端时隙分配。
第1步,自组织网络中的目的节点从接收的sreq帧中提取路径节点信息、所有路径节点可用时隙集合信息和业务流需要带宽。
第2步,将路径节点信息中的所有节点按照从源节点到目的节点顺序每三个节点划分为一个节点集,将最后不足三个节点也划分为一个节点集。
参照附图3,对节点集的划分作进一步的描述。
图3中的每个小圆圈表示一个节点,圆圈内的数字表示节点的节点编号,每个虚线椭圆表示一个节点集,节点1、节点2和节点3组成节点集1,节点4、节点5和节点6组成节点集2,最后节点7组成节点集3。
第3步,为路径节点信息中每个节点设置一个空的用于存放分配时隙的时隙集合。
第4步,根据每个节点集的量化带宽大小对节点集进行从小到大排序。
所述的每个节点集的量化带宽是指每个节点集的一个最大带宽值,该值为每个节点集中所有节点节点可用时隙集合的并集时隙个数与节点集合内节点个数的比值取整的值。
第5步,依次选择一个节点集作为当前节点集。
第6步,判断当前节点集中的可用时隙集合是否为空集合,若是,则执行第9步,否则,为当前节点集内每个节点分配一个时隙后执行第7步。
所述的为当前节点集内每个节点分配一个时隙分为以下三种情况:
第一种,当前节点集内的节点个数为1,从节点集内节点的可用时隙集合中取出一个时隙添加到该节点的时隙集合中,并从该节点的两跳内邻节点每个节点的可用时隙集合中删除该时隙。
第二种,当前节点集内的节点个数为2,执行下述步骤:
按照下式,计算两个节点的可用时隙的公共集,各节点的独占时隙集合:
uxy=ux∩uy,dx=ux-uxy,dy=uy-uxy
其中,uxy表示当前节点集中第x个节点的可用时隙集合与当前节点集中第y个节点的可用时隙集合的公共集,ux表示当前节点集中第x个节点的可用时隙集合,∩表示集合交集符号,uy表示当前节点集中第y个节点的可用时隙集合,dx表示当前节点集中第x个节点的独占时隙集,dy表示当前节点集中第y个节点的独占时隙集。
如果当前节点集中第x个节点的独占时隙集dx非空,则从当前独占时隙集中取出一个时隙插入到当前节点集中第x个节点的时隙集合中,否则,从uxy中取出一个时隙插入到当前节点集中第x个节点的时隙集合中。
从当前节点的两跳内邻节点每个节点的可用时隙集合中删除取出的时隙。
采用与上述相同的方法对当前节点集中第y个节点做相同处理,完成当前节点集时隙分配。
第三种,当前节点集内的节点个数为3,执行下述步骤:
3.1.按照下式,分别计算三个节点的可用时隙的交集,两两节点的可用时隙的交集和各节点的独占时隙集合。
uijk=ui∩uj∩uk
uij=ui∩uj-uijk,uik=ui∩uj-uijk,ujk=uj∩uk-uijk
di=ui-uijk-uij-uik,dj=uj-uijk-uij-ujk,dk=uk-uijk-uik-ujk
其中,uijk表示当前节点集中第i个节点的可用时隙集合ui、当前节点集中第j个节点的可用时隙集合uj、当前节点集中第k个节点的可用时隙集合uk的交集,∩表示集合交集符号,uij表示当前节点集中第i个节点的可用时隙集合与当前节点集中第j个节点的可用时隙集合的两两节点公共可用时隙集,uik表示当前第i个节点的可用时隙集合与当前节点集中第k个节点的可用时隙集合的两两节点公共可用时隙集,ujk表示当前节点集中第j个节点的可用时隙集合与当前节点集中第k个节点的可用时隙集合的两两节点公共可用时隙集,di表示当前节点集中第i个节点的独占时隙集,dj表示当前节点集中第j个节点的独占时隙集,dk表示当前节点集中第k个节点的独占时隙集。
3.2.如果当前节点集中第i个节点的独占时隙集di非空,则从独占时隙集中取出一个时隙插入到当前节点集第i个节点的时隙集合中,否则,执行本步骤的3.3。
3.3.如果uij与uik均为非空,则从uij与uik中元素个数较多的两两节点公共可用时隙集中取出一个时隙插入到当前节点集中第i个节点的时隙集合中,否则,执行步骤3.4。
3.4.从uijk取出一个时隙插入到节点集中第i个节点的时隙集合中。
3.5.从当前节点的两跳内邻节点每个节点的可用时隙集合中删除该时隙。
3.6.采用与上述相同的方法对当前节点集中第j个节点和当前节点集中第k个节点做相同处理,完成当前节点集时隙分配。
第7步,判断是否选完所有的节点集,若是,则执行第8步,否则,执行第5步。
第8步,判断路径节点信息中每个节点分配的时隙是否等于业务流需要带宽,若是,则执行第9步,否则,执行第4步。
第9步,目的节点进行端到端时隙分配结束。
步骤4,规划时隙分配结果。
自组织网络中多跳业务流的目的节点将路径信息上所有节点的时隙集合和路径节点信息封装成的srep帧,从目的节点到源节点逐跳单播传输到路径信息上的所有节点。
1.一种自组织网络中支持多跳流式业务的时隙分配方法,其特征在于,将自组织网络中的每条多跳业务流产生业务流的节点作为源节点,将消费业务流的节点作为目的节点,将源节点和目的节点之间的转发节点作为中间节点;目的节点根据路径节点信息、路径节点可用时隙集合信息和业务流需要带宽,为业务流路径上所有节点划分节点集并为每个节点集内每个节点分配时隙,实现端到端统一时隙分配,该方法具体步骤包括如下:
步骤1,源节点触发时隙预约:
自组织网络中源节点的多址接入控制层mac,利用感知到的一条多跳业务流构造时隙预约请求sreq帧并广播发送出去,触发时隙预约;
步骤2,中间节点转发sreq帧:
中间节点接收到sreq帧,将该中间节点的节点号加入到sreq帧中路径节点信息中,将该中间节点的可用时隙集合加入到sreq帧中路径节点可用时隙集合信息中,得到一个新的sreq帧并广播发送出去;
步骤3,目的节点进行端到端时隙分配:
第1步,自组织网络中的目的节点从接收的sreq帧中提取路径节点信息、所有路径节点可用时隙集合信息和业务流需要带宽;
第2步,将路径节点信息中的所有节点按照从源节点到目的节点的顺序每三个节点划分为一个节点集,将最后不足三个节点也划分为一个节点集;
第3步,为路径节点信息中每个节点设置一个空的用于存放分配时隙的时隙集合;
第4步,根据每个节点集的量化带宽大小对节点集进行从小到大排序;
第5步,依次选择一个节点集作为当前节点集;
第6步,判断当前节点集中的可用时隙集合是否为空集合,若是,则执行第9步,否则,为当前节点集内每个节点分配一个时隙后执行第7步;
第7步,判断是否选完所有的节点集,若是,则执行第8步,否则,执行第5步;
第8步,判断路径节点信息中每个节点分配的时隙是否等于业务流需要带宽,若是,则执行第9步,否则,执行第4步;
第9步,完成目的节点进行端到端的时隙分配;
步骤4,规划时隙分配结果:
自组织网络中多跳业务流的目的节点将路径信息上所有节点的时隙集合和路径节点信息封装成的srep帧,从目的节点到源节点逐跳单播传输到路径信息上的所有节点。
2.根据权利要求1所述的自组织网络中支持多跳流式业务的时隙分配方法,其特征在于,步骤1中所述的多跳业务流包含源地址、目的地址、业务流类型、源端口号、目的端口号和业务流需要带宽。
3.根据权利要求1所述的自组织网络中支持多跳流式业务的时隙分配方法,其特征在于,步骤1中所述的构造时隙预约请求sreq帧指的是,将源地址、目的地址、业务流需要带宽、路径节点信息和路径节点的可用时隙集合信息封装为一个数据帧。
4.根据权利要求1所述的自组织网络中支持多跳流式业务的时隙分配方法,其特征在于,步骤3第4步中所述每个节点集的量化带宽是指每个节点集的一个最大带宽值,该值为每个节点集中所有节点节点可用时隙集合的并集时隙个数与节点集合内节点个数的比值取整的值。
5.根据权利要求1所述的自组织网络中支持多跳流式业务的时隙分配方法,其特征在于,步骤3第6步中所述为当前节点集内每个节点分配一个时隙的具体步骤如下:
第1步,如果当前节点集内的节点个数为1,从节点集内节点的可用时隙集合中取出一个时隙添加到该节点的时隙集合中,并从该节点的两跳内邻节点每个节点的可用时隙集合中删除该时隙;
第2步,如果当前节点集内的节点个数为2,则执行下述步骤:
2.1.按照下式,计算两个节点的可用时隙的公共集,各节点的独占时隙集合:
uxy=ux∩uy,dx=ux-uxy,dy=uy-uxy
其中,uxy表示当前节点集中第x个节点的可用时隙集合与当前节点集中第y个节点的可用时隙集合的公共集,ux表示当前节点集中第x个节点的可用时隙集合,∩表示集合交集符号,uy表示当前节点集中第y个节点的可用时隙集合,dx表示当前节点集中第x个节点的独占时隙集,dy表示当前节点集中第y个节点的独占时隙集;
2.2.如果当前节点集中第x个节点的独占时隙集dx非空,则从当前独占时隙集中取出一个时隙插入到当前节点集中第x个节点的时隙集合中,否则,从uxy中取出一个时隙插入到当前节点集中第x个节点的时隙集合中;
2.3.从当前节点的两跳内邻节点每个节点的可用时隙集合中删除取出的时隙;
2.4.采用与上述相同的方法对当前节点集中第y个节点做相同处理,完成当前节点集时隙分配;
第3步,如果当前节点集内的节点个数为3,则执行下述步骤:
3.1.按照下式,分别计算三个节点的可用时隙的交集,两两节点的可用时隙的交集和各节点的独占时隙集合:
uijk=ui∩uj∩uk
uij=ui∩uj-uijk
uik=ui∩uj-uijk
ujk=uj∩uk-uijk
di=ui-uijk-uij-uik
dj=uj-uijk-uij-ujk
dk=uk-uijk-uik-ujk
其中,uijk表示当前节点集中第i个节点的可用时隙集合ui、当前节点集中第j个节点的可用时隙集合uj、当前节点集中第k个节点的可用时隙集合uk的交集,∩表示集合交集符号,uij表示当前节点集中第i个节点的可用时隙集合与当前节点集中第j个节点的可用时隙集合的两两节点公共可用时隙集,uik表示当前第i个节点的可用时隙集合与当前节点集中第k个节点的可用时隙集合的两两节点公共可用时隙集,ujk表示当前节点集中第j个节点的可用时隙集合与当前节点集中第k个节点的可用时隙集合的两两节点公共可用时隙集,di表示当前节点集中第i个节点的独占时隙集,dj表示当前节点集中第j个节点的独占时隙集,dk表示当前节点集中第k个节点的独占时隙集;
3.2.如果当前节点集中第i个节点的独占时隙集di非空,则从当前独占时隙集中取出一个时隙插入到当前节点集中第i个节点的时隙集合中,否则,执行本步骤的3.3;
3.3.如果uij与uik均为非空,则从uij与uik中元素个数较多的两两节点公共可用时隙集中取出一个时隙插入到当前节点集中第i个节点的时隙集合中,否则,执行3.4;
3.4.从uijk取出一个时隙插入到节点集中第i个节点的时隙集合中;
3.5.从当前节点的两跳内邻节点每个节点的可用时隙集合中删除取出的时隙;
3.6.采用与上述相同的方法对当前节点集中第j个节点和当前节点集中第k个节点做相同处理,完成当前节点集时隙分配。
技术总结