【技术实现步骤摘要】
一种基于范围分片方式的KV内存数据库存储管理方法
本专利技术涉及内存数据库
,具体提供一种基于范围分片方式的KV内存数据库存储管理方法。
技术介绍
近年来,随着动态随机存储器(DRAM)容量的上升和单位价格的下降,使大量数据在内存中的存储和处理成为可能。内存数据库(MMDB:MainMemoryDatabase,也叫主存数据库),就是将数据全部或者大部分放在内存中进行操作的数据库管理系统。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。KV内存数据库指存储KEY-VALUE类型数据的内存数据库。现有内存数据库存储方式是将分配的空间内分页,每页内顺序写入,没有范围分区的概念和机制。为节省内存空间的开销,使用锁机制实现事务的隔离级别。锁机制将临界资源的并发访问变成串行顺序访问,从而降低访问性能。
技术实现思路
本专利技术的技术任务是针对上述存在的问题,提供一种能够提升CPU缓存命中率,减少内存空间重构的次数,并能提升内存访问吞吐率的基于范围分片方式的KV内存数据库存储管理方法。为实现上述目的,本专利技术提供了如下技术方案:一种基于范围分片方式的KV内存数据库存储管理方法,包括以下步骤:S1、数据库启动时,创建第一个范围存储区,并启动一个后台线程,顺序从待处理队列中取出范围存储区,判断需要扩容、拆分或缩减,并调用相应的算法进行处理;S2、数据库插入数据时,使用新KV数据插入算法将数据插入某个范围存储 ...
【技术保护点】
1.一种基于范围分片方式的KV内存数据库存储管理方法,其特征在于:包括以下步骤:/nS1、数据库启动时,创建第一个范围存储区,并启动一个后台线程,顺序从待处理队列中取出范围存储区,判断需要扩容、拆分或缩减,并调用相应的算法进行处理;/nS2、数据库插入数据时,使用新KV数据插入算法将数据插入某个范围存储区后,判断该范围存储区是否需要扩容或拆解,若需要则将该范围存储区放入待处理队列中;/nS3、数据库删除数据时,使用KV数据删除算法将数据删除后,判断该范围存储区是否需要缩减,若需要则将该范围存储区放入待处理队列中。/n
【技术特征摘要】
1.一种基于范围分片方式的KV内存数据库存储管理方法,其特征在于:包括以下步骤:
S1、数据库启动时,创建第一个范围存储区,并启动一个后台线程,顺序从待处理队列中取出范围存储区,判断需要扩容、拆分或缩减,并调用相应的算法进行处理;
S2、数据库插入数据时,使用新KV数据插入算法将数据插入某个范围存储区后,判断该范围存储区是否需要扩容或拆解,若需要则将该范围存储区放入待处理队列中;
S3、数据库删除数据时,使用KV数据删除算法将数据删除后,判断该范围存储区是否需要缩减,若需要则将该范围存储区放入待处理队列中。
2.根据权利要求1所述的基于范围分片方式的KV内存数据库存储管理方法,其特征在于:所述新KV数据插入算法包括以下过程:
1)根据KV数据中的key值,从跳表中快速检索出对应的范围存储区;
2)确认该范围存储区的状态是否为正常,若不正常则从内存堆中分配新的KV数据大小的内存空间,将KV数据复制到内存空间中,然后将内存空间的指针存入TmpKVlist中,然后退出;如果是正常状态,则进入下一步;
3)确认范围存储区空间是否足够,若足够,则新KV数据存入ReservedKV中;如果不够,则从内存堆中分配新的KV数据大小的内存空间,将KV数据复制到内存空间中,然后将内存空间的指针存入KVlist中;
4)修改当前范围存储区存储的所有KV数据总量值,增加新KV数据的数据量。
3.根据权利要求2所述的基于范围分片方式的KV内存数据库存储管理方法,其特征在于:所述KV数据删除算法包括以下过程:
1)根据KV数据中的key值,从跳表中快速检索出对应的范围存储区;
2)确认该范围存储区的状态是否为正常,如果不是正常状态,则跳到第一步;如果正常则进入下一步;
3)将该KV数据的存储空间状态置为已删除,计算出该KV占用的存储空间,然后修改标记删除的KV数据的数据量值加上该KV数据的空间大小。
4.根据权利要求3所述的基于范围分片方式的KV内存数据库存储管理方法,其特征在于:所述扩容算法包括以下过程:
1)将该范围存储区的状态设置为扩容状态;
2)将该范围存储区中所有正常KV数据按照key值进行排序,形成链表;
3)创建新的范围存储区,key值范围与原范围存储区范围一致,状态为正常状态;
4)迭代链表,将KV数据按照顺序写入到范围存储区SortedKV空间中,增加当前范围存储区存储的所有KV数据总量的数值;
5)将新建范围存储区插入跳表中,用以快速索引出key值对应的范围存储区,并从跳表中删除旧的范围存取区;
6)逐个处理原范围存储区内TmpKVlist内KV数据,插入到对应的新范围存储区...
【专利技术属性】
技术研发人员:梁波,张晖,于暄,张炜刚,孙思清,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。