主页 > 案例大全 > 论文在线分享-基于WEB的集群管理系统设计与开发

论文在线分享-基于WEB的集群管理系统设计与开发

2021-04-17 09:34:53

  网络技术水平的发展如今可谓日新月异,数据传输量正在日益庞大,现今的Web服务器性能逐渐无法满足人们的需求,服务器性能与数据传输量的这一矛盾在一定程度上限制了网络技术的发展。Web集群管理系统与传统的Web管理系统不同,Web集群管理系统是由两个或多个Web服务器组成的,当用户发送请求时,集群服务器会将众多的请求分散到系统中不同的节点来处理,从而达到优化系统服务器性能的目的。集群管理系统不仅能提高服务器的性能,还具有恢复服务器单点故障等能力。不仅如此,集群系统还可以通过大规模生产来降低成本。为了更好的实现服务器的管理和配置,解决Web服务器性能与数据传输量之间的冲突,本文研究并实现了基于Web的集群管理系统的设计与开发,该系统是采用MySQL作为管理数据库并在Eclipse上使用SSM框架进行开发的一个管理系统。

  1.1集群管理系统的开发背景

  近些年来,计算机科学技术在现代社会飞速发展,互联网融入了整个世界、整个社会中,互联网已经逐渐成为我们日常生活的必需品。由于互联网的融入,我们进入了信息大爆炸的时代,服务器每天需要处理我们产生的大量数据信息,如图像、音频、视频、社交网络内容等等。我们常见的Web服务器是为用户提供服务的,它能接收到用户在浏览器上发起的服务请求并做出响应[1]。服务器响应的速度与同时发起的请求量有关,例如在同一个服务器上只有一个用户发起请求后作出的响应速度要比多个用户同时发起请求后响应的速度快。用户的使用体验与响应速度的快慢有关,响应速度慢就会严重地影响用户的体验。因此提高服务器的响应速度成为了如今计算机要面临的问题之一。

  传统的单机服务器只有一台主机,它不能进行大规模的升级和扩张,因此单机服务器无法满足有较高要求的用户或企业。机架式服务器虽然体积较小,能为企业降低机房托管费用,但其扩张性和散热能力都不是很理想,无法实现完整的设备扩张,因此它的应用范围十分有限,它只能专注于像远程存储这样的应用。集群技术是对多台服务器进行资源的统一分配和管理,集群服务器会将用户的请求分散到系统中不同的节点来处理,从而实现性能的优化。集群技术能够满足现今庞大的数据量传输需求,是在计算机领域实现超大规模运算的重要发展方向之一。

  1.2集群管理技术的现状

  集群管理技术并不是一个新兴的技术,早在1908年,E.C.Mo1ina发表的“中继”曲线理论就说明了一群用户同时使用中继线路时可以在很大程度上提高中继线的利用率。到了1983年,Digital公司为了实现负载平衡而研发了VAX cluster[2],他们是通过允许多台计算机同时访问一个共享磁盘来实现这一目的的。1996年,微软公司开发了基于Windows NT平台的高可用集群服务器软件并为其制定了一套标准,用对应的程序接口进行统一的管理[3]。同期,NCR公司发布了基于Windows NT平台的LifeKeeper2.0集群系统,该系统不仅能支持16个服务器节点,还能为用户提供一个拥有完全容灾机制的解决方案。1999年,联想公司发布了一款节点全部采用成本低的小型机器构成的计算机集群,降低了成本的同时还具有高性能。2000年,中国自主研发的“自强2000-SUHPCS”在上海诞。在2008年的时候,NEC公司发布了ExpressCluster X系列的集群管理软件,该软件具有高可用性,并在远程容灾、故障检测、系统维护方面表现突出。2013年,阿里巴巴公司因为服务器集群规模突破5000台而成为世界首家对外可提供5K云计算服务的公司。

  由上述内容可知,高可用性的集群管理系统具有良好的发展前景。虽然如今的集群技术广泛地应用于各大单位机构,但由于大数据和人工智能正处于快速发展的阶段,人们对集群的性能、可靠性、稳定性提出了更高的要求。如何保证集群稳定性的同时降低系统的复杂度成为了各大研究机构、企业和学者的重点研究对象。

  1.3课题主要研究目的及意义

  传统的服务器受到其体积、功率等自身因素的影响,无法进行大规模的升级和扩张来提高性能,因此无法解决服务器性能与庞大的数据传输量之间的矛盾,也就无法满足人们对更好的服务器性能的需求。本次课题的主要研究目的是为了收集用户对集群管理系统功能的需求,根据人们可自行选择所需要的服务器资源的功能进行设计,用在线画图工具ProcessOn建立系统模型,通过使用计算机科学与技术专业所学的知识来开发一个基于Web的集群管理系统。该系统将用于用户申请集群资源,以及管理员对用户申请的审批、任务状态的更新。实现了服务器资源有效利用的同时提高服务性能。

  从目前的来看,现有的用户能自主选择申请集群服务器资源的系统还不够完善,因此开发一个集群管理系统很有必要。从供应商角度来看,该系统不仅能大大降低了投入的成本,还提高了用户的使用体验。从用户的角度来看,满足了自身能自主申请服务器资源的需求。

  1.4论文的基本结构

  本文的基本结构包含以下九个模块:

  第一个模块为绪论,主要介绍了集群管理系统的研究背景和集群技术的发展过程,引出课题研究的内容及意义,并介绍了本篇论文的基本结构。

  第二个模块是对集群系统的基本概念、分类及优缺点进行详细的介绍。

  第三个模块是对本设计使用到的关键技术进行简单的介绍。

  第四、五、六、七模块叙述了Web集群管理系统的需求分析、设计、实现测试和结论。

  第八个模块为谢辞。

  最后一个模块为参考文献。

  2集群系统

  2.1集群系统的基本概念

  集群是由若干个相互独立的计算机通过网络互联而组成的一个整体,每个计算机都是集群系统中的一个节点,它们通过单一的系统模式进行管理。当每个节点运行相同的软件时集群系统会把该节点虚拟成一台主机系统,为应用和客户端提供服务。通常情况下,集群中所有的节点都会拥有一个统一的名称,所有的网络用户都可任意组合集群内的所有资源来运行服务。当用户与集群系统互相作用时,用户通常并不会意识到某个节点的存在,而是把所有节点看成一个整体,因而,在某种意义上集群就像是一个独立的服务器,集群系统除了能提高服务器的性能和恢复单点故障的能力外,它还具有很强的灵活性[4]。管理员可以通过增加或删除节点来使集群系统适应于不同的环境。

  2.2集群系统的分类

  集群系统可以按照功能的不同分为以下3类[5]:

  (1)负载均衡集群:负载均衡集群主要解决高并发问题[6],当发生数据处理需求较多的情况时,负载均衡集群中的调度器就会对任务进行分配处理,调度器是通过定义的调度方式从下面的服务器群中选择一个合适的服务器来响应客户端发送的请求,这样就使得每个节点的性能得到充分的发挥,从而提高集群系统的整体性能。

  (2)高可用集群:高可用集群适用于单点故障的情况[7],当集群中某台服务器突然失效,高可用集群系统就会把故障服务器的服务转交给附近正常运行的服务器上,从而使任务不发生中断。在高可用集群中无论哪个服务器发生故障,总会有一个正常的服务器来替代它。对用户来说,发起的任务可能只是卡顿了一下,无法察觉到服务器的故障。

  (3)高性能集群:高性能集群适用于处理庞大的任务[8],当用户发起某个很大的任务请求时,高性能集群会通过并行处理机制把这个大任务按照某种约定划分成许多的小任务,然后把这些小任务分配到对应的服务器上进行处理,这样做可以有效的提高集群系统的响应速度。

  2.3集群系统的优缺点

  2.3.1集群系统的优点

  集群系统主要有以下4个优点:

  (1)容易实现:服务器集群技术主要是通过软件进行。在硬件上使用多台性能低、价格便宜的服务器连成一个整体便可实现整个服务器系统性能的成倍提高。从软件和硬件的成本、技术方面来看,集群技术都比其他技术更容易实现。

  (2)有较高的可用性:选择集群服务可以使用整个集群系统的资源。当集群中的某个应用的服务器出现故障时,系统会自动地从有故障的服务器上将磁盘驱动和IP地址转移到可用的服务器上,使任务可以再次顺利进行下去。对于用户而言,感觉服务只是卡顿了一下。

  (3)有较强的扩展能力:不同于其他只能支持几十个CPU的扩展技术,集群技术的集群系统可以支持成百上千个CPU。集群系统可以进行调整来满足不同的应用需求。当系统的整体负荷超过集群的实际能力时,还可以通过添加额外的节点来降低负荷。

  (4)方便管理:在集群系统中,可以使用集群管理器来管理集群系统中的所有服务器资源和应用程序,它们就像运行在同一个服务器上。通过拖放对象,可以实现在不同服务器之间移动应用程序和数据。通过这种方式还可以手动地卸载服务器、平衡服务器的负荷,使维护变得既简单又方便。与此同时,我们可以通过网络的任一节点和资源处来监视集群的状态。当失效的服务器再次正常连接时,工作便会自动恢复正常,集群技术将自动在集群中平衡负荷,不需要人工对它进行干预。

  2.3.2集群系统的缺点

  集群中的应用刚开始时只在一台服务器上运行,当这个服务器或者应用出现故障时,集群中其它的正常服务器就会重新启动这个应用并接管位于共享磁盘上的数据区,使该应用重新恢复正常的运转。接管这个应用的步骤为:检测并确认故障、后备服务器重新启动该应用、接管共享磁盘上的数据区。由于在切换接管的过程中需要花费一定的时间,而切换时间的快慢又与应用的大小有关,因此越大的应用切换的时间就会越长。

  3关键技术

  本章主要介绍了在设计该系统时所使用到的关键技术[9]:(1)实现用户页面的网页技术JSP;(2)创建和管理对象的SSM框架;(3)数据库管理系统MySQL。

  3.1 JSP技术

  JSP(全称JavaServer Pages)是将网页中普通静态与动态的部分进行混合编码的技术。JSP技术可以部署在网络服务器上用来响应客户端发送的请求。它的工作模式为请求-应答模式,当客户端发出HTTP请求时,JSP会根据请求的内容进行处理,然后把结果返回到客户端。JSP通过引入XML便签来调用内建功能,除此之外,创建JSP标签库可以像使用XML标签或标准HTML一样使用。JSP的标签库不仅可以增强功能还可以提高服务的性能。JSP技术有以下特点[10]:(1)可跨平台:JSP的基础是Java,使用Java的API可以实现跨平台操作。(2)业务代码分离:在JSP项目中,通常使用HTML语言来对静态页面内容进行处理,用JSP便签来对动态页面内容进行处理。这样可以使页面中的内容与形式在某种意义上以一种互相独立的形式存在。(3)继承Java Servlet功能:JSP的本质就是Servlet,因此JSP拥有Servlet的所有功能。(4)适用范围广:JSP技术不仅可以提高网页在设计以及建设过程中的整体效率,还可以使项目的分工在实际应用中的得到完善和优化。

  3.2 SSM框架

  SSM(即Spring+SpringMVC+MyBatis)是由Spring和MyBatis这两个开源框架整合而成的,其中SpringMVC是Spring中的部分内容。

  Spring是一个开源框架,它的出现是为了解决企业应用开发的复杂性问题[11]。在Spring中使用JavaBean可以简便地完成以前只能由EJB来完成的事情。Spring的用途非常广,任何Java应用都可以用它来实现。

  SpringMVC是融合在Spring Web Flow里的SpringFrameWork的后续产品,SpringMVC是Spring实现的一个Web层,用以实现Web MVC的设计模式。使用Web MVC构架模式的思想,可以将Web层进行解耦。

  MyBatis是一个基于Java的持久层框架。它支持普通的SQL查询、存储过程和高级映射。MyBatis使用简单的XML或注解来进行配置和原始映射,将接口和Java的普通对象映射成数据库中的记录。

  3.3 MySQL

  MySQL是一个面向公众的、免费的、开源的关系型数据库管理系统,是目前最受欢迎的关系型数据库管理系统之一。MySQL的关系数据库可以把数据保存在不同的表中来达到增加响应速度和提高灵活性的目的。MySQL具有以下特点:(1)MySQL具有高效快捷的特点,它能快速地处理大量的数据。(2)具有可移植性:MySQL使用C和C++编写并使用多种编译器进行测试,保证了开源代码的可移植性。(3)支持多种操作系统,如Linux、Windows、OpenBS等多种系统。(4)为多种编译语言提供API,如C、C++、Python等。

  4系统分析

  4.1可行性分析

  本章将从经济可行性、技术可行性、操作可行性的方面来对该集群管理系统进行分析。

  4.1.1经济可行性

  开发该系统经济成本非常低。在开发时,只需要有一部能连网的电脑设备就可以了,通过在线画图工具ProcessOn建立系统模型,然后通过在线下载一个Eclipse编程软件和MySQL Workbench数据库管理软件来实现系统的开发。该系统开发的时间周期很短,开发速度快的话大概一个月时间就能完成。这个系统开发完成后如果能够被普遍使用的话,对供应商来说成本低收益高,对用户来说,能提高用户的使用体验。

  4.1.2技术可行性

  从技术方面来说,学校开设了Java、数据库等课程,有系统地学习过Java后端的开发以及数据库的增、删、改、查等相关内容,并且学校在小学期期间还特地安排了web程序设计课程,老 杨教授的就是SSM框架,所以在技术方面上来说是完全可行的。该系统前端采用HTML、JavaScript、CSS实现用户交互界面,后端采用Java语言实现基本功能,操作编程起来非常方便。因此开发该系统所需要的基本技术是没有问题的。

  4.1.3操作可行性

  该管理系统操作起来很简单,用户使用鼠标和键盘便可以实现简单的功能。所以系统设计好了以后只需要用电脑浏览器登录就行。目前只要是会使用计算机并有需求的用户,就可以轻松的访问和操作该系统。该系统具有操作简单、交互性好,管理方便等特点。

  4.2功能需求分析

  普通用户的需求是能通过浏览器登录到集群系统,在集群管理系统的首页点击流程中心进入到集群资源申请页面对集群资源进行申请并查看任务的状态,另一个需求是能对自己的基本信息和密码进行修改。管理员的需求是可以通过登录该系统点击流程中心对用户提交的申请进行审批、任务状态进行更新、对用户进行管理和对自己的密码进行修改。该系统正是针对普通用户和管理员的需求而进行的功能设计。该集群管理系统是由前台用户和后台管理员这2个子系统以及它们分别对应的5个模块构成,如图4-1。

  前台用户子系统是针对普通用户的,普通用户首先需要注册才能获得使用该系统的权限,注册好的用户通过登录进入到该系统中。对于用户来说该系统有三大主要功能模块:集群资源申请、审核进度查看和个人信息修改。集群资源申请的功能模块是通过用户在系统的首页点击流程中心跳转到集群资源申请页面,然后在申请页面中按照自己的需求输入所需要的资源信息,最后点击提交按钮来实现的。审核进度查看的功能模块是通过用户点击流程中心,在集群资源申请页面点击查看按钮实现的。个人信息修改模块本设计将分为两个部分:个人基本信息的修改(即用户名、电话号码、邮箱、地址等)和登录密码的修改。用户在首页点击个人信息修改后在修改界面输入需要修改的信息点击提交就能完成个人信息的修改。登录密码的修改跟个人信息修改的方式相同,用户只要在首页点击密码修改,在跳转后的页面输入自己的旧密码、新密码、重新输入新密码后点击提交就能完成登录密码的修改。

  后台子系统是针对管理员的。对于管理员来说该系统由四大功能模块:登录密码的修改、用户申请的审批、任务信息更新和用户管理。登录密码的修改与上述用户密码修改的流程一样。用户申请的审核模块是通过管理员登录后在系统的首页点击流程中心跳转到审核流程列表页面,然后点击申请详情,在详情页面通过下拉列表选择审核的通过与否,点击提交来实现。除此之外,本次设计还将会在审核列表页面上添加搜索功能,管理员通过输入任务名称来搜索用户的申请信息。任务信息的更新模块是通过管理员在审核详情页面通过下拉列表的选择、提交来实现的。用户管理模块是通过管理员在首页点击用户管理跳转到用户管理详情页面,然后点击用户信息详情来实现对用户的管理。

  图4-1集群管理系统的功能分解图

  5 Web集群管理系统的设计

  5.1总体架构设计

  本文设计的管理系统是基于web的管理系统。一个好的系统可以用简洁的界面为用户提供出色的服务,是具有较大应用价值的系统。该系统的架构是通过动态的Web图形用户接口来设计和提供一个用户的操作界面,利用前面讨论过的JSP、SSM框架、MySQL这三种关键技术,实现了用户在任意一台终端计算机上通过网络来使用集群系统的目的。Web集群管理系统架构如图1所示。

  用户首先在浏览器的操作界面上进行注册登录,JSP将登录信息发送给控制器由控制器调用服务层方法,然后服务层通过调用方法使用SQL语句查询数据库,把用户输入的信息与数据库信息进行匹配,最后把匹配到的结果在JSP页面上显示。登录成功后,用户根据自己的需求来添加任务,添加成功后把数据发送给后台并存入数据库。管理员登录系统后在流程中心里可以查看到用户的申请信息,待管理员提取任务审批通过后,服务器根据用户提交的数据分配集群节点和队列节点,然后启动用户提交的任务。管理员会每天定时从远程服务器更新任务运行的情况并把信息反馈给用户,用户可以在浏览器上进行查看,了解任务的进度。

  图5-1 Web集群管理系统架构图

  5.2流程设计

  本设计使用的流程图主要由起止框、输入输出框、处理框、判断框、带箭头的流程线构成。起止框是用来表示该流程的开始和结束,输入输出框是用来给用户输入数据或者输出数据的,处理框表示对数据或行为的处理,判断框起到判断用户输入数据是否与数据库匹配的作用,流程线起到串连这个流程的作用。该流程图采用的是选择结构,普通用户输入的登录信息与数据库匹配则执行下一步动作,若不匹配则需要进行注册再登录,而管理员输入的登录信息不匹配则需要重新登录。该系统详细设计的两个主要流程是用户对集群资源的申请和管理员对用户申请的审批。

  用户申请流程:用户首先通过浏览器进入登录界面,然后输入用户名及用户密码。输入的信息会与数据库的用户信息进行匹配,若匹配成功则跳转到首页,若匹配不成功则跳转到用户注册流程。用户注册完后将重新进入登录界面进行登录。登录成功的用户可以在首页的流程中心点击申请流程,在申请页面输入申请信息后点击申请,界面就会输出申请成功的信息提示,申请流程便到此结束。用户申请流程如图5-2。

  图5-2用户申请流程图

  管理员审批流程:管理员审批流程与用户申请流程相似,唯一不同的地方是管理员不需要进行注册环节。管理员在登录界面输入自己的登录信息后,若是登录信息与数据库信息不匹配则重新进入登录界面而不用进行注册,直到输入的登录信息准确无误后才能进行下面的审批环节。审批环节与用户的申请环节一致,如图5-3。

  图5-3集群系统资源申请及审批流程图

  5.3数据库设计

  根据用户对功能的需求,本设计的数据库中主要由5个数据表组成,即用户表、集群表、队列表、任务表和关联表。以下是对5个数据表的详细说明。

  (1)用户表:如表5-1所示,用户表的内容有用户编号、用户名、用户密码、邮箱、电话号码、地址和权限。用户编号和权限采用的数据类型为int,因为用户编号和权限采用整数类型更便于管理,其他的数据在本表中存储为varchar类型。在用户表中用户编号是该表的唯一标识,因此它被设为主键,用于与任务表和关联表的关联。

  表5-1集群信息表

  名类型长度允许空值默认注释

  user_id int 11用户编号

  username varchar 45用户名

  pwd varchar 45用户密码

  email varchar 45邮箱

  tel varchar 45电话号码

  address varchar 45地址

  type int 11权限

  (2)集群表:如表5-2所示,集群表的内容有集群编号、集群名、主机地址、端口号。集群表中的集群编号和端口号在本表中存储为int类型,集群名和主机地址存储为varchar类型。该表中的集群编号是唯一标识,设为主键。

  表5-2集群信息表

  名类型长度允许空值默认注释

  cluster_id int 11集群编号

  clustername varchar 45集群名

  host varchar 45主机地址

  port int 20端口号

  (3)队列表:如表5-3所示,队列表的内容有队列编号、队列名、CPU数、GPU数和集群编号。队列编号、CPU数、集群编号设为int类型,而队列名和GPU数设为varchar类型。由于队列编号是与任务表和关联表的进行关联的唯一标识,所以把他设为主键。在队列表中的集群编号值是引用集群表的,所以把队列表中的集群编号设为外键,以保持数据的一致性和完整性,实现两个表的关联。

  表5-3队列信息表

  名类型长度允许空值默认注释

  queue_id int 11队列编号

  queue_name varchar 45队列名

  cpu_num int 11 CPU数

  gpu_num varchar 45 GPU数

  cluster_id int 11集群编号

  (4)任务表:如表5-4所示,任务表中的内容比较丰富,有任务编号、任务名、任务申请用户编号、申请集群编号、申请队列编号、申请CPU数、申请GPU数、任务开始时间、任务结束时间、任务状态。任务名和任务状态的存储类型设为varchar类型,任务开始时间和结束时间设为datetime类型,其余的数据都设为int类型。任务表与多个表都有关联,其中任务编号是唯一标识,设为主键,引用的任务申请用户编号、申请集群编号和申请队列编号设为外键。

  表5-4任务信息表

  名类型长度允许空值默认注释

  job_id int 11任务编号

  job_name varchar 45任务名

  user_id int 11任务申请用户编号

  cluster_id int 11申请集群编号

  queue_id int 11申请队列编号

  job_cpu_num int 11申请CPU数

  job_gpu_num int 11申请GPU数

  start_time datetime任务开始时间

  end_time datetime任务结束时间

  status varchar 45任务状态

  (5)关联表:如表5-5所示,关联表的主要作用是为了使用户表、集群表和队列表产生关联,因此除了关联表编号这个主键外,其余的内容都设为外键。该表的数据类型全设为int。

  表5-5关联信息表

  名类型长度允许空值默认注释

  ucq int 11关联表编号

  user_id int 11用户编号

  cluster_id int 11集群编号

  queue_id int 11队列编号

  5.3.1数据库的关系结构设计

  在数据库的设计中用户、集群、队列、任务都是关键的实体,由于这四项都是人或对象,所以应该作为实体关系图的一部分,数据库的关系结构如图5-4所示。在用户表中用户编号是用户表的唯一标识,任务表中的任务申请用户编号和关联表中的用户编号引用的都是用户表里的值,使得用户表、任务表和关联表产生关联。在集群表中集群编号是集群表的唯一标识,它的值被引用于队列表、任务表和关联表中。队列表中的队列编号是队列表中的唯一标识,任务表中的申请队列编号和关联表中的队列编号的值来自于队列表中的队列编号。这样设计的数据库关系结构有助于实现数据的一致性和完整性。

  图5-4数据库关系结构图

  5.4功能设计

  根据集群管理系统的功能分解图,见图4-1,本设计用以下表格来对该集群系统的功能名称、用户、功能描述、输入、系统响应和输出进行设计:

  表5-6集群管理系统的功能说明列表

  序号功能名称用户功能描述输入系统响应输出

  1注册普通用户录入用户系统注册信息用户名、密码、邮箱、联系电话、地址录入到用户信息表显示“保存成功”或“用户名、密码、邮箱、联系电话和地址不能为空”

  2用户登录录入用户系统登录信息用户名、密码与用户信息表匹配跳转到首页或显示“用户名或密码错误”

  3集群资源申请录入用户集群资源申请信息集群编号、队列编号、CPU核心数、GPU核心数录入到集群资源申请记录表显示“保存成功”或“集群编号、队列编号、CPU核心数或GPU核心数不能为空”

  4申请记录查看录入查询记录信息点击查看按钮与任务表信息匹配输出申请表信息、审核状态、任务状态

  5个人信息修改录入新的个人信息新的用户名、密码、邮箱、联系电话、地址录入到用户信息表显示“修改成功”或“用户名、密码、邮箱、联系电话和地址不能为空”

  6管理员登录管理员录入管理员系统登录信息用户名、密码与管理员信息表匹配跳转到首页或显示“用户名或密码错误”

  7申请表审核对申请表进行审核点击通过或点击不通过记录到申请表显示“审批完成”

  8任务状态更新录入任务状态选择“未开始”或“进行中”或“已完成”记录到任务表显示“更新成功”

  9管理员密码修改录入新密码新的密码录入到管理员信息表显示“修改成功”或“密码不能为空”

  10修改用户信息删除用户、修改用户权限、增加管理员、查询用户信息用户名与用户信息表匹配显示“操作成功”

  5.5人机界面设计

  5.5.1注册页面设计

  系统的注册界面和登录界面是用户和系统交互的门面,注册页面由三部分组成,分别为页面标题(标题名称:注册新用户)、输入框(用户名输入框、密码输入框)、功能按钮(提交、重置、登录),如图5-5。登录界面与注册页面相似,如图5-6。

  图5-5注册界面图

  图5-6登录界面图

  5.5.2首页设计

  用户登录成功以后便跳转到系统的首页,首页主页面会显示欢迎用户登录的欢迎语,欢迎语会根据用户登录时间段的不同而不同。页面还会显示目前的具体时间。如图5-7所示。首页主要由页眉(系统名称:集群管理系统)、退出按钮、功能列表(流程中心、个人信息管理、密码修改)组成

  图5-7首页图

  5.5.3流程中心页面设计

  用户点击首页的流程中心功能时就会跳转到流程中心页面,该页面主要有三个部分:任务名称输入框、功能按钮(查询按钮、添加任务按钮、查看任务详情按钮)以及部分任务详情列表,如图5-8所示。

  图5-8流程中心图

  用户点击添加任务时就会跳转到任务添加页面,该页面主要以输入框为主(任务编号、任务名、集群号、队列号、CPU核心数、GPU核心数),除此之外还有两个功能按钮(保存、返回)。当用户填写完申请表点击保存时,就会弹出操作成功的页面,如图5-9和图5-10。

  图5-9添加任务图

  图5-10操作成功图

  5.5.4个人信息管理页面设计

  用户点击首页中的个人信息管理功能就会跳转到个人信息详情页面,如图5-11。页面主要显示了用户的详细信息,用户可以通过点击用户信息修改按钮便可跳转到用户信息修改页面,如图5-12。用户修改页面由两部分组成:信息输入框(用户名称、邮箱、用户电话、用户地址、公司名称)、功能按钮(保存、返回)。用户输入完成点击保存按钮后就会跳转到操作成功页面。

  图5-11个人信息详情页面图

  图5-12信息修改页面图

  5.5.5密码修改页面设计

  当用户点击密码修改时就会跳转到密码修改页面,如图5-13。密码修改页面有输入框(旧密码、新密码、确认新密码)和保存按钮。当用户没有输入任何信息时,页面就会提示请填写此字段,如图5-14。若用户填写的确认密码与新密码不一致就会跳转页面,如图5-15。

  图5-13密码修改页面图

  图5-14提示图

  图5-15跳转页面图

  6 Web集群管理系统的实现与分析

  6.1数据库连接的实现

  本系统使用mybatis来连接数据库,实现数据库的连接首先需要导入mybatis和log4j jar包,然后创建db.properties文件来配置数据库信息,最后创建配置文件mybatis-config.xml。

  6.2系统功能的实现

  6.2.1资源申请及审批功能的实现

  用户根据自己的需求在任务添加页面的表单中输入具体的信息,如图6-1。点击保存后任务信息就会保存到管理员子系统中,管理员在流程中心页面可以查看到用户的申请列表,如图6-2。管理员点击详情按钮,就可跳转到信息查看页面,在该页面中通过对下拉框内容的选择完成任务的审批,如图6-3,图6-4。

  图6-1任务添加表单图

  图6-2任务列表图

  图6-3任务审批图

  图6-4审批完成图

  6.2.2个人信息修改功能的实现

  用户可在个人信息管理页面查看个人的信息,如图6-5。用户点击用户信息修改按钮后对自己信息进行修改,在信息修改界面填入需要修改的信息,如图6-6,点击保存返回页面后就能看到修改后的信息详情,如图6-7。

  图6-5个人原始信息详情图

  图6-6修改信息图

  图6-7信息修改完成图

  6.2.3密码修改功能的实现

  用户可在密码修改页面对登录密码进行修改,新密码与确认新密码的两次输入不一致时,页面会弹出图6-8的提示,若一致则提示修改成功。

  图6-8密码修改图

  6.2.4用户管理功能的实现

  管理员在用户管理页面中点击右边的红叉可对用户进行删除,在跳出的页面点击确定后就能实现对123用户的删除,如图6-9、图6-10。

  图6-9删除页面图

  图6-10删除123用户图

  6.3系统测试

  6.3.1测试目的

  通过测试,发现系统中的错误、验证系统是否满足用户的需求和设计的要求。为系统可靠性与安全性的评估提供依据。

  6.3.2测试环境

  表6-1集群管理系统环境表

  操作系统Windows10

  浏览器UC、Chrome

  服务器Tomcat

  数据库MySQL

  6.3.3测试用例和结果

  表6-2集群系统测试表

  序号功能名称功能描述用例预期结果测试结果

  1前台用户注册录入用户系统注册信息输入用户名:1651206

  登录密码:1651206;成功注册一个用户账号成功

  2前台用户登录录入用户系统登录信息输入用户名:1651206

  密码:1651206成功登录到功能首页成功

  3用户申请集群资源录入用户申请信息输入任务编号:8;输入任务名:任务八;输入集群号:1;输入队列号:2;输入CPU核心数:1;输入GPU核心数:1;成功申请一个集群资源项目成功

  4用户查看申请记录录入查询记录信息输入任务名:任务八成功查看一项申请记录成功

  5用户修改个人信息录入新的用户信息输入用户名称:jack;输入邮箱:54154168 qq.com;输入用户电话:13813165845;输入用户地址:上海交通大学;输入公司名称:YYY公司成功修改用户信息成功

  6用户密码修改录入用户新的密码信息输入旧密码:1651206;输入新密码:6666666;重新输入新密码:6666666成功修改用户密码成功

  7后台管理员登录录入管理员系统登录信息输入用户名:admin;输入密码:123成功登录到功能首页成功

  8管理员审核用户申请表录入审核信息输入任务名:任务八;

  查看审核详情;选择审核状态:通过成功审核一项申请记录成功

  9管理员管理用户信息删除用户点击删除按钮成功删除一个用户成功

  10管理员修改个人信息录入新的信息输入用户名称:admin;输入邮箱:54154166 qq.com;输入用户电话:18813165845;输入用户地址:上海复旦大学;输入公司名称:SSS公司成功修改管理员信息成功

  11管理员密码修改录入管理员新的密码信息输入旧密码:123;输入新密码:888;重新输入新密码:888成功修改管理员密码成功