一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式图数据库的优化方法、装置、电子设备及存储介质与流程

2021-11-05 19:21:00 来源:中国专利 TAG:


1.本发明涉及图数据库技术领域,具体地是一种分布式图数据库的优化方法、装置、电子设备及存储介质。


背景技术:

2.图数据(graph data)包括形成图的顶点及其属性数据,边及其属性数据,有关联关系的顶点之间一定存在一条边。由于图数据不同于传统的二维表式的结构化数据,在针对大规模图数据进行分布式存储和处理的时候,不能采用类似结构化数据的处理模式(即把一张大的表单分解成多个子表进行存储),原因是如果把一张大图直接分割成几个子图进行存储,仍旧需要设计适当的算法来记录和更新跨子图的两个顶点之间的关联关系,这样会影响整个分布式图数据库的运行效率,特别是在进行图数据的遍历等基础操作时会非常复杂。
3.并且,由于数据在持续更新变化,图的拓扑结构也在变化,会导致分布式存储的节点负载产生不均衡的现象,也就是说某些子图可能越来越大,无法完整的存储在一个节点上,只能重新拆分子图实现负载均衡,这也会成为分布式图数据库的一项复杂任务。
4.在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种分布式图数据库的优化方法、装置、电子设备及存储介质,用于将大规模图数据以一种新的形式存储于多个系统节点上,使负载更为均衡,提升分布式图数据库的运行效率。
6.基于上述目的,第一方面,本发明提供了一种分布式图数据库的优化方法,适用于将大规模图数据以优化的形式存储于多个系统节点上,包括:
7.将同一类型的边所连接的全部顶点以及相关信息均存储于分布式系统的单一节点上;
8.构建一个基于边的关联关系检索,所述关联关系检索包含的信息至少包括:
9.全图所包含的全部类型的边的信息、每一类型的边所在的唯一节点信息、每一类型的边的总数量、每一类型的边所属的全部数据视图的相关信息。
10.在一些实施方式中,当针对图数据库进行查询操作时,先基于边的类型id在关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
11.在一些实施方式中,当针对图数据库进行与已建立关联关系检索的某一类型的边相关的更新操作时,先基于边的类型id在关联关系检索中找到对应的节点,然后在该节点上执行更新操作。
12.在一些实施方式中,所述更新操作为增加或删除某一类型的一条边,在对应节点上执行增加一条边及相关顶点,或删除找到的边及相关顶点的操作。
13.在一些实施方式中,在更新操作完成后,于关联关系检索中针对边的总数量进行更新。
14.在一些实施方式中,如果在执行更新操作时,发现该类型的边还属于某些数据视图,则在相应的节点上,对相应的数据视图进行同步更新操作。
15.在一些实施方式中,当需要在分布式图数据库中增加一个新的边类型时,将该边类型加入关联关系检索中,同时基于负载均衡算法将该边分配给一个当前数据量最小的节点。
16.在一些实施方式中,如果现有的某些数据视图中需要引入该新增边类型,则在关联关系检索中增加与该边类型相关的数据视图信息。
17.在一些实施方式中,该优化方法还包括:将图数据中顶点和边的id信息与其他属性信息分开;
18.将同类型边及其连接的全部顶点的id信息存储于分布式系统的单一节点上,在分布式数据库及数据视图中仅针对图结构的变换进行更新;
19.顶点和边的属性信息则以表的形式存储在系统中,对顶点或边的属性信息的查询或更新直接针对表内的属性信息进行相应操作。
20.第二方面,本技术还提供了一种分布式图数据库的优化装置,设置于分布式图数据库,所述优化装置包括:
21.存储单元,用于将同一类型的边所连接的全部顶点以及相关信息均存储于分布式系统的单一节点上;
22.构建单元,用于构建一个基于边的关联关系检索;所述关联关系检索包含的信息至少包括:全图所包含的全部类型的边的信息、每一类型的边所在的唯一节点信息、每一类型的边的总数量、每一类型的边所属的全部数据视图的相关信息。
23.第三方面,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的分布式图数据库的优化方法。
24.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如前述的分布式图数据库的优化方法。
25.从上面所述可以看出,本发明提供的一种分布式图数据库的优化方法、装置、电子设备及存储介质,通过应用本技术的技术方案,设计实现关联关系检索保证了大规模图数据以优化的形式存储于多个系统节点上。该检索中包含了每一类型边所连接的顶点数,可以基于负载均衡算法实现分布式图数据库。同时,通过检索边的信息,支持针对分布式图数据库的并行操作和处理,且能够保证数据一致性。此外,我们基于需求将分布式图数据库中的数据进行优化处理,形成位于单一节点内存中的图数据视图,提升了图分析的运行速度与效果。
26.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1为本发明实施例提出的一种分布式图数据库的优化方法的流程图;
29.图2为本发明实施例提出的示例场景的图数据的总视图;
30.图3为本发明实施例提出的一种分布式图数据库的优化装置的结构图。
具体实施方式
31.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景;此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
33.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中;在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例;本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
34.在一个实施例中,本技术提供了一种分布式图数据库的优化方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
35.图1是根据本发明实施例的一种分布式图数据库的优化方法的流程图,如图1所示,该方法包括如下步骤:
36.步骤101,将同一类型的边所连接的全部顶点以及相关信息均存储于分布式系统的单一节点上。
37.具体地,分布式图数据库中的基本数据元素为顶点、边、属性。对于任意一个顶点通过边及边的属性与其他顶点构成关联关系。同一类型的边往往有多个实例,基于边的信息对全部图数据进行分布式存储,这样可以保证我们在构建供图分析使用的数据视图的时候,可以依据边的类型信息进行快速并行查询与更新。
38.步骤102,构建一个基于边的关联关系检索,该关联关系检索包含的信息至少包括:全图所包含的全部类型的边的信息、每一类型的边所在的唯一节点信息、每一类型的边
的总数量、每一类型的边所属的全部数据视图的相关信息。关联关系检索的构建,可以保证图数据信息基于边进行分布式存储和查询。
39.图数据视图是基于图分析需求构建的基于全图信息的多个子图,每个图数据视图位于系统的单一节点上,可以完整地存储于内存中,以保证图分析算法的运行效率。当分布式图数据库存储的图数据被更新时,相应的图视图数据也必须相应地被更新。
40.在一个实施例中,当针对图数据库进行查询操作时,先基于边的类型id在关联关系检索中找到对应的节点,然后在该节点上执行查询操作,将这一类型边所连接的全部顶点查询出来。
41.在一个实施例中,当针对图数据库进行与已建立关联关系检索的某一类型的边相关的更新操作(例如增加或删除某一类型的一条边)时,系统会先基于边的类型id在关联关系检索中找到对应的节点,然后在该节点上执行增加一条边以及相关顶点,或者删除找到的边以及相关顶点的操作。
42.在一个实施例中,当增加或者删除操作完成后,会在检索中针对边的总数量进行更新。
43.在一个实施例中,如果在执行更新操作时,检索发现该类型的边还属于某些图数据视图,系统会在相应的节点上,对于相应的视图数据做同步更新操作,以保证数据的一致性。
44.在一个实施例中,当需要在分布式图数据库中增加一个新的边类型时,系统则需要将该边类型加入关联关系检索中,同时基于负载均衡算法将该边分配给一个当前数据量最小的节点,如果现有的某些图数据视图中会包含该新增边类型,则在关联关系检索中增加与该边类型相关的视图信息。此处负载均衡算法采用本领域公知的常规算法,在此不再赘述。
45.由于针对以上分布式图数据库数据的查询和更新操作是基于位于不同节点上的边信息执行的,当关联关系检索结束后,在节点上执行的具体操作是并行完成的,既提升了效率也可以保证数据完备性。
46.以本发明实施例的其一应用场景示例:
47.某公司不同部门内部项目以及与外部咨询公司合作项目的图数据(其中,椭圆框内为顶点,方框内为边)。
48.1、基于关联关系进行分布式图数据存储,图中边后缀为1的关联关系存储于节点1,后缀为2的关联关系存储于节点2;
49.2、任一类型的关联关系所连接的全部顶点都在同一节点上;
50.3、如图2所示为总视图(视图0),同时可以基于全部与内部项目相关数据生成视图1,以及全部与外部项目相关数据生成视图2;
51.4、全部视图信息可以存储于节点3;
52.5、针对每一类型的边形成如下关联关系检索(以has1为例):
[0053][0054]
6、当针对关联关系has1进行查询操作时,实际发生的步骤如下:
[0055]
针对has1进行检索,得到节点信息(节点1)以及边总数量(3);
[0056]
在节点1上进行查询操作,找到has1所连接的全部顶点(公司1,科技部,业务部,客服部);
[0057]
返回三组关联关系(has1)。
[0058]
7、当针对关联关系emloyee1进行更新操作时,如增加“科技部employee1员工2”这样一组关联关系,实际发生的步骤如下:
[0059]
针对employee1进行检索,得到节点信息,边总数量以及视图信息;
[0060]
在节点1上进行增加“科技部employee1员工2”的这样一组关联关系的操作,如果成功继续下一步,否则返回失败;
[0061]
a.边总数量 1;
[0062]
b.在节点3上面针对视图0和视图1进行操作,增加“科技部
[0063]
employee1员工2”的这样一组关联关系;
[0064]
c.如果成功返回成功,否则返回失败。
[0065]
8、当针对关联关系emloyee1进行更新操作时,如删除“科技部employee1员工2”这样一组关联关系,实际发生的步骤如下:
[0066]
a.针对employee1进行检索,得到节点信息,边总数量以及视图信息;
[0067]
b.在节点1上进行删除“科技部employee1员工2”的这样一组关联关系的操作,如果成功继续下一步,否则返回失败;
[0068]
c.边总数量

1;
[0069]
d.在节点3上面针对视图0和视图1进行操作,删除“科技部employee1员工2”的这样一组关联关系;
[0070]
e.如果成功返回成功,否则返回失败。
[0071]
在一个实施例中,本技术还提供分布式图数据库的进一步优化方案,当我们基于图中边的类型将图数据进行分布式存储时,由于每个顶点可能会关联多个不同类型的边,因此在不同的系统节点之上可能存储同一顶点的多个数据备份。特别是,如果图的顶点很多,且顶点的属性数据数据量较大时,可能会导致数据存储资源的浪费。此外,如果某个顶点的属性改变了,可能需要在多个节点上进行更新,这些操作都可能导致系统整体性能下降。
[0072]
为此,我们还可以设计将顶点和边的id信息与其他属性信息分开,这样在分布式数据库以及数据视图中,仅仅针对图结构的变化进行更新操作。而围绕顶点和边的各类属性信息仍旧可以以表的形式进行存储和处理,这样如果只是更新顶点或者边的某些属性的话,直接把表内的属性信息更新即可,或者需要查询某个顶点或者边的属性的时候只需针对表内的属性信息查询。将针对图结构的处理与针对顶点和边的属性的处理分开,可以大幅减少存储数据总量,并且避免可能出现的数据一致性的问题。
[0073]
在一个实施例中,本技术还提供了一种分布式图数据库的优化装置,该分布式图数据库的优化装置主要用于执行本发明实施例上述内容所提供的分布式图数据库的优化方法,以下对本发明实施例提供的分布式图数据库的优化装置做具体介绍。
[0074]
图3是根据本发明实施例的一种分布式图数据库的优化装置的示意图,如图2所示,该分布式图数据库的优化装置主要包括:
[0075]
存储单元201,用于将同一类型的边所连接的全部顶点以及相关信息均存储于分布式系统的单一节点上;
[0076]
构建单元202,用于构建一个基于边的关联关系检索;该关联关系检索包含的信息至少包括:全图所包含的全部类型的边的信息、每一类型的边所在的唯一节点信息、每一类型的边的总数量、每一类型的边所属的全部数据视图的相关信息。
[0077]
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0078]
基于同一申请构思,本技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行程序时实现如上任一实施例所述的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0079]
基于同一申请构思,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在终端设备上运行时,使得终端设备执行如上任一实施例所述的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0080]
本实施例的计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0081]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献