[发明专利]基于mesh结构的高容错低时延路由算法有效
申请号: | 201910965218.3 | 申请日: | 2019-10-11 |
公开(公告)号: | CN111817952B | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 王秀程;马龙飞;曹思齐;董开明;杨鹤杰;高博 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L12/703 | 分类号: | H04L12/703;H04L12/721 |
代理公司: | 合肥律众知识产权代理有限公司 34147 | 代理人: | 刘苗 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mesh 结构 容错 低时延 路由 算法 | ||
1.基于mesh结构的高容错低时延路由算法,其特征在于,包括有以下步骤:
S1:确定节点分类规则及表示方式;
S2:规定基本路由方法;
S3:根据节点状态对节点进行标记;
S4:路由决策规则;
所述S1中,节点分为初始节点、生成节点,初始节点包括源节点、目的节点和故障节点,源节点为m×n 2D-mesh路由矩阵中数据传输的起始节点,在路由过程中不会被标记为其他类型的节点;目的节点为m×n 2D-mesh路由矩阵中数据传输所要到达的节点,在路由过程中不会被标记为其他类型的节点;故障节点为m×n 2D-mesh路由矩阵中遭到损坏而不能正常行使数据收发功能的节点;生成节点包括无效节点、不可达节点和当前节点,无效节点为路由矩阵中能正常行使功能的节点,但由于其与目的节点及故障节点的位置关系,将其等效于故障节点处理;不可达节点为能正常行使功能的节点,但由于其与目的节点及故障节点的位置关系,将其等效于故障节点处理;当前节点为在路由过程中当前状态下存储所传数据的节点;在路由矩阵中,每个节点都具有唯一的二维坐标地址,将任一节点表示为N[x,y];
所述S2中,路由包括X方向路由、Y方向路由、X-Y路由、Y-X路由,规定X方向路由方法,将数据沿能使当前节点与目的节点东西坐标差值的绝对值减小的方向路由,直至数据与目的节点在东西方向的坐标一致,即同一列;规定Y方向路由方法,将数据沿能使当前节点与目的节点南北方向坐标差值的绝对值减小的方向路由,直至数据与目的节点南北方向的坐标一致,即同一行;规定X-Y路由方法,先比较当前节点与目的节点的东西方向坐标,当差值不为零时,将数据沿能使东西方向坐标差值的绝对值减小的方向路由,当东西方向坐标差值的绝对值为零时,比较当前节点与目的节点的南北方向坐标,将数据沿能使南北方向坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;规定Y-X路由方法,先比较当前节点与目的节点的南北方向坐标,当差值不为零时,将数据沿能使南北方向坐标差值的绝对值减小的方向路由,当南北方向坐标差值的绝对值为零时,比较当前节点与目的节点的东西方向坐标,将数据沿能使东西方向坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;
所述S3中,节点进行标记步骤为,
步骤一:对m×n路由矩阵进行初始化:
每个节点向其相邻的四个节点发送一段包含其位置信息的数据R,同时每个节点在收到数据R后向数据R发出者回复一段包含自身位置信息的数据A,节点在发出数据R之后开始计时,若在T时间内仍未受到相邻节点回复的数据A,则将该邻节点标记为故障节点,通过此方法,完成对路由矩阵中故障节点的排查和标记,并使得每个节点获取其四个相邻节点的工作状态信息;
步骤二:根据路由表中源节点、目的节点、故障节点的位置关系标记无效节点及不可达节点:如果某一节点靠近目的节点方向的两个相邻节点均为故障节点,将此类节点标记为无效节点,如果一个节点与目的节点在同行或同列,若该节点靠近目的节点的方向为故障节点,则将该节点标记为无效节点;若节点有三个相邻节点为故障节点且唯一可进行路由的方向远离目的节点,则将该节点标记为不可达节点,在节点标记和路由过程中,不可达节点始终等效为故障节点处理,且不可达节点优先级高于无效节点,即同一节点既被标记为无效节点,又被标记为不可达节点,将该节点当做不可达节点处理;规定标记无效节点及不可达节点时,从目的节点开始,逐行逐列向源节点方向进行标记直至路由矩阵边界;
步骤三:根据已有的标记信息,确定当前节点禁行信息,具体规则如下:
根据当前节点的相邻节点的工作状态,确定当前节点禁行信息:
其东向相邻节点为故障节点,则该节点东向禁行;
其西向相邻节点为故障节点,则该节点西向禁行;
其南向相邻节点为故障节点,则该节点南向禁行;
其北向相邻节点为故障节点,则该节点北向禁行;
当任何节点一个以上相邻节点为不可达节点时规则同上;
对于边界节点,将其所处边界方向标记为禁行方向;
在路由过程中,首先每进行一步路由,当前节点就更新一次禁行信息,禁止当前节点向禁行方向路由;
所述S4中,当目的节点位于源节点东北方,包括有以下步骤:
5.1判断当前节点与目的节点的位置关系;
5.2根据不同的位置关系,分为以下情形:
A,当目的节点与当前节点非同行非同列时:
首先进行X方向路由,数据到达目的节点同一列后切换为Y方向路由,若数据到达目的节点X方向路由过程中遭遇故障节点则切换为Y方向路由,若Y方向路由过程中遭遇故障节点则切换为X方向路由,若当前节点两方向均路由失败,则按当前节点为源节点和非源节点分情况处理;
A.1,当前节点为源节点时:
若西向相邻节点为正常节点,则数据向西进行路由直至北向相邻节点为正常节点后,切换为Y-X路由,若Y-X路由失败则返回5.1重新进行判断,若数据向西路由过程中遭遇故障节点且北向相邻节点仍为故障节点,则判断无可达路径,路由结束;
若西向相邻节点是故障节点,且南向相邻节点为故障节点时,判断目的节点不可达,当南向相邻节点为正常节点时,则数据向南进行路由直至东向相邻节点为正常节点时,切换为X-Y路由,若X-Y路由失败则返回5.1重新进行判断,若数据向南路由过程中遭遇故障节点且东向相邻节点仍为故障节点,则判断无可达路径,路由结束;
A.2,当前节点非源节点时:
若西向相邻节点为正常节点,则数据向西进行路由直至北向相邻节点为正常节点,此时若当前西向相邻节点为故障节点,则切换为Y-X路由,若当前西向相邻节点为正常节点,则根据北向相邻节点和西向相邻节点是否接收过数据进行选择,若北向相邻节点接收过数据继续向西路由,若北向相邻节点未接收过数据,则切换为Y-X路由,若Y-X路由失败则返回5.1重新进行判断,若数据向西路由过程中遭遇故障节点且北向相邻节点仍为故障节点,则判断目的节点无法到达,路由结束;
若西向相邻节点为故障节点,南向相邻节点也为故障节点,判断目的节点无法到达,路由结束,若南向相邻节点为正常节点,则数据向南进行路由直至东向相邻节点为正常节点,此时若当前南向相邻节点为故障节点,则切换为X-Y路由,若当前南向相邻节点为正常节点,则根据南向相邻节点和东向相邻节点是否接收过数据进行选择,若东向相邻节点接收过数据继续向南路由,若东向相邻节点未接收过数据,则切换为X-Y路由,若X-Y路由失败则返回5.1重新进行判断,若数据向南路由过程中遭遇故障节点且东向相邻节点仍为故障节点,则判断目的节点无法到达,路由结束;
B,当目的节点与当前节点同行时:
数据先进行X方向路由,遭遇故障节点时,若北向相邻节点为正常节点,则数据向北进行路由直至X方向路由可行,并切换为X-Y路由,在切换后,由于之前向北路由,此时目的节点位于当前节点的东南方向,因此返回5.1,并按目的节点位于源节点东南方向的情形路由,若路由失败则将数据南向路由至与目的节点同行的节点,并向南进行路由直至X方向路由可行,再切换为X-Y路由,返回5.1并按照目的节点位于源节点东北方的情形路由,若再次路由失败,则判断无可达路径,路由结束;
C,当目的节点与当前节点同列时:
数据先进行Y方向路由,遭遇故障节点时,若东向相邻节点为正常节点,则数据向东进行路由直至Y方向路由可行,再切换为Y-X路由,在切换后,由于之前向东路由,此时目的节点位于当前节点的西南方向,因此返回5.1,并按照目的节点位于源节点西南方向的情形路由,若路由失败则数据向西路由至与目的节点同列节点,并向西进行路由直至Y方向路由可行,再切换为Y-X路由,返回5.1并按照目的节点位于源节点东北方的情形路由,若再次路由失败,则判断无可达路径,路由结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910965218.3/1.html,转载请声明来源钻瓜专利网。