云存储客户端多路恒定速率io缓存的构建方法及装置的制造方法_3

文档序号:9667078阅读:来源:国知局
r>[0091] 所述第一释放模块300,用于确定缓存值大于所述第一缓存阈值的文件所对应的 第一缓存节点,并按照第一预定替换规则释放所述第一缓存节点中的第一预存文件;
[0092] 第二判断模块400,用于判断所述多个文件的总缓存值是否大于第二缓存阈值; 其中,所述第二缓存阈值为云存储客户端的总缓存阈值;
[0093] 若是,则触发第二释放模块500 ;
[0094] 所述第二释放模块500,用于按照第二预定规则释放第二缓存节点中的第二预存 文件。
[0095] 本发明实施例提供的一种云存储客户端多路恒定速率10缓存的构建装置,包括: 写入模块100,用于将多个文件并行写入相应的目标缓存节点中;第一判断模块200,用于 判断每个文件的缓存值是否大于第一缓存阈值;其中,所述第一缓存阈值为动态获得的每 个节点的缓存阈值;若是,则触发第一释放模块300 ;所述第一释放模块300,用于确定缓存 值大于所述第一缓存阈值的文件所对应的第一缓存节点,并按照第一预定替换规则释放所 述第一缓存节点中的第一预存文件;第二判断模块400,用于判断所述多个文件的总缓存 值是否大于第二缓存阈值;其中,所述第二缓存阈值为云存储客户端的总缓存阈值;若是, 则触发第二释放模块500 ;所述第二释放模块500,用于按照第二预定规则释放第二缓存节 点中的第二预存文件。可见,本实施例通过将多个文件并行写入相应的目标缓存节点中,并 通过将缓存节点中的预存文件按照预定规则进行替换,构建了高效的缓存,能对每个文件 的10进行并发控制和缓存。
[0096] 优选的,所述第一释放模块300,包括:
[0097] 第一释放单元310,用于根据LRU算法,确定所述第一缓存节点的双向循环链表中 尾部的预存文件为所述第一预存文件,并释放所述第一预存文件的数据块;
[0098] 第二释放单元320,用于计算所述第一缓存节点中预存文件的保留度,确定保留度 最小的预存文件为所述第一预存文件,并释放所述第一预存文件的数据块。
[0099] 优选的,所述第二释放模块500,包括:
[0100] 第三释放单元510,用于根据LRU算法,确定所有缓存节点的双向循环链表中的尾 部的预存文件为所述第二预存文件,并释放所述第二预存文件的数据块;
[0101] 第四释放单元520,用于计算所有缓存节点中预存文件的保留度,确定保留度最小 的预存文件为所述第二预存文件,并释放所述第二文件的数据块。
[0102] 优选的,所述构建装置包括保留度计算模块;其中,所述保留度计算模块包括:
[0103] 第一计算单元,用于根据预存文件的最近访问时间和访问频率,计算第一参数;
[0104] 第二计算单元,用于根据预存文件所占内存值,计算第二参数;其中,所述第二参 数与预存文件所占内存值成反比;
[0105] 第三计算单元,用于根据所述第一参数和所述第二参数,计算所述保留度。
[0106] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0107] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【主权项】
1. 一种云存储客户端多路恒定速率10缓存的构建方法,其特征在于,包括: 将多个文件并行写入相应的目标缓存节点中; 判断每个文件的缓存值是否大于第一缓存阈值;其中,所述第一缓存阈值为动态获得 的每个节点的缓存阈值; 若是,则确定缓存值大于所述第一缓存阈值的文件所对应的第一缓存节点,并按照第 一预定替换规则释放所述第一缓存节点中的第一预存文件; 判断所述多个文件的总缓存值是否大于第二缓存阈值;其中,所述第二缓存阈值为云 存储客户端的总缓存阈值; 若是,则按照第二预定规则释放第二缓存节点中的第二预存文件。2. 根据权利要求1所述的构建方法,其特征在于,所述确定缓存值大于所述第一缓存 阈值的文件所对应的第一缓存节点,并按照第一预定替换规则释放所述第一缓存节点中的 第一预存文件,包括: 根据LRU算法,确定所述第一缓存节点的双向循环链表中尾部的预存文件为所述第一 预存文件,并释放所述第一预存文件的数据块;和/或, 计算所述第一缓存节点中预存文件的保留度,确定保留度最小的预存文件为所述第一 预存文件,并释放所述第一预存文件的数据块。3. 根据权利要求1所述的构建方法,其特征在于,所述按照第二预定规则释放第二缓 存节点中的第二预存文件,包括: 根据LRU算法,确定所有缓存节点的双向循环链表中的尾部的预存文件为所述第二预 存文件,并释放所述第二预存文件的数据块;和/或, 计算所有缓存节点中预存文件的保留度,确定保留度最小的预存文件为所述第二预存 文件,并释放所述第二文件的数据块。4. 根据权利要求2-3中任意一项所述的构建方法,其特征在于,保留度的计算方法,包 括: 根据预存文件的最近访问时间和访问频率,计算第一参数; 根据预存文件所占内存值,计算第二参数;其中,所述第二参数与预存文件所占内存值 成反比; 根据所述第一参数和所述第二参数,计算所述保留度。5.-种云存储客户端多路恒定速率10缓存的构建装置,其特征在于,包括: 写入模块,用于将多个文件并行写入相应的目标缓存节点中; 第一判断模块,用于判断每个文件的缓存值是否大于第一缓存阈值;其中,所述第一缓 存阈值为动态获得的每个节点的缓存阈值; 若是,则触发第一释放模块; 所述第一释放模块,用于确定缓存值大于所述第一缓存阈值的文件所对应的第一缓存 节点,并按照第一预定替换规则释放所述第一缓存节点中的第一预存文件; 第二判断模块,用于判断所述多个文件的总缓存值是否大于第二缓存阈值;其中,所述 第二缓存阈值为云存储客户端的总缓存阈值; 若是,则触发第二释放模块; 所述第二释放模块,用于按照第二预定规则释放第二缓存节点中的第二预存文件。6. 根据权利要求5所述的构建装置,其特征在于,所述第一释放模块,包括: 第一释放单元,用于根据LRU算法,确定所述第一缓存节点的双向循环链表中尾部的 预存文件为所述第一预存文件,并释放所述第一预存文件的数据块; 第二释放单元,用于计算所述第一缓存节点中预存文件的保留度,确定保留度最小的 预存文件为所述第一预存文件,并释放所述第一预存文件的数据块。7. 根据权利要求5所述的构建装置,其特征在于,所述第二释放模块,包括: 第三释放单元,用于根据LRU算法,确定所有缓存节点的双向循环链表中的尾部的预 存文件为所述第二预存文件,并释放所述第二预存文件的数据块; 第四释放单元,用于计算所有缓存节点中预存文件的保留度,确定保留度最小的预存 文件为所述第二预存文件,并释放所述第二文件的数据块。8. 根据权利要求6-7中任意一项所述的构建装置,其特征在于,所述构建装置包括保 留度计算模块;其中,所述保留度计算模块包括: 第一计算单元,用于根据预存文件的最近访问时间和访问频率,计算第一参数; 第二计算单元,用于根据预存文件所占内存值,计算第二参数;其中,所述第二参数与 预存文件所占内存值成反比; 第三计算单元,用于根据所述第一参数和所述第二参数,计算所述保留度。
【专利摘要】本发明实施例公开了一种云存储客户端多路恒定速率IO缓存的构建方法及装置,包括:将多个文件并行写入相应的目标缓存节点中;判断每个文件的缓存值是否大于第一缓存阈值;若是,则确定缓存值大于所述第一缓存阈值的文件所对应的第一缓存节点,并按照第一预定替换规则释放所述第一缓存节点中的第一预存文件;判断所述多个文件的总缓存值是否大于第二缓存阈值;若是,则按照第二预定规则释放第二缓存节点中的第二预存文件,可见,本实施例通过将多个文件并行写入相应的目标缓存节点中,并通过将缓存节点中的预存文件按照预定规则进行替换,构建了高效的缓存,能对每个文件的IO进行并发控制和缓存。
【IPC分类】G06F3/06
【公开号】CN105426126
【申请号】CN201510766088
【发明人】李 杰
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2016年3月23日
【申请日】2015年11月11日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1