System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及云計算,特別涉及一種基于消息隊列與列式數據庫的日志分析存儲方法。
技術介紹
1、在早期計算機系統中,進程間通信主要依賴于共享內存和直接調用,但隨著分布式系統的發展,這些通信方式變得復雜且脆弱。
2、列式數據庫(columnar?database)的設計初衷是針對大規模數據分析場景,優化數據存儲和檢索效率。與傳統行式數據庫不同,列式數據庫按列存儲數據,更適合于需要高效讀取大量數據的場景。
3、此前已經有分布式系統使用消息隊列解決收集和處理系統日志,但對于大批量日志存儲與分析對于傳統行式數據庫按行存儲數據,即使只需要查詢某一列,也必須讀取整行數據,這在處理大數據集時會導致大量的i/o開銷;對于日志數據查詢與分析傳統行式數據庫通常需要額外的索引來加速查詢,但這些索引會隨著數據量的增加而變得龐大和復雜,增加了維護成本等問題。
4、基于上述問題,本專利技術提出了一種基于消息隊列與列式數據庫的日志分析存儲方法。
技術實現思路
1、本專利技術為了彌補現有技術的缺陷,提供了一種簡單高效的基于消息隊列與列式數據庫的日志分析存儲方法。
2、本專利技術是通過如下技術方案實現的:
3、一種基于消息隊列與列式數據庫的日志分析存儲方法,包括以下步驟:
4、步驟s1、各業務系統將日志數據作為生產者接入kafka消息隊列;
5、所述步驟s1中,實現過程如下:
6、步驟s1.1、為各業務系統產生的日志數據設
7、步驟s1.2、通過定義kafkaproducer集成消息隊列,配置kafka的ip地址、端口與topic,并序列化相關配置;
8、步驟s1.3、將各業務系統產生的日志數據通過kafkaproducer.send()方法發送到kafka消息隊列指定的topic中。
9、步驟s2、定義kafka消息隊列的消費者,消費各業務系統發送的日志數據;
10、所述步驟s2中,實現過程如下:
11、步驟s2.1、通過定義defaultkafkaconsumerfactory作為消息隊列消費者,配置kafka的ip地址、端口與topic,并序列化相關配置;
12、步驟s2.2、定義@kafkalistener,實時監聽consumerrecord中的日志數據,以實時消費各業務系統發送的日志數據。
13、步驟s3、將消費的日志數據插入到列式數據庫clickhouse中;
14、所述步驟s3中,實現過程如下:
15、步驟s3.1、定義數據結構,創建日志數據表結構以及實體數據;
16、步驟s3.2、日志存儲分析系統持久化集成列式數據庫clickhouse,并實現相關配置;
17、步驟s3.3、執行save()方法,將日志數據持久化到列式數據庫clickhouse中。
18、步驟s4、對列式數據庫clickhouse中的日志數據進行分析處理。
19、采用jdbc驅動程序讀取列式數據庫clickhouse中日志數據,根據用戶ip、操作時間、操作類型與操作模塊對日志數據進行分析。
20、所述步驟s4中,實現過程如下:
21、步驟s4.1、根據用戶ip對用戶所在地進行分析,針對操作用戶量高的地區提供相應的地區性服務;
22、步驟s4.2、根據操作時間分析用戶使用業務系統的高峰時段,針對高峰時段對業務系統進行加固、靈活擴容。
23、步驟s4.3、根據操作模塊分析用戶對于每個模塊使用的頻次,分析出高頻模塊,針對性的提升對應高頻模塊的性能,保障系統穩定;
24、步驟s4.4、采用echarts可視化圖表技術,根據自定義設置的日志規則展示相關日志分析數據,直觀的體現業務系統使用情況以及運行情況。
25、一種基于消息隊列與列式數據庫的日志分析存儲系統,包括kafka消息隊列,列式數據庫clickhous和分析模塊;
26、所述kafka消息隊列負責接入各業務系統產生的日志數據,并通過消費接入的日志數據,將日志數據插入到列式數據庫clickhouse中;
27、所述列式數據庫clickhous負責存儲日志數據;
28、所述分析模塊負責采用jdbc驅動程序讀取列式數據庫clickhouse中日志數據,并根據用戶ip、操作時間、操作類型與操作模塊對日志數據進行分析。
29、所述kafka消息隊列接入各業務系統產生的日志數據,實現過程如下:
30、步驟s1.1、為各業務系統產生的日志數據設置topic,通過設置的topic作為唯一標識來分辨各業務系統的日志數據;同時設置日志規則,包括存儲用戶的ip、操作時間、操作類型、操作模塊以及操作內容,用于后續日志分析;
31、步驟s1.2、通過定義kafkaproducer集成消息隊列,配置kafka的ip地址、端口與topic,并序列化相關配置;
32、步驟s1.3、將各業務系統產生的日志數據通過kafkaproducer.send()方法發送到kafka消息隊列指定的topic中。
33、所述kafka消息隊列通過消費接入的日志數據,將日志數據插入到列式數據庫clickhouse中,實現過程如下:
34、步驟s2.1、通過定義defaultkafkaconsumerfactory作為消息隊列消費者,配置kafka的ip地址、端口與topic,并序列化相關配置;
35、步驟s2.2、定義@kafkalistener,實時監聽consumerrecord中的日志數據,以實時消費各業務系統發送的日志數據;
36、步驟s2.3、將消費的日志數據插入到列式數據庫clickhouse中。
37、所述列式數據庫clickhous存儲日志數據,實現過程如下:
38、步驟s3.1、定義數據結構,創建日志數據表結構以及實體數據;
39、步驟s3.2、日志存儲分析系統持久化集成列式數據庫clickhouse,并實現相關配置;
40、步驟s3.3、執行save()方法,將日志數據持久化到列式數據庫clickhouse中。
41、所述分析模塊對日志數據進行分析,實現過程如下:
42、步驟s4.1、根據用戶ip對用戶所在地進行分析,針對操作用戶量高的地區提供相應的地區性服務;
43、步驟s4.2、根據操作時間分析用戶使用業務系統的高峰時段,針對高峰時段對業務系統進行加固、靈活擴容。
44、步驟s4.3、根據操作模塊分析用戶對于每個模塊使用的頻次,分析出高頻模塊本文檔來自技高網...
【技術保護點】
1.一種基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:包括以下步驟:
2.根據權利要求1所述的基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:所述步驟S1中,實現過程如下:
3.根據權利要求1所述的基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:所述步驟S2中,實現過程如下:
4.根據權利要求1所述的基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:所述步驟S4中,實現過程如下:
5.一種基于消息隊列與列式數據庫的日志分析存儲系統,其特征在于:包括kafka消息隊列,列式數據庫ClickHous和分析模塊;
6.根據權利要求5所述的基于消息隊列與列式數據庫的日志分析存儲系統,其特征在于:所述kafka消息隊列接入各業務系統產生的日志數據,實現過程如下:
7.根據權利要求5所述的基于消息隊列與列式數據庫的日志分析存儲系統,其特征在于:
8.根據權利要求5所述的基于消息隊列與列式數據庫的日志分析存儲系統,其特征在于:所述分析模塊對日志數據進行分析,實現過程如下:
...【技術特征摘要】
1.一種基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:包括以下步驟:
2.根據權利要求1所述的基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:所述步驟s1中,實現過程如下:
3.根據權利要求1所述的基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:所述步驟s2中,實現過程如下:
4.根據權利要求1所述的基于消息隊列與列式數據庫的日志分析存儲方法,其特征在于:所述步驟s4中,實現過程如下:
5.一種基于消息隊列與列式數據庫的日志分析存儲系統,其特征在于:包括kafka消息隊列,列式數據庫clickhous和分析模塊;
6.根據權利要求5所述的基于消息隊列與列式數據庫的日志分析存儲系統...
【專利技術屬性】
技術研發人員:劉建新,于忠劍,劉長亮,楊宇鋼,秦帥,
申請(專利權)人:浪潮云信息技術股份公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。