基于Web服务的数据挖掘系统算法的设计

时间:2022-10-30 07:29:06

基于Web服务的数据挖掘系统算法的设计

摘要:与传统的数据挖掘系统的算法库相比,在数据挖掘系统算法库中引入Web服务可以实现数据、算法和接口的分离,极大的缩减了算法库开发的复杂性并为动态管理算法库提供了便利。此外,从标准的平台无关性的角度来看,采取Web服务的设计的系统具有了平台无关性和语言无关性的特点。我们可以通过任何语言来实现将挖掘算法封装到Web服务中,并从程序设计语言中分离出来,这样就为算法设计提供了最大的自由度,提高了维护性能。因此,基于Web服务技术的数据挖掘系统对于提高数据挖掘的效率具有非常重要的意义。

关键词:Web服务;数据挖掘;算法库

中图分类号:TP311.13 文献标识码:A 文章编号:1009-3044(2013)13-2951-04

数据挖掘是一个从大量不完整的、冗余的、模糊的并且随机的实际应用的数据中提取潜在的有用的信息和未知知识的一个过程[1]。随着信息技术在社会中各个领域中的广泛应用,可以用数据挖掘进行提取的最初的数据也转变为较复合的、有组织结构或者半组织结构的内容,比如文本、图标、图片数据,甚至是网络中混杂的分布式数据[2]。在数据外挖掘系统中,挖掘算法具有非常重要的作用。一个有效的数据挖掘系统必须有各种各样的挖掘算法。通常来说,这些挖掘算法不能同时被开发,但是通过算法的发展和对应用的要求,它们也都不断地得到相当大的改进。

通过最新的数据挖掘算法的研究,在数据挖掘系统中不但要有专用的、可共享的和动态维护的算法库,而且还要在现存的算法中增加新的算法来改进系统[3]。难点在于传统的数据挖掘系统越来越适应于需求以至于很难再提升算法库。因此,研究如何根据不同的算法动态添加挖掘算法和自动生成输入输出接口,从而实现数据挖掘算法的自动调用是本文的重点。

Web服务的结构本质上是面向服务的架构(SOA),SOA框架被专门用于解决应用整合领域里的两个难题——异质性数据和易变性数据。在数据挖掘的算法库模块中引入web服务有利于实现挖掘混杂的数据源,同时,因为通过web服务封装了大量的数据挖掘算法,压缩了算法而节省了算法库,那么数据挖掘系统和挖掘算法联系就不用那么紧密,而且可以通过web服务在线调用挖掘算法,这样就能够使算法可以被重用,以及可以便利的动态管理算法库。

在最后,该文还介绍了用于数据挖掘系统的web服务技术,提出了基于web服务的挖掘系统的算法库模块的基本框架,并研究了基于XML技术的元数据的描述。

1 数据挖掘系统元数据的描述

在数据挖掘系统中,数据是一个非常复杂的资源,并且从结构数据到非结构数据中还有大量的各种各样的种类。我们可以把数据看成数据挖掘系统的操作基础。在数据挖掘的过程中,需要用到各种普通或者特殊的算法,这些算法可以由系统或者外部对象提供。提供可靠的算法库和生成数据挖掘系统的挖掘模式是数据挖掘系统中的重要部分。随着传统算法的持续改进和新算法的持续开发,数据挖掘系统需要通过确定的规范来存储和管理各种算法,同时各种类别的用户为了使用算法也需要一套特定的规范来形成队列。因此,在算法库的开发和维护过程中,它需要一个强大的动态管理功能。基于这个目的,算法描述和基本管理规范的编制就是开发算法库模块的关键问题。

对于数据挖掘系统来说,元数据是系统的核心部分。它的主要目的是描述数据的基本属性和为数据挖掘提供支持。建立和执行数据挖掘任务的整个过程都是在元数据的控制下进行的。因此,对元数据的有效管理可以使系统更加的稳固。通过使用XML语言对数据挖掘算法中的元数据进行描述有利于算法的管理,这样不但可以实现数据结构的灵活放缩,有效的实现数据、算法和借口之间的自由联系,而且解决了数据结构和数据应用紧密联系导致的对异质性数据源挖掘的问题。

2 管理模块算法的设计

将Web服务引入到数据挖掘系统中和将数据挖掘算法封装到Web服务中都需要一个算法管理模块来统一管理封装到Web服务的数据挖掘算法[3-4]。通过逻辑和基于Web服务概念的分析,我们可以把算法管理模块看成与由算法发行子模块和算法搜寻子模块构成的算法寄存中心共同协作来完成操作。

算法寄存中心承担了算法寄存和算法搜寻的任务,它包括了所有的由算法提供者发型的算法的基本信息。算法寄存中心接受算法发行子模块的申请,为算法产生WSDL(WebServicesDescriptionLanguage)文档,并保存挖掘算法的所有的其他信息(包括服务名称和算法的URL地址等),这样就能为算法寄存中心所用。同时算法寄存中心还接收算法搜寻子模块的申请来查询算法库中满足用户条件的被发行的算法并返回相关信息[5]。算法发行子模块主要提供发行接口,并且算法发行者就可以将算法封装到web服务中。它最主要的功能是接收算法提供者的算法信息输入,向算法寄存中心发送算法发行申请,要求算法库添加新的算法或者删除和修改已有的算法等等。而算法搜寻模块最主要的功能是让算法申请者在算法库中查询挖掘算法。

现代软件系统的结构设计一般使用分层结构,这种结构不但可以使系统中的组件相互独立,而且当它们需要更新、替换或者添加减少的时候可以很方便的获得,这样有利于系统的维护和管理。一个基于Web的算法管理系统,分层次和模块化可以在元数据管理的逻辑框架和Web服务技术的基础上开发出来。它的系统框架被分成系统支持层、算法管理层、服务层和底部的演示层。

系统支持层包含了如计算机硬件、数据库和网络通信等的环境支持,它可以被抽象的看成数据层。系统的核心是在系统服务层中的各种功能模块(包括算法输入和输出模块、算法信息显示模块和算法检索模块等等)。这些功能模块可以在算法元数据管理的核心模块的基础上来实现。

通过引入Web服务来开发数据挖掘系统中的算法库,所有的算法都被以Web服务的方式封装起来组成算法库[6]。通过这种封装的方式,在XML的基础上描述算法元数据以及自动的根据算法元数据生成Web接口组件是为了分隔数据、算法和接口,极大的缩减算法库模块开发的复杂性,有效的提高算法库的维护能力,让系统可以依靠灵活的动态结构来实现动态管理算法库。

3 生成动态接口

基于XML的接口自动生成技术涉及到通过接口描述的XML文档、接口组件接收器、接口产生器以及编程语言的组件库[7]。为了产生一个接口,首先需要提供XML接口的描述文档和接口产生器组件。用于接口描述的XML文档可以被编辑成XML编辑器或者自动被其他数据源创造出来。接口描述的XML文档使用到所有的XML文档中的组件和属性,包括名称、大小、位置、布局以及相应的产生器等等[8]。接口产生器组件负责监控和处理相应的接口描述的XML中的组件,如按钮点击操作。在对接口描述的XML文档分析的过程中,接口产生器将根据文档中组件的属性值动态的添加接收器并与相应的组件绑定起来。当特定的组件操作被触发的时候,接收器中预定的操作将会被执行。组件产生器是接口自动生成技术的核心,它负责分析XML文档、区分文档中预定的组件信息、根据组件信息和已用的编程语言建立相应的组件、设定属性和绑定相应的接收器、在组件容器中添加组件和最终向申请者返回自动生成的接口。

因此,只需通过获取服务的网络位置和使用的服务方式的名称就可以实现web服务的动态调用。而服务的位置信息和服务方式的名称可以通过XML文档得到。

4 结论

与传统的数据挖掘系统的算法库相比,在数据挖掘系统算法库中引入web服务可以实现数据、算法和接口的分离,极大的缩减了算法库开发的复杂性并为动态管理算法库提供了便利。此外,从标准的平台无关性的角度来看,采取web服务的设计的系统具有了平台无关性和语言无关性的特点。我们可以通过任何语言来实现将挖掘算法封装到web服务中,并从程序设计语言中分离出来,这样就为算法设计提供了最大的自由度,提高了维护性能。因此,基于web服务技术的数据挖掘系统对于提高数据挖掘的效率具有非常重要的意义。

参考文献:

[1] 江文斌,张仁津,张方霞.基于Web Services的电子商务系统的研究与架构[J].电脑知识与技术,2010(10).

[2] 徐建琳,陆一颖,吴毅坚,等.基于Web服务的客户关系管理系统[J].计算机工程,2009(19).

[3] 罗可,林睦纲,郗东妹.数据挖掘中分类算法综述[J]. 计算机工程,2005(1).

[4] 吴迪,陈钢.新一代的Web Services技术[J].计算机应用研究,2003(3).

[5] 涂占新.数据挖掘方法及其应用展望[J].中南财经政法大学学报,2003(2).

[6] 皮德常.CIMS数据库中数据挖掘关键技术的研究[D].南京:南京航空航天大学,2002.

[7] Wang Wei-hua,Wang Wei-fu. The Research on the Distributed Computer Mode Based on Web Service[J].Computer Engineering and Design, 2008,29(17):4623-4625.

[8] Cui Jin-hong,Wang Xu.Research on Web Service Inheritage and Interface Mechanism[J].Computer Science, 2009,36(6):144-146.

上一篇:做好手头的每一件事,无论大小 下一篇:江苏开放大学远程教育地域网网络架构探索