[发明专利]一种实时更正数据的存储与缓存读取方法有效
申请号: | 201710149222.3 | 申请日: | 2017-03-14 |
公开(公告)号: | CN106951490B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 王建民;黄向东;董一峰;龙明盛 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/23 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 罗文群 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种大规模实时更正数据的存储与缓存读取方法,属于计算机数据管理技术领域。本发明面向工业物联网、气象信息网中出现的一类重要的实时更正数据,数据读取以按时间维度的批量读取为主,数据量大且需要进行实时更正。本发明方法实现数据存储、数据直接读取与数据缓存读取,既能快速返回数据,又支持更正数据的实时更新,并通过缓存提升用户获取速度的时间。本发明克服了目前的分布式系统中广泛存在的大规模实时更正数据存储和读取性能无法达到要求的难题,方法直观有效、便于使用。 | ||
搜索关键词: | 一种 实时 更正 数据 存储 缓存 读取 方法 | ||
【主权项】:
一种实时更正数据的存储与缓存读取方法,其特征在于该方法包括以下步骤:(1)数据存储,具体步骤如下:(1‑1)建立数据存储表T1和更新数据存储表T2,所述的数据存储表T1用于存储设定时刻下的数据,数据存储表T1以该设定时刻为主键或索引项,数据存储表T1中相邻数据的时刻间隔为Tt,存储数据的有效时间为Tm,所述的更新数据存储表T2用于存储对数据存储表T1中存储的数据进行更新的信息,以数据的更新时刻tu为主键或索引项;(1‑2)按照时刻间隔Tt,获取当前时刻tc的待处理实时数据,将当前时刻tc获取的待处理实时数据存成一个文件,以文件形式存放在T1表中,同时删除数据存储表T1和更新数据存储表T2中数据获取时刻小于tc‑Tm的数据;(1‑3)获取更新的数据,若数据的更新时刻tu大于tc‑Tm,则把新数据存储在更新数据存储表T2中;(2)数据读取,具体步骤如下:数据直接读取:(2‑1)从数据存储表T1中读取设定时刻ta的数据D1;(2‑2)从更新数据存储表T2读取设定时刻ta的更新数据D2;(2‑3)用更新数据D2中的更新数据替代数据D1中相对应的数据;(2‑4)将读取数据D1返回用户;或数据缓存读取:(2‑5)建立一个预读取队列Qc和一个缓存C1,其中预读取队列Qc存储缓存时刻,缓存C1用于存储该缓存时刻的数据;(2‑6)从缓存C1中读取设定时刻ta的数据,判断缓存C1中是否存在设定时刻ta的数据,若设定时刻ta的数据在缓存C1中,则读取缓存C1中设定时刻ta的数据,返回给用户,进行步骤(2‑11),若设定时刻ta的数据不在缓存C1中,则进行步骤(2‑7);(2‑7)从数据存储表T1中读取设定时刻ta的数据D1;(2‑8)从更新数据存储表T2读取设定时刻ta的更新数据D2;(2‑9)用更新数据D2中的更新数据替代数据D1中相对应的数据,记更新后的数据为D1;(2‑10)将上述步骤(2‑9)中更新后的数据D1返回给用户,并将数据D1存入缓存C1中,进行步骤(2‑11);(2‑11)将设定时刻ta的前、后在时段(ta‑Tn)~(ta+Tn)内的所有时刻放入预读取队列Qc,其中Tn为一个设定时段,取值为上述步骤(1‑1)中时刻间隔Tt的2~5倍;(2‑12)对预读取队列Qc进行判断,若预读取队列Qc为空,则进行步骤(2‑18),若预读取队列Qc不为空,则进行步骤(2‑13);(2‑13)对预读取队列Qc中的每一个缓存时刻tg进行判断,若与缓存时刻tg相对应的数据不在缓存C1中,且缓存时刻tg在时段(ta‑Tn)~(ta+Tn)中,则进行步骤(2‑14),若与缓存时刻tg相对应的数据不在缓存C1中,且缓存时刻tg不在时段(ta‑Tn)~(ta+Tn),或与缓存时刻tg相对应的数据在缓存C1中,且缓存时刻tg在时段(ta‑Tn)~(ta+Tn),或与缓存时刻tg相对应的数据在缓存C1中,且缓存时刻tg不在时段(ta‑Tn)~(ta+Tn),则进行步骤(2‑18);(2‑14)从数据存储表T1中读取设定时刻tg的数据D1,(2‑15)从更新数据存储表T2读取设定时刻tg的更新数据D2;(2‑16)用更新数据D2中的更新数据替代数据D1中相对应的数据;(2‑17)将更新后的设定时刻tg的数据D1存入缓存C1中;(2‑18)遍历缓存C1中的所有数据,对与该数据相对应的时刻进行判断,若该数据时刻不在(ta‑Tn)~(ta+Tn)中,则在缓存C1中删除该数据,若该数据时刻在(ta‑Tn)~(ta+Tn)中,则在缓存C1中保留该数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710149222.3/,转载请声明来源钻瓜专利网。
- 上一篇:血液样本架
- 下一篇:一种医学检验旋转式试管架
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置