[发明专利]实现数据库实时操作的方法和设备有效
| 申请号: | 201310648091.5 | 申请日: | 2013-12-04 |
| 公开(公告)号: | CN103593485B | 公开(公告)日: | 2017-06-16 |
| 发明(设计)人: | 郑锦荣;吴肇宣;娄振林 | 申请(专利权)人: | 网易传媒科技(北京)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京信远达知识产权代理事务所(普通合伙)11304 | 代理人: | 赵百令,刘大玲 |
| 地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 实现 数据库 实时 操作 方法 设备 | ||
1.一种方法,包括:
在服务器上的操作系统共享内存中创建数据库;
响应于对所述数据库的操作的请求,从所述操作系统共享内存中确定所述操作所针对的内存块;
对确定的内存块进行操作;所述操作包括写入数据操作和读取数据操作;当所述操作为写入数据操作时,使用写入线程按照HashMap数据结构将数据写入到确定的内存块中;当所述操作为读取数据操作时,使用读取线程按照HashMap数据结构从确定的内存块中读取数据;所述写入数据操作的方式为:对要写入的键Key进行哈希运算,得到所述HashMap数据结构中桶Bucket的位置;遍历该Bucket对应的节点列表,查看要写入的Key是否存在,如果不存在,则将要写入的Key添加到该节点列表的末尾,如果存在,则替换该Key的值Value;所述读取数据操作的方式为:对要读取的Key进行哈希运算,得到所述HashMap数据结构中Bucket的位置;遍历该Bucket对应的节点列表,从该节点列表中查找要读取的Key,返回要读取的Key的Value;
将所述操作系统共享内存中的数据映射到所述服务器上的磁盘中;或者,将所述操作系统共享内存中的数据映射到所述服务器上的操作系统内存文件中,将所述操作系统内存文件中的数据备份到所述服务器上的磁盘中。
2.根据权利要求1所述的方法,其中,用于创建所述数据库的所述操作系统共享内存的内存地址在运行期间不被操作系统释放且回收。
3.根据权利要求2所述的方法,还包括:
当所述操作系统共享内存中被占用的内存块空闲时,将空闲的内存块对应的内存地址放入预设列表中。
4.根据权利要求3所述的方法,其中,所述预设列表中的内存地址对应的内存块可以被重新用于保存所述数据库的数据。
5.根据权利要求4所述的方法,其中,当所述预设列表中的内存地址的个数大于或者等于2时,所述预设列表中的内存地址对应的内存块才被重新用于保存所述数据库的数据。
6.根据权利要求3所述的方法,其中,所述将空闲的内存块对应的内存地址放入预设列表中包括:
根据内存块的大小,将内存块对应的内存地址放入到相应的预设列表中,使得大小相同的内存块对应的内存地址放入到同一个预设列表中,大小不同的内存块对应的内存地址放入到不同的预设列表中。
7.一种设备,包括:
数据库创建单元,用于在服务器上的操作系统共享内存中创建数据库;
内存块确定单元,用于响应于对所述数据库的操作的请求,从所述操作系统共享内存中确定所述操作请求所针对的内存块;
操作单元,用于对确定的内存块进行操作,所述操作包括写入数据操作和读取数据操作;当所述操作为写入数据操作时,所述操作单元配置为:使用写入线程按照HashMap数据结构将数据写入到确定的内存块中;当所述操作为读取数据操作时,所述操作单元配置为:使用读取线程按照HashMap数据结构从确定的内存块中读取数据;所述写入数据操作的方式为:对要写入的键Key进行哈希运算,得到所述HashMap数据结构中桶Bucket的位置;遍历该Bucket对应的节点列表,查看要写入的Key是否存在,如果不存在,则将要写入的Key添加到该节点列表的末尾,如果存在,则替换该Key的值Value;所述读取数据操作的方式为:对要读取的Key进行哈希运算,得到所述HashMap数据结构中Bucket的位置;遍历该Bucket对应的节点列表,从该节点列表中查找要读取的Key,返回要读取的Key的Value;
第一映射单元,用于将所述操作系统共享内存中的数据映射到所述服务器上的磁盘中;
第二映射单元,用于将所述操作系统共享内存中的数据映射到所述服务器上的操作系统内存文件中,将所述操作系统内存文件中的数据备份到所述服务器上的磁盘中。
8.根据权利要求7所述的设备,其中,用于创建所述数据库的所述操作系统共享内存的内存地址在运行期间不被操作系统释放且回收。
9.根据权利要求8所述的设备,还包括:
内存块管理单元,用于当所述操作系统共享内存中被占用的内存块空闲时,将空闲的内存块对应的内存地址放入预设列表中。
10.根据权利要求9所述的设备,其中,
所述预设列表中的内存地址对应的内存块可以被重新用于保存所述数据库的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易传媒科技(北京)有限公司,未经网易传媒科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310648091.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:飞机引擎防鸟平安罩
- 下一篇:多运动模式四足机器人





