周文靜+汪元會+唐鑫+陸偉



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