亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Spring Boot的源碼資源托管平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

        2021-02-04 07:47:40戴家樹(shù)楊星雨林曉康
        關(guān)鍵詞:資源用戶(hù)系統(tǒng)

        戴家樹(shù),徐 濤,楊星雨,林曉康

        (安徽工程大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽蕪湖 241000)

        0 引言

        在編程和信息技術(shù)爆炸性發(fā)展的21世紀(jì),以互聯(lián)網(wǎng)為核心的計(jì)算機(jī)技術(shù)已經(jīng)滲透到了各行各業(yè).閱讀源碼是提高從業(yè)人員技術(shù)水平的一條公認(rèn)的必經(jīng)之路.一般的源碼資源托管平臺(tái)操作繁瑣,用戶(hù)體驗(yàn)和發(fā)現(xiàn)優(yōu)質(zhì)源碼的能力不足,與此同時(shí)越來(lái)越多的開(kāi)發(fā)者開(kāi)始重新關(guān)注基于云的開(kāi)發(fā)者生態(tài)系統(tǒng),這與未來(lái)的源碼資源托管平臺(tái)的發(fā)展?jié)摿ν耆恢?

        為了解決上述現(xiàn)況,在基于Spring Boot的源碼資源托管平臺(tái)[1]中,普通用戶(hù)具有前端查看、主頁(yè)、已下載代碼、用戶(hù)中心、發(fā)布代碼、失效代碼、資源管理等功能;管理員具有統(tǒng)計(jì)信息、資源管理、資源類(lèi)型管理、用戶(hù)管理、評(píng)論管理、友情鏈接管理等功能,同時(shí)還外加了推薦系統(tǒng)以便幫助用戶(hù)發(fā)現(xiàn)優(yōu)質(zhì)源碼.擁有這樣一個(gè)平臺(tái),可以對(duì)提升自身能力、擴(kuò)展眼界有巨大幫助.

        1 系統(tǒng)分析

        1.1 設(shè)計(jì)定位

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

        1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)構(gòu)

        該系統(tǒng)使用MySQL[3]數(shù)據(jù)庫(kù),按照基本業(yè)務(wù)需求設(shè)計(jì)了7張表,分別是資源類(lèi)型表、源碼資源表、評(píng)論表、消息表、用戶(hù)表、用戶(hù)下載和友情鏈接表.根據(jù)實(shí)際的需求,分別針對(duì)源碼資源表和用戶(hù)表、源碼資源表和資源類(lèi)型表設(shè)置相應(yīng)的外鍵,實(shí)現(xiàn)連表查詢(xún)等基本數(shù)據(jù)操作.同時(shí)為了保證系統(tǒng)數(shù)據(jù)的完整性要求,在用戶(hù)修改資源內(nèi)容等方便設(shè)置事務(wù),并使事務(wù)符合ACID要求,數(shù)據(jù)庫(kù)E-R圖1所示.

        1.3 功能需求

        系統(tǒng)包括前端和后端兩個(gè)部分,前端的功能設(shè)計(jì)有:前端查看、我的主頁(yè)、已下載代碼、用戶(hù)中心、發(fā)布代碼、失效代碼、資源管理等基本功能;后端的功能設(shè)計(jì)包括:統(tǒng)計(jì)信息、資源管理、資源類(lèi)型管理、用戶(hù)管理、評(píng)論管理、友情鏈接管理等基本功能,最后為了實(shí)現(xiàn)快速找尋優(yōu)質(zhì)代碼的需求,增加的各類(lèi)榜單前端展示功能;此外為了提高智能性,在系統(tǒng)中使用基于A(yíng)LS算法的離線(xiàn)推薦功能,使系統(tǒng)智能化.其系統(tǒng)業(yè)務(wù)如圖2所示:

        1.4 性能需求

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

        2 技術(shù)支撐

        2.1 Spring Boot技術(shù)

        該系統(tǒng)的基礎(chǔ)框架是Spring Boot,基于其Maven插件,可以創(chuàng)建可執(zhí)行的JARs和WARs;內(nèi)嵌Tomcat容器,可以提供自動(dòng)配置的“starter”項(xiàng)目對(duì)象模型以簡(jiǎn)化Maven配置;開(kāi)發(fā)中自動(dòng)配置Spring容器以提供準(zhǔn)備好的特性,不需要XML配置.

        2.2 Redis數(shù)據(jù)緩存

        在數(shù)據(jù)存取時(shí),使用Redis數(shù)據(jù)庫(kù)完成[4].Redis是一個(gè)高性能的鍵值數(shù)據(jù)庫(kù),在使用時(shí),首先初始化Redis模板,返回值實(shí)例化存儲(chǔ)對(duì)象;之后判斷Redis是否有目標(biāo)資源列表;若Redis里沒(méi)有資源列表,則去數(shù)據(jù)庫(kù)中查詢(xún),將該資源推入相應(yīng)的Redis資源類(lèi)型列表;最后分頁(yè)資源列表并返回當(dāng)前頁(yè).

        2.3 Shiro安全框架

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

        2.4 Lucene引擎搜索

        全文搜索引擎采用Lucene技術(shù).在使用Lucene搜索引擎技術(shù)[6]時(shí),首先創(chuàng)建一個(gè)索引目錄,然后創(chuàng)建一個(gè)分詞器實(shí)例對(duì)象,用來(lái)找配置文件;之后創(chuàng)建一個(gè)索引工具的配置對(duì)象;最后創(chuàng)建索引,寫(xiě)出工具類(lèi).在使用時(shí):為了防止臟數(shù)據(jù)的產(chǎn)生,設(shè)立一個(gè)互斥鎖;之后引用上面創(chuàng)建的索引工具;在代碼上傳時(shí)獲得上傳的對(duì)象信息;最后將對(duì)象信息交給索引工具.

        2.5 基于A(yíng)LS的離線(xiàn)推薦算法

        在系統(tǒng)智能化設(shè)計(jì)中,鑒于A(yíng)LS算法是非常成熟的推薦算法之一,它的實(shí)現(xiàn)代碼是面向大眾開(kāi)源的且已經(jīng)有相當(dāng)?shù)木薮髷?shù)據(jù)規(guī)模來(lái)訓(xùn)練選擇更優(yōu)質(zhì)的模型,提高推薦的準(zhǔn)確度.利用該算法設(shè)定的離線(xiàn)統(tǒng)計(jì)算法和離線(xiàn)推薦算法周期性的進(jìn)行結(jié)果統(tǒng)計(jì)與保存,計(jì)算的結(jié)果在一定時(shí)間周期內(nèi)是固定不變的,變更的頻率取決于算法調(diào)度的頻率.

        3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        3.1 注冊(cè)登錄模塊

        登錄模塊是系統(tǒng)的基礎(chǔ)模塊.在用戶(hù)的登錄與注冊(cè)模塊,為系統(tǒng)管理員和普通用戶(hù)的詳細(xì)的信息支持.該模塊為系統(tǒng)管理員與普通用戶(hù)之間建立起數(shù)據(jù)橋梁,通過(guò)用戶(hù)填寫(xiě)個(gè)人信息完成用戶(hù)注冊(cè),在登錄時(shí)通過(guò)用戶(hù)的注冊(cè)賬號(hào)和密碼匹配是否正確完成登錄.值得注意的是,在密碼中由于在安全方面的考慮,采用md5算法對(duì)密碼加密.這就在用戶(hù)完成注冊(cè)后,密碼被md5加密,在登錄時(shí),用戶(hù)提交的密碼需要被md5算法加密后得到的字符串與數(shù)據(jù)庫(kù)中的密碼比較驗(yàn)證.

        3.2 用戶(hù)發(fā)布資源模塊

        該模塊是系統(tǒng)的核心模塊之一,在這個(gè)模塊主要是用戶(hù)來(lái)發(fā)布自己的代碼鏈接和代碼介紹.在這一過(guò)程中,用戶(hù)需要選擇自己代碼的類(lèi)型、發(fā)布的代碼鏈接(連接需要經(jīng)過(guò)系統(tǒng)自動(dòng)審核判斷它是否失效)、設(shè)置關(guān)鍵字和詳細(xì)信息,設(shè)置積分等.在用戶(hù)按了發(fā)布按鈕后,管理員就會(huì)審核代碼.若無(wú)敏感信息,即審核通過(guò),在前端顯示,該模塊流程圖如圖3所示:

        圖3 用戶(hù)發(fā)布資源模塊流程圖Fig.3 Flow Chart of User Publishing Resource Module

        3.3 用戶(hù)下載及評(píng)論模塊

        用戶(hù)可以通過(guò)博客中對(duì)代碼的描述選擇是否要下載代碼,若下載代碼只要不是免費(fèi)的資源都需要扣除相應(yīng)的積分.用戶(hù)評(píng)論模塊與管理員審核評(píng)論是一體的.該模塊是系統(tǒng)的后端模塊之一,在這個(gè)模塊主要管理員為了審核用戶(hù)發(fā)布的評(píng)論.用戶(hù)不能評(píng)論自己的代碼和資源.更有利于管理員對(duì)評(píng)論的綜合管理.當(dāng)管理員通過(guò)審核后,評(píng)論可以在前端顯示.

        3.4 用戶(hù)資源管理模塊

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

        圖4 用戶(hù)資源管理前端頁(yè)面展示Fig.4 Front Page Display of User Resource Management

        3.5 管理員管理資源模塊

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

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

        3.6 基于A(yíng)LS算法的離線(xiàn)推薦

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

        (1)

        有了RMSE,我們可以就可以通過(guò)多次調(diào)整參數(shù)值,來(lái)選取RMSE最小的一組作為我們模型的優(yōu)化選擇.

        4 系統(tǒng)測(cè)試

        4.1 測(cè)試環(huán)境

        基于 Spring Boot 的源碼資源托管平臺(tái)使用 IntelliJ IDEA 在 Windows10 操作系統(tǒng)上啟動(dòng)運(yùn)行,JDK為 jdk1.8,瀏覽器使用QQ瀏覽器開(kāi)發(fā)版.

        4.2 測(cè)試方法與內(nèi)容

        系統(tǒng)測(cè)試采用黑盒測(cè)試和白盒測(cè)試[9]相結(jié)合的方式,根據(jù)系統(tǒng)頁(yè)面上的功能菜單以及需求進(jìn)行功能測(cè)試.針對(duì)本平臺(tái),采用故障檢測(cè)機(jī)制[10]判斷其可靠性.

        4.3 測(cè)試結(jié)果

        通過(guò)對(duì)源碼托管平臺(tái)的測(cè)試,基本上達(dá)到了預(yù)期生成代碼加快開(kāi)發(fā)效率的目的,系統(tǒng)頁(yè)面管理性以及系統(tǒng)拓展性在測(cè)試過(guò)程中表現(xiàn)優(yōu)秀.

        5 結(jié)論與展望

        經(jīng)過(guò)詳細(xì)的設(shè)計(jì)、開(kāi)發(fā)、測(cè)試,基于Spring Boot的源碼資源托管平臺(tái)已上線(xiàn).通過(guò)深入考察并分析了源碼資源托管平臺(tái)的可發(fā)展空間,然后對(duì)該系統(tǒng)進(jìn)行概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),最終實(shí)現(xiàn)了基于Spring Boot源碼資源托管平臺(tái).經(jīng)過(guò)功能測(cè)試和負(fù)載測(cè)試,系統(tǒng)運(yùn)行結(jié)果均良好.

        猜你喜歡
        資源用戶(hù)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        基礎(chǔ)教育資源展示
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        一樣的資源,不一樣的收獲
        資源回收
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        關(guān)注用戶(hù)
        關(guān)注用戶(hù)
        免费无码又爽又刺激网站| 不卡av网站一区二区三区| 亚洲综合天堂av网站在线观看| 国产在线精品一区二区在线看| 国产91网址| 亚洲精品一区二区三区av| 久久夜色国产精品噜噜亚洲av| 亚洲av无码乱码在线观看裸奔| 国产精品久久久久久妇女6080| 亚洲色欲色欲大片WWW无码| 亚洲天码一区二区三区| 韩国三级在线观看久| 色老头在线一区二区三区| 精品九九视频| 国产理论亚洲天堂av| 厨房人妻hd中文字幕| 亚洲美免无码中文字幕在线| 国产成年无码久久久免费| 亚洲性av少妇中文字幕| 亚洲国产一二三精品无码| 日韩a毛片免费观看| 国产亚洲日韩AV在线播放不卡| 亚洲av成人一区二区| 亚洲色成人网站www永久| 成年人黄视频大全| 一区二区三区四区四色av| 亚洲中文字幕舔尻av网站| 久久丫精品国产亚洲av不卡| 无码中文av有码中文av| 亚洲熟女av一区少妇| 亚洲av无码精品色午夜app| 久久无码av三级| 久久精品韩国日本国产| 九九久久精品国产免费av| 区二区三区玖玖玖| 亚洲色欲Aⅴ无码一区二区| 国产精品黄色在线观看| 久久无码字幕中文久久无码| 波多野结衣免费一区视频| 亚洲精品久久久中文字| 蜜桃av噜噜一区二区三区策驰|