[发明专利]一种缓解磁盘读取瓶颈的数据读取的方法及系统有效
申请号: | 201210213074.4 | 申请日: | 2012-06-21 |
公开(公告)号: | CN102904923A | 公开(公告)日: | 2013-01-30 |
发明(设计)人: | 鲁冬林;董博 | 申请(专利权)人: | 华数传媒网络有限公司;北京东方网信科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京法思腾知识产权代理有限公司 11318 | 代理人: | 杨小蓉;杨青 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓解 磁盘 读取 瓶颈 数据 方法 系统 | ||
技术领域
本发明涉及一种解决多线程并发读取多个文件时造成操作系统的CPU的wa值高导致的磁盘IO瓶颈影响服务吐出流量的算法,适用于网络文件发送服务的CPU,特别适用于采用P2P协议提供小块数据发送服务的应用场景中的网络文件发送服务器的CPU,本发明方案采用多线程并发读取多文件的方法及系统,即本发明提供了一种缓解磁盘读取瓶颈的数据读取的方法及系统。
背景技术
网络文件发送服务器是指缓存系统中用于提供数据推送服务的设备,网络文件发送服务是指面向互联网终端用户,通过互联网传输通路作为数据传输媒介,提供文件下载和视频点播等数据发送的服务,且现有技术的网络文件的发送服务方法的具体流程为:首先,用于终端请求数据;然后,网络文件发送服务器接收请求,且其包含的数据发送服务程序从磁盘上将用户请求的数据调入内存或者不调入内存等待用户读取;最后,终端用户接收网络文件发送服务器下发的数据。由于网络文件发送服务的源文件是海量数据,不同终端用户的消费口味和习惯各不相同,因此网络文件发送服务程序接收到的数据下载请求是频繁并且分散的。为了提高数据发送服务程序的数据请求处理和数据发送服务能力,通用的做法是数据发送服务程序采用多线程机制,服务程序采用多线程机制后虽然在处理数据请求上的效率得到了很大的提升,但是由此也带来了数据发送服务程序在同一块磁盘上并发读取多个文件的问题。终端用户的数据请求一般都是小块数据,并且请求非常频繁并且请求的数据比较分散,当一块磁盘上同时存在很多这样的请求时,将会导致提供文件发送服务的操作系统调度磁盘读写操作出现瓶颈,表现为文件发送服务的操作系统的CPU的wa值很高,当系统的CPU的wa值高了以后,磁盘数据将不能被及时获取,自然也不可能将数据及时发送给终端用户,从而造成服务流量的下降。数据不能及时返回给终端用户,又会导致用户新的数据请求不能及时发送给数据发送服务程序,进一步影响到数据发送服务程序的服务吐出流量。
基于以上背景,本发明提出一种解决多线程并发读取多个文件时造成磁盘IO瓶颈的算法,这种方法的基本思想是充分利用网络文件发送服务器的操作系统的物理内存,将网络文件发送服务器的磁盘上的数据调度到物理内存中(其中,内存分为物理内存和虚拟内存,物理内存是指内存硬件提供的内存;虚拟内存是操作系统利用磁盘虚拟的内存,相比之下,物理内存要比虚拟内存快很多。本发明中提到的内存均指物理内存。),同时充分利用磁盘数据读取操作的空闲时间,采取智能预测算法将终端用户尚未请求的数据提前从磁盘上调度到物理内存中。通过使用这种方法,一方面通过智能预测机制,使终端用户可以在发送数据请求时直接命中内存中其所需数据,数据发送服务程序可以立即响应用户的数据请求,从而提高系统的服务能力,同时可以提升用户的使用体验;另一方面用户的数据请求直接命中内存后,可以减少磁盘读取的系统操作,达到进一步降低磁盘IO瓶颈的目的。
发明内容
本发明的目的在于,一方面可以克服网络文件发送服务器采用多线程并发读取多个文件时由于频繁移动磁头造成的磁盘读取操作过频的问题;另一方面可以克服现有技术在磁盘数据读取操作的空闲时间过多的问题,从而提供一种多线程并发读取多文件的方法及系统,即本发明提供一种缓解磁盘读取瓶颈的数据读取的方法及系统。
本发明的技术方案可以有效解决网络文件发送服务器采用多线程并发读取多个文件时造成的磁盘IO瓶颈问题。
为了更加清晰的描述本发明的技术方案,做出如下注释:将用户每次实际请求的数据大小定义为一个数据块;将N倍于用户请求数据量的数据定义为“预存数据块序列”;将采用智能预测算法预测的要存入内存中的数据称为预测数据块序列;将所述预存数据块序列和预测数据块序列统称为预存数据。其中,预测数据块序列与预存数据块序列的长度相同。
为了实现第一方面目的,本发明提供了一种缓解磁盘读取瓶颈的数据读取的方法,该方法用于网络文件发送服务器处理用户的P2P类型的数据请求,所述方法包含:
步骤101)用户向网络文件发送服务器发出数据块请求;
步骤102)网络文件发送服务器将N倍于用户请求数据块长度的包含该数据块的预存数据块序列从磁盘存入内存中;
步骤103)网络文件发送服务器通过内存命中用户所需的数据块,并向用户发送该数据块;
其中,N为大于1的正整数。
上述技术方案中,步骤102)进一步包含:
步骤102-1)用于确定用户请求的数据块在网络文件发送服务器的磁盘文件中的存储位置K的步骤,其中K为在所述文件中的相对排序值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华数传媒网络有限公司;北京东方网信科技股份有限公司,未经华数传媒网络有限公司;北京东方网信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210213074.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种DC-DC变换器的混合控制方法
- 下一篇:一体化滤波单元及四象限变频器