一种数据库集群管理数据的方法、节点及系统

申请号 CN201410242052.X 申请日 2014-05-30 公开(公告)号 CN103984768B 公开(公告)日 2017-09-29
申请人 华为技术有限公司; 发明人 于巍; 刘辉军;
摘要 本 发明 实施例 提供一种 数据库 集群管理数据的方法、 节点 及系统,所述数据库集群包括第一双端口固态 硬盘 SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口SSD连接所述第一节点和所述第二节点,所述第二双端口SSD连接所述第二节点和所述第三节点,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据,从而实现第一节点Crash时,第二节点或者第三节点可以利用双端口SSD,读取Crash节点的日志信息,进行恢复后,代替第一节点对外提供服务,提升集群恢复速度,提高系统可用性。
权利要求

1.一种数据库集群管理数据的方法,其特征在于,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,所述方法包括:
所述第一节点将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
所述第一节点将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点在预先设置的周期内获取第一双端口固态硬盘SSD检查点checkpoint后的事务日志,并将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一节点和所述第二节点均是数据库实例的情况下,所述第一节点通过所述第一双端口固态硬盘SSD和所述第二节点直接进行数据传输。
4.根据权利要求3所述的方法,其特征在于,所述第一双端口固态硬盘SSD中至少一个端口为PCIE端口;所述第二双端口固态硬盘SSD中至少一个端口为PCIE端口。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
所述第二节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
所述第三节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
7.一种第一节点,其特征在于,数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、所述第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,所述第一节点包括:
写入单元,用于将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
8.根据权利要求7所述的第一节点,其特征在于,所述第一节点还包括:
获取单元,用于在预先设置的周期内获取第一双端口固态硬盘SSD检查点checkpoint后的事务日志;
归档单元,用于将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
9.根据权利要求7所述的第一节点,其特征在于,所述第一节点还包括:
传输单元,用于在所述第一节点和所述第二节点均是数据库实例的情况下,通过所述第一双端口固态硬盘SSD和所述第二节点直接进行数据传输。
10.根据权利要求9所述的第一节点,其特征在于,所述第一双端口固态硬盘SSD中至少一个端口为PCIE端口;所述第二双端口固态硬盘SSD中至少一个端口为PCIE端口。
11.根据权利要求7-10任意一项所述的第一节点,其特征在于,所述第一节点还包括:
启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
12.根据权利要求7-10任意一项所述的第一节点,其特征在于,所述第一节点还包括:
启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
13.一种数据库集群管理数据的系统,其特征在于,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,
所述第一节点,用于将事务日志写入所述第一双端口固态硬盘SSD;
所述第二节点,用于在所述第一节点宕机的情况下,从所述第一双端口固态硬盘SSD获取所述事务日志,并根据所述事务日志运行所述第一节点宕机Crash前的数据;或者,在所述第一节点宕机的情况下,从所述第一双端口固态硬盘SSD获取所述事务日志,将所述事务日志发送给所述第三节点,所述第三节点根据所述事务日志运行所述第一节点宕机Crash前的数据;
所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
14.根据权利要求13所述的系统,其特征在于,所述第一节点还包括:
获取单元,用于在预先设置的周期内获取双端口固态硬盘SSD检查点checkpoint后的事务日志;
归档单元,用于将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
15.根据权利要求13所述的系统,其特征在于,所述第一节点还包括:
传输单元,用于在所述第一节点和所述第二节点均是数据库实例的情况下,通过所述第一双端口固态硬盘SSD和所述第二节点直接进行数据传输。
16.根据权利要求15所述的系统,其特征在于,所述第一双端口固态硬盘SSD中至少一个端口为PCIE端口;所述第二双端口固态硬盘SSD中至少一个端口为PCIE端口。
17.根据权利要求13-16任意一项所述的系统,其特征在于,所述第一节点还包括:
启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
18.根据权利要求13-16任意一项所述的系统,其特征在于,所述第一节点还包括:
启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。

说明书全文

一种数据库集群管理数据的方法、节点及系统

技术领域

[0001] 本发明涉及数据库领域,尤其涉及到一种数据库集群管理数据的方法、节点及系统。

背景技术

[0002] 在数据库集群中的所有节点和共享磁阵连接,共享磁阵存储所有节点的数据。如果数据库集群中的某个节点宕机(Crash)后,会有一段时间无法使用该节点上更新的数据,导致部分业务受到影响。通常的解决方法是将节点的日志更新到共享磁阵,当该节点Crash时,其它节点读取该节点日志进行恢复,若其他节点未能读取该节点日志则必须等到该节点重新启动后,才能恢复该节点上的数据,之后对外提供服务,这一过程非常耗时,影响业务。同时,将日志信息更新到共享磁阵时,由于同步的日志量很大,也会极大的影响集群系统性能。

发明内容

[0003] 本发明实施例提供了一种数据库集群管理数据的方法、节点及系统,旨在解决节点宕机后恢复过程耗时影响业务的问题。
[0004] 第一方面,一种数据库集群管理数据的方法,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,所述方法包括:
[0005] 所述第一节点将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
[0006] 所述第一节点将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
[0007] 所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
[0008] 结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
[0009] 所述第一节点在预先设置的周期内获取第一双端口固态硬盘SSD检查点checkpoint后的事务日志,并将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0010] 结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:
[0011] 在所述第一节点和所述第二节点均是数据库实例的情况下,所述第一节点通过所述第一双端口固态硬盘SSD和所述第二节点直接进行数据传输。
[0012] 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一双端口固态硬盘SSD中至少一个端口为PCIE端口;所述第二双端口固态硬盘SSD中至少一个端口为PCIE端口。
[0013] 结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
[0014] 所述第二节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0015] 结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
[0016] 所述第三节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0017] 第二方面,一种第一节点,数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、所述第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,所述第一节点包括:
[0018] 写入单元,用于将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
[0019] 将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
[0020] 所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
[0021] 结合第二方面,在第二方面的第一种可能的实现方式中,所述第一节点还包括:
[0022] 获取单元,用于在预先设置的周期内获取第一双端口固态硬盘SSD检查点checkpoint后的事务日志;
[0023] 归档单元,用于将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0024] 结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一节点还包括:
[0025] 传输单元,用于在所述第一节点和所述第二节点均是数据库实例的情况下,通过所述第一双端口固态硬盘SSD和所述第二节点直接进行数据传输。
[0026] 结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一双端口固态硬盘SSD中至少一个端口为PCIE端口;所述第二双端口固态硬盘SSD中至少一个端口为PCIE端口。
[0027] 结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一节点还包括:
[0028] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0029] 结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,
[0030] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0031] 第三方面,一种数据库集群管理数据的系统,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,
[0032] 所述第一节点,用于将事务日志写入所述第一双端口固态硬盘SSD;
[0033] 所述第二节点,用于在所述第一节点宕机的情况下,从所述第一双端口固态硬盘SSD获取所述事务日志,并根据所述事务日志运行所述第一节点宕机Crash前的数据;或者,[0034] 在所述第一节点宕机的情况下,从所述第一双端口固态硬盘SSD获取所述事务日志,将所述事务日志发送给所述第三节点,所述第三节点根据所述事务日志运行所述第一节点宕机Crash前的数据;
[0035] 所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
[0036] 结合第三方面,在第三方面的第一种可能的实现方式中,所述第一节点还包括:
[0037] 获取单元,用于在预先设置的周期内获取双端口固态硬盘SSD检查点checkpoint后的事务日志;
[0038] 归档单元,用于将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0039] 结合第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一节点还包括:
[0040] 传输单元,用于在所述第一节点和所述第二节点均是数据库实例的情况下,通过所述第一双端口固态硬盘SSD和所述第二节点直接进行数据传输。
[0041] 结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一双端口固态硬盘SSD中至少一个端口为PCIE端口;所述第二双端口固态硬盘SSD中至少一个端口为PCIE端口。
[0042] 结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一节点还包括:
[0043] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0044] 结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0045] 本发明实施例提供一种数据库集群管理数据的方法,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口固态硬盘SSD连接所述第一节点和所述第二节点,所述第二双端口固态硬盘SSD连接所述第二节点和所述第三节点,所述第一节点将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,所述第一节点将事务日志写入所述第一双端口固态硬盘SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口固态硬盘SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输,从而实现第一节点Crash时,第二节点或者第三节点可以利用双端口固态硬盘SSD,读取Crash节点的日志信息,进行恢复后,代替第一节点对外提供服务,提升集群恢复速度,提高系统可用性。附图说明
[0046] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047] 图1是本发明实施例提供的一种数据库集群管理数据的系统结构图;
[0048] 图2是本发明实施例提供的一种数据库集群管理数据的结构示意图;
[0049] 图3是本发明实施例提供的一种数据库集群管理数据的结构示意图;
[0050] 图4是本发明实施例提供的一种数据库集群管理数据的结构示意图;
[0051] 图5是本发明实施例提供的一种数据库集群管理数据的方法示意图;
[0052] 图6是本发明实施例提供的一种数据库集群管理数据的方法流程图
[0053] 图7是本发明实施例提供的第一节点的装置结构图;
[0054] 图8是本发明实施例提供的一种第一节点的装置结构图。

具体实施方式

[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 参考图1,图1是本发明实施例提供的一种数据库集群管理数据的系统结构图。如图1所示,所述系统包括:
[0057] 第一双端口101、第二双端口102、第一节点103、第二节点104,第三节点105,第一双端口固态硬盘(Solid State Disk,SSD)101连接所述第一节点103和所述第二节点104,所述第二双端口102连接所述第二节点104和所述第三节点105,所述第二节点104分别连接所述第一双端口101、所述第二双端口102;
[0058] 所述第一节点103,用于将事务日志(transaction log)写入所述第一双端口SSD101;
[0059] 所述第二节点104,用于在所述第一节点103宕机的情况下,从所述第一双端口SSD101获取所述事务日志,并根据所述事务日志运行所述第一节点103宕机Crash前的数据;或者,
[0060] 在所述第一节点103宕机的情况下,从所述第一双端口SSD101获取所述事务日志,将所述事务日志发送给所述第三节点105,所述第三节点105根据所述事务日志运行所述第一节点103宕机Crash前的数据;
[0061] 所述第三节点105和所述第一节点103、所述第二节点104之间能互相进行数据传输。
[0062] 所述第一节点103还包括:
[0063] 获取单元,用于在预先设置的周期内获取第一双端口SSD检查点checkpoint后的事务日志;
[0064] 归档单元,用于将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0065] 具体的,参考图2-4,图2-4是本发明实施例提供的一种数据库集群管理数据的结构示意图。如图2所示,第一节点生成事务日志,并由后台写日志进程写入SSD,第一节点的日志定期到SSD中读取CheckPoint后的日志,第一节点的日志归档进程将CheckPoint后的日志归档到共享磁阵;第二节点通过第一双端口读取第一节点日志恢复后,代替第一节点工作。
[0066] 如图3,第一节点宕机后,第二节点从第一双端口读取第一节点的日志,第二节点开启新的数据库进程进行恢复,第二节点执行恢复后,对外提供服务,第二节点通过第一双端口读取第一节点的日志,将日志传递到其他节点进行恢复。
[0067] 如图4,第一节点宕机后,第二节点从SSD读取第一节点的日志,第二节点将日志传递到第三节点,第三节点获取第一节点的数据后,执行恢复操作后,对外提供服务。
[0068] 所述第一节点还包括:
[0069] 传输单元,用于在所述第一节点和所述第二节点均是数据库实例的情况下,通过所述第一双端口SSD和所述第二节点直接进行数据传输。
[0070] 具体的,如图5,图5是本发明实施例提供的一种数据库集群管理数据的方法示意图。
[0071] 如图5所示,第一节点和第二节点为数据库实例的情况下,可以直接通过双端口进行数据传输,从而避免网络拥塞等情况造成的数据传输速率慢等问题。
[0072] 可选地,所述第一双端口SSD中至少一个端口为PCIE端口;所述第二双端口SSD中至少一个端口为PCIE端口。
[0073] 可选地,所述第一节点还包括:
[0074] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0075] 可选地,所述第一节点还包括:
[0076] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0077] 本发明实施例提供一种数据库集群管理数据的系统,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口SSD连接所述第一节点和所述第二节点,所述第二双端口SSD连接所述第二节点和所述第三节点,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输,从而实现第一节点Crash时,第二节点或者第三节点可以利用双端口SSD,读取Crash节点的日志信息,进行恢复后,代替第一节点对外提供服务,提升集群恢复速度,提高系统可用性。
[0078] 参考图6,图6是本发明实施例提供的一种数据库集群管理数据的方法流程图。第一双端口SSD连接第一节点和第二节点,第二双端口SSD连接所述第二节点和第三节点,所述第二节点分别连接所述第一双端口SSD、所述第二双端口SSD,所述方法包括:
[0079] 步骤601,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
[0080] 所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
[0081] 所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
[0082] 所述方法还包括:
[0083] 所述第一节点在预先设置的周期内获取第一双端口SSD检查点checkpoint后的事务日志,并将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0084] 所述方法还包括:
[0085] 在所述第一节点和所述第二节点均是数据库实例的情况下,所述第一节点通过所述第一双端口SSD和所述第二节点直接进行数据传输。
[0086] 所述第一双端口SSD中至少一个端口为PCIE端口;所述第二双端口SSD中至少一个端口为PCIE端口。
[0087] 具体的,参考图2-4的描述。
[0088] 所述方法还包括:
[0089] 所述第二节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0090] 所述方法还包括:
[0091] 所述第三节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0092] 具体的,参考图5的描述。
[0093] 本发明实施例提供一种数据库集群管理数据的方法,所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口SSD连接所述第一节点和所述第二节点,所述第二双端口SSD连接所述第二节点和所述第三节点,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输,从而实现第一节点Crash时,第二节点或者第三节点可以利用双端口SSD,读取Crash节点的日志信息,进行恢复后,代替第一节点对外提供服务,提升集群恢复速度,提高系统可用性。
[0094] 参考图7,图7是本发明实施例提供的第一节点的装置结构图。如图7所示,[0095] 所述数据库集群包括第一双端口固态硬盘SSD、第二双端口固态硬盘SSD、第一节点、第二节点、第三节点,所述第一双端口SSD连接所述第一节点和所述第二节点,所述第二双端口SSD连接所述第二节点和所述第三节点,所述第一节点包括:
[0096] 写入单元701,用于将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
[0097] 将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
[0098] 所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
[0099] 可选地,所述第一节点还包括:
[0100] 获取单元,用于在预先设置的周期内获取第一双端口SSD检查点checkpoint后的事务日志;
[0101] 归档单元,用于将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0102] 可选地,所述第一节点还包括:
[0103] 传输单元,用于在所述第一节点和所述第二节点均是数据库实例的情况下,通过所述第一双端口SSD和所述第二节点直接进行数据传输。
[0104] 所述第一双端口SSD中至少一个端口为PCIE端口;所述第二双端口SSD中至少一个端口为PCIE端口。
[0105] 可选地,所述第一节点还包括:
[0106] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0107] 可选地,所述第一节点还包括:
[0108] 启动单元,用于启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0109] 具体的,参考图2-图5的描述。
[0110] 本发明实施例提供一种第一节点,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输,从而实现第一节点Crash时,第二节点或者第三节点可以利用双端口SSD,读取Crash节点的日志信息,进行恢复后,代替第一节点对外提供服务,提升集群恢复速度,提高系统可用性。
[0111] 图8是本发明实施例提供的一种第一节点的装置结构图。参考图8,图8是本发明实施例提供的一种第一节点800,本发明具体实施例并不对所述第一节点的具体实现做限定。所述第一节点800包括:
[0112] 处理器(processor)801,通信接口(Communications Interface)802,存储器(memory)803,总线804。
[0113] 处理器801,通信接口802,存储器803通过总线804完成相互间的通信。
[0114] 通信接口802,用于与其他设备进行通信;
[0115] 处理器801,用于执行程序。
[0116] 具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0117] 处理器801可能是一个中央处理器(central processing unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0118] 存储器803,用于存储程序。存储器803可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM),或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)。处理器801根据存储器803存储的程序指令,执行以下方法:
[0119] 所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,
[0120] 所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;
[0121] 所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输。
[0122] 所述方法还包括:
[0123] 所述第一节点在预先设置的周期内获取第一双端口SSD检查点checkpoint后的事务日志,并将所述checkpoint后的事务日志归档Archieve到共享磁盘阵列。
[0124] 所述方法还包括:
[0125] 在所述第一节点和所述第二节点均是数据库实例的情况下,所述第一节点通过所述第一双端口SSD和所述第二节点直接进行数据传输。
[0126] 所述第一双端口SSD中至少一个端口为PCIE端口;所述第二双端口SSD中至少一个端口为PCIE端口。
[0127] 所述方法还包括:
[0128] 所述第二节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第二节点中原数据库进程。
[0129] 所述方法还包括:
[0130] 所述第三节点启动另一数据库进程运行所述第一节点宕机前的数据,所述另一数据库进程独立于第三节点中原数据库进程。
[0131] 本发明实施例提供一种第一节点,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志,所述第二节点根据所述事务日志运行所述第一节点宕机前的数据;或者,所述第一节点将事务日志写入所述第一双端口SSD,以使得在所述第一节点宕机的情况下,所述第二节点从所述第一双端口SSD获取所述事务日志后,所述第二节点将所述事务日志发送到第三节点,所述第三节点运行所述第一节点宕机前的数据;所述第三节点和所述第一节点、所述第二节点之间能互相进行数据传输,从而实现第一节点Crash时,第二节点或者第三节点可以利用双端口SSD,读取Crash节点的日志信息,进行恢复后,代替第一节点对外提供服务,提升集群恢复速度,提高系统可用性。
[0132] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
QQ群二维码
意见反馈