開發與維運

基於實時計算(flink)打造輿情分析平臺——新華智雲

產品介紹

新華智雲是一家致力於通過大數據技術驅動媒體變革的公司,數芯是新華智雲推出的實時輿情分析平臺,旨在滿足用戶一系列輿情分析需求。包括:對事件、新聞、媒體、人物、地域、機構、行業,甚至關鍵詞、熱門話題等的抓取、識別、聚合、熱度分析以及可視化展示等。
總覽
image.png

事件跟蹤
image.png

系統設計
網絡輿情是社會輿論的一種表現形式,通俗的說是人們通過網絡表達對某些社會事件的看法和態度。網絡輿情以事件為載體,以事件為核心,是廣大網民情感、態度、觀點的表達、傳播、互動以及後續影響力的總和。

一個輿情分析分析系統,主要解決的問題包括:發現事件、跟蹤事件、發掘觀點、評估影響力等。

系統挑戰
輿情分析系統需要對接多個上下游

數據上游:爬蟲數據和採購數據。爬蟲採集不同數據結構類型的平臺數據。
數據下游:寫入不同的存儲系統。如統計結果寫入RDS,清洗後數據寫到OTS中,文章存儲到ES中做索引等等。
如果設計不合理,多上下游將會極大影響系統複雜度。

數據處理過程包括數據清洗和數據統計
清洗過程既有基於規則的信息抽取,又有基於算法的實體識別。
統計過程需要先把數據結構化拼裝,然後按照各種維度進行靈活的統計。

具有自我迭代的能力

設計良好的輿情分析系統應該具有自我迭代的能力,能夠根據歷史數據進行優化,不斷提供系統效能。
系統架構
大數據輿情分析系統架構圖如下。

image.png

輿情規劃是整個系統的控制器,控制著輿情發現的目標、信息源等;
信息獲取是輿情分析的基礎,能夠快速、準確的獲取足量信息是系統成功的前提;
信息處理與算法部分是輿情分析的關鍵,擔負著把原始數據加工成信息與知識的重任,並且對歸檔後的數據進一步分析能夠發現系統問題、發現新的事件和新的模型,能夠進一步提升系統效果;
最終的信息要服務的形式的暴露出來,為人所用;
信息處理
數芯平臺的信息處理部分如下圖所示。
image.png

數據來源(注:數據採集成功後統一發布到DataHub中)
爬蟲:實時的去各大網站、微博、微信等內容平臺抓取數據。
從其他機構採集數據。
數據處理
實時計算訂閱DataHub然後進行數據處理。數據處理包括兩個重要的部分:實時數據流和算法服務API。

實時數據流
通過實時計算串起整個實時數據流,總體包括對數據進行清洗、提取目標,整理成結構化的數據,然後按照所需維度對結構化的數據進行聚合。並且要把原始數據、結構化的數據、彙總的結果都發布到下游存儲系統中。
數據清洗:對爬蟲抓取的數據進行清洗,比如垃圾過濾、文本去重等。這一步通過實時計算提供的UDX(自定義函數)來調用算法服務API來完成;
目標提取:從已經完成清洗的數據中抽取出感興趣的目標,比如抽取實體(人物、地點、事件等),對內容的情感評分,抽取文章關鍵詞等,這一步的目標是從非結構化的文本中抽取結構化的信息;
結果聚合:對已經結構化的數據按維度聚合,比如某事件的按天計數,某新聞的傳播熱度等。最終把這些聚合信息聯合原始信息分別寫到下游存儲中去。
算法服務API
預先訓練好模型,把垃圾過濾、文本去重、實體提取、情感打分、關鍵詞提取等暴露成API服務,供實時計算調用。

數據存儲與服務
RDS保存聚合數據,OTS保存原始新聞,ES對新聞建立索引,提供搜索服務,這三個數據存儲直接為最終產品服務。

總結

數芯之前數據處理部分使用的是自建的spark,需要自行運維和對接各種上下游系統,遷移到了阿里雲實時計算平臺,整體收益包括:

運維成本:免運維,阿里雲提供高保障。
對接上下游:直接註冊,免開發。
開發成本:SQL開發,效率高,門檻低。
數據流:一個產品串起整個數據流,ETL用UDX,統計用SQL。
從更高的維度上看,這個案例屬於實時ETL場景,實時ETL的目標把數據從a投遞到b,中間進行清洗、格式轉化、信息抽取等。如果對吞吐、實時性有一定要求,可以在方案階段優先考慮實時計算產品。
注:本文部分內容來自新華智雲工程師楊叢聿的分享,特此感謝。

Leave a Reply

Your email address will not be published. Required fields are marked *