快速模式识别

时间:2014-04-29 19:46:26

标签: c++ pattern-matching

我正在开发一个项目,要求我实时识别日志文件中的某些模式。该服务将在多个服务器之间进行负载均衡,每分钟推送几TB的日志文件。

原始项目要小得多,并且没有“实时”限制,所以我用Python编写并使用Regex来匹配模式。

我正在将应用程序转换为C ++以提高处理速度,但我不相信Regex是我最快的模式识别选项。

任何对快速模式识别有个人经验的人(即不仅仅是google解决方案)都能提供有关模式识别经验的反馈吗?

我找到了一些用于模式识别的不同库,例如SPARE部件和Regex,但我更愿意得到一位经验丰富的开发人员或者处理大规模,实时的人的意见过去的模式识别。

-

旁注:我意识到这是一个广泛的问题,我没有提出我在提出问题之前所做的研究,但是我要求个人经历,而不是我能解决的问题很容易在Google上找到。

1 个答案:

答案 0 :(得分:0)

有一些算法可以做到这一点。这篇wiki文章描述了一些比较流行的文章。 String_searching_algorithm

执行此操作的蛮力方法是逐字符检查以查看模式是否匹配。如果沿着模式的某些位置不匹配,则增加到文本中的下一个字符。但是一些非常聪明的人,查看维基文章,已经发现你可以使用一种算法让你跳过几个字符。

有很多材料描述这些方法,再次查看wiki文章,与那里的内容相比,我将很难描述它们。