[发明专利]一种图数据库遍历方法、装置、设备及存储介质有效
申请号: | 202010043990.2 | 申请日: | 2020-01-15 |
公开(公告)号: | CN111259205B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 张海平;汪洋;陈曦;王益飞 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 遍历 方法 装置 设备 存储 介质 | ||
本申请公开了一种图数据库遍历方法、装置、设备及存储介质,涉及智能搜索技术领域。具体实现方案为:获取输入的图遍历语句,确定图遍历语句包含的至少两个算子和各算子的执行顺序,为各算子分别分配线程,并为每两个相邻算子分别创建缓冲队列;对于每两个相邻算子,通过两个相邻算子中前一算子对应的线程,执行前一算子的操作,并将前一算子的执行结果数据写入两个相邻算子对应的缓冲队列中;以及,通过两个相邻算子中后一算子对应的线程,并行从缓冲队列中读取两个相邻算子中前一算子的执行结果数据,以用于执行后一算子的操作。本申请实施例的技术方案实现了算子的并行执行,从而提高了遍历操作的执行效率和系统资源利用率。
技术领域
本申请涉及计算机技术,尤其涉及智能搜索技术领域。
背景技术
在图数据库中,遍历操作是最基本的操作。现有技中,在获取到用户输入的图遍历语句后,会根据图遍历语句中所包含的多个算子之间的嵌套调用、或者按照各算子的执行顺序对前一算子的执行结果依次筛选,最终得到目标元素。
然而,上述两种方式在大规模数据并发的情况下,目标元素查询效率较低,导致系统资源利用率低下。
发明内容
本申请实施例提供了一种图数据库遍历方法、装置、设备及存储介质,以提高对图数据库中目标元素的查询效率和系统资源利用率。
第一方面,本申请实施例提供了一种图数据库遍历方法,包括:
获取输入的图遍历语句,确定所述图遍历语句包含的至少两个算子和各算子的执行顺序,为各算子分别分配线程,并为每两个相邻算子分别创建缓冲队列;
对于每两个相邻算子,通过所述两个相邻算子中前一算子对应的线程,执行前一算子的操作,并将前一算子的执行结果数据写入所述两个相邻算子对应的缓冲队列中;以及,通过所述两个相邻算子中后一算子对应的线程,并行从所述缓冲队列中读取所述两个相邻算子中前一算子的执行结果数据,以用于执行后一算子的操作。
本申请实施例通过获取输入的图遍历语句,确定图遍历语句包含的至少两个算子和各算子的执行顺序,为各算子分别分配线程,并为每两个相邻算子分别创建缓冲队列;对于每两个相邻算子,通过两个相邻算子中前一算子对应的线程,执行前一算子的操作,并将前一算子的执行结果数据写入两个相邻算子对应的缓冲队列中;以及,通过两个相邻算子中后一算子对应的线程,并行从缓冲队列中读取两个相邻算子中前一算子的执行结果数据,以用于执行后一算子的操作。上述技术方案通过在每两个相邻算子之间创建缓冲队列,使得在两个相邻算子中的前一算子产生执行结果数据并被写入缓冲队列中后,即可开始读取缓冲队列中的数据以执行后一算子,从而实现了算子的并行执行,提高了遍历操作的执行效率和系统资源利用率。
可选的,所述方法还包括:
按照各算子的执行顺序,将令牌数据在各算子对应的线程间传递,以使接收到令牌数据的线程开始执行本线程对应算子的操作,并将所述令牌数据传递至下一算子对应的线程。
上述申请中的一个可选实施方式,通过令牌数据在各算子对应的线程间的传递,关联触发下一算子对应的线程的启动,缩短了相邻算子对应的线程之间的等待时间,进而提高了执行效率。
可选的,为各算子分别分配线程,包括:
根据可用线程的数量,按照各算子的执行顺序,为各算子分别分配线程。
上述申请中的一个可选实施方式,根据可用线程的数据以及各算子的执行顺序为各算子分别分配线程,完善了线程的分配机制,为算子的并行执行提供保障。
可选的,若所述可用线程的数量小于算子的数量,在按照各算子的执行顺序,将令牌数据在各算子对应的线程间传递时,所述方法还包括:
接收到所述令牌数据的线程判断下一算子是否具有对应的线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010043990.2/2.html,转载请声明来源钻瓜专利网。