999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop-Streaming+LNMP的網站流量分析系統的設計與實現

2018-02-09 17:54:48鄭騰霄
現代計算機 2018年1期
關鍵詞:頁面可視化分析

鄭騰霄

(四川大學計算機學院,成都 610000)

0 引言

隨著互聯網技術的飛速發展,企業的門戶網站已成為對外宣傳、提升服務水平的重要途徑,網絡也已成為政府機關為公眾提供信息的重要渠道,及時對網站流量和用戶訪問情況進行統計分析,通過數據來分析用戶的瀏覽習慣,可對優化網站運營架構、調整推廣策略起到積極的作用[1]。

網站流量統計是指在獲得網站訪問量等基本數據的情況下,對有關數據進行統計、分析,從而發現用戶訪問網站的規律[2]。網站流量統計又分為:PV(Page View),UV(Unique Visitor)。PV即頁面瀏覽量,用來衡量一個網站的網頁用戶訪問量,用戶每進行一次頁面刷新,就算作一次PV流量。UV即獨立訪客數,代表訪問某個站點的不同IP地址的人數。

通過對網站進行流量分析,可以刻畫出網站近期的運營情況,從而引導網站開發,運營人員作出相關決策來改進網站的服務,對網站維護,制定網站營銷策略提供有力的依據,對網站的運營架構進行調整,促進網站整體的改進。

1 站點流量分析相關的評估指標

站點流量分析有多重相關的評估指標,總體可以分為網站PV,UV維度,以及網站用戶維度,以下對這兩個維度分別進行介紹。

1.1 網站PV,UV維度

(1)網站每天(每周,每月)的PV。網站每天(每周,每月)所有頁面總共被訪問的次數。

(2)網站每天(每周,每月)的UV。網站每天(每周,每月)所有頁面被獨立的IP所訪問的次數。

(3)網站總PV,UV的環比情況。網站今天-昨天(本周-上周,本月-上月)的瀏覽量對比增長或者減少的百分比。

(4)網站每天瀏覽量的變化趨勢。根據網站每天的訪問量繪制折線圖,刻畫出網站每天流量的走勢。

(5)網站單獨頁面PV,UV分析。一個網站通常會有多個頁面,對各個頁面的瀏覽量進行分析可以更好地對網站進行分析。

1.2 網站用戶維度

(1)訪問者的來源[3]。分析訪問者的來源類型,來源類型分為搜索引擎、其他網站跳轉和直接輸入網址。

(2)訪問者使用的設備。根據網站日志得到訪問者所使用的設備(電腦、手機型號、瀏覽器、操作系統等)。

2 相關技術介紹

2.1 Nginx服務器

Nginx是一個雖然輕量級,但是性能比較高的Web服務器。有著并發能力強,占有內存較少等特點。

2.2 YAF框架

YAF框架是一中用C語言編寫的PHP框架。所有的框架類,不需要編譯,在PHP啟動的時候加載,并常駐內存。YAF框架還具有更短的內存周轉周期,相比于原生的PHP框架,YAF框架的執行速度更快,占用的內存更少[4]。

2.3 Hadoop Streaming框架

Hadoop Streaming是Hadoop平臺提供的一種編程工具,它允許用戶使用任何可執行文件或腳本作為Mapper和Reducer[5]。面對大小為數十G甚至上百G的日志文件,如果使用一個單機的程序去分析,時間復雜度會非常高,效率很低。本文通過使用Hadoop Streaming分布式計算框架,將單機的日志分析程序分布式并行運行,解決了單機分析比較大的日志文件速度極慢的問題。

2.4 LNMP架構

LNMP就是指Linux系統下Nginx+MySQL+PHP這樣的網站服務器架構[6]。

3 系統架構以及開發環境介紹

3.1 系統架構設計

系統采用標準B/S三層結構開發,三層結構分別為:用戶界面層(UI)、業務邏輯層和數據層。

其中,數據層主要負責:數據拉取,分布式數據計算,數據入庫的操作。邏輯層主要負責系統頁面的路由,以及數據的獲取以及展現,可視化之前的預處理等工作。UI層負責數據的可視化工作,繪制出數據的各種圖形,如圖1所示,下面詳細進行分析。

圖1 數據傳輸層邏輯圖

(1)數據層

原始的日志數據存放于網站服務器所在的線上機上,通過Linux,crontab命令編寫例行化腳本每天定時拉取到HDFS上面,然后編寫相應的腳本,通過Ha?doop Streaming計算框架對日志進行計算,結果存放于集群。然后同樣通過Linux下的Crontab命令,編寫Python腳本定時從線上集群下載文件到服務器。然后編寫Python腳本,首先使用open函數逐行讀取從集群下載的臨時文件,通過Python的ConfigParser類讀取配置文件獲得數據庫地址以及數據表名,并通過MySQLdb類的connect方法鏈接數據庫,最后通過exe?cutemany(sql,args)方法來將每行數據插入數據表,其中sql為插入的sql語句,valuse為Python的list數組,對應數據表的每列的數據。

(2)邏輯層

用戶訪問系統的主頁時,Nginx服務器會根據主頁的url路由到對應的action,然后加載smart模塊的對應的tpl文件,然后觸發嵌入tpl文件中的js文件,然后組裝傳入的參數,調用AJAX請求,然后Nginx服務器會再次根據AJAX路由到對應的action,從數據庫中獲得相應的數據返回給js。js中獲得返回的數據之后使用echart繪圖框架繪制相應的圖形,根據設定的id,展示到相應的tpl文件中的對應的div控件上面。

(3)UI層

UI層主要負責頁面的展示。

3.2 開發環境

本系統采用Linux+Nginx+PHP+MySQL這樣的網站服務器架構。首先,需要在Linux系統下安裝好MySQL,本系統采用5.1.45版本。然后安裝Nginx服務器,將框架的入口文件配置在Nginx服務器上。然后安裝PH以及所用到的AP框架。系統的前段頁面使用了smarty模板的技術,所以還要安裝以及配置smarty模塊。

4 系統詳細設計

4.1 網站流量數據采集

日志的初始地址位于線上機,為了使用Hadoop對日志進行分析,需要將其定時(每天)拉取到HDFS(Ha?doop分布式文件系統),本文使用Linux系統下的crontab命令來定時運行shell腳本的方法來實現。

Crontab命令的配置如下:

腳本的內容如下:

4.2 日志分析腳本

Hadoop-Streaming是Hadoop平臺提供的一個編程工具。使用它可以讓任何語言的程序在Hadoop Map Reduce中運行。

以上為分析日志的Hadoop-Streaming程序,可以指定maper與reducer的數量,輸入與輸出的集群目錄,以及用于計算的mapper與reducer程序。

Mapper腳本的主要代碼如下:

通過以上腳本,可以統計出每天網站的PV總量,其他的計算指標,比如網站總PV,UV等可以通過類似的方法得出,再次不一一贅述。

4.3 數據入庫腳本

在使用Hadoop-Streaming對日志分析完畢后,最后的輸出存放在Hadoop分布式文件存儲系統,HDFS上面,為了將數據在Web頁面可視化展示,需要將數據存入數據庫中。本文的設計思路如下:首先使用ha?doop命令將HDFS上的文件下載到本地:

數據表設計如下:

表1 可視化系統,后端數據庫設計

其中,id是此數據表的自增主鍵,唯一標識了某一天的PV,或者UV訪問量;type字段標識了表中每一條數據對應value字段所代表類型,type=1時代表當天的pv,type=2代表當天的u;value字段標識了每種數據的指標量;time代表本條數據所對應的日期。

4.4 系統界面展示模塊

系統界面展示模塊采用了LNMP的架構模型。LNMP就是指Linux系統下Nginx+MySQL+PHP這樣的網站服務器架構[7]。這四種軟件均為免費開源軟件,組合到一起,成為一個免費、高效、擴展性強的網站服務系統。其中,后端使用的框架為YAF框架,前端使用到的技術有:smarty模板技術,ajax技術,JavaScript以及echarts數據可視化框架。Smarty是一個使用PHP寫出來的模板引擎,可以將HTML代碼與PHP代碼實現邏輯分離。AJAX可以通過與后端服務器的少量的數據交換來實現網頁的局部更新操作。JavaScrip是一種腳本語言,現已被廣泛的應用于Web開發中,可以為網頁添加各種動態的功能,本文更是通過echarts數據可視化框架來繪制圖表讓頁面更加美觀。Echarts是一種可視化的框架,通過提供方便豐富的可視化圖表,極大縮短了用戶與數據的距離。

前端展示效果如下:

圖2 可視化系統前端展示效果

5 結語

基于Hadoop-Streaming+LNMP的網站流量分析系統,使用Hadoop-Streaming這個Map-Reduce框架在網站運營過程中,在服務器上所產生的日志進行分析,得出一些網站運營情況的一些數據以及結論,然后通過LNMP架構,echarts數據可視化工具將這些數據展現出來,刻畫出網站運營過程當中所出現的問題,為網站運營人員作出相應的運營決策提供了有效的參考以及依據。彌補了傳統的流量分析方法在大流量網站數據分析方面的缺陷。

[1]杜曉春.基于Web的網站數據分析軟件Wysistat的設計與實現[D].西安:西安電子科技大學,2010.

[2]焦榮梅.淺談網站流量統計分析法[J].科技信息,2007(16):264.

[3]馮英健.如何獲得網站流量統計數據[EB/OL].(2005-03-02)[2016-10-29].http://www.marketingman.net/FAQ/2005.htm.

[4]Inacio C M,Trammell B.YAF:yet Another Flowmeter[C].Proceedings of the 24th International Conference on Large installation System Administration.USENIX Association,2010:1-16.

[5]7.Zeng Z.Moodle 2 Distributed Computing Architecture Based on LNMP[J].Computer Era,2013.

[6]王風玲.基于PHP+MYSQL的新聞發布系統的研究與實現.計算機應用與軟件,2012,36(24):42-44.

[7]Zeng Z.Moodle 2 Distributed Computing Architecture Based on LNMP[J].Computer Era,2013.

猜你喜歡
頁面可視化分析
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
隱蔽失效適航要求符合性驗證分析
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 91久久精品日日躁夜夜躁欧美| 国产青青草视频| 国产精品999在线| 午夜欧美理论2019理论| 99视频精品全国免费品| 在线观看国产精美视频| 色国产视频| 亚洲综合九九| 国产亚洲精品资源在线26u| 国模私拍一区二区| 国产精品主播| 青青草国产在线视频| 亚洲精品成人7777在线观看| 日韩免费毛片视频| 欧美啪啪一区| 一级黄色片网| 99在线观看精品视频| 亚洲精品波多野结衣| 成人久久精品一区二区三区| 干中文字幕| 女同国产精品一区二区| 97无码免费人妻超级碰碰碰| 成人福利在线看| 丁香六月激情综合| 亚洲高清日韩heyzo| 国产成人亚洲综合a∨婷婷| 日韩在线欧美在线| 免费人成又黄又爽的视频网站| 青草视频在线观看国产| 99爱视频精品免视看| 国产人成网线在线播放va| 国产精品白浆无码流出在线看| 天天激情综合| 伊人久久久久久久久久| 成人午夜福利视频| 天堂成人在线| 蜜桃视频一区二区| 免费不卡视频| 国产乱人伦偷精品视频AAA| 宅男噜噜噜66国产在线观看| 国产欧美日韩在线一区| 99无码中文字幕视频| 超清无码熟妇人妻AV在线绿巨人| m男亚洲一区中文字幕| 久久一色本道亚洲| 国产成人凹凸视频在线| 色综合久久久久8天国| 亚洲男人的天堂在线| 在线网站18禁| 97影院午夜在线观看视频| 欧美不卡二区| 国产经典三级在线| av在线5g无码天天| 亚洲天堂高清| 亚洲色偷偷偷鲁综合| 日韩精品一区二区三区大桥未久| 国产日韩精品欧美一区喷| 国产精品伦视频观看免费| 国产综合精品一区二区| 精品人妻无码中字系列| 免费观看三级毛片| 91探花国产综合在线精品| 久久网欧美| 国产原创演绎剧情有字幕的| 毛片最新网址| 99久久99这里只有免费的精品| 久久精品丝袜高跟鞋| 欧洲高清无码在线| 免费看久久精品99| 亚洲最大看欧美片网站地址| 国产综合另类小说色区色噜噜| 成人毛片免费在线观看| 国产一级毛片高清完整视频版| 高清免费毛片| 久久综合色天堂av| 国产精品人人做人人爽人人添| 亚洲成综合人影院在院播放| 亚洲品质国产精品无码| 一级毛片中文字幕| 不卡的在线视频免费观看| 日本午夜三级| 欧美亚洲综合免费精品高清在线观看|