3 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
正如其他人所指出的那樣,如果我們了解您要完成的任務(wù)的語義,將會(huì)有所幫助。我在這里猜測(cè)你的模式庫中的模式都屬于
單個(gè)資源(或)
一組資源
如果是這種情況,我建議您首先將該信息添加到您的模式庫中以使其明確。例如,您的模式庫看起來像:
1: A
1: AB
1: ABC
2: AD
2: C
2: D
如果你想涵蓋一組資源的模式,它可能看起來像這個(gè)人為的例子:
3: X
4: Y
3,4: Z
現(xiàn)在,您可以從交錯(cuò)日志文件中分離出屬于每個(gè)資源的日志記錄(假設(shè)日志文件確實(shí)具有資源標(biāo)識(shí)符)。然后,您可以應(yīng)用模式匹配來發(fā)現(xiàn)最長(zhǎng)的模式。
本質(zhì)上,將您的關(guān)注點(diǎn)分開并為每個(gè)子問題應(yīng)用解決方案。

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果我們有日志文件和模式庫,我們可以用堆棧解決問題。我們開始從日志文件中讀取。如果帶有堆棧的新日志在模式庫中創(chuàng)建了一個(gè)現(xiàn)有模式,我們將其推入堆棧。除非,我們把它放在一個(gè)新的堆棧中。

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
您的問題很容易描述,如果我們知道您的約束條件就好了。這需要運(yùn)行多快?
在 Python 中,您將在資源上有一個(gè)迭代器,將每個(gè)資源推送到一個(gè)單獨(dú)的生成器來進(jìn)行模式匹配。也就是說,迭代器產(chǎn)生(resource 1, A)
并被推入資源 1 的生成器,以查看它是否與模式匹配。生成器偶爾會(huì)踢出匹配的模式。
實(shí)際上,您可能只需要一個(gè) Splunk 插件或?qū)⑺袃?nèi)容都放入數(shù)據(jù)庫中。這種類型的分析用于常見問題,例如“查找您在過去兩周內(nèi)有過 3 次會(huì)話但放棄了購物車且購物車中有一個(gè)常見商品超過總數(shù) 75% 的所有客戶。向這個(gè)猶豫不決的客戶發(fā)送一個(gè)5% 折扣,24 小時(shí)有效?!?/p>
添加回答
舉報(bào)