一种缓存数据存储方法及装置的制造方法
【技术领域】
[0001] 本发明涉及数据存储技术领域,尤其涉及一种缓存数据存储方法及装置。
【背景技术】
[0002] 互联网技术的飞速发展和用户利记体育的不断增加导致了网络拥塞和服务器的超 载,缓存技术可有效的减轻服务器的负载、降低网络拥塞和减少用户的访问延迟。缓存技术 可将用户访问过的内容在存储设备中保留一份副本,以备下次用户访问。现有的技术方案 大都是根据内容的访问热度或内容的生命周期对网络内容进行分级存储处理,而绝大多数 缓存系统均采用了分级存储技术,对不同资源进行高效处理。
[0003] 目前,分级存储技术方案对于本地网络资源的处理,是根据不同资源的访问热度 或生命周期进行不同级别划分,每个存储系统都有各级存储区、热点分析单元和重定位单 元。每个存储区均设置有表示放置级别的标识,所述存储级别的高低表示存储介质性能的 高低;热点分析单元来计算内容的访问热度,其中内容访问热度的高低对应存储区放置级 别的高低;重定位单元用于根据文件的访问热度将内容放入对应级别的存储区。对于热度 高、或生命周期较短的网络内容,将其存放至读写速度最快的存储介质(如内存)中,对热 度低、或生命周期长的网络内容,将其存放至读写较慢的存储介质(如机械硬盘)中。
[0004] 对于网络内容的访问热度,可以由缓存服务器实时记录并累计;而对于内容的生 命周期,则完全由发布内容的原始站点(简称源站)进行标记,但目前互联网内容生命周期 标记方式有多种,且各不相同。
[0005] 目前现有缓存技术中,当缓存服务器从源站下载网络内容的同时,会依据分级存 储策略,判断该资源的生命周期,并根据周期长短选择不同的存储介质。由于互联网资源生 命周期的标记方式主要有两种方式,一种直接标记方式,即标示出内容当前的生命周期长 度;另一种间接标记,即仅标记内容本次版本号或本次的更新时间,待有内容请求时先将该 内容的版本号或本次的更新时间向源站校验,若源站版本未更新,则表示内容仍为有效,可 直接使用。现有内容分级技术在最初下载内容并在本地进行分级存储时,仅对可直接获取 生命周期的内容进行分级策略的匹配,而对于采用间接标记方式的内容,由于无法直接获 得其生命周期,因此不对该部分内容进行分级策略处理,仅将内容直接存放至最低速的存 储介质中,该方式严重影响分级存储的效率,有悖于使用分级技术的初衷,严重的影响了分 级存储的效率。
【发明内容】
[0006] 本发明要解决的技术问题是提供了一种缓存数据存储方法及装置,能够主动探测 缓存数据的生命周期,对其生命周期进行归一化,然后对其进行分级存储处理,提高了对不 同资源数据的处理效率。
[0007] 为了解决上述技术问题,本发明采用如下技术方案:
[0008] 依据本发明的一个方面,提供了一种缓存数据存储方法,包括:
[0009] 获取没有下载生命周期的当前缓存数据的第一更新校验时刻和第二更新校验时 亥IJ,其中,所述第一更新校验时刻与第二更新校验时刻是相邻的两次更新校验时刻;
[0010] 根据第一更新校验时刻和第二更新校验时刻,获取当前缓存数据的生命周期;
[0011] 根据所述生命周期,对当前缓存数据进行分级存储。
[0012] 可选地,获取没有下载生命周期的当前缓存数据的第一更新校验时刻和第二更新 检验时刻的步骤包括:
[0013] 向源站进行生命周期更新校验,若内容已被更新,则记录更新校验的更新时刻作 为第一更新校验时刻;
[0014] 根据所述第一更新校验时刻,使用动态最小二乘二次曲线拟合方法推算得到第二 更新校验时刻。
[0015] 可选地,根据公式:y = ax2+bx+c,推算得到第二更新校验时刻,其中,X为所述缓 存数据的序号,y为所述缓存数据的第一更新校验时刻或者第二更新校验时刻,a、b、c为参 数。
[0016] 可选地,采用如下计算公贫
[0017] 获取a,b,c的参数值,其中,m为截止到本次计算时,所述缓存数据已被更新的次 数,Xl为所述缓存数据的序号,yi为所述缓存数据的每一次更新校验时刻。
[0018] 可选地,根据第一更新校验时刻和第二更新校验时刻,获取当前缓存数据的生命 周期的步骤包括:
[0019] 将第二更新校验时刻与第一更新校验时刻之间的时间段作为当前缓存数据的生 命周期。
[0020] 可选地,根据所述生命周期,对当前缓存数据进行分级存储的步骤包括:
[0021] 若所述生命周期在预设的第一更新时间区间内,则将当前缓存数据存入一级存储 区;
[0022] 若所述生命周期在预设的第二更新时间区间内,则将当前缓存数据存入二级存储 区;
[0023] 若所述生命周期在预设的第三更新时间区间内,则将当前缓存数据存入三级存储 区。
[0024] 可选地,所述方法还包括:若当前缓存数据未被更新,则根据上一次推算的当前缓 存数据的生命周期,对当前缓存数据进行分级存储。
[0025] 依据本发明的另一个方面,还提供了一种缓存数据存储装置,包括:
[0026] 获取模块,用于获取没有下载生命周期的当前缓存数据的第一更新校验时刻和第 二更新检验时刻,其中,所述第一更新校验时刻与第二更新校验时刻是相邻的两次更新校 验时刻;
[0027] 计算模块,用于根据第一更新校验时刻和第二更新校验时刻,获取当前缓存数据 的生命周期;
[0028] 存储模块,用于根据所述生命周期,对当前缓存数据进行分级存储。
[0029] 可选地,所述获取模块包括:
[0030] 记录单元,用于向源站进行生命周期更新校验,若内容已被更新,则记录更新校验 的更新时刻作为第一更新校验时刻;
[0031] 推算单元,用于根据所述第一更新校验时刻,使用动态最小二乘二次曲线拟合方 法推算得到第二更新校验时刻。
[0032] 可选地,所述推算单元根据公式:y = ax2+bx+c,推算得到第二更新校验时刻,其 中,X为所述缓存数据的序号,y为所述缓存数据的第一更新校验时刻或者第二更新校验时 亥lj,a、b、c为参数。
[0033] 可选地,所述推算单元进一步
[0034] 采用如下计算公式:
[0035] 获取a,b,c的参数值,其中,m为截止到本次计算时,所述缓存数据已被更新的次 数, Xl为所述缓存数据的序号,yi为所述缓存数据的每一次更新校验时刻。
[0036] 可选地,所述计算模块进一步用于:将第二更新校验时刻与第一更新校验时刻之 间的时间段作为当前缓存数据的生命周期。
[0037] 可选地,所述存储模块包括:
[0038] 第一存储单元,用于若所述生命周期在预设的第一更新时间区间内,则将当前缓 存数据存入一级存储区;
[0039] 第二存储单元,用于若所述生命周期在预设的第二更新时间区间内,则将当前缓 存数据存入二级存储区;
[0040] 第三存储单元,用于若所述生命周期在预设的第三更新时间区间内,则将当前缓 存数据存入三级存储区。
[0041] 可选地,所述存储模块还进一步用于若当前缓存数据未被更新,则根据上一次推 算的当前缓存数据的生命周期,对当前缓存数据进行分级存储。
[0042] 本发明的有益效果是:
[0043] 在本发明实施例中,依据内容的生命周期以及更新周期作为内容的分级依据,对 于无法直接获取生命周期的资源,采用主动探测并进行演进推算的方式获取其生命周期, 然后分级存储到相应的存储区。在获取缓存数据的生命周期并分级存储时,要先获取当前 缓存数据的第一更新校验时刻和第二更新校验时刻,其中第一更新校验时刻与第二更新校 验时刻为相邻的两次更新校验时刻,然后根据第一更新校验时刻与第二更新校验时刻获取 当前缓存数据的生命周期,并根据当前缓存数据的生命周期进行分级存储。本发明有效的 减轻了服务器的负载、降低了网络拥塞,提高了对网络内容的访问请求的响应速度,既提高 了对不同资源数据的处理效率,又提升了系统性能的使用率。
【附图说明】
[0044] 图1表示本发明实施例中缓存数据存储方法的流程图;
[0045] 图2表示本发明实施例中对缓存数据的处理流程图;
[0046] 图3表示本发明实施例中获取更新校验时刻的流程图;
[0047] 图4表示本发明实施例中分级存储缓存数据的流程图;
[0048] 图5表示本发明实施例中缓存数据存储装置的结构框图;
[0049] 图6表示本发明实施例中获取模块的结构框图;以及
[0050] 图7表示本发明实施例中存储模块的结构框图。
【具体实施方式】
[0051] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对 本发明进行详细描述。
[0052] 实施例一
[0053] 如图1所示,为本发明实施例中缓存数据存储方法的流程图,方法100包括如下步 骤:
[0054] 步骤S101、获取没有下载生命周期的当前缓存数据的第一更新校验时刻和第二更 新校验时刻,其中,第一更新校验时刻与第二更新校验时刻是相邻的两次更新校验时刻;
[0055] 步骤S103、根据第一更新校验时刻和第二更新校验时刻,获取当前缓存数据的生 命周期;
[0056] 步骤S105、根据生命周期,对当前缓存数据进行分级存储。
[0057] 进一步地,在本发明实施例中,若当前缓存数据未被更新,则根据上一次推算的当 前缓存数据的生命周期,对当前缓存数据进行分级存储。
[0058] 具体地,对缓存数据的处理流程如图2所示,首先对缓存数据的生命周期标记方 式进行解析,若其标记方式为直接标记出当前缓存数据的生命周期,则直接根据生命周期 长短,选择相应的存储单元进行储存;若其标记方式为间接标记,即仅标记内容本次版本号 或本次的更新时间,则向源基站发起内容更新校验,两次相邻更新校验时刻的时间差即为 当前缓存数据的生命周期,根据其生命周期,选择相应的存储单元进行储存。
[0059] 在本发明实施例中,如图3所示,为获取更新校验时刻的流程图,获取没有下载生 命周期的当前缓存数据的第一更新校