一种面向实时流计算平台的负载均衡方法技术

技术编号:12067539 阅读:106 留言:0更新日期:2015-09-18 01:45
本发明专利技术提供一种面向实时流计算平台的负载均衡方法,在无全局会话表情况下,保持会话一致性,实现云任务数据流量均衡。适应实时流计算平台节点多和数据流量大的特点。包括以下步骤:1)当前任务节点出现过载,则寻找迁移目的节点;2)从服务表中查询指向当前任务节点的数据项集合,然后向当前任务节点询问哪些数据项可以迁移至迁移目的节点;3)当前任务节点接收询问,连接表中的不活跃连接,得到可迁移数据项集合;4)根据可迁移数据项集合建立转发表,转发在所述服务表TD同步期内收的不一致数据;5)将转发表通知给状态级调度器,状态级调度器将转发表同步给所有上游任务节点;6)所有上游任务节点完成同步,删除转发表。

【技术实现步骤摘要】

本专利技术设及信息
,具体设及。
技术介绍
随着云计算、物联网等技术的兴起,数据正W前所未有的速度不断地增长和积累, 并且越来越多地W大规模、连续的流的形式出现在应用程序中,如移动互联网中的社交网 络数据,电子商务领域的用户消费数据,物联网领域由传感器设备产生的实时传感数据等。 为此工业界和学术界开发了很多实时流计算平台,包括Twitter的Storm、 Microsoft的TimeStream、Y址00!的S4,W及斯坦福大学的STREAM、施乐公司的 TapeStry、加州大学伯克利分校的Te1egraph、布朗大学和麻省理工学院合作的Aurora, Apache的HadoopOnline等。 海量数据流的计算超出了单机的处理能力,上述流计算平台均采用集群处理流数 据,必然要使用负载均衡技术提高集群的稳定性和资源利用率。然而,数据流产生速率高且 不能被完全存储、数据价值与实时性紧密相关、数据流未被及时处理则永久丢失等新特性, 给传统的负载均衡技术带来了新的挑战。 目前现有的负载均衡技术存在W下一些问题: 1)采用集中分发模式,仅能处理流量和后端节点有限的情况,而实时流计算平台 的数据量、任务量、节点规模都超越了传统负载均衡器的处理范围; 2)采用全局会话表,因为流计算平台节点众多、流量大,如果每个节点发送数据时 都向全局会话表注册询问,全局会话表很容易工作过载,成为平台瓶颈;[000引 3)在没有全局会话表的情况下,保持会话的一致性十分困难;
技术实现思路
针对现有负载均衡技术存在的问题,本专利技术提供一种面向实时流计算平台的负载 均衡方法,能在没有全局会话表的情况下,保持会话一致性,实现云任务数据流量之间的均 衡。适应实时流计算平台节点多和数据流量大的特点,W提高流计算平台的稳定性和资源 利用率。 本专利技术的目的在于提供,包括W下步 骤: 1)当上游任务节点中的一当前任务节点出现过载,则从下游任务节点中寻找用W分担其负载的一迁移目的节点; 2) -状态级调度器从其具有的一服务表中查询指向所述当前任务节点的一数据 项集合,然后向所述当前任务节点询问哪些数据项可W迁移至迁移目的节点; 3)所述当前任务节点接收询问,查询所述当前任务节点的一连接表中的不活跃连 接,得到一可迁移数据项集合; 4)所述当前任务节点根据所述可迁移数据项集合建立一转发表,用W转发在所述 服务表TD同步期内收的不一致数据; 5)将所述转发表通知给所述状态级调度器,所述状态级调度器将所述转发表同步 给所有上游任务节点,用W更新所述服务表; 6)所有上游任务节点完成同步,删除当前任务节点的转发表。 进一步地,所述服务表定义为数据分配矩阵TD,nXm,行表示task,列表示data: [001 引 进一步地,所述连接表定义为数据活跃矩阵D,lXm,表示数据的活跃情况:[002U 进一步地,所述转发表定义为数据分配掩码矩阵TDM,nXm,表示矩阵变更,与TD 相加,更新TD;〇 进一步地,步骤2)中所述数据项集合定义为: T〇Task=ltdUI(i=task4)八(tdu=1)八(tdijGTD)} 所述向所述当前任务节点询问哪些数据项可W迁移至迁移目的节点包括;根据当 前任务节点的过载程度选择TDhsk或其子集^裂^:^作为询问集合。 进一步地,步骤3)中所述可迁移数据项集合定义为: r召巧巧r嗎的,其中,TD邮={tdUI(tduGTDaJ八化J= 0)八(dijGD)}。[002引进一步地,步骤5)中所述状态级调度器将所述转发表同步给所有上游任务节 点包括,所述状态级调度器将转发表TDM与服务表TD二者相加形成新的服务表TD",,= ID+TMD。 进一步地,步骤5)所述同步的过程中,所述当前任务节点的转发表将后通知到的 上游任务节点发来的数据项转发给迁移目的节点,保证数据分组一致性。 进一步地,所述状态级调度器在一云作业中与云任务一起创建和分发,所述当前 任务节点与迁移目的节点之间的数据流通不通过状态级调度器。 通过采取上述的技术方案,本专利技术的方法对流计算平台进行流量级的负载均衡调 度,具有W下优点: 1、本专利技术中的状态级调度器在云作业中随着云任务一起创建和分发,可W看做一 种特殊的云任务,数据本身不经过状态级调度器,状态级调度器岩机不影响业务运行,从而 提高了负载均衡方法的可用性; 2、采用分布式会话表而非全局会话表,每台后端节点存储与自身相关的局部会话 表,状态级调度器根据需要询问相应的后端节点获得其需要的会话表; 3、基于后端节点的横向转发,保证前端节点在同步期内仍然能保证会话的全局一 致性,只在短暂的同步期内生效,不会造成额外流量增加; 4、负载迁移算法具有理论上的稳定性,保证迁移过程负载情况不发生新的震荡。【附图说明】 图1是本专利技术实施例中拓扑环境示意图。 图2是本专利技术实施例中的状态级调度器分布示意图。[003引图3是本专利技术的负载均衡模式与传统负载均衡模式对比示意图。 图4是本专利技术实施例中的方法实施流程示意图。 图5是本专利技术方法的数据结构示意图。 图6是本专利技术实施例中动态负载均衡系统方框图。 图7是本专利技术实施例中动态负载均衡闭环传递函数方框图。【具体实施方式】 为使本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作 详细说明如下。 本专利技术的核屯、技术构思在于; 1、使用状态级调度器,即协调器,其只在后端节点状态变更时才发生交互,因此不 存在瓶颈,同时由于数据本身不经过协调器,协调器岩机不影响业务运行,从而提高了负载 均衡系统的可用性; 2、采用分布式会话表,即每台后端节点存储与自身相关的局部会话表,协调器根 据需要询问相应的后端节点获得其需要的会话表; 3、基于后端节点的横向转发,保证前端节点在同步期内仍然能保证会话的全局一 致性,只在短暂的同步期内生效,不会造成额外流量增加。 下面介绍本专利技术的面向实时流计算平台的负载均衡方法的主要原理: 如图2,本专利技术中的状态级调度器在云作业中随着云任务一起创建和分发,可W看 做一种特殊的云任务,在云作业中负责对云任务之间的流量进行分配,使得云任务所在的 节点的负载比较平均,避免由于流量过于集中某一节点造成的节点过载。运行过程中,负载均衡器上的服务表前置到上游task,连接表后置到下游task, 流量不经过负载均衡调度器,流量通过上游task上的服务表进行分发,负载均衡调度器只 负责服务表项的迁移与同步,在同步期内依靠下游task之间的转发完成会话一致性。 本专利技术的方法主要体现为W下几个方面: 1)状态级调度器即协调器,如图2,W程序模块的形式存在,像云任务一样运行在某台节点上,不依 赖具体的硬件设备。调度器可W单独部署在1个节点上或是与云任务共用节点。每2级流 水之间至少有1个调度器,多个调度器可W部署在1个节点上。数据流只在上下级task之 间流动,而不经过调度器。每个调度器中包含2个单元:数据和业务逻辑,数据是指服务表 TD,业务逻辑是指完成从数据项到后端节点映射的代码。调度器其只在后端节点状态变更 时才发生交互。上级流水节点的云任务中包含服务表TD,连接表D存在于后端节点的云任 务中,在交互时后端节点产生转发表TDM,TDM被传递给本文档来自技高网...

【技术保护点】
一种面向实时流计算平台的负载均衡方法,包括以下步骤:1)当上游任务节点中的一当前任务节点出现过载,则从下游任务节点中寻找用以分担其负载的一迁移目的节点;2)一状态级调度器从其具有的一服务表中查询指向所述当前任务节点的一数据项集合,然后向所述当前任务节点询问哪些数据项可以迁移至迁移目的节点;3)所述当前任务节点接收询问,查询所述当前任务节点的一连接表中的不活跃连接,得到一可迁移数据项集合;4)所述当前任务节点根据所述可迁移数据项集合建立一转发表,用以转发在所述服务表TD同步期内收的不一致数据;5)将所述转发表通知给所述状态级调度器,所述状态级调度器将所述转发表同步给所有上游任务节点,用以更新所述服务表;6)所有上游任务节点完成同步,删除当前任务节点的转发表。

【技术特征摘要】

【专利技术属性】
技术研发人员:张闯陈蒙蒙李钊徐克付
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1