买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】异质多芯光纤弹性光网络中串扰规避虚拟光网络映射方法_重庆邮电大学_202210506245.6 

申请/专利权人:重庆邮电大学

申请日:2022-05-10

公开(公告)日:2024-03-22

公开(公告)号:CN114697775B

主分类号:H04Q11/00

分类号:H04Q11/00;H04B10/2507

优先权:

专利状态码:有效-授权

法律状态:2024.03.22#授权;2022.07.19#实质审查的生效;2022.07.01#公开

摘要:本发明涉及一种异质多芯光纤弹性光网络中串扰规避虚拟光网络映射方法,属于通信技术领域。具体包括:芯优先级定义算法,芯分类算法,节点嵌入算法,链路映射算法,芯指派算法和频隙分配算法。所述异质多芯光纤弹性光网络中串扰规避虚拟光网络映射方法结合了多芯光纤弹性光网络中应对串扰问题的硬件方法和软件方法的优势,规避了串扰,通过异质多芯光纤弹性光网络满足了F5G中高带宽的基本要求;同时通过虚拟光网络映射方案满足了F5G中高动态的基本要求,为F5G之后的演进提供了可行思路。

主权项:1.异质多芯光纤弹性光网络中串扰规避虚拟光网络映射方法,其特征在于:该方法包括以下步骤:S1:建立基于异质多芯光纤的底层弹性光物理网络及其抽象出来的网络拓扑图;S2:在网络拓扑图上进行串扰规避虚拟光网络映射的启发式算法;所述S1中:物理网络包含以下物理器件:若干个光交叉连接器和用于连接这些光交叉连接器以形成网络的一系列异质多芯光纤;拓扑图包含以下元素:将光交叉连接器抽象为拓扑图顶点;每个拓扑图顶点具有一定的计算容量;将异质多芯光纤抽象为拓扑图的边,每条拓扑图的边由两条指向相反的链路组成,一条链路传输由该拓扑图的边连接着的两个拓扑图顶点的其中一个拓扑图顶点传向另一个的拓扑图顶点的数据,另一条链路则反之;链路包括环形均匀分布的若干个纤芯,其中一个纤芯相比于其它纤芯具有更大的直径,该纤芯称为异质芯;而其余纤芯的直径相同,均小于异质芯,纤芯称为同质芯;同质芯具有一定数量的频隙,且每条链路的每个同质芯包含的频隙个数都相同;异质芯具有和同质芯一样数量的频隙,且每条链路的每个异质芯包含的频隙个数都相同;异质芯的通信容量大于同质芯,且定义二者通信容量的比为容量比,取整数;所述S2中,虚拟光网络包括:虚拟光网络顶点,每个虚拟光网络顶点请求占用拓扑图顶点一定的计算容量;虚拟光网络的边,每条虚拟光网络的边仅包含一条单向链路,该虚拟光网络的边请求占用一定数量的频隙,且同一个虚拟光网络中每条边请求占用的频隙数量相同,另外,请求频隙数量相同的业务定义为同一类任务;所述串扰规避为:当虚拟光网络中的同一类任务请求指派到相邻同质芯时,分配的频隙位置不能重叠;当虚拟光网络中的同一类任务请求指派到异质芯时,与之相邻的同质芯上指派的任务请求与指派到异质芯上的任务请求之间也属于串扰规避;所述S2中,启发式算法的目标为最小化输入的虚拟光网络在底层弹性光物理网络拓扑中映射后分配的最大频隙序号;当虚拟光网络请求的频隙数量为容量比的倍数时,该任务请求应指派给异质芯传输且在异质芯中占用的频隙数量按容量比缩小;算法的具体过程包括以下步骤:S01:输入算法所需参数,包括:物理网络拓扑、虚拟网络业务请求集合、异质芯和同质芯集合以及业务请求类型列表;S02:执行芯优先级定义算法;S03:执行芯分类算法;S04:将S01中输入的虚拟网络业务请求集合中的每个虚拟网络按先顶点数量,后边的数量降序的顺序重新排列S01输入集合中的虚拟网络;S05:依次检查S04中排序后的虚拟网络业务请求集合中的每一个业务请求;S06:执行节点嵌入算法;S07:根据S06的节点嵌入结果,执行链路映射算法;S08:根据S02、S03和S07的芯优先级定义结果、芯分类结果和链路映射结果执行芯指派算法;S09:根据S07和S08的链路映射结果和芯指派结果执行频隙分配算法;S10:重复S05~S09,直到所有的业务请求都被检查后,输出算法结果;所述S02中,芯优先级定义算法包括以下步骤:S0201:输入S01中异质芯和同质芯集合,集合中所有的芯从1开始统一编号;S0202:初始化两个大小与S0201中芯集合所含元素个数相同的整数数组Core_Priority和Core_Cost,其中,Core_Priority按定义的芯优先级顺序存储芯编号,越靠近数组起始位置存储的芯编号对应的芯优先级越高,该数组初始时不存储任何芯编号,全部置零;Core_Cost按芯编号顺序依次存储每根芯的评分值,该数组初始时评分值全部置零;S0203:从编号为1的芯开始检查每个芯;S0204:如果当前检查的芯为异质芯,则定义其优先级为最高级,并将异质芯的编号存储在Core_Priority的起始位置,然后执行S0205~S0206;S0205:将与S0204中异质芯相邻的芯的评分值减1,即Core_Cost中对应异质芯编号的前后两个位置数值减1,芯按环形分布,若异质芯的编号处于Core_Cost的起始位置,则其前为Core_Cost的终止位置;若异质芯的编号处于Core_Cost的终止位置,则其后为Core_Cost的起始位置;S0206:将异质芯的评分值置无穷大;S0207:如果当前检查的芯不是异质芯,则寻找评分值为0的芯,如果能够找到,执行S0208~S0210,否则执行S0211;S0208:定义找到的评分值为0的芯中编号最小的芯为下一优先级,并将其编号存储在Core_Priority的下一位置;S0209:将与S0208中确定优先级的芯相邻的芯的评分值加1,类似于S0205,将Core_Cost中对应当前确定优先级编号的芯的前后两个位置数值加1;S0210:将S0208中确定优先级的芯的评分值置无穷大;S0211:寻找评分值最小的芯,定义为下一优先级,并将其编号存储在Core_Priority的下一位置,然后执行S0212~S0213;S0212:将与S0211中确定优先级的芯相邻的芯的评分值加1,类似于S0209;S0213:将S0211中确定优先级的芯的评分值置无穷大;S0214:重复S0203~S0213,直到检查完所有的芯,输出的Core_Priority为芯优先级定义结果;所述S03中,芯分类算法包括以下步骤:S0301:输入S01中异质芯和同质芯集合,芯编号方式与S0201相同;输入芯优先级定义结果Core_Priority;输入S01中的任务请求类型列表;S0302:初始化一个大小与Core_Priority相同的整数数组Core_Classification,Core_Classification按芯编号顺序存储每个芯应指派的业务类型,该数组初始时不存储任何业务类型,全部置零;另初始化一个指示值index作为业务类型列表的索引,该值初始时置零;S0303:从编号为1的芯开始检查每个芯;S0304:将当前index索引的业务类型赋给过程变量Current_Service_Type,如果index超过了业务类型列表的大小,则将index按业务类型列表大小取模;S0305:按Core_Priority定义的芯编号顺序依次判断某条芯的邻芯是否指派了Current_Service_Type,如果已指派,执行S0306,否则执行S0307;S0306:index自加1,并重复执行S0304~S0305;S0307:将Current_Service_Type赋给Core_Classification数组中当前检查的芯的编号对应的位置作为该芯应指派的业务类型;S0308:重复S0303~S0307,直到检查完所有的芯,输出的Core_Classification为S03中的芯分类结果;所述S06中,节点嵌入算法包括以下步骤:S0601:输入S01中的物理网络拓扑,每个物理网络拓扑的顶点从1开始统一编号;输入S04中的排序后虚拟光网络任务请求集合中的一个任务请求,该任务请求的顶点从1开始编号;S0602:初始化一个大小与S0601中输入的虚拟光网络顶点个数相同的整数数组Vertex_Embedding_Result,Vertex_Embedding_Result按虚拟光网络顶点编号的顺序存储应嵌入的S0601中输入的物理网络拓扑顶点编号,该数组初始时置零;S0603:按S0601中输入的虚拟光网络各顶点请求的计算容量降序排序虚拟光网络的各个顶点,排序后的顶点集合记为vsorted;S0604:按S0601中输入的物理网络各顶点剩余的计算容量降序排序物理网络的各个顶点,排序后的顶点集合记为Vsorted;S0605:检查S0603中vsorted集合中的每一个顶点;S0606:如果S0604中Vsorted集合中对应的顶点剩余计算容量不小于当前检查节点的请求容量,则执行S0607;否则执行S0608;S0607:将当前Vsorted集合中对应的顶点编号存储至Vertex_Embedding_Result中指示当前检查节点的对应位置,并更新Vsorted集合中对应顶点的剩余计算容量;S0608:阻塞S0601中输入的这个任务请求,且清空当前的Vertex_Embedding_Result;S0609:重复S0605~S0608,直到检查完所有顶点,输出的Vertex_Embedding_Result为S06中的节点嵌入结果;若Vertex_Embedding_Result为空,表示S0601中输入的任务请求被阻塞;所述S07中,链路映射算法包括以下步骤:S0701:输入S01中的物理网络拓扑,每条物理网络拓扑的边从1开始统一编号;输入S04中的排序后虚拟光网络任务请求集合中的一个任务请求,该任务请求的边从1开始编号;输入节点嵌入结果Vertex_Embedding_Result;S0702:初始化一个大小与S0701中输入的任务请求边条数相同的二维整数数组Edge_Embedding_Result,Edge_Embedding_Result按任务请求边编号的顺序存储应映射的物理网络边的顺次顶点编号,该数组初始时置空;S0703:检查任务请求的每一条边;S0704:使用Dijkstra算法计算以检查的边的源点嵌入到的物理网络顶点为源点,以检查的边的宿点嵌入到的物理网络顶点为宿点,且以物理网络各边已被占用的频隙数量为权值的最短路径,如果该最短路径存在,执行S0705,否则执行S0706;S0705:将以顶点顺序表示的最短路径存储到Edge_Embedding_Result中;S0706:阻塞S0701中输入的这个任务请求,且清空当前的Edge_Embedding_Result和Vertex_Embedding_Result;S0707:重复S0703~S0706,直到检查完所有的边,输出的Edge_Embedding_Result为S07中的链路映射结果;若Edge_Embedding_Result为空,表示S0701中输入的任务请求被阻塞;所述S08中,芯指派算法包括以下步骤:S0801:输入S01中的物理网络拓扑,物理网络的顶点和边的编号规则与S0601和S0701一致,每条边包含链路中每根芯所包含的频隙从1开始编号,每个频隙初始时具有频隙值0;输入S04中的排序后虚拟光网络任务请求集合中的一个任务请求,该虚拟光网络的顶点和边的编号规则与S0601和S0701一致;输入该任务请求的节点嵌入结果Vertex_Embedding_Result;输入该任务请求的链路映射结果Edge_Embedding_Result;输入S01中的异质芯和同质芯集合,芯编号规则与S0201相同;输入芯优先级定义结果Core_Priority;输入芯分类结果Core_Classification;S0802:初始化一个大小与S0801中异质芯和同质芯集合元素数量相同的整数数组Start_Frequency,Start_Frequency按芯编号顺序存储S0801中输入的任务请求开始进行频隙分配的频隙起始编号,初始时置零;再初始化一个大小为2倍S0801中异质芯和同质芯集合元素数量的二维整数数组Core_Assignment_Record,每个芯编号对应的Core_Assignment_Record元素存储映射到的物理网络边的一个链路方向上应指派的芯编号顺序,每个芯编号加1对应的Core_Assignment_Record元素则存储另一个链路方向上应指派的芯编号顺序,该数组初始时置空;S0803:按S0801中Core_Priority定义的芯优先级顺序依次检查每条芯;S0804:如果按S0801中Core_Classification的芯分类结果,S0803中检查的芯可以指派S0801输入的这类任务请求,则执行S0805~S0819,否则重复执行S0803~S0804;S0805:初始化一个数组Core_Assignment_tmp暂时存储每条映射到的物理网络链路上应指派的芯编号,初始时该数组置空;S0806:按频隙编号的顺序依次检查每个频隙;S0807:如果Core_Assignment_tmp不为空,则执行S0808,否则继续执行S0809;S0808:将S0801中输入的物理网络拓扑每条链路的频隙当前值为-1的频隙值置零,同时清空Core_Assignment_tmp;S0809:找到S0801中任务请求的编号为1的边映射到的第一条物理网络链路;S0810:如果从S0806检查的频隙开始,S0809中的第一条物理网络链路上具有连续个空闲的任务请求频隙数,频隙值为0表示空闲,则将这些空闲频隙值置-1,并将S0803中当前检查的芯编号存储至Core_Assignment_tmp末尾,然后执行S0812~S0819;否则重复执行S0806~S0810,直到所有的频隙都被检查完,然后执行S0811;S0811:待所有S0806中的频隙都被检查完后仍找不到S0810中的连续空闲频隙,则执行S0819;S0812:依次检查除S0809第一条物理网络链路外,其余映射到的物理网络链路;S0813:按S0801中Core_Priority定义的芯优先级顺序依次检查每条芯;S0814:如果按S0801中Core_Classification的芯分类结果,S0813中检查的芯能够指派S0801输入的这类任务请求,则执行S0815~S0819,否则重复执行S0813~S0814;S0815:判断S0813中检查的芯上从S0806中检查的频隙开始是否存在S0810中的连续空闲频隙,存在的话将那些空闲频隙值置-1,并将S0813中检查的芯编号存储至Core_Assignment_tmp末尾,然后执行S0817;否则重复执行S0813~S0814,直到所有的芯都被检查完,然后执行S0816;S0816:待所有S0813中的芯都被检查完后仍找不到S0815中的连续空闲频隙,则执行S0819;S0817:全部执行完S0812~S0816时,将中间结果Core_Assignment_tmp存储至Core_Assignment_Record对应S0803中检查芯的编号位置,作为芯指派的结果;并将S0810中确定的频隙作为每条指派芯中请求的频隙开始分配的位置存储至Start_Frequency对应S0803中检查芯的编号位置;S0818:将S0801中输入的物理网络拓扑每条链路的频隙当前值为-1的频隙值置零,同时清空Core_Assignment_tmp;S0819:重复执行S0803~S0818,直到检查完所有的芯;S0820:如果Core_Assignment_Record的结果为空,则阻塞S0801中输入的任务请求,同时清空Edge_Embedding_Result和Vertex_Embedding_Result;否则执行S0821;S0821:寻找Start_Frequency中最小的频隙分配序号作为S0801中输入的任务请求频隙分配起始位置Start_Frequency_Index,并将Start_Frequency_Index对应的芯编号对应的Core_Assignment_Record存储结果作为S08中的芯指派结果Core_Assignment_Result;所述S09中,频隙分配算法包括以下步骤:S0901:输入S01中的物理网络拓扑,物理网络的顶点、边和边上每条链路的频隙编号规则与S0801一致;输入S04中的排序后虚拟光网络任务请求集合中的一个任务请求,该虚拟光网络的顶点和边的编号规则与S0801一致;输入该任务请求的链路映射结果Edge_Embedding_Result;输入芯指派结果Core_Assignment_Result和频隙分配起始位置Strat_Frequency_Index;S0902:初始化一个大小与S0901中输入的物理网络链路条数相同的三维整数数组Frequency_Allocating_Result,Frequency_Allocating_Result按物理网络链路的顺序存储每根芯上的频隙分配的业务类型,未分配的频隙值置零,初始时所有频隙值置零;另初始化一个整数Msr作为S0901中输入任务请求的目标值,初始时该值置零;S0903:检查每条映射到的物理网络链路;S0904:根据S0901中的Core_Assignment_Result和Start_Frequency_Index按S0901中输入的任务请求的频隙数量为每条物理网络链路占用分配的频隙,即将Frequency_Allocating_Result对应分配的频隙位置存储任务请求频隙数量的业务类型;S0905:寻找Frequency_Allocating_Result中所有芯中最大的空闲频隙编号,频隙值为0表示空闲,并将其赋给Msr;S0906:重复执行S0903~S0905,直到检查完所有映射的物理网络链路,得到的Msr为S09执行后输出的S0901中输入的业务的目标值。

全文数据:

权利要求:

百度查询: 重庆邮电大学 异质多芯光纤弹性光网络中串扰规避虚拟光网络映射方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。