云虚拟文件系统及其输入/输出请求处理方法_2

文档序号:8487789阅读:来源:国知局
请求。
[0048]优选地,所述确定单元所确定的I/O请求的类型包括:大数据块I/O连续读请求、大数据块I/o连续写请求、大数据块I/O随机读请求、大数据块I/O随机写请求、小数据块I/o连续读请求、小数据块I/O连续写请求;
[0049]相应地,所述调用单元,还用于当所述确定的I/O请求的类型为以下类型任意之一时:
[0050]大数据块I/O连续读请求;大数据块I/O连续写请求;小数据块I/O连续读请求;小数据块I/O连续写请求;
[0051]调用所述基于块设备的本地文件系统响应所述I/O请求;
[0052]当所述确定的I/O请求为以下类型任意之一时:
[0053]数据块I/O随机读请求;大数据块I/O随机写请求;
[0054]调用所述分布式文件系统响应所述I/O请求。
[0055]优选地,所述接收单元接收的I/O请求携带READ参数或WRITE参数、以及BUFFER参数;
[0056]相应地,所述确定单元,还用于当所述I/O请求携带READ参数时,确定所述I/O请求为I/O读请求,当所述I/O请求携带WRITE参数时,确定所述I/O请求为I/O写请求;
[0057]当所述BUFFER参数超过预设阈值时,确定所述I/O请求为大数据块I/O请求;当所述BUFFER参数未超过预设阈值时,确定所述I/O请求为小数据块I/O请求;
[0058]当所述I/O请求与I/O请求队列中相邻的I/O请求均携带READ参数时,若所述I/O请求与I/O请求队列中相邻的I/O请求读磁盘的位置连续,则确定所述I/O请求为I/O连续读请求,若所述I/O请求与I/O请求队列中相邻的I/O请求读磁盘的位置不连续,则确定所述I/o请求为I/O随机读请求;
[0059]当所述I/O请求与I/O请求队列中相邻的I/O请求均携带WRITE参数时,若所述I/O请求与I/O请求队列中相邻的I/O请求写磁盘的位置连续,则确定所述I/O请求为I/O连续写请求,若所述I/O请求与I/O请求队列中相邻的I/O请求写磁盘的位置不连续,则确定所述I/o请求为I/O随机写请求。
[0060]优选地,所述确定单元,还用于当所述I/O请求携带WRITE参数时,确定存在与所述I/o请求对应的文件索引节点,触发所述调用单元;当不存在与所述I/O请求对应的文件索引节点时,创建与所述I/o请求对应的文件索引节点,触发所述调用单元。
[0061]优选地,所述调用单元,还用于当所述确定单元确定所述I/O请求的类型未与所述类型匹配时,调用所述分布式文件系统响应所述I/o请求。
[0062]本发明实施例提供的技术方案,采用块设备和HDFS文件系统结合的方式,来响应教育云中大数据块I/O读写请求等不同类型的I/O请求,适合教育云I/O请求的负载特征,显著提高了教育云中的I/o响应性能。
【附图说明】
[0063]图1为相关技术中GFS/HDFS常见的架构示意图;
[0064]图2为相关技术中FC-SAN的架构示意图;
[0065]图3为本发明实施例中教育云平台中I/O请求类型示意图;
[0066]图4为本发明实施例中I/O请求处理方法的实现流程示意图;
[0067]图5为本发明实施例中I/O请求处理系统的组成结构示意图;
[0068]图6为本发明实施例中云虚拟文件系统的位置示意图;
[0069]图7为本发明实施例中Cloud-VFS通过调用HDFS处理教育云应用系统I/O请求的实现架构示意图;
[0070]图8为本发明实施例中云虚拟文件系统通过调用HDFS响应I/O读请求的实现流程不意图;
[0071]图9为本发明实施例中云虚拟文件系统调用基于块设备的本地文件系统响应I/O请求的实现流程示意图;
[0072]图10为本发明实施例中云虚拟文件系统的功能架构示意图。
【具体实施方式】
[0073]在实施本发明的过程中,发明人发现,教育云平台上存在三种典型的I/O请求类型,如图3所示,包括:1)大数据块I/O写请求,对应电子课件处理等业务;2)大数据块I/O写请求,对应在线阅读、电子图书等业务;3)小数据I/O连续读写请求,对应的业务包括:上网浏览、日志处理。
[0074]并且,发明人进一步发现,由于块存储设备具有提供高速I/O的能力,可以用来处理教育云中大数据块I/O连续读写请求、以及小数据块I/O连续读写请求;分布式文件系统具有高可扩展性及多副本能力,保证了数据的可靠性,适合处理教育云中大数据块I/o随机读写请求、以及小数据块I/o随机读写请求。因此,如果能够块存储设备和分布式文件系统结合,那么就能够满足教育云的各种I/o请求的性能要求,同时可以对块设备和分布式文件系统实现兼容。
[0075]下面结合附图及具体实施例对本发明作进一步详细说明。
[0076]本发明实施例记载一种I/O请求处理方法,应用于云虚拟文件系统中;所述云虚拟文件系统设置于云应用系统和分布式文件系统之间、以及所述云应用系统和基于块设备的本地文件系统之间;图4为本发明实施例中I/O请求处理方法的实现流程示意图,如图4所示,包括以下步骤:
[0077]步骤401,所述云虚拟文件系统接收所述云应用系统发送的I/O请求。
[0078]步骤402,根据所述I/O请求携带的参数、以及所述I/O请求所请求读磁盘或写磁盘的位置,确定所述I/O请求的类型。
[0079]步骤403,根据所确定的I/O请求的类型,调用所述分布式文件系统响应所述I/O请求、或调用所述基于块设备的本地文件系统响应所述I/O请求。
[0080]其中,所述I/O请求的类型包括:大数据块I/O连续读请求、大数据块I/O连续写请求、大数据块I/o随机读请求、大数据块I/O随机写请求、小数据块I/O连续读请求、小数据块I/o连续写请求;
[0081]相应地,所述根据所确定的I/o请求的类型,调用所述分布式文件系统响应所述I/O请求、或调用所述基于块设备的本地文件系统响应所述I/O请求,包括:
[0082]当所确定的I/O请求的类型为以下类型任意之一时:
[0083]大数据块I/O连续读请求;大数据块I/O连续写请求;小数据块I/O连续读请求;小数据块I/o连续写请求;
[0084]调用所述基于块设备的本地文件系统响应所述I/O请求;
[0085]当所确定的I/O请求为以下类型任意之一时:
[0086]数据块I/O随机读请求;大数据块I/O随机写请求;
[0087]调用所述分布式文件系统响应所述I/O请求。
[0088]其中,所述I/O请求携带读(READ)参数或写(WRITE)参数、以及缓存(BUFFER)参数;
[0089]相应地,所述根据所述I/O请求携带的参数、以及所述I/O请求所请求读磁盘或写磁盘的位置,确定所述I/o请求的类型,包括:
[0090]当所述I/O请求携带READ参数时,确定所述I/O请求为I/O读请求,当所述I/O请求携带WRITE参数时,确定所述I/O请求为I/O写请求;
[0091]当所述BUFFER参数超过预设阈值时,确定所述I/O请求为大数据块I/O请求;当所述BUFFER参数未超过预设阈值时,确定所述I/O请求为小数据块I/O请求;
[0092]当所述I/O请求与I/O请求队列中相邻的I/O请求均携带READ参数时,若所述I/O请求与I/O请求队列中相邻的I/O请求读磁盘的位置连续,则确定所述I/O请求为I/O连续读请求,若所述I/O请求与I/O请求队列中相邻的I/O请求读磁盘的位置不连续,则确定所述I/o请求为I/O随机读请求;
[0093]当所述I/O请求与I/O请求队列中相邻的I/O请求均携带WRITE参数时,若所述I/O请求与I/O请求队列中相邻的I/O请求写磁盘的位置连续,则确定所述I/O请求为I/O连续写请求,若所述I/O请求与I/O请求队列中相邻的I/O请求写磁盘的位置不连续,则确定所述I/o请求为I/O随机写请求。
[0094]其中,当所述I/O请求携带WRITE参数,所述调用所述分布式文件系统响应所述I/O请求、或调用所述基于块设备的本地文件系统响应所述I/O请求之前,所述方法还包括:
[0095]确定存在与所述I/O请求对应的文件索引节点;
[0096]相应地,当不存在与所述I/O请求对应的文件索引节点时,所述方法还包括:
[0097]创建与所述I/O请求对应的文件索引节点。
[0098]其中,当所述I/O请求未与所述I/O请求的类型匹配时,所述方法还包括:调用所述分布式文件系统响应所述I/O请求。
[0099]当未与所述I/O请求的类型匹配时,所述I/O请求可能为小数据块I/O随机读请求、或小数据块I/o随机写请求,对于上述两种类型的I/O请求,利用分布式文件系统响应,以对应进行并行度或并行写,能够明显提高云虚拟文件系统的I/o性能。
[0100]为实施上述的I/O请求处理方法,本发明实施例还记载一种云虚拟文件系统,所述云虚拟文件系统设置于云应用系统和分布式文件系统之间、以及所述云应用系统和基于块设备的本地文件系统之间;图5为本发明实施例中云虚拟文件系统的组成结构示意图,如图5所示,包括:
[0101]接收单元51,用于接收所述
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1