一种基于NFS的云存储网关系统的实现方法技术方案

技术编号:13034150 阅读:42 留言:0更新日期:2016-03-17 10:28
本发明专利技术公开了一种基于NFS的云存储网关系统的实现方法:接收客户端的写文件请求和具体文件内容;将文件写入云存储网关的本地文件系统;将本地文件系统上的文件上传到云存储中;清空本地文件系统上的文件内容;接收读文件请求时判断文件的存储位置,从正确的位置进行文件读取,本发明专利技术基于NFS的云存储网关系统的实现方法具有实用性强和开发成本低等优点。

【技术实现步骤摘要】

本专利技术涉及云存储和传统存储协议领域,具体涉及一种基于NFS的云存储网关系统的实现方法
技术介绍
云存储技术是信息化时代数据不断增长的背景下诞生的一种新兴的网络存储技术。云存储是在云计算的基础上扩展出来的一种技术,是通过机器集群、网络、分布式文件系统等技术将不同的存储设备集中起来协同工作,对外提供数据存储和业务访问的系统。云存储技术正处在高速发展的时期,国内外已经出现了很多相对成功的云存储系统。拥有可弹性扩容、安全可靠、价格低廉等优点的云存储服务是未来的发展方向,云存储技术是可见未来内解决数据增长问题的最好技术之一。云存储网关就是为了解决云存储和传统存储之间接口不匹配的问题而提出来的。大多数云存储服务都使用基于HTTP REST (Representat1nal State Transfer)协议或者SOAP (Simple Object Access Protocol)协议制定的接口,而不提供传统存储协议接口。对于大量成熟稳定的传统应用而言,云存储接口无法直接使用。云存储网关可以将REST或者S0AP形式的云存储接口翻译转换为传统存储协议。云存储网关完成的功能就是云存储接口和传统存储之间协议转换功能,把云存储服务无缝整合到现有的软硬件系统中,满足传统应用的扩容需求。NFS是一种分散式文件系统的协议,实现的功能是通过网络实现跨主机,跨操作系统分享文件。NFS是C/S结构,并提供了与文件系统相同的接口。客户端挂载服务器的相应目录,之后就能使用P0SIX标准系统调用进行文件访问和文件操作。在传统应用中,NFS被广泛地使用。现有的云存储网关系统由于删除本地文件步骤使得系统引入了更为复杂的处理方法,致使云存储网关技术的实现较为困难,开发成本较高。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种基于NFS的云存储网关系统的实现方法,该方法降低了云存储网关系统的实现难度。为达到上述目的,本专利技术采用了以下技术方案:S1、接收客户端的写文件请求和具体文件内容;S2、将客户端请求写入的文件写入云存储网关的本地文件系统;S3、将所述本地文件系统上的部分或全部文件上传到云存储中;S4、清空所述本地文件系统中已上传至云存储的文件所对应的文件内容,保留空文件;S5、接收客户端的读文件请求时判断需要读取的文件的存储位置,然后进行文件读取;所述步骤S1、S2以及S5属于第一异步线程,所述步骤S3以及S4属于第二异步线程。所述实现方法还包括以下步骤:客户端在使用云存储网关之前将云存储网关挂载在自身文件系统,客户端与云存储网关之间使用NFS协议进行通信。所述步骤S2具体包括以下步骤:(2-1)云存储网关将客户端请求写入的文件按照客户端的请求写在所述本地文件系统中的指定路径内;(2-2)经过步骤(2-1)后,在文件信息表中新建一条记录用于存储新写入文件的文件信息。所述步骤S3具体包括以下步骤:(3-1)在文件上传到云存储前,使用对称加密算法对要上传的文件进行加密处理;(3-2)利用云存储的API将加密处理后的文件上传到云存储;(3-3)文件上传到云存储后,将文件信息表中的相应文件记录中的文件位置标记为云存储。所述步骤S4具体包括以下步骤:(4-1)使用系统调用清空文件内容;(4-2)在文件内容清空的同时保留空文件。所述步骤S5具体包括以下步骤:(5-1)通过查询文件信息表判断客户端请求读取的文件的位置是位于云存储网关的本地文件系统还是位于云存储中;(5-2)情况一:若客户端请求读取的文件位于云存储网关的本地文件系统,则直接从云存储网关的本地文件系统进行读取;情况二:若客户端请求读取的文件位于云存储,则首先从云存储中下载该文件至云存储网关的本地文件系统,再从云存储网关的本地文件系统进行文件读取,同时更新文件信息表中的文件位置信息。所述情况二中,客户端请求读取的文件下载并覆盖云存储网关的本地文件系统中保留的该文件的空文件。所述更新文件信息表中的文件位置信息是指将文件信息表中的相应文件记录中的文件位置标记为云存储网关。所述第一异步线程处理客户端的请求,第二异步线程处理文件上传的事务。 所述第一异步线程和第二异步线程并行工作。本专利技术的有益效果体现在:本专利技术针对当前云存储网关不能很好地承载传统应用而提出一种基于NFS的云存储网关系统。客户端根据NFS协议格式发出写文件请求,将文件内容发送到云存储网关。云存储网关接收写文件请求和文件内容,并将文件存储在本地文件系统上。云存储网关在适当的时机将本地文件系统上的文件上传到云存储上,以节省云存储网关本地的存储空间,间接地存储更多的文件。云存储网关在上传文件到云存储之后并不彻底删除本地文件,而只是清空文件内容,清空文件内容就能达到节省存储空间的目的。客户端在需要读取文件时发送读文件请求到云存储网关,云存储网关判断文件是否被上传到云存储,若文件未被上传到云存储,则从云存储网关本地文件系统读取文件;若文件位于云存储,则从云存储下载文件后再进行文件读取操作。本专利技术能够解决云存储和传统存储之间接口不匹配的问题。把云存储服务无缝整合到现有的软硬件系统中,满足传统应用的扩容需求,提高云存储网关承载传统应用的能力。当云存储网关上传文件时只清空文件内容而不删除文件的步骤可以避免由于删除文件而引入的复杂的处理方法,极大降低云存储网关的开发难度。进一步的,云存储网关将本地文件系统中的文件上传之后保留空文件,这样可以解决不保留空文件就难以实现硬链接文件支持的问题。同时保留空文件可以让文件句柄的生成使用通用的文件句柄函数。进一步的,处理客户端的NFS请求部分和云存储网关上传文件到云存储部分分开到两个异步线程中,一个异步线程专门处理客户端的NFS请求,可以加快云存储网关对客户端的响应速度。【附图说明】图1是75Γ存储网关系统整体不意图。图2是写文件过程交互图。图3a是读文件(位于本地)过程交互图。图3b是读文件(位于云存储)过程交互图。图4是文件上传过程交互图。【具体实施方式】下面结合附图和实施例对本专利技术作详细的描述,但本专利技术的实施方式不限于此。参见图1,本专利技术所述基于NFS的云存储网关系统在功能上主要分为两个部分,处理客户端请求部分以及文件上传部分。两个部分分属云存储网关上两个不同的异步线程,采取的处理策略为一个线程处理客户端的请求,另一个线程处理文件上传的事务。处理客户端请求部分主要是实现接收客户端的NFS请求,对NFS请求进行响应;文件上传部分实现的是将云存储网关本地文件系统中的文件进行上传处理,节省云存储网关的本地存储空间。所述处理客户端请求部分包括步骤Sl、S2、S5 ;所述文件上传部分包括步骤S3、...

【技术保护点】
一种基于NFS的云存储网关系统的实现方法,其特征在于:包括以下步骤:S1、接收客户端的写文件请求和具体文件内容;S2、将客户端请求写入的文件写入云存储网关的本地文件系统;S3、将所述本地文件系统上的部分或全部文件上传到云存储中;S4、清空所述本地文件系统中已上传至云存储的文件所对应的文件内容,保留空文件;S5、接收客户端的读文件请求时判断需要读取的文件的存储位置,然后进行文件读取;所述步骤S1、S2以及S5属于第一异步线程,所述步骤S3以及S4属于第二异步线程。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈霸东肖建锋郑南宁
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1