基于热点资源路由缓冲的负载均衡方法

著录项
  • CN200910085673.0
  • 20090526
  • CN101902488A
  • 20101201
  • 北京风格九州文化传播有限公司
  • 不公告发明人
  • H04L29/08
  • H04L12/58 H04L29/08

  • 北京市海淀区中关村南大街9号理工科技大厦1321室
  • 中国,CN,北京(11)
摘要
本发明涉及一种基于热点资源路由缓冲的负载均衡方法。本发明可用于P2P应用或网格系统中实现负载均衡。首先对各结点的负载状况进行量化感知确定热点资源,对负载过重的结点进行负载均衡处理,由其他结点来分担其负载。通过在结点中开辟热点资源信息缓冲,利用结点之间定期交换消息的机制传播热点资源的信息,增加其他结点中同类资源被访问的概率以降低原结点的负载压力。各拥有热点资源的结点根据自身运行状况确定是否参与均衡。
权利要求

1.对各结点的负载状况进行量化感知,计算时不限于说明书中所列处理器的利用率,内存的占用率,带宽的使用情况以及结点所存储的资源是否可用等变量,也不限于说明书实施例1中所列的判定结点负载过重的方法,所有可综合量化结点能力和资源访问频度两类指标的具体实现方法均在保护范围之内;。

2.热点资源信息中定位的资源并不限于某个特定的结点,其随结点间周期性交换信息传播的方式不限于说明书中所说的“流言”形式,所有以周期性交换信息方式传播本发明中所说热点资源信息的实现形式在保护范围之内;。

3.本发明中所说热点资源信息指需要进行负载均衡的资源信息,包括其路由和定位信息,不局限于说明书中所说的资源定位,所有可实现相同目的且以负载均衡为目的的信息描述方式均在保护范围之内;

4.当有查询请求时,接受热点资源信息的结点先查看自己的热点资源缓存信息开始查,查后的行为不局限于说明书中实施例1中所列,所有先查本地热点资源信息以实现负载均衡和减少路由跳数的方法均在保护范围之内。

说明书
技术领域

技术领域

负载均衡技术可解决内容分发网络中某些热门网站访问量过大而提出,其目的是为了及时处理所有的请求、减少请求延误、合理利用网络资源。本发明所提方法可解决基于经典分布式哈希表的(Distributed Hash Table,DHT)的系统中资源发现方法容易导致结点负载不均衡的问题,用于P2P网络及其应用如信息分发、资源下载、流媒体服务,也可以用于网格应用如分布式计算、对实验数据的远程访问、海量科学数据的协作式可视化等,增加热点资源被访问的概率,减轻网络结点的负载压力,缩短消息路由的跳数,进一步提高网络服务质量。

背景技术

由于不同类型资源的需求程度不同,热点资源所在的结点被访问到的几率要远大于路由表中不存在热点资源引用的结点,这样就会造成系统中部分结点由于处理不了大量的访问请求而使得查询的响应时间变长,而另外一些结点由于访问量不大而经常处于空闲状态,造成资源浪费。

在典型的基于DHT的P2P系统或网格系统中,结点和资源被映射到一个关键字空间,每个结点维护一张到部分其他结点的路由表,使用相容哈希的方法容易导致结点负载不均衡。另外,由于不同结点存在性能差异且对资源的需求情况也不同,负载均衡方法只有考虑到结点间的这种差异才能取得应有的效果,才能减轻或避免网络资源的浪费。

现有的负载均衡技术主要可以分为局部负载均衡技术和全局负载均衡技术。其中,局部负载均衡技术出现比较早,主要用于多服务器的网站等集中式的环境中,其核心思想是:当请求到达时,根据各服务器的负载情况,选择负载最轻的来处理该请求。该技术即其派生的容错技术相对较成熟,但不适合大规模动态环境如大型的P2系统及网格系统。相比较而言,全局负载均衡技术能更有效的解决大范围内的负载均衡问题,具有分布性和对等性的特点,适合于分布式环境中。

现有的负载均衡方法之一是采用增加虚结点的方法来降低负载分配不均问题,有的系统中是采用“溢出”处理,当某结点负载过重时,会将原有的或新到来的请求转发到其他结点,由接收到这些信息的结点分担其负载,还有方法是通过专门的监控程序将负载重的结点上的负载转移到其他结点。这些方法要么增加了系统负担,难以适应大规模动态网格环境中,要么难以控制溢出信息的传播速度与传播规模,不能及时响应负载均衡的需求。

发明内容

P2P系统或网格中资源表的维护需要在邻居结点间定期交换消息以确保彼此路由表中的信息及时更新,也需要定期交换消息以确定在线状态。为了减轻负载不均衡现象的发生,本发明通过为资源路由表增加一个能反映资源被集中请求程度的热点资源指示区的方法实现负载均衡。

发明如下:

(1)首先对各结点的负载状况进行量化感知,判定是否需要进行负载均衡。可选择处理器的利用率,内存的占用率,带宽的使用情况以及结点所存储的资源是否可用等定义相应的变量进行量化,对各资源的访问频度和结点的能力进行周期监测以及时感知结点当前的负载状况;

(2)对需要进行负载均衡的结点,定位其被被频繁访问资源的同类资源作为热点资源信息,以“流言”的形式附加在结点间定期发送的消息之后传播出去,将它们传播到系统中的其他结点,增加它们被访问的概率以降低原结点的负载压力。为了控制“流言”的传播规模,可在生成流言的时候根据需要设定随一个被传播的跳数顺序递减的TTL值,当TTL值为0时不再继续传播;

(3)收到流言的结点根据自身能力以及自身被访问的频度确定自己是否接受该热点资源信息;

(3.1)如果有能力接受其他结点传过来的热点资源信息且自身被访问的频度低于设定的某个值时,则结点单独开辟一块缓存存放该热点资源信息即可以分担其他结点的负载;

(3.2)如果有能力接受其他结点传过来的热点资源信息但自身被访问的频度低于设定的某个值时,则根据流言的状态信息判断是否要将流言传播给其他结点;

(3.3)如果结点没有能力接受该热点资源信息,则根据流言的状态信息判断是否要将流言传播给其他结点。

(4)当有查询请求时,接受热点资源信息的结点先查看自己的缓存信息,若到则直接利用缓存的热点资源信息定位资源,由目标结点分担该项负载,也有助进缩短消息的路由跳数;

(5)接受热点资源信息的结点会周期性根据对自身负载状况的量化感知情况对缓冲区进行调整,当需要进行负载均衡处理时则首先清空自身的热点资源缓存信息。

附图说明

无。

具体实施方式

实施例1:某结点A的负载均衡过程

1.首先,结点A对负载情况进行量化评估。为每个结点维护一个请求消息队列;

2.请求消息队列始终不为空或者队列长度达到某个值的时候,则判定该结点负载过重,需要进行负载均衡处理,由其他结点来分担其负载,定位同类资源作为热点资源信息;

3.清空当前结点A的热点资源缓冲区;

4.当前结点A把自身的热点资源信息通过消息传播给其他结点;

5.其他结点收到热点资源信息后判断TTL是否大于0,如果是则跳到第6步,否则跳到第9步;

6.结点判断是否接受该热点资源信息,如果是,则跳到第7步,否则跳到第8步;

7.结点在自己的内存中开辟缓冲区存放接受的热点资源信息,跳转到第8步;

8.结点把热点资源信息传播出去,跳转到第5步;

9.丢弃流言;

10.结点B接到资源请求;

11.若结点B不需负载均衡则查自身的热点资源信息缓冲区,否则转发该请求后转13;

12.若到则直接定位资源,否则继续常规资源请求处理;

13.其他处理。

本文发布于:2024-09-24 03:22:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/83048.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议