本发明专利技术公开了一种数据打包方法及装置,该数据打包方法包括:获取目标动态链接库的元数据信息;根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及根据依赖关系树对目标动态链接库进行打包。通过本发明专利技术,解决了相关技术中没有工程文件的动态链接库文件打包效率低的问题,进而达到了提高没有工程文件的动态链接库文件打包效率的效果。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种数据打包方法及装置,该数据打包方法包括:获取目标动态链接库的元数据信息;根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及根据依赖关系树对目标动态链接库进行打包。通过本专利技术,解决了相关技术中没有工程文件的动态链接库文件打包效率低的问题,进而达到了提高没有工程文件的动态链接库文件打包效率的效果。【专利说明】数据打包方法及装置
本专利技术涉及数据处理领域,具体而言,涉及一种数据打包方法及装置。
技术介绍
数据包开发工具,例如,是免费、开源的包管理开发工具,专注于在.肥I'应用开发过程中,简单地合并第三方的组件库。如阴丨组件库基于.肥I工程文件进行打包时具有依赖项分析功能,在利用如阴丨组件库打包时需要配置目标文件的依赖项,其中,依赖项是指目标文件所引用的文件或是程序等,例如,当某个程序或动态链接库11^11匕虹7,简称为01)使用其他动态链接库中的函数时,就会创建依赖项。现有技术中,由于.肥I工程文件中包含的程序间有所引用时可以方便的知道依赖关系,得到依赖项,但是在没有.工程文件只有动态链接库文件时,无法直接找到该动态链接库文件的依赖项,因此需要人工的进行动态链接库文件的依赖项分析,处理过程十分繁琐,打包效率较低。 针对相关技术中没有工程文件的动态链接库文件打包效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种数据打包方法及装置,以解决相关技术中没有工程文件的动态链接库文件打包效率低的问题。 为了实现上述目的,根据本专利技术的一个方面,提供了一种数据打包方法。 根据本专利技术的数据打包方法包括:获取目标动态链接库的元数据信息;根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及根据依赖关系树对目标动态链接库进行打包。 进一步地,根据元数据信息创建依赖关系树包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。 进一步地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。 进一步地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。 进一步地,在根据元数据信息查找目标动态链接库的依赖项之后,该方法还包括:从目标动态链接库的依赖项中获取自定义的动态链接库;以及将自定义的动态链接库的作为依赖关系树的第一级子节点。 为了实现上述目的,根据本专利技术的另一方面,提供了一种数据打包装置。 根据本专利技术的数据打包装置包括:第一获取单元,用于获取目标动态链接库的元数据信息;创建单元,用于根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及打包单元,用于根据依赖关系树对目标动态链接库进行打包。 进一步地,创建单元包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。 进一步地,子节点包括叶节点,打包单元包括:遍历单元,用于从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及打包单元,用于依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。 进一步地,子节点包括叶节点,打包单元包括:判断模块,用于从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。 进一步地,该装置还包括:第二获取单元,用于从目标动态链接库的依赖项中获取自定义的动态链接库;以及确定单元,用于将自定义的动态链接库的作为依赖关系树的第一级子节点。 通过本专利技术,采用自动分析动态链接库的依赖关系树,并根据依赖关系树对依赖关系树的每个节点进行打包,解决了相关技术中没有工程文件的动态链接库文件打包效率低的问题,进而达到了提高没有工程文件的动态链接库文件打包效率的效果。 【专利附图】【附图说明】 构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1是根据本专利技术实施例的数据打包方法的流程图; 图2是根据本专利技术实施例的依赖关系树的示意图;以及 图3是根据本专利技术实施例的数据打包装置的示意图。 【具体实施方式】 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。 为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。 根据本专利技术实施例,提供了一种数据打包方法,图1是根据本专利技术实施例的数据打包方法的流程图。 如图1所示,该方法包括如下的步骤3102至步骤3106: 步骤3102:获取目标动态链接库的元数据信息。 动态链接库((071131111(3 1111^ 11131^1*7,简称为01)是一个包含可由多个程序同时使用的代码和数据的库。动态链接库包含一个或多个已被编译、链接并与使用它们的进程分开存储的函本文档来自技高网...
【技术保护点】
一种数据打包方法,其特征在于,包括:获取目标动态链接库的元数据信息;根据所述元数据信息创建依赖关系树,其中,所述依赖关系树的节点包括父节点和子节点,所述子节点为所述父节点的依赖项,所述父节点包括根节点,所述根节点为所述目标动态链接库;以及根据所述依赖关系树对所述目标动态链接库进行打包。
【技术特征摘要】
【专利技术属性】
技术研发人员:崔维福,张娜,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。