收藏 分享(赏)

面向服务的云数据挖掘引擎的研究.doc

上传人:无敌 文档编号:173455 上传时间:2018-03-23 格式:DOC 页数:16 大小:137.50KB
下载 相关 举报
面向服务的云数据挖掘引擎的研究.doc_第1页
第1页 / 共16页
面向服务的云数据挖掘引擎的研究.doc_第2页
第2页 / 共16页
面向服务的云数据挖掘引擎的研究.doc_第3页
第3页 / 共16页
面向服务的云数据挖掘引擎的研究.doc_第4页
第4页 / 共16页
面向服务的云数据挖掘引擎的研究.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、面向服务的云数据挖掘引擎的研究 余永红 向晓军 高阳 商琳 杨育彬 南京大学计算机软件新技术国家重点实验室 南京邮电大学通达学院 摘 要: 数据挖掘算法处理海量数据时, 扩展性受到制约。在商业和科学研究的各个领域, 知识发现的过程和需求差异较大, 需要有效的机制来设计和运行各种类型的分布式数据挖掘应用。提出了一种面向服务的云数据挖掘引擎的框架CloudDM。不同于基于网格的分布式数据挖掘框架, CloudDM 利用开源云计算平台 Hadoop 处理海量数据的能力, 以面向服务的形式支持分布式数据挖掘应用的设计和运行, 并描述面向服务的云数据挖掘引擎系统的关键部件和实现技术。依据面向服务的软件体

2、系结构和基于云平台的数据挖掘引擎, 可以有效解决海量数据挖掘中的海量数据存储、数据处理和数据挖掘算法互操作性等问题。关键词: 云计算; Hadoop; 数据挖掘; 面向服务的体系结构 (SOA) ; 作者简介:向晓军 (1986) , 女, 湖北恩施人, 南京大学计算机科学与技术系硕士研究生, 主要研究领域为数据挖掘, 云计算等。作者简介:高阳 (1972) , 男, 江苏淮阴人, 2000 年于南京大学计算机科学与技术系获得博士学位, 现为南京大学计算机科学与技术系教授、博士生导师, 主要研究领域为强化学习, 智能 Agent, 云计算等。作者简介:商琳 (1973) , 女, 河北曲阳人,

3、 2004 年于南京大学计算机科学与技术系获得博士学位, 现为南京大学计算机科学与技术系副教授, 主要研究领域为粗糙集, 机器学习, 数据挖掘等。作者简介:杨育彬 (1977) , 男, 江西新干人, 2003 年于南京大学计算机科学专业获得博士学位, 香港中文大学博士后, 澳大利亚新南威尔士大学访问学者, 现为南京大学计算机科学与技术系副教授, 主要研究领域为基于内容的视觉媒体检索, 数据挖掘, 人工智能等。收稿日期:2011-06基金:国家自然科学基金 (61035003) Research on Service-Oriented Data Mining Engine Based on C

4、loud ComputingAbstract: The scalability of data mining algorithms is restricted when dealing with large-scale data. There are sig-nificant differences in a wide range of application areas and requirements for knowledge discovery process. It is fundamental to provide effective formalisms to design di

5、stributed data mining application and support their efficient execution. This paper proposes a novel service-oriented data minging engine based on cloud computing framework, which is named as CloudDM. Differentiating from grid-based distributed data mining framework, CloudDM ex-ploits the capacity o

6、f open source cloud computing platform-Hadoop for large-scale data analysis, supports the design and execution of distributed data mining applications according to SOA (service-oriented architecture) . Moreover, it discusses and reports the key component functions and implementation technologies. Ac

7、cording to the design principles of SOA and data mining engine based on cloud computing, the paper can solve the problems in massive data mining systems, such as big data storage, data processing and interactive operation of algorithms, etc.Keyword: cloud computing;Hadoop;data mining;service-oriente

8、d architecture (SOA) ; Received: 2011-061 引言最近 20 年, 互联网及相关技术得到广泛应用计算能力越来越强大, 而且呈现无所不在的趋势。由于信息技术和高性能计算的发展, 在科学研究、工业、商业等领域产生的数据量以前所未有的速度增长。技术发展的同时也为人们从海量数据中发现知识提出了新的挑战。而且随着物联网等技术的发展, 在生物学、医学、天文地球学等领域存储的数据量和数据复杂性还在不断增长。大规模文本数据、视频数据、Web 数据等难于被人们直观理解, 特别是数据中隐藏的模型和模式。数据挖掘算法从海量数据中抽取可以被人们直观理解的、有用的、新颖的知识, 帮

9、助商业决策和科学分析。如在生物学领域, 可以使用神经网络和隐马尔可夫模型来发现和匹配 DNA 中的子序列在视频研究领域, 利用机器学习可以发现视频信息中存在的异常行为。在现实环境中, 绝大部分海量数据都是以分布式的形式存在的。由于网络带宽的限制, 数据的私有性、安全性、规模性, 以及系统不兼容性等原因把所有的数据源集中到一个地方, 进行集中式数据挖掘往往是不现实的。传统的单机数据挖掘算法可以处理本地的数据, 但不适合分布式数据和计算的环境。分布式数据挖掘1以并行的方式执行多个数据挖掘任务, 适合于在分布式数据和计算环境下发现数据模式。目前, 分布式数据挖掘技术主要有基于主体 (Agent) 的

10、分布式数据挖掘、基于网格技术的分布式数据挖掘和新兴的基于云计算的分布式数据挖掘。基于Agent 的分布式数据挖掘技术利用 Agent 的自治性、主动性、自适应性、协作特性等优势, 可以解决分布式数据挖掘中的数据安全和隐私保护问题, 减少用户对数据挖掘过程的干预, 动态选择数据源实现多 Agent 的合作, 挖掘全局知识模型等。然而, 在利用 Agent 进行分布式数据挖掘时, 网络节点之间的通信开销以及 Agent 之间如何协作获得较好的全局结果是需要研究的问题。而且, 当面临大规模数据集时, 每个 Agent 的局部处理方式还是集中式的, 算法和系统的性能和伸缩性受到制约。网格和云计算的兴起

11、, 可以作为分布式计算的基础设施, 为数据密集型和计算密集型的分布式数据挖掘应用提供有效的计算支持。网格的目标是利用虚拟组织之间动态、异构资源的共享来解决大规模的科学问题。云计算作为目前学术和工业研究的热点, 是网格技术的发展和演化, 在应用目标、体系结构和技术方面, 与网格计算具有很多的共性, 但是在安全、编程模型、商业模型、计算模型、支持的应用和抽象化等方面, 云计算和网格计算具有较大的差异。云计算更侧重于利用虚拟化的技术, 在规模经济效益的驱动下, 按需地为用户提供计算能力、存储空间、平台和服务。就分布式数据挖掘应用而言, 云计算平台中数据中心可以存储 PB (PetaBytes) 级的

12、海量数据, 根据数据挖掘应用的需求动态实现资源的分配, 保证数据挖掘算法的可扩展性采用容错机制可以保证数据挖掘应用的可靠性。基于开源的云计算平台 Hadoop, 利用 Map Reduce2编程模型实现的数据挖掘算法处理大规模数据的能力已在机器翻译、信息检索、图像和视频处理等领域得到证实3-4。数据挖掘工具提供商要求用户按照提供商指定的方式调用数据挖掘工具中的功能。数据挖掘过程与数据挖掘工具紧密耦合, 而且各个工具提供商之间没有统一的标准, 不同数据挖掘工具之间的互操作性成为问题, 限制数据挖掘系统的可扩展性和挖掘工具的使用范围。面向服务的体系结构 (serviceoriented archi

13、tecture, SOA) 技术可以实现服务提供者与服务消费者之间的松耦合, 服务消费者以标准接口动态绑定不同的服务提供者。在数据挖掘应用中利用 SOA技术可以实现各个模块的动态组合, 有效利用各种数据挖掘工具, 解决数据挖掘系统模块之间互操作问题, 保证数据挖掘应用的可扩展性。在商业和科学研究领域, 实现统一的分布式数据挖掘应用是非常复杂的, 因为分布式数据挖掘应用具有数量巨大的应用场景, 如生物学、天文学、医学、信息科学等, 以及不同层次的用户需求, 需要有效的形式来对分布式数据挖掘应用进行建模, 并且支持其在分布式基础设施上调度执行。面向服务的工作流系统可以实现分布式数据挖掘应用建模和调

14、度工作。更具体地说, 使用面向服务的工作流系统, 可以将单个的组件模块组合成复杂的有向依赖图, 这个有向依赖图是分布式数据挖掘应用的抽象表示, 由面向服务的工作流引擎管理各个组件之间的数据流和控制流。为了充分利用云计算平台处理海量数据的能力, 在统一的平台中实现各种类型的分布式数据挖掘应用, 满足商业和科学研究领域知识发现的需求, 本文在云计算平台 Hadoop2的基础上, 提出了面向服务的云数据挖掘引擎框架, 以面向服务的形式支持分布式数据挖掘应用的设计和运行, 并描述了面向服务的云数据挖掘引擎中的关键模块的功能和实现技术。本文组织结构如下:第 2 章介绍分布式数据挖掘;第 3 章重点描述面

15、向服务的云数据挖掘引擎框架的设计和系统关键模块的实现;第 4 章总结全文。2 分布式数据挖掘传统的数据挖掘系统建立在数据是集中存放的假设上, 在集中点进行处理。而在现实环境中, 大规模的数据往往分散存储在不同的地理位置。一些产生大规模数据的软件系统本身以分布式形式运行, 软件系统生成的数据也是分散存储在各个运算节点上的, 如连锁经营的超市每天产生的事务数据都是存储在各个营业点。另外, 海量的数据也有可能因为技术原因或者安全考虑, 不能集中进行处理, 如一些涉及到商业机密的数据, 如果被复制到集中点进行处理, 就有泄密的可能性。可见, 集中式的方法不适合分布式的数据和计算环境。而且, 集中式数据

16、挖掘算法的基本特征和缺乏对分布式资源的合理利用, 也使得数据挖掘算法不能在分布式环境顺利完成任务。因此, 从海量、分布式的数据中发现知识, 需要研究分布式数据挖掘技术。分布式数据挖掘是使用分布式技术, 以并行的方式从位于不同地理位置的分散数据中发现知识的过程。分布式数据挖掘利用分布式环境中的资源来提高算法的性能, 特别是处理大规模数据时, 保证算法的可扩展性。目前, 分布式数据挖掘技术主要有基于主体的分布式数据挖掘、基于网格的分布式数据挖掘和基于云平台的分布式数据挖掘等。2.1 基于主体的分布式数据挖掘Agent 具有自主性、自治性、协作性和自适应等特征, 利用 Agent 的这些特征可以克服

17、分布式数据挖掘中存在的一些问题:Agent 可以按照数据本地访问机制读写数据, 强化了本地数据的安全和隐私保护;用户初始化 Agent 后, 由 Agent主动对数据挖掘过程进行调整, 减少了用户对数据挖掘过程的干预;数据源发生变化时, Agent 可以动态地选择数据源, 使得静态的数据挖掘方法可以处理动态变化的数据;Agent 的协作性可以对分布式数据进行分布、并行的数据挖掘, 由局部的模型构建全局的知识模型。目前, 多主体系统 (multi-agent system) 广泛应用在分布式数据挖掘系统中。基于多主体的分布式数据挖掘系统的一般体系结构如图 15所示。多数基于多主体的分布式数据挖掘

18、框架采用类似于图 1 的体系结构, 提供通用的结构化组件。它们使用标准的 Agent 通信语言, 如 KQML (know-ledge query and manipulation language) 、FIPA-ACL (foundation for intelligent physical agents-agent communication language) 来方便 Agent 之间的交互。Fig.1 General architecture of multi-agent data mining systems 图 1 多主体分布式数据挖掘系统一般结构 下载原图基于多主体的分布式数据挖

19、掘系统中通常包含如下核心组件5。Interface Agent (用户 Agent) :负责与用户或其他用户 Agent 的交互。它接收用户提交的需求, 并将挖掘到的知识模型提交给用户。Facilitator Agent (协调 Agent) :负责激活和同步不同的 Agent。它根据用户提交的需求制定工作计划, 并保证工作计划的完成。Mining Agent (数据挖掘 Agent) :实现特定的数据挖掘技术和算法。Result Agent (结果 Agent) :跟踪数据挖掘 Agent 的活动, 从数据挖掘 Agent中获取挖掘结果, 并与协调 Agent 合作, 将挖掘到的结果展示给用

20、户。Data Agent (数据 Agent) :维护每个数据源的元数据信息。它负责为数据挖掘Agent 获取数据集。除了以上核心组件外, 不同的基于多主体分布式数据挖掘系统还包含其他组件, 如 Broker Agent、Query Agent、Ontology Agent、Mobile Agent 等。利用 Agent 进行分布式数据挖掘的关键问题是如何整合多个 Agent 挖掘的局部结果。为了解决此问题, 国内外学术研究机构开发了多个基于 Agent 的分布式数据挖掘系统, 典型系统包括 PADMA6 (parallel data mining agents) 、BODHI7 (Besei

21、zing knowledge through distributed heterogenous induction) 、JAM8 (Java agents for meta-learning) 等。PADMA 是由 Kargupta 等人提出的基于多主体并行数据挖掘系统。在 PADMA 中, 由协调 Agent 对数据挖掘 Agent 的局部结果进行聚类, 形成全局结果。各个本地 Agent 并行在多个站点进行数据聚类, 提高了并行的效率, 本地 Agent 之间不进行通信, 减少了网络的通信量。但是 PADMA 不能很好地解决数据源之间的相关性问题。Kargupta 等人提出了 BODHI

22、分层主体的分布式数据挖掘系统, 采用集合数据挖掘模式 (collective data mining) 。首先选择正交数据模型, 然后在每个站点计算基本正交系数, 最后将局部的模型进行合并。另外, BODHI 提供了 Agent工作站, 方便 Agent 运行和 Agent 之间的消息交换。当 Agent 需要使用其他数据源时, 就携带当前状态、数据、知识移动到目标站点继续执行。BODHI 系统可以解决数据相关性问题, 但是需要基于数据集给出正交模型, 增加了系统的复杂性。Prodormidis 等人提出了基于分布式主体的数据挖掘系统 JAM, 使用元数据挖掘技术 (meta-learning

23、) 。包含各种数据挖掘算法的 Agent 在各个站点进行数据挖掘, 利用 meta learning Agent 来综合各个站点获得的知识, 并与本地站点获得的知识进行合并。JAM 系统采用元数据学习技术, 实现了集中式和分散式整合局部结果的两种方法, 具有很强的灵活性。另外, 使用 meta learning Agent 可以处理站点之间数据相关性问题, 减少无关结果的产生。在国内, 中科院首先研究了基于主体的分布式挖掘系统, 并研制了多策略数据挖掘系统 MS-Miner9。罗平等人在调度策略优化通讯代价方面取得重要成果10-1。德国人工智能研究中心 Matthias 等人采用主体进行分布式

24、聚类, 通过统计密度估计和信息理论进行样本筛选, 以减少站点之间的通讯12。利用 Agent 的自主性、自治性、协作性和自适应等特征解决了分布式数据挖掘中的一些问题, 但是 Agent 之间的通信开销和综合多个 Agent 挖掘到的局部结果, 构成全局的知识模型是需要继续研究的问题。更重要的是, 数据挖掘Agent 所进行的操作不仅是对局部数据的处理, 还是一种集中式的处理方式, 当面临大规模数据集时, 数据挖掘算法的可伸缩性和系统的性能受到制约。2.2 基于网格的分布式数据挖掘借鉴电力网的概念, Foster 等人提出了网格 (grid) 的概念, 其目的是使用户能像使用电力一样方便地使用网

25、格计算能力。网格不同于传统的分布式计算, 它更关注大规模动态资源共享, 并提供新的应用。在某些情况下, 它主要面向高性能计算系统。网格作为分布式计算基础设施, 为集成和使用远程计算资源、存储资源、软件资源和数据提供协议和服务支持。网格的体系结构包括五层沙漏结构、开放网格服务体系结构 (open grid services architecture, OGSA13) 和 Web 服务资源框架 (Web services resource framework, WSRF14) 。与五层沙漏结构以协议为中心不同, OGSA是以服务为中心的结构, 可以定义网格服务, 提供标准模型来使用网格资源, 以及

26、由网格服务组合分布式应用。OGSA 的体系结构如图 2 所示14。WSRF 是在 OGSA 的基础上发展起来的, 它给出了一套使用 Web 服务创建、访问资源状态和管理状态资源生命周期的技术规范。WSRF 也属于 OGSA 架构, 区别在于 OGSA 中以网格服务的形式使用资源, 而在 WSRF 中以 Web 服务形式提供资源服务。Web 服务是否有状态是 WSRF 框架下的 Web 服务与标准 Web 服务的重要区别。数据挖掘算法和知识发现过程同时具有计算密集性和数据密集型的特点, 因此网格提供了计算和数据管理的基础设施来支持分散的、并行化的数据挖掘过程。基于网格的分布式数据挖掘系统的关键问

27、题是各个站点之间的资源管理问题。目前利用网格基础设施设计和实现的分布式数据挖掘系统都是通过网格中间件来解决资源管理问题的。除了解决分布式数据挖掘系统中的资源管理问题, 网格中间件还解决了安全、信息服务、通信、容错和可移植性问题。其中应用比较广泛的网格中间件有 Globus Toolkit15、g Lite、Unicore。特别是Globus Toolkit, 在学术研究和数据密集型的网格应用中被广泛使用, 为实现网格系统的事实标准。另外, 为了解决远程访问和与标准 Web Services 的互操作问题, 典型的基于网格的分布式数据挖掘系统基本上是按照 WSRF 体系结构来设计实现的。Fig.

28、2 The architecture of OGSA 图 2 OGSA 的体系结构 下载原图表 116给出了典型的基于网格分布式数据挖掘系统的简要对比。Data Mining Grid16是一个复杂问题的解决环境, 可以用来实现不同应用领域内各种数据分析和知识发现过程, 如自动制造、生物信息学、医学和环境生态等领域。在网格中间件的基础上, Data MiningGrid 提供了数据操作、资源配置、应用查询、任务监控和日志管理等功能, 支持分布式知识发现应用在网格中执行。总的说来, Data Mining Grid 是一个网格软件, 既具有中间件的一般功能, 还包含一些特殊的功能来支持复杂数据挖

29、掘任务的开发和执行。Grid Minner17的主要目的是涵盖网格知识发现的主要过程, 关键模块有Mediation Service、Information Service、Resource Broker 等, 这些是GridMinner 的基础服务。Grid Minner 的核心服务是建立在基础服务上的, 核心服务包含数据集成服务、进程管理服务、数据挖掘服务和联机分析处理 (online analytical processing, OLAP) 服务。Knowledge Grid18提供了一个支持分布式数据挖掘应用设计和运行的服务框架。利用基础的网格服务, Knowledge Grid 实现

30、了支持分布式知识发现的特定服务。另外, 它定义了机制和高层服务来发布和查询资源信息, 表示和管理分布式数据挖掘应用。工作流在 Knowledge Grid 中发挥了重要的作用。分布式数据挖掘应用首先由可扩展标记语言 (extensible markup language, XML) 工作流形式表示, 称为概念模型, Knowledge Grid 接收客户端提交的概念模型, 将其转化为更加形式化的执行计划, 并匹配资源, 调用分布式数据挖掘应用执行。DMGA19 (data mining grid architecture) 是一种灵活的数据挖掘网格体系结构, 由一般的数据网格和特定的数据挖掘网

31、格服务组成。Weka G20是 DMGA的实现, 它利用了 Weka 和 Globus Toolkit 4。DMGA/Weka G 的主要优点包括:(1) 可适应复杂数据挖掘过程的需求;(2) 方便用户使用, Weka G 的用户界面和 Weka 一样;(3) 可以灵活加入新的数据挖掘服务;(4) 利用协商协议选择合适的数据挖掘服务;(5) DMGA 提供服务组合机制, 可以构成复杂的数据挖掘工作流;(6) Weka G 支持数据挖掘算法的并行实现。在国内的研究中, 中科院计算所也在主体网格基础上对分布式数据挖掘技术进行了研究21。2.3 基于云平台的分布式数据挖掘云计算与网格计算具有很多的共

32、性, 但是在安全、编程模型、商业模型、计算模型、支持的应用和抽象化等方面, 云计算和网格计算具有较大的差异。云计算更侧重于利用虚拟化的技术, 在规模经济效益的驱动下, 按需地为用户提供计算能力、存储空间、平台和服务。Table 1 Comparison of some grid-based data mining systems 表 1 基于网格的数据挖掘系统的对比 下载原表 云计算的发展为解决海量数据挖掘问题提供了新的思路。Hayes 明确指出云计算为分布式数据挖掘提供了新兴实用的平台22。Grossman 等人提出了一种“云”架构, 包括存储云和计算云, 用于支持大规模分布式数据的存储和分

33、析23。中国移动“Big Cloud”项目已建立 256 个 PC 服务器节点, 1 024 个 CPU, 256 TB 的硬盘空间, 其应用主要是数据挖掘、系统评估、搜索等。中科院计算所研制的并行数据挖掘平台 PDMiner 提供并行挖掘算法和 ETL (extract-transform-load) 操作组件, 可实现 TB 级海量数据的并行挖掘分析处理。Hadoop 作为开源的云计算平台, 在商业和学术领域得到广泛应用, 特别是利用Hadoop 平台实现分析海量数据的数据挖掘算法, 从海量数据中挖掘商业价值。如 Papadimitriou 等人基于 Hadoop 云平台, 利用 Map

34、Reduce 编程模型实现了分布式协同聚类算法, 能够分析和处理 PB 级的数据24;Chu 等人研究了多类机器学习算法的 Map Reduce 化, 如 Nave Bayes、SVM (support vector machine) 、ICA (independent component analysis) 、PCA (principal component analysis) 、EM (expectation maximization) 等25;Kwon 等人研究了天文仿真领域的聚类问题, 并在 Map Reduce 编程模型上提出和实现聚类算法, 实验结果显示, 在 8 个节点的条件下,

35、 其算法速度比传统实现提高 17 倍26;Apache 旗下的 Mahout 项目提供了 Map Reduce 化的机器学习算法的集合 (http:/lucene.apache.org/mahout) , 如协同过滤、频繁项目集、聚类、分类算法等。以上研究工作都说明云平台, 特别是 Hadoop 平台是解决数据挖掘算法可扩展性问题的一个有效方法。3 面向服务的云数据挖掘引擎为了充分利用云计算的优势, 采用 SOA 的体系结构设计了基于 Hadoop 的海量数据挖掘引擎框架 Cloud DM。利用 Cloud DM 可以设计满足不同商业和科学领域需求的分布式数据挖掘应用, 并提供任务运行平台。C

36、loud DM 的体系结构如图 3 所示。Cloud DM 分为两个部分:服务端和客户端。服务端由一系列符合 WSRF 标准的 Web Services 组成, 如信息服务、资源配置服务、数据挖掘服务, 这些 Web Services 运行在 Web Services 的容器中, 等待远程或者本地的调用。客户端主要完成资源元数据的发布操作、分布式应用的设计和调度、任务的监控等功能。下面详细描述 Cloud DM 的一些关键模块及其相互关系。3.1 信息服务模块在 Cloud DM 中, 存在各种不同类型的资源, 如数据资源、算法和工具资源、CPU 资源、存储资源等。其中 CPU 资源、存储资源

37、、带宽资源为普通资源, 可以利用一些中间件 Globus Toolkits、g Lite 等发现和管理。对于数据、算法、工具等特殊资源而言, 分布式数据挖掘应用的设计和运行依赖于对这些异构资源的有效管理。在分布式数据挖掘应用的设计阶段, 将不同资源组合为实现一定目标的分布式数据挖掘任务, 此时设计人员需要知道哪些资源是可用的、资源的位置、访问方式、资源何时可用等信息。资源的管理首先需要一种机制来表示资源, 资源元数据可有效表示分布式环境中不同类型的资源。资源元数据是一个 XML 格式的文档, 它描述了资源的特征和访问方法。通过资源元数据, 能够回答设计人员提出的有关资源的问题。信息服务是符合

38、WSRF 标准的 Web Services, 主要完成数据资源、算法和工具资源元数据的管理功能。对外主要提供 publish 和 search 操作接口。其中publish 接口接收用户提交的资源元数据, 并调用底层服务将描述资源 XML 元数据文档保存在存储仓库中, 如关系数据库、XML 数据库等。用户查询资源时, 调用 search 接口, 输入查询条件, 如数据集名称、格式或者数据挖掘算法的类别和名称等, search 接口返回满足查询条件的资源元数据的地址。3.2 资源配置服务模块各个领域对数据挖掘的应用需求不同, 如生物信息学、医学、计算机科学等领域的知识发现过程不可能采用同样的过程

39、和模式。需要一种有效的建模机制, 可以灵活地设计适应不同需求的分布式数据挖掘应用。工作流是一种有效的建模机制, 可以将各种类型的 Web Services 组合成分布式数据挖掘应用。不同需求的数据挖掘应用可以以工作流的形式表示。在数据挖掘工作流中, 节点表示数据、数据挖掘算法、可视化工具等, 边表示节点与节点之间的依赖关系。Fig.3 The architecture of service-oriented data mining engine based on cloud computing 图 3 面向服务的云数据挖掘引擎框架结构 下载原图用户在客户端提供的可视化界面上设计分布式数据挖掘应

40、用, 分布式数据挖掘应用的图形化是一种概念模型, 它是对分布式数据挖掘应用的抽象, 可以使用UML (unified modeling language) 活动图、Petri net 等表示。分布式数据挖掘应用的概念模型传递给资源配置服务, 完成资源匹配和执行工作。为了能够执行用户设计的分布式数据挖掘应用, 资源配置服务需要实现如下几个关键功能:(1) 概念模型的转换用户提交的概念模型是分布式数据挖掘应用的图形化表示, 需要将概念模型转化为抽象的执行计划。在 Cloud DM 中, 抽象的执行计划和实例化的执行计划以业务流程执行语言 (business process execution la

41、nguage, BPEL) 形式表示。一般而言, 在抽象执行计划中没有指定具体的物理资源, 而是描述资源的一些约束条件。(2) 抽象执行计划的实例化抽象执行计划中有些资源只描述了约束条件或者标准, 如操作系统、硬件平台、软件版本等, 为了调度执行, 资源配置服务调用信息服务, 查询满足约束条件的资源, 将抽象的执行计划转化为具体的执行计划。具体的执行计划以 BPEL 形式表示, 结构与抽象执行计划相同, 不同的是, 在实例化的执行计划中, 指定分布式数据挖掘应用中需要的每个资源的物理位置, 如数据挖掘服务的位置等。根据资源的可用情况, 可以实例化不同的执行计划。对于运行时间比较长的数据挖掘应用来说, 在执行的时候实例化抽象的资源比在执行之前实例化更有用。实际上, 被选中用来执行任务的具体资源可能在整个数据挖掘应用启动时是可用的, 但是在执行特殊任务时有可能不可访问。另一方面, 新的资源也可能不断加入到 Cloud DM 中。因此, 为了更有效地执行数据挖掘应用, 可以将这些因素考虑进去。为了解决这个问题, 可以在实例化的执行计划中提供符合抽象资

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报