南京信息工程大学计算机与软件学院 张 栋 黄莹莹
近年来,随着人们物质生活水平的提高,越来越多的人喜好旅游。当游客来到陌生的环境,他们需要导航设备来指导衣食住行,传统的电子导航设备,价格昂贵,操作复杂,适用面窄。而云计算技术的出现正好满足上述需求,作为IT产业界的一场技术革命,已经成为了IT行业未来发展的方向。在国内外,有关云计算一类的课题已经成为了重点,不仅仅是一般企业将云计算有关理念投入到技术方向上,在政府机构中也可以看见云计算的身影,基于未来的发展仍有迹可循。
“云计算”核心是将大量的网络资源统一起来,为用户提供高效、便捷、随时随地、按需求提供软件服务。它使得超级计算能力通过互联网自由流通成为了可能,并为各种应用开创了一种崭新的应用模式,逐渐发展成为一种网络应用趋势[1]。用户在任何时间、任何地点,用任何可以连接至互联网的终端设备访问“云”即可获得所需服务。另外,随着3 G网络时代的到来,移动网络速度大大提升,从而使得云与端应用软件需求量越来越大。“云”无论如何飘必须要“落地”,即必须要有移动终端设备和相应的软件支持。Android也由于它在市场上的占有率以及通用性,在其上实现旅游信息导航系统也将会最大可能满足游客需求。
与旅游市场的飞速发展相比,传统的旅游行程规划向数字化服务发展的要求越来越迫切。在这样的背景下,旅游网站开始兴起,旅游行程规划服务作为网站的必备功能也随之发展。为给人们的生活提供便利,节约人们宝贵的时间,我们特设计了该项系统。该系统的研发利用Google Android手机操作系统和云计算技术的结合,使用户可以解决旅途中的问题,达到最佳的旅行效果。“基于Android平台的云计算旅游信息导航系统”立足现实,南京各地的旅游景点尽在一键掌握,将所有与旅游景点有关的最新信息反馈给用户,帮助用户更好的安排好行程计划。同时,很多大学生常常因为找不到地方去郊游而烦恼。但是有了这款系统,不用担心没有合适的地方去郊游,它为我们节约了更多的时间和精力。因为该系统不仅能为我们提供准确旅游景点报价,还能提供景点附近的公交、旅馆、车站、超市等信息,根据不同的消费水平,为大家提供不同的建议,相信这一定会使得你的郊游更加舒心和高效。
本文设计的“基于Android平台的云计算旅游信息导航系统”与传统旅游信息导航系统相比,能为用户提供及时、方便、有效、准确的查询,有着十分明显的优势。该系统采用美观的界面图形模式,用更直观的表达,更快捷的方式,让用户更简单,更轻松地查询到旅游景点信息。
本文所设计的旅游信息导航系统基于Cloud Stack虚拟云架构,客户端基于Google Android平台。客户端将服务请求通过无线网络发送到云服务器,所有的信息采集、信息识别、信息处理都在云服务器上完成,应答数据再通过网络返回到客户端。通过不断提高云服务器的处理能力,进而减少了移动端的处理负担,同时能按需享受“云”的超级计算处理能力。云平台将多台虚拟机和物理机以及存储器连接在一起,能够有效的支持并行扩展[2]。该系统通过网络,采用请求分派机制将庞大的用户接入自动分配到各个计算节点进行处理,同时,本系统根据负载和计算节点性能等请况来决定用户的分配策略,这有利于合理地分配计算资源,能够在大量用户并发访问时依然保证快速的处理能力和良好的服务。
本文设计的云体系结构如图1所示,说明如下:
云用户端:提供云用户请求服务的交互界面,也是用户使用云的入口,用户通过Web浏览器可以注册、登录及定制服务、配置和管理用户。
服务目录:云用户在取得相应权限后可以选择或定制的服务列表,也可以对已有服务进行退订的操作,在云用户端界面生成相应的图标或列表的形式展示相关的服务。
管理系统和部署工具:提供管理和服务,能管理云用户,能对用户授权、认证、登录进行管理,并可以管理可用计算资源和服务,接收用户发送资源和应用,动态地部署、配置和回收资源。
监控:监控和计量云系统资源的使用情况,以便做出迅速反应,完成节点同步配置、负载均衡配置和资源监控,确保资源能顺利分配给合适的用户。
服务器集群:虚拟的或物理的服务器,由管理系统管理,负责高并发量的用户请求处理、大运算量计算处理、用户Web应用服务、云数据存储时采用相应数据切割算法采用并行方式上传和下载大容量数据。
用户可通过云用户端从列表中选择所需的服务,其请求通过管理系统协调相应的资源,并通过部署工具分发请求、配置Web应用。
本系统主要涉及Cloud Stack云计算服务器平台、Google Android平台的客户端。
2.1.1 云计算分析
云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)等概念混合演进并跃升的结果,其中大部分的软件和硬件通过动态扩展虚拟化的层次,为知识应用提供无限的空间和计算能力,信息是通过互联网进行传输的,数据存储在云端,服务存储在云端,通过利用数据的强大计算能力,为用户服务。首次提出“云计算”概念是在2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索大会上,云计算的提出,使得廉价的计算机整合在一起具有数据海量存储和超级计算机的能力。
为了获得强大的并发计算能力、存储能力以及资源监控能力,该系统使用Cloud Stack平台搭建了旅游信息的服务器。通过云平台,透过无线网络为移动终端提供准确、高效、迅速的信息服务。云计算中的虚拟化技术,可以实现资源的最优利用,并能够根据用户业务需求的变化,按需分配资源,实现动态负载均衡,同时与硬件无关的特性带来系统自愈功能,提升系统的可靠性。在云计算实现中,计算系统虚拟化是一切建立在“云”上的服务与应用的基础。虚拟技术目前主要啊应用在CPU,操作系统,服务器等多个方面,是提高服务效率的最佳解决方案。云计算中的分布式技术,最早是由Google规模应用于向全球用户的搜索服务,其分布式架构,可以让多达百万台的廉价计算机协同工作。分布式系统完成海量数据的分布式存储,分布式计算编程模型完成大型任务的分解和基于多台计算机的并行计算,分布式数据库完成海量结构化数据的存储,可以实现数据存储访问的高可靠性、高访问性能、在线迁移、自动负载均衡。
2.1.2 Cloud Stack架构分析
Cloud Stack是一个开源的具有高可用性及扩展性的云计算平台,同时也是一个开源云计算解决方案,可以加速高伸缩性的公共和私有云的部署、管理、配置。使用Cloud Stack作为基础,数据中心操作者可以快速方便的通过现存基础架构构建云服务。Cloud Stack形成的基础设施云和数据中心运营商可以快速,轻松地建立在其现有的基础设施提供云服务的需求,弹性云计算服务。Cloud Stack用户可以充分利用云计算提供更高的效率,无限的规模和更快地部署性服务和系统的最终用户。
Cloud Stack架构,如图2所示,其中,“Zone”表示的是区域,它是Cloud Stack部署中最大的组织单位。一个区域通常会对应到一个单一的数据中心。“Zone”的优点就是提供物理上的独立性和冗余性;“Pod”表示的是机架,同一机架中的主机处于同一子网内;“Cluster”表示的是集群,它由多个主机组成,集群提供了一种组织节点的方式,虚拟机能够在不中断的情况下在一个集群内迁移,一个集群只有一个物理主机节点;“Primary Storage”表示的是一级存储,它是与集群相关联的,用于为集群中所有运行在主机上面的虚拟机存储硬盘跟卷文件,一般来说,至少需要一个一级存储,为提高性能,尽量部署在接近主机的位置,本系统中同过NFS技术实现;“Secondary storage”表示的是二级存储,它跟“Zone”相关联,其存储了版本文件—可以启动虚拟机的操作系统镜像、ISO镜像---操作系统光盘镜像、硬盘卷快照---存储了用户恢复或者创建新模版的虚拟机数据副本,本系统的二级存储通过NFS技术实现。
2.1.3 CloudStack中对各种资源的监控分析
物理资源是虚拟化的基础设施,对这些资源的监控及有效利用可以体现一个平台的价值;同时监控的时效性,准确性直接影响你对资源的操作。CloudStack非常强大,它可以管理Hypervisor包括XenServer、VMWare ESXi、KVM、OracleVM,并且同时也监控在这些Hypervisor上运行的虚拟机(图4)。CloudStack监控的主要数据有CPU,Memory、Network、DISK等。
CloudStack对资源的监控(图3)一方面可以使管理员了解CloudStack物理资源处于什么状态,各种资源的利用率是多少,方便管理员早做计划;另一方面,CloudStack也会用到监控到的数据,如部署一个虚拟机到某台物理机,会判断此机器的资源是否满足需求。
2.2.1 Android客户端搭建分析
Android系统是由谷歌公司牵头,联合34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与84家硬件制造商、软件开发商及电信运营上组成开放手持设备联盟(Open Handset Alliance)来共同研发改良的。短短两年间,谷歌的Android系统市场占有率以惊人的速度增长,这得益于其开放源码的经营策略和谷歌不断进行完善升级的努力,Android是以Linux为基础的开放源代码操作系统,安全性和稳定性优势明显,操作体验逐步向苹果追赶,同时丰富的应用程序,可用户自定义的界面,低廉的价格,得到了广大开发者的青睐。
Android客户端的展示系统如图4所示。客户端的实现是基于Google Android API与百度地图的结合,主要是用来作为终端显示,几乎不具备信息的处理功能,大大释放设备的存储和内存压力,给用户带来高效、快捷的服务。
2.2.2 Android客户端效果展示
图5a中是客户端的主界面,主要是系统所提供功能的入口;图5b展示内容的是旅游景点信息;图5c展示的内容的地图信息导航。
本文提出一个基于Android平台的云计算旅游信息导航系统,利用CloudStack虚拟云平台搭建的高性能旅游信息导航系统通过请求分配机制,将大量并发访问用户的识别处理工作分配到系统中不同计算节点(包括主机和虚拟机)去完成,再由计算节点将识别结果回传到客户端,从而为客户端提供了高准确率、快速、个性化的旅游导航体验。客户端基于Google Android平台,界面美观友好,良好的用户体验。
实验结果表明了本文提出的云计算旅游信息导航系统满足了可实施性、可部署性、可扩展性的需求,打破了传统的客户端-服务器模式,将服务器部署在云端,推出了创新性的服务模式。
[1]冀勇庆.IBM的云计算[J].IT经理世界,2008(15):36-37.
[2]李楠.云计算技术的发展与挑战性问题[J].考试周刊,2010(37):142-143.
[3]郭连城,郑皓.云计算现状及其发展趋势[J].科技信息,2012(14):247-247.