CN113873048B - 应用下载平台中应用包的下载方法及系统 - Google Patents
应用下载平台中应用包的下载方法及系统 Download PDFInfo
- Publication number
- CN113873048B CN113873048B CN202010534026.XA CN202010534026A CN113873048B CN 113873048 B CN113873048 B CN 113873048B CN 202010534026 A CN202010534026 A CN 202010534026A CN 113873048 B CN113873048 B CN 113873048B
- Authority
- CN
- China
- Prior art keywords
- domain name
- application
- server
- downloading
- terminal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013507 mapping Methods 0.000 claims description 46
- 238000004458 analytical method Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 description 42
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 244000141359 Malus pumila Species 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了应用下载平台中应用包的下载方法及系统,该方法包括:第一终端获取应用下载平台中针对第一应用包的下载请求,该下载请求携带有第一域名信息,该第一域名信息是应用下载平台所对应的应用服务器的域名信息;第一终端在对该第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果;根据该域名解析结果向调度服务器发送所述下载请求;调度服务器根据该下载请求向第一终端返回重定向下载地址;第一终端根据该重定向下载地址从指定存储节点下载所述第一应用包。本发明相较于现有技术中下载失败时的简单重试方案,提高了下载成功率和下载速度,优化了应用下载平台中应用包的下载,提升了用户的下载体验。
Description
技术领域
本发明涉及计算机技术领域,特别涉及应用下载平台中应用包的下载方法及系统。
背景技术
随着移动终端的普及,移动终端中安装的应用程序也越来越多,而移动终端的用户主要从应用下载平台如苹果的App Store等应用商城下载应用程序的安装包或者升级包。相关技术中,在应用下载平台对应的应用服务器出现流量突发时会导致对于应用程序的安装包或者升级包下载失败的情况,而目前针对该下载失败的处理是进行简单的重试,即重复向该应用服务器发送下载请求,显然这种处理方式在一定程度上恶化了应用服务器的负载情况,使得继续下载失败的概率更大,而且还会影响下载速度,使得下载速度更慢。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应用下载平台中应用包的下载方法、系统及计算机设备。所述技术方案如下:
一方面,提供了一种应用下载平台中应用包的下载方法,所述方法包括:
第一终端获取应用下载平台中针对第一应用包的下载请求;所述下载请求携带有第一域名信息,所述第一域名信息是所述应用下载平台所对应的应用服务器的域名信息;
所述第一终端在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果;根据所述域名解析结果向所述调度服务器发送所述下载请求;
所述调度服务器根据所述下载请求向所述第一终端返回重定向下载地址;所述重定向下载地址用于指示所述第一应用包在指定存储节点中的存储位置;
所述第一终端根据所述重定向下载地址从所述指定存储节点下载所述第一应用包。
另一方面,提供了一种应用下载平台中应用包的下载系统,包括:
第一终端,用于获取应用下载平台中针对第一应用包的下载请求;所述下载请求携带有第一域名信息,所述第一域名信息是所述应用下载平台所对应的应用服务器的域名信息;在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果;根据所述域名解析结果向所述调度服务器发送所述下载请求;
调度服务器,用于根据所述下载请求向所述第一终端返回重定向下载地址;所述重定向下载地址用于指示所述第一应用包在指定存储节点中的存储位置;
所述第一终端,还用于根据所述重定向下载地址从所述指定存储节点下载所述第一应用包。
另一方面,提供了一种计算机设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述应用下载平台中应用包的下载方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上述的应用下载平台中应用包的下载方法。
本发明实施例中第一终端获取应用下载平台中第一应用包的下载请求并将调度服务器的地址信息作为该下载请求中第一域名信息(即应用下载平台所对应的应用服务器的域名信息)的域名解析结果,从而可以将该下载请求转向自有的调度服务器,由该调度服务器根据下载请求向第一终端返回指向指定存储节点的重定向下载地址,进而第一终端可以根据该重定向下载地址从指定存储节点下载第一应用包。相较于现有技术中下载失败时的简单重试方案,本发明实施例不仅提高了下载成功率,而且下载速度得到提升,优化了应用下载平台中应用包的下载,进而提高了用户的下载体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用下载平台中应用包的下载方法的应用场景示意图;
图2是本发明实施例提供的应用下载平台中应用包的下载方法的流程示意图;
图3a是本发明实施例提供的应用下载平台中应用包的下载方法的一种可选时序图;
图3b是本发明实施例提供的收集第一域名信息对应的应用服务器地址信息的一种可选流程示意图;
图4a是本发明实施例提供的应用下载平台中应用包的下载方法的另一种可选时序图;
图4b是本发明实施例提供的应用下载平台中应用包的下载方法的另一种可选时序图;
图4c是本发明实施例提供的应用下载平台中应用包的下载方法的另一种可选时序图;
图5是本发明实施例提供的应用下载平台中应用包的下载方法的另一种可选时序图;
图6是本发明实施例提供的应用下载平台中应用包的下载方法的另一种可选时序图;
图7是本发明实施例提供的应用下载平台中应用包的下载方法的另一种可选时序图;
图8是本发明实施例提供的应用下载平台中应用包的下载方法的一个具体示例的流程示意图;
图9是本发明实施例提供的一种终端的硬件结构框图;
图10是本发明实施例提供的一种服务器的硬件结构框图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其所示为本发明实施例提供的应用下载平台中应用包的下载方法的应用场景示意图,该应用下载平台中应用包的下载方法(以下简称为下载方法)适用于应用下载平台中应用包的下载系统。如图1所示,应用下载平台中应用包的下载系统可以包括:第一终端110、调度服务器120、域名服务器130、域名收集服务器140、新包下载服务器150和指定存储节点160。
上述第一终端110与各服务器之间,以及服务器与服务器之间通过内部网络进行连接通信,该内部网络可以是有线网络或者无线网络,具体的实施中,该内部网络可以是虚拟专用网络(Virtual Private Network,简称VPN)。
上述服务器可以是独立运行的服务器,也可以是由多个服务器组成的服务器集群。
指定存储节点160可以是位于虚拟专用网络VPN中的内容分发网络CDN或者互联网数据中心(Internet Data Center,简称IDC)。该指定存储节点160中预先存储有第一应用包。
第一终端110可以为智能手机、笔记本电脑、智能手环等移动终端,第一终端110中运行有应用下载平台101,该应用下载平台101可以是应用商城、应用市场等提供应用包下载功能的应用程序。具体的,第一终端110可以获取应用下载平台101中针对第一应用包的下载请求,在对该下载请求中应用下载平台所对应的应用服务器的第一域名信息进行域名解析时,将调度服务器120的地址信息作为域名解析结果,并根据该域名解析结果向调度服务器120发送上述下载请求,调度服务器120根据该下载请求向第一终端110返回重定向下载地址,该重定向下载地址用于指示第一应用包在指定存储节点160中的存储位置,从而第一终端110根据该重定向下载地址从指定存储节点160下载第一应用包。
实际应用中,上述第一终端110侧的相关步骤可以以应用程序形式应用于该第一终端中,为了便于描述,将实施上述下载方法的终端侧的应用程序简称为加速应用程序(Application,APP)。如图1所示,第一终端110中预先安装加速APP102,通过该加速APP102监测应用下载平台101中应用包的下载情况,当监测到用户下载某个应用包或者某个应用包下载失败时,加速APP102可以劫持应用下载平台101中针对该应用包的下载请求,在对下载请求中应用下载平台所对应的应用服务器的第一域名信息进行域名解析时,加速APP102将调度服务器120的地址信息作为域名解析结果,并根据该域名解析结果向调度服务器120发送下载请求,调度服务器120根据该下载请求向第一终端110返回重定向下载地址,加速APP102根据该重定向下载地址从指定存储节点160下载第一应用包,从而优化了应用下载平台中应用包的下载,提高了应用包的下载成功率和下载速度。
可以理解的,第一应用包可以是应用下载平台中任意业务类型的应用包,例如业务类型可以但不限于包括游戏、视频、金融、教育等等。具体的实施中,可以通过加速APP来配置应用下载平台中需要下载优化的应用包的业务类型。
实际应用中,为了提高数据传输的安全性,终端与服务器之间会基于HTTPS协议(超文本传输安全协议)进行通信。本发明实施例中,在基于HTTPS协议进行通信时,为了使得加速APP102能够成功的将劫持的下载请求转发给虚拟专用网络VPN中的调度服务器120,在加速APP启动之前,需要先在第一终端110中安装指定的SSL根证书,使得第一终端110信任该指定的SSL根证书,且在调度服务器120中安装由该指定的SSL根证书同源签发的数字证书。SSL即为Secure Socket Layer,是为网络通信提供安全及数据完整性的一种安全协议。由于第一终端110信任了该指定的SSL根证书,因此当第一终端110基于HTTPS协议转发下载请求到调度服务器120时,由于调度服务器120安装有该指定的SSL根证书同源签发的数字证书,在第一终端110与调度服务器120进行SSL握手时,第一终端110会认为调度服务器120就是合法的后台,进而握手成功,可以开始后续的加密传输。
由于实际应用中,常常通过设置的反向代理服务器来进行请求的转发,因此图1所示的实施环境中还可以包括反向代理服务器170,该反向代理服务器170可以是采用nginx架构的4层转发服务器。
下面结合图1所示的应用场景来对本发明实施提供的下载方法进行详细说明。
请参见图2,其所示为本发明实施例提供的应用下载平台中应用包的下载方法的一种可选流程示意图。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,第一终端获取应用下载平台中针对第一应用包的下载请求。
其中,所述下载请求携带有第一域名信息,该第一域名信息是应用下载平台所对应的应用服务器的域名信息。第一终端为配置有加速APP的任意移动终端设备。应用包可以包括应用的安装包或者升级包等等。
本发明实施例中,第一终端中的加速APP可以对应用下载平台中应用包的下载进行监测,当监测到触发拦截获取的事件时,加速APP即对该事件对应的请求进行拦截获取。用于触发拦截获取的事件可以是应用包下载失败。当然,加速APP也可以对应用下载平台整体进行监测,拦截应用下载平台发出的所有请求,该请求可以为https请求,从而当有针对第一应用包的下载请求时可以将其拦截获取。
具体的实施中,加速APP可以开启第一终端设备的虚拟专用网络VPN,通过VPN服务拦截获取应用下载平台中针对第一应用包的下载请求,并提取该下载请求中的统一资源定位符URL,该URL中包括应用下载平台所对应的应用服务器的域名信息,可以理解的,该应用服务器是为应用下载平台提供后台服务的官方服务器,如图1所示,该应用服务器位于外部网络中,例如若应用下载平台为App Store,则该应用服务器是外部网络中为App Store提供后台服务的服务器。
第一应用包可以是应用下载平台中任意业务类型的应用包。在一个可能的实施方式中,第一应用包的业务类型还可以由用户自定义设置。例如,在实际应用中,通过加速APP为用户提供应用配置界面,该应用配置界面承载有配置控件,供用户选择需要被下载优化的业务类型,用户可以在该应用配置界面上触发业务类型选择操作,加速APP将用户选择的业务类型作为目标业务类型,由此应用下载平台中业务类型为该目标业务类型的应用包作为第一应用包。
S203,第一终端在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果。
第一终端中的加速APP在获取到应用下载平台所对应的应用服务器的域名信息(即第一域名信息)之后,需要对该第一域名信息进行解析以将域名信息转化为服务器的地址信息。本发明实施例中,加速APP在对第一域名信息进行域名解析时,将虚拟专用网络VPN中调度服务器的地址信息作为对第一域名信息的域名解析结果。
本发明实施例中,为了能将第一域名信息解析为调度服务器的地址信息,需要预先收集第一域名信息对应的所有应用服务器地址信息,建立该所有应用服务器地址信息与调度服务器的地址信息之间的映射关系,那么后续在将第一域名信息解析为应用服务器地址信息之后,可以通过该映射关系将应用服务器地址信息对应到调度服务器的地址信息,进而实现了将调度服务器的地址信息作为域名解析结果的目的。
基于此,在步骤S203之前,如图3a所示,该方法还可以包括:
S301,第一终端提取所述下载请求中的第一域名信息,将所述第一域名信息发送给域名收集服务器。
具体的,加速APP从下载请求的URL中提取第一域名信息,将该第一域名信息发送给域名收集服务器,由域名收集服务器来收集第一域名信息对应的所有应用服务器地址信息。
S303,域名收集服务器根据所述第一域名信息向至少一个目标终端下发域名解析任务。
其中,所述域名解析任务用于指示解析所述第一域名信息对应的应用服务器地址信息。目标终端是指配置有加速APP的移动终端。为了能够尽可能全面的收集第一域名信息对应的应用服务器地址信息,该至少一个目标终端可以是所有配置有加速APP的移动终端,域名收集服务器将域名解析任务下发给所有配置有加速APP的移动终端,通过这些移动终端对第一域名信息进行域名解析。
可以理解的,至少一个目标终端接收到域名解析任务后,可以基于该域名解析任务向各自对应的域名(Domain Name System,DNS)服务器发送用于请求第一域名信息对应的应用服务器地址信息的DNS请求,每个域名服务器根据该DNS请求进行第一域名信息的查询。例如域名服务器可以采用递归查询方式来查询第一域名信息对应的应用服务器地址信息,具体的,目标终端将DNS请求发送给本地DNS服务器,若本地DNS服务器在本地未查询到第一域名信息对应的应用服务器地址信息,则本地DNS服务器可以向第一域名信息的根域服务器查询,再由该根域服务器一级级向下查询,最后得到的查询结果即应用服务器地址信息返回给本地DNS服务器,再由本地DNS服务器返回给对应的目标终端,相应的,各个目标终端接收到对应第一域名信息的查询结果即应用服务器地址信息。
各个目标终端在接收到第一域名信息的查询结果即应用服务器地址信息之后,可以向域名收集服务器上报该查询结果。
S305,域名收集服务器获取所述至少一个目标终端针对所述域名解析任务返回的应用服务器地址信息。
实际应用中,各目标终端的查询结果可能会存在重叠,也即有两个或者以上的目标终端上报的查询结果相同,因此,需要对各个目标终端上报的应用服务器地址信息进行去重处理。
具体的实施中,如图3b所示,可以设置数据收集统计服务器,各个目标终端的查询结果都上报给数据收集统计服务器,由数据收集统计服务器对查询结果即应用服务器地址信息进行去重处理,并将去重处理后的查询结果发送给域名收集服务器,相应的,域名收集服务器获取到至少一个目标终端针对域名解析任务返回的应用服务器地址信息。
S307,域名收集服务器获取预置的调度服务器的地址信息,建立所述应用服务器地址信息与所述调度服务器的地址信息之间的映射关系。
域名收集服务器在获取到针对域名解析任务返回的应用服务器地址信息后,可以获取预置的调度服务器的地址信息,然后建立应用服务器地址信息与该调度服务器的地址信息之间的映射关系。
本发明实施例中,域名收集服务器在建立应用服务器地址信息与该调度服务器的地址信息之间的映射关系之后,可以将该映射关系推送给第一终端或者域名服务器,也可以基于第一终端或者域名服务器对应该映射关系的获取请求,将该映射关系发送给第一终端或者域名服务器,从而使得第一终端或者域名服务器将该映射关系存储在本地。
在一个可能的实施方式中,域名服务器中存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,基于此,步骤S203在执行时,可以如图4a所示包括:
S4011,第一终端向域名服务器发送第一域名解析请求,所述第一域名解析请求携带所述第一域名信息。
具体的,第一终端的加速APP在拦截获取到下载请求,并提取到URL中的第一域名信息后,可以向域名服务器发送第一域名解析请求。
S4013,域名服务器根据所述第一域名解析请求解析得到所述第一域名信息对应的第一应用服务器地址信息。
具体的,域名服务器可以采用递归查询方式来查询第一域名信息对应的应用服务器地址信息,在域名服务器本地没有查询到时,域名服务器可以向第一域名信息的根域服务器查询,再由该根域服务器一级级向下查询,最后得到返回的第一应用服务器地址信息,可以理解的,应用服务器地址信息包括该第一应用服务器地址信息。
S4015,域名服务器确定与所述第一应用服务器地址信息相匹配的目标映射关系,将所述目标映射关系中调度服务器的地址信息返回给所述第一终端。
由于域名服务器本地存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,因此域名服务器在获取到第一域名信息对应的第一应用服务器地址信息后,即查询该映射关系中与第一应用服务器地址信息相匹配的目标映射关系,并将该目标映射关系中调度服务器的地址信息作为第一域名信息的最终域名解析结果返回给第一终端的加速APP。
S4017,第一终端将所述目标映射关系中调度服务器的地址信息作为所述域名解析结果。
在上述步骤S4015中域名服务器仅对第一域名信息的查询结果即第一应用服务器地址信息操作,因此当出现多个域名信息对应同一个应用服务器地址信息时,对于除第一域名信息之外的域名信息的查询结果域名服务器并不作步骤S4015的处理,从而可以避免将涉及其它域名信息(即除第一域名信息之外的域名信息)的请求也转发到调度服务器的情况出现。例如,download.a.com和pvp.a.com对应同一个应用服务器地址信息,但是download.a.com/xxx.tar.gz是下载应用包,而pvp.a.com/xxx.html是应用官网,在步骤S4015中域名服务器只针对download.a.com返回确定的目标映射关系中调度服务器的地址信息,从而加速APP接收到的download.a.com对应的域名解析结果为目标映射关系中调度服务器的地址信息;而对于pvp.a.com,域名服务器按照常规步骤返回应用服务器地址信息,相应的加速APP接收到的pvp.a.com对应的域名解析结果为应用服务器地址信息,从而避免了将pvp.a.com/xxx.html对应的请求也转发至调度服务器,进而避免了对应用下载平台中非应用包下载的请求的处理影响。
在另一个可能的实施方式中,第一终端中存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,第一终端可以拦截涉及第一应用包下载请求的全部流量,并进行IP层解包,过滤其中所有的53端口(即为域名服务器开放的端口,是DNS服务的端口)的后台返回响应,并根据应用服务器地址信息与调度服务器的地址信息之间的映射关系将第一域名信息对应的返回内容中的响应IP地址修改为调度服务器的地址信息。基于此,步骤S203在执行时,可以如图4b所示包括:
S4021,第一终端向域名服务器发送第二域名解析请求,所述第二域名解析请求携带所述第一域名信息。
具体的,第一终端的加速APP在拦截获取到下载请求,并提取到URL中的第一域名信息后,可以向域名服务器发送第二域名解析请求。
S4023,域名服务器根据所述第二域名解析请求解析得到所述第一域名信息对应的第二应用服务器地址信息。
具体的,域名服务器可以采用递归查询方式来查询第一域名信息对应的应用服务器地址信息,在域名服务器本地没有查询到时,域名服务器可以向第一域名信息的根域服务器查询,再由该根域服务器一级级向下查询,最后得到返回的第二应用服务器地址信息,可以理解的,应用服务器地址信息包括该第二应用服务器地址信息。
S4025,域名服务器将所述第一域名信息对应的第二应用服务器地址信息返回给所述第一终端。
相应的,第一终端的加速APP接收第一域名信息对应的第二应用服务器地址信息。
S4027,第一终端确定与所述第二应用服务器地址信息相匹配的目标映射关系。
具体的,加速APP在接收到第一域名信息对应的第二应用服务器地址信息后,查询应用服务器地址信息与调度服务器的地址信息之间的映射关系中与第二应用服务器地址信息相匹配的目标映射关系,并获取该目标映射关系中调度服务器的地址信息。
S4029,第一终端将所述第一域名信息对应的第二应用服务器地址信息替换为所述目标映射关系中调度服务器的地址信息,得到所述域名解析结果。
具体的,加速APP对第一域名信息对应的第二应用服务器地址信息进行替换,也即最终第一域名信息的域名解析结果为目标映射关系中调度服务器的地址信息。
上述步骤S4025至步骤4029第一终端的加速APP对域名服务器的查询结果进行了拦截,并针对第一域名信息将其域名服务器的查询结果替换为目标映射关系中调度服务器的地址信息。
在另一个可能的实施方式中,步骤S203在执行时,可以如图4c所示包括:
S4031,第一终端在对所述第一域名信息进行域名解析时获取所述调度服务器的域名信息,得到第二域名信息。
具体的,可以在第一终端预先存储调度服务器的域名信息,加速APP在需要对第一域名信息进行域名解析时,获取该调度服务器的域名信息,该调度服务器的域名信息作为第二域名信息。
S4033,第一终端根据所述第二域名信息向域名服务器发送第三域名解析请求。
加速APP在获取到调度服务器的域名信息后,基于该调度服务器的域名信息向域名服务器发送第三域名解析请求。相应的,域名服务器接收到该第三域名解析请求。
S4035,域名服务器根据所述第三域名解析请求解析得到所述第二域名信息对应的地址信息,将所述第二域名信息对应的地址信息返回给所述第一终端。
可以理解的,域名服务器在对第二域名信息进行域名解析时,可以采用常规的域名解析方式,例如可以采用递归查询方式来查询第二域名信息对应的调度服务器的地址信息,在域名服务器本地没有查询到时,域名服务器可以向第二域名信息的根域服务器查询,再由该根域服务器一级级向下查询,最后得到返回的调度服务器的地址信息,即第二域名信息对应的地址信息。域名服务器将该第二域名信息返回给加速APP。
S4037,第一终端将所述第二域名信息对应的地址信息作为所述域名解析结果。
可以理解的,由于第二域名信息为调度服务器的域名信息,因此域名服务器对该第二域名信息域名解析得到的也是调度服务器的地址信息,将域名查询结果返回给加速APP后,加速APP即可以直接将该查询结果作为第一域名信息的域名解析结果,从而实现将调度服务器的地址信息作为第一域名信息的域名解析结果的目的。
S205,第一终端根据所述域名解析结果向所述调度服务器发送所述下载请求。
由于域名解析结果为调度服务器的地址信息,因此加速APP可以根据调度服务器的地址信息向调度服务器发送第一应用包的下载请求,从而实现了将本应发往应用服务器的下载请求发送到了调度服务器上。
以基于HTTPS协议为例,加速APP在拿到域名解析结果即调度服务器的地址信息之后,可以向调度服务器的443端口发送建立SSL层连接的请求,由于在第一终端上安装了指定SSL的根证书,且在调度服务器上也预先安装了该指定SSL的根证书签发的数字证书,因此,调度服务器在接收到建立连接的请求后可以与第一终端握手成功,进而顺利的建立SSL层连接。
在建立了SSL层连接之后,加速APP即可以将第一应用包的下载请求发送给调度服务器。
S207,调度服务器根据所述下载请求向所述第一终端返回重定向下载地址。
其中,所述重定向下载地址用于指示所述第一应用包在指定存储节点中的存储位置。
具体的,调度服务器在接收到第一应用包的下载请求后,会向第一终端返回302重定向响应消息,该响应消息包括状态码302以及重定向下载地址也即一个新的URL地址,该重定向下载地址用于指示第一应用包在指定存储节点中的存储位置。
为了确保第一终端在根据302重定向响应消息重定向后能够成功下载到第一应用包,在一个可能的实施方式中,如图5所示,在步骤S207执行之前,该方法还可以包括:
S501,调度服务器判断所述指定存储节点中是否存储有所述第一应用包。
在一个可能的实施方式中,调度服务器可以向指定存储节点发送第一应用包的存储确认请求,指定存储节点接收到该第一应用包的存储确认请求后,确认是否已经存储有第一应用包,若存储有则指定存储节点可以向调度服务器返回已存储第一应用包的确认响应,若未存储则指定存储节点可以向调度服务器返回未存储第一应用包的确认响应。
相应的,调度服务器在接收到指定存储节点返回的确认响应后即可判断出指定存储节点中是否存储有第一应用包,若判断的结果为指定存储节点中存储有所述第一应用包,则执行步骤S207,调度服务器根据所述下载请求向所述第一终端返回重定向下载地址的步骤,可以理解的,指定存储节点在返回的确认消息中还可以携带第一应用包在该指定存储节点中的存储位置,由此调度服务器可以根据第一应用包在该指定存储节点中的存储位置向第一终端返回重定向下载地址。若判断的结果为所述指定存储节点中未存储所述第一应用包,则执行步骤S503至步骤S505。
在另一个可能的实施方式中,调度服务器中可以存储有指定存储节点中已有应用包的应用包存储列表,例如,该应用包存储列表可以包括已经存储在指定存储节点的应用包的包标识和该应用包在指定存储节点中的存储位置,其中,包标识用于唯一标识一个应用下载平台中的应用包。调度服务器在接收到第一终端发送的下载请求后,查询应用包存储列表,若在应用包存储列表中存在与第一应用包相匹配的包标识,则表明指定存储节点中存储有第一应用包,可以执行步骤S207,即调度服务器可以获取应用包存储列表中该相匹配的包标识对应的应用包在指定存储节点中的存储位置,并根据该存储位置向第一终端返回重定向下载地址。反之,若调度服务器在应用包存储列表中未查询到第一应用包对应的包标识,则表明指定存储节点中目前还未存储第一应用包,则执行步骤S503至步骤S505。
实际应用中,指定存储节点可以是指定的内容分发网络CDN,为了进一步加快下载速度,提高下载成功率,调度服务器在确定重定向下载地址时,可以获取第一终端的IP地址,根据该第一终端的IP地址以及内容分发网络CDN中针对第一应用包的下载情况,确定向第一终端返回的重定向下载地址。
S503,调度服务器向新包下载服务器发送所述第一应用包的新包下载请求。
具体的,若调度服务器判断的结果为指定存储节点中当前还未存储第一应用包,则调度服务器可以立即向新包下载服务器发送第一应用包的新包下载请求。
S505,新包下载服务器根据所述新包下载请求下载所述第一应用包,将所述第一应用包存储至所述指定存储节点。
具体的,新包下载服务器在接收到调度服务器发送的新包下载请求后,可以向应用服务器发送第一应用包的下载请求,进而从应用服务器下载到该第一应用包,并将该第一应用包存储至指定存储节点。
可以理解的,新包下载服务器可以从指定存储节点获取第一应用包的存储位置,并将该存储位置返回给调度服务器,由此调度服务器可以将第一应用包的包标识和第一应用包在指定存储节点的存储位置更新至应用包存储列表中。当再次接收到针对第一应用包的下载请求时,可以直接返回相应的重定向下载地址,提高了第一终端下载第一应用包的下载效率。
当调度服务器的判断结果为指定存储节点未存储第一应用包时,为了避免造成第一终端下载失败,在一个可能的实施方式中,该方法在步骤S501之后还可以如图6所示包括:
S601,在指定存储节点中未存储所述第一应用包时,调度服务器向第一终端返回代理下载链接,所述代理下载链接指向代理下载服务器。
具体的,调度服务器在判断出指定存储节点中未存储第一应用包时,一方面可以向新包下载服务器发送第一应用包的新包下载请求,由新包下载服务器下载第一应用包并存储至指定存储节点,以提高再次针对第一应用包的下载请求的下载效率和下载速度;另一方面,调度服务器还可以向第一终端的加速APP返回代理下载链接,以使得第一终端通过该代理下载链接下载第一应用包。
S603,第一终端根据所述代理下载链接向所述代理下载服务器发送针对所述第一应用包的下载请求,由所述代理下载服务器根据所述下载请求下载并返回所述第一应用包。
本发明实施例中当调度服务器确定指定存储节点未存储第一应用包时,调度服务器向新包下载服务器发送第一应用包的新包下载请求,在这个过程中,第一终端需要等待新包下载服务器下载第一应用包并将该第一应用包同步到指定存储节点,而通过上述步骤S601至步骤S603可以有效避免由于该等待过程造成的第一终端下载失败,调度服务器可以在确定指定存储节点未存储第一应用包时向第一终端返回代理下载链接,由此第一终端可以根据代理下载链接通过代理下载服务器下载第一应用包,有效提高了第一终端对应用包的下载成功率。
S209,第一终端根据所述重定向下载地址从所述指定存储节点下载所述第一应用包。
具体的,第一终端的加速APP在接收到调度服务器返回的重定向下载地址后,即可根据该重定向下载地址从指定存储节点下载第一应用包。
由本发明实施例的上述技术方案可见,相较于现有技术中下载失败时的简单重试方案,本发明实施例中第一终端获取应用下载平台中第一应用包的下载请求并将调度服务器的地址信息作为该下载请求中第一域名信息(即应用下载平台所对应的应用服务器的域名信息)的域名解析结果,从而可以将该下载请求转向自有的调度服务器,由该调度服务器根据下载请求向第一终端返回指向指定存储节点的重定向下载地址,进而第一终端可以根据该重定向下载地址从指定存储节点下载第一应用包,该下载方式可以提供更好的带宽保证和文件正确性保证,不仅提高了下载成功率,而且下载速度得到提升,优化了应用下载平台中应用包的下载,进而提高了用户的下载体验。
为了最大化提升下载速度和下载成功率,在一个可能的实施方式中,如图7所示,在步骤S209,第一终端根据所述重定向下载地址从所述指定存储节点下载所述第一应用包之后,该方法还可以包括:
S701,第一终端确定所述第一应用包的特征值,根据所述特征值和所述第一终端的网络信息制作种子文件。
具体的,加速APP在完成第一应用包的下载后,可以提示用户是否将该下载的第一应用包作为共享资源以供其他终端下载,在用户同意将该第一应用包作为共享资源时,加速APP确定第一应用包的特征值,并根据该特征值和第一终端的网络信息制作种子文件。
其中,第一应用包的特征值可以是第一应用包的哈希值,第一终端的网络信息可以包括第一终端的网络运营商信息以及第一终端的IP地址。
S703,第一终端将所述种子文件发送给所述调度服务器。
第一终端在制作完成对应第一应用包的种子文件后,可以将该种子文件发送给调度服务器。调度服务器接收到该种子文件后就知道了第一终端可以作为种子服务器(即下载源)向其他终端提高第一应用包的下载服务。
当调度服务器接收到其他终端即第二终端发送的针对第一应用包的下载请求时,调度服务器可以基于其上的种子文件来向该第二终端返回重定向下载地址,具体过程包括:
S705,调度服务器根据第二终端针对所述第一应用包的下载请求,确定与所述第一应用包对应的种子文件。
具体的,调度服务器可以根据各种子文件中的特征值确定与第一应用包对应的种子文件,即确定与第一应用包相匹配的特征值所在的种子文件。
S707,调度服务器根据所述第一应用包对应的种子文件中的网络信息,确定与所述第二终端相匹配的至少一个目标种子文件。
实际应用中,调度服务器获取第二终端的网络信息,该第二终端的网络信息可以包括第二终端的网络运营商信息和第二终端的IP地址。根据该第二终端的网络信息与第一应用包对应的种子文件中的网络信息的匹配情况,确定与该第二终端相匹配的至少一个目标种子文件。具体的实施中,调度服务器可以将网络运营商信息相一致,且与第二终端处于预设距离范围内的第一应用包对应的种子文件作为目标种子文件。其中,与第二终端的距离可以根据种子文件中的IP地址与第二终端的IP地址来确定。
S709,调度服务器根据所述至少一个目标种子文件向所述第二终端返回相应的至少一个重定向下载地址。
具体的,调度服务器在确定了目标种子文件后,至少一个目标种子文件后可以获取该至少一个目标种子文件中的IP地址,根据该至少一个IP地址向第二终端返回至少一个重定向下载地址,该至少一个重定向下载地址可以指示对应的至少一个下载源(即第一终端)中可供下载的文件大小。
相应的,S711,第二终端的加速器APP在接收到该至少一个重定向下载地址后,可以根据该至少一个重定向下载地址从至少一个第一终端下载与可供下载的文件大小相匹配的第一应用包的数据。
具体的,加速器APP可以启动多个线程并发向该至少一个重定向下载地址进行下载,从而获得更快的下载速度。可以理解的,第二终端也可以根据用户的实际需要来确定从哪个下载源进行下载。
本发明实施例中第一终端在下载到第一应用包后将自身作为下载源来供调度服务器调度以使得其他在下载第一应用包时可以直接从第一终端下载,从而实现了端到端的下载,有效的利用了网络中参与者的计算能力和带宽,避免了把依赖聚集到较少的几台服务器上,大大提升了下载速度和下载成功率,对于大的应用包如游戏安装包(一般都在1-5G)在应用下载流量突发的时候能够显著提升下载速度和下载成功率,提升用户的下载体验。
为了更加清楚的说明本发明实施例的应用下载平台中应用包的下载方法,下面以应用下载平台所对应的应用服务器的域名信息为download.a.com,第一应用包的文件名为xxx.tar.gz为例,结合图1的应用场景进行阐述。
如图8所示,第一终端110中安装有指定的SSL根证书,调度服务器120中安装有该指定的SSL根证书同源签发的数字证书,加速APP通过虚拟专用网络VPN拦截应用下载APP中第一应用包的下载请求(该下载请求中的URL为https://download.a.com/xxx.tar.gz)。
加速APP将拦截的下载请求发送给nginx4层转发服务器170,nginx4层转发服务器170获取https://download.a.com/xxx.tar.gz中的域名信息download.a.com,根据该download.a.com向域名服务器130发送域名解析请求。域名服务器130解析download.a.com域名得到应用服务器IP1地址后,根据存储的应用服务器IP地址与调度服务器的IP地址之间的映射关系(域名服务器130提前从域名收集服务器140处获得download.a.com域名下的所有IP地址,并建立与调度服务器的IP地址的映射关系),确定应用服务器IP1地址对应的调度服务器的IP地址,并将调度服务器的IP地址作为download.a.com域名的域名解析结果即调度服务器的IP地址返回给nginx4层转发服务器170,实现了对download.a.com域名的劫持。nginx4层转发服务器170根据download.a.com域名的域名解析结果(即调度服务器的IP地址)将https://download.a.com/xxx.tar.gz发送给调度服务器120即图8中①请求调度服务器。而对于非download.a.com域名的请求,nginx4层转发服务器170依据实际的域名解析得到的结果向外网中转发。
调度服务器120在判断出CDN或IDC节点160中存储有xxx.tar.gz文件时,返回302重定向下载地址https://download.best.com/xxx.tar.gz即图8中的②302返回https://download.best.com/xxx.tar.gz;调度服务器120在判断出CDN或IDC节点160中未存储xxx.tar.gz文件时,一方面返回代理下载链接即图8中②https://download.proxy.com/download.a.com/xxx.tar.gz,该代理下载链接对应的后台为代理下载服务器(图中未画出),该代理下载服务器会解析代理下载链接URL中的download.a.com/xxx.tar.gz进行下载第一应用包并返回给第一终端;另一方面向新包下载服务器150发送xxx.tar.gz的新包下载请求即图8中②下载最新的资源包。新包下载服务器150根据调度服务器120的新包下载请求下载最新的资源包并③同步新包到CDN或IDC节点160中。
第一终端的加速器APP可以根据调度服务器120返回的https://download.best.com/xxx.tar.gz从CDN或IDC节点160中最终下载到第一应用包即图8中④。而在返回的为代理下载链接时,加速APP基于https://download.proxy.com/download.a.com/xxx.tar.gz向代理下载服务器请求下载第一应用包。
当然,在另一个可能的实施方式中,调度服务器120也可以根据其上的种子文件,返回对应多个下载源的重定向下载地址,例如调度服务器根据现有种子的分布情况,按省份运营商和地理位置返回如下重定向下载地址:https://download.bestA.com/xxx.tar.gz 0-500;https://download.bestB.com/xxx.tar.gz501-1028;https://download.best.com/xxx.tar.gz 1029-5088。相应的,第一终端的加速器APP可以根据上述3个下载源的地址信息下载xxx.tar.gz文件。
当然,在另一个可能的实施方式中,第一终端的加速器APP可以将https://download.a.com/xxx.tar.gz中的域名信息“download.a.com”替换为调度服务器的域名信息“download.hijack.com”即向nginx4层转发服务器170发送https://download.hijack.com/xxx.tar.gz,nginx4层转发服务器170根据download.hijack.com向域名服务器130发送域名解析请求,并接收域名服务器130解析download.hijack.com得到的IP地址,由于该download.hijack.com本身为调度服务器的域名信息,因此对其的解析结果自然为调度服务器的IP地址,然后nginx4层转发服务器170根据上述域名解析结果向调度服务器发送下载请求。
与上述几种实施例提供的应用下载平台中应用包的下载方法相对应,本发明实施例还提供如图1所示的应用下载平台中应用包的下载系统,由于本发明实施例提供的上述系统与上述几种实施例提供的应用下载平台中应用包的下载方法相对应,因此前述应用下载平台中应用包的下载方法的实施方式也适用于本实施例提供的应用下载平台中应用包的下载系统,在本实施例中不再详细描述。
具体的,该应用下载平台中应用包的下载系统包括:第一终端和调度服务器,其中,
第一终端,用于获取应用下载平台中针对第一应用包的下载请求;所述下载请求携带有第一域名信息,所述第一域名信息是所述应用下载平台所对应的应用服务器的域名信息;在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果;根据所述域名解析结果向所述调度服务器发送所述下载请求;
调度服务器,用于根据所述下载请求向所述第一终端返回重定向下载地址;所述重定向下载地址用于指示所述第一应用包在指定存储节点中的存储位置;
所述第一终端,还用于根据所述重定向下载地址从所述指定存储节点下载所述第一应用包。
在一个可能的实施方式中,第一终端用于向域名服务器发送第一域名解析请求,所述第一域名解析请求携带所述第一域名信息;
域名服务器用于根据所述第一域名解析请求解析得到所述第一域名信息对应的第一应用服务器地址信息;确定与所述第一应用服务器地址信息相匹配的目标映射关系,将所述目标映射关系中调度服务器的地址信息返回给所述第一终端;所述域名服务器中存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,所述应用服务器地址信息包括所述第一应用服务器地址信息;
第一终端用于将所述目标映射关系中调度服务器的地址信息作为所述域名解析结果。
在另一个可能的实施方式中,第一终端用于向域名服务器发送第二域名解析请求,所述第二域名解析请求携带所述第一域名信息;
域名服务器用于根据所述第二域名解析请求解析得到所述第一域名信息对应的第二应用服务器地址信息;将所述第一域名信息对应的第二应用服务器地址信息返回给所述第一终端;
第一终端用于确定与所述第二应用服务器地址信息相匹配的目标映射关系;所述第一终端中存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,所述应用服务器地址信息包括所述第二应用服务器地址信息;将所述第一域名信息对应的第二应用服务器地址信息替换为所述目标映射关系中调度服务器的地址信息,得到所述域名解析结果。
在另一个可能的实施方式中,第一终端用于在对所述第一域名信息进行域名解析时获取所述调度服务器的域名信息,得到第二域名信息;根据所述第二域名信息向域名服务器发送第三域名解析请求;
域名服务器用于根据所述第三域名解析请求解析得到所述第二域名信息对应的地址信息,将所述第二域名信息对应的地址信息返回给所述第一终端;
第一终端用于将所述第二域名信息对应的地址信息作为所述域名解析结果。
在一个可能的实施方式中,该系统还可以包括域名收集服务器,第一终端还用于提取所述下载请求中的第一域名信息;将所述第一域名信息发送给域名收集服务器;
域名收集服务器用于根据所述第一域名信息向至少一个目标终端下发域名解析任务,所述域名解析任务用于指示解析所述第一域名信息对应的应用服务器地址信息;获取所述至少一个目标终端针对所述域名解析任务返回的应用服务器地址信息;获取预置的调度服务器的地址信息,建立所述应用服务器地址信息与所述调度服务器的地址信息之间的映射关系。
在一个可能的实施方式中,调度服务器还用于判断所述指定存储节点中是否存储有所述第一应用包;在所述指定存储节点中存储有所述第一应用包,所述调度服务器用于执行根据所述下载请求向所述第一终端返回重定向下载地址的步骤。
在一个可能的实施方式中,该系统还可以包括新包下载服务器,在所述指定存储节点中未存储所述第一应用包时,所述调度服务器还用于向新包下载服务器发送所述第一应用包的新包下载请求;
新包下载服务器用于根据所述新包下载请求下载所述第一应用包,将所述第一应用包存储至所述指定存储节点。
在一个可能的实施方式中,在所述指定存储节点中未存储所述第一应用包时,所述调度服务器还用于向所述第一终端返回代理下载链接,所述代理下载链接指向代理下载服务器;
第一终端还用于根据所述代理下载链接向所述代理下载服务器发送针对所述第一应用包的下载请求,由所述代理下载服务器根据所述下载请求下载并返回所述第一应用包。
在一个可能的实施方式中,第一终端据所述重定向下载地址从所述指定存储节点下载所述第一应用包之后,还用于确定所述第一应用包的特征值,根据所述特征值和所述第一终端的网络信息制作种子文件;将所述种子文件发送给所述调度服务器。
在一个可能的实施方式中,调度服务器还用于根据第二终端针对所述第一应用包的下载请求,确定与所述第一应用包对应的种子文件;根据所述第一应用包对应的种子文件中的网络信息,确定与所述第二终端相匹配的至少一个目标种子文件;根据所述至少一个目标种子文件向所述第二终端返回相应的至少一个重定向下载地址。
需要说明的是,上述实施例提供的系统与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供了一种计算机设备,该终端包括处理器和存储器,该存储器中存储有至少一条指令或者至少一段程序,该至少一条指令或者该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的应用下载平台中应用包的下载方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及应用下载平台中应用包的下载。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括计算机终端、服务器或者类似的运算装置。
图9是本发明实施例提供的运行应用下载平台中应用包的下载方法的终端的硬件结构框图,具体来讲:
所述终端可以包括RF(Radio Frequency,射频)电路910、包括有一个或一个以上计算机可读存储介质的存储器920、输入单元930、显示单元940、传感器950、音频电路960、WiFi(wireless fidelity,无线保真)模块970、包括有一个或者一个以上处理核心的处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器980处理;另外,将涉及上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器920还可以包括存储器控制器,以提供处理器980和输入单元930对存储器920的访问。
输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元930可包括触敏表面931以及其他输入设备932。触敏表面931,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面931上或在触敏表面931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面931。除了触敏表面931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板941。进一步的,触敏表面931可覆盖显示面板941,当触敏表面931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。其中,触敏表面931与显示面板941可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面931与显示面板941集成而实现输入和输出功能。
所述终端还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在所述终端移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与所述终端之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一终端,或者将音频数据输出至存储器920以便进一步处理。音频电路960还可能包括耳塞插孔,以提供外设耳机与所述终端的通信。
WiFi属于短距离无线传输技术,所述终端通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于所述终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行所述终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器980可包括一个或多个处理核心;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
所述终端还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源990还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,所述终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法实施例提供的应用下载平台中应用包的下载方法的指令。
图10是本发明实施例提供的运行应用下载平台中应用包的下载方法的服务器的硬件结构框图,如图10所示,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1010(处理器1010可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1030,一个或一个以上存储应用程序1023或数据1022的存储介质1020(例如一个或一个以上海量存储设备)。其中,存储器1030和存储介质1020可以是短暂存储或持久存储。存储在存储介质1020的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1010可以设置为与存储介质1020通信,在服务器1000上执行存储介质1020中的一系列指令操作。服务器1000还可以包括一个或一个以上电源1060,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1040,和/或,一个或一个以上操作系统1021,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口1040可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1000的通信供应商提供的无线网络。在一个实例中,输入输出接口1040包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1040可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1000还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于终端或者服务器之中以保存用于实现应用下载平台中应用包的下载方法相关的至少一条指令或者至少一段程序,该至少一条指令或者该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的应用下载平台中应用包的下载方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用下载平台中应用包的下载方法,其特征在于,所述方法包括:
第一终端获取应用下载平台中针对第一应用包的下载请求;所述下载请求携带有第一域名信息,所述第一域名信息是所述应用下载平台所对应的应用服务器的域名信息;
所述第一终端在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果;根据所述域名解析结果向所述调度服务器发送所述下载请求;
所述调度服务器根据所述下载请求向所述第一终端返回重定向下载地址;所述重定向下载地址用于指示所述第一应用包在指定存储节点中的存储位置;
所述第一终端根据所述重定向下载地址从所述指定存储节点下载所述第一应用包。
2.根据权利要求1所述的应用下载平台中应用包的下载方法,其特征在于,所述第一终端在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果包括:
所述第一终端向域名服务器发送第一域名解析请求,所述第一域名解析请求携带所述第一域名信息;
所述域名服务器根据所述第一域名解析请求解析得到所述第一域名信息对应的第一应用服务器地址信息;
所述域名服务器确定与所述第一应用服务器地址信息相匹配的目标映射关系,将所述目标映射关系中调度服务器的地址信息返回给所述第一终端;所述域名服务器中存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,所述应用服务器地址信息包括所述第一应用服务器地址信息;
所述第一终端将所述目标映射关系中调度服务器的地址信息作为所述域名解析结果。
3.根据权利要求1所述的应用下载平台中应用包的下载方法,其特征在于,所述第一终端对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果包括:
所述第一终端向域名服务器发送第二域名解析请求,所述第二域名解析请求携带所述第一域名信息;
所述域名服务器根据所述第二域名解析请求解析得到所述第一域名信息对应的第二应用服务器地址信息;将所述第一域名信息对应的第二应用服务器地址信息返回给所述第一终端;
所述第一终端确定与所述第二应用服务器地址信息相匹配的目标映射关系;所述第一终端中存储有应用服务器地址信息与调度服务器的地址信息之间的映射关系,所述应用服务器地址信息包括所述第二应用服务器地址信息;
所述第一终端将所述第一域名信息对应的第二应用服务器地址信息替换为所述目标映射关系中调度服务器的地址信息,得到所述域名解析结果。
4.根据权利要求1所述的应用下载平台中应用包的下载方法,其特征在于,所述第一终端在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果包括:
所述第一终端在对所述第一域名信息进行域名解析时获取所述调度服务器的域名信息,得到第二域名信息;根据所述第二域名信息向域名服务器发送第三域名解析请求;
所述域名服务器根据所述第三域名解析请求解析得到所述第二域名信息对应的地址信息,将所述第二域名信息对应的地址信息返回给所述第一终端;
所述第一终端将所述第二域名信息对应的地址信息作为所述域名解析结果。
5.根据权利要求2或3所述的应用下载平台中应用包的下载方法,其特征在于,所述方法还包括:
所述第一终端提取所述下载请求中的第一域名信息;将所述第一域名信息发送给域名收集服务器;
所述域名收集服务器根据所述第一域名信息向至少一个目标终端下发域名解析任务,所述域名解析任务用于指示解析所述第一域名信息对应的应用服务器地址信息;
所述域名收集服务器获取所述至少一个目标终端针对所述域名解析任务返回的应用服务器地址信息;
所述域名收集服务器获取预置的调度服务器的地址信息,建立所述应用服务器地址信息与所述调度服务器的地址信息之间的映射关系。
6.根据权利要求1所述的应用下载平台中应用包的下载方法,其特征在于,在所述调度服务器根据所述下载请求向所述第一终端返回重定向下载地址之前,所述方法还包括:
所述调度服务器判断所述指定存储节点中是否存储有所述第一应用包;
若所述指定存储节点中存储有所述第一应用包,则执行所述调度服务器根据所述下载请求向所述第一终端返回重定向下载地址的步骤;
若所述指定存储节点中未存储所述第一应用包,则所述调度服务器向新包下载服务器发送所述第一应用包的新包下载请求;
所述新包下载服务器根据所述新包下载请求下载所述第一应用包,将所述第一应用包存储至所述指定存储节点。
7.根据权利要求6所述的应用下载平台中应用包的下载方法,其特征在于,所述方法还包括:
在所述指定存储节点中未存储所述第一应用包时,所述调度服务器向所述第一终端返回代理下载链接,所述代理下载链接指向代理下载服务器;
所述第一终端根据所述代理下载链接向所述代理下载服务器发送针对所述第一应用包的下载请求,由所述代理下载服务器根据所述下载请求下载并返回所述第一应用包。
8.根据权利要求1所述的应用下载平台中应用包的下载方法,其特征在于,在所述第一终端根据所述重定向下载地址从所述指定存储节点下载所述第一应用包之后,所述方法还包括:
所述第一终端确定所述第一应用包的特征值,根据所述特征值和所述第一终端的网络信息制作种子文件;
所述第一终端将所述种子文件发送给所述调度服务器。
9.根据权利要求8所述的应用下载平台中应用包的下载方法,其特征在于,所述方法还包括:
所述调度服务器根据第二终端针对所述第一应用包的下载请求,确定与所述第一应用包对应的种子文件;
所述调度服务器根据所述第一应用包对应的种子文件中的网络信息,确定与所述第二终端相匹配的至少一个目标种子文件;
所述调度服务器根据所述至少一个目标种子文件向所述第二终端返回相应的至少一个重定向下载地址。
10.一种应用下载平台中应用包的下载系统,其特征在于,包括:
第一终端,用于获取应用下载平台中针对第一应用包的下载请求;所述下载请求携带有第一域名信息,所述第一域名信息是所述应用下载平台所对应的应用服务器的域名信息;在对所述第一域名信息进行域名解析时,将调度服务器的地址信息作为域名解析结果;根据所述域名解析结果向所述调度服务器发送所述下载请求;
调度服务器,用于根据所述下载请求向所述第一终端返回重定向下载地址;所述重定向下载地址用于指示所述第一应用包在指定存储节点中的存储位置;
所述第一终端,还用于根据所述重定向下载地址从所述指定存储节点下载所述第一应用包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534026.XA CN113873048B (zh) | 2020-06-12 | 2020-06-12 | 应用下载平台中应用包的下载方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534026.XA CN113873048B (zh) | 2020-06-12 | 2020-06-12 | 应用下载平台中应用包的下载方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113873048A CN113873048A (zh) | 2021-12-31 |
CN113873048B true CN113873048B (zh) | 2023-05-12 |
Family
ID=78980817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010534026.XA Active CN113873048B (zh) | 2020-06-12 | 2020-06-12 | 应用下载平台中应用包的下载方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113873048B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500510B (zh) * | 2022-01-28 | 2024-04-16 | 深圳市优必选科技股份有限公司 | 请求信息响应方法、装置、通信设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030869A (zh) * | 2007-02-16 | 2007-09-05 | 陈勇 | 网络资源下载方法和装置 |
CN102484652A (zh) * | 2009-08-28 | 2012-05-30 | 苹果公司 | 内容分发网络上的分块下载 |
CN103595743A (zh) * | 2012-08-16 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 一种下载应用软件的方法、装置及系统 |
WO2017161965A1 (zh) * | 2016-03-23 | 2017-09-28 | 中兴通讯股份有限公司 | 一种动态域名系统dns重定向方法、装置及系统 |
CN108353095A (zh) * | 2017-09-30 | 2018-07-31 | 深圳前海达闼云端智能科技有限公司 | 域名解析方法、客户端、边缘节点及域名解析系统 |
CN110380969A (zh) * | 2019-07-12 | 2019-10-25 | 中国电信集团工会上海市委员会 | 一种基于域名的流量调度方法及系统 |
WO2020097234A1 (en) * | 2018-11-08 | 2020-05-14 | Citrix Systems, Inc. | Systems and methods for secure saas redirection from native applications |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277289A (ja) * | 2005-03-29 | 2006-10-12 | Nec Corp | ダウンロードサービス代行システム及びコンピュータプログラム |
CN101068245B (zh) * | 2007-03-30 | 2011-07-06 | 腾讯科技(深圳)有限公司 | 共享文件的发布、下载方法及文件共享可控系统 |
CN104253873B (zh) * | 2013-06-25 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 域名访问方法、终端及域名访问系统 |
CN106254528B (zh) * | 2016-09-14 | 2019-12-06 | 北京佰才邦技术有限公司 | 一种资源下载方法和缓存设备 |
CN111327697B (zh) * | 2020-02-18 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 一种数据下载方法、装置、设备及存储介质 |
-
2020
- 2020-06-12 CN CN202010534026.XA patent/CN113873048B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030869A (zh) * | 2007-02-16 | 2007-09-05 | 陈勇 | 网络资源下载方法和装置 |
CN102484652A (zh) * | 2009-08-28 | 2012-05-30 | 苹果公司 | 内容分发网络上的分块下载 |
CN103595743A (zh) * | 2012-08-16 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 一种下载应用软件的方法、装置及系统 |
WO2017161965A1 (zh) * | 2016-03-23 | 2017-09-28 | 中兴通讯股份有限公司 | 一种动态域名系统dns重定向方法、装置及系统 |
CN108353095A (zh) * | 2017-09-30 | 2018-07-31 | 深圳前海达闼云端智能科技有限公司 | 域名解析方法、客户端、边缘节点及域名解析系统 |
WO2020097234A1 (en) * | 2018-11-08 | 2020-05-14 | Citrix Systems, Inc. | Systems and methods for secure saas redirection from native applications |
CN110380969A (zh) * | 2019-07-12 | 2019-10-25 | 中国电信集团工会上海市委员会 | 一种基于域名的流量调度方法及系统 |
Non-Patent Citations (1)
Title |
---|
孙海波,居悌.OTA下载服务器的研究与实现.南京邮电学院学报.2004,(第01期), * |
Also Published As
Publication number | Publication date |
---|---|
CN113873048A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300115B (zh) | 一种基于多通道的数据传输方法以及相关装置 | |
CN106686070B (zh) | 一种数据库数据迁移方法、装置、终端及系统 | |
US20190313278A1 (en) | Uplink data transmission method, terminal, network side device and system | |
US10304461B2 (en) | Remote electronic service requesting and processing method, server, and terminal | |
CN110213315B (zh) | 一种路径确定方法和装置 | |
CN107682338B (zh) | 获取、处理配置信息的方法、装置和系统 | |
EP3179693B1 (en) | Method, apparatus, storage medium and computer program product for establishing a data connection | |
CN109088844B (zh) | 信息拦截方法、终端、服务器及系统 | |
CN111478849B (zh) | 业务访问方法、装置和存储介质 | |
CN106293738B (zh) | 一种表情图像的更新方法及装置 | |
CN110716850A (zh) | 页面测试方法、装置、系统及存储介质 | |
CN107360193A (zh) | 定向获取配置信息的方法、终端和系统 | |
CN113950125B (zh) | 一种应用程序中网络加速的方法、装置以及存储介质 | |
CN115242805B (zh) | 基于gossip的分布式MQTT消息传递方法、传递系统及存储介质 | |
CN108270839B (zh) | 访问频率控制系统及方法 | |
CN108347460B (zh) | 资源访问方法及装置 | |
CN113873048B (zh) | 应用下载平台中应用包的下载方法及系统 | |
CN105025064B (zh) | 下载文件的方法、装置及系统 | |
CN112242972A (zh) | 网络请求处理方法、装置、存储介质及终端 | |
CN107623788B (zh) | 应用启动速度的提高方法、装置及计算机可读存储介质 | |
CN105306244B (zh) | 路由器管理方法、系统及设备 | |
CN110138887B (zh) | 一种数据处理方法、装置及存储介质 | |
CN118427220A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN106657281B (zh) | 文件共享方法及装置 | |
CN108574664B (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 |