版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Linux的云校园桌面虚拟化系统的设计与实现基于Linux的云校园桌面虚拟化系统的设计与实现此文档为WORD格式,下载后可随意编辑修改2017年9月修订基于Linux的云校园桌面虚拟化系统的设计与实现目录1 .绪论1.1.1本文的研究背景1.1.2国内外研究现状1.1.3系统的概述2.2 .系统相关技术介绍3.2.1 JavaEE3.2.2 SSH3.2.3 MySQL数据库3.2.4 CentOS73.2.5 KVM3.2.6 RFB协议(VNC)4.3 .系统分析.53.1需求分析5.3.2系统功能概述6.3.3系统数据流图7.3.3.1顶级数据流图7.3.3.2 0层数据流图7.3.
2、3.3一层数据流图8.3.4系统功能需求分析8.3.4.1管理员功能需求.8.3.4.2用户功能需求9.4 .系统设计1.1.4.1网络拓扑图1.1.4.2数据库设计1.24.2.1 E-R图设计1.24.2.2关系模式154.2.3数据模型图154.2.4数据库表结构设计1.64.3服务端接口设计19基于Linux的云校园桌面虚拟化系统的设计与实现4.3.1验证用户登录204.3.2注册用户214.3.3查询所有用户信息214.3.4根据状态查询用户列表214.3.5根据id查询用户224.3.6更新用户信息224.3.7检查昵称或用户名是否存在224.3.8检测邮箱和电话是否重复234.3
3、.9查询母板信息234.3.10查询所有的镜像234.3.11添加镜像244.3.12查询镜像244.3.13更新镜像244.3.14删除镜像254.3.15根据用户编号查看是签到的积分254.3.16根据用户编号查看积分明细254.3.17添加申请表264.3.18查询中请列表264.3.19根据申请id查询申请信息264.3.20根据镜像编号查询申请信息274.3.21同意申请274.3.22不同意申请274.3.23删除申请记录284.3.24查询安全问题表284.3.25删除安全问题284.3.26添加安全问题294.3.27查询接收人所有的消息记录294.3.28查询接收人已读和未读
4、消息294.3.29根据消息的id查询消息记录304.3.30更新消息记录.30基于Linux的云校园桌面虚拟化系统的设计与实现4.3.31查询价目列表.304.3.32根据元件查询价目314.3.33删除价目列表314.3.34修改价目列表314.3.35添加价目列表.324.4系统功能模块设计324.4.1系统总体功能模块图324.4.2系统详细功能模块设计335 .系统实现.385.1登录模块的实现385.1.1登录界面的实现.385.1.2密码找回的界面.395.1.3注册用户界面405.1.4意见反馈界面405.2虚拟系统管理模块实现425.2.1虚拟系统申请界面4.25.2.2虚拟
5、系统查看界面435.2.3虚拟系统的详细信息界面和编辑界面4.35.2.4虚拟系统的启动界面445.3虚拟机资源管理模块实现455.3.1申请列表界面455.4用户管理模块实现475.4.1用户列表界面475.5个人中心模块实现485.5.1个人信息界面486 .系统测试51.6.1系统测试51.6.2系统测试方案516.3测试结果53总结与展望54.iii基于Linux的云校园桌面虚拟化系统的设计与实现致谢55.参考文献56.iv基于Linux的云校园桌面虚拟化系统的设计与实现插图索引图3-1云校园桌面虚拟化系统顶层数据流图7图3-20层数据流图7.图3-3一层数据流图8.图3-4管理员权限
6、用例图9.图3-5用户权限用例图1.0图4-1云校园桌面虚拟化系统网络拓扑图1.1图4-2整体E-R图1.2图4-3问题表实体属性图1.3图4-4用户实体属性图1.3图4-5镜像实体属性图1.3图4-6申请单实体属性图1.4图4-7积分记录表实体属性图14图4-8价目实体属性图1.4图4-9消息实体属性图1.5图4-10管理员系统数据模型图16图4-11系统服务端功能结构图33图4-12系统客户端功能结构图33图4-13查看虚拟机.34图4-14添加/派生虚拟机系统34图4-15修改/删除虚拟机系统35图4-16启动/关闭虚拟机系统35图4-17虚拟机资源管理36图4-18管理员编辑虚拟机资源
7、36图4-19管理源对用户的编辑37图4-20个人中心37图5-1登录页面38图5-2忘记密码发送邮件接口界面39图5-3忘记密码找回界面39图5-4注册页面40基于Linux的云校园桌面虚拟化系统的设计与实现图5-5意见反馈接口141图5-6意见反馈接口241图5-7申请虚拟系统42图5-8虚拟系统列表界面43图5-9虚拟系统详细信息查看界面44图5-10虚拟系统信息编辑界面44图5-11虚拟系统启动界面45图5-12资源申请单列表界面46图5-13资源申请界面.46图5-14资源价目管理界面47图5-15用户信息列表界面47图5-16个人信息界面48图5-17个人信息编辑界面48图5-18
8、密码修改界面.49图5-19消息列表界面.49图5-20签到界面50图5-21积分明细界面.50vi基于Linux的云校园桌面虚拟化系统的设计与实现附表索引表4-1积分记录表.16表4-2用户信息表.1.7表4-3申请表17表4-4镜像表表表4-5价目表表表4-6安全问题表.18表4-7消息表表表4-8TUserInfoManager里的loginUser接口定义20表4-9TUserInfoManager里的addUser接口定义21表4-10TUserInfoManager里的selUserList接口定义21表4-11TUserInfoManager里的selUserListToStat
9、e接口定义21表4-12TUserInfoManager里的selUserToId接口定义22表4-13TUserInfoManager里的selUserToId接口定义22表4-14TUserInfoManager里的checkUserOrNickName接口定义22表4-15TUserInfoManager里的checkTelOrEmail接口定义23表4-16ImgInfoManager里的selImgM接口定义23表4-17ImgInfoManager里的selImgAll接口定义23表4-18ImgInfoManager里的addImg接口定义24表4-19ImgInfoManage
10、r里的getTimginfo接口定义24表4-20ImgInfoManager里的updateImg接口定义24表4-21ImgInfoManager里的delImg接口定义25表4-22IntegralManager里的selIntegralById接口定义25表4-23IntegralManager里的selIntegralInfoById接口定义25表4-24TapplicationManager里的addAppliction接口定义26表4-25TapplicationManager里的selApplictionAll接口定义26表4-26TapplicationManager里的se
11、lApplictionToapplyId接口定义26表4-27TapplicationManager里的selApplictionToImgId接口定义27表4-28TapplicationManager里的agreeApplictionOfSystem接口定义27表4-29TapplicationManager里的disAgreeApplictionOfSystem接口定义27vii基于Linux的云校园桌面虚拟化系统的设计与实现表4-30TapplicationManager里的delApplictionOfSystem接口定义28表4-31securQuestionManagerH的se
12、lSecurQuestionAll接口定义28表4-32securQuestionManagerH的delSecurQuestion接口定义28表4-33securQuestionManagerH的addSecurQuestion口定义29表4-34MessageManageM的selMsgAll接口定义29表4-35MessageManagerH的selMsgToState口定义29表4-36MessageManageM的selMsgByID接口定义30表4-37MessageManagerH的updateMsg接口定义30表4-38PriceListManager里的selPriceLis
13、t接口定义30表4-39PriceListManager里的selPriceToElement接口定义31表4-40PriceListManager里的delPriceList接口定义31表4-41PriceListManager里的updatePriceList接口定义31表4-42PriceListManager里的addPriceList接口定义32表6-1登录测试用例表52表6-2虚拟系统申请测试用例表52表6-3虚拟系统启动测试用例表52表6-4找回密码测试用例53表6-5虚拟系统资源申请测试用例表.53viii基于Linux的云校园桌面虚拟化系统的设计与实现基于Linux的云校园桌
14、面虚拟化系统的设计与实现摘要在现在企业网络和学校教育网络的建设过程中,传统的管理方案已经不能满足管理上的需求。为了使我们的校园网络能够更便捷的管理和维护,让管理员能够从大量的机房设备管理中解放出来,本文结合云技术和具有良好的资源分配的Linux系统,提出了基于Linux的云校园桌面虚拟化系统的设计与实现。本文是根据云校园桌面虚拟化系统的的开发背景、意义以及国内外的研究现状和发展的趋势,提出了云校园虚拟化系统的实现方案。根据实际的需求,采用Linux的KVM虚拟服务器作为基础开发进行分析。同时对整个系统做了需求分析、数据库的设计、业务流程的设计和功能模块的详细设计。本系统主要包括虚拟机管理、资源
15、管理、用户管理、和个人中心等模块。主要是采用了Linux系统的KVM服务器和VNC服务器进行网络传输。实现了虚拟系统的资源管理和分配。并以云的方式进行部署,测试表明,系统性能稳定,有很好的发展前景。关键词:虚拟桌面;云校园;KVM;VNC基于Linux的云校园桌面虚拟化系统的设计与实现DesignandImplementationofCloudCampusDesktopVirtualDesignandImplementationofCloudCampusDesktopVirtualSystembasedonLinuxSystembasedonLinuxAbstractAbstractInthe
16、constructionofenterpriseandschooleducationnetwork,thetraditionalmanagementschemecannotmeettheneedsofmanagement.Inordertomakeourmanagementandmaintenanceofcampusnetworktobemoreconvenient,allowingadministratorstoliberatefromthelargenumberofcomputerequipmentmanagement,thispaperincludecloudtechnologyandL
17、inuxsystemwithagoodresourceallocation,proposebasedonthedesignandimplementationofcampusclouddesktopvirtualizationsystembasedonLinux.Thispaperisbasedonthedevelopmentbackgroundofsignificanceandtheresearchstatusofdevelopmenttrendofcloudcampusdesktopvirtualizationsystem,andputsforwardtherealizationscheme
18、ofthecloudcampusvirtualizationsystem.Accordingtotheactualdemand,theKVMLinuxvirtualserverisusedasthebasicdevelopmentanalysis.Atthesametime,developingthesystemneedsanalysis,databasedesign,businessprocessdesignandfunctionmoduledesign.Thesystemincludesthevirtualmachinemanagement,resourcemanagement,userm
19、anagement,personalcenterandothermodules.KVMandVNCserverareusedfornetworktransmissioninLinuxsystem.Resourcemanagementanddistributionofvirtualsystemisimplemented.Withthedeploymentofthecloud,thetestshowsthatthesystemperformanceisstableandhasagoodprospectsfordevelopment.KeywordsKeywords:Virtualdesktopcl
20、oudcampus;KVM;VNC基于Linux的云校园桌面虚拟化系统的设计与实现1.绪论本章从论文研究背景出发,分析了虚拟桌面的发展历程,从而提出基于Linux的云校园桌面虚拟化系统的设计方案,并就国内外研究现状及相似产品进行描述和总结,同时引出本论文的研究方案及方向同时说明了论文组织。1.1本文的研究背景云计算:CloudComputing,它有四个很关键概念,第一,用户可以根据自身的需求中请资源并可以动态的配置和扩展这些资源;第二,云把硬件和软件都认为是资源,是以网络的方式提供给用户服务;第三,用户可以使用这些资源,但不需要去管理这些资源;第四,最终展现给用户的都是以单一的整体形式,尽管
21、实际上这些资源更多的是以分布式的方式存在1o而云校园网络:CloudCampusNetwork,简称CCN。从概念上可以理解,它是用在高校的整体发展战略和在教学科研业务,同时还用在广泛师生用户的网络基础设施和公共支撑平台,它是一种普适接入、统一的架构、虚拟化、泛载、可信、绿色低碳的信息服务环境,是一种按需分配、按需使用的服务交付和使用模式1。虚拟化桌面是一种云计算应用相对比较典型的,它的目的就是在云中为用户提供远程的计算机桌面的服务2。在云校园云桌面上的内容、各类应用和主机租用服务为了能够让用户可以直接定制和使用。现通过搭建统一的软件资源、应用以及服务的平台后,用户只需通过手机、个人PC或其他
22、云终端设备,然后只要通过4G网络或固定网络就能轻松获取云上资源网。在云校园中学习办公桌面环境是让学生老师提高学习和工作效率的技术手段,这桌面上运行的各种学习软件、应用系统是人们协同工作和学习的良好工具。同时现在很多人基本都拥有个人的PC和学习桌面电脑,但在获得这样的便利的同时当然也带来和管理和维护上的挑战。因为IT中办公学习环境的深入和普及4。本报告给出的解决方案,实现在云校园网内搭建虚拟桌面子系统,可以在云校园网中实现虚拟桌面取代传统电脑,这样在云网络上操作系统、游戏、工具软件等各类的应用服务,就只需通过安装简易的瘦终端就可以使用。1.2国内外研究现状亚马逊的云平台,它需要的桌面虚拟化的可扩
23、张型很强,规模很大。它的桌面虚拟化的后台支持是云(cloud),是通过使用虚拟化集群实现的云。还有google的云计算平1基于Linux的云校园桌面虚拟化系统的设计与实现台使用分布式的方法6。使用服务器虚拟化实现的云,作为桌面虚拟化的后台。它的桌面的分配与虚拟机桌面通过远程桌面的方式传输给用户的方案类似。最近的几年, “云”的概念变得流行, 虚拟桌面技术也越来越受关注。 曾经2010年被Citrix称为“桌面虚拟化元年”7。并在多种调查中发现,欧美国家中,虚拟桌面的被用户了解的程度已经有33%,企业中有27%左右在使用。16%正打算使用并在规划和部署网。所以要使用这个虚拟桌面主流应用,在云校园
24、中运用虚拟桌面进行教学和办公,还有许多工作要做。1.3系统的概述本系统通过使用CentOS7的KVM组件实现多个虚拟系统。采用JavaEE的SSH技术来搭建KVM服务器管理系统,通过B/S模式来访问管理KVM服务器中虚拟机系统的相关操作,对虚拟机系统资源动态分配管理,有用户资料的管理,处理用户申请等操作。而用户只要输入帐号和密码进行登录,并得到虚拟桌面系统的连接用,并通过VNCviewer远程登录KVM中的虚拟机系统。 同时用户可以根据自身的资格申请不同的虚拟机系统资源如: 内存、CPU、硬盘等资源。用户可以根据自身的需求来定制自己的虚拟机系统。以下的几个方面就是本文主要的研究工作:KVM虚拟
25、服务器的搭建,VNC访问KVM虚拟系统,用B/S模式管理KVM虚拟系统,具体说明如下:(1) KVM虚拟服务器的搭建在CentOS7安装KVM、qemu-kvm、需要CPU支持硬件虚拟化,本系统需要在KVM虚拟服务器的基础之上进行系统的虚拟化,达到云校园桌面系统的虚拟化。(2) VNC访问KVM虚拟系统完成KVM系统的虚拟化后,需要使用VNC服务器来将KVM虚拟系统的端口发布出去,使得用户在云校园上访问到KVM虚拟系统,并达到和真机一样的使用效果。(3)用B/S模式管理KVM虚拟系统完成云校园桌面的虚拟化后,用Tomcat作为本系统的服务器,对于KVM虚拟服务器、服务器的资源、以及VNC服务端
26、口的开关则采用浏览器的方式进行配置和管理,方便快捷。基于Linux的云校园桌面虚拟化系统的设计与实现2 .系统相关技术介绍本系统基于JavaEESSH(Struts2.1+Spring3.1+Hibernate4框架,采用Myeclipse8.5作为开发平台,并结合CentOS7系统上的KVM技术和VNC技术,开发基于B/S模式的云校园桌面虚拟化系统的设计与实现。2.1JavaEEJavaEE是由组件构成的的应用程序,它的开发是基于组件的。它是Java三种平台中的一种,适用于企业级的应用。在开发web应用上,它具有很好的兼容性。不仅具有Java2平台的标准,而且还拥有多种框架可以集成。方便数据
27、的交互、存取等操作。能开发、管理和部署很多复杂的结构体系项目。其主要目的就是为了减低开发者的开发时间,缩短开发周期。2.2SSHSSH不是一个框架,是由Struts+Spring+Hibernate集成的,是现在比较流行的框架结合,在公司中比较经常使用,而且是开源的,方便框架的完善、配置和扩张。这样的框架集合在职责上分为:域模块层、业务逻辑层、表示层和数据持久层。这样就构成了MVC的架构,是得三层分离。这样就方便了开发以及以后的维护。2.3MySQL数据库MySQL数据库是关系型的数据库,起源于瑞典。现在是由Oracle公司运营。也是一个主流的数据库。在多种应用上都有很好的表现,而且它体积小、
28、速度上也比较快,关键一点是成本低还是开源的。一般的中小的企业都会选择MySQL作为运营的数据库。采用的也都是标准且常用的SQL语言,所以对于开发人员来说也是一款便捷的数据库。2.4CentOS7CentOS是红帽子公司的Linux发行版,是一款免费的的操作系统,常在中小企业中作为服务器使用。而且具有很好非常好的稳定性。2.5KVMKVM是 Kernel-basedVirtualMachine的简称,是Linux内的一个虚拟化模块。在多种Linux发行版本中都有,它的资源调度是由Linux自身的调度器管理的。而且核心的源码不多,是现在主流的VMM之一。基于Linux的云校园桌面虚拟化系统的设计与
29、实现2.6RFB协议(VNC)VNC是远程控制的软件,分为服务端和客户端,主要是在VirtualNetworkComputer的缩写, 远程控制的能力强大。 可以媲美控软件。其中主要的命令有:vncserver,vncviewer,vncpasswd,边两个命令是用户最经常使用到的:vncserver和vncviewer。Linux操作系统中。是Wndow和MAC的远和vncconnect。其中这基于Linux的云校园桌面虚拟化系统的设计与实现3 .系统分析本章主要对桌面虚拟化系统进行分析,主要分析:总体的业务处理流程、系统总体功能需求、系统的目标、系统逻辑结构,以及系统功能流程,来达到实现系
30、统需求的目的,并提出具体的分析。3.1需求分析本系统主要是针对目前云校园技术的设计与实现,针对现在客户机资源的浪费现象提出使用瘦客户端来对云校园上系统资源的访问和使用,实现用户根据自身需求,并可以去云上面去申请系统资源。具体分析如下:核心问题:为什么要在云校园上搭建桌面虚拟化系统?方案提出的动机:目前,在云校园平台的建立,而教学和办公还是采取传统的学习和办公模式,采用多人使用同一台电脑桌面。这样一来资料的携带的不方便,以及办公学习的桌面的变换使得办公和学习的效率低下。同时老式的PC机已经跟不上新的学习软件所需要的计算机资源。在这IT行业的迅速发展,管理和分配不同用户使用适合的桌面已经不再是技术
31、上的难点。所以本系统要完成云校园虚拟桌面的功能,实现方便快捷的分配虚拟桌面给用户,并提供不同的用户根据需要个性化的申请需要的系统资源。拟采用的解决方案:在KVM上搭建虚拟机系统,通过Java调用shell命令qemu-kvm来开启虚拟机系统和VNCserver端口, 然后在客户端上用VNCviewer访问服务器上KVM虚拟机上虚拟机系统。方案描述:本系统要基于CentOS7操作系统,在CentOS7上搭建tomcat服务器来承载该系统,是使用JavaEE技术编写,利用B/S模式来管理系统的后台。其中核心部分是利用CentOS7上的KVM技术搭建虚拟机系统,利用Java调用shell命令控制KV
32、M服务器上的虚拟机系统的开启、关闭、添加和删除以及虚拟机系统的资源管理等操作。使用VNC技术来实现客户端和KVM服务器的虚拟机系统之间的通信。并开通虚拟机系统资源申请通道,如果用户需要更多的资源,那么就可以通过申请得到。通过这样的方案从而实现云校园的虚拟桌面,达到用户随时随地在云校园上使用专属于自己的虚拟系统。具体目标如下:3.2用户基础资料的添加删除修改等操作,以及用户的注册功能。(2)管理员对虚拟系统的编辑操作,以及虚拟系统资源的费用管理。(3)用户根据任务、签到得到的本系统的img币,去申请虚拟系统以及虚拟系统资源。基于Linux的云校园桌面虚拟化系统的设计与实现(4)管理源受理用户的申
33、请。(5)用户启动虚拟系统,并用VNCviewer访问虚拟系统进行使用。(6)密码的管理机制,密保问题、邮箱找回。(7)用户的意见反馈。3.3系统功能概述本系统主要是实现用户在云校园上访问本系统的虚拟系统,并使用。还可以根据自身需求在本系统的管理界面上定制属于自己的虚拟系统。客户端主要内容:(1)系统注册、登录模块实现用户在线登录以及注册的功能,具有动态检查注册信息的合法性,用发送用户名和密码到邮箱的方式来查找密码,登录成功后跳转主页。(2)虚拟系统资源申请登录成功后,用户可以根据任务、签到得到的img币申请系统或虚拟机系统的cpu、硬盘、内存等资源。(3)虚拟系统管理用户登录成功后可以对虚拟
34、系统的名称、简述等信息资料进行简单的修改,有恢复出厂设置的功能,并且可以对虚拟系统进行开启或关闭。开启后可以用VNCviewer进行使用。(4)个人中心管理和查看个人基本信息。查看积分明细,和消息情况。(5)签到和意见反馈模块用户可以签到,并根据连续签到的天数得到img币。用户对本系统如果有建议,可以通过接口发送邮件给系统管理人员。服务端主要内容:(1)用户管理用户的增删改查,默认用户的信息。(2)虚拟系统管理添加母板虚拟系统,提供用户进行派生。统一管理用户的虚拟系统。(3)资源管理基于Linux的云校园桌面虚拟化系统的设计与实现基本资源管理,受理用户的资源申请。添加和修改虚拟系统资源的价值。
35、3.4系统数据流图3.4.1顶级数据流图云校园桌面虚拟化系统的顶层交互数据流图,如图3-1所示:图3-1云校园桌面虚拟化系统顶层数据流图图3-1描述的是本系统总的数据交互流向,用户总的数据流可以概括为向服务器发送操作指令,并得到系统的界面展示。而管理员的数据流也是可以总结为向服务器发送操作指令,同时得到服务器的返回信息,再做出对应的操作。3.4.2 0层数据流图云校园桌面虚拟化系统的0层交互数据流图,如图3-2所示:数据库图3-20层数据流图图3-2是本系统的0层数据流图,同时描述了系统内部具体的数据流,用户的指令基于Linux的云校园桌面虚拟化系统的设计与实现先通过虚拟桌面客户端的处理向虚拟
36、服务器发送开启虚拟系统的命令,由虚拟桌面服务器处理后,服务器会向KVM服务器发送qemu-kvm的虚拟机启动指令,然后经过KVM服务器处理后返回虚拟系统的端口给虚拟桌面服务器,然后虚拟桌面服务器加上服务器的域名返回给虚拟桌面客户端,虚拟桌面客户端就可以发送连接字符串到KVM服务器进行处理后,KVM服务器会返回虚拟机的操作界面给客户端,用户就可以通过客户端得到系统界面,并可以操作。3.4.3一层数据流图云校园桌面虚拟化系统的一层交互数据流图,如图3-3所示:图3-3一层数据流图图3-3是本系统的一层流程图中的一部分,是虚拟桌面服务器的细化,具体描述的是虚拟桌面服务器的5个管理功能以及数据流的流向
37、。有虚拟系统、用户、虚拟机资源、个人信息、安全问题等数据操作以及数据流向。很清楚的描述出服务器上的数据流细节3.5系统功能需求分析3.5.1管理员功能需求本系统中管理员在后台能够对所有功能模块进行操作管理,对各个模块都应该具备添加、删除和修改等操作权限,其中对用户的申请资源操作进行审核。P1.3qemu-kvmf 旨令P1.2KVM 艮务器iJSS一虚拟系统地址和端口一,客尸师处 7fP1.1.1-qomcat 月艮务一理k4开启虚拟系统命令虚拟系统端口处理-1操作信息-返回信息管理员镜像表用户记录i 器处理h工亡系统资源申请单-安全问题记录安全问题列表个人信息P1.1.5管理个人-信息A A
38、积分记录消息表表P1.1.2,管理虚拟系统添力口系统表单系统列表、用尸列表用户表介1.1.3管理用户J申请表价目表JLP1.1.4管理虚拟安全问题表P1.1.6管理安全问题J基于Linux的云校园桌面虚拟化系统的设计与实现通过对管理员拥有操作权限的相关描述,对管理员这个角色有了进一步的认识,从在本系统中用户可以通过登录界面登录个人的帐号,登录成功后用户可以对自身的联系电话、电子邮箱和密码等信息进行修改。在本系统中可以对虚拟系统或虚拟系统的资源进行申请的操作。并可以对自己的虚拟系统进行恢复出厂,开启和关闭等操作。通过以上对普通用户的权限说明,可以清楚的了解到普通用户所具备的操作权限,明白了普通用
39、户在该系统中所需求的功能权限。为了能够更直观的体现出来,对普通用户的用例描述如图3-5所示。管理员需求的管理范围,对管理员的用例如图3-4所示。3.4.2用户功能需求唳改信息)-一;/e护信息):nclude/_/而息查看-/管理个人中心)extends戌六,/答到一,extend/z用户(反馈图3-5用户权限用例图申请磁盘)申请内)产请资源_(申1|CPU请虚拟晨看虚拟机:/,一、一一乂灰/管理虚拟机卜一一TZy/clude(7毁虚拟机)匕._二1b(启动虚拟机!闭虚拟机)基于Linux的云校园桌面虚拟化系统的设计与实现1011基于Linux的云校园桌面虚拟化系统的设计与实现4 .系统设计本
40、章在上一章系统分析的基础上,展开对系统总体网络设计、总体功能结构设计、数据库设计、及系统主要功能模块设计。主要叙述了系统的功能模块设计,数据库的一些设计为后面的开发做好了基础。4.1网络拓扑图本系统有使用的模式有B/S和小部分C/S模式, 在客户端和服务端之间的通讯是靠无线或有线传输的。客户端通过网络将数据传递给云。然后,数据被传输到服务端。这时候防火墙过滤非法数据。最后传递到服务器进行处理。处理完成后的数据,将存储到数据库中。如图4-1所示:移动设备台式电脑便携式电脑图4-1云校园桌面虚拟化系统网络拓扑图基于Linux的云校园桌面虚拟化系统的设计与实现通过图4-1本系统的网络拓扑图,可以看出
41、它和普通的B/S模式的拓扑图是类似的,有不一样的就是, 本系统添加了一台KVM服务器。 这KVM服务器是本系统的基础, 本系统需要使用KVM虚拟机服务器,虚拟出虚拟的系统,并通过WEB服务器进行管理。最后以这样的拓扑结构来搭建本系统的网络。4.2数据库设计4.2.1 E-R图设计图4-2是本系统设计的总体E-R图。授权的过程:一个申请单只能有一个管理员(用户)受理,里面只能授权一个镜像的资源;一个管理员可以授权多个申请单同样的每个申请单中只能有一个镜像。安全问题的设置:一个用户可以设置一个安全问题用于找回密码;而一个安全问题可以被多个用户进行设置。消息记录获取:一条消息只能属于一个用户;一个用
42、户可以获取多条消息。积分/img币记录:一个用户可以有多条积分/img币的记录;一个积分/img币的记录只能属于一个用户。镜像所属:一个用户可以拥有多个镜像资源;一个镜像资源只能属于一个用户。申请单中请:一个用户可以提交多个申请单;一个申请单只能属于一个用户。安全问题一1一二设置软取消息-N消息图4-3至图4-9是各实体具体属性-N用户1-:申请二N申请单/11f1、_N二记录)/拥有之.授权NN1积分/img币镜像111N.J派生图4-2整体E-R图12基于Linux的云校园桌面虚拟化系统的设计与实现问题id:(称号用户id-:,用户名称、_一-:用户昵称(邮箱1二电话/(密码5;镜像名、(
43、镜像位置:(端口).(属性)一一系统类型.C内广一,安全问题):编辑时间)一不之0问题图4-3问题表实体属性图创建时间预留、)-fImg币.积分)-用户;性别diict:d1L.pkeleMEitvirtharL20basicint11)pricint(11)unitVJirdhrflO.editTledatetze二 arkvarcharL20:Hlint11;isfNaaizfForJIontliint(11)3f(lus-trldint(11)Bkl,fk2)isfFnhvirchu200isfFortrarehiix*0)virchiT 工时syits:Tjpfivirchur;班工二
44、int11)hariDijkIHt(11)cpuint(11fhllSiuint(11)coatmt1.1izgStateint(11)FTesELtatLa-nvaxchai.ZOO.creatclizedatetiz-EeditTiaedatetin-Ezarkvarchar(200)Tapplication1 口 i:N:dint11L5ipplyllstrldint(11)ipplyTyjtvirchir(10)i 暗 dint(11)rasiot(11)hirdDiakint(11)epuint111.eastint111.applyStateintril.authorizeUaei
45、nttil)int(11)iflteeralTevarehar11CegralYalu-emt;1.scDieTizedatetizedaysintill)zarkvarchar:2。0ugq/dint11;uitrNizt-axckiir20)HlnickXizevurckiir201uRukvurckiur;20uatrFKtrvtichir:20)uFtsiif&ni=3.20)ezailvaichur:20)ttlvaichar70)4。int11)tirtLdayVHIrbar.1C.:detityvar 匚 bar,1C.:quastIdint11)或1?queEtAnEr
46、rervarchELr(200)izngCjsinintIll)integralint11uStatint.11)createTi=edatetditTisedat 山 3zarkvaichar200)T_secuxQutstiongimtld:int111:成questCratentaxchar(50)editTidatetizezarkvarchar:20lJT.sessafe度&ss:且良电:dintHlck.E1 电亡电 i 时总电电intIII.zessageValuevarehar200zessageTypevarchar1C.zessageStatEvarchar(.10
47、.sendLaer-dint(11)sendTirEdatet-eeditTizfidatetimeFTkvarchar(200;基于Linux的云校园桌面虚拟化系统的设计与实现表4-2用户信息表标识符:T_userInfo数据定义:记录用户信息的数据结构编号名称大小 标识主码约束说明1userIdint是是primarykey用户id2userNamevarchar20notnull,unique用户名称3nickNamevarchar20null,unique用户昵称4uRankvarchar20null称号5userFKeyvarchar20null用户6uPasswordvarchar
48、20notnull密码7emailvarchar20notnull邮箱8telvarchar20null电话9sexintnull性别10birthdayvarchar10null生日:2014/01/0111uIdentityvarchar10notnull身份12questIdintnull,fk密保问题id13questAnswervarchar200null密保答案14imgCoinintnotnullimg币15integralintnotnull积分(默认100)16uStateintnotnull状态(1/0默认1)17createTimedatetimenotnull创建时间1
49、8editTimedatetimenotnull编辑时间19markvarchar200null预留表4-3申请表标识符:Tapplication数据定义:记录申请信息的数据结构编号名称大小标识主码约束说明1applyIdint是是primarykey申请id2applyUserIdintnotnull,fk申请人3applyTypevarchar10notnull申请类别4imgIdintnotnull,fk镜彳象id5ramintnull内存(M)6hardDiskintnull硬盘(G)7cpuintnullCPU(个)8costintnull价值img币9applyStateintno
50、tnull申请状态10authorizeUserintnull,fk授权人id11applyTimedatetimenotnull申请时间12authorizeTimedatetimenull授权时间13markvarchar200null预留17基于Linux的云校园桌面虚拟化系统的设计与实现标识符:表4-4镜像表T_imgInfo数据定义:记录虚拟系统镜像的数据结构编号名称大小标识主码约束说明1imgIdint是是primarykey镜像id2imgNamevarchar20notnull镜像名3imgForMonthintnull,fk所属母板id4userIdintnotnull,fk
51、所属用户5imgPathvarchar200notnull镜像位置6imgPortvarchar20notnull,unique端口(唯一)7imgNaturevarchar20notnull属性8systemTypevarchar20notnull系统类型9ramintnotnull内存(M)10hardDiskintnotnull硬盘(G)11cpuintnotnullCPU(个)12fullSizeintnotnull实际大小(M)13costintnull价值img币14imgStateintnotnull状态15presentationvarchar200null介绍16create
52、Timedatetimenotnull创建时间17editTimedatetimenotnull编辑时间18markvarchar200null预留表4-5价目表标识符:T_priceList数据定义:记录资源价目的数据结构编号名称大小标识主码约束说明1productIdint是是primarykey产品id2elementvarchar20notnull元件3basicintnotnull基础资源4priceintnotnull增长单价(币)5unitvarchar10notnull单位6editTimedatetimenotnull编辑时间7markvarchar200null预留表4-6
53、安全问题表标识符:T_securQuestion数据定义:记录安全问题的数据结构编号名称大小标识主码约束说明1questIdint是是primarykey问题id2questContentVarchar50notnull安全问题3editTimedatetimenotnull编辑时间4markvarchar200null预留18基于Linux的云校园桌面虚拟化系统的设计与实现表4-7消息表标识符:T_message数据定义:记录消息的数据结构编号名称大小标识主码约束说明1messageIdint是是primarykey消息id2receiveUserIdintnotnull,fk用户id3me
54、ssageValuevarchar200null消息内容4messageTypevarchar10null消息类型5messageStatevarchar10notnull消息状态6sendUserIdintnull,fk发送者id7sendTimedatetimenotnull发送时间8editTimedatetimenotnull编辑时间9markvarchar200null预留4.3服务端接口设计服务端接口列表4.3.1loginUser4.3.2addUser4.3.3selUserList4.3.4selUserListToState4.3.5selUserToId4.3.6upda
55、teUser4.3.7checkUserOrNickName4.3.8checkTelOrEmailselImgM(10)selImgAll(11)addImg(12)getTimginfo(13)updateImg(14)delImg(15)selIntegralById(16)selIntegralInfoById(17)addAppliction19基于Linux的云校园桌面虚拟化系统的设计与实现(18)selApplictionAll(19)selApplictionToapplyId(20)selApplictionToImgId(21)agreeApplictionOfSystem
56、(22)disAgreeApplictionOfSystem(23)delApplictionOfSystem(24)selSecurQuestionAll(25)delSecurQuestion(26)addSecurQuestion(27)selMsgAll(28)selMsgToState(29)selMsgByID(30)updateMsg(31)selPriceList(32)selPriceToElement(33)delPriceList4.3.9updatePriceList(35)addPriceList接口详细说明如表4-8至表4-42所示:4.3.10证用户登录表4-8T
57、UserInfoManager里的loginUser接口定义接口标识符:loginUser定义项项目属性接口定义publicTUserInfologinUser()描述登录用户返回:TUserInfo对象登录成功返回值返回:null登录失败参数TUserInfotuser用户对象异常用户不存在、密码不正确20基于Linux的云校园桌面虚拟化系统的设计与实现4.3.11册用户表4-9TUserInfoManager里的addUser接口定义接口标识符:addUser定义项项目属性publicTUserInfoaddUser()描述注册用户返回:TUserInfo对象添加成功返回值返回:null登
58、添加失败参数TUserInfotuser用户对象异常用户名存在4.3.12询所有用户信息表4-10TUserInfoManager里的selUserList接口定义接口标识符:selUserList定义项项目属性接口定义publicListselUserList。描述查询所有用户信息返回:List用户列表返回值返回:null查询失败参数异常没有查到数据4.3.13据状态查询用户列表表4-11TUserInfoManager里的selUserListToState接口定义接口标识符:selUserListToState定义项项目属性接口定义publicListselUserListToState
59、。描述根据状态查询用户列表返回:List用户列表返回值返回:null查询失败参数intuState用户状态异常没有查到数据21基于Linux的云校园桌面虚拟化系统的设计与实现4.3.14据id查询用户表4-12TUserInfoManager里的selUserToId接口定义接口标识符:selUserToId定义项项目属性publicTUserInfoselUserToId。描述根据id查询用户返回:TUserInfo用户信息返回值参数intuserid用户编号异常没有查到数据4.3.15新用户信息表4-13TUserInfoManager里的selUserToId接口定义接口标识符:selU
60、serToId定义项项目属性publicTUserInfoselUserToId。描述根据id查询用户返回:TUserInfo用户信息返回值参数intuserid用户编号异常没有查到数据4.3.16查昵称或用户名是否存在表4-14TUserInfoManager里的checkUserOrNickName接口定义接口标识符:checkUserOrNickName接口定义publicintcheckUserOrNickName。描述检测用户名和昵称是否重复返回:1用户名和昵称重复返回值返回:0用户名和昵称没有重复参数StringstrName用户名或昵称异常22基于Linux的云校园桌面虚拟化系统的设计与实现4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年国开电大数控加工工艺第四次作业答案
- 2025年家具行业供需分析可行性研究报告
- 幕墙设计竞聘演讲稿
- 父亲是我的骄傲演讲稿
- 2026年秋招:陕西有色金属控股集团试题及答案
- 2026年四川医疗卫生事业党建专员招聘考试练习试卷(含答案)
- 2026年上海航空人员党建专员招聘考试练习试卷(含答案)
- 2026年安徽中学教师纪检监察招聘考试练习试卷(含答案)
- 2026大理一中团课考试题及答案
- 珠海安保集团入职题目
- 2026年安全生产法律法规汇编学习
- 2026年注册安全工程师考试金属非金属矿山(中级)安全生产专业实务核心试题附答案
- 工程结算审核实施方案
- 2026年度电力工程造价从业人员专业能力评价(电力工程造价管理)练习题库
- 2026年鼠疫防治知识测试题及答案
- 2026年高考数学全国Ⅱ卷真题解读及复习备考策略(课件)
- 水利工程施工质量检验与评定规范第2部分建筑工程
- 肿瘤化疗副作用护理措施
- 烟花爆竹零售点安全规范经营培训
- 地铁站安检工作标准操作手册
- 人工智能在小学数学与科学教学评价中的应用与实践教学研究课题报告
评论
0/150
提交评论