System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库,具体而言,本申请涉及一种数据库的路由方法、服务端、客户端、设备及存储介质。
技术介绍
1、在分布式数据库上,数据是分布在多个数据节点实例上的,客户端需要通过路由功能连接到分布式数据库系统。
2、然而,当前的路由方法存在跨节点的数据访问次数多、网络耗时长、延迟高和性能低的问题。
技术实现思路
1、本申请实施例提供了一种数据库的路由方法、服务端、客户端、设备及存储介质,用于解决客户端跨节点的数据访问次数多,网络耗时长、性能低的技术问题。
2、根据本申请实施例的第一方面,提供了一种数据库的路由方法,应用于分布式数据库的服务端,分布式数据库包括多个数据节点,该方法包括:确定客户端通过当前目标数据节点访问的所述多个数据节点中的每一个数据节点的次数,选择访问次数最多的数据节点作为客户端的新的目标数据节点;其中,当前目标数据节点为多个数据节点中任意一个与客户端连接的节点;
3、响应于客户端的切换请求,在满足预设条件的情况下,向所述客户端返回新的目标数据节点,建立客户端与新的目标数据节点之间的连接。
4、在一个可能的实现方式中,服务端还包括:
5、存储模块,用于确定客户端通过当前目标数据节点访问的多个数据节点中的每一个数据节点的分片标识;
6、根据新的目标数据节点的分片标识确定新的目标数据节点的地址信息;
7、确定客户端和当前目标数据节点的地址信息;
8、将客户端和当前目标数据节点的地
9、在另一个可能的实现方式中,切换模块,包括:
10、接收单元,用于接收客户端发送的切换请求;切换请求包括:客户端和目标数据节点的地址信息;
11、第一确定单元,用于根据客户端和目标数据节点的地址信息,从缓存中确定新的目标数据节点的地址信息;
12、返回单元,用于在满足预设条件的情况下,向客户端返回新的目标数据节点的地址信息;
13、响应单元,用于响应于接收客户端基于新的目标数据节点的地址信息发送的连接请求,建立客户端与新的目标数据节点之间的连接。
14、在又一个可能的实现方式中,服务端还包括:
15、处理模块,用于接收客户端发送的路由请求;
16、基于路由请求,从多个数据节点中确定当前目标数据节点;
17、向客户端发送当前目标数据节点的地址信息;
18、响应于客户端发送的连接请求,建立客户端与当前目标数据节点之间的连接。
19、在又一个可能的实现方式中,服务端还包括:
20、清空模块,用于对已确定的客户端通过当前目标数据节点访问的多个数据节点中的每一个数据节点的次数进行清零,并重新确定客户端通过新的目标数据节点访问多个数据节点中的每一个数据节点的次数。
21、在又一个可能的实现方式中,预设条件包括:
22、客户端与当前目标数据节点连接之后,未启动事务或者事务已结束;
23、新的目标数据节点和当前目标数据节点不相同。
24、根据本申请实施例的第二方面,提供了一种数据库的路由方法,应用于客户端,方法包括:在与当前目标数据节点连接的情况下,向服务端发起切换请求;当前目标数据节点为分布式数据库的多个数据节点中的任意一个数据节点;
25、接收服务端返回的新的目标数据节点,断开与当前目标数据节点之间的连接,建立与新的目标数据节点之间的连接;
26、其中,新的目标数据节点为客户端通过当前目标数据节点访问次数最多的数据节点。
27、在一个可能的实现方式中,客户端还包括:
28、路由请求发送模块,用于向服务端发送路由请求;
29、基于接收的当前目标数据节点的地址信息,向服务端发起连接请求,供服务端建立客户端与当前目标数据节点之间的连接。
30、在又一个可能的实现方式中,请求模块包括:
31、接收单元,用于接收服务端返回的新的目标数据节点的地址信息;新的目标数据节点的地址信息是基于客户端和当前目标数据节点的地址信息从服务端的缓存中确定的;
32、连接单元,用于基于新的目标数据节点的地址信息,向服务端发送连接请求,供服务端建立客户端与新的目标数据节点之间的连接。
33、根据本申请实施例的第三方面,提供了一种分布式数据库的服务端,分布式数据库包括多个数据节点,该装置包括:
34、确定模块,用于确定客户端通过当前目标数据节点访问的多个数据节点中的每一个数据节点的次数,选择访问次数最多的数据节点作为客户端的新的目标数据节点;其中,当前目标数据节点为多个数据节点中任意一个与客户端连接的节点;
35、切换模块,用于响应于客户端的切换请求,在满足预设条件的情况下,断开客户端与当前目标数据节点的连接,建立客户端与新的目标数据节点之间的连接。
36、根据本申请实施例的第四方面,提供了一种客户端,装置包括:请求模块,用于在与当前目标数据节点连接的情况下,向服务端发起切换请求;当前目标数据节点为分布式数据库的多个数据节点中的任意一个数据节点;
37、接收模块,用于接收服务端返回的新的目标数据节点,断开与当前目标数据节点之间的连接,建立与新的目标数据节点之间的连接;
38、其中,新的目标数据节点为客户端通过当前目标数据节点访问次数最多的数据节点。
39、根据本申请实施例的第五方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行程序时实现如第一方面所提供的方法的步骤。
40、根据本申请实施例的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
41、根据本申请实施例的第七方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中,当计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行实现如第一方面所提供的方法的步骤。
42、本申请实施例提供的技术方案带来的有益效果是:
43、本申请实施例提供的数据库的路由方法,通过在客户端连接当前目标数据节点时,确定客户端通过当前目标数据节点访问的多个数据节点中的每一个数据节点的次数,实时了解客户端当前数据节点的访问倾向,选择客户端通过当前目标数据节点访问最多的数据节点作为新的目标数据节点,在客户端想要发起切换请求,且满足切换条件的情况下,将客户端与当前目标数据节点的连接断开,建立客户端与新的目标数据节点之间连接,使得客户端可以不通过当前目标数据节点对新的目标数据节点进行访问,从而减少了客户端跨节点的数据访问次数,减少了网络延迟、提高了性能。
本文档来自技高网...【技术保护点】
1.一种数据库的路由方法,其特征在于,应用于分布式数据库的服务端,所述分布式数据库包括多个数据节点,所述方法包括:
2.根据权利要求1所述的数据库的路由方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的数据库的路由方法,其特征在于,响应于所述客户端的切换请求,在满足预设条件的情况下,向所述客户端返回新的目标数据节点,建立所述客户端与所述新的目标数据节点之间的连接,包括:
4.根据权利要求1所述的数据库的路由方法,其特征在于,所述确定客户端通过当前目标数据节点访问的所述多个数据节点中的每一个数据节点的次数之前,还包括:
5.根据权利要求1所述的数据库的路由方法,其特征在于,所述建立所述客户端与所述新的目标数据节点的连接,之后还包括:
6.根据权利要求1所述的数据库的路由方法,其特征在于,所述预设条件包括:
7.一种数据库的路由方法,其特征在于,应用于客户端,所述方法包括:
8.根据权利要求7所述的数据库的路由方法,其特征在于,所述在与当前目标数据节点连接之前,还包括:
9.根据
10.一种分布式数据库的服务端,其特征在于,所述分布式数据库包括多个数据节点,所述服务端包括:
11.一种客户端,其特征在于,所述装置包括:
12.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-6任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
...【技术特征摘要】
1.一种数据库的路由方法,其特征在于,应用于分布式数据库的服务端,所述分布式数据库包括多个数据节点,所述方法包括:
2.根据权利要求1所述的数据库的路由方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的数据库的路由方法,其特征在于,响应于所述客户端的切换请求,在满足预设条件的情况下,向所述客户端返回新的目标数据节点,建立所述客户端与所述新的目标数据节点之间的连接,包括:
4.根据权利要求1所述的数据库的路由方法,其特征在于,所述确定客户端通过当前目标数据节点访问的所述多个数据节点中的每一个数据节点的次数之前,还包括:
5.根据权利要求1所述的数据库的路由方法,其特征在于,所述建立所述客户端与所述新的目标数据节点的连接,之后还包括:
6.根据权利要求1所述的数据库的路由方法,其特征在于,所述预设条件包括:
7.一种数据库的路由方法,其特征在于...
【专利技术属性】
技术研发人员:蔡哲军,陈云峰,曹升东,廖鸿伟,毛晨,张智佳,
申请(专利权)人:湖南亚信安慧科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。