基于数据虚拟化技术的大数据资源中心建设
2018-01-24罗伟雄刘岚时东晓曾纪霞
罗伟雄 刘岚 时东晓 曾纪霞
摘要:针对我国当前正在全面深化信息技术在教学、管理等方面的应用,以促进教育教学模式创新,g J导资源共建共享。提出了在当前大数据环境下,使用数据虚拟化技术建设高校信息资源中心。首先阐述了信息资源库的三种部署方式;然后从硬件平台层、虚拟服务器层、数据存储层、数据虚拟化层、数据接口层和应用层详细介绍了数据资源中心的系统架构;最后阐述了数据资源中心的建设。通过数据虚拟化技术、统一数据接口、统一应用等综合性的云计算技术构建了大数据资源中心,使系统更好地适应当今移动应用和移动学习的需求。基本实现了教育资源共建共享的目的,实现了数字化教育教学资源的效益最大化。
关键词:数据虚拟化;大数据;云计算技术;网络虚拟化;服务器虚拟化;存储虚拟化
0引言
2012年国家教育部发布《教育部关于印发(教育信息化十年发展规划(2011-2020年))的通知》。通知指出要充分整合现有资源,采用云计算技术,构建稳定可靠、低成本的国家教育云服务模式;同时要建立优质数字教育资源和共建共享环境,提供优质数字教育资源信息服务。而云计算技术的发展和落地为构建教育资源共建共享打下了坚实的基础。笔者在教育资源共建共享方面展开了深入的研究工作。经过多年的探索与实践,设计了一套在云计算环境下使用数据虚拟化技术构建大数据资源中心的架构,并初步建成了基于云计算技术的教育资源库系统。
1部署方式
要在云计算环境下构建大数据资源中心,首先要解决的是云计算的部署方式。云计算的部署方式是指云计算资源的所有者和使用者的关系。选择不同的部署方式将会影响整个系统的架构,会关系后续应用系统的部署、数据流的管理以及安全控制等问题。因此在进行系统设计时就要选择一种具有较好扩展能力的,适合应用需求的部署方式。
云计算的部署方式有公有云、私有云和混合云。其中混合云是公有云和私有云兩种服务方式的结合,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。在当前的运行环境中基于安全考虑,并非所有数据信息都适合存储在公有云上,例如各单位的财务信息等重要的内部数据,更适合保存在本地私有云系统中。而通过私有云系统可以更加灵活高效地管理资源。但是公有云的计算资源和存储资源又是私有云系统无法比拟的,通过将非机密功能迁移到公有云中,可以降低对内部私有云的压力和需求。因此本系统采用了混合云的部署方式,经过实践应用,发现效果良好。
2系统架构
本系统以云计算技术为基础构建大数据资源中心。该系统主要由六个层次组成。分别是硬件平台层、虚拟服务器层、数据存储层、数据虚拟化层、数据接口层和应用层。如图1所示:
2.1硬件平台层
硬件平台主要包括网络、服务器和存储器。由于各种原因,这些硬件设备都存在不同品牌、不同型号等异构性问题。本系统使用了虚拟化技术来消除其异构性,为上层提供统一的服务。这里主要包括网络虚拟化(Network Virtualization)、服务器虚拟化(Server Virtualization)和存储虚拟化(Storage Virtualization)。
(1)网络虚拟化(Network Virtualization)
这里所说的网络虚拟化指的是软件定义的网络,而非以往的虚拟专用网(VPN)。由于上层应用或安全的需求,有时候不得不对现有的网络结构进行调整,对于传统的组网方式而言,这种调整是非常麻烦的,特别是对大型的复杂的网络更是如此。而使用网络虚拟化技术则可轻松面对这种状况。网络虚拟化(Network Virtualization)是将多个网络节点进行整合,组合成一个逻辑网络,然后以软件定义的方式,创建、调配和管理逻辑网络并将逻辑网络设备和安全策略的任意组合组装到任何拓扑结构中。网络虚拟化技术将网络节点和物理网络基础架构进行了分离,确保了硬件的独立性,使网络调配能灵活适应上层应用和安全的需要。
(2)服务器虚拟化(Server Virtualization)
由于笔者所在单位的物理服务器都是在不同的建设期,不同的年份购买的,因此存在不同品牌、不同配置、不同性能的问题。因此系统采用了服务器虚拟化技术将这些物理服务器进行重新整合,把他们虚拟化为统一的计算资源池,为上层应用提供服务。服务器虚拟化(Server Virtualization)的目的就是将服务器物理资源抽象成逻辑资源,让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合。
(3)存储虚拟化(Storage Virtualization)
存储虚拟化(Storage Virtualization)是通过将存储系统或存储服务的内部功能抽象、隐藏或隔离,使存储或数据的管理与应用、服务器及网络资源的管理隔离,从而实现对存储和数据的应用以及网络无关的管理。与物理服务器的情况类似,在笔者所在单位的数据中心,数据存储也存在多种品牌、多种配置、多种接口的情况。系统通过存储虚拟化技术将这些异构的数据存储进行有机地整合,逻辑抽象,把他们重新构建成一个高效灵活的存储资源池,为上层提供统一的管理和存取操作,降低了管理的难度,提高了系统的扩展能力,实现了数据的跨设备流动。
当前实现硬件平台虚拟化的产品和方案很多,有VMware、IBM、Microsoft等多种平台。这里笔者使用了VMware的解决方案来实现虚拟化。在该平台上实现了对IBM BladeCenter HS22、HP ProLiantDL580 G7、浪潮NF8420 M3等共22台物理服务器进行整合,虚拟了124台虚拟服务器,虚拟比例达到了1:5.6,大大节约了硬件服务器的购买成本。同时对EMC 5100、IBM DS 3000、HP P4000等多个品牌的多台存储阵列进行了虚拟化,组建了统一的存储资源池,为上层提供统一的存储服务,屏蔽了各种存储器的操作差异,对存储资源进行了合理的整合和分配,有效提高了数据存储的利用率。endprint
云计算技术的基础是虚拟化,通过对硬件平台的虚拟化,系统实现了对硬件资源的高度整合,提高了资源的利用率,提高了系统的扩展能力,提升了系统的管理水平,降低了建设的成本,为后续大数据资源中心的建设提供了优质的基础保障。
2.2虚拟服务器层
该层是在硬件平台虚拟化的基础上根据应用的需求,构建相应的虚拟服务器。由于系统使用的是混合云的部署方式,因此虚拟服务器除了由本地数据中心硬件服务器虚拟之外,还租用了公有云上的虚拟服务器。这些服务器根据不同的业务需求分别组建成不同的服务器群集,结合分布式计算,实现了服务的高可用性和可靠性,同时还提高了系统的处理和计算能力。
由本地数据中心的硬件平台以及由此创建的虚拟服务器构成了私有云,而所租用的虚拟服务器部分构成了公有云。然后再根据业务性质、数据流量、安全要求等分别在两者之上部署不同的业务系统。
2.3数据存储层
该层主要是根据不同的应用,部署不同的数据库存储系统。在实施过程中笔者发现,由于上层部署的应用系统往往都是由多家厂商开发的,他们所使用的操作系统类型和数据库平台往往都不统一。即使是使用相同的数据库系统,但由于各种配置要求不一样,如字符集等,而产生冲突,无法共存。因此试图要求各个厂商把他们的数据库都部署在统一的环境中,使用统一的数据库平台,这基本上是不可行的。因此只能另辟蹊径。
为了实现数据资源的共享,笔者首先制定了各类数据的基本格式要求,如视频资源必须具备哪些属性等等。这样在后期就可以通过数据同步、数据提取等多种手段实现数据的共享。
2.4数据虚拟化层
该层是整个系统的重要组成部分,是实现大数据资源中心数据共享的核心。
由于不同的应用需要部署不同的数据库存储系统,这样根本无法实现数据的共享。经过分析研究,笔者发现,各类应用中有不少数据都是共通的,而且不论是从管理的角度还是使用的角度都应该进行统一的管理。例如最为常见的用户信息,这是每个应用系统都必须具备的。如果这部分信息不进行统一管理,后期维护起来是相当麻烦的。例如增加一个用户,如果没有统一的管理,那么就必须分别在各个系统中添加信息,其操作不但繁琐,而且容易产生错误。同样修改和删除数据亦复如是。
为了消除各异构数据的存取差异,实现数据资源的共享,笔者借鉴了硬件平台虚拟化的思想,对数据存储层的数据进行了虚拟化,创建了数据虚拟化层。数据虚拟化(Data Virtualization)是用来描述所有数据管理方法的涵盖性术语,这些方法允许应用程序检索并管理数据,且不需要数据相关的技术细节。数据存储层上的数据库就好比硬件平台层上的物理服务器,而数据库中存放的各种数据资源就好比服务器上的CPU、内存等资源。数据虚拟化就是将数据存储层上存放的数据进行重新分类、整合、抽象,然后对外提供统一的数据对象,对上层屏蔽数据具体存放的位置。这样不但简化了上层的操作,而且还实现了数据的高度共享,提高了数据的管理水平。其逻辑架构如图2所示:
2.5数据接口层
随着各种智能移动终端的普及,上层应用的类型也开始变得纷繁复杂。为了适应多种应用类型的需求,本系统采用数据接口层来对外发布虚拟化后的数据对象,上层应用通过该接口层来实现对数据的操作和处理。这里按照数据对象的分类来发布接口,例如有用户信息接口、课件资源接口、多媒体资源接口等等。为了适用移动应用的需求,接口层采用了HTTP协议+JSON格式+OAuth2.0认证的方式来构建。
HTTP协议(Hypertext Transfer Protocol)是一个客户端和服务器端请求和应答的标准,它是无状态的应用层协议,由于其简捷、快速的方式,因此特别适合于分布式超媒体信息系统。由于该协议使用的是标准的80端口,因此对于服务器和防火墙也不需要做任何特殊的配置,部署起来比较方便,所以特别适合作为移动应用的传输协议。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,可在不同平台之间进行数据交换[1们。JSON的数据格式比较简单,易于读写,格式都是压缩的,占用带宽小,同时它易于解析,便于客户端的访问提取;相比之下XML文件庞大,格式复杂,传输时占用带宽大,服务器端和客户端都需要花费大量资源和时间来解析。
OAuth(Open Authorization)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。而OAuth2.0是OAuth协议的下一版本,它关注客户端开发者的简易性,同时为Web应用、桌面应用、手机和起居室设备提供专门的认证流程。
通过上面的架构,不管是传统的Web网站还是新兴的移动应用都可以通过该接口层方便、安全地使用系统的虚拟数据对象,这样有效提高了系统的扩展能力。
2.6应用层
应用层是直接面向用户,为用户提供服务的操作界面。例如资源检索、课件点播、用户认证等等。各种应用通过接口层提供的接口函数对数据虚拟化层的数据对象进行操作。由于数据虚拟化层已经把来自各异构系统的数据进行了整合、抽象,而接口层又对数据的操作进行了封装,因此应用层在对数据进行操作时,就不需要再考虑各数据项的具体存放位置和存取方法。这样可以使应用层更专注于与用户的交互,简化开发的流程,同时用户只需通过统一的操作界面即可实现对信息资源的检索和管理,充分体现了数据虚拟化技术的优点。
3系统建设
3.1标准的建立
实现大数据资源中心建設的一个关键点是标准的建立。目前我国在教育资源建设技术方面尚未有统一的国家标准,存在格式多样化,难以实现数据共享等问题。虽然我国也参考了国外的信息资源建设标准,制定了如《教育资源建设技术规范》、《现代远程教育资源建设技术规范》、《多媒体教学资源库建设规范》等。但是各系统开发商并没有完全遵循这些规范来进行资源的开发建设,而往往是按照自己的思路和方法来建设教育信息资源。特别是资源的属性描述,更是五花八门,随心所欲,导致各系统的资源互不兼容,难以整合。因此要实现教育资源的共建共享,就必须为资源建设和各资源的属性制定统一的标准规范。经过实践证明,统一的标准规范能为数据虚拟化层的建设减少很多难点。例如在进行数据整合时,某一资源的属性描述在各个系统中都不相同,那么数据虚拟化层就要考虑对数据类型进行转换,而且还要考虑转换时是否会发生信息丢失等问题,而资源属性描述标准化后,就不需要再考虑这些问题了。
3.2异构数据的同步与共享
大数据资源中心建设的另一个关键点是如何实现异构数据的同步与共享。前面分析过,试图把各种应用数据统一部署在同一个数据库平台上,基本上是很难办到的。因此就需要在各种异构数据平台上实现数据的同步与共享。本系统采用数据虚拟化技术来完成这项工作。
数据虚拟化层负责将各种异构数据进行重新分类、整合、抽象,然后对外提供统一的数据对象。对数据对象的操作,数据虚拟化层都会自动把相应的数据项映射到各异构系统中。这样对于上层应用来说,只要对抽象后的数据对象进行操作,即可完成对来自各异构系统数据的操作,而不需要再关心数据具体的存放位置。
3.3资源检索的融合
大数据资源中心,不仅要在底层实现系统间的数据共享,更要在用户使用体现上彰显大数据资源中心的优势。例如,用户要检索图片资源,在没有进行检索融合之前,用户需要在多个资源系统中分别进行检索操作。这种方式对于用户来说根本没有实现资源的统一管理。用户是不会关心各个系统底层数据是否共享,他们更关注的是操作是否简便了。用户需要在一个操作界面上执行操作,然后由系统自动对各资源库进行检索,最后把结果呈现给用户。这样用户才会感受到数据资源的统一管理。
由此可见资源检索的融合也是非常关键的。在本系统中,由于使用了数据虚拟化技术,首先完成了各系统数据的抽象融合,然后在此基础上构建了统一的数据接口层,为上层应用提供了统一数据操作接口,最后应用层直接使用这些操作接口,完全实现了资源检索的融合要求。
4结论
笔者通过网络虚拟化、服务器虚拟化、数据虚拟化、统一数据接口、统一应用等综合性的云计算技术来构建大数据资源中心,基本实现了教育资源共建共享的目的。利用云计算技术使系统更好地适应当今移动应用和移动学习的需求,实现了数字化教育教学资源的效益最大化。endprint