实时数据库补历史数据方法、系统、存储介质及服务器技术方案

技术编号:32232464 阅读:54 留言:0更新日期:2022-02-09 17:36
本发明专利技术公开了一种实时数据库补历史数据方法、系统、存储介质及服务器,方法包括接收补历史数据以数据页为单位存储在补历史缓存队列中;从补历史缓存队列中取出固定页数进行批量归档,遍历所有待归档数据页;取一个待归档数据页,对存档文件进行遍历,将待归档数据页与存档文件时间范围进行比较;根据时间范围比较结果,将落在当前存档文件的数据写入存档文件进行归档,如果待归档数据页存在剩余数据,则对待归档数据页进行数据页分割,再继续遍历下一个存档文件;当待归档数据页中所有数据都归档后,停止遍历存档文件,继续取下一个待归档数据页。本发明专利技术能够保证实时数据正常传输而不受补历史数据影响,保持了实时数据库系统性能。能。能。

【技术实现步骤摘要】
实时数据库补历史数据方法、系统、存储介质及服务器


[0001]本专利技术属于数据处理
,具体涉及一种实时数据库补历史数据方法、系统、存储介质及服务器。

技术介绍

[0002]实时数据库强调接收数据的实时性,实时变化的数据直观地反应了工业企业生产过程各项指标的变动,对于过程监管和优化控制起了很大的作用。同时实时数据在概念上随着时间的推移都会成为历史数据,所以实时数据库也可以称为实时历史数据库,历史数据的存储对于未来进行宏观展示和数据分析等也提供了关键的帮助。而且根据生产数据的特性,通常很难得知哪些数据在未来是必须的,因此保存所有数据是防止关键信息丢失的最好方法。
[0003]在实际数据采集中,无法保证所有数据都完整、实时的传输并入库,有些数据会因为传输设备故障或生产设备本身的原因产生滞后或缺失,或者从其他地方迁移到新的数据库中。这些数据已经成为历史数据,无法像实时数据一样实时入库,因此要采用补历史数据的方式入库。补历史数据通常需要耗费大量系统资源,因为可能需要查找大量的存档文件并多次写入补历史数据,如果不进行特殊处理会造成系统性能大幅度下降,严重影响到实时数据入库。
[0004]通常实时数据库普遍采用了数据缓存策略来控制数据入库,在补历史数据任务较少的情况下,缓存机制可以保证系统的正常运作。但在有大量补历史数据需求时,设置再大的补历史缓存也会在归档时影响系统的整体性能,频繁的I/O操作严重拖慢了入库速度,造成数据滞后。同时,在实时数据库对存档文件进行备份、整理或建立索引等较为耗费资源的“大任务”操作时,现有的缓存策略也无法避免补历史数据抢占资源,如果此时进行“大任务”操作的服务崩溃,可能会造成数据丢失。

技术实现思路

[0005]本专利技术的目的在于针对上述现有技术中的问题,提供一种实时数据库补历史数据方法、系统、存储介质及服务器,改进了补历史数据缓存机制,在现有数据缓存基础上添加,合理分配使用系统资源,保证实时数据正常传输不受补历史数据影响,保持实时数据库系统性能。
[0006]为了实现上述目的,本专利技术有如下的技术方案:
[0007]一种实时数据库补历史数据方法,包括以下步骤:
[0008]接收补历史数据以数据页为单位存储在补历史缓存队列中;
[0009]从补历史缓存队列中取出固定页数进行批量归档,遍历所有待归档数据页;取一个待归档数据页,对存档文件进行遍历,将待归档数据页与存档文件时间范围进行比较;根据时间范围比较结果,将落在当前存档文件的数据写入存档文件进行归档,如果待归档数据页存在剩余数据,则对待归档数据页进行数据页分割,再继续遍历下一个存档文件;
[0010]当待归档数据页中所有数据都归档后,停止遍历存档文件,继续取下一个待归档数据页。
[0011]作为本专利技术实时数据库补历史数据方法的一种优选方案,补历史数据的缓存文件由无效数据缓存文件、冷数据缓存文件、无存档文件缓存文件及大任务缓存文件构成;
[0012]补历史数据归档前,若数据为无效数据,则将数据写入无效数据缓存文件中,用于问题排查和数据恢复,当数据恢复后,数据由无效数据缓存文件进行数据归档;
[0013]当补历史数据结束时间距当前时间超过系统参数中冷数据时间且系统数据归档压力判断为大时,数据满足冷数据缓存条件;补历史数据归档前,若满足冷数据缓存条件,则将补历史数据写入冷数据缓存文件中,当系统参数中冷数据时间设为0或系统数据归档压力判断为小时,数据由冷数据缓存文件进行数据归档,所述的系统数据归档压力由CPU使用率和每秒归档数据量来判断,超过其中一个设定值即判断为压力大;
[0014]补历史数据归档时,若没有对应时间范围的存档文件,则将数据写入无存档文件缓存文件中,当对应时间存档文件被创建后,数据由无存档文件缓存文件进行数据归档;
[0015]系统进行存档文件备份、整理、移动及索引建立操作统称为大任务,优先级高于补历史数据归档,补历史数据归档时,若有大任务正在执行,则将数据写入大任务缓存文件中,当大任务结束后,数据由大任务缓存文件进行数据归档。
[0016]作为本专利技术实时数据库补历史数据方法的一种优选方案,如果存档文件全部遍历完待归档数据页中仍有数据,将剩余数据写入无存档文件缓存文件中,待后续归档。
[0017]作为本专利技术实时数据库补历史数据方法的一种优选方案,所述从补历史缓存队列中取出固定页数进行批量归档的固定页数为1024,若队列中不足1024页,等待10秒,若队列中仍未增加新页,则将当前所有数据进行归档,若存在未满数据页,可以设定强制归档时间,默认60秒,若强制归档时间内未满数据页无补历史数据写入,对未满数据页进行归档;若强制归档时间设为0,则不进行强制归档,待数据页写满后进行归档。
[0018]作为本专利技术实时数据库补历史数据方法的一种优选方案,所述的待归档数据页取出后,首先判断有效性,如果数据页头部ID为0或数据页大小为0,则为无效数据页,写入无效数据缓存文件,继续取下一个待归档数据页。
[0019]作为本专利技术实时数据库补历史数据方法的一种优选方案,所述的待归档数据页判断为有效页后,若数据满足冷数据缓存条件,则写入冷数据缓存文件,继续取下一个待归档数据页;当冷数据缓存文件中数据待系统参数中冷数据时间设为0或系统数据归档压力判断为小时再继续进行归档。
[0020]作为本专利技术实时数据库补历史数据方法的一种优选方案,所述的补历史数据写入存档文件时,若系统有大任务在执行,将即将写入的补历史数据写入大任务缓存文件,若待归档数据页存在剩余数据,继续遍历下一个存档文件,否则继续取下一个待归档数据页;大任务缓存文件中的数据在大任务执行完后再写入存档文件。
[0021]本专利技术还提出一种实时数据库补历史数据系统,包括:
[0022]补历史数据接收模块,用于接收补历史数据以数据页为单位存储在补历史缓存队列中;
[0023]补历史数据归档模块,用于从补历史缓存队列中取出固定页数进行批量归档,遍历所有待归档数据页;取一个待归档数据页,对存档文件进行遍历,将待归档数据页与存档
文件时间范围进行比较;根据时间范围比较结果,将落在当前存档文件的数据写入存档文件进行归档,如果待归档数据页存在剩余数据,则对待归档数据页进行数据页分割,再继续遍历下一个存档文件;
[0024]待归档数据页跳转模块,用于当待归档数据页中所有数据都归档后,停止遍历存档文件,继续取下一个待归档数据页。
[0025]本专利技术还提出一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的实时数据库补历史数据方法的步骤。
[0026]本专利技术还提出一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的实时数据库补历史数据方法的步骤。
[0027]相较于现有技术,本专利技术至少具有如下的有益效果:
[0028]本专利技术从补历史缓存队列中取出固定页本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时数据库补历史数据方法,其特征在于,包括以下步骤:接收补历史数据以数据页为单位存储在补历史缓存队列中;从补历史缓存队列中取出固定页数进行批量归档,遍历所有待归档数据页;取一个待归档数据页,对存档文件进行遍历,将待归档数据页与存档文件时间范围进行比较;根据时间范围比较结果,将落在当前存档文件的数据写入存档文件进行归档,如果待归档数据页存在剩余数据,则对待归档数据页进行数据页分割,再继续遍历下一个存档文件;当待归档数据页中所有数据都归档后,停止遍历存档文件,继续取下一个待归档数据页。2.根据权利要求1所述的实时数据库补历史数据方法,其特征在于:补历史数据的缓存文件由无效数据缓存文件、冷数据缓存文件、无存档文件缓存文件及大任务缓存文件构成;补历史数据归档前,若数据为无效数据,则将数据写入无效数据缓存文件中,用于问题排查和数据恢复,当数据恢复后,数据由无效数据缓存文件进行数据归档;当补历史数据结束时间距当前时间超过系统参数中冷数据时间且系统数据归档压力判断为大时,数据满足冷数据缓存条件;补历史数据归档前,若满足冷数据缓存条件,则将补历史数据写入冷数据缓存文件中,当系统参数中冷数据时间设为0或系统数据归档压力判断为小时,数据由冷数据缓存文件进行数据归档,所述的系统数据归档压力由CPU使用率和每秒归档数据量来判断,超过其中一个设定值即判断为压力大;补历史数据归档时,若没有对应时间范围的存档文件,则将数据写入无存档文件缓存文件中,当对应时间存档文件被创建后,数据由无存档文件缓存文件进行数据归档;系统进行存档文件备份、整理、移动及索引建立操作统称为大任务,优先级高于补历史数据归档,补历史数据归档时,若有大任务正在执行,则将数据写入大任务缓存文件中,当大任务结束后,数据由大任务缓存文件进行数据归档。3.根据权利要求2所述的实时数据库补历史数据方法,其特征在于:如果存档文件全部遍历完待归档数据页中仍有数据,将剩余数据写入无存档文件缓存文件中,待后续归档。4.根据权利要求1所述的实时数据库补历史数据方法,其特征在于:所述从补历史缓存队列中取出固定页数进行批量归档的固定页数为1024,若队列中不足1024页,等待10秒,若队列中仍未增加新页,则将当前所有数据进行归档,若...

【专利技术属性】
技术研发人员:王奕飞何清王毅谢贝贝何新
申请(专利权)人:西安西热电站信息技术有限公司
类型:发明
国别省市:

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

1