一种记录数据库日志的方法、装置及系统的制作方法

文档序号:6630195阅读:185来源:国知局
一种记录数据库日志的方法、装置及系统的制作方法
【专利摘要】本发明实施例提供一种记录数据库日志的方法、设备及系统。该方法包括:主协调节点接收数据库系统内的计算节点发送的事务日志,并将事务日志记录在主快存上。主快存与主协调节点关联。事务日志为记录了对应事务的数据库日志。在将事务日志记录在主快存之后,主协调节点向计算节点发送主反馈信息以使计算节点执行对应事务。主反馈信息指示主协调节点完成在主快存上记录事务日志。在将事务日志记录在主快存之后,主协调节点将事务日志写入慢存。主快存为具有第一类存储速度的非易失性存储设备。慢存为具有第二类存储速度的非易失性存储设备。第一类存储速度大于所述第二类存储速度。
【专利说明】一种记录数据库日志的方法、装置及系统

【技术领域】
[0001]本发明涉及数据库领域,尤其涉及一种记录数据库日志的方法、装置及系统。

【背景技术】
[0002]在数据库系统中执行事务(如修改数据库中的数据)前,会先记录执行该事务的数据库日志,以在数据库系统中的设备崩溃时,利用数据库日志恢复数据。图1所示为现有技术中的集群数据库系统100。集群数据库系统100包括计算节点112、114及116、协调节点122及124、网状通道106及闪存阵列108。在计算节点,如112执行事务前,计算节点112通过网状通道106将相应的数据库日志记录在闪存阵列108中。由于所有计算节点执行事务的数据库日志都记录在闪存阵列上,所需的闪存阵列容量较大,价钱较高。
[0003]本发明致力于提供一种更优的解决方案。


【发明内容】

[0004]本发明实施例提供一种记录数据库日志的方法、装置及系统,使得记录数据库日志的装置成本更低。
[0005]第一方面,本发明实施例提供了一种记录数据库日志的方法,应用于数据库系统内,包括:主协调节点接收所述数据库系统内的计算节点发送的事务日志,并将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联,所述事务日志为记录了对应事务的数据库日志;在将所述事务日志记录在所述主快存之后,所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及在将所述事务日志记录在主快存之后,所述主协调节点将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易失性存储设备;所述第一类存储速度大于所述第二类存储速度。
[0006]在第一方面的第一种可能的实现方式中,所述主协调节点接收所述数据库系统内的计算节点发送的事务日志包括,所述主协调节点通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
[0007]结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述高速网络包括无尽宽带(Infiniband,IB)网络。
[0008]结合第一方面,或者第一方面第一种以及第二种可能的实现方式中的任意一种可能的实现方式,在第三种可能的实现方式中,所述主快存的读写时延不大于微秒(us)级。
[0009]结合第一方面,或者第一方面第一种、第二种以及第三种可能的实现方式中的任意一种可能的实现方式,在第四种可能的实现方式中,所述主快存包括以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
[0010]结合第一方面,或者第一方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述主协调节点将所述事务日志写入慢存与所述计算节点执行所述对应事务可同步或异步进行。
[0011]结合第一方面,或者第一方面第一至第五种任意一种可能的实现方式,在第六种可能的实现方式中,所述主协调节点将所述事务日志写入慢存包括:若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述主协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述主协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
[0012]结合第一方面,或者第一方面第一至第六种任意一种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:所述主协调节点将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
[0013]结合第一方面第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:所述主协调节点接收所述备协调节点向所述主协调节点发送的备反馈信息,所述备反馈信息指示所述备协调节点完成在所述备快存上记录所述事务日志;及所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务包括:所述主协调节点在接收到所述备反馈信息之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务。
[0014]结合第一方面第七种可能的实现方式以及第八种可能的实现方式中的任意一种可能的实现方式,在第九种可能的实现方式中,所述方法还包括:若备协调节点监控到所述主协调节点将所述事务日志写入所述慢存失效,则所述备协调节点将所述事务日志写入所述慢存。
[0015]结合第一方面第九种可能的实现方式,在第十种可能的实现方式中,所述备协调节点将所述事务日志写入所述慢存与所述计算节点执行所述对应事务可同步或异步进行。
[0016]结合第一方面第九种可能的实现方式,在第i^一种可能的实现方式中,所述备协调节点将所述事务日志写入所述慢存包括:若所述备快存的可用容量达到容量门限值,或自所述备快存最近一次上电以来所经过的时间与自所述备协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述备协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
[0017]结合第一方面,或者第一方面第一至第十一种任意一种可能的实现方式,在第十二种可能的实现方式中,还包括:所述主协调节点异常中断后启动时,所述主协调节点检测所述主快存上存有的事务日志是否已全部存入所述慢存;若所述主快存上存有的事务日志未全部存入所述慢存,则所述主协调节点将所述主快存上还未存入所述慢存的部分存入所述慢存。
[0018]第二方面,本发明实施例提供了一种记录数据库日志的方法,包括:计算节点在执行事务前,将所述事务对应的事务日志发送给主协调节点,以使所述主协调节点将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联,所述事务日志为记录了所述事务的数据库日志;接收所述主协调节点发送的反馈信息,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及在收到所述反馈信息后,所述计算节点执行所述事务。
[0019]在第二方面的第一种可能的实现方式中,还包括,所述计算节点将所述事务日志发送给备协调节点,以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
[0020]结合第二方面,或者第二方面第一种可能的实现方式,在第二种可能的实现方式中,还包括,所述主协调节点在将所述事务日志记录在主快存之后,还将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
[0021]结合第二方面,或者第二方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述将所述事务对应的事务日志发送给主协调节点包括:通过高速网络将所述事务日志发送给所述主协调节点,所述高速网络包括传输时延不大于纳秒(ns)级的网络。
[0022]结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述高速网络包括无尽宽带(IB)网络。
[0023]结合第二方面,或者第二方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述主快存的读写时延不大于微秒(us)级。
[0024]第三方面,本发明实施例提供了一种:闪存(Flash Memory)及相变存储装置(Phase Change Memory, PCM)。
[0025]第四方面,本发明实施例提供了一种应用于数据库系统的主协调节点,包括:接收模块,用于接收数据库系统内的计算节点发送的事务日志,所述事务日志为记录了对应事务的数据库日志;记录模块,用于将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联;反馈模块,用于在将所述事务日志记录在所述主快存之后,向所述计算节点发送反馈信息以使所述计算节点执行所述对应事务,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及转录模块,用于在将所述事务日志记录在主快存之后,将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
[0026]在第四方面的第一种可能的实现方式中,所述接收模块具体用于通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
[0027]结合第四方面第一种可能的实现方式,在第二种可能的实现方式中,所述高速网络包括无尽宽带网络(IB)。
[0028]结合第四方面,或者第四方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述主快存的读写时延不大于微秒(us)级。
[0029]结合第四方面,或者第四方面第一至第三种任意一种可能的实现方式,在第四种可能的实现方式中,所述主快存为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
[0030]结合第四方面,或者第四方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述转录模块具体用于在所述计算节点执行所述对应事务时或执行所述对应事务后将所述事务日志写入所述慢存。
[0031]结合第四方面,或者第四方面第一至第五种任意一种可能的实现方式,在第六种可能的实现方式中,所述转录模块具体用于:若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述转录模块最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则将所述事务日志存入所述慢存,所述容量门限值及所述时长门限值是预设的。
[0032]结合第四方面,或者第四方面第一至第六种任意一种可能的实现方式,在第七种可能的实现方式中,所述主协调节点还包括:发送模块,用于将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
[0033]第五方面,本发明实施例提供了一种数据库系统,包括:计算节点,用于发送事务日志,并执行与所述事务日志对应的事务;及主协调节点,用于接收所述计算节点发送的所述事务日志,并将所述事务日志记录在主快存上,并在将所述事务日志记录在所述主快存之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志,并在将所述事务日志记录在主快存之后,将所述事务日志写入慢存,所述主快存与所述主协调节点关联。
[0034]在第五方面的第一种可能的实现方式中,所述数据库系统还包括备协调节点,所述主协调节点还用于将所述事务日志发送给所述备协调节点,所述备协调节点用于将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
[0035]结合第五方面第一种可能的实现方式,在第二种可能的实现方式中,所述备协调节点还用于若监控到所述主协调节点将所述事务日志写入所述慢存失效,则将所述事务日志写入所述慢存。

【专利附图】

【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1所示为现有技术中的集群数据库系统;
[0038]图2是本发明第一实施例的集群数据库系统;
[0039]图3是本发明第二实施例的记录数据库日志的方法流程示意图;
[0040]图4是本发明第三实施例的记录数据库日志的方法流程示意图;
[0041]图5是本发明第四实施例的应用于数据库系统的主协调节点的结构示意图;
[0042]图6是本发明第五实施例的数据库系统的结构示意图。;
[0043]图7是本发明第六实施例的应用于数据库系统的主协调节点的结构示意图。

【具体实施方式】
[0044]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]实施例一
[0046]图2是本发明第一实施例的集群数据库系统200。集群数据库系统200包括计算节点212、214及216、主协调节点222、备协调节点224、无尽宽带网络通道(Infiniband,IB) 204、光纤通道206、及慢存208。在一个实施例中,慢存208为磁盘。磁盘208存储集群数据库系统200中的数据。计算节点212、214及216执行事务,如对磁盘208上存储的数据进行计算或读写操作。主协调节点222管理计算节点212、214及216间的通讯。备协调节点224在主协调节点222失效时,替代主协调节点222,完成主协调节点222在非失效状态下的功能。计算节点212、214及216间、主协调节点222与备协调节点224间以及计算节点212、214及216间与主协调节点222及备协调节点224间通过IB 204进行通讯。计算节点212、214及216与磁盘208以及主协调节点222与磁盘208及备协调节点224与磁盘208间通过光纤网络206进行通讯。主快存232与主协调节点222关联,备快存242与备协调节点224关联。在一个实施例中,主快存232位于主协调节点222内,备快存242位于备协调节点224内,且主快存232及备快存242为高速外设部件互联(Peripheral ComponentInterconnect Express, PCIE)闪存卡。在另一个实施例中,主快存232位于主协调节点222夕卜,备快存242位于备协调节点232外。在一个实施例中,主快存232及备快存242用于存储集群数据库系统200的数据库日志。数据库日志记录计算节点212、214及216执行的事务。例如,计算节点212执行的事务为:将磁盘中存储位置为X的数据A改写为数据B,则相应的数据库日志记录存储位置X、改写前的数据A、改写后的数据B以及改写的时刻等。
[0047]实施例二
[0048]图3是本发明第二实施例的记录数据库日志的方法流程示意图。结合图2对图3进行描述。
[0049]在步骤302中,主协调节点222接收数据库系统200内的计算节点,如计算节点212发送的事务日志,并将事务日志记录在主快存232上。主快存232与主协调节点222关联。在一个实施例中,主快存232位于主协调节点222内。在另一个实施例中,主快存232位于主协调节点222外。事务日志为记录了对应事务的数据库日志。
[0050]在步骤304中,在将事务日志记录在主快存232之后,主协调节点222向计算节点212发送主反馈信息以使计算节点212执行对应事务。主反馈信息指示主协调节点222完成在主快存232上记录事务日志。
[0051]在步骤306中,在将事务日志记录在主快存232之后,主协调节点222将事务日志写入慢存208。主快存232为具有第一类存储速度的非易失性存储设备。慢存208为具有第二类存储速度的非易失性存储设备。第一类存储速度大于第二类存储速度。在一个实施例中,主快存232的读写时延不大于微秒(us)级。例如,主快存232包括以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
[0052]有利地,由于主协调节点222将主快存232上存储的事务日志写入慢存208有后,主协调节点222又可在主快存232上存储该事务日志的位置记录后续事务日志。即,主快存232仅作为事务日志的中间缓存,在本实施例中并不需要较大容量的主快存,从而节省了成本。
[0053]在一个实施例中,主协调节点222通过高速网络204接收数据库系统200内的计算节点212发送的事务日志。高速网络204包括传输时延不大于纳秒(ns)级的网络。例如,高速网络204包括IB。
[0054]有利地,由于高速网络204的传输时延也较短,主快存232的读写时延较短,计算节点212将事务日志发送至主协调节点222及主协调节点222将该事务日志记录在主快存232上均只需较短时间。
[0055]在一个实施例中,主协调节点222将事务日志写入慢存208与计算节点212执行对应事务可同步或异步进行。即,主协调节点222可在计算节点212执行对应事务时或执行对应事务后将事务日志写入慢存208。也即,计算节点212执行对应事务,完成后,无需等待主协调节点222将事务日志写入慢存208,即可向主协调节点222发送与下一件事务对应的事务日志,从而使主协调节点222将与下一件事务对应的事务日志记录在主快存232上,继而使计算节点212执行下一件事务。有利地,记录事务日志与执行事务均无需等待主协调节点222将事务日志写入慢存208后再进行,从而节省了时间,提高了效率。
[0056]在一个实施例中,若主快存232的可用容量达到容量门限值,或自主快存232最近一次上电以来所经过的时间与自主协调节点222最近一次写慢存208以来所经过的时间中较短者达到时长门限值,则主协调节点222将事务日志写入慢存208。容量门限值及时长门限值是预设的。
[0057]可选地,本方法还包括步骤308、310及312。在步骤308中,主协调节点222将事务日志发送给备协调节点224以使备协调节点224将事务日志记录在备快存242上。备快存242与备协调节点224关联。在一个实施例中,备快存242位于备协调节点224内。在另一个实施例中,备快存242位于备协调节点224外。
[0058]在步骤310中,主协调节点222接收备协调节点224向主协调节点222发送的备反馈信息。备反馈信息指示备协调节点224完成在备快存242上记录事务日志。具体地,主协调节点222在接收到备反馈信息之后,向计算节点212发送主反馈信息以使计算节点212执行对应事务。
[0059]在步骤312中,若备协调节点224监控到主协调节点222将事务日志写入慢存208失效,则备协调节点224将事务日志写入慢存208。有利地,若主协调节点222将事务日志写入慢存208失效,事务日志仍不会丢失。在一个实施例中,备协调节点224将事务日志写入慢存208与计算节点212执行对应事务可同步或异步进行。有利地,记录事务日志与执行事务均无需等待备协调节点224将事务日志写入慢存208后再进行,从而节省了时间,提高了效率。在一个实施例中,若备快存224的可用容量达到容量门限值,或自备快存224最近一次上电以来所经过的时间与自备协调节点224最近一次写慢存208以来所经过的时间中较短者达到时长门限值,则备协调节点224将事务日志写入慢存208。容量门限值及时长门限值是预设的。
[0060]可选地,本方法还包括步骤314。在步骤314中,主协调节点212异常中断后启动时,主协调节点212检测主快存232上存有的事务日志是否已全部存入慢存208 ;若主快存232上存有的事务日志未全部存入慢存208,则主协调节点212将主快存232上还未存入慢存208的部分存入慢存208。
[0061]实施例三
[0062]图4是本发明第三实施例的记录数据库日志的方法流程示意图。
[0063]在步骤402中,计算节点212在执行事务前,将事务对应的事务日志发送给主协调节点222,以使主协调节点222将事务日志记录在主快存232上。主快存232与主协调节点222关联。在一个实施例中,主快存232位于主协调节点222内。在另一个实施例中,主快存232位于主协调节点222外。在一个实施例中,主快存232的读写时延不大于微秒(us)级。例如,主快存232为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置(Phase Change Memory,PCM)。事务日志为记录了事务的数据库日志。在一个实施例中,计算节点212通过高速网络将事务日志发送给主协调节点222。高速网络包括传输时延不大于纳秒(ns)级的网络。例如,高速网络包括IB。
[0064]在一个实施例中,主协调节点222在将事务日志记录在主快存232之后,还将事务日志写入慢存208。主快存232为具有第一类存储速度的非易失性存储设备。慢存208为具有第二类存储速度的非易性存储设备。第一类存储速度大于第二类存储速度。
[0065]在步骤404中,接收主协调节点222发送的反馈信息。反馈信息指示主协调节点222完成在主快存232上记录事务日志。在收到反馈信息后,计算节点212执行事务。
[0066]可选地,本方法还包括步骤406。在步骤406中,计算节点212将事务日志发送给备协调节点224,以使备协调节点224将事务日志记录在备快存242上。备快存242与备协调节点224关联。在一个实施例中,备快存242位于备协调节点224内。在另一个实施例中,备快存242位于备协调节点224外。
[0067]实施例四
[0068]图5是本发明第四实施例的应用于数据库系统的主协调节点222的结构示意图。图5将结合图2进行描述。主协调节点222包括接收模块502、记录模块504、反馈模块506及转录模块508。
[0069]接收模块502用于接收数据库系统内的计算节点发送的事务日志。事务日志为记录了对应事务的数据库日志。具体地,接收模块502用于通过高速网络接收数据库系统内的计算节点发送的事务日志。高速网络指传输时延不大于纳秒(ns)级的网络。例如,高速网络为IB。记录模块504用于将事务日志记录在主快存232上。主快存232与主协调节点关联。在一个实施例中,主快存232位于主协调节点内。在另一个实施例中,主快存232位于主协调节点外。在一个实施例中,主快存232的读写时延不大于微秒(us)级。例如,主快存232为以下存储介质中的任意一种:闪存及相变存储装置。反馈模块506用于在将事务日志记录在主快存232之后,向计算节点212发送反馈信息以使计算节点212执行对应事务。反馈信息指示主协调节点222完成在主快存232上记录事务日志。转录模块508用于在将事务日志记录在主快存232之后,将事务日志写入慢存208。主快存为具有第一类存储速度的非易失性存储设备。慢存为具有第二类存储速度的非易性存储设备。第一类存储速度大于所述第二类存储速度。具体地,转录模块508用于在计算节点执行对应事务时或执行对应事务后将事务日志写入慢存208。在一个实施例中,若主快存232的可用容量达到容量门限值,或自主快存232最近一次上电以来所经过的时间与自转录模块508最近一次写慢存208以来所经过的时间中较短者达到时长门限值,则将事务日志存入慢存208。容量门限值及时长门限值是预设的。
[0070]可选地,主协调节点222还包括发送模块510。发送模块510将事务日志发送给备协调节点224以使备协调节点224将事务日志记录在备快存242上。备快存242与备协调节点224关联。在一个实施例中,备快存242位于备协调节点224内。在另一个实施例中,备快存242位于备协调节点224外。
[0071]实施例五
[0072]图6是本发明第五实施例的数据库系统600的结构示意图。数据库系统600包括计算节点602及主协调节点604。计算节点602用于发送事务日志,并执行与事务日志对应的事务。主协调节点604用于接收计算节点发送的事务日志,并将事务日志记录在主快存上,并在将事务日志记录在主快存之后,向计算节点602发送主反馈信息以使计算节点602执行对应事务。主反馈信息指示主协调节点604完成在主快存上记录事务日志,并在将事务日志记录在主快存之后,将事务日志写入慢存。主快存与主协调节点604关联。
[0073]可选地,数据库系统还包括备协调节点606。主协调节点604还用于将事务日志发送给备协调节点606。备协调节点606用于将事务日志记录在备快存上。备快存与备协调节点606关联。备协调节点606还用于若监控到主协调节点604将事务日志写入慢存失效,则将事务日志写入慢存。
[0074]实施例六
[0075]图7是本发明第六实施例的应用于数据库系统的图2中的主协调节点222的结构示意图。主协调节点222包括收发器702,中央处理单元(Central Processing Unit,CPU) 704、存储器706、存储器708及存储器710。收发器702用于接收数据库系统内的计算节点发送的事务日志。事务日志为记录了对应事务的数据库日志。具体地,收发器702用于通过高速网络接收数据库系统内的计算节点发送的事务日志。高速网络指传输时延不大于纳秒(ns)级的网络。例如,高速网络为IB。
[0076]存储器706用于存储指令。CPU 704用于从存储器706读取指令,根据指令将事务日志记录在存储器708上,并用于在将事务日志记录在存储器708上之后,向计算节点发送反馈信息以使计算节点执行对应事务。反馈信息指示CPU704完成在存储器708上记录事务日志。CPU 704还用于从存储器706读取指令,根据指令在将事务日志记录在存储器708上之后,将事务日志写入存储器710。存储器708为具有第一类存储速度的非易失性存储设备。存储器710为具有第二类存储速度的非易性存储设备。第一类存储速度大于所述第二类存储速度。在一个实施例中,存储器708的读写时延不大于微秒(us)级。例如,存储器708为以下存储介质中的任意一种:闪存及相变存储装置。
[0077]在一个实施例中,若存储器708的可用容量达到容量门限值,或自存储器708最近一次上电以来所经过的时间与自CPU 704最近一次写存储器710以来所经过的时间中较短者达到时长门限值,则将事务日志存入存储器710。容量门限值及时长门限值是预设的。
[0078]可选地,收发器702还用于将事务日志发送给备协调节点以使备协调节点将事务日志记录在备存储器上。
[0079]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0080]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种记录数据库日志的方法,应用于数据库系统内,其特征在于,包括: 主协调节点接收所述数据库系统内的计算节点发送的事务日志,并将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联,所述事务日志为记录了对应事务的数据库日志; 在将所述事务日志记录在所述主快存之后,所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及 在将所述事务日志记录在主快存之后,所述主协调节点将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易失性存储设备;所述第一类存储速度大于所述第二类存储速度。
2.如权利要求1所述的方法,其特征在于,所述主协调节点接收所述数据库系统内的计算节点发送的事务日志包括,所述主协调节点通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
3.如权利要求2所述的方法,其特征在于,所述高速网络包括无尽宽带(Infiniband,IB)网络。
4.如权利要求1、2、或3所述的方法,其特征在于,所述主快存的读写时延不大于微秒(us)级。
5.如权利要求1、2、3或4所述的方法,其特征在于,所述主快存包括以下存储介质中的任意一种:闪存及相变存储装置。
6.如权利要求1-5中任一所述的方法,其特征在于,所述主协调节点将所述事务日志写入慢存与所述计算节点执行所述对应事务可同步或异步进行。
7.如权利要求1-6中任一所述的方法,其特征在于,所述主协调节点将所述事务日志写入慢存包括: 若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述主协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述主协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
8.如权利要求1-7中任一所述的方法,其特征在于,所述方法还包括: 所述主协调节点将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:所述主协调节点接收所述备协调节点向所述主协调节点发送的备反馈信息,所述备反馈信息指示所述备协调节点完成在所述备快存上记录所述事务日志;及 所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务包括:所述主协调节点在接收到所述备反馈信息之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务。
10.如权利要求8或9所述的方法,其特征在于,所述方法还包括: 若备协调节点监控到所述主协调节点将所述事务日志写入所述慢存失效,则所述备协调节点将所述事务日志写入所述慢存。
11.如权利要求10所述的方法,其特征在于,所述备协调节点将所述事务日志写入所述慢存与所述计算节点执行所述对应事务可同步或异步进行。
12.如权利要求10所述的方法,其特征在于,所述备协调节点将所述事务日志写入所述慢存包括: 若所述备快存的可用容量达到容量门限值,或自所述备快存最近一次上电以来所经过的时间与自所述备协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述备协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
13.如权利要求1-12中任一所述的方法,其特征在于,还包括: 所述主协调节点异常中断后启动时,所述主协调节点检测所述主快存上存有的事务日志是否已全部存入所述慢存; 若所述主快存上存有的事务日志未全部存入所述慢存,则所述主协调节点将所述主快存上还未存入所述慢存的部分存入所述慢存。
14.一种记录数据库日志的方法,其特征在于,包括: 计算节点在执行事务前,将所述事务对应的事务日志发送给主协调节点,以使所述主协调节点将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联,所述事务日志为记录了所述事务的数据库日志; 接收所述主协调节点发送的反馈信息,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及 在收到所述反馈信息后,所述计算节点执行所述事务。
15.如权利要求14所述的方法,其特征在于,还包括,所述计算节点将所述事务日志发送给备协调节点,以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
16.如权利要求14或15所述的方法,其特征在于,还包括,所述主协调节点在将所述事务日志记录在主快存之后,还将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
17.如权利要求14-16中任一所述的方法,其特征在于,所述将所述事务对应的事务日志发送给主协调节点包括:通过高速网络将所述事务日志发送给所述主协调节点,所述高速网络包括传输时延不大于纳秒(ns)级的网络。
18.如权利要求17所述的方法,其特征在于,所述高速网络包括无尽宽带(IB)网络。
19.如权利要求14-18中任一所述的方法,其特征在于,所述主快存的读写时延不大于微秒(us)级。
20.如权利要求14-19中任一所述的方法,其特征在于,所述主快存为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置(Phase Change Memory, PCM)。
21.一种应用于数据库系统的主协调节点,其特征在于,包括: 接收模块,用于接收数据库系统内的计算节点发送的事务日志,所述事务日志为记录了对应事务的数据库日志; 记录模块,用于将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联; 反馈模块,用于在将所述事务日志记录在所述主快存之后,向所述计算节点发送反馈信息以使所述计算节点执行所述对应事务,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及 转录模块,用于在将所述事务日志记录在主快存之后,将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
22.如权利要求21所述的主协调节点,其特征在于,所述接收模块具体用于通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
23.如权利要求22所述的主协调节点,其特征在于,所述高速网络包括无尽宽带(IB)网络。
24.如权利要求21-23中任一所述的主协调节点,其特征在于,所述主快存的读写时延不大于微秒(us)级。
25.如权利要求21-24中任一所述的主协调节点,其特征在于,所述主快存为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
26.如权利要求21-25中任一所述的主协调节点,其特征在于,所述转录模块具体用于在所述计算节点执行所述对应事务时或执行所述对应事务后将所述事务日志写入所述慢存。
27.如权利要求21-26中任一所述的主协调节点,其特征在于,所述转录模块具体用于: 若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述转录模块最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则将所述事务日志存入所述慢存,所述容量门限值及所述时长门限值是预设的。
28.如权利要求21-27中任一所述的主协调节点,其特征在于,所述主协调节点还包括: 发送模块,用于将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
29.一种数据库系统,其特征在于,包括: 计算节点,用于发送事务日志,并执行与所述事务日志对应的事务;及主协调节点,用于接收所述计算节点发送的所述事务日志,并将所述事务日志记录在主快存上,并在将所述事务日志记录在所述主快存之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志,并在将所述事务日志记录在主快存之后,将所述事务日志写入慢存,所述主快存与所述主协调节点关联。
30.如权利要求29所述的数据库系统,其特征在于,所述数据库系统还包括备协调节点,所述主协调节点还用于将所述事务日志发送给所述备协调节点,所述备协调节点用于将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
31.如权利要求30所述的数据库系统,其特征在于,所述备协调节点还用于若监控到所述主协调节点将所述事务日志写入所述慢存失效,则将所述事务日志写入所述慢存。
【文档编号】G06F17/30GK104268274SQ201410542973
【公开日】2015年1月7日 申请日期:2014年10月14日 优先权日:2014年10月14日
【发明者】宋扉, 叶涛, 肖宇雷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1