本发明专利技术公开了一种文件预读的方法和装置,属于文件操作领域。所述方法包括:监听操作文件的请求;跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系;检测预读文件得到文件流信息,以文件为单位对请求进行划分得到用户流信息;根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组;根据建立的所述三元组执行预读文件的操作。所述装置包括:监听模块、跟踪模块、关联分析模块和预读处理模块。本发明专利技术实现了用户级别的文件预读,提高了预读的准确性,无需依赖上层应用,降低了局限性。
【技术实现步骤摘要】
本专利技术涉及文件操作领域,特别涉及一种文件预读的方法和装置。
技术介绍
文件共享是服务器重要的功能。通过文件共享,有访问权限的用户可以随时访问文件。共享文件读写性能越好,用户工作的效率越高,越能发挥文件的价值。常见的文件共享方法有CIFS (Common Internet File System,通用因特网文件系统)/SMB (ServerMessage Block,服务消息块)共享目录形式,FTP (File Transfer Protocol,文件传输协议)上传下载,HTTP (Hypertext transfer protocol,超文本传输协议)下载,emuIe (电驴)共享等,其基本技术模型是在服务端为每个客户端建立一个子进程或子线程,通过新的子进程、子线程为客户端提供服务。但是,磁盘随机读写时,由于寻道时间较长,实际传输速度极少达到峰值。为了达到较高的1/0 (Input Output,输入输出)带宽,文件系统读取通常采用预读取算法,预测即将访问的文件块,并提前把它们批量读入内存缓存,从而改善I/O性能。现有的文件系统通常有两种预读方法。一种是启发性的预读方法(heuristicprefetching),另一种是知情的预读方法(informed prefetching)。启发性预读是在文件系统层分析文件系统缓存页的特征,将当前请求的页与刚刚过去的一个时间段内的页对t匕,从而发现文件读写的特征,比如顺序读写、每次读写的块大小、读写比例、顺序读与随机读的比例等,然后根据该特征进行预读。知情的预读通过使用预读API (ApplicationProgramming Interface,应用程序编程接口),由上层应用程序给予文件系统明确的预读指示,文件系统根据该预读指示进行预读。但是,启发性预读对算法的要求较高,存在命中率的问题,会有预测的结果不准确的问题。知情的预读需要调用API,对上层应用依赖严重,使用比较受限,具有局限性。
技术实现思路
为了提高文件预读的准确性,降低局限性,本专利技术提供了一种文件预读的方法和装置。所述技术方案如下:第一方面,本专利技术提供了一种文件预读的方法,包括:监听操作文件的请求;跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系;检测预读文件得到文件流信息,以文件为单位对请求进行划分得到用户流信息;根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组; 根据建立的所述三元组执行预读文件的操作。结合第一方面,第一方面的第一种实施方式下,跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系,包括:根据所述请求获取用户信息;跟踪读写文件的进程,确定为所述请求服务的进程,以及所述进程处理的文件;根据所述用户信息和确定的所述进程,建立用户与进程的对应关系;根据确定的所述进程处理的文件,建立进程与文件的对应关系。结合第一方面,第一方面的第二种实施方式下,根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组,包括:获取所述文件流的读写特征,以及所述用户流的读写特征;比较所述文件流的读写特征和所述用户流的读写特征,找出读写特征匹配的文件流和用户流;根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组。结合第一方面,第一方面的第三种实施方式下,所述方法还包括:对于读写特征不匹配的文件流和用户流,按照用户流的读写特征,对不匹配的文件流进行修正。结合上述第三种实施方式,第一方面的第四种实施方式下,对于读写特征不匹配的文件流和用户流,按照用户流的读写特征,对不匹配的文件流进行修正,包括:对于读写特征不匹配的文件流和用户流,如果根据用户流确定某一文件对应的用户数目小于该文件的文件流数目,则对该文件的文件流进行合并处理;如果根据用户流确定某一文件对应的用户数目大于该文件的文件流数目,则对该文件的文件流进行拆分处理。结合第一方面,第一方面的第五种实施方式下,所述方法还包括:解析当前监听到的所述请求,获取用户操作文件的命令;当所述命令完成时,将所述三元组中所述用户及文件的对应项删除。结合第一方面,第一方面的第一种、第二种、第三种、第四种、第五种实施方式中的任一种,第一方面的第六种实施方式下,所述方法还包括:在建立所述三元组之后,当监听到的请求达到指定的次数或时长后,重新检测预读文件得到文件流信息,并重新以文件为单位对请求进行划分得到用户流信息;根据重新检测得到的文件流信息和重新划分得到的用户流信息对所述三元组进行更新。第二方面,本专利技术还提供了一种文件预读的装置,包括:监听模块,用于监听操作文件的请求;跟踪模块,用于跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系;关联分析模块,用于检测预读文件得到文件流信息,以文件为单位对请求进行划分得到用户流信息;根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组;预读处理模块,用于根据建立的所述三元组执行预读文件的操作。结合第二方面,第二方面的第一种实施方式下,所述跟踪模块用于:根据所述请求获取用户信息;跟踪读写文件的进程,确定为所述请求服务的进程,以及所述进程处理的文件;根据所述用户信息和确定的所述进程,建立用户与进程的对应关系;根据确定的所述进程处理的文件,建立进程与文件的对应关系。结合第二方面,第二方面的第二种实施方式下,所述关联分析模块用于:获取所述文件流的读写特征,以及所述用户流的读写特征;比较所述文件流的读写特征和所述用户流的读写特征,找出读写特征匹配的文件流和用户流;根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组。结合第二方面,第二方面的第三种实施方式下,所述关联分析模块还包括:修正单元,用于对于读写特征不匹配的文件流和用户流,按照用户流的读写特征,对不匹配的文件流进行修正。结合上述第三种实施方式,第二方面的第四种实施方式下,所述修正单元用于:对于读写特征不匹配的文件流和用户流,如果根据用户流确定某一文件对应的用户数目小于该文件的文件流数目,则对该文件的文件流进行合并处理;如果根据用户流确定某一文件对应的用户数目大于该文件的文件流数目,则对该文件的文件流进行拆分处理。结合第二方面,第二方面的第五种实施方式下,所述关联分析模块还用于:解析当前监听到的所述请求,获取用户操作文件的命令;当所述命令完成时,将所述三元组中所述用户及文件的对应项删除。结合第二方面,第二方面的第一种、第二种、第三种、第四种、第五种实施方式中的任一种,第二方面的第六种实施方式下,所述关联分析模块还用于:在建立所述三元组之后,当监听到的请求达到指定的次数或时长后,重新检测预读文件得到文件流信息,并重新以文件为单位对请求进行划分得到用户流信息;根据重新检测得到的文件流信息和重新划分得到的用户流信息对所述三元组进行更新。本专利技术提供的技术方案带来的有益效果是:通过监听操作文件的请求,跟踪读写文件的进程,获取用户与进本文档来自技高网...
【技术保护点】
一种文件预读的方法,其特征在于,所述方法包括:监听操作文件的请求;跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系;检测预读文件得到文件流信息,以文件为单位对请求进行划分得到用户流信息;根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组;根据建立的所述三元组执行预读文件的操作。
【技术特征摘要】
1.一种文件预读的方法,其特征在于,所述方法包括: 监听操作文件的请求; 跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系; 检测预读文件得到文件流信息,以文件为单位对请求进行划分得到用户流信息; 根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组; 根据建立的所述三元组执行预读文件的操作。2.根据权利要求1所述的方法,其特征在于,跟踪读写文件的进程,获取用户与进程的对应关系,以及进程与文件的对应关系,包括: 根据所述请求获取用户信息; 跟踪读写文件的进程,确定为所述请求服务的进程,以及所述进程处理的文件; 根据所述用户信息和确定的所述进程,建立用户与进程的对应关系; 根据确定的所述进程处理的文件,建立进程与文件的对应关系。3.根据权利要求1所述的方法,其特征在于,根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组,包括: 获取所述文件流的读写特征,以及所述用户流的读写特征; 比较所述文件流的读写特征和所述用户流的读写特征,找出读写特征匹配的文件流和用户流; 根据所述用户与进程的对应关系,以及进程与文件的对应关系,为读写特征匹配的文件流和用户流建立用户、进程和文件的三元组。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 对于读写特征不匹配的文件流和用户流,按照用户流的读写特征,对不匹配的文件流进行修正。5.根据权利要求4所述的方法,其特征在于,对于读写特征不匹配的文件流和用户流,按照用户流的读写特征,对不匹配的文件流进行修正,包括: 对于读写特征不匹配的文件流和用户流,如果根据用户流确定某一文件对应的用户数目小于该文件的文件流数目,则对该文件的文件流进行合并处理;如果根据用户流确定某一文件对应的用户数目大于该文件的文件流数目,则对该文件的文件流进行拆分处理。6.根据权利要求1所述的方法,其特征在于,所述方法还包括: 解析当前监听到的所述请求,获取用户操作文件的命令; 当所述命令完成时,将所述三元组中所述用户及文件的对应项删除。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括: 当监听到的请求达到指定的次数或时长后,重新检测预读文件得到文件流信息,并重新以文件为单位对请求进行划分得到用户流信息; 根据重新检测得...
【专利技术属性】
技术研发人员:高文强,彭贵平,佟强,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。