[发明专利]一种海量历史数据的存储及索引方法无效
申请号: | 201210063417.3 | 申请日: | 2012-03-12 |
公开(公告)号: | CN102646130A | 公开(公告)日: | 2012-08-22 |
发明(设计)人: | 王非;黄本雄;王章 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市德权律师事务所 11302 | 代理人: | 刘丽君 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 海量 历史数据 存储 索引 方法 | ||
1.一种海量历史数据的存储方法,其特征在于,该方法包括:
A、从实时历史数据库获取与测点数字标识NID相对应测点的前一天全天的压缩数据,按时间升序连续排列构成一条测点历史数据记录的历史数据区,在所述历史数据区前加入该测点的元数据区信息构造一条测点历史数据记录R;
B、判断中间数据文件FT的剩余空间是否小于R的长度RLEN,如果是,则向FT的剩余空间写入无效数据,并将FT中的整块数据追加写入历史数据文件F,从分布式文件系统返回的结果中获取本次写入数据所存入的文件块的全局数字标识BlockID,遍历保存测点数字标识的集合CID,每次取出一个测点数字标识赋值给临时变量TID,将日索引集合文件FTi的第TID个索引单元的文件块标识FileBlockID项的值置为BlockID,清空CID和文件FT,并执行步骤C;否则直接执行步骤C;
C、将R写入FT,记录下R在FT中的起始偏移地址Offset,将Offset和RLEN分别写入日索引集合文件FTI的第NID个索引单元的数据偏移DataOffset项和数据长度DataLength项,将NID的值存入集合测点数字标识的集合CID;
D、对NID的值执行加1操作,判断新NID对应的测点是否存在,若存在则执行步骤A;否则执行步骤E;
E、向FT的剩余空间写入无效数据,将FT中的数据追加写入历史数据文件F,从分布式文件系统返回的结果中获取本次写入数据存入的文件块的全局数字标识BlockID,更新FTI,遍历CID,每次取出一个测点数字标识赋值给临时变量TID,将FTI中第TID个索引单元文件块标识FileBlockID项的值置为BlockID,将FTI的数据追加写入年索引文件FIDX。
2.根据权利要求1所述的海量历史数据的存储方法,其特征在于,在步骤A之前,还进一步包括初始化操作的步骤,所述初始化操作的步骤具体包括:
判断是否存在当前年对应的历史数据文件F,如果存在则打开该文件;不存在则按照历史数据文件命名的规则新建一个空的历史数据文件;
判断是否存在当前年对应的年索引文件FIDX,如果存在则打开该文件;不存在则按照年索引文件命名的规则新建一个空的年索引文件;
新建一个空的中间数据文件FT,FT的大小固定为分布式文件系统默认文件分块大小BlockSize;
新建一个包含M个索引单元的日索引集合文件FTI,M等于实时历史数据库系统支持最大点数;
将NID赋值为1,新建一个保存测点数字标识的集合CID。
3.根据权利要求1或2所述的海量历史数据的存储方法,其特征在于,所述历史数据文件F的文件名为YYYY.dat,其中YYYY代表年;F由多个相同大小的数据块拼接而成,每个数据块的大小等于分布式文件系统默认的文件分块大小BlockSize,实现物理存储的分布式文件系统将数据文件F切分为多个文件块进行分布存储,一个数据块对应一个文件块。
4.根据权利要求3所述的海量历史数据的存储方法,其特征在于,所述测点历史数据记录R包含测点元数据区和测点历史数据区,所述测点元数据区包含实时历史数据库为每个测点分配的全局唯一的数字标识NID、测点的数据采集周期和测点历史数据区内第一个数据的时间戳。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210063417.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:影像系统及其干扰消除方法
- 下一篇:基站天线装置及基站天线工程参数采集装置