老哥学习网 - www.lg9.cn 2024年05月09日 14:14 星期四
当前位置 首页 >诗词歌赋 >

【Web,Service构架下的分布式数据挖掘】分布式数据挖掘

发布时间:2019-02-07 06:16:22 浏览数:

  摘 要:提出一种基于动态数据集划分改进的并行关联规则挖掘算法,它是先实时评估处理器的工作性能后动态地分配给工作量,从而平衡负载。该算法能极大地实现分布式环境下的数据挖掘。
  关键词:Web Service 数据挖掘 特点
  中图分类号:P311.13 文献标识码:A 文章编号:1007-3973(2012)001-051-02
  1 引言
  随着计算机在社会的各行各业中得到了广泛而深入的应用和信息技术的不断的发展,各行各业特别是在商业、金融以及数据分析比较密集的领域中时刻都再产生出大量的计算机数据,再加上web及internet技术的迅速发展网络中得各式各样的信息和数据也越来越丰富。特别是当前的数据又分布于不同地区,在面对这种大量的GB 级、TB 级甚至更多的数据的情况下,如何处理数量日益增长的数据以及如何在这纷繁的信息数据中找到我们需要和精准的有用信息就显得十分的重要。这样计算机数据挖掘这一个年轻的学科在当今的计算机数据的处理和数据的挖掘中得到了越来越广泛的关注和应用。所谓的数据挖掘,简单来说就是应用计算机的一系列算法从海量的计算机数据中提取或“挖掘”有用的信息。随着计算机应用和技术的不断发展,人们在数据挖掘技术的研究也获得了不错的成绩,数据挖掘在这种背景下得到了很大的发展。
  Web服务是基于分布式架构并且独立的运行于操作系统的一种的计算机服务技术,通过这个可互操作的应用程序的平台和标准的web协议就可以让程序访问的应用程序逻辑。它具有更加广阔的应用空间是由于web服务的分布式的技术特点使得它具有跨平台和跨internet的优点,这样就能成功的使用网络的强大的可伸缩性的特点,完成很多用于重复使用和互操作的目的的工作。Web技术和数据挖掘技术的良好切合就能避免传统数据挖掘中大量转储和效率低下的缺点,提高数据挖掘的效率和灵活性,为企业提高效率和效益提供了保障。
  2 Web Service体系
  Web Service 技术是面向服务的能够给予服务的抽象定义和服务的发布、具体实现并给以服务查找、服务实例选择并实现可交互操作的一种体系结构。Web service 体系结构基于服务提供者(Service Provider)、服务注册中心(Service Registry)和服务请求者(Service Requestor)之间的交互并依赖于依赖SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language) 和UDDI(Universal Description Discovery and Integration) 三者的技术。其中的交互包含了发布(Publish)、查找(Find)和绑定(Bind)操作。WSDL所提供的服务描述是通过Web 服务提供方送达Web 服务注册中心后,注册中心基于WSDL所提供的服务描述,按照UDDI 的协议的要求更新Internet上的服务目录并发布在internet上。用户要与服务的提供商取得通信就必须得到Web 服务提供者的服务接口和地址等信息,这首先必须向注册中心发出通信请求,然后通过SOAP 协议与其进行连接和绑定服务后才能进行通信。服务提供者是实现Web Service 的应用平台,也同时是Web Service提供的最终供应商。它既负有服务的发布、更新和回收的责任,同时它是Web Service 的拥有者,描述Web Service 的内容并将这种描述发送到服务注册中心或服务请求者;服务注册中心集合了大量在线的Web Service,在这个中心中对Web Service 进行注册。按照一般的程序来讲,服务提供者在在线服务器上安装了Web Service 之后后, 会在服务注册中心发布Web Service服务。
  3 Web Service 下的数据挖掘
  建立在分布式Web Service计算体系的这种数据挖掘系统结构的各个局部子数据挖掘模块是独立存在并作为独立的Web 服务进行注册以及发布的。它能够在各个不同的的系统和平台中移植,在实际的操作中有相当好的的可移植性,并且很好的协调不同平台的差异以及不同数据结构中的差异,并且在系统的用户透明性方面做得相当好,灵活的跨越防火墙和服务器进行通信和服务。这种体系结构主要包括如图1 所示的几个结构模块:
  (1)用户GUI。它是作为与用户之间起到交互作用的人性化界面,这种界面根据不同的需求定制针对不同需求的用户服务,并作为结果展现的界面。
  (2)全局汇总模块。它是分析处理模块,该模块将挖掘的局部数据处理的结果数据进行处理和分析,最终得到全局期望的知识表示。
  (3)注册中心模块。它的主要功能是进行服务的注册和查询,从注册中心用户可以获取所需的相关服务和对自己的挖掘服务进行发布。
  (4)对外服务模块。它是用来封装上述服务的模块,并向注册中心发起注册命令,绑定服务的请求。
  (5)本地挖掘模块。它的功能是对本地数据源进行数据的挖掘,对请求者提供服务。
  (6)预处理模块。它的功能基于一定规则和定义对本地数据源进行转换和抽取。
  4 关联规则数据挖掘的两种算法
  4.1 关联规则问题的相关理论
  关联规则被描述为:设Ni (i=1,2,3...,n)是指除了能通过计算机网络传递信息之外的其他介质独立的计算机。DBi是Ni上得分事件数据库,这样总的事件数据库的数目是DB(DBi之和),总的事件数就是。并行挖掘关联规则就是通过这n个计算机同时完成数据的挖掘工作。各个计算机通过网络来通信,每个计算机这完成自己私有数据库中的数据Di,在这个数据库中按照一定的规则进行挖掘,规则就是X→Y,并基于以下的两个条件:sup(X∪Y)≥minsupport和sup(X∪Y)/sup(X) ≥minconfidence。(其中X∩Y= ,X Y,X I)
  4.2 关联规则数据挖掘的并行挖掘算法
  (1)基于分布式的CD算法。CD 算法是基于Apriori的一个简单并行化算法,它的最大优点是能在空闲的计算机上通过并行冗余计算的方式来达到减小通信量的目的,同时在速度方面表现得也相当的好,其速度能达到线性加速比的程度。CD算法是一种典型的基于分布式关联规则挖掘算法,能够在任意水平分区利用数据库分割的方式来完成并行化和并行计算。它的作用过程是每个分区单独扫描数据库并计算出支持度,各支持度经过加总若大于minsupport 则认为其是全局的。这种算法的每一次扫描结束后就建立一个同步点才能扫描下一次分区。
  (2)基于动态数据集划分的并行挖掘算法。并行算法的重点就是在于平衡处理器性能、处理器任务分配量以及网速等负载因素。CD 算法使得每个处理器获得同等数目的数据集,但由于每个数据集的稠密度不同,这就使得每个处理器实际得到的任务的多少是不同的,并且未顾及处理器性能和网速的因素。基于动态数据集划分的并行挖掘算法就是先实时评估处理器的工作性能后动态地分配给工作量,从而平衡负载。
  5 系统设计
  基于Web Service的数据并行挖掘平台中数据集的支持度计数是由Web Service 完成的。如图2中数据挖据客户端主要是承担挖掘结果的显示、挖据任务的分配和汇总以及数据的预处理等功能,还包括用户接口和web service本地代理。Web Service 并行计算网络包含了很多数量的处理数据挖掘子任务的web service端。每个分布的web service端上都有一个数据挖据子任务处理功能模块,他们负责对数据子任务的挖掘工作,供Web Service 调用者调用。中间连接两端的是internet网络。
  在数据挖掘的客户端中的挖掘任务的分配和汇总模块的主要任务是负责对各个数据挖掘Web Service 端的计算进行协调工作并基于Web Service 端的挖掘计算情况把数据动态的分配给各Web Service 端。同时发送根据多线程技术异步调用过的多个数据挖掘Web Service 端发送数据,其代码是:
  pc = new DCD. localhost . DCDws () ;
  pc1 = new DCD. localhost1. DCDws () ;
  AC1 = new AsyncCallback (CallBack) ;
  AC2 = new AsyncCallback (CallBack1) ;
  pc. BeginGetDb (db1 ,AC1 ,null) ;
  pc1. BeginGetDb (db2 ,AC2 ,null) ;
  private void CallBack ( IAsyncResult assignHandle)
  {
   start Index + = number ;
   Array. Copy(db , start Index , db1 , 0 , number) ;
   pc. BeginGetDb (db1 ,AC1 ,null) ;
  }
  private void CallBack1 ( IAsyncResult assignHandle)
  {
   start Index + = number ;
   Array. Copy(db , start Index , db2 , 0 , number) ;
   pc. BeginGetDb (db2 ,AC2 ,null) ;
  }
  这种算法就是根据Web Service 端的数据挖掘能力实现了数据集的动态分配,避免了数据的过负保证了负载平衡,提高了数据的挖掘效果。
  6 结语
  网络化、分布式并行的数据挖掘是数据库技术的一个重要的发展方向。本文提出一种改进的并行关联规则挖掘算法,就是基于动态数据集划分的并行挖掘算法就是先实时评估处理器的工作性能后动态地分配给工作量,从而平衡负载。但随着信息技术的不断发展,分布式Web 服务的复杂性,算法中的许多细节还要需要进一步研究。
  
  参考文献:
  [1]顾宁.web service原理与研发实践[M].北京:机械工业出版社,2006.
  [2]葛丽娜,钟诚.一个有效的分布式并行挖掘关联规则算法[J].计算机工程与设计,2004(8).

推荐访问:构架 分布式 数据挖掘 Web

相关文章:

Top