The embodiment of the invention provides a mode matching method and a pattern matching device. This method is applied to pattern matching device, the pattern matching device comprises a timing manager and the state machine engine, the method includes: the state machine engine to the first event at least two event source to send in the reception, registration timer to the timing of each event manager, the at least two events. Carry the occurrence time of each other; the timing of the timer timing management by starting from the time of occurrence of the first event, the time until a preset threshold; the state machine engine according to the occurrence time of the received time preset events within the model, determine whether matching with the preset mode, the preset time is between the time of occurrence of the first event with the preset time threshold time range. The method can match the pattern according to the occurrence time of the event, and improve the accuracy of the pattern matching.
【技术实现步骤摘要】
模式匹配的方法和模式匹配装置
本专利技术涉及通信领域,并且更具体地,涉及模式匹配的方法和模式匹配装置。
技术介绍
大数据流式应用中,一些流式应用(例如,负载模式匹配应用)依赖于事件实际的发生时间。但是,在实际业务场景中,会由于各种各样原因导致对时间的处理比较困难。例如,事件源采集及时性、各计算部件延迟以及故障导致的事件堆积等,会存在事件时间不一致的问题。典型的流式系统是以事件到达计算部件的时间为准。因此,实际发生时间与计算部件收到事件的时间不一致时,某些业务场景会造成一定误差甚至错误。
技术实现思路
本专利技术实施例提供一种模式匹配的方法和模式匹配装置,能够提高模式匹配的准确率。第一方面,提供了一种模式匹配的方法。该方法应用于模式匹配装置中,该模式匹配装置包括状态机引擎和定时管理器,该方法包括:该状态机引擎在接收到事件源发送的至少两个事件中的第一事件时,向该定时管理器注册定时器,该至少两个事件中的每个事件携带各自的发生时刻;该定时管理器通过该定时器从该第一事件的发生时刻开始计时,直到预设的时间阈值;该状态机引擎根据接收到的发生时刻在预设的时间段内的事件的模式,确定是否与预设模式匹配,该预设的时间段为该第一事件的发生时刻与该预设的时间阈值之间的时刻范围。模式匹配装置中有两个相关模块,一个是状态机引擎,另一个是定时管理器。该状态机引擎接收事件源发送的至少两个事件,且该至少两个事件中的每个事件都携带有事件的发生时刻。当状态机引擎接收到该至少两个事件中的第一事件时,可以触发定时器的注册。该第一事件可以是该至少两个事件中的第一个事件,也可以是该至少两个事件中的任意一个事 ...
【技术保护点】
一种模式匹配的方法,其特征在于,所述方法应用于模式匹配装置中,所述模式匹配装置包括状态机引擎和定时管理器,所述方法包括:所述状态机引擎在接收到事件源发送的至少两个事件中的第一事件时,向所述定时管理器注册定时器,所述至少两个事件中的每个事件携带各自的发生时刻;所述定时管理器通过所述定时器从所述第一事件的发生时刻开始计时,直到预设的时间阈值;所述状态机引擎根据接收到的发生时刻在预设的时间段内的事件的模式,确定是否与预设模式匹配,所述预设的时间段为所述第一事件的发生时刻与所述预设的时间阈值之间的时刻范围。
【技术特征摘要】
1.一种模式匹配的方法,其特征在于,所述方法应用于模式匹配装置中,所述模式匹配装置包括状态机引擎和定时管理器,所述方法包括:所述状态机引擎在接收到事件源发送的至少两个事件中的第一事件时,向所述定时管理器注册定时器,所述至少两个事件中的每个事件携带各自的发生时刻;所述定时管理器通过所述定时器从所述第一事件的发生时刻开始计时,直到预设的时间阈值;所述状态机引擎根据接收到的发生时刻在预设的时间段内的事件的模式,确定是否与预设模式匹配,所述预设的时间段为所述第一事件的发生时刻与所述预设的时间阈值之间的时刻范围。2.根据权利要求1所述的方法,其特征在于,所述至少两个事件直接由不同或相同的事件源发送的,或者由不同或相同的事件源经过路由分发装置发送的,所述至少两个事件中的每个事件携带各自的事件属性;其中,所述状态机引擎在接收到事件源发送的至少两个事件中的第一事件时,向所述定时管理器注册定时器,包括:所述状态机引擎在接收到所述第一事件时,为所述第一事件创建状态机和向所述定时管理器注册定时器;所述状态机引擎接收所述至少两个事件中的第二事件,所述第二事件的发生时刻晚于所述第一事件的发生时刻;若所述第二事件的事件属性与所述状态机匹配,所述状态机引擎将所述第二事件发送到所述状态机中;其中,所述状态机引擎根据接收到的发生时刻在预设的时间段内的事件的模式,确定是否与预设模式匹配,包括:所述状态机根据属于所述状态机的发生时刻在所述预设时间段内的事件的模式,确定是否与所述预设模式匹配。3.根据权利要求2所述的方法,其特征在于,在所述为所述第一事件创建状态机和向所述定时管理器注册定时器之前,所述方法还包括:所述状态机引擎根据所述第一事件的事件属性,确定当前不存在与所述第一事件的事件属性匹配的状态机。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述定时管理器通过所述定时器从所述第一事件的发生时刻开始计时,直到预设的时间阈值,包括:所述定时器将所述第一事件的发生时刻,确定为第一时刻,所述第一时刻早于所述状态机引擎接收所述第一事件的时刻;所述定时器从所述第一时刻以第一速率步进到第二时刻时,所述状态机引擎接收到所述至少两个事件中的第二事件,所述第二事件的发生时刻为第三时刻,且所述第二时刻晚于所述第一时刻,所述第三时刻晚于所述第二时刻;所述定时器从所述第二时刻以第二速率步进到所述第三时刻,所述第二速率大于所述第一速率。5.根据权利要求2至4中任一项所述的方法...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。