数据存储方法、数据查询方法及服务器技术

技术编号:30760526 阅读:20 留言:0更新日期:2021-11-10 12:14
本申请适用于数据库的数据处理技术领域,提供了数据存储方法、数据查询方法及服务器,包括:根据预设的分区字段,从待存储数据中提取对应的分区字段值;根据所述分区字段值确定所述待存储数据所属的分区;若所述待存储数据所属的分区不存在,则根据指定磁盘中各个磁盘的剩余可用磁盘空间,从所述指定磁盘中选择目标磁盘,所述指定磁盘包括所述服务器挂载的至少2个磁盘,所述目标磁盘的剩余可用磁盘空间满足预设空间要求;在所述目标磁盘中创建所述待存储数据所属的分区;在创建的所述分区中存储所述待存储数据。通过上述方法,能够提高数据的存储性能。据的存储性能。据的存储性能。

【技术实现步骤摘要】
数据存储方法、数据查询方法及服务器


[0001]本申请属于数据库的数据处理
,尤其涉及数据存储方法、数据查询方法、数据存储装置、服务器及计算机可读存储介质。

技术介绍

[0002]在数据库中,使用分区(partition)技术来优化大数据表的查询性能是很常见的技术,其基本原理就是按照时间或其他维度,将经常一起访问的数据划分到同一个分区。当收到查询请求时,数据库优化器先分析需要访问哪些分区,在得到分析结果后,扫描时将跳过不需要访问的分区,从而极大地减少了数据的扫描范围,提升了数据库的查询性能。
[0003]但是,随着技术的发展,一台服务器具有多核中央处理器(Central Processing Unit,CPU)和挂载多个磁盘的配置越来越常见,在这种情况下,若仍是与具有单核、单个磁盘的配置的服务器一样,仅根据时间或其他维度划分数据并存储,则难以继续提升数据库的查询性能。

技术实现思路

[0004]本申请实施例提供了数据存储方法、数据查询方法及服务器,可以解决现有的方法在存储数据时,若只考虑按照时间或其他维度划分数据,并按照划分的数据进行存储时,难以进一步提升数据库的性能的问题。
[0005]第一方面,本申请实施例提供了一种数据存储方法,应用于服务器,包括:
[0006]根据预设的分区字段,从待存储数据中提取对应的分区字段值;
[0007]根据所述分区字段值确定所述待存储数据所属的分区;
[0008]若所述待存储数据所属的分区不存在,则根据指定磁盘中各个磁盘的剩余可用磁盘空间,从所述指定磁盘中选择目标磁盘,所述指定磁盘包括所述服务器挂载的至少2个磁盘,所述目标磁盘的剩余可用磁盘空间满足预设空间要求;
[0009]在所述目标磁盘中创建所述待存储数据所属的分区;
[0010]在创建的所述分区中存储所述待存储数据。
[0011]第二方面,本申请实施例提供了一种数据查询方法,应用于服务器,包括:
[0012]确定目标分区,所述目标分区为待查询数据所属的分区;
[0013]确定所述服务器空闲的中央处理器的核心数;
[0014]在存在空闲的中央处理器时,采用数量不少于1且不多于所述服务器空闲的中央处理器的核心数的线程,从指定磁盘的所述目标分区查找所述待查询数据,所述指定磁盘包括所述服务器挂载的至少2个磁盘。
[0015]第三方面,本申请实施例提供了一种数据存储装置,应用于服务器,包括:
[0016]分区字段值提取模块,用于根据预设的分区字段,从待存储数据中提取对应的分区字段值;
[0017]分区确定模块,用于根据所述分区字段值确定所述待存储数据所属的分区;
[0018]目标磁盘确定模块,用于若所述待存储数据所属的分区不存在,则根据指定磁盘中各个磁盘的剩余可用磁盘空间,从所述指定磁盘中选择目标磁盘,所述指定磁盘包括所述服务器挂载的至少2个磁盘,所述目标磁盘的剩余可用磁盘空间满足预设空间要求;
[0019]分区创建模块,用于在所述目标磁盘中创建所述待存储数据所属的分区;
[0020]数据存储模块,用于在创建的所述分区中存储所述待存储数据。
[0021]第四方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第二方面所述的方法。
[0022]第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的方法。
[0023]第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行上述第一方面或第二方面所述的方法。
[0024]本申请实施例与现有技术相比存在的有益效果是:
[0025]在本申请实施例中,指定磁盘包括服务器挂载的至少2个磁盘,目标磁盘是从指定磁盘中选择出的剩余可用磁盘空间满足预设空间要求的磁盘,而随着存储的数据的增多,指定磁盘中的各个磁盘的剩余可用磁盘空间也必然发生变化,也即,当需要存储不同的待存储数据时,从指定磁盘中确定的目标磁盘通常不是同一个磁盘,因此,通过上述方式确定目标磁盘,并在确定的目标磁盘中创建分区,以及在创建的分区存储待存储数据,能够更合理地利用服务器挂载的多个目标磁盘对数据进行存储,且使得存储在各个目标磁盘的数据的数据量更均衡。进一步地,由于各个目标磁盘的输入/输出(Input/Output,I/O)能力是并行的,因此,通过上述方式,能够有效提高服务器的硬件资源的利用率,以及,有效提高服务器的数据存储性能。
附图说明
[0026]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0027]图1是本申请一实施例提供的一种数据存储方法的流程图;
[0028]图2是本申请一实施例提供的一种创建分区的流程图;
[0029]图3是本申请一实施例提供的一种数据查询方法的流程图;
[0030]图4是本申请一实施例提供的另一种数据查询方法的流程图;
[0031]图5是本申请另一实施例提供的一种数据存储装置的结构示意图;
[0032]图6是本申请一实施例提供的一种数据查询装置的结构示意图;
[0033]图7是本申请另一实施例提供的一种服务器的结构示意图。
具体实施方式
[0034]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0035]应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0036]还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0037]在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
[0038]实施例一:
[0039]在数据库中,当数据表的数据量比较大时,一般选择用分区技术来提升数据库的查询性能。即将需要经常一起访问的数据放在一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,应用于服务器,包括:根据预设的分区字段,从待存储数据中提取对应的分区字段值;根据所述分区字段值确定所述待存储数据所属的分区;若所述待存储数据所属的分区不存在,则根据指定磁盘中各个磁盘的剩余可用磁盘空间,从所述指定磁盘中选择目标磁盘,所述指定磁盘包括所述服务器挂载的至少2个磁盘,所述目标磁盘的剩余可用磁盘空间满足预设空间要求;在所述目标磁盘中创建所述待存储数据所属的分区;在创建的所述分区中存储所述待存储数据。2.如权利要求1所述的数据存储方法,其特征在于,所述根据指定磁盘中各个磁盘的剩余可用磁盘空间,从所述指定磁盘中选择目标磁盘,包括:若所述指定磁盘包括所述服务器挂载的2个磁盘,则确定所述指定磁盘中各个磁盘的剩余可用磁盘空间;将所述指定磁盘中较大的剩余可用磁盘空间所对应的磁盘作为所述目标磁盘。3.如权利要求1所述的数据存储方法,其特征在于,所述根据指定磁盘中各个磁盘的剩余可用磁盘空间,从所述指定磁盘中选择目标磁盘,包括:若所述指定磁盘包括所述服务器挂载的至少3个磁盘,则根据所述指定磁盘中各个磁盘的剩余可用磁盘空间,确定所述指定磁盘中最小的剩余可用磁盘空间所对应的磁盘;从所述指定磁盘中剔除所述最小的剩余可用磁盘空间所对应的磁盘,得到候选磁盘;根据各个所述候选磁盘中已创建的分区的数量,从各个所述候选磁盘中选择所述目标磁盘。4.如权利要求1至3任一项所述的数据存储方法,其特征在于,在所述在创建的分区存储所述待存储数据的步骤之后,包括:记录所述创建的分区与所述目标磁盘的映射关系。5.一种数据查询方法,其特征在于,应用于服务器,包括:确定目标分区,所述目标分区为待查询数据所属的分区;确定所述服务器空闲的中央处理器的核心数;在存在空闲的中央处理器时,采用数量不少于1且不多于所述服务器空闲的中央处理器的核心数的线程,从指定磁盘的所述目标分区查找所述待查询数据,所述指定磁盘包括所述服务器挂载的至少2个磁盘。6.如权利要求5所述的数据查询方法,其特征在于,所述数据查询方法,还包括:确定所述目标分区所对应的目标磁盘的数量,所述目标磁盘为所述指定磁盘中创建了所述目标分区的磁盘;所述采用数量不少于1且不多于所述服务器空闲的中央处理器的核心数的线程,从所述指定磁盘的所述目标分区查找所述待查询数据,包括:若所述目标磁盘的...

【专利技术属性】
技术研发人员:熊志强
申请(专利权)人:深圳市汉云科技有限公司
类型:发明
国别省市:

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

1