胡凱強 李昌清 陳圣文 薛孟武 李樂


摘 要:基于大數據技術的智聯高校與智能推薦采用B/S模式,利用SSM進行設計和開發,通過Hadoop生態對部分有用數據進行分析,利用微信小程序展示數據。開發工具為lntelliJ IDEA、微信開發者工具、Hadoop、Zookeeper、Hive等。基于大數據技術的智聯高校與智能推薦使用微信小程序,操作簡單,維護方便,具有很高的實用性。
關鍵詞:大數據;智能推薦;學科學習;微信小程序
0 引言
21世紀已進入了網絡時代,雖然獲取信息資源的方式增加了許多,但是網絡上的信息資源質量依舊是良莠不齊,并且甄別資源又浪費了大量的時間。加上學習軟件的眾多,使同學無從下手,課程的質量參差不齊,不知如何選擇。
在大數據對網絡信息時代發展的重要推動下,為了解決這一問題,利用大數據和爬蟲技術獲取網絡上的大量資源,然后對數據進行清洗和批處理后存入數據庫。再根據學生的專業和興趣做出描述性分析,使用算法將學習資料視頻數據智能推薦給對應學生,鼓勵大學生自主學習,解決自身學習上的問題,為學生節省了大量的時間。本項目就是整合一些學習平臺的學習資源,并給出最符合該專業學生所需要的學習視頻及資料。
1 基于大數據技術的智聯高校與智能推薦的總體架構
基于大數據技術的智聯高校與智能推薦系統的用戶分為系統管理員和學生用戶。按照角色設計的基本思想,即基于角色的訪問控制(Role-Based Access Control,RBAC)通過用戶角色而不是僅通過用戶角色來標準化對功能和數據的訪問。用戶訪問基于提供給用戶的角色定義,本系統設有管理員角色和普通用戶角色,且每個角色的相關權限和功能并不相同。某模塊的簡易模型如圖1所示。
基于大數據技術的智聯高校與智能推薦的主要功能包括:(1)系統管理員,可以對數據庫進行維護、填寫和發布公告、視頻發布、用戶管理、評論管理、失物管理等。 (2)學生用戶,能夠發表評論、查看其他用戶評論、修改個人信息、瀏覽視頻、收藏視頻、點贊視頻、上報失物、失物認領等功能。
1.1 Hadoop生態數據存儲總體設計
Hive[1]是基于 Hadoop[2]的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供簡單的SQL查詢聚合功能,可以將SQL語句轉換為MapReduce任務運行。在Hadoop Mapreduce 框架下利用Zookeeper[3]實現master和slave之間的心跳線維護,在此基礎(Hadoop HA)上搭建(Hive HA)保證數據庫的連接。具體搭建模塊如 表1—2所示。
1.2 系統管理員模塊設計
系統管理員模塊的主要功能有:發布公告、推薦視頻管理、模塊管理、審核用戶評論、用戶管理。
(1)發布公告:管理員可以發布公告展示到微信小程序首頁。
(2)推薦視頻管理:管理員對推薦視頻進行增刪改查。
(3)模塊管理:管理員對模塊的增刪改查,如失物招領、閑置交易、問題解答類模塊的管理。
(4)審核用戶評論:用戶發布評論后只有通過過濾器,審核通過后才會顯示到微信小程序中,這樣可解決違規評論的出現。
(5)用戶管理:對注冊用戶的管理,面向用戶操作,如有用戶違規可以注銷該用戶。
1.3 注冊用戶模塊設計
注冊用戶模塊的主要功能有:填寫個人信息、瀏覽其他用戶發布的信息、瀏覽學習視頻、發布評論留言。
填寫個人信息:注冊用戶通過使用微信小程序,打開微信,搜索小程序。進入頁面用戶點擊登錄,授權,獲取用戶的openid以及用戶微信的相關信息[4]。此時判斷用戶是新用戶還是老用戶,并進行用戶個人信息的填寫。
瀏覽其他用戶發布的信息:小程序中可以瀏覽個人發布的信息,可供瀏覽的分類模塊有失物招領、閑置交易、問題解答等。
瀏覽視頻學習:進入視頻觀看頁面,根據學院專業信息,有默認的推薦視頻(默認排序),也可以按照點贊數排序,同時可以搜索科目進行模糊匹配,給出推薦,瀏覽視頻即可以跳轉到相對應的學習頁面。
發布評論留言:對于他人的發布,用戶如果想詳細了解該事情,可以發布留言等待博主的回應或者獲得他人的解答。
1.4 技術選擇
使用Java語言編寫后端模塊采用Spring+Spring MVC+MyBatis即SSM來構建項目,使得代碼復用,可維護性大幅度提升,aop提供切面編程,同樣增強了生產力[5]。使用微信小程序方便用戶的點擊訪問。通過后端提供接口,前臺訪問接口。通過Ajax在瀏覽器與Web服務器之間使用異步數據傳輸(HTTP 請求),通過get或post方法與后端服務器交互。
2 基于大數據技術的智聯高校與智能推薦的實現
基于大數據技術的智聯高校與智能推薦的實現采用了B/S和C/S的混合設計。C/S使用了微信小程序和服務器端的交互,B/S使用網頁和服務器端的交互。項目的總體實現使用了MVC思想,有推薦信息表示層、推薦信息邏輯層、推薦信息數據層。
第一層是表示層,是用戶進行交互信息的界面,用戶通過微信小程序查看推薦的學習視頻,也可以使用瀏覽器查看推薦的分析echarts圖。
第二層是推薦信息邏輯層,介于表示層和邏輯層之間。負責接收前臺數據,執行響應程序將結果傳遞給表示層中,對用戶請求的內容,與數據庫連接后,獲取數據進行邏輯處理。如:用戶對視頻的查詢是按照播放量查詢,還是按照點贊量查詢。
第三層是數據層,主要是對數據庫的訪問。微信小程序用于獲取用戶間的信息,將用戶的操作、發布等信息保存下來,通過大數據平臺的分析會得到有用的推薦數據,將推薦數據存儲到數據庫中,獲取數據庫中的信息將結果展現到echarts圖,使得3層之間具有很高的獨立性、強擴展性。
3 結語
基于大數據技術的智聯高校與智能推薦平臺極大地方便了大學生的學習。大學生在空閑時間可以登錄該小程序,通過已有視頻數據的推薦來學習。同時也可以通過發布一些帖子和學長交流。這樣既可以讓大學生對大學的課程有更深刻的理解,又可以豐富業余生活和學習課外知識,在他們畢業時可以獲得更多的技能,進而可以促進大學生的就業。
作者簡介:胡凱強(1999— ),男,河南林州人,本科生;研究方向:Java,大數據運維。
[參考文獻]
[1]APACHE H.用戶和hive SQL文檔展示如何編程hive[EB/OL].(2020-09-06)[2021-08-20].https://cwiki.apache.org/confluence/display/Hive/Home#Home-UserDocumentation.
[2]Hadoop穩定文檔.Apache Hadoop 3.2.2[EB/OL].(2021-01-03)[2021-08-20].https://hadoop.apache.org/docs/stable.
[3]Zookeeper文檔.Because coordinating distributed systems is a zoo[EB/OL].(2020-11-26)[2021-08-20].https://zookeeper.apache.org/doc/r3.6.2/index.html.
[4]微信官方文檔.小程序API參考[EB/OL].(2021-03-02)[2021-08-20].https://developers.weixin.qq.com/miniprogram/dev/api.
[5]黑馬程序員.Java EE企業級應用開發教程[M].北京:人民郵電出版社,2017.
(編輯?王雪芬)
Design and implementation of intelligent recommendation for Zhaopin
university based on Big Data technology
Hu Kaiqiang, Li Changqing, Chen Shengwen, Xue Mengwu, Li Le
(School of Software, Henan University of Science and Technology, Luoyang 471003, China)
Abstract:Zhaopin university and intelligent recommendation based on Big Data technology adopt B/S mode, use SSM to design and develop, through Hadoop ecology to some useful data analysis, use WeChat mini program to display data. The development tools are lntelliJ IDEA, WeChat developer tools, Hadoop, Zookeeper, Hive and so on. Based on Big Data technology, Zhaopin university and intelligent recommendation use WeChat mini program, which is simple to operate, convenient to maintain and has high practicability.
Key words:Big Data; intelligent recommendation; subject learning; WeChat mini program