国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于數(shù)字圖書館公共資源管理平臺的實時日志分析系統(tǒng)的設計與應用*

2020-07-15 06:52:44莫恭鈿
關鍵詞:公共資源日志服務器

莫恭鈿,韋 端

(廣西交通職業(yè)技術學院,廣西 南寧 530023)

0 引言

當前,數(shù)字圖書館作為一種全面、高效、便捷的公共資源管理平臺正在得到廣泛的應用.通過使用Java與Nginx服務器的網站技術,開發(fā)出符合高職院校業(yè)務需求的數(shù)字圖書館公共資源管理平臺,可以為高職院校專業(yè)建設、課程開發(fā)、師資隊伍培養(yǎng)、教改和科研等工作提供高效率、深層次、多元化信息服務能力.但是,隨著網絡用戶訪問流量的不斷增大,讓數(shù)字圖書館公共資源管理平臺面臨著巨大的網絡安全風險.

在網絡日志處理流程中,主要有兩類網絡日志處理方式,[1]一種是日志數(shù)據(jù)離線處理,另一種是日志數(shù)據(jù)實時流處理.網絡本數(shù)字圖書館公共資源管理平臺,將使用實時日志數(shù)據(jù)處理.通過使用 Nginx、Flume、Kafka和Spark Streaming的組合技術進行日志分析方案設計,[2]讓本系統(tǒng)具有實時性、功能針對性強、操作簡便等特點.

1 需求分析

1.1 日志文件分析

數(shù)字圖書館公共資源管理平臺所產生的web日志信息主要包含表1內容.

通過表1數(shù)據(jù)字段的信息,主要進行如下3個方面分析:

(1)網站平臺流量分析.重點在于分析不同的網絡用戶在一段時間內使用數(shù)字圖書館公共資源管理平臺的流量變化趨勢情況.主要指標是總頁面訪問量和各網絡用戶的頁面訪問量.

(2)用戶來源分析.統(tǒng)計分析通過各種搜索引擎工具、網站外部鏈接來源以及其他等方式進入本網站平臺的情況.通過用戶來源分析結果可以及時提醒數(shù)字圖書館公共資源管理平臺相關管理人員,哪種類型的來源為其帶來了更多用戶訪問,以及為網站溯源調查提供便利.

(3)用戶所訪問網頁分析.統(tǒng)計分析每個用戶訪問數(shù)字圖書館公共資源管理平臺頁面的相關操作,分析內容包括統(tǒng)計分析頁面對訪問者吸引力程度,用戶對網頁有哪些潛在安全、違規(guī)操作,以便幫助平臺管理員更有針對性的提高平臺的安全性和可靠性.

表1 web日志主要信息Tab.1 main information of Web log

1.2 技術分析

Nginx:主要考慮數(shù)字圖書館公共資源管理平臺是運行在多個linux系統(tǒng)的Nginx服務器上,平臺運行使用所產生的日志文件就是Nginx原始日志文件,并且Nginx可以提供負載均衡等技術功能,提高了實時日志系統(tǒng)資源的利用率.

Flume:可以實現(xiàn)可靠的、分布式的實時日志采集和傳輸能力,便于日志數(shù)據(jù)的收集,適用于作為數(shù)字圖書館公共資源管理平臺Nginx日志文件收集.

Kafka:主要用于快速并行機制加載實時的日志數(shù)據(jù),[3]作為集群功能為后續(xù)的Spark Streaming提供數(shù)據(jù)分析.

Spark Streaming:可以實現(xiàn)實時流數(shù)據(jù)處理能力,并且具有強大的容錯機制.可以將Kafka的實時日志流數(shù)據(jù),根據(jù)某些時間設定和數(shù)據(jù)格式要求,通過程序處理,得到最終實時日志分析結果.

同時,本人以及所在單位的工作團隊具有較高的軟件開發(fā)能力以及工作經驗,為本系統(tǒng)的順利研究和開發(fā)提供了重要的技術保障.[4]

2 系統(tǒng)設計分析

2.1 系統(tǒng)總體設計分析

實時日志分析系統(tǒng)應具有對網站平臺流量分析、用戶來源分析以及所訪問網頁分析三大功能機構,如圖1所示.

圖1 系統(tǒng)總體結構圖Fig.1 overall structure of the system

2.2 數(shù)據(jù)庫表結構設計分析

數(shù)據(jù)庫的功能是主要用來存放日志分析的最終結果,[5]以便于數(shù)據(jù)的保存以及為最后圖形化顯示提供數(shù)據(jù)來源.本系統(tǒng)涉及網站平臺流量分析、用戶來源分析以及所訪問網頁分析三大功能機構.因此,可以制定網站平臺流量表、用戶來源表以及所訪問網頁表三張表進行分析后數(shù)據(jù)的保存.

2.3 工具類設計分析

工具類的功能作用主要包含了實體類的封裝,便于可視化界面的數(shù)據(jù)呈現(xiàn).以及對數(shù)據(jù)庫的操作、數(shù)據(jù)格式的轉換、實時日志文件的數(shù)據(jù)清洗.

2.4 實時日志分析對比離線日志分析

離線日志分析,對日志信息的監(jiān)控、告警、實時分析能力較弱.較為流行的離線日志分析系統(tǒng)采用Flume、HDFS和Spark SQL相結合的技術方案.離線日志分析系統(tǒng)側重于在離線階段完成數(shù)據(jù)分析過程,因此得到的數(shù)據(jù)分析結果相對來說是較為滯后的,無法將分析結果及時反映,而實時日志分析則填補了這一部分的空白.通過采用Nginx、Flume、Kafka、Spark Streaming的組合技術建立實時日志分析系統(tǒng),可以利用Nginx的高并發(fā)、低內存消耗、配置簡單,flume可以提供分布式、高效率的網站日志信息收集功能,kafka可以實現(xiàn)持久化存儲,Spark streaming具有實時處理日志數(shù)據(jù),并且Nginx、Flume、Kafka、Spark Streaming的組合技術是目前較為技術成熟、數(shù)據(jù)收集較為可靠也是最為常用的實時日志數(shù)據(jù)分析處理的解決方案.通過實時日志分析,能夠展示用戶較為真實的需求結果.

3 軟件程序設計與應用

核心程序流程主要分為部署Nginx服務器、使用Flume實時讀取Nginx日志、通過Kafka集群接收Flume實時數(shù)據(jù)、在Spark Streaming接收Kafka數(shù)據(jù)等五大大步驟,具體如圖2所示.

圖2 實時日志分析流程Fig.2 Real time log analysis process

3.1 部署Nginx服務器

在多個linux系統(tǒng)中通過流量均衡負載技術部署多臺Nginx服務器,數(shù)字圖書館公共資源管理平臺掛載在Nginx服務器上,平臺所產生的原始日志文件在Nginx服務器產生.通過多個Nginx服務器接收數(shù)字圖書館公共資源管理平臺日志文件,有效加強了平臺運行的數(shù)據(jù)處理能力、提高了網絡的靈活性和安全性.

3.2 使用Flume實時讀取Nginx日志

在每個Nginx節(jié)點安裝Flume軟件,通過Flume軟件將本服務器的數(shù)字圖書館公共資源管理平臺日志文件進行實時采集,并將實時日志數(shù)據(jù)發(fā)送到Kaf Ka進行統(tǒng)一集中處理.每個Nginx節(jié)點主要流程為:安裝Flume軟件→定義agent各組件→配置source組件→配置sink組件→配置channel組件→配置source channel sink之間的連接關系→啟動agent去采集Nginx服務器的日志文件.

3.3 通過Kafka集群接收Flume實時數(shù)據(jù)

通過flume Kafka軟件,實現(xiàn)手動設定flume的sink命令,指定實時日志數(shù)據(jù)的傳送目的地之后,將平臺實時日志數(shù)據(jù)從channel數(shù)據(jù)傳輸通道中提取出,再通過kafka的相關功能將實時日志信息寫進并保存.即使日志消息有沒有被消耗,Kafka也會自動存檔所有的實時日志信息,確保實時日志信息的安全、可靠.

3.4 在Spark Streaming接收Kafka數(shù)據(jù)

Kafka集群中傳來的實時日志數(shù)據(jù)信息被spark streaming轉換為Dstream格式之后再接收和使用.本實時日志分析系統(tǒng)將通過直接讀取的功能接收實時日志數(shù)據(jù),首先,在Spark Streaming程序中通過驅動程序啟動作業(yè),然后使用執(zhí)行器通過偏移范圍的方式讀取Kafka集群中的日志文件數(shù)據(jù).[5]讀取完一輪數(shù)據(jù)之后,再通過查詢Kafka中的最新偏移范圍,再執(zhí)行日志數(shù)據(jù)的讀取,依次循環(huán)直到查詢不到最新的偏移范圍為止.具體流程如圖3所示.

圖3 直接讀取方式接收數(shù)據(jù)Fig.3 Receiving data by direct reading

3.5 使用Spark Streaming進行日志分析

(1)日志解析程序設計:為了消除未解析的日志數(shù)據(jù)帶來的影響,對日志解析程序設計要實現(xiàn)兩個操作.一是對日志數(shù)據(jù)進行數(shù)據(jù)清理;二是解析得到本系統(tǒng)功能所需的日志數(shù)據(jù)元組.偽代碼如下:

//清理日志數(shù)據(jù)

//logPattern定義日志格式的正則表達式

def filter Log(s:String)={

logPattern.findFirstIn(s)match{

case Some(logPattern(_*))=>true

case_=>false

}

}

//解析日志數(shù)據(jù)

def parseLog(s:String)={

val m=logPattern.find AllIn(s)

if(m.hasNext){

//如下方式提取需要的日志數(shù)據(jù)字段,包括客戶的IP地址、用戶來源、用戶瀏覽頁面信息

val clientIP=m.group(1).toString

}}

(2)主體程序設計:通過利用Spark Streaming編寫程序實時分析日志數(shù)據(jù),實現(xiàn)網站平臺流量分析、用戶來源分析、網站頁面分析功能要求,最終將日志分析結果寫入數(shù)據(jù)庫進行保存,同時也可以直觀地展示日志分析結果.具體編寫程序流程如圖4所示.

圖4 Spark Streaming編寫程序流程Fig.4 Spark streaming programming process

4 測試結果分析

軟件測試就是在測試階段設計出一系列的設計方案來驗證系統(tǒng)是否存在錯漏,[4]本實時日志分析系統(tǒng)通過了性能測試和功能測試.

4.1 性能測試

通過使用TTCPW等多個測試工具,對實時日志分析系統(tǒng)進行性能測試.可知系統(tǒng)的網絡吞吐量、頁面響應時間、并發(fā)數(shù)、系統(tǒng)性能都達標.性能測試結果如表2所示.

表2 系統(tǒng)性能測試Tab.2 system performance test

4.2 功能測試

在數(shù)字圖書館公共資源平臺正常運行情況下,對本實時日志分析系統(tǒng)進行功能測試.例如,測試統(tǒng)計分析本平臺的用戶訪問流量在24 h當中的占比,經過分析測試結果如圖5所示.可知一天當中15時是整個平臺訪問的流量高峰期,其次是16時和20時.其余的功能也能夠顯示出分析結果.功能呈現(xiàn)結果達到了預期的要求.

圖5 系統(tǒng)功能測試Fig.5 system function test

平臺經過了性能測試和功能模塊測試之后,又進行了壓力測試以及試運行測試.[4]經過測試能夠實現(xiàn)對平臺的總訪問量、用戶來源以及網站頁面等功能進行實時數(shù)據(jù)分析,并能夠以可視化的方式正常顯示分析結果,系統(tǒng)的平均反應時間能夠達到日志數(shù)據(jù)采集的要求,且在長時間的運行后,依然能夠正常分析處理日志數(shù)據(jù).

5 結語

經過測試,基于數(shù)字圖書館公共資源平臺的實時日志分析系統(tǒng)各項功能都達到預期設計目標,具有數(shù)據(jù)實時分析、功能針對性強、結果可視化直觀等特點,完全符合數(shù)字圖書館公共資源管理平臺的要求.對數(shù)字圖書館公共資源管理平臺的使用,能夠及時統(tǒng)計平臺的數(shù)據(jù)訪問量、對平臺的用戶來源進行分析以及對每個用戶訪問平臺的頁面進行分析,可以提高平臺的安全性以及及時、有針對性地更新用戶訪問量高的板塊內容,同時也為其他類型的網站日志分析提供借鑒的意義.

猜你喜歡
公共資源日志服務器
一名老黨員的工作日志
華人時刊(2021年13期)2021-11-27 09:19:02
公共資源交易平臺構建及體制機制創(chuàng)新
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
通信控制服務器(CCS)維護終端的設計與實現(xiàn)
游學日志
云南省積極推進公共資源交易標準化工作
得形忘意的服務器標準
知識產權(2016年8期)2016-12-01 07:01:13
計算機網絡安全服務器入侵與防御
一種基于粗集和SVM的Web日志挖掘模型
云南省搭建公共資源交易信息平臺
周口市| 新营市| 柳州市| 左贡县| 合作市| 兴山县| 准格尔旗| 昌图县| 眉山市| 清河县| 郴州市| 喜德县| 旅游| 鲜城| 乌兰察布市| 南江县| 垫江县| 广饶县| 长武县| 吴忠市| 岳普湖县| 怀宁县| 漯河市| 方城县| 长岛县| 平定县| 榆中县| 牟定县| 贵定县| 辉县市| 油尖旺区| 若羌县| 乐业县| 金溪县| 临潭县| SHOW| 阜南县| 海阳市| 舒兰市| 杭锦后旗| 临猗县|