云计算结合分布计算、并行处理、虚拟化等技术,为大型数据处理、应用提供动态资源服务,在搜索引擎等互联网应用方面得到广泛使用并取得巨大成功。随着社会的发展,数据处理量越来越大,传统的处理方式已经无法满足用户需求,因此云计算技术得到了广泛关注。云计算提供了一系列安全可靠的服务,用户可以通过互联网享受到这些服务。目前,云计算技术也被视为解决如海量数据挖掘、物联网数据管理等问题的最佳方案。虽然在文字处理、内容检索方面云计算已经很成熟,但是在数据挖掘领域还是有很多值得研究的地方。云计算的架构分为三层:第一层为资源分配层,其接收用户发送的请求,并决定是否将请求发送到下一层,该层保证了在有计算资源的前提下,接收并执行任务,否则不执行任务。这一层不仅需要对用户请求进行管理,还需要对计算风险和资源分配进行管理。为了达到这一目标,需要对服务请求进行估价,估价系统是第一层的核心内容,根据估价的值决定是否执行请求。第二层为虚拟机管理层,该层负责控制所有虚拟机,管理虚拟机的分配和回收。当用户启动执行任务时,调度机制负责为每一个本地数据库动态的分配计算资源,使得每个本地数据库对应一个或多个虚拟机或者虚拟线程,并且负责处理负载均衡。当任务量减少时,第二层负责资源回收,放入资源池中待下次继续调用。这种调度机制使得用户可以透明地使用云计算平台,用户不需要关心后台如何处理资源分配和进程调度。第三层为物理层,该层是实际的服务器,其中存储了数据。
数据在云计算平台下是分散存储的,用户在调用数据时,不需要知道数据的存放位置,不用对硬盘进行管理,因此云平台下的程序执行速度更快,数据块更小。只要用户可以连接上网络,就可以享受到云计算带来的优势,很多软件开发商都专注于云计算领域的开发,在此对几个应用广泛、影响范围大的云平台做介绍。
(一)Amazon弹性云(EC2)
以提供网络服务的方式提供可靠的云计算服务,使得用户可以更加方便地获得计算资源。用户弹性地运行镜像文件,在虚拟机上执行任务。在云平台中,虽然程序运行在虚拟机上,用户可以不关心底层运行情况,但EC2允许用户指定执行任务的物理机。用户也可以做一些其他配置,如调整EC2的容量等,根据用户的实际要求对虚拟机有更好的配置。
(二)Google App Engine(www.daowen.com)
Google App Engine允许用户使用Python语言在云平台上编程,实现用户自定义的程序,并且支持数据存储、收发邮件、图像处理等操作。App Engine提供了一个Web程序运行框架,其易于运行、部署和扩展,使得用户可以轻松管理自己的Web程序。
(三)Windows Azure
Windows Azure是开放的、云服务操作系统,提供云平台管理策略、动态分配资源、可扩展的开发环境、托管服务环境和服务管理环境等,包括提供基于虚拟机的计算服务和基于Blobs、Tables、QLteues、Drives等的存储服务。
目前,很多企业租用云服务资源以降低运维成本,同时云开发商也致力于云计算平台的建立与完善。不管是企业还是科研界对云计算技术都给予了很高的重视,借助云的优势可以带来更大的变革。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。