劉世雄 張俊






摘要:創新創業訓練計劃在高校的普及促進了高校人才培養模式的轉變,許多高校成立了專門的團隊,由指導教師帶領學生申報創新項目。但隨著團隊規模的擴大,團隊的管理比較困難,因此設計并實現了基于Dubbo的創新團隊管理系統,讓導師對團隊的管理更加得心應手,同時也方便了團隊內成員的互相了解。通過分析系統的需求,采用Dubbo+Zookeeper分布式架構、SpringBoot框架、FastDFS文件服務器、LayUi等技術實現了團隊新聞管理、權限管理、成果管理、成員管理、首頁管理等功能,以可視化的頁面解決了創新團隊管理中常見的問題。
關鍵詞:創新團隊;分布式;管理系統;可視化
中圖分類號:TP311? ? ? ? 文獻標識碼:A
隨著自主創新觀念的重要性在中國的普及,時代呼喚著高素質的創新與創業人才[1],高校大學生作為推動社會發展、進步的主力軍,大學生創新創業訓練計劃順應而生。國內自主創新意識起步較晚,但是各大高校都有成立團隊積極申報這些創新計劃,隨著團隊規模的擴大,團隊的管理成為一個難點。因此設計并實現Dubbo的創新團隊管理系統,既方便導師對團隊進行管理,增強了團隊內成員的積極性、凝聚力,也方便了團隊未來招新工作的宣傳。
1 技術選型
1.1 Dubbo+Zookeeper分布式架構
Dubbo是阿里設計并開發的一款高性能、開放源碼的RPC服務框架,只需要進行簡單配置,就可以利用透明化的RPC遠程服務調用[2],將遠程接口的調用變得跟調用本地接口一樣。
傳統項目從單體應用到分布式演變后,必定會產生多個節點之間的協同問題,Zookeeper的誕生應用于分布式應用程序的協調服務。不同服務器上的應用程序均可使用它公開的API進行服務注冊、發現和同步節點狀態、配置信息等。
1.2 整體架構
本系統通過集成Dubbo+zk實現分布式架構,采用LayUi+thymeleaf模板引擎技術作為前端頁面技術支持,SpringBoot微服務框架作為后臺服務支撐,引入FastDFS作為獨立文件服務器、 MYSQL、Redis作為數據存儲工具。在系統的實現中,各個微服務的Controller接收來自頁面的請求,再利用Zookeeper在Dubbo上找到對應的后臺服務接口進行服務調用,將數據以數據流的形式返回給Controller。傳統的單體架構改進成了如圖1所示的分布式架構,不僅僅降低了系統的耦合度,還實現了高可用的系統架構。有利于前后端的分離開發[3]。
2 系統分析
2.1 需求分析
基于Dubbo的創新團隊管理系統主要是為了團隊導師更加方便地對團隊進行管理、增進團隊成員之間的了解和團隊信息透明化。提供了團隊熱點新聞展示、動態展示、資源成果的展示、信息管理、信息發布、成員管理等功能。通過團隊信息建立團隊信息數據倉庫,以可視化的界面讓團隊導師對團隊目前的情況、發展一目了然,實現了團隊成員培養和成果培育的有效結合[4],同時也促進了團隊的發展。本系統按功能性和非功能性需求分析可以分為下面幾個模塊。
2.1.1 系統功能性需求分析
1)信息管理模塊:普通用戶可以對團隊內個人已發布的信息(熱點新聞、團隊動態、成果和資源)進行更新、刪除。管理員級別以上的用戶則可以對所有成員發布的信息進行管理。
2)信息發布模塊:所有用戶均可進行信息的發布(熱點新聞、團隊動態、成果和資源)。
3)登錄注冊模塊:權限分為普通成員和一般管理員以及頂級管理員。頂級管理員可以對成員信息、發布的信息、新用戶的審批進行管理。一般管理員能進行除用戶審批以外的所有操作。普通成員可以進行一些資源信息的發布和管理。
4)用戶管理模塊:頂級管理員可以對進行注冊的用戶進行審批,決定是否同意該用戶加入團隊。
5)前端展示模塊:對已發布的信息(熱點新聞、團隊動態、成果和資源)和團隊照片以及招新宣傳片進行展示,無須登錄即可使用檢索功能將自己感興趣的內容展示出來。
2.1.2 系統非功能性需求分析
1)可靠性:由于系統在服務器上進行部署,在收到大量訪問請求時,系統服務能夠保持穩定性。
2)易用性:能夠以可視化的界面將團隊的成果、資源和近期動態進行對外展示和后臺管理,方便用戶使用。
3)安全性:系統具有能夠防范普通網絡攻擊的措施,具有流量監控、惡意攻擊日志記錄等機制,能夠有效阻止暴力破解。
2.2 系統的功能模塊設計
本系統從結構上分為前端展示和后端管理兩個應用模塊。前端展示系統主要是對團隊內的動態、資源和成果等信息的展示與查看、檢索、下載。后端管理系統主要是對用戶已經發布的信息進行管理、用戶管理等。系統架構圖如圖2所示。
2.2.1 前端、后臺應用簡介
前端用于展示創新團隊的熱點新聞、成員照片、團隊成果資源和近期團隊動態等幾個模塊。用戶在瀏覽時可以進行成果資源的下載、檢索等功能。后臺頁面可以進行團隊最近舉行的會議和活動的新聞信息發布、個人最近取得的一些成果和資源的發布、查看團隊內成員信息以及對新用戶的審批等操作。
3 系統實現
基于Dubbo的創新團隊管理項目主要是為了方便團隊導師更加便捷地對團隊進行管理,促進團隊的良性循環發展。本節主要從信息的發布、信息的管理、用戶的管理和信息的展示幾個模塊進行簡要描述。
3.1 信息的發布
系統信息的發布主要是團隊熱點新聞的發布以及團隊近期動態、個人獲得的一些成果、資源信息的發布。系統采用富文本編輯器進行內容的編寫,提交時將內容與圖片一一對應存入數據庫。
保存信息關鍵代碼:
ResultVO resultVO = new ResultVO();
dyNamService.setDyNam(dyNam);
resultVO.setResult(ResultVO.SUCCESS);
return resultVO;
上傳圖片關鍵代碼:
map = ImageUtil.uploadImag(process.resize());
return new ImageInfoVO(true, (String) map.get("fileName"));
3.2 信息的管理
信息的管理主要是對已發布的信息進行信息的回顯編輯和刪除操作,以列表的形式將信息和對應的發布人進行展示,方便導師對信息進行統計和分析。信息管理界面如圖4所示。
newsService.updatanew(newsInfo);
resultVO.setResult(ResultVO.SUCCESS);
return resultVO;
3.3 用戶的管理
用戶的管理主要是管理員對團隊成員基本信息的管理,以列表的形式顯示所有成員信息并進行編輯操作、對成員具有的權限進行管理、對成員的密碼初始化操作和實現對新成員的審批操作。用戶管理界面如圖5所示。
3.4 信息的展示
無須登錄即可在本系統瀏覽團隊近期動態、熱點新聞、所獲成果和發布的資源。用戶可以實現信息檢索、資源下載等功能。信息展示圖如圖6所示。
4 結束語
目前分布式架構是網站開發的常用架構[5],將后臺服務進行集群分布式部署,能夠有效地將網絡訪問流量分散開來,并達到系統高可用狀態。實現了創新團隊管理系統,能夠有效地解決團隊管理中常見的一些問題,為團隊將來的發展提供有力保障。
參考文獻:
[1] 許德濤.大學生創新創業教育研究[D].濟南:山東大學,2013.
[2] 趙子晨,朱志祥,蔣來好.構建基于Dubbo框架的Spring Boot微服務[J].計算機與數字工程,2018,46(12):2539-2543,2551.
[3] 崔益彪,上官聲標,曹驄騰,等.基于Dubbo框架和微信生態構建O2O新零售支撐體系[J].信息通信技術,2019,13(3):56-63.
[4] 邊亞琳,俞曉平.基于本科生導師制的團隊培養模式研究[J].教育與職業,2011(18):191-192.
[5] 楊柳.基于Dubbo的高校貧困生資助系統設計與實現[D].合肥:安徽大學,2019.
【通聯編輯:代影】
收稿日期:2021-05-26
基金項目:攀枝花學院大學生創新創業訓練計劃項目(項目編號:2020cxcy037 )
作者簡介:劉世雄(1999—),男,本科生,主要研究方向為軟件工程;張俊(1993—),男,四川樂山人,通信作者,助教,碩士,主要研究方向為大數據開發。
3430500338201