一种资源文件的发送方法及装置的制作方法

文档序号:7861118阅读:132来源:国知局
专利名称:一种资源文件的发送方法及装置的制作方法
技术领域
本发明涉及云计算领域,具体而言,涉及一种资源文件的发送方法及装置。
背景技术
云计算作为一种基于互联网的、大众参与的、以服务方式提供的新型计算模式,其目的是实现资源分享与整合。随着云计算的兴起,同质化资源聚合及共享势在必行。云应用资产库是云计算平台用来积累和共享资源(虚拟机模板、云应用模板、ISO镜像等)的重要部分。基于S3 (Simple StorageService,简单存储服务)实现的存储提供线性扩展能力,而且无需关注底层存储实现细节,是业界构建云应用资产库的常用技术方案。在云计算环境中,运行期间相关资源文件通常在NFS(NetWork File System,网络文件系统)进行存储, 所述资源文件无法在S3服务器直接启动运行,且相关资源文件大小通常为GB级。因此,如何将共享资源文件快速从S3服务器迁移到NFS存储中,是需要解决的问题。在实际使用过程中两者文件存取协议不同,且两存储服务都不具备主动推送或拉取数据的能力,因此需要一个中转器进行协议转换。现有技术手段是采用独立部署的中转服务传输。即中转服务在接收到用户资源使用请求后,首先从S3服务器请求获取对应的资源文件,等待文件下载本地完毕后,再将该文件上传至NFS存储,如图I所示。由于该方式等待整个文件下载到本地才向NFS存储上传,中转方等待文件下载到本地时,传输通道处于闲置状态,导致整体传输效率低。此外,由于中转方将等待文件完全下载到本地,需要中转空间大,尤其是多用户并发进行资源请求。

发明内容
本发明提供了一种资源文件的发送方法及装置,用于解决现有技术中从S3服务器将资源文件发送至NFS服务器效率较低的问题。根据本发明的一个方面,提供了一种资源文件的发送方法,包括向S3服务器发送获取资源文件的请求消息;在接收资源文件的过程中,对接收中的所述资源文件进行拆分,生成发送文件块;使用多个物理通道实时地将生成的文件块发送至NFS服务器。进一步地,上述方法还包括在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。进一步地,上述方法还包括根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。其中,所述对接收中的所述资源文件进行拆分包括判断是否有空闲的物理通道;当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块。其中,所述对接收中的所述资源文件进行拆分包括对拆分后的文件块进行编号并且为最后一个文件块加结束符。
根据本发明的另一个方面,提供了一种资源文件的发送装置,包括第一发送模块,用于向S3服务器发送获取资源文件的请求消息;生成模块,用于在接收资源文件的全过程中,对接收中的所述资源文件进行拆分,生成发送文件块;第二发送模块,用于使用多个物理通道实时地将生成的文件块发送至NFS服务器。进一步地,上述所述装置还包括删除模块,用于在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。进一步地,上述所述装置还包括确定模块,用于根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。其中,上述所述生成模块包括判断单元,用于判断是否有空闲的物理通道;拆分单元,用于当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块。 其中,上述生成模块包括编号单元,用于对拆分后的文件块进行编号并且为最后一个文件块加结束符。本发明的技术方案,由于在接收文件的过程中,直接将接收中的文件拆分为文件块,可以实时地将接收到的资源文件发送至NFS服务器,提高了发送效率,同时,由于使用多个物理通道将拆分好的文件块实时地发送至NFS服务器,可以并行地对文件块进行发送,进一步提高了从S3服务器将资源文件发送至NFS服务器的效率。


图I是根据本发明现有技术的S3服务器将资源文件发送至NFS服务器的示意图;图2是本发明的资源文件的发送方法的流程图;图3是本发明在进行资源文件发送之前的初始化流程图;图4是本发明资源文件的具体流程图;图5是本发明资源文件装置的结构框图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明实施例作进一步详细的说明。本发明的资源文件的发送方法可以是由中转服务器实现的。该方法基于数据传输时延隐藏原理,通过多线程交替工作以及随发送速度动态调整文件块的大小的方式来实现在接收资源文件的同时将接收到的资源文件发送至NFS服务器中。同时利用传输控制算法拆分文件块的大小以平衡S3服务器与NFS服务器两种协议的读写速度,其中NFS即网络文件系统,是FreeBSD支持的文件系统中的一种,其允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS至少有两个主要部分一台服务器和一台(或者更多)客户机,客户机可远程访问存放在服务器上的数据。S3服务器为以S3协议存取数据的存储服务器。S3提供以编程方式实现与该服务的交互,开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档等。基于S3接口可以实现Key-Value类型存储提供线性扩展能力,而无需关注底层存储实现细节。
图2是本发明的资源文件的发送方法的流程图。如图I所示,该方法包括以下步骤步骤201 :向S3服务器发送获取资源文件的请求消息;步骤202 :在接收资源文件的过程中,对接收中的资源文件进行拆分,生成发送文件块;步骤203 :使用多个物理通道实时地将生成的文件块发送至NFS服务器。在进行上述步骤201之前,如图3所示,还可以进行如下步骤步骤301 :根据配置文件确定获取资源文件请求接收线程的个数、资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。将这些信息作为中转服务器的初始配置信息。 在上述步骤202中,还可以在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从中转服务器的内存以及本地存储中删除已经发送成功的文件块,这样可以释放中转服务器内存及本地存储空间,大幅度减少中转空间占用量。在上述步骤202中,对接收中的资源文件进行拆分具体可以为,判断当前是否有空闲的物理通道;当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大块文件块。考虑到发送成本,例如,网络通讯的建立、文件分块、组合的成本等,文件块如果太小则会相应的提高成本,所以在文件拆分时需要确定一个可拆分的文件块的最小值,以便合理地对文件进行拆分。同样的,如果物理通道一直没有空闲,拆分的文件块不会一直增大,因为如果文件块太大,例如一种极端情况,将一个文件就拆分为一个文件块,那发送时就会只使用一个物理通道,即使有其他物理通道空闲,也不能被利用,显然降低了物理通道的利用率。因此,在对文件块进行拆分时,还要相应地考虑实际网络带宽、物理通道个数、资源文件大小以及传输成本等综合因素来确定拆分的最大以及最小文件块的大小。设文件大小为S,S3协议读写速率为VS3,NFS协议读写速率为VNFS,物理通道个数N。忽略本地存储10,假设物理通道为该装置专用,物理通道利用率最高的理想情况下存在如下关系
权利要求
1.一种资源文件的发送方法,其特征在于,包括 向S3服务器发送获取资源文件的请求消息; 在接收资源文件的过程中,对接收中的所述资源文件进行拆分,生成发送文件块; 使用多个物理通道实时地将生成的文件块发送至NFS服务器。
2.根据权利要求I所述的方法,其特征在于,所述方法还包括 在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。
3.根据权利要求I所述的方法,其特征在于,所述方法还包括 根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。
4.根据权利要求I所述的方法,其特征在于,所述对接收中的所述资源文件进行拆分包括 判断是否有空闲的物理通道; 当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块。
5.根据权利要求I或4所述的方法,其特征在于,所述对接收中的所述资源文件进行拆分包括 对拆分后的文件块进行编号并且为最后一个文件块加结束符。
6.一种资源文件的发送装置,其特征在于,包括 第一发送模块,用于向S3服务器发送获取资源文件的请求消息; 生成模块,用于在接收资源文件的全过程中,对接收中的所述资源文件进行拆分,生成发送文件块; 第二发送模块,用于使用多个物理通道实时地将生成的文件块发送至NFS服务器。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括 删除模块,用于在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括 确定模块,用于根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。
9.根据权利要求6所述的装置,其特征在于,所述生成模块包括 判断单元,用于判断是否有空闲的物理通道; 拆分单元,用于当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块。
10.根据权利要求6或9所述的方法,其特征在于,所述生成模块包括 编号单元,用于对拆分后的文件块进行编号并且为最后一个文件块加结束符。
全文摘要
本发明公开了一种资源文件的发送方法及装置,用于解决现有技术中从S3服务器将资源文件发送至NFS服务器效率较低的问题,该方法包括向S3服务器发送获取资源文件的请求消息;在接收资源文件的过程中,对接收中的所述资源文件进行拆分,生成发送文件块;使用多个物理通道实时地将生成的文件块发送至NFS服务器。提高了从S3服务器将资源文件发送至NFS服务器的效率。
文档编号H04L29/08GK102882960SQ20121035525
公开日2013年1月16日 申请日期2012年9月21日 优先权日2012年9月21日
发明者龚畅 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1