一种图数据库中资源关系的发现方法和装置与流程

文档序号:36508274发布日期:2023-12-29 00:51阅读:28来源:国知局
一种图数据库中资源关系的发现方法和装置与流程

本技术涉及计算机,尤其涉及一种图数据库中资源关系的发现方法和装置。


背景技术:

1、图数据库(graph database)是基于图论实现的一种新型数据库。图数据库的数据存储结构和数据的查询方式都是以图论为基础的。图论中图的基本元素为节点和边,在图数据库中对应的是资源节点(也可称为资源实例)和两个资源节点之间的资源关系,两个资源节点以及两个资源节点之间的资源关系能够构成路径,资源关系也可以看作是连接两个资源节点之间的边。

2、为了便于管理图数据库中的资源关系,需要进行图数据库中资源关系的发现。在cmdb系统中,管理的重点内容包括资源实例以及资源间关系的管理。资源关系发现就是要发现这些资源实例间的关联关系,以便纳入到cmdb中进行管理。资源间关系由于数量大,连接复杂,且易发生变化,导致资源关系的发现成为cmdb系统的管理难点。目前,在图数据库中资源关系的发现方案中,首先采集资源节点的基本信息,再对这些基本信息进行分析,然后计算资源节点之间的资源关系以实现资源关系的发现,并存储发现的资源节点之间的资源关系。然而,该方法中发现的资源关系仅能表示计算资源关系时的资源节点之间的连接情况,资源关系的发现方案不具有实时性,资源关系发生变化时,可能导致后续在图数据库中查询到的资源关系是错误的。


技术实现思路

1、本技术提供了一种图数据库中资源关系的发现方法和装置,能够支持查询到的资源关系与图数据库中的资源关系同步,保证了查询到的资源关系的准确性和实时性。

2、第一方面,提供了一种图数据库中资源关系的发现方法,方法包括:

3、根据当图数据库中资源关系变动时,在图数据库中更新变动的第一资源节点以及与第一资源节点关联的第一中间资源节点信息;

4、获取与第一资源节点相关的第一查询条件,若第一查询条件包括第一关系类型,根据第一关系类型在至少一个规则中进行检索;

5、若根据第一关系类型检索到目标规则,根据目标规则将第一查询条件更新为第二查询条件,其中,目标规则包括第一规则,第一规则用于关联第一关系类型、位于第一路径两端的两个资源节点的类型和第一路径的中间信息,两个资源节点包括第一资源节点,第一中间资源节点位于两个资源节点之间,第一关系类型用于标识第一资源关系,第一资源关系为两个资源节点之间的资源关系,中间信息包括第一中间资源节点的类型,或者,中间信息包括第一路径中各资源节点的类型,以及每相邻的两个资源节点之间的资源关系;

6、根据第二查询条件在图数据库中进行查询,获取满足查询条件的第一目标路径,第一目标路径包括位于一端的第一资源节点、第一中间资源节点及位于另一端的第二资源节点;

7、向第一目标路径的位于两端的第一资源节点及第二资源节点之间补充第一资源关系,并发送补充后的第一目标路径。

8、在一种可行的设计中,发送补充后的第一目标路径,包括:

9、将补充后的第一目标路径存储到缓存;

10、发送补充后的第一目标路径;

11、删除缓存中的第一目标路径,以便于在下一次计算第一资源节点关联的资源关系的过程中,重新计算第一资源节点关联的资源关系,获取最新的第一目标路径。

12、在一种可行的设计中,在发送补充后的第一目标路径之前,方法还包括:

13、删除第一目标路径中除位于两端的第一资源节点、第二资源节点以外的资源节点,以及删除第一资源关系以外的资源关系。

14、在一种可行的设计中,若目标规则包括的规则数量等于1,根据目标规则将第一查询条件更新为第二查询条件,包括:

15、删除第一查询条件中的第一关系类型;

16、向第一查询条件添加目标规则中位于第一路径两端的两个资源节点的类型,以及第一路径的中间信息,以生成第二查询条件。

17、在一种可行的设计中,若目标规则包括的规则数量大于1,根据目标规则将第一查询条件更新为第二查询条件,包括:

18、删除每一规则关联的第一关系类型;

19、使用或逻辑关系将经过删除处理的每一规则进行拼接,以更新目标规则;

20、删除第一查询条件中的第一关系类型;

21、向第一查询条件添加更新后的目标规则,以生成第二查询条件。

22、在一种可行的设计中,若第一查询条件未包括任何关系类型,方法还包括:

23、根据第一查询条件在图数据库中进行查询,获取第二目标路径;

24、发送第二目标路径。

25、在一种可行的设计中,若根据第一关系类型未检索到任何规则,方法还包括:

26、发送第一指示信息,第一指示信息用于指示第一查询条件的内容错误。

27、在一种可行的设计中,当图数据库中资源关系变动时,在图数据库中更新变动的第一资源节点以及与第一资源节点关联的第一中间资源节点信息,包括:

28、当有资源节点新增时,根据资源模型的结构,创建新增的第一资源节点,创建与第一资源节点关联的第一中间资源节点的关联关系,并创建该第一资源节点对应资源节点信息,包括资源节点的类型、资源节点的属性、资源节点关联的中间资源节点的类型、资源节点与中间资源节点之间的资源关系,其中,一个或多个中间资源节点关联路径中的起始资源节点或结束资源节点为第一资源节点;或者;

29、当有资源节点资源关系变化时,更新变动的第一资源节点、与关联第一中间资源节点的关联关系,对应更新该第一资源节点对应的资源节点的类型、资源节点的属性、资源节点关联的中间资源节点的类型、资源节点与中间资源节点之间的资源关系。

30、在一种可行的设计中,方法还包括:

31、在资源模型中增加可以作为资源连接中间人的节点,作为中间资源节点;

32、根据资源模型的结构,创建各个资源节点,创建各资源节点与有关联的中间资源节点的关联关系,并创建各资源节点对应的资源节点信息。

33、第二方面,提供了一种图数据库中资源关系的发现装置,装置包括:

34、资源节点构建模块,用于当图数据库中资源关系变动时,在图数据库中更新变动的第一资源节点以及与第一资源节点关联的第一中间资源节点信息;

35、资源关系发现模块,用于获取与第一资源节点相关的第一查询条件,若第一查询条件包括第一关系类型,根据第一关系类型在至少一个规则中进行检索;

36、资源关系发现模块还用于,若根据第一关系类型检索到目标规则,根据目标规则将第一查询条件更新为第二查询条件,其中,目标规则包括第一规则,第一规则用于关联第一关系类型、位于第一路径两端的两个资源节点的类型和第一路径的中间信息,两个资源节点包括第一资源节点,第一中间资源节点位于两个资源节点之间,第一关系类型用于标识第一资源关系,第一资源关系为两个资源节点之间的资源关系,中间信息包括第一中间资源节点的类型,或者,中间信息包括第一路径中各资源节点的类型,以及每相邻的两个资源节点之间的资源关系;

37、资源关系发现模块还用于,根据第二查询条件在图数据库中进行查询,获取满足查询条件的第一目标路径,位于一端的第一资源节点、第一中间资源节点及位于另一端的第二资源节点;

38、资源关系发现模块还用于,向第一目标路径的位于两端的两个资源节点之间补充第一资源关系,并发送补充后的第一目标路径。

39、目前的资源关系发现方法中,在完成资源关系发现并存储资源关系后,无法进行资源关系的更新,若后续图数据库中新增了资源节点以及该资源节点对应的资源关系,那么已经存储的资源关系与实际的资源关系不一致,可能导致后续用户在图数据库中查询到的资源关系是错误的。

40、本技术上述实施例中,在图数据库中新增所述第一资源节点后,可通过规则进行第一资源节点对应的第一资源关系的发现。首先获取第一查询条件,若第一查询条件包括第一关系类型,且若根据第一关系类型检索到目标规则,则根据所述目标规则将所述第一查询条件更新为第二查询条件。由于目标规则包括的第一规则用于关联第一关系类型、位于第一路径两端的两个资源节点的类型和第一路径的中间信息。其中,两个资源节点包括第一资源节点,第一中间资源节点位于两个资源节点之间。第一关系类型用于标识第一资源关系,第一资源关系为两个资源节点之间的资源关系,中间信息包括第一中间资源节点的类型,或者,中间信息包括第一路径中各资源节点的类型,以及每相邻的两个资源节点之间的资源关系,是基础的资源关系。因此,更新后的第二查询条件能够包括待发现的第一资源关系对应的路径的各种信息。其中,由于待发现的第一关系类型对应的第一资源关系不是基础的资源关系,因此,第二查询条件中路径的中间信息有助于图数据库查询到与第一资源关系等效的各基础资源关系构成的路径。该路径中包括第一目标路径,第一目标路径包括新增的第一资源节点以及第一中间资源节点。然后在第一目标路径中补充第一资源关系,从而完成了对新增资源节点或者变动资源节点的资源关系的发现。

41、上述方法中,由于中间信息是基于相邻的两个资源节点之间基础的资源关系定义的,而图数据库中基于基础的资源关系进行资源节点的存储。因此。当图数据库中资源节点或资源关系发生变化后,再次查询图数据库中的资源关系时,本方案会依据变化后的基础的资源关系进行计算,生成第一关系类型对应的最新的第一资源关系。因此,本技术能够支持查询到的第一资源关系与图数据库中基础的资源关系同步,保证了查询到的第一资源关系的准确性和实时性。

42、并且,本技术上述示例中通过定义规则,将检索到的目标规则中的信息添加到原来的第一查询条件,生成第二查询条件。由于第二查询条件相比于第一查询条件仅内容不同,形式未发生改变,因此,能够沿用原有的在图数据库中的查询方式,对原有的查询方式影响小。

43、另外,目前通常将图数据库应用于配置管理数据库(configuration managementdatabase,cmdb)系统中。通过cmdb系统进行图数据库中资源关系的发现方案中,通常使用既定的资源关系发现软件(如应用性能管理(application performance management,apm))对资源关系进行发现。然而该方法需在cmdb系统中集成相应的软件或模块,导致cmdb系统庞大繁杂,不便于维护,且增加了cmdb推广使用的难度。

44、本技术上述方案的方法可集成于cmdb系统中,不需要再额外集成其他关系发现软件。本技术的方案仅通过简单的方式收集基础的资源关系数据,从而在图数据库中新增资源节点。简单的方式例如通过人工维护、资源纳管方式录入或基本的采集脚本发现等方式。本技术实施例无需在cmdb系统中集成相应的软件或模块。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1