[发明专利]一种云数据库Redis的高效内存分布方法及系统在审
| 申请号: | 201910998261.X | 申请日: | 2019-10-21 |
| 公开(公告)号: | CN110750579A | 公开(公告)日: | 2020-02-04 |
| 发明(设计)人: | 刘金伟;许晓笛;赵山;刘津;张哲铭 | 申请(专利权)人: | 浪潮云信息技术有限公司 |
| 主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27 |
| 代理公司: | 37100 济南信达专利事务所有限公司 | 代理人: | 姜明 |
| 地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 数据库 数据库技术 可用性 底层数据 共享内存 内存数据 数据存储 数据故障 系统进程 持久化 分配表 云计算 加载 重启 保存 申请 进程 | ||
1.一种云数据库Redis的高效内存分布方法,其特征在于:该方法中,Redis使用shm共享内存作为数据存储,由额外的进程共同持有,同时将内存数据分配表保存到系统进程目录,改变Redis的底层数据申请及加载。
2.根据权利要求1所述的云数据库Redis的高效内存分布方法,其特征在于:该方法包括Redis进程的启动和Redis进程的退出。
3.根据权利要求2所述的云数据库Redis的高效内存分布方法,其特征在于:Redis进程的启动过程为:
1)Redis进程启动时从配置文件加载配置;
2)从配置中读取分配表是否可用,若可用,执行过程3),否则执行过程4);
3)直接读取共享内存分配表;
4)利用shm申请共享内存,启动一个共同持有的共享内存进行;
5)重新初始化一个分配表新建或覆盖已有的分配表文件。
4.根据权利要求3所述的云数据库Redis的高效内存分布方法,其特征在于:在读取共享内存分配表时,直接直接获取数据的物理内存地址并初始化相应的数据存储区域。
5.根据权利要求4所述的云数据库Redis的高效内存分布方法,其特征在于:Redis进程的退出过程为:
a)Redis收到停止信号或指令时,检查内存中是否存在用户数据,若不存在执行过程b),否则执行过程c);
b)结束关闭,退出程序;
c)检查共享内存是否存在另一个持有者的程序进程,若存在共享内存共同持有者进程,则返回执行过程b),若不存在则先启动一个共享内存进程并设置共享内存数据,等待程序启动完成后返回执行过程b)。
6.一种云数据库Redis的高效内存分布系统,其特征在于:包括Redis进程的启动模块和Redis进程的退出模块。
7.根据权利要求6的云数据库Redis的高效内存分布系统,其特征在于:所述Redis进程的启动模块的工作过程为:
1)Redis进程启动时从配置文件加载配置;
2)从配置中读取分配表是否可用,若可用,执行过程3),否则执行过程4);
3)直接读取共享内存分配表;
4)利用shm申请共享内存,启动一个共同持有的共享内存进行;
5)重新初始化一个分配表新建或覆盖已有的分配表文件。
8.根据权利要求7的云数据库Redis的高效内存分布系统,其特征在于:Redis进程的启动模块在读取共享内存分配表时,直接直接获取数据的物理内存地址并初始化相应的数据存储区域。
9.根据权利要求8的云数据库Redis的高效内存分布系统,其特征在于:所述Redis进程的退出模块的工作过程为:
a)Redis收到停止信号或指令时,检查内存中是否存在用户数据,若不存在执行过程b),否则执行过程c);
b)结束关闭,退出程序;
c)检查共享内存是否存在另一个持有者的程序进程,若存在共享内存共同持有者进程,则返回执行过程b),若不存在则先启动一个共享内存进程并设置共享内存数据,等待程序启动完成后返回执行过程b)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术有限公司,未经浪潮云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910998261.X/1.html,转载请声明来源钻瓜专利网。





