断点上传方法及系统的制作方法

文档序号:9491875阅读:215来源:国知局
断点上传方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络传输技术领域,尤其涉及一种断点上传方法及系统。
【背景技术】
[0002]目前,随着网络的发展,数据新增的速度越来越快,每天都有大量的数据上传到服务端,常见的普通上传方式为直接上传整个文件到服务端,网络不稳定时,上传过程容易中断,需要重新上传整个文件,流量消耗大且上传等待时间长,极可能出现反复失败,多次上传的情况。也有将数据分块上传,在单台服务器上实现断点续传和数据块并发上传加快上传速度的解决方法,随着移动客户端增加,上传文件变得越来越大,现有的单个服务器、单一机房的方案无法保证用户在不同的网络线路下均能保持良好的上传速度。因此,如何保证上传体验,在保持断点续传特点的同时,继续增加数据的上行速度是当前亟待解决问题。

【发明内容】

[0003]本发明的目的在于提供一种断点上传方法及系统,能够提升文件上传和下载的效率,扩大服务端容量。
[0004]为解决上述问题,本发明提供一种断点上传方法,包括:
将待上传文件划分为多个数据块;
将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上;
获取并存储待上传文件的每个数据块上传到的对应磁盘组的存储位置信息。
[0005]进一步的,在上述方法中,将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上,包括:
为每个数据块选择最佳上传线路;
根据每个数据块选择的最佳上传线路将该数据块上传至对应磁盘组上。
[0006]进一步的,在上述方法中,每个磁盘组位于不同机房。
[0007]进一步的,在上述方法中,将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上,包括:
为每个数据块选择最佳上传线路和最佳机房;
根据每个数据块选择的最佳上传线路和最佳机房将该数据块上传至对应最佳机房的磁盘组上。
[0008]进一步的,在上述方法中,将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上,包括:
为每个数据块确定对应的机房的磁盘组的存储起始位置和当前写到位置;
将每个数据块依序划分为多个文件片段,根据对应的机房的磁盘组的存储起始位置和当前写到位置,将每个文件片段依序写入对应的机房的磁盘组,每写入一个文件片段更新对应的机房的磁盘组的当前写到位置。
[0009]进一步的,在上述方法中,获取并存储待上传文件的每个数据块上传到的对应磁盘组的存储位置信息,包括:
获取并存储待上传文件的每个数据块上传到的对应机房的磁盘组的存储起始位置和当前写到位置。
[0010]进一步的,在上述方法中,将待上传文件划分为多个数据块中,所述数据块的数量为N,N为正整数;
将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上,包括:
同时将Μ个数据块上传至对应磁盘组上,其中,Μ小于等于Ν。
[0011]根据本发明的另一面,提供一种断点上传系统,包括:
划分模块,用于将待上传文件划分为多个数据块;
上传模块,用于将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上; 存储位置模块,用于获取并存储待上传文件的每个数据块上传到的对应磁盘组的存储位置信息。
[0012]进一步的,在上述系统中,所述上传模块,用于为每个数据块选择最佳上传线路,根据每个数据块选择的最佳上传线路将该数据块上传至对应磁盘组上。
[0013]进一步的,在上述系统中,每个磁盘组位于不同机房。
[0014]进一步的,在上述系统中,所述上传模块,用于为每个数据块选择最佳上传线路和最佳机房,根据每个数据块选择的最佳上传线路和最佳机房将该数据块上传至对应最佳机房的磁盘组上。
[0015]进一步的,在上述系统中,所述上传模块,用于为每个数据块确定对应的机房的磁盘组的存储起始位置和当前写到位置,将每个数据块依序划分为多个文件片段,根据对应的机房的磁盘组的存储起始位置和当前写到位置,将每个文件片段依序写入对应的机房的磁盘组,每写入一个文件片段更新对应的机房的磁盘组的当前写到位置。
[0016]进一步的,在上述系统中,所述存储位置模块,用于获取并存储待上传文件的每个数据块上传到的对应机房的磁盘组的存储起始位置和当前写到位置。
[0017]进一步的,在上述系统中,所述划分模块,用于将待上传文件划分为Ν个数据块,Ν为正整数;
所述上传模块,用于同时将Μ个数据块上传至对应磁盘组上,其中,Μ小于等于Ν。
[0018]与现有技术相比,本发明中服务端采用多磁盘方案,一个数据块可上传写入到多个不同服务器磁盘的上,可将待上传文件的所有数据块的存储分散到多个服务器上,避免因服务器故障导致客户端的大量重试,实现多个数据块的并发上传,流量消耗小且上传等待时间短,且在网络出错时只需要重新上传出错的数据块,已上传成功的数据块不需要重复上传,扩大服务端容量,提升文件上传效率。另外,将每个磁盘组分布不同机房,可以进一步扩大服务端容量,提升文件上传效率。此外,待上传文件的所有Block上传完成后,服务端根据所有Block对应的Context信息生成该文件在服务端的存储位置(Context),唯一描述符Fid,并将每个文件的惟一标识(Fid)与Context对应关系写入数据库,后续,即可根据每个文件的惟一标识(Fid)与Context对应关系从对应磁盘组获取该文件的每个数据块组成完成的文件,提尚下载效率。
【附图说明】
[0019]图1是本发明一实施例的断点上传方法的流程图;
图2是本发明一实施例的断点上传方法的原理图;
图3是本发明一优选的实施例的断点上传方法的流程图;
图4是本发明一实施例的断点上传系统的模块图。
【具体实施方式】
[0020]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0021]实施例一
如图1所示,本发明提供一种断点上传方法,包括:
步骤S1,将待上传文件划分为多个数据块(Block);
步骤S2,将每个数据块上传至由多个不同服务器磁盘组成的对应磁盘组上;具体的,如图2所示,例如可将一个待上传文件F划分为8个数据块Π?f8,然后分别将数据块fl?f8到多个不同服务器磁盘S1?S4,如将数据块fl?f2上传到服务器磁盘S1,将数据块f3?f4上传到服务器磁盘S2,将数据块f5?f7上传到服务器磁盘S3,将数据块f8上传到服务器磁盘S4,优选的,步骤S2中的每个磁盘组位于不同机房;
步骤S3,获取并存储待上传文件的每个数据块上传到的对应磁盘组的存储位置信息(Context)。在此,待上传文件的所有Block上传完成后,服务端根据所有Block对应的Context信息生成该文件在服务端的存储位置(Context),唯一描述符Fid,并将每个文件的惟一标识(Fid)与Context对应关系写入数
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1