CN104462352B - 数据打包方法及装置 - Google Patents

数据打包方法及装置 Download PDF

Info

Publication number
CN104462352B
CN104462352B CN201410738626.2A CN201410738626A CN104462352B CN 104462352 B CN104462352 B CN 104462352B CN 201410738626 A CN201410738626 A CN 201410738626A CN 104462352 B CN104462352 B CN 104462352B
Authority
CN
China
Prior art keywords
node
item
dependency tiee
packed
tiee
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410738626.2A
Other languages
English (en)
Other versions
CN104462352A (zh
Inventor
崔维福
张娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410738626.2A priority Critical patent/CN104462352B/zh
Publication of CN104462352A publication Critical patent/CN104462352A/zh
Application granted granted Critical
Publication of CN104462352B publication Critical patent/CN104462352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据打包方法及装置,该数据打包方法包括:获取目标动态链接库的元数据信息;根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及根据依赖关系树对目标动态链接库进行打包。通过本发明,解决了相关技术中没有工程文件的动态链接库文件打包效率低的问题,进而达到了提高没有工程文件的动态链接库文件打包效率的效果。

Description

数据打包方法及装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据打包方法及装置。
背景技术
数据包开发工具,例如,NuGet是免费、开源的包管理开发工具,专注于在.NET应用开发过程中,简单地合并第三方的组件库。Nuget组件库基于.NET工程文件进行打包时具有依赖项分析功能,在利用Nuget组件库打包时需要配置目标文件的依赖项,其中,依赖项是指目标文件所引用的文件或是程序等,例如,当某个程序或动态链接库(Dynamic LinkLibrary,简称为DLL)使用其他动态链接库中的函数时,就会创建依赖项。现有技术中,由于.NET工程文件中包含的程序间有所引用时可以方便的知道依赖关系,得到依赖项,但是在没有.NET工程文件只有动态链接库文件时,无法直接找到该动态链接库文件的依赖项,因此需要人工的进行动态链接库文件的依赖项分析,处理过程十分繁琐,打包效率较低。
针对相关技术中没有工程文件的动态链接库文件打包效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据打包方法及装置,以解决相关技术中没有工程文件的动态链接库文件打包效率低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据打包方法。
根据本发明的数据打包方法包括:获取目标动态链接库的元数据信息;根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及根据依赖关系树对目标动态链接库进行打包。
进一步地,根据元数据信息创建依赖关系树包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。
进一步地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。
进一步地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。
进一步地,在根据元数据信息查找目标动态链接库的依赖项之后,该方法还包括:从目标动态链接库的依赖项中获取自定义的动态链接库;以及将自定义的动态链接库的作为依赖关系树的第一级子节点。
为了实现上述目的,根据本发明的另一方面,提供了一种数据打包装置。
根据本发明的数据打包装置包括:第一获取单元,用于获取目标动态链接库的元数据信息;创建单元,用于根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库;以及打包单元,用于根据依赖关系树对目标动态链接库进行打包。
进一步地,创建单元包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。
进一步地,子节点包括叶节点,打包单元包括:遍历单元,用于从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及打包单元,用于依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。
进一步地,子节点包括叶节点,打包单元包括:判断模块,用于从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。
进一步地,该装置还包括:第二获取单元,用于从目标动态链接库的依赖项中获取自定义的动态链接库;以及确定单元,用于将自定义的动态链接库的作为依赖关系树的第一级子节点。
通过本发明,采用自动分析动态链接库的依赖关系树,并根据依赖关系树对依赖关系树的每个节点进行打包,解决了相关技术中没有工程文件的动态链接库文件打包效率低的问题,进而达到了提高没有工程文件的动态链接库文件打包效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据打包方法的流程图;
图2是根据本发明实施例的依赖关系树的示意图;以及
图3是根据本发明实施例的数据打包装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据打包方法,图1是根据本发明实施例的数据打包方法的流程图。
如图1所示,该方法包括如下的步骤S102至步骤S106:
步骤S102:获取目标动态链接库的元数据信息。
动态链接库((Dynamic Link Library,简称为DLL)是一个包含可由多个程序同时使用的代码和数据的库。动态链接库包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。动态链接库的使用有助于共享数据和资源,多个应用程序可同时访问内存中单个动态链接库副本的内容。目标动态链接库是指需要打包的动态链接库,可以是一个动态链接库,也可以是多个动态链接库。元数据(Metadata)是描述信息资源或数据等对象的数据,其使用目的在于识别资源、评价资源、追踪资源在使用过程中的变化等。在目标动态链接库的元数据信息中描述了该动态链接库引用的对象,即该动态链接库的依赖项。依赖项是指目标文件所引用的文件或是程序等,例如,当动态链接库使用其他动态链接库中的函数时,就会创建依赖项。具体地,元数据信息具有固定的格式,在目标动态链接库中的文件头中描述了该目标动态链接库中的元数据信息的位置信息,通过该位置信息可以获取到该目标动态链接库中的元数据信息。
步骤S104:根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库。
如上所述,在目标动态链接库中的元数据信息中包含该目标动态链接库的依赖项。依赖关系树用于描述目标动态链接库与其依赖项的依赖关系,以及该目标动态链接库的依赖项与该目标动态链接库的依赖项的依赖性的依赖关系,依次类推。在依赖关系树中,子节点为父节点的依赖项,如图2所示的依赖关系树中,根节点为该目标动态链接库,与该根节点连接的子节点1为目标动态链接库的依赖项,子节点2、子节点3和叶子节点1是子节点1的依赖项,叶子节点3是子节点3的依赖项,叶子节点2、子节点4和子节点5是子节点2的依赖项,叶子节点4既是子节点4的依赖项,也是子节点5的依赖项。具体地,根据元数据信息创建依赖关系树包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。
第一依赖项为根据元数据信息查找到的目标动态链接库的依赖项,第一依赖项可能不存在,也可能是一个,也可能是多个。本发明实施例以第一依赖项的个数大于零为例进行说明。在得到第一依赖项后,获取第一依赖项的元数据信息,根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,在得到第二依赖项后,继续获取第二依赖项的依赖项,依次类推,直到最后得到的依赖项不存在依赖项为止。优选地,为了提高对目标动态链接库打包的效率,在根据元数据信息查找目标动态链接库的依赖项之后,该方法还包括:从目标动态链接库的依赖项中获取自定义的动态链接库;以及将自定义的动态链接库的作为依赖关系树的第一级子节点。
本发明实施例对目标动态链接库进行打包是基于Nuget组件进行打包的,Nuget组件是基于.NET开发平台进行包管理开发。通常,.NET开发平台会自带许多的动态链接库,对于.NET开发平台自带的动态链接库无需进行打包在开发过程中即可调用,因此,本发明实施例可以从目标动态链接库的依赖项中获取自定义的动态链接库,即非.NET开发平台自带的动态链接库,具体地,可以通过判断目标动态链接库的依赖项的存储路径进行判断,对于.NET开发平台自带的动态链接库通常存储于.NET开发平台软件安装包的一个文件夹下,自定义的动态链接库则存储于用户自定义的存储位置。对于依赖关系树中其他节点的依赖项的查找,同样采用上述方法查找出自定义的动态链接项作为依赖关系树的节点。
步骤S106:根据依赖关系树对目标动态链接库进行打包。
通过上述方法得到依赖关系树后,对依赖关系树的每一个节点进行打包并上传至Nuget组件的服务器中,实现自动的对没有工程文件的动态链接库进行打包。可选地,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。
从根节点开始遍历整个依赖关系树,得到该依赖关系树的所有节点,依次从该依赖关系树的叶子节点至根节点进行打包,并上传至Nuget组件的服务器中。
优选地,为了提高打包的效率,子节点包括叶节点,根据依赖关系树对目标动态链接库进行打包包括:从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。
在从根节点遍历依赖关系树时,依次判断每个节点是否已经打包过,在遇到某个节点已经打包过时,则不再遍历该节点的子节点。如图2所示,如果判断出子节点3已经打包过,此时可以不再遍历叶子节点3。在完成整个依赖关系树的遍历后,根据遍历结果,对那些没有打包过的节点从叶子节点至根节点依次进行打包,并上传至Nuget组件的服务器中。优选地,对于多个节点公用一个子节点的依赖关系项进行打包时,该子节点只需打包依次,如图2所示的依赖关系树,叶子节点4既是子节点4的依赖项,也是子节点5的依赖项,如果先对依赖关系树中叶子节点4至子节点4分支进行打包,此时,在对依赖关系树中叶子节点4至子节点5分支进行打包时,由于叶子节点4已经打包,此时可以直接调用叶子节点4对应的包,无需再次对叶子节点4进行打包。通过上述方式可以减少依赖关系树中需要打包的节点的数量,从而可以提高打包效率。
从以上的描述中,可以看出,本发明实现了如下技术效果:
本发明实施例通过获取目标动态链接库的元数据信息,根据元数据信息创建依赖关系树,以及根据依赖关系树对目标动态链接库进行打包,实现自动分析目标动态链接库的依赖项,并创建依赖关系树,通过依赖关系树描述的依赖关系对依赖关系树的每个节点进行打包并上传至Nuget组件的服务器,实现自动对没有工程文件的动态链接库进行打包,解决了没有工程文件的动态链接库文件打包效率低的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例的另一方面,提供了一种数据打包装置,该数据打包装置可以用于执行本发明实施例的数据打包方法,本发明实施例的数据打包方法也可以通过本发明实施例的数据打包装置来执行。
图3是根据本发明实施例的数据打包装置的示意图,如图3所示,该数据打包装置包括:第一获取单元10、创建单元20和打包单元30。
第一获取单元10,用于获取目标动态链接库的元数据信息。
动态链接库((Dynamic Link Library,简称为DLL)是一个包含可由多个程序同时使用的代码和数据的库。目标动态链接库是指需要打包的动态链接库,可以是一个动态链接库,也可以是多个动态链接库。元数据(Metadata)是描述信息资源或数据等对象的数据,其使用目的在于识别资源、评价资源、追踪资源在使用过程中的变化等。在目标动态链接库的元数据信息中描述了该动态链接库引用的对象,即该动态链接库的依赖项。
创建单元20,用于根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库。
如上所述,在目标动态链接库中的元数据信息中包含该目标动态链接库的依赖项。依赖关系树用于描述目标动态链接库与其依赖项的依赖关系,以及该目标动态链接库的依赖项与该目标动态链接库的依赖项的依赖性的依赖关系,依次类推。
打包单元30,用于根据依赖关系树对目标动态链接库进行打包。
通过上述方法得到依赖关系树后,对依赖关系树的每一个节点进行打包并上传至Nuget组件的服务器中,实现自动的对没有工程文件的动态链接库进行打包。
本发明实施例通过第一获取单元30获取目标动态链接库的元数据信息,创建单元20根据元数据信息创建依赖关系树,其中,依赖关系树的节点包括父节点和子节点,子节点为父节点的依赖项,父节点包括根节点,根节点为目标动态链接库,以及打包单元30根据依赖关系树对目标动态链接库进行打包并上传至Nuget组件的服务器,实现自动对没有工程文件的动态链接库进行打包,解决了没有工程文件的动态链接库文件打包效率低的问题。
可选地,创建单元20包括:根据元数据信息查找目标动态链接库的依赖项,得到第一依赖项,其中,第一依赖项作为依赖关系树的第一级子节点;获取第一依赖项的元数据信息;以及根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,并且第二依赖项为第一依赖项的子节点。
第一依赖项为根据元数据信息查找到的目标动态链接库的依赖项,第一依赖项可能不存在,也可能是一个,也可能是多个。本发明实施例以第一依赖项的个数大于零为例进行说明。在得到第一依赖项后,获取第一依赖项的元数据信息,根据第一依赖项的元数据信息查找第二依赖项,其中,第二依赖项为第一依赖项的依赖项,在得到第二依赖项后,继续获取第二依赖项的依赖项,依次类推,直到最后得到的依赖项不存在依赖项为止。
可选地,子节点包括叶节点,打包单元30包括:遍历单元,用于从根节点遍历依赖关系树,得到依赖关系树的所有节点;以及打包单元,用于依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包。
优选地,子节点包括叶节点,打包单元30包括:判断模块,用于从根节点遍历依赖关系树,依次判断依赖关系树的每一个节点是否已经打包过;如果判断出依赖关系树存在已经打包过的节点,则不再遍历已经打包过的节点的子节点,得到遍历结果;以及根据遍历结果依次从依赖关系树的叶节点至依赖关系树的根节点对依赖关系树的每个节点进行打包,其中,对于已经打包过的节点不再进行打包。
优选地,该2装置还包括:第二获取单元,用于从目标动态链接库的依赖项中获取自定义的动态链接库;以及确定单元,用于将自定义的动态链接库的作为依赖关系树的第一级子节点。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种数据打包方法,其特征在于,包括:
获取目标动态链接库的元数据信息,其中,所述目标动态链接库包括一个或多个动态链接库,所述动态链接库DLL是一个包含可由多个程序同时使用的代码和数据的库;
根据所述元数据信息创建依赖关系树,其中,所述依赖关系树的节点包括父节点和子节点,所述子节点为所述父节点的依赖项,所述父节点包括根节点,所述根节点为所述目标动态链接库;以及
根据所述依赖关系树对所述目标动态链接库进行打包;
其中,所述子节点包括叶节点,根据所述依赖关系树对所述目标动态链接库进行打包包括:
从所述根节点遍历所述依赖关系树,依次判断所述依赖关系树的每一个节点是否已经打包过;
如果判断出所述依赖关系树存在已经打包过的节点,则不再遍历所述已经打包过的节点的子节点,得到遍历结果;以及
根据所述遍历结果依次从所述依赖关系树的叶节点至所述依赖关系树的根节点对所述依赖关系树的每个节点进行打包,其中,对于所述已经打包过的节点不再进行打包。
2.根据权利要求1所述的数据打包方法,其特征在于,根据所述元数据信息创建依赖关系树包括:
根据所述元数据信息查找所述目标动态链接库的依赖项,得到第一依赖项,其中,所述第一依赖项作为所述依赖关系树的第一级子节点;
获取所述第一依赖项的元数据信息;以及
根据所述第一依赖项的元数据信息查找第二依赖项,其中,所述第二依赖项为所述第一依赖项的依赖项,并且所述第二依赖项为所述第一依赖项的子节点。
3.根据权利要求1所述的数据打包方法,其特征在于,根据所述依赖关系树对所述目标动态链接库进行打包包括:
从所述根节点遍历所述依赖关系树,得到所述依赖关系树的所有节点;以及
依次从所述依赖关系树的叶节点至所述依赖关系树的根节点对所述依赖关系树的每个节点进行打包。
4.根据权利要求2所述的数据打包方法,其特征在于,在根据所述元数据信息查找所述目标动态链接库的依赖项之后,所述方法还包括:
从所述目标动态链接库的依赖项中获取自定义的动态链接库;以及
将所述自定义的动态链接库的作为所述依赖关系树的第一级子节点。
5.一种数据打包装置,其特征在于,包括:
第一获取单元,用于获取目标动态链接库的元数据信息,其中,所述目标动态链接库包括一个或多个动态链接库,所述动态链接库DLL是一个包含可由多个程序同时使用的代码和数据的库;
创建单元,用于根据所述元数据信息创建依赖关系树,其中,所述依赖关系树的节点包括父节点和子节点,所述子节点为所述父节点的依赖项,所述父节点包括根节点,所述根节点为所述目标动态链接库;以及
打包单元,用于根据所述依赖关系树对所述目标动态链接库进行打包;
其中,所述子节点包括叶节点,所述打包单元包括:
遍历单元,用于从所述根节点遍历所述依赖关系树,得到所述依赖关系树的所有节点;以及
打包单元,用于依次从所述依赖关系树的叶节点至所述依赖关系树的根节点对所述依赖关系树的每个节点进行打包。
6.根据权利要求5所述的数据打包装置,其特征在于,所述创建单元包括:
根据所述元数据信息查找所述目标动态链接库的依赖项,得到第一依赖项,其中,所述第一依赖项作为所述依赖关系树的第一级子节点;
获取所述第一依赖项的元数据信息;以及
根据所述第一依赖项的元数据信息查找第二依赖项,其中,所述第二依赖项为所述第一依赖项的依赖项,并且所述第二依赖项为所述第一依赖项的子节点。
7.根据权利要求5所述的数据打包装置,其特征在于,所述打包单元包括:
判断模块,用于从所述根节点遍历所述依赖关系树,依次判断所述依赖关系树的每一个节点是否已经打包过;
如果判断出所述依赖关系树存在已经打包过的节点,则不再遍历所述已经打包过的节点的子节点,得到遍历结果;以及
根据所述遍历结果依次从所述依赖关系树的叶节点至所述依赖关系树的根节点对所述依赖关系树的每个节点进行打包,其中,对于所述已经打包过的节点不再进行打包。
8.根据权利要求6所述的数据打包装置,其特征在于,所述装置还包括:
第二获取单元,用于从所述目标动态链接库的依赖项中获取自定义的动态链接库;以及
确定单元,用于将所述自定义的动态链接库的作为所述依赖关系树的第一级子节点。
CN201410738626.2A 2014-12-04 2014-12-04 数据打包方法及装置 Active CN104462352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410738626.2A CN104462352B (zh) 2014-12-04 2014-12-04 数据打包方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410738626.2A CN104462352B (zh) 2014-12-04 2014-12-04 数据打包方法及装置

Publications (2)

Publication Number Publication Date
CN104462352A CN104462352A (zh) 2015-03-25
CN104462352B true CN104462352B (zh) 2018-04-06

Family

ID=52908387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410738626.2A Active CN104462352B (zh) 2014-12-04 2014-12-04 数据打包方法及装置

Country Status (1)

Country Link
CN (1) CN104462352B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881294B (zh) * 2015-06-10 2019-03-01 北京奇虎科技有限公司 实现自动打包的系统及方法
CN107031617B (zh) * 2017-02-22 2019-06-14 湖北文理学院 一种汽车智能驾驶的方法及装置
CN108334368B (zh) * 2017-09-04 2021-06-08 祖龙(天津)科技股份有限公司 一种基于Unity引擎的更新文件打包方法及打包工具
CN109885391A (zh) * 2018-12-28 2019-06-14 北京城市网邻信息技术有限公司 一种资源打包方法、装置、电子设备及介质
CN110647326B (zh) * 2019-09-20 2023-10-24 中国银行股份有限公司 基于NuGet程序包的软件复用方法、装置及系统
CN111522999A (zh) * 2020-04-22 2020-08-11 北京思特奇信息技术股份有限公司 一种业务运营树管理的方法和装置
CN113063461B (zh) * 2021-03-17 2021-11-30 中旭京坤(北京)科技有限公司 一种基于智能传感器的检测方法
CN113032006B (zh) * 2021-04-16 2023-09-08 北京奇艺世纪科技有限公司 插件构建方法、装置、设备和存储介质
CN117369865B (zh) * 2023-12-07 2024-04-05 麒麟软件有限公司 一种GNU linux通用的应用程序打包方法及图形化应用打包器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514361A (zh) * 2002-12-31 2004-07-21 北京科泰世纪科技有限公司 构件自描述封装方法及运行的方法
US7458073B1 (en) * 2003-12-02 2008-11-25 Cisco Technology, Inc. Development and build environment for packaged software delivery
CN102109991A (zh) * 2010-07-30 2011-06-29 兰雨晴 软件包依赖关系建模方法
CN1645322B (zh) * 2003-12-16 2013-06-12 微软公司 确定对安装有效的最大依赖软件更新组
CN103399961A (zh) * 2013-08-23 2013-11-20 北京中科嘉和科技发展有限公司 支持多版式的电子文献管理系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514361A (zh) * 2002-12-31 2004-07-21 北京科泰世纪科技有限公司 构件自描述封装方法及运行的方法
US7458073B1 (en) * 2003-12-02 2008-11-25 Cisco Technology, Inc. Development and build environment for packaged software delivery
CN1645322B (zh) * 2003-12-16 2013-06-12 微软公司 确定对安装有效的最大依赖软件更新组
CN102109991A (zh) * 2010-07-30 2011-06-29 兰雨晴 软件包依赖关系建模方法
CN103399961A (zh) * 2013-08-23 2013-11-20 北京中科嘉和科技发展有限公司 支持多版式的电子文献管理系统

Also Published As

Publication number Publication date
CN104462352A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104462352B (zh) 数据打包方法及装置
CN105550268B (zh) 大数据流程建模分析引擎
CN103631828B (zh) 确定访问路径的方法和装置、确定页面流失率的方法和系统
CN108768736B (zh) 一种混合型服务功能链嵌入代价的优化方法
CN106060149A (zh) 一种移动互联网海量数据分析审计技术架构
CN110263780A (zh) 实现异构图、分子空间结构性质识别的方法、装置和设备
CN111443921A (zh) web前端项目的分包部署方法、系统和计算机设备
CN104270384B (zh) 防火墙策略冗余检测方法及装置
CN110427756A (zh) 基于胶囊网络的安卓恶意软件检测方法及装置
CN107167152B (zh) 路径规划方法和装置
CN106126643B (zh) 流式数据的分布式处理方法和装置
CN105718296B (zh) 编译依赖关系树的生成显示方法及装置
CN107220096A (zh) 一种json数据解析方法及装置
US7263694B2 (en) Directed non-cyclic graph walking system for data processing and analysis in software application
CN109491718A (zh) 一种插件加载方法及设备
CN104036003B (zh) 搜索结果整合方法和装置
CN108874470A (zh) 一种信息处理方法及服务器、计算机存储介质
CN107679625A (zh) 针对数据记录执行机器学习的分布式系统及其方法
CN106681903A (zh) 生成测试用例的方法及装置
CN108628966A (zh) 一种基于字符串的快速匹配识别方法和装置
CN108920575A (zh) 基于动态感知的日志数据分析方法、装置及可读存储介质
CN106815100A (zh) 接口测试方法及装置
CN107045507A (zh) 网页爬取方法及装置
CN107315834A (zh) 一种基于广度优先搜索算法的etl作业流程分析方法
CN106648839A (zh) 数据处理的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data packing method and device

Effective date of registration: 20190531

Granted publication date: 20180406

Pledgee: Shenzhen Black Horse World Investment Consulting Co.,Ltd.

Pledgor: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

PP01 Preservation of patent right

Effective date of registration: 20240604

Granted publication date: 20180406