System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于时间维度的数据预处理方法、单元、数据存储、查询方法技术_技高网

基于时间维度的数据预处理方法、单元、数据存储、查询方法技术

技术编号:41260620 阅读:2 留言:0更新日期:2024-05-11 09:18
本发明专利技术公开了一种基于时间维度的数据预处理方法、单元、数据存储、查询方法,包括:确定关键字段,关键字段建立复合索引,确定每个关键字段的ID;根据关键字段ID和时间字段对待预处理数据进行数据切割存储,得到多个数据文件块,在每个数据文件块内部中,第一层存储关键字段ID,第二层存储时间戳数组和分组函数结果;构建索引文件块,索引文件块包括索引头部信息和主键内容,索引头部信息包括起始关键字段ID和起始时间戳,所述主键内容包括关键字段ID、起始时间戳和值,所述值为数据文件块ID或偏移量。本发明专利技术通过事先将数据根据最小时间粒度进行一次合并,因此,实际查询数据量远小于源数据,同时数据存储本质上也是一个列存储,支持高效基于时间维度分组查询,具有更高存储和计算效率性价比。

【技术实现步骤摘要】

本专利技术属于数据处理,具体涉及一种基于时间维度的数据预处理方法、单元、数据存储、查询方法


技术介绍

1、传统数据库对带有时间字段海量数据进行分组查询分析时,如oracle通常需要扫描当前表所有的数据,当然我们可以通过对分组字段建立复合索引优化需要扫描的数据量,但是如果分组字段中有时间字段,并且对时间字段中有按分、时、天、周、月或年等分组查询要求时,可能就需要建立多个复合索引,此操作会造成大量数据冗余,以及非时间分组字段会有大量重复比较。

2、由此可以看出,传统数据库在进行海量数据分组查询时,如果分组字段中有时间字段时,并且对时间字段有多种时间粒度查询要求时,建立复合索引查询优化成本较高。


技术实现思路

1、专利技术目的:为解决传统数据库在进行海量数据分组查询,以及当分组字段中有时间字段时,并且对时间字段有多种时间粒度查询要求时,建立复合索引查询优化成本较高等问题,本专利技术提出了一种基于时间维度针对海量数据分析场景预处理优化方法和系统,通过为每一组关键字字段都映射了唯一id,存储时直接使用了关键字id,极大优化了关键字段存储效率,减少数据冗余,同时如果分组查询调整时间粒度,直接计算关键字中时间相关数据即可,不用二次比较关键字段。

2、技术方案:一种基于时间维度的数据预处理方法,包括:

3、步骤1:确定关键字段,关键字段建立复合索引,确定每个关键字段的id;

4、步骤2:根据关键字段id和时间字段对待预处理数据进行数据切割存储,得到多个数据文件块,在每个数据文件块内部中,第一层存储关键字段id,第二层存储时间戳数组;

5、步骤3:构建索引文件块,所述索引文件块包括索引头部信息和主键内容,所述索引头部信息包括起始关键字段id和起始时间戳,所述主键内容包括关键字段id、起始时间戳和值,所述值为数据文件块id或偏移量。

6、进一步的,所述关键字段由一个或多个字段组成,所述时间字段有且只有一个字段。

7、进一步的,所述索引文件块数量为1。

8、本专利技术公开了一种基于时间维度的数据预处理模型,包括索引文件块和多个数据文件块;

9、其中,多个所述数据文件块是根据关键字段id和时间字段对待预处理数据进行数据切割存储得到的,在每个数据文件块内部中,第一层存储关键字段id,第二层存储时间戳数组;

10、其中,所述索引文件块包括索引头部信息和主键内容,所述索引头部信息包括起始关键字段id和起始时间戳,所述主键内容包括关键字段id、起始时间戳和值,所述值为数据文件块id或偏移量。

11、进一步的,所述关键字段由一个或多个字段组成,所述时间字段有且只有一个字段。

12、本专利技术公开了一种数据存储方法,包括以下步骤:

13、根据关键字段、时间字段和分组函数中的字段,对待存储的数据进行清洗筛选,得到筛选数据;

14、根据筛选数据按照关键字段和时间字段进行分组,对关键字段中所有字段建立一个复合索引,复合索引中值为自增长id,得到关键字段id,再根据关键字段中所有字段分别建立单字段索引,值为关键字段id;

15、从索引文件块中查询关键字段id和起始时间戳所属的数据文件块id或偏移量;若不存在所属的数据文件块,则创建新的数据文件块,并更新索引文件块;若存在所属的数据文件块,则存储到该数据文件块中。

16、进一步的,所述的若存在所属的数据文件块,则存储到该数据文件块中,具体包括:

17、若存在所属的数据文件块,则读取该数据文件块,在该数据文件块的第一层查找关键字段id,并根据关键字段id定位时间戳数组在第二层的位置,查询时间戳数组所在位置,更新对应值。

18、本专利技术公开了一种数据查询方法,包括以下步骤:

19、根据数据查询请求,匹配对应的数据预处理模型;

20、从数据预处理模型中匹配数据,得到待查询的数据。

21、进一步的,所述的从数据预处理模型中匹配数据,得到待查询的数据,具体包括:

22、从数据预处理模型中的索引文件块中查询关键字段id和起始时间戳所属的数据文件块id或偏移量;若不存在,则返回空;若存在,则读取该数据文件块,在该数据文件块的第一层查找关键字段id,并根据关键字段id定位时间戳数组在第二层的位置,查询时间戳数组所在位置,获取对应值,得到待查询的数据。

23、有益效果:本专利技术与现有技术相比,具有以下优点:

24、(1)本专利技术方法/系统通过事先将数据根据最小时间粒度进行一次合并,因此,实际查询数据量远小于源数据,同时数据存储本质上也是一个列存储,为实现高效分组查询功能奠定了基础;

25、(2)本专利技术方法/系统实现了基于时间维度对海量数据的预处理,支持高效基于时间维度分组查询,相对于传统数据库的分组查询,基于时间维度对海量数据进行预处理有着更高存储和计算效率性价比,不需任何特殊设置。

本文档来自技高网...

【技术保护点】

1.一种基于时间维度的数据预处理方法,其特征在于:包括:

2.根据权利要求1所述的一种基于时间维度的数据预处理方法,其特征在于:所述关键字段由一个或多个字段组成,所述时间字段有且只有一个字段。

3.根据权利要求1所述的一种基于时间维度的数据预处理方法,其特征在于:所述索引文件块数量为1。

4.一种基于时间维度的数据预处理模型,其特征在于:包括索引文件块和多个数据文件块;

5.根据权利要求4所述的一种基于时间维度的数据预处理模型,其特征在于:所述关键字段由一个或多个字段组成,所述时间字段有且只有一个字段。

6.基于权利要求4或5所述的一种基于时间维度的数据预处理模型的数据存储方法,其特征在于:包括以下步骤:

7.根据权利要求6所述的数据存储方法,其特征在于:所述的若存在所属的数据文件块,则存储到该数据文件块中,具体包括:

8.基于权利要求4或5所述的一种基于时间维度的数据预处理模型的数据查询方法,其特征在于:包括以下步骤:

9.根据权利要求8所述的数据查询方法,其特征在于:所述的从数据预处理模型中匹配数据,得到待查询的数据,具体包括:

...

【技术特征摘要】

1.一种基于时间维度的数据预处理方法,其特征在于:包括:

2.根据权利要求1所述的一种基于时间维度的数据预处理方法,其特征在于:所述关键字段由一个或多个字段组成,所述时间字段有且只有一个字段。

3.根据权利要求1所述的一种基于时间维度的数据预处理方法,其特征在于:所述索引文件块数量为1。

4.一种基于时间维度的数据预处理模型,其特征在于:包括索引文件块和多个数据文件块;

5.根据权利要求4所述的一种基于时间维度的数据预处理模型,其特征在于:所述关键字段由一个或多个字段组...

【专利技术属性】
技术研发人员:姜久文付新邓哲吴道钟张东
申请(专利权)人:达梦数据技术江苏有限公司
类型:发明
国别省市:

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

1