基板管理控制器的处理方法以及装置与流程
未命名
08-22
阅读:96
评论:0
1.本发明属于网络技术领域,特别是涉及一种基板管理控制器的处理方法以及装置。
背景技术:
2.随着科学技术的不断发展,当前服务器的应用越来越广泛,基板管理控制器(baseboard manager controller,bmc)作为服务器中的关键部件,同时也是用户监控和管理服务器的重要部件,其软件系统的健壮性就显得极为重要,因此需要实时监控基板管理控制器内部的实际运行状态。
3.相关技术中,在分布式部署模式下,可能会存在多个节点同时响应同一指令,以对同一基板管理控制器进行操作的情况,导致基板管理控制器的稳定性较差。
技术实现要素:
4.本发明提供一种基板管理控制器的处理方法以及装置,以便解决基板管理控制器稳定性较差的问题。
5.为了解决上述技术问题,本发明是这样实现的:
6.第一方面,本发明提供一种基板管理控制器的处理方法,应用于多个节点中的任一节点,所述方法包括:
7.在接收到目标指令的情况下,基于目标负载列表以及所述目标指令指示的目标基板管理控制器地址,确定所述目标基板管理控制器地址对应的目标节点;所述目标负载列表中包括所述多个节点与多个基板管理控制器地址的对应关系;
8.在所述目标节点为当前节点的情况下,基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;
9.基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作;所述目标基板管理控制器为所述目标基板管理控制器地址对应的基板管理控制器。
10.可选地,所述多个节点包括主节点以及多个从节点;在所述当前节点为主节点的情况下,所述方法还包括:
11.针对所述多个节点中的任一待分配节点,获取所述待分配节点分别与分布式系统中的各基板管理控制器建立连接所需的响应时间,得到多个目标响应时间;所述分布式系统中部署有所述多个节点;
12.基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器;
13.在所述至少一个基板管理控制器满足预设分配条件的情况下,将所述待分配节点与所述至少一个基板管理控制器的基板管理控制器地址的对应关系,记录至所述目标负载列表;
14.在所述至少一个基板管理控制器不满足所述预设分配条件的情况下,重新执行所
述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
15.可选地,在所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器之后,所述方法还包括:
16.基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值;
17.基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值;
18.在所述第一比值与所述第二比值的差值小于第一预设阈值的情况下,确定所述至少一个基板管理控制器满足预设分配条件;
19.在所述第一比值与所述第二比值的差值不小于第一预设阈值的情况下,确定所述至少一个基板管理控制器不满足预设分配条件。
20.可选地,在所述基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值之前,所述方法还包括:
21.基于所述至少一个基板管理控制器中各所述基板管理控制器接收到的历史请求次数以及目标响应时间,确定各所述基板管理控制器的历史响应时间;
22.基于所述分布式系统中的各所述基板管理控制器接收到的历史请求次数以及第一响应时间,确定各所述基板管理控制器对应的第一历史响应时间;
23.基于各所述基板管理控制器对应的所述第一历史响应时间,确定所述分布式系统中的所有基板管理控制器的总历史响应时间。
24.可选地,在所述基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值之前,所述方法包括:
25.获取所述待分配节点的处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息;
26.获取所述处理器性能信息对应的第一权重、所述内存性能信息对应的第二权重、所述磁盘性能信息对应的第三权重以及所述网络性能信息对应的第四权重;
27.基于所述处理器性能信息、所述第一权重、所述内存性能信息、所述第二权重、所述磁盘性能信息、所述第三权重、所述网络性能信息以及所述第四权重,确定所述待分配节点对应的负载指标值。
28.可选地,所述方法还包括:
29.获取目标时长内所述主节点以及各所述从节点的平均资源利用率;
30.在所述主节点与任一所述从节点、或任意两个所述从节点的平均资源利用率的差值大于第二预设阈值的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
31.可选地,所述基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存,包括:
32.获取所述当前节点中的实例缓存;
33.在存在对应的基板管理控制器地址与所述目标基板管理控制器地址一致的实例
缓存情况下,获取与所述目标基板管理控制器地址匹配一致的基板管理控制器地址对应的实例缓存,作为待筛选实例缓存;不同待筛选实例缓存对应不同的处理操作;
34.将对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存,确定为目标实例缓存;
35.在不存在对应的目标基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存,或不存在对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存的情况下,基于所述目标指令,创建所述目标实例缓存。
36.可选地,所述基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作,包括:
37.在所述目标指令为目标监控指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并通过所述目标基板管理控制器获取服务器的相关信息,基于所述相关信息对所述服务器执行所述目标监控指令指示的监控操作;所述服务器部署有所述目标基板管理控制器;
38.在所述目标指令为目标配置指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并对所述目标基板管理控制器执行所述目标配置指令指示的配置操作。
39.第二方面,本发明提供一种基板管理控制器的处理装置,应用于多个节点中的任一节点,所述装置包括:
40.第一确定模块,用于在接收到目标指令的情况下,基于目标负载列表以及所述目标指令指示的目标基板管理控制器地址,确定所述目标基板管理控制器地址对应的目标节点;所述目标负载列表中包括所述多个节点与多个基板管理控制器地址的对应关系;
41.第二确定模块,用于在所述目标节点为当前节点的情况下,基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;
42.第一执行模块,用于基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作;所述目标基板管理控制器为所述目标基板管理控制器地址对应的基板管理控制器。
43.可选地,所述多个节点包括主节点以及多个从节点;所述装置还可以包括:
44.第一获取模块,用于针对所述多个节点中的任一待分配节点,获取所述待分配节点分别与分布式系统中的各基板管理控制器建立连接所需的响应时间,得到多个目标响应时间;所述分布式系统中部署有所述多个节点;
45.第三确定模块用于,基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器;
46.第一记录模块,用于在所述至少一个基板管理控制器满足预设分配条件的情况下,将所述待分配节点与所述至少一个基板管理控制器的基板管理控制器地址的对应关系,记录至所述目标负载列表;
47.第四确定模块,用于在所述至少一个基板管理控制器不满足所述预设分配条件的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
48.可选地,所述装置还可以包括:
49.第五确定模块,用于基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值;
50.第六确定模块,用于基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值;
51.第七确定模块,用于在所述第一比值与所述第二比值的差值小于第一预设阈值的情况下,确定所述至少一个基板管理控制器满足预设分配条件;
52.第八确定模块,用于在所述第一比值与所述第二比值的差值不小于第一预设阈值的情况下,确定所述至少一个基板管理控制器不满足预设分配条件。
53.可选地,所述装置还可以包括:
54.第九确定模块,用于基于所述至少一个基板管理控制器中各所述基板管理控制器接收到的历史请求次数以及目标响应时间,确定各所述基板管理控制器的历史响应时间;
55.第十确定模块,用于基于所述分布式系统中的各所述基板管理控制器接收到的历史请求次数以及第一响应时间,确定各所述基板管理控制器对应的第一历史响应时间;
56.第十一确定模块,用于基于各所述基板管理控制器对应的所述第一历史响应时间,确定所述分布式系统中的所有基板管理控制器的总历史响应时间。
57.可选地,所述装置还可以包括:
58.第二获取模块,用于获取所述待分配节点的处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息;
59.第三获取模块,用于获取所述处理器性能信息对应的第一权重、所述内存性能信息对应的第二权重、所述磁盘性能信息对应的第三权重以及所述网络性能信息对应的第四权重;
60.第十二确定模块,用于基于所述处理器性能信息、所述第一权重、所述内存性能信息、所述第二权重、所述磁盘性能信息、所述第三权重、所述网络性能信息以及所述第四权重,确定所述待分配节点对应的负载指标值。
61.可选地,所述装置还可以包括:
62.第四获取模块,用于获取目标时长内所述主节点以及各所述从节点的平均资源利用率;
63.第十三确定模块,用于在所述主节点与任一所述从节点、或任意两个所述从节点的平均资源利用率的差值大于第二预设阈值的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
64.可选地,所述第二确定模块可以包括:
65.第一获取子模块,用于获取所述当前节点中的实例缓存;
66.第二获取子模块,用于在存在对应的基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存情况下,获取与所述目标基板管理控制器地址匹配一致的基板管理控制器地址对应的实例缓存,作为待筛选实例缓存;不同待筛选实例缓存对应不同的处理操作;
67.第一确定子模块,用于将对应的处理操作与所述目标指令指示的操作一致的待筛
选实例缓存,确定为目标实例缓存;
68.第一创建模块,用于在不存在对应的目标基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存,或不存在对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存的情况下,基于所述目标指令,创建所述目标实例缓存。
69.可选地,所述第一执行模块可以包括:
70.第一监控子模块,用于在所述目标指令为目标监控指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并通过所述目标基板管理控制器获取服务器的相关信息,基于所述相关信息对所述服务器执行所述目标监控指令指示的监控操作;所述服务器部署有所述目标基板管理控制器;
71.第一配置子模块,用于在所述目标指令为目标配置指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并对所述目标基板管理控制器执行所述目标配置指令指示的配置操作。
72.第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述基板管理控制器的处理方法。
73.第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述基板管理控制器的处理方法
74.在本发明实施例中,在接收到目标指令的情况下,基于目标负载列表以及目标指令指示的目标基板管理控制器地址,确定目标基板管理控制器地址对应的目标节点;目标负载列表中包括多个节点与多个基板管理控制器地址的对应关系;在目标节点为当前节点的情况下,基于目标基板管理控制器地址以及当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作;目标基板管理控制器为目标基板管理控制器地址对应的基板管理控制器。这样,在节点接收到目标指令的情况下,可以基于目标负载列表中包含的多个节点与多个基板管理控制器地址的对应关系,判断当前节点是否为目标节点,即当前节点是否需要响应目标指令,在当前节点为目标节点,即当前节点为需要响应目标指令的目标节点的情况下,基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作,可以避免多个节点同时对同一目标指令进行响应处理,造成基板管理控制器稳定性受影响,提高了基板管理控制器的稳定性。
附图说明
75.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
76.图1是本发明实施例提供的一种基板管理控制器的处理方法的步骤流程图;
77.图2是本发明实施例提供的一种主节点架构示意图;
78.图3是本发明实施例提供的一种基板管理控制器的处理装置的结构图;
79.图4是本发明实施例提供的一种电子设备的结构图。
具体实施方式
80.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
81.图1是本发明实施例提供的一种基板管理控制器的处理方法的步骤流程图,应用于多个节点中的任一节点。其中,多个节点可以部署在分布式系统,分布式系统可以是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。节点可以是部署有管理系统的单机,节点之间彼此进行交互以实现一个共同的目标。基板管理控制器是嵌入在计算机(通常是服务器)主板上的专用微控制器。基板管理控制器负责管理系统管理软件和平台硬件之间的接口。每个节点可以管理一个或多个基板管理控制器,即分布式系统中可以包含多台服务器,相应的,也包含多个基板管理控制器。
82.如图1所示,该方法可以包括:
83.步骤101、在接收到目标指令的情况下,基于目标负载列表以及所述目标指令指示的目标基板管理控制器地址,确定所述目标基板管理控制器地址对应的目标节点;所述目标负载列表中包括所述多个节点与多个基板管理控制器地址的对应关系。
84.本发明实施例中,目标指令可以是用于指示对基板管理控制器进行处理操作的指令,如状态监控操作、部件信息获取操作、基板管理控制器配置操作、固件升级操作、电源风扇管理操作、日志管理操作等。目标指令中可以包含目标基板管理控制器地址,也即,目标指令用于对该目标基板管理控制器地址对应的目标基板管理控制器进行目标指令指示的处理操作。在节点接收到目标指令的情况下,确定目标指令所指示的目标基板管理控制器地址,从目标负载列表中包含的节点与基板管理控制器的对应关系中,确定出目标基板管理控制器地址对应的节点,作为目标节点。其中,目标负载列表中可以包含多个节点与多个基板管理控制器地址的对应关系,该对应关系可以同于表征节点与基板管理控制器的管理关系,即目标负载列表中的a节点对应a基板管理控制器地址,则可以表征a节点管理a基板管理控制器。一个节点可以对应多个基板管理控制器地址,即一个节点可以管理多个基板管理控制器,但一个基板管理控制器地址对应唯一的节点,即一个基板管理控制器被唯一的节点进行管理。由于一个基板管理控制器只能被唯一的节点进行管理,相应的,在目标负载列表中,一个基板管理控制器地址仅对应唯一节点,即针对一个目标指令,在分布式系统的多个节点中仅存在一个对应的目标节点。
85.步骤102、在所述目标节点为当前节点的情况下,基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存。
86.本发明实施例中,在基于目标负载列表确定了目标节点的情况下,若目标节点为当前节点,当前节点为本发明实施例中作为执行主体的节点,即接收到目标指令的节点,表征当前节点是管理目标基板管理控制器地址对应的基板管理控制器的唯一节点,即当前节点需要对目标指令进行响应,则通过任务管理模块调用基板管理控制器管理模块,以获取当前节点的缓存区域中的实例缓存,确定与该目标基板管理控制器地址对应,且可以实现目标指令指示的处理操作的实例缓存,作为目标实例缓存。目标实例缓存用于对目标基板管理控制器执行目标指令指示的处理操作。其中,实例缓存可以通过对具体实现类的拷贝
得到的,每个实例缓存可以对应一个基板管理控制器地址,即每个实例缓存可以用于对基板管理控制器进行的一种处理操作,基于实例缓存,可以对其对应的基板管理控制器地址所对应的基板管理控制实现具体实现类中的处理操作。实例缓存中可以包括会话信息,即登录基板管理控制器所使用的登录信息,基于会话信息,可以执行登录基板管理控制器的操作,实例缓存中还可以包括对基板管理控制器执行不同处理操作对应的信息,如状态监控操作、部件信息获取操作、基板管理控制器配置操作、固件升级操作、电源风扇管理操作、日志管理操作等操作对应的信息。实例缓存和基板管理控制器地址可以通过键值对的形式进行存储,即基板管理控制器地址为键(key),实例缓存为值(value)。
87.示例性的,在获取到目标基板管理控制器地址的情况下,获取当前节点的缓存区域中的全部键值对,将目标基板管理控制器地址与所有键值对中的键进行一致性匹配,再根据目标指令指示的处理操作,确定可实现的处理操作与该处理操作一致的键值对中的值(实例缓存),即可以确定目标基板管理控制器地址对应的目标实例缓存。
88.可以理解的是,为了避免多线程并发执行造成基板管理控制器会话被占满,同时保证进程中只存在一个实例,同一基板管理控制器中进行的一种处理操作只对应一个实例缓存,即节点对于同一基板管理控制器执行的每种处理操作分别对应一个实例缓存,在节点的缓存区域中存储的同一基板管理控制器地址对应的每个实例缓存,都对应不同的处理操作。这样,避免对同一基板管理控制器执行的相同的处理操作对应多个功能相同的实例缓存,造成缓存资源的浪费。同时,可以保证在实际执行过程中,对于同一基板管理控制器执行的同一种处理操作,可以通过同一实例缓存实现。
89.步骤103、基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作;所述目标基板管理控制器为所述目标基板管理控制器地址对应的基板管理控制器。
90.本发明实施例中,由于目标实例缓存是基于对具体实现类的拷贝得到的,具体实现类用于实现接口中约定的内容。因此基于目标实例缓存,可以对目标基板管理控制器执行目标指令指示的操作,即可以调用接口执行目标指令指示的处理操作。
91.综上,本发明实施例中,在接收到目标指令的情况下,基于目标负载列表以及目标指令指示的目标基板管理控制器地址,确定目标基板管理控制器地址对应的目标节点;目标负载列表中包括多个节点与多个基板管理控制器地址的对应关系;在目标节点为当前节点的情况下,基于目标基板管理控制器地址以及当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作;目标基板管理控制器为目标基板管理控制器地址对应的基板管理控制器。这样,在节点接收到目标指令的情况下,可以基于目标负载列表中包含的多个节点与多个基板管理控制器地址的对应关系,判断当前节点是否为目标节点,即当前节点是否需要响应目标指令,在当前节点为目标节点,即当前节点为需要响应目标指令的目标节点的情况下,基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作,可以避免多个节点同时对同一目标指令进行响应处理,造成基板管理控制器稳定性受影响,提高了基板管理控制器的稳定性。
92.进一步地,在系统运行一段时间后,多线程并发执行会创建多个会话登录基板管理控制器,基板管理控制器会保留登录记录,即会话信息,导致出现基板管理控制器的会话
被占满的情况。本发明实施例在多线程并发的情况下,可以直接基于确定的目标实例缓存执行目标指令指示的处理操作,无需在基板管理控制器创建多个会话再登录基板管理控制器,因此可以一定程度上避免基板管理控制器中的会话堆积。
93.可选地,所述多个节点包括主节点以及多个从节点。
94.其中,主节点以及从节点可以通过节点的负载性能确定,具体的,可以通过确定各节点的负载指标值,将负载指标值最大的节点确定为主节点,除主节点以外的节点均确定为从节点。示例性的,可以先通过任一节点的任务管理模块,获取各个节点的性能参数信息,性能参数信息可以包括处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息等信息,并为每种性能信息设置一个对应的权重值,基于性能参数信息以及各性能信息对应的权重值,确定各节点的负载指标值。其中,权重值可以根据节点的用途进行定义,例如:节点运行对网络带宽要求较高,则要增加网络性能信息对应的权重值,如节点对本地读写要求较高则需要增加磁盘性能信息对应的权重值。这样,得到的各节点对应的负载指标值不但可以反映节点的性能,同时也可以一定程度上反映不同运行要求下节点的负载能力。
95.示例性的,负载指标值p可以通过公式一确定:
[0096][0097]
其中,p为节点对应的负载指标值,x
1、
x2、
…
xn可以分别表示不同类型的性能参数信息,w1、w2、
…
wn可以分别表示不同性能信息对应的权重值,例如,w1为x1对应的权重值、w2为x2对应的权重值等等。
[0098]
在所述当前节点为主节点的情况下,本发明实施例还可以包括以下步骤:
[0099]
步骤201、针对所述多个节点中的任一待分配节点,获取所述待分配节点分别与分布式系统中的各基板管理控制器建立连接所需的响应时间,得到多个目标响应时间;所述分布式系统中部署有所述多个节点。
[0100]
本发明实施例中,待分配节点可以是分布式系统中的主节点或任一从节点,也可以是分布式系统中的部分节点,如:部分节点可以是分布式系统中节点功能一致的多个节点。针对主节点以及各从节点中的任一待分配节点,主节点可以获取该待分配节点与分布式系统中任一基板管理控制器建立连接,所需的响应时间,得到目标响应时间。针对分布式系统中全部基板管理控制器,获取该待分配节点与其建立连接的目标响应时间,得到多个目标响应时间。
[0101]
步骤202、基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器。
[0102]
本发明实施例中,待分配节点对应的多个目标响应时间可以表征待分配节点与各基板管理控制器之间的连接速度,因此,可以根据分布式系统中全部节点对应的多个目标响应时间,向该待分配节点尽可能的分配目标响应时间较小的节点。在得到主节点以及各从节点对应的多个目标响应时间后,可以对全部目标响应时间进行排序,根据排序顺序将分布式系统中的各基板管理器分配至各节点,并确定当前待分配节点所需管理的至少一个基板管理控制器。
[0103]
在一种可能的实施方式中,在得到主节点以及各从节点对应的多个目标响应时间
后,可以针对各基板管理控制器,分别得到各基板管理控制器与主节点和各从节点的目标响应时间,基于基板管理器对应的多个目标响应时间,优先将基板管理器分配给对应的目标响应时间小的节点。
[0104]
步骤203、在所述至少一个基板管理控制器满足预设分配条件的情况下,将所述待分配节点与所述至少一个基板管理控制器的基板管理控制器地址的对应关系,记录至所述目标负载列表。
[0105]
本发明实施例中,在确定待分配节点所需管理的至少一个基板服务器后,需要验证向待分配节点分配的至少一个基板服务器是否满足预设分配条件,在满足预设分配条件的情况下,表征可以将至少一个基板服务器分配由待分配节点进行管理,则获取至少一个基板管理控制器对应的至少一个基板管理控制器地址,将待分配节点与至少一个基板管理控制器地址的对应关系,记录至目标负载列表。预设分配条件可以是待分配节点所管理的至少一个基板管理控制器的历史响应时间之和与分布式系统中全部节点管理的基板管理控制器的总历史响应时间的第一比值,以及该待分配节点的负载指标值与分布式系统中全部节点的总负载指标值的第二比值的差值小于第一预设阈值。由于节点与基板管理控制器的历史响应时间与节点历史消耗的计算资源正相关,历史响应时间越长,说明基板管理控制器接收到的节点请求越多,则消耗的计算资源也越多,因此,待分配节点所管理的至少一个基板管理控制器的历史响应时间之和一定程度上可以反映待分配节点的历史计算资源消耗情况。也就是说,为了使得各节点负载均衡,向待分配节点历史消耗的计算资源占分布式系统中总共的历史消耗的计算资源的比值,与该待分配节点的负载能力占全部节点的负载能力的比值尽量接近,视为满足预设分配条件。在主节点与各从节点均确定其需要管理的基板管理控制器的情况下,主节点将目标负载列表下发至各从节点,以使各从节点能够基于目标负载列表判断是否需要响应目标指令。
[0106]
可以理解的是,在初次得到待分配节点与至少一个基板管理控制器地址的对应关系的情况下,创建一个目标负载列表并存储在指定存储区域,将对应关系记录至目标负载列表,在后续得到其它待分配节点与至少一个基板管理控制器地址的对应关系的情况下,从指定存储区域获取目标负载列表,并将对应关系记录至目标负载列表。
[0107]
步骤204、在所述至少一个基板管理控制器不满足所述预设分配条件的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
[0108]
本发明实施例中,在至少一个基板管理控制器不满足预设分配条件的情况下,表征向待分配节点分配的至少一个基板管理控制器不能使得各节点的负载均衡,因此需要重新基于多个节点各自对应的目标响应时间,调整待分配节点所需管理的至少一个基板管理控制器,再基于调整结果,判断本次向待分配节点分配的至少一个基板管理控制器是否满足预设分配条件,直至向待分配节点分配的至少一个基板管理控制器符合预设分配条件。
[0109]
本发明实施例中,主节点通过目标响应时间,为待分配节点分配至少一个基板管理控制器,再通过判断至少一个基板管理控制器是否满足预设分配条件,确定待分配节点实际所需管理的基板管理控制器,并得到目标负载列表。这样,在至少一个基板管理控制器满足预设分配条件的情况下,主节点才会将其记录至目标负载列表,提高了目标负载列表中多个节点与多个基板管理控制器地址的对应关系的可靠性。。
[0110]
可选地,本发明实施例还可以包括以下步骤:
[0111]
步骤301、基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值。
[0112]
本发明实施例中,获取至少一个基板管理控制器的历史响应时间之和,历史响应时间可以是基板管理控制器在预设时间内响应的一个或多个节点请求所需的响应时间,其中,至少一个基板管理控制器中的任一基板管理控制器的历史响应时间可以是基于待分配节点与基板管理控制器的目标响应时间,以及基板管理控制器在预设时间内接收到的节点请求次数确定的。获取分布式系统中各基板管理控制器在预设时间内响应的多个节点请求所需的历史响应时间之和,作为总历史响应时间。将至少一个基板管理控制器的历史响应时间之和与总响应时间的比值,确定为第一比值,第一比值s1可以由公式二确定。
[0113][0114]
其中,假设分布式系统中共包含n个节点,对于n个节点中的任一节点k而言,节点k管理有l个基板管理控制器,则t
lk
表示节点k管理的第l个基板管理控制器与节点k建立连接所需的目标响应时间,f
l
表示节点k管理的第l个基板管理控制器预设时间内接收到的请求次数,则t
lkfl
表示k节点管理的第l个基板管理控制器的历史响应时间。相应的,t
1k
f1+t
2k
f2+
…
t
lkfl
可以表示k所管理的基板管理控制器的历史响应时间之和,可以表示n个节点管理的全部基板管理控制器的历史响应时间之和,即分布式系统中全部基板管理控制器的总历史响应时间。待分配节点为j,t
1j
则表示j节点管理的第i个基板管理控制器与j节点建立连接所需的目标响应时间,fi表示第j个节点管理的第i个基板管理控制器在预设时间内接收到的请求次数。
[0115]
步骤302、基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值。
[0116]
本发明实施例中,基于待分配节点对应的负载指标值,与分布式系统中全部节点的负载指标值之和,确定第二比值,第二比值s2可以通过公式三确定:
[0117][0118]
其中,pj表示待分配节点j的负载指标值,p1+p2+
…
+pn表示分布式系统中n个节点的负载性能值之和。
[0119]
步骤303、在所述第一比值与所述第二比值的差值小于第一预设阈值的情况下,确定所述至少一个基板管理控制器满足预设分配条件。
[0120]
步骤304、在所述第一比值与所述第二比值的差值不小于第一预设阈值的情况下,确定所述至少一个基板管理控制器不满足预设分配条件。
[0121]
本发明实施例中,在第一比值与第二比值的差值小于第一预设阈值的情况下,表征向待分配节点分配的至少一个基板管理控制器可以使得该节点消耗的计算资源与其具有的负载能力相匹配,待分配节点在这种情况下负载均衡,因此,向待分配节点分配的至少一个基板管理控制器满足预设分配条件;在第一比值与第二比值的差值不小于第一预设阈值的情况下,表征向待分配节点分配的至少一个基板管理控制器不能使该节点消耗的计算资源与其具有的负载能力相匹配,则本次分配结果效果较差,待分配节点在这种情况下负
载并不均衡,向待分配节点分配的至少一个基板管理控制器不能满足预设分配条件。其中,第一比值大于第二比值可以表征待分配节点的负载,即向待分配节点分配的至少一个基板管理控制器并未使得待分配节点发挥其具备的负载能力,第一比值小于第二比值可以表征待分配节点的负载,即向待分配节点分配管理的至少一个基板管理控制器超出待分配节点的负载能力。可以理解的是,第一预设阈值的数值可以根据需要自行设定,第一预设阈值的数值越小,则可以表征对各节点负载的均衡要求越高。也就是说,使第一比值与第二比值尽可能接近,即s1≈s2,节点负载的均衡性效果越好。
[0122]
示例性的,假设有六台服务器s1~s6,每台服务器均部署有基板管理控制器,两个分布式节点p1、p2,六台服务器在两个节点中的响应时间分别为t11、t12、t13、t14、t15、t16;t21、t22、t23、t24、t25、t26。其中,若t11《t21《t12《t22《t13《t23《t24《t14《t25《t15《t16《t26,由于服务器s1、s2、s3、s6在节点p1中响应时间比在p2中少,会优先将s1、s2、s3、s6分配给p1,同理会优先将s4、s5优先分配给p2;假设六台服务器请求次数相同,且p1、p2性能相同,则负载均衡公式可以表示为判断公式两侧比值的差值是否小于第一预设阈值,如不小于,则可以调整公式右侧,将s6分配给节点p2,则此时的负载均衡公式为继续判断公式两侧比值的差值是否小于第一预设阈值,直到公式两侧比值的差值小于第一预设阈值。
[0123]
本发明实施例中,通过确定第一比值以及第二比值,并基于第一比值以及第二比值判断至少一个基板管理控制器是否满足预设分配条件,即判断待分配节点所分配管理的至少一个基板管理控制器是否与该节点的负载能力相匹配,进而使得向待分配节点所管理的至少一个基板管理控制器的分配方案更加合理,以使待分配节点的负载更加均衡。
[0124]
可选地,在步骤301之前,本发明实施例还包括以下步骤:
[0125]
步骤401、基于所述至少一个基板管理控制器中各所述基板管理控制器接收到的历史请求次数以及目标响应时间,确定各所述基板管理控制器的历史响应时间。
[0126]
本发明实施例中,针对至少一个基板管理控制器中的任一基板管理控制器,获取预设时间内该基板管理控制器接收到的节点请求的数量,作为历史请求次数,并获取该基板管理控制器与待分配节点建立连接所需的目标响应时间,基于历史请求次数与目标响应时间的乘积,确定该基板管理控制器的历史响应时间。
[0127]
步骤402、基于所述分布式系统中的各所述基板管理控制器接收到的历史请求次数以及第一响应时间,确定各所述基板管理控制器对应的第一历史响应时间。
[0128]
本发明实施例中,获取预设时间内分布式系统中的各基板管理控制器接收到的节点请求的数量,作为各基板管理控制器接收到的历史请求次数,并获取各基板管理控制器与管理该基板管理控制器的节点建立连接所需的响应时间,作为第一响应时间。基于历史请求次数以及第一响应时间,确定各基板管理控制器对应的第一历史响应时间。
[0129]
步骤403、基于各所述基板管理控制器对应的所述第一历史响应时间,确定所述分布式系统中的所有基板管理控制器的总历史响应时间。
[0130]
本发明实施例中,将各基板管理控制器对应的第一历史响应时间相加,可以得到分布式系统中所有基板管理控制器的总历史响应时间。
[0131]
本发明实施例中,通过历史请求次数以及响应时间,可以确定基板管理控制器接收节点请求所需要的历史响应时间,提高了历史响应时间的计算效率。
[0132]
可选地,在步骤302之前,本发明实施例还包括以下步骤:
[0133]
步骤501、获取所述待分配节点的处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息。
[0134]
本发明实施例中,获取待分配节点的性能相关信息,具体的,可以是主节点通过向待分配节点发送信息获取请求,以获取性能相关信息。其中,性能相关信息可以包括待分配节点的处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息等信息。
[0135]
步骤502、获取所述处理器性能信息对应的第一权重、所述内存性能信息对应的第二权重、所述磁盘性能信息对应的第三权重以及所述网络性能信息对应的第四权重。
[0136]
本发明实施例中,可以预先为不同的性能信息设置不同的权重值,在获取性能相关信息后,可以获取性能信息对应的权重值,如处理器性能信息对应的第一权重、内存性能信息对应的第二权重、磁盘性能信息对应的第三权重以及网络性能信息对应的第四权重。权重值的设置可以基于节点的用途进行设置,本发明实施例对此不做限制。
[0137]
步骤503、基于所述处理器性能信息、所述第一权重、所述内存性能信息、所述第二权重、所述磁盘性能信息、所述第三权重、所述网络性能信息以及所述第四权重,确定所述待分配节点对应的负载指标值。
[0138]
本发明实施例中,基于各性能信息以及各性能信息对应的权重,确定待分配节点对应的负载指标值,具体确定方法如公式一。
[0139]
本发明实施例中,通过不同性能信息对应的权重,可以满足不同应用场景下对节点用途的差异化指标偏好,并且提高了权重设置的灵活性,使得负载指标值可以更清晰的反应节点在不同应用场景下的负载能力。
[0140]
可选地,本发明实施例还包括以下步骤:
[0141]
步骤601、获取目标时长内所述主节点以及各所述从节点的平均资源利用率。
[0142]
本发明实施例中,获取目标时长内主节点以及各从节点的平均资源利用率,其中,平均资源利用率可以是通过获取目标时长内主节点以及各从节点的处理器使用率确定的,平均资源利用率可以一定程度上反应出节点在目标时长内的任务处理状态。示例性的,针对任一节点,可以通过监控平台或监控进程采集目标时长内的处理器使用率,确定该节点对应的平均资源利用率,假设目标时长为7天,则可以分别获取7天内每天处理器的空闲时间数据以及处理器的总运行时间数据,基于空闲时间数据以及总运行时间数据,确定节点一天的处理器使用率,再基于7天的处理器使用率的平均值,计算得到该节点对应的平均资源利用率。
[0143]
步骤602、在所述主节点与任一所述从节点、或任意两个所述从节点的平均资源利用率的差值大于第二预设阈值的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
[0144]
本发明实施例中,在任何两个节点的平均资源利用率的差值大于第二预设阈值的情况下,表征存在有的节点任务处理较少,较空闲,有的节点任务处理较多,较繁忙,即各节点存在负载不均衡的情况,因此,需要重新调整目标负载列表,使得各节点再次达到负载均衡。当生成新的目标负载列表后,由于节点与基板管理控制器之间的管理关系可能会发生
变化,因此需要将各节点管理的基板管理控制器退出登录,并刷新节点中存储的实例缓存,后续新的实例缓存会在运行过程中重新添加进来。其中,在再次确定目标负载列表的过程中,由于历史请求次数和目标响应时间的数据可能出现变化,这些变化可能来自目标时长内的执行运行过程,因此,历史请求次数和目标响应时间的数据变化可以反映目标时长内节点的运行规律,相应的,重新调整后的目标负载列表也是基于变化后的数据进行的分配,更符合节点的运行规律。第二预设阈值可以自行设定,本发明实施例对此不做限制。
[0145]
本发明实施例中,通过获取主节点以及各从节点的平均资源利用率,可以监测主节点以及各从节点在目标时长内的运行状态,在平均资源利用率的差值大于第二预设阈值的情况下,调整目标负载列表,使得调整后的目标负载列表更符合节点的运行规律。
[0146]
在一种可能的实施方式中,由于分布式系统中的主节点可以获取维护分布式节点的列表,并且监控各个节点活动状态,因此当主节点检测到分布式系统中的节点出现变化时则主动触发目标负载列表的生成程序,即重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。其中,节点出现变化的情况可以包括:节点扩容、缩容或某个节点失活。
[0147]
可选地,步骤102可以包括以下步骤:
[0148]
步骤1021、获取所述当前节点中的实例缓存。
[0149]
本发明实施例中,通过基板管理控制器管理模块从当前节点的缓存区域中获取其所缓存的全部实例缓存。
[0150]
步骤1022、在存在对应的基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存情况下,获取与所述目标基板管理控制器地址匹配一致的基板管理控制器地址对应的实例缓存,作为待筛选实例缓存;不同待筛选实例缓存对应不同的处理操作。
[0151]
本发明实施例中,基于当前节点中各实例缓存对应的基板管理控制器地址,确定是否与目标基板管理控制器地址一致,如果是,则获取与目标基板管理控制器地址匹配一致的基板管理控制器地址对应的实例缓存,作为待筛选实例缓存。其中,不同待筛选实例缓存对应对同一基板管理控制器执行的不同处理操作。
[0152]
步骤1023、将对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存,确定为目标实例缓存。
[0153]
本发明实施例中,基于待筛选缓存对应的处理操作,确定是否与目标指令指示的操作一致,若一致,则将一致的处理操作对应的实例缓存,确定为目标实例缓存。
[0154]
步骤1024、在不存在对应的目标基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存,或不存在对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存的情况下,基于所述目标指令,创建所述目标实例缓存。
[0155]
本发明实施例中,在实例缓存对应的基板管理控制器地址均与目标基板管理控制器地址不一致,或待筛选实例缓存对应的处理操作均与目标指令指示的操作不一致,表征当前节点并未缓存过向目标基板管理控制器执行目标指令指示的操作的功能的实例,则可以基于目标指令,执行目标指令指示的操作,得到具体实现类,并对该具体实现类进行拷贝,创建目标实例缓存并存储至当前节点的缓存区域。
[0156]
本发明实施例中,基于实例缓存对应的基板管理控制器地址确定待筛选实例缓存,并基于待筛选实例缓存对应的处理操作,确定目标实例缓存,可以逐步筛选确定目标实
例缓存,降低确定目标实例缓存的步骤的复杂度。
[0157]
可选地,本发明实施例还可以包括以下步骤:
[0158]
步骤701、在所述目标指令为目标监控指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并通过所述目标基板管理控制器获取服务器的相关信息,基于所述相关信息对所述服务器执行所述目标监控指令指示的监控操作;所述服务器部署有所述目标基板管理控制器。
[0159]
本发明实施例中,分布式系统中的监控模块响应于目标监控指令,则在目标指令为目标监控指令的情况下,可以基于目标实例缓存中的会话信息,登录目标基板管理控制器,并基于目标实例缓存中的处理操作信息,通过目标基板管理控制器获取服务器的相关信息,并将相关信息存储至节点的存储模块。基于相关信息对服务器执行目标监控指令指示的监控操作。其中,相关信息可以是服务器的处理器、内存、风扇、电源等信息,可以基于服务器的相关信息对服务器的运行状态进行监控。示例性的,可以在第一时刻获取服务器的第一相关信息,并将第一相关信息存储至节点的存储模块,在第二时刻获取服务器的第二相关信息,并将第二相关信息存储至节点的存储模块,基于第一相关信息以及第二相关信息,监控服务器的运行状态。例如:基于第一相关信息以及第二相关信息中的处理器信息,可以监控服务器的处理器的运行状态。这样,在服务器运行异常的情况下,能够发现并定位问题,以便及时处理。
[0160]
步骤702、在所述目标指令为目标配置指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并对所述目标基板管理控制器执行所述目标配置指令指示的配置操作。
[0161]
本发明实施例中,分布式系统中的配置模块响应于目标配置指令,则在目标指令为目标配置指令的情况下,可以基于目标实例缓存中的会话信息,登录目标基板管理控制器,并基于目标实例缓存中的处理操作信息,对目标基板管理控制器执行目标配置指令指示的配置操作,如设置服务器网络、网络时间协议(network time protocol,ntp)、域名系统(domain name system,dns)等。将相关配置信息存储至节点的存储模块。
[0162]
本发明实施例中,在目标指令为不同类型的指令的情况下,基于确定得到的目标实例缓存,均可以响应并实现目标指令指示的处理操作,提高了指令响应类型的全面性。
[0163]
示例性的,图2示出了一种主节点的架构示意图,如图2所示,主节点中包括资源管理模块、配置模块、监控模块、基板管理控制器管理模块、存储模块、任务管理模块,资源管理模块的作用是管理节点连接的服务器资源,包括添加、修改、删除服务器信息,包括基板管理控制器地址、用户名、密码、使用的协议等。配置模块通过任务管理模块调用基板管理控制器管理模块来配置基板管理控制器的相关功能、监控模块通过任务管理模块获取基板管理控制器状态信息和部件信息来监控服务器的健康状态。基板管理控制器管理模块作用是对各种型号的基板管理控制器接口进行封装,对外提供统一的管理服务接口,以屏蔽不同服务器之间接口的差异。存储模块用来存储资源管理模块、配置模块、监控模块中产生的相关信息。任务管理模块的作用是提供任务调度(调用基板管理控制器管理模块)和负载均衡管理(生成目标负载列表)。
[0164]
对基板管理控制器的管理的具体实施过程如下:(1)启动服务器管理系统,在分布式的部署模式下,任务管理模块启动任务调度功能和负载均衡功能。其中,负载均衡功能
即,主节点需要生成目标负载列表并下发至各从节点,以使各节点负载均衡。(2)通过资源管理模块添加要管理的基板管理控制器,输入要获取的信息类别,如基板管理控制器地址、用户名、密码、协议类型信息,资源管理模块根据输入信息扫描对应的服务器,将扫描到的基板管理控制器信息添加到存储模块。基板管理控制器信息包括上述信息类别对应的信息、服务器型号、基板管理控制器版本以及基本输入输出系统(basic input output system,bios)版本等。(3)基板管理控制器资源添加完成后,在接收到目标监控指令的情况下,监控模块通过任务管理模块判断该主节点是否为目标监控指令指示的基板管理控制器地址对应的节点,若是,则调用基板管理控制器管理模块,确定目标实例缓存,基于目标实例缓存,获取基板管理控制器对应的服务器信息,并实时监控服务器健康状态,将获取到的服务器信息存放到存储模块。(4)在接收到目标配置指令的情况下,配置模块通过任务管理模块判断该主节点是否为目标配置指令指示的基板管理控制器地址对应的节点,若是,则调用基板管理控制器管理模块配置基板管理控制器相关配置,如ntp配置、dns配置、日志配置或固件升级等,并将相关配置信息存放到存储模块。
[0165]
图3是本发明实施例提供的一种基板管理控制器的处理装置的结构图,该装置80可以包括:
[0166]
第一确定模块801,用于在接收到目标指令的情况下,基于目标负载列表以及所述目标指令指示的目标基板管理控制器地址,确定所述目标基板管理控制器地址对应的目标节点;所述目标负载列表中包括所述多个节点与多个基板管理控制器地址的对应关系;
[0167]
第二确定模块802,用于在所述目标节点为当前节点的情况下,基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;
[0168]
第一执行模块803,用于基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作;所述目标基板管理控制器为所述目标基板管理控制器地址对应的基板管理控制器。
[0169]
可选地,所述多个节点包括主节点以及多个从节点;所述装置80还可以包括:
[0170]
第一获取模块,用于针对所述多个节点中的任一待分配节点,获取所述待分配节点分别与分布式系统中的各基板管理控制器建立连接所需的响应时间,得到多个目标响应时间;所述分布式系统中部署有所述多个节点;
[0171]
第三确定模块用于,基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器;
[0172]
第一记录模块,用于在所述至少一个基板管理控制器满足预设分配条件的情况下,将所述待分配节点与所述至少一个基板管理控制器的基板管理控制器地址的对应关系,记录至所述目标负载列表;
[0173]
第四确定模块,用于在所述至少一个基板管理控制器不满足所述预设分配条件的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
[0174]
可选地,所述装置80还可以包括:
[0175]
第五确定模块,用于基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值;
[0176]
第六确定模块,用于基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值;
[0177]
第七确定模块,用于在所述第一比值与所述第二比值的差值小于第一预设阈值的情况下,确定所述至少一个基板管理控制器满足预设分配条件;
[0178]
第八确定模块,用于在所述第一比值与所述第二比值的差值不小于第一预设阈值的情况下,确定所述至少一个基板管理控制器不满足预设分配条件。
[0179]
可选地,所述装置80还可以包括:
[0180]
第九确定模块,用于基于所述至少一个基板管理控制器中各所述基板管理控制器接收到的历史请求次数以及目标响应时间,确定各所述基板管理控制器的历史响应时间;
[0181]
第十确定模块,用于基于所述分布式系统中的各所述基板管理控制器接收到的历史请求次数以及第一响应时间,确定各所述基板管理控制器对应的第一历史响应时间;
[0182]
第十一确定模块,用于基于各所述基板管理控制器对应的所述第一历史响应时间,确定所述分布式系统中的所有基板管理控制器的总历史响应时间。
[0183]
可选地,所述装置80还可以包括:
[0184]
第二获取模块,用于获取所述待分配节点的处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息;
[0185]
第三获取模块,用于获取所述处理器性能信息对应的第一权重、所述内存性能信息对应的第二权重、所述磁盘性能信息对应的第三权重以及所述网络性能信息对应的第四权重;
[0186]
第十二确定模块,用于基于所述处理器性能信息、所述第一权重、所述内存性能信息、所述第二权重、所述磁盘性能信息、所述第三权重、所述网络性能信息以及所述第四权重,确定所述待分配节点对应的负载指标值。
[0187]
可选地,所述装置80还可以包括:
[0188]
第四获取模块,用于获取目标时长内所述主节点以及各所述从节点的平均资源利用率;
[0189]
第十三确定模块,用于在所述主节点与任一所述从节点、或任意两个所述从节点的平均资源利用率的差值大于第二预设阈值的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。
[0190]
可选地,所述第二确定模块802可以包括:
[0191]
第一获取子模块,用于获取所述当前节点中的实例缓存;
[0192]
第二获取子模块,用于在存在对应的基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存情况下,获取与所述目标基板管理控制器地址匹配一致的基板管理控制器地址对应的实例缓存,作为待筛选实例缓存;不同待筛选实例缓存对应不同的处理操作;
[0193]
第一确定子模块,用于将对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存,确定为目标实例缓存;
[0194]
第一创建模块,用于在不存在对应的目标基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存,或不存在对应的处理操作与所述目标指令指示的操作一致
的待筛选实例缓存的情况下,基于所述目标指令,创建所述目标实例缓存。
[0195]
可选地,所述第一执行模块803可以包括:
[0196]
第一监控子模块,用于在所述目标指令为目标监控指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并通过所述目标基板管理控制器获取服务器的相关信息,基于所述相关信息对所述服务器执行所述目标监控指令指示的监控操作;所述服务器部署有所述目标基板管理控制器;
[0197]
第一配置子模块,用于在所述目标指令为目标配置指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并对所述目标基板管理控制器执行所述目标配置指令指示的配置操作。
[0198]
综上所述,本发明实施例提供的基板管理控制器的处理装置,在接收到目标指令的情况下,基于目标负载列表以及目标指令指示的目标基板管理控制器地址,确定目标基板管理控制器地址对应的目标节点;目标负载列表中包括多个节点与多个基板管理控制器地址的对应关系;在目标节点为当前节点的情况下,基于目标基板管理控制器地址以及当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作;目标基板管理控制器为目标基板管理控制器地址对应的基板管理控制器。这样,在节点接收到目标指令的情况下,可以基于目标负载列表中包含的多个节点与多个基板管理控制器地址的对应关系,判断当前节点是否为目标节点,即当前节点是否需要响应目标指令,在当前节点为目标节点,即当前节点为需要响应目标指令的目标节点的情况下,基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作,可以避免多个节点同时对同一目标指令进行响应处理,造成基板管理控制器稳定性受影响,提高了基板管理控制器的稳定性。
[0199]
本发明还提供了一种电子设备,参见图4,包括:处理器901、存储器902以及存储在所述存储器上并可在所述处理器上运行的计算机程序9021,所述处理器执行所述程序时实现前述实施例的基板管理控制器的处理方法。
[0200]
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的基板管理控制器的处理方法。
[0201]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0202]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0203]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0204]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保
护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0205]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0206]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0207]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0208]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0209]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0210]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种基板管理控制器的处理方法,其特征在于,应用于多个节点中的任一节点,所述方法包括:在接收到目标指令的情况下,基于目标负载列表以及所述目标指令指示的目标基板管理控制器地址,确定所述目标基板管理控制器地址对应的目标节点;所述目标负载列表中包括所述多个节点与多个基板管理控制器地址的对应关系;在所述目标节点为当前节点的情况下,基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作;所述目标基板管理控制器为所述目标基板管理控制器地址对应的基板管理控制器。2.根据权利要求1所述的方法,其特征在于,所述多个节点包括主节点以及多个从节点;在所述当前节点为主节点的情况下,所述方法还包括:针对所述多个节点中的任一待分配节点,获取所述待分配节点分别与分布式系统中的各基板管理控制器建立连接所需的响应时间,得到多个目标响应时间;所述分布式系统中部署有所述多个节点;基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器;在所述至少一个基板管理控制器满足预设分配条件的情况下,将所述待分配节点与所述至少一个基板管理控制器的基板管理控制器地址的对应关系,记录至所述目标负载列表;在所述至少一个基板管理控制器不满足所述预设分配条件的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。3.根据权利要求2所述的方法,其特征在于,在所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器之后,所述方法还包括:基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值;基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值;在所述第一比值与所述第二比值的差值小于第一预设阈值的情况下,确定所述至少一个基板管理控制器满足预设分配条件;在所述第一比值与所述第二比值的差值不小于第一预设阈值的情况下,确定所述至少一个基板管理控制器不满足预设分配条件。4.根据权利要求3所述的方法,其特征在于,在所述基于所述至少一个基板管理控制器的历史响应时间之和,以及所述分布式系统中的所有基板管理控制器的总历史响应时间,确定第一比值之前,所述方法还包括:基于所述至少一个基板管理控制器中各所述基板管理控制器接收到的历史请求次数以及目标响应时间,确定各所述基板管理控制器的历史响应时间;基于所述分布式系统中的各所述基板管理控制器接收到的历史请求次数以及第一响
应时间,确定各所述基板管理控制器对应的第一历史响应时间;基于各所述基板管理控制器对应的所述第一历史响应时间,确定所述分布式系统中的所有基板管理控制器的总历史响应时间。5.根据权利要求3所述的方法,其特征在于,在所述基于所述待分配节点对应的负载指标值、所述主节点的负载指标值以及各所述从节点的负载指标值,确定第二比值之前,所述方法包括:获取所述待分配节点的处理器性能信息、内存性能信息、磁盘性能信息以及网络性能信息;获取所述处理器性能信息对应的第一权重、所述内存性能信息对应的第二权重、所述磁盘性能信息对应的第三权重以及所述网络性能信息对应的第四权重;基于所述处理器性能信息、所述第一权重、所述内存性能信息、所述第二权重、所述磁盘性能信息、所述第三权重、所述网络性能信息以及所述第四权重,确定所述待分配节点对应的负载指标值。6.根据权利要求2-5任一所述的方法,其特征在于,所述方法还包括:获取目标时长内所述主节点以及各所述从节点的平均资源利用率;在所述主节点与任一所述从节点、或任意两个所述从节点的平均资源利用率的差值大于第二预设阈值的情况下,重新执行所述基于所述多个节点各自对应的目标响应时间,确定所述待分配节点所需管理的至少一个基板管理控制器的操作。7.根据权利要求1所述的方法,其特征在于,所述基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存,包括:获取所述当前节点中的实例缓存;在存在对应的基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存情况下,获取与所述目标基板管理控制器地址匹配一致的基板管理控制器地址对应的实例缓存,作为待筛选实例缓存;不同待筛选实例缓存对应不同的处理操作;将对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存,确定为目标实例缓存;在不存在对应的目标基板管理控制器地址与所述目标基板管理控制器地址一致的实例缓存,或不存在对应的处理操作与所述目标指令指示的操作一致的待筛选实例缓存的情况下,基于所述目标指令,创建所述目标实例缓存。8.根据权利要求7所述的方法,其特征在于,所述基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作,包括:在所述目标指令为目标监控指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并通过所述目标基板管理控制器获取服务器的相关信息,基于所述相关信息对所述服务器执行所述目标监控指令指示的监控操作;所述服务器部署有所述目标基板管理控制器;在所述目标指令为目标配置指令的情况下,基于所述目标实例缓存,登录所述目标基板管理控制器,并对所述目标基板管理控制器执行所述目标配置指令指示的配置操作。9.一种基板管理控制器的处理装置,其特征在于,应用于多个节点中的任一节点,所述装置包括:
第一确定模块,用于在接收到目标指令的情况下,基于目标负载列表以及所述目标指令指示的目标基板管理控制器地址,确定所述目标基板管理控制器地址对应的目标节点;所述目标负载列表中包括所述多个节点与多个基板管理控制器地址的对应关系;第二确定模块,用于在所述目标节点为当前节点的情况下,基于所述目标基板管理控制器地址以及所述当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;第一执行模块,用于基于所述目标实例缓存,对目标基板管理控制器执行所述目标指令指示的操作;所述目标基板管理控制器为所述目标基板管理控制器地址对应的基板管理控制器。10.一种电子设备,其特征在于,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-8中任一所述的基板管理控制器的处理方法。11.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-8中一个或多个所述的基板管理控制器的处理方法。
技术总结
本发明实施例提供了一种基板管理控制器的处理方法以及装置,该方在接收到目标指令的情况下,基于目标负载列表以及目标指令指示的目标基板管理控制器地址,确定目标基板管理控制器地址对应的目标节点;在目标节点为当前节点的情况下,基于目标基板管理控制器地址以及当前节点中的实例缓存对应的基板管理控制器地址,确定目标实例缓存;基于目标实例缓存,对目标基板管理控制器执行目标指令指示的操作。这样,可以提高基板管理控制器的稳定性。可以提高基板管理控制器的稳定性。可以提高基板管理控制器的稳定性。
技术研发人员:王宝山 钟以冠 张芳
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.04.28
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
