在内存中维护数据的方法和系统技术方案

技术编号:19903132 阅读:38 留言:0更新日期:2018-12-26 02:49
提供了管理内存数据的方法和系统、在内存中维护数据的方法和系统、以及与提供的方法和系统对应的计算机可读介质和计算装置。所述管理内存数据的方法包括:设置包括多个分片的数据表,其中,每个分片分别对应第一级跳表;将第一级跳表设置为用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;将第二级跳表设置为用于存储以所述数据的第二属性值为关键字且与该关键字对应的值包括所述数据的至少一个属性值的节点。根据本发明专利技术,可降低读/写数据的耗时,并可提高单位时间内同时执行的数据写入任务和/或数据查询任务的数量。

【技术实现步骤摘要】
管理内存数据及在内存中维护数据的方法和系统
本专利技术总体说来涉及内存数据管理和维护领域,更具体地讲,涉及一种管理内存数据的方法和系统、一种在内存中维护数据的方法和系统以及对应的计算机可读介质和计算装置。
技术介绍
现有的数据库包括关系型数据库和非关系型数据库。诸如MySQL和SQLServer的关系型数据库主要用于对关系型数据进行管理和维护。诸如Redis和MongoDB的非关系型数据库主要用于对非关系型数据进行管理和维护。关系型数据意指基于关系模型(RelationalModel,简称为RM)的数据。非关系型数据意指非基于关系模型的数据。为了对时间序列数据进行处理,提出了诸如InfluxDB的时间序列数据库(TimeSeriesDatabase,简称为TSDB)。为了对内存中的数据进行管理,提出了诸如VoltDB的内存数据库。然而,在需要快速处理数据和同时执行大量数据写入任务和/或数据查询任务的特定场景下,包括以上列举出的数据库的传统的数据库具有读/写数据的耗时长的问题,还具有单位时间内能够同时执行的数据写入任务和/或数据查询任务的数量少的问题。
技术实现思路
专利技术的示例性实施本文档来自技高网...

【技术保护点】
1.一种管理内存数据的方法,包括:设置包括多个分片的数据表,其中,每个分片分别对应第一级跳表;将第一级跳表设置为用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;将第二级跳表设置为用于存储以所述数据的第二属性值为关键字且与该关键字对应的值包括所述数据的至少一个属性值的节点。

【技术特征摘要】
1.一种管理内存数据的方法,包括:设置包括多个分片的数据表,其中,每个分片分别对应第一级跳表;将第一级跳表设置为用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;将第二级跳表设置为用于存储以所述数据的第二属性值为关键字且与该关键字对应的值包括所述数据的至少一个属性值的节点。2.一种在内存中维护数据的方法,包括:根据待插入的数据的第一属性值来确定包括多个分片的数据表中的与待插入的数据对应的分片,其中,每个分片分别对应第一级跳表,第一级跳表用于存储以数据的第一属性值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点;从与确定的分片对应的第一级跳表中查找以待插入的数据的第一属性值为关键字的节点;在从第一级跳表中查找到以待插入的数据的第一属性值为关键字的节点的情况下,在查找到的节点中的指针或对象所指示的第二级跳表中添加以待插入的数据的第二属性值为关键字且与该关键字对应的值包括待插入的数据的至少一个属性值的节点。3.如权利要求2所述的方法,其中,确定与待插入的数据对应的分片的步骤包括:计算与待插入的数据的第一属性值对应的哈希值;获得计算出的哈希值除以所述数据表中的分片总数所得的余数;将与获得的余数对应的分片确定为与待插入的数据对应的分片。4.如权利要求2所述的方法,其中,所述多个分片中的每个分片中存储有指示对应的第一级跳表的指针或对象。5.如权利要求2所述的方法,还包括:在未能从第一级跳表中查找到以待插入的数据的第一属性值为关键字的节点的情况下,创建第二级跳表,在第一级跳表中创建以待插入的数据的第一属...

【专利技术属性】
技术研发人员:邓龙王太泽黄亚建范晓亮
申请(专利权)人:第四范式北京技术有限公司
类型:发明
国别省市:北京,11

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

1