探碼Web大數據采集系統
探碼科技基于云計算研發的探碼Web大數據采集系統——利用眾多的云計算服務器協同工 作,能快速采集大量數據,避免了一臺計算機硬件資源的瓶頸,另外隨著行業之間對數據采集的要求越來越高,傳統post采集不能解決的技術問題也逐步被解決,以探碼Kapow/Dyson采集器為代表的新一代智能采集器,能模擬人的思維,模擬人的操作,從而徹底解決了ajax等技術難題。
網頁一般是設計給人瀏覽的,所以探碼Web大數據采集系統模擬人的智能采集器的工作是非常順利的,不論后臺技術是什么,當數據始終顯示在人的面前的時候,智能采集器就能開始提取。最終把計算機的能力發揮到極致,使得計算機可以替代人完成網頁數據采集的工作。并且利用大數據云采集技術,把計算機的計算能力也發揮到了極致。目前這一采集技術得到了越來越廣泛的應用。各行各業只要是從網絡上獲取一些數據或者信息,都可以使用此類技術。
探碼Web大數據采集系統分為8個子系統,分別為大數據集群系統、數據采集系統、采集數據源調研、數據爬蟲系統、數據清洗系統、數據合并系統、任務調度系統、搜索引擎系統。
大數據集群系統
本系統可以儲存TB級采集到的數據,實現數據持久化。數據存儲采用MongoDB集群方案,此方案在集群上有兩大特點:
分片:分片即MongoDB在服務器之間劃分數據的一項技術。MongoDB能夠自動在分片之間平衡數據,并且能夠在不需要數據庫離線的情況下增加和刪除分片。
復制:為了保證高可用性,MongoDB維護了許多數據的冗余備份,復制被嵌入于MongoDB,并且在不需要專業網絡的情況下就可以在廣域網內工作。
數據采集系統
本系統配置Kapow、PhantomJS、Mechanize采集環境,運行于Docker容器中,由Rancher編排容器。
采集數據源調研
本系統是在“數據爬蟲系統”開始之前,必不可少的一個環節,經過調研,得出需要采集頁面、過濾的關鍵字、需要提取的內容等。
數據爬蟲系統
爬蟲程序都是獨立的個體,結合需要的數據采集系統服務器,通過Rancher編排,自動在DigitalOcean中啟動爬蟲程序,根據輸入參數,抓取到指定的數據,然后通過API發送回我們的大數據集群系統。
數據清洗系統
本系統通過Ruby on Rails + Vue技術框架,實現Web前端展示,展示出爬蟲程序抓取到的數據,方便我們進行清洗。數據清洗系統主要由兩部分組成:
手工清洗:通過Web前端展示出抓取到的數據,對數據進行直觀分析,得出哪些條件的數據需要刪除,哪些條件的數據需要修改。
自動清洗:經過手工清洗之后,可能會得出一些清洗模式,這種模式適用于所有數據。我們把這種模式記錄在程序里,將來的數據只要匹配這種模式,數據將來會被自動清洗,不再需要人工清洗。
數據合并系統
本系統通過Ruby on Rails + Vue技術框架,實現Web前端展示,對數據進行合并。數據被清洗之后,數據合并系統會自動匹配大數據集群中的數據,通過相識度評分,關聯可能相識的數據。通過Web前端展示匹配結果,可以人工或自動合并數據。
任務調度系統
本系統通過Ruby on Rails + Vue技術框架,Sidekiq隊列調度,Redis調度數據持久化,實現Web前端任務調度系統。通過任務調度系統,可以動態開啟、關閉,定時啟動爬蟲程序。
搜索引擎系統
本系統通過ElasticSearch集群,實現搜索引擎服務。搜索引擎是PC端檢索系統能夠從大數據集群中、快速地檢索數據的必要工具,通過ElasticSearch集群,運行3個以上的Master角色保證群集系統的穩定性,2個以上Client角色保證查詢的容錯性,2個以上的Data角色保證查詢、寫入的時效性。通過負載均衡連接Client角色,分散數據查詢壓力。