CN114629896A - 文件的下载方法及装置、电子设备、可读存储介质 - Google Patents

文件的下载方法及装置、电子设备、可读存储介质 Download PDF

Info

Publication number
CN114629896A
CN114629896A CN202210411649.7A CN202210411649A CN114629896A CN 114629896 A CN114629896 A CN 114629896A CN 202210411649 A CN202210411649 A CN 202210411649A CN 114629896 A CN114629896 A CN 114629896A
Authority
CN
China
Prior art keywords
downloading
file
worker thread
data corresponding
data
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.)
Pending
Application number
CN202210411649.7A
Other languages
English (en)
Inventor
吴建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gaotu Education Technology Group Co ltd
Original Assignee
Gaotu Education Technology Group Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gaotu Education Technology Group Co ltd filed Critical Gaotu Education Technology Group Co ltd
Priority to CN202210411649.7A priority Critical patent/CN114629896A/zh
Publication of CN114629896A publication Critical patent/CN114629896A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

文件的下载方法及装置、电子设备、可读存储介质
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种文件的下载方法及装置、电子设备、可读存储介质。
背景技术
现有技术中,在进行网页文件的下载时,由网页前端将请求发送给服务器端,并将接收到的服务器端返回的数据写入到文件中,完成文件的下载。
这种下载方式,对大文件下载,需要网页前端在主任务中多次发送下载请求,接收响应及处理;容易堵塞用户的网页操作行为,造成网页卡顿,文件下载速度慢;进而导致文件下载效率低,文件下载成功率也较低。
发明内容
本申请实施例的目的在于提供一种文件的下载方法及装置、电子设备、可读存储介质,用以提高文件的下载效率和文件下载成功率。
第一方面,本申请实施例提供一种文件的下载方法,包括:在接收到文件的下载请求时,新建worker线程,并设置所述worker线程的下载参数;通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中;通过所述worker线程基于所述文件对应的数据生成对应的文件;从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
在本申请实施例中,与现有技术相比,在接收到文件的下载请求时,并不直接通过网页进行下载,而是新建worker线程,通过设置worker线程的下载参数,先通过worker线程基于下载参数从服务器下载文件对应的数据到worker线程的内存,并生成对应的文件;然后再从worker线程的内存中将生成的对应文件下载到本地的文件系统。这样可以避免网页进程发起下载请求,减少频繁的响应及处理,也不会对用户的其他网页操作行为产生堵塞,从而可以减少网页卡顿,进而提升文件下载速度,提高文件的下载效率和文件下载成功率。
作为一种可能的实现方式,所述下载参数包括:所述文件对应的数据的数据总条数和单次最大数据请求量;所述通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中,包括:通过所述worker线程基于所述数据总条数和所述单次最大数据请求量确定所述文件对应的数据的请求次数;通过所述worker线程基于所述数据请求次数生成多个请求队列;通过所述worker线程基于所述多个请求队列分批次的向所述服务器请求所述文件对应的数据;通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据;通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。
在本申请实施例中,在通过worker线程下载文件对应的数据时,可以采用分批次的数据请求方式,一方面,可以减小每次下载数据的压力;另一方面,可以提高文件的下载成功率。
作为一种可能的实现方式,在所述通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据之后,所述下载方法还包括:通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验;所述通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中,包括:在通过所述worker线程确定分批次返回的所述文件对应的数据通过校验时,通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。
在本申请实施例中,对于每次下载过程中,服务器分批次返回的文件对应的数据,通过worker线程对其进行校验,在确定通过校验时,再进行相应的下载操作,实现文件下载的容错处理。
作为一种可能的实现方式,所述文件对应的数据中包括数据校验信息;所述通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验,包括:通过所述worker线程根据所述数据校验信息对所述服务器分批次返回的所述文件对应的数据进行校验。
在本申请实施例中,通过数据校验信息对服务器返回的数据进行校验,实现数据的有效且准确地校验。
作为一种可能的实现方式,所述下载方法还包括:在通过所述worker线程确定任意批次返回的数据没有通过校验时,通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;通过所述worker线程对所述服务器返回的相应批次的所述文件对应的数据进行校验;在所述服务器返回的相应批次的所述文件对应的数据仍然没有通过校验时,若确定针对该相应批次的所述文件对应的数据的请求次数在预设的请求次数内,则通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;若所述服务器返回的相应批次的所述文件对应的数据通过校验,则通过所述worker线程下载相应批次的所述文件对应的数据。
在本申请实施例中,如果重新请求之后,服务器返回的数据仍然没有通过校验,可以在预设的请求次数内,再次请求对应的数据,直至校验通过,再下载,实现文件下载的容错处理。
作为一种可能的实现方式,所述下载方法还包括:若确定针对该相应批次的所述文件对应的数据的请求次数达到预设的请求次数,所述服务器返回的相应批次的所述文件对应的数据均未通过校验,输出用于指示文件下载失败的提示信息。
在本申请实施例中,若在文件对应的数据的请求次数达到预设的请求次数,且服务器返回的相应的数据仍然没有通过校验,输出用于指示文件下载失败的提示信息,实现文件下载失败时的有效处理。
作为一种可能的实现方式,所述从所述worker线程的内存中下载所述对应的文件到本地的文件系统中,包括:通过所述worker线程返回用于下载所述对应的文件的url(Uniform Resource Locator,统一资源定位器)链接;在接收到所述url链接的跳转请求时,从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
在本申请实施例中,利用url链接,实现将worker线程的内存中生成的文件有效的下载到本地的文件系统中。
第二方面,本申请实施例提供一种文件的下载装置,包括:用于实现第一方面以及第一方面的任意一种可能的实现方式中所述的文件的下载方法的各个功能模块。
第三方面,本申请实施例提供一种电子设备,包括:处理器;以及与所述处理器通信连接的存储器和显示器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行第一方面以及第一方面的任意一种可能的实现方式中所述的文件的下载方法。
第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行第一方面以及第一方面的任意一种可能的实现方式中所述的文件的下载方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网页前端与服务器的交互示意图;
图2为本申请实施例提供的文件的下载方法的流程图;
图3为本申请实施例提供的文件的下载装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
图标:300-文件的下载装置;310-第一处理模块;320-第二处理模块;400-电子设备;410-处理器;420-存储器;430-显示器;440-输入输出模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的文件下载方法可以应用于网页文件下载的应用场景中。例如:用户在浏览某个检索库的网站时,对网站内提供的文件进行下载。再例如:用户在浏览企业网站时,对企业网站提供的企业资料文件进行下载。
基于网页文件下载的应用场景,对于一个网页来说,其对应的硬件包括:网页前端,例如:用户浏览网站的设备;还包括服务器,用于与网页前端进行交互,实现数据的处理。在本申请实施例中,该文件下载方法对应的硬件环境可以为网页前端,该网页前端可以为手机、电脑等电子设备。
为了便于理解,请参照图1,为本申请实施例提供的网页前端与服务器的交互示意图,网页前端分为网页进程和worker线程。在进行文件下载时,先通过worker线程将文件对应的数据下载到worker线程的内存中(也即浏览器的内存中),并基于文件对应的数据生成对应的文件,然后网页进程再将对应的文件从worker线程的内存下载到本地的文件系统中。
其中,worker线程是一种网页前端的处理线程,网页前端可以利用浏览器自带的功能实现该线程的建立。
基于上述应用场景的介绍,接下来请参照图2,为本申请实施例提供的文件的下载方法的流程图,该下载方法包括:
步骤210:在接收到文件的下载请求时,新建worker线程,并设置worker线程的下载参数。
步骤220:通过worker线程基于下载参数从服务器下载文件对应的数据到worker线程的内存中。
步骤230:通过worker线程基于文件对应的数据生成对应的文件。
步骤240:从worker线程的内存中下载对应的文件到本地的文件系统中。
在本申请实施例中,与现有技术相比,在接收到文件的下载请求时,并不直接通过网页进行下载,而是新建worker线程,通过设置worker线程的下载参数,先通过worker线程基于下载参数从服务器下载文件对应的数据到worker线程的内存,并生成对应的文件;然后再从worker线程的内存中将生成的对应文件下载到本地的文件系统。这样可以避免网页进程发起下载请求,减少频繁的响应及处理,也不会对用户的其他网页操作行为产生堵塞,从而可以减少网页卡顿,进而提升文件下载速度,提高文件的下载效率和文件下载成功率。
接下来对该文件的下载方法的详细实施方式进行介绍。
在步骤210中,文件的下载请求可以是用户在浏览网页的过程中实时发起的需求文件的下载请求;也可以网页前端在处理网页进程的过程中,主动发起的文件的下载请求,最终下载的文件可能作为下一步数据处理的数据源。
基于下载请求,可以利用WebWorker(浏览器自带的功能/工具)新建worker线程。对于下载参数,可以包括:在向服务器请求数据时,向接口发起请求所需要的参数;以及文件对应的数据的数据总条数和单次最大数据请求量。其中,向接口发起请求所需要的参数用于worker线程向服务器请求数据;文件对应的数据的数据总条数和单次最大数据请求量用于worker线程计算数据的请求次数,实现数据的分批次请求。
可以理解,在接收到文件的下载请求时,网页前端相当于建立了对应的网页进程。在完成worker线程的建立之后,网页进程可以将下载参数以消息的形式发送给worker线程,worker线程在接收到下载参数之后,对其进行应用或者配置,即完成worker线程的下载参数的设置。
此外,步骤210中的文件下载请求可以是一个文件的下载请求,也可以是多个文件的下载请求。如果是一个文件的下载请求,则只需建立一个与之对应的worker线程即可;如果是多个文件的下载请求,则可以建立与各个文件的下载请求分别对应的worker线程,然后每个worker线程按照相同的处理方式完成相应的文件的下载。
在步骤220中,通过worker线程基于下载参数从服务器下载文件对应的数据到worker线程的内存中。worker线程的内存,可以理解为浏览器的内存,是一种虚拟内存。为了便于worker线程可以更高效地下载文件对应的数据,作为一种可选的实施方式,步骤220包括:通过worker线程基于数据总条数和单次最大数据请求量确定文件对应的数据请求次数;通过worker线程基于数据请求次数生成多个请求队列;通过worker线程基于多个请求队列分批次的向服务器请求文件对应的数据;通过worker线程接收服务器分批次返回的文件对应的数据;通过worker线程将分批次返回的文件对应的数据下载到worker线程的内存中。
其中,文件对应的数据的请求次数=数据总条数/单次最大数据请求量。例如:数据总条数为10000条,单次最大数据请求量(一次最多请求的数据)为100条,则数据的请求次数=10000/100=100,即worker线程需要向服务器请求100次。
在确定数据的请求次数之后,worker线程基于数据请求次数生成多个请求队列。作为一种可选的实施方式,将多个请求进行分组,每组包括预设数量的请求,这多组请求组成的队列便为请求队列。举例来说,假设数据请求次数为100次,则对应的请求也有100个,那么,可以将100个请求分为20组,每组包括5个请求。
基于多个请求队列,worker线程可以分批次的向服务器请求文件对应的数据,并对应的接收服务器分批次返回的文件对应的数据;最后,再将分批次返回的文件对应的数据下载到worker线程的内存中。
在本申请实施例中,在通过worker线程下载文件对应的数据时,可以采用分批次的数据请求方式,一方面,可以减小每次下载数据的压力;另一方面,可以提高文件的下载成功率。
可以理解,服务器每次返回的数据可能是正确的、完整的数据,也可能是不正确或者不完整的数据,因此,为了保证下载的数据的准确性,可以增加相应的容错处理。作为一种可选的实施方式,在worker线程接收服务器分批次返回的文件对应的数据之后,该下载方法还包括:通过worker线程对服务器分批次返回的文件对应的数据进行校验;通过worker线程将分批次返回的文件对应的数据下载到worker线程的内存中,包括:在通过worker线程确定分批次返回的文件对应的数据通过校验时,通过worker线程将分批次返回的文件对应的数据下载到worker线程的内存中。
在这种实施方式中,对于每次下载的分批次的文件对应的数据,通过worker线程对其进行校验。作为一种可选的校验方式,在文件对应的数据中包括数据校验信息,worker线程根据数据校验信息对服务器分批次返回的文件对应的数据进行校验。
其中,数据校验信息可用于校验数据的正确性、完整性等。该数据校验信息可以是文件数据的校验标识(例如校验码等);关于文件数据的校验方式,属于本领域成熟的技术,在本申请实施例中不作详细介绍。
在本申请实施例中,通过数据校验信息对服务器返回的数据进行校验,实现数据的有效且准确的校验。
如果服务器返回的数据通过校验,则worker线程可以下载返回的数据。
如果服务器返回的数据没有通过校验,此时:worker线程可以向服务器重新请求相应批次的文件对应的数据。然后worker线程对服务器再次返回的相应批次的文件对应的数据进行校验。如果服务器返回的相应批次的文件对应的数据仍然没有通过校验,且确定针对该相应批次的文件对应的数据的请求次数在预设的请求次数内,此时可以再次向服务器重新请求相应批次的文件对应的数据;如果服务器返回的相应批次的文件对应的数据通过校验,则通过worker线程下载相应批次的文件对应的数据。
在这种实施方式中,相当于,如果重新请求之后,服务器返回的数据仍然没有通过校验,可以在预设的请求次数内,再次请求对应的数据,直至校验通过,再下载,实现文件下载的容错处理。
请求次数,可以根据网页前端的处理能力(包括处理速度和处理效果等)进行设置。例如:如果网页前端的处理能力较强,则请求次数可以相应的较多,比如:4-5次。如果网页前端的处理能力较弱,则请求次数可以相应的较少,比如:2-3次。或者请求次数也可以采用其他可实施的预设方式,在本申请实施例中不作限定。
作为另一种可能性,如果确定针对该相应批次的文件对应的数据的请求次数达到预设的请求次数,服务器返回的相应批次的文件对应的数据均未通过校验,输出用于指示文件下载失败的提示信息。
在这种实施方式中,在针对该相应批次的文件对应的数据的请求次数达到预设的请求次数之后,服务器返回的相应批次的文件对应的数据均未通过校验时,说明相应批次的文件对应的数据下载失败。由于生成文件需要文件对应的数据都下载成功,其中如果出现下载失败的数据,则该文件也默认为下载失败,因此,此时可以直接输出用于指示文件下载失败的提示信息。
在该提示信息中,可以包括下载失败的原因,例如:数据不完整、数据不正确等。
作为一种可选的实施方式,输出提示信息的方式可以是:worker线程返回空url给网页进程,在网页进程接收到空url之后,确定文件下载失败;并向worker询问下载失败的原因,在worker进程将下载失败的原因返回给网页进程之后,网页进程基于下载失败的原因输出提示信息给用户。
在本申请实施例中,若在文件对应的数据的请求次数达到预设的请求次数,且服务器返回的相应的数据仍然没有通过校验,输出用于指示文件下载失败的提示信息,实现文件下载失败时的有效处理。
上述实施方式适用于任意批次请求的数据,当然,如果worker线程没有分批次请求数据,则针对一次请求的数据,也可以按照上述实施方式对其进行校验,在校验通过后再下载;以及在第一次校验未通过时,还可以多次请求并校验,直至在预设的请求次数内,所请求的数据通过校验。
在本申请实施例中,除了存在文件对应的数据未通过校验会导致下载失败;还存在另一种情况:文件对应的数据虽然通过校验,但是在下载到内存中时,出现错误,这种情况也可认定为下载失败。此时,同样的,worker线程返回空url给网页进程,在网页进程接收到空url之后,确定文件下载失败;并向worker询问下载失败的原因,在worker进程将下载失败的原因返回给网页进程之后,网页进程基于下载失败的原因输出提示信息给用户。
如果每次下载的数据均通过校验,且成功下载到本地,那么,网页前端可执行步骤230,通过worker线程基于文件对应的数据生成对应的文件。
在步骤230中,worker线程可以将分批次的数据转化为文件流,以实现对应文件的生成。例如:将数据转换为二进制文件流。
在步骤230中生成对应的文件之后,执行步骤240,从worker线程的内存中下载对应的文件到本地的文件系统中,该步骤可通过前述实施例中所介绍的网络进程实现。
作为一种可选的实施方式,该步骤包括:通过worker线程返回用于下载文件的url链接;在接收到url链接的跳转请求时,从worker线程的内存中下载对应的文件到本地的文件系统中。
在这种实施方式中,网页前端利用浏览器的a标签(浏览器中自带的标签,通过设置相应的属性,可以下载二进制文件)的特性,返回可以用于下载二进制文件流的url链接;该返回的链接放置在网页进程的消息队列中,用户或者网页进程可以根据对应的需求对该消息进行处理,不影响用户或者网页进程当前的网页操作。在用户或者网页进程发起该url链接的跳转请求时,便可以触发从worker线程的内存中下载文件到本地的文件系统中的操作。
其中,本地的文件系统可以理解为网页前端的文件系统,例如:C盘、D盘等。
进一步地,在将文件成功地下载到本地的文件系统中后,还可以输出相应的提示信息,以告知用户文件下载成功,或者以便于网页进程继续后续的处理进程。
如果文件没有成功的下载到的本地的文件系统中,此时可以输出相应的提示信息,以告知下载失败的原因,和提醒是否需要重新下载等。
采用本申请实施例提供的文件下载方法,由于整个下载过程并不是直接由网页进程实现,而是由新建的worker线程和网页进程共同实现。在加入worker线程后,减轻了网页进程直接向服务器请求的压力,避免堵塞用户的网页操作行为,造成网页卡顿,文件下载速度慢,用户体验差等问题;进而,提升文件下载的成功率和文件下载效率。
此外,在下载过程中,采用的容错处理方式,避免网页前端陷入死循环,一直发送查询请求,导致资源占用的问题;并且有助于在文件下载失败时进行问题数据定位;以及对文件的下载结果进行有效提示。
基于同一发明构思,请参照图3,本申请实施例中还提供一种文件的下载装置300,包括:第一处理模块310和第二处理模块320。
第一处理模块310,用于在接收到文件的下载请求时,新建worker线程,并设置所述worker线程的下载参数。第二处理模块320,用于:通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中;通过所述worker线程基于所述文件对应的数据生成对应的文件;从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
在本申请实施例中,第二处理模块320具体用于:通过所述worker线程基于所述数据总条数和所述单次最大数据请求量确定所述文件对应的数据请求次数;通过所述worker线程基于所述数据请求次数生成多个请求队列;通过所述worker线程基于所述多个请求队列分批次的向所述服务器请求所述文件对应的数据;通过所述worker线程接收所述服务器分批次返回的所述文件对应的数据;通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。
在本申请实施例中,第二处理模块320还用于:通过所述worker线程对所述服务器分批次返回的所述文件对应的数据进行校验;以及具体用于:在通过所述worker线程确定分批次返回的所述文件对应的数据通过校验时,通过所述worker线程将分批次返回的所述文件对应的数据下载到所述worker线程的内存中。
在本申请实施例中,第二处理模块320具体用于:通过所述worker线程根据所述数据校验信息对所述服务器分批次返回的所述文件对应的数据进行校验。
在本申请实施例中,第二处理模块320还用于:在通过所述worker线程确定任意批次返回的数据没有通过校验时,通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;通过所述worker线程对所述服务器返回的相应批次的所述文件对应的数据进行校验;在所述服务器返回的相应批次的所述文件对应的数据仍然没有通过校验时,若确定针对该相应批次的所述文件对应的数据的请求次数在预设的请求次数内,则通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;若所述服务器返回的相应批次的所述文件对应的数据通过校验,则通过所述worker线程下载相应批次的所述文件对应的数据。
在本申请实施例中,第二处理模块320还用于:若确定针对该相应批次的所述文件对应的数据的请求次数达到预设的请求次数,所述服务器返回的相应批次的所述文件对应的数据均未通过校验,输出用于指示文件下载失败的提示信息。
在本申请实施例中,第二处理模块320具体还用于:通过所述worker线程返回用于下载所述对应的文件的url(Uniform Resource Locator,统一资源定位器)链接;在接收到所述url链接的跳转请求时,从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
文件的下载装置300的各个功能模块与文件的下载方法的各个步骤对应,因此,各个功能模块的实施方式可以参照前述实施例中各个步骤的实施方式,在此不再重复介绍。
基于同一发明构思,请参照图4,本申请实施例还提供一种电子设备400,该电子设备400可作为网页前端,包括:处理器410、存储器420、显示器430、输入输出模块440。
处理器410、存储器420、显示器430、输入输出模块440各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。视频字幕的处理方法分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器420中的软件功能模块,例如文件的下载装置300包括的软件功能模块或计算机程序。
处理器410可以是一种集成电路芯片,具有信号处理能力。处理器410可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器420可以存储各种软件程序以及模块,如本申请实施例提供的视频字幕的处理方法及装置对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的方法。
存储器420可以包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read Only Memory,只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除只读存储器),EEPROM(Electric Erasable Programmable Read-Only Memory,电可擦除只读存储器)等。
显示器430为用户提供一个交互界面(例如用户操作界面)以及用于展示提示信息等。在本申请实施例中,显示器430可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器410进行计算和处理。
输入输出模块440可以作为输入或者输出的工具,比如:鼠标、键盘灯,通过输入输出模块440,用户可以更好的完成各种校准操作。
可以理解,图4所示的结构仅为示意,电子设备400还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置,比如:电子设备400还可以包括通信模块等。图4中所示的各组件可以采用硬件、软件或其组合实现。
基于同一发明构思,本申请实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行上述任一实施方式的文件的下载方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

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线程确定任意批次返回的数据没有通过校验时,通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;
通过所述worker线程对所述服务器返回的相应批次的所述文件对应的数据进行校验;
在所述服务器返回的相应批次的所述文件对应的数据仍然没有通过校验时,若确定针对该相应批次的所述文件对应的数据的请求次数在预设的请求次数内,则通过所述worker线程向所述服务器重新请求相应批次的所述文件对应的数据;
若所述服务器返回的相应批次的所述文件对应的数据通过校验,则通过所述worker线程下载相应批次的所述文件对应的数据。
6.根据权利要求5所述的下载方法,其特征在于,所述下载方法还包括:
若确定针对该相应批次的所述文件对应的数据的请求次数达到预设的请求次数,所述服务器返回的相应批次的所述文件对应的数据均未通过校验,输出用于指示文件下载失败的提示信息。
7.根据权利要求1所述的下载方法,其特征在于,所述从所述worker线程的内存中下载所述对应的文件到本地的文件系统中,包括:
通过所述worker线程返回用于下载所述对应的文件的url链接;
在接收到所述url链接的跳转请求时,从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
8.一种文件的下载装置,其特征在于,包括:
第一处理模块,用于在接收到文件的下载请求时,新建worker线程,并设置所述worker线程的下载参数;
第二处理模块,用于:
通过所述worker线程基于所述下载参数从服务器下载所述文件对应的数据到所述worker线程的内存中;
通过所述worker线程基于所述文件对应的数据生成对应的文件;
从所述worker线程的内存中下载所述对应的文件到本地的文件系统中。
9.一种电子设备,其特征在于,包括:
处理器;以及与所述处理器通信连接的存储器和显示器;
其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行权利要求1至7中任一项所述的文件的下载方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行如权利要求1-7任一项所述的文件的下载方法。
CN202210411649.7A 2022-04-19 2022-04-19 文件的下载方法及装置、电子设备、可读存储介质 Pending CN114629896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210411649.7A CN114629896A (zh) 2022-04-19 2022-04-19 文件的下载方法及装置、电子设备、可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210411649.7A CN114629896A (zh) 2022-04-19 2022-04-19 文件的下载方法及装置、电子设备、可读存储介质

Publications (1)

Publication Number Publication Date
CN114629896A true CN114629896A (zh) 2022-06-14

Family

ID=81906320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210411649.7A Pending CN114629896A (zh) 2022-04-19 2022-04-19 文件的下载方法及装置、电子设备、可读存储介质

Country Status (1)

Country Link
CN (1) CN114629896A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018098880A1 (zh) * 2016-11-30 2018-06-07 深圳Tcl数字技术有限公司 网站信息下载方法及装置
CN108989471A (zh) * 2018-09-05 2018-12-11 郑州云海信息技术有限公司 网络系统中日志的管理方法和装置
CN110442819A (zh) * 2019-07-24 2019-11-12 腾讯科技(深圳)有限公司 数据处理方法、装置、存储介质及终端
CN110471593A (zh) * 2019-07-31 2019-11-19 成都摹客科技有限公司 基于web端压缩切图的方法、装置、系统及存储介质
CN111984357A (zh) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 基于WebWorker的资源加载方法、装置、设备及存储介质
CN113411404A (zh) * 2021-06-24 2021-09-17 平安普惠企业管理有限公司 一种文件下载方法、装置、服务器及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018098880A1 (zh) * 2016-11-30 2018-06-07 深圳Tcl数字技术有限公司 网站信息下载方法及装置
CN108989471A (zh) * 2018-09-05 2018-12-11 郑州云海信息技术有限公司 网络系统中日志的管理方法和装置
CN110442819A (zh) * 2019-07-24 2019-11-12 腾讯科技(深圳)有限公司 数据处理方法、装置、存储介质及终端
CN110471593A (zh) * 2019-07-31 2019-11-19 成都摹客科技有限公司 基于web端压缩切图的方法、装置、系统及存储介质
CN111984357A (zh) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 基于WebWorker的资源加载方法、装置、设备及存储介质
CN113411404A (zh) * 2021-06-24 2021-09-17 平安普惠企业管理有限公司 一种文件下载方法、装置、服务器及存储介质

Similar Documents

Publication Publication Date Title
CN108153670B (zh) 一种接口测试方法、装置及电子设备
US20180046606A1 (en) Form Checking Method and Apparatus
CN109922132B (zh) 表单请求处理的方法、装置、电子设备及存储介质
CN112073994A (zh) 用于空中升级的方法、装置、电子设备及可读存储介质
CN111813623B (zh) 一种页面监控方法、装置、电子设备及存储介质
CN112463729B (zh) 数据文件的入库方法、装置、电子设备和介质
CN112182037B (zh) 数据校验方法、装置、设备以及存储介质
CN110737548B (zh) 数据请求方法和服务器
US9645980B1 (en) Verification of native applications for indexing
CN110716956A (zh) 一种数据请求拦截方法和装置
CN110928571A (zh) 业务程序开发方法和装置
US12014170B2 (en) Mini program batch processing method and apparatus, electronic device, and readable storage medium
CN114827280A (zh) 请求处理方法、装置、设备、介质
CN103198062A (zh) 一种监控页面死链和js错误的方法及系统
CN114629896A (zh) 文件的下载方法及装置、电子设备、可读存储介质
CN110851688A (zh) 页面请求方法、装置和设备
CN110674426A (zh) 网页行为上报方法和装置
CN115330486A (zh) 目标订单的生成方法及装置
CN111859403B (zh) 依赖关系漏洞的确定方法、装置、电子设备及存储介质
CN113535590A (zh) 程序测试方法和装置
CN114615325A (zh) 消息推送方法、装置、计算机设备及存储介质
CN109582450B (zh) 应用程序管理方法、装置、介质及电子设备
CN112860770A (zh) 报表生成的方法、装置、电子设备和存储介质
CN112751805A (zh) 一种登录方法及装置
CN111367703A (zh) 故障排查方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination