大数据开源舆情分析系统-数据处理部分架构浅析
上一篇文章我們說(shuō)到了:大數(shù)據(jù)開(kāi)源輿情分析系統(tǒng)-數(shù)據(jù)采集技術(shù)架構(gòu)淺析
今天跟大家來(lái)聊聊我們輿情系統(tǒng)中的數(shù)據(jù)處理部分是怎么樣的工作機(jī)制。
簡(jiǎn)述
輿情系統(tǒng)的數(shù)據(jù)處理部分我們定義為:數(shù)據(jù)工廠。
數(shù)據(jù)工廠,是一套多組件化數(shù)據(jù)清洗加工及數(shù)據(jù)存儲(chǔ)管理平臺(tái),同時(shí)能夠管理所有的數(shù)據(jù)庫(kù)的備份方案。
支持多數(shù)據(jù)源類型的數(shù)據(jù)同步實(shí)現(xiàn)和數(shù)據(jù)倉(cāng)庫(kù)其他的數(shù)據(jù)源互通。對(duì)接收數(shù)據(jù)進(jìn)行解壓,對(duì)外提供壓縮后的數(shù)據(jù)。
主要用途分為三大塊:?1.數(shù)據(jù)儲(chǔ)存,2.數(shù)據(jù)標(biāo)記,3.數(shù)據(jù)挖掘?。
經(jīng)歷了很多版本的迭代升級(jí),期間采用過(guò)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、tensorflow 和?PaddlePaddle,經(jīng)歷大量的開(kāi)發(fā)測(cè)試與項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)。
開(kāi)源技術(shù)棧
- 開(kāi)發(fā)框架:SpringBoot
- 開(kāi)發(fā)語(yǔ)言:Java JEE
- 數(shù)據(jù)暫存:MySQL
- 數(shù)據(jù)索引:Redis
- 深度學(xué)習(xí):PaddlePaddle
- 數(shù)據(jù)流水線:Apache Flink
- 自然語(yǔ)言處理:HaNLP & THUCTC
- 數(shù)據(jù)處理和儲(chǔ)存任務(wù)發(fā)送:Kafka&Zookeeper
- 數(shù)據(jù)中臺(tái):自研 & DataEase
主體流程
選擇需要處理的數(shù)據(jù)源,開(kāi)啟(或者關(guān)閉)數(shù)據(jù)處理開(kāi)關(guān),獲取爬蟲(chóng)工廠抓取初加工的數(shù)據(jù)。
在配置界面上對(duì)數(shù)據(jù)處理流程自定義,并且可以看見(jiàn)處理列表和處理詳情,以及當(dāng)前總體的計(jì)算狀態(tài)和計(jì)算負(fù)載統(tǒng)計(jì)。(整套技術(shù)方案可以自研,也可以使用為基礎(chǔ),初步評(píng)估flink可以滿足我們大部分需求)
數(shù)據(jù)處理環(huán)節(jié)有6種類型:組合匯聚數(shù)據(jù)源、ETL 網(wǎng)頁(yè)解析、自然語(yǔ)言處理、標(biāo)簽工場(chǎng)標(biāo)記、自定義python java反射代碼、對(duì)附件的處理。
每種數(shù)據(jù)源類型可定義輸出不同的數(shù)據(jù)處理結(jié)果和存儲(chǔ)目標(biāo)。
對(duì)應(yīng)每一種數(shù)據(jù)處理結(jié)果有每個(gè)不同的數(shù)據(jù)調(diào)用接口,接口都是根據(jù)數(shù)據(jù)字段自動(dòng)生成。管理員用戶可操作關(guān)閉數(shù)據(jù)調(diào)用開(kāi)關(guān)。
用戶可以查看每個(gè)數(shù)據(jù)處理結(jié)果的數(shù)據(jù)結(jié)果,可以通過(guò)篩選、搜索關(guān)鍵詞對(duì)具體的數(shù)據(jù)內(nèi)容查看。
備注:在項(xiàng)目初期應(yīng)該用最簡(jiǎn)潔明了的方式對(duì)數(shù)據(jù)處理加工,等到對(duì)自身需求有一定深刻認(rèn)識(shí)的時(shí)候,再對(duì)具體的數(shù)據(jù)工場(chǎng)的具體功能設(shè)計(jì)。進(jìn)過(guò)對(duì)工商數(shù)據(jù),對(duì)資訊數(shù)據(jù),對(duì)招投標(biāo)數(shù)據(jù)的輸入、輸出、處理、調(diào)用的各個(gè)環(huán)節(jié)后,會(huì)對(duì)數(shù)據(jù)工場(chǎng)具體需求有一個(gè)全面的認(rèn)識(shí)。
技術(shù)架構(gòu)
?(這是最早期系統(tǒng)架構(gòu)圖)
數(shù)據(jù)處理流程
數(shù)據(jù)總線
我們自研了一套數(shù)據(jù)總線系統(tǒng)API與Elasticsearch對(duì)接,將內(nèi)部整套數(shù)據(jù)處理流程完成后,通過(guò)低代碼化的API接口框架對(duì)輸出。
數(shù)據(jù)存儲(chǔ)
為了儲(chǔ)存海量的數(shù)據(jù),同時(shí)還能保證系統(tǒng)的性能和運(yùn)行效率,我們將一條數(shù)據(jù)儲(chǔ)存了多份,用儲(chǔ)存空間換取查詢時(shí)間。
-
MySQL
在系統(tǒng)中儲(chǔ)存兩部分相關(guān)的信息內(nèi)容,系統(tǒng)配置和臨時(shí)臟數(shù)據(jù)儲(chǔ)存。
-
redis
在系統(tǒng)中除了作為系統(tǒng)緩存,還作為站點(diǎn)數(shù)據(jù)采集的index索引庫(kù)。
-
kafak
由于數(shù)據(jù)處理的過(guò)程比較多,而且數(shù)據(jù)量很大,因此采用分布式以及異步的方式對(duì)海量數(shù)據(jù)加工處理。
-
Elasticsearch
儲(chǔ)存加工好的數(shù)據(jù)、去掉樣式的原文信息,以及打上各種標(biāo)簽的數(shù)據(jù),儲(chǔ)存在分布式搜索中,這樣便于用戶對(duì)數(shù)據(jù)的檢索。
-
MongoDB
帶樣式的文章正文原始網(wǎng)頁(yè)儲(chǔ)存在MongoDB中。
-
Clickhouse
將每篇文章指紋及海明距離儲(chǔ)存在clickhouse中,以便于對(duì)相似度和文章主題聚類的計(jì)算。
數(shù)據(jù)去重
-
URL去重
采用了redis集群,讓redis發(fā)揮天然的key/value魅力,把URL都存儲(chǔ)在redis中。
-
內(nèi)容去重
采用Elasticsearch內(nèi)部的查詢將文章標(biāo)題一樣的內(nèi)容檢索過(guò)濾掉。
數(shù)據(jù)清洗
- 自動(dòng)提取字段,標(biāo)題、正文、時(shí)間、作者、來(lái)源 等。
- 采用自動(dòng)分類技術(shù)對(duì) 軟文、廣告文、敏感文章分類,并且對(duì)抓取信源屏蔽。
數(shù)據(jù)標(biāo)記
-
內(nèi)容簡(jiǎn)介
我們自研了一套自然語(yǔ)言處理的API,我們對(duì)此也開(kāi)放了出來(lái),可以查閱。
-
實(shí)體識(shí)別
在HaNLP的基礎(chǔ)上進(jìn)行訓(xùn)練和二次開(kāi)發(fā),在實(shí)戰(zhàn)的過(guò)程中收集數(shù)據(jù)樣本以及對(duì)數(shù)據(jù)樣本標(biāo)注是最痛苦的事情,為此,我們還開(kāi)發(fā)了一款可以輔助人工標(biāo)記的工具。
-
情感分析
百度飛槳,我們使用了?PaddleHub?深度學(xué)習(xí)框架并且采用了?Senta模型?,這個(gè)方案上手很簡(jiǎn)單,在百度飛槳官方網(wǎng)站上有詳細(xì)內(nèi)容,這里就不贅述了。
-
高頻詞分詞
采用IK分詞框架,在此基礎(chǔ)上實(shí)現(xiàn)了高頻詞提取工具及API接口。
-
文本分類
由清華大學(xué)自然語(yǔ)言處理實(shí)驗(yàn)室推出的?THUCTC(THU Chinese Text Classification)
-
相似文章
將文章通過(guò)“海明距離”算法生成加密串碼存儲(chǔ)在clickhouse集群中,通過(guò)clickhouse距離查詢方法實(shí)現(xiàn),文章相似度聚類。
-
事件分類
自研算法,采用文本分類算法和高頻詞以及自己開(kāi)發(fā)了一個(gè)管理后臺(tái)。
-
行業(yè)分類
自研算法,采用文本分類算法和高頻詞以及自己開(kāi)發(fā)了一個(gè)管理后臺(tái)。
數(shù)據(jù)運(yùn)維
-
數(shù)據(jù)清理
需要定期對(duì) Elasticsearch、Mongodb 中存儲(chǔ)的數(shù)據(jù)刪除,同時(shí)還要將Mongodb中的表刪除,否則磁盤空間容量不會(huì)減少。
-
數(shù)據(jù)備份
關(guān)鍵性數(shù)據(jù)采用實(shí)時(shí)數(shù)據(jù)備份方案,例如:ES集群和MySQL主從備份,另外,線上實(shí)時(shí)ES集群我們只保留最近2年的數(shù)據(jù)。
非關(guān)鍵性數(shù)據(jù)采用離線數(shù)據(jù)備份方案,例如:采用datax+Linux腳本定時(shí)備份,上傳到遠(yuǎn)程異地備份服務(wù)器。
開(kāi)源輿情系統(tǒng)
項(xiàng)目地址:
https://gitee.com/stonedtx/yuqing
在線體驗(yàn)系統(tǒng)
- 環(huán)境地址:http://open-yuqing.stonedt.com/
- 用戶名:13900000000
- 密碼:stonedt
總結(jié)
以上是生活随笔為你收集整理的大数据开源舆情分析系统-数据处理部分架构浅析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 税控接口 - 模拟录入
- 下一篇: greensock下载_面向初学者的Gr