一种数据检测的方法、装置、存储介质及程序产品与流程

摘要: 本技术实施例涉及计算机,具体涉及一种数据检测的方法、装置、存储介质及程序产品。背景技术:1、状态计算是指在处理连续的数据流时,维护和更新某种形式的状态信息,其可...
一种数据检测的方法、装置、存储介质及程序产品与流程

本技术实施例涉及计算机,具体涉及一种数据检测的方法、装置、存储介质及程序产品。

背景技术:

1、状态计算是指在处理连续的数据流时,维护和更新某种形式的状态信息,其可以用来存储中间结果、历史数据或其他需要在多个事件之间保持的数据。状态计算在实时流处理中的应用非常广泛。通过维护和分析数据流中待检测数据的状态变化,能够实时检测出待检测数据中是否涉及异常行为,便于及时发现潜在的异常行为。

2、然而,传统的通过状态计算来检测待检测数据是否产生异常,通常都是依赖于flink流引擎来实现。但是,使用相关的flink流引擎来计算实时流状态的方式,在涉及滚动升级等情况时,通常需要停止整个旧flink实例引擎的运行,并使用新flink实例引擎来接收和检测待检测数据是否涉及异常行为,但是会因为新flink实例引擎无法及时获取到与旧flink实例引擎一致的状态信息,从而导致新的flink实例引擎易出现数据不一致的问题,无法做到无损滚动升级与无损更新,导致数据是否涉及异常行为的检测效果和准确度较差。

技术实现思路

1、本技术实施例提供了一种数据检测的方法、装置、存储介质及程序产品,用于实现准确且无损地将检测数据路由至处理模块中,提高了数据检测的效果和准确度。

2、有鉴于此,本技术一方面提供了一种数据检测的方法。该方法可应用于数据处理设备,其中,数据处理设备包括第一路由模块和多个第一处理模块。该方法包括:

3、通过第一路由模块从消息队列中接收第一数据流,第一数据流包括多个第一检测数据,多个第一检测数据配置有相同的会话标识,会话标识用于标识第一检测数据;

4、通过第一路由模块基于会话标识和多个第一关联关系,从多个第一处理模块中确定目标处理模块,每个第一关联关系用于描述一个候选会话标识与一个第一处理模块之间的路由关系;

5、通过第一路由模块将多个第一检测数据路由至目标处理模块;

6、通过目标处理模块基于第一异常规则对多个第一检测数据进行行为检测处理,得到行为检测结果,行为检测结果用于描述多个第一检测数据是否涉及异常行为,第一异常规则部署在目标处理模块中。

7、本技术另一方面提供一种数据检测装置。该数据检测装置包括:

8、接收单元,用于通过第一路由模块从消息队列中接收第一数据流,第一数据流包括多个第一检测数据,多个第一检测数据配置有相同的会话标识,会话标识用于标识第一检测数据,第一路由模块部署在数据检测装置中;

9、确定单元,用于通过第一路由模块基于会话标识和多个第一关联关系,从多个第一处理模块中确定目标处理模块,每个第一关联关系用于描述一个候选会话标识与一个第一处理模块之间的路由关系,多个第一处理模块部署在数据检测装置中;

10、发送单元,用于通过第一路由模块将多个第一检测数据路由至目标处理模块;

11、处理单元,用于通过目标处理模块基于第一异常规则对多个第一检测数据进行行为检测处理,得到行为检测结果,行为检测结果用于描述多个第一检测数据是否涉及异常行为,第一异常规则部署在目标处理模块中。

12、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,处理单元具体用于:

13、通过目标处理模块提取每个第一检测数据的行为属性;

14、通过目标处理模块基于第一异常规则,对多个第一检测数据的行为属性进行状态计算,确定符合第一异常规则的状态信息;

15、通过目标处理模块基于状态信息确定第一行为检测结果,第一行为检测结果用于指示多个第一检测数据涉及异常行为。

16、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,该数据检测装还包括显示单元。其中,处理单元具体还用于通过目标处理模块基于状态信息确定第一行为检测结果之后,通过目标处理模块基于第一行为检测结果,生成告警信息;

17、显示单元,具体用于通过目标处理模块显示告警信息,以通过告警信息提示多个第一检测数据涉及异常行为。

18、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,处理单元具体还用于:通过目标处理模块基于每个第一检测数据的行为模式,确定第一行为检测结果之后,通过目标处理模块基于第一行为检测结果,对多个第一检测数据进行异常行为的标记处理。

19、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,确定单元,具体用于:

20、通过第一路由模块基于会话标识,分别与每个第一关联关系中的候选会话标识进行匹配,并将所匹配的候选会话标识所对应的第一关联关系确定为目标关联关系;

21、通过第一路由模块从多个第一处理模块中,将目标关联关系对应的第一处理模块作为目标处理模块。

22、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,接收单元,具体还用于:通过第一路由模块基于会话标识和多个第一关联关系,从多个第一处理模块中确定目标处理模块之前,通过第一路由模块从目标缓存模块中获取多个第一关联关系。

23、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,处理单元,具体还用于:

24、通过第一路由模块将多个待检测数据路由至目标处理模块之后,在第一路由模块处于滚动升级状态时,基于路由配置信息创建第二路由模块,并通过第二路由模块接收多个第二检测数据,多个第二检测数据包含于第一数据流中,并且多个第二检测数据的接收时间晚于多个第一检测数据的接收时间;

25、通过第二路由模块从目标缓存模块中,查询多个第一关联关系;

26、发送单元,具体还用于在目标缓存模块中存在与多个第二检测数据的会话标识对应的第一关联关系时,通过第二路由模块基于所对应的第一关联关系将多个第二检测数据,路由至对应的第一关联关系所对应的第一处理模块;

27、处理单元,具体还用于通过对应的第一关联关系所对应的第一处理模块基于对应的异常规则对多个第二检测数据进行行为检测处理。

28、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,

29、处理单元,具体还用于:通过第二路由模块从目标缓存模块中,查询多个第一关联关系之后,在目标缓存模块中未存在与多个第二检测数据的会话标识对应的第一关联关系时,通过第二路由模块基于多个第二检测数据的会话标识、以及第二处理模块的模块标识,生成第二关联关系,其中,第二关联关系用于描述多个第二检测数据的会话标识与第二处理模块之间的路由关系,第二处理模块包含于多个第一处理模块中;

30、发送单元,具体还用于通过第二路由模块基于第二关联关系,将多个第二检测数据路由至第二处理模块;

31、处理单元,具体还用于通过第二处理模块基于第二异常规则对多个第二检测数据进行行为检测处理,第二异常规则部署在第二处理模块中。

32、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,处理单元,具体还用于:

33、通过第二路由模块基于多个第二检测数据的会话标识、以及第二处理模块的模块标识,生成第二关联关系之前,通过第二路由模块检测每个第一处理模块的负载大小;

34、通过第二路由模块从多个第一处理模块的负载大小中确定最小负载大小;

35、通过第二路由模块将最小负载大小所对应的第一处理模块,确定为第二处理模块。

36、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,

37、处理单元,具体还用于通过目标处理模块基于第一异常规则对多个第一检测数据进行行为检测处理之后,在目标处理模块处于滚动升级状态时,基于模块配置信息生成第三处理模块,并在北极星模块中注册第三处理模块;

38、发送单元,具体还用于通过第一路由模块在北极星模块中查询到第三处理模块时,将所接收到的第三检测数据路由至第三处理模块,第三检测数据的接收时间晚于多个第一检测数据的接收时间;

39、处理单元,具体还用于通过第三处理模块基于第三异常规则对第三检测数据进行行为检测处理,第三异常规则部署在第三处理模块中。

40、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,发送单元,具体还用于在目标处理模块处于滚动升级状态之后,通过第一路由模块向目标处理模块发送更新消息,更新消息用于指示目标处理模块在基于第一异常规则对多个第一检测数据进行行为检测处理完成后,从北极星模块中删除或禁用目标处理模块的注册信息。

41、在一种可能的设计中,在本技术实施例的另一方面的另一种实现方式中,

42、接收单元,具体还用于通过第一路由模块从消息队列中接收第一数据流之前,获取待检测数据,并计算每个待检测数据的会话标识的哈希值;

43、处理单元,具体用于:

44、基于每个待检测数据的会话标识的哈希值,与消息队列中的多个分区的分区标识进行匹配;

45、基于每个待检测数据的会话标识,将每个待检测数据顺序分发至消息队列中所匹配的分区;

46、接收单元,具体用于通过第一路由模块从消息队列的一个或多个分区中,接收第一数据流。

47、本技术另一方面提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各方面的方法。

48、本技术的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方面的方法。

49、本技术的另一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方面的方法。

50、从以上技术方案可以看出,本技术实施例具有以下优点:

51、本技术实施例中,数据处理设备至少包括第一路由模块和多个第一处理模块,在通过第一路由模块从消息队列中接收第一数据流。在该第一数据流中,包括多个第一检测数据,多个第一检测数据配置有相同的会话标识,会话标识用于标识第一检测数据。另外,由于每个第一关联关系能够用来描述一个候选会话标识与一个第一处理模块之间的路由关系,如此,在接收到多个第一检测数据后,再通过第一路由模块基于会话标识和多个第一关联关系,从多个第一处理模块中确定目标处理模块,并通过第一路由模块将多个第一检测数据路由至目标处理模块。这样,再通过目标处理模块基于自身部署的第一异常规则对多个第一检测数据进行行为检测处理,得到行为检测结果,通过该行为检测结果能够描述多个第一检测数据是否涉及异常行为。通过上述方式,利用多个第一关联关系来明确会话标识与第一处理模块之间的路由关系,如此即使在路由模块或处理模块处于滚动升级的情况下,也可以使用第一关联关系将从消息队列中所接收到的检测数据,准确且无损地持续路由至相应的处理模块中,避免数据检测处理遭受影响,提高了数据检测的效果和准确度。