[发明专利]处理数据库操作请求的方法和设备有效
申请号: | 201210511128.5 | 申请日: | 2012-12-03 |
公开(公告)号: | CN103020193A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 朱超;陈超;桂勇哲;代兵;王超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市中伦律师事务所 11410 | 代理人: | 程义贵;张思悦 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 数据库 操作 请求 方法 设备 | ||
技术领域
本发明涉及数据库技术,尤其涉及一种处理数据库操作请求的方法和设备。
背景技术
在计算机时代,出现了专门用于存储、管理数据的数据库系统,而且数据库系统在网络应用上日益普及。一般来说,数据库系统中会包括一个或者多个数据库,专门用于存储某个应用的数据。在关系型数据库中,数据一般分布在多张数据表中,每张数据表存在某个方面的数据。例如在一个常用的网络应用的数据库中,有一张数据表存储用户的基本信息,有另一张数据表存储用户的登录信息等。
随着时代的发展和技术的进步,目前人类社会每天产生的数据量相当惊人,海量数据造成关系型数据库(例如诸如MySQL)的数据表容量越来越大,一张表的条目(记录)数可达几千万甚至上亿条。数据库在对数据表进行处理时,需要锁表、操作、解锁等几个阶段,一张数据表的记录数过多,会造成很多操作同时等待解锁,造成数据库处理大型数据表时显得力不从心,性能下降严重。为了提高数据库操作数据表的性能,有必要将逻辑上的一张较大的表拆分成物理上的多张较小的子表。
最常见的分表方案是在表结构里设置一个特殊的字段,以下称其为分表字段,其类型一般为整数,也可能为字符串等等。不同的记录根据分表字段值的不同,使用哈希等方式,将分表字段值与某个编号的子表关联。此方案最大的缺点是需要应用编写人员自己控制数据与具体的子表之间的对应关系,应用编写人员必须对数据库底层子表的实现方式非常了解,在编写具体的业务逻辑的同时,还要分心于逻辑表与物理子表的关系处理上,开发效率受到严重影响。其次,此方案的分表策略定得过于死板,不够灵活。如果要调整子表数量或是修改分表字段值与子表序号的对应关系,则应用编写人员必须也对代码作出相应修改,才能使应用在新的分表架构上正确运行,应用系统的维护成本很高。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的分配数据库操作请求的方法和设备。
依据本发明的一个方面,提供了一种处理数据库操作请求的方法,其包括步骤:接收对于数据库的操作请求;解析该操作请求,以获取该操作请求中的第一数据表名;根据分表信息解析该操作请求,以获取该操作请求中与该第一数据表名相关联的分表字段以及与该分表字段相对应的字段值,其中该分表信息包括要进行分表的数据表的数据表名以及与该数据表名相关联的分表字段;根据该分表信息和所获取的分表字段相对应的字段值,将该操作请求中的第一数据表名修改为第二数据表名;以及将修改后的操作请求发送给数据库服务器。
可选地,根据本发明的实施例的处理数据库操作请求的方法还包括步骤:如果该操作请求中不存在第一数据表名,则将该操作请求发送给数据库服务器。
可选地,根据本发明的实施例的处理数据库操作请求的方法还包括步骤:在该根据分表信息解析操作请求的步骤中,如果该第一数据表名不在该分表信息中,则将该操作请求发送给数据库服务器;如果该第一数据表名在该分表信息中、但未从该操作请求中解析出与该第一数据表名相关联的分表字段及该分表字段相对应的字段值,则返回错误提示。
可选地,在根据本发明的实施例的处理数据库操作请求的方法中,该分表信息还包括要进行分表的数据表的子表数量,该将操作请求中的第一数据表名修改为第二数据表名的步骤还包括:根据与该分表字段相对应的字段值以及该数据表的子表数量,将该第一数据表名修改为第二数据表名。
可选地,在根据本发明的实施例的处理数据库操作请求的方法中,该第二数据表名对应于第一数据表分表之后生成的多个第二数据表之一,其包括第一数据表名以及第二数据表标识。
可选地,在根据本发明的实施例的处理数据库操作请求的方法中,该操作请求包括数据库程序语言语句。
可选地,在根据本发明的实施例的处理数据库操作请求的方法中,该数据库程序语言语句是结构化查询语言SQL语句,该数据库是MySQL数据库。
依据本发明的另一方面,提供了一种处理数据库操作请求的设备,包括:应用程序接口,适于从应用服务器接收对于数据库的操作请求;解析器,适于解析该操作请求,以获取该操作请求中的第一数据表名,并且根据分表信息解析该操作请求,以获取该操作请求中与该第一数据表名相关联的分表字段以及与该分表字段相对应的字段值,其中该分表信息包括要进行分表的数据表的数据表名以及与该数据表名相关联的分表字段;操作请求修改器,适于根据该分表信息和所获取的分表字段相对应的字段值,将该操作请求中的第一数据表名修改为第二数据表名;以及数据库接口,适于将修改后的操作请求发送给数据库服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210511128.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:二级减速后驱动桥总成
- 下一篇:移动终端及其快捷文件管理方法