【《基于Web的Linux服务器批量管理系统设计》14000字(论文)】_第1页
【《基于Web的Linux服务器批量管理系统设计》14000字(论文)】_第2页
【《基于Web的Linux服务器批量管理系统设计》14000字(论文)】_第3页
【《基于Web的Linux服务器批量管理系统设计》14000字(论文)】_第4页
【《基于Web的Linux服务器批量管理系统设计》14000字(论文)】_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

页1绪论1.1课题研究背景随着当下互联网信息技术的快速发展。各个领域对计算机服务的需求越来越依赖,因此服务器被使用于各个领域。从日常的网络购物到交通指示再到工业的自动化生产线,互联网已经在我们生活的方方面面为我们服务,这背后有着许多服务器始终作为关键的网络设备承担着主要的数据计算和任务处理的工作[1]。大到国防领域所需要的精密计算,小到网络领域的多并发任务处理,各领域之所以选择使用服务器还主要是服务器的稳定性和高可用性。随着网络技术日新月异的发展,也让信息的发展达到了前所未有的高度,为服务器的广泛应用提供了基础。当今对服务器需要具有更多要求,可靠性、稳定性、可用性等特点都已经是基本要求,系统需要满足高可用的目标,可以提供不间断的服务、动态可扩展的资源管理、方便高效的自动化管理平台。一些中小型企业也根据自己的实际需求建立自己的数据中心,或者租用云计算厂商的服务器。不论是企业还是个人,随着网络通信需求增加,业务数据的吞吐量也在增加,其访问流量已经是单台服务器所不能够承受的。Linux是一个更新迭代非常快的操作系统,而且Linux具备有很强的计算能力、可移植性和很好的适应性,有很多好的系统开发平台,常用的编程语言和编程工具已经内置到操作系统里面[2]。Linux操作系统因此成为众多企业的选择,然而随着服务器规模的扩大,对服务器管理工作难度也随之增加。以前的服务器管理方式大多是以人工进行的,但是随着服务器规模扩大,那么这样的管理方式会造成明显的成本提高。现在很多的IT企业在服务器系统管理上需要花费较高成本,往往会高出其硬件成本的20~40倍。随着业务的增大,越来越多的服务器系统需要管理,而且还要管理服务器系统上面交错复杂的业务,这对服务器运维管理员的管理技术提出巨大的挑战。如何高效率的批量管理那么多的服务器与业务是现在服务器管理中面临的难题。根据编写统一的部署脚本自动部署环境,创建自动定时任务脚本去巡检管理服务器,使用统一的服务器在线管理平台,对服务器管理效率与成本节省有很大帮助。方便的管理平台可以有效提高系统管理员的管理效率,所以会很大程度上决定服务器操作系统管理所需的成本。1.2课题意义目前,随着我国信息化和网络通讯都已经进入飞速的发展,计算机技术也是应势而发展。Linux操作系统已经应用在我国许多领域和行业[3],成为我国重要的核心计算机系统之一,已经覆盖到了许多领域且具有较大的影响力[4]。如今已经应用到在线教育、网络购物、远程办公,以及视频与音乐制作等领域当中,Linux操作系统的广泛应用提高了社会上多个领域的运转效率,也随之而促进网络化和信息化的社会发展。Linux服务器作为网络信息的重要组成部分,随着提供服务与数据存储的增加,更多的互联网企业需要增加更多的服务器提供网络服务,企业对多越来越多的服务器进行高效管理有了更多的需求,对Linux服务器高效运维也是管理员急需解决的问题。为了解决企业批量管理Linux系统的问题,本论文将设计与实现一个基于Web的Linux服务器批量管理系统,提供一个可维护的、可扩展的、自动化的管理解决方案。系统具备服务器信息的录入、查询、修改、远程管理,自动部署,自动巡检等功能。所有数据信息存储于基于MySQL管理数据库中。该系统的设计目的在于提高管理效率,从而达到降低企业的人力管理成本,以此为系统开发的意义。1.3国内外研究现状随着互联网技术的发展对服务器硬件数量的要求也随之增大,也促进了服务器系统管理技术的更新迭代,现在服务器系统管理有以下几种主要方式:(1)基于人工的管理方式管理员亲自到现场机房的方式就是人工管理,对管理需要的服务器接上显示器与键盘等外接设备,然后就可以对服务器所安装的Linux操作系统进行管理。当然这样的方式比较消耗人力,当面对如今不断增加的服务器数量,这样的低效率管理方式已经无法胜任现在的工作量。(2)基于远程软件的管理方式这种方式是使用SSH协议连接到服务器的Linux操作系统。SSH协议是客户端到服务器通过对称或非对称加密算法实现数据传输和加密,登录验证有口令和公钥认证两种方式[5]。现在Linux操作系统都会默认安装SSH服务和开启对应端口,在安装完成系统后,只需要配置好相应的管理IP即可,利用第三方远程管理软件进行连接达到管理服务器的目的。这种方式虽然不需要到现场登录管理,但是面对大批量的服务器需要管理时,也是非常费时费力,管理效率也是比较低,这个管理方式只合适少量的服务器系统管理。(3)基于在线系统的管理方式第三方在线管理系统的管理方式,一般是依靠已经开发完成的在线管理系统,可以将多台服务器录到系统一起管理,但是一般的管理系统功能模块众多,系统功能臃肿,部署方式复杂,相对于前两种方式来说,这种管理方式显得更加可靠。1.4论文工作内容本文是利用B/S架构设计与实现一个基于Web的Linux服务器批量管理系统,为实现运维管理员批量管理服务器系统的需求,合理设计系统。系统从后端数据库调用服务器信息数据展现在前端管理界面,具体介绍系统使用的技术的功能实现模块。在整个系统发展的基础上,实现结构设计、实现方法和操作流程。实现运维管理员登录管理日常维护工作的系统原理。1.5论文结构本文的主要任务是针对Linux服务器批量管理目标设计实现一个可维护的、可扩展的、自动化的服务器在线管理系统,能够对自己管理的每个节点主机随时在线管理,对全部节点主机运行状态进行监控,批量执行系统指令,自动化执行脚本,界面简约友好、功能明确、为日常运维管理提供高效简单的管理功能。对于整个系统的研究与制作具体的论文安排如下:第一章对本文的课题研究背景以及服务器操作系统管理技术的现状进行了介绍,同时还介绍了一些现在对服务器操作系统管理的几种方式;第二章是对相关技术的介绍,包括开发服务器管理系统的应用环境,选择的相关技术与框架的优势、开发工具;第三章是对系统开发需求全面分析,包括对本系统进行多项可行性分析、系统功能分析、系统用例建模分析;第四章介绍系统整体设计方案,包括对系统各个功能模块的设计、系统所使用的数据库建设方式、涉及到的每个数据表的设计介绍;第五章是对系统每一个功能模块的实现效果介绍,详细介绍每个功能的用途与实现效果的展示;第六章是对系统进行测试,利用黑盒与百合技术对整个系统测试,介绍服务器批量管理系统的测试环境、测试原理、测试方式、系统各项功能测试的预期结果与实际结果;第七章对基于Web的Linux服务器批量管理系统的设计与实现进行总结和展望,分析当前系统的进展与不足之处,对将来系统的优化改进展望。2相关技术介绍2.1应用环境Linux服务器批量管理系统 是在计算机操作系统为Windows10专业版以及处理器为Intel(R)Core(TM)i7-8550U的环境下开发的,正式运行后需要部署到Linux系统下运行,采用Python3.7.3开发语言,PyCharm开发软件,数据存储使用MySQL数据库。2.2开发技术2.2.1Python本系统主要开发语言是Python,Python它可以灵活使用在很多场景,能处理很多复杂的功能,整齐简洁的代码排列方式一直深受人们喜爱,让整个代码看上去干净优雅,当然最主要的还是它丰富的第三方库,且支持跨平台使用[6]。使用python语言来编写各种脚本来管理Linux系统也是一个比较重要的应用领域,Python也是目前Linux系统管理的理想脚本语言。使用Python来开发基于Web的Linux服务器批量管理系统,具有如下优势:(1)现在Web开发已经是Python的一个重要发展方向,丰富的第三方扩展库,高效的数据处理能力,成为开发者们喜爱的Web开发语言之一[7]。(2)Python一直主张简洁的设计思想,简单优雅的语法。因为有很多第三方库的支持,很多时候都不需要亲自写很复杂的代码和逻辑,只需要调用函数库就可实现强大的功能,因此成为很多初学者学习的第一语言!(3)一套代码能在多平台使用是很多开发者所需要的,Python也具备跨平台和可移植性的特点,可以移植兼容到大多数平台下面,如Windows、MacOS、Linux、Andorid和IOS等。(4)运行速度也是选择一门编程语言的考虑要素,Python作为一种解释型语言。解释器直接将源代码转换成字节码,然后从字部分代码被翻译成计算机语言运行,中间减少了编译环节也就减少了运行的时耗,从而提高Python代码的运行速度。(5)Python融合了很多强大的第三方函数库,开发过程可以用很少的代码实现很多强大的功能。2.2.2Jinja2模板Flask框架通过使用Jinja2模板技术将HTML与后端的Python联系一起,从而实现返回前端HTML界面。Jinja2是一个能与Python语言灵活结合的HTML模板技术,它拥有很好的HTML转义功能,可继承已有的模板减少代码量,还可以及时编译HTML中的Python代码,多参数可配置,调试简单[8]。2.2.3wtforms组件在一个Web项目应用里,为了系统安全性与业务正确逻辑性,对进入系统的每一个参数都是需要验证的。WTForms是Python的一个表单校验和渲染的库,提供Form表单的基本定义和结构,还内置了非常丰富的字段类型和校验方法,在做表单校验的时候可以很方便的直接使用。在应用需要输出HTML地方,可以直接集成到模板使用,对结构化的表单和校验功能相当好用。2.2.4JavaScriptJavaScript是基于原型特征和具有动态类型的脚本语言、它内置了对语言类型的支持,所以也属于一种弱类型编程语言[9]。JavaScript是非常好用且强大的前端编程语言,不过因为它涉及的知识点比较广,学习起来还是有一定难度的。但是有精通JavaScript的开发者,对JavaScript的许多功能进行封装开发库或组件,让开发者在使用过程更加简单。比如jQuery框架就是使用JavaScript封装而成的。2.2.5AjaxAjax的运行不需要在浏览器安装任何依赖,只需要给浏览器执行JavaScript权限即可[10]。正常情况下触发表单提交后,数据会直接通过浏览器传送到后端,而使用Ajax后是把表单提交拦截,不是直接由浏览器提交,它会通过浏览器提供的一个JavaScript对象XMLHttpRequest发送http协议请求。Ajax通过异步通信的方式,在看不到页面中断却可实现发送get和post请求。使用Ajax技术可以很好的减轻服务器的请求负担,同时也会减少用户在使用过程实际等待和心理时间[11]。2.3开发框架2.3.1FlaskFlask是Python语言写的一款非常轻巧的Web应用框架,它使用WerkzeugWSGI网络工具集作为HTTP网络库,用Jinja2做HTML模板引擎,形成了一个非常完善的Web应用开发框架[12]。Flask框架集成了很多功能,可以帮助开发者快速实现web开发,本系统选择Flask框架的优势有如下。(1)目前Python已经是比较流行的编程语言并且广泛被应用,快速开发的特点让很多人选择使用Flask来做Web应用开发。而且它作为一个轻量型的web框架,仅需要很少的代码即可构建一个Web应用。而且它也充分的考虑安全性方面,还有丰富的文档说明,其中包含大量清晰,有效的示例代码。(2)作为轻量级的框架也就牺牲了很多功能的集成,所以框架本身它只是提供了基本的Web功能,但是完全不用担心无法满足更多的功能开发,它可以依靠Python丰富的第三方扩展库,当调用其他三分库使用时,即使复杂的功能也能以很少的代码去实现。依靠Python语言本身的强大去开发,可以让开发者花更多的时间去关注业务逻辑开发[13]。2.3.1LayuiLayui是一款非常符合国人使用习惯的国产前端UI框架[14]。丰富的文档说明让开发者很容易上手,各种前端代码拿来即可使用。界面风格简约轻盈,各组件也是优雅丰盈,每一行代码每一个细节都是经过精心处理,其页面风格也是根据人们习惯设计,可以帮助开发者快速实现界面代码。但其实它的使用者更多是后端开发者,后端开发者无需接触前端各种工具,他们只需专注浏览器与所需要数据与后端交互。2.3.2APSchedulerAPScheduler是由Python语言实现定时任务功能框架,可以用于创建定时任务,还可以对任务随时增删改查功能,在设置定时任务功能时非常方便。以Python实现了crontab类型的定时任务功能,而且它还可以将定时任务持久化。根据这些基本功能,可以让我们快速的去实现一个以Python语言编写的定时任务系统。APScheduler一共有四种组件:触发器、工作商店、执行人、调度器。3系统需求分析3.1系统可行性分析可行性对一个项目的成败至关重要,要项目在变幻莫测的社会环境中生存下去,收集相关情况并且分析决定项目能否开展也是必不可少的一步。系统建设的可行性分析是规避风险、降低失败可能性的必要手段。本文从技术、操作、经济因素三方面进行分析和论证。3.1.1系统技术可行性本系统开发语言主要是Python,该语言已被广泛的应用在各个领域,在Web功能方面也是有很成熟,可以开发出可靠稳定的系统。Python有很多成熟的第三方库,兼容各种组件,学习起来非常简单,不需要过于深入的研究即可调用开发,使用该语言可以快速开发出一个网站。数据库是使用mysql作为系统各种信息存储的载体,并且实现前后端分离数据交互,减少数据在交互的冗余,实现方便快捷,扩展性强和可靠性高的数据交互。经过多方面思考现存技术是可以达到开发需求的。3.1.2操作可行性简洁明了的web界面,界面是按照用户的使用习惯与审美而设计,各项功能都排列整齐,给系统使用者提供舒适的视觉感受。在使用系统过程中,一系列操作都会有友好的弹出提示,各项功能操作起来是非常方便的,使用各项功能都是在界面各种点击即可,不需要太多的技术要求,界面各项功能明显、操作简易方便。3.1.3经济可行性本系统的整体开发难度不大,使用一台电脑就可进行开发,和传统的服务器管理方式对比,一个系统管理员将更加轻松的管理更多的服务器,而且管理方式更加自动化,不再需要一个个登录服务器系统去管理,一个管理员将可以有效的管理更多的服务器系统,高效的批量管理服务器,大大降低企业维护服务器系统的成本。所以,在经济方面对企业来说节约了很多成本,也是可行的。3.2系统功能分析3.2.1服务器管理系统的功能分析人们的生活中越来越多的场景融入了计算机网络,面对越来越多的应用需求,需要更多的服务器来提供服务,系统管理员面对更多服务器需要管理,高效统一的管理方式是迫切需要解决的问题,Linux服务器在线管理系统将可以满足这个需求,面对更多的服务器需要管理也更加有效率、统一的管理方式。在线系统根据实际需要提供多个管理模块,将实现多个服务器主机管理方便,管理的系统各项数据可视化,日常重复工作将批量自动化执行,满足日常运维基本自动化功能。设置有两个管理角色:超级管理员、普通管理员。下面介绍系统的主要功能模块:(1)注册功能。管理员可以在注册界面提交自己的账号注册信息,也可以让超级管理员在后台创建账号,填写相关的注册信息后提交,注册成功后需要超级管理员在后台启用账号,账号在超级管理员启用后方可正常使用;(2)主机管理。对需要管理的服务器主机,将基本信息录到系统上即可,系统自动将录入的服务器系统进行信息采集,管理列表具备搜索功能,可以根据状态、分组、管理IP或备注搜索,还可以在线对服务器系统直接远程登录管理。(3)主机分组。将不同的服务器分组,可以更加方便对同一类型服务器管理,利于区分管理。(4)监控中心。监控所管理服务器的状态信息,监控多天的数据变化,方便管理员及时发现所管理服务器故障信息。(5)脚本管理。在管理Linux服务器过程中,编写各种脚本提高工作效率是不可避免的,上传脚本到在线系统进行统一的管理,脚本管理列表具备增删改功能,对所拥有的脚本高效管理。(6)批量指令。在管理多台服务器过程,对多台服务器的系统执行相同指令是经常的事,该功能可以搜索选择多台服务器批量执行相同的指令与脚本。(7)定时任务。定时对服务器执行相应指令或脚本,也是日常运维经常要做的,该功能便是可以创建定时任务,指定时间去执行相应的脚本,在日常巡检中经常需要此功能。(8)角色管理。可以查看自己登录账号信息和修改密码,超级管理员还有权限看到系统的全部管理员信息,有权限对系统给的其他管理员进行管理,账号创建、信息修改、账号删除、账号启用与禁用操作。(9)系统管理。记录系统的操作日志,对各功能模块的重要操作进行记录,还具备系统数据备份功能,避免数据意外丢失。3.2.2系统用例模型本系统的参与角色是普通管理员和超级管理员。普通管理员用例的模块有:登录与退出、主机管理、主机分组、监控中心、脚本管理、批量指令、定时任务、角色管理与系统管理。其中,主机管理包括浏览已添加的管理主机信息,添加管理主机,修改管理主机信息和删除管理主机;主机分组包括浏览已添加的分组,添加分组,修改分组名,删除分组;监控中心包括浏览系统各项参数图表展示信息;脚本管理包括浏览已添加的脚本信息,上传脚本,修改脚本信息,删除脚本;定时任务包括浏览已添加定时任务,添加定时任务,修改定时任务信息,删除定时任务;批量指令包括批量执行指令与批量执行脚本;个人信息管理可以查看账号信息与修改当前账号密码;系统管理包括查看操作日志信息与备份系统数据。超级管理员拥有普通管理员的全部功能用例,除此之外超级管理员可以创建或删除普通管理员的用例,普通管理员无权访问管理员界面。管理系统用例模型图如图3-1所示。图3-1管理系统用例模型图4系统总体设计4.1系统设计方案一个系统在开发之前,就应该提前设计好整体的架构方案。服务器管理系统根据实际需求多方面考虑结构设计的合理规范。系统将设计达到工作最大并发量的需求,根据实际需求优化系统每一处细节,也会考虑到实际的运维管理模式。此外,还会设计规范的操作接口,方便后期开发维护,优化系统各项功能,方便对系统更加简易使用,达到提高工作效率的目的。服务器管理系统的设计基于B/S结构,Python的Flask后端开发框架,实现前后端代码分离,有利于后端专注于业务逻辑的编写,界面使用Layui前端框架,界面设计清晰简洁、兼容多个浏览器的友好提示。数据库设计是信息系统必不可少的一步,设计对应的数据表,根据实际需要设置字段名、数据类型、数据长度,冗余字段。4.2系统总体功能模块设计服务器管理系统基于B/S架构来开发设计,主要提供给管理员适用性强、稳定性好、安全性高的在线管理平台。后台管理系统模块面对系统管理员操作,对在线系统内所有信息执行增删改,对管理主机信息、主机分组、脚本管理、批量指令、定时任务管理、管理员角色,进行日常维护操作。还可以通过监控界面实时信息显示,了解管理的所有主机的相关资源信息。系统的系统总体功能设计如图4-1所示:图4-1系统总体功能设计图4.3数据库概念建模数据库概念建模是用来定义和分析数据要求与其相关信息系统的一个过程。在开发之前应该对系统需求分析,根据实际情况设计对应的数据库模型,数据库作为系统的数据存储工作,所以提前对数据库进行设计是非常有必要的,它的设计关系到后面系统开发对数据处理存储。数据库有三个数据模型,即概念、逻辑、物理模型。数据建模除了定义它的数据元素,也会定义它们的结构与关系。下面对Linux服务器批量管理系统的实体及属性进行分析:管理主机信息包含10个实体属性,如图4-2所示:图4-2管理主机实体属性图(2)主机详细信息包含24个实体属性,如图4-3所示:图4-3主机详细信息实体属性图(3)主机分组信息包含4个实体属性,如图4-4所示:图4-4主机分组实体属性图(4)在线状态信息包含4个实体属性,如图4-5所示:图4-5在线状态实体属性图(5)硬件资源变化信息包含8个实体属性,如图4-6所示:图4-6硬件资源变化实体属性图(6)脚本列表管理信息包含7个实体属性,如图4-7所示:图4-7脚本列表管理实体属性图(7)定时任务信息包含14实体属性,如图4-8所示:图4-8定时任务实体属性图(8)管理员基本信息包含12个实体属性,如图4-9所示:图4-9管理员实体属性图(9)操作日志信息包含6个实体属性,如图4-10所示:图4-10操作日志实体属性图4.4数据表设计选择MYSQL是因为其具有轻量级的、源代码开放、开发成本低的特点,它支持跨多个操作系统上使用,而且Python编程语言提供了丰富的Mysql操作API接口。下面分别展开介绍各个数据表:(1)主机管理信息数据表,是用来存放系统所录入管理主机的基本信息。图4-11管理主机信息表(2)主机详细信息表,是用来存储管理主机系统的相关配置信息。图4-12主机详细信息表(3)分组信息表,用来存储分组的相关信息。图4-13分组信息表(4)记录在线状态信息表,存储每天主机在线状态信息。图4-14记录在线状态信息表(5)记录硬件资源变化信息表,存储所管理主机每天硬件资源变化信息。图4-15记录硬件资源变化信息表(6)脚本列表信息表,存储上传系统的脚本相关信息。图4-16脚本列表信息表(7)定时任务信息数据表,用来保存在创建定时执行任务的信息。图4-17定时任务信息表(8)管理员信息数据表,用来保存管理员的账号密码等基本信息。图4-18管理员信息表(9)操作日志信息数据表,保存管理员敏感操作的日志信息。图4-19操作日志信息表5系统功能实现5.1管理系统登录入口该页面是运维管理员进入系统的登录界面,访问系统需要正确的账号密码认证,在界面输入自己的账号密码和正确的验证码,点击登陆按钮或回车进行登录,如果输入的三个文本框中有一项错误就无法完成登录,该页面简洁明了,易于操作使用。管理员登录页面如图5-1所示。图5-1管理员登录页面5.2管理系统账号注册在线系统提供注册功能,根据自己的信息填写注册所需要的信息,但是注册信息提交后并不能直接用此账号登录系统,而且注册界面只能注册为普通管理员,需要超级管理员在后台对此账号启用后才可以正常使用。普通管理员注册页面如图5-2所示。图5-2普通管理员账号注册页面5.3管理系统账号密码忘记管理员使用找回密码功能的前提在注册时填写了正确的邮箱号,根据界面要求填写自己之前的用户名和邮箱号,以及输入两次符合要求的新密码,提交修改密码后,系统会给邮箱发送一个修改密码的随机链接,只需要点击该链接即可修改成功,之后就可以使用新密码登录了。管理员忘记密码页面如图5-3所示。图5-3管理员忘记密码页面5.4管理系统主页面实现管理系统主页面是登录在线系统后呈现的首页,首页主要分两个模块,左侧是菜单栏,展现整个管理系统的主要功能模块,中间部门是展示系统的数据信息,预警先知当管理的所有主机异常连接过多会报红色预警,数据统计是显示各主要功能模块的一些数据信息,可以及时了解到管理系统内的整体数据。管理系统主页面如图5-4所示。图5-4管理系统主页面5.5主机管理模块设计与实现该功能模块对所有服务器主机进行管理,可以添加需要管理的服务器信息,添加之后就可以在管理列表里面进行管理,之后还可以修改或删除对应的信息,添加之后系统会对服务器的信息自动采集更新,在主机详情按钮可以查看到该服务器主机的各项参数,还可以直接在线对服务器进行远程登录管理。主机管理页面如图5-5所示。图5-5主机管理页面5.6主机分组模块设计与实现该功能模块是为了区分管理的服务器,对所有管理的服务器可设置到所属组,这样可以更方便之后的管理。界面可以对分组名称进行增删改,以及批量删除,如果分组有设置到所管理的主机,将不能直接删除,必须是改分组下没有所属管理主机。主机分组页面如图5-6所示。图5-6主机分组页面5.7监控中心模块设计与实现该功能模块是为了展示所管理的主机各项信息,展示主机的当前连接状态,以及N天的连接情况,对所有管理主机的系统硬件资源也做统计信息展示。监控中心页面如图5-7所示。图5-7监控中心页面5.8脚本管理模块设计与实现该功能模块是对编写的脚本文件进行统一管理,界面可以上传脚本,修改与删除脚本信息,批量删除与下载脚本。上传到系统的脚本,可以在后面的批量指令功能,在多个服务器上面执行脚本功能,还可以在定时任务功能,用这里上传的脚本创建批量定时执行任务。脚本管理页面如图5-8所示。图5-8脚本管理界面5.9批量指令模块设计与实现该功能模块可选择多台服务器批量执行指令与脚本,在日常维护中,对多台服务器同时执行相同的指令是经常用到的,选择需要执行的目标主机,再编写对应指令或选择脚本,提交执行后可回显信息到界面。批量指令页面如图5-9所示。图5-9批量指令界面5.10定时任务模块设计与实现定时任务功能模块在维护日常是经常使用的,我们经常需要定时对服务器执行一下巡检脚本,或者部署指令,该功能在创建定时任务后可以帮我们去自动执行。界面上可以选择相应的脚本创建定时执行任务,并且可以对已经创建的任务立即执行、随时暂停、任意修改和删除定时任务。定时任务页面如图5-10所示。图5-10定时任务界面5.11角色管理模块设计与实现管理员个人信息管理,第一个子模块是可以查看自己的账号信息,并且可以修改自己的登录密码。第二个子模块是系统管理员账号管理,这个模块需要有超级管理员权限的账号才可以访问,界面可以创建、修改、删除、修改权限、启用和禁用其他管理员账号。角色管理页面如图5-11所示。图5-11角色管理界面5.12系统管理模块设计与实现该功能模块分为两个子模块,操作日志列表是记录系统关键操作,是为了方便审计管理员对系统的操作,另一个是备份数据功能,可以对当前系统的文件和数据库进行本地备份,保障系统的数据安全性。系统管理页面如图5-12所示。图5-12系统管理界面6系统测试6.1系统测试环境本次测试基于Web的Linux服务器批量管理系统,还没有正式部署到服务器运行,现在的测试环境是在本地windows系统下进行。测试环境参数如下:表6-1服务器批量管理系统测试环境表操作系统Windows10专业版CPUIntel(R)Core(TM)i7-8550RAM16GBPyCharm2020.3.3Nginx版本1.15.11Python版本3.7.3MYSQL版本5.7.26数据库管理工具phpMyAdmin测试原理在系统投入的正式运行之前,应该及时的发现系统是否存在漏洞,及时的发现系统的完整性和稳定性。对开发完成之后的系统程序进行测试,写出相应的测试用例,找出系统功能存在的问题,提交给专门的人员测试,在测试过程中发现错误并且及时做出对应的修改,给使用用户提供一个完整功能的系统。当然再好的测试方法都可能会存在一些不容易发现的细节错误。本系统设计的服务器批量管理系统,为了提供稳定可靠的在线管理平台,对开发完成后的系统进行多角度的一次完整的测试是必要的一个阶段。6.3测试方式设计出一份合理的测试方案是测试前的重要一步。对每个功能将需要测试的数据与期望结果做出合理安排,再根据测试文档对测试用例输入数据测试。其实往往在编写代码的时候就进行白盒测试了,每次完成一个小功能,都要对代码的正确性进行初步测试。编写完所有代码后,就该进行黑盒测试了,对整体功能测试,对存在问题的代码进行增删改查,以此初步保证代码的正确性。一般情况下完成整个系统的开发才会开始黑盒测试系统,当在测试过程发现问题,会重新对问题模块和问题周边模块重新进行白盒测试,直到有效的解决问题模块[15]。黑盒测试,也叫功能测试,一般是进入整体测试与确认测试后使用。将整体系统看作一个深不可测的黑盒子,这时候完全不需要考虑或了解系统内部是怎样的结构和算法,只需要按照系统的使用说明去使用系统,对系统的各项功能参数输入数据,观察系统能否正常接收和显示正确的信息,系统在运行过程中能否保证文件、配置参数等信息的完整性。白盒测试,也叫结构测试,一般是在单元测试阶段使用。前提是你拥有这个系统的源代码就可以当作一个看见内部的白盒子,系统的测试者可以看见系统的结构与算法。这种方法根据系统内部逻辑的设计测试每一个功能模块,测试系统中的功能模块是否跟预期要求一致。6.4测试用例及结果系统已经完成整体的功能需求的开发,按照测试的基本要求,下面对基于Web的Linux服务器批量管理系统设计黑盒测试方式的测试用例,下面是部分功能测试用例设计:(1)管理员注册模块测试用例,为了验证游客在注册过程预期结果和实际操作过程的正确性。管理员注册功能模块测试用例如图6-1所示。图6-1管理员注册模块测试用例(2)管理员登录功能模块测试用例,为了验证管理员能否根据正确的账号密码登录,并且保证预期结果与实际结果保持一致。管理员登录功能模块测试用例如表6-3所示。图6-2管理员登录模块测试用例(3)系统后台管理用例测试,为了验证后台系统管理各功能模块使用过程,预期结果和实际结果。系统后台管理模块测试用例如表6-2与6-3所示[16]。表6-2系统后台管理模块测试用例表1功能模块测试方式与预期结果测试结果主机管理1、显示主机列表,正常显示。2、添加管理主机信息,信息一半不填写,添加失败。3、添加管理主机信息,全部填写,添加成功。4、修改管理主机信息,信息一半不填写,修改失败。5、修改管理主机信息,全部填写,修改成功。6、删除管理主机信息,删除成功。达到预期结果主机分组1、添加主机分组名称,分组名称为空,添加失败。2、添加主机分组名称,名称正确填写,添加成功。3、修改主机分组名称,不作修改提交,修改失败。4、修改主机分组名称,修改为其他名称,修改成功。5、删除主机分组,删除成功。达到预期结果监控中心1、展示监控信息,正常显示。达到预期结果表6-3系统后台管理模块测试用例表2功能模块测试方式与预期结果测试结果脚本管理1、显示脚本列表,正常显示。2、上传脚本,信息填写不完整,上传失败。3、上传脚本,填写完整信息,上传成功。4、修改脚本信息,信息修改不完整,修改失败。5、修改脚本信息,信息填写完整,修改成功。6、删除脚本,删除成功。达到预期结果批量指令1、搜索执行脚本,搜索成功显示。搜索执行主机,搜索成功显示。3、批量执行脚本与指令,执行成功显示。达到预期结果定时任务添加定时任务,成功添加一条任务。修改定时任务信息,修改成功。执行一条定时任务,执行成功。暂停正在执行的定时任务,成功停止。删除定时任务,删除成功。达到预期结果角色管理1、查看个人信息,成功显示。2、修改登录账号的密码,成功修改。3、以超级管理员权限登录,正常显示管理员列表。4、具有超级管理员权限的账号添加管理员帐户,添加成功。5、超级管理员有权修改其他管理员信息,修改成功。6、超级管理员权限禁用与启用其他管理员帐户,可以正常修改。7、超级管理员有权删除其他管理员帐户,删除成功。达到预期结果系统管理显示操作日志列表,正常显示。点击清空日志按钮,清空页面日志列表成功。备份系统数据,备份成功。达到预期结果退出1、点击头部栏的“退出”,退出成功跳转登录界面达到预期结果7总结与展望7.1总结本论文首先分析了当前服务器广泛应用于各领域,已经与我们的生活息息相关,但是服务器的管理方式仍然可以改善的一些现状,然后对本文所开发的系统发展进行了简单的阐述。又介绍了本系统的主要开发技术是Python、Flask框架、Jinja2模板、HTML、CSS、JavaScript,除了编程语言外对Linux系统的操作知识也需要很多。对这个系统的开发与设计过程是一次对所学知识的综合使用,在开发过程的难点是Python后端与Linux操作系统的对接,需要设计出可靠稳定的方法在Web界面去控制Linux操作系统,但好在Python拥有非常丰富的第三方模块,执行命令、获取系统信息和执行脚本等功能都有相关模块利用。Web功能使用了Python的Flask框架实现,前端界面的请求数据会先传到后端,再由后端分发到对应的服务器上,达到Web界面操控服务器的目标,后端的数据通过Jinja2模板很好的实现前端数据显示。在设计开发过程综合使用了所学知识,当然也在这个过程学习运用了很多的新知识。7.2展望本系统的一些功能模块实现比较难,从设计到具体实现,前期也是做了很多相关技术的学习,攻破了主要的技术难点。在真正编写代码实现功能时,也还需要时常查看相关技术的使用手册,在后端对数据库操作时,因为刚开始不太熟悉也出现了很多错误,前端的界面设计是比较花时间的,界面需要各种调整到合适的位置,也克服了很多前后端数据交互显示的难题。在开发过程难免会遇到各种问题,当遇到问题的时候,会仔细的去定位问题原因,然后思考问题的解决方案。当遇到难以解决的问题会优去搜索引擎搜索相关解决方案,找找别人是否有这个问题的解决方法,借鉴别人的方法快速解决问题;也有一些无法解决的问题就会去

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论