1. 程式人生 > >《Toward an SDN-Enabled Big Data Platform for Social TV Analysis》--2015--Han Hu

《Toward an SDN-Enabled Big Data Platform for Social TV Analysis》--2015--Han Hu

man 開關 衍生 背景 虛擬機 授權 關系 獲取 實體

《面向應用於社會TV分析的應用了SDN的大數據平臺》

Abstract

social TV analytics 是什麽,就是說很多TV觀眾在微博、微信和推特等這些地方分享他們的觀感時,然後有人就對這個進行挖掘分析,這就被稱作social TV analytics。不僅如此,這些人還將大數據研究運用進TV中。想要發展一個研究social TV的平臺,但是面臨很多挑戰,於是作者就提出在SDN的support下來搭建一個cloud-centric 平臺,來提供按需虛擬機和可重構網絡。這套系統的架構主要有三個關鍵點:一是很魯棒的數據采集(爬行)系統;二是運用了SDN的大數據處理系統;三是社交媒體分析系統。
這個采集系統就是采集感興趣的電視節目信息;處理系統運用了SDN和分布式計算,在不同的處理單元中傳輸數據,說白了就是加快了數據的處理速率;分析系統主要抓取公眾關於tv節目的信息。


OSNs 類似微博,推特之類的
envision 想象、預見
extract 提取、拔出、取得
in a real-time manner 以實時的方式
tremendous 巨大的
on-demand 按需
crawler 爬行者
a distributed architecture 分布式體系結構
circumvent 繞過、避免
Hadoop 分布式計算
exploit 開采、開拓
extract 取得
perception 觀念、想法之類的
microblog 微博
proof-of-concept demo 用於觀念證明的演示
over prep在…的上面
Feature verification 特征驗證

Content

OSN的出現方便人們的分享,其中就有TV的信息,故衍生出對此的分析。深挖這些與TV節目的社交媒體信息可以帶來一個新的商業模式,例如我們現在所熟知的目標客戶廣告的精準投放。


interact 相互作用 interactive 相互作用的
various entities 各種實體
tweet 嗚嗚叫

可是呢,對於采集分析來說,微博有很多的限制,比如說140字啦,縮略語的使用啦(常見於推特),這對於系統去收集、存儲、分析這麽多的信息來說就很困難。首先微博上某一時刻就出現大量信息,實時采集TV節目的信息很困難,尤其是微博還給你限制的情況下。其次,微博可以圖文表述,還可以插入音樂之類的,這對於分析來說也是一個挑戰。對於大數據平臺來說,要將這些信息分層次的分析,而且關鍵還是要實時分析。


abbreviation 縮寫
posit 假定,假想
elicit 引出
adequate 足夠的
the access constraints 訪問約束
format 版式
facilitate 促進,助長

信息收集方法取決於由社交媒體平臺所提供的API而且受其訪問約束控制。通常,數據收集方法有三類:一類是基於流的,即按照已設置好的特定的關鍵詞進行檢索;一類是基於用戶的,顧名思義即查看特定用戶的;一類是基於搜索的,查詢給定的關鍵詞。總的來說就是數據的收集方法取決於關鍵詞/用戶的完備性。


paramount 最高的
epidemic 流行病
track 跟蹤
query 質疑
representativeness 典型性、代表性

為了高效處理,於是就引入了SDN和分布式計算。分布式計算的核心部分就是MapReduce【5】計算框架,包含兩個部分:Map和Reduce,為應用提供一個通用的範例,尤其在網絡流量控制上有很大的性能優化。近年來,SDN的出現提供了一個靈活且動態的網絡框架,其主要思想是將數據平面和控制平面分離。於是就有人將SDN和Hadoop等結合來實現智能數據流路由,詳看【[7]】。


MapReduce 分布式計算系統

站在巨人的肩膀上,本文就想建一個針對social TV分析的統一大數據平臺。作者設計並implement了一個運用SDN的雲中心平臺,能夠將虛擬化技術和OpenFlow結合。針對social Tv的解決方案,主要的三點就是上面摘要中所提到的:the data crawler system, the sdn-enabled big data process system, the social media analytics system。一個用於數據爬取,一個用於數據的加速傳輸,還有一個用於挖掘與社交媒體有關的東西。本文的獨特貢獻就是:
1. 所提的分布式大局爬取平臺由兩個核心部分組成:一個程序描述符和一個分布式爬取器。程序描述符用於描述電視節目,分布式爬取器可以產生爬取和處理任務。
2. 基於分布式計算的SDN架構可以加速分析速率。


leverage 利用
customize 定制,定做
segmentation 分割,分段
collaborate 合作
exploit 開采,利用
representativeness 典型性,代表性
shuffle 混洗
intermediate 中間的
clusters 群,組

這個原型系統是在南陽技術學院初步實施的。


prototype system 原型系統
demonstrate 證明
preliminary 初步的

A Generic Big Data Platform for Social TV Analytics

有一個通用架構用於social TV analytics,如圖1所示:
技術分享圖片

主要由四個層次構成:基礎層,分布式數據爬取層,數據存儲和處理層,數據分析層。下面來詳細地描述一下各個層到底幹啥用:


illustrated 有插畫的東東
anatomy 分解,分析
elaborate 詳盡說明

Infrastructure:通過雲計算範式,可以將未處理的信息和資源抽象化為資源池,並以虛擬機的形式提供出去。此外,運用的SDN的交換機可以被用來construct數據中心網絡。系統管理員就可以查看虛擬機和動態網絡的使用情況,並可以動態進行調整。就是說,這樣可以優化資源配置並防止網絡擁塞。
Distributed data crawler:分布式數據爬取系統是部署在a collection of nodes distributed in several ip segmentations。選擇一個節點作為調度程序,將爬行任務調度到其他爬蟲節點。每個爬行節點都可以采用多線程來爬取數據。目標呢就是爬取更多的數據。
Data storage and processing:這一層主要用來高效管理和處理社交媒體流。Hadoop和Storm和兩個大數據分析平臺,其中Hadoop整合了分布式文件管理系統(HDFS)、NoSQL數據庫(Hbase)、批式編程模型(MapReduce)。作為補充,Strom在實時分析中充當流計算的角色。
Data analytics:這一層可以提供不同level的數據分析結果,從統計到內容的分析。從用處上看很大,可以用於預測、分析。比如一個用戶的背景、喜歡看啥、在講啥東西等等。


a resource pool 資源庫
construct 構建
utilization 利用
bandwidth reservation 帶寬預留
congestion 擁擠,堵塞
simultaneously 同時地
segmentation 分節
scheduler 調度程序
dispatch 調度,派遣
batch-style 批式
supplement 補充
statistics 統計,統計學
perception 直覺,覺察

System Prototype

本節主要開始介紹social TV analytics的三個關鍵組成,分別是分布式大叔爬取部分,運用sdn的數據處理部分,與社交媒體分析有關的TV程序部分。


generic 一般的

Distributed Data Crawler

爬取是後續階段的基礎,因為與TV相關的信息很多,所以必須爬取一些典型的信息,而且微博會對信息的獲取做一些限制,所以必須考慮相應的對策。
Program descriptor:我們設計四種類型的items來描述一個TV節目:fixed keywords, dynamic keywords, known accouts, and dynamic key users。首先先選擇一些固定關鍵詞,然後再次基礎之上再選出動態關鍵詞。特定用戶也是先手動挑選出來的,二動態的關鍵用戶就是哪些特定用戶中發表相關信息很多的那一撮。但是可能有時候特定用戶並未發表相關的TV信息,可能他發了旅遊照片而不是TV節目信息,這就需要數據分析環節來處理了。


trivial 無價值的
representative 有代表性的
coverage 範圍
authorize 授權,委托
violate 違反,妨礙
tackle 處理
elaborate 詳細說明,詳細制定

Distributed crawler:
根據給出的關鍵詞和特定用戶,我們就可以進行查詢和收集了。爬取程序采用的是分布式的行為,這樣可以避免OSN的限制,比如可以設置在一個較短的時間內進行查詢。另外每個爬取節點都是采用多線程進行發送請求,為了避免OSN的限制,每個節點可以和一個應用的key進行動態綁定。線程和應用的key取決於訪問頻率和數量的限制。


correspond to 對應於
distinct 有區別的,不同的
exceed 超過
threshold 門檻,閾值
a time slot 時隙
region 地域,領域
dispatch 派遣,處理
empirically 以經驗為主的

圖二展示了分布式數據爬取器的架構:
技術分享圖片

每個TV節目都被一個節目描述符所描述,由4個可動態擴展的items組成。對於每個item,系統首先發送一個請求來得知在這一段時間內有多少的相關微博信息,然後考慮是否要將查詢分成多個子查詢。然後每個子查詢就被發送到Task queue中去。考慮到訪問約束,我們建立一個Recourse pool來保證受限的相關資源,例如應用keys和ip地址。用Zookeeper來監視所有機器的運行狀態。根據系統狀態,Scheduler以負載均衡的方式將任務分派給執行節點(the execution nodes)。已經實現了有兩種的執行節點,the API-agent 和 the html parser。the API-agent是通過提供的api來獲取信息的,而 the html parser則是直接從網頁上爬取下來的,可以說各有各的優點吧。一旦Zookeeper檢測到某一爬取節點down掉了,其任務就會被轉移至其他活躍的節點。最後,收集到的所有tweets都由SWM分類器進行去噪,然後存儲在我們的存儲系統中。


depict 描繪
split 分裂,分開
emit 發出,放出
execution 執行
quota 配額
notify 通知,告知
classifier 分類器

SDN-Enabled Data Processing Platform

一旦采集到足夠的數據,我們就將其混合起來並利用Hadoop進行分析,但這種方法有延遲。一種改進的方法就是對數據進行局部(locally)分析,聚集產生的結果到一起形成最後的結果。
如圖三所示,作者采用應用了sdn的分布式框架,與帶有分布式任務調度程序的sdn控制器相結合來解決這個問題。框架由local層和global層組成。local層包括位於不同IP段的數據中心的集合。所有的本地控制器都和全局控制器相連。意思就是說有很多個本地的,還有一個是全局的。


exploit 開采,利用
incur 遭受,導致
sustain 維持
congestion 擁擠,堵車
tackle 著手處理

在這個平臺,我們需要將中間數據傳送到數據中心,然後生成最後的結果。時間的花費分為兩個部分,其中一部分就是傳送的部分,所以數據中心的選擇對系統的表現也很重要。目標是找到一個可以使傳輸時間和處理時間最小的那個節點。


execution 實施,實行
estimation 估計,估價
calculate 計算,估計

作者們用了很多的度量指標來展示公眾的興趣,比如說統計的地理指標,用戶id,微博的發表次數,分享時間等等,這些有助於目標廣告的投放。


metric 公制的
propagation 傳播,傳輸
extract 提取,萃取

Dynamic keyword generation:關鍵字逐漸在一段時間內動態生成。


construct 構建,構想
predefined 預定義
interval 間隔
vocabulary 詞匯表

Key user generation:根據用戶所發的相關微博數量以及和粉絲的互動程度,對用戶進行排列,得分最高者將榮幸成為key users。


employ 雇傭,使用
cluster 聚集,集中
categorize 把…歸類
incorporate 使混合,使具體化

Evaluation

在這個章節,作者將要在私有數據中心建立一個實驗,並驗證其有效性,然後展示效果。


preliminary 初步的

System Setup
介紹系統的配置。該數據中心設置在NTU中,由10個racks組成,每個rack由30個HP和2個gigabit Cisco 交換機組成。


modular 組合式的,模塊化的
utilize 利用,使用
rack 支架

Performance Evaluation for SDN-Enabled Big Data Platform
采用3個racks來構建一個2層架構,如圖4a所示:
技術分享圖片

服務器在3個rack上分別設置為10個、8個和5個,在rack裏的所有服務器通過rack頂部開關和SDN交換機相連。作者比較了傳統的和SDN的解決辦法。如圖4b所示:
技術分享圖片


respectively 各自地
execution 實行

Social Perception of TV Programs
如圖5所示,作者提供了幾個初步的結果。以“龍門鏢局”為例,5a展示了數據集的地理分布;5b展示了幾個指標的變化情況;5c展示了觀眾登錄微博的情況分布;5d展示了眾多信息中的關鍵詞。
技術分享圖片

Conclusion

在這篇文章中,作者提出了一個以雲為中心的社交電視分析的大數據平臺,旨在挖掘TV節目的一些社交觀點。


affinity 密切關系

《Toward an SDN-Enabled Big Data Platform for Social TV Analysis》--2015--Han Hu