数据交互方法及装置与流程

文档序号:17442044发布日期:2019-04-17 04:53阅读:209来源:国知局
数据交互方法及装置与流程

本公开涉及通信技术领域,具体而言,涉及一种数据交互方法及装置。



背景技术:

刀箱又称为刀片机箱,是一种基于融合架构,具有高可用性的服务器平台。刀箱内置有管理板,用户可以通过管理板管理刀箱内的各刀片节点。例如,可以通过管理板汇总刀箱中各刀片节点的信息、状态等。又例如,可以根据所访问刀箱内各刀片节点的不同,基于管理板支持一些简单的操作,如开关机、管理互联网协议(internetprotocol,ip)地址等。经研究发现,刀箱内部数据交互的便捷性有待提高。



技术实现要素:

有鉴于此,本公开提供一种数据交互方法及装置。

第一方面,本公开提供了一种数据交互方法,应用于刀箱中的管理板,所述方法包括:

获得并记录插入所述刀箱中的刀片节点的链路本地地址;

将所述管理板的链路本地地址发送至所述刀片节点,以使所述刀片节点获得所述管理板的链路本地地址;

在所述管理板与所述刀片节点获得彼此的链路本地地址之后,建立与所述刀片节点的三层连接,以与所述刀片节点进行数据交互。

可选地,获得并记录插入所述刀箱中的刀片节点的链路本地地址的步骤,包括:

获得刀片节点插入所述刀箱之后发送的注册报文,所述注册报文中携带有所述刀片节点的链路本地地址;

解析所述注册报文得到所述刀片节点的链路本地地址;

记录所述刀片节点的链路本地地址。

可选地,将所述管理板的链路本地地址发送至所述刀片节点的步骤,包括:

根据在所述管理板上配置的使能ipv6地址的命令,生成所述管理板的链路本地地址;

将所述管理板的链路本地地址携带在所述刀片节点注册成功后的注册响应报文中;

将所述注册响应报文发送至所述刀片节点。

可选地,获得并记录插入所述刀箱中的刀片节点的链路本地地址的步骤,包括:

获得插入所述刀箱中的刀片节点发送的心跳报文,所述心跳报文中包括所述刀片节点的链路本地地址;

解析所述心跳报文得到所述刀片节点的链路本地地址;

记录所述刀片节点的链路本地地址。

可选地,将所述管理板的链路本地地址发送至所述刀片节点的步骤的步骤,包括:

根据在所述管理板上配置的使能ipv6地址的命令,生成所述管理板的链路本地地址;

将所述管理板的链路本地地址携带在心跳报文中;

将所述心跳报文发送至所述刀片节点。

第二方面,本公开提供一种数据交互方法,应用于刀片节点,所述方法包括:

在所述刀片节点插入刀箱之后,获取所述刀片节点的链路本地地址;

将所述刀片节点的链路本地地址发送至所述刀箱中的管理板,以使所述管理板获得所述刀片节点的链路本地地址;

获得并记录所述管理板的链路本地地址;

在所述刀片节点与所述管理板获得彼此的链路本地地址之后,建立与所述管理板的三层连接,以与所述管理板进行数据交互。

可选地,将所述刀片节点的链路本地地址发送至所述刀箱中的管理板的步骤,包括:

将所述刀片节点的链路本地地址,携带在所述刀片节点的注册报文中;

将所述注册报文传递至所述管理板。

可选地,获得并记录所述管理板的链路本地地址的步骤,包括:

接收所述管理板针对所述注册报文发送的注册响应报文,所述注册响应报文中包括所述管理板的链路本地地址;

解析所述注册响应报文得到所述管理板的链路本地地址;

记录所述管理板的链路本地地址。

可选地,将所述刀片节点的链路本地地址发送至所述刀箱中的管理板的步骤,包括:

将所述刀片节点的链路本地地址,携带在所述刀片节点的心跳报文中;

将所述心跳报文传递至所述管理板。

可选地,获得并记录所述管理板的链路本地地址的步骤,包括:

接收所述管理板发送的心跳报文,所述心跳报文中包括所述管理板的链路本地地址;

解析所述心跳报文得到所述管理板的链路本地地址;

记录所述管理板的链路本地地址。

第三方面,本公开提供一种数据交互装置,应用于刀箱中的管理板,所述数据交互装置包括:

信息获得单元,用于获得并记录插入所述刀箱中的刀片节点的链路本地地址;

信息发送单元,用于将所述管理板的链路本地地址发送至所述刀片节点,以使所述刀片节点获得所述管理板的链路本地地址;

信息交互单元,用于在所述管理板与所述刀片节点获得彼此的链路本地地址之后,建立与所述刀片节点的三层连接,以与所述刀片节点进行数据交互。

第四方面,本公开提供一种数据交互装置,应用于刀片节点,所述数据交互装置包括:

地址获取单元,用于在所述刀片节点插入刀箱之后,获取所述刀片节点的链路本地地址;

地址发送单元,用于将所述刀片节点的链路本地地址发送至所述刀箱中的管理板,以使所述管理板获得所述刀片节点的链路本地地址;

地址获得单元,用于获得并记录所述管理板的链路本地地址;

数据交互单元,用于在所述刀片节点与所述管理板获得彼此的链路本地地址之后,建立与所述管理板的三层连接,与所述管理板进行数据交互。

第五方面,本公开提供一种管理板,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述由管理板执行的数据交互方法。

第六方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在管理板执行上述由管理板执行的数据交互方法。

本公开提供的数据交互方法及装置,在刀箱的管理板与刀片节点之间互相通知链路本地地址,在管理板与刀片节点获得彼此的链路本地地址之后,建立三层连接,实现刀箱中的管理板和刀片节点的数据交互,实现较为便捷。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本公开提供的一种刀箱的方框示意图。

图2为本公开提供的一种管理板的方框示意图。

图3为本公开提供的一种数据交互方法的时序图。

图4为本公开提供的一种数据交互方法的流程示意图。

图5为本公开提供的一种数据交互方法的另一流程示意图。

图6为本公开提供的一种数据交互方法的另一时序图。

图7为本公开提供的一种应用于管理板的数据交互装置的功能模块方框示意图。

图8为本公开提供的一种应用于刀片节点的数据交互装置的功能模块方框示意图。

图标:10-管理板;11-存储器;12-处理器;13-网络模块;14-数据交互装置;141-信息获得单元;142-信息发送单元;143-信息交互单元;20-刀片节点;21-bmc;241-地址获取单元;242-地址发送单元;243-地址获得单元;244-数据交互单元。

具体实施方式

刀箱的管理板中可以安装管理软件,通过刀箱内部数据交互,管理板中的管理软件可以统一汇总刀箱中各刀片节点的信息、状态等。管理板中的管理软件根据所访问刀箱内各刀片节点的不同,可以支持一些简单的操作,如开关机、管理互联网协议(internetprotocol,ip)地址的设置、获取刀片节点的温度参数等。其中,刀箱中的刀片节点可以为互联模块、计算节点、电源、风扇等。

一个管理板往往会对应刀箱中的多个刀片节点,如对应刀箱中的多个计算节点和多个互联模块。在刀箱内部使用同一个虚拟局域网(virtuallocalareanetwork,vlan)管理通道的情况下,管理板需要与所能访问的刀箱中的各刀片节点进行数据交互,以分别获取及设置各刀片节点的相关信息。

以刀箱中的管理板与刀箱中的某一刀片节点的通信为例,刀箱中的管理板与刀箱中的刀片节点进行刀箱内部数据交互的一种应用如下所示。

请参阅图1,示出了刀箱中的管理板10与刀片节点20的内部连线示意图。其中,刀箱中的管理板10可以包括中央处理器(centralprocessingunit,cpu),刀箱中的刀片节点20可以包括基板管理控制器21(baseboardmanagementcontroller,bmc)。在该种场景下,管理板10的cpu可以与刀片节点20的bmc连接。其中,cpu可以与bmc直接连接,cpu也可以通过背板与bmc连接。

在图1所示场景中,cpu可以采用二层自定义协议与bmc进行数据交互,也可以配置ip地址从而通过三层连接与bmc进行数据交互,还可以通过cpu与bmc之间连接的i2c总线(inter-integratedcircuit)进行数据交互。经研究发现,刀箱内部采用上述方式进行数据交互或多或少都存在着一定的局限性,实现较为不便。例如,若cpu和bmc采用二层自定义协议进行数据交互,需要在cpu和bmc两侧,分别对cpu和bmc之间的交付需求代码重新进行开发。又例如,若cpu和bmc采用配置的ip地址通过三层连接进行数据交互,需要保证cpu和bmc两侧的管理ip地址不重,且ip地址必须可达。又例如,若cpu和bmc通过i2c总线进行数据交互,cpu无法直接实现键盘、视频和鼠标(keyboardvideomouse,kvm)、固件升级等功能,要实现kvm、固件升级等功能,需要配置管理ip地址。鉴于上述原因,导致现有技术中刀箱内部数据交互的便捷性有待提高,进而导致刀箱的管理便捷性有待提高。

为了改善上述问题,发明人经研究发现,刀箱中的各刀片节点20的媒体访问控制(mediaaccesscontrol或者mediumaccesscontrol,mac)地址不同。互联网协议第6版(internetprotocolversion6,ipv6)的链路本地(linklocal)地址可以根据mac地址生成。例如,可以基于设定的linklocal地址生成规则根据mac地址生成linklocal地址。linklocal地址生成规则可以灵活设定,如采用的linklocal地址生成规则可以为:在mac地址中间插入ff-fe,将mac地址的第二个字节(byte)进行区分,并在前面加fe80::。该种情况下,若mac地址为00-18-f3-3e-89-ea,按linklocal地址生成规则生成的linklocal地址为fe80::0218:f3ff:fe3e:89ea。

应当理解,linklocal地址还可以根据mac地址采用其他规则生成,上述仅为举例说明。鉴于刀箱中的各刀片节点20的mac地址不同,因而根据各刀片节点20的mac地址生成的各刀片节点20的linklocal地址不同。基于刀箱中各刀片节点20的linklocal地址的唯一性,从而可以使用ipv6的linklocal地址进行刀箱中管理板10与各刀片节点20之间的三层连接,实现数据交互。

使用linklocal地址实现刀箱内部的数据交互,无需自定义协议,也无需配置ip地址,可以实现kvm、固件升级等功能,实现较为便捷。

有鉴于此,本公开提供一种数据交互方法及装置,使用linklocal地址实现刀箱内部数据的交互。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

请结合参阅图2,是本公开提供的管理板10的一种方框示意图。本公开中的管理板10是刀箱的管理模块,用于管理刀箱中的各刀片节点20。如图2所示,管理板10可以包括:存储器11、处理器12、网络模块13及数据交互装置14。

所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有数据交互装置14,所述数据交互装置14包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,如本公开中的数据交互装置14,从而执行各种功能应用以及刀箱管理,即实现本公开中由管理板10执行的数据交互方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本公开中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立管理板10与外部通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图2所示的结构仅为示意,管理板10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。例如,管理板10还可以包括负责处理报文的转发芯片,管理接口等。

在上述基础上,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在管理板10执行管理板10侧的数据交互方法。

本公开中,刀箱中的刀片节点20亦可包括与图2所示管理板10类似的结构。其中,刀片节点20中可以包括bmc。相应地,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在刀片节点20执行刀片节点20侧的数据交互方法。

请结合参阅图3,本公开提供一种数据交互方法,该方法可以由刀箱执行,刀箱包括图1中的管理板10和刀片节点20。所述方法包括以下步骤。

步骤s31,刀片节点20在插入刀箱之后,获取所述刀片节点20的链路本地地址。

刀片节点20中的bmc一般默认使能ipv6地址。因而,刀片节点20插入刀箱之后,便可得到刀片节点20的bmc共享网口的链路本地地址(本公开中称为刀片节点20的链路本地地址)。

为了确保刀片节点20插入刀箱的槽位可用,可选地,管理板10可以读取刀片节点20所插入槽位的在位状态,在确定刀片节点20所插入槽位处于在位状态时,记录该槽位在位,并通知用户。在刀片节点20所插入槽位处于非在位状态时,记录该槽位不在位,并通知用户。

步骤s32,刀片节点20将链路本地地址发送至所述刀箱中的管理板10,以使所述管理板10获得所述刀片节点20的链路本地地址。

刀片节点20可以通过多种方式将其链路本地地址发送至管理板10。例如,刀片节点20可以在通过注册报文向管理板10发送注册请求时,将其链路本地地址发送至管理板10。又例如,刀片节点20可以在与管理板10进行心跳报文交互,以提供运行状态时,将其链路本地地址发送至管理板10。又例如,刀片节点20可以在需要和管理板10进行数据交互时,将其链路本地地址发送至管理板10。又例如,刀片节点20可以在管理板10向其发送链路本地地址获取请求时,将刀片节点20的链路本地地址发送至管理板10。本公开对此不限。

请结合参阅图4,本公开提供了刀片节点20在通过注册报文向管理板10发送注册请求时,将链路本地地址发送至管理板10的示例性实现方式,包括以下步骤。

步骤s41,刀片节点20将链路本地地址,携带在所述刀片节点20的注册报文中。

根据刀片节点20与管理板10之间所支持传输协议的不同,链路本地地址可以采用多种方式携带在注册报文中。例如,若刀片节点20与管理板10之间支持hutp传输协议(h3cuismtransportprotocol),hutp传输协议支持的以太网(ethernetii)帧格式中包括类型-长度-值(tag-length-value,tlv)保留字段。那么,可以在注册报文中新增tlv格式信息,将刀片节点20的链路本地地址携带在该新增的tlv格式信息中,从而通过tlv格式信息描述发送注册报文的源刀片节点20的链路本地地址。又例如,若刀片节点20与管理板10之间支持链路层发现协议(linklayerdiscoveryprotocol,lldp),那么,可以将刀片节点20的链路本地地址携带在lldp协议的扩充tlv字段中。

根据注册需求,还可以将刀片节点20的物理槽位号、mac地址、单板类型等携带在注册报文中。其中,刀片节点20的物理槽位号、mac地址、单板类型等可以由刀片节点20的bmc自动读取。

步骤s42,刀片节点20将所述注册报文传递至所述管理板10。

作为其中一种可选实现方式,刀片节点20可以通过广播的形式将所述注册报文传递至所述管理板10。管理板10之外的其他器件接收到注册报文之后,丢弃注册报文。管理板10接收到注册报文之后,从注册报文中解析出链路本地地址。相应地,若注册报文中还包括物理槽位号、mac地址、单板类型等信息,管理板10还可以从注册报文中解析出物理槽位号、mac地址、单板类型等信息。

请结合参阅图5,本公开提供了刀片节点20在通过心跳报文与管理板10进行运行状态交互时,将链路本地地址发送至管理板10的示例性实现方式,包括以下步骤。

步骤s51,将刀片节点20的链路本地地址,携带在刀片节点20的心跳报文中。

步骤s52,将心跳报文传递至管理板10。

管理板10接收到心跳报文后,即可从心跳报文中解析出刀片节点20的链路本地地址。与注册报文类似,心跳报文亦可通过广播的形式进行传递,本公开对此不作赘述。

步骤s33,管理板10获得并记录插入所述刀箱中的刀片节点20的链路本地地址。

根据刀片节点20发送链路本地地址的方式的不同,管理板10可以通过多种方式获得刀片节点20的链路本地地址。例如,若刀片节点20将链路本地地址携带在注册报文中,那么,管理板10获得刀片节点20插入所述刀箱之后发送的注册报文之后,解析所述注册报文从而得到所述刀片节点20的链路本地地址。又例如,若刀片节点20将链路本地地址携带在心跳报文中,那么,管理板10获得刀片节点20发送的心跳报文之后,解析所述心跳报文从而得到所述刀片节点20的链路本地地址。管理板10获得刀片节点20的链路本地地址之后,对其进行记录。以链路本地地址携带在新增的tlv格式信息中为例,在该种情况下,管理板在接收到注册报文时,通过读取注册报文中type为linklocal的tlv格式信息中的v字段,得到链路本地地址。

步骤s34,管理板10将其链路本地地址发送至所述刀片节点20,以使所述刀片节点20获得所述管理板10的链路本地地址。

鉴于默认需要在管理板10上配置使能ipv6地址的命令,在使能ipv6地址后,管理板10的管理口才能生成链路本地地址。因而,为了得到管理板10的链路本地地址,需要根据在所述管理板10上配置的使能ipv6地址的命令,生成管理板10的链路本地地址。

在生成管理板10的链路本地地址之后,管理板10可以通过多种方式将管理板10的链路本地地址发送至刀片节点20。

例如,管理板10可以在刀片节点20注册成功,向刀片节点20发送注册响应报文时,将其链路本地地址发送至刀片节点20。又例如,管理板10可以在与刀片节点20进行心跳报文交互,以获知运行状态时,将其链路本地地址发送至刀片节点20。又例如,管理板10可以在需要和刀片节点20进行数据交互时,将其链路本地地址发送至刀片节点20。又例如,管理板10可以在刀片节点20向其发送链路本地地址获取请求时,将管理板10的链路本地地址发送至刀片节点20。本公开对此不限。

管理板10在将其链路本地地址携带在所述刀片节点20注册成功后的注册响应报文中的情况下,管理板10将所述注册响应报文发送至所述刀片节点20,从而将管理板10的链路本地地址发送至刀片节点20。刀片节点20通过解析注册响应报文,即可得到管理板10的链路本地地址。

根据注册需求,还可以将管理板10的物理槽位号、mac地址、单板类型等携带在注册响应报文中。相应地,若注册响应报文中还包括物理槽位号、mac地址、单板类型等信息,刀片节点20还可以从注册响应报文中解析出物理槽位号、mac地址、单板类型等信息。

类似地,管理板10在将其链路本地地址携带在心跳报文中的情况下,管理板10将所述心跳报文发送至所述刀片节点20,从而将管理板10的链路本地地址发送至刀片节点20。刀片节点20通过解析心跳报文,即可得到管理板10的链路本地地址。

请结合参阅图6,本公开中,针对注册成功的刀片节点20,管理板10通过心跳报文探测该刀片节点20的状态的示例性实现流程可以如下所示。

步骤s61,管理板10向注册成功的刀片节点20发送探测状态的心跳报文,在该心跳报文中携带管理板10的链路本地地址、物理槽位号、单板类型、mac地址等。

其中,可以预先设定探测状态的时间间隔,管理板10按照设定的时间间隔轮询探测刀片节点20的状态。管理板10也可以在接收到用户发送的探测指令之后,再向向注册成功的刀片节点20发送探测状态的心跳报文。

步骤s62,刀片节点20接收到管理板10发送的心跳报文后,向管理板10发送接收确认信息。

步骤s63,管理板10接收到刀片节点20发送的接收确认信息之后,记录探测状态的心跳报文已发送成功。

步骤s64,若刀片节点20处于正常工作状态,那么,刀片节点20接收到探测状态的心跳报文之后,向管理板10发送响应探测状态的心跳报文。

步骤s65,管理板10接收到刀片节点20发送的响应探测状态的心跳报文之后,判定刀片节点20处于正常工作状态,将刀片节点20的正常工作状态信息进行记录并通知用户。

步骤s66,管理板10若未接收到刀片节点20发送的响应探测状态的心跳报文,判定刀片节点20处于故障状态,将刀片节点20的故障状态信息进行记录并通知用户。

其中,可以设定时长阈值,若管理板10发送探测状态的心跳报文后,在设定的时长阈值内,未接收到刀片节点20发送的响应探测状态的心跳报文,则判定刀片节点20处于故障状态。为了确保探测准确性,也可以在未接收到刀片节点20发送的响应探测状态的心跳报文的次数达到设定次数时,再判定刀片节点20处于故障状态。

本公开中,为了确保插入刀箱中的刀片节点20的安全性,针对注册成功的刀片节点20,管理板10还可以接收用户发送的设置密码请求。管理板10接收到设置密码请求之后,向刀片节点20发送设置密码请求报文。刀片节点20接收到设置密码请求报文之后,添加用户设置的密码,并向管理板10回应设置密码成功的报文。管理板10接收到回应设置密码成功的报文之后,进行记录并通知用户密码设置成功。

步骤s35,刀片节点20获得并记录所述管理板10的链路本地地址。

根据管理板10发送链路本地地址的方式的不同,刀片节点20可以通过多种方式获得管理板10的链路本地地址。例如,若管理板10将链路本地地址携带在注册响应报文中,那么,刀片节点20接收所述管理板10针对所述注册报文发送的注册响应报文之后,解析所述注册响应报文从而得到所述管理板10的链路本地地址。又例如,若管理板10将链路本地地址携带在心跳报文中,那么,刀片节点20接收到所述管理板10发送的心跳报文之后,解析所述心跳报文从而得到所述管理板10的链路本地地址。刀片节点20获得管理板10的链路本地地址之后,进行记录,从而基于记录的管理板10的链路本地地址,向管理板10发送数据。

步骤s36,在所述管理板10与所述刀片节点20获得彼此的链路本地地址之后,建立管理板10与所述刀片节点20的三层连接,实现管理板10与刀片节点20的数据交互。

基于以上步骤,即可通过ipv6链路本地地址在刀箱内部建立管理板10和刀片节点20的三层连接,无需用户进行额外的操作,如无需在管理板10和刀片节点20分别对交付需求代码重新进行开发,无需在管理板10和刀片节点20分别配置ip地址等。进而实现刀箱内部数据的便捷交互。

管理板10通过链路本地地址访问刀片节点20,由于刀片节点20的bmc通过web访问就能实现kvm、固件升级等功能。因此,在管理板10与刀片节点20获得彼此的链路本地地址的情况下,无需用户进行额外的操作,即可以基于与刀片节点20的三层连接,通过三层接口实现kvm、固件升级等功能。其中,固件升级可以包括对刀片节点20的基本输入输出系统(basicinputoutputsystem,bios)、管理板10的复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、刀片节点20的bmc等固件的升级。从而通过建立的管理板10与刀片节点20的三层连接,实现对刀箱中各刀片节点20的便捷管理。

基于此,管理板10可以基于所述管理板10与所述刀片节点20的三层连接,向所述刀片节点20发送管理命令,所述管理命令包括键盘、视频和鼠标kvm控制命令,以及固件升级命令中的至少一种。刀片节点20可以基于所述刀片节点20与所述管理板10的三层连接,接收所述管理板10发送的管理命令。若接收到所述kvm控制命令,则根据所述kvm控制命令实现kvm功能。若接收到所述固件升级命令,则根据所述固件升级命令进行固件升级。

应当理解,管理命令还可以包括其他,例如,管理命令还可以包括对刀箱中各刀片节点20进行信息收集等,相应地,接收到信息收集命令之后,可以基于刀片节点20与管理板10的链路本地地址的互访,实现各刀片节点20在管理板10上的信息汇总。

本公开中,管理板10和刀片节点20基于建立的三层连接,实现三层数据交互,可以保留刀片节点20的bmc所提供的共享网口,基于传输控制协议(transmissioncontrolprotocol,tcp)实现套接字socket通信,从而完成管理板10和刀片节点20之间的数据交互。确保大数据的分片以及数据报文丢失后的重传机制,确保刀箱内部数据交互的可靠性和稳定性。

本公开提供的数据交互方法,无需用户进行额外的操作,在刀箱的管理板10与刀片节点20之间互相通知链路本地地址,在管理板10与刀片节点20获得彼此的链路本地地址之后,建立三层连接,实现管理板10与刀片节点20之间的数据交互,提高了刀箱内部数据交互的便捷性和可靠性。并可以基于所建立的三层连接,实现kvm、固件升级等功能,实现对刀箱的便捷、可靠管理。

请结合参阅图7,本公开还提供一种数据交互装置14,应用于刀箱中的管理板10。所述数据交互装置14包括信息获得单元141、信息发送单元142和信息交互单元143。

其中,信息获得单元141用于获得并记录插入所述刀箱中的刀片节点20的链路本地地址。

关于信息获得单元141的实现方式可以参阅图3中步骤s33的相关描述,在此不作赘述。

信息发送单元142用于将所述管理板10的链路本地地址发送至所述刀片节点20,以使所述刀片节点20获得所述管理板10的链路本地地址。

关于信息发送单元142的实现方式可以参阅图3中步骤s34的相关描述,在此不作赘述。

信息交互单元143用于在所述管理板10与所述刀片节点20获得彼此的链路本地地址之后,建立与所述刀片节点20的三层连接,以与所述刀片节点20进行数据交互。

关于信息交互单元143的实现方式可以参阅图3中步骤s36的相关描述,在此不作赘述。

可选地,信息获得单元141用于获得刀片节点20插入所述刀箱之后发送的注册报文,所述注册报文中携带有所述刀片节点20的链路本地地址,解析所述注册报文得到所述刀片节点20的链路本地地址,记录所述刀片节点20的链路本地地址。或者,信息获得单元141用于获得插入所述刀箱中的刀片节点20发送的心跳报文,所述心跳报文中包括所述刀片节点20的链路本地地址,解析所述心跳报文得到所述刀片节点20的链路本地地址,记录所述刀片节点20的链路本地地址。

可选地,信息发送单元142用于根据在所述管理板10上配置的使能ipv6地址的命令,生成所述管理板10的链路本地地址,将所述管理板10的链路本地地址携带在所述刀片节点20注册成功后的注册响应报文中,将所述注册响应报文发送至所述刀片节点20。或者,信息发送单元142用于根据在所述管理板10上配置的使能ipv6地址的命令,生成所述管理板10的链路本地地址,将所述管理板10的链路本地地址携带在心跳报文中,将所述心跳报文发送至所述刀片节点20。

可选地,信息交互单元143还用于,基于所述管理板10与所述刀片节点20的三层连接,向所述刀片节点20发送管理命令,所述管理命令包括键盘、视频和鼠标kvm控制命令,以及固件升级命令中的至少一种。

请结合参阅图8,本公开提供一种数据交互装置,应用于刀片节点20,所述数据交互装置包括地址获取单元241、地址发送单元242、地址获得单元243和数据交互单元244。

其中,地址获取单元241用于在所述刀片节点20插入刀箱之后,获取所述刀片节点20的链路本地地址。

关于地址获取单元241的实现方式可以参阅图3中步骤s31的相关描述,在此不作赘述。

地址发送单元242用于将所述刀片节点20的链路本地地址发送至所述刀箱中的管理板10,以使所述管理板10获得所述刀片节点20的链路本地地址。

关于地址发送单元242的实现方式可以参阅图3中步骤s32的相关描述,在此不作赘述。

地址获得单元243用于获得并记录所述管理板10的链路本地地址。

关于地址获得单元243的实现方式可以参阅图3中步骤s35的相关描述,在此不作赘述。

数据交互单元244用于在所述刀片节点20与所述管理板10获得彼此的链路本地地址之后,建立与所述管理板10的三层连接,与所述管理板10进行数据交互。

关于数据交互单元244的实现方式可以参阅图3中步骤s36的相关描述,在此不作赘述。

可选地,地址发送单元242用于将所述刀片节点20的链路本地地址,携带在所述刀片节点20的注册报文中,将所述注册报文传递至所述管理板10。或者,地址发送单元242用于将所述刀片节点20的链路本地地址,携带在所述刀片节点20的心跳报文中,将所述心跳报文传递至所述管理板10。

可选地,地址获得单元243用于接收所述管理板10针对所述注册报文发送的注册响应报文,所述注册响应报文中包括所述管理板10的链路本地地址,解析所述注册响应报文得到所述管理板10的链路本地地址,记录所述管理板10的链路本地地址。或者,地址获得单元243用于接收所述管理板10发送的心跳报文,所述心跳报文中包括所述管理板10的链路本地地址,解析所述心跳报文得到所述管理板10的链路本地地址,记录所述管理板10的链路本地地址。

可选地,数据交互单元244还用于基于所述刀片节点20与所述管理板10的三层连接,接收所述管理板10发送的管理命令,所述管理命令包括键盘、视频和鼠标kvm控制命令,以及固件升级命令中的至少一种,若接收到所述kvm控制命令,则根据所述kvm控制命令实现kvm功能,若接收到所述固件升级命令,则根据所述固件升级命令进行固件升级。

本公开中,数据交互装置的实现原理与前述数据交互方法的实现原理类似,相应内容可以参阅前述方法实施例,因而在此不作赘述。

本公开中的数据交互方法及装置,在刀箱的管理板与刀片节点之间互相通知链路本地地址,在刀片节点与管理板获得彼此的链路本地地址之后,实现刀箱中的管理板和刀片节点的数据交互,实现较为便捷。

在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1