[发明专利]异步流水线式的图查询方法及系统有效
申请号: | 201510423353.7 | 申请日: | 2015-07-17 |
公开(公告)号: | CN105260374B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 程学旗;朱海帆;张敬亮;张铁赢;林思明 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;刘健 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步 流水线 查询 方法 系统 | ||
1.一种异步流水线式的图查询方法,其特征在于,应用于分布式图数据库,包括:
根据查询请求创建包含多个查询步骤的流水线;
检测所述查询步骤的缓存队列,根据所述缓存队列的剩余元素的容量唤醒多个预取线程;
创建异步化管理后端数据层的连接和查询的线程池,为所述流水线配置所述线程池容量,所述流水线末端获得查询的结果;
其中所述预取线程包括:判断是否前一查询步骤有结果且所述缓存队列是否为满,若前一查询步骤有结果且所述缓存队列为满,则预取线程进入等待状态,若前一查询步骤有结果但所述缓存队列不为满,将所述前一查询步骤的结果进行预取,启动当前查询步骤的计算线程,并将计算结果放入所述缓存队列。
2.根据权利要求1所述图查询方法,其特征在于,所述根据查询请求创建包含多个查询步骤的流水线的步骤中,每个所述查询步骤包括预取任务和计算任务;所述流水线接收到需要后继值的指令后逐步拉取结果;
所述创建异步化管理后端数据层的连接和查询的线程池,为所述流水线配置所述线程池容量,所述流水线末端获得查询的结果的步骤中包括:
所述流水线的所有线程共享同一个所述线程池。
3.根据权利要求2所述图查询方法,其特征在于,所述检测所述查询步骤的缓存队列,根据所述缓存队列的剩余元素的容量唤醒多个预取线程的步骤中还包括:
根据前一步骤的结果数,选择等待或建立新的所述预取线程获得结果;和/或
当所述缓存队列的剩余元素低于容量阈值,唤醒等待中的所述预取线程。
4.根据权利要求3所述图查询方法,其特征在于,所述检测所述查询步骤的所述缓存队列,根据缓存队列的剩余元素的容量唤醒多个预取线程的步骤中还包括:
收集到所述前一步骤返回的结果,记录输入数据的顺序编号;
排列预取的所述结果和所述结果的路径,按编号顺序放入所述缓存队列;
所述检测所述查询步骤的缓存队列,根据所述缓存队列的剩余元素的容量唤醒多个预取线程的步骤之后包括:
逐个获取所述结果和路径,更新当前路径并向后一步骤返回所述结果;和/或
当所述预取线程结束,直至所述缓存队列为空且所述前一步骤无结果,通知所述后一步骤结果已取完。
5.根据权利要求2所述图查询方法,其特征在于,所述创建异步化管理后端数据层的连接和查询的线程池,为所述流水线配置所述线程池容量进一步包括:
当所述线程池无剩余容量,且所述查询步骤添加数据预加载线程,则阻塞所述预取线程;和/或
当所述线程池有剩余容量,且收到新的查询请求,则从后往前依次开启所述预取线程;和/或
当所述线程池有剩余容量,启动当前步骤的一个所述计算线程,并将计算结果放入所述缓存队列。
6.一种异步流水线式的图查询系统,其特征在于,应用于分布式图数据库,包括:
流水线模块,用于根据查询请求创建包含多个查询步骤的流水线;
结果缓存模块,用于检测所述查询步骤的缓存队列,根据所述缓存队列的剩余元素的容量唤醒多个预取线程;
异步管理模块,用于创建异步化管理后端数据层的连接和查询的线程池,为所述流水线配置所述线程池容量,所述流水线末端获得查询的结果;
其中所述预取线程包括:判断是否前一查询步骤有结果且所述缓存队列是否为满,若前一查询步骤有结果且所述缓存队列为满,则预取线程进入等待状态,若前一查询步骤有结果但所述缓存队列不为满,将所述前一查询步骤的结果进行预取,启动当前查询步骤的计算线程,并将计算结果放入所述缓存队列。
7.根据权利要求6所述图查询系统,其特征在于,每个所述查询步骤包括预取任务和计算任务;所述流水线接收到需要后继值的指令后逐步拉取结果;所述流水线的所有线程共享同一个所述线程池。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510423353.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种快速高效删除质粒上基因片段的方法
- 下一篇:一种海盐收集车