一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容错路由的处理方法及装置、处理器和电子设备与流程

2022-11-19 11:36:52 来源:中国专利 TAG:


1.本技术涉及金融科技领域,具体而言,涉及一种容错路由的处理方法及装置、处理器和电子设备。


背景技术:

2.在多处理器系统中,为了解决大型的应用问题,多个处理器必须协同工作。于是就要求在处理器之间需要进行数据交换,即在整个系统中的每个节点需要发送和接收数据。因此,通信的效率对整个多处理器系统的性能起着至关重要的作用。另外,路由是其中的一种通信方式,且路由就是把数据从源节点发送到目的节点的一种通信过程。路由的时间是多处理器系统性能的一个关键因素,若网络中某个节点出现拥塞现象,将大大延长路由时间,降低网络吞吐量,所以网络负载均衡问题是影响路由时间的一个关键因素,这是路由算法首先需要考虑的问题。
3.另外,网格结构是互连网络的一种拓扑结构,因其结构简单、规则性强的特点,被广泛应用在大规模并行计算机系统、片上多处理器和片上网络中。在网格体系结构中有大量的计算节点(如处理器、核等),随着网格体系结构的扩展,这些节点失效的可能性也会增加,网络的复杂特性也使它们容易受到干扰,因此对路由算法的容错能力要求越来越高,为了寻找可靠的通信路径,容错路由已被提出并被广泛研究。根据算法得到路径长度,且容错路由算法分为两类:一类是容错最短路由算法,该类算法得到的路由是曼哈顿距离路径,另一类是容错非最短路由算法。而且,容错最短路由算法总可以得到通信节点间的最短路径,传播延迟更小。
4.目前已有的容错路由方法在路由容错方面取得了不错的效果,但是,由于网络的负载均衡问题,在网格结构的片上网络中寻找最短路径的容错路由时,容易引起片上网络拥塞。
5.针对相关技术中在网格结构的片上网络中寻找最短路径的容错路由时,容易引起片上网络拥塞的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本技术的主要目的在于提供一种容错路由的处理方法及装置、处理器和电子设备,以解决相关技术中在网格结构的片上网络中寻找最短路径的容错路由时,容易引起片上网络拥塞的问题。
7.为了实现上述目的,根据本技术的一个方面,提供了一种容错路由的处理方法。该方法包括:确定片上网络中的源节点和目的节点,其中,所述片上网络的结构为网格结构;确定所述片上网络中的多个目标节点,其中,依据所述片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定所述目标节点;依据所述源节点、所述目的节点和所述多个目标节点,确定目标容错路由,其中,所述目标容错路由对应的路由值小于第一容错路由对应的路由值,所述第一容错路由为所述片上网络中除所述目标容错路由之外的
其他从所述源节点到所述目的节点的容错路由。
8.进一步地,确定所述片上网络中的多个目标节点包括:步骤s1:将所述源节点作为当前节点;步骤s2:获取所述片上网络中每个节点的状态信息;步骤s3:依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点;步骤s4:依据每个第一节点对应的权值,确定所述目标节点;步骤s5:若所述当前节点不是所述目的节点,则将所述目标节点作为所述当前节点,循环执行步骤s2至步骤s4,直到所述当前节点为所述目的节点为止,得到所述多个目标节点。
9.进一步地,在依据每个第一节点对应的权值,确定所述目标节点之前,所述方法还包括:获取所述多个第一节点中两个节点之间的所述历史转发数据量和每个第一节点对应的所述待转发数据量;依据所述历史转发数据量和每个第一节点对应的所述待转发数据量,得到每个第一节点对应的权值。
10.进一步地,依据每个第一节点对应的权值,确定所述目标节点包括:依据每个第一节点对应的权值,从所述多个第一节点中筛选出权值最小的节点;将筛选出的权值最小的节点作为所述目标节点。
11.进一步地,依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点包括:依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值,其中,所述第一特征值用于表示从所述源节点到所述当前节点的第二容错路由的数量,所述第二特征值用于表示从所述当前节点到所述目的节点的第三容错路由的数量,所述第二容错路由对应的路由值小于所述片上网络中除所述第二容错路由之外的其他从所述源节点到所述当前节点的容错路由对应的路由值,所述第三容错路由对应的路由值小于所述片上网络中除所述第三容错路由之外的其他从所述当前节点到所述目的节点的容错路由对应的路由值;从所述当前节点的后继节点中选择所述第一特征值和所述第二特征值均大于第一预设值的节点作为所述多个第一节点。
12.进一步地,依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值包括:若所述片上网络中的节点为故障节点,则确定所述片上网络中的节点对应的第一特征值和第二特征值均为所述第一预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述源节点,则确定所述片上网络中的节点对应的第一特征值为第二预设值,其中所述第二预设值大于所述第一预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述源节点,且所述片上网络中不存在目标前驱节点,则确定所述片上网络中的节点对应的第一特征值为所述第一预设值,其中,所述目标前驱节点为所述片上网络中的节点对应的前驱节点;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述目的节点,则确定所述片上网络中的节点对应的第二特征值为所述第二预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述目的节点,且所述片上网络中不存在目标后继节点,则确定所述片上网络中的节点对应的第二特征值为所述第一预设值,其中,所述目标后继节点为所述片上网络中的节点对应的后继节点。
13.进一步地,每个第一节点对应的权值由下述函数确定:其中,u表示所述第一节点,v表示所述第一节点u的下一跳节
点,lc(u)表示所述第一节点u对应的所述待转发数据量,lh(u,v)表示所述第一节点u向v的所述历史转发数据量,和分别表示所述下一跳节点v的总缓存容量和剩余缓存容量,w(v)表示所述下一跳节点v的权值。
14.为了实现上述目的,根据本技术的另一方面,提供了一种容错路由的处理装置。该装置包括:第一确定单元,用于确定片上网络中的源节点和目的节点,其中,所述片上网络的结构为网格结构;第二确定单元,用于确定所述片上网络中的多个目标节点,其中,依据所述片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定所述目标节点;第三确定单元,用于依据所述源节点、所述目的节点和所述多个目标节点,确定目标容错路由,其中,所述目标容错路由对应的路由值小于第一容错路由对应的路由值,所述第一容错路由为所述片上网络中除所述目标容错路由之外的其他从所述源节点到所述目的节点的容错路由。
15.进一步地,所述第二确定单元包括:第一确定子单元,用于执行步骤s1:将所述源节点作为当前节点;第一获取子单元,用于步骤s2:获取所述片上网络中每个节点的状态信息;第二确定子单元,用于执行步骤s3:依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点;第三确定子单元,用于执行步骤s4:依据每个第一节点对应的权值,确定所述目标节点;第四确定子单元,用于执行步骤s5:若所述当前节点不是所述目的节点,则将所述目标节点作为所述当前节点,循环执行步骤s2至步骤s4,直到所述当前节点为所述目的节点为止,得到所述多个目标节点。
16.进一步地,所述装置还包括:第一获取单元,用于在依据每个第一节点对应的权值,确定所述目标节点之前,获取所述多个第一节点中两个节点之间的所述历史转发数据量和每个第一节点对应的所述待转发数据量;第一处理单元,用于依据所述历史转发数据量和每个第一节点对应的所述待转发数据量,得到每个第一节点对应的权值。
17.进一步地,所述第三确定子单元包括:第一筛选模块,用于依据每个第一节点对应的权值,从所述多个第一节点中筛选出权值最小的节点;第一处理模块,用于将筛选出的权值最小的节点作为所述目标节点。
18.进一步地,所述第二确定子单元包括:第一确定模块,用于依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值,其中,所述第一特征值用于表示从所述源节点到所述当前节点的第二容错路由的数量,所述第二特征值用于表示从所述当前节点到所述目的节点的第三容错路由的数量,所述第二容错路由对应的路由值小于所述片上网络中除所述第二容错路由之外的其他从所述源节点到所述当前节点的容错路由对应的路由值,所述第三容错路由对应的路由值小于所述片上网络中除所述第三容错路由之外的其他从所述当前节点到所述目的节点的容错路由对应的路由值;第一选择模块,用于从所述当前节点的后继节点中选择所述第一特征值和所述第二特征值均大于第一预设值的节点作为所述多个第一节点。
19.进一步地,所述第一确定模块包括:第一确定子模块,用于若所述片上网络中的节点为故障节点,则确定所述片上网络中的节点对应的第一特征值和第二特征值均为所述第一预设值;第二确定子模块,用于若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述源节点,则确定所述片上网络中的节点对应的第一特征值为第二预设值,其中所述第二预设值大于所述第一预设值;第三确定子模块,用于若所述片上网络中的
节点不为所述故障节点,且所述片上网络中的节点不为所述源节点,且所述片上网络中不存在目标前驱节点,则确定所述片上网络中的节点对应的第一特征值为所述第一预设值,其中,所述目标前驱节点为所述片上网络中的节点对应的前驱节点;第四确定子模块,用于若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述目的节点,则确定所述片上网络中的节点对应的第二特征值为所述第二预设值;第五确定子模块,用于若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述目的节点,且所述片上网络中不存在目标后继节点,则确定所述片上网络中的节点对应的第二特征值为所述第一预设值,其中,所述目标后继节点为所述片上网络中的节点对应的后继节点。
20.进一步地,每个第一节点对应的权值由下述函数确定:其中,u表示所述第一节点,v表示所述第一节点u的下一跳节点,lc(u)表示所述第一节点u对应的所述待转发数据量,lh(u,v)表示所述第一节点u向v的所述历史转发数据量,和分别表示所述下一跳节点v的总缓存容量和剩余缓存容量,w(v)表示所述下一跳节点v的权值。
21.为了实现上述目的,根据本技术的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的任意一项所述的容错路由的处理方法。
22.为了实现上述目的,根据本技术的另一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的任意一项所述的容错路由的处理方法。
23.通过本技术,采用以下步骤:确定片上网络中的源节点和目的节点,其中,片上网络的结构为网格结构;确定片上网络中的多个目标节点,其中,依据片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定目标节点;依据源节点、目的节点和多个目标节点,确定目标容错路由,其中,目标容错路由对应的路由值小于第一容错路由对应的路由值,第一容错路由为片上网络中除目标容错路由之外的其他从源节点到目的节点的容错路由,解决了相关技术中在网格结构的片上网络中寻找最短路径的容错路由时,容易引起片上网络拥塞的问题。通过依据网格结构的片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定多个目标节点,并依据多个目标节点和片上网络中的源节点、目的节点,确定片上网络中路径最短的容错路由,从而达到了在网格结构的片上网络中寻找最短路径的容错路由时,避免引起片上网络拥塞的效果。
附图说明
24.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
25.图1是根据本技术实施例提供的容错路由的处理方法的流程图;
26.图2是本技术实施例中的网格结构的片上网络的示意图;
27.图3是现有技术中不考虑负载均衡时在含有故障节点的网格中找到的一条容错最
短路由的示意图;
28.图4是本技术实施例中的在考虑负载均衡时,基于网格节点不同状态下找到的容错最短路由的示意图;
29.图5是根据本技术实施例提供的可选的容错路由的处理方法的流程图;
30.图6是根据本技术实施例提供的容错路由的处理装置的示意图;
31.图7是根据本技术实施例提供的电子设备的示意图。
具体实施方式
32.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
33.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
34.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
36.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的容错路由的处理方法的流程图,如图1所示,该方法包括如下步骤:
37.步骤s101,确定片上网络中的源节点和目的节点,其中,片上网络的结构为网格结构。
38.例如,在网格结构的片上网络中找到源节点和目的节点。
39.步骤s102,确定片上网络中的多个目标节点,其中,依据片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定目标节点。
40.例如,根据网格节点间历史通信数据量和当前待转发数据量确定出多个目标节点。
41.步骤s103,依据源节点、目的节点和多个目标节点,确定目标容错路由,其中,目标容错路由对应的路由值小于第一容错路由对应的路由值,第一容错路由为片上网络中除目标容错路由之外的其他从源节点到目的节点的容错路由。
42.例如,由源节点、多个目标节点和目的节点构成一条容错最短路由。而且,容错最
短路由为网格结构的片上网络中从源节点到目的节点的最短路径的容错路由。
43.通过上述的步骤s101至s103,通过依据网格结构的片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定多个目标节点,并依据多个目标节点和片上网络中的源节点、目的节点,确定片上网络中路径最短的容错路由,从而达到了在网格结构的片上网络中寻找最短路径的容错路由时,避免引起片上网络拥塞的效果。
44.如何确定片上网络中的多个目标节点对于本技术来说是至关重要的,所以在本技术实施例提供的容错路由的处理方法中,采用以下步骤确定片上网络中的多个目标节点:步骤s1:将源节点作为当前节点;步骤s2:获取片上网络中每个节点的状态信息;步骤s3:依据片上网络中每个节点的状态信息和当前节点的后继节点,确定多个第一节点;步骤s4:依据每个第一节点对应的权值,确定目标节点;步骤s5:若当前节点不是目的节点,则将目标节点作为当前节点,循环执行步骤s2至步骤s4,直到当前节点为目的节点为止,得到多个目标节点。
45.例如,以源节点为当前节点;再对网格中每个节点的状态进行标记;根据网格中每个节点的状态,在当前节点的后继节点中选择出多个候选下一跳节点(上述的多个第一节点);在候选节点中选择权值较小的节点作为容错路由的下一跳节点(上述的目标节点);并将选择的权值较小的节点作为当前节点,循环执行上述步骤,直到当前节点为目的节点为止,得到多个目标节点。
46.通过上述的方案,在含有故障节点的网格中,充分利用网格节点信息(节点状态和权值),动态选择路由节点,并动态寻找一条可用的容错路由,在保证路由容错的同时,避免出现网络的负载难以均衡的情况。
47.为了快速准确的确定每个节点对应的第一特征值和第二特征值,在本技术实施例提供的容错路由的处理方法中,还可以通过以下步骤确定每个节点对应的第一特征值和第二特征值:若片上网络中的节点为故障节点,则确定片上网络中的节点对应的第一特征值和第二特征值均为第一预设值;若片上网络中的节点不为故障节点,且片上网络中的节点为源节点,则确定片上网络中的节点对应的第一特征值为第二预设值,其中第二预设值大于第一预设值;若片上网络中的节点不为故障节点,且片上网络中的节点不为源节点,且片上网络中不存在目标前驱节点,则确定片上网络中的节点对应的第一特征值为第一预设值,其中,目标前驱节点为片上网络中的节点对应的前驱节点;若片上网络中的节点不为故障节点,且片上网络中的节点为目的节点,则确定片上网络中的节点对应的第二特征值为第二预设值;若片上网络中的节点不为故障节点,且片上网络中的节点不为目的节点,且片上网络中不存在目标后继节点,则确定片上网络中的节点对应的第二特征值为第一预设值,其中,目标后继节点为片上网络中的节点对应的后继节点。
48.例如,上述的第一预设值可以为0,第二预设值可以为1。先对网格中每个节点的状态进行标记;然后根据网格中每个节点的状态,计算网格中每个节点的两个特征值(f-apc值,forward allowed-path-counter,即源节点到当前节点的容错最短路由数,r-apc值,reverse allowed-path-counter,即当前节点到目的节点的容错最短路由数),具体计算过程如下:
49.(1)用c(i,j)表示f-apc值,计算过程为:
50.当节点(i,j)为故障节点时,c(i,j)=0;
51.当节点(i,j)不是源节点,且没有允许前驱节点时,c(i,j)=0;
52.当节点(i,j)为非故障源节点时,c(i,j)=1;
53.当节点(i,j)只有一个允许前驱节点(i-1,j)时,c(i,j)=c(i-1,j);
54.当节点(i,j)只有一个允许前驱节点(i,j-1)时,c(i,j)=c(i,j-1);
55.当节点(i,j)有两个允许前驱节点(i-1,j)和(i,j-1)时,c(i,j)=c(i,j-1) c(i-1,j)。
56.(2)用c

(i,j)表示r-apc值,计算过程为:
57.当节点(i,j)为故障节点时,c

(i,j)=0;
58.当节点(i,j)不是源节点,且没有允许前驱节点时,c

(i,j)=0;
59.当节点(i,j)为非故障目的节点时,c

(i,j)=1;
60.当节点(i,j)只有一个允许后继节点(i 1,j)时,c

(i,j)=c

(i 1,j);
61.当节点(i,j)只有一个允许后继节点(i,j 1)时,c

(i,j)=c

(i,j 1);
62.当节点(i,j)有两个允许后继节点(i,j 1)和(i 1,j)时,c

(i,j)=c

(i,j 1) c

(i 1,j)。
63.通过上述的方案,根据网格中每个节点的状态,可以快速准确的计算出网格中每个节点对应的特征值。
64.为了快速准确的确定多个第一节点,在本技术实施例提供的容错路由的处理方法中,还可以通过以下步骤确定多个第一节点:依据片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值,其中,第一特征值用于表示从源节点到当前节点的第二容错路由的数量,第二特征值用于表示从当前节点到目的节点的第三容错路由的数量,第二容错路由对应的路由值小于片上网络中除第二容错路由之外的其他从源节点到当前节点的容错路由对应的路由值,第三容错路由对应的路由值小于片上网络中除第三容错路由之外的其他从当前节点到目的节点的容错路由对应的路由值;从当前节点的后继节点中选择第一特征值和第二特征值均大于第一预设值的节点作为多个第一节点。
65.例如,上述的第一预设值可以为0。先根据网格中每个节点的状态,计算出网格中每个节点的两个特征值,然后以源节点为当前节点,并在其后继节点中选择两个特征值均大于0的节点作为其候选下一条节点(上述的多个第一节点)。
66.通过上述的方案,根据计算出的网格中每个节点对应的特征值,可以快速准确的确定出片上网络中的候选节点。
67.为了快速准确的确定每个第一节点对应的权值,在本技术实施例提供的容错路由的处理方法中,还可以通过以下步骤确定每个第一节点对应的权值:在依据每个第一节点对应的权值,确定目标节点之前,获取多个第一节点中两个节点之间的历史转发数据量和每个第一节点对应的待转发数据量;依据历史转发数据量和每个第一节点对应的待转发数据量,得到每个第一节点对应的权值。
68.例如,确定节点间历史通信数据量和待转发数据量,然后根据节点间历史通信数据量和待转发数据量为多个候选节点(上述的多个第一节点)设置权值。
69.通过上述的方案,可以快速准确的得到片上网络中的每个候选节点对应的权值。
70.为了快速准确的确定每个第一节点对应的权值,在本技术实施例提供的容错路由的处理方法中,还可以通过以下函数确定每个第一节点对应的权值:
其中,u表示第一节点,v表示第一节点u的下一跳节点,lc(u)表示第一节点u对应的待转发数据量,lh(u,v)表示第一节点u向v的历史转发数据量,和分别表示下一跳节点v的总缓存容量和剩余缓存容量,w(v)表示下一跳节点v的权值。
71.例如,权值的设置由下述函数确定:
[0072][0073]
其中,u表示当前节点,v表示节点u的一个候选下一跳节点,lc(u)表示当前节点u待转发的数据量,lh(u,v)表示节点u向v的历史转发数据量,和分别表示节点v的总缓存容量和剩余缓存容量,w(v)表示当前条件下节点v的权值。
[0074]
通过上述的方案,可以快速准确的计算出片上网络中的每个候选节点对应的权值。
[0075]
为了快速准确的确定目标节点,在本技术实施例提供的容错路由的处理方法中,还可以通过以下步骤确定目标节点:依据每个第一节点对应的权值,从多个第一节点中筛选出权值最小的节点;将筛选出的权值最小的节点作为目标节点。
[0076]
例如,在候选节点中选择权值较小的节点作为容错路由的下一跳节点。另外,图2是本技术实施例中的网格结构的片上网络的示意图,图3是现有技术中不考虑负载均衡时在含有故障节点的网格(如图2所示的网格图)中找到的一条容错最短路由的示意图,图4是本技术实施例中的在考虑负载均衡时,基于网格节点不同状态下在含有故障节点的网格(如图2所示的网格图)中找到的容错最短路由的示意图。其中,图2、图3和图4中的s(5,3)表示片上网络中的源节点,d(12,10)表示片上网络中的目的节点,“fault node”表示片上网络中的故障节点。另外,图4中的数字表示每个节点对应的权值。
[0077]
通过上述的方案,根据每个候选节点对应的权值的大小,可以快速准确的确定出每个目标节点。另外,在候选节点中倾向于选择剩余缓存容量大、历史转发数据量小的节点作为容错路由的下一跳节点,可以在保证路由容错的同时考虑网络的负载均衡问题,进而可以有效避免网络拥塞。
[0078]
例如,图5是根据本技术实施例提供的可选的容错路由的处理方法的流程图,如图5所示,可选的容错路由的处理方法包括如下步骤:
[0079]
步骤s501,对网格中每个节点的状态进行标记;
[0080]
步骤s502,根据网格中每个节点的状态,计算网格中每个节点的两个特征值(f-apc值,即源节点到当前节点的容错最短路由数,r-apc值,即当前节点到目的节点的容错最短路由数);
[0081]
步骤s503,以源节点为当前节点,在其后继节点中选择两个特征值均大于0的节点作为其候选下一条节点;
[0082]
步骤s504,根据节点间历史通信数据量和待转发数据量为候选节点设置权值,在候选节点中选择权值较小的节点作为容错路由的下一跳节点;
[0083]
步骤s505,以选择的节点为当前节点,重复上述步骤,直到当前节点为目的节点,所有被选中的点就构成一条容错最短路由。
[0084]
综上,本技术实施例提供的容错路由的处理方法,通过确定片上网络中的源节点和目的节点,其中,片上网络的结构为网格结构;确定片上网络中的多个目标节点,其中,依据片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定目标节点;依据源节点、目的节点和多个目标节点,确定目标容错路由,其中,目标容错路由对应的路由值小于第一容错路由对应的路由值,第一容错路由为片上网络中除目标容错路由之外的其他从源节点到目的节点的容错路由,解决了相关技术中在网格结构的片上网络中寻找最短路径的容错路由时,容易引起片上网络拥塞的问题。通过依据网格结构的片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定多个目标节点,并依据多个目标节点和片上网络中的源节点、目的节点,确定片上网络中路径最短的容错路由,从而达到了在网格结构的片上网络中寻找最短路径的容错路由时,避免引起片上网络拥塞的效果。
[0085]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0086]
本技术实施例还提供了一种容错路由的处理装置,需要说明的是,本技术实施例的容错路由的处理装置可以用于执行本技术实施例所提供的用于容错路由的处理方法。以下对本技术实施例提供的容错路由的处理装置进行介绍。
[0087]
图6是根据本技术实施例的容错路由的处理装置的示意图。如图6所示,该装置包括:第一确定单元601、第二确定单元602和第三确定单元603。
[0088]
具体地,第一确定单元601,用于确定片上网络中的源节点和目的节点,其中,片上网络的结构为网格结构;
[0089]
第二确定单元602,用于确定片上网络中的多个目标节点,其中,依据片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定目标节点;
[0090]
第三确定单元603,用于依据源节点、目的节点和多个目标节点,确定目标容错路由,其中,目标容错路由对应的路由值小于第一容错路由对应的路由值,第一容错路由为片上网络中除目标容错路由之外的其他从源节点到目的节点的容错路由。
[0091]
综上,本技术实施例提供的容错路由的处理装置,通过第一确定单元601确定片上网络中的源节点和目的节点,其中,片上网络的结构为网格结构;第二确定单元602确定片上网络中的多个目标节点,其中,依据片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定目标节点;第三确定单元603依据源节点、目的节点和多个目标节点,确定目标容错路由,其中,目标容错路由对应的路由值小于第一容错路由对应的路由值,第一容错路由为片上网络中除目标容错路由之外的其他从源节点到目的节点的容错路由,解决了相关技术中在网格结构的片上网络中寻找最短路径的容错路由时,容易引起片上网络拥塞的问题。通过依据网格结构的片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定多个目标节点,并依据多个目标节点和片上网络中的源节点、目的节点,确定片上网络中路径最短的容错路由,从而达到了在网格结构的片上网络中寻找最短路径的容错路由时,避免引起片上网络拥塞的效果。
[0092]
可选地,在本技术实施例提供的容错路由的处理装置中,第二确定单元包括:第一确定子单元,用于执行步骤s1:将源节点作为当前节点;第一获取子单元,用于步骤s2:获取
片上网络中每个节点的状态信息;第二确定子单元,用于执行步骤s3:依据片上网络中每个节点的状态信息和当前节点的后继节点,确定多个第一节点;第三确定子单元,用于执行步骤s4:依据每个第一节点对应的权值,确定目标节点;第四确定子单元,用于执行步骤s5:若当前节点不是目的节点,则将目标节点作为当前节点,循环执行步骤s2至步骤s4,直到当前节点为目的节点为止,得到多个目标节点。
[0093]
可选地,在本技术实施例提供的容错路由的处理装置中,该装置还包括:第一获取单元,用于在依据每个第一节点对应的权值,确定目标节点之前,获取多个第一节点中两个节点之间的历史转发数据量和每个第一节点对应的待转发数据量;第一处理单元,用于依据历史转发数据量和每个第一节点对应的待转发数据量,得到每个第一节点对应的权值。
[0094]
可选地,在本技术实施例提供的容错路由的处理装置中,第三确定子单元包括:第一筛选模块,用于依据每个第一节点对应的权值,从多个第一节点中筛选出权值最小的节点;第一处理模块,用于将筛选出的权值最小的节点作为目标节点。
[0095]
可选地,在本技术实施例提供的容错路由的处理装置中,第二确定子单元包括:第一确定模块,用于依据片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值,其中,第一特征值用于表示从源节点到当前节点的第二容错路由的数量,第二特征值用于表示从当前节点到目的节点的第三容错路由的数量,第二容错路由对应的路由值小于片上网络中除第二容错路由之外的其他从源节点到当前节点的容错路由对应的路由值,第三容错路由对应的路由值小于片上网络中除第三容错路由之外的其他从当前节点到目的节点的容错路由对应的路由值;第一选择模块,用于从当前节点的后继节点中选择第一特征值和第二特征值均大于第一预设值的节点作为多个第一节点。
[0096]
可选地,在本技术实施例提供的容错路由的处理装置中,第一确定模块包括:第一确定子模块,用于若片上网络中的节点为故障节点,则确定片上网络中的节点对应的第一特征值和第二特征值均为第一预设值;第二确定子模块,用于若片上网络中的节点不为故障节点,且片上网络中的节点为源节点,则确定片上网络中的节点对应的第一特征值为第二预设值,其中第二预设值大于第一预设值;第三确定子模块,用于若片上网络中的节点不为故障节点,且片上网络中的节点不为源节点,且片上网络中不存在目标前驱节点,则确定片上网络中的节点对应的第一特征值为第一预设值,其中,目标前驱节点为片上网络中的节点对应的前驱节点;第四确定子模块,用于若片上网络中的节点不为故障节点,且片上网络中的节点为目的节点,则确定片上网络中的节点对应的第二特征值为第二预设值;第五确定子模块,用于若片上网络中的节点不为故障节点,且片上网络中的节点不为目的节点,且片上网络中不存在目标后继节点,则确定片上网络中的节点对应的第二特征值为第一预设值,其中,目标后继节点为片上网络中的节点对应的后继节点。
[0097]
可选地,在本技术实施例提供的容错路由的处理装置中,每个第一节点对应的权值由下述函数确定:其中,u表示第一节点,v表示第一节点u的下一跳节点,lc(u)表示第一节点u对应的待转发数据量,lh(u,v)表示第一节点u向v的历史转发数据量,和分别表示下一跳节点v的总缓存容量和剩余缓存容量,w(v)表示下一跳节点v的权值。
[0098]
容错路由的处理装置包括处理器和存储器,上述第一确定单元601、第二确定单元602和第三确定单元603等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0099]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,在网格结构的片上网络中寻找最短路径的容错路由时,通过调整内核参数来避免引起片上网络拥塞的情况。
[0100]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0101]
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述容错路由的处理方法。
[0102]
如图7所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:确定片上网络中的源节点和目的节点,其中,所述片上网络的结构为网格结构;确定所述片上网络中的多个目标节点,其中,依据所述片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定所述目标节点;依据所述源节点、所述目的节点和所述多个目标节点,确定目标容错路由,其中,所述目标容错路由对应的路由值小于第一容错路由对应的路由值,所述第一容错路由为所述片上网络中除所述目标容错路由之外的其他从所述源节点到所述目的节点的容错路由。
[0103]
处理器执行程序时还实现以下步骤:确定所述片上网络中的多个目标节点包括:步骤s1:将所述源节点作为当前节点;步骤s2:获取所述片上网络中每个节点的状态信息;步骤s3:依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点;步骤s4:依据每个第一节点对应的权值,确定所述目标节点;步骤s5:若所述当前节点不是所述目的节点,则将所述目标节点作为所述当前节点,循环执行步骤s2至步骤s4,直到所述当前节点为所述目的节点为止,得到所述多个目标节点。
[0104]
处理器执行程序时还实现以下步骤:在依据每个第一节点对应的权值,确定所述目标节点之前,所述方法还包括:获取所述多个第一节点中两个节点之间的所述历史转发数据量和每个第一节点对应的所述待转发数据量;依据所述历史转发数据量和每个第一节点对应的所述待转发数据量,得到每个第一节点对应的权值。
[0105]
处理器执行程序时还实现以下步骤:依据每个第一节点对应的权值,确定所述目标节点包括:依据每个第一节点对应的权值,从所述多个第一节点中筛选出权值最小的节点;将筛选出的权值最小的节点作为所述目标节点。
[0106]
处理器执行程序时还实现以下步骤:依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点包括:依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值,其中,所述第一特征值用于表示从所述源节点到所述当前节点的第二容错路由的数量,所述第二特征值用于表示从所述当前节点到所述目的节点的第三容错路由的数量,所述第二容错路由对应的路由值小于所述片上网络中除所述第二容错路由之外的其他从所述源节点到所述当前节点的容错路由对应的路由值,所述第三容错路由对应的路由值小于所述片上网络中除所述第三容错路由之
外的其他从所述当前节点到所述目的节点的容错路由对应的路由值;从所述当前节点的后继节点中选择所述第一特征值和所述第二特征值均大于第一预设值的节点作为所述多个第一节点。
[0107]
处理器执行程序时还实现以下步骤:依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值包括:若所述片上网络中的节点为故障节点,则确定所述片上网络中的节点对应的第一特征值和第二特征值均为所述第一预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述源节点,则确定所述片上网络中的节点对应的第一特征值为第二预设值,其中所述第二预设值大于所述第一预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述源节点,且所述片上网络中不存在目标前驱节点,则确定所述片上网络中的节点对应的第一特征值为所述第一预设值,其中,所述目标前驱节点为所述片上网络中的节点对应的前驱节点;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述目的节点,则确定所述片上网络中的节点对应的第二特征值为所述第二预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述目的节点,且所述片上网络中不存在目标后继节点,则确定所述片上网络中的节点对应的第二特征值为所述第一预设值,其中,所述目标后继节点为所述片上网络中的节点对应的后继节点。
[0108]
处理器执行程序时还实现以下步骤:每个第一节点对应的权值由下述函数确定:其中,u表示所述第一节点,v表示所述第一节点u的下一跳节点,lc(u)表示所述第一节点u对应的所述待转发数据量,lh(u,v)表示所述第一节点u向v的所述历史转发数据量,和分别表示所述下一跳节点v的总缓存容量和剩余缓存容量,w(v)表示所述下一跳节点v的权值。
[0109]
本文中的设备可以是服务器、pc、pad、手机等。
[0110]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定片上网络中的源节点和目的节点,其中,所述片上网络的结构为网格结构;确定所述片上网络中的多个目标节点,其中,依据所述片上网络中的两个节点间的历史转发数据量和节点对应的待转发数据量确定所述目标节点;依据所述源节点、所述目的节点和所述多个目标节点,确定目标容错路由,其中,所述目标容错路由对应的路由值小于第一容错路由对应的路由值,所述第一容错路由为所述片上网络中除所述目标容错路由之外的其他从所述源节点到所述目的节点的容错路由。
[0111]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:确定所述片上网络中的多个目标节点包括:步骤s1:将所述源节点作为当前节点;步骤s2:获取所述片上网络中每个节点的状态信息;步骤s3:依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点;步骤s4:依据每个第一节点对应的权值,确定所述目标节点;步骤s5:若所述当前节点不是所述目的节点,则将所述目标节点作为所述当前节点,循环执行步骤s2至步骤s4,直到所述当前节点为所述目的节点为止,得到所述多个目标节点。
[0112]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在依据
每个第一节点对应的权值,确定所述目标节点之前,所述方法还包括:获取所述多个第一节点中两个节点之间的所述历史转发数据量和每个第一节点对应的所述待转发数据量;依据所述历史转发数据量和每个第一节点对应的所述待转发数据量,得到每个第一节点对应的权值。
[0113]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据每个第一节点对应的权值,确定所述目标节点包括:依据每个第一节点对应的权值,从所述多个第一节点中筛选出权值最小的节点;将筛选出的权值最小的节点作为所述目标节点。
[0114]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据所述片上网络中每个节点的状态信息和所述当前节点的后继节点,确定多个第一节点包括:依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值,其中,所述第一特征值用于表示从所述源节点到所述当前节点的第二容错路由的数量,所述第二特征值用于表示从所述当前节点到所述目的节点的第三容错路由的数量,所述第二容错路由对应的路由值小于所述片上网络中除所述第二容错路由之外的其他从所述源节点到所述当前节点的容错路由对应的路由值,所述第三容错路由对应的路由值小于所述片上网络中除所述第三容错路由之外的其他从所述当前节点到所述目的节点的容错路由对应的路由值;从所述当前节点的后继节点中选择所述第一特征值和所述第二特征值均大于第一预设值的节点作为所述多个第一节点。
[0115]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据所述片上网络中每个节点的状态信息,分别确定每个节点对应的第一特征值和第二特征值包括:若所述片上网络中的节点为故障节点,则确定所述片上网络中的节点对应的第一特征值和第二特征值均为所述第一预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述源节点,则确定所述片上网络中的节点对应的第一特征值为第二预设值,其中所述第二预设值大于所述第一预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述源节点,且所述片上网络中不存在目标前驱节点,则确定所述片上网络中的节点对应的第一特征值为所述第一预设值,其中,所述目标前驱节点为所述片上网络中的节点对应的前驱节点;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点为所述目的节点,则确定所述片上网络中的节点对应的第二特征值为所述第二预设值;若所述片上网络中的节点不为所述故障节点,且所述片上网络中的节点不为所述目的节点,且所述片上网络中不存在目标后继节点,则确定所述片上网络中的节点对应的第二特征值为所述第一预设值,其中,所述目标后继节点为所述片上网络中的节点对应的后继节点。
[0116]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:每个第一节点对应的权值由下述函数确定:其中,u表示所述第一节点,v表示所述第一节点u的下一跳节点,lc(u)表示所述第一节点u对应的所述待转发数据量,lh(u,v)表示所述第一节点u向v的所述历史转发数据量,和分别表示所述下一跳节点v的总缓存容量和剩余缓存容量,w(v)表示所述下一跳节点v的权值。
[0117]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0118]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0119]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0120]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0121]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0122]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0123]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0124]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0125]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存
储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0126]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献