一种基于位置的移动数据存储系统技术方案

技术编号:21224689 阅读:25 留言:0更新日期:2019-05-29 05:26
本申请涉及一种基于位置的移动数据存储系统及其优化方法,在预设的负载和存储预算的情况下,根据查询范围及存储系统中的原始数据,生成用于查询的多个候选副本,并使用查询成本评估模块对上述多个副本构成的副本集合进行评估,并从中选择出一个成本最低或接近最低的副本集合。用以实现对基于位置的移动数据大数据分布式存储系统的宽查询范围性能的优化,并在此基础上提出了贪婪算法及线性规划舍入算法进一步对存储系统的性能进行进一步的发掘。

A Location-based Mobile Data Storage System

This application involves a location-based mobile data storage system and its optimization method. In the case of preset load and storage budget, according to the query scope and the original data in the storage system, multiple candidate replicas for query are generated, and the replica set composed of the above multiple replicas is evaluated by the query cost evaluation module, from which one of the most costly replicas is selected. A low or near minimum set of copies. To optimize the performance of location-based large data distributed storage system with wide query range, greedy algorithm and linear programming rounding algorithm are proposed to further explore the performance of storage system.

【技术实现步骤摘要】
一种基于位置的移动数据存储系统
本专利技术涉及移动通信领域,具体涉及了一种基于位置的移动数据存储系统。
技术介绍
随着数据采集能力的发展,通过数以亿计的电子设备,例如手机、平板电脑、车载GPS导航及多种类型的传感器,采集人或物的巨量位置的移动数据变得更加简单。但是,存储这些位置的移动数据带来了两个挑战:1)怎么有效的处理大量的地理位置移动数据的查询;2)如何降低存储服务的成本。位置移动数据通常具有三个共同点:1.所有的数据都具有三个核心属性:目标ID、时间戳和位置信息;2.这些数据库的查询通常在通过特定的空间范围和时间范围信息进行查询;3.在处理空间-时间范围查询时,特别当查询到的结果特别多时即宽查询范围时,主流的大数据存储和管理系统不适合存储和处理这些位置移动数据。因为,这些系统不能根据时间和空间的临近性物理地聚类记录,这会导致主流系统触发非常多的低效率的随机读取。为了解决随机读取多的问题,TrajStore和PIST通过根据时间-空间代理来共同定位数据,并使用相对较大的分区,但TrajStore和PIST不是采用分布式构架的系统,都不能扩展为TB量级;CloST和SpatialHadoop是两个基于Hadoop的系统,旨在提供可扩展的分布式存储和并行查询处理的大型基于位置的移动数据系统;SATO是一个空间数据分区框架,可以快速分析和分区空间数据,并能够提供一个大小可变的查询处理的最有空间分区策略。BLOT系统,是一种系统级的抽象,表示那些用于存储基于位置的大型移动数据的专用存储系统。上述的TrajStore、PIST、CloSTridium、SpatialHadoop和SATO都可以视为BLOT系统的具体例子。附图1展示了BLOT系统中的管理数据和查询数据的过程。在BLOT系统中存储了大量的基于位置的移动数据,每条记录都以下面的格式进行存储:(OID,TIME,LOC,A1,……,Am)。其中:OID为目标ID,TIME为时间戳,LOC是目标ID在某个时间点上所处的位置,A1……Am是根据数据库应用场景变化的通用属性。我们将前三个属性成为核心属性,其他属性称为公共属性。BLOT系统通过核心属性将大数据集分割成相对较小的分区。例如,在TrajStore和CloST中,记录先按照位置(LOC)进行分区,之后再按照时间进行分区。同一分区中的记录一起被存储在一个存储单元中,该存储单元为顺序读取进行了优化。通常,存储单元大于一个磁盘页的,从数百KB到及兆字节。在BLOT系统中,记录通常是按顺序访问的,因此可以有效的处理较宽的时间-空间的范围查询;存储单元的数量走狗小,这样我们可以方便的维护分区索引。数据分区可以存储任何格式的记录,通常将每个分区都存储为CSV文件,每行指定一个记录。该格式虽然易于处理,但存储利用率很低。对于大型数据集,尤其是使用云存储时,使用上述方法的成本较高。为了减小存储的大小,BLOT系统使用各种压缩技术对分区中的记录进行编码:1)使用二进制格式代替文本格式;2)应用通用的压缩算法对整个分区进行压缩;2)以列方式管理数据,然后应用列向编码方案(如增量编码和运行长度编码)。在BLOT系统中进行范围查询时,需要首选搜索相关的分区,即其范围与查询范围相交的分区;接下来读取并解压所有涉及的分区并提取所有的记录;最后,检查提取的记录并输出查询范围内的记录。需要注意的是,可以通过使用同时扫描多个分区的手段,实现并行查询处理。一般来讲,查询相关分区的成本有两部分组成:1)扫描成本,包含提取和过滤过程;2)额外成本,包含程序初始化、定位分析、加载解码器及清理过程等。在一个典型的BLOT系统中,扫描成本通常与分区中的记录的多少成正比,而额外成本在编码方案确定之后为一个常数。因此,对于特定的查询,查询成本由要扫描的记录的总数和设计的分区的总数决定。下面举例说明扫描成本在BLOT系统中使用不同策略的情况下的区别。在使用了多副本的BLOT系统中,当查询数据涉及3个分区的情况下,使用附图2上所示的不同策略,得到了不同的成本。可以得出,中间的情形2的查询成本最低,因为扫描成本和额外成本都是最低的,但是无法比较出左边的情形比右边的情形的成本是高还是低。从附图2,我们也可以得出,查询的成本会随则不同的分区方案发生很大的变化。现有的大多数BLOT系统可以在查询历史的基础上自适应地优化物理存储的管理配置,例如空间分区和时间分区的大小。但是,在查询的范围发生较大变化的情况下,其总体的查询性能在所述的优化配置情况下仍然不能让人满意。使用不同的物理层面实现的多副本可以缓解上述问题,但是这是典型的以存储空间换取性能的优化方法。其查询效率低的最根本的原因是,上述BLOT系统只使用一套配置参数去管理(例如分区和压缩)数据。但很显然的是,单一的配置无法针对所有的查询进行优化。
技术实现思路
为了解决上述问题,本专利技术的目的是提供一种基于位置的移动数据存储系统及其优化方法。所述存储系统,其特征在于,所述存储系统包括:副本产生模块,查询成本评估模块,副本选择模块;所述副本产生模块,根据查询范围及存储系统中的原始数据,生成用于查询的多个候选副本;所述查询成本评估模块,在预设的负载、存储预算和输入查询范围情况下,对所述候选副本构成的所有副本集合的查询成本进行评估;所述副本选择模块,在预设的负载和存储预算的情况下,从所有的副本集合中选择出一个成本最低或接近最低的副本集合。优选的,所述存储系统中的记录以下面的格式进行存储:(OID,TIME,LOC,A1,……,Am);其中,OID为目标ID,TIME为时间戳,LOC是目标ID在某个时间点上所处的位置,A1……Am为根据数据库的应用场景变化的通用属性。优选的,所述副本产生模块仅以查询输入范围作为副本集合产生的依据。所述优化方法,其特征在于:所述副本选择模块,通过以下步骤选择副本或副本集合:1)设置一个空的副本集合R*;2)在存储预算被用完,或向副本集合R*中添加一个副本但负载成本ρ(W,R*)不再降低之前,遍历所述副本产生模块产生的所有副本r,并使用下式对副本r进行评分,将该次遍历中评分最高的副本增加到部分集合R*中:3)当副本R*不在增加时,R*内所有的副本即为副本产生模块需要产生的副本。其中,ρ(W,R*)为查询集合W对副本集合R*查询时所需的成本,ρ(W,R*∪{r})为查询集合W对向副本集合R*增加副本r查询时所需的成本,η(r)为副本r的存储空间。优选的,所述的优化方法,其特征在于:所述副本选择模块,还可以通过以下步骤选择需要生成的副本:10)使用下方程组作为副本选择问题的整数线性规划方程组:上式的约束为:其中,wi为查询qi特定负载情况下的权重值,xj为表示副本rj是否在最优副本集合中的副本中的0-1变量,yij为表示查询qi是否需要在副本rj上进行操作的0-1变量,n为查询集合W中的查询的个数,m为副本集合R中副本r的个数,b为存储系统的存储预算;11)将约束放松为xj≤1和yij≥0,并使用MIP求解器求解放松约束后的整数现行规方程;12)舍入步骤11)求解出线型规划问题的部分解,将其组合成为一个完整的解。在大数据存储系统中,为了解决容错问题会使用数据副本。当数据发生容错的情况下本文档来自技高网
...

【技术保护点】
1.一种基于位置的移动数据存储系统,其特征在于,所述存储系统包括:副本产生模块,查询成本评估模块,副本选择模块;所述副本产生模块,根据查询范围及存储系统中的原始数据,生成用于查询的多个候选副本;所述查询成本评估模块,在预设的负载、存储预算和输入查询范围情况下,对所述候选副本构成的所有副本集合的查询成本进行评估;所述副本选择模块,在预设的负载和存储预算的情况下,从所有的副本集合中选择出一个成本最低或接近最低的副本集合。

【技术特征摘要】
1.一种基于位置的移动数据存储系统,其特征在于,所述存储系统包括:副本产生模块,查询成本评估模块,副本选择模块;所述副本产生模块,根据查询范围及存储系统中的原始数据,生成用于查询的多个候选副本;所述查询成本评估模块,在预设的负载、存储预算和输入查询范围情况下,对所述候选副本构成的所有副本集合的查询成本进行评估;所述副本选择模块,在预设的负载和存储预算的情况下,从所有的副本集合中选择出一个成本最低或接近最低的副本集合。2.如权利要求1所述的存储系统,其特征在于:所述存储系统中的记录以下面的格式进行存储:(OID,TIME,LOC,A1,……,Am);其中,OID为目标ID,TIME为时间戳,LOC是目标ID在某个时间点上所处的位置,A1……Am为根据数据库的应用场景变化的通用属性。3.如权利要求2所述的存储系统,其特征在于:所述存储系统采用分布式的大数据存储构架。4.如权利要求3所述的存储系统,其特征在于:所述副本的编码方案相同或不同。5.如权利要求3或4所述的存储系统,其特征在于:所述存储系统可以为:TrajStore、PIST、CloSTridium、SpatialHadoop或SATO中的任意一种。6.一种如权利要求1-5任一项所述的存储系统的优化方法,其特征在于:所述副本选择模块,通过以下步骤选择最优或接近最优的副本集合:1)设置一个空的副本集合R*;2)在存储预算被用完,或,向副本集合R*中添加单个副本但负载成本ρ(W,R*)不再降低之前,遍历所述副本产生模块...

【专利技术属性】
技术研发人员:廖清丁烨漆舒汉蒋琳王轩
申请(专利权)人:哈尔滨工业大学深圳
类型:发明
国别省市:广东,44

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

1