一种数据库访问方法和系统技术方案

技术编号:32436301 阅读:23 留言:0更新日期:2022-02-26 07:54
本申请实施例提供一种数据库访问方法和数据库访问系统,该系统包括:多个应用服务器、多个接入服务器、多个执行服务器以及多个数据库。每个应用服务器只与一个接入服务器建立连接,每个接入服务器通过多个执行服务器与多个数据库连接。所述多个数据库中包括存储有所述第一应用的数据的第一数据库,每个应用服务器与接入服务器之间的连接数小于所述执行服务器与所述多个数据库的服务器的连接数。响应于第一应用发起的业务请求,所述应用服务器生成对所述第一数据库的第一操作请求;将所述第一操作请求和用于指示所述第一数据库的第一标识发送给所述接入服务器。通过本申请实施例提供的方法,可支持大规模的应用数,并且可支持超大用户规模。超大用户规模。超大用户规模。

【技术实现步骤摘要】
一种数据库访问方法和系统


[0001]本申请涉及数据库
,具体涉及一种数据库访问方法和系统。

技术介绍

[0002]在当前的端云应用系统中,应用(Application,APP)可以访问云端的多个应用服务器中的任意应用服务器,每个应用服务器需要连接任意APP的数据库,以存储和访问任意APP的数据。因此,每个应用服务器都要为每个数据库建立连接池。当应用规模增长时,需要相应增加应用服务器和数据库。这会导致两方面的问题:支撑的用户规模有限,数据库存在连接数的最大限制,从而限制了应用服务器的最大数目,使得无法支撑热门应用的超大用户规模;支撑的APP数有限,APP数的增长会导致每个应用服务器的数据库连接数的成倍增长,最后会导致应用服务器负载过大而建立不了新连接。而这两个方面的叠加,会导致应用服务器的伸缩性问题更加严重。
[0003]当前业界已存在一些成熟的数据库代理方案。在数据库代理方案中,数据库代理服务器连接在应用服务器与数据库之间,应用服务器只需要与数据库代理服务器建立连接,以请求对数据库的访问。然而,在已有的数据库代理方案中,应用服务本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库访问方法,其特征在于,所述方法包括:应用服务器与接入服务器建立一个或多个连接,所述接入服务器通过多个执行服务器与多个数据库连接,所述多个数据库中包括存储有第一应用的数据的第一数据库,所述应用服务器与所述接入服务器之间的连接数小于任一所述执行服务器与所述多个数据库之间的连接数;响应于第一应用发起的业务请求,所述应用服务器生成对所述第一数据库的第一操作请求;将所述第一操作请求和用于指示所述第一数据库的第一标识发送给所述接入服务器。2.根据权利要求1所述的方法,其特征在于,所述第一操作请求包括请求开始第一事务的事务开始请求,所述方法还包括:所述应用服务器将所述第一事务的标识发送给所述接入服务器。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述应用服务器从所述接入服务器接收对所述事务开始请求的响应和所述多个执行服务器中的第一执行服务器的标识,记录所述第一事务与所述第一执行服务器的对应关系。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述应用服务器在从所述接入服务器接收对所述事务开始请求的响应之后,生成所述第一事务包含的第二操作请求,将所述第二操作请求、所述第一事务的标识和所述第一执行服务器的标识发送给所述接入服务器。5.根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:基于所述接入服务器和所述第一执行服务器中的至少一个出现异常,所述应用服务器结束对所述第一事务的处理。6.根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:所述应用服务器在管理设备中注册与所述应用服务器对应的信息,以及与所述第一事务对应的信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:所述应用服务器在所述管理设备中设置对所述第一事务的监听;响应于所述管理设备发送的删除第一事务的信息的通知,结束对所述第一事务的处理,其中,所述第一事务的信息在所述接入服务器、所述第一执行服务器和所述第一数据库中至少一个出现预定异常情况时被删除。8.根据权利要求1所述的方法,其特征在于,所述应用服务器中预设有所述第一数据库对应的逻辑连接池,所述逻辑连接池包括多个逻辑连接,每个逻辑连接对应于所述应用服务器和所述接入服务器之间的一个连接,所述应用服务器将所述第一操作请求和所述第一标识发送给所述接入服务器包括:所述应用服务器从所述逻辑连接池中确定目标逻辑连接,通过所述目标逻辑连接对应的连接将所述第一操作请求和所述第一标识发送给所述接入服务器。9.一种数据库访问方法,其特征在于,所述方法包括:接入服务器从应用服务器接收对第一数据库的第一操作请求和用于指示所述第一数据库的第一标识,其中,所述接入服务器通过一个或多个连接与所述应用服务器连接,所述接入服务器还与多个执行服务器连接,所述多个执行服务器与多个数据库连接,所述多个数据库中包括存储有所述第一应用的数据的所述第一数据库,所述应用服务器与所述接入
服务器之间的连接数目小于任一所述执行服务器与所述多个数据库之间的连接数;基于所述第一标识,确定所述多个执行服务器中的与所述第一数据库连接的第一执行服务器;将所述第一操作请求和所述第一标识发送给所述第一执行服务器。10.根据权利要求9所述的方法,其特征在于,所述多个执行服务器中的部分执行服务器与所述第一数据库连接。11.根据权利要求9所述的方法,其特征在于,所述第一操作请求包括请求开始第一事务的事务开...

【专利技术属性】
技术研发人员:游运华陈鹏宇周新满
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1