数据补全方法和装置的制造方法

文档序号:8223568阅读:484来源:国知局
数据补全方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,具体涉及一种数据补全方法和装置。
【背景技术】
[0002]在目前,关系型数据库的应用非常广泛,例如MYSQL数据库。目前,关系型数据库集群中多采用一主多从的架构。如图1所示,为一MYSQL数据库集群的架构示意图,其包括:主数据库master和三个从数据库,三个从数据库分别为:
[0003]Slave-K Slave-2 和 Slave3。
[0004]例如图1中所示,Slave-1和Slave-2位于机房1,Slave3位于机房2。主数据库master分别与从数据库Slave-1、Slave-2和Slave3连接。
[0005]在现实对数据库的使用中,主数据库master有可能因为各种原因宕机,为了减少数据库对业务的影响,这时则需要选择一个从数据库作为新的主数据库来代替原来的主数据库。在数据库集群中要求主数据库中需保存有当前数据库集群中最新的数据,因此需要对新的主数据库中的数据进行补全。但是,目前并没有有效的技术手段能在数据库集群的主数据库进行切换时对新的主数据库进行数据补全。

【发明内容】

[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据补全方法和相应地装置。
[0007]依据本发明的一个方面,提供了一种数据补全方法,应用于主从式数据库集群中主数据库切换,所述方法包括:
[0008]从所述数据库集群中选择一从数据库以作为新的主数据库;
[0009]依次建立所述新的主数据库与所有其他从数据库的第一连接;
[0010]将所述新的主数据库与所有其他从数据库的数据分别进行比对,以将所有其他从数据库中的新数据同步到所述新的主数据库中;以及
[0011]当完成对所述所有其他从数据库的数据比对时,结束对所述新的主数据库的数据补全。
[0012]可选地,所述从所述数据库集群中选择一从数据库以作为新的主数据库的步骤进一步包括:
[0013]在所述依次建立新的主数据库与所有从数据库的连接之前,获取所述数据库集群的所有从数据库的列表;以及
[0014]在所述列表记录的所述所有从数据库中,筛选得到一符合预设条件的从数据库作为新的主数据库。
[0015]可选地,所述预定条件包括以下至少之一:
[0016]从数据库状态标识为alive ;以及
[0017]从数据库延迟事务数量小于预设数量。
[0018]可选地,所述第一连接为主从式连接,且所述其他从数据库与所述新的主数据库分别具有主、从地位。
[0019]可选地,所述将所述新的主数据库与所有其他从数据库的数据分别进行比对,以将所有其他从数据库中的新数据同步到所述新的主数据库中的步骤进一步包括:
[0020]在完成所述新的主数据库与一其他从数据库的数据比对之后,断开两者之间的所述第一连接。
[0021]可选地,所述方法进一步包括:
[0022]在结束对所述新的主数据库的数据补全之后,依次建立所述新的主数据库与所有其他从数据库之间的第二连接;以及
[0023]将所述新的主数据库的数据同步至所有其他从数据库。
[0024]可选地,所述第二连接为主从式连接,且所述新的主数据库与所述其他从数据库分别具有主、从的地位。
[0025]可选地,所述数据库集群为MYSQL数据库集群。
[0026]依据本发明的一个方面,提供了一种数据补全方法,应用于主从式数据库集群中主数据库切换,所述方法包括:
[0027]a)从所述数据库集群中选择一从数据库以作为新的主数据库;
[0028]b)建立所述新的主数据库与一其他从数据库的第一连接;
[0029]c)将所述新的主数据库与所述其他从数据库的数据进行比对,以将所述其他从数据库中的新数据同步到所述新的主数据库中;
[0030]d)重复步骤b)和C),直至所述新的主数据库与所有其他从数据库都完成数据比对;以及
[0031]e)建立所述新的主数据库与所有其他从数据库之间的第二连接,以将所述新的主数据库的数据同步至所有其他从数据库。
[0032]可选地,所述将所述新的主数据库与所述其他从数据库的数据进行比对,以将所述其他从数据库中的新数据同步到所述新的主数据库中的步骤进一步包括:
[0033]f)在完成所述新的主数据库与所述其他从数据库的数据比对之后,断开两者之间的所述第一连接。
[0034]可选地,所述第一连接为主从式连接,且所述其他从数据库与所述新的主数据库分别具有主、从地位。
[0035]可选地,所述第二连接为主从式连接,且所述新的主数据库与所述其他从数据库分别具有主、从的地位。
[0036]依据本发明的一个方面,提供了一种数据补全装置,应用于主从式数据库集群中主数据库切换,所述装置包括:
[0037]第一主库选取模块,适于从所述数据库集群中选择一从数据库以作为新的主数据库;
[0038]第一连接建立模块,适于依次建立所述新的主数据库与所有其他从数据库的第一连接;
[0039]第一同步模块,适于将所述新的主数据库与所有其他从数据库的数据分别进行比对,以将所有其他从数据库中的新数据同步到所述新的主数据库中;
[0040]第一补全确认模块,适于当完成对所述所有其他从数据库的数据比对时,结束对所述新的主数据库的数据补全。
[0041]可选地,所述第一主库选取模块进一步包括:
[0042]列表获取单元,适于在所述依次建立新的主数据库与所有从数据库的连接之前,获取所述数据库集群的所有从数据库的列表;
[0043]主库筛选单元,适于在所述列表记录的所述所有从数据库中,筛选得到一符合预设条件的从数据库作为新的主数据库。
[0044]可选地,所述预定条件包括以下至少之一:
[0045]从数据库状态标识为alive ;以及
[0046]从数据库延迟事务数量小于预设数量。
[0047]可选地,所述第一连接为主从式连接,且所述其他从数据库与所述新的主数据库分别具有主、从地位。
[0048]可选地,所述第一同步模块进一步适于:
[0049]在完成所述新的主数据库与一其他从数据库的数据比对之后,断开两者之间的所述第一连接。
[0050]可选地,所述装置进一步包括:
[0051]第二连接建立模块,适于在结束对所述新的主数据库的数据补全之后,依次建立所述新的主数据库与所有其他从数据库之间的第二连接;
[0052]第二同步模块,适于将所述新的主数据库的数据同步至所有其他从数据库。
[0053]可选地,所述第二连接为主从式连接,且所述新的主数据库与所述其他从数据库分别具有主、从的地位。
[0054]可选地,所述数据库集群为MYSQL数据库集群。
[0055]依据本发明的一个方面,提供了一种数据补全装置,应用于主从式数据库集群中主数据库切换,所述装置包括:
[0056]第二主库选取模块,适于从所述数据库集群中选择一从数据库以作为新的主数据库;
[0057]第三连接建立模块,适于建立所述新的主数据库与一其他从数据库的第一连接;
[0058]第三同步模块,适于将所述新的主数据库与所述其他从数据库的数据进行比对,以将所述其他从数据库中的新数据同步到所述新的主数据库中;
[0059]第二补全确认模块,适于重复第三连接建立模块与所述第三同步模块执行的操作,直至所述新的主数据库与所有其他从数据库都完成数据比对;
[0060]第四连接建立模块,适于建立所述新的主数据库与所有其他从数据库之间的第二连接,以将所述新的主数据库的数据同步至所有其他从数据库。
[0061]可选地,所述第三同步模块进一步适于:
[0062]在完成所述新的主数据库与所述其他从数据库的数据比对之后,断开两者之间的所述第一连接。
[0063]可选地,所述第一连接为主从式连接,且所述其他从数据库与所述新的主数据库分别具有主、从地位。
[0064]可选地,所述第二连接为主从式连接,且所述新的主数据库与所述其他从数据库分别具有主、从的地位。
[0065]本发明实施例提供了一种数据补全方法和装置,在主从式的数据库集群进行主数据库切换的过程中,从数据库集群中选择一从数据库以作为新的主数据库,依次建立新的主数据库与所有其他从数据库的第一连接,将新的主数据库与所有其他从数据库的数据分别进行比对,以将所有其他从数据库中的新数据同步到所述新的主数据库中,以完成对新的主数据库的数据补全,使新的主数据库拥有数据库集群中最新的数据,保证主数据库的顺利切换,从而不会影响数据库的业务的正常进行。
[0066]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0067]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0068]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0069]图1是现有的一种MYSQL数据库集群的架构示意图;
[0070]图2是本发明一个实施例提供的一种数据补全方法流程示意图;
[0071]图3是本发明一个实施例提供的一种MYSQL数据库集群中的主数据库切换时的数据补全
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1