The present invention provides a method for determining the longest common subsequence in a text string, including a plurality of text strings are converted into word sequence; classify word sequence; and in each category in the longest common sub sequence operation. In some embodiments of the present invention, the time required for LCS operations can be saved by classifying text strings.
【技术实现步骤摘要】
本专利技术涉及计算机应用领域,具体而言,涉及用于确定文本串公共子序列的方法和设备。
技术介绍
当今,人们对网络安全日益重视,包括防火墙在内的多种安全设备被广泛应用。然而,仅部署安全设备还不足以保护网络的安全,相关人员还需要持续不断监控和分析安全设备产生的日志,这是因为日志中包含非常有价值的信息,比如利用这些日志可以检测出诸如网络入侵、病毒攻击、反常行为、异常流量等安全威胁,从而有针对性地配置和调整网络整体安全策略。一种对日志进行分析的方式是将日志的事件归为“信息”、“错误”和“警告”等几个大类。这种分析方法具有局限性,由于日志数量巨大并且内容繁杂,重要的事件信息很可能被淹没在“警告”类别中而未能被及时处理。因此,为了方便统计并及时发现问题、避免一类小事件被淹没在同类的其他事件中,需要对日志进行细分,以便能够及时从日志判断出事件类型并做相应处理。日志具有基于文本、因来源不同而可能格式各异的特点。例如,来自防火墙和网络服务器的日志格式就存在差异。此外,即使来源相同,日志仍然可以按照其含义进行细分。对日志进行细分的常规方法是计算最长公共子序列(LCS),即把两个日志文本归并在一起,抽出公共的序列部分,进而判断两者是否能够归为一类。然而,这种常规方法只支持两个文本,在存在多个日志文本的情况下,需要对任何两个文本进行计算,导致计算量非常大。
技术实现思路
根据本专利技术的一方面,提供了一种用于在多个文本串中确定最长公共子序列的方法,包括:将多个文本串分别转换为词序列;将词序列分别转换为相应的词集合;计算每个词集合的最小哈希值;根据最小哈希值,对词序列进行分类;以及在每 ...
【技术保护点】
用于在多个文本串中确定最长公共子序列的方法,包括:将所述多个文本串分别转换为词序列;将所述词序列分别转换为相应的词集合;计算每个词集合的最小哈希值;根据最小哈希值,对所述词序列进行分类;和在每一类中进行最长公共子序列运算。
【技术特征摘要】
1.用于在多个文本串中确定最长公共子序列的方法,包括:将所述多个文本串分别转换为词序列;将所述词序列分别转换为相应的词集合;计算每个词集合的最小哈希值;根据最小哈希值,对所述词序列进行分类;和在每一类中进行最长公共子序列运算。2.权利要求1所述的方法,其中,将最小哈希距离小于第一阈值的两个词序列划分为同一类。3.权利要求2所述的方法,其中,所述最长公共子序列运算包括:在该类中选择一个词序列作为第一词序列,分别计算该第一词序列与该类中的其他词序列的最长公共子序列,直至所得到的最长公共子序列长度大于第二阈值。4.权利要求3所述的方法,其中,所述最长公共子序列运算包括:如果所得到的最长公共子序列长度均不大于第二阈值,则从该类中删除该第一词序列,继续所述最长公共子序列运算。5.权利要求3或4所述的方法,其中,将长度大于第二阈...
【专利技术属性】
技术研发人员:万晓川,
申请(专利权)人:北京瀚思安信科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。