CN113821382B - 一种实时数据库数据处理方法、系统和设备 - Google Patents

一种实时数据库数据处理方法、系统和设备 Download PDF

Info

Publication number
CN113821382B
CN113821382B CN202111405671.2A CN202111405671A CN113821382B CN 113821382 B CN113821382 B CN 113821382B CN 202111405671 A CN202111405671 A CN 202111405671A CN 113821382 B CN113821382 B CN 113821382B
Authority
CN
China
Prior art keywords
transaction
file
snapshot
transaction snapshot
data
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.)
Active
Application number
CN202111405671.2A
Other languages
English (en)
Other versions
CN113821382A (zh
Inventor
马瑞瑞
何清
王毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Thermal Power Research Institute Co Ltd
Original Assignee
Xian Thermal Power Research Institute Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Thermal Power Research Institute Co Ltd filed Critical Xian Thermal Power Research Institute Co Ltd
Priority to CN202111405671.2A priority Critical patent/CN113821382B/zh
Publication of CN113821382A publication Critical patent/CN113821382A/zh
Application granted granted Critical
Publication of CN113821382B publication Critical patent/CN113821382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实时数据库数据处理方法、系统和设备,该方法包括:数据归档方法,其包括:创建一个事务,对事务的一个或多个文件块执行数据更新操作;执行事务提交操作,成功提交的事务形成一个事务快照,写入事务快照队列中;当事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中备份;事务快照文件块缓存器加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务快照队列。该方法通过同步事务快照形成事务快照文件,实现实时数据库对事物的支持。

Description

一种实时数据库数据处理方法、系统和设备
技术领域
本发明属于数据处理技术领域,特别是涉及一种实时数据库数据处理方法、系统和设备。
背景技术
在实时数据库运行过程中,偶尔会因为数据库本身存在Bug造成崩溃,或由于断电或硬件故障等原因造成计算机非正常关机,从而造成数据库存档文件的损坏。这些存档文件损坏轻则造成少量测点少量部分数据丢失,重则会造成存档文件无法正常加载,从而造成所有测点大量的数据丢失。
数据库通常采用备份恢复技术来确保在系统运行发生故障的情况下不丢失数据。常见的数据库备份恢复方案主要有物理备份和逻辑备份两种。
物理备份拷贝数据库的物理文件(包括控制文件、数据文件、日志文件等)入磁带或其他存储介质。虽然这样的备份方式能较大程度上保证数据完整性,但由于其一般为定时备份,容易导致数据库系统故障发生在两次定时备份之间时的数据部分丢失。
逻辑备份是针对用户、表空间、表、分区等数据库逻辑组件进行备份,一般将数据库逻辑组件信息导出转存为二进制文件,恢复操作中,将导出的二进制文件重新装载到目标数据库中。然而现有的逻辑备份方法大多是针对关系型数据库,对于大规模归档流数据的备份恢复在效率上很难满足,而针对以处理大规模归档流数据见长的实时数据库,其备份恢复方法目前则比较缺乏,主要研究成果集中在检查点技术、日志记录、协议、重装算法等,但大多适用于内存数据库方面。
发明内容
针对现有技术的问题,本发明提供了一种实时数据库数据处理方法、系统和设备,该方法提高了实时数据库的数据归档性能,同时解决了实时数据库在服务崩溃后,最大限度确保数据不丢失并完成数据恢复,也确保存档文件不被破坏。
本发明采用如下技术方案来实现的:
一种实时数据库数据处理方法,包括数据归档方法,所述数据归档方法包括以下步骤:
创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;
对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;
当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;
在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,并清空事务快照队列。
作为本发明的进一步改进,所述数据归档方法中,所述事务快照文件是以4K为页大小的事务快照持久化文件,并以4K的倍数大小进行读写;所述事务快照文件由一个64字节大小的文件头和若干个帧组成,文件头用于存事务快照文件的相关属性信息;每个帧代表一个事务快照,由32字节的帧头、存档文件映射表和一项或多项数据页组成。
作为本发明的进一步改进,所述数据归档方法中,所述在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本,具体为:
事务快照文件块缓存器使用链表容器存储事务队列中所有事务快照的文件块,同一文件块的不同版本数据按版本号大小降序存储,通过索引返回用户最新版本的文件块。
作为本发明的进一步改进,所述数据归档方法中,所述索引返回用户最新版本的文件块是按照对应存档文件的文件页页号由小到大的顺序排序。
作为本发明的进一步改进,所述数据归档方法中,执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务队列,还包括:
执行失败或提交失败的事务,则执行事务回滚操作。
作为本发明的进一步改进,所述数据恢复方法包括以下步骤:
加载所述事务快照文件;
按照所述事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;
恢复符合完整性校验的所有事务快照到所述事务快照队列;并按照所述数据归档方法重新进行数据归档。
作为本发明的进一步改进,所述数据恢复方法中,依次校验事务快照的完整性具体为:
若校验的事务快照完整,则校验下一个事务快照的完整性;
若校验的事务快照不完整,则丢弃不完整的事务快照及之后所有事物快照。
一种实时数据库数据处理系统,包括数据归档模块,数据归档模块包括:
事务创建模块,用于创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;
事务执行模块,用于对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;
事务快照备份模块,用于当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;
文件块加载模块,用于在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
文件块写入模块,用于执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,并清空事务快照队列。
还包括数据恢复模块,所述数据恢复模块包括:
文件加载模块,用于加载所述事务快照文件;
完整性校验模块,用于按照所述事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;
事务快照恢复模块,用于恢复符合完整性校验的所有事务快照到事务快照队列;并按照所述的数据归档方法重新进行数据归档。
一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实时数据库数据处理方法的步骤。
与现有技术相比,本发明的有益效果体现在:
本发明通过同步事务快照形成事务快照文件,实现实时数据库对事物的支持,在实时数据库数据归档过程中非正常中断后,能通过事务快照文件进行数据恢复,保障了数据完整性;在进行数据归档时,对事务队列中多个事务快照进行版本合并,只保留最新版本的文件块,并将文件块按照对应存档文件的文件页页号由小到大的顺序排序,依次进行归档,有效减少了对磁盘的操作次数,优化了I/O操作,提高数据归档的性能。
进一步,本发明提供的数据恢复的方法,按照事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,若当前事务快照不完整,则丢弃该条及之后所有事物快照,有效防止存档的索引文件被破坏,从而导致存档文件无法正常加载,造成大量数据丢失的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实时数据库数据归档方法的基本流程示意图;
图2为本发明事务快照存档文件的文件结构示意图;
图3为本发明事务快照文件块缓存器的索引结构示意图;
图4为本发明优选实施例实时数据库数据归档模块结构示意图;
图5为本发明优选实施例实时数据库数据恢复模块结构示意图;
图6为本发明优选实施例电子设备结构示意图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
本发明提供一种实时数据库数据处理方法,包括实时数据库数据归档的方法和实时数据库数据恢复的方法,具体的,两种方法说明如下:
一种实时数据库数据归档的方法,包括以下步骤:
创建一个事务(Transaction),对事务的一个或多个文件块执行数据更新操作;
执行事务提交(Commit)操作,成功提交的事务形成一个事务快照,写入事务队列中;所述事务快照记录了该事务在数据库上执行的动作,即对一个或多个具有动作相关性的数据库文件块的改变。
当事务队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步这些事务快照到事务快照文件中备份;
其中,所述事务快照文件是一个以4K为页大小的事务快照持久化文件,该文件以4K的倍数大小进行读写,由一个64字节大小的文件头和若干个帧组成,文件头用于存事务快照文件的相关属性信息,每个帧代表一个事务快照,由32字节的帧头、存档文件映射表和一项或多项数据页组成。
在确认事务快照已经被同步到事务快照文件后,事务快照文件块缓存器加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本,具体为:事务快照文件块缓存器使用链表容器存储事务队列中所有事务快照的文件块,同一文件块的不同版本数据按版本号大小降序存储,通过索引返回用户最新版本的文件块。
进一步的,索引返回用户最新版本的文件块是按照对应存档文件的文件页页号由小到大的顺序排序。
执行检查点(Checkpoint)操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务队列。
执行失败或提交失败的事务,则执行事务回滚(Rollback)操作。
一种实时数据库数据恢复的方法,包括以下步骤:
加载事务快照文件;
按照事务快照文件中事务快照先后顺序,用CRC32算法依次校验事务快照的完整性;
若当前事务快照完整,则校验下一个事务快照的完整性;
若当前事务快照不完整,则丢弃该条及之后所有事物快照;
恢复符合完整性校验的所有事务快照到事务快照队列;
按照所述的数据归档方法重新进行数据归档。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
结合图1所示,本发明第一个目的是提供一种实时数据库数据归档的方法,具体方法包括:
步骤S1:创建一个事务(Transaction),对一个或多个文件块执行数据更新操作;实际应用当中,该事物可以对是数据库测点写快照、补写历史、插值等等数据更新操作进行数据归档,该操作将会引起数据库存档文件的数据变更。
步骤S2:执行事务提交(Commit)操作,成功提交的事务形成一个事务快照,写入事务队列中;所述事务快照记录了该事务在数据库上执行的动作,即对一个或多个具有动作相关性的数据库文件块的改变。
如图1所示,已写入事务队列的事务快照Snapshot01记录了文件页Page6、Page9、Page12中文件块的改变;Snapshot02记录了文件页Page9、Page10、Page15中文件块的改变;Snapshot03记录了文件页Page4、Page5、Page15中文件块的改变;Snapshot04记录了文件页Page4、Page5、Page10中文件块的改变。事务快照Snapshot01、Snapshot02、Snapshot03、Snapshot04按先后顺序写入内存中的事务队列。
步骤S3:当事务队列中事务快照记录数(睿腾实时数据库默认1000)或事务快照占用内存达到用户配置上限(睿腾实时数据库默认1G)时,同步这些事务快照到事务快照文件中备份;
如图2所示,所述事务快照文件是一个以4K为页大小的事务快照持久化文件,该文件以4K的倍数大小进行读写,由一个64字节大小的文件头和若干个帧组成,文件头用于存事务快照文件的相关属性信息,每个帧代表一个事务快照,由32字节的帧头、存档文件映射表和一项或多项数据页组成。
文件头(64字节)定义为:
Figure 229329DEST_PATH_IMAGE001
帧头(32字节)定义为:
Figure 421276DEST_PATH_IMAGE002
存档文件映射表定义:
Figure 970069DEST_PATH_IMAGE003
每个帧中只存储该帧中新增的存档文件映射项,存档文件映射表可能包含有0或多项记录,该记录数由帧头中的file_map_count属性决定。
帧数据页是一个非常特殊的数据页存储结构,它用于存储一个事务快照中所有的文件块。由于事务快照是一个追加写入的文件,为确保该文件的数据安全,只允许用户向后顺序写入数据。为此,帧数据页结构中增加一个起到帧结束标识作用的文件块头。
文件块头结构定义(16字节):
Figure 713903DEST_PATH_IMAGE004
文件块数据写入时先进行压缩处理,如果压缩率低于90%,则设置block_flag压缩标签,并存储压缩之后的文件块数据,否则不压缩按原文件块数据存储。
步骤S4:在确认事务快照已经被同步到事务快照文件后,事务快照文件块缓存器加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本,具体为:事务快照文件块缓存器使用链表容器存储事务队列中所有事务快照的文件块,同一文件块的不同版本数据按版本号大小降序存储,通过索引返回用户最新版本的文件块。
索引返回用户最新版本的文件块是按照对应存档文件的文件页页号由小到大的顺序排序。该索引的结构如图3所示。
步骤S5:执行检查点(Checkpoint)操作,将事务快照文件块缓存器中的文件块依次写入存档文件,清空事务队列。
执行失败或提交失败的事务,则执行事务回滚(Rollback)操作。
本发明还包括一种实时数据库数据恢复的方法,包括以下步骤:
加载事务快照文件;
按照事务快照文件中事务快照先后顺序,用CRC32算法依次校验事务快照的完整性;
若当前事务快照完整,则校验下一个事务快照的完整性;
若当前事务快照不完整,则丢弃该条及之后所有事物快照;
恢复符合完整性校验的所有事务快照到事务快照队列,按照本发明提出的数据归档方法重新进行数据归档。
如图4所示,本发明的另一目的在于提出一种实时数据库数据处理系统,包括数据归档模块,数据归档模块包括:
事务创建模块,用于创建一个事务,对一个或多个文件块执行数据更新操作;
事务执行模块,用于执行事务提交操作,成功提交的事务形成一个事务快照,写入事务快照队列中;
事务快照备份模块,用于当事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中备份;
文件块加载模块,用于事务快照文件块缓存器加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
文件块写入模块,用于执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务快照队列。
如图5所示,还包括数据恢复模块,所述数据恢复模块包括:
文件加载模块,用于加载事务快照文件;
完整性校验模块,用于按照事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;
事务快照恢复模块,用于恢复符合完整性校验的所有事务快照到事务快照队列;并按照所述的数据归档方法重新进行数据归档。
如图6所示,本发明第三个目的是提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实时数据库数据处理方法的步骤。
所述实时数据库数据处理方法包括以下步骤:
包括数据归档方法,所述数据归档方法包括以下步骤:
创建一个事务,对一个或多个文件块执行数据更新操作;
执行事务提交操作,成功提交的事务形成一个事务快照,写入事务快照队列中;
当事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中备份;
事务快照文件块缓存器加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务快照队列。
本发明第四个目的是提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述实时数据库数据处理方法的步骤。
包括数据归档方法,所述数据归档方法包括以下步骤:
创建一个事务,对一个或多个文件块执行数据更新操作;
执行事务提交操作,成功提交的事务形成一个事务快照,写入事务快照队列中;
当事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中备份;
事务快照文件块缓存器加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务快照队列。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明所提供的实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方法的目的。
另对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方法而非限制,最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种实时数据库数据处理方法,其特征在于,包括数据归档方法,所述数据归档方法包括以下步骤:
创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;
对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;
当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;
在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,并清空事务快照队列。
2.根据权利要求1所述的实时数据库数据处理方法,其特征在于,
所述数据归档方法中,所述事务快照文件是以4K为页大小的事务快照持久化文件,并以4K的倍数大小进行读写;所述事务快照文件由一个64字节大小的文件头和若干个帧组成,文件头用于存事务快照文件的相关属性信息;每个帧代表一个事务快照,由32字节的帧头、存档文件映射表和一项或多项数据页组成。
3.根据权利要求1所述的实时数据库数据处理方法,其特征在于,
所述数据归档方法中,所述在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本,具体为:
事务快照文件块缓存器使用链表容器存储事务队列中所有事务快照的文件块,同一文件块的不同版本数据按版本号大小降序存储,通过索引返回用户最新版本的文件块。
4.根据权利要求3所述的实时数据库数据处理方法,其特征在于,
所述数据归档方法中,所述索引返回用户最新版本的文件块是按照对应存档文件的文件页页号由小到大的顺序排序。
5.根据权利要求1所述的实时数据库数据处理方法,其特征在于,
所述数据归档方法中,执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务队列,还包括:
执行失败或提交失败的事务,则执行事务回滚操作。
6.根据权利要求1所述的实时数据库数据处理方法,其特征在于,还包括数据恢复方法,所述数据恢复方法包括以下步骤:
加载所述事务快照文件;
按照所述事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;
恢复符合完整性校验的所有事务快照到所述事务快照队列;并按照所述数据归档方法重新进行数据归档。
7.根据权利要求6所述的实时数据库数据处理方法,其特征在于,
所述数据恢复方法中,依次校验事务快照的完整性具体为:
若校验的事务快照完整,则校验下一个事务快照的完整性;
若校验的事务快照不完整,则丢弃不完整的事务快照及之后所有事物快照。
8.一种实时数据库数据处理系统,其特征在于,包括数据归档模块,数据归档模块包括:
事务创建模块,用于创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;
事务执行模块,用于对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;
事务快照备份模块,用于当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;
文件块加载模块,用于在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;
文件块写入模块,用于执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,并清空事务快照队列。
9.根据权利要求8所述的实时数据库数据处理系统,其特征在于,还包括数据恢复模块,所述数据恢复模块包括:
文件加载模块,用于加载所述事务快照文件;
完整性校验模块,用于按照所述事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;
事务快照恢复模块,用于恢复符合完整性校验的所有事务快照到事务快照队列;并按照所述的数据归档模块重新进行数据归档。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述实时数据库数据处理方法的步骤。
CN202111405671.2A 2021-11-24 2021-11-24 一种实时数据库数据处理方法、系统和设备 Active CN113821382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111405671.2A CN113821382B (zh) 2021-11-24 2021-11-24 一种实时数据库数据处理方法、系统和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111405671.2A CN113821382B (zh) 2021-11-24 2021-11-24 一种实时数据库数据处理方法、系统和设备

Publications (2)

Publication Number Publication Date
CN113821382A CN113821382A (zh) 2021-12-21
CN113821382B true CN113821382B (zh) 2022-03-01

Family

ID=78918195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111405671.2A Active CN113821382B (zh) 2021-11-24 2021-11-24 一种实时数据库数据处理方法、系统和设备

Country Status (1)

Country Link
CN (1) CN113821382B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114417640B (zh) * 2022-03-28 2022-06-21 西安热工研究院有限公司 一种可视化计算请求式计算方法、系统、设备及存储介质
CN116521622B (zh) * 2023-06-30 2023-09-22 中邮消费金融有限公司 一种基于数据快照自动化管理数据的方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012849A (zh) * 2010-11-19 2011-04-13 中国人民大学 一种基于闪存的数据库恢复方法
CN103729442A (zh) * 2013-12-30 2014-04-16 华为技术有限公司 记录事务日志的方法和数据库引擎
CN104537037A (zh) * 2014-12-23 2015-04-22 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置
CN106126658A (zh) * 2016-06-28 2016-11-16 电子科技大学 一种基于虚拟存储器快照的数据库检查点构建方法
CN106598992A (zh) * 2015-10-15 2017-04-26 中兴通讯股份有限公司 数据库的操作方法及装置
CN107835983A (zh) * 2015-04-16 2018-03-23 诺宝公司 使用一致的数据库快照在分布式数据库中进行备份和还原
CN110209527A (zh) * 2018-11-30 2019-09-06 腾讯科技(深圳)有限公司 数据恢复方法、装置、服务器以及存储介质
CN112035410A (zh) * 2020-08-18 2020-12-04 腾讯科技(深圳)有限公司 日志存储方法、装置、节点设备及存储介质
CN113495872A (zh) * 2020-04-08 2021-10-12 北京万里开源软件有限公司 分布式数据库中的事务处理方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153351A1 (en) * 2008-12-16 2010-06-17 Yung Alex P Techniques for real-time database processing
US10831706B2 (en) * 2016-02-16 2020-11-10 International Business Machines Corporation Database maintenance using backup and restore technology
CN107256182B (zh) * 2017-05-03 2020-09-08 上海上讯信息技术股份有限公司 一种数据库还原的方法及设备
CN110825562B (zh) * 2019-09-16 2023-03-07 北京京东尚科信息技术有限公司 数据备份方法、装置、系统和存储介质
US11354198B2 (en) * 2019-11-19 2022-06-07 International Business Machines Corporation Snapshot for world state recovery

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012849A (zh) * 2010-11-19 2011-04-13 中国人民大学 一种基于闪存的数据库恢复方法
CN103729442A (zh) * 2013-12-30 2014-04-16 华为技术有限公司 记录事务日志的方法和数据库引擎
CN104537037A (zh) * 2014-12-23 2015-04-22 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置
CN107835983A (zh) * 2015-04-16 2018-03-23 诺宝公司 使用一致的数据库快照在分布式数据库中进行备份和还原
CN106598992A (zh) * 2015-10-15 2017-04-26 中兴通讯股份有限公司 数据库的操作方法及装置
CN106126658A (zh) * 2016-06-28 2016-11-16 电子科技大学 一种基于虚拟存储器快照的数据库检查点构建方法
CN110209527A (zh) * 2018-11-30 2019-09-06 腾讯科技(深圳)有限公司 数据恢复方法、装置、服务器以及存储介质
CN113495872A (zh) * 2020-04-08 2021-10-12 北京万里开源软件有限公司 分布式数据库中的事务处理方法及系统
CN112035410A (zh) * 2020-08-18 2020-12-04 腾讯科技(深圳)有限公司 日志存储方法、装置、节点设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Improving performance by avoiding transaction logging on Load Isolated tables in Teradata》;Chandrasekhar Tekur et al.;《2019 IEEE International Conference on Electrical, Computer and Communication Technologies (ICECCT)》;20191017;全文 *
《一种实时数据库事务处理策略的应用》;罗健 等;《计算机技术与发展》;20060731;全文 *

Also Published As

Publication number Publication date
CN113821382A (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
US11308071B2 (en) Update and query of a large collection of files that represent a single dataset stored on a blob store
US7873683B2 (en) File system having transaction record coalescing
US9021303B1 (en) Multi-threaded in-memory processing of a transaction log for concurrent access to data during log replay
US8560500B2 (en) Method and system for removing rows from directory tables
EP1744246B1 (en) File system having deferred verification of data integrity
CA2818472C (en) Optimized startup verification of file system integrity
CN108664359B (zh) 一种数据库恢复方法、装置、设备及存储介质
CN113821382B (zh) 一种实时数据库数据处理方法、系统和设备
EP2590078B1 (en) Shadow paging based log segment directory
US7406489B2 (en) Apparatus, system and method for persistently storing data in a data synchronization process
US20140172803A1 (en) Main-memory database checkpointing
US20070005874A1 (en) File system storing transaction records in flash-like media
US11960363B2 (en) Write optimized, distributed, scalable indexing store
US10891202B2 (en) Recovery of in-memory databases using a backward scan of the database transaction log
JP7108782B2 (ja) データリカバリー方法、装置、サーバ及びコンピュータ・プログラム
CN110555770B (zh) 一种基于增量哈希的区块链世界状态校验和恢复方法
US10977143B2 (en) Mirrored write ahead logs for data storage system
US10459804B2 (en) Database rollback using WAL
US8108356B2 (en) Method for recovering data in a storage system
KR20170054767A (ko) 데이터베이스 관리 시스템 및 그의 데이터 변경 및 복구 방법
US7337194B2 (en) Asynchronous remote mirroring techniques for databases
CN116595012B (zh) 一种基于非易失内存的时序数据库日志存储方法及系统
US20160275134A1 (en) Nosql database data validation
US10452496B2 (en) System and method for managing storage transaction requests
CN105659214A (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
GR01 Patent grant
GR01 Patent grant