蒋建军 丁志锋
1(上海电机学院电子信息学院 上海 200240)2(武汉理工大学信息工程学院 湖北 武汉 430070)
基于云技术的计算模式及其实现
蒋建军1,2丁志锋1
1(上海电机学院电子信息学院上海 200240)2(武汉理工大学信息工程学院湖北 武汉 430070)
摘要针对传统计算模式下设备、操作系统、应用程序和用户数据紧耦合的问题,提出基于云技术的计算模式,实现这四个要素的“完全分”和“自由合”。作为云技术计算模式的原型实现,云平台在后端构建存储云、桌面云和应用云,将用户数据、操作系统和应用程序都集中部署在数据中心,可以让用户专注于自己的数据,在任何时候、从任何地方、使用任何设备、连接任何桌面、运行任何应用程序来访问、处理和分享自己的数据。
关键词云技术虚拟化管理引擎桌面云应用云存储云
0引言
计算技术的发展已经极大地影响了我们的生产和生活方式。传统计算模式下,我们在设备上安装操作系统,操作系统中安装应用程序,用应用程序处理数据。传统计算模式采用以设备为中心的基础架构,用户在处理数据时会有很多的不便。因此,信息技术领域的研发人员一直致力于对传统计算模式的扩展技术,包括存储分离、桌面分离以及应用分离等。
近年来,基于虚拟化的云技术已经成为继个人计算机、互联网之后新的热点技术。云技术主要包含存储云、桌面云以及应用云等。存储云拓展存储路径,使之跨越各种逻辑层、经过网络、进入虚拟机,将数据保存在云端。桌面云消除用户桌面和特定硬件之间的绑定关系,在“云”中为用户提供远程计算机桌面服务。应用云将应用程序部署在“云”中,用户可以从任何客户端运行这些应用程序,如同本地安装的应用程序一样。
目前针对虚拟化和云技术的研究非常广泛。Michael等[1]概括了云计算的发展趋势,并特别提出10个主要的发展障碍和机遇。Vasuprada等[2]总结了各种桌面虚拟化方案。Karl和Clarke给出了不同的虚拟化产品分类,并给出了应用虚拟化的实现框架[3]。Amira等讨论了云存储的发展需求和挑战,同时谈到了当前主要的云存储服务提供商[4]。
各种云技术商业软件和开源软件也很多。在商业软件方面,桌面云产品主要有CitrixXenDesktop[5]、VMwareESXi、MicrosoftHyper-V和RedhatHypervisor[6]等;应用云主要有MicrosoftRemoteApp和CitrixXenApp;存储云产品有Dropbox、百度网盘等。在开源技术方面,桌面和服务器虚拟化项目有OpenStack[7]、CloudStack[8]、Ovirt[9]等;Ulteo[10]发布了基于网络的应用虚拟化软件;而存储虚拟化方面有OwnCloud[11]等。从这些文献和项目可以看到,对于各种云技术的独立研究已经比较深入,但是综合上述技术的产品和应用相对还少。
云技术的发展促进了计算模式的变革,本文提出一种新的技术模式:基于云技术的计算模式。和传统计算模式相比,基于云技术的计算模式实现了设备、操作系统、应用程序和用户数据的“完全分“和”自由合”。可以让用户专注于自己的数据,在任何时候、从任何地方、使用任何设备、连接任何桌面、运行任何应用程序来访问、处理和分享自己的数据。
1传统计算模式及其扩展
图1 传统计算模式
传统计算模式(如图1所示)是一种紧耦合的计算模式,用户在台式机、便携式电脑等个人计算机上搭建计算环境,即在硬件设备上安装操作系统,在操作系统中安装应用程序,用应用程序来处理本地设备中的数据。传统计算模式采用的是以设备为中心的基础架构,计算环境和特定硬件绑定在一起。
毋庸置疑,传统技术模式有很大的局限性。用户要操作自己的数据,一方面受时间和距离的限制,另一方面,只能使用特定硬件和特定架构的设备。此外,还必须在设备中安装特定操作系统,以及在操作系统中安装特定应用程序。这就使得用户无法专注于自己的数据,不得不将精力分散在数据操作的方法和途径。
多年以来,信息技术工作者一直致力于改变这一状况,产生了对传统计算模式的不同扩展技术,包括存储分离、桌面分离以及应用分离等,如图2所示。
图2 计算模式扩展
计算模式扩展之一(存储分离):将存储(数据)分隔出来,在设备上安装操作系统,运行应用程序,处理外部的数据。例子:USB、NAS、iSCSI、网盘等。
计算模式扩展之二(桌面分离):从设备访问远程计算机,实现远程管理、移动办公等目的。例子:RDP、VNC、TeamViewer等。
计算模式扩展之三(应用分离):运行网络上的应用程序,就像安装在本地的应用程序一样。例子:XenApp、RemoteApp。
存储分离、桌面分离、应用分离等扩展技术还不能从根本上改变传统计算模式的限制。云技术的产生和发展推动了计算模式的革新,产生了基于云技术的计算模式。
2基于云技术的计算模式
图3 基于云技术的计算模式
基于云技术的计算模式(如图3所示)实现了设备、操作系统、应用程序、数据的“完全分”与“自由合”。基于云技术的计算模式将用户数据、操作系统和应用程序都集中部署在数据中心,采用的是以用户为中心的基础架构。用户只需要记住自己的帐号和密码,就可以在任何时间、从任何地点、用任何设备(不限操作系统、无需应用程序)来操作自己的数据。
在基于云技术的计算模式下,设备、操作系统、应用程序、数据四个要素之间相互独立、相互关联。用户从任何设备、使用本地或远程操作系统,运行本地或远程应用程序、处理存储在本地或远程的数据。云技术计算模式支持以下四种场景:
使用场景一:在设备上直接处理存储在远程的数据;
使用场景二:在设备上连接远程桌面,处理存储在远程的数据;
使用场景三:在设备上运行远程应用,处理存储在远程的数据;
使用场景四:在设备上连接远程桌面,运行远程应用,处理存储在远程的数据;
基于云技术的计算模式是对传统计算模式的革新,云技术计算模式让用户只需专注于数据,可以随时随地轻而易举地访问、处理和分享自己的数据。
3云平台的设计与实现
本文开发了一个云平台,进而通过该云平台实现了基于云技术的计算模式。云平台在后端构建一系列云:桌面云、应用云以及存储云。三者之间的关系可以概括为:桌面云为基础、应用云为支撑、存储云为核心。
用户可以通过台式机、便携式电脑、瘦客户端、零客户端、平板电脑、智能手机等设备直接访问自己在存储云中的数据;或者运行应用云中的应用程序,对存储云中的数据进行处理;或者连接到桌面云中的虚拟桌面,访问自己在存储云中的数据。
云平台实现架构如图4所示,包括硬件资源层、管理引擎层、逻辑资源层、访问入口层以及访问设备层。
图4 云平台实现架构
• 硬件资源层:是云平台的硬件基础,包括服务器、存储设备以及交换机等。
• 管理引擎层:云平台管理引擎将物理硬件资源虚拟化成一个高可用数据中心。云存储管理引擎、云桌面管理引擎、云应用管理引擎则构建相应的“存储云”、“桌面云”和“应用云”。
• 逻辑资源层:由管理引擎从数据中心中创建的逻辑资源,组织成“池”的方式。
• 访问入口层:存储云、桌面云、应用云入口访问对应的逻辑资源,统一入口可访问所有逻辑资源。
• 访问设备层:包括台式机、便携式电脑、瘦客户端、平板电脑、智能手机等,可以安装Windows、Linux、Android、MacOS、iOS等操作系统。
云平台的核心是三个管理引擎,即云桌面管理引擎、云存储管理引擎、云应用管理引擎。目前,它们是三个独立的模块,被整合为一个统一的云平台。
3.1云存储管理引擎
在云平台中,每个用户拥有一个存储空间。云存储管理引擎包括管理员入口、以及用户入口。
管理员通过管理入口对存储云进行管理,包括管理用户、设置认证方式、限制存储配额等。
用户可以通过用户入口(浏览器方式)访问自己在存储云中的存储空间,执行上传、下载、查看、共享等操作。
用户也可以将云存储空间映射为客户端设备的存储空间(挂载到本地驱动器或者是本地文件夹),直接编辑其中的文件,而无需向其他网盘一样,必须先将文件从云存储下载到客户端,进行编辑,然后再上传到云存储中。
3.2云桌面管理引擎
云桌面管理引擎通过虚拟化技术将多个物理服务器虚拟化成一个高可用的数据中心,进而在数据中心中创建各种类型的虚拟桌面。用户可以随时随地连接到自己的虚拟桌面,使用其中部署好的计算环境。云桌面管理引擎包括管理员入口以及用户入口。
管理员通过管理员入口对桌面云进行管理,可执行如下的管理功能:
• 管理虚拟化节点:虚拟化节点即虚拟机服务器,是所有云桌面驻留在的地方。
• 管理模板,模板从已经安装了完整环境的云桌面制作而成,可以很方便地克隆出具有相同初始配置的云桌面。
• 管理桌面池,桌面池包含了一批具有相同初始配置的云桌面。
• 管理云桌面,包括从模板创建桌面、从桌面池创建桌面、将桌面分配给用户、从用户回收桌面等。
用户可以通过用户入口(浏览器方式)或者客户端软件查询分配给自己的虚拟桌面列表,并连接到任何虚拟桌面。
3.3云应用管理引擎
云应用管理引擎可以将运行在Windows或Linux应用服务器上的应用程序发布为云应用,进而授权给用户。用户登录到应用云,找到授权给自己的云应用,可以直接运行,如同运行在本地安装的应用程序一样。云应用管理引擎包括管理员入口和用户入口。
管理员通过管理员入口对应用云进行管理,可执行如下的管理功能:
• 管理应用服务器:包括查询应用服务器列表。
• 管理应用程序:包括查询应用程序列表。
• 管理远程应用:包括列出远程应用、发布远程应用、取消发布远程应用、授权给用户、取消授权给用户。
用户可以使用通过用户入口查询分配给自己的远程应用列表,并选择任何应用程序运行。用户也可以打包下载授权给自己的云应用,执行单步设置,所有云应用的快捷方式都会出现在客户端桌面上,双击即可直接运行。
3.4云平台统一入口
目前,云平台中云桌面、云应用和云存储是三个相互独立的模块,通过统一的LDAP认证方式,云平台能够支持用户的单点登录。
用户登录时,通过LDAP认证后,云平台统一入口向各个管理引擎查询该用户所拥有的资源,比如分配了哪些云桌面、授权了哪些云应用,以及访问云存储的链接等,登录后将这些云资源呈现给用户。
用户可以通过云统一平台从界面上直接以浏览器方式,或者下载后通过客户端软件来连接分配给自己的云桌面、授权给自己的云应用,以及访问分配给自己的云存储。
4云平台接入方式
用户可以灵活使用各种方式接入云平台,例如:
• 通过台式机、便携式电脑、瘦客户端、平板电脑和智能手机等接入;
• 从安装有Windows、Linux、MacOS、Android、iOS等各种操作系统的设备接入。
• 通过浏览器方式或使用客户端软件接入。
用户接入到云平台后,可以通过浏览器或移动客户端访问用户的云存储,执行上传、下载、查看、分享等操作,也可以通过客户端将云存储挂载为本地磁盘,直接处理云存储中的数据。
用户接入到云平台后,可以通过浏览器或客户端软件访问用户的云桌面。在连接时,自动将云存储挂载为本地一个磁盘,从而可以在云桌面中直接处理云存储中的数据。在连接时,也能够自动在云桌面中为授权给用户的云应用创建快捷方式,方便用户在云桌面中直接运行云应用。
用户接入到云平台后,可以通过浏览器或桌面快捷方式直接运行用户的云应用。在运行时,自动将云存储挂载为应用服务器上的一个磁盘,从而可以在云应用中直接处理云存储中的数据。
5云平台应用实例
上海电机学院一直关注着信息技术的发展,很早就意识到以虚拟化技术为核心的“云计算”已经成为继个人计算机、互联网之后新的热点技术,未来在学校的信息化建设中将有着很大的作用。
作为尝试,上海电机学院在校内范围内实施了云统一平台项目,将云桌面、云应用、云存储等作为资源,像传统的教务管理系统、科研管理系统一样,开放给部分老师。
• 老师可以有自己的云存储,将课件保存在云存储,通过手机等移动设备方便地查阅、展示。可以通过云存储将课件分享给学生,以及建立一个公共的文件夹收集学生的作业。
• 老师可以有自己的云桌面,也能从云桌面中直接访问云存储,或者在云桌面的某个文件夹与云存储之间创建同步。这样,就可以在办公室通过云桌面来备课,然后在教室连到云桌面进行授课。
• 老师也可以在云平台中获得一些云应用的授权,从而在需要使用客户端或云桌面没有安装的某些特定应用程序来处理数据时,就可以使用云应用,所处理的数据可以直接保存到云存储,以方便访问。
老师可以在校内通过域名cloud.sdju.edu.cn访问云统一平台门户(如图5所示),进而通过此门户连接分配自己的云桌面,运行授权给自己的云应用,或者访问分配给自己的云存储。
图5 云统一平台门户
老师也可以在校内通过域名desk.sdju.edu.cn、app.sdju.edu.cn、stor.sdju.edu.cn直接访问云桌面、云应用或云存储资源。这里只列出云应用用户入口的主界面,如图6所示。
云统一平台的实施给老师带来了方便,最大的优点在于:他们能够真正意义上把注意力集中在自己的数据上。只要数据不出现问题,客户端硬件设备损坏、操作系统崩溃、应用程序故障都无关紧要,他们可以在第一时间使用其他客户端、云桌面和云应用资源来操作数据。
通过此应用实例可以看出,云平台的应用是非常广泛的,并不仅限于某个行业,某种应用,未来将有更多的普及。
图6 云应用用户入口
6结语
本文介绍了基于云技术的计算模式。和传统技术模式相比,它实现了设备、操作系统、应用程序、数据的“完全分”与“自由合”。我们已经完成了基于云技术的计算平台的原型实现。在该实现中,存储云、桌面云、应用云可以作为三个独立的系统,也可以统一进行部署,允许用户通过云平台统一用户入口来访问。基本上,云平台支持基于云技术的计算模式四种使用场景,但是如何改善用户体验是下一步要解决的主要课题。
参考文献
[1]MichaelArmbrust,ArmandoFox,ReanGriffith,etal.AbovetheClouds:ABerkeleyViewofCloudComputing[R].UCBerkeleyReliableAdaptiveDistributedSystemsLaboratory,2009.
[2]VasupradaVijayakumar,ChitraV,PriyaD.DesktopVirtualizationSolutions-AComprehensiveSurvey[J].InternationalJournalofAdvancedComputerResearch,2013,3(12):114-122.
[3]KarlFisher,ClarkeThacher.Virtualization:WhatdoesitmeanforSAS?[R/OL].NorthCarolina,SASInstituteInc.,2009.
[4]AmiraElzeiny,AhmedAboElfetouh,AlaaRiad.CloudStorage:ASurvey[J].InternationalJournalofEmergingTrends&TechnologyinComputerScience,2013,2(4):342-349.
[5]BarhamP,DragovicB,FraserK,etal.XenandtheArtofVirtualization[C]//Proceedingsofthe19thACMSymposiumonOperatingSystemsPrinciples.NewYork:BoltonLanding,2003:164-177.
[6]KivityA,KamayY,LaorD,etal.KVM:theLinuxvirtualmachinemonitor[C]//Proceedingsofthe2007OttawaLinuxSymposium.Ottawa,Canada:OttawaLinuxSymposium,2007:225-230.
[7]SefraouiO,AissaouiM,EleuldjM.OpenStack:TowardanOpen-sourceSolutionforCloudComputing[J].InternationalJournalofComputerApplications,2012,55(3):38-42.
[8]CloudStack.OpenSourceCloudComputing[EB/OL].[2014-10].http://cloudstack.apache.org.
[9]oVirt.QuickStartGuide[EB/OL].[2014-10].http://www.ovirt.org/Quick_Start_Guide.
[10]Ulteo.ApplicationDeliveryPlatform[EB/OL].[2014-10].http://www.ulteo.org/.
[11]OwnCloud.OwnCloudDocumentation[EB/OL].[2014-10].http://www.owncloud.org/.
CLOUD TECHNOLOGY-BASED COMPUTING MODEL AND ITS IMPLEMENTATION
Jiang Jianjun1,2Ding Zhifeng1
1(School of Electronic Information,Shanghai Dianji University,Shanghai 200240,China)2(School of Information Engineering,Wuhan University of Technology,Wuhan 430070,Hubei,China)
AbstractIn light of the problem of tight coupling among device, operating system, application and data in traditional computing mode, we present the cloud technology-based computing mode to achieve the “complete separation” and “free combination” of these four elements. As the prototype implementation of cloud computing mode, the cloud platform constructs the storage could, desktop cloud and application cloud on backend, and centralises user data, operating system and applications in data centre, which is able make users focus on the data of their own, and access, process and share their data in any time, from anywhere, using any device, connecting any desktop and running any application.
KeywordsCloud technologyVirtualisationManagement engineDesktop cloudApplication cloudStorage cloud
收稿日期:2014-11-07。上海市科技型中小企业技术创新资金项目(1401H186600)。蒋建军,副教授,主研领域:信息、网络、存储、虚拟化技术及应用。丁志锋,工程师。
中图分类号TP3
文献标识码A
DOI:10.3969/j.issn.1000-386x.2016.06.021