一种断点续传方法及系统技术方案

技术编号:37232887 阅读:7 留言:0更新日期:2023-04-20 23:15
本发明专利技术公开了一种断点续传方法及系统。该方法包括:当多线程文件在传输过程中断时,记录断点位置,保存本地下载信息,建立临时文件来保存本地下载信息,所述本地下载信息包含各线程已下载字节数,文件的指针和文件的大小信息;当接收到继续传输指令后,建立连接,判断临时文件是否存在本地下载信息;如果存在,读取已下载的所述本地下载信息,根据记录的断点位置,将文件指针定位在未完成线程的断点位置,从断点处传输每个线程的剩余部分的数据。基于分块上传的断点续传突破了浏览器端对于文件上传大小的限制,可以上传任意大小的文件,并且对实现文件的断点续传提供了一种新的思路,突破了目前文件上传的各种限制。突破了目前文件上传的各种限制。突破了目前文件上传的各种限制。

【技术实现步骤摘要】
一种断点续传方法及系统


[0001]本专利技术涉及数据传输
,并且更具体地,涉及一种断点续传方法及系统。

技术介绍

[0002]目前利用JLS协议和ZLLS协议实现文件断点续传,这种方法适用于基于Web网站浏览器方式或文件下载工具方式对文件进行下载,大文件上传因文件过大或者中途网络中断而导致失败。

技术实现思路

[0003]根据本专利技术,提供了一种断点续传方法及系统,以解决大文件上传因文件过大或者中途网络中断而导致失败的技术问题。
[0004]根据本专利技术的第一个方面,提供了一种断点续传方法,包括:
[0005]当多线程文件在传输过程中断时,记录断点位置,保存本地下载信息,建立临时文件来保存本地下载信息,所述本地下载信息包含各线程已下载字节数,文件的指针和文件的大小信息;
[0006]当接收到继续传输指令后,建立连接,判断临时文件是否存在本地下载信息;
[0007]如果存在,读取已下载的所述本地下载信息,根据记录的断点位置,将文件指针定位在未完成线程的断点位置,从断点处传输每个线程的剩余部分的数据。
[0008]可选地,当传输中断时,记录断点位置之前,还包括:
[0009]判断多线程文件在传输时是否中断。
[0010]可选地,所述方法还包括:
[0011]将所述多线程文件分片进行传输。
[0012]可选地,将所述多线程文件分片进行传输,包括:
[0013]每接收到一个文件分片就写入一个新建的临时文件;
[0014]当接收到文件合并请求后,将所有临时文件按照顺序合并成一个文件并删除原先的分片临时文件。
[0015]可选地,包括:将所述多线程文件分片进行传输,包括:
[0016]接收到文件开始上传请求后,建立一个临时文件;
[0017]每接收到一个文件分片就将分片内容追加到临时文件末尾,当接收到文件发送完毕的请求后,文件上传成功。
[0018]根据本专利技术的另一个方面,还提供了一种断点续传系统,包括:
[0019]建立临时文件夹模块,用于当多线程文件在传输过程中断时,记录断点位置,保存本地下载信息,建立临时文件来保存本地下载信息,所述本地下载信息包含各线程已下载字节数,文件的指针和文件的大小信息;
[0020]判断本地下载信息模块,用于当接收到继续传输指令后,建立连接,判断临时文件是否存在本地下载信息;
[0021]传输剩余部分数据模块,用于如果存在,读取已下载的所述本地下载信息,根据记录的断点位置,将文件指针定位在未完成线程的断点位置,从断点处传输每个线程的剩余部分的数据。
[0022]可选地,建立临时文件夹模块,还包括:
[0023]判断中断子模块,用于判断多线程文件在传输时是否中断。
[0024]可选地,所述系统还包括:
[0025]分片传输模块,用于将所述多线程文件分片进行传输。
[0026]可选地,分片传输模块,包括:
[0027]写入临时文件子模块,用于每接收到一个文件分片就写入一个新建的临时文件;
[0028]合并临时文件子模块,用于当接收到文件合并请求后,将所有临时文件按照顺序合并成一个文件并删除原先的分片临时文件。
[0029]可选地,分片传输模块,包括:
[0030]建立临时文件子模块,用于接收到文件开始上传请求后,建立一个临时文件;
[0031]追加文件分片子模块,用于每接收到一个文件分片就将分片内容追加到临时文件末尾,当接收到文件发送完毕的请求后,文件上传成功。
[0032]从而,能够实现文件的断点续传功能。基于分块上传的断点续传突破了浏览器端对于文件上传大小的限制,可以上传任意大小的文件,并且对实现文件的断点续传提供了一种新的思路,突破了目前文件上传的各种限制。解决了以往大文件上传因文件过大或者中途网络中断而导致失败的问题。
附图说明
[0033]通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:
[0034]图1为本实施方式所述的一种断点续传方法的流程示意图;
[0035]图2为本实施方式所述的断点续传方法的实现流程示意图;
[0036]图3为本实施方式所述的一种断点续传系统的示意图。
具体实施方式
[0037]现在参考附图介绍本专利技术的示例性实施方式,然而,本专利技术可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本专利技术,并且向所属
的技术人员充分传达本专利技术的范围。对于表示在附图中的示例性实施方式中的术语并不是对本专利技术的限定。在附图中,相同的单元/元件使用相同的附图标记。
[0038]除非另有说明,此处使用的术语(包括科技术语)对所属
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
[0039]根据本专利技术的第一个方面,提供了一种断点续传方法100,参考图1所示,该方法100包括:
[0040]S101:当多线程文件在传输过程中断时,记录断点位置,保存本地下载信息,建立临时文件来保存本地下载信息,所述本地下载信息包含各线程已下载字节数,文件的指针
和文件的大小信息;
[0041]S102:当接收到继续传输指令后,建立连接,判断临时文件是否存在本地下载信息;
[0042]S103:如果存在,读取已下载的所述本地下载信息,根据记录的断点位置,将文件指针定位在未完成线程的断点位置,从断点处传输每个线程的剩余部分的数据。
[0043]具体地,参考图2所示,断点续传实质是记录线程上一次下载断开的位置,并在下一次建立连接后直接从上次传输中断的位置继续传输。断点续传的关键问题有两点:传输中断时,记录断点,保存本地的下载信息,需要建立临时文件来保存本地下载信息,多线程下载信息包含各线程已下载字节数,文件的指针和文件的大小等信息。当传输中断时,多个线程断点下载信息会记录在临时文件中,并将文件指针指向已下载文件的末尾。续传,指任务恢复连接后,系统检查本地下载信息,首先判断本地是否存在所下载的文件,如果存在,读取已下载文件的下载信息,系统会根据记录的断点位置,自动将指针定位在未完成线程的断点位置,自动从断点处传输每个线程的剩余部分的数据,这需要在客户端向服务器发送请求。
[0044]在前端分片传输过程中,分片大小是一定的,分片越小,请求越多,开销越大;分片越大,灵活度越小,分片上传的优势就会相对越不明显。所以,分片大小可以根据实际情况设置一个合适的值。
[0045]在服务器端,文件分片的合并存在2种策略。一种是传完一起合并,即在服务器端每接收到一个文件分片就写入一个新建的临时文件,当接收到文件合并请求后开始将所有临时文件按照顺序合并成一个文件并删除原先的分片临时文件。另外一种策略是边传边合并,即在服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种断点续传方法,其特征在于,包括:当多线程文件在传输过程中断时,记录断点位置,保存本地下载信息,建立临时文件来保存本地下载信息,所述本地下载信息包含各线程已下载字节数,文件的指针和文件的大小信息;当接收到继续传输指令后,建立连接,判断临时文件是否存在本地下载信息;如果存在,读取已下载的所述本地下载信息,根据记录的断点位置,将文件指针定位在未完成线程的断点位置,从断点处传输每个线程的剩余部分的数据。2.根据权利要求1所述的方法,其特征在于,当传输中断时,记录断点位置之前,还包括:判断多线程文件在传输时是否中断。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述多线程文件分片进行传输。4.根据权利要求3所述的方法,其特征在于,将所述多线程文件分片进行传输,包括:每接收到一个文件分片就写入一个新建的临时文件;当接收到文件合并请求后,将所有临时文件按照顺序合并成一个文件并删除原先的分片临时文件。5.根据权利要求3所述的方法,其特征在于,包括:将所述多线程文件分片进行传输,包括:接收到文件开始上传请求后,建立一个临时文件;每接收到一个文件分片就将分片内容追加到临时文件末尾,当接收到文件发送完毕的请求后,文件上传成功。6.一种断点续传系统,其特征在于,包括:建立临时文件夹模块,用于当多线程文件在传输过程中断...

【专利技术属性】
技术研发人员:杜伟王佳颖杨国柱吴建雄李玉容张嘉琳刘嵩李源源张伟占丽
申请(专利权)人:国网电力空间技术有限公司
类型:发明
国别省市:

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

1