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、第五方面,本专利技术实施例提供一种计算机程序产品,所述计算机程序产品中存储有指令,当计算机读取并执行所述指令时,使得计算机执行上述第一方面任一种可能的实现方式中的方法。
本文档来自技高网...【技术保护点】
1.一种访问数据库的方法,其特征在于,所述方法应用于客户端设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,当所述数据库列表包括多个从数据库时,从所述数据库列表中确定目标数据库,包括:
5.一种访问数据库的装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,所述接收单元还用于,接收来自服务端设备的第一指示信息,所述第一指示信息用于指示所述数据库列表中的第一数据库发生故障,所述第一数据库为从数据库;
7.根据权利要求6所述的装置,其特征在于,所述接收单元还用于,接收来自服务端设备的第二指示信息,所述第二指示信息用于指示所述第一数据库恢复为可用数据库;
8.根据权利要求5至7中任一项所述的装置,其特征在于,当所述数据库列表包括多个从数据库时,从所述数据库列表中确定目标数据库,所述处理单元还用于,根据所述多个从数据库的权重,从所述数据库
9.一种访问数据库的装置,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机读取并执行所述指令时,使得所述计算机执行如权利要求1至4中任一项所述的方法。
...【技术特征摘要】
1.一种访问数据库的方法,其特征在于,所述方法应用于客户端设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,当所述数据库列表包括多个从数据库时,从所述数据库列表中确定目标数据库,包括:
5.一种访问数据库的装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,所述接收单元还用于,接收来自服务端设备的第一指示信息,所述第一指示信息用于指示所述数据库列表中的第一数据库发生故障,所述第一数据库为从数据库;
7.根据权利要求6所述的装置,...
【专利技术属性】
技术研发人员:陈泉浈,韩贤涛,刘璟宇,王玉翔,
申请(专利权)人:上海耳序信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。