异常消息筛选方法和装置以及计算机可读存储介质制造方法及图纸

技术编号:21913775 阅读:36 留言:0更新日期:2019-08-21 12:22
本发明专利技术公开了一种异常消息筛选方法和装置以及计算机可读存储介质,涉及消息处理领域。异常消息筛选方法包括:获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号的出现次数为第二数值;依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定异常消息。从而,能够在空间复杂度为O(1)的情况下筛选异常消息,提高了异常消息的筛选效率。

Abnormal message filtering methods and devices and computer readable storage media

【技术实现步骤摘要】
异常消息筛选方法和装置以及计算机可读存储介质
本专利技术涉及消息处理领域,特别涉及一种异常消息筛选方法和装置以及计算机可读存储介质。
技术介绍
在大型的消息处理系统中,每种消息都有固定数量的一系列处理流程,并且具有编号,消息例如可以为指令、数据包等等。当一系列处理流程完成时,系统需要向汇总管道发送经过每个处理流程的消息的编号。例如,每条消息出现3条、消息的种类数为m,在正常情况下,汇总的消息总数应当为m*3。当部分流程发生异常时,会出现某个编号的消息数量不正常、其他编号的消息数量正常的情况。例如,只有一个编号的消息出现1次,其他消息均出现了3次。为了找出异常消息,相关技术中主要采用哈希表的方式进行查找。即,用哈希表(HashMap)统计每个编号的统计次数,统计完毕后再遍历一次哈希表,查找出现次数异常的消息。然而,采用哈希表统计和查找的方式在确定异常消息时效率较低,尤其是在消息量较大的情况下。
技术实现思路
专利技术人经过分析后发现,哈希表的空间复杂度为O(n),即空间复杂度与消息量大小n成线性关系。因此,随着消息量的增大,查找异常消息时所占用的存储空间和计算资源也会急剧增长,因而导致了效率低下。本专利技术实施例所要解决的一个技术问题是:如何提高异常消息的筛选效率。根据本专利技术一些实施例的第一个方面,提供一种异常消息筛选方法,包括:获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号在消息集合中的出现次数为第二数值;依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定出现次数为第一数值的编号对应的异常消息。在一些实施例中,统计状态包括编号的各个二进制位上的位统计状态,每个位统计状态包括一个或多个比特、并且值为状态集合中的值,状态集合中的值为二进制数。在一些实施例中,状态转移规则包括:位的输入值为1时,令位统计状态的值转移到状态集合中的下一个值;位的输入值为0时,位统计状态的值不变。在一些实施例中,异常消息筛选方法还包括:建立真值表,真值表中的每一行包括原位统计状态变量的值、输入变量的值以及根据原位统计状态变量的值和输入变量的值确定的更新后的位统计状态变量的值;根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则。在一些实施例中,根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则包括:对于真值表中位统计状态变量的值为1的各个行,在将行中的原位统计状态变量的每个比特和位输入变量中值为0的变量取反后,将行中的原位统计状态变量的每个比特以及位输入变量进行与运算;对于真值表中更新后的位统计状态的同一个比特,将每个比特值为1的行的与运算结果进行或运算,获得同一个比特的状态更新规则。在一些实施例中,根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号包括:根据第一数值所对应的统计状态的值,采用位统计状态的各个比特之间的逻辑运算结果确定消息筛选表达式;将最后一次更新后获得的统计状态的每个位的每个比特的值输入到消息筛选表达式,输出消息集合中出现次数为第一数值的编号。在一些实施例中,采用二进制表示第一数值,将位统计状态变量中0对应的比特取反后,将各个比特进行与运算,获得消息筛选表达式。根据本专利技术实施例的第二个方面,提供一种异常消息筛选装置,包括:编号获取模块,被配置为获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号在消息集合中的出现次数为第二数值;统计状态更新模块,被配置为依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;异常消息确定模块,被配置为根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定出现次数为第一数值的编号对应的异常消息。在一些实施例中,统计状态包括编号的各个二进制位上的位统计状态,每个位统计状态包括一个或多个比特、并且值为状态集合中的值,状态集合中的值为二进制数。在一些实施例中,状态转移规则包括:位的输入值为1时,令位统计状态的值转移到状态集合中的下一个值;位的输入值为0时,位统计状态的值不变。在一些实施例中,异常消息筛选装置还包括:真值表建立模块,被配置为建立真值表,真值表中的每一行包括原位统计状态变量的值、输入变量的值以及根据原位统计状态变量的值和输入变量的值确定的更新后的位统计状态变量的值;状态更新规则建立模块,被配置为根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则。在一些实施例中,状态更新规则建立模块进一步被配置为对于真值表中位统计状态变量的值为1的各个行,在将行中的原位统计状态变量的每个比特和位输入变量中值为0的变量取反后,将行中的原位统计状态变量的每个比特以及位输入变量进行与运算;对于真值表中更新后的位统计状态的同一个比特,将每个比特值为1的行的与运算结果进行或运算,获得同一个比特的状态更新规则。在一些实施例中,异常消息确定模块进一步被配置为根据第一数值所对应的统计状态的值,采用位统计状态的各个比特之间的逻辑运算结果确定消息筛选表达式;将最后一次更新后获得的统计状态的每个位的每个比特的值输入到消息筛选表达式,输出消息集合中出现次数为第一数值的编号。在一些实施例中,异常消息确定模块进一步被配置为采用二进制表示第一数值,将位统计状态变量中0对应的比特取反后,将各个比特进行与运算,获得消息筛选表达式。根据本专利技术一些实施例的第三个方面,提供一种异常消息筛选装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种异常消息筛选方法。根据本专利技术一些实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种异常消息筛选方法。上述专利技术中的一些实施例具有如下优点或有益效果:本专利技术的实施例可以通过依次输入消息集合中每条消息的编号并更新统计状态来确定出现次数异常的编号,进而可以确定异常消息,从而,能够在空间复杂度为O(1)的情况下对异常消息进行筛选,无需占用过多的存储空间,提高了异常消息的查找效率。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为根据本专利技术一些实施例的异常消息筛选方法的示例性流程图。图2本文档来自技高网...

【技术保护点】
1.一种异常消息筛选方法,包括:获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号在消息集合中的出现次数为第二数值;依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定所述出现次数为第一数值的编号对应的异常消息。

【技术特征摘要】
1.一种异常消息筛选方法,包括:获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号在消息集合中的出现次数为第二数值;依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定所述出现次数为第一数值的编号对应的异常消息。2.根据权利要求1所述的异常消息筛选方法,其中,所述统计状态包括编号的各个二进制位上的位统计状态,每个位统计状态包括一个或多个比特、并且值为状态集合中的值,所述状态集合中的值为二进制数。3.根据权利要求2所述的异常消息筛选方法,其中,所述状态转移规则包括:位的输入值为1时,令位统计状态的值转移到状态集合中的下一个值;位的输入值为0时,位统计状态的值不变。4.根据权利要求3所述的异常消息筛选方法,还包括:建立真值表,所述真值表中的每一行包括原位统计状态变量的值、输入变量的值以及根据所述原位统计状态变量的值和输入变量的值确定的更新后的位统计状态变量的值;根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则。5.根据权利要求4所述的异常消息筛选方法,其中,所述根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则包括:对于真值表中位统计状态变量的值为1的各个行,在将行中的原位统计状态变量的每个比特和位输入变量中值为0的变量取反后,将行中的原位统计状态变量的每个比特以及位输入变量进行与运算;对于真值表中更新后的位统计状态的同一个比特,将每个比特值为1的行的与运算结果进行或运算,获得所述同一个比特的状态更新规则。6.根据权利要求2所述的异常消息筛选方法,其中,根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号包括:根据第一数值所对应的统计状态的值,采用位统计状态的各个比特之间的逻辑运算结果确定消息筛选表达式;将最后一次更新后获得的统计状态的每个位的每个比特的值输入到消息筛选表达式,输出消息集合中出现次数为第一数值的编号。7.根据权利要求6所述的异常消息筛选方法,其中,采用二进制表示第一数值,将位统计状态变量中0对应的比特取反后,将各个比特进行与运算,获得消息筛选表达式。8.一种异常消息筛选装置,包括:编号获取模块,被配置为获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号在消息集合中的出现次数为第二...

【专利技术属性】
技术研发人员:白荣林徐峰张帅
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1