APP下载

基于SpringBoot 的域名信息系统设计与实现

2024-05-02雷欣马宏琳郑霖段刚

电脑知识与技术 2024年5期
关键词:数据可视化

雷欣 马宏琳 郑霖 段刚

摘要:基于SpringBoot的域名信息系统采用B/S架构进行设计开发。系统前端利用Thymeleaf 技术与Vue框架实现人机交互界面设计,使用Echarts技术实现数据可视化。系统后端使用Shiro进行用户权限管理、使用Tuple2进行域名信息解析、使用WhoisClient包进行域名信息查询等处理。系统通过提供域名购买、域名转移、域名信息查询、数据特征分析等服务,满足普通用户的客制化需求。同时,也为管理员用户提供订单管理、用户管理、数据接口操作等管理功能。

关键词:域名信息系统;客制化;SpringBoot;数据特征分析;数据可视化

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2024)05-0044-04

0 引言

近年来,随着互联网络的蓬勃发展,互联网行业从探索阶段已转入产业深耕、赋能发展的新阶段,域名服务等相关互联网配套产业也齐头并进,机构单位和个人用户对于网站的需求日益增多,域名注册量、应用率多年来持续快速增长[1]的趋势,截至2022年7 月份,我国注册域名数量超过3 380万个[2],全球注册域名总数则高达3.5亿个。随着域名市场的快速发展,用户对域名信息服务的客制化需求也越来越高。因此,采用B/S架构开发基于SpringBoot技术的域名信息系统,建立综合全面、信息丰富的域名网络服务功能,可以为不同用户群体提供个性化和客制化域名服务功能,优化用户的使用体验,满足用户需求,帮助用户高效地进行网站系统的设计开发。

1 系统总体设计

按照软件工程设计原则和工作方法,首选进行系统分析,从用户对域名系统的实际出发,从功能需求和非功能需求两方面入手进行了需求分析。通过需求分析,确定系统提供普通用户与管理员两种角色,其中普通用户角色对应域名购买、域名转移、域名信息查询、数据特征分析等功能,管理员用户角色对应订单管理、用户管理、界面管理与数据接口操作等管理功能。

系统开发技术路线选择基于B/S架构进行网站设计开发。在前端、后端和数据库管理系统等不同层次上选择主流技术。数据库管理系统采用MySQL数据库作为系统底层数据记录存储与操作中心。MySQL 数据库管理系统是一种关系型数据库管理系统,具有开源特性,使用方便,运行效率高[3]。系统前端采用Thymeleaf 与Vue设计人机交互界面、前后端数据传输,使用Echarts技术实现数据可视化。系统后端采用Java语言作为主要开发语言,使用Shiro进行用户权限管理、Tuple2进行域名信息解析、WhoisClient包进行域名信息查询。

系统功能设计包含用户模块、域名信息、域名订单、数据分析、网站管理与财务模块等六大功能模块,每个功能模块下又包含多个子模块。系统总体功能模块图,如图1所示。

系统各模块的主要功能如下:

1) 用户管理模块——提供用户注册、用户登录、企业用户管理、用户权限管理。

2) 域名信息管理模块——提供域名信息查询搜索、数据Excel导出、顶级域名分析等域名相关服务。

3) 域名订单管理模块——提供可用域名购买、用户域名付费、域名估值等服务。

4) 数据分析模块——提供用户域名数据分析、订单数据分析、数据接口管理服务。

5) 网站管理模块——提供管理员对于网站的日常管理操作。

6) 财务管理模块——提供网站数据管理与导出功能。

系统采用MD5信息摘要算法进行用户密码加密存储,为了保证系统的可用性与数据的安全性,系统还提供了验证码与登录超时退出等功能。

该系统的数据库设计遵循第三范式3NF原则,系统实体包括:域名、域名订单、数据接口、系统日志、菜单、合作机构、角色、用户等。实体之间的联系包括一对一、一对多、多对多,系统实体间的联系包括角色与合作机构、角色与系统菜单与角色与用户等联系。完成以上分析后,再根据实体与联系绘制E-R模型图。

2 系统核心功能设计

域名信息系统的核心功能包括:域名信息管理、域名订单管理和数据分析三大模块。这些功能的设计体现了域名网站独特的客制化需求。不仅通过数据可视化帮助用户方便快捷地实现域名信息查看、域名购买,而且通过系统完整的前后端设计,提供了完善的网站管理功能。

2.1 域名信息管理

域名信息管理包括域名信息查询、信息导出、域名分析三个子功能。其中,域名信息查詢是系统的核心功能。用户提交域名查询请求,系统网站根据用户请求域名进行处理,返回此域名的相关信息。同时,域名查询模块也是本网站底层域名数据表更新的数据来源。系统底层数据库存储用户搜索域名的相关信息,通过根域名服务器在线查询得到结果。系统能够分析本次查询的结果,并将数据库中对应的域名条目进行数据更新,保证本系统域名信息的真实性和有效性。此外,本次查询结果记录在本地服务器的数据库中,既保证了数据的时效性,又方便系统追踪用户的域名喜好、域名搜索频率等信息。

根据互联网工程任务组(IETF,Internet Engineer?ing Task Force) [4] 标准要求,WHOIS 服务一般由WHOIS系统来提供,而WHOIS系统本身是一个基于C/S架构的系统。域名查询的核心是org.apache.com?mons.net.whois.WhoisClient包,主要负责Client端的功能实现,如提供用户接口、生成查询、传回响应与修改返回体格式等,通过TCP协议传输相关数据。系统基于WhoisClient包进行了扩展设计,使得此包不仅支持对于whois.internic.net的域名查询请求,还能够支持其他根域名服务器的搜索请求,如whois.cn.net的cn顶级域名查询请求。通过此种方式,本网站能够解析多种根域名,如“.com”“.cn”“.net”等根域名后缀。另外,通过扩展设计的WhoisUtil与WhoisFactory,对于用户输入域名进行根域名HOST判断,根据截取到的不同根域名后缀发送到不同的Server进行查询请求,并且对返回体信息进行解析适配,获取域名、注册商、邮箱、手机号、创建时间、过期时间、更新时间、DNS服务器、域名状态等数据,最后将数据返回给用户界面。

2.2 域名订单管理

系统提供给用户对于未注册域名的购买功能,用户可以选择本网站提供的域名完成购买操作。用户使用域名购买模块购买域名时,可以自由选择购买年份、支付方式等。域名购买后相关信息将会保存在系统的数据库中,用户在订单模块中可以随时查看本人购买的域名与本人的所有订单信息。除此以外,用户还可以实现已购域名中信息字段的自定义调整,如注册用户手机号码、注册用户邮箱等。

域名估值[5]是域名订单管理模块的核心功能。系统设计并实现了域名价值估值算法,实现对用户选择的域名进行价值估计。在域名估值算法的实现中,设计了对拼音类型域名的分析。将域名分为纯数字、纯字母、数字与字母组合三种类型,并对纯数字类型域名赋予最高权重。对于纯字母类型域名,算法通过字符串解析域名当中的韵母与声母,解析其中的拼音,根据拼音类型与长短来赋值。算法支持所有类型的声母与韵母,对于一至四字符的韵母均进行了适配工作,算法根据韵母与声母总长度在一定范围内权重依次递减。“.com”“.net”“.cn”等顶级域名的注册量远高于其他域名,特别是“.cn”域名,近年来也已为全球注册保有量第一的国家和地区顶级域名(CCTLD)[6],所以系统算法对顶级域名也进行了解析,对于不同的顶级域名进行不同的系数赋值操作。

2.3 数据分析

数据分析模块向用户数据分析接口。数据分析界面的每一个操作均都对应着一个SQL元操作,通过编写好的SQL语句来分析数据库当中的底层数据。数据分析模块充分利用数据库底层数据的特征,给用户提供直观的数据分析。系统以底层数据表为基础,对于数据表中的一系列数据以域名信息为中心,从不同维度进行数据分析,让用户对底层数据有直观感知。数据分析功能提供“最热域名”“域名搜索TOP 榜”“用户登录时间段统计”等分析功能。数据分析利用Echarts进行绘制,并为用户购买域名提供参考建议,还可以为管理员提供系统分析管理数据,例如根据用户登录时间段的统计结果,动态调整服务器负载,减轻系统资源分配压力。

3 系统实现

系统采用B/S架构设计,系统后端程序设计采用Java语言,配置了Maven来管理项目的所有依赖的Jar包。基于SpringBoot框架进行项目开发,SpringBoot是開源的应用框架,提供了具有控制反转特征的容器(IOC) 和横向切面的编程(AOP) 特性[7]。在用户端,用户可以通过浏览器访问本系统的诸多功能,前端传入的数据通过HTTP协议传入到服务器端,服务器端采用MVC 结构进行数据处理。在服务层中通过表现层、业务层与持久层三层架构实现页面的展示、业务的处理,接着通过数据层传递业务数据,进行数据处理、分析与传输,最后所有业务数据存储在底层数据库。因此系统的总体架构分为服务层、服务器端、数据库端。

3.1 域名查询功能的设计实现

用户进入系统后即打开域名查询页面,对应项目中的whois.html,用户在域名信息搜索框中输入域名后,前端JS代码将会通过异步请求查询后台Whois?Controller进行数据请求,通过此功能用户可以查询本系统已经适配的顶级域名。域名查询图2所示。

3.2 域名购买功能的设计实现

用户通过域名购买模块实现域名的购买操作。系统检索数据库中所有未注册域名,并传入到前端页面上,前端的domainname/buy 包下的list.html 调用“/domainname/manage/list”。数据URL 请求DomainNa?meController进行解析,Controller解析此Post请求,向下调用Service层对应的业务代码,返回存储在数据库中可用域名列表返回给前端界面。前端界面能供解析此List并且呈现在网站上。用户选择了域名后,点击“购买按钮”既可进入购买界面,对应domainname/buy包下的form.html。用户在此界面可以自由选择购买域名的年份以及支付方式。域名购买如图3所示。

3.3 数据分析

数据分析模块通过SQL语句分析数据库中的底层数据,提供给用户系统数据的分析接口。以域名分析为例,订单分析界面对应前端domainname/manage 包下的analyse.htmls界面,用户点击此界面即可浏览系统提供的所有域名分析。本界面提供诸如“最热根域名”“网站存储域名数量”“最热未注册域名”与“域名注册年费统计”等诸多域名分析数据图。以直观清晰的方式展现底层域名数据表中存储数据的数据特点,为用户提供域名分析。数据图展现核心依赖echarts.js工具,Echarts能够兼容前端框架,并且提供基本的数据分析操作,给用户提供直观清晰的数据可视化图表。下面以域名注册年份统计为例解释数据分析模块的具体实现。

域名注册年份统计对应analyse.html中id为regis?teredYear的标签。在绑定的JS代码中对于reg?isteredYear 有对应的function registeredYear()对于该div进行操作。在分析域名注册年份的代码中,首先对于此echarts进行了绑定,将该函数绑定在了id为registeredYear的div当中,然后通过option对于数据可视化后的折线图进行设计,如折线图名title 设置为“注册年份分析”,功能区域toolbox设置允许保存图像,图像背景设置为网格并且设置背景大小。其中,最重要的是xAxis设置与yAxis设置、x轴与y轴的数据呈现。注册年份分析如图4所示。x轴数据为域名注册年份,y轴数据为对应年份域名注册数量,对应的data域从数据库当中动态取出。

3.4 系统管理

系统管理模块是管理员特有的功能模块,其中包括域名信息管理模块、财务管理模块、网站管理模块与账户管理模块。域名信息管理模块提供管理存储在本系统当中的域名信息;财务管理模块提供管理本系统所有的账单数据;账户管理模块可对本系统的用户信息、合作企业信息的所有记录进行操作;网站管理模块提供管理员对于功能菜单进行管理,并且对于本系统的全局配置进行操作。管理员通过这些模块实现对于域名底层的数据表直接进行操作。例如,管理员点击前端模板中finanace/order包下的list.html即可进入“系统历史订单数据”界面,进行数据管理。系统历史订单数据界面,如图5所示。

管理员在此界面可以读取数据库order表中所有的数据项以及数据项的所有属性。数据的读出通过Vue对象当中的load触发方法事件,在界面加载的时触发load()方法,前端界面向后端传输POST 类型的AJAX请求,请求连接为“/finance/order/list”,请求后端的OrderController控制器解析此请求,后台捕获到此请求后将会调用业务层代码对于数据库中的所有or?der数据进行Select操作。业务层通过Hibernate提供的数据查询接口将数据全部取出封装为List,返回为前端进行数据的呈现。

4 结论

基于SpringBoot的域名信息管理系统,采用B/S架构进行网站的设计。系统前端使用HTML+CSS+Ja?vaScript进行开发,结合Thymeleaf技术与Vue框架进行人机交互界面设计与前后端数据传输;系统后端采用Java语言作为主要开发语言,基于SpringBoot框架进行系统后端開发,使用Maven进行项目依赖管理并且使用Shiro进行用户权限管理。底层使用MySQL数据库管理系统作为系统底层数据记录存储与操作中心。系统充分考虑了不同用户的使用需求,为普通用户提供了域名信息查询、域名购买、域名续费、本人订单、本人域名、数据分析等功能;同时也为管理员提供订单管理、域名信息管理、数据接口管理、系统管理等功能,从而便于实现整个系统的全局管理。系统具有较高的可拓展性和较好的适用性,可以更好地满足不同用户群体的域名客制化需求,使用效果良好。

参考文献:

[1] 张新跃.域名安全保障体系研究与设计[J].中国信息安全,2016(11):66-68.

[2] 戴正宗.我国信息通信产业取得跨越式发展[N].中国财经报,2022-08-25(005).

[3] 肖睿,程宁,田崇峰,等.MySQL数据库应用技术及实战[M].北京:人民邮电出版社, 2018.

[4] 延志伟,耿光刚,李洪涛,等.DNS根服务体系的发展研究[J].网络与信息安全学报,2017,3(3):1-12.

[5] 张敏.网络域名的价值评估[J].山西农经,2019(23):39-41.

[6] 中国国家域名“CN”注册保有量跃居全球第一[EB/OL].[2022-10-20]. https://news. china. com/domesticgd/10000159/20160108/21101176.html.

[7] 杨英樱,乔运华,班玉荣.基于spring boot微服务架构的RS10系统管理[J].制造业自动化,2021,43(12):193-196.

【通联编辑:王 力】

猜你喜欢

数据可视化
移动可视化架构与关键技术综述
大数据时代背景下本科教学质量动态监控系统的构建
可视化:新媒体语境下的数据、叙事与设计研究
我国数据新闻的发展困境与策略研究
基于R语言的大数据审计方法研究
数据可视化概念研究
大数据背景下数据可视化方法研究
基于B/S结构的考试成绩分析系统
基于Hadoop的商业数据可视化分析模型的研究
用户数据统计挖掘与展示