数据处理方法、装置、电子设备和计算机可读介质制造方法及图纸

技术编号:26170858 阅读:32 留言:0更新日期:2020-10-31 13:40
本发明专利技术提供了一种数据处理方法、装置、电子设备和计算机可读介质,涉及数据库的技术领域,包括:获取预先设定的对数据库中的数据进行索引的多个目标索引信息;对多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区;其中,每个目标哈希分区中包含相对应的目标索引信息的哈希值;为至少一个目标哈希分区中的每个目标哈希分区设置相对应的B树;基于每个目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作。本申请解决了现有的数据库索引操作效率低且浪费资源的技术问题。

【技术实现步骤摘要】
数据处理方法、装置、电子设备和计算机可读介质
本专利技术涉及数据库的
,尤其是涉及一种数据处理方法、装置、电子设备和计算机可读介质。
技术介绍
在现有的数据库中,由于数据量大,数据库存储了海量数据,很多数据库中单表数据的行数达到了几千万甚至过亿的数据量。数据库中一张存有过亿数据的表,数据量庞大。但是,数据库还需要对应用提供数据查询、更新等功能。在现有的数据查询方式中,可以采用B树或者B+树。例如,针对一个数据处理线程,在超过1亿或者千万的数据量的数据表中,B树可以通过二分查找过长超过30次。虽然单次查找的并不多,但是如果多个数据处理线程同时发起数据处理操作时,查询次数会放大数倍。如果数据处理线程为2000,则查询的次数30*2000,放大了2000倍。在高并发状态下,B树在查找的过程中还涉及磁盘的读取,磁盘IO是非常耗时的,因二分查找,涉及很多不必要的磁盘查询。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据处理方法、装置、电子设备和计算机可读介质,以缓解了现有的数据库索引操作效率低且浪费资源的技术问题。第一方面,本专利技术实施例提供了一种数据处理方法,包括:获取预先设定的对数据库中的数据进行索引的多个目标索引信息;对所述多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区;其中,每个目标哈希分区中包含相对应的目标索引信息的哈希值;为所述至少一个目标哈希分区中的每个目标哈希分区设置相对应的B树;基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作。进一步地,对所述多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区包括:计算每个所述目标索引信息的哈希值,得到多个目标哈希值;获取预先设定的至少一个初始哈希分区;确定每个所述目标哈希值所属的初始哈希分区,得到至少一个目标哈希分区。进一步地,确定每个所述目标哈希值所属的初始哈希分区包括:获取所述至少一个初始哈希分区的数量,得到目标数量;基于所述目标数量对每个所述目标哈希值进行余数计算,得到第一计算结果;基于所述第一计算结果确定每个目标哈希值所属的初始哈希分区。进一步地,每个初始哈希分区包含对应的顺序标记信息;基于所述第一计算结果确定每个目标哈希值所属的初始哈希分区包括:在至少一个顺序标记信息中确定与每个第一计算结果相同的目标顺序标记信息,并将所述目标顺序标记信息所对应的初始哈希分区确定为每个目标哈希值所属的初始哈希分区。进一步地,基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作包括:在所述目标数据操作为数据写入操作时,确定待写入数据的数据索引信息,计算所述待写入数据的数据索引信息的哈希值,得到第一哈希值;在所述至少一个目标哈希分区中确定所述第一哈希值所属的哈希分区,得到第一哈希分区;在所述第一哈希分区所对应的B树上建立相应的B树结点,其中,所述B树结点包括所述待写入数据的数据索引信息和所述待写入数据在数据库中的存储位置信息中的至少一种。进一步地,在所述至少一个目标哈希分区中确定所述第一哈希值所属的哈希分区,得到第一哈希分区包括:基于所述至少一个目标哈希分区的数量对所述第一哈希值进行余数计算,得到第二计算结果;基于所述第二计算结果确定所述第一哈希值所属的哈希分区,得到所述第一哈希分区。进一步地,基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作还包括:在所述目标数据操作为数据查询操作时,确定待查询数据的数据索引信息,计算所述待查询数据的数据索引信息的哈希值,得到第二哈希值;在所述至少一个目标哈希分区中确定所述第二哈希值所属的哈希分区,得到第二哈希分区;确定所述第二哈希分区所对应的B树;对所述第二哈希分区所对应的B树进行遍历查找,得到所述待查询数据在数据库中的存储位置,并根据所述存储位置读取所述待查询数据。进一步地,在所述至少一个目标哈希分区中确定所述第二哈希值所属的哈希分区,得到第二哈希分区包括:基于所述至少一个目标哈希分区的数量对所述第二哈希值进行余数计算,得到第三计算结果;基于所述第三计算结果确定第二哈希值所属的哈希分区,得到第二哈希分区。进一步地,在所述基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作之前,所述方法还包括:控制所述目标数据操作所对应的目标哈希分区对应的B树处于锁定状态。第二方面,本专利技术实施例还提供一种数据处理装置,包括:获取单元,用于获取预先设定的对数据库中的数据进行索引的多个目标索引信息;分区单元,用于对所述多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区;其中,每个目标哈希分区中包含相对应的目标索引信息的哈希值;构建单元,用于为所述至少一个目标哈希分区中的每个目标哈希分区设置相对应的B树;操作单元,用于基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作。第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中所述的方法的步骤。第四方面,本专利技术实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中所述的方法的步骤。在本专利技术实施例中,首先,获取预先设定的对数据库中的数据进行索引的多个目标索引信息;然后,对多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区;其中,每个目标哈希分区中包含相对应的目标索引信息的哈希值;接着,为至少一个目标哈希分区中的每个目标哈希分区设置相对应的B树;最后,基于每个目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作。在本申请中,通过对目标索引信息进行哈希分区,并为每个哈希分区分别设置一个B树的方式,能够实现在执行数据更新处理的过程中,在相应的目标哈希分区所对应的B树上执行,并实现不同目标哈希分区的数据同时进行更新,以解决传统数据串行索引的方式,从而提高了目标数据操作的效率,并降低了无用的磁盘查询,进而缓解了现有的数据库索引操作效率低且浪费资源的技术问题。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据处理方法的流程图;图2为本专利技术实施例提供的一种目标哈希分区的确定方法的流程图;图3为本专利技术实施例提供的一种数据处理装置的示意图;本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n获取预先设定的对数据库中的数据进行索引的多个目标索引信息;/n对所述多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区;其中,每个目标哈希分区中包含相对应的目标索引信息的哈希值;/n为所述至少一个目标哈希分区中的每个目标哈希分区设置相对应的B树;/n基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
获取预先设定的对数据库中的数据进行索引的多个目标索引信息;
对所述多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区;其中,每个目标哈希分区中包含相对应的目标索引信息的哈希值;
为所述至少一个目标哈希分区中的每个目标哈希分区设置相对应的B树;
基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作。


2.根据权利要求1所述的方法,其特征在于,对所述多个目标索引信息执行哈希分区操作,得到至少一个目标哈希分区包括:
计算每个所述目标索引信息的哈希值,得到多个目标哈希值;
获取预先设定的至少一个初始哈希分区;
确定每个所述目标哈希值所属的初始哈希分区,得到至少一个目标哈希分区。


3.根据权利要求2所述的方法,其特征在于,确定每个所述目标哈希值所属的初始哈希分区包括:
获取所述至少一个初始哈希分区的数量,得到目标数量;
基于所述目标数量对每个所述目标哈希值进行余数计算,得到第一计算结果;
基于所述第一计算结果确定每个目标哈希值所属的初始哈希分区。


4.根据权利要求3所述的方法,其特征在于,每个初始哈希分区包含对应的顺序标记信息;
基于所述第一计算结果确定每个目标哈希值所属的初始哈希分区包括:
在至少一个顺序标记信息中确定与每个第一计算结果相同的目标顺序标记信息,并将所述目标顺序标记信息所对应的初始哈希分区确定为每个目标哈希值所属的初始哈希分区。


5.根据权利要求1所述的方法,其特征在于,基于每个所述目标哈希分区和其对应的B树对数据库中的数据执行目标数据操作包括:
在所述目标数据操作为数据写入操作时,确定待写入数据的数据索引信息,计算所述待写入数据的数据索引信息的哈希值,得到第一哈希值;
在所述至少一个目标哈希分区中确定所述第一哈希值所属的哈希分区,得到第一哈希分区;
在所述第一哈希分区所对应的B树上建立相应的B树结点,其中,所述B树结点包括所述待写入数据的数据索引信息和所述待写入数据在数据库中的存储位置信息中的至少一种。


6.根据权利要求5所述的方法,其特征在于,在所述至少一个目标哈希分区中确定所述第一哈希值所属的哈希分区,得到第一哈希分区包括:
基于所述至少一个目标哈希分区的数量对...

【专利技术属性】
技术研发人员:邱海港
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

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

1