APP下载

基于Flex虚拟化服务器管理系统的研究

2012-01-29山东商业职业技术学院

电子世界 2012年11期
关键词:桌面硬盘虚拟化

山东商业职业技术学院 卢 旎

基于Flex虚拟化服务器管理系统的研究

山东商业职业技术学院 卢 旎

随着虚拟化技术的迅速发展,尤其是当今世界倡导低碳节能、环保绿色的节约型社会环境中,作为其重要应用领域的服务器虚拟化技术已经受到了越来越多的企业和媒体的关注。本文则以此为出发点,对虚拟化服务器管理系统的开发框架作了深入的研究。系统开发框架采用Flex技术完成界面显示,BlazeDS框架完成Flex与Java之间的数据通信,集成Spring与Hibernate技术的业务功能实现。

1.虚拟化技术简介

虚拟化技术是近年来发展较快的技术之一,已经受到了越来越多的企业和媒体的关注。虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一种为了简化管理、优化资源的解决方案。这种把有限的、固定的资源根据不同需求进行重新规划,以达到最大利用率的思路,在IT领域中被称为虚拟化技术。

虚拟化技术可以扩大硬件的容量、简化软件的重新配置过程。虚拟化技术允许一个平台同时运行多个操作系统,并且应用程序都可在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运作,而在虚拟化技术中,则可以同时运行多个互不干扰的操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或虚拟主机上。

2.虚拟化技术的分类

从实现层次来分,虚拟化技术可以划分为:硬件虚拟化、操作系统虚拟化、应用程序虚拟化等。从应用领域上,虚拟化技术还可以包括:服务器虚拟化、存储虚拟化、网络虚拟化、桌面虚拟化、CPU虚拟化、文件虚拟化等。

1)服务器虚拟化

服务器虚拟化应用了硬件虚拟化和操作系统虚拟化技术,在一台服务器安装多个操作系统,并且可以同时运行,就相当于多台服务器同时运行了,利用率大大提高。

2)存储虚拟化

存储虚拟化是将一堆独立的硬盘虚拟的整合在一起,让人看起来是一块硬盘。比如网络上分布了10台服务器,每台服务器的硬盘是500G,那存储虚拟化就可以让这10块硬盘虚拟为一块5T的硬盘,其目的是方便管理和有效利用存储空间。

3)网络虚拟化

网络虚拟化一般是指VPN,它将两个异地的局域网,虚拟成一个局域网,这样一些企业的OA、B/S软件,就可以像真实局域网一样进行电脑互访了。

4)桌面虚拟化

桌面虚拟化的实现是在服务器上部署好桌面环境,传输到客户端电脑上,而客户端只采用瘦客户机的应用模式,即只安装操作系统,接受服务器传输来的虚拟桌面,用户看到的就像本地真实环境一样,所有的使用其实是对服务器上的桌面进行操作。当然,程序运行也实际在服务器上。IT成本是大大的降低。这样电脑的软环境非常的轻薄,硬件要求也非常低,而且容易标准化。

服务器虚拟化的特点明显突出。它能减少服务器的数量,提供一种服务器整合的方法,减少初期硬件采购成本;简化服务器的部署、管理和维护工作,降低管理费用;提高服务器资源的利用率,提高服务器计算能力;通过降低空间、散热以及电力消耗等途径压缩数据中心成本,通过动态资源配置提高业务的灵活适应能力;提高可用性,具有透明负载均衡、动态迁移、故障自动隔离、系统自动重构的高可靠服务器应用环境;支持异构操作系统的整合,支持旧应用的持续运行;在不中断用户工作的情况下进行系统更新;快速转移和复制虚拟服务器,提供一种简单便捷的灾难恢复解决方案。

服务器虚拟化可以给企业节约IT投资成本,简化服务器部署、管理和维护工作。然而需要将其高效实施,服务器虚拟化的整合需要按照步骤进行。首先要确定服务器进行合并的时机是否成熟,其次是需要解决管理问题以及选择所需要的软硬件环境,再开始将系统迁移到虚拟化平台上,在运行中不断监控、评估、调整及改进完善。

然而解决管理问题是整合中的一个重要环节,因为像服务器合并或者部署大型系统等任何重大、复杂的项目都可能会影响公司内部流程。本文设计并实现的虚拟化服务器管理系统则是为公司节省的资金、减少的总财务开支、能够使管理人员方便高效的管理系统服务器。

3.Flex技术

图4.1 Cairngorm框架与Java通信结构图

图4.2 系统整体架构示意图

近年来,Web技术有了突飞猛进的发展,然而,由之前的C/S(客户端/服务器)向B/S(浏览器/服务器)的迈进,只是一个“去其糟粕”的过程,并没有“取其精华”。RIA的诞生,则是推动了技术的革新。RIA不但继承了C/S时代的精华,而且为用户提供了更强大的交互能力和更丰富的用户体验。

Flex是Adobe发布的开源RIA开发框架。Flex使传统的Flash变成了开发者手中的利器,通过服务器端技术,开发者能够赋予Flash与后端服务器(Java平台或.Net平台)交互的能力。同时,开发者可以使用开源免费的Flex SDK构建Flex应用程序,并通过使用Adobe Flex Builder 3集成开发环境提高开发效率。

MXML和ActionScript3.0是编写Flex应用的程序语言。MXML是符合XML语法规范的声明性标记语言,用来描述Flex应用界面的组件布局、属性和交互行为等。也可以使用MXML来描述非可视化组件,例如HTTP连接、数据绑定等。ActionScript是基于ECMAScript规范的语言,而ActionScript 3.0是ActionScript编程语言的最新版本,它是一种完全面向对象的语言,既能编写Flash又能编写Flex。

4.系统开发框架

Cairngorm是由Adobe公司支持并推荐的基于MVC模式的开源框架。该框架提供了一套Flex应用程序开发骨架而并非服务来提高Flex程序的扩展性和可维护性。图4.1所示为Cairngorm的框架与Java通信的结构图。

从图4.1可以看出,Cairngorm的工作流程清晰可见。客户端界面是由View(视图)组成,View使用Flex的binding(绑定)来显示ModelLocator中包含的数据。View根据诸如鼠标点击、按钮按下以及拖拽之类的用户动作产生Event,Dispatch Event被FrontController“广播”并“监听”,FrontController会将Event Mapping到Command。而Command包括业务逻辑,创建所需Delegate,Call Delegate的相应函数,以及更新存储在ModelLocator中的数据。由于View是绑定到ModelLocator中的数据上的,所以当ModelLocator中的数据改变的时候,View也会自动更新。Delegate调用Service并且将结果提交给Command,这一步是可选的,但是推荐这么做。Service调用远程数据(Java服务端)然后将结果提交给Delegate。

在B/S软件结构流行的今天,RIA(Rich Internet Application,富因特网)作为一门新兴的技术正高速发展并被广泛应用。本系统是将桌面应用程序交互的用户体验与传统的Web应用的部署灵活性和成本分析结合起来的网络应用程序。该系统整体架构示意图如图4.2所示。

如图4.2所示,用户通过浏览器登录系统,采用BlazeDS框架完成Flex与Java之间的数据通信。系统应用BlazeDS的RemotingObject技术,直接远程调用Java后台提供的接口,大大提升了通信效率。Java端集成Spring与Hibernate技术,实现对数据库的高效操作。Flex端创建的任务会在数据库的一个表中添加一条记录,Python端在系统运行时会开启Daemon,轮询该数据表,根据创建任务的类型直接完成,或者发送数据到Linux,由内核完成,将任务的执行情况反馈到数据库中。最后由Flex端定时获取数据库信息,以便将系统最新数据展示给用户。本文则完成了该系统中Flex到数据库之间的设计与实现。

5.总结

在信息爆炸的二十一世纪,无论是工作还是生活,人们对计算机似乎更加情有独钟。计算机技术的高速发展给人们带来了更多财富,但也同时导致了计算机资源的大量浪费。然而虚拟机技术的飞速进步正试图攻破这一难关。虚拟机技术能够最大限度使用系统资源的目标,帮助计算机硬件资源提高利用率,为企业节约资本。

猜你喜欢

桌面硬盘虚拟化
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
基于APP在线控制双挤出头FDM桌面3D打印机的研制
桌面云技术在铁路行业中的应用
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
桌面装忙
H3C CAS 云计算管理平台上虚拟化安全防护的实现
我区电视台对硬盘播出系统的应用
存储虚拟化还有优势吗?