一种存储系统的热点数据识别和调度方法及系统的制作方法

文档序号:9616083阅读:651来源:国知局
一种存储系统的热点数据识别和调度方法及系统的制作方法
【技术领域】
[0001] 本发明涉及存储系统技术领域,尤指一种存储系统的热点数据识别和调度方法及 系统。
【背景技术】
[0002] 随着互联网技术的不断发展,各类非结构化数据,如图片、音视频、文本资料等呈 现出爆炸性增长的趋势。同时,对于数据的访问特征来说,也存在着访问频度上的差异,不 同的数据之间有"冷热"之分,如果多个"热点"数据引用了同一个数据片段,则该数据片段 的"热度"将是各个"热点"数据"热度"的加和。可知这类热点的数据会成为存储系统访问 的瓶颈。
[0003] 识别出"冷热"数据块,根据策略进行数据迀移,将访问频率较低的数据自动迀移 到低速、低成本的存储层上,将频繁访问的数据迀移到高性能的存储层次上,是目前分布式 存储系统亟待解决的一个问题。

【发明内容】

[0004] 为了解决上述技术问题,本发明提供了一种存储系统的热点数据识别和调度方法 及系统,能够有效解决热点数据访问的瓶颈问题。
[0005] 为了达到本发明目的,本发明提供了一种存储系统的热点数据识别和调度方法, 其特征在于,包括:收集器收集存储系统中数据对象的访问信息,并将所述数据对象的访 问信息发送给监控数据库;调度器从所述监控数据库获取数据对象的访问信息,根据所述 数据对象的访问信息识别热点数据,并将所述热点数据写入存储系统的高速存储器中;所 述高速存储器分别设置热点数据的过期时间,调度器根据所述过期时间进行热点数据的调 度。
[0006] 进一步地,所述收集器收集存储系统中数据对象的访问信息,具体为:
[0007] 收集器通过监控数据库获取历史的数据对象的访问信息,通过消息队列获取实时 的数据对象的访问信息,其中所述消息队列的实时的数据对象的访问信息来自从监视器订 阅的实时系统监测数据。
[0008] 进一步地,所述根据所述数据对象的访问信息识别热点数据,具体为:根据所述 数据对象的访问信息,基于热点数据的判别函数识别热点数据,所述热点数据的判别函数 为:
[0009]get_topk(db,K,time);
[0010] 其中,db是监控数据库,K是访问次数排名,time是计算访问次数的起始时间;所 述判别函数,表示在监控数据库db中取得从time时间点到当前时间内,访问次数排名前K 的热点数据,函数的返回值是访问次数排名前K的热点数据的集合。
[0011] 进一步地,所述高速存储器分别设置热点数据的过期时间,具体为:将时间划分 为时间槽I1MESL0T,一个HMESL0T为一个执行调度的周期;对进入高速存储器的热点数 据分别设置默认的过期时间,所述默认的过期时间为当前时间加上T个TIMESLOT;每个HMESL0T中数据的重复率均为λ(1彡λ彡〇),则T个HMESL0T后,高速存储器中保有的 热点数据数量为(1-λ)ΧΤΧΚ;对带有η次访问次数的数据对象,会将过期时间延后1 (1 =f(n), 1eΝ)个HMESL0T。
[0012] 进一步地,所述调度器根据所述过期时间进行热点数据的调度,具体为:所述调度 器根据所述过期时间,基于调度函数进行热点数据的调度,所述调度函数为:
[0013]get_swapout(schedule,count);
[0014] 其中,schedule为高速存储器中的热点数据表,count为需要调度出高速存储 器的热点数据的计数;所述调度函数,表示在高速存储器的热点数据表schedule中取得 count个热点数据被调度出高速存储器,函数的返回值是count个被调度出热点数据的集 合。
[0015] 进一步地,所述基于调度函数进行热点数据的调度,具体为:初始化高速存储器, 将高速存储器中的schedule集合置空,并计算存储系统可容纳的最大热点数据数目,记 为volume;记录当前时间time;通过判别函数从监控数据库中取得上一个TIMESLOT中访 问排名前K的热点数据集合,记为volunteer,所述热点数据集合中热点数据的过期时间 应为time+[T+f(n)]XHMESL0T,其中T为默认的推迟时间,η为数据的访问次数;取出 在volunteer中且不在schedule中的部分,记为insert集合,将所述insert集合并入 schedule集合;取出volunteer和schedule的交集,记为refresh集合,将所述refresh 集合中的热点数据进行过期时间的推迟;刷新schedule中需要进行过期时间更新的热点 数据,将所述更新的热点数据的过期时间根据访问次数进行推迟;统计schedule中过期的 数据,放入删除delete集合;计算完成新数据的加入和过期数据的删除后,如果schedule 表的长度超过磁盘容量volume,则进行热点数据的调度,将需要换出的热点数据并入 swapout集合;将delete集合中的热点数据从高速存储器中删除后,再将delete集合中 的热点数据从schedule中删除;将insert集合中的热点数据并入高速存储器后,再将 insert集合中的热点数据并入schedule中;每隔TIMESLOT执行一次热点数据的调度。
[0016] 本发明还提供了一种用于存储系统的热点数据识别和调度系统,包括:收集器, 用于收集存储系统中数据对象的访问信息,并将所述数据对象的访问信息发送给监控数据 库;调度器,用于从所述监控数据库获取数据对象的访问信息,根据所述数据对象的访问信 息识别热点数据,并将所述热点数据写入存储系统的高速存储器中;所述高速存储器,用于 分别设置热点数据的过期时间,调度器根据所述过期时间进行热点数据的调度。
[0017] 进一步地,所述系统还包括:监视器和消息队列;所述收集器通过监控数据库获 取历史的数据对象的访问信息,通过消息队列获取实时的数据对象的访问信息,其中所述 消息队列的实时的数据对象的访问信息来自从监视器订阅的实时系统监测数据。
[0018] 进一步地,所述调度器基于热点数据的判别函数识别热点数据,所述热点数据的 判别函数为:
[0019]get_topk(db,K,time);
[0020] 其中,db是监控数据库,K是访问次数排名,time是计算访问次数的起始时间;所 述判别函数,表示在监控数据库db中取得从time时间点到当前时间内,访问次数排名前K 的热点数据,函数的返回值是访问次数排名前K的热点数据的集合。
[0021] 进一步地,所述高速存储器将时间划分为时间槽HMESL0T,一个HMESL0T为 一个执行调度的周期;对进入高速存储器的热点数据分别设置默认的过期时间,所述 默认的过期时间为当前时间加上T个HMESL0T;每个HMESL0T中数据的重复率均为 λ(1彡λ彡〇),则T个HMESL0T后,高速存储器中保有的热点数据数量为(Ι-λ)ΧΤΧΚ; 对带有η次访问次数的数据对象,会将过期时间延后1(1 =f(η),1eΝ)个HMESL0T。
[0022] 进一步地,所述调度器基于调度函数进行热点数据的调度,所述调度函数为:
[0023]get_swapout(schedule,count);
[
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1