文件下载方法、装置和系统的制作方法

文档序号:7984783阅读:134来源:国知局
文件下载方法、装置和系统的制作方法
【专利摘要】本发明公开一种文件下载方法、装置和系统。其中在文件下载方法中,根据用户终端发送的文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息。将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息,并行地从与所述物理磁盘标识信息相关联的物理磁盘中获取下载文件,将下载文件发送给用户终端。由于通过将数量众多的小文件虚拟成存储在虚拟磁盘上的虚拟分片,通过虚拟分片实现海量小文件的高速批量下载,从而提高了用户体验。
【专利说明】文件下载方法、装置和系统
【技术领域】
[0001]本发明涉及通信领域,特别是涉及一种文件下载方法、装置和系统。
【背景技术】
[0002]传统的存储网络是由不同规格、型号的磁盘组成的,如SATA (Serial AdvancedTechnology Attachment,串行高级技术附件)盘、SSD (Solid State Disk,固态硬盘)盘、SASCSerial Attached SmallComputer System Interface,串行连接小型计算机系统接口)盘等,每类磁盘使用的接口和协议都不相同。对于海量的小文件的存储场景来说,小文件数量庞大,而每个文件却非常小,因此总量并不大。为了便于存储及管理,往往存储在少量的磁盘上,如几个SSD盘、几个SAS盘上,待这些盘存满了,再往别的盘上存储小文件。小文件一般集中存储于少数规格、型号并不相同的磁盘上,且多个文件之间没有关联性,批量下载时必须按传统下载协议(不同类型磁盘协议还不同)逐个文件顺序下载,下载请求需发送多次,无法做到分布式下载。对于经常需定期下载大部分海量小文件的应用场景下,批量下载的速度非常慢,将大大影响工作效率。
[0003]云存储分片技术是将一个大文件在上传过程中切成数个相同长度的分片(同一个文件的各分片之间互相关联),并通过分布式技术上传到分散的众多兼容的虚拟化磁盘上,也可通过分布式方式下载这些文件切片(每个磁盘的下载协议相同,是高效分布式下载的基础),下载完毕后组成一个完整的大文件。因此下载速度非常快。而海量的小于常规分片大小的小文件之间互相独立,且大小杂乱无章,因此现有分片技术无法实现其有效高速的下载。

【发明内容】

[0004]本发明要解决的技术问题是提供一种文件下载方法、装置和系统,通过将原本存储于异构磁盘上的数量众多的小文件,虚拟成存储在虚拟磁盘上的虚拟分片,通过虚拟分片实现海量小文件的高速批量下载。
[0005]根据本发明的一个方面,提供一种文件下载方法,包括:
[0006]接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识;
[0007]根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联;
[0008]将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息;
[0009]将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息;
[0010]从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件;
[0011]将下载文件发送给用户终端。
[0012]根据本发明的另一方面,提供一种文件下载装置,包括:
[0013]接收单元,用于接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识;
[0014]分片生成单元,用于根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联;
[0015]磁盘标识确定单元,用于将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息;
[0016]磁盘标识转换单元,用于将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识息;
[0017]下载单元,用于从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件;
[0018]发送单元,用于将下载文件发送给用户终端。
[0019]根据本发明的另一方面,提供一种文件下载系统,包括:文件下载装置和至少一个物理磁盘,其中:
[0020]文件下载装置,用于接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识;根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联;将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息;将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息;从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件;并将下载文件发送给用户终端;
[0021 ] 所述物理磁盘,用于向文件下载装置提供下载文件。
[0022]本发明通过接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识。根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联。将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息。将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息,从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件,将下载文件发送给用户终端。由于通过将数量众多的小文件虚拟成存储在虚拟磁盘上的虚拟分片,通过虚拟分片实现海量小文件的高速批量下载,从而提高了用户体验。
【专利附图】

【附图说明】
[0023]图1为本发明文件下载方法一个实施例的示意图。
[0024]图2为本发明文件下载方法另一实施例的示意图。
[0025]图3为本发明文件下载装置一个实施例的示意图。
[0026]图4为本发明文件下载装置另一实施例的示意图。
[0027]图5为本发明文件下载系统一个实施例的示意图。
【具体实施方式】
[0028]下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。
[0029]图1为本发明文件下载方法一个实施例的示意图。如图1所示,本实施例的文件下载方法步骤如下:
[0030]步骤101,接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识。
[0031]步骤102,根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联。
[0032]步骤103,将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息。
[0033]步骤104,将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息。
[0034]步骤105,从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件。
[0035]步骤106,将下载文件发送给用户终端。
[0036]基于本发明上述实施例提供的文件下载方法,通过接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识。根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联。将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息。将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息,从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件,将下载文件发送给用户终端。由于通过将数量众多的小文件虚拟成存储在虚拟磁盘上的虚拟分片,通过虚拟分片实现海量小文件的高速批量下载,从而提高了用户体验。
[0037]图2为本发明文件下载方法另一实施例的示意图。如图2所示,本实施例的文件下载方法步骤如下:
[0038]步骤201,接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识。
[0039]步骤202,根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联。
[0040]步骤203,将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息。
[0041]步骤204,将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息。
[0042]步骤205,并发地将每个所述分片信息发送给与所述分片信息的物理磁盘标识信息相关联的物理磁盘。
[0043]步骤206,接收物理磁盘发送的下载信息,其中下载信息中包括与所述分片信息中包括的所述至少一个文件标识信息相关联的下载文件。
[0044]步骤207,将下载文件存储在临时存储器中。
[0045]通过将下载文件存储在临时存储器中,以便于在接收到全部下载文件后,将全部下载文件统一发送给用户终端。
[0046]步骤208,判断是否在预定时间范围内接收到全部下载文件。若在预定时间范围内接收到全部下载文件,则执行步骤209 ;若没有在预定时间范围内接收到全部下载文件,则执行步骤210。
[0047]步骤209,将全部下载文件发送给用户终端。然后执行步骤211。
[0048]步骤210,将已经接收到的下载文件发送给用户终端,并将未成功下载的文件信息发送给用户终端。
[0049]当超过预定时间范围还没有接收到某个下载文件,表明该文件下载可能出现问题,此时将已经接收到的下载文件发送给用户终端,并将未成功下载的提示信息发送给用户终端,从而提高了用户体验。
[0050]步骤211,清空所述临时存储器中的内容。
[0051]在本发明中,由于用户只需要知道每个文件所处的虚拟磁盘,并不需要知道该虚拟磁盘所对应的物理磁盘具体在哪里,这有助于提高用户体验。
[0052]下面以一个具体示例对本发明进行说明。
[0053]假设用户需要下载几个小文件,具体为:Fl (3k)、F2 (5k)、F3 (2k)、F4 (6k)、F5(lk)、F6 (2k)、F7 (5k),其中括号中的内容为文件的长度大小。同时F1-F4在虚拟磁盘M上,F5-F7在虚拟磁盘N上,虚拟磁盘M和虚拟磁盘N所对应的物理磁盘不同。
[0054]当接收用户终端发送的文件下载请求时,生成长度为8k的3个分片,其中F1、F2与分片I相关联,F3、F4与分片2相关联,F5-F7与分片3相关联,并根据各分片所包括的文件标识信息所关联的虚拟磁盘信息,确定各分片的虚拟磁盘信息。也就是组成一个分片的小文件均存储在同一物理磁盘中。其中需要说明的是,虽然F3和F6均为2k,但由于F3和F4在虚拟磁盘M上,F6在虚拟磁盘N上,即F6与F3和F4不在同一虚拟磁盘上。为了便于下载,将处于同一虚拟磁盘M上的F3和F4放置在同一个分片中,将F6放置在另一个分片中(一个虚拟磁盘上可以有多个虚拟分片)。具体映射关系表如表1所示。
[0055]
【权利要求】
1.一种文件下载方法,其特征在于,包括:
接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识;根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联;将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息; 将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息; 从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件; 将下载文件发送给用户终端。
2.根据权利要求1所述的方法,其特征在于: 从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件的步骤包括: 并发地将每个所述分片信息发送给与所述分片信息的物理磁盘标识信息相关联的物理磁盘; 接收物理磁盘发送的下载信息,其中下载信息中包括与所述分片信息中包括的所述至少一个文件标识信息相关联的下载文件。
3.根据权利要求1或2所述的方法,其特征在于: 将下载文件发送给用户终端的步骤包括: 判断是否在预定时间范围内接收到全部下载文件; 若在预定时间范围内接收到全部下载文件,则将全部下载文件发送给用户终端。
4.根据权利要求3所述的方法,其特征在于: 若没有在预定时间范围内接收到全部下载文件,则将已经接收到的下载文件发送给用户终端,并将未成功下载的文件信息发送给用户终端。
5.根据权利要求1或2所述的方法,其特征在于: 从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件的步骤之后,还包括: 将下载文件存储在临时存储器中; 然后执行将下载文件发送给用户终端的步骤。
6.根据权利要求5所述的方法,其特征在于: 将下载文件发送给用户终端的步骤之后,还包括: 清空所述临时存储器中的内容。
7.一种文件下载装置,其特征在于,包括: 接收单元,用于接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识;分片生成单元,用于根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联; 磁盘标识确定单元,用于将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息; 磁盘标识转换单元,用于将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息; 下载单元,用于从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件; 发送单元,用于将下载文件发送给用户终端。
8.根据权利要求7所述的装置,其特征在于: 下载单元具体用于并发地将每个所述分片信息发送给与所述分片信息的物理磁盘标识信息相关联的物理磁盘,并接收物理磁盘发送的下载信息,其中下载信息中包括与所述分片信息中包括的所述至少一个文件标识信息相关联的下载文件。
9.根据权利要求7或8所述的装置,其特征在于:还包括识别单元,用于判断是否在预定时间范围内接收到全部下载文件,若在预定时间范围内接收到全部下载文件,则指示发送单元将全部下载文件发送给用户终端。
10.根据权利要求9所述的装置,其特征在于: 识别单元还用于没有在预定时间范围内接收到全部下载文件时,指示发送单元将已经接收到的下载文件发送给用户终端,并将未成功下载的文件信息发送给用户终端。
11.根据权利要求7或8所述的装置,其特征在于:还包括临时存储器,用于存储下载文件; 下载单元还用于将下载文件存储在临时存储器中,然后执行将下载文件发送给用户终端的操作。
12.根据权利要求11所述的装置,其特征在于:还包括删除单元,用于在发送单元将下载文件发送给用户终端后,清空所述临时存储器中的内容。
13.一种文件下载系统,其特征在于,包括:文件下载装置和至少一个物理磁盘,其中: 文件下载装置,用于接收用户终端发送的文件下载请求,其中文件下载请求包括至少一个下载文件的文件标识信息、文件长度信息和虚拟磁盘标识;根据文件下载请求生成具有预定长度的至少一个分片信息,其中每个所述分片信息包括具有相同虚拟磁盘标识信息的至少一个文件标识信息,并且所述至少一个文件标识信息对应的文件长度之和不大于预定长度,同时每个文件标识信息仅与一个分片信息相关联;将与所述分片信息中包括的所述至少一个文件标识信息相关联的虚拟磁盘标识信息作为所述分片信息的虚拟磁盘标识信息;将所述分片信息的虚拟磁盘标识信息转换为物理磁盘标识信息;从每个与所述物理磁盘标识信息相关联的物理磁盘中,并行下载与具有所述物理磁盘标识信息的分片信息中包括的所述至少一个文件标识信息相关联的下载文件;并将下载文件发送给用户终端; 所述物理磁盘,用于向文件下载装置提供下载文件。
14.根据权利要求13所述的系统,其特征在于:文件下载装置为权利要求7-12中 任一项涉及的文件下载装置。
【文档编号】H04L29/08GK103780658SQ201210411984
【公开日】2014年5月7日 申请日期:2012年10月25日 优先权日:2012年10月25日
【发明者】雷俊智, 蔡丹倩, 龚靖, 周文君 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1