




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)com组件技术在数据挖掘中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天火学硕士学位论文 摘要 论文研究了c o m 组件技术在数据挖掘中的应用,提出利用数据挖掘组件构造 实际的数据挖掘系统的设计方案。采用这种设计方案,解决系统的开发、维护的效 率和在实际应用领域的适用性等问题。论文主要讨论了基于组件的数据挖掘系统的 模型结构、功能特点和实现方法,重点研究了系统各组件的设计和实现以及系统集 成等关键技术和方法。 论文首先研究了现有数据挖掘系统开发和应用所面临的问题,提出基于组件的 数据挖掘系统模型,并论述了基于c o m 组件的d m a s 的系统结构、工作原理和系 统特点;其次,分别讨论了组成系统的数据存取组件、数据预处理组件、数据挖掘 算法组件和知识表达组件各个模块的设计原理、方法和所使用的关键技术,并论述 了实现交互式数据挖掘的设计;再次,论述了实现数据挖掘组件的具体方法和步骤 以及在企业应用系统开发过程中集成组件的设计过程;最后论文给出了在酒店管理 系统中集成数据挖掘组件的应用实例和效果。 关键词:数据挖掘;c o m ;组件技术:软件复用;系统集成 c o m 组仆技术在数据挖掘中的应h j 研究 a b s t r a c t t h i sp a p e rd i s c u s s e sc o n s t r u c t i n gd a t am i n i n gc o m p o n e n tu s i n gc o m t e c h n o l o g y ,a n d p r o p o s e sas o l u t i o no fc o n s t r u c t i n gd a t am i n i n ga p p l i c a t i o ns y s t e mw i t ht h e s ec o m p o n e n t s w i t ht h i ss o l u t i o n ,t h ep r o b l e m ss u c ha sa p p l i c a t i o ns y s t e md e v e l o p m e n ta n dm a i n t e n a n c e e f f i c i e n c y ,t h es y s t e ma p p l i c a b i l i t yo fa c t u a la p p l i c a t i o nd o m a i nc a nb es o l v e d t h ep a p e r r e s e a r c h e so nt h e s t r u c t u r e ,p r i n c i p l e a n dr e a l i z a t i o no ft h ec o mb a s e dd a t a m i n i n g a p p l i c a t i o ns y s t e m ,e s p e c i a l l y d i s c u s s e st h e d e s i g n a n dr e a l i z a t i o n o fd a t a m i n i n g c o m p o n e n t s a n d k e ym e t h o d s a n dt e c h n o l o g i e so fs y s t e mi n t e g r a t i o n f i r s t l yt h ep a p e rs u d i e st h ed e v e l o p m e n t a n d a p p l i c a t i o np r o b l e m si ne x i t e dd a t am i n i n g s y s t e m ,a n dp r e s e n t sad e v e l o p m e n tm o d e lo fd a t am i n i n gs y s t e mb a s e do nc o m p o n e n t , a n dd i s c u s s e st h ea r c h i t e c t u r e ,p r i n c i p l ea n dc h a r a c t e r i s t i co ft h es y s t e m t h e ni td i s c u s s e s t h e d e s i g n a n dr e a l i z a t i o no f e v e r yc o m p o n e n ti n c l u d i n g d a t aa c c e s s c o m p o n e n t , p r e t r e a t m e n tc o m p o n e n t ,d a t am i n i n ga l g o r i t h mc o m p o n e n ta n dk n o w l e d g ep r e s e n t a t i o n c o m p o n e n t a tl a s t ,c o m p o n e n tr e a l i z a t i o n ,c l a s s i f i c a t i o n ,u s a g e a n d i n t e g r a t i o n o f a p p l i c a t i o ns y s t e ma r es t u d i e d ,a n di tg i v e st h ep r o c e s so fi n t e g r a t i n gm i n i n gc o m p o n e n t i n e n t e r p r i s em a n a g ed e v e l o p m e n t a n dt h ea p p l i c a t i o ne f f e c t k e y w o r d s :d a t a m i n i n g ,c o m ,c o m p o n e n tt e c h n o l o g y ,s o f t w a r er e u s e , s y s t e mi n t e g r a t i o n i l 南京航空航犬人学硕士学位论文 1 1 引言 第一章绪论 随着数据库技术的不断发展及数据库管理系统的广泛应用,在数据库中存储的 数据量急剧增大。在这样的数据中包含着许多的有用知识,这些有用知识犹如矿山 罩的矿石一样,只有开采出来才能被利用。在实际的应用中,人们迫切需要有效的 工具来开采数据山中蕴藏的有用知识。于是,一个新的研究领域一一数据挖掘 ( d a t am i n i n g ) 应运而生。如何将各种数据挖掘的方法与实际应用相结合,形成高 效实用的d m a s ( d a t am i n i n ga p p l i c a t i o ns y s t e m ,数据挖掘应用系统) 逐渐成为数 据挖掘在实际应用领域的研究热点i l l 。 数据挖掘是从大量数据中发现潜在规律、提取有用知识的方法和技术。数据挖 掘不但能够学习已有的知识,而且能够发现未知的知识;得到的知识是既能为人所 理解,又便于存储和应用,因此从一出现就得到人们广泛的重视。由于蕴藏知识的 数据信息大多存储于数据库中,因此数据挖掘又称作k d d ( k n o w l e d g ed i s c o v e r yi n d a t a b a s e ,数据库中的知识发现) 1 2 1 0 从k d d 的名称中可以看出,k d d 更强调与数 据库的联系。另外,在数据库知识发现的过程中( 本文在1 2 3 节介绍) 实施知识 发现这一步骤也称为数据挖掘,因此有人认为数据挖掘是k d d 的一个环节i “。 1 2 数据挖掘技术及其发展现状 1 2 1 数据挖掘的定义 数据挖掘是一门广义的交叉学科,它汇聚了数据库、人工智能、数理统计、可 视化、并行计算等不同领域的研究。至今有多种数掘挖掘的定义,其中在k d d 9 6 国际会议上,根据知识发现研究领域知名学者的阐述得到一个被一致接受的数据挖 掘定义:数据挖掘是一个非平凡的高级过程,是对数据中有效的、新颖的、潜在有 用的,以及最终可理解的模式的识别。其中的相关术语有如下的含义: 数据:是指一个有关事实的集合( 如顾客档案数据库中有关顾客基本情况的各条记 录) ,它是用来描述事物有关方面的信息,是数据挖掘的原材料。 新颖:经过数据挖掘提取出的模式必须是新颖的,至少对现有的系统米说应该如 此。模式是否新颖可以通过对比发现的模式与已有的模式的关系束判断。 潜在有用:提取出的模式应该是有意义的,可以被人们所利用的。 可拨人理解:数据挖掘的个目标就是将数据库中隐含的模式以容易被人理解的形 式表现出来,从而帮助人们( 至少是领域专家) 更好地了解数据库中所包含的信 l c o m 组仆技术在数据挖掘中的应 研究 息,如“i f t h e n ”产生式规则的形式表现出来。 模式:是指用高级语言表示的表达一定逻辑含义的信息,通常指数据库中数据之问 的逻辑关系( 也即要发现的知识) 。 非平凡:是指在数据挖掘中,知识的发现过程应具有某种不确定性和一定的自由 度,不是一个很确定的过程。 高级过程:数据挖掘是对数据进行更深层处理的过程,往往包括多种循环和反复, 而不是仅仅对数据进行加减求和等简单运算或查询。 1 2 2 数据挖掘的任务和方法 数据挖掘任务用于指定数掘挖掘要找的模式类型。数据挖掘所能发现的知识有 如下几种:广义型知识,反映同类事物共同性质的知识;特征型知识,反映事物各 方面的特征知识;差异型知识,反映不同事物之间属性差别的知识;关联型知识, 反映事物之间依赖或关联的知识;预测型知识,根据历史的和当前的数据推测未来 数据;偏离型知识,揭示事物偏离常规的异常现象。所有这些知识都可以在不同的 概念层次上被发现,随着概念层次的提升,对数据的分析从微观变化到宏观,可以 满足不同用户对不同层次知识的需要。 根据数据挖掘所能发现的知识类型可以将数据挖掘任务分成两类:预测性任务 和描述性任务。预测性挖掘任务是在当前数据上进行推断,以进行对未知数据的预 测。描述性挖掘任务用于发现数据的一般特性,能对数据进行一般性描述。 具体的说,数据挖掘任务以及它们可以发现的模式类型可以有如下几种,一般 的数据挖掘任务都可以归结到这几类: 1 ) 类概念描述( c l a s s c o n c e p td e s c r i p t i o n ) :数据特征化和数据区分 数据可以和类或概念相关联。用汇总的、简洁的、精确的方式描述每个反映数 据特性的类或概念有利于对数据的理解。这种类或概念的描述称为类概念描述。 数据特征化( d a t ac h a r a c t e r i z a t l o n ) 是目标类数据的一般特征或特性的征总。目 标类是指所要研究的类。 数据区分( d a t ad i s c r i m i n a t i o n ) 是将目标类对象的一般特性与一个或多个对比 类对象的一般特性比较。对比类是指和目标类相比较的类。 2 ) 关联分析( a s s o c i a t i o na n a l y s i s ) 关联分析用于发现事物问的关联规则,这些规则展示属性值频繁地在给定 数据集中一起出现的条件。关联规则的般形式是: 如果a 发生,四jb 有c 的可能性发生。其r # c 称为关联规则的鬣信度 ( c o n f i d e n c e ) 。 南京航兰;三航犬人学硕士学位论文 关联分析展示了数据间的依赖关系,根据这种关联性就可从某一数据对象的信 息来推断另一数据对蒙的信息。关联性是一种统计意义上的关系,并以置信度衡量 关联的程度。通常须设定最小置信度作为阈值。 3 ) 分类( c l a s s i f i c a t i o n ) 分类是这样的过程,通过对已知类别的个体进行归纳,找出描述并区分数据类 或概念的模型( 或函数) 即分类模式。分类模型找出各类的特征属性,以便能够 使用模型预测类标记未知的对象类。分类分为分类和预测两种数据分析形式,可以 用于提取描述重要数据类的模型或预测未来的数据趋势。分类和预测的不同之处在 于分类是预测离散型分类标号( 或值) ,而预测建立连续值函数模型,用于预测连 续型的未知值。 4 ) 聚类( c l u s t e r i n g ) 与分类不同,聚类分析数据对象本身。它既不知道具体的数据的分类标准,也 不知道会有些什么类。一般情况下,数据中不提供类标记,而聚类可以用于产生这 种类标记。数据可以看成是对象,对象根据最大化类内的相似性、最小化类间的相 似性的原则按照给定的聚类参数( 如距离等) 进行分解、合并。最后形成对象的聚 类( 簇) ,使得在一个簇中的对象具有很高的相似性,而与其他簇中的对象不相 似a 得到的结果由用户进行鉴别,如果不满足目标,需要改动聚类参数,重新聚 类。 5 ) 孤立点分析( o u t l i e r a n a l y s i s ) 数据库中可能包含一些数据对象,它们与数据的一般行为不一致。这些数据对 象称为孤立点。大部分数据挖掘方法将孤立点视为噪声或异常而丢弃。然而,在一 些应用中( 如欺骗检测) ,孤立点可能比正常出现的数据更有实用价值。 6 ) 数据演变分析( e v o l u t i o na n a l y s i s ) 数据演变分析描述行为随时间变化的对象的规律或趋势。尽管这可能包括与时 间相关数据的特征化、区分、关联、分类或聚类,但这类分析的不同特点是包括时 问序列数据分析、序列或周期模式匹配和基于类似性的数据分析。数据演变分析首 先要考虑时间特性和时间周期的层次,如天、周、月、年等,有时还要考虑同历的 影响,如节假同等。 现有的数据挖掘方法很多,可粗分为:机器学习方法、统计方法、神经网络方 法和数据库方法等。在机器学习中,又可以分为:归纳学习方法( 决策树、规则归 纳等) 、基于范傍j 学习、遗传算法等。统计方法中有:回归分析( 多元回归、自凹 归等) 、判别分析( 贝叶斯判别、赞歌尔判别、非参数判别等) 、聚类分析( 系统 聚类、动态聚类等) 、探索性分析( 主元分析法、相关分析法等) 等。神经网络方 法中有:前向神经网络( b p 算法) 、自组织神经网络( 自组织特征映射、竞争学 习) 等。数据库方法主要是多维数据分析或o l a p ( o n 1 i n ea n a t y t i c a lp r o c e s s i n 2 , 联机分析处理) 方法,另外还有面向属性的归纳方法。在这些方法中又有不同的实 3 c o m 组件技术在数据挖掘中的应用研究 现算法和版本。对于不同的应用领域和不同的数据挖掘任务,所采用的具体方法也 是不一样的。 1 2 3 数据挖掘过程 从数据挖掘的定义可以看出,数据挖掘是个不确定的过程,在实施数据挖掘 的过程中会有很多因素需要考虑,如数据本身、相关领域知识、所采用的数据挖掘 方法和算法、系统的性能等。但根据数据挖掘的一般原理,可以将其过程分成以下 步骤,如图1 1 所示: 叫 o 霪妻+ i - 薷嚣箍+ o 一教据挖掘_ 山一黑羁嚣一 图1 1 数据挖掘的过程 1 1 确定数据挖掘任务 首先熟悉应用领域的数据、背景知识,明确所要完成的数据挖掘任务性质。 数据选择 根据用户要求,从数据库中或其他的数据源中提取与数据挖掘任务相关的数据, 数据挖掘将主要在这些数据中进行。 3 1 数据预处理 数据预处理包括数据清理、数据集成、数据变换和数据归约( 压缩) 。数据预处 理将与数据挖掘相关的数据从数据库中或其他的数据源中进行合并处理。处理数据 中的遗漏和清洗脏数据等,除去明显错误的数据和冗余的数据,并解决语义模糊 性,并将数据转换成为有效形式,以使数据挖掘更有效,数据预处理目的是辨别出 需要分析的数据集合,缩小处理范围,提高数据采掘的质量。 4 1 数据挖掘 根据数据挖掘任务的要求,选择合适的数据挖掘算法( 包括选取合适参数) ,在 数据中寻求感兴趣的模型,并把它生成某种易于理解的形式。 5 、模式的评估 为了有救地发现对于给定用户有价值的模式,必须在数据挖掘之后使用某种评估 方法对模式进行评估,过滤掉那些不感兴趣或没有意义的模式。或者用这种方法来 4 南京航空航天犬学硕士学位论文 指导和限制挖掘过程,删除模式空间中不满足预先设定的条件的模式,改善挖掘过 程中的搜索性能。 6 、知识的表达 根据最终用户的具体任务把数据挖掘产生的有价值的模式以用户能理解的方式提 供给用户,必要时需要返回前面处理中的某些步骤以进行了反复挖掘。 从以上的处理步骤来看,整个数据挖掘的过程在整体上是顺序执行的,但是实际 的过程并不是这么一个简单的线性流程,各个步骤之间包含了交叉和反复,模式的 产生可能是一个曲折的、渐进的、循环的过程。 1 2 4 数据挖掘的现状和应用 随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库和联机事务 处理( o l t p ) 已经被广泛应用于金融、证券、保险、销售以及天气预报、工业生 产、生物工程研究等各行各业。大型数据库系统在各行各业的普及,数据库中存储 的数据量急剧地增大。目前人们用到的主要是数据库的存储功能,丽隐藏在这些数 据之后的更重要的信息受i j 没有充分利用。这些信息是关于数据的整体特征的描述及 对发展趋势的预测,在决策生成的过程中具有重要的参考价值。对于这些数据,人 们已经不满足于传统的统计分析手段,而需要发现更深层次的规律,提供更有效的 决策支持。在数据库技术日益成熟和对数据挖掘需求发展的推动下,数据挖掘的应 用越来越广泛。从1 9 9 5 年在加拿大召开了第一届知识发现和数据挖掘国际学术会议 之后,国外在这方面的论文非常多,许多国际专题会议也把数据挖掘和知识发现列 为议题之一,成为当前计算机科学界的一大热点。在国内,对数据挖掘的研究和应 用也很快跟上了国际步伐。计算机世界技术专题舨于1 9 9 5 年发表了k d d 、机 器学习和神经网络、机器发现和机器学习专题,对我国开展数据挖掘的研究起到了 一定的推动作用。 数据挖掘的对象是某一应用领域中积累的数据。挖掘过程是一个人机交互、多 次反复的过程,挖掘的结果要应用于该领域。因此数据挖掘的整个过程都离不开应 用领域的专业知识。目前数据挖掘技术在购物篮数据分析、市场营销、金融风险预 测、产品产量和质量分析、分子生物学、基因工程研究、i n t e m e t 站点访问模式发现 以及信息搜索和分类等许多领域得到了成功的应用。随着人们对信息需求的增长, 数据挖掘技术将逐步深入人们日常生活。 c o m 组件技术在数据挖掘中的应用研究 1 3 数据挖掘组件的提出及其在9 m a s 实现中的作用 1 3 1 数据挖掘系统的应用和开发 数据挖掘技术是面向应用的,数据挖掘的研究成果是很讲求实际f i 勺。近年来, 人们对数据挖掘的研究重点逐渐从研究数据挖掘方法和算法转向数据挖掘系统应 用,并且注重在数据挖掘系统中采用多种挖掘策略和技术的集成,以及多种学科之 间的相互渗透。有很多研究人员和商业机构都致力于利用有效的数据挖掘技术构造 数据挖掘应用系统的研究。目前有许多软件公司成功地开发了数据挖掘软件产品, 如d b m i n e ri t l 、q u e s tf 8 j 、r o b o m i n e r t 们、o p e nm i n e r l l o l 等具有代表性的数据挖掘系 统,在北美、欧洲等国得到较大应用。在这些系统中,多数是给那些非常熟悉数据 挖掘和数据分析技术的专家设计的通用的数据挖掘系统,需要熟悉数据挖掘术语和 数据分析技术,如关联规则、分类和聚类等技术。这就使这些系统很难被企业经理 或普通百姓使用。而且,这些系统趋向于提供在方法上和功能上能通用的数据挖掘 系统,寻求构造适用于各种应用领域的横向解决方案。而不是针对某个特定应用的 解决方案。 然而,就数据挖掘技术本身的特点来看,由于数据挖掘方法很多,算法复杂, 分别适用于不同的应用领域。数据挖掘系统在功能和方法上很少有相似性,有时甚 至在不同的数据集上进行工作。通用的数据挖掘系统在实际应用和开发中受到了很 大的限制。主要原因有如下两个: 1 ) 通用的数据挖掘系统开发人员在开发时不能清晰的预测系统的应用领域或具 体用途,系统应用的针对性差,所开发的数据挖掘系统有很多不同的数据挖掘算 法,体积宠大: 2 ) 通用的数据挖掘系统的使用人员虽然拥有应用领域的知识,但是往往对系统 所提供的数据挖掘算法所牵涉的应用范围、参数设置不太清楚,需要进行系统的培 训,不适合一般的决策管理人员使用。 将数据挖掘系统集成到一个数据库管理系统或将联机分析处理工具的功能和数 据挖掘的功能结合起来,是解决实际问题的一个较好办法。但目前这一工作还没有 重大突破【l l l 。 由于通用数据挖掘系统的局限性,许多数据挖掘研究者和开发者相信:数据挖 掘比较有前途的方向是创建能够提供纵向解决方案的数据挖掘系统,也就是,把特 殊领域的商业逻辑和数据挖掘系统集成起来1 1 2 1 。开发专用的数据挖掘系统又成为另 一个研究的热点,但是数据挖掘的方法和算法很多,而且大多比较复杂,各个算法 所适用的领域也可能不同,要将实际的应用系统中开发专用的数据挖掘功能,需要 南京航空航天大学硕士学位论文 系统开发人员花费大量的时间去理解数据挖掘方法和算法,甚至是原理,系统的开 发效率低下。 而且,随着数据挖掘技术的不断发展,新的挖掘方法和算法的涌现,对于数据 挖掘系统,无论是通用的还是专用的,从系统的升级和维护上来说,都是一个很艰 巨的任务。所有这些方面的因素,都制约着数据挖掘应用的进一步推广。 组件技术提供了解决上述数据挖掘应用瓶颈的有效方法。运用组件技术能结合 数据挖掘系统的实际应用情况,将主要的数据挖掘功能以组件的形式实现,在构建 系统时充分利用已有的软件挖掘组件,与实际的应用系统集成,能使系统的开发、 升级和维护都有较高的效率和较大的灵活性。 1 3 2 组件技术及基于组件技术的开发方法 组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段,是面向 对象方法的更高层次的发展。面向对象的程序设计方法强调重用性,但实际效果并 不理想,软件的重用仅限于程序源代码级别的重用,这是一种较低层次的重用,真 正的代码重用意味着代码必须用以足够通用的方式为重建更大型的代码而编写。面 向对象方法的重用还存在另一个问题,它一般要求对象程序和使用对象的客户程序 使用同样的编程语言,而不能实现跨语言的重用。再有,随着软件科学的发展应 用系统越来越复杂,而且随着网络应用的飞速发展,对应用软件提出了更高的要 求,这使得软件的设计和开发更加困难。这些特点使面向对象的程序设计方法面对 更加复杂的现代分布式软件应用,显得有点力不从心,因为它无法使用一个标准的 框架使得来自不同提供商的软件对象可以在同一地址空间通信,更不用说跨进程地 址空间或者通过网络进行通信。 组件化程序设计方法的思想是将复杂的应用程序设计成一些小的、功能单一的 组件模块,这些组件是被封装的、可被其他代码使用( 可复用) 的二进制代码。组 件通过接口来定义其所能提供的照务,接口则是通过一种与平台无关的i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ,接口定义语言) 来定义。组件的实现是二进制兼容 的,不限于某种语言。可以按照其外部二进制的连接标准以任何方式实现软件组 件。 基于组件技术的开发方法遵循组件的规范,依照该组件的二进制标准使用组件 提供的服务,像使用机械零件组装机器一样地构建应用系统软件。在这种开发方法 中,应用程序与组件、组件与组件之间可以跨进程、跨机器、跨语言甚至跨操作平 台进行通信和互操作。与其他的开发方法相比,基于组件技术的开发方法具有一下 的优点: 1 ) 组件的开发与语言无关。组件可以用任何一种编程语言( c 、c + + 、 d e l p h i 、b a s i c 、j a v a 等) 编写,也可以被任何种编程语言所使用。组件的开发和 7 c o m 组件技术在数据挖捌中的应用研究 使用人员不会被束缚于单一的编程语言和开发工具,能随意使用他们熟悉的或最适 合特定任务的语言和开发工具。 2 ) 组件运行效率高、便于使用和管理。因为组件是二进制代码,运行效率高。 组件在网络上的位置是可以被透明分配,组件和使用它的程序可以在同一个进程 中,也可以在不同的进程中或不同的机器上。 3 ) 组件的可重用性好。一个组件可以有一个或多个接口,每个接口代表组件的 某些属性和方法。应用程序或其他组件可以设置或调用这些属性和方法来完成特定 的逻辑处理。组件和应用程序之间的连接是通过接口来实现的,应用程序的开发人 员不需要了解这些组件的属性和功能是怎样实现的,而只需要简单的创建组件对 象,与其接口建立连接。对于组件的可重用性,起决定作用的不是组件本身,而是 组件的接口,只要组件的接口保持不交,组件可以任意升级和替换,而应用程序则 不需要做任何修改。 4 ) 系统实施灵活方便。组件可以部署在网络的任意位置上,通常可以根据网络 的通信带宽和应用的实际需要进行部署。组件开发人员和使用组件的应用程序开发 人员都不需要考虑组件位于何处,组件的这种位置羌关性为应用程序的部署提供了 很大的灵活性。 1 3 3 基于组件技术的d m a s 开发模型 数据挖掘系统是一个很大的人工智能系统,它不仅需要利用各种数据挖掘技术 对原始数据进行处理,而且还要具有很好的数据访问能力和推理分析能力。作为一 个开放的系统,它不仅要满足不同类型、不同领域的用户应用需求,而且,随着数 据挖掘技术的发展,系统的功能要不断地更新和完善。因此对软件的可移植性和维 护性提出了更高的要求。采用组件技术不仅实现数据挖掘系统和用户之间的分布式 操作,而且使系统的实现和维护更加方便。 另外,从数据挖掘系统的实现过程来看,采用组件技术可以提高应用系统开发 的并行性,数据挖掘组件的开发者可以根据需要选择熟悉的编程语言和工具进行同 时开发。只要将组件的接口定义好,并实现接口的所有内容,各个组件之间就可以 相互通信,实现与其的功能。 本文提出了一种基于组件技术的数据挖掘系统的设计方案,利用组件技术将 些成熟的数据挖掘方法、算法进行封装成数据挖掘组件,在开发数据挖掘系统时集 成与实际应用相适应的组件,以组件的形式构建d m a s ,提高了软件的开发效率和 系统的可靠性。 如图1 2 所示,在基于组件技术的数据挖掘应用开发模型中,利用组件技术构 建的数据揸掘组件处于核心地位,组件开发人员根据数据挖掘的最终用户和实际应 用程序开发用户的需求,选择适当的数据挖掘方法、算法开发和维护组件并将组 南京航空航天火学硕士学位论文 件发布给应用程序开发用户。应用程序开发用户根据具体应用领域的需求,选择已 有的数据挖掘组件进行d m a s 的集成。 图1 2基于组件技术的数据挖掘应用开发模型 1 3 4 组件技术在构造数据挖掘系统中的意义 本文提出的数据挖掘系统的设计方案使系统在开发过程中在很大程度上重用相 互独立的数据挖掘组件,可实现在横向数据挖掘组件的基础上动态的构造纵向的面 向领域应用的数据挖掘系统。 利用数据挖掘组件构造数据挖掘系统与传统的直接设计开发数据挖掘系统相 比,有着明显的优点: 1 ) 数据挖掘组件是软件开发中一个可替换的单元,是设计用于执行某种特定的 数据挖掘任务,它代表了整个应用程序中的一个部件,它封装了自身的设计和实 现。应用系统开发者可以快速地组装组件,满足用户的具体需求,系统开发的效率 高。 2 ) 组件是能够跨越进程边界,实现网络、语言、应用程序、开发工具和操作系 统的“即插即用”的独立的对象。组件二进制互操作可以在不同进程、机器间“透 明”完成,使得开发者能够很容易实现分稻式的应用系统。 3 ) 组件的访问权限可以在系统发布时而不是在开发时指定,也可以根据实际应 用需求的变化做相应的调整,而不影响系统的运行。 4 ) 组件的部署比较灵活,有利于充分利用系统的硬件资源。实际应用时,可以 根据情况决定组件的部署。 c o m 组什技术在数据挖掘中的应用研究 1 4 本文主要研究内容 从本文1 3 1 节的讨论可以知道,对于目前国内外现有的数据挖掘系统的开发 和维护升级,无论是通用的或是专用的系统,都是比较困难的。在小规模的挖掘系 统中,应用的需求比较简单,这种问题并不十分突出。但是,随着数据挖掘应用规 模的扩大,要求系统能够提供的挖掘功能也大大增加。再者,由于i n t e m e t 发展迅 速,b s 结构的网络应用系统的推广,采用传统的挖掘系统开发模式已经不能很好 的满足要求。 本文通过对数据挖掘的任务、方法和实际应用的研究,提出在开发具体数据挖 掘系统中采用c o m 组件技术解决系统开发和维护等方面所面临的问题。系统采用 客户端c o m 组件数据库服务器结构。主要的部分是位于中间层的c o m 组 件,本文根据1 2 3 节介绍的数据挖掘一般过程将中间层的c o m 组件划分为数据存 取组件、数据表示的a c t i v e x 控件、数据预处理组件、算法组件和知识表达组件等 几种类型。所有的组件按照统一的规范开发和使用,在文中对各个类型的组件的设 计和实现进行了详细的讨论。并在最终的应用系统的集成做了有益的尝试和实践。 此外,为了解决特定的数据挖掘功能,本文中数据挖掘组件的设计和实现也涉及到 如a c t i v e x 、事件机制等c o m 扩展技术的研究与探讨。 1 5 论文的组织 本文共分六章: 第一章:绪论。介绍了数据挖掘技术以及目前的应用状况和面临的问题,提出 采用c o m 组件技术构造数据挖掘应用系统的设计方案。 第二章:软件组件规范与c o m 技术简介。介绍了当前流行的软件组件规范, 着重介绍了c o m 技术。 第三章:基于c o m 组件的d m a s 。研究了数据挖掘系统结构的演变,提出了 基于c o m 组件的d m a s 的结构。论述系统的工作原理和特点。 第四章:数据挖掘组件设计。研究了各类数据挖掘组件的工作原理,论述了组 件的功能和接口设计的策略研究等内容。 第五章:数据挖掘组件的实现和d m a s 的集成。分别研究了数据挖掘组件的 实现和整个应用系统的集成方法和技术。介绍了一个具体的应用实例。 第六章:总结与展望。 南京航空航大大学硕七学位论文 第二章软件组件规范与c o m 技术简介 2 1 软件组件规范 要实现基于组件的应用软件,组件规范是基础。组件和程序之间必须要遵循严 格的规范,整个软件系统才能正常运行。目前已制定的组件实现规范主要有 m i c r o s o f t 公司的c o m 、o m g 组织推荐的c o r b a 和s u n 公司的j a v ab e a n 。这三 种组件规范皆是针对二进制代码组件制定的,都在逻辑总线上实现了组件对象逻辑 分层和位置分布的透明性以及相关服务为基于组件的软件开发提供了一个对象管 理的基础设施。 2 1 1c o r b a c o r b a ( c o m m o n o b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,通用对象请求代理体系 结构) 是由o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 开发和维护的一种 开放的组件标准,跨越异种平台的基于对象的分布式应用体系结构参考模型。其解 决了平台的异构性问题,并为解决数据库系统的异构性提供了基础结构。c o r b a 的核心o r b ( o b j e c tr e q u e s tb r o k e r ,对象请求代理) ,提供了一种对对象可以透 明地发出请求和接收响应的软件总线机制,使用户可以在不了解实现交互细节的情 况下,建立共享资源的应用,从而能充分利用分布的、可以互操作的对象构造可以 互操作的应用系统。c o r b a 的优点是:与开发语言无关的独立性、与开发者无关 的独立性和与操作系统无关的独立性。c o r b a 的o r b 在当前每一种主流操作系统 上均有实现。除此之外,c o 耻 ao r b 可以访问多种语言实现的对象( 包括c + + , c o b o l ,s m m l m l k 和j a v a ) 。其缺点主要有: 1 ) 各种o r b 对c o r b a 的专有扩充。由于o m g 提供的是技术规范并非实现 细节,因此每种o r b 的版本都不是完全相同。有些公司在其产品上包含了扩展性 能。在利用这些扩展性能时,开发者可能不得不失掉o r b 间的互操作性和移植性。 2 ) 有大量的命令集。学习一家产品的详细命令要花费一定时间。 3 ) c o r b a 在使用时需要辅助的应用软件来支撑,而目前市场上的支撑软件功 能完善但价格都比较高,增加了客户投资免费的c o r b a 产品,提供的功能还不 尽完善。 c o m 组件技术在数据挖掘中的应用研究 2 1 2j a v ab e a n j a v ab e a n 是以j a v ab e a n r m l ( r e m o t em e t h o di n v o c a t i o n ,远程方法调用) 为 基础的组件标准,适合i n t e r n e t 应用和不同类型的终端设备的应用,并与d c o m 和 c o r b a 有很好的互操作性,组件描述和控制手段非富。j a v ab e a n 的缺点是纯j a v a 实现技术,限制了编程人员对语言的选择,而且只能运行在j a v a 虚拟机上,现有的 组件少。 2 1 3c o m 组件对象模型,即c o m p o n e n to o j e c tm o d e l ( 简称c o m ) ,是美国m i c r o s o f t 公司于二十世纪九十年代初期提出的组件化软件开发的标准。按照该标准开发的软 件组件可以在支持c o m 的操作系统上以二进制代码的形式被其他组件、应用程序 调用。c o m 是一种流行的且有大量实用组件的组件标准,目前已发展成为 m i c r o s o f t 软件世界的应用系统集成标准。其主要优点有: 1 ) 拥有高质量的开发工具和方便的向导,如v c + + 、v b 、d e l p h i 、c + + b u i l d e r 等。 2 ) 有大量的商品化( 如a c t i v e x ) 构件可供使用。 3 ) 具有动态和静态接口支持。 4 ) 支持多线程服务。 其主要缺点是只能在w i n d o w s 平台上运行,跨平台性差,无法满足异构环境下 应用的需求。 本文所研究的数据挖掘组件是一组数据挖掘专用的组件,应采用成熟技术进行 设计和开发。在软件平台上选择w i n d o w s 作为数据挖掘组件的标准工作平台,再综 合以上对于三种组件标准的比较讨论,本文研究的数据挖掘组件将采用m i c r o s o f t 的 c o m 组件规范作为组件的开发标准,并以c o m 为设计和实现数据挖掘组件的基 础。 2 2c o m 技术简介 2 2 1c o m 技术的起源和发展历程 m i c r o s o f t 公司的c o m 技术是在以复合文档为中心的o l e l 0 基础上发展而来 的。在o l e 技术出现以前,w i n d o w s 用户使用剪贴板简化复合文档的操作。微软在 南京航空航天大学硕士学位论文 1 9 9 1 年将d d e ( d y n a m i c d a t ae x c h a n g e ,动态数据交换协议) 扩充为一种标准,即 o l e l ,0 ,但o l e l 。0 称不上是真正面向对象的技术。随着技术的发展,o l e l 0 的设 计者开始意识到复合文档对象实际上是软件组件的一种特例。组件比复合文档应用 更广泛,为此,m i c r o s o f t 在1 9 9 3 年推出c o m ,并用c 0 m 体系结构重建0 l e 即 o l e 2 0 。1 9 9 5 年,为了适应i n t e r n e t 的发展,m i c r o s o f t 推出了a c t i v ep l a t f o r m 。 1 9 9 6 年m i c r o s o f t 正式发布了d c o m 。1 9 9 7 年,m i c r o s o f t 将a c t i v ep l a t f o r m 技术重 命名为w i n d o w sd n a ( w i n d o w s 分布式i n t e m e t 应用结构) ,d n a 仍然以c 0 m 为 基础,但在这里c o m 已经被增强为c o m + 。在w i n d o w s 2 0 0 0 中,c o m + 是 m i c r o s o f t 公司在c o m 组件规范基础上提出的组件软件方案,它集成了c o m 、 m t s 、d c o m ,并有所增强。c o m 的发展历程如下图2 1 所示: 图2 1c o m 的发展历程 从二十世纪八十年代提出的分布式计算到c o m 技术的基本成熟和完善,中间 经历了近二十年的发展,它汲取了分布式计算技术、剪贴扳技术、对象的链接与嵌 入技术、远程过程调用、事务服务器、消息队列等技术的优点和长处,能够很好的 支持组件软件的设计和开发。 2 2 2c o m 的基本原理 c o m 是生成软件组件的标准,它不是编程语言、程序代码或编译器,是构造二 进制兼容软件组件的规范,只有遵循c o m 规则,组件之间才能相互通信,实现互 操作。它是一种强有力的集成技术,它负责将一个软件模块和另一个软件模块连接 起来。组件模块之间通过接口进行通信。c o m 不仅提供了组件程序和客户程序之间 交互的协议细节,也提供了全面的实现过程 1 3 1 。 使用c o m 技术可以增强软件的互操作性,可以提高软件产业的生产效率。在 组件技术的模式下,软件系统可以被视为协同工作的对象集舍,其中每个对象都会 提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解 和调用。 c o m 组件技术在数据挖掘中的应用研究 早期的c o m 技术不具备跨计算机的远程调用能力,后来的c o m 标准增加了保 障系统和组件完整的安全机制,扩展到分布式环境,被称作d c o m 。d c o m 使用一 种基于标准的r p c ( r e m o t ep r o c e d u r ec a l l ,远程过程调用) ,提供了网络透明及通 信自动化。一它可以使运行于不同机器上的对象之间进行互操作,而且一个对象无须 了解另一个对象的位最。分布式对象技术也可以使全局的网络和信息资源看上去像 是本地的,这就使用户更容易也更快地访问重要的业务信息。通过分布式c o m 和 远程自动化,用户可以在整个网络内放置可执行组件,而根本无须知道所处理的信 息来自于什么地方i i “。 2 2 3c o m 的结构 接口 c o m 组件采用面向对象的方法,所有应用都被看作是一个对象,并通过接口提 供对象的服务。接口是两个软件模块之间的通信通道,它定义了一组逻辑上相关没 有被具体实现的虚拟函数,客户使用指向函数指针数组( 称为虚表v t a b l e ) 的指针 访问接口,而通过接口来获得对象提供的服务。 对于一个接口来说,它的虚拟函数表是确定的,接口的成员函数个数是不变 的,而且成员函数的先后顺序也是不变的;对于每个成员函数来说,其参数和返回 值也是确定的。每一个接口都由一个1 2 8 位的g u l l ) ( g l o b a l l yu n i q u e i d e n t i f i e r , 全局唯一标识符) 来标识,这个标识可以保证接口( 统计概率意义上) 在全球范围 内的唯一性。c o m 组件的接口是一些函数( 方法或成员函数) 的聚集,由i d l 定 义,是语言独立的,与组件的实现语言无关,经过编译后接口函数的位置是确定 的。 c o m 组件和对象 c o m 组件结合了面向对象技术和接口技术两种特性,面向对象仍是它的基本要 素之一。对象是某个类的一个实例,而类则是一组相关数据和功能的集合。使用对 象的应用称为客户。但在c o m 模型中,组件除了实现类的封装以外,还实现了接 口。c o m 模型中的类对客户来说是不可见的,客户请求服务时,只能通过接口进 行。客户通过g u i d 获得接口的指针,再通过接口指针,客户就可以调用其相应的 成员函数。至于具体功能如何实现,则完全由对象内部实现决定。所以,在c o m 模型中对象通过接口及接口中的函数为客户提供服务,对于客户来说,它只与接 口打交道。一般来说,接口是不变的,只要客户期望的接口在组件对象中还存在, 它就可以继续使用该接口所提供的服务。对象可以支持多个接口,因此对组件对象 的升级可通过增加接口的办法实现,这样得到的新接口可以不影响老接口的使用。 新客户可使用新增的接口,老客户可在不更新代码的情况下继续使用老接口。 南京航空航天大学硕士学位论文 与接口类似,每个对象也用一个1 2 8 位g u i d 来标识,称为c l s i d ( c l a s s i d e n t i f i e r ,类标识符或类i d ) 。只要系统中含有这个c o m 对象的信息,并包括 c o m 对象所在的模块文件( d l l 或e x e 文件) 以及c o m 对象在代码中的入口 点,客户程序就可以由c l s i d 来创建c o m 对象。对象对于客户来说只是一组接口 的集合。 c o m 组件的结构 c o m 组件提供给客户的是以对象形式封装起来的实体。一个c o m 组件的结构 通常如图2 2 所示: 接口1 接口2 图2 2c o m 组件的结构 接口是组件必不可少的部分,因为接口是应用程序和组件进行通信的基础。为 了使软件组件之间能够遵从统一的标准,每一个c o m 组件必须实现一个相同的接 口i u n k n o w n ,i u n k n o w n 接口在c o m 组件中起到很重要的作用,一个对象要想成 为c o m 组件必须实现i u n k n o w n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 羽毛球课件插图
- 新质生产力实际应用场景
- 肝脏移植后的康复训练与功能恢复
- 电影专业知识培训内容课件
- 电工预防火灾知识培训课件
- 成人外周静脉留置针的管理与维护
- 成人静脉留置针的正确维护与管理
- 成人经皮肾穿刺引流的留置与维护
- 金融机构一把手心得体会
- 公立学校数字化教学提升培训心得体会
- 成品油安全知识培训课件
- 2025年新闻记者资格证及新闻写作相关知识考试题库附含答案
- 2025年期权开户考试题库及答案(内附考试信息)
- 2025-2026学年湘鲁版(2024)小学英语四年级上册(全册)教学设计(附目录)
- 肺中下叶恶性肿瘤的个案护理
- 2025年山东省统一高考英语试卷(新高考Ⅰ)
- 年产8万吨DN900-DN1600mm球墨铸管项目可行性研究报告
- 幼儿园手工介绍课件
- 人教版五年级数学上册第三单元小数除法教学设计(表格式)和单元测试题
- 2025年湖南省中考地理试题(解析版)
- 弱电工程维保合同
评论
0/150
提交评论