一种流数据环路检测方法、装置、设备及存储介质与流程

专利检索2026-07-06  12


本发明涉及数据处理领域,特别涉及一种流数据环路检测方法、装置、设备及存储介质。


背景技术:

1、随着大数据和实时数据处理的需求在企业不断增加,许多应用都需要使用流数据进行实时处理和分析。目前大多数企业都使用kafka存储流数据,使用kafka进行流数据存储时,各种不同主题的流数据存入不同kafka的topic中,但是随着流数据产生和应用不断扩大,容易遇到流数据环路的问题。

2、例如,主题a、b、c是kafka中的三个不同的topic,其中存储业务领域三种不同主题的数据,在这里用a、b、c表示。a主题其中的一部分数据用于补全b主题数据,b主题的一部分数据用于补全c主题数据,此时再有c主题数据需要补全a主题数据。一旦任务启动,产生数据环路,就可能造成一条满足条件的数据无限制在a->b1->c1->a3这条路线循环,形成数据漩涡,造成使用主题abc的应用全部崩溃。但是也有可能虽然存在a->b1->c1->a3这条数据环路,但是由于程序中条件的限制,有些数据虽然最开始产生自a,被b1程序写入到b,但是在c1或者a3程序中又过滤掉了,此时该数据环路从业务领域讲又是合理的。在大数据领域中,流数据被广泛应用后,流数据环路的问题无法用已有的计算机网络中的成熟方法来解决,因此,如何准确地判断大数据领域中流数据在应用时是否真实会产生数据漩涡是本领域有待解决的问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种流数据环路检测方法、装置、设备及存储介质,将排查数据环路的问题转换成图的问题,使用图的算法解决,可以高效且快速的检测出系统中新的程序是否会形成真实的数据环路,并且利用逻辑条件判断数据环路,减少环路误判。其具体方案如下:

2、第一方面,本技术提供了一种流数据环路检测方法,包括:

3、确定流数据存储系统中的应用程序和主题,并根据所述应用程序和所述主题的第一对应关系构建有向图;

4、获取当前在所述流数据存储系统中上线的目标应用程序,并确定所述目标应用程序对应的所述应用程序和所述主题,以根据确定出的第二对应关系更新所述有向图得到加入所述目标应用程序的更新后有向图;

5、通过预设有向环路径检测算法检测所述更新后有向图中的所有有向环;

6、确定每个所述有向环中的数据产生程序对应的若干数据取值条件,并根据所述数据取值条件的逻辑交集结果从所有所述有向环中筛选出目标有向环;所述目标有向环为在所述流数据存储系统中形成数据漩涡的有向环。

7、可选的,所述根据所述应用程序和所述主题的第一对应关系构建有向图,包括:

8、确定所述应用程序中的生产者程序和消费者程序,并根据所述生产者程序、所述消费者程序和所述主题的所述第一对应关系建立对应关系表,以根据所述对应关系表构建对应的所述有向图。

9、可选的,所述根据所述应用程序和所述主题的第一对应关系构建有向图,包括:

10、将所述主题作为所述有向图的节点,将所述应用程序作为所述有向图的边,以根据所述第一对应关系通过预设图形数据库的cypher语句创建对应的节点和有向关系,并根据所述节点和所述有向关系构建所述有向图。

11、可选的,所述通过预设有向环路径检测算法检测所述更新后有向图中的所有有向环,包括:

12、通过有向环路cypher的有向环路径检测算法检测所述更新后有向图中的所有所述有向环。

13、可选的,所述根据所述应用程序和所述主题的第一对应关系构建有向图之后,还包括:

14、通过有向环路cypher的有向环路径检测算法检测所述有向图中是否存在有向环,并在确定所述有向图中不存在所述有向环后,继续所述获取当前在所述流数据存储系统中上线的目标应用程序的步骤。

15、可选的,所述确定每个所述有向环中的数据产生程序对应的若干数据取值条件,并根据所述数据取值条件的逻辑交集结果从所有所述有向环中筛选出目标有向环,包括:

16、确定所述更新后有向图中每个所述主题对应的若干所述生产者程序,并将每个所述生产者程序中的数据字段进行合集运算,得到所述主题对应的全量数据字段;

17、当所述主题对应的所述消费者程序运行并从所述主题中消费目标数据时,确定所述消费者程序的第一数据取值条件,并确定所述消费者程序所在的所述有向环中的其他所述主题对应的所述消费者程序的第二数值取值条件;所述目标数据为根据所述全量数据字段构建数据结构的数据;

18、将所述第一数据取值条件和所述第二数值取值条件进行交集运算;

19、若所述交集运算的结果为空集合,则不存在所述目标有向环;

20、若所述交集运算的结果不为空集合,则将当前的所述有向环确定为所述目标有向环。

21、可选的,所述根据所述数据取值条件的逻辑交集结果从所有所述有向环中筛选出目标有向环之后,还包括:

22、确定所述目标有向环对应的应用程序,并基于所述流数据存储系统对所述应用程序进行调整,以及保留剔除所述目标有向环后的其它所述有向环。

23、第二方面,本技术提供了一种流数据环路检测装置,包括:

24、有向图构建模块,用于确定流数据存储系统中的应用程序和主题,并根据所述应用程序和所述主题的第一对应关系构建有向图;

25、有向图更新模块,用于获取当前在所述流数据存储系统中上线的目标应用程序,并确定所述目标应用程序对应的所述应用程序和所述主题,以根据确定出的第二对应关系更新所述有向图得到加入所述目标应用程序的更新后有向图;

26、有向环检测模块,用于通过预设有向环路径检测算法检测所述更新后有向图中的所有有向环;

27、有向环筛选模块,用于确定每个所述有向环中的数据产生程序对应的若干数据取值条件,并根据所述数据取值条件的逻辑交集结果从所有所述有向环中筛选出目标有向环;所述目标有向环为在所述流数据存储系统中形成数据漩涡的有向环。

28、第三方面,本技术提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的流数据环路检测方法。

29、第四方面,本技术提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的流数据环路检测方法。

30、本技术首先确定流数据存储系统中的应用程序和主题,并根据应用程序和主题的第一对应关系构建有向图,之后获取当前在流数据存储系统中上线的目标应用程序,并确定目标应用程序对应的应用程序和主题,以根据确定出的第二对应关系更新有向图得到加入目标应用程序的更新后有向图,然后通过预设有向环路径检测算法检测更新后有向图中的所有有向环,并确定每个有向环中的数据产生程序对应的若干数据取值条件,根据数据取值条件的逻辑交集结果从所有有向环中筛选出在流数据存储系统中形成数据漩涡的目标有向环。通过将主题和程序分别作为节点和边构建有向图谱,使用图的算法检测流数据是否存在环路,可以将相对复杂排查数据环路的问题,转换成图的问题,使用图的算法解决,高效且快速的检测出新的程序是否会形成真实的数据环路,并且使用逻辑交集判定是否是真实数据环路,可以利用逻辑条件判断补充尽可能满足业务需求,减少环路误判。


技术特征:

1.一种流数据环路检测方法,其特征在于,包括:

2.根据权利要求1所述的流数据环路检测方法,其特征在于,所述根据所述应用程序和所述主题的第一对应关系构建有向图,包括:

3.根据权利要求2所述的流数据环路检测方法,其特征在于,所述根据所述应用程序和所述主题的第一对应关系构建有向图,包括:

4.根据权利要求3所述的流数据环路检测方法,其特征在于,所述通过预设有向环路径检测算法检测所述更新后有向图中的所有有向环,包括:

5.根据权利要求3所述的流数据环路检测方法,其特征在于,所述根据所述应用程序和所述主题的第一对应关系构建有向图之后,还包括:

6.根据权利要求2至5任一项所述的流数据环路检测方法,其特征在于,所述确定每个所述有向环中的数据产生程序对应的若干数据取值条件,并根据所述数据取值条件的逻辑交集结果从所有所述有向环中筛选出目标有向环,包括:

7.根据权利要求6所述的流数据环路检测方法,其特征在于,所述根据所述数据取值条件的逻辑交集结果从所有所述有向环中筛选出目标有向环之后,还包括:

8.一种流数据环路检测装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的流数据环路检测方法。

10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的流数据环路检测方法。


技术总结
本申请公开了一种流数据环路检测方法、装置、设备及存储介质,涉及数据处理领域,包括:确定流数据存储系统中的应用程序和主题,并根据第一对应关系构建有向图;获取当前上线的目标应用程序,并确定目标应用程序对应的应用程序和主题,以根据确定出的第二对应关系更新有向图得到更新后有向图;通过有向环路径检测算法检测更新后有向图中的有向环;确定每个有向环中的数据产生程序对应的若干数据取值条件,并根据数据取值条件的逻辑交集结果从所有有向环中筛选出目标有向环。将排查数据环路的问题转换成图的问题,使用图的算法解决,可以高效且快速的检测出系统中新的程序是否会形成真实的数据环路,并且利用逻辑条件判断数据环路,减少环路误判。

技术研发人员:杨晨,李杨,李响,周锋,冯彦明,曹闯,孙喜锋,杨得力,王志敏
受保护的技术使用者:河南中原消费金融股份有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1164819.html

最新回复(0)