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

一种板卡间的寻址方法、装置及计算机设备与流程

2022-05-06 11:07:51 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种板卡间的寻址方法、装置、计算机设备及计算机可读存储介质。


背景技术:

2.机箱内板卡与板卡之间通过以太网交换芯片互相连接起来,以达到通信的目的。板卡类型不同,功能也不一样。例如,控制板卡负责管理机箱和所有其他板卡,业务板卡负责承载普通业务,计算板卡负责高性能计算业务。它们之间交互方式也有所不同,有些是需要针对某一特定类型板卡发送消息(例如控制板卡需要对所有业务板卡设置某个参数),而有一些是针对特定的单个板卡发送消息(例如查询某一块板卡的状态)。板卡出厂时,mac地址为全球唯一,基于唯一mac地址的通信方案难以实现上述复杂的通信需求。


技术实现要素:

3.本技术的目的是提供一种板卡间的寻址方法、装置、计算机设备及计算机可读存储介质,用以解决目前基于mac地址的通信方案难以满足板卡通信需求的问题。其具体方案如下:第一方面,本技术提供了一种板卡间的寻址方法,包括:读取以太网帧的第一比特位区间;若所述第一比特位区间的读取结果为第一预设阈值,则确定本次通信方式为单播,读取所述以太网帧的第二比特位区间和第三比特位区间,得到目标板卡的槽位号和节点号,根据所述槽位号和所述节点号确定所述目标板卡的mac地址;若所述第一比特位区间的读取结果不为所述第一预设阈值,则读取所述以太网帧的第二比特位区间;若所述第二比特位区间的读取结果为第二预设阈值,则判定本次通信方式为广播,确定目标板卡的mac地址;若所述第二比特位区间的读取结果不为所述第二预设阈值,则判定本次通信方式为组播,读取所述以太网帧的第三比特位区间,得到目标板卡类型,根据所述目标板卡类型确定目标板卡的mac地址。
4.可选的,所述第一比特位区间的大小为1比特,所述若所述第一比特位区间的读取结果为第一预设阈值,则确定本次通信方式为单播,包括:若所述第一比特位区间的读取结果为假,则确定本次通信方式为单播;相应的,所述若所述第一比特位区间的读取结果不为所述第一预设阈值,则读取所述以太网帧的第二比特位区间,包括:若所述第一比特位区间的读取结果为真,则读取所述以太网帧的第二比特位区间。
5.可选的,所述第二比特位区间的大小为6比特,所述第二预设阈值为63。
6.可选的,所述第三比特位区间的大小为2比特。
7.可选的,在所述根据所述槽位号和所述节点号确定所述目标板卡的mac地址之后,还包括:使用以太网的单播功能,将所述以太网帧发送至所述目标板卡;相应的,在所述判定本次通信方式为广播,确定目标板卡的mac地址之后,还包括:使用以太网的广播功能,将所述以太网帧发送至全部板卡;相应的,在所述根据所述目标板卡类型确定目标板卡的mac地址之后,还包括:使用以太网的组播功能,将所述以太网帧发送至板卡类型为所述目标板卡类型的板卡。
8.第二方面,本技术提供了一种板卡间的寻址装置,包括:第一读取模块,用于读取以太网帧的第一比特位区间;单播寻址模块,用于若所述第一比特位区间的读取结果为第一预设阈值,则确定本次通信方式为单播,读取所述以太网帧的第二比特位区间和第三比特位区间,得到目标板卡的槽位号和节点号,根据所述槽位号和所述节点号确定所述目标板卡的mac地址;第二读取模块,用于若所述第一比特位区间的读取结果不为所述第一预设阈值,则读取所述以太网帧的第二比特位区间;广播寻址模块,用于若所述第二比特位区间的读取结果为第二预设阈值,则判定本次通信方式为广播,确定目标板卡的mac地址;组播寻址模块,用于若所述第二比特位区间的读取结果不为所述第二预设阈值,则判定本次通信方式为组播,读取所述以太网帧的第三比特位区间,得到目标板卡类型,根据所述目标板卡类型确定目标板卡的mac地址。
9.可选的,所述第一比特位区间的大小为1比特,所述单播寻址模块用于:若所述第一比特位区间的读取结果为假,则确定本次通信方式为单播;相应的,所述第二读取模块用于:若所述第一比特位区间的读取结果为真,则读取所述以太网帧的第二比特位区间。
10.可选的,还包括:单播模块,用于使用以太网的单播功能,将所述以太网帧发送至所述目标板卡;广播模块,用于使用以太网的广播功能,将所述以太网帧发送至全部板卡;组播模块,用于使用以太网的组播功能,将所述以太网帧发送至板卡类型为所述目标板卡类型的板卡。
11.第三方面,本技术提供了一种计算机设备,包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序,以实现如上所述的板卡间的寻址方法。
12.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的板卡间的寻址方法。
13.本技术所提供的一种板卡间的寻址方法,包括:读取以太网帧的第一比特位区间;若第一比特位区间的读取结果为第一预设阈值,则确定本次通信方式为单播,读取以太网帧的第二比特位区间和第三比特位区间,得到目标板卡的槽位号和节点号,根据槽位号和
节点号确定目标板卡的mac地址;若第一比特位区间的读取结果不为第一预设阈值,则读取以太网帧的第二比特位区间;若第二比特位区间的读取结果为第二预设阈值,则判定本次通信方式为广播,确定目标板卡的mac地址;若第二比特位区间的读取结果不为第二预设阈值,则判定本次通信方式为组播,读取以太网帧的第三比特位区间,得到目标板卡类型,根据目标板卡类型确定目标板卡的mac地址。可见,该方法通过预先设置三个比特位区间,实现了单播、组播、广播的功能,且能够快速定位目标板卡,以满足板卡的复杂通信需求。
14.此外,本技术还提供了一种板卡间的寻址装置、计算机设备及计算机可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
15.为了更清楚的说明本技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本技术提供的板卡组织方式示意图;图2为本技术提供的板卡间的寻址方法实施例的流程图;图3为本技术提供的标准以太网帧格式示意图;图4为本技术提供的地址编码设计示意图;图5为本技术提供的板卡地址设计示意图;图6为本技术提供的mac地址中的第一字节示意图;图7为本技术提供的板卡间的寻址装置实施例的示意图。
具体实施方式
17.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.板卡组织方式如图1所示,机箱在水平方向分为多个槽位(slot),垂直方向分为节点1及节点2,a类型板卡在机箱内占用一整个槽位,b、c、d及e类型板卡在机箱内占用半个槽位或一个节点位(node)。
19.在实际应用中,为了满足管理需求,机箱中的板卡互相通信需要支持以下三种通信类型:1. 发送给单个板卡;2. 发送给某一类型的板卡;3. 发送给所有板卡;在机箱中,控制板卡若需要向业务板卡发送统一的配置指令(发送给某一类型的板卡), 而常见的传输协议tcp在有n块业务板卡的情况下,需要建立n条tcp连接,并逐一发送,这样的通信方式不仅浪费了大量的传输带宽,也使得软件设计变得复杂。
20.在控制板卡需要向所有业务板卡发送统一的配置指令时,可以采用组播的方式进
行发送。而在以太网二层中的单播、组播和广播的mac地址在软件上不便于区分,尤其是单播mac 地址对于每块板卡都是唯一的,缺少一个机箱内部逻辑编号及与槽位号或节点号对应关系的编码机制。
21.为了在机箱内实现这些通信需求,在以太网的基础上,本技术提供一种板卡间的寻址方法、装置、计算机设备及计算机可读存储介质。具体的,在二层以太网的基础上,本技术提供了一套用于刀片板卡机箱内寻址的方案。
22.下面对本技术提供的板卡间的寻址方法实施例进行介绍,参见图2,该实施例包括:s11、读取以太网帧的第一比特位区间;s12、若第一比特位区间的读取结果为第一预设阈值,则确定本次通信方式为单播,读取以太网帧的第二比特位区间和第三比特位区间,得到目标板卡的槽位号和节点号,根据槽位号和节点号确定目标板卡的mac地址;s13、若第一比特位区间的读取结果不为第一预设阈值,则读取以太网帧的第二比特位区间;s14、若第二比特位区间的读取结果为第二预设阈值,则判定本次通信方式为广播,确定目标板卡的mac地址;s15、若第二比特位区间的读取结果不为第二预设阈值,则判定本次通信方式为组播,读取以太网帧的第三比特位区间,得到目标板卡类型,根据目标板卡类型确定目标板卡的mac地址。
23.作为一种具体的实施方式,第一比特位区间的大小可以设置为1比特,这种情况下,若第一比特位区间的读取结果为假,则确定本次通信方式为单播;若第一比特位区间的读取结果为真,则读取以太网帧的第二比特位区间。在此基础之上,上述第二比特位区间的大小可以设置为6比特,上述第二预设阈值可以设置为63,上述第三比特位区间的大小可以设置为2比特。
24.实际应用中,在确定本次通信方式为单播之后,使用以太网的单播功能,将以太网帧发送至目标板卡;在确定本次通信方式为广播之后,使用以太网的广播功能,将以太网帧发送至全部板卡;在确定本次通信方式为组播之后,使用以太网的组播功能,将以太网帧发送至板卡类型为目标板卡类型的板卡。
25.基于上述实施例,下面以实际应用为例对本技术的实施过程做详细说明。
26.标准以太网帧格式如图3所示,包括以下字段:dest_mac:以太网帧目的mac地址;src_mac:以太网帧源mac地址;type:以太网帧类型;payload:以太网帧的载荷。
27.本实施例的地址编码设计如图4所示,其中地址设计为2字节,在以太网帧上结构包括以下字段:dst_addr:目的板卡地址;src_addr:源板卡地址;reserved及payload:预留给传输协议使用。
28.本实施例的板卡地址设计如图5所示,从地址的最低位开始设计,最高2个比特(bit[e-f])设计为同一槽位号内不同节点的索引号(node_id),支持的编码范围为0-3;再往低地址方向取6个比特(bit[8-d])设计为 整个机箱内槽位号的索引号(slot_id),支持的编码范围为0-63(若板卡物理形态占用了整个槽位,则节点号默认为0)。本编码方案使用了1个字节的空间,将使用板卡在机箱中的位置为索引进行了一个二级编码,但其不能支持一对多的通信模式。为了支持一对多的通信模式,取最低1个比特(bit[0])表示是否为发送给某个类型的板卡,实现一对多通信。当该比特为1时,索引槽位号的6个比特被复用为板卡类型 (type_id),索引节点号的2个比特无效。特别的,当type_id为63时,表示索引所有板卡。总之,如图5所示,包括以下比特位区间:tpy:地址中的slot_id/type_id是否为板卡类型;type_id:当tpy为真时,解释为板卡类型(为63时表示所有板卡);slot_id:当tpy不为真时,解释为槽位号;node_id:当tpy不为真时,解释为节点号。
[0029]
实际应用中,可以利用c语言实现以太网mac地址映射。可以理解的是,上述寻址方案需要在以太网帧的基础上实现,发送给单个板卡的消息(目的板卡地址中 tpy不为真),将使用以太网的单播功能;发送给某一类型板卡的消息(目的板卡地址中 tpy为真,且type_id不为63),将使用以太网的组播功能;发送给所有板卡的消息(目的板卡地址中tpy为 真,且type_id为63),将使用以太网的广播功能。
[0030]
可以理解的是,单播地址采用板卡实际的mac地址。在mac地址中的第一字节内,如图6所示,当bit[6]为1时,表示地址类型为非全管理地址;当bit[7]为 1时,表示地址类型为广播地址。内部使用的组播mac地址应当满足bit[6]及bit[7]均为1,避免与全球编码冲突,且为组播地址,16进制表示为03:xx:xx:xx:xx:xx。在本实施例中,规定默认的组播mac地址为03:44:54:64:74:xx(ascii码对应为dtdt),其中xx部分为type_id的16进制值,广播mac地址使用标准的ff:ff:ff:ff:ff:ff。
[0031]
无论发送类型是什么,src_mac总是填写本板卡的mac地址,src_addr中,tpy总为假,slot_id总为本板卡所在槽位号,node_id总为本板卡所在节点号。因此下面描述的映射关系均为dst_addr与dest_mac的映射关系,主要包括三种情形:1、发送给单个板卡的消息,tpy为假,slot_id为目的板卡槽位号,node_id为目的板卡节点号;映射到mac地址为目的板卡的实际mac地址。
[0032]
2、发送给某一类型板卡的消息,tpy为真,type_id为目的板卡类型id;映射到mac地址 为03:44:54:64:74:xx,其中xx为目的板卡类型id的16进制值。
[0033]
3、发送给所有板卡的消息,tpy为真,tpye_id为63,映射到mac地址为 ff:ff:ff:ff:ff:ff。
[0034]
综上所述,本实施例提供的板卡间的寻址方法,实现逻辑地址与板卡在机箱中的物理位置对应,便于快速定位板卡位置,而且封装了复杂的mac地址,仅保留2字节索引地址,简化寻址范围,提升通信效率。
[0035]
下面对本技术实施例提供的板卡间的寻址装置进行介绍,下文描述的板卡间的寻址装置与上文描述的板卡间的寻址方法可相互对应参照。
[0036]
如图7所示,本实施例的板卡间的寻址装置,包括:
第一读取模块71,用于读取以太网帧的第一比特位区间;单播寻址模块72,用于若第一比特位区间的读取结果为第一预设阈值,则确定本次通信方式为单播,读取以太网帧的第二比特位区间和第三比特位区间,得到目标板卡的槽位号和节点号,根据槽位号和节点号确定所述目标板卡的mac地址;第二读取模块73,用于若第一比特位区间的读取结果不为第一预设阈值,则读取以太网帧的第二比特位区间;广播寻址模块74,用于若第二比特位区间的读取结果为第二预设阈值,则判定本次通信方式为广播,确定目标板卡的mac地址;组播寻址模块75,用于若第二比特位区间的读取结果不为第二预设阈值,则判定本次通信方式为组播,读取所以太网帧的第三比特位区间,得到目标板卡类型,根据目标板卡类型确定目标板卡的mac地址。
[0037]
在一些具体的实施例中,所述第一比特位区间的大小为1比特,所述单播寻址模块用于:若所述第一比特位区间的读取结果为假,则确定本次通信方式为单播;相应的,所述第二读取模块用于:若所述第一比特位区间的读取结果为真,则读取所述以太网帧的第二比特位区间。
[0038]
在一些具体的实施例中,还包括:单播模块,用于使用以太网的单播功能,将所述以太网帧发送至所述目标板卡;广播模块,用于使用以太网的广播功能,将所述以太网帧发送至全部板卡;组播模块,用于使用以太网的组播功能,将所述以太网帧发送至板卡类型为所述目标板卡类型的板卡。
[0039]
本实施例的板卡间的寻址装置用于实现前述的板卡间的寻址方法,因此该装置中的具体实施方式可见前文中的板卡间的寻址方法的实施例部分,在此不再展开介绍。
[0040]
此外,本技术还提供了一种计算机设备,包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序,以实现如上文所述的板卡间的寻址方法。
[0041]
最后,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的板卡间的寻址方法。
[0042]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0043]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0044]
以上对本技术所提供的方案进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围
上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献