CN113377815B - 一种面向实时数据库的写快照断点续传的方法 - Google Patents
一种面向实时数据库的写快照断点续传的方法 Download PDFInfo
- Publication number
- CN113377815B CN113377815B CN202110647006.8A CN202110647006A CN113377815B CN 113377815 B CN113377815 B CN 113377815B CN 202110647006 A CN202110647006 A CN 202110647006A CN 113377815 B CN113377815 B CN 113377815B
- Authority
- CN
- China
- Prior art keywords
- real
- time database
- data
- cache
- snapshot
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向实时数据库的写快照断点续传的方法,该方法包括:实时数据库中间件接收实时数据库返回的写快照错误码,获取符合条件的写入失败的快照数据包;在数据缓存模块的历史数据缓存队列进行缓存;待与实时数据库连接恢复后,按照先入先出顺序依次解析历史数据缓存队列中的缓存文件为以标签为统计维度的数组;后台写历史伺服线程通过批量写历史方式依次将每个标签对应数组的数据值补写到实时数据库中;当一个缓存文件中所有数据被成功补写,删除该缓存文件,直至所有缓存文件被成功补写。本发明解决了电力实时数据传输中间件向实时数据库传输快照数据中断后自动断点续传的问题,在保证数据完整性的同时提高了数据补写的性能。
Description
技术领域
本发明属于实时数据库技术领域,特别是涉及一种面向实时数据库的写快照断点续传的方法。
背景技术
随着我国经济的不断增长和信息化社会的建设,信息化技术的在电力行业的应用越来越普及,发电企业建立了以实时数据库为平台的信息体系,以实现对设备运行的远程实时监控、性能诊断、事故预警,提高发电质量,保证发电设备安全、可靠运行。
电力信息系统对实时数据的采集和存储有着强实时作业的要求,更加注重数据采集的完整性和一致性。由于工控系统网络的复杂性、硬件设备问题或者实时数据库系统自身的原因,时常会出现某个时段向实时数据库传输数据中断,如果处理不当就会造成数据的丢失,严重影响实时数据的完整性。
现有解决方案采用数据通讯监测和数据缓存技术,在数据通讯恢复后将缓存数据文件通过写历史的方式重新写入实时数据库,没有考虑数据文件中的数据测点特性,不对数据文件做任何处理。而实时数据库在组织历史数据时,通常采用链表的方式将同一标签的所有数据按照的时间戳先后顺序安排在若干个历史数据存档文件中,当向实时数据库补写历史数据时,实时数据库会根据补录标签数据的时间戳将数据值插入对应标签的历史记录中,同时重新调整历史数据存档文件。如果同一标签存在多个数据值需要补录,实时数据库会对该标签进行多次写历史操作,反复对历史存档文件进行调整,严重影响实时数据库的性能。
发明内容
为了解决上述问题,本发明提供了一种面向实时数据库的写快照断点续传的方法,解决了电力实时数据传输中间件向实时数据库传输快照数据中断后自动断点续传的问题,在保证数据完整性的同时提高了数据补写的性能。
本发明采用如下技术方案来实现的:
一种面向实时数据库的写快照断点续传的方法,包括以下步骤:
步骤1:实时数据库中间件接收实时数据库返回的写快照错误码,判断错误原因,获取符合条件的写入失败的快照数据包,丢弃不符合条件的快照数据包;
步骤2:符合条件的快照数据包依次在数据缓存模块的历史数据缓存队列进行缓存;
步骤3:待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件为以标签为统计维度的数组;
步骤4:后台写历史伺服线程通过批量写历史方式依次将每个标签对应数组的数据值补写到实时数据库中;
步骤5:当一个缓存文件中所有数据被成功补写,删除该缓存文件,返回步骤3,直至所有缓存文件被成功补写。
实时数据库中间件接收实时数据库返回的写快照错误码,判断错误原因,获取符合条件的写入失败的快照数据包,所述条件指的是写快照失败原因是数据库忙、数据库连接失败或写快照部分失败。
所述历史数据缓存队列为先进先出队列结构。
符合条件的快照数据包依次在数据缓存模块的历史数据缓存队列进行缓存,数据缓存的存储介质为磁盘文件,配置每个缓存文件的最大字节数,缓存文件默认大小为50M,超过该最大字节数时自动切换缓存文件。
步骤3中待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件为以标签为统计维度的数组,具体包括以下步骤:
步骤31:待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件,获取单个缓存文件中所有标签,重复标签只获取一次;
步骤32:为每个标签建立一个可变长数组;
步骤33:获取每个标签在该缓存文件中的所有数据值;
步骤34:按快照时间先后顺序数据值添加到该标签对应的可变长数组中。
本发明至少具有以下有益的技术效果:
本发明提供的方法通过自动监测实时数据库写快照的返回结果,当向实时数据库传输快照数据中断后自动缓存写入失败的数据,并在实时数据库连接恢复后,自动向实时数据库进行数据补写,保证了电力信息系统采集数据的完整性;
本发明提供的方法在向实时数据库补写数据前,根据标签重新整合缓存数据,针对同一标签采用批量写历史的方法补写数据,从而极大减少了实时数据库调用补写历史数据方法的次数及对历史存档文件调整的次数,进一步提高了断点续传过程中向实时数据库补写数据的性能。
附图说明
图1是本发明实施例的基本流程示意图;
图2为本发明实施例步骤3的流程示意图;
图3为本发明方法中以标签为统计维度的数组示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
图1是本发明实施例的基本流程示意图,如图1所示的一种面向实时数据库的写快照断点续传的方法,包括以下步骤:
步骤1:实时数据库中间件接收实时数据库返回的写快照错误码,判断错误原因,获取符合条件的写入失败的快照数据包,丢弃不符合条件的快照数据包。
所述条件指的是写快照失败原因是数据库忙、数据库连接失败或写快照部分失败。
常见的不符合条件的错误原因为:标签在实时数据库不存在,时标/数据类型错误,这种情况需要在实时数据库重新配置标签或修正时标/数据类型。
步骤2:符合条件的快照数据包依次在数据缓存模块的历史数据缓存队列进行缓存。
所述历史数据缓存队列为先进先出(FIFO)队列结构。数据缓存的存储介质为磁盘文件,可配置每个缓存文件的最大字节数,缓存文件默认大小为50M,超过该最大字节数时自动切换缓存文件。
步骤3:待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件为以标签为统计维度的数组,如图2所示,具体包括以下步骤:
步骤31:待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件,获取单个缓存文件中所有标签,重复标签只获取一次;
步骤32:为每个标签建立一个可变长数组;
步骤33:获取每个标签在该缓存文件中的所有数据值;
步骤34:按快照时间先后顺序数据值添加到该标签对应的可变长数组中。如图3所示,为一个标签对应的可变长数组示意图,每个数据值由三部分组成:时戳(TimeStamp)、质量(Quality)和数据值(Value)。TimeStamp1<TimeStamp2<TimeStamp3<…<TimeStampN,数组按照数据值中时戳先后顺序将该标签数据值整合在数组中,以便后续一次性批量写入该标签所有数据值。N为该标签在该数据文件中存在的数据值个数,每个标签会有所差异。
步骤4:后台写历史伺服线程通过批量写历史方式依次将每个标签对应数组的数据值补写到实时数据库中;
步骤5:当一个缓存文件中所有数据被成功补写,删除该缓存文件,返回步骤3,直至所有缓存文件被成功补写。
Claims (4)
1.一种面向实时数据库的写快照断点续传的方法,其特征在于,包括以下步骤:
步骤1:实时数据库中间件接收实时数据库返回的写快照错误码,判断错误原因,获取符合条件的写入失败的快照数据包,丢弃不符合条件的快照数据包;
步骤2:符合条件的快照数据包依次在数据缓存模块的历史数据缓存队列进行缓存;
步骤3:待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件为以标签为统计维度的数组;
步骤4:后台写历史伺服线程通过批量写历史方式依次将每个标签对应数组的数据值补写到实时数据库中;
步骤5:当一个缓存文件中所有数据被成功补写,删除该缓存文件,返回步骤3,直至所有缓存文件被成功补写;
步骤3中待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件为以标签为统计维度的数组,具体包括以下步骤:
步骤31:待实时数据库中间件与实时数据库连接恢复后,历史数据缓存解析模块按照先入先出顺序依次解析历史数据缓存队列中的缓存文件,获取单个缓存文件中所有标签,重复标签只获取一次;
步骤32:为每个标签建立一个可变长数组;
步骤33:获取每个标签在该缓存文件中的所有数据值;
步骤34:按快照时间先后顺序数据值添加到该标签对应的可变长数组中。
2.根据权利要求1所述的一种面向实时数据库的写快照断点续传的方法,其特征在于,实时数据库中间件接收实时数据库返回的写快照错误码,判断错误原因,获取符合条件的写入失败的快照数据包,所述条件指的是写快照失败原因是数据库忙、数据库连接失败或写快照部分失败。
3.根据权利要求1所述的一种面向实时数据库的写快照断点续传的方法,其特征在于,所述历史数据缓存队列为先进先出队列结构。
4.根据权利要求1所述的一种面向实时数据库的写快照断点续传的方法,其特征在于,符合条件的快照数据包依次在数据缓存模块的历史数据缓存队列进行缓存,数据缓存的存储介质为磁盘文件,配置每个缓存文件的最大字节数,缓存文件默认大小为50M,超过该最大字节数时自动切换缓存文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110647006.8A CN113377815B (zh) | 2021-06-10 | 2021-06-10 | 一种面向实时数据库的写快照断点续传的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110647006.8A CN113377815B (zh) | 2021-06-10 | 2021-06-10 | 一种面向实时数据库的写快照断点续传的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377815A CN113377815A (zh) | 2021-09-10 |
CN113377815B true CN113377815B (zh) | 2023-03-14 |
Family
ID=77573565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110647006.8A Active CN113377815B (zh) | 2021-06-10 | 2021-06-10 | 一种面向实时数据库的写快照断点续传的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377815B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185914B (zh) * | 2022-02-16 | 2022-04-29 | 西安热工研究院有限公司 | 计算标签数据的补算方法、系统、设备及存储介质 |
CN115277723B (zh) * | 2022-07-19 | 2024-06-18 | 国能信控互联技术有限公司 | 边缘采集历史模块基于缓冲事件的断点续传方法及系统 |
CN116257493A (zh) * | 2022-12-29 | 2023-06-13 | 北京京桥热电有限责任公司 | 一种基于缓存机制的opc穿网闸接口 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451268A (zh) * | 2017-08-03 | 2017-12-08 | 爱普(福建)科技有限公司 | 一种面向实时数据库的断网续传的方法 |
CN110535689A (zh) * | 2019-08-07 | 2019-12-03 | 北京数衍科技有限公司 | 用于事件流中断补偿机制实现的中间件框架及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595234B2 (en) * | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
CN101957867B (zh) * | 2010-10-29 | 2012-10-03 | 国电南瑞科技股份有限公司 | 电力调度自动化系统分布式应用解列状态下数据缓存方法 |
CN107025115B (zh) * | 2017-05-05 | 2020-06-26 | 北京英诺威尔科技股份有限公司 | 一种适配多种接口采集的方法 |
-
2021
- 2021-06-10 CN CN202110647006.8A patent/CN113377815B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451268A (zh) * | 2017-08-03 | 2017-12-08 | 爱普(福建)科技有限公司 | 一种面向实时数据库的断网续传的方法 |
CN110535689A (zh) * | 2019-08-07 | 2019-12-03 | 北京数衍科技有限公司 | 用于事件流中断补偿机制实现的中间件框架及方法 |
Non-Patent Citations (1)
Title |
---|
数据缓存按需同步的设计与应用;周京晖;《软件》;20130515;第34卷(第05期);6-11 * |
Also Published As
Publication number | Publication date |
---|---|
CN113377815A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113377815B (zh) | 一种面向实时数据库的写快照断点续传的方法 | |
US10296435B2 (en) | Storage of mass data for monitoring | |
CN106649071B (zh) | 进程内部日志上报的方法和装置 | |
CN110609813A (zh) | 一种数据存储系统及方法 | |
CN115460251B (zh) | 基于云边协同的设备数据采集方法、装置、设备及介质 | |
CN112380260B (zh) | 基于不同采集场景的断线缓存方法 | |
CN114154035A (zh) | 一种动环监控的数据处理系统 | |
CN114124655A (zh) | 网络监控方法、系统、装置、计算机设备和存储介质 | |
CN118555190A (zh) | 一种基于续传数据能力的光网络单元设备升级方法及系统 | |
CN114610567A (zh) | 容器监控方法、网络设备及存储介质 | |
CN112260902B (zh) | 网络设备监控方法、装置、设备及存储介质 | |
CN107276834B (zh) | 一种航空电子环境下光纤通道流量分析记录方法及装置 | |
US20230252029A1 (en) | On-board data storage method and system | |
CN117112039A (zh) | 一种数据中心的传输优化系统及运行方法 | |
CN113296596A (zh) | 记录信息量的方法及其系统 | |
CN113810250B (zh) | 一种消息跟踪方法、系统及设备 | |
CN114726674A (zh) | 一种基于fpga的profibus总线工艺数据提取方法 | |
CN113873033A (zh) | 一种具有容错功能的智能边缘计算网关平台 | |
CN108037942B (zh) | 一种嵌入式设备的自适应数据恢复与更新方法及装置 | |
US8032797B1 (en) | Storage of mass data for monitoring | |
CN112968744B (zh) | 一种应急广播设备日志调试方法 | |
CN115460066B (zh) | 工业主机行为数据的边缘聚合探针装置及其方法 | |
CN117170994B (zh) | Ipmi接口协议的故障预测扩展方法及系统 | |
US20240212783A1 (en) | Method and system for detecting memory error, and device | |
CN216561837U (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 |