基于Flink的全链路排查方法、装置、设备及介质与流程

文档序号:32487150发布日期:2022-12-10 01:30阅读:36来源:国知局
基于Flink的全链路排查方法、装置、设备及介质与流程
基于flink的全链路排查方法、装置、设备及介质
技术领域
1.本发明涉及计算机技术领域,特别涉及一种基于flink的全链路排查方法、装置、设备及介质。


背景技术:

2.apache flink是由apache软件基金会开发的开源流处理框架,其核心是用java和scala编写的分布式流数据流引擎。flink以数据并行和流水线方式执行任意流数据程序,flink的流水线运行时系统可以执行批处理和流处理程序。此外,flink的运行时本身也支持迭代算法的执行。由于flink是一个长久的实时运行的流任务,一般流任务处理都比较长,数据一般要经过三个步骤:source、transform、sink,其中每个节点都可以为多个。当一条数据到来,如果在第一个transform中被过滤掉,在大数据量下,通常是不知道的;如果数据在第二个transform中,做了一些数据转换通常也是不知道的。因为在这个过程中只知道数据输入了,然后输出了,难以知道数据在其中触发了什么规则,或者黑白名单等信息。例如,假设设置了几百个黑白名单,然后突然发现数据全没了,而由于不知道是被哪一个黑白名单过滤掉了,此时需要从几百个黑白名单中一个一个的人工观察,这很浪费时间。触发了什么数据转换规则也同理。
3.当前,在一种方案中可以在每个算子或节点中保持原先的处理逻辑不变,并包裹一层判断数据类型的代码,也即根据某个字段判断数据是否是测试数据。如果是测试数据,那么就进行测试相关的处理,如果不是测试数据就进行其他操作。但这种方式非常冗余,会导致正式代码与测试代码混淆,容易导致更多问题,具体可以参见图1中所示。在另一种方案中可以将共用算子抽出来,这样共用了很多算子,而且需要自己手动获取数据库的信息,然后组装成共用算子的一些需要的参数。然而这种方式也是有弊端的,当进行迭代流任务的时候,需要一起迭代全链路。首先会有代码冗余的问题,因为部分代码要写两套;另外,如果数据在算子中发生变更,那么输出的数据获取不到,后续则无法进行继续测试,具体可以参见图2中所示。
4.综上,如何确定出每一个处理节点对数据的具体处理过程,以实现更高效的全链路排查是目前有待解决的问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于flink的全链路排查方法、装置、设备及介质,能够确定出每一个处理节点对数据的具体处理过程,以实现更高效的全链路排查。其具体方案如下:
6.第一方面,本技术公开了一种基于flink的全链路排查方法,包括:
7.获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据;
8.获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初
始数据作为输入数据传递给当前处理节点;
9.获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据;
10.将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点;
11.基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。
12.可选的,所述基于flink的全链路排查方法,还包括:
13.预先基于所述拓扑结构图中的遍历顺序在每一处理节点中分别记录对应的上一处理节点信息和下一处理节点信息。
14.可选的,所述确定出与所述当前处理节点对应的下一处理节点,包括:
15.确定所述当前处理节点中预先记录的下一处理节点信息;
16.基于所述下一处理节点信息确定出与所述当前处理节点对应的下一处理节点。
17.可选的,所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,包括:
18.利用所述当前处理节点中预先定义的数据收集器获取所述当前处理节点对所述输入数据进行处理后得到的输出数据。
19.可选的,所述基于flink的全链路排查方法,还包括:
20.基于localtestoutput类构建所述数据收集器。
21.可选的,所述基于flink的全链路排查方法,还包括:
22.通过预设显示规则对每一所述处理节点的输入数据和输出数据进行显示。
23.可选的,所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,包括:
24.获取所述当前处理节点对所述输入数据进行数据转换处理后得到的输出数据;
25.或,获取所述当前处理节点对所述输入数据进行数据过滤处理后得到的输出数据;
26.或,获取所述当前处理节点对所述输入数据进行数据标记处理后得到的输出数据。
27.第二方面,本技术公开了一种基于flink的全链路排查装置,包括:
28.数据加载模块,用于获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据;
29.拓扑结构图获取模块,用于获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点;
30.输出数据获取模块,用于获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据;
31.处理节点遍历模块,用于将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到
遍历完所述拓扑结构图中的所有处理节点;
32.全链路排查模块,用于基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。
33.第三方面,本技术公开了一种电子设备,包括:
34.存储器,用于保存计算机程序;
35.处理器,用于执行所述计算机程序,以实现前述公开的基于flink的全链路排查方法的步骤。
36.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的基于flink的全链路排查方法的步骤。
37.可见,本技术获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据;获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点;获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据;将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点;基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。由此可见,本技术在基于flink构建的任务执行环境通过数据源节点加载初始数据,并获取用于表征节点流的遍历顺序的拓扑结构图,以从拓扑结构图中确定出当前首先需要遍历的处理节点,即当前处理节点,然后将初始数据作为当前处理节点的输入数据。当前处理节点对输入数据进行相应处理得到输出数据,并确定出接下来需要遍历的下一处理节点,再将输出数据作为下一处理节点的输入数据,以及将下一处理节点作为当前处理节点,然后重新跳转至获取当前处理节点对输入数据进行处理后得到的输出数据的步骤,直到遍历完拓扑结构图中的所有处理节点,能够获取到每一个处理节点的输入数据和输出数据。因此,最后可以基于每一处理节点的输入数据和输出数据执行高效的全链路排查操作,也即通过每一个处理节点输入输出数据,能够分析出该处理节点中对数据具体进行了怎样的处理。上述过程未改变实际的流处理顺序,也未影响线上任务执行环境的数据,实现了无侵入式的全链路排查。
附图说明
38.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
39.图1为本技术公开的一种现有方案的示意图;
40.图2为本技术公开的另一种现有方案的示意图;
41.图3为本技术公开的一种基于flink的全链路排查方法流程图;
42.图4为本技术公开的一种具体的全链路排查流程示意图;
43.图5为本技术公开的一种具体的任务执行流程示意图;
44.图6为本技术公开的一种具体的拓扑结构示意图;
45.图7为本技术公开的一种具体的数据展示示意图;
46.图8为本技术公开的一种具体的基于flink的全链路排查方法流程图;
47.图9为本技术公开的一种具体的输出数据收集过程示意图;
48.图10为本技术公开的一种基于flink的全链路排查装置结构示意图;
49.图11为本技术公开的一种电子设备结构图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.当前,在一种方案中可以在每个算子或节点中保持原先的处理逻辑不变,并包裹一层判断数据类型的代码,也即根据某个字段判断数据是否是测试数据。如果是测试数据,那么就进行测试相关的处理,如果不是测试数据就进行其他操作。但这种方式非常冗余,会导致正式代码与测试代码混淆,容易导致更多问题。
52.在另一种方案中可以将共用算子抽出来,这样共用了很多算子,而且需要自己手动获取数据库的信息,然后组装成共用算子的一些需要的参数。然而这种方式也是有弊端的,当进行迭代流任务的时候,需要一起迭代全链路。首先会有代码冗余的问题,因为部分代码要写两套;另外,如果数据在算子中发生变更,那么输出的数据获取不到,后续则无法进行继续测试。为此,本技术实施例公开了一种基于flink的全链路排查方法、装置、设备及介质,能够确定出每一个处理节点对数据的具体处理过程,以实现更高效的全链路排查。
53.参见图3和图4所示,本技术实施例公开了一种基于flink的全链路排查方法,该方法包括:
54.步骤s11:获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据。
55.本实施例中,首先获取基于flink构建的任务执行环境(即streamexecutionenvironment),可以理解的是,一般情况下在写完代码后就直接运行了,比如执行streamexecutionenvironment.execute(),但是对于全链路,不是直接运行,需要返回一个streamexecutionenvironment,这个streamexecutionenvironment包含了要运行任务的基本信息,其中最重要的是流任务信息、流的拓扑图等。然后在该任务执行环境下通过数据源节点(即source节点)加载初始数据。图5公开了一种具体的任务执行流程示意图,首先创建任务执行环境(即streamexecutionenvironment),然后依次添加source节点、若干个transform节点、sink节点;其中,transform节点可能有侧边栏输出的情况,则需分别添加sink节点,最后执行execute方法。例如,在进行debug(测试)模式的时候,传入如下值:streamexecutionenvironment、要进行debug的数据、一些详情信息等,最终则执行debug方法。
56.步骤s12:获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点。
57.本实施例中,获取用于表征节点流的遍历顺序的拓扑结构图,可以调用
streamexecutionenvironment的getverticessortedtopologicallyfromsources方法获取到一个重要的拓扑结构图;其中,拓扑结构图有如下特点:
58.(1)拓扑图是有顺序的,分别是source节点,若干个transform节点、sink节点等的顺序结构;
59.(2)每个节点记录了自己下一个节点详细信息;
60.(3)每个节点记录了自己上一个节点的详细信息;
61.(4)每个节点记录了由哪个节点输出数据给当前节点。
62.图6公开了一种具体的拓扑结构示意图,在遍历的时候通过1号线,因此可以知道每个节点的下一个节点是什么,上述遍历为顺序遍历,相当于正常的数据流转;当遍历到某个节点的时候,参考2号线,可以知道当前节点的数据是从哪个节点获取,因为正常情况下,可能有分叉,所以需要知道当前节点数据从哪个节点获取;根据2号线,能确定从哪个节点获取数据,数据是跟节点绑定的,因此获取到节点后,可以获取相关的数据,然后将数据在本节点输出,并作为下一个节点的输入,参考3号线所示。
63.步骤s13:获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据。
64.本实施例中,通过当前处理节点对输入数据进行处理得到相应的输出数据,其中,上述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,具体可以包括:获取所述当前处理节点对所述输入数据进行数据转换处理后得到的输出数据;或,获取所述当前处理节点对所述输入数据进行数据过滤处理后得到的输出数据;或,获取所述当前处理节点对所述输入数据进行数据标记处理后得到的输出数据。也即,处理节点可以按照相应的数据转换规则对输入数据进行相应的转换处理,也即将输入数据转换为新的数据;处理节点还可以对输入数据进行过滤处理,以过滤掉其中一些数据,例如可以按照预先设置的黑白名单进行过滤;处理节点还可以对输入数据进行数据标记处理,也即打标,打标能看前后数据对比,能知道相关字段是本次增加的还是本次修改的,还是数据自带的。在获取到输出数据后,则确定出与当前处理节点对应的下一处理节点,并将输出数据作为下一处理节点的输入数据。
65.步骤s14:将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点。
66.本实施例中,将下一处理节点作为当前处理节点,并重新跳转至获取当前处理节点对输入数据进行处理后得到的输出数据的步骤,直到遍历完拓扑结构图中的所有处理节点。
67.步骤s15:基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。
68.本实施例中,通过上述步骤能够获取到每一个处理节点的输入输出数据,通过每一个处理节点的输入输出数据就能确定出数据在哪个节点触发了黑白名单,在哪个节点触发什么规则,在哪个节点数据被转换了,大大的节省排查问题的时间,实现了高效的全链路排查。
69.进一步的,上述方法还包括:通过预设显示规则对每一所述处理节点的输入数据
和输出数据进行显示,实现了流任务输出数据与界面展示数据进行分离互不影响,界面可以在数据展示上进行更加友好的展示。可以理解的是,在获取到所有处理节点的输入数据和输出数据,可以针对数据进行展示操作,具体可以参见图7所示。
70.可见,本技术获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据;获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点;获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据;将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点;基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。由此可见,本技术在基于flink构建的任务执行环境通过数据源节点加载初始数据,并获取用于表征节点流的遍历顺序的拓扑结构图,以从拓扑结构图中确定出当前首先需要遍历的处理节点,即当前处理节点,然后将初始数据作为当前处理节点的输入数据。当前处理节点对输入数据进行相应处理得到输出数据,并确定出接下来需要遍历的下一处理节点,再将输出数据作为下一处理节点的输入数据,以及将下一处理节点作为当前处理节点,然后重新跳转至获取当前处理节点对输入数据进行处理后得到的输出数据的步骤,直到遍历完拓扑结构图中的所有处理节点,能够获取到每一个处理节点的输入数据和输出数据。因此,最后可以基于每一处理节点的输入数据和输出数据执行高效的全链路排查操作,也即通过每一个处理节点输入输出数据,能够分析出该处理节点中对数据具体进行了怎样的处理。上述过程未改变实际的流处理顺序,也未影响线上任务执行环境的数据,实现了无侵入式的全链路排查。
71.参见图8所示,本技术实施例公开了一种具体的基于flink的全链路排查方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
72.步骤s21:获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据。
73.步骤s22:获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点。
74.步骤s23:利用所述当前处理节点中预先定义的数据收集器获取所述当前处理节点对所述输入数据进行处理后得到的输出数据。
75.本实施例中,利用当前处理节点中预先定义的数据收集器获取处理后的输出数据,具体可以基于localtestoutput类构建所述数据收集器。也即本实施例需要定义一个localtestoutput类的收集器,并且调用setup方法替换算子原有的收集器,该localtestoutput类中包含三个部分:
76.(1)用于存储本次侧边栏输出的数据list集合;
77.(2)用于存储主流程输出的数据;
78.(3)一个用于提取集合中的数据,提取数据后,要将集合清空,为了下个算子使用。
79.图9公开了一种通过localtestoutput类构建的收集器收集输出数据的示意图。在这个过程中,循环每个节点,如果该节点是最开始的节点,只需塞入数据即可,如果不是最开始的节点则需要获取这个节点的输入数据,然后执行该节点的业务处理,也即最关键的
数据处理部分。通过循环每个数据,然后将数据传递给相关的算子,然后再调用自定义输出localtestoutput类,获取在算子收集到的输出数据。另外,在获取每一个处理节点的输入数据和输出数据时,可以采用spring aop的思想,也即在节点方法执行前插入一段逻辑,以获取该节点的输入数据,在节点执行后插入一段逻辑,以获取改节点输出的数据。通过这种方式则可以获取到这个算子的输入数据和输出数据了,然后循环按照这个逻辑处理每个算子,就能实现数据在每个算子数据是如何转换的。并且,通过该使用aop方式无侵入式的设计,不用在正式的业务代码中写相关的debug代码,降低了开发人员业务代码与debug代码混淆在一起的麻烦,节省了开发成本。
80.步骤s24:确定所述当前处理节点中预先记录的下一处理节点信息,并基于所述下一处理节点信息确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据。
81.本实施例中,上述方法还可以包括:预先基于所述拓扑结构图中的遍历顺序在每一处理节点中分别记录对应的上一处理节点信息和下一处理节点信息。也即,每一个处理节点中记录了自己的上一处理节点信息和下一处理节点信息,在当前处理节点执行完数据处理操作后,则确定当前处理节点中预先记录的下一处理节点信息,以确定出下一处理节点,然后将输出数据作为所述下一处理节点的输入数据。
82.步骤s25:将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点。
83.步骤s26:基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。
84.其中,关于上述步骤s21、s22、s25和s26更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
85.可见,本技术实施例中,每一个处理节点中记录了自己的上一处理节点信息和下一处理节点信息,在当前处理节点执行完数据处理操作后,则确定当前处理节点中预先记录的下一处理节点信息,以确定出下一处理节点。另外,在收集输出信息时,具体为需要使用当前处理节点中预先基于localtestoutput类构建的数据收集器实现对输出数据的收集。通过上述方案,实现了数据处理和全链路排查分开,通过使用aop方式无侵入式的设计,不用在正式的业务代码中写相关的debug代码,降低了开发人员业务代码与debug代码混淆在一起的麻烦,节省了开发成本,还节省了排查问题的时间,实现了现场排查,无需开发解决支持的问题。
86.参见图10所示,本技术实施例公开了一种基于flink的全链路排查装置,该装置包括:
87.数据加载模块11,用于获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据;
88.拓扑结构图获取模块12,用于获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点;
89.输出数据获取模块13,用于获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据;
90.处理节点遍历模块14,用于将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点;
91.全链路排查模块15,用于基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。
92.可见,本技术获取预先基于flink构建的任务执行环境,并在所述任务执行环境下通过数据源节点加载初始数据;获取用于表征节点流的遍历顺序的拓扑结构图,并基于所述拓扑结构图将所述初始数据作为输入数据传递给当前处理节点;获取所述当前处理节点对所述输入数据进行处理后得到的输出数据,并确定出与所述当前处理节点对应的下一处理节点,以及将所述输出数据作为所述下一处理节点的输入数据;将所述下一处理节点作为所述当前处理节点,并重新跳转至所述获取所述当前处理节点对所述输入数据进行处理后得到的输出数据的步骤,直到遍历完所述拓扑结构图中的所有处理节点;基于每一所述处理节点的输入数据和输出数据执行全链路排查操作。由此可见,本技术在基于flink构建的任务执行环境通过数据源节点加载初始数据,并获取用于表征节点流的遍历顺序的拓扑结构图,以从拓扑结构图中确定出当前首先需要遍历的处理节点,即当前处理节点,然后将初始数据作为当前处理节点的输入数据。当前处理节点对输入数据进行相应处理得到输出数据,并确定出接下来需要遍历的下一处理节点,再将输出数据作为下一处理节点的输入数据,以及将下一处理节点作为当前处理节点,然后重新跳转至获取当前处理节点对输入数据进行处理后得到的输出数据的步骤,直到遍历完拓扑结构图中的所有处理节点,能够获取到每一个处理节点的输入数据和输出数据。因此,最后可以基于每一处理节点的输入数据和输出数据执行高效的全链路排查操作,也即通过每一个处理节点输入输出数据,能够分析出该处理节点中对数据具体进行了怎样的处理。上述过程未改变实际的流处理顺序,也未影响线上任务执行环境的数据,实现了无侵入式的全链路排查。
93.图11为本技术实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的基于flink的全链路排查方法中的相关步骤。
94.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
95.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu
用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
96.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
97.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的基于flink的全链路排查方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
98.进一步的,本技术实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由基于flink的全链路排查过程中执行的方法步骤。
99.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
100.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
101.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
102.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
103.以上对本发明所提供的一种基于flink的全链路排查方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术
人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1