CN103391326A - 基于浏览器的文件下载方法、系统及客户端 - Google Patents

基于浏览器的文件下载方法、系统及客户端 Download PDF

Info

Publication number
CN103391326A
CN103391326A CN201310332044XA CN201310332044A CN103391326A CN 103391326 A CN103391326 A CN 103391326A CN 201310332044X A CN201310332044X A CN 201310332044XA CN 201310332044 A CN201310332044 A CN 201310332044A CN 103391326 A CN103391326 A CN 103391326A
Authority
CN
China
Prior art keywords
download
file
party
browser
tool
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.)
Granted
Application number
CN201310332044XA
Other languages
English (en)
Other versions
CN103391326B (zh
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.)
Beijing Kingsoft Internet Security Software Co Ltd
Conew Network Technology Beijing Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Conew Network Technology Beijing Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and Technology 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 Beijing Kingsoft Internet Security Software Co Ltd, Conew Network Technology Beijing Co Ltd, Shell Internet Beijing Security Technology Co Ltd, Zhuhai Juntian Electronic Technology Co Ltd, Beijing Kingsoft Internet Science and Technology Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201310332044.XA priority Critical patent/CN103391326B/zh
Publication of CN103391326A publication Critical patent/CN103391326A/zh
Application granted granted Critical
Publication of CN103391326B publication Critical patent/CN103391326B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提出了一种基于浏览器的文件下载方法,包括以下步骤:当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取文件的文件信息,其中,文件的文件信息包括文件下载地址和文件应答头信息;根据文件信息判断是否使用第三方下载工具下载文件;如果判断使用第三方下载工具下载文件,则进一步判断第三方下载工具是否启动成功;如果判断第三方下载工具启动成功,则通过第三方下载工具下载文件,并终止浏览器下载模式。根据本发明实施例的基于浏览器的文件下载方法,在保证下载速度较高的同时提升下载的成功率。本发明还提出了一种基于浏览器的文件下载系统及客户端。

Description

基于浏览器的文件下载方法、系统及客户端
技术领域
本发明涉及通讯技术领域,特别涉及一种基于浏览器的文件下载方法、基于浏览器的文件下载系统及客户端。
背景技术
网页浏览器Internet Explorer(简称IE)是为全世界所广泛使用的WindowsInternet Explorer浏览器,由于习惯问题IE的普及率格外高。在通过网页页面进行文件下载时,IE是将文件作为一个独立的整体来进行下载,因此下载速度较慢。
为提高下载速度,目前是通过下载工具(诸如迅雷、电驴等第三方下载工具)进行文件下载的,下载工具是通过把一个文件分成几个(破解版本甚至可以分为几十个、几百个)部分,并且可从不同的站点同时下载,因此可以成倍的提高速度。但是由于主机(客户端)限制cookie等信息,从而导致可能出现一定概率导致第三方下载失败。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的一个目的在于提出一种基于浏览器的文件下载方法,该方法不仅可保证较快的下载速度,同时提升下载的成功率。
本发明的另一个目的在于提出一种基于浏览器的文件下载系统。
本发明的再一目的在于提出一种客户端。
为达到上述目的,本发明第一方面的实施例提供了一种基于浏览器的文件下载方法,包括以下步骤:当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取所述文件的文件信息,其中,所述文件的文件信息包括文件下载地址和文件应答头信息;根据所述文件信息判断是否使用第三方下载工具下载所述文件;如果判断使用所述第三方下载工具下载文件,则进一步判断所述第三方下载工具是否启动成功;以及如果判断所述第三方下载工具启动成功,则通过所述第三方下载工具下载所述文件,并终止所述浏览器下载模式。
根据本发明实施例的基于浏览器的文件下载方法,当第三方下载工具可成功下载时,通过第三方下载工具进行下载,当第三方下载工具下载失败时,可通过浏览器下载模式进行下载,由此,在不影响下载速度的同时,提升下载的成功率。
另外,根据本发明上述实施例的基于浏览器的文件下载方法还可以具有如下附加的技术特征:
在一些示例中,所述根据所述文件信息判断是否使用第三方下载工具下载所述文件,进一步包括:根据所述文件信息的文件应答头信息判断所述文件的大小;如果所述文件的大小大于第一预设值,则判断使用所述第三方下载工具下载所述文件。
在一些示例中,所述判断所述第三方下载工具是否启动成功,进一步包括:通过所述第三方下载工具提供的接口调用所述第三方下载工具;如果所述第三方下载工具与所述文件提供服务器建立连接成功,且得到所述文件提供服务器的正确应答,并开始从所述文件提供服务器下载所述文件,则判断所述第三方下载工具启动成功。
在一些示例中,还包括:如果判断不使用所述第三方下载工具下载文件,则继续通过所述浏览器下载模式下载所述文件,并取消所述预设限制速度。
在一些示例中,所述获取所述文件的文件信息,进一步包括:所述浏览器调用浏览器下载管理器,以获取下载函数;所述下载函数通过浏览器下载模式的下载通道获取所述文件的文件信息,其中,所述浏览器下载模式指所述浏览器通过调用浏览器下载管理器下载文件。
在一些示例中,所述浏览器调用浏览器下载管理器,进一步包括:所述浏览器以查询服务的方式向服务端发送浏览器下载管理器获取请求;所述服务端搜索相应的浏览器下载管理器,并将搜索到的所述浏览器下载管理器提供给所述客户端以供所述浏览器调用。
本发明第二方面的实施例提供了一种基于浏览器的文件下载系统,包括:客户端和文件提供服务器,其中,所述客户端用于在检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取文件的文件信息,并根据所述文件信息判断是否使用第三方下载工具下载所述文件,并在判断使用所述第三方下载工具下载文件时,进一步判断所述第三方下载工具是否启动成功,以及在判断所述第三方下载工具启动成功后,通过所述第三方下载工具从所述文件提供服务器中下载所述文件,并终止所述浏览器下载模式,其中,所述文件的文件信息包括文件下载地址和文件应答头信息;所述文件提供服务器用于存储所述文件,并提供下载服务。
根据本发明实施例的基于浏览器的文件下载系统,当第三方下载工具可成功下载时,通过第三方下载工具进行下载,当第三方下载工具下载失败时,可通过浏览器下载模式进行下载,由此,在不影响下载速度的同时,提升下载的成功率。
另外,根据本发明上述实施例的基于浏览器的文件下载系统还可以具有如下附加的技术特征:
在一些示例中,所述客户端用于根据所述文件信息的文件应答头信息判断所述文件的大小,如果所述文件的大小大于第一预设值,则判断使用所述第三方下载工具下载所述文件。
在一些示例中,所述客户端用于通过所述第三方下载工具提供的接口调用所述第三方下载工具,如果所述第三方下载工具与所述文件提供服务器建立连接成功,且得到所述文件提供服务器的正确应答,并开始从所述文件提供服务器下载所述文件,则判断所述第三方下载工具启动成功。
在一些示例中,所述客户端还用于在判断不使用所述第三方下载工具下载文件时,继续通过所述浏览器下载模式下载所述文件,并取消所述预设限制速度。
在一些示例中,所述客户端用于通过所述浏览器调用浏览器下载管理器,以获取下载函数,并使用所述下载函数通过浏览器下载模式的下载通道获取所述文件的文件信息,其中,所述浏览器下载模式指所述浏览器通过调用浏览器下载管理器下载文件。
在一些示例中,其中,所述浏览器以查询服务的方式向服务端发送浏览器下载管理器获取请求,所述服务端搜索相应的浏览器下载管理器,并将搜索到的所述浏览器下载管理器提供给所述客户端以供所述浏览器调用。
本发明第三方面的实施例提供了一种客户端,所述客户端包括:外壳、屏幕、处理器、内存、电路板和电源电路,其中,所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器和所述内存设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述处理器用于处理数据,并具体用于:当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取所述文件的文件信息,并根据所述文件信息判断是否使用第三方下载工具下载所述文件,如果判断使用所述第三方下载工具下载文件,则进一步判断所述第三方下载工具是否启动成功,以及如果判断所述第三方下载工具启动成功,则通过所述第三方下载工具下载所述文件,并终止所述浏览器下载模式,其中,所述文件的文件信息包括文件下载地址和文件应答头信息。
根据本发明实施例的客户端,当第三方下载工具可成功下载时,通过第三方下载工具进行下载,当第三方下载工具下载失败时,可通过浏览器下载模式进行下载,由此,在不影响下载速度的同时,提升下载的成功率。
另外,根据本发明上述实施例的客户端还可以具有如下附加的技术特征:
在一些示例中,所述处理器用于根据所述文件信息的文件应答头信息判断所述文件的大小,如果所述文件的大小大于第一预设值,则判断使用所述第三方下载工具下载所述文件。
在一些示例中,所述处理器用于通过所述第三方下载工具提供的接口调用所述第三方下载工具,如果所述第三方下载工具与所述文件提供服务器建立连接成功,且得到所述文件提供服务器的正确应答,并开始从所述文件提供服务器下载所述文件,则判断所述第三方下载工具启动成功。
在一些示例中,所述处理器还用于在判断不使用所述第三方下载工具下载文件时,继续通过所述浏览器下载模式下载所述文件,并取消所述预设限制速度。
在一些示例中,所述处理器用于通过所述浏览器调用浏览器下载管理器,以获取下载函数,并使用所述下载函数通过浏览器下载模式的下载通道获取所述文件的文件信息,其中,所述浏览器下载模式指所述浏览器通过调用浏览器下载管理器下载文件。
在一些示例中,其中,所述浏览器以查询服务的方式向服务端发送浏览器下载管理器获取请求,所述服务端搜索相应的浏览器下载管理器,并将搜索到的所述浏览器下载管理器提供给所述客户端以供所述浏览器调用。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明所述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的基于浏览器的文件下载方法的流程图;
图2是根据本发明另一个实施例的基于浏览器的文件下载方法的流程图;
图3是根据本发明一个实施例的基于浏览器的文件下载系统的结构图;以及
图4是根据本发明一个实施例的客户端的结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解所述术语的具体含义。
以下结合附图描述根据本发明实施例的基于浏览器的文件下载方法、系统及客户端。
图1是根据本发明一个实施例的基于浏览器的文件下载方法的流程图。如图1所示,根据本发明一个实施例的基于浏览器的文件下载方法,包括如下步骤:
步骤S101:当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取文件的文件信息,其中,文件的文件信息包括但不限于文件下载地址和文件应答头信息。文件应答头信息包括诸如文件类型、文件大小等信息。
在本发明的一个实施例中,浏览器可通过浏览器下载模式的下载通道获取文件的文件信息。浏览器例如为IE浏览器。具体地说,获取文件的文件信息,进一步包括:
(1)浏览器调用浏览器下载管理器,以获取下载函数。
(2)下载函数通过浏览器下载模式的下载通道获取文件的文件信息,其中,浏览器下载模式指浏览器通过调用浏览器下载管理器下载文件。
综上,假设浏览器位于客户端中,而文件位于服务器中。当用户触发客户端中显示在浏览器的页面中的下载按钮后,浏览器将发送下载请求至服务器,浏览器通过浏览器下载模式的下载通道从服务器中下载文件的文件信息,此时,浏览器通过浏览器下载模式以预设限制速度从服务器中下载文件。其中,预设限制速度至将下载速度限制为一个相对较低的速度。即设置原下载流程以低速(预设限制速度)的方式下载。即浏览器通过浏览器下载模式以低速下载文件,并将下载的内容暂存在诸如安装有该浏览器的客户端的内存中。
进一步而言,浏览器调用浏览器下载管理器,进一步包括:
(1)浏览器以查询服务(QueryService)的方式向服务端发送浏览器下载管理器获取请求。
(2)服务端搜索相应的浏览器下载管理器,并将搜索到的浏览器下载管理器提供给客户端以供浏览器调用,即以便浏览器进行回调使用。
当IE浏览器检测到有下载发生时,IE浏览器调用IDownloadManager::Download函数(即下载管理器的下载函数),并可通过此函数获取文件的文件信息(文件信息包括文件下载地址和头信息,即文件下载url及文件应答头信息)。
步骤S102:根据文件信息判断是否使用第三方下载工具下载文件。
例如:可根据上述文件应答头信息判断是否要进行第三方下载(即是否利用第三方下载工具下载文件)。具体而言,根据文件信息判断是否使用第三方下载工具下载所述文件,包括:
(1)根据文件信息的文件应答头信息判断文件的大小。根据文件信息的文件应答头信息能够反映出文件的大小,即文件应大头信息中包括文件大小的信息。
(2)如果文件的大小大于第一预设值,则判断使用第三方下载工具下载文件。其中,第一预设值可根据经验值确定,也可根据当前网速情况确定。例如,当文件大于10兆时,通常认为为比较大的文件,通过高速下载工具进行下载比较省时间,此时,第一预设值可被设置为10兆。再如,如果当前的网速较快也比较稳定,则可将第一预设值设置较大一些,如30兆等。
需要说明的是,上述示例中第一预设值被设置为10兆或者30兆只是示例性的,并不能作为对本发明的限制。
步骤S103:如果判断使用第三方下载工具下载文件,则进一步判断第三方下载工具是否启动成功。
具体地说,如果利用第三方下载,则在以浏览器模式下载文件的同时,进一步判断第三方下载工具是否启动成功。
在本发明的一个示例中,判断第三方下载工具是否启动成功,进一步包括:
(1)通过第三方下载工具提供的接口调用第三方下载工具。即第三方下载工具通常提供有相应的下载的开发工具包(开发接口),通过其提供的开发工具包可调用第三方下载工具。
(2)如果第三方下载工具与文件提供服务器建立连接成功,且得到文件提供服务器的正确应答,并开始从文件提供服务器下载文件,则判断第三方下载工具启动成功。
例如,由于一些客户端中的浏览器对cookie进行了设置,从而可能导致第三方下载工具的启动失败,即无法使用第三方下载工具进行下载。在本发明的一个实施例中,第三方下载工具指可提供高速下载的工具,诸如迅雷、网际快车、BT下载和电驴下载等工具。
步骤S104:如果判断第三方下载工具启动成功,则通过第三方下载工具下载文件,并终止浏览器下载模式。
例如,如果客户端中的浏览器对cookie的设置没有对第三方下载工具的限制,则可利用该第三方下载工具对文件进行高速下载。并终止上述步骤中的通过浏览器下载模式的低速下载。即停止以浏览器下载模式下载,直接通过第三方下载工具进行下载。
进一步而言,本发明实施例的基于浏览器的文件下载方法还包括如下步骤:如果判断不使用第三方下载工具下载文件,则继续通过浏览器下载模式下载文件,并取消预设限制速度。
由上述实施例可知,其目的为当使用第三方下载(第三方下载工具)失败后,沿用原下载流程(即浏览器下载模式),以保证下载的高成功率。这是由于,经过测试由于主机(如文件提供服务器等)限制cookie等信息,有一定概率出现第三方下载失败。
也就是说,如果在第三方下载工具发出请求后,服务器(诸如文件提供服务器)返回成功应答标记,停掉原有下载流程,使用第三方下载工具全程下载。如果第三方下载工具下载失败,恢复原流程(浏览器下载模式)。同时,取消对采用浏览器下载模式下载文件的限速,即取消预设限制速度,从而可保证采用浏览器下载模式下载文件的时间相对减少,提升浏览器下载模式的文件下载效率。
综上,当有下载发生时,IE浏览器调用IDownloadManager::Download函数(即下载函数),在此函数中,获取下载url及文件应答头信息(即文件信息),根据头信息判断是否要进行第三方下载,如果不启动第三方下载,继续原流程,整个流程结束。否则设置原下载流程以低速的方式下载,下载的内容暂存在内存中。目的在于,当用第三方下载失败后,沿用原下载流程,以提供下载的高成功率。其中,下载管理器实现IDownloadManager接口,通过QueryService(查询服务)向IE浏览器返回自定义的下载管理器,以便IE浏览器进行回调,以下载文件等。
如图2所示,作为一个具体的示例,本发明实施例的基于浏览器的文件下载方法,具体包括如下步骤:
步骤S201:设置下载管理器。
步骤S202:IE下载文件回调下载管理器。
步骤S203:获取下载文件信息(文件信息)。
步骤S204:判断是否使用第三方下载(第三方下载工具)下载。如果是,则转至步骤S205,否则转至步骤S209。
步骤S205:通过原来IE流程(即浏览器下载模式)保持低速(第一下载速度)下载。
步骤S206:使用第三方下载(即使用第三方下载工具下载)。
步骤S207:判断第三方下载是否成功启动。如果是则执行步骤S208,否则执行步骤S209。
步骤S208:关闭原始下载,即终止浏览器下载模式。
步骤S209:以IE原始流程下载,即通过浏览器下载模式以第二下载速度(相对于第一下载速度较快)下载文件。
根据本发明实施例的基于浏览器的文件下载方法,当第三方下载工具可成功下载时,通过第三方下载工具进行下载,当第三方下载工具下载失败时,可通过浏览器下载模式进行下载,由此,在不影响下载速度的同时,提升下载的成功率。
本发明的进一步实施例提出了一种基于浏览器的文件下载系统。如图3所示,根据本发明一个实施例的基于浏览器的文件下载系统300,包括:客户端310和文件提供服务器320。
其中,客户端310用于在检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取文件的文件信息,并根据文件信息判断是否使用第三方下载工具下载文件,并在判断使用第三方下载工具下载文件时,进一步判断第三方下载工具是否启动成功,以及在判断第三方下载工具启动成功后,通过第三方下载工具从文件提供服务器320中下载文件,并终止浏览器下载模式。文件提供服务器320用于存储文件,并提供下载服务。
在上述示例中,文件的文件信息包括但不限于文件下载地址和文件应答头信息。文件应答头信息包括诸如文件类型、文件大小等信息。此外,浏览器可通过浏览器下载模式的下载通道获取文件的文件信息。浏览器例如为IE浏览器。
具体地说,客户端用于通过浏览器调用浏览器下载管理器,以获取下载函数,并使用下载函数通过浏览器下载模式的下载通道获取文件的文件信息,其中,浏览器下载模式指浏览器通过调用浏览器下载管理器下载文件。假设浏览器位于客户端310中,而文件位于文件提供服务器320中。当用户触发客户端310中显示在浏览器的页面中的下载按钮后,浏览器将发送下载请求至文件提供服务器320,浏览器通过浏览器下载模式的下载通道从文件提供服务器320中下载文件的文件信息,此时,浏览器通过浏览器下载模式以预设限制速度从文件提供服务器320中下载文件。其中,预设限制速度至将下载速度限制为一个相对较低的速度。即设置原下载流程以低速(预设限制速度)的方式下载。即浏览器通过浏览器下载模式以低速下载文件,并将下载的内容暂存在诸如安装有该浏览器的客户端310的内存中。
进一步地,浏览器以查询服务(QueryService)的方式向服务端发送浏览器下载管理器获取请求,服务端搜索相应的浏览器下载管理器,并将搜索到的浏览器下载管理器提供给客户端以供浏览器调用,即以便浏览器进行回调使用。
当IE浏览器检测到有下载发生时,IE浏览器调用IDownloadManager::Download函数(即下载管理器的下载函数),并可通过此函数获取文件的文件信息(文件信息包括文件下载地址和头信息,即文件下载url及文件应答头信息)。
在本发明的一个实施例中,客户端310可根据文件信息判断是否使用第三方下载工具下载所述文件,即客户端310根据文件信息的文件应答头信息判断文件的大小,即根据文件信息的文件应答头信息能够反映出文件的大小,即文件应大头信息中包括文件大小的信息;如果文件的大小大于第一预设值,则判断使用第三方下载工具下载文件。其中,第一预设值可根据经验值确定,也可根据当前网速情况确定。例如,当文件大于10兆时,通常认为为比较大的文件,通过高速下载工具进行下载比较省时间,此时,第一预设值可被设置为10兆。再如,如果当前的网速较快也比较稳定,则可将第一预设值设置较大一些,如30兆等。
需要说明的是,上述示例中第一预设值被设置为10兆或者30兆只是示例性的,并不能作为对本发明的限制。
此外,如果利用第三方下载,则进一步判断第三方下载工具是否启动成功。可通过如下方式判断第三方下载工具是否启动成功。即:客户端310通过第三方下载工具提供的接口调用第三方下载工具,即第三方下载工具通常提供有相应的下载的开发工具包(开发接口),通过其提供的开发工具包可调用第三方下载工具;如果第三方下载工具与文件提供服务器建立连接成功,且得到文件提供服务器的正确应答,并开始从文件提供服务器下载文件,则判断第三方下载工具启动成功。
例如,由于一些客户端310中的浏览器对cookie进行了设置,从而可能导致第三方下载工具的启动失败,即无法使用第三方下载工具进行下载。在本发明的一个实施例中,第三方下载工具指可提供高速下载的工具,诸如迅雷、网际快车、BT下载和电驴下载等工具。
如果客户端310中的浏览器对cookie的设置没有对第三方下载工具的限制,则可利用该第三方下载工具对文件进行高速下载。并终止上述步骤中的通过浏览器下载模式的低速下载。
进一步而言,本发明实施例的基于浏览器的文件下载系统的客户端310还用于在判断不使用第三方下载工具下载文件时,继续通过浏览器下载模式下载文件,并取消所述预设限制速度。
由上述实施例可知,其目的为当使用第三方下载(第三方下载工具)失败后,沿用原下载流程(即浏览器下载模式),以保证下载的高成功率。这是由于,经过测试由于主机(如文件提供服务器等)限制cookie等信息,有一定概率出现第三方下载失败。
也就是说,在第三方下载工具发出请求后,服务器(诸如文件提供服务器)返回成功应答标记,停掉原有下载流程,使用第三方下载工具全程下载。如果第三方下载工具下载失败,恢复原流程(浏览器下载模式)。同时,取消对采用浏览器下载模式下载文件的限速,即取消预设限制速度,从而可保证采用浏览器下载模式下载文件的时间相对减少,提升浏览器下载模式的文件下载效率。
综上,当有下载发生时,IE浏览器调用IDownloadManager::Download函数(即下载函数),在此函数中,获取下载url及文件应答头信息(即文件信息),根据头信息判断是否要进行第三方下载,如果不启动第三方下载,继续原流程,整个流程结束。否则设置原下载流程以低速的方式下载,下载的内容暂存在内存中。目的在于,当用第三方下载失败后,沿用原下载流程,以提供下载的高成功率。其中,下载管理器实现IDownloadManager接口,通过QueryService(查询服务)向IE浏览器返回自定义的下载管理器,以便IE浏览器进行回调,以下载文件等。
根据本发明实施例的基于浏览器的文件下载系统,当第三方下载工具可成功下载时,通过第三方下载工具进行下载,当第三方下载工具下载失败时,可通过浏览器下载模式进行下载,由此,在不影响下载速度的同时,提升下载的成功率。
图4是根据本发明一个实施例的客户端310的结构图。如图4所示,客户端310包括:外壳311、屏幕312、处理器313、内存314、电路板315和电源电路316,其中,
屏幕312安置在外壳311上,电路板315安置在外壳311围成的空间内部,处理器313和内存314设置在电路板315上;电源电路316用于为客户端的各个电路或器件供电;处理器313用于处理数据,并具体用于:当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取文件的文件信息,并根据文件信息判断是否使用第三方下载工具下载文件,如果判断使用所述第三方下载工具下载文件,则进一步判断第三方下载工具是否启动成功,以及如果判断第三方下载工具启动成功,则通过第三方下载工具下载文件,并终止浏览器下载模式。
在上述示例中,文件的文件信息包括但不限于文件下载地址和文件应答头信息。文件应答头信息包括诸如文件类型、文件大小等信息。此外,浏览器可通过浏览器下载模式的下载通道获取文件的文件信息。浏览器例如为IE浏览器。
具体地说,处理器313用于通过浏览器调用浏览器下载管理器,以获取下载函数,并使用下载函数通过浏览器下载模式的下载通道获取文件的文件信息,其中,浏览器下载模式指浏览器通过调用浏览器下载管理器下载文件。假设浏览器位于客户端中,而文件位于服务器中。当用户触发客户端中显示在浏览器的页面中的下载按钮后,浏览器将发送下载请求至服务器,浏览器通过浏览器下载模式的下载通道从服务器中下载文件的文件信息,此时,浏览器通过浏览器下载模式以预设限制速度从服务器中下载文件。其中,预设限制速度至将下载速度限制为一个相对较低的速度。即设置原下载流程以低速(预设限制速度)的方式下载。即浏览器通过浏览器下载模式以低速下载文件,并将下载的内容暂存在诸如安装有该浏览器的客户端的内存中。
进一步地,浏览器以查询服务(QueryService)的方式向服务端发送浏览器下载管理器获取请求,服务端搜索相应的浏览器下载管理器,并将搜索到的浏览器下载管理器提供给客户端以供浏览器调用,即以便浏览器进行回调使用。
当IE浏览器检测到有下载发生时,IE浏览器调用IDownloadManager::Download函数(即下载管理器的下载函数),并可通过此函数获取文件的文件信息(文件信息包括文件下载地址和头信息,即文件下载url及文件应答头信息)。
在本发明的一个实施例中,处理器313可根据文件信息判断是否使用第三方下载工具下载所述文件,即处理器313根据文件信息的文件应答头信息判断文件的大小,即根据文件信息的文件应答头信息能够反映出文件的大小,即文件应大头信息中包括文件大小的信息;如果文件的大小大于第一预设值,则判断使用第三方下载工具下载文件。其中,第一预设值可根据经验值确定,也可根据当前网速情况确定。例如,当文件大于10兆时,通常认为为比较大的文件,通过高速下载工具进行下载比较省时间,此时,第一预设值可被设置为10兆。再如,如果当前的网速较快也比较稳定,则可将第一预设值设置较大一些,如30兆等。
需要说明的是,上述示例中第一预设值被设置为10兆或者30兆只是示例性的,并不能作为对本发明的限制。
此外,如果利用第三方下载,则进一步判断第三方下载工具是否启动成功。可通过如下方式判断第三方下载工具是否启动成功。即:处理器313通过第三方下载工具提供的接口调用第三方下载工具,即第三方下载工具通常提供有相应的下载的开发工具包(开发接口),通过其提供的开发工具包可调用第三方下载工具;如果第三方下载工具与文件提供服务器建立连接成功,且得到文件提供服务器的正确应答,并开始从文件提供服务器下载文件,则判断第三方下载工具启动成功。
例如,由于一些客户端中的浏览器对cookie进行了设置,从而可能导致第三方下载工具的启动失败,即无法使用第三方下载工具进行下载。在本发明的一个实施例中,第三方下载工具指可提供高速下载的工具,诸如迅雷、网际快车、BT下载和电驴下载等工具。
如果客户端中的浏览器对cookie的设置没有对第三方下载工具的限制,则可利用该第三方下载工具对文件进行高速下载。并终止上述步骤中的通过浏览器下载模式的低速下载。即停止以浏览器下载模式下载,直接通过第三方下载工具进行下载。
进一步而言,本发明实施例的客户端的处理器313还用于在判断不使用第三方下载工具下载文件时,则继续通过浏览器下载模式下载文件,并取消预设限制速度。
由上述实施例可知,其目的为当使用第三方下载(第三方下载工具)失败后,沿用原下载流程(即浏览器下载模式),以保证下载的高成功率。这是由于,经过测试由于主机(如客户端等)限制cookie等信息,有一定概率出现第三方下载失败。
也就是说,在第三方下载工具发出请求后,服务器(诸如文件提供服务器)返回成功应答标记,停掉原有下载流程,使用第三方下载工具全程下载。如果第三方下载工具下载失败,恢复原流程(浏览器下载模式)。同时,取消对采用浏览器下载模式下载文件的限速,即取消预设限制速度,从而可保证采用浏览器下载模式下载文件的时间相对减少,提升浏览器下载模式的文件下载效率。
综上,当有下载发生时,IE浏览器调用IDownloadManager::Download函数(下载函数),在此函数中,获取下载url及文件应答头信息(即文件信息),根据头信息判断是否要进行第三方下载,如果不启动第三方下载,继续原流程,整个流程结束。否则设置原下载流程以低速的方式下载,下载的内容暂存在内存中。目的在于,当用第三方下载失败后,沿用原下载流程,以提供下载的高成功率。其中,下载管理器实现IDownloadManager接口,通过QueryService(查询服务)向IE浏览器返回自定义的下载管理器,以便IE浏览器进行回调,以下载文件等。
根据本发明实施例的客户端,当第三方下载工具可成功下载时,通过第三方下载工具进行下载,当第三方下载工具下载失败时,可通过浏览器下载模式进行下载,由此,在不影响下载速度的同时,提升下载的成功率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (18)

1.一种基于浏览器的文件下载方法,其特征在于,包括以下步骤:
当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取所述文件的文件信息,其中,所述文件的文件信息包括文件下载地址和文件应答头信息;
根据所述文件信息判断是否使用第三方下载工具下载所述文件;
如果判断使用所述第三方下载工具下载文件,则进一步判断所述第三方下载工具是否启动成功;以及
如果判断所述第三方下载工具启动成功,则通过所述第三方下载工具下载所述文件,并终止所述浏览器下载模式。
2.根据权利要求1所述的文件下载方法,其特征在于,所述根据所述文件信息判断是否使用第三方下载工具下载所述文件,进一步包括:
根据所述文件信息的文件应答头信息判断所述文件的大小;
如果所述文件的大小大于第一预设值,则判断使用所述第三方下载工具下载所述文件。
3.根据权利要求1所述的文件下载方法,其特征在于,所述判断所述第三方下载工具是否启动成功,进一步包括:
通过所述第三方下载工具提供的接口调用所述第三方下载工具;
如果所述第三方下载工具与所述文件提供服务器建立连接成功,且得到所述文件提供服务器的正确应答,并开始从所述文件提供服务器下载所述文件,则判断所述第三方下载工具启动成功。
4.根据权利要求1至3任一项所述的文件下载方法,其特征在于,还包括:
如果判断不使用所述第三方下载工具下载文件,则继续通过所述浏览器下载模式下载所述文件,并取消所述预设限制速度。
5.根据权利要求1至3任一项所述的文件下载方法,其特征在于,所述获取所述文件的文件信息,进一步包括:
所述浏览器调用浏览器下载管理器,以获取下载函数;
所述下载函数通过浏览器下载模式的下载通道获取所述文件的文件信息,其中,所述浏览器下载模式指所述浏览器通过调用浏览器下载管理器下载文件。
6.根据权利要求5所述的文件下载方法,其特征在于,所述浏览器调用浏览器下载管理器,进一步包括:
所述浏览器以查询服务的方式向服务端发送浏览器下载管理器获取请求;
所述服务端搜索相应的浏览器下载管理器,并将搜索到的所述浏览器下载管理器提供给所述客户端以供所述浏览器调用。
7.一种基于浏览器的文件下载系统,其特征在于,包括:客户端和文件提供服务器,其中,
所述客户端用于在检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取所述文件的文件信息,并根据所述文件信息判断是否使用第三方下载工具下载所述文件,并在判断使用所述第三方下载工具下载文件时,进一步判断所述第三方下载工具是否启动成功,以及在判断所述第三方下载工具启动成功后,通过所述第三方下载工具从所述文件提供服务器中下载所述文件,并终止所述浏览器下载模式,其中,所述文件的文件信息包括文件下载地址和文件应答头信息;
所述文件提供服务器用于存储所述文件,并提供下载服务。
8.根据权利要求7所述的文件下载系统,其特征在于,所述客户端用于根据所述文件信息的文件应答头信息判断所述文件的大小,如果所述文件的大小大于第一预设值,则判断使用所述第三方下载工具下载所述文件。
9.根据权利要求7所述的文件下载系统,其特征在于,所述客户端用于通过所述第三方下载工具提供的接口调用所述第三方下载工具,如果所述第三方下载工具与所述文件提供服务器建立连接成功,且得到所述文件提供服务器的正确应答,并开始从所述文件提供服务器下载所述文件,则判断所述第三方下载工具启动成功。
10.根据权利要求7至9任一项所述的文件下载系统,其特征在于,所述客户端还用于在判断不使用所述第三方下载工具下载文件时,继续通过所述浏览器下载模式下载所述文件,并取消所述预设限制速度。
11.根据权利要求7至9任一项所述的文件下载系统,其特征在于,所述客户端用于通过所述浏览器调用浏览器下载管理器,以获取下载函数,并使用所述下载函数通过浏览器下载模式的下载通道获取所述文件的文件信息,其中,所述浏览器下载模式指所述浏览器通过调用浏览器下载管理器下载文件。
12.根据权利要求11所述的文件下载系统,其特征在于,其中,所述浏览器以查询服务的方式向服务端发送浏览器下载管理器获取请求,所述服务端搜索相应的浏览器下载管理器,并将搜索到的所述浏览器下载管理器提供给所述客户端以供所述浏览器调用。
13.一种客户端,其特征在于,所述客户端包括:外壳、屏幕、处理器、内存、电路板和电源电路,其中,
所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器和所述内存设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述处理器用于处理数据,并具体用于:
当检测到文件下载任务时,通过浏览器下载模式以预设限制速度下载文件,并获取所述文件的文件信息,并根据所述文件信息判断是否使用第三方下载工具下载所述文件,如果判断使用所述第三方下载工具下载文件,则进一步判断所述第三方下载工具是否启动成功,以及如果判断所述第三方下载工具启动成功,则通过所述第三方下载工具下载所述文件,并终止所述浏览器下载模式,其中,所述文件的文件信息包括文件下载地址和文件应答头信息。
14.根据权利要求13所述的客户端,其特征在于,所述处理器用于根据所述文件信息的文件应答头信息判断所述文件的大小,如果所述文件的大小大于第一预设值,则判断使用所述第三方下载工具下载所述文件。
15.根据权利要求13所述的客户端,其特征在于,所述处理器用于通过所述第三方下载工具提供的接口调用所述第三方下载工具,如果所述第三方下载工具与所述文件提供服务器建立连接成功,且得到所述文件提供服务器的正确应答,并开始从所述文件提供服务器下载所述文件,则判断所述第三方下载工具启动成功。
16.根据权利要求13至15任一项所述的客户端,其特征在于,所述处理器还用于在判断不使用所述第三方下载工具下载文件时,继续通过所述浏览器下载模式下载所述文件,并取消所述预设限制速度。
17.根据权利要求13至15任一项所述的客户端,其特征在于,所述处理器用于通过所述浏览器调用浏览器下载管理器,以获取下载函数,并使用所述下载函数通过浏览器下载模式的下载通道获取所述文件的文件信息,其中,所述浏览器下载模式指所述浏览器通过调用浏览器下载管理器下载文件。
18.根据权利要求17所述的客户端,其特征在于,其中,所述浏览器以查询服务的方式向服务端发送浏览器下载管理器获取请求,所述服务端搜索相应的浏览器下载管理器,并将搜索到的所述浏览器下载管理器提供给所述客户端以供所述浏览器调用。
CN201310332044.XA 2013-08-01 2013-08-01 基于浏览器的文件下载方法、系统及客户端 Expired - Fee Related CN103391326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310332044.XA CN103391326B (zh) 2013-08-01 2013-08-01 基于浏览器的文件下载方法、系统及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310332044.XA CN103391326B (zh) 2013-08-01 2013-08-01 基于浏览器的文件下载方法、系统及客户端

Publications (2)

Publication Number Publication Date
CN103391326A true CN103391326A (zh) 2013-11-13
CN103391326B CN103391326B (zh) 2017-11-07

Family

ID=49535481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310332044.XA Expired - Fee Related CN103391326B (zh) 2013-08-01 2013-08-01 基于浏览器的文件下载方法、系统及客户端

Country Status (1)

Country Link
CN (1) CN103391326B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701911A (zh) * 2013-12-30 2014-04-02 百度在线网络技术(北京)有限公司 通过浏览器进行下载的方法和装置
CN103853851A (zh) * 2014-03-31 2014-06-11 北京奇虎科技有限公司 浏览器中的文件下载方法和浏览器装置
CN104079648A (zh) * 2014-06-27 2014-10-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
CN104639588A (zh) * 2013-11-14 2015-05-20 腾讯科技(北京)有限公司 一种文件下载方法、装置和系统
CN105227589A (zh) * 2014-05-29 2016-01-06 北京奇虎科技有限公司 文件下载方法及装置
CN106657153A (zh) * 2017-02-07 2017-05-10 深圳市金立通信设备有限公司 一种网络数据下载方法及终端
CN104079648B (zh) * 2014-06-27 2018-06-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
CN111917807A (zh) * 2019-05-08 2020-11-10 深圳市云趣网络科技股份有限公司 一种安卓系统wap网页调起下载客户端的方法和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100383405B1 (ko) * 2000-11-16 2003-05-12 (주) 새롬기술 웹서버 시스템, 광고서버 시스템, 및 그 광고파일 캐시방법
CN101030869A (zh) * 2007-02-16 2007-09-05 陈勇 网络资源下载方法和装置
CN101119282A (zh) * 2007-09-25 2008-02-06 腾讯科技(深圳)有限公司 下载工具中对下载任务进行管理显示的方法及装置
CN102355486A (zh) * 2011-08-11 2012-02-15 深圳市迅雷网络技术有限公司 一种下载数据的方法及装置
CN102368213A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
EP2435943A1 (fr) * 2009-05-27 2012-04-04 Commonit Procédé de navigation sur le réseau internet, support d'enregistrement, serveur d'accès et poste d'utilisateur pour la mise en oeuvre de ce procédé
CN103150343A (zh) * 2013-02-05 2013-06-12 珠海市君天电子科技有限公司 对已下载文件进行管理的方法和系统
CN103188283A (zh) * 2011-12-27 2013-07-03 腾讯科技(深圳)有限公司 文件上传下载的方法、服务器及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100383405B1 (ko) * 2000-11-16 2003-05-12 (주) 새롬기술 웹서버 시스템, 광고서버 시스템, 및 그 광고파일 캐시방법
CN101030869A (zh) * 2007-02-16 2007-09-05 陈勇 网络资源下载方法和装置
CN101119282A (zh) * 2007-09-25 2008-02-06 腾讯科技(深圳)有限公司 下载工具中对下载任务进行管理显示的方法及装置
EP2435943A1 (fr) * 2009-05-27 2012-04-04 Commonit Procédé de navigation sur le réseau internet, support d'enregistrement, serveur d'accès et poste d'utilisateur pour la mise en oeuvre de ce procédé
CN102355486A (zh) * 2011-08-11 2012-02-15 深圳市迅雷网络技术有限公司 一种下载数据的方法及装置
CN102368213A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN103188283A (zh) * 2011-12-27 2013-07-03 腾讯科技(深圳)有限公司 文件上传下载的方法、服务器及系统
CN103150343A (zh) * 2013-02-05 2013-06-12 珠海市君天电子科技有限公司 对已下载文件进行管理的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无: "轻便快捷,迷你下载工具谁最"迷你"?", 《电脑爱好者》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639588A (zh) * 2013-11-14 2015-05-20 腾讯科技(北京)有限公司 一种文件下载方法、装置和系统
CN104639588B (zh) * 2013-11-14 2019-07-16 腾讯科技(北京)有限公司 一种文件下载方法、装置和系统
CN103701911A (zh) * 2013-12-30 2014-04-02 百度在线网络技术(北京)有限公司 通过浏览器进行下载的方法和装置
CN103853851A (zh) * 2014-03-31 2014-06-11 北京奇虎科技有限公司 浏览器中的文件下载方法和浏览器装置
CN105227589A (zh) * 2014-05-29 2016-01-06 北京奇虎科技有限公司 文件下载方法及装置
CN105227589B (zh) * 2014-05-29 2019-12-06 北京奇虎科技有限公司 文件下载方法及装置
CN104079648A (zh) * 2014-06-27 2014-10-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
CN104079648B (zh) * 2014-06-27 2018-06-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
CN106657153A (zh) * 2017-02-07 2017-05-10 深圳市金立通信设备有限公司 一种网络数据下载方法及终端
CN111917807A (zh) * 2019-05-08 2020-11-10 深圳市云趣网络科技股份有限公司 一种安卓系统wap网页调起下载客户端的方法和系统
CN111917807B (zh) * 2019-05-08 2023-04-18 深圳市云趣网络科技股份有限公司 一种安卓系统wap网页调起下载客户端的方法和系统

Also Published As

Publication number Publication date
CN103391326B (zh) 2017-11-07

Similar Documents

Publication Publication Date Title
CN103391326A (zh) 基于浏览器的文件下载方法、系统及客户端
CN109117361B (zh) 一种小程序的远程调试方法、相关设备及系统
WO2014180359A1 (zh) 文件下载的方法和装置
CN107547629B (zh) 客户端静态资源下载的方法、装置、电子设备和可读介质
CN107491320B (zh) 基于混合模式移动应用的载入方法和装置
KR20160140665A (ko) 클라이언트 측 개인 음성 웹 내비게이션
CN104219653A (zh) 双卡上网控制方法及装置
EP2487883A1 (en) Browser adjusting method and mobile terminal
CN103501382A (zh) 语音服务提供方法、装置和终端
CN110659046A (zh) 固件升级方法、终端、充电盒、耳机及存储介质
WO2014032509A1 (en) Data transfer method and system
CN109033302A (zh) 一种页面跳转方法、装置、终端及存储介质
CN103699595A (zh) 一种终端浏览器的页面缓存方法和装置及终端
CN103365721A (zh) 调整移动终端内存的方法及该移动终端
CN106953898B (zh) 一种获取软件包的方法和装置
US20160274892A1 (en) Data update method, user terminal, and data updated system
MX2014009066A (es) Metodo, aparato y dispositivo terminal para adaptacion de pagina.
RU2614578C2 (ru) Способ, устройство и установка для обработки ресурса для мобильного терминала
CN104378428A (zh) 一种用于文件下载的方法和装置
CN103092663A (zh) 一种在终端中安装应用程序的方法及装置
CN104469715A (zh) 信息延迟发送方法、终端、服务器及系统
MX2014009375A (es) Metodo, dispositivo y equipo para instalar aplicaciones.
US9112832B1 (en) System and method for running a web server on a mobile internet device
CN104519553A (zh) 接入点选取系统及方法
WO2014086230A1 (en) Method and apparatus for uploading information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171107

Termination date: 20180801

CF01 Termination of patent right due to non-payment of annual fee