一种存储数据的方法及装置制造方法及图纸

技术编号:11197683 阅读:50 留言:0更新日期:2015-03-26 04:23
本发明专利技术实施例公开了一种存储数据的方法及装置,涉及电子信息技术领域,能够提高查询效率,从而提高数据处理的能力。本发明专利技术的方法包括:根据所述指定数量的数据行的排序值,获取数值区间;将所述数值区间划分为至少两个连续的子区间;根据所述指定数量的数据行的排序值,建立各数据行与所述至少两个连续的子区间的对应关系;将对应于相同子区间的数据行划分至同一个数据块。本发明专利技术适用于一种存储系统。

【技术实现步骤摘要】
【专利摘要】本专利技术实施例公开了一种存储数据的方法及装置,涉及电子信息
,能够提高查询效率,从而提高数据处理的能力。本专利技术的方法包括:根据所述指定数量的数据行的排序值,获取数值区间;将所述数值区间划分为至少两个连续的子区间;根据所述指定数量的数据行的排序值,建立各数据行与所述至少两个连续的子区间的对应关系;将对应于相同子区间的数据行划分至同一个数据块。本专利技术适用于一种存储系统。【专利说明】一种存储数据的方法及装置
本专利技术涉及电子信息
,尤其涉及一种存储数据的方法及装置。
技术介绍
随着电子信息技术的发展,已有多种数据库系统被使用,在数据库中存储的数据也越来越多,大量的存储数据导致数据查询的时间越来越长。 在现有技术中,将所需存储的数据集合作为表,并按照分区存储的方式进行存储,所存储的数据的排列顺序主要按照数据存入的先后顺序,例如: 一张表中包括了某种业务在I年内的运行数据,按照月份划分为12个分区,每一个分区可以看成是一个数据集合,该数据集合中包括该分区中全部的数据条目,以便设备针对数据块执行查询、读取等处理过程。但是由于分区中的各条数据是按照存入时间排列的,当设备所需查询其中一条或多条目标数据条目,且查询并非依据时间信息时,设备需要查询多个数据块才能找到目标数据条目。 通常情况下,数据条目的每一条记录用于对一个对象进行完整的描述,并且根据数据条目的属性可以将表中的数据条目的具体内容划分为多列,其中,列可以用于表示这一类对象所具有的属性,比如:定义一张表名为employee的表来描述员工这一类对象,同时定义“工号”、“名字”、“年龄”和“性别”这4种属性来描述员工这类对象。在查询过程中,所依据的是数据条目的具体内容的“工号”列的值,且“工号”列的值与数据条目的存入时间或与其他时间信息无关,而设备所需查询的是“工号”列的值在范围内的数据条目。由于数据条目按照时间顺序排列,导致第一列的值在范围内的数据条目可能存在于多个分区中,则设备需要读取多个数据块才能够完成数据查询。 因此增加了设备的查询时间,降低了数据处理的能力。若设备想要通过提高查询效率来提高数据处理的能力,就需要耗费大量系统资源对所有的数据条目进行重新排序。
技术实现思路
本专利技术实施例提供一种存储数据的方法及装置,能够提高查询效率,从而提高数据处理的能力。 为达到上述目的,本专利技术实施例采用如下技术方案: 第一方面,本专利技术实施例提供一种存储数据的方法,数据表包括指定数量的数据行,每一数据行的一部分内容处于所述数据表的排序聚簇列中,且一个数据行的处于所述排序聚簇列中的内容对应一个排序值,所述方法包括: 根据所述指定数量的数据行的排序值,获取数值区间; 将所述数值区间划分为至少两个连续的子区间; 根据所述指定数量的数据行的排序值,建立各数据行与所述至少两个连续的子区间的对应关系,其中,一个数据行的排序值落在所述一个数据行所对应的子区间中; 将对应于相同子区间的数据行划分至同一个数据块。 结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述数值区间划分为至少两个连续的子区间,包括: 获取所述数值区间的最大值和最小值,并获取M行数据行的排序值,其中M小于所述指定数量; 按照从小到大的顺序依次排列所述最小值、所述M行数据行的排序值和所述最大值; 按照排列顺序将所述数值区间划分为所述至少两个连续的子区间。 结合第一方面,在第一方面的第二种可能的实现方式中,在建立各数据行与所述至少两个连续的子区间的对应关系之后,还包括: 对于所述至少两个连续的子区间中的一个子区间,执行以下流程: 检测所述一个子区间对应的数据行的数量是否小于等于第一阈值; 若是,则将所述一个子区间与相邻的子区间合并。 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将所述一个子区间与相邻的子区间合并,包括:获取与所述一个子区间相邻的两个子区间对应的数据行的数量,并确定所对应的数据行的数量最小的相邻子区间; 将所述一个子区间与所对应的数据行的数量最小的相邻子区间合并。 结合第一方面,在第一方面的第四种可能的实现方式中,在建立各数据行与所述至少两个连续的子区间的对应关系之后,还包括: 对于所述至少两个连续的子区间中的一个子区间,执行以下流程: 检测所述一个子区间对应的数据行的数量是否大于等于第二阈值; 若是,则将所述一个子区间划分为至少两个连续的子区间; 根据所述一个子区间对应的数据行的排序值,建立所述一个子区间对应的数据行与从所述一个子区间划分出的至少两个连续的子区间的对应关系。 第二方面,本专利技术实施例提供一种存储数据的装置,数据表包括指定数量的数据行,每一数据行的一部分内容处于所述数据表的排序聚簇列中,且一个数据行的处于所述排序聚簇列中的内容对应一个排序值,所述装置包括: 获取模块,用于根据所述指定数量的数据行的排序值,获取数值区间; 第一处理模块,用于将所述数值区间划分为至少两个连续的子区间; 建立模块,用于根据所述指定数量的数据行的排序值,建立各数据行与所述至少两个连续的子区间的对应关系,其中,一个数据行的排序值落在所述一个数据行所对应的子区间中; 第二处理模块,用于将对应于相同子区间的数据行划分至同一个数据块。 结合第二方面,在第二方面的第一种可能的实现方式中,所述第一处理模块,包括: 第一获取子模块,用于获取所述数值区间的最大值和最小值,并获取M行数据行的排序值,其中M小于所述指定数量; 第一处理子模块,用于按照从小到大的顺序依次排列所述最小值、所述M行数据行的排序值和所述最大值; 第二处理子模块,用于按照排列顺序将所述数值区间划分为所述至少两个连续的子区间。 结合第二方面,在第二方面的第二种可能的实现方式中,还包括: 第三处理模块,用于对于所述至少两个连续的子区间中的一个子区间,执行以下流程: 检测所述一个子区间对应的数据行的数量是否小于等于第一阈值; 若所述一个子区间对应的数据行的数量小于等于第一阈值,则将所述一个子区间与相邻的子区间合并。 结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第三处理模块,包括: 第二获取子模块,用于获取与所述一个子区间相邻的两个子区间对应的数据行的数量,并确定所对应的数据行的数量最小的相邻子区间; 第三处理子模块,用于将所述一个子区间与所对应的数据行的数量最小的相邻子区间合并。 结合第二方面,在第二方面的第四种可能的实现方式中,还包括: 第四处理模块,用于对于所述至少两个连续的子区间中的一个子区间,执行以下流程: 检测所述一个子区间对应的数据行的数量是否大于等于第二阈值; 若所述一个子区间对应的数据行的数量大于等于第二阈值,则将所述一个子区间划分为至少两个连续的子区间; 根据所述一个子区间对应的数据行的排序值,建立所述一个子区间对应的数据行与从所述一个子区间划分出的至少两个连续的子区间的对应关系。 本专利技术实施例提供的一种存储数据的方法及装置,根据指定数量的数据行的排序值,获取数值区间并将数值区间划分成至少两个连续的子区间,再根据排序值本文档来自技高网
...

【技术保护点】
一种存储数据的方法,其特征在于,数据表包括指定数量的数据行,每一数据行的一部分内容处于所述数据表的排序聚簇列中,且一个数据行的处于所述排序聚簇列中的内容对应一个排序值,所述方法包括:根据所述指定数量的数据行的排序值,获取数值区间;将所述数值区间划分为至少两个连续的子区间;根据所述指定数量的数据行的排序值,建立各数据行与所述至少两个连续的子区间的对应关系,其中,一个数据行的排序值落在所述一个数据行所对应的子区间中;将对应于相同子区间的数据行划分至同一个数据块。

【技术特征摘要】

【专利技术属性】
技术研发人员:严龙董亚辉黄海燕
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江;33

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

1