数据库访问方法及数据库访问中间件技术

技术编号:22238171 阅读:37 留言:0更新日期:2019-10-09 18:03
本发明专利技术提供一种数据库访问方法及数据库访问中间件,通过多个客户端分别接收用户发送的数据访问请求,服务器通过轮询该多个客户端,将客户端接收到的数据访问请求转发给空闲的服务模块,服务模块根据数据访问请求连接对应的异构数据库,建立异构数据库与用户之间的数据连接。本发明专利技术的方法通过服务器对客户端轮询以及由空闲服务模块连接对应的异构数据库,降低数据库与用户的连接数量,减轻了数据库压力,避免了用户与数据库的长连接,进而避免了数据库连接数量超过其最大连接数造成数据吞吐效率下降,并且支持高并发,提高了可靠性和稳定性,有效提高数据库响应的整体效率。

Database Access Method and Database Access Middleware

【技术实现步骤摘要】
数据库访问方法及数据库访问中间件
本专利技术涉及通信
,尤其涉及一种数据库访问方法及数据库访问中间件。
技术介绍
在通信领域中经常存在着对海量数据的存储和读取,例如电信运营商的计费系统,而数据库的连接、断开将消耗和释放一定的系统资源,因此,短连接不可取,大都采用长连接的方式,也即长时间保持与数据库的连接状态,在没有数据通信时,定时发送数据包,以维持连接状态。由于对于电信运营商的计费系统,应用进程数量非常庞大,数据库的连接数是有限的,如果每个应用进程和数据库建立一个长连接,数据库的连接将超过其最大连接数,数据吞吐效率将急剧下降,严重的会导致连接失败,稳定性大受影响。
技术实现思路
本专利技术提供一种数据库访问方法及数据库访问中间件,以在减少数据库的长连接,避免了数据库连接数量超过其最大连接数造成数据吞吐效率下降,提高数据访问的可靠性和稳定性。本专利技术的一个方面是提供一种数据库访问方法,该数据库访问方法步骤如下:服务器轮询多个客户端,其中所述多个客户端与所述服务器连接,分别用于接收用户发送的数据访问请求;所述服务器将所述客户端接收到的所述数据访问请求转发给空闲的服务模块,以使所述服务模块根据所述数据访问请求连接对应的异构数据库,建立所述异构数据库与所述用户之间的数据连接。进一步的,所述服务器将所述客户端接收到的所述数据访问请求转发给空闲的服务模块前,还包括:获取各所述服务模块的当前状态;根据所述当前状态选择负荷最小的服务模块作为所述空闲的服务模块。进一步的,所述服务器至少有两个,各所述服务器实现负载均衡,并在接收到升级指令或维护指令时,依次进行升级或维护。进一步的,所述数据访问请求为经过所述客户端操作符重载后的标准化应用代码。进一步的,所述服务模块通过统一接口与各所述异构数据库连接。本专利技术的另一个方面是提供一种数据库访问中间件,包括:多个客户端,分别用于接收用户发送的数据访问请求;服务器,与所述多个客户端连接,用于轮询所述多个客户端,将所述客户端接收到的所述数据访问请求转发给空闲的服务模块;所述服务模块,用于根据所述数据访问请求连接对应的异构数据库,建立所述异构数据库与所述用户之间的数据连接。进一步的,所述服务器还用于:获取各所述服务模块的当前状态;根据所述当前状态选择负荷最小的服务模块作为所述空闲的服务模块。进一步的,所述服务器至少有两个,各所述服务器实现负载均衡,并在接收到升级指令或维护指令时,依次进行升级或维护。进一步的,所述数据访问请求为经过所述客户端操作符重载后的标准化应用代码。进一步的,所述服务模块通过统一接口与各所述异构数据库连接。本专利技术提供的数据库访问方法及数据库访问中间件,通过多个客户端分别接收用户发送的数据访问请求,服务器通过轮询该多个客户端,将客户端接收到的数据访问请求转发给空闲的服务模块,服务模块根据数据访问请求连接对应的异构数据库,建立异构数据库与用户之间的数据连接。本专利技术的方法通过服务器对客户端轮询以及由空闲服务模块连接对应的异构数据库,降低数据库与用户的连接数量,减轻了数据库压力,避免了用户与数据库的长连接,进而避免了数据库连接数量超过其最大连接数造成数据吞吐效率下降,并且支持高并发,提高了可靠性和稳定性,有效提高数据库响应的整体效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的数据库访问方法流程图;图2为本专利技术实施例提供的数据库访问中间件的架构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例提供的数据库访问方法流程图。本实施例提供了一种数据库访问方法,通过数据库访问中间件实现用户对异构数据库的数据访问,其中如图2所示,数据库访问中间件包括多个客户端Client、多个服务模块Service,以及位于客户端Client和服务模块Service间的服务器Server,其中服务器Server可以为一个或者多个(图2仅示出一个服务器)。需要说明的是,中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件之间:在操作系统、网络和数据库之上,应用软件的下层。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。本实施例的数据库访问中间件就是建立在数据库和用户之间的数据访问代理软件。如图1所示,本实施例提供的方法执行主体为服务器,该方法具体步骤如下:S101、服务器轮询多个客户端,其中所述多个客户端与所述服务器连接,分别用于接收用户发送的数据访问请求。在本实施例中,客户端Client负责直接跟用户进行交互,可接受用户发送的数据访问请求。在接收到用户发送的数据访问请求后,客户端Client并不是立即将数据访问请求发送给服务器Server,而是由服务器Server轮询多个客户端Client,以对收到数据访问请求的客户端Client进行后续的处理,而没有收到数据访问请求的客户端Client则继续处于等待状态,本实施例通过服务器Server轮询多个客户端Client的方式,可依次对用户的数据访问请求进行处理,避免了将客户端Client与服务器Server需要保持长连接,可以释放服务器Server的系统资源,避免超过其最大连接数,对服务器Server负载过大,降低数据访问服务效率。S102、所述服务器将所述客户端接收到的所述数据访问请求转发给空闲的服务模块,以使所述服务模块根据所述数据访问请求连接对应的异构数据库,建立所述异构数据库与所述用户之间的数据连接。在本实施例中,服务器Server通过轮询依次将各客户端Client接收到的数据访问请求转发给空闲的服务模块Service,由该空闲的服务模块Service根据数据访问请求查找对应的异构数据库,并与该异构数据库连接,从而建立该异构数据库与用户之间的数据连接。其中异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,几个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的数据阵管理系统、外构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍有自己的应用特性、完整性控制和安全性控制。本实施例中,服务器Server将数据访问请求转发给空闲的服务模块Service前,还可首先查找空闲的服务模块Service,其中空闲的服务模块Service可以为当前没有数据访问任务的服务模块Service,若不存在,也可将当前负荷最小的服务模块作为空闲的服务模块Service。本实施例提供的数据库访问方法,通过多个客户端分别接收用户发送的数据访问请求,服务器通过轮询该多个客户端,将客户端接收到的数据访问请求转发给空闲的服本文档来自技高网...

【技术保护点】
1.一种数据库访问方法,其特征在于,包括:服务器轮询多个客户端,其中所述多个客户端与所述服务器连接,分别用于接收用户发送的数据访问请求;所述服务器将所述客户端接收到的所述数据访问请求转发给空闲的服务模块,以使所述服务模块根据所述数据访问请求连接对应的异构数据库,建立所述异构数据库与所述用户之间的数据连接。

【技术特征摘要】
1.一种数据库访问方法,其特征在于,包括:服务器轮询多个客户端,其中所述多个客户端与所述服务器连接,分别用于接收用户发送的数据访问请求;所述服务器将所述客户端接收到的所述数据访问请求转发给空闲的服务模块,以使所述服务模块根据所述数据访问请求连接对应的异构数据库,建立所述异构数据库与所述用户之间的数据连接。2.根据权利要求1所述的方法,其特征在于,所述服务器将所述客户端接收到的所述数据访问请求转发给空闲的服务模块前,还包括:获取各所述服务模块的当前状态;根据所述当前状态选择负荷最小的服务模块作为所述空闲的服务模块。3.根据权利要求1所述的方法,其特征在于,所述服务器至少有两个,各所述服务器实现负载均衡,并在接收到升级指令或维护指令时,依次进行升级或维护。4.根据权利要求1-3任一项所述的方法,其特征在于,所述数据访问请求为经过所述客户端操作符重载后的标准化应用代码。5.根据权利要求4所述的方法,其特征在于,所述服务模块通过统一接口与各所述异构数据库连...

【专利技术属性】
技术研发人员:冷一民于晓虹张加伟黄群张文娇
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京,11

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

1