当前位置: 首页 > 专利查询>东北大学专利>正文

一种面向Storm的基于反馈的连续范围查询负载均衡方法技术

技术编号:16587486 阅读:40 留言:0更新日期:2017-11-18 15:05
本发明专利技术公开了一种面向Storm的基于反馈的连续范围查询负载均衡方法,包括:1)上游worker将范围查询按照查询范围与网格的重叠情况,将范围查询划分为子查询;2)按照最小负载优先的分组策略将范围子查询分发到下游worker,并用评估代价更新下游worker的评估负载;3)下游worker执行具体的范围子查询任务,操作数据库或者从缓存中获取查询范围内的移动对象信息,并评估范围查询的真实代价;4)以范围查询的真实代价反馈给下游worker,更新评估负载,得到真实负载,每次优先将范围查询任务分发到下游负载最小的worker中,从而保证worker之间的负载差值尽量小,提高了系统的负载均衡度和吞吐量,并计算单元真实负载更新预估负载,使系统的负载更加均衡,资源利用率更高。

A Storm oriented load balancing method for continuous range queries based on feedback

The invention discloses a Storm oriented continuous range query based on the feedback load balancing method, including: 1) upstream of worker will range query according to the query range overlap with the grid, the range query is divided into sub queries; 2) according to the grouping strategy the minimum load priority will range slightly sub query is distributed to the downstream worker load assessment updates downstream of worker and an evaluation cost; 3) downstream of the worker sub query task specific scope of implementation, the operation of the database or from the cache access query of moving objects within the scope of information, and to assess the true cost of range queries; 4) the true cost of range query feedback to the downstream worker, update the evaluation load, get the real load, each priority will range query tasks distributed to downstream minimum load of worker, so as to ensure the worker load difference as small as possible, improve The load balance and throughput of the system are calculated, and the actual load of the unit is calculated to update the predicted load, which makes the system more balanced and the resource utilization rate higher.

【技术实现步骤摘要】
一种面向Storm的基于反馈的连续范围查询负载均衡方法
本专利技术涉及通信网络
,尤其涉及一种面向Storm的基于反馈的连续范围查询负载均衡方法。
技术介绍
随着定位手段的多样化、移动终端的普及与通讯基础设施的完备,以基于位置服务(LocationBasedService,LBS)为代表的移动应用已经步入移动大数据时代。移动大数据环境下,数据规模更大、传播速度更快、多样性更加广泛,呈现出鲜明的流式特征,传统LBS技术面临多种新的挑战。基于位置服务的连续范围查询,具有高并发、低延迟特点,因此需要更高效的针对具有流式特征的移动大数据的处理能力。移动大数据时代的数据处理不仅需要存储与处理能力更强更灵活的计算平台,还需依托于计算平台的处理和优化技术。然而,在分布式系统中普遍存在着著名的“短板理论”,一个系统如果出现了负载不均衡问题,那么负载最大的节点往往将成为影响系统整体表现的瓶颈和短板。由于经济发展,地理位置等因素,人口密度在不同区域是不相同的,相应的,和LBS应用相对应的移动对象在地理分布上也是不均匀的。ApacheStorm本身作为一个分布式流处理系统,系统内部并没有提供有效的负载均衡机制,而且Storm自带的分组策略如ShuffleGrouping、FieldsGrouping都是基于一种通用思想而设计的分组策略,而没有考虑处理的任务所包含的语义,如连续范围查询具有查询范围、移动对象密度、范围重叠等时空语义,移动对象在地理分布上是不均匀的,因而范围查询的代价也不尽相同,这样很容易导致处理范围查询的各计算单元之间的负载不均衡,性能下降,所以Storm自带分组策略也不能满足系统负载均衡的需要,这无疑对整个系统的性能表现是一种挑战,针对云计算环境中的在线流处理的负载均衡研究相对较少,传统的和针对批处理的负载均衡技术无法直接应用到流处理系统中。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种面向Storm的基于反馈的连续范围查询负载均衡方法。为了解决
技术介绍
中所存在的问题,本专利技术的技术方案为:一种面向Storm的基于反馈的连续范围查询负载均衡方法,包括:1)、上游worker将范围查询按照查询范围与网格的重叠情况,将范围查询划分为子查询;2)、按照最小负载优先的分组策略将范围子查询分发到下游worker,并用评估代价更新下游worker的评估负载;3)、下游worker执行具体的范围子查询任务,操作数据库或者从缓存中获取查询范围内的移动对象信息,并评估范围查询的真实代价;4)、以范围查询的真实代价反馈给下游worker,下游worker更新评估负载,得到真实负载。所述步骤1)具体步骤为:根据查询范围和网格重叠量,将数据元组分为多个子查询,每个子查询的查询范围只和一个网格重叠。所述步骤2)中最小负载优先的分组策略具体包括:2.1、针对每个范围的子查询,从range表中获取子查询的查询范围所在网格已缓存的区域,并借助扫描线算法计算查询范围中未缓存部分所占比例;2.2、计算子查询的预估代价,然后从up表中选取记录负载最小的worker,发送到下游;2.3、更新up表中该worker的负载记录。4、根据权利要求3所述的面向Storm的基于反馈的连续范围查询负载均衡方法,其特征在于,所述up表为基于Redis的hash类型的up表,记录上游预估的下游的每个worker的负载。所述扫描线算法为:A、沿着网格已缓存的区域形成的矩形,对每个矩形的上边和下边用4条横线a,b,c,d将整个图分成了5个部分;B、自下向上的扫描所有矩形;C、对每个矩形表示的区域进行求和,求出矩形的总的面积。所述步骤2.2中计算子查询的评估代价的公式为:C(q)=D×r×((1-R)*α+R)其中,D表示网格的移动对象密度,r表示查询范围大小,R表示查询范围中未被缓存的比例,α是一个参数,表示从缓存中获取结果的代价与从数据库中获取结果的代价的比值。所述真实负载用采用down表记录,所述down表为基于Redis的hash类型的down表。与现有技术相比较,本专利技术的有益效果为:本专利技术提供了一种面向Storm的基于反馈的连续范围查询负载均衡方法,利用最小负载优先的分组策略,对有缓存部分和无缓存部分的查询代价作整体评估,提出了最小负载优先的分组策略,每次优先将范围查询任务分发到下游负载最小的worker中,从而保证worker之间的负载差值尽量小,提高了系统的负载均衡度和吞吐量,并计算单元真实负载更新预估负载,使系统的负载更加均衡,资源利用率更高。附图说明图1是本专利技术图面向Storm的基于反馈的连续范围查询负载均衡方法流程图;图2是本专利技术图最小负载优先的分组策略执行过程图;图3是本专利技术图基于反馈的最小负载优先的分组策略执行过程图。具体实施方式下面结合附图对本专利技术做详细描述。本专利技术提供了一种面向Storm的基于反馈的连续范围查询负载均衡方法(LeastLoadFirstGroupingwithFeedback,LLFG-F),包括:1)、上游worker将范围查询按照查询范围与网格的重叠情况,将范围查询划分为子查询;根据查询范围和网格重叠量,将数据元组分为多个子查询,每个子查询的查询范围只和一个网格重叠。2)、按照最小负载优先的分组策略将范围子查询分发到下游worker,并用评估代价更新下游worker的评估负载;该步骤具体包括:2.1、针对每个范围的子查询,从range表中获取子查询的查询范围所在网格已缓存的区域,并借助扫描线算法计算查询范围中未缓存部分所占比例R;需要说明的是:连续范围查询在查询范围有重叠的情况下,系统会重复查询同一个区域,给系统带来了不必要的处理代价,资源利用率不高,为了减少重复查询,减小系统负载,提高资源利用率和查询效率,本专利技术提出了基于Redis的缓存机制。缓存机制基于Redis的特点:1)内存存储,快速读写,可以达到10w/s的频率;2)数据结构丰富;3)所有的操作是原子性的,能保证数据的一致性,利用Redis作为缓存存储结构,缓存对象是连续范围查询的查询结果。缓存设计一般包括两部分:1、缓存未命中。客户端从缓存获取数据失败,则从数据库中读取数据,读取成功以后,返回给客户端,并将结果放入缓存;2、缓存命中。客户端直接从缓存读取数据。基于Redis的数据类型和数据类型的操作,设计了cache,cache_list,cache_sortedSet,range这4张表。cache:使用了Redis中的hash类型,该表被用作存储范围查询结果——查询范围内的移动对象,其中,移动对象用userid来唯一表示,cache表存储结构如表1所示。表1cache表逻辑存储结构cache表的描述如表2所示。表2cache表描述cache_list:使用了Redis中的list类型,存储的是网格id,该表被用作实现最近最久未使用替换策略,cache_list表存储结构如表3所示。表3cache_list逻辑存储结构cache_list表的描述如表4所示表4cache_list表描述字段字段类型字段描述cache_listStringlist的keyvalueString网格idcache_sortedSet:使用了Redis中的sor本文档来自技高网
...
一种面向Storm的基于反馈的连续范围查询负载均衡方法

【技术保护点】
一种面向Storm的基于反馈的连续范围查询负载均衡方法,其特征在于,包括:1)、上游worker将范围查询按照查询范围与网格的重叠情况,将范围查询划分为子查询;2)、按照最小负载优先的分组策略将范围子查询分发到下游worker,并用评估代价更新下游worker的评估负载;3)、下游worker执行具体的范围子查询任务,操作数据库或者从缓存中获取查询范围内的移动对象信息,并评估范围查询的真实代价;4)、以范围查询的真实代价反馈给下游worker,下游worker更新评估负载,得到真实负载。

【技术特征摘要】
1.一种面向Storm的基于反馈的连续范围查询负载均衡方法,其特征在于,包括:1)、上游worker将范围查询按照查询范围与网格的重叠情况,将范围查询划分为子查询;2)、按照最小负载优先的分组策略将范围子查询分发到下游worker,并用评估代价更新下游worker的评估负载;3)、下游worker执行具体的范围子查询任务,操作数据库或者从缓存中获取查询范围内的移动对象信息,并评估范围查询的真实代价;4)、以范围查询的真实代价反馈给下游worker,下游worker更新评估负载,得到真实负载。2.根据权利要求1所述的面向Storm的基于反馈的连续范围查询负载均衡方法,其特征在于,所述步骤1)具体步骤为:根据查询范围和网格重叠量,将数据元组分为多个子查询,每个子查询的查询范围只和一个网格重叠。3.根据权利要求1所述的面向Storm的基于反馈的连续范围查询负载均衡方法,其特征在于,所述步骤2)中最小负载优先的分组策略具体包括:2.1、针对每个范围的子查询,从range表中获取子查询的查询范围所在网格已缓存的区域,并借助扫描线算法计算查询范围中未缓存部分所占比例;2.2、计算子查询的预估代价,然后从up表中选取记录负载最小的worker,...

【专利技术属性】
技术研发人员:王波涛周建鹏梁伟李睿刘广鑫
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁,21

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

1