线缆插接检测方法及相关设备与流程

文档序号:21095793发布日期:2020-06-16 20:18阅读:362来源:国知局
线缆插接检测方法及相关设备与流程
本申请涉及线缆插接
技术领域
,尤其涉及一种线缆插接检测方法及相关设备。
背景技术
:服务器中通常利用硬盘背板实现独立硬盘冗余阵列(redundantarrayofindependentdisks,raid)卡和多个硬盘的连接,进而通过raid卡对硬盘上的数据进行条带化,实现对数据成块存取。通常地,raid卡与硬盘背板需要通过大量线缆连接实现数据交互,而同一raid卡连接的硬盘的数量受限于raid卡的端口数量,当服务器中配置的硬盘增多时,raid卡的数量也随之增多,相应地,线缆数量也越多。另一方面,为了增加服务器中线缆的可复用性,线缆端口采用的连接器均相同,不同线缆的差异仅在于长度的区别。但不同线缆在机箱内可能有很长一段平行的走线,或者存在线缆多次交叉的情况,很难区分与对端端口之间的对应关系。在生产和维护过程中,容易造成线缆之间相互插错。传统技术中,通过在线缆上增加标签等物理方式标识不同线缆,利用维护人员人为确认的方式确定线缆插接的准确性。但对于同一服务器中存在多个raid卡,且需要支持raid灵活插接的情况,由于线缆多、布局复杂,当前方法无法实现线缆插接的有效检测,容易出现服务器无法识别硬盘或线缆连接错乱的问题,影响服务器中应用使用硬盘资源。因此,如何提供一种自动化的线缆插接检测方法成为亟待解决的技术问题。技术实现要素:本申请公开了一种线缆插接检测方法及相关设备,能够实现自动化的线缆插接检测,节省人力物力成本。第一方面,本申请公开了一种线缆插接检测方法,该方法应用于服务器,该服务器包括主板和硬盘背板。其中:该主板中包括基板管理控制器(baseboardmanagementcontroller,bmc)和独立磁盘冗余阵列raid卡,该bmc和该raid卡通过插槽连接。该硬盘背板中包括多个连接器。该raid卡的端口与该多个连接器端口通过线缆一对一连接。bmc,用于向上述raid卡发送线缆检测指示。该raid卡接收该线缆检测指示,并根据该线缆检测指示按照预设规则生成预设标记的检测信号;然后,向上述硬盘背板发送该生成的检测信号。该bmc获取解析结果,根据该解析结果和预设值进行比较确认上述raid卡与多个连接器端口之间的线缆插接状态,其中,该解析结果为硬盘背板解析该raid卡生成的检测信号获得。通过基板管理控制器bmc控制raid卡生成不同的检测信号来检测raid卡与连接器之间的线缆插接是否正确,从而实现了自动化的线缆检测,提高了线缆检测的效率和准确率,节省人力物力成本。可选的,上述插槽可以是快捷外围部件互连标准(peripheralcomponentinterconnectexpress,pcie)插槽、内置集成电路(inter-integratedcircuit,i2c)插槽或串行通用输入输出(serialgeneralpurposeinput/output,sgpio)插槽等等。在一种可能的实施方式中,上述生成预设标记的检测信号的预设规则可以包括以下方式中任意一种:方式1:raid卡的输出端口均会配置不同的占空比的方波,线缆检测指示中包括占空比的值,raid卡可以按照该占空比值生成检测信号,以此检测raid卡的端口与连接器的端口连接的线缆的状态。方式2:线缆检测指示中包括频率,raid卡可以按照该频率生成检测信号,以此检测raid卡的端口与连接器的端口连接的线缆的状态。例如,每个raid卡112的每个信号输出端口输出的检测信号的频率均不相同。方式3:线缆检测指示中包括串行数据,该串行数据可以用于唯一标识一个信号,以此检测raid卡的端口与连接器的端口连接的线缆的状态。例如,每个raid卡112的每个信号输出端口输出的检测信号为不相同的串行数据信号。方式4:线缆检测指示中包括随机数字,不同线缆检测指示中携带的随机数字不同,检测信号的指定位置携带该数字,raid卡产生用于表示该数字的任意形式的检测信号。在另一种可能的实施方式中,raid卡将生成的检测信号按照预设规则从多个信号输出端口输出。可选的,该预设规则可以包括在raid卡中预先配置的生成的检测信号与多个信号输出端口的关联关系。例如,将生成的占空比20%的信号从信号输出端口1输出的关联关系,将生成的占空比30%的信号从信号输出端口2输出的关联关系等等。可选的,该预设规则可以包括根据接收到的线缆检测指示来确定的生成的检测信号与多个信号输出端口的映射关系。例如,该接收到的线缆检测指示包括将生成的占空比20%的信号从信号输出端口1输出,和将生成的占空比30%的信号从信号输出端口2输出等等类似的指示。可选的,该预设规则可以包括根据raid卡首次将生成的检测信号从对应的信号输出端口输出时信号与输出端口之间的关联关系来确定检测信号的输出端口。例如,raid卡1中首次是将占空比20%和30%的检测信号分别从信号输出端口1和信号输出端口2输出,则再次输出时还是将占空比20%和30%的检测信号分别从信号输出端口1和信号输出端口2输出。在另一种可能的实施方式中,上述插槽为上述主板中用于连接多个raid卡的多个插槽中的任意一个。上述bmc向上述raid卡发送线缆检测指示可以是该插槽的排序信息;该排序信息由该bmc对该主板中多个raid卡的多个插槽排序后得到。本申请使用raid卡插槽的排序信息作为raid卡生成检测信号的线缆检测指示,简单易实现,不占用过多的计算资源。在另一种可能的实施方式中,上述bmc获取的解析结果,具体为该bmc获取寄存器的预设地址中存储的该解析结果。其中,该预设地址包括多个存储地址,该多个存储地址与上述多个连接器端口一一映射。该多个存储地址中每一个地址用于存储一个检测信号的解析结果;每一个地址存储的解析结果为上述硬盘背板的背板处理器根据每个地址映射的连接器端口接收的检测信号所解析出的结果。本申请通过将当次检测时对检测信号解析得到的解析结果与预设值比较,从而快速判断出raid卡与连接器端口之间线缆的连接情况。在另一种可能的实施方式中,上述raid卡的端口与上述多个连接器端口首次通过线缆一对一连接的情况为线缆正确插接的情况。那么,在上述bmc向上述raid卡发送线缆检测指示之前,且在该bmc首次发起对该raid卡的端口与多个连接器端口之间的线缆插接检测的情况下,该bmc将从寄存器的预设地址中获取的解析结果设置为预设值;其中,该解析结果包括上述硬盘背板的背板处理器首次根据该多个连接器端口接收的检测信号所解析出的结果。在本申请中,bmc无需预先设置各种插接方式的预设值和各种插接方式的预设告警信息,只需在首次检测时将首次检测时寄存器中预设地址中存储的信息作为预设值,用于后续的比较即可。此外,至于告警,由于是由bmc控制raid卡生成检测信号,且bmc还可以控制raid卡生成的检测信号从哪一个raid卡端口发送,因此bmc可以根据这些信息和前述比较的结果确定哪些线缆插接错误。这样,本申请可以实现自动化的线缆检测。第二方面,本申请公开了一种线缆插接检测方法,该方法应用于服务器,该服务器包括主板和硬盘背板。其中:该主板和该硬盘背板通过线缆连接。本申请公开的线缆插接检测方法可以包括如下步骤:上述主板,用于向上述硬盘背板发送检测信号。该硬盘背板接收该检测信号,并解析该检测信号得到解析结果;向上述主板发送该解析结果。该主板接收该解析结果,根据该解析结果和预设值进行比较确认上述主板与上述硬盘背板之间线缆的插接状态。在本申请中,通过基板管理控制器bmc控制raid卡生成不同的检测信号来检测raid卡与连接器之间的线缆插接是否正确,从而实现了自动化的线缆检测,提高了线缆检测的效率和准确率,节省人力物力成本。该主板可能实现的操作可以对应参照上述第一方面及其可能的实施方式中bmc和raid卡所做的操作,此处不再赘述。第三方面,本申请公开了一种基板管理控制器bmc,该bmc包括用于执行第一方面或第一方面任一种可能实现方式中bmc所做操作的各个单元。第四方面,本申请公开了一种独立磁盘冗余阵列raid卡,该raid卡包括用于执行第一方面或第一方面任一种可能实现方式中raid卡所做操作的各个单元。第五方面,本申请公开了一种线缆插接检测的装置,该装置包括:第一发送单元,用于向raid卡发送线缆检测指示;该线缆检测指示用于指示raid卡检测raid卡与硬盘背板之间的线缆的连接状态;接收单元,用于接收该线缆检测指示;生成单元,用于根据该线缆检测指示按照预设规则生成预设标记的检测信号;第二发送单元,用于向该硬盘背板发送该检测信号;获取单元,用于获取解析结果;比较单元,用于根据该解析结果和预设值比较确认该线缆插接状态,其中,该解析结果为硬盘背板解析该检测信号获得。在一种可能的实施方式中,上述装置的多个插槽中插接有多个raid卡;上述线缆检测指示为上述raid插接的插槽的排序信息;该排序信息为对该多个插槽排序后得到。在另一种可能的实施方式中,上述硬盘背板通过多个连接器端口接收上述检测信号;上述获取单元,具体用于获取寄存器的预设地址中存储的上述解析结果。具体的,该预设地址包括多个存储地址,该多个存储地址与上述多个连接器端口一一映射;该多个存储地址中每一个地址用于存储一个检测信号的解析结果;该每一个地址存储的解析结果为上述硬盘背板的背板处理器根据上述每一个地址映射的连接器端口接收的检测信号所解析出的结果。在另一种可能的实施方式中,上述比较单元,还用于在首次发起对上述raid卡与硬盘背板之间的线缆插接检测时,将从寄存器的预设地址中获取的解析结果设置为预设值;其中,该预设值包括该硬盘背板的背板处理器首次根据上述多个连接器端口接收的检测信号所解析出的结果。可选的,上述线缆插接检测的装置可以是服务器的主板。第六方面,本申请公开了一种服务器,该服务器包括上述第三方面的基板管理控制器和上述第四方面的独立磁盘冗余阵列。第七方面,本申请公开了一种基板管理控制器bmc,该bmc包括处理器、存储器以及通信接口;该存储器以及该通信接口与该处理器耦合。该存储器存储有计算机程序;该处理器调用该计算机程序,使得该bmc执行第一方面或第一方面任一种可能实现方式中所述bmc所执行方法的操作步骤。第八方面,本申请公开了一种独立磁盘冗余阵列raid卡,该raid卡包括处理器、存储器以及通信接口;该存储器以及该通信接口与该处理器耦合。该存储器存储有计算机程序;该处理器调用该计算机程序,使得该raid卡执行第一方面或第一方面任一种可能实现方式中所述raid卡所执行方法的操作步骤。第九方面,本申请公开了一种主板,该主板中包括基板管理控制器bmc和独立磁盘冗余阵列raid卡。该bmc为第七方面所述的bmc,该raid卡为第八方面所述的raid卡。第十方面,本申请公开了一种服务器,该服务器包括主板和硬盘背板,该主板中包括基板管理控制器bmc和独立磁盘冗余阵列raid卡。该bmc和该raid卡通过插槽连接;该硬盘背板中包括多个连接器;该raid卡的端口与该多个连接器端口通过线缆一对一连接。该bmc为第七方面所述的bmc;该raid卡为第八方面所述的raid卡。第十一方面,本申请公开了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现各个方面或各个方面任意一种可能实现方式所述方法的操作步骤。第十二方面,本申请提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行以上各个方面描述的方法。综上所述,在本申请中,通过基板管理控制器bmc控制raid卡生成不同的检测信号来检测raid卡与连接器之间的线缆插接是否正确,从而实现了自动化的线缆检测,提高了线缆检测的效率和准确率,节省人力物力成本。附图说明图1为本申请实施例提供的一种线缆插接检测方法适用的系统结构示意图;图2为本申请实施例提供的一种线缆插接检测方法的流程示意图;图3为本申请实施例提供的一种基板管理控制器的逻辑结构示意图;图4为本申请实施例提供的一种独立硬盘冗余阵列的逻辑结构示意图;图5为本申请实施例提供的一种主板的逻辑结构示意图;图6为本申请实施例提供的一种基板管理控制器的硬件结构示意图;图7为本申请实施例提供的一种独立硬盘冗余阵列的硬件结构示意图。具体实施方式为了更好的理解本申请提供的一种线缆插接检测方法,下面先对本申请适用的场景示例性地描述。参阅图1,图1是本申请提供的线缆插接检测方法适用的服务器100的系统构架示意图。如图1所示,服务器100可以包括主板110和硬盘背板120。其中,主板110中包括基板管理控制器(baseboardmanagementcontroller,bmc)111、主板处理器113和至少一个raid卡112。主板处理器113和bmc可以通过并行总线连接实现通信。可选的,该并行总线可以是(standarddatabus,std)或电气及电子工程师学会(instituteofelectricalandelectronicsengineers,ieee)488等等。主板110中还可以包括中央处理器(centralprocessingunit,cpu)(图1未示出),cpu可以通过硬盘背板120将数据存储至硬盘或从硬盘中读取数据。基板管理控制器111可以用于在设备初始化过程中,对设备进行固件升级、查看设备等一些操作。例如,基板管理控制器111可以用于在服务器100的备(stanby)电源上电时即可完成线缆的检测,避免服务器操作系统启动后才发现线缆连接问题所导致的业务中断问题。主板处理器113是主板中用于辅助cpu完成各种数据的计算的器件。可选的,主板处理器113可以是cpu、复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、通用处理器等等。raid卡112,用于实现服务器110对硬盘的管理。例如,可以通过将多个硬盘组成一个逻辑盘,按照预设规则将该逻辑盘切分为多个条带,每个条带作为一个逻辑卷,以此向上层应用提供存储资源硬盘。此外,通过把数据分成多个数据块(block)并行写入/读出多个硬盘以提高访问硬盘的速度,还可以通过镜像或校验操作提供容错能力等等。每个raid卡112中包括raid处理器1121和信号输出端口,信号输出端口通过线缆与硬盘背板120的连接器121连接。每个raid卡112中raid处理器1121直接与插接该raid卡112的插槽电连接,然后,raid卡112的raid处理器1121与该raid卡112的多个信号输出端口电连接。其中,raid处理器1121主要用于对raid卡112接收到的数据进行处理。例如,在本申请实施例中,raid处理器1121主要用于对从基板管理控制器111中接收到的线缆检测指示生成检测信号并发送到硬盘背板120中等等。可选的,raid处理器1121可以是复杂可编程逻辑器件(cpld)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、晶体管逻辑器件、通用处理器等等。每个raid卡112通过插槽1122与主板110连接。其中,插接raid卡的插槽1122可以是快捷外围部件互连标准(peripheralcomponentinterconnectexpress,pcie)插槽、内置集成电路(inter-integratedcircuit,i2c)插槽或串行通用输入输出(serialgeneralpurposeinput/output,sgpio)插槽等等。bmc与raid卡可以通过pcie总线、i2c总线或者sgpio总线等等进行连接通信。在本申请实施例中,bmc111发送的信号通过插接raid卡112的插槽1122传输到raid处理器1121,raid处理器1121根据接收到的线缆检测指示生成对应的检测信号,并将上述检测信号从多个信号输出端口通过线缆传输到硬盘背板120的连接器121端口。其中,每个检测信号均不相同。可选地,不同信号输出端口发送的信号也不相同。raid卡112可以根据bmc111发送的线缆检测指示生成预设标记不同的检测信号,该检测信号包括多个信号,每个信号的的预设标记不同,即每个信号为全局唯一信号。硬盘背板120中包括背板处理器122和多个连接器121。背板处理器122和该多个连接器121连接。具体的,背板处理器122可以通过该多个连接器121接收来自raid卡112的信号。该硬盘背板120还与硬盘阵列连接,以实现上述cpu对这些硬盘的管理。连接器121可以是通过串行高技术配置(serialadvancedtechnologyattachment,sata)端口或者串行小型计算机系统端口(serialattachedsmallcomputersysteminterface,sas)等端口与raid卡112的信号输出端口线缆连接。连接器121主要用于实现raid卡112与硬盘背板120之间的线缆连接。背板处理器122可以用于对连接器121中接收到的信号进行处理。例如,在本申请实施例中,背板处理器122可以用于对连接器121中接收到的检测信号进行解析得到解析结果等。可选的,背板处理器122可以是复杂可编程逻辑器件(cpld)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、晶体管逻辑器件、通用处理器等等。此外,硬盘背板120的背板处理器122与主板处理器113连接。可选的,背板处理器122与主板处理器113可以通过串行通用输入输出(serialgeneralpurposeinput/output,sgpio)总线连接。值得说明的是,本申请对于raid卡中信号输出端口的数量并不作限制,可以根据具体实施中业务需求设置。接下来,结合图2进一步介绍本申请提供的线缆插接检测方法,该方法可以应用于图1所示的服务器的系统架构。如图2所示,该方法包括但不限于如下步骤:步骤201、基板管理控制器bmc向raid卡发送线缆检测指示。具体地,bmc可以从多个raid卡中选择部分raid卡逐个向raid卡发送线缆检测指示,也可以同时向所有选择的raid卡发送线缆检测指示,还可以直接向多个raid卡发送线缆检测指示。作为一种可能的实施方式,线缆检测指示包括bmc对插接raid卡的插槽的标识,例如,槽位编号、槽位地址或其他能够用于标识该槽位的信息。可选的,该标识可以是插接n(n为大于1的整数)个raid卡的插槽的排序信息。例如,该n个raid卡每个raid卡插接在一个插槽上,那么这些插接raid卡的插槽的排序信息可以是1到n,即标记信息包括1到n,即上述线缆检测指示包括1到n。那么,bmc可以将线缆检测指示“1”发送给排序为1的插槽中插接的raid卡,将线缆检测指示“2”发送给排序为2的插槽中插接的raid卡等等。这里只是示例说明,bmc具体向raid卡发送的信息根据具体情况确定,本方案对此不做限制。可选的,上述bmc对插接raid卡的插槽进行排序的具体实现过程可以包括:首先,该bmc查询插槽中插接的raid卡的单板号。可选的,该bmc查询插槽中插接的raid卡的单板号可以使用i2c轮询的方式来查询。该单板号也可以称为raid卡的类型号。通过查询插槽中raid卡的单板号来判断该插槽上是否插接有raid卡。具体的,如果在插槽中查询到了raid卡的单板号则表明该插槽中插接有raid卡,否则没插接有raid卡。假设查询到n个插槽上插接有raid卡,即上述n个raid卡。那么,上述bmc对该n个插槽进行排序得到每一个插槽的排序信息。如果上述线缆检测指示为插槽的排序信息,则该bmc将该n个插槽的排序信息发送给对应插接的raid卡。即将第i个插槽的排序信息发送给插接在该第i个插槽上的raid卡,其中,i的取值为从1到n。该申请实施例使用raid卡插槽的排序信息作为raid卡生成检测信号的线缆检测指示,简单易实现,不占用过多的计算资源。步骤202、raid卡根据线缆检测指示分别生成检测信号。生成的检测信号包括多个不同预设标记的检测信号。其中,多个不同预设标记的检测信号可以包括以下形式中的一种或多种:形式1,占空比不同的信号,例如可以是占空比不同的方波信号或者三角波信号等等。形式2,频率不同的信号,例如可以是频率不同的方波信号、正弦信号或三角波信号等。形式3,位数不同的串行数据信号等等。形式4、不同的随机数等。具体的,raid卡有多个信号输出端口,每个raid卡的信号输出端口的个数可以相同,也可以不相同,具体根据实际情况确定,本方案对此不做限制。可选地,每个线缆检测指示用于指示raid卡生成多路不同预设标记的检测信号,不同的raid卡生成的检测信号的预设标记不同。进一步地,raid卡可以根据线缆检测指示按照预设规则生成对应的检测信号。其中,预设规则包括以下方式中任意一种:方式1:raid卡的输出端口均会配置不同的占空比的方波,线缆检测指示中包括占空比的值,raid卡可以按照该占空比值生成检测信号,以此检测raid卡的端口与连接器的端口连接的线缆的状态。方式2:线缆检测指示中包括频率,raid卡可以按照该频率生成检测信号,以此检测raid卡的端口与连接器的端口连接的线缆的状态。其中,每个raid卡112的每个信号输出端口输出的检测信号的频率均不相同。方式3:线缆检测指示中包括串行数据,该串行数据可以用于唯一标识检测信号,以此检测raid卡的端口与连接器的端口连接的线缆的状态。其中,每个raid卡112的每个检测信号输出端口输出的检测信号为不相同的串行数据信号。方式4:线缆检测指示中包括随机数字,不同线缆检测指示中携带的随机数字不同,检测信号的指定位置携带该数字,raid卡产生用于表示该数字的任意形式的检测信号。为了便于理解,下面以检测信号为占空比不同的方波信号为例进行说明。例一、假设主板中插接有2个raid卡(分别称为raid卡1和raid卡2),每一个raid卡有2个信号输出端口。那么,bmc向该raid卡1和raid卡2分别发送不同的线缆检测指示1和线缆检测指示2。由于预先在raid卡1中配置了根据线缆检测指示1生成两路占空比分别为20%和30%的方波信号的预设规则,在raid卡2中配置了根据线缆检测指示2生成两路占空比分别为40%和50%的方波信号的预设规则;因此,raid卡1根据接收到的线缆检测指示1生成两路占空比分别为20%和30%的方波信号。raid卡2根据接收到的线缆检测指示2生成两路占空比分别为40%和50%的方波信号。步骤203、raid卡通过自身的多个信号输出端口向背板处理器发送生成的检测信号。步骤204、背板处理器通过连接器端口接收到raid卡发送的检测信号,每一个连接器端口接收一路检测信号。raid卡生成多路不同预设标记的检测信号后,分别将该多路信号从多个信号输出端口输出,每一个信号输出端口输出一路检测信号,通过线缆发送至背板处理器。具体的,raid卡将生成的检测信号按照预设规则从多个信号输出端口输出。可选的,该预设规则可以包括在raid卡中预先配置的生成的检测信号与多个信号输出端口的关联关系。例如,将生成的占空比20%的信号从信号输出端口1输出的关联关系,将生成的占空比30%的信号从信号输出端口2输出的关联关系等等。可选的,该预设规则可以包括根据接收到的线缆检测指示来确定的生成的检测信号与多个信号输出端口的映射关系。例如,该接收到的线缆检测指示包括将生成的占空比20%的信号从信号输出端口1输出,和将生成的占空比30%的信号从信号输出端口2输出等等类似的指示。可选的,该预设规则可以包括根据raid卡首次将生成的检测信号从对应的信号输出端口输出时信号与输出端口之间的关联关系来确定检测信号的输出端口。例如,raid卡1中首次是将占空比20%和30%的检测信号分别从信号输出端口1和信号输出端口2输出,则再次输出时还是将占空比20%和30%的检测信号分别从信号输出端口1和信号输出端口2输出。具体的,raid卡的每一个信号输出端口通过线缆与一个连接器端口连接,连接器端口接收到raid卡发送的检测信号后传输到背板处理器中。步骤205、背板处理器解析接收的每一路检测信号得到解析结果,该解析结果包括每一个连接器端口接收到的检测信号的预设标记信息。可选的,如果检测信号为占空比不同的信号,那么背板处理器解析得到的检测信号的预设标记信息可以是该检测信号的占空比。可选的,如果检测信号为频率不同的信号,那么背板处理器解析得到的检测信号的预设标记信息可以是该检测信号的频率。可选的,如果检测信号为位数不同的串行数据信号,那么背板处理器解析得到的检测信号的预设标记信息可以是该检测信号的位数。可选的,如果检测信号为随机数,那么背板处理器解析得到的检测信号的预设标记信息可以是该随机数。具体解析到的检测信号的预设标记信息根据实际情况确定,本方案对此不作限制。为了便于理解,下面以检测信号为占空比不同的方波信号举例说明。例二、基于例一的描述,那么背板处理器通过4个连接器端口接收到上述raid卡1和raid卡2的4路检测信号。假设该4个连接器端口的端口1、端口2、端口3、端口4分别与raid卡1的信号输出端口1、raid卡1的信号输出端口2、raid卡2的信号输出端口1、raid卡2的信号输出端口2线缆连接。raid卡1从自身的信号输出端口1和信号输出端口2输出的信号分别为占空比20%和30%的方波信号;raid卡2从自身的信号输出端口1和信号输出端口2输出的信号分别为占空比40%和50%的方波信号。那么,连接器的端口1、端口2、端口3和端口4接收到的检测信号分别为占空比20%、占空比30%、占空比40%和占空比50%的方波信号。那么,背板处理器从端口1获取到检测信号后解析得到的预设标记信息为20%,背板处理器从端口2获取到检测信号后解析得到的预设标记信息为30%,背板处理器从端口3获取到检测信号后解析得到的预设标记信息为40%,背板处理器从端口4获取到检测信号后解析得到的预设标记信息为50%。上述背板处理器解析得到的检测信号的预设标记信息可以用于上述bmc检测上述raid卡的端口与连接器的端口之间的线缆是否正确插接,具体实现过程可以参见步骤206至步骤209。步骤206、背板处理器向主板处理器发送该解析结果以及该每一个预设标记信息与连接器接口的对应关系信息。步骤207、主板处理器根据该对应关系信息将该解析结果存储到寄存器中的预设地址中。具体的,该寄存器可以是主板处理器的寄存器,该寄存器可以与bmc进行交互。该寄存器中的预设地址为预先配置用于存储上述解析结果的地址,该解析结果包括对raid卡发送的检测信号的预设标记信息地址。该预设地址包括多个存储地址,每一个存储地址用于存储一个检测信号的预设标记信息。且,该多个存储地址与连接器端口有一一映射的关系。即具体哪一个存储地址用于存储哪一个连接器端口接收到的检测信号的预设标记信息都预先设置好了。为了便于理解,下面举例说明。例三、基于上述例二的描述,那么背板处理器将解析得到的检测信号的预设标记信息20%、30%、40%和50%发送给主板处理器。同时,将20%与上述端口1对应关联、30%与上述端口2对应关联、40%与上述端口3对应关联以及50%与上述端口4对应关联的信息一起发送给主板处理器。假设上述预设地址包括四个存储地址,分别为地址1、地址2、地址3和地址4。且,预先配置了地址1用于存储端口1接收到的检测信号的预设标记信息、地址2用于存储端口2接收到的检测信号的预设标记信息、地址3用于存储端口3接收到的检测信号的预设标记信息以及地址4用于存储端口4接收到的检测信号的预设标记信息。那么,主板处理器接收到上述背板处理器发送的信息后,根据这些信息将20%、30%、40%和50%分别存储到地址1、地址2、地址3和地址4中。存储后预设地址中的信息例如可以参见表1。表1地址1地址2地址3地址420%30%40%50%步骤208、主板处理器向bmc发送该寄存器的预设地址中存储的解析结果。步骤209、bmc将该寄存器的预设地址中存储的解析结果与预设值比较,以判断raid卡的端口与连接器的端口之间的线缆是否正确插接。该预设值包括在上述raid卡的端口与上述多个连接器端口之间的线缆正确插接的情况下,该预设地址中存储的检测信号的预设标记信息。具体的,该预设值可以由bmc预先设置。在首次检测raid卡的端口与连接器端口之间的线缆是否连接的时候,bmc将主板处理器存储到上述预设地址中的检测信号解析结果设置为该预设地址的预设值。即bmc将raid卡的端口与连接器端口之间首次一对一连接线缆的情况设置为正确连接的情况,以后每一次检测的时候都要与首次连接的情况相同才算连接正确,否则连接出错。即,只要以后每次检测的时候,该预设地址中存储的检测信号解析结果与该设置的预设值一致,则表明上述raid卡端口与连接器的端口之间的线缆插接正确,否则插接错误。为了便于理解,下面举例说明。例四,基于上述例三的描述,假设上述例三中raid卡1和raid卡2的信号输出端口与连接器端口之间的线缆是首次连接。那么,bmc接收到主板处理器发送的寄存器的预设地址中存储的预设标记信息(例如表1中的信息),然后,将接收到的信息设置为该预设地址中的预设值。也就是说,bmc默认4个连接器端口中端口1、端口2、端口3、端口4分别与raid卡1的信号输出端口1、raid卡1的信号输出端口2、raid卡2的信号输出端口1、raid卡2的信号输出端口2线缆连接这种连接情况时正确的连接情况。以后的线缆检测中,都必须保证是这种连接情况才是正确的连接,否则连接出错。在bmc将主板处理器首次存储到上述预设地址中的检测信号的预设标记信息设置为上述预设地址中的预设值后,每次线缆检测时,bmc都会将从主板处理器寄存器的预设地址中获取到检测信号的解析结果与该预设地址中的预设值比较,如果两个信息匹配则线缆连接正确。如果两个信息不完全匹配,则线缆出现错误。可选的,bmc可以根据预设地址中哪一个预设地址的信息不匹配确定出对应的raid卡端口与连接器端口之间的线缆插接错误。为了便于理解,下面举例说明。例五,基于上述例三和例四的描述,假设表1为bmc中存储的寄存器中预设地址中预设的信息。那么,如果在一次线缆检测的过程中,主板处理器存储到寄存器的预设地址中的检测信号的预设标记信息与表1的一致,也是20%、30%、40%和50%分别存储到地址1、地址2、地址3和地址4中。那么,这表明raid卡1和raid卡2的端口与硬盘背板的连接器端口之间的线缆插接正确。如果在一次线缆检测的过程中,主板处理器存储到寄存器的预设地址中的检测信号的预设标记信息如表2所示。比较表2和表1可知,表2的地址1和地址2中的信息与表1中的不一致,这表明地址1和地址2对应的连接器端口的线缆插接错了。而根据例二和例三可知,地址1和地址2分别与连接器端口1和端口2关联,正确连接的情况下端口1和端口2分别与raid卡1的信号输出端口1和raid卡1的信号输出端口2。因此,bmc通过这些信息可确定端口1与raid卡1的信号输出端口1之间的线缆插接错误,以及端口2与raid卡1的信号输出端口2之间的线缆插接错误。表2地址1地址2地址3地址430%20%40%50%在一种可能的实施方式中,上述bmc可以是采用轮询检测的方式对上述n个raid卡中的每一个raid卡与硬盘背板的连接器之间的线缆进行检测。例如,可以是先对第j个raid卡与硬盘背板的连接器之间的线缆进行检测后,再对第j+1个raid卡与硬盘背板的连接器之间的线缆进行检测,直至检测完该n个raid卡与硬盘背板的连接器之间的线缆。其中,该j的取值为从1到n-1。需要说明的是,既然是逐个对raid卡的线缆进行检测,那么最后存储到寄存器的预设地址中的检测信号的解析结果可以是一个raid卡发送的检测信号的解析结果,然后bmc将该解析结果与存储了检测信号的解析结果的预设地址对应的预设值比较以判断该raid卡的线缆是否插接正确。此外,该bmc轮番对每一个raid卡与硬盘背板的连接器之间的线缆进行检测的具体实现过程可以对应参见上述图2所述的实施例,此处不再赘述。综上所述,通过基板管理控制器bmc控制raid卡生成不同的检测信号来检测raid卡与连接器之间的线缆插接是否正确,实现了自动化的线缆插接检测,提高了线缆检测的效率和准确率。本申请实施例无需在bmc中预先设置各种插接方式的预设值和各种插接方式的预设告警信息,节省了人力物力成本,同时也节省了bmc中存储资源的占用。另外,通过基板管理控制器bmc控制raid卡生成不同的检测信号来检测raid卡与连接器之间的线缆插接是否正确,可以在服务器备电源上电时即可完成线缆的检测,即在系统初始化阶段即完成了检测,从而不影响生产的时间。此外,本申请实施例不依赖于一些驱动程序(例如,固件(firmware)版本),支持raid卡的灵活插拔和适配,降低方案的复杂性。上述主要从基板管理控制器、独立硬盘冗余阵列raid卡、背板处理器和主板处理器交互的角度对本申请实施例提供的线缆插接检测方法进行了介绍。可以理解的是,各个设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的设备及方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本申请实施例可以根据上述方法示例对上述各个设备例如基板管理控制器、raid卡等等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功能模块的情况下,上述实施例中所涉及的基板管理控制器包括用于执行如图2所述方法实施例中bmc所做操作的单元。图3示出了上述实施例中所涉及的基板管理控制器的一种可能的逻辑结构示意图,基板管理控制器300包括:发送单元301、接收单元302(接收单元302可以称为获取单元302)和比较单元303。其中,发送单元301可以用于执行如前述图2所示方法实施例中基板管理控制器发送信息的操作步骤等;接收单元302或者获取单元302可以用于执行如前述图2所示方法实施例中基板管理控制器接收信息的操作步骤等;比较单元303可以用于执行如前述图2所示方法实施例中基板管理控制器进行信息比较的操作步骤等。需要说明的是,图3所示的基板管理控制器300仅仅是本申请实施例的一种实现方式,实际应用中,基板管理控制器300还可以包括更多或更少的部件,这里不作限制。关于基板管理控制器300的具体实现可以参考前述图2所示方法实施例中的相关描述,此处不再赘述。在采用对应各个功能划分各个功能模块的情况下,上述实施例中所涉及的独立磁盘冗余阵列raid卡包括用于执行如图2所述方法实施例中raid卡所做操作的单元。图4示出了上述实施例中所涉及的独立磁盘冗余阵列的一种可能的逻辑结构示意图,独立磁盘冗余阵列400包括:接收单元401、生成单元402和发送单元403。其中,接收单元401可以用于执行如前述图2所示方法实施例中raid卡接收信息的操作步骤等;生成单元402可以用于执行如前述图2所示方法实施例中raid卡生成检测信号的操作步骤等;发送单元404可以用于执行如前述图2所示方法实施例中raid卡发送检测信号的操作步骤等。需要说明的是,图4所示的独立磁盘冗余阵列400仅仅是本申请实施例的一种实现方式,实际应用中,独立磁盘冗余阵列400还可以包括更多或更少的部件,这里不作限制。关于独立磁盘冗余阵列400的具体实现可以参考前述图2所示方法实施例中的相关描述,此处不再赘述。在采用对应各个功能划分各个功能模块的情况下,图5所示,为上述所涉及的主板的一种可能的逻辑结构示意图。该主板500包括:第一发送单元501,用于向raid卡发送线缆检测指示;该线缆检测指示用于指示raid卡检测raid卡与硬盘背板之间的线缆的连接状态;接收单元502,用于接收该线缆检测指示;生成单元503,用于根据该线缆检测指示按照预设规则生成预设标记的检测信号;第二发送单元504,用于向该硬盘背板发送该检测信号;获取单元505,用于获取解析结果;比较单元506,用于根据该解析结果和预设值比较确认该线缆插接状态,其中,该解析结果为硬盘背板解析该检测信号获得。在一种可能的实施方式中,上述主板500的多个插槽中插接有多个raid卡;上述线缆检测指示为上述raid插接的插槽的排序信息;该排序信息为对该多个插槽排序后得到。在另一种可能的实施方式中,上述硬盘背板通过多个连接器端口接收上述检测信号;上述获取单元505,具体用于获取寄存器的预设地址中存储的上述解析结果。具体的,该预设地址包括多个存储地址,该多个存储地址与上述多个连接器端口一一映射;该多个存储地址中每一个地址用于存储一个检测信号的解析结果;该每一个地址存储的解析结果为上述硬盘背板的背板处理器根据上述每一个地址映射的连接器端口接收的检测信号所解析出的结果。在另一种可能的实施方式中,上述比较单元506,还用于在首次发起对上述raid卡与硬盘背板之间的线缆插接检测时,将从寄存器的预设地址中获取的解析结果设置为预设值;其中,该预设值包括该硬盘背板的背板处理器首次根据上述多个连接器端口接收的检测信号所解析出的结果。本申请还提供了一种服务器,该服务器中包括上述图3所述的基板管理控制器300和上述图4所述的独立磁盘冗余阵列400。或者,该服务器中包括上述图5所述的主板500。为了简洁,此处不再赘述。图6所示,为上述实施例中所涉及的基板管理控制器的一种可能的硬件结构示意图。基板管理控制器600包括:处理器601、存储器602和通信端口603。处理器601、通信端口603以及存储器602可以相互连接或者通过总线604相互连接。示例性的,存储器602用于存储基板管理控制器600的计算机程序和数据,存储器602可以包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)或便携式只读存储器(compactdiscread-onlymemory,cd-rom)等。通信端口603用于支持基板管理控制器600进行通信,例如接收或发送数据。示例性的,处理器601可以是cpu、复杂可编程逻辑器件、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器601可以用于读取上述存储器602中存储的程序,执行上述图2以及可能的实施方式所述方法中基板管理控制器所实现的操作。需要说明的是,图6所示的基板管理控制器600仅仅是本申请实施例的一种实现方式,实际应用中,基板管理控制器600还可以包括更多或更少的部件,这里不作限制。另外,基板管理控制器600可以对应于本申请实施例中基板管理控制器300,并可以对应执行根据本申请实施例中图2所示方法中相应的主体,并且基板管理控制器600中各个模块和其它操作和/或功能分别为了实现图2中各个方法的相应流程,为了简洁,在此不再赘述。图7所示,为上述实施例中所涉及的独立磁盘冗余阵列的一种可能的硬件结构示意图。独立磁盘冗余阵列700包括:处理器701、存储器702和通信端口703。处理器701、通信端口703以及存储器702可以相互连接或者通过总线704相互连接。示例性的,存储器702用于存储独立磁盘冗余阵列700的计算机程序和数据,存储器702可以包括但不限于是随机存储记忆体ram、只读存储器rom、可擦除可编程只读存储器eprom或便携式只读存储器cd-rom等。通信端口703用于支持独立磁盘冗余阵列700进行通信,例如接收或发送数据。示例性的,处理器701可以是cpu、复杂可编程逻辑器件、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器701可以用于读取上述存储器702中存储的程序,执行上述图2以及可能的实施方式所述方法中独立磁盘冗余阵列所实现的操作。需要说明的是,图7所示的独立磁盘冗余阵列700仅仅是本申请实施例的一种实现方式,实际应用中,独立磁盘冗余阵列700还可以包括更多或更少的部件,这里不作限制。另外,独立磁盘冗余阵列700可以对应于本申请实施例中独立磁盘冗余阵列400,并可以对应执行根据本申请实施例中图2所示方法中相应的主体,并且独立磁盘冗余阵列700中各个模块和其它操作和/或功能分别为了实现图2中各个方法的相应流程,为了简洁,在此不再赘述。本申请实施例还提供了一种线缆检测的装置,该装置中包括基板管理控制器bmc和独立磁盘冗余阵列raid卡;其中,该bmc可以为上述图6所述的基板管理控制器,该raid卡可以为上述图7所述的独立磁盘冗余阵列。可选的,该装置可以是上述服务器的主板。本申请公开了一种服务器,该服务器包括主板和硬盘背板,该主板中包括基板管理控制器bmc和独立磁盘冗余阵列raid卡。该bmc和该raid卡通过插槽连接;该硬盘背板中包括多个连接器;该raid卡的端口与该多个连接器端口通过线缆一对一连接。可选的,该服务器可以是图1所示服务器100。上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solidstatedrive,ssd)。综上所述,在本申请中,通过基板管理控制器bmc控制raid卡生成不同的检测信号来检测raid卡与连接器之间的线缆插接是否正确,从而实现了自动化的线缆检测,提高了线缆检测的效率和准确率,节省人力物力成本。以上所述,仅为本申请的具体实施方式。熟悉本
技术领域
的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1