CN110134690B - Oracle数据库超大数据快速存储方法及系统 - Google Patents
Oracle数据库超大数据快速存储方法及系统 Download PDFInfo
- Publication number
- CN110134690B CN110134690B CN201910404093.7A CN201910404093A CN110134690B CN 110134690 B CN110134690 B CN 110134690B CN 201910404093 A CN201910404093 A CN 201910404093A CN 110134690 B CN110134690 B CN 110134690B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- queue
- storage
- power utilization
- 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/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种Oracle数据库超大数据快速存储方法及系统,根据用电系统数据的数据类型在Oracle数据库中建立对应的外部表;建立与外部表对应的文件存储队列,当文件存储队列的第一文件中用电系统数据达到预设长度时,则将第一文件移入文件读入队列。用电系统数据通过所述文件读入队列依次插入Oracle存储正表中。需要对用电系统大容量数据进行存储时,首先在Oracle数据库中建立对应的外部表,建立与外部表对应的文件存储队列,将用电系统数据写入文件存储队列对应的文件中,当出现任一文件中的数据长度达到预设长度时,则将其移入文件读入队列并插入到Oracle存储正表,实现了用电系统大容量数据的快速存储。
Description
技术领域
本申请涉及电力系统数据存储技术领域,具体涉及一种Oracle数据库超大数据快速存储方法及系统。
背景技术
随着电力自动化系统监测和控制对象的不断复杂化,电力自动化系统需要监测和控制的数据越来越多,对数据采集精度和采集速度的要求也不断提高。加之用户对历史数据在系统故障预诊断、故障过程记录以及事后故障分析等方面价值的认识不断深入,用户对历史数据的访问便利性和访问速度的要求也不断提高,大量的实时采集数据需要及时准确地存储到历史数据库中,在当前普遍使用关系数据库作为历史数据库的情况下成为一个难题。
在大型的电网用电系统中,需要存储的遥测、遥信以及电量等数据可以达到百万级,某些关键数据的存储周期要达到分钟级甚至秒级,关系数据库的处理能力越来越不能满足要求,一些有实力的厂家或用户纷纷采用实时内存数据库。实时内存数据库虽然适合大量的、连续的量测数据的存储,能够很好地满足系统对实时性的要求,但一方面成熟的实时内存数据库价格比较昂贵,开发维护时间周期长;另一方面实时内存数据库的功能有限,不能处理复杂的表关系,不能提供像关系数据库所具有的标准SQL操作,用户不能灵活地对数据进行处理。
因此,在大型电网用电系统中,在实时性能够满足要求的前提下,寻求一种经济有效的、能够快速准确可靠地在关系数据库中存储大量的历史数据成为一个亟待解决的问题。
发明内容
本申请为了解决上述技术问题,提出了如下技术方案:
第一方面,本申请实施例提供了一种Oracle数据库超大数据快速存储方法,所述方法包括:根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表;建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件;当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列,所述第一文件为所述文件存储队列中的任一文件;所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,实现了用电系统数据的连续存储,进而提高了大容量数据的存储速度。
采用上述实现方式,需要对用电系统大容量数据进行存储时,首先在Oracle数据库中建立对应的外部表,然后建立与所述外部表对应的文件存储队列,将外部表中的用电系统数据写入文件存储队列对应的文件中,当出现任一文件中的数据长度达到预设长度时,则将其移入文件读入队列,通过文件读入队列插入到Oracle存储正表,进而实现了对用电系统大容量数据的快速存储。
结合第一方面,在第一方面第一种可能的实现方式中,还包括:对Oracle数据库进行优化,以提高所述Oracle数据库的存储和查询速度,所述优化包括:平衡所述Oracle数据库表空间中的每个子表空间和每个所述子表空间中的表分区,所述Oracle数据库表空间包括多个所述子表空间,每个所述子表空间包括多个所述表分区;将表数据和表索引数据分开存储,对索引压缩以减少存储所述用电系统数据时的输入和输出,创建对应表索引以及优化SQL查询语句以降低存储用电系统数据时的CPU利用率,根据需要存储的用电系统数据设置重做日志的缓存大小以及回滚表空间和临时表空间的大小。
结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表包括:对Oracle数据库中的存储正表进行优化对存储正表进行表分区,根据用电系统的CPU和存储空间设置所述存储正表与用电系统的第一并行度;根据所述存储正表的表结构建立所述外部表,设置所述外部表与所述存储正表的第二并行度。
结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列包括:所述用电系统数据写入指定文件夹的文件中,所述文件设置预设长度,并建立所述文件的文件存储队列;当所述文件存储队列中的第一文件中用电系统数据达到预设长度时,建立所述读入队列与所述外部表的对应关系,并将所述第一文件移入所述文件读入队列。
结合第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储包括:将对应文件中的用电系统数据一次性插入所述存储正表中,其中重复的数据丢弃;如果所述用电系统数据插入成功,则将对应的文件出队并删除;或者,如果所述用电系统数据插入失败,则将对应的文件加入到所述文件读入队列的末尾,继续进行文件读入队列中的文件插入操作。
第二方面,本申请实施例提供了一种Oracle数据库超大数据快速存储系统,所述系统包括:第一建立模块,用于根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表;第二建立模块,用于建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件;处理模块,用于当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列,所述第一文件为所述文件存储队列中的任一文件;存储模块,用于所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储。
结合第二方面,在第二方面第一种可能的实现方式中,还包括:优化单元,用于对Oracle数据库进行优化,以提高所述Oracle数据库的存储和查询速度,所述优化包括:平衡所述Oracle数据库表空间中的每个子表空间和每个所述子表空间中的表分区,所述Oracle数据库表空间包括多个所述子表空间,每个所述子表空间包括多个所述表分区;将表数据和表索引数据分开存储,对索引压缩以减少存储所述用电系统数据时的输入和输出,创建对应表索引以及优化SQL查询语句以降低存储用电系统数据时的CPU利用率,根据需要存储的用电系统数据设置重做日志的缓存大小以及回滚表空间和临时表空间的大小。
结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述第一建立模块包括:表分区单元,用于对Oracle数据库中的存储正表进行优化对存储正表进行表分区,根据用电系统的CPU和存储空间设置所述存储正表与用电系统的第一并行度;建立单元,用于根据所述存储正表的表结构建立所述外部表,设置所述外部表与所述存储正表的第二并行度。
结合第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述处理模块包括:数据写入单元,用于所述用电系统数据写入指定文件夹的文件中,所述文件设置预设长度,并建立所述文件的文件存储队列;第一文件处理单元,用于当所述文件存储队列中的第一文件中用电系统数据达到预设长度时,建立所述读入队列与所述外部表的对应关系,并将所述第一文件移入所述文件读入队列。
结合第二方面第三种可能的实现方式,在第二方面第四种可能的实现方式中,所述存储模块包括:存储单元,用于将对应文件中的用电系统数据一次性插入所述存储正表中,其中重复的数据丢弃;第二文件处理单元,用于如果所述用电系统数据插入成功,则将对应的文件出队并删除;或者,如果所述用电系统数据插入失败,则将对应的文件加入到所述文件读入队列的末尾,继续进行文件读入队列中的文件插入操作。
附图说明
图1为本申请实施例提供的一种Oracle数据库超大数据快速存储方法流程示意图;
图2为本申请实施例提供的一种Oracle数据库超大数据快速存储系统示意图。
具体实施方式
下面结合附图与具体实施方式对本方案进行阐述。
图1为本申请实施例提供的一种Oracle数据库超大数据快速存储方法流程示意图,参见图1,所述方法包括:
S101,根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表。
对Oracle数据库中的存储正表进行优化对存储正表进行表分区,根据用电系统的CPU和存储空间设置所述存储正表与用电系统的第一并行度。根据所述存储正表的表结构建立所述外部表,设置所述外部表与所述存储正表的第二并行度。如果设置双服务器同步存储,需要在服务器的Oracle数据库中分别建立到对方的数据库连接和到对方正表的同义词,以实现外部表与不同服务器Oracle数据库中的存储正表同步存储的功能。
本实施例中包括对Oracle数据库进行优化,以提高所述Oracle数据库的存储和查询速度,所述优化包括:平衡所述Oracle数据库表空间中的每个子表空间和每个所述子表空间中的表分区,所述Oracle数据库表空间包括多个所述子表空间,每个所述子表空间包括多个所述表分区;将表数据和表索引数据分开存储,对索引压缩以减少存储所述用电系统数据时的输入和输出,创建对应表索引以及优化SQL查询语句以降低存储用电系统数据时的CPU利用率,通过分配合理的SGA、根据需要存储的用电系统数据设置重做日志的缓存大小以及回滚表空间和临时表空间的大小。
根据用电系统大容量数据量的要求,将数据总量设置为100万点,其中遥测20万点,开关10万点,刀闸30万点,保护信号40万点;数据变化要求:每3秒钟有30%遥测量刷新,每9秒钟所有遥测量刷新,保护信号一天有10%发生动作,每秒产生1000个事项,要求至少30分钟连续无误地存盘。这里以20万的遥测量进行全息存盘为例进行说明,其他的量测量采用同样的方法;全息存盘即用电系统每3秒采集一次数据,需要把20万点的遥测量全部存盘成功。
在输入输出、CPU、存储空间等方面先对Oracle进行深度优化。然后对需要存储的表进行优化,量测量表按月进行分割,每月一张表,假设一张表名称为data201806,其结构为snamechar(24),sdate number(5),timenumber(5),flag number(3),data real总共6个域;索引的压缩度为2;其中按sdate按日期进行自动范围分区,每天一个分区;每个分区下有12个子分区,按time进行子范围分区,表和索引的并行度都设为4,存到单独的HISDATA表空间;在数据库中建立与data201806结构一致的外部表,并行度也设为4。
S102,建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件。
大量的用电系统数据被存储线程连续不断地写到指定文件夹的文件中,文件需设置合适的容量,并建立与之对应的文件存储队列,文件存储队列中存储有多个文件,每个文件对应不通类型的用电系统数据。
S103,当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列。
所述用电系统数据写入指定文件夹的文件中,所述文件设置预设长度,并建立所述文件的文件存储队列。当所述文件存储队列中的第一文件中用电系统数据达到预设长度时,建立所述文件读入队列与所述外部表的对应关系,并将所述第一文件移入所述文件读入队列。
数据库和外部表创建优化完毕后,存储线程不断将SCADA采集的数据按照外部表约定的格式转存到文件中,文件读入队列将指定的文件转移到外部表指定的目录,并建立外部表与指定文件之间的联系,Oracle自动读取文件中的数据并通过外部表可查询,读入线程利用如下SQL语句一次性地把外部表中的数据插入到data201806中,外部表为extdata,核心SQL语句为INSERT INTO data201806 SELECT*FROM extdatasrc where notexists(select 1from data201806tar where tar.sdate=src.sdate AND tar.sname=src.sname and tar.time=src.time and tar.flag=src.flag)。
S104,所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储。
具体地,将对应文件中的用电系统数据一次性插入所述存储正表中,其中重复的数据丢弃。如果所述用电系统数据插入成功,则将对应的文件出队并删除;或者,如果所述用电系统数据插入失败,则将对应的文件加入到所述文件读入队列的末尾,继续进行文件读入队列中的文件插入操作。
一个示意性实施例,插入成功后,出队删除文件并继续建立外部表与下一个文件之间的联系;若不成功,文件保留出队后继续加入到文件读入队列的末尾继续处理,保证数据文件不丢失;每3秒采集一次的20万遥测量,基本上能保证5秒之内插入成功,并且存储的数据稳定可靠,完全能够满足用电系统对历史数据的准实时性的要求。
在Oracle数据库性能尽量优化的前提下,利用Oracle数据库中已经成熟的分区表、外部表等技术,实现大容量数据的准实时存储,根据存储需求在系统中建立两个线程,分别为存储线程和读入线程;存储线程负责把大容量的数据实时地写到文件存储队列中,根据存储需要,可调整存储文件的存储预设长度;读入线程负责存储文件的读入和转换,建立外部表与读入文件之间的联系,并通过SQL语句把外部表中的数据一次性插入到Oracle存储正表中,并舍弃重复数据。该方法适合大容量数据的连续存储,只需利用现有环境,不需额外投资,而且利用Oracle数据库中成熟的技术,可以保证系统稳定可靠地运行。
由上述实施例可知,本实施例提供了一种Oracle数据库超大数据快速存储方法,根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表;建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件;当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列,所述第一文件为所述文件存储队列中的任一文件;所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,实现了用电系统数据的连续存储,进而提高了大容量数据的存储速度。需要对用电系统大容量数据进行存储时,首先在Oracle数据库中建立对应的外部表,然后建立与所述外部表对应的文件存储队列,将外部表中的用电系统数据写入文件存储队列对应的文件中,当出现任一文件中的数据长度达到预设长度时,则将其移入文件读入队列,通过文件读入队列插入到Oracle存储正表,进而实现了对用电系统大容量数据的快速存储。
与上述实施例提供的一种Oracle数据库超大数据快速存储方法相对应,本申请还提供了一种Oracle数据库超大数据快速存储系统实施例。参见图2,Oracle数据库超大数据快速存储系统20包括:第一建立模块201、第二建立模块202、处理模块203和存储模块204。
第一建立模块201,用于根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表。第二建立模块202,用于建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件。处理模块203,用于当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列,所述第一文件为所述文件存储队列中的任一文件。存储模块204,用于所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储。
本实施例提供的系统还包括优化单元,用于对Oracle数据库进行优化,以提高所述Oracle数据库的存储和查询速度,所述优化包括:平衡所述Oracle数据库表空间中的每个子表空间和每个所述子表空间中的表分区,所述Oracle数据库表空间包括多个所述子表空间,每个所述子表空间包括多个所述表分区;将表数据和表索引数据分开存储,对索引压缩以减少存储所述用电系统数据时的输入和输出,创建对应表索引以及优化SQL查询语句以降低存储用电系统数据时的CPU利用率,根据需要存储的用电系统数据设置重做日志的缓存大小以及回滚表空间和临时表空间的大小。
进一步地。所述第一建立模块201包括:表分区单元和建立单元。
所述表分区单元,用于对Oracle数据库中的存储正表进行优化对存储正表进行表分区,根据用电系统的CPU和存储空间设置所述存储正表与用电系统的第一并行度。所述建立单元,用于根据所述存储正表的表结构建立所述外部表,设置所述外部表与所述存储正表的第二并行度。
所述处理模块203包括:数据写入单元和第一文件处理单元。
所述数据写入单元,用于所述用电系统数据写入指定文件夹的文件中,所述文件设置预设长度,并建立所述文件的文件存储队列。所述第一文件处理单元,用于当所述文件存储队列中的第一文件中用电系统数据达到预设长度时,建立所述读入队列与所述外部表的对应关系,并将所述第一文件移入所述文件读入队列。
所述存储模块204包括:存储单元和第二文件处理单元。
所述存储单元,用于将对应文件中的用电系统数据一次性插入所述存储正表中,其中重复的数据丢弃。所述第二文件处理单元,用于如果所述用电系统数据插入成功,则将对应的文件出队并删除;或者,如果所述用电系统数据插入失败,则将对应的文件加入到所述文件读入队列的末尾,继续进行文件读入队列中的文件插入操作。
本申请说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于系统实施例而言,由于其中的方法基本相似于方法的实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当然,上述说明也并不仅限于上述举例,本申请未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述;以上实施例及附图仅用于说明本申请的技术方案并非是对本申请的限制,如来替代,本申请仅结合并参照优选的实施方式进行了详细说明,本领域的普通技术人员应当理解,本技术领域的普通技术人员在本申请的实质范围内所做出的变化、改型、添加或替换都不脱离本申请的宗旨,也应属于本申请的权利要求保护范围。
Claims (6)
1.一种Oracle数据库超大数据快速存储方法,其特征在于,所述方法包括:
根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表,包括:对Oracle数据库中的存储正表进行优化对存储正表进行表分区,根据用电系统的CPU和存储空间设置所述存储正表与用电系统的第一并行度;根据所述存储正表的表结构建立所述外部表,设置所述外部表与所述存储正表的第二并行度;
建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件;
当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列,所述第一文件为所述文件存储队列中的任一文件,包括:所述用电系统数据写入指定文件夹的文件中,所述文件设置预设长度,并建立所述文件的文件存储队列;当所述文件存储队列中的第一文件中用电系统数据达到预设长度时,建立所述读入队列与所述外部表的对应关系,并将所述第一文件移入所述文件读入队列;
所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储。
2.根据权利要求1所述的方法,其特征在于,还包括:对Oracle数据库进行优化,以提高所述Oracle数据库的存储和查询速度,所述优化包括:平衡所述Oracle数据库表空间中的每个子表空间和每个所述子表空间中的表分区,所述Oracle数据库表空间包括多个所述子表空间,每个所述子表空间包括多个所述表分区;将表数据和表索引数据分开存储,对索引压缩以减少存储所述用电系统数据时的输入和输出,创建对应表索引以及优化SQL查询语句以降低存储用电系统数据时的CPU利用率,根据需要存储的用电系统数据设置重做日志的缓存大小以及回滚表空间和临时表空间的大小。
3.根据权利要求1所述的方法,其特征在于,所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储包括:将对应文件中的用电系统数据一次性插入所述存储正表中,其中重复的数据丢弃;如果所述用电系统数据插入成功,则将对应的文件出队并删除;或者,如果所述用电系统数据插入失败,则将对应的文件加入到所述文件读入队列的末尾,继续进行文件读入队列中的文件插入操作。
4.一种Oracle数据库超大数据快速存储系统,其特征在于,所述系统包括:
第一建立模块,用于根据用电系统需要存储的数据对应的数据类型在Oracle数据库中建立对应的外部表,所述第一建立模块包括:表分区单元,用于对Oracle数据库中的存储正表进行优化对存储正表进行表分区,根据用电系统的CPU和存储空间设置所述存储正表与用电系统的第一并行度;建立单元,用于根据所述存储正表的表结构建立所述外部表,设置所述外部表与所述存储正表的第二并行度;
第二建立模块,用于建立与所述外部表对应的文件存储队列,所述文件存储队列用于接收写入用电系统数据的文件;
处理模块,用于当所述文件存储队列的第一文件中用电系统数据达到预设长度时,则将所述第一文件移入文件读入队列,所述第一文件为所述文件存储队列中的任一文件,所述处理模块包括:数据写入单元,用于所述用电系统数据写入指定文件夹的文件中,所述文件设置预设长度,并建立所述文件的文件存储队列;第一文件处理单元,用于当所述文件存储队列中的第一文件中用电系统数据达到预设长度时,建立所述读入队列与所述外部表的对应关系,并将所述第一文件移入所述文件读入队列;
存储模块,用于所述用电系统数据通过所述文件读入队列依次插入Oracle存储正表中,完成所述用电系统数据的存储。
5.根据权利要求4所述的系统,其特征在于,还包括:优化单元,用于对Oracle数据库进行优化,以提高所述Oracle数据库的存储和查询速度,所述优化包括:平衡所述Oracle数据库表空间中的每个子表空间和每个所述子表空间中的表分区,所述Oracle数据库表空间包括多个所述子表空间,每个所述子表空间包括多个所述表分区;将表数据和表索引数据分开存储,对索引压缩以减少存储所述用电系统数据时的输入和输出,创建对应表索引以及优化SQL查询语句以降低存储用电系统数据时的CPU利用率,根据需要存储的用电系统数据设置重做日志的缓存大小以及回滚表空间和临时表空间的大小。
6.根据权利要求4所述的系统,其特征在于,所述存储模块包括:存储单元,用于将对应文件中的用电系统数据一次性插入所述存储正表中,其中重复的数据丢弃;第二文件处理单元,用于如果所述用电系统数据插入成功,则将对应的文件出队并删除;或者,如果所述用电系统数据插入失败,则将对应的文件加入到所述文件读入队列的末尾,继续进行文件读入队列中的文件插入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910404093.7A CN110134690B (zh) | 2019-05-16 | 2019-05-16 | Oracle数据库超大数据快速存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910404093.7A CN110134690B (zh) | 2019-05-16 | 2019-05-16 | Oracle数据库超大数据快速存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134690A CN110134690A (zh) | 2019-08-16 |
CN110134690B true CN110134690B (zh) | 2020-06-23 |
Family
ID=67574156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910404093.7A Active CN110134690B (zh) | 2019-05-16 | 2019-05-16 | Oracle数据库超大数据快速存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134690B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400309B (zh) * | 2020-02-23 | 2023-09-15 | 中国平安财产保险股份有限公司 | 数据更新方法、电子装置及可读存储介质 |
CN112231405B (zh) * | 2020-10-19 | 2024-07-26 | 浙江大华技术股份有限公司 | 数据存储装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014067142A1 (en) * | 2012-11-02 | 2014-05-08 | Accenture Global Services Limited | Real-time data management for a power grid |
CN108268497A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 关系型数据库的数据同步方法及装置 |
CN109299079A (zh) * | 2018-09-11 | 2019-02-01 | 南京朝焱智能科技有限公司 | 一种高速数据库设计方法 |
CN109684416A (zh) * | 2018-11-13 | 2019-04-26 | 国电南京自动化股份有限公司 | 一种高并发实时历史数据存储系统 |
-
2019
- 2019-05-16 CN CN201910404093.7A patent/CN110134690B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110134690A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147411B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN111723160B (zh) | 一种多源异构增量数据同步方法及系统 | |
CN104317800A (zh) | 一种海量智能用电数据混合存储系统及方法 | |
CN103793479A (zh) | 日志管理方法及系统 | |
WO2014209911A1 (en) | Grouping of objects in a distributed storage system based on journals and placement policies | |
CN104657459A (zh) | 一种基于文件粒度的海量数据存储方法 | |
CN102779138B (zh) | 实时数据的硬盘存取方法 | |
CN103488709A (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN110134690B (zh) | Oracle数据库超大数据快速存储方法及系统 | |
CN110727406A (zh) | 一种数据存储调度方法及装置 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN106780157B (zh) | 基于Ceph的电网多时态模型存储与管理系统及方法 | |
Ma et al. | Log-based change data capture from schema-free document stores using mapreduce | |
CN111858767A (zh) | 同步数据的处理方法、装置、设备及存储介质 | |
CN113778795B (zh) | 一种基于Python语言的跨版本Oracle监控系统 | |
CN109521954A (zh) | 一种配网ftu定点文件管理方法及装置 | |
CN110515955B (zh) | 数据的存储、查询方法、系统、电子设备和存储介质 | |
CN115437997A (zh) | 一种用于数据生命周期的智能识别优化系统 | |
US9104198B2 (en) | Optimized storage and access method for a historian server of an automated system | |
CN113420021A (zh) | 一种数据存储方法、装置、设备及介质 | |
CN112380164B (zh) | 基于快照技术的电力系统场景化数据管理方法、装置及系统 | |
CN117056134B (zh) | 一种快速备份能耗监测系统中数据库数据的方法 | |
CN110019092A (zh) | 数据存储的方法、控制器和系统 | |
Wang | Research on Storage Methods of IoT Micro-service Platform Based on TDengine | |
US20230315682A1 (en) | Long term and short term data management of a file based time series database populated with data collected by an energy sensor for a power generating device or from another data source |
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 |