System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种cpld更新方法、装置、电子设备及存储介质。
技术介绍
1、随着互联网的快速发展,不同用户对服务器有不同的配置需求,但服务器日益紧张的空间对设计者提出了强有力的挑战,对此一个机箱中包括多个主机系统的架构应用而生。
2、在多主机服务器系统中,存在多个基板管理控制器(baseboard managementcontroller,bmc)对同一个复杂可编程逻辑器件(complex programming logic device,cpld)进行更新的应用场景,基于此用户需求,现有的服务器通常仅允许一个指定的bmc对cpld更新,导致更新方式不够灵活;少部分服务器可以采用bmc之间互相通信协商烧录的方式,对cpld更新,这种通信方式稳定性不足,硬件设计复杂,无法最大化满足用户需求。
技术实现思路
1、本专利技术提供了一种cpld更新方法、装置、电子设备及存储介质,可以提高cpld更新方式的灵活性,提升cpld更新过程的稳定性,最大化满足用户对cpld的更新需求。
2、根据本专利技术的一方面,提供了一种cpld更新方法,所述方法应用于服务器中的cpld,所述服务器中包括多个bmc,各所述bmc通过数据选择芯片(multiplexer,mux)与cpld进行连接,所述方法包括:
3、实时获取bmc控制寄存器的当前状态位数值,根据所述bmc控制寄存器的当前状态位数值,对多个触发cpld更新请求的bmc进行仲裁;
4
5、通过mux芯片,根据所述cpld更新信号,开启目标bmc对应的更新通道,以使目标bmc通过所述更新通道对cpld进行更新。
6、可选的,根据所述bmc控制寄存器的当前状态位数值,对多个触发cpld更新请求的bmc进行仲裁,包括:
7、根据bmc控制寄存器的当前状态位数值,确定bmc更新寄存器的当前状态位数值,并根据所述bmc更新寄存器的当前状态位数值,确定bmc仲裁结果。
8、可选的,在根据所述bmc更新寄存器的当前状态位数值,确定bmc仲裁结果之后,还包括:
9、接收到bmc通过mux芯片传输的状态位读取指令后,将所述bmc更新寄存器的当前状态位数值,通过mux芯片传输至所述bmc,以使所述bmc根据bmc更新寄存器的当前状态位数值,获取bmc仲裁结果。
10、可选的,在实时获取bmc控制寄存器的当前状态位数值之前,还包括:
11、根据所述服务器中的多个bmc,确定与bmc控制寄存器对应的多种备选状态位数值;
12、根据所述bmc控制寄存器对应的多种备选状态位数值,确定bmc更新寄存器对应的多种备选状态位数值,并根据备选状态位数值之间的映射关系,构建bmc更新权限查询表;
13、根据bmc控制寄存器的当前状态位数值,确定bmc更新寄存器的当前状态位数值,包括:
14、根据所述bmc控制寄存器的当前状态位数值,以及所述bmc更新权限查询表,确定bmc更新寄存器的当前状态位数值。
15、根据本专利技术的一方面,提供了另一种cpld更新方法,所述方法应用于服务器中的bmc,所述服务器中包括多个bmc,各所述bmc通过mux芯片与cpld进行连接,所述方法包括:
16、响应于用户通过bmc触发的cpld更新请求,将寄存器置位指令通过mux芯片传输至cpld,以使cpld对bmc控制寄存器中与所述bmc匹配的状态位置1;
17、将状态位读取指令通过mux芯片传输至cpld,以使cpld将bmc更新寄存器的当前状态位数值,通过mux芯片传输至所述bmc;
18、根据所述bmc更新寄存器的当前状态位数值,判断所述bmc是否获得更新权限;
19、若是,则通过与所述bmc对应的更新通道,对cpld进行更新。
20、可选的,在通过与所述bmc对应的更新通道,对cpld进行更新之后,还包括:
21、如果检测到所述cpld更新失败,则通过可视化界面将更新失败原因展示给用户,并将状态位更新指令通过mux芯片传输至cpld,以使cpld对bmc控制寄存器中与所述bmc匹配的状态位置0。
22、根据本专利技术的另一方面,提供了一种cpld更新装置,所述装置应用于服务器中的cpld,所述服务器中包括多个bmc,各所述bmc通过mux芯片与cpld进行连接,所述装置包括:
23、仲裁模块,用于实时获取bmc控制寄存器的当前状态位数值,根据所述bmc控制寄存器的当前状态位数值,对多个触发cpld更新请求的bmc进行仲裁;
24、信号传输模块,用于根据仲裁结果,确定cpld更新信号,并将所述cpld更新信号传输至mux芯片;
25、通道控制模块,用于通过mux芯片,根据所述cpld更新信号,开启目标bmc对应的更新通道,以使目标bmc通过所述更新通道对cpld进行更新。
26、根据本专利技术的另一方面,提供了另一种cpld更新装置,所述装置应用于服务器中的bmc,所述服务器中包括多个bmc,各所述bmc通过mux芯片与cpld进行连接,所述装置包括:
27、置位模块,用于响应于用户通过bmc触发的cpld更新请求,将寄存器置位指令通过mux芯片传输至cpld,以使cpld对bmc控制寄存器中与所述bmc匹配的状态位置1;
28、状态位读取模块,用于将状态位读取指令通过mux芯片传输至cpld,以使cpld将bmc更新寄存器的当前状态位数值,通过mux芯片传输至所述bmc;
29、权限判断模块,用于根据所述bmc更新寄存器的当前状态位数值,判断所述bmc是否获得更新权限;
30、更新模块,用于如果所述bmc获得更新权限,则通过与所述bmc对应的更新通道,对cpld进行更新。
31、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
32、至少一个处理器;以及
33、与所述至少一个处理器通信连接的存储器;其中,
34、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的cpld更新方法。
35、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的cpld更新方法。
36、本专利技术实施例提供的技术方案,通过cpld实时获取bmc控制寄存器的当前状态位数值,根据bmc控制寄存器的当前状态位数值,对多个触发cpld更新请求的bmc进行仲裁,根据仲裁结果确定cpld更新信号,并将cpld更新信号传输至mux芯片,通过mux芯片根据cpld更新信本文档来自技高网...
【技术保护点】
1.一种CPLD更新方法,其特征在于,所述方法应用于服务器中的复杂可编程逻辑器件CPLD,所述服务器中包括多个基板管理控制器BMC,各所述BMC通过数据选择芯片MUX与CPLD进行连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述BMC控制寄存器的当前状态位数值,对多个触发CPLD更新请求的BMC进行仲裁,包括:
3.根据权利要求2所述的方法,其特征在于,在根据所述BMC更新寄存器的当前状态位数值,确定BMC仲裁结果之后,还包括:
4.根据权利要求2所述的方法,其特征在于,在实时获取BMC控制寄存器的当前状态位数值之前,还包括:
5.一种CPLD更新方法,其特征在于,所述方法应用于服务器中的BMC,所述服务器中包括多个BMC,各所述BMC通过MUX芯片与CPLD进行连接,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,在通过与所述BMC对应的更新通道,对CPLD进行更新之后,还包括:
7.一种CPLD更新装置,其特征在于,所述装置应用于服务器中的CPLD,所述服务器中包括多个B
8.一种CPLD更新装置,其特征在于,所述装置应用于服务器中的BMC,所述服务器中包括多个BMC,各所述BMC通过MUX芯片与CPLD进行连接,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的CPLD更新方法。
...【技术特征摘要】
1.一种cpld更新方法,其特征在于,所述方法应用于服务器中的复杂可编程逻辑器件cpld,所述服务器中包括多个基板管理控制器bmc,各所述bmc通过数据选择芯片mux与cpld进行连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述bmc控制寄存器的当前状态位数值,对多个触发cpld更新请求的bmc进行仲裁,包括:
3.根据权利要求2所述的方法,其特征在于,在根据所述bmc更新寄存器的当前状态位数值,确定bmc仲裁结果之后,还包括:
4.根据权利要求2所述的方法,其特征在于,在实时获取bmc控制寄存器的当前状态位数值之前,还包括:
5.一种cpld更新方法,其特征在于,所述方法应用于服务器中的bmc,所述服务器中包括多个bmc,各所述bmc通过mux芯片与cp...
【专利技术属性】
技术研发人员:刘孟龙,李其泽,王永欢,王健,
申请(专利权)人:宁畅信息技术杭州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。