数据存储方法、装置及存储介质制造方法及图纸

技术编号:23932723 阅读:34 留言:0更新日期:2020-04-25 02:02
本发明专利技术公开了一种数据存储方法、装置及存储介质,属于数据处理技术领域。所述方法包括:从数据源获取多条数据,每条数据携带时间戳;根据该每条数据的时间戳,对该多条数据进行分类处理,得到多组数据;对该多组数据中的每组数据进行聚合统计,得到多个聚合数据;通过多个数据处理单元对该多个聚合数据进行分类存储,其中,该多个数据处理单元中的每个数据处理单元由内存和磁盘组成,每个数据处理单元中存储的聚合数据的类型相同。如此,在后续数据查询时,可以基于需要查询的数据的时间戳,从对应的数据处理单元中进行查询,提高了数据查询效率。

Data storage method, device and storage medium

【技术实现步骤摘要】
数据存储方法、装置及存储介质
本专利技术实施例涉及数据处理
,特别涉及一种数据存储方法、装置及存储介质。
技术介绍
随着计算机技术的快速发展,数据规模急剧膨胀,各个领域中的数据量越来越大,数据类型也越来越多。为了满足数据的存储需求,可以通过数据立方体来实现数据存储,其中,该数据立方体是一类多维矩阵,即可以存储多个维度的数据。在相关技术中,通过数据立方体存储数据的实现方式可以包括:存储设备获取需要存储的数据,对获取到的数据进行聚合统计处理,得到对应的聚合数据。之后,可以将所得到的聚合数据与数据立方体中已有的数据进行合并,并将合并后的数据存储至该数据立方体中。然而,在上述实现方式中,如果数据立方体中存储的数据量非常大,后续当从该数据立方体中查询数据时,需要耗费较长的时间。
技术实现思路
本专利技术实施例提供了一种数据存储方法、装置及存储介质,可以解决相关技术中查询数据时需要花费较差时间的问题。所述技术方案如下:第一方面,提供了一种数据存储方法,所述方法包括:从数据源获取多条数据,每条数据携带时间戳;根据所述每条数据的时间戳,对所述多条数据进行分类处理,得到多组数据;对所述多组数据中的每组数据进行聚合统计,得到多个聚合数据;通过多个数据处理单元对所述多个聚合数据进行分类存储,其中,每个数据处理单元中存储的聚合数据的类型相同。可选地,所述根据所述每条数据的时间戳,对所述多条数据进行分类处理,包括:从所述多条数据的时间戳中获取最新时间;确定包含所述最新时间且区间长度为预设阈值的目标时间区间;根据所述每条数据的时间戳和所述目标时间区间,对所述多条数据进行分类处理。可选地,所述确定包含所述最新时间且区间长度为预设阈值的目标时间区间,包括:当所述最新时间处于预先存储的区间长度为所述预设阈值的时间区间内时,将所述时间区间确定为所述目标时间区间;当所述最新时间大于所述时间区间的右值时,确定所述最新时间与所述时间区间的右值之间的时间差值;确定所述时间区间的左值与所述时间差值之间的时间和;将所述时间区间的右值更新为所述最新时间,以及将所述时间区间的左值更新为所述时间和;将更新后的时间区间确定为所述目标时间区间。可选地,所述根据所述每条数据的时间戳和所述目标时间区间,对所述多条数据进行分类处理,包括:将所述多条数据中时间戳指示的时间小于所述目标时间区间左值的数据确定为高层级数据,以及将所述多条数据中时间戳指示的时间处于所述目标时间区间内的数据确定为低层级数据。可选地,当所述每条数据的时间戳指示的时间均包括年、月、日、时、分、秒多个时间粒度,所述目标时间区间以日为时间粒度时,所述对所述多组数据中的每组数据进行聚合统计,得到多个聚合数据,包括:基于年、月、日三个时间粒度,按照不同的时间层级和数据属性,对所述高层级数据进行聚合统计,得到多个第一高聚合数据,以及基于年、月、日、时、分、秒六个时间粒度,按照不同的时间层级和数据属性,对所述低层级数据进行聚合统计,得到多个第二高聚合数据和多个第一低聚合数据,不同时间层级包括不同维度的时间粒度。可选地,当所述多个数据处理单元包括高层级数据处理单元和低层级数据处理单元时,所述通过多个数据处理单元对所述多个聚合数据进行分类存储,包括:获取每个聚合数据中的行健,所述每个聚合数据的行健是在聚合统计时生成的,用于指示所述每个聚合数据对应的时间层级和数据属性;基于每个第一高聚合数据和每个第二高聚合数据中的行健,通过所述高层级数据处理单元对所述多个第一高聚合数据和所述多个第二高聚合数据进行存储,以及基于每个第一低聚合数据中的行健,通过所述低层级数据处理单元对所述多个第一低聚合数据进行存储。可选地,所述基于每个第一高聚合数据和每个第二高聚合数据中的行健,通过所述高层级数据处理单元对所述多个第一高聚合数据和所述多个第二高聚合数据进行存储,包括:将所述多个第一高聚合数据和所述多个第二高聚合数据中行健相同的高聚合数据进行合并,得到多个第三高聚合数据;对于所述多个第三高聚合数据中的每个第三高聚合数据,查询所述高层级数据处理单元的内存中是否存储有与所述每个第三高聚合数据的行健相同的数据;当所述高层级数据处理单元的内存中存储有与所述每个第三高聚合数据的行健相同的数据时,将查询到的数据与所述每个第三高聚合数据进行合并,将合并后的数据存储至所述高层级数据处理单元的内存中。可选地,所述查询所述高层级数据处理单元的内存中是否存储有与所述每个第三高聚合数据的行健相同的数据之后,还包括:当所述高层级数据处理单元的内存中未存储有与所述每个第三高聚合数据的行健相同的数据时,从所述高层级数据处理单元的磁盘中获取与所述每个第三高聚合数据的行健相同的数据;将获取的数据与所述每个第三高聚合数据进行合并,将合并后的数据存储至所述所述高层级数据处理单元的内存中。可选地,所述基于每个第一低聚合数据中的行健,通过所述低层级数据处理单元对所述多个第一低聚合数据进行存储,包括:将所述多个第一低聚合数据中行健相同的第一低聚合数据进行合并,得到多个第二低聚合数据;对于所述多个第二低聚合数据中的每个第二低聚合数据,查询所述低层级数据处理单元的内存中是否存储有与所述每个第二低聚合数据的行健相同的数据;当所述低层级数据处理单元的内存中存储有与所述每个第二低聚合数据的行健相同的数据时,将查询到的数据与所述每个第二低聚合数据进行合并,将合并后的数据存储至所述低层级数据处理单元的内存中。可选地,所述查询所述低层级数据处理单元的内存中是否存储有与所述每个第二低聚合数据的行健相同的数据之后,还包括:当所述低层级数据处理单元的内存中未存储有与所述每个第二低聚合数据的行健相同的数据时,从所述低层级数据处理单元的磁盘中获取与所述每个第二低聚合数据的行健相同的数据;将获取的数据与所述每个第二低聚合数据进行合并,将合并后的数据存储至所述所述低层级数据处理单元的内存中。可选地,所述方法还包括:当所述高层级数据处理单元的内存中的数据量达到预设数量阈值,或者所述低层级数据处理单元的内存中的数据量达到所述预设数量阈值时,将所述高层级数据处理单元的内存中的数据存储至所述高层级数据处理单元的磁盘中,以及将所述低层级数据处理单元的内存中的数据存储至所述低层级数据处理单元的磁盘中。第二方面,提供了一种数据存储装置,所述装置包括:获取模块,用于从数据源获取多条数据,每条数据携带时间戳;分类处理模块,用于根据所述每条数据的时间戳,对所述多条数据进行分类处理,得到多组数据;聚合统计模块,用于对所述多组数据中的每组数据进行聚合统计,得到多个聚合数据;分类存储模块,用于通过多个数据处理单元对所述多个聚合数据进行分类存储,其中,每个数据处理单元中存储的聚合数据的类型相同。可选地,所述分类处理模块用于:<本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n从数据源获取多条数据,每条数据携带时间戳;/n根据所述每条数据的时间戳,对所述多条数据进行分类处理,得到多组数据;/n对所述多组数据中的每组数据进行聚合统计,得到多个聚合数据;/n通过多个数据处理单元对所述多个聚合数据进行分类存储,其中,每个数据处理单元中存储的聚合数据的类型相同。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
从数据源获取多条数据,每条数据携带时间戳;
根据所述每条数据的时间戳,对所述多条数据进行分类处理,得到多组数据;
对所述多组数据中的每组数据进行聚合统计,得到多个聚合数据;
通过多个数据处理单元对所述多个聚合数据进行分类存储,其中,每个数据处理单元中存储的聚合数据的类型相同。


2.如权利要求1所述的方法,其特征在于,所述根据所述每条数据的时间戳,对所述多条数据进行分类处理,包括:
从所述多条数据的时间戳中获取最新时间;
确定包含所述最新时间且区间长度为预设阈值的目标时间区间;
根据所述每条数据的时间戳和所述目标时间区间,对所述多条数据进行分类处理。


3.如权利要求2所述的方法,其特征在于,所述确定包含所述最新时间且区间长度为预设阈值的目标时间区间,包括:
当所述最新时间处于预先存储的区间长度为所述预设阈值的时间区间内时,将所述时间区间确定为所述目标时间区间;
当所述最新时间大于所述时间区间的右值时,确定所述最新时间与所述时间区间的右值之间的时间差值;确定所述时间区间的左值与所述时间差值之间的时间和;将所述时间区间的右值更新为所述最新时间,以及将所述时间区间的左值更新为所述时间和;将更新后的时间区间确定为所述目标时间区间。


4.如权利要求2或3所述的方法,其特征在于,所述根据所述每条数据的时间戳和所述目标时间区间,对所述多条数据进行分类处理,包括:
将所述多条数据中时间戳指示的时间小于所述目标时间区间左值的数据确定为高层级数据,以及将所述多条数据中时间戳指示的时间处于所述目标时间区间内的数据确定为低层级数据。


5.如权利要求4所述的方法,其特征在于,当所述每条数据的时间戳指示的时间均包括年、月、日、时、分、秒多个时间粒度,所述目标时间区间以日为时间粒度时,所述对所述多组数据中的每组数据进行聚合统计,得到多个聚合数据,包括:
基于年、月、日三个时间粒度,按照不同的时间层级和数据属性,对所述高层级数据进行聚合统计,得到多个第一高聚合数据,以及基于年、月、日、时、分、秒六个时间粒度,按照不同的时间层级和数据属性,对所述低层级数据进行聚合统计,得到多个第二高聚合数据和多个第一低聚合数据,不同时间层级包括不同维度的时间粒度。


6.如权利要求5所述的方法,其特征在于,当所述多个数据处理单元包括高层级数据处理单元和低层级数据处理单元时,所述通过多个数据处理单元对所述多个聚合数据进行分类存储,包括:
获取每个聚合数据中的行健,所述每个聚合数据的行健是在聚合统计时生成的,用于指示所述每个聚合数据对应的时间层级和数据属性;
基于每个第一高聚合数据和每个第二高聚合数据中的行健,通过所述高层级数据处理单元对所述多个第一高聚合数据和所述多个第二高聚合数据进行存储,以及基于每个第一低聚合数据中的行健,通过所述低层级数据处理单元对所述多个第一低聚合数据进行存储。


7.如权利要求6所述的方法,其特征在于,所述基于每个第一高聚合数据和每个第二高聚合数据中的行健,通过所述高层级数据处理单元对所述多个第一高聚合数据和所述多个第二高聚合数据进行存储,包括:
将所述多个第一高聚合数据和所述多个第二高聚合数据中行健相同的高聚合数据进行合并,得到多个第三高聚合数据;
对于所述多个第三高聚合数据中的每个第三高聚合数据,查询所述高层级数据处理单元的内存中是否存储有与所述每个第三高聚合数据的行健相同的数据;
当所述高层级数据处理单元的内存中存储有与所述每个第三高聚合数据的行健相同的数据时,将查询到的数据与所述每个第三高聚合数据进行合并,将合并后的数据存储至所述高层级数据处理单元的内存中。


8.如权利要求7所述的方法,其特征在于,所述查询所述高层级数据处理单元的内存中是否存储有与所述每个第三高聚合数据的行健相同的数据之后,还包括:
当所述高层级数据处理单元的内存中未存储有与所述每个第三高聚合数据的行健相同的数据时,从所述高层级数据处理单元的磁盘中获取与所述每个第三高聚合数据的行健相同的数据;
将获取的数据与所述每个第三高聚合数据进行合并,将合并后的数据存储至所述所述高层级数据处理单元的内存中。


9.如权利要求6所述的方法,其特征在于,所述基于每个第一低聚合数据中的行健,通过所述低层级数据处理单元对所述多个第一低聚合数据进行存储,包括:
将所述多个第一低聚合数据中行健相同的第一低聚合数据进行合并,得到多个第二低聚合数据;
对于所述多个第二低聚合数据中的每个第二低聚合数据,查询所述低层级数据处理单元的内存中是否存储有与所述每个第二低聚合数据的行健相同的数据;
当所述低层级数据处理单元的内存中存储有与所述每个第二低聚合数据的行健相同的数据时,将查询到的数据与所述每个第二低聚合数据进行合并,将合并后的数据存储至所述低层级数据处理单元的内存中。


10.如权利要求9所述的方法,其特征在于,所述查询所述低层级数据处理单元的内存中是否存储有与所述每个第二低聚合数据的行健相同的数据之后,还包括:
当所述低层级数据处理单元的内存中未存储有与所述每个第二低聚合数据的行健相同的数据时,从所述低层级数据处理单元的磁盘中获取与所述每个第二低聚合数据的行健相同的数据;
将获取的数据与所述每个第二低聚合数据进行合并,将合并后的数据存储至所述所述低层级数据处理单元的内存中。


11.如权利要求6所述的方法,其特征在于,所述方法还包括:
当所述高层级数据处理单元的内存中的数据量达到预设数量阈值,或者所述低层级数据处理单元的内存中的数据量达到所述预设数量阈值时,将所述高层...

【专利技术属性】
技术研发人员:曾锐陈国栋徐乾龙
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1