[发明专利]数据打包方法及装置有效
申请号: | 201410738626.2 | 申请日: | 2014-12-04 |
公开(公告)号: | CN104462352B | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 崔维福;张娜 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 李志刚,吴贵明 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 打包 方法 装置 | ||
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据打包方法及装置。
背景技术
数据包开发工具,例如,NuGet是免费、开源的包管理开发工具,专注于在.NET应用开发过程中,简单地合并第三方的组件库。Nuget组件库基于.NET工程文件进行打包时具有依赖项分析功能,在利用Nuget组件库打包时需要配置目标文件的依赖项,其中,依赖项是指目标文件所引用的文件或是程序等,例如,当某个程序或动态链接库(Dynamic Link Library,简称为DLL)使用其他动态链接库中的函数时,就会创建依赖项。现有技术中,由于.NET工程文件中包含的程序间有所引用时可以方便的知道依赖关系,得到依赖项,但是在没有.NET工程文件只有动态链接库文件时,无法直接找到该动态链接库文件的依赖项,因此需要人工的进行动态链接库文件的依赖项分析,处理过程十分繁琐,打包效率较低。
针对相关技术中没有工程文件的动态链接库文件打包效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据打包方法及装置,以解决相关技术中没有工程文件的动态链接库文件打包效率低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据打包方法。
根据本发明的数据打包方法包括:获取目标动态链接库的元数据信息;根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及根据依赖关系树对目标动态链接库进行打包。
进一步地,根据元数据信息创建依赖关系树包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。
进一步地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。
进一步地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。
进一步地,在根据元数据信息查找目标动态链接库的依赖项之后,该方法还包括:从目标动态链接库的依赖项中获取自定义的动态链接库;以及将自定义的动态链接库的作为依赖关系树的第一级子节点。
为了实现上述目的,根据本发明的另一方面,提供了一种数据打包装置。
根据本发明的数据打包装置包括:第一获取单元,用于获取目标动态链接库的元数据信息;创建单元,用于根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及打包单元,用于根据依赖关系树对目标动态链接库进行打包。
进一步地,创建单元包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。
进一步地,子节点包括叶节点,打包单元包括:遍历单元,用于从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及打包单元,用于依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。
进一步地,子节点包括叶节点,打包单元包括:判断模块,用于从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。
进一步地,该装置还包括:第二获取单元,用于从目标动态链接库的依赖项中获取自定义的动态链接库;以及确定单元,用于将自定义的动态链接库的作为依赖关系树的第一级子节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410738626.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置