System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,尤其涉及一種基于clickhouse的融合cdn業務數據處理方法、裝置及設備。
技術介紹
1、隨著互聯網技術的飛速發展,尤其是內容分發網絡(cdn)業務的不斷擴張,對數據處理系統的性能、存儲效率、可擴展性和寫入性能提出了更高要求。然而,當前廣泛應用的傳統關系型數據庫(如mysql、postgresql等)在處理大規模融合cdn業務數據時,性能會顯著下降,特別是在進行復雜的多維查詢或聚合分析時,由于這些數據庫主要基于行式存儲模型,在需要從大數據集中提取某些字段時,需要讀取整個行的數據,導致i/o操作增加,查詢響應時間長。然而,傳統行式存儲方式將所有字段數據捆綁在一起,缺乏針對不同類型數據的優化存儲策略,導致數據壓縮比低,存儲空間浪費嚴重。在cdn業務中,數據規模動輒以pb計,低效的存儲方式不僅增加了硬件成本,也限制了數據處理的靈活性和效率。
2、傳統數據庫的擴展性較差,通常在單機部署下處理大規模數據時容易達到性能瓶頸。即使通過垂直擴展(增加硬件資源)或水平分片(分庫分表)來擴展,但操作復雜且成本高昂,且難以保證擴展后的系統性能和穩定性。
3、寫入性能低是傳統數據庫在處理高吞吐量寫入操作時的一個顯著缺點。cdn業務中頻繁的數據更新和插入操作要求數據庫系統具備高效的寫入能力。然而,傳統數據庫在處理這類操作時往往會導致數據延遲增加,影響業務的實時性和準確性。
技術實現思路
1、有鑒于此,本專利技術的目的在于提出一種基于clickhouse的融合
2、為實現上述目的,本專利技術提供一種基于clickhouse的融合cdn業務數據處理方法,所述方法包括:
3、通過實時調用各個融合cdn廠商的數據接口,獲取對應融合cdn廠商的業務數據;
4、利用spark對所述業務數據進行包括數據格式標準化、字段擴展以及過濾無效數據的預處理,將預處理后的所述業務數據進行打包并發送至kafka集群;
5、通過在clickhouse數據庫中創建基于replacingmergetree引擎的分布式數據表,利用spark實時消費kafka集群中的所述業務數據,將所述業務數據批量寫入至clickhouse數據庫的分布式數據表中;
6、根據用戶的查詢數據請求從clickhouse數據庫中檢索目標業務數據,并把所述目標業務數據轉化為json格式作為查詢結果進行返回。
7、優選的,所述業務數據的數據類型包括帶寬請求數據、回源帶寬請求數據、狀態碼數據、分區域帶寬請求數據、topurl數據;所述通過實時調用各個融合cdn廠商的數據接口,獲取對應融合cdn廠商的業務數據,包括:
8、通過加載系統的配置文件進行系統初始化,以及初始化每一數據類型的獲取任務,并建立與kafka集群的通信連接;
9、根據配置文件遍歷融合cdn廠商列表,基于融合cdn廠商列表遍歷每一融合cdn廠商的域名列表,獲取目標域名的域名數據;
10、從mysql數據庫中調取每一目標域名的采集時間點信息,通過調用對應的融合cdn廠商的數據接口獲取指定采集時間點信息的所述業務數據,并轉化為json格式后緩存于系統內存中;
11、將系統內存緩存的json格式的所述業務數據批量傳輸至kafka集群,并更新mysql數據庫中目標域名的下一個采集時間點信息進行下一輪的所述業務數據獲取。
12、優選的,所述利用spark對所述業務數據進行包括數據格式標準化、字段擴展以及過濾無效數據的預處理,將預處理后的所述業務數據進行打包并發送至kafka集群,包括:
13、利用spark設置kafka集群地址、端口以及kafka?topic信息,并在分布式環境中部署spark任務以及spark任務的初始化后,實時消費kafka集群中的所述業務數據;
14、通過遍歷接收到的所述業務數據并逐條解析json格式的所述業務數據,將解析失敗或者格式不符合要求的所述業務數據作為無效數據進行過濾;
15、將過濾后得到的所述業務數據緩存至本地內存隊列中,當本地內存隊列中的數據量達到數據量閾值時,通過觸發批量發送機制將當前批次的所述業務數據批量傳輸至kafka集群。
16、優選的,所述通過在clickhouse數據庫中創建基于replacingmergetree引擎的分布式數據表,利用spark實時消費kafka集群中的所述業務數據,將所述業務數據批量寫入至clickhouse數據庫的分布式數據表中,包括:
17、通過在clickhouse數據庫中創建基于replacingmergetree引擎的分布式數據表,利用spark實時消費kafka集群中的所述業務數據并緩存至本地內存隊列;
18、當本地內存隊列的所述業務數據的數據量達到數據量閾值時,將所述業務數據批量寫入至clickhouse數據庫的分布式數據表中。
19、優選的,在所述將所述業務數據批量寫入至clickhouse數據庫的分布式數據表中之后,進一步包括:
20、利用kafka?offset更新機制自動更新kafka集群的消費偏移量,以追蹤所述業務數據的消費進度。
21、優選的,在所述根據用戶的查詢數據請求從clickhouse數據庫中檢索目標業務數據,并把所述目標業務數據轉化為json格式作為查詢結果進行返回之前,包括:
22、通過配置文件設置clickhouse數據庫中分布式數據表的元數據信息,所述元數據信息包括地址信息、表信息。
23、優選的,所述根據用戶的查詢數據請求從clickhouse數據庫中檢索目標業務數據,并把所述目標業務數據轉化為json格式作為查詢結果進行返回,包括:
24、對clickhouse數據庫進行初始化,根據所述查詢數據請求中查詢的數據類型,調用對應查詢邏輯依次對不同的clickhouse數據庫的分布式數據表進行數據檢索,得到目標業務數據;
25、利用數據渲染機制將所述目標業務數據進行json格式化處理,將處理后的所述查詢結果返回至前端。
26、為實現上述目的,本專利技術還提供一種基于clickhouse的融合cdn業務數據處理裝置,所述裝置包括:
27、數據獲取單元,用于通過實時調用各個融合cdn廠商的數據接口,獲取對應融合cdn廠商的業務數據;
28、數據預處理單元,用于利用spark對所述業務數據進行包括數據格式標準化、字段擴展以及過濾無效數據的預處理,將預處理后的所述業務數據進行打包并發送至kafka集群;
29、數據入庫單元,用于通過在clickhouse數據庫中創建基于replacingmergetree引擎的分布式數據表,利用spa本文檔來自技高網...
【技術保護點】
1.一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,所述業務數據的數據類型包括帶寬請求數據、回源帶寬請求數據、狀態碼數據、分區域帶寬請求數據、TopURL數據;所述通過實時調用各個融合CDN廠商的數據接口,獲取對應融合CDN廠商的業務數據,包括:
3.根據權利要求1所述的一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,所述利用Spark對所述業務數據進行包括數據格式標準化、字段擴展以及過濾無效數據的預處理,將預處理后的所述業務數據進行打包并發送至Kafka集群,包括:
4.根據權利要求1所述的一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,所述通過在ClickHouse數據庫中創建基于ReplacingMergeTree引擎的分布式數據表,利用Spark實時消費Kafka集群中的所述業務數據,將所述業務數據批量寫入至ClickHouse數據庫的分布式數據表中,包括:
>5.根據權利要求4所述的一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,在所述將所述業務數據批量寫入至ClickHouse數據庫的分布式數據表中之后,進一步包括:
6.根據權利要求1所述的一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,在所述根據用戶的查詢數據請求從ClickHouse數據庫中檢索目標業務數據,并把所述目標業務數據轉化為JSON格式作為查詢結果進行返回之前,包括:
7.根據權利要求6所述的一種基于ClickHouse的融合CDN業務數據處理方法,其特征在于,所述根據用戶的查詢數據請求從ClickHouse數據庫中檢索目標業務數據,并把所述目標業務數據轉化為JSON格式作為查詢結果進行返回,包括:
8.一種基于ClickHouse的融合CDN業務數據處理裝置,其特征在于,所述裝置包括:
9.一種基于ClickHouse的融合CDN業務數據處理設備,其特征在于,包括處理器、存儲器以及存儲在所述存儲器內的計算機程序,所述計算機程序被所述處理器執行以實現如權利要求1至7任意一項所述的一種基于ClickHouse的融合CDN業務數據處理方法的步驟。
10.一種計算機程序產品,包括計算機程序/指令,所述計算機程序/指令被處理器執行以實現如權利要求1至7任意一項所述的一種基于ClickHouse的融合CDN業務數據處理方法的步驟。
...【技術特征摘要】
1.一種基于clickhouse的融合cdn業務數據處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的一種基于clickhouse的融合cdn業務數據處理方法,其特征在于,所述業務數據的數據類型包括帶寬請求數據、回源帶寬請求數據、狀態碼數據、分區域帶寬請求數據、topurl數據;所述通過實時調用各個融合cdn廠商的數據接口,獲取對應融合cdn廠商的業務數據,包括:
3.根據權利要求1所述的一種基于clickhouse的融合cdn業務數據處理方法,其特征在于,所述利用spark對所述業務數據進行包括數據格式標準化、字段擴展以及過濾無效數據的預處理,將預處理后的所述業務數據進行打包并發送至kafka集群,包括:
4.根據權利要求1所述的一種基于clickhouse的融合cdn業務數據處理方法,其特征在于,所述通過在clickhouse數據庫中創建基于replacingmergetree引擎的分布式數據表,利用spark實時消費kafka集群中的所述業務數據,將所述業務數據批量寫入至clickhouse數據庫的分布式數據表中,包括:
5.根據權利要求4所述的一種基于clickhouse的融合cdn業務數據處理方法,其特征在于,在所述將所述業務數據批量寫入至c...
【專利技術屬性】
技術研發人員:余杰,陳連波,史憬燁,蔡輝祥,吳劍林,王聲楚,林佳樂,張德成,吳成龍,
申請(專利權)人:廈門市安杰云網絡有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。