APP下载

基于云技术的智慧校园平台的开发与设计

2018-08-10王华威李小叶曹文涛刘元昕

电子设计工程 2018年15期
关键词:分布式身份校园

王华威,李小叶,曹文涛,刘元昕

(国网天津市电力公司培训中心天津300170)

校园网经过十几年的发展,规模越来越大,功能也越发完善,已经逐步成为各高等院校管理学生最有效的手段之一[1-2]。然而,各高校使用的信息化系统存在共享性差,软硬件资源利用率低,数据类型和规模剧增造成服务器维护困难等问题[3]。因此,基于云计算技术,本文结合虚拟化、物联网等技术设计并开发了一套智慧校园平台,力图调整并再分配现有的高校资源,提高高校科研计算能力和管理效率,进一步推动高校管理的快速健康可持续发展。

1 云计算技术

云计算实际为一种按需付费的模式,该模式通过将服务器、网络、应用软件和存储介质等计算机资源组件成资源共享池为客户提供便捷、可用、按需的网络访问。这里的云即代表了网络[4]。云计算中根据安全性和可靠性需求,存在公有、私有和混合云3类基础软硬件设施架构[5]。

1.1 服务模式

云计算中存在3种服务模式,分别为:基础设施即服务,即通过互联网技术联络并使用云计算中分布于各处的各种CPU、网络带宽、存储介质等计算机基础设施资源的相关服务模式,如Amazon的网盘云存储服务;软件即服务,即用户通过互联网以Web形式访问云计算服务提供商所提供的云端软件,并依照实际使用资源量和时长租用应用软件的交付模式,如SalesForce研发的CRM软件的使用;平台即服务,该服务模式为上述两种服务模式的融合,如Windows Azure平台服务。

1.2 相关技术分析

云计算技术的核心为Hadoop技术,该技术实质为一个计算框架,专门用于处理大规模的各种数据,为各种应用程序开发提供可靠且稳定的数据处理接口。进而为开发者提供快捷的分布式程序开发,而无需关注底层架构的具体实现细节,如图1所示[6]。Hadoop技术具有可靠、低成本、高效和高扩展等特性,是本文智慧校园平台中云技术的实现架构,其框架结构主要由分布式文件系统HDFS和基于HDFS的计算引擎MapReduce组成。

图1 Hadoop框架图

1.2.1 HDFS

如图2所示,即为HDFS的体系结构示意图。某个HDFS集群由处于主结构位置的一个NameNode以及几个从结构位置的DataNode构成[7]。主服务节点是NameNode,工作状态下负责对各工作节点的运行状态进行实时检测和汇总,并将block和所对应的DataNode关系记录下来。同时,也可用于文件系统中命名空间的管理,诸如打开以及关闭文件等操作;工作节点则是DataNode,在NameNode的调度下对block执行诸如存储、处理或是计算等操作指令。用户最终只需通过使用客户端,便可与NameNode进行交互从而获取所需的文件数据。值得注意的是,文件真正的I/O操作是由所在的DataNode负责执行的。

图2 HDFS基本结构示意图

1.2.2 MapReduce

MapReduce本质上是一个计算模型,专门用于编程,尤其是能对超过1TB的大规模数据集进行并行计算[8-9]。此外,MapReduce也是调度模型,用于执行作业时的资源调配。结合Hadoop的特点与需求,专门设计了相应的Hadoop MapReduce。

首先数据按照设定参数被分块,并在多台计算机上启动同一程序的副本。在所有副本中选出一个作为本次作业的Master,其余副本则为Slaver并运行Reduce或者Map任务。之后,获得Map任务的Slaver利用Map函数将输入键值对重新处理,产生中间键值结果缓冲在内存中,经分区函数分隔写入磁盘,相应的位置信息会经由Master发送到各Reduce工作节点。这些Reduce工作节点利用远程过程调用来获取并处理数据,经排序将相同key对应的value组建集合。value集合再经遍历排序传给Reduce函数进行合并化简操作,写入HDFS文件系统中。最后,所有任务完成,Master唤醒用户应用程序,继续处理和执行其他作业。

2 智慧校园平台

2.1 智慧校园平台的设计

2.1.1 设计架构

如图3所示即为本文设计的智慧校园平台的框架图。自下而上分别为基础设施层、平台支撑层、软件应用层,周边辅助以信息规范体系和安全保障体系[10-15]。

基础设施层,即利用大量硬件资源组建资源池,为上层提供硬件支持,该层包括服务器、互联网、存储器以及物联网传感器等设备,并具有较强的后期扩展能力。

图3 智慧校园平台框架图

平台支撑层是本文设计的重点,基于基础设施层提供相关服务。该层包括用于分布式数据存储和计算服务的虚拟分布式存储与计算(DSCP)平台、用于用户认证和登录的统一身份认证(UAP)平台以及用于Web Service注册和查找服务的Web服务统一访问平台。

软件应用层,则是调用各应用系统,借助平台支撑层提供的各种服务,为用户实现课程管理、科研计算等具体功能。

2.1.2 拓扑网络结构

平台支撑层的使用和服务提供需要相应的基础硬件来实现:DSCP平台用于数据存储和计算,因此需要集群的支持;UAP平台用于身份识别,需要身份认证服务器的支持;而Web平台用于Web的相关服务,加上用户数据存储均需要数据库的支持。这些基础设施安装在学校私有云,并经虚拟化后向上层提供服务。因此,最终基于云技术的智慧校园平台相关拓扑结构如图4所示。

基于支撑层提供的服务,本文的智慧校园平台以Web Service的形式向用户开放并使用。

图4 智慧校园平台拓扑结构示意图

2.2 DSCP分布式存储及计算平台设计

在平台设计时,由于需要满足技术的先进性和开发成本等要求,因此在底层使用Hadoop云计算框架,并对基础设施进行了封装,用户只需将精力放在分布式存储和计算的开发及使用上即可。DSCP分布式存储和计算平台设计主要包括数据的存储、计算和共享、用户管理和资源调度的设计,这里重点介绍数据存储和相应的计算服务功能实现的设计。

数据存储服务所用的底层文件系统为HDFS,使用的是Linux或Unix操作系统。因此,设计了父用户DFSProxy代理对象,用于访问读写底层文件系统,避免了操作权限的问题。所设计的主要类,如图5所示。

图5 数据存储服务中主要的UML类示意图

数据的计算服务主要安装并提供分布式计算所需的软件操作运行环境,并重点考虑设计作业运行任务的相关调用方法以供学校用户使用。本文基于的是Hadoop框架,相应的也应在MapReduce分布式计算框架的基础上进行设计。因此,学校用户向平台提交的计算作业需满足该计算框架的运行标准。

2.3 UAP统一身份认证平台设计

UAP统一身份认证平台设计过程中,考虑到用户认证所使用的数据源具有异构性,因此本设计采用了Spring IOC技术。最终,本身份认证平台设计主要包括用户和身份认证、单点登录和客户端代理几个模块,此处重点介绍用户和身份认证模块服务功能实现的相关设计。

用户认证部分的功能是用于认证用户上传提交的表单及凭证信息。为了避免中间过程被他人盗取,用户认证无误且通过后会将相关凭证信息重新封装成为一个不涉及用户敏感隐私信息字段的全新对象。

过滤器将用户登录时输入的用户名、密码等表单凭证信息传给Web应用,经Web Service或其他的API方式调用相关身份认证方法完成认证。本文在此设计了底层数据库和解耦的相关交互代码,只将身份认证接口提供给开发者,解决了异构性的问题。

身份认证服务针对Web层暴露,对HTTP提供服务。相关接口负责认证管理器、应用管理器和票据管理器的调用,以实现用户认证和单点登录的相关验证。该接口可根据应用需要选择用户认证亦或是单点登录服务的Web service方法。相应的身份认证相关接口UML类可见图6所示。

图6 身份认证相关接口UML类示意图

2.4 WSAP服务统一访问平台设计

上述两个平台暴露的相关接口方法,组成Web服务供用户访问和使用;平台支撑层中各子系统之间也会上传发布自身的Web Service进行内部数据共享。最终,用户看到的是一个Web形式的WSAP服务统一访问入口,诸如教务系统、课程管理、天气等物联网信息服务经注册与添加后,用户可通过此入口进入并访问。相应的WSAP整体框架设计示意图,可见图7。

图7 WSAP框架设计示意图

3 智慧校园平台的应用和实现

3.1 平台开发环境和集群部署

文中用6台通用计算机搭建Hadoop集群,安装Ubuntu Linux系统,所设计的智慧校园平台建立在此基础设施上的云计算环境中,使用的开发语言是Java。

6台计算机设置的主机和IP地址对应关系依次为:192.168.1.113—SmartCampus-01(NameNode),…192.168.1.118—SmartCampus-06(剩余 5台为 Date⁃Node)。

3.2 DSCP分布式存储及计算平台的实现

数据存储访问实质是对HDFS系统文件执行读写操作,因此必然涉及文件的上传和下载。上传可由copyFileFromLocal(File srcFile,String dst)(属于代理类DfsProxy)方法实现,相关代码如下所示。

数据下载操作,则由代理类下getFileStream(String uri)来实现,具体代码实现可由下述代码所示。

数据计算服务主要是针对用户提供相应的虚拟计算环境,对定制作业提供runJobFromJar()方法以调用Jar包形式的MapReduce源代码,实现可见下列代码。

3.3 UAP统一身份认证平台的实现

身份认证功能的实现包括服务器端和客户代理端的实现,服务器端身份认证用户验证配置实现如图8所示。

图8 身份认证服务器端用户验证配置图

3.4 平台综合测试

当学校用户登录访问智慧校园平台的信息门户时,平台系统会跳转到UAP上,相应的Web登录界面如图9所示。

登录成功后,则跳转到WSAP首页。由于并未添加诸如教务系统等服务,此处界面仍是空的。若是选择访问DSCP平台进行存储和计算,则链接地址会发生跳转,如图10所示。用户可以在此界面提交作业并计算。总体上看,本文的智慧校园平台运行良好,达到了预期的目标。

图9 智慧校园登录界面图

图10 DSCP平台首页图

4 结束语

文中基于云技术,再结合虚拟化、物联网等技术设计并开发了一套智慧校园平台。其中,包括了DSCP分布式存储和计算、UAP统一身份认证以及Web服务统一访问等服务支撑平台。经过测试,该智慧校园平台运行良好,达到了预期的设计目标,具有调整现有高校资源、提高高校科研计算能力以及提升管理效率的优势,也为其他基于云技术的智慧校园平台开发和实现方案提供了技术参考。

猜你喜欢

分布式身份校园
分布式光伏热钱汹涌
跟踪导练(三)(5)
分布式光伏:爆发还是徘徊
身份案(下)
校园的早晨
春满校园
他们的另一个身份,你知道吗
基于DDS的分布式三维协同仿真研究
放松一下 隐瞒身份
西门子 分布式I/O Simatic ET 200AL