数据处理方法、装置以及数据查询方法、装置制造方法及图纸

技术编号:24410208 阅读:30 留言:0更新日期:2020-06-06 08:51
本公开实施例公开了数据处理方法、装置以及数据查询方法、装置,所述方法包括:按照树形结构在节点处存储数据的索引,其中,第N层节点具有比N+1层节点粗的粒度,其中,N为自然数;根据索引的顺序存储与所述索引一一对应的数据,使得索引和数据进行了分离,并且相关性强的数据是连续分布的,这有利于数据压缩,节省磁盘空间。因此,保证了对数据较高的查询效率,对于大粒度数据的查询性能几乎和对原始粒度的数据的查询性能一样好。而且,这些数据可以更好地被系统的高速缓存利用,并且可以节约计算资源。

Data processing method, device and data query method, device

【技术实现步骤摘要】
数据处理方法、装置以及数据查询方法、装置
本公开涉及计算机
,具体涉及数据处理方法、装置以及数据查询方法、装置。
技术介绍
随着计算机技术和网络技术的发展,人们的生产和生活中产生的各种数据的数据量越来越大。因此,数据的存储与查询变得越来越重要,但是也变得越来越复杂。例如,在存储细粒度数据的数据模型中,如果需要查询粗粒度的数据,查询结果需要从原始的细粒度数据计算而成,查询效率会发生非常严重的降级。而且,根据细粒度数据计算的数据难以更好被系统的高速缓存利用。
技术实现思路
为了解决相关技术中的问题,本公开实施例提供数据处理方法、装置以及数据查询方法、装置。第一方面,本公开实施例中提供了一种数据处理方法,包括:按照树形结构在节点处存储数据的索引,其中,第N层节点具有比N+1层节点粗的粒度,其中,N为自然数;根据索引的顺序存储与所述索引一一对应的数据。结合第一方面,本公开在第一方面的第一种实现方式中,在所述按照树形结构在节点处存储数据的索引之前,还包括:检测缓存的数据的数据量是否大于预设数据量阈值;根据缓存的数据的数据量大于所述预设数据量阈值的检测结果,基于所述数据建立所述树形结构。结合第一方面,本公开在第一方面的第二种实现方式中,还包括:基于索引中的信息确定与所述索引一一对应的数据的存储地址。结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述基于索引中的信息确定与所述索引一一对应的数据的存储地址,包括:r>基于索引中的信息查询所述索引所处的节点在所述树形结构中的位置;根据所述节点的位置查询所述节点的索引中的信息中的地址信息;根据所述节点的索引中的地址信息确定与所述节点的索引一一对应的数据的存储地址。结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述基于索引中的信息确定与所述索引一一对应的数据的存储地址,还包括:按照所述树形结构的深度递增、从左到右的顺序,将所述节点在所述树形结构中的位置存储为一维数组。结合第一方面,本公开在第一方面的第五种实现方式中,所述按照树形结构在节点处存储数据的索引以及所述根据索引的顺序存储与所述索引一一对应的数据的存储方式是一次性写入存储装置。结合第一方面、第一方面的第一种实现方式至第五种实现方式任一项,本公开在第一方面的第六种实现方式中,所述树形结构为左-完全K叉树,其中,除了每一层的最右边的节点最多具有K个子节点之外,全部节点都具有K个子节点,K为大于等于2的整数。结合第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,所述根据缓存的数据的数据量大于所述预设数据量阈值的检测结果,基于所述数据建立所述树形结构,包括:以原始粒度的数据的索引作为叶子,按照自底向上、从左至右的顺序,每K个叶子聚合为一个父节点,并且按照自底向上、从左至右的顺序,每一层的K个子节点聚合为一个父节点,从而建立所述树形结构。结合第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,所述根据缓存的数据的数据量大于所述预设数据量阈值的检测结果,基于所述数据建立所述树形结构,还包括:确定是否对多个子节点进行聚合。结合第一方面的第八种实现方式,本公开在第一方面的第九种实现方式中,所述确定是否对多个子节点进行聚合,包括:确定所述多个子节点的第一数量与所述多个子节点聚合后所得的父节点的第二数量之间的数量关系是否满足预设条件;根据所述第一数量与所述第二数量之间的数量关系满足所述预设条件的确定结果,对所述多个子节点进行聚合。结合第一方面的第九种实现方式,本公开在第一方面的第十种实现方式中,所述预设条件是所述第一数量与所述第二数量之间的比例关系。结合第一方面、第一方面的第一种实现方式至第五种实现方式任一项,本公开在第一方面的第十一种实现方式中,所述索引包括所述索引所在节点在所述树形结构中的深度、所述索引所在节点在所述深度中的位置、以及所述索引所对应的数据的地址。结合第一方面的第十一种实现方式,本公开在第一方面的第十二种实现方式中,所述索引包括与所述索引所对应的数据的粒度相关的信息。结合第一方面的第十二种实现方式,本公开在第一方面的第十三种实现方式中,当数据是时序数据时,所述与所述索引所对应的数据的粒度相关的信息是与所述索引所对应的数据的时间范围。结合第一方面,本公开在第一方面的第十四种实现方式中,所述根据索引的顺序存储与所述索引一一对应的数据,包括:按照所述树形结构的深度递增、从左到右的顺序,存储与所述索引一一对应的数据。第二方面,本公开实施例中提供了一种数据处理装置,包括:第一存储模块,被配置为按照树形结构在节点处存储数据的索引,其中,第N层节点具有比N+1层节点粗的粒度,其中,N为自然数;第二存储模块,被配置为根据索引的顺序存储与所述索引一一对应的数据。第三方面,本公开实施例中提供了一种数据查询方法,包括:查询按照树形结构在节点处存储的数据的索引所处的节点在所述树形结构中的位置;根据所述节点的位置查询所述节点的索引中的信息中的地址信息;根据所述节点的索引中的地址信息确定与所述节点的索引一一对应的数据的存储地址。结合第三方面,本公开在第三方面的第一种实现方式中,按照所述树形结构的深度递增、从左到右的顺序,所述节点在所述树形结构中的位置被存储为一维数组。结合第三方面或第三方面的第一种实现方式,本公开在第三方面的第二种实现方式中,所述树形结构为左-完全K叉树,其中,除了每一层的最右边的节点最多具有K个子节点之外,全部节点都具有K个子节点,K为大于等于2的整数。结合第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,在所述树形结构中,以原始粒度的数据的索引作为叶子,按照自底向上、从左至右的顺序,每K个叶子聚合为一个父节点,并且按照自底向上、从左至右的顺序,每一层的K个子节点聚合为一个父节点。结合第三方面或第三方面的第一种实现方式,本公开在第四方面的第四种实现方式中,所述索引包括所述索引所在节点在所述树形结构中的深度、所述索引所在节点在所述深度中的位置、以及所述索引所对应的数据的地址。结合第三方面的第四种实现方式,本公开在第三方面的第五种实现方式中,所述索引包括与所述索引所对应的数据的粒度相关的信息。结合第三方面的第五种实现方式,本公开在第三方面的第六种实现方式中,当数据是时序数据时,所述与所述索引所对应的数据的粒度相关的信息是与所述索引所对应的数据的时间范围。结合第三方面,本公开在第三方面的第七种实现方式中,与所述索引一一对应的数据被按照所述树形结构的深度递增、从左到右的顺序存储。第四方面,本公开实施例中提供了一种数据查询装置,包括:第一查询模块,被配置为查询按照树形结构在节点处存储的数据的索引所处的节点在所述树形结构中的位置;第本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n按照树形结构在节点处存储数据的索引,其中,第N层节点具有比N+1层节点粗的粒度,其中,N为自然数;/n根据索引的顺序存储与所述索引一一对应的数据。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
按照树形结构在节点处存储数据的索引,其中,第N层节点具有比N+1层节点粗的粒度,其中,N为自然数;
根据索引的顺序存储与所述索引一一对应的数据。


2.根据权利要求1所述的方法,其特征在于,在所述按照树形结构在节点处存储数据的索引之前,还包括:
检测缓存的数据的数据量是否大于预设数据量阈值;
根据缓存的数据的数据量大于所述预设数据量阈值的检测结果,基于所述数据建立所述树形结构。


3.根据权利要求1所述的方法,其特征在于,还包括:
基于索引中的信息确定与所述索引一一对应的数据的存储地址。


4.根据权利要求3所述的方法,其特征在于,所述基于索引中的信息确定与所述索引一一对应的数据的存储地址,包括:
基于索引中的信息查询所述索引所处的节点在所述树形结构中的位置;
根据所述节点的位置查询所述节点的索引中的信息中的地址信息;
根据所述节点的索引中的地址信息确定与所述节点的索引一一对应的数据的存储地址。


5.根据权利要求4所述的方法,其特征在于,所述基于索引中的信息确定与所述索引一一对应的数据的存储地址,还包括:
按照所述树形结构的深度递增、从左到右的顺序,将所述节点在所述树形结构中的位置存储为一维数组。


6.根据权利要求1所述的方法,其特征在于,所述按照树形结构在节点处存储数据的索引以及所述根据索引的顺序存储与所述索引一一对应的数据的存储方式是一次性写入存储装置。


7.根据权利要求1-6任一项所述的方法,其特征在于,所述树形结构为左-完全K叉树,其中,除了每一层的最右边的节点最多具有K个子节点之外,全部节点都具有K个子节点,K为大于等于2的整数。


8.根据权利要求7所述的方法,其特征在于,所述根据缓存的数据的数据量大于所述预设数据量阈值的检测结果,基于所述数据建立所述树形结构,包括:
以原始粒度的数据的索引作为叶子,按照自底向上、从左至右的顺序,每K个叶子聚合为一个父节点,并且按照自底向上、从左至右的顺序,每一层的K个子节点聚合为一个父节点,从而建立所述树形结构。


9.根据权利要求8所述的方法,其特征在于,所述根据缓存的数据的数据量大于所述预设数据量阈值的检测结果,基于所述数据建立所述树形结构,还包括:
确定是否对多个子节点进行聚合。


10.根据权利要求9所述的方法,其特征在于,所述确定是否对多个子节点进行聚合,包括:
确定所述多个子节点的第一数量与所述多个子节点聚合后所得的父节点的第二数量之间的数量关系是否满足预设条件;
根据所述第一数量与所述第二数量之间的数量关系满足所述预设条件的确定结果,对所述多个子节点进行聚合。


11.根据权利要求10所述的方法,其特征在于,所述预设条件是所述第一数量与所述第二数量之间的比例关系。


12.根据权利要求1-6任一项所述的方法,其特征在于,所述索引包括所述索引所在节点在所述树形结构中的深度、所述索引所在节点在所述深度中的位置、以及所述索引所对应的数据的地址。


13.根据权利要求12所述的方法,其特征在于,所述索引包括与所述索引所对应的数据的粒度相关的信息。

<...

【专利技术属性】
技术研发人员:林炳辰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1