基于访问趋势预测的时间序列数据库缓存管理方法技术

技术编号:13039336 阅读:69 留言:0更新日期:2016-03-23 10:51
本发明专利技术提供了基于访问趋势预测的时间序列数据库缓存管理方法,在常规数据库提供数据访问缓存的基础上,建立时间序列数据库双缓存机制;在常规缓存之外增加一块预测数据缓存,用于预测访问数据的预加载,以便在数据访问之前将其载入内存,加快查询速度。本发明专利技术用以实现对时间序列数据库数据缓存进行有效管理,提高数据缓存命中与系统数据查询效率。系统对于近期访问数据进行分析,并预测数据访问趋势,对预测数据进行加载,提高数据访问速度。此种方法适用于时间序列数据库数据缓存管理,用于提高时间序列数据库数据查询效率。

【技术实现步骤摘要】

本专利技术涉及时间序列数据库领域,具体而言本专利技术涉及一种基于访问趋势预测的 时间序列数据库数据缓存管理方法。
技术介绍
时序数据库是广域测量系统(WAMS)的基础,同时还可用于变电站监控、调度、直 流、稳控等多个系统中,满足其存储海量、高频数据的需求。在实际应用中,时间序列数据库 存储毫秒级数据,数据访问的频度高,访问数据量大,为保证访问效率,数据库系统内会设 置访问缓存,提高访问效率。 对于时间序列数据库的数据检索,具有以下特点: 1在短时间内突发访问大量数据,在某一段查询中查询某个测点的大量数据。 2数据访问往往具有连续趋势,如每次查询某个测点的一段时间内的数据,且连续 访问。 3对访问时效要求高,数据查询的返回速度要求高于传统商用数据库。 为满足查询速度的需求,时间序列数据库会在内部设置内存缓存,用于对热点数 据进行高速缓存,减少磁盘10,提高查询效率。常规的缓存管理办法一般为先进先出,最近 未被使用等方法,对缓存进行统一管理。 但此种方法基于当前已被使用过或被检索过的数据,但时间序列数据库的数据访 问往往具有明显的趋势性,例如查询某个测点的历史曲线,会在短时间内连续检索一段时 间内的数据,被检索过的数据往往不会被反复存取,而相邻时间段内的数据有可能被继续 读取,常规的缓存方法往往不会取得很好的效果。 为解决上述问题,本专利技术致力于在常规缓存外增加预读缓存,通过对数据访问的 趋势进行分析,预测下一阶段可能会被访问的数据,得到分析结果后,提前将相关数据载入 预读缓存,以提高数据访问效率。
技术实现思路
针对现有技术的缺陷和不足,本专利技术旨在于提供基于访问趋势预测的时间序列 数据库缓存管理方法,其适用于时间数列数据库的数据缓存管理,预测时序库客户端的数 据访问序列,提前将数据载入内存,提高时间序列数据库的数据访问效率,降低系统突发10 负荷。 为了达成上述目的,本专利技术的解决方案是:基于访问趋势预测的时间序列数据库 缓存管理方法,其特征在于: 在常规数据库提供数据访问缓存的基础上,建立时间序列数据库双缓存机制; 在常规缓存之外增加一块预测数据缓存,用于预测访问数据的预加载,以便在数 据访问之前将其载入内存,加快查询速度。 进一步的,根据数据访问情况判定是否进行趋势分析,当趋势分析算法满足启动 条件时,系统启动趋势分析算法,对后续访问趋势进行分析,预测后续可能被访问的数 据。 进一步的,判定启动趋势分析的条件如下: 趋势分析启动条件 式⑴对时刻内的查询次数进行积分操作,当这段时间内的数据查询总次 数达到η次,η为预设的阈值,可进行调整,则认为目前为系统密集查询时期,需要启动访 问趋势预测算法。 进一步的,系统缓存由常规缓存与预读缓存两部分组成;系统在常规的数据缓存 之外额外加入预读缓存,用于对于系统趋势分析的预测访问数据进行装载,常规缓存与预 读缓存统一由缓存管理系统管理,供时间序列数据库使用。 进一步的,判断访问预趋势分析达到启动条件后,首先识别访问序列中的热点测 点,然后对该测点的检索值相关的时间范围进行最小二乘法曲线拟合,得到拟合曲线后,根 据曲线获取后续可能的访问时间范围; 对于客户端的每次查询可用表达式: Query= 式(2) 其中x表示测点集合,t代表查询的时间范围 对于在时间范围内T内S次查询可表示为: Q= {, ··· [xs,tj}式(3) 对于式(3)所表示的查询序列,对测点集合进行分拆,计算每个测点的被查询次 数,对于查询次数较多的测点形成查询时间队列:X(t) = {t1,t2,t3,t4"",tn}S(4) 对于式(4)中的测点X的访问时间序列,采用如下方法就行趋势拟合计算: 设拟合的公式为: X(t) =An+B式(5) 根据式(6),式(7)计算参数: 计算出参数后,根据式(5)计算n+1时刻的t时间值。 进一步的,确定装载的缓存数据后检测是否已经存在于常规缓存或预读缓存中, 已存在则不载入。 进一步的,对于查询请求首先查询常规缓存再查询预读缓存,常规缓存与预读缓 存全不命中直接查询数据文件。 本基于访问预测算法的时序数据库缓存预取方法,包含如下步骤: 系统缓存分为常规缓存与预读缓存两个部分,如图1所示,常规缓存采用常规缓 存管理算法进行管理,预测缓存数据的装入不是按照访问过的数据载入缓存的模式进行装 载,而是通过对客户端访问趋势的预测进行数据的装入。 服务器端对客户端的多次查询请求特征进行计算,通过设定的窗口时间对每个客 户端的访问趋势进行计算,预测其访问趋势,即客户端可能下一阶段可能访问的数据。 服务器端根据计算结果利用闲时对趋势数据进行预装,提前将这部分数据载入预 读缓存。若预读缓存满,采用LRU算法进行移出。 客户端后续访问服务端会同时从两个缓存中进行读取。 本专利技术采用常规缓存与预测缓存相结合的方式,对于数据查询请求,采用滑动窗 口算法对进行判断是否满足趋势预测的启动条件,满足启动条件后,采用最小二乘法对访 问序列进行拟合,判断后续访问数据,并将预测的可能会被访问的数据提前预装入预测缓 存,以提高数据查询效率。 采用上述方案后,本专利技术具有以下特点: (1)系统存在额外缓存,可提高数据检索效率。 (2)预测分析仅在数据访问趋势性明显的情况下进行,采用改良的滑动窗口算法 进行访问趋势性判断。 (3)使用最小二乘法进行访问趋势分析,计算速度快。 (4)两块缓存统一管理,对应用透明,不增加应用复杂性。【附图说明】 图1是本专利技术所应用的系统缓存结构图; 图2是本专利技术中数据趋势分析启动的条件示意图; 图3是本专利技术中数据趋势分析及缓存处理的流程图。【具体实施方式】 参见图1、图2和图3,本,具体 包括如下步骤: (1)系统缓存分为常规缓存与预测缓存两个部分,常规缓存采用常规缓存管理算 法进行管理,预测缓存数据的装入不是按照访问过的数据载入缓存的模式进行装载,而是 通过对客户端数据访问趋势的预测进当前第1页1 2 本文档来自技高网...

【技术保护点】
基于访问趋势预测的时间序列数据库缓存管理方法,其特征在于包括以下步骤:在常规数据库提供数据访问缓存的基础上,建立时间序列数据库双缓存机制;在常规缓存之外增加一块预测数据缓存,用于预测访问数据的预加载,以便在数据访问之前将其载入内存,加快查询速度。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨凡钱锋张俊
申请(专利权)人:南京南瑞继保电气有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1