[發明專利]一種通過有限狀態機對日志進行自動采集融合的方法在審
| 申請號: | 202110395569.2 | 申請日: | 2021-04-13 |
| 公開(公告)號: | CN113076107A | 公開(公告)日: | 2021-07-06 |
| 發明(設計)人: | 張召 | 申請(專利權)人: | 杭州又拍云科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 陳升華 |
| 地址: | 310012 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通過 有限狀態機 日志 進行 自動 采集 融合 方法 | ||
本發明公開了一種通過有限狀態機對日志進行自動采集融合的方法,包括:通過注入Lua代碼,生成日志采集系統狀態機的Lua文件;通過運行Lua虛擬機,執行Lua文件轉化為目標語言的抽象語法樹,生成目標語言的代碼;狀態機引擎執行該目標語言的生成代碼,對日志采集系統的狀態切換和動作進行控制。本發明中,當日志數據源發生變化或日志采集邏輯發生變化時,只需要在控制臺使用Lua重寫對應的規則即可,大幅減少了因業務邏輯變化等帶來編譯目標語言發布等上線流程,提升了日志采集系統穩定性和靈活性,提升了開發效率。
技術領域
本發明涉及網絡日志采集技術領域,具體涉及一種通過有限狀態機對日志進行自動采集融合的方法。
背景技術
有限狀態機能夠有效、方便地描述系統和組件的動態行為,其廣泛應用于日志采集應用開發。有限狀態機具有有限個狀態,一般包括狀態及狀態之間的轉移關系。
網絡中網關設備的數量較多,且分布不均的特點,用于從網關設備上獲取網絡日志的各網絡日志服務器在物理上是分布式的,并需要將各自得到的日志采集數據通過網絡傳送至日志采集服務器,由于日志采集數據的數據量較大,將日志采集數據傳送至日志采集服務器則需要較高的網絡帶寬資源,且當日志采集數據在保存時,也需要較多的存儲資源。
因此,需要一種將Lua代碼注入有限狀態機的執行和應用方案,其能夠減少采用靜態語言的有限狀態機時對象的數量,從而減少對運行該有限狀態機的應用的存儲空間的占用,降低運行時間開銷,提高系統整體性能。
發明內容
本發明提供一種通過有限狀態機對日志進行自動采集融合的方法,用以解決現有技術中存在的傳輸日志采集數據所需的網絡帶寬資源較多,存儲日志采集數據所需的存儲資源較多的問題。
一種通過有限狀態機對日志進行自動采集融合的方法,包括以下步驟:
1)日志采集數據壓縮,具體包括:
1.1)獲取日志采集數據;
1.2)分別對所述日志采集數據中各屬性字段的各屬性值進行編碼,得到與每個屬性值對應的Lua代碼;
1.3)使用得到的所述Lua代碼,替換所述日志采集數據中對應的屬性值,得到壓縮后的日志采集數據。
2)日志采集數據解壓縮。
步驟1.2)中,各屬性字段可以包括:接入點名稱、歸屬基站ID、IP、URL等。
步驟1.2)中,編碼具體包括:
1.2.1)分別統計該屬性字段的各屬性值在所述日志采集數據中出現的次數;
1.2.2)根據各屬性值在所述日志采集數據中出現的次數,對該屬性字段的各屬性值進行編碼,得到與各屬性值分別對應的Lua代碼,其中,出現的次數大的屬性值對應的Lua代碼的數據量,不大于出現的次數小的屬性值對應的Lua代碼的數據量。
步驟1.2.2)中,根據各屬性值在所述日志采集數據中出現的次數,對該屬性字段的各屬性值進行編碼,得到與各屬性值分別對應的Lua代碼,具體包括:
1.2.2.1)根據各屬性值在所述日志采集數據中出現的次數,構建抽象語法樹,其中,所述抽象語法樹中的各葉子節點,分別對應表征各屬性值在所述日志采集數據中出現的次數,且所述抽象語法樹中的父節點表征的數值,為該父節點的兩個子節點表征數值的和值,且所述抽象語法樹中每個節點表征的數值,不小于該節點所屬等級的下一級節點表征的數值;
1.2.2.2)確定所述抽象語法樹中葉子節點對應的屬性值的Lua代碼,將從根節點到該葉子節點的路徑所包括的各子樹分別對應的弧值,進行排列得到的二進制編號,其中,所述抽象語法樹中節點的左子樹的弧值為0,右子樹的弧值為1;或者所述抽象語法樹中節點的左子樹的弧值為1,右子樹的弧值為0。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州又拍云科技有限公司,未經杭州又拍云科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110395569.2/2.html,轉載請聲明來源鉆瓜專利網。





