一种基于HTTP请求的数据库负载均衡方法、装置及介质制造方法及图纸

技术编号:29489408 阅读:27 留言:0更新日期:2021-07-30 19:01
本发明专利技术涉及一种基于HTTP请求的数据库负载均衡方法、装置及介质,方法包括以下步骤:获取HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验失败,则给出安全校验失败提示;获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;建立数据库连接,执行连接请求中的SQL语句,返回执行结果。与现有技术相比,本发明专利技术基于HTTP请求得到连接请求,实现数据库访问负载均衡,对客户端比较友好,尤其是WEB程序和手机端APP应用,采用AUTH时效和用过即废的策略,结合用户口令验证和IP验证,能更好地保障数据库访问安全。

【技术实现步骤摘要】
一种基于HTTP请求的数据库负载均衡方法、装置及介质
本专利技术涉及负载均衡
,尤其是涉及一种基于HTTP请求的数据库负载均衡方法、装置及介质。
技术介绍
负载均衡集群是由一组相互独立的计算节点构成的,通过常规网络或专用网络进行连接,各节点之间相互协作、共同负载、均衡压力。对客户端来说,整个集群可以视为一台具有超高性能的独立服务器。在数据库负载均衡
,为了实现数据库的负载均衡,首先要有一个控制程序,来控制数据库的连接。这个控制程序截断了应用程序和数据库的直接连接,所有的应用程序先访问这个控制程序,然后再由控制程序来决定访问哪个数据库。常用的控制程序有数据库连接前置中间件和数据库连接代理中间件。前置中间件截断了应用程序和数据库的直接连接,所有的数据库连接访问要先连接前置中间件,然后由前置中间件根据负载均衡策略访问数据库。该方式的优点是对应用程序而言,访问是透明的,访问前置中间件就像访问数据库一样,该方式的缺点是受限于专用数据库,不支持异构数据库。代理中间件是一个旁路控制,应用程序在访问数据库之前先访问代理中间件,代理中间件根据负载均衡策略选择一个数据库返回给应用程序,应用程序再和数据库建立真正的连接。该方式的优点是代理中间件是旁路的,只是数据库负载均衡策略的管理者,不参与数据库操作,不会成为数据库访问的瓶颈,该方式的缺点是对应用程序有侵入性,应用程序和数据库想和建立连接需要两次请求。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于HTTP请求的数据库负载均衡方法、装置及介质,基于HTTP请求得到连接请求,实现数据库访问负载均衡,对客户端比较友好,尤其是WEB程序和手机端APP应用,采用AUTH时效和用过即废的策略,结合用户口令验证和IP验证,能更好地保障数据库访问安全。本专利技术的目的可以通过以下技术方案来实现:一种基于HTTP请求的数据库负载均衡方法,包括以下步骤:S1、获取HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验通过,则执行步骤S2,否则,给出安全校验失败提示;S2、获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;S3、基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;S4、建立数据库连接,执行连接请求中的SQL语句,返回执行结果。进一步的,步骤S1中,安全校验通过后还包括:将HTTP请求的AUTH写入缓存。进一步的,步骤S1中的安全校验包括AUTH有效性校验:获取HTTP请求授权AUTH,检查缓存,如果缓存中存在该AUTH,则给出安全校验失败提示。进一步的,步骤S1中的安全校验包括用户口令时间戳校验:解密AUTH,获取其中的用户、口令和时间戳信息,如果用户和口令校验失败或时间戳超出有效期,则给出安全校验失败提示。进一步的,步骤S1中的安全校验包括IP校验:获取HTTP请求的IP地址,校验IP地址是否正确,如果IP地址不正确,则给出安全校验失败提示。进一步的,步骤S3中还包括:基于连接请求中的SQL语句的读写属性,筛选得到数据库集群中所有支持该连接请求的数据库,并按照这些数据库的权重和这些数据库的当前连接请求次数,为连接请求分配数据库。进一步的,步骤S4中,在数据库连接失败时还提供了支持自定义熔断时间的连接熔断控制。一种基于HTTP请求的数据库负载均衡装置,包括配置模块、客户端和数据库集群,所述配置模块用于进行连接请求和安全校验和数据库集群的负载均衡控制,执行以下步骤:S1、获取客户端发送的HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验通过,则执行步骤S2,否则,给出安全校验失败提示;S2、获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;S3、基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;S4、建立客户端与数据库之间的连接,在数据库中执行连接请求中的SQL语句,返回执行结果至客户端。一种存储介质,其上存储有可执行的计算机程序,所述计算机程序被执行时实现数据库负载均衡方法。与现有技术相比,本专利技术基于HTTP请求得到连接请求,实现数据库访问负载均衡,对客户端比较友好,尤其是WEB程序和手机端APP应用,采用AUTH时效和用过即废的策略,结合用户口令验证和IP验证,能更好地保障数据库访问安全。附图说明图1为数据库负载均衡方法的流程图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。实施例1:一种基于HTTP请求的数据库负载均衡方法,如图1所示,包括以下步骤:S1、获取HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验通过,则执行步骤S2,否则,给出安全校验失败提示;S2、获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;S3、基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;S4、建立数据库连接,执行连接请求中的SQL语句,返回执行结果。一种基于HTTP请求的数据库负载均衡装置,包括配置模块、客户端和数据库集群,配置模块用于进行连接请求和安全校验和数据库集群的负载均衡控制,执行以下步骤:S1、获取客户端发送的HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验通过,则执行步骤S2,否则,给出安全校验失败提示;S2、获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;S3、基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;S4、建立客户端与数据库之间的连接,在数据库中执行连接请求中的SQL语句,返回执行结果至客户端。一种存储介质,其上存储有可执行的计算机程序,计算机程序被执行时实现数据库负载均衡方法。本实施例中,定义conf_nodes[node]为配置节点,用于进行安全验证以及数据库负载均衡控制,以下是C++语言实现示例:采用基于HTTP请求形式的连接请求实现数据库访问负载均衡,对客户端比较友好,尤其是WEB程序和手机端APP应用。使用HTTP请求作为连接请求的最大挑战就是安全性,本申请进行了安全验证,包括AUTH有效性验证、用户口令验证、时间戳有效性验证以及IP验证,AUTH只有第一次使用时是有效的,用后即废,结合AUTH的时效性,更好地保障了数据库的访问安全。为了实现数据库集群的负载均衡,在面对多个连接请求时,往往根据数据库的权重,将连接请求分配给数据库,权重是根据数据库的性能参数等设定的。本申请在建立数据库连接时,基于当前连接请求次数和权重,为连接请求分配数据库,实现了数据库访问负载均衡,本文档来自技高网...

【技术保护点】
1.一种基于HTTP请求的数据库负载均衡方法,其特征在于,包括以下步骤:/nS1、获取HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验通过,则执行步骤S2,否则,给出安全校验失败提示;/nS2、获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;/nS3、基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;/nS4、建立数据库连接,执行连接请求中的SQL语句,返回执行结果。/n

【技术特征摘要】
1.一种基于HTTP请求的数据库负载均衡方法,其特征在于,包括以下步骤:
S1、获取HTTP请求形式的连接请求,对连接请求进行安全校验,如果安全校验通过,则执行步骤S2,否则,给出安全校验失败提示;
S2、获取数据库集群中每个数据库的权重,获取数据库集群的当前连接请求次数;
S3、基于各个数据库的权重和当前连接请求次数,为连接请求分配数据库;
S4、建立数据库连接,执行连接请求中的SQL语句,返回执行结果。


2.根据权利要求1所述的一种基于HTTP请求的数据库负载均衡方法,其特征在于,步骤S1中,安全校验通过后还包括:将HTTP请求的AUTH写入缓存。


3.根据权利要求2所述的一种基于HTTP请求的数据库负载均衡方法,其特征在于,步骤S1中的安全校验包括AUTH有效性校验:获取HTTP请求授权AUTH,检查缓存,如果缓存中存在该AUTH,则给出安全校验失败提示。


4.根据权利要求1所述的一种基于HTTP请求的数据库负载均衡方法,其特征在于,步骤S1中的安全校验包括用户口令时间戳校验:解密AUTH,获取其中的用户、口令和时间戳信息,如果用户和口令校验失败或时间戳超出有效期,则给出安全校验失败提示。


5.根据权利要求1所述的一种基于HTTP请求的数据库负载均衡方法,其特征在于,步骤S1中的安全校验包括IP校验:获取HTTP请求的IP地址,校验IP地址是否正确,如果IP地址不正确,则给出安全校验失败提示。


6.根据权利要求1所述的一种基于HTTP请求的数据库负载均衡方法,其特征在于,步骤S3中还包括:基于连接请求中的SQL语句的读写属性,筛选得到数据库集群中所有支持该连接请求的数据库,并按照这些数据库...

【专利技术属性】
技术研发人员:杨友兰刘绍杰吴文波
申请(专利权)人:上海申铁信息工程有限公司
类型:发明
国别省市:上海;31

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

1