CN117176644A - 一种多通道路由匹配方法、装置、设备及存储介质 - Google Patents

一种多通道路由匹配方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117176644A
CN117176644A CN202311388208.0A CN202311388208A CN117176644A CN 117176644 A CN117176644 A CN 117176644A CN 202311388208 A CN202311388208 A CN 202311388208A CN 117176644 A CN117176644 A CN 117176644A
Authority
CN
China
Prior art keywords
matching
vector
output
input
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311388208.0A
Other languages
English (en)
Other versions
CN117176644B (zh
Inventor
韩钊
张磊
丰大勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311388208.0A priority Critical patent/CN117176644B/zh
Publication of CN117176644A publication Critical patent/CN117176644A/zh
Application granted granted Critical
Publication of CN117176644B publication Critical patent/CN117176644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及通信技术领域,公开了一种多通道路由匹配方法、装置、设备及存储介质,方法应用于当前路由节点,包括:识别当前接收到路由数据的一个或多个目标输入通道;确定当前路由节点可用的可用输出通道;将目标输入通道和可用输出通道进行随机匹配,以从可用输出通道中确定出与目标输入通道互相对应的目标输出通道。本发明解决了多通道路由节点的任务分配失衡问题。

Description

一种多通道路由匹配方法、装置、设备及存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种多通道路由匹配方法、装置、设备及存储介质。
背景技术
随着计算机网络的发展,网络结构变得越来越复杂,其性能越来越可靠,从而也促使了许多网络拓扑连接规则的出现,即网络拓扑结构形成机制的构建。通过拓扑图表可以清晰的了解到整个网络中各节点的线路连接情况以及整个网络的外貌结构,其中的节点主要是指网络中连接的各种有源设备,链路是节点之间用于传输数据的线路,计算机网络拓扑结构就是由节点和链路所组成的。特别地,有一种多输入多输出路由节点拓扑结构,在该结构中,每个路由节点都包括多个输入通道和输出通道,例如输入通道个数为n,输出通道个数为m,输入通道和输出通道均按照从小到大的顺序依次编号,针对 n个输入通道收到的路由数据,将通过m输出通道将数据发送到二级节点,从而将数据发送到其他终端节点,那么n个输入通道如何与m个输出通道进行匹配将是决定网络互联结构运行效率的关键。相关技术提供的动态匹配方案一般是以最小编号优先策略依次进行输入输出通道匹配,即最小号的输入通道优先和最小号的可用输出通道匹配在一起,形成数据传输通道,然后次小号的输入通道和次小号的可用输出通道匹配在一起,以此类推。但是这种通道匹配方案将导致编号小的输出通道对应的下一级节点处理的数据任务较多,导致编号小的输出通道发生严重阻塞,且编号大的输出通道严重空闲,即出现任务分配严重“失衡”的问题,而这类任务分配失衡问题将严重影响系统的运行效率。
发明内容
有鉴于此,本发明提供了一种多通道路由匹配方法、装置、设备及存储介质,以解决多通道路由节点的任务分配失衡问题。
第一方面,本发明提供了一种多通道路由匹配方法,应用于当前路由节点,方法包括:识别当前接收到路由数据的一个或多个目标输入通道;确定当前路由节点可用的可用输出通道;将目标输入通道和可用输出通道进行随机匹配,以从可用输出通道中确定出与目标输入通道互相对应的目标输出通道。
根据本发明实施例提供的技术方案,首先识别接收到路由数据的若干目标输入通道和当前路由节点可用的各个可用输出通道,从而按照随机匹配的方法将各个目标输入通道一一与从可用输出通道中随机选出的目标输出通道进行匹配,形成路由通道,使路由数据不集中在路由节点某几个输出通道进行传输,而是均衡利用各个输出通道,从而解决了任务分配失衡问题,显著降低了数据阻塞概率。
在一种可选地实施方式中,将目标输入通道和可用输出通道进行随机匹配,包括:获取目标输入通道的编号;获取可用输出通道的编号;根据当前的通道匹配策略确定各个可用输出通道对应的匹配优先级,通道匹配策略是最小编号优先策略或最大编号优先策略,最小编号优先策略表示进行每轮输入输出通道匹配时,优先将最小编号的目标输入通道和最小编号的可用输出通道匹配为一对,最大编号优先策略表示进行每轮输入输出通道匹配时,优先将最大编号的目标输入通道和最大编号的可用输出通道匹配为一对;随机打乱各个可用输出通道对应的匹配优先级;按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,得到目标输出通道。
根据本发明实施例提供的技术方案,可以依然采用最小编号优先策略或最大编号优先策略进行通道匹配,但是在匹配之前,首先确定目前的通道匹配策略是最大编号还是最小编号,然后根据可用输出通道的实际编号确定各个可用输出通道的匹配优先级,即哪一个可用输出通道最优先匹配,哪一个可用输出通道次优先,以此类推…。之后,本实施例将各个可用输出通道的匹配优先级的打乱,从而令各个可用输出通道的匹配优先级不再按照编号从大到小或从小到大的顺序来确定,而是随机均衡分布,从而按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,即可实现目标输出通道不再集中于最大编号或最小编号的一侧,进而显著减少任务分配失衡的情况,并且各个通道的实际编号不用改变,保证通道匹配的准确率。
在一种可选地实施方式中,随机打乱各个可用输出通道对应的匹配优先级,包括:将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道;按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道中的每一个可用输出通道以优先级递减的原则设置输出匹配计数值。
根据本发明实施例提供的技术方案,每个可用输出通道利用一个输出匹配计数值表征其匹配优先级,从而在随机打乱各个可用输出通道的匹配优先级时,先将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道,然后按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道以优先级递减的顺序设置输出匹配计数值,直至回到当前可用输出通道的位置,实现了一种简单易行、效率高且随机性强的匹配优先级打乱方法,能够显著减少任务分配失衡的问题,令各个可用输出通道都得以使用,且分配效率高,执行速度快。
在一种可选地实施方式中,当通道匹配策略是最小编号优先策略时,将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道, 并按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道以优先级递减的顺序设置输出匹配计数值的步骤,包括:基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,输出匹配向量由第一数字和/或第二数字组成,第一数字在输出匹配向量中的元素位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;获取输出随机数;根据输出随机数从输出匹配向量的最低位开始向高位统计相应位数的向量元素,构成第一向量集;将输出匹配向量的第二向量集和第一向量集进行位置互换,得到移位输出匹配向量,第二向量集是输出匹配向量中除第一向量集以外的剩余位数对应的向量元素组成的向量;将最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最低位,并从移位输出匹配向量的最低位开始向高位扫描,当经过每个第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,其中移位输出匹配向量的位数越高,对应的匹配优先级越低;当经过第二数字时,将上一个输出匹配计数值写入移位输出匹配向量的当前扫描位置;将扫描后得到的第二移位输出匹配向量中的移位输出匹配向量元素,按照第一向量集和第二向量集所在的原始位置进行还原,得到还原输出匹配向量,以及,将每一个移位输出匹配向量元素对应的输出匹配计数值,按照第一向量集和第二向量集所在的原始位置进行还原,得到与还原输出匹配向量对应的输出匹配计数值;根据还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
根据本发明实施例提供的技术方案,针对最小编号优先策略,利用各个可用输出通道在全部输出通道中的位置以数字形式转换为输出匹配向量,其中输出通道从小到大的编号对应了输出匹配向量的低位到高位;然后随机选择输出匹配向量从最低位到高位的位数作为第一向量集,剩余数字作为第二向量集,进而将第一向量集和第二向量集位置互换,然后按照位置互换后的移位输出匹配向量为向量中每一位对应的可用输出通道设置表示匹配优先级的输出匹配计数值,设置的优先级顺序是从低位到高位逐渐递减,从而将原本第一向量集中表示优先级最高的可用输出通道变化为第二向量集中某个可用输出通道,令匹配优先级从原本最小编号的通道位置向其他编号随机调整。最后,恢复第一向量集和第二向量集交换之前的位置,以及将第一向量集和第二向量集对应的输出匹配计数值也按照还原操作进行位置互换。得到还原输出匹配向量,以及与还原输出匹配向量对应的输出匹配计数值。从而最后按照还原输出匹配向量中各个位记载的输出匹配计数值对应标记各个可用输出通道对应的匹配优先级,能够起到随机打乱各个可用输出通道匹配优先级的效果。
在一种可选地实施方式中,当通道匹配策略是最大编号优先策略时,将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道, 并按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道以优先级递减的顺序设置输出匹配计数值的步骤,包括:基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,输出匹配向量由第一数字和/或第二数字组成,第一数字在输出匹配向量中的元素位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;获取输出随机数;根据输出随机数从输出匹配向量的最高位开始向低位统计相应位数的向量元素,构成第三向量集;将输出匹配向量的第四向量集和第三向量集进行位置互换,得到移位输出匹配向量,第四向量集是输出匹配向量中除第三向量集以外的剩余位数字对应的向量元素组成的向量;将最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最高位,并从移位输出匹配向量的最高位开始向低位扫描,当经过每个第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,其中移位输出匹配向量的位数越高,对应的匹配优先级越高;当经过第二数字时,将上一个输出匹配计数值写入移位输出匹配向量的当前扫描位置;将扫描后得到的第三移位输出匹配向量中的移位输出匹配向量元素,按照第三向量集和第四向量集所在的原始位置进行还原,得到还原输出匹配向量,以及,将每一个移位输出匹配向量元素对应的输出匹配计数值,按照第三向量集和第四向量集所在的原始位置进行还原,得到与还原输出匹配向量对应的输出匹配计数值;根据还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
根据本发明实施例提供的技术方案,针对最大编号优先策略,利用各个可用输出通道在全部输出通道中的位置以数字形式转换为输出匹配向量,其中输出通道从小到大的编号对应了输出匹配向量的低位到高位;然后随机选择输出匹配向量从最高位到低位的位数作为第三向量集,剩余数字作为第四向量集,进而将第三向量集和第四向量集位置互换,然后按照位置互换后的移位输出匹配向量为向量中每一位对应的可用输出通道设置表示匹配优先级的输出匹配计数值,设置的优先级顺序是从高位到低位逐渐递减,从而将原本第三向量集中表示优先级最高的可用输出通道变化为第四向量集中某个可用输出通道,令匹配优先级从原本最大编号的通道位置向其他编号随机调整。最后,恢复第三向量集和第四向量集交换之前的位置,以及将第一向量集和第二向量集对应的输出匹配计数值也按照还原操作进行位置互换。得到还原输出匹配向量,以及与还原输出匹配向量对应的输出匹配计数值。从而最后按照还原输出匹配向量中各个位记载的输出匹配计数值对应标记各个可用输出通道对应的匹配优先级,能够起到随机打乱各个可用输出通道匹配优先级的效果。
在一种可选地实施方式中,随机打乱各个可用输出通道对应的匹配优先级,包括:按照各个可用输出通道的排序获取匹配优先级序列,匹配优先级序列由各个可用输出通道对应的输出匹配计数值排序得到,其中各个输出匹配计数值用于表征各个可用输出通道的匹配优先级;将匹配优先级序列的中的首尾数值移动到匹配优先级序列的随机位置,并将匹配优先级序列翻转;将翻转后的匹配优先级序列中的数值按照各个可用输出通道的排序依次赋予各个可用输出通道,得到各个可用输出通道更新后的匹配优先级。
根据本发明实施例提供的技术方案,还提供了一种将匹配优先级序列的中的首尾数值移动到匹配优先级序列的随机位置,并将匹配优先级序列翻转,从而将原始的匹配优先级随机打算的策略,从而将最大编号或者最小编号的匹配优先级从第一个可用输出通道或最后一个可用输出通道转变到其他可用输出通道的中间位置,起到了随机打乱各个可用输出通道匹配优先级的效果,能够显著降低任务分配不均衡的问题。
在一种可选地实施方式中,在按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,得到目标输出通道之前,方法还包括:根据当前的通道匹配策略确定各个目标输入通道对应的匹配优先级;随机打乱各个目标输入通道对应的匹配优先级。
在一种可选地实施方式中,随机打乱各个目标输入通道对应的匹配优先级,包括:将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值。
在一种可选地实施方式中,当通道匹配策略是最小编号优先策略时,将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值,包括:基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,输入匹配向量由第一数字和第二数字组成,第一数字在输入匹配向量中的元素位置表示目标输入通道在全部输入通道中的位置,第二数字在输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;获取输入随机数;根据输入随机数从输入匹配向量的最低位开始向高位统计相应位数的向量元素,构成第五向量集;将输入匹配向量的第六向量集和第五向量集进行位置互换,得到移位输入匹配向量,第六向量集是输入匹配向量中除第五向量集以外的剩余位数字对应的向量元素组成的向量;将最高匹配优先级的输入匹配计数值写入移位输入匹配向量的最低位,并从移位输入匹配向量的最低位开始向高位扫描,当经过每个第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,其中移位输入匹配向量的位数越高,对应的匹配优先级越低;当经过第二数字时,将上一个输入匹配计数值写入移位输入匹配向量的当前扫描位置;将扫描后得到的第四移位输入匹配向量中的移位输入匹配向量元素,按照第五向量集和第六向量集所在的原始位置进行还原,得到还原输入匹配向量,以及,将每一个移位输入匹配向量元素对应的输入匹配计数值,按照第五向量集和第六向量集所在的原始位置进行还原,得到与还原输入匹配向量对应的输入匹配计数值;根据还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
在一种可选地实施方式中,当通道匹配策略是最大编号优先策略时,将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值,包括:基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,输入匹配向量由第一数字和第二数字组成,第一数字在输入匹配向量中的元素位置表示目标输入通道在全部输入通道中的位置,第二数字在输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;获取输入随机数;根据输入随机数从输入匹配向量的最高位开始向低位统计相应位数的向量元素,构成第七向量集;将输入匹配向量的第八向量集和第七向量集进行位置互换,得到移位输入匹配向量,第八向量集是输入匹配向量中除第七向量集以外的剩余位数字对应的向量元素组成的向量;将最高匹配优先级的输入匹配计数值写入移位输入匹配向量的最高位,并从移位输入匹配向量的最高位开始向低位扫描,当经过每个第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,其中移位输入匹配向量的位数越高,对应的匹配优先级越高;当经过第二数字时,将上一个输入匹配计数值写入移位输入匹配向量的当前扫描位置;将扫描后得到的第五移位输入匹配向量中的移位输入匹配向量元素,按照第七向量集和第八向量集所在的原始位置进行还原,得到还原输入匹配向量,以及,将每一个移位输入匹配向量元素对应的输入匹配计数值,按照第七向量集和第八向量集所在的原始位置进行还原,得到与还原输入匹配向量对应的输入匹配计数值;根据还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
在一种可选地实施方式中,随机打乱各个目标输入通道对应的匹配优先级,包括:按照各个目标输入通道的排序获取第二匹配优先级序列,第二匹配优先级序列由各个目标输入通道对应的输入匹配计数值排序得到,其中各个输入匹配计数值用于表征各个目标输入通道的匹配优先级;将第二匹配优先级序列的中的首尾数值移动到第二匹配优先级序列的随机位置,并将第二匹配优先级序列翻转;将翻转后的第二匹配优先级序列中的数值按照各个目标输入通道的排序依次赋予各个目标输入通道,得到各个目标输入通道更新后的匹配优先级。
根据本发明实施例提供的技术方案,除了可用输出通道的匹配优先级随机打乱策略之外,还能够对目标输入通道采用同样的策略将其对应的匹配优先级随机打乱,从而进一步提高各个目标输入通道和各个可用输出通道匹配的随机性,从而显著降低数据传输任务分配不均衡的问题,提高数据传输效率。
在一种可选地实施方式中,获取输出随机数,包括:向真随机数发生模块发送获取指令;接收真随机数发生模块发送的输出随机数,输出随机数是真随机数发生模块响应于获取指令生成的随机数。
在一种可选地实施方式中,获取输入随机数,包括:向真随机数发生模块发送第二获取指令;接收真随机数发生模块发送的输入随机数,输入随机数是真随机数发生模块响应于第二获取指令生成的随机数。
根据本发明实施例提供的技术方案,随机匹配过程中随机数的获取通过真随机数发生模块生成,相比采用目前常用的随机数算法计算出的伪随机数,输入随机数和输出随机数跟逼近真实的随机情况,从而进一步提高通道匹配的均衡性。
在一种可选地实施方式中,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,包括:当扫描经过第一数字时,将上一个写入的输出匹配计数值加1。
在一种可选地实施方式中,第一数字为1,第二数字为0。
第二方面,本发明提供了一种多通道路由匹配装置,应用于当前路由节点,装置包括:输入通道识别模块,用于识别当前接收到路由数据的一个或多个目标输入通道;输出通道识别模块,用于确定当前路由节点可用的可用输出通道;随机匹配模块,用于将目标输入通道和可用输出通道进行随机匹配,以从可用输出通道中确定出与目标输入通道互相对应的目标输出通道。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
在一种可选地实施方式中,处理器包括输入随机数产生模块、输出随机数产生模块、路由匹配模块和数据转发模块,输入随机数产生模块、输出随机数产生模块和数据转发模块分别与路由匹配模块通信连接,路由匹配模块通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
在一种可选地实施方式中,输入随机数产生模块和输出随机数产生模块均是真随机数发生模块。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中多输入多输出路由节点拓扑结构的结构示意图;
图2是相关技术中通过最小编号优先策略匹配输入输出通道的结构示意图;
图3是根据本发明实施例的一种多通道路由匹配方法的流程示意图;
图4是相关技术中通过最小编号优先策略匹配输入输出通道的另一个结构示意图;
图5是根据本发明实施例的一种多通道路由匹配方法匹配输入输出通道的结构示意图;
图6是根据本发明实施例打乱可用输出通道匹配优先级的结构示意图;
图7是根据本发明实施例的输出匹配向量移位结构示意图;
图8是根据本发明实施例的通过移位后的输出匹配向量设置各个输出通道匹配优先级的结构示意图;
图9是根据本发明实施例的还原输出匹配向量的结构示意图;
图10是根据本发明实施例的输入匹配向量移位结构示意图;
图11是根据本发明实施例的通过移位后的输入匹配向量设置各个目标输入通道匹配优先级的结构示意图;
图12是根据本发明实施例的还原输入匹配向量的结构示意图;
图13是根据本发明实施例的一种多通道路由匹配方法匹配输入输出通道的另一个结构示意图;
图14是根据本发明实施例的一种多通道路由匹配装置的流程示意图;
图15是本发明实施例的计算机设备的硬件结构示意图;
图16是本发明实施例的处理器的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着计算机网络的发展,人们发现计算机网络拓扑结构存在着节点度的幂律分布特点,节点度的幂律分布特点促使了网络拓扑模型的巨大转变,越来越多的模型构建都是从幂律规律中的优先连接和优化生长的特点入手,让比较符合计算机拓扑性质的模型根据其中的一些简单的演化规律自动地产生、生长和连接,通过这种优先连接和优先生长的规律不断地加入新节点。正是网络拓扑结构的这些特点,使得网络的发展变得越来越复杂,其性能越来越可靠,从而也促使了许多网络拓扑连接规则的出现,即网络拓扑结构形成机制的构建。
计算机网络的拓扑结构是指网络中包括计算机在内的各种网络设备(如路由器、交换机等)实现网络互连所展现出来的抽象连接方式。计算机网络拓扑所关心的是这种连接关系及其图表绘示,并不在意所连接计算机或设备的各种细节,通过拓扑图表可以清晰的了解到整个网络中各节点的线路连接情况以及整个网络的外貌结构。其中的节点主要是指网络中连接的各种有源设备,所以计算机网络拓扑结构由节点和链路组成。
如图1所示,为多输入多输出路由节点拓扑结构,在该路由节点拓扑结构中,输入终端节点个数为n,对应了n个输入通道,输出下一级节点个数为m,对应m个输出通道。在某一时刻,n个输入终端节点发起向其他输出终端节点的数据路由请求,假如此时,图1的路由节点为第一级路由节点(非最后一级路由节点),即n个输入终端节点发起的数据请求将随机地匹配到m个二级节点(若为最后一级路由节点,则数据路由是根据路由目的向量选择对应的输出终端节点)进行数据路由。那么,n个输入请求如何与m个输出通道进行匹配将是决定网络互联结构运行效率的关键,传统的动态匹配方案中,通常以最小编号优先策略(有时也以最大编号优先策略)依次进行输入输出通道匹配,即以输入通道/输出通道号最小为最高优先级的原则,依次进行输入输出通道匹配。
假设图1中的当前路由节点是一个6输入/6输出的路由节点,以该节点为例阐述传统动态匹配方案的执行过程,假设数据路由请求的对应关系为:输入终端节点0对应输出终端节点31,输入终端节点1对应输出终端节点20,输入终端节点2对应输出终端节18,输入终端节点3对应输出终端节点35,输入终端节点4对应输出终端节点14,输入终端节点5对应输出终端节点45。其中,输入终端节点0~5对应当前路由节点的编号0~5六个输入通道,输出终端节点31、20、18、35、14、45分别对应了编号0~5六个输出通道。假设此时输入终端节点向输入通道0、2、4发起数据路由申请,输出通道0~5都可用,如图2所示,那么按照最小编号优先策略进行匹配,则是输入通道0匹配输出通道0,输入通道2匹配输出通道1,输入通道4匹配输出通道2。
可见,相关技术采用最小编号优先策略匹配输入输出通道时,会将输入通道0及输出通道0对应的优先级提至最高,而将对应输入通道6及输出通道6对应的匹配优先级降至最低,这样将产生第1个二级节点数据路由任务的严重阻塞而第6个二级节点数据路由任务的严重空闲问题,即任务分配严重“失衡”,该问题将严重影响系统的运行效率。 同理,最大编号优先策略的通道匹配原则也会导致该问题。
为了解决这类问题,根据本发明实施例,提供了一种多通道路由匹配方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种多通道路由匹配方法,可用于上述的当前路由节点,图3是根据本发明实施例的一种多通道路由匹配方法的流程图,该流程包括如下步骤:
步骤S101:识别当前接收到路由数据的一个或多个目标输入通道。
具体地,本发明实施例对当前路由节点的输入输出通道进行匹配之前,首先识别接收到路由数据的目标输入通道。其中当前路由节点的各个输入通道对接的上一终端节点或上一路由节点,而上一终端节点或上一路由节点发起数据路由请求时,对应数据会发送到当前接收到路由数据的输入通道,从而接收到相应请求和数据的输入通道即为目标输入通道,例如图2中编号为0、2、4的输入通道。
步骤S102:确定当前路由节点可用的可用输出通道。
具体地,本发明实施例还需要识别当前的可用输出通道,为后续输入输出通道的匹配工作做前期准备。其中,一个路由节点包括多个输出通道,而输出通道是否可用与连接的下一级路由节点或终端节点有关,如果当前路由节点的各个输出通道连接的二级路由节点都处于可匹配状态,那么当前路由节点的各个输出通道都是可用输出通道,如果某个输出通道连接的二级路由节点为不可匹配状态,那么该输出通道不能发送数据,从而为不可用输出通道。
步骤S103:将目标输入通道和可用输出通道进行随机匹配,以从可用输出通道中确定出与目标输入通道互相对应的目标输出通道。
具体地,当接收到路由数据的若干目标输入通道和当前路由节点可用的各个可用输出通道识别完成,本发明实施例按照随机匹配的方法,根据目标输入通道的数量从可用输出通道中随机选出相应数量的目标输出通道,并将目标输出通道和目标输入通道进行一一对应的随机匹配,形成当前路由节点的路由通道,从而使路由数据不在当前路由节点头部或尾部少量的输出通道进行集中传输,而是随机利用各个输出通道传输数据。例如,图2中的输入通道0、2、4不再集中使用输出通道0、1、2进行数据传输,而是从0~5个输出通道中随机选出三个与输入通道0、2、4进行一一对应的匹配。通过这一方案,解决了任务分配失衡问题,实现了数据传输通道的均衡利用,显著降低了数据阻塞概率。
在一种可选地实施方式中,上述步骤S103包括:
步骤a1,获取目标输入通道的编号。
步骤a2,获取可用输出通道的编号。
步骤a3,根据当前的通道匹配策略确定各个可用输出通道对应的匹配优先级,通道匹配策略是最小编号优先策略或最大编号优先策略,最小编号优先策略表示进行每轮输入输出通道匹配时,优先将最小编号的目标输入通道和最小编号的可用输出通道匹配为一对,最大编号优先策略表示进行每轮输入输出通道匹配时,优先将最大编号的目标输入通道和最大编号的可用输出通道匹配为一对。
步骤a4,随机打乱各个可用输出通道对应的匹配优先级。
步骤a5,按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,得到目标输出通道。
具体地,针对随机选择可用输出通道并与目标输入通道进行匹配的策略,一种可用的实现方法是通过改变可用输出通道的编号来实现:假设目前确定出输入通道0匹配输出通道0,输入通道2匹配输出通道1,输入通道4匹配输出通道3,将输出通道的编号0、1和3与其他输出通道的编号随机交换,虽然输入输出通道的编号匹配关系依然是输入通道0匹配输出通道0,输入通道2匹配输出通道1,输入通道4匹配输出通道3,但是调整后的输出通道已经不是原来的实际输出通道,所以输入通道匹配的输出通道不再每次都位于路由节点的同一个位置,而是随机发生变化,从而起到数据传输任务均衡分配的效果。
这一实现方式的好处是可以不再考虑最小编号优先策略或最大编号优先策略这些较为固定的通道匹配策略,随机性更强。但是这种实现方式需要改变输出通道的编号,长此以往不利于通道匹配的可靠性,较容易出错。
基于此,本发明实施例进一步通过打乱可用输出通道的匹配优先级来实现输入输出通道的随机匹配。
首先,分别获取目标输入通道的编号和可用输出通道的编号;之后,根据当前的通道匹配策略确定各个可用输出通道对应的匹配优先级。例如:假设当前的通道匹配策略是最小编号优先策略,目标输入通道有3个,那么在0~5这6个可用输出通道中,编号0、1、2的可用输出通道是优先级前三名的输出通道,所以需要优先编号0的可用输出通道与最小编号的目标输入通道匹配、其次优先编号1的可用输出通道与编号第二小的目标输入通道匹配,之后优先编号2的可用输出通道与编号第三小的目标输入通道匹配,从而确定出可用输出通道的优先级顺序是从0~5依次递减。之后,本发明实施例可以采用特殊的优先级数字、符号等记号为各个可用输出通道的优先级高低进行标记。
为了随机调整各个可用输出通道和目标输入通道的匹配关系,本发明实施例提供的方案无需对各个可用输出通道的编号进行变化,只需要对表征匹配优先级的符号打乱即可,从而将各个可用输出通道对应的匹配优先级随机打乱,令原本最优先匹配的通道不再优先,而是其他编号的通道优先参与匹配。
最后,按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,即可得到随机匹配的结果,即目标输出通道。
例如:参考图4,假设定义输入匹配向量010101表示输入终端节点0~5中的目标输入通道(编号0的输入通道在最低位,依次递增,向量数字1表示对应的输入通道有数据请求,向量数字0表示对应的输入通道没有数据请求,所以有数据请求的通道是编号为0、2、4的输入通道,本实施例仅以此举例,表示输入输出通道可用和不可用的状态还可以用其他特殊符号实现,并不局限于数字0和1,本实施例并不以此为特殊限定),假设此时对应的6个二级路由节点都处于可匹配状态,那么6个输出通道都可用,假设用输出匹配向量111111表示输出通道的可用状态,图4中,输出匹配向量111111表示6个输出通道都可以进行匹配,即都可用,如果某一位是0则表示对应编号的输出通道不可用。本实施例仅以输出匹配向量和输入匹配向量表示各个通道的可用状态举例,而各个通道的可用状态还可以利用英文字母、特殊符号来进行表示,例如a表示通道可用,b表示通道不可用,那么对应的输入匹配向量就转换为字符串bababa,本发明实施例并不对此作特殊限定。
在本实施例中,以数字表示各个输入通道和输出通道的匹配优先级为例,如果按照最小编号优先策略进行匹配,那么利用输入匹配计数器统计输入匹配向量中“1”的位置,从而按照各个目标输入通道的顺序为各输入通道赋予匹配优先级。因为执行的是最小编号优先策略,所以输入匹配计数器的计算原则为:输入匹配向量010101从低位向高位扫描,遇到“1”令输入匹配计数器做加1操作,遇到“0”则保持当前值,如图4中第3行所示,数字越小表示通道的匹配优先级越高。当然这一逻辑也可用英文字母表示,例如从低位向高位扫描bababa,遇到“a”令输入匹配计数器做加1操作,遇到“b”则保持当前值。
输出匹配计数器用来统计输出匹配向量中“1”的位置,从而用数字表示各个输出通道的匹配优先级,其计算原则与输入匹配计数器相同。例如:输出匹配向量111111从低位向高位扫描,遇到“1”令输入匹配计数器做加1操作,遇到“0”则保持当前值,如图4中第6行所示,数字越小表示通道的匹配优先级越高。
如果各个可用输出通道的匹配优先级没有随机打乱,那么按照最小编号优先策略进行匹配,应当是输入匹配向量=输出匹配向量=1,且此时对应的输入匹配计数等于输出匹配计数时,则对应的输入通道匹配对应的输出通道。
换言之,输入匹配向量=输出匹配向量=1表示对应的输入通道和输出通道都是可用的通道,输入匹配计数等于输出匹配计数表示两个通道的匹配优先级相同,所以匹配在一起。在该例中,输入匹配向量=输出匹配向量=1时,输入匹配计数=输出匹配计数=1,此时输入通道0匹配输出通道0;输入匹配计数=输出匹配计数=2,此时输入通道2匹配输出通道1;输入匹配计数=输出匹配计数=3,此时输入通道4匹配输出通道2,即完成输入与输出端口的匹配关系。
在目前各个通道的匹配优先级基础上,为了解决数据传输任务的分配不均衡问题,本发明实施例不再让各个可用输出通道的匹配优先级按照图4中的第6行所示,而是将计算的各个通道的匹配优先级随机打乱,换言之,打乱的是各个可用输出通道对应的表示匹配优先级的数字符号,假设打乱效果如图5所示,从而原本的输入输出通道匹配关系变为:输入通道0匹配输出通道3、输入通道2匹配输出通道5、输入通道4匹配输出通道0,即完成输入与输出端口的匹配关系。
根据本发明实施例提供的技术方案,可以依然采用最小编号优先策略或最大编号优先策略进行通道匹配,但是在匹配之前,首先确定目前的通道匹配策略是最大编号还是最小编号,然后根据可用输出通道的实际编号确定各个可用输出通道的匹配优先级,即哪一个可用输出通道最优先匹配,哪一个可用输出通道次优先,以此类推…。之后,本实施例将各个可用输出通道的匹配优先级的打乱,从而令各个可用输出通道的匹配优先级不再按照编号从大到小或从小到大的顺序来确定,而是随机均衡分布,从而按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,即可实现目标输出通道不再集中于最大编号或最小编号的一侧,进而显著减少任务分配失衡的情况。并且,各个通道的实际编号不用改变,保证通道匹配的准确率。
在一些可选地实施方式中,上述步骤a4,包括:
步骤b1,将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道,并按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道中的每一个可用输出通道以优先级递减的原则设置输出匹配计数值。
具体地,本发明实施例针对每个可用输出通道利用一个输出匹配计数值表征其匹配优先级,从而在随机打乱各个可用输出通道的匹配优先级时,先将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道,然后按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道以优先级递减的原则设置输出匹配计数值,直至回到当前可用输出通道的位置。其中,环形方向可以是顺时针方向,也可以是逆时针方向,本实施例对此不作特殊限定。例如图6所示,假设通道匹配策略还是最小编号优先策略,那么本实施例可以将表示最高匹配优先级的输出匹配计数值1赋予当前编号为3的可用输出通道,然后以顺时针方向,向输出通道的队尾设置其他可用输出通道的匹配优先级,例如依次设置输出匹配计数值为2和3,表示优先级依次递减,然后折返至可用输出通道的队首,继续设置输出匹配计数值依次为4、5、6。从而,优先级最高的几个可用输出通道变成了编号3、编号4的输出通道,不再是编号0的输出通道。
通过这一方案,实现了一种简单易行、效率高且随机性强的匹配优先级打乱方法,能够显著减少任务分配失衡的问题,令各个可用输出通道都得以使用,且分配效率高,执行速度快。
在一种可选地实施方式中,当通道匹配策略是最小编号优先策略时,上述步骤b1,包括:
步骤c1,基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,输出匹配向量由第一数字和/或第二数字组成,第一数字在输出匹配向量中的元素位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序。
具体地,在随机打乱各个可用输出通道对应的匹配优先级之前,为了进一步在运算量小、判断方便和计算简单的条件下实现上述步骤b1提出的随机打乱策略,本实施例预先定义输出匹配向量和输入匹配向量。其中输出匹配向量由第一数字和第二数字组成,第一数字在输出匹配向量中的位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序。其中第一数字和第二数字可以是用户任意自定义的两个不同的数字,为了便于区分,一般可以简单定义第一数字是1第二数字是0,当然还可以用其他数字来定义,本实施例仅以此举例,不以此为限。具体可参考前述实施例举例说明中的图4,从而利用输出匹配向量来简单表示全部输出通道中各个输出通道的可用状态。
步骤c2,获取输出随机数。
步骤c3,根据输出随机数从输出匹配向量的最低位开始向高位统计相应位数的向量元素,构成第一向量集。
步骤c4,将输出匹配向量的第二向量集和第一向量集进行位置互换,得到移位输出匹配向量,第二向量集是输出匹配向量中除第一向量集以外的剩余位数对应的向量元素组成的向量。
具体地,本实施例提出的一种具体地随机打乱策略是:先获取一个输出随机数,然后按照输出随机数的大小从输出匹配向量的最低位开始向高位计数,统计到输出随机数大小为止,然后将输出匹配向量拆分成两份,统计的部分作为第一向量集,剩余部分作为第二向量集。然后将第二向量集和第一向量集进行位置互换,得到移位输出匹配向量。
例如图7所示,假设输出匹配向量为111111(表示6个输出通道都用),获取到的输出随机数为4,那么从最低位向高位计数4次,计数的部分是第一向量集,剩余部分是第二向量集,从而将输出匹配向量进行移位,即将该向量的低4位(第一向量集)移至高4位的位置,原本高2位(第二向量集)移动到了低2位。
本实施例这样处理的目的在于,可以随机将位于高位区域的可用输出通道挪到低位区域,然后从移位后的最低位开始依次赋予匹配优先级的计数值时,从而会给高位区域的可用输出通道赋予最高匹配优先级,而不再将原本位于低位区域的输出通道0、1等作为最高匹配优先级的通道。
步骤c5,将最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最低位,并从移位输出匹配向量的最低位开始向高位扫描,当经过每个第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,其中移位输出匹配向量的位数越高,对应的匹配优先级越低。
步骤c6,当经过第二数字时,将上一个输出匹配计数值写入移位输出匹配向量的当前扫描位置。
具体地,本实施例先将表征最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最低位,例如最高匹配优先级的输出匹配计数值为1,也可以是其他数字,本实施例仅以此举例不以此为限。然后从移位输出匹配向量的最低位开始向高位扫描,每经过一个第一数字,则对上一个写入的输出匹配计数值按照预设步长进行调整,经过第二数字时不调整,例如每经过一个第一数字将该位的输出匹配计数值加1,或者将该位的输出匹配计数值加其他数字,例如2、3等,可以根据用户进行自定义,数字的增加表示匹配优先级的降低,当移位输出匹配向量的每个位置都对应赋予了输出匹配计数值之后,表示各个输出通道的匹配优先级赋予完毕。
例如图8所示,按照输出匹配计数器的计数原则,移位输出匹配向量111111从低位向高位扫描,遇到“1”(第一数字),输入匹配计数器做加1操作,遇到“0”(第二数字),则保持当前值,最后产生移位后的输出匹配计数,从而为移位后的每个输出通道赋予了匹配优先级。
步骤c7,将扫描后得到的第二移位输出匹配向量中的移位输出匹配向量元素,按照第一向量集和第二向量集所在的原始位置进行还原,以及,将每一个移位输出匹配向量元素对应的输出匹配计数值,按照第一向量集和第二向量集所在的原始位置进行还原,得到还原输出匹配向量,以及与还原输出匹配向量对应的输出匹配计数值。
步骤c8,根据还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
具体地,本发明实施例最后再将扫描后的第二移位输出匹配向量恢复为原始的输出匹配向量,得到还原输出匹配向量,换言之,将移位后第二向量数字和第一向量数字恢复原位,对应的输出匹配计数值也需要相应的恢复原位。
例如图9所示,将输出匹配向量的高4位移至低4位的位置,回到了原始位置,同时输出匹配计数也需要随着输出匹配向量进行等价位置转换,即实现了将随机数4对应的可用输出通道作为输出匹配计数的起始位置,从而编号为4的输出通道就变成了最高匹配优先级的输出通道。当按照最小编号优先策略时匹配输入输出通道时,如果输入通道0收到数据,那么输入通道0需要优先和输出通道4进行匹配,输入通道0不再和匹配优先级打乱之前的输出通道0进行匹配。
根据本发明实施例提供的技术方案,针对最小编号优先策略,利用各个可用输出通道在全部输出通道中的位置以数字形式转换为输出匹配向量,其中输出通道从小到大的编号对应了输出匹配向量的低位到高位;然后随机选择输出匹配向量从最低位到高位的位数作为第一向量集,剩余数字作为第二向量集,进而将第一向量集和第二向量集位置互换,然后按照位置互换后的移位输出匹配向量为向量中每一位对应的可用输出通道设置表示匹配优先级的输出匹配计数值,设置的优先级顺序是从低位到高位逐渐递减,从而将原本第一向量集中表示优先级最高的可用输出通道变化为第二向量集中某个可用输出通道,令匹配优先级从原本最小编号的通道位置向其他编号随机调整。最后,恢复第一向量集和第二向量集交换之前的位置,得到还原输出匹配向量,特别地,还原输出匹配向量每个位置对应的输出匹配计数值以交换时最新设置的计数值为准,从而按照还原输出匹配向量中各个位记载的输出匹配计数值对应标记各个可用输出通道对应的匹配优先级,能够起到随机打乱各个可用输出通道匹配优先级的效果。
在一些可选地实施方式中,当通道匹配策略是最大编号优先策略时,上述步骤b1,包括:
步骤d1,基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,输出匹配向量由第一数字和/或第二数字组成,第一数字在输出匹配向量中的元素位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;
步骤d2,获取输出随机数;
步骤d3,根据输出随机数从输出匹配向量的最高位开始向低位统计相应位数的向量元素,构成第三向量集;
步骤d4,将输出匹配向量的第四向量集和第三向量集进行位置互换,得到移位输出匹配向量,第四向量集是输出匹配向量中除第三向量集以外的剩余位数字对应的向量元素组成的向量;
步骤d5,将最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最高位,并从移位输出匹配向量的最高位开始向低位扫描,当经过每个第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,其中移位输出匹配向量的位数越高,对应的匹配优先级越高;
步骤d6,当经过第二数字时,将上一个输出匹配计数值写入移位输出匹配向量的当前扫描位置;
步骤d7,将扫描后得到的第三移位输出匹配向量中的移位输出匹配向量元素,按照第三向量集和第四向量集所在的原始位置进行还原,以及,将每一个移位输出匹配向量元素对应的输出匹配计数值,按照第三向量集和第四向量集所在的原始位置进行还原,得到还原输出匹配向量,以及与还原输出匹配向量对应的输出匹配计数值;
步骤d8,根据还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
具体地,本发明实施例除了针对最小编号优先策略的输入输出通道匹配策略改进之外,同理还对最大编号优先策略的输入输出通道匹配策略进行了改进。同样基于输出匹配向量的移位实现随机打乱各个可用输出通道匹配优先级的效果。相比前述步骤c1~步骤c8,区别点在于拆分输出匹配向量时需要从高位向低位扫描,并且向输出匹配向量写入表征各个通道匹配优先级的输出匹配计数值时需要从高位向低位依次写入,这一逻辑与步骤c1~步骤c8中从输出匹配向量的低位到高位方向相反,其他步骤的逻辑均与步骤c1~步骤c8描述的逻辑相同,从而本发明实施例不再对步骤d1~步骤d8展开描述,具体原理可参考步骤c1~步骤c8的相关描述。
根据本发明实施例提供的技术方案,针对最大编号优先策略,利用各个可用输出通道在全部输出通道中的位置以数字形式转换为输出匹配向量,其中输出通道从小到大的编号对应了输出匹配向量的低位到高位;然后随机选择输出匹配向量从最高位到低位的位数作为第三向量集,剩余数字作为第四向量集,进而将第三向量集和第四向量集位置互换,然后对得到的移位输出匹配向量的每一位设置输出匹配计数值,用来表示各个可用输出通道的匹配优先级,而设置的优先级顺序是从高位到低位逐渐递减,从而将原本第三向量集中表示优先级最高的可用输出通道变化为第四向量集中某个可用输出通道,令匹配优先级从原本最大编号的通道位置向其他编号随机调整。最后,恢复第三向量集和第四向量集交换之前的位置,得到还原输出匹配向量,其中还原输出匹配向量每个位置对应的输出匹配计数值以交换时最新设置的计数值为准,从而最后按照还原输出匹配向量中各个位记载的输出匹配计数值对应标记各个可用输出通道对应的匹配优先级,能够起到随机打乱各个可用输出通道匹配优先级的效果。即最高匹配优先级的输出通道不再是最大编号的输出通道,而任意一个可能的其他输出通道。
在一些可选地实施方式中,上述步骤a4包括:
步骤e1,按照各个可用输出通道的排序获取匹配优先级序列,匹配优先级序列由各个可用输出通道对应的输出匹配计数值排序得到,其中各个输出匹配计数值用于表征各个可用输出通道的匹配优先级;
步骤e2,将匹配优先级序列的中的首尾数值移动到匹配优先级序列的随机位置,并将匹配优先级序列翻转;
步骤e3,将翻转后的匹配优先级序列中的数值按照各个可用输出通道的排序依次赋予各个可用输出通道,得到各个可用输出通道更新后的匹配优先级。
具体地,本发明实施例还提供了一种将原始的匹配优先级随机打乱的策略,这一策略首先按照各个可用输出通道的排序获取匹配优先级序列,例如:输出通道0~5都是可用输出通道,如果将输出通道0~5按照5、4、3、2、1、0的顺序排序,对应的匹配优先级按照数字计数可以表示为654321。从而,将654321视为匹配优先级序列,匹配优先级序列中1表示输出通道0的匹配优先级最高,6表示输出通道5的匹配优先级最低。
之后,将匹配优先级序列的中的首尾数值移动到匹配优先级序列的随机位置,并将匹配优先级序列翻转,从而将原始的匹配优先级随机打乱。例如:将数字6和数字1随机移动到654321这个序列之中的任意位置,假设是546132,然后将546132翻转,得到打乱后的匹配优先级序列,即231645。最后将231645各个匹配优先级按照输出通道5、4、3、2、1、0的顺序重新对应赋予,从而最高匹配优先级的输出通道变为了输出通道3,次之是输出通道5,最低匹配优先级的输出通道变为了输出通道2。
通过这一技术手段,将最大编号或者最小编号的匹配优先级从第一个可用输出通道和最后一个可用输出通道转变到其他可用输出通道的中间位置,起到了随机打乱各个可用输出通道匹配优先级的效果,能够显著降低任务分配不均衡的问题。
在一些可选地实施方式中,在上述步骤a5之前,本发明提供的一种多通道路由匹配方法还包括:
步骤f1,根据当前的通道匹配策略确定各个目标输入通道对应的匹配优先级;
步骤f2,随机打乱各个目标输入通道对应的匹配优先级。
具体地,本发明实施例除了对可用输出通道的匹配优先级进行随机打乱之外,还对目标输入通道对应的匹配优先级也进行随机打乱,从而进一步提高各个目标输入通道和各个可用输出通道匹配的随机性,从而显著降低数据传输任务分配不均衡的问题,提高数据传输效率。
在一些可选地实施方式中,上述步骤f2包括:
步骤g1:将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值。
具体地,本发明实施例针对每个目标输入通道利用一个输入匹配计数值表征其匹配优先级,从而在随机打乱各个目标输入通道的匹配优先级时,先将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,然后按照环形方向从当前目标输入通道的位置开始为剩余目标输入通道以优先级递减的顺序设置输入匹配计数值,直至回到当前目标输入通道的位置。其中,环形方向可以是顺时针方向,也可以是逆时针方向,本实施例对此不作特殊限定。具体实现原理与前述步骤b1对可用输出通道的处理原理相同,可以参考前述步骤b1的相关描述,在此不再赘述。
通过这一方案,实现了一种简单易行、效率高且随机性强的针对目标输入通道的匹配优先级打乱方法,令各个目标输入通道和可用输出通道的匹配随机性更强,且分配效率高,执行速度快,能够显著减少任务分配失衡的问题。
在一些可选地实施方式中,当通道匹配策略是最小编号优先策略时,上述步骤g1包括:
步骤h1,基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,输入匹配向量由第一数字和第二数字组成,第一数字在输入匹配向量中的元素位置表示目标输入通道在全部输入通道中的位置,第二数字在输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;
步骤h2,获取输入随机数;
步骤h3,根据输入随机数从输入匹配向量的最低位开始向高位统计相应位数的向量元素,构成第五向量集;
步骤h4,将输入匹配向量的第六向量集和第五向量集进行位置互换,得到移位输入匹配向量,第六向量集是输入匹配向量中除第五向量集以外的剩余位数字对应的向量元素组成的向量;
步骤h5,将最高匹配优先级的输入匹配计数值写入移位输入匹配向量的最低位,并从移位输入匹配向量的最低位开始向高位扫描,当经过每个第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,其中移位输入匹配向量的位数越高,对应的匹配优先级越低;
步骤h6,当经过第二数字时,将上一个输入匹配计数值写入移位输入匹配向量的当前扫描位置;
步骤h7,将扫描后得到的第四移位输入匹配向量中的移位输入匹配向量元素,按照第五向量集和第六向量集所在的原始位置进行还原,以及,将每一个移位输入匹配向量元素对应的输入匹配计数值,按照第五向量集和第六向量集所在的原始位置进行还原,得到还原输入匹配向量,以及与还原输入匹配向量对应的输入匹配计数值;
步骤h8,根据还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
具体地,本发明实施例提供的针对目标输入通道的匹配优先级随机打乱策略与前述步骤c1~步骤c8针对可用输出通道的匹配优先级随机打乱策略相同,都应用在最小编号优先策略场景下,关于原理解释可以参考前述步骤c1~步骤c8的相关描述,在此不再赘述。
为了便于理解,本实施例以一个具体应用为例对上述步骤h1~步骤h8进行描述:
如图10所示,假设编号0~5的输入通道中,输入通道0、2、4收到了数据路由请求,从而目标输入通道是编号为0、2、4的输入通道,对应的输入匹配向量为010101(即输入终端节点0、2、4发起路由传输请求)。假设此时获取的输入随机数是3,从而将输入匹配向量按照图10的方式进行移位,即,将该向量的低3位(第五向量数字)移至高3位的位置,原本的高3位(第六向量数字)移动到了低3位,得到的移位输入匹配向量是101010。
随后,如图11所示,按照输入匹配计数器的计数原则(移位后的输入匹配向量101010从低位向高位扫描,遇到“1”,输入匹配计数器做加1操作,遇到“0”则保持当前值),产生移位后的输入匹配计数。最后,再将转换后的输入匹配向量恢复为原始的输入匹配向量,即,将转换后的输入匹配向量的高3位移至低3位的位置,同时将移位后的输入匹配计数也进行等价转换,如图12所示,即实现了将编号为3的输入通道作为匹配优先级最高的目标输入通道,换言之,本次匹配的最高优先级从输入通道3开始。
如果结合前述实施例步骤c1~步骤c8的调整策略,例如图13所示,可以得到带有输入/输出随机优先级的动态匹配关系,即输入通道4匹配输出通道4、
输入通道0匹配输出端口5、输入通道2匹配输出通道0。
在一些可选地实施方式中,当通道匹配策略是最大编号优先策略时,上述步骤g1包括:
步骤I1,基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,输入匹配向量由第一数字和第二数字组成,第一数字在输入匹配向量中的元素位置表示目标输入通道在全部输入通道中的位置,第二数字在输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;
步骤I2,获取输入随机数;
步骤I3,根据输入随机数从输入匹配向量的最高位开始向低位统计相应位数的向量元素,构成第七向量集;
步骤I4,将输入匹配向量的第八向量集和第七向量集进行位置互换,得到移位输入匹配向量,第八向量集是输入匹配向量中除第七向量集以外的剩余位数字对应的向量元素组成的向量;
步骤I5,将最高匹配优先级的输入匹配计数值写入移位输入匹配向量的最高位,并从移位输入匹配向量的最高位开始向低位扫描,当经过每个第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,其中移位输入匹配向量的位数越高,对应的匹配优先级越高;
步骤I6,当经过第二数字时,将上一个输入匹配计数值写入移位输入匹配向量的当前扫描位置;
步骤I7,将扫描后得到的第五移位输入匹配向量中的移位输入匹配向量元素,按照第七向量集和第八向量集所在的原始位置进行还原,以及,将每一个移位输入匹配向量元素对应的输入匹配计数值,按照第七向量集和第八向量集所在的原始位置进行还原,得到还原输入匹配向量,以及与还原输入匹配向量对应的输入匹配计数值;
步骤I8,根据还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
具体地,本发明实施例除了针对最小编号优先策略的输入输出通道匹配策略改进之外,同理还对最大编号优先策略的输入输出通道匹配策略进行了改进。同样基于输入匹配向量的移位实现随机打乱各个目标输入通道匹配优先级的效果。相比前述步骤h1~步骤h8,区别点在于拆分输入匹配向量时需要从高位向低位扫描,并且向输入匹配向量写入表征各个通道匹配优先级的输入匹配计数值时需要从高位向低位依次写入,这一逻辑与步骤h1~步骤h8中从输入匹配向量的低位到高位方向相反,其他步骤的逻辑均与步骤h1~步骤h8描述的逻辑相同,从而本发明实施例不再对步骤I1~步骤I8展开描述,具体原理可参考步骤h1~步骤h8的相关描述。
根据本发明实施例提供的技术方案,针对最大编号优先策略,利用各个目标输入通道在全部输入通道中的位置以数字形式转换为输入匹配向量,其中输入通道从小到大的编号对应了输入匹配向量的低位到高位;然后随机选择输入匹配向量从最高位到低位的位数作为第七向量集,剩余数字作为第八向量集,进而将第七向量集和第八向量集位置互换,然后对得到的移位输入匹配向量的每一位设置输入匹配计数值,用来表示各个目标输入通道的匹配优先级,而设置的优先级顺序是从高位到低位逐渐递减,从而将原本第七向量集中表示优先级最高的目标输入通道变化为第八向量集中某个目标输入通道,令匹配优先级从原本最大编号的通道位置向其他编号随机调整。最后,恢复第七向量集和第八向量集交换之前的位置,得到还原输入匹配向量,其中还原输入匹配向量每个位置对应的输入匹配计数值以交换时最新设置的计数值为准,从而最后按照还原输入匹配向量中各个位记载的输入匹配计数值对应标记各个目标输入通道对应的匹配优先级,能够起到随机打乱各个目标输入通道匹配优先级的效果。即最高匹配优先级的输入通道不再是最大编号的输入通道,而任意一个可能的其他输入通道。
在一些可选地实施方式中,上述步骤f2包括:
步骤j1,按照各个目标输入通道的排序获取第二匹配优先级序列,第二匹配优先级序列由各个目标输入通道对应的输入匹配计数值排序得到,其中各个输入匹配计数值用于表征各个目标输入通道的匹配优先级;
步骤j2,将第二匹配优先级序列的中的首尾数值移动到第二匹配优先级序列的随机位置,并将第二匹配优先级序列翻转;
步骤j3,将翻转后的第二匹配优先级序列中的数值按照各个目标输入通道的排序依次赋予各个目标输入通道,得到各个目标输入通道更新后的匹配优先级。
具体地,本发明实施例同样还可以基于上述步骤e1~步骤e3的匹配优先级随机打乱策略对目标输入通道的匹配优先级也进行随机打乱(相关原理解释可以参考步骤e1~步骤e3的相关描述,在此不再赘述),进一步提高了输入输出通道随机匹配的灵活性,解决了数据路由任务分配的不均衡问题。
在一些可选地实施方式中,上述步骤d2包括:
步骤d21,向真随机数发生模块发送获取指令;
步骤d22,接收真随机数发生模块发送的输出随机数,输出随机数是真随机数发生模块响应于获取指令生成的随机数。
在一些可选地实施方式中,上述步骤h2包括:
步骤h21,向真随机数发生模块发送第二获取指令;
步骤h22,接收真随机数发生模块发送的输入随机数,输入随机数是真随机数发生模块响应于第二获取指令生成的随机数。
具体地,在相关技术中随机数的获取方式有很多,例如正态分布的随机数生成算法、线性同余法、梅森旋转法等等,但是这类随机数算法生成的随机数大多是伪随机数,虽然具有一定随机特征,但是依然可以根据算法找出随机数的规律,所以其随机性并不是很强。而真随机数发生模块是一种基于物理过程的随机数生成硬件模块,它利用物理过程的随机性来生成随机数。例如,可以利用芯片的放射性衰变、热噪声、光子计数等物理过程来生成随机数,从而生成的随机数不可预测,相比采用目前常用的随机数算法计算出的伪随机数,输入随机数和输出随机数跟逼近真实的随机情况,从而进一步提高通道匹配的均衡性。
在本实施例中还提供了一种多通道路由匹配装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种多通道路由匹配装置,应用于当前路由节点,如图14所示,包括:
输入通道识别模块1401,用于识别当前接收到路由数据的一个或多个目标输入通道;
输出通道识别模块1402,用于确定当前路由节点可用的可用输出通道;
随机匹配模块1403,用于将目标输入通道和可用输出通道进行随机匹配,以从可用输出通道中确定出与目标输入通道互相对应的目标输出通道。
在一些可选的实施方式中,随机匹配模块1403包括:
第一编号获取单元,用于获取目标输入通道的编号;
第二编号获取单元,用于获取可用输出通道的编号;
输出通道优先级识别单元,用于根据当前的通道匹配策略确定各个可用输出通道对应的匹配优先级,通道匹配策略是最小编号优先策略或最大编号优先策略,最小编号优先策略表示进行每轮输入输出通道匹配时,优先将最小编号的目标输入通道和最小编号的可用输出通道匹配为一对,最大编号优先策略表示进行每轮输入输出通道匹配时,优先将最大编号的目标输入通道和最大编号的可用输出通道匹配为一对;
第一优先级打乱单元,用于随机打乱各个可用输出通道对应的匹配优先级;
随机匹配单元,用于按照可用输出通道调整后的匹配优先级对目标输入通道和可用输出通道进行匹配,得到目标输出通道。
在一些可选的实施方式中,第一优先级打乱单元包括:
第一优先级打乱子单元,用于将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道,并按照环形方向从当前可用输出通道的位置开始为剩余可用输出通道中的每一个可用输出通道以优先级递减的原则设置输出匹配计数值。
在一些可选的实施方式中,当通道匹配策略是最小编号优先策略时,第一优先级打乱子单元,包括:
第一输出匹配向量确定单元,用于基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,输出匹配向量由第一数字和/或第二数字组成,第一数字在输出匹配向量中的元素位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;
第一输出随机数确定单元,用于获取输出随机数;
第一统计单元,用于根据输出随机数从输出匹配向量的最低位开始向高位统计相应位数的向量元素,构成第一向量集;
第一移位单元,用于将输出匹配向量的第二向量集和第一向量集进行位置互换,得到移位输出匹配向量,第二向量集是输出匹配向量中除第一向量集以外的剩余位数对应的向量元素组成的向量;
第一优先级设置单元,用于将最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最低位,并从移位输出匹配向量的最低位开始向高位扫描,当经过每个第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,当经过第二数字时,将上一个输出匹配计数值写入移位输出匹配向量的当前扫描位置;其中移位输出匹配向量的位数越高,对应的匹配优先级越低;
第一还原单元,用于将扫描后得到的第二移位输出匹配向量中的移位输出匹配向量元素,按照第一向量集和第二向量集所在的原始位置进行还原,以及,将每一个移位输出匹配向量元素对应的输出匹配计数值,按照第一向量集和第二向量集所在的原始位置进行还原,得到还原输出匹配向量,以及与还原输出匹配向量对应的输出匹配计数值;
第一匹配优先级调整单元,用于根据还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
在一些可选的实施方式中,当通道匹配策略是最大编号优先策略时,第一优先级打乱子单元,包括:
第二输出匹配向量确定单元,用于基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,输出匹配向量由第一数字和/或第二数字组成,第一数字在输出匹配向量中的元素位置表示可用输出通道在全部输出通道中的位置,第二数字在输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;
第二输出随机数确定单元,用于获取输出随机数;
第二统计单元,用于根据输出随机数从输出匹配向量的最高位开始向低位统计相应位数的向量元素,构成第三向量集;
第二移位单元,用于将输出匹配向量的第四向量集和第三向量集进行位置互换,得到移位输出匹配向量,第四向量集是输出匹配向量中除第三向量集以外的剩余位数字对应的向量元素组成的向量;
第二优先级设置单元,用于将最高匹配优先级的输出匹配计数值写入移位输出匹配向量的最高位,并从移位输出匹配向量的最高位开始向低位扫描,当经过每个第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,当经过第二数字时,将上一个输出匹配计数值写入移位输出匹配向量的当前扫描位置,其中移位输出匹配向量的位数越高,对应的匹配优先级越高;
第二还原单元,用于将扫描后得到的第三移位输出匹配向量中的移位输出匹配向量元素,按照第三向量集和第四向量集所在的原始位置进行还原,以及,将每一个移位输出匹配向量元素对应的输出匹配计数值,按照第三向量集和第四向量集所在的原始位置进行还原,得到还原输出匹配向量,以及与还原输出匹配向量对应的输出匹配计数值;
第二匹配优先级调整单元,用于根据还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
在一些可选地实施方式中,第一优先级打乱单元,包括:
第一匹配优先级序列子单元,用于按照各个可用输出通道的排序获取匹配优先级序列,匹配优先级序列由各个可用输出通道对应的输出匹配计数值排序得到,其中各个输出匹配计数值用于表征各个可用输出通道的匹配优先级;
第一首尾插值子单元,用于将匹配优先级序列的中的首尾数值移动到匹配优先级序列的随机位置,并将匹配优先级序列翻转;
第一翻转子单元,用于将翻转后的匹配优先级序列中的数值按照各个可用输出通道的排序依次赋予各个可用输出通道,得到各个可用输出通道更新后的匹配优先级。
在一些可选地实施方式中,在上述随机匹配单元之前,还包括:
输入通道优先级识别单元,用于根据当前的通道匹配策略确定各个目标输入通道对应的匹配优先级;
第二优先级打乱单元,用于随机打乱各个目标输入通道对应的匹配优先级。
在一些可选地实施方式中,上述第二优先级打乱单元,包括:
第二优先级打乱子单元,用于将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值。
在一些可选地实施方式中,当通道匹配策略是最小编号优先策略时,第二优先级打乱子单元,包括:
第一输入匹配向量确定单元,用于基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,输入匹配向量由第一数字和第二数字组成,第一数字在输入匹配向量中的元素位置表示目标输入通道在全部输入通道中的位置,第二数字在输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;
第一输入随机数确定单元,用于获取输入随机数;
第三统计单元,用于根据输入随机数从输入匹配向量的最低位开始向高位统计相应位数的向量元素,构成第五向量集;
第三移位单元,用于将输入匹配向量的第六向量集和第五向量集进行位置互换,得到移位输入匹配向量,第六向量集是输入匹配向量中除第五向量集以外的剩余位数字对应的向量元素组成的向量;
第三优先级设置单元,用于将最高匹配优先级的输入匹配计数值写入移位输入匹配向量的最低位,并从移位输入匹配向量的最低位开始向高位扫描,当经过每个第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,当经过第二数字时,将上一个输入匹配计数值写入移位输入匹配向量的当前扫描位置,其中移位输入匹配向量的位数越高,对应的匹配优先级越低;
第三还原单元,用于将扫描后得到的第四移位输入匹配向量中的移位输入匹配向量元素,按照第五向量集和第六向量集所在的原始位置进行还原,以及,将每一个移位输入匹配向量元素对应的输入匹配计数值,按照第五向量集和第六向量集所在的原始位置进行还原,得到还原输入匹配向量,以及与还原输入匹配向量对应的输入匹配计数值;
第三匹配优先级调整单元,用于根据还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
在一些可选地实施方式中,当通道匹配策略是最大编号优先策略时,第二优先级打乱子单元,包括:
第二输入匹配向量确定单元,用于基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,输入匹配向量由第一数字和第二数字组成,第一数字在输入匹配向量中的元素位置表示目标输入通道在全部输入通道中的位置,第二数字在输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;
第二输入随机数确定单元,用于获取输入随机数;
第四统计单元,用于根据输入随机数从输入匹配向量的最高位开始向低位统计相应位数的向量元素,构成第七向量集;
第四移位单元,用于将输入匹配向量的第八向量集和第七向量集进行位置互换,得到移位输入匹配向量,第八向量集是输入匹配向量中除第七向量集以外的剩余位数字对应的向量元素组成的向量;
第四优先级设置单元,用于将最高匹配优先级的输入匹配计数值写入移位输入匹配向量的最高位,并从移位输入匹配向量的最高位开始向低位扫描,当经过每个第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,当经过第二数字时,将上一个输入匹配计数值写入移位输入匹配向量的当前扫描位置,其中移位输入匹配向量的位数越高,对应的匹配优先级越高;
第四还原单元,用于将扫描后得到的第五移位输入匹配向量中的移位输入匹配向量元素,按照第七向量集和第八向量集所在的原始位置进行还原,以及,将每一个移位输入匹配向量元素对应的输入匹配计数值,按照第七向量集和第八向量集所在的原始位置进行还原,得到还原输入匹配向量,以及与还原输入匹配向量对应的输入匹配计数值;
第四匹配优先级调整单元,用于根据还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
在一些可选地实施方式中,上述第二优先级打乱单元,包括:
第二匹配优先级序列子单元,用于按照各个目标输入通道的排序获取第二匹配优先级序列,第二匹配优先级序列由各个目标输入通道对应的输入匹配计数值排序得到,其中各个输入匹配计数值用于表征各个目标输入通道的匹配优先级;
第二首尾插值子单元,用于将第二匹配优先级序列的中的首尾数值移动到第二匹配优先级序列的随机位置,并将第二匹配优先级序列翻转;
第二翻转子单元,用于将翻转后的第二匹配优先级序列中的数值按照各个目标输入通道的排序依次赋予各个目标输入通道,得到各个目标输入通道更新后的匹配优先级。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的多通道路由匹配装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图14所示的多通道路由匹配装置。
请参阅图15,图15是本发明可选实施例提供的一种计算机设备的结构示意图,如图15所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图15中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
在一些可选地实施例中,如图16所示,处理器还包括输入随机数产生模块、输出随机数产生模块、路由匹配模块和数据转发模块,输入随机数产生模块、输出随机数产生模块和数据转发模块分别与路由匹配模块通信连接,其中路由匹配模块通过执行计算机指令从而执行前述方法实施例提供的方法。路由匹配模块主要负责为输入终端节点的路由请求匹配对应的二级节点,以确定该任务的路由路径,匹配原则是基于输入/输出匹配向量的随机优先级进行。输入随机数产生模块是真随机数发生模块,负责产生输入随机数,输入动态匹配向量中的路由申请将会以该随机值作为最高优先级进行路由匹配。输出随机数产生模块与输入随机数产生模块同理,该模块负责产生输入随机数,输出动态匹配向量中的路由申请将会以该随机值作为最高优先级进行路由匹配。数据转发模块负责按照路由匹配模块输出的匹配关系,将对应输入端口的数据发送至匹配的二级节点。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (20)

1.一种多通道路由匹配方法,其特征在于,应用于当前路由节点,所述方法包括:
识别当前接收到路由数据的一个或多个目标输入通道;
确定所述当前路由节点可用的可用输出通道;
将所述目标输入通道和所述可用输出通道进行随机匹配,以从所述可用输出通道中确定出与所述目标输入通道互相对应的目标输出通道。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标输入通道和所述可用输出通道进行随机匹配,包括:
获取所述目标输入通道的编号;
获取所述可用输出通道的编号;
根据当前的通道匹配策略确定各个可用输出通道对应的匹配优先级,所述通道匹配策略是最小编号优先策略或最大编号优先策略,所述最小编号优先策略表示进行每轮输入输出通道匹配时,优先将最小编号的目标输入通道和最小编号的可用输出通道匹配为一对,所述最大编号优先策略表示进行每轮输入输出通道匹配时,优先将最大编号的目标输入通道和最大编号的可用输出通道匹配为一对;
随机打乱所述各个可用输出通道对应的匹配优先级;
按照可用输出通道调整后的匹配优先级对所述目标输入通道和所述可用输出通道进行匹配,得到所述目标输出通道。
3.根据权利要求2所述的方法,其特征在于,所述随机打乱所述各个可用输出通道对应的匹配优先级,包括:
将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道;
按照环形方向从所述当前可用输出通道的位置开始为剩余可用输出通道中的每一个可用输出通道以优先级递减的原则设置输出匹配计数值。
4.根据权利要求3所述的方法,其特征在于,当所述通道匹配策略是最小编号优先策略时,将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道, 并按照环形方向从所述当前可用输出通道的位置开始为剩余可用输出通道以优先级递减的顺序设置输出匹配计数值的步骤,包括:
基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,所述输出匹配向量由第一数字和/或第二数字组成,所述第一数字在所述输出匹配向量中的元素位置表示所述可用输出通道在全部输出通道中的位置,所述第二数字在所述输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,所述输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;
获取输出随机数;
根据所述输出随机数从所述输出匹配向量的最低位开始向高位统计相应位数的向量元素,构成第一向量集;
将所述输出匹配向量的第二向量集和所述第一向量集进行位置互换,得到移位输出匹配向量,所述第二向量集是所述输出匹配向量中除所述第一向量集以外的剩余位数对应的向量元素组成的向量;
将最高匹配优先级的输出匹配计数值写入所述移位输出匹配向量的最低位,并从所述移位输出匹配向量的最低位开始向高位扫描,当经过每个所述第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,其中所述移位输出匹配向量的位数越高,对应的匹配优先级越低;
当经过所述第二数字时,将上一个输出匹配计数值写入所述移位输出匹配向量的当前扫描位置;
将扫描后得到的第二移位输出匹配向量中的移位输出匹配向量元素,按照所述第一向量集和所述第二向量集所在的原始位置进行还原,得到还原输出匹配向量,以及,将每一个所述移位输出匹配向量元素对应的输出匹配计数值,按照所述第一向量集和所述第二向量集所在的原始位置进行还原,得到与所述还原输出匹配向量对应的输出匹配计数值;
根据所述还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
5.根据权利要求3所述的方法,其特征在于,当所述通道匹配策略是最大编号优先策略时,将表示最高匹配优先级的输出匹配计数值随机赋予一个当前可用输出通道, 并按照环形方向从所述当前可用输出通道的位置开始为剩余可用输出通道以优先级递减的顺序设置输出匹配计数值的步骤,包括:
基于各个可用输出通道在全部输出通道中的位置确定输出匹配向量,所述输出匹配向量由第一数字和/或第二数字组成,所述第一数字在所述输出匹配向量中的元素位置表示所述可用输出通道在全部输出通道中的位置,所述第二数字在所述输出匹配向量中的元素位置表示不可用输出通道在全部输出通道中的位置,所述输出匹配向量从低位到高位的顺序对应全部输出通道编号从小到大的顺序;
获取输出随机数;
根据所述输出随机数从所述输出匹配向量的最高位开始向低位统计相应位数的向量元素,构成第三向量集;
将所述输出匹配向量的第四向量集和所述第三向量集进行位置互换,得到移位输出匹配向量,所述第四向量集是所述输出匹配向量中除所述第三向量集以外的剩余位数字对应的向量元素组成的向量;
将最高匹配优先级的输出匹配计数值写入所述移位输出匹配向量的最高位,并从所述移位输出匹配向量的最高位开始向低位扫描,当经过每个所述第一数字时,基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,其中所述移位输出匹配向量的位数越高,对应的匹配优先级越高;
当经过所述第二数字时,将上一个输出匹配计数值写入所述移位输出匹配向量的当前扫描位置;
将扫描后得到的第三移位输出匹配向量中的移位输出匹配向量元素,按照所述第三向量集和所述第四向量集所在的原始位置进行还原,得到还原输出匹配向量,以及,将每一个所述移位输出匹配向量元素对应的输出匹配计数值,按照所述第三向量集和所述第四向量集所在的原始位置进行还原,得到与所述还原输出匹配向量对应的输出匹配计数值;
根据所述还原输出匹配向量对应的输出匹配计数值标记各个可用输出通道对应的匹配优先级。
6.根据权利要求2所述的方法,其特征在于,随机打乱所述各个可用输出通道对应的匹配优先级,包括:
按照各个可用输出通道的排序获取匹配优先级序列,所述匹配优先级序列由各个可用输出通道对应的输出匹配计数值排序得到,其中各个所述输出匹配计数值用于表征各个所述可用输出通道的匹配优先级;
将所述匹配优先级序列的中的首尾数值移动到所述匹配优先级序列的随机位置,并将所述匹配优先级序列翻转;
将翻转后的所述匹配优先级序列中的数值按照各个可用输出通道的排序依次赋予各个可用输出通道,得到各个可用输出通道更新后的匹配优先级。
7.根据权利要求2所述的方法,其特征在于,在所述按照可用输出通道调整后的匹配优先级对所述目标输入通道和所述可用输出通道进行匹配之前,所述方法还包括:
根据当前的通道匹配策略确定各个目标输入通道对应的匹配优先级;
随机打乱所述各个目标输入通道对应的匹配优先级。
8.根据权利要求7所述的方法,其特征在于,所述随机打乱所述各个目标输入通道对应的匹配优先级,包括:
将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从所述当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值。
9.根据权利要求8所述的方法,其特征在于,当所述通道匹配策略是最小编号优先策略时,所述将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从所述当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值,包括:
基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,所述输入匹配向量由第一数字和第二数字组成,所述第一数字在所述输入匹配向量中的元素位置表示所述目标输入通道在全部输入通道中的位置,所述第二数字在所述输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,所述输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;
获取输入随机数;
根据所述输入随机数从所述输入匹配向量的最低位开始向高位统计相应位数的向量元素,构成第五向量集;
将所述输入匹配向量的第六向量集和所述第五向量集进行位置互换,得到移位输入匹配向量,所述第六向量集是所述输入匹配向量中除所述第五向量集以外的剩余位数字对应的向量元素组成的向量;
将最高匹配优先级的输入匹配计数值写入所述移位输入匹配向量的最低位,并从所述移位输入匹配向量的最低位开始向高位扫描,当经过每个所述第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,其中所述移位输入匹配向量的位数越高,对应的匹配优先级越低;
当经过所述第二数字时,将上一个输入匹配计数值写入所述移位输入匹配向量的当前扫描位置;
将扫描后得到的第四移位输入匹配向量中的移位输入匹配向量元素,按照所述第五向量集和所述第六向量集所在的原始位置进行还原,得到还原输入匹配向量,以及,将每一个所述移位输入匹配向量元素对应的输入匹配计数值,按照所述第五向量集和所述第六向量集所在的原始位置进行还原,得到与所述还原输入匹配向量对应的输入匹配计数值;
根据所述还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
10.根据权利要求8所述的方法,其特征在于,当所述通道匹配策略是最大编号优先策略时,所述将表示最高匹配优先级的输入匹配计数值随机赋予一个当前目标输入通道,并按照环形方向从所述当前目标输入通道的位置开始为剩余目标输入通道中的每一个目标输入通道以优先级递减的原则设置输入匹配计数值,包括:
基于各个目标输入通道在全部输入通道中的位置确定输入匹配向量,所述输入匹配向量由第一数字和第二数字组成,所述第一数字在所述输入匹配向量中的元素位置表示所述目标输入通道在全部输入通道中的位置,所述第二数字在所述输入匹配向量中的元素位置表示没有接收到路由数据的输入通道在全部输入通道中的位置,所述输入匹配向量从低位到高位的顺序对应全部输入通道编号从小到大的顺序;
获取输入随机数;
根据所述输入随机数从所述输入匹配向量的最高位开始向低位统计相应位数的向量元素,构成第七向量集;
将所述输入匹配向量的第八向量集和所述第七向量集进行位置互换,得到移位输入匹配向量,所述第八向量集是所述输入匹配向量中除所述第七向量集以外的剩余位数字对应的向量元素组成的向量;
将最高匹配优先级的输入匹配计数值写入所述移位输入匹配向量的最高位,并从所述移位输入匹配向量的最高位开始向低位扫描,当经过每个所述第一数字时,基于上一个写入的输入匹配计数值和预设步长,确定当前扫描位置的输入匹配计数值,其中所述移位输入匹配向量的位数越高,对应的匹配优先级越高;
当经过所述第二数字时,将上一个输入匹配计数值写入所述移位输入匹配向量的当前扫描位置;
将扫描后得到的第五移位输入匹配向量中的移位输入匹配向量元素,按照所述第七向量集和所述第八向量集所在的原始位置进行还原,得到还原输入匹配向量,以及,将每一个所述移位输入匹配向量元素对应的输入匹配计数值,按照所述第七向量集和所述第八向量集所在的原始位置进行还原,得到与所述还原输入匹配向量对应的输入匹配计数值;
根据所述还原输入匹配向量对应的输入匹配计数值标记各个目标输入通道的匹配优先级。
11.根据权利要求7所述的方法,其特征在于,随机打乱所述各个目标输入通道对应的匹配优先级,包括:
按照各个目标输入通道的排序获取第二匹配优先级序列,所述第二匹配优先级序列由各个目标输入通道对应的输入匹配计数值排序得到,其中各个所述输入匹配计数值用于表征各个所述目标输入通道的匹配优先级;
将所述第二匹配优先级序列的中的首尾数值移动到所述第二匹配优先级序列的随机位置,并将所述第二匹配优先级序列翻转;
将翻转后的所述第二匹配优先级序列中的数值按照各个目标输入通道的排序依次赋予各个目标输入通道,得到各个目标输入通道更新后的匹配优先级。
12.根据权利要求4所述的方法,其特征在于,所述获取输出随机数,包括:
向真随机数发生模块发送获取指令;
接收所述真随机数发生模块发送的所述输出随机数,所述输出随机数是所述真随机数发生模块响应于所述获取指令生成的随机数。
13.根据权利要求10所述的方法,其特征在于,所述获取输入随机数,包括:
向真随机数发生模块发送第二获取指令;
接收所述真随机数发生模块发送的所述输入随机数,所述输入随机数是所述真随机数发生模块响应于所述第二获取指令生成的随机数。
14.根据权利要求4所述的方法,其特征在于,所述基于上一个写入的输出匹配计数值和预设步长,确定当前扫描位置的输出匹配计数值,包括:
当扫描经过所述第一数字时,将上一个写入的输出匹配计数值加1。
15.根据权利要求4、5、9或10所述的方法,其特征在于,所述第一数字为1,所述第二数字为0。
16.一种多通道路由匹配装置,其特征在于,应用于当前路由节点,所述装置包括:
输入通道识别模块,用于识别当前接收到路由数据的一个或多个目标输入通道;
输出通道识别模块,用于确定所述当前路由节点可用的可用输出通道;
随机匹配模块,用于将所述目标输入通道和所述可用输出通道进行随机匹配,以从所述可用输出通道中确定出与所述目标输入通道互相对应的目标输出通道。
17.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的方法。
18.根据权利要求17所述的计算机设备,其特征在于,所述处理器包括输入随机数产生模块、输出随机数产生模块、路由匹配模块和数据转发模块,所述输入随机数产生模块、输出随机数产生模块和所述数据转发模块分别与所述路由匹配模块通信连接,所述路由匹配模块通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的方法。
19.根据权利要求18所述的计算机设备,其特征在于,所述输入随机数产生模块和所述输出随机数产生模块均是真随机数发生模块。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的方法。
CN202311388208.0A 2023-10-25 2023-10-25 一种多通道路由匹配方法、装置、设备及存储介质 Active CN117176644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311388208.0A CN117176644B (zh) 2023-10-25 2023-10-25 一种多通道路由匹配方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311388208.0A CN117176644B (zh) 2023-10-25 2023-10-25 一种多通道路由匹配方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117176644A true CN117176644A (zh) 2023-12-05
CN117176644B CN117176644B (zh) 2024-02-06

Family

ID=88943397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311388208.0A Active CN117176644B (zh) 2023-10-25 2023-10-25 一种多通道路由匹配方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117176644B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068957A (zh) * 2020-08-27 2020-12-11 北京灵汐科技有限公司 资源分配方法、装置、计算机设备及存储介质
CN112311699A (zh) * 2020-09-28 2021-02-02 清华大学无锡应用技术研究院 处理网络数据包的方法、装置及存储介质
CN114205316A (zh) * 2021-12-31 2022-03-18 全球能源互联网研究院有限公司 一种基于电力业务的网络切片资源分配方法及装置
CN115865848A (zh) * 2022-12-09 2023-03-28 无锡芯光互连技术研究院有限公司 一种光数据包交换方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068957A (zh) * 2020-08-27 2020-12-11 北京灵汐科技有限公司 资源分配方法、装置、计算机设备及存储介质
CN112311699A (zh) * 2020-09-28 2021-02-02 清华大学无锡应用技术研究院 处理网络数据包的方法、装置及存储介质
CN114205316A (zh) * 2021-12-31 2022-03-18 全球能源互联网研究院有限公司 一种基于电力业务的网络切片资源分配方法及装置
CN115865848A (zh) * 2022-12-09 2023-03-28 无锡芯光互连技术研究院有限公司 一种光数据包交换方法、装置及存储介质

Also Published As

Publication number Publication date
CN117176644B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US9571400B1 (en) Weighted load balancing in a multistage network using hierarchical ECMP
US6647449B1 (en) System, method and circuit for performing round robin arbitration
US8401012B2 (en) Packet routing
GB2536606A (en) Network topology optimization
CN113033811A (zh) 两量子比特逻辑门的处理方法及装置
GB2536607A (en) Optimizing a network topology to satisfy predicted growth
GB2536608A (en) Optimizing the topology of a network with variable traffic demands
JP6366291B2 (ja) 並列コンピューティング・システムにおける全対全メッセージ交換のための方法、システム、計算ノード、およびコンピュータ・プログラム(並列コンピューティング・システムにおける全対全メッセージ交換)
US9614789B2 (en) Supporting multiple virtual switches on a single host
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
CN105409169B (zh) 一种多路径转发规则的构造方法、装置及系统
US8407424B2 (en) Data coherence method and apparatus for multi-node computer system
CN117135108B (zh) 路由路径规划方法、路由请求处理方法、设备及介质
US10469368B2 (en) Distributed routing table system with improved support for multiple network topologies
CN117176644B (zh) 一种多通道路由匹配方法、装置、设备及存储介质
JP2017059058A (ja) 並列情報処理装置、通信手順決定方法及び通信手順決定プログラム
CN117135106B (zh) 路由路径规划方法、路由请求处理方法、设备及介质
CN117176638A (zh) 一种路由路径确定方法及相关组件
JP2014534713A (ja) ハイパーキューブ・ネットワーク内のデータ伝送の最適化
US20220004856A1 (en) Multichip system and data processing method adapted to the same for implementing neural network application
CN113497765B (zh) 一种路由管理的方法、装置、电子设备和存储介质
CN109831346B (zh) 网络功能虚拟化环境下服务功能链的部署方法
Punhani et al. Optimal extra links placement in mesh interconnection network using improved environmental adaptation method
US10437473B2 (en) Storage system and method for scanning for devices
CN107797764B (zh) 确定路径的方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant