資料服務在新媒體業務體系中的實踐

帶你聊技術發表於2023-12-18

來源:轉轉技術


  • 1 背景介紹
  • 2 現狀與痛點
  • 3 設計思路
  • 4 設計與實現
    • 4.1 資料模型建設
    • 4.2 多資料來源治理
    • 4.3 實時資料處理
    • 4.4 資料儲存方案
  • 5 總結


1 背景介紹

轉轉的新媒體業務重點在於利用主流短影片平臺,例如抖音、快手、B站、小紅書等,開展內容營銷。透過建立和維護高質量內容賬戶,在這些平臺上釋出高質量內容,促進產品推廣和品牌曝光。這包括精心策劃與品牌相關的吸引人內容和線上活動,透過廣泛或精準的資訊推送,提高使用者參與度和品牌知名度。有效利用粉絲經濟,實現營銷目標。然而,這些活動都依賴於各大平臺賬號和影片資料,因此大規模資料的收集、儲存和處理成為我們面臨的主要挑戰。

資料服務在新媒體業務體系中的實踐

2 現狀與痛點

在實際業務中,轉轉的新媒體工作人員會運營自己的賬號,這些賬號會在抖音、快手、B站、小紅書、微博等各大平臺上釋出影片。在使用者授權之後,我們會收集這些影片的相關資料儲存到我們的影片表中。在此過程中我們遇到了如下問題:

  • 資料治理問題:資料收集的來源主要包括了使用者錄入、系統收集提供等。目前這些資料這些資料是直接應用在各個業務模組的。這導致了不同模組同一維度的資料由於資料來源不同而存在差異。而且,由於缺少對資料的統一定義,資料維度的劃分也不夠清晰。
  • 資料敏捷性問題:資料的收集依賴外部服務不定時推送,這對於當下內容爆發式傳播的時代是難以接受的,業務迫切的需要擁有資料收集的主動權。
  • 資料儲存問題:隨著業務的高速增長,系統觸達的資料體量不斷膨脹。在大規模資料的儲存,賬號、影片資料結合業務場景實時分析,大規模資料實時搜尋等方面單一的資料儲存介質已經不足以滿足業務需求。
資料服務在新媒體業務體系中的實踐

3 設計思路

基於上述痛點,我們決定開發一套資料服務中臺系統來解決這些問題經過多次沉澱與總結,最終對資料服務中臺有了一個清晰的定位,即能夠一站式地完成資料的統一定義、統一生產、統一消費。(資料服務是一種提供與資料相關的多種服務的過程,包括資料收集、儲存、處理、分析和呈現,旨在幫助組織更好地理解和利用其資料資產,從而支援決策制定、創新和業務發展。)

資料服務在新媒體業務體系中的實踐 

  • 統一定義 即:透過建立資料標準及指標體系,統一業務對資料的認知與理解,實現資料的標準管理。
  • 統一生產 即:透過自動化、半自動化的方法,統一資料的加工生產過程,讓資料的血緣關係更加清晰,提升資料生產的效率,避免資料重複建設。
  • 統一消費 即:透過建立統一的資料底表,實現資料查詢出口統一、保障業務通用的資料產品指標資料準確性與一致性。

4 設計與實現

4.1 資料模型建設

資料統一定義

資料服務在新媒體業務體系中的實踐

4.2 多資料來源治理

為了更好的相容多資料來源場景,透過以下三個關鍵點來確保資料的質量和可靠性。

  • 首先,對源頭資料進行了規範化處理,為每個資料來源配備了相應的資料處理器,用於解析和處理各自的資料。這一步驟有助於統一資料的結構,使其更易於整合和分析。
  • 其次,在資料流入系統之前引入了資料規範相關的校驗措施,以杜絕髒資料的流入。這種前置校驗能夠有效地減少錯誤和異常資料對系統的影響,提高資料的質量和一致性。
  • 最後,針對不同來源的資料制定了優先順序設定策略,以最大程度地保證資料的權威性。透過設定優先順序,能夠確保對於關鍵資料來源的處理和分析能夠得到更高的優先順序,從而更有效地支援業務決策和運營需求。這些設計措施共同構建了一個健壯的資料服務體系,旨在提供高質量、一致性和可信度的資料,為業務流程和決策提供可靠的支援。

 資料服務在新媒體業務體系中的實踐 

// 統一資料格式
class StandardData {
    // 資料收集時間
    Time dataTime;
    // 資料來源
    DataSource dataSource;
    // 資料內容
    DataDetail dataDetail;
}
// 資料分發處理
class DataHandleDispatcher {
    DataHandler findHandler(StandardData standardData) {
        return dataHandler;
    }
}
// 資料處理器
class DataHandler {
    Rule rule;
    // 處理資料
    void handler(StandardData standardData) {
        if (check(rule, standardData)) {
            doHandler(standardData);
        }
    }
    void doHandler(StandardData standardData) {
        //
    }
    // 檢驗資料內容,防止髒資料流入系統
    boolean check(Rule rule, StandardData standardData) {
        //
    }
}

4.3 實時資料處理

資料服務平臺將資料收集的主導權交給使用者,實時監聽上游MQ訊息,保證了資料的敏捷性。

資料服務在新媒體業務體系中的實踐

4.4 資料儲存方案

基於我們當前日均億級的影片資料增量以及百億級的影片總量,結合我們需要進行大規模資料儲存、分析以及實時查詢的需求,我們選擇了Doris,鑑於它有如下幾個方面的特性:

  • 採用分散式架構,使其能夠輕鬆應對大規模資料的儲存和處理,確保系統在面對不斷增長的資料量時仍能保持高效。
  • 在查詢效能方面表現出眾,能夠以秒級速度提供高效能的查詢結果。
  • 支援實時查詢,能夠滿足對實時資料分析以及報表輸出的需求。
  • 高度相容MySQL協議,這讓開發人員更容易上手。
  • 能夠將Mysql作為外部表對映到Doris內進行關聯查詢。

相比與我們之前採用的Hbase方案,Doris能夠支援複雜的關係查詢並且能夠以秒級速度輸出結果,而Hbase並不支援複雜查詢。其次,Doris由於高度相容MySQL協議,在學習成本以及使用體驗上相比於Hbase擁有更好的表現。

5 總結

本文介紹了轉轉資料服務平臺的實現,現已成為新媒體業務體系中的核心元件,承擔著資料治理的統一服務職責。未來我們會持續迭代系統的功能,以滿足不斷變化的業務需求和使用者期望。

關於作者

李文濤,現任轉轉乾資料技術部後端研發工程師。

來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70024922/viewspace-3000420/,如需轉載,請註明出處,否則將追究法律責任。

相關文章