1、本科毕业论文(20 届)基于Web的桌面云远程访问控制系统的设计与实现所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 学位论文独创性(或创新性)声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文若有不实之处,本人承担一切法律责任。本人签
2、名: 日 期: 西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权属于西安电子科技大学。学校有权保留送交论文的复印件,允许查阅、借阅论文;学校可以公布论文的全部或部分内容,允许采用影印、缩印或其它复制手段保存论文。同时本人保证,结合学位论文研究成果完成的论文、发明专利等成果,署名单位为西安电子科技大学。保密的学位论文在 年解密后适用本授权书。本人签名: 导师签名: 日 期: 日 期: ABSTRACTIII摘要随着计算机科学技术的不断进步,虚拟化技术也得到了长足的发展。虚拟化技术在云计算中扮演着重要的角色
3、。桌面云是一种旨在提供桌面虚拟化服务的云计算服务形式。和传统计算机桌面相比,桌面云以其集中化管理、安全性高、总体成本低等特点得到许多企业的青睐。一般的桌面云远程访问控制系统方案采用了传统的C/S 架构,人们通过特定的瘦客户端进行远程访问控制。这种类型的瘦客户端只能运行在特定的系统平台上,并且在整个桌面云系统升级时,对这些瘦客户端升级,需要一定的管理维护成本。针对上述问题,本文结合最新的 Web 技术,设计并实现了一种基于 B/S 架构的Web 桌面云远程访问控制系统。相较于一般 C/S 架构的桌面云远程访问控制系统,本系统没有平台依赖、更易集中化管理。本文首先讨论了远程访问控制技术的发展,桌面
4、云的发展现状以及现有的桌面云远程访问系统存在的问题。其次介绍了 Web 技术发展尤其是 HTML5 标准对浏览器功能的加强。接下来对系统一些关键技术进行简要介绍,阐明系统使用这些技术的原因。然后通过对系统的需求分析,指出本系统解决的一些关键问题,通过系统概要设计,阐述了系统设计的 Web Client 以及远程桌面网关这两个核心的设计。Web Client 的主要职责是对向统一认证中心认证用户身份、进行远程桌面连接与显示、接收并封装用户鼠标键盘消息等,它一方面作为 Client 面向用户,另一方面充当 Server 和远程桌面网关进行交互。远程桌面网关的主要功能是监听连接请求、和虚拟桌面服务器
5、建立远程访问连接、向 Web Client 转发远程访问连接内容。文章采用统一建模语言 UML 分别画出了两部分的核心模块类图、流程图以及时序图,并详细阐述模块作用和实现。最后,本文简要的说明了系统的关键组件如反向代理、虚拟桌面服务器、LDAP统一身份认证服务等部署。通过系统测试表明,该系统部署方便,更易集中化管理,满足设计目的,适合作为桌面云的远程访问控制系统。关 键 词:桌面云, B/S 架构, Web 服务, Web Client, 远程桌面网关ABSTRACTIVABSTRACTWith the development of computer science technology, v
6、irtualization technology has made a great improvement. Virtualization plays an important role in cloud computing. Desktop Cloud is a kind of cloud computing, which provides users with virtual desktops. Compared with traditional computer desktops, Desktop Cloud costs less and is more centralized and
7、safer, which makes it a better solution for many enterprises. The traditional Desktop Cloud is based on C/S architecture, of which C stands for a thin client. People rely on a thin client to connect to the cloud. The thin client can only run on some special computer systems and it takes some time an
8、d cost to maintain these thin clients.To solve the problem, the paper designs and implements a B/S architecture of Cloud Desktop remote desktop access control system based on the latest web technology. Compared with other Desktop Cloud solutions, it is clientless and has a good feature of cross-plat
9、form. Firstly, the paper introduces the development of remote desktop access control systems and Desktop Cloud, and points out the problem in the Desktop Cloud remote desktop access control system. Then it illustrates that it makes web browsers more powerful because of the rapid development of web s
10、ervice with the HTML5 standard. Then it discusses some key issues the system is to solve, gives the overall architecture of the system and introduces the two core parts of the system: Web Client and Remote Desktop Gateway.The functionalities of Web Client are verifying users identities from authenti
11、cation center, establishing and displaying remote desktop connection, receiving and encapsulating the user mouse and keyboard messages, and etc. On the one hand, it interacts with the user as a client; on the other hand, it acts as a server to connect to Remote Desktop Gateway. Remote ABSTRACTVDeskt
12、op Gateway is used to listen on the requests from Web Client, establish a connection with virtual desktop servers and transmit the data to Web Client. The paper utilizes UML to give some class diagrams, flow diagrams and sequence diagrams of these two parts.Finally, the key system components, such a
13、s the reverse proxy, the virtual desktop server and LDAP authentication center, are described. The testing results show that the system is easy to deploy and manage. The feasibility of the system is verified. Keywords: Desktop Cloud, B/S architecture, Web Service, Web Client, Remote Desktop GatewayA
14、BSTRACTVI插图索引VII插图索引图 2.1 服务器虚拟化模型 .8图 2.2 KVM 架构图 .9图 2.3 KVM、QEMU、libvirt 关系图 .10图 2.4 RDP 协议层次模型 .12图 2.5 RFB 工作示意图 .13图 2.6 HTTPS 反向代理示意图 .15图 2.7 WebSoket 连接建立过程 .17图 3.1 系统架构示意图 .25图 3.2 Web 远程访问系统流程图 .27图 3.3 Web Client 模块图 .28图 3.4 远程桌面网关服务模块图 .29图 4.1 系统时序图 .31图 4.2 Canvas Protocol 功能示意图 .33图 4.3 Web Client 示意图 .38图 4.4 绘制渲染模块类图 .38图 4.5 鼠标键盘类图 .41图 4.6 LDAP 认证模块类图 .41图 4.7 桌面网关功能示意图 .42图 4.8 Proxy_daemon 加载远程桌面访问协议示意图 .43图 4.9 桌面网关类图 .43图 4.10 Proxy_daemon 通信时序图 .46插图索引VIII图 5.1 系统模拟服务部署图 .50插图索引IX