系列研究成果(十一):流批一體架構(gòu):助力構(gòu)建全面感知的DNS安全預(yù)警體系
一、前言
在全球數(shù)字化和人工智能化的浪潮下,作為我國互聯(lián)網(wǎng)“中樞神經(jīng)系統(tǒng)”的國家頂級域名DNS系統(tǒng),已經(jīng)成為最重要的互聯(lián)網(wǎng)基礎(chǔ)服務(wù)。常見針對DNS的攻擊手段有:DDOS(分布式拒絕服務(wù))攻擊、緩存投毒、DNS劫持、DNS隧道攻擊。近年來,隨著人工智能、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等高速發(fā)展,攻擊者開展漏洞自動化發(fā)現(xiàn)以及生成式混淆攻擊等新型攻擊手段,這些手段具有長周期、低頻、特征弱化的顯著特點,使得傳統(tǒng)基于已知特征檢測的方式日趨捉襟見肘。
DNS全流量采集技術(shù),是指通過在DNS系統(tǒng)關(guān)鍵節(jié)點部署采集設(shè)備,如流量鏡像等,實現(xiàn)對網(wǎng)絡(luò)中全量原始流量包的采集。該技術(shù)能夠?qū)崟r捕獲網(wǎng)絡(luò)鏈路中的所有數(shù)據(jù)流量,包括 TCP、UDP等各種協(xié)議類型的數(shù)據(jù)包,確保數(shù)據(jù)的完整性和全面性。DNS全流量采集的數(shù)據(jù)為后續(xù)的DNS流量分析與檢測提供最原始的數(shù)據(jù),有助于發(fā)現(xiàn)那些隱藏在海量原始數(shù)據(jù)中的潛在威脅。
持續(xù)的實時及回溯分析需求與海量的原始流量數(shù)據(jù)流動,給數(shù)據(jù)實時聚合計算帶來了巨大的挑戰(zhàn)。本文以當(dāng)下流行的“流批一體”架構(gòu)為例,簡要剖析如何從根本上解決數(shù)據(jù)鏈路的實時流通問題,為構(gòu)建全面感知的DNS安全預(yù)警體系提供流批一體化數(shù)據(jù)解決方案。
二、大數(shù)據(jù)處理的新范式:流式計算逐漸成為主流
傳統(tǒng)的批處理模式通常是定時進(jìn)行抽取、轉(zhuǎn)換和加載數(shù)據(jù),通常每小時甚至每天才執(zhí)行1次,僅能分析昨天(T+1)甚至前天(T+2)的數(shù)據(jù)。這種模式在海量原始數(shù)據(jù)實時分析場景下越來越難以為繼。與批處理相比,流式計算可以近乎實時地進(jìn)行數(shù)據(jù)處理,從而快速響應(yīng)外部事件。流式計算架構(gòu)可以水平擴(kuò)展,能夠應(yīng)對海量數(shù)據(jù)量和快速的數(shù)據(jù)增長速率,具有較高的靈活性和可擴(kuò)展性。
下圖展示了一個典型的流批一體處理架構(gòu):

實時采集DNS流量數(shù)據(jù),并通過Kafka將數(shù)據(jù)以消息的方式傳送給Flink。使用 Flink 完成數(shù)倉 ODS 到 DWD 、DWS 和ADS層的計算,通過使用 StarRocks 對各層數(shù)倉做統(tǒng)一的 OLAP 查詢和在線分析。基于 Kafka的消息訂閱與消費,F(xiàn)link 實現(xiàn)全鏈路的流式計算,加上StarRocks多層物化視圖的聚合,數(shù)據(jù)從采集到分析的時延可被縮短到秒級,為安全監(jiān)測與快速預(yù)警提供數(shù)據(jù)基礎(chǔ)。
三、Flink窗口操作
窗口操作是流式計算中的一個關(guān)鍵技術(shù)概念,它將無界的數(shù)據(jù)流分割為有限的塊進(jìn)行處理。窗口可以是時間窗口或計數(shù)窗口,時間窗口是基于時間長度的窗口,而計數(shù)窗口則是基于記錄數(shù)量的窗口。窗口操作允許用戶按照特定的粒度對數(shù)據(jù)進(jìn)行聚合處理,如計算過去5分鐘內(nèi)的平均值、最大值或最小值。Flink支持高度靈活的窗口操作。
四、StarRocks物化視圖與增量聚合
物化視圖主要用于支持多表關(guān)聯(lián)和豐富的聚合操作。StarRocks 的異步物化視圖采用了主流的基于 SPJG(select-project-join-group-by)模式透明查詢改寫算法。在不修改查詢語句的前提下,StarRocks 可以自動將在基表上的查詢改寫為在物化視圖上的查詢。通過其中包含的預(yù)計算結(jié)果,物化視圖可以顯著降低計算成本,并大幅加速查詢執(zhí)行。同時,當(dāng)基表的數(shù)據(jù)發(fā)生變化時,物化視圖也會進(jìn)行相應(yīng)的更新(自動或者手動),以保證數(shù)據(jù)的一致性和準(zhǔn)確性。
StarRocks 的異步物化視圖自動查詢改寫功能具有以下特點:
強(qiáng)數(shù)據(jù)一致性:如果基表是 StarRocks 內(nèi)表,StarRocks 可以保證通過物化視圖查詢改寫獲得的結(jié)果與直接查詢基表的結(jié)果一致。
基于 External Catalog 構(gòu)建物化視圖:可以通過該特性加速數(shù)據(jù)湖中的查詢。
多表 Join:StarRocks 的異步物化視圖支持各種類型的 Join,包括一些復(fù)雜的 Join 場景,如 View Delta Join 和 Join 派生改寫,可用于加速涉及大寬表的查詢場景。
Union 改寫:可以將 Union 改寫特性與物化視圖分區(qū)的生存時間相結(jié)合,實現(xiàn)冷熱數(shù)據(jù)的分離,允許從物化視圖查詢熱數(shù)據(jù),從基表查詢歷史數(shù)據(jù)。
五、結(jié)論
流批一體處理架構(gòu)利用流式處理保證數(shù)據(jù)的時效性,并通過Flink、StarRocks等內(nèi)置的增量聚合能力,在數(shù)據(jù)寫入時就完成預(yù)處理與聚合計算。通過“計算與聚合前移”,將大數(shù)據(jù)量分析時的復(fù)雜清洗與計算過程,分布到數(shù)據(jù)鏈路的各個節(jié)點上,從而優(yōu)化提升計算性能,顯著降低計算成本,為整個架構(gòu)提供了實時性和靈活性。隨著互聯(lián)網(wǎng)等高速發(fā)展,國家頂級域名DNS系統(tǒng)面臨著海量數(shù)據(jù)訪問與分析的挑戰(zhàn),通過引入流批一體增量聚合計算技術(shù),可以為保障國家頂級域名DNS系統(tǒng)安全提供數(shù)據(jù)賦能。
作者簡介:
黃永厚,中國互聯(lián)網(wǎng)絡(luò)信息中心工程師,主要研究方向為數(shù)據(jù)庫技術(shù)、數(shù)據(jù)管理與分析。
王騰,中國互聯(lián)網(wǎng)絡(luò)信息中心工程師,主要研究方向為智能運維技術(shù)。
李帥良,中國互聯(lián)網(wǎng)絡(luò)信息中心工程師,主要研究方向為大數(shù)據(jù)分析。
王蒙,中國互聯(lián)網(wǎng)絡(luò)信息中心工程師,主要研究方向為數(shù)據(jù)庫技術(shù)、數(shù)據(jù)管理與分析。
