?

基于SpringBoot 的域名信息系統設計與實現

2024-05-02 15:48雷欣馬宏琳鄭霖段剛
電腦知識與技術 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包?;赟pringBoot框架進行項目開發,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的商業數據可視化分析模型的研究
用戶數據統計挖掘與展示
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合