一种实时数据库数据处理方法、系统和设备技术方案

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

【技术实现步骤摘要】
一种实时数据库数据处理方法、系统和设备


[0001]本专利技术属于数据处理
,特别是涉及一种实时数据库数据处理方法、系统和设备。

技术介绍

[0002]在实时数据库运行过程中,偶尔会因为数据库本身存在Bug造成崩溃,或由于断电或硬件故障等原因造成计算机非正常关机,从而造成数据库存档文件的损坏。这些存档文件损坏轻则造成少量测点少量部分数据丢失,重则会造成存档文件无法正常加载,从而造成所有测点大量的数据丢失。
[0003]数据库通常采用备份恢复技术来确保在系统运行发生故障的情况下不丢失数据。常见的数据库备份恢复方案主要有物理备份和逻辑备份两种。
[0004]物理备份拷贝数据库的物理文件(包括控制文件、数据文件、日志文件等)入磁带或其他存储介质。虽然这样的备份方式能较大程度上保证数据完整性,但由于其一般为定时备份,容易导致数据库系统故障发生在两次定时备份之间时的数据部分丢失。
[0005]逻辑备份是针对用户、表空间、表、分区等数据库逻辑组件进行备份,一般将数据库逻辑组件信息导出转存为二进制文件,恢复操作中,将导出的二进制文件重新装载到目标数据库中。然而现有的逻辑备份方法大多是针对关系型数据库,对于大规模归档流数据的备份恢复在效率上很难满足,而针对以处理大规模归档流数据见长的实时数据库,其备份恢复方法目前则比较缺乏,主要研究成果集中在检查点技术、日志记录、协议、重装算法等,但大多适用于内存数据库方面。

技术实现思路

[0006]针对现有技术的问题,本专利技术提供了一种实时数据库数据处理方法、系统和设备,该方法提高了实时数据库的数据归档性能,同时解决了实时数据库在服务崩溃后,最大限度确保数据不丢失并完成数据恢复,也确保存档文件不被破坏。
[0007]本专利技术采用如下技术方案来实现的:一种实时数据库数据处理方法,包括数据归档方法,所述数据归档方法包括以下步骤:创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文
件,并清空事务快照队列。
[0008]作为本专利技术的进一步改进,所述数据归档方法中,所述事务快照文件是以4K为页大小的事务快照持久化文件,并以4K的倍数大小进行读写;所述事务快照文件由一个64字节大小的文件头和若干个帧组成,文件头用于存事务快照文件的相关属性信息;每个帧代表一个事务快照,由32字节的帧头、存档文件映射表和一项或多项数据页组成。
[0009]作为本专利技术的进一步改进,所述数据归档方法中,所述在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本,具体为:事务快照文件块缓存器使用链表容器存储事务队列中所有事务快照的文件块,同一文件块的不同版本数据按版本号大小降序存储,通过索引返回用户最新版本的文件块。
[0010]作为本专利技术的进一步改进,所述数据归档方法中,所述索引返回用户最新版本的文件块是按照对应存档文件的文件页页号由小到大的顺序排序。
[0011]作为本专利技术的进一步改进,所述数据归档方法中,执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务队列,还包括:执行失败或提交失败的事务,则执行事务回滚操作。
[0012]作为本专利技术的进一步改进,所述数据恢复方法包括以下步骤:加载所述事务快照文件;按照所述事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;恢复符合完整性校验的所有事务快照到所述事务快照队列;并按照所述数据归档方法重新进行数据归档。
[0013]作为本专利技术的进一步改进,所述数据恢复方法中,依次校验事务快照的完整性具体为:若校验的事务快照完整,则校验下一个事务快照的完整性;若校验的事务快照不完整,则丢弃不完整的事务快照及之后所有事物快照。
[0014]一种实时数据库数据处理系统,包括数据归档模块,数据归档模块包括:事务创建模块,用于创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;事务执行模块,用于对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;事务快照备份模块,用于当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;文件块加载模块,用于在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;文件块写入模块,用于执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,并清空事务快照队列。
[0015]还包括数据恢复模块,所述数据恢复模块包括:文件加载模块,用于加载所述事务快照文件;完整性校验模块,用于按照所述事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,得到符合完整性校验的所有事务快照;
事务快照恢复模块,用于恢复符合完整性校验的所有事务快照到事务快照队列;并按照所述的数据归档方法重新进行数据归档。
[0016]一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实时数据库数据处理方法的步骤。
[0017]与现有技术相比,本专利技术的有益效果体现在:本专利技术通过同步事务快照形成事务快照文件,实现实时数据库对事物的支持,在实时数据库数据归档过程中非正常中断后,能通过事务快照文件进行数据恢复,保障了数据完整性;在进行数据归档时,对事务队列中多个事务快照进行版本合并,只保留最新版本的文件块,并将文件块按照对应存档文件的文件页页号由小到大的顺序排序,依次进行归档,有效减少了对磁盘的操作次数,优化了I/O操作,提高数据归档的性能。
[0018]进一步,本专利技术提供的数据恢复的方法,按照事务快照文件中事务快照先后顺序,依次校验事务快照的完整性,若当前事务快照不完整,则丢弃该条及之后所有事物快照,有效防止存档的索引文件被破坏,从而导致存档文件无法正常加载,造成大量数据丢失的问题。
附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本专利技术实时数据库数据归档方法的基本流程示意图;图2为本专利技术事务快照存档文件的文件结构示意图;图3为本专利技术事务快照文件块缓存器的索引结构示意图;图4为本专利技术优选实施例实时数据库数据归档模块结构示意图;图5为本专利技术优选实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时数据库数据处理方法,其特征在于,包括数据归档方法,所述数据归档方法包括以下步骤:创建一个事务,对所述事务的一个或多个文件块执行数据更新操作;对所述事务执行提交操作,将成功提交的事务形成一个事务快照,并写入事务快照队列中;当所述事务快照队列中事务快照记录数或事务快照占用内存达到用户配置上限时,同步所述事务快照到事务快照文件中进行备份;在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本;执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,并清空事务快照队列。2.根据权利要求1所述的实时数据库数据处理方法,其特征在于,所述数据归档方法中,所述事务快照文件是以4K为页大小的事务快照持久化文件,并以4K的倍数大小进行读写;所述事务快照文件由一个64字节大小的文件头和若干个帧组成,文件头用于存事务快照文件的相关属性信息;每个帧代表一个事务快照,由32字节的帧头、存档文件映射表和一项或多项数据页组成。3.根据权利要求1所述的实时数据库数据处理方法,其特征在于,所述数据归档方法中,所述在事务快照文件块缓存器上加载事务快照队列中所有事务快照的文件块,并获取所有文件块的最新版本,具体为:事务快照文件块缓存器使用链表容器存储事务队列中所有事务快照的文件块,同一文件块的不同版本数据按版本号大小降序存储,通过索引返回用户最新版本的文件块。4.根据权利要求3所述的实时数据库数据处理方法,其特征在于,所述数据归档方法中,所述索引返回用户最新版本的文件块是按照对应存档文件的文件页页号由小到大的顺序排序。5.根据权利要求1所述的实时数据库数据处理方法,其特征在于,所述数据归档方法中,执行检查点操作,将事务快照文件块缓存器中最新版本的文件块依次写入存档文件,清空事务队列,还包括:执行失败或提交失败的事务,则执行事务回滚操作。6.根据权利要求1所述的实时数据库数据处理方法,其特征在于,还包括数据恢复方法,所述数据恢复方法包...

【专利技术属性】
技术研发人员:马瑞瑞何清王毅
申请(专利权)人:西安热工研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1