面向服务的云数据挖掘引擎的研究余永红.docx
- 文档编号:13296946
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:36
- 大小:36.51KB
面向服务的云数据挖掘引擎的研究余永红.docx
《面向服务的云数据挖掘引擎的研究余永红.docx》由会员分享,可在线阅读,更多相关《面向服务的云数据挖掘引擎的研究余永红.docx(36页珍藏版)》请在冰点文库上搜索。
面向服务的云数据挖掘引擎的研究余永红
面向服务的云数据挖掘引擎的研究*
余永红1,2+,向晓军1,高阳1,商琳1,杨育彬1
1.南京大学计算机软件新技术国家重点实验室,南京2100932.南京邮电大学通达学院,南京210003
余永红等:
面向服务的云数据挖掘引擎的研究47
摘要:
数据挖掘算法处理海量数据时,扩展性受到制约。
在商业和科学研究的各个领域,知识发现的过
程和需求差异较大,需要有效的机制来设计和运行各种类型的分布式数据挖掘应用。
提出了一种面向服务
的云数据挖掘引擎的框架CloudDM。
不同于基于网格的分布式数据挖掘框架,CloudDM利用开源云计算平
台Hadoop处理海量数据的能力,以面向服务的形式支持分布式数据挖掘应用的设计和运行,并描述面向服
务的云数据挖掘引擎系统的关键部件和实现技术。
依据面向服务的软件体系结构和基于云平台的数据挖掘
引擎,可以有效解决海量数据挖掘中的海量数据存储、数据处理和数据挖掘算法互操作性等问题。
关键词:
云计算;Hadoop;数据挖掘;面向服务的体系结构(SOA)
文献标识码:
A中图分类号:
N532
1引言
最近20年,互联网及相关技术得到广泛应用,
计算能力越来越强大,而且呈现无所不在的趋势。
由于信息技术和高性能计算的发展,在科学研究、
工业、商业等领域产生的数据量以前所未有的速度
增长。
技术发展的同时也为人们从海量数据中发现
知识提出了新的挑战。
而且随着物联网等技术的发
展,在生物学、医学、天文地球学等领域存储的数
据量和数据复杂性还在不断增长。
大规模文本数据、视频数据、Web数据等难于
被人们直观理解,特别是数据中隐藏的模型和模
式。
数据挖掘算法从海量数据中抽取可以被人们直
观理解的、有用的、新颖的知识,帮助商业决策和
科学分析。
如在生物学领域,可以使用神经网络和
隐马尔可夫模型来发现和匹配DNA中的子序列;
在视频研究领域,利用机器学习可以发现视频信息
中存在的异常行为。
在现实环境中,绝大部分海量数据都是以分布
式的形式存在的。
由于网络带宽的限制,数据的私
有性、安全性、规模性,以及系统不兼容性等原因,
把所有的数据源集中到一个地方,进行集中式数据
挖掘往往是不现实的。
传统的单机数据挖掘算法可
以处理本地的数据,但不适合分布式数据和计算的
环境。
分布式数据挖掘
[1]
以并行的方式执行多个数
据挖掘任务,适合于在分布式数据和计算环境下发
现数据模式。
目前,分布式数据挖掘技术主要有基于主体
(Agent)的分布式数据挖掘、基于网格技术的分布式
数据挖掘和新兴的基于云计算的分布式数据挖掘。
基
于Agent的分布式数据挖掘技术利用Agent的自治
性、主动性、自适应性、协作特性等优势,可以解
决分布式数据挖掘中的数据安全和隐私保护问题,
减少用户对数据挖掘过程的干预,动态选择数据源,
实现多Agent的合作,挖掘全局知识模型等。
然而,
在利用Agent进行分布式数据挖掘时,网络节点之
间的通信开销以及Agent之间如何协作获得较好的
全局结果是需要研究的问题。
而且,当面临大规模
数据集时,每个Agent的局部处理方式还是集中式
的,算法和系统的性能和伸缩性受到制约。
网格和云计算的兴起,可以作为分布式计算的
基础设施,为数据密集型和计算密集型的分布式数
据挖掘应用提供有效的计算支持。
网格的目标是利
用虚拟组织之间动态、异构资源的共享来解决大规
模的科学问题。
云计算作为目前学术和工业研究的
热点,是网格技术的发展和演化,在应用目标、体
系结构和技术方面,与网格计算具有很多的共性,
但是在安全、编程模型、商业模型、计算模型、支
持的应用和抽象化等方面,云计算和网格计算具有
较大的差异。
云计算更侧重于利用虚拟化的技术,
在规模经济效益的驱动下,按需地为用户提供计算
能力、存储空间、平台和服务。
就分布式数据挖掘
应用而言,云计算平台中数据中心可以存储PB(Peta-
Bytes)级的海量数据,根据数据挖掘应用的需求动
态实现资源的分配,保证数据挖掘算法的可扩展性,
采用容错机制可以保证数据挖掘应用的可靠性。
基
于开源的云计算平台Hadoop,利用MapReduce
[2]
编
程模型实现的数据挖掘算法处理大规模数据的能力
已在机器翻译、信息检索、图像和视频处理等领域
48JournalofFrontiersofComputerScienceandTechnology计算机科学与探索2012,6
(1)
得到证实
[3−4]
。
数据挖掘工具提供商要求用户按照提供商指定
的方式调用数据挖掘工具中的功能。
数据挖掘过程
与数据挖掘工具紧密耦合,而且各个工具提供商之
间没有统一的标准,不同数据挖掘工具之间的互操
作性成为问题,限制数据挖掘系统的可扩展性和挖
掘工具的使用范围。
面向服务的体系结构(service-
orientedarchitecture,SOA)技术可以实现服务提供
者与服务消费者之间的松耦合,服务消费者以标准
接口动态绑定不同的服务提供者。
在数据挖掘应用
中利用SOA技术可以实现各个模块的动态组合,有
效利用各种数据挖掘工具,解决数据挖掘系统模块
之间互操作问题,保证数据挖掘应用的可扩展性。
在商业和科学研究领域,实现统一的分布式数
据挖掘应用是非常复杂的,因为分布式数据挖掘应
用具有数量巨大的应用场景,如生物学、天文学、
医学、信息科学等,以及不同层次的用户需求,需
要有效的形式来对分布式数据挖掘应用进行建模,
并且支持其在分布式基础设施上调度执行。
面向服
务的工作流系统可以实现分布式数据挖掘应用建
模和调度工作。
更具体地说,使用面向服务的工作
流系统,可以将单个的组件模块组合成复杂的有向
依赖图,这个有向依赖图是分布式数据挖掘应用的
抽象表示,由面向服务的工作流引擎管理各个组件
之间的数据流和控制流。
为了充分利用云计算平台处理海量数据的能力,
在统一的平台中实现各种类型的分布式数据挖掘
应用,满足商业和科学研究领域知识发现的需求,
本文在云计算平台Hadoop
[2]
的基础上,提出了面向
服务的云数据挖掘引擎框架,以面向服务的形式支
持分布式数据挖掘应用的设计和运行,并描述了面
向服务的云数据挖掘引擎中的关键模块的功能和
实现技术。
本文组织结构如下:
第2章介绍分布式数据挖
掘;第3章重点描述面向服务的云数据挖掘引擎框
架的设计和系统关键模块的实现;第4章总结全文。
2分布式数据挖掘
传统的数据挖掘系统建立在数据是集中存放的
假设上,在集中点进行处理。
而在现实环境中,大
规模的数据往往分散存储在不同的地理位置。
一些
产生大规模数据的软件系统本身以分布式形式运
行,软件系统生成的数据也是分散存储在各个运算
节点上的,如连锁经营的超市每天产生的事务数据
都是存储在各个营业点。
另外,海量的数据也有可
能因为技术原因或者安全考虑,不能集中进行处理,
如一些涉及到商业机密的数据,如果被复制到集中
点进行处理,就有泄密的可能性。
可见,集中式的
方法不适合分布式的数据和计算环境。
而且,集中
式数据挖掘算法的基本特征和缺乏对分布式资源
的合理利用,也使得数据挖掘算法不能在分布式环
境顺利完成任务。
因此,从海量、分布式的数据中
发现知识,需要研究分布式数据挖掘技术。
分布式数据挖掘是使用分布式技术,以并行的
方式从位于不同地理位置的分散数据中发现知识
的过程。
分布式数据挖掘利用分布式环境中的资源
来提高算法的性能,特别是处理大规模数据时,保证
算法的可扩展性。
目前,分布式数据挖掘技术主要有
基于主体的分布式数据挖掘、基于网格的分布式数
据挖掘和基于云平台的分布式数据挖掘等。
2.1基于主体的分布式数据挖掘
Agent具有自主性、自治性、协作性和自适应
等特征,利用Agent的这些特征可以克服分布式数
据挖掘中存在的一些问题:
Agent可以按照数据本
地访问机制读写数据,强化了本地数据的安全和隐
私保护;用户初始化Agent后,由Agent主动对数据
挖掘过程进行调整,减少了用户对数据挖掘过程的
干预;数据源发生变化时,Agent可以动态地选择数
据源,使得静态的数据挖掘方法可以处理动态变化
的数据;Agent的协作性可以对分布式数据进行分
布、并行的数据挖掘,由局部的模型构建全局的知
识模型。
目前,多主体系统(multi-agentsystem)广泛
应用在分布式数据挖掘系统中。
基于多主体的分布
式数据挖掘系统的一般体系结构如图1
[5]
所示。
多数基于多主体的分布式数据挖掘框架采用类
似于图1的体系结构,提供通用的结构化组件。
它
们使用标准的Agent通信语言,如KQML(know-
*TheNationalNaturalScienceFoundationofChinaunderGrantNo.61035003(国家自然科学基金);theInternationalS&TCoop-
erationProgramofChinaunderGrantNo.2010DFA11030(科技部国际科技合作项目);theNaturalScienceFoundationofJiangsu
ProvinceofChinaunderGrantNo.SBK201150103(江苏省自然科学基金).
Received2011-06,Accepted2011-09.
ISSN1673-9418CODENJKYTA8E-mail:
fcst@
JournalofFrontiersofComputerScienceandTechnologyhttp:
//www.ceaj.org
1673-9418/2012/06(01)-0046-12Tel:
+86-10-51616056
DOI:
10.3778/j.issn.1673-9418.2012.01.003
面向服务的云数据挖掘引擎的研究
*
余永红
1,2+
向晓军
1
高阳
1
商琳
1
杨育彬
1
1.南京大学计算机软件新技术国家重点实验室,南京210093
2.南京邮电大学通达学院,南京210003
ResearchonService-OrientedDataMiningEngineBasedonCloudComputing
*
YUYonghong
1,2+
XIANGXiaojun
1
GAOYang
1
SHANGLin
1
YANGYubin
1
1.StateKeyLaboratoryforNovelSoftwareTechnology,NanjingUniversity,Nanjing210093,China
2.CollegeofTongda,NanjingUniversityofPostsandTelecommunications,Nanjing210003,China
+Correspondingauthor:
E-mail:
yuyh.nju@
YUYonghong,XIANGXiaojun,GAOYang,etal.Researchonservice-orienteddataminingenginebasedon
cloudcomputing.JournalofFrontiersofComputerScienceandTechnology,2012,6
(1):
46−57.
Abstract:
Thescalabilityofdataminingalgorithmsisrestrictedwhendealingwithlarge-scaledata.Therearesig-
nificantdifferencesinawiderangeofapplicationareasandrequirementsforknowledgediscoveryprocess.Itis
fundamentaltoprovideeffectiveformalismstodesigndistributeddataminingapplicationandsupporttheirefficient
execution.Thispaperproposesanovelservice-orienteddatamingingenginebasedoncloudcomputingframework,
whichisnamedasCloudDM.Differentiatingfromgrid-baseddistributeddataminingframework,CloudDMex-
ploitsthecapacityofopensourcecloudcomputingplatform—Hadoopforlarge-scaledataanalysis,supportsthe
designandexecutionofdistributeddataminingapplicationsaccordingtoSOA(service-orientedarchitecture).
Moreover,itdiscussesandreportsthekeycomponentfunctionsandimplementationtechnologies.Accordingtothe
designprinciplesofSOAanddataminingenginebasedoncloudcomputing,thepapercansolvetheproblemsin
massivedataminingsystems,suchasbigdatastorage,dataprocessingandinteractiveoperationofalgorithms,etc.
Keywords:
cloudcomputing;Hadoop;datamining;service-orientedarchitecture(SOA)
50JournalofFrontiersofComputerScienceandTechnology计算机科学与探索2012,6
(1)
在国内,中科院首先研究了基于主体的分布式
挖掘系统,并研制了多策略数据挖掘系统MS-
Miner
[9]
。
罗平等人在调度策略优化通讯代价方面取
得重要成果
[10−1]
。
德国人工智能研究中心Matthias等
人采用主体进行分布式聚类,通过统计密度估计和信
息理论进行样本筛选,以减少站点之间的通讯
[12]
。
利用Agent的自主性、自治性、协作性和自适
应等特征解决了分布式数据挖掘中的一些问题,但
是Agent之间的通信开销和综合多个Agent挖掘到
的局部结果,构成全局的知识模型是需要继续研究
的问题。
更重要的是,数据挖掘Agent所进行的操
作不仅是对局部数据的处理,还是一种集中式的处
理方式,当面临大规模数据集时,数据挖掘算法的
可伸缩性和系统的性能受到制约。
2.2基于网格的分布式数据挖掘
借鉴电力网的概念,Foster等人提出了网格(grid)
的概念,其目的是使用户能像使用电力一样方便地
使用网格计算能力。
网格不同于传统的分布式计算,
它更关注大规模动态资源共享,并提供新的应用。
在某些情况下,它主要面向高性能计算系统。
网格
作为分布式计算基础设施,为集成和使用远程计
算资源、存储资源、软件资源和数据提供协议和服
务支持。
网格的体系结构包括五层沙漏结构、开放网格服
务体系结构(opengridservicesarchitecture,OGSA
[13]
)
和Web服务资源框架(Webservicesresourceframe-
work,WSRF
[14]
)。
与五层沙漏结构以协议为中心不
同,OGSA是以服务为中心的结构,可以定义网格
服务,提供标准模型来使用网格资源,以及由网格
服务组合分布式应用。
OGSA的体系结构如图2所
示
[14]
。
WSRF是在OGSA的基础上发展起来的,它给
出了一套使用Web服务创建、访问资源状态和管理
状态资源生命周期的技术规范。
WSRF也属于
OGSA架构,区别在于OGSA中以网格服务的形式
使用资源,而在WSRF中以Web服务形式提供资源
服务。
Web服务是否有状态是WSRF框架下的Web
服务与标准Web服务的重要区别。
数据挖掘算法和知识发现过程同时具有计算密
集性和数据密集型的特点,因此网格提供了计算和
数据管理的基础设施来支持分散的、并行化的数据
挖掘过程。
基于网格的分布式数据挖掘系统的关键问题是
各个站点之间的资源管理问题。
目前利用网格基础
设施设计和实现的分布式数据挖掘系统都是通过
网格中间件来解决资源管理问题的。
除了解决分布
式数据挖掘系统中的资源管理问题,网格中间件还
解决了安全、信息服务、通信、容错和可移植性问
题。
其中应用比较广泛的网格中间件有Globus
Toolkit
[15]
、gLite、Unicore。
特别是GlobusToolkit,在
学术研究和数据密集型的网格应用中被广泛使用,
为实现网格系统的事实标准。
另外,为了解决远程
Fig.2ThearchitectureofOGSA
图2OGSA的体系结构
余永红等:
面向服务的云数据挖掘引擎的研究49
Fig.1Generalarchitectureofmulti-agentdataminingsystems
图1多主体分布式数据挖掘系统一般结构
ledgequeryandmanipulationlanguage)、FIPA-ACL
(foundationforintelligentphysicalagents-agentcom-
municationlanguage)来方便Agent之间的交互。
基于多主体的分布式数据挖掘系统中通常包含
如下核心组件
[5]
。
InterfaceAgent(用户Agent):
负责与用户或其他
用户Agent的交互。
它接收用户提交的需求,并将
挖掘到的知识模型提交给用户。
FacilitatorAgent(协调Agent):
负责激活和同步
不同的Agent。
它根据用户提交的需求制定工作计
划,并保证工作计划的完成。
MiningAgent(数据挖掘Agent):
实现特定的数
据挖掘技术和算法。
ResultAgent(结果Agent):
跟踪数据挖掘Agent
的活动,从数据挖掘Agent中获取挖掘结果,并与
协调Agent合作,将挖掘到的结果展示给用户。
DataAgent(数据Agent):
维护每个数据源的元
数据信息。
它负责为数据挖掘Agent获取数据集。
除了以上核心组件外,不同的基于多主体分布
式数据挖掘系统还包含其他组件,如BrokerAgent、
QueryAgent、OntologyAgent、MobileAgent等。
利用Agent进行分布式数据挖掘的关键问题是
如何整合多个Agent挖掘的局部结果。
为了解决此
问题,国内外学术研究机构开发了多个基于Agent
的分布式数据挖掘系统,典型系统包括PADMA
[6]
(paralleldataminingagents)、BODHI
[7]
(Beseizing
knowledgethroughdistributedheterogenousinduc-
tion)、JAM
[8]
(Javaagentsformeta-learning)等。
PADMA是由Kargupta等人提出的基于多主体
并行数据挖掘系统。
在PADMA中,由协调Agent
对数据挖掘Agent的局部结果进行聚类,形成全局
结果。
各个本地Agent并行在多个站点进行数据聚
类,提高了并行的效率,本地Agent之间不进行通
信,减少了网络的通信量。
但是PADMA不能很好
地解决数据源之间的相关性问题。
Kargupta等人提出了BODHI分层主体的分布
式数据挖掘系统,采用集合数据挖掘模式(colle-
ctivedatamining)。
首先选择正交数据模型,然后在
每个站点计算基本正交系数,最后将局部的模型进
行合并。
另外,BODHI提供了Agent工作站,方便
Agent运行和Agent之间的消息交换。
当Agent需
要使用其他数据源时,就携带当前状态、数据、知
识移动到目标站点继续执行。
BODHI系统可以解决
数据相关性问题,但是需要基于数据集给出正交模
型,增加了系统的复杂性。
Prodormidis等人提出了基于分布式主体的数据
挖掘系统JAM,使用元数据挖掘技术(meta-learning)。
包含各种数据挖掘算法的Agent在各个站点进行数
据挖掘,利用metalearningAgent来综合各个站点
获得的知识,并与本地站点获得的知识进行合并。
JAM系统采用元数据学习技术,实现了集中式和分
散式整合局部结果的两种方法,具有很强的灵活
性。
另外,使用metalearningAgent可以处理站点之
间数据相关性问题,减少无关结果的产生。
52JournalofFrontiersofComputerScienceandTechnology计算机科学与探索2012,6
(1)
云计算的发展为解决海量数据挖掘问题提供
了新的思路。
Hayes明确指出云计算为分布式数据
挖掘提供了新兴实用的平台
[2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 服务 数据 挖掘 引擎 研究 余永红