数据存储方法、装置和计算机可读存储介质制造方法及图纸

技术编号:20448738 阅读:18 留言:0更新日期:2019-02-27 02:53
本公开涉及一种数据存储方法、装置和计算机可读存储介质,涉及数据库技术领域。本公开的方法包括:获取汇总配置元数据,汇总配置元数据包括预设的标志字段区间和预设汇总函数;根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总,得到不同标志字段区间内的汇总数据;根据每个标志字段区间值和对应的汇总数据生成节点,并按照各个标志字段区间之间的关系生成区间树,以对汇总数据进行存储;其中,区间树中父节点的标志字段区间长度为各个子节点的标志字段区间长度之和。基于区间树的层级结构可以查询到不同区间长度内的汇总数据,提高了查询效率,节省了系统资源。

Data storage methods, devices and computer readable storage media

The present disclosure relates to a data storage method, device and computer readable storage medium, and relates to the technical field of database. The methods of this disclosure include: acquiring aggregate configuration metadata, including preset tag field intervals and preset aggregate functions; aggregating original data in different preset tag field intervals according to preset aggregate functions to obtain aggregate data in different tag field intervals; generating nodes according to the interval values of each tag field and corresponding aggregate data. In order to store the aggregated data, an interval tree is constructed according to the relationship between the intervals of each marker field, in which the interval length of the marker field of the parent node in the interval tree is the sum of the interval lengths of the marker field of each child node. Hierarchical structure based on interval tree can query aggregated data in different interval lengths, which improves query efficiency and saves system resources.

【技术实现步骤摘要】
数据存储方法、装置和计算机可读存储介质
本公开涉及数据库
,特别涉及一种数据存储方法、装置和计算机可读存储介质。
技术介绍
随着互联网技术的发展,数据呈现爆炸式增长。数据的存储和处理技术对于应对海量数据的情况变得尤其重要。大数据处理和分析技术越来越多的应用于各个行业,与之前的大数据分析不同,HiveSQL(StructuredQueryLanguage,结构化查询语言)和SparkSQL的出现让大部分的大数据分析师不再需要编写一个复杂的数据处理程序,而改为使用SQL语句对大数据表或者结构化数据进行查询。目前,一般数据表中的每条数据都单独存储,需要对多条数据进行汇总查询的情况下,需要查询符合查询条件的所有数据。例如,统计订单表从2018年1月1日到2018年6月18日的订单总额度或者订单的最高额度等,需要读取2018年1月1日到2018年6月18日这个时间段内的所有的订单数据,并在金额字段上进行计算。
技术实现思路
专利技术人发现:目前的数据存储方式,对于需要对多条数据进行汇总查询的情况,查询效率较低。本公开所要解决的一个技术问题是:如何提高汇总查询的查询效率。根据本公开的一些实施例,提供的一种数据存储方法,包括:获取汇总配置元数据,汇总配置元数据包括预设的标志字段区间和预设汇总函数;根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总,得到不同标志字段区间内的汇总数据;根据每个标志字段区间值和对应的汇总数据生成节点,并按照各个标志字段区间之间的关系生成区间树,以对汇总数据进行存储;其中,区间树中父节点的标志字段区间长度为各个子节点的标志字段区间长度之和。在一些实施例中,根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总包括:从最低维度的标志字段区间开始,按照维度由低到高,依次根据预设汇总函数汇总不同维度的标志字段区间内的数据;其中,高维度的标志字段区间根据低维度的标志字段区间内汇总数据进行汇总。在一些实施例中,区间树中叶子节点包括最低维度的标志字段区间的两个端点值和对应的汇总数据;区间树中非叶子节点的子节点按照标志字段区间值由小到大的顺序从左至右进行排列。在一些实施例中,该方法还包括:获取用户的查询请求,查询请求包括:待查询标志字段区间,待查询汇总数据的类型;根据待查询标志字段区间在区间树中查找相匹配节点;根据待查询汇总数据的类型,读取相匹配的节点中相应类型的汇总数据;将与待查询标志字段区间相匹配的节点中读取的汇总数据进行汇总,并返回至用户。在一些实施例中,根据待查询标志字段区间,在区间树中查找相匹配的节点包括:在待查询标志字段区间与区间树中节点的标志字段区间完全重合的情况下,则将该节点作为与待查询标志字段区间相匹配的节点;或者在待查询标志字段区间的一部分与区间树中节点的标志字段区间完全重合的情况下,则将该节点作为与待查询标志字段区间相匹配的节点,将待查询标志字段区间的剩余部分与该节点的兄弟节点继续进行匹配;或者在待查询标志字段区间被包含在区间树中节点的标志字段区间内的情况下,将待查询标志字段区间与该节点的子节点的标志字段区间继续进行匹配;或者在待查询标志字段区间的一部分被包含在区间树中节点的标志字段区间内的情况下,将待查询标志字段区间被包含的部分与该节点的子节点的标志字段区间继续进行匹配,将待查询标志字段区间的剩余部分与该节点的兄弟节点的标志字段区间继续进行匹配。在一些实施例中,根据待查询标志字段区间,在区间树中查找相匹配的节点包括:在区间树中不同层级的节点中,按照由根节点到叶子节点的顺序,将待查询标志字段区间的端点值与节点的标志字段区间的端点值进行匹配;在区间树中相同层级的节点中,按照由左到右顺序,将待查询标志字段区间的端点值与节点的标志字段区间的端点值进行匹配,以查找相匹配的节点。在一些实施例中,该方法还包括:根据预设的标志字段区间和预设汇总函数,将待插入数据生成不同标志字段区间内的待插入汇总数据,并生成待插入节点;根据待插入节点的标志字段区间和区间树中各节点对应的预设最大标志字段区间,确定待插入节点的父节点;将待插入节点插入对应的父节点之下,并根据待插入节点的标志字段区间和汇总数据,修改待插入节点的上层节点的标志字段区间和汇总数据。在一些实施例中,根据待插入节点的标志字段区间和区间树中各节点对应的预设最大标志字段区间,确定待插入节点的父节点包括:根据待插入节点的标志字段区间的维度,确定待插入节点在区间树中的层级;在待插入节点的上一层节点中,查找对应的预设最大标志字段区间包含待插入节点的标志字段区间的节点,作为待插入节点的父节点。在一些实施例中,标志字段包括:时间或编号;原始数据包括:订单数据或服务单数据。根据本公开的另一些实施例,提供的一种数据存储装置,包括:元数据获取模块,用于获取汇总配置元数据,汇总配置元数据包括预设的标志字段区间和预设汇总函数;数据汇总模块,用于根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总,得到不同标志字段区间内的汇总数据;数据存储模块,用于根据每个标志字段区间值和对应的汇总数据生成节点,并按照各个标志字段区间之间的关系生成区间树,以对汇总数据进行存储;其中,区间树中父节点的标志字段区间长度为各个子节点的标志字段区间长度之和。在一些实施例中,数据汇总模块用于从最低维度的标志字段区间开始,按照维度由低到高,依次根据预设汇总函数汇总不同维度的标志字段区间内的数据;其中,高维度的标志字段区间根据低维度的标志字段区间内汇总数据进行汇总。在一些实施例中,区间树中叶子节点包括最低维度的标志字段区间的两个端点值和对应的汇总数据;区间树中非叶子节点的子节点按照标志字段区间值由小到大的顺序从左至右进行排列。在一些实施例中,该装置还包括:查询请求获取模块,用于获取用户的查询请求,查询请求包括:待查询标志字段区间,待查询汇总数据的类型;数据查询模块,用于根据待查询标志字段区间在区间树中查找相匹配节点;根据待查询汇总数据的类型,读取相匹配的节点中相应类型的汇总数据;数据返回模块,用于将与待查询标志字段区间相匹配的节点中读取的汇总数据进行汇总,并返回至用户。在一些实施例中,数据查询模块用于在待查询标志字段区间与区间树中节点的标志字段区间完全重合的情况下,则将该节点作为与待查询标志字段区间相匹配的节点;或者在待查询标志字段区间的一部分与区间树中节点的标志字段区间完全重合的情况下,则将该节点作为与待查询标志字段区间相匹配的节点,将待查询标志字段区间的剩余部分与该节点的兄弟节点继续进行匹配;或者在待查询标志字段区间被包含在区间树中节点的标志字段区间内的情况下,将待查询标志字段区间与该节点的子节点的标志字段区间继续进行匹配;或者在待查询标志字段区间的一部分被包含在区间树中节点的标志字段区间内的情况下,将待查询标志字段区间被包含的部分与该节点的子节点的标志字段区间继续进行匹配,将待查询标志字段区间的剩余部分与该节点的兄弟节点的标志字段区间继续进行匹配。在一些实施例中,数据查询模块用于在区间树中不同层级的节点中,按照由根节点到叶子节点的顺序,将待查询标志字段区间的端点值与节点的标志字段区间的端点值进行匹配;在区间树中相同层级的节点中,按照由左到右顺序,将待查询标志本文档来自技高网...

【技术保护点】
1.一种数据存储方法,包括:获取汇总配置元数据,所述汇总配置元数据包括预设的标志字段区间和预设汇总函数;根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总,得到不同标志字段区间内的汇总数据;根据每个标志字段区间值和对应的汇总数据生成节点,并按照各个标志字段区间之间的关系生成区间树,以对所述汇总数据进行存储;其中,所述区间树中父节点的标志字段区间长度为各个子节点的标志字段区间长度之和。

【技术特征摘要】
1.一种数据存储方法,包括:获取汇总配置元数据,所述汇总配置元数据包括预设的标志字段区间和预设汇总函数;根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总,得到不同标志字段区间内的汇总数据;根据每个标志字段区间值和对应的汇总数据生成节点,并按照各个标志字段区间之间的关系生成区间树,以对所述汇总数据进行存储;其中,所述区间树中父节点的标志字段区间长度为各个子节点的标志字段区间长度之和。2.根据权利要求1所述的数据存储方法,其中,所述根据预设汇总函数对不同预设的标志字段区间内的原始数据进行汇总包括:从最低维度的标志字段区间开始,按照维度由低到高,依次根据预设汇总函数汇总不同维度的标志字段区间内的数据;其中,高维度的标志字段区间根据低维度的标志字段区间内汇总数据进行汇总。3.根据权利要求1所述的数据存储方法,其中,所述区间树中叶子节点包括最低维度的标志字段区间的两个端点值和对应的汇总数据;所述区间树中非叶子节点的子节点按照标志字段区间值由小到大的顺序从左至右进行排列。4.根据权利要求1所述的数据存储方法,还包括:获取用户的查询请求,所述查询请求包括:待查询标志字段区间,待查询汇总数据的类型;根据待查询标志字段区间在所述区间树中查找相匹配节点;根据待查询汇总数据的类型,读取相匹配的节点中相应类型的汇总数据;将与所述待查询标志字段区间相匹配的节点中读取的汇总数据进行汇总,并返回至用户。5.根据权利要求4所述的数据存储方法,其中,所述根据待查询标志字段区间,在所述区间树中查找相匹配的节点包括:在所述待查询标志字段区间与所述区间树中节点的标志字段区间完全重合的情况下,则将该节点作为与所述待查询标志字段区间相匹配的节点;或者在所述待查询标志字段区间的一部分与所述区间树中节点的标志字段区间完全重合的情况下,则将该节点作为与所述待查询标志字段区间相匹配的节点,将待查询标志字段区间的剩余部分与该节点的兄弟节点继续进行匹配;或者在所述待查询标志字段区间被包含在所述区间树中节点的标志字段区间内的情况下,将所述待查询标志字段区间与该节点的子节点的标志字段区间继续进行匹配;或者在所述待查询标志字段区间的一部分被包含在所述区间树中节点的标志字段区间内的情况下,将所述待查询标志字段区间被包含的部分与该节点的子节点的标志字段区间继续进行匹配,将所述待查询标志字段区间的剩余部分与该节点的兄弟节点的标志字段区间继续进行匹配。6.根据权利要求4所述的数据存储方法,其中,所述根据待查询标志字段区间,在所述区间树中查找相匹配的节点包括:在所述区间树中不同层级的节点中,按照由根节点到叶子节点的顺序,将所述待查询标志字段区间的端点值与节点的标志字段区间的端点值进行匹配;在所述区间树中相同层级的节点中,按照由左到右顺序,将所述待查询标志字段区间的端点值与节点的标志字段区间的端点值进行匹配,以查找相匹配的节点。7.根据权利要求1所述的数据存储方法,还包括:根据预设的标志字段区间和预设汇总函数,将待插入数据生成不同标志字段区间内的待插入汇总数据,并生成待插入节点;根据所述待插入节点的标志字段区间和所述区间树中各节点对应的预设最大标志字段区间,确定所述待插入节点的父节点;将所述待插入节点插入对应的父节点之下,并根据所述待插入节点的标志字段区间和汇总数据,修改所述待插入节点的上层节点的标志字段区间和汇总数据。8.根据权利要求7所述的数据存储方法,其中,所述根据所述待插入节点的标志字段区间和所述区间树中各节点对应的预设最大标志字段区间,确定所述待插入节点的父节点包括:根据所述待插入节点的标志字段区间的维度,确定所述待插入节点在所述区间树中的层级;在所述待插入节点的上一层节点中,查找对应的预设最大标志字段区间包含所述待插入节点的标志字段区间的节点,作为所述待插入节点的父节点。9.根据权利要求1-8任一项所述的数据存储方法,其中,所述标志字段包括:时间或编号;所述原始数据包括:订单数据或服务单数据。10.一种数据存储装置,包括:元数据获取模块,用于获取汇总配置元数据,所述汇总配置元数据包括预设的标志字段区...

【专利技术属性】
技术研发人员:王永亮陈标龙张振
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1