技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种分布式图数据库服务的负载均衡和重试方法及装置与流程  >  正文

一种分布式图数据库服务的负载均衡和重试方法及装置与流程

  • 国知局
  • 2024-07-31 23:23:26

本申请涉及图数据库服务,尤其是一种分布式图数据库服务的负载均衡和重试方法及装置。

背景技术:

1、在当前的信息化时代,图数据库在存储大量复杂关系的数据方面具有优势。图数据库服务本身是分布式服务,当某个查询引擎服务或存储引擎服务异常时,仍有其他引擎服务可提供服务,达到图数据库服务的高可用。

2、用户通过客户端发送的某次用户请求可能会因为正好发送给图数据库的某个异常服务而导致请求失败,这对于对数据可用性有高要求的系统来说是不能接受的,因此,如何提高用户请求的成功率,确保用户请求的高可用是一个亟待解决的问题。

技术实现思路

1、本申请的目的在于克服现有技术中由于短时间的服务器宕机、网络中断等偶然因素所导致的难以确保用户请求的高可用性的问题,提供一种分布式图数据库服务的客户端负载均衡和重试方法及装置。

2、第一方面,提供了一种分布式图数据库服务的负载均衡和重试方法,包括:

3、维护连接池,其中,所述连接池中创建有多个与图数据库服务的tcp连接;

4、将接收到的用户请求利用负载均衡策略通过所述连接池中的tcp连接转发至图数据库服务,具体包括:

5、从所述连接池中获取tcp连接,其中,所获取的tcp连接由负载均衡器通过负载均衡策略路由到不同的图数据库服务后创建的与所述图数据库服务的tcp连接;

6、通过所获取的tcp连接执行用户请求;

7、获取用户请求的响应,并根据所述响应情况进行分级重试处理。

8、在一些可能的实现方式中,在维护连接池之前,还包括:根据图数据库服务的健康状态确定客户端是否成功启动。

9、在一些可能的实现方式中,根据图数据库服务的健康状态确定客户端是否启动,具体包括:

10、若用户配置为要求客户端在启动时所有图数据服务均是可用状态,则在客户端启动前判断图数据库服务的健康状态,若所有图数据服务的健康状态都是可用状态,则成功启动客户端,否则客户端启动失败,或

11、若用户配置为未要求客户端在启动时所有图数据服务均是可用状态,则在客户端启动前判断图数据库服务的健康状态,若至少存在一个图数据服务的健康状态是可用状态,则成功启动客户端,否则客户端启动失败。

12、在一些可能的实现方式中,还包括:通过map数据结构维护图数据库服务的健康状态,其中,所述图数据库服务的健康状态包括可用状态和不可用状态,所述图数据库服务采用分布式部署。

13、在一些可能的实现方式中,维护连接池包括:

14、根据用户配置的连接池最大tcp连接数来确定队列的大小;

15、创建队列,所述队列用于存放与图数据库服务的tcp连接;

16、维护队列中tcp连接的状态,其中,所述队列中tcp连接的状态包括:空闲、占用和已失效。

17、在一些可能的实现方式中,维护连接池还包括:

18、监测所述tcp连接的有效性,自动将异常的tcp连接剔除队列;

19、设定所述tcp连接的最大生存周期,自动将队列中超出最大生存周期的tcp连接剔除。

20、在一些可能的实现方式中,根据所述响应情况进行分级重试处理,包括:

21、对所述响应进行解析;

22、若响应为成功或不可重试的错误码,则将所述响应的结果返回给用户;

23、若发生io tcp连接异常的错误码,则更新tcp连接,并重试所述用户请求,直至重试成功或达到预设最大重试次数;

24、若响应为可重试的执行失败的错误码,则重试所述用户请求,直至重试成功或达到预设最大重试次数;

25、若响应为可重试的session异常的错误码,则使用当前tcp连接重新进行鉴权认证以获取新的session id,再用当前tcp连接和新的session id重试所述用户请求,重复鉴权认证和用新的session id进行请求重试直至重试成功或达到预设最大重试次数。

26、第二方面,提供了一种分布式图数据库服务的负载均衡和重试装置,包括:

27、维护模块,用于维护连接池,其中,所述连接池中创建有多个与图数据库服务的tcp连接;

28、负载均衡模块,用于将接收到的用户请求利用负载均衡策略通过所述连接池中的tcp连接转发至图数据库服务,具体包括:

29、获取子模块,用于从所述连接池中获取tcp连接,其中,所获取的tcp连接由负载均衡器通过负载均衡策略路由到不同的图数据库服务后创建的与所述图数据库服务的tcp连接;

30、执行子模块,用于通过所获取的tcp连接执行用户请求;

31、重试子模块,用于获取用户请求的响应,并根据所述响应情况进行分级重试处理。

32、第三方面,提供了一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如上述第一方面中的任意一种实现方式中方法的步骤。

33、第四方面,提供了一种电子设备,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述第一方面中的任意一种实现方式中的方法。

34、本申请具有如下有益效果:本申请通过负载均衡和失败重试机制,在用户请求正确的情况下,使得客户端能够针对短时间的服务宕机、网络中断等偶然因素所导致的请求失败启动重试,从而实现了客户端请求的最终成功,能够达到100%的请求成功率,并且依赖客户端的负载均衡器实现请求路由到不同的图数据库服务上,有效的提升了用户请求的响应性能和并发度。

技术特征:

1.一种分布式图数据库服务的负载均衡和重试方法,其特征在于,包括:

2.根据权利要求1所述的分布式图数据库服务的负载均衡和重试方法,其特征在于,在维护连接池之前,还包括:根据图数据库服务的健康状态确定客户端是否成功启动。

3.根据权利要求2所述的分布式图数据库服务的负载均衡和重试方法,其特征在于,根据图数据库服务的健康状态确定客户端是否启动,具体包括:

4.根据权利要求1所述的分布式图数据库服务的负载均衡和重试方法,其特征在于,还包括:通过map数据结构维护图数据库服务的健康状态,其中,所述图数据库服务的健康状态包括可用状态和不可用状态,所述图数据库服务采用分布式部署。

5.根据权利要求1所述的分布式图数据库服务的负载均衡和重试方法,其特征在于,维护连接池包括:

6.根据权利要求5所述的分布式图数据库服务的负载均衡和重试方法,其特征在于,维护连接池还包括:

7.根据权利要求1-6中任一项所述的分布式图数据库服务的负载均衡和重试方法,其特征在于,根据所述响应情况进行分级重试处理,包括:

8.一种分布式图数据库服务的负载均衡和重试装置,其特征在于,包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1-7中任一项所述方法的步骤。

10.一种电子设备,其特征在于,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7中任一项所述的方法。

技术总结本申请涉及图数据库服务技术领域,解决了现有技术中由于短时间的服务器宕机、网络中断等偶然因素所导致的难以确保用户请求的高可用性的问题,公开了一种分布式图数据库服务的负载均衡和重试方法及装置,该方法包括:维护连接池,连接池中创建有多个与图数据库服务的TCP连接,将接收到的用户请求利用负载均衡策略通过所述连接池中的TCP连接转发至图数据库服务,通过负载均衡和失败重试机制,在用户请求正确的情况下,使得客户端能够针对短时间的服务宕机、网络中断等偶然因素所导致的请求失败启动重试,从而实现了客户端请求的最终成功。技术研发人员:王昌圆,鲁珊来,黄凤仙,叶小萌受保护的技术使用者:杭州悦数科技有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/197328.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。