CN114817262B - 一种基于分布式图数据库的图遍历算法 - Google Patents

一种基于分布式图数据库的图遍历算法 Download PDF

Info

Publication number
CN114817262B
CN114817262B CN202210452638.3A CN202210452638A CN114817262B CN 114817262 B CN114817262 B CN 114817262B CN 202210452638 A CN202210452638 A CN 202210452638A CN 114817262 B CN114817262 B CN 114817262B
Authority
CN
China
Prior art keywords
node
graph
graph traversal
nodes
worker
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
CN202210452638.3A
Other languages
English (en)
Other versions
CN114817262A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210452638.3A priority Critical patent/CN114817262B/zh
Publication of CN114817262A publication Critical patent/CN114817262A/zh
Application granted granted Critical
Publication of CN114817262B publication Critical patent/CN114817262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种基于分布式图数据库的图遍历算法,属于分布式存储索引技术领域,解决了传统技术中需要依赖计算节点来保持图遍历的中间结果,通信开销较高的技术问题,其包括步骤A:计算节点向主节点发送图遍历请求,主节点向其余从节点广播该图遍历请求;步骤B:主节点和从节点收到图遍历请求后,从符合条件的起始节点开始遍历自身存储的所有节点,得到主节点和从节点符合筛选条件的NodeIDs,如果没有符合条件的起始节点,则该存储节点的本地任务完成等步骤,实现了将图遍历请求下推至存储层,降低图遍历过程中存储层与计算层之间的网络通信开销的技术效果。

Description

一种基于分布式图数据库的图遍历算法
技术领域
本发明涉及分布式存储索引技术领域,具体涉及一种基于分布式图数据库的图遍历算法。
背景技术
随着各种互联网应用的蓬勃发展,大规模数据下的复杂关系给传统的关系型数据库带来了巨大的挑战。在传统的关系型数据库领域,查询同某个实体的相关联的其它实体,或继续以此向外延伸,数据库使用者需要编写冗长的SQL语句,同时数据库系统通常会进行复杂的多表join操作,查询性能并不理想。这类数据之间关联性查询,成为了关系型数查询。图数据库的出现,能够很好的解决关系型数据库所面临的实体关联类查询的性能瓶颈,推动数据库系统领域的发展。
在目前的分布式图数据库中,有多种不同架构的方案。为了让计算节点和存储节点可以根据实际的业务需求,灵活地横向扩展,通常的方案都是计算节点与存储节点分离。与此同时,分布式图数据库的网络通信成本也随之增大(副作用),每次查询需要从存储节点拉取大量的数据到计算节点进行计算,计算节点与存储节点之间的网络I/O效率成为了分布式图数据库的性能瓶颈之一。
现有技术中,图遍历被划分成NodesFilter算子和Expand算子的组合,这意味着需要依赖计算节点来保持图遍历的中间结果,中间结果的序列化、反序列化以及网络I/O的开销对图遍历的性能影响较大。
发明内容
本发明提供了一种基于分布式图数据库的图遍历算法,解决图遍历过程对计算节点依赖性较大,开销较高的问题。
本发明通过下述技术方案实现:
一种基于分布式图数据库的图遍历算法,包括以下步骤:
步骤A:计算节点向主节点发送图遍历请求,主节点向其余从节点广播该图遍历请求;
步骤B:从节点收到图遍历请求后,从符合条件的起始节点开始遍历自身存储的所有节点,得到本从节点符合筛选条件的NodeIDs,如果没有符合条件的起始节点,则该从节点的JobMaster本地任务完成;
步骤C:在上述步骤B中,如果遍历出存储于其他从节点的节点,则将该节点存储至图遍历路由表,并将图遍历路由表发送至目标节点,得到该从节点中符合筛选条件的NodeIDs;如果没有遍历出储存于其他存储节点的节点,则该从节点向上级的Root汇报完成信息。
步骤D:Root收到完成信息后,本Root任务完成,并向JobMaster汇报,JobMaster收到全部Root任务,且本地遍历任务全部完成,向计算节点汇报任务执行完毕。
采用上述方案,能够让图遍历操作下沉至存储层,减少计算层在查询过程中和存储层频繁的网络通信的开销,通过该种完整的跨存储节点的图遍历算法,能够很好地支撑存储节点内的本地执行和存储节点间的请求转发,不需要依赖于计算节点的同步,有效降低计算节点中的开销。
所述步骤A的具体步骤为:
步骤A1:主节点收到计算节点的图遍历请求后创建TraversalTask对象,并将TraversalTask对象的类型设定为JobMaster,并创建与从节点内Partition数量对应的用于进行图遍历的Worker。
步骤A2:上述JobMaster向其他的从节点广播图遍历请求:
步骤A3:从节点收到上述图遍历请求后创建各自TraversalTsak对象和Worker,并将TraversalTask对象的类型设定为Root。
所述Worker消费完自身的待遍历表的当前最大剩余跳数的数据后,主动窃取其他Worker当前最大剩余跳数的数据来执行圈层遍历。
采用上述方案,通过该种多线程间任务自平衡策略,优化了存储节点的图遍历圈层执行模型,能够最大限度地发挥多核CPU的能力。
所述步骤B的具体步骤为:
步骤B1:从节点的TraversalTask对象根据自身类型,使用反序列化规则解析并维护图遍历上下文;
步骤B2:当TraversalTask对象的类型为JobMaster或Root,每个Worker调用“节点属性过滤”函数,上述“节点属性过滤”函数的内部实现为:后序遍历图遍历上下文的某圈层节点的条件表达式树,完成该从节点内所有节点的访问,并得到符合条件的起始节点;
步骤B3:每个Worker调用“获得出边”函数,并得到上述起始节点对应的EdgeIDs;
步骤B4:每个Worker调用“对边集合进行属性过滤”函数,并得到符合条件的EdgeIDs,与作为输入的EdgeIDs取交集,产生结果EdgeID;
步骤B5:每个Worker调用“获得目的节点”函数,得到上述EdgeIDs对应的NodeIDs。
步骤B6:对得到的NodeIDs进行属性过滤,并产生结果NodeIDs。
所述步骤B5的具体步骤为:每个Worker调用“对节点集合进行属性过滤”函数,其中“对节点集合进行属性过滤”函数的内部实现是:后续遍历图遍历上下文的某圈层节点的条件表达式树,检索属性索引得到符合条件的NodeIDs,与作为输入的NodeIDs取交集,得到符合筛选条件的NodeIDs。
所述步骤C的具体步骤为:
步骤C1:根据NodeID的前缀判断该Node是否位于当前存储节点,如果位于其他节点,则将该Node写入图遍历路由表,如果位于本地存储节点且未重复,则写入待遍历表;
步骤C2:完成步骤B后,检查图遍历路由表,如果图遍历路由表不为空,则序列化图遍历上下文与图遍历路由表,转发至目的从节点,并建立下级存储节点任务完成的统计表,等待下级存储节点的任务完成信息;
步骤C3:目的从节点收到上述图遍历路由请求,构建TraversalTask并标示为UnRoot;
步骤C4:目的从节点解析上述图遍历路由表,并在目的从节点中完成上述步骤B,得到目的从节点中的NodeIDs。
所述步骤D的具体步骤为:
步骤D1:当Root和UnRoot的数个Worker任务完成,也均收到图遍历路由任务的完成消息后,向父TraversalTask回复任务完成。
步骤D2:当JobMaster的多个Worker任务完成,并且也均收到图遍历路由任务完成消息后,且收齐所有类型为Root的完成消息,向计算节点回复任务完成。
所述步骤D1的具体步骤为:
步骤D11:每个Worker以结果容器内的每一个NodeID作为输入,调用“获取节点实例”函数,“获取节点实例”函数的内部实现是:根据NodeID所在的Partition,调用该分区的RocksDB实例的接口,获取节点实例,全部获取完成后,将节点实例发送给计算节点;
步骤D12:TraversalTask统计已完成遍历任务的Worker的个数,如果该Worker的全部任务已完成,则销毁该Worker,并统计完成全部任务的Worker的数量。
在进行所述步骤B时,TraversalTask对象的每一圈层预设用于去重的位图,Work在执行一侧expand操作后,先检查当前圈层的位图中该NodeID的标志位是否为1,若为1,则说明其他Worker已经expand到该节点,本Worker不在当前圈层重复添加该节点,若为0,则将位图的NodeID的bit位原子地置为1,然后将该NodeID加入下一级待遍历表。
采用上述方案,能够实现层次化节点去重策略,在图遍历的执行过程中,能够无锁地去除每一重复节点,减少后续遍历的数据量。
所述步骤B3中的“获得出边”函数的内部实现是:查询图拓扑<NodeID:{OutEdgeIDs},{InEdgeIDs}>。
采用上述方案,能够带来的有益效果为:
通过将完成的图遍历请求下推到存储层,包括各个节点的访问和过滤、起始节点的筛选,均能够在存储层完成,极大降低了传统技术中图遍历过程计算层与存储层之间的网络通信开销,缓解了计算节点与存储节点之间的网络I/O效率对分布式图数据库的性能较大的影响。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本算法的整体架构图;
图2为任一存储节点内的图遍历流程;
图3为图遍历路由流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
本实施例1提供一种基于分布式图数据库的图遍历算法,如图1-图3所示,在本实施例中,分布式图数据库集群具体有一个网关服务节点、一个查询控制节点、一个元数据服务节点、四个计算节点、四个存储节点。其中每个存储节点内有四个Partition,上述Partition为存储节点内的存储分区,有四个Partition即为在每个存储节点内有四个存储分区。
在上述四个计算节点中的一个计算节点经查询计划,生成并执行算子下沉至存储节点,设定为三跳查询(n1->n2->n3->n4),并将查询算子序列化。完成序列化后进行主节点查询,具体为向元数据服务器询问当前负载相对较小的存储节点,元数据服务器相应请求并将该存储节点序号告知给计算节点,该存储节点作为本次查询的Master存储节点,即为步骤B中的主节点。随后计算节点向主节点发送序列化后的查询信息和图遍历请求。
主节点收到计算节点的图遍历请求后,构建JobMaster任务,并向其它三个从节点广播本次查询任务,其它三个从节点收到主节点的查询请求,分别构建Root任务。每个存储节点收到图遍历请求后,反序列化解析图遍历请求,在本实施例中查询信息为:
n1:姓名=王五And年龄=24;
e1:follow;
n2:(无限制);
e2:follow;
n3:(无限制);
e3:follow;
n4:姓名=张三Or姓名=李四;
其中n1、n2、n3、n4为节点内的四个分区,在n1内需要获得一个起始节点,在本实施例中,“姓名=王五And年龄=24”即为起始节点的属性要求。在本实施例中,e1、e2、e3的属性要求均为follow。对于JobMaster任务和Root任务,它们是从n1开始遍历。如果JobMaster的四个Worker并没有过滤出符合条件n1,那么JobMaster本地任务完成,并等待三个Root任务的相应完成。其中两个Root同样没有在本地找到符合条件的n1,随即向JobMaster报告任务完成。JobMaster收到任务完成的汇报消息后,记录下已完成的Root任务,还剩下最后一个Root,则继续等待最后一个Root的完成消息。
最后一个Root中的一个Worker过滤出姓名=王五And年龄=24的n1有NodeID1,并将该NodeID1填入该Worker的待遍历表,如表1所示。
表1第一次更新后的待遍历表
n1 1
n2
n3
n4
Worker调用“获得出边”函数得到NodeID1的出边,分别为Edge1、Edge10和Edge11,其中“获得出边”函数的内部实现为:查询拓扑<NodeID:{OutEdgeIDs},{InEdgeIDs}>,即得到NodeID1的对应出边序号EdgeID1、EdgeID10和EdgeID11。
得到出边后,Worker调用“对边集合进行属性过滤”函数,“对边集合进行过滤”函数的内部实现是:后续遍历图遍历上下文和某一条的条件表达式树,检索属性索引得到符合条件的EdgeID,与作为输入的EdgeID取交集,产生结果EdgeID。通过该步骤,过滤出label为follow的出边为EdgeID1和EdgeID10。
上述两个出边EdgeID1和EdgeID10对应的节点序号为NodeID2、NodeID3和NodeID4,由于n2的过滤条件为空,则不进行过滤,将NodeID2、NodeID3和NodeID4进行位图去重检查,发现均不重复;将NodeID2、NodeID3和NodeID4进行是否位于本地检查,发现均位于本地,则n2有NodeID2、NodeID3和NodeID4,并将上述节点填入待遍历表。更新后的待遍历表如表2所示。
表2第二次更新后的待遍历表
n1 1
n2 2、3、4
n3
n4
Worker通过调用上述“获得出边”函数获得NodeID2、NodeID3和NodeID4的出边为Edge12、Edge13、Edge14,Worker调用上述“对边集合进行属性过滤”函数,查得label为follow的出边为Edge12和Edge13,Edge12和Edge13对应的节点为NodeID5和NodeID6,由于n3的过滤条件为空,不进行对节点的过滤,将NodeID5和NodeID6进行位图去重检查,发现均不重复;将NodeID5和NodeID6进行是否位于本地检查,发现都位于NodeID5位于本地,NodeID6位于另一个从节点,于是NodeID5写入待遍历表的n3位置,更新后的待遍历表如表3所示。将NodeID6写入图遍历路由表。
表3第三次更新后的待遍历表
n1 1
n2 2、3、4
n3 5
n4
Worker获得NodeID5的出边为Edge15,边Edge15对应的目的节点为NodeID7,Worker调用“对节点集合进行属性过滤”函数,由于本次得到的目的节点只有NodeID7,则只对NodeID7进行属性过滤,其中“对节点集合进行属性过滤”函数的内部实现是:后续遍历图遍历上下文某圈层节点的调价表达式树,检索属性索引得到符合条件的NodeIDs,与作为输入的NodeIDs取交集,产生结果NodeIDs。在本实施例中n4的属性条件为姓名=张三Or姓名=李四。经过过滤,NodeID7的属性为姓名=张三Or姓名=李四。将NodeID7进行位图去重检查,发现在本从节点内均不重复;将NodeID7进行是否位于本地检查,发现位于本地,于是将NodeID7写入n4,并更新待遍历表,更新后的待遍历表如表4所示。
表4第四次更新后的待遍历表
n1 1
n2 2、3、4
n3 5
n4 7
此时NodeID7为最终的本地结果节点的ID,从对应的Partition获得该节点,然后将该节点发送至计算节点。检查图遍历路由表,发现图遍历路由表不为空,则进行路由转发。
上述NodeID6位于其他节点,该节点称为目标节点,并在该目标节点生成UnRoot任务,反序列化并构建待遍历表,重复完成上述行为,直到目标节点的遍历完成。如果无上述路由任务,则向上级汇报完成。
Root任务收到汇报后,本Root任务完成,向JobMaster汇报,JobMaster至此收到全部Root任务,且本地遍历任务已全部完成,于是向计算节点汇报任务执行完毕。
在上述查询到NodeID后,可能其他Worker已经访问并记录了该NodeID,从而使存储节点的Worker重复访问该节点,造成出现数据冗余。针对该种技术缺陷,本实施例中进行了对数据的去重,即在TraversalTask对象的每一圈层预设一张位图用于去重。其具体为,每个Worker在执行一次扩展操作后,要先检查当前圈层的位图中该NodeID的标志位是否为1.若为1,则说明其他Worker已经扩展到该节点,本Worker不必在当前圈层重复添加该节点,避免后续遍历中发生更大的数据冗余。若该NodeID的标志位为0,则将位图的NodeID的标志位置为1,然后将NodeID加入下一级待遍历表或图遍历路由表。在所有Worker的任务完成后,销毁所有Worker,并统计完成全部任务的Worker数量。在本实施例中,主节点和从节点均为存储节点。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于分布式图数据库的图遍历算法,其特征在于,包括以下步骤:
步骤A:计算节点向主节点发送图遍历请求,主节点向其余从节点广播该图遍历请求;
步骤B:主节点和从节点收到图遍历请求后,从符合条件的起始节点开始遍历自身存储的所有节点,得到主节点和从节点符合筛选条件的NodeIDs,如果没有符合条件的起始节点,则该存储节点的本地任务完成;
步骤C:在上述步骤B中,如果遍历出存储于其他存储节点的节点,则将该节点存储至图遍历路由表,并将图遍历路由表发送至目标节点,得到该目标节点中符合筛选条件的NodeIDs;
步骤D:从节点收到完成信息后,本从节点任务完成,并向主节点汇报,主节点收到全部从节点任务,且本地遍历任务全部完成,向计算节点汇报任务执行完毕;
其中,所述步骤B的具体步骤为:
步骤B1:从节点的TraversalTask对象根据自身类型,使用反序列化规则解析并维护图遍历上下文;
步骤B2:当TraversalTask对象的类型为JobMaster或Root,每个Worker调用“节点属性过滤”函数,上述“节点属性过滤”函数的内部实现为:后序遍历图遍历上下文的某圈层节点的条件表达式树,完成该从节点内所有节点的访问,并得到符合条件的起始节点;
步骤B3:每个Worker调用“获得出边”函数,并得到上述起始节点对应的EdgeIDs;
步骤B4:每个Worker调用“对边集合进行属性过滤”函数,并得到符合条件的EdgeIDs,与作为输入的EdgeIDs取交集,产生结果EdgeIDs;
步骤B5:每个Worker调用“获得目的节点”函数,得到上述EdgeIDs对应的NodeIDs;
步骤B6:对得到的NodeIDs进行属性过滤,并产生结果NodeIDs。
2.根据权利要求1所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述步骤A的具体步骤为:
步骤A1:主节点收到计算节点的图遍历请求后创建TraversalTask对象,并将TraversalTask对象的类型设定为JobMaster,并创建与从节点内Partition数量对应的用于进行图遍历的Worker;
步骤A2:上述JobMaster向其他的从节点广播图遍历请求;
步骤A3:从节点收到上述图遍历请求后创建各自TraversalTsak对象和Worker,并将TraversalTask对象的类型设定为Root。
3.根据权利要求2所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述Worker消费完自身的待遍历表的当前最大剩余跳数的数据后,主动窃取其他Worker当前最大剩余跳数的数据来执行圈层遍历。
4.根据权利要求3所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述步骤B5的具体步骤为:每个Worker调用“对节点集合进行属性过滤”函数,其中“对节点集合进行属性过滤”函数的内部实现是:后续遍历图遍历上下文的某圈层节点的条件表达式树,检索属性索引得到符合条件的NodeIDs,与作为输入的NodeIDs取交集,得到符合筛选条件的NodeIDs。
5.根据权利要求1所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述步骤C的具体步骤为:
步骤C1:根据NodeID的前缀判断该Node是否位于当前存储节点,如果位于其他节点,则将该Node写入图遍历路由表,如果位于本地存储节点且未重复,则写入待遍历表;
步骤C2:完成步骤B后,检查图遍历路由表,如果图遍历路由表不为空,则序列化图遍历上下文与图遍历路由表,转发至目的从节点,并建立下级存储节点任务完成的统计表,等待下级存储节点的任务完成信息;
步骤C3:目的从节点收到上述图遍历路由请求,构建TraversalTask并标示为UnRoot;
步骤C4:目的从节点解析上述图遍历路由表,并在目的从节点中完成上述步骤B,得到目的从节点中的NodeIDs。
6.根据权利要求1所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述步骤D的具体步骤为:
步骤D1:当Root和UnRoot的数个Worker任务完成,也均收到图遍历路由任务的完成消息后,向父TraversalTask回复任务完成;
步骤D2:当JobMaster的多个Worker任务完成,销毁JobMaster、Root和UnRoot中的Worker,收到图遍历路由任务完成消息后,且收齐所有类型为Root的完成消息,向计算节点回复任务完成。
7.根据权利要求6所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述步骤D1的具体步骤为:
步骤D11:每个Worker以结果容器内的每一个NodeID作为输入,调用“获取节点实例”函数,“获取节点实例”函数的内部实现是:根据NodeID所在的Partition,调用该分区的RocksDB实例的接口,获取节点实例,全部获取完成后,将节点实例发送给计算节点;
步骤D12:TraversalTask统计已完成遍历任务的Worker的个数,如果该Worker的全部任务已完成,则销毁该Worker,并统计完成全部任务的Worker的数量。
8.根据权利要求1所述的一种基于分布式图数据库的图遍历算法,其特征在于,在进行所述步骤B时,TraversalTask对象的每一圈层预设用于去重的位图,Work在执行一侧expand操作后,先检查当前圈层的位图中该NodeID的标志位是否为1,若为1,则说明其他Worker已经expand到该节点,本Worker不在当前圈层重复添加该节点,若为0,则将位图的NodeID的bit位原子地置为1,然后将该NodeID加入下一级待遍历表。
9.根据权利要求1所述的一种基于分布式图数据库的图遍历算法,其特征在于,所述步骤B3中的“获得出边”函数的内部实现是:查询图拓扑<NodeID:{OutEdgeIDs},{InEdgeIDs}>。
CN202210452638.3A 2022-04-27 2022-04-27 一种基于分布式图数据库的图遍历算法 Active CN114817262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210452638.3A CN114817262B (zh) 2022-04-27 2022-04-27 一种基于分布式图数据库的图遍历算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210452638.3A CN114817262B (zh) 2022-04-27 2022-04-27 一种基于分布式图数据库的图遍历算法

Publications (2)

Publication Number Publication Date
CN114817262A CN114817262A (zh) 2022-07-29
CN114817262B true CN114817262B (zh) 2023-03-28

Family

ID=82510213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210452638.3A Active CN114817262B (zh) 2022-04-27 2022-04-27 一种基于分布式图数据库的图遍历算法

Country Status (1)

Country Link
CN (1) CN114817262B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017112403A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Graphics processing unit operation
WO2018136963A1 (en) * 2017-01-23 2018-07-26 Kinetica Db, Inc. Distributed and parallelized visualization framework
CN110727760A (zh) * 2019-09-08 2020-01-24 天津大学 一种对大规模知识图谱进行分布式正则路径查询的方法
CN112269887A (zh) * 2020-11-09 2021-01-26 安徽华典大数据科技有限公司 一种基于图数据库的分布式系统
CN112417033A (zh) * 2020-10-19 2021-02-26 中国科学院计算机网络信息中心 一种分布式图数据库多节点数据一致性实现方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045790A (zh) * 2015-03-13 2015-11-11 北京航空航天大学 图数据搜索系统、方法和设备
CN106294772B (zh) * 2016-08-11 2019-03-19 电子科技大学 分布式内存列式数据库的缓存管理方法
CN107291807B (zh) * 2017-05-16 2020-10-16 中国科学院计算机网络信息中心 一种基于图遍历的sparql查询优化方法
CN110008289B (zh) * 2019-03-01 2022-08-26 国电南瑞科技股份有限公司 一种关系数据库、电网模型数据存储及检索方法
US11093499B2 (en) * 2019-03-08 2021-08-17 Microsoft Technology Licensing, Llc Techniques for optimizing graph database queries
CN110134695B (zh) * 2019-05-21 2022-08-16 电子科技大学 一种面向流水线结构化数据查询的数据库智能分区方法
CN110147376A (zh) * 2019-05-29 2019-08-20 中国石油大学(华东) 一种基于领域本体的油气大数据查询和存储方法
CN110347705B (zh) * 2019-07-19 2023-05-12 大连海事大学 一种分布式Skyline查询系统及方法
CN111177486B (zh) * 2019-12-19 2020-09-08 四川蜀天梦图数据科技有限公司 一种分布式图计算过程中的消息传递方法和装置
CN111552710B (zh) * 2020-04-28 2023-07-04 电子科技大学 一种分布式数据库的查询优化方法
CN113468275A (zh) * 2021-07-28 2021-10-01 浙江大华技术股份有限公司 图数据库的数据导入方法和装置、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017112403A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Graphics processing unit operation
WO2018136963A1 (en) * 2017-01-23 2018-07-26 Kinetica Db, Inc. Distributed and parallelized visualization framework
CN110727760A (zh) * 2019-09-08 2020-01-24 天津大学 一种对大规模知识图谱进行分布式正则路径查询的方法
CN112417033A (zh) * 2020-10-19 2021-02-26 中国科学院计算机网络信息中心 一种分布式图数据库多节点数据一致性实现方法和系统
CN112269887A (zh) * 2020-11-09 2021-01-26 安徽华典大数据科技有限公司 一种基于图数据库的分布式系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
王童童 ; 荣垂田 ; 卢卫 ; 杜小勇 ; .分布式图处理系统技术综述.软件学报.2017,(03),49-66. *
郭栋 ; 王伟 ; 曾国荪 ; .基于一致性树分布的数据分布式存储方法.计算机应用.2013,(12),126-130. *
高壮良 ; 吕雁飞 ; 张鸿 ; .基于Graphlab的网络图关键节点发现算法研究.通信学报.2016,(03),186-193. *

Also Published As

Publication number Publication date
CN114817262A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US11461356B2 (en) Large scale unstructured database systems
US20220405277A1 (en) Joining large database tables
CN106227800B (zh) 一种高度关联大数据的存储方法及管理系统
CN110837585B (zh) 多源异构的数据关联查询方法及系统
WO2012012968A1 (zh) 一种分布式并行数据库系统的数据分区方法
US8161244B2 (en) Multiple cache directories
CN104809190B (zh) 一种树形结构数据的数据库存取方法
CN106599043A (zh) 用于多级数据库的中间件和多级数据库系统
US20130212131A1 (en) Symbolic hyper-graph database
CN111177486B (zh) 一种分布式图计算过程中的消息传递方法和装置
CN101436192A (zh) 用于优化针对垂直存储式数据库的查询的方法和设备
CN103631870A (zh) 一种用于大规模分布式数据处理的系统及其方法
CN109933631A (zh) 基于Infiniband网络的分布式并行数据库系统及数据处理方法
CN104239417A (zh) 一种分布式数据库数据分片后动态调整方法及装置
CN108073696B (zh) 基于分布式内存数据库的gis应用方法
Kan et al. Topology modeling and analysis of a power grid network using a graph database
US11782924B2 (en) Distributed join index for shared-nothing and log-structured databases
CN107870949A (zh) 数据分析作业依赖关系生成方法和系统
CN112269887A (zh) 一种基于图数据库的分布式系统
CN103365987A (zh) 一种基于共享磁盘架构的集群数据库系统及数据处理方法
CN105550332A (zh) 一种基于双层索引结构的起源图查询方法
CN114817262B (zh) 一种基于分布式图数据库的图遍历算法
US8548980B2 (en) Accelerating queries based on exact knowledge of specific rows satisfying local conditions
WO2023066222A1 (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
WO2023124242A1 (zh) 事务执行方法、装置、设备和存储介质

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
GR01 Patent grant
GR01 Patent grant