CN116893833A - 远程升级复杂可编程逻辑器件操作系统、方法及介质 - Google Patents
远程升级复杂可编程逻辑器件操作系统、方法及介质 Download PDFInfo
- Publication number
- CN116893833A CN116893833A CN202310866036.7A CN202310866036A CN116893833A CN 116893833 A CN116893833 A CN 116893833A CN 202310866036 A CN202310866036 A CN 202310866036A CN 116893833 A CN116893833 A CN 116893833A
- Authority
- CN
- China
- Prior art keywords
- programmable logic
- complex programmable
- logic device
- baseboard management
- management controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 100
- 230000004044 response Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种远程升级复杂可编程逻辑器件操作系统、方法及介质,该系统包括:客户端,用于当接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障;当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取目标基板管理控制器;向目标基板管理控制器发送升级操作指令;目标基板管理控制器,用于根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接;并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。该方案可以保证复杂可编程逻辑器件的顺利升级,保证系统正常工作,提高系统的稳定性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及远程升级复杂可编程逻辑器件操作系统、方法及介质。
背景技术
随着人工智能和大数据时代的发展,服务器的应用规模越来越大,所使用的功能也越来越齐全,越多样化。在日常工作测试中有时需要对复杂可编程逻辑器件(ComplexProgrammable Logic Device,简称CPLD)进行升级以达到用户的要求。升级CPLD一般有两种方式:第一种是使用JTAG烧录工具连接线缆进行手动烧录,这种方法烧录成功率高,不受其他模块的影响,但烧录方式受限需要手动完成烧录;第二种是通过基板管理控制器(Baseboard Management Controller,简称BMC)远程升级,这种方式无需烧录工具,只使用网线连接就可以升级,但是受BMC模块影响,一旦BMC模块无法工作便无法升级。
发明内容
有鉴于此,本发明提供了一种远程升级复杂可编程逻辑器件操作系统、方法及介质,以解决现有技术中通过BMC远程升级CPLD时,如果BMC故障则无法完成升级工作的问题。
第一方面,本发明提供了一种远程升级复杂可编程逻辑器件操作系统,该系统包括客户端、多个基板管理控制器、多个复杂可编程逻辑器件,以及开关控制单元,其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器;
客户端,用于当接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障;当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取一个目标基板管理控制器;向目标基板管理控制器发送升级操作指令,升级操作指令用于对复杂可编程逻辑器件进行升级;
目标基板管理控制器,用于根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接;并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。
本发明提供的一种远程升级复杂可编程逻辑器件操作系统,具有如下优点:
客户端在接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障。如果主基板管理控制器已经发生故障,则从多个从基板管理控制器中选取一个目标基板管理控制器,替代主基板管理控制器执行后续操作。客户端可以向目标基板管理控制器发送升级操作指令。而目标基板管理控制器,则根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。上述方式中,通过配置多个基板管理控制器、多个复杂可编程逻辑器件,可以保证在任一个基本管理控制器和/或复杂可编程逻辑器件出现故障时,可以配置备用的基板管理控制器,或者配置备用的复杂可编程逻辑器件替代已发生故障的设备执行后续的工作。而开关控制单元,则用于灵活的建立目标基板管理控制器与多个复杂可编程逻辑器件中的其中一个复杂可编程逻辑器件之间的通信连接。该方案可以保证复杂可编程逻辑器件的顺利升级,进而保证系统可以正常工作,提高系统的稳定性,解压时间和人力,提高工作效率。
在一种可选的实施方式中,多个复杂可编程逻辑器件包括主复杂可编程逻辑器件和至少一个从复杂可编程逻辑器件,目标基板管理控制器,具体用于:
根据升级操作指令,通过开关控制单元向主复杂可编程逻辑器件发送建立通信连接请求;
当确定与主复杂可编程逻辑器件之间的第一通信连接建立成功时,确定主复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对主复杂可编程逻辑器件的系统升级操作。
具体的,首先根据升级操作指令,通过开关控制单元向主复杂可编程逻辑器件发送建立通信连接请求。如果确定与主复杂可编程逻辑器件之间的第一通信连接建立成功,则可以确定主复杂可编程逻辑器件即为目标复杂可编程逻辑器件,直接对主复杂可编程逻辑器件进行升级即可。
在一种可选的实施方式中,目标基板管理控制器还用于,当确定第一通信连接建立失败时,向至少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。
具体的,当确定第一通信连接建立失败时,为避免系统无法正常工作,目标基板管理控制器还需要向少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送建立通信连接请求,直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。通过该方式,可以保证即使在主复杂可编程逻辑器件发生故障的情况下,依然可以对其他复杂可编程逻辑器件进行升级,以保证系统的正常工作,避免系统的稳定性受到影响。
在一种可选的实施方式中,多个基板管理控制器分别配置有不同的优先级,其中主基板管理控制器的优先级最高;
以及,多个复杂可编程逻辑器件分别配置有不同的优先级,其中主复杂可编程逻辑器件的优先级最高。
具体的,通过对不同基板管理控制器配置不同优先级,以及对不同复杂可编程逻辑器件配置不同优先级,可以方便客户端在及时从多个不同基板管理控制器中选取性能更优的基板管理控制器执行对复杂可编程逻辑器件的升级操作。类似道理,目标基板管理控制器可以从多个从复杂可编程逻辑器件中选取性能最优的进行升级,以提高系统稳定性和系统工作效率。
在一种可选的实施方式中,目标基板管理控制器,具体用于:
当确定第一通信连接建立失败时,按照优先级的高低依次向至少一个从复杂可编程逻辑器件发送建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。
具体的,参见前文,目标基板管理控制器可以从多个从复杂可编程逻辑器件中选取性能最优的进行升级,以提高系统稳定性和系统工作效率。
在一种可选的实施方式中,客户端具体用于,当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取优先级最高的基板管理控制器作为目标基板管理控制器。
具体的,参见前文,可以方便客户端在及时从多个不同基板管理控制器中选取性能更优的基板管理控制器执行对复杂可编程逻辑器件的升级操作。以提高系统稳定性和系统工作效率。
在一种可选的实施方式中,目标基板管理控制器具体用于,对目标复杂可编程逻辑器件的系统升级操作分为多个阶段执行;
并在每个阶段执行完成后,对当前升级后的目标复杂可编程逻辑器件进行备份操作。
具体的,考虑到在对复杂可编程逻辑器件进行升级过程中,可能需要较长时间。为避免在升级过程中出现某些故障导致升级失败,因此可以将升级过程分为多个阶段执行。并且,在每个阶段执行完毕后,对当前升级后的目标复杂可编程逻辑器件进行备份操作。进而保证,如果在某个升级阶段发生故障时,可以重新回到当前升级阶段,并利用已备份的前一升级阶段完成后的复杂可编程逻辑器件为基础继续进行升级。
第二方面,本发明提供了一种远程升级复杂可编程逻辑器件操作方法,该方法应用于第一方面任一实施方式所介绍的远程升级复杂可编程逻辑器件操作系统,系统包括客户端、多个基板管理控制器、多个复杂可编程逻辑器件,以及开关控制单元,该方法包括:
当客户端接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障;其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器;当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取一个目标基板管理控制器;向目标基板管理控制器发送升级操作指令,升级操作指令用于对复杂可编程逻辑器件进行升级;
目标基板管理控制器根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接;并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。
本发明提供的一种远程升级复杂可编程逻辑器件操作方法,具有如下优点:
客户端在接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障。如果主基板管理控制器已经发生故障,则从多个从基板管理控制器中选取一个目标基板管理控制器,替代主基板管理控制器执行后续操作。客户端可以向目标基板管理控制器发送升级操作指令。而目标基板管理控制器,则根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。上述方式中,通过配置多个基板管理控制器、多个复杂可编程逻辑器件,可以保证在任一个基本管理控制器和/或复杂可编程逻辑器件出现故障时,可以配置备用的基板管理控制器,或者配置备用的复杂可编程逻辑器件替代已发生故障的设备执行后续的工作。而开关控制单元,则用于灵活的建立目标基板管理控制器与多个复杂可编程逻辑器件中的其中一个复杂可编程逻辑器件之间的通信连接。该方案可以保证复杂可编程逻辑器件的顺利升级,进而保证系统可以正常工作,提高系统的稳定性,解压时间和人力,提高工作效率。
在一种可选的实施方式中,多个复杂可编程逻辑器件包括主复杂可编程逻辑器件和至少一个从复杂可编程逻辑器件,目标基板管理控制器根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,具体包括:
目标基板管理控制器根据升级操作指令,通过开关控制单元向主复杂可编程逻辑器件发送建立通信连接请求;
当在预设时间段内接收到主复杂可编程逻辑器件反馈的响应信息时,确定与主复杂可编程逻辑器件之间的第一通信连接建立成功;
否则,当在预设时间段内未接收到主复杂可编程逻辑器件反馈的响应信息时,向至少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功后结束;或者,确定与每一个从复杂可编程逻辑器件之间的第二通信连接建立失败后结束。
第三方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第二方面或其对应的任一实施方式的远程升级复杂可编程逻辑器件操作方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中实现对CPLD进行升级的结构示意性框图;
图2是根据本发明实施例提供的一种远程升级复杂可编程逻辑器件操作系统的结构示意图;
图3是根据本发明实施例提供的一种远程升级复杂可编程逻辑器件操作方法的流程示意图;
图4是根据本发明实施例提供的另一种远程升级复杂可编程逻辑器件操作方法的流程示意图;
图5是本发明实施例的客户端的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着人工智能和大数据时代的发展,服务器的应用规模越来越大,所使用的功能也越来越齐全、越多样化。在日常工作测试中有时需要对CPLD进行升级压力测试或者由于某种原因需要对CPLD升级以达到用户的要求。相关技术中,升级CPLD一般有两种方式:第一种是使用JTAG烧录工具连接线缆进行手动烧录,这种方法烧录成功率高,不受其他模块的影响,但烧录方式受限需要手动完成烧录;第二种是通过BMC远程升级,在BMC WEB上通过网络就可以升级CPLD,这种方式无需烧录工具,只使用网线连接就可以升级,但是受BMC模块影响,一旦BMC模块无法工作便无法升级。
具体参见图1所示,图1中示意出相关技术中实现对CPLD进行升级的结构示意性框图。使用JTAG烧录工具连接线缆进行手动烧录。或者,是通过客户端连接BMC,然后通过BMC远程升级CPLD。
为解决上述问题,本发明实施例,提供了一种远程升级复杂可编程逻辑器件的实施例,需要说明的是,在附图的流程图示出的步骤可以在包括诸如一组计算机可执行指令的计算机系统(客户端)中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例提供一种远程升级复杂可编程逻辑器件操作系统,该系统包括:客户端、多个基板管理控制器、多个复杂可编程逻辑器件,以及开关控制单元。其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器。具体参见图2所示,在图2中显示的是配置有两个BMC和两个CPLD。其中。BMC1为主BMC,BMC2为从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发送升级操作指令,该升级操作指令用于指示对CPLD进行升级。如前述所介绍的,CPLD包括多个。目标BMC还需要通过开关控制单元,建立与多个CPLD中的目标CPLD之间的通信连接,并在建立通信连接成功的情况下,完成对目标CPLD的系统升级操作。
其中,目标CPLD可以是在当前时刻,多个CPLD中与目标BMC建立通信连接成功的任一个CPLD。
本发明实施例提供的一种远程升级复杂可编程逻辑器件操作系统,客户端在接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障。如果主基板管理控制器已经发生故障,则从多个从基板管理控制器中选取一个目标基板管理控制器,替代主基板管理控制器执行后续操作。客户端可以向目标基板管理控制器发送升级操作指令。而目标基板管理控制器,则根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。上述方式中,通过配置多个基板管理控制器、多个复杂可编程逻辑器件,可以保证在任一个基本管理控制器和/或复杂可编程逻辑器件出现故障时,可以配置备用的基板管理控制器,或者配置备用的复杂可编程逻辑器件替代已发生故障的设备执行后续的工作。而开关控制单元,则用于灵活的建立目标基板管理控制器与多个复杂可编程逻辑器件中的其中一个复杂可编程逻辑器件之间的通信连接。该方案可以保证复杂可编程逻辑器件的顺利升级,进而保证系统可以正常工作,提高系统的稳定性,解压时间和人力,提高工作效率。
在一种可选的实施方式中,在前述实施例的基础上,当多个复杂可编程逻辑器件包括主复杂可编程逻辑器件和至少一个从复杂可编程逻辑器件时,目标基板管理控制器,具体用于:
根据升级操作指令,通过开关控制单元向主复杂可编程逻辑器件发送建立通信连接请求;
当确定与主复杂可编程逻辑器件之间的第一通信连接建立成功时,确定主复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对主复杂可编程逻辑器件的系统升级操作。
具体的,如果多个CPLD包括一个主CPLD和多个从CPLD。与配置主BMC和从BMC类似道理,这里的多个CPLD也是市面上可以购买到的普通CPLD,这里分主从,也仅仅是用于说明在首次与BMC建立通信连接时,可以限定多个CPLD中的某一个为首要建立通信连接的CPLD,也即是主CPLD。且主CPLD可以是多个CPLD中性能最佳的CPLD。具体可以参见图2所示,其中,CPLD1为主CPLD,CPLD2为从CPLD。
因此,目标BMC需要根据升级操作指令,首先通过开关控制单元向主CPLD发送建立通信连接的请求。
如果确定目标BMC与主CPLD之间的第一通信链接建立成功时,则确定主CPLD即为目标CPLD,并完成对主CPLD的系统升级操作。
通过该方式,对主CPLD进行系统升级,可以保证后续系统工作状态最佳。
进一步的,在一种可选的实施方式中,目标基板管理控制器还用于,当确定第一通信连接建立失败时,向至少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。
具体的,当主BMC与主CPLD之间的第一通信连接建立失败时,为了避免对系统业务的影响,因此还需要依次递进式向至少一个从CPLD发送建立通信连接的请求。
也即是,首先向多个从CPLD中的其中一个发送建立通信连接的请求,如果建立成功,则停止向其他从CPLD发送该请求。并确定建立通信连接成功的从CPLD为目标CPLD,目标BMC将对该目标CPLD执行系统升级操作。当然,如果通信连接未建立成功,则再次向下一个从CPLD发送该请求,直至确定目标BMC与至少一个从复杂可编程逻辑器件中某一个从CPLD之间的第二通信连接建立成功时,确定该从CPLD为目标CPLD,并完成对目标CPLD的系统升级操作。
又或者,如果目标BMC与所有的从CPLD之间的通信连接均没有成功,则可以等待预设时间后,再次从主CPLD开始轮询,依次递进式向每一个CPLD发送建立通信连接的请求,并执行上述操作。如果轮询预设次数后,依然没有可以建立通信连接的CPLD,则说明目前系统中的所有CPLD均发生故障,则可以生成告警信息至客户端,以便工作人员可以及时采取有效措施。
其中,BMC与开关控制单元之间的通信连接,以及开关控制单元与CPLD之间的通信连接等均适用于I2C(Inter-Integrated Circuit)协议。
通过该方式,可以保证即使在主CPLD发生故障的情况下,依然可以对其他CPLD进行升级,以保证系统的正常工作,避免系统的稳定性受到影响。如果所有CPLD均发生故障,也可以及时告知工作人员,用以采取有效措施。以免对系统业务造成更加不可避免的损失。
在一个可选的实施方式中,多个基板管理控制器分别配置有不同的优先级,其中主基板管理控制器的优先级最高;以及,多个复杂可编程逻辑器件分别配置有不同的优先级,其中主复杂可编程逻辑器件的优先级最高。
具体的,通过对不同基板管理控制器配置不同优先级,以及对不同复杂可编程逻辑器件配置不同优先级,可以方便客户端在及时从多个不同基板管理控制器中选取性能更优的基板管理控制器执行对复杂可编程逻辑器件的升级操作。类似道理,目标基板管理控制器可以从多个从复杂可编程逻辑器件中选取性能最优的进行升级,以提高系统稳定性和系统工作效率。
在一个可选的实施方式中,目标基板管理控制器,具体用于:
当确定第一通信连接建立失败时,按照优先级的高低依次向至少一个从复杂可编程逻辑器件发送建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。
具体的,当目标BMC确定与主CPLD之间的第一通信连接建立失败时,除了可以随机的在多个从CPLD中选择一个的情况外,更有选的是对所有的从CPLD按照优先级进行排序,每次在可以选则的从CPLD中选择优先级最高的CPLD,然后尝试建立二者之间的通信连接。如果成功,则确定已经建立通信连接的从CPLD为目标CPLD。否则,再从未尝试建立通信连接的从CPLD中选取优先级最高的再次尝试建立通信连接,直至选取到目标CPLD,或者确定所有的CPLD均发生故障。
通过该方式,目标BMC可以从多个从CPLD中选取性能最优的进行升级,以提高系统稳定性和系统工作效率。
在一个可选的实施方式中,客户端具体用于,当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取优先级最高的基板管理控制器作为目标基板管理控制器。
与选择目标CPLD类似的,只不过本次执行的对象为客户端,被选择的对象为BMC。且,客户端判断BMC是否发生故障的过程与确定CPLD是否故障的过程不同。具体客户端判断BMC是否发生故障的过程参见前文,这里不再过多赘述。
通过该方式,可以方便客户端在及时从多个不同基板管理控制器中选取性能更优的基板管理控制器执行对复杂可编程逻辑器件的升级操作,以提高系统稳定性和系统工作效率。
在一个可选的实施方式中,目标基板管理控制器具体用于,对目标复杂可编程逻辑器件的系统升级操作分为多个阶段执行;
并在每个阶段执行完成后,对当前升级后的目标复杂可编程逻辑器件进行备份操作。
具体而言,考虑到对CPLD的升级操作需要划分很长时间而这个时间段内可能存在一些意外情况,例如断电、升级过程中出现某些故障等都有可能导致升级失败。一旦升级失败,还需要从头开始执行升级操作。为了尽可能的避免这些情况的发生,因此,在本实施例中,考虑到在配置针对目标CPLD的升级过程时,可以将CPLD的升级操作配置为多个阶段执行。每一个阶段的升级操作执行完毕后,则对当前升级后的目标CPLD进行备份操作。那么,即使在某一个升级阶段发生了异常,也可以以前一个升级阶段备份的CPLD为基础,继续执行下一个阶段的升级操作。
通过该方式,提供CPLD的系统升级操作的成功率,以及升级效率。
在一个可选的实施方式中,再对CPLD进行升级之前,该方法还包括:配置备用网络,用以防止当前针对CPLD进行升级时的网络中断导致升级失败的情况发生。类似的道理,也可以为远程升级复杂可编程逻辑器件操作系统配置不间断电源(UPS),防止CPLD升级过程中断电导致升级失败的情况发生。
在本实施例中提供了一种远程升级复杂可编程逻辑器件操作方法,可用于上述的远程升级复杂可编程逻辑器件操作系统,该系统包括客户端、多个基板管理控制器、多个复杂可编程逻辑器件,以及开关控制单元。图3是根据本发明实施例提供的远程升级复杂可编程逻辑器件操作方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,当客户端接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障。
其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器。
步骤S302,当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取一个目标基板管理控制器。
步骤S303,向目标基板管理控制器发送升级操作指令。
其中,升级操作指令用于对复杂可编程逻辑器件进行升级。
具体的,目标基板管理控制器根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接。
步骤S304,在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。
上述方法步骤均已在前述实施例中做了详细的描述,因此这里不再赘述。
本实施例提供的远程升级复杂可编程逻辑器件操作方法,客户端在接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障。如果主基板管理控制器已经发生故障,则从多个从基板管理控制器中选取一个目标基板管理控制器,替代主基板管理控制器执行后续操作。客户端可以向目标基板管理控制器发送升级操作指令。而目标基板管理控制器,则根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,并在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。上述方式中,通过配置多个基板管理控制器、多个复杂可编程逻辑器件,可以保证在任一个基本管理控制器和/或复杂可编程逻辑器件出现故障时,可以配置备用的基板管理控制器,或者配置备用的复杂可编程逻辑器件替代已发生故障的设备执行后续的工作。而开关控制单元,则用于灵活的建立目标基板管理控制器与多个复杂可编程逻辑器件中的其中一个复杂可编程逻辑器件之间的通信连接。该方案可以保证复杂可编程逻辑器件的顺利升级,进而保证系统可以正常工作,提高系统的稳定性,解压时间和人力,提高工作效率。
在本实施例中提供了一种远程升级复杂可编程逻辑器件操作方法,可用于上述的远程升级复杂可编程逻辑器件操作系统,图4是根据本发明实施例的远程升级复杂可编程逻辑器件操作系统的流程图,如图4所示,该流程包括如下步骤:
步骤S401,当客户端接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障。
其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器。
步骤S402,当确定主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取一个目标基板管理控制器。
步骤S403,向目标基板管理控制器发送升级操作指令。
其中,升级操作指令用于对复杂可编程逻辑器件进行升级。
具体的,目标基板管理控制器根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接。
在一个可选的实施方式中,多个复杂可编程逻辑器件包括主复杂可编程逻辑器件和至少一个从复杂可编程逻辑器件,目标基板管理控制器根据升级操作指令,通过开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,具体包括如下方法步骤:
步骤S4031,目标基板管理控制器根据升级操作指令,通过开关控制单元向主复杂可编程逻辑器件发送建立通信连接请求。
步骤S4032,当在预设时间段内接收到主复杂可编程逻辑器件反馈的响应信息时,确定与主复杂可编程逻辑器件之间的第一通信连接建立成功。
步骤S4033,当在预设时间段内未接收到主复杂可编程逻辑器件反馈的响应信息时,向至少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送建立通信连接请求。
步骤S4034,直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功后结束;或者,确定与每一个从复杂可编程逻辑器件之间的第二通信连接建立失败后结束。
步骤S404,在建立通信连接成功时,完成对目标复杂可编程逻辑器件的系统升级操作。
以上操作均已在前述实施例中做了详细的介绍和说明,因此这里不再过多赘述。
本发明实施例还提供一种客户端,请参阅图5,图5是本发明可选实施例提供的一种客户端的结构示意图,如图5所示,该客户端包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在客户端内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个客户端,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的客户端的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该客户端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该客户端还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该客户端的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种远程升级复杂可编程逻辑器件操作系统,其特征在于,所述系统包括客户端、多个基板管理控制器、多个复杂可编程逻辑器件,以及开关控制单元,其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器;
所述客户端,用于当接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测所述主基板管理控制器是否发生故障;当确定所述主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取一个目标基板管理控制器;向所述目标基板管理控制器发送升级操作指令,所述升级操作指令用于对复杂可编程逻辑器件进行升级;
所述目标基板管理控制器,用于根据所述升级操作指令,通过所述开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接;并在建立通信连接成功时,完成对所述目标复杂可编程逻辑器件的系统升级操作。
2.根据权利要求1所述的系统,其特征在于,多个复杂可编程逻辑器件包括主复杂可编程逻辑器件和至少一个从复杂可编程逻辑器件,所述目标基板管理控制器,具体用于:
根据所述升级操作指令,通过所述开关控制单元向所述主复杂可编程逻辑器件发送建立通信连接请求;
当确定与所述主复杂可编程逻辑器件之间的第一通信连接建立成功时,确定所述主复杂可编程逻辑器件为所述目标复杂可编程逻辑器件,并完成对所述主复杂可编程逻辑器件的系统升级操作。
3.根据权利要求2所述的系统,其特征在于,所述目标基板管理控制器还用于,当确定所述第一通信连接建立失败时,向至少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送所述建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为所述目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。
4.根据权利要求3所述的系统,其特征在于,多个基板管理控制器分别配置有不同的优先级,其中所述主基板管理控制器的优先级最高;
以及,多个复杂可编程逻辑器件分别配置有不同的优先级,其中所述主复杂可编程逻辑器件的优先级最高。
5.根据权利要求4所述的系统,其特征在于,所述目标基板管理控制器,具体用于:
当确定所述第一通信连接建立失败时,按照优先级的高低依次向至少一个所述从复杂可编程逻辑器件发送所述建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功时,确定该从复杂可编程逻辑器件为所述目标复杂可编程逻辑器件,并完成对该从复杂可编程逻辑器件的系统升级操作。
6.根据权利要求4所述的系统,其特征在于,所述客户端具体用于,当确定所述主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取优先级最高的基板管理控制器作为所述目标基板管理控制器。
7.根据权利要求1-6任一项所述的系统,其特征在于,目标基板管理控制器具体用于,对所述目标复杂可编程逻辑器件的系统升级操作分为多个阶段执行;
并在每个阶段执行完成后,对当前升级后的目标复杂可编程逻辑器件进行备份操作。
8.一种远程升级复杂可编程逻辑器件操作方法,其特征在于,所述方法应用于如权利要求1-7任一项所述的远程升级复杂可编程逻辑器件操作系统,所述系统包括客户端、多个基板管理控制器、多个复杂可编程逻辑器件,以及开关控制单元,所述方法包括:
当客户端接收到针对复杂可编程逻辑器件进行升级的操作指令时,检测主基板管理控制器是否发生故障;其中,多个基板管理控制器中包括主基板管理控制器和至少一个从基板管理控制器;当确定所述主基板管理控制器发生故障时,从至少一个从基板管理控制器中选取一个目标基板管理控制器;向所述目标基板管理控制器发送升级操作指令,所述升级操作指令用于对复杂可编程逻辑器件进行升级;
所述目标基板管理控制器根据所述升级操作指令,通过所述开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接;并在建立通信连接成功时,完成对所述目标复杂可编程逻辑器件的系统升级操作。
9.根据权利要求8所述的方法,其特征在于,多个复杂可编程逻辑器件包括主复杂可编程逻辑器件和至少一个从复杂可编程逻辑器件,所述目标基板管理控制器根据所述升级操作指令,通过所述开关控制单元,建立与多个复杂可编程逻辑器件中的目标复杂可编程逻辑器件之间的通信连接,具体包括:
所述目标基板管理控制器根据所述升级操作指令,通过所述开关控制单元向所述主复杂可编程逻辑器件发送建立通信连接请求;
当在预设时间段内接收到所述主复杂可编程逻辑器件反馈的响应信息时,确定与所述主复杂可编程逻辑器件之间的第一通信连接建立成功;
否则,当在所述预设时间段内未接收到所述主复杂可编程逻辑器件反馈的响应信息时,向至少一个从复杂可编程逻辑器件中的其中一个从复杂可编程逻辑器件发送所述建立通信连接请求;
直至确定与至少一个从复杂可编程逻辑器件中任一个从复杂可编程逻辑器件之间的第二通信连接建立成功后结束;或者,确定与每一个所述从复杂可编程逻辑器件之间的第二通信连接建立失败后结束。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使远程升级复杂可编程逻辑器件操作系统执行权利要求8或9所述的远程升级复杂可编程逻辑器件操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310866036.7A CN116893833A (zh) | 2023-07-14 | 2023-07-14 | 远程升级复杂可编程逻辑器件操作系统、方法及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310866036.7A CN116893833A (zh) | 2023-07-14 | 2023-07-14 | 远程升级复杂可编程逻辑器件操作系统、方法及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116893833A true CN116893833A (zh) | 2023-10-17 |
Family
ID=88313238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310866036.7A Pending CN116893833A (zh) | 2023-07-14 | 2023-07-14 | 远程升级复杂可编程逻辑器件操作系统、方法及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116893833A (zh) |
-
2023
- 2023-07-14 CN CN202310866036.7A patent/CN116893833A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357038A (zh) | 监控虚拟机集群的方法和系统 | |
CN105468717B (zh) | 数据库操作方法和装置 | |
EP3591485B1 (en) | Method and device for monitoring for equipment failure | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
EP3865998A1 (en) | Cluster management method, apparatus and system | |
CN104079454A (zh) | 一种设备异常检测方法和设备 | |
WO2023065601A1 (zh) | 服务器组件自检异常恢复方法、装置、系统及介质 | |
CN111897697A (zh) | 服务器硬件故障修复方法和装置 | |
CN114691408A (zh) | 一种基板管理控制器故障检测装置 | |
CN111880992B (zh) | 一种存储设备中控制器状态的监测及维护方法 | |
CN114020509A (zh) | 工作负载集群的修复方法、装置、设备及可读存储介质 | |
CN116893833A (zh) | 远程升级复杂可编程逻辑器件操作系统、方法及介质 | |
CN111176893A (zh) | 计算机远程控制方法、装置、系统和存储介质 | |
CN114791900A (zh) | 基于Operator的Redis运维方法、装置、系统及存储介质 | |
CN110719236B (zh) | 单板,背板式交换机,及连接电源的方法 | |
CN112162887A (zh) | 存储设备及其机框共享部件访问方法、装置、存储介质 | |
CN116932274B (zh) | 异构计算系统和服务器系统 | |
US20160098329A1 (en) | Information processing technique for uninterruptible power supply | |
CN211148841U (zh) | 一种DC Cycle测试装置 | |
CN115801564A (zh) | 服务部署方法、服务部署装置、设备及介质 | |
CN116737185A (zh) | 一种镜像加载方法、装置、设备及介质 | |
CN117453036A (zh) | 调整服务器中的设备的功耗的方法、系统及装置 | |
CN117194266A (zh) | 演练方法、装置、计算机设备及存储介质 | |
CN114564225A (zh) | 固件更新方法、固件更新装置、计算机设备及介质 | |
CN114205231A (zh) | 批量启动hadoop集群的方法、系统及可读存储介质 |
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 |