CN109299108B - 一种可变频率的wams实时数据库管理方法与*** - Google Patents
一种可变频率的wams实时数据库管理方法与*** Download PDFInfo
- Publication number
- CN109299108B CN109299108B CN201811306232.4A CN201811306232A CN109299108B CN 109299108 B CN109299108 B CN 109299108B CN 201811306232 A CN201811306232 A CN 201811306232A CN 109299108 B CN109299108 B CN 109299108B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- time
- real
- variable
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于实时数据库在智能电网调度控制***应用领域,提出了一种可变频率的WAMS实时数据库管理方法与***,通过设计变频数据缓冲区、具备自描述特性的数据存储文件、支持可变频率存储及处理的数据结构、采用“一级索引+批处理”机制以及“一发双收”数据实时备份机制解决了PMU子站变帧率传输数据到WAMS主站导致的变频(变帧)数据存储格式不确定性、变频(变帧)数据访问方式的灵活性以及数据查询性能的稳定性问题;通过可变频率的WAMS实时数据库管理***,可从数据存储及处理层面扩展电力***PMU/WAMS应用,进一步强化***应用;可变频率的WAMS实时数据库管理***也从数据库角度为解决PMU大规模应用对通信***资源的消耗问题提供了实现途径。
Description
技术领域
本发明属于实时数据库在智能电网调度控制***应用领域,特别是涉及电力***广域测量***(WAMS)的实时数据存储和处理方面。
背景技术
随着基于相量测量单元(PMU)的电力***广域测量***(WAMS)在技术上的逐渐成熟,以及在省级以上电力调度中心的普遍应用,PMU/WAMS已经成为电力调度自动化***必要的组成部分。
在国内的WAMS/PMU***中,PMU子站与WAMS主站均采用星型通信网络结构,PMU子站采用TCP/IP协议通过电力数据调度网按照WAMS主站下发的传输频率(25Hz,50Hz,100Hz)向WAMS主站以恒定频率实时发送动态数据[5]。该通信方式在PMU子站接入规模较小时,其数据传输可靠性、实时性等均能很好地满足PMU数据传输及应用的需求,但是在PMU子站大规模地接入WAMS主站时,该通信方式将会消耗较大的网络通信带宽,同时也对WAMS主站软硬件资源,特别是实时数据存储及处理提出了更高的需求。
同时,为解决PMU大规模应用对通信***资源的消耗问题,国内研究人员已开始着手研究PMU的变帧率传输。例如:PMU平时以1帧/s的速率上送量测数据,但是就地缓存高帧率数据(如200帧/s),当监测到有需要关心的事件发生时,上送高帧率数据,并将缓存事件发生时刻前的高帧率数据也上送WAMS主站。以此避免所有PMU在所有时段均上送大量动态量测数据,以减轻通信网络的流量压力,降低主站的历史数据存储压力,这就需要底层的实时数据库提供支持WAMS可变频率数据存储及处理的相应能力。
目前已有的可支持WAMS实时数据处理***主要以基于PI数据库的实时动态监测***(WAMS)和基于TSD的WAMS时间序列实时库为主。其中,基于PI数据库的实时动态监测***采用了PI数据库平***特的压缩技术,降低了存储所需的容量,提高了数据查询速度,缺点在于核心技术受限于国外,整体的***造价、运维费用成本偏高,整体***缺乏核心竞争力;基于TSD的WAMS时间序列实时库针对WAMS实时数据特点,从数据接收、数据缓存、时间对齐和数据服务几个方面入手,结合消息总线和共享内存管理基本实现了针对WAMS数据的实时存储处理,缺点在于对变帧率数据的存储缺少相应的考虑,例如变频(变帧)数据格式、变频(变帧)数据访问等功能性问题以及由此带来的性能保障等等。针对PMU子站大规模地接入WAMS主站导致的数据量快速增加的问题,业界提出了面向电网大数据的分布式实时数据库管理***以及基于Hadoop的广域测量***数据处理,但同样对变帧率数据的存储及处理缺乏考虑。
发明内容
发明目的:本发明提供一种可变频率的WAMS实时数据库管理方法与***,目的是为了解决PMU子站变帧率传输数据到WAMS主站导致的变频(变帧)数据存储格式不确定性、变频(变帧)数据访问方式的灵活性、数据查询性能的稳定性以及数据备份的实时有效性问题。
技术方案:为实现上述发明目的,本发明所述的一种可变频率的WAMS实时数据库管理方法包括:
(S1)通过变频数据缓冲区缓存实时数据,当某测点缓存数据写满后,对该测点缓存数据进行批量无损压缩处理,形成数据块;其中数据缓存的结构包括最新数据时间、数据条数、数据有效标志和指向单条数据值结构的指针;所述数据块的结构包括数据块类型、数据块对应测点、数据提交频率、数据块对应的开始时间、压缩块大小和指向压缩包的数据指针;
(S2)从数据存储文件哈希表中查询是否有对应时间的数据存储文件,如果不存在,生成对应时间的数据存储文件,同时初始化索引表;所述哈希表存储了文件名和文件信息关系,所述文件名包含数据日期信息;所述数据存储文件具备自描述特性,包括索引部分和数据部分,索引部分存储在每个时间段第一个序列号文件的头部,标识数据存储文件所在时间范围,等份时间间隔每个测点的数据块所在的文件偏移位置;
(S3)查看数据存储文件索引表中是否存在对应时间段的历史数据,如果不存在,转步骤(S4);如果存在,转步骤(S5);
(S4)在索引表对应的文件偏移位置写入该数据块,同时更新索引表中的文件偏移变量值;
(S5)根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,与新提交生成的数据块做合并,合并完成后进行无损压缩,并加压缩后的数据块写入对应的文件偏移位置,更新索引表信息。
作为优选,所述方法还包括:(S6)通过定时任务执行,依据配置参数判断历史数据存储文件是否达到压缩标准,如果达到,则由定时任务对该文件进行压缩,以达到节约存储空间的目的。
作为优选,所述方法还包括:
(Q1)以结构体指针的方式设置单位时间数据查询接口返回参数;
(Q2)当查询请求经过API接口到达数据库后,根据查询时间范围定位查询位置,如果定位在变频数据缓冲区内,则将缓冲区内的对应数据直接返回,转步骤(Q6);
(Q3)从数据存储文件哈希表中查询是否有对应时间的数据存储文件,如果不存在,则返回对应查询错误码,转步骤(Q6);
(Q4)判断数据存储文件是否为压缩文件,如果是,则先对文件进行解压,然后查看数据存储文件索引表中是否存在对应时间段的历史数据,如果不存在,转步骤(Q6);如果存在,表示定位数据块成功,转步骤(Q5);
(Q5)根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,获取数据块内历史数据并返回;
(Q6)判断查询是否结束,如果结束,则完成查询,否则继续。
作为优选,所述方法对数据提交、数据查询请求、定时任务进行多工作线程并发处理,采用文件读写锁机制,在并发数据提交及查询时对测点管理文件和数据缓存文件进行加锁处理。
作为优选,所述方法采用跨安全区的变频数据在线实时备份,首先将PMU子站的实时数据通过消息总线传输到WAMS主站,然后同时提交到两个调度区的实时数据库。
作为优选,所述变频数据缓冲区常驻于***内存,并通过磁盘映射的方式进行固化。
本发明另一方面所述的一种可变频率的WAMS实时数据库管理***,包括变频数据缓冲区、具备自描述特征的数据存储文件以及数据存储处理模块;
所述变频数据缓冲区,用于缓存测点提交的多种频率实时数据;其中数据缓存的结构包括最新数据时间、数据条数、数据有效标志和指向单条数据值结构的指针;
所述数据存储文件,包括索引部分和数据部分,索引部分存储在每个时间段第一个序列号文件的头部,标识数据文件所在时间范围,等份时间间隔每个测点的数据块所在的文件偏移位置;
所述数据存储处理模块,用于当某测点缓存数据写满后,对该测点缓存数据进行批量无损压缩处理,形成数据块;其中数据块的结构包括数据块类型、数据块对应测点、数据提交频率、数据块对应的开始时间、压缩块大小和指向压缩包的数据指针;以及,用于从数据存储文件哈希表中查询是否有数据块的对应时间的数据文件,如果不存在,生成对应时间的数据存储文件,同时初始化索引表;其中哈希表存储了文件名和文件信息关系,文件名包含数据日期信息;以及,用于查看数据文件索引表中是否存在数据块对应时间段的历史数据,如果不存在,在索引表对应的文件偏移位置写入该数据块,同时更新索引表中的文件偏移变量值;如果存在,根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,与新提交生成的数据块做合并,合并完成后进行无损压缩,并加压缩后的数据块写入对应的文件偏移位置,更新索引表信息。
作为优选,所述***还包括数据存储文件压缩模块,用于通过定时任务执行,依据配置参数判断历史数据存储文件是否达到压缩标准,如果达到,则由定时任务对该文件进行压缩,以达到节约存储空间的目的。
作为优选,所述***还包括数据查询处理模块,用于当查询请求经过API接口到达数据库后,根据查询时间范围定位查询位置,如果定位在变频数据缓冲区内,则将缓冲区内的对应数据直接返回,如果数据存储文件哈希表中查询存在对应时间的数据存储文件,则判断数据存储文件是否为压缩文件,如果是,则先对文件进行解压,然后查看数据存储文件索引表中是否存在对应时间段的历史数据,如果存在,则根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,获取数据块内历史数据并返回。
作为优选,所述***采用跨安全区的变频数据在线实时备份,首先将PMU子站的实时数据通过消息总线传输到WAMS主站,然后同时提交到两个调度区的实时数据库。
有益效果:本发明提出的一种可变频率的WAMS实时数据库管理方法与***,通过设计变频数据缓冲区、具备自描述特性的存储文件、支持可变频率存储及处理的数据结构、采用“一级索引+批处理”机制以及“一发双收”数据实时备份机制解决了PMU子站变帧率传输数据到WAMS主站导致的变频(变帧)数据存储格式不确定性、变频(变帧)数据访问方式的灵活性以及数据查询性能的稳定性问题;本发明通过可变频率的WAMS实时数据库管理***,可从数据存储及处理层面扩展电力***PMU/WAMS应用,进一步强化***应用;并且可变频率的WAMS实时数据库管理***也从数据库角度为解决PMU大规模应用对通信***资源的消耗问题提供了实现途径。
附图说明
图1为本发明实施例中数据存储过程示意图。
图2为本发明实施例中数据查询过程示意图。
图3为本发明实施例中数据存储文件结构示意图。
图4为本发明实施例中跨安全区灾备过程示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明。本发明实施例公开的可变频率的WAMS实时数据库管理技术,主要涉及以下几个方面:
(1)设计变频数据缓冲区,用于支持多种频率数据提交的临时缓存功能,同时,方便对包括实时数据在内的最近一段时间所有测点历史数据的快速访问。变频数据缓冲区常驻于***内存,并通过磁盘映射的方式进行固化,防止数据丢失。
(2)设计具备自描述特性的存储文件,文件名以“日期_序列号”格式命名,用于表示每隔一段时间对应生成的多个归档存储文件。存储文件同时包含索引部分和数据部分,索引部分存储在每个时间段第一个序列号文件的头部,标识归档存储文件所在时间范围内,等份时间间隔每个测点的数据块所在的文件偏移位置。对于同一日期的所有文件而言,可通过文件内索引和数据实现数据查询,而无需依赖其他数据文件,因此,存储文件具备自描述特性,通过该特性可方便的实现文件增量备份,即使***存储空间不足,也可通过文件转移的方式实现数据备份,而对数据库***不产生影响。
(3)针对国内WAMS***常见频率,设计具备保存范围内可变频率的数据存储文件格式,采用冗余配置方式,设置最大频率数据存储长度,以达到支持范围内可变频率数据的存储支持能力。
(4)设计频率记录字段,用于保存记录每个时间段内各个时间间隔的数据提交频率,并记录存储在索引字段以及数据缓冲区头部数组中,查询数据时,通过该字段获取查询时间范围内各个时间间隔的数据频率,以返回对应的数据条目。
(5)设计基于数据块(DataNode)和数据文件的二级数据压缩机制。对归档的数据块通过无损压缩算法进行无损压缩,然后将压缩后的数据库存放到相应的文件位置实现压缩数据存储;通过设定压缩周期,针对超过压缩周期范围的数据文件进行无损压缩,并将压缩后文件存储在原文件目录下。查询该段时间的数据时,先解压该文件,然后进行数据查询,定位到对应的数据块后,通过无损解压算法将数据块解压,最后将解压后数据进行返回。
(6)设计基于文件映射的测点管理文件,用于存储测点信息(包括测点名、测点描述、测点类型、单位、组名、测点id、压缩死区等),组信息(组名、组id、组描述等),用户信息(用户名、密码等),该文件通过文件映射常驻***内存。
(7)测点信息、组信息、用户信息等以内存数组形式缓存与***内存,并通过哈希表方式进行管理,使用测点、组、用户等对象名称作为关键字进行绑定,方便查询。
(8)设计支持可变频率存储及处理的数据结构,包括单条值数据结构、等间隔时间范围内数据值结构、数据缓存结构、索引结构、数据块结构等。其中,单条值数据结构用于描述当前时间频率内的一条数据,属于数据表达的最小单位;等间隔时间范围内数据值结构用于描述单位时间(例如每秒)内的数据,属于数据处理的最小单元;数据缓存结构用于描述变频数据缓冲区内存储的缓存数据;索引结构用于描述数据文件中的索引部分;数据块结构用于描述未压缩的数据存储结构,属于数据存储的最小单元。
(9)设计文件读写锁机制,在高并发数据提交及查询时对测点管理文件和数据缓存文件进行加锁处理,确保磁盘映射内存部分的数据有效性,防止数据紊乱无效。
(10)采用多线程技术和“一级索引+批处理”机制大幅提升数据处理性能。多线程技术主要通过设计多个工作线程,对数据提交、数据查询请求、定时任务等工作任务进行多并发处理,提升多数据提交、多数据查询、提交和查询交叉等处理场景能力。“一级索引+批处理”机制一方面通过简化索引提升数据归档和数据查询效率,另一方面通过批量数据归档和查询减轻数据库***对操作***硬件资源的消耗,以达到数据处理性能提升的目的。
(11)采用“一发双收”的数据实时备份机制实现WAMS跨安全区的变频数据在线实时备份,首先将PMU子站的实时数据通过消息总线传输到WAMS主站,然后经支持跨安全隔离装置数据传输的接口程序调用实时库接口同时提交到调度一区和调度三区的实时数据库。相比于以往手动拷贝离线数据进行跨安全区备份的方式,有助于提升备份数据的实时有效性,同时,相比于以往通过跨安全区数据库镜像同步的方式,由于避免了镜像数据的同步处理逻辑,因此大大减少数据库的实现复杂性,有助于提升数据库稳定性和整体的处理效率。
具体地,下面从数据存储、查询、变频结构和灾备几个方面详细介绍本发明实施例的具体实施过程。
一、数据存储设计
如图1所示,本发明实施例公开的一种可变频率的WAMS实时数据库管理方法,所采用的数据存储文件结构如图3所示,每个时间间隔对应多个归档文件。文件头部存储当前文件的写偏移位置,紧接着存储索引部分,以二维表格形式标识存储所有测点等时间间隔产生的数据节点的文件偏移。在索引对应的偏移位置,存储相应测点的对应时间间隔的数据块。本例中时间间隔采用1分钟,一个归档文件存储所有测点1小时的数据。其数据存储步骤主要包括数据缓存、无损压缩、索引查询、数据合并等几个关键过程,具体如下:
步骤1:通过变频数据缓冲区缓存所有测点1分钟的实时数据,当某测点缓存数据写满后,对该测点缓存数据按照LZO无损压缩算法进行批量无损压缩处理,最终形成数据块DataNode;
步骤2:通过文件哈希表存储文件记录信息,该哈希表以hashmap的形式将文件名-文件信息(文件路径、文件创建时间)作为键值对进行存储,便于精确时间点的文件查询。从数据文件哈希表中查询是否有该DataNode的对应时间的数据文件,如果不存在,生成对应时间(优选地以小时数、自然日为例,本例中为当前小时)的数据文件,同时初始化索引表;
步骤3:查看数据文件索引表中是否存在该DataNode对应时间段的历史数据,通过索引部分的文件偏移字段offset进行判断,如果不存在,表示该数据块为新提交的数据,转步骤4;如果存在,表示该数据块为历史数据,转步骤5;
步骤4:在索引表对应的文件偏移位置写入该DataNode,同时更新索引表中的文件偏移变量值;
步骤5:根据索引表对应的文件偏移位置找到对应的压缩文件块DataNode,然后按照LZO无损解压算法对DataNode进行解压,与新提交生成的数据块做合并,合并完成后按照无损压缩算法进行无损压缩,形成合并后的数据块DataNode_merged,最终将DataNode_merged写入对应的文件偏移位置,更新索引表信息。
步骤6:通过定时任务执行,依据配置参数判断历史数据文件是否达到压缩标准,如果达到,则由定时任务对该文件进行压缩,以达到节约存储空间的目的。
二、查询逻辑设计
如图2所示,本发明实施例公开的一种可变频率的WAMS实时数据库管理方法,其数据查询步骤主要包括缓冲区数据查询、哈希文件表查询、文件解压、数据块解压等几个关键过程,具体如下:
步骤1:针对单位时间内可变数据提交频率的特性,以结构体指针的方式设计单位时间数据查询接口返回参数,并辅以数据频率参数,对该时刻的实际提交频率进行标注,具体的结构形式参见实现方案第三部分“变频结构设计”“DataUnit”结构体;
步骤2:当查询请求经过API接口到达数据库后,根据查询时间范围定位查询位置,如果定位在变频数据缓冲区内,则将缓冲区内的对应数据直接返回,转步骤6;
步骤3:如果定位在历史数据中,则从数据文件哈希表中查询是否有对应时间的数据文件,如果不存在,则返回对应查询错误码,否则转步骤6;
步骤4:判断该文件是否为压缩文件,如果是,则先对文件进行解压,然后查看数据文件索引表中是否存在对应时间段的历史数据,如果不存在,转步骤6;如果存在,表示定位数据块成功,转步骤5;
步骤5:根据索引表对应的文件偏移位置找到对应的压缩文件块DataNode,然后按照LZO无损解压算法对DataNode进行解压,获取数据块内历史数据并返回查询接口。
步骤6:判断查询是否结束,如果结束,则完成查询,否则继续。
三、变频结构设计
表1变频数据结构体设计
四、跨安全区灾备设计
跨安全区灾备过程如图4所示,模块①表示前置应用服务器,用于接收测点源数据并发送到WAMS主站接口服务器;模块②表示用于数据传递的消息总线;模块③表示WAMS主站接口服务器,一方面向安全一区实时数据库进行数据提交,另一方面调用跨安全隔离装置的数据库接口向安全三区实时数据库进行数据提交;模块④表示安全一区的实时数据库服务器,用于存储WAMS实时、历史数据;模块⑤表示安全隔离装置;模块⑥表示安全三区的实时数据库服务器,用于备份WAMS实时、历史数据,供外部应用访问。具体过程如下:
步骤1:将PMU子站的实时数据通过消息总线传输到安全一区WAMS主站接口服务器;
步骤2:通过主站接口服务器提交程序,调用数据库提交接口,一方面向安全一区实时数据库进行数据提交,另一方面调用跨安全隔离装置的数据库接口向安全三区实时数据库进行数据提交,通过“一发双收”的机制完成跨安全区的实时数据同步及灾备功能;
步骤3:如果安全区之间因网络等外部环境导致数据传输中断,则中断向安全三区的实时数据提交,将实时数据以本地缓存的方式临时保存至接口服务器;
步骤4:当网络恢复正常后,停止接口机本地缓存逻辑,将实时数据通过接口向安全三区进行数据提交,为防止累积的大量缓存数据同时提交而占用大量的网络资源,通过定时机制将缓存数据分批进行提交处理,完成缓存数据的同步功能。
本发明另一实施例公开的一种可变频率的WAMS实时数据库管理***,包括变频数据缓冲区、具备自描述特征的数据存储文件以及数据存储处理模块;其中变频数据缓冲区,用于缓存测点提交的多种频率实时数据;其中数据缓存的结构包括最新数据时间、数据条数、数据有效标志和指向单条数据值结构的指针;数据存储文件,包括索引部分和数据部分,索引部分存储在每个时间段第一个序列号文件的头部,标识数据文件所在时间范围,等份时间间隔每个测点的数据块所在的文件偏移位置;数据存储处理模块,用于当某测点缓存数据写满后,对该测点缓存数据进行批量无损压缩处理,形成数据块;其中数据块的结构包括数据块类型、数据块对应测点、数据提交频率、数据块对应的开始时间、压缩块大小和指向压缩包的数据指针;以及,用于从数据存储文件哈希表中查询是否有数据块的对应时间的数据文件,如果不存在,生成对应时间的数据存储文件,同时初始化索引表;其中哈希表存储了文件名和文件信息关系,文件名包含数据日期信息;以及,用于查看数据文件索引表中是否存在数据块对应时间段的历史数据,如果不存在,在索引表对应的文件偏移位置写入该数据块,同时更新索引表中的文件偏移变量值;如果存在,根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,与新提交生成的数据块做合并,合并完成后进行无损压缩,并加压缩后的数据块写入对应的文件偏移位置,更新索引表信息。
此外,该***还进一步包括数据存储文件压缩模块和数据查询处理模块,数据存储文件压缩模块,用于通过定时任务执行,依据配置参数判断历史数据存储文件是否达到压缩标准,如果达到,则由定时任务对该文件进行压缩,以达到节约存储空间的目的。数据查询处理模块,用于当查询请求经过API接口到达数据库后,根据查询时间范围定位查询位置,如果定位在变频数据缓冲区内,则将缓冲区内的对应数据直接返回,如果数据存储文件哈希表中查询存在对应时间的数据存储文件,则判断数据存储文件是否为压缩文件,如果是,则先对文件进行解压,然后查看数据存储文件索引表中是否存在对应时间段的历史数据,如果存在,则根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,获取数据块内历史数据并返回。
上述可变频率的WAMS实时数据库管理***实施例与可变频率的WAMS实时数据库管理方法实施例属于同一发明构思,具体实施细节可参考上述方法实施例,此处不再赘述。
本发明按照现场项目实施例进行了说明,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例,因此凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。
Claims (10)
1.一种可变频率的WAMS实时数据库管理方法,其特征在于,所述方法包括:
(S1)通过变频数据缓冲区缓存实时数据,当某测点缓存数据写满后,对该测点缓存数据进行批量无损压缩处理,形成数据块;其中数据缓存的结构包括最新数据时间、数据条数、数据有效标志和指向单条数据值结构的指针;所述数据块的结构包括数据块类型、数据块对应测点、数据提交频率、数据块对应的开始时间、压缩块大小和指向压缩包的数据指针;
(S2)从数据存储文件哈希表中查询是否有对应时间的数据存储文件,如果不存在,生成对应时间的数据存储文件,同时初始化新生成的数据存储文件内部索引表;所述哈希表存储了文件名和文件信息关系,所述文件名包含数据日期信息;所述数据存储文件具备自描述特性,包括索引部分和数据部分,索引部分存储在每个时间段第一个序列号文件的头部,标识数据存储文件所在时间范围,等份时间间隔每个测点的数据块所在的文件偏移位置;
(S3)查看数据存储文件索引表中是否存在该数据块对应时间段的历史数据,如果不存在,转步骤(S4);如果存在,转步骤(S5);
(S4)在索引表对应的文件偏移位置写入该数据块,同时更新索引表中的文件偏移变量值;
(S5)根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,与新提交生成的数据块做合并,合并完成后进行无损压缩,并加压缩后的数据块写入对应的文件偏移位置,更新索引表信息。
2.根据权利要求1所述的一种可变频率的WAMS实时数据库管理方法,其特征在于,所述方法还包括:(S6)通过定时任务执行,依据配置参数判断历史数据存储文件是否达到压缩标准,如果达到,则由定时任务对该文件进行压缩,以达到节约存储空间的目的。
3.根据权利要求1所述的一种可变频率的WAMS实时数据库管理方法,其特征在于,所述方法还包括:
(Q1)以结构体指针的方式设置单位时间数据查询接口返回参数;
(Q2)当查询请求经过API接口到达数据库后,根据查询时间范围定位查询位置,如果定位在变频数据缓冲区内,则将缓冲区内的对应数据直接返回,转步骤(Q6);
(Q3)从数据存储文件哈希表中查询是否有对应时间的数据存储文件,如果不存在,则返回对应查询错误码,转步骤(Q6);
(Q4)判断数据存储文件是否为压缩文件,如果是,则先对文件进行解压,然后查看数据存储文件索引表中是否存在对应时间段的历史数据,如果不存在,转步骤(Q6);如果存在,表示定位数据块成功,转步骤(Q5);
(Q5)根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,获取数据块内历史数据并返回;
(Q6)判断查询是否结束,如果结束,则完成查询,否则继续。
4.根据权利要求1所述的一种可变频率的WAMS实时数据库管理方法,其特征在于,所述方法对数据提交、数据查询请求和定时任务进行多工作线程并发处理,采用文件读写锁机制,在并发数据提交及查询时对测点管理文件和数据缓存文件进行加锁处理。
5.根据权利要求1所述的一种可变频率的WAMS实时数据库管理方法,其特征在于,所述方法采用跨安全区的变频数据在线实时备份,首先将PMU子站的实时数据通过消息总线传输到WAMS主站,然后同时提交到两个调度区的实时数据库。
6.根据权利要求1所述的一种可变频率的WAMS实时数据库管理方法,其特征在于,所述变频数据缓冲区常驻于***内存,并通过磁盘映射的方式进行固化。
7.一种可变频率的WAMS实时数据库管理***,其特征在于,包括变频数据缓冲区、具备自描述特征的数据存储文件以及数据存储处理模块;
所述变频数据缓冲区,用于缓存测点提交的多种频率实时数据;其中数据缓存的结构包括最新数据时间、数据条数、数据有效标志和指向单条数据值结构的指针;
所述数据存储文件,包括索引部分和数据部分,索引部分存储在每个时间段第一个序列号文件的头部,标识数据文件所在时间范围,等份时间间隔每个测点的数据块所在的文件偏移位置;
所述数据存储处理模块,用于当某测点缓存数据写满后,对该测点缓存数据进行批量无损压缩处理,形成数据块;其中数据块的结构包括数据块类型、数据块对应测点、数据提交频率、数据块对应的开始时间、压缩块大小和指向压缩包的数据指针;以及,用于从数据存储文件哈希表中查询是否有数据块的对应时间的数据文件,如果不存在,生成对应时间的数据存储文件,同时初始化索引表;其中哈希表存储了文件名和文件信息关系,文件名包含数据日期信息;以及,用于查看数据文件索引表中是否存在对应时间段的历史数据,如果不存在,在索引表对应的文件偏移位置写入该数据块,同时更新索引表中的文件偏移变量值;如果存在,根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,与新提交生成的数据块做合并,合并完成后进行无损压缩,并加压缩后的数据块写入对应的文件偏移位置,更新索引表信息。
8.根据权利要求7所述的一种可变频率的WAMS实时数据库管理***,其特征在于,还包括数据存储文件压缩模块,用于通过定时任务执行,依据配置参数判断历史数据存储文件是否达到压缩标准,如果达到,则由定时任务对该文件进行压缩,以达到节约存储空间的目的。
9.根据权利要求7所述的一种可变频率的WAMS实时数据库管理***,其特征在于,还包括数据查询处理模块,用于当查询请求经过API接口到达数据库后,根据查询时间范围定位查询位置,如果定位在变频数据缓冲区内,则将缓冲区内的对应数据直接返回,如果数据存储文件哈希表中查询存在对应时间的数据存储文件,则判断数据存储文件是否为压缩文件,如果是,则先对文件进行解压,然后查看数据存储文件索引表中是否存在对应时间段的历史数据,如果存在,则根据索引表对应的文件偏移位置找到对应的压缩文件块,然后进行解压,获取数据块内历史数据并返回。
10.根据权利要求7所述的一种可变频率的WAMS实时数据库管理***,其特征在于,所述***采用跨安全区的变频数据在线实时备份,首先将PMU子站的实时数据通过消息总线传输到WAMS主站,然后同时提交到两个调度区的实时数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811306232.4A CN109299108B (zh) | 2018-11-05 | 2018-11-05 | 一种可变频率的wams实时数据库管理方法与*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811306232.4A CN109299108B (zh) | 2018-11-05 | 2018-11-05 | 一种可变频率的wams实时数据库管理方法与*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299108A CN109299108A (zh) | 2019-02-01 |
CN109299108B true CN109299108B (zh) | 2020-05-29 |
Family
ID=65146532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811306232.4A Active CN109299108B (zh) | 2018-11-05 | 2018-11-05 | 一种可变频率的wams实时数据库管理方法与*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299108B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110867961B (zh) * | 2019-11-18 | 2022-11-11 | 国电南瑞科技股份有限公司 | 省级以上调度机构的wams数据存储浏览***及其方法 |
CN111008245A (zh) * | 2019-11-25 | 2020-04-14 | 国电南瑞科技股份有限公司 | 基于调控云的省级以上调度机构wams数据共享方法 |
CN113381970B (zh) * | 2020-03-10 | 2023-09-08 | 南京南瑞继保电气有限公司 | 一种主站端宽频测量前置数据采集处理*** |
CN116860761B (zh) * | 2023-09-04 | 2023-11-17 | 北京安天网络安全技术有限公司 | 一种数据获取方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504105A (zh) * | 2014-12-30 | 2015-04-08 | 青岛海信网络科技股份有限公司 | 一种实时数据库的存储方法 |
CN105103137A (zh) * | 2013-03-15 | 2015-11-25 | 西部数据技术公司 | 数据存储***的数据的压缩和格式化 |
CN105701219A (zh) * | 2016-01-14 | 2016-06-22 | 北京邮电大学 | 一种分布式缓存的实现方法 |
CN106844555A (zh) * | 2016-12-30 | 2017-06-13 | 江苏瑞中数据股份有限公司 | 一种用于电网wams***的时序数据存储方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW588253B (en) * | 2002-10-11 | 2004-05-21 | Via Tech Inc | Data compression method and image data compression device |
US7861224B2 (en) * | 2006-06-22 | 2010-12-28 | Microsoft Corporation | Delta compression using multiple pointers |
CN104952237B (zh) * | 2015-04-27 | 2018-04-20 | 国电南瑞科技股份有限公司 | 一种pmu实时数据变频传输方法 |
CN106326359B (zh) * | 2016-08-10 | 2019-10-18 | 浙江三网科技股份有限公司 | 一种基于位置聚合的gps信息存储方法 |
CN106326387B (zh) * | 2016-08-17 | 2019-06-04 | 电子科技大学 | 一种分布式数据存储结构及数据存储方法和数据查询方法 |
-
2018
- 2018-11-05 CN CN201811306232.4A patent/CN109299108B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105103137A (zh) * | 2013-03-15 | 2015-11-25 | 西部数据技术公司 | 数据存储***的数据的压缩和格式化 |
CN104504105A (zh) * | 2014-12-30 | 2015-04-08 | 青岛海信网络科技股份有限公司 | 一种实时数据库的存储方法 |
CN105701219A (zh) * | 2016-01-14 | 2016-06-22 | 北京邮电大学 | 一种分布式缓存的实现方法 |
CN106844555A (zh) * | 2016-12-30 | 2017-06-13 | 江苏瑞中数据股份有限公司 | 一种用于电网wams***的时序数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109299108A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299108B (zh) | 一种可变频率的wams实时数据库管理方法与*** | |
EP3968175B1 (en) | Data replication method and apparatus, and computer device and storage medium | |
US5724581A (en) | Data base management system for recovering from an abnormal condition | |
CN111797121B (zh) | 读写分离架构业务***的强一致性查询方法、装置及*** | |
US11822540B2 (en) | Data read method and apparatus, computer device, and storage medium | |
CN110609813B (zh) | 一种数据存储***及方法 | |
CN113377868A (zh) | 一种基于分布式kv数据库的离线存储*** | |
CN111078667A (zh) | 一种数据迁移的方法以及相关装置 | |
CN110727733B (zh) | 一种主备服务器***及数据同步方法 | |
CN114706836B (zh) | 一种基于机载嵌入式数据库的数据生命周期管理方法 | |
CN115712670A (zh) | 一种数据源管理*** | |
Wu et al. | Overview of real-time database management system design for power system scada system | |
CN111209652B (zh) | 一种电力***静态设备模型时序构建方法及装置 | |
CN111580932B (zh) | 一种虚拟机磁盘在线迁移去冗余方法 | |
CN114595286A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
JPH06250902A (ja) | 分散システムのファイルバックアップ方法 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN116501720A (zh) | 一种基于规则引擎的数据治理装置及方法 | |
CN113190523B (zh) | 一种基于多客户端协同的分布式文件***、方法和客户端 | |
CN108805741B (zh) | 一种电能质量数据的融合方法、装置及*** | |
CN112307102A (zh) | 一种基于时序数据库的船舶边缘智能数采模块 | |
CN112015807A (zh) | 数据同步的处理方法、装置、电子设备及计算机存储介质 | |
CN115328878B (zh) | 日志数据存储***、方法、设备及介质 | |
CN113778755B (zh) | 一种数据同步方法、装置、设备及计算机可读存储介质 | |
CN117171266B (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 |