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

一种基于数据分布的大数据查询方法技术

技术编号:18913518 阅读:27 留言:0更新日期:2018-09-12 02:57
本发明专利技术提供一种基于数据分布的大数据查询方法,涉及大数据查询技术领域。一种基于数据分布的大数据查询方法,首先对待查询的数据划分数据段,并根据加速比计算整体数据段的段势分布函数,以确定各数据段的数量比例关系;然后根据约束条件将待查询数据装载到各数据段内;最后根据用户查询请求的时限要求,采用数据段选择算法确定参与查询的数据段,并返回查询结果及实际查全率和置信度。本发明专利技术提供的基于数据分布的大数据查询方法,保证了分布式环境下各类查询的随机性、性能和近似性评价,并兼容精确查询,且新增数据不会影响查询效果,具备良好的扩展性和可维护性。

A big data query method based on data distribution

The invention provides a large data query method based on data distribution, which relates to the technical field of large data query. A large data query method based on data distribution is proposed. Firstly, the data segment to be queried is divided into data segments, and the segment potential distribution function of the whole data segment is calculated according to the acceleration ratio to determine the quantitative proportion of each data segment. The time limit of the request is determined by the data segment selection algorithm, and the query results and the actual recall and confidence are returned. The large data query method based on data distribution provided by the invention guarantees the randomness, performance and approximation evaluation of various queries in the distributed environment, and is compatible with accurate queries, and the new data will not affect the query effect, and has good expansibility and maintainability.

【技术实现步骤摘要】
一种基于数据分布的大数据查询方法
本专利技术涉及大数据查询
,尤其涉及一种基于数据分布的大数据查询方法。
技术介绍
人、机、物三元世界的高度融合引发了数据规模的爆炸式增长和数据模式的高度复杂化,世界已进入网络化的大数据(BigData)时代。面对如此庞大的数据量,如何能在可容忍的时间范围内找到目标数据至关重要。早期对查询处理技术的研究主要集中在对精确查询的优化与调度,而且已取得大量成果。但是如果当今仍然采用传统精确的查询技术处理海量数据,一方面查询算法难以进一步优化,另一方面精确查询任务将会显得极其繁重,从而导致整个查询的响应时间超过用户可以接受的限度。此外,缩小搜索范围(SearchScope)是优化查询的主要思路,传统的数据分区和索引技术可以精确的缩小搜索范围,提高查询命中率,然而这些技术都依赖数据值域的良好划分和精细的数据结构,在大数据环境中维护一个精确的数据分区和索引的代价很高。如果能在海量数据中找到自己想要的、非重复的结果且拥有一个理想的响应时间,那么对于解决当代社会的许多关键问题都有帮助。很多实际应用中,人们并不需要精确的查询结果,仅需要满足一定精度要求的近似的查询结果,或可以适当损失查询精度来满足性能要求。如人们在机场通过GPS定位服务寻找附近几个最近的餐馆时,他们并不需求非常精确的数据,相反他们对响应时间的要求会更高。对于一般查询,查准率比查全率更为重要,如用户能够容忍查询返回的餐馆并非匹配条件的所有餐馆,但难以接受查询结果中包含不匹配查询条件的餐馆,这一点在大数据查询中尤为明显。
技术实现思路
针对现有技术的缺陷,本专利技术提供一种基于数据分布的大数据查询方法,通过约简搜索范围来提高查询性能。一种基于数据分布的大数据查询方法,包括以下步骤:步骤1、将待查询的数据按数据量划分为数据段,并计算整体数据段的段势分布函数,划分数据段需符合以下两条特定规律:①各数据段中的数据量满足比例关系;②划分算法具有扩展性,需同时适用于历史数据和新增数据;步骤1.1、定义数据段;将待查询数据划分为w个数据段s1,s2,…,sw,一个数据段对应一个或多个数据块;步骤1.2、定义段势;数据段中的数据量和待查询的数据总量之间的比值称为段势,因此,第k个数据段sk的段势为||sk||=|sk|/(|s1|+|s2|+…+|sw|),1≤k≤w,其中|sk|表示数据段sk中的数据量;编号为k的数据段的段势为或(G(k)-G(k-1))/G(w),其中,函数g(x)为段势分布函数,x∈[0,w],G(x)是g(x)的原函数;步骤1.3、根据加速比计算段势分布函数,以确定各数据段的数量比例关系,具体方法为:分布式系统中,并行查询方法所能获得的加速比为:其中,z为查询过程中可被并行处理部分的比例,(1-z)是串行处理的比例,r为并行处理节点的数量,Ts为串行处理用时,Tp为并行处理用时,θ为并行处理用时Tp相比于串行处理用时Ts的加速比;当用户提交的查询请求给定一个时间上限,设计并行处理的查询时间Tp和数据段的编号x之间满足线性正相关,即Tp=k′×x;若数据段中数据块分散性良好,则查询第x个数据段时并行处理节点的数量即最大并行程度如下式所示:其中,N为待查询的数据总量,M为所划分的数据段中数据块大小,为第x个数据段的数据量,为第x个数据段的数据块个数;查询第x个数据段时,串行数据查询算法的查询时间如下式所示:其中,m、n均为正数;对于使用特定计算模型实现的查询算法,查询过程中可被并行处理部分的比例z值已知,因此,查询第x个数据段时,并行查询方法所能获得的加速比如下式所示:求解该方程得到整体数据段的段势分布函数,如下式所示:其中,p1~p5均为由m、n、N、M和z确定的常数;步骤2、获取待查询的数据总量,确定数据段总数量和数据段中每个数据块大小,根据段势分布函数计算每个数据段应装载的数据量;步骤3、确定查询过程中并行处理的节点数量,做数据装载,根据计算结果将相应的数据量装载到对应的数据段内;初次装载时,在新数据到来后,根据段势分布函数确定每个数据段应被分派的数据量,并将该部分数据装入数据段中;在后续的装载中,不考虑之前的数据装载情况,按段势分布函数将新来的数据按比例装载到数据段中;步骤4、判断装载后各数据段中数据量是否满足数据块的数量远大于并行处理的节点数量的约束条件,若满足,则执行步骤5,否则,执行步骤2,做数据的等待装载,直到数据块的数量远大于并行处理的节点数量;步骤5、用户提交查询请求,给定查询时间的上界Tmax;步骤6、计算第一个数据段所需要的查询时间T1;步骤7、采用数据段选择算法确定参与查询的数据段,具体方法为:数据段选择是指“确定包含满足查询条件的数据的所有段”的过程;段选择应保证:①具有随机性,避免反复查询同一段数据;②查询时间不大于用户给定的时间上界Tmax;③最大化查全率;④优先选择满足数据规模要求且数据段总数最少的情况进行查询;⑤被选中的所有数据段需要有相同的并行次数;确定参与查询的数据段的具体方法为:选取编号从a到b的连续数据段内的数据作为查询数据,a值随机选取以保证数据段选择的随机性,避免段势偏小的数据段总是被查询,而段势大的数据段则难以被查询到,b的计算通过定查询时间的上界Tmax确定:其中,Tx为根据数据段间的比例关系及第一个数据段的查询时间T1确定的第x个数据段所需的查询时间;当数据段的编号b≤w时,选择参与查询的数据段为当数据段的编号b>w时,选择的数据段为a,a+1,…,w和步骤8、返回查询结果,并返回实际查全率和置信度;所述实际查全率和置信度的计算方法为:根据数据段选择算法,如果最终择的数据段为a,a+1,…,b,则实际参与查询的数据量为则实际查全率如下式所示:置信度为实际参与查询的数据量与理论上参与查询的数据量的比值,如下式所示:其中,pr为置信度,f-1(Tmax)为给定查询时间Tmax内理论上参与查询的数据量。由上述技术方案可知,本专利技术的有益效果在于:本专利技术提供的一种基于数据分布的大数据查询方法,从数据划分和数据约简两个方面改进大数据的查询效率,对用户提交的查询提供快速、近似且精度可知的查询处理。同时,该方法的构建基于加速比和势分布,保证了分布式环境下各类查询的随机性、性能和近似性评价,并兼容精确查询,且新增数据不会影响查询效果,具备良好的扩展性和可维护性。附图说明图1为本专利技术实施例提供的一种基于数据分布的大数据查询方法的流程图;图2为本专利技术实施例提供的数据随机分布与基于数据分布的大数据查询方法的段势分布的对比图;图3为本专利技术实施例提供的每个数据段的查询时间与数据段编号之间的关系图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本实施使用请求访问1998年世界杯体育赛事web网站(WorldCup98,网址为http://ita.ee.lbl.gov/html/contrib/WorldCup.html)的数据作为例,使用本专利技术的基于数据分布的大数据查询方法对该数据进行查询。该数据为具有多个属性值的海量数据,包括时间戳、服务器、访问者IP地址、数据请求类型等属性值。一种基于数据本文档来自技高网...

【技术保护点】
1.一种基于数据分布的大数据查询方法,其特征在于:包括以下步骤:步骤1、将待查询的数据按数据量划分为数据段,并计算整体数据段的段势分布函数,划分数据段需符合以下两条特定规律:①各数据段中的数据量满足比例关系;②划分算法具有扩展性,需同时适用于历史数据和新增数据;步骤1.1、定义数据段;将待查询数据划分为w个数据段s1,s2,…,sw,一个数据段对应一个或多个数据块;步骤1.2、定义段势;数据段中的数据量和待查询的数据总量之间的比值称为段势,因此,第k个数据段sk的段势为||sk||=|sk|/(|s1|+|s2|+…+|sw|),1≤k≤w,其中|sk|表示数据段sk中的数据量;编号为k的数据段的段势为

【技术特征摘要】
1.一种基于数据分布的大数据查询方法,其特征在于:包括以下步骤:步骤1、将待查询的数据按数据量划分为数据段,并计算整体数据段的段势分布函数,划分数据段需符合以下两条特定规律:①各数据段中的数据量满足比例关系;②划分算法具有扩展性,需同时适用于历史数据和新增数据;步骤1.1、定义数据段;将待查询数据划分为w个数据段s1,s2,…,sw,一个数据段对应一个或多个数据块;步骤1.2、定义段势;数据段中的数据量和待查询的数据总量之间的比值称为段势,因此,第k个数据段sk的段势为||sk||=|sk|/(|s1|+|s2|+…+|sw|),1≤k≤w,其中|sk|表示数据段sk中的数据量;编号为k的数据段的段势为或(G(k)-G(k-1))/G(w),其中,函数g(x)为段势分布函数,x∈[0,w],G(x)是g(x)的原函数;步骤1.3、根据加速比计算段势分布函数,以确定各数据段的数量比例关系;步骤2、获取待查询的数据总量,确定数据段总数量和数据段中每个数据块大小,根据段势分布函数计算每个数据段应装载的数据量;步骤3、确定查询过程中并行处理的节点数量,做数据装载,根据计算结果将相应的数据量装载到对应的数据段内;初次装载时,在新数据到来后,根据段势分布函数确定每个数据段应被分派的数据量,并将该部分数据装入数据段中;在后续的装载中,不考虑之前的数据装载情况,按段势分布函数将新来的数据按比例装载到数据段中;步骤4、判断装载后各数据段中数据量是否满足数据块的数量远大于并行处理的节点数量的约束条件,若满足,则执行步骤5,否则,执行步骤2,做数据的等待装载,直到数据块的数量远大于并行处理的节点数量;步骤5、用户提交查询请求,给定查询时间的上界Tmax;步骤6、计算第一个数据段所需要的查询时间T1;步骤7、采用数据段选择算法确定参与查询的数据段;步骤8、返回查询结果,并返回实际查全率和置信度。2.根据权利要求1所述的一种基于数据分布的大数据查询方法,其特征在于:所述步骤1.3的具体方法为:分布式系统中,并行查询方法所能获得的加速比为:其中,z为查询过程中可被并行处理部分的比例,(1-z)是串行处理的比例,r为并行处理节点的数量,Ts为串行处理用时,Tp为并行处理用时,θ为并...

【专利技术属性】
技术研发人员:宋杰董伟徐超王蓓蕾
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁,21

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

1