一种运用多线程技术实现的路由频谱分配方法与流程

文档序号:11263612阅读:183来源:国知局
一种运用多线程技术实现的路由频谱分配方法与流程

本发明涉及路由技术领域,特别是指一种运用多线程技术实现的路由频谱分配方法。



背景技术:

在传统的网络互联上,ip分组网络和光网络是相互独立运营的,ip层集群路由技术的发展在很大程度上提升了骨干路由器的缓存能力和交换容量,弹性光网络不仅实现了大容量、超长距的传送,还拥有低时延的特点,通过对频谱的灵活利用,提高了网络中的资源利用率,但是ip分组网络和光网络分开的维护和管理,造成了资源的浪费,使得网络建设维护复杂度和成本越来越高。现有技术中(yangh,zhangj,zhaoy,etal.performanceevaluationofmulti-stratumresourcesintegratedresilienceforsoftwaredefinedinter-datacenterinterconnect[j].opticsexpress,2015,23(10):13384-13398.)提出了基于sdn的ip网和光网络联合控制的网络构架,在这个构架中,控制和转发被分离,sdn控制器通过openflow协议被扩展到光层,实现ip网和光网络的统一管理。现有技术中(yangh,zhangj,zhaoy,etal.softwaredefinedclustered-opticalaccessnetworkingforubiquitousdatacenteropticalinterconnection[a].ieeeicnc’16[c].newyork,usa,2016:1-5.)还提出了数据中心的跨层联合优化统一控制架构,中心sdn控制器中维护了全网络的拓扑资源信息,使得全网的管理和控制集中在了中心sdn控制器中,实现了ip层和光层资源的交互,从而消除不同网络层级之间的信息闭塞,实现ip层和光层资源的联合优化。中心sdn控制器通过分析业务粒度和当前网络资源,决定ip层和光层中那些资源更适合为新业务请求提供服务,以此来提高运维和资源使用效率,降低网络运营成本,提高服务跨层恢复和业务请求的快速响应能力,但是由于ip数据业务具有突发、不确定等特性,当ip层业务量激增的时候,ip层的突发业务被疏导到光层,这要求光网络对业务请求的光路能够快速建立,而在光网络中,当短时突发大量业务请求,尽管频谱资源充足,由于业务请求大量聚集,光网络控制器没办法及时为业务请求建立光路,业务请求排队时延逐渐增加,这严重影响网络的时延性能。网络的时延性能劣化将引起业务连接重路由或通信过程中信令应答异常,影响信号传输的可靠性,间接导致网络的吞吐量下降,进而减少网络资源利用率;网络时延性能若不能满足要求,用户体验质量(qualityofexperience,qoe)将无法提升,此时仅提高带宽无法从根本上解决上述问题。

华为技术预先在光网络单元上设置波长分配表,根据光网络单元所在的服务提供商,通过波长分配表,获得与光网络单元所在的服务提供商对应的波长信息,根据光网络单元所在的服务提供商对应的波长信息,发送或者接收光信号,简化了波长分配的流程,降低波长分配时延,提高了用户体验质量;中兴通讯在当前网络拓扑中对业务进行波长路由分配时,删除达到预定阈值的节点或光纤,动态调整网络拓扑,使得在业务量较大的情况下,排在后面的业务由于可用的网络拓扑规模越来越小,因此对业务进行波长路由分配的速度也会越来越快,从而降低了整体算法的时间复杂度,减少波长路由的时间,提高算法效率,提升了用户体验质量,上述算法虽取得很好的效果,但是由于算法逐个为业务请求建立光路,在业务量较大的场景,光路的建立时延较长。



技术实现要素:

有鉴于此,本发明提出一种运用多线程技术实现的路由频谱分配方法,其能够充分地利用网络中的资源,减小数据链路建立时延,提升用户体验质量。

基于上述目的,本发明提供的技术方案是:

一种运用多线程技术实现的路由频谱分配方法,该方法使用多个线程同时为多个业务请求建立数据链路,线程使用资源的单位为资源集合,线程使用资源的约束条件连续变化,单个线程使用的资源间具有多个维度的关系,该方法的具体步骤为:

(1)初始化系统g(v,e)、全局临界区、全局变量和线程函数;

(2)判断r(i,j,nslot)中是否有业务请求,没有则跳转到步骤(16);

(3)首先判断线程号和g*(v*,e*)中点是否互斥,互斥则跳转到步骤(12);

(4)判断当前线程对应的业务请求是否处理完成,全部业务处理完成则置当前线程任务结束标志,跳转到步骤(12);

(5)从r(i,j,nslot)里找出源节点为线程号,源节点、目的节点和g*(v*,e*)不互斥的业务请求,记录查找位置,如果没有找到则跳转到步骤(12);

(6)线程在g(v,e)上得到最短路径,判断最短路径上的全部节点是否和g*(v*,e*)互斥,互斥则跳转到步骤(12);

(7)进入全局临界区,判断最短路径上的全部节点是否和g*(v*,e*)互斥,如果互斥则离开全局临界区,跳转步骤(12);不互斥将最短路径上的全部节点用线程号着色,同时将着色后的点加入g*(v*,e*),重构g’(v’,e’),离开全局临界区;

(8)判断最短路径上的频谱资源是否能支撑数据链路的建立,如果不能则阻塞业务,累计业务请求方案确立的总时间,跳转到步骤(11);

(9)将最短路径上的边用线程号着色,将着色后的边加入g*(v*,e*),重构g’(v’,e’);

(10)为数据链路分配频谱资源,刷新路径边的频谱资源,将最短路径上的边从g*(v*,e*)中删除,累计业务请求方案确立的总时间;

(11)将线程号着色的点从g*(v*,e*)中删除,刷新g’(v’,e’);

(12)执行时间片函数;

(16)方法结束;

其中,g(v,e)表示网络的物理拓扑,v为节点集合,e为边集合;g*(v*,e*)表示着色虚拟拓扑,v*为着色节点集合,e*为着色边集合;g’(v’,e’)表示可用虚拟拓扑,v’为可用节点集合,e’为可用边集合;r(i,j,nslot)表示从节点i到节点j的业务请求,需nslot个频隙。

可选的,上述方法中的线程使用资源的单位为资源集合是指,线程对资源的占用为一个或多个资源的集合,线程对集合中资源全部占用或全部不用;上述方法中的线程使用资源的约束条件连续变化是指,约束条件在资源使用的过程中由多个线程的资源使用形成且连续动态变化;上述方法中的单个线程使用的资源间具有多个维度的关系是指,资源集合是由能满足具体任务的多个维度的资源确定的。

可选的,上述方法中分配路由频谱时的约束条件为:被标记的点或边在多线程资源使用时不能被使用。

可选的,上述方法中步骤(12)后还包括:

(13)拒绝的rl是否达到ru,达到上限,全部路由频谱计算线程休眠,长距离线程为rl计算路由频谱分配方案,否则跳转到步骤(2);

(14)为rl计算路由频谱分配方案,直到rl低于rd;

(15)r(i,j,nslot)中有业务请求则跳转到步骤(2);

其中,rl表示长距离业务请求个数;ru表示长距离业务请求上限;rd表示长距离业务请求下限。

可选的,该方法的时延模型的计算公式为:

a(nr)=t×(nr/nth+1)/2;

其中,nr表示业务请求个数,nth表示线程的个数,t表示为一个业务请求建立数据链路的时延,a(n)表示n个业务请求的平均数据链路建立时延。

从上面的叙述可以看出,本发明技术方案的有益效果在于:

本发明的方法能够被运用到所有涉及多线程同时使用路由和频谱资源的网络中,例如光纤通信网(简称光网络)或无线网络。本发明方法的实质是频谱资源互斥,但如果只用频谱资源作为互斥信号量,大量的读写操作将降低频谱资源的使用效率,因此本发明方法将路径上各边的频谱资源信号量聚合成各个边信号量,将路径上所有的边信号量作为一个集合在临界区中进行判断。此外,本发明方法把路径上用到的点作为互斥信号量,来减少对边互斥信号量的占用时间,这是因为,如果只用边集合作为资源使用约束条件,容易产生类似于银行家算法的死锁问题;临界区和边信号量集的组合逻辑也可实现资源互斥使用,但是在网络规模较大时,查找路径不重合的业务请求效率不高。

总之,本发明方法用点信号量做路由的分配,用边信号量做频谱资源的分配,由于只有在着色虚拟拓扑中,且颜色相同的节点间的边资源才能被对应的线程判断频谱资源是否充足,本发明方法通过点互斥规避了secm-rsa(singleedgeconstraintmultithreadrsa,单边约束多线程路由频谱分配算法)中多个线程对同一条边的资源重复判断和无效占用。本发明方法在一次没有成功进行路由频谱分配时,能及时刷新着色虚拟拓扑,释放路径上着色的节点,减少对边信号量的操作和频谱资源的占用,降低时延。

附图说明

为了更加清楚地描述本专利,下面提供一幅或多幅附图,这些附图旨在对本专利的背景技术、技术原理和/或某些具体实施方案做出辅助说明。需要注意的是,这些附图可以给出也可以不给出一些在本专利文字部分已有描述且属于本领域普通技术人员公知常识的具体细节;并且,因为本领域的普通技术人员完全可以结合本专利已公开的文字内容和/或附图内容,在不付出任何创造性劳动的情况下设计出更多的附图,因此下面这些附图可以涵盖也可以不涵盖本专利文字部分所叙述的所有技术方案。此外,这些附图的具体内涵需要结合本专利的文字内容予以确定,当本专利的文字内容与这些附图中的某个明显结构不相符时,需要结合本领域的公知常识以及本专利其他部分的叙述来综合判断到底是本专利的文字部分存在笔误,还是附图中存在绘制错误。特别地,以下附图均为示例性质的图片,并非旨在暗示本专利的保护范围,本领域的普通技术人员通过参考本专利所公开的文字内容和/或附图内

容,可以在不付出任何创造性劳动的情况下设计出更多的附图,这些新附图所代表的技术方案依然在本专利的保护范围之内。

图1是美国国家科学基金会的网络拓扑图;

图2是传统rsa算法的节点锁定时序;

图3是本发明方法的一种节点锁定时序;

图4是时间点t+1的着色虚拟拓扑;

图5是时间点t+1的可用虚拟拓扑;

图6是时间点t+5的可用虚拟拓扑;

图7是本发明实施例中的一种方法流程图。

具体实施方式

为了便于本领域技术人员对本专利技术方案的理解,同时,为了使本专利的技术目的、技术方案和有益效果更加清楚,并使权利要求书的保护范围得到充分支持,下面以具体案例的形式对本专利的技术方案做出进一步的、更详细的说明。

一种运用多线程技术实现的路由频谱分配方法,该方法使用多个线程同时为多个业务请求建立数据链路,线程使用资源的单位为资源集合,线程使用资源的约束条件连续变化,单个线程使用的资源间具有多个维度的关系,该方法的具体步骤为:

(1)初始化系统g(v,e)、全局临界区、全局变量和线程函数;

(2)判断r(i,j,nslot)中是否有业务请求,没有则跳转到步骤(16);

(3)首先判断线程号和g*(v*,e*)中点是否互斥,互斥则跳转到步骤(12);

(4)判断当前线程对应的业务请求是否处理完成,全部业务处理完成则置当前线程任务结束标志,跳转到步骤(12);

(5)从r(i,j,nslot)里找出源节点为线程号,源节点、目的节点和g*(v*,e*)不互斥的业务请求,记录查找位置,如果没有找到则跳转到步骤(12);

(6)线程在g(v,e)上得到最短路径,判断最短路径上的全部节点是否和g*(v*,e*)互斥,互斥则跳转到步骤(12);

(7)进入全局临界区,判断最短路径上的全部节点是否和g*(v*,e*)互斥,如果互斥则离开全局临界区,跳转步骤(12);不互斥将最短路径上的全部节点用线程号着色,同时将着色后的点加入g*(v*,e*),重构g’(v’,e’),离开全局临界区;

(8)判断最短路径上的频谱资源是否能支撑数据链路的建立,如果不能则阻塞业务,累计业务请求方案确立的总时间,跳转到步骤(11);

(9)将最短路径上的边用线程号着色,将着色后的边加入g*(v*,e*),重构g’(v’,e’);

(10)为数据链路分配频谱资源,刷新路径边的频谱资源,将最短路径上的边从g*(v*,e*)中删除,累计业务请求方案确立的总时间;

(11)将线程号着色的点从g*(v*,e*)中删除,刷新g’(v’,e’);

(12)执行时间片函数;

(16)方法结束;

其中,g(v,e)表示网络的物理拓扑,v为节点集合,e为边集合;g*(v*,e*)表示着色虚拟拓扑,v*为着色节点集合,e*为着色边集合;g’(v’,e’)表示可用虚拟拓扑,v’为可用节点集合,e’为可用边集合;r(i,j,nslot)表示从节点i到节点j的业务请求,需nslot个频隙。

可选的,上述方法中的线程使用资源的单位为资源集合是指,线程对资源的占用为一个或多个资源的集合,线程对集合中资源全部占用或全部不用;上述方法中的线程使用资源的约束条件连续变化是指,约束条件在资源使用的过程中由多个线程的资源使用形成且连续动态变化;上述方法中的单个线程使用的资源间具有多个维度的关系是指,资源集合是由能满足具体任务的多个维度的资源确定的。

可选的,上述方法中分配路由频谱时的约束条件为:被标记的点或边在多线程资源使用时不能被使用。

可选的,上述方法中步骤(12)后还包括:

(13)拒绝的rl是否达到ru,达到上限,全部路由频谱计算线程休眠,长距离线程为rl计算路由频谱分配方案,否则跳转到步骤(2);

(14)为rl计算路由频谱分配方案,直到rl低于rd;

(15)r(i,j,nslot)中有业务请求则跳转到步骤(2);

其中,rl表示长距离业务请求个数;ru表示长距离业务请求上限;rd表示长距离业务请求下限。

可选的,该方法的时延模型的计算公式为:

a(nr)=t×(nr/nth+1)/2;

其中,nr表示业务请求个数,nth表示线程的个数,t表示为一个业务请求建立数据链路的时延,a(n)表示n个业务请求的平均数据链路建立时延。

下面以美国国家科学基金会(nsfnet)的网络拓扑图(见图1)为例,对本发明方法的具体过程进行描述。该例中,假定网络为光网络,且本方法被应用于多线程sdn控制器上。

光网络中需要建立的多条光路,如果没有公共的边,称为多条光路路径不重合,如图1所示,在nsfnet拓扑中,2→3和4→5是两个路径不重合的业务请求,可以在不同的线程中同时建立光路。本发明方法同时为多个路径不重合的业务请求建立光路来减少业务的排队时延,把当前光路建立用的点和边集合建立着色虚拟拓扑,新建光路时不能使用着色虚拟拓扑中资源,只能在剩余的可用虚拟拓扑查找合适的资源。新建光路找到合适的资源后,将路径上用到的点或边集合作为资源使用的单位,通过临界区和信号量集的组合逻辑精确的从全局资源占用这些资源的集合。本方法中资源使用的约束条件是在光路的建立过程中形成的,在光路建立过程中先抢占点集合资源,判断频谱资源后,根据判断结果抢占或不抢占边集合的资源,这是二维的资源使用方式,新建光路建立后,释放的点和边将和可用虚拟拓扑连接,资源的占用和释放是一个连续的过程,这构成了基于点和边的二维资源抢占式分配模型。

为了描述本发明方法的思路,对本发明方法中所使用符号定义如表1所示:

表1网络中符号定义及其意义

本发明方法建路过程中的定义和约束为:(1)本发明方法多个线程为r’(i,j,nslot)建立和拆除光路时,资源被使用和释放时,对应的点和边从g*中添加和删除,g移除g*为g’,这是基于二维资源抢占式分配模型的虚拟拓扑重构。(2)g*作为光路建立过程中的资源使用的约束条件,g*中的vi和eij,新建光路时不能使用。(3)在g’上,多个线程为从r中选择r’,需运行路径查找算法查找业务请求的路径,找到的路径如果和g*互斥,则放弃这个业务请求,继续查找,直到找到满足条件的r’(i,j,nslot)。(4)r’(i,j,nslot)用到的节点集合被线程在临界区用线程对应的颜色着色,加入g*,重构g’,判断各边频谱资源充足,r’(i,j,nslot)用到的边集合被线程在临界区用线程对应的颜色着色,加入g*,重构g’,分配r’(i,j,nslot)的频谱资源,光路建立完成后,释放r’(i,j,nslot)占用的资源,重构g*和g’。(5)多个线程从r中选择r’时,被拒绝且跳数大于rn的业务请求称为长距离业务请求,为长距离业务请求计算路由频谱分配的线程,简称长距离线程。

本发明方法通过运用多线程着色的虚拟拓扑,能精确的实现资源共享,还可以平衡各线程对网络资源的使用,实现对多级别业务的服务可控。g*和g’的重构具有快速和连续的特点,对于各线程相当于在一个独立的拓扑上根据当前正在建路、建路被模型互斥、未建路、新到达业务的分布为业务请求建立光路,因此该方法能够适应跨层联合优化架构中的突发业务请求的光路建立,光路建立时延在减小的同时变的更稳定。由于使用并行计算和最短路径相结合的方法,所以本方法在减少突发业务请求光路建立平均时延的同时,还能有效减少光信号的传输时延和带宽资源的使用。

为了描述不同控制模型的性能,对控制模型中所使用符号定义如表2所示:

表2主要的符号定义及其意义

传统rsa算法,在突发业务大量聚集的时候,只能逐条为业务请求建立光路,在为单个业务请求建立光路期间,所有资源全部被主函数线程占用,通常有如下步骤:①业务请求到达;②主函数线程占用全部资源为业务请求建立光路;③业务请求光路建立成功或阻塞。算法处理多个业务请求的节点资源锁定时序如图2所示。

图2由节点、时间、主函数线程构成,在15个时间间隔内,共有7个业务请求逐条得到响应。虚线内方块为计算和刷新系统资源锁定节点的时间,在这个时间区间内,网络中所有节点全部由主函数线程锁定,但不是所有节点在被锁定期间都会用到,这导致网络中资源浪费,增加了业务请求的平均光路建立时延,算法的业务请求平均光路建立时延由公式

(1)计算:

a(nr)=t×(nr+1)/2(1)。

由公式(1)可知传统rsa算法的a(nr)与业务请求个数nr成线性关系,本发明方法的主要目标就是降低a(nr)随nr增加的速度,以适应跨层联合优化架构中突发业务疏导的场景。

本发明方法通过二维资源抢占式分配模型并行进行过条光路的建立,打破业务请求由单个线程逐个计算的限制,不仅能减少业务请求光路建立时延,还可以减少单位时间内业务请求阻塞率,增加光纤吞吐量。本发明方法的业务请求应答步骤:①业务请求到达;②多个路由频谱计算线程或长距离线程为业务请求建立光路;③业务请求光路建立成功或阻塞。本发明方法的节点资源锁定时序如图3所示。

图3由节点、时间、多个线程构成,在15个时间间隔内,共有20个业务请求得到响应。在任一时间点,不同路径上的节点以及路径上的边可以被不同的线程通过资源互斥的方式锁定,这增加了光网络中资源使用,减少了业务请求的平均光路建立时延,本发明方法的业务请求的平均光路建立时延由公式(2)计算:

a(nr)=t×(nr/nth+1)/2(2)。

由公式(2)可知本发明方法的a(nr)随业务请求个数nr增加线性增加,随线程个数nth增加线性减少,有效降低了a(nr)随nr增加的速度,能够适应跨层联合优化架构中突发业务疏导的场景。对比图2和图3可以看出,在同等的时间区间内,本发明方法为更多的业务请求建立了光路。

本发明方法的线程着色是指线程通过路径查找算法,为r’(i,j,nslot)查找路径,抢占路径需要的点,在同一时间点,为不同的r’(i,j,nslot)路径上的点着不同的颜色。在图3中,线程2,5分别代表不同的颜色,被用到r’(2,3,nslot),r’(5,4,nslot)的光路上的点v’2、v’3和v’4、v’5,边e’2,3和e’5,4的着色,业务请求的光路建立后,对应路径上着色的点和边取消着色,线程解除对节点和边的锁定,图3中几个时间点的着色虚拟拓扑和可用虚拟拓扑如表3所示。

表3基于着色虚拟拓扑的可用资源重构

从表3中可以看出,在时间点t+1,线程2,5,10,12,13在同时建立5条光路,着色虚拟拓扑如图4所示,基于二维资源抢占式分配模型重构的可用虚拟拓扑如图5所示。

在时间点t+5,基于二维资源抢占式分配模型重构的可用虚拟拓扑如图6所示。

在时间点t+10,长距离线程在为长距离业务请求建立光路,这是因为着色虚拟拓扑将物理拓扑分割成几个割集,长距离的业务请求不易被响应。为考虑公平,统计长距离业务请求的个数,当长距离业务请求数量大于ru的时候,置长距离业务请求建路信号量,所有路由频谱线程检测到信号量,进入休眠状态,让出时间片,长距离线程开始运行。当未响应的长距离业务请求小于rd的时候,释放长距离业务请求建路信号量,长距离线程休眠,多个线程被唤醒,该方法的流程图如图7所示。

该方法需要输入网络的物理拓扑、网络的参数设置,以及业务请求源节点和目的节点,该方法的输出为业务请求的路径和用的频谱编号。其具体实现为:

1)初始化系统g(v,e)、全局变量、线程函数。

2)判断r中是否有业务请求,没有跳转到步骤16。

3)首先判断线程号和g*中点是否互斥,互斥则跳转到步骤12。

4)判断当前线程对应的业务请求是否处理完成,全部业务处理完成则置当前线程任务结束标志,跳转到步骤12。

5)从r里找出源点为线程号,源点、目的节点和g*不互斥的业务请求,记录查找位置,如果没有找到跳转到步骤12。

6)线程在g上得到最短路径,判断最短路径上的全部节点是否和g*互斥,互斥则跳转到步骤12。

7)进入全局临界区,判断最短路径上的全部节点是否和g*互斥,如果互斥则离开全局临界区,跳转步骤12。不互斥将最短路径上的全部节点用线程号着色,同时将着色后的点加入g*,重构g’,离开全局临界区。

8)判断最短路径上的频谱资源是否能支撑光路的建立,如果不能则阻塞业务,累计业务请求方案确立的总时间,跳转到步骤11。

9)将最短路径上的边用线程号着色,将着色后的边加入g*,重构g’。

10)为光路分配频谱资源,刷新路径边的频谱资源,将最短路径上的边从g*中删除,累计业务请求方案确立的总时间。

11)将线程号着色的点从g*中删除,刷新g’。

12)执行时间片函数。

13)拒绝的rl是否达到ru,达到上限,全部路由频谱计算线程休眠,长距离线程为rl计算路由频谱分配方案,否则跳转到步骤2。

14)为rl计算路由频谱分配方案,直到rl低于rd。

15)r中有业务请求则跳转到步骤2。

16)方法结束。

需要理解的是,上述对于本专利具体实施方式的叙述仅仅是为了便于本领域普通技术人员理解本专利方案而列举的示例性描述,并非暗示本专利的保护范围仅仅被限制在这些个例中,本领域普通技术人员完全可以在对本专利技术方案做出充分理解的前提下,以不付出任何创造性劳动的形式,通过对本专利所列举的各个例采取组合技术特征、替换部分技术特征、加入更多技术特征等等方式,得到更多的具体实施方式,所有这些具体实施方式均在本专利权利要求书的涵盖范围之内,因此,这些新的具体实施方式也应在本专利的保护范围之内。

此外,出于简化叙述的目的,本专利也可能没有列举一些寻常的具体实施方案,这些方案是本领域普通技术人员在理解了本专利技术方案后能够自然而然想到的,显然,这些方案也应包含在本专利的保护范围之内。

出于简化叙述的目的,上述各具体实施方式对于技术细节的公开程度可能仅仅达到本领域技术人员可以自行决断的程度,即,对于上述具体实施方式没有公开的技术细节,本领域普通技术人员完全可以在不付出任何创造性劳动的情况下,在本专利技术方案的充分提示下,借助于教科书、工具书、论文、专利、音像制品等等已公开文献予以完成,或者,这些细节是在本领域普通技术人员的通常理解下,可以根据实际情况自行作出决定的内容。可见,即使不公开这些技术细节,也不会对本专利技术方案的公开充分性造成影响。

总之,在结合了本专利说明书对权利要求书保护范围的解释作用的基础上,任何落入本专利权利要求书涵盖范围的具体实施方案,均在本专利的保护范围之内。

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