[发明专利]管理内存数据及在内存中维护数据的方法和系统在审
| 申请号: | 201910973093.9 | 申请日: | 2018-07-06 |
| 公开(公告)号: | CN110704194A | 公开(公告)日: | 2020-01-17 |
| 发明(设计)人: | 邓龙;王太泽;黄亚建;范晓亮 | 申请(专利权)人: | 第四范式(北京)技术有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 11286 北京铭硕知识产权代理有限公司 | 代理人: | 田方;朱志玲 |
| 地址: | 100085 北京市海淀区上*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 跳表 管理内存 第一级 存储 计算机可读介质 计算装置 数据查询 维护数据 写数据 耗时 写入 指针 | ||
1.一种管理内存数据的方法,包括:
设置包括多个分片的数据表,其中,每个分片分别对应第一级跳表;
将第一级跳表设置为用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;
将第二级跳表设置为用于存储以所述数据的第二属性值为关键字且与该关键字对应的值包括所述数据的至少一个属性值的节点。
2.一种在内存中维护数据的方法,包括:
根据待插入的数据的第一属性值来确定包括多个分片的数据表中的与待插入的数据对应的分片,其中,每个分片分别对应第一级跳表,第一级跳表用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;
从与确定的分片对应的第一级跳表中查找以待插入的数据的第一属性值为关键字的节点;
在从第一级跳表中查找到以待插入的数据的第一属性值为关键字的节点的情况下,在查找到的节点中的指针或对象所指示的第二级跳表中添加以待插入的数据的第二属性值为关键字且与该关键字对应的值包括待插入的数据的至少一个属性值的节点。
3.如权利要求2所述的方法,其中,确定与待插入的数据对应的分片的步骤包括:
计算与待插入的数据的第一属性值对应的哈希值;
获得计算出的哈希值除以所述数据表中的分片总数所得的余数;
将与获得的余数对应的分片确定为与待插入的数据对应的分片。
4.如权利要求2所述的方法,其中,所述多个分片中的每个分片中存储有指示对应的第一级跳表的指针或对象。
5.如权利要求2所述的方法,还包括:
在未能从第一级跳表中查找到以待插入的数据的第一属性值为关键字的节点的情况下,创建第二级跳表,在第一级跳表中创建以待插入的数据的第一属性值为关键字且以指示创建的第二级跳表的指针或对象为与该关键字对应的值的节点,并在创建的第二级跳表中添加以待插入的数据的第二属性值为关键字且与该关键字对应的值包括待插入的数据的所述至少一个属性值的节点。
6.一种在内存中维护数据的系统,包括:
分片确定单元,用于根据待插入的数据的第一属性值来确定包括多个分片的数据表中的与待插入的数据对应的分片,其中,每个分片分别对应第一级跳表,第一级跳表用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;
查找单元,用于从与确定的分片对应的第一级跳表中查找以待插入的数据的第一属性值为关键字的节点;
数据添加单元,用于在从第一级跳表中查找到以待插入的数据的第一属性值为关键字的节点的情况下,在查找到的节点中的指针或对象所指示的第二级跳表中添加以待插入的数据的第二属性值为关键字且与该关键字对应的值包括待插入的数据的至少一个属性值的节点。
7.一种计算机可读介质,其中,在所述计算机可读介质上记录有用于执行如权利要求1所述的方法的计算机程序。
8.一种计算装置,包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行如权利要求1所述的方法。
9.一种计算机可读介质,其中,在所述计算机可读介质上记录有用于执行如权利要求2至5中的任一项权利要求所述的方法的计算机程序。
10.一种计算装置,包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行如权利要求2至5中的任一项权利要求所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于第四范式(北京)技术有限公司,未经第四范式(北京)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910973093.9/1.html,转载请声明来源钻瓜专利网。





