CN103701911B - 通过浏览器进行下载的方法和装置 - Google Patents
通过浏览器进行下载的方法和装置 Download PDFInfo
- Publication number
- CN103701911B CN103701911B CN201310745249.0A CN201310745249A CN103701911B CN 103701911 B CN103701911 B CN 103701911B CN 201310745249 A CN201310745249 A CN 201310745249A CN 103701911 B CN103701911 B CN 103701911B
- Authority
- CN
- China
- Prior art keywords
- download
- outside
- downloaded
- kernel
- browser
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种通过浏览器进行下载的方法和装置,该方法包括以下步骤:当浏览器内核下载被触发时,截取浏览器内核的第一下载数据;根据浏览器内核的下载目标建立外部下载,并获取由外部下载获得的第二下载数据;以及将第一下载数据和第二下载数据进行合并以获取下载目标。本发明实施例的方法,可获取浏览器内核下载被触发时的第一下载数据,并根据浏览器内核的下载目标建立外部下载以获取第二下载数据,再将两者合并获取完整下载目标。由此,可通过外部下载的多线程技术,提高下载速度,此外,内核下载和外部下载同时进行,通过内核下载保证下载成功,保证了文件正确性,提升了用户体验。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种通过浏览器进行下载的方法和装置。
背景技术
浏览器是一种用于显示和浏览网页服务器或档案系统内文件,并且可使用户与这些文件产生互动的软件。它主要用于显示在万维网或局部局域网络等内的文字、影像及其他资讯。目前,浏览器的功能逐渐完善,其中浏览器的下载功能也得到广泛运用。浏览器下载主要分为内核触发下载和用户主动下载两种。内核触发下载是指浏览器内核在请求浏览内容过程中,从服务器的返回数据得知本次请求需要作为下载处理。最常见的内核有微软公司的IE(Internet Explorer,微软公司推出的一款网页浏览器内核)以及谷歌公司的Chromium。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:普通浏览器在处理内核触发下载的时候,主要有两种处理方法。一是由内核单独进行下载。该方法由于是单连接,所以下载较慢,无法满足用户需求;二是从内核取得本次下载的HTTP(Hyper TextTransfer Protocol,超文本传输协议)请求信息,终止内核的下载行为,并用外部下载器重新发起请求进行下载。该方法对于一次性URL(Uniform/Universal Resource Locator,统一资源定位符)等特定下载的情况,容易下载失败,对用户使用浏览器时造成不便,用户体验差。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种通过浏览器进行下载的方法。该方法可通过外部下载的多线程技术,提高下载速度,此外,内核下载和外部下载同时进行,通过内核下载保证下载成功,保证了文件正确性,提升了用户体验。
为了实现上述目的,本发明第一方面实施例的一种通过浏览器进行下载的方法包括以下步骤:当浏览器内核下载被触发时,截取所述浏览器内核的第一下载数据;根据所述浏览器内核的下载目标建立外部下载,并获取由所述外部下载获得的第二下载数据;以及将所述第一下载数据和所述第二下载数据进行合并以获取所述下载目标。
本发明实施例的一种通过浏览器进行下载的方法,通过外部下载的多线程技术,提高下载速度,此外,内核下载和外部下载同时进行,通过内核下载保证下载成功,保证了文件正确性,提升了用户体验。
本发明的第二个目的在于提出一种通过浏览器进行下载的装置。
为了实现上述目的,本发明第二方面实施例的一种通过浏览器进行下载的装置,包括:截取模块,用于当浏览器内核下载被触发时,截取所述浏览器内核的第一下载数据;获取模块,用于根据所述浏览器内核的下载目标建立外部下载,并获取由所述外部下载获得的第二下载数据;以及合并模块,用于将所述第一下载数据和所述第二下载数据进行合并以获取所述下载目标。
本发明实施例的一种通过浏览器进行下载的装置,通过外部下载的多线程技术,提高下载速度,此外,内核下载和外部下载同时进行,通过内核下载保证下载成功,保证了文件正确性,提升了用户体验。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的一种通过浏览器进行下载的方法的流程图;
图2是根据本发明另一个实施例的一种通过浏览器进行下载的方法的流程图;
图3是根据本发明又一个实施例的一种通过浏览器进行下载的方法的流程图;
图4是根据本发明一个实施例的一个实施例的一种通过浏览器进行下载的装置的结构示意图;
图5是根据本发明另一个实施例的一个实施例的一种通过浏览器进行下载的装置的结构示意图;
图6是根据本发明又一个实施例的一个实施例的一种通过浏览器进行下载的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的一种通过移动终端进行搜索的方法、装置和系统。
目前,普通浏览器在处理内核触发下载的时候,主要有两种处理方法。一是由内核单独进行下载。该方法由于是单连接,所以下载较慢,无法满足用户需求。二是从内核取得本次下载的HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求信息,终止内核的下载行为,并用外部下载器重新发起请求进行下载,其中,外部下载器可为迅雷、网际快车、电驴或比特精灵等浏览器外部的下载工具。该方法对于一次性URL(Uniform/UniversalResource Locator,统一资源定位符)等特定下载有时会产生下载失败,对用户使用浏览器时造成不便,用户体验差。为此,本发明提出一种通过浏览器进行下载的方法。
图1是根据本发明一个实施例的一种通过浏览器进行下载的方法的流程图。
如图1所示,一种通过浏览器进行下载的方法包括以下步骤。
S101,当浏览器内核下载被触发时,截取浏览器内核的第一下载数据。
在本发明的一个实施例中,内核下载是指浏览器内核在请求浏览内容过程中,从服务器的返回数据得知本次请求需要作为下载处理。其中,第一下载数据为在浏览器内核下载的数据。目前,浏览器使用的内核主要有两种:微软的IE内核和谷歌的Chromium内核。
S102,根据浏览器内核的下载目标建立外部下载,并获取由外部下载获得的第二下载数据。
在本发明的一个实施例中,外部下载是浏览器内核触发及进行文件下载所用的网络连接之外的,使用浏览器内核网络请求模块,或其他不属于内核的网络请求模块所发起的网络连接的下载行为,如通过迅雷等外部下载器进行的下载行为。外部下载可同时建立多个线程,对内核下载未下载的内容进行下载。具体地,可将内核下载未下载的划分为多个数据单元,其中,每个数据单元对应一个下载进程,由此多个线程同时下载对应的数据单元有效提高下载速度。
S103,将第一下载数据和第二下载数据进行合并以获取下载目标。
在本发明的一个实施例中,浏览器内核下载和外部下载同时进行。每当外部下载下完一个数据单元时,浏览器都会对其进行校验,以判断外部下载的内容与内核的第一下载数据是否属于同一下载目标文件。如果属于同一下载目标文件,可将第一下载数据和第二下载数据合并,最终合并成完整的下载目标。
本发明实施例的一种通过浏览器进行下载的方法,可获取浏览器内核下载被触发时的第一下载数据,并根据浏览器内核的下载目标建立外部下载以获取第二下载数据,再将两者合并获取完整下载目标。由此,可通过外部下载的多线程技术,提高下载速度,此外,内核下载和外部下载同时进行,通过内核下载保证下载成功,保证了文件正确性,提升了用户体验。
图2是根据本发明另一个实施例的一种通过浏览器进行下载的方法的流程图。在本发明的实施例中,可通过根据下载连接结果判断外部下载是否与浏览器内核下载匹配。具体地,如图2所示,一种通过浏览器进行下载的方法,包括以下步骤:
S201,当浏览器内核下载被触发时,截取浏览器内核的第一下载数据。
在本发明的一个实施例中,内核下载是指浏览器内核在请求浏览内容过程中,从服务器的返回数据得知本次请求需要作为下载处理。其中,第一下载数据为在浏览器内核下载的数据。目前,浏览器使用的内核主要有两种:微软的IE内核和谷歌的Chromium内核。
在本发明的一个实施例中,可通过在浏览器内核中添加钩子函数以截取浏览器内核的第一下载数据。举例来说,微软IE内核具有相关的钩子函数,可对内核下载目标的数据进行截取;谷歌的Chromium内核是通过修改Chromium代码,在Chromium下载部分的代码中加入钩子函数,将数据传递到外部,允许外部进行截取。
S202,根据浏览器内核的下载目标建立外部下载,并获取由外部下载获得的第二下载数据。
在本发明的一个实施例中,外部下载是浏览器内核触发及进行文件下载所用的网络连接之外的,使用浏览器内核网络请求模块,或其他不属于内核的网络请求模块所发起的网络连接的下载行为,如通过迅雷等外部下载器进行的下载行为。外部下载可同时建立多个线程,对内核下载未下载的内容进行下载。具体地,可将内核下载未下载的划分为多个数据单元,其中,每个数据单元对应一个下载进程,由此多个线程同时下载对应的数据单元有效提高下载速度。
在本发明的一个实施例中,建立外部下载的同时,内核下载也仍然继续下载。其中,外部下载可根据下载目标中浏览器内核未下载的内容建立。具体地,可根据内核下载的速度和外核下载的速度,在未下载的内容中选择适当的位置建立外部下载连接。举例来说,如果外部下载的速度为内部下载的速度的5倍,则可将未下载的部分分成六份,并由内核下载继续下载与第一下载数据相邻的第一份,从第二份起始位置建立外部下载以下载后面5份。浏览器内核下载为单连接下载,以此可以确定该连接在下载目标中未下载的内容。
S203,提取外部下载的下载连接结果。
在本发明的一个实施例中,下载连接结果为在服务器中检测到的可提供下载目标的下载地址的集合。具体地,服务器中存储了多个各种不同资源内容的下载地址。当服务器接收到下载请求时,可对内核下载请求所具有的下载地址对应的下载目标进行分析,以获取下载目标内容的标识,进而获取具有该下载目标内容的外部下载地址。
S204,根据下载连接结果判断外部下载是否与浏览器内核下载匹配。
在本发明的一个实施例中,可通过下载目标的文件大小、最后修改时间,发送请求时服务器的其他返回作为参考,例如Md5(Message Digest Algorithm,消息摘要算法第五版)、MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)、文件名等,以此判断是否匹配。其中,Md5主要用于目标文件的完整性保护。MIME是一个互联网标准。服务器可通过多媒体数据的MIME类型,对文件的类型进行识别并匹配。
S205,如果判断外部下载与浏览器内核下载不匹配,则取消外部下载。
在本发明的一个实施例中,外部下载获得内核下载的下载目标的标识后,可对这些下载目标的标识进行匹配,与内核下载的下载目标标识不一致时,取消外部下载。
S206,如果判断外部下载与浏览器内核下载匹配,则继续外部下载。
在本发明的一个实施例中,外部下载获得内核下载的下载目标的标识后,可对这些下载目标的标识进行匹配,与内核下载的下载目标标识一致时,可继续外部下载。
S207,将第一下载数据和第二下载数据进行合并以获取下载目标。
在本发明的一个实施例中,浏览器内核下载和外部下载同时进行。每当外部下载下完一个数据单元时,浏览器都会对其进行校验,以判断外部下载的内容与内核的第一下载数据是否属于同一下载目标文件。如果属于同一下载目标文件,可将第一下载数据和第二下载数据合并,最终合并成完整的下载目标。
本发明实施例的一种通过浏览器进行下载的方法,通过根据下载连接结果判断外部下载是否与浏览器内核下载匹配,提高了下载目标的正确性和完整性,进一步提高下载速度,提升用户体验。
图3是根据本发明又一个实施例的一种通过浏览器进行下载的方法的流程图。在本发明的实施例中,可通过对外部下载发生连接断开或连接错误的原因进行分析,根据错误原因调整重试条件,优先选择得分高的URL进行重试下载。具体地,如图3所示,又一个实施例的一种通过浏览器进行下载的方法,包括以下步骤:
S301,当浏览器内核下载被触发时,截取浏览器内核的第一下载数据。
在本发明的一个实施例中,内核下载是指浏览器内核在请求浏览内容过程中,从服务器的返回数据得知本次请求需要作为下载处理。其中,第一下载数据为在浏览器内核下载的数据。目前,浏览器使用的内核主要有两种:微软的IE内核和谷歌的Chromium内核。
在本发明的一个实施例中,可通过在浏览器内核中添加钩子函数以截取浏览器内核的第一下载数据。举例来说,微软IE内核具有相关的钩子函数,可对内核下载目标的数据进行截取;谷歌的Chromium内核是通过修改Chromium代码,在Chromium下载部分的代码中加入钩子函数,将数据传递到外部,允许外部进行截取。
S302,根据浏览器内核的下载目标建立外部下载。
在本发明的一个实施例中,外部下载是浏览器内核触发及进行文件下载所用的网络连接之外的,使用浏览器内核网络请求模块,或其他不属于内核的网络请求模块所发起的网络连接的下载行为,如通过迅雷等外部下载器进行的下载行为。外部下载可同时建立多个线程,对内核下载未下载的内容进行下载。具体地,可将内核下载未下载的划分为多个数据单元,其中,每个数据单元对应一个下载进程,由此多个线程同时下载对应的数据单元有效提高下载速度。
在本发明的一个实施例中,外部下载根据下载目标中浏览器内核未下载的内容建立。具体地,浏览器内核下载为单连接下载,以此可以确定该连接在下载目标中未下载的内容。
S303,提取外部下载的下载连接结果。
在本发明的一个实施例中,下载连接结果为在服务器中检测到的可提供下载目标的下载地址的集合。具体地,服务器中存储了多个各种不同资源内容的下载地址。当服务器接收到下载请求时,可对内核下载请求所具有的下载地址对应的下载目标进行分析,以获取下载目标内容的标识,进而获取具有该下载目标内容的外部下载地址。
S304,如果外部下载发生连接断开或连接错误,则进一步分析错误原因。
在本发明的一个实施例中,外部下载发生断开或者连接错误可能是服务器连接失败或者连接意外断开。具体地,错误原因可能是网络原因,例如超时或者连接重置;服务器主动拒绝;资源失效等。
S305,根据错误原因调整重试条件。
在本发明的一个实施例中,浏览器可根据分析出的外部下载错误原因进行调整重试,以使外部下载继续。
如果错误原因为网络原因,则降低延时时间并重试。具体地,网络原因有可能为超时或者连接重置等,造成服务器暂时性拒绝或无法连接,此时,浏览器可通过动态链式智能分析根据URL历次错误分析原因,并进行调整。以较低的延时继续重试直到时间、次数达到限制。
如果错误原因为服务器主动拒绝,则休眠预设时间之后重试。具体地,当服务器主动拒绝浏览器外部下载时,可休眠此URL一段时间,然后进行重试。
如果错误原因为资源失效,则将连接对应的资源标记为失效,并增加间隔重试时间。具体地,服务器资源中下载目标的下载地址可能为多个,这些连接可能由于时间过长,导致连接失效或者下载速度过慢,可通过选择尚未尝试或可重试URL中得分最高的URL进行重试。其中,URL的得分可通过连接的成功率、历史下载速度等进行计算。
S306,根据下载连接结果判断外部下载是否与浏览器内核下载匹配。
在本发明的一个实施例中,可通过下载目标的文件大小、最后修改时间,发送请求时服务器的其他返回作为参考,例如Md5(Message Digest Algorithm,消息摘要算法第五版)、MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)、文件名等,以此判断是否匹配。其中,Md5主要用于目标文件的完整性保护。MIME是一个互联网标准。服务器可通过多媒体数据的MIME类型,对文件的类型进行识别并匹配。
S307,如果判断外部下载与浏览器内核下载不匹配,则取消外部下载。
在本发明的一个实施例中,外部下载获得内核下载的下载目标的标识后,可对这些下载地址进行匹配,与内核下载的下载目标标识不一致时,取消外部下载。
S308,如果判断外部下载与浏览器内核下载匹配,则继续外部下载。
在本发明的一个实施例中,外部下载获得内核下载的下载目标的标识后,可对这些下载地址进行匹配,与内核下载的下载目标标识一致时,可继续外部下载。
S309,获取由外部下载获得的第二下载数据。
S310,将第一下载数据和第二下载数据进行合并以获取下载目标。
在本发明的一个实施例中,浏览器内核下载和外部下载同时进行。每当外部下载下完一个数据单元时,浏览器都会对其进行校验,以判断外部下载的内容与内核的第一下载数据是否属于同一下载目标文件。如果属于同一下载目标文件,可将第一下载数据和第二下载数据合并,最终合并成完整的下载目标。
本发明实施例的一种通过浏览器进行下载的方法,通过对外部下载发生连接断开或连接错误的原因进行分析,根据错误原因调整重试条件,优先选择得分高的URL进行重试下载,保证下载地址的可用性、准确性,进一步提高下载的成功率和下载速度,提升用户体验。
为了实现上述实施例,本发明还提出一种通过浏览器进行下载的装置。
图4是根据本发明一个实施例的一种通过浏览器进行下载的装置的结构示意图。
如图4所示,一种通过浏览器进行下载的装置,包括:截取模块110、获取模块120和合并模块130。
具体地,截取模块110用于当浏览器内核下载被触发时,截取浏览器内核的第一下载数据。
在本发明的一个实施例中,内核下载是指浏览器内核在请求浏览内容过程中,从服务器的返回数据得知本次请求需要作为下载处理。其中,第一下载数据为截取模块110下载的数据。目前,浏览器使用的内核主要有两种:微软的IE内核和谷歌的Chromium内核。
获取模块120用于根据浏览器内核的下载目标建立外部下载,并获取由外部下载获得的第二下载数据。
在本发明的一个实施例中,外部下载是浏览器内核触发及进行文件下载所用的网络连接之外的,使用浏览器内核网络请求模块,或其他不属于内核的网络请求模块所发起的网络连接的下载行为,如通过迅雷等外部下载器进行的下载行为。外部下载可同时建立多个线程,对内核下载未下载的内容进行下载。具体地,可将内核下载未下载的划分为多个数据单元,其中,每个数据单元对应一个下载进程,由此多个线程同时下载对应的数据单元有效提高下载速度。
合并模块130用于将第一下载数据和第二下载数据进行合并以获取下载目标。
在本发明的一个实施例中,浏览器内核下载和外部下载同时进行。每当外部下载下完一个数据单元时,浏览器都会对其进行校验,以判断外部下载的内容与内核的第一下载数据是否属于同一下载目标文件。如果属于同一下载目标文件,可将第一下载数据和第二下载数据合并,最终通过合并模块130合并成完整的下载目标。
本发明实施例的一种通过浏览器进行下载的装置,可获取浏览器内核下载被触发时的第一下载数据,并根据浏览器内核的下载目标建立外部下载以获取第二下载数据,再将两者合并获取完整下载目标。由此,可通过外部下载的多线程技术,提高下载速度,此外,内核下载和外部下载同时进行,通过内核下载保证下载成功,保证了文件正确性,提升了用户体验。
图5是根据本发明另一个实施例的一种通过浏览器进行下载的装置的结构示意图。
如图5所示,根据本发明实施例的一种通过浏览器进行下载的装置,包括:截取模块110、获取模块120、合并模块130、提取模块140、判断模块150和下载控制模块160。
具体地,提取模块140用于提取外部下载的下载连接结果。
在本发明的一个实施例中,下载连接结果为在服务器中检测到的可提供下载目标的下载地址的集合。具体地,服务器中存储了多个各种不同资源内容的下载地址。当服务器接收到下载请求时,可对内核下载请求所具有的下载地址对应的下载目标进行分析,以获取下载目标内容的标识,进而提取模块140获取具有该下载目标内容的外部下载地址。
判断模块150用于根据下载连接结果判断外部下载是否与浏览器内核下载匹配。
在本发明的一个实施例中,判断模块150可通过下载目标的文件大小、最后修改时间,发送请求时服务器的其他返回作为参考,例如Md5(Message Digest Algorithm,消息摘要算法第五版)、MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)、文件名等,以此判断是否匹配。其中,Md5主要用于目标文件的完整性保护。MIME是一个互联网标准。服务器可通过多媒体数据的MIME类型,对文件的类型进行识别并匹配。
下载控制模块160用于在判断模块判断外部下载与浏览器内核下载不匹配时,取消外部下载,以及在判断模块判断外部下载与浏览器内核下载匹配时,继续外部下载。
在本发明的一个实施例中,外部下载获得内核下载的下载目标的标识后,下载控制模块160可对这些下载目标的标识进行匹配,与内核下载的下载目标标识不一致时,取消外部下载;与内核下载的下载目标标识一致时,可继续外部下载。
本发明实施例的一种通过浏览器进行下载的装置,通过根据下载连接结果判断外部下载是否与浏览器内核下载匹配,提高了下载目标的正确性和完整性,进一步提高下载速度,提升用户体验。
图6是根据本发明又一个实施例的一种通过浏览器进行下载的装置的结构示意图。
如图6所示,根据本发明实施例的一种通过浏览器进行下载的装置,包括:截取模块110、获取模块120、合并模块130、提取模块140、判断模块150、下载控制模块160、分析模块170和调整模块180。其中,调整模块180进一步包括第一调整单元181、第二调整单元182和第三调整单元183。
具体地,分析模块170用于如果外部下载发生连接断开或连接错误,则进一步分析错误原因。
在本发明的一个实施例中,外部下载发生断开或者连接错误可能是服务器连接失败或者连接意外断开。具体地,分析模块170分析出的错误原因可能是网络原因,例如超时或者连接重置;服务器主动拒绝;资源失效等。
调整模块180用于根据错误原因调整重试条件。
在本发明的一个实施例中,调整模块180可根据分析出的外部下载错误原因进行调整重试,以使外部下载继续。
具体地,第一调整单元181用于在错误原因为网络原因时,降低延时时间并重试。网络原因有可能为超时或者连接重置等,造成服务器暂时性拒绝或无法连接,此时,第一调整单元181可通过动态链式智能分析根据URL历次错误分析原因,并进行调整。以较低的延时继续重试直到时间、次数达到限制。
第二调整单元182用于在错误原因为服务器主动拒绝时,休眠预设时间之后重试。当服务器主动拒绝浏览器外部下载时,第二调整单元182可休眠此URL一段时间,然后进行重试。
第三调整单元183用于在错误原因为资源失效时,将连接对应的资源标记为失效,并增加间隔重试时间。服务器资源中下载目标的下载地址可能为多个,这些连接可能由于时间过长,导致连接失效或者下载速度过慢,第三调整单元183可通过选择尚未尝试或可重试URL中得分最高的URL进行重试。其中,URL的得分可通过连接的成功率、历史下载速度等进行计算。
本发明实施例的一种通过浏览器进行下载的装置,通过对外部下载发生连接断开或连接错误的原因进行分析,根据错误原因调整重试条件,优先选择得分高的URL进行重试下载,保证下载地址的可用性、准确性,进一步提高下载的成功率和下载速度,提升用户体验。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (12)
1.一种通过浏览器进行下载的方法,其特征在于,包括以下步骤:
当浏览器内核下载被触发时,截取所述浏览器内核的第一下载数据;
根据所述浏览器内核的下载目标建立外部下载,并获取由所述外部下载获得的第二下载数据,其中,根据所述内核下载的速度和所述外部下载的速度,在未下载的内容中选择适当的位置建立外部下载连接;以及
将所述第一下载数据和所述第二下载数据进行合并以获取所述下载目标,其中,所述浏览器内核下载和所述外部下载同时进行,每当所述外部下载下完一个数据单元时,所述浏览器判断所述外部下载的所述第二下载数据与所述内核下载到的所述第一下载数据是否属于同一下载目标,如果属于所述同一下载目标,则将所述第一下载数据和所述第二下载数据合并,最终合并成完整的所述下载目标。
2.如权利要求1所述的方法,其特征在于,所述外部下载根据所述下载目标中所述浏览器内核未下载的内容建立。
3.如权利要求1所述的方法,其特征在于,通过在所述浏览器内核中添加的钩子函数截取所述浏览器内核的第一下载数据。
4.如权利要求1所述的方法,其特征在于,在所述根据浏览器内核的下载目标建立外部下载之后,还包括:
提取所述外部下载的下载连接结果;
根据所述下载连接结果判断所述外部下载是否与所述浏览器内核下载匹配;
如果判断所述外部下载与所述浏览器内核下载不匹配,则取消所述外部下载;以及
如果判断所述外部下载与所述浏览器内核下载匹配,则继续所述外部下载。
5.如权利要求1所述的方法,其特征在于,在所述根据浏览器内核的下载目标建立外部下载之后,还包括:
如果所述外部下载发生连接断开或连接错误,则进一步分析错误原因;以及
根据所述错误原因调整重试条件。
6.如权利要求5所述的方法,其特征在于,所述根据错误原因调整重试条件进一步包括:
如果所述错误原因为网络原因,则降低延时时间并重试;
如果所述错误原因为服务器主动拒绝,则休眠预设时间之后重试;以及
如果所述错误原因为资源失效,则将所述连接对应的资源标记为失效,并增加间隔重试时间。
7.一种通过浏览器进行下载的装置,其特征在于,包括:
截取模块,用于当浏览器内核下载被触发时,截取所述浏览器内核的第一下载数据;
获取模块,用于根据所述浏览器内核的下载目标建立外部下载,并获取由所述外部下载获得的第二下载数据,其中,根据所述内核下载的速度和所述外部下载的速度,在未下载的内容中选择适当的位置建立外部下载连接;以及
合并模块,用于将所述第一下载数据和所述第二下载数据进行合并以获取所述下载目标,其中,所述浏览器内核下载和所述外部下载同时进行,每当所述外部下载下完一个数据单元时,所述浏览器判断所述外部下载的所述第二下载数据与所述内核下载到的所述第一下载数据是否属于同一下载目标,如果属于所述同一下载目标,则将所述第一下载数据和所述第二下载数据合并,最终合并成完整的所述下载目标。
8.如权利要求7所述的装置,其特征在于,所述获取模块根据所述下载目标中所述浏览器内核未下载的内容建立所述外部下载。
9.如权利要求7所述的装置,其特征在于,所述截取模块通过在所述浏览器内核中添加的钩子函数截取所述浏览器内核的第一下载数据。
10.如权利要求7所述的装置,其特征在于,还包括:
提取模块,用于提取所述外部下载的下载连接结果;
判断模块,用于根据所述下载连接结果判断所述外部下载是否与所述浏览器内核下载匹配;
下载控制模块,用于在所述判断模块判断所述外部下载与所述浏览器内核下载不匹配时,取消所述外部下载,以及在所述判断模块判断所述外部下载与所述浏览器内核下载匹配时,继续所述外部下载。
11.如权利要求7所述的装置,其特征在于,还包括:
分析模块,用于如果所述外部下载发生连接断开或连接错误,则进一步分析错误原因;以及
调整模块,用于根据所述错误原因调整重试条件。
12.如权利要求11所述的装置,其特征在于,所述调整模块进一步包括:
第一调整单元,用于在所述错误原因为网络原因时,降低延时时间并重试;
第二调整单元,用于在所述错误原因为服务器主动拒绝时,休眠预设时间之后重试;以及
第三调整单元,用于在所述错误原因为资源失效时,将所述连接对应的资源标记为失效,并增加间隔重试时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310745249.0A CN103701911B (zh) | 2013-12-30 | 2013-12-30 | 通过浏览器进行下载的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310745249.0A CN103701911B (zh) | 2013-12-30 | 2013-12-30 | 通过浏览器进行下载的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103701911A CN103701911A (zh) | 2014-04-02 |
CN103701911B true CN103701911B (zh) | 2017-08-18 |
Family
ID=50363305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310745249.0A Active CN103701911B (zh) | 2013-12-30 | 2013-12-30 | 通过浏览器进行下载的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701911B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268229B (zh) * | 2014-09-26 | 2018-01-19 | 北京金山安全软件有限公司 | 一种基于多进程浏览器的资源获得方法及装置 |
CN104504060B (zh) * | 2014-12-18 | 2018-03-02 | 北京奇虎科技有限公司 | 浏览器中下载文件的方法、浏览器客户端和装置 |
CN113347278B (zh) * | 2021-08-02 | 2021-10-29 | 北京鲸准数服信息科技有限责任公司 | 数据处理方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438031A (zh) * | 2011-03-11 | 2012-05-02 | 奇智软件(北京)有限公司 | 一种续传下载方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW498228B (en) * | 1999-11-24 | 2002-08-11 | Elegent Technologies Inc | Self-contained network browser with diagnostic abilities |
CN103391326B (zh) * | 2013-08-01 | 2017-11-07 | 贝壳网际(北京)安全技术有限公司 | 基于浏览器的文件下载方法、系统及客户端 |
CN103458029A (zh) * | 2013-09-02 | 2013-12-18 | 百度在线网络技术(北京)有限公司 | 通过浏览器进行加速下载的方法、系统和装置 |
-
2013
- 2013-12-30 CN CN201310745249.0A patent/CN103701911B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438031A (zh) * | 2011-03-11 | 2012-05-02 | 奇智软件(北京)有限公司 | 一种续传下载方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103701911A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102333122B (zh) | 一种下载资源提供方法、装置及系统 | |
CN102810138B (zh) | 一种用户端文件的修复方法和系统 | |
CN103701911B (zh) | 通过浏览器进行下载的方法和装置 | |
US9866583B2 (en) | Fuzzing server responses to malicious client devices | |
CN109660532B (zh) | 一种分布式农业网络数据采集方法及其采集系统 | |
CN106649446B (zh) | 信息推送方法和装置 | |
US9749295B2 (en) | Systems and methods for internet traffic analysis | |
CN105978967A (zh) | 控制信息推送的方法和装置 | |
CN104079623B (zh) | 多级云存储同步控制方法及系统 | |
CN105786636B (zh) | 一种系统修复方法及装置 | |
CN105740417A (zh) | 一种基于网页的目标数据搜索方法、模块、浏览器及终端 | |
CN102546594B (zh) | 一种网络资源访问控制方法、装置及相关设备 | |
CN104462242B (zh) | 网页回流量统计方法及装置 | |
CN109254921A (zh) | 应用版本验证方法、装置、计算机设备以及存储介质 | |
CN102306184B (zh) | 获得链接压缩地址信息及压缩网页的方法、装置和设备 | |
CN109522505A (zh) | 信息发布方法、装置、存储介质和电子装置 | |
CN101739401A (zh) | 网络搜索方法和设备 | |
CN111162918A (zh) | 业务开通管理方法和装置 | |
CN102857575B (zh) | 一种互联网资源的下载方法及系统 | |
CN105141642B (zh) | 一种防止非法用户行为的方法及装置 | |
CN102984055A (zh) | 一种issu的软重启升级方法和设备 | |
CN109068265A (zh) | 快速绑定账号和车辆的方法、系统、服务器及存储介质 | |
CN105516114B (zh) | 一种基于网页哈希值扫描漏洞的方法、装置及电子设备 | |
CN108683643B (zh) | 一种基于流式处理的数据脱敏系统及其脱敏方法 | |
CN108038233B (zh) | 一种采集文章的方法、装置、电子设备及存储介质 |
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 |