CN102902797B - 一种大数据量设备实时监测数据的存储及检索方法 - Google Patents
一种大数据量设备实时监测数据的存储及检索方法 Download PDFInfo
- Publication number
- CN102902797B CN102902797B CN201210382597.1A CN201210382597A CN102902797B CN 102902797 B CN102902797 B CN 102902797B CN 201210382597 A CN201210382597 A CN 201210382597A CN 102902797 B CN102902797 B CN 102902797B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- index
- time
- information
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种大数据量设备实时监测数据的存储及检索方法,包括:将数据文件按年、月存放在二级目录中;在监测信息实时记录的过程中每天生成一个索引文件和数据文件;索引文件分成两个部分,第一部分为索引目录,第二部分为周期数据索引;周期数据索引记录每个采集周期各个类型信息在数据文件具体位置地址以及数据长度,字节大小根据实际情况增加或减少字节数以达到最佳使用效果;当用户输入查询条件,选择需要查询的设备类型、数据类型以及起始时间t1、结束时间t2;通过简单匹配和计算依次取出当前数据文件中符合查询条件的所有信息值。本发明提供了一种大数据量设备实时监测数据的存储及检索方法。
Description
【技术领域】
本发明涉及一种大数据量设备实时监测数据的存储及检索方法,特别涉及一种基于特定协议的实时监测数据的文件存储及高效数据检索方法。
【背景技术】
文件数据库又叫嵌入式数据库,将整个数据库的内容保存在单个索引文件中,以便于数据库的发布。而传统数据库(如:DB2,Oracle,SQL server等)数据保存的方式各异。传统的数据库需要通过一些数据库引擎来访问,由于文件型数据库保存在单一文件中,数据库的部署和发布都比较简单,适用于内嵌在应用程序中。数据量不是太大时,速度比传统数据库要快。
文本类型数据文件安全性差,数据检索效率低等特点。特别是海量监测数据的存储,一般情况下都是存传统数据库或者文本文件,传统数据库需要额外安装庞大的数据库软件,而且还有很多限制,如SQL Server2000中的VarChar类型最大只能存8000字符,Access文件单个最大只能支持4GB文件。
而对于数据检索来说,最重要的就是检索的精度与速度。检索的精度基本取决于编程人员的水平,而检索的速度则受到多种因素的影响。其中,索引技术是数据库管理系统中最常用的提高检索速度的手段。
文本数据文件则缺乏较高的数据检索效率,一般监测数据的文本存储方式:①每一行表示一条记录;②每条记录由一个时间字段以及一个或多个数据内容字段构成。如表1所示:
表1
当一次查询某一时间段(时间i到时间j)设备A的所有数据做数据报表时,需要加载整个文件,逐条判断时间i到时间j所在的区间位置,当数据文件较大时,检索效率很低。
有鉴于此,本发明人针对现有技术的缺陷深入研究,并有本案产生。
【发明内容】
本发明要解决的技术问题,在于提供一种大数据量设备实时监测数据的存储及检索方法。
本发明是这样实现的:
一种大数据量设备实时监测数据的存储及检索方法,包括如下步骤:
将数据文件按年、月存放在二级目录中;索引文件与数据文件均为二进制文件,具有不同的扩展名,且都遵循相同的命名规则,即文件名中包含年月日时间标识,年月日时间标识用于索引文件和数据文件的初级检索;
在监测信息实时记录的过程中每天生成一个索引文件和数据文件;
索引文件分成两个部分,第一部分为索引目录,第二部分为周期数据索引;
索引目录记录每一分钟起始周期数据索引的地址位置信息,若每日单个数据文件小于4GB,那么地址位置信息用4个字节表示,若每日单个数据文件大于4GB小于1TB,那么地址位置信息用5个字节表示;索引目录总计占用字节数=每分钟单位地址字节数*60分钟*24小时,按照每分钟单位地址占用4字节计算,索引目录总计占用5760字节;
周期数据索引记录每个采集周期各个类型信息在数据文件具体位置地址以及数据长度,字节大小根据实际情况增加或减少字节数以达到最佳使用效果;
当用户输入查询条件,选择需要查询的设备类型、数据类型以及起始时间t1、结束时间t2;
遍历所有索引文件和数据文件,根据起始时间日期匹配对应的索引文件和数据文件;
索引文件和数据文件存放于../年/月的二级文件夹中,根据起始时间年份找到年文件夹,根据起始时间月份找到年文件夹下的月文件夹,根据起始时间日期,转换成带后缀的索引文件名和数据文件名,匹配月文件夹下的文件名称,找到索引文件和数据文件;
打开并加载索引文件;
根据起始时间的时/分在索引文件的索引目录中找到对应时/分标志指向的索引文件周期数据索引地址;
根据设备序号匹配当期周期数据索引中的设备序号,找到当前时间、当期设备序号所在数据文件中的偏移地址;
根据数据类型编号,取出当前设备序号下数据类型编号存储的数据值;
获取当前查询信息下一个周期数据;
快速计算出下一个周期设备索引地址,并快速定位数据文件中设备信息偏移地址,匹配数据类型编号,从而取出查询条件第二周期数据值;
以此类推,通过简单匹配和计算依次取出当前数据文件中符合查询条件的所有信息值。
本发明的优点在于:用户在存储数据的时候,可以根据年、月、日存储二进制文件,每天两个二进制文件,数据文件和索引文件,文件依据日期命名。用户无需安装较为庞大第三方的数据库系统软件,如:Oracl e、MS SQL等。按照存储一个月的数据来计算的话,每月生成的文件数量也就是30*2=60个。通过将存储信息分成索引文件和数据文件两个文件,索引文件中用于记录各类型数据的时间以及指向数据文件中各类型数据值,数据文件用于记录采集到的各类数据信息值。本发明依据构建的特殊索引文件(索引目录和周期数据索引),通过快速计算方式定位数据所在偏移地址,从而取出符合查询条件的信息数据。有效的解决了海量数据的检索速度慢的问题。在进行数据导出的时候,也只需要根据需要导出数据的时间范围,拷贝文件目录下对应时间数据文件和索引文件即可,有效解决第三方数据库软件在导出大数据量信息时,导出时间慢的问题。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明中的数据检索的流程图。
图2是本发明中的数据检索系统结构图。
【具体实施方式】
一种大数据量设备实时监测数据的存储与检索方法,包括如下步骤:
将数据文件按年、月存放在二级目录中;索引文件与数据文件均为二进制文件,具有不同的扩展名,且都遵循相同的命名规则,即文件名中包含年月日时间标识,年月日时间标识用于索引文件和数据文件的初级检索;
在监测信息实时记录的过程中每天生成一个索引文件和数据文件;
索引文件分成两个部分,第一部分为索引目录,第二部分为周期数据索引;
索引目录记录每一分钟起始周期数据索引的地址位置信息,如表2所示,若每日单个数据文件小于4GB,那么地址位置信息用4个字节表示,若每日单个数据文件大于4GB小于1TB,那么地址位置信息用5个字节表示;索引目录总计占用字节数=每分钟单位地址字节数*60分钟*24小时,按照每分钟单位地址占用4字节计算,索引目录总计占用5760字节;
表2
分钟标志 | 00:00 | 00:01 | 00:02 | ... | 23:57 | 23:58 | 23:59 |
偏移地址 | M0 | M1 | M2 | ... | M1437 | M1438 | M1439 |
周期数据索引记录每个采集周期各个类型信息在数据文件具体位置地址以及数据长度,字节大小根据实际情况增加或减少字节数以达到最佳使用效果;如表3所示:
表3
内容 | 大小 |
时间1 | 4个字节 |
设备序号1 | 1个字节 |
偏移地址 | 4个字节 |
长度 | 2个字节 |
设备序号2 | 1个字节 |
偏移地址 | 4个字节 |
长度 | 2个字节 |
... | ... |
设备序号N | 1个字节 |
偏移地址 | 4个字节 |
长度 | 2个字节 |
设备序号:从1开始,代表设备编号(1个字节可表示256个设备,如果不够用,可适当增加)。
偏移地址:当前时间当前序号设备的开关量或模拟量信息在数据文件中的偏移地址(4个字节可表示4GB文件偏移地址,如果文件更大,可适当增加)。
长度:开关量或模拟量信息内容的长度。
数据文件存数据类型编号和值,如表4所示:
表4
序号:即设备序号。
数据类型:即设备各种类型数据的编号,例如:1表示功出电压,2表示功出电流等等。
值:各种模拟量,开关量数据值。
如图1所示,是本发明的数据检索流程图。当用户输入查询条件,选择需要查询的设备类型、数据类型以及起始时间t1、结束时间t2。
遍历所有索引文件和数据文件,根据起始时间日期匹配对应的索引文件和数据文件。
索引文件和数据文件存放于../年/月的二级文件夹中,根据起始时间年份找到年文件夹,根据起始时间月份找到年文件夹下的月文件夹,根据起始时间日期,转换成带后缀的索引文件名和数据文件名,匹配月文件夹下的文件名称,找到索引文件和数据文件;
打开并加载索引文件;
根据起始时间的时/分在索引文件的索引目录中找到对应时/分标志指向的索引文件周期数据索引地址;
根据设备序号匹配当期周期数据索引中的设备序号,找到当前时间、当期设备序号所在数据文件中的偏移地址;
根据数据类型编号,取出当前设备序号下数据类型编号存储的数据值;
获取当前查询信息下一个周期数据;
由于周期数据索引中每一个周期的索引信息长度固定,周期索引信息字节长度=时间+(设备序号+偏移地址+数据长度)*设备总数,因此可以快速计算出下一个周期设备索引地址,并快速定位数据文件中设备信息偏移地址,匹配数据类型编号,从而取出查询条件第二周期数据值;
以此类推,通过简单匹配和计算依次取出当前数据文件中符合查询条件的所有信息值。
图2是本发明中的数据检索系统结构图。
以上所述仅为本发明的较佳实施用例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种大数据量设备实时监测数据的存储及检索方法,其特征在于:包括如下步骤:
将数据文件按年、月存放在二级目录中;索引文件与数据文件均为二进制文件,具有不同的扩展名,且都遵循相同的命名规则,即文件名中包含年月日时间标识,年月日时间标识用于索引文件和数据文件的初级检索;
在监测信息实时记录的过程中每天生成一个索引文件和数据文件;
索引文件分成两个部分,第一部分为索引目录,第二部分为周期数据索引;
索引目录记录每一分钟起始周期数据索引的地址位置信息,若每日单个数据文件小于4GB,那么地址位置信息用4个字节表示,若每日单个数据文件大于4GB小于1TB,那么地址位置信息用5个字节表示;索引目录总计占用字节数=每分钟单位地址字节数*60分钟*24小时,按照每分钟单位地址占用4字节计算,索引目录总计占用5760字节;
周期数据索引记录每个采集周期各个类型信息在数据文件具体位置地址以及数据长度,字节大小根据实际情况增加或减少字节数以达到最佳使用效果;
当用户输入查询条件,选择需要查询的设备序号、数据类型以及起始时间t1、结束时间t2;
遍历所有索引文件和数据文件,根据起始时间日期匹配对应的索引文件和数据文件;
索引文件和数据文件存放于../年/月的二级文件夹中,根据起始时间年份找到年文件夹,根据起始时间月份找到年文件夹下的月文件夹,根据起始时间日期,转换成带后缀的索引文件名和数据文件名,匹配月文件夹下的文件名称,找到索引文件和数据文件;
打开并加载索引文件;
根据起始时间的时/分在索引文件的索引目录中找到对应时/分标志指向的索引文件周期数据索引地址;
根据设备序号匹配当期周期数据索引中的设备序号,找到当前时间、当期设备序号所在数据文件中的偏移地址;
根据数据类型编号,取出当前设备序号下数据类型编号存储的数据值;
获取当前查询信息下一个周期数据;
快速计算出下一个周期设备索引地址,并快速定位数据文件中设备信息偏移地址,匹配数据类型编号,从而取出查询条件第二周期数据值;
以此类推,通过简单匹配和计算依次取出当前数据文件中符合查询条件的所有信息值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210382597.1A CN102902797B (zh) | 2012-10-11 | 2012-10-11 | 一种大数据量设备实时监测数据的存储及检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210382597.1A CN102902797B (zh) | 2012-10-11 | 2012-10-11 | 一种大数据量设备实时监测数据的存储及检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102902797A CN102902797A (zh) | 2013-01-30 |
CN102902797B true CN102902797B (zh) | 2015-05-20 |
Family
ID=47575029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210382597.1A Active CN102902797B (zh) | 2012-10-11 | 2012-10-11 | 一种大数据量设备实时监测数据的存储及检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102902797B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268672A (zh) * | 2014-09-11 | 2015-01-07 | 郑州华源超硬材料工具有限公司 | 一种木地板加工刀具电子图纸的管理方法及其分类步骤 |
CN105701096A (zh) * | 2014-11-25 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 索引生成方法、数据查询方法、装置及系统 |
CN105279226A (zh) * | 2015-09-09 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种基于大数据的数据监控方法和设备 |
CN105653575A (zh) * | 2015-12-04 | 2016-06-08 | 重庆川仪自动化股份有限公司 | 一种数据查询方法及其应用的报表系统 |
CN110019121B (zh) * | 2017-10-31 | 2021-05-11 | 北京国双科技有限公司 | 一种数据库文件过滤方法、装置、存储介质及处理器 |
CN108460075B (zh) * | 2017-12-28 | 2021-11-30 | 上海顶竹通讯技术有限公司 | 一种文件内容检索方法及系统 |
CN109062991B (zh) * | 2018-07-03 | 2022-03-18 | 深圳市慧视通科技股份有限公司 | 一种车载监控数据检索方法及系统 |
CN109739811B (zh) * | 2018-12-11 | 2023-03-14 | 河南辉煌科技股份有限公司 | 支持双维度查询海量监测数据的存储方法 |
CN110765321B (zh) * | 2019-10-28 | 2022-10-25 | 北京明略软件系统有限公司 | 一种数据存储路径的生成方法、生成装置及可读存储介质 |
CN111125171A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种监测数据存取方法、装置、设备及可读存储介质 |
CN112084145B (zh) * | 2020-09-04 | 2024-07-19 | 深圳科安达电子科技股份有限公司 | 一种铁路信号集中监测系统数据存储读取方法 |
CN112462655B (zh) * | 2020-11-19 | 2023-09-01 | 北京大华无线电仪器有限责任公司 | 一种仪器仪表内部通讯方法 |
CN112269903B (zh) * | 2020-11-19 | 2024-06-11 | 咪咕文化科技有限公司 | 数据处理方法、数据处理设备及可读存储介质 |
CN112527828B (zh) * | 2020-12-10 | 2023-03-14 | 福建新大陆支付技术有限公司 | 一种税控机税控记录存储方法及检索查询方法 |
CN113934373A (zh) * | 2021-10-13 | 2022-01-14 | 山东鲁软数字科技有限公司 | 一种能源监测数据存储方法及系统 |
CN115328923B (zh) * | 2022-10-12 | 2023-01-24 | 北京中科心研科技有限公司 | 时序生理数据的存储结构、查询方法、存储介质及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612252A (zh) * | 2003-10-31 | 2005-05-04 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805470B2 (en) * | 2005-06-23 | 2010-09-28 | Emc Corporation | Methods and apparatus for managing the storage of content in a file system |
-
2012
- 2012-10-11 CN CN201210382597.1A patent/CN102902797B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612252A (zh) * | 2003-10-31 | 2005-05-04 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102902797A (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902797B (zh) | 一种大数据量设备实时监测数据的存储及检索方法 | |
CN104063487B (zh) | 基于关系型数据库及k‑d树索引的文件数据管理方法 | |
CN100426300C (zh) | 一种管理日志的方法及系统 | |
US11573941B2 (en) | Systems, methods, and data structures for high-speed searching or filtering of large datasets | |
CN102930060B (zh) | 一种数据库快速索引的方法及装置 | |
CN102332030A (zh) | 用于分布式键-值存储系统的数据存储、管理和查询方法及系统 | |
CN106611053B (zh) | 一种数据清理、索引方法 | |
CN106055621A (zh) | 一种日志检索方法及装置 | |
CN102722584B (zh) | 数据存储系统及方法 | |
CN102982186B (zh) | 基于oracle数据库系统的range分区表的维护方法和系统 | |
CN105117442A (zh) | 一种基于概率的大数据查询方法 | |
CN102999637B (zh) | 根据文件特征码为文件自动添加文件标签的方法及系统 | |
CN108171071A (zh) | 一种面向云计算的多关键字可排序密文检索方法 | |
CN105183391A (zh) | 一种分布式数据平台下数据存储的方法和装置 | |
CN108133043A (zh) | 一种基于大数据的服务器运行日志结构化存储方法 | |
CN104915388A (zh) | 一种基于谱聚类和众包技术的图书标签推荐方法 | |
CN107341198B (zh) | 一种基于主题实例的电力海量数据存储和查询方法 | |
Petrou et al. | Publishing census as linked open data: a case study | |
Nørvåg | Supporting temporal text-containment queries in temporal document databases | |
CN112540987A (zh) | 一种基于数据集市的配用电大数据管理系统 | |
CN102597969A (zh) | 带属性的键值存储的数据库管理装置及其键值存储结构的高速缓存装置 | |
CN107238764B (zh) | 电力系统的电能质量监测方法和装置 | |
CN102376021A (zh) | 一种图书管理系统 | |
CN105868406A (zh) | 基于多数据库的专利检索系统 | |
Khalid et al. | OntRel: An ontology indexer to store owl-dl ontologies and its instances |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: Copper Road Software Avenue Gulou District of Fuzhou city in Fujian province 350000 No. 89 Fuzhou Software Park B District No. 4 Patentee after: FUJIAN ETONG CENTURY SOFTWARE TECHNOLOGY CO., LTD. Address before: Copper Road Software Avenue Gulou District of Fuzhou city in Fujian province 350000 No. 89 Fuzhou Software Park B District No. 4 Patentee before: Fujian Yitong Century Software Co., Ltd. |