CN111314437B - 资源包的下载方法和装置、存储介质及电子装置 - Google Patents

资源包的下载方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN111314437B
CN111314437B CN202010065628.5A CN202010065628A CN111314437B CN 111314437 B CN111314437 B CN 111314437B CN 202010065628 A CN202010065628 A CN 202010065628A CN 111314437 B CN111314437 B CN 111314437B
Authority
CN
China
Prior art keywords
target
resource
downloaded
resource package
downloading
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
CN202010065628.5A
Other languages
English (en)
Other versions
CN111314437A (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 CN202010065628.5A priority Critical patent/CN111314437B/zh
Publication of CN111314437A publication Critical patent/CN111314437A/zh
Application granted granted Critical
Publication of CN111314437B publication Critical patent/CN111314437B/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/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种资源包的下载方法和装置、存储介质及电子装置。包括:获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。采用上述技术方案,解决了相关技术中,在下载资源包时,会存在资源包加载速度慢等问题。

Description

资源包的下载方法和装置、存储介质及电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种资源包的下载方法和装置、存储介质及电子装置。
背景技术
相关技术中,单个资源包可以存放在内容分发网络(Content Delivery Network,简称CDN)中,该CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,CDN的关键技术主要有内容存储和分发技术。在下载资源包时,客户端通过包含域名的URL链接来下载资源包,这种直接下载单个资源包,会存在资源包加载速度慢的问题。
针对相关技术中,在下载资源包时,会存在资源包加载速度慢等问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种资源包的下载方法和装置、存储介质及电子装置,以至少解决现有技术中通过副本的方式切换游戏场景,存在成本高、误码率高、传输速度慢、安全性差的技术问题。
根据本发明实施例的一个方面,提供了一种资源包的下载方法,包括:获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
根据本发明实施例的另一方面,还提供了一种资源包的下载装置,包括:获取单元,用于获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;下载单元,用于以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;第一处理单元,用于在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述资源包的下载方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的资源包的下载方法。
在本发明实施例中,首先,获取目标资源包列表,该目标资源包列表中记录了待下载的N个资源包的标识,然后以并行的方式下载目标资源包列表中的标识所指向的N个资源包,并保证同时并行下载的资源包的个数的最大值为M,M小于或等于N,如果N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压,上述过程通过并行下载的方式,能够保证在下载正在下载资源包的同时,解压已下载、但未解压的资源包,使得下载和解压资源包同时并行,提高了资源包下载和解压的速度提高,进而提高了资源包加载的速度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的资源包的下载方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的资源包的下载方法的流程图示意图;
图3是根据本发明实施例的另一种可选的资源包的下载方法的流程示意图;
图4是根据本发明实施例的一种可选的域名解析的流程示意图;
图5是根据本发明实施例的一种可选的下载资源包的流程示意图;
图6是根据本发明实施例的一种可选的资源包的下载装置的结构示意图;
图7是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中涉及到的技术术语包括:
(1)域名劫持:是指互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名服务器(DNS)的方法,把目标网站域名解析到错误的地址,从而使用户无法访问目标网站或访问恶意网站的目的。
(2)CDN(Content Delivery Network),即内容分发网络:是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
(3)CDN Cache(CDN缓存):新文件上传到CDN服务器之后,一段时间内下载下来的文件有可能是缓存的更新前的旧文件。这种情形称之为CDN Cache。
(4)TCP服务器:指用TCP协议连接的服务器。本申请中特指基于TCP协议的文件服务器,用于文件下载。
根据本发明实施例的一个方面,提供了一种基于触控屏的虚拟操作对象的控制方法。可选地,上述基于触控屏的虚拟操作对象的控制方法可以但不限于应用于如图1所示的应用环境中。如图1所示,第一终端设备102上运行有待更新软件的客户端(例如,Android、iOS或Web)。在该客户端上加载更新软件时,可以通过网络向服务器104发送该待更新软件的相关信息。服务器104可以是客户端的后台服务器。服务器获取到该待更新软件的相关信息后,获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识,待下载的N个资源包为待更新软件的资源包;以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。以上仅为一种示例,本申请实施例在此不作限定。
可选地,在本实施例中,上述资源包的下载方法可以但不限于应用于终端设备中,该终端设备可以但不限于为手机、平板电脑、笔记本电脑、个人电脑(Personal Computer,简称PC机)等支持运行应用客户端的终端设备。上述服务器和终端设备可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由服务器(例如,上述服务器104)执行为例进行说明。如图2所示,上述资源包的下载方法的流程可以包括步骤:
S202,获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;
S204,以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;
S206,在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
可选地,在本实施例中,上述资源包的下载方法可以但不限于应用于下载软件的资源包,如下载游戏应用的资源包。
可选地,在本实施例中,该游戏应用可以为多人在线战术竞技游戏(MultiplayerOnline Battle Arena简称为MOBA)应用,或者还可以为单人游戏(Single-Player Game简称为SPG)应用。上述游戏应用的类型可以包括但不限于以下至少之一:二维(TwoDimension,简称2D)游戏应用、三维(Three Dimension,简称3D)游戏应用、虚拟现实(Virtual Reality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
可选地,首先,获取目标资源包列表,该目标资源包列表中记录了待下载的N个资源包的标识,然后以并行的方式下载目标资源包列表中的标识所指向的N个资源包,并保证同时并行下载的资源包的个数的最大值为M,M小于或等于N,如果N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
例如,假设目标资源列表中记录了6个待下载的资源包的标识,如a1、a2、a3、a4、a5、a6,然后并行的方式下载a1、a2、a3、a4、a5、a6标识所指向的6个资源包,同时并行下载的资源包的个数的最大值为3;若正在下载的资源包的标识为a3、a4、a5,已下载的资源包的标识为a1、a2,则可以在下载标识为a3、a4、a5的资源包的同时,对标识为a1、a2的资源包进行解压。
可理解,上述仅为一种示例,本实施例在此不作限定。
通过本发明,首先,获取目标资源包列表,该目标资源包列表中记录了待下载的N个资源包的标识,然后以并行的方式下载目标资源包列表中的标识所指向的N个资源包,并保证同时并行下载的资源包的个数的最大值为M,M小于或等于N,如果N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压,上述过程通过并行下载的方式,能够保证在下载正在下载资源包的同时,解压已下载、但未解压的资源包,使得下载和解压资源包同时并行,提高了资源包下载和解压的速度提高,进而提高了资源包加载的速度。
作为一种可选的方案,以并行的方式下载目标资源包列表中的标识所指向的N个资源包,包括:在N个资源包中的一个资源包下载完成、且N个资源包中仍存在未被下载的资源包的情况下,从未被下载的资源包中选择一个未被下载的资源包进行下载。
可选地,如果N个资源包中的一个资源包已经下载完成、且N个资源包中仍然存在未被下载的资源包的情况下,可以从没有被下载的资源包中选择一个未被下载的资源包进行下载。
例如,假设目标资源列表中记录了6个待下载的资源包的标识,如a1、a2、a3、a4、a5、a6,然后并行的方式下载a1、a2、a3、a4、a5、a6标识所指向的6个资源包,同时并行下载的资源包的个数的最大值为3;若正在下载的资源包的标识为a1、a2、a3,在标识为a1的资源包已经下载完成的情况下,从标识为a4、a5、a6的资源包中选择标识为a4的资源包与标识为a2、a3的资源包同时进行下载。
可理解,上述仅为一种示例,本实施例在此不作限定。
通过本实施例,如果N个资源包中的一个资源包已经下载完成、且N个资源包中仍然存在未被下载的资源包的情况下,可以从没有被下载的资源包中选择一个未被下载的资源包进行下载,提高了并行下载资源包的效率。
作为一种可选的方案,获取目标资源包列表,包括:获取终端上待更新软件的第一版本号,以及目标服务器中存储的待更新软件的第二版本号,其中,第二版本号是目标服务器中存储的第一版本信息文件中记录的待更新软件的最新版本号,第一版本信息文件的文件名包括第一版本号;比较第一版本号和第二版本号;在第一版本号小于第二版本号的情况下,获取目标服务器中存储的待更新软件的第三版本号,其中,第三版本号是目标服务器中存储的第二版本信息文件中记录的待更新软件的最新版本号,第二版本信息文件的文件名包括第二版本号;在第二版本号等于第三版本号、且目标服务器中不存在第三版本信息文件的情况下,根据第二版本信息文件获取目标资源包列表,其中,第三版本信息文件的文件名包括大于第三版本号的版本号。
可选地,首先获取终端上待更新软件的第一版本号,记为m,然后获取目标服务器中存储的待更新软件的第二版本号n,该第二版本号n被记录在目标服务器中的第一版本信息文件中,第二版本号n为第一版本信息文件中的最新版本号,第一版本信息文件的文件名可以为xxx.m;比较第一版本号m和第二版本号n,如果m小于n,获取目标服务器中存储的以xxx.n命名的第二版本信息文件中记录的最新版本号对应的第三版本号k,在n等于k、并且目标服务器中不存在文件名包括比第三版本号k大的第三版本信息文件的情况下,可以根据第二版本信息文件获取目标资源包列表,第三版本信息文件的文件名包括大于k的版本号。可理解,以上仅为一种示例,本实施例在此不作任何限定。
通过本实施例,可以保证获取到包含最新版本的版本信息文件,然后根据该版本信息文件来确定目标资源包列表,提高了下载资源包的准确度。
作为一种可选的方案,比较第一校验信息集合和第二校验信息集合,其中,终端上的本地版本信息文件中记录了第一校验信息集合,第一校验信息集合中的校验信息与终端上的待更新软件的资源包一一对应,第一校验信息集合中的每个校验信息是终端上的待更新软件的一个资源包的校验信息,第二版本信息文件中记录了第二校验信息集合,第二校验信息集合中的校验信息与目标服务器上的待更新软件的资源包一一对应,第二校验信息集合中的每个校验信息是目标服务器上的待更新软件的一个资源包的校验信息;将目标资源包列表确定为记录目标服务器上的待更新软件的一组资源包的标识,其中,一组资源包的校验信息包括在第二校验信息集合中、但未包括在第一校验信息集合中,待下载的N个资源包的标识包括一组资源包的标识。
可选地,上述第一校验信息集合可以为第一MD5值集合,上述第二校验信息集合可以为第二MD5值集合,可以将目标资源包列表确定为记录目标服务器上的待更新软件的一组资源包的标识,其中,一组资源包的校验信息包括在第二MD5值集合中、但未包括在第一MD5值集合中,待下载的N个资源包的标识包括一组资源包的标识。
通过本实施例,可以通过比较第一校验信息集合和第二校验信息集合准确的确定出目标资源包列表,提高了准确率。
作为一种可选的方案,在待更新软件存在更新的资源包和更新的版本号的情况下,生成目标版本信息文件,其中,目标版本信息文件的文件名包括更新的版本号,目标版本信息文件中记录有更新的资源包的标识和/或校验信息。
可选地,当待更新软件存在更新的资源包和更新的版本号时,可以生成目标版本信息文件,该目标版本信息文件的文件名可以包括更新的版本号,并且目标版本信息文件中记录有更新的资源包的标识和/或校验信息。
例如,待更新软件的当前版本信息文件中记录的最新版本号为10,文件名称为xxx.10,在待更新软件存在需要更新的资源包和需要更新的版本号(如11)时,可以生成一个新的目标版本信息文件,该新的目标版本信息文件的文件名可以为xxx.11,该新的目标版本信息文件中记录有更新的资源包的标识和/或校验信息。
也就是说,在更新待更新软件的版本信息文件时,可以为只增加,不覆盖的方式,能够使在下载新的资源包时,保证新的资源包与旧的资源包的路径不一,保证下载到最新的资源包。
通过本实施例,保证了新的资源包路径和旧的资源包的路径的不一致,能够避免下载到旧的资源包,保证能够下载到最新的资源包。
作为一种可选的方案,在第二版本号等于第三版本号的情况下,向目标服务器发送目标下载请求,其中,目标下载请求用于请求下载第三版本信息文件;在无法从目标服务器成功下载到第三版本信息文件的情况下,确定出目标服务器中不存在第三版本信息文。
可选地,当第二版本号等于第三版本号的情况下,可以向目标服务器发送目标下载请求,目标下载请求用于请求下载第三版本信息文件,如果服务器没有对目标下载请求进行响应,即无法从目标服务器成功下载到第三版本信息文件,此时,可以确定目标服务器中不存在第三版本信息文件。
通过本实施例,在第二版本号等于第三版本号的情况下,通过尝试下载的方式,如果没有下载成功,则表示第二版本信息文件为最新的版本信息文件,能够保证下载到最新的版本信息文件,进而能够保证下载到最新的资源包。
可选地,以并行的方式下载目标资源包列表中的标识所指向的N个资源包,包括:向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,其中,N个资源包包括目标资源包;在向第一CDN服务器中下载目标资源包失败,或者,向第一CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,向第二CDN服务器发送第二http请求,其中,第二http请求用于请求下载目标资源包。
可选地,对于N个资源包中的任意一个资源包,记为目标资源包,向第一内容分发网络CDN服务器发送第一http请求,该第一http请求用于请求下载目标资源包,其中,N个资源包包括目标资源包,如果第一CDN服务器下载目标资源包失败,或者,对成功下载到的目标资源包的MD5值校验失败,则可以向第二CDN服务器发送第二http请求,该第二http请求用于请求下载目标资源包。其中,第二CDN服务器可以为第一CDN服务器的备份服务器。
通过本实施例,首先通过第一CDN服务器下载目标资源包,如果下载失败,或者下载成功的目标资源包的MD5值校验失败,则可以向第二CDN服务器(即备份CDN服务器)发送第二http请求,来继续下载目标资源包,通过备份的第二CDN服务器下载的方式,提高了下载资源包的成功率。
作为一种可选的方案,上述方法还包括:在向第二CDN服务器中下载目标资源包失败,或者,向第二CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,向传输控制协议TCP服务器发送TCP请求,其中,TCP请求用于请求下载目标资源包。
可选的,对于N个资源包中的任意一个资源包,记为目标资源包,在向第一CDN服务器中下载目标资源包失败,或者,向第一CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,并且在向第二CDN服务器中下载目标资源包失败,或者,向第二CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,可以向传输控制协议TCP服务器发送TCP请求,其中,TCP请求用于请求下载目标资源包。
通过本实施例,能够在第一CDN服务器和第二CDN服务器都没有成功下载到目标资源包的情况下,可以通过向TCP服务器发送TCP请求的方式来下载目标资源包,极大地提高了下载资源包的成功率。
可选地,以并行的方式下载目标资源包列表中的标识所指向的N个资源包,包括:向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,其中,N个资源包包括目标资源包;在向第一CDN服务器中下载目标资源包失败,或者,向第一CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,向传输控制协议TCP服务器发送TCP请求,其中,TCP请求用于请求下载目标资源包。
可选地,对于N个资源包中的任意一个资源包,记为目标资源包,向第一内容分发网络CDN服务器发送第一http请求,该第一http请求用于请求下载目标资源包,其中,N个资源包包括目标资源包,如果第一CDN服务器下载目标资源包失败,或者,对成功下载到的目标资源包的MD5值校验失败,则可以向传输控制协议TCP服务器发送TCP请求,该TCP请求用于请求下载目标资源包。
通过本实施例,首先通过第一CDN服务器下载目标资源包,如果下载失败,或者下载成功的目标资源包的MD5值校验失败,则可以向TCP服务器发送TCP请求,来继续下载目标资源包,通过备份的TCP服务器下载的方式,提高了下载资源包的成功率。
可选地,以并行的方式下载目标资源包列表中的标识所指向的N个资源包之前,方法还包括:向DNS服务器发送目标获取请求,其中,目标获取请求中携带有目标域名,DNS服务器仅允许目标对象访问;获取DNS服务器发送的第一CDN服务器的IP地址,其中,目标域名是与终端上的待更新软件相关的域名,第一CDN服务器用于存储待更新软件的版本信息文件,版本信息文件用于确认目标资源包列表,待下载的N个资源包为待更新软件的资源包;向第一内容分发网络CDN服务器发送第一http请求,包括:向第一CDN服务器的IP地址发送第一http请求。
可选地,在以并行的方式下载目标资源包列表中的标识所指向的N个资源包之前,可以向DNS服务器发送携带有目标域名的目标获取请求,并且该DNS服务器只允许对特定的目标对象可见,然后获取DNS服务器发送的第一CDN服务器的IP地址,其中,目标域名是与终端上的待更新软件相关的域名,第一CDN服务器用于存储待更新软件的版本信息文件,版本信息文件用于确认目标资源包列表,待下载的N个资源包为待更新软件的资源包,然后可以向第一CDN服务器的IP地址发送上述第一http请求。
需要说明的是,在上述域名解析的过程中,由于DNS服务器只允许对特定的目标对象可见,非法用户无法对DNS服务器进行伪造,达到了防止域名被劫持的作用,进而能够避免把目标域名解析为错误的IP地址,从而可以使用户无法访问到错误的目标域名的网站的或访问到恶意网站。
通过本实施例,能够在对目标域名进行解析时,防止域名被劫持,提高了后续下载资源包的成功率。
下面结合可选示例对虚拟道具的控制方法的流程进行说明,如图3所示,该方法包括以下步骤:
步骤S302,域名解析。
可选地,首先,对服务器进行域名解析,将域名转换为具体的IP地址,防止域名劫持,如图4所示,具体过程如下:
(1)客户端通过接口,获取业务在gslb.oa.com(对应于只允许对特定的目标对象可见的DNS服务器)上配置的访问延迟最优的第一CDN服务器的IP地址。
在上述域名解析的过程中,由于DNS服务器只允许对特定的目标对象可见,非法用户无法对DNS服务器进行伪造,达到了防止域名被劫持的作用,进而能够避免把目标域名解析为错误的IP地址,从而可以使用户无法访问到错误的目标域名的网站的或访问到恶意网站。
(2)客户端直接向获取到的第一CDN服务器的IP地址发生业务协议请求(如上述第一http请求)。以http请求为例,通过标头header中指定host字段,向返回的IP地址发送标准的http请求即可。
需要说明的是,在域名解析之后进入业务下载流程,需要下载的文件种类包括:1)可下载的小资源包(对应于上述N个资源包);2)版本信息文件,其中,版本文件信息中包括最新版本号,当前版本包含的文件,每个文件存放的资源包的信息(如资源包的标识、校验信息),其中,文件名可以以当前版本号作为后缀(如:_n)。
可选地,先下载版本信息文件,根据版本信息文件中的信息确定需要下载的资源包列表,然后并发下载与解压资源包。
步骤S304,下载版本信息文件:
需要说明的是,客户端本地包含一份当前版本的本地版本信息文件,先读取本地版本信息文件,如果本地版本信息文件中的版本号为m,则表示在第一CDN服务器上会有一份相对应的xxx_m的版本信息文件,下载该xxx_m的版本信息文件,然后从文件里面读取最新版本号,假设最新版本号为n,比较m和n,从容灾角度考虑,如果第一CDN服务器多次下载失败,则会从第二CDN服务器下载,第二CDN服务器为第一CDN服务器的备份服务器。具体下载步骤如下:
S1,如果m<n,表示CDN服务器上会有一份相对应的新的版本信息文件xxx_n,下载xxx_n版本信息文件,继续比较xxx_n文件里面的最新版本信息的版本号与版本号n的大小,根据比较结果重复执行S1或S2。
S2,如果m=n,尝试下载xxx_(n+1)的版本信息文件。如果下载成功,继续比较最新版本信息的版本号与n,根据比较结果重复执行S1或S2;如果下载失败,表示当前下载的已经是最新的信息文件,版本信息文件下载结束。
步骤S306,确定需要下载的小资源包列表:
可选地,比较本地文件系统的版本信息文件的MD5值与最新版本号对应的版本信息文件里面的文件的MD5值,确定最新版本号对应的版本信息文件里面具有的MD5值、但本地文件系统的版本信息文件里面不具有的MD5值对应的文件列表即为需要更新的文件列表,根据需要更新的文件列表和小资源包的映射信息,确定需要下载的小资源包列表(对应于上述目标资源包列表)。
步骤S308,小资源包下载与解压:
可选地,并发下载N个资源包,N可配置,由于每个小资源包大小不一致,下载速度也不一样,在其中某一个小资源包下载完成后,可以继续下载下一个小资源包,以保证每次下载N个小资源包,每个资源包下载完成后开始解压,并开始新的下载,直到所有的资源包下载完成为止。
可选地,单个资源包的下载流程如图5所示,S502,先尝试https下载;S504,如果重试多次(如重试x次)下载失败,或下载文件的MD5值错误,开始尝试http下载;S504,如果重试多次(如重试x次)下载失败,或下载文件的MD5值错误,开始连接备份的TCP服务器下载,直接通过TCP下载文件,如果重试多次(如重试x次)下载失败,或下载文件的MD5值错误,则表示下载失败。以上任意一次下载成功而且MD5值校验成功,则表示下载成功。
可理解,以上仅为一种示例,本实施例在此不作限定。
需要说明的是,上述过程可以但不限于应用于游戏加载阶段。
通过本实施例,相较于传统的下载方式,通过本申请实施例的下载方式,不仅可以防止域名劫持,通过第一CDN服务器的容灾,提高了下载速度,能够让玩家更快更稳定的正常进入游戏。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述资源包的下载方法的资源包的下载装置。如图6所示,该装置包括:
获取单元602,用于获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;
下载单元604,用于以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;
第一处理单元606,用于在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
通过本发明,首先,获取目标资源包列表,该目标资源包列表中记录了待下载的N个资源包的标识,然后以并行的方式下载目标资源包列表中的标识所指向的N个资源包,并保证同时并行下载的资源包的个数的最大值为M,M小于或等于N,如果N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压,上述过程通过并行下载的方式,能够保证在下载正在下载资源包的同时,解压已下载、但未解压的资源包,使得下载和解压资源包同时并行,提高了资源包下载和解压的速度提高,进而提高了资源包加载的速度。
作为一种可选的方案,上述下载单元604,还用于在N个资源包中的一个资源包下载完成、且N个资源包中仍存在未被下载的资源包的情况下,从未被下载的资源包中选择一个未被下载的资源包进行下载。
作为一种可选的方案,上述获取单元602,包括:
第一获取模块,用于获取终端上待更新软件的第一版本号,以及目标服务器中存储的待更新软件的第二版本号,其中,第二版本号是目标服务器中存储的第一版本信息文件中记录的待更新软件的最新版本号,第一版本信息文件的文件名包括第一版本号;
比较模块,用于比较第一版本号和第二版本号;
第二获取模块,用于在第一版本号小于第二版本号的情况下,获取目标服务器中存储的待更新软件的第三版本号,其中,第三版本号是目标服务器中存储的第二版本信息文件中记录的待更新软件的最新版本号,第二版本信息文件的文件名包括第二版本号;
第三获取模块,用于在第二版本号等于第三版本号、且目标服务器中不存在第三版本信息文件的情况下,根据第二版本信息文件获取目标资源包列表,其中,第三版本信息文件的文件名包括大于第三版本号的版本号。
作为一种可选的方案,上述第三获取模块,还用于比较第一校验信息集合和第二校验信息集合,其中,终端上的本地版本信息文件中记录了第一校验信息集合,第一校验信息集合中的校验信息与终端上的待更新软件的资源包一一对应,第一校验信息集合中的每个校验信息是终端上的待更新软件的一个资源包的校验信息,第二版本信息文件中记录了第二校验信息集合,第二校验信息集合中的校验信息与目标服务器上的待更新软件的资源包一一对应,第二校验信息集合中的每个校验信息是目标服务器上的待更新软件的一个资源包的校验信息;将目标资源包列表确定为记录目标服务器上的待更新软件的一组资源包的标识,其中,一组资源包的校验信息包括在第二校验信息集合中、但未包括在第一校验信息集合中,待下载的N个资源包的标识包括一组资源包的标识。
作为一种可选的方案,上述装置还包括:
第一发送单元,用于在第二版本号等于第三版本号的情况下,向目标服务器发送目标下载请求,其中,目标下载请求用于请求下载第三版本信息文件;
确定单元,用于在无法从目标服务器成功下载到第三版本信息文件的情况下,确定出目标服务器中不存在第三版本信息文。
作为一种可选的方案,上述装置还包括:
生成单元,用于在待更新软件存在更新的资源包和更新的版本号的情况下,生成目标版本信息文件,其中,目标版本信息文件的文件名包括更新的版本号,目标版本信息文件中记录有更新的资源包的标识和/或校验信息。
作为一种可选的方案,上述下载单元,包括:
第二发送单元,用于向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,其中,N个资源包包括目标资源包;
第三发送单元,用于在向第一CDN服务器中下载目标资源包失败,或者,向第一CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,向第二CDN服务器发送第二http请求,其中,第二http请求用于请求下载目标资源包。
作为一种可选的方案,上述下载单元,包括:
第四发送单元,用于在向第二CDN服务器中下载目标资源包失败,或者,向第二CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,向传输控制协议TCP服务器发送TCP请求,其中,TCP请求用于请求下载目标资源包。
作为一种可选的方案,上述下载单元,包括:
上述第二发送单元,还用于向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,其中,N个资源包包括目标资源包;
上述第四发送单元,还用于在向第一CDN服务器中下载目标资源包失败,或者,向第一CDN服务器成功下载得到的目标资源包的MD5值校验失败的情况下,向传输控制协议TCP服务器发送TCP请求,其中,TCP请求用于请求下载目标资源包。
作为一种可选的方案,上述装置还包括:
第二处理单元,用于向DNS服务器发送目标获取请求,其中,目标获取请求中携带有目标域名,DNS服务器仅允许目标对象访问;获取DNS服务器发送的第一CDN服务器的IP地址,其中,目标域名是与终端上的待更新软件相关的域名,第一CDN服务器用于存储待更新软件的版本信息文件,版本信息文件用于确认目标资源包列表,待下载的N个资源包为待更新软件的资源包;
上述第二发送单元,还用于向第一CDN服务器的IP地址发送第一http请求。
根据本发明实施例的又一个方面,还提供了一种用于实施上述资源包的下载方法的电子装置,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;
S2,以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;
S3,在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的资源包的下载方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源包的下载方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储地图元素集合等信息等信息。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述资源包的下载装置中的获取单元602、下载单元604、第一处理单元606。此外,还可以包括但不限于上述资源包的下载装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器708;和连接总线710,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标资源包列表,其中,目标资源包列表中记录了待下载的N个资源包的标识;
S2,以并行的方式下载目标资源包列表中的标识所指向的N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;
S3,在N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载正在下载的资源包的同时,对已下载、但未解压的资源包中的一个或多个进行解压。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种资源包的下载方法,其特征在于,包括:
获取终端上待更新软件的第一版本号,以及目标服务器中存储的所述待更新软件的第二版本号,其中,所述第二版本号是所述目标服务器中存储的第一版本信息文件中记录的所述待更新软件的最新版本号,所述第一版本信息文件的文件名包括所述第一版本号;
比较所述第一版本号和所述第二版本号;
在所述第一版本号小于所述第二版本号的情况下,获取所述目标服务器中存储的所述待更新软件的第三版本号,其中,所述第三版本号是所述目标服务器中存储的第二版本信息文件中记录的所述待更新软件的最新版本号,所述第二版本信息文件的文件名包括所述第二版本号;
在所述第二版本号等于所述第三版本号、且所述目标服务器中不存在第三版本信息文件的情况下,根据所述第二版本信息文件获取目标资源包列表,其中,所述第三版本信息文件的文件名包括大于所述第三版本号的版本号,所述目标资源包列表中记录了待下载的N个资源包的标识;
以并行的方式下载所述目标资源包列表中的所述标识所指向的所述N个资源包,包括:向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,所述N个资源包包括所述目标资源包;在向所述第一CDN服务器中下载所述目标资源包失败,或者,向所述第一CDN服务器成功下载得到的所述目标资源包的MD5值校验失败的情况下,向第二CDN服务器发送第二http请求,其中,第二http请求用于请求下载所述目标资源包,同时并行下载的资源包的个数的最大值为M,M小于或等于N;
在所述N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载所述正在下载的资源包的同时,对所述已下载、但未解压的资源包中的一个或多个进行解压。
2.根据权利要求1所述的方法,其特征在于,所述以并行的方式下载所述目标资源包列表中的所述标识所指向的所述N个资源包,包括:
在所述N个资源包中的一个资源包下载完成、且所述N个资源包中仍存在未被下载的资源包的情况下,从所述未被下载的资源包中选择一个未被下载的资源包进行下载。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第二版本信息文件获取所述目标资源包列表,包括:
比较第一校验信息集合和第二校验信息集合,其中,所述终端上的本地版本信息文件中记录了所述第一校验信息集合,所述第一校验信息集合中的校验信息与所述终端上的所述待更新软件的资源包一一对应,所述第一校验信息集合中的每个校验信息是所述终端上的所述待更新软件的一个资源包的校验信息,所述第二版本信息文件中记录了所述第二校验信息集合,所述第二校验信息集合中的校验信息与所述目标服务器上的所述待更新软件的资源包一一对应,所述第二校验信息集合中的每个校验信息是所述目标服务器上的所述待更新软件的一个资源包的校验信息;
将所述目标资源包列表确定为记录所述目标服务器上的所述待更新软件的一组资源包的标识,其中,所述一组资源包的校验信息包括在所述第二校验信息集合中、但未包括在所述第一校验信息集合中,所述待下载的N个资源包的标识包括所述一组资源包的标识。
4.根据权利要求1所述的方法,其特征在于,在根据所述第二版本信息文件获取所述目标资源包列表之前,所述方法还包括:
在所述第二版本号等于所述第三版本号的情况下,向所述目标服务器发送目标下载请求,其中,所述目标下载请求用于请求下载所述第三版本信息文件;
在无法从所述目标服务器成功下载到所述第三版本信息文件的情况下,确定出所述目标服务器中不存在所述第三版本信息文。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述待更新软件存在更新的资源包和更新的版本号的情况下,生成目标版本信息文件,其中,所述目标版本信息文件的文件名包括所述更新的版本号,所述目标版本信息文件中记录有所述更新的资源包的标识和/或校验信息。
6.根据权利要求1所述的方法,其特征在于,所述以并行的方式下载所述目标资源包列表中的所述标识所指向的所述N个资源包,包括:
在向所述第二CDN服务器中下载所述目标资源包失败,或者,向所述第二CDN服务器成功下载得到的所述目标资源包的MD5值校验失败的情况下,向传输控制协议TCP服务器发送TCP请求,其中,所述TCP请求用于请求下载所述目标资源包。
7.根据权利要求1所述的方法,其特征在于,所述以并行的方式下载所述目标资源包列表中的所述标识所指向的所述N个资源包,包括:
向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,其中,所述N个资源包包括所述目标资源包;
在向所述第一CDN服务器中下载所述目标资源包失败,或者,向所述第一CDN服务器成功下载得到的所述目标资源包的MD5值校验失败的情况下,向传输控制协议TCP服务器发送TCP请求,其中,所述TCP请求用于请求下载所述目标资源包。
8.根据权利要求6至7中任一项所述的方法,其特征在于,
所述以并行的方式下载所述目标资源包列表中的所述标识所指向的所述N个资源包之前,所述方法还包括:向DNS服务器发送目标获取请求,其中,所述目标获取请求中携带有目标域名,所述DNS服务器仅允许目标对象访问;获取所述DNS服务器发送的所述第一CDN服务器的IP地址,其中,所述目标域名是与终端上的待更新软件相关的域名,所述第一CDN服务器用于存储所述待更新软件的版本信息文件,所述版本信息文件用于确认所述目标资源包列表,所述待下载的N个资源包为所述待更新软件的资源包;
所述向第一内容分发网络CDN服务器发送第一http请求,包括:向所述第一CDN服务器的IP地址发送所述第一http请求。
9.一种资源包的下载装置,其特征在于,包括:
获取单元,用于获取目标资源包列表,其中,所述目标资源包列表中记录了待下载的N个资源包的标识;
下载单元,用于以并行的方式下载所述目标资源包列表中的所述标识所指向的所述N个资源包,其中,同时并行下载的资源包的个数的最大值为M,M小于或等于N;
第一处理单元,用于在所述N个资源包中存在正在下载的资源包、以及存在已下载、但未解压的资源包的情况下,在下载所述正在下载的资源包的同时,对所述已下载、但未解压的资源包中的一个或多个进行解压;
所述下载单元,包括:
第二发送单元,用于向第一内容分发网络CDN服务器发送第一http请求,其中,第一http请求用于请求下载目标资源包,所述N个资源包包括所述目标资源包;
第三发送单元,用于在向所述第一CDN服务器中下载所述目标资源包失败,或者,向所述第一CDN服务器成功下载得到的所述目标资源包的MD5值校验失败的情况下,向第二CDN服务器发送第二http请求,其中,第二http请求用于请求下载所述目标资源;
所述获取单元,包括:
第一获取模块,用于获取终端上待更新软件的第一版本号,以及目标服务器中存储的所述待更新软件的第二版本号,其中,所述第二版本号是所述目标服务器中存储的第一版本信息文件中记录的所述待更新软件的最新版本号,所述第一版本信息文件的文件名包括所述第一版本号;
比较模块,用于比较所述第一版本号和所述第二版本号;
第二获取模块,用于在所述第一版本号小于所述第二版本号的情况下,获取所述目标服务器中存储的所述待更新软件的第三版本号,其中,所述第三版本号是所述目标服务器中存储的第二版本信息文件中记录的所述待更新软件的最新版本号,所述第二版本信息文件的文件名包括所述第二版本号;
第三获取模块,用于在所述第二版本号等于所述第三版本号、且所述目标服务器中不存在第三版本信息文件的情况下,根据所述第二版本信息文件获取所述目标资源包列表,其中,所述第三版本信息文件的文件名包括大于所述第三版本号的版本号。
10.根据权利要求9所述的装置,其特征在于,所述下载单元,还用于在所述N个资源包中的一个资源包下载完成、且所述N个资源包中仍存在未被下载的资源包的情况下,从所述未被下载的资源包中选择一个未被下载的资源包进行下载。
11.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
CN202010065628.5A 2020-01-20 2020-01-20 资源包的下载方法和装置、存储介质及电子装置 Active CN111314437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010065628.5A CN111314437B (zh) 2020-01-20 2020-01-20 资源包的下载方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010065628.5A CN111314437B (zh) 2020-01-20 2020-01-20 资源包的下载方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN111314437A CN111314437A (zh) 2020-06-19
CN111314437B true CN111314437B (zh) 2021-10-15

Family

ID=71146893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010065628.5A Active CN111314437B (zh) 2020-01-20 2020-01-20 资源包的下载方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN111314437B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631621A (zh) * 2020-12-29 2021-04-09 微医云(杭州)控股有限公司 一种依赖包管理方法、装置、服务器及存储介质
CN112711434A (zh) * 2020-12-31 2021-04-27 京东数字科技控股股份有限公司 资源包的处理方法、装置、终端设备及存储介质
CN112395094A (zh) * 2021-01-19 2021-02-23 成都四方伟业软件股份有限公司 一种基于tpl资源初始化下载方法及装置
CN114928645B (zh) * 2022-04-26 2024-04-19 青岛海尔科技有限公司 资源包处理方法和装置、存储介质及电子装置
CN116688521A (zh) * 2023-06-28 2023-09-05 广州三七极梦网络技术有限公司 资源数据下载方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386621B2 (en) * 2010-03-12 2013-02-26 Netflix, Inc. Parallel streaming
US10191925B1 (en) * 2011-10-27 2019-01-29 Valve Corporation Delivery of digital information to a remote device
CN103973475B (zh) * 2013-02-05 2018-07-06 腾讯科技(深圳)有限公司 差异补丁包生成方法及下载方法、服务器、客户端
CN104426925B (zh) * 2013-08-21 2019-11-08 腾讯科技(深圳)有限公司 网页资源获取方法及装置
CN106354646B (zh) * 2016-08-30 2018-12-25 竞技世界(北京)网络技术有限公司 一种分析转储文件的方法
US10970354B2 (en) * 2017-07-17 2021-04-06 Songtradr, Inc. Method for processing code and increasing website and client interaction speed
CN109491694A (zh) * 2019-01-04 2019-03-19 中国银行股份有限公司 应用更新方法和装置、数据推送方法和装置
CN109766114B (zh) * 2019-01-15 2022-05-03 网易(杭州)网络有限公司 一种补丁文件的处理方法和装置
CN110247985B (zh) * 2019-06-28 2022-06-03 北京奇艺世纪科技有限公司 一种资源下载方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN111314437A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111314437B (zh) 资源包的下载方法和装置、存储介质及电子装置
CN106528224B (zh) 一种Docker容器的内容更新方法、服务器及系统
CN107547239B (zh) 配置对象的更新方法及装置
RU2538911C2 (ru) Способ и система для эффективной загрузки пакета данных
CN107592338B (zh) 一种动态库的更新系统、方法和相关设备
EP2149848A1 (en) Data distribution system
CN110532077B (zh) 任务处理方法、装置及存储介质
CN104348919A (zh) 进行文件下载的方法、装置和浏览器
CN111001162A (zh) 游戏的换肤方法及装置、存储介质、处理器
US20170187837A1 (en) Ad download method, the client and the server
JP2023523242A (ja) データ処理方法、データ処理装置、コンピュータ機器、及びコンピュータプログラム
CN112689316A (zh) 智能设备的绑定方法、装置和存储介质及电子装置
CN107959702B (zh) 路由方法和装置
CN113312066A (zh) 动态热更新方法、存储介质
CN113852665A (zh) 文件上传方法、装置、电子设备、存储介质及程序产品
JP5109901B2 (ja) セッションデータ共有方法
CN103138961B (zh) 服务器控制方法、被控服务器及中心控制服务器
JP5423900B2 (ja) 中継システム、中継システムの制御方法及び中継装置の制御プログラム
US20170171357A1 (en) Apparatus and method for assisting in downloading file successfully
CN110895583A (zh) 数据资源获取的方法、装置和系统
CN113747252B (zh) 一种多媒体资源的传输方法、装置和系统
CN102137058B (zh) 一种基于tab页的页面访问方法和装置
CN113746884B (zh) 一种多媒体资源的传输方法、装置和系统
US8676924B2 (en) Server and simultaneous access control method thereof
EP2999193B1 (en) Method for hypertext transfer protocol network and broadband network gateway

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024143

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant