本发明涉及服务器监控技术领域,特别是涉及一种具有冗余功能的通信监控方法、装置及系统。
背景技术:
随着用户对服务器性能需求的提高,用户对服务器节点的需求量也越来越大。整机柜服务器可集成多个服务器节点,由负责整机柜监控管理的SMC(System Management Controller)统一管理,集中监控。这种设计方式与传统管理方式相比具有很大的优势,并且在实际应用上也越来越广泛。
SMC可通过I2C、网络等通信链路与设置在各服务器节点的BMC(基板管理控制器)进行节点信息的获取与整合,基于SMC对各服务器节点管理的实时性和准确性,通信链路的可靠性和稳定性显得尤为重要。然而,当前SMC与BMC的通信方式都是基于通信链路中的一种方式,例如通过I2C通信链路、或者是网络通信链路,因此当通信链路出现异常时,就严重影响SMC与各BMC的正常通信,从而降低了整个体统的可靠性。
由此可见,在SMC与各BMC的通信过程中,如何提高通信链路的可靠性是本领域技术人员亟待解决的问题。
技术实现要素:
本发明的目的是提供一种具有冗余功能的通信监控方法、装置及系统,用于在SMC与各BMC的通信过程中,提高通信链路的可靠性。
为解决上述技术问题,本发明提供一种具有冗余功能的通信监控方法,用于SMC与BMC的通信,包括:
预先创建多条用于SMC与BMC进行通信的通信链路;
选取一条所述通信链路作为原通信链路,其余为备用通信链路;
判断所述原通信链路是否正常通信;
如果否,则从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路。
优选地,所述判断所述原通信链路是否正常通信具体包括:
创建所述原通信链路的通信会话;
判断所述原通信链路的通信会话是否创建成功;
如果否,则进入所述从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路的步骤。
优选地,如果所述原通信链路的通信会话创建成功,则还包括:
通过所述原通信链路的通信会话发送交互指令;
判断所述交互指令是否发送成功;
如果否,则进入所述从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路的步骤。
优选地,当所述从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路之后,还包括:
判断所述目标通信链路是否正常通信;
如果否,则所述从所述备用通信链路中选取另一目标通信链路,将当前所述目标通信链路切换为所述另一目标通信链路。
优选地,所述判断所述目标通信链路是否正常通信具体包括:
创建所述目标通信链路的通信会话;
判断所述目标通信链路的通信会话是否创建成功;
如果否,则进入所述从所述备用通信链路中选取另一目标通信链路,将当前所述目标通信链路切换为所述另一目标通信链路的步骤。
优选地,如果所述目标通信链路的通信会话创建成功,则还包括:
通过所述目标通信链路的通信会话发送交互指令;
判断所述交互指令是否发送成功;
如果否,则进入所述从所述备用通信链路中选取另一目标通信链路,将当前所述目标通信链路切换为所述另一目标通信链路的步骤。
优选地,还包括:
判断当前的通信链路是否为所述原通信链路;
如果是,则进入所述判断所述原通信链路是否正常通信的步骤;
如果否,则启动恢复所述原通信链路的操作;
判断所述原通信链路是否恢复成功;
如果是,将当前通信链路切换为所述原通信链路,并进入所述判断所述原通信链路是否正常通信的步骤,如果否,则进入所述启动恢复所述原通信链路的操作的步骤。
优选地,所述选取一条所述通信链路作为原通信链路具体为:选取I2C通信链路作为所述原通信链路。
为解决上述技术问题,本发明提供一种具有冗余功能的通信监控装置,包括:
创建单元,用于预先创建多条用于SMC与BMC进行通信的通信链路;
选取单元,用于选取一条所述通信链路作为原通信链路,其余为备用通信链路;
判断单元,用于判断所述原通信链路是否正常通信;
切换单元,用于在所述判断单元的判断结果为否时,从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路。
为解决上述技术问题,本发明提供一种具有冗余功能的通信监控系统,包括SMC和BMC,还包括上述所述的具有冗余功能的通信监控装置。
本发明所提供的具有冗余功能的通信监控方法,包括预先创建多条用于SMC与BMC进行通信的通信链路;选取一条所述通信链路作为原通信链路,其余为备用通信链路;判断所述原通信链路是否正常通信;如果否,则从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路。由此可见,本方法在现有的通信链路的基础上,当原通信链路发生异常时,及时将通信链路切换到备用的通信链路上,以便能够继续对BMC进行管理。基于此,可以提高SMC与BMC的通信链路的可靠性,且不需要重新创建新的通信链路,方法简单。此外,本发明所提供的具有冗余功能的通信监控装置及系统,具有以上有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种具有冗余功能的通信监控方法的流程图;
图2为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图;
图3为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图;
图4为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图;
图5为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图;
图6为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图;
图7为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种具有冗余功能的通信监控方法、装置及系统,用于在SMC与各BMC的通信过程中,提高通信链路的可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种具有冗余功能的通信监控方法的流程图。如图1所示,具有冗余功能的通信监控方法,用于SMC与BMC的通信,包括以下步骤:
S10:预先创建多条用于SMC与BMC进行通信的通信链路。
可以理解地是,步骤S10中创建多条通信链路为现有技术,因此,本实施例不再赘述。另外,通信链路最少有2条,例如I2C通信链路和网络通信链路等。
S11:选取一条通信链路作为原通信链路,其余为备用通信链路。
在创建的多条通信链路中,选取其中一条作为原通信链路,剩余的通信链路均作为备用通信链路,可以理解的是,由于原通信链路将首次作为通信链路参与到SMC与BMC的通信过程,因此,这个原通信链路要比备用通信链路的各方面性能都要好一些,因此,作为优选的实施方式,步骤S11具体为:选取I2C通信链路作为原通信链路。当然,也可以选取网络通信链路或者其他通信链路作为原通信链路。如果I2C通信链路作为原通信链路,则网络通信链路就是备用通信链路,相反,如果网络通信链路作为原通信链路,则I2C通信链路就是备用通信链路。如果选用了一条通信链路为原通信链路后,则SMC与BMC当前的通信链路就是原通信链路,就可以在原通信链路上进行通信,本实施例不再赘述。
S12:判断原通信链路是否正常通信,如果否,则进入步骤S13。
当确定了原通信链路作为当前的通信链路进行通信时,就需要判断原通信链路是否能够正常通信,只有在原通信链路能够正常通信的基础上,才可以真正实现SMC与BMC的通信,否则二者是不能通信的。如果原通信链路正常通信,则可以在原通信链路上进行通信,否则需要切换当前的通信链路,具体参见步骤S13。
S13:从备用通信链路中选取一目标通信链路,将原通信链路切换为目标通信链路。
如果原通信链路不能正常通信,说明SMC与BMC之间不能通过原通信链路进行通信,需要从其它备用通信链路上选取一条来代替原通信链路。可以理解的是,这里的目标通信链路是备用通信链路中的任意一个,是为了与其它备用通信链路区别,任意一个备用通信链路都有可能成为目标通信链路。
本实施例提供的具有冗余功能的通信监控方法,包括预先创建多条用于SMC与BMC进行通信的通信链路;选取一条所述通信链路作为原通信链路,其余为备用通信链路;判断所述原通信链路是否正常通信;如果否,则从所述备用通信链路中选取一目标通信链路,将所述原通信链路切换为所述目标通信链路。由此可见,本方法在现有的通信链路的基础上,当原通信链路发生异常时,及时将通信链路切换到备用的通信链路上,以便能够继续对BMC进行管理。基于此,可以提高SMC与BMC的通信链路的可靠性。
图2为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。如图2所示,S12具体包括:
S120:创建原通信链路的通信会话。
S121:判断原通信链路的通信会话是否创建成功,如果否,则进入步骤S13。
对于其他步骤本实施例不再赘述,请参见上文的描述。本实施例中,通过通信会话的方式判断原通信链路是否正常通信。可以理解的是,如果步骤S120创建成功则表明原通信链路正常通信,就可以在原通信链路上进行通信,本实施例不再赘述;否则表明原通信链路未正常通信,则需要切换,具体参见步骤S13。
图3为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。如图3所示,如果原通信链路的通信会话创建成功,则还包括以下步骤:
S20:通过原通信链路的通信会话发送交互指令;
S21:判断交互指令是否发送成功;如果否,则进入步骤13。
可以理解的是,如果按照上一实施例,只要通信会话建立成功则表明原通信链路就能正常通信的话,则有可能出现在交互指令发送过程中,不能成功发送的问题,这样SMC与BMC也是不能成功通信的。因此,本实施例在上一实施例的基础上,增加了一个判断交互指令是否发送成功的步骤。需要说明的是,如果步骤S21的判断结果为是,则继续执行SMC与BMC通信的操作即可,本实施例不再赘述。
图4为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。如图4所示,步骤S13之后,还包括以下步骤。
S30:判断目标通信链路是否正常通信;如果否,则进入步骤S31。
当确定了目标通信链路作为当前的通信链路进行通信时,就需要判断目标通信链路是否能够正常通信,只有在目标通信链路能够正常通信的基础上,才可以真正实现SMC与BMC的通信,否则二者是不能通信的。如果目标通信链路正常通信,则可以在目标通信链路上进行通信,否则需要切换当前的通信链路,具体参见步骤S31。
S31:从备用通信链路中选取另一目标通信链路,将当前目标通信链路切换为另一目标通信链路。
如果目标通信链路不能正常通信,说明SMC与BMC之间不能通过目标通信链路进行通信,需要从其它备用通信链路上选取一条目标通信链路代替当前的目标通信链路。可以理解的是,这里的另一目标通信链路是备用通信链路中除原通信链路和上一实施例中的目标通信链路中的另一个通信链路。
可以理解地是,本实施例实现的前提是,通信链路至少要有3条,
图5为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。如图5所示,在上述实施例的基础上,S30具体包括:
S300:创建目标通信链路的通信会话。
S301:判断目标通信链路的通信会话是否创建成功;如果否,则进入步骤S31。
对于其他步骤本实施例不再赘述,请参见上文的描述。本实施例中,通过通信会话的方式判断目标通信链路是否正常通信。可以理解的是,如果步骤S300创建成功则表明目标通信链路正常通信,就可以在目标通信链路上进行通信,本实施例不再赘述;否则表明目标通信链路未正常通信,则需要切换,具体参见步骤S31。
图6为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。如图6所示,在上述实施例的基础上,如果目标通信链路正常通信,则还包括:
S40:通过目标通信链路的通信会话发送交互指令。
S41:判断交互指令是否发送成功;如果否,则进入步骤S31。
可以理解的是,如果按照上一实施例,只要通信会话建立成功则表明目标通信链路就能正常通信的话,则有可能出现在交互指令发送过程中,不能成功发送的问题,这样SMC与BMC也是不能成功通信的。因此,本实施例在上一实施例的基础上,增加了一个判断交互指令是否发送成功的步骤。需要说明的是,如果步骤S41的判断结果为是,则继续执行SMC与BMC通信的操作即可,本实施例不再赘述。
图7为本发明实施例提供的另一种具有冗余功能的通信监控方法的流程图。如图7所示,在上述任一实施例的基础上(以图1对应的实施例为例),还包括:
S50:判断当前的通信链路是否为原通信链路,如果是,则进入步骤S12,否则,进入步骤S51。
S51:启动恢复原通信链路的操作。
S52:判断原通信链路是否恢复成功,如果是,进入步骤S53,否则,进入步骤S51。
S53:将当前通信链路切换为原通信链路,并进入步骤S12。
在具体实施中,如果原通信链路是通信链路中最优的通信链路,则如果当前通信链路不是原通信链路的话,则说明原通信链路出现故障,需要启动恢复操作进行恢复。一旦恢复成功,则将当前通信链路切换为原通信链路。
本实施例中,通过相关方式修复原链路问题,当原通信链路恢复后,能够切换回原通信链路继续进行BMC管理。
需要说明的是,本实施中是在图1的基础上进行的,但是在其他实施中,也可以加在其他步骤之后,本实施例不再赘述。
上述实施例中对具有冗余功能的通信监控方法对应的实施例进行了详细的说明,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。一种具有冗余功能的通信监控装置,包括:
创建单元,用于预先创建多条用于SMC与BMC进行通信的通信链路;
选取单元,用于选取一条通信链路作为原通信链路,其余为备用通信链路;
判断单元,用于判断原通信链路是否正常通信;
切换单元,用于在判断单元的判断结果为否时,从备用通信链路中选取一目标通信链路,将原通信链路切换为目标通信链路。
本实施例提供的具有冗余功能的通信监控装置,包括创建单元,用于预先创建多条用于SMC与BMC进行通信的通信链路;选取单元,用于选取一条通信链路作为原通信链路,其余为备用通信链路;判断单元,用于判断原通信链路是否正常通信;切换单元,用于在判断单元的判断结果为否时,从备用通信链路中选取一目标通信链路,将原通信链路切换为目标通信链路。由此可见,本装置在现有的通信链路的基础上,当原通信链路发生异常时,及时将通信链路切换到备用的通信链路上,以便能够继续对BMC进行管理。基于此,可以提高SMC与BMC的通信链路的可靠性。
由于系统部分的实施例与装置部分的实施例相互对应,因此系统部分的实施例请参见装置部分的实施例的描述,这里暂不赘述。一种具有冗余功能的通信监控系统,包括SMC、BMC,还包括上述实施例所述的具有冗余功能的通信监控装置。
本发明实施例提供的具有冗余功能的通信监控系统,在现有的通信链路的基础上,当原通信链路发生异常时,及时将通信链路切换到备用的通信链路上,以便能够继续对BMC进行管理。基于此,可以提高SMC与BMC的通信链路的可靠性,且不需要重新创建新的通信链路,方法简单。
以上对本发明所提供的具有冗余功能的通信监控方法、装置及系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。