【技术实现步骤摘要】
一种数据库的业务处理方法及数据库服务器
本申请涉及数据领域,具体涉及一种数据库的业务处理方法及数据库服务器。
技术介绍
在大型应用中,数据库已经成为了不可缺少的部分,数据库的所有操作都需要通过数据库连接来完成。如果每次操作数据库,都向数据库创建连接,在操作结束后,再向数据库释放该链接。这样,每次操作数据库,都需要建立一次连接,连接建立的过程开销大,大大影响业务应用的性能。因此,在业务应用中一般会缓存该连接,操作完数据库后,并不释放,而是缓存起来,供下次使用。在实际应用中,数据库连接资源一般较为紧缺,即数据库所能提供的连接是有限的,如果缓存过多连接,会引起数据库性能下降等问题。为了解决此问题,数据库连接池的概念应运而生。如图1所示,图1是采用连接池的数据库架构示意图,在业务应用程序中,会针对每一个数据库用户,创建一个连接池。当需要操作数据库时,会从对应用户的连接池中获取连接,通过该连接执行对应用户的SQL语句;当操作完数据库后,会将该连接再放回连接池中,供后续使用。这样可以保证不在执行的业务不会持有数据库连接,达到降低数据库连接数量的目的。即让应用业务开发人员在写结构化查询语音(structuredquerylanguage,SQL)语句时,不关心数据库用户名称,提升开发效率,应用会针对每个数据库用户创建一个连接池,用于缓存与该用户的连接。然而,每个用户对应一个连接池的设计方式在数据库用户数量大量增加后,由于数据库所能提供的连接时有限的,而大量的用户对应的连接池在同时访问时,会使得数据库的负荷过高,并且连接收敛的效果会变差。
技术实现思路
本申请实施例提供了一种 ...
【技术保护点】
1.一种数据库的业务处理方法,应用于数据库系统,所述数据库系统包括业务层和第一数据库,其特征在于,所述数据库系统还包括设置在业务层和第一数据库之间的分布式数据处理模块,所述方法包括:所述分布式数据处理模块接收应用层发出的第一结构化查询语言SQL请求,所述第一SQL请求中携带有第一SQL语句;所述分布式数据处理模块根据解析所述第一SQL语句中的第一表名并查找所述第一数据库中所述第一表名所属用户的用户名,所述分布式数据处理模块中存储有所述第一数据库中表名与用户名的对应关系;所述分布式数据处理模块根据预设配置规则、所述第一表名以及对应的用户名生成第二SQL请求,所述第二SQL请求中携带有第二SQL语句,所述第二SQL语句中的表名为具有所述第一表名对应用户名的表名;所述分布式数据处理模块将所述第二SQL请求发送至所述第一数据库内的第一用户,所述第一数据库内除所述第一用户之外的用户均授权至所述第一用户。
【技术特征摘要】
1.一种数据库的业务处理方法,应用于数据库系统,所述数据库系统包括业务层和第一数据库,其特征在于,所述数据库系统还包括设置在业务层和第一数据库之间的分布式数据处理模块,所述方法包括:所述分布式数据处理模块接收应用层发出的第一结构化查询语言SQL请求,所述第一SQL请求中携带有第一SQL语句;所述分布式数据处理模块根据解析所述第一SQL语句中的第一表名并查找所述第一数据库中所述第一表名所属用户的用户名,所述分布式数据处理模块中存储有所述第一数据库中表名与用户名的对应关系;所述分布式数据处理模块根据预设配置规则、所述第一表名以及对应的用户名生成第二SQL请求,所述第二SQL请求中携带有第二SQL语句,所述第二SQL语句中的表名为具有所述第一表名对应用户名的表名;所述分布式数据处理模块将所述第二SQL请求发送至所述第一数据库内的第一用户,所述第一数据库内除所述第一用户之外的用户均授权至所述第一用户。2.根据权利要求1所述的数据库的业务处理方法,其特征在于,所述应用层内设有第一连接池,所述应用层的SQL请求均通过所述第一连接池发送至所述分布式数据处理模块。3.根据权利要求1所述的数据库的业务处理方法,其特征在于,所述分布式数据处理模块中设有第二连接池,所述第二连接池对应所述第一数据库,所述分布式数据处理模块将所述第二SQL请求发送至所述数据库内的第一用户具体为:所述第二连接池将所述第二SQL请求发送至所述数据库内的第一用户。4.根据权利要求1至3中任一项所述的数据库的业务处理方法,其特征在于,所述方法还包括:所述分布式数据处理模块接收所述第一数据库返回的结果;并将所述结果发送至所述业务层。5.根据权利要求3所述的数据库的业务处理方法,其特征在于,所述分布式数据处理模块中还设有第三连接池,所述数据库系统还包括第二数据库,所述第三连接池对应所述第二数据库,所述分布式数据处理模块接收应用层发出的第一SQL请求之后,所述方法还包括:所述分布式数据处理模块根据解析所述第一SQL语句中的第二表名并查找所述第二数据库中所述表名所属用户的用户名,所述分布式数据处理模块中还存储有所述第二数据库中表名与用户名的对应关系;所述分布式数据处理模块根据预设配置规则、所述第二表名以及对应的用户名生成第三SQL请求,所述第三SQL请求中携带有第三SQL语句,所述第三SQL语句的表名为具有所述第二表名对应用户名的表名。6.根据权利要求5所述的数据库的业务处理方法,其特征在于,所述方法还包括:所述分布式数据处理模块将所述第三SQL请求发送至所述第二数据库内的第二用户,所述第二数据库内除所述第二用户之外的用户均授权至所述第二用户。7.根据权利要求5或6所述的数据库的业务处理方法,其特征在于,所述方法还包括:所述分布式数据处理模块接收所述第一数据库和所述第二数据库返回的结果;所述分布式数据处理模块将所述第一数据库和所述第二数据库返回的结果进行关联处理;所述分布式数据处理模块将关联处理后的所述结果发送至所述业务层。8.一种数据库服务器,其...
【专利技术属性】
技术研发人员:王炜,张建勋,赵俊,
申请(专利权)人:华为软件技术有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。