一种负载均衡预测方法、装置、系统以及存储介质转让专利

申请号 : CN202310207789.7

文献号 : CN116069594B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邬少飞李星

申请人 : 武汉工程大学

摘要 :

本发明提供负载均衡预测方法、装置、系统以及存储介质,属于数据分类领域,方法包括:S1:从HBase数据库中获得服务器、区域拥有数、区域、区域访问量和区域访问时间;S2:将区域访问量与区域访问时间相除对应得到区域访问热度;S3:根据区域拥有数以及区域访问热度进行热负载的计算得到热负载,并将区域拥有数作为量负载;S4:根据热负载以及量负载进行总负载的计算得到总负载;S5:根据量负载对服务器进行划分得到饥饿服务器组、正常服务器组以及过载服务器组。本发明可以实现对热点数据更快速的处理,实现了数据的均匀分布,提高了数据的存储效率,适合普遍推广。

权利要求 :

1.一种负载均衡预测方法,其特征在于,包括如下步骤:S1:从HBase数据库中获得多个服务器、与各个所述服务器一一对应的区域拥有数、多个区域以及多个区域数据,每个所述区域数据包括区域访问量和区域访问时间;

S2:分别将各个所述区域的区域访问量与所述区域访问时间相除,对应得到各个所述区域的区域访问热度;

S3:根据各个所述服务器所对应的区域拥有数以及多个所述区域的区域访问热度进行热负载的计算,得到各个所述服务器的热负载,并将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载;

S4:根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载;

S5:根据所有所述服务器的量负载对所有所述服务器进行划分,得到饥饿服务器组、正常服务器组以及过载服务器组;

S6:根据所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中服务器的总负载、热负载、多个所述区域以及多个所述区域的区域访问热度进行负载均衡分析,得到负载均衡结果;

所述S6的过程包括:

S61:按照所述服务器的总负载从大到小的顺序分别对所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中的服务器进行排序,对应得到排序后过载服务器组、排序后饥饿服务器组以及排序后正常服务器组;

S62:统计所述排序后饥饿服务器组中服务器的总数,得到饥饿服务器总数;

S63:判断所述饥饿服务器总数是否为预设阈值,若是,则将所述排序后正常服务器组作为所述排序后饥饿服务器组,并执行S64;若否,则执行S64;

S64:判断所述排序后过载服务器组中第一个服务器的总负载是否大于所述排序后饥饿服务器组中最后一个服务器的总负载,若是,则执行S65;若否,则执行S66;

S65:筛选所述排序后过载服务器组中第一个服务器内所有所述区域的区域访问热度的最大值,筛选后得到最大区域访问热度,并将所述最大区域访问热度所对应的区域移动至所述排序后饥饿服务器组中,并执行S67‑S68;

S66:筛选所述排序后过载服务器组中最后一个服务器内所有所述区域的区域访问热度的最小值,筛选后得到最小区域访问热度,并将所述最小区域访问热度所对应的区域移动至所述排序后饥饿服务器组中,并执行S67‑S68;

S67:统计所述排序后过载服务器组中服务器的总数,得到过载服务器总数;

S68:判断所述过载服务器总数是否为所述预设阈值,若否,则返回S3;若是,则将已达到负载均衡作为负载均衡结果。

2.根据权利要求1所述的负载均衡预测方法,其特征在于,所述S3的过程包括:基于第一式,根据各个所述服务器所对应的区域拥有数以及多个区域访问热度进行热负载的计算,得到各个所述服务器的热负载,所述第一式为:,

其中, 为第 个服务器的热负载, 为第 个服务器的第 个区域访问热度, 为第 个服务器的区域拥有数;

将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载。

3.根据权利要求1所述的负载均衡预测方法,其特征在于,所述S4的过程包括:基于第二式,根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载,所述第二式为:,

其中, 为第 个服务器的总负载, 为第 个服务器的量负载, 为第个服务器的热负载, 为第 个服务器的热负载, 为第 个服务器的量负载,为服务器总数。

4.根据权利要求1所述的负载均衡预测方法,其特征在于,所述S5的过程包括:基于第三式,根据所有所述服务器的量负载进行预期最大负载的计算,得到预期最大负载,所述第三式为:,

其中, 为预期最大负载, 为第 个服务器的量负载,为服务器总数,为偏移量;

基于第四式,根据所有所述服务器的量负载进行预期最小负载的计算,得到预期最小负载,所述第四式为:,

其中, 为预期最小负载, 为第 个服务器的量负载,为服务器总数,为偏移量;

若所述服务器的量负载小于所述预期最小负载,则将所述服务器的量负载对应的服务器作为饥饿服务器;若所述服务器的量负载大于或者等于所述预期最小负载,且小于或者等于所述预期最大负载,则将所述服务器的量负载对应的服务器作为正常服务器;若所述服务器的量负载大于所述预期最大负载,则将所述服务器的量负载对应的服务器作为过载服务器;

集合所有所述饥饿服务器得到饥饿服务器组,并集合所有所述正常服务器得到正常服务器组,且集合所有所述过载服务器得到过载服务器组。

5.一种负载均衡预测装置,其特征在于,包括:

数据获取模块,用于从HBase数据库中获得多个服务器、与各个所述服务器一一对应的区域拥有数、多个区域以及多个区域数据,每个所述区域数据包括区域访问量和区域访问时间;

访问热度获得模块,用于分别将各个所述区域的区域访问量与所述区域访问时间相除,对应得到各个所述区域的区域访问热度;

负载获得模块,用于根据各个所述服务器所对应的区域拥有数以及多个所述区域的区域访问热度进行热负载的计算,得到各个所述服务器的热负载,并将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载;

总负载计算模块,用于根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载;

划分模块,用于根据所有所述服务器的量负载对所有所述服务器进行划分,得到饥饿服务器组、正常服务器组以及过载服务器组;

负载均衡结果获得模块,用于根据所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中服务器的总负载、热负载、多个所述区域以及多个所述区域的区域访问热度进行负载均衡分析,得到负载均衡结果;

所述负载均衡结果获得模块具体用于:

S61:按照所述服务器的总负载从大到小的顺序分别对所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中的服务器进行排序,对应得到排序后过载服务器组、排序后饥饿服务器组以及排序后正常服务器组;

S62:统计所述排序后饥饿服务器组中服务器的总数,得到饥饿服务器总数;

S63:判断所述饥饿服务器总数是否为预设阈值,若是,则将所述排序后正常服务器组作为所述排序后饥饿服务器组,并执行S64;若否,则执行S64;

S64:判断所述排序后过载服务器组中第一个服务器的总负载是否大于所述排序后饥饿服务器组中最后一个服务器的总负载,若是,则执行S65;若否,则执行S66;

S65:筛选所述排序后过载服务器组中第一个服务器内所有所述区域的区域访问热度的最大值,筛选后得到最大区域访问热度,并将所述最大区域访问热度所对应的区域移动至所述排序后饥饿服务器组中,并执行S67‑S68;

S66:筛选所述排序后过载服务器组中最后一个服务器内所有所述区域的区域访问热度的最小值,筛选后得到最小区域访问热度,并将所述最小区域访问热度所对应的区域移动至所述排序后饥饿服务器组中,并执行S67‑S68;

S67:统计所述排序后过载服务器组中服务器的总数,得到过载服务器总数;

S68:判断所述过载服务器总数是否为所述预设阈值,若否,则返回所述负载获得模块;

若是,则将已达到负载均衡作为负载均衡结果。

6.根据权利要求5所述的负载均衡预测装置,其特征在于,所述负载获得模块具体用于:基于第一式,根据各个所述服务器所对应的区域拥有数以及多个区域访问热度进行热负载的计算,得到各个所述服务器的热负载,所述第一式为:,

其中, 为第 个服务器的热负载, 为第 个服务器的第 个区域访问热度, 为第 个服务器的区域拥有数;

将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载。

7.根据权利要求5所述的负载均衡预测装置,其特征在于,所述总负载计算模块具体用于:基于第二式,根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载,所述第二式为:,

其中, 为第 个服务器的总负载, 为第 个服务器的量负载, 为第个服务器的热负载, 为第 个服务器的热负载, 为第 个服务器的量负载,为服务器总数。

8.一种负载均衡预测系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,实现如权利要求1至4任一项所述的负载均衡预测方法。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如权利要求1至4任一项所述的负载均衡预测方法。

说明书 :

一种负载均衡预测方法、装置、系统以及存储介质

技术领域

[0001] 本发明主要涉及数据分类技术领域,具体涉及一种负载均衡预测方法、装置、系统以及存储介质。

背景技术

[0002] 负载均衡是解决HBase的数据高效存储的重要手段之一,是当前基于HBase的数据存储效率优化的研究热点,这些优化在车联网、医疗数据存储,电子信息收集等物联网领域具有极大的应用价值。负载均衡是数据存储的优化实现,通过负载均衡能够将数据更加均匀的分布在HBase下不同的Region Server中。确保数据的上传压力被分布到不同的RegionServer上,从而提高数据的存储效率。负载均衡涉及多种因素的影响,包括单个Region的访问成本,Region的迁移成本,Region的数目倾斜成本等。当前常见的简单负载均衡算法仅通过平衡不同Region Server下Region数目实现负载均衡。当出现多个Region为访问热点时,会影响到系统性能。为优化系统性能,新提出了随机负载均衡算法,该算法从多个维度考虑Region Server的负载,虽然有效地提高了负载均衡效果提升了HBase的存储效率,同时其对Region热度的衡量方式为累计访问量,但这会导致无法及时识别热点Region,从而无法实现数据更均匀的分布在Region Server上。

发明内容

[0003] 本发明所要解决的技术问题是针对现有技术的不足,提供一种负载均衡预测方法、装置、系统以及存储介质。
[0004] 本发明解决上述技术问题的技术方案如下:一种负载均衡预测方法,包括如下步骤:
[0005] S1:从HBase数据库中获得多个服务器、与各个所述服务器一一对应的区域拥有数、多个区域以及多个区域数据,每个所述区域数据包括区域访问量和区域访问时间;
[0006] S2:分别将各个所述区域的区域访问量与所述区域访问时间相除,对应得到各个所述区域的区域访问热度;
[0007] S3:根据各个所述服务器所对应的区域拥有数以及多个所述区域的区域访问热度进行热负载的计算,得到各个所述服务器的热负载,并将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载;
[0008] S4:根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载;
[0009] S5:根据所有所述服务器的量负载对所有所述服务器进行划分,得到饥饿服务器组、正常服务器组以及过载服务器组;
[0010] S6:根据所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中服务器的总负载、热负载、多个所述区域以及多个所述区域的区域访问热度进行负载均衡分析,得到负载均衡结果。
[0011] 本发明解决上述技术问题的另一技术方案如下:一种负载均衡预测装置,包括:
[0012] 数据获取模块,用于从HBase数据库中获得多个服务器、与各个所述服务器一一对应的区域拥有数、多个区域以及多个区域数据,每个所述区域数据包括区域访问量和区域访问时间;
[0013] 访问热度获得模块,用于分别将各个所述区域的区域访问量与所述区域访问时间相除,对应得到各个所述区域的区域访问热度;
[0014] 负载获得模块,用于根据各个所述服务器所对应的区域拥有数以及多个所述区域的区域访问热度进行热负载的计算,得到各个所述服务器的热负载,并将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载;
[0015] 总负载计算模块,用于根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载;
[0016] 划分模块,用于根据所有所述服务器的量负载对所有所述服务器进行划分,得到饥饿服务器组、正常服务器组以及过载服务器组;
[0017] 负载均衡结果获得模块,用于根据所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中服务器的总负载、热负载、多个所述区域以及多个所述区域的区域访问热度进行负载均衡分析,得到负载均衡结果。
[0018] 基于上述一种负载均衡预测方法,本发明还提供一种负载均衡预测系统。
[0019] 本发明解决上述技术问题的另一技术方案如下:一种负载均衡预测系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的负载均衡预测方法。
[0020] 基于上述一种负载均衡预测方法,本发明还提供一种计算机可读存储介质。
[0021] 本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的负载均衡预测方法。
[0022] 本发明的有益效果是:通过将区域访问量与区域访问时间相除对应得到区域访问热度,根据区域拥有数以及区域访问热度的热负载计算得到热负载,并将区域拥有数作为量负载,根据热负载以及量负载的总负载计算得到总负载,根据量负载对服务器的划分得到饥饿服务器组、正常服务器组以及过载服务器组,根据总负载、热负载、区域以及区域访问热度的负载均衡分析得到负载均衡结果,可以实现对热点数据更快速的处理,实现了数据的均匀分布,提高了数据的存储效率,适合普遍推广。

附图说明

[0023] 图1为本发明实施例提供的一种负载均衡预测方法的流程示意图;
[0024] 图2为本发明实施例提供的一种负载均衡预测装置的模块框图。

具体实施方式

[0025] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0026] 图1为本发明实施例提供的一种负载均衡预测方法的流程示意图。
[0027] 如图1所示,一种负载均衡预测方法,包括如下步骤:
[0028] S1:从HBase数据库中获得多个服务器、与各个所述服务器一一对应的区域拥有数、多个区域以及多个区域数据,每个所述区域数据包括区域访问量和区域访问时间;
[0029] S2:分别将各个所述区域的区域访问量与所述区域访问时间相除,对应得到各个所述区域的区域访问热度;
[0030] S3:根据各个所述服务器所对应的区域拥有数以及多个所述区域的区域访问热度进行热负载的计算,得到各个所述服务器的热负载,并将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载;
[0031] S4:根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载;
[0032] S5:根据所有所述服务器的量负载对所有所述服务器进行划分,得到饥饿服务器组、正常服务器组以及过载服务器组;
[0033] S6:根据所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中服务器的总负载、热负载、多个所述区域以及多个所述区域的区域访问热度进行负载均衡分析,得到负载均衡结果。
[0034] 应理解地,所述服务器指的是HBase数据库中的Region Server,所述区域指的是HBase数据库中的Region。
[0035] 应理解地,对汽车产生的数据进行收集,得到数字化的数据进行保存,将这些数据作为输入,输入所述HBase数据库中,在这个过程中采集HBase数据库的每一个Region的访问量(即所述区域访问量)、对应的访问时间(即所述区域访问时间),每个Region Server的访问量及Region Server下的Region拥有数(即所述区域拥有数),保存这些数据。
[0036] 具体地,对采集到的数据进行处理,第一步时获取单个Region的热度(即所述区域访问热度),已知单个Region的访问量(即所述区域访问量)和该访问量对应的访问的时间(即所述区域访问时间),通过计算可以获取Region单位时间内的读写访问量(即所述区域访问热度),为衡量单个Region的热度(即所述区域访问热度),需要对不同的访问方式赋予不同的权重因子,综合考虑访问行为的权重因子和访问行为对应的访问量,可以求取单个Region的访问热度(即所述区域访问热度)。
[0037] 上述实施例中,通过将区域访问量与区域访问时间相除对应得到区域访问热度,根据区域拥有数以及区域访问热度的热负载计算得到热负载,并将区域拥有数作为量负载,根据热负载以及量负载的总负载计算得到总负载,根据量负载对服务器的划分得到饥饿服务器组、正常服务器组以及过载服务器组,根据总负载、热负载、区域以及区域访问热度的负载均衡分析得到负载均衡结果,可以实现对热点数据更快速的处理,实现了数据的均匀分布,提高了数据的存储效率,适合普遍推广。
[0038] 可选地,作为本发明的一个实施例,所述S3的过程包括:
[0039] 基于第一式,根据各个所述服务器所对应的区域拥有数以及多个区域访问热度进行热负载的计算,得到各个所述服务器的热负载,所述第一式为:
[0040] ,
[0041] 其中, 为第 个服务器的热负载, 为第 个服务器的第 个区域访问热度, 为第 个服务器的区域拥有数;
[0042] 将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载。
[0043] 应理解地,一个Region Server的所述热负载为其下Region热度(即所述区域访问热度)和与其下Region量(即所述区域拥有数)的商。同时Region Server的所述量负载为其下Region的数目(即所述区域拥有数)。
[0044] 具体地,先求得Region Server的所述热负载, 为Region Server的热负载,N为一个Region Server下的Region数目(即所述区域拥有数), 为单个Region的热负载(即所述区域访问热度),具体的所述热负载表达式为:
[0045] ,
[0046] 然后求的Region Server的所述量负载,量负载为Region Server上Region数目(即所述区域拥有数),用 表示。
[0047] 上述实施例中,根据区域拥有数以及区域访问热度的热负载计算得到热负载,并将区域拥有数作为量负载,对不同的访问方式赋予了不同的权重因子,综合考虑了访问行为的权重因子和访问行为对应的访问量,实现了数据的均匀分布,提高了数据的存储效率。
[0048] 可选地,作为本发明的一个实施例,所述S4的过程包括:
[0049] 基于第二式,根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载,所述第二式为:
[0050] ,
[0051] 其中, 为第 个服务器的总负载, 为第 个服务器的量负载, 为第 个服务器的热负载, 为第 个服务器的热负载, 为第 个服务器的量负
载,为服务器总数。
[0052] 应理解地,对处理过后的Region Server的所述热负载和所述量负载进行归一化处理,使热负载和量负载对于系统的影响趋同化,相加后即可获得Region Serve的所述总负载。
[0053] 具体地,可以对所述热负载和所述量负载进行归一化处理求得Region Server的所述总负载表达式如下:
[0054] 。
[0055] 上述实施例中,基于第二式根据热负载以及量负载进行总负载的计算得到总负载,能够使热负载和量负载对于系统的影响趋同化,提高了数据的存储效率。
[0056] 可选地,作为本发明的一个实施例,所述S5的过程包括:
[0057] 基于第三式,根据所有所述服务器的量负载进行预期最大负载的计算,得到预期最大负载,所述第三式为:
[0058] ,
[0059] 其中, 为预期最大负载, 为第 个服务器的量负载,为服务器总数,为偏移量;
[0060] 基于第四式,根据所有所述服务器的量负载进行预期最小负载的计算,得到预期最小负载,所述第四式为:
[0061] ,
[0062] 其中, 为预期最小负载, 为第 个服务器的量负载,为服务器总数,为偏移量;
[0063] 若所述服务器的量负载小于所述预期最小负载,则将所述服务器的量负载对应的服务器作为饥饿服务器;若所述服务器的量负载大于或者等于所述预期最小负载,且小于或者等于所述预期最大负载,则将所述服务器的量负载对应的服务器作为正常服务器;若所述服务器的量负载大于所述预期最大负载,则将所述服务器的量负载对应的服务器作为过载服务器;
[0064] 集合所有所述饥饿服务器得到饥饿服务器组,并集合所有所述正常服务器得到正常服务器组,且集合所有所述过载服务器得到过载服务器组。
[0065] 应理解地,进行负载均衡处理,对苏搜量负载运用Load的计算公式计算出所述预期最大负载和所述预期最小负载,用这两个负载指标将Region Server(即所述服务器)划分为过载Region Server(即所述过载服务器),饥饿Region Server(即所述饥饿服务器)和正常Region Server(即所述正常服务器)。
[0066] 上述实施例中,根据服务器的量负载对服务器进行划分得到饥饿服务器组、正常服务器组以及过载服务器组,为后续数据处理提供奠定基础,可以实现对热点数据更快速的处理,实现了数据的均匀分布,提高了数据的存储效率,适合普遍推广。
[0067] 可选地,作为本发明的一个实施例,所述S6的过程包括:
[0068] S61:按照所述服务器的总负载从大到小的顺序分别对所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中的服务器进行排序,对应得到排序后过载服务器组、排序后饥饿服务器组以及排序后正常服务器组;
[0069] S62:统计所述排序后饥饿服务器组中服务器的总数,得到饥饿服务器总数;
[0070] S63:判断所述饥饿服务器总数是否为预设阈值,若是,则将所述排序后正常服务器组作为所述排序后饥饿服务器组,并执行S64;若否,则执行S64;
[0071] S64:判断所述排序后过载服务器组中第一个服务器的总负载是否大于所述排序后饥饿服务器组中最后一个服务器的总负载,若是,则执行S65;若否,则执行S66;
[0072] S65:筛选所述排序后过载服务器组中第一个服务器内所有所述区域的区域访问热度的最大值,筛选后得到最大区域访问热度,并将所述最大区域访问热度所对应的区域移动至所述排序后饥饿服务器组中,并执行S67‑S68;
[0073] S66:筛选所述排序后过载服务器组中最后一个服务器内所有所述区域的区域访问热度的最小值,筛选后得到最小区域访问热度,并将所述最小区域访问热度所对应的区域移动至所述排序后饥饿服务器组中,并执行S67‑S68;
[0074] S67:统计所述排序后过载服务器组中服务器的总数,得到过载服务器总数;
[0075] S68:判断所述过载服务器总数是否为所述预设阈值,若否,则返回S3;若是,则将已达到负载均衡作为负载均衡结果。
[0076] 应理解地,将过载Region Server(即所述排序后过载服务器组)中的Region(即所述区域)向饥饿Region Server(即所述排序后饥饿服务器组)迁移时,对Region Server间的热度(即所述总负载)进行比较,若是过载Region Server(即所述排序后过载服务器组)的热度更高,则迁移过载Region Server(即所述排序后过载服务器组)中热度最高的Region(即所述最大区域访问热度),否则迁移过载Region Server(即所述排序后过载服务器组)中热度最低的Region(即所述最小区域访问热度)。通过这一方法能够保证不同负载的Region Server上的热度趋于平衡。
[0077] 具体地,将Region Server(即所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中的服务器)按照负载(即所述总负载)进行排序。将过载Region Server中总负载最大者S(即所述排序后过载服务器组中第一个服务器的总负载)作为源地址,将饥饿Region Server中总负载最小者T(即所述排序后饥饿服务器组中最后一个服务器的总负载)作为目的地址,进行Region迁移,比较S(即所述排序后过载服务器组中第一个服务器的总负载)和T(即所述排序后饥饿服务器组中最后一个服务器的总负载)的热度,若S(即所述排序后过载服务器组中第一个服务器的总负载)热度高则迁移S(即所述排序后过载服务器组中第一个服务器的总负载)中热度(所述区域热负载)最高Region,否则迁移热度最低Region,迁移后重新计算Region Server的负载(即所述量负载和所述热负载),直到过载Region Server(即所述排序后过载服务器组中)为空。若饥饿Region Server(即所述排序后饥饿服务器组)为空后过载队列(即所述排序后过载服务器组中)仍不为空,将过载Region Server中总负载最大者S(即所述排序后过载服务器组中第一个服务器的总负载)作为源地址,将正常Region Server中总负载最小者T(即将所述排序后正常服务器组作为所述排序后饥饿服务器组)作为目的地址,进行Region迁移,比较S(即所述排序后过载服务器组中第一个服务器的总负载)和T(即所述排序后饥饿服务器组中最后一个服务器的总负载)的热度,若S(即所述排序后过载服务器组中第一个服务器的总负载)度高则迁移S(即所述排序后过载服务器组中第一个服务器的总负载)中热度最高Region,否则迁移热度最低Region。直到过载Region Server(即所述排序后过载服务器组中)为空,结束负载均衡。
[0078] 上述实施例中,根据总负载、热负载、区域以及区域访问热度进行负载均衡分析得到负载均衡结果,保证了不同负载的服务器上的热度趋于平衡,实现了数据的均匀分布,提高了数据的存储效率,适合普遍推广。
[0079] 可选地,作为本发明的另一个实施例,本发明对负载均衡后HBase的负载结果进行测定并评析结果。通过和使用随机负载均衡算法的结果进行对比,综合验证负载效果,将获得的权重因子用于实际的生产场景中,提高数据在HBase中的存储效率。
[0080] 可选地,作为本发明的另一个实施例,本发明包括以下步骤:采集车联网数据集作为样本集;将样本集的数据作为输入写入HBase数据库,通过DBAF算法对写入的数据进行负载均衡操作,将数据均匀的分布在HBase下不同的RegionServer下;最后和HBase常用的随机负载均衡算法进行比较,可以判断出哪中方式能够实现数据更均匀的分布在RegionServer上。本发明将DBAF算法应用于HBase的数据负载均衡,可实现HBase数据写入时数据更均匀的分布在不同的RegionServer上,以便于提高HBase的存储效率。
[0081] 可选地,作为本发明的另一个实施例,本发明针对市场上对热点数据存储效率不高的现状做出针对性发明,以提高数据存储的效率,具有广阔的市场前景。
[0082] 可选地,作为本发明的另一个实施例,本发明的有益效果是:选用新的影响因子,用于实现数据写入HBase数据库的负载均衡。通过将热负载考虑到HBase的数据存储负载均衡过程中,可以实现对热点数据更快速的处理,实现数据的均匀分布,提高数据的存储效率,适合普遍推广。
[0083] 图2为本发明实施例提供的一种负载均衡预测装置的模块框图。
[0084] 可选地,作为本发明的另一个实施例,如图2所示,一种负载均衡预测装置,包括:
[0085] 数据获取模块,用于从HBase数据库中获得多个服务器、与各个所述服务器一一对应的区域拥有数、多个区域以及多个区域数据,每个所述区域数据包括区域访问量和区域访问时间;
[0086] 访问热度获得模块,用于分别将各个所述区域的区域访问量与所述区域访问时间相除,对应得到各个所述区域的区域访问热度;
[0087] 负载获得模块,用于根据各个所述服务器所对应的区域拥有数以及多个所述区域的区域访问热度进行热负载的计算,得到各个所述服务器的热负载,并将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载;
[0088] 总负载计算模块,用于根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载;
[0089] 划分模块,用于根据所有所述服务器的量负载对所有所述服务器进行划分,得到饥饿服务器组、正常服务器组以及过载服务器组;
[0090] 负载均衡结果获得模块,用于根据所述过载服务器组、所述饥饿服务器组以及所述正常服务器组中服务器的总负载、热负载、多个所述区域以及多个所述区域的区域访问热度进行负载均衡分析,得到负载均衡结果。
[0091] 可选地,作为本发明的一个实施例,所述负载获得模块具体用于:
[0092] 基于第一式,根据各个所述服务器所对应的区域拥有数以及多个区域访问热度进行热负载的计算,得到各个所述服务器的热负载,所述第一式为:
[0093] ,
[0094] 其中, 为第 个服务器的热负载, 为第 个服务器的第 个区域访问热度, 为第 个服务器的区域拥有数;
[0095] 将各个所述服务器所对应的区域拥有数作为各个所述服务器的量负载。
[0096] 可选地,作为本发明的一个实施例,所述总负载计算模块具体用于:
[0097] 基于第二式,根据各个所述服务器的热负载以及量负载进行总负载的计算,得到各个所述服务器的总负载,所述第二式为:
[0098] ,
[0099] 其中, 为第 个服务器的总负载, 为第 个服务器的量负载,为第 个服务器的热负载, 为第 个服务器的热负载, 为第 个服务器的
量负载,为服务器总数。
[0100] 可选地,本发明的另一个实施例提供一种负载均衡预测系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的负载均衡预测方法。该系统可为计算机等系统。
[0101] 可选地,本发明的另一个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的负载均衡预测方法。
[0102] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、 “包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0103] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0104] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0105] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0106] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0107] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0108] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。