CN114003273A - 一种基于图形数据库的依赖管理方法和装置 - Google Patents

一种基于图形数据库的依赖管理方法和装置 Download PDF

Info

Publication number
CN114003273A
CN114003273A CN202111288109.6A CN202111288109A CN114003273A CN 114003273 A CN114003273 A CN 114003273A CN 202111288109 A CN202111288109 A CN 202111288109A CN 114003273 A CN114003273 A CN 114003273A
Authority
CN
China
Prior art keywords
component package
software component
dependency
graph database
dependency relationship
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.)
Pending
Application number
CN202111288109.6A
Other languages
English (en)
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202111288109.6A priority Critical patent/CN114003273A/zh
Publication of CN114003273A publication Critical patent/CN114003273A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于图形数据库的依赖管理方法和装置,属于大数据,该方法包括:将软件组件包导入图形数据库的节点结构中;根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。本发明基于图形数据库的依赖管理方法能够解决目前依赖管理方案的缺陷,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化。

Description

一种基于图形数据库的依赖管理方法和装置
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种基于图形数据库的依赖管理方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
通常,在软件开发中都需要依赖外部组件和工具包(mysql,JQuery和AngularJS等),这些依赖库应该使用工具进行依赖管理,而不是手动下载和维护。
现有技术采用的是基于Maven的依赖管理方法,通过对包与包的单一依赖的解析发觉依赖传递从而确定全部依赖。主要步骤如下:配置项目或工程所需要的全部直接依赖;Maven根据直接依赖发现依赖传递;再循环发现传递依赖的所有依赖,进而使得工程或项目。
而这种基于Maven的依赖管理方法,对于依赖关系的管理过于简单粗暴,不够灵活,不能够识别出重复依赖(如:a和b两个组建包都依赖c组件包,导致c重复加载)和依赖冲突(至少存在两个相同的组件包被依赖但版本不同)等问题。
一旦发生组件包重复依赖和依赖冲突问题,解决起来是一件工作量大(要重新梳理和排查依赖关系),且经常需要人力修复软件问题,人力成本高,不符合灵活性和拓展性的要求。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明实施例提供一种基于图形数据库的依赖管理方法,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化,该方法包括:
将软件组件包导入图形数据库的节点结构中;
根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
本发明实施例还提供一种基于图形数据库的依赖管理装置,包括:
组件包存储模块,用于将软件组件包导入图形数据库的节点结构中;
组件包依赖关系存储模块,用于根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
依赖关系管理模块,用于对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于图形数据库的依赖管理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述一种基于图形数据库的依赖管理方法的计算机程序。
本发明实施例提供的一种基于图形数据库的依赖管理方法和装置,包括:首先将软件组件包导入图形数据库的节点结构中;然后根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;最后对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。该发明将各个软件组件包通过图型数据库进行存储和管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题;利用图形数据库本身的节点结构的数据保存特性,在一个工程依赖中,不会出现重复依赖和依赖冲突;将依赖管理通过图形数据库进行节点管理和节点关系管理的方式进行,具有超强的依赖约束性和超低的错误率,为项目和工程提供一种快捷的依赖管理方法;基于图形数据库的依赖管理方法能够解决目前依赖管理方案的缺陷,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例一种基于图形数据库的依赖管理方法示意图。
图2为本发明实施例一种基于图形数据库的依赖管理方法的建立软件组件包依赖关系数据集的过程示意图。
图3为本发明实施例一种基于图形数据库的依赖管理方法的遍历图形数据库节点过程示意图。
图4为本发明实施例一种基于图形数据库的依赖管理方法导出的软件组件包依赖关系图。
图5为本发明实施例一种基于图形数据库的依赖管理方法模块化实例。
图6为运行本发明实施的一种基于图形数据库的依赖管理方法的计算机装置示意图。
图7为本发明实施例一种基于图形数据库的依赖管理装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明属于大数据技术。图1为本发明实施例一种基于图形数据库的依赖管理方法示意图,如图1所示,
本发明实施例提供一种基于图形数据库的依赖管理方法,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化,该方法包括:
步骤101:将软件组件包导入图形数据库的节点结构中;
步骤102:根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
步骤103:对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
本发明实施例提供的一种基于图形数据库的依赖管理方法,包括:首先将软件组件包导入图形数据库的节点结构中;然后根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;最后对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。该发明将各个软件组件包通过图型数据库进行存储和管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题;利用图形数据库本身的节点结构的数据保存特性,在一个工程依赖中,不会出现重复依赖和依赖冲突;将依赖管理通过图形数据库进行节点管理和节点关系管理的方式进行,具有超强的依赖约束性和超低的错误率,为项目和工程提供一种快捷的依赖管理方法;基于图形数据库的依赖管理方法能够解决目前依赖管理方案的缺陷,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,可以包括:
将软件组件包导入图形数据库的节点结构中;
根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
实施例中,图形数据库是NoSQL数据库的一种类型,它是根据图论相关模型来建立和存储实体之间的关系信息;图型数据库是一种善于存储节点间关系的数据库,类似于社交网络中的人脉关系网,图型数据库区别于常用的关系型数据库,关系型数据库在存储网状数据时会造成大量的数据冗余,而软件开发中的依赖管理问题在数据结构上和社交网络人脉网问题具有惊奇的相似性。FlockDB是一款典型的图型数据库,主要解决关系数据而生,如用户A和用户B的关系,单向关注或者双向关注等。依赖管理是指对软件开发组件之间的依赖关系进行的管理。
本发明将各个软件组件包通过图型数据库FlockDB进行管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题。主要解决在软件开发过程中复杂的依赖管理的问题。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,将软件组件包导入图形数据库的节点结构中,包括:
将技术开发路线中用到的软件组件包信息进行整理,聚合为软件组件包,将软件组件包以节点的形式导入图形数据库的节点结构中进行存储。
实施例中,由于图形数据库是以节点结构的方式存储数据,因此需要将技术开发路线中用到的软件组件包信息进行整理,聚合为软件组件包,将软件组件包以节点的形式导入图形数据库的节点结构中进行存储。例如,开发路线为Java路线时,将目前java技术线中经常使用到软件组件包信息进行整理,聚合为软件组件包,将软件组件包以节点的形式导入图形数据库的节点结构中进行存储。软件组件包之间本身就具有依赖关系的属性,在扫描时可以直接提取。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,所述软件组件包信息,至少包括:软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值。
实施例中,软件组件包信息定义了软件组件包的信息,作为整体中的基础模块,主要存储一些开发活动中经常使用的软件组件包信息,包括软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值等信息。
具体的,将软件组件包导入图形数据库的节点结构中,是为依赖关系建立元数据,首先,将目前java技术线中经常使用到软件组件包信息进行整理,具体包含的信息为软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值等信息。然后将如上常用的java软件组件包导入到FlockDB中的节点结构中进行存储。
图2为本发明实施例一种基于图形数据库的依赖管理方法的建立软件组件包依赖关系数据集的过程示意图,如图2所示,具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集,包括:
步骤201:选中图形数据库中的任一节点作为起始节点进行依赖扫描,获取该起始节点的依赖组件包数组;
步骤202:根据该起始节点的依赖组件包数组,将该起始节点和其所依赖的所有软件组件包进行存储,构建该起始节点的依赖关系数据子集,以视图的方式进行显示;其中,在该起始节点的依赖关系数据子集的视图中每两个软件组件包之间的依赖关系用相连接的单向箭头显示;
步骤203:遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集。
实施例中,由于软件组件包的属性中就存在有依赖关系,因此可以直接根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集,主要过程包括:
首先选中图形数据库中的任一节点作为起始节点进行依赖扫描,获取该起始节点的依赖组件包数组;
然后根据该起始节点的依赖组件包数组,将该起始节点和其所依赖的所有软件组件包进行存储,构建该起始节点的依赖关系数据子集,以视图的方式进行显示;其中,在该起始节点的依赖关系数据子集的视图中每两个软件组件包之间的依赖关系用相连接的单向箭头显示;基于Maven的依赖管理方对软件组件包节点的上下级依赖难以直观的体现出来,尤其是遇到跨级依赖的问题就更难以处理,本发明实施例以视图的方式显示节点的依赖关系数据子集,可以直观的体现出软件组件包的上下级依赖关系,尤其跨级依赖关系能够更为清楚的展示。
最后遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集。
软件组件包依赖关系数据集是将各个软件组件包之间的依赖关系进行存储而产生的模块,意在建立软件组件包依赖关系数据集,是将步骤1存储的软件组件包之间的依赖关系进行刻画和存储的过程;属于核心功能,也是本发明直接区分于其他依赖管理技术的关键,将软件组件包依赖关系图型化存储,使得依赖管理更加有效。构建的软件组件包依赖关系数据集,包括软件组件包的唯一标示和软件组件依赖关系描述。
图3为本发明实施例一种基于图形数据库的依赖管理方法的遍历图形数据库节点过程示意图,如图3所示,具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集,包括:
步骤301:依次更换起始节点,对图形数据库中的所有节点进行依赖扫描,获取每一节点对应的依赖关系数据子集;
步骤302:将每一节点对应的依赖关系数据子集进行关系聚合,构建软件组件包依赖关系数据集。
实施例中,在获取将第一个起始节点的依赖关系数据子集后,后续需要获取整个图形数据库中所有节点的全部依赖关系数据子集,以构建软件组件包依赖关系数据集,主要过程包括:首先,依次更换起始节点,对图形数据库中的所有节点进行依赖扫描,获取每一节点对应的依赖关系数据子集;然后,将每一节点对应的依赖关系数据子集进行关系聚合,构建软件组件包依赖关系数据集。
进一步的,根据软件组件包之间的依赖关系、依据图形数据库的节点结构建立软件组件包依赖关系数据集的实施过程,包括:
a.以选中的任一节点为起点进行依赖扫描,检查出该节点的依赖组件包数组;
b.将这一节点和其所依赖的的所有组件包的依赖关系数据子集行进行存储,在视图上则显示为两个组件包节点使用单向箭头相连接;
c.遍历所有组件包节点数据,即依次对组件包存储模块中的所有组件节点执行a,b步骤,直至所有的组件包依赖关系建立完成,构建软件组件包依赖关系数据集。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,还包括:利用广度优先搜索算法对构建的软件组件包依赖关系数据集进行检查,以确认图形数据库中所有节点都已建立完成依赖关系。
实施例中,为确保所有组件包节点都建立完成了依赖关系,还需要利用广度优先搜索算法对构建的软件组件包依赖关系数据集进行检查,以确认图形数据库中所有节点都已建立完成依赖关系。
实施例中,依赖关系管理是一个能够对软件组件包依赖关系数据集进行增加、删除和更新的管理模块,主要方便开发者使用此模块进行依赖管理的查询,导入实现更新、导出功能。此步骤为方便开发者使用此发明进行工程的依赖管理而进行的步骤,此步骤的完成即可建立一个基于图型数据库的依赖管理方法。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,所述管理接口为查询接口时,对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理,包括:
利用广度优先算法遍历每一个节点的信息,对图形数据库中的软件组件包依赖关系数据集建立软件组件包查询功能接口,以实现对软件组件包的查询管理功能。
实施例中,当管理接口为查询接口时,建立软件组件包查询功能,使用广度优先算法遍历每一个节点的信息,支持使用包名进行查找软件组件包。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,所述管理接口为导入接口时,图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理,包括:
利用深度优先算法检查需要导入软件组件包的所有依赖关系,对图形数据库中的软件组件包依赖关系数据集建立软件组件包导入功能接口,以实现对软件组件包的导入管理功能。
实施例中,当管理接口为导入接口时,建立软件组件包导入功能,使用深度优先算法检查需要导入软件组件包的所有依赖关系,可使开发者一次性导入成功,不遗漏。
图4为本发明实施例一种基于图形数据库的依赖管理方法导出的软件组件包依赖关系图,如图4所,具体实施本发明实施例提供的一种基于图形数据库的依赖管理方法时,在一个实施例中,所述管理接口为导出接口时,图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理,包括:
对软件组件包依赖关系数据集进行图形化处理,生成软件组件包依赖关系图,对图形数据库建立软件组件包导出功能接口,以实现将软件组件包依赖关系图以图形视图的方式进行导出功能管理。
实施例中,当管理接口为导出接口时,建立工程依赖关系导出功能,以上查询和导入分别建立组件包查询功能和组件包导入功能后即可帮助开发者使用本产品进行依赖管理,此步骤为建立一个可以帮助开发者一次性导出工程中所有的软件组件包依赖关系图的功能,输出直接采用图型视图进行输出,如图4所示,每一个圆圈表示软件组件包,圆圈之间带箭头的连接线表示依赖关系,对软件组件包依赖关系数据集进行图形化处理,即可生成如图4所示的软件组件包依赖关系图。
将不同的组件库通过FlockDB进行节点管理和节点关系管理,并提供于工程进行依赖管理的方法是完成此类问题不可避免的核心模块。
本发明将各个组件库通过图型数据库FlockDB进行管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题。本发明则能够利用图型数据库FlockDB本身的数据结构特性,在一个工程依赖中,不会出现重复依赖和依赖冲突,就像社交网络中不会出现两个相同的实名用户一样。而基于图型数据库FlockDB的依赖管理则具有超强的依赖约束性,具有超低的错误率。将依赖管理通过图型数据库FlockDB进行节点管理和节点关系管理的方式进行。为项目和工程提供一种快捷的依赖管理方法。基于图型数据库FlockDB的依赖管理方法能够解决目前基于Maven的依赖管理缺陷,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化。
下面结合具体场景,对本发明实施例提供的一种基于图形数据库的依赖管理方法进行简要描述:
本发明实施例将各个组件库通过图型数据库FlockDB进行管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题。
在开发本发明实施例时,需要将各个组建包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值等信息进行节点存储,并建立组件包之间的依赖关系。还需要基于FlockDB建立组件包之间的依赖关系,即建立现有常用软件组件包的依赖关系和能够在项目中对这些依赖数据进行管理。
图5为本发明实施例一种基于图形数据库的依赖管理方法模块化实例,如图5所,该发明的目标是构建一个使用图型数据库存储依赖间关系管理的产品,主要包含3个模块:a.组件包存储模块,b.组件包依赖关系存储模块,c.依赖关系管理模块;
组件包存储模块是将各个软件组件包作为FlockDB中的节点模型进行存储,该模块定义了所有软件组件包的信息,该部分作为整个产品中基础模块,主要存储一些开发活动中经常使用的软件组件包信息,包括软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值等信息。
组件包依赖关系存储模块是将各个软件组件包之间的依赖关系进行存储而产生的模块,是产品中的核心模块,也是该产品发明直接区分于其他依赖管理技术的关键,将软件组件包依赖关系图型化存储,使得依赖管理更加有效。该存储模块的信息包括软件组件包的唯一标示和软件组件依赖关系描述。
依赖关系管理模块是一个能够对如上两个存储模块进行增加,删除和更新的管理模块,主要方便开发者使用此模块进行依赖管理的查询,更新和导出功能。
本发明实施的一种基于图形数据库的依赖管理方法中,包括如下步骤:
1.步骤1:组件包存储模块数据建立:此步骤是为步骤2的依赖关系存储建立元数据,此步骤在组件包存储模块进行。
a.将目前java技术线中经常使用到软件组件包信息进行整理,具体包含的信息为软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值等信息。
b.然后将如上常用的java组件包导入到FlockDB中的节点结构中进行存储。
2.步骤2:完成组件包依赖关系数据存储:此步骤为核心步骤,意在建立软件组件包依赖关系数据集,是将步骤1存储的软件组件包之间的依赖关系进行刻画和存储的过程。
a.以步骤中任一节点为起点进行依赖扫描,检查出该节点的依赖组件包数组。
b.将这一节点和其所依赖的的所有组件包的关系就行进行存储,在视图上则显示为两个组件包节点使用单向箭头相连接。
c.遍历所有组件包节点数据,即依次对组件包存储模块中的所有组件节点执行a,b步骤,直至所有的组件包依赖关系建立完成。
d.使用图的广度优先搜索算法进行检查和确认,确保所有组件包节点都建立完成了依赖关系。
3.步骤三:完成和建立依赖关系管理模块:此步骤为方便开发者使用此发明进行工程的依赖管理而进行的步骤,此步骤的完成即可建立一个基于图型数据库的依赖管理方法。
a.建立软件组件包查询功能,使用广度优先算法遍历每一个节点的信息,支持使用包名进行查找软件组件包。
b.建立软件组件包导入功能,使用深度优先算法检查需要导入软件组件包的所有依赖关系,可使开发者一次性导入成功,不遗漏。
c.建立工程依赖关系导出功能,以上a,b步骤分别建立组件包查询功能和组件包导入功能后即可帮助开发者使用本产品进行依赖管理,此步骤为建立一个可以帮助开发者一次性导出工程中所有的软件组件包依赖关系图的功能,输出直接采用图型视图进行输出。
上述步骤1为整个FlockDB依赖数据库中软件组件包数据准备步骤,该步骤是将所有的组建包信息存储在FlockDB中,为第二步为组建库依赖关系建立提供输入数据。将不同的组件库通过FlockDB进行节点管理和节点关系管理,并提供于工程进行依赖管理的方法是完成此类问题不可避免的核心模块,即如上步骤中的步骤2和3是构建此发明不得不采用的基本流程。
本发明将各个组件库通过图型数据库FlockDB进行管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题。本发明则能够利用图型数据库FlockDB本身的数据结构特性,在一个工程依赖中,不会出现重复依赖和依赖冲突,就像社交网络中不会出现两个相同的实名用户一样。而基于图型数据库FlockDB的依赖管理则具有超强的依赖约束性,具有超低的错误率。将依赖管理通过图型数据库FlockDB进行节点管理和节点关系管理的方式进行。为项目和工程提供一种快捷的依赖管理方法。基于图型数据库FlockDB的依赖管理方法能够解决目前基于Maven的依赖管理缺陷,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化。
图6为运行本发明实施的一种基于图形数据库的依赖管理方法的计算机装置示意图,如图6所示,本发明实施例还提供一种计算机设备600,包括存储器610、处理器620及存储在存储器上并可在处理器上运行的计算机程序630,所述处理器执行所述计算机程序时实现上述一种基于图形数据库的依赖管理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现上述一种基于图形数据库的依赖管理方法的计算机程序。
本发明实施例中还提供了一种基于图形数据库的依赖管理装置,如下面的实施例所述。由于该装置解决问题的原理与一种基于图形数据库的依赖管理方法相似,因此该装置的实施可以参见一种基于图形数据库的依赖管理方法的实施,重复之处不再赘述。
图7为本发明实施例一种基于图形数据库的依赖管理装置示意图,如图7所示,本发明实施例还提供一种基于图形数据库的依赖管理装置,具体实施时可以包括:
组件包存储模块701,用于将软件组件包导入图形数据库的节点结构中;
组件包依赖关系存储模块702,用于根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
依赖关系管理模块703,用于对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,组件包存储模块,具体用于:
将技术开发路线中用到的软件组件包信息进行整理,聚合为软件组件包,将软件组件包以节点的形式导入图形数据库的节点结构中进行存储。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,所述软件组件包信息,至少包括:软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,组件包依赖关系存储模块,具体用于:
选中图形数据库中的任一节点作为起始节点进行依赖扫描,获取该起始节点的依赖组件包数组;
根据该起始节点的依赖组件包数组,将该起始节点和其所依赖的所有软件组件包进行存储,构建该起始节点的依赖关系数据子集,以视图的方式进行显示;其中,在该起始节点的依赖关系数据子集的视图中每两个软件组件包之间的依赖关系用相连接的单向箭头显示;
遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,组件包依赖关系存储模块,还用于:
依次更换起始节点,对图形数据库中的所有节点进行依赖扫描,获取每一节点对应的依赖关系数据子集;
将每一节点对应的依赖关系数据子集进行关系聚合,构建软件组件包依赖关系数据集。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,组件包依赖关系存储模块,还用于:利用广度优先搜索算法对构建的软件组件包依赖关系数据集进行检查,以确认图形数据库中所有节点都已建立完成依赖关系。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,所述管理接口为查询接口时,依赖关系管理模块,具体用于:
利用广度优先算法遍历每一个节点的信息,对图形数据库中的软件组件包依赖关系数据集建立软件组件包查询功能接口,以实现对软件组件包的查询管理功能。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,所述管理接口为导入接口时,依赖关系管理模块,具体用于:
利用深度优先算法检查需要导入软件组件包的所有依赖关系,对图形数据库中的软件组件包依赖关系数据集建立软件组件包导入功能接口,以实现对软件组件包的导入管理功能。
具体实施本发明实施例提供的一种基于图形数据库的依赖管理装置时,在一个实施例中,所述管理接口为导出接口时,依赖关系管理模块,具体用于:
对软件组件包依赖关系数据集进行图形化处理,生成软件组件包依赖关系图,对图形数据库建立软件组件包导出功能接口,以实现将软件组件包依赖关系图以图形视图的方式进行导出功能管理。
综上,本发明实施例提供的一种基于图形数据库的依赖管理方法和装置,包括:首先将软件组件包导入图形数据库的节点结构中;然后根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;最后对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。该发明将各个软件组件包通过图型数据库进行存储和管理,充分利用其善于存储节点及其节点间关联关系的特性将各个组件包进行关联依赖,这就解决了软件开发中的依赖管理问题;利用图形数据库本身的节点结构的数据保存特性,在一个工程依赖中,不会出现重复依赖和依赖冲突;将依赖管理通过图形数据库进行节点管理和节点关系管理的方式进行,具有超强的依赖约束性和超低的错误率,为项目和工程提供一种快捷的依赖管理方法;基于图形数据库的依赖管理方法能够解决目前依赖管理方案的缺陷,达到方便快捷管理依赖的规则抽离应用程序的目的,具有灵活性和拓展性,具有一定的自动化和智能化。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种基于图形数据库的依赖管理方法,其特征在于,包括:
将软件组件包导入图形数据库的节点结构中;
根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
2.如权利要求1所述的方法,其特征在于,将软件组件包导入图形数据库的节点结构中,包括:
将技术开发路线中用到的软件组件包信息进行整理,聚合为软件组件包,将软件组件包以节点的形式导入图形数据库的节点结构中进行存储。
3.如权利要求2所述的方法,其特征在于,所述软件组件包信息,至少包括:软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值。
4.如权利要求1所述的方法,其特征在于,根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集,包括:
选中图形数据库中的任一节点作为起始节点进行依赖扫描,获取该起始节点的依赖组件包数组;
根据该起始节点的依赖组件包数组,将该起始节点和其所依赖的所有软件组件包进行存储,构建该起始节点的依赖关系数据子集,以视图的方式进行显示;其中,在该起始节点的依赖关系数据子集的视图中每两个软件组件包之间的依赖关系用相连接的单向箭头显示;
遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集。
5.如权利要求4所述的方法,其特征在于,遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集,包括:
依次更换起始节点,对图形数据库中的所有节点进行依赖扫描,获取每一节点对应的依赖关系数据子集;
将每一节点对应的依赖关系数据子集进行关系聚合,构建软件组件包依赖关系数据集。
6.如权利要求5所述的方法,其特征在于,还包括:利用广度优先搜索算法对构建的软件组件包依赖关系数据集进行检查,以确认图形数据库中所有节点都已建立完成依赖关系。
7.如权利要求1所述的方法,其特征在于,所述管理接口为查询接口时,对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理,包括:
利用广度优先算法遍历每一个节点的信息,对图形数据库中的软件组件包依赖关系数据集建立软件组件包查询功能接口,以实现对软件组件包的查询管理功能。
8.如权利要求1所述的方法,其特征在于,所述管理接口为导入接口时,图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理,包括:
利用深度优先算法检查需要导入软件组件包的所有依赖关系,对图形数据库中的软件组件包依赖关系数据集建立软件组件包导入功能接口,以实现对软件组件包的导入管理功能。
9.如权利要求1所述的方法,其特征在于,所述管理接口为导出接口时,图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理,包括:
对软件组件包依赖关系数据集进行图形化处理,生成软件组件包依赖关系图,对图形数据库建立软件组件包导出功能接口,以实现将软件组件包依赖关系图以图形视图的方式进行导出功能管理。
10.一种基于图形数据库的依赖管理装置,其特征在于,包括:
组件包存储模块,用于将软件组件包导入图形数据库的节点结构中;
组件包依赖关系存储模块,用于根据软件组件包之间的依赖关系,依据图形数据库的节点结构建立软件组件包依赖关系数据集;
依赖关系管理模块,用于对图形数据库建立管理接口,对软件组件包依赖关系数据集进行管理。
11.如权利要求10所述的装置,其特征在于,组件包存储模块,具体用于:
将技术开发路线中用到的软件组件包信息进行整理,聚合为软件组件包,将软件组件包以节点的形式导入图形数据库的节点结构中进行存储。
12.如权利要求11所述的装置,其特征在于,所述软件组件包信息,至少包括:软件组件包的唯一标示,名称,别名,版本号,拓展名,发布日期,下载地址,开发者签名,遵守开源协议,MD5值。
13.如权利要求10所述的装置,其特征在于,组件包依赖关系存储模块,具体用于:
选中图形数据库中的任一节点作为起始节点进行依赖扫描,获取该起始节点的依赖组件包数组;
根据该起始节点的依赖组件包数组,将该起始节点和其所依赖的所有软件组件包进行存储,构建该起始节点的依赖关系数据子集,以视图的方式进行显示;其中,在该起始节点的依赖关系数据子集的视图中每两个软件组件包之间的依赖关系用相连接的单向箭头显示;
遍历图形数据库中的全部节点,获取全部节点的依赖关系数据子集,构建软件组件包依赖关系数据集。
14.如权利要求13所述的装置,其特征在于,组件包依赖关系存储模块,还用于:
依次更换起始节点,对图形数据库中的所有节点进行依赖扫描,获取每一节点对应的依赖关系数据子集;
将每一节点对应的依赖关系数据子集进行关系聚合,构建软件组件包依赖关系数据集。
15.如权利要求14所述的装置,其特征在于,组件包依赖关系存储模块,还用于:利用广度优先搜索算法对构建的软件组件包依赖关系数据集进行检查,以确认图形数据库中所有节点都已建立完成依赖关系。
16.如权利要求10所述的装置,其特征在于,所述管理接口为查询接口时,依赖关系管理模块,具体用于:
利用广度优先算法遍历每一个节点的信息,对图形数据库中的软件组件包依赖关系数据集建立软件组件包查询功能接口,以实现对软件组件包的查询管理功能。
17.如权利要求10所述的装置,其特征在于,所述管理接口为导入接口时,依赖关系管理模块,具体用于:
利用深度优先算法检查需要导入软件组件包的所有依赖关系,对图形数据库中的软件组件包依赖关系数据集建立软件组件包导入功能接口,以实现对软件组件包的导入管理功能。
18.如权利要求10所述的装置,其特征在于,所述管理接口为导出接口时,依赖关系管理模块,具体用于:
对软件组件包依赖关系数据集进行图形化处理,生成软件组件包依赖关系图,对图形数据库建立软件组件包导出功能接口,以实现将软件组件包依赖关系图以图形视图的方式进行导出功能管理。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行实现权利要求1至9任一项所述方法的计算机程序。
CN202111288109.6A 2021-11-02 2021-11-02 一种基于图形数据库的依赖管理方法和装置 Pending CN114003273A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111288109.6A CN114003273A (zh) 2021-11-02 2021-11-02 一种基于图形数据库的依赖管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111288109.6A CN114003273A (zh) 2021-11-02 2021-11-02 一种基于图形数据库的依赖管理方法和装置

Publications (1)

Publication Number Publication Date
CN114003273A true CN114003273A (zh) 2022-02-01

Family

ID=79926452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111288109.6A Pending CN114003273A (zh) 2021-11-02 2021-11-02 一种基于图形数据库的依赖管理方法和装置

Country Status (1)

Country Link
CN (1) CN114003273A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016840A (zh) * 2022-06-30 2022-09-06 厦门大学 基于调用图的依赖冲突修复方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016840A (zh) * 2022-06-30 2022-09-06 厦门大学 基于调用图的依赖冲突修复方法及装置

Similar Documents

Publication Publication Date Title
US11360950B2 (en) System for analysing data relationships to support data query execution
US11461294B2 (en) System for importing data into a data repository
CN110300963B (zh) 大规模数据储存库中的数据管理系统
US11163731B1 (en) Autobuild log anomaly detection methods and systems
JP2021099819A (ja) データへの論理的妥当性検査規則の指定および適用
US8869111B2 (en) Method and system for generating test cases for a software application
US20150142734A1 (en) Meta Model Driven Data Base Replication and Synchronization
US20210334292A1 (en) System and method for reconciliation of data in multiple systems using permutation matching
CN114510267B (zh) 基于Linux系统的程序ABI接口兼容性计算方法
US20110153562A1 (en) Error prevention for data replication
Grati et al. Extracting sequence diagrams from execution traces using interactive visualization
US20220376991A1 (en) System and method for visualizing and navigating network data
CN114003273A (zh) 一种基于图形数据库的依赖管理方法和装置
Teyton et al. Find your library experts
Alshanqiti et al. Learning minimal and maximal rules from observations of graph transformations
US20160179851A1 (en) Method and system of process reconstruction
Chong et al. Composite-based conflict resolution in merging versions of UML models
CN115237422A (zh) 代码编译方法、装置、计算机设备和存储介质
CN111399830B (zh) 一种应用程序容量监控方法、装置、电子设备及存储介质
CN111309370B (zh) 多项目多系统环境的版本号有向图排序稽核方法和系统
Jumagaliyev et al. CadaML: A modeling language for multi-tenant cloud application data architectures
CN115250231B (zh) 应用配置方法及装置
Zhang et al. Composite-level conflict detection in uml model versioning
Silva et al. Lm2f: a life-cycle model maintenance framework for co-evolving enterprise architecture meta-models and models
Esser et al. Using graph data structures for event logs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination