一种实现分布式存储的内存数据库系统及应用技术方案

技术编号:4261425 阅读:343 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现分布式存储的内存数据库系统及应用,其中,所述系统包括:接口机和多个内存数据库,所述接口机用于存储真实数据库中各个数据库表和内存数据库的对应关系,并且在接收到访问客户端的sq1请求后,根据所述sq1请求中的数据库表,将所述sq1请求分发到相应的内存数据库中;所述内存数据库用于从接口机查询得到自己负责的数据库表的信息,然后从对应的真实数据库中读入该数据库表中的数据,并且,当接收到所述接口机分发的sq1请求时,所述内存数据库根据所述接口机分发的sq1请求执行相应的查询或非查询操作。本发明专利技术通过引入接口机,实现了内存数据库的分布式存储,实现起来比较简单,并且成本比较低。

【技术实现步骤摘要】

本专利技术涉及计算机通信领域,尤其涉及内存数据库

技术介绍
现在在通信信息领域,数据库是越来越重要了。但是随着业务量的增加, 数据库的性能无法达到要求正越来越成为一个让人头疼的问题。几种主流数据库0racle、 DB2、 Sqlserver、 Sybase等,都会碰到性能无法满足要求的问题。 因为他们的数据库访问都只能做到毫秒级。对数据库进行优化对数据库访问数 率的提高的贡献最多只有30%。很多时候,都被迫修改业务流程,减少访问数据 库的次数。为了提高性能,大家都公认使用内存数据库是一种很好的方式。因为内存数 据库的访问可以提高到微秒级别。 一些公司也都开发出了自己的内存数据库产 品,如Oracle的TimesTen等。但是这些厂家的内存数据库都有如下缺点由于需要对自身数据库的sql语句原封不动的进行解析,从而造成内存数 据库的性能浪费性;只支持自身生产的数据库产品,没有通用性。
技术实现思路
鉴于上述的分析,本专利技术旨在提供一种实现分布式存储的内存数据库系统 及应用,通过引入接口机,实现了内存数据库的分布式存储。 本专利技术的目的主要是通过以下技术方案实现的本专利技术提供了一种实现分布式存储的 存数据库系统,所述系统包括接口机和多个内存数据库,其中,所述接口机,用于存储真实数据库中各个数据库表和内存数据库的对应关系,并且在接收到访问客户端的sql请求后,根据所述sql请求中的数据库表, 将所述sql请求分发到相应的内存数据库中;所述内存数据库,用于从接口机查询得到自己负责的数据库表的信息,然 后从对应的真实数据库中读入该数据库表中的数据,并且,当接收到所述接口 机分发的sql请求时,所述内存数据库根据所述接口机分发的sql请求执行相应 的查询或非查询操作。进一步地,所述系统还包括控制台,用于根据用户的要求对整个内存数据库系统进行配置,并通过和 接口机交互使配置生效。进一步地,所述内存数据库还包括 定时器,用于设定时间间隔;同步单元,用过根据定时器设定的时间间隔,定时读出发生改动变化的数 据内容,并将其同步到相应的真实数据库中。本专利技术还提供了 一种利用上述内存数据库系统实现数据分布式存储的方 法,所述方法包括步骤A:内存数据库从接口机查询得到自己负责的数据库表的信息,然后 从对应的真实数据库中读入该数据库表中的数据;步骤B:当接口机在接收到访问客户端的sql请求后,根据所述sql请求中 的数据库表及所述接口机存储的真实数据库中各个数据库表和内存数据库的对 应关系,将所述sql请求分发到相应的内存数据库中;步骤C:所述内存数据库根据接口机收分发得到的sql请求,对内存数据库 中的数据进行查询或非查询操作。进一步地,所述步骤C具体包括所述内存数据根据接口机分发得到的sql请求进行判断如果是查询操作,则返回查询到的数据集,如果非查询操作,则对数据进行相应的删除、修改、添加操作,并将将数据进行的删除、修改、添加操作的具体信息写入文件进行记录。进一步地,所述方法还包括根据设定的时间间隔,定时读出经过非查询操作发生变化的数据,并将其 同步到相应的真实数据库中。进一步地,所述步骤C中,当所述内存数据库收到接口机分发的多个sql 请求时,对所述sql请求依次串行处理。进一步地,所述sql请求至少包括以下字段操作类型、数据库表名、操作的具体信息、操作的流水号。本专利技术有益效果如下本专利技术通过引入接口机,实现了内存数据库的分布式存储,实现起来比较 筒单,并且成本比较低。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明 书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可 通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获3曰付》附图说明图1为本专利技术实施例所述系统的结构示意图; 图2为本专利技术实施例所述方法的流程示意图3为本专利技术实施例所述方法中,内存数据库和真实数据库同步过程的流 程示意图。具体实施例方式下面结合附图来具体描述本专利技术的优先实施例,其中,附图构成本申请一部分,并与本专利技术的实施例一起用于阐释本专利技术的原理。首先结合附图对本专利技术实施例所述内存数据库系统进行详细说明。如图1所示,图l为本专利技术实施例所述内存数据库系统的结构示意图,具体可以包括接口机、控制台、多个内存数据库,下面对各个部分进行详细阐述。接口机,主要负责sql消息的分发、存储过程的实现和整个内存数据库系统 的管理;具体的说就是,所述接口机中预先存储有真实数据库的多个数据库表 和内存数据库的对应关系,当所述接口机在接收到访问客户端的sql请求后,根 据该sql请求中的涉及到的数据库表,将该sql请求分发到相应的内存数据库。内存数据库,多个内存数据库对应多个真实数据库,其主要负责真实数据 库的多张数据库表的访问,即当内存数据库启动的时候,所述内存数据库通过 从接口机存储的真实数据库的多个数据库表和内存数据库的对应关系进行查 询,得到自己负责的数据库表的信息,然后从这些数据库表对应的真实数据库 中读入这些数据库表的数据内容;并且,当所述内存数据库收到接口机分发的 sql请求后,根据该sql请求的信息进行判断如果是查询操作,则返回查询需 要的数据集,如果是非查询操作,则根据sql请求的操作类型对数据作相应的更改,然后将该数据的修改内容以一定格式写入文件。其中,所述sql消息至少包括如下字段1、操作类型,如添加、删除、 修改、查询、执行存储过程;2、数据库表名;3、操作的具体信息添加、删 除、修改、查询、执行存储过程的时候所需要的信息,如添加的时候,添加的 字段的值,删除的时候删除记录的特征等;4、操作的流水号,即每次操作被赋 予的一个ID。控制台,用户通过所述控制台对整个内存数据库系统进行配置,并通过和 接口机交互使配置生效;配置内容包括内存数据库的IP、将真实数据库中的哪 些数据库表的信息提取进内存数据库系统进行管理、以及一些其他的相关参数。下面结合附图对利用本专利技术实施例所述系统实现数据分布式存储的方法进 4亍详细i兌明。如图2所示,图2为所述方法的流程示意图,具体可以包括以下步骤 步骤201:接口机收到访问客户端的sql请求;步骤202:接口机根据及时到的sql请求中涉及到的数据库表分发sql请求 到内存数据库;步骤203:收到sql请求的内存数据库判断该sql请求是否是查询操作,如 果是查询操作,执行步骤206;如果是非查询操作,执行步骤204;步骤204:对内存数据库中的数据进行相应的修改、删除、添加等操作,然 后将数据进行的删除、修改、添加操作的具体信息写入预定的文件进行记录, 然后执行步骤205;步骤205:内存数据库将进行非查询操作的结果发送给接口机;步骤206:根据sql请求中查询内容在内存数据库中查询相应的数据,并将查询到的结果返回给接口机;步骤207:接口机将接收到的查询操作的结果或者非查询操作的结果返回给 访问客户端。本专利技术实施例所述方法还包括内存数据库定时将发生修改、删除、添加 等非查询操作的数据通过访问真实数据库,同步到真实数据库中,具体如图3 所示,可以包括以下步骤步骤301:内存数据库根据sql请求的非查询操作,对其中的数据进行了修 改、删除或添加等操作;步骤302:内存数据库将发本文档来自技高网...

【技术保护点】
一种实现分布式存储的内存数据库系统,其特征在于,包括:接口机和多个内存数据库,其中, 所述接口机,用于存储真实数据库中各个数据库表和内存数据库的对应关系,并且在接收到访问客户端的sql请求后,根据所述sql请求中的数据库表,将所述sq l请求分发到相应的内存数据库中; 所述内存数据库,用于从接口机查询得到自己负责的数据库表的信息,然后从对应的真实数据库中读入该数据库表中的数据,并且,当接收到所述接口机分发的sql请求时,所述内存数据库根据所述接口机分发的sql请求执 行相应的查询或非查询操作。

【技术特征摘要】
1、一种实现分布式存储的内存数据库系统,其特征在于,包括接口机和多个内存数据库,其中,所述接口机,用于存储真实数据库中各个数据库表和内存数据库的对应关系,并且在接收到访问客户端的sql请求后,根据所述sql请求中的数据库表,将所述sql请求分发到相应的内存数据库中;所述内存数据库,用于从接口机查询得到自己负责的数据库表的信息,然后从对应的真实数据库中读入该数据库表中的数据,并且,当接收到所述接口机分发的sql请求时,所述内存数据库根据所述接口机分发的sql请求执行相应的查询或非查询操作。2、 根据权利要求1所述的系统,其特征在于,所述系统还包括 控制台,用于根据用户的要求对整个内存数据库系统进行配置,并通过和接口机交互使配置生效。3、 根据权利要求1或2的系统,其特征在于,所述内存数据库还包括 定时器,用于设定时间间隔;同步单元,用过根据定时器设定的时间间隔,定时读出发生改动变化的数 据内容,并将其同步到相应的真实数据库中。4、 利用权利要求1所述的内存数据库系统实现数据分布式存储的方法,所 述方法包括步骤A:内存数据库从接口机查询得到自己负责的数据库表的信息,然后 从对应的真实数据库中读入该数据...

【专利技术属性】
技术研发人员:冯宇翔
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1