基于云计算的数据挖掘系统架构研究

时间:2022-09-24 11:15:56

基于云计算的数据挖掘系统架构研究

【摘要】分析当前数据挖掘遇到的问题以及云计算的优势,构建了基于云计算的数据挖掘系统架构,并对其中的模块进行了描述。该框架有利于解决当前数据挖掘遇到的数据复杂程度高,数据量大等问题,能够显著提高数据挖掘的性能,高可信的基于云计算的数据挖掘系统和服务是未来的一个参考方向。

【关键词】云计算;数据挖掘;系统架构

1.引言

云计算的概念可以追溯到上个世纪Sun和Oracle提出的“网络就是计算机”。Google公司第一个把云计算作为一个概念正式提出——云计算就是把软件放在远程的服务器上,就像天边的云,在上网时才把它拿来用,平常就放在云上,有专人帮你管理[1]。

要对云计算做出一个确切的定义还很困难,目前只是达成了关于云计算基本特征的共识:第一,云计算是基于互联网的,是以浏览器为基础的;第二,数据存储和应用在都在云端,对用户透明,通常由第三方提供;第三,云计算强调服务,用户按需使用服务,根据使用多少付费[2][3]。

数据挖掘,也称知识发现,是指通过对大量数据进行处理分析,从中发现有用的规律和知识,从而加深对数据的理解,最终为决策提供服务的过程。对数据挖掘系统架构的研究,国内外主要基于数据库系统展开,提出了一系列基于数据库系统的数据挖掘系统结构框架。主要有以下几个部分:控制器、数据库接口、知识库、模式提取、知识评价。这些理论丰富了对数据文件系统架构的研究,推动了数据挖掘工作的开展。但在实际操作中普遍存在数据共享性差、扩展性低等问题[4]。

本文在对云计算及数据挖掘系统原理分析的基础上,提出了一种适应云计算的数据挖掘系统架构。一方面顺应了当前云计算发展的趋势,另一方面也能够在一定程度上解决数据挖掘在实际操作中遇到的问题。

2.研究背景

随着计算机技术、计算机网络特别是网格计算与云计算的发展,越来越多的数据分布式的存储在网络中,这些数据往往是大量的、复杂的、异构的、有噪声的,不容易被直接理解,其中蕴含的知识也是很难被发现的[5]。这就给数据挖掘系统的实现带来了三大难题:第一,这些数据的复杂程度很高,传统系统的技术能力难以达到要求;第二,传统的单机服务器所能提供的资源有限,很难满足要求,要借助分布式计算技术来实现计算;第三,常用算法不足,需要研究各种数据挖掘算法的并行化策略。

虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,把一个物理单元虚拟成多个逻辑单元,允许一个平台同时运行多个操作系统,一个物理单元可以运行多个应用。这样,有利于资源使用效率的提高,同时也使各种资源的管理更加方便。在NIST(National Institute of Standards and Technology,美国国家标准技术研究院)的一篇关于云计算概念的著名文档中,共定义了云的4种模式,它们分别是:公有云、私有云、混合云和行业云。云计算的目标是整合资源为客户服务,系统资源具备高性能的处理能力成为了必然要求[6][7]。

云计算能够提供动态资源池、虚拟化和高可用性的计算平台,可被用来开发高性能应用程序。对数据挖掘来说一方面大大降低了中小企业的数据处理成本,大企业某些数据的处理也不再依赖于大型高性能机。另一方面开发方便,屏蔽掉了底层,使得大规模处理数据能力提高,提高了数据处理效率[8]。

为了解决上述问题,人们提出了知识网格的概念,设计了一种分布式并行知识发现平台框架,框架充分利用了网格的计算能力,解决了传统数据挖掘框架计算能力不足的问题。但网格计算缺少商业化实现,并且需要用户通过编程来搭建底层架构,为系统的实现增加了难度。云计算是网格计算的升级,在近几年被提出,他具有超大规模、虚拟化、高伸缩性、高可靠性、通用性强、高扩展性、按需服务、易于使用等特点,可被用来搭建数据挖掘系统解决上述问题[9]。

3.基于云计算的数据挖掘系统架构

3.1 云计算平台

目前典型的云计算平台主要有Google的云计算平台,亚马逊的Amazon Web Services云计算平台,微软的Windows Azure云计算服务平台,IBM的蓝云计算平台等。一般情况下云计算平台被解释为如下的架构[10],图1所示。

最下的一层是IaaS,提供CPU,网络,存储等基础硬件的云服务。在这一层,主要提供给用户云存储服务。

再上一层是PaaS,提供类似于操作系统层次的服务与管理,比如Google GAE,你可以把自己写的Java应用(或者是Python)丢在Google的GAE里运行,GAE就像一个“云”操作系统,对你而言,不用关心你的程序在那台机器上运行。

最后一层是SaaS,就是我们所熟悉的软件即服务。SaaS强调按需使用付费。

云计算抽象了计算与存储资源并动态的分配给需要使用的用户,具有高伸缩性、高可靠性、底层透明性和友好的监控及维修接口。如图2,在“云”上开发应用时只需要按照应用程序接口的规范来调用所需要的资源,如此用户只需要关心业务的逻辑实现。对数据挖掘而言,我们可以把各种算法部署到云计算平台然后通过云计算平台控制面板或接口设定目标响应时间来得到满意的结果。

3.2 数据规约工具

数据集是一个数据的集合,是数据挖掘的对象。数据集实例是包括访问地址在内的一个具体数据集,数据归约技术是可以用来得到数据集的归约表示。数据归约能够提高模型生成过程和所得模型本身的性能,在不降低模型质量的情况下减少模型维度来帮助用户可视化有更少维数的可能结果,改进决策。数据归约的策略如下:

(1)数据立方体聚集:聚集操作用于数据立方体结构中的数据。

(2)属性子集选择:可以检测并删除不相关、弱相关或冗余的属性或维。

(3)维度归约:使用编码机制减小数据集的规模。

(4)数值归约:用替代的、较小的数据表示替换或估计数据,如参数模型(只需要存放模型参数,而不是实际数据)或非参数方法,如聚类、抽样和使用直方图。

(5)离散化和概念分层产生:属性的原始数据值用区间值或较高层的概念替换。数据离散化是一种数据归约形式,对于概念分层的自动产生是有用的。离散化和概念分层产生是数据挖掘强有力的工具,允许挖掘多个抽象层的数据。

数据规约工具目标是扩展开发平台时期支持异构数据与未存在类型数据的访问。数据规约工具既可以被数据挖掘系统调用,也可以被其他云计算平台上运行的应用调用。用户在访问数据实例之前,首先通过数据规约工具添加数据集实例定义文件来描述其数据集实例,然后使用其定义文件ID调用数据规约工具进行数据读写。

3.3 基于云计算的数据挖掘系统架构

3.3.1 传统数据挖掘架构

传统数据挖掘是建立在数据仓库上的,能对数据进行统计查询、多维分析、各种复杂的图表和可视化,从而为企业的决策提供支持依据[11][12]。该系统抽象结构如图3所示。

数据源:通常是指松散地存放在不同的文件或数据库中的数据,可以是各种形式的数据。

数据仓库:直接负责对数据仓库进行管理,并完成对各种异构分布数据源中数据的提取工作,在再打限度上屏蔽各类异构数据源对系统带来的影响。

数据模块:此模块为数据挖掘系统的核心,主要是通过各种算法对数据仓库中的数据进行分析,从而从中挖掘出有用的信息。

用户界面:为人机交互的工具,用户将从数据中提取的有用的信息以及友好的方式反馈给用户。

3.3.2 基于云计算的数据挖掘系统

基于云计算的数据挖掘系统搭建于“云”之上,透明的为各种终端的用户提供界面服务;为基于该系统开发的程序提供开放接口,用户可以通过其他应用程序调用系统提供的开放接口来间接的使用系统提供的各种服务,如图4。用户不需要了解系统是怎样实现的,也不需要担心系统的计算与存储能力,只需要选择合适的算法来处理数据,最终以任务的方式部署给系统区执行得到数据挖掘的结果。

基于云计算的数据挖掘系统可采用按需付费的方式进行,企业或者个人如需某种服务便可直接通过此平台进行获取,从而不用再购买价格昂贵的软件;云时代到来后企业和个人的数据大多存与存储云当中,从而使得基于云计算平台的数据挖掘工具成为可能。

4.结束语

数据挖掘与服务将会兴起,基于云计算的数据挖掘系统在物联网上不可缺少,该框架能够有效的解决物联网数据挖掘所遇到的相关问题,能够显著提高数据挖掘的性能,高可信的基于云计算的数据挖掘系统和服务是未来的一个参考方向。

基于云计算的数据挖掘系统构建了一种更高可扩展性及松散耦合性的数据挖掘系统架构,从而解决了当前数据挖掘所面临的难题。当然,此系统架构也存在着大量未明晰和有待解决的问题,比如:大量数据在不同的云设备之间传输、应用程序的结构设计以及算法云内部的管理等一系列问题。对这些尚存的问题,还有待学术界的共同努力。

参考文献

[1]SUN.云计算框架介绍白皮书(第一版)[EB/OL].[2010-10-05]

[2]中国云计算网.什么是云计算?[EB/OL].[2009-02-27]

[3]雷万云.云计算:企业信息化建设策略于实践[M].北京:清华大学出版社,2010.12

[4]MATHEUS C J,CHANK P K,PIATETSKKY-SHAPIRO G.System for knowledge discovery in databases[J].IEEE Trans on Knowledge and Data Engineering,1993,5(6)903-913

[5]朱珠.基于Hadoop的海量数据处理模型研究和应用[D].北京:北京邮电大学,2008

[6]虚拟化于云计算小组.云计算实践之道:战略蓝图与技术架构[M].北京:电子工业出版社,2011.1

[7]范明,孟小峰.数据挖掘概念于技术(原书第2版)[M].北京:机械工业出版社,2007.3

[8]陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009(09)

[9]刘鹏.云计算[M]北京:电子工业出版社,2010.3

[10]Jun Ji,FengJing Shao,RenCheng Sun,Neng Zhang and Guanfeng Liu.ATSVM based semi-supervised approach to SAR Image Segmentation.IITA-GRS 2008,2008.12.24

[11]王冠军.基于SOA的数据挖掘原型系统的设计与实现[D].上海:华东师范大学,2009

[12]赵志宏,骆斌,陈世福.基于数据仓库的数据挖掘系统结构框架[J].计算机应用与软件,2002,19(4)

作者简介:

程琳(1987—),女,山东人,硕士研究生,研究方向:数据挖掘,云计算。

上一篇:使用VB简单实现几种多媒体效果 下一篇:基于重心法的粒子群优化算法