CN101520797B - 电力系统跨平台大数据文件高速并发存取方法 - Google Patents

电力系统跨平台大数据文件高速并发存取方法 Download PDF

Info

Publication number
CN101520797B
CN101520797B CN2009100247107A CN200910024710A CN101520797B CN 101520797 B CN101520797 B CN 101520797B CN 2009100247107 A CN2009100247107 A CN 2009100247107A CN 200910024710 A CN200910024710 A CN 200910024710A CN 101520797 B CN101520797 B CN 101520797B
Authority
CN
China
Prior art keywords
data
speed
data files
files
file
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
Application number
CN2009100247107A
Other languages
English (en)
Other versions
CN101520797A (zh
Inventor
张珂珩
戴则梅
葛云鹏
季学纯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Electric Power Research Institute
Original Assignee
State Grid Electric Power Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Electric Power Research Institute filed Critical State Grid Electric Power Research Institute
Priority to CN2009100247107A priority Critical patent/CN101520797B/zh
Publication of CN101520797A publication Critical patent/CN101520797A/zh
Application granted granted Critical
Publication of CN101520797B publication Critical patent/CN101520797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种电力系统跨平台大数据文件高速并发存取方法,其特征在于:对数据文件采用内存映射文件的方式来加以处理,且采用将数据文件分固定块内存映射文件方法,并发地将数据文件的各个部分依次映射到数据处理服务进程中的一个较小的地址空间,另外,设置一个对于已经加载过的数据如果再次出现访问则不需要再次加载、从而提高访问的效率以及速度的高速缓冲区。本发明的方法,通过一个通用的缓存管理程序与实际磁盘文件的交互,可满足应用程序对大数据文件并发访问的便捷性、高速性以及可靠性。

Description

电力系统跨平台大数据文件高速并发存取方法
技术领域
本发明涉及一种电力系统跨平台大数据文件高速并发存取的实现方法,属电力系统数据处理领域。
背景技术
随着电网建设规模的不断扩大,数字化电网、数字化变电站等研究应用的不断深入,电力系统面对的数据存储规模数十倍的增长,数据存储规模将从目前的GB级转向TB级,另外,随着PMU采集装置的普及以及广域动态监测系统WAMS的发展,带来了更加突出的海量电力信息数据存储问题。相对RTU数据采集而言,PMU采集的一个突出特点就是采集频率非常高,达到每秒25、50甚至100帧,且对所有数据必须完整保存。因此在相同采集点的情况下,其数据存储规模将是稳态数据的数百到上千倍。如此海量规模的电力信息,常规的关系型数据库来存储这些海量信息无论从写入速度还是查询效率上来说都将很难满足应用的需求。近年来,时间序列数据库的出现使得这些应用需求的实现成为可能。时间序列数据库是专门设计用来处理具有时间序列特性的数据库管理系统,针对实时高频采集数据具有很高的存储速度、查询检索效率以及数据压缩比。此类数据库内部机制为文件方式,因此如何实现跨平台大数据文件高速并发存取是时间序列数据库研发的一个重要的课题。经初步检索,暂未发现相关公开内容。
发明内容
本发明所要解决的技术问题是提供一种电力系统跨平台大数据文件高速并发存取的方法。
为解决上述技术问题,本发明提供一种电力系统跨平台大数据文件高速并发存取方法,其特征在于:对数据文件采用内存映射文件的方式来加以处理,且采用将数据文件分固定块内存映射文件方法,并发地将数据文件的各个部分依次映射到数据处理服务进程中的一个较小的地址空间,以达到应用程序高速存取数据的要求;另外,设置一个对于已经加载过的数据如果再次出现访问则不需要再次加载、从而提高访问的效率以及速度的高速缓冲区,该高速缓冲区具备一定大小限制,在缓冲内容超过该限制时,能够自动将最不常用的数据从高速缓冲区移除。
所述存取方法可支持Microsoft Windows、UNIX、IBM AIX、Sun Solaris、Alpha Tru64、HPUX、Linux操作系统平台,且源代码为一份相同的实体,不需要进行多份源码的维护。
所述存取方法的编程语言采用ANSI C/C++,并符合IEEE POSIX.2标准。
本发明的工作原理为:
数据文件操作是应用程序最为基本的功能之一,各类操作系统(UNIX、Linux、Windows)均提供了支持文件处理的函数和类。一般来说,这些函数可以满足大多数场合的要求,但是对于电力系统应用动辄几百GB乃至TB级别的海量数据文件,通常的文件处理方法进行处理显然是行不通的,而需要采用内存映射文件的方式来加以处理。
内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件(Page File),而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,所以在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。
本发明的存取方法统一管理应用运行时的所有需要处理的数据文件,对于数据文件的内存映射文件采用部分映射的原理。应用程序运行时随时需要通过本发明的存取方法映射(加载)所需要的数据到数据处理服务,加载的数据源往往有几十甚至几百个GB级别容量的数据文件,这些数据显然是不可能一次将海量文件全部映射,因此本发明的存取方法采用将数据文件分固定块内存映射文件方法,并发地将数据文件的各个部分依次映射到数据处理服务进程中的一个较小的地址空间,以达到高速存取数据的要求。
本发明所达到的有益效果:
本发明的电力系统跨平台大数据文件高速并发存取的实现方法,通过一个通用的缓存管理程序(BufferManager)与实际磁盘文件的交互,从而满足应用程序对大数据文件并发访问的便捷性、高速性以及可靠性。
同时,本发明具有可移植性,能够安全、稳定运行在Microsoft Windows、IBM AIX、UNIX、Sun Solaris、Alpha Tru64、HPUX、Linux等操作系统平台上。
附图说明
图1为本发明的电力系统跨平台大数据文件高速并发存取方法处理文件的流程图。
具体实施方式
下面结合附图对本发明作进一步说明。图1为本发明的电力系统跨平台大数据文件高速并发存取方法处理文件的流程图。
本发明具备一个高速缓冲区,该缓冲区的目的是对于已经加载过的数据如果再次出现访问则不需要再次加载,从而提高访问的效率以及速度,该缓冲区具备一定大小限制,在缓冲内容超过该限制时,能够自动将最不常用的数据从高速缓冲区移除。
本发明的处理流程为:
应用程序需要处理数据时,通过一定的索引机制获得具体需要数据存储相关索引信息,根据此索引信息首先在高速缓冲区中搜索是否存在要求的数据块,如果存在则直接通过高速缓冲区返回应用;如果不存在,则通过文件映射的方式加载数据块到高速缓冲区并返回应用。
每次文件映射数据块的大小为固定值,考虑到实际应用的特点可设定为512K字节(即管理的最小单元为512K字节)。每一个数据块在文件映射时还可以指定是否为只读,这样做的目的是对于只读的数据块,在程序退出或从高速缓冲区移除时只需要简单的取消文件映射即可,而对于非只读的数据块在取消文件映射前还需要进行回写的操作,另外,还会周期性地对所有非只读的数据块进行扫描并回写,以确保数据的可靠与一致。
本发明的存取方法对高速缓冲区进行自动维护,其大小的限制取决于两个因素:1、应用程序对数据的需求;2、操作系统对于内存分配的极限。高速缓冲区的目的是能够将常用的数据块保持在内存中,在需要访问时可以直接返回其地址以辅助达到高效性的要求。例如一个数据块已加载到高速缓冲区,而此时同时有10个用户访问请求该一数据块时,本发明的存取方法将直接将该数据块的地址返回给应用。高速缓冲区的管理原则是:对于每一个加载到高速缓冲区的数据块,皆使用一个访问频度标志,该标志数值越大意味着该数据块使用的频度越高,在高速缓冲区没有可以继续分配的空间时,本发明的存取方法能够自动将最不常用的数据从高速缓冲区取消映射(卸载),即高速缓冲区始终在其大小限制的范围内尽可能保持住最常使用的数据块。
本发明按照优选实施例进行了说明,应当理解,上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。

Claims (6)

1.一种电力系统跨平台大数据文件高速并发存取方法,其特征在于:对数据文件采用内存映射文件的方式来加以处理,且采用将数据文件分固定块内存映射文件方法,并发地将数据文件的各个部分依次映射到数据处理服务进程中的一个较小的地址空间,以达到应用程序高速存取数据的要求;另外,设置一个对于已经加载过的数据如果再次出现访问则不需要再次加载、从而提高访问的效率以及速度的高速缓冲区,该高速缓冲区具备一定大小限制,在缓冲内容超过该限制时,能够自动将最不常用的数据从高速缓冲区移除;其中,具体的加载及映射数据块的过程为:1)应用程序需要处理数据时,通过一定的索引机制获得具体需要数据存储相关索引信息;2)根据此索引信息首先在高速缓冲区中搜索是否存在要求的数据块,如果存在则直接通过高速缓冲区返回应用;如果不存在,则通过文件映射的方式加载数据块到高速缓冲区并返回应用。
2.根据权利要求1所述的电力系统跨平台大数据文件高速并发存取方法,其特征在于:所述存取方法可支持Microsoft Windows、UNIX、IBM AIX、Sun Solaris、Alpha Tru64、HPUX、Linux操作系统平台,且源代码为一份相同的实体,不需要进行多份源码的维护。
3.根据权利要求1所述的电力系统跨平台大数据文件高速并发存取方法,其特征在于:所述存取方法的编程语言采用ANSI C/C++,并符合IEEE POSIX.2标准。
4.根据权利要求1所述的电力系统跨平台大数据文件高速并发存取方法,其特征在于:每次文件映射数据块的大小为固定值512K字节。
5.根据权利要求3或4所述的电力系统跨平台大数据文件高速并发存取方法,其特征在于:每一个数据块在文件映射时还可以指定是否为只读,对于只读的数据块,在程序退出或从高速缓冲区移除时只需要简单的取消文件映射即可,而对于非只读的数据块在取消文件映射前进行回写的操作,另外,还会周期性地对所有非只读的数据块进行扫描并回写,以确保数据的可靠与一致。
6.根据权利要求1所述的电力系统跨平台大数据文件高速并发存取方法,其特征在于:对于每一个加载到高速缓冲区的数据块,使用一个访问频度标志,该标志数值越大意味着该数据块使用的频度越高,在高速缓冲区没有可以继续分配的空间时,自动将最不常用的数据从高速缓冲区取消映射。
CN2009100247107A 2009-02-11 2009-02-11 电力系统跨平台大数据文件高速并发存取方法 Active CN101520797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100247107A CN101520797B (zh) 2009-02-11 2009-02-11 电力系统跨平台大数据文件高速并发存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100247107A CN101520797B (zh) 2009-02-11 2009-02-11 电力系统跨平台大数据文件高速并发存取方法

Publications (2)

Publication Number Publication Date
CN101520797A CN101520797A (zh) 2009-09-02
CN101520797B true CN101520797B (zh) 2011-02-16

Family

ID=41081386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100247107A Active CN101520797B (zh) 2009-02-11 2009-02-11 电力系统跨平台大数据文件高速并发存取方法

Country Status (1)

Country Link
CN (1) CN101520797B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156700A (zh) * 2010-02-12 2011-08-17 华为技术有限公司 数据库的访问方法、装置及系统
CN102129459B (zh) * 2011-03-10 2013-04-17 成都四方信息技术有限公司 全栖企业数据交换高速引擎
CN102693397B (zh) * 2011-03-23 2015-01-14 腾讯科技(深圳)有限公司 一种扫描文件的方法和装置
CN102737068B (zh) * 2011-04-15 2018-06-05 北京百度网讯科技有限公司 一种用于对检索数据进行缓存管理的方法与设备
CN102799456B (zh) * 2012-07-24 2015-11-25 上海晨思电子科技有限公司 一种游戏引擎加载资源文件的方法、装置和计算机
CN103218396B (zh) * 2013-03-07 2016-12-28 江苏省电力公司南京供电公司 根据访问频次特征生成静态网页的调度运行可视化分析方法
CN104572312B (zh) * 2013-10-22 2017-11-28 北京临近空间飞行器系统工程研究所 Windows系统下基于文件名的异构程序交互方法
CN104090939A (zh) * 2014-06-30 2014-10-08 国家电网公司 智能变电站海量数据存储及快速索引方法
CN114242173B (zh) * 2021-12-22 2023-05-16 深圳吉因加医学检验实验室 一种mNGS鉴定微生物的数据处理方法、装置及存储介质
CN115994122B (zh) * 2023-03-24 2023-06-06 北京江民新科技术有限公司 快速缓存信息的方法、系统、设备及储存介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761222A (zh) * 2005-11-22 2006-04-19 华中科技大学 一种支持虚拟接口的存储网络适配器
CN101101563A (zh) * 2007-07-23 2008-01-09 清华大学 基于海量数据分级存储系统的迁移管理方法
CN101122842A (zh) * 2006-08-08 2008-02-13 群联电子股份有限公司 广义闪存及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761222A (zh) * 2005-11-22 2006-04-19 华中科技大学 一种支持虚拟接口的存储网络适配器
CN101122842A (zh) * 2006-08-08 2008-02-13 群联电子股份有限公司 广义闪存及其方法
CN101101563A (zh) * 2007-07-23 2008-01-09 清华大学 基于海量数据分级存储系统的迁移管理方法

Also Published As

Publication number Publication date
CN101520797A (zh) 2009-09-02

Similar Documents

Publication Publication Date Title
CN101520797B (zh) 电力系统跨平台大数据文件高速并发存取方法
US11119997B2 (en) Lock-free hash indexing
CN105630864B (zh) 存储行标识符值的字典的强制排序
US11514028B2 (en) Hybrid data storage and load system with ROWID lookup
Kissinger et al. KISS-Tree: smart latch-free in-memory indexing on modern architectures
US20180239788A1 (en) Paged column dictionary
CN101986649B (zh) 应用于电信行业计费系统的共享数据中心
WO2019184618A1 (zh) 数据存储的方法、装置、服务器和存储介质
CN106682110A (zh) 一种基于哈希格网索引的影像文件存储和管理系统及方法
CN104598394A (zh) 一种可动态分配的数据缓存方法及系统
CN107247624A (zh) 一种面向Key‑Value系统的协同优化方法及系统
US11221999B2 (en) Database key compression
CN105095255A (zh) 一种数据索引创建方法及装置
CN103020077A (zh) 一种电力系统实时数据库内存管理方法
Lan et al. A lightweight time series main-memory database for IoT real-time services
Shen et al. An efficient LSM-tree-based SQLite-like database engine for mobile devices
Akram Exploiting Intel optane persistent memory for full text search
Zhang et al. FlameDB: A key-value store with grouped level structure and heterogeneous Bloom filter
CN103902693A (zh) 一种读优化的内存数据库t树索引结构的方法
US11775496B2 (en) Data transfer and management system for in-memory database
US20220382758A1 (en) Query processing for disk based hybrid transactional analytical processing system
CN102495902B (zh) 一种同时实现空间数据和属性数据etl过程的方法及系统
CN105354310B (zh) 基于MapReduce的地图瓦片存储布局优化方法
Li et al. Research on display and storage of raster data based on android platform
Otoo et al. Accelerating queries on very large datasets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: STATE NETWORK ELECTRIC POWER RESEARCH INSTITUTE

Free format text: FORMER OWNER: GUODIAN NANNUI TECH CO., LTD.

Effective date: 20100129

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20100129

Address after: Nanjing City, Jiangsu Province, South ruilu No. 8 post encoding: 210003

Applicant after: State Grid Electric Power Research Insititute

Address before: High road high tech Development Zone of Nanjing city of Jiangsu Province, No. 20 post encoding: 210061

Applicant before: NARI Technology Development Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant