CN112398802B - 数据下载方法及相关设备 - Google Patents
数据下载方法及相关设备 Download PDFInfo
- Publication number
- CN112398802B CN112398802B CN201910766371.3A CN201910766371A CN112398802B CN 112398802 B CN112398802 B CN 112398802B CN 201910766371 A CN201910766371 A CN 201910766371A CN 112398802 B CN112398802 B CN 112398802B
- Authority
- CN
- China
- Prior art keywords
- server
- target
- url
- client
- download
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据下载方法及相关设备,该方法可包括:代理下载服务器接收来自客户端的目标下载请求,所述目标下载请求携带有备份的统一资源定位符URL,所述目标下载请求为所述客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下发送的请求;代理下载服务器解析所述目标下载请求以得到所述原始的URL;代理下载服务器获取所述原始的URL所指示的所述目标文件;代理下载服务器将所述目标文件发送给所述客户端。本申请实施例中,代理下载服务器在客户端从某个内容分发网络不能成功下载其所需的文件的情况下,从另一个内容分发网络获取该客户端所需的文件并发送给该客户端;可以有效解决CDN的边缘节点负载过高以及资源劫持问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及数据下载方法及相关设备。
背景技术
随着网络技术、计算机技术的发展,游戏产业越来越成为消费者市场中重要的组成部分。而随着用户对游戏的画质/体验等追求越来越高,游戏的安装包越来越大,尤其是手游。此时,用户在客户端上下载游戏更新资源的速度越来越成为用户游戏体验的关键因素。
目前,客户端通常是通过内容分发网络(Content Distribution Network,CDN)下载数据,这也是目前最主流的下载方式。游戏更新后,CDN会把最新的更新资源文件推送到离用户较近的CDN边缘节点(即边缘服务器),用户下载的时候可以通过域名调度从最近的CDN边缘节点进行下载,从而提高下载体验。
大多数情况下,CDN网络不仅能够提高用户下载的速度,还能降低对骨干网的带宽消耗。但是这种下载方式在某些情况下也容易出现一些问题,例如部分热点区域的CDN边缘节点负载过高以及资源劫持问题。一些热门游戏发布之后,发布当天很多玩家会在同一段时间内更新或者下载游戏。这样部分热点区域的CDN边缘节点的下行带宽就会很大,导致通过该CDN边缘节点进行下载的部分玩家不能成功下载或者可能需要多次重试。资源劫持问题是指部分省份的中小运营商为了减小带宽压力或者出于其他目的,会缓存资源文件,甚至篡改资源文件。这样会导致用户下载到的文件过期或者内容不对,进而导致游戏更新失败。
针对上述问题,目前游戏侧只能通过当前CDN边缘节点进行重试下载或者通过备份的统一资源定位符(backurl)对应的CDN边缘节点进行下载,成功率较低。
发明内容
本申请实施例公开了数据下载方法及相关设备,可以有效解决CDN的边缘节点负载过高以及资源劫持问题。
第一方面,本申请实施例提供了一种数据下载方法,该方法可包括:代理下载服务器接收来自客户端的目标下载请求,所述目标下载请求携带有备份的统一资源定位符URL,所述目标下载请求为所述客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下发送的请求;所述原始下载请求,用于请求下载原始的URL指示的所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL;
所述代理下载服务器解析所述目标下载请求以得到所述原始的URL;
所述代理下载服务器获取所述原始的URL所指示的所述目标文件;
所述代理下载服务器将所述目标文件发送给所述客户端。
本申请实施例中,代理下载服务器在客户端从某个内容分发网络不能成功下载其所需的文件的情况下,从另一个内容分发网络获取该客户端所需的文件并发送给该客户端;可以有效解决CDN的边缘节点负载过高以及资源劫持问题。
在一个可选的实现方式中,所述代理下载服务器获取所述原始的URL所指示的所述目标文件包括:
在所述代理下载服务器的本地缓存存储有所述目标文件的情况下,从所述本地缓存获取所述目标文件;
在所述本地缓存未存储有所述目标文件的情况下,从目标服务器获取所述目标文件;所述参考服务器和所述目标服务器不属于同一个内容分发网络。
在该实现方式中,代理下载服务器先查询本地缓存中是否存储有客户端所需下载的目标文件,如果发现本地没有缓存所需要下载的目标文件,则下载目标文件到内存中;可以提高获取目标文件的速度,并减少从其他服务器获取文件的操作。
在一个可选的实现方式中,所述目标下载请求还携带有所述代理下载服务器的域名或者所述代理下载服务器所属集群的域名;所述备份的URL携带有所述原始的URL。
在该实现方式中,目标下载请求携带有所述代理下载服务器的域名或者所述代理下载服务器所属集群的域名,可以使得接入层服务器根据该域名准确地将该目标下载请求发送至相应的代理下载服务器。
在一个可选的实现方式中,所述代理下载服务器接收来自客户端的目标下载请求包括:代理下载服务器通过接入层服务器接收来自所述客户端的所述目标下载请求。
在该实现方式中,代理下载服务器通过接入层服务器与客户端实现交互,以便于后续改善代理下载服务器的处理性能。
在一个可选的实现方式中,所述代理下载服务器将所述目标文件发送给所述客户端的传输速率小于参考阈值。
在该实现方式中,为了防止多个客户端集中下载导致接入层服务器带宽暴满的问题,代理下载服务器通过配置限速,即限定最快的传输速率,来为接入层服务器的扩容争取一定的时间。
在一个可选的实现方式中,所述从目标服务器获取所述目标文件包括:
所述代理下载服务器向所述目标服务器发送参考下载请求;所述参考下载请求携带有所述原始的URL;
在未接收到所述目标文件的情况下,获取所述原始的URL所对应的重定向的URL;
通过所述重定向的URL从所述目标服务器获取所述目标文件。
为了避免HTTP请求中常见的302跳转逻辑,代理下载服务器还会屏蔽302跳转,即帮客户端去做这个跳转逻辑,减少了一次和客户端的请求交换,从而加快了下载效率。302跳转是HTTP协议中的一个跳转方法,302是服务器返回的错误码,同时也会返回重定向的URL,提示客户端需要去其他地方进行重新请求。
在该实现方式中,代理下载服务器还会屏蔽302跳转,即帮客户端去做这个跳转逻辑,减少了一次和客户端的请求交换,从而加快了下载效率。
第二方面,本申请实施例提供了另一种数据下载方法,该方法可包括:客户端接收业务后台服务器发送的原始的URL以及备份的URL;所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;
所述客户端在向参考服务器发送原始下载请求后未成功下载所述目标文件的情况下,向代理下载服务器发送目标下载请求;所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名;
所述客户端接收来自所述代理下载服务器的所述目标文件。
由于参考服务器和所述代理下载服务器不属于同一个内容分发网络。客户端在从参考服务器所属的CDN不能获取到所需文件时,可以通过代理下载服务器从另外的CDN来获取其所需的文件。
本申请实施例中,客户端在通过原始的URL从某个CDN不能成功下载其所需的文件时,通过备份的URL访问代理下载服务器,以便于从另一个CDN下载其所需的文件;可以有效解决CDN的边缘节点负载过高以及资源劫持问题。
在一个可选的实现方式中,所述客户端接收来自所述代理下载服务器的所述目标文件包括:所述客户端通过接入层服务器接收所述代理下载服务器发送的所述目标文件。
在该实现方式中,客户端通过接入层服务器与代理下载服务器实现交互,以便于后续改善代理下载服务器的处理性能。
第三方面,本申请实施例提供了又一种数据下载方法,该方法可包括:业务后台服务器接收来自客户端的下载请求;所述下载请求用于请求下载目标文件;
所述业务后台服务器向所述客户端发送原始的URL以及备份的URL;所述原始的URL用于指示所述目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;所述目标域名为所述客户端下载所述目标文件所需访问的代理下载服务器的域名。
本申请实施例中,业务后台服务器在接收到客户端的下载请求后,向该客户端发送原始的URL以及备份的URL,以便于该客户端在不能通过该原始的URL从某个CDN获取到其所需的文件的时,通过备份的URL从另一个CDN获取其所需的文件。
在一个可选的实现方式中,所述业务后台服务器向所述客户端发送原始的URL以及备份的URL之前,所述方法还包括:
接收域名监控服务器的域名指示信息,所述域名指示信息包括所述目标域名;
根据所述目标域名和所述原始的URL,生成所述备份的URL。
第四方面,本申请实施例提供了又一种数据下载方法,该方法可包括:域名监控服务器接收客户端上报的下载状况信息;所述下载状况信息用于统计所述客户端通过至少两个域名的代理下载服务器下载原始的URL所指示的目标文件的成功率;
所述域名监控服务器根据所述下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载所述目标文件的成功率最高和/或超过目标阈值;所述目标客户端为位于目标区域的客户端;
所述域名监控服务器向业务后台服务器发送域名指示信息,所述域名指示信息包括所述目标域名。
在实际应用中,每个客户端每次下载成功失败与否都会向域名监控服务器上报下载状况信息。该下载状况信息可以包括下载成功或失败的信息、下载的URL/backurl以及客户端IP等信息。域名监控服务器可以参考成功率进行倒叙排名,该参考成功率包括当前时间段内通过各域名的代理下载服务器下载原始的URL所指示的文件的成功率。域名监控服务器就会把下载原始的URL所指示的文件成功率最高的域名返回给业务后台服务器进行相应的backurl的配置,客户端再来请求业务后台服务器的时候,backurl的域名就是更新后了的。
本申请实施例中,域名监控服务器将目标域名返回给业务后台服务器,以便于业务后台服务器根据该目标域名配置相应的备份的URL。
第五方面,本申请实施例提供了一种代理下载服务器,该代理下载服务器可包括:接收单元,用于接收来自客户端的目标下载请求,所述目标下载请求携带有备份的统一资源定位符URL,所述目标下载请求为所述客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下发送的请求;所述原始下载请求,用于请求下载原始的URL指示的所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL;
解析单元,用于解析所述目标下载请求以得到所述原始的URL;
获取单元,用于获取所述原始的URL所指示的所述目标文件;
发送单元,用于将所述目标文件发送给所述客户端。
第六方面,本申请实施例提供了一种客户端,该客户端可包括:接收单元,用于接收业务后台服务器发送的原始的URL以及备份的URL;所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;
确定单元,用于确定向参考服务器发送原始下载请求后未成功下载所述目标文件的情况;所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;
发送单元,用于向代理下载服务器发送目标下载请求;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名;
所述接收单元,还用于接收来自所述代理下载服务器的所述目标文件。
第七方面,本申请实施例提供了一种业务后台服务器,该业务后台服务器可包括:接收单元,用于接收来自客户端的下载请求;所述下载请求用于请求下载目标文件;
发送单元,用于向所述客户端发送原始的URL以及备份的URL;所述原始的URL用于指示所述目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;所述目标域名为所述客户端下载所述目标文件所需访问的代理下载服务器的域名。
第八方面,本申请实施例提供了一种域名监控服务器,该域名监控服务器可包括:接收单元,用于接收客户端上报的下载状况信息;所述下载状况信息用于统计所述客户端通过至少两个域名的代理下载服务器下载原始的URL所指示的目标文件的成功率;
确定单元,用于根据所述下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载所述目标文件的成功率最高和/或超过目标阈值;所述目标客户端为位于目标区域的客户端;
发送单元,用于向业务后台服务器发送域名指示信息,所述域名指示信息包括所述目标域名。
第九方面,本发明实施例提供了另一种服务器,该服务器包括接收器和发送器,还包括:处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第一方面、上述第三方面以及上述第四方面的方法。
第十方面,本发明实施例提供了另一种客户端,该客户端包括接收器和发送器,还包括:处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第二方面以及可选的实现方式的方法。
第十一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面至上述第四方面以及可选的实现方式的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为一种内容分发网络的***架构示意图;
图2为另一种内容分发网络的***架构示意图;
图3为本申请实施例提供的一种网络架构示意图;
图4为本申请实施例提供的另一种网络架构示意图;
图5为本申请实施例提供的一种数据下载方法流程图;
图6为本申请实施例提供的一种代理下载服务器集群的架构示意图;
图7为本申请实施例提供的另一种数据下载方法流程图;
图8为本申请实施例提供的另一种数据下载方法流程图;
图9为本申请实施例提供的又一种数据下载方法流程图;
图10为本申请实施例提供的一种数据下载过程的交互流程图;
图11为本申请实施例提供的一种代理下载服务器的结构示意图;
图12为本申请实施例提供的一种客户端的结构示意图;
图13为本申请实施例提供的一种业务后台服务器的结构示意图;
图14为本申请实施例提供的一种域名监控服务器的结构示意图;
图15为本申请实施例提供的一种服务器的结构示意图;
图16为本申请实施例提供的另一种客户端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
本发明的说明书实施例和权利要求书中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为一种内容分发网络的***架构示意图。如图1所示,该***架构可包括:CDN源服务器、CDN边缘服务器、基站、无线热点以及客户端。在该***架构中,CDN源服务器存储有客户端所需下载的各种文件,例如游戏更新文件;CDN边缘服务器可从CDN源服务器获取其所需的各种文件;客户端可通过基站或者无线热点从CDN边缘服务器获取其所需的文件。客户端可以是手机、平板电脑、笔记本电脑、可穿戴设备等可与服务器进行交互的设备。
目前,客户端通常是通过CDN下载文件,这也是目前最主流的下载方式。举例来说,游戏更新前后,CDN源服务器会把最新的更新资源文件推送到离用户较近的CDN边缘服务器(也称CDN边缘节点),客户端下载的时候可以通过域名调度最近的CDN边缘服务器进行下载,从而提高下载体验。但是这种下载方式在某些情况下也容易出现一些问题,例如部分热点区域的CDN边缘节点负载过高的问题以及资源劫持问题。一些热门游戏发布之后,发布当天很多玩家会在同一段时间内更新或者下载游戏。这样部分热点区域的CDN边缘节点的下行带宽就会很大,导致通过该CDN边缘节点进行下载的部分玩家不能成功下载或者可能需要多次重试。资源劫持问题是指部分省份的中小运营商为了减小带宽压力或者出于其他目的,会缓存资源文件,甚至篡改资源文件。这样会导致用户下载到的文件过期或者内容不对,进而导致游戏更新失败。
目前,针对客户端通过CDN下载失败的情况,通常是通过备份的统一资源定位符(Uniform Resource Locator,URL)进行重试来实现的,即在当前的URL下载失败并且重试多次还是失败之后,采用备份的URL进行下载。URL又叫做网页地址,是互联网上标准的资源的地址(Address)。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。举例来说,客户端在下载download.qq.com/xxx.zip文件(某个URL指示的文件)下载失败后,通过back_download.qq.com/xxx.zip进行再次重试下载。
一般而言,备份的URL和原始的URL对应的CDN边缘节点是同一个CDN网络,如图2所示,这就导致备份的URL对应的CDN源服务器与原始的URL对应的CDN源服务器很可能还是同一个(很多省份运营商的CDN边缘节点只有1个),下载的文件还是同一个文件,这样既不能减小对CDN边缘节点的负载,同时也无法解决当前CDN边缘节点上的文件被运营商劫持的问题。因此,需要研究能够有效解决CDN的边缘节点负载过高以及避免CDN边缘节点上的文件被运营商劫持的数据下载方案。
图3为本申请实施例提供的一种网络架构示意图。如图3所示,该网络架构可包括:客户端、CND边缘服务器、第一CDN源服务器、第二CDN源服务器以及代理下载服务器。该第一CDN源服务器和该第二CDN源服务器不属于同一个CDN。在该网络架构中,第一CDN源服务器和第二CDN源服务器均存储有客户端所需下载的各种文件,例如游戏更新文件;CDN边缘服务器可从该第一CDN源服务器获取其所需的各种文件;代理下载服务器可从该第二CDN源服务器获取其所需的各种文件;客户端可通过基站或者无线热点从CDN边缘服务器获取其所需的文件,也可通过基站或者无线热点从代理下载服务器获取其所需的文件。客户端可以是手机、平板电脑、笔记本电脑、可穿戴设备等可与服务器进行交互的设备。在实际应用中,客户端可先通过URL(即原始的URL)进行下载;如果下载失败,则进行重试;当下载失败的次数超过指定次数(例如3次)后,则使用backurl(即备份的URL)继续重试。客户端通过URL进行下载是通过URL从CDN边缘服务器进行下载;客户端通过backurl进行下载是通过backurl从代理下载服务器进行下载。由于CDN边缘服务器和代理下载服务器不属于同一个CDN。因此,可以有效解决CDN的边缘节点负载过高,并且避免CDN边缘节点上的文件被运营商劫持。
图4为本申请实施例提供的另一种网络架构示意图。如图4所示,该网络架构可包括:客户端、CND边缘服务器、第一CDN源服务器、第二CDN源服务器、代理下载服务器、业务后台服务器以及域名监控服务器。图4的网络架构中,客户端、CND边缘服务器、第一CDN源服务器、第二CDN源服务器的功能与在图3的网络架构中的功能相同,这里不再赘述。业务后台服务器可以接收来自客户端的数据下载请求,并向该客户端返回相关的URL(即原始的URL)至客户端,同时返回适合该客户端一个backurl(即备选的URL)。业务后台服务器还可以接收域名监控服务器发送的域名,并根据域名监控服务器发送的域名和URL生成backurl。域名监控服务器会对每个客户端上报的下载状况信息进行收集和处理,从而确定下载原始的URL所指示的文件成功率最高的域名。域名监控服务器还会把下载原始的URL所指示的文件成功率最高的域名返回给业务后台服务器进行相应的backurl的配置,客户端再来请求业务后台服务器的时候,backurl的域名就是更新后了的。后续结合在详述图4中的各设备执行的操作。
图5为本申请实施例提供的一种数据下载方法,该方法可包括:
501、代理下载服务器接收来自客户端的目标下载请求。
所述目标下载请求携带有备份的统一资源定位符URL。所述目标下载请求为所述客户端在向参考服务器(对应于图4中的CDN边缘服务器)发送原始下载请求后未成功下载目标文件的情况下发送的请求。所述原始下载请求,用于请求下载原始的URL指示的所述目标文件。所述参考服务器和所述代理下载服务器不属于同一个内容分发网络。所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL。
图6为本申请实施例提供的一种代理下载服务器集群的架构示意图。如图6所示,该网络架构可包括:接入层服务器、代理下载服务器集群以及CDN边缘服务器。在该网络架构中,代理下载服务器集群可以直接与客户端进行交互,也可以通过接入层服务器与客户端进行交互。代理下载服务器集群包括两个或两个以上代理下载服务器。本申请中的代理下载服务器均可替换为代理下载服务器集群。
在一些实施例中,代理下载服务器接收来自客户端的目标下载请求可以是:代理下载服务器通过接入层服务器接收来自所述客户端的所述目标下载请求。代理下载服务器通过接入层服务器与客户端实现交互,以便于后续改善代理下载服务器的处理性能。
502、代理下载服务器解析目标下载请求以得到原始的URL。
可选的,备份的URL(即backurl)可由代理下载服务器集群的域名和原始的URL拼接得到。也就是说,backurl的拼接逻辑是:backurl=代理下载服务器集群的域名+原始的URL。假定原始的URL是download.qq.com/123.zip,代理下载服务器集群的域名是backdownload01.qq.com,那么backurl就是backdownload01.qq.com/download.qq.com/123.zip。
503、代理下载服务器获取原始的URL所指示的目标文件。
代理下载服务器获取原始的URL所指示的目标文件可以是:在所述代理下载服务器的本地缓存存储有所述目标文件的情况下,从所述本地缓存获取所述目标文件;
在所述本地缓存未存储有所述目标文件的情况下,从目标服务器(即图4中的代理下载服务器)获取所述目标文件;所述参考服务器和所述目标服务器不属于同一个内容分发网络。代理下载服务器可利用该原始的URL从该目标服务器获取该目标文件。
504、代理下载服务器将目标文件发送给客户端。
代理下载服务器可以直接将目标文件发送给客户端,即该代理下载服务器和该客户端直接进行数据交互;代理下载服务器也可以通过接入层服务器将该目标文件发送给该客户端。
本申请实施例中,代理下载服务器在客户端从某个内容分发网络不能成功下载其所需的文件的情况下,从另一个内容分发网络获取该客户端所需的文件并发送给该客户端;可以有效解决CDN的边缘节点负载过高以及资源劫持问题。
在一个可选的实现方式中,所述代理下载服务器将所述目标文件发送给所述客户端的传输速率小于参考阈值。
该参考阈值可以是10M每秒,20M每秒等,本申请实施例不作限定。
在该实现方式中,为了防止多个客户端集中下载导致接入层服务器带宽暴满的问题,代理下载服务器通过配置限速,即限定最快的传输速率,来为接入层服务器的扩容争取一定的时间。
在一个可选的实现方式中,所述从目标服务器获取所述目标文件包括:
所述代理下载服务器向所述目标服务器发送参考下载请求;所述参考下载请求携带有所述原始的URL;
在未接收到所述目标文件的情况下,获取所述原始的URL所对应的重定向的URL;
通过所述重定向的URL从所述目标服务器获取所述目标文件。
为了避免HTTP请求中常见的302跳转逻辑,代理下载服务器还会屏蔽302跳转,即帮客户端去做这个跳转逻辑,减少了一次和客户端的请求交换,从而加快了下载效率。302跳转是HTTP协议中的一个跳转方法,302是服务器返回的错误码,同时也会返回重定向的URL,提示客户端需要去其他地方进行重新请求。
在该实现方式中,代理下载服务器还会屏蔽302跳转,即帮客户端去做这个跳转逻辑,减少了一次和客户端的请求交换,从而加快了下载效率。
图4的方法流程描述在客户端下载文件的过程中,代理下载服务器执行的操作。下面结合附图来描述客户端在下载文件的过程中所执行的操作。
图7为本申请实施例提供的另一种数据下载方法,该方法可包括:
701、客户端接收业务后台服务器发送的原始的URL以及备份的URL。
所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名。该目标文件可以为该客户端向该业务后台服务器请求的文件。举例来说,客户端启动某个APP应用的时候,该客户端提示该APP需要更新升级,业务后台服务器返回相关的URL给到该客户端以便该客户端通过该URL进行下载,同时返回当前适合该客户端的backurl。
702、客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下,向代理下载服务器发送目标下载请求。
客户端在执行步骤702之前,可以向参考服务器发送原始下载请求,以便下载该目标文件。向参考服务器发送原始下载请求后未成功下载所述目标文件的情况可以是:客户端通过该原始下载请求从该参考服务器下载该目标文件的失败次数超过指定次数(例如3次)。客户端可先通过URL(即原始的URL)进行下载;如果下载失败,则进行重试;当下载失败的次数超过指定次数(例如3次)后,则使用backurl(即备份的URL)继续重试,即向代理下载服务器发送目标下载请求。
所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名。
703、客户端接收来自代理下载服务器的目标文件。
客户端接收来自所述代理下载服务器的所述目标文件可以是:客户端通过接入层服务器接收所述代理下载服务器发送的所述目标文件。客户端通过接入层服务器与代理下载服务器实现交互,以便于后续对代理下载服务器进行扩容。
本申请实施例中,客户端在通过原始的URL从某个CDN不能成功下载其所需的文件时,通过备份的URL访问代理下载服务器,以便于从另一个CDN下载其所需的文件;可以有效解决CDN的边缘节点负载过高以及资源劫持问题。
下面介绍业务后台服务器在客户端下载文件过程中,执行的操作。图8为本申请实施例提供的另一种数据下载方法,该方法可包括:
801、业务后台服务器接收来自客户端的下载请求。
所述下载请求用于请求下载目标文件。
802、业务后台服务器向客户端发送原始的URL以及备份的URL。
所述原始的URL用于指示所述目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;所述目标域名为所述客户端下载所述目标文件所需访问的代理下载服务器的域名。
可选的,业务后台服务器在执行步骤802之前,可执行如下操作:接收域名监控服务器的域名指示信息;根据所述目标域名和所述原始的URL,生成所述备份的URL。所述域名指示信息包括所述目标域名。该目标域名的代理下载服务器下载所述目标文件的成功率最高和/或超过目标阈值。
本申请实施例中,业务后台服务器在接收到客户端的下载请求后,向该客户端发送原始的URL以及备份的URL,以便于该客户端在不能通过该原始的URL从某个CDN获取到其所需的文件的时,通过备份的URL从另一个CDN获取其所需的文件。
下面介绍业务后台服务器在客户端下载文件过程中,执行的操作。图9为本申请实施例提供的又一种数据下载方法。如图9所示,该方法可包括:
901、域名监控服务器接收客户端上报的下载状况信息。
所述下载状况信息用于统计所述客户端通过至少两个域名的代理下载服务器下载原始的URL所指示的目标文件的成功率。在实际应用中,每个客户端每次下载成功失败与否都会向域名监控服务器上报下载状况信息。该下载状况信息可以包括下载成功或失败的信息、下载的URL/backurl以及客户端IP等信息。域名监控服务器可以参考成功率进行倒叙排名,该参考成功率包括当前时间段内通过各域名的代理下载服务器下载原始的URL所指示的文件的成功率。域名监控服务器就会把下载原始的URL所指示的文件成功率最高的域名返回给业务后台服务器进行相应的backurl的配置,客户端再来请求业务后台服务器的时候,backurl的域名就是更新后了的。
902、域名监控服务器根据下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载目标文件的成功率最高和/或超过目标阈值。
所述目标客户端为位于目标区域的客户端。该目标阈值可以是85%、90%等。在实际应用中,域名监控服务器会根据当前时间段内每个省份运营商的每个URL的成功率进行倒叙排名,如下表1所示:
表1
省份 | 运营商 | URL | 成功率 |
广东省 | 中国电信 | backdownload03.qq.com/download.qq.com/123.zip | 98.5% |
广东省 | 中国电信 | backdownload02.qq.com/download.qq.com/123.zip | 95.4% |
广东省 | 中国电信 | backdownload05.qq.com/download.qq.com/123.zip | 94.7% |
广西省 | 中国电信 | backdownload01.qq.com/download.qq.com/123.zip | 85.2% |
…… | …… | …… | …… |
此时可以统计到对于广东省+中国电信的用户来说,使用backdownload03.qq.com这个代理服务器集群的域名是最优的,因此,域名监控服务器就会把这个域名返回给业务后台服务器进行相应的backurl的配置,用户再来请求业务后台的时候,backurl的域名就是更新后了的。
上述统计、分析、排序过程是实时进行的,可以根据数据量的大小细化到10分钟粒度甚至更细的粒度来更新同步一次,以尽可能实时地返回给客户端当前最可靠的代理集群域名。正因为有了这种实时反馈的机制,客户端就能够拿到最优的backurl进行下载。
903、域名监控服务器向业务后台服务器发送域名指示信息。
所述域名指示信息包括所述目标域名。
本申请实施例中,域名监控服务器将目标域名返回给业务后台服务器,以便于业务后台服务器根据该目标域名配置相应的备份的URL。
下面介绍在图4的网络架构中各设备在客户端下载数据时执行的交互操作。图10为本申请实施例提供的一种数据下载过程的交互流程图。如图10所示,该交互流程可包括:
1001、域名监控服务器接收客户端上报的下载状况信息。
1002、域名监控服务器根据下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载目标文件的成功率最高和/或超过目标阈值。
1003、域名监控服务器向业务后台服务器发送域名指示信息。
所述域名指示信息包括所述目标域名。步骤1001至步骤1003依次对应步骤901至步骤903。
1004、业务后台服务器根据目标域名和原始的URL,生成备份的URL。
1005、客户端向业务后台服务器发送下载请求。
步骤1005对应于步骤801。
1006、业务后台服务器向客户端发送原始的URL以及备份的URL。
步骤1006的实现方式与步骤802的实现方式相同。
1007、客户端向CDN边缘服务器发送原始下载请求。
该原始下载请求携带有原始的URL。所述原始下载请求,用于请求下载原始的URL指示的所述目标文件。该CDN边缘服务器对应于图6中的第一CDN源服务器。
1008、客户端确定通过原始的URL未成功下载目标文件。
确定通过原始的URL未成功下载目标文件可以是该客户端通过该原始下载请求从该CDN边缘服务器或者与该CDN边缘服务器属于同一CDN的另一CDN边缘服务器下载该目标文件的失败次数超过指定次数(例如3次)。客户端可先通过URL(即原始的URL)进行下载;如果下载失败,则进行重试;当下载失败的次数超过指定次数(例如3次)后,则使用backurl(即备份的URL)继续重试,即向代理下载服务器发送目标下载请求。
1009、客户端向代理下载服务器发送目标下载请求。
步骤1008和步骤1009对应于步骤702。
1010、代理下载服务器获取目标文件。
代理下载服务器获取目标文件可以是:在所述代理下载服务器的本地缓存存储有所述目标文件的情况下,从所述本地缓存获取所述目标文件;
在所述本地缓存未存储有所述目标文件的情况下,从目标服务器(对应图6中的第二CDN源服务器)获取所述目标文件。
1011、客户端接收来自代理下载服务器的目标文件。
可选的,客户端接收代理下载服务器通过接入层服务器发送的目标文件。
应理解,图10中各步骤的先后执行顺序不作限定。本申请实施例中,通过优化客户端更新失败后的重试方案,从CDN边缘服务器重试,改为智能调度的代理服务器集群进行重试,可以大幅度提高客户端更新的效率,尤其在中小运营商(劫持较多)或者热点应用集中更新的时候有大幅度提升。同时,代理下载集群相比CDN边缘服务器能够快速调整负载、自我保护(限速)、支持302跳转等,在客户端下载失败的时候,是更优的解决方案。最后,智能调度逻辑不仅让客户端拿到了最优的backurl,同时也能够平均每个代理下载集群的负载,对于后端也是一种保护。
图11为本申请实施例提供的一种代理下载服务器的结构示意图,该代理下载服务器包括:
接收单元1101,用于接收来自客户端的目标下载请求,所述目标下载请求携带有备份的统一资源定位符URL,所述目标下载请求为所述客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下发送的请求;所述原始下载请求,用于请求下载原始的URL指示的所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL;
解析单元1102,用于解析所述目标下载请求以得到所述原始的URL;
获取单元1103,用于获取所述原始的URL所指示的所述目标文件;
发送单元1104,用于将所述目标文件发送给所述客户端。
图12为本申请实施例提供的一种客户端的结构示意图,该客户端包括:
接收单元1201,用于接收业务后台服务器发送的原始的URL以及备份的URL;所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;
确定单元1202,用于确定向参考服务器发送原始下载请求后未成功下载所述目标文件的情况;所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;
发送单元1203,用于向代理下载服务器发送目标下载请求;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名;
接收单元1201,还用于接收来自所述代理下载服务器的所述目标文件。
图13为本申请实施例提供的一种业务后台服务器的结构示意图,该业务后台服务器包括:
接收单元1301,用于接收来自客户端的下载请求;所述下载请求用于请求下载目标文件;
发送单元1302,用于向所述客户端发送原始的URL以及备份的URL;所述原始的URL用于指示所述目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;所述目标域名为所述客户端下载所述目标文件所需访问的代理下载服务器的域名。
图14为本申请实施例提供的一种域名监控服务器的结构示意图,该域名监控服务器包括:
接收单元1401,用于接收客户端上报的下载状况信息;所述下载状况信息用于统计所述客户端通过至少两个域名的代理下载服务器下载原始的URL所指示的目标文件的成功率;
确定单元1402,用于根据所述下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载所述目标文件的成功率最高和/或超过目标阈值;所述目标客户端为位于目标区域的客户端;
发送单元1403,用于向业务后台服务器发送域名指示信息,所述域名指示信息包括所述目标域名。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供了一种服务器结构示意图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。服务器1500可以为本发明提供的服务器。
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作***1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中各类服务器(包括代理下载服务器、业务后台服务器、域名监控服务器以及CDN边缘服务器)所执行的步骤可以基于该图15所示的服务器结构。
进一步地,请参见图16,是本发明实施例提供的一种客户端的结构示意图。如图16所示,所述客户端1615对应于上述实施例中的客户端,所述客户端1615可以包括:至少一个处理器1651,例如CPU,至少一个网络接口1654,用户接口1653,存储器1655,至少一个通信总线1652。其中,通信总线1652用于实现这些组件之间的连接通信。其中,用户接口1653可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1653还可以包括标准的有线接口、无线接口。网络接口1654可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1655可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1655可选地还可以是至少一个位于远离前述处理器1651的存储装置。如图16所示,作为一种计算机存储介质的存储器1655中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图16所示的客户端1650中,网络接口1654主要用于连接客户端和服务器;而用户接口1653主要用于为用户提供输入的接口;而处理器1651可以用于调用存储器1655中存储的设备控制应用程序,以实现:接收业务后台服务器发送的原始的URL以及备份的URL;所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名;在向参考服务器发送原始下载请求后未成功下载所述目标文件的情况下,向代理下载服务器发送目标下载请求;所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名;接收来自所述代理下载服务器的所述目标文件。应当理解,客户端1650可以执行前述实施例中客户端执行的操作,例如图7和图10中客户端执行的操作。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的服务器所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图5或图8或图9所对应实施例中对数据下载方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (11)
1.一种数据下载方法,其特征在于,包括:
代理下载服务器接收来自客户端的目标下载请求,所述目标下载请求携带有备份的统一资源定位符URL,所述目标下载请求为所述客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下发送的请求;所述原始下载请求,用于请求下载原始的URL指示的所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器;所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL;
所述代理下载服务器解析所述目标下载请求以得到所述原始的URL;
所述代理下载服务器获取所述原始的URL所指示的所述目标文件,包括:在本地缓存未存储有所述目标文件的情况下,向目标服务器发送参考下载请求,所述参考下载请求携带有所述原始的URL;在未接收到所述目标文件的情况下,获取所述原始的URL所对应的重定向的URL,并通过所述重定向的URL从所述目标服务器获取所述目标文件,所述参考服务器和所述目标服务器不属于同一个内容分发网络;
所述代理下载服务器将所述目标文件发送给所述客户端;
其中,所述原始的URL和所述备份的URL为所述客户端从业务后台服务器获取的,所述备份的URL是由所述业务后台服务器根据原始的URL和从域名监控服务器实时获取的目标域名生成的,所述目标域名为域名监控服务器实时根据客户端上报的下载状况信息确定的所述客户端下载所述目标文件的成功率最高和/或超过目标阈值所需访问的代理下载服务器的域名。
2.根据权利要求1所述的方法,其特征在于,所述代理下载服务器获取所述原始的URL所指示的所述目标文件包括:
在所述代理下载服务器的本地缓存存储有所述目标文件的情况下,从所述本地缓存获取所述目标文件。
3.一种数据下载方法,其特征在于,包括:
客户端接收业务后台服务器发送的原始的URL以及备份的URL;所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名,所述备份的URL是由所述业务后台服务器根据所述原始的URL和所述目标域名生成的,所述目标域名为域名监控服务器实时根据客户端上报的下载状况信息确定的所述客户端下载所述目标文件的成功率最高和/或超过目标阈值所需访问的代理下载服务器的域名;
所述客户端在向参考服务器发送原始下载请求后未成功下载所述目标文件的情况下,向代理下载服务器发送目标下载请求,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器;所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名;
所述客户端接收来自所述代理下载服务器的所述目标文件,所述目标文件是所述代理下载服务器从目标服务器获取的,所述参考服务器和所述目标服务器不属于同一个内容分发网络。
4.一种数据下载方法,其特征在于,包括:
业务后台服务器接收来自客户端的下载请求;所述下载请求用于请求下载目标文件;
所述业务后台服务器向所述客户端发送原始的URL以及备份的URL;所述原始的URL用于指示所述目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名,所述备份的URL是由所述业务后台服务器根据所述原始的URL和所述目标域名生成的;所述目标域名为域名监控服务器实时根据客户端上报的下载状况信息确定的所述客户端下载所述目标文件的成功率最高和/或超过目标阈值所需访问的代理下载服务器的域名,所述代理下载服务器用于所述客户端未成功从与所述原始的URL对应的参考服务器下载所述目标文件的情况下根据所述备份的URL从目标服务器获取所述目标文件并发送给所述客户端,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器,所述参考服务器和所述代理下载服务器不属于同一个内容分发网络,所述参考服务器和所述目标服务器不属于同一个内容分发网络。
5.根据权利要求4所述的方法,其特征在于,所述业务后台服务器向所述客户端发送原始的URL以及备份的URL之前,所述方法还包括:
接收域名监控服务器的域名指示信息,所述域名指示信息包括所述目标域名;
根据所述目标域名和所述原始的URL,生成所述备份的URL。
6.一种数据下载方法,其特征在于,包括:
域名监控服务器接收客户端上报的下载状况信息;所述下载状况信息用于统计所述客户端通过至少两个域名的代理下载服务器下载原始的URL所指示的目标文件的成功率,所述代理下载服务器用于所述客户端未成功从与所述原始的URL对应的参考服务器下载所述目标文件的情况下根据备份的URL从目标服务器获取所述目标文件并发送给所述客户端,所述备份的URL是由业务后台服务器根据原始的URL和从域名监控服务器实时获取的目标域名生成的,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器,所述参考服务器和所述代理下载服务器不属于同一个内容分发网络,所述参考服务器和所述目标服务器不属于同一个内容分发网络;
所述域名监控服务器根据所述下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载所述目标文件的成功率最高和/或超过目标阈值;所述目标客户端为位于目标区域的客户端;
所述域名监控服务器向业务后台服务器发送域名指示信息,所述域名指示信息包括所述目标域名。
7.一种代理下载服务器,其特征在于,包括:
接收单元,用于接收来自客户端的目标下载请求,所述目标下载请求携带有备份的统一资源定位符URL,所述目标下载请求为所述客户端在向参考服务器发送原始下载请求后未成功下载目标文件的情况下发送的请求;所述原始下载请求,用于请求下载原始的URL指示的所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器;所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL;
解析单元,用于解析所述目标下载请求以得到所述原始的URL;
获取单元,用于获取所述原始的URL所指示的所述目标文件;
所述获取单元,在所述获取所述原始的URL所指示的所述目标文件时,具体用于在本地缓存未存储有所述目标文件的情况下,向目标服务器发送参考下载请求,所述参考下载请求携带有所述原始的URL;在未接收到所述目标文件的情况下,获取所述原始的URL所对应的重定向的URL,并通过所述重定向的URL从所述目标服务器获取所述目标文件,所述参考服务器和所述目标服务器不属于同一个内容分发网络;
发送单元,用于将所述目标文件发送给所述客户端;
其中,所述原始的URL和所述备份的URL为所述客户端从业务后台服务器获取的,所述备份的URL是由所述业务后台服务器根据原始的URL和从域名监控服务器实时获取的目标域名生成的,所述目标域名为域名监控服务器实时根据客户端上报的下载状况信息确定的所述客户端下载所述目标文件的成功率最高和/或超过目标阈值所需访问的代理下载服务器的域名。
8.一种客户端,其特征在于,包括:
接收单元,用于接收业务后台服务器发送的原始的URL以及备份的URL;所述原始的URL用于指示目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名,所述备份的URL是由所述业务后台服务器根据所述原始的URL和所述目标域名生成的,所述目标域名为域名监控服务器实时根据客户端上报的下载状况信息确定的所述客户端下载所述目标文件的成功率最高和/或超过目标阈值所需访问的代理下载服务器的域名;
确定单元,用于确定向参考服务器发送原始下载请求后未成功下载所述目标文件的情况,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器;所述原始下载请求携带有所述原始的URL,用于请求下载所述目标文件;
发送单元,用于向代理下载服务器发送目标下载请求;所述目标下载请求携带有所述备份的URL,且用于请求下载所述目标文件;所述参考服务器和所述代理下载服务器不属于同一个内容分发网络;所述目标域名为所述代理下载服务器的域名;
所述接收单元,还用于接收来自所述代理下载服务器的所述目标文件,所述目标文件是所述代理下载服务器从目标服务器获取的,所述参考服务器和所述目标服务器不属于同一个内容分发网络。
9.一种业务后台服务器,其特征在于,包括:
接收单元,用于接收来自客户端的下载请求;所述下载请求用于请求下载目标文件;
发送单元,用于向所述客户端发送原始的URL以及备份的URL;所述原始的URL用于指示所述目标文件的位置,所述备份的URL携带有所述原始的URL或者所述备份的URL携带的一部分信息用于解析得到所述原始的URL,所述备份的URL还携带有目标域名,所述备份的URL是由所述业务后台服务器根据所述原始的URL和所述目标域名生成的;所述目标域名为域名监控服务器实时根据客户端上报的下载状况信息确定的所述客户端下载所述目标文件的成功率最高和/或超过目标阈值所需访问的代理下载服务器的域名,所述代理下载服务器用于所述客户端未成功从与所述原始的URL对应的参考服务器下载所述目标文件的情况下根据所述备份的URL从目标服务器获取所述目标文件并发送给所述客户端,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器,所述参考服务器和所述代理下载服务器不属于同一个内容分发网络,所述参考服务器和所述目标服务器不属于同一个内容分发网络。
10.一种域名监控服务器,其特征在于,包括:
接收单元,用于接收客户端上报的下载状况信息;所述下载状况信息用于统计所述客户端通过至少两个域名的代理下载服务器下载原始的URL所指示的目标文件的成功率,所述代理下载服务器用于所述客户端未成功从与所述原始的URL对应的参考服务器下载所述目标文件的情况下根据备份的URL从目标服务器获取所述目标文件并发送给所述客户端,所述备份的URL是由业务后台服务器根据原始的URL和从域名监控服务器实时获取的目标域名生成的,所述参考服务器属于内容分发网络CDN边缘服务器,所述代理下载服务器不属于所述CDN边缘服务器,所述参考服务器和所述代理下载服务器不属于同一个内容分发网络,所述参考服务器和所述目标服务器不属于同一个内容分发网络;
确定单元,用于根据所述下载状况信息,确定当前时间段内目标客户端通过目标域名的代理下载服务器下载所述目标文件的成功率最高和/或超过目标阈值;所述目标客户端为位于目标区域的客户端;
发送单元,用于向业务后台服务器发送域名指示信息,所述域名指示信息包括所述目标域名。
11.一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如所述权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910766371.3A CN112398802B (zh) | 2019-08-16 | 2019-08-16 | 数据下载方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910766371.3A CN112398802B (zh) | 2019-08-16 | 2019-08-16 | 数据下载方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398802A CN112398802A (zh) | 2021-02-23 |
CN112398802B true CN112398802B (zh) | 2022-10-14 |
Family
ID=74603614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910766371.3A Active CN112398802B (zh) | 2019-08-16 | 2019-08-16 | 数据下载方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398802B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849125B (zh) * | 2021-08-30 | 2024-01-09 | 北京东方网信科技股份有限公司 | 一种cdn服务器磁盘读取的方法、装置及*** |
CN115190174A (zh) * | 2022-07-07 | 2022-10-14 | 深圳证券通信有限公司 | 一种数据处理方法、装置、计算机设备以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320487A (zh) * | 2014-11-11 | 2015-01-28 | 网宿科技股份有限公司 | 内容分发网络的http调度***和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443056B2 (en) * | 2010-01-22 | 2013-05-14 | Netflix, Inc. | Client-server signaling in content distribution networks |
CN105897844A (zh) * | 2015-12-15 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 一种用于助于文件成功下载的设备及方法 |
CN106131113B (zh) * | 2016-06-14 | 2019-08-02 | 武汉深之度科技有限公司 | 一种资源下载方法、装置、***以及资源服务器 |
CN108737532A (zh) * | 2018-05-11 | 2018-11-02 | 北京大米科技有限公司 | 一种资源获取方法、客户端、计算机设备及可读介质 |
CN109040190B (zh) * | 2018-07-02 | 2022-03-22 | 咪咕文化科技有限公司 | 一种调度方法、装置及计算机可读存储介质 |
-
2019
- 2019-08-16 CN CN201910766371.3A patent/CN112398802B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320487A (zh) * | 2014-11-11 | 2015-01-28 | 网宿科技股份有限公司 | 内容分发网络的http调度***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112398802A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120426B (zh) | 一种网络切片管理方法、装置及计算机可读存储介质 | |
US9749400B2 (en) | Cooperative loading of webpages based on shared meta information | |
EP3296870B1 (en) | Cdn-based content management system | |
CN107547629B (zh) | 客户端静态资源下载的方法、装置、电子设备和可读介质 | |
US20140115130A1 (en) | Systems and methods for accessing content over a network | |
CN105812435B (zh) | 应用升级数据包处理方法、装置、电子设备及*** | |
WO2006046486A1 (ja) | 資源管理システム、資源情報提供方法、及び、プログラム | |
US7844708B2 (en) | Method and apparatus for load sharing and data distribution in servers | |
CN112398802B (zh) | 数据下载方法及相关设备 | |
CN111327697B (zh) | 一种数据下载方法、装置、设备及存储介质 | |
EP3832452A1 (en) | Log printing method and system, server | |
CN109618003B (zh) | 一种服务器规划方法、服务器及存储介质 | |
CN104866339A (zh) | Fota数据的分布式持久化管理方法、***和装置 | |
US20230112127A1 (en) | Electronic device for deploying application and operation method thereof | |
JP4098723B2 (ja) | サーバシステムの再構成(reconfiguring)方法及び装置 | |
CN110138808B (zh) | 基于cdn的反劫持下载方法和*** | |
CN107547591A (zh) | 升级服务器、机顶盒、机顶盒升级文件下发方法及*** | |
CN111212087A (zh) | 一种登录服务器的确定方法、装置、设备及存储介质 | |
CN105763616A (zh) | 资源下载方法及装置 | |
CN105893135B (zh) | 分布式数据处理方法及数据中心 | |
CN115051978B (zh) | 设备监控实现方法及*** | |
CN115883657A (zh) | 一种云盘服务加速调度的方法及*** | |
EP2917807A1 (en) | Adaptive leveraging of network information | |
CN110401708B (zh) | 基于服务器负载状态的会话处理***及方法 | |
CN114189560A (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 |