[发明专利]一种基于异步非阻塞的磁盘文件读写速率控制方法有效
申请号: | 201610998027.3 | 申请日: | 2016-11-14 |
公开(公告)号: | CN106775447B | 公开(公告)日: | 2020-03-27 |
发明(设计)人: | 李桂成 | 申请(专利权)人: | 成都广达新网科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 郭彩红 |
地址: | 610041 四川省成都市高新区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异步 阻塞 磁盘 文件 读写 速率 控制 方法 | ||
1.一种基于异步非阻塞的磁盘文件读写速率控制方法,具体方法为:
S1、创建一个非阻塞套接字,使用select通过该套接字实现一个定时器,为定时器设置一个默认超时时间;
S2、设置文件所在磁盘能够提供的最大稳定读写速率;
S3、设置磁盘文件的读写路径和读写速率,该磁盘文件的读写速率不大于所述最大稳定读写速率;
S4、设置每次读写操作的数据块的大小,并根据所述磁盘文件的读写速率和每次读写操作的数据块的大小,计算得到磁盘文件读写所需要的时间;
S5、根据所设置的磁盘文件的读写路径,以非阻塞方式打开该读写路径中的文件,并将该文件句柄添加到select的事件监视队列中,在工作线程中对磁盘文件读写超时和读写操作完成进行后续处理;
所述方法还包括,根据磁盘能够提供的最大稳定读写速率,和正在进行文件读写操作的所用的速率和,计算该磁盘当前剩余的可用读写速率,以非阻塞方式打开满足条件的其他读写路径中的文件,并将该文件句柄添加到select的事件监视队列中,在工作线程中对磁盘文件读写超时和读写操作完成进行后续处理。
2.根据权利要求1所述的磁盘文件读写速率控制方法,对磁盘文件读写超时进行后续处理的具体方法为:在定时器超时返回时,根据所设定的默认超时时间和计算得到磁盘文件读写所需要的时间,计算并对所述定时器设置下一个所述默认超时时间并进行更新,然后再次执行读写操作。
3.根据权利要求1所述的磁盘文件读写速率控制方法,对读写操作完成进行后续处理的具体方法为:在读写操作完成返回时,根据所设定的默认超时时间和计算得到磁盘文件读写所需要的时间,计算并对所述定时器设置下一个所述默认超时时间并进行更新。
4.根据权利要求1所述的磁盘文件读写速率控制方法,所述磁盘能够提供的最大稳定读写速率通过测试过程预先确定。
5.根据权利要求1所述的磁盘文件读写速率控制方法,所述方法还包括,所述S4中设置每次读写操作的数据块的大小的方法为:根据磁盘的IO特性为磁盘设置一个每次文件读写操作的数据库大小,后续的读写操作不能大于该数据库大小。
6.根据权利要求1所述的磁盘文件读写速率控制方法,所述方法还包括,对磁盘的进行标识,记录每个磁盘能够提供的最大稳定读写速率。
7.根据权利要求4所述的磁盘文件读写速率控制方法,所述方法还包括,在读写操作完成返回时,计算并对定时器设置下一个所述默认超时时间后,等待该默认超时时间到来时再执行下一个文件的读写操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都广达新网科技股份有限公司,未经成都广达新网科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610998027.3/1.html,转载请声明来源钻瓜专利网。