基于云计算的数据挖掘技术探讨论文

时间:2020-01-24

  1、前言

  毫无疑问,21世纪10年代,已经是不折不扣的信息时代,或者也可以称之为数据时代。随着计算机的发展,网络的快速普及,尤其是移动互联网在近年来的蓬勃发展,数据量、信息量无时无刻不在海量增长着。目前,面对海量的信息,找出自己真正感兴趣的内容已经成为用户最为头疼的事情,数据挖掘已经成为当前最为热门的技术领域。近年来,云计算成为广受关注的技术领域,也使得数据挖掘平台有了新的发展方向,构建新一代的数据挖掘平台来应对数据的日趋复杂庞大成为可能。云计算实为传统计算机技术与网络技术融合的产物。云计算并非简单的计算,它是新型计算方式、数据存储方式、备份方式、网络资源分配方式的综合体,是基于互联网的相关服务的增加、使用和交付模式。传统的数据挖掘技术是建立在数据库之上的,是通过对已收集数据信息的计算,找出隐藏在不同数据中的相关信息。传统的数据挖掘技术需要在海量数据的基础上进行大量的数据访问与统计计算,在对数据进行挖掘的过程中需要消耗及占用大量的计算以及存储资源,面对规模不断增长的海量数据,需要消耗及占用大量计算及存储资源的传统数据挖掘技术显得越来越力不从心,难以胜任。而云计算独特的计算模式,为海量数据的挖掘提供了一种新的解决方案。

  2、云计算与数据挖掘

  2.1云计算。云计算是基于互联网的一种商业计算模式,对于云计算的定义,目前并没有一个统一的说法,现阶段广为人接受的是美国国家标准与技术研究院对云计算所做出的定义,即:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。从云计算的定义我们可以知道,云计算拥有可配置的、大型的计算资源共享池,这种资源共享池包括了网络、服务器、存储器、应用软件以及服务。那也就是说,云计算就是对计算资源共享池的一种资源分配技术或服务,它的特点是可以快速提供这些计算资源,可以减少客户的管理工作。云计算将计算任务分布在了由大量计算机或服务器构成的共享资源池上,大大提高了资源的有效利用,使计算处理能力以及存储能力等得到了提高,并且具有更好的扩展性。云计算具有虚拟化的特点,用户不再受到地理位置以及终端设备的限制,只要接入互联网,即可获取所请求的应用服务,也就是说,用户只需要拥有一台可以接入互联网的终端设备,即可获利所需要的各种应用服务;云计算拥有通用性的特点,云平台可以构造出千万种应用,用户没有应用限制,在同一个云平台即可运行不同的应用;云计算具有超大规模以及高扩展性的特点,对于云计算来说,云的规模扩展不会影响用户应用服务的质量,而目前,云计算的规模已经发展出了超大型,如谷歌的云计算已经拥有了上百万台的服务器;云计算拥有高可靠性以及经济性好的特点,多副本容错、多计算节点同构可互换等技术确保了服务的高可靠性,而云计算采用廉价的节点构成云,自动化集中式管理相较于企业传统的数据中心管理成本来说,经济性能十分优越。

  2.2数据挖掘。数据挖掘是数据库知识发现中的一个步骤,数据挖掘又被称为数据采矿,顾名思义,数据挖掘就是在已有的海量数据中通过特定的算法来挖掘、发现有用信息或知识的过程。数据挖掘是为了解决需求的问题,也是为了解决数据管理的问题。数据挖掘对于信息产业界来说,是产生价值的关键环节,只有将数据转冯波换成具有应用价值的信息或是知识,才能具有实在商业价值。传统的数据挖掘技术是建立在数据库的基础之上的,需要数据库系统提供有效的存储、索引和查询处理支持,而高性能的计算技术是对海量数据进行处理的关键支撑,在处理效率方面具有重要影响。随着互联网规模的不断扩大以及移动互联网的兴趣,数据规模呈现更快的增长速度,而对于数据挖掘的需求也日益增多,这使得传统的数据挖掘技术暴露出一些问题,首先是数据挖掘效率的问题,传统的基于数据库的数据挖掘技术在面对如今海量数据的增长规模已经很难高效的完成计算分析任务;其次,面对海量数据规模的增长,传统的数据挖掘技术需要更高的软硬件成本的支持,这种成本的支撑面对数据量的大规模增长是长期性的;第三,传统的基于数据系统的数据挖掘技术平台架构,已经无法为挖掘算法能力的提升提供更多支持,算法受限于系统架构影响了数据挖掘技术的发展。

  3、基于云计算的数据挖掘关键技术

  云计算的出现为数据挖掘技术的发展提供了新的方向,数据挖掘技术基于云计算可以发展出新的模式,就具体的实现来说,其中几个关键技术的发展至关重要。

  3.1云计算技术。分布式计算是云计算平台的关键技术,是目前应对海量数据挖掘任务,提高数据挖掘效率的有效手段之一。分布式计算包含分布式存储和并行计算两方面内容,分布式存储有效解决了海量数据的存储问题,实现了数据存储高容错、高安全、高性能等关键功能。目前,谷歌提出的分布式文件系统理论是业界流行的分布式文件系统的基础,谷歌文件系统(GFS)就是为了解决其海量数据的存储、搜索与分析等问题而研发的,其它如Hadoop分布式文件系统(HDFS)、Kosmos文件系统(KFs)是基于Goolgle分布式文件系统理论进行研发的开源系统。分布式并行计算框架是高效完成数据挖掘计算任务的关键。目前流行的一些分布式并行计算框架都对分布式计算的一些技术细节进行了封装,这样用户只需要考虑任务间的逻辑关系,而不用再过多的关注这些技术细节,不仅大大提高了研发的效率,而且还可以有效的降低系统维护的成本。典型的分布式并行计算框架如谷歌提出的MapReduce并行计算框架、Pregel迭代处理计算框架等。目前业界开源的云计算平台Hadoop平台,包含HDFS和MapReduce,为海量数据挖掘平台提供完备的云计算平台支撑平台。

  3.2数据汇集调度技术。数据汇集调度技术需要实现的是对接入云计算平台的不同类型数据的汇集与调度。数据汇集与调度需要支持不同格式的源数据,还要提供多种数据同步方式。解决不同数据的规约问题是数据汇集调度技术的任务,技术解决方案需要考虑对网络上不同系统生成的数据格式的支持,如联机事务处理系统(0LTP)数据、联机分析处理系统(0LAP)数据、各种日志数据、爬虫数据等,如此才能实现数据的挖掘与分析。

  3.3服务调度和服务管理技术。为了能够让不同的业务系统使用本计算平台,平台必须要提供服务调度和服务管理功能。服务调度根据服务的优先级以及服务和资源的匹配情况等进行调度,解决服务的并行互斥、隔离等,保证数据挖掘平台的云服务是安全、可靠的,并根据服务管控进行调度控制。服务管理实现统一的服务注册、服务暴露等功能,不仅支持本地服务能力的暴露,也支持第三方数据挖掘能力的接入,很好地扩展数据挖掘平台的服务能力。

  3.4挖掘算法并行化技术。挖掘算法并行化是有效利用云计算平台提供的基础能力的关键技术之一,涉及到算法是否可以并行、以及并行策略的选择等技术。数据挖掘算法主要有决策树算法、关联规则算法以及K-平均值算法等,算法的并行化,是利用云计算平台进行数据挖掘的关键技术。