模式匹配的方法和模式匹配装置制造方法及图纸

技术编号:16456093 阅读:22 留言:0更新日期:2017-10-25 20:37
本发明专利技术实施例提供了一种模式匹配的方法和模式匹配装置。该方法应用于模式匹配装置中,该模式匹配装置包括定时管理器和状态机引擎,该方法包括:该状态机引擎在接收到事件源发送的至少两个事件中的第一事件时,向该定时管理器注册定时器,该至少两个事件中的每个事件携带各自的发生时刻;该定时管理器通过该定时器从该第一事件的发生时刻开始计时,直到预设的时间阈值;该状态机引擎根据接收到的发生时刻在预设的时间段内的事件的模式,确定是否与预设模式匹配,该预设的时间段为该第一事件的发生时刻与该预设的时间阈值之间的时刻范围。本发明专利技术能够根据事件的发生时刻进行模式匹配,提高了模式匹配的准确率。

Pattern matching method and pattern matching device

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中任一项所述的方法...

【专利技术属性】
技术研发人员:丁福海
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1