CN117235027A - 数据库系统、数据库日志归档方法及装置 - Google Patents
数据库系统、数据库日志归档方法及装置 Download PDFInfo
- Publication number
- CN117235027A CN117235027A CN202210646710.6A CN202210646710A CN117235027A CN 117235027 A CN117235027 A CN 117235027A CN 202210646710 A CN202210646710 A CN 202210646710A CN 117235027 A CN117235027 A CN 117235027A
- Authority
- CN
- China
- Prior art keywords
- log
- archiving
- archive
- storage server
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000012217 deletion Methods 0.000 description 22
- 230000037430 deletion Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据库系统、数据库日志归档方法及装置,数据库系统包括计算服务器和存储服务器;计算服务器用于运行数据库,数据库运行过程中产生日志数据,计算服务器还用于向存储服务器发送日志数据;存储服务器用于:接收所述计算服务器发送的日志数据并将日志数据存储于日志文件中;对日志数据进行归档,所述归档包括生成存储于存储服务器中的归档重做日志视图,归档重做日志视图用于指示存储服务器中的归档重做日志的位置信息,通过在存储服务器内实现日志归档,以减少服务器之间数据的传输,减少计算服务器和存储服务器的资源的损耗。
Description
技术领域
本申请涉及存储领域,尤其涉及一种数据库系统、数据库日志归档方法及装置。
背景技术
随着大数据时代的到来,数据的使用量在成倍增长,而对于数据的备份和恢复有着越来越高的要求。数据库的数据文件是用来存放该数据库中各种表数据文件,数据库需要定期备份数据文件以及日志文件。数据库的在线重做日志(Online Redo Log)是记录对数据库所做的修改,比如插入、删除、更新数据等。当数据库崩溃时,通过备份的在线重做日志文件和数据文件恢复数据库崩溃时的数据页内容。
目前,现有的数据库系统常常将数据库部署在一个服务器中,将备份的在线重做日志文件存储在另一服务器中。例如将数据库部署在计算服务器中,将数据库产生的在线重做日志文件保存在存储服务器中。在归档模式下,计算服务器将存储服务器中的在线重做日志文件读取至计算服务器的内存中,然后计算服务器再将读取的在线重做日志文件写入存储服务器中,以实现在线重做日志文件的归档。然而,上述归档过程中,计算服务器需要执行大量在线重做日志文件的读取操作,导致计算服务器的计算资源和接口资源的消耗增加。再者,在线重做日志文件在计算服务器和存储服务器之间传输,亦会增加计算服务器和存储服务器之间的网络资源的消耗。
发明内容
鉴于以上内容,有必要提供一种数据库系统、数据库日志归档方法及装置,通过将数据库的运行和日志文件归档部署在不同的服务器,以减少日志文件归档过程服务器的计算资源和接口资源的消耗,提升处于归档模式下的服务器的性能。
第一方面,本申请实施例提供了一种数据库系统,包括计算服务器和存储服务器;所述计算服务器用于运行数据库,所述数据库运行过程中产生日志数据,所述计算服务器还用于向所述存储服务器发送所述日志数据;
所述存储服务器用于:接收所述计算服务器发送的日志数据并将所述日志数据存储于日志文件中;对所述日志数据进行归档,所述归档包括生成存储于存储服务器中的归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中的所述归档重做日志的位置信息。
通过采用该技术方案,通过将数据库和数据库日志的归档功能分别部署于不同的服务器中,且将日志数据的存储和归档功能部署在同一服务器中,例如将数据库部署于计算服务器中,日志数据的存储和归档功能均部署在存储服务器中,当数据库系统处于归档模式,数据库系统的日志归档在存储服务器内进行,无需进行服务器之间的日志数据的传输,减少了日志文件归档过程,服务器的计算资源和接口资源的消耗。
在一种可能的实施方式中,将所述日志文件中的所述日志数据设为在线重做日志,将所述日志文件中归档后的所述日志数据设为归档重做日志;其中,所述在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据,所述归档重做日志视图用于指示所述日志文件中的归档重做日志的位置信息。
通过采用该技术方案,由于在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据,则归档过程中,仅需通过更新归档重做日志视图即可实现数据库日志的归档,减少了日志文件在存储服务器内的传输,减少了归档过程中对存储服务器内的传输损耗,且由于在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据,减少了归档数据所占的空间。
当然,在其他实施例中,可将存储在线重做日志的文件设置为在线重做日志文件,将存储归档重做日志的文件设置为归档重做日志文件,在线重做日志文件和归档重做日志文件为两个相互独立的文件,通过将在线重做日志和所述归档重做日志分别保存,以提升日志数据的安全性。
在一种可能的实施方式中,所述存储服务器还用于生成在线重做日志视图,所述在线重做日志视图用于指示所述日志文件中的所述在线重做日志的位置信息;所述归档重做日志视图用于指示所述日志文件中所述归档重做日志的位置信息。通过采用该技术方案,通过在线重做日志视图指示在线重做日志的位置信息,通过归档重做日志视图用于指示所述日志文件中所述归档重做日志的位置信息,在线重做日志视图和归档重做日志视图均有存储服务器生成并进行维护。
在一种可能的实施方式中,所述计算服务器还用于:向所述存储服务器发送删除指令,以删除所述日志文件中的在线重做日志,所述删除指令携带待删除的在线重做日志的位置信息;所述存储服务器还用于:接收所述删除指令并依据所述待删除的在线重做日志的位置信息更新所述在线重做日志视图。通过采用该技术方案,由于在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据,对在线重做日志视图的删除仅需通过更新在线重做日志视图即可实现,而无需对日志文件中的日志数据进行删除。
在一种可能的实施方式中,在所述日志文件中的所述归档重做日志的大小超过容量阈值时,所述存储服务器还用于删除所述日志文件中的超过所述容量阈值的归档重做日志并更新所述归档重做日志视图,或在所述日志文件中的所述归档重做日志的保存时间超过时间阈值时,所述存储服务器还用于删除所述日志文件中的超过所述时间阈值的归档重做日志并更新所述归档重做日志视图。当存储服务器中的归档重做日志的容量超过容量阈值或保存时间超过时间阈值,可对存储服务器中的归档重做日志进行删除并更新归档重做日志视图。
在一种可能的实施方式中,所述计算服务器还用于:向所述存储服务器发送归档指令,所述归档指令用于通知所述存储服务器所述数据库系统处于归档模式;
所述存储服务器还用于:接收所述归档指令,依据所述归档指令将所述在线重做日志归档于所述存储服务器中,以得到归档重做日志。通过归档指令通知存储服务器数据库系统处于归档模式中,以便存储服务器执行日志归档工作。
在一种可能的实施方式中,所述日志文件包括日志元数据文件和多个日志数据文件,多个所述日志数据文件用于存储所述日志数据,所述日志元数据文件用于存储所述在线重做日志视图和所述归档重做日志视图。通过采用该技术方案,通过设置日志文件的结构,以使日志文件可同时存储日志数据和日志视图,便于对日志相关文件进行统一管理。
在一种可能的实施方式中,所述计算服务器还用于向所述存储服务器发送读写指令,所述读写指令携带日志类型,所述日志类型包括归档重做日志和在线重做日志;
所述存储服务器还用于接收所述读写指令,依据所述读写指令返回响应信息,所述响应信息携带所述读写指令对应的日志数据。通过采用该技术方案,计算服务器通过读写指令可对存储服务器中的日志数据进行读写。
在一种可能的实施方式中,所述归档还包括将所述日志文件转存至所述存储服务器中的归档重做日志文件中,其中所述归档重做日志文件是不同于所述日志文件的文件,所述归档重做日志视图用于指示所述归档重做日志文件中的归档重做日志的位置信息。如此,在线重做日志和归档重做日志分别保存在不同的文件中,以提升日志数据管理的便捷性和日志数据的安全性。
第二方面,本申请实施例提供了一种数据库日志归档方法,所述方法包括:存储服务器接收计算服务器发送的日志数据并将所述日志数据存储于预设的日志文件中,其中,所述计算服务器用于运行数据库,所述数据库运行过程中产生所述日志数据;存储服务器对日志数据进行归档,所述归档包括生成存储于存储服务器中的归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中的所述归档重做日志的位置信息。
在一种可能的实施方式中,将所述日志文件中的所述日志数据设为在线重做日志,将所述日志文件中归档后的所述日志数据设为归档重做日志;其中,所述在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据,所述存储服务器对所述日志数据进行归档处理包括:生成归档重做日志视图,其中所述归档重做日志视图用于指示所述日志文件中的归档重做日志的位置信息。
在一种可能的实施方式中,所述方法还包括:所述存储服务器生成在线重做日志视图;其中,所述在线重做日志视图用于指示所述日志文件中的所述在线重做日志的位置信息,所述归档重做日志视图用于指示所述日志文件中所述归档重做日志的位置信息。
在一种可能的实施方式中,所述方法还包括:所述存储服务器接收所述计算服务器发送的归档指令,依据所述归档指令对所述在线重做日志进行归档。
在一种可能的实施方式中,所述日志文件包括日志元数据文件和多个日志数据文件,多个所述日志数据文件用于存储所述日志数据,所述日志元数据文件用于存储所述在线重做日志视图和所述归档重做日志视图。
在一种可能的实施方式中,所述方法还包括:所述存储服务器还用于接收所述计算服务器发送的读写指令,其中,所述读写指令携带日志类型,所述日志类型包括归档重做日志和在线重做日志;依据所述读写指令返回响应信息,所述响应信息携带所述读写指令对应的日志数据。
第三方面,本申请实施例提供一种存储服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或至少一个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第二方面中任一项所述的数据库日志归档方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面中任一项所述的数据库日志归档方法。
第五方面,本申请实施例提供一种日志归档装置,包括:接收模块,用于接收计算服务器发送的日志数据并将所述日志数据存储于存储服务器的日志文件中,其中,所述计算服务器是不同于所述存储服务器的服务器,所述计算服务器用于运行数据库,所述数据库运行过程中产生所述日志数据;归档模块,用于对将所述日志数据进行归档所述归档包括生成存储于所述存储服务器中的归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中归档重做日志的位置信息。
应当理解地,第二方面至第五方面中任一种设计所带来的技术效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为一种数据库系统的系统架构示意图。
图2A为本申请实施例提供的数据库系统的系统架构示意图。
图2B为本申请实施例提供的数据库系统的另一状态的系统架构示意图。
图2C为本申请实施例提供的数据库系统的又一状态的系统架构示意图。
图3为本申请实施例提供的一种日志视图管理的示意图。
图4为本申请实施例提供的一种数据库系统的逻辑架构示意图。
图5为本申请实施例提供的一种创建日志文件方法的信息交互场景示意图。
图6为本申请实施例提供的一种日志数据写入方法的信息交互场景示意图。
图7为本申请实施例提供的一种在线重做日志的删除示意图。
图8为本申请实施例提供的又一数据库系统的系统架构示意图。
图9为本申请实施例的数据库日志归档方法的流程图。
图10为本申请实施例的一种服务器的硬件结构示意图。
图11为本申请实施例的一种日志归档装置的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于标识作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“多个”是指两个或多于两个,“和/或”包括关联的所列项目中的一个或多个的任何和所有组合。
为了便于理解,首先结合图1介绍一种数据库系统的架构图。
如图1所示,数据库系统包括计算服务器和存储服务器。计算服务器和存储服务器可通过网络连接实现通信和数据传输。其中,计算服务器中部署有数据库,计算服务器用于运行数据库,数据库在运行过程中产生日志数据。数据库内设置有归档线程。数据库系统通过计算服务器的归档线程实现日志数据的归档。其中,归档线程又称归档程序、归档进程。
存储服务器用于存储数据库产生的日志数据。其中日志数据可为对数据库的操作,例如删除、修订、插入等。在本申请实施例中,日志数据包括,但不局限于,在线重做日志和归档重做日志。
下面结合图1介绍数据库系统的日志数据归档的实现过程:
1、在数据库系统进入归档模式后,数据库的归档线程开始启动。
示例性地,用户可通过向计算服务器的客户端输入操作指令,以使数据库系统进入归档模式,归档线程在数据库系统进入归档模式后开始启动。
2、归档线程在计算服务器中创建一个归档内存区域。该归档内存区域用于存放计算服务器从存储服务器读取的在线重做日志。
3、归档线程周期性读取存储服务器中的在线重做日志文件,并将读取的在线重做日志存储在归档内存区域中。
其中,读取周期可由用户在计算服务器中预先设置。
4、归档线程把归档内存区域中的在线重做日志写入到存储服务器中的归档文件中,以形成归档重做日志文件。
可以理解,在其他实施例中,计算服务器可以将归档内存区域的在线重做日志写入其他存储服务器中,即将在线重做日志文件和归档重做日志文件分别存储于不同的服务器中。当然,在归档过程中,为了减少归档重做日志文件所在的存储空间,还可对归档重做文件进行压缩处理。
可以理解,在归档模式下,计算服务器的归档线程一直运行,直到将存储服务器中的在线重做日志文件中的在线重做日志全部归档,并形成归档重做日志(Archived RedoLogs)文件。
如上所述,数据库系统的日志数据归档实现过程存在如下问题:计算服务器需读取存储服务器中的在线重做日志,并将存储服务器中的在线重做日志复制到计算服务器中,导致计算服务器和存储服务器的计算资源和接口资源的消耗增加。另外,在线重做日志在计算服务器和存储服务器之间传输,亦会增加计算服务器和存储服务器之间的网络带宽的消耗。因此,上述数据库系统在进入归档模式之后,数据库的处理能力明显下降。
鉴于上述问题,本申请实施例提供一种数据库系统,通过计算服务器运行数据库,存储服务器执行在线重做日志的归档。如此,在数据库系统处于归档模式时,存储服务器对存储服务器内的在线重做日志进行归档,归档过程中无需在存储服务器和计算服务器之间传输在线重做日志,减少了日志归档过程中计算服务器的计算资源和接口资源的消耗,提升了处于归档模式的数据库的处理能力。
下面详细介绍本申请实施例中的数据库系统。
请参见图2A,为本申请实施例提供的数据库系统。该数据库系统包括计算服务器和存储服务器。其中,计算服务器中部署有数据库,计算服务器用于运行数据库,数据库运行过程中产生日志数据,计算服务器向存储服务器发送该日志数据。
存储服务器中部署有归档线程。存储服务器用于运行归档线程,归档线程用于在数据库系统处于归档模式时实现日志进行归档。存储服务器还用于接收计算服务器发送的日志数据,并将该日志数据存储于日志文件中。
可以理解,日志文件可为存储服务器为日志数据预先分配的,用于存储数据库产生的日志数据。在本申请实施例中,日志文件包括,但不局限于,在线重做日志文件。
具体地,在线重做日志文件为存储日志数据的日志文件。在线重做日志文件中的日志数据为在线重做日志。示例性地,请参见图2A,以在线重做日志文件包括6个子文件(即子文件1至子文件6)为例,6个子文件均用于存储日志数据。
在本申请实施例中,存储服务器还用于生成及存储在线重做日志视图。在线重做日志视图用于指示日志文件中的在线重做日志的位置信息,该位置信息包括日志文件中的在线重做日志的起始位置和结束位置。示例性地,请参见图2A,在线重做日志视图记录的位置信息包括:子文件1的起始位置和子文件6的结束位置。
可以理解,在数据库系统处于归档模式时,存储服务器通过归档线程对存储服务器中的日志数据进行归档,以得到存储于存储服务器中的归档重做日志。其中,在线重做日志文件中归档后的日志数据称为归档重做日志,归档重做日志存放于对应的文件中,以形成归档重做日志文件。示例的,如图2A所示,同样以归档重做日志文件包括6个子文件(即子文件1至子文件6)为例,6个子文件中的日志数据属于归档重做日志。
在本申请实施例中,该归档包括生成存储于存储服务器中的归档重做日志视图。归档重做日志视图用于指示存储服务器中的归档重做日志的位置信息,该位置信息包括存储服务器中的归档重做日志的起始位置和结束位置。示例性地,请参见图2A,归档重做日志视图记录的位置信息包括:子文件1的起始位置和子文件6的结束位置。
显然,如图2A所示,在本申请实施例中,归档重做日志和在线重做日志共用同一份存储服务器中的日志数据。如此,在日志归档过程中,存储服务器仅需生成归档重做日志视图并依据归档需求更新该归档重做日志视图即可,存储服务器无需为日志归档重做日志分配新的存储空间,可有效节省存储消耗,也不需在归档过程中在存储服务器中复制数据,减少归档过程中对存储服务器的资源的损耗。
示例性地,图2A中,归档重做日志文件和在线重做日志文件均包括子文件1和子文件6,子文件1和子文件6中的日志数据既属于归档重做日志,也属于在线重做日志。即日志数据由在线重做日志和归档重做日志所共用。也就是说,图2A中,归档重做日志文件和在线重做日志文件的内容完全相同,归档重做日志和在线重做日志的内容完全相同。当然,在其他实施例中,归档重做日志和在线重做日志可不完全相同。例如,若存储服务器仅需对在线重做日志的子文件1和子文件4归档,则归档重做日志文件可只包括子文件1和子文件4。
可以理解,在本申请实施例中,计算服务器具有客户端,用户可通过客户端向计算服务器输入操作指令。计算服务器响应于该操作指令,以使数据服务器系统进入归档模式。然后计算服务器向存储服务器发送归档指令,该归档指令用于通知此时数据库系统进入归档模式。存储服务器接收到该归档指令之后,开始启动归档线程,并对日志文件中的日志数据进行归档,以形成归档重做日志和归档重做日志视图。
上述日志归档过程,由于在线重做日志和归档重做日志共用同一份日志数据,因此存储服务器仅需在存储服务器内生成归档重做日志视图,并将归档重做日志视图指示的日志数据称为归档重做日志,即实现了对存储服务器中的日志数据的归档。由于归档完成之后,存储服务器中仅保存一份日志数据,且通过归档重做日志视图确定日志数据中的归档重做日志,通过在线重做日志视图确定日志数据中的在线重做日志,无需执行服务器之间的数据传输,可有效减少归档过程中计算服务器和存储服务器的传输消耗和接口消耗。另外,日志归档过程仅需在存储服务器内形成归档重做日志和归档重做日志视图,无需执行日志数据的复制和传输,对运行数据库的计算服务器的性能无影响。
可以理解,在一实施例中,当数据库系统处于归档模式中,存储服务器还可以对在线重做日志文件中的日志数据进行预处理,预处理可为压缩编码等处理。预处理完成之后,将日志文件中的日志数据替换为预处理后的日志数据,并更新归档重做日志视图和在线重做日志视图,以实现日志数据的归档。示例性地,在线重做日志文件包括子文件1至子文件6,对子文件1中的日志数据进行预处理,并将预处理后的日志数据替换子文件1中的日志数据,则归档重做日志视图指示的归档重做日志的位置为子文件1,在线重做日志视图指示的在线重做日志的位置为子文件1至子文件6。
可以理解,通过在归档过程中预处理日志数据,可有效减少归档重做日志所占用的空间。
在一实施例中,数据库系统还用于删除日志文件中的在线重做日志。具体地,计算服务器还用于向存储服务器发送删除指令。删除指令用于指示存储服务器删除日志文件中的在线重做日志,删除指令携带待删除的在线重做日志的位置信息。存储服务器还用于接收删除指令并依据该删除指令中的位置信息更新在线重做日志视图。如此,当数据库系统需删除存储服务器中的在线重做日志时,存储服务器仅需依据位置信息更新在线重做日志视图即可,而不需执行在线重做日志对应的日志数据的删除。
示例性地,当数据库完成脏页面的刷盘后,计算服务器向存储服务器发送删除指令。删除指令用于指定删除日志文件中的在线重做日志。存储服务器确定数据库系统处于归档模式中,并依据删除指令更新在线重做日志视图,而并不对删除指令指定删除的在线重做日志做删除处理。例如,请一并参见图2A和图2B,图2A中在线重做日志视图指示的在线重做日志的位置信息包括子文件1的起始位置和子文件6的结束位置。当图2A中计算服务器向存储服务器发送删除指令,该删除指令携带的待删除的在线重做日志的位置信息包括子文件1中日志数据的起始位置和子文件2中日志数据的结束位置时,存储服务器依据该位置信息更新在线重做日志视图,如图2B所示。即,更新后的在线重做日志视图的位置信息包括子文件3中的在线重做日志的起始位置和子文件6中的在线重做日志的结束位置。也就是说,子文件1至子文件2中的日志数据属于已删除的在线重做日志,但是子文件1和子文件2中的日志数据作为归档重做日志并未被删除。因此,子文件1至子文件2中的日志数据不属于在线重做日志,但属于归档重做日志,子文件3和子文件6中的日志数据既属于在线重做日志,也属于归档重做日志。
可以理解,若数据库系统处于非归档模式,则存储服务器依据删除指令删除指定的在线重做日志并更新在线重做日志视图。
在一实施例中,在日志文件中的归档重做日志的大小超过容量阈值时,存储服务器还用于删除日志文件中的超过容量阈值的归档重做日志并更新归档重做日志视图。具体地,当存储服务器检测到归档重做日志的大小超过容量阈值时,存储服务器获取归档重做日志的保存时间和超出容量阈值的超出量,接着删除保存时间最长的超出量的归档重做日志,并依据日志文件中删除后的归档重做日志更新归档重做日志视图。示例性地,请一并参见图2A和图2C,图2A中,归档重做日志包括子文件1至子文件6中的日志数据,每个子文件的容量均为10兆(MByte),容量阈值为50兆,且子文件1至子文件6中子文件1最早保存。则根据上述描述,归档重做日志的大小为60兆,其超过容量阈值(50兆)的超出量为10兆。因此,如图2C所示,存储服务器删除保存时间最长的超出量的归档重做日志(即子文件1)中的归档重做日志,并将归档重做日志视图更新为子文件2的起始位置至子文件6的结束位置。
在一实施例中,在日志文件中的归档重做日志的保存时长超过时间阈值时,存储服务器还用于删除日志文件中的超过时间阈值的归档重做日志并更新归档重做日志视图。其中,归档重做日志的保存时长可为在线重做日志归档后的保存时长。当然,在其他实施例中,归档重做日志的保存时长还可为作为日志文件的日志数据在存储服务器中的保存时长。示例性地,如图2A所示,归档重做日志包括子文件1至子文件6中的日志数据,存储服务器中子文件1至子文件6的保存时长分别为6小时、5小时、4小时、3小时、2小时和1小时,时间阈值为5.5小时。则存储服务器判定子文件1中的日志数据超过时间阈值,如图2C所示,存储服务器删除子文件1中的日志数据,并将归档重做日志视图更新为子文件2的起始位置至子文件6的结束位置,以完成归档重做日志的删除。
可以理解,通常情况下,在执行删除归档重做日志之前,存储服务器已删除对应的在线重做日志(例如通过更新在线重做日志视图执行在线重做日志的删除),在一实施例中,若在删除对应的归档重做日志在前,对应位置的在线重做日志还未删除,则在执行归档重做日志删除之后,还用于依据删除后的日志数据更新在线重做日志视图。
示例性地,图2A中在线重做日志文件和归档重做日志文件均包括子文件1至子文件6,当存储服务器执行子文件1中归档重做日志的删除后,存储服务器依据删除后的日志数据更新在线重做日志视图,此时,在线重做日志文件和归档重做日志文件均包括子文件2至子文件6。
在一实施例中,计算服务器还用于向存储服务器发送读写指令,例如归档重做日志读写指令、在线重做日志读写指令等。读写指令可携带传入标识。传入标识携带待读取的日志类型,例如在线重做日志、归档重做日志。存储服务器依据传入标识确定对应的日志视图。例如,若待读取的日志类型为在线重做日志,则存储服务器依据在线重做日志视图确定在线重做日志视图的位置,并将该位置指示的在线重做日志返回给计算服务器,以实现在线重做日志的读取。
请参加图3,为本申请实施例提供的一种重做日志文件的管理示意图。可以理解,存储服务器中重做日志文件包括两部分:日志元数据文件和日志数据文件。其中,日志元数据文件用于保存在线重做日志视图和归档重做日志视图。日志数据文件用于保存在线重做日志。例如,如图3所示,将重做日志文件中的第一个文件file0作为日志元数据文件,其他文件(例如file2至filen)作为日志数据文件。
在一实施例中,日志元数据文件还包括管理信息,管理信息为日志文件在存储服务器中的位置信息。可选地,当重做日志文件包括多个子文件时,管理信息还包括子文件的标识,子文件的标识用于标识该子文件。
在线重做日志视图包括第一起始位置和第一结束位置。第一起始位置用于标识日志数据文件中在线重做日志的起始位置,第一结束位置用于标识日志数据文件中在线重做日志的结束位置。例如,图3中的online_start_pos用于标识第一起始位置(即在线重做日志的起始位置),online_end_pos用于标识第一结束位置(即在线重做日志的结束位置)。
归档重做日志视图包括第二起始位置和第二结束位置。第二起始位置用于标识日志数据文件中归档重做日志的起始位置,第二结束位置用于标识日志数据文件中归档重做日志的结束位置。例如,图3中的archive_start_pos用于标识第二起始位置(即归档重做日志的起始位置),archive_end_pos用于标识第二结束位置(即归档重做日志的结束位置)。
如此,通过将在线重做日志视图、归档重做日志视图及日志数据放置于同一日志文件中,以便于对日志数据进行统一管理。通过将在线重做日志视图、归档重做日志视图放置于日志元数据文件,便于查找日志视图,以便对该日志视图执行生成、更新等操作。
可以理解,如上所述,用户可通过计算服务器的客户端执行读写请求操作,读写请求用于读取存储服务器中的归档重做日志或在线重做日志,或将新的日志数据写入在线重做日志中。具体地,计算服务器用于向存储服务器发送读写请求,读写请求携带传入标识。传入标识用于标识待读写的日志类型,例如归档重做日志和在线重做日志。示例的,当读写请求中携带的传入标识为online_view时,用于标识读取在线重做日志。又示例的,当读写请求中携带的传入标识为archive_view时,用于标识读取归档重做日志。
请参见图4,为本申请实施例提供的一种数据库系统实现日志归档的逻辑架构示意图。
如图4所示,数据库系统包括数据库服务节点和存储服务节点。其中,数据库服务节点上配置有至少一个计算服务器,存储服务节点上配置至少一个存储服务器。本申请的实施例以数据库服务器节点中部署有一个计算服务器,存储服务节点上部署有一个存储服务器为例进行说明。当然,在其他实施例中,存储服务器节点可配置2个,3个或大于3个存储服务器,数据库服务节点可配置2个,3个或大于3个计算服务器。
如图4所示,计算服务器中设置有日志客户端。日志客户端具有第一日志读写模块。日志客户端用于为数据库提供日志的读写操作。日志客户端作为计算服务器的客户端的接口层,用于提供创建日志文件、删除在线重做日志或归档重做日志、读写在线重做日志或归档重做日志、读写在线重做日志视图或归档重做日志视图的接口。例如,响应于用户输入的读写操作,通过第一日志读写模块向存储服务器发送读写指令,以读写在线重做日志、归档重做日志、在线重做日志视图或归档重做日志视图。
存储服务器设置有日志服务端。日志服务端包括第二日志读写模块、日志文件管理模块和归档程序模块。其中,日志服务端作为日志的服务程序,用于处理来自客户端的操作和逻辑,管理日志文件以及生成归档重做视图。例如,第二日志读写模块用于接收计算服务器的读写指令,依据读写指令向计算服务器输出读写响应,以实现用户的读写。日志文件管理模块可用于为日志文件创建存储空间。归档程序模块用于在数据库系统处于归档模式时,将日志文件中的日志数据进行归档。具体地,归档程序模块用于生成归档重做日志视图,并周期性更新归档重做日志视图,以完成日志数据的归档。
如图4所示,计算服务器还包括数据文件客户端。数据文件客户端包括第一数据文件读写模块。数据文件客户端用于为数据库提供数据文件的读写操作。数据文件客户端作为计算服务器的客户端的接口层,用于提供数据文件的读写功能。对应地,存储服务器中还包括数据文件服务端,数据文件服务端包第二数据文件读写模块。当用户具有读写数据文件的需求时,通过第一数据文件读写模块向存储服务器发送读写指令,第二数据文件读写模块依据读写指令,向计算服务器发送读写响应。读写响应包括读写内容,以实现用户的读写需求。
当然,数据文件服务端还可包括其他程序,本申请不做限制。
请参见图5,为本申请实施例提供的一种创建日志文件方法的信息交互场景示意图。该方法由数据库存储引擎触发。其中数据库存储引擎是计算服务器的数据库的底层软件组件,数据库使用数据库存储引擎进行创建、查询、更新和删除数据库操作。请一并参阅图4及图5,创建日志文件方法包括:
501、数据库存储引擎向日志客户端发送创建日志对象的指令,用于使日志客户端在存储服务器中创建日志文件。
具体地,数据库存储引擎通过调用日志客户端创建日志对象,以使日志客户端在存储服务器中创建日志文件,日志文件用于存储在线重做日志。
在一实施例中,创建日志对象携带传入参数,传入参数可为日志文件的名字,传入参数用于唯一标识创建的日志文件。
502、日志客户端通知日志服务端创建日志对象。
503、日志服务端向文件系统发送创建日志管理文件,以在存储服务器内创建日志文件。
其中,文件系统是一套用于实现存储服务器中各文件的存储、分级组织、访问和获取等操作的抽象数据类型,通过文件系统可访问和查找存储服务器中的各文件。
504、日志服务端接收文件系统发送的返回指令,依据该返回指令确定日志文件创建完成。
可选地,日志文件创建完成后,日志服务端还用于位于日志文件生成在线重做日志文件视图。由于此时日志文件中还未存储日志数据,可将在线重做日志文件视图进行初始化,以初始化元数据,例如,将在线重做日志视图的位置信息设置为0。
505、日志服务端向日志客户端发送返回指令。
506、日志客户端向数据库存储引擎发送返回指令,该返回指令携带日志文件创建结果。
如此,通过存储服务器的日志服务端和计算服务器的日志客户端配合,以实现在存储服务器中创建用于存储数据库的日志数据的日志文件。
请参见图6,为本申请实施例提供的一种日志数据写入方法的信息交互场景示意。该方法由数据库存储引擎触发。
601、数据库存储引擎向日志客户端发送写日志对象。
具体地,通过存储引擎调用日志客户端写日志对象,以使日志客户端将数据库运行产生的日志数据写入日志文件中。
其中,写日志对象携带日志对象编号和日志数据。日志对象编号可为日志文件的标识符,用于指示存储服务器将日志数据写入对应的日志文件中。
602、日志客户端向日志服务端发送写日志对象。
603、日志服务端依据写日志对象分配文件空间,以为日志数据分配新的存储空间。
具体地,在存储服务器中的日志文件的容量不能存储新的日志数据时,依据写日志对象分配存储日志数据的存储空间。可以理解,在其他实施例中,存储空间可由日志服务端预先分配,则步骤603可省略。
604、日志服务端向文件系统写日志管理文件,以将日志数据写入日志文件中。
605、文件系统返回写日志成功,以通知日志客户端日志文件写入成功。
606、日志服务端更新日志元数据信息。
例如,由于日志文件中写入新的日志数据,在线重做日志在日志文件中的位置发生变化,可以依据该位置变化更新在线重做日志视图,例如,新的在线重做日志写入之后,在线重做日志的结束位置发生变化,则更新在线重做日志视图中的在线重做日志的结束位置。
由于日志元数据信息属于日志结构,持久化元数据信息则通过存储服务器在后台完成。
607、日志服务端向日志客户端发送返回指令,以通知日志数据的写入结果。
608、日志客户端向数据库存储引擎发送返回指令,以通知日志数据的写入结果。
如此,通过向存储服务器发送写日志对象,以将数据存产生的日志数据写入存储服务器中。
在一实施例中,数据库存储引擎可发起存储服务器中的日志文件中在线重做日志的删除。
具体地,数据库存储引擎通过调用日志客户端向日志服务端发送日志删除指令,日志删除指令携带待删除的在线重做日志的位置信息,该位置信息用于表示待删除的在线重做日志在日志文件中的位置,存储服务器的日志服务端依据日志删除指令中的位置信息更新在线重做日志视图。即对在线重做日志的删除,仅需更新日志文件中的在线重做日志视图,而不用删除日志文件中对应的在线重做日志。
请参见图7,为本申请实施例提供的一种在线重做日志的删除示意图。
请参见图7,计算服务器向存储服务器发送的日志删除指令携带truncate_pos,truncate_pos用于标识待删除的在线重做日志的位置,存储服务器依据该日志删除指令中的truncate_pos更新在线重做日志视图。
示例性地,在线重做视图指示的在线重做日志的位置包括文件6至文件n,truncate_pos标识的待删除的在线重做日志的位置包括文件6至文件7,则依据truncate_pos更新后的在线重做视图的在线重做日志包括文件8至文件n。
以图7为例,在数据库系统处于归档模式时,计算服务器向存储服务器发送归档指令,存储服务器接收归档指令,存储服务器依据归档指令确定数据库处于归档模式之后,存储服务器生成归档重做日志视图。
具体地,存储服务器生成归档重做日志视图之后,周期性依据在线重做日志视图更新归档重做日志视图。
示例性地,在线重做日志视图包括online_start_pos和online_end_pos,online_start_pos用于指示在线重做日志视图的起始位置,online_end_pos用于指示在线重做日志视图的结束位置,归档重做日志视图包括archive_start_pos和archive_end_pos,archive_start_pos用于指示归档重做日志视图的起始位置,archive_end_pos用于指示归档重做日志视图的结束位置。当归档重做日志视图生成之后,将当前的online_end_pos的值赋给archive_end_pos,将online_start_pos的值赋给archive_end_pos,然后由于计算服务器不停向存储服务器中写入日志数据,因此在线重做日志视图的archive_end_pos一直在变化,通过周期性地(例如10秒)将当前的online_end_pos的值赋给archive_end_pos,以实现数据库日志的归档。
请参见图8,为本申请实施例提供的另一种数据库系统的系统架构示意图。图8所提供的数据库系统与图2的数据库系统类似,即亦包括计算服务器和存储服务器。可以理解,图8所示的数据库系统与图2所示的数据库系统的不同之处在于:
在数据库系统处于归档模式时,图8所示的存储服务器将日志文件中的日志数据进行归档至另一文件中:归档重做日志文件,其中归档重做日志文件是存储服务器中不同于日志文件或在线重做日志文件的文件。如此,在线重做日志存于在线重做日志文件中,归档后的日志数据存储在归档重做日志文件中,归档重做日志文件和在线重做日志文件属于存储服务器中的两个文件。在线重做日志视图用于指示在线重做日志文件中的在线重做日志的位置信息,归档重做日志视图用于指示归档重做日志在归档重做日志文件中的位置信息。通过两个文件分别保存在线重做日志和归档重做日志,以提升日志数据的存储安全性。
在另一实施例中,归档重做日志文件和在线重做日志文件也可分别位于不同的存储服务器中。例如,存储服务器包括第一存储服务器和第二存储服务器。在线重做日志文件存储于第一存储服务器中,第一存储服务器用于接收计算服务器发送的归档指令,并依据归档指令将在线重做日志归档于第二存储服务器中,形成存储于第二存储服务器中的归档重做日志文件。
在一实施例中,当数据库系统删除在日志文件中的在线重做日志时,计算服务器还用于向存储服务器发送删除指令。删除指令携带待删除的在线重做日志的位置信息。该存储服务器还用于接收该删除指令并依据该删除指令中的位置信息删除日志文件中的在线重做日志,并更新在线重做日志视图。
请参考图9,为本申请实施例的一种数据库日志归档方法的流程图,本申请的数据库日志归档方法应用于上述实施例所述的存储服务器。数据库日志归档方法包括:
S901、存储服务器接收计算服务器发送的日志数据并将日志数据存储于日志文件中。
其中,计算服务器用于运行数据库,数据库运行过程中产生日志数据。
其中,计算服务器是不同于存储服务器的服务器。
S902、存储服务器对日志数据进行归档,该归档包括生成存储于存储服务器中的归档重做日志视图。
其中,归档重做日志视图用于指示存储服务器中归档重做日志的位置信息。
在一些实施例中,将日志文件中的日志数据设为在线重做日志,将日志文件中归档后的日志数据设为归档重做日志。
其中,在线重做日志和归档重做日志共用同一份日志文件中的日志数据。
其中归档重做日志视图用于指示日志文件中归档重做日志的位置信息。
在一些实施例中,数据库日志归档方法还包括:生成在线重做日志视图。
其中,在线重做日志视图用于指示日志文件中的在线重做日志的位置信息,归档重做日志视图用于指示日志文件中所述归档重做日志的位置信息。
在一些实施例中,数据库日志归档方法还包括:接收计算服务器发送的删除指令并依据待删除的在线重做日志的位置信息更新在线重做日志视图。
在一些实施例中,数据库日志归档方法还包括:在日志文件中的归档重做日志的大小超过容量阈值时,存储服务器还用于删除日志文件中的超过容量阈值的归档重做日志并更新归档重做日志视图。或在日志文件中的归档重做日志的保存时间超过时间阈值时,存储服务器删除日志文件中的超过时间阈值的归档重做日志并更新归档重做日志视图。
在一些实施例中,数据库日志归档方法还包括:接收归档指令,依据归档指令将在线重做日志归档于存储服务器中,以得到归档重做日志。
在一些实施例中,日志文件包括日志元数据文件和多个日志数据文件。多个日志数据文件用于存储日志数据,日志元数据文件用于存储在线重做日志视图和归档重做日志视图。
在一些实施例中,数据库日志归档方法还包括:
存储服务器还用于接收读写指令;
依据读写指令返回响应信息,响应信息携带读写指令对应的日志数据。
其中,读写指令携带日志类型,日志类型包括归档重做日志和在线重做日志。
参考图10所示,本申请实施例还提供一种服务器。服务器与前述的数据库系统的存储服务器、计算服务器及数据库日志归档方法相对应,服务器可为数据库系统的存储服务器,该服务器具有上述存储服务器的功能,服务器还可用于执行上述数据库日志归档方法。可以理解,图10显示的服务器112仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,服务器112以通用服务器的形式表现。服务器112可以包括但不限于:一个或者多个处理器116,存储装置128,连接不同系统组件(包括存储装置128和处理器116)的总线118。
总线118表示几类总线结构中的一种或多种,包括存储装置总线或者存储装置控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(IndustrySubversiveAlliance,ISA)总线,微通道体系结构(Micro Channel Architecture,MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
服务器112典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器112访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置128可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)130和/或高速缓存存储器132。服务器112可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统134可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘,例如只读光盘(Compact Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线118相连。存储装置128可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块142的程序/实用工具140,可以存储在例如存储装置128中,这样的程序模块142包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块142通常执行本发明所描述的实施例中的功能和/或方法。
服务器112也可以与一个或多个外部设备114(例如键盘、指向终端、显示器124等)通信,还可与一个或者多个使得用户能与该服务器112交互的终端通信,和/或与使得该服务器112能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口122进行。并且,服务器112还可以通过网络适配器120与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide AreaNetwork,WAN)和/或公共网络,例如因特网)通信。
如图10所示,网络适配器120通过总线118与服务器112的其它模块通信。应当明白,尽管图中未示出,可以结合服务器112使用其它硬件和/或软件模块,包括但不限于:微代码、终端驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays ofIndependent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器116通过运行存储在存储装置128中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的数据库日志归档方法。
参考图11所示,本申请实施例还提供一种日志归档装置的结构示意图,日志归档装置用于执行上述日志归档方法,并具有相应的功能。所述日志归档装置包括:
接收模块,用于接收计算服务器发送的日志数据并将所述日志数据存储于存储服务器的日志文件中,其中,所述计算服务器是不同于所述存储服务器的服务器,所述计算服务器用于运行数据库,所述数据库运行过程中产生所述日志数据;
归档模块,用于对将所述日志数据进行归档,所述归档包括生成存储于所述存储服务器中归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中归档重做日志的位置信息。
在一些实施例中,接收模块还用于生成在线重做日志视图。
其中,在线重做日志视图用于指示日志文件中的在线重做日志的位置信息。
在一些实施例中,接收模块还用于接收计算服务器发送的删除指令并依据待删除的在线重做日志的位置信息更新在线重做日志视图。
在一些实施例中,在日志文件中的归档重做日志的大小超过容量阈值时,归档模块还用于删除日志文件中的超过容量阈值的归档重做日志并更新归档重做日志视图。或在日志文件中的归档重做日志的保存时间超过时间阈值时,归档模块还用于删除日志文件中的超过时间阈值的归档重做日志并更新归档重做日志视图。
在一些实施例中,接收模块还用于接收归档指令,归档模块还用于依据归档指令将在线重做日志归档于存储服务器中,以得到归档重做日志。
在一些实施例中,日志文件包括日志元数据文件和多个日志数据文件。多个日志数据文件用于存储日志数据,日志元数据文件用于存储在线重做日志视图和归档重做日志视图。
在一些实施例中,接收模块还用于接收读写指令;依据读写指令返回响应信息,响应信息携带读写指令对应的日志数据。其中,读写指令携带日志类型,日志类型包括归档重做日志和在线重做日志。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。这些计算机程序代码可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中。
本实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机指令。当计算机指令在存储服务器上运行时,使得存储服务器执行上述相关方法步骤实现上述实施例中的数据库日志归档方法。
本实施例还提供了一种计算机程序产品,当计算机程序产品在存储服务器上运行时,使得存储服务器执行上述相关步骤,以实现上述实施例中的数据库日志归档方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器。其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的数据库日志归档方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是一个物理模块或多个物理模块,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种数据库系统,其特征在于,包括:
计算服务器,用于运行数据库,所述数据库运行过程中产生日志数据;
存储服务器,用于接收所述计算服务器发送的日志数据并将所述日志数据存储于日志文件中;
所述存储服务器,还用于对所述日志数据进行归档,所述归档包括生成存储于所述存储服务器中归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中归档重做日志的位置信息。
2.如权利要求1所述的数据库系统,其特征在于,所述日志文件中的所述日志数据为在线重做日志;
其中,所述在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据;所述归档重做日志视图用于指示所述日志文件中的所述归档重做日志的位置信息。
3.如权利要求2所述的数据库系统,其特征在于,所述存储服务器还用于生成在线重做日志视图,所述在线重做日志视图用于指示所述日志文件中所述在线重做日志的位置信息。
4.如权利要求2所述的数据库系统,其特征在于,所述计算服务器还用于:
向所述存储服务器发送归档指令,所述归档指令用于通知所述存储服务器所述数据库系统处于归档模式;
所述存储服务器还用于:
接收所述归档指令,依据所述归档指令对所述日志数据进行归档。
5.如权利要求2所述的数据库系统,其特征在于,所述日志文件包括日志元数据文件和多个日志数据文件,多个所述日志数据文件用于存储所述日志数据,所述日志元数据文件用于存储所述在线重做日志视图和所述归档重做日志视图。
6.如权利要求2所述的数据库系统,其特征在于,所述计算服务器还用于向所述存储服务器发送读写指令,所述读写指令携带日志类型,所述日志类型包括归档重做日志和在线重做日志;
所述存储服务器还用于接收所述读写指令,依据所述读写指令返回响应信息,所述响应信息携带所述读写指令对应的日志数据。
7.如权利要求2所述的数据库系统,其特征在于,所述归档还包括将所述日志文件转存至所述存储服务器中的归档重做日志文件中,其中所述归档重做日志文件是不同于所述日志文件的文件,所述归档重做日志视图用于指示所述归档重做日志文件中的归档重做日志的位置信息。
8.一种数据库日志归档方法,其特征在于,所述方法包括:
存储服务器接收计算服务器发送的日志数据并将所述日志数据存储于日志文件中,其中,所述计算服务器是不同于所述存储服务器的服务器,所述计算服务器用于运行数据库,所述数据库运行过程中产生所述日志数据;
所述存储服务器对所述日志数据进行归档,所述归档包括生成存储于所述存储服务器中的归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中归档重做日志的位置信息。
9.如权利要求8所述的数据库日志归档方法,其特征在于,将所述日志文件中的所述日志数据设为在线重做日志;
其中,所述在线重做日志和所述归档重做日志共用同一份所述日志文件中的所述日志数据;所述归档重做日志视图用于指示所述日志文件中的归档重做日志的位置信息。
10.如权利要求8所述的数据库日志归档方法,其特征在于,所述方法还包括:
所述存储服务器生成在线重做日志视图;
其中,所述在线重做日志视图用于指示所述日志文件中所述在线重做日志的位置信息。
11.如权利要求9所述的数据库日志归档方法,其特征在于,所述方法还包括:
所述存储服务器接收所述计算服务器发送的归档指令,依据所述归档指令对所述在线重做日志进行归档。
12.如权利要求9所述的数据库日志归档方法,其特征在于,所述日志文件包括日志元数据文件和多个日志数据文件,多个所述日志数据文件用于存储所述日志数据,所述日志元数据文件用于存储所述在线重做日志视图和所述归档重做日志视图。
13.如权利要求9所述的数据库日志归档方法,其特征在于,所述方法还包括:
所述存储服务器接收所述计算服务器发送的读写指令,其中,所述读写指令携带日志类型,所述日志类型包括归档重做日志和在线重做日志;
所述存储服务器依据所述读写指令向所述计算服务器返回响应信息,所述响应信息携带所述读写指令对应的日志数据。
14.一种存储服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;当所述一个或至少一个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求8-13中任一项所述的数据库日志归档方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求8-13中任一项所述的数据库日志归档方法。
16.一种日志归档装置,其特征在于,包括:
接收模块,用于接收计算服务器发送的日志数据并将所述日志数据存储于存储服务器的日志文件中,其中,所述计算服务器是不同于所述存储服务器的服务器,所述计算服务器用于运行数据库,所述数据库运行过程中产生所述日志数据;
归档模块,用于对将所述日志数据进行归档,所述归档包括生成存储于所述存储服务器中的归档重做日志视图,其中,所述归档重做日志视图用于指示所述存储服务器中归档重做日志的位置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646710.6A CN117235027A (zh) | 2022-06-08 | 2022-06-08 | 数据库系统、数据库日志归档方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646710.6A CN117235027A (zh) | 2022-06-08 | 2022-06-08 | 数据库系统、数据库日志归档方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117235027A true CN117235027A (zh) | 2023-12-15 |
Family
ID=89083207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210646710.6A Pending CN117235027A (zh) | 2022-06-08 | 2022-06-08 | 数据库系统、数据库日志归档方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117235027A (zh) |
-
2022
- 2022-06-08 CN CN202210646710.6A patent/CN117235027A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11153380B2 (en) | Continuous backup of data in a distributed data store | |
US10229011B2 (en) | Log-structured distributed storage using a single log sequence number space | |
US11755415B2 (en) | Variable data replication for storage implementing data backup | |
US11301154B2 (en) | Distributed storage method and device | |
US10437721B2 (en) | Efficient garbage collection for a log-structured data store | |
US7293145B1 (en) | System and method for data transfer using a recoverable data pipe | |
US9110909B2 (en) | File level hierarchical storage management system, method, and apparatus | |
US8904137B1 (en) | Deduplication system space recycling through inode manipulation | |
US8412685B2 (en) | Method and system for managing data | |
US10725666B2 (en) | Memory-based on-demand data page generation | |
US7765189B2 (en) | Data migration apparatus, method, and program for data stored in a distributed manner | |
US8214377B2 (en) | Method, system, and program for managing groups of objects when there are different group types | |
US20050246386A1 (en) | Hierarchical storage management | |
US20020065835A1 (en) | File system assigning a specific attribute to a file, a file management method assigning a specific attribute to a file, and a storage medium on which is recorded a program for managing files | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
JP2006505069A (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
EP4241166A1 (en) | Data connector component for implementing data requests | |
US7657533B2 (en) | Data management systems, data management system storage devices, articles of manufacture, and data management methods | |
CN107169126B (zh) | 一种日志处理方法及相关设备 | |
CN111435286B (zh) | 一种数据存储方法、装置和系统 | |
CN110795386B (zh) | 一种数据写入方法和服务端 | |
US20030074376A1 (en) | File manager for storing several versions of a file | |
CN117235027A (zh) | 数据库系统、数据库日志归档方法及装置 | |
CN114528260A (zh) | 文件访问请求的处理方法、电子设备及计算机程序产品 | |
CN115840662A (zh) | 一种数据备份系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |