清博舆情系统_什么是舆情
1. 引言
1.1 編寫目的
??編寫此文檔的目的是確認(rèn)微博輿情分析系統(tǒng)的基本架構(gòu),指導(dǎo)系統(tǒng)的基本架構(gòu)。
1.2 項(xiàng)目信息
- 項(xiàng)目名稱:輿情分析系統(tǒng)
- 項(xiàng)目提出者:指導(dǎo)教師
- 開發(fā)者:東北大學(xué)軟件學(xué)院大數(shù)據(jù)班T09實(shí)訓(xùn)項(xiàng)目組(lzf、lcx)
- 用戶:輿情分析員、系統(tǒng)管理員
1.3 項(xiàng)目背景
??互聯(lián)網(wǎng)的飛速發(fā)展促進(jìn)了很多新媒體的發(fā)展,不論是知名的大 V,明星還是圍觀群眾都可以通過手機(jī)在微博,朋友圈或者點(diǎn)評網(wǎng)站上發(fā)表狀態(tài),分享自己的所見所想,使得“人人都有了麥克風(fēng)”。不論是熱點(diǎn)新聞還是娛樂八卦,傳播速度遠(yuǎn)超我們的想象。可以在短短數(shù)分鐘內(nèi),有數(shù)萬計(jì)轉(zhuǎn)發(fā),數(shù)百萬的閱讀。如此海量的信息可以得到爆炸式的傳播,如何能夠?qū)崟r(shí)的把握民情并作出對應(yīng)的處理對很多企業(yè)來說都是至關(guān)重要的,而這一切也意味著傳統(tǒng)的輿情系統(tǒng)升級成為大數(shù)據(jù)輿情采集和分析系統(tǒng)。
1.4 閱讀對象
- 本系統(tǒng)的設(shè)計(jì)人員:主要是輿情分析系統(tǒng)開發(fā)小組成員。
- 本系統(tǒng)的開發(fā)人員:主要是輿情分析系統(tǒng)開發(fā)小組成員。
- 本系統(tǒng)的測試人員:主要是輿情分析系統(tǒng)開發(fā)小組成員。
1.5 術(shù)語與縮略語
1.6 參考資料
- 《輿情分析系統(tǒng)-軟件需求規(guī)格說明書》
- 中移輿情架構(gòu)圖:https://ecloud.10086.cn/home/product-introduction/pa
- 系統(tǒng)架構(gòu)設(shè)計(jì)說明書:
https://wenku.baidu.com/view/5afd18a42a4ac850ad02de80d4d8d15abe23006e.html
2. 范圍
2.1 軟件名稱
- 英文名稱:POAS(Public Opinion Analysis System)
- 中文名稱:輿情分析系統(tǒng)
2.2 軟件功能
- 參考《輿情分析系統(tǒng)-軟件需求規(guī)格說明書》
3. 總體設(shè)計(jì)
3.1 架構(gòu)設(shè)計(jì)目標(biāo)和約束
3.1.1 架構(gòu)設(shè)計(jì)目標(biāo)
??架構(gòu)設(shè)計(jì)的目標(biāo)是為了解決目前或者未來軟件系統(tǒng)由于復(fù)雜度可能帶來的問題。就目前而言,架構(gòu)設(shè)計(jì)主要是為了識(shí)別、梳理用例模型交互、功能模塊實(shí)現(xiàn)、接口設(shè)計(jì)和概念模型設(shè)計(jì)等涉及到的復(fù)雜點(diǎn),再針對這些復(fù)雜點(diǎn)制定處理方案,從而通過設(shè)計(jì)來增強(qiáng)效用、減少成本,降低復(fù)雜度。而就未來而言,系統(tǒng)架構(gòu)設(shè)計(jì)將隨著業(yè)務(wù)發(fā)展不斷演變、完善,以解決未來軟件系統(tǒng)由于復(fù)雜度可能帶來的問題。
3.1.2 開發(fā)環(huán)境
3.1.3 運(yùn)行環(huán)境
3.2 系統(tǒng)架構(gòu)設(shè)計(jì)
3.3 系統(tǒng)流程
3.4 系統(tǒng)模塊劃分與模塊接口
3.4.1 模塊描述
- 數(shù)據(jù)采集模塊
??數(shù)據(jù)采集模塊主要是通過網(wǎng)頁爬蟲定時(shí)對目標(biāo)網(wǎng)站的新聞文章數(shù)據(jù)進(jìn)行爬取,爬取的間隔參數(shù)可以通過系統(tǒng)管理頁面配置。 - 實(shí)時(shí)處理分析與數(shù)據(jù)存儲(chǔ)模塊
??實(shí)時(shí)處理分析與數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)采集模塊采集到的數(shù)據(jù),通過Flink代碼處理原始數(shù)據(jù)到不同的下游Topic,再根據(jù)需求對數(shù)據(jù)進(jìn)行實(shí)時(shí)處理、實(shí)時(shí)分析,最終存入ClickHouse與ElasticSearch。 - 數(shù)據(jù)查詢搜索模塊
??數(shù)據(jù)查詢搜索模塊負(fù)責(zé)搜索查詢ClickHouse與ElasticSearch存儲(chǔ)的數(shù)據(jù),提供接口讓前端進(jìn)行查詢并展示。 - 前端展示模塊
??接收后端的查詢到的數(shù)據(jù),對數(shù)據(jù)進(jìn)行可視化展示。 - 登錄模塊
??登錄模塊負(fù)責(zé)輿情分析員與管理員的登錄,輿情分析員登錄后可查看輿情分析報(bào)表,管理員登錄后可以配置相關(guān)參數(shù)。
3.4.2 模塊接口設(shè)計(jì)
??實(shí)時(shí)處理分析與數(shù)據(jù)存儲(chǔ)模塊的接口主要是模塊代碼的使用接口,主要涉及的接口有textEmotion()接口、segmentSentence()接口、getArticleEvents()接口、getProvince()接口、getStandardTime()接口以及存儲(chǔ)數(shù)據(jù)到ClickHouse與ElasticSearch的第三方接口,這些接口的作用說明如下表所示:
??數(shù)據(jù)查詢搜索模塊的接口主要是控制層提供的前端輿情展示的查詢搜索接口、登錄接口、管理員的參數(shù)配置接口以及數(shù)據(jù)層提供的數(shù)據(jù)查詢訪問接口(ClickHouse SQL),控制層接口設(shè)計(jì)清單如下表所示:
-
輿情首頁
-
輿情事件搜索頁
-
輿情事件總覽頁
-
輿情事件文章分析頁
-
輿情事件評論分析頁
-
輿情事件預(yù)警頁
-
管理員配置頁
-
其它
4. 運(yùn)行設(shè)計(jì)
4.1 子系統(tǒng)設(shè)計(jì)
4.1.1 分析子系統(tǒng)
主要由Flink編寫的代碼組成,每個(gè)代碼文件為一個(gè)Flink的任務(wù),通過構(gòu)建并提交Flink任務(wù)到Flink集群來進(jìn)行輿情數(shù)據(jù)(通過Kafka的Topic獲取)的處理分析,并將數(shù)據(jù)存入到ClickHouse與ElasticSearch。
4.1.2 后臺(tái)子系統(tǒng)
主要是通過SpringBoot、MyBatis、clickhouse-jdbc、spring-boot-starter-data-elasticsearch編寫的控制層、服務(wù)層、數(shù)據(jù)層代碼來提供前端的數(shù)據(jù)查詢與搜索服務(wù),后臺(tái)子系統(tǒng)通過查詢由分析子系統(tǒng)寫入到ClickHouse表的數(shù)據(jù)以及ElasticSearch的index的數(shù)據(jù)從而將數(shù)據(jù)返回給前端子系統(tǒng)。
4.1.3 前端子系統(tǒng)
通過Vue.js、Element-UI(基于 Vue 2.0 的桌面端組件庫)、echarts(基于JavaScript的數(shù)據(jù)可視化圖表庫)、echarts-wordcloud、DataV(Vue 大屏數(shù)據(jù)展示組件庫)等前端技術(shù)構(gòu)建起來的輿情事件展示的前端系統(tǒng)。前端子系統(tǒng)定時(shí)發(fā)送http查詢或搜索請求到后臺(tái)子系統(tǒng)并將后臺(tái)子系統(tǒng)返回的數(shù)據(jù)渲染到前端圖表。
4.1.4 爬蟲子系統(tǒng)
通過Python爬蟲技術(shù)爬取微博網(wǎng)頁、頭條網(wǎng)頁的輿情數(shù)據(jù)到Kafka的Topic,Topic的數(shù)據(jù)由分析子系統(tǒng)的Flink代碼獲取并處理。
4.2 數(shù)據(jù)存儲(chǔ)
4.2.1 數(shù)據(jù)存儲(chǔ)軟件
輿情分析系統(tǒng)的數(shù)據(jù)采用ClickHouse表與ElasticSearch存儲(chǔ),其中ElasticSearch存儲(chǔ)ClickHouse表的其中一個(gè),用于事件搜索。
4.2.2 數(shù)據(jù)存儲(chǔ)模型
系統(tǒng)的數(shù)據(jù)采用ClickHouse表存儲(chǔ)。
? event_article 表
? event_day 與 event_hour 表
? event_trend 表
? event_spread 表
? event_keyword 表
? event_comment_detail 表
? event_comment_stat 表
? event_comment_keyword 表
? user 表
? topn 表
? threshold 表
? reptile_param 表
ElasticSearch的數(shù)據(jù)與event_hour 表的數(shù)據(jù)保持一致。
? logs 表
5. 特性設(shè)計(jì)
5.1 性能
5.1.1 內(nèi)存占用
內(nèi)存占用約8G左右。
5.1.2 響應(yīng)速度
在網(wǎng)絡(luò)正常的情況下用戶點(diǎn)擊網(wǎng)頁后頁面的跳轉(zhuǎn)時(shí)間<=1s,頁面數(shù)據(jù)的加載時(shí)間<=5s;若頁面的數(shù)據(jù)量較大而導(dǎo)致的頁面加載時(shí)間長的話,頁面必須提供網(wǎng)頁加載提示。
5.2 可維護(hù)性與可擴(kuò)展性
系統(tǒng)基于大數(shù)據(jù)生態(tài)組件構(gòu)建,鑒于大數(shù)據(jù)組件的橫向擴(kuò)展能力,系統(tǒng)的可擴(kuò)展性有一定保證。系統(tǒng)代碼的開發(fā)需要滿足代碼開發(fā)規(guī)范,需要做好充分的注釋、注意代碼的可復(fù)用性、注意功能模塊之間解耦能力,使得系統(tǒng)能夠以較低成本進(jìn)行二次開發(fā)、進(jìn)行功能擴(kuò)展、進(jìn)行系統(tǒng)維護(hù)。
5.3 可交互性
系統(tǒng)的人機(jī)交互符合人的認(rèn)知心理學(xué)基本原理,并且需要降低系統(tǒng)工作人員的學(xué)習(xí)成本,必要的話還要提供系統(tǒng)使用的幫助文檔。
5.4 可靠性
在系統(tǒng)發(fā)生故障后,需要保證系統(tǒng)可以在較短時(shí)間內(nèi)重建其性能水平并恢復(fù)直接受影響數(shù)據(jù)的能力,并且使系統(tǒng)故障率保持在一定的水平下。
5.5 安全性
系統(tǒng)需要保證數(shù)據(jù)的安全,防止數(shù)據(jù)的泄漏等。
6. 部署
6.1 部署模式
采用Nginx 前后端分離方式部署前后端項(xiàng)目,采用Flink本地模式部署分析模塊(分析子系統(tǒng))代碼。
6.2 許可協(xié)議
許可協(xié)議方式和版權(quán)加密控制方式。
總結(jié)
以上是生活随笔為你收集整理的清博舆情系统_什么是舆情的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于调用 Angular 属性指令 at
- 下一篇: CAD中增强属性编辑器怎么使用?CAD图