【技术实现步骤摘要】
主数据库选取方法、装置、系统、设备及介质
[0001]本专利技术实施例涉及计算机
,尤其涉及一种主数据库选取方法、装置、系统、设备及存储介质。
技术介绍
[0002]现有共享存储系统的架构通常包括一个主数据库与多个从数据库。该主数据库与多个从数据库共享一份数据。
[0003]在共享存储系统中,如果主数据库发生故障,现有技术通常使用一致性协议进行集群选主,从多个从数据库中选出一个作为新主数据库的从数据库,然后执行角色切换流程,使该从数据库变为新的主数据库。在实现本专利技术过程中,专利技术人发现现有技术的共享存储系统的主数据库选取方法至少存在网络开销大的问题。
技术实现思路
[0004]本专利技术实施例提供了一种主数据库选取方法、装置、系统、设备及存储介质,以减少在共享存储系统因选取主数据库选取导致的网络开销。
[0005]第一方面,本专利技术实施例提供了一种共享存储系统的主数据库选取方法,所述方法包括:
[0006]接收主数据库与至少两个从数据库定时发送的心跳信息,各所述从数据库发送的心跳信息包括对应从数据库的负载信息;
[0007]在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;
[0008]向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。
[0009]第二方 ...
【技术保护点】
【技术特征摘要】
1.一种共享存储系统的主数据库选取方法,其特征在于,该方法包括:接收主数据库与至少两个从数据库定时发送的心跳信息,各所述从数据库发送的心跳信息包括对应从数据库的负载信息;在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。2.根据权利要求1所述的方法,其特征在于,所述心跳信息还包括心跳信息的发送时刻,所述基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库,包括:确定各所述从数据库的心跳信息对应的发送时刻距离当前时刻的时长;从所有从数据库中删除所述时长大于设定时长阈值的从数据库,以得到目标从数据库集合;在所述目标从数据库集合包括至少两个从数据库的情况下,基于各所述从数据库的负载信息从所述目标从数据库集合中选取最优从数据库。3.根据权利要求2所述的方法,其特征在于,所述心跳信息还包括预写日志复制延迟时长,所述在所述从数据库目标集合不为空的情况下,基于各所述从数据库的负载信息从所述目标从数据库集合中选取最优从数据库之前,还包括:从所述目标从数据库集合中,删除所述预写日志复制延迟时长大于设定延迟时长的从数据库,以更新所述目标从数据库集合;所述基于各所述从数据库的负载信息从所述目标从数据库集合中选取最优从数据库,包括:基于各所述从数据库的负载信息和预写日志复制延迟时长,从更新后的所述目标从数据库集合中选取最优从数据库。4.根据权利要求3所述的方法,其特征在于,所述基于各所述从数据库的负载信息和预写日志复制延迟时长,从更新后的所述目标从数据库集合中选取最优从数据库,包括:对于各所述从数据库,对当前从数据库的负载信息和所述复制延迟时长进行加权求和,以得到当前从数据库的性能评价数据;根据各所述从数据库的性能评价数据从更新后的所述目标从数据库集合中选取最优从数据库。5.根据权利要求1
‑
4任一所述的方法,其特征在于,所述负载信息包括吞吐量与每秒查询率中的至少一项。6.根据权利要求1所述的方法,其特征在于,在向所述最优从数据库发送角色切换任务之后,还包括:接收所述最优从数据库发送的包括角色切换结果的心跳信息;如果角色切换结果对应角色切换失败,则再次向所述最优从数据库发送角色切换任务,直至所述角色切换结果对应角色切换成功,或者角色切换任务发送次数达到设定次数;在确定所述角色切换任务发送次数达到设定次数的情况下,基于其他从数据库的负载信息从所述其他从数据库中选取最优从数据库,并返回向所述最优从数据库发送角色切换
任务的步骤,直至所述角色切换结果对应角色切换成功。7.根据权利要求1所述的方法,其特征在于,通过以下步骤确定主数据库是否发生故障:在第二设定时长内未接收到所述主数据库发送的心跳信息的情况下,检查所述主数据库是否出现故障;如果否,则在设定保持时间内保持所述主数据库的主数据库角色;如果在所述设定...
【专利技术属性】
技术研发人员:刘欢,张成远,张广超,葛集斌,
申请(专利权)人:京东科技信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。