专利名称:基于热点资源路由缓冲的负载均衡方法
技术领域:
负载均衡技术可解决内容分发网络中某些热门网站访问量过大而提出,其目的是 为了及时处理所有的请求、减少请求延误、合理利用网络资源。本发明所提方法可解决基于 经典分布式哈希表的(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.其他处理。
权利要求
对各结点的负载状况进行量化感知,计算时不限于说明书中所列处理器的利用率,内存的占用率,带宽的使用情况以及结点所存储的资源是否可用等变量,也不限于说明书实施例1中所列的判定结点负载过重的方法,所有可综合量化结点能力和资源访问频度两类指标的具体实现方法均在保护范围之内;。
2.热点资源信息中定位的资源并不限于某个特定的结点,其随结点间周期性交换信息 传播的方式不限于说明书中所说的“流言”形式,所有以周期性交换信息方式传播本发明中 所说热点资源信息的实现形式在保护范围之内;。
3.本发明中所说热点资源信息指需要进行负载均衡的资源信息,包括其路由和定位信 息,不局限于说明书中所说的资源定位,所有可实现相同目的且以负载均衡为目的的信息 描述方式均在保护范围之内;
4.当有查询请求时,接受热点资源信息的结点先查看自己的热点资源缓存信息开始查 找,查找后的行为不局限于说明书中实施例1中所列,所有先查找本地热点资源信息以实 现负载均衡和减少路由跳数的方法均在保护范围之内。
全文摘要
本发明涉及一种基于热点资源路由缓冲的负载均衡方法。本发明可用于P2P应用或网格系统中实现负载均衡。首先对各结点的负载状况进行量化感知确定热点资源,对负载过重的结点进行负载均衡处理,由其他结点来分担其负载。通过在结点中开辟热点资源信息缓冲,利用结点之间定期交换消息的机制传播热点资源的信息,增加其他结点中同类资源被访问的概率以降低原结点的负载压力。各拥有热点资源的结点根据自身运行状况确定是否参与均衡。
文档编号H04L29/08GK101902488SQ20091008567
公开日2010年12月1日 申请日期2009年5月26日 优先权日2009年5月26日
发明者不公告发明人 申请人:北京风格九州文化传播有限公司