CN108111555A - 用于控制安装包下载过程的方法及系统 - Google Patents
用于控制安装包下载过程的方法及系统 Download PDFInfo
- Publication number
- CN108111555A CN108111555A CN201611051362.9A CN201611051362A CN108111555A CN 108111555 A CN108111555 A CN 108111555A CN 201611051362 A CN201611051362 A CN 201611051362A CN 108111555 A CN108111555 A CN 108111555A
- Authority
- CN
- China
- Prior art keywords
- file
- installation kit
- information
- server
- client device
- 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.)
- Granted
Links
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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44584—Portable applications, i.e. making applications self-contained, e.g. U3 standard
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种方法,所述方法在客户端设备上实施,所述方法包括:通过向服务器发送请求,获取安装包的结构描述信息;根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片;其中,所述文件分片包括:文件的全部或者部分。
Description
技术领域
本申请涉及安装包下载技术,具体涉及用于控制安装包下载过程的方法、系统以及机器可读介质。
背景技术
为了在终端设备上使用更多的功能,终端设备的使用者可以从服务器下载提供相应功能的安装包并在终端设备上进行安装。以运行Android系统的移动终端设备为例,移动应用商店提供各种应用程序的APK安装包,移动终端设备的使用者可以下载所需的APK安装包并进行安装。考虑到终端设备的平台配置(硬件配置和/或软件系统版本)的差异性,在一个APK安装包中通常包含与各种平台配置相匹配的代码和/或资源文件,这种方式导致APK安装包比较大,用户下载后占用移动终端设备的大量存储空间,给用户的使用带来不便。
针对上述问题,现有技术采用了在服务器存储针对不同平台配置的不同应用安装包(也称安装包变体、或者瘦身版本的安装包)的方案。请参见图1,开发者提供针对不同平台配置的各种安装包变体,或者应用商店服务器根据开发者提供的描述信息自动生成各种安装包变体存储在服务器上;当终端设备需要下载安装包时,应用商店服务器根据终端设备的平台配置信息将相匹配的安装包变体发送给终端设备,由终端设备自行完成安装。
上述方案,由于应用商店服务器需要同时存储相同安装包的多个不同变体,一方面,对开发者不透明,开发者需要关心配置这些不同版本,增加了开发者的负担;另一方面,也增大了服务器的管理复杂度。
发明内容
本申请提供一种方法,所述方法在客户端设备上实施,包括:
通过向服务器发送请求,获取安装包的结构描述信息;
根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;
至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;
通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片;
其中,所述文件分片包括:文件的全部或者部分。
附图说明
图1是现有技术中应用商店向客户端提供安装包变体版本的示意图;
图2是本申请提供的第一种方法的实施例的流程图;
图3是本申请实施例提供的移动应用安装包的结构示意图;
图4是本申请实施例提供的客户端设备从服务器下载得到文件分片的示意图;
图5是本申请实施例提供的客户端设备从服务器按顺序下载得到文件分片的示意图;
图6是本申请提供的第一种装置的实施例的示意图;
图7是本申请提供的第一种系统示例的示意图;
图8是本申请提供的第二种方法的实施例的流程图;
图9是本申请提供的第二种装置的实施例的示意图;
图10是本申请提供的第二种系统示例的示意图;
图11是本申请提供的第三种方法的实施例的流程图;
图12是本申请提供的第三种装置的实施例的示意图;
图13是本申请提供的第三种系统示例的示意图;
图14是本申请提供的一种系统的实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
本申请的技术方案可以有不同的变更实施方式或者替代实施方式,本说明书将结合附图给出的示例对特定的实施方式进行详细说明。但是,本领域技术人员应该理解,本说明书的目的不是为了将本申请技术方案限定于本说明书公开的特定实施方式,而是为了覆盖与本申请技术方案一致的所有变更实施方式、等同实施方式和替代实施方式。
在本说明书中对“实施例”、“本实施例”、或者“示范实施例”等的引用,指明所描述的实施例可以包括具体的特征、结构或特性,但是并非要求每个实施例都需要包括该具体的特征、结构或特性。此外,当结合一个实施例描述具体的特征、结构或特性时,在本领域技术人员的知识范围内,可以结合其他实施例来实施这种特征、结构或特性(无论其是否被详细描述)。
本申请的实施例可以按照软件、硬件、固件、或其结合、或其他方式实现。本申请的实施例还可实现为存储在非永久性或永久性机器可读介质(例如:计算机可读介质)上的指令,所述指令可通过一个或多个处理器读取或执行。机器可读介质包括任何按机器可读形式存储或传送信息的存储设备、机制或其他物理结构。例如,机器可读介质可以包括只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备以及其他。
在本说明书提供的附图中,一些结构或方法特征通常是按照具体的排列方式和/或顺序来展示的。但是应该理解,这些具体的排列方式和/或顺序并不是必需的。在一些实施例中,这些特征可以按照与附图不同的排列方式和/或顺序来组织。此外,在某一附图中包含的结构或方法特征,并不意味着在所有实施例中都要包含该特征,在一些实施例中,可以不包含该特征,或者该特征可以与其他特征相结合。
下面描述第一组实施例,其中包括:本申请提供的第一种方法及装置的实施例,并提供第一种系统示例。
首先,对本申请提供的第一种方法的实施方式进行说明。本申请提供的第一种方法通常在客户端设备上实施,包括以下步骤:通过向服务器发送请求,获取安装包的结构描述信息;根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片;其中,所述文件分片包括:文件的全部或者部分。
其中,所述安装包可以是应用安装包、也可以是系统安装包,其结构可以为一系列文件的集合,也可以是包含多个文件的压缩文件;所述安装包的结构描述信息,是指用于描述安装包内部结构的信息,例如包括多少个文件、每个文件的文件路径名等,所述结构描述信息可以是安装包中的一部分,也可以存储在独立于安装包的其他文件中。
客户端设备通过向服务器发送请求,从服务器获取安装包的结构描述信息,然后根据所获取的结构描述信息,确定安装包所包含的文件的相关信息,所述相关信息至少包括:文件路径名;再根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;最后从服务器下载所选文件分片,例如:可以向服务器发送获取所选文件分片的请求,在请求中携带所选各文件分片对应的文件路径名,对于某分片不是完整文件而是文件的一部分的情况,还可以携带所述文件分片在相应文件中的位置信息,服务器则根据接收到的请求,将所述安装包中的相应文件分片返回给客户端设备,从而客户端设备获取了与自身平台配置信息相匹配的文件分片,实现了下载内容的动态可控。
优选地,在选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片之后,在下载所选文件分片之前,可以根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序。此后,则可以按照已确定的下载顺序,从服务器下载所选文件分片。采用这种方式,在下载内容可控的基础上,进一步实现了下载顺序的可控,为客户端设备执行相应的优化操作提供了可能性,例如:可以尽早开始执行签名校验操作、或者提前编译操作等。
在上面描述的客户端设备与服务器之间发送请求、返回应答、以及下载文件分片的交互过程,可以采用超文本传输协议(HyperText Transfer Protocol—HTTP)实现,也可以采用双方预先协商的其它协议实现。考虑到HTTP 1.1及以上版本支持Range Request请求(即,包含Range头部信息的HTTP请求),可以指定要下载内容的范围,而且目前广泛应用于移动终端设备的移动应用安装包通常都是自带结构描述信息的结构化压缩文件,在上述应用场景下,采用支持Range Request请求的HTTP协议实现可控下载过程,可以实现本技术方案对服务器的透明,是本申请提供的第一种方法的优选实施方式,在下面的各实施例中将重点描述所述优选实施方式。
请参考图2,其为本申请的第一种方法的实施例的流程图,所述方法通常在客户端设备上实施。所述方法包括以下步骤:
步骤201、通过向服务器发送请求,获取安装包的结构描述信息。
应用于移动终端设备的安装包通常是一个压缩的结构化数据。例如iOS上的ipa(iphone application)安装包和Android上的apk(android package)安装包,都是一个ZIP压缩文件,待安装的各文件存放在压缩包中。请参见图3,其为一个典型的移动应用安装包的结构示意图,移动应用安装包中包括应用描述文件(Metadata)、代码文件(code)、图片等应用资源文件(Resource)、和签名文件(Signature)等,同种类型文件在安装包中不一定连续存放。对于采用ZIP压缩格式的安装包,结构描述信息通常位于安装包末端,包括中央目录和中央目录结束记录等信息。
本步骤通过向服务器发送请求,获取安装包的结构描述信息。具体可以包括以下过程:向服务器发送针对安装包的HTTP请求,并在HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;根据所述服务器端返回的HTTP应答获取所述结构描述信息。
例如:结构描述信息位于安装包末端,其长度为1024字节,则可以在HTTP请求的统一资源定位符(URL)字段写入安装包的URL地址信息,并在Range头部写入下列信息:“Range:bytes=-1024”,将包含上述Range头部信息的HTTP请求,即Range Request请求,发送给服务器,此后,客户端设备就可以根据服务器返回的HTTP应答获取安装包的结构描述信息。
上述例子中,写入Range头部的位置信息为-1024,其代表结构描述信息在安装包末端的1024字节内,在具体实施时,该数值可以是预设的经验值,也可以根据实际情况进行调整,为了保证能够获取完整的结构描述信息,通常可以设置为略大的数值,客户端设备根据服务器返回的HTTP应答获取数据后,可以通过分析,从中获取所需的结构描述信息。
本步骤采用发送Range Request的方式获取安装包的结构描述信息,服务器如果具有实现HTTP1.1协议栈的模块或者单元,则无需进行额外操作或者修改,就可以向客户端设备返回所需的结构描述信息,能够简化服务器的处理。
步骤202、根据所述结构描述信息,确定所述安装包所包含的文件的相关信息。
步骤201获取安装包的结构描述信息后,本步骤可以按照结构描述信息的格式、对结构描述信息进行分析,从而确定安装包所包含的文件的相关信息。
例如,对于采用Zip压缩格式的安装包,可以通过位于结构描述信息末端的中央目录结束记录,定位到结构描述信息中的中央目录,然后通过对中央目录中的数据进行分析,可以提取安装包所包含的每个文件的文件路径名,以及每个文件在安装包中的起始位置和结束位置。
步骤203、至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片。
在本实施例中,服务器提供的安装包是适用于多种平台配置的通用安装包,而客户端设备具有自己的平台配置信息,本步骤可以根据步骤202获取的安装包所包含文件的相关信息,选择安装包中与客户端设备的平台配置信息相匹配的文件分片。所述文件分片可以是完整的文件,也可以是文件的一部分。
所述客户端设备的平台配置信息,可以包括:硬件型号信息、和/或、软件系统的版本信息,所述硬件型号信息可以包括:CPU型号、GPU型号等。安装包中所包含的文件的相关信息中通常包含文件的文件路径名,文件路径名中通常包含文件的路径信息和名称信息,其中路径信息中通常包含文件所适用的平台信息。下面以文件分片为完整文件为例,对本步骤的选择过程进行说明。
例如,安装包中的一个库文件的文件路径名为:lib/x86/1.so,其中路径信息中的x86说明该库文件适用于采用x86CPU的设备上,如果客户端设备的平台配置信息所对应的CPU为ARM64,则该文件不是与客户端设备的平台配置信息相匹配的文件。再如,安装包中的一个图片文件的文件路径名为:res/layout/800×480/1.jpg,其中800×480表示该布局文件适用的屏幕大小为800×480,如果客户端设备的平台配置信息所对应的屏幕大小为:800×480,则该文件是与客户端设备的平台配置信息相匹配的文件。
具体实施时,可以采用上述类似方式,将安装包包含的各文件的文件路径名与客户端设备的平台配置信息逐一进行匹配,若匹配成功,即:两者相符,则选择当前文件,否则不选择。从而可以从安装包包含的众多文件中选择出与客户端设备的平台配置信息相匹配的文件。
以上给出的实施方式中,所选文件分片为完整文件,在其他实施方式中,在上述选择文件分片的过程中可以同时参考预设策略,所述预设策略,包括:针对预设文件或者预设类型文件仅下载部分内容。
例如:安装包中包含6个文件:F1、F2、F3、F4、F5和F6,其中与客户端设备的平台配置信息相匹配的文件为:F1、F2、F4、和F6,F6是用于进行软件功能介绍的视频文件,而预设策略为针对视频文件仅下载部分内容,如前10秒钟的视频内容,那么就可以仅选择文件F6中包含前10秒钟播放内容的部分,记作F6',作为所选择的文件分片之一。即:本步骤选择的待下载的各文件分片为:F1、F2、F4、和F6',其中F1、F2、F4是完整文件,F6'是文件的一部分。对于非完整文件的文件分片,可以根据相应文件在安装包中的起始位置和结束位置、以及所选择部分,进行相应的计算,从而得到文件分片在安装包中的起始位置和结束位置。
采用这种可以选择部分文件(即:非完整文件)的实施方式,可以减少下载数据量,有助于加快下载过程。安装包下载安装之后,在运行相应程序时可以根据用户观看视频的情况动态、按需加载该视频文件的剩余部分,也是可以的。
步骤204、通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片。
步骤203中已经选择了待下载的文件分片,本步骤可以从服务器下载所选文件分片,在下载之后就可以执行后续的安装、运行等操作了。
具体的,可以向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,其中每个范围信息对包含一个文件分片或者相邻文件分片在所述安装包中的起始位置信息和结束位置信息;根据所述服务器返回的HTTP应答获取所选文件分片。
下面仍沿用步骤203给出的从安装包选择了F1、F2、F4、和F6'四个文件分片的具体例子进行说明。为了便于描述,在本说明书的以下文字中,用Fx(start)表示文件分片Fx在安装包中的开始位置,Fx(end)表示文件分片Fx在安装包中的结束位置。
本步骤可以仅发送一个HTTP请求,并在HTTP请求的Range头部包含对应所选文件分片的范围信息对,每个范围信息对中包含相应分片的起始位置信息和结束位置信息。例如,Range头部包含以下信息:[F1(start),F1(end)],[F2(start),F2(end)],[F4(start),F4(end)],[F6'(start),F6'(end)]。其中,每个[]括号中的内容代表一个范围信息对。如果文件分片F1和F2在安装包中是相邻的文件分片,可以对两者的范围信息对进行合并,例如,Range头部可以包含以下信息:[F1(start),F2(end)],[F4(start),F4(end)],[F6'(start),F6'(end)],也是可以的。
本步骤也可以发送一个以上的HTTP请求,并将对应所选文件分片的范围信息对分别包含在所发送的各HTTP请求的Range头部。例如,第一个HTTP请求的Range头部包含以下信息:[F1(start),F1(end)],[F2(start),F2(end)],第二个HTTP请求的Range头部包含以下信息:[F4(start),F4(end)],[F6'(start),F6'(end)]。同样的道理,如果文件分片F1和F2在安装包中是相邻的文件分片,也可以在第一个HTTP请求的Range头部将文件分片F1和F2的范围信息对进行合并。
通过上述方式,在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,服务器则会返回安装包中位于这些范围信息对所指示位置之间的数据,从而客户端设备可以根据服务器返回的HTTP应答获取所选文件分片。请参见图4,其为上述例子中客户端设备从服务器下载得到所选文件分片的示意图,其中填充了斜线的方框代表安装包中未被选择下载的部分。
优选地,本实施例还提供控制下载顺序的优选实施方式。在执行步骤203之后,在执行本步骤之前,可以根据为预设文件类型设置的下载优选级,确定步骤203所选文件分片的下载顺序,本步骤则可以按照已确定的下载顺序,从所述服务器下载所选文件分片。
所述预设文件类型,包括:提前编译类型、签名验证类型、和/或、提前运行类型。在具体实施时,可以预先为预设文件类型设置不同的下载优先级,从而实现对下载顺序的控制。
例如,对于Android平台的移动应用安装包,其中包含的代码文件为中间码,需要通过编译操作生成相应的机器码,为了在安装过程中进行提前编译,可以为提前编译类型设置高优先级,从而属于该类型的文件分片,例如:代码文件、库文件、编译配置文件等可以优先下载到客户端设备,为尽早进行提前编译提供可能性。同样的道理,对于需要进行签名验证的应用场景,可以为签名验证类型设置高优先级,从而执行签名验证所需的文件分片可以优先下载到客户端设备;对于需要尽快运行预设功能的应用场景,则可以为提前运行类型设置高优先级,从而相关的文件分片可以优先下载到客户端设备,例如:可以设定与首页面对应的文件属于提前运行类型,如果希望尽快展示首页面,则可以为所述提前运行类型设置高优先级,从而可以将首页面对应的文件分片优先下载到客户端设备以便展示。
在具体实施时,所述预设文件类型可以不局限于上面列举的几种,还可以为其他预设文件类型设置优先级;可以仅为一种预设文件类型设置优先级,也可以同时为多种预设文件类型分别设置不同的优先级。例如,可以为签名验证类型设置高优先级,为提前编译类型设置次高优先级,从而可以先下载执行签名验证操作所需的文件分片,后下载与提前编译相关的文件分片,最后再下载其他文件分片。
根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序之后,本步骤则可以通过向服务器发送针对所述安装包的文件分片下载请求,按照已确定的下载顺序,从所述服务器下载所选文件分片。
具体的,可以向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所选文件分片的范围信息对。
仍沿用步骤203中给出的从安装包选择了F1、F2、F4、和F6'四个文件分片的具体例子进行说明,如果根据为预设文件类型设置的下载优选级,确定需要优先下载文件分片F4,随后再下载其他文件分片F1、F2、F6',那么本步骤可以仅发送一个HTTP请求,并在其Range头部包含以下信息:[F4(start),F4(end)],[F1(start),F1(end)],[F2(start),F2(end)],[F6'(start),F6'(end)],同样的道理,也可以将相邻文件分片F1和F2的范围信息对进行合并。
本步骤也可以发送一个以上的HTTP请求。例如:第一个HTTP请求的Range头部包含以下信息:[F4(start),F4(end)],第二个HTTP请求的Range头部包含以下信息:F1(start),F1(end)],[F2(start),F2(end)],[F6'(start),F6'(end)],同样的道理,也可以将相邻文件分片F1和F2的范围信息对进行合并。
本步骤在发送的HTTP请求的Range头部按照已确定的下载顺序包含各范围信息对,从而服务器可以采用发送HTTP应答的方式、按照所述顺序依次返回相应的文件分片,客户端设备则可以根据服务器返回的HTTP应答依次获取所选文件分片,从而为客户端设备执行相应的优化操作提供了可能性,例如:可以尽早开始执行签名校验操作、或者提前编译操作等。请参见图5,其为上述例子中客户端设备从服务器按顺序下载得到文件分片的示意图,其中填充了斜线的方框代表安装包中未被选择下载的部分。
需要说明的是,在上面给出的通过发送Range Request从服务器下载所选文件分片的例子中,对于在Range头部填写的范围信息对都是示意性的,在实际实施时,需要遵循HTTP协议规定的具体格式填写相应的信息。
以上通过步骤201-204对客户端设备的处理过程进行了描述,相应的,在具体实施时,服务器可以通过以下处理过程为客户端设备提供其所需文件分片。
首先,根据接收到的请求,向客户端设备发送安装包的结构描述信息。
对于安装包为自带结构描述信息的压缩文件的应用场景,如果客户端设备通过发送Range Request请求获取安装包的结构描述信息,那么相应的处理过程包括:接收客户端设备发送的针对安装包的HTTP请求;根据所述HTTP请求的Range头部包含的用于获取所述结构描述信息的位置信息,从所述安装包中读取结构描述信息;通过向所述客户端设备发送HTTP应答将读取的结构描述信息返回给所述客户端设备。
然后,根据接收到的针对所述安装包的文件分片下载请求,向所述客户端设备发送所述安装包中的相应文件分片。
例如:接收到的文件分片下载请求中包含对三个文件分片的请求:文件1、文件2和文件3的前512个字节,则可以从安装包中读取这三个文件分片,然后发送给客户端设备即可。
如果客户端设备和服务器预先约定:服务器按照客户端设备的请求顺序发送文件分片,以便客户端设备执行相应的优化操作,那么则可以根据接收到的所述文件分片下载请求所表明的下载顺序,依次向所述客户端设备发送所述安装包中的相应文件分片。例如,文件分片下载请求中依次包含对文件1、文件2和文件3的前512个字节这三个文件分片的请求,表明客户端设备期望的下载顺序是:文件1、文件2、文件3的前512个字节,因此本步骤应该先发送文件1、再发送文件2、最后发送文件3的前512个字节。
对于安装包为自带结构描述信息的压缩文件的应用场景,如果客户端设备通过发送Range Request请求获取所选文件分片,那么发送文件分片的处理过程可以包括:接收客户端设备发送的针对所述安装包的HTTP请求;根据所述HTTP请求的Range头部包含的范围信息对,从所述安装包中读取相应的文件分片;通过向所述客户端设备发送HTTP应答,将读取的相应文件分片返回给所述客户端设备。
具体实施时,服务器接收到的文件分片下载请求可以为一个,也可以是一个以上。对于一个以上的情况上述过程可以重复执行。例如:接收到的第一个HTTP请求的Range头部包含以下信息:[F4(start),F4(end)],则可以将从安装包相应位置读取的数据发送给客户端设备,从而将客户端设备请求的分片F4返回给了客户端设备;接收到的第二个HTTP请求的Range头部包含以下信息:[F1(start),F2(end)],[F6'(start),F6'(end)],则可以将从安装包相应位置读取的数据发送给客户端设备,从而将客户端设备请求的分片F1、F2和F6'返回给了客户端设备。
如果客户端设备和服务器预先约定:服务器按照客户端设备的请求顺序发送文件分片,那么上述通过向所述客户端设备发送HTTP应答,将读取的相应文件分片返回给所述客户端设备的过程,可以为:通过向所述客户端设备发送HTTP应答,将读取的相应文件分片按照在所述HTTP请求的Range头部中的相应顺序、依次返回给所述客户端设备。例如:HTTP请求的Range头部包含以下信息:[F4(start),F4(end)],[F1(start),F2(end)],[F6'(start),F6'(end)],那么本步骤必须先返回客户端设备请求的文件分片F4,然后返回文件分片F1、F2,最后返回F6'。
需要说明的是,如果服务器支持HTTP1.1协议栈,那么上述基于Range Request请求做出响应并返回相应文件分片的处理过程,都可以由实现所述协议栈的模块或者单元完成,服务器不需要执行额外的修改工作,因此采用这种实施方式可以对服务器透明,特别适合于类似Android应用商店这样碎片化严重的服务器。
至此,通过步骤201-204、以及对服务器处理过程的说明,对本实施例提供的方法的实施方式进行了描述。通过上述描述可以看出,本实施例提供的方法,客户端设备通过利用安装包的结构描述信息,并且在服务器的配合下,实现了对安装包内容的可控下载。从而服务器仅需要存储通用安装包(即:与多种平台配置都匹配的安装包),达到了对开发者透明、减轻开发者关于版本配置的负担,以及降低服务器管理复杂度的目的,而且通过可控下载过程,也同时减少了对客户端设备存储空间的占用。特别是在存储空间有限的移动终端设备上实施,有益效果更为显著。
以上提供了本申请的第一种方法的实施例,与之相对应的,下面提供本申请的第一种装置的实施例。请参看图6,其为本申请提供的第一种装置的实施例的示意图,所述装置通常部署于客户端设备。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的装置,包括:结构描述信息获取单元601,用于通过向服务器发送请求,获取安装包的结构描述信息;文件信息确定单元602,用于根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;文件分片选择单元603,用于至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;其中,所述文件分片包括:文件的全部或者部分;文件分片下载单元604,用于通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片。
可选的,所述装置还包括:
下载顺序确定单元,用于在所述文件分片选择单元选择文件分片之后,在所述文件分片下载单元工作之前,根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;
文件分片下载单元,具体用于通过向服务器发送针对所述安装包的文件分片下载请求,按照已确定的下载顺序下载所选文件分片。
可选的,所述安装包为自带结构描述信息的压缩文件。
可选的,所述结构描述信息获取单元,包括:
描述信息请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;
描述信息获取子单元,用于根据所述服务器返回的HTTP应答获取所述结构描述信息。
可选的,所述文件信息确定单元所确定的文件的相关信息包括:文件路径名,和文件在所述安装包中的起始位置和结束位置;
所述文件分片下载单元,包括:
文件分片请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,其中每个范围信息对包含一个文件分片或者相邻文件分片在所述安装包中的起始位置信息和结束位置信息;
文件分片获取子单元,用于根据所述服务器返回的HTTP应答获取所选文件分片。
可选的,所述装置还包括:
下载顺序确定单元,用于在所述文件分片选择单元选择文件分片之后,在所述文件分片下载单元工作之前,根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;
所述文件分片请求子单元,具体用于向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所选文件分片的范围信息对。
可选的,所述文件分片选择单元,具体用于根据所述相关信息以及预设策略,选择安装包中与客户端设备的平台配置信息相匹配的文件分片。
可选的,所述预设策略包括:针对预设文件或者预设类型文件仅下载部分内容。
请参见图7,其为本申请提供的第一种系统示例的示意图。如图7所示,系统700包括上述第一种装置实施例所提供的装置701(在本实施例中称为安装包下载装置)、以及服务器702。
所述安装包下载装置701可以包括:结构描述信息获取单元701-1、文件信息确定单元701-2、文件分片选择单元701-3以及文件分片下载单元701-4,其中各单元的功能请参见之前提供的第一种装置实施例中的说明,此处不再赘述。所述安装包下载装置701可以部署于个人电脑或移动计算设备等客户端设备,所述移动计算设备包括但不局限于:笔记本电脑、平板电脑、移动电话、和/或其他智能设备等。
所述服务器702可以包括:结构描述信息发送单元702-1、文件分片发送单元702-2。
其中,结构描述信息发送单元702-1,用于根据接收到的请求,向客户端设备发送安装包的结构描述信息。在具体实施时,对于安装包为自带结构描述信息的压缩文件的应用场景,所述结构描述信息发送单元702-1可以包括:HTTP请求接收子单元,用于接收客户端设备发送的针对安装包的HTTP请求;结构描述信息读取子单元,用于根据所述HTTP请求的Range头部包含的用于获取所述结构描述信息的位置信息,从所述安装包中读取结构描述信息;结构描述信息返回子单元,用于通过向所述客户端设备发送HTTP应答将读取的结构描述信息返回给所述客户端设备。
文件分片发送单元702-2,用于根据接收到的针对所述安装包的文件分片下载请求,向所述客户端设备发送所述安装包中的相应文件分片。在具体实施时,文件分片发送单元702-2,可以具体用于根据接收到的所述文件分片下载请求所表明的下载顺序,依次向所述客户端设备发送所述安装包中的相应文件分片。在具体实施时,对于所述安装包为自带结构描述信息的压缩文件的应用场景,所述文件分片发送单元702-2可以包括:HTTP请求接收子单元,用于接收客户端设备发送的针对所述安装包的HTTP请求;文件分片读取子单元,用于根据所述HTTP请求的Range头部包含的范围信息对,从所述安装包中读取相应的文件分片;文件分片发送子单元,用于通过向所述客户端设备发送HTTP应答,将读取的相应文件分片返回给所述客户端设备。在具体实施时,所述文件分片发送子单元,可以具体用于通过向所述客户端设备发送HTTP应答,将读取的相应文件分片按照在所述HTTP请求的Range头部中的相应顺序、依次返回给所述客户端设备。
以所述安装包下载装置部署于智能手机为例,所述系统的处理流程如下所示:智能手机向服务器发送获取安装包结构描述信息的请求,服务器返回安装包结构描述信息;智能手机根据所述结构描述信息,确定所述安装包所包含的文件的相关信息,并至少根据所述相关信息,选择安装包中与智能手机的平台配置信息相匹配的文件分片,然后向服务器发送用于获取所选文件分片的文件分片下载请求;服务器接收该请求后,将安装包中的相应文件分片发送给智能手机,从而智能手机获取了安装包中与其平台配置信息相匹配的文件分片。
下面描述第二组实施例,其中包括:本申请提供的第二种方法及装置的实施例,并提供第二种系统示例。本组实施例提供的技术方案与第一组的不同之处主要在于,选择与客户端设备的平台配置信息相匹配的文件分片(以及确定下载顺序)的操作,不是由客户端设备实施,而是由服务器实施。下面对本组的各实施例分别进行描述。
请参考图8,其为本申请提供的第二种方法的实施例的流程图,所述方法通常在服务器上实施,本实施例与之前提供的方法实施例内容相同的部分不再赘述,下面重点描述不同之处。
本实施例提供的方法包括如下步骤:
步骤801、接收客户端设备发送的安装包下载请求,并从所述安装包下载请求中提取客户端设备的平台配置信息。
所述安装包下载请求中,通常携带被请求安装包的地址信息,例如:URL,还可以携带客户端设备的平台配置信息,本步骤从接收到的安装包下载请求中提取客户端设备的平台配置信息。
步骤802、获取被请求安装包所包含文件的相关信息,所述相关信息是根据被请求安装包的结构描述信息提取的。
在具体实施时,可以在执行步骤801之前,预先根据所述被请求安装包的结构描述信息提取其所包含文件的相关信息并存储,本步骤直接读取已存储的信息即可;也可以在本步骤执行时,通过分析被请求安装包的结构描述信息提取其所包含文件的相关信息。
步骤803、至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片。
本步骤也可以根据所述相关信息以及预设策略,选择被请求安装包中与所述平台配置信息相匹配的文件分片。所述预设策略包括:针对预设文件或者预设类型文件仅下载部分内容。
对于被请求安装包为自带结构描述信息的压缩文件的应用场景,所述文件的相关信息,包括:文件路径名,和文件在被请求安装包中的起始位置和结束位置。如果所选择的某文件分片非完整文件,可以根据相应文件在被请求安装包中的起始位置和结束位置、以及所选择部分,进行相应的计算,从而得到所述文件分片在被请求安装包中的起始位置和结束位置。
步骤804、将所选文件分片发送给所述客户端设备。
对于被请求安装包为自带结构描述信息的压缩文件的应用场景,如果步骤801接收客户端设备发送的获取安装包的HTTP请求后,步骤802获取了被请求安装包所包含文件的相关信息,步骤803选择出与客户端设备的平台配置信息相匹配的文件分片,本步骤则可以根据所选文件分片在被请求安装包中的起始位置和结束位置,从被请求安装包中读取相应文件分片,然后通过向客户端设备发送HTTP应答的方式将读取的相应文件分片返回给客户端设备。
优选地,在执行步骤803之后,在执行本步骤之前,可以根据为预设文件类型设置的下载优先级,确定所选文件分片的发送顺序,本步骤则按照已确定的发送顺序,将所选文件分片发送给所述客户端设备,从而为客户端设备根据优先接收到的文件分片执行相应的优化操作,提供了可能性。
以上通过步骤801-804对服务器的处理过程进行了描述,相应的,在具体实施时,客户端设备可以通过以下处理过程获取文件分片。
首先,向服务器发送安装包下载请求,所述请求中携带客户端设备的平台配置信息。
由于从安装包中选择文件分片的操作由服务器完成,因此客户端设备在向服务器发送安装包下载请求时,不仅可以携带安装包的地址信息,还可以携带客户端设备的平台配置信息,例如:可以发送下载安装包的HTTP请求,并在请求的参数中包含客户端设备的平台配置信息。
然后,根据所述服务器返回的应答获取各文件分片,所述文件分片是被请求安装包包含的、与所述平台配置信息相匹配的文件的全部或者部分。
服务器返回的应答可以是一个或者多个。例如:在采用HTTP协议发送安装包下载请求之后,服务器返回多个HTTP应答,则可以每接收到一个HTTP应答,就执行相应的读取操作,获取基于该应答返回的相应文件分片。
在具体实施时,服务器可以根据客户端设备的优化需求、按照特定的顺序返回各文件分片,相应的,客户端设备可以根据服务器返回的应答,依次获取服务器发送的被请求安装包中的文件分片,从而客户端设备可以根据优先下载的文件分片执行所需的优化操作。
至此,通过上述步骤801-804、以及对客户端设备处理过程的说明,对本实施例提供的方法的实施方式进行了描述。通过上述描述可以看出,服务器在接收客户端设备的安装包下载请求后,动态地从被请求安装包中选择与客户端设备的平台配置信息相匹配的文件分片并发送给客户端设备,实现了安装包的可控下载过程。采用上述技术方案,服务器仅需要存储通用安装包,达到了对开发者透明、减轻开发者关于版本配置的负担,以及降低服务器管理复杂度的目的,而且通过可控下载过程,也同时减少了对客户端设备存储空间的占用。
以上提供了本申请的第二种方法的实施例,与之相对应的,下面提供本申请的第二种装置的实施例,所述装置通常部署于服务器。请参看图9,其为本申请提供的第二种装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的装置,包括:下载请求接收单元901,用于接收客户端设备发送的安装包下载请求,并从所述安装包下载请求中提取客户端设备的平台配置信息;文件信息获取单元902,用于获取被请求安装包所包含文件的相关信息,所述相关信息是根据被请求安装包的结构描述信息提取的;文件分片选择单元903,用于至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片;文件分片发送单元904,用于将所选文件分片发送给所述客户端设备。
可选的,其特征在于,所述装置还包括:
发送顺序确定单元,用于在所述文件分片选择单元选择文件分片之后,在所述文件分片发送单元工作之前,根据为预设文件类型设置的下载优先级,确定所选文件分片的发送顺序;
所述文件分片发送单元,具体用于按照已确定的发送顺序,将所选文件分片发送给所述客户端设备。
可选的,所述文件分片选择单元,具体用于根据所述相关信息以及预设策略,选择被请求安装包中与所述平台配置信息相匹配的文件分片。
可选的,所述被请求安装包为自带结构描述信息的压缩文件;所述文件信息获取单元所获取的文件的相关信息,包括:文件路径名,和文件在所述被请求安装包中的起始位置和结束位置;
所述文件分片发送单元,具体用于根据所选文件分片在所述被请求安装包中的起始位置和结束位置,从所述被请求安装包中读取所选文件分片,并发送给所述客户端设备。
请参见图10,其为本申请提供的第二种系统示例的示意图。如图10所示,系统1000包括客户端设备1001,以及上述第二种装置实施例所提供的装置1002(在本实施例中称为安装包提供装置)。
所述客户端设备1001可以包括:下载请求发送单元1001-1,以及文件分片获取单元1001-2。其中,下载请求发送单元1001-1,用于向服务器发送安装包下载请求,所述请求中携带客户端设备的平台配置信息;文件分片获取单元1001-2,用于根据所述服务器返回的应答获取各文件分片,所述文件分片是被请求安装包包含的、与所述平台配置信息相匹配的文件的全部或者部分。
所述安装包提供装置1002包括:下载请求接收单元1002-1,文件信息获取单元1002-2,文件分片选择单元1002-3,以及文件分片发送单元1002-4,其中各单元的功能请参见之前提供的第二种装置实施例中的说明,此处不再赘述。
在具体实施时,所述客户端设备1001可以为个人电脑或移动计算设备等客户端设备,所述移动计算设备包括但不局限于:笔记本电脑、平板电脑、移动电话、和/或其他智能设备等;所述安装包提供装置1002可以部署于服务器。
下面描述第三组实施例,其中包括:本申请提供的第三种方法及装置的实施例,并提供第三种系统示例。本组实施例提供的技术方案与之前两组的不同之处在于:客户端设备通过选择安装包中各文件的下载顺序,实现针对文件顺序的可控下载。其中,服务器存储的可以是通用安装包,也可以是针对不同平台配置的各个瘦身版本安装包,即:安装包变体。
请参考图11,其为本申请提供的第三种方法的实施例的流程图,所述方法通常在客户端设备上实施。本实施例与之前提供的方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例提供的方法包括以下步骤:
步骤1101、通过向服务器发送请求,获取安装包的结构描述信息。
根据服务器提供安装包的方式不同,所述安装包可以是通用安装包,也可以是适用于客户端设备的瘦身版本安装包。对于后者,本步骤在向服务器发送用于获取安装包结构描述信息的请求时,可以不仅携带安装包的地址信息,例如:URL,还可以携带客户端设备的平台配置信息,从而服务器可以将相应安装包的结构描述信息返回给客户端设备。
优选地,对于安装包为自带结构描述信息的压缩文件的应用场景,本步骤可以采用发送Range Request的方式获取安装包的结构描述信息,即:向服务器发送针对所述安装包的HTTP请求,并在所述HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;根据所述服务器返回的HTTP应答获取所述结构描述信息。
步骤1102、根据所述结构描述信息,确定所述安装包所包含的文件的相关信息。
步骤1103、至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序。
具体实施时,对于请求瘦身版本安装包的应用场景,本步骤可以根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序,从而客户端设备可以尽快获取需要优先下载的文件并执行相应的优化操作;对于请求通用安装包的应用场景,本步骤则可以根据为预设文件类型设置的下载优先级以及客户端设备的平台配置信息,确定所述文件的下载顺序,例如,预先为提前编译类型设置了高优先级,那么本步骤可以从属于提前编译类型的文件中,进一步选择与客户端设备的平台配置信息相匹配的文件,并将这部分文件的下载顺序设置为优先下载,从而客户端设备可以尽快获取与自己的平台配置信息相匹配的、需要优先下载的文件并执行相应的优化操作,而且可以减少对网络带宽的占用。
步骤1104、按照已确定的下载顺序,从所述服务器下载所述文件。
可以按照已确定的下载顺序,依次向服务器发送请求,从而按照所述顺序获取所述文件。
优选地,对于安装包为自带结构描述信息的压缩文件的应用场景,可以采用发送Range Request的方式实现本步骤的按顺序下载,即:向服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述待下载安装包中获取所述文件的范围信息对,其中每个范围信息对包含一个文件或者相邻文件在所述安装包中的起始位置信息和结束位置信息;根据所述服务器返回的HTTP应答依次获取所述安装包所包含的文件。
以上通过步骤1101-1104对客户端设备的处理过程进行了描述,相应的,在具体实施时,服务器可以通过以下处理过程为客户端设备按照特定顺序提供安装包中的文件。
首先,根据接收到的请求,向客户端设备发送安装包的结构描述信息。
所述安装包可以是通用安装包,也可以是根据所述请求中携带的客户端设备的平台配置信息所确定的瘦身版本安装包。
优选地,对于安装包为自带结构描述信息的压缩文件的应用场景,相应的处理过程可以包括:接收客户端发送的针对安装包的HTTP请求;根据所述HTTP请求的Range头部包含的用于获取结构描述信息的位置信息,从所述安装包中读取结构描述信息;通过向所述客户端设备发送HTTP应答将读取的结构描述信息返回给所述客户端设备。
然后,根据接收到的针对所述安装包的文件下载请求所表明的下载顺序,依次向所述客户端设备发送所述安装包中的相应文件。
优选地,对于安装包为自带结构描述信息的压缩文件的应用场景,相应的处理过程可以包括:接收客户端设备发送的针对所述安装包的HTTP请求;根据所述HTTP请求的Range头部包含的范围信息对,从所述安装包中读取相应的文件;通过向所述客户端设备发送HTTP应答,将读取的相应文件按照在所述HTTP请求的Range头部中的相应顺序、依次返回给所述客户端设备。对于客户端设备发送多次Range Request请求的情况,上述处理过程可以多次执行。
至此,通过步骤1101-1104、以及对服务器处理过程的说明,对本实施例提供的方法的实施方式进行了描述。通过上述描述可以看出,在服务器的配合下,客户端设备通过确定安装包中所包含文件的下载顺序并按顺序下载所述文件,实现了下载顺序的可控,为客户端设备执行相应的优化操作提供了可能性,例如:可以尽早开始执行签名校验操作、或者提前编译操作等。特别是,对于支持HTTP1.1协议栈的服务器,基于Range Request请求做出响应并返回相应文件的处理过程,都可以由实现所述协议栈的模块或者单元完成,服务器不需要执行额外的修改工作,因此采用本实施例提供的方法可以对服务器透明,特别适合于类似Android应用商店这样碎片化严重的服务器。
以上提供了本申请的第三种方法的实施例,与之相对应的,下面提供本申请的第三种装置的实施例,所述装置通常部署于客户端设备。请参看图12,其为本申请提供的第三种装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的装置,包括:结构描述信息获取单元1201,用于通过向服务器发送请求,获取安装包的结构描述信息;文件信息确定单元1202,用于根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;下载顺序确定单元1203,用于至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序;文件下载单元1204,用于按照已确定的下载顺序,从所述服务器下载所述文件。
可选的,所述安装包为自带结构描述信息的压缩文件。
可选的,所述结构描述信息获取单元,包括:
描述信息请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在所述HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;
描述信息获取子单元,用于根据所述服务器返回的HTTP应答获取所述结构描述信息。
可选的,所述文件下载单元,包括:
文件请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述待下载安装包中获取所述文件的范围信息对,其中每个范围信息对包含一个文件或者相邻文件在所述安装包中的起始位置信息和结束位置信息;
文件获取子单元,用于根据所述服务器返回的HTTP应答依次获取所述安装包所包含的文件。
请参见图13,其为本申请提供的第三种系统示例的示意图。如图13所示,系统1300包括上述第三种装置实施例所提供的装置1301(在本实施例中称为安装包下载装置)、以及服务器1302。
所述安装包下载装置1301包括:结构描述信息获取单元1301-1,文件信息确定单元1301-2,下载顺序确定单元1301-3,文件下载单元1301-4,其中各单元的功能请参见之前提供的第五种装置实施例中的说明,此处不再赘述。所述安装包下载装置1301可以部署于个人电脑或移动计算设备等客户端设备,所述移动计算设备包括但不局限于:笔记本电脑、平板电脑、移动电话、和/或其他智能设备等。
所述服务器1302包括:结构描述信息发送单元1302-1,下载文件发送单元1302-2。
其中,结构描述信息发送单元1302-1,用于根据接收到的请求,向客户端发送安装包的结构描述信息。在具体实施时,对于安装包为自带结构描述信息的压缩文件的应用场景,结构描述信息发送单元1302-1可以包括:HTTP请求接收子单元,用于接收客户端发送的针对安装包的HTTP请求;结构描述信息读取子单元,用于根据所述HTTP请求的Range头部包含的用于获取结构描述信息的位置信息,从所述安装包中读取结构描述信息;结构描述信息返回子单元,用于通过向所述客户端设备发送HTTP应答将读取的结构描述信息返回给所述客户端设备。
下载文件发送单元1302-2,用于根据接收到的针对所述安装包的文件下载请求所表明的下载顺序,依次向所述客户端设备发送所述安装包中的相应文件。在具体实施时,对于所述安装包为自带结构描述信息的压缩文件的应用场景,下载文件发送单元1302-2,可以包括:HTTP请求接收子单元,用于接收客户端设备发送的针对所述安装包的HTTP请求;文件读取子单元,用于根据所述HTTP请求的Range头部包含的范围信息对,从所述安装包中读取相应的文件;文件发送子单元,用于通过向所述客户端设备发送HTTP应答,将读取的相应文件按照在所述HTTP请求的Range头部中的相应顺序、依次返回给所述客户端设备。
此外,本申请还提供了一种系统的实施例,请参考图14,其示出了本申请提供的一种系统的实施例的示意图。
系统1400,可以包括:处理器1401,与所述处理器耦合的系统控制单元1402,与所述系统控制单元耦合的系统内存(System Memory)1403,与所述系统控制单元耦合的非易失存储器(NonVolatile Memory—NVM)或存储设备1404,以及与所述系统控制单元耦合的网络接口1405。
所述处理器1401可以包括至少一个处理器,每个处理器可以是单核处理器或者多核处理器。所述处理器1401可以包括通用处理器和专用处理器(例如,图形处理器、应用处理器、基带处理器等)的任意组合。
所述系统控制单元1402可以包括任何相应的接口控制器,为所述处理器1401中的至少一个处理器,和/或,任何与所述系统控制单元1402通信的设备或组件,提供接口。
所述系统控制单元1402可以包括为所述系统内存1403提供接口的至少一个内存控制器。所述系统内存1403可以用于加载并存储数据和/或指令。所述系统内存1403可以包括任何易失性存储器,例如,动态随机存取存储器(dynamic random access memory—DRAM)。
所述非易失存储器或存储设备1404可以包括至少一个有形的、永久性的计算机可读介质,所述计算机可读介质用于存储数据和/或指令。所述非易失存储器或存储设备1404可以包括任何形式的非易失存储器,例如,闪存(flash memory),和/或,任何非易失存储设备,例如,至少一个硬盘驱动器(hard disk drive—HDD)、至少一个光盘驱动器、和/或、至少一个数字多功能磁盘(digital versatile disk—DVD)驱动器。
所述系统内存1403和所述非易失存储器或存储设备1404可以分别存储有指令1407的暂时性副本和持久性副本。当所述指令1407中的指令被处理器1401中的至少一个处理器执行时,可以导致所述系统1400执行图2、图8、图11所示的任一方法。
所述网络接口1405可以包括为所述系统1400提供无线接口的收发器,所述系统1400可以通过无线接口实现跨网络的通信,和/或与其他设备通信。所述网络接口1405可以包括任何硬件和/或固件。所述网络接口1405可以包括提供多输入、多输出无线接口的多个天线。在具体实施时,所述网络接口1405可以为网络适配器、无线网络适配器、电话调制解调器、和/或无线调制解调器。
在具体实施时,所述处理器1401中的至少一个处理器可以与所述系统控制单元1402中的至少一个控制器的控制逻辑封装在一起。在具体实施时,所述处理器1401中的至少一个处理器可以与所述系统控制单元1402中的至少一个控制器的控制逻辑封装在一起,形成系统封装(System in Package—SiP)。在具体实施时,所述处理器1401中的至少一个处理器可以与所述系统控制单元1402中的至少一个控制器的控制逻辑集成在同一个芯片上。在具体实施时,所述处理器1401中的至少一个处理器可以与所述系统控制单元1402中的至少一个控制器的控制逻辑集成在同一个芯片上,形成片上系统(System on Chip—SoC)。
所述系统1400可以进一步包括输入/输出(I/O)设备1406。所述输入/输出设备1406可以包括供用户与所述系统1400进行交互的用户接口,和/或供外围组件和所述系统1400交互的外围组件接口。
在不同的实施方式中,用户接口可以包括但不局限于:显示器(例如,液晶显示器,触摸屏显示器等)、扬声器、麦克风、至少一个摄像装置(例如相机、和/或摄像机)、闪光灯、以及键盘。
在不同的实施方式中,外围组件接口可以包括但不局限于:非易失性存储器端口、音频插孔、以及电源接口。
在不同的实施方式中,所述系统1400可以部署于个人电脑、移动计算设备等电子设备上,所述移动计算设备可以包括但不局限于:笔记本电脑、平板电脑、移动电话、和/或其他智能设备等。在不同的实施方式中,所述系统1400可以包括更多或更少的组件,和/或不同的架构。
本说明书可以包括多种以下所揭示的示范实施例。
在示范实施例1中,一种在客户端设备上实施的方法可以包括:通过向服务器发送请求,获取安装包的结构描述信息;根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片;其中,所述文件分片包括:文件的全部或者部分。
在示范实施例2中,示范实施例1在选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片之后,在下载所选文件分片之前,包括:根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;所述下载所选文件分片,包括:按照已确定的下载顺序下载所选文件分片。
在示范实施例3中,示范实施例1-2的任一实施例所述的安装包为自带结构描述信息的压缩文件。
在示范实施例4中,示范实施例1-3的任一实施例所述的通过向服务器发送请求,获取安装包的结构描述信息,包括:向所述服务器发送针对所述安装包的HTTP请求,并在HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;根据所述服务器返回的HTTP应答获取所述结构描述信息。
在示范实施例5中,示范实施例1-4的任一实施例所述的文件的相关信息,包括:文件路径名,和文件在所述安装包中的起始位置和结束位置;所述通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片,包括:向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,其中每个范围信息对包含一个文件分片或者相邻文件分片在所述安装包中的起始位置信息和结束位置信息;根据所述服务器返回的HTTP应答获取所选文件分片。
在示范实施例6中,示范实施例1-5的任一实施例在选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片之后,在从所述服务器下载所选文件分片之前,包括:根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;所述向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,包括:向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所选文件分片的范围信息对。
在示范实施例7中,示范实施例1-6的任一实施例所述的至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片,包括:根据所述相关信息以及预设策略,选择安装包中与客户端设备的平台配置信息相匹配的文件分片。
在示范实施例8中,示范实施例1-7的任一实施例所述的预设策略,包括:针对预设文件或者预设类型文件仅下载部分内容。
在示范实施例9中,一种在客户端设备上部署的装置可以包括:结构描述信息获取单元,用于通过向服务器发送请求,获取安装包的结构描述信息;文件信息确定单元,用于根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;文件分片选择单元,用于至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;其中,所述文件分片包括:文件的全部或者部分;文件分片下载单元,用于通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片。
在示范实施例10中,示范实施例9还包括:下载顺序确定单元,用于在所述文件分片选择单元选择文件分片之后,在所述文件分片下载单元工作之前,根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;文件分片下载单元,具体用于通过向服务器发送针对所述安装包的文件分片下载请求,按照已确定的下载顺序下载所选文件分片。
在示范实施例11中,示范实施例9-10的任一实施例所述的安装包为自带结构描述信息的压缩文件。
在示范实施例12中,示范实施例9-11的任一实施例所述的结构描述信息获取单元,包括:描述信息请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;描述信息获取子单元,用于根据所述服务器返回的HTTP应答获取所述结构描述信息。
在示范实施例13中,示范实施例9-12的任一实施例所述的文件信息确定单元所确定的文件的相关信息包括:文件路径名,和文件在所述安装包中的起始位置和结束位置;所述文件分片下载单元,包括:文件分片请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,其中每个范围信息对包含一个文件分片或者相邻文件分片在所述安装包中的起始位置信息和结束位置信息;文件分片获取子单元,用于根据所述服务器返回的HTTP应答获取所述各文件分片。
在示范实施例14中,示范实施例9-13的任一实施例还包括:下载顺序确定单元,用于在所述文件分片选择单元选择文件分片之后,在所述文件分片下载单元工作之前,根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;所述文件分片请求子单元,具体用于向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所选文件分片的范围信息对。
在示范实施例15中,示范实施例9-14的任一实施例所述的文件分片选择单元,具体用于根据所述相关信息以及预设策略,选择安装包中与客户端设备的平台配置信息相匹配的文件分片。
在示范实施例16中,示范实施例9-15的任一实施例所述的预设策略包括:针对预设文件或者预设类型文件仅下载部分内容。
在示范实施例17中,一种在服务器上实施的方法可以包括:接收客户端设备发送的安装包下载请求,并从所述安装包下载请求中提取客户端设备的平台配置信息;获取被请求安装包所包含文件的相关信息,所述相关信息是根据被请求安装包的结构描述信息提取的;至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片;将所选文件分片发送给所述客户端设备。
在示范实施例18中,示范实施例17在选择被请求安装包中与所述平台配置信息相匹配的文件分片之后,在将所选文件分片发送给所述客户端设备之前,包括:根据为预设文件类型设置的下载优先级,确定所选文件分片的发送顺序;所述将所选文件分片发送给所述客户端设备,包括:按照已确定的发送顺序,将所选文件分片发送给所述客户端设备。
在示范实施例19中,示范实施例17-18的任一实施例所述的至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片,包括:根据所述相关信息以及预设策略,选择被请求安装包中与所述平台配置信息相匹配的文件分片。
在示范实施例20中,示范实施例17-19的任一实施例所述的被请求安装包为自带结构描述信息的压缩文件;所述文件的相关信息,包括:文件路径名,和文件在所述被请求安装包中的起始位置和结束位置;所述将所选文件分片发送给所述客户端设备,包括:根据所选文件分片在所述被请求安装包中的起始位置和结束位置,从所述被请求安装包中读取所选文件分片,并发送给所述客户端设备。
在示范实施例21中,一种在服务器上部署的装置可以包括:下载请求接收单元,用于接收客户端设备发送的安装包下载请求,并从所述安装包下载请求中提取客户端设备的平台配置信息;文件信息获取单元,用于获取被请求安装包所包含文件的相关信息,所述相关信息是根据被请求安装包的结构描述信息提取的;文件分片选择单元,用于至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片;文件分片发送单元,用于将所选文件分片发送给所述客户端设备。
在示范实施例22中,示范实施例21还包括:发送顺序确定单元,用于在所述文件分片选择单元选择文件分片之后,在所述文件分片发送单元工作之前,根据为预设文件类型设置的下载优先级,确定所选文件分片的发送顺序;所述文件分片发送单元,具体用于按照已确定的发送顺序,将所选文件分片发送给所述客户端设备。
在示范实施例23中,示范实施例21-22的任一实施例所述的文件分片选择单元,具体用于根据所述相关信息以及预设策略,选择被请求安装包中与所述平台配置信息相匹配的文件分片。
在示范实施例24中,示范实施例21-23的任一实施例所述的被请求安装包为自带结构描述信息的压缩文件;所述文件信息获取单元所获取的文件的相关信息,包括:文件路径名,和文件在所述被请求安装包中的起始位置和结束位置;所述文件分片发送单元,具体用于根据所选文件分片在所述被请求安装包中的起始位置和结束位置,从所述被请求安装包中读取所选文件分片,并发送给所述客户端设备。
在示范实施例25中,一种在客户端设备上实施的方法可以包括:通过向服务器发送请求,获取安装包的结构描述信息;根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序;按照已确定的下载顺序,从所述服务器下载所述文件。
在示范实施例26中,示范实施例25所述的安装包为自带结构描述信息的压缩文件。
在示范实施例27中,示范实施例25-26的任一实施例所述的通过向服务器发送请求,获取安装包的结构描述信息,包括:向所述服务器发送针对所述安装包的HTTP请求,并在所述HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;根据所述服务器返回的HTTP应答获取所述结构描述信息。
在示范实施例28中,示范实施例25-27的任一实施例所述的按照已确定的下载顺序,从所述服务器下载所述文件,包括:向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所述文件的范围信息对,其中每个范围信息对包含一个文件或者相邻文件在所述安装包中的起始位置信息和结束位置信息;根据所述服务器返回的HTTP应答依次获取所述安装包所包含的文件。
在示范实施例29中,示范实施例25-28的任一实施例所述的安装包为通用安装包;所述至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序,包括:根据为预设文件类型设置的下载优先级以及客户端设备的平台配置信息,确定所述文件的下载顺序。
在示范实施例30中,一种在服务器上部署的装置可以包括:结构描述信息获取单元,用于通过向服务器发送请求,获取安装包的结构描述信息;文件信息确定单元,用于根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;下载顺序确定单元,用于至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序;文件下载单元,用于按照已确定的下载顺序,从所述服务器下载所述文件。
在示范实施例31中,示范实施例30所述的安装包为自带结构描述信息的压缩文件。
在示范实施例32中,示范实施例30-31的任一实施例所述的结构描述信息获取单元,包括:描述信息请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在所述HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;描述信息获取子单元,用于根据所述服务器返回的HTTP应答获取所述结构描述信息。
在示范实施例33中,示范实施例30-32的任一实施例所述的文件下载单元,包括:文件请求子单元,用于向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述待下载安装包中获取所述文件的范围信息对,其中每个范围信息对包含一个文件或者相邻文件在所述安装包中的起始位置信息和结束位置信息;文件获取子单元,用于根据所述服务器返回的HTTP应答依次获取所述安装包所包含的文件。
在示范实施例34中,一种机器可读介质可以存储指令,所述指令被处理器读取执行时,执行示范实施例1-8的任一实施例所述的方法。
在示范实施例35中,一种机器可读介质可以存储指令,所述指令被处理器读取执行时,执行示范实施例17-20的任一实施例所述的方法。
在示范实施例36中,一种机器可读介质可以存储指令,所述指令被处理器读取执行时,执行示范实施例25-29的任一实施例所述的方法。
在示范实施例37中,一种系统可以包括:处理器,以及存储器,所述存储器用于存储指令,所述指令在被所述处理器读取执行时,执行示范实施例1-8的任一实施例所述的方法。
在示范实施例38中,一种系统可以包括:处理器,以及存储器,所述存储器用于存储指令,所述指令在被所述处理器读取执行时,执行示范实施例17-20的任一实施例所述的方法。
在示范实施例39中,一种系统可以包括:处理器,以及存储器,所述存储器用于存储指令,所述指令在被所述处理器读取执行时,执行示范实施例25-29的任一实施例所述的方法。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (23)
1.一种方法,其特征在于,所述方法在客户端设备上实施,包括:
通过向服务器发送请求,获取安装包的结构描述信息;
根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;
至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片;
通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片;
其中,所述文件分片包括:文件的全部或者部分。
2.根据权利要求1所述的方法,其特征在于,在选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片之后,在下载所选文件分片之前,包括:
根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;
所述下载所选文件分片,包括:
按照已确定的下载顺序下载所选文件分片。
3.根据权利要求1所述的方法,其特征在于,所述安装包为自带结构描述信息的压缩文件。
4.根据权利要求3所述的方法,其特征在于,所述通过向服务器发送请求,获取安装包的结构描述信息,包括:
向所述服务器发送针对所述安装包的超文本传输协议(HTTP)请求,并在HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;
根据所述服务器返回的HTTP应答获取所述结构描述信息。
5.根据权利要求3所述的方法,其特征在于,所述文件的相关信息,包括:文件路径名,和文件在所述安装包中的起始位置和结束位置;
所述通过向服务器发送针对所述安装包的文件分片下载请求,下载所选文件分片,包括:
向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,其中每个范围信息对包含一个文件分片或者相邻文件分片在所述安装包中的起始位置信息和结束位置信息;
根据所述服务器返回的HTTP应答获取所选文件分片。
6.根据权利要求5所述的方法,其特征在于,在选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片之后,在从所述服务器下载所选文件分片之前,包括:根据为预设文件类型设置的下载优先级,确定所选文件分片的下载顺序;
所述向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部包含用于指示从所述安装包中获取所选文件分片的范围信息对,包括:
向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所选文件分片的范围信息对。
7.根据权利要求1所述的方法,其特征在于,所述至少根据所述相关信息,选择所述安装包中与客户端设备的平台配置信息相匹配的文件分片,包括:
根据所述相关信息以及预设策略,选择安装包中与客户端设备的平台配置信息相匹配的文件分片。
8.根据权利要求7所述的方法,其特征在于,所述预设策略,包括:针对预设文件或者预设类型文件仅下载部分内容。
9.一种方法,其特征在于,所述方法在服务器上实施,包括:
接收客户端设备发送的安装包下载请求,并从所述安装包下载请求中提取客户端设备的平台配置信息;
获取被请求安装包所包含文件的相关信息,所述相关信息是根据被请求安装包的结构描述信息提取的;
至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片;
将所选文件分片发送给所述客户端设备。
10.根据权利要求9所述的方法,其特征在于,在选择被请求安装包中与所述平台配置信息相匹配的文件分片之后,在将所选文件分片发送给所述客户端设备之前,包括:
根据为预设文件类型设置的下载优先级,确定所选文件分片的发送顺序;
所述将所选文件分片发送给所述客户端设备,包括:
按照已确定的发送顺序,将所选文件分片发送给所述客户端设备。
11.根据权利要求9所述的方法,其特征在于,所述至少根据所述相关信息,选择被请求安装包中与所述平台配置信息相匹配的文件分片,包括:
根据所述相关信息以及预设策略,选择被请求安装包中与所述平台配置信息相匹配的文件分片。
12.根据权利要求9所述的方法,其特征在于,所述被请求安装包为自带结构描述信息的压缩文件;
所述文件的相关信息,包括:文件路径名,和文件在所述被请求安装包中的起始位置和结束位置;
所述将所选文件分片发送给所述客户端设备,包括:
根据所选文件分片在所述被请求安装包中的起始位置和结束位置,从所述被请求安装包中读取所选文件分片,并发送给所述客户端设备。
13.一种方法,其特征在于,所述方法在客户端设备上实施,包括:
通过向服务器发送请求,获取安装包的结构描述信息;
根据所述结构描述信息,确定所述安装包所包含的文件的相关信息;
至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序;
按照已确定的下载顺序,从所述服务器下载所述文件。
14.根据权利要求13所述的方法,其特征在于,所述安装包为自带结构描述信息的压缩文件。
15.根据权利要求14所述的方法,其特征在于,所述通过向服务器发送请求,获取安装包的结构描述信息,包括:
向所述服务器发送针对所述安装包的HTTP请求,并在所述HTTP请求的Range头部包含用于获取所述结构描述信息的位置信息;
根据所述服务器返回的HTTP应答获取所述结构描述信息。
16.根据权利要求14所述的方法,其特征在于,所述按照已确定的下载顺序,从所述服务器下载所述文件,包括:
向所述服务器发送针对所述安装包的HTTP请求,并在所发送的HTTP请求的Range头部按照已确定的下载顺序、依次包含用于指示从所述安装包中获取所述文件的范围信息对,其中每个范围信息对包含一个文件或者相邻文件在所述安装包中的起始位置信息和结束位置信息;
根据所述服务器返回的HTTP应答依次获取所述安装包所包含的文件。
17.根据权利要求13所述的方法,其特征在于,所述安装包为通用安装包;所述至少根据为预设文件类型设置的下载优先级,确定所述文件的下载顺序,包括:根据为预设文件类型设置的下载优先级以及客户端设备的平台配置信息,确定所述文件的下载顺序。
18.一种机器可读介质,其特征在于,所述机器可读介质存储指令,所述指令被处理器读取执行时,执行如权利要求1-8任一项所述的方法。
19.一种机器可读介质,其特征在于,所述机器可读介质存储指令,所述指令被处理器读取执行时,执行如权利要求9-12任一项所述的方法。
20.一种机器可读介质,其特征在于,所述机器可读介质存储指令,所述指令被处理器读取执行时,执行如权利要求13-17任一项所述的方法。
21.一种系统,其特征在于,包括:
处理器;
存储器,用于存储指令,所述指令在被所述处理器读取执行时,执行如权利要求1-8任一项所述的方法。
22.一种系统,其特征在于,包括:
处理器;
存储器,用于存储指令,所述指令在被所述处理器读取执行时,执行如权利要求9-12任一项所述的方法。
23.一种系统,其特征在于,包括:
处理器;
存储器,用于存储指令,所述指令在被所述处理器读取执行时,执行如权利要求13-17任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611051362.9A CN108111555B (zh) | 2016-11-25 | 2016-11-25 | 用于控制安装包下载过程的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611051362.9A CN108111555B (zh) | 2016-11-25 | 2016-11-25 | 用于控制安装包下载过程的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111555A true CN108111555A (zh) | 2018-06-01 |
CN108111555B CN108111555B (zh) | 2021-07-27 |
Family
ID=62204073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611051362.9A Active CN108111555B (zh) | 2016-11-25 | 2016-11-25 | 用于控制安装包下载过程的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111555B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040191A (zh) * | 2018-07-03 | 2018-12-18 | 平安科技(深圳)有限公司 | 文件下载方法、装置、计算机设备和存储介质 |
CN109495271A (zh) * | 2018-10-19 | 2019-03-19 | 北京梆梆安全科技有限公司 | 比较apk文件方法、装置、服务器及其存储介质 |
CN109522041A (zh) * | 2018-10-15 | 2019-03-26 | 网易(杭州)网络有限公司 | 客户端资源更新方法、装置、处理器、服务器及终端 |
CN109656597A (zh) * | 2018-12-19 | 2019-04-19 | 广东美的暖通设备有限公司 | 固件升级方法、装置及计算机可读存储介质 |
CN110209401A (zh) * | 2019-05-28 | 2019-09-06 | 北京小米移动软件有限公司 | 应用程序的加载方法及装置 |
CN111049870A (zh) * | 2018-10-15 | 2020-04-21 | 华为技术有限公司 | 应用下载和发送的方法、装置及系统 |
CN111343225A (zh) * | 2018-12-19 | 2020-06-26 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
CN113377424A (zh) * | 2021-06-23 | 2021-09-10 | 支付宝(杭州)信息技术有限公司 | 一种安装包处理方法、装置以及设备 |
CN113631236A (zh) * | 2019-04-03 | 2021-11-09 | 索尼互动娱乐股份有限公司 | 信息处理设备及安装方法 |
CN114707123A (zh) * | 2022-04-22 | 2022-07-05 | 北京时代亿信科技股份有限公司 | 软件安装包的验证方法及装置、非易失性存储介质 |
WO2024021998A1 (zh) * | 2022-07-25 | 2024-02-01 | 华为云计算技术有限公司 | 一种数据包传输方法、装置及计算机设备 |
WO2024109471A1 (zh) * | 2022-11-22 | 2024-05-30 | 华为技术有限公司 | 软件包的下载方法、电子设备以及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008899A (zh) * | 2007-01-26 | 2007-08-01 | 上海华为技术有限公司 | 通信设备中软件版本升级的方法及装置 |
CN101286169A (zh) * | 2007-04-13 | 2008-10-15 | 奥多比公司 | 协调内容的下载顺序的客户端管理 |
CN101984691A (zh) * | 2010-10-25 | 2011-03-09 | 东莞宇龙通信科技有限公司 | 系统内置软件的升级方法和移动终端 |
CN102129380A (zh) * | 2011-03-10 | 2011-07-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种服务器及提供软件的方法、移动终端 |
CN102663073A (zh) * | 2012-03-31 | 2012-09-12 | 奇智软件(北京)有限公司 | 基于被下载文件进行推荐的方法及系统 |
CN102843400A (zh) * | 2011-06-23 | 2012-12-26 | 珠海市君天电子科技有限公司 | 文件下载的方法及系统 |
CN106161510A (zh) * | 2015-03-31 | 2016-11-23 | 北京畅游天下网络技术有限公司 | 网络应用的客户端、和用于客户端的资源加载方法 |
-
2016
- 2016-11-25 CN CN201611051362.9A patent/CN108111555B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008899A (zh) * | 2007-01-26 | 2007-08-01 | 上海华为技术有限公司 | 通信设备中软件版本升级的方法及装置 |
CN101286169A (zh) * | 2007-04-13 | 2008-10-15 | 奥多比公司 | 协调内容的下载顺序的客户端管理 |
US20110238660A1 (en) * | 2007-04-13 | 2011-09-29 | Brian Riggs | Client management of download sequence of orchestrated content |
CN101984691A (zh) * | 2010-10-25 | 2011-03-09 | 东莞宇龙通信科技有限公司 | 系统内置软件的升级方法和移动终端 |
CN102129380A (zh) * | 2011-03-10 | 2011-07-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种服务器及提供软件的方法、移动终端 |
CN102843400A (zh) * | 2011-06-23 | 2012-12-26 | 珠海市君天电子科技有限公司 | 文件下载的方法及系统 |
CN102663073A (zh) * | 2012-03-31 | 2012-09-12 | 奇智软件(北京)有限公司 | 基于被下载文件进行推荐的方法及系统 |
CN106161510A (zh) * | 2015-03-31 | 2016-11-23 | 北京畅游天下网络技术有限公司 | 网络应用的客户端、和用于客户端的资源加载方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040191B (zh) * | 2018-07-03 | 2021-11-09 | 平安科技(深圳)有限公司 | 文件下载方法、装置、计算机设备和存储介质 |
CN109040191A (zh) * | 2018-07-03 | 2018-12-18 | 平安科技(深圳)有限公司 | 文件下载方法、装置、计算机设备和存储介质 |
WO2020006866A1 (zh) * | 2018-07-03 | 2020-01-09 | 平安科技(深圳)有限公司 | 文件下载方法、装置、计算机设备和存储介质 |
CN111049870B (zh) * | 2018-10-15 | 2022-07-22 | 华为技术有限公司 | 应用下载和发送的方法、装置及系统 |
US11240290B2 (en) | 2018-10-15 | 2022-02-01 | Huawei Technologies Co., Ltd. | Application download method and apparatus, application sending method and apparatus, and system |
CN111049870A (zh) * | 2018-10-15 | 2020-04-21 | 华为技术有限公司 | 应用下载和发送的方法、装置及系统 |
CN109522041A (zh) * | 2018-10-15 | 2019-03-26 | 网易(杭州)网络有限公司 | 客户端资源更新方法、装置、处理器、服务器及终端 |
CN109495271A (zh) * | 2018-10-19 | 2019-03-19 | 北京梆梆安全科技有限公司 | 比较apk文件方法、装置、服务器及其存储介质 |
CN111343225A (zh) * | 2018-12-19 | 2020-06-26 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN111343225B (zh) * | 2018-12-19 | 2024-04-09 | 三六零科技集团有限公司 | 一种文件处理方法和装置 |
CN109656597A (zh) * | 2018-12-19 | 2019-04-19 | 广东美的暖通设备有限公司 | 固件升级方法、装置及计算机可读存储介质 |
CN113631236A (zh) * | 2019-04-03 | 2021-11-09 | 索尼互动娱乐股份有限公司 | 信息处理设备及安装方法 |
US11992776B2 (en) | 2019-04-03 | 2024-05-28 | Sony Interactive Entertainment Inc. | Information processing device and installation method |
CN110209401A (zh) * | 2019-05-28 | 2019-09-06 | 北京小米移动软件有限公司 | 应用程序的加载方法及装置 |
CN110209401B (zh) * | 2019-05-28 | 2024-04-09 | 北京小米移动软件有限公司 | 应用程序的加载方法及装置 |
CN113301162B (zh) * | 2021-05-31 | 2022-08-16 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
CN113377424A (zh) * | 2021-06-23 | 2021-09-10 | 支付宝(杭州)信息技术有限公司 | 一种安装包处理方法、装置以及设备 |
CN114707123A (zh) * | 2022-04-22 | 2022-07-05 | 北京时代亿信科技股份有限公司 | 软件安装包的验证方法及装置、非易失性存储介质 |
WO2024021998A1 (zh) * | 2022-07-25 | 2024-02-01 | 华为云计算技术有限公司 | 一种数据包传输方法、装置及计算机设备 |
WO2024109471A1 (zh) * | 2022-11-22 | 2024-05-30 | 华为技术有限公司 | 软件包的下载方法、电子设备以及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108111555B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108111555A (zh) | 用于控制安装包下载过程的方法及系统 | |
US10713034B2 (en) | Updating web resources | |
US9733919B2 (en) | Updating web resources | |
JP4857349B2 (ja) | ポータル・システム内で非同期ポータル・ページを提供するための方法、システム、およびコンピュータ・プログラム | |
US20130139052A1 (en) | Method and apparatus for loading epub electronic book | |
CN109313661A (zh) | 针对原生移动应用中托管的网络应用的网页加速 | |
CN106445951B (zh) | 一种文件传输方法和装置 | |
US9888059B2 (en) | Methods and systems for switching between software applications | |
CN107291759B (zh) | 浏览器页面资源的处理方法和装置 | |
CN107528718A (zh) | 获取资源的方法、装置和系统 | |
CN107526595B (zh) | 一种支持多操作系统远程加载的方法 | |
WO2014091257A2 (en) | Web page variation | |
CN107957887A (zh) | 一种设备的组件加载方法、装置以及物联网系统 | |
CN108108203B (zh) | 用于安装包下载安装过程的方法、装置及系统 | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN111367685A (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN108123970A (zh) | 数据展示方法及相关装置 | |
FR2862834A1 (fr) | Procede et dispositif de video-projection | |
CN110825373A (zh) | 一种移动端动态化方法及装置 | |
CN105740006A (zh) | 基于透明计算的可穿戴智能设备跨平台服务提供方法 | |
CN108804088A (zh) | 协议处理方法和装置 | |
CN108614714A (zh) | 一种动态库更新方法、装置及存储介质 | |
CN108388411B (zh) | 激光打印系统、激光打印方法及用于打印机电脑的转换装置 | |
CN113296817A (zh) | 前端资源的静默更新方法、装置和计算机设备 | |
CN113287092A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201126 Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China Applicant after: Zebra smart travel network (Hong Kong) Limited Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |