数据下载方法及装置制造方法及图纸

技术编号:16156274 阅读:46 留言:0更新日期:2017-09-06 20:38
本发明专利技术实施例公开了一种数据下载方法,包括:拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;通过所述本地代理访问所述远程地址下载目标数据;获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。采用本发明专利技术,可提高系统的可靠性。

【技术实现步骤摘要】
数据下载方法及装置
本专利技术涉及计算机
,尤其涉及一种数据下载方法及装置。
技术介绍
为了提高下载速度,寻找最合适的下载节点或内容缓存节点(CDN节点)下载数据,通常会设置本地代理软件,例如各种游戏加速器、视频加速器等。其工作通常为,监听需要加速的游戏软件或视频软件的端口,然后再选择合适的线路连接游戏服务器或视频服务器,从而使得终端可以通过最优质的链路传输数据。然而,本地代理软件通常为需要加速的游戏软件、视频软件等上层业务的第三方实现,这就使得数据下载完全由本地代理软件来控制,上层业务无法监控数据的下载过程,无法及时处理一些下载异常的情况。例如,若下载链路断开,本地代理软件仍然保持着与上层业务软件的连接状态,使得上层业务软件只能知道没有数据传输流量,但无法了解下载链路断开的事实。这就使得上层业务软件无法及时应对下载链路断开,而只能以数据传输流量为0的策略来处理这种情况,从而导致了系统的可靠性较低。
技术实现思路
基于此,为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,特提出了一种数据下载方法,包括:拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;通过所述本地代理访问所述远程地址下载目标数据;获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。此外,为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,特提出了一种数据下载装置,包括:下载请求拦截模块,用于拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;下载请求转发模块,用于在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;数据下载模块,用于通过所述本地代理访问所述远程地址下载目标数据;数据转发模块,用于获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。实施本专利技术实施例,将具有如下有益效果:采用了上述数据下载方法及装置之后,终端上的目标应用程序在使用本地代理软件时,发起的下载请求在被拦截后,传递至上层代理的程序组件设置的本地端口,然后再由上层代理的程序组件选择合适的本地代理访问下载请求中的远程地址,然后根据本地代理返回的下载状态参数将本地代理下载的目标数据传输给目标应用。这就使得目标应用和本地代理之间新增了起管理作用的上层代理的程序组件,而该上层代理的程序组件可根据下载状态参数准确监控本地代理的下载过程,再及时地向目标应用发送下载数据或下载状态,从而使得目标应用能够准确地根据下载状态执行相应的业务处理操作,避免了在本地代理下载出现故障时目标应用无法及时处理的风险,从而提高了系统的可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:图1为一个实施例中软件模块架构示意图;图2为一个实施例中一种数据下载方法的流程示意图;图3为一个实施例中一种触发目标应用上的链接的界面示意图;图4为一个实施例中一种目标应用与上层代理及本地代理的传输时序图;图5为一个实施例中一种数据下载装置的结构示意图;图6为一个实施例中运行前述数据下载方法的计算机设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了对终端上的本地代理进行管理,提高本地代理与终端上应用的适配性,从而提高终端系统的可靠性,本专利技术实施例特提出了一种数据下载方法。该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是终端上的本地代理的管理程序,也可以是集成在应用中的程序功能模块或者以插件形式与应用绑定的程序功能模块。该计算机系统可以是手机、平板电脑、笔记本电脑、台式机等。在本实施例中,如图1所示,目标应用、上层代理和本地代理均为运行于该终端上的计算机程序,相较于传统技术,执行该方法的终端在系统中额外构建了上层代理这一程序组件。在图1中,目标应用在上网下载数据时,并不与本地代理建立直接的socket连接,而是可先与该上层代理的程序组件建立socket连接。该上层代理的程序组件管理着终端上的一个或一个以上的本地代理程序,并可与管理的本地代理程序也建立有直接的socket连接。目标应用希望下载的数据由本地代理访问远程的服务器下载,然后由该上层代理程序将下载的数据转发给目标应用。上层代理程序在目标应用和本地代理之间起到了桥梁和缓冲的作用,可适配不同的本地代理程序,并对本地代理的下载行为进行管理和监控,从而指示目标应用执行更加合理的业务逻辑,提高系统可靠性。具体的,如图2所示,该数据下载方法包括如下步骤:步骤S102:拦截目标应用的下载请求,下载请求的目的地址为远程地址,将下载请求发送至预设的本地端口。拦截目标应用的下载请求即为监控目标应用的下载行为。目标应用的应用页面中可包含多个超链接hyperlink,超链接中包含有与远程服务器上的下载资源对应的远程地址(即url,UniformResoureLocator,统一资源定位符),当用户点击了该超链接时,目标应用即会向该远程地址发送http协议请求。或者,若目标应用若为游戏等应用程序,在程序执行过程中需要向远程的服务器下载数据,则在业务逻辑执行到预设节点时,向预设的远程服务器发送请求。执行上述方法的终端可拦截目标应用外发的下载请求,拦截目标应用的下载请求可包括两种方式。上层代理拦截下载请求后,即建立了如图1所示的目标应用至上层代理的连接关系,终端可将拦截的目标应用的下载请求的目的地址设置为预设的本地端口,将远程地址作为参数添加到下载请求中,向本地端口发送所述下载请求。具体的,在第一种方式中,可在系统中监测目标应用的预设的应用端口发送的消息,建立该应用端口到预设的本地端口的连接,将该消息发送到本地端口中,由该上层代理的程序组件接收,该消息中包含目标应用需要访问的远程设备的远程地址。例如,在一个应用场景中,目标应用为视频软件或游戏软件,若其设置有对外进行数据传输的应用端口固定为8080(例如,web服务器上应用的端口通常固定为80端口),则该视频软件或游戏软件在向外部设备发送消息时,建立的socket连接的源端口为100,可在操作系统中监听端口100发送的消息,该消息中包含了需要访问的远程服务器的远程地址。若上层代理的程序组件预设的本地端口为9527,则可建立终端端口100到端口9527的socket连接,将端口100发出的消息发送给端口9527,由本地运行的上层代理的程序组件接本文档来自技高网...
数据下载方法及装置

【技术保护点】
一种数据下载方法,其特征在于,包括:拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;通过所述本地代理访问所述远程地址下载目标数据;获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。

【技术特征摘要】
1.一种数据下载方法,其特征在于,包括:拦截目标应用的下载请求,所述下载请求的目的地址为远程地址,将所述下载请求发送至预设的本地端口;在所述本地端口接收到所述远程地址的情况下,将所述下载请求转发给本地代理;通过所述本地代理访问所述远程地址下载目标数据;获取所述本地代理的下载状态参数和目标数据,根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用。2.根据权利要求1所述的数据下载方法,其特征在于,所述拦截目标应用的下载请求为:检测所述目标应用的页面中的链接触发操作,获取所述链接触发操作对应的远程地址;屏蔽所述目标应用针对所述链接触发操作发起下载请求。3.根据权利要求1所述的数据下载方法,其特征在于,所述将所述下载请求发送至预设的本地端口为:将所述下载请求的目的地址设置为预设的本地端口,将所述远程地址作为参数添加到所述下载请求中,向所述本地端口发送所述下载请求。4.根据权利要求1所述的数据下载方法,其特征在于,所述获取所述本地代理的下载状态参数和目标数据包括:将所述目标数据存储在预设的缓存区域中;所述根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用包括:根据所述下载状态参数建立读取所述缓存区域中的所述目标数据的数据流,将所述数据流发送给所述目标应用。5.根据权利要求4所述的数据下载方法,其特征在于,所述获取所述本地代理的下载状态参数包括:通过监测所述缓存区域中已下载的目标数据,获取所述本地代理的第一下载状态参数。6.根据权利要求1所述的数据下载方法,其特征在于,所述获取所述本地代理的下载状态参数包括:接收所述本地代理返回的第二下载状态参数。7.根据权利要求1所述的数据下载方法,其特征在于,所述根据所述下载状态参数将所述目标数据通过所述本地端口发送给所述目标应用包括:将所述下载状态参数转换成与所述目标应用适配的网络状态参数,将所述网络状态参数发送给所述目标应用...

【专利技术属性】
技术研发人员:芦艺王辉柳永峰钟雨王梓
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1