CN102355486A - 一种下载数据的方法及装置 - Google Patents

一种下载数据的方法及装置 Download PDF

Info

Publication number
CN102355486A
CN102355486A CN2011102297131A CN201110229713A CN102355486A CN 102355486 A CN102355486 A CN 102355486A CN 2011102297131 A CN2011102297131 A CN 2011102297131A CN 201110229713 A CN201110229713 A CN 201110229713A CN 102355486 A CN102355486 A CN 102355486A
Authority
CN
China
Prior art keywords
download
application software
file
data
sign
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
CN2011102297131A
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.)
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Xunlei Network 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 Shenzhen Xunlei Network Technology Co Ltd filed Critical Shenzhen Xunlei Network Technology Co Ltd
Priority to CN2011102297131A priority Critical patent/CN102355486A/zh
Publication of CN102355486A publication Critical patent/CN102355486A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种下载数据的方法,用于提高下载效率。所述方法包括:从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识;调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据;将下载的数据传输给所述应用软件。本发明还公开了用于实现所述方法的装置。

Description

一种下载数据的方法及装置
技术领域
本发明涉及通信和互联网领域,特别是涉及下载数据的方法及装置。
背景技术
HTTP则是Hyper Text Transportation Protocol(超文本传输协议)的缩写,它们是计算机之间交换数据的方式。HTTP是一个客户端和服务器端请求和响应的标准(TCP)。它是一种从Web服务器下载超文本到本地浏览器的一种传输协议。客户端是终端用户,服务器端是网站。通过使用web浏览器或者其它的工具,客户端发起一个到服务器上指定端口的HTTP请求。应答的服务器上存储着一些资源,比如HTML(超文本标记语言)文件和图像。HTTP的主要工作是用来浏览网页,不过也能用来下载。HTTP下载的优点是网友可以打开浏览器自由选择Web网页上的图片、Html文件、压缩文件等元素进行下载,用户只需要使用浏览器软件不需要其它下载软件就能下载文件,通用性强。而它的缺点是下载速度慢、不支持断点续传,因此只适合下载体积较小的文件。
现在有多家企业开发的下载工具,采用多服务器超线程传输技术(Multi-server Hyper-threading Transportation,MHT),最大限度优化算法,智能拆分下载文件,多点并行传输,可大幅度提高下载速度。
但是目前如应用软件的在线安装或在线更新时由应用软件发起的数据获取,仍然采用基于HTTP协议下载,从指定的服务器获取数据。这种方式下载速度较慢,海量服务负荷过大,严重影响服务质量。
发明内容
本发明实施例提供一种下载数据的方法及装置,用于提高下载效率。
一种下载数据的方法,包括以下步骤:
从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识;
调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据;
将下载的数据传输给所述应用软件。
一种用于下载数据的装置,包括:
应用接口模块,用于从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识;
调用模块,用于调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据;
传输模块,用于将下载的数据传输给所述应用软件。
本发明实施例在应用软件下载文件的过程中,启动专用下载工具,并通过专用下载工具下载应用软件需下载的文件,利用专用下载工具的下载优势,相当于提高应用软件的下载效率。
附图说明
图1为本发明实施例中下载数据的主要方法流程图;
图2为本发明实施例中下载数据的详细方法流程图;
图3为本发明实施例中监控应用层时下载数据的方法流程图;
图4为本发明实施例中监控驱动层时下载数据的方法流程图;
图5为本发明实施例中装置的主要结构图;
图6为本发明实施例中装置的详细结构图。
具体实施方式
本发明实施例在应用软件下载文件的过程中,启动专用下载工具,并通过专用下载工具下载应用软件需下载的文件,利用专用下载工具的下载优势,相当于提高应用软件的下载效率。
本实施例中的应用软件为不能通过浏览器建立下载任务,并带有固定下载地址的软件,包括具有在线下载或在线安装等功能的进行单一路径下载的软件,例如防火墙或杀毒软件等。专用下载工具包括接口模块和下载加速模块。接口模块用于接受调用,下载加速模块用于对需要下载的数据进行下载加速,其可通过多线程下载、多源下载(P2P(点到点)、P2SP(点到服务和点))等方式实现。下载加速模块可使用现有的下载工具的下载后台技术,例如资源索引数据库,其中包括了下载数据资源的文件标识与一个或多个URL(UniformResource Locator,统一资源定位)的对应关系,当接口模块将被调用时获得的需下载文件的标识发送给下载加速模块时,下载加速模块则根据该标识从资源索引数据库中查找该标识对应的多个URL,并从该多个URL同时下载数据,以实现下载加速。
参见图1,本实施例中下载数据的主要方法流程如下:
步骤101:从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识。
步骤102:调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据。
步骤103:将下载的数据传输给所述应用软件。
需下载文件的标识包括统一资源定位(URL)、引用页或数据文件指纹等。其中,数据文件指纹为用哈希(hash)算法对文件的全部或部分数据进行加密后得到的结果。
但是网络侧该文件的标识可能发生变化,例如存储位置改变(即URL改变)或者文件更新(即数据文件指纹),从下载请求中获得的需下载文件的标识可能不准确。所以为了提高下载的成功率和准确性,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,主要是获得文件的头部,从头部获得标识。然后将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对,在比对结果一致时调用专用下载工具。通过下面的实施例详细介绍下载过程。
参见图2,本实施例中下载数据的详细方法流程如下:
步骤201:从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识。
步骤202:获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识。
步骤203:将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对。
如果比对一致,则继续步骤204,否则结束流程,由应用软件继续下载文件。
步骤204:调用专用下载工具,在专用下载工具中建立下载任务,以及建立下载任务到应用软件的映射。其中,调用专用下载工具的同时,将获得的需下载文件的标识发送给专用下载工具。
步骤205:通过该专用下载工具根据该需下载文件的标识下载数据。
步骤206:通过该映射将专用下载工具下载的数据传输给所述应用软件。
本实施例中可以通过应用层和驱动层两种途径从应用软件处获得下载请求,并将下载的数据传输给所述应用软件。下面通过两个典型实施例来介绍这两种实现方式。
参见图3,本实施例中监控应用层时下载数据的方法流程如下:
步骤301:通过监控应用软件调用的应用程序接口(API)的发送命令,从应用软件处获得下载请求。
步骤302:从下载请求中获得需下载文件的标识。
在视窗(windows)操作系统中,利用lpWSPSend指向函数监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中lpWSPSend指向函数的指针指向应用软件调用的应用程序接口(API)。
步骤303:从应用层获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识。
在windows操作系统中,利用lpWSPRecv或lpWSPGetOverlappedResult指向函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中lpWSPRecv和lpWSPGetOverlappedResult指向函数的指针指向应用软件下载的文件。其中,lpWSPRecv指向函数用于直接截获应用软件下载的数据。lpWSPGetOverlappedResult指向函数用于设置一个类似盒子的容器(如堆栈等),应用软件下载的数据将填充该盒子,从而获得应用软件下载的数据。
步骤304:将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对。
如果比对一致,则继续步骤305,否则结束流程,由应用软件继续下载文件。例如,将从下载请求获得的URL与从下载的部分文件中获得的URL比对,如果一致,继续步骤305。如果从下载请求获得的是URL,从下载的部分文件中获得的是数据文件指纹,则确定比对不一致。
步骤305:调用专用下载工具,在专用下载工具中建立下载任务,以及建立下载任务到应用软件的映射。
步骤306:通过该专用下载工具根据该需下载文件的标识下载数据。
步骤307:通过该映射将专用下载工具下载的数据传输给所述应用软件。在windows操作系统中,用专用下载工具的下载端口替换应用软件的socket接口,以将下载的数据传输给所述应用软件。
下载结束或用户停止下载时,获得应用软件的停止下载命令,并在执行停止下载命令之前,关闭或暂停专用下载工具中的下载任务,还可以清空相关任务记录。
参见图4,本实施例中监控驱动层时下载数据的方法流程如下:
步骤401:通过监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求。
步骤402:从下载请求中获得需下载文件的标识。
在视窗windows操作系统中,利用MPSend或MPSendPacket指向函数监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中MPSend或MPSendPacket指向函数的指针指向应用软件调用的中间层驱动发送数据包调用接口。
步骤403:从驱动层获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识。
在视窗windows操作系统中,利用PtReceive或PtReceivePacket函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中PtReceive和PtReceivePacket函数的指针指向应用软件下载的文件。PtReceive函数相当于lpWSPRecv指向函数,功能基本相同,只是PtReceive函数用于在驱动层截获数据。PtReceivePacket函数相当于lpWSPGetOverlappedResult指向函数,功能基本相同,只是PtReceivePacket函数用于在驱动层获得数据。
步骤404:将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对。
如果比对一致,则继续步骤405,否则结束流程,由应用软件继续下载文件。例如,将从下载请求获得的URL与从下载的部分文件中获得的URL比对,如果一致,继续步骤405。如果从下载请求获得的是URL,从下载的部分文件中获得的是数据文件指纹,则确定比对不一致。
步骤405:调用专用下载工具,在专用下载工具中建立下载任务,以及建立下载任务到应用软件的映射。调用专用下载工具的同时,通过DeviceIoControl函数将需下载文件的标识发送给专用下载工具。
步骤406:通过该专用下载工具根据该需下载文件的标识下载数据。
步骤407:通过该映射将专用下载工具下载的数据传输给所述应用软件。在视窗windows操作系统中,通过写文件WriteFile方式将数据传递给驱动层,驱动层获取到数据,将获取到的数据作为NDIS原有应发送的数据。
下载结束或用户停止下载时,获得应用软件的停止下载命令,并在执行停止下载命令之前,关闭或暂停专用下载工具中的下载任务,还可以清空相关任务记录。
专用下载工具通常是根据自带的文件的标识与文件存储地址的对应关系来获得文件存储地址,进而下载文件。但是该对应关系可能更新不及时,使得专用下载工具下载的文件出现错误。较佳的解决方式是,将专用下载工具下载的数据相关信息与应用软件下载的数据相关信息进行校验,若校验结果一致,则将下载的数据传输给所述应用软件,如果不一致,关闭专用下载工具中的下载任务,继续由应用软件下载。数据相关信息包括:文件后缀名、文件大小或文件标识等。
当数据相关信息为数据文件指纹时,具体校验方法:预先设置一个文件分片指纹数据库,其包括了整体文件指纹、文件分片指纹的对应关系,分片指纹是指对一个二进制文件的每个数据片段分别用hash算法计算出指纹,例如一个100k的文件,可以对其0-10k、11-20k...91-100k计算得到10个文件分片指纹,或者该数据库也可以仅记录第一个文件分片指纹,也就是0-10k,在校验时,让应用程序自己下载第一个文件分片(例如http协议是按文件顺序进行下载),下载后截获该分片数据,计算指纹,将计算的分片指纹与数据库中的进行比较,再与加速模块建立下载任务的指纹比较。
通过以上描述了解了下载数据的实现过程,该过程主要由装置实现。下面对该装置的内部结构和功能进行介绍。
参见图5,本实施例中用于下载数据的装置包括:应用接口模块501、调用模块502和传输模块503。
应用接口模块501用于从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识。需下载文件的标识包括统一资源定位URL、引用页或数据文件指纹。
调用模块502用于调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据。
传输模块503用于将下载的数据传输给所述应用软件。
具体的,应用接口模块501通过监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求;或者,通过监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求。在视窗windows操作系统中,应用接口模块501利用lpWSPSend指向函数监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中lpWSPSend指向函数的指针指向应用软件调用的应用程序接口API;或者,利用MPSend或MPSendPacket指向函数监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中MPSend或MPSendPacket指向函数的指针指向应用软件调用的中间层驱动发送数据包调用接口。
所述装置还包括:截取模块504,参见图6所示。截取模块504用于获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识;将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对。调用模块502在比对结果一致时调用专用下载工具。具体的,在视窗windows操作系统中,截取模块504利用lpWSPRecv或lpWSPGetOverlappedResult指向函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中lpWSPRecv和lpWSPGetOverlappedResult指向函数的指针指向应用软件下载的文件;或者,利用PtReceive或PtReceivePacket函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中PtReceive和PtReceivePacket函数的指针指向应用软件下载的文件。
调用模块502调用专用下载工具,在专用下载工具中建立下载任务,以及建立下载任务到应用软件的映射。传输模块503通过该映射将专用下载工具下载的数据传输给所述应用软件。
在视窗windows操作系统中,传输模块503用专用下载工具的下载端口替换应用软件的socket接口,以将下载的数据传输给所述应用软件;或者,通过写文件WriteFile方式将数据传递给驱动层,驱动层获取到数据,将获取到的数据作为NDIS原有应发送的数据。
应用接口模块501还用于获得应用软件的停止下载命令。调用模块502还用于在执行停止下载命令之前,关闭或暂停专用下载工具中的下载任务。
所述装置还包括:校验模块505,用于将专用下载工具下载的数据相关信息与应用软件下载的数据相关信息进行校验;若校验结果一致,则传输模块将下载的数据传输给所述应用软件。
所述装置可以是软件实现,则该装置可通过动态链接库(Dynamic LinkLibrary,DLL)、可执行文件(EXE)及驱动程序等方式载入windows操作系统中。
以windows操作系统为例,一种安装所述装置的方法如下:
1)通过服务提供者配置函数中的WSCEnumProtocols(服务提供者配置函数中用来枚举系统中所有已安装的服务提供者的函数,它按照服务提供者的安装顺序相应的列出他们)枚举Winsock(即Windows Sockets的缩写,是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口)目录下的所有服务程序提供者;
2)寻找第一个地址家族为AF INET,套接字类型为SOCK_STREAM,协议类型为IPPROTO_TCP的“协议链”或“Basic Service Provider(基础服务提供者)”;
3)调用WSCInstallProvider(用于安装服务提供者的函数)安装加速服务模块分层协议;
4)通过WSCEnumProtocol函数重新枚举所有服务程序提供者,获取加速服务模块分层协议的目录ID号;
5)通过WSCInstallProvider函数安装加速服务模块协议链,并将该协议链提前到协议链顶层(以维持链式结构,是winsock2协议所要求的);
6)调用WSCWriteProviderOrder(这是服务提供者配置函数中用于更新所有服务提供者的安装顺序的函数)函数重新排序Winsock目录。
本发明实施例在应用软件下载文件的过程中,启动专用下载工具,并通过专用下载工具下载应用软件需下载的文件,利用专用下载工具的下载优势,相当于提高应用软件的下载效率。本发明实施例还提供了通过应用层和驱动层两种方式实现,实现方式灵活,便于应用。
针对第三方软件厂商开发的需从远程主机获取数据的软件(诸如需要在线更新病毒库的杀毒软件、需要在线下载安装数据包的在线软件安装包等),可采用本发明所提供的系统及方法进行数据下载加速。
传统的下载工具只能针对下载链接建立的下载任务进行加速,而对于一些在运行于非下载工具进程中的数据传输任务,例如软件更新进程、软件在线安装进程中的数据传输任务,则只能从进程所指定的地址获取数据,这通常是从单一服务器获取,所以极大的限制了数据获取速度。而采用本发明所提供的装置及方法,可为诸如软件在线安装、更新升级等应用进行数据传输加速,在为用户提供高速优质内容服务的同时,为第三方软件和内容服务提供商节省网络资源开销。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (20)

1.一种下载数据的方法,其特征在于,包括以下步骤:
从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识;
调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据;
将下载的数据传输给所述应用软件。
2.如权利要求1所述的方法,其特征在于,从应用软件处获得下载请求的步骤包括:
通过监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求;或者
通过监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求。
3.如权利要求2所述的方法,其特征在于,通过监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识的步骤包括:在视窗windows操作系统中,利用lpWSPSend指向函数监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中lpWSPSend指向函数的指针指向应用软件调用的应用程序接口API;
通过监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识的步骤包括:在视窗windows操作系统中,利用MPSend或MPSendPacket指向函数监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中MPSend或MPSendPacket指向函数的指针指向应用软件调用的中间层驱动发送数据包调用接口。
4.如权利要求1所述的方法,其特征在于,调用专用下载工具之前,还包括步骤:获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识;将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对;
调用专用下载工具的步骤包括:在比对结果一致时调用专用下载工具。
5.如权利要求4所述的方法,其特征在于,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识的步骤包括:
在视窗windows操作系统中,利用lpWSPRecv或lpWSPGetOverlappedResult指向函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中lpWSPRecv和lpWSPGetOverlappedResult指向函数的指针指向应用软件下载的文件;或者
在视窗windows操作系统中,利用PtReceive或PtReceivePacket函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中PtReceive和PtReceivePacket函数的指针指向应用软件下载的文件。
6.如权利要求1所述的方法,其特征在于,调用专用下载工具,并通过该专用下载工具根据需下载文件的标识下载数据的步骤包括:调用专用下载工具,在专用下载工具中建立下载任务,以及建立下载任务到应用软件的映射;
将下载的数据传输给所述应用软件的步骤包括:通过该映射将专用下载工具下载的数据传输给所述应用软件。
7.如权利要求6所述的方法,其特征在于,还包括步骤:获得应用软件的停止下载命令,并在执行停止下载命令之前,关闭或暂停专用下载工具中的下载任务。
8.如权利要求1所述的方法,其特征在于,将下载的数据传输给所述应用软件的步骤包括:
在视窗windows操作系统中,用专用下载工具的下载端口替换应用软件的socket接口,以将下载的数据传输给所述应用软件;或者
在视窗windows操作系统中,通过写文件WriteFile方式将数据传递给驱动层,驱动层获取到数据,将获取到的数据作为NDIS原有应发送的数据。
9.如权利要求1所述的方法,其特征在于,将下载的数据传输给所述应用软件之前,还包括步骤:将专用下载工具下载的数据相关信息与应用软件下载的数据相关信息进行校验;
若校验结果一致,则将下载的数据传输给所述应用软件。
10.如权利要求1所述的方法,其特征在于,需下载文件的标识包括统一资源定位URL、引用页或数据文件指纹。
11.一种用于下载数据的装置,其特征在于,包括:
应用接口模块,用于从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识;
调用模块,用于调用专用下载工具,并通过该专用下载工具根据该需下载文件的标识下载数据;
传输模块,用于将下载的数据传输给所述应用软件。
12.如权利要求11所述的装置,其特征在于,应用接口模块通过监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求;或者,通过监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求。
13.如权利要求12所述的装置,其特征在于,在视窗windows操作系统中,应用接口模块利用lpWSPSend指向函数监控应用软件调用的应用程序接口API的发送命令,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中lpWSPSend指向函数的指针指向应用软件调用的应用程序接口API;或者,利用MPSend或MPSendPacket指向函数监控应用软件调用的中间层驱动发送数据包调用接口,从应用软件处获得下载请求,并从下载请求中获得需下载文件的标识,其中MPSend或MPSendPacket指向函数的指针指向应用软件调用的中间层驱动发送数据包调用接口。
14.如权利要求11所述的装置,其特征在于,还包括:截取模块,用于获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识;将从下载请求获得的需下载文件的标识与从下载的部分文件中获得需下载文件的标识比对;
调用模块在比对结果一致时调用专用下载工具。
15.如权利要求14所述的装置,其特征在于,在视窗windows操作系统中,截取模块利用lpWSPRecv或lpWSPGetOverlappedResult指向函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中lpWSPRecv和lpWSPGetOverlappedResult指向函数的指针指向应用软件下载的文件;或者,利用PtReceive或PtReceivePacket函数,获得应用软件下载的部分文件,并从下载的部分文件中获得需下载文件的标识,其中PtReceive和PtReceivePacket函数的指针指向应用软件下载的文件。
16.如权利要求11所述的装置,其特征在于,调用模块调用专用下载工具,在专用下载工具中建立下载任务,以及建立下载任务到应用软件的映射;
传输模块通过该映射将专用下载工具下载的数据传输给所述应用软件。
17.如权利要求16所述的装置,其特征在于,应用接口模块还用于获得应用软件的停止下载命令;
调用模块还用于在执行停止下载命令之前,关闭或暂停专用下载工具中的下载任务。
18.如权利要求11所述的装置,其特征在于,在视窗windows操作系统中,传输模块用专用下载工具的下载端口替换应用软件的socket接口,以将下载的数据传输给所述应用软件;或者,通过写文件WriteFile方式将数据传递给驱动层,驱动层获取到数据,将获取到的数据作为NDIS原有应发送的数据。
19.如权利要求11所述的装置,其特征在于,还包括:校验模块,用于将专用下载工具下载的数据相关信息与应用软件下载的数据相关信息进行校验;
若校验结果一致,则传输模块将下载的数据传输给所述应用软件。
20.如权利要求11所述的装置,其特征在于,需下载文件的标识包括统一资源定位URL、引用页或数据文件指纹。
CN2011102297131A 2011-08-11 2011-08-11 一种下载数据的方法及装置 Pending CN102355486A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102297131A CN102355486A (zh) 2011-08-11 2011-08-11 一种下载数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102297131A CN102355486A (zh) 2011-08-11 2011-08-11 一种下载数据的方法及装置

Publications (1)

Publication Number Publication Date
CN102355486A true CN102355486A (zh) 2012-02-15

Family

ID=45578980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102297131A Pending CN102355486A (zh) 2011-08-11 2011-08-11 一种下载数据的方法及装置

Country Status (1)

Country Link
CN (1) CN102355486A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103391326A (zh) * 2013-08-01 2013-11-13 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103401931A (zh) * 2013-08-05 2013-11-20 天闻数媒科技(湖南)有限公司 一种下载文件的方法和系统
CN103841172A (zh) * 2012-11-27 2014-06-04 上海亿动信息技术有限公司 基于用户终端标识比对应用下载运行统计方法及其装置
CN104079648A (zh) * 2014-06-27 2014-10-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
CN104079648B (zh) * 2014-06-27 2018-06-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
WO2019037398A1 (zh) * 2017-08-21 2019-02-28 深圳创维-Rgb电子有限公司 一种应用程序的下载管理方法、存储介质及智能设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042651A (zh) * 2006-03-22 2007-09-26 华为技术有限公司 一种软件升级方法及其系统
CN101329633A (zh) * 2008-07-25 2008-12-24 北大方正集团有限公司 一种软件升级的方法和软件升级装置
CN101593121A (zh) * 2009-06-23 2009-12-02 中兴通讯股份有限公司 软件在线升级的方法、装置及系统
CN101610290A (zh) * 2009-07-22 2009-12-23 深圳市茁壮网络股份有限公司 下载管理的方法和下载管理单元及下载系统
CN101616132A (zh) * 2008-06-24 2009-12-30 中国移动通信集团公司 一种数据获取方法及其装置和系统
CN101719936A (zh) * 2009-12-09 2010-06-02 成都市华为赛门铁克科技有限公司 提供文件下载服务的方法、装置及缓存系统
CN101873355A (zh) * 2010-06-28 2010-10-27 深圳市迅雷网络技术有限公司 一种下载文件的方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042651A (zh) * 2006-03-22 2007-09-26 华为技术有限公司 一种软件升级方法及其系统
CN101616132A (zh) * 2008-06-24 2009-12-30 中国移动通信集团公司 一种数据获取方法及其装置和系统
CN101329633A (zh) * 2008-07-25 2008-12-24 北大方正集团有限公司 一种软件升级的方法和软件升级装置
CN101593121A (zh) * 2009-06-23 2009-12-02 中兴通讯股份有限公司 软件在线升级的方法、装置及系统
CN101610290A (zh) * 2009-07-22 2009-12-23 深圳市茁壮网络股份有限公司 下载管理的方法和下载管理单元及下载系统
CN101719936A (zh) * 2009-12-09 2010-06-02 成都市华为赛门铁克科技有限公司 提供文件下载服务的方法、装置及缓存系统
CN101873355A (zh) * 2010-06-28 2010-10-27 深圳市迅雷网络技术有限公司 一种下载文件的方法、装置和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《吉林大学学报(工学版)》 20060331 杨智君等 "基于NDIS中间层驱动程序的网络监测器" 第36卷, 第2期 *
《电脑爱好者》 20090630 张莉 "拒绝IE下载的自作多情" , 第06期 *
张莉: ""拒绝IE下载的自作多情"", 《电脑爱好者》 *
杨智君等: ""基于NDIS中间层驱动程序的网络监测器"", 《吉林大学学报(工学版)》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841172A (zh) * 2012-11-27 2014-06-04 上海亿动信息技术有限公司 基于用户终端标识比对应用下载运行统计方法及其装置
CN103841172B (zh) * 2012-11-27 2017-09-22 上海亿动信息技术有限公司 基于用户终端标识比对应用下载运行统计方法及其装置
CN103391326A (zh) * 2013-08-01 2013-11-13 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103391326B (zh) * 2013-08-01 2017-11-07 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103401931A (zh) * 2013-08-05 2013-11-20 天闻数媒科技(湖南)有限公司 一种下载文件的方法和系统
CN103401931B (zh) * 2013-08-05 2017-07-25 天闻数媒科技(湖南)有限公司 一种下载文件的方法和系统
CN104079648A (zh) * 2014-06-27 2014-10-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
CN104079648B (zh) * 2014-06-27 2018-06-01 北京奇虎科技有限公司 下载方法、浏览器及下载工具
WO2019037398A1 (zh) * 2017-08-21 2019-02-28 深圳创维-Rgb电子有限公司 一种应用程序的下载管理方法、存储介质及智能设备

Similar Documents

Publication Publication Date Title
US10713034B2 (en) Updating web resources
US10412176B2 (en) Website access method, apparatus, and website system
US8572033B2 (en) Computing environment configuration
US10613853B2 (en) Updating software components through online stores
CN110187912B (zh) 一种节点选择方法和装置
CN103649945B (zh) 最近使用的文档列表的自动同步
WO2017084555A1 (zh) 用于可信执行环境的可信应用生成及安装方法
WO2017080366A1 (zh) 一种识别伪装下载链接的方法和装置
JP2007528064A (ja) 無線装置オペレーティング環境における未検証プログラムの実行
CN109327490A (zh) 一种部署云服务组件的方法和装置
CN102567339A (zh) 一种获取起始页的方法、装置和系统
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理系统
CN103369002A (zh) 一种资源下载的方法及系统
CN102355486A (zh) 一种下载数据的方法及装置
CN103281297A (zh) 企业信息安全管理系统与方法
CN108108203B (zh) 用于安装包下载安装过程的方法、装置及系统
CN105978944A (zh) 对象存储方法和装置
JP2012159924A (ja) インストールシステム
EP3872630A2 (en) Request processing method and apparatus, electronic device, and computer storage medium
CN109460389A (zh) 一种基于openresty的日志记录方法
US8280950B2 (en) Automatic client-server code generator
TWI517045B (zh) JAVA cluster application system code loading and upgrading devices and methods
CN107357853B (zh) 一种redis控制台的操作方法、装置及计算机系统
CN104166562B (zh) 用于视窗操作系统中应用程序磁贴的生成方法及装置
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120215