[发明专利]一种数据库访问的方法及数据库映射系统有效
申请号: | 200710076162.3 | 申请日: | 2007-06-25 |
公开(公告)号: | CN101082928A | 公开(公告)日: | 2007-12-05 |
发明(设计)人: | 华有为 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/00 |
代理公司: | 深圳中一专利商标事务所 | 代理人: | 张全文 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 访问 方法 映射 系统 | ||
技术领域
本发明属于数据库技术领域,尤其涉及一种数据库访问的方法及数据库映射系统。
背景技术
数据库是指长期储存在计算机内的、有组织的、可共享的数据的集合,广泛应用于计算机、网络通信等领域为各种用户提供数据共享。目前,实现数据库访问的方法主要有两种:
方法之一:客户端直接编辑标准的SQL语句(数据库访问语句),并将编辑后的SQL语句通过网络传输至服务器端的数据库系统,服务器端的数据库系统对接收到的SQL语句进行解释、编译、执行,并将最终的执行结果传输至客户端。其中,服务器端和客户端的数据传输协议可采用多种方式,如传输控制协议/网际互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)、管道、七号信令等。
在上述数据库访问方法中,客户端用户通过网络访问服务器端的数据库,使客户端用户访问数据库的速率受到网络速率的限制,而只能达到十万级别的数据库访问速率,无法满足用户对数据库访问的实时性的需求。
方法之二:客户端通过中间件来访问服务器端的数据库。中间件技术可以为客户端用户提供一些可以调用的固定接口,中间件根据客户端用户提供的关键字如表名、字段名等动态组装成标准的SQL语句,并将组装的SQL语句通过网络传输至服务器端。
上述方法将客户端用户在访问数据库时,重新生成标准的SQL语句的操作交给中间件完成,简化了客户端用户的数据库访问操作,但是通过网络传输数据同样会使数据库的访问速率受到网络速率的限制,而只能达到十万级别的数据库访问速率,同样无法满足用户对数据库访问的实时性的需求。
发明内容
本发明实施例的目的在于提供一种数据库访问的方法,旨在解决现有技术中,在访问数据库时,需要通过网络在服务器端和客户端传输数据,从而使数据库访问速率受到网络速率的限制,无法达到用户对数据库访问的实时性的需求的问题。
本发明实施例是这样实现的,一种数据库访问的方法,所述方法包括下述步骤:
根据服务器端数据库中的每条记录的关键字段值按照预先配置的哈希函数计算所述记录的内存映射地址,所述哈希函数为:内存映射地址=记录中关键字段值MOD地址素数;
为所述服务器端数据库中的每条记录添加映射时间戳;
判断所述客户端共享内存是否已满,如果所述客户端共享内存已满,则淘汰所述客户端共享内存中的所述映射时间戳最早的记录;
将所述服务器端数据库中的每条记录映射至客户端共享内存的所述内存映射地址中;
客户端通过直接访问所述共享内存来访问所述服务器端数据库。
本发明实施例的另一目的在于提供一种数据库映射系统,所述系统包括:
内存映射地址计算模块,用于根据服务器端数据库中的每条记录的关键字段值按照预先配置的哈希函数计算所述记录的内存映射地址,所述哈希函数为:内存映射地址=记录中关键字段值MOD地址素数;
映射时间戳添加模块,用于为所述服务器端数据库中的每条记录添加映射时间戳;
内存空间判断模块,用于判断所述客户端共享内存是否已满;以及
记录淘汰模块,用于在所述客户端共享内存已满时,淘汰所述客户端共享内存中的所述映射时间戳最早的记录;以及
数据库映射模块,用于将所述服务器端数据库中的每条记录映射至客户端共享内存的所述内存映射地址中。
在本发明实施例中,通过将服务器端数据库中的各条记录映射至客户端共享内存中,从而使客户端用户不需要通过网络访问服务器端的数据库,直接通过访问客户端共享内存来访问数据库,使数据库访问不受网络速率的限制,可以达到百万级别的数据库访问速率,满足用户对数据库访问的实时性的需求。
附图说明
图1是本发明实施例提供的数据库访问的方法的实现流程图;
图2是本发明实施例提供的数据库访问的方法的另一实现流程图;
图3是本发明实施例提供的采用数据库访问方法查找记录的实现流程图;
图4是本发明实施例提供的数据库映射系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过将服务器端的数据库表映射到客户端的共享内存中,从而使客户端用户达到百万级别的数据库访问速率,以满足客户端用户对数据库访问的实时性的需求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710076162.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:锂高分子电池Z形极芯自动贴片机
- 下一篇:网络频宽监控调整系统