[发明专利]实现数据库实时操作的方法和设备有效
| 申请号: | 201310648091.5 | 申请日: | 2013-12-04 |
| 公开(公告)号: | CN103593485B | 公开(公告)日: | 2017-06-16 |
| 发明(设计)人: | 郑锦荣;吴肇宣;娄振林 | 申请(专利权)人: | 网易传媒科技(北京)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京信远达知识产权代理事务所(普通合伙)11304 | 代理人: | 赵百令,刘大玲 |
| 地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 实现 数据库 实时 操作 方法 设备 | ||
技术领域
本发明的实施方式涉及数据库领域,更具体地,本发明的实施方式涉及实现数据库实时操作的方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
在一个典型的实时报价应用系统,如股票行情系统中,位于客户端的用户希望查看到最新的价格数据。在这样的系统中,需要用一个数据库存储价格数据。同时,还需要实现对价格数据的“实时性操作”。
所谓的“实时性操作”一般是指,快速地将最新的价格数据写入数据库中以替换旧的价格数据,以及快速地将价格数据从数据库中读取出来提供给客户端,使得读取的数据与写入的数据之间最匹配。
在现有技术中,已经出现一些类型的数据库。如,关系型数据库和内存数据库。其中,关系型数据库是将数据保存在磁盘上进行操作的数据库,而内存数据库是将数据保存在内存中进行操作的数据库。
发明内容
但是,本发明人在研究过程中发现,在现有技术中,无论是关系型数据库,还是内存数据库,对于写入进程和读取进程而言,都需要有自己的一个内存空间。当写入进程写入数据时,是将数据从自己的内存空间中转移到内存或磁盘中,当读取进程读取数据时,是将数据从内存或磁盘中转移到自己的内存空间中。
因此依照现有技术,当对上述数据库进行操作时,由于需要经历数据的转移过程,即,数据从内存空间转移到内存或磁盘的过程,以及数据从内存或磁盘转移到内存空间的过程,而转移过程本身需要占用一定时间,因此,无法有效保障“实时性操作”要求。
另外,转移过程中所使用的内存空间也会占用系统资源。
为此,非常需要一种改进的实现数据库实时操作的方法和设备,以解决现有技术中对数据库的操作无法有效保障“实时性操作”这一技术问题。进一步地,也需要减少在对数据库实时操作过程所占用的系统资源。
在本上下文中,本发明的实施方式期望提供一种实现数据库实时操作的方法和设备。
在本发明实施方式的第一方面中,提供了一种实现数据库实时操作的方法,包括:在服务器上的操作系统共享内存中创建数据库;响应于对所述数据库的操作的请求,从所述操作系统共享内存中确定所述操作所针对的内存块;对确定的内存块进行操作。
优选地,所述操作包括写入数据操作和读取数据操作。
优选地,所述方法还包括:将所述操作系统共享内存中的数据映射到所述服务器上的磁盘中。
优选地,所述方法还包括:将所述操作系统共享内存中的数据映射到所述服务器上的操作系统内存文件中。
优选地,用于创建所述数据库的所述操作系统共享内存的内存地址在运行期间不被操作系统释放且回收。
优选地,所述方法还包括:当所述操作系统共享内存中被占用的内存块空闲时,将空闲的内存块对应的内存地址放入预设列表中。
优选地,所述预设列表中的内存地址对应的内存块可以被重新用于保存所述数据库的数据。
优选地,当所述预设列表中的内存地址的个数大于或者等于2时,所述预设列表中的内存地址对应的内存块才被重新用于保存所述数据库的数据。
优选地,所述将空闲的内存块对应的内存地址放入预设列表中包括:根据内存块的大小,将内存块对应的内存地址放入到相应的预设列表中,使得大小相同的内存块对应的内存地址放入到同一个预设列表中,大小不同的内存块对应的内存地址放入到不同的预设列表中。
优选地,所述对确定的内存块进行操作包括:按照HashMap数据结构对确定的内存块进行操作。
优选地,当所述操作为写入数据操作时,使用单线程将数据写入到确定的内存块中。
优选地,当所述操作为读取数据操作时,可以使用多线程从确定的内存块中读取数据。
在本发明实施方式的第二方面中,提供了一种实现数据库实时操作的设备,包括:数据库创建单元,用于在服务器上的操作系统共享内存中创建数据库;内存块确定单元,用于响应于对所述数据库的操作的请求,从所述操作系统共享内存中确定所述操作请求所针对的内存块;操作单元,用于对确定的内存块进行操作。
优选地,所述操作包括写入数据操作和读取数据操作。
优选地,所述设备还包括:第一映射单元,用于将所述操作系统共享内存中的数据映射到所述服务器上的磁盘中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易传媒科技(北京)有限公司,未经网易传媒科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310648091.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:飞机引擎防鸟平安罩
- 下一篇:多运动模式四足机器人





