首页 / 专利库 / 电脑零配件 / 微码 / 设备信息发送的方法、计算机设备和分布式计算机设备系统

设备信息发送的方法、计算机设备和分布式计算机设备系统

阅读:577发布:2020-05-13

专利汇可以提供设备信息发送的方法、计算机设备和分布式计算机设备系统专利检索,专利查询,专利分析的服务。并且本 申请 提供一种计算机设备、分布式计算机设备系统和设备信息发送的方法,以解决心跳检测分布式 节点 故障存在的实时性差的问题。本申请提供的方法,通过获取计算机设备复位的信息,并根据获取的计算机设备复位的信息,生成包含复位的信息的复位通知报文,并将所述复位通知报文发送给分布式系统中的其它设备,能够快速地将本设备复位的信息通知分布式系统中的其它设备。相对于 现有技术 通过心跳探测其它设备是否复位的方式,不仅能提升复位的信息传递的效率,也能够避免误判的发生。,下面是设备信息发送的方法、计算机设备和分布式计算机设备系统专利的具体信息内容。

1.一种计算机设备,所述计算机设备是分布式系统中的计算机设备,所述计算机设备包括处理器,其特征在于,所述计算机设备还包括报文发送单元,所述报文发送单元与所述处理器通过总线连接;
所述处理器,用于在所述计算机设备复位时,获取所述计算机设备复位的信息,并将所述计算机设备复位的信息传输给所述报文发送单元;
所述报文发送单元,用于根据所述计算机设备复位的信息生成包含所述计算机设备复位的信息的复位通知报文,并将所述复位通知报文发送给所述分布式系统中的其它计算机设备。
2.根据权利要求1所述的计算机设备,其特征在于:
所述计算机设备中的操作系统包括关于复位的通知链;
在所述计算机设备复位前,所述处理器通过预设函数从所述通知链获取所述计算机设备复位的信息。
3.根据权利要求1所述的计算机设备,其特征在于:所述计算机设备中的操作系统包括复位检测模
所述复位检测模块,注册于所述计算机设备的操作系统中的复位通知链上,并通过回调函数获取所述复位通知链上关于所述计算机设备复位的信息;
所述处理器通过所述复位检测模块获取所述计算机设备复位的信息。
4.根据权利要求1-3任意一项所述的计算机设备,其特征在于:
所述报文发送单元包括微码模块;
所述微码模块用于生成所述复位通知报文,并将所述复位通知报文送给所述分布式系统中的其它计算机设备。
5.根据权利要求1-4任意一项所述的计算机设备,其特征在于,所述计算机设备还包括基板管理控制器BMC;
所述处理器通过所述BMC将所述计算机设备复位的信息传输给所述报文发送单元。
6.根据权利要求1-5任意一项所述的计算机设备,其特征在于,所述计算机设备还包括电源模块,所述电源模块通过通用输入输出GPIO引脚与所述报文发送单元连接;
所述电源模块,用于在所述计算机设备掉电时,通过触发引脚的跳变将所述计算机设备掉电的信息传递给所述报文发送单元;
所述报文发送单元,还用于根据所述计算机设备掉电的信息,生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。
7.根据权利要求1-3任意一项所述的计算机设备,其特征在于,所述报文发送单元是基板管理控制器BMC,所述BMC还包括通知模块;
所述通知模块根据所述BMC获取到的所述计算机设备复位的信息生成所述复位通知报文,并将所述复位通知报文发送给所述分布式系统中的所述其它计算机设备。
8.根据权利要求7所述的计算机设备,其特征在于:所述计算机设备还包括电源模块;
所述电源模块,还用于在所述计算机设备掉电时通过触发引脚的跳变,向所述BMC传递所述计算机设备掉电的信息;
所述通知模块,还用于根据获取到的所述计算机设备掉电的信息生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。
9.一种分布式计算机设备系统,其特征在于,包括至少两个权利要求1-8中的计算机设备。
10.一种设备信息发送的方法,其特征在于,所述方法包括:
计算机设备中的处理器在所述计算机设备复位前获取所述计算机设备复位的信息,并将所述计算机设备复位的信息传输给所述计算机设备中的报文发送单元;
所述报文发送单元接收所述计算机设备复位的信息;
所述报文发送单元根据所述计算机设备复位的信息,生成包含所述计算机设备复位的信息的复位通知报文,并将所述复位通知报文发送给所述计算机设备所在的分布式系统中的其它计算机设备。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述处理器通过预设函数和所述计算机设备的操作系统中关于复位的通知链,获取所述计算机设备复位的信息。
12.根据权利要求11所述的方法,其特征在于,所述预设函数为回调函数,所述回调函数注册于所述通知链上;
所述处理器通过预设函数和所述计算机设备的操作系统中关于复位的通知链,获取所述计算机设备复位的信息包括:
所述处理器通过所述回调函数从所述通知链获取所述计算机设备复位的信息。
13.根据权利要求10-12任意一项所述的方法,其特征在于,所述方法还包括:
所述处理器通过所述计算机设备中的基板管理控制器BMC将所述计算机设备复位的信息传输给所述报文发送单元。
14.根据权利要求10-12任意一项所述的方法,其特征在于,
所述报文发送单元是所述计算机设备中的基板管理控制器BMC。
15.根据权利要求11-14任意一项所述的方法,其特征在于,所述方法还包括:
当所述计算机设备掉电时,所述报文发送单元通过引脚的跳变获取所述计算机设备掉电的信息,生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。

说明书全文

设备信息发送的方法、计算机设备和分布式计算机设备系统

技术领域

[0001] 本申请涉及信息技术领域,特别涉及设备信息发送的方法、计算机设备和分布式计算机设备系统。

背景技术

[0002] 分布式系统通常包括分布式计算系统和分布式存储系统。
[0003] 采用分布式计算的一组计算机组成的系统,叫做分布式计算系统。分布式计算系统将需要进行大量计算的项目数据分割成小,由多台计算节点,例如具有计算功能的服务器,分别计算,再上传运算结果后统一合并得出数据结论。
[0004] 分布式存储系统,是将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用多台存储节点,例如存储服务器,分担存储负荷,利用位置服务器定位存储信息。分布式存储系统不仅能够提高系统的可靠性、可用性和存取效率,还易于扩展。
[0005] 分布式计算系统中的计算几点和分布式存储系统中的存储节点,统称为分布式节点。
[0006] 目前业界针对分布式节点复位故障或掉电故障,只能通过节点间心跳来检测。通过心跳检测分布式节点故障,存在误判以及检测实时性差等问题,无法满足高端场景下(行等)业务倒换的需要。发明内容
[0007] 本申请实施例提供一种计算机设备、分布式计算机设备系统和设备信息发送的方法,以解决心跳检测分布式节点故障存在的实时性差的问题。
[0008] 第一方面,本申请实施例提供了一种计算机设备,所述计算机设备是分布式系统中的计算机设备,
[0009] 所述计算机设备包括处理器,其特征在于,所述计算机设备还包括报文发送单元,所述报文发送单元与所述处理器通过总线连接;
[0010] 所述处理器,用于在所述计算机设备复位时,获取所述计算机设备复位的信息,并将所述计算机设备复位的信息传输给所述报文发送单元;
[0011] 所述报文发送单元,用于根据所述计算机设备复位的信息生成包含所述计算机设备复位的信息的复位通知报文,并将所述复位通知报文发送给所述分布式系统中的其它计算机设备。
[0012] 上述计算机设备通过获取本设备复位的信息,并能够根据获取的本设备复位的信息,生成包含复位的信息的复位通知报文,发送给分布式系统中的其它设备,能够快速地将本设备复位的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否复位的方式,能够提升复位的信息传递的效率。进一步的,由于不需要设置预设的阈值进行心跳检测,避免了因设置阈值不当带来的误判的发生。
[0013] 可选的,上述计算机设备可以是计算服务器设备或存储服务器设备。
[0014] 可选的,所述计算机设备还可以包括主存储器或辅助存储器等。
[0015] 可选的,所述计算机设备与所述分布式系统中的其它设备可以通过千兆以太网(Gigabit Ethernet,GE)、IB(InfiniBand)等网络进行通信。
[0016] 可选的,所述报文发送单元可以通过私有网络或公有网络发送所述通知报文。
[0017] 可选的,所述报文发送单元可以通过定向报文的方式,将所述通知报文发送给所述分布式系统中的其它计算机设备。所述报文发送单元也可以通过发送广播报文的方式,发送所述通知报文。
[0018] 可选的,所述处理器可以是中央处理器(central processing unit,CPU),所述CPU可以是X86CPU或高级精简指令集计算机器(advanced reduced instruction set computing machines,ARM)等。
[0019] 可选的,所述报文发送单元可以是快速外围部件互连(Peripheral Component Interconnect Express,PCIe)智能网卡。所述CPU与所述报文发送单元之间可以通过PCIe总线连接。
[0020] 在第一方面的一种可能的实现方式中,所述计算机设备中的操作系统包括关于复位的通知链;在所述计算机设备复位前,所述处理器通过预设函数从所述通知链获取所述计算机设备复位的信息。
[0021] 在第一方面的一种可能的实现方式中,
[0022] 所述计算机设备中的操作系统包括复位检测模块,
[0023] 所述复位检测模块,注册于所述计算机设备的操作系统中的复位通知链上,并通过回调函数获取所述复位通知链上关于所述计算机设备复位的信息;
[0024] 所述处理器通过所述复位检测模块获取所述计算机设备复位的信息。
[0025] 在第一方面的一种可能的实现方式中,
[0026] 所述报文发送单元包括微码模块;
[0027] 所述微码模块用于生成所述复位通知报文,并将所述复位通知报文送给所述分布式系统中的其它计算机设备。
[0028] 可选的,上述微码模块可以通过固件(firmware,FW)实现。
[0029] 可选的,所述复位检测模块是所述计算机设备运行的操作系统中的模块。
[0030] 可选的,所述复位检测模块通过与微码模块之间的私有协议发送所述计算机设备复位的信息。
[0031] 在第一方面的一种可能的实现方式中,所述计算机设备还包括基板管理控制器(baseboard management controller,BMC);所述处理器通过所述BMC将所述计算机设备复位的信息传输给所述报文发送单元。
[0032] 在第一方面的一种可能的实现方式中,所述计算机设备还包括电源模块,所述电源模块通过通用输入输出(general-purpose input/output,GPIO)引脚与所述报文发送单元连接;
[0033] 所述电源模块,用于在所述计算机设备掉电时,通过触发引脚的跳变将所述计算机设备掉电的信息传递给所述报文发送单元;
[0034] 所述报文发送单元,还用于根据所述计算机设备掉电的信息,生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。上述计算机设备能够根据获取的本设备掉电的信息,生成包含掉电信息的掉电通知报文,发送给分布式系统中的其它设备,能够快速地将本设备掉电的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否掉电的方式,能够提升掉电信息传递的效率。进一步的,由于不需要设置预设的阈值进行心跳检测,避免了因设置阈值不当带来的误判的发生。
[0035] 可选的,所述电源模块可以通过掉电指示信号所述GPIO引脚的跳变。
[0036] 可选的,所述掉电指示信号可以是PS_OK信号,或者其它用于指示市电掉电的信号。
[0037] 在第一方面的一种可能的实现方式中,
[0038] 所述报文发送单元是基板管理控制器BMC,所述BMC还包括通知模块;
[0039] 所述通知模块根据所述BMC获取到的所述计算机设备复位的信息生成所述复位通知报文,并将所述复位通知报文发送给所述分布式系统中的所述其它计算机设备。
[0040] 可选的,所述BMC中的通知模块,将所述复位通知报文发送给所述分布式系统的所述其它计算机设备中的BMC。
[0041] 可选的,所述BMC中的通知模块,可以通过带外系统,将所述复位通知报文发送给所述其它计算机设备中的BMC。
[0042] 在第一方面的一种可能的实现方式中,
[0043] 所述计算机设备还包括电源模块;
[0044] 所述电源模块,还用于在所述计算机设备掉电时通过触发引脚的跳变,向所述BMC传递所述计算机设备掉电的信息;
[0045] 所述通知模块,还用于根据获取到的所述计算机设备掉电的信息生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。
[0046] 第二方面,本申请实施例提供了一种分布式计算机设备系统,包括至少两个第一方面中的计算机设备。
[0047] 可选的,所述分布式设备系统可以是分布式计算系统、分布式存储系统或分布式混合系统等。其中,分布式混合系统包括计算设备和存储设备的系统。
[0048] 第三方面,本申请实施例提供了一种设备信息发送的方法,所述方法包括:
[0049] 计算机设备中的处理器在所述计算机设备复位前获取所述计算机设备复位的信息,并将所述计算机设备复位的信息传输给所述计算机设备中的报文发送单元;
[0050] 所述报文发送单元接收所述计算机设备复位的信息;
[0051] 所述报文发送单元根据所述计算机设备复位的信息,生成包含所述计算机设备复位的信息的复位通知报文,并将所述复位通知报文发送给所述计算机设备所在的分布式系统中的其它计算机设备。
[0052] 上述方法通过获取本设备复位的信息,并根据获取的本设备复位的信息,生成包含复位的信息的复位通知报文,发送给分布式系统中的其它设备,能够快速地将本设备复位的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否复位或掉电的方式,提升了复位的信息传递的效率。进一步的,由于不需要设置预设的阈值进行心跳检测,避免了因设置阈值不当带来的误判的发生。
[0053] 可选的,
[0054] 在第三方面的一种可能的实现方式中,所述处理器通过预设函数和所述计算机设备的操作系统中关于复位的通知链,获取所述计算机设备复位的信息。
[0055] 在第三方面的一种可能的实现方式中,所述方法还包括:
[0056] 所述预设函数为回调函数,所述回调函数注册于所述通知链上;
[0057] 所述处理器通过预设函数和所述计算机设备的操作系统中关于复位的通知链,获取所述计算机设备复位的信息包括:
[0058] 所述处理器通过所述回调函数从所述通知链获取所述计算机设备复位的信息。
[0059] 在第三方面的一种可能的实现方式中,所述处理器通过所述计算机设备中的BMC将所述计算机设备复位的信息传输给所述报文发送单元。
[0060] 在第三方面的一种可能的实现方式中,所述报文发送单元是所述计算机设备中的BMC。
[0061] 在第三方面的一种可能的实现方式中,当所述计算机设备掉电时,所述报文发送单元通过引脚的跳变获取所述计算机设备掉电的信息,生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。
[0062] 上述方法根据获取的本设备掉电的信息,生成包含掉电信息的掉电通知报文,发送给分布式系统中的其它设备,能够快速地将本设备掉电的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否掉电的方式,能够提升掉电信息传递的效率。进一步的,由于不需要设置预设的阈值进行心跳检测,避免了因设置阈值不当带来的误判的发生。
[0063] 第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过控制器进行加载来实现上述第三方面或第三方面的任意可能的实现方式的方法。
[0064] 第五方面,本申请实施例提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述第三方面或第三方面的任意可能的实现方式的方法的指令。
[0065] 第六方面,本申请提实施例供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现上述第三方面或第三方面的任意可能的实现方式的方法。附图说明
[0066] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0067] 图1为本申请实施例提供的一种分布式系统结构示意图;
[0068] 图2为本申请实施例提供的一种分布式系统实现方式结构示意图;
[0069] 图3为图2所示分布式系统的具体实现方式结构示意图;
[0070] 图4为图2所示分布式系统的另一种具体实现方式结构示意图;
[0071] 图5为本申请实施例提供的另一种分布式系统实现方式结构示意图;
[0072] 图6为本申请实施例提供的另一种分布式系统实现方式结构示意图;
[0073] 图7为图6所示分布式系统的具体实现方式结构示意图;
[0074] 图8为图6所示分布式系统的另一种具体实现方式结构示意图;
[0075] 图9A为本申请实施例提供的一种计算机设备900的结构示意图;
[0076] 图9B为本申请实施例提供的计算机设备900的另一种实现方式的结构示意图;
[0077] 图10为本申请实施例提供的计算机设备900的另一种实现方式的结构示意图;
[0078] 图11为本申请实施例提供的计算机设备900的另一种实现方式的结构示意图;
[0079] 图12为本申请实施例提供的一种设备信息发送的方法的流程示意图。

具体实施方式

[0080] 下面结合附图,对本发明的实施例进行描述。
[0081] 图1为一种分布式系统的一种结构示意图,该分布式系统包括节点1、节点2和节点3。该分布式系统可以是分布式计算系统,也可以分布式存储系统。相应的,节点1、节点2和节点3可以是计算节点,也可以是存储节点。本申请实施例中,节点可以是计算机设备,例如可以是计算服务器或存储服务器等;节点也可以是其它具有电子信息处理能的设备,例如具有信息通信能力的设备等。
[0082] 可选的,本申请实施例中的分布式系统,也可以为集群系统。该集群系统中包括两个以上的节点,每个节点可以运行集群管理软件,用于对集群中节点的管理。集群管理软件是对分布式系统中的节点进行管理的软件,例如用于对分布式系统中各节点的状态上报和故障节点的隔离等。集群管理软件可以收集分布式系统中所有节点的心跳检测结果,综合判断某个节点是否故障或异常,是否需要进行业务倒换等。
[0083] 在分布式系统运行过程中,通常通过心跳检测的方式,确定某一个节点是否异常。例如,每个节点都会向其它节点发送探测包(例如ping包),通过ping包响应的时延确定某个节点是否异常。以图1所示的系统为例,节点2向节点1发送ping包。发送的包的大小可以是1024个字节,也可以是64个字节。节点2检测节点1响应所述ping包的时延。如果时延超过预设阈值,例如2秒,再判断预设周期内超过所述预设阈值的包的数量,如果超过预设阈值的包的数量超过预设的限值,例如5个,则判定节点1异常。同样的,节点3也通过向节点1发送ping包的方式,判断节点1是否异常。如果节点3也判定节点1异常,则确定节点1异常,完成对节点1的心跳检测。
[0084] 图1中,如果节点1复位,则节点2和节点1间的心跳检测会出现异常,节点3和节点1间的心跳检测也会出现异常。这样,该节点2和节点3中的集群管理软件可以根据心跳检测的结果判定节点1故障,并进行业务倒换等管理操作。上述通过心跳检测的方式,需要定时发送探测包来检测,且需要较长的周期来判断是否存在异常。通常情况下,需要的时间达到5.5秒或以上(业务切换端到端是6至8秒)。这样的检测实时性差,无法满足高端场景下(银行等)业务切换的需要。
[0085] 本申请实施例提供一种计算机设备、分布式计算机设备系统和设备信息发送的方法,以解决通过心跳检测分布式节点故障的方式实时性差的问题。
[0086] 图2为本申请实施例提供的一种分布式系统实现方式结构示意图。如图2所示,该分布式系统包括节点100、节点200和节点300。其中,节点100包括控制单元101,接口单元102和电源模块103;节点200包括控制单元201,接口单元202和电源模块203;节点300包括控制单元301,接口单元302和电源模块303。可以理解,图2只是为方便描述本申请的技术方案,对节点的数量以及节点包含的组件进行的说明,在具体实现时,还可以包括更多的节点,或节点也可以包括其他的组件,例如节点还可以包括主存储器(例如随机存取存储器(RAM)等)、辅助存储器(例如硬盘等),不再一一列举。
[0087] 图2所示的节点之间,可以通过GE或IB等网络进行通信。本申请实施例不限定具体的网络协议或网络形态。节点之间可以通过接口单元通信,例如节点100与节点200之间通过接口单元102与接口单元202通信。
[0088] 以节点100为例,控制单元101可以是处理器,例如可以是CPU,包括但不限于X86CPU或ARM等;控制单元101也可以是异构处理器等。接口单元102可以是PCIe智能网卡或其它网卡设备。电源模块103是为节点100供电的设备,可以是为节点100供电的电源。例如电源模块103可以为将市电输入的220V电压转化为节点100中其他组件能够使用的12V电压的硬件模块。控制单元101与接口单元102可以通过总线(例如PCIe总线)连接,电源模块103可以与接口单元102的GPIO引脚相连接。当节点100复位时,例如当节点100准备复位时,控制单元101可以向接口单元102发送指示,以将节点100复位的信息传递给接口单元102。控制单元101向接口单元102发送指示后,节点100即可启动复位。
[0089] 可以理解,控制单元101向接口单元102发送的指示,可以是通过命令、消息、报文或硬件信号等形式发送的指示。本申请实施例不限定控制单元101向接口单元102发送指示的具体形式,只要是控制单元101能够将节点100复位的信息传递给接口单元102的方式,都在本申请实施例覆盖的范围内。
[0090] 可选的,本申请实施例中的节点100复位可以是节点100重新启动;相应的,本申请实施例中节点100复位的信息,可以是节点100重新启动的信息。
[0091] 接口单元102根据接收到的节点100复位的通知,通过网络将节点100复位的信息发送给节点200和节点300。例如,接口单元102可以通过网络,发送包括节点100的标识以及节点100复位的信息的复位通知报文。节点200和节点300获取节点100发送的复位通知报文后,可以通过集群管理软件进行相应的管理操作。以节点200为例,当节点200接收到节点100发送的复位通知报文后,节点200中的管理模块(例如集群管理软件)启动相应的处理,包括但不限于启动对节点100隔离的流程,以避免继续访问节点100带来的故障。
[0092] 通过上述方法,当节点100复位时,节点100中负责发送复位通知报文的接口单元102获取节点100复位的信息,并将节点100复位的信息发送给分布式系统中的其它节点,能够使节点200和节点300迅速获知节点100复位的信息,相对于通过心跳检测并通知的方式,提高了其它节点获取节点100复位的信息的效率,实时性高。
[0093] 并且,由于本申请中是节点100中的接口单元102直接获取复位的信息,能够避免心跳检测方式通过预设的阈值和门限值进行判断时,因相关的阈值或门限值设置不合理所造成的误判,进而能够避免节点被错误地隔离。
[0094] 当节点100掉电时,节点100中的电源模块103通过引脚的跳变触发掉电指示信号,所述掉电指示信号可以触发接口单元102的引脚的跳变,例如从高电平跳变到低电平,或从低电平跳变到高电平。接口单元102可以根据引脚的跳变,获知节点100掉电的信息。
[0095] 接口单元102可以根据节点100掉电的信息生成包含节点100掉电的掉电通知报文,并将所述掉电通知报文发送给分布式系统中的其它节点,如节点200和节点300。
[0096] 由于电源模块103是将市电的电压转化为节点100中其他组件能够使用的电压,当市电掉电,电源模块103在感知到掉电时就会触发引脚的跳变。而市电掉电后电源模块103还会继续将市电掉电前接收到的市电转化为节点100能够使用的电压,在这期间,通过引脚的跳变能够迅速地将节点100掉电的信息传递给接口单元102,接口单元102生成节点100掉电的掉电通知报文,并将所述掉电通知报文发送给节点200和节点300。
[0097] 这样,当节点100掉电时,节点100能够通过电源模块通知接口单元102,并由接口单元102将节点100掉电的信息发送给分布式系统中的其它节点,能够使节点200和节点300快速获知节点100掉电的信息。本申请的掉电通知方式相对于通过心跳检测并通知的方式,提高了通知的效率,实时性高;并且,能够避免心跳检测方式通过预设的阈值和门限值进行判断时,因相关的阈值或门限值设置不合理所造成的误判,进而能够避免节点被错误地隔离。
[0098] 下面通过具体的例子对图2所示分布式系统传输节点复位或掉电信息的方式进行详细说明。在具体实现时,图2所示的分布式系统的每个节点中的控制单元还可以包括复位检测模块,接口单元还可以包括微码模块。其中,所述微码模块可以是FW。如图3所示,控制单元101包括复位检测模块1011,接口单元102包括微码模块1021;控制单元201包括复位检测模块2011,接口单元202包括微码模块2021;控制单元301包括复位检测模块3011,接口单元302包括微码模块3021。
[0099] 可以理解,上述控制单元包括复位检测模块,具体是控制单元运行的操作系统中包括复位检测模块。本申请实施例和附图为简洁之便,将控制单元运行的操作系统中包括复位检测模块,描述为控制单元包括复位检测模块;将控制单元通过执行复位检测模块对应的代码所实现的功能,描述为复位检测模块所实现的功能。
[0100] 以节点100为例,复位检测模块1011用于检测节点100是否复位,在节点100复位前,向接口单元102发送通知消息。复位检测模块1012可以通过向接口单元102中的微码模块1021发送通知消息,以将节点100复位的信息传递给接口单元102。微码模块1021接收到复位检测模块1012发送的通知消息后,通过网络将节点100复位的信息发送给节点200和节点300。
[0101] 下面以节点100上运行Linux操作系统以及节点100中的软件需要复位为例,对复位检测模块1011获取复位的信息以及通知微码模块1021的方式进行说明。
[0102] 复位检测模块1011可以注册到linux操作系统提供的通知链上。所述通知链,是Linux操作系统提供的一种通知机制。在Linux操作系统中,包含多个内核子系统。大多数内核子系统都是相互独立的,不同子系统之间可以通过通知链获取其它子系统中的事件。通知链只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。通知链是一个函数链表,链表上的每一个链表节点都注册了一个函数。当某一事件发生时,链表上所有链表节点对应的函数就会被执行。因此,对于一个通知链来说,会有通知方和接收方。接收方可以在通知链上注册一个函数,在发生某个事件时这些函数会被执行。接收方可以定义事件发生时相应的处理函数,即回调函数。所述回调函数需要提前注册到通知链中,当事件发生时,通知方发出通知后,接收方可以通过回调函数获取相应的事件。
[0103] 当节点100中运行的某一个软件复位前,会发送通知消息到通知链上,所述通知链可以是关于复位的通知链。注册在通知链上的复位检测模块1011,可以通过调用回调函数获取节点100即将复位的信息。复位检测模块1011可以通过控制单元101与接口单元102之间的通信通道,例如可以是PCIE3.0通信通道,将节点100复位的信息传输给接口单元102中的微码模块1021。可选的,复位检测模块1011向微码模块1021发送的通知消息中包括节点100的标识和节点100即将复位的信息。复位检测模块1011将节点100复位的信息传递给接口单元102中的微码模块1021后,就可以通知节点100的操作系统的复位模块启动复位。
[0104] 可选的,复位检测模块1011可以根据与微码模块1021之间的私有协议发送节点100复位的通知消息。例如,复位检测模块1011通过与微码模块1021之间预先定义的私有接口命令,携带节点100即将复位的信息和节点100的标识,并将该私有接口命令发送给微码模块1021。微码模块1021通过私有协议接收到复位检测模块1011发送的消息后,根据节点
100的标识和节点100即将复位的信息生成复位通知报文,通过网络向节点200和节点300发送生成的复位通知报文。
[0105] 微码模块1021通过网络向节点200和节点300发送生成的复位通知报文可以有多种实现方式,既可以是发送定向的复位通知报文,也可以是广播的复位通知报文;既可以是通过私有网络发送的复位通知报文,也可以是通过公网发送的复位通知报文,本申请不限定具体的实现方式。例如,当节点100、节点200和节点300组成的分布式系统有自己的私有网络时,微码模块1021可以通过私有网络发送复位通知报文,该复位通知报文可以是定向报文或广播报文。如果节点100、节点200和节点300组成的分布式系统没有自己的私有网络,微码模块1021可以通过公网向节点200和节点300发送复位通知报文,该复位通知报文可以是定向报文,在这种情况下,微码模块1021发送的复位通知报文可以携带节点100的IP地址,以及节点200和节点300的IP地址等。可以理解,通过私有网络传输通知报文,相对于通过公网传输通知报文,传输效率和实时性更高。
[0106] 其它节点(节点200和节点300)通过监听报文的方式或直接接收的方式,接收节点100发送的复位通知报文,并根据接收到的复位通知报文获取节点100即将复位的信息,并通过集群管理软件进行业务切换或隔离等管理操作。
[0107] 在本申请实施例的另外一个实现方式中,节点100也可能因电源故障而出现异常。在这种情况下,也需要快速地将节点100电源异常的信息通知到节点200和节点300。具体地,如图3所示,当节点100中的电源出现异常时,电源模块103触发掉电指示信号,以通知接口单元102。电源模块103触发的方式,可以通过一个引脚(例如pin脚)指示掉电,以产生掉电指示信号。在具体实现时,所述掉电指示信号可以是PS_OK信号,或者其它用于指示市电掉电的信号。
[0108] 电源模块103可以通过触发接口单元102的引脚跳变,以将节点100掉电的信息传递给接口单元102。例如电源模块103通过触发引脚的跳变,产生将PS_OK信号,并通过PS_OK信号触发接口单元102引脚的跳变。例如,触发接口单元102的引脚从高电平跳变到低电平时。可选的,电源模块103也可以触发微码模块1021定义的引脚,以实现掉电信息的传递。
[0109] 接口单元102中的微码模块1021可以检测该引脚的信号跳变,当检测到该引脚发生了跳变,则微码模块1021获取节点100掉电的信息。例如,当该引脚从高电平跳变到低电平时,微码单元1021获取到节点100掉电的信息。
[0110] 需要说明的是,上述PS_OK信号触发引脚的跳变,要早于电源模块103掉电,至少提前200微秒,具体可以通过电源模块103的电容储能即可实现,不再详述。
[0111] 接口单元102中的微码模块1021在确认节点100掉电后,根据节点100的标识、掉电状态和掉电时间等信息生成掉电通知报文,通过网络向节点200和节点300发送生成的掉电通知报文。
[0112] 具体实现的,当微码模块1021获取到节点100掉电信息时,节点100即将掉电。如果微码模块1021不能快速地生成掉电通知报文,将可能因节点100掉电导致发送掉电通知报文的失败。为提升微码模块1021在节点100掉电时发送掉电通知报文的速度,可以在节点100上电初始化时就将掉电通知报文需要的信息配置在微码模块1021中。这样,微码模块
1021在获取到节点100掉电的信息时,能够根据已经配置的信息,快速地生成掉电通知报文并发送。例如,在节点100上电初始化时,将节点100的标识配置在微码模块1021中。可选的,当需要定向发送掉电通知报文时,也可以将需要发送到的节点的IP地址信息配置在微码模块1021中。这样微码模块1021在获取到节点100掉电的信息时,根据预先配置的信息,加上时间戳能够快速地生成节点100掉电的掉电通知报文并发送。
[0113] 其它节点(节点200和节点300)通过监听的方式接收通知报文或直接接收节点100发送的掉电通知报文,并根据接收到的掉电通知报文获取节点100掉电的信息,通过集群管理软件进行业务切换或隔离等管理操作。
[0114] 可以理解,本申请实施例中的复位通知报文或掉电通知报文可以是普通的报文,只是携带了必要的信息,例如复位的信息或掉电的信息。当然,本申请实施例中的复位通知报文或掉电通知报文,与普通的心跳报文不同。普通的心跳报文没有携带复位或掉电等必要信息,只是用于通信超时和畅通性检测。
[0115] 上述是以节点100出现复位或掉电情况下,快速通知其它节点的实现方式。对于分布式系统中的其它节点,例如节点200和节点300,出现复位或掉电时,其实现方式与节点100的实现方式类似,不再赘述。
[0116] 在本申请实施例提供的分布式系统的另一种实现方式中,分布式系统中的节点还包括报文监听模块。报文监听模块用于监听其它节点发送的复位或掉电信息。如图4所示,节点100的控制单元101中还包括报文监听模块1012,节点200的控制单元201中还包括报文监听模块2012,节点100的控制单元301中还包括报文监听模块3012。以节点100为例,节点100中的报文监听模块1012,用于监听节点200或节点300发送的复位或掉电相关的通知报文,使得节点100可以通过集群管理软件进行业务切换或隔离等管理操作。
[0117] 可以理解,上述控制单元包括报文监听模块,具体是控制单元运行的操作系统中包括报文监听模块。本申请实施例和附图为简洁之便,将控制单元运行的操作系统中包括报文监听模块,描述为控制单元包括报文监听模块;将控制单元通过执行报文监听模块对应的代码所实现的功能,描述为报文监听模块所实现的功能。
[0118] 图5为本申请实施例提供的另一种分布式系统实现方式结构示意图。如图5所示,图5与图2的不同在于,每个节点中包括BMC。例如,节点100还包括BMC104,节点200还包括BMC204,节点300还包括BMC304。
[0119] 以节点100为例,BMC104分别与控制单元101、接口单元102和电源模块103连接。当节点100复位时,BMC104从控制单元101获取节点100复位的信息,通过接口单元102发送通知消息,以将节点100复位的信息传递给接口单元102。接口单元102获取节点100复位的消息后,节点100即可启动复位。其中,控制单元101获取节点100复位的信息的方式,与上述图2和图3中控制单元101获取节点100复位的信息的方式相同,不再赘述。
[0120] 接口单元102根据从BMC104获取到的节点100复位的信息,生成复位通知报文,发送给节点200和节点300。接口单元102将节点100复位的信息发送给节点200和节点300的方式,与上述图2和图3中接口单元102的发送方式类似,不再赘述。
[0121] 当节点100中的电源模块103出现异常时,电源模块103触发掉电指示信号,以通知BMC104。电源模块103触发的方式,可以通过一个引脚指示掉电,以产生掉电指示信号。在具体实现时,所述掉电指示信号可以是PS_OK信号,或者其它用于指示市电掉电的信号。电源模块103可以通过所述掉电指示信号触发BMC104的引脚跳变,以将节点100掉电的信息传递给BMC104。BMC104根据获取到的节点100掉电的信息,传递给接口单元102,例如可以向接口单元102发送包含节点100掉电信息的消息。接口单元102根据节点100掉电的信息生成掉电通知报文并发送。接口单元102向节点200和节点300发送掉电通知报文以通知节点100掉电的方式,与图2或图3中接口单元102通过掉电通知报文通知节点200和节点300的方式相同,不再赘述。
[0122] 上述BMC104将节点100复位的信息通过接口单元102通知给节点200和节点300,相对于控制单元101直接通过接口单元102将节点100复位的信息通知给节点200和节点300会稍慢一些,或BMC104将节点100掉电的信息通过接口单元102通知给节点200和节点300相对于电源模块103直接通知接口单元102会稍慢一些,但仍然能够快速地将节点100复位或掉电的信息通知给节点200和节点300,相对于通过心跳检测并通知的方式,能够提高通知的效率和速度。并且,由于不需要设置预设的阈值进行心跳检测,避免了因设置阈值不当带来的误判的发生。
[0123] 参考图6,图6为本申请实施例提供的另一种分布式系统实现方式的结构示意图。其中,每个节点包括控制单元、电源模块和BMC,每个节点通过BMC向其它节点发送复位或掉电的通知报文。如图6所示,节点100包括控制单元101、电源模块103和BMC104,节点200包括控制单元201、电源模块203和BMC204,节点300包括控制单元301、电源模块303和BMC304。
[0124] 以节点100为例,控制单元101的实现方式与图2或图3中的控制单元的实现方式类似,不再赘述。BMC104从控制单元101获取节点100复位的信息,并根据节点100复位的信息生成复位通知报文发送给节点200和节点300。其中,BMC104从控制单元101获取节点100复位的信息的具体实现方式,与图2或图3中接口单元102从控制单元获取节点100复位的信息的方式类似。同样的,BMC104从电源模块103获取节点100掉电信息的方式,与图2或图3中接口单元102获取节点100掉电信息的方式类似。BMC104获取到节点100复位或掉电的信息后,通知节点200和节点300的方式,可以通过发送定向报文或广播的通知报文的方式,发送给节点200和节点300。例如节点100中的BMC104将包含节点100复位的信息的复位通知报文发送给节点200中的BMC204和节点300中的BMC304。
[0125] 在具体实现时,图6所示的分布式系统的每个节点中的控制单元还包括复位检测模块,BMC还包括通知模块。如图7所示,控制单元101包括复位检测模块1011,BMC104包括通知模块1041;控制单元201包括复位检测模块2011,BMC204包括通知模块2041;控制单元301包括复位检测模块3011,BMC304包括通知模块3041。图7所示的控制单元中的复位检测模块与图3所示的控制单元中复位检测模块类似,可以是控制单元运行的操作系统中的复位检测模块,不再赘述。
[0126] 下面以节点100上运行Linux操作系统以及节点100中的软件需要复位为例,对复位检测模块1011获取复位的信息以及向通知模块1041传递复位的信息的方式进行说明。复位检测模块1011可以注册到linux操作系统提供的通知链上。当节点100中运行的某一个软件要复位时,会发送通知到通知链上。注册在通知链上的复位检测模块1011,通过调用回调函数获知节点100即将复位,通过控制单元与BMC之间的通信通道,例如可以是PCIE3.0通信通道,以将节点100复位的信息传输给BMC104中的通知模块1041。
[0127] 可选的,复位检测模块1011可以根据与通知模块1041之间私有协议发送节点100复位的通知消息。例如,复位检测模块1011通过与通知模块1041之间预先定义的私有接口命令,携带节点100复位的信息和节点100的标识,并将该私有接口命令发送给通知模块1041。
[0128] 通知模块1041接收到复位检测模块1011发送的消息后,根据节点100的标识和节点100复位的信息生成复位通知报文,以定向或广播的方式通过网络向节点200和节点300发送生成的复位通知报文。
[0129] 通知模块1041通过网络向节点200和节点300发送生成的通知报文可以有多种实现方式,本申请不限定具体的实现方式。例如,当节点100、节点200和节点300组成的分布式系统有自己的私有网络时,通知模块1041可以通过私有网络发送复位通知报文。如果节点100、节点200和节点300组成的分布式系统没有自己的私有网络,通知模块1041可以通过公网向节点200和节点300发送复位通知报文,在这种情况下,通知模块1041发送的复位通知报文可以携带节点100的IP地址,以及节点200和节点300的IP地址。可以理解,通过私有网络传输复位通知报文,相对于通过公网传输复位通知报文,传输效率和实时性更高。
[0130] 其它节点(节点200和节点300)通过监听的方式接收复位通知报文或直接接收复位通知报文。具体的,可以是节点200中的BMC204接收节点100通过BMC104发送的复位通知报文,或者节点300中的BMC304接收节点100通过BMC104发送的复位通知报文。
[0131] 可选的,节点200的BMC204中可以包括接收模块(图中未示出),用于接收BMC104中的通知模块104发送的复位通知报文。可选的,BMC204中的接收模块与通知模块2041可以是同一个模块。节点300中的BMC304的实现方式与节点200中的BMC204的实现方式类似,不再赘述。
[0132] 其它节点(节点200和节点300)获取节点100复位的信息后,可以通过集群管理软件进行业务切换或隔离等管理操作。
[0133] 当节点100中的电源异常或掉电时,也可以通过BMC104发送掉电的掉电通知报文。电源模块103可以触发掉电指示信号,以将节点100掉电的信息传递给BMC104。例如,电源模块103可以通过一个引脚(pin脚)指示掉电,以产生掉电指示信号。在具体实现时,所述掉电指示信号可以是PS_OK信号,或者其它用于指示市电掉电的信号。通过所述掉电指示信号,触发BMC104的引脚产生跳变,BMC104根据引脚的跳变获取节点100掉电的信息。可选的,也可以通过触发通知模块1041定义的引脚,以实现节点100掉电的信息的传递。
[0134] 需要说明的是,上述PS_OK信号触发引脚的跳变,要早于电源模块103掉电,至少提前200微秒,具体可以通过电源模块103的电容储能即可实现,不再详述。
[0135] 具体实现的,当通知模块1041获取到节点100掉电信息时,节点100即将掉电。如果通知模块1041不能快速地生成掉电通知报文,将可能因节点100掉电导致发送掉电通知报文失败。为提升通知模块1041在节点100掉电时发送掉电通知报文的速度,可以在节点100上电初始化时就将掉电通知报文需要的信息配置在通知模块1041中。这样,通知模块1041在获取到节点100掉电的信息时,能够根据已经配置的信息,快速地生成掉电通知报文并发送。例如,在节点100上电初始化时,将节点100的标识配置在通知模块1041中。当需要定向发送掉电通知报文时,也可以将需要发送到的节点的IP地址信息配置在通知模块1041中。这样通知模块1041在获取到节点100掉电的信息时,根据预先配置的信息,加上时间戳能够快速地生成节点100掉电的掉电通知报文并发送。
[0136] 其它节点(节点200和节点300)通过监听掉电通知报文的方式或直接接收掉电通知报文,并根据接收到的掉电通知报文获取节点100掉电的信息,通过集群管理软件进行业务切换或隔离等管理操作。
[0137] 上述是以节点100出现复位或掉电情况下,快速通知其它节点的实现方式。对于分布式系统中的其它节点,例如节点200和节点300,出现复位或掉电时,其实现方式与节点100的实现方式类似,不再赘述。
[0138] 在本申请实施例提供的分布式系统的另一种实现方式中,分布式系统中的节点还包括报文监听模块。报文监听模块用于监听其它节点发送的复位或掉电信息。如图8所示,节点100的控制单元101中还包括报文监听模块1012,节点200的控制单元201中还包括报文监听模块2012,节点100的控制单元301中还包括报文监听模块3012。以节点100为例,节点100中的报文监听模块1012,用于监听节点200或节点300发送的复位或掉电的通知报文,并通过集群管理软件进行业务切换或隔离等管理操作。图8中报文监听模块与图4中的报文监听模块的实现方式类似,不再赘述。
[0139] 上述实施例是在节点100复位时,通过控制单元101和接口单元102将节点100复位的信息发送给分布式系统中的其它节点,或通过BMC将节点100复位的信息发送给分布式系统中的其它节点。在具体实现时,也可以由其它软件或硬件来实现节点复位的信息的发送,例如,可以由节点100的操作系统直接将节点100复位的信息通过一定的接口发送给分布式系统中的其它节点,也可以是其它芯片或逻辑单元将节点100复位的信息发送给分布式系统中的其它节点,还可以是接口单元102中的微码模块1021从其它芯片或逻辑单元获取节点100复位的信息,并将节点100复位的信息发送给分布式系统中的其它节点。只要是节点100在复位时,主动将自身复位的信息发送给分布式系统中的其它节点,相对于通过心跳能够提高通知的效率和实时性的方式,都在本申请实施例覆盖的范围内。
[0140] 同样的,当节点100掉电时,通过电源模块103和接口单元102将节点100掉电的信息发送给分布式系统中的其它节点,或通过BMC将节点100掉电的信息发送给分布式系统中的其它节点。在具体实现时,也可以由节点100中的其它硬件或软件来实现节点复位的信息的发送,例如,可以由节点100的其它芯片或逻辑单元将节点100掉电的信息发送给分布式系统中的其它节点。只要是节点100在掉电时,主动将自身掉电的信息发送给分布式系统中的其它节点,相对于通过心跳检测能够提高通知的效率和实时性的方式,都在本申请实施例覆盖的范围内。
[0141] 图9A为本申请实施例提供的一种计算机设备900的结构示意图。如图9A所示,计算机设备900包括处理器901和报文发送单元902。计算机设备900是分布式系统中的计算机设备,该分布式系统可以包括2个以上的计算机设备。
[0142] 所述处理器901,用于在所述计算机设备900复位时,获取所述计算机设备900复位的信息,并将所述计算机设备900复位的信息传输给所述报文发送单元902;
[0143] 所述报文发送单元902,用于根据所述计算机设备900复位的信息生成包含所述计算机设备900复位的信息的复位通知报文,并将所述复位通知报文发送给所述分布式系统中的其它计算机设备。
[0144] 上述计算机设备900通过报文发送单元902获取本设备复位的信息,并能够根据获取的本设备复位的信息,生成包含复位的信息的复位通知报文,发送给分布式系统中的其它设备,能够快速地将本设备复位的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否复位的方式,不仅能提升复位的信息传递的效率,也能够避免误判的发生。
[0145] 具体的,上述计算机设备900的具体实现方式,可以参照上述图2至图4中节点100的实现方式来实现。例如报文发送单元902与图2至图4中接口单元102的实现方式类似,处理器901与图2至图4中控制单元101的实现方式类似,不再赘述。
[0146] 可选的,如图9B所示,所述计算机设备900还包括电源模块903。所述电源模块903可以通过通用输入输出GPIO引脚与所述报文发送单元902连接;
[0147] 所述电源模块903,用于在所述计算机设备900掉电时,通过触发引脚的跳变将所述计算机设备900掉电的信息传递给所述报文发送单元902;
[0148] 所述报文发送单元902,还用于根据所述计算机设备900掉电的信息,生成包含所述计算机设备900掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。
[0149] 上述电源模块903与图2至图4中电源模块103的实现方式类似,不再赘述。
[0150] 上述计算机设备900通过报文发送单元902获取本设备掉电的信息,并能够根据获取的本设备掉电的信息,生成包含掉电信息的掉电通知报文,发送给分布式系统中的其它设备,能够快速地将本设备掉电的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否掉电的方式,不仅能提升掉电信息传递的效率,也能够避免误判的发生。
[0151] 图10为本申请实施例提供的计算机设备900的另一种实现方式的结构示意图。如图10所示,计算机设备900还包括BMC904。所述BMC904用于从所述计算机设备900中的操作系统获取所述计算机设备900复位的信息,并将所述计算机设备900复位的信息发送给所述报文发送单元902;或所述BMC904从所述电源模块获取所述计算机设备900掉电的信息,并将所述计算机设备900掉电的信息发送给所述报文发送单元902。
[0152] 通过BMC904获取计算机设备900复位或掉电的信息,并通过报文发送单元902将计算机设备900复位或掉电的信息发送给分布式系统中的其它计算机设备,相对于通过心跳获取其它节点复位或掉电的方式,能够提高分布式系统中计算机设备复位或掉电信息获取的效率,并能够避免误判的发生。
[0153] 具体的,图10中BMC904的实现方式,可以参考上述图5中BMC104的实现方式来实现,不再赘述。
[0154] 在本申请实施例的另一种实现方式中,计算机设备900中的报文发送单元902是由BMC904实现的。如图11所示,计算机设备900包括中央处理器901、BMC904和电源模块903,BMC904包括报文发送单元902。具体地,图11所示的计算机设备900的实现方式,可以参考上述图7或图8中节点100的实现方式来实现。例如,BMC904的实现方式,可以参考上述图7或图8中BMC104的实现方式来实现,BMC904中的报文发送单元902可以参考上述图7或图8中通知模块1041的实现方式来实现,不再赘述。
[0155] 图12为本申请实施例提供的一种设备信息发送的方法的流程示意图。如图12所示,所述方法包括:
[0156] 步骤S100:计算机设备中的处理器在所述计算机设备复位前获取所述计算机设备复位的信息,并将所述计算机设备复位的信息传输给所述计算机设备中的报文发送单元;
[0157] 步骤S200:所述报文发送单元接收所述计算机设备复位的信息;
[0158] 步骤S300:所述报文发送单元根据所述计算机设备复位的信息,生成包含所述计算机设备复位的信息的复位通知报文,并将所述复位通知报文发送给所述计算机设备所在的分布式系统中的其它计算机设备。
[0159] 上述方法通过获取计算机设备复位的信息,并根据获取的计算机设备复位的信息,生成包含复位的信息的复位通知报文,发送给分布式系统中的其它设备,能够快速地将本设备复位的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否复位的方式,不仅能提升复位的信息传递的效率,也能够避免误判的发生。
[0160] 上述方法可以是由分布式系统中的计算机设备来实现。具体实现时,可以参考上述图2至图8中节点100的实现方式来实现,不再赘述。
[0161] 可选的,上述方法中,所述方法还包括:所述处理器通过预设函数和所述计算机设备的操作系统中关于复位的通知链,获取所述计算机设备复位的信息。
[0162] 可选的,所述预设函数为回调函数,所述回调函数注册于所述通知链上;
[0163] 所述处理器通过预设函数和所述计算机设备的操作系统中关于复位的通知链,获取所述计算机设备复位的信息包括:
[0164] 所述处理器通过所述回调函数从所述通知链获取所述计算机设备复位的信息。
[0165] 可选的,所述处理器通过所述计算机设备中的BMC将所述计算机设备复位的信息传输给所述报文发送单元。
[0166] 可选的,所述报文发送单元是所述计算机设备中的BMC。
[0167] 可选的,所述方法还包括:
[0168] 当所述计算机设备掉电时,所述报文发送单元通过引脚的跳变获取所述计算机设备掉电的信息,生成包含所述计算机设备掉电信息的掉电通知报文,并将所述掉电通知报文发送给所述分布式系统中的所述其它计算机设备。
[0169] 上述方法通过获取本设备掉电的信息,并能够根据获取的本设备掉电的信息,生成包含掉电信息的掉电通知报文,发送给分布式系统中的其它设备,能够快速地将本设备掉电的信息通知分布式系统中的其它设备。相对于现有技术通过心跳探测其它设备是否掉电的方式,不仅能提升掉电信息传递的效率,也能够避免误判的发生。
[0170] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元、模块及步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0171] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的节点100仅仅是示意性的;例如,上述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的连接或直接连接或通信连接可以是通过一些接口、装置或单元的间的连接或通信连接,也可以是电的,机械的或其它的形式连接。
[0172] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0173] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0174] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0175] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈