[发明专利]异常消息筛选方法和装置以及计算机可读存储介质在审
申请号: | 201810147696.9 | 申请日: | 2018-02-13 |
公开(公告)号: | CN110147289A | 公开(公告)日: | 2019-08-20 |
发明(设计)人: | 白荣林;徐峰;张帅 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 李昊;许蓓 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常消息 状态集合 筛选 计算机可读存储介质 方法和装置 消息集合 更新 集合 状态更新规则 空间复杂度 获取消息 输入消息 消息处理 状态确定 统计 | ||
本发明公开了一种异常消息筛选方法和装置以及计算机可读存储介质,涉及消息处理领域。异常消息筛选方法包括:获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号的出现次数为第二数值;依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定异常消息。从而,能够在空间复杂度为O(1)的情况下筛选异常消息,提高了异常消息的筛选效率。
技术领域
本发明涉及消息处理领域,特别涉及一种异常消息筛选方法和装置以及计算机可读存储介质。
背景技术
在大型的消息处理系统中,每种消息都有固定数量的一系列处理流程,并且具有编号,消息例如可以为指令、数据包等等。当一系列处理流程完成时,系统需要向汇总管道发送经过每个处理流程的消息的编号。例如,每条消息出现3条、消息的种类数为m,在正常情况下,汇总的消息总数应当为m*3。
当部分流程发生异常时,会出现某个编号的消息数量不正常、其他编号的消息数量正常的情况。例如,只有一个编号的消息出现1次,其他消息均出现了3次。为了找出异常消息,相关技术中主要采用哈希表的方式进行查找。即,用哈希表(HashMap)统计每个编号的统计次数,统计完毕后再遍历一次哈希表,查找出现次数异常的消息。
然而,采用哈希表统计和查找的方式在确定异常消息时效率较低,尤其是在消息量较大的情况下。
发明内容
发明人经过分析后发现,哈希表的空间复杂度为O(n),即空间复杂度与消息量大小n成线性关系。因此,随着消息量的增大,查找异常消息时所占用的存储空间和计算资源也会急剧增长,因而导致了效率低下。
本发明实施例所要解决的一个技术问题是:如何提高异常消息的筛选效率。
根据本发明一些实施例的第一个方面,提供一种异常消息筛选方法,包括:获取消息集合中每条消息的编号,其中,一种编号在消息集合中的出现次数为第一数值,其余的每种编号在消息集合中的出现次数为第二数值;依次输入消息集合中每条消息的编号,根据状态更新规则更新统计状态的值,其中,统计状态的值包括一个或多个状态集合中的值,状态集合中包括第二数值个有序的值,状态集合中的最后一个值更新后的下一个值为状态集合中的第一个值;根据最后一次更新后获得的统计状态确定消息集合中出现次数为第一数值的编号,以确定出现次数为第一数值的编号对应的异常消息。
在一些实施例中,统计状态包括编号的各个二进制位上的位统计状态,每个位统计状态包括一个或多个比特、并且值为状态集合中的值,状态集合中的值为二进制数。
在一些实施例中,状态转移规则包括:位的输入值为1时,令位统计状态的值转移到状态集合中的下一个值;位的输入值为0时,位统计状态的值不变。
在一些实施例中,异常消息筛选方法还包括:建立真值表,真值表中的每一行包括原位统计状态变量的值、输入变量的值以及根据原位统计状态变量的值和输入变量的值确定的更新后的位统计状态变量的值;根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则。
在一些实施例中,根据真值表,采用位原统计状态变量、输入变量的各个比特之间的逻辑关系表示更新后的位统计状态变量,建立状态更新规则包括:对于真值表中位统计状态变量的值为1的各个行,在将行中的原位统计状态变量的每个比特和位输入变量中值为0的变量取反后,将行中的原位统计状态变量的每个比特以及位输入变量进行与运算;对于真值表中更新后的位统计状态的同一个比特,将每个比特值为1的行的与运算结果进行或运算,获得同一个比特的状态更新规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810147696.9/2.html,转载请声明来源钻瓜专利网。