一种数据包的处理方法和设备的制造方法_2

文档序号:9687299阅读:来源:国知局
描述中的附图仅仅是本申请的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可W根据送些附图获得其 他的附图。
[0045] 图1为本申请实施例一提供的一种数据包的处理方法的流程示意图;
[0046] 图2为建立得到包含了所述安装包W及所述至少两个数据包之间的关系图;
[0047] 图3为本申请实施例二提供的一种数据包的处理方法的流程示意图;
[0048] 图4为本申请实施例Η提供的一种数据包的处理设备的结构示意图。
【具体实施方式】
[0049] 为了本申请的目的,本申请实施例提供了一种数据包的处理方法和设备,通过提 取安装包内记录的至少一个数据包、数据包的版本号W及数据包依赖的其他数据包的版本 号;根据提取得到的所述至少一个所述数据包的版本号、数据包依赖的其他数据包的版本 号W及安装包依赖的数据包的版本号,确定安装包与至少一个数据包W及不同数据包之间 的依赖关系;利用依赖关系,查找出安装包中记录的数据包是否存在依赖冲突,W便安装包 在被打包时选择不具有依赖冲突的数据包,一方面,有效避免了由于安装包中记录的数据 包之间存在依赖冲突致使安装包打包错误;另一方面,能够对安装包记录的数据包与其依 赖的其他数据包之间的依赖关系进行识别,为后续为安装包选择适合的数据包奠定基础, 提升了安装包打包的精确度,有效改善了软件安装的成功率。
[0050] 需要说明的是,本申请实施例中涉及到的数据包、依赖数据包、安装包Η者之间的 关系为:
[0051] 一个安装包内包含了多个数据包,送些数据包可W成为该安装包的依赖数据包, 也就是说安装包由包含的多个数据包组成;
[0052] -个数据包内包含有应用程序,一个应用程序的开发可其他应用程序为基础 进行开发,郝么就可W说该应用程序依赖被作为基础开发的应用程序,送样若应用程序1 的开发需要W应用程序2为基础,郝么应用程序1所在的数据包1与应用程序2所在的数 据包2之间的关系为;数据包1依赖数据包2,即数据包1为依赖者,数据包2为被依赖者 依赖的数据包。
[0053] 依赖数据包也可W被称为被依赖者依赖的数据包。
[0054] 下面结合说明书附图对本申请各个实施例进行详细描述。显然,所描述的实施例 仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范 围。
[00巧]实施例一:
[0056] 如图1所示,为本申请实施例一提供的一种数据包的处理方法的流程示意图。所 述方法可W如下所述。
[0057] 步骤101 ;提取安装包内记录的至少一个数据包、所述数据包的版本号W及所述 数据包依赖的其他数据包的版本号。
[0058] 在步骤101中,在安装包打包之前,需要对安装包内记录的数据包进行扫描,并利 用本申请实施例的方式确定记录的数据包是否存在依赖冲突。
[0059] 具体地,从安装包spec文件中获取记录的至少一个数据包、所述数据包的版本号 W及所述数据包依赖的其他数据包的版本号。
[0060] 在安装包的版本号确认之后,根据安装包的版本号确定安装包依赖的数据包的版 本号。
[0061] 如表1所示,为从安装包spec文件中获取记录的至少一个数据包、所述数据包的 版本号W及所述数据包依赖的其他数据包的版本号的结构示意表:
[0062]
[006
[0064] 表 1
[0065] 从表1中可W看出,在安装包的spec文件中记录了多个数据包,数据包与数据包 之间具备依赖关系,即具备依赖关系的两个数据包,可W是针对同一个应用程序开发的不 同版本的数据包,也可W是针对不同应用程序开发的数据包。
[0066] 对于安装包依赖的数据包,可W依赖该数据包的不同版本,但是可W限制依赖该 数据包的最低版本,和/或依赖该数据包的最高版本。
[0067] 例如;对于软件A的安装包曰,其版本号为1. 0. 15,对于版本号为1. 0. 15的安装包 a依赖的数据包包含了数据包1,郝么可W限定版本号为1.0. 15的安装包a依赖数据包1 的最低版本的版本号为1. 0,依赖数据包1的最高版本的版本号为3. 0,也就意味着版本号 为1. 0. 15的安装包a依赖数据包1的版本号为1. 0~3. 0。
[0068] 步骤102 ;根据提取得到的所述至少一个所述数据包的版本号、所述数据包依赖 的其他数据包的版本号w及所述安装包依赖的数据包的版本号,确定所述安装包与所述至 少一个数据包W及不同数据包之间的依赖关系。
[0069] 在步骤102中,由于对于一个软件的安装包,可W依赖一个数据包,也可W依赖多 个数据包,郝么就决定了安装包与依赖的数据包、W及安装包依赖的数据包与自己依赖的 其他数据包之间的依赖关系。
[0070] 其中,依赖关系包含了依赖冲突和不存在依赖冲突。依赖冲突是指安装包内记录 的数据包的版本号与该数据包依赖的其他数据包的版本号之间存在逻辑冲突。
[0071] 例如;版本号为1. 0的数据包1依赖数据包5,要求依赖的数据包5的版本号为 1. 0,版本号为1. 0的数据包2也依赖数据包5,但要求依赖的数据包5的版本号为0. 9,由 此可见,若数据包1、数据包2和数据包5同时存在于一个安装包中,从数据包5作为被依赖 者依赖的数据包的角度,数据包1与数据包2之间存在依赖冲突。
[0072] 具体地,根据提取得到的所述至少一个所述数据包的版本号、所述数据包依赖的 其他数据包的版本号W及所述安装包依赖的数据包的版本号,确定所述安装包与所述至少 一个数据包W及不同数据包之间的依赖关系的方式包括但不限于W下几种:
[0073] 第一种方式:
[0074] 当提取得到的所述数据包的个数为一个时,判断所述数据包的版本号与所述安装 包依赖的数据包的版本号信息之间的逻辑关系是否存在相惇;
[0075] 若所述数据包的版本号与所述安装包依赖的数据包的版本号之间的逻辑关系相 惇时,确定所述数据包与所述安装包之间依赖冲突;
[0076] 若所述数据包的版本号与所述安装包依赖的数据包的版本号之间的逻辑关系不 相惇时,确定所述数据包与所述安装包之间不存在依赖冲突。
[0077] 例如;安装包依赖的数据包1的版本号要求大于版本1. 1,假设安装包内记录的数 据包1的版本号为0. 9,郝么此时安装包与记录的数据包1之间的依赖关系为依赖冲突;
[0078] 安装包依赖的数据包1的版本号为大于版本1. 1,假设安装包内记录的数据包1的 版本号为1. 2,郝么此时安装包与记录的数据包1之间的依赖关系为不存在依赖冲突。
[0079] 第二种方式:
[0080] 当提取得到的所述数据包的个数为至少两个时,根据提取得到的至少两个数据包 的版本号、每一个所述数据包依赖的其他数据包的版本号W及所述安装包依赖的数据包的 版本号,建立包含了所述安装包W及所述至少两个数据包之间的关系图。
[0081] 具体地,W安装包为父节点,根据所述安装包依赖的数据包的版本号,将数据包的 版本号符合所述安装包依赖的数据包的版本号的数据包作为父节点的子节点;
[0082] 针对得到的每一个子节点,根据该子节点的数据包依赖的其他数据包的版本号, 将其他数据包中符合该子节点的数据包依赖的其他数据包的版本号的数据包作为该子节 点的下一级子节点,依次往下,建立包含了所述安装包W及所述至少两个数据包之间的父 子节点图。
[0083] 具体地,当步骤101中提取到的所述数据包的个数为至少两个时,假设提取到的 所述数据包的个数为Η个,分别是;数据包2,版本号为1. 0的数据包1依赖数据包2,其对 应的版本号1. 0 ;数据包3,版本号为1. 0的数据包2依赖数据包3,其对应的版本号1. 5 ;数 据包4,版本号为1. 0的数据包3依赖数据包4,其对应的版本号1. 0。而数据包4,版本号 为1.ο的数据包4依赖数据包1,其对应的版本号1. 0。
[0084] 此时,W安装包为父节点,安装包依赖的数据包为子节点,数据包的版本号为安装 包到数据包的权重,郝么建立得到包含了所述安装包W及所述至少两个数据包之间的父子 节点图,如图2所示。
[0085] 从图2中可W看出,安装包包含了Η个子节点,安装包到Η个子节点的权重分别 为 1.0U.5 和 1.0。
[0086] 若建立的包含了所述安装包W及所述至少两个数据之间的关系图构成环形图时, 确定所述安装包与所述环形图中包含的所述至少两个数据包之间依赖冲突。
[0087] 仍W图2为例,安装包与数据包2、数据包3和数据包4之间形成环形图,由此说明 安装包与数据包2、数据包3和数据包4之间存在依赖冲突。
[0088] 若建立的包含了所述安装包W及所述至少两个数据包之间的关系图不构成环形 图时,确定所述
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1