一种下载优化方法及装置、终端的制作方法

文档序号:7812839阅读:122来源:国知局
一种下载优化方法及装置、终端的制作方法
【专利摘要】本发明实施例公开了一种下载优化方法及装置、终端。其中,该方法包括:接收输入的下载指令;响应下载指令,创建读线程和写线程;调用读线程将服务器发送的多个数据写入缓冲区;调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件。本发明实施例中,在缓冲区不为满且不为空时,终端设备可以同时通过读线程和写线程将下载指令指示的下载地址信息对应的服务器发送的数据写入到本地文件,从而充分利用带宽,加快了下载的速率。
【专利说明】一种下载优化方法及装置、终端

【技术领域】
[0001]本发明涉及互联网【技术领域】,具体涉及一种下载优化方法及装置、终端。

【背景技术】
[0002]目前,随着智能手机、平板电脑等接入网络的终端设备越来越普及,网络上出现了各种各样可安装在终端设备上的应用软件,这些应用软件的安装和应用大多需要接入网络获取数据,从而给人们的工作和生活带来诸多便利。在实际应用中,终端设备接入网络获取数据时,常常耗时较长,尤其是在2G或3G的网络环境下,下载过程不仅耗时长,还易出现网络异常现象,导致下载失败,因此,如何改善下载效率是亟待解决的问题。


【发明内容】

[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]可选地,所述装置还包括:
[0035]写线程暂停模块,用于在所述检测模块检测到所述缓冲区的存储状态为空时,暂停所述写线程以使所述写线程处于阻塞状态,并在暂停所述写线程之后触发所述检测模块执行所述的检测所述缓冲区的存储状态的操作。
[0036]其中,所述读线程模块包括:
[0037]接收单元,用于调用所述创建模块创建的读线程接收所述服务器发送的数据;
[0038]写入单元,用于将所述接收单元接收的所述数据划分为多个数据单元,并将所述多个数据单元根据第一预设规则写入所述缓冲区。
[0039]其中,所述写线程模块具体用于调用所述创建模块创建的写线程,根据第二预设规则将所述缓冲区中的所述多个数据单元写入本地文件。
[0040]本发明实施例第三方面公开一种终端,该终端包括上述发明实施例所述的装置。
[0041]本发明实施例可以接收并响应下载指令,可以创建读线程和写线程,并调用读线程将服务器发送来的多个数据写入缓冲区,其中服务器与下载地址信息相对应,同时,还可以调用写线程将缓冲区缓冲的多个数据写入本地文件。可见,本发明实施例可以同时通过读线程和写线程的运行将下载地址对应的服务器发送来的数据写入到本地文件,从而充分利用带宽,加快了下载的速率。

【专利附图】

【附图说明】
[0042]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1是本发明实施例公开的一种下载优化方法的流程示意图;
[0044]图2是本发明实施例公开的另一种下载优化方法的流程示意图;
[0045]图3是本发明实施例公开的一种下载优化装置的结构示意图;
[0046]图4是本发明实施例公开的另一种下载优化装置的结构示意图。

【具体实施方式】
[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]本发明实施例公开了一种下载优化方法及装置、终端,能够通过读线程和写线程并行处理数据,从而充分利用带宽,提高下载效率。以下分别进行详细说明。
[0049]请参阅图1,图1是本发明实施例公开的一种下载优化方法的流程示意图。如图1所示,该下载优化方法可以包括以下步骤。
[0050]S101、接收输入的下载指令,其中,该下载指令中包括下载地址信息。
[0051]本发明实施例中,可以由智能手机、电脑、电视以及可接入网络设备等需执行下载任务的终端设备来接收输入的下载指令。其中,输入下载指令的方式可以有多种,如通过显示屏点击或者输入下载地址或者通过语音输入关键词等。
[0052]S102、响应下载指令,创建读线程和写线程。
[0053]本发明实施例中,终端设备接收针对下载地址输入的下载指令时,可以响应该下载指令,创建读线程和写线程。
[0054]S103、调用读线程将服务器发送来的多个数据分别写入缓冲区,其中,该服务器与该下载地址信息相对应。
[0055]其中,读线程可以根据下载地址信息中包括的下载地址建立与服务器之间的网络连接,并创建缓冲区,以使步骤S103从网络连接读取下载地址对应的服务器发送的多个数据并写入缓冲区。
[0056]S104、调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件。
[0057]本发明实施例中,终端设备可以并行循环执行步骤S103和步骤S104。由于缓冲区采用队列方式处理数据,因此终端设备执行步骤S103和步骤S104时,采用先进先出的方式处理缓冲区中缓冲的数据。
[0058]具体地,在调用读线程将服务器发送来的多个数据写入缓冲区之前,还可以执行以下步骤:
[0059]11)检测缓冲区的存储状态;
[0060]12)当检测到该缓冲区的存储状态不为满时,执行步骤S103 ;
[0061]13)当检测到该缓冲区的存储状态不为空时,执行步骤S104 ;
[0062]14)当检测到该缓冲区的存储状态为满时,暂停该读线程以使读线程处于阻塞状态,并执行步骤11);
[0063]15)当检测到该缓冲区的存储状态为空时,暂停该写线程以使写线程处于阻塞状态,并执行步骤11)。
[0064]其中,线程是进程中的一个实体,是被终端设备独立调度和分派的基本单元,而线程自己不拥有处理资源,只拥有运行中必不可少的资源,但线程可以与其他属于同一个进程的其他线程共享进程的全部资源。因此,多个线程之间可以并发执行,且相互制约,使线程在运行中呈现间断性。
[0065]读线程和写线程均有两种状态:阻塞状态和运行状态。
[0066]当读线程处于阻塞状态,即暂停调用读线程将服务器发送来的多个数据写入缓冲区时,终端设备可以执行一次调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件的操作,就可以通过写线程激活读线程以使读线程处于运行状态,即终端设备继续执行调用读线程将服务器发送来的多个数据写入缓冲区的操作。因为调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件后,缓冲区中被检测到具有空闲的空间可以继续往里读入数据,因此,读线程可以继续运行了。
[0067]当写线程处于阻塞状态,即暂停调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件时,终端设备可以执行一次调用读线程将服务器发送来的多个数据写入缓冲区之后,就可以通过读线程激活写线程以使写线程处于运行状态,即终端设备可以继续执行调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件的步骤。因为调用读线程将服务器发送来的多个数据写入缓冲区后,缓冲区中重新被检测到有新增的数据可以被写入本地文件,因此,写线程可以继续运行了。
[0068]本发明中,检测缓冲区的存储状态的步骤是不断循环进行的,也就是说,当读线程或者写线程处于阻塞状态后,一旦有需要,很快可以被调起重新工作,提高了读线程与写线程的工作效率。
[0069]具体地,终端设备调用读线程将服务器发送来的多个数据写入缓冲区具体可以包括以下步骤:
[0070]21)调用读线程接收服务器发送的数据;
[0071]22)将接收的数据划分为多个数据单元;
[0072]23)将多个数据单元根据第一预设规则写入缓冲区。
[0073]其中,第一预设规则可以根据缓冲区的管理办法确定,如若缓冲区采用先进先出原则,则终端设备可以调用读线程按照先进先出原则将多个数据单元写入缓冲区,或者调用写线程按照先进先出原则将多个数据单元中的数据写入本地文件。
[0074]相应地,终端设备调用写线程将缓冲区的数据写入本地文件具体可以为调用写线程根据第二预设规则将缓冲区缓冲的多个数据单元的数据写入本地文件,其中,该第二预设规则可以根据第一预设规则确定,如先进先出的将缓冲区缓冲的数据单元一一写入本地文件。
[0075]在图1所描述的方法中,终端设备接收到输入的下载指令时,可以创建读线程和写线程;终端设备可以通过读线程从下载地址信息对应的服务器接收数据,并写入缓冲区,同时,终端设备可以调用写线程将缓冲区缓冲的多个数据一一写入本地文件。可见,图1所描述的方法中在缓冲区有数据且有可用缓存空间时,终端设备可以同时调用读线程和写线程将下载地址对应的服务器的数据写入到本地文件,从而充分利用带宽,加快了下载的速率。
[0076]请参阅图2,图2是本发明实施例公开的另一种下载优化方法的流程示意图。如图2所示,该下载优化方法可以包括以下步骤。
[0077]S201、接收输入的下载指令。
[0078]其中,该下载指令中包括下载地址信息。
[0079]S202、响应下载指令,创建读线程和写线程。
[0080]S203、检测缓冲区的存储状态,当检测到该缓冲区的存储状态不为满时,执行步骤S204 ;当检测到该缓冲区的存储状态不为空时,执行步骤S205 ;同时,当检测到该缓冲区的存储状态为满时,除执行步骤S205外,还可以执行步骤S206 ;当检测该缓冲区的存储状态为空时,除执行步骤S204外,还可以执行步骤S207。
[0081]S204、调用读线程将服务器发送来的多个数据写入缓冲区。
[0082]相应地,终端设备执行完步骤S204之后,可以继续执行步骤S203检测缓冲区的存储状态。
[0083]其中,该服务器与下载地址信息中的下载地址相对应,从该服务器可以接收该下载地址对应的目标文件的数据。
[0084]可选地,终端设备执行步骤S204可以包括步骤21)至步骤23)。
[0085]其中,若读线程处于阻塞状态,则终端设备调用读线程将服务器发送来的多个数据写入缓冲区具体可以为:通过写线程激活读线程使读线程处于运行状态,并将服务器发送的多个数据写入缓冲区。
[0086]S205、调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件。
[0087]可选地,终端设备执行步骤S205具体可以为调用写线程根据第二预设规则将缓冲区缓冲的多个数据单元中的数据写入本地文件。
[0088]其中,若写线程处于阻塞状态,则终端设备调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件具体可以为:通过读线程激活写线程使写线程处于运行状态,并将缓冲区缓冲的多个数据中的数据写入本地文件。
[0089]S206、暂停读线程以使读线程处于阻塞状态,并在暂停该读线程之后,继续执行步骤 S203 ;
[0090]S207、暂停写线程以使写线程处于阻塞状态,并在暂停写线程之后执行步骤S203。
[0091]需要注意的是,本发明实施例的方案是在获取下载地址对应的目标文件的过程中的处理步骤,而当下载地址对应的目标文件的数据已全部从服务器下载完毕后,终端设备会分别暂停读线程和写线程,并且释放读线程和写线程拥有的资源。
[0092]在图2所描述的方法中,终端设备创建读线程和写线程后,检测缓冲区的存储状态,可以在缓冲区不为满时,调用读线程将下载地址对应的服务器发送的多个数据分别写入缓冲区;或者在缓冲区不为空时,调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件,本发明实施例可以在接收服务器发送的数据的同时,将缓冲区的数据写入本地文件,充分利用带宽,提高了下载效率。进一步地,当缓冲区已满时,可以暂停读线程以停止向缓冲区写数据的操作,并在写线程执行一次将缓冲区中的数据写入本地文件的操作(即缓冲区不为满)时,就会激活读线程继续往缓冲区写数据;而当缓冲区为空时,会暂停写线程以停止读取缓冲区的数据的操作,并在读线程执行一次将服务器发送的数据写入缓冲区的操作后(即缓冲区不为空时),就可以通过读线程激活写线程继续将缓冲区的数据写入本地文件,从而可以使读线程和写线程在没有数据处理时及时暂停,在有数据时可以一直运行,降低了终端设备的处理负担。
[0093]请参阅图3,图3是本发明实施例公开的一种下载优化装置的结构示意图。其中,图3所示的下载优化装置中包括以下模块。
[0094]接收模块1,用于接收输入的下载指令。
[0095]其中,下载指令中包括下载地址信息。
[0096]创建模块2,用于响应接收模块I接收的下载指令,创建读线程和写线程;
[0097]读线程模块3,用于调用创建模块2创建的读线程将服务器发送的多个数据写入缓冲区,其中,该服务器与下载地址信息相对应;
[0098]写线程模块4,用于调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件。
[0099]其中,下载地址信息对应的服务器发送的多个数据是指下载地址信息所请求的目标文件的数据。
[0100]请一并参阅图4,图4是本发明实施例公开的另一种下载优化装置的结构示意图。其中,图4所示的下载优化装置是由图3所示的下载优化装置进行优化得到的。与图3所示的装置相比较,图4所示的下载优化装置还可以包括:
[0101]检测模块5,用于检测缓冲区的存储状态,并在检测到所述缓冲区的存储状态不为满时,触发读线程模块3执行调用读线程将服务器发送来的多个数据写入缓冲区的操作,以及在检测到缓冲区的存储状态不为空时,触发写线程模块4执行调用写线程将缓冲区缓冲的多个数据中的数据写入本地文件的操作。
[0102]相应地,读线程模块3和写线程模块4可以在执行一次相应的操作后,可以触发检测模块5检测缓冲区的存储状态,若该存储状态不为空且不为满,则读线程模块3和写线程模块4可以同时执行相应的操作。
[0103]为了避免读线程将服务器发送的数据写入缓冲区的速度大于写线程将缓冲区缓冲的多个数据中的数据写入本地文件的速度,而导致缓冲区数据溢出,图4所示的下载优化装置还可以包括读线程暂停模块6。
[0104]读线程暂停模块6,用于在检测模块5检测到缓冲区为满时,暂停读线程以使读线程处于阻塞状态,并在暂停读线程之后,触发检测模块5执行检测缓冲区的存储状态的操作。
[0105]相应地,为避免读线程将服务器发送的数据写入缓冲区的速度小于写线程将缓冲区缓冲的多个数据中的数据写入本地文件的速度,而导致缓冲区没有数据时,写线程还继续执行写入本地文件的操作,图4所示的下载优化装置还可以包括写线程暂停模块7。
[0106]写线程暂停模块7,用于在检测模块5检测到所述缓冲区的存储状态为空时,暂停写线程以使写线程处于阻塞状态,并在暂停写线程之后触发检测模块5执行检测缓冲区的存储状态的操作。
[0107]另外,在图4所示的下载优化装置中,读线程模块3还可以包括以下单元:
[0108]接收单元31,用于调用读线程接收服务器发送的数据;
[0109]具体地,接收单元31用于在检测模块5检测到缓冲区的存储状态不为满时,调用读线程接收服务器发送的数据。
[0110]写入单元32,用于将接收单元31接收的数据划分为多个数据单元,并将多个数据单元根据第一预设规则(如先入先出规则)写入缓冲区。
[0111]另外,在本发明实施例中,写线程模块4具体用于调用写线程,根据第二预设规则(如先入先出规则)将缓冲区中缓冲的多个数据单元写入本地文件。
[0112]在图3和图4所描述的下载优化装置中,可以利用读线程和写线程将服务器发送的数据写入本地文件的操作,充分利用了带宽,提高了下载处理效率;进一步地,在图4所描述的下载优化装置中,可以使读线程和写线程在没有数据处理时及时暂停,在有数据时可以一直运行,降低了终端设备的处理负担。
[0113]本发明实施例还公开了一种终端,该终端包括图3和图4对应的实施例所述描述的下载优化装置,该终端可以充分利用带宽,提高下载处理效率,进一步的降低终端设备的处理负担。
[0114]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0115]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0116]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0117]在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(R0M),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0118]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0119]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0120]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0121 ] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
[0122]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0123]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种下载优化方法,其特征在于,包括: 接收输入的下载指令,其中,所述下载指令中包括下载地址信息; 响应所述下载指令,创建读线程和写线程; 调用所述读线程将服务器发送来的多个数据写入缓冲区,其中,所述服务器与所述下载地址信息相对应; 调用所述写线程将所述缓冲区缓冲的所述多个数据中的数据写入本地文件。
2.如权利要求1所述的方法,其特征在于,所述调用所述读线程将服务器发送来的多个数据写入缓冲区之前,所述方法还包括: 检测所述缓冲区的存储状态, 当检测到所述缓冲区的存储状态不为满时,执行调用所述读线程将服务器发送来的多个数据写入缓冲区的步骤; 当检测到所述缓冲区的存储状态不为空时,执行调用所述写线程将所述缓冲区缓冲的所述多个数据中的数据写入本地文件的步骤。
3.如权利要求2所述的方法,其特征在于,所述方法还包括: 当检测到所述缓冲区的存储状态为满时,暂停所述读线程以使所述读线程处于阻塞状态, 并在暂停所述读线程之后执行检测所述缓冲区的存储状态的步骤。
4.如权利要求2所述的方法,其特征在于,所述方法还包括: 当检测到所述缓冲区的存储状态为空时,暂停所述写线程以使所述写线程处于阻塞状态, 并在暂停所述写线程之后执行检测所述缓冲区的存储状态的步骤。
5.如权利要求1所述的方法,其特征在于,所述调用所述读线程将服务器发送来的多个数据写入缓冲区包括: 调用所述读线程接收所述服务器发送的数据; 将接收的所述数据划分为多个数据单元; 将所述多个数据单元根据第一预设规则写入所述缓冲区。
6.如权利要求5所述的方法,其特征在于,所述调用所述写线程将所述缓冲区缓冲的所述多个数据中的数据写入本地文件包括: 调用所述写线程,根据第二预设规则将所述缓冲区缓冲的所述多个数据单元中的数据写入本地文件。
7.一种下载优化装置,其特征在于,包括: 接收模块,用于接收输入的下载指令,其中,所述下载指令中包括下载地址信息; 创建模块,用于响应所述接收模块接收的下载指令,创建读线程和写线程; 读线程模块,用于调用所述创建模块创建的读线程将服务器发送的多个数据写入缓冲区,其中,所述服务器与所述下载地址信息相对应; 写线程模块,用于调用所述创建模块创建的写线程将所述缓冲区缓冲的所述多个数据中的数据写入本地文件。
8.如权利要求7所述的装置,其特征在于,所述装置还包括: 检测模块,用于检测所述缓冲区的存储状态,并在检测到所述缓冲区的存储状态不为满时,触发所述读线程模块执行所述的调用所述读线程将服务器发送来的多个数据写入缓冲区的操作,以及在检测到所述缓冲区的存储状态不为空时,触发所述写线程模块执行所述的调用所述写线程将所述缓冲区缓冲的所述多个数据中的数据写入本地文件的操作。
9.如权利要求8所述的装置,其特征在于,所述装置还包括: 读线程暂停模块,用于在所述检测模块检测到所述缓冲区为满时,暂停所述读线程以使所述读线程处于阻塞状态,并在暂停所述读线程之后,触发所述检测模块执行所述的检测所述缓冲区的存储状态的操作。
10.如权利要求8所述的装置,其特征在于,所述装置还包括: 写线程暂停模块,用于在所述检测模块检测到所述缓冲区的存储状态为空时,暂停所述写线程以使所述写线程处于阻塞状态,并在暂停所述写线程之后触发所述检测模块执行所述的检测所述缓冲区的存储状态的操作。
11.如权利要求7所述的装置,其特征在于,所述读线程模块包括: 接收单元,用于调用所述创建模块创建的读线程接收所述服务器发送的数据; 写入单元,用于将所述接收单元接收的所述数据划分为多个数据单元,并将所述多个数据单元根据第一预设规则写入所述缓冲区。
12.如权利要求11所述的装置,其特征在于,所述写线程模块具体用于调用所述创建模块创建的写线程,根据第二预设规则将所述缓冲区缓冲的所述多个数据单元中的数据写入本地文件。
13.—种终端,其特征在于,所述终端包括权利要求7至11任一项所述的装置。
【文档编号】H04L29/08GK104184817SQ201410432715
【公开日】2014年12月3日 申请日期:2014年8月28日 优先权日:2014年8月28日
【发明者】徐初标 申请人:广州金山网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1