亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Hadoop-Streaming+LNMP的網(wǎng)站流量分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2018-02-09 17:54:48鄭騰霄
        現(xiàn)代計(jì)算機(jī) 2018年1期
        關(guān)鍵詞:頁(yè)面可視化分析

        鄭騰霄

        (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610000)

        0 引言

        隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,企業(yè)的門(mén)戶網(wǎng)站已成為對(duì)外宣傳、提升服務(wù)水平的重要途徑,網(wǎng)絡(luò)也已成為政府機(jī)關(guān)為公眾提供信息的重要渠道,及時(shí)對(duì)網(wǎng)站流量和用戶訪問(wèn)情況進(jìn)行統(tǒng)計(jì)分析,通過(guò)數(shù)據(jù)來(lái)分析用戶的瀏覽習(xí)慣,可對(duì)優(yōu)化網(wǎng)站運(yùn)營(yíng)架構(gòu)、調(diào)整推廣策略起到積極的作用[1]。

        網(wǎng)站流量統(tǒng)計(jì)是指在獲得網(wǎng)站訪問(wèn)量等基本數(shù)據(jù)的情況下,對(duì)有關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析,從而發(fā)現(xiàn)用戶訪問(wèn)網(wǎng)站的規(guī)律[2]。網(wǎng)站流量統(tǒng)計(jì)又分為:PV(Page View),UV(Unique Visitor)。PV即頁(yè)面瀏覽量,用來(lái)衡量一個(gè)網(wǎng)站的網(wǎng)頁(yè)用戶訪問(wèn)量,用戶每進(jìn)行一次頁(yè)面刷新,就算作一次PV流量。UV即獨(dú)立訪客數(shù),代表訪問(wèn)某個(gè)站點(diǎn)的不同IP地址的人數(shù)。

        通過(guò)對(duì)網(wǎng)站進(jìn)行流量分析,可以刻畫(huà)出網(wǎng)站近期的運(yùn)營(yíng)情況,從而引導(dǎo)網(wǎng)站開(kāi)發(fā),運(yùn)營(yíng)人員作出相關(guān)決策來(lái)改進(jìn)網(wǎng)站的服務(wù),對(duì)網(wǎng)站維護(hù),制定網(wǎng)站營(yíng)銷策略提供有力的依據(jù),對(duì)網(wǎng)站的運(yùn)營(yíng)架構(gòu)進(jìn)行調(diào)整,促進(jìn)網(wǎng)站整體的改進(jìn)。

        1 站點(diǎn)流量分析相關(guān)的評(píng)估指標(biāo)

        站點(diǎn)流量分析有多重相關(guān)的評(píng)估指標(biāo),總體可以分為網(wǎng)站PV,UV維度,以及網(wǎng)站用戶維度,以下對(duì)這兩個(gè)維度分別進(jìn)行介紹。

        1.1 網(wǎng)站PV,UV維度

        (1)網(wǎng)站每天(每周,每月)的PV。網(wǎng)站每天(每周,每月)所有頁(yè)面總共被訪問(wèn)的次數(shù)。

        (2)網(wǎng)站每天(每周,每月)的UV。網(wǎng)站每天(每周,每月)所有頁(yè)面被獨(dú)立的IP所訪問(wèn)的次數(shù)。

        (3)網(wǎng)站總PV,UV的環(huán)比情況。網(wǎng)站今天-昨天(本周-上周,本月-上月)的瀏覽量對(duì)比增長(zhǎng)或者減少的百分比。

        (4)網(wǎng)站每天瀏覽量的變化趨勢(shì)。根據(jù)網(wǎng)站每天的訪問(wèn)量繪制折線圖,刻畫(huà)出網(wǎng)站每天流量的走勢(shì)。

        (5)網(wǎng)站單獨(dú)頁(yè)面PV,UV分析。一個(gè)網(wǎng)站通常會(huì)有多個(gè)頁(yè)面,對(duì)各個(gè)頁(yè)面的瀏覽量進(jìn)行分析可以更好地對(duì)網(wǎng)站進(jìn)行分析。

        1.2 網(wǎng)站用戶維度

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

        (2)訪問(wèn)者使用的設(shè)備。根據(jù)網(wǎng)站日志得到訪問(wèn)者所使用的設(shè)備(電腦、手機(jī)型號(hào)、瀏覽器、操作系統(tǒng)等)。

        2 相關(guān)技術(shù)介紹

        2.1 Nginx服務(wù)器

        Nginx是一個(gè)雖然輕量級(jí),但是性能比較高的Web服務(wù)器。有著并發(fā)能力強(qiáng),占有內(nèi)存較少等特點(diǎn)。

        2.2 YAF框架

        YAF框架是一中用C語(yǔ)言編寫(xiě)的PHP框架。所有的框架類,不需要編譯,在PHP啟動(dòng)的時(shí)候加載,并常駐內(nèi)存。YAF框架還具有更短的內(nèi)存周轉(zhuǎn)周期,相比于原生的PHP框架,YAF框架的執(zhí)行速度更快,占用的內(nèi)存更少[4]。

        2.3 Hadoop Streaming框架

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

        2.4 LNMP架構(gòu)

        LNMP就是指Linux系統(tǒng)下Nginx+MySQL+PHP這樣的網(wǎng)站服務(wù)器架構(gòu)[6]。

        3 系統(tǒng)架構(gòu)以及開(kāi)發(fā)環(huán)境介紹

        3.1 系統(tǒng)架構(gòu)設(shè)計(jì)

        系統(tǒng)采用標(biāo)準(zhǔn)B/S三層結(jié)構(gòu)開(kāi)發(fā),三層結(jié)構(gòu)分別為:用戶界面層(UI)、業(yè)務(wù)邏輯層和數(shù)據(jù)層。

        其中,數(shù)據(jù)層主要負(fù)責(zé):數(shù)據(jù)拉取,分布式數(shù)據(jù)計(jì)算,數(shù)據(jù)入庫(kù)的操作。邏輯層主要負(fù)責(zé)系統(tǒng)頁(yè)面的路由,以及數(shù)據(jù)的獲取以及展現(xiàn),可視化之前的預(yù)處理等工作。UI層負(fù)責(zé)數(shù)據(jù)的可視化工作,繪制出數(shù)據(jù)的各種圖形,如圖1所示,下面詳細(xì)進(jìn)行分析。

        圖1 數(shù)據(jù)傳輸層邏輯圖

        (1)數(shù)據(jù)層

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

        (2)邏輯層

        用戶訪問(wèn)系統(tǒng)的主頁(yè)時(shí),Nginx服務(wù)器會(huì)根據(jù)主頁(yè)的url路由到對(duì)應(yīng)的action,然后加載smart模塊的對(duì)應(yīng)的tpl文件,然后觸發(fā)嵌入tpl文件中的js文件,然后組裝傳入的參數(shù),調(diào)用AJAX請(qǐng)求,然后Nginx服務(wù)器會(huì)再次根據(jù)AJAX路由到對(duì)應(yīng)的action,從數(shù)據(jù)庫(kù)中獲得相應(yīng)的數(shù)據(jù)返回給js。js中獲得返回的數(shù)據(jù)之后使用echart繪圖框架繪制相應(yīng)的圖形,根據(jù)設(shè)定的id,展示到相應(yīng)的tpl文件中的對(duì)應(yīng)的div控件上面。

        (3)UI層

        UI層主要負(fù)責(zé)頁(yè)面的展示。

        3.2 開(kāi)發(fā)環(huán)境

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

        4 系統(tǒng)詳細(xì)設(shè)計(jì)

        4.1 網(wǎng)站流量數(shù)據(jù)采集

        日志的初始地址位于線上機(jī),為了使用Hadoop對(duì)日志進(jìn)行分析,需要將其定時(shí)(每天)拉取到HDFS(Ha?doop分布式文件系統(tǒng)),本文使用Linux系統(tǒng)下的crontab命令來(lái)定時(shí)運(yùn)行shell腳本的方法來(lái)實(shí)現(xiàn)。

        Crontab命令的配置如下:

        腳本的內(nèi)容如下:

        4.2 日志分析腳本

        Hadoop-Streaming是Hadoop平臺(tái)提供的一個(gè)編程工具。使用它可以讓任何語(yǔ)言的程序在Hadoop Map Reduce中運(yùn)行。

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

        Mapper腳本的主要代碼如下:

        通過(guò)以上腳本,可以統(tǒng)計(jì)出每天網(wǎng)站的PV總量,其他的計(jì)算指標(biāo),比如網(wǎng)站總PV,UV等可以通過(guò)類似的方法得出,再次不一一贅述。

        4.3 數(shù)據(jù)入庫(kù)腳本

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

        數(shù)據(jù)表設(shè)計(jì)如下:

        表1 可視化系統(tǒng),后端數(shù)據(jù)庫(kù)設(shè)計(jì)

        其中,id是此數(shù)據(jù)表的自增主鍵,唯一標(biāo)識(shí)了某一天的PV,或者UV訪問(wèn)量;type字段標(biāo)識(shí)了表中每一條數(shù)據(jù)對(duì)應(yīng)value字段所代表類型,type=1時(shí)代表當(dāng)天的pv,type=2代表當(dāng)天的u;value字段標(biāo)識(shí)了每種數(shù)據(jù)的指標(biāo)量;time代表本條數(shù)據(jù)所對(duì)應(yīng)的日期。

        4.4 系統(tǒng)界面展示模塊

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

        前端展示效果如下:

        圖2 可視化系統(tǒng)前端展示效果

        5 結(jié)語(yǔ)

        基于Hadoop-Streaming+LNMP的網(wǎng)站流量分析系統(tǒng),使用Hadoop-Streaming這個(gè)Map-Reduce框架在網(wǎng)站運(yùn)營(yíng)過(guò)程中,在服務(wù)器上所產(chǎn)生的日志進(jìn)行分析,得出一些網(wǎng)站運(yùn)營(yíng)情況的一些數(shù)據(jù)以及結(jié)論,然后通過(guò)LNMP架構(gòu),echarts數(shù)據(jù)可視化工具將這些數(shù)據(jù)展現(xiàn)出來(lái),刻畫(huà)出網(wǎng)站運(yùn)營(yíng)過(guò)程當(dāng)中所出現(xiàn)的問(wèn)題,為網(wǎng)站運(yùn)營(yíng)人員作出相應(yīng)的運(yùn)營(yíng)決策提供了有效的參考以及依據(jù)。彌補(bǔ)了傳統(tǒng)的流量分析方法在大流量網(wǎng)站數(shù)據(jù)分析方面的缺陷。

        [1]杜曉春.基于Web的網(wǎng)站數(shù)據(jù)分析軟件Wysistat的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2010.

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

        [3]馮英健.如何獲得網(wǎng)站流量統(tǒng)計(jì)數(shù)據(jù)[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]王風(fēng)玲.基于PHP+MYSQL的新聞發(fā)布系統(tǒng)的研究與實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用與軟件,2012,36(24):42-44.

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

        猜你喜歡
        頁(yè)面可視化分析
        大狗熊在睡覺(jué)
        刷新生活的頁(yè)面
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        隱蔽失效適航要求符合性驗(yàn)證分析
        基于CGAL和OpenGL的海底地形三維可視化
        “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        同一Word文檔 縱橫頁(yè)面并存
        少妇内射高潮福利炮| 日韩精品在线视频一二三| 丰满熟妇人妻av无码区 | 亚洲av毛片在线免费观看| 久久精品国产亚洲av无码娇色 | 国产精品18久久久白浆| 午夜福利试看120秒体验区| 日本免费不卡一区| 精品女同一区二区三区不卡| 嫩呦国产一区二区三区av| 国产精品成人3p一区二区三区| 超薄肉色丝袜一区二区| 五月天婷婷一区二区三区久久| 少妇人妻精品久久888| 国产特黄级aaaaa片免| 天天影视色香欲综合久久| 免费观看视频在线播放| 亚洲无精品一区二区在线观看| 蜜桃日本免费看mv免费版| 亚洲综合网在线观看首页| 日本中文字幕一区二区在线观看 | 亚洲国产av剧一区二区三区| 亚洲中文字幕久久在线| 午夜视频在线在免费| 国产av成人精品播放| 久久夜色精品国产三级| 亚洲中字幕日产av片在线| 熟妇人妻无码中文字幕| 精品久久久久久99人妻| 日本精品一区二区三区在线观看| 亚洲av无码成人网站在线观看 | 国产V日韩V亚洲欧美久久| 亚洲av高清一区三区三区| 亚洲av无码专区在线 | 久久亚洲AV成人一二三区| 久久开心婷婷综合中文| 色一情一乱一伦麻豆| 亚洲一区爱区精品无码| 91青青草免费在线视频| 本道天堂成在人线av无码免费| 人妻影音先锋啪啪av资源|