[发明专利]一种数据库访问方法和系统有效
申请号: | 202010745987.5 | 申请日: | 2020-07-29 |
公开(公告)号: | CN114095514B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 游运华;陈鹏宇;周新满 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L67/1097 | 分类号: | H04L67/1097;H04L67/141;H04L41/0668;H04L67/10;G06F16/27 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;陈霁 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 访问 方法 系统 | ||
本申请实施例提供一种数据库访问方法和数据库访问系统,该系统包括:多个应用服务器、多个接入服务器、多个执行服务器以及多个数据库。每个应用服务器只与一个接入服务器建立连接,每个接入服务器通过多个执行服务器与多个数据库连接。所述多个数据库中包括存储有所述第一应用的数据的第一数据库,每个应用服务器与接入服务器之间的连接数小于所述执行服务器与所述多个数据库的服务器的连接数。响应于第一应用发起的业务请求,所述应用服务器生成对所述第一数据库的第一操作请求;将所述第一操作请求和用于指示所述第一数据库的第一标识发送给所述接入服务器。通过本申请实施例提供的方法,可支持大规模的应用数,并且可支持超大用户规模。
技术领域
本申请涉及数据库技术领域,具体涉及一种数据库访问方法和系统。
背景技术
在当前的端云应用系统中,应用(Application,APP)可以访问云端的多个应用服务器中的任意应用服务器,每个应用服务器需要连接任意APP的数据库,以存储和访问任意APP的数据。因此,每个应用服务器都要为每个数据库建立连接池。当应用规模增长时,需要相应增加应用服务器和数据库。这会导致两方面的问题:支撑的用户规模有限,数据库存在连接数的最大限制,从而限制了应用服务器的最大数目,使得无法支撑热门应用的超大用户规模;支撑的APP数有限,APP数的增长会导致每个应用服务器的数据库连接数的成倍增长,最后会导致应用服务器负载过大而建立不了新连接。而这两个方面的叠加,会导致应用服务器的伸缩性问题更加严重。
当前业界已存在一些成熟的数据库代理方案。在数据库代理方案中,数据库代理服务器连接在应用服务器与数据库之间,应用服务器只需要与数据库代理服务器建立连接,以请求对数据库的访问。然而,在已有的数据库代理方案中,应用服务器与代理服务器建立多个物理连接,APP数的增长仍会导致每个应用服务器的连接数成倍增长,最后会导致应用服务器负载过大而建立不了新连接。另外,由于一个应用服务器到代理服务器的连接对应一个代理服务器到数据库的连接,从而数据库的最大连接数仍限制了应用服务器到代理服务器的连接数,导致无法支撑热门应用的超大用户规模。
发明内容
本申请实施例旨在提供一种更有效的数据库访问方案,该方案增加了应用层可包括的最大应用服务器数目,从而可支持超大用户规模,该方案还增加了可支持的最大应用数目。
为实现上述目的,本申请第一方面提供一种数据库访问方法,其特征在于,所述方法包括:应用服务器与接入服务器建立一个或多个连接,所述接入服务器通过多个执行服务器与多个数据库的服务器连接,所述多个数据库中包括存储有第一应用的数据的第一数据库,所述应用服务器与所述接入服务器之间的连接数小于任一所述执行服务器与所述多个数据库之间的连接数;响应于第一应用发起的业务请求,所述应用服务器生成对所述第一数据库的第一操作请求;将所述第一操作请求和用于指示所述第一数据库的第一标识发送给所述接入服务器。
在该方法中,通过将接入服务器和执行服务器用作为对数据库的代理层,并且使得应用服务器通过一个或多个连接与接入服务器连接,相应地,应用服务器将操作请求和例如应用标识发送给接入服务器,从而应用服务器可通过所述一个连接发送多个操作请求,而不需要如现有技术中那样对每个操作请求都分配一个连接。通过这样,使得应用服务器的连接数与数据库的连接数解耦,从而不会出现由于应用服务器的连接数过多而限制应用数的增长。同时,由于应用服务器的连接数与数据库的连接数解耦,使得数据库的规模不会限制应用服务器的最大数目,而接入服务器与应用层的连接数是固定的(例如10000个),每个应用服务器与接入服务器的连接数越少,就代表接入服务器可支撑的应用服务器数目越多,从而使用该方法的系统可支撑更多的应用服务器数,从而可支撑超大用户规模。另外,应用层支撑的应用服务器数目的增加和应用数目的增加,使得该应用层可支撑超大规模的对应用数据库的操作请求的数目。
在一种实施方式中,所述第一操作请求包括请求开始第一事务的事务开始请求,所述方法还包括:所述应用服务器将所述第一事务的标识发送给所述接入服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010745987.5/2.html,转载请声明来源钻瓜专利网。