[发明专利]一种多源数据存储和读取方法有效
申请号: | 201210506830.2 | 申请日: | 2012-11-30 |
公开(公告)号: | CN103853499A | 公开(公告)日: | 2014-06-11 |
发明(设计)人: | 俞高宇;张晓华;梁俊 | 申请(专利权)人: | 上海可鲁系统软件有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 读取 方法 | ||
技术领域
本发明涉及一种数据存储和读取技术,尤其涉及一种多源数据存储和读取技术。
背景技术
对于电力、石油和连锁经营等大型企业,其分站或经营场所分布在全国、甚至全球各地,它们的每个分站或经营场所又包含许多的量测点,这些大型企业的数据中心,随时随刻都要对这些量测点产生的数据进行存储,需要的时候,还要从存储的众多数据中读取所需的数据。而这些工业数据有一个共同点:数据量比较大、数据来源比较广泛。通常,工业数据是各个量测点一段连续的量,其存储的数据都带有时间戳。工业数据具有明显的时间特性,其结构可以用VQT(Value、Quality、Timestamp,数据值、质量码、时间戳)来表示。同时工业数据是不断产生的,从而具有海量数据、以及来源广泛的特点。针对这些特点,怎样更快速地对数据进行存储和读取,而且有效地利用存储空间是需要亟待解决的问题。
在数据库中,索引策略决定数据库快速定位数据的效率,索引可以提高数据存储和查询的效率。
索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。
高效的索引不仅取决于索引策略,还取决于数据的存储方式,以及待存储的数据的特性。对于数量大、来源范围广的工业数据,采用通用的存储和索引方式存在以下问题:
由于工业数据是随着时间推移逐渐产生、进行存储的,即不同的数据源(量测点)均是陆续不规律地生成数据;而在读取时,则都是以数据源(量测点)为单位、以时间为条件进行读取的,即通常会读取部分量测点在某一时间段内的数据,因此为了降低读取时检索的复杂度,传统的关系型数据库一般都是预先为每个量测点分配一较大的存储空间,在收到属于该量测点的数据时,将其存到对应空间。然而这种数据存储方式所需预留的存储空间极大,而每个量测点的数据量是不可预测的,在部分量测点没有数据需要存储、或存储数据比较少时,会造成存储空间的很大浪费。并且,在量测点的数量是成千上万、甚至更多的情况下,采用这种存储方式,所需要的索引时间依然较多,需要进一步改进。
发明内容
本发明主要解决的技术问题是提供一种多源数据存储及读取方法,使得在对数据量比较大、来源比较广泛的数据进行存储时,能够快速找到对应的存储文件进行存储,并且几乎不浪费存储空间;在读取所需数据时,能够在众多的存储文件中快速找到所要读取数据所在的存储文件和存储位置,对数据进行读取。
为了解决上述技术问题,本发明提供了一种多源数据存储方法,多源数据来自不同部署对象的不同量测点,包含以下步骤:
对部署对象进行分组,形成各部署对象组,并对各部署对象组包含的量测点进行划分,形成内部组;
为每个部署对象组的内部组中的各量测点分配唯一对应的本地标识;
每个部署对象组中的每个内部组包含一个或多个存储文件,存储文件包含文件头和文件体,文件体由固定大小、连续的数据片组成,该文件体中包含索引区和数据区,索引区中保存每个量测点在该存储文件中存储位置的索引;
在收到来自一部署对象辖下量测点的数据时,根据该量测点所属的部署对象组和内部组,找到该量测点对应的存储文件,根据该量测点的本地标识找到该量测点对应的存储位置索引,如果该索引表示当前未在数据区中为该量测点分配数据片、或所分配的数据片已存满,则在数据区中为该量测点分配一空白数据片,所分配的数据片与该数据区中已分配的数据片连续,将量测点数据存储在该新分配的数据片中;反之,则将量测点的数据存储在该索引指示的数据片的相应位置;
如果在存储过程中,当前数据片已存满,则为该量测点新分配一数据片进行存储,所分配的数据片与该数据区中已分配的数据片连续。
作为进一步改进,对部署对象进行分组,形成各部署对象组的方式为:根据各部署对象所包含的量测点数量,对各部署对象分组,将所包含量测点数量总和小于预设值的两个或以上部署对象分为一组,将其余的每个部署对象分别分为一组;
对各部署对象组包含的量测点进行划分,形成内部组的方式为:对各部署对象组进行组内划分,以预设值为界限,每达到预设值数量的量测点划分为一内部组,对应一组内标识,其余不足预设值数量的量测点划分为一内部组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海可鲁系统软件有限公司,未经上海可鲁系统软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210506830.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置