CN107135249B - 数据下载方法及装置 - Google Patents

数据下载方法及装置 Download PDF

Info

Publication number
CN107135249B
CN107135249B CN201710221325.6A CN201710221325A CN107135249B CN 107135249 B CN107135249 B CN 107135249B CN 201710221325 A CN201710221325 A CN 201710221325A CN 107135249 B CN107135249 B CN 107135249B
Authority
CN
China
Prior art keywords
data
download
downloading
request
local
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
Application number
CN201710221325.6A
Other languages
English (en)
Other versions
CN107135249A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710221325.6A priority Critical patent/CN107135249B/zh
Publication of CN107135249A publication Critical patent/CN107135249A/zh
Application granted granted Critical
Publication of CN107135249B publication Critical patent/CN107135249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本发明实施例公开了一种数据下载方法,包括:拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;通过所述本地代理访问所述远程地址下载目标数据;获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。采用本发明,可提高系统的可靠性。

Description

数据下载方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据下载方法及装置。
背景技术
为了提高下载速度,寻找最合适的下载节点或内容缓存节点(CDN节点)下载数据,通常会设置本地代理软件,例如各种游戏加速器、视频加速器等。其工作通常为,监听需要加速的游戏软件或视频软件的端口,然后再选择合适的线路连接游戏服务器或视频服务器,从而使得终端可以通过最优质的链路传输数据。
然而,本地代理软件通常为需要加速的游戏软件、视频软件等上层业务的第三方实现,这就使得数据下载完全由本地代理软件来控制,上层业务无法监控数据的下载过程,无法及时处理一些下载异常的情况。例如,若下载链路断开,本地代理软件仍然保持着与上层业务软件的连接状态,使得上层业务软件只能知道没有数据传输流量,但无法了解下载链路断开的事实。这就使得上层业务软件无法及时应对下载链路断开,而只能以数据传输流量为0的策略来处理这种情况,从而导致了系统的可靠性较低。
发明内容
基于此,为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,特提出了一种数据下载方法,包括:
拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;
在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;
通过所述本地代理访问所述远程地址下载目标数据;
获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。
此外,为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,特提出了一种数据下载装置,包括:
下载请求拦截模块,用于拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;
下载请求转发模块,用于在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;
数据下载模块,用于通过所述本地代理访问所述远程地址下载目标数据;
数据转发模块,用于获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。
实施本发明实施例,将具有如下有益效果:
采用了上述数据下载方法及装置之后,终端上的目标应用程序在使用本地代理软件时,发起的下载请求在被拦截后,传递至上层代理的程序组件设置的本地端口,然后再由上层代理的程序组件选择合适的本地代理访问下载请求中的远程地址,然后根据本地代理返回的下载状态参数将本地代理下载的目标数据传输给目标应用。这就使得目标应用和本地代理之间新增了起管理作用的上层代理的程序组件,而该上层代理的程序组件可根据下载状态参数准确监控本地代理的下载过程,再及时地向目标应用发送下载数据或下载状态,从而使得目标应用能够准确地根据下载状态执行相应的业务处理操作,避免了在本地代理下载出现故障时目标应用无法及时处理的风险,从而提高了系统的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中软件模块架构示意图;
图2为一个实施例中一种数据下载方法的流程示意图;
图3为一个实施例中一种触发目标应用上的链接的界面示意图;
图4为一个实施例中一种目标应用与上层代理及本地代理的传输时序图;
图5为一个实施例中一种数据下载装置的结构示意图;
图6为一个实施例中运行前述数据下载方法的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,本发明实施例特提出了一种数据下载方法。该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是终端上的本地代理的管理程序,也可以是集成在应用中的程序功能模块或者以插件形式与应用绑定的程序功能模块。该计算机系统可以是手机、平板电脑、笔记本电脑、台式机等。
在本实施例中,如图1所示,目标应用、上层代理和本地代理均为运行于该终端上的计算机程序,相较于传统技术,执行该方法的终端在系统中额外构建了上层代理这一程序组件。在图1中,目标应用在上网下载数据时,并不与本地代理建立直接的socket连接,而是可先与该上层代理的程序组件建立socket连接。该上层代理的程序组件管理着终端上的一个或一个以上的本地代理程序,并可与管理的本地代理程序也建立有直接的socket连接。目标应用希望下载的数据由本地代理访问远程的服务器下载,然后由该上层代理程序将下载的数据转发给目标应用。上层代理程序在目标应用和本地代理之间起到了桥梁和缓冲的作用,可适配不同的本地代理程序,并对本地代理的下载行为进行管理和监控,从而指示目标应用执行更加合理的业务逻辑,提高系统可靠性。
具体的,如图2所示,该数据下载方法包括如下步骤:
步骤S102:拦截目标应用的下载请求,下载请求的目的地址为远程地址,将下载请求发送至预设的本地端口。
拦截目标应用的下载请求即为监控目标应用的下载行为。目标应用的应用页面中可包含多个超链接hyperlink,超链接中包含有与远程服务器上的下载资源对应的远程地址(即url,Uniform Resoure Locator,统一资源定位符),当用户点击了该超链接时,目标应用即会向该远程地址发送http协议请求。或者,若目标应用若为游戏等应用程序,在程序执行过程中需要向远程的服务器下载数据,则在业务逻辑执行到预设节点时,向预设的远程服务器发送请求。
执行上述方法的终端可拦截目标应用外发的下载请求,拦截目标应用的下载请求可包括两种方式。上层代理拦截下载请求后,即建立了如图1所示的目标应用至上层代理的连接关系,终端可将拦截的目标应用的下载请求的目的地址设置为预设的本地端口,将远程地址作为参数添加到下载请求中,向本地端口发送所述下载请求。
具体的,在第一种方式中,可在系统中监测目标应用的预设的应用端口发送的消息,建立该应用端口到预设的本地端口的连接,将该消息发送到本地端口中,由该上层代理的程序组件接收,该消息中包含目标应用需要访问的远程设备的远程地址。
例如,在一个应用场景中,目标应用为视频软件或游戏软件,若其设置有对外进行数据传输的应用端口固定为8080(例如,web服务器上应用的端口通常固定为80端口),则该视频软件或游戏软件在向外部设备发送消息时,建立的socket连接的源端口为100,可在操作系统中监听端口100发送的消息,该消息中包含了需要访问的远程服务器的远程地址。若上层代理的程序组件预设的本地端口为9527,则可建立终端端口100到端口9527的socket连接,将端口100发出的消息发送给端口9527,由本地运行的上层代理的程序组件接收。需要说明的是,上层代理的本地端口可以是固定的端口号也可以是临时分配的端口号。
在第二种方式中,也可在目标应用的页面中,通过脚本或监听器来监测目标应用外发的下载请求。具体的,终端可检测目标应用的页面中的链接触发操作,获取链接触发操作对应的远程地址;屏蔽目标应用针对链接触发操作发起下载请求。也就是说,目标应用的应用页面中可包含指向远程服务器的视频资源的链接地址url,可预先通过脚本语言定义跳转逻辑,屏蔽链接点击后的链接触发的事件处理函数以及相应的页面跳转操作,重新定义点击后的跳转逻辑为将该url发送给上层代理的本地端口。
例如,在一个应用场景中,目标应用可使用WebView组件展示页面,如图3所示,可预先用javascript等脚本语言定义页面中的部分需要进行代理下载的链接地址url的触发事件的事件处理函数,在该事件处理函数中定义发起新的指向本地端口的请求,在请求中将前述url作为参数加入。即,若需要进行代理下载的链接地址url为www.qq.com/qq.exe,则可在该链接的点击事件处理函数中定义跳转至:
127.0.0.1:9527/url=www.qq.com%2Fqq.exe
或者,localhost:9527/url=www.qq.com%2Fqq.exe
其中,127.0.0.1为本地IP,localhost为本地域名,均指向执行本方法的终端自身,9527为预设的本地端口号,www.qq.com%2Fqq.exe为经过转码后的远程地址。也就是说,目标应用中url:www.qq.com/qq.exe被点击后,生成了发送至127.0.0.1:9527的访问请求,而www.qq.com%2Fqq.exe并不是该访问请求的目的地址,而是作为该访问请求的参数传递给上层代理的程序组件。
步骤S104:在本地端口接收到远程地址的情况下,将下载请求转发给本地代理。
参考图4所示,上层代理在接收到包含远程地址的下载请求后,可解析出远程地址。如上例中,上层代理可从
127.0.0.1:9527/url=www.qq.com%2Fqq.exe
中查找http协议的parameter的关键字“url”,从而解析出远程地址为:
www.qq.com%2Fqq.exe,
然后将转发该下载请求,将www.qq.com%2Fqq.exe作为转发的下载请求的目的地址,即可由本地代理拦截。
步骤S106:通过本地代理访问远程地址下载目标数据。
本地代理在接收到目的地址为前述的远程地址的下载请求后,即可访问相应的远程服务器下载数据。在本实施例中,参考图4所示,本地代理下载的目标数据可通过本地代理与上层代理的程序组件的连接转发给上层代理。
步骤S108:获取本地代理的下载状态参数和目标数据,根据下载状态参数将目标数据通过本地端口发送给目标应用。
上层代理在接收本地代理转发的目标数据的过程中,也可获取到本地代理的下载状态参数。本地代理的下载状态参数可包括连接状态、文件信息、下载速度、下载结果中的至少一种。
连接状态,即可包括连接是否断开、连接是否超时、连接是否被重置等状态,文件信息可包括下载的文件的文件名、文件大小、文件类型、码率等信息,下载速度即可包括下载的瞬时速度、平均速度、剩余下载时长等信息;下载结果可包括是否下载完毕、下载失败、失败原因等信息。
上层代理的程序组件获取下载状态参数可通过两种方式获取。在第一种方式中,上层代理可通过与本地代理之间的socket连接接收本地代理在转发下载的目标数据的过程中返回的下载状态参数,可以是本地代理通过连接返回的各种错误码。例如,本地代理若下载过程中连接中断,则返回404的错误码给上层代理,若服务器故障,则返回501的错误码给上层代理。
在另一种方式中,上层代理在接收到本地代理发送的下载状态参数和目标数据之后,可将目标数据存储在预设的缓存区域中。上层代理可通过监测缓存区域中已下载的目标数据,获取本地代理的下载状态参数。
例如,若本地代理出现故障而下载中断且没有返回错误码时,上层代理可监测缓存区域中目标数据的数据大小的变化,若目标数据在预设时长内,数据量没有增长,则可判定本地代理出现故障,判定本地代理的下载状态参数中的连接状态变为未连接。
也就是说,上层代理监测本地代理下载数据的方式不限于根据本地代理返回的状态码来进行判断,也可根据下载过程中,目标数据的数据量大小变化来从侧面确定本地代理的下载状态参数。
进一步的,在本实施例中,上层代理还可根据下载状态参数建立读取缓存区域中的所述目标数据的数据流,将数据流发送给所述目标应用。
例如,在一个视频应用的应用场景中,用户在视频应用的页面中点击了某个视频的链接url1,页面上的JavaScript脚本阻止了该链接的跳转,而是将包含该链接的请求发送给了上层代理,上层代理在生成访问请求转发给本地代理,接收本地代理访问url1下载目标数据,上层代理并没有直接通过本地端口将该目标数据发送给视频应用,而是先存储在缓存区域中,为了更好的视频浏览体验,不给用户带来卡顿的观感,可根据本地代理的下载速度以及缓存区域中已存储的目标数据的数据量来设置发送给视频应用的速率或者视频流的码率。例如,可在缓存区域中已下载的目标数据的数据量达到阈值时,再发送给视频应用,这样就可保证视频应用在进行视频播放时,不会出现缓存数据不足的情况,从而避免了视频播放过程中的卡顿。再例如,若本地代理的下载速度较慢,则可降低视频的码率,将较低码率的视频流发送给视频应用。也避免了卡顿的现象。
在一个实施例中,上层代理还可将下载状态参数转换成与目标应用适配的网络状态参数,将网络状态参数发送给目标应用。如前所述,终端上已安装的本地代理的数量可以有多个,而目标应用不一定能识别每种本地代理返回的下载状态参数,因此,可由上层代理将本地代理的下载状态参数进行格式转换,转换成目标应用可识别的网络状态参数,则实现了目标应用与本地代理之间的适配。使得本地代理在下载过程中出现故障时,目标应用可通过上层代理的程序组件即时获知,而进行相应的业务处理,提高了系统的可靠性。
此外,为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,本发明实施例还提出了一种数据下载装置,如图5所示,上述数据下载装置包括下载请求拦截模块102、下载请求转发模块104、数据下载模块106以及数据转发模块108,其中:
下载请求拦截模块102,用于拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;
下载请求转发模块104,用于在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;
数据下载模块106,用于通过所述本地代理访问所述远程地址下载目标数据;
数据转发模块108,用于获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。
可选的,在一个实施例中,下载请求拦截模块102还用于检测所述目标应用的页面中的链接触发操作,获取所述链接触发操作对应的远程地址;屏蔽所述目标应用针对所述链接触发操作发起下载请求。
可选的,在一个实施例中,下载请求转发模块104还用于将所述下载请求的目的地址设置为预设的本地端口,将所述远程地址作为参数添加到所述下载请求中,向所述本地端口发送所述下载请求。
可选的,在一个实施例中,数据转发模块108还用于将所述目标数据存储在预设的缓存区域中;根据所述下载状态参数建立读取所述缓存区域中的所述目标数据的数据流,将所述数据流发送给所述目标应用。
可选的,在一个实施例中,数据转发模块108还用于通过监测所述缓存区域中已下载的目标数据,获取所述本地代理的第一下载状态参数。
可选的,在一个实施例中,数据转发模块108还用于接收所述本地代理返回的第二下载状态参数。
可选的,在一个实施例中,数据转发模块108还用于将所述下载状态参数转换成与所述目标应用适配的网络状态参数,将所述网络状态参数发送给所述目标应用。
实施本发明实施例,将具有如下有益效果:
采用了上述数据下载方法及装置之后,终端上的目标应用程序在使用本地代理软件时,发起的下载请求在被拦截后,传递至上层代理的程序组件设置的本地端口,然后再由上层代理的程序组件选择合适的本地代理访问下载请求中的远程地址,然后根据本地代理返回的下载状态参数将本地代理下载的目标数据传输给目标应用。这就使得目标应用和本地代理之间新增了起管理作用的上层代理的程序组件,而该上层代理的程序组件可根据下载状态参数准确监控本地代理的下载过程,再及时地向目标应用发送下载数据或下载状态,从而使得目标应用能够准确地根据下载状态执行相应的业务处理操作,避免了在本地代理下载出现故障时目标应用无法及时处理的风险,从而提高了系统的可靠性。
在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或者数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在一个实施例中,如图6所示,图6展示了一种运行上述数据下载方法的基于冯诺依曼体系的计算机系统的VR设备10。该计算机系统可以是VR设备的主机设备或是集成了主机功能的VR头戴式显示设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012和陀螺仪传感器10014。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统10的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统10中形成逻辑上的下载请求拦截模块102、下载请求转发模块104、数据下载模块106以及数据转发模块108。且在上述数据下载方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
具体的,在本实施例中,上述处理器1002还用于执行如下操作:
拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;
在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;
通过所述本地代理访问所述远程地址下载目标数据;
获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。
可选的,在其中一个实施例中,处理器1002还用于检测所述目标应用的页面中的链接触发操作,获取所述链接触发操作对应的远程地址;屏蔽所述目标应用针对所述链接触发操作发起下载请求。
可选的,在其中一个实施例中,处理器1002还用于将所述下载请求的目的地址设置为预设的本地端口,将所述远程地址作为参数添加到所述下载请求中,向所述本地端口发送所述下载请求。
可选的,在其中一个实施例中,处理器1002还用于将所述目标数据存储在预设的缓存区域中;根据所述下载状态参数建立读取所述缓存区域中的所述目标数据的数据流,将所述数据流发送给所述目标应用。
可选的,在其中一个实施例中,处理器1002还用于通过监测所述缓存区域中已下载的目标数据,获取所述本地代理的第一下载状态参数。
可选的,在其中一个实施例中,处理器1002还用于接收所述本地代理返回的第二下载状态参数。
可选的,在其中一个实施例中,处理器1002还用于将所述下载状态参数转换成与所述目标应用适配的网络状态参数,将所述网络状态参数发送给所述目标应用。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (13)

1.一种数据下载方法,其特征在于,所述方法应用于在系统中额外构建上层代理程序组件的终端,包括:
通过所述上层代理拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至所述上层代理中预设的本地端口;
在所述本地端口接收到所述远程地址的情况下,所述上层代理将所述下载请求转发给本地代理;
通过所述本地代理访问所述远程地址下载目标数据;
通过所述上层代理获取所述本地代理的下载状态参数和目标数据,所述上层代理根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用,包括:将所述下载状态参数转换成与所述目标应用适配的网络状态参数,将所述网络状态参数发送给所述目标应用;其中,所述下载状态参数是所述上层代理根据所述目标数据的数据量大小变化确定的,所述下载状态参数包括连接状态、下载速度、下载结果中的至少一种。
2.根据权利要求1所述的数据下载方法,其特征在于,所述拦截目标应用的下载请求为:
检测所述目标应用的页面中的链接触发操作,获取所述链接触发操作对应的远程地址;
屏蔽所述目标应用针对所述链接触发操作发起下载请求。
3.根据权利要求1所述的数据下载方法,其特征在于,所述将所述下载请求发送至预设的本地端口为:
将所述下载请求的目的地址设置为预设的本地端口,将所述远程地址作为参数添加到所述下载请求中,向所述本地端口发送所述下载请求。
4.根据权利要求1所述的数据下载方法,其特征在于,所述获取所述本地代理的下载状态参数和目标数据包括:
将所述目标数据存储在预设的缓存区域中;
所述根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用包括:
根据所述下载状态参数建立读取所述缓存区域中的所述目标数据的数据流,将所述数据流发送给所述目标应用。
5.根据权利要求4所述的数据下载方法,其特征在于,所述获取所述本地代理的下载状态参数包括:
通过监测所述缓存区域中已下载的目标数据,获取所述本地代理的第一下载状态参数。
6.根据权利要求1所述的数据下载方法,其特征在于,所述获取所述本地代理的下载状态参数包括:
接收所述本地代理返回的第二下载状态参数。
7.根据权利要求1所述的数据下载方法,其特征在于,所述下载状态参数还包括文件信息。
8.一种数据下载装置,其特征在于,包括:
下载请求拦截模块,用于拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;
下载请求转发模块,用于在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;
数据下载模块,用于通过所述本地代理访问所述远程地址下载目标数据;
数据转发模块,用于获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用,包括:将所述下载状态参数转换成与所述目标应用适配的网络状态参数,将所述网络状态参数发送给所述目标应用;其中,所述下载状态参数是根据所述目标数据的数据量大小变化确定的,所述下载状态参数包括连接状态、下载速度、下载结果中的至少一种。
9.根据权利要求8所述的数据下载装置,其特征在于,所述下载请求拦截模块还用于检测所述目标应用的页面中的链接触发操作,获取所述链接触发操作对应的远程地址;屏蔽所述目标应用针对所述链接触发操作发起下载请求。
10.根据权利要求8所述的数据下载装置,其特征在于,所述下载请求转发模块还用于将所述下载请求的目的地址设置为预设的本地端口,将所述远程地址作为参数添加到所述下载请求中,向所述本地端口发送所述下载请求。
11.根据权利要求10所述的数据下载装置,其特征在于,所述数据转发模块还用于将所述目标数据存储在预设的缓存区域中;根据所述下载状态参数建立读取所述缓存区域中的所述目标数据的数据流,将所述数据流发送给所述目标应用。
12.根据权利要求11所述的数据下载装置,其特征在于,所述数据转发模块还用于通过监测所述缓存区域中已下载的目标数据,获取所述本地代理的第一下载状态参数。
13.根据权利要求8所述的数据下载装置,其特征在于,所述数据转发模块还用于接收所述本地代理返回的第二下载状态参数。
CN201710221325.6A 2017-04-06 2017-04-06 数据下载方法及装置 Active CN107135249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710221325.6A CN107135249B (zh) 2017-04-06 2017-04-06 数据下载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710221325.6A CN107135249B (zh) 2017-04-06 2017-04-06 数据下载方法及装置

Publications (2)

Publication Number Publication Date
CN107135249A CN107135249A (zh) 2017-09-05
CN107135249B true CN107135249B (zh) 2023-03-24

Family

ID=59716424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710221325.6A Active CN107135249B (zh) 2017-04-06 2017-04-06 数据下载方法及装置

Country Status (1)

Country Link
CN (1) CN107135249B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109246234B (zh) * 2018-09-30 2021-09-24 北京金山云网络技术有限公司 一种镜像文件下载方法、装置、电子设备及存储介质
CN110377293B (zh) * 2019-07-22 2023-07-07 深圳前海达闼云端智能科技有限公司 一种下载方法、终端及存储介质
CN112637254B (zh) * 2019-09-24 2023-04-07 拉扎斯网络科技(上海)有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN111212418A (zh) * 2019-12-31 2020-05-29 北京指掌易科技有限公司 移动端应用安全下载装置和方法
CN112245907A (zh) * 2020-11-10 2021-01-22 网易(杭州)网络有限公司 游戏数据加速方法、存储介质、电子设备及系统
CN113271475B (zh) * 2021-04-12 2023-01-10 北京奇艺世纪科技有限公司 一种数据处理方法、系统、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796279A (zh) * 2014-01-21 2015-07-22 腾讯科技(深圳)有限公司 请求包的处理方法和装置
CN105656876A (zh) * 2015-11-26 2016-06-08 乐视云计算有限公司 一种直播视频的播放方法、装置及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US7707240B2 (en) * 2005-05-19 2010-04-27 Cisco Technology, Inc. Proxy for application server
CN101299753B (zh) * 2008-06-17 2012-12-05 浙江大学 具有web服务安全控制机制的代理服务器
US8769121B2 (en) * 2009-03-15 2014-07-01 Daren French Multi-session web acceleration
CN103620576B (zh) * 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
CN102202062B (zh) * 2011-06-03 2013-12-25 苏州九州安华信息安全技术有限公司 一种实现访问控制的方法和装置
CN103533060B (zh) * 2013-10-17 2017-04-19 华为技术有限公司 本地代理的处理方法及装置
CN106162216A (zh) * 2016-07-15 2016-11-23 天脉聚源(北京)传媒科技有限公司 协助播放器下载多媒体资源的方法和本地代理服务装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796279A (zh) * 2014-01-21 2015-07-22 腾讯科技(深圳)有限公司 请求包的处理方法和装置
CN105656876A (zh) * 2015-11-26 2016-06-08 乐视云计算有限公司 一种直播视频的播放方法、装置及系统

Also Published As

Publication number Publication date
CN107135249A (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
CN107135249B (zh) 数据下载方法及装置
US11206451B2 (en) Information interception processing method, terminal, and computer storage medium
US10447560B2 (en) Data leakage protection in cloud applications
US11222110B2 (en) Detecting malicious code received from malicious client side injection vectors
US8856325B2 (en) Network element failure detection
CN107181779B (zh) 访问请求的处理方法、装置和系统
US10560543B2 (en) Rule based cache processing in application delivery controller for load balancing
US20160285781A1 (en) Data processing method, apparatus, client, server and system
GB2506624A (en) Correlation of session activities to a browser window in a client-server environment
US11463537B1 (en) Proxy selection by monitoring quality and available capacity
CN108804515B (zh) 一种网页加载方法、网页加载系统和服务器
WO2021189257A1 (zh) 恶意进程的检测方法、装置、电子设备及存储介质
CN112261111A (zh) 一种应用程序内浏览器跨域访问实现方法及系统
CN110347955B (zh) 一种资源检测方法及装置
EP3313022B1 (en) Resending method and device for hypertext transfer request, and client
CN110661673B (zh) 一种心跳检测的方法及装置
CN112532714B (zh) 一种数据处理方法、处理装置、服务器及存储介质
CN103905477A (zh) 一种处理http请求的方法及服务器
CN113873057A (zh) 数据处理方法和装置
WO2016154921A1 (zh) 一种数据业务的数据传输方法及装置
CN112187869A (zh) Iot设备的远程调试系统、方法、电子设备及存储介质
WO2020224108A1 (zh) Url拦截转换方法、装置以及计算机设备
US20200358786A1 (en) Dynamic injection or modification of headers to provide intelligence
CN110177096B (zh) 客户端认证方法、装置、介质和计算设备
CN104346228A (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
GR01 Patent grant
GR01 Patent grant