周文靜+汪元會(huì)+唐鑫+陸偉
摘要:該文針對(duì)目前資源共享平臺(tái)的現(xiàn)實(shí)需要,對(duì)大數(shù)據(jù)類別標(biāo)注與共享應(yīng)用進(jìn)行需求分析,提出了大數(shù)據(jù)類別標(biāo)注與共享平臺(tái)的功能和技術(shù)架構(gòu),討論了平臺(tái)實(shí)現(xiàn)涉及的關(guān)鍵技術(shù)。利用Java、JavaScript等語(yǔ)言以及大數(shù)據(jù)存儲(chǔ)等技術(shù),研發(fā)了共享平臺(tái)系統(tǒng)。該平臺(tái)方便人們查閱和共享資源,把分散的資源形成整體優(yōu)勢(shì),互惠互利,共同發(fā)展。
關(guān)鍵詞:共享平臺(tái);類別標(biāo)注;大數(shù)據(jù)存儲(chǔ);集成評(píng)價(jià)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)35-0005-02
1 背景
在當(dāng)前互聯(lián)網(wǎng)背景下,隨著信息技術(shù)與網(wǎng)絡(luò)技術(shù)的快速發(fā)展,很多的信息資源都可以在網(wǎng)絡(luò)上進(jìn)行統(tǒng)一管理,為了能夠?qū)@些資源更高效的存取與管理,數(shù)據(jù)堂、百度文庫(kù)等一些資源共享平臺(tái)應(yīng)運(yùn)而生。而人們的學(xué)習(xí)模式也有從傳統(tǒng)學(xué)習(xí)向網(wǎng)絡(luò)學(xué)習(xí)轉(zhuǎn)變的趨勢(shì),資源共享平臺(tái)的出現(xiàn),加速了這種模式的轉(zhuǎn)變。相較于上述傳統(tǒng)的資源共享平臺(tái)而言,大數(shù)據(jù)類別標(biāo)注與共享平臺(tái)的特色在于能夠基于網(wǎng)絡(luò)實(shí)現(xiàn)海量數(shù)據(jù)的上傳與共享,以及對(duì)數(shù)據(jù)進(jìn)行人工與自動(dòng)化標(biāo)注,加快資源的檢索速度以及提高檢索資源的相關(guān)性。同時(shí)系統(tǒng)能根據(jù)廣大用戶的集成評(píng)價(jià)判斷數(shù)據(jù)資源的重要性和好壞性并做自動(dòng)化處理,提高平臺(tái)資源的質(zhì)量。
2 系統(tǒng)功能需求
2.1 大數(shù)據(jù)類別標(biāo)注與共享平臺(tái)需求分析
系統(tǒng)主要實(shí)現(xiàn)平臺(tái)海量數(shù)據(jù)的上傳與共享以及對(duì)數(shù)據(jù)進(jìn)行自動(dòng)化檢閱并標(biāo)記。實(shí)時(shí)監(jiān)控平臺(tái)數(shù)據(jù),對(duì)于具有負(fù)面影響力的數(shù)據(jù)進(jìn)行自動(dòng)化處理。通過(guò)標(biāo)簽化數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行分類。實(shí)現(xiàn)用金幣購(gòu)買數(shù)據(jù)以及評(píng)價(jià)平臺(tái)數(shù)據(jù)的功能。主要功能如下:
用戶登錄注冊(cè):用戶需要注冊(cè)賬號(hào)登錄后才能進(jìn)入本平臺(tái),也可以通過(guò)第三方平臺(tái)賬號(hào)綁定登入本平臺(tái)。
資源上傳與類別標(biāo)注:平臺(tái)資源由用戶上傳共享,上傳成功的資源需要自動(dòng)標(biāo)注類別以方便資源管理。
資源快速搜索:用戶想在海量的數(shù)據(jù)中找到自己想要的資源的難度是很大的,因此用戶可以通過(guò)輸入關(guān)鍵詞進(jìn)行查詢,系統(tǒng)會(huì)將查詢結(jié)果反饋給用戶。
資源下載與評(píng)價(jià):用戶需要在登錄狀態(tài)下支付金幣購(gòu)買所需資源的下載權(quán)限,購(gòu)買成功的用戶可將資源下載到本地。成功下載某資源后,才可對(duì)該資源進(jìn)行評(píng)價(jià)。系統(tǒng)會(huì)根據(jù)平臺(tái)用戶的集成評(píng)價(jià),對(duì)于具有負(fù)面影響的資源進(jìn)行自動(dòng)處理。
管理個(gè)人資源:用戶在登錄后可以瀏覽自己上傳的資源,同時(shí)也可以對(duì)自己上傳的資源進(jìn)行刪除操作。
2.2 大數(shù)據(jù)類別標(biāo)注與共享后臺(tái)管理需求分析
系統(tǒng)后臺(tái)管理主要是系統(tǒng)管理員對(duì)用戶、資源、評(píng)價(jià)以及類別等信息進(jìn)行管理操作,包括刪除、添加。管理員能夠?qū)λ杏脩羯蟼鞯馁Y源進(jìn)行刪除管理,對(duì)資源評(píng)價(jià)進(jìn)行刪除管理以及對(duì)類別進(jìn)行添加、修改管理等。
3 系統(tǒng)框架設(shè)計(jì)
本系統(tǒng)采用了J2EE分層架構(gòu)(表現(xiàn)層、業(yè)務(wù)邏輯層、和數(shù)據(jù)訪問層)。MVC三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問等操作放置在中間層處理,客戶端不直接與數(shù)據(jù)庫(kù)交互,而是通過(guò)控制器與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。 為提高應(yīng)用程序的開發(fā)效率,減少系統(tǒng)的復(fù)雜度,系統(tǒng)采用了SSM框架(Spring MVC,Spring和MyBatis),SSM框架的運(yùn)用使得系統(tǒng)耦合度更低,更輕量級(jí),效率更高。數(shù)據(jù)庫(kù)采用MS SQL數(shù)據(jù)庫(kù)存放數(shù)據(jù),具體的總體架構(gòu)如圖1所示:
4 系統(tǒng)功能設(shè)計(jì)
4.1 功能1—第三方賬號(hào)登錄
該功能通過(guò)使用OAuth2.0協(xié)議來(lái)實(shí)現(xiàn),OAuth是一個(gè)關(guān)于授權(quán)開放的網(wǎng)絡(luò)標(biāo)準(zhǔn),它允許用戶授權(quán)第三方移動(dòng)應(yīng)用訪問他們存儲(chǔ)在其他服務(wù)器上的信息,而不需要將用戶名和密碼提供給第三方移動(dòng)應(yīng)用或分享數(shù)據(jù)的所有內(nèi)容。具體功能見圖2。
流程圖說(shuō)明:
1) 用戶選擇第三方平臺(tái)賬號(hào)登錄(QQ微信賬號(hào))。
2) 系統(tǒng)驗(yàn)證并獲得UID等信息,通過(guò)UID查詢本地賬號(hào)綁定信息。
3) 系統(tǒng)判斷如果用戶之前有過(guò)綁定則可以直接使用第三方賬號(hào)實(shí)現(xiàn)登錄本平臺(tái)。
4) 系統(tǒng)判斷如果用戶沒有綁定過(guò)則繼續(xù)判斷用戶是否有本地賬號(hào)。
5) 如果用戶有本地賬號(hào)則直接登錄,否則需要經(jīng)過(guò)注冊(cè)才能登錄。登錄的過(guò)程中系統(tǒng)會(huì)將UID與當(dāng)前賬號(hào)綁定。
4.2 功能2—資源上傳,自動(dòng)標(biāo)注
資源上傳使用jQuery File Upload插件來(lái)實(shí)現(xiàn)。jQuery File Upload是功能強(qiáng)大的jQuery文件上傳插件,它使用XHR作為上傳方式,可以實(shí)現(xiàn)批量上傳、超大文件上傳、圖片預(yù)覽、拖拽上傳、上傳進(jìn)度顯示、跨域上傳等功能。
自動(dòng)標(biāo)注通過(guò)語(yǔ)義識(shí)別機(jī)制實(shí)現(xiàn)。數(shù)據(jù)字典中預(yù)先定義了資源類別的名稱,用戶上傳資源時(shí)需要填寫資源的主題。我們?cè)O(shè)計(jì)了語(yǔ)義識(shí)別算法,分別檢索數(shù)據(jù)字典和用戶填寫的主題并進(jìn)行比較,若主題中能匹配到數(shù)據(jù)字典中的類別則將該資源標(biāo)注為該類別,否則給資源加上特殊標(biāo)注。數(shù)據(jù)庫(kù)中帶有特殊標(biāo)注的資源是語(yǔ)義識(shí)別機(jī)制無(wú)法識(shí)別的,這部分將由系統(tǒng)管理員人工對(duì)該類資源做出處理。具體流程如圖3所示。
語(yǔ)義識(shí)別算法的描述:
1) 查詢數(shù)據(jù)庫(kù)中資源類別表中的所有資源類別。
2) 定義用于存放查到的所有資源類別的類別集合和用于存放用戶填寫的資源主題的主題內(nèi)容集合。
3) 循環(huán)遍歷兩個(gè)集合,并判斷集合的各項(xiàng)是否有相同的。若存在相同項(xiàng)則說(shuō)明匹配成功,循環(huán)結(jié)束并將類別集合中的該項(xiàng)內(nèi)容保存;若沒有相同項(xiàng)則將預(yù)先規(guī)定好的用于特殊標(biāo)注的內(nèi)容保存下來(lái)并用于后續(xù)資源處理。
4.3 功能3—在線支付
系統(tǒng)提供用戶通過(guò)在線支付購(gòu)買金幣功能,我們通過(guò)接入支付平臺(tái)提供的SDK來(lái)支持移動(dòng)端以及PC端的多種主流支付通道。具體流程如圖4所示:endprint
圖4 在線支付時(shí)序圖
時(shí)序圖說(shuō)明:
1) 用戶在我們共享平臺(tái)選擇支付方式(微信或支付寶),商戶服務(wù)器給出響應(yīng)。
2) 用戶發(fā)起支付請(qǐng)求,服務(wù)器傳回支付憑證。
3) 用戶輸入支付信息完成支付,支付通道異步通知支付結(jié)果并展示支付結(jié)果頁(yè)面。
4.4 功能4—資源快速檢索,資源下載
資源快速檢索:數(shù)據(jù)庫(kù)中存放了各個(gè)資源的存儲(chǔ)位置,系統(tǒng)提供檢索功能供用戶篩選需要的資源。用戶下載資源時(shí),后
臺(tái)將獲取資源存儲(chǔ)位置,并通過(guò)流的方式實(shí)現(xiàn)下載。由于資源量的增大,檢索速度會(huì)降低。為了提高檢索的效率,我們利用Hadoop對(duì)大數(shù)據(jù)進(jìn)行分布式處理以達(dá)到對(duì)數(shù)據(jù)的存儲(chǔ)優(yōu)化。
4.5 功能5—資源評(píng)價(jià)正負(fù)向識(shí)別
系統(tǒng)設(shè)置了用戶對(duì)資源評(píng)價(jià)的權(quán)限,只有已下載資源的用戶才可對(duì)該資源進(jìn)行評(píng)價(jià)。系統(tǒng)會(huì)提供兩個(gè)選項(xiàng)(正向和負(fù)向)供用戶選擇,系統(tǒng)根據(jù)用戶的選擇將評(píng)價(jià)存入數(shù)據(jù)庫(kù)中并做累計(jì)操作,同時(shí)計(jì)算出兩種評(píng)價(jià)占總評(píng)價(jià)的百分比。最終,系統(tǒng)會(huì)將兩種評(píng)價(jià)的百分比展示到資源詳細(xì)介紹頁(yè)供用戶參考。
5 結(jié)束語(yǔ)
本文在開發(fā)過(guò)程中從大數(shù)據(jù)類別標(biāo)注和資源共享平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)的實(shí)際需求出發(fā),利用Java語(yǔ)言結(jié)合JSP以及MS SQL數(shù)據(jù)庫(kù)設(shè)計(jì)并實(shí)現(xiàn)了大數(shù)據(jù)類別標(biāo)注與共享平臺(tái)。在整個(gè)設(shè)計(jì)過(guò)程中,遇到了很多問題,但我們也在解決這些問題的同時(shí)對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)、數(shù)據(jù)庫(kù)語(yǔ)句優(yōu)化、MVC三層體系、JSP等都進(jìn)行了研究并有了更深一層的了解。通過(guò)對(duì)系統(tǒng)的需求分析、設(shè)計(jì)等一系列工作,系統(tǒng)被分為管理員后臺(tái)模塊和用戶前臺(tái)模塊。由于本人時(shí)間較為緊張,該設(shè)計(jì)仍然存在一些有待改進(jìn)完善的地方,例如沒有實(shí)現(xiàn)用戶與用戶之間的交互功能。希望通過(guò)以后對(duì)系統(tǒng)的不斷完善和優(yōu)化,能夠開發(fā)出更加符合實(shí)際需求的資源共享平臺(tái),方便人們的學(xué)習(xí)使用。
參考文獻(xiàn):
[1] 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò)[M].6版.北京: 電子工業(yè)出版社, 2013.
[2] 張海藩, 呂云翔. 軟件工程[M].4版.北京: 人民郵電出版社, 2013.
[3] 王珊, 薩師煊. 數(shù)據(jù)庫(kù)系統(tǒng)概論[M].5版.北京: 高等教育出版社, 2014.
[4] 明日科技. Java從入門到精通[M].3版.北京: 清華大學(xué)出版社, 2014.
[5] 馬克·艾倫·維斯. 數(shù)據(jù)結(jié)構(gòu)與算法分析: Java語(yǔ)言描述[M]. 3版.北京:機(jī)械工業(yè)出版社, 2016.