一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

负载均衡方法、装置、电子设备及存储介质与流程

2021-10-29 22:13:00 来源:中国专利 TAG:电子设备 装置 负载均衡 公开 计算机


1.本公开涉及计算机技术领域,尤其涉及负载均衡方法、装置、电子设备及存储介质。


背景技术:

2.kubernetes(简称k8s)集群往往由许多节点组成,当不同实例随机部署到这些节点上时,由于不同实例在节点上使用资源的大小不同,可能存在有的节点的负载很高,有的节点的负载很低的情况。这样,k8s集群中就会出现节点负载不均衡的问题。
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.图1是根据一示例性实施例示出的本公开实施例所适用的系统架构示意图;
28.图2是根据一示例性实施例示出的一种负载均衡方法的流程图之一;
29.图3是根据一示例性实施例示出的一种负载均衡方法的流程图之二;
30.图4是根据一示例性实施例示出的一种负载均衡方法的流程图之三;
31.图5是根据一示例性实施例示出的一种负载均衡方法的流程图之四;
32.图6是根据一示例性实施例示出的一种负载均衡方法的流程图之五;
33.图7是根据一示例性实施例示出的一种负载均衡装置的结构框图;
34.图8是根据一示例性实施例示出的一种电子设备的结构框图;
35.图9是根据一示例性实施例示出的负载均衡方法的计算机程序产品的结构示意图。
具体实施方式
36.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
37.需要说明的是,在本公开的实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
38.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
39.在本公开实施例中,“至少一个”是指一个或多个。“多个”是指两个或两个以上。
40.在本公开实施例中,“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
41.还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
42.基于背景技术,本公开实施例提供一种负载均衡方法。该方法为在确定出目标节点后,通过调整目标节点的动态系数和目标节点上运行的实例,以改变目标节点的资源使用量和资源分配量,从而实现负载均衡。相较于现有技术,该方法更简单,易于实现、效率更高。
43.图1示出了本公开实施例提供的负载均衡系统的一种结构。如图1所示,该负载均衡系统包括负载均衡装置10和多个节点11。其中,负载均衡装置10和多个节点11可以通过网络互连并通信。
44.在一些实施例中,节点11可以为物理机(如服务器),也可以为部署在物理机上的虚拟机(virtual machine,vm)。
45.负载均衡装置10,主要用于管理多个节点11,如:将新实例在节点11上进行部署,驱逐节点11上的实例,调节节点11的动态系数等等。在一些实施例中,负载均衡装置10可以是一个独立的物理机或虚拟机,还可以为负载均衡系统中的任意一个节点。
46.本领域技术人员应能理解上述节点和负载均衡装置仅为举例,其他现有的或今后可能出现的节点和负载均衡装置如可适用于本公开,也应包含在本公开保护范围以内,并在此以引用方式包含于此。
47.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
48.图2是根据一示例性实施例示出的负载均衡方法的流程示意图。该方法可以应用于图1所示的系统,如图2所示,该方法包括步骤21

步骤22。
49.步骤21:电子设备确定集群中的目标节点。
50.具体的,目标节点为资源使用量符合预设条件的节点,预设条件为资源使用量大于阈值范围的上限值,或者资源使用量小于阈值范围的下限值。
51.本公开实施例中,电子设备根据预设条件从集群中确定出符合预设条件的节点,并将符合预设条件的节点定义为目标节点。其中,预设条件定义的是节点的资源使用量的范围,预设条件为节点的资源使用量大于阈值范围的上限值,或者节点资源使用量小于阈
值范围的下限值。
52.示例性的,本公开中的集群可以是k8s集群,还可以是其它集群。在阈值范围为20%

80%的情况下,预设条件为节点的资源使用量大于80%或者节点的资源使用量小于20%。电子设备从k8s集群中获取资源使用量大于80%或者资源使用量小于20%的节点后,将该节点定义为目标节点。具体的,将节点使用资源大于80%的节点定义为高负载节点,将节点使用资源小于20%的节点定义为低负载节点。
53.步骤22:电子设备对目标节点执行负载均衡操作,负载均衡操作包括如下子步骤:
54.步骤221:采用与预设条件对应的方式,调整目标节点的动态系数,并根据调整后的动态系数和目标节点的资源提供量,确定目标节点的当前资源分配量。
55.本公开实施例中,k8s集群中的节点的资源分配量是固定不变的,由节点的硬件资源(即:节点的资源提供量)决定。对于在节点运行上的实例而言,随着实例的运行,实例所占用节点的资源使用量是变化的,有的时刻占用的资源使用量多,有的时刻占用的资源使用量低。
56.结合步骤21,在确定出目标节点后,电子设备可采用与预设条件相对应的方式,调整目标节点的动态系数,来改变节点的资源分配量。通过降低或者提高节点的资源分配量,以达到降低或者增加k8s集群中的节点上新实例数量的效果,最终实现节点的负载均衡。
57.示例性的,对于是50核100g内存的节点而言,可以为10个资源使用下限(即:在节点资源紧张时,实例最少可用的资源)为5核10g的实例分配资源;若调整动态系数是1.2时,该节点的资源分配量为动态系数(1.2)与物理资源(50核100g)的乘积,则该节点的资源分配量是60核120g,可以为12个资源使用下限为5核10g的实例分配资源;若调整动态系数是0.8时,该节点的资源分配量为动态系数(0.8)与物理资源(50核100g)的乘积,则该节点的资源分配量为40核80g,可以为8个资源使用下限为5核10g的实例分配资源。
58.若确定出目标节点的资源使用量为90%时,按照与节点的资源使用量大于80%时相对应的方式调整目标节点的动态系数,若确定出目标节点的资源使用量为15%时,按照与节点的资源使用量小于20%时相对应的方式调整目标节点的动态系数。
59.步骤222:电子设备确定目标节点的当前资源使用量与当前资源分配量之间的大小关系。
60.本公开实施例中,电子设备在确定出目标节点的当前资源分配量后,监控目标节点的当前资源使用量,在得到目标节点的当前资源分配量和当前资源使用量之后,通过比较两者之间的大小,得到当前资源分配量和当前资源使用量的大小关系。根据大小关系,再确定出后续对目标节点中的实例执行何种处理操作。其中,目标节点的资源提供量为目标节点的硬件资源量;目标节点当前资源使用量为在当前时刻目标节点上运行的所有实例分配的使用资源的下限之和。
61.步骤223:电子设备根据确定出的大小关系,更新目标节点中的实例。
62.本公开实施例中,电子设备根据确定出的目标节点当前资源使用量和当前资源分配量的大小关系,对目标节点上运行的实例进行处理。具体的,电子设备根据大小关系,可以得出目标节点当前的资源使用量是否有改变,以及改变的大小是否符合要求,若不符合要求,则通过删除实例或者增加实例的方式来降低或者提高目标资源的资源使用率,从而实现负载均衡。
63.上述方案中,电子设备确定出集群中符合预设条件的目标节点后,通过与预设条件对应的方式,来调整目标节点的动态系数,通过调整动态系数,以改变目标节点的资源分配量;然后判断目标节点当前资源使用量和资源分配量的大小关系,根据大小关系,确定出对目标节点上运行的实例执行的具体操作。在对目标节点上运行的实例执行操作后,将改变目标节点的资源使用量。本公开通过调整目标节点的动态系数,以改变目标节点的资源分配量,通过资源分配量来影响目标节点上的资源使用量,从原始分配层面来干预目标节点上的资源,实现从源头处理。这样,使得整个实现方法更高效,同时本公开的流程更短,操作起来更加方便。
64.示例性的,结合上述图2,如图3所示,上述步骤21中的确定集群中的目标节点,具体可以通过下述步骤211

步骤212实现。
65.在步骤211中,电子设备获取集群中每一节点的资源使用量。
66.在步骤212中,电子设备将资源使用量符合预设条件的节点确定为目标节点。
67.本公开实施例中,电子设备可以监控并提取集群中每一节点的节点信息,在节点的节点信息中获取可用信息,将节点信息中的可用信息与预设条件进行比较,比较后将满足预设条件的可用信息对应的节点定义为目标节点。其中,该节点的节点信息包括节点的名称和节点的资源使用量等等,可用信息为节点的资源使用量,预设条件为节点的资源使用量的范围。
68.示例性的,电子设备提取k8s集群中所有节点的节点信息,在所有节点的节点信息中查找可用信息,可用信息为节点的资源使用量。将k8s集群中每个节点的资源使用量与预设条件进行比较,比较后将符合预设条件的节点定义为目标节点。
69.上述方案中,电子设备利用资源使用量和预设条件来确定目标节点。由于负载均衡是通过资源使用量来体现的,本公开以资源使用量作为选择目标节点依据,可以为后续精确解决负载均衡的问题,提供数据基础。
70.在本公开实施例中,结合上述图2,如图4所示,在预设条件为资源使用量大于阈值范围的上限值时,步骤221包括:步骤2211,采用与资源使用量大于阈值范围的上限值对应的方式,调低目标节点的动态系数,并根据调整后的动态系数和目标节点的资源提供量,确定目标节点的当前资源分配量。
71.其中,动态系数与当前资源分配量正相关。
72.本公开实施例中,当预设条件为资源使用量大于阈值范围的上限值时,说明目标节点的资源使用量过高,需要降低目标节点的资源使用量。由于动态系数与当前资源分配量正相关,为了降低目标节点的资源使用量,电子设备可以通过调低目标节点的动态系数,以降低目标节点的资源分配量,从而间接降低资源使用量。其中,动态系数的调低可以是多次小幅调整,还可以是一次性调整较大幅度,然后逐步调整到最佳。具体的调低方式按照实际的使用需求即可,本公开对此不作限制。
73.示例性的,在阈值范围为20%

80%,且目标节点的资源使用量为90%时,则确定目标节点的资源使用量大于80%,需要调低目标节点的动态系数。其中,目标节点的动态系数可以从标准数据1降低到0.8。降低的数据跨度可以根据实际需求确定,本公开对此不作限制。
74.上述方案中,当目标节点的资源使用量大于阈值范围的上限值时,电子设备通过
调低动态系数来降低目标节点的资源分配量,从而避免后续接入该目标节点的实例过多,从源头上降低了目标节点的资源使用量,以进一步解决了目标节点的负载均衡问题。
75.在本公开实施例中,结合上述图2,如图4所示,步骤223包括:步骤2231,若目标节点中当前资源使用量大于当前资源分配量,则触发实例驱逐操作。
76.其中,实例驱逐操作为驱逐目标节点中的目标实例,目标实例为占用当前资源使用量的比例超过门限值的实例。
77.具体的,电子设备从目标节点中选取占用当前资源使用量的比例超过门限值的实例作为目标实例,在选取出目标实例后,对目标实例进行标记,便于在执行实例驱逐操作时,直接将标记的目标实例进行驱逐。其中,电子设备可以一次性选取出所有符合要求的目标实例,然后标记所有符合要求的目标实例,在确定执行实例驱逐操作时,逐次对标记后的目标实例进行删除;还可以每次只选取出一个符合要求的目标实例,然后标记该目标实例,在确定执行实例驱逐操作时,只删除该目标实例。若删除目标实例后,该目标节点中的实例仍符合预设条件时,则电子设备再次选取目标实例。标记方式可以是文本标记还可以是字段标记。本公开对此不作限制。
78.本公开实施例中,当预设条件为资源使用量大于阈值范围的上限值时,调低目标节点的动态系数,在调低目标节点的动态系数后,若目标节点中当前资源使用量仍大于当前资源分配量,则触发实例驱逐操作。在执行实例驱逐操作后,目标节点的资源使用量将会直接降低。其中,实例驱逐操作为删除目标节点中运行的目标实例。执行实例驱逐操作的设备可以是电子设备,还可以是k8s集群,本公开对此不作限制。
79.上述方案中,当目标节点中当前资源使用量大于当前资源分配量时,电子设备通过驱逐目标实例的方式来降低目标节点的资源使用量。这样,可以解决负载均衡的问题,同时提高后续目标节点的响应时间和服务质量。
80.在本公开实施例中,结合上述图2,如图5所示,在预设条件为资源使用量小于阈值范围的下限值时,步骤221包括:步骤2212,采用与资源使用量小于阈值范围的下限值对应的方式,电子设备调高目标节点的动态系数,并根据调整后的动态系数和目标节点的资源提供量,确定目标节点的当前资源分配量。
81.其中,动态系数与当前资源分配量正相关。
82.本公开实施例中,当预设条件为资源使用量小于阈值范围的下限值时,说明目标节点的资源使用量过低,需要提高目标节点的资源使用量。为了提高目标节点的资源使用量,电子设备需要调高目标节点的动态系数,以提高目标节点的资源分配量,从而间接提高资源使用量。其中,动态系数的调高可以是多次小幅调整,还可以是一次性调整较大幅度,然后逐步调整到最佳。具体的调高方式按照实际的使用需求即可,本公开对此不作限制。
83.示例性的,在阈值范围为20%

80%,且目标节点的资源使用量为15%时,则确定目标节点的资源使用量小于20%,需要提高目标节点的动态系数。其中,目标节点的动态系数可以从标准数据1提高到1.2,提高的数据跨度可以根据实际需求确定,本公开对此不作限制。
84.上述方案中,当目标节点的资源使用量小于阈值范围的上限值时,电子设备通过调高动态系数来提高目标节点的资源分配量,从而增加后续接入该目标节点的实例,从源头上提高目标节点的资源使用量,以进一步解决了目标节点的负载均衡问题。
85.在本公开实施例中,结合上述图2,如图5所示,步骤223包括:步骤2232,若目标节点中当前资源使用量小于当前资源分配量,则触发实例添加操作,实例添加操作为在目标节点中添加实例。
86.本公开实施例中,当预设条件为资源使用量小于阈值范围的下限值时,调高目标节点的动态系数,在调高目标节点的动态系数后,若目标节点中当前资源使用量小于当前资源分配量,则确定目标节点存在资源余量。存在资源余量后,说明目标节点上有足够的资源可以用来容纳新的实例。此时,将触发实例添加操作。在执行实例添加操作后,目标节点的资源使用量将会直接提高,从而进一步提升目标节点的资源利用率。
87.本公开实施例中,采用上述方式来表征当目标节点的资源使用量小于当前资源分配量时,电子设备通过添加新实例的方式来提高目标节点资源使用量,不仅解决了目标节点的负载均衡问题,同时提高了目标节点的资源利用率。
88.在本公开实施例中,结合上述图2,如图6所示,在步骤223之后还包括:
89.步骤23:判断实例处理后的目标节点的资源使用量是否符合预设条件。
90.具体的,若实例更新后的目标节点的资源使用量符合预设条件,电子设备则重复执行负载均衡操作,直到当前资源使用量不符合预设条件为止。
91.本公开实施例中,结合上述描述,在执行完步骤223之后,电子设备获取实例处理后的目标节点的资源使用量,并判断目标节点的资源使用量是否符合预设条件。若目标节点的资源使用量符合预设条件,则继续执行负载均衡装置,直到当前资源使用量不符合预设条件为止。
92.示例性的,电子设备获取实例处理后的目标节点的资源使用量,判断目标节点的资源使用量是否符合预设条件(如:目标节点的资源使用量为大于80%或者小于20%),若符合,则继续执行动态系数调整(如:调低动态系数或者调高动态系数),判断目标节点当前资源使用量与当前资源分配量的大小以及更新目标节点上的实例(如:驱逐目标实例或者等待添加实例)等操作,直到当前资源使用量不符合预设条件(如:目标节点的资源使用量为大于20%且小于80%)。
93.可选的,在重复执行负载均衡操作的过程中,动态系数调整的单位和调整幅度可能相同,也可能不同;目标实例驱逐的个数可以相同,也可以不同;新实例的添加个数可以相同,也可以不同,本公开对此不作限定。
94.本公开实施例中,采用上述方式来表征当负载均衡操作一次执行后,目标节点不能达到预期资源使用量时,通过执行多次负载均衡操作以达到预期的资源使用量。在达到预期的资源使用量后,目标节点的数据处理能力不仅得到提升,包含目标节点的k8s集群的数据处理能力也得到了大幅提升。
95.上述主要从方法的角度对本公开实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
96.本公开实施例可以根据上述方法示例对负载均衡装置进行功能模块的划分,例如
可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
97.本公开实施例还提供一种负载均衡装置。该负载均衡装置可以为电子设备,也可以是电子设备中的芯片,还可以是电子设备中的处理模块。
98.图7是根据一示例性实施例示出的一种负载均衡装置70的逻辑结构框图。参照图7,该负载均衡装置70包括:处理模块71、调整模块72和获取模块73。
99.其中,处理模块71,被配置为确定集群中的目标节点,目标节点为资源使用量符合预设条件的节点;预设条件为资源使用量大于阈值范围的上限值,或者资源使用量小于阈值范围的下限值。例如,参照图2所示,处理模块71,被配置为执行步骤21。
100.调整模块72,被配置为对目标节点执行负载均衡操作,负载均衡操作包括:采用与预设条件对应的方式,调整目标节点的动态系数,并根据调整后的动态系数和目标节点的资源提供量,确定目标节点的当前资源分配量;确定目标节点的当前资源使用量与当前资源分配量之间的大小关系;根据确定出的大小关系,更新目标节点中的实例。例如,参照图2所示,调整模块72,被配置为执行步骤22中的步骤221、步骤222和步骤223。
101.可选的,调整模块72,还被配置为采用与资源使用量大于阈值范围的上限值对应的方式,调低目标节点的动态系数,并根据调整后的动态系数和目标节点的资源提供量,确定目标节点的当前资源分配量,动态系数与当前资源分配量正相关。例如,参照图4所示,调整模块72,被配置为执行步骤221中的步骤2211。
102.可选的,处理模块71,还被配置为若目标节点中当前资源使用量大于当前资源分配量,则触发实例驱逐操作,实例驱逐操作为驱逐目标节点中的目标实例,目标实例为占用当前资源使用量的比例超过门限值的实例。例如,参照图4所示,处理模块71,被配置为执行步骤223中的步骤2231。
103.可选的,调整模块72,还被配置为采用与资源使用量小于阈值范围的下限值对应的方式,调高目标节点的动态系数,并根据调整后的动态系数和目标节点的资源提供量,确定目标节点的当前资源分配量,动态系数与当前资源分配量正相关。例如,参照图5所示,调整模块72,被配置为执行步骤221中的步骤2212。
104.可选的,处理模块71,还被配置为若目标节点中当前资源使用量小于当前资源分配量,则触发实例添加操作,实例添加操作为在目标节点中添加实例。例如,参照图5所示,处理模块71,被配置为执行步骤223中的步骤2232。
105.可选的,处理模块71,还被配置为若实例更新后的目标节点的资源使用量符合预设条件,则重复执行负载均衡操作,直到当前资源使用量不符合预设条件为止。例如,参照图6所示,处理模块71,被配置为执行步骤22中的步骤23。
106.可选的,负载均衡装置还包括获取模块73。获取模块73被配置为获取集群中每一节点的资源使用量。例如,参照图3所示,获取模块73,被配置为执行步骤211。
107.处理模块71,还被配置为将资源使用量符合预设条件的节点确定为目标节点。例如,参照图3所示,处理模块71,被配置为执行步骤212。
108.在一个示例中,参见图8,上述获取模块73的接收功能可以由图8中的通信接口801
实现。当然,本公开实施例提供的负载均衡装置包括但不限于上述模块,例如负载均衡装置还可以包括存储模块74。存储模块74可以用于存储该写负载均衡装置的程序代码,还可以用于存储写负载均衡装置在运行过程中生成的数据,如写请求中的数据等。
109.图8是根据一示例性实施例示出的一种电子设备的硬件结构示意图。该电子设备可以包括处理器802,处理器802用于执行应用程序代码,从而实现本公开中的负载均衡方法。
110.处理器802可以是一个中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application

specific integrated circuit,asic),或一个或多个用于控制本公开方案程序执行的集成电路。
111.如图8所示,电子设备还可以包括存储器803。其中,存储器803用于存储执行本公开方案的应用程序代码,并由处理器802来控制执行。
112.存储器803可以是只读存储器(read

only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、只读光盘(compact disc read

only memory,cd

rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器803可以是独立存在,通过总线804与处理器802相连接。存储器803也可以和处理器802集成在一起。
113.如图8所示,电子设备还可以包括通信接口801,其中,通信接口801、处理器802、存储器803可以相互耦合,例如,通过总线804相互耦合。通信接口801用于与其他设备进行信息交互,例如支持电子设备与其他设备的信息交互。
114.需要指出的是,图8中示出的设备结构并不构成对该电子设备的限定,除图8所示部件之外,该电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
115.在实际实现时,处理模块71、调整模块72所实现的功能可以由图8所示的处理器802调用存储器803中的程序代码来实现。其具体的执行过程可参考图2所示的负载均衡方法部分的描述,这里不再赘述。
116.本公开还提供了一种包括指令的计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机能够执行上述所示实施例提供的负载均衡方法。例如,计算机可读存储介质可以为包括指令的存储器803,上述指令可由电子设备的处理器802执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、ram、cd

rom、磁带、软盘和光数据存储设备等。
117.图9示意性地示出本公开实施例提供的计算机程序产品的概念性局部视图,计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。
118.在一个实施例中,计算机程序产品是使用信号承载介质910来提供的。信号承载介质99可以包括一个或多个程序指令,其当被一个或多个处理器运行时可以提供以上针对图
2描述的功能或者部分功能。因此,例如,参考图2中所示的实施例,步骤21~步骤22的一个或多个特征可以由与信号承载介质910相关联的一个或多个指令来承担。此外,图9中的程序指令也描述示例指令。
119.在一些示例中,信号承载介质910可以包含计算机可读介质911,诸如但不限于,硬盘驱动器、紧密盘(cd)、数字视频光盘(dvd)、数字磁带、存储器、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等等。
120.在一些实施方式中,信号承载介质910可以包含计算机可记录介质912,诸如但不限于,存储器、读/写(r/w)cd、r/w dvd、等等。
121.在一些实施方式中,信号承载介质910可以包含通信介质913,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。
122.信号承载介质910可以由无线形式的通信介质913来传达。一个或多个程序指令可以是,例如,计算机可执行指令或者逻辑实施指令。
123.在一些示例中,诸如针对图7描述的负载均衡装置可以被配置为,响应于通过计算机可读介质911、计算机可记录介质912、和/或通信介质913中的一个或多个程序指令,提供各种操作、功能、或者动作。
124.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全分类部或者部分功能。
125.在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
126.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全分类部单元来实现本实施例方案的目的。
127.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
128.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全分类部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例方法的全分类部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
129.以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜