一种服务器刷新CPLD后自主生效的方法及BMC与流程

文档序号:17488526发布日期:2019-04-23 20:12阅读:503来源:国知局
一种服务器刷新CPLD后自主生效的方法及BMC与流程

本发明涉及服务器升级领域,特别是涉及一种服务器刷新cpld后自主生效的方法及bmc。



背景技术:

目前,在服务器刷新固件版本的过程中,cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)的版本刷新至关重要。现有技术中,服务器在cpld的版本刷新完成之后,通常采用手动断电服务器的方式使新的cpld版本生效。但是,在服务器运行重要业务的过程中,用户一般不允许服务器断电。若此时由于一些特定因素用户急需对cpld的版本进行刷新并使其生效,则现有技术无法同时满足用户的业务处理需求和cpld版本生效需求。

因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种服务器刷新cpld后自主生效的方法及bmc,主动断电cpld主板部分,使新的cpld版本自主生效,从而避免了服务器断电重启导致重要业务中断的情况发生,进而同时满足用户的业务处理需求和cpld版本生效需求。

为解决上述技术问题,本发明提供了一种服务器刷新cpld后自主生效的方法,应用于服务器的基板管理控制器bmc,包括:

预先将新的复杂可编程逻辑器件cpld版本保存至自身的一个路径下;

在接收到cpld升级启动指令后生成刷新指令;其中,所述刷新指令包括新的所述cpld版本所在的路径;

将所述刷新指令发送至所述刷新工具,以使所述刷新工具按照新的所述cpld版本对cpld进行刷新;

当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld,以使所述cpld在接收到所述断电重启指令后控制自身主板断电重启,以生效新的所述cpld版本。

优选地,所述当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld的过程包括:

实时监测所述cpld的刷新进度,以判定所述cpld是否刷新完成;

当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld。

优选地,所述当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld的过程包括:

在接收到所述刷新工具发送的刷新完成指令后确定所述cpld刷新完成;

当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld。

优选地,所述将断电重启指令自主发送至所述cpld的过程包括:

通过i2c协议将断电重启指令自主发送至所述cpld。

优选地,所述刷新工具具体为jtag_unittest刷新工具。

优选地,该方法还包括:

在接收到所述cpld发送的重启完成指令后,控制指示装置发出指示信息。

优选地,所述指示装置具体为指示灯或蜂鸣器。

为解决上述技术问题,本发明还提供了一种bmc,包括:

预保存单元,用于预先将新的cpld版本保存至自身的一个路径下;

指令生成单元,用于在接收到cpld升级启动指令后生成刷新指令;其中,所述刷新指令包括新的所述cpld版本所在的路径;

指令发送单元,用于将所述刷新指令发送至所述刷新工具,以使所述刷新工具按照新的所述cpld版本对cpld进行刷新;

生效控制单元,用于当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld,以使所述cpld在接收到所述断电重启指令后控制自身主板断电重启,以生效新的所述cpld版本。

优选地,所述生效控制单元具体用于实时监测所述cpld的刷新进度,以判定所述cpld是否刷新完成;当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld,以使所述cpld在接收到所述断电重启指令后控制自身主板断电重启,以生效新的所述cpld版本。

优选地,所述生效控制单元具体用于在接收到所述刷新工具发送的刷新完成指令后确定所述cpld刷新完成;当确定所述cpld刷新完成时将断电重启指令自主发送至所述cpld,以使所述cpld在接收到所述断电重启指令后控制自身主板断电重启,以生效新的所述cpld版本。

本发明提供了一种服务器刷新cpld后自主生效的方法,应用于服务器的bmc,包括:预先将新的cpld版本保存至自身的一个路径下;在接收到cpld升级启动指令后生成刷新指令;其中,刷新指令包括新的cpld版本所在的路径;将刷新指令发送至刷新工具,以使刷新工具按照新的cpld版本对cpld进行刷新;当确定cpld刷新完成时将断电重启指令自主发送至cpld,以使cpld在接收到断电重启指令后控制自身主板断电重启,以生效新的cpld版本。

可见,本申请主动断电cpld主板部分便可使新的cpld版本自主生效,从而避免了服务器断电重启导致重要业务中断的情况发生,进而同时满足用户的业务处理需求和cpld版本生效需求。

本发明还提供了一种bmc,与上述自主生效方法具有相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种服务器刷新cpld后自主生效的方法的流程图;

图2为本发明实施例提供的一种bmc的结构示意图。

具体实施方式

本发明的核心是提供一种服务器刷新cpld后自主生效的方法及bmc,主动断电cpld主板部分,使新的cpld版本自主生效,从而避免了服务器断电重启导致重要业务中断的情况发生,进而同时满足用户的业务处理需求和cpld版本生效需求。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明实施例提供的一种服务器刷新cpld后自主生效的方法的流程图。

该服务器刷新cpld后自主生效的方法,应用于服务器的bmc(baseboardmanagementcontroller,基板管理控制器),包括:

步骤s1:预先将新的cpld版本保存至自身的一个路径下。

具体地,本申请应提前编辑好新的cpld版本,以为后期刷新服务器主板上的cpld做好准备。由于本申请准备通过服务器主板上的bmc刷新需要升级版本的cpld,所以本申请提前从bmc的各路径中任意选择一个路径,并将编辑好的新的cpld版本保存至选择的路径下,以为后期通过bmc刷新cpld做好准备。

步骤s2:在接收到cpld升级启动指令后生成刷新指令;其中,刷新指令包括新的cpld版本所在的路径。

具体地,在服务器处理业务的过程中,若用户想要对cpld的版本进行升级,则可向bmc发送一个cpld升级启动指令。bmc在接收到cpld升级启动指令后,便确定此时要对cpld进行刷新,所以bmc基于提前保存的新的cpld版本,生成包括新的cpld版本所在的路径的刷新指令,从而为后期刷新工具在根据刷新指令找到新的cpld版本后对cpld进行刷新做好准备。

步骤s3:将刷新指令发送至刷新工具,以使刷新工具按照新的cpld版本对cpld进行刷新。

具体地,bmc在生成刷新指令后,便可立即将刷新指令发送至刷新工具。刷新工具在接收到刷新指令后,便可得知新的cpld版本所在的路径,从而找到新的cpld版本。然后,刷新工具可实现按照新的cpld版本对cpld进行刷新。

步骤s4:当确定cpld刷新完成时将断电重启指令自主发送至cpld,以使cpld在接收到断电重启指令后控制自身主板断电重启,以生效新的cpld版本。

具体地,bmc当确定cpld刷新完成时,为自主生效新的cpld版本,此时bmc会自主生成断电重启指令,并立即发送至cpld。cpld在接收到断电重启指令后,会立即控制自身主板部分以毫秒级时间断电重启,从而让新的cpld版本生效。可见,本申请主动断电cpld主板部分便可使新的cpld版本自主生效。

本发明提供了一种服务器刷新cpld后自主生效的方法,应用于服务器的bmc,包括:预先将新的cpld版本保存至自身的一个路径下;在接收到cpld升级启动指令后生成刷新指令;其中,刷新指令包括新的cpld版本所在的路径;将刷新指令发送至刷新工具,以使刷新工具按照新的cpld版本对cpld进行刷新;当确定cpld刷新完成时将断电重启指令自主发送至cpld,以使cpld在接收到断电重启指令后控制自身主板断电重启,以生效新的cpld版本。

可见,本申请主动断电cpld主板部分便可使新的cpld版本自主生效,从而避免了服务器断电重启导致重要业务中断的情况发生,进而同时满足用户的业务处理需求和cpld版本生效需求。

在上述实施例的基础上:

作为一种可选地实施例,当确定cpld刷新完成时将断电重启指令自主发送至cpld的过程包括:

实时监测cpld的刷新进度,以判定cpld是否刷新完成;

当确定cpld刷新完成时将断电重启指令自主发送至cpld。

具体地,bmc在cpld刷新的过程中,可以实时主动监测cpld的刷新进度,从而根据cpld的刷新进度判定cpld是否刷新完成。当判定cpld刷新未完成时,bmc会继续监测cpld的刷新进度;当判定cpld刷新完成时,bmc会停止监测cpld的刷新进度,同时将断电重启指令自主发送至cpld,以使cpld断电重启。

作为一种可选地实施例,当确定cpld刷新完成时将断电重启指令自主发送至cpld的过程包括:

在接收到刷新工具发送的刷新完成指令后确定cpld刷新完成;

当确定cpld刷新完成时将断电重启指令自主发送至cpld。

具体地,除了上述实施例提供的bmc主动监测cpld的刷新进度以确定cpld刷新完成之外,bmc还可以与刷新工具交互,目的是被动接收刷新工具在完成cpld的刷新后生成的刷新完成指令。bmc在接收到刷新完成指令后便可确定cpld刷新完成,同时将断电重启指令自主发送至cpld,以使cpld断电重启。

作为一种可选地实施例,将断电重启指令自主发送至cpld的过程包括:

通过i2c协议将断电重启指令自主发送至cpld。

进一步地,本申请的bmc和cpld之间可以通过i2c协议进行通讯,即二者之间连接i2c总线,i2c总线是一种简单、双向二线制同步串行总线,其只需要两根线即可在连接于总线上的器件之间传送信息。

当然,本申请的bmc和cpld之间也可以通过其他协议进行通讯,本申请在此不做特别的限定。

作为一种可选地实施例,刷新工具具体为jtag_unittest刷新工具。

具体地,本申请的刷新工具可以选用jtag_unittest刷新工具,jtag_unittest刷新工具的性价比较高。

当然,本申请的刷新工具也可以选用其他类型的刷新工具,本申请在此不做特别的限定。

作为一种可选地实施例,该方法还包括:

在接收到cpld发送的重启完成指令后,控制指示装置发出指示信息。

进一步地,cpld还可以在重启完成后,生成重启完成指令,并将重启完成指令发送至bmc。bmc在接收到cpld发送的重启完成指令后,确定新的cpld版本生效,同时控制指示装置(位于服务器外部)发出指示信息,以提醒用户新的cpld版本已生效。

作为一种可选地实施例,指示装置具体为指示灯或蜂鸣器。

具体地,本申请的指示装置可以选用但不仅限于指示灯(通过控制指示灯的亮灭状态或发光颜色,起到提醒用户新的cpld版本已生效的作用)或蜂鸣器(通过控制蜂鸣器的声音状态,起到提醒用户新的cpld版本已生效的作用),本申请在此不做特别的限定。

请参照图2,图2为本发明实施例提供的一种bmc的结构示意图。

该bmc包括:

预保存单元1,用于预先将新的cpld版本保存至自身的一个路径下;

指令生成单元2,用于在接收到cpld升级启动指令后生成刷新指令;其中,刷新指令包括新的cpld版本所在的路径;

指令发送单元3,用于将刷新指令发送至刷新工具,以使刷新工具按照新的cpld版本对cpld进行刷新;

生效控制单元4,用于当确定cpld刷新完成时将断电重启指令自主发送至cpld,以使cpld在接收到断电重启指令后控制自身主板断电重启,以生效新的cpld版本。

作为一种可选地实施例,生效控制单元4具体用于实时监测cpld的刷新进度,以判定cpld是否刷新完成;当确定cpld刷新完成时将断电重启指令自主发送至cpld,以使cpld在接收到断电重启指令后控制自身主板断电重启,以生效新的cpld版本。

作为一种可选地实施例,生效控制单元4具体用于在接收到刷新工具发送的刷新完成指令后确定cpld刷新完成;当确定cpld刷新完成时将断电重启指令自主发送至cpld,以使cpld在接收到断电重启指令后控制自身主板断电重启,以生效新的cpld版本。

本申请提供的bmc的介绍请参考上述自主生效方法的实施例,本申请在此不再赘述。

还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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