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

自适应负载均衡用采分流智能调度管理方法、装置及系统与流程

2021-11-24 19:09:00 来源:中国专利 TAG:


1.本发明属于输配电技术与信息科学的交叉领域,具体涉及一种自适应负载均衡用采分流智能调度管理方法、装置及系统。


背景技术:

2.近年来,科学技术的进步、内需增大,人民的生活水平稳步提升,居民用电量也与日俱增。电力数据的日益膨胀给电力数据采集系统带来了巨大的运营压力。随着大数据、云计算等新技术的发展,给电力系统带来了新的变革。如何建立一个能在高负荷、大量数据情况下稳定运行的用采分流系统尤为重要。用采分流是指对于用户用电信息采集,并对采集的数据分布到多个计算节点上分布式处理。
3.目前用电信息采集系统已经成为了智能电网重要的组成部分,支撑了电力交易、电费回收、用电核查、线损精益分析、电网运行监测、供电质量监测以及故障抢修等多个专业业务应用的重要数据需求,已成为电力公司生产经营决策能力分析的重要基础和核心数据来源。现有用电信息采集系统构建与传统ioe架构上,存在扩展性差、灵活性差、兼容性差等多种瓶颈,无法适应大数据环境下的数据处理。在面对不断增长的数据采集与数据分析需求时,现有架构已无力支撑未来用电信息采集系统的发展。


技术实现要素:

4.针对上述问题,本发明提出一种自适应负载均衡用采分流智能调度管理方法、装置及系统,能够实现高负荷下稳定运行的电力数据采集。
5.为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
6.第一方面,本发明提供了一种自适应负载均衡用采分流智能调度管理方法,包括:
7.获取一致性hash环,所述一致性hash环位于用户和服务器之间,包括若干个虚拟节点,虚拟节点与用户及服务器之间分别设有映射;
8.基于自适应负载均衡原则,对一致性hash环进行分段,将所有虚拟节点分配建模为买方

卖方博弈模型;
9.通过贪心算法求解所述买方

卖方博弈模型,确定最终的服务器分配方式。
10.可选地,虚拟节点与用户之间的设有基于一致性哈希创建的映射。
11.可选地,虚拟节点与服务器之间设有通过取模操作创建的映射。
12.可选地,所述对一致性hash环进行分段,具体为:
13.基于段i在系统总负载的占比,将上限阈值t
up
和下限阈值t
low
定义为总负载l的函数;
14.若f
i
≤t
low
×
l,则将段i与左段或右段中负载较低的段合并;
15.若f
i
>t
up
×
l,则将段i分割成相等的两半,并为两半分配一个父节点;
16.操控上限阈值t
up
和下限阈值t
low
,直至二者之间的阈值满足设定要求,不再出现合并或分割动作,获得最佳的分段点。
17.可选地,所述买方

卖方博弈模型通过以下方法构建:
18.定义将服务器j分配给段i,获得的利润为p
ij

19.每个分段都有一个数据量w
i
,每个服务器都有最大容量c
j
,以最大化利润为目标,获得买方

卖方博弈模型:
[0020][0021][0022]
x
ij
∈0,1
[0023][0024]
其中,x
ij
表示服务器j是否被分配给段i。
[0025]
可选地,所述p
ij
的计算公式为:
[0026]
p
ij
=f
i
×
t
j
[0027]
其中,f
i
表示段i在系统总负载的占比,t
j
表示服务器j维持一次查询的平均吞吐量。
[0028]
可选地,所述通过贪心算法求解所述买方

卖方博弈模型,确定最终的服务器分配方式,具体为:
[0029]
采用贪心算法求解所述买方

卖方博弈模型,为每个出价计算出使用每一段单位数据量获得的利润p
ij

[0030]
将计算出的利润p
ij
按降序排序,并根据这个顺序进行服务器的分配。
[0031]
可选地,所述根据这个顺序进行服务器的分配,具体为:
[0032]
遍历每个服务器,只要服务器有空间且段没有被分配给任何其他服务器,就将相应的段分配给该服务器。
[0033]
第二方面,本发明提供了一种自适应负载均衡用采分流智能调度管理装置,包括:
[0034]
获取模块,用于获取一致性hash环,所述一致性hash环位于用户和服务器之间,包括若干个虚拟节点,虚拟节点与用户及服务器之间分别设有映射;
[0035]
建模模块,用于基于自适应负载均衡原则,对一致性hash环进行分段,将所有虚拟节点分配建模为买方

卖方博弈模型;
[0036]
管理模块,用于通过贪心算法求解所述买方

卖方博弈模型,确定最终的服务器分配方式。
[0037]
第三方面,本发明提供了一种自适应负载均衡用采分流智能调度管理系统,包括存储介质和处理器;
[0038]
所述存储介质用于存储指令;
[0039]
所述处理器用于根据所述指令进行操作以执行根据第一方面中任一项所述的方法。
[0040]
与现有技术相比,本发明的有益效果:
[0041]
本发明能够实现高负荷下稳定运行的电力数据采集。首先,通过一致性hash来解决低成本的服务器搭建千万级别的用户用电信息采集系统;其次,提出了一种新的基于虚拟层的虚拟节点划分方法;接着,通过确定服务器投标金额和划分hash段的方式,将整个虚拟节点分配建模为一个买方

卖方博弈的多背包问题;最后,通过利用贪心算法求解该约束问题,得到相对较优的服务器分配方案,得到的结果可以为电网公司的电力采集方案提供一定的参考。
附图说明
[0042]
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
[0043]
图1为本发明一种实施例的自适应负载均衡用采分流智能调度管理方法的流程示意图。;
[0044]
图2为本发明一种实施例的一致性hash环和虚拟节点图。
具体实施方式
[0045]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
[0046]
下面结合附图对本发明的应用原理作详细的描述。
[0047]
实施例1
[0048]
实现微服务架构的负载均衡是非常重要的,因为不知道将会有多少用户进行访问。假设一个服务同时处理用户请求的上限为1000,分配20个服务为10000名用户来提供服务。当有20000名用户发出请求时,将必须开启新的服务来处理新增加的请求,这些服务中有的服务是过载的而有的服务却是相对空闲的。
[0049]
本发明选择一致性哈希作为哈希函数。然而一致性哈希函数存在一些缺陷。一致性哈希在超过1000个虚拟节点的环境中效果最好,而通常很多应用程序的切片键太少,所以无法使用一致性哈希来解决负载均衡问题,因此需要改进以弥补这种缺陷。
[0050]
虚拟节点是一种被广泛应用于工程场景的概念,通过网路映射的方式,在一台物理主机上搭建多个网络连接。运用虚拟节点,旨在缩短用户的请求映射到哈希环上后寻找目标节点所需要遍历的哈希长度,从而提升分配的效率。
[0051]
一致性哈希方法的基本原理是将存储空间抽象成一个2
32
节点的圆,将存储节点分配到这个圆上,环上的节点都有一个哈希值。采用同样的方法求出存储数据的键的哈希值,并同样映射到圆上。然后从数据映射到的位置顺时针查找,将数据存储在第1个找到的服务器上。
[0052]
在本发明的分布式架构场景下,一致性哈希的关键步骤是将每个服务器(节点node)映射到圆边缘上的点,但如果节点的数量不够,会导致分布不均匀,这就会造成负载不均的问题。本发明用于解决该问题的方法是在用户与服务器之间增加一个虚拟层,其哈希环如图2所示,虚拟层由大量虚拟节点组成。使用一致性哈希创建用户与虚拟节点之间的映射,虚拟节点与服务器之间通过简单取模操作创建映射,通过这种方法就有足够的虚拟
节点来进行一致性哈希操作。虚拟节点的数量也很重要,如果虚拟节点的数量过少,将会导致原有的一致性哈希方法负载均衡效果不明显;反之,则会导致找到一个对应用户的虚拟节点所需时间过长。
[0053]
一致性hash环被划分为多个段,每个段被分配给一个虚拟节点,并且其中存在从虚拟节点到物理节点的映射。在实际的应用中,可以将多个虚拟节点分配给单个物理节点。不同的物理节点具有不同的规格,因此具有不同的性能。显然,将负载最大的一致性hash段按顺序映射到功能最强大的服务器上是最有益的分配方法,但在动态系统中任何一致性hash段的负载都是不断变化的。在这种情况下,将整个段重新分配给一个新的物理服务器可能是一个代价高昂的操作。但是在某些特定的条件下,分割hash段并为它们提供一个新的虚拟服务器可能是有益的。如果一个段的大部分负载来自一个小范围,这意味着存在一组少量的键是被反复查询或使用的,将这部分段划分成更小的段,并且将这个会被多次查询的更小段分配给一个强大的服务器,同时保证最小的数据移动规模,将会提高系统的整体性能。但在这一过程中,在一致性hash环中增加了段的数量,如何在分布式环境中跟踪所有的这些段成为了一个新问题。因此需要找到一个最优的方法来划分它,应该确保划分出的段大小足够小,以便在传输这些段数据时不会产生太多开销,同时将段的数量保持在最小值。将整个虚拟节点分配建模为一个买方

卖方博弈。我们有买家即一致性hash环的分段,以及卖家即服务器。买家需要购买一个服务器,这样它就可以为每一段的负载分配该服务器。买家付出了服务器的成本作为代价。买家根据服务器的性能对所有服务器进行报价,服务器在满足空间要求的情况下有多个报价可供选择。
[0054]
具体地,如图1所示,本发明实施例中提供了一种自适应负载均衡用采分流智能调度管理方法,具体包括以下步骤:
[0055]
步骤(1)获取一致性hash环,所述一致性hash环位于用户和服务器之间,包括若干个虚拟节点,虚拟节点与用户及服务器之间分别设有映射;具体地,虚拟节点与用户之间的设有基于一致性哈希创建的映射;虚拟节点与服务器之间设有通过取模操作创建的映射;
[0056]
步骤(2)基于自适应负载均衡原则,对一致性hash环进行分段,将所有虚拟节点分配建模为买方

卖方博弈模型;
[0057]
步骤(3)通过贪心算法求解所述买方

卖方博弈模型,确定最终的服务器分配方式。
[0058]
在本发明实施例的一种具体实施方式中,希望一个划分出的段是足够小的,以至于移动段数据的开销是最小的。但同时需要保证段不是太小,因为太小的段所服务的流量太少,从而增加了跟踪定位这个段的负担。为此,需要定义一个最佳的分段点,所述对一致性hash环进行分段包括以下步骤:
[0059]
基于段i在系统总负载的占比,将上限阈值t
up
和下限阈值t
low
定义为总负载l的函数;
[0060]
若f
i
≤t
low
×
l,这意味着负载太低,不值得跟踪这个部分,所以需要合并它,则将段i与左段或右段中负载较低的段合并(即选择将其与左段或右段合并,将两者都作为备选项,并且无论哪一个段负载较低,就将其合并,如果将其与具有较高流量的段合并,则将在下一次迭代中将合并后的段分割);
[0061]
若f
i
>t
up
×
l,这意味着负载太高,这样的段进行迁移具有较高的风险且代价昂贵,
则将段i分割成相等的两半,并为两半分配一个父节点;
[0062]
操控上限阈值t
up
和下限阈值t
low
,可以管理一致性hash环中的段的数量,获得最佳分段点。具体地,降低t
up
同时保持t
low
不变会导致频繁分割,这意味着段的数量增加直到系统保持稳定。类似地,增大t
up
会导致更少的分割操作,这意味着段的数量会减少直至系统稳定。同理,如果增加或减少t
low
则会造成相反的效果。两个阈值之间的差异t
up

t
low
决定了系统的稳定性。如果这个差异很小,那么合并和拆分操作会频繁发生,从而浪费系统资源),不再出现合并或分割动作,获得最佳的分段点。
[0063]
在具体实施过程中,
[0064]
在本发明实施例的一种具体实施方式中,所述买方

卖方博弈模型通过以下方法构建:
[0065]
定义将服务器j分配给段i,获得的利润为p
ij

[0066]
每个分段都有一个数据量w
i
,每个服务器都有最大容量c
j
,以最大化利润为目标,获得买方

卖方博弈模型:
[0067][0068][0069]
x
ij
∈0,1
[0070][0071]
其中,x
ij
表示服务器j是否被分配给段i。
[0072]
p
ij
其实是段i为服务器j支付的价格,一个分段为服务器支付的价格基于:
[0073]
1)如果将第i段分配给服务器,则服务器必须负载的数据量l
i

[0074]
2)服务器j可以维持一次查询的平均吞吐量t
j

[0075]
也可以考虑其他因素,如延迟、电力利用率等,但出于测试目的,本发明中将其限制在这两个方面。如果使用绝对负载,则必须更改定义的常量和阈值,以补偿值范围内的变化。因此,为了使其更易于管理,需要负载的规范化表示,比如系统所服务的负载的比例。一个段可以出价的最低值是0,并且是所有出价的默认值。根据上述两个标准建立了相应的数学模型。每个段i得到所有系统总负载的一部分,用f
i
表示段i在系统总负载的占比,因此段i愿意支付的服务器报价p
ij
的计算公式为:
[0076]
p
ij
=f
i
×
t
j
[0077]
其中,f
i
表示段i在系统总负载的占比,t
j
表示服务器j维持一次查询的平均吞吐量。
[0078]
在本发明实施例的一种具体实施方式中,所述通过贪心算法求解所述买方

卖方博弈模型,确定最终的服务器分配方式,具体为:
[0079]
采用贪心算法求解所述买方

卖方博弈模型,为每个出价计算出使用每一段单位数据量获得的利润p
ij

[0080]
将计算出的利润p
ij
按降序排序,并根据这个顺序进行服务器的分配;所述根据这
个顺序进行服务器的分配,具体为:遍历每个服务器,只要服务器有空间且段没有被分配给任何其他服务器,就将相应的段分配给该服务器。
[0081]
实施例2
[0082]
基于与实施例1相同的发明构思,本发明实施例中提供了一种自适应负载均衡用采分流智能调度管理装置,包括:
[0083]
获取模块,用于获取一致性hash环,所述一致性hash环位于用户和服务器之间,包括若干个虚拟节点,虚拟节点与用户及服务器之间分别设有映射;
[0084]
建模模块,用于基于自适应负载均衡原则,对一致性hash环进行分段,将所有虚拟节点分配建模为买方

卖方博弈模型;
[0085]
管理模块,用于通过贪心算法求解所述买方

卖方博弈模型,确定最终的服务器分配方式。
[0086]
其余部分均与实施例1相同。
[0087]
实施例3
[0088]
基于与实施例1相同的发明构思,本发明实施例中提供了一种自适应负载均衡用采分流智能调度管理系统,包括存储介质和处理器;
[0089]
所述存储介质用于存储指令;
[0090]
所述处理器用于根据所述指令进行操作以执行根据实施例1中任一项所述的方法。
[0091]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0092]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0093]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0094]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0095]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然
可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
再多了解一些

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

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

相关文献