System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种内存读写方法及其装置制造方法及图纸_技高网

一种内存读写方法及其装置制造方法及图纸

技术编号:40103956 阅读:27 留言:0更新日期:2024-01-23 18:07
本公开提供了一种内存读写方法及其装置,涉及计算机技术领域,尤其涉及数据处理领域。具体实现方案为:获取待执行的读事务/写事务对应的根元数据,根元数据包括根节点指针、树版本号和待回收列表;根据根节点指针确定内存区域中对应的第一平衡查找树;响应于待执行的事务为读事务,对根元数据进行复制,并基于复制得到的第一复制根元数据对第一平衡查找树进行数据读取;响应于待执行的事务为写事务,对根元数据进行复制,并基于复制得到的第二复制根元数据对第一平衡查找树进行写操作。本申请可以实现读读并发和读写并发,在执行写事务时,复制的根元数据保证了读事务仍然可以基于原始根元数据进行读取操作,提高了数据的隔离性和可靠性。

【技术实现步骤摘要】

本公开涉及计算机,尤其涉及数据处理领域,具体涉及一种内存读写方法及其装置


技术介绍

1、随着多线程和多核处理器在计算机系统中的广泛应用,对内存进行并发读写操作变得越来越重要。在当前分布式系统经常将相关的数据临时保存在内存当中,在一次任务过程中会读取、写入多个数据,然而,并发读写操作可能引发数据竞争和一致性问题。


技术实现思路

1、本公开提供了一种内存读写方法、装置、设备以及存储介质。

2、根据本公开的一方面,提供了一种内存读写方法,通过获取待执行的读事务/写事务对应的根元数据,所述根元数据包括根节点指针、树版本号和待回收列表;根据所述根节点指针确定内存区域中对应的第一平衡查找树;响应于待执行的事务为读事务,对所述根元数据进行复制,并基于复制得到的第一复制根元数据对所述第一平衡查找树进行数据读取;响应于待执行的事务为写事务,对所述根元数据进行复制,并基于复制得到的第二复制根元数据对所述第一平衡查找树进行写操作。

3、根据本公开的另一方面,提供了一种内存读写装置,包括获取模块,用于获取待执行的读事务/写事务对应的根元数据,所述根元数据包括根节点指针、树版本号和待回收列表;确定模块,用于根据所述根节点指针确定内存区域中对应的第一平衡查找树;第一执行模块,用于响应于待执行的事务为读事务,对所述根元数据进行复制,并基于复制得到的第一复制根元数据对所述第一平衡查找树进行数据读取;第二执行模块,用于响应于待执行的事务为写事务,对所述根元数据进行复制,并基于复制得到的第二复制根元数据对所述第一平衡查找树进行写操作。

4、根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述内存读写方法。

5、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述内存读写方法。

6、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述内存读写方法。

7、本申请至少实现以下有益效果:

8、本申请中,通过复制根元数据并基于复制进行读写操作,可以实现读读并发和读写并发,多个读事务可以同时进行,每个事务都使用自己的复制根元数据,避免了读事务之间的冲突和互相干扰,提高了系统的并发性能,并且,通过复制根元数据并基于复制进行写操作,可以实现读写隔离。在执行写事务时,复制的根元数据保证了读事务仍然可以基于原始根元数据进行读取操作,而不会受到写事务的影响,可以确保读事务在执行期间读取的数据始终是一致的,提高了数据的隔离性和可靠性,另外,本申请中,即使在执行事务期间发生故障或错误,原始根元数据仍然保持不变,可以通过回滚或其他机制来恢复到事务执行前的状态,可以提高系统的容错性。

9、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种内存读写方法,包括:

2.根据权利要求1所述的方法,其中,所述基于复制得到的第二复制根元数据对所述第一平衡查找树进行写操作,包括:

3.根据权利要求2所述的方法,其中,所述获取替换后生成的第二平衡查找树之后,还包括:

4.根据权利要求2所述的方法,其中,所述基于当前时刻的所述第二复制根元数据对所述根元数据进行替换之后,还包括:

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取待执行的读事务/写事务对应的根元数据,包括:

6.根据权利要求3所述的方法,其中,所述执行旋转分裂操作以调整所述第二平衡查找树的树结构之后,还包括:

7.根据权利要求6所述的方法,其中,所述方法,还包括:

8.根据权利要求6或7所述的方法,其特征在于,所述对所述根元数据所携带的树版本号和根节点指针进行更新,或者,对所述根元数据所携带的树版本号进行更新之后,还包括:

9.根据权利要求1-4中任一项所述的方法,其特征在于,所述写操作包括对所述第一平衡查找树的插入操作、删除操作和修改操作。

<p>10.一种内存读写装置,包括:

11.根据权利要求10所述的装置,其中,所述第二执行模块,还用于:

12.根据权利要求11所述的装置,其中,所述第二执行模块,还用于:

13.根据权利要求11所述的装置,其中,所述第二执行模块,还用于:

14.根据权利要求10-13中任一项所述的装置,其中,所述获取模块,还用于:

15.根据权利要求12所述的装置,其中,所述第二执行模块,还用于:

16.根据权利要求15所述的装置,其中,所述第二执行模块,还用于:

17.根据权利要求15或16所述的装置,其中,所述第二执行模块,还用于:

18.根据权利要求10-13中任一项所述的装置,其中,所述写操作包括对所述第一平衡查找树的插入操作、删除操作和修改操作。

19.一种电子设备,包括:

20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。

21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述方法的步骤。

...

【技术特征摘要】

1.一种内存读写方法,包括:

2.根据权利要求1所述的方法,其中,所述基于复制得到的第二复制根元数据对所述第一平衡查找树进行写操作,包括:

3.根据权利要求2所述的方法,其中,所述获取替换后生成的第二平衡查找树之后,还包括:

4.根据权利要求2所述的方法,其中,所述基于当前时刻的所述第二复制根元数据对所述根元数据进行替换之后,还包括:

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取待执行的读事务/写事务对应的根元数据,包括:

6.根据权利要求3所述的方法,其中,所述执行旋转分裂操作以调整所述第二平衡查找树的树结构之后,还包括:

7.根据权利要求6所述的方法,其中,所述方法,还包括:

8.根据权利要求6或7所述的方法,其特征在于,所述对所述根元数据所携带的树版本号和根节点指针进行更新,或者,对所述根元数据所携带的树版本号进行更新之后,还包括:

9.根据权利要求1-4中任一项所述的方法,其特征在于,所述写操作包括对所述第一平衡查找树的插入操作、删除操作和修改操作。

10.一种内存读写装置,包括:...

【专利技术属性】
技术研发人员:白建民
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

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

1