本发明应用于调用链,尤其涉及一种无spanid的节点向链路树上挂载的方法。
背景技术:
1、在现有背景中,应用调用链技术是一种用于分析和追踪应用程序中函数或方法之间的调用关系的技术,帮助开发人员更好地理解应用程序的执行流程,并提供性能优化和故障排查的支持;调用链技术在性能优化、故障排查、分布式系统监控和服务治理等领域都具有广泛的应用,通过分析和追踪应用程序中函数或方法之间的调用关系,帮助开发人员更好地理解和优化应用程序的执行流程,提高系统的性能和可靠性。
2、在调用链中,每个服务的调用被称为一个span,而span之间的上下级关系通过spanid和pspanid来建立,在实际应用场景中,如附图1所示,有的时候采集到的节点数据中只能确定其pspanid,不能确定其spanid,此时节点的下级节点就无法确认,实际情况是节点父节点的子节点的数据应该在节点下,也就是节点要插在树上某上下级节点中间。
技术实现思路
1、本发明的目的在于,针对上述的技术问题,提出一种无spanid的节点向链路树上挂载的方法,针对新插入的节点和子节点之间重排。
2、一种无spanid的节点向链路树上挂载的方法,步骤为:
3、s1:从根节点开始,向下寻找子节点;
4、s2:判断子节点是否为无spanid的节点;
5、s3:判断无spanid的节点个数和无spanid节点的子节点数是否一致,对无spanid节点的子节点进行挂载。
6、进一步的,一种无spanid的节点向链路树上挂载的方法,所述步骤s2包括以下子步骤:
7、若子节点是无spanid的节点,将子节点的spanid设置为pspanid,继续向下寻找子节点是否是无spanid的节点;
8、若子节点不是无spanid的节点,停止寻找。
9、进一步的,一种无spanid的节点向链路树上挂载的方法,所述
10、若无spanid的节点个数和无spanid节点的子节点数一致,依次挂载无spanid节点的子节点;
11、若无spanid的节点个数和无spanid节点的子节点数不一致,无spanid节点的子节点挂载根据每个节点的开始和结束时间重新挂载。
12、进一步的,一种无spanid的节点向链路树上挂载的方法,所述spanid是唯一标识一个span的编号。
13、进一步的,一种无spanid的节点向链路树上挂载的方法,所述span都有一个唯一的spanid,用于区分不同的调用。
14、进一步的,一种无spanid的节点向链路树上挂载的方法,所述pspanid是父级span的spanid,用于建立span之间的上下级关系,形成调用链。
15、进一步的,一种无spanid的节点向链路树上挂载的方法,所述调用链根据spanid和pspanid展示span之间的上下级关系。
16、本发明的有益效果:
17、1. 节省系统资源:无spanid的节点不需要额外的标识符来表示自身在链路树中的位置,减少系统中的标识符数量,节省系统资源的开销;
18、2. 简化系统设计:无spanid的节点不需要额外的逻辑来处理和维护spanid,简化系统的设计和实现流程,减少各个节点之间的通信和同步的复杂度;
19、3. 提高系统性能:无spanid的节点不需要额外的标识符和逻辑处理,提高系统的响应速度和处理能力;
20、4. 降低系统复杂度:无spanid的节点可以减少系统中的节点类型,简化系统的复杂度和维护成本;
21、5. 方便系统拓展:无spanid的节点能更灵活地进行系统拓展和升级,不需要考虑和处理spanid的兼容性和一致性问题,方便引入新的节点类型和功能模块,满足系统的不断发展和变化的需求。
1.一种无spanid的节点向链路树上挂载的方法,其特征在于,步骤为:
2.根据权利要求1所述的一种无spanid的节点向链路树上挂载的方法,其特征在于,所述步骤s2包括以下子步骤:
3.根据权利要求1所述的一种无spanid的节点向链路树上挂载的方法,其特征在于,所述
4.根据权利要求1所述的一种无spanid的节点向链路树上挂载的方法,其特征在于,所述spanid是唯一标识一个span的编号。
5.根据权利要求1所述的一种无spanid的节点向链路树上挂载的方法,其特征在于,所述span都有一个唯一的spanid,用于区分不同的调用。
6.根据权利要求1所述的一种无spanid的节点向链路树上挂载的方法,其特征在于,所述pspanid是父级span的spanid,用于建立span之间的上下级关系,形成调用链。
7.根据权利要求6所述的一种无spanid的节点向链路树上挂载的方法,其特征在于,所述调用链根据spanid和pspanid展示span之间的上下级关系。