System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据存储管理方法和装置、存储介质、系统制造方法及图纸_技高网

数据存储管理方法和装置、存储介质、系统制造方法及图纸

技术编号:40020048 阅读:12 留言:0更新日期:2024-01-16 16:37
提供了一种数据存储管理方法和装置、存储介质、系统,其中,所述方法包括:获取有序集合;将所述有序集合的有序索引写入持久化存储装置,其中,所述有序索引中包括所述有序集合中的成员以及所述成员的分数,所述有序索引中的所述成员按照所述成员的分数排序;并且将所述有序集合的哈希索引写入动态随机存取存储器,其中,所述哈希索引中包括用于指向所述成员位于所述持久化存储装置中的位置的指针。

【技术实现步骤摘要】

本申请总体说来涉及数据持久化的,更具体地讲,涉及利用持久化存储装置(persistent memory,pmem)和动态随机存取存储器(dynamic random accessmemory,dram)的数据存储管理方法和装置、存储介质、系统


技术介绍

1、为了在装置断电重启时尽量保留断电前的数据,现有技术将传统内存式数据结构移植到非易失性存储器(non-volatile memory,nvm)来实现数据持久化。鉴于pmem在性能上的大幅提升以及单字节寻址的访问优点,现有技术多选择nvm中的pmem来实现上述的数据持久化,但是这种内存式数据结构的移植操作通常是整个数据结构的移植,对于比dram性能稍差的pmem来说,往往会在一定程度上降低整个数据结构的性能。此外,由于pmem的持久化写操作比读操作性能更差,一次数据修改、插入、删除会造成多次写操作(写放大),因此,在pmem实现上述的数据持久化会损失更多性能。

2、另外,有序集合作为一种由有序的同类物组成的集合,包含了成员(member)和每个成员的分数(score),因此有序集合除了支持无序集合原有的读写操作外,还支持以分数为目标的查找、排序、修改等操作,并且有序集合通常使用两种索引来管理数据。然而,正因如此,对于数据的修改、插入、删除等操作都需要对这两种索引进行修改,因此在pmem中实现有序集合的持久化时,性能会受到严重影响。


技术实现思路

1、本申请的示例性实施例在于提供一种使有序集合持久化的方法和装置,以至少解决现有技术存在的上述问题。

2、根据本公开实施例的第一方面,提供了一种数据存储管理方法,所述方法包括:获取有序集合;将所述有序集合的有序索引写入持久化存储装置,其中,所述有序索引中包括所述有序集合中的成员以及所述成员的分数,所述有序索引中的所述成员按照所述成员的分数排序;并且将所述有序集合的哈希索引写入动态随机存取存储器,其中,所述哈希索引中包括用于指向所述成员位于所述持久化存储装置中的位置的指针。

3、可选地,所述将所述有序集合的有序索引写入持久化存储装置,包括:将所述有序索引按照树、跳表、单链表和双链表中的一种形式写入所述持久化存储装置。

4、可选地,所述将所述有序集合的哈希索引写入动态随机存取存储器,包括:在动态随机存取存储器中新建一个空的哈希索引;依次遍历所述有序集合的哈希索引中的每个哈希桶,将所述每个哈希桶中与所述成员对应的所述指针写入新建的哈希索引中的对应哈希桶中。

5、可选地,所述方法还包括:响应于接收到的成员查询请求是利用目标分数进行查询的第一类查询,利用所述有序索引查询所述目标成员;响应于接收到的成员查询请求是利用目标成员进行查询的第二类查询,利用所述哈希索引查询所述目标成员;反馈查询结果。

6、可选地,所述利用所述有序索引查询所述目标成员包括:基于所述目标分数搜索所述有序索引来查询所述目标成员。

7、可选地,所述利用所述哈希索引查询所述目标成员包括:计算所述目标成员的哈希值;基于所述目标成员的哈希值搜索所述哈希索引;响应于在所述哈希索引中搜索到与所述哈希值对应的哈希桶,从所述哈希桶中读取与所述哈希值对应的地址,并按照与所述哈希值对应的地址搜索所述持久化存储装置以查询所述目标成员。

8、可选地,所述方法还包括:响应于接收到针对所述有序集合的处理操作,对所述有序集合进行处理;当所述处理操作为第一类操作时,根据处理后的有序集合中各成员的分数,对所述有序索引进行调整,其中,第一类操作仅用于修改所述有序集合中的成员的分数;当所述处理操作为第二类操作时,根据处理后的有序集合中各成员,对所述有序索引和所述哈希索引进行调整,其中,第二类操作包括针对所述有序集合的成员插入操作、成员删除操作和成员修改操作。

9、可选地,所述根据处理后的有序集合中各成员的分数,对所述有序索引进行调整,包括:根据处理后的有序集合中各成员的分数,修改所述有序索引中的成员的先后顺序。

10、可选地,所述根据处理后的有序集合中各成员,对所述有序索引和所述哈希索引进行调整,包括:计算处理后的各成员的分数和哈希值;根据处理后的各成员的分数,修改所述有序索引中的成员的先后顺序;根据处理后的各成员的哈希值和修改后的所述有序索引中的成员的地址,修改所述哈希索引。

11、可选地,当使用所述方法的装置上电时,基于所述有序索引中包含的所有成员,在所述动态随机存取存储器中重新构建所述哈希索引。

12、可选地,所述在所述动态随机存取存储器中重新构建所述哈希索引,包括:通过遍历所述有序索引中包含的每个成员来计算每个成员的哈希值,并根据每个成员以及每个成员的哈希值在所述动态随机存取存储器中重新构建所述哈希索引。

13、根据本公开实施例的第二方面,提供了一种数据存储管理装置,所述装置包括:获取单元,被配置为获取有序集合;以及处理单元,被配置为:将有序集合的有序索引写入持久化存储装置,其中,所述有序索引中包括所述有序集合中的成员以及所述成员的分数,所述有序索引中的所述成员按照所述成员的分数排序;并且将所述有序集合的哈希索引写入动态随机存取存储器,其中,所述哈希索引中包括用于指向所述成员位于所述持久化存储装置中的位置的指针。

14、可选地,所述处理单元被配置为将所述有序索引按照树、跳表、单链表和双链表中的一种形式写入所述持久化存储装置。

15、可选地,所述处理单元被配置为:在动态随机存取存储器中新建一个空的哈希索引;依次遍历所述有序集合的哈希索引中的每个哈希桶,将所述每个哈希桶中与所述成员对应的所述指针写入新建的哈希索引中的对应哈希桶中。

16、可选地,所述处理单元还被配置为:响应于接收到的成员查询请求是利用目标分数进行查询的第一类查询,利用所述有序索引查询所述目标成员;响应于接收到的成员查询请求是利用目标成员进行查询的第二类查询,利用所述哈希索引查询所述目标成员;反馈查询结果。

17、可选地,所述处理单元被配置为通过以下操作利用所述有序索引查询所述目标成员:基于所述目标分数搜索所述有序索引来查找所述目标成员。

18、可选地,所述处理单元被配置为通过以下操作利用所述哈希索引查询所述目标成员:计算所述目标成员的哈希值;基于所述目标成员的哈希值搜索所述哈希索引;响应于所述哈希索引中搜索到与所述哈希值对应的哈希桶,从所述哈希桶中读取与所述哈希值对应的地址,并按照与所述哈希值对应的地址搜索所述持久化存储装置以查询所述目标成员。

19、可选地,所述处理单元还被配置为:响应于接收到针对所述有序集合的处理操作,对所述有序集合进行处理;当所述处理操作为第一类操作时,根据处理后的有序集合中各成员的分数,对所述有序索引进行调整,其中,第一类操作仅用于修改所述有序集合中的成员的分数;当所述处理操作为第二类操作时,根据处理后的有序集合中各成员,对所述有序索引和所述哈希索引进行调整,其中,第二类操作包本文档来自技高网...

【技术保护点】

1.一种数据存储管理方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述将所述有序集合的有序索引写入持久化存储装置,包括:将所述有序索引按照树、跳表、单链表和双链表中的一种形式写入所述持久化存储装置。

3.如权利要求1所述的方法,其特征在于,所述将所述有序集合的哈希索引写入动态随机存取存储器,包括:

4.如权利要求1所述的方法,其特征在于,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,所述方法还包括:

6.如权利要求1所述的方法,其特征在于,所述方法还包括:

7.如权利要求6所述的方法,其特征在于,所述在所述动态随机存取存储器中重新构建所述哈希索引,包括:

8.一种数据存储管理装置,其特征在于,所述装置包括:

9.一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1-7中的任意一项所述的方法。

10.一种包括至少一个计算装置和存储指令的至少一个存储装置的系统,其特征在于,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1-7中的任意一项所述的方法。

...

【技术特征摘要】

1.一种数据存储管理方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述将所述有序集合的有序索引写入持久化存储装置,包括:将所述有序索引按照树、跳表、单链表和双链表中的一种形式写入所述持久化存储装置。

3.如权利要求1所述的方法,其特征在于,所述将所述有序集合的哈希索引写入动态随机存取存储器,包括:

4.如权利要求1所述的方法,其特征在于,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,所述方法还包括:

6.如权利要求1所述的方法,其特征在于,所述方法还...

【专利技术属性】
技术研发人员:杨俊陈宬卢冕
申请(专利权)人:第四范式北京技术有限公司
类型:发明
国别省市:

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

1