[发明专利]一种多进程访问内存数据库系统在审
申请号: | 201510701355.8 | 申请日: | 2015-10-26 |
公开(公告)号: | CN105205178A | 公开(公告)日: | 2015-12-30 |
发明(设计)人: | 周盛宽 | 申请(专利权)人: | 北京美数信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100124 北京市朝阳区百子湾西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 访问 内存 数据库 系统 | ||
技术领域
本发明涉及一种内存数据库系统,特别是涉及一种多进程访问内存数据库系统。
背景技术
现有数据库分为关系型和非关系型数据库。关系型数据库便于存储结构化数据,支持复杂查询和数据分析,但是查询速度较慢。
随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
非关系型数据库可存取非结构化数据,速度相对关系数据库有较大提升,但是高并发的情况下依然不能满足高速存取的效率问题。
发明内容
本发明的目的是提出一种低延时、高并发、高吞吐的多进程访问内存数据库系统,已解决高并发的情况下高效、高速地存储数据。
为实现上述目的,本发明提供了一种多进程访问内存数据库系统,包括应用程序进行访问操作的统一访问接口、扩展数据库存储引擎的存储结构单元,所述存储结构单元中的内存分配使用共享内存分配管理,所述系统在统一访问接口中对数据预先进行分片处理;
所述分片处理包括如下步骤:获得键,并对键计算哈希数,将所得哈希数对分片数量取余,结果即为键的分片序号,之后系统根据所述分片序号获取分片。
优选地,所述统一访问接口包括插入接口、删除接口、更新接口。
优选地,所述存储结构单元至少包括固定大小的哈希、带有键描述的哈希、同一位置排序的哈希、带有过期时间的哈希。
优选地,所述系统在执行涉及插入、删除、更新的操作时,分别通过模拟锁服务进行。
优选地,所述系统在哈希结构的每个哈希位置通过原子操作模拟锁服务。
优选地,所述通过原子操作模拟锁服务至少包括如下步骤:所述系统首先获取哈希位置的互斥锁,并且在获取锁服务的时候,所述系统依据原子操作函数将每个哈希位置包含的整数进行置位;
之后原子操作函数先返回数值,然后进行或运算;
若返回数值为0,则获得锁成功;若返回数值为1,则放弃时间片,并重复之前的操作,直到获得锁。
本发明的另一目的在于提供一种多进程访问内存数据库的方法,所述方法包括如下步骤:应用程序通过统一访问接口进行访问操作,并在统一访问接口中对数据预先进行分片处理;
所述分片处理包括如下步骤:获得键,并对键计算哈希数,将所得哈希数对分片数量取余,结果即为键的分片序号,之后根据所述分片序号获取分片;
之后通过扩展数据库存储引擎的存储结构单元进行数据管理,并且所述存储结构单元中的内存分配使用共享内存分配管理。
优选地,所述统一访问接口包括插入接口、删除接口、更新接口;所述存储结构单元至少包括固定大小的哈希、带有键描述的哈希、同一位置排序的哈希、带有过期时间的哈希。
优选地,所述存储结构单元在执行涉及插入、删除、更新的操作时,分别通过模拟锁服务进行,并且在哈希结构的每个哈希位置通过原子操作模拟锁服务。
优选地,所述通过原子操作模拟锁服务至少包括如下步骤:首先获取哈希位置的互斥锁,并且在获取锁服务的时候,依据原子操作函数将每个哈希位置包含的整数进行置位;
之后原子操作函数先返回数值,然后进行或运算;
若返回数值为0,则获得锁成功;若返回数值为1,则放弃时间片,并重复之前的操作,直到获得锁。
基于上述技术方案,本发明的优点是:
本发明具有的统一访问接口不仅提高了程序的扩展性,在应用程序使用过程中可根据不同的需求对存储结构单元直接进行修改替换而不必修改应用程序接口,可以避免大量的繁琐工作,降低耦合性。本系统采用纯内存操作,在写入过程中,直接将操作记录追加到文件的末尾处,有效地提高了写入效率,降低延迟。
本系统在执行插入、删除、更新等涉及内存修改的操作时需要获得模拟锁服务,而在不涉及内存修改的操作过程如查询则不需要获得锁服务,所以本系统在插入、删除、更新过程中,查询可以同时进行,没有互斥关系,有效地提升了系统效率。
进一步,本系统是一个低延时、高并发、高吞吐的数据管理系统,单次查询延时小于1ms,每秒插入查询次数可达50万次。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京美数信息科技有限公司,未经北京美数信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510701355.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种气动直通式隔膜阀
- 下一篇:HBase二级索引存储和查询系统及其查询方法