主数据库选取方法、装置、系统、设备及介质制造方法及图纸

技术编号:38595537 阅读:7 留言:0更新日期:2023-08-26 23:32
本发明专利技术实施例公开了一种主数据库选取方法、装置、系统、设备及存储介质,涉及计算机技术领域。该方法包括:接收主数据库与至少两个从数据库定时发送的心跳信息,各所述从数据库发送的心跳信息包括对应从数据库的负载信息;在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。采用本发明专利技术实施例的技术方案,可以大幅降低共享存储系统在主数据库选取过程中的网络开销。储系统在主数据库选取过程中的网络开销。储系统在主数据库选取过程中的网络开销。

【技术实现步骤摘要】
主数据库选取方法、装置、系统、设备及介质


[0001]本专利技术实施例涉及计算机
,尤其涉及一种主数据库选取方法、装置、系统、设备及存储介质。

技术介绍

[0002]现有共享存储系统的架构通常包括一个主数据库与多个从数据库。该主数据库与多个从数据库共享一份数据。
[0003]在共享存储系统中,如果主数据库发生故障,现有技术通常使用一致性协议进行集群选主,从多个从数据库中选出一个作为新主数据库的从数据库,然后执行角色切换流程,使该从数据库变为新的主数据库。在实现本专利技术过程中,专利技术人发现现有技术的共享存储系统的主数据库选取方法至少存在网络开销大的问题。

技术实现思路

[0004]本专利技术实施例提供了一种主数据库选取方法、装置、系统、设备及存储介质,以减少在共享存储系统因选取主数据库选取导致的网络开销。
[0005]第一方面,本专利技术实施例提供了一种共享存储系统的主数据库选取方法,所述方法包括:
[0006]接收主数据库与至少两个从数据库定时发送的心跳信息,各所述从数据库发送的心跳信息包括对应从数据库的负载信息;
[0007]在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;
[0008]向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。
[0009]第二方面,本专利技术实施例还提供了一种共享存储系统的主数据库选取装置,该装置包括:
[0010]心跳信息模块,用于接收主数据库与至少两个从数据库定时发送的心跳信息,各所述从数据库发送的心跳信息包括对应从数据库的负载信息;
[0011]最优从数据库模块,用于在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;
[0012]角色切换模块,用于向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。
[0013]第三方面,本专利技术实施例提供了一种共享存储系统,所述系统包括控制设备、主数据库的与至少两个从数据库;
[0014]所述主数据库与所述从数据库均被配置为,定时向所述控制设备发送心跳信息,所述心跳信息包括对应从数据库的负载信息;
[0015]所述控制设备被配置为,在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下成为新的主数据库;
[0016]所述最优从数据库被配置为,根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。
[0017]第四方面,本专利技术实施例提供了一种电子设备,所述电子设备包括:
[0018]一个或多个处理器;
[0019]存储器,用于存储一个或多个程序;
[0020]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所提供的共享存储系统的主数据库选取方法。
[0021]第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所提供的共享存储系统的主数据库选取方法。
[0022]上述专利技术中的实施例具有如下优点或有益效果:
[0023]本专利技术实施例提供的共享存储系统的主数据库选取方法的技术方案,相较于现有技术,控制设备实时获取用于反映主数据库运行状态与从数据库运行状态的心跳信息,实时掌握主数据库与从数据库的实时状态;在发现主数据库出现故障的情况下,发起主数据库选取流程;将主数据库切换为从数据库;基于各从数据库的负载信息准确地从所有从数据库中选取最优从数据库;通过角色切换任务通知其进行角色切换;最优从数据库根据该角色切换任务进行角色转换,并在角色转换成功的情况下变更为新的主数据库;控制设备的引入整体上简化了主数据库的选取流程,在主数据库发生异常的情况下,仅最优从数据库因角色转换发生网络开销外,其他从数据库没有额外的网络开销,因此从整体上可以大幅减少共享存储系统在主数据库选取时所需的网络开销。
附图说明
[0024]图1A是本专利技术实施例提供的共享存储系统的主数据库选取方法的流程示意图;
[0025]图1B是本专利技术实施例提供的共享存储系统的结构框图;
[0026]图2是本专利技术实施例提供的最优从数据库选取方法的流程示意图;
[0027]图3是本专利技术实施例提供的又一共享存储系统的主数据库选取方法的流程示意图;
[0028]图4是本专利技术实施例提供的又一共享存储系统的主数据库选取方法的流程示意图;
[0029]图5A是本专利技术实施例提供的共享存储系统的主数据库选取装置的结构示意图;
[0030]图5B是本专利技术实施例提供的又一共享存储系统的主数据库选取装置的结构示意图;
[0031]图6是本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0032]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0033]图1A为本专利技术实施例提供的共享存储系统的主数据库选取方法的流程图,本实施例适用于通过控制设备进行共享存储系统的主数据库选取情况。该方法可以由共享存储系统的主数据库选取装置来执行,该装置可以由软件和/或硬件的方式来实现。如图1A所示,该方法具体包括以下步骤:
[0034]S110、接收主数据库与至少两个从数据库定时发送的心跳信息,各从数据库发送的心跳信息包括对应从数据库的负载信息。
[0035]其中,控制设备为个人计算机设备、掌上电脑、服务器设备等电子设备中的任一种。控制设备被配置为实时接收主数据库与至少两个从数据库定时发送的心跳信息。
[0036]如图1B所示,共享存储系统包括控制设备、主数据库与至少两个从数据库。主数据库与从数据库均可提供数据查询服务。主数据库可向共享存储空间分享预写日志与内容数据,以及从共享存储空间获取内存数据;而从数据库只能从共享存储空间加载预写日志,并基于该预写日志确定对应的内存数据,以供用户查询。从数据库可提供主数据库分享到共享存储空间的数据的查询服务;如果某一数据未被主数据库分享到共享存储空间内,则从数据库无法提供该数据的查询服务。
[0037]主数据库与从数据库可被配置为基于相同的时间间隔向控制设备发送心跳信息,比如时间间本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共享存储系统的主数据库选取方法,其特征在于,该方法包括:接收主数据库与至少两个从数据库定时发送的心跳信息,各所述从数据库发送的心跳信息包括对应从数据库的负载信息;在基于所述主数据库的心跳信息确定所述主数据库出现故障的情况下,将所述主数据库切换为从数据库,基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库;向所述最优从数据库发送角色切换任务,以使所述最优从数据库根据所述角色切换任务进行角色切换,并在角色切换成功的情况下变更为新的主数据库。2.根据权利要求1所述的方法,其特征在于,所述心跳信息还包括心跳信息的发送时刻,所述基于各所述从数据库的负载信息从所有从数据库中选取最优从数据库,包括:确定各所述从数据库的心跳信息对应的发送时刻距离当前时刻的时长;从所有从数据库中删除所述时长大于设定时长阈值的从数据库,以得到目标从数据库集合;在所述目标从数据库集合包括至少两个从数据库的情况下,基于各所述从数据库的负载信息从所述目标从数据库集合中选取最优从数据库。3.根据权利要求2所述的方法,其特征在于,所述心跳信息还包括预写日志复制延迟时长,所述在所述从数据库目标集合不为空的情况下,基于各所述从数据库的负载信息从所述目标从数据库集合中选取最优从数据库之前,还包括:从所述目标从数据库集合中,删除所述预写日志复制延迟时长大于设定延迟时长的从数据库,以更新所述目标从数据库集合;所述基于各所述从数据库的负载信息从所述目标从数据库集合中选取最优从数据库,包括:基于各所述从数据库的负载信息和预写日志复制延迟时长,从更新后的所述目标从数据库集合中选取最优从数据库。4.根据权利要求3所述的方法,其特征在于,所述基于各所述从数据库的负载信息和预写日志复制延迟时长,从更新后的所述目标从数据库集合中选取最优从数据库,包括:对于各所述从数据库,对当前从数据库的负载信息和所述复制延迟时长进行加权求和,以得到当前从数据库的性能评价数据;根据各所述从数据库的性能评价数据从更新后的所述目标从数据库集合中选取最优从数据库。5.根据权利要求1

4任一所述的方法,其特征在于,所述负载信息包括吞吐量与每秒查询率中的至少一项。6.根据权利要求1所述的方法,其特征在于,在向所述最优从数据库发送角色切换任务之后,还包括:接收所述最优从数据库发送的包括角色切换结果的心跳信息;如果角色切换结果对应角色切换失败,则再次向所述最优从数据库发送角色切换任务,直至所述角色切换结果对应角色切换成功,或者角色切换任务发送次数达到设定次数;在确定所述角色切换任务发送次数达到设定次数的情况下,基于其他从数据库的负载信息从所述其他从数据库中选取最优从数据库,并返回向所述最优从数据库发送角色切换
任务的步骤,直至所述角色切换结果对应角色切换成功。7.根据权利要求1所述的方法,其特征在于,通过以下步骤确定主数据库是否发生故障:在第二设定时长内未接收到所述主数据库发送的心跳信息的情况下,检查所述主数据库是否出现故障;如果否,则在设定保持时间内保持所述主数据库的主数据库角色;如果在所述设定...

【专利技术属性】
技术研发人员:刘欢张成远张广超葛集斌
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1