[发明专利]一种自动分库的数据库执行方法及系统无效
申请号: | 201110375030.7 | 申请日: | 2011-11-23 |
公开(公告)号: | CN102541997A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 胡加明 | 申请(专利权)人: | 苏州阔地网络科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 江苏省苏州市苏州工业园*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动 数据库 执行 方法 系统 | ||
技术领域
本发明属于网络通信领域,尤其涉及一种自动分库的数据库执行方法及系统。
背景技术
于现有的企业平台通信软件中,所有企业共用一个通信服务器,且通信服务器在保存各个企业用户人员的聊天记录、查询用户资料等信息时,采用的是同一个数据库。如此,会带来大量的数据库执行操作。而且,在业务逻辑繁忙时,会导致数据库执行超时,业务逻辑处理失败,从而影响用户体验。
发明内容
本发明提供一种自动分库的数据库执行方法及系统,以解决上述问题。
本发明提供一种自动分库的数据库执行方法。上述方法包括以下步骤:分库装置根据用户编号确定所述用户编号对应的数据库编号;分库装置判断数据库编号与SQL执行对象的对照表中是否存在所述数据库编号;若对照表中存在所述数据库编号,则分库装置于获得所述数据库编号对应的SQL执行对象后,封装所述SQL执行对象及待执行的SQL语句为待执行对象,并将所述待执行对象放入任务队列中由队列调度装置调度执行。
本发明还提供一种自动分库的数据库执行系统,包括分库装置以及队列调度装置。分库装置连接队列调度装置。其中,分库装置用于根据用户编号确定所述用户编号对应的数据库编号,并用于判断数据库编号与SQL执行对象的对照表中是否存在所述数据库编号。若对照表中存在所述数据库编号,则分库装置于获得所述数据库编号对应的SQL执行对象后,用于封装所述SQL执行对象及待执行的SQL语句为待执行对象,并将所述待执行对象放入任务队列中由队列调度装置调度执行。
相较于先前技术,根据本发明提供的自动分库的数据库执行方法及系统,分库装置根据用户编号确定其对应的数据库编号。如此,定量数目的用户可以共用一个数据库,从而将大量的数据库操作压力分解到多个数据库,提高数据库执行效率。此外,若对照表中存在所述数据库编号,则分库装置于获得所述数据库编号对应的SQL执行对象后,封装所述SQL执行对象及待执行的SQL语句为待执行对象,并将所述待执行对象放入任务队列中由队列调度装置调度执行。如此,通过队列调度装置进行调度执行,有利于数据库负载均衡,从而提高数据库的稳定性和执行效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的自动分库的数据库执行方法的流程图;
图2所示为根据本发明的较佳实施例提供的自动分库的数据库执行系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的自动分库的数据库执行方法的流程图。如图1所示,本发明的较佳实施例提供的自动分库的数据库执行方法包括101~103。
于步骤101,分库装置根据用户编号确定所述用户编号对应的数据库编号。具体而言,分库装置根据用户编号计算得到其对应的数据库编号的方式为:将用户编号整除预设值后取整得到所述用户编号对应的数据库编号。例如,当预设值为100时,0~99的用户编号均对应数据库编号为0的数据库。换言之,每一百个用户共用一个数据库。然而,本发明并不限定于此。于实际应用中,可根据需要设定所述预设值。
于步骤102,分库装置判断数据库编号与SQL执行对象的对照表中是否存在所述数据库编号。具体而言,分库装置会存储已经存在的数据库编号与SQL执行对象的对照表。例如下表所示。其中,分库装置可更新所述对照表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州阔地网络科技有限公司,未经苏州阔地网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110375030.7/2.html,转载请声明来源钻瓜专利网。