文件的下载方法及装置、电子设备、可读存储介质制造方法及图纸

技术编号:33839651 阅读:50 留言:0更新日期:2022-06-16 12:03
本申请提供一种文件的下载方法及装置、电子设备、可读存储介质。文件的下载方法包括:在接收到文件的下载请求时,新建worker线程,并设置所述worker线程的下载参数;通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中;通过所述worker线程基于所述文件对应的数据生成对应的文件;从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。该下载方法用以提高文件的下载效率和文件下载成功率。率。率。

【技术实现步骤摘要】
文件的下载方法及装置、电子设备、可读存储介质


[0001]本申请涉及数据处理
,具体而言,涉及一种文件的下载方法及装置、电子设备、可读存储介质。

技术介绍

[0002]现有技术中,在进行网页文件的下载时,由网页前端将请求发送给服务器端,并将接收到的服务器端返回的数据写入到文件中,完成文件的下载。
[0003]这种下载方式,对大文件下载,需要网页前端在主任务中多次发送下载请求,接收响应及处理;容易堵塞用户的网页操作行为,造成网页卡顿,文件下载速度慢;进而导致文件下载效率低,文件下载成功率也较低。

技术实现思路

[0004]本申请实施例的目的在于提供一种文件的下载方法及装置、电子设备、可读存储介质,用以提高文件的下载效率和文件下载成功率。
[0005]第一方面,本申请实施例提供一种文件的下载方法,包括:在接收到文件的下载请求时,新建worker线程,并设置所述worker线程的下载参数;通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中;通过所述worker线程基于所述文件对应的数据生成对应的文件;从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
[0006]在本申请实施例中,与现有技术相比,在接收到文件的下载请求时,并不直接通过网页进行下载,而是新建worker线程,通过设置worker线程的下载参数,先通过worker线程基于下载参数从服务器下载文件对应的数据到worker线程的内存,并生成对应的文件;然后再从worker线程的内存中将生成的对应文件下载到本地的文件系统。这样可以避免网页进程发起下载请求,减少频繁的响应及处理,也不会对用户的其他网页操作行为产生堵塞,从而可以减少网页卡顿,进而提升文件下载速度,提高文件的下载效率和文件下载成功率。
[0007]作为一种可能的实现方式,所述下载参数包括:所述文件对应的数据的数据总条数和单次最大数据请求量;所述通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中,包括:通过所述worker线程基于所述数据总条数和所述单次最大数据请求量确定所述文件对应的数据的请求次数;通过所述worker线程基于所述数据请求次数生成多个请求队列;通过所述worker线程基于所述多个请求队列分批次的向所述服务器请求所述文件对应的数据;通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据;通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。
[0008]在本申请实施例中,在通过worker线程下载文件对应的数据时,可以采用分批次的数据请求方式,一方面,可以减小每次下载数据的压力;另一方面,可以提高文件的下载成功率。
[0009]作为一种可能的实现方式,在所述通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据之后,所述下载方法还包括:通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验;所述通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中,包括:在通过所述worker线程确定分批次返回的所述文件对应的数据通过校验时,通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。
[0010]在本申请实施例中,对于每次下载过程中,服务器分批次返回的文件对应的数据,通过worker线程对其进行校验,在确定通过校验时,再进行相应的下载操作,实现文件下载的容错处理。
[0011]作为一种可能的实现方式,所述文件对应的数据中包括数据校验信息;所述通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验,包括:通过所述worker线程根据所述数据校验信息对所述服务器分批次返回的所述文件对应的数据进行校验。
[0012]在本申请实施例中,通过数据校验信息对服务器返回的数据进行校验,实现数据的有效且准确地校验。
[0013]作为一种可能的实现方式,所述下载方法还包括:在通过所述worker线程确定任意批次返回的数据没有通过校验时,通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;通过所述worker线程对所述服务器返回的相应批次的所述文件对应的数据进行校验;在所述服务器返回的相应批次的所述文件对应的数据仍然没有通过校验时,若确定针对该相应批次的所述文件对应的数据的请求次数在预设的请求次数内,则通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;若所述服务器返回的相应批次的所述文件对应的数据通过校验,则通过所述worker线程下载相应批次的所述文件对应的数据。
[0014]在本申请实施例中,如果重新请求之后,服务器返回的数据仍然没有通过校验,可以在预设的请求次数内,再次请求对应的数据,直至校验通过,再下载,实现文件下载的容错处理。
[0015]作为一种可能的实现方式,所述下载方法还包括:若确定针对该相应批次的所述文件对应的数据的请求次数达到预设的请求次数,所述服务器返回的相应批次的所述文件对应的数据均未通过校验,输出用于指示文件下载失败的提示信息。
[0016]在本申请实施例中,若在文件对应的数据的请求次数达到预设的请求次数,且服务器返回的相应的数据仍然没有通过校验,输出用于指示文件下载失败的提示信息,实现文件下载失败时的有效处理。
[0017]作为一种可能的实现方式,所述从所述worker线程的内存中下载所述对应的文件到本地的文件系统中,包括:通过所述worker线程返回用于下载所述对应的文件的url(Uniform Resource Locator,统一资源定位器)链接;在接收到所述url链接的跳转请求时,从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
[0018]在本申请实施例中,利用url链接,实现将worker线程的内存中生成的文件有效的下载到本地的文件系统中。
[0019]第二方面,本申请实施例提供一种文件的下载装置,包括:用于实现第一方面以及
第一方面的任意一种可能的实现方式中所述的文件的下载方法的各个功能模块。
[0020]第三方面,本申请实施例提供一种电子设备,包括:处理器;以及与所述处理器通信连接的存储器和显示器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行第一方面以及第一方面的任意一种可能的实现方式中所述的文件的下载方法。
[0021]第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行第一方面以及第一方面的任意一种可能的实现方式中所述的文件的下载方法。
附图说明
[0022]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件的下载方法,其特征在于,包括:在接收到文件的下载请求时,新建worker线程,并设置所述worker线程的下载参数;通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中;通过所述worker线程基于所述文件对应的数据生成对应的文件;从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。2.根据权利要求1所述的下载方法,其特征在于,所述下载参数包括:所述文件对应的数据的数据总条数和单次最大数据请求量;所述通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中,包括:通过所述worker线程基于所述数据总条数和所述单次最大数据请求量确定所述文件对应的数据的请求次数;通过所述worker线程基于所述数据请求次数生成多个请求队列;通过所述worker线程基于所述多个请求队列分批次的向所述服务器请求所述文件对应的数据;通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据;通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。3.根据权利要求2所述的下载方法,其特征在于,在所述通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据之后,所述下载方法还包括:通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验;所述通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中,包括:在通过所述worker线程确定分批次返回的所述文件对应的数据通过校验时,通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。4.根据权利要求3所述的下载方法,其特征在于,所述文件对应的数据中包括数据校验信息;所述通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验,包括:通过所述worker线程根据所述数据校验信息对所述服务器分批次返回的所述文件对应的数据进行校验。5.根据权利要求3所述的下载方法,其特征在于,所述下载方法还包括:在通过所述worker线程确定任意批次...

【专利技术属性】
技术研发人员:吴建伟
申请(专利权)人:高途教育科技集团有限公司
类型:发明
国别省市:

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

1