CN102882960B - 一种资源文件的发送方法及装置 - Google Patents
一种资源文件的发送方法及装置 Download PDFInfo
- Publication number
- CN102882960B CN102882960B CN201210355256.5A CN201210355256A CN102882960B CN 102882960 B CN102882960 B CN 102882960B CN 201210355256 A CN201210355256 A CN 201210355256A CN 102882960 B CN102882960 B CN 102882960B
- Authority
- CN
- China
- Prior art keywords
- files
- blocks
- resource file
- physical channel
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种资源文件的发送方法及装置,用于解决现有技术中从S3服务器将资源文件发送至NFS服务器效率较低的问题,该方法包括:向S3服务器发送获取资源文件的请求消息;在接收资源文件的过程中,对接收中的所述资源文件进行拆分,生成发送文件块;使用多个物理通道实时地将生成的文件块发送至NFS服务器。提高了从S3服务器将资源文件发送至NFS服务器的效率。
Description
技术领域
本发明涉及云计算领域,具体而言,涉及一种资源文件的发送方法及装置。
背景技术
云计算作为一种基于互联网的、大众参与的、以服务方式提供的新型计算模式,其目的是实现资源分享与整合。随着云计算的兴起,同质化资源聚合及共享势在必行。云应用资产库是云计算平台用来积累和共享资源(虚拟机模板、云应用模板、ISO镜像等)的重要部分。基于S3(Simple StorageService,简单存储服务)实现的存储提供线性扩展能力,而且无需关注底层存储实现细节,是业界构建云应用资产库的常用技术方案。在云计算环境中,运行期间相关资源文件通常在NFS(Network File System,网络文件系统)进行存储,所述资源文件无法在S3服务器直接启动运行,且相关资源文件大小通常为GB级。因此,如何将共享资源文件快速从S3服务器迁移到NFS存储中,是需要解决的问题。在实际使用过程中两者文件存取协议不同,且两存储服务都不具备主动推送或拉取数据的能力,因此需要一个中转器进行协议转换。现有技术手段是采用独立部署的中转服务传输。即中转服务在接收到用户资源使用请求后,首先从S3服务器请求获取对应的资源文件,等待文件下载本地完毕后,再将该文件上传至NFS存储,如图1所示。由于该方式等待整个文件下载到本地才向NFS存储上传,中转方等待文件下载到本地时,传输通道处于闲置状态,导致整体传输效率低。此外,由于中转方将等待文件完全下载到本地,需要中转空间大,尤其是多用户并发进行资源请求。
发明内容
本发明提供了一种资源文件的发送方法及装置,用于解决现有技术中从S3服务器将资源文件发送至NFS服务器效率较低的问题。
根据本发明的一个方面,提供了一种资源文件的发送方法,包括:向S3服务器发送获取资源文件的请求消息;在接收资源文件的过程中,对接收中的所述资源文件进行拆分,生成发送文件块;使用多个物理通道实时地将生成的文件块发送至NFS服务器。
进一步地,上述方法还包括:在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。
进一步地,上述方法还包括:根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。
其中,所述对接收中的所述资源文件进行拆分包括:判断是否有空闲的物理通道;当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块。
其中,所述对接收中的所述资源文件进行拆分包括:对拆分后的文件块进行编号并且为最后一个文件块加结束符。
根据本发明的另一个方面,提供了一种资源文件的发送装置,包括:第一发送模块,用于向S3服务器发送获取资源文件的请求消息;生成模块,用于在接收资源文件的全过程中,对接收中的所述资源文件进行拆分,生成发送文件块;第二发送模块,用于使用多个物理通道实时地将生成的文件块发送至NFS服务器。
进一步地,上述所述装置还包括:删除模块,用于在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。
进一步地,上述所述装置还包括:确定模块,用于根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。
其中,上述所述生成模块包括:判断单元,用于判断是否有空闲的物理通道;拆分单元,用于当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块。
其中,上述生成模块包括:编号单元,用于对拆分后的文件块进行编号并且为最后一个文件块加结束符。
本发明的技术方案,由于在接收文件的过程中,直接将接收中的文件拆分为文件块,可以实时地将接收到的资源文件发送至NFS服务器,提高了发送效率,同时,由于使用多个物理通道将拆分好的文件块实时地发送至NFS服务器,可以并行地对文件块进行发送,进一步提高了从S3服务器将资源文件发送至NFS服务器的效率。
附图说明
图1是根据本发明现有技术的S3服务器将资源文件发送至NFS服务器的示意图;
图2是本发明的资源文件的发送方法的流程图;
图3是本发明在进行资源文件发送之前的初始化流程图;
图4是本发明资源文件的具体流程图;
图5是本发明资源文件装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明的资源文件的发送方法可以是由中转服务器实现的。该方法基于数据传输时延隐藏原理,通过多线程交替工作以及随发送速度动态调整文件块的大小的方式来实现在接收资源文件的同时将接收到的资源文件发送至NFS服务器中。同时利用传输控制算法拆分文件块的大小以平衡S3服务器与NFS服务器两种协议的读写速度,其中NFS即网络文件系统,是FreeBSD支持的文件系统中的一种,其允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机,客户机可远程访问存放在服务器上的数据。S3服务器为以S3协议存取数据的存储服务器。S3提供以编程方式实现与该服务的交互,开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档等。基于S3接口可以实现Key-Value类型存储提供线性扩展能力,而无需关注底层存储实现细节。
图2是本发明的资源文件的发送方法的流程图。
如图1所示,该方法包括以下步骤:
步骤201:向S3服务器发送获取资源文件的请求消息;
步骤202:在接收资源文件的过程中,对接收中的资源文件进行拆分,生成发送文件块;
步骤203:使用多个物理通道实时地将生成的文件块发送至NFS服务器。
在进行上述步骤201之前,如图3所示,还可以进行如下步骤:
步骤301:根据配置文件确定获取资源文件请求接收线程的个数、资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。将这些信息作为中转服务器的初始配置信息。
在上述步骤202中,还可以在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从中转服务器的内存以及本地存储中删除已经发送成功的文件块,这样可以释放中转服务器内存及本地存储空间,大幅度减少中转空间占用量。
在上述步骤202中,对接收中的资源文件进行拆分具体可以为,判断当前是否有空闲的物理通道;当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大块文件块。考虑到发送成本,例如,网络通讯的建立、文件分块、组合的成本等,文件块如果太小则会相应的提高成本,所以在文件拆分时需要确定一个可拆分的文件块的最小值,以便合理地对文件进行拆分。同样的,如果物理通道一直没有空闲,拆分的文件块不会一直增大,因为如果文件块太大,例如一种极端情况,将一个文件就拆分为一个文件块,那发送时就会只使用一个物理通道,即使有其他物理通道空闲,也不能被利用,显然降低了物理通道的利用率。因此,在对文件块进行拆分时,还要相应地考虑实际网络带宽、物理通道个数、资源文件大小以及传输成本等综合因素来确定拆分的最大以及最小文件块的大小。设文件大小为S,S3协议读写速率为VS3,NFS协议读写速率为VNFS,物理通道个数N。忽略本地存储IO,假设物理通道为该装置专用,物理通道利用率最高的理想情况下存在如下关系:
从上述关系式中可以看出,当文件块越小时,物理通道的利用率越高。但考虑到拆分、组装文件块,以及建立网络通讯的成本,同时通过实验发现,只有文件块大于NFS协议读写速率值后,文件块大小和成本才呈现线性趋势。所以,一般将NFS协议读写速率值作为最小文件的块大小,最大块的大小一般是NFS协议读写速率值的倍数,倍数一般取2。
为了便于文件接收方,例如NFS服务器,对接收到的文件块进行组装,可以对拆分后的文件块进行编号,当当前编号的文件为并且为最后一个文件块时,为该文件添加结束符。
本发明还提供了一种资源文件的组装方法,该方法用于对接收按照上述资源文件的发送方法发送的文件块后,对文件块进行组装,以得到完整的资源文件。该方法由文件的接收方来实现,具体可以由NFS服务器来实现,NFS服务器中的组装服务根据配置信息以及接收到的文件块的文件ID、块编号以及文件结束符对接收到的文件块进行组装,得到资源文件。
本发明的资源文件的发送方法,由于在接收文件的过程中,直接将接收中的文件拆分为多个发送文件块,因此,可以实时地将接收到的资源文件发送至NFS服务器,提高了发送效率,同时采用通多个物理通道发送拆分后的文件块,可以高效地利用物理通道。此外,由于使用多个物理通道将拆分好的文件块实时地发送至NFS服务器,可以并行地对文件块进行发送,进一步提高了从S3服务器将资源文件发送至NFS服务器的效率,此外,实时将发送成功的文件块从中转服务器的中删除,可以节省中转空间。
以下通过具体的流程对上述方法进行更加详细的说明:
图4为本发明的S3服务器将资源文件发送至NFS服务器的流程图。
步骤401,接收用户的资源文件使用请求;步骤402,向NFS服务器发送资源文件请求;步骤403:判断S3是否正常响应,如果是,则执行步骤404,接收资源文件,如果否,则结束流程。步骤405,对接收中的资源文件进行拆分,生成多个发送文件块,对每个文件块编号,如果当前文件块为最后一个文件块,则为其加结束符,步骤406,判断是否有空闲的物理发送通道,如果是,则执行步骤407,将文件拆分为最小文件块,如果否,则执行步骤408,将文件拆分为最大文件块,步骤409,发送拆分完毕的文件块,删除发送成功的文件块,步骤410,接收文件块,步骤411,判断文件块中是否有结束符,如果是,则执行步骤412,判断同一文件ID对应文件块的编号是否连续;如果否,则返回步骤410,步骤413,将接收到的一组完整、连续的文件块组装成资源文件,结束流程。
需要说明的是,其中,上述步骤401-409由中转服务器来执行,步骤410-步骤413由NFS服务器来执行。
本发明还提供了一种资源文件的发送装置,图5是资源文件的发送装置的结构框图。
如图5所示,该装置50包括以下组成部分:
第一发送模块51,用于向S3服务器发送获取资源文件的请求消息;
生成模块52,用于在接收资源文件的过程中,对接收中的资源文件进行拆分,生成发送文件块;
第二发送模块53,用于使用多个物理通道实时地将生成的文件块发送至NFS服务器。
为了节省中转服务器的存储空间,上述装置还可以包括:删除模块,用于在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从中转服务器的内存和本地存储中删除发送成功的文件块。
上述装置还可以包括:确定模块,用于根据配置文件确定获取资源文件请求接收线程的个数、资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数,这些信息为中转服务器的初始配置信息。
其中,上述生成模块具体可以包括:判断单元,用于判断是否有空闲的物理通道;拆分单元,用于当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大块文件块。该生成模块,还可以包括编号单元,用于对拆分后的文件块进行编号并且为最后一个文件块加结束符。
本发明还提供了一种资源文件的组装装置,该装置可以设置于NFS服务器中,该装置包括组装模块,用于根据配置信息以及接收到的文件块的文件ID、块编号以及文件结束符对接收到的文件块进行组装,得到资源文件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种资源文件的发送方法,其特征在于,包括:
向S3服务器发送获取资源文件的请求消息;
在接收资源文件的过程中,对接收中的所述资源文件进行拆分,生成发送文件块;
使用多个物理通道实时地将生成的文件块发送至NFS服务器;
其中,所述对接收中的所述资源文件进行拆分包括:
判断是否有空闲的物理通道;
当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块;
其中,将NFS协议读写速率值作为最小文件块大小,NFS协议读写速率值的倍数作为最大文件块大小。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。
4.根据权利要求1所述的方法,其特征在于,所述对接收中的所述资源文件进行拆分包括:
对拆分后的文件块进行编号并且为最后一个文件块加结束符。
5.一种资源文件的发送装置,其特征在于,包括:
第一发送模块,用于向S3服务器发送获取资源文件的请求消息;
生成模块,用于在接收资源文件的全过程中,对接收中的所述资源文件进行拆分,生成发送文件块;
第二发送模块,用于使用多个物理通道实时地将生成的文件块发送至NFS服务器;
其中,所述生成模块包括:
判断单元,用于判断是否有空闲的物理通道;
拆分单元,用于当有空闲的物理通道时,将接收到的资源文件拆分为最小文件块,当无空闲的物理通道时,将接收到的资源文件拆分为最大文件块;
其中,将NFS协议读写速率值作为最小文件块大小,NFS协议读写速率值的倍数作为最大文件块大小。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
删除模块,用于在使用多个物理通道实时地将生成的文件块发送至NFS服务器之后,从内存及本地存储中删除发送成功的文件块。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据配置文件确定所述获取资源文件请求接收线程的个数、所述资源文件拆分的最大文件块以及最小文件块的大小、资源文件发送的线程个数、物理通道个数。
8.根据权利要求5所述的装置,其特征在于,所述生成模块包括:
编号单元,用于对拆分后的文件块进行编号并且为最后一个文件块加结束符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210355256.5A CN102882960B (zh) | 2012-09-21 | 2012-09-21 | 一种资源文件的发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210355256.5A CN102882960B (zh) | 2012-09-21 | 2012-09-21 | 一种资源文件的发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102882960A CN102882960A (zh) | 2013-01-16 |
CN102882960B true CN102882960B (zh) | 2015-08-12 |
Family
ID=47484102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210355256.5A Expired - Fee Related CN102882960B (zh) | 2012-09-21 | 2012-09-21 | 一种资源文件的发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102882960B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182712A (ja) * | 2013-03-21 | 2014-09-29 | Fuji Xerox Co Ltd | 中継装置、システム及びプログラム |
CN104967640A (zh) * | 2014-07-31 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置和系统 |
CN105187489A (zh) * | 2015-08-05 | 2015-12-23 | 深圳联友科技有限公司 | 可集群并支持多用户同时上传的文件传输方法和系统 |
CN105450390B (zh) | 2015-11-12 | 2018-09-28 | 苏州大学张家港工业技术研究院 | 一种数据传输方法及装置 |
CN109831481A (zh) * | 2018-12-21 | 2019-05-31 | 厦门市美亚柏科信息股份有限公司 | 一种大文件拆分传输的方法、装置及存储介质 |
CN110545271A (zh) * | 2019-08-28 | 2019-12-06 | 北京天融信网络安全技术有限公司 | 一种文件的还原方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005043279A2 (en) * | 2003-10-31 | 2005-05-12 | Disksites Research And Development Ltd. | Device, system and method for storage and access of computer files |
CN101286976A (zh) * | 2008-05-08 | 2008-10-15 | 蒋一 | 一种基于数据拆分技术实现p2p流媒体系统的方法 |
CN102111301A (zh) * | 2011-03-28 | 2011-06-29 | 上海云高软件科技有限公司 | 一种通用文件传输系统及其实现方法 |
-
2012
- 2012-09-21 CN CN201210355256.5A patent/CN102882960B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102882960A (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN102882960B (zh) | 一种资源文件的发送方法及装置 | |
CN106843828B (zh) | 界面显示、加载方法及装置 | |
CN101316226B (zh) | 一种获取资源的方法、装置及系统 | |
CN106506587A (zh) | 一种基于分布式存储的Docker镜像下载方法 | |
US9268716B2 (en) | Writing data from hadoop to off grid storage | |
CN112449750A (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
CN102307206A (zh) | 基于云存储的快速访问虚拟机镜像的缓存系统及其方法 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
CN103067479A (zh) | 一种基于文件冷热的网盘同步方法及系统 | |
CN104639426A (zh) | 群组成员添加方法及装置 | |
CN114036031B (zh) | 一种企业数字中台中资源服务应用的调度系统和方法 | |
CN103369034A (zh) | 一种将照片发送到数码相框的方法、系统及装置 | |
CN103326925A (zh) | 一种消息推送方法及装置 | |
CN104038654A (zh) | 中继装置、客户端装置及方法 | |
CN112307058A (zh) | 短链接的处理方法、装置、存储介质及计算机设备 | |
CN106933882B (zh) | 一种大数据增量计算方法和装置 | |
CN101415029B (zh) | 文件分发方法及装置 | |
CN103942208A (zh) | 文件处理方法及装置 | |
CN103838725B (zh) | 文件处理方法和文件处理设备 | |
CN104079368B (zh) | 一种应用软件的测试数据传输方法及服务器 | |
CN111881086B (zh) | 大数据的存储方法、查询方法、电子装置及存储介质 | |
CN104735149A (zh) | 一种云计算资源管理系统及方法 | |
CN101610165B (zh) | 一种自动扩散资源的方法和装置 | |
CN104077355A (zh) | 一种非结构化数据存储和查询的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150812 Termination date: 20190921 |