两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于ClickHouse的融合CDN業(yè)務(wù)數(shù)據(jù)處理方法、裝置及設(shè)備與流程

文檔序號:40643267發(fā)布日期:2025-01-10 18:49閱讀:6來源:國知局
一種基于ClickHouse的融合CDN業(yè)務(wù)數(shù)據(jù)處理方法、裝置及設(shè)備與流程

本發(fā)明涉及計算機,尤其涉及一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理方法、裝置及設(shè)備。


背景技術(shù):

1、隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,尤其是內(nèi)容分發(fā)網(wǎng)絡(luò)(cdn)業(yè)務(wù)的不斷擴張,對數(shù)據(jù)處理系統(tǒng)的性能、存儲效率、可擴展性和寫入性能提出了更高要求。然而,當前廣泛應用的傳統(tǒng)關(guān)系型數(shù)據(jù)庫(如mysql、postgresql等)在處理大規(guī)模融合cdn業(yè)務(wù)數(shù)據(jù)時,性能會顯著下降,特別是在進行復雜的多維查詢或聚合分析時,由于這些數(shù)據(jù)庫主要基于行式存儲模型,在需要從大數(shù)據(jù)集中提取某些字段時,需要讀取整個行的數(shù)據(jù),導致i/o操作增加,查詢響應時間長。然而,傳統(tǒng)行式存儲方式將所有字段數(shù)據(jù)捆綁在一起,缺乏針對不同類型數(shù)據(jù)的優(yōu)化存儲策略,導致數(shù)據(jù)壓縮比低,存儲空間浪費嚴重。在cdn業(yè)務(wù)中,數(shù)據(jù)規(guī)模動輒以pb計,低效的存儲方式不僅增加了硬件成本,也限制了數(shù)據(jù)處理的靈活性和效率。

2、傳統(tǒng)數(shù)據(jù)庫的擴展性較差,通常在單機部署下處理大規(guī)模數(shù)據(jù)時容易達到性能瓶頸。即使通過垂直擴展(增加硬件資源)或水平分片(分庫分表)來擴展,但操作復雜且成本高昂,且難以保證擴展后的系統(tǒng)性能和穩(wěn)定性。

3、寫入性能低是傳統(tǒng)數(shù)據(jù)庫在處理高吞吐量寫入操作時的一個顯著缺點。cdn業(yè)務(wù)中頻繁的數(shù)據(jù)更新和插入操作要求數(shù)據(jù)庫系統(tǒng)具備高效的寫入能力。然而,傳統(tǒng)數(shù)據(jù)庫在處理這類操作時往往會導致數(shù)據(jù)延遲增加,影響業(yè)務(wù)的實時性和準確性。


技術(shù)實現(xiàn)思路

1、有鑒于此,本發(fā)明的目的在于提出一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理方法、裝置以及設(shè)備,旨在解決傳統(tǒng)數(shù)據(jù)庫在處理大規(guī)模融合cdn業(yè)務(wù)數(shù)據(jù)時,存在查詢性能低、存儲效率低、可擴展性差以及寫入性能低等問題。

2、為實現(xiàn)上述目的,本發(fā)明提供一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理方法,所述方法包括:

3、通過實時調(diào)用各個融合cdn廠商的數(shù)據(jù)接口,獲取對應融合cdn廠商的業(yè)務(wù)數(shù)據(jù);

4、利用spark對所述業(yè)務(wù)數(shù)據(jù)進行包括數(shù)據(jù)格式標準化、字段擴展以及過濾無效數(shù)據(jù)的預處理,將預處理后的所述業(yè)務(wù)數(shù)據(jù)進行打包并發(fā)送至kafka集群;

5、通過在clickhouse數(shù)據(jù)庫中創(chuàng)建基于replacingmergetree引擎的分布式數(shù)據(jù)表,利用spark實時消費kafka集群中的所述業(yè)務(wù)數(shù)據(jù),將所述業(yè)務(wù)數(shù)據(jù)批量寫入至clickhouse數(shù)據(jù)庫的分布式數(shù)據(jù)表中;

6、根據(jù)用戶的查詢數(shù)據(jù)請求從clickhouse數(shù)據(jù)庫中檢索目標業(yè)務(wù)數(shù)據(jù),并把所述目標業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化為json格式作為查詢結(jié)果進行返回。

7、優(yōu)選的,所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)類型包括帶寬請求數(shù)據(jù)、回源帶寬請求數(shù)據(jù)、狀態(tài)碼數(shù)據(jù)、分區(qū)域帶寬請求數(shù)據(jù)、topurl數(shù)據(jù);所述通過實時調(diào)用各個融合cdn廠商的數(shù)據(jù)接口,獲取對應融合cdn廠商的業(yè)務(wù)數(shù)據(jù),包括:

8、通過加載系統(tǒng)的配置文件進行系統(tǒng)初始化,以及初始化每一數(shù)據(jù)類型的獲取任務(wù),并建立與kafka集群的通信連接;

9、根據(jù)配置文件遍歷融合cdn廠商列表,基于融合cdn廠商列表遍歷每一融合cdn廠商的域名列表,獲取目標域名的域名數(shù)據(jù);

10、從mysql數(shù)據(jù)庫中調(diào)取每一目標域名的采集時間點信息,通過調(diào)用對應的融合cdn廠商的數(shù)據(jù)接口獲取指定采集時間點信息的所述業(yè)務(wù)數(shù)據(jù),并轉(zhuǎn)化為json格式后緩存于系統(tǒng)內(nèi)存中;

11、將系統(tǒng)內(nèi)存緩存的json格式的所述業(yè)務(wù)數(shù)據(jù)批量傳輸至kafka集群,并更新mysql數(shù)據(jù)庫中目標域名的下一個采集時間點信息進行下一輪的所述業(yè)務(wù)數(shù)據(jù)獲取。

12、優(yōu)選的,所述利用spark對所述業(yè)務(wù)數(shù)據(jù)進行包括數(shù)據(jù)格式標準化、字段擴展以及過濾無效數(shù)據(jù)的預處理,將預處理后的所述業(yè)務(wù)數(shù)據(jù)進行打包并發(fā)送至kafka集群,包括:

13、利用spark設(shè)置kafka集群地址、端口以及kafka?topic信息,并在分布式環(huán)境中部署spark任務(wù)以及spark任務(wù)的初始化后,實時消費kafka集群中的所述業(yè)務(wù)數(shù)據(jù);

14、通過遍歷接收到的所述業(yè)務(wù)數(shù)據(jù)并逐條解析json格式的所述業(yè)務(wù)數(shù)據(jù),將解析失敗或者格式不符合要求的所述業(yè)務(wù)數(shù)據(jù)作為無效數(shù)據(jù)進行過濾;

15、將過濾后得到的所述業(yè)務(wù)數(shù)據(jù)緩存至本地內(nèi)存隊列中,當本地內(nèi)存隊列中的數(shù)據(jù)量達到數(shù)據(jù)量閾值時,通過觸發(fā)批量發(fā)送機制將當前批次的所述業(yè)務(wù)數(shù)據(jù)批量傳輸至kafka集群。

16、優(yōu)選的,所述通過在clickhouse數(shù)據(jù)庫中創(chuàng)建基于replacingmergetree引擎的分布式數(shù)據(jù)表,利用spark實時消費kafka集群中的所述業(yè)務(wù)數(shù)據(jù),將所述業(yè)務(wù)數(shù)據(jù)批量寫入至clickhouse數(shù)據(jù)庫的分布式數(shù)據(jù)表中,包括:

17、通過在clickhouse數(shù)據(jù)庫中創(chuàng)建基于replacingmergetree引擎的分布式數(shù)據(jù)表,利用spark實時消費kafka集群中的所述業(yè)務(wù)數(shù)據(jù)并緩存至本地內(nèi)存隊列;

18、當本地內(nèi)存隊列的所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)量達到數(shù)據(jù)量閾值時,將所述業(yè)務(wù)數(shù)據(jù)批量寫入至clickhouse數(shù)據(jù)庫的分布式數(shù)據(jù)表中。

19、優(yōu)選的,在所述將所述業(yè)務(wù)數(shù)據(jù)批量寫入至clickhouse數(shù)據(jù)庫的分布式數(shù)據(jù)表中之后,進一步包括:

20、利用kafka?offset更新機制自動更新kafka集群的消費偏移量,以追蹤所述業(yè)務(wù)數(shù)據(jù)的消費進度。

21、優(yōu)選的,在所述根據(jù)用戶的查詢數(shù)據(jù)請求從clickhouse數(shù)據(jù)庫中檢索目標業(yè)務(wù)數(shù)據(jù),并把所述目標業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化為json格式作為查詢結(jié)果進行返回之前,包括:

22、通過配置文件設(shè)置clickhouse數(shù)據(jù)庫中分布式數(shù)據(jù)表的元數(shù)據(jù)信息,所述元數(shù)據(jù)信息包括地址信息、表信息。

23、優(yōu)選的,所述根據(jù)用戶的查詢數(shù)據(jù)請求從clickhouse數(shù)據(jù)庫中檢索目標業(yè)務(wù)數(shù)據(jù),并把所述目標業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化為json格式作為查詢結(jié)果進行返回,包括:

24、對clickhouse數(shù)據(jù)庫進行初始化,根據(jù)所述查詢數(shù)據(jù)請求中查詢的數(shù)據(jù)類型,調(diào)用對應查詢邏輯依次對不同的clickhouse數(shù)據(jù)庫的分布式數(shù)據(jù)表進行數(shù)據(jù)檢索,得到目標業(yè)務(wù)數(shù)據(jù);

25、利用數(shù)據(jù)渲染機制將所述目標業(yè)務(wù)數(shù)據(jù)進行json格式化處理,將處理后的所述查詢結(jié)果返回至前端。

26、為實現(xiàn)上述目的,本發(fā)明還提供一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理裝置,所述裝置包括:

27、數(shù)據(jù)獲取單元,用于通過實時調(diào)用各個融合cdn廠商的數(shù)據(jù)接口,獲取對應融合cdn廠商的業(yè)務(wù)數(shù)據(jù);

28、數(shù)據(jù)預處理單元,用于利用spark對所述業(yè)務(wù)數(shù)據(jù)進行包括數(shù)據(jù)格式標準化、字段擴展以及過濾無效數(shù)據(jù)的預處理,將預處理后的所述業(yè)務(wù)數(shù)據(jù)進行打包并發(fā)送至kafka集群;

29、數(shù)據(jù)入庫單元,用于通過在clickhouse數(shù)據(jù)庫中創(chuàng)建基于replacingmergetree引擎的分布式數(shù)據(jù)表,利用spark實時消費kafka集群中的所述業(yè)務(wù)數(shù)據(jù),將所述業(yè)務(wù)數(shù)據(jù)批量寫入至clickhouse數(shù)據(jù)庫的分布式數(shù)據(jù)表中;

30、數(shù)據(jù)查詢單元,用于根據(jù)用戶的查詢數(shù)據(jù)請求從clickhouse數(shù)據(jù)庫中檢索目標業(yè)務(wù)數(shù)據(jù),并把所述目標業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)化為json格式作為查詢結(jié)果進行返回。

31、為了實現(xiàn)上述目的,本發(fā)明還提出一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理設(shè)備,包括處理器、存儲器以及存儲在所述存儲器內(nèi)的計算機程序,所述計算機程序被所述處理器執(zhí)行以實現(xiàn)如上述實施例所述的一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理方法的步驟。

32、為了實現(xiàn)上述目的,本發(fā)明還提出一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行以實現(xiàn)如上述實施例所述的一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理方法的步驟。

33、為了實現(xiàn)上述目的,本發(fā)明還提出一種計算機程序產(chǎn)品,包括計算機程序/指令,所述計算機程序/指令被處理器執(zhí)行時實現(xiàn)如上述實施例所述的一種基于clickhouse的融合cdn業(yè)務(wù)數(shù)據(jù)處理方法的步驟。

34、有益效果:

35、以上方案,通過實時調(diào)用cdn廠商的數(shù)據(jù)接口,能夠確保數(shù)據(jù)的時效性和準確性,滿足業(yè)務(wù)對實時性數(shù)據(jù)的需求。利用spark進行數(shù)據(jù)預處理,有效提高了數(shù)據(jù)質(zhì)量,減少了后續(xù)處理中的錯誤和異常,提升了數(shù)據(jù)處理的整體效率和準確性;并通過kafka集群實現(xiàn)數(shù)據(jù)的可靠傳輸,為后續(xù)處理奠定了基礎(chǔ)。采用clickhouse的replacingmergetree引擎創(chuàng)建分布式數(shù)據(jù)表,不僅優(yōu)化了數(shù)據(jù)存儲結(jié)構(gòu)和查詢性能,還提高了數(shù)據(jù)處理的整體效率,通過分布式部署和批量寫入機制顯著提升了數(shù)據(jù)寫入性能。同時,clickhouse可以使用更高效的壓縮算法進行數(shù)據(jù)壓縮,可以大幅減少數(shù)據(jù)存儲量和數(shù)據(jù)傳輸量,并且clickhouse的列式存儲特性使得查詢性能大幅提升,尤其是針對多維查詢和聚合分析,能夠大幅的提升數(shù)據(jù)查詢性能并返回結(jié)果。

36、以上方案,通過配置文件的初始化能夠支持從多個cdn廠商和域名獲取數(shù)據(jù),增強了數(shù)據(jù)源的多樣性和靈活性;通過mysql數(shù)據(jù)庫管理采集任務(wù)和數(shù)據(jù)點,實現(xiàn)了數(shù)據(jù)采集的自動化和系統(tǒng)化,減少了人工干預;使用系統(tǒng)內(nèi)存緩存json格式的數(shù)據(jù),減少了磁盤i/o,提高了數(shù)據(jù)傳輸?shù)男省?/p>

37、以上方案,利用spark強大的數(shù)據(jù)處理能力,實現(xiàn)了對kafka集群中數(shù)據(jù)的實時消費和預處理;通過解析和過濾無效數(shù)據(jù),提高了數(shù)據(jù)的質(zhì)量,避免了后續(xù)處理中的錯誤和異常;采用批量發(fā)送機制,減少了網(wǎng)絡(luò)傳輸次數(shù),提高了數(shù)據(jù)傳輸效率。

38、以上方案,通過創(chuàng)建基于replacingmergetree引擎的分布式數(shù)據(jù)表,提高了數(shù)據(jù)存儲的效率和可擴展性;利用kafka?offset更新機制,實現(xiàn)了對業(yè)務(wù)數(shù)據(jù)消費進度的自動追蹤,確保了數(shù)據(jù)處理的連續(xù)性和完整性。

39、以上方案,通過配置文件設(shè)置clickhouse數(shù)據(jù)庫表的元數(shù)據(jù)信息,提高了查詢的靈活性和可配置性,便于根據(jù)不同的業(yè)務(wù)需求進行快速調(diào)整;根據(jù)查詢數(shù)據(jù)請求中的數(shù)據(jù)類型,調(diào)用對應的查詢邏輯進行數(shù)據(jù)檢索,提高了查詢的準確性和效率,利用數(shù)據(jù)渲染機制將查詢結(jié)果進行json格式化處理后進行返回,便于前端展示和后續(xù)處理,提升了用戶體驗和數(shù)據(jù)應用的便捷性。

40、以上方案,基于clickhouse添加更多的節(jié)點來進行水平擴展。每個節(jié)點都可以處理一部分數(shù)據(jù)和查詢請求,這種方式可以隨需求增長而擴展,在整個數(shù)據(jù)處理流程基于分布式架構(gòu)設(shè)計,具備良好的可擴展性和穩(wěn)定性。無論是數(shù)據(jù)采集、處理還是存儲查詢,都能通過增加節(jié)點或優(yōu)化資源配置來應對業(yè)務(wù)增長和變化。采用spark?streaming開源大數(shù)據(jù)框架,實時消費kafka隊列的融合cdn業(yè)務(wù)數(shù)據(jù),采用批量數(shù)據(jù)寫入到clickhouse數(shù)據(jù)倉庫,數(shù)據(jù)被批量處理后寫入,可以減少寫入開銷提升數(shù)據(jù)庫寫入性能,極大地提高系統(tǒng)吞吐量。同時,高效的數(shù)據(jù)處理流程也縮短了業(yè)務(wù)響應時間,提高了整體運營效率,為企業(yè)帶來了顯著的經(jīng)濟效益。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
辉南县| 措勤县| 云阳县| 河北省| 漾濞| 阿巴嘎旗| 防城港市| 遂川县| 陇南市| 永安市| 蒙自县| 宝应县| 邵东县| 全椒县| 肃宁县| 九江市| 从江县| 察哈| 包头市| 阆中市| 五峰| 乌兰浩特市| 安平县| 阳原县| 浦北县| 冷水江市| 渝北区| 玛曲县| 大英县| 鄱阳县| 乌兰浩特市| 东源县| 柳江县| 广德县| 张掖市| 获嘉县| 涿鹿县| 姜堰市| 乐山市| 忻城县| 武冈市|