一种支持传输时延优化的工业无线网络确定性调度方法与流程

文档序号:14726655发布日期:2018-06-19 10:44阅读:217来源:国知局

本发明属于工业无线网络通信技术领域,涉及一种支持传输时延优化的工业无线网络确定性调度方法。



背景技术:

随着工业物联网技术的不断发展,越来越多的工业无线网络被部署到工业现场,工业无线网络具有自组织,低功耗,易于升级和部署等特点,对于提高工厂的生产效率,以及安全生产具有重要意义。工业无线网络中通常包含大量的周期性数据,而且具有一定的截止时间约束,由于工业无线网络设备的计算能力有限,以及单天线对节点通信的限制,如何为网络中的数据流合理高效地分配时隙和信道资源是一个重要的研究内容。

工业无线网络中一般使用多信道时分多址技术来提供确定性调度需求,无线网络中的通信资源包括时隙和信道资源,以及端到端的路径,而确定性调度的主要任务是合理地分配通信资源,避免网络中的链路发生传输冲突,使网络中的数据流都可以在截止时间前到达目的节点,从而目的节点可以对传感数据和控制数据做出及时正确的响应。此外,在工业环境中,由于无线网络的信道更易于受到环境的干扰和衰落的影响,网络中的数据流不仅要满足确定性需求,而且希望能够减少数据流的传输时延,使数据更快地到达目的节点,目的设备可以有充足的时间处理重要数据链路传输失败等意外情况,有些控制应用需要多个现场节点的测量数据作为输入,最早到达的测量数据需要等待最后一个数据到达后才能进行控制动作,因此,面向工业无线网络的调度方法在满足网络数据流确定性传输的需求前提下,还需要考虑对网络数据流的平均传输时延进行优化。

在工业无线通信技术中,以往基于时隙调度的研究大都集中在网络单信道的情况,然后结合数据聚合或者能量高效等目标进行研究,对于多信道技术下的研究大多单纯考虑使网络中的数据流满足确定性传输的需求,而没有考虑对网络数据流的平均传输时延进行优化。此外大部分关于工业无线网络确定性调度的研究只提供了一种算法,没有针对不同的网络规模进行算法优化设计,在面对不同网络规模时调度成功率和执行时间表现不一致,从而影响网络的性能。

针对工业无线网络确定性调度的需求,以及现有研究的不足,本发明提出一种支持传输时延优化的工业无线网络确定性调度方法,包括面向小规模网络基于链路冲突分类的分支限界搜索方法,以及面向大规模网络的基于最大并行传输的启发式调度算法,提出的方法在满足网络中数据流确定性传输需求的同时,还可以降低网络数据流的平均传输时延,提升网络整体的通信性能,以及对于不同规模的网络提供不同的性能。



技术实现要素:

有鉴于此,本发明的目的在于提供一种支持传输时延优化的工业无线网络确定性调度方法,该方法采用多信道时分多址技术,包括面向小规模网络基于链路冲突分类的分支限界法,以及面向大规模网络基于最大并行传输的启发式调度算法,通过合理的分配时隙和信道资源给网络中的传输链路,解决工业网络中周期性数据流端到端确定性传输需求,同时能够降低网络数据流的平均传输。

为达到上述目的,本发明提供如下技术方案:

一种支持传输时延优化的工业无线网络确定性调度方法,该方法为:首先获取待调度网络的参数,包括数据流的数量N及具体传输路径,每条数据流的周期时间和相对截止时间,以及网络中可用的信道个数M,网络的超帧周期T,然后根据网络规模的大小,执行不同的算法,小规模网络使用基于链路冲突分类的分支限界算法,而大规模的网络使用基于最大并行传输的启发式调度算法,以期达到在调度解获取成功率和执行时间之间的折中选择。

进一步,所述基于链路冲突分类的分支限界算法包括两个剪枝条件:和在第一个剪枝条件中,Di,j表示当前数据流i产生的第j个报文的绝对截止时隙,t表示当前正在调度的时隙,表示数据流i第j个报文沿着传输路径上剩余未调度的链路个数,第一个剪枝条件表示待调度数据流满足时间裕度和剩余链路个数的限制;在第二个剪枝条件中,表示在当前时隙待调度数据流i的剩余所有未调度的链路,conf(τi,j)表示链路τi,j的生命窗口松散度,计算方式为:|τi,j的生命窗口|-max(与τi,j冲突的链路个数,ceil(生命窗口包含于τi,j的生命窗口内的其他链路个数/信道总个数)),其中ceil()是向上取整函数,|τi,j的生命窗口|的起始时间为τi,j的可能调度的最早时隙,终止时间为τi,j最晚被调度的时隙,条件二表示调度满足时间裕度与链路冲突和信道竞争的限制条件;基于链路冲突分类的分支限界算法的具体步骤如下:

1)获取待调度网络的参数,包括数据流的数量N及具体传输路径,每条数据流的周期时间和相对截止时间,以及网络中可用的信道个数M,网络的超帧周期T;

2)初始化一个空结点作为解空间树的初始父节点,并初始化当前时隙t=1;

3)判断当前时隙t是否小于超帧周期T,若t>T,表示网络已经不可能在超帧周期内完成调度,返回网络不可调度信息,结束算法;若t≤T,且网络中不存在未调度的链路,表示当前调度算法已经获得一条调度解,则返回网络的调度解信息,结束运行;若t≤T,并且网络中仍然存在未调度的链路,表示网络处于正在调度的过程中,则进入步骤4);

4)对当前时隙t处于释放态的链路按照链路冲突进行分类,其中释放态链路指的是数据报文已经存储在链路的发送节点中,若在当前时隙t调度该链路,该链路进行传输动作;在对链路进行冲突分类时,所有相互冲突的释放态链路组成一个冲突类,每个释放态链路只能属于一个冲突类,而每个冲突类至少包含一个链路;然后对每个冲突类内的每条链路所属数据流都按照表达式计算优先级,表达式的值越小,表示优先级越高,按照该优先级对冲突类的所有释放态链路排序,最后对所有冲突类进行优先级排序,排序方法为按照每个冲突类内所有链路的优先级求平均值,平均值小的优先级高;统计当前时隙链路冲突类个数,记为num;

5)若信道个数M>num,则总共有种组合,其中k∈{num,…,1},每个组合中包含k个冲突类,在每个冲突类中依次选取优先级高的链路,若这些链路互不冲突,则称为一个有效调度子集,如果该有效调度子集满足所述的两个剪枝条件,表示在当前时隙的不同信道进行调度,则安排链路S[t][m]=n,其中m∈{1,…,M},表示信道的偏移,n∈{1,…,N},表示链路所属数据流的编号;若链路存在冲突,则从优先级最小的冲突类内,选择另一条优先级次小的链路,若优先级最小的冲突类已经是最后一条链路,则从次小的类中选择一条次小的优先级,同时最小的类从优先级最高的链路开始选择,以此类推,对当前组合的k个冲突类进行全遍历,如果当前组合内没有找到多余的有效调度子集或者不满足剪枝条件,则在种另外的组合中继续遍历,直到找到满足条件的有效调度子集,否则进入步骤6)进行回溯;若信道个数M≤num,则总共有种组合,其中k∈{M,…,1},调度过程和M>num时一样;

6)当时隙t遍历了种组合后仍然没有找到满足剪枝条件的链路,则开始进行回溯;回溯时,令t=t-1,重置原先在当前时隙安排的所有链路,即然后继续从回溯后的组合中遍历其余的有效调度子集,若不存在,则在剩余组合中继续遍历可行解,当找到一个满足剪枝条件的有效调度子集,则重新设置新的S[t][m]=n,然后令t=t+1,进入步骤3);如果在解空间树中回溯一次后仍然没有找到满足剪枝条件的有效调度子集,则继续执行t=t-1,然后继续进入步骤6)中回溯。

进一步,所述基于最大并行传输的启发式调度算法,在每个时隙t都对处于释放态的每一条链路计算与之冲突的释放态链路个数,并计算每条链路的时间松散度,计算方式为Di,j表示当前数据流i产生的第j个报文的绝对截止时隙,t表示当前正在调度的时隙,表示数据流i第j个报文沿着传输路径上剩余未调度的链路个数,时间松散度为0表示当前链路必须要在当前时隙进行调度,以及该链路所属数据流的后续未调度链路都要依次在后续时隙上立即调度,若存在松散度小于0的链路,则表示数据流已经超过绝对截止时隙的限制,因此网络不可调度,结束算法运行;在链路调度时,首先调度松散度为0的链路,然后调度链路冲突个数最小的链路,具体的步骤如下:

1)获取待调度网络的参数,包括数据流的数量N及具体传输路径,每条数据流的周期时间和相对截止时间,以及网络中可用的信道个数M,网络的超帧周期T,初始化当前时隙t=1;

2)判断当前时隙t是否小于超帧周期T,若t>T,表示网络已经不可能在超帧周期内完成调度,返回网络不可调度信息,结束算法;若t≤T,且网络中不存在未调度的链路,表示当前调度算法已经获得一条调度解,则返回网络的调度解信息,结束运行;若t≤T,并且网络中仍然存在未调度的链路,表示网络处于正在调度的过程中,则进入步骤3);

3)对于在当前时隙t处于释放态的所有链路,分别计算与之冲突的释放态链路个数,以及根据计算时间松散度,如果存在任意一条链路的松散度小于0,则直接返回网络不可调度信息,结束算法;

4)首先统计松散度为0的链路个数,表示为laxity0,若laxity0>M,表示当前信道个数不足以容纳laxity0个松散度为0的链路,而松散度为0的链路必须在当前时隙调度,因此,返回网络不可调度信息;若laxity0≤M,但是laxity0个链路中存在相互冲突的链路,则表示冲突的链路中至少有一条不能在当前时隙调度,因此返回不可调度信息;若不是以上两种情况,则在当前时隙t优先安排以上laxity0个链路,设置S[t][m]=n,其中m∈{1,…,M},表示信道的偏移,n∈{1,…,N},表示链路所属数据流的编号;

5)如果M-laxity0=0,表示网络可用信道已经全部安排给松散度为0的链路,令t=t+1,返回到步骤2);否则,表示当前存在M-laxity0个可用信道,此时优先调度冲突个数少的链路,若存在冲突个数大小一样的链路且可用信道少于这些链路个数,则从中选择那些具有较小时间松散度的链路,若最小松散度仍然不能选择,则比较所属数据流的绝对截止时间,绝对截止时间越小,优先及越大,若此时仍然不能选择,则按照链路所属数据流的序号进行选择,设置S[t][m]=n,然后令t=t+1,返回到步骤2)继续执行调度。

本发明的有益效果在于:

1)针对工业无线网络所面临的实时传输调度问题,本发明采用多信道时分多址技术对网络进行确定性调度。针对小规模的网络,提出采用基于链路冲突分类的分支限界调度算法,对冲突的链路进行分类,通过两个剪枝条件的判断,当网络中切实存在可行的调度解时,该方法可以确保在解空间树中搜索到可行解,该方法具有最优的调度成功率。针对分支限界算法在大规模网络应用时,存在执行时间过长的问题,本发明提出面向大规模网络基于最大并行传输的启发式调度算法,通过对链路冲突度,时间松散度和绝对截止时间的联合调度,能够以较短的时间获得较高的调度成功率,使网络中的数据流满足截止时间的要求。

2)相比于现有的工业无线网络确定性调度方案,本发明所提供的调度方法除了能够满足数据流确定性传输需求外,还通过尽可能多的在同一时隙安排链路的方式,降低了网络的平均传输时延。

3)本发明提出的一种支持传输时延优化的工业无线网络确定性调度算法,通过对网络多信道资源的利用,以及采用并行链路优先调度的方法,能够提高无线网络的吞吐能力,改善网络的通信性能。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明所述一种支持传输时延优化的工业无线网络确定性调度算法流程图;

图2为本发明所述工业无线网络数据流示意图;

图3为本发明所述未调度链路的生命窗口示意图;

图4为本发明所述面向小规模网络基于链路冲突分类的分支限界法示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

图1描述的是一种支持传输时延优化的工业无线网络确定性调度算法的工作过程。该方法涉及两种面向不同网络规模的调度方法,包括适用于小规模工业无线网络的基于链路冲突分类的分支限界法,以及适用于大规模网络的基于最大并行传输的启发式调度算法:

在小规模工业无线网络中,利用基于链路冲突分类的分支限界方法,在每个时隙对释放态链路根据冲突分类,根据网络信道个数与冲突类个数构造所有组合,在每个组合中选择有效的调度子集,然后对其进行剪枝条件判断,根据判断结果在解空间树中不断搜索回溯,该方法是一种最优算法,当网络存在可行解时,该方法一定可以搜索到一个调度解,从而满足网络所有数据流确定性传输需求的调度解,同时对链路冲突进行分类,在每个时隙优先搜索包含冲突类个数大的组合;在大规模的工业无线网络中,使用基于最大并行传输的启发式调度算法,通过计算每个时隙下每条释放态链路的冲突度,时间松散度和当前周期的绝对截止时间,对链路的冲突度,松散度和绝对截止时间进行联合调度,优先调度冲突度小的链路,算法能够在较短的时间内获得网络的调度可行解。

上述针对工业无线网络的确定性调度方法,研究的工业无线网络包含的可用信道个数固定,网络中包含多条数据流,且数据流具有以下属性:数据流具有固定的传输路径,传输路径中必须含有网关节点;数据流具有周期性,每条数据流在网络中周期性的产生数据;周期性数据在每个周期内具有截止时间的限制,需要在截止时间内到达目的结点。调度方法以时隙为单位,在超帧周期内进行一次完整的调度,超帧周期的大小等于网络中所有数据流周期的最小公倍数。

本发明总体技术方案包括:首先获取待调度网络的参数,包括数据流的数量N及具体传输路径,每条数据流的周期时间和相对截止时间,以及网络中可用的信道个数M,网络的超帧周期T,然后根据网络规模的大小,执行不同的算法,小规模网络使用分支限界算法,而大规模的网络使用启发式调度算法,以期达到在调度解获取成功率和执行时间之间的折中选择。

一、在小规模网络中,采用基于链路冲突分类的分支限界算法,包括两个剪枝条件:和第一个剪枝条件表示待调度数据流应该满足时间裕度和剩余链路个数的限制,条件二表示调度应该满足时间裕度与链路冲突和信道竞争的限制条件,具体步骤如下:

1)获取待调度网络的参数,包括数据流的数量N及具体传输路径,每条数据流的周期时间和相对截止时间,以及网络中可用的信道个数M,网络的超帧周期T;

2)初始化一个空结点作为解空间树的初始父节点,并初始化当前时隙t=1;

3)判断当前时隙t是否小于超帧周期T,若t>T,表示网络已经不可能在超帧周期内完成调度,返回网络不可调度信息,结束算法;若t≤T,且网络中不存在未调度的链路,表示当前调度算法已经获得一条调度解,则返回网络的调度解信息,结束运行;若t≤T,并且网络中仍然存在未调度的链路,表示网络处于正在调度的过程中,则进入步骤4);

4)对当前时隙t处于释放态的链路按照链路冲突进行分类,其中释放态链路指的是数据报文已经存储在链路的发送节点中,若在当前时隙t调度该链路,该链路可以顺利的进行传输动作。在对链路进行冲突分类时,所有相互冲突的释放态链路组成一个冲突类,每个释放态链路只能属于一个冲突类,而每个冲突类至少包含一个链路。然后对每个冲突类内的每条链路所属数据流都按照表达式计算优先级,表达式的值越小,表示优先级越高,按照该优先级对冲突类的所有释放态链路排序,最后对所有冲突类进行优先级排序,排序方法为按照每个冲突类内所有链路的优先级求平均值,平均值小的优先级高。统计当前时隙链路冲突类个数,记为num;

5)若信道个数M>num,则总共有种组合,其中k∈{num,…,1},每个组合中包含k个冲突类,在每个冲突类中依次选取优先级高的链路,若这些链路互不冲突,则称为一个有效调度子集,如果该有效调度子集满足所述的两个剪枝条件,表示可以在当前时隙的不同信道进行调度,则安排链路S[t][m]=n,其中m∈{1,…,M},表示信道的偏移,n∈{1,…,N},表示链路所属数据流的编号;若链路存在冲突,则从优先级最小的冲突类内,选择另一条优先级次小的链路,若优先级最小的冲突类已经是最后一条链路,则从次小的类中选择一条次小的优先级,同时最小的类从优先级最高的链路开始选择,以此类推,对当前组合的k个冲突类进行全遍历,如果当前组合内没有找到多余的有效调度子集或者不满足剪枝条件,则在种另外的组合中继续遍历,直到找到满足条件的有效调度子集,否则进入步骤6)进行回溯。若信道个数M≤num,则总共有种组合,其中k∈{M,…,1},调度过程和M>num时一样;

6)当时隙t遍历了种组合后仍然没有找到满足剪枝条件的链路,则开始进行回溯。回溯时,令t=t-1,重置原先在当前时隙安排的所有链路,即然后继续从回溯后的组合中遍历其余的有效调度子集,若不存在,则在剩余组合中继续遍历可行解,当找到一个满足剪枝条件的有效调度子集,则重新设置新的S[t][m]=n,然后令t=t+1,进入步骤3)。如果在解空间树中回溯一次后仍然没有找到满足剪枝条件的有效调度子集,则继续执行t=t-1,然后继续进入步骤6)中回溯。

二、在大规模网络中,采用基于最大并行传输的启发式调度算法,具体步骤如下:

1)获取待调度网络的参数,包括数据流的数量N及具体传输路径,每条数据流的周期时间和相对截止时间,以及网络中可用的信道个数M,网络的超帧周期T,初始化当前时隙t=1;

2)判断当前时隙t是否小于超帧周期T,若t>T,表示网络已经不可能在超帧周期内完成调度,返回网络不可调度信息,结束算法;若t≤T,且网络中不存在未调度的链路,表示当前调度算法已经获得一条调度解,则返回网络的调度解信息,结束运行;若t≤T,并且网络中仍然存在未调度的链路,表示网络处于正在调度的过程中,则进入步骤3);

3)对于在当前时隙t处于释放态的所有链路,分别计算与之冲突的释放态链路个数,以及根据计算时间松散度,如果存在任意一条链路的松散度小于0,则直接返回网络不可调度信息,结束算法;

4)首先统计松散度为0的链路个数,表示为laxity0,若laxity0>M,表示当前信道个数不足以容纳laxity0个松散度为0的链路,而松散度为0的链路必须在当前时隙调度,因此,返回网络不可调度信息;若laxity0≤M,但是laxity0个链路中存在相互冲突的链路,则表示冲突的链路中至少有一条不能在当前时隙调度,因此返回不可调度信息;若不是以上两种情况,则在当前时隙t优先安排以上laxity0个链路,设置S[t][m]=n,其中m∈{1,…,M},表示信道的偏移,n∈{1,…,N},表示链路所属数据流的编号;

5)如果M-laxity0=0,表示网络可用信道已经全部安排给松散度为0的链路,令t=t+1,返回到步骤2);否则,表示当前存在M-laxity0个可用信道,此时优先调度冲突个数少的链路,若存在冲突个数大小一样的链路且可用信道少于这些链路个数,则从中选择那些具有较小时间松散度的链路,若最小松散度仍然不能选择,则比较所属数据流的绝对截止时间,绝对截止时间越小,优先及越大,若此时仍然不能选择,则按照链路所属数据流的序号进行选择,设置S[t][m]=n,然后令t=t+1,返回到步骤2)继续执行调度。

图2是工业无线网络数据流的示意图,本发明所涉及的数据流是从源节点开始经过网关到达另一个不同于源节点的现场结点作为目的结点,或者目的结点是网关,图2中绘制了两个数据流,数据流1的源节点是现场结点c,经过网关g到达目的结点k,数据流2的源节点是现场结点a,而目的结点是网关g。

图3是未调度链路的生命窗口示意图,对于未调度链路τk=(u,v),u是发送节点,v是接收节点,数据流i的第j个周期报文的起始时隙表示为Ri.j,其绝对截止时隙为Di,j,当前时隙t位于节点x,节点x到节点u的跳数为prek,s,即报文从节点x传输到u至少需要的时隙个数,节点v距离目的节点d的跳数为postk,因此链路τk的生命窗口可以表示为:|τk的生命窗口|=|rk,dk|=|t+prek,s,Di,j-postk|,表示τk调度时间不能早于rk,同时不能晚于dk。

图4是面向小规模网络基于链路冲突分类的分支限界法示意图,在时隙t=2时,当前父结点为n21,经过遍历时隙t=3所有的组合,没有搜索到满足剪枝条件的可行解,于是开始回溯到t=1继续进行遍历,此时找到第一个满足剪枝条件的结点n2i,对该结点内的链路集合进行调度,然后以n2i为父节点继续搜索,直到搜索到第一个满足剪枝条件结点n3j,然后设置n3j为父节点,此时判断是否满足t≤T且存在未调度链路,其中T为超帧时间,若满足,则继续向下搜索,若不满足且t>T,则直接返回不可调度信息,否则表示已经搜索到一个可行调度解,返回网络调度结果,结束算法运行。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1