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

文档序号:8487789阅读:414来源:国知局
云虚拟文件系统及其输入/输出请求处理方法
【技术领域】
[0001]本发明涉及数据处理领域,尤其涉及一种云虚拟文件系统系统及其输入/输出请求处理方法。
【背景技术】
[0002]互联网时代的到来,给各种各行带来了新的产业机会或者说产业升级改造的机会,如电视、商务、报纸等等,它们基于互联网平台已经演变为互联网电视、电子商务平台、门户网站等。而云计算是互联网时代的更高级技术,其将各种信息(IT,InformaT1n)资源和存储资源虚拟化,提供软件即服务(SaaS, Software-as-a-Service)、平台即服务(PaaS,Platform-as-a-Service)等服务模式,云计算为更多的产业发展提供了新的思路和模式。
[0003]教育云是互联网时代面向教育领域的云计算平台,教育云通过云计算架构、模式和技术将各种IT资源和存储资源虚拟化,并在教育云上承载各种教育软件或服务,实现学生、家长、培训机构以及教师、学校之间的多边互动的模式。
[0004]目前教育云中通常采用以下四种云存储技术处理输入/输出(1/0,Input/Output)请求:
[0005]I)块存储技术,如基于光纤通道(FC,Fibre Channel)存储局域网络(SAN, StorageArea Network)技术、小型计算机系统接口(iSCSI, Internet Small Computer SystemInterface)技术等;
[0006]2)文件存储技术,如谷歌文件系统(GFS, Google File System)、Hadoop分布式文件系统(HDFS, Hadoop Distributed File System);
[0007]3)表存储技术,如 MYSQL、HBASE ;
[0008]4)对象存储技术如亚马逊的S3存储技术。
[0009]其中,文件存储技术如GFS/HDFS是目前广泛的云计算平台解决方案,GFS为大型应用和集中型数据应用而设计,可以提供快速的数据访问,具有很好的可扩展性、可靠性和容错功能。HDFS是由GFS演进而来的开源类型的分布式文件系统,其基于Hadoop架构实现,具有闻度可扩展性以及容错、闻1/0性能等特性。
[0010]相关技术中GFS/HDFS常见的架构如图1所示;在GFS/HDFS架构中,包括GFS主(Master)服务器、从(Slave)服务器以及GFS客户端;其中,GFS Master服务器主要读写云数据,Slave服务器主要读写具体业务数据,GFS客户端作为一个虚拟的文件系统提供应用程序接口(API, Applicat1n Programming Interface),并和 GFS Master 和 GFS Slave 进行数据读写操作。
[0011]相关技术中FC-SAN常见的架构如图2所示;FC-SAN和iSCSI架构基于小型计算机系统接口(Small Computer System Interface)_3的网络存储技术,包括SCSI启动器和SCSI目标器,SCSI启动器和SCSI目标器之间通过FC或IP网络连接。
[0012]以教育云应用为例,FC-SAN和iSCSI技术的优势在于1/0读写请求处理速度快,与GFS/HDFS相比,FC-SAN和iSCSI直接采用教育云本地文件系统进行存储;而HDFS/GFS首先需要经过分布式文件系统,然后才经过本地文件系统处理HMFC-SAN和iSCSI技术实现成本较高、维护管理难度较大,目前常用于大型的关键业务系统。
[0013]目前云计算平台广泛使用的块存储技术、文件存储技术、表存储技术以及对象存储技术应用于教育云时,都存在不足之处:
[0014](I)表存储技术,因为教育云的I/O读写请求的类型复杂,导致使用结构化数据库MySQL和非结构化数据库Hbase实现教育云时,层次过于复杂。
[0015](2)FC-SAN、iSCSI等块存储技术,通过SCS1-3命令在SCSI启动器和目标器之间实现块数据的读写,适合处理大量的块数据的I/o读写请求,而对教育云中频繁的小数据I/O读写请求的处理,存在响应性能上的瓶颈。
[0016](3)分布式文件存储技术如GFS/HDFS等,可以提供快速的数据访问,具有很好的可扩展性、可靠性和容错功能,在应用于教育云时,处理大量块数据的性能、以及处理频繁小数据I/o读写请求的性能,介于MySQL/Hbase技术和FC_SAN/iSCSI技术之间。
[0017](4)对象存储技术,对于频繁小数据的I/O读写请求,以及大规模的块数据的I/O读写请求无法提供较好的响应性能。
[0018]综上所述,对于处理教育云应用中I/O请求时,如何保证较高的响应性能,尚无有效解决方案。

【发明内容】

[0019]本发明实施例提供一种云虚拟文件系统系统及其I/O请求处理方法,在处理教育云应用中I/o请求时,能够实现较高的I/O响应性能。
[0020]本发明实施例提供一种I/O请求处理方法,应用于云虚拟文件系统中;所述云虚拟文件系统设置于云应用系统和分布式文件系统之间、以及所述云应用系统和基于块设备的本地文件系统之间;所述方法包括:
[0021]所述云虚拟文件系统接收所述云应用系统发送的I/O请求;
[0022]根据所述I/O请求携带的参数、以及所述I/O请求所请求读磁盘或写磁盘的位置,确定所述I/o请求的类型;
[0023]根据所确定的I/O请求的类型,调用所述分布式文件系统响应所述I/O请求、或调用所述基于块设备的本地文件系统响应所述I/o请求。
[0024]优选地,所述I/O请求的类型包括:大数据块I/O连续读请求、大数据块I/O连续写请求、大数据块I/o随机读请求、大数据块I/O随机写请求、小数据块I/O连续读请求、小数据块I/o连续写请求;
[0025]相应地,所述根据所确定的I/O请求的类型,调用所述分布式文件系统响应所述I/O请求、或调用所述基于块设备的本地文件系统响应所述I/O请求,包括:
[0026]当所确定的I/O请求的类型为以下类型任意之一时:
[0027]大数据块I/O连续读请求;大数据块I/O连续写请求;小数据块I/O连续读请求;小数据块I/o连续写请求;
[0028]调用所述基于块设备的本地文件系统响应所述I/O请求;
[0029]当所确定的I/O请求的类型为以下类型任意之一时:
[0030]数据块I/O随机读请求;大数据块I/O随机写请求;
[0031]调用所述分布式文件系统响应所述I/O请求。
[0032]优选地,所述I/O请求携带读(READ)参数或写(WRITE)参数、以及缓存(BUFFER)参数;
[0033]相应地,所述根据所述I/O请求携带的参数、以及所述I/O请求所请求读磁盘或写磁盘的位置,确定所述I/o请求的类型,包括:
[0034]当所述I/O请求携带READ参数时,确定所述I/O请求为I/O读请求,当所述I/O请求携带WRITE参数时,确定所述I/O请求为I/O写请求;
[0035]当所述BUFFER参数超过预设阈值时,确定所述I/O请求为大数据块I/O请求;当所述BUFFER参数未超过预设阈值时,确定所述I/O请求为小数据块I/O请求;
[0036]当所述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随机读请求;
[0037]当所述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随机写请求。
[0038]优选地,当所述I/O请求携带WRITE参数,所述调用所述分布式文件系统响应所述I/O请求、或调用所述基于块设备的本地文件系统响应所述I/O请求之前,所述方法还包括:
[0039]确定存在与所述I/O请求对应的文件索引节点;
[0040]相应地,当不存在与所述I/O请求对应的文件索引节点时,所述方法还包括:
[0041]创建与所述I/O请求对应的文件索引节点。
[0042]优选地,当所述I/O请求的类型未与所述类型匹配时,所述方法还包括:
[0043]调用所述分布式文件系统响应所述I/O请求。
[0044]本发明实施例还提供一种云虚拟文件系统;所述云虚拟文件系统设置于云应用系统和分布式文件系统之间、以及所述云应用系统和基于块设备的本地文件系统之间;所述云虚拟文件系统包括:
[0045]接收单元,用于接收所述云应用系统发送的I/O请求;
[0046]确定单元,用于根据所述I/O请求携带的参数、以及所述I/O请求所请求读磁盘或写磁盘的位置,确定所述I/O请求的类型;
[0047]调用单元,用于根据所述确定的I/O请求的类型,调用所述分布式文件系统响应所述I/o请求、或调用所述基于块设备的本地文件系统响应所述I/O
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1