一种Web地图服务中基于用户并发访问时序规则的自适应负载均衡策略的制作方法

文档序号:13425430阅读:224来源:国知局

本发明涉及网络空间信息服务技术领域,尤其涉及一种web地图服务中基于用户并发访问时序规则的自适应负载均衡策略。



背景技术:

随着internet的快速发展和移动网络的不断普及和地理空间信息系统的快速发展,如googleearth和百度地图等web地图服务平台(webmapserviceplatform,wmsp)用户与日俱增,实时在线操作达到了百万级。这为用户带来了全新体验的同时,也因高强度、强聚集和高并发的访问带给服务器服务过载和访问延迟等性能问题。web地图服务后端的云集群服务系统存在分布性,异构性和动态性,其负载均衡能力是保证用户访问的高峰期依然能保持良好的服务能力,比如高吞吐量、低响应时间,高服务并发数,服务器有效性等的关键。而用户并发的时空访问行为的周期性与突发性直接影响着web地图服务对云资源的时空需求与负载分配。同时,用户访问在访问时间和访问内容上的差异性及wmsp的云集群服务器服务能力的差异性,需要云端的负载均衡策略具有实时性与自适应性,并且最低限度地消耗云服务的计算资源。因而如何平衡wmsp上的用户访问的时序非均衡性和负载均衡策略对资源的消耗,提高wmsp的服务质量,是亟待解决的难题之一。

传统的负载均衡算法多为基于任务静态分配的负载均衡算法,如:轮转法、加权轮转法、目标地址散列调度和源地址散列调度算法等,此类算法适用于小规模的、配置单一的同构的集群系统。在此基础上学者提出了如最小连接法和最小负载等基于服务器当前状态进行任务分配的负载均衡算法。如xmitbyte根据平均输出流量计算负载权值进行负载分配。这类算法能显著提升系统的吞吐量和服务效率;但不能准确地实时地反映负载,难以适应大规模高并发的任务分配。许多学者提出动态反馈的负载均衡方法。stankovic等人首次提出了基于动态反馈的负载均衡方法,通过一种反馈机制收集计算节点的负载信息进行任务的有效调度和分配。这类方法适用于负载变化比较平稳且波动较小的网络应用系统。而后学者提出基于自适应负载变化的负载均衡方法,如kencl等人通过扩展highestrandomweight(hrw)算法,提出的一种反馈控制机制,动态修改设定的权重向量,实现自适应负载均衡。alamm等人提出了一种基于服务质量qos的负载均衡算法。zhuh等人提出了一种基于排队理论的ddsd(demand-drivenservicedifferentiation)区分策略。以上提及的负载均衡方法,都有较好的负载实时适应性。但负载的变化是随着用户的访问行为变化而变化的,以上研究不能简单地自适应这种变化,从而带来一定的额外的计算资源消耗或缓存资源的消耗。

近年来许多学者认为挖掘大规模用户在地理信息服务系统中漫游时所表现出来的社会学规律和交互模式,为系统的性能优化、提高用户漫游流畅体验提供非常重要的指引作用。xia等提出用户访问公共地图服务平台时带给服务器的负载具有“潮汐”特征,li等提出地理数据的访问具有时空局部性。这些研究说明由于地理数据存在时空属性,用户的访问请求同样存在时空聚集性。此访问特性对服务负载,如流量波动、服务队列长度等web地图服务服务性能产生了重要的影响,同时也决定着web地图服务对计算资源的时空不均衡的需求。而与此同时,web地图服务中用户的访问强度有时序变化的。动态负载均衡策略基本思想是周期性地采集各集群节点的实时负载,进而通过相应的任务分配策略以维持整个集群系统负载的均衡。负载反馈周期过长无法实时反映负载状态,过短将导致频繁地采集负载信息带来额外的系统开销。因此,如何有效地捕捉用户访问聚集性及其访问强度的时序变化,进行准确的、快速的服务负载预测与任务分配,减少信息采集带来的服务资源消耗,解决由于用户访问的集中性和突发性所带来服务资源需求与服务器性能问题,是其难点与根本。



技术实现要素:

本发明要解决的技术问题在于针对现有技术中wmsp中用户时序非均衡并发访问行为导致服务器集群中服务器各节点负载不均衡的缺陷,提供一种web地图服务中基于用户并发访问时序规则的自适应负载均衡策略。

本发明解决其技术问题所采用的技术方案是:

本发明提供一种web地图服务中基于用户并发访问时序规则的自适应负载均衡策略,包括以下步骤:

s1、采集wmsp服务器集群长期运行中产生的访问日志,基于长周期和短周期不同时间粒度对访问日志进行访问达到时序分析,根据wmsp服务器集群每秒能容纳的最大并发数以及访问日志访问达到时序分析结果,计算可变负载反馈周期达到率阈值;

s2、根据可变负载反馈周期达到率阈值,计算可变的负载反馈周期;

s3、计算wmsp服务器集群各个节点负载的服务率,并建立集群节点负载与服务率的关联表;计算一个反馈周期内wmsp服务器集群节点的负载期望;

s4、基于负载期望生成集群节点的转发概率空间,根据集群节点负载与服务率的关联表,具有较大负载期望的集群节点获得较大的概率空间;访问请求到达wmsp服务器集群中,在[0,1]空间生成一个随机数,并根据其在概率空间中的落点,确定目标集群节点,并将访问请求分发到该目标集群节点上。

进一步地,本发明的步骤s1中计算可变负载反馈周期达到率阈值的方法为:

基于长周期和短周期不同时间粒度统计wmsp用户访问日志,其中访问日志的长周期统计用于提取用户访问的周期特征;

定义用户的访问达到率时序为时间序列:

h(r,t)={r(t1),r(t2)…r(tn)}

其中,r和t分别为用户到达时间序列h(r,t)的到达率因子和时间因子;r(ti)表示ti时间段内到达的服务请求数,即用户访问强度;

基于wmsp每秒能够容纳的最大并发数m和wmsp长周期访问日志时序分析,取满足负载反馈周期变化的用户到达率阈值为m0=βm,其中β为经验值。

进一步地,本发明的步骤s2中计算可变的负载反馈周期的方法为:

s21、如果当前到达率λ(ti)<m0,则以t0作为负载反馈周期,其中λ(ti)为ti时段下wmsp的到达率,t0为固定的负载反馈周期值;

s22、如果当前到达率λ(ti)≥m0,计算当前周期tk内的到达率的平均变化率其中tk表示第k个负载反馈周期;假设周期tk开始时刻为ti,周期长为n个时间间隔,ti时刻的到达率变化率则为其中,λ(ti-1)为ti上一时刻ti-1的用户访问达到率;如此得到进而计算出负载反馈周期其中,l值为反馈周期与负载变化率的相关系数;而后基于一次指数平滑的负载反馈周期预测方法,预测wmsp后续负载并基于负载计算反馈周期其中fk-1为负载反馈周期tk-1的到达率的平均变化率的指数平滑预测值,α为权重系数,为经验值。

进一步地,本发明的步骤s22中基于一次指数平滑的负载反馈预测方法具体为:

在先验数据的基础上预测用户访问到达率的平均变化率为:通过计算指数平滑值,赋予时间临近的用户访问到达率变化实际值对下周期用户访问到达率变化预测值更大的影响权重,预测下周期的用户访问到达率的平均变化率;其中,fk为周期tk的到达率的平均变化率的指数平滑预测值,fk-1为周期tk-1的指数平滑趋势预测值;周期tk-1的实际观察值,α为权重系数,是经验值;进而能够得到匹配当前负载状态的负载反馈周期其前提条件为λ(ti)≥m0,l值为反馈周期与负载变化率的相关系数。

进一步地,本发明的步骤s3中计算一个反馈周期内wmsp服务器集群节点的负载期望的方法为:

s31、计算wmsp服务器集群节点服务能力,即服务率:

为了量化wmsp服务器集群节点服务率,通过基于等间隔划分的方法,建立各个集群节点负载与服务率的关联表;对于集群节点si的工作负载能力load属于si(loadq-1,loadq),其对应的服务率为μiq;

s32、计算wmsp服务器集群节点的负载期望;

对wmsp服务器集群节点si,基于little定律、排队论以及求得的服务率μiq,计算得出当前集群节点si的负载期望值e(λi),其中λi为用户到达率。

进一步地,本发明的步骤s31中计算服务率的方法具体为:

对wmsp服务器集群中的一组集群节点s={si|1≤i≤s},令wmsp服务器集群节点si的工作负载能力为si(loadmin,loadmax),则将该节点的工作负载范围等间隔划分为q个区间:

si([loadmin,load1],(load1,load2]…(loadq-1,loadq]…(loadq-2,loadq-1](loadq-1,loadmax])

其中(loadq-1,loadq]为对应第q区间的负载区间;其对应的服务率为μiq,取值为相应负载区间所对应的服务率的平均值。

进一步地,本发明的步骤s32中计算wmsp服务器集群节点的负载期望的方法具体为:

对wmsp服务器集群节点si,其用户到达率为λi,集群节点服务率为μi,集群节点的请求平均延迟间为di;其中请求的延迟时间包括任务的排队时间和任务处理时间;

则根据little定律,得到集群节点上的用户到达率和服务率决定了该集群节点内的平均排队长和平均响应时间;

假设wmsp所期望的用户平均响应时间为te,计算得到集群节点si在满足该条件下期望的平均到达率为

其中μi表示集群节点si服务能力;

当集群节点的负载越大,其剩余的处理能力越小,因而μi值大小是随着集群节点负载增加而降低;

将求得的服务率μiq带入e(λi),计算得出集群节点si在当前负载下所期望的用户平均达到率即为集群节点si的负载期望。

进一步地,本发明的步骤s4中生成集群节点的转发概率空间的方法为:

wmsp服务器集群中一组集群节点s={si|1≤i≤s},基于负载期望的调度策略,对应的转发概率为p={p1,p2,...,ps};

其中集群节点si的转发概率为

转发概率空间为其中p1+p2+…+ps=1。

本发明产生的有益效果是:本发明的web地图服务中基于用户并发访问时序规则的自适应负载均衡策略,提出了一种基于用户在wmsp中漫游时具有聚集特征与时序特征,采用实时可变的负载反馈周期匹配用户并发访问强度的时序变化,实现自适应wmsp负载变化并减少负载采集所带来的额外开销;进而基于可变反馈周期内的wmsp负载期望,及各个集群节点不同负载下与处理能力的对应关系,简单有效地获取服务器当前处理能力,并基于动态的转发概率空间分配服务请求,实现自适应的负载均衡策略。

1、深入挖掘wmsp中用户访问行为规律和特征,并基于用户访问强度变化的周期性与时序相关性的规律灵活设计负载反馈方法,减少额外的服务资源消耗,最大化wmsp服务资源利用:

wmsp中用户的访问存在时序不均衡性和强度不均衡性,这是影响wmsp负载不均衡的关键因素。本发明基于日志数据统计分析方法得出用户访问时序和强度变化的规律特征,通过对用户访问强度时序变化进行建模和预测,科学地进行可变反馈周期的设置,使wmsp无论是在访问量的高峰还是低谷,都能合理的进行服务资源的分配,最大化服务资源利用,提升wmsp整体性能。

2、通过预测用户访问强度的变化,从而准确灵活地获取可变的负载反馈周期,降低服务资源消耗的同时提高负载反馈的效率与可靠性:

本发明基于用户访问到达率的变化规律,提出可变的负载反馈周期方法。不同的时间段,其访问的聚集度、负载强度和变化规则不尽相同。而wmsp的当前负载是由当前用户访问到达率及系统排队状态所决定,负载反馈周期受到当前用户访问到达率与访问到达率时序变化的影响,所以当wmsp处于到达率低,到达率变化小,负载低的状态时,采用固定的较长的负载反馈周期;当访问聚集且负载变化波动较大时,通过对访问到达率的时序预测,计算获取当前到达率及其变化率对应的负载反馈周期。本发明能够实时反映各wmsp服务器集群节点的当前负载并减少负载收集对系统的消耗,提高了系统服务吞吐量能够并减少wmsp额外的服务资源消耗。

3、通过建立和维护负载与服务率的关联表,实现快速有效地获取服务器不同负载下的服务处理能力,保证服务效率与负载均衡的最优化。

本发明通过建立和维护负载与服务率之间的关联表,实时获取服务器的负载状态,同时基于wmsp服务器集群节点的负载期望,选择最优的服务请求分发策略,使得wmsp的服务资源利用率和负载均衡度显著提高。本发明能在wmsp集群环境中实现较好的服务请求的负载均衡和较低的服务资源消耗,并能获得良好的服务请求的响应性能和较高的wmsp吞吐率,适应大规模用户的变强度访问。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明实施例的web地图服务中基于用户并发访问时序规则的自适应负载均衡策略,包括以下步骤:

s1、采集wmsp服务器集群长期运行中产生的访问日志,基于长周期和短周期不同时间粒度对访问日志进行访问达到时序分析,根据wmsp服务器集群每秒能容纳的最大并发数以及访问日志访问达到时序分析结果,计算可变负载反馈周期达到率阈值;

s2、根据可变负载反馈周期达到率阈值,计算可变的负载反馈周期;

s3、计算wmsp服务器集群各个节点负载的服务率,并建立集群节点负载与服务率的关联表;计算一个反馈周期内wmsp服务器集群节点的负载期望;

s4、基于负载期望生成集群节点的转发概率空间,根据集群节点负载与服务率的关联表,具有较大负载期望的集群节点获得较大的概率空间;访问请求到达wmsp服务器集群中,在[0,1]空间生成一个随机数,并根据其在概率空间中的落点,确定目标集群节点,并将访问请求分发到该目标集群节点上。

本发明方法的基本思想为:考虑wmsp系统中用户访问的聚集性和时序性的自适应动态负载均衡。首先通过匹配用户访问时序变化的可变反馈周期策略,使得负载反馈实时反映各节点服务器的当前负载并减少负载收集对系统的消耗;再建立和维护负载与服务率的关联表,快速有效地获取服务器不同负载下的服务处理能力,并基于wmsp服务器集群节点的负载期望,选择最优的服务请求分发策略,显著提高wmsp系统的服务资源利用率。

同常见的动态负载均衡方法相比,本发明的关键创造点是基于用户访问时序分布规律,动态获取负载反馈周期,同时建立和维护负载与服务率关联表,从而在更少地消耗服务资源的前提下实时获取服务器负载状态;基于wmsp服务器集群节点的负载期望,选择最优的服务器处理服务请求任务,以达到最优的服务资源利用率。

在本发明的另一个具体实施例中:

本发明提出的一种web地图服务中基于用户并发访问时序规则的自适应负载均衡策略,具体步骤如下:

步骤1,wmsp访问到达率时序分析及参数获取

本发明方法的实施基础是基于wmsp长期运行中用户与系统交互模式进行统计分析的结果。通过采集wmsp系统访问日志,统计长期和短期不同时间粒度下用户的访问到达率。在长期的时间粒度下,用户对wmsp访问请求呈现周期性,工作日的模式相似,休息日的模式也相似;在短期的时间粒度下,用户访问呈现高强度的突发性与聚集性特征。不同的时间区间内,用户对wmsp访问请求存在聚集与并发规则。根据排队论,单位时间内平均到达的服务请求数为wmsp的访问到达率λ,可用于表达wmsp的访问负载。若将一个周期的时间分为若干等长时段,每个时段的服务请求数构成一个时间序列h(r,t),如公式(1):

h(r,t)={r(t1),r(t2)…r(tn)}(1)

其中,t为每个时段的时间长度;λ(t)表示t时段的用户平均到达率。

其中,r和t分别是用户到达时间序列h(r,t)到达率因子和时间因子;r(ti)表示ti时间段内到达的服务请求数,即用户访问强度。对于时间序列h(r,t)而言,其均值的期望值表达式为:

e(h(r,t))=λ(t)*t(2)

其中,t为每个时段的时间长度;λ(t)表示t时段的用户平均到达率。

基于时间序列h(r,t)得到服务请求访问到达率的时间序列,进而分析出其用户访问的周期性,不同时段中访问强度变化,以及高强度的突发性与聚集性特征。同时基于wmsp每秒能够容纳的最大并发数m和访问日志时序分析,取可变负载反馈周期到达率阈值为m0=βm,其中β为经验值。

步骤2,可变负载反馈周期策略

本步骤是基于步骤1中得到的反馈到达率阈值对不同的时序下到达率采用不同的反馈周期策略。wmsp服务器集群的总体负载与的访问强度(到达率)成正相关,对于负载较低或负载较为平稳的wmsp,每个时序周期中的负载量相似,可采用上一周期的负载值代替下一周期负载值,进行任务的分配,以避免负载反馈及信息收集带来的不必要的系统开销。而对于负载随时序变化的wmsp,不同时间段的访问聚集度、负载强度和变化规则不尽相同,负载反馈周期也随之而变化,通过动态匹配负载反馈周期能够最大化系统服务资源利用率。

可变负载反馈周期策略中计算可变的负载反馈周期tk,包括以下两个子步骤:

1)如果当前到达率λ(ti)<m0,则以t0作为负载反馈周期。其中λ(ti)为ti时段下系统的到达率,t0为固定的、较大的负载反馈周期值。

2)如果λ(ti)≥m0,计算当前周期tk内的到达率的平均变化率假设周期tk开始时刻为ti,周期长为n个时间间隔,ti时刻的到达率变化率δ(ti)为:

其中,λ(ti-1)为ti上一时刻ti-1用户的访问达到率。得到如下:

进而计算出负载反馈周期tk为:

其中,l值为反馈周期与负载变化率的相关系数。

因用户的访问强度的变化有一定的周期规律;不同周期的同一访问时段下访问到达率的分布具有一定的稳定性,进而能够合理地顺势推延预测访问到达率及其时序变化及对应的负载反馈周期。考虑既要降低预测复杂度且保证用户访问到达率变化预测的准确率,减少对服务资源的消耗,本发明基于一次指数平滑预测方法,在少量的先验数据基础上预测用户访问到达率的平均变化率,如公式(6):

公式(6)通过计算指数平滑值,赋予时间临近的用户访问到达率变化实际值对下周期用户访问到达率变化预测值更大的影响权重,预测下周期的用户访问到达率的平均变化率。其中,fk为周期tk的到达率的平均变化率的指数平滑预测值,fk-1为周期tk-1的指数平滑趋势预测值;周期tk-1的实际观察值,α为权重系数,是经验值。

将公式(4)和(6)带入公式(5)进而能够得到预测的负载反馈周期tk。

步骤3,一个反馈周期内wmsp服务器集群节点的负载期望计算

基于步骤2求得的动态的负载反馈周期,wmsp服务器集群节点能够合理灵活的进行负载反馈。当wmsp处在不同的反馈周期内,集群节点的负载和剩余的处理能力也不相同,对后续时间的负载期望也是不同的,该负载期望同样具有时间的变化性。服务请求经负载均衡器分发给wmsp集群中的集群节点,如果当前集群节点处于空负载状态,任务会直接被执行,如果当前集群节点处于负载状态,任务会进行排队等待前面的任务执行完后再执行。因此如果集群节点的负载期望小,则表明系统当前负载较高,剩余处理能力较小,反之亦然,故而负载期望能够表示集群节点的负载状态,作为负载采集的依据。计算负载期望的过程包括如下两个子步骤:

1)计算wmsp服务器集群节点服务能力,即服务率:

一般来说,服务器负载与服务器的输入指标,当前cpu负载,当前磁盘使用情况,服务当前内存情况,服务器的当前进程数,服务响应时间相关。但服务器服务率和其负载并没有能够量化的函数关系,无论是人工测试还是计算服务器的服务率,都将为大规模的集群系统带来巨大的额外计算消耗。为了量化wmsp服务器集群节点的服务率,本发明基于等间隔划分的方法,建立集群节点负载与服务率的关联表。

对wmsp中的一组集群节点s={si|1≤i≤s},集群节点si的工作负载能力load属于si(loadmin,loadmax),将该集群节点的工作负载范围等间隔划分为q个区间,则si([loadmin,load1],(load1,load2]…(loadq-1,loadq]…(loadq-2,loadq-1](loadq-1,loadmax]),其中(loadq-1,loadq]为对应第q区间的负载区间,其对应的服务率为μiq,取值为相应负载区间所对应的服务率的平均值。

2)计算wmsp服务器集群节点的负载期望

对wmsp服务器集群节点si,假设其用户到达率为λi,集群节点服务率为μi,集群节点的请求平均延迟间为di;其中请求的延迟时间包括任务的排队时间和任务处理时间。则根据little定律,有:

集群节点上的用户到达率和服务率决定了该集群节点内的平均排队长和平均响应时间。假设wmsp所期望的用户平均响应时间为te,计算得集群节点si在满足该条件下期望的平均到达率e(λi),如公式(9):

其中μi表示集群节点si服务能力。当集群节点的负载越大,其剩余的处理能力越小,μi值大小是随着集群节点负载增加而降低。将服务率为μiq带入公式(9)计算出节点在当前负载下所期望的用户平均达到率λiq:

步骤4,基于wmsp服务器集群节点的负载期望,合理地进行任务调度和负载分配。

服务请求到达wmsp中,通常为了更快的处理请求并返回结果,会将该请求分发给负载最小的服务器,使其排队等待时间最短。因而基于步骤3中服务器负载与服务率表在步骤2中求得的可变的负载反馈周期中实时维护更新,能够使任务分发更加均衡,实现负载均衡。

本步骤中负载分配的具体过程如下:

对于wmsp中一组集群节点s={si|1≤i≤s},基于步骤3中负载期望的调度策略,对应的转发概率为p={p1,p2,...,ps},其中集群节点si的转发概率pi如公式(11),其转发概率空间为

当负载分配器接收到服务请求时,在[0,1]空间生成一个随机数。根据其在概率空间中的落点,确定目标服务器。基于步骤3中建立了集群节点负载与服务率的关联表,负载期望大的集群节点获得较大概率空间,并为更多服务请求服务。因服务请求的转发均是独立的随机事件,其动态独立的随机概率转发也保证了调度的均衡性。

本方法匹配用户访问时序变化实现了可变反馈周期策略,使得负载反馈既能实时反映各服务器集群节点的当前负载又能减少负载收集对系统的消耗,提高了wmsp的服务吞吐量;在任务调度策略上,建立和维护负载与服务率的关联表,解决了无法快速有效地获取服务器实时服务处理能力问题,同时基于wmsp的整体负载期望,选择最优处理能力的服务器处理任务请求,使得wmsp的cpu利用率显著提高的同时负载不均衡度较小。本发明方法高度符合wmsp中用户并发访问的时序分布特征,提出的可变的反馈周期策略有效地协调并平衡wmsp服务资源消耗与负载状态获取之间的矛盾关系,保证了服务效率与负载均衡的最优,有效地提升了wmsp的服务性能和服务资源利用效率。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1