[发明专利]一种高效维护节点全路径的方法、装置及应用有效
申请号: | 202210646839.7 | 申请日: | 2022-06-09 |
公开(公告)号: | CN114896271B | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 李圣权;欧阳刚;乐耀东;陈刚;毛云青 | 申请(专利权)人: | 城云科技(中国)有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/28;G06F16/23 |
代理公司: | 杭州汇和信专利代理有限公司 33475 | 代理人: | 董超 |
地址: | 310052 浙江省杭州市滨江区长*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 维护 节点 路径 方法 装置 应用 | ||
1.一种高效维护节点全路径的方法,对存储表内的节点全路径进行维护,其特征在于,包括以下步骤:
获取变更节点;
执行第一SQL语句将所述变更节点及所述变更节点的所有子节点的节点全路径设定为空,并返回受影响的节点数量;
若受影响的节点数量不为0,执行第二SQL语句初始化所述节点全路径的数据,其中“执行第二SQL语句初始化所述节点全路径的数据”包括步骤:查找节点全路径为空的节点作为待处理节点,依据所述待处理节点的数据层级以及所述待处理节点的节点记录关联所述待处理节点的父节点的节点记录,汇总所有节点记录得到第一临时节点记录,其中所述第一临时节点记录内的节点记录数量同于数据层级的层级数,依据第一临时节点记录所在的数据层级依次拼接所有所述父节点的父节点ID和待处理节点的节点ID,得到所述待处理节点的节点全路径,第二SQL语句使用“LFET JOIN”实现多表关联更新,每LEFT JOIN一次等于是一条子节点的节点记录级联它的父节点的节点记录;第二SQL使用MySQL函数“CONCAT_WS”作为拼接函数,以拼接父节点ID和待处理节点的节点ID;
若所述节点全路径内含有识别通识符,查找含有识别通识符的节点全路径的节点作为待处理节点,以所述识别通识符内的节点作为初始节点,依据所述待处理节点的数据层级关联所述初始节点的父节点的节点记录,汇总所有节点记录得到第二临时节点记录,其中所述第二临时节点记录内的节点记录数量同于数据层级的层级数,依据第二临时节点记录所在的数据层级依次拼接所有所述父节点的父节点ID和所述初始节点的节点ID,得到补全路径,利用所述补全路径替换所述含有识别通识符的字符。
2.根据权利要求1所述的高效维护节点全路径的方法,其特征在于,在“执行第一SQL语句将所述变更节点及所述变更节点的所有子节点的节点全路径设定为空”步骤中,将所述变更节点的节点全路径输入到第一SQL语句的查找位置,查找所述变更节点的所有子节点,并将所述变更节点及所有所述子节点的节点全路径全部设定为空。
3.根据权利要求1所述的高效维护节点全路径的方法,其特征在于,以所述待处理节点的节点记录为起始记录,以起始记录的父节点ID依次往前关联至少一父节点所在的节点记录,其中关联次数同于所述待处理节点的数据层级,将所有父节点的节点记录和待处理节点的节点记录整合得到第一临时节点记录。
4.根据权利要求1所述的高效维护节点全路径的方法,其特征在于,从第一临时节点记录内的第一数据层级的节点的父节点ID为起点,依据数据层级自高至低依次拼接所有父节点ID和待处理节点ID,得到待处理节点的节点全路径。
5.根据权利要求1所述的高效维护节点全路径的方法,其特征在于,第二SQL语句初始化后的所述节点全路径的第一数据层级的节点的父节点ID带有识别通识符。
6.根据权利要求1所述的高效维护节点全路径的方法,其特征在于,在拼接节点全路径时忽略父节点ID的返回值为空的值。
7.根据权利要求1所述的高效维护节点全路径的方法,其特征在于,每执行一次第三SQL语句,给循环次数加1,若循环次数大于设定阈值,则停止循环。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于城云科技(中国)有限公司,未经城云科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210646839.7/1.html,转载请声明来源钻瓜专利网。