著录项信息
专利名称 | 信息处理方法和设备 |
申请号 | CN201210055714.3 | 申请日期 | 2012-03-05 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-09-11 | 公开/公告号 | CN103297482A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地西路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 杨波涛;叶帅民;王殿志 |
代理机构 | 北京市柳沈律师事务所 | 代理人 | 安之斐 |
摘要
公开了信息处理方法和设备。所述信息处理方法,应用于服务器端,包括:获取第一数据包,所述第一数据包对应于第一应用;获取第二数据包,所述第二数据包对应于第二应用;划分第一数据包中的每个文件,以获得多个第一文件块;划分第二数据包中的每个文件,以获得多个第二文件块;将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容。
1.一种信息处理方法,应用于服务器端,包括:
获取第一数据包,所述第一数据包对应于第一应用;
获取第二数据包,所述第二数据包对应于第二应用;
划分第一数据包中的每个文件,以获得多个第一文件块;
划分第二数据包中的每个文件,以获得多个第二文件块;
将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容,其中划分数据包的步骤包括:
一次划分第一数据包以获得一组多个第一文件块;
多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且
其中将多个第一文件块与多个第二文件块进行比较的步骤包括:
将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,其中更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。
2.根据权利要求1所述的信息处理方法,还包括:
从与所述服务器连接的客户端接收第一指令;
依据所述第一指令,将所述更新数据包传输至所述客户端。
3.根据权利要求1所述的信息处理方法,还包括:
从与所述服务器连接的客户端接收第二指令;
判断所述客户端中是否存储了第一数据包;
如果所述客户端中存储了第一数据包,则将所述更新数据包发送到客户端,使所述客户端根据第一数据包和更新数据包获得第二数据包,并通过第二数据包进行应用升级;
如果所述客户端中未存储第一数据包,则将所述第二数据包发送到客户端,使所述客户端直接通过第二数据包进行应用升级。
4.根据权利要求1所述的信息处理方法,其中将多个第一文件块与多个第二文件块进行比较的步骤包括:
计算多个第一文件块和多个第二文件块的每一个的校验和;
将多个第二文件块中的每一个的校验和分别与多个第二文件块中的每一个的校验和进行比较;
如果二者的校验和相同,则进一步进行强校验;
如果强校验的结果表示二者相同,则记录相同文件块的对应位置;否则记录第二数据包与第一数据包不同的文件块的对应位置和数据内容。
5.根据权利要求1所述的信息处理方法,其中获取第一数据包的步骤包括:
由客户端向所述服务器上传第一数据包。
6.根据权利要求1所述的信息处理方法,其中获取第一数据包的步骤包括:
由服务器存取客户端,以获得客户端中存储的第一数据包。
7.一种信息处理方法,应用于客户端,所述方法包括:
向与客户端连接的服务器发送一指令;
判断客户端中是否存储了第一数据包;
当客户端中存储了第一数据包时,依据该指令,从与客户端连接的服务器获取更新数据包,其中在所述服务器端通过如下步骤产生更新数据包:
获取第一数据包、第二数据包;
划分第一数据包中的每个文件,以获得多个第一文件块;
划分第二数据包中的每个文件,以获得多个第二文件块;
将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容;
将第一数据包与更新数据包进行合并,从而生成第二数据包,以进行应用升级,其中,所述第一数据包、第二数据包分别对应于第一应用、第二应用,其中划分数据包的步骤包括:
一次划分第一数据包以获得一组多个第一文件块;
多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且
其中将多个第一文件块与多个第二文件块进行比较的步骤包括:
将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,其中更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。
8.根据权利要求7所述的信息处理方法,其中
当客户端中未存储第一数据包时,从服务器获取第二数据包。
9.根据权利要求7所述的信息处理方法,进一步包括从客户端向服务器上传第一数据包的步骤。
10.一种信息处理设备,设置于服务器端,包括:
获取部件,用于获取第一数据包,所述第一数据包对应于第一应用,并且用于获取第二数据包,所述第二数据包对应于第二应用;
划分部件,用于划分第一数据包中的每个文件,以获得多个第一文件块,并且用于划分第二数据包中的每个文件,以获得多个第二文件块;
比较部件,用于将多个第一文件块与多个第二文件块进行比较;以及
生成部件,用于根据比较部件的比较结果生成更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容,其中所述划分部件一次划分第一数据包以获得一组多个第一文件块,并且多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且
其中所述比较部件将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,并且
其中更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。
11.根据权利要求10所述的信息处理设备,还包括:
指令接收部件,用于从与所述服务器连接的客户端接收第一指令;
传输部件,用于依据所述第一指令,将所述更新数据包传输至所述客户端。
12.根据权利要求10所述的信息处理设备,还包括:
指令接收部件,用于从与所述服务器连接的客户端接收第二指令;
判断部件,用于判断所述客户端中是否存储了第一数据包;
传输部件,用于如果判断部件确定所述客户端中存储了第一数据包,则将所述更新数据包发送到客户端,使所述客户端根据第一数据包和更新数据包获得第二数据包,并通过第二数据包进行应用升级;而如果判断部件确定所述客户端中未存储第一数据包,则将所述第二数据包发送到客户端,使所述客户端直接通过第二数据包进行应用升级。
13.根据权利要求10所述的信息处理设备,其中所述比较部件包括:
校验和计算部件,用于计算多个第一文件块和多个第二文件块的每一个的校验和;
校验和比较部件,用于将多个第二文件块中的每一个的校验和分别与多个第二文件块中的每一个的校验和进行比较;
强校验部件,用于在二者的校验和相同的情况下进一步进行强校验;
标记记录部件,用于如果强校验的结果表示二者相同,则记录相同文件块的对应位置,否则记录第二数据包与第一数据包不同的文件块的对应位置和数据内容。
14.根据权利要求10所述的信息处理设备,其中所述第一数据包通过由客户端上传到获取部件而获得。
15.根据权利要求10所述的信息处理设备,其中所述第一数据包通过由获取部件存取客户端而获得。
16.一种信息处理设备,设置于客户端,包括:
指令发送部件,用于向与客户端连接的服务器发送一指令;
判断部件,用于判断客户端中是否存储了第一数据包;
获取部件,与当判断部件确定客户端中存储了第一数据包时,依据该指令,从与客户端连接的服务器获取更新数据包,其中在所述服务器端通过如下步骤产生更新数据包:
获取第一数据包、第二数据包;
划分第一数据包中的每个文件,以获得多个第一文件块;
划分第二数据包中的每个文件,以获得多个第二文件块;
将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容;
合并部件,用于将第一数据包与更新数据包进行合并,从而生成第二数据包,以进行应用升级,
其中,所述第一数据包、第二数据包分别对应于第一应用、第二应用,其中划分数据包的步骤包括:
一次划分第一数据包以获得一组多个第一文件块;
多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且
其中将多个第一文件块与多个第二文件块进行比较的步骤包括:
将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,其中更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。
17.根据权利要求16所述的信息处理设备,其中
当判断部件确定客户端中未存储第一数据包时,所述获取部件从服务器获取第二数据包。
18.根据权利要求16所述的信息处理设备,进一步包括上传部件,用于向服务器上传第一数据包。
信息处理方法和设备\n技术领域\n[0001] 本发明涉及信息处理方法和设备。更具体地说,涉及能够减小应用升级所需的网络流量且能够动态地生成更新数据包的信息处理方法和设备。\n背景技术\n[0002] 当前的APK(AndroidPackage,安卓安装包)升级需要把新版本的APK从网络上下载下来,然后替换旧版本的APK进行升级。然而,现有的这种方案网络流量消耗较大,特别是对于尺寸比较大的游戏类应用(尺寸在几十M)来说,该问题更加凸显。\n[0003] 一种可能的解决方案是在应用内自己实现部分升级,其中对资源文件(如,背景图片等)进行特殊处理,从而减小升级流量。但是,这种方案的缺点在于,对于开发者来说操作比较复杂,且只能实现诸如背景图片之类的资源文件的升级,而无法实现主程序(dex文件)升级。\n[0004] 另外,现有技术中的应用升级方法还包括通过程序员对预先存储的新、旧版本的APK进行比较,从而生成更新数据包。但是,这种方案的缺点在于不能由服务器端自动地、动态地生成更新数据包。其中,更新数据包更普遍地称为“补丁文件”。在这种方案中,以文件为单位对更新的文件进行替换。然而,由于硬盘上的数据以盘为单位,因此即使采用更新数据包,所需传输的数据量仍然很大。\n发明内容\n[0005] 鉴于以上情形,期望提供新的用于应用升级的信息处理设备和方法,其能够减小升级所需的网络流量。\n[0006] 根据本发明的一个方面,提供了一种信息处理方法,应用于服务器端,包括:\n[0007] 获取第一数据包,所述第一数据包对应于第一应用;\n[0008] 获取第二数据包,所述第二数据包对应于第二应用;\n[0009] 划分第一数据包中的每个文件,以获得多个第一文件块;\n[0010] 划分第二数据包中的每个文件,以获得多个第二文件块;\n[0011] 将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容。\n[0012] 优选地,根据本发明实施例的信息处理方法还包括:\n[0013] 从与所述服务器连接的客户端接收第一指令;\n[0014] 依据所述第一指令,将所述更新数据包传输至所述客户端。\n[0015] 优选地,根据本发明实施例的信息处理方法还包括:\n[0016] 从与所述服务器连接的客户端接收第二指令;\n[0017] 判断所述客户端中是否存储了第一数据包;\n[0018] 如果所述客户端中存储了第一数据包,则将所述更新数据包发送到客户端,使所述客户端根据第一数据包和更新数据包获得第二数据包,并通过第二数据包进行应用升级;\n[0019] 如果所述客户端中未存储第一数据包,则将所述第二数据包发送到客户端,使所述客户端直接通过第二数据包进行应用升级。\n[0020] 优选地,在根据本发明实施例的信息处理方法中,将多个第一文件块与多个第二文件块进行比较的步骤包括:\n[0021] 计算多个第一文件块和多个第二文件块的每一个的校验和;\n[0022] 将多个第二文件块中的每一个的校验和分别与多个第二文件块中的每一个的校验和进行比较;\n[0023] 如果二者的校验和相同,则进一步进行强校验;\n[0024] 如果强校验的结果表示二者相同,则记录相同文件块的对应位置;否则记录第二数据包与第一数据包不同的文件块的对应位置和数据内容。\n[0025] 优选地,在根据本发明实施例的信息处理方法中,划分数据包的步骤包括:\n[0026] 一次划分第一数据包以获得一组多个第一文件块;\n[0027] 多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且\n[0028] 其中将多个第一文件块与多个第二文件块进行比较的步骤包括:\n[0029] 将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,[0030] 其中更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。\n[0031] 优选地,在根据本发明实施例的信息处理方法中,获取第一数据包的步骤包括:\n[0032] 由客户端向所述服务器上传第一数据包。\n[0033] 优选地,在根据本发明实施例的信息处理方法中,获取第一数据包的步骤包括:\n[0034] 由服务器存取客户端,以获得客户端中存储的第一数据包。\n[0035] 根据本发明的另一个方面,提供了一种信息处理方法,应用于客户端,所述方法包括:\n[0036] 向与客户端连接的服务器发送一指令;\n[0037] 判断客户端中是否存储了第一数据包;\n[0038] 当客户端中存储了第一数据包时,依据该指令,从与客户端连接的服务器获取更新数据包,其中在所述服务器端通过如下步骤产生更新数据包:\n[0039] 获取第一数据包、第二数据包;\n[0040] 划分第一数据包中的每个文件,以获得多个第一文件块;\n[0041] 划分第二数据包中的每个文件,以获得多个第二文件块;\n[0042] 将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容;\n[0043] 将第一数据包与更新数据包进行合并,从而生成第二数据包,以进行应用升级,[0044] 其中,所述第一数据包、第二数据包分别对应于第一应用、第二应用。\n[0045] 优选地,在根据本发明实施例的信息处理方法中,\n[0046] 当客户端中未存储第一数据包时,从服务器获取第二数据包。\n[0047] 优选地,根据本发明实施例的信息处理方法进一步包括从客户端向服务器上传第一数据包的步骤。\n[0048] 根据本发明的又一个方面,提供了一种信息处理设备,包括:\n[0049] 获取部件,用于获取第一数据包,所述第一数据包对应于第一应用,并且用于获取第二数据包,所述第二数据包对应于第二应用;\n[0050] 划分部件,用于划分第一数据包中的每个文件,以获得多个第一文件块,并且用于划分第二数据包中的每个文件,以获得多个第二文件块;\n[0051] 比较部件,用于将多个第一文件块与多个第二文件块进行比较;以及[0052] 生成部件,用于根据比较部件的比较结果生成更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容。\n[0053] 优选地,根据本发明实施例的信息处理设备还包括:\n[0054] 指令接收部件,用于从与所述服务器连接的客户端接收第一指令;\n[0055] 传输部件,用于依据所述第一指令,将所述更新数据包传输至所述客户端。\n[0056] 优选地,根据本发明实施例的信息处理设备还包括:\n[0057] 指令接收部件,用于从与所述服务器连接的客户端接收第二指令;\n[0058] 判断部件,用于判断所述客户端中是否存储了第一数据包;\n[0059] 传输部件,用于如果判断部件确定所述客户端中存储了第一数据包,则将所述更新数据包发送到客户端,使所述客户端根据第一数据包和更新数据包获得第二数据包,并通过第二数据包进行应用升级;而如果判断部件确定所述客户端中未存储第一数据包,则将所述第二数据包发送到客户端,使所述客户端直接通过第二数据包进行应用升级。\n[0060] 优选地,在根据本发明实施例的信息处理设备中,所述比较部件包括:\n[0061] 校验和计算部件,用于计算多个第一文件块和多个第二文件块的每一个的校验和;\n[0062] 校验和比较部件,用于将多个第二文件块中的每一个的校验和分别与多个第二文件块中的每一个的校验和进行比较;\n[0063] 强校验部件,用于在二者的校验和相同的情况下进一步进行强校验;\n[0064] 标记记录部件,用于如果强校验的结果表示二者相同,则记录相同文件块的对应位置,否则记录第二数据包与第一数据包不同的文件块的对应位置和数据内容。\n[0065] 优选地,在根据本发明实施例的信息处理设备中,所述划分部件一次划分第一数据包以获得一组多个第一文件块,并且多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且\n[0066] 其中所述比较部件将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,并且\n[0067] 其中更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。\n[0068] 优选地,在根据本发明实施例的信息处理设备中,所述第一数据包通过由客户端上传到获取部件而获得。\n[0069] 优选地,在根据本发明实施例的信息处理设备中,所述第一数据包通过由获取部件存取客户端而获得。\n[0070] 根据本发明的再一个方面,提供了一种信息处理设备,包括:\n[0071] 指令发送部件,用于向与客户端连接的服务器发送一指令;\n[0072] 判断部件,用于判断客户端中是否存储了第一数据包;\n[0073] 获取部件,与当判断部件确定客户端中存储了第一数据包时,依据该指令,从与客户端连接的服务器获取更新数据包,其中在所述服务器端通过如下步骤产生更新数据包:\n[0074] 获取第一数据包、第二数据包;\n[0075] 划分第一数据包中的每个文件,以获得多个第一文件块;\n[0076] 划分第二数据包中的每个文件,以获得多个第二文件块;\n[0077] 将多个第一文件块与多个第二文件块进行比较,以获得更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容;\n[0078] 合并部件,用于将第一数据包与更新数据包进行合并,从而生成第二数据包,以进行应用升级,\n[0079] 其中,所述第一数据包、第二数据包分别对应于第一应用、第二应用。\n[0080] 优选地,在根据本发明实施例的信息处理设备中,\n[0081] 当判断部件确定客户端中未存储第一数据包时,所述获取部件从服务器获取第二数据包。\n[0082] 优选地,根据本发明实施例的信息处理设备进一步包括上传部件,用于向服务器上传第一数据包。\n[0083] 在根据本发明实施例的信息处理设备和方法中,将数据包中的文件划分为多个文件块,并在文件块的基础上生成更新数据包,从而与以文件为单位生成补丁文件的现有技术相比,进一步减小了应用升级所需的网络流量。并且,这种应用升级对于开发者透明,无需开发者做出额外的努力,由服务器端(应用商店)完成升级包的生成。\n附图说明\n[0084] 图1是示出了根据本发明实施例的、应用于服务器端的信息处理方法的过程的第一示例的流程图;\n[0085] 图2是示出了根据本发明实施例的、应用于服务器端的信息处理方法的过程的第二示例的流程图;\n[0086] 图3是示出了根据本发明实施例的、应用于客户端的信息处理方法的过程的流程图;\n[0087] 图4是示出了根据本发明实施例的、作为服务器端的信息处理设备的配置的第一示例的框图;\n[0088] 图5是示出了根据本发明实施例的、作为服务器端的信息处理设备的配置的第二示例的框图;以及\n[0089] 图6是示出了根据本发明实施例的、作为客户端的信息处理设备的配置的框图。\n具体实施方式\n[0090] 下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。\n[0091] 在根据本发明的应用升级中,存在服务器端和客户端。在服务器端,通过比较新旧两个版本的应用,自动地、动态地产生表示二者差异的更新数据包。在客户端,通过从服务器端获取更新数据包,然后在旧应用的基础上,参照更新数据包,生成新应用。当然,在客户端未存储旧应用的情况下,也可以直接从服务器端下载新应用。\n[0092] 接下来,首先参照图1描述应用于服务器端的信息处理方法。\n[0093] 如图1所示,所述信息处理方法包括如下步骤:\n[0094] 首先,在步骤S101,获取第一数据包,所述第一数据包对应于第一应用,并获取第二数据包,所述第二数据包对应于第二应用。例如,这里的第一应用为旧版本的应用,而第二应用为新版本的应用。第一数据包和第二数据包中分别包括多个文件。另外,这里的第一数据包可以通过客户端主动上传而获得,当然也可以通过服务器存取客户端来获得。\n[0095] 然后,在步骤S102,划分第一数据包中的每个文件,以获得多个第一文件块,并划分第二数据包中的每个文件,以获得多个第二文件块。可以以预定量的字节为单位划分第一、第二数据包。\n[0096] 接着,在步骤S103,将多个第一文件块与多个第二文件块进行比较,以获得更新数据包。其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容。\n[0097] 需要指出的是,这里的比较过程可以是对位比较的过程。具体来说,例如,以5字节为单位将第一数据包和第二数据包划分为多个第一文件块a1(0~4字节)、a2(5~9字节)、a3(10-14字节)、......和多个第二文件块b1(0~4字节)、b2(5~9字节)、b3(10-14字节)、......。\n[0098] 然后,计算多个第一文件块和多个第二文件块的每一个的校验和。\n[0099] 然后,将多个第二文件块中的每一个的校验和分别与多个第二文件块中的每一个的校验和进行比较。即,将b1分别与a1、a2、......进行比较,将b2分别与a1、a2、......进行比较,将b3分别与a1、a2、......进行比较,......。\n[0100] 如果二者的校验和相同,则进一步进行强校验。所谓强校验是指逐个位的进行精确比较。\n[0101] 如果强校验的结果表示二者相同,则记录相同文件块的对应位置;否则记录第二数据包与第一数据包不同的文件块的对应位置和数据内容。\n[0102] 然而,这种比较方式的缺点在于可能不能充分地检测出相同文件块。例如,假设第\n0~4字节的第一文件块与第1~5字节的第二文件块相同,但是由于对位比较,因此不能发现这样的相同文件块而将其作为不同文件块处理。\n[0103] 针对这种情况,作为更优选的实施例,这里的比较过程也可以是滚动循环错位比较的过程。概括来讲,在这种更优选的实施例中,划分数据包的步骤包括:一次划分第一数据包以获得一组多个第一文件块,并且多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔。仍以5字节为单位划分第一数据包和第二数据包进行说明。首先,将第一数据包划分为一组多个第一文件块a1(0~4字节)、a2(5~\n9字节)、a3(10-14字节)、......。然后,将第二数据包划分为多组多个第二文件块:第一组:\n块b1(0~4字节)、b2(5~9字节)、b3(10-14字节)、......;第二组:块b1(1~5字节)、b2(6~\n10字节)、b3(11-15字节)、......;第三组:块b1(2~6字节)、b2(7~11字节)、b3(12-16字节)、......。\n[0104] 在这种情况下,将多个第一文件块与多个第二文件块进行比较的步骤包括将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较。其中一组多个第一文件块与一组多个第二文件块的比较与之前所述的对位比较的方法相同。\n[0105] 在这种优选实施例中,通过滚动循环错位比较,能够更充分地发现相同文件块。需要指出的是,在错位比较的情况下,更新数据包中除了不同文件块的对应位置和数据内容之外,还应该包括第二数据包与第一数据包相同的文件块的对应位置。\n[0106] 在根据本发明实施例的上述信息处理方法中,还可以包括如下步骤:\n[0107] 在步骤S104,从与所述服务器连接的客户端接收第一指令。这里所述的第一指令用于请求获得更新数据包以进行应用升级。\n[0108] 然后,在步骤S105,依据所述第一指令,将所述更新数据包传输至所述客户端。\n[0109] 需要指出的是,所述步骤S104可以存在于如上所述的步骤S101~S103之前或之后。在图1中,将步骤S104示出在步骤S103之后作为示例。另外,可以理解,步骤S105必须在生成更新数据包的步骤S103之后。\n[0110] 下面,参照图2描述根据本发明实施例的、应用于服务器端的信息处理方法的另一示例。如图2所示,所述方法包括步骤S101~S103、S106~S109,其中,步骤S101~S103与图1中所示的方法中包括的步骤完全相同,这里用相同的附图标记表示,并且为了简明起见,将不再赘述其内容。\n[0111] 与图1中的方法不同的是,所述方法还包括如下步骤以替换步骤S104~S105:\n[0112] 在步骤S106,从与所述服务器连接的客户端接收第二指令。这里所述的第一指令用于请求获得更新数据包以进行应用升级。\n[0113] 然后,在步骤S107,判断所述客户端中是否存储了第一数据包。\n[0114] 如果在步骤S107中确定所述客户端中存储了第一数据包,则处理进行到步骤S108。在步骤S108,将所述更新数据包发送到客户端,使所述客户端根据第一数据包和更新数据包获得第二数据包,并通过第二数据包进行应用升级。\n[0115] 另一方面,如果在步骤S107中确定所述客户端中未存储第一数据包,则处理进行到步骤S109。在步骤S109,将所述第二数据包发送到客户端,使所述客户端直接通过第二数据包进行应用升级。\n[0116] 与图1中的步骤S104和S105类似地,图2中的步骤S106~S107、S109可以存在于如上所述的步骤S101~S103之前或之后。在图2中,将其示出在步骤S103之后作为示例。另外,可以理解,步骤S108必须在生成更新数据包的步骤S103之后。\n[0117] 接下来,将参照图3描述根据本发明实施例的、应用于客户端的信息处理方法。如图3所述,所述方法包括如下步骤:\n[0118] 首先,在步骤S301,向与客户端连接的服务器发送一指令。\n[0119] 然后,在步骤S302,判断客户端中是否存储了第一数据包。\n[0120] 当在步骤S302中确定客户端中存储了第一数据包时,处理进行到步骤S303。在步骤S303,依据该指令,从与客户端连接的服务器获取更新数据包。其中所述更新数据包是服务器通过在上文中所述的步骤S101~S103获得的,并且在这种情况下,所述方法还可以包括向服务器上传第一数据包的步骤。\n[0121] 最后,在步骤S304,将第一数据包与更新数据包进行合并,从而生成第二数据包,以进行应用升级。其中,更新数据包中包含如何构造第二数据包的映射表,例如,第**字节~第**字节的内容从第一数据包的第**字节~第**字节获取,第**字节~第**字节的内容与第一数据包中不同,具体内容为“*****”。\n[0122] 另一方面,当在步骤S302中确定客户端中未存储第一数据包时,处理进行到步骤S305。在步骤S305,从服务器直接获取第二数据包以进行应用升级。\n[0123] 在上文中,已经参照图1到图3描述了根据本发明实施例的、用于应用升级的信息处理方法。接下来,将参照图4到图6描述根据本发明实施例的信息处理设备的具体配置。\n[0124] 首先,参照图4描述根据本发明实施例的、作为服务器端的信息处理设备的配置。\n如图4所示,作为服务器端的信息处理设备400包括获取部件401、划分部件402、比较部件\n403和生成部件404。\n[0125] 获取部件401用于获取第一数据包,所述第一数据包对应于第一应用,并且用于获取第二数据包,所述第二数据包对应于第二应用。所述第一数据包可以通过客户端上传而获得,或者所述第一数据包也可以通过获取部件存取客户端而获得。\n[0126] 划分部件402用于划分第一数据包中的每个文件,以获得多个第一文件块,并且用于划分第二数据包中的每个文件,以获得多个第二文件块。\n[0127] 比较部件403用于将多个第一文件块与多个第二文件块进行比较。\n[0128] 生成部件404用于根据比较部件的比较结果生成更新数据包,其中在更新数据包中包含所述第二数据包与所述第一数据包不同的文件块的对应位置和数据内容。\n[0129] 这里的比较部件403包括:校验和计算部件4031,用于计算多个第一文件块和多个第二文件块的每一个的校验和;校验和比较部件4032,用于将多个第二文件块中的每一个的校验和分别与多个第二文件块中的每一个的校验和进行比较;强校验部件4033,用于在二者的校验和相同的情况下进一步进行强校验;标记记录部件4034,用于如果强校验的结果表示二者相同,则记录相同文件块的对应位置,否则记录第二数据包与第一数据包不同的文件块的对应位置和数据内容。\n[0130] 如上文中所述,划分部件402可以一次划分第一数据包以获得一组多个第一文件块,并且一次划分第二数据包以获得一组多个第二文件块。当然,更优选地,划分部件402可以一次划分第一数据包以获得一组多个第一文件块,并且多次划分第二数据包以获得多组多个第二文件块,其中各组之间在划分的起始位置上存在预定间隔,并且在这种情况下,所述比较部件将一组多个第一文件块分别与多组多个第二文件块中的每一组进行比较,并且在这种情况下,更新数据包中还包括第二数据包与第一数据包相同的文件块的对应位置。\n[0131] 另外,信息处理设备400还包括:指令接收部件405,用于从与所述服务器连接的客户端接收第一指令;以及传输部件406,用于依据所述第一指令,将所述更新数据包传输至所述客户端。\n[0132] 下面,参照图5描述根据本发明实施例的、作为服务器端的信息处理设备的另一示例。如图5所示,所述设备400’包括获取部件401、划分部件402、比较部件403和生成部件\n404,其与图4中所示的设备中包括的对应部件完全相同。这里用相同的附图标记表示,并且为了简明起见,将不再赘述其内容。\n[0133] 除此之外,代替图4中的指令接收部件405和传输部件406,图5中的信息处理设备\n400’包括:指令接收部件407,用于从与所述服务器连接的客户端接收第二指令;判断部件\n408,用于判断所述客户端中是否存储了第一数据包;传输部件409,用于如果判断部件确定所述客户端中存储了第一数据包,则将所述更新数据包发送到客户端,使所述客户端根据第一数据包和更新数据包获得第二数据包,并通过第二数据包进行应用升级;而如果判断部件确定所述客户端中未存储第一数据包,则将所述第二数据包发送到客户端,使所述客户端直接通过第二数据包进行应用升级。\n[0134] 最后,参照图6描述根据本发明实施例的、作为客户端的信息处理设备500的配置。\n如图6所示,信息处理设备500包括指令发送部件501、判断部件502、获取部件503和合并部件504。\n[0135] 指令发送部件501,用于向与客户端连接的服务器发送一指令。\n[0136] 判断部件502用于判断客户端中是否存储了第一数据包;\n[0137] 获取部件503用于当判断部件502确定客户端中存储了第一数据包时,依据该指令,从与客户端连接的服务器获取更新数据包。\n[0138] 合并部件504用于将第一数据包与更新数据包进行合并,从而生成第二数据包,以进行应用升级。\n[0139] 当判断部件502确定客户端中未存储第一数据包时,所述获取部件503从服务器获取第二数据包。\n[0140] 并且,信息处理设备500进一步包括上传部件505,用于向服务器上传第一数据包。\n[0141] 以上参照图4到图6描述了根据本发明实施例的信息处理方法。由于所述方法与上文中所述的信息处理设备完全对应,因此为了简明起见,未对其细节内容展开描述。\n[0142] 通过根据本发明实施例的信息处理设备和方法,能够进一步减小应用升级所需的网络流量,并且能够由服务器自动地、动态地生成用于应用升级的更新数据包。\n[0143] 需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。\n[0144] 最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。\n[0145] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。\n[0146] 以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2016-12-14
- 2013-10-16
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201210055714.3
申请日: 2012.03.05
- 2013-09-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-04-12
|
2004-10-08
| | |
2
| |
2011-09-21
|
2010-03-03
| | |
3
| |
2008-01-23
|
2006-07-20
| | |
4
| |
2011-08-10
|
2011-03-18
| | |
5
| | 暂无 |
2007-10-16
| | |
6
| |
2009-03-11
|
2008-10-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |