本技术涉及数据传输领域,特别涉及一种路由分配方法、系统、装置及存储介质。
背景技术:
1、随着互联网的高速发展和普及,网络流量也呈现爆炸式增长,这给信息交换网络带来了巨大的压力。交换设备成为了网络的瓶颈,因此,我们迫切需要研究一种更大容量、更好性能的交换网络以及高性能调度算法。
2、具体地,在蝴蝶网络(butterfly network)拓扑结构中,包括许多终端节点和路由节点。终端节点也称为输入输出节点,是系统中的最外层节点,用于与系统外部进行通信。而路由节点是系统中的中间节点,其主要功能是处理和转发数据包。路由节点接收来自终端节点的数据包,并根据事先确定的路由策略,将数据包发送到下一个目的节点。这里,终端节点和路由节点之间通过通信链路进行连接,终端节点通过输入通道将数据包发送给相邻的路由节点,而路由节点则通过路由算法选择下一个目的节点,并通过输出通道将数据包发送给下一个节点。通过这种方式,数据包在终端节点和路由节点之间相互转发,最终到达目的节点。蝴蝶网络中的终端节点和路由节点协作,实现了数据的传输和通信。
3、目前,在数据传输过程中,有两种确定路由策略的方式。一种是选择特定的目标路由节点,按照确定的路径进行数据传输;另一种是随机选择可连接源终端节点和目标终端节点的路径。然而,这两种方法均未考虑各个路由节点的工作状态,可能导致某些路由节点严重阻塞,并造成数据传输的延迟问题。
4、因此,我们需要更进一步地研究并开发能够考虑路由节点工作状态的路由策略和调度算法。
技术实现思路
1、本技术的目的是提供一种路由分配方法、系统、装置及存储介质,增加了考虑各个路由节点的工作状态进行路由决策的步骤,通过确定工作状态并根据预设匹配条件选择目标传输路径和目标节点,可以避免某些路由节点的严重阻塞问题,从而解决了目前可能出现的路由节点阻塞和数据传输延迟的问题。
2、为解决上述技术问题,本技术提供了一种路由分配方法,应用于蝴蝶网络结构中的各路由节点,各所述路由节点连接若干个终端节点和其它的路由节点,所述方法包括:
3、在接收到输入节点发送的输入请求时,确定自身及与自身连接的所述终端节点和其它所述路由节点当前的工作状态,所述输入节点为与自身连接的终端节点或路由节点;
4、在所述工作状态满足预设匹配条件时,根据所述输入请求和所述工作状态确定目标传输路径,并根据所述目标传输路径确定目标节点,所述目标节点为与自身连接的所述终端节点或其它所述路由节点;
5、将与所述输入请求对应的待输入数据输出至所述目标节点。
6、在一个实施例中,在接收到输入节点发送的输入请求时,确定自身当前的工作状态,包括:
7、在接收到输入节点发送的输入请求时,确定自身当前是否处于占用状态;
8、若处于占用状态,则判定不满足所述预设匹配条件。
9、在一个实施例中,在接收到输入节点发送的输入请求时,确定自身当前是否处于占用状态,包括:
10、在接收到输入节点发送的输入请求时,确定自身是否正在传输数据;
11、若自身正在传输数据,则判定不满足所述预设匹配条件。
12、在一个实施例中,在接收到输入节点发送的输入请求时,确定自身是否正在传输数据,包括:
13、在接收到输入节点发送的输入请求时,确定自身的输入端当前是否存在数据输入;
14、若存在数据输入,则判定不满足所述预设匹配条件。
15、在一个实施例中,还包括:
16、判断是否允许将所述待输入数据输出;
17、若不允许,则不允许执行将与所述输入请求对应的待输入数据输出至所述目标节点的步骤。
18、在一个实施例中,各个所述路由节点设有和自身对应的输出缓存,判断是否允许将所述待输入数据输出,包括:
19、根据和自身对应的输出缓存的状态确定是否允许将所述待输入数据输出。
20、在一个实施例中,根据和自身对应的输出缓存的状态确定是否允许将所述待输入数据输出,包括:
21、根据和自身对应的输出缓存是否为存满状态确定是否允许将所述待输入数据输出;
22、若所述输出缓存为存满状态,则判定不允许将所述待输入数据输出;否则,判定允许将所述待输入数据输出。
23、在一个实施例中,还包括:
24、若满足所述预设匹配条件,则输出第一提示信息;否则输出第二提示信息。
25、在一个实施例中,根据所述输入请求和所述工作状态确定目标传输路径,根据所述目标传输路径确定目标节点之后,还包括:
26、将所述目标传输路径锁定直至完成对所述待输入数据的传输。
27、在一个实施例中,所述待输入数据被划分为若干个子数据;将所述目标传输路径锁住直至完成对所述待输入数据的传输,包括:
28、根据当前传输的子数据的标识信息确定当前传输的子数据是否为最后一部分子数据;
29、若是,则在传输完最后一部分子数据之后,释放所述目标传输路径;
30、否则,保持所述目标传输路径为锁定状态。
31、在一个实施例中,根据当前传输的子数据的标识信息确定当前传输的子数据是否为最后一部分子数据,包括:
32、根据当前传输的子数据的头部信息和尾部信息确定当前传输的子数据是否为最后一部分子数据。
33、在一个实施例中,确定自身当前是否处于占用状态,包括:
34、确定自身是否存在对应的目标传输路径处于锁定状态;
35、若存在对应的目标传输路径处于锁定状态,则判定自身处于所述占用状态。
36、在一个实施例中,将与所述输入请求对应的待输入数据输出至所述目标节点,包括:
37、将与所述输入请求对应的待输入数据写入至和自身对应的输出缓存中;
38、在满足预设输出条件时,将所述待输入数据从所述输出缓存中输出至所述目标节点。
39、在一个实施例中,在满足预设输出条件时,将所述待输入数据从所述输出缓存中输出至所述目标节点,包括:
40、获取所述目标节点的工作状态,根据所述目标节点的工作状态确定所述目标节点是否满足预设输入条件;
41、若满足,则判定自身满足所述预设输出条件,并将所述待输入数据从所述输出缓存中输出至所述目标节点。
42、在一个实施例中,还包括:
43、若满足所述预设输出条件,则输出第三提示信息;否则输出第四提示信息。
44、在一个实施例中,根据所述输入请求和所述工作状态确定目标传输路径,并根据所述目标传输路径确定目标节点,包括:
45、根据所述输入请求得到输入节点携带的路由向量;
46、根据所述路由向量确定目标节点以及自身输出所述待输入数据至目标节点的方式。
47、在一个实施例中,所述输入节点为与自身连接的终端节点时,还包括:
48、根据所述终端节点的第一地址和目的节点的第二地址计算所述终端节点所需携带的路由向量。
49、在一个实施例中,根据所述输入请求得到输入节点携带的路由向量之后,还包括:
50、根据所述路由向量及预设路由算法确定自身是否为传输至目的节点的最后一个路由节点;若是,则将所述待输入数据输出至目的节点,所述目的节点为所述目标节点。
51、在一个实施例中,若自身不是传输至所述目的节点的最后一个路由节点,则所述目标节点为下一个路由节点;
52、根据所述路由向量确定目标节点以及自身输出待输入数据至目标节点的方式,包括:
53、根据与自身连接的各个终端节点和其它所述路由节点携带的路由向量构建初始路由矩阵;其中,所述初始路由矩阵的行为输入时,列为输出,或,所述初始路由矩阵的列为输入时,行为输出;
54、获取各个节点当前的输入状态,将所述输入状态为锁定状态的节点对应的输入行或输入列设为零;其中,所述锁定状态表征所述节点正在输入数据;
55、获取各个节点当前的输出状态,将所述输出状态为未授权状态的节点对应的输出列或输出行设为零;其中,所述授权状态表征所述节点允许输出数据;
56、对所述初始路由矩阵的输出行或输出列依次扫描,在扫描到首个不为零的矩阵元素时,确定所述不为零的矩阵元素所在的目标输出行或目标输出列,并将所述目标输出行或所述目标输出列的其余矩阵元素设为零;
57、在所述初始路由矩阵的每个输出行或输出列中最多存在一个不为零的矩阵元素时,得到最终路由矩阵,所述最终路由矩阵表征自身输出所述待输入数据至目标节点的方式。
58、在一个实施例中,还包括:
59、根据所述最终路由矩阵及所述初始路由矩阵得到更新后的路由向量,将所述更新后的路由向量作为自身携带的路由向量,以输出至目标节点。
60、为解决上述技术问题,本技术还提供了一种路由分配系统,应用于蝴蝶网络结构中的各路由节点,各所述路由节点连接若干个终端节点和其它的路由节点,所述系统包括:
61、工作状态确定单元,用于在接收到输入节点发送的输入请求时,确定自身及与自身连接的所述终端节点和其它所述路由节点当前的工作状态,所述输入节点为与自身连接的终端节点或路由节点;
62、分配单元,用于在所述工作状态满足预设匹配条件时,根据所述输入请求和所述工作状态确定目标传输路径,并根据所述目标传输路径确定目标节点,所述目标节点为与自身连接的所述终端节点或其它所述路由节点;
63、数据传输单元,用于将与所述输入请求对应的待输入数据输出至所述目标节点。
64、为解决上述技术问题,本技术还提供了一种路由分配装置,包括:
65、存储器,用于存储计算机程序;
66、处理器,用于在存储计算机程序时,实现如上述所述的路由分配方法的步骤。
67、为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的路由分配方法的步骤。
68、本技术提供了一种路由分配方法,涉及数据传输领域,解决路由节点阻塞和数据传输延迟的问题。在接收到输入节点发送的输入请求时,确定自身及与自身连接的终端节点和其它路由节点当前的工作状态;在工作状态满足预设匹配条件时,根据输入请求和工作状态确定目标传输路径,并根据目标传输路径确定目标节点;将与输入请求对应的待输入数据输出至目标节点。可见,本技术增加了考虑各个路由节点的工作状态进行路由决策的步骤,通过确定工作状态并根据预设匹配条件选择目标传输路径和目标节点,可以避免某些路由节点的严重阻塞问题,从而解决了目前可能出现的路由节点阻塞和数据传输延迟的问题。
69、本技术还提供了一种路由分配系统、装置及存储介质,与上述描述的路由分配方法具有相同的有益效果。