Computer Engineering and Applications计算机
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
与应用2010,46(28)
1 引言
在现实的应用环境中,大部分海量数据库都是以分布式
形式存在的,将这些分布式存储的数据集中到一个数据仓库
中进行集中式挖掘处理,这样会造成分布式数据的安全性、保
密性方面以及挖掘效率等问题,也给网络通信带宽提出很高
的要求。为了解决这样的问题,传统的分布式数据挖掘已经
做了不少研究,其中Agent技术是众多学者应用最广泛的 [1]。
文献[2]中提出的 JAM系统是一种面向元学习的基于 Java和
多Agent的分布式系统。文献[3]中提出的Kensington数据挖
掘体系结构,它是基于 3层C/S结构的并行分布式数据挖掘系
统。文献[4]中提出的BODHI系统是一种基于Agent的分布
式挖掘系统,主要利用Agent来交换信息,通过较低的网络通
信负载来保证局部和全局模型的正确性。在文献[5]中,Krish-
naswamy等人也提出了基于分布式Agent的数据挖掘平台,主
要是通过 Internet来传输数据挖掘服务。文献[6]提出了基于
移动Agent的分布式数据挖掘,通过移动Agent来发现各种数
据挖掘所需的服务从而更好地为数据挖掘服务,从而解决了
由于网络拥塞、不安全以及不可靠所造成的各种问题。Kar-
gupta等提出了 PADMA分布式数据挖掘模型,它的主要功能
就是利用Agent技术来完成同构数据站点的分布式数据挖掘[7]。
Bailey等提出了基于 Java和移动Agent的分布式数据挖掘系
统 Papyrus,该系统利用Agent技术完成广域网内异构数据站
点之间的聚类分析[8]。上述这些分布式系统都较好地解决了
传统的集中式数据挖掘所带来的扩展性弱等问题,但这些分
布式系统无法动态发现合适的算法、数据集以及各种计算资
源,资源之间的共享和协作机制较差。
从文献[9-10]中可以看出,网格是处理计算和数据密集型
应用的分布式并行计算平台,具有自适应性、动态性以及良好
的扩展性等优势,而分布式数据挖掘算法和知识发现过程正
是一个计算和数据密集型应用,鉴于网格的优势,近年来许多
学者就网格平台下分布式数据挖掘进行了深入的研究。An-
tonio Congiusta等提出了基于网格服务的分布式数据挖掘应
基于网格服务的分布式数据挖掘
邓 勇,王汝传,邓 松
DENG Yong,WANG Ru-chuan,DENG Song
南京邮电大学 计算机学院,南京 210003
School of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,China
E-mail:wangrc@njupt.edu.cn
DENG Yong,WANG Ru-chuan,DENG Song.Distributed data mining on grid services.Computer Engineering and Appli-
cations,2010,46(28):6-9.
Abstract:This paper presents distributed data mining platform on grid services,which combines grid services with distribut-
ed data mining to solve problems of traditional data mining.Meanwhile,this paper implements Distributed BP Classification
Algorithm on Grid Services(DBPC-GS).Simulation experiments show that contrasted with concentrative algorithms,the aver-
age consumptive time of DBPC-GS decreases apparently,and CPU load is reduced about 40% with increments of grid codes.
Key words:distributed data mining;grid service;BP net;classification
摘 要:在分析传统分布式数据挖掘平台不足的基础上,结合网格服务的思想,提出了基于网格服务的分布式数据挖掘平台,同
时在该平台上,实现了分布式BP网络分类算法(GBPC-GS)。仿真实验表明,与单机环境相比,随着网格节点数增加,算法的平均
耗时明显下降,同时CPU的负载也下降了约40%。
关键词:分布式数据挖掘;网格服务;BP网络;分类
DOI:10.3778/j.issn.1002-8331.2010.28.002 文章编号:1002-8331(2010)28-0006-04 文献标识码:A 中图分类号:TP311
基金项目:国家自然科学基金(the National Natural Science Foundation of China under Grant No.60973139,No.60773041,No.61003039,
No.61003236);江苏省自然科学基金(the Natural Science Foundation of Jiangsu Province of China under Grant No.BK2008451);
省级现代服务业发展专项资金;国家和江苏省博士后基金(No.0801019C,No.20090451240,No.20090451241,No.20100471353,
No.20100471355,No.20100471356);江苏省高校科技创新
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
项目(No.CX09B_153Z,No.CX10B-260Z,No.CX10B-261Z,No.
CX10B-262Z,No.CX10B-263Z);江苏省六大高峰人才项目(No.2008118);江苏省计算机信息处理技术重点实验室基金。
作者简介:邓勇(1977-),男,博士生,主要研究方向为网格计算、计算机软件等;王汝传(1943-),男,教授,博士生导师,主要研究方向为计算机软
件、计算机网络、信息安全、移动代理技术等;邓松(1980-),男,博士生,主要研究方向为网格计算、数据挖掘、计算机软件等。
收稿日期:2009-08-11 修回日期:2010-08-23
6
2010,46(28)
用,同时指出在知识网格平台下,利用网格服务来搜索网格资
源、执行分布式数据挖掘算法等[11-13]。Domenico Talia等在文
献[14]中指出了WSRF已经成为开发网格应用的标准,同时利
用基于WSRF的Weka4WS数据挖掘工具在网格平台下实施
具体的分布式数据挖掘。Mario Cannataro等为了在网格下更
好实施分布式数据挖掘,提出了知识网格系统,并在文献[15]
中详细地描述了知识网格的架构以及具体的实施分布式数据
挖掘技术细节。以上网格下分布式数据挖掘应用都是在以
Globus Toolkit为网格中间件的基础上开发实现的,开发和部
署过程较为复杂,而GT4 WS-core是Globus Toolkit的 Java实
现,为了简化整个网格服务的开发过程同时充分体现网格本
身的优势,本文以GT4 WS-Core为基础来开发和部署分布式
数据挖掘中所使用的网格服务,从而可以大大简化整个分布
式数据挖掘开发和部署的过程。
主要工作如下:(1)提出了以GT4 WS-Core为基础的分
布式数据挖掘框架,并在此框架下,阐述了基于网格服务的分
布式数据挖掘客户端和服务端开发过程;(2)在上述分布式平
台基础上,实现了基于网格服务的分布式BP网络分类算法;
(3)对分布式BP网络分类算法和传统集中式BP分类算法进
行了比较实验,并进行了性能分析。
2 基于网格服务的分布式数据挖掘
2.1 体系结构
基于网格服务的分布式数据挖掘就是在网格中间件基础
上,开发和部署网格服务来完成数据挖掘和知识发现过程的
各个步骤,良好的分布式数据挖掘体系结构使得系统具有较
强的可扩展性以及较小的通信代价。整个基于网格服务的分
布式数据挖掘体系结构由客户端和服务端两部分组成,如图 1
所示。其中客户端主要提供图形化界面供用户输入各种参数
以及最后挖掘结果的可视化显示,服务端主要包括核心网格
服务、各种数据挖掘(Data Mining,DM)算法资源、待处理的
数据资源以及计算资源等,所有这些资源都以网格服务的形
式部署在服务端,整个客户端和服务端的交互也是通过网格
服务进行通信。
其中客户端主要包括参数输入和可视化模块,用户通过
参数输入模块输入具体数据挖掘算法所需要的参数以及远程
网格服务的URL地址等。可视化模块主要通过各种可视化
的方法对整个数据挖掘过程进行可视化,使得整个分布式数
据挖掘过程更直观。
服务端主要包括资源发现服务、数据传输服务、挖掘结果
显示服务以及各个部署在远程服务器上的数据挖掘DM算法
服务等。用户在通过客户端输入相应参数后通过资源发现服
务来找到已经部署相应数据挖掘算法服务和计算资源的
URL,利用此URL来远程执行数据挖掘过程。由于在基于网
格的分布式数据挖掘过程中,待挖掘的数据资源不一定在用
户已经选择的计算资源上,为了处理这些数据必须通过数据
传输服务把待处理的数据传输到用户选择的计算资源上。而
且为了方便用户监控整个分布式数据挖掘过程,系统要对整
个挖掘过程进行可视化操作,最后通过挖掘结果显示服务来
把最终挖掘得到的结果显示给用户。
在体系结构中采用网格服务来开发和部署分布式数据挖
掘应用,网格服务是建立在Web服务基础上的,一种动态、有
状态的特殊的Web服务,它既能保留Web服务的优势,而且能
够克服传统Web服务的缺陷[16]。而传统的分布式数据挖掘的
体系结构大都是利用Agent机制来进行分布式数据挖掘的,而
基于网格服务实现分布式数据挖掘理论上具有无限可扩展性
和良好的伸缩性,且网格服务很容易修改成具有安全特征的
网格服务。
2.2 服务端
在基于网格服务的分布式数据挖掘应用中,服务端开发
是最重要的一部分,整个数据挖掘过程都是在服务端完成的,
这样既能简化客户端的开发,又能充分利用网格资源共享和
协同处理的优势。从图 1中可以看出整个服务端的开发主要
就是利用GT4 WS-Core来开发挖掘结果显示服务以及各种
DM算法服务等,并在数据处理过程中利用已有的资源发现
服务和数据传输服务来进行计算资源的发现以及数据的传
输。故在本文的服务端开发中,各种DM算法服务以及挖掘
结果显示服务的开发是最重要的,而对于不同功能的网格服
务开发步骤是一致的,只是具体的参数不同。下面以数据挖
掘算法为例说明如何利用GT4 WS-Core来开发网格服务,整
个步骤如下所示:
(1)配置开发网格服务相应的环境变量;
(2)编写各个网格服务对应的 WSDL、WSDD、JNDI、
build.xml以及必要的属性文件。其中WSDL文件定义了具体
的网格服务所执行的操作以及必要的参数。WSDD文件为网
格容器提供了有关网格服务本身的一些信息,提示网格服务
容器如何发布网格服务。JNDI是查询对象所使用的一个应
用程序编程接口(API),通过调用这个API,应用程序就可以
确定由一个易读的 JNDI名所确定的资源和其他程序对象的
位置。build.xml主要用来对GT4 WS-Core编译文件中的操
作进行协调。属性文件主要包含指导各种编译任务通过.
GAR的创建和部署过程所需的属性;
(3)编写各种DM算法的网格服务端代码。各种DM算法
网格服务代码主要是根据WSDL文件中定义的各种算法参数
以及各种操作方法进行编写,客户端通过输入参数可以调用
相应的网格服务远程执行分布式数据挖掘。
定义 1(网格服务,Grid Service)在具体的基于网格服务
的应用开发中,一个完整的网格服务可以定义为六元组:GS=
{WL,WD,JD,BUILD,P},其中WL表示网格服务所需的WS-
DL文件,WD表示网格服务的部署描述符WSDD文件,JD表
提出请求
客户端
参数输入 可视化
核心网格服务WS-Core
资源发现
服务
数据传输
服务
挖掘结果
显示服务
服务器1
DM算法资源
计算资源
服务器2
DM算法资源
计算资源
服务器n
DM算法资源
计算资源
服
务
端
……
图1 基于网格服务的分布式数据挖掘体系结构图
邓 勇,王汝传,邓 松:基于网格服务的分布式数据挖掘 7
Computer Engineering and Applications计算机工程与应用2010,46(28)
示 JNDI应用程序编程接口,BUILD表示编译网格服务所需的
build.xml文档,P表示编译网格服务所需的属性文件。
2.3 客户端
一个完整的网格应用程序除了服务端程序,还需要能够
灵活调用相应网格服务的客户端代码。整个网格数据挖掘应
用客户端开发的步骤如下所示:
(1)利用生成的类为远程的网格服务创建一个代理存根;
(2)通过WS-Core中自带的ContainerRegistryService服务
来查询已有的数据挖掘网格服务,用户根据需要选择在哪几
个远程节点上执行数据挖掘过程;
(3)用户根据待挖掘的数据是否处于远程计算节点上,来
决定是否调用数据传输服务把本地数据传输到指定的远程计
算节点上;
(4)选择需要调用数据挖掘网格服务的地址 serviceURL,
根据这个具体的服务地址,对数据进行分布式数据挖掘;
(5)对于挖掘完成的结果,用户调用挖掘结果显示服务来
把分布式数据挖掘的结果可视化。
用户利用客户端可以很好地监控网格下分布式数据挖掘
的整个过程,并且对分布式挖掘结果进行有效的可视化显示。
3 基于网格服务的分布式BP网络分类算法
3.1 算法描述
针对BP网络算法对于海量数据训练时间长的缺陷,在图
1所示的分布式平台下,实现了基于网格服务的分布式BP网
络分类算法(Distributed BP Classification Algorithm on Grid
Services,DBPC-GS)。主要思想是首先通过编写BP算法网格
服务所需的WSDL、WSDD文件等来开发和部署该网格服务;
其次对海量数据进行数据分块,然后分别通过数据传输服务
把数据传输到部署BP算法服务的服务端;最后通过客户端的
网格门户来并行地远程调用和执行BP分类算法,然后通过可
视化技术把分类结果在客户端显示出来。
一个完整的网格平台下算法的实现包括客户端和服务端
两部分,下面分别从服务端和客户端来描述基于网格服务的
分布式BP网络分类算法,具体的思想如下所示:
算法1 基于网格服务的分布式BP网络分类算法
输入:BP算法服务地址BPGSH;输入层节点数 InCode,隐层节点
数HideCode,输出层节点数OutCode,学习效率StudyEfficient;算法迭
代次数Echo_Time;算法精度Precision。
输出:分类精度ClassificationPrecision。
Begin {
服务端:
1.Receive(InCode,HideCode,OutCode,StudyEfficient,Echo_Time,
Precision,BPGSH,i,SampleData[i]);//从客户端接收BP算法的参数、
具体的BP算法服务地址以及待分类的样本数据块名等各种参数;
2.Initial();//初始化BP网络的结构;
3.int TotalNum=Statistics(SampleData);//统计待分类样本数据的
个数;
4.while(echo
本文档为【基于网格服务的分布式数据挖掘】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。