基于数据库的信息处理系统研发与设计

2023-12-18 08:58辉,
现代电子技术 2023年24期
关键词:报告单工厂模板

段 辉, 张 凯

(1.陕西工业职业技术学院, 陕西 咸阳 712000; 2.西部现代职业教育研究院, 陕西 咸阳 712000)

0 引 言

进入互联网时代,各种信息和数据不断充斥着人们的生活,尤其是随着5G 时代的到来,大数据、云计算和物联网等技术迅速发展,数据爆炸成为了新时代的一大显著特征,如何从堆积如山的数据中快速发现核心问题成为了当下亟需研究的重点之一[1]。各种类型的数据大量涌现,给图书馆的数据存储和数据应用带来了冲击,同时数据中又蕴藏着巨大的价值,为图书馆的业务扩展和服务创新带来了机遇。在数字文化资源数量激增、数字服务功能拓展和用户多元需求凸显的背景下,为用户提供适用且精准的资源服务也成为了图书馆建设管理的追求目标[2]。

图书馆读者具有人数众多、年龄不同、专业方向不同以及兴趣偏好广泛等特点,伴随大数据、云计算以及移动互联网等新一代信息技术在图书馆中广泛应用,图书馆后台能够捕捉读者在馆全部阅读生命周期中的所有阅读行为数据以及读者特征[3],包括读者在利用图书馆文献资源的过程中会留下的读者基本信息、入馆频次、借阅历史、检索记录等大量信息。为了更好地为读者提供相应的服务,可通过分析此类信息提取相应的读者特征,图书馆需依据不同的读者特征信息来提供相应的个性化服务。因此,数据的精准提取和高效分析是图书馆提供个性化服务的必要前提[4],为有效解决该问题,本文提出一个可直观展示读者特征数据的可视化系统设计方案。文中基于B/S 结构,在工厂模式的基础上搭建Spring Boot 框架,运用slf4j、Java 以及数据库等设计个人阅读信息系统。系统分别对不同年龄读者借阅量、各类型图书借阅量、不同年龄借阅占比等数据进行统计,并将其以可视化的方式呈现,进而明确读者需求,提供精准服务,提升读者满意度。多次实验结果表明,所设计系统能对读者行为进行有效的数据分析,把握读者行为趋势,为读者打造一个更加个性化的服务体系。

1 相关研究及工厂模式

1.1 相关研究

马波介绍了大数据背景下精准信息推送在移动图书馆中的应用研究[4],陈佳欣开展了基于数据挖掘技术的图书馆读者借阅行为分析研究。尽管已有高校开始使用读者行为分析,但还不完善。

1.2 工厂模式

工厂模式是常用的一种软件开发设计模式,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式[5]。正如它的名字,可以像工厂一样生产出想要的东西,只要提供原料。工厂模式根据产品是具体产品还是具体工厂,可分为简单工厂模式和工厂方法模式;根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式[6]。工厂模式通常用于封装和管理对象的创建,是一种创建型模式,其优势在于合理利用工厂模式能够将对象的创建和使用相分离,同时减少类之间的耦合度,提高代码复用性和扩展性,降低成本[7]。具体原因为:工厂模式具有解耦能力,可将对象的创建和使用进行分离,一个调用者想创建一个对象,只要知道其名称就可以成功调用所需功能。工厂模式创建的对象可复用,对于创建过程比较复杂且在很多地方都使用到的对象,通过工厂模式可以提高对象创建的代码的复用性。

工厂模式下的软件开发功能扩展性高,也更灵活,如果想增加一个产品,只需要扩展一个工厂类即可[8]。使用工厂模式开发的软件使用成本更低,由于复杂对象通过工厂进行统一管理,所以只需要修改工厂内部的对象创建过程即可维护对象,从而降低成本。

2 系统组织架构与功能

2.1 系统组织架构与内容

个人阅读报告单生成系统基于目前应用最广的B/S结构,采用前后端分离的开发原则,系统整体架构由客户端、Linux 服务器以及Vertica、MySQL、Oracle 数据库等组成,如图1 所示。

图1 个人阅读报告单生成系统架构

2.1.1 客户端

客户端即基于Web 的通用浏览器,用于向Web 服务器提交用户的请求,并接收和解析由服务器端返回的HTML 文件,浏览器和Web 服务器间通过Internet 采用HTTP 协议进行网络数据传输[9]。用户通过传递对应的模板信息即可获取该模板下的数据展示,保证了系统的灵活性。

2.1.2 服务器

线上服务器采用Linux 操作系统,在个人阅读报告单生成的工厂模式下往往需要面临多样的数据请求,Linux 操作系统相较于Windows 服务器具有更高的稳定性,从而可以保证多个服务高效稳定的执行,同时相对于Web 服务器不需要对硬件有太高的要求[10]。

2.1.3 数据库

数据库是整个平台的核心部分,也是前端数据展示的基础。本文项目所使用的数据仓库Vertica 和Oracle主要用于获取各馆的馆藏、流通以及读者信息,将数据做出初步整理后存储进MySQL 数据库中,在用户进行访问的时候,将MySQL 中整理过的数据根据客户所选择的模板进行整理返回,由此提高了报告单渲染的性能,同时降低了服务器的运行成本[11]。

2.2 系统主要功能

系统主要实现获取读者办证至今所经历的天数、各年龄段读者的借阅数量、不同类型图书的销量、不同年龄段读者的借阅占比以及借阅频次最高的图书被多少人借阅过等功能,同时将统计出的结果以可视化的方式展示出来[12],系统主要功能如图2 所示。

图2 系统主要功能

3 主要流程及功能实现

3.1 系统主要流程

3.1.1 系统框架

基于工厂模式的个人阅读报告单生成系统是以不同模板为基础,数据处理流程保持不变,通过调用不同的模板来实现不同需求,从而降低系统冗余度,增强使用体验。系统框架如图3 所示。

图3 基于工厂模式的个人阅读报告单生成系统框架

3.1.2 定义模板

首先定义模板信息,以两个模板为例,以不同的编号表示不同的模板,然后定义一个map 集合作为工厂来存放工厂信息,再将其存入到预先定义好的模板中,同时进行录入操作,从而将模板信息持久化。具体实现方法如下:

3.1.3 配置数据统计

根据个人阅读报告单生成系统的功能需求,以及不同模板特征来配置不同模板内部的数据统计,具体程序如下:

3.1.4 发起模板请求

用户根据自己的需求,通过指定的模板编号来获取对应模板,获取相应的结果数据,并将其传递到前端进行渲染,具体实现方式如下:

3.2 系统功能实现

3.2.1 读者个人入馆历程

获取读者办证至今所经历的天数,通过调用Vertica大数据平台中的日期比较函数(DATEDIF 函数)求出读者办证日期到报告单截止时间所隔的天数,并将天数信息进行返回。通过获取读者入馆的各个时间段的具体信息分析读者的入馆特点,结合读者身份、专业等,在读者入馆后提供读者咨询、读者培训等知识服务。

3.2.2 不同专业段借阅量

获取各不同专业段读者的借阅数量,通过对指定时间段下的读者专业进行统计,使用to_char( )函数调出数据仓库中读者的院系信息来判断读者的专业,再将统计出的读者信息与数据仓库中的流通信息进行关联,得出当前时间各专业段读者的借阅数量、图书分类号、图书出版时间、出版社、著者等图书基本信息。

3.2.3 各类型图书借阅量

获取不同类型图书的借阅量并返回相关借阅排名,通过馆藏信息表与流通信息表的关联将不同书目类型进行分组,得出不同类型图书的借阅总数,并将排名靠前的类型进行截取返回。

3.2.4 不同年龄借阅占比

获取不同年龄段读者的借阅量所占百分比,先通过count 函数得出当前时间段下读者的借阅总数;再通过对该时间段下的读者年龄进行统计,使用to_char( )函数得出数据仓库中读者的出生年份来判断读者的年龄维度;然后将统计出的读者信息与数据仓库中的流通信息进行关联,得出当前时间下各年龄段读者的借阅数量;最后通过round 函数将所有读者的借阅数除去各年龄段读者的借阅总数,得出各年龄段读者的借阅占比。

3.2.5 读者借阅行为

获取不同读者的借阅行为,通过API 接口与图书馆自动化系统关联获取读者的基本信息,如借阅量、预约量、预借量、续借量、超期量、丢书量以及借阅图书类别等。

4 系统开发及关键技术

4.1 系统开发环境

操作系统为Microsoft Windows 10,开发环境为IDEA 2021,后端编程语言为Java,前端使用的框架技术为VUE。

4.2 关键技术

本次项目开发主要用Spring Boot 框架进行搭建,使用slf4j 来实现日志的打印输出,使用Java 语言进行后端开发,实现与前端的数据交互,通过Vertica、MySQL、Oracle 实现数据的获取以及持久化操作。

4.3 系统应用

通过对读者阅读数据的分析,本文系统可以输出每位读者专属的读者个人阅读报告,该报告包含每位读者的阅读足迹。在读者个人阅读报告中,读者可以看到自己年度图书借阅相关数据,比如借阅数量、借阅类型、偏好等个性化分析数据,图书馆后台也会针对读者的阅读偏好推送有针对性的推荐订阅信息,为读者提供更加贴心的借阅服务。读者可选择通过电子邮件、移动图书馆及读者空间等方式获取其个人阅读报告,达到回顾阅读历史、梳理阅读轨迹并完善自身阅读结构的目的。

对于图书馆而言,通过分析挖掘每个读者的个性化需求,并在读者使用图书馆各种业务的时候进行图书、活动、数字资源推荐等,将用户分散的各种行为汇聚成有用的线索,进而开展数据挖掘,实现服务、业务决策和创新的科学化,避免缺乏数据支撑的“拍脑袋”式经验决策。同时,采用分析挖掘技术对图书馆采访数据库和流通数据库的历史记录数据进行分析,得到借阅图书的相关集合,根据这些集合来指导图书馆人员的工作,优化馆藏结构,真正实现读者至上的服务理念。

5 结 语

本文基于B/S 结构,在工厂模式的基础上采用Spring Boot 框架进行搭建,运用slf4j、Java 以及Vertica、MySQL、Oracle 数据库等研发了图书馆个人阅读报告单生成系统,实现读者及馆员对个人或群体阅读行为数据的查询。

在图书馆个人阅读报告单生成系统中,可以对读者借阅信息进行记录,并在此基础上进行个性化分析,进行有针对性的阅读推荐。读者通过本文系统生成的个人阅读账单不仅可以回顾自己全年的阅读足迹,了解自身的阅读习惯,还可以总结自身云阅读能力及阅读水平,从而为下一年度阅读计划的制定做参考。

对图书馆而言,在读者个人阅读账单中加入的评语及个性化图标让阅读趣味提升,达到了吸引读者走进图书馆、了解图书馆、参与图书馆活动的阅读推广目的,同时更好地宣传了图书馆的相关服务。

猜你喜欢
报告单工厂模板
铝模板在高层建筑施工中的应用
铝模板在高层建筑施工中的应用
肝功能报告单解读
为什么工厂的烟囱都很高?
铝模板在高层建筑施工中的应用
城市综改 可推广的模板较少
美国堪萨斯州小学成绩报告单及其启示
离散制造MES在照明工厂的实施与应用
基层医院报告单分类板制作1)
巧贴检验报告单