CN103188345B - 分布式动态负载管理***和方法 - Google Patents

分布式动态负载管理***和方法 Download PDF

Info

Publication number
CN103188345B
CN103188345B CN201310065185.XA CN201310065185A CN103188345B CN 103188345 B CN103188345 B CN 103188345B CN 201310065185 A CN201310065185 A CN 201310065185A CN 103188345 B CN103188345 B CN 103188345B
Authority
CN
China
Prior art keywords
load
processing node
node
processing
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310065185.XA
Other languages
English (en)
Other versions
CN103188345A (zh
Inventor
赵耀
彭书凯
邹志勇
宋颖莹
杨放春
邹华
林荣恒
孙其博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201310065185.XA priority Critical patent/CN103188345B/zh
Publication of CN103188345A publication Critical patent/CN103188345A/zh
Application granted granted Critical
Publication of CN103188345B publication Critical patent/CN103188345B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种分布式动态负载管理***和方法,***由具有动态负载管理功能、且具有P2P完全对等架构的分布式处理集群组成,该处理集群没有集中控制的中心节点,只有多个处理节点,每个处理节点都能独立提供分布式仲裁的动态负载管理能力,且各自权限和动态负载管理功能完全相同,但处理事件能力相同或不同;每个处理节点均为该动态负载管理***的控制核心,且都设有事件处理、事件监听、事件分发、动态负载管理四个模块。本发明***能够在分布式网络环境下实现分布式动态负载管理,有效解决数据处理请求热点变更带来的***负载转移波动和节点动态变更时保证***负载均衡;还支持P2P环境下分布式集群***各处理节点都过载时,能有效保证***的健壮性。

Description

分布式动态负载管理***和方法
技术领域
本发明涉及一种分布式动态负载管理***和方法,属于计算机的技术领域。
背景技术
随着网络业务量、访问量和数据流量的快速增长,端到端P2P(Peer-to-Peer)对等技术环境下的负载管理技术已经成为急需解决的问题。目前,P2P架构环境中的负载均衡技术早已成为研究的热点,已有很多技术方案能够优化P2P***的负载均衡性能。
众所周知,P2P***分为结构化和非结构化两大类,基于分布式散列表(DHT)的结构化P2P***解决了非结构化***的资源定向问题。但是,在结构化P2P***中,数据处理请求和节点通过一致性哈希函数被随机均衡地映射到一个逻辑环上;由于数据处理请求任务的一些特性所带来的负载均衡问题日益突出。研究表明,在实时海量数据处理请求信息中,绝大多数的请求任务存在热点问题,大致服从Zipfp分布:即在某个时间段,60%~80%的数据处理请求通过一致性哈希函数会被映射到某个或某几个节点上,导致P2P***中某些节点负载很高,而其它节点负载很轻;并且,不同时间段数据处理请求任务的热点具有变更性,从而导致整个***的全局负载不平衡性,***的处理效率和稳定性降低。
为了有效解决结构化P2P***中数据处理请求热点问题,目前已有方案致力于解决如何减少负载转移中的通信开销(哈希环值与处理节点对照关系变更的通信代价)问题。但是,由于数据处理请求热点具有可变更性,他们没有考虑数据处理请求热点变更所带来的***负载转移的波动性,尤其在节点数量具有一定规模的环境中,波动性会更加强烈,带来的通信代价会变大,从而影响***的负载均衡收敛速率,以及***的全局负载均衡性。再次,这些方案都没有考虑结构化P2P***在节点全过载情况下的过载控制问题,当***数据处理请求量超过***的最大负荷量时,会导致***的整体崩溃,影响***的稳定性并带来灾难性的后果。因此,如何改进负载的动态管理方法也成为研究热点。
为了有效解决结构化P2P***中数据处理请求热点问题和***负载均衡问题,目前的现有技术方案主要有如下几种:
《分布式哈希表网络的负载均衡实现方法及装置》(中国专利申请公开号:CN102457429A)提供一种基于虚拟节点转移的动态负载均衡技术。该方法首先根据所述DHT网络的节点规划及预设的负载不均衡度阈值,确定第一虚拟标识的数量Z(Z为自然数),并将该DHT网络的整个负载空间分为Z份,各份负载空间分别用互不相同的所述第一虚拟标识进行标识;再根据各个所述节点的能力,将Z个第一虚拟标识分配各个节点,由各个节点负责分配给其的第一虚拟标识对应的负载空间。本发明可以在实现DHT网络数据存储负载均衡的同时,减少虚拟标识管理和虚拟标识迁移的工作量。该方法可以有效减少虚拟标识管理和虚拟标识迁移的工作量,但是,没有提供解决请求热点变更所带来的***负载转移波动性问题,以及在***全过载情况下的***健壮性问题,在分布式集群环境下应用具有一定的局限性。
《负载均衡***及方法》(中国专利申请公开号:CN102436401A)提供一种多级负载策略的负载均衡技术。其提出的负载均衡***包括:第一级负载均衡器、多个第二级负载均衡器以及多个服务器。其中,第一级负载均衡器用于接收多个任务,并使用第一策略将所述多个任务分配至多个第二级负载均衡器;多个第二级负载均衡器用于使用第二策略将该多个任务分配至多个服务器。其中,引入层次化概念和采用多级负载均衡方法,可以降低负载均衡中心成为性能瓶颈的可能性,同时支持更复杂的负载均衡策略,提升了负载均衡过程的灵活性、准确性、健壮性和安全性。但是,其未考虑处理节点动态变化时所带来的负载策略更改开销问题,也没有提供如何解决在***全过载情况下的***健壮性问题的技术方案。
发明内容
有鉴于此,本发明的目的是提供一种改进的基于DHT原理的分布式动态负载管理***和方法,本发明是在分布式网络环境下实现分布式动态负载管理的***,能够有效解决数据处理请求热点变更所带来的***负载转移波动性问题和节点动态变更时保证***负载均衡的问题;还支持P2P环境下分布式集群***各处理节点都过载的情况下,能够有效保证***的健壮性问题。
为了达到上述目的,本发明提供了一种分布式动态负载管理***,其特征在于:所述***由具有动态负载管理功能、且具有端对端P2P(Peer-to-Peer)完全对等架构的分布式处理集群所组成,该处理集群没有集中控制的中心节点,只设有多个处理节点,其中每个处理节点都能独立提供分布式仲裁的动态负载管理能力,且其各自权限和动态负载管理的功能完全相同,但处理事件的能力相同或不同;每个处理节点均为该动态负载管理***的控制核心,且都设有下述四个功能模块:事件处理模块、事件监听模块、事件分发模块、动态负载管理模块;各个模块的功能如下:
事件处理模块,用于处理特定类型和属性的事件,产生中间处理结果或最终处理结果,并借助事件分发模块把产生的新事件交由本处理节点或发往其它处理节点继续处理,或将最终处理结果返回给客户端;该事件处理模块是该***中预设的,或由第三方程序员开发并部署到处理节点上;
事件监听模块,负责接收来自客户端的数据处理请求事件,以及来自自身或其它的处理节点的事件;并接受动态负载管理模块的动态负载管理决策控制指令:当接收到负载转移指令时,将事件分别发送到该指令中指定的处理节点;当接收到过载控制指令时,产生***过载的响应消息,并发送到客户端;或者将事件交由事件处理模块重新进行处理;
动态负载管理模块,设有负载监控单元和负载决策单元两个部件,其中:负载监控单元在事件监听模块协助下,实时采集和存储分布式处理集群中各处理节点的存活状况、有效负载率和综合处理能力的信息,并实时更新与存储经负载决策单元创建或者维护后的虚拟节点映射表和动态负载信息表;负载决策单元负责基于各处理节点的存活状况、有效负载率和综合处理能力的信息,以及其存储的虚拟节点映射表,制定用于事件处理和事件分发过程中的负载均衡、负载转移和过载控制的动态负载管理决策控制指令;
事件分发模块,负责接受动态负载管理模块发出的动态负载管理决策控制指令,对其接收到的由事件处理模块产生的新事件或最终处理结果执行事件分发处理:当接收到负载均衡指令时,对其接收到的由事件处理模块产生的新事件或最终处理结果分别发送到该指令所指定的本处理节点的事件监听模块、或其它处理节点、或客户端。
为了达到上述目的,本发明还提供了一种采用本发明分布式动态负载管理***基于P2P技术的分布式动态负载管理方法,其特征在于:当客户端向该分布式处理集群实时发送海量数据处理请求时,某个处理节点收到请求后,先根据本节点的有效负载率和过载阈值判断该处理节点当前是否过载,若过载,则执行负载转移或过载控制;否则,处理该请求;完成请求处理后,就将产生的中间结果封装为事件,并根据虚拟节点映射表和该事件关键属性值执行负载均衡决策,决定该事件由自身节点还是发往其它处理节点继续处理;且后续各个处理节点在处理和分发中间事件时,都是根据有效负载率与过载阈值、或者虚拟节点映射表和事件关键属性值执行负载转移、过载控制或者事件均衡分发的操作,直到产生最终的处理结果,并返还给客户端。
本发明***的创新技术特点是:通过基于DHT原理增加虚拟节点层来实现分布式负载均衡,并通过对数据处理请求或事件进行概率性地重定向处理节点的编号实现负载转移,以及通过概率性过载丢弃实现过载控制。
本发明***中的虚拟节点概念与DHT算法中一致性哈希的哈希环值有相似之处,都是通过虚拟节点到处理节点的映射和按照处理节点综合处理能力成比例地均匀分布,由此实现本发明***的第一层面上的负载管理;再通过概率性处理节点编号重定向,可以解决数据处理请求热点问题所引起的处理节点负载不均衡问题,从而实现本发明***的第二层面上的负载管理。以及通过概率性过载丢弃,可以解决分布式处理集群全局负载过载问题,从而实现本发明的第三层面上的负载管理。
P2P架构环境中的负载均衡技术早已是研究的热点,已有很多技术方案优化P2P***的负载均衡性能。相比于这些方案,本发明更具优势,其原因在于:
在解决结构化P2P***中数据处理请求热点问题中,目前现有技术的方案致力于解决如何减少负载转移中的通信开销(即哈希环值与处理节点对照关系变更的通信代价)问题,并没有考虑数据处理请求热点变更所引起***负载转移的波动性问题。本发明***在负载转移过程中,不更改虚拟节点与处理节点之间的映射关系,只是概率性地对处理节点编号进行重定向,即按照设定概率从轻负载处理节点集合中,随机选出K(该K数值是在***中设定的一个较小的自然数)个处理节点组成小集合,然后从这个小集合中选举出有效负载率最小的一个处理节点,并将其编号作为重定向处理节点编号。因而本发明***能够有效地解决结构化P2P***中数据处理请求热点问题和热点变更引起的***负载转移波动性问题。
再者,在优化P2P***的负载均衡性能的方案中,目前还没有发现有技术方案考虑***全过载情况下的***健壮性问题。本发明***在***全过载情况下,采用概率性地过载丢弃策略,可以有效解决全过载情况下***的健壮性问题。因而,本发明***的分布式动态负载管理方法是对目前已有DHT实现方法的一种改进。因此,本发明的推广应用前景看好。
附图说明
图1是本发明分布式负载管理***总体结构组成示意图。
图2是本发明分布式负载管理***中的处理节点功能模块组成示意图。
图3是本发明分布式负载管理***基于P2P技术的分布式动态负载管理方法操作步骤流程图。
图4是本发明负载管理***执行分布式动态负载管理事件分发的流程图。
图5是本发明负载管理***执行分布式负载均衡表的创建更新流程图
图6是本发明负载管理***执行分布式动态负载转移的事件分发流程图。
图7是本发明负载管理***执行分布式动态过载控制的事件分发流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
参见图1,介绍本发明具有动态负载管理功能、且具有端对端P2P完全对等架构的分布式处理***的结构组成:该***无中心节点(即集中控制节点),但设有多个处理节点,每个处理节点都能独立提供分布式仲裁的负载管理能力,且其各自权限和动态负载管理的功能完全相同,故各处理节点之间完全对等;但每个处理节点处理事件的能力相同或不同;每个处理节点均为该动态负载管理***的控制核心,且分设于不同服务器的服务器上。在实际运行环境部署中,同一台物理服务器可以设置和运行多个处理节点。
参见图2,介绍处理节点的内部四个功能模块:
(1)事件监听模块:负责接收来自客户端的数据处理请求事件,以及来自自身或其它的处理节点的事件;并接受动态负载管理模块的动态负载管理决策控制指令:当接收到负载转移指令时,将事件分别发送到该指令中指定的处理节点;当接收到过载控制指令时,产生***过载的响应消息,并发送到客户端;或者将事件交由事件处理模块重新进行处理。
(2)事件处理模块:用于处理特定类型和属性的事件,产生中间处理结果或最终处理结果,并借助事件分发模块把产生的新事件交由本处理节点或发往其他处理节点继续处理,或将最终处理结果返回给客户端;该事件处理模块是该***中预设的,或由第三方程序员开发并部署到处理节点上。
(3)动态负载管理模块:负责创建与维护事件监听模块和事件分发模块所需的负载信息和提供负载决策信息,设有负载监控单元和负载决策单元两个部件,其中:负载监控单元在事件监听模块协助下,实时采集和存储分布式处理集群中各处理节点的存活状况、有效负载率和综合处理能力的信息,并实时更新与存储经负载决策单元创建或者维护后的虚拟节点映射表和动态负载信息表;负载决策单元负责基于各处理节点的存活状况、有效负载率和综合处理能力的信息,以及其存储的虚拟节点映射表,制定用于事件处理和事件分发过程中的负载均衡、负载转移和过载控制的动态负载管理决策控制指令。
其中的负载决策单元的动态负载管理决策功能说明如下:
根据负载监控单元提供的分布式处理集群各处理节点的存活状况和综合处理能力信息,在***初始化或处理节点发生动态变化时,实时维护虚拟节点映射表和动态负载信息表,调整分布式处理集群中各处理节点的负载,即虚拟节点个数,以使各处理节点负载均衡;
当因处理和分发数据处理请求或事件的热点问题而引起处理节点有效负载率不均衡时,采取负载转移策略,以使各处理节点负载均衡;
当各处理节点有效负载率都过载时,采取过载控制策略,以使分布式处理集群保持***稳定性和健壮性。
(4)事件分发模块:负责接受动态负载管理模块发出的动态负载管理决策控制指令,对其接收到的由事件处理模块产生的新事件或最终处理结果执行事件分发处理:当接收到负载均衡指令时,对其接收到的由事件处理模块产生的新事件或最终处理结果分别发送到该指令所指定的本处理节点的事件监听模块、或其它处理节点、或客户端。
事件分发模块为了能够提供分布式动态负载管理方法,定义了下述几个重要概念:
处理节点有效负载率:为处理节点上一次负载信息采集周期的有效负载率和本周期的实时负载率加权后的值。该实时负载率是处理节点的实际负载量与其综合处理能力的比值,其中,处理节点的实际负载量包括CPU和内存的消耗量,或待处理事件队列的长度;处理节点的综合处理能力包括CPU功能、内存的空间容量、或待处理事件队列长度的最大允许值;利用处理节点的有效负载率能有效处理分布式***中的异构性问题,并将处理节点根据有效负载率分为下述三个级别:轻负载处理节点、正常负载处理节点和过载处理节点。
虚拟节点:为提供分布式负载均衡方法而引入的概念。虚拟节点并不真实存在,只是一个与处理节点相互映射的逻辑符号。每一个虚拟节点只能映射到一个处理节点,但每个处理节点可以映射到多个虚拟节点。虚拟节点的数量是在***启动时配置的,其数量不低于处理节点个数的2倍;且在***运行后,虚拟节点的数量保持不变,当***中的处理节点增加或移出时,处理节点和虚拟节点间的映射关系根据分布式动态负载管理进行相应改变。
虚拟节点映射表:是本发明***实现分布式动态负载管理的一种重要数据结构,用于存储每个虚拟节点符号与其处理节点编号的映射关系。每个处理节点都有各自的虚拟节点映射表,在本发明分布式负载均衡方法中,***通过查找虚拟节点映射表能够从虚拟节点寻找到其对应映射的处理节点(物理节点),实现分布式负载均衡。
动态负载信息表:是本发明***实现分布式动态负载管理的另一重要数据结构,用于存储每个处理节点管理与控制的虚拟节点符号及其个数,该动态负载信息表中的信息与虚拟节点映射表的信息是一一对应的。
本发明***的应用场景包括有下述四种:
分发事件场景:客户端向分布式处理集群实时发送海量数据处理请求,在数据处理请求收发正常时,该集群实时向客户端返回处理结果,并保证该集群中各处理节点的负载均衡和稳定性;且在动态负载管理过程中,各处理节点的地位平等,即该集群中无集中式的负载管理节点,每个处理节点都能独立完成分布式仲裁的动态负载管理;
处理节点初始化和动态变化的场景:客户端向分布式处理集群实时发送海量数据处理请求时,实时启动***或向该集群增加新处理节点或移出处理节点;并在尽可能短时间内,重新根据各处理节点的综合处理能力按比例调整其负载,使得该集群中的各处理节点重新达到负载均衡;
处理节点负载转移场景:客户端向分布式处理集群实时发送海量数据处理请求过程中,因数据处理请求存在热点问题,导致接收请求的处理节点的有效负载率过载,且在轻负载处理节点集合中还有处理节点时,该集群将概率性地重定向数据处理请求发往轻负载处理节点集合中的某个或某些处理节点,以便实时动态调整该集群的负载均衡性;
处理节点过载控制场景:客户端向分布式处理集群实时发送海量数据处理请求,因数据处理请求数量过于庞大,导致该集群中的各处理节点有效负载率都过载时,该集群中的各个处理节点将概率性地丢弃数据处理请求,并向客户端回复***过载的响应消息,以便实时保证该集群的稳定性和可靠性。
下面介绍本发明分布式动态负载管理***基于P2P技术的分布式动态负载管理方法:当客户端向该分布式处理集群实时发送海量数据处理请求时,某个处理节点接收到需要处理的数据处理请求或事件后,先根据本节点的有效负载率和过载阈值判断该处理节点当前是否过载,若过载,则执行负载转移或过载控制,保证***稳定性和负载均衡性;否则,处理该请求。完成请求或事件的处理后,就将产生的中间结果封装为事件,并根据虚拟节点映射表和该事件关键属性值执行负载均衡决策,决定该事件由自身节点还是发往其它处理节点继续处理;且后续各个处理节点在处理和分发中间事件时,都是根据有效负载率与过载阈值、或者虚拟节点映射表和事件关键属性值执行负载转移、过载控制或者事件均衡分发的操作,直到产生最终的处理结果,并返还给客户端。
参见图3,介绍本发明方法的具体操作步骤:
步骤1,处理节点的动态负载管理模块创建或更新虚拟节点映射表和动态负载信息表;同时,动态负载管理模块在事件监听模块协助下,按照设定周期采集分布式集群中各处理节点的存活状态和实时负载信息。该步骤操作内容如下:
(11)***初始建立,创建虚拟节点映射表和动态负载信息表时,采用按照综合处理能力成正比的加权轮询或加权随机分配的方法初始化虚拟节点映射表;或者采用随机分配和保证均匀分布的方法初始化虚拟节点映射表;此时,对于处理事件能力不同的每个处理节点所分配的虚拟节点个数应有所区别。
(12)当该***中增加或移出处理节点时,为使***尽快重新达到负载均衡,动态负载管理模块要对虚拟节点映射表和动态负载信息表进行实时更新。
该步骤(12)包括下列操作内容:
(12a)各处理节点的动态负载管理模块检测到该***中的处理节点有变更时,将该状况告知该集群中的所有处理节点。
(12b)为尽量减少***拓扑维护工作量,各处理节点的动态负载管理模块根据处理节点的初始化、增加或移出的变更信息,采用一致性哈希方法实时更新动态负载信息表和虚拟节点映射表。
(13)***启动运行后,动态负载管理模块中的负载监控单元在事件监听模块协助下,按照设定周期采集分布式集群中各处理节点的存活状态和实时负载信息,并根据处理节点实时负载信息计算其有效负载率,并将处理节点分别归入轻负载处理节点集合、正常负载处理节点集合或过载处理节点集合中。
该步骤(13)包括下列操作内容:
(13a)负载监控单元在事件监听模块协助下,周期采集各处理节点的实时负载信息;且为了解决处理节点的异构性,将处理节点的实时负载信息都归一化为实时负载率,即根据每个处理节点的实时负载信息及其综合处理能力计算该处理节点本周期的实时负载率。
(13b)负载监控单元根据上一周期的有效负载率和本周期的实时负载率,采用加权方式计算该处理节点本周期的有效负载率,并将得到的该处理节点有效负载率数值存储于动态负载管理模块的负载监控单元中。
(13c)负载监控单元先将该处理节点的有效负载率数值与***设定的负载过载阈值进行比较判断,若有效负载率数值大于负载过载阈值,则将该处理节点归入过载处理节点集合中,结束该步骤操作;否则,即有效负载率数值不大于负载过载阈值,则执行后续步骤(13d)。
(13d)负载监控单元再将该处理节点的有效负载率数值与***设定的轻负载阈值进行比较判断,若有效负载率小于轻负载阈值,则将该处理节点归入轻负载处理节点集合中;否则,即有效负载率数值不大于负载过载阈值,就将该处理节点归入正常负载处理节点集合中。
步骤2,处理节点的事件监听模块一旦监听到有需要处理的事件,由动态负载管理模块中负载决策单元根据虚拟节点映射表,以及负载监控单元提供的各处理节点的有效负载率信息进行动态负载管理决策,并制定动态负载管理决策控制指令,事件监听模块根据该控制指令进行负载转移、过载控制,或将事件发送给事件处理模块进行处理。该步骤的操作内容如下:
(21)事件监听模块一旦监听到有需要处理的事件后,动态负载管理模块中的负载决策单元与负载监控单元进行交互,获知每个处理节点的有效负载率数值,并判断本处理节点的有效负载率是否过载:若其未过载,则执行后续步骤(22);若其过载,则跳转执行步骤(23)。
(22)负载决策单元无需执行负载转移或过载控制策略,由事件监听模块直接将该事件交给事件处理模块进行处理,结束该步骤操作。
(23)负载决策单元判断其它处理节点是否都过载,若是,则采取概率性的过载丢弃策略丢弃该事件:即使得准备发往的处理节点有效负载率越高,则其执行过载丢弃策略操作的概率越大,以实现过载控制,实时保证分布式处理集群的工作稳定和可靠;若否,即还存在有效负载率较轻的处理节点,则采取概率性重定向该事件的处理节点,以实现负载转移;且在转移负载时,不更改虚拟节点与处理节点的映射关系,只是概率性重新选择该事件的处理节点编号,并将该事件不经事件处理模块处理就直接发往新的处理节点,即对处理节点编号按照与本处理节点有效负载率成正比的概率进行重定向,且使得本处理节点有效负载率越高,该处理节点执行事件重定向处理节点操作的概率越大。
该步骤(23)包括下列操作内容:
(23a)负载决策单元判断其它处理节点是否都过载,若是,则执行后续步骤(23b);若否,即还存在有效负载率较轻的处理节点,则跳转执行步骤(23c);
(23b)负载决策单元产生一个(0,1)范围内的随机小数,并将该随机小数与本处理节点有效负载率数值进行比较判断:该随机小数是否小于本处理节点有效负载率数值;若是,则负载决策单元向事件监听模块发送过载丢弃指令,事件监听模块直接丢弃该事件,并回复***过载的响应消息,然后在事件分发模块协助下将该响应消息发送到客户端;若否,则执行后续步骤(23e);
(23c)负载决策单元产生一个(0,1)范围内的随机小数,并将该随机小数与本处理节点有效负载率数值进行比较判断:该随机小数是否小于本处理节点有效负载率数值;若是,则执行后续步骤(23d);若否,则跳转执行步骤(23e);
(23d)负载决策单元从轻负载节点集合中随机取出一个或多个处理节点,并从中寻找出有效负载率数值最小的一个或多个处理节点编号作为该事件重定向的目的地,然后,把该处理节点编号和负载转移指令返回给事件监听模块;事件监听模块在事件分发模块的协助下,直接将该事件发往该处理节点编号所代表的处理节点进行处理,以便实时动态调整分布式处理集群的负载均衡性;
(23e)事件监听模块将该事件直接交给事件处理模块进行处理。
步骤3,事件处理模块完成对该事件的处理后,产生中间事件或最终处理结果,发送给事件分发模块;由动态负载管理模块中负载决策单元根据虚拟节点映射表、中间事件关键属性值进行动态负载管理决策,并制定动态负载管理决策控制指令,事件分发模块根据该指令执行事件分发操作,将中间事件或最终处理结果分发到相应的处理节点或客户端,并实现各处理节点负载均衡
该步骤的操作内容如下所述:
(31)事件处理模块处理完成该事件后,对产生的中间事件根据其关键属性值进行一致性哈希求值操作,并模取该***的虚拟节点个数,以获取准备将该中间事件分发的虚拟节点编号,以便将该中间事件发往自身或其它处理节点继续处理。
(32)事件分发模块根据得到的准备分发的虚拟节点编号与动态负载管理模块进行交互,根据动态负载管理模块内的虚拟节点映射表获取该中间事件要发往的处理节点编号。
(33)事件分发模块根据该中间事件要发往的处理节点编号信息,将其发往相应处理节点继续处理,直到产生事件最终处理结果,直接返回给客户端。
本发明已经进行了多次实施试验,下面分别说明本发明***实施例执行分布式动态负载管理方法在分发事件场景、处理节点初始化、动态变化场景、处理节点负载转移场景和处理节点过载控制场景下的实施流程。
参见图4,介绍分发事件场景的分布式动态负载管理事件分发流程,其对应的是本***进行海量数据处理的常规场景,即数据处理请求不存在热点和数量没有超出***的最大负荷量的场景中。其操作步骤如下所述:
(1)处理节点的事件监听模块监听到新的需要处理的事件。需要说明的是:该分布式处理***中的各个处理节点随时都在监听到需处理的事件。
(2)事件监听模块向负载决策模块获取决策指令请求。
(3)负载决策模块与负载监控模块交互,获取***各处理节点的有效负载率信息。
(4)负载决策模块根据得到的各处理节点有效负载率信息,得知分布式处理集群各处理节点有效负载率正常,无需进行负载转移或过载控制策略。
(5)事件监听模块将该事件发送到事件处理模块进行处理;
(6)事件处理模块完成该事件处理后,将新产生的事件等待发往其他处理节点或自身处理节点继续进行处理。
(7)事件分发模块根据新事件属性值进行哈希操作,并模取***的虚拟处理节点个数(其数值是启动时配置的常量),获取虚拟节点编号。
(8)事件分发模块根据得到的虚拟节点编号,与负载决策模块交互,查询动态负载管理模块内虚拟节点映射表,获取事件要分发的处理节点编号。
(9)事件分发模块将新事件发往其他处理节点或自身处理节点继续处理,即重复从步骤(1)开始的过程,直到产生事件最终处理结果,返回给客户端。
需要注意的是,上述步骤(2)~(8)的操作过程是发明分布式动态负载管理方法的核心流程,可以看到各个处理节点分别执行负载管理策略,无中心负载管理处理节点,是一种典型的基于p2p技术的分布式动态负载管理方法。
参见图5,介绍本发明***进行海量数据处理时,对应于处理节点初始化或处理节点动态变化时,调整***各处理节点的负载个数,使得分布式处理集群重新达到负载均衡过程、即分布式负载均衡表的创建与更新操作的流程图。
(1)分布式处理***中处理节点的负载监控模块检测到处理节点变更。
(2)负载监控模块通知分布式集群中所有处理节点的负载决策模块:有处理节点已发生变更。
(3)各处理节点负载决策模块根据处理节点变更信息(包括:初始化信息、增加节点和移出节点信息)更新动态负载信息表和虚拟节点映射表。即根据分布式处理***中各处理节点的综合处理能力成比例地分配各处理节点的负载个数。本发明处理节点的动态负载信息表和虚拟节点映射表更新方法借鉴了一致性哈希在节点加入或移出***时尽量减少***拓扑维护的思想。
参见图6,介绍与处理节点负载转移场景相对应的分布式动态负载转移事件的分发流程图。其对应的是本***进行海量数据处理时,因数据处理请求热点问题引起要发往的处理节点负载过载后,处理节点的负载均衡模块采取负载转移、即处理节点编号重定向的转移事件分发流程的操作内容:
(1)事件监听模块监听到需处理的事件或数据处理请求。
(2)事件监听模块与负载决策模块交互,向其发送决策指令请求。
(3)负载决策模块与负载监控模块交互,获取该***各处理节点的有效负载率信息。
(4)负载决策模块根据得到的各处理节点有效负载率信息,得知要发往的处理节点有效负载率过载、且轻负载处理节点集合还有处理节点,负载决策模块进行概率性负载转移操作;从轻负载节点集合中随机取出K(K为***中设定的一个较小的自然数)个处理节点,并从这K个处理节点中找出有效负载率最小的处理节点,并把该处理节点编号返回给事件分发模块,即进行处理节点编号重定向。
(5)事件分发模块将新事件发往该处理节点编号所指代的处理节点进行处理,以便实时动态调整分布式处理集群的负载均衡性。
在客户端向分布式处理集群实时发送海量数据处理请求过程中,本发明***中的处理节点因数据处理请求存在热点问题,从而导致要发往处理节点的负载不均衡,该***将概率性地执行发往处理节点编号重定向的操作;实时动态地调整分布式处理集群的负载均衡性。
参见图7,介绍本发明对应于处理节点过载控制场景的分布式动态过载控制事件分发流程图。其对应的是本***进行海量数据处理时,分布式处理集群各处理节点的负载都过载后,处理节点的负载均衡模块协助过载控制模块进行过载丢弃策略的过程的操作内容:
(1)事件监听模块监听到需要处理的事件或数据处理请求。
(2)事件监听模块与负载决策模块交互,向其发送决策指令请求。
(3)负载决策模块与负载监控模块交互,获取该***各处理节点的有效负载率信息。
(4)负载决策模块根据得到的各处理节点有效负载率信息,得知要发往的处理节点有效负载率过载、且轻负载节点集合为空,即分布式处理集群各处理节点都过载,负载决策模块则启动过载控制机制执行过载控制,即进行概率性事件丢弃。
(5)事件监听模块接收到事件丢弃信息,将事件丢弃,并向客户端回复***过载响应信息。
在客户端向分布式处理集群实时发送海量数据处理请求过程中,因数据处理请求数量过于庞大,从而导致分布式处理集群中的各处理节点都过载,分布式处理集群***各处理节点将概率性丢弃数据处理请求;实时保证分布式处理集群的稳定性和可靠性。
这里介绍负载转移和过载控制时,处理节点重定向方法、概率性事件丢弃方法和负载率信息采集方法的具体操作内容。需要说明的是:下述这些详细方法只是举例,其目的是表述负载率信息采集方法中,重点是多负载因子加权计算有效负载率的思路,处理节点重定向方法则侧重在处理节点有效负载率越大、其执行负载转移的概率性也越大,以及重定向随机选择的思路,概率性事件丢弃方法中,重点是在处理节点有效负载率越大、其执行过载控制的概率性也就越大的思路。
负载率信息采集方法的操作内容如下:
(a)为保证负载转移和过载控制的有效执行,各处理节点有效负载率信息的采集是基础和前提。各处理节点在设定时间周期T中,采集一次处理节点的实时负载率loadCur(i,j):loadCur(i,j)=α×cpu(i,j)+β×mem(i,j)+γ×queLen(i,j),式中,loadCur(i,j)是编号为i的处理节点在第j个时间周期的负载率,cpu(i,j)是编号为i的处理节点在第j个时间周期时cpu的利用率;mem(i,j)是编号为i的处理节点在第j个时间周期时内存的利用率;queLen(i,j)是编号为i的处理节点在第j个时间周期时数据处理请求队列长度与最大允许队列长度的比例;α、β、γ分别是各负载率因数的加权比重,且α+β+γ=1。需要说明的是,上述负载率采集中考虑的负载因子只是一个示例,其它负载因子也适应于本发明负载率信息采集方法。
(b)根据步骤(a)得到的处理节点实时负载率loadCur(i,j),得到处理节点当前的有效负载率loadAfter(i,j):loadAfter(i,j)=α×loadCur(i,j)+(1-α)×loadAfter(i,j-1);式中,loadAfter(i,j)是编号为i的处理节点在第j个时间周期的有效负载率;α是权重比值,α越大,表示有效负载率中实时负载率的占有比重越大;且0<α<1。
(c)根据步骤(b)得到的处理节点有效负载率loadAfter(i,j),可根据***设定的负载过载阀值loadMax和轻负载阀值loadMin,将处理节点归入轻负载处理节点集合、正常负载处理节点集合和过载处理节点集合中。
也就是,若loadAfter(i,j)<loadMin,则将处理节点归入轻负载处理节点集合;若loadAfter(i,j)>loadMax,则得知处理节点过载,并将处理节点归入过载处理节点集合;否则,归入正常负载处理节点集合。
本发明处理节点编号重定向方法是建立在负载率信息采集方法的基础上的。根据负载率信息采集方法可得到分布式处理集群各处理节点的有效负载率loadAfter(i,j)。其具体操作内容为:
(a)为保证负载均衡,解决因数据处理请求热点问题所带来的处理节点负载不均衡问题,处理节点的动态负载管理模块在执行处理节点编号重定向的操作过程中,先计算在第j时刻处理节点i进行处理节点编号重定向的概率可行性probability(i,j):probability(i,j)=random(),式中,random()能产生(0,1)区间的一个小数。
(b)将处理节点i的概率可行性probability(i,j)与处理节点的有效负载率loadAfter(i,j)进行比较,如果probability(i,j)≤loadAfter(i,j),则顺序执行步骤(c),否则,就此结束处理节点编号重定向方法。
(c)根据各处理节点的有效负载率loadAfter(i,j),从轻负载处理节点集合中随机选出K(K为***中设定的一个较小的自然数)个处理节点,然后从所选出的K个处理节点中,寻找出有效负载率最小的一个处理节点,并将其编号做为要发往的处理节点编号交给事件分发模块进行处理。
本发明概率性事件丢弃方法是建立在负载率信息采集方法的前提下。根据负载率信息采集方法可得到该***中各处理节点的有效负载率loadAfter(i,j)。其操作内容为:
(a)为保证负载均衡,解决因数据处理请求数量过于庞大造成分布式处理集群各处理节点都过载问题,在处理节点的动态负载管理模块进行概率性事件丢弃过程中,先计算在第j时刻处理节点i进行处理节点编号重定向的概率可行性probability(i,j):probability(i,j)=random();式中,random()能产生(0,1)区间的一个小数。
(b)将处理节点i的概率可行性probability(i,j)与处理节点的有效负载率loadAfter(i,j)进行比较,如果probability(i,j)≤loadAfter(i,j),则通知事件分发模块将事件丢弃;否则,就此结束概率性事件丢弃方法。
本发明实施例的试验是成功的,实现了发明目的。

Claims (13)

1.一种分布式动态负载管理***,其特征在于:所述***由具有动态负载管理功能、且具有端对端P2P完全对等架构的分布式处理集群所组成,该处理集群没有集中控制的中心节点,只设有多个处理节点,其中每个处理节点都能独立提供分布式仲裁的动态负载管理能力,且其各自权限和动态负载管理的功能完全相同,但处理事件的能力相同或不同;每个处理节点均为该动态负载管理***的控制核心,且都设有下述四个功能模块:事件处理模块、事件监听模块、事件分发模块、动态负载管理模块;各个模块的功能如下:
事件处理模块,用于处理特定类型和属性的事件,产生中间处理结果或最终处理结果,并借助事件分发模块把产生的新事件交由本处理节点或发往其它处理节点继续处理,或将最终处理结果返回给客户端;该事件处理模块是该***中预设的,或由第三方程序员开发并部署到处理节点上;
事件监听模块,负责接收来自客户端的数据处理请求事件,以及来自自身或其它的处理节点的事件;并接受动态负载管理模块的动态负载管理决策控制指令:当接收到负载转移指令时,将事件分别发送到该指令中指定的处理节点;当接收到过载控制指令时,产生***过载的响应消息,并发送到客户端;或者将事件交由事件处理模块重新进行处理;
动态负载管理模块,设有负载监控单元和负载决策单元两个部件,其中:负载监控单元在事件监听模块协助下,实时采集和存储分布式处理集群中各处理节点的存活状况、有效负载率和综合处理能力的信息,并实时更新与存储经负载决策单元创建或者维护后的虚拟节点映射表和动态负载信息表;负载决策单元负责基于各处理节点的存活状况、有效负载率和综合处理能力的信息,以及其存储的虚拟节点映射表,制定用于事件处理和事件分发过程中的负载均衡、负载转移和过载控制的动态负载管理决策控制指令;
事件分发模块,负责接受动态负载管理模块发出的动态负载管理决策控制指令,对其接收到的由事件处理模块产生的新事件或最终处理结果执行事件分发处理:当接收到负载均衡指令时,对其接收到的由事件处理模块产生的新事件或最终处理结果分别发送到该指令所指定的本处理节点的事件监听模块、或其它处理节点、或客户端。
2.根据权利要求1所述的分布式动态负载管理***,其特征在于:所述每个处理节点分布在不同的服务器上;在实际运行环境中,同一台物理服务器能够设置和运行多个处理节点。
3.根据权利要求1所述的分布式动态负载管理***,其特征在于:所述动态负载管理模块中的负载决策单元的动态负载管理功能如下:
根据负载监控单元提供的分布式处理集群各处理节点的存活状况和综合处理能力信息,在***初始化或处理节点发生动态变化时,实时维护虚拟节点映射表和动态负载信息表,调整分布式处理集群中各处理节点的负载,即虚拟节点个数,以使各处理节点负载均衡;
当因处理和分发数据处理请求或事件的热点问题而引起处理节点有效负载率不均衡时,采取负载转移策略,以使各处理节点负载均衡;
当各处理节点有效负载率都过载时,采取过载控制策略,以使分布式处理集群保持***稳定性和健壮性。
4.根据权利要求3所述的分布式动态负载管理***,其特征在于:所述处理节点有效负载率是该处理节点上一次负载信息采集周期的有效负载率和本周期的实时负载率加权后的值,所述实时负载率是处理节点的实际负载量与其综合处理能力的比值,其中,处理节点的实际负载量包括CPU和内存的消耗量,或待处理事件队列的长度;处理节点的综合处理能力包括CPU功能、内存的空间容量、或待处理事件队列长度的最大允许值;利用处理节点的有效负载率,能够有效处理分布式***中的异构性问题,并将处理节点根据有效负载率分为下述三个级别:轻负载处理节点、正常负载处理节点和过载处理节点;
所述虚拟节点是非真实存在、且与处理节点相互映射的逻辑符号,每个虚拟节点只能映射到一个处理节点,但每个处理节点都映射到多个虚拟节点;虚拟节点的数量是在***启动时配置的,其数量不低于处理节点个数的2倍;且在***运行后,虚拟节点的数量保持不变,当***中的处理节点增加或移出时,处理节点和虚拟节点间的映射关系根据分布式动态负载管理进行相应改变;
所述虚拟节点映射表是该***实现分布式动态负载管理的一种数据结构:用于存储每个虚拟节点符号与其处理节点编号的映射关系,每个处理节点都有各自的虚拟节点映射表,***通过查找虚拟节点映射表能够从虚拟节点寻找到其对应映射的处理节点,实现分布式负载均衡;
所述动态负载信息表是该***实现分布式动态负载管理的另一种数据结构:用于存储每个处理节点管理与控制的虚拟节点符号及其个数,该动态负载信息表中的信息与虚拟节点映射表的信息是一一对应的。
5.根据权利要求1所述的分布式动态负载管理***,其特征在于:该***的应用场景如下:
分发事件场景:客户端向分布式处理集群实时发送海量数据处理请求,在数据处理请求收发正常时,该集群实时向客户端返回处理结果,并保证该集群中各处理节点的负载均衡和稳定性;且在动态负载管理过程中,各处理节点的地位平等,即该集群中无集中式的负载管理节点,每个处理节点都能独立完成分布式仲裁的动态负载管理;
处理节点初始化和动态变化的场景:客户端向分布式处理集群实时发送海量数据处理请求时,实时启动***或向该集群增加新处理节点或移出处理节点;并在短时间内,重新根据各处理节点的综合处理能力按比例调整其负载,使得该集群中的各处理节点重新达到负载均衡;
处理节点负载转移场景:客户端向分布式处理集群实时发送海量数据处理请求过程中,因数据处理请求存在热点问题,导致接收请求的处理节点的有效负载率过载,且在轻负载处理节点集合中还有处理节点时,该集群将概率性地重定向数据处理请求发往轻负载处理节点集合中的某个或某些处理节点,以便实时动态调整该集群的负载均衡性;
处理节点过载控制场景:客户端向分布式处理集群实时发送海量数据处理请求,因数据处理请求数量庞大,导致该集群中的各处理节点有效负载率都过载时,该集群中的各个处理节点将概率性地丢弃数据处理请求,并向客户端回复***过载的响应消息,以便实时保证该集群的稳定性和可靠性。
6.一种采用权利要求1所述的分布式动态负载管理***基于P2P技术的分布式动态负载管理方法,其特征在于:当客户端向该分布式处理集群实时发送海量数据处理请求时,某个处理节点收到请求后,先根据本节点的有效负载率和过载阈值判断该处理节点当前是否过载,若过载,则执行负载转移或过载控制;否则,处理该请求;完成请求处理后,就将产生的中间结果封装为事件,并根据虚拟节点映射表和该事件关键属性值执行负载均衡决策,决定该事件由自身节点还是发往其它处理节点继续处理;且后续各个处理节点在处理和分发中间事件时,都是根据有效负载率与过载阈值、或者虚拟节点映射表和事件关键属性值执行负载转移、过载控制或者事件均衡分发的操作,直到产生最终的处理结果,并返还给客户端。
7.根据权利要求6所述的分布式动态负载管理方法,其特征在于:所述方法包括下列操作步骤:
步骤1,处理节点的动态负载管理模块创建或更新虚拟节点映射表和动态负载信息表;同时,动态负载管理模块在事件监听模块协助下,按照设定周期采集分布式集群中各处理节点的存活状态和实时负载信息;
步骤2,处理节点的事件监听模块一旦监听到有需要处理的事件,由动态负载管理模块中负载决策单元根据虚拟节点映射表,以及负载监控单元提供的各处理节点的有效负载率信息进行动态负载管理决策,并制定动态负载管理决策控制指令,事件监听模块根据该控制指令进行负载转移、过载控制,或将事件发送给事件处理模块进行处理;
步骤3,事件处理模块完成对该事件的处理后,产生中间事件或最终处理结果,发送给事件分发模块;由动态负载管理模块中负载决策单元根据虚拟节点映射表、中间事件关键属性值进行动态负载管理决策,并制定动态负载管理决策控制指令,事件分发模块根据该指令执行事件分发操作,将中间事件或最终处理结果分发到相应的处理节点或客户端,并实现各处理节点负载均衡。
8.根据权利要求7所述的分布式动态负载管理方法,其特征在于:所述步骤1包括下列操作步骤:
(11)***初始建立,创建虚拟节点映射表和动态负载信息表时,采用按照综合处理能力成正比的加权轮询或加权随机分配的方法初始化虚拟节点映射表;或者采用随机分配和保证均匀分布的方法初始化虚拟节点映射表;此时,对于处理事件能力不同的每个处理节点所分配的虚拟节点个数应有所区别;
(12)当该***中增加或移出处理节点时,为使***尽快重新达到负载均衡,动态负载管理模块要对虚拟节点映射表和动态负载信息表进行实时更新;
(13)***启动运行后,动态负载管理模块中的负载监控单元在事件监听模块协助下,按照设定周期采集分布式集群中各处理节点的存活状态和实时负载信息,并根据处理节点实时负载信息计算其有效负载率,并将处理节点分别归入轻负载处理节点集合、正常负载处理节点集合或过载处理节点集合中。
9.根据权利要求8所述的分布式动态负载管理方法,其特征在于:所述步骤(12)包括下列操作步骤:
(12a)各处理节点的动态负载管理模块检测到该***中的处理节点有变更时,将该状况告知该集群中的所有处理节点;
(12b)为尽量减少***拓扑维护工作量,各处理节点的动态负载管理模块根据处理节点的初始化、增加或移出的变更信息,采用一致性哈希方法实时更新动态负载信息表和虚拟节点映射表。
10.根据权利要求8所述的分布式动态负载管理方法,其特征在于:所述步骤(13)包括下列操作步骤:
(13a)负载监控单元在事件监听模块协助下,周期采集各处理节点的实时负载信息;且为了解决处理节点的异构性,将处理节点的实时负载信息都归一化为实时负载率,即根据每个处理节点的实时负载信息及其综合处理能力计算该处理节点本周期的实时负载率;
(13b)负载监控单元根据上一周期的有效负载率和本周期的实时负载率,采用加权方式计算该处理节点本周期的有效负载率,并将得到的该处理节点有效负载率数值存储于动态负载管理模块的负载监控单元中;
(13c)负载监控单元先将该处理节点的有效负载率数值与***设定的负载过载阈值进行比较判断,若有效负载率数值大于负载过载阈值,则将该处理节点归入过载处理节点集合中,结束该步骤操作;否则,即有效负载率数值不大于负载过载阈值,则执行后续步骤(13d);
(13d)负载监控单元再将该处理节点的有效负载率数值与***设定的轻负载阈值进行比较判断,若有效负载率小于轻负载阈值,则将该处理节点归入轻负载处理节点集合中;否则,即有效负载率数值不大于负载过载阈值,就将该处理节点归入正常负载处理节点集合中。
11.根据权利要求7所述的分布式动态负载管理方法,其特征在于:所述步骤2包括下列操作步骤:
(21)事件监听模块一旦监听到有需要处理的事件后,动态负载管理模块中的负载决策单元与负载监控单元进行交互,获知每个处理节点的有效负载率数值,并判断本处理节点的有效负载率是否过载:若其未过载,则执行后续步骤(22);若其过载,则跳转执行步骤(23);
(22)负载决策单元无需执行负载转移或过载控制策略,由事件监听模块直接将该事件交给事件处理模块进行处理,结束该步骤操作;
(23)负载决策单元判断其它处理节点是否都过载,若是,则采取概率性的过载丢弃策略丢弃该事件:即使得准备发往的处理节点有效负载率越高,则其执行过载丢弃策略操作的概率越大,以实现过载控制,实时保证分布式处理集群的工作稳定和可靠;若否,即还存在有效负载率较轻的处理节点,则采取概率性重定向该事件的处理节点,以实现负载转移;且在转移负载时,不更改虚拟节点与处理节点的映射关系,只是概率性重新选择该事件的处理节点编号,并将该事件不经事件处理模块处理就直接发往新的处理节点,即对处理节点编号按照与本处理节点有效负载率成正比的概率进行重定向,且使得本处理节点有效负载率越高,该处理节点执行事件重定向处理节点操作的概率越大。
12.根据权利要求11所述的分布式动态负载管理方法,其特征在于:所述步骤(23)中包括下列操作步骤:
(23a)负载决策单元判断其它处理节点是否都过载,若是,则执行后续步骤(23b);若否,即还存在有效负载率较轻的处理节点,则跳转执行步骤(23c);
(23b)负载决策单元产生一个(0,1)范围内的随机小数,并将该随机小数与本处理节点有效负载率数值进行比较判断:该随机小数是否小于本处理节点有效负载率数值;若是,则负载决策单元向事件监听模块发送过载丢弃指令,事件监听模块直接丢弃该事件,并回复***过载的响应消息,然后在事件分发模块协助下将该响应消息发送到客户端;若否,则执行后续步骤(23e);
(23c)负载决策单元产生一个(0,1)范围内的随机小数,并将该随机小数与本处理节点有效负载率数值进行比较判断:该随机小数是否小于本处理节点有效负载率数值;若是,则执行后续步骤(23d);若否,则跳转执行步骤(23e);
(23d)负载决策单元从轻负载节点集合中随机取出一个或多个处理节点,并从中寻找出有效负载率数值最小的一个或多个处理节点编号作为该事件重定向的目的地,然后,把该处理节点编号和负载转移指令返回给事件监听模块;事件监听模块在事件分发模块的协助下,直接将该事件发往该处理节点编号所代表的处理节点进行处理,以便实时动态调整分布式处理集群的负载均衡性;
(23e)事件监听模块将该事件直接交给事件处理模块进行处理。
13.根据权利要求7所述的分布式动态负载管理方法,其特征在于:所述步骤3包括下列操作步骤:
(31)事件处理模块处理完成该事件后,对产生的中间事件根据其关键属性值进行一致性哈希求值操作,并模取该***的虚拟节点个数,以获取准备将该中间事件分发的虚拟节点编号,以便将该中间事件发往自身或其它处理节点继续处理;
(32)事件分发模块根据得到的准备分发的虚拟节点编号与动态负载管理模块进行交互,根据动态负载管理模块内的虚拟节点映射表获取该中间事件要发往的处理节点编号;
(33)事件分发模块根据该中间事件要发往的处理节点编号信息,将其发往相应处理节点继续处理,直到产生事件最终处理结果,直接返回给客户端。
CN201310065185.XA 2013-03-01 2013-03-01 分布式动态负载管理***和方法 Expired - Fee Related CN103188345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310065185.XA CN103188345B (zh) 2013-03-01 2013-03-01 分布式动态负载管理***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310065185.XA CN103188345B (zh) 2013-03-01 2013-03-01 分布式动态负载管理***和方法

Publications (2)

Publication Number Publication Date
CN103188345A CN103188345A (zh) 2013-07-03
CN103188345B true CN103188345B (zh) 2016-05-18

Family

ID=48679307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310065185.XA Expired - Fee Related CN103188345B (zh) 2013-03-01 2013-03-01 分布式动态负载管理***和方法

Country Status (1)

Country Link
CN (1) CN103188345B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9917891B2 (en) * 2013-09-27 2018-03-13 Intel Corporation Distributed in-order load spreading resilient to topology changes
CN103716381B (zh) * 2013-12-12 2017-04-12 华为技术有限公司 一种分布式***的控制方法,及管理节点
CN104142862B (zh) * 2013-12-16 2015-09-16 腾讯科技(深圳)有限公司 服务器的过载保护方法及装置
CN103746838B (zh) * 2013-12-26 2016-12-07 华北计算技术研究所 一种无中心节点计算机网络的任务调度方法
CN103945005B (zh) * 2014-05-06 2017-06-13 山西睿信智达传媒科技股份有限公司 基于多评价指标的动态负载均衡框架
KR102232900B1 (ko) * 2014-10-02 2021-03-26 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN104486445B (zh) * 2014-12-30 2017-03-22 北京天云融创软件技术有限公司 一种基于云平台的分布式可扩展资源监控***
CN104572307B (zh) * 2015-01-30 2019-03-05 无锡华云数据技术服务有限公司 一种对虚拟资源进行弹性调度的方法
CN106209665A (zh) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 一种实现负荷分担的方法、接口机、业务处理机及***
CN104951427B (zh) * 2015-06-30 2019-01-11 深圳清华大学研究院 以矩阵为中心的分布式计算框架
CN106559448A (zh) * 2015-09-28 2017-04-05 北京国双科技有限公司 服务器负载均衡方法和装置
CN106302628B (zh) * 2015-12-29 2019-12-27 北京典赞科技有限公司 Arm架构网络集群中计算资源的统一管理调度方法
CN107562531B (zh) * 2016-06-30 2020-10-09 华为技术有限公司 一种数据均衡方法和装置
CN107733961B (zh) * 2016-10-19 2021-06-22 北京奥斯达兴业科技有限公司 资源分配方法及装置
CN106610870B (zh) * 2016-12-28 2019-10-15 北京奇艺世纪科技有限公司 一种处理节点数量调整方法及装置
CN107040476B (zh) * 2017-03-10 2020-05-05 浙江工业大学 一种面向实时流计算的动态逐级反压方法
CN109218341B (zh) * 2017-06-29 2022-02-25 北京京东尚科信息技术有限公司 用于监控服务器和用于服务器的负载均衡方法和装置
CN107341055A (zh) * 2017-07-03 2017-11-10 杭州知物数据科技有限公司 分布式内存文件***的实时动态管理方法及***
CN109408219B (zh) * 2017-08-16 2021-04-02 中国电信股份有限公司 分布式数据接收方法、***和用于分布式数据接收的装置
CN109510855B (zh) * 2017-09-15 2020-07-28 腾讯科技(深圳)有限公司 事件分发***、方法及装置
CN108282516B (zh) * 2017-12-21 2021-09-10 深圳创新科技术有限公司 一种基于iSCSI的分布式存储集群负载均衡方法和装置
CN108829511A (zh) * 2018-05-07 2018-11-16 中山大学 基于状态机副本管理模型的负载均衡调节方法
CN110908590A (zh) * 2018-09-17 2020-03-24 中国电力科学研究院有限公司 一种变电站数据的分布式存储方法及***
CN110049084B (zh) * 2018-12-10 2021-08-24 创新先进技术有限公司 分布式***的限流方法、装置及设备
US10901805B2 (en) 2018-12-18 2021-01-26 At&T Intellectual Property I, L.P. Distributed load balancing for processing of high-volume data streams
CN111522649B (zh) * 2019-02-01 2022-04-12 北京京东尚科信息技术有限公司 一种分布式任务分配方法、装置和***
CN109951394B (zh) * 2019-03-11 2021-04-27 ***股份有限公司 一种确定交易***的虚拟节点数量的方法及装置
CN109903178B (zh) * 2019-04-04 2021-08-20 腾讯科技(深圳)有限公司 一种确定共同社交对象的方法、装置、***及计算设备
CN110120973A (zh) * 2019-04-28 2019-08-13 华为技术有限公司 一种请求控制方法、相关设备及计算机存储介质
CN110213351A (zh) * 2019-05-17 2019-09-06 北京航空航天大学 一种面向广域高性能计算环境的动态自适应io负载均衡方法
CN110855738B (zh) * 2019-09-25 2022-06-07 安徽四创电子股份有限公司 一种用于多源设备的通讯处理***
CN111338793A (zh) * 2020-02-14 2020-06-26 拉扎斯网络科技(上海)有限公司 集群任务分发方法、装置、设备及存储介质
CN111339196B (zh) * 2020-02-24 2022-02-25 深圳点链科技有限公司 基于区块链的数据处理方法、***及计算机可读存储介质
US11418417B2 (en) 2020-12-21 2022-08-16 Red Hat, Inc. Managing stateful workloads executing on temporarily available resources of a cloud computing system
CN115587222B (zh) * 2022-12-12 2023-03-17 阿里巴巴(中国)有限公司 分布式图计算方法、***及设备
CN115766737B (zh) * 2023-01-09 2023-05-16 北京微吼时代科技有限公司 负载均衡方法和装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457428A (zh) * 2010-10-27 2012-05-16 中兴通讯股份有限公司 分布式哈希表网络的负载均衡实现方法及装置
CN102457429A (zh) * 2010-10-27 2012-05-16 中兴通讯股份有限公司 分布式哈希表网络的负载均衡实现方法及装置
CN102882973A (zh) * 2012-10-11 2013-01-16 北京邮电大学 基于p2p技术的分布式负载均衡***和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457428A (zh) * 2010-10-27 2012-05-16 中兴通讯股份有限公司 分布式哈希表网络的负载均衡实现方法及装置
CN102457429A (zh) * 2010-10-27 2012-05-16 中兴通讯股份有限公司 分布式哈希表网络的负载均衡实现方法及装置
CN102882973A (zh) * 2012-10-11 2013-01-16 北京邮电大学 基于p2p技术的分布式负载均衡***和方法

Also Published As

Publication number Publication date
CN103188345A (zh) 2013-07-03

Similar Documents

Publication Publication Date Title
CN103188345B (zh) 分布式动态负载管理***和方法
Ningning et al. Fog computing dynamic load balancing mechanism based on graph repartitioning
CN104461740B (zh) 一种跨域集群计算资源聚合和分配的方法
CN102244685B (zh) 一种支持负载均衡的分布式缓存动态伸缩方法及***
CN102882973B (zh) 基于p2p技术的分布式负载均衡***和方法
CN106254240B (zh) 一种数据处理方法和路由层设备以及***
US9031692B2 (en) Cloud robot system and method of integrating the same
CN103152393B (zh) 一种云计算的计费方法和计费***
CN106936892A (zh) 一种自组织云多对多计算迁移方法及***
CN103368864A (zh) 一种基于c/s架构的智能负载均衡方法
CN104011686A (zh) 用于节能分布式和弹性负载均衡的方法和设备
CN105635199B (zh) 一种支持负载均衡的自组织集群服务器
CN104754053B (zh) 一种分布式软件定义网络及在其中动态控制控制器的方法
CN108768716A (zh) 一种微服务路径选择方法及装置
CN106130960B (zh) 盗号行为的判断***、负载调度方法和装置
CN105094982A (zh) 一种多星遥感数据处理***
CN110109756A (zh) 一种网络靶场构建方法、***及存储介质
CN102110014A (zh) 虚拟机负载均衡处理的方法
EP3560148B1 (en) Database functions-defined network switch
US20240028415A1 (en) Instance deployment method and apparatus, cloud system, computing device, and storage medium
Teli et al. Big data migration between data centers in online cloud environment
CN108768854A (zh) 一种基于虚拟节点矩阵的路由算法
Singh et al. Survey on various load balancing techniques in cloud computing
CN104052677A (zh) 单一数据源的软负载均衡方法和装置
CN108322525A (zh) 一种工业多核心网络构建方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160518

Termination date: 20170301