[发明专利]一种基于邻接表实现节点路径的查询方法及系统有效
申请号: | 201910308958.X | 申请日: | 2019-04-17 |
公开(公告)号: | CN110083603B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 刘其帅 | 申请(专利权)人: | 武汉初心科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/242 |
代理公司: | 武汉知产时代知识产权代理有限公司 42238 | 代理人: | 孙丽丽 |
地址: | 430000 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 邻接 实现 节点 路径 查询 方法 系统 | ||
1.一种基于邻接表实现节点路径的查询方法,其特征在于,包括以下步骤:
S1、定义第一集合A1和第二集合A2;其中,所述第一集合A1中包括了若干个已查询节点,所述第二集合A2中包括了若干个待查询节点;
S2、查询缓存系统:在缓存系统中,查询所述第二集合A2中所有待查询节点的祖先节点;
S3、将步骤S2中查询到的祖先节点,与第一集合A1中所有的已查询节点进行匹配,将未匹配成功的祖先节点作为待查询节点存入第二集合A2中;
S4、在数据库中查询所有待查询节点的直接父节点,并将查询到对应直接父节点的待查询节点作为查询节点,存入到第一集合A1中;
S5、清空第二集合A2中的节点数据;
S6、将步骤S4中查询到的所有直接父节点,存入所述已清空的第二集合A2中;
S7、重复步骤S2至S6,直到第二集合A2为空时,执行步骤S8;
S8、利用第一集合A1中的节点数据进行节点路径查询。
2.根据权利要求1所述的查询方法,其特征在于,步骤S1中,将能够从数据库中查询到父节点的节点作为已查询节点,将未能从数据库中查询到父节点的节点作为待查询节点。
3.根据权利要求2所述的查询方法,其特征在于,在数据库中以邻接表的方式存储整个树的节点相邻关系。
4.根据权利要求1所述的查询方法,其特征在于,步骤S2采用的缓存系统,以键-值对的方式记录每个节点,以及与节点相对应的祖先节点;其中,将以节点作为键,以节点的祖先列表作为值,所述祖先列表中包括了与节点相对应的若干个祖先节点。
5.根据权利要求1所述的查询方法,其特征在于,当第二集合A2为空时,即所述第二集合A2中的待查询节点均通过查询数据库找到其对应的直接父节点,此时根据第一集合A1中的查询节点和与其相对应的祖先节点,即可得到每个已查询节点的查询路径。
6.根据权利要求1所述的查询方法,其特征在于,当第二集合A2为空时,将第一集合A1中的每个查询节点作为键,所述每个查询节点的祖先列表作为值,写入到缓存系统中,使得在下次进行节点路径查询的时候,还能够利用之前写入的缓存数据,减少总体查询次数。
7.一种基于邻接表实现节点路径的查询系统,其特征在于,包括以下模块:
缓存模块,用于存储节点以及每个节点相对应的祖先节点;
数据库模块,用于以邻接表的方式存储整个树的节点相邻关系;
路劲查询模块,用于利用数据库模块和缓存模块中存储的节点数据,进行节点路径查询;
所述查询系统利用如权利要求1-6中任意一项的节点路劲方法步骤,实现节点的路劲查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉初心科技有限公司,未经武汉初心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910308958.X/1.html,转载请声明来源钻瓜专利网。