基于JavaWeb的推荐数据后台管理系统的设计与实现
来源:用户上传
作者:
摘要:在如今信息爆炸的时代,我们需要从海量数据中抽取特定的一些数据作为与用户交互的数据输出,将数据以一对一或多对一的方式推荐给有特定需求的用户的系统称之为推荐系统,而通过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等模板引擎。控制层负责接收接口中传来的数据以及输出数据到视图层进行页面渲染。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.
转载注明来源:https://www.xzbu.com/8/view-15152149.htm