[发明专利]基于双缓存预读的向用户传输数据的方法和装置有效
申请号: | 201110357612.2 | 申请日: | 2011-11-11 |
公开(公告)号: | CN102426553A | 公开(公告)日: | 2012-04-25 |
发明(设计)人: | 李俊;韩坤鹏;马书超 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;黄晓军 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 缓存 用户 传输 数据 方法 装置 | ||
1.一种基于双缓存预读的向用户传输数据的方法,其特征在于,包括:
创建多组双缓存,为每个用户分配一组双缓存,所述一组双缓存中包括工作缓存和空闲缓存,用于存储为该用户预读取的数据;
创建多个处理线程,每个处理线程分别负责指定磁盘的数据读取,并且为指定的用户服务;
每个所述处理线程针对其所服务的每个用户,通过为每个用户分配的一组双缓存中的工作缓存向每个用户传输数据,在所述工作缓存中缓存的数据传输完毕后,控制进行所述工作缓存和空闲缓存之间的切换。
2.根据权利要求1所述的基于双缓存预读的向用户传输数据的方法,其特征在于,所述的方法还包括:
基于每个磁盘的数据预读取操作均衡化和/或在整个系统空闲时进行磁盘数据预读取的原则设置空闲缓存填充策略,所述空闲缓存填充策略还需要保证在进行下一次工作缓存和空闲缓存之间的切换之前,完成空闲缓存的填充操作;
每个所述处理线程针对其所服务的每个用户,按照所述空闲缓存填充策略对每个用户的空闲缓存进行磁盘数据预读取、数据填充操作。
3.根据权利要求1所述的基于双缓存预读的向用户传输数据的方法,其特征在于,所述的每个所述处理线程针对其所服务的每个用户,按照所述空闲缓存填充策略对每个用户的空闲缓存进行磁盘数据预读取、数据填充操作,包括:
当所述空闲缓存填充策略为随机填充式策略时,每个所述处理线程针对其所服务的每个用户,在上一次工作缓存和空闲缓存之间的切换时间T1之后,为每个用户设置一个在下一次工作缓存和空闲缓存之间的切换时间之前的空闲缓存填充的安全时间点T3,在所述T1和所述T3之间,为每个用户随机选择一个空闲缓存的实际填充时间T2;
每个所述处理线程定时遍历其所服务的每个用户,当每个用户的所述实际填充时间T2到来时,为每个用户的空闲缓存进行磁盘数据预读取、数据填充操作。
4.根据权利要求1所述的基于双缓存预读的向用户传输数据的方法,其特征在于,所述的每个所述处理线程针对其所服务的每个用户,按照所述空闲缓存填充策略对每个用户的空闲缓存进行磁盘数据预读取、数据填充操作,包括:
当所述空闲缓存填充策略为状态检测式空闲缓存填充策略时,在上一次工作缓存和空闲缓存之间的切换时间T1之后,每个所述处理线程实时获取整个系统的当前状态,所述当前状态根据整个系统的当前中央处理器占有率和总的硬盘输入输出的平均传输速率而得到,当所述当前状态为空闲时,每个所述处理线程针对其所服务的每个用户进行空闲缓存填充操作;
当每个所述处理线程实时获取的整个系统的当前状态为忙碌时,则停止其所服务的每个用户的空闲缓存填充操作,为每个用户设置一个在下一次工作缓存和空闲缓存之间的切换时间之前的空闲缓存填充的安全时间点T3,在所述T1和所述T3之间,为每个用户随机选择一个空闲缓存的实际填充时间T2;
每个所述处理线程定时遍历其所服务的每个用户,当每个用户的所述实际填充时间T2到来时,为每个用户的空闲缓存进行磁盘数据预读取、数据填充操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110357612.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:牙科用机头的马达控制方法及控制装置
- 下一篇:箱式水冷套及包括其的水冷壁