基于Kudu+微服务架构的人才培养方案与课程管理系统应用研究与设计

2021-09-23 08:53黄振华张波尹益燕武亚丽肖红男宋雪
中国新通信 2021年15期
关键词:架构

黄振华 张波 尹益燕 武亚丽 肖红男 宋雪

【摘要】   本文为满足民办高校人才培养方案制定的参考分析数据需求,提出了基于Kudu+微服务技术支撑的人才培养方案制定与课程管理软件系统架构的研究与设计。

【关键词】    Docker    高可用    架构

引言:

民办高校人才培养方案的制定、管理,以及课程按人培的实施过程是高校教学的一般规律和方法。可以通过应用大数据技术对其方案制定的决策方向提供有效的数据参考支撑。利用微服务架构风格设计人才培养方案和课程管理系统,可在一定程度上解决手工编制与管理的事务性工作,提高工作效率和降低错误的发生,实现对教学管理的补充。

传统分布式文件存储系统HDFS+MapReduce + Hive的架构已无法满足当下的数据动态加载需求,Kudu存储引擎作为Hadoop生态圈中全新的列式存储系统,支持随机读写和实时数据分析,还支持数据增量更新,可与HDFS优势互补,通过Kudu+Impala接口,有力支撑了大數据平台的实时分析业务场景需求。[1]

一、应用技术研究

微服务作为SOA(面向服务架构)的一个子集,其服务更具灵活性、可实施性与可扩展性,强调可独立测试、独立部署、独立运行的软件架构模式,更符合现代互联网发展趋势的实践。[2]微服务的优势在于:技术优势。其服务组件化特征描述的是组件间是一种高内聚、低耦合的松散服务方式,是可独立部署的基础之一;业务优势。被划分出来的微服务之间相互独立,可独立运行,使得开发团队可以专心负责自己的业务,大大减少了团队间的协调和依赖;组织优势:根据以上优势,可将开发团队划分成若干小型自治开发小组,即可提高可扩展性,也可降低团队组织级别的风险。[3]

Kudu是Cloudera公司在2015年公开的一种纯列式面向结构化数据,支持低延迟随机读写且具有高性能处理数据能力的开源大数据存储引擎。对Hadoop生态圈的支持很高,也很好的支持Spark的内存计算框架和MapReduce的键值对计算框架。[4]

微服务是继SOA(面向服务的软件架构)之后流行的架构模式,是一种使用以小服务为开发单个应用的方式,可独立运行,使用轻量级通信机制,支持独立部署,形成了松耦合结构的“微服务”,此种方式更便于开发团队的小型化、简便沟通,以及独立开发。随着“Docker”容器技术支撑微服务的能力提高,在低层系统级的虚拟化机制更有利于微服务的标准化部署和降低资源占用。[5]

为了适应民办高等教育人才培养方案及课程实施管理需求的可扩展性和可修改性,以及使用的特殊性,该管理系统的架构设计也是评价一个系统的质量的一个重要标准。因此,采用集群技术、大数据存储、实时分析等技术,使系统达到需求目标的研究和实践是非常必要的,也是伴随高等教育管理工作的发展,在未来会满足更高新需求。

二、实训平台架构设计

对于民办高校人才培养方案制定和课程体系的实施过程中,人培内容包括专业介绍、培养目标、培养规格、就业岗位及任职要求、毕业要求、学制与学位、主干学科、专业核心课程、主要实践性教学环节、主要专业实验、课程设置及教学进程、有关说明等。课程信息管理包括课程所属学院和专业、课程自身属性(编号、开课号、类别、学分、学时、理论与实践学时划分、开课学期、任课教师、实验室名称与编号等)、相关教师属性(所属学院、专业、工号等)、相关实验室属性(实验室名称、编号等)、相关教材属性(教材性质等),还包括各类编码与数据统计,如:课程编号、开课号、学分、学时、理论与实践的学时等。对于一所高校,所涉及专业至少在30个以上,每个专业群中的各类课程至少在50门以上。随着学校的发展建设,每年都会产生至少和如上数据量相同的数量累加,在此基础上,运用大数据分析技术和微服务架构设计人才培养方案与课程信息管理是必由之路,也为将来的相关数据分析提供了必要的技术和数据支撑。综上所述,本文所研究的系统功能设计如图1所示。

对于系统中人才需求调查功能,可使用大数据获取技术从招聘网站上的招聘信息中爬取,根据岗位名称、技能要求、学历要求、工作经验要求、工作地点等关键词,将招聘信息保存在HDFS中;然后再使用ETL工具从HDFS中检索所需求的岗位名称及相关要求描述,再进行数据清洗及格式化后,保存Kudu中;利用Kudu+Impala提供的接口分别对清洗后的数据使用Hive和Spark进行分析;根据岗位和技能名称、学历和经验要求、工作地点等关键词的词频统计,筛选出招聘岗位的排名、同一类岗位中技能的排名,以及学历、经验年限、工作地点的排序等;最后形成一个按需指定的岗位、技能、学历、经验、工作地点的统计报表和图示。人才培养方案则是由此大数据分析结果进行选择按岗位+技能要求的按需人才培养方案和课程体系。

在岗位需求获取过程中务必遵守国家相关信息安全管理要求和互联网行业规定的前提下完成合法的数据获取。可以使用Selenium操作浏览器分析Http协议及URL,利用Python中jieba功能进行中文分词,创建特征字典库供文本分类和关键词提取。自此可获取岗位需求分析的数据源。

基于Kudu的人才需求调查,则是将Kudu存储引擎和Hadoop平台现有的Hive、Spark、Impala 等组件对接,在服务上层使用应用程序和ETL工具,通过Keetle完成抽取、转换、加载工作。使用Kudu列式存储技术和数据记录逐条写入,配合使用Kafka分布式发布消息订阅系统与 HDFS来接收实时数据。由于Hive无法支持对单条数据记录的改写和数据的增量更新,使用Kudu+Impala提供的JDBC接口,配合Kudu的流式实时数据写入,Impala 且采用内存计算模型,拥有超大数据规模交互式SQL解析能力,可高效利用内存和CPU快速返回SQL查询结果,可以高效地实现实时OLAP分析。HBase则是只适合纯粹的OLTP联机事物处理,Kudu则同时支持OLTP 和 OLAP 业务场景。本文所研究的系统架构设计如下图所示:

三、结束语

本文提出的基于Kudu+微服务的人才培养方案与课程管理系统设计是将大数据实时分析与人才培养方案制定决策有机的结合起来,用数据分析的结果为方案的制定提供实时的参考,也为高校的此项工作提供了一种有效的参考途径。

参   考   文   献

[1] 蒋春平,黄煜骁,周晓君. 基于Kudu的实时业务应用场景解决方案. 电信科学. 2020年第21期

[2] 王磊. 微服务架构与实践[M]. 北京:电子工业出版社.  2016年:24-26

[3] 罗伟. 基于微服务的智慧图书馆系统架构研究. 大学图书情报学刊. 2020年第38卷第5期:111-113

[4] 王瑞通,李炜春. 大数据基础存储系统技术研究. 计算机技术与发展.  2017年第27卷第8期:66-72

[5] 官东亮. 基于微服务的业务平台架构重构. 电信科学.  2020年第9期:75-83

[6] 汤雨,林迪,范爱华,吴薇薇. 大数据分析与计算. 清华大学出版社. 2018年3月第1版

[7] 李天目. 大数据云计算服务技术架构与实践. 清华大学出版社. 2016年1月第1版

[8] 曾刚. 实战Hadoop大数据处理. 清华大学出版社. 2015年8月第1版

[9] 李金刚,赵石磊,杜宁. 软件体系结构理论及应用. 清华大学出版社. 2013年7月第1版

猜你喜欢
架构
基于模糊理论的自主式交通系统多维架构映射关系建模
基于BS架构的内部人员绩效评分系统设计研究
基于云控平台雾计算架构的网联汽车路径控制
未来可期 中科院计算所“香山”高性能处理器架构浅析
AMD公布最新路线图:2022年前推出5nm Zen 4架构处理器
苹果英特尔分手,Arm最高兴?
AMD发布首款Vega计算卡:16GB HBM2显存
沃尔沃汽车宣布启动全新CMA豪华紧凑型整车平台架构
VIE:从何而来,去向何方
企业架构需要统一标准