基于Dubbo的创新团队管理系统的设计与实现
2022-03-11刘世雄张俊
刘世雄 张俊
摘要:创新创业训练计划在高校的普及促进了高校人才培养模式的转变,许多高校成立了专门的团队,由指导教师带领学生申报创新项目。但随着团队规模的扩大,团队的管理比较困难,因此设计并实现了基于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