一种应用程序处理方法、装置和系统的制作方法

文档序号:8002413阅读:147来源:国知局
一种应用程序处理方法、装置和系统的制作方法
【专利摘要】本发明实施例提供一种应用程序处理方法、装置和系统,涉及通讯领域,能够实现跨应用商店的应用程序的差分升级。包括:获取第一应用程序的m个不同的安装包,该m个不同的安装包来自各个应用商店,m≥2;发送该m个不同的安装包至第一应用服务器,以便于第一应用服务器在获取第一应用程序的新版本安装包后,在该m个不同的安装包中筛选获得n个旧版本安装包,并得到该n个旧版本安装包对应的n个差分包,差分包用于对该旧版本安装包的升级,使得第一应用服务器在接收到用户设备发送的用于升级该第一应用程序的应用程序升级请求时,向用户设备发送与用户设备中的旧版本安装包相匹配的差分包,n≥1。该应用程序处理方法、装置和系统用于应用程序的升级。
【专利说明】一种应用程序处理方法、装置和系统
[0001]本申请要求于2013年02月05日提交国际局、申请号为PCT/CN2013/071397、发明名称为“一种应用程序处理方法、装置和系统”的PCT国际申请的优先权,其全部内容通过引用结合在本申请中。
【技术领域】
[0002]本发明涉及通讯领域,尤其涉及一种应用程序处理方法、装置和系统。
【背景技术】
[0003]应用商店是各大手机厂商、电信运营商、第三方互联网服务提供商等搭建的用于提供给应用开发者发售自己开发出的应用软件的地方,应用商店的具体功能由相应的应用服务器来支持。例如,手机应用商店通过该应用商店的服务器向手机用户提供手机软件、手机游戏、手机图片、手机主题、手机铃声和手机视频等应用程序。
[0004]应用版本升级是应用商店的重要功能,当开发者提交应用程序的新版本到该应用商店时,用户设备可以通过应用商店客户端检测到应用程序的新版本,以便于用户设备上的应用升级到所述新版本。
[0005]通常,用户在下载新版本的应用时,需要下载完整的新版本安装包到用户设备上,才能正确的安装,但为了减少用户设备流量的损耗,出现了差分升级的升级方法,具体的,应用商店的应用服务器首先将应用程序的旧版本安装包与新版本安装包做差分,得到更新的部分的差分包,然后,安装有旧版本应用程序的用户设备将所述差分包与所述旧版本安装包组合生成新版本安装包并进行相应新版本应用程序的安装。
[0006]例如当应用商店A的应用服务器存储有某应用程序的旧版本Al.0,当开发者上传新版本A2.0时,应用服务器根据A2.0和Al.0的差别,生成差分包Patch_AA21 ;在安装有Al.0版本应用程序的用户设备请求升级时,应用服务器向该用户设备返回差分包Patch_AA21。用户设备将差分包下载之后,需要在用户设备端将Al.0和Patch_AA21组合起来,得到一个新版本的A2_Local应用,通常,该A2_Local应用和A2.0相同。
[0007]但是,由于应用商店中应用程序的来源是成千上万的应用开发者,而应用开发者为了统计不同应用商店的应用下载量、使用量及其他利益因素等,对同一个应用程序的同一版本,常常提供不同的应用包,即安装包,给不同的应用商店。当用户设备上某应用需要升级时,假设用户设备上安装了应用商店A和应用商店B的客户端,如果用户安装的某应用程序的旧版本是从应用商店A下载安装的Al.0。当应用商店A和应用商店B都更新了该应用程序的新版本,如A2.0和B2.0,用户如果从应用商店B去更新该应用,由于应用商店B提供的差分包只针对本应用商店的旧版本安装包,那么用户将不能采用差分升级的升级方法来进行应用升级。因此现有技术中的应用程序处理方法无法实现跨应用商店的应用程序的差分升级。

【发明内容】
[0008]本发明的实施例提供一种应用程序处理方法、装置和系统,能够实现跨应用商店的应用程序的差分升级。
[0009]为达到上述目的,本发明的实施例采用如下技术方案:
[0010]第一方面,提供一种应用程序处理方法,应用于应用收集服务器,包括:
[0011]获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店,m≥2 ;
[0012]发送所述m个不同的安装包至第一应用服务器,以便于所述第一应用服务器在获取所述第一应用程序的新版本安装包后,在所述m个不同的安装包中筛选获得η个旧版本安装包,并得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,η≥1。
[0013]结合第一方面的第一种可实现方式,所述获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店包括:
[0014]获取所述各个应用商店的第一应用程序的安装包;
[0015]生成所述各个应用商店的第一应用程序的安装包的摘要信息;
[0016]通过比较所述摘要信息,在所述各个应用商店的第一应用程序的安装包中筛选得到摘要信息不同的m个安装包。
[0017]结合第一种可实现方式的第二种可实现方式,所述获取所述各个应用商店的第一应用程序的安装包包括:
[0018]通过与各个应用商店之间的应用获取接口获取所述各个应用商店的第一应用程序的安装包;
[0019]或者,
[0020]通过搜索爬虫获取所述各个应用商店的网页地址,
[0021]根据所述各个应用商店的网页地址在所述各个应用商店的网页中获取所述第一应用程序的下载地址,
[0022]根据所述第一应用程序的下载地址下载得到所述各个应用商店的第一应用程序的安装包。
[0023]结合第一方面、第一种可实现方式至第三种可实现方式中任一可实现方式的第四种可实现方式,在所述获取第一应用程序的m个不同的安装包之后,所述方法还包括:
[0024]对所述m个不同的安装包的信息进行整理得到安装包信息,所述安装包信息包括:应用标识、包名、版本号、文件大小、摘要信息和来源的任意一种或多种;
[0025]将所述安装包信息发送至第一应用服务器,以便于所述第一应用服务器根据所述安装包信息进行安装包的筛选。
[0026]第二方面,提供一种应用程序处理方法,应用于第一应用服务器,所述第一应用服务器服务于第一应用商店,包括:
[0027]接收应用收集服务器发送的第一应用程序的m个不同的安装包,所述m个不同的安装包是由所述应用收集服务器获取的,来自各个应用商店,m ≥ 2 ;
[0028]接收所述第一应用程序的新版本安装包;[0029]在所述m个不同的安装包中筛选获得η个旧版本安装包,η > I ;
[0030]将所述η个旧版本安装包分别与所述新版本安装包进行差分,得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级;
[0031]在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包。
[0032]结合第二方面的第一种可实现方式,所述在所述m个不同的安装包中筛选获得η个旧版本安装包包括:
[0033]在所述m个不同的安装包中筛选得到版本号小于所述新版本安装包的版本号的η个旧版本安装包。
[0034]结合第二方面、第一种可实现方式的第二中可实现方式,所述在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包包括:
[0035]接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求,所述应用程序升级请求包括:所述用户设备中的第一旧版本安装包的摘要信息;
[0036]根据所述第一旧版本安装包的摘要信息在所述η个差分包中筛选得到与所述第一旧版本安装包相匹配的第一差分包,所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包;
[0037]发送响应消息至所述用户设备,所述响应消息包括所述第一差分包的信息,以便于所述用户设备根据所述响应消息将所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包。
[0038]结合第二种可实现方式的第三种可实现方式,所述根据所述第一旧版本安装包的摘要信息在所述η个差分包中筛选得到第一差分包包括:
[0039]提取所述应用程序升级请求中的第一旧版本安装包的摘要信息;
[0040]将所述应用程序升级请求中的第一旧版本安装包的摘要信息与所述η个差分包的摘要信息进行匹配;
[0041]获取所述η个差分包中与所述应用程序升级请求中的第一旧版本安装包的摘要信息相同的所述第一差分包。
[0042]第三方面,提供一种应用收集服务器,包括:
[0043]获取单元,用于获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店,并发送所述m个不同的安装包至第一发送单元,m > 2 ;
[0044]第一发送单元,用于接收所述获取单元发送的所述m个不同的安装包,并发送所述m个不同的安装包至第一应用服务器,以便于所述第一应用服务器在获取所述第一应用程序的新版本安装包后,在所述m个不同的安装包中筛选获得η个旧版本安装包,并得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,n ≥ I。
[0045]结合第三方面的第一种可实现方式,所述获取单元具体用于:
[0046]获取所述各个应用商店的第一应用程序的安装包;[0047]生成所述各个应用商店的第一应用程序的安装包的摘要信息;
[0048]通过比较所述摘要信息,在所述各个应用商店的第一应用程序的安装包中筛选得到摘要信息不同的m个安装包。
[0049]结合第三方面的第二种可实现方式,所述获取单元在获取所述各个应用商店的第一应用程序的安装包时具体用于:
[0050]通过与各个应用商店之间的应用获取接口获取所述各个应用商店的第一应用程序的安装包;
[0051]或者,
[0052]通过搜索爬虫获取所述各个应用商店的网页地址,
[0053]根据所述各个应用商店的网页地址在所述各个应用商店的网页中获取所述第一应用程序的下载地址,
[0054]根据所述第一应用程序的下载地址下载得到所述各个应用商店的第一应用程序的安装包。
[0055]结合第三方面、第一种可实现方式至第三种可实现方式中任一可实现方式的第四种可实现方式,所述应用收集服务器还包括:
[0056]处理单元,用于在所述获取单元获取第一应用程序的m个不同的安装包之后,对所述m个不同的安装包的信息进行整理得到安装包信息,所述安装包信息包括:应用标识、包名、版本号、文件大小、摘要信息和来源的任意一种或多种;
[0057]第二发送单元,用于将所述安装包信息发送至第一应用服务器,以便于所述第一应用服务器根据所述安装包信息进行安装包的筛选。
[0058]第四方面,提供一种应用服务器,所述应用服务器服务于第一应用商店,包括:
[0059]第一接收单元,用于接收应用收集服务器发送的第一应用程序的m个不同的安装包,并发送所述m个不同的安装包至筛选单元,所述m个不同的安装包是由所述应用收集服务器获取的,来自各个应用商店,m ≥ 2 ;
[0060]第二接收单元,用于接收所述第一应用程序的新版本安装包,并分别发送所述新版本安装包至筛选单元和差分单元;
[0061 ] 所述筛选单元,用于接收所述第一接收单元发送的所述m个不同的安装包以及所述第二接收单元发送的所述新版本安装包,并在所述m个不同的安装包中筛选获得η个旧版本安装包,发送所述η个旧版本安装包至差分单元,n≥l;
[0062]所述差分单元,用于接收所述第二接收单元发送的所述新版本安装包和所述筛选单元发送的所述η个旧版本安装包,将所述η个旧版本安装包分别与所述新版本安装包进行差分,得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级;
[0063]处理单元,用于在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包。
[0064]结合第四方面的第一种可实现方式,所述筛选单元在所述m个不同的安装包中筛选获得η个旧版本安装包的过程中,具体用于:
[0065]在所述m个不同的安装包中筛选得到版本号小于所述新版本安装包的版本号的η个旧版本安装包。[0066]结合第四方面、第一种可实现方式的第二中可实现方式,处理单元,具体包括:
[0067]接收子单元,用于接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求,所述应用程序升级请求包括:所述用户设备中的第一旧版本安装包的摘要信息;
[0068]筛选子单元,用于根据所述第一旧版本安装包的摘要信息在所述筛选单元筛选出的所述η个差分包中筛选得到与所述第一旧版本安装包相匹配的第一差分包,所述第一差分包和所述第一旧版本安装包能够组合得到所述新版本安装包;
[0069]发送子单元,用于发送响应消息至所述用户设备,所述响应消息包括所述第一差分包的信息,以便于所述用户设备根据所述响应消息将所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包。
[0070]结合第四种可实现方式的第三种可实现方式,所述筛选子单元具体用于:
[0071]提取所述应用程序升级请求中的第一旧版本安装包的摘要信息;
[0072]将所述应用程序升级请求中的第一旧版本安装包的摘要信息与所述η个差分包的摘要信息进行匹配;
[0073]获取所述η个差分包中与所述应用程序升级请求中的第一旧版本安装包的摘要信息相同的所述第一差分包。
[0074]第五方面,提供一种应用处理系统,包括:
[0075]以上任一所述的应用收集服务器;
[0076]以及以上任一所述的应用服务器。
[0077]本发明实施例提供一种应用程序处理方法、装置和系统,能够实现跨应用商店的应用程序的差分升级。包括:获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店,m3 2 ;发送所述m个不同的安装包至第一应用服务器,以便于所述第一应用服务器在获取所述第一应用程序的新版本安装包后,在所述m个不同的安装包中筛选获得η个旧版本安装包,并得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,η > I。这样一来,应用收集服务器收集了不同应用商店中的多个不同的安装包,使得第一应用服务器可以在获取所述应用程序的新版本安装包后,根据所述不同的安装包得到旧版本安装包及相应的差分包,由于第一应用服务器能够提供多个差分包,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,那么,即使用户设备中需要升级的应用程序的旧版本安装包不是在第一应用服务器中下载的,也可以获得相应的差分包对该应用程序进行升级,因此,能够实现跨应用商店的应用程序的差分升级。
【专利附图】

【附图说明】
[0078]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0079]图1为本发明实施例提供的一种应用程序处理方法流程示意图;
[0080]图2为本发明实施例提供的另一种应用程序处理方法流程示意图;
[0081]图3为本发明实施例提供的再一种应用程序处理方法流程示意图;
[0082]图4为本发明实施例提供的一种应用收集服务器的结构示意图;
[0083]图5为本发明实施例提供的另一种应用收集服务器的结构示意图;
[0084]图6为本发明实施例提供的一种应用服务器的结构示意图;
[0085]图7为本发明实施例提供的一种应用服务器的处理单元结构示意图;
[0086]图8为本发明实施例提供的再一种应用收集服务器的结构示意图;
[0087]图9为本发明实施例提供的另一种应用服务器的结构示意图;
[0088]图10为本发明实施例提供的再一种应用服务器的结构示意图;
[0089]图11为本发明实施例提供的又一种应用收集服务器的结构示意图;
[0090]图12为本发明实施例提供的又一种应用服务器的结构示意图。
【具体实施方式】
[0091]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0092]本发明实施例提供一种应用程序处理方法,应用于应用收集服务器,如图1所示,包括:
[0093]101、获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店,m≤2。
[0094]对于同一个应用程序的同一版本,应用开发者可能为各个应用商店提供不同的安装包,因此,同一个应用程序的安装包可能有多个,分别来自应用程序处理系统中的各个应用商店。
[0095]示例的,本实施例假设应用收集服务器需要获取的应用程序为第一应用程序,该应用收集服务器可以首先获取所述各个应用商店的第一应用程序的安装包;然后生成所述各个应用商店的第一应用程序的安装包的摘要信息;最后通过比较所述摘要信息,在所述各个应用商店的第一应用程序的安装包中筛选得到摘要信息不同的m个安装包。所述摘要信息为通过特定摘要生成算法生成的安装包的摘要信息,用于区分不同的安装包。
[0096]102、发送所述m个不同的安装包至第一应用服务器,以便于所述第一应用服务器在获取所述第一应用程序的新版本安装包后,在所述m个不同的安装包中筛选获得η个旧版本安装包,并得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,η≤I。
[0097]应用收集服务器可以服务于一个或多个应用商店,进行应用程序的收集和处理等工作,实际应用中,应用收集服务器通常服务于固定的应用商店,本发明实施例假设应用收集服务器为第一应用商店服务。
[0098]这样一来,应用收集服务器收集了不同应用商店中的多个不同的安装包,使得第一应用服务器可以在获取所述应用程序的新版本安装包后,根据所述不同的安装包得到旧版本安装包及相应的差分包,由于第一应用服务器能够提供多个差分包,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,那么,即使用户设备中需要升级的应用程序的旧版本安装包不是在第一应用服务器中下载的,也可以获得相应的差分包对该应用程序进行升级,因此,能够实现跨应用商店的应用程序的差分升级。
[0099]进一步的,可以通过多种方法获取所述各个应用商店的第一应用程序的安装包,示例的,可以通过应用收集服务器与各个应用商店之间的应用获取接口获取所述各个应用商店的第一应用程序的安装包。
[0100]也可以通过搜索爬虫获取所述各个应用商店的网页地址,然后,根据所述各个应用商店的网页地址在所述各个应用商店的网页中获取所述第一应用程序的下载地址,最后根据所述第一应用程序的下载地址下载得到所述各个应用商店的第一应用程序的安装包。
[0101]需要说明的是,搜索爬虫又名网络爬虫,是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成部分。在本实施例中可以设置应用商店搜索爬虫来获取所述各个应用商店的网页地址。
[0102]特别的,在步骤101之后,应用收集服务器还可以对所述m个不同的安装包的信息进行整理得到安装包信息,所述安装包信息包括:应用标识、包名(packageName)、版本号(versionCode)、文件大小、摘要信息和来源的任意一种或多种。其中,所述应用标识和包名可以用于第一应用程序的安装包的识别,版本号和摘要信息可以用于各个安装包的筛选,所述文件大小和来源可以由第一应用服务器通过第一应用商店的客户端显示给用户,所述文件大小作为安装包下载的流量大小的参考信息,所述来源作为安装包下载来源的参考信息。所述安装包信息使得各个安装包的形式和信息统一,便于识别和筛选。应用收集服务器可以在步骤102发送安装包的同时将所述安装包信息发送至第一应用服务器,以便于所述第一应用服务器根据所述安装包信息中的版本号和摘要信息进行安装包的筛选,从而在后续过程中有效地生成差分包。特别的,当所述安装包信息中不包括版本号和摘要信息时,第一应用服务器可以在接收到安装包时生成与该安装包相应的版本号和摘要信息,以便于进行各个安装包的筛选。
[0103]本发明实施例提供一种应用程序处理方法,如图2所示,应用于第一应用服务器,所述第一应用服务器服务于第一应用商店,包括:
[0104]201、接收应用收集服务器发送的第一应用程序的m个不同的安装包,所述m个不同的安装包是由所述应用收集服务器获取的,来自各个应用商店,m > 2。
[0105]202、接收所述第一应用程序的新版本安装包。
[0106]特别的,所述第一应用程序的新版本安装包通常为开发者开发完成后上传到第一应用服务器的。
[0107]203、在所述m个不同的安装包中筛选获得η个旧版本安装包,η≥I。
[0108]所述旧版本安装包的版本号小于所述新版本安装包的版本号。对于同一个应用程序的同一版本,应用开发者可能为各个应用商店提供不同的安装包,因此,应用程序的旧版本安装包可能有多个。
[0109]需要说明的是,通常每个应用商店都有自身相应的应用服务器,用于实现该应用商店中的应用程序的存储,获取等等功能,本实施例假设第一应用服务器服务于第一应用商店,所述第一应用服务器可以是一个或多个子应用服务器集成的服务器系统,本发明对此不做限定。
[0110]204、将所述η个旧版本安装包分别与所述新版本安装包进行差分,得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级。
[0111]示例的,第一应用服务器可以在所述m个不同的安装包中筛选得到版本号小于所述新版本安装包的版本号的η个旧版本安装包。
[0112]205、在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包。
[0113]这样一来,应用收集服务器收集了不同应用商店中的多个不同的安装包,使得第一应用服务器可以在获取所述应用程序的新版本安装包后,根据所述不同的安装包得到旧版本安装包及相应的差分包,由于第一应用服务器能够提供多个差分包,那么,在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,即使用户设备中需要升级的应用程序的旧版本安装包不是在第一应用服务器中下载的,也可以获得相应的差分包对该应用程序进行升级,因此,能够实现跨应用商店的应用程序的差分升级。
[0114]特别的,在步骤201时,第一应用服务器还可以接收应用收集服务器发送的第一应用程序的安装包信息,所述安装包信息包括:应用标识、包名(packageName)、版本号(versionCode)、文件大小、摘要信息和来源的任意一种或多种。所述安装包信息使得各个安装包的形式和信息统一,便于识别和筛选。其中,所述应用标识和包名可以用于第一应用程序的安装包的识别,版本号和摘要信息可以用于各个安装包的筛选,所述文件大小和来源可以由第一应用服务器通过第一应用商店的客户端显示给用户,所述文件大小作为安装包下载的流量大小的参考信息,所述来源作为安装包下载来源的参考信息。所述安装包信息使得各个安装包的形式和信息统一,便于识别和筛选。所述第一应用服务器根据所述安装包信息中的版本号和摘要信息进行安装包的筛选,从而在后续过程中有效地生成差分包。特别的,当所述安装包信息中不包括版本号和摘要信息时,第一应用服务器可以在接收到安装包时生成与该安装包相应的版本号和摘要信息,以便于进行各个安装包的筛选。或者,第一应用服务器也可以对接收机接收的m个不同的安装包进行处理,得到完整的安装包信息。
[0115]进一步的,步骤205具体可以包括:接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求,所述应用程序升级请求包括:所述用户设备中的第一旧版本安装包的摘要信息;根据所述第一旧版本安装包的摘要信息在所述η个差分包中筛选得到与所述第一旧版本安装包相匹配的第一差分包,所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包;发送响应消息至所述用户设备,所述响应消息包括所述第一差分包的信息,以便于所述用户设备根据所述响应消息将所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包。
[0116]需要说明的是,可以通过生成摘要信息的方法进行第一差分包的筛选,具体的,包括:提取所述应用程序升级请求中的第一旧版本安装包的摘要信息;将所述应用程序升级请求中的第一旧版本安装包的摘要信息与所述η个差分包的摘要信息进行匹配;获取所述η个差分包中与所述应用程序升级请求中的第一旧版本安装包的摘要信息相同的所述第一差分包。
[0117]示例的,本发明实施例提供一种应用程序处理方法,如图3所示,本实施例假设第一应用程序为微信,第一应用服务器为应用服务器a,所述应用服务器a服务于应用商店A,应用处理系统中还包括除应用商店A之外的其他应用商店,假设所述其他应用商店中存在应用商店B和应用商店C,相应的应用服务器分别为应用服务器b和应用服务器C,应用收集服务器为应用商店A提供第一应用程序(即微信)的安装包收集的服务,具体的,所述应用程序处理方法包括:
[0118]301、应用收集服务器获取各个应用商店的微信的安装包。
[0119]应用收集服务器可以通过应用收集服务器与各个应用商店之间的应用获取接口获取所述各个应用商店的微信的安装包。
[0120]也可以通过搜索爬虫获取所述各个应用商店的网页地址,然后,根据所述各个应用商店的网页地址在所述各个应用商店的网页中获取所述微信的下载地址,最后根据所述微信的下载地址下载得到所述各个应用商店的微信的安装包。需要说明的是,搜索爬虫又名网络爬虫,是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成部分。在本实施例中可以设置应用商店搜索爬虫来获取所述各个应用商店的网页地址。
[0121]特别的,由于应用收集服务器服务于应用商店A,该应用收集服务器中可以存储有应用商店A中的微信的安装包,因此,在获取应用商店A中的微信的安装包时,应用收集服务器可以直接在本地存储的安装包中提取应用商店A中的微信的安装包。
[0122]本实施例假设应用收集服务器在应用商店A的应用服务器a中获取的微信安装包为微信Al.0,在应用商店B的应用服务器b中获取的微信安装包为微信B1.0,在应用商店C的应用服务器c中获取的微信安装包为微信Cl.0。
[0123]302、应用收集服务器筛选得到微信的m个不同的安装包。
[0124]对于同一个应用程序的同一版本,应用开发者可能为各个应用商店提供不同的安装包,因此,同一个应用程序的安装包可能有多个,分别来自应用程序处理系统中的各个应用商店,由于应用收集服务器获取的安装包中可能存在相同的安装包,因此需要进行安装包的筛选。
[0125]应用收集服务器可以采用同一摘要生成算法生成所述各个应用商店的应用程序的安装包的摘要信息,然后通过比较所述摘要信息,在所述各个应用商店的应用程序的安装包中筛选得到摘要信息不同的m个安装包。所述摘要信息为通过特定摘要生成算法生成的安装包的摘要信息,用于区分不同的安装包。
[0126]需要说明的是,所述摘要生成算法可以有多种,如MD5 (Message DigestAlgorithm,消息摘要算法)。
[0127]本实施例假设应用收集服务器获取了 3个不同的安装包,即m=3,分别为安装包Al.0、B1.0 和 Cl.0。
[0128]应用收集服务器还可以对所述m个不同的安装包的信息进行整理得到安装包信息,所述安装包信息包括:应用标识、包名、版本号、文件大小、摘要信息和来源的任意一种或多种。所述安装包信息使得各个安装包的形式和信息统一,便于识别和筛选。其中,所述应用标识和包名可以用于微信的安装包的识别,版本号和摘要信息可以用于各个安装包的筛选,所述文件大小和来源可以由应用服务器a通过应用商店A的客户端显示给用户,所述文件大小作为安装包下载的流量大小的参考信息,所述来源作为安装包下载来源的参考信息。所述安装包信息使得各个安装包的形式和信息统一,便于识别和筛选。进一步的,应用服务器可以将所述安装包信息发送至应用服务器a,以便于应用服务器a根据所述安装包信息进行安装包的筛选,从而有效地生成差分包。特别的,当所述安装包信息中不包括版本号和摘要信息时,应用服务器a可以在接收到安装包时生成与该安装包相应的版本号和摘要信息,以便于进行各个安装包的筛选。
[0129]应用收集服务器可以以如表I所示的形式记录所述3个不同的安装包的安装包信息。其中,微信Al.0的应用标识为Al,微信B1.0的应用标识为A2,微信Cl.0的应用标识为A3, 3个不同的安装包的包名均为“com.tencent.weixin”,应用名称均为微信,版本号分别为1、I和2,3个不同的安装包的分别来自应用商店A、应用商店B和应用商店C,三者的文件大小和摘要信息都不同。特别的,所述文件大小的单位为比特(Byte),所述应用标识的生成是为了有效区分各个微信安装包,由于本实施例中应用收集服务器为应用商店A提供微信的安装包收集的服务,因此所述应用标识可以使得各个微信安装包在应用商店A中的标识唯一。
[0130]表I
[0131]
【权利要求】
1.一种应用程序处理方法,其特征在于,应用于应用收集服务器,包括: 获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店,m ≥ 2 ; 发送所述m个不同的安装包至第一应用服务器,以便于所述第一应用服务器在获取所述第一应用程序的新版本安装包后,在所述m个不同的安装包中筛选获得η个旧版本安装包,并得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,n ≥1
2.根据权利要求1所述的方法,其特征在于,所述获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店包括: 获取所述各个应用商店的第一应用程序的安装包; 生成所述各个应用商店的第一应用程序的安装包的摘要信息; 通过比较所述摘要信息,在所述各个应用商店的第一应用程序的安装包中筛选得到摘要信息不同的m个安装包。
3.根据权利要求2所述的方法,其特征在于,所述获取所述各个应用商店的第一应用程序的安装包包括: 通过与各个应用商店之间的应用获取接口获取所述各个应用商店的第一应用程序的安装包; 或者, 通过搜索爬虫获取所述各个应用商店的网页地址, 根据所述各个应用商店的网页地址在所述各个应用商店的网页中获取所述第一应用程序的下载地址, 根据所述第一应用程序的下载地址下载得到所述各个应用商店的第一应用程序的安装包。
4.根据权利要求1至3任意一项权利要求所述的方法,其特征在于,在所述获取第一应用程序的m个不同的安装包之后,所述方法还包括: 对所述m个不同的安装包的信息进行整理得到安装包信息,所述安装包信息包括:应用标识、包名、版本号、文件大小、摘要信息和来源的任意一种或多种; 将所述安装包信息发送至第一应用服务器,以便于所述第一应用服务器根据所述安装包信息进行安装包的筛选。
5.一种应用程序处理方法,其特征在于,应用于第一应用服务器,所述第一应用服务器服务于第一应用商店,包括: 接收应用收集服务器发送的第一应用程序的m个不同的安装包,所述m个不同的安装包是由所述应用收集服务器获取的,来自各个应用商店,m≥2; 接收所述第一应用程序的新版本安装包; 在所述m个不同的安装包中筛选获得η个旧版本安装包,η > I ; 将所述η个旧版本安装包分别与所述新版本安装包进行差分,得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级;在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包。
6.根据权利要求5所述的方法,其特征在于,所述在所述m个不同的安装包中筛选获得η个旧版本安装包包括: 在所述m个不同的安装包中筛选得到版本号小于所述新版本安装包的版本号的η个旧版本安装包。
7.根据权利要求5或6所述的方法,其特征在于,所述在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包包括: 接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求,所述应用程序升级请求包括:所述用户设备中的第一旧版本安装包的摘要信息; 根据所述第一旧版本安装包的摘要信息在所述η个差分包中筛选得到与所述第一旧版本安装包相匹配的第一差分包,所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包; 发送响应消息至所述用户设备,所述响应消息包括所述第一差分包的信息,以便于所述用户设备根据所述响应消息将所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一旧版本安装包的摘要信息在所述η个差分包中筛选得到第一差分包包括: 提取所述应用程序升级请求中的第一旧版本安装包的摘要信息; 将所述应用程序升级请求中的第一旧版本安装包的摘要信息与所述η个差分包的摘要信息进行匹配; 获取所述η个差分包中与所述应用程序升级请求中的第一旧版本安装包的摘要信息相同的所述第一差分包。
9.一种应用收集服务器,其特征在于,包括: 获取单元,用于获取第一应用程序的m个不同的安装包,所述m个不同的安装包来自各个应用商店,并发送所述m个不同的安装包至第一发送单元,m > 2 ; 第一发送单元,用于接收所述获取单元发送的所述m个不同的安装包,并发送所述m个不同的安装包至第一应用服务器,以便于所述第一应用服务器在获取所述第一应用程序的新版本安装包后,在所述m个不同的安装包中筛选获得η个旧版本安装包,并得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级,使得所述第一应用服务器在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包,η > I。
10.根据权利要求9所述的应用收集服务器,其特征在于,所述获取单元具体用于: 获取所述各个应用商店的第一应用程序的安装包; 生成所述各个应用商店的第一应用程序的安装包的摘要信息; 通过比较所述摘要信息,在所述各个应用商店的第一应用程序的安装包中筛选得到摘要信息不同的m个安装包。
11.根据权利要求10所述的应用收集服务器,其特征在于,所述获取单元在获取所述各个应用商店的第一应用程序的安装包时具体用于: 通过与各个应用商店之间的应用获取接口获取所述各个应用商店的第一应用程序的安装包; 或者, 通过搜索爬虫获取所述各个应用商店的网页地址, 根据所述各个应用商店的网页地址在所述各个应用商店的网页中获取所述第一应用程序的下载地址, 根据所述第一应用程序的下载地址下载得到所述各个应用商店的第一应用程序的安装包。
12.根据权利要求9至11任意一项权利要求所述的应用收集服务器,其特征在于,所述应用收集服务器还包括: 处理单元,用于在所述获取单元获取第一应用程序的m个不同的安装包之后,对所述m个不同的安装包的信息进行整理得到安装包信息,所述安装包信息包括:应用标识、包名、版本号、文件大小、摘要信息和来源的任意一种或多种; 第二发送单元,用于将所述安装包信息发送至第一应用服务器,以便于所述第一应用服务器根据所述安装包信息进行安装包的筛选。
13.一种应用服务器,其特征在于,所述应用服务器服务于第一应用商店,包括: 第一接收单元,用于接收应用收集服务器发送的第一应用程序的m个不同的安装包,并发送所述m个不同的安装包至筛选单元,所述m个不同的安装包是由所述应用收集服务器获取的,来自各个应用商店,m ≥ 2 ; 第二接收单元,用于接收所述第一应用程序的新版本安装包,并分别发送所述新版本安装包至所述筛选单元和差分单元; 所述筛选单元,用于接收所述第一接收单元发送的所述m个不同的安装包以及所述第二接收单元发送的所述新版本安装包,并在所述m个不同的安装包中筛选获得η个旧版本安装包,发送所述η个旧版本安装包至所述差分单元,η≥1 ; 所述差分单元,用于接收所述第二接收单元发送的所述新版本安装包和所述筛选单元发送的所述η个旧版本安装包,将所述η个旧版本安装包分别与所述新版本安装包进行差分,得到所述η个旧版本安装包对应的η个差分包,所述差分包用于对所述旧版本安装包的升级; 处理单元,用于在接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求时,向所述用户设备发送与所述用户设备中的旧版本安装包相匹配的差分包。
14.根据权利要求13所述的应用服务器,其特征在于,所述筛选单元在所述m个不同的安装包中筛选获得η个旧版本安装包的过程中,具体用于: 在所述m个不同的安装包中筛选得到版本号小于所述新版本安装包的版本号的η个旧版本安装包。
15.根据权利要求13或14所述的应用服务器,其特征在于,所述处理单元,具体包括: 接收子单元,用于接收到用户设备发送的用于升级所述第一应用程序的应用程序升级请求,所述应用程序升级请求包括:所述用户设备中的第一旧版本安装包的摘要信息; 筛选子单元,用于根据所述第一旧版本安装包的摘要信息在所述筛选单元筛选出的所述η个差分包中筛选得到与所述第一旧版本安装包相匹配的第一差分包,所述第一差分包和所述第一旧版本安装包能够组合得到所述新版本安装包; 发送子单元,用于发送响应消息至所述用户设备,所述响应消息包括所述第一差分包的信息,以便于所述用户设备根据所述响应消息将所述第一差分包和所述第一旧版本安装包组合得到所述新版本安装包。
16.根据权利要求15所述的应用服务器,其特征在于,所述筛选子单元具体用于: 提取所述应用程序升级请求中的第一旧版本安装包的摘要信息; 将所述应用程序升级请求中的第一旧版本安装包的摘要信息与所述η个差分包的摘要信息进行匹配; 获取所述η个差分包中与所述应用程序升级请求中的第一旧版本安装包的摘要信息相同的所述第一差分包。
17.一种应用处理系统,其特征在于,包括: 权利要求9至12任意一项权利要求所述的应用收集服务器; 以及权利要求13至16任意一·项权利要求所述的应用服务器。
【文档编号】H04L29/08GK103442026SQ201310300173
【公开日】2013年12月11日 申请日期:2013年7月17日 优先权日:2013年2月5日
【发明者】练庆海 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1