基于全局负载均衡的云存取方法、装置及存储介质制造方法及图纸

技术编号:22081317 阅读:21 留言:0更新日期:2019-09-12 16:07
本发明专利技术涉及云储存技术领域,公开了一种基于全局负载均衡的云存取方法,该方法包括:在云数据库系统中按照预设的节点选择方法选择一个客户端用户对应的最佳数据库节点;利用基于HTTP的重定向,将客户端用户的访问重定向到该最佳数据库节点,在该最佳数据库节点上执行数据存取操作;在云数据库系统中的各个数据库节点中执行了数据存取操作后,同步各个数据库节点之间的数据。本发明专利技术还提出一种基于全局负载均衡的云存取装置以及一种计算机可读存储介质。本发明专利技术提供了一种多活高可用的云数据存取方案。

Cloud Access Method, Device and Storage Media Based on Global Load Balancing

【技术实现步骤摘要】
基于全局负载均衡的云存取方法、装置及存储介质
本专利技术涉及云存储
,尤其涉及一种基于全局负载均衡的云存取方法、装置及计算机可读存储介质。
技术介绍
目前大多数云数据库采用一主多备的部署架构来提供高可用保障,通过binlog的数据复制技术维护数据一致性。用户只能向主库写入数据,容灾库从主库同步数据。但是,当用户跨区域访问云数据库时,数据经过多次网络转发,容易受到地域、带宽等因素影响而导致高延迟、低可用性的问题,影响用户体验。并且,只有当主库因断电、自然灾害等因素无法使用时,灾备被激活成主库,才能对外提供服务。在正常情况下,灾备库大多时候处于闲置状态,资源使用率极低。因此迫切需要一个多活的并且可以根据用户地域、延时等因素智能选择云数据库节点的高可用云数据库系统。
技术实现思路
本专利技术提供一种基于全局负载均衡的云存取方法、装置及计算机可读存储介质,其主要目的在于提供一种多活高可用的云数据库存取方案。为实现上述目的,本专利技术提供的一种基于全局负载均衡的云存取方法,包括:在云数据库系统中按照预设的节点选择方法选择一个客户端用户对应的最佳数据库节点;利用基于HTTP的重定向,将客户端用户的访问重定向到该最佳数据库节点,在该最佳数据库节点上执行数据存取操作;在云数据库系统中的各个数据库节点中执行数据存取操作后,同步各个数据库节点之间的数据。可选地,所述预设的节点选择方法包括:在云数据库系统中的每个数据库节点处,分别存放一个测试图片test.jpg;在云数据库系统的网站主页嵌入一段测速脚本程序,当客户端用户访问所述网站主页时,测速脚本程序被触发,并开始计时;客户端用户根据测速脚本程序中的地址,从云数据库系统中的各个数据库节点中下载预存的测试图片test.jpg;生成已测速的cookie数据并提交下载所耗时间给云数据库系统中的全局负载均衡设备,并按照所述下载所耗时间从少到多的顺序,选择多个备选数据库节点;获取云数据库系统中各个数据库节点的运行日志,分析各个数据库节点的健康信息,包括CPU使用率、内存使用率、网络占用率;根据所述健康信息,从所述多个备选数据库节点选择健康信息最佳的数据库节点作为所述最佳数据库节点。可选地,所述重定向包括:本地域名系统接收客户端用户输入的域名并解析所述域名;当所述本地域名系统无法解析所述域名时,逐级向上级域名系统发出解析请求;上级域名系统根据其所存储的地址记录,返回全局负载均衡设备所在的IP地址给本地域名系统;客户端用户向所述全局负载均衡设备发出TCP连接,并请求存取数据;全局负载均衡设备根据上述选择的最佳数据库节点,返回HTTP重定向的IP,即所述最佳数据库节点的地址;客户端用户到所述最佳数据库节点执行数据存取操作。可选地,所述同步各个数据库节点之间的数据包括数据的复制,其中所述数据的复制包括:在云数据库系统中的各个数据库节点的连接驱动中设置SQL捕获器,其中,所述SQL捕获器用于捕获能改变数据库节点中数据记录的SQL语句,并过滤掉不改变数据库数据的语句;将捕获到的SQL语句使用消息队列服务器发送给异地数据库节点,使消息被异地数据库节点接受并解析后执行数据的一致性操作。可选地,所述同步各个数据库节点之间的数据还包括数据的一致性校验,其中,所述数据的一致性校验包括:将云数据库系统中的主备数据库节点中的SQL操作定义成一个事务,当主备数据库节点数据都成功完成更新操作时,允许提交所述事务,否则有任意一个操作失败则对所述事务执行回滚操作。此外,为实现上述目的,本专利技术还提供一种基于全局负载均衡的云存取装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的基于全局负载均衡的云存取程序,所述基于全局负载均衡的云存取程序被所述处理器执行时实现如下步骤:在云数据库系统中按照预设的节点选择方法选择一个客户端用户对应的最佳数据库节点;利用基于HTTP的重定向,将客户端用户的访问重定向到该最佳数据库节点,在该最佳数据库节点上执行数据存取操作;在云数据库系统中的各个数据库节点中执行了数据存取操作后,同步各个数据库节点之间的数据。可选地,所述预设的节点选择方法包括:在云数据库系统中的每个数据库节点处,分别存放一个测试图片test.jpg;在云数据库系统的网站主页嵌入一段测速脚本程序,当客户端用户访问所述网站主页时,测速脚本程序被触发,并开始计时;客户端用户根据测速脚本程序中的地址,从云数据库系统中的各个数据库节点中下载预存的测试图片test.jpg;生成已测速的cookie数据并提交下载所耗时间给云数据库系统中的全局负载均衡设备,并按照所述下载所耗时间从少到多的顺序,选择多个备选数据库节点;获取云数据库系统中各个数据库节点的运行日志,分析各个数据库节点的健康信息,包括CPU使用率、内存使用率、网络占用率;根据所述健康信息,从所述多个备选数据库节点选择健康信息最佳的数据库节点作为所述最佳数据库节点。可选地,所述重定向包括:本地域名系统接收客户端用户输入的域名,并解析所述域名;当所述本地域名系统无法解析所述域名时,逐级向上级域名系统发出解析请求;所述上级域名系统根据其所存储的地址记录,返回全局负载均衡设备所在的IP地址给本地域名系统;客户端用户向所述全局负载均衡设备发出TCP连接,并请求存取数据;全局负载均衡设备根据上述选择的最佳数据库节点,返回HTTP重定向的IP,即所述最佳数据库节点的地址;客户端用户到所述最佳数据库节点执行数据存取操作。可选地,所述同步各个数据库节点之间的数据包括:在云数据库系统中的各个数据库节点的连接驱动中设置SQL捕获器,其中,所述SQL捕获器用于捕获能改变数据库节点中数据记录的SQL语句,并过滤掉不改变数据库数据的语句;将捕获到的SQL语句使用消息队列服务器发送给异地数据库节点,使消息被异地数据库节点接受并解析后执行数据的一致性操作。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于全局负载均衡的云存取程序,所述基于全局负载均衡的云存取程序可被一个或者多个处理器执行,以实现如上所述的基于全局负载均衡的云存取方法的步骤。本专利技术提出的基于全局负载均衡的云存取方法、装置及计算机可读存储介质引入全局负载均衡技术到云数据库系统的资源调度,找出客户端用户对应的最佳数据库节点,然后执行HTTP重定向给客户端用户,实现了基于全局负载均衡的多活高可用云数据库系统。附图说明图1为本专利技术一实施例提供的基于全局负载均衡的云存取方法的流程示意图;图2为本专利技术一实施例提供的基于全局负载均衡的云存取装置的内部结构示意图;图3为本专利技术一实施例提供的基于全局负载均衡的云存取装置中基于全局负载均衡的云存取程序的模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种基于全局负载均衡(GlobalServerLoadBalance,GSLB)的云存取方法。参照图1所示,为本专利技术一实施例提供的基于全局负载均衡的云存取方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。在本实施例中,基于全局负载均衡的云存取方法包括:S1本文档来自技高网...

【技术保护点】
1.一种基于全局负载均衡的云存取方法,其特征在于,所述方法包括:在云数据库系统中按照预设的节点选择方法选择一个客户端用户对应的最佳数据库节点;利用基于HTTP的重定向,将客户端用户的访问重定向到该最佳数据库节点,在该最佳数据库节点上执行数据存取操作;在云数据库系统中的各个数据库节点中执行数据存取操作后,同步各个数据库节点之间的数据。

【技术特征摘要】
1.一种基于全局负载均衡的云存取方法,其特征在于,所述方法包括:在云数据库系统中按照预设的节点选择方法选择一个客户端用户对应的最佳数据库节点;利用基于HTTP的重定向,将客户端用户的访问重定向到该最佳数据库节点,在该最佳数据库节点上执行数据存取操作;在云数据库系统中的各个数据库节点中执行数据存取操作后,同步各个数据库节点之间的数据。2.如权利要求1所述的基于全局负载均衡的云存取方法,其特征在于,所述预设的节点选择方法包括:在云数据库系统中的每个数据库节点处,分别存放一个测试图片test.jpg;在云数据库系统的网站主页嵌入一段测速脚本程序,当客户端用户访问所述网站主页时,测速脚本程序被触发,并开始计时;客户端用户根据测速脚本程序中的地址,从云数据库系统中的各个数据库节点中下载预存的测试图片test.jpg;生成已测速的cookie数据并提交下载所耗时间给云数据库系统中的全局负载均衡设备,并按照所述下载所耗时间从少到多的顺序,选择多个备选数据库节点;获取云数据库系统中各个数据库节点的运行日志,分析各个数据库节点的健康信息,包括CPU使用率、内存使用率、网络占用率;根据所述健康信息,从所述多个备选数据库节点选择健康信息最佳的数据库节点作为所述最佳数据库节点。3.如权利要求1所述的基于全局负载均衡的云存取方法,其特征在于,所述重定向包括:本地域名系统接收客户端用户输入的域名并解析所述域名;当所述本地域名系统无法解析所述域名时,逐级向上级域名系统发出解析请求;上级域名系统根据其所存储的地址记录,返回全局负载均衡设备所在的IP地址给本地域名系统;客户端用户向所述全局负载均衡设备发出TCP连接,并请求存取数据;全局负载均衡设备根据上述选择的最佳数据库节点,返回HTTP重定向的IP,即所述最佳数据库节点的地址;客户端用户到所述最佳数据库节点执行数据存取操作。4.如权利要求1至3中任意一项所述的基于全局负载均衡的云存取方法,其特征在于,所述同步各个数据库节点之间的数据包括数据的复制,其中所述数据的复制包括:在云数据库系统中的各个数据库节点的连接驱动中设置SQL捕获器,其中,所述SQL捕获器用于捕获能改变数据库节点中数据记录的SQL语句,并过滤掉不改变数据库数据的语句;将捕获到的SQL语句使用消息队列服务器发送给异地数据库节点,使消息被异地数据库节点接受并解析后执行数据的一致性操作。5.如权利要求4述的基于全局负载均衡的云存取方法,其特征在于,所述同步各个数据库节点之间的数据还包括数据的一致性校验,其中,所述数据的一致性校验包括:将云数据库系统中的主备数据库节点中的SQL操作定义成一个事务,当主备数据库节点数据都成功完成更新操作时,允许提交所述事务,否则有任意一个操作失败则对所述事务执行回滚操作。6.一种基于全局负...

【专利技术属性】
技术研发人员:张琦
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1