?

基于JavaWeb的推薦數據后臺管理系統的設計與實現

2020-04-08 09:30李光明房靖力
電腦知識與技術 2020年3期
關鍵詞:S模式推薦系統大數據

李光明 房靖力

摘要:在如今信息爆炸的時代,我們需要從海量數據中抽取特定的一些數據作為與用戶交互的數據輸出,將數據以一對一或多對一的方式推薦給有特定需求的用戶的系統稱之為推薦系統,而通過hadoop、spark等大數據處理組件對大量數據處理后的有用數據,則需要推薦數據后臺管理系統的存放與管理,將特定數據輸送到特定用戶客戶端,達到To C即面向用戶的推薦效果;該系統采用JavaWeb技術、B/S模式與MVC思想進行系統開發。測試結果表明,該系統擁有良好的交互性與可用性。

關鍵詞:大數據;JavaWeb;B/S模式;推薦系統

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2020)03-0066-03

1 背景

互聯網經過幾十年的發展,已經成為多用戶端、大數據量的互聯網環境,每天產生超過EB級的數據量。如今,衡量一個公司規模大小需要看它擁有多少數據量,由此可見,每天產生的大量數據是未來互聯網生態的寶貴財富。

當人們面對如此海量的數據而無所適從時,推薦系統油然而生,通過此類系統,人們可以從海量的數據中提取到對自己有用的信息而做出下一步決策。一個成功的推薦系統需要有數據源、數據分析處理模塊以及前后臺數據管理與用戶交互的模塊。

本文設計實現了基于JavaWeb的推薦數據后臺管理系統,用于將經過推薦算法模塊計算過后的數據進行管理與操作,按照不同用戶的性格習慣,推薦出對應的個性化數據;同時本系統包括了對用戶信息及其權限的基本管理與日志系統的管理。

2 系統開發技術簡介

2.1 JavaWeb技術簡介

Java是一款面向對象的高級語言,它具有封裝、繼承、多態三大特性,保證了它在代碼書寫方面優于面向過程語言。Java擁有獨特的JVM虛擬機,保證了它可跨平臺使用,并且,Java的垃圾回收發生在JVM的堆內存中,有分代回收等垃圾回收算法對Java對象進行自動垃圾回收,無須像C++-樣手動回收、釋放資源。

Java作為一款從出世以后就備受歡迎的語言,已經是Apache、阿里巴巴、京東等大型公司的眾多組件的底層語言,并且再大數據Hadoop生態領域,Java同樣是包括Hadoop、Flume、Kafka等大數據組件的底層語言。

Java擁有許多進行Web開發的優秀基礎框架,例如Spring、SpringMVC、MyBatis,SpringBoot等后端框架,良好的結合了與大數據組件相關的API供程序員使用。在JavaWeb類程序發布上線以后,同樣擁有良好的技術支持在線維護與后期擴展,是開發后臺類管理系統的首選技術。

2.2 MVC模式概述

MVC即Model、View、Controller系統開發三層架構模式,有利于實現代碼的高內聚低耦合的特性,也有利于后期的代碼擴展與維護。

MVC的原理就是將整個系統代碼的邏輯按輸入、邏輯處理、輸出來分為Model、View、Controller三層進行分離,從而使該系統分為視圖、控制、模型層三層。

模型層中包括邏輯上的Service(業務處理)層以及Dao(數據庫交互)層,主要負責系統中業務方面以及數據交互方面的邏輯處理。視圖層指與用戶交互的前端頁面,例如經常使用的JSP、ThymeLeaf及FreeMarker等模板引擎??刂茖迂撠熃邮战涌谥袀鱽淼臄祿约拜敵鰯祿揭晥D層進行頁面渲染。MVC模式在推薦數據管理平臺中的應用模型圖如圖1所示。3系統分析

本文使用SSM作為推薦數據管理系統的后臺框架,SSM即Spring.SpringMVC、MyBatis的總稱,其具有配置簡單、代碼解耦性強、后期可維護性可擴展性高的良好優勢。使用Java編程語言編寫代碼,與其他組件底層代碼相同,API互通,具有高性能、跨平臺等優點。Mysql數據庫作為持久層軟件,因其輕量的架構、免費開源的特性,具有易用性強、功能強大、成本低廉、可進行分布式構建的優點。

本文主要設計開發一個存儲和管理推薦數據的后臺數據管理系統,其所用技術從技術可行性、操作可行性.經濟可行性方面都是可行的,可以完成從開始的編碼到最終的運行、測試、上線、維護的整個過程。

4 系統設計

推薦數據后臺管理系統主要用于對各類計算后的推薦數據、日志數據、用戶信息數據等進行操作。系統共包含普通管理員與超級管理兩類用戶,超級管理員對普通管理員的信息進行管理維護。普通管理員主要對推薦信息及用戶信息進行管理維護,其中推薦信息管理模塊的數據主要來源為離線信息數據,即經過推薦算法模型計算后的TOP-N推薦信息,前端通過各項數據的推薦權重進行推薦,權重越高,數據排名越靠前,同時管理員可以人工操作近期的熱點數據并將推薦權重升高,進而在頁面上顯示TOP-N推薦結果。

4.1 系統架構設計

系統后端框架采用SSM(Spring、SpringMVC、MyBatis)后端集成框架,前端UI框架使用easy-UI框架,持久層軟件使用Mysql輕量級數據庫,使用B/S架構模式通過瀏覽器登錄方式進行頁面訪問,使用tomcat作為系統的輕量級服務器,采用MVC模式進行系統開發。

4.2 各模塊功能概述

4.2.1 登錄模塊

為了保證系統數據的安全性,需要在登錄模塊中使用基于安全的組件shiro,shiro組件底層集成了權限配置和權限控制以及對系統訪問路徑的過濾,可以對每個接口進行需求過濾,達到安全登錄安全退出的目的。

登錄模塊使用賬戶、密碼、驗證碼三級驗證,首先通過前端比對賬戶密碼的格式正確性,然后通過數據庫比對賬戶密碼正確性,同時通過實時生成的驗證碼在前端進行比對,三級驗證通過后才可以登入系統。

系統退出后需要重新登入,不可以通過瀏覽器上方返回按鈕返回,通過shiro接口過濾實現。

4.2.2 管理員管理模塊

系統包括三級用戶,超級管理員、普通管理員及基本用戶,超級管理員作為系統最高權限角色,管理系統日志數據以及對普通管理員進行維護;普通管理員維護基本數據以及普通用戶的操作行為;設立普通用戶角色是為了在無權限下對系統中數據進行查看下載。

4.2.3 推薦數據管理模塊(本系統以電影數據為例)

推薦系統前端通過網頁埋點技術將用戶的日常點擊瀏覽日志數據通過kafka消息隊列以及Spark并行處理模塊進行處理后存人推薦數據后臺管理系統中,為前端推薦展示作數據支持以及底層持久化。

4.2.4 用戶管理模塊

用戶管理模塊主要是對用戶基本信息進行維護,通過管理員對普通用戶的操作權限進行維護,以期對不同用戶顯示出不同的個性化推薦結果。

4.3 數據庫設計

通過對系統的前期需求調研以及系統分析后,可將本系統分為10個數據表,包括admin(管理員表),user(用戶表),roles(角色表),alstab(電影評分表),category(電影類型表),movie(電影信息表),moviecategory(電影Id及類型Id對應表),review(交互日志分析表),similartab(相似標簽表),topdefaultmovies(排行前15存儲表),數據表及數據字段如表1所示。

5 系統實現

5.1 系統搭建環境系統

推薦數據后臺管理系統所采用的系統環境如表2所示。

5.2 系統部署

基于JavaWeb的推薦數據后臺管理系統編寫完成后需要進行系統上線測試,本文使用的部署服務器是開源免費的輕量級Tomc at服務器,成功部署后可以供其他用戶訪問,若需要通過外網訪問,則需要租用公用服務器如阿里云服務器并進行域名購買,此后用戶可使用特定域名登入系統。

6 系統測試

在系統開發完成后,為保障系統在正式上線后穩定運行,不出現嚴重的bug,我們需要對系統進行系統測試。通常使用黑盒測試和白盒測試兩種方式。黑盒測試即完全屏蔽內部代碼,只對前端功能進行功能邏輯測試,在出現問題后進行bug追蹤并修改bug,而白盒測試則是對系統中的代碼邏輯、代碼語法以及方法、接口等進行單元測試,確保每一模塊不發生重大邏輯錯誤。

本文主要使用黑盒測試的方式對系統外部功能進行了測試,對代碼書寫中的邏輯錯誤等在代碼編寫階段已經解決。

6.1 測試環境

系統平臺所采用的測試環境見表3。

6.2 白盒測試

在代碼編寫階段,對代碼的書寫邏輯,命名規范,路徑配置等進行模塊測試,針對每一模塊可以使用Test方法對單模塊進行模塊測試,在底層代碼階段對整個系統的bug及邏輯錯誤進行修復。

7 結束語

本文使用javaWeb等相關技術設計并實現了一個基于B/S架構的推薦數據后臺管理系統,本系統是基于大數據的推薦系統的后臺數據支持系統,為推薦系統前端進行數據支持與維護。本系統發布維護簡單,都使用開源免費的數據庫以及服務器,通過開源服務器發布系統后,用戶可根據IP或域名對系統進行訪問。對整個推薦系統的維護,只需在服務端進行,提高了系統的安全性與可維護性;該后臺系統通過MVC的思想對代碼模塊進行解耦,大大提高了編程速度與效率及后期可擴展性。

本系統針對推薦數據進行管理維護,與推薦系統的前端系統進行數據對接,有較好的數據展示支持作用。

本系統的下一步工作對系統的日志管理模塊進行細化,嘗試構建單獨的日志服務器,對后臺中每個用戶的操作數據進行精細化區分,以期達到更好的數據支持與個性化推薦效果。

參考文獻:

[1]李洋.SSM框架在Web應用開發中的設計與實現[J].計算機技術與發展,2016,26(12):190-194.

[2] Walls C,Breidenbach R.Spring in action[M]. Manning Publi-cations Co.2007.

[3]趙小濤.基于SSM框架的鐵路技術規章管理系統的設計與實現[D].北京:北京交通大學,2018.

[4]楊陽,湯光恒.基于Spring Boot的高校部門測評系統的設計與實現[J].福建電腦,2018,34(8):128-129.

[5]徐雯,高建華.基于Spring MVC及MyBatis的Web應用框架研究[J]微型電腦應用,2012,28(7):1-4,10.

[6]武強.基于B/S三層架構下的基層連隊管理信息系統的設計與實現[D].長春:長春工業大學,2018.

[7]姜博文,基于B/S架構的資產數據管理系統的設計與實現[D].北京:北京交通大學,2018.

[8]王書愛.面向對象程序設計的應用[J].電腦知識與技術,2011, 7(29):7289-7290, 7299.

[9]程春蕊,劉萬軍.高內聚低耦合軟件架構的構建[J].計算機系統應用,2009,18(7):19-22.

猜你喜歡
S模式推薦系統大數據
基于用戶偏好的信任網絡隨機游走推薦模型
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合