基于云计算的档案管理系统平台技术研究
2015-03-28杨阳
杨阳
(西安工业大学陕西西安710032)
在目前,PC依然是我们日常工作生活中的核心工具:我们用PC处理文档、存储资料,通过电子邮件或U盘与他人分享信息。但是如果PC硬盘坏了,我们会因为资料丢失而束手无策。而在“云计算”时代,“云”会替我们做存储和计算的工作。“云”就是计算机群,每一群包括了几十万台、甚至上百万台计算机。“云”的好处还在于,其中的计算机可以随时更新,保证“云”长生不老。
目前虽然云计算技术发展迅速,但是通用的私有云平台功能有其通用性同时也有其局限性,此时就需要针对档案管理系统开发一个更适合的云平台,使私有的云计算平台可以更好地支持档案管理系统的运行。
在云平台中,用户通过云平台门户进入到云档案管理平台。当用户进入这个平台后,根据不同用户个性化需要,能够随时获取自己想要的资源和服务,这是一种高效率的查询管理服务方式。由于服务的资源分布在不同的地方,具有动态性、异构性、复杂性等特点,很容易就会出现资源负载不平衡的问题,在网络带宽受限的情况下,系统将会出现瘫痪,所以要对资源进行迁移,从而确保整个云平台能够高效、安全、健壮的运行。
1 云平台设计与搭建技术研究
云计算(Cloud Computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。典型的云计算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来访问,而软件和数据都存储在服务器上。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。
被称为Vanderpool的虚拟技术简称VT,是英特尔公司处理器市场策略的一部分,能够使用户在他们的个人电脑上建立多套虚拟的运行环境以便能够使同一台个人电脑上能够运行不同的操作系统。在VT中,可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。
虚拟化技术既是云计算的关键技术之一,同时,它也是云的核心技术之一。虚拟化技术可以实现对于虚拟机的全状态迁移以及热迁移,也就是说迁移的对象不只是成员本身,也包括将其相应的执行环境和系统状态。应用虚拟化技术可以在单独的物理服务器[4]上安装不同的操作系统,开发不同的应用,这样程序的运行环境和物理环境相隔离,可以极大限度的利用现有的硬件资源,同时也确保应用之间不受干扰,使得系统易于扩展。
VMware是研究虚拟化技术的先驱,通过对IT基础设施进行构建虚拟数据中心,可以将分散在不同地方的硬件资源统一起来,搭建共享平台,不同的应用程序可以根据需要动态的获取资源,这样就会使应用程序就具有高效性、安全性和易扩展性。
存储是搭建云计算平台过程中一个很重要的问题,数据存储是虚拟化技术在进行实现时非常重要一个部分,数据通过共享存储的方式,记录当前虚拟机的运行状态信息,为虚拟化的迁移做好准备。数据共享通过将一份文件存储在设备的某一个分区,允许用户共享访问。没有这个功能,那么凡是需要这份文件的用户,都必须花时间、花存储空间来自己备份文件,很明显这样会造成空间的极大浪费。
云计算之所以可靠性高和经济性强,是因为通过采用廉价的普通PC和分布式处理技术,虽然在存储数据上可能会在云端保存多个副本,但是这些冗余是必要的,因为他可以提高系统的安全性,在系统数据出现错误的时候能够很方便的进行容灾性恢复。
2 云管理平台的系统框架设计
VMware vSphere的虚拟化管理程序体系结构在虚拟基础架构的管理中起关键作用。2001年推出的裸机ESX体系结构大幅增强了性能和可靠性,客户可借此将虚拟化的优势扩展到他们的关键任务应用上。新的ESXi体系结构去除了基于Linux的服务控制台,这代表着可靠性和虚拟化管理向前发生了类似的飞跃。新的vSphere ESXi体系结构的大小不足ESX的5%,从安全、部署和配置以及日常管理等方面改进了虚拟化管理程序的管理。
在已经搭建好的VMware云平台的基础上,开发一套基于VMware云平台的用于档案管理的远程管理软件,旨在使VMware vSphere云平台更适用于系统的运行和管理,使系统更加高效、稳定的运行。采用B/S架构,这样可以直接通过Web方式进行管理和配置。
基于云计算的档案管理系统平台主要具备的功能包括:用户权限管理;云平台认证和授权;ESXi主机管理;虚拟机配置;虚拟机管理;存储管理;网络管理;资源管理;任务和计划任务;事件和警告;vSphere性能监控;HTTP访问vSphere服务器文件等。
在上述功能中用户权限管理、性能监测以及虚拟机管理是系统的核心,其具体功能介绍如下:
用户权限管理:通过Web登陆开发的管理平台系统。可以多用户登陆,可以有不同的角色权限管理。
性能监测:vSphere性能数据收集、整理、存储和展示。
虚拟机管理:添加删除虚拟机、获取虚拟机信息、配置虚拟机(名称和位置、硬件版本、启动选项、操作系统、CPU和内存信息、网络、文件位置)、存储管理:获取存储信息、配置磁盘分区,配置iSCSI存储、管理VMFS卷。
虚拟机迁移(冷迁移、VMotion迁移,存储vMotion)、快照、导入OVF。
3 系统开发的原理实现机制
利用VMotion机制,可以将物理主机上的一个虚拟系统迁移到其他的物理主机上,这个过程的实现需要涉及到下述3项技术:
1)虚拟机当前运行的全部状态信息,如CPU运行情况,软件本身的运行情况等都会被压缩到一个共享存储的文件系统中。
2)虚拟机的动态内存和当前的执行状态信息会通过一个高速的网络进行快速传输,这样就实现了虚拟机之间即时信息的传输,一旦任务需要发生迁移,源虚拟机就会将系统内存和状态信息复制到目标ESX服务器中,当复制完成以后,VMotion将会自动关闭源虚拟机,并在目标ESX服务器中重新启动虚拟机。
3)目标ESX服务器将虚拟机使用的网络进行虚拟化,将MAC地址作为进程的一部分来进行管理,这样在实时迁移之后,虚拟机的网络身份和连接能够得到保留。只要目标机被激活,由于虚拟机使用VMotion机制来进行实时的迁移,VMotion就会通过自动检查网络路由器来确保虚拟机的物理地址能够被系统识别。由于在迁移时虚拟机系统的运行状态,网络身份以及动态链接都能够受到保护,而在迁移的过程中并没有引起主机停机或者是发生网络中断,因此,整个迁移过程对用户来说并没有影响。
4 系统实现
4.1 配置步骤
在云平台中,有许多邦员,每个邦员上运行的程序都不同,因此,每个联邦成员对于虚拟机cpu、内存大小以及运算能力的要求都各不相同,为了实现资源的最大化利用和负载平衡,需要根据每个邦员的需要对虚拟机进行配置,配置的步骤如下:
第一步:进行云管理平台系统的初始化,具体代码如下:
private static AppUtil.AppUtil cb=null;
private ManagedObjectReference_virtualMachine=
null;
第二步:对云管理平台系统进行实例化,具体代码如下:
_virtualMachine=cb.getServiceUtil().GetDecendent
MoRef(null,"VirtualMachine",vmName);
VirtualMachineConfigSpec vmConfigSpec=new Virtual
MachineConfigSpec();
第三步:调用ReconfigVM_Task方法实现虚拟机的重新配置,具体代码如下:
ManagedObjectReference tmor
=cb.getConnection()._service.ReconfigVM_Task(_vir tualMachine,vmConfigSpec);
在上述系统配置实现的基础上,再依次获取主机和虚拟机,内存和CPU等信息,再把后台获取到的数据,整理后显示在web前台页面上,具体代码形式如图1所示。
图1 性能监测核心代码Fig.1 The core code of performance testing
4.2 云平台管理实现
云平台管理系统实现的界面如图2所示。
图2 云平台管理系统界面Fig.2 The interface of Cloud platform management system
在上述界面中首先点击左边列表中的虚拟机名称,选择要迁移的虚拟机,然后在可选择目标主机栏里面选择目的主机,最后再点击界面上的“迁移虚拟机”按钮,就可以实现虚拟机的手动迁移和自动迁移
主要接口函数:vmVMotion(String vmName2,String targethost2,String sourcehost2,String targetpool2,String targetdatastore,,String priority2,String state2)
//实现迁移功能,其中,参数有迁移的虚拟机名称,目的主机、原主机、目标资源池、目标数据中心、优先级和虚拟机的状态,例如开机、关机、挂起等。
实现迁移的步骤如下:
第一步:从web页面调用相应的action,具体代码如下:
<action nname="toVMotion"class="com.myclient.myaction.VMActio"method="toVMotion">
<result name="success">vm_vmotion.jsp</result>
第二步:由action层调用service层的方法,具体代码如下:
userService.vmVMotion(vmName,"192.168.1.2","192.168.1.3","Resources","dk-disk-40g","default_Priority","poweredOff");
第三步:service层调用MyVmotion类中的方法来实现迁移的操作,具体代码如下:
Public void vmVMotion(String vmName2,String targethost2,String sourcehost2,String targetpool2,String targetdatastore,String priority2,Stringstate2)
5 结束语
文中通过Java和Webservice技术,借助VMware提供的vSphere APIs开发了一台云平台客户端管理系统,并且实现了云平台上,在出现掉电、断网、突然关机等情况下,应用的迁移,保证了档案管理过程的继续运行,提高了系统吞吐量及其性能,为进一步开展更复杂的云平台应用进行了有益的探索。
[1] 中国档案学会档案自动化管理技术委员会[C]//档案信息化发展现状、趋势的研究报告回顾与展望——中国档案事业发展研究报告,2010.
[2] 冯惠玲,钱毅.关于电子文件管理顶层设计的若干设想[J].中国档案,2007(4):7-9.FENG Hui-ling,QIAN Yi.Some considerations about the electronic file management of top level design[J].China Archives,2007(4):7-9.
[3] 郁志辉,陈渝,刘鹏.网格计算[M].北京:清华大学出版社,2002.
[4] 管建超.基于VMware的虚拟机安全设计与实现[J].电力信息化,2010(6):35-38.GUAN Jian-chao.With the design and the implemetation of a virtual machine safety based on VN ware[J].Electric Power Information,2010(6):35-38.
[5] 李亚琼,宋莹,黄永兵.一种面向虚拟化云计算平台的内存优化技术[J].计算机学报,2011(4):684-693.LI Ya-qiong,SONG Ying,HUANG Yong-bing.A optimization menory technology for the virtual cloud computing platform[J].Chinese Journal of Computers,2011(4):684-693.
[6] 许元飞.云计算环境下数字图书馆安全管理[J].制造业自动化,2011(24):24-26.XU Yuan-fei.The security management of digital libraries under the cloud computing environment[J].Manufacturing Automation,2011(24):24-26.
[7] 刘正伟,文中领,张海涛.云计算和云数据管理技术[J].计算机研究与发展,2012:26-31.LIU Zheng-wei,WEN Zhong-ling,ZHANG Hai-tao.Cloud computing and cloud data management technology[J].Journal of Computer Research and Development,2012:26-31.