高并发下的数据分布式写入方法、装置、终端及存储介质制造方法及图纸

技术编号:21089575 阅读:38 留言:0更新日期:2019-05-11 09:57
本发明专利技术公开了一种高并发下的数据分布式写入方法,应用于终端中,终端中存储有正向索引表和反向索引表,所述方法包括:接收到键‑值对的写入指令时,计算键应位于的反向索引表中对应值的第一虚拟值对应的第一虚拟键中的反向位置索引;当反向索引表的版本号没发生变化时,将键写入具有反向位置索引的子值对应的数组中;计算值应位于的正向索引表中对应的第二虚拟值中的正向位置索引;当正向索引表的版本号没发生变化时,将值写入具有正向位置索引的子键对应的数组中。本发明专利技术还公开了一种高并发下的数据分布式写入装置、终端及存储介质。本发明专利技术能够解决多对多型的数据的分布式写入的技术问题,提高了在高并发情况下访问数据的效率。

【技术实现步骤摘要】
高并发下的数据分布式写入方法、装置、终端及存储介质
本专利技术涉及数据库
,尤其涉及一种高并发下的数据分布式写入方法、装置、终端及存储介质。
技术介绍
随着互联网技术的深入发展和分布式计算技术的兴起,数据库管理系统需要处理的数据量越来越庞大,基于单机运行的传统关系型数据库虽然能够保证索引的一致性,但数据库读写性能过低,且大量占用数据库集群的运算能力。为此,人们进行了多方面的技术尝试。多种分布式数据库系统已经被开发出来,包括BigTable、HBase、MongoDB、Cassandra和Redis等。这些分布式数据库系统可以包括数百或数千个节点,具有处理从兆字节(terabyte,TB)到拍字节(petabyte,PB)数据的能力。然而,现有的分布式数据库都是基于单个数据表的操作处理方式,无法有效的打破传统关系型数据库在高并发下的数据写入效率上的瓶颈。因此,有必要提出一种能够解决多对多型的数据的分布式写入的技术问题,以便提高在高并发情况下访问数据的效率。
技术实现思路
本专利技术的主要目的在于提供一种高并发下的数据分布式写入方法、装置、终端及存储介质,旨在解决多对多型的数据的分布式本文档来自技高网...

【技术保护点】
1.一种高并发下的数据分布式写入方法,应用于终端中,其特征在于,所述终端中预先存储有正向索引表和反向索引表,所述方法包括:接收到键‑值对的写入指令时,记录所述反向索引表的版本号和所述正向索引表的版本号;获取所述反向索引表中对应所述键‑值对中的值的第一虚拟值,并计算所述键‑值对中的键应位于的所述第一虚拟值对应的第一虚拟键中的反向位置索引;当所述反向索引表版本号未发生变化时,将所述键写入所述第一虚拟键中具有所述反向位置索引的子值对应的数组中;获取所述正向索引表中对应所述键‑值对中的键的第二虚拟键,并计算所述键‑值对中的值应位于的所述第二虚拟键对应的第二虚拟值中的正向位置索引;当所述正向索引表版本号...

【技术特征摘要】
1.一种高并发下的数据分布式写入方法,应用于终端中,其特征在于,所述终端中预先存储有正向索引表和反向索引表,所述方法包括:接收到键-值对的写入指令时,记录所述反向索引表的版本号和所述正向索引表的版本号;获取所述反向索引表中对应所述键-值对中的值的第一虚拟值,并计算所述键-值对中的键应位于的所述第一虚拟值对应的第一虚拟键中的反向位置索引;当所述反向索引表版本号未发生变化时,将所述键写入所述第一虚拟键中具有所述反向位置索引的子值对应的数组中;获取所述正向索引表中对应所述键-值对中的键的第二虚拟键,并计算所述键-值对中的值应位于的所述第二虚拟键对应的第二虚拟值中的正向位置索引;当所述正向索引表版本号未发生变化时,将所述值写入所述第二虚拟值中具有所述正向位置索引的子键对应的数组中。2.如权利要求1所述的方法,其特征在于,所述计算所述键-值对中的键应位于的所述第一虚拟值对应的第一虚拟键中的反向位置索引包括:计算所述键的第一散列值;根据预设第一位置序号与第一散列值之间的对应关系确定所述键应位于的所述第一虚拟键中的反向位置索引,所述反向位置索引中包括所述第一位置序号。3.如权利要求1所述的方法,其特征在于,所述计算所述键-值对中的值应位于的所述第二虚拟键对应的第二虚拟值中的正向位置索引包括:计算所述值的第二散列值;根据预设第二位置序号与第二散列值之间的对应关系确定所述值应位于的所述第二虚拟值中的正向位置索引,所述正向位置索引中包括所述第二位置序号。4.如权利要求1所述的方法,其特征在于,在将所述键-值对写入所述反向索引表成功,但将所述键-值对写入所述正向索引表时失败时,所述方法还包括:回滚所述反向索引表,以保持所述正向索引表和所述反向索引表中的数据一致性;所述回滚所述反向索引表包括:在所述反向索引表的当前版本号与成功写入时的版本号相同时,删除写入所述第一虚拟键下的所有子值及对应的键。5.如权利要求1至4中任意一项所述的方法,其特征在于,在所述获取所述反向索引表中对应所述键-值对中的值的第一虚拟值之前,所述方法还包括:判断所述反向索引表中是否存在对应所述键-值对中的值的第一虚拟值;当确定不存在对应所述键-值对中的值的第一虚拟值时,创建所述第一虚拟值,所述第一虚拟值中包括所述值及预设值拆分为子值的第一个数。6.如权利要求5所述的方法,其特征在于,在所述计算所述键-值对中的键应位于的所述第一虚拟值对应的第一虚拟键中的反向位置索引之后,所述方法还包括:判断所述第一虚拟键中是否存在具有所述反向位置索引的子值;当确定不存在具有所述反向位置索引的子值时,创建具有所述反向位置索引的子值,同时将所述第一个数加1。7.如权利要求6所述的方法,其特征在于,在所述将所述键写入所述第一虚拟键中具有所述反向位...

【专利技术属性】
技术研发人员:李润恒
申请(专利权)人:深圳市网心科技有限公司
类型:发明
国别省市:广东,44

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

1