CN115529261A - 一种多bmc的通信方法、装置、设备和存储介质 - Google Patents
一种多bmc的通信方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115529261A CN115529261A CN202211059411.9A CN202211059411A CN115529261A CN 115529261 A CN115529261 A CN 115529261A CN 202211059411 A CN202211059411 A CN 202211059411A CN 115529261 A CN115529261 A CN 115529261A
- Authority
- CN
- China
- Prior art keywords
- bmc
- slave
- communication
- heartbeat request
- master
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 83
- 230000002159 abnormal effect Effects 0.000 claims abstract description 45
- 239000000126 substance Substances 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 8
- 230000036541 health Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种多BMC的通信方法、装置、设备和存储介质。主要技术方案包括:主BMC轮流向多个从BMC发送心跳请求信息,基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信,当所述主BMC与所述从BMC建立通信后且发生通信异常时,并没有立即断开通信,而是向所述从BMC发送预设次数的心跳请求信息,实现通信防抖。基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态。本申请能够提升多BMC的通信的稳定性,从而保证多BMC之间数据交互的有效性和及时性。
Description
技术领域
本申请涉及计算机通信技术领域,特别是涉及一种多BMC的通信方法、装置、设备和存储介质。
背景技术
服务器是数据存储、网络管理以及计算的关键,稳定的运行是整体系统良好运转的前提。针对当前业务场景的复杂性、新技术的迅速发展,单个(Baseboard ManagementController,BMC)基板管理控制器的系统已无法很好地完成监控和管理工作,多BMC相互协作的方式随之应运而生。
多BMC互相协作对整个服务器监控和管理,可以避免单个BMC负荷过高的问题,有效提高整体的管理和监控效率。但多BMC互相协作时,BMC之间的通信稳定性差,影响多BMC之间的数据交互,进而无法保证服务器的稳定运行。
发明内容
基于此,本申请提供了一种多BMC的通信方法、装置、设备和存储介质,以提升多BMC的通信的稳定性。
第一方面,提供一种多BMC的通信方法,该方法包括:
主BMC轮流向多个从BMC发送心跳请求信息;
基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信;
当主BMC与从BMC建立通信后且发生通信异常时,向从BMC发送预设次数的心跳请求信息;
基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态。
根据本申请实施例中一种可实现的方式,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态,包括:
根据响应信息,确定主BMC与从BMC的心跳请求结果,心跳请求结果包括请求失败和请求成功;
当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,确定主BMC与从BMC通信正常。
根据本申请实施例中一种可实现的方式,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态,包括:
当心跳请求结果为请求失败的次数大于心跳请求结果为请求成功的次数时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求失败时,确定主BMC与从BMC通信异常。
根据本申请实施例中一种可实现的方式,该方法还包括:
当主BMC与从BMC通信异常时,每间隔预设时段向从BMC发送心跳请求信息;
基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信;
若超过预设时间范围主BMC与从BMC未建立通信,将从BMC确定为异常从BMC;
向用户发送关于异常从BMC的告警信息。
根据本申请实施例中一种可实现的方式,该方法还包括:在向用户发送告警信息之后,轮流向多个从BMC发送心跳请求信息,以便用户检修好异常从BMC之后自动建立通信。
根据本申请实施例中一种可实现的方式,响应信息包括状态位信息;基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信,包括:
基于从BMC根据心跳请求信息返回的状态位信息,判断主BMC与从BMC是否建立通信。
根据本申请实施例中一种可实现的方式,该方法还包括:
当状态位信息异常时,向从BMC发送心跳请求信息。
第二方面,提供了一种多BMC的通信装置,该装置包括:
发送模块,用于主BMC轮流向多个从BMC发送心跳请求信息;
判断模块,用于基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信;
发送模块,还用于当主BMC与从BMC建立通信后且发生通信异常时,向从BMC发送预设次数的心跳请求信息;
确定模块,用于基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,主BMC轮流向多个从BMC发送心跳请求信息,基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信,当所述主BMC与所述从BMC建立通信后且发生通信异常时,并没有立即断开通信,而是向所述从BMC发送预设次数的心跳请求信息,实现通信防抖,基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态,提升多BMC的通信的稳定性,从而保证多BMC之间数据交互的有效性和及时性。
附图说明
图1为一个实施例中多BMC的通信方法的流程示意图;
图2为另一个实施例中多BMC的通信方法的流程示意图;
图3为一个实施例中多BMC通信装置的结构框图;
图4为一个实施例中计算机设备的示意性结构图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种多BMC的通信方法、装置、设备及计算机存储介质。下面首先对本申请实施例所提供的多BMC的通信方法进行介绍。
图1示出了本申请一个实施例提供的多BMC的通信方法的流程示意图。如图1所示,该方法可以包括以下步骤:
S110,主BMC轮流向多个从BMC发送心跳请求信息。
多BMC服务器系统能够有效地降低单BMC的负荷,提高服务器的管理效率以及运行的稳定性。其中,多BMC服务器系统包括主BMC与多个从BMC连接,每个从BMC与多个部件连接,部件可以为网卡、电源等。每个从BMC监控与其连接的部件的健康状况,主BMC监控从BMC的工作情况,获知多个部件的健康状况。多个BMC共同承担整个服务器系统的不同组件的健康状态的监控功能,能够更加精准和细致的管理和监控各个组件的运行和健康状态。
在系统上电后,主BMC通过轮询的方式,向多个从BMC发送心跳请求信息,心跳请求信息包括请求获取的温度、电压、电流、告警、健康状态等信息。当从BMC接收到心跳请求信息后,根据心跳请求信息进行应答,生成响应信息,并返回至主BMC。
S120,基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信。
若主BMC与从BMC已建立通信,响应信息包括对心跳请求信息请求内容的应答信息,若主BMC与从BMC未建立通信,响应信息包括心跳命令执行失败的状态信息,或者主BMC的心跳请求信息无响应。
根据从BMC根据心跳请求信息返回的响应信息,便可获知断主BMC与从BMC是否建立通信。
S130,当主BMC与从BMC建立通信后且发生通信异常时,向从BMC发送预设次数的心跳请求信息。
在主BMC与从BMC建立通信的基础上,主BMC会每间隔一段时间发起一次心跳请求,从BMC接收请求后,会及时回复主BMC。主BMC在接收到响应信息后,会重复S120,来判断当前通信是否正常。若通信正常,主BMC将时间数据和配置信息等发送到从BMC,以向从BMC同步主BMC的情况。
若主BMC与从BMC之间通信异常,主BMC不会马上断开与从BMC的通信。为了避免瞬时的通信异常,影响整个系统的数据交互,向从BMC发送预设次数的心跳请求信息。根据实际操作可知,预设次数在8-12次时实验效果比较好,其中,预设次数为10次时效果最佳。
S140,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态。
主BMC每向从BMC发送一次心跳请求信息时,从BMC做出应答返回一个响应信息或者无响应。主BMC可以根据这些响应信息,判断主BMC与从BMC的通信状态是通信正常还是通信异常。
可以看出,本申请实施例通过主BMC轮流向多个从BMC发送心跳请求信息,基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信,当所述主BMC与所述从BMC建立通信后且发生通信异常时,并没有立即断开通信,而是向所述从BMC发送预设次数的心跳请求信息,实现通信防抖,基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态,提升多BMC的通信的稳定性,从而保证多BMC之间数据交互的有效性和及时性。
下面对上述方法流程中的各步骤进行详细描述。首先结合实施例对上述S140即“基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态”进行详细描述。
作为一种可实现的方式,根据响应信息,确定主BMC与从BMC的心跳请求结果,心跳请求结果包括请求失败和请求成功;
当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,确定主BMC与从BMC通信正常。
若响应信息为空,或者响应信息中包括心跳命令执行失败的状态信息,确定主BMC与从BMC的心跳请求结果为请求失败,若响应信息包括对心跳请求信息请求内容的应答信息,确定主BMC与从BMC的心跳请求结果为请求成功。
以预设次数为10次为例,当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功,也就是说,请求成功的概率在50%以上,且最后一次心跳请求也成功了,确定主BMC与从BMC通信正常。
每次心跳请求信息对应的响应信息的心跳请求结果为请求成功,即,10次心跳请求都成功了,确定主BMC与从BMC通信正常,主BMC保持当前正常的数据交互。
作为一种可实现的方式,当心跳请求结果为请求失败的次数大于心跳请求结果为请求成功的次数时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求失败时,确定主BMC与从BMC通信异常。
如果请求成功的概率低于50%,或者10次心跳请求都失败了,那么,确定主BMC与从BMC通信异常。
作为一种可实现的方式,若请求成功的概率低于50%,或者预设次数的心跳请求都失败了,则每间隔预设时段向从BMC发送心跳请求信息;
基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信;
若超过预设时间范围主BMC与从BMC未建立通信,将从BMC确定为异常从BMC;
向用户发送关于异常从BMC的告警信息。
在主BMC与从BMC通信异常后,主BMC每间隔预设时段继续向从BMC发送心跳请求信息,并根据从BMC根据心跳请求信息返回的响应信息,持续判断主BMC与从BMC是否建立通信,直到通信再次正常建立。其中,预设时间段可以为1秒、2秒、3秒等,但预设时间段的取值越小越好。
预设时间范围可设置为5分钟,若超过5分钟主BMC与从BMC还未建立通信,则确定该从BMC为异常从BMC,根据异常情况生成关于异常从BMC的告警信息。触发主BMC通信异常告警机制,将告警信息上报给用户,以便用户及时发现异常进行维护,尽快恢复服务器系统的正常运行,保证服务器系统的稳定性。
作为一种可实现的方式,在向用户发送告警信息之后,轮流向多个从BMC发送心跳请求信息,以便用户检修好异常从BMC之后自动建立通信。
在主BMC触发通信异常告警后,主BMC并不会停止发送心跳请求,而是会保持轮询发送心跳请求信息,重复执行S110和S120,直至通信正常建立后,主BMC会解除告警并告知用户。
下面结合实施例对上述步骤S120即“基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信”进行详细描述。
作为一种可实现的方式,基于从BMC根据心跳请求信息返回的状态位信息,判断主BMC与从BMC是否建立通信。
响应信息包括状态位信息,状态位信息包括字段值,用于指示心跳命令执行成功或失败。
若状态位信息包括0x00,表明主BMC与从BMC已建立通信,则正常进行数据交互。若状态位信息包括0xd5、0x83等其他异常值,则表示主BMC与从BMC未建立通信,向从BMC再次发送心跳请求信息,根据从BMC返回的响应信息中的状态位信息查看从BMC的状态,直至主BMC与从BMC通信正常。除此之外,若主BMC未收到从BMC的响应信息,也会重复向从BMC再次发送心跳请求信息。
本申请实施例在主BMC与从BMC异常时,通过主BMC向从BMC多次发送心跳请求信息来确定主BMC与从BMC的通信状态,避免了瞬时的通信异常,实现了通信防抖。在预设时间段内,仍未正常通信向用户发送告警信息,提醒用户及时维修。主BMC通过轮询的方式向从BMC发送心跳请求信息,能够在从BMC异常恢复后及时建立连接,以保证多BMC之间能够数据交互的有效性和及时性,能够稳定地监控服务器的健康状态,实时对服务进行稳定地管理工作,进而保证服务器整体的稳定运行。
结合上述实施例中的实现方式,下面结合图2对本申请实施例提供的一优选的方法流程进行举例描述。如图2所示,该方法可以包括以下步骤:
S201,主BMC轮流向多个从BMC发送心跳请求信息。
S202,基于从BMC根据心跳请求信息返回的状态位信息,判断主BMC与从BMC是否建立通信。
若主BMC与从BMC已建立通信,则执行S203,否则,执行S204。
S203,向从BMC发送时间数据和配置信息。
S204,向从BMC发送预设次数的心跳请求信息。
S205,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的心跳请求结果。
S206,当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,确定主BMC与从BMC通信正常。
当主BMC与从BMC通信正常时,执行S203。
S207,当心跳请求结果为请求失败的次数大于心跳请求结果为请求成功的次数时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求失败时,确定主BMC与从BMC通信异常。
当主BMC与从BMC通信异常时,执行S208。
S208,每间隔预设时段向从BMC发送心跳请求信息。
基于从BMC根据心跳请求信息返回的响应信息执行S202。若主BMC与从BMC已建立通信,则执行S203,否则,执行S209。
S209,若超过预设时间范围主BMC与从BMC未建立通信,将从BMC确定为异常从BMC。
S210,向用户发送关于异常从BMC的告警信息。
在向用户发送告警信息之后,继续执行S201。
上述S201-S210达到的技术效果与S110-S140达到的技术效果相同,此处不再赘述。
应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图3为本申请实施例提供的一种多BMC通信装置的结构示意图,用以执行如图1和图2中所示的方法流程。如图3所示,该装置可以包括:发送模块310、判断模块320和确定模块330。其中各组成模块的主要功能如下:
发送模块310,用于主BMC轮流向多个从BMC发送心跳请求信息;
判断模块320,用于基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信;
发送模块310,还用于当主BMC与从BMC建立通信后且发生通信异常时,向从BMC发送预设次数的心跳请求信息;
确定模块330,用于基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态。
作为一种可实现的方式,确定模块330,具体用于根据响应信息,确定主BMC与从BMC的心跳请求结果,心跳请求结果包括请求失败和请求成功;
当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,确定主BMC与从BMC通信正常。
作为一种可实现的方式,确定模块330,具体用于当心跳请求结果为请求失败的次数大于心跳请求结果为请求成功的次数时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求失败时,确定主BMC与从BMC通信异常。
作为一种可实现的方式,发送模块310,还用于当主BMC与从BMC通信异常时,每间隔预设时段向从BMC发送心跳请求信息;
基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信;
若超过预设时间范围主BMC与从BMC未建立通信,将从BMC确定为异常从BMC;
向用户发送关于异常从BMC的告警信息。
作为一种可实现的方式,发送模块310,还用于在向用户发送告警信息之后,轮流向多个从BMC发送心跳请求信息,以便用户检修好异常从BMC之后自动建立通信。
作为一种可实现的方式,响应信息包括状态位信息;判断模块320,具体用于:
基于从BMC根据心跳请求信息返回的状态位信息,判断主BMC与从BMC是否建立通信。
作为一种可实现的方式,发送模块310,还用于当状态位信息异常时,向从BMC发送心跳请求信息。
可以理解的是,实施本申请的任一方法或产品并不一定需要同时达到以上所述的所有优点
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图4所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图4所示,设备400包括计算单元401、ROM 402、RAM 403、总线404以及输入/输出(I/O)接口405,计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
计算单元401可以根据存储在只读存储器(ROM)402中的计算机指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机指令,来执行本申请方法实施例中的以下步骤:
主BMC轮流向多个从BMC发送心跳请求信息,基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信,当主BMC与从BMC建立通信后且发生通信异常时,向从BMC发送预设次数的心跳请求信息,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态。
作为一种可实现的方式,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态,包括:根据响应信息,确定主BMC与从BMC的心跳请求结果,心跳请求结果包括请求失败和请求成功,当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,确定主BMC与从BMC通信正常。
作为一种可实现的方式,基于从BMC根据每次接收的心跳请求信息返回的响应信息,确定主BMC与从BMC的通信状态,包括:当心跳请求结果为请求失败的次数大于心跳请求结果为请求成功的次数时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求失败时,确定主BMC与从BMC通信异常。
作为一种可实现的方式,该方法还包括:当主BMC与从BMC通信异常时,每间隔预设时段向从BMC发送心跳请求信息,基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信,若超过预设时间范围主BMC与从BMC未建立通信,将从BMC确定为异常从BMC,向用户发送关于异常从BMC的告警信息。
作为一种可实现的方式,该方法还包括:在向用户发送告警信息之后,轮流向多个从BMC发送心跳请求信息,以便用户检修好异常从BMC之后自动建立通信。
作为一种可实现的方式,响应信息包括状态位信息,基于从BMC根据心跳请求信息返回的响应信息,判断主BMC与从BMC是否建立通信,包括:基于从BMC根据心跳请求信息返回的状态位信息,判断主BMC与从BMC是否建立通信。
作为一种可实现的方式,该方法还包括:当状态位信息异常时,向从BMC发送心跳请求信息。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元408。
RAM 403还可存储设备400操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 802和/或通信单元409而被载入和/或安装到设备400上。
设备400中的输入单元406、输出单元407、存储单元408和通信单元409可以连接至I/O接口405。其中,输入单元406可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元407可以是诸如显示器、扬声器、指示灯等。设备400能够通过通信单元409与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元401,使得计算机指令当由诸如处理器等计算单元401执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种多BMC的通信方法,其特征在于,所述方法包括:
主BMC轮流向多个从BMC发送心跳请求信息;
基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信;
当所述主BMC与所述从BMC建立通信后且发生通信异常时,向所述从BMC发送预设次数的心跳请求信息;
基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态,包括:
根据所述响应信息,确定所述主BMC与所述从BMC的心跳请求结果,所述心跳请求结果包括请求失败和请求成功;
当心跳请求结果为请求失败的次数小于心跳请求结果为请求成功的次数,且最后一次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求成功时,确定所述主BMC与所述从BMC通信正常。
3.根据权利要求2所述的方法,其特征在于,所述基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态,包括:
当心跳请求结果为请求失败的次数大于心跳请求结果为请求成功的次数时,或者,当每次心跳请求信息对应的响应信息的心跳请求结果为请求失败时,确定所述主BMC与所述从BMC通信异常。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述主BMC与所述从BMC通信异常时,每间隔预设时段向所述从BMC发送心跳请求信息;
基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信;
若超过预设时间范围所述主BMC与所述从BMC未建立通信,将所述从BMC确定为异常从BMC;
向用户发送关于所述异常从BMC的告警信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在向用户发送告警信息之后,轮流向所述多个从BMC发送心跳请求信息,以便用户检修好所述异常从BMC之后自动建立通信。
6.根据权利要求1所述的方法,其特征在于,所述响应信息包括状态位信息;所述基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信,包括:
基于所述从BMC根据所述心跳请求信息返回的状态位信息,判断所述主BMC与所述从BMC是否建立通信。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述状态位信息异常时,向所述从BMC发送心跳请求信息。
8.一种多BMC的通信装置,其特征在于,所述装置包括:
发送模块,用于主BMC轮流向多个从BMC发送心跳请求信息;
判断模块,用于基于所述从BMC根据所述心跳请求信息返回的响应信息,判断所述主BMC与所述从BMC是否建立通信;
所述发送模块,还用于当所述主BMC与所述从BMC建立通信后且发生通信异常时,向所述从BMC发送预设次数的心跳请求信息;
确定模块,用于基于所述从BMC根据每次接收的心跳请求信息返回的响应信息,确定所述主BMC与所述从BMC的通信状态。
9.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211059411.9A CN115529261A (zh) | 2022-08-31 | 2022-08-31 | 一种多bmc的通信方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211059411.9A CN115529261A (zh) | 2022-08-31 | 2022-08-31 | 一种多bmc的通信方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115529261A true CN115529261A (zh) | 2022-12-27 |
Family
ID=84697104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211059411.9A Pending CN115529261A (zh) | 2022-08-31 | 2022-08-31 | 一种多bmc的通信方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115529261A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631011A (zh) * | 2008-07-16 | 2010-01-20 | 中国科学院声学研究所 | 适于进行ip流媒体实时处理及转发设备的热备方法及系统 |
CN102571452A (zh) * | 2012-02-20 | 2012-07-11 | 华为技术有限公司 | 多节点管理的方法和系统 |
US20160099886A1 (en) * | 2014-10-07 | 2016-04-07 | Dell Products, L.P. | Master baseboard management controller election and replacement sub-system enabling decentralized resource management control |
CN109471770A (zh) * | 2018-09-11 | 2019-03-15 | 华为技术有限公司 | 一种系统管理方法和装置 |
US20200099584A1 (en) * | 2018-09-21 | 2020-03-26 | Cisco Technology, Inc. | Autonomous datacenter management plane |
CN113905055A (zh) * | 2021-09-11 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种bmc之间数据同步传输的方法、装置、设备及可读介质 |
CN114116280A (zh) * | 2021-11-11 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 交互式bmc自恢复方法、系统、终端及存储介质 |
-
2022
- 2022-08-31 CN CN202211059411.9A patent/CN115529261A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631011A (zh) * | 2008-07-16 | 2010-01-20 | 中国科学院声学研究所 | 适于进行ip流媒体实时处理及转发设备的热备方法及系统 |
CN102571452A (zh) * | 2012-02-20 | 2012-07-11 | 华为技术有限公司 | 多节点管理的方法和系统 |
US20160099886A1 (en) * | 2014-10-07 | 2016-04-07 | Dell Products, L.P. | Master baseboard management controller election and replacement sub-system enabling decentralized resource management control |
CN109471770A (zh) * | 2018-09-11 | 2019-03-15 | 华为技术有限公司 | 一种系统管理方法和装置 |
US20200099584A1 (en) * | 2018-09-21 | 2020-03-26 | Cisco Technology, Inc. | Autonomous datacenter management plane |
CN113905055A (zh) * | 2021-09-11 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种bmc之间数据同步传输的方法、装置、设备及可读介质 |
CN114116280A (zh) * | 2021-11-11 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 交互式bmc自恢复方法、系统、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107480014B (zh) | 一种高可用设备切换方法及装置 | |
US9917741B2 (en) | Method and system for processing network activity data | |
CN109150662B (zh) | 消息传输方法、分布式系统、设备、介质和无人车 | |
CN112527567A (zh) | 系统容灾方法、装置、设备以及存储介质 | |
CN111045811A (zh) | 一种任务分配方法、装置、电子设备及存储介质 | |
CN109257396B (zh) | 一种分布式锁调度方法及装置 | |
CN111541762B (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
CN115964153A (zh) | 一种异步任务处理方法、装置、设备以及存储介质 | |
CN112437001B (zh) | 保证消息可靠性投递与消费方法、装置 | |
WO2018137114A1 (zh) | 设备监控方法、服务器以及监控系统 | |
CN110659184B (zh) | 健康状态检查方法、装置及系统 | |
CN115529261A (zh) | 一种多bmc的通信方法、装置、设备和存储介质 | |
CN110752972A (zh) | 一种网卡状态监控方法、装置、设备及介质 | |
CN109995597A (zh) | 一种网络设备故障处理方法及装置 | |
CN115396296A (zh) | 业务处理方法、装置、电子设备及计算机可读存储介质 | |
CN113986135B (zh) | 处理请求的方法、装置、设备以及存储介质 | |
TW201344403A (zh) | 電源管理方法 | |
CN117395263B (zh) | 一种数据同步方法、装置、设备和存储介质 | |
CN114296979A (zh) | 一种检测物联网设备异常状态的方法及装置 | |
CN112306746A (zh) | 在应用环境中管理快照的方法、设备和计算机程序产品 | |
CN116016265B (zh) | 消息全链路监控方法、装置、系统、设备和存储介质 | |
CN117609194A (zh) | 云数据库的处理方法、装置、电子设备及存储介质 | |
CN115174447B (zh) | 一种网络通信方法、装置、系统、设备及存储介质 | |
CN111581446B (zh) | 一种图关系生成方法、装置、系统、设备及存储介质 | |
CN115098294B (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 |