基于springboot的大数据图书推荐系统

目  录

第一章 概述

1.1 研究背景与意义

1.2国内外发展现状

1.3 研究内容

1.4本文的结构

第二章 开发工具及技术介绍

2.1 Java编程语言

2.2 MySQL数据库

2.3 协同过滤算法

2.4 SPRINGBOOT框架

2.5 vue介绍

2.6 B/S架构

2.7 AES介绍

2.8 Hadoop介绍

2.9 Scrapy介绍

第三章 系统分析

3.1功能需求分析

3.2系统可行性分析

3.2.1技术可行性

3.2.2 经济可行性

3.2.3社会可行性

3.3 系统用例分析

3.4系统流程分析

3.4.1 登录流程图

3.4.2 添加新用户流程图

第四章 系统概要设计

4.1系统设计原理

4.2功能模块设计

4.3 数据库设计

4.3.1数据库设计原则

4.3.2数据库E-R图设计

4.3.3数据库表结构设计

第五章 系统功能实现

5.1系统前台功能实现

5.1.1首页功能实现

5.1.2个人中心

5.2管理员功能实现

第六章 系统测试

6.1系统测试的目的

6.2软件测试过程

6.3系统测试用例

结    论

致  谢

参考文献

第一章 概述

1.1 研究背景与意义 

随着互联网和信息技术的快速发展,人们获取和消费信息的方式发生了巨大的变化。图书作为一种重要的信息载体,其消费方式也受到了很大的影响。传统的图书销售模式已经不能满足现代读者的需求,因此,图书推荐系统应运而生,成为了一个备受关注的研究领域。当前,随着数字图书馆和网络书店的兴起,图书市场面临着激烈的竞争。为了提高销售量和用户满意度,许多图书销售平台开始引入图书推荐系统。图书推荐系统通过分析用户的历史购买行为、阅读偏好、社交网络信息等数据,为用户提供个性化的图书推荐服务。这种服务能够根据用户的兴趣和需求,为用户推荐符合其口味和需求的图书,从而提高用户的购买率和满意度。现有的图书推荐系统还存在一些问题。首先,现有的推荐算法过于简单,缺乏对用户个性化需求的深入挖掘和分析。其次,现有的推荐系统缺乏对图书内容和质量的评估和筛选,导致推荐结果的质量和准确性受到影响。此外,现有的图书推荐系统通常只能针对单一平台的用户进行推荐,无法实现跨平台的推荐服务。因此,研究更加准确、高效、个性化的图书推荐系统具有重要的现实意义和学术价值。

研究图书推荐系统对于提高图书销售平台的销售量和用户满意度具有重要意义。首先,通过深入挖掘和分析用户个性化需求,可以提高推荐结果的准确性和针对性。其次,通过对图书内容和质量的评估和筛选,可以提高推荐结果的质量和准确性。最后,通过实现跨平台的推荐服务,可以为用户提供更加全面和个性化的服务。研究图书推荐系统还可以为数字图书馆和网络书店的发展提供新的思路和方法。随着数字图书馆和网络书店的普及和发展,图书推荐系统将成为数字图书馆和网络书店的重要组成部分。通过深入研究图书推荐系统,可以为数字图书馆和网络书店的发展提供新的技术支持和解决方案。

研究图书推荐系统具有重要的现实意义和学术价值。通过深入挖掘和分析用户个性化需求、评估和筛选图书内容和质量、实现跨平台的推荐服务等方面的研究,可以为数字图书馆和网络书店的发展提供新的思路和方法,同时也能够提高图书销售平台的销售量和用户满意度。

1.2国内外发展现状

随着互联网和信息技术的快速发展,图书推荐系统作为一种智能化的图书推荐工具,逐渐受到越来越多用户的关注和青睐。本文将分别介绍国内外图书推荐系统的现状和发展趋势,以期为读者提供有益的参考和启示。随着互联网技术的不断进步,我国图书推荐系统得到了迅速的发展。越来越多的图书馆、书店和在线平台开始采用图书推荐系统来提高图书销售量和用户满意度。人工智能、大数据等技术的不断发展,国内图书推荐系统也在不断创新。许多平台通过运用机器学习、自然语言处理等技术,实现了对用户行为数据的深度挖掘和分析,从而为用户提供更加精准、个性化的图书推荐服务。为了更好地满足用户需求,国内图书推荐系统开始加强与出版社、书店等合作,共同打造一个更加完善的图书生态圈。通过合作共赢的方式,各方可以共同分享市场资源,实现互利共赢。为了满足不同用户的需求,国内图书推荐系统开始提供多样化的服务。例如,一些平台推出了基于社交网络的推荐服务,通过社交关系为用户推荐感兴趣的图书;还有一些平台则注重为用户提供专业的阅读指导、书评推荐等服务,从而更好地满足用户的阅读需求。

在国外,图书推荐系统也得到了广泛的应用和关注。国外图书推荐系统通常采用先进的人工智能技术,实现对用户行为数据的深度挖掘和分析,为用户提供更加精准、个性化的图书推荐服务。同时,国外图书推荐系统还注重与其他平台的合作,共同打造一个更加完善的图书生态圈。国外图书推荐系统非常注重用户体验,通过不断优化推荐算法、提高推荐准确率、降低误判率等方式,为用户提供更加优质的服务。此外,国外图书推荐系统还注重与用户进行互动和交流,从而更好地了解用户需求和反馈,不断完善和提升服务质量。随着全球互联网的普及和国际化趋势的加强,国外图书推荐系统也开始向国际市场拓展。许多平台不仅在本土市场取得了一定的市场份额,还在国际市场上取得了良好的成绩。这表明国外图书推荐系统具有很强的竞争力和发展潜力。

国内外图书推荐系统的发展现状呈现出不同的特点。国内图书推荐系统注重技术创新和合作共赢,而国外则更加注重智能化、用户体验和国际化发展。未来,随着互联网技术的不断进步和市场需求的变化,图书推荐系统将会继续发挥重要作用,为读者提供更加便捷、个性化的阅读体验。

1.3 研究内容

在系统开发过程中我们选择了Java作为后端开发语言,并引入了基于用户相似度的协同过滤算法,用于提供个性化的推荐功能。系统通过echarts技术展示可视化大屏,将数据进行展示在看板上。此外,我们还采用了Python开发的Scrapy爬虫技术,用于高效地收集网络数据。并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。前端开发部分,我们使用了HTML、CSS、JavaScript以及流行的前端框架Vue.js,这使得界面设计和用户交互变得更加直观和便捷。在开发工具方面,我们选用了Eclipse和Navicat。Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,拥有友好的用户界面和强大的SQL处理能力,从而大大提高了我们的开发效率。系统共分为管理员和用户两个角色,主要包括个人中心、用户管理、图书分类管理、图书信息管理、图书借阅管理、图书归还管理、归还入库管理、教育管理、丢失管理、系统管理等功能;

第二章 开发工具及技术介绍

此次管理系统的关键技术和架构由B/S结构、java技术和MySQL数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。

2.1 Java编程语言

Java语言已经发展了二十多年,至今仍然稳居编程开发语言排名前三。这一成就离不开Java技术体系的众多开发优势。相较于其他编程语言,Java语言的入门使用非常简单。它集成了丰富的类库和封装类,使开发者能够方便地调用功能。同时,Java拥有强大的技术基础,非常适合大型软件的开发。作为一门面向对象的编程语言,Java只需要掌握基本的语法规则和清晰的编程思路,就能够很好地开发应用程序。

Java语言具有跨平台和可移植性强的特点,在Android应用程序开发中扮演着重要角色。在大型软件项目开发中,Java技术得到广泛应用,为企业项目需求提供成熟的解决方案。与其他常用的计算机程序编程语言相比,Java语言凭借其成熟的技术架构和广泛的应用范围,深受编程人员喜爱。

Java语言提供了强大的功能机制,如try-catch异常处理、垃圾自动回收和内存动态分配等。它具备简单性、健壮性、可移植性和多线程等优点。这些强大的特性降低了软件后期维护成本,缩短了软件研发周期,节省了企业的软件开发成本。因此,我们的研究项目选择Java作为基础的项目开发语言,以充分利用其成熟的编程能力。

 2.2 MySQL数据库

MySQL是Oracle公司旗下的一个开源的关系型数据库管理系统(Relational Database Management System, RDBMS)。 MySQL支持使用多线程,充分利用了CPU的计算资源,可以选择InnoDB, MyISAM和MEMORY等作为存储引擎,提供了丰富的数据库管理工具。在索引功能的加持下,其具有非常高的查询效率,并支持主从、多节点集群等高可用部署模式。MySQL凭借其低廉的成本、可靠的数据库服务和出色的性能,目前己经成为绝大多数企业在进行项目开发时的首选关系型数据库。

2.3 协同过滤算法

协同过滤是一种常见的推荐算法,主要通过分析用户的行为数据,发现用户的兴趣点,并据此进行推荐。简单来说,如果两个用户在过去对同一类商品的评分或行为相似,那么他们对其他类似商品的评分或行为也可能会相似。协同过滤就是基于这样的假设,通过收集用户的历史行为数据,找出与目标用户兴趣相似的其他用户,然后把这些相似用户喜欢的、而目标用户未曾接触过的商品推荐给目标用户。这种算法在电商、新闻、音乐、电影等领域的个性化推荐中得到了广泛应用。

2.4 SPRINGBOOT框架

Spring Boot是一个基于Spring框架的开源项目,它的目标是简化Spring应用程序的创建、配置和部署过程。Spring Boot提供了一种快速开发的方式,通过自动配置和约定优于配置的原则,使得开发者能够更专注于业务逻辑的开发。Spring Boot内置了Tomcat、Jetty等Web服务器,无需额外配置就可以运行一个Web应用。Spring Boot还提供了许多实用的功能,如数据访问、缓存、消息队列等,这些功能都可以通过简单的注解来启用。总之,Spring Boot是一个非常强大的框架,它能够帮助开发者快速构建高质量的Java应用程序。

2.5 vue介绍

Vue是一种用于构建用户界面的渐进式JavaScript框架。它被设计为易于上手,灵活且轻量级,能够适应从小型项目到大型企业应用程序的需求。Vue的核心是一个响应式的数据绑定系统和一个组件系统。响应式数据绑定允许创建交互式的用户界面,而组件系统则使得代码组织和复用变得简单。Vue也提供了一套完整的前端开发工具,包括编译器、热重载、开发服务器等,以支持更高效的开发流程。此外,Vue的生态系统还包括Vuex(状态管理库)和Vue Router(路由管理器),这些工具可以帮助开发者构建复杂的单页应用程序。总的来说,Vue是一个功能强大、易于使用且高效的前端框架,适用于各种规模的项目。

2.6 B/S架构

B/S结构确实是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。相比于C/S结构,B/S结构具有更多的优势:主要包括对跨平台性、低维护成本、高安全性、简化部署和更新和方便远程访问五大优势;总的来说,B/S结构在系统搭建中广泛应用,摒弃了C/S结构客户端服务端不分离的缺点,具有跨平台性、低维护成本、高安全性、简化部署和更新以及方便远程访问等优势。

2.7 AES介绍

高级加密标准(AES),是一种对称加密算法,用于保护敏感数据的安全性。它是一种快速、高效且广泛应用的加密算法,被广泛认可和采用于商业和政府部门的安全通信中。AES使用相同的密钥来加密和解密数据,这个密钥必须是机密的并且只有发送方和接收方知道。该算法的设计目标是在多个平台上实现高级别的安全性,同时保持较高的性能。AES是基于替代和置换的加密算法,通过多轮的加密操作对数据进行处理,从而实现高度的混淆和扰乱,增强了加密数据的安全性。AES算法的核心思想是将数据分成固定大小的数据块,并对每个数据块进行一系列的置换和替代操作,以及密钥混合操作,从而实现加密和解密的过程。AES算法采用了不同的密钥长度,包括128位、192位和256位,密钥长度的不同会影响算法的安全性和性能。

AES算法具有以下几个主要特点:

1.高度安全性: AES算法经过广泛的安全性分析和测试,被认为是一种高度安全的加密算法,能够有效地保护数据免受未经授权的访问和窃取。

2.高效性能: AES算法设计简洁,实现高效,在多种硬件和软件平台上都能够快速地进行加密和解密操作,适用于大规模数据加密场景。

3.灵活性: AES算法支持不同长度的密钥,可以根据安全需求选择128位、192位或256位的密钥长度,以平衡安全性和性能要求。

4.广泛应用: 由于其高度安全性和高效性能,AES算法被广泛应用于网络通信、数据存储、加密文件和电子邮件等领域,成为保护敏感数据的重要工具。

AES算法是一种可靠、安全且高效的加密算法,适用于各种安全通信和数据保护场景,为数据安全提供了可靠的保障。

2.8 Hadoop介绍

Hadoop是一个由Apache基金会维护的开源框架,它允许分布式处理大数据集在计算集群中的大规模数据。它的核心设计哲学是将应用程序带到数据所在的位置,而不是将大量数据传输到应用程序所在的服务器。Hadoop主要由两个组件组成:Hadoop Distributed File System(HDFS)和MapReduce。HDFS提供了高度可靠、高吞吐量的数据存储解决方案,而MapReduce则是一个编程模型,用于处理这些大量数据。Hadoop的优势在于其可扩展性、经济性和灵活性,使其成为大数据分析的首选工具。

第三章 系统分析

3.1功能需求分析

需求分析的首要任务是了解用户的需求,包括定性和定量两个方面。定性分析主要通过与用户交流来深入了解他们的基本需求和习惯要求。定量分析则通过收集用户的反馈和描述来发现潜在的用户需求。一旦获取到用户需求,就需要将其设计为系统的功能模块。在及时分析和跟进需求的同时,还需要进行数据分析以便总结和撰写需求报告。需求报告应包含完整的需求描述、功能需求和模型等开发所需的资料。

在需求分析中,用户需求是非常重要的,可以通过各种途径和用户交流来获取用户对系统功能的需求。通过整理和分类这些需求,并分析其背后的原因,可以得出实现这些需求的可能性。图书推荐系统功能是由多个可测试的功能模块组成,这些功能模块的设计和实现能够满足用户的需求并提升系统的完善程度。

3.2系统可行性分析

3.2.1技术可行性

该系统使用java技术开发,MySQL数据库同springboot框架联合开发并实现。对于以上描述的技术,在当代都是较为成熟的技术和平台,虽然它们都有自已的体系,但在程序员的眼里,它们的配合度是很高的,网上的相关博客中每个创建项目的帖子,它们都会出现,数据库负责管理数据,开发工具负责管理项目,技术负责代码的框架,既相互独立,又相互依赖。以上描述的工具、技术都已转化为自身的技能,所以从技术角色考虑是可行的,工作人员对于技术的关注度并不高,只要程序可用即可。

3.2.2 经济可行性

经济可行性,可分为两种,支出和收入,该系统属于研究型毕业设计,所以收入部分暂不考虑。支出可分为,设备、场地、开发环境、人力、时间等一切需考虑的因素,所有信息都是影响形成系统的一部分。设备:只需一台笔记本电脑,配套的输入设备;场地:暂定为图书馆与校内的自习室;开发环境:良好;人力:自身、指导老师、同学;时间:从选题到毕业为止,大约8个月。从以上描述可知,大部分条件已经满足,所以该系统不会存在经济方面的问题,所以是可行的。

3.2.3社会可行性

社会可行性,广义而讲可涉及到道德方面、法律方面、社会方面,每个方面都会影响系统的形成。本系统的是独立且没有任何传播性质的信息,更涉及不到道德层面,法律层面;本系统也没有触发法律,没有赌博、黄色等类型信息,同时也是遵从国家法律,不会显示任何触发法律层面的信息;社会方面,该系统是为方便客户提供更好的服务,是轻量级的图书推荐系统,会为人们带来快速并有效查询的功能,也是具有贡献意义的。总体而言,该系统也是具有社会可行性的。 

3.3 系统用例分析 

图书推荐系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成图书推荐系统的方便快捷、安全性高、交易规范做了保障,目标明确。图书推荐系统可以将功能划分为管理员功能和用户功能;

(1)管理员关键功能包含个人中心、用户管理、图书分类管理、图书信息管理、图书借阅管理、图书归还管理、归还入库管理、教育管理、丢失管理、系统管理等进行管理。管理员用例如下:

图3-1 管理员用例图

(2)用户关键功能包含个人中心、修改密码、图书借阅、图书归还、丢失、我的收藏等进行管理。用户用例如下:

图3-2 用户用例图

3.4系统流程分析

流程图是一种使用具体的图形符号和连线来表示系统执行过程的工具。它能够清晰地描述系统的各个步骤,并帮助发现团队协同设计中可能存在的问题和改进的空间,从而及时修正和改进系统。

通过绘制流程图,可以对系统的需求和相关流程进行详细分析,将其细分为各个部分的设计。对于设计人员来说,在开发过程中,以流程图为基础可以快速提高逻辑思维能力,并指导后续操作。在系统设计中,程序设计是最重要的一部分,而流程图则是设计过程中的重要工具之一。

3.4.1 登录流程图

登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-3所示。

图3-3登录流程图

3.4.2 添加新用户流程图

添加新用户的流程是先查询新用户名是否已存在,如已有该用户名,需重拟用户名并同时输入新用户的其它信息,添加新用户到数据库时会先验证数据是否完整,信息都正确且完整时,返回并刷新用户列表;信息不正确时,会返回输入信息的那一步。该流程如图3-4所示。


图3-4添加新用户流程图

第四章 系统概要设计

4.1系统设计原理

设计原理是指系统的设计来源,它将需求合理地分解为功能,并抽象地描述系统的模块和其下的功能。在功能模块化后,它们变成可组合和可拆解的单元。在设计时,所有信息都会分解并存储在各个表中,而界面不会显示所有定义的字段。在设计时,有几个重要要求,包括抽象、模块化、信息隐藏、低耦合和高内聚等特性。本系统的设计也符合这些要求。制作和显示流程是程序员需要分析研究的一部分。每个模块都是相对独立的,系统前台不显示账号操作权限范围外的信息。

4.2功能模块设计

该章节的功能模块设计,只是大概描述了系统的所有功能模块,将功能按权限来讲解。系统总体功能如图4-1所示。

图4-1 系统总体结构图

4.3 数据库设计

4.3.1数据库设计原则

学习程序设计的过程中,如果想要了解数据库管理系统或者按照系统接口的要求制作,就需要创建一个数据库管理系统模型来存储数据。这样,在进行应用程序编程时,就不需要加载操作系统页面的信息,从而提高整个系统的工作效率。在数据库管理系统中承载着大量的数据,可以说,它是一个管理信息系统建设的核心和基础,同时也为建设信息管理系统提出了新的查询、删除、修改和操作功能,使管理信息系统建设能够快速查询需要的数据,而不是直接从代码中查找。信息库管理系统由各个部分的信息表按照特定的方法进行准确的归并、排序和组合成信息库管理系统。

 4.3.2数据库E-R图设计

下面是整个图书推荐系统中主要的数据库表总E-R实体关系图。如图4-2所示: 

图4-2 E-R实体关系图

第五章 系统功能实现(截图在最后)

5.1系统前台功能实现

5.1.1首页功能实现

当用户访问系统的网址时,首先映入眼帘的是首页界面。在首页界面上,用户可以看到一个导航条,通过导航条可以跳转进入各个功能展示页面进行操作。系统首页界面如图5-1所示。

图5-1 系统首页界面

在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册界面如图5-2所示:

图5-2 系统注册界面

图书信息:在图书信息页面中输入图书名称、货架位置、lsbn或图书作者进行查询图书详细信息,根据需要可以进行点赞、收藏、评论或借阅操作;图书信息页面如图5-3所示:

图5-3图书信息详情页面

教育:在教育页面中输入标题、责任者、出版社或类型进行查询教育详细信息,根据需要可以进行收藏、点赞或评论操作;教育页面如图5-4所示:

图5-4教育详情页面

5.1.2个人中心

用户注册登录进入系统,点击个人中心可以对个人中心、修改密码、图书借阅、图书归还、丢失、我的收藏等功能进行操作。个人中心页面如图5-5所示:

图5-5个人中心界面

图书借阅:在图书借阅页面中输入图书名称或用户姓名进行查询图书借阅详细信息,根据需要可以进行归还操作;图书借阅页面如图5-6所示:

图5-6图书借阅详情页面

5.2管理员功能实现

在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程;为了确保这些敏感信息在传输过程中的安全,我们还采用了高级加密标准(AES)技术进行加密。AES是一种广泛使用的对称加密算法,能够有效抵御多数攻击方式,保障数据的安全。在发送这些信息之前,前端使用AES加密技术对数据进行加密处理,确保了即使在不安全的网络环境中,数据也不会轻易被截获和解析。如图5-7所示。

图5-7管理员登录界面

管理员进入主页面,主要功能包括对个人中心、用户管理、图书分类管理、图书信息管理、图书借阅管理、图书归还管理、归还入库管理、教育管理、丢失管理、系统管理等进行操作。管理员主页面如图5-8所示:

图5-8管理员主界面

用户管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写用户表单。这些用户动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户管理功能可以看到最新的信息或相应的操作反馈。如图5-9所示。

图5-9用户管理界面

教育管理功能在视图层(view层)进行交互,比如点击“查询、添加、删除或爬取数据”按钮或填写教育信息表单。这些教育信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除教育信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便教育管理功能可以看到最新的信息或相应的操作反馈;如图5-10所示。

图5-10教育管理界面

图书分类管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写图书分类信息表单。这些图书分类信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如修改或删除图书分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便图书分类管理功能可以看到最新的信息或相应的操作反馈;如图5-11所示。

图5-11图书分类管理界面

管理员点击图书信息管理。进入图书信息管理页面输入图书名称、货架位置、isbn或图书作者进行查询、添加或删除图书信息管理详细信息。并进行查看、归还入库、修改、查看评论或删除操作。如图5-12所示:

图5-12图书信息管理界面

管理员点击图书借阅管理。进入图书借阅管理页面输入图书名称、归还状态或用户姓名进行查询或删除图书借阅管理详细信息。并进行查看、丢失、修改或删除操作。如图5-13所示:

图5-13图书借阅管理界面

管理员点击图书归还管理。进入图书归还管理页面输入借阅编号、图书名称或选择是否通过进行查询、删除或审核图书归还管理详细信息。并进行查看、修改或删除操作。如图5-14所示:

图5-14图书归还管理界面

管理员点击归还入库管理。进入归还入库管理页面输入图书名称或用户账号进行查询或删除归还入库管理详细信息。并进行查看、修改或删除操作。如图5-15所示:

图5-15归还入库管理界面

管理员进行爬取数据后可以在看板页面查看到用户总数、图书信息总数、图书借阅总数、教育总数、出版时间、类型统计、学科主题词云、教育、出版社占比、出售价格分布等实时的分析图进行可视化管理;看板大屏选择了Echart作为数据可视化工具,它是一个使用JavaScript实现的开源可视化库,能够无缝集成到Java Web应用中。Echart的强大之处在于其丰富的图表类型和高度的定制化能力,使得管理人员可以通过直观的图表清晰地把握图书的各项运营数据。

为了实现对图书信息的自动化收集和更新,我们采用了Apache Spark作为爬虫技术的基础。Spark的分布式计算能力使得系统能够高效地处理大规模数据,无论是从互联网上抓取最新的图书信息,还是对内部数据进行ETL(提取、转换、加载)操作,都能够保证数据的实时性和准确性。

在大数据分析方面,系统采用了Hadoop框架。Hadoop是一个能够处理大数据集的分布式存储和计算平台,它的核心是HDFS(Hadoop Distributed File System)和MapReduce计算模型。通过Hadoop,我们可以对收集到的大量数据进行存储和分析。看板页面如图5-16所示:

图5-16看板详细页面

管理员进行用户密码AES:系统需要选择一个适当长度的密钥,可以是128位、192位或256位。密钥的选择应该遵循安全最佳实践,并确保密钥的安全性。如果用户输入的密码长度不符合AES加密算法要求的数据块长度(例如128位),则需要进行填充以达到所需长度。常见的填充方式包括PKCS#7填充或0填充。使用选定的密钥和填充后的密码,系统将通过AES算法对密码进行加密。加密过程涉及多轮的替代、置换和密钥混合操作,将原始密码转换为密文。加密后的密码(密文)将存储在系统中,以确保用户密码在传输和存储过程中的安全性。密文应该被妥善保护,只有经过授权的用户才能访问和解密。当用户登录时,系统将接收到用户输入的密码。系统使用相同的密钥和AES解密算法对用户输入的密码进行解密,得到原始密码。解密后的密码与系统中存储的密码进行比较。如果两者匹配,则用户被授权访问系统;否则,登录失败。

通过这样的加密过程,用户的密码在传输和存储过程中得到了有效的保护,即使密文被截获,也很难还原为原始密码,从而提高了系统的安全性。如图5-17所示:

图5-17用户的密码AES详细页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值