云计算环境下的数据挖掘
来源:用户上传
作者:
【摘 要】随着互联网时代日新月异的发展,人们在获取庞大信息量的同时,如何从中挖掘出有用的信息成为了当今世界的一大难题。传统的数据挖掘算法在海量的信息下往往因为巨大的计算量导致速度减慢甚至无法运行,这对传统算法来说毫无疑问是瓶颈。解决这一问题的有效方法就是云计算平台。云计算擅长处理大规模的数据和计算。将传统数据挖掘算法部署到设计云计算平台上运行,上述瓶颈问题就可以解决了。
【关键词】云计算;数据挖掘;系统架构;并行化
中图分类号: TP311.13;F49 文献标识码: A 文章编号: 2095-2457(2019)36-0196-002
DOI:10.19694/j.cnki.issn2095-2457.2019.36.092
0 引言
当今时代,在网络技术的推广与发展下,网络带来海量的信息,人们正处于“被信息淹没,但又渴求知识”的困境。而随着互联网的快速发展、数据库技术以及信息化水平的日趋完善,人类的知识储备量正以指数方式高速增长。此时的人类迫切需要一种高端技术,来处理这些杂乱无章的数据,这种技术需要将传统数据分析法与处理数据的复杂算法有机的结合在一起。因此,数据挖掘技术在此环境下诞生,将海量数据去假求真,提取出对人类有用的信息并转化为知识。然而,很多传统的数据挖掘算法仅仅适用于小规模输入数据,倘若大量输入数据,它们则会因计算量的增加而导致速度减慢,甚至无法运行。
云计算的诞生正是为了解决这项瓶颈,它更实用于海量的数据处理和计算能力的巨大需求。将云计算技术应用到数据挖掘算法中去,这给数据挖掘领域解决瓶颈问题带来来新的希望。想要在数据挖掘算法中引入云计算思维,关键在于实现相关数据挖掘算法的并行化,使之能够借助云计算平台进行海量计算以及保持高效率来处理海量数据。
云计算的概念最早是由美国谷歌公司提出,发展到如今,云計算已经在全球范围内形成了一个庞大的市场,全世界大部分IT厂商都已根据自身情况制定了“云计算计划”。比较著名的案例有:IBM公司于2007年8月推出的“蓝云”计划;谷歌公司在2007年10月推出的“消费云”计划;雅虎公司也已使用开源展开来自己的云计算计划。其中做的最出色的是谷歌公司制定的计划,该计划在实施过程中主要在全球搜索方面的具有强大的处理能力。
而我国的政府、学术界和产业界也早已对云计算的研究高度重视,相关的研究计划如雨后春笋般快速涌现出来。其中值得一提的有关云计算研究的专项计划有:国家“863计划”、“973计划”、国家自然科学基金等等。而早在2008年初,美国IBM公司就与无锡市政府合作创建来无锡软件园云计算中心;同年1月,360安全企业计算也联合VMware发布了“云安全”解决方案;此外还有中国联通、中国电信等网络运营商也都有布局云计算计划。
1 云计算
1.1 云计算的定义
云计算是一种分布在大规模数据中心,能动态的提供各种服务器资源以满足电商产业、科研等领域需求的计算平台。它可以被看做是并行计算、分布式计算和网格计算的发展。云计算利用虚拟化技术,对于不同用户的不同需求来提供不同的服务,主要提供所需的虚拟计算和系统资源,最终使普通用户也能通过该技术实现海量数据操作以及大规模并行化计算,此外还为搭建统一开放的知识网络系统提供了底层支持。
1.2 云计算的特点
1)规模大。云计算技术的使用需要具备一定规模的硬件基础,比如Google实现全球搜索处理使用的云计算服务器超过100万,而其他的IT厂商如Yahoo、IBM、微软等的云平台则均拥有几十万台服务器。云需要的规模大,反过来它带来的收益也是巨大的,它能赋予使用者超前的计算能力。
2)虚拟化。云计算的使用不受用户地点、终端的限制。用户请求的服务将在远方的“云”中运算,并将所需结果返回给用户。
3)高可靠性。云计算通过副本和相关策略进行容错,通过计算节点同构可互换等措施来保障服务的可靠性。因此“云”的可靠性高于本地计算机。
4)通用性。云计算可以使用多种应用,多个平台,因此它还具有通用性的特点。
1.3 云计算的架构
云计算是一个底层透明、高伸缩性、高可靠性且安全的底层架构,它具有友好的监控和维护接口,并能根据用户所需的服务抽象地将计算和存储资源进行动态分配。
要想使用“云”,只需根据应用程序接口规范来调用所需资源,而在不使用“云”的时候,则需要通过提高系统吞吐量来减少所需硬件的其他投资,这需要花更多的时间和精力。而大部分用户都只关心业务都逻辑实现,那么,针对数据挖掘实现,要想得到更加满意的结果,可以将各种算法都部署到云计算平台中去运行,接着通过该平台的接口或控制面板来响应目标时间。
1.4 现有云计算平台简介
现阶段所拥有的云计算平台,已逐渐迈入成熟阶段了。比如在数据存储方面,Google Big table与Amazon Simple Storage Service等为实现庞大数据的分布式访问与存储提供了较为不错的支持。而在计算方面,Google App Engine基于云计算设计实现的应用已可以便捷的部署其计算资源。
2 云计算环境下的数据挖掘
2.1 数据挖掘的任务
数据挖掘的主要任务,即是将数据中的隐藏模式改为显示模式。目前能够发现的模式一般分为这两种:描述型模式和预测型模式。描述型模式,将存在的数据的特性进行刻画并描述,找出存在的一般规律。预测型模式,通过时间时间序列,以时间为中心对过去的值和现在的值对未来的值进行预测。
2.2 基于云计算的数据挖掘的系统架构
2.2.1 传统数据挖掘
传统数据挖掘,主要有聚类分析、分类分析、回归分析等。聚类分析,针对数据的相似性和差异性归分类别;分类分析,与聚类分析类似,分类类别可以将数据归分到已经定好的类中;回归分析,通过函数之间的映射关系发现属性值之间的关系。 然而传统的数据挖掘技术难以应对当今复杂、庞大的数据信息。一方面是执行效率低下,传统数据挖掘技术主要是集中在底层开发,难以实现数据处理的并行化,因而在处理TB级以上的数据时速度很慢。另一方面是精度低,传统的数据挖掘难以在数据量提升的情况下保持准确的计算,尤其难以应对结构化的数据。
2.2.2 基于云计算的数据挖掘系统模型
目标系统是搭建于云计算之上的数据挖掘系统,通过用户界面和开放接口为各类终端用户提供服务。用户根据需求发送任务,云端服务器将根据用户需求动态分配系统的计算和存储能力,用户方面也无需了解系统的实现和处理方法,系统执行相应程序并返回数据挖掘结果。
数据挖掘系统模块自底向上可以抽象的划分为三个模块,分别是算法模块、应用模块、任务模块。最底层为目标系统,主要用来提供应用程序接口;而最顶层为开放和用户接口,用户可通过该接口来调用算法程序,并植入到自己的程序应用中,这也体现了应用的开放性。接下来,本文将按自底向上的顺序来介绍中間各层提供的服务。
1)算法层。该层使用所提供的数据源,来实现算法的使用,以及管理相应的接口。在数据集具有噪声、异构时,调用数据清洗算法针对该数据集进行处理,再存入云平台的存储中执行数据挖掘算法;若数据集正常,则直接调用数据挖掘算法服务。
2)应用层。应用层对于整个数据挖掘流程所涉及的数据、算法之间的关系与顺序进行描述,以更好的维护应用接口和调用服务。该层以插件方式管理各种任务定义文件,病应用注册与注销服务来管理模块,以此来维护维护相应应用的接口和调用服务。
3)用户层。该层具有授权功能,可用来提供用户身份验证。主要为用户注册、验证与授权服务提供相应的可用接口。此外,为来保证平台的安全性,还将授权信息作为调用下层各服务的通行证。
以上的各层均使用通讯语言的形式以提高各层的支持性,最后通过开放接口模式或最顶层的用户界面来对用户进行开放。该目标平台架构还可以根据用户本身的需要对其他任意层进行开发,最后将所需要的服务置入系统内,这样的举措大大提高了系统的可用性和开放性,也是传统数据挖掘平台难以实现的。
3 结论
本文展示了云计算开发平台的系统模型,针对现阶段传统数据挖掘系统和云计算环境下进行了说明和比较。传统的数据挖掘针对世界日益增长的数据量心有余而力不足,而云计算在处理大规模的数据和计算方面则是得心应手,所以将两者进行结合开发云计算数据挖掘平台就成了解决传统数据挖掘难以解决的海量数据中的数据挖掘的问题。
【参考文献】
[1]纪俊.一种基于云计算的数据挖掘平台架构设计与实现[D].青岛:青岛大学,2009.
[2]汪明.数据挖掘综述[J].河北软件职业技术学院学报,2012,14(1):45-48.
[3]李军华.云计算及若干数据挖掘算法的MapReduce化研究[D].成都:电子科技大学,2010.
[4]张建勋,古志民,郑超.云计算研究进展综述[J].计算机应用研究,2010,27(2):429-433.
[5]罗伟.数字校园云平台的设计与实现[D].广东:华南理工大学,2012.
转载注明来源:https://www.xzbu.com/8/view-15189055.htm