本发明涉及数据处理,具体涉及一种时序业务拓扑生成方法、系统、设备和存储介质。
背景技术:
1、传统的网管软件通常使用网络拓扑来反映硬件设备间的物理网络关系,运维人员通过网络拓扑能及时发现和解决硬件和网络故障。但随着it技术的发展,微服务、分布式技术、虚拟化技术、集群技术和动态迁移技术被广泛使用,软件系统内部的各个服务与硬件设备的关联关系变得不确定且容易发生业务跳转。因此,运维人员仅靠网络拓扑关系已经无法及时发现和处理故障。
2、应用拓扑技术实现的是业务系统内部各个服务间的应用调用关系,使得运维人员能够看到黑盒子内部的情况,对于定位和解决故障提供了很好的方法。然而,应用拓扑技术多通过全链路追踪技术或api接口调用的方式实现,而这种系统侵入式方式需要对软件更新改造,对业务系统的稳定性和性能有一定影响。如果业务系统是多厂家集成的系统,很难协调其他方进行改造。除此之外,应用拓扑技术还有其他一些缺点,例如:
3、1、业务逻辑性不强:在应用拓扑中,主要包括业务调用信令和系统内部的逻辑调用信令,且系统的内部逻辑调用信令占据了很大的比例。对于既是业务系统开发方又是业务系统运维方的用户来说,这种详实的调用关系有助于运维人员、运营人员联合研发人员共同对故障进行分析诊断。但对于业务系统使用方而非业务系统提供商的用户来说,运维人员很难理解和使用这种看起来复杂又庞大的应用拓扑图。
4、2、时序关系缺失:应用拓扑往往没有时序关系,当发生一条调用异常时,很难定位出是哪个或哪些业务调用信令引起或触发的,只能判断一条调用异常会导致哪些业务异常,无法进行异常回溯。
技术实现思路
1、针对上述问题,本发明的目的是提供一种时序业务拓扑生成方法、系统、设备和存储介质,从业务角度构建拓扑关系,可以精简对调用信令的收集和分析,然后保存为时序数据,通过这一系列的方法可以快速构建时序业务拓扑调用关系图。
2、为实现上述目的,本发明采取以下技术方案:
3、第一方面,本发明提供一种时序业务拓扑生成方法,包括以下步骤:
4、利用端口镜像技术对系统服务间的调用信令进行实时监听,并按照预先建立的业务调用链路规则,判断是否需要对实时监听到的各调用信令进行收集;
5、对收集的各条调用信令进行解析后,按照时间序列关系存储成时序数据;
6、对时序数据进行分析,按照预设规则生成时序业务拓扑关系并进行展示,便于用户利用所述时序业务拓扑关系对系统故障进行定位和解决。
7、进一步,所述利用端口镜像技术对系统服务间的调用信令进行实时监听,并按照预先建立的业务调用链路规则,判断是否需要对实时监听到的各调用信令进行收集,包括:
8、对系统内所有关键业务调用链路进行分析识别,并建立所有关键业务调用链路对应的业务调用链路规则;
9、利用端口镜像技术对服务间的调用信令进行实时监听,并对监听到的各调用信令进行解析,得到各调用信令的指令名;
10、基于建立的业务调用链路规则,对指令名进行匹配,如果匹配成功则对该调用信令进行收集,否则过滤掉该调用信令。
11、进一步,所述对系统内所有关键业务调用链路进行分析识别,并建立所有关键业务调用链路对应的业务调用链路规则,包括:
12、①当用户使用系统并产生某项业务调用操作时,对该业务调用操作所触发的系统内各服务间的关键业务调用信令进行分析识别,得到一条业务调用链路;
13、②基于该业务调用链路生成业务调用链路规则,即在数据库中建立一个规则数据表,表中各列分别存储该业务调用链路的指令序号、指令名、下一跳指令序号等信息;
14、③重复步骤①~步骤②,建立所有关键业务调用链路的业务调用链路规则,形成系统完整的业务链路拓扑。
15、进一步,所述对收集的各条调用信令进行解析后,按照时间序列关系存储成时序数据,包括:
16、对收集的各条调用信令进行解析,得到每条调用信令的解析数据,包括每条调用信令的发送时间、源地址、目的地址、指令名、返回时间、返回结果;
17、按照时间序列关系对各条调用信令的解析数据进行存储,得到时序数据。
18、进一步,所述对时序数据进行分析,按照预设规则生成时序业务拓扑关系并进行展示,便于用户利用该时序业务拓扑关系对系统故障进行定位和解决,包括:
19、对时序数据进行分析,按照时间顺序、源地址和目的地址调用关系及业务调用链路规则,生成时序业务拓扑关系;
20、根据各条调用信令的发送时间和返回时间计算信令时延,并保存在时序业务拓扑关系中;
21、在图形化界面上,按照用户需求对相应的时序业务拓扑关系进行展示,便于用户利用所述时序业务拓扑关系对故障进行定位和解决。
22、进一步,所述在图形化界面上,按照用户需求对相应的时序业务拓扑关系进行展示,包括:
23、当用户选择某个时间点的时序业务拓扑关系时,展示该时间点各个服务节点及相互调用关系,并在服务节点上显示其ip地址,且服务间的节点连线上只显示当前调用信令的指令名、是否成功、调用时延;
24、当用户选择某个时间段内的时序业务拓扑关系时,首先,展示该时间段内各个服务节点及相互调用关系进行展示,并在服务节点上显示其ip地址;然后,使用数据聚合方法将两个服务节点间同类指令名进行聚合,并在对应服务节点间的节点连线上显示调用指令的相关信息,包括指令名、调用失败数、调用成功数、调用总次数、调用平均时延;
25、当用户选择某个调用信令的源头节点时,则只展示与该业务调用链路匹配的完整的服务节点及服务间连线,其他不相关服务及服务间节点连线不展示。
26、第二方面,本发明提供一种时序业务拓扑生成系统,包括:
27、信令收集模块,用于利用端口镜像技术对服务间的调用信令进行实时监听和收集,并对收集的各条调用信令进行解析后,按照时间序列关系存储成时序数据;
28、解析模块,用于对收集的各条调用信令进行解析后,按照时间序列关系存储成时序数据;
29、拓扑展示模块,用于对时序数据进行分析,按照预设规则生成时序业务拓扑关系并进行展示,便于用户利用该时序业务拓扑关系对系统故障进行定位和解决。
30、进一步,所述信令收集模块中,包括:
31、规则器,用于对系统内所有业务调用链路进行分析识别,并建立所有业务调用链路对应的业务调用链路规则;
32、收集器,用于利用端口镜像技术对服务间的调用信令进行实时监听;
33、分析器,用于基于建立的业务调用链路规则,对指令名进行匹配,如果匹配成功则对该调用信令进行收集,否则过滤掉该调用信令;
34、存储器,用于按照时间序列关系对收集的各条调用信令的解析数据进行存储,得到时序数据。
35、第三方面,本发明提供一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行任一方法。
36、第四方面,本发明提供一种计算设备,包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行任一方法的指令。
37、本发明由于采取以上技术方案,其具有以下优点:
38、1、本发明从业务角度构建拓扑关系,可以精简对调用信令的收集和分析,然后保存为时序数据,通过这一系列的方法可以快速构建业务拓扑调用关系图,当用户和运维人员懂业务但只有较少的系统逻辑知识或者较少的专业it技术能力时,从业务角度出发,用业务逻辑调用来代替应用拓扑,会使运维人员更好的理解和使用拓扑图,并且极大的简化调用逻辑,也能提高拓扑关系的生成效率。
39、2、本发明由于加入了时序数据,在展示业务拓扑调用关系图时,可以快速生成历史某个时间点的业务拓扑关系图,也可以快速生成历史某段时间内的聚合业务拓扑关系图,还可以快速生成当前的业务拓扑关系图;通过这种方法,可以根据需要生成精简的、不同维度的业务拓扑关系图,很容易对业务故障进行回溯和分析。
40、因此,本发明可以广泛应用于数据处理技术领域。