999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spring Boot的源碼資源托管平臺設計與實現

2021-02-04 07:47:40戴家樹楊星雨林曉康
綿陽師范學院學報 2021年2期
關鍵詞:資源用戶系統

戴家樹,徐 濤,楊星雨,林曉康

(安徽工程大學計算機與信息學院,安徽蕪湖 241000)

0 引言

在編程和信息技術爆炸性發展的21世紀,以互聯網為核心的計算機技術已經滲透到了各行各業.閱讀源碼是提高從業人員技術水平的一條公認的必經之路.一般的源碼資源托管平臺操作繁瑣,用戶體驗和發現優質源碼的能力不足,與此同時越來越多的開發者開始重新關注基于云的開發者生態系統,這與未來的源碼資源托管平臺的發展潛力完全一致.

為了解決上述現況,在基于Spring Boot的源碼資源托管平臺[1]中,普通用戶具有前端查看、主頁、已下載代碼、用戶中心、發布代碼、失效代碼、資源管理等功能;管理員具有統計信息、資源管理、資源類型管理、用戶管理、評論管理、友情鏈接管理等功能,同時還外加了推薦系統以便幫助用戶發現優質源碼.擁有這樣一個平臺,可以對提升自身能力、擴展眼界有巨大幫助.

1 系統分析

1.1 設計定位

想要了解一種技術,都存在一定的入門壁壘,這不利于技術的發展和革新,所以作為推廣源碼資源的平臺,其操作應該是無門檻、簡單的.它可以滿足無論從事何種開發的開發者,都可以從該網站上獲取相應的源碼以供閱讀學習[2],獲取經驗教訓,找尋靈感,認識各個領域的大牛.其次,作為一種托管平臺,用戶不必實時帶著自己的筆記本來回奔波,只需要從平臺云端下載托管的代碼,就可以免除物理機器的限制和地域的隔離,使同行之間的交流變得十分方便,解放開發者的思緒.最后,該平臺還需要擁有發現優質源碼的能力,給用戶減少時間成本并獲得良好的體驗.

1.2 數據庫設計結構

該系統使用MySQL[3]數據庫,按照基本業務需求設計了7張表,分別是資源類型表、源碼資源表、評論表、消息表、用戶表、用戶下載和友情鏈接表.根據實際的需求,分別針對源碼資源表和用戶表、源碼資源表和資源類型表設置相應的外鍵,實現連表查詢等基本數據操作.同時為了保證系統數據的完整性要求,在用戶修改資源內容等方便設置事務,并使事務符合ACID要求,數據庫E-R圖1所示.

1.3 功能需求

系統包括前端和后端兩個部分,前端的功能設計有:前端查看、我的主頁、已下載代碼、用戶中心、發布代碼、失效代碼、資源管理等基本功能;后端的功能設計包括:統計信息、資源管理、資源類型管理、用戶管理、評論管理、友情鏈接管理等基本功能,最后為了實現快速找尋優質代碼的需求,增加的各類榜單前端展示功能;此外為了提高智能性,在系統中使用基于ALS算法的離線推薦功能,使系統智能化.其系統業務如圖2所示:

1.4 性能需求

為保證源碼資源托管平臺可以穩定、安全、高效的運行,結合企業實際情況,系統應當達到以下性能需求:系統由于通信的需求會存在一定的延遲,并且需要等待系統響應時間,因此為了能夠縮短這一部分代碼執行時間,將其壓縮到系統能夠接受的限度、同時也應該兼顧多線程和高并發的需要.系統的安全性也是重中之重.系統須保證數據安全,防止數據異常和非法訪問數據.為了讓用戶有更好的體驗,系統的操作應該是簡單和提示信息應該是一目了然的.

2 技術支撐

2.1 Spring Boot技術

該系統的基礎框架是Spring Boot,基于其Maven插件,可以創建可執行的JARs和WARs;內嵌Tomcat容器,可以提供自動配置的“starter”項目對象模型以簡化Maven配置;開發中自動配置Spring容器以提供準備好的特性,不需要XML配置.

2.2 Redis數據緩存

在數據存取時,使用Redis數據庫完成[4].Redis是一個高性能的鍵值數據庫,在使用時,首先初始化Redis模板,返回值實例化存儲對象;之后判斷Redis是否有目標資源列表;若Redis里沒有資源列表,則去數據庫中查詢,將該資源推入相應的Redis資源類型列表;最后分頁資源列表并返回當前頁.

2.3 Shiro安全框架

在安全方面采用Shiro框架[5].首先驗證身份信息,給予角色管理權限;在使用Shiro的配置類時:首先,一個URL可以配置多個Filter,使用逗號分割;其次,當設置多個過濾器時,全部驗證通過,才視為通過;最后,部分過濾器可以指定參數其中必須設立securityManager,如果不設置,默認會自動尋找工程根目錄下的login.jsp頁面.在過濾鏈的定義中,從上往下執行,一般將/**放在最下面,authc 所有的url必須認證通過才能訪問,anon所有的url可以匿名訪問.

2.4 Lucene引擎搜索

全文搜索引擎采用Lucene技術.在使用Lucene搜索引擎技術[6]時,首先創建一個索引目錄,然后創建一個分詞器實例對象,用來找配置文件;之后創建一個索引工具的配置對象;最后創建索引,寫出工具類.在使用時:為了防止臟數據的產生,設立一個互斥鎖;之后引用上面創建的索引工具;在代碼上傳時獲得上傳的對象信息;最后將對象信息交給索引工具.

2.5 基于ALS的離線推薦算法

在系統智能化設計中,鑒于ALS算法是非常成熟的推薦算法之一,它的實現代碼是面向大眾開源的且已經有相當的巨大數據規模來訓練選擇更優質的模型,提高推薦的準確度.利用該算法設定的離線統計算法和離線推薦算法周期性的進行結果統計與保存,計算的結果在一定時間周期內是固定不變的,變更的頻率取決于算法調度的頻率.

3 系統設計與實現

3.1 注冊登錄模塊

登錄模塊是系統的基礎模塊.在用戶的登錄與注冊模塊,為系統管理員和普通用戶的詳細的信息支持.該模塊為系統管理員與普通用戶之間建立起數據橋梁,通過用戶填寫個人信息完成用戶注冊,在登錄時通過用戶的注冊賬號和密碼匹配是否正確完成登錄.值得注意的是,在密碼中由于在安全方面的考慮,采用md5算法對密碼加密.這就在用戶完成注冊后,密碼被md5加密,在登錄時,用戶提交的密碼需要被md5算法加密后得到的字符串與數據庫中的密碼比較驗證.

3.2 用戶發布資源模塊

該模塊是系統的核心模塊之一,在這個模塊主要是用戶來發布自己的代碼鏈接和代碼介紹.在這一過程中,用戶需要選擇自己代碼的類型、發布的代碼鏈接(連接需要經過系統自動審核判斷它是否失效)、設置關鍵字和詳細信息,設置積分等.在用戶按了發布按鈕后,管理員就會審核代碼.若無敏感信息,即審核通過,在前端顯示,該模塊流程圖如圖3所示:

圖3 用戶發布資源模塊流程圖Fig.3 Flow Chart of User Publishing Resource Module

3.3 用戶下載及評論模塊

用戶可以通過博客中對代碼的描述選擇是否要下載代碼,若下載代碼只要不是免費的資源都需要扣除相應的積分.用戶評論模塊與管理員審核評論是一體的.該模塊是系統的后端模塊之一,在這個模塊主要管理員為了審核用戶發布的評論.用戶不能評論自己的代碼和資源.更有利于管理員對評論的綜合管理.當管理員通過審核后,評論可以在前端顯示.

3.4 用戶資源管理模塊

該模塊是系統的后端模塊,在這個模塊主要用戶管理自己的代碼資源鏈接和代碼介紹是否需要修改和刪除,并在前端顯示自己所發布資源的各類信息和當前資源的狀態(是否通過審核在前端可見),用戶還有代碼文檔中細節修改的功能,并能快速提交,幫助用戶管理代碼資源.在資源修改部分,主要可以修改代碼或資源的下載鏈接、下載積分、所屬類型、是否刪除等基本功能.滿足用戶在第一次發布后的多次修改需求.該模塊頁面如圖4所示:

圖4 用戶資源管理前端頁面展示Fig.4 Front Page Display of User Resource Management

3.5 管理員管理資源模塊

該模塊是系統的后端模塊,在這個模塊主要管理員為了審核用戶發布的代碼鏈接和代碼介紹是否存在敏感信息——審核通過,在前端顯示.除了審核以外,管理代碼也可以設置該資源是否免費、是否熱門、是否應該被刪除,同時還有查看等功能,幫助管理員管理代碼資源.與資源管理類似,在資源類型管理中主要添加、刪除或修改資源種類,也可以通過Lucene搜索引擎,模糊搜索資源種類.同時對已發布的資源可以進行查看、編輯和刪除等操作功能,完善了管理員的管理范圍.該模塊頁面如圖5所示:

圖5 管理員管理資源前端頁面展示Fig.5 Front Page Display of Administrator Management

3.6 基于ALS算法的離線推薦

離線推薦服務是綜合用戶所有的歷史數據,利用設定的離線統計算法和離線推薦算法周期性的進行結果統計與保存,計算的結果在一定時間周期內是固定不變的,變更的頻率取決于算法調度的頻率[7].離線推薦服務主要計算一些可以預先進行統計和計算的指標,為實時計算和前端業務相應提供數據支撐.離線推薦服務主要分為統計推薦、基于隱語義模型的協同過濾推薦以及基于內容和基于Item-CF的相似推薦[8].對于模型,這并不一定是最優的參數選取,所以我們需要對模型進行評估.通常的做法是計算均方根誤差(RMSE),考察預測評分與實際評分之間的誤差.

(1)

有了RMSE,我們可以就可以通過多次調整參數值,來選取RMSE最小的一組作為我們模型的優化選擇.

4 系統測試

4.1 測試環境

基于 Spring Boot 的源碼資源托管平臺使用 IntelliJ IDEA 在 Windows10 操作系統上啟動運行,JDK為 jdk1.8,瀏覽器使用QQ瀏覽器開發版.

4.2 測試方法與內容

系統測試采用黑盒測試和白盒測試[9]相結合的方式,根據系統頁面上的功能菜單以及需求進行功能測試.針對本平臺,采用故障檢測機制[10]判斷其可靠性.

4.3 測試結果

通過對源碼托管平臺的測試,基本上達到了預期生成代碼加快開發效率的目的,系統頁面管理性以及系統拓展性在測試過程中表現優秀.

5 結論與展望

經過詳細的設計、開發、測試,基于Spring Boot的源碼資源托管平臺已上線.通過深入考察并分析了源碼資源托管平臺的可發展空間,然后對該系統進行概要設計和詳細設計,最終實現了基于Spring Boot源碼資源托管平臺.經過功能測試和負載測試,系統運行結果均良好.

猜你喜歡
資源用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
基礎教育資源展示
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
一樣的資源,不一樣的收獲
資源回收
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 国产欧美日韩资源在线观看| 97狠狠操| 久久久无码人妻精品无码| 国产亚洲日韩av在线| 日本不卡在线播放| 国内丰满少妇猛烈精品播| 国产日本欧美亚洲精品视| 秋霞国产在线| 成年av福利永久免费观看| 五月婷婷伊人网| 国产高清精品在线91| 国产婬乱a一级毛片多女| 五月天综合婷婷| 波多野结衣无码AV在线| 噜噜噜久久| 播五月综合| 曰AV在线无码| 日韩成人在线视频| 国产视频你懂得| 香蕉99国内自产自拍视频| 日韩麻豆小视频| 97在线免费| 91麻豆国产在线| 欧美亚洲欧美| 日本少妇又色又爽又高潮| 伊人久久综在合线亚洲2019| 国产在线观看第二页| 精品国产污污免费网站| 制服丝袜在线视频香蕉| 欧美国产日韩在线观看| 呦视频在线一区二区三区| 天天综合天天综合| 亚洲熟女偷拍| 五月天久久婷婷| 欧美第九页| 91在线精品免费免费播放| 国产成人综合网在线观看| 日本在线欧美在线| 国产男人的天堂| 国产浮力第一页永久地址| 中文纯内无码H| 曰韩免费无码AV一区二区| 亚洲美女操| 四虎成人免费毛片| 国产无人区一区二区三区| 天天操天天噜| 欧美五月婷婷| 国产一级在线观看www色| 亚洲精品中文字幕午夜| 午夜日b视频| 欧美日韩成人在线观看| 看你懂的巨臀中文字幕一区二区| 国产精品嫩草影院av| 91伊人国产| 欧美日韩国产在线播放| 久久国产精品娇妻素人| 777午夜精品电影免费看| 日本午夜精品一本在线观看| 无码又爽又刺激的高潮视频| 天天激情综合| 无码又爽又刺激的高潮视频| 久久99热这里只有精品免费看| 欧美成人精品欧美一级乱黄| 国产精品主播| 国产熟睡乱子伦视频网站| 中文字幕中文字字幕码一二区| 重口调教一区二区视频| 亚洲国产精品人久久电影| 欧美另类图片视频无弹跳第一页| 香蕉久久国产精品免| 欧美亚洲国产日韩电影在线| 国产成人精品在线1区| 成人国产精品2021| 一级一级一片免费| 在线欧美一区| 亚洲人成网18禁| 亚洲视频色图| 欧美另类视频一区二区三区| 欧美成人日韩| 日韩无码黄色网站| 综合社区亚洲熟妇p| 色综合天天娱乐综合网|