




已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)基于对象族的移动代码中间件构建模式的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
f 一海大学倾 | 学位论又 ! 盐! ! ! 臣! ! ! 型! ! ! ! ! ! ! ! ! ! ! ! 曲! ! ! ! ! ! 型堕 摘要 网络技术的出现彻底改变了软件台勺计算模式,从l a n 时代的大型计算机模式 到i n t e r n e t 时代的分布式处理模式,计算模式的演化与网络技术的发展息息相 关。而随着处理器性能的快速增长和价格的降低以及宽带网络的出现,软件计算 模式丌始向着具有网络移动性的分布式处理方向发展。 在这种新的软件计算模式下,为了提高软件丌发的效率,本文借鉴软件工程 中设计模式和域工程的思想,针对网络移动性计算模式的实现方案之一移动 代码技术,提出了对象族的概念和基于对象族的移动代码中间件构建模式。它使 应用工程师可以根据不同的应用需求,使用对象族描述模型动态地对移动代码中 间件资源进行组合,并快速、高效地使用移动代码中间件来开发以“内容服务” 形式提供给用户使用的应用系统。 本文首先通过对移动代码技术在数据挖掘算法中间件库中应用时所遇到问 题的分析,提出了基于对象族的移动代码中间件构建模式,并给出了它的架构设 计和工作原理。然后详细讲述对象族描述模型和对象族容器的设计思想和具体实 现,它们协作实现了基于对象族的移动代码中问件构建模式。最后介绍了对象族 描述模型编辑器,它提供了图形化的操作界面,用于帮助用户牛成以x m l 文件格 式存储的对象族描述模型。 关键词:设计模式,移动代码,中间件,对象族,对象族容器 j 二海人学顾 学位沦文 ! 韭! ! ! ! 距型型! 业! ! ! ! 堕坠! ! g ! ! ! 塑! ! 堕盟 a b s t r a c t c o m p u t i n gm o d e lh a sb e e nc h a n g e dc o m p l e t e l ys i n c et h ee m e r g e n c eo fn e t w o r k f r o mt h ea g eo fm a i n f r a m ec o m p u t e rt ot h a to fd i s t r i b u t e dc o m p u t i n g ,t h ee v o l v e m e n t o fc o m p u t i n gm o d e li s c l o s e l yt i e d w i t ht h en e t w o r kd e v e l o p m e n t w i t ht h e e m e r g e n c eo ft h eb r o a d b a n da n dt h ep r o c e s s o r sd e v e l o p e dw i t hh i 吐s p e e da n dl o w c o s t ,c o m p u t i n gm o d e lh a sd i s p l a y e dt h e i rn e wf e a t u r e so f n e t w o r km o b i l i t y i no r d e rt o i m p r o v et h ee f f i c i e n c yo f s o f t w a r ed e v e l o p m e n t ,w ep r o p o s ea m o b i l e c o d e m i d d l e w a r ec r e a t i o np a t t e r nb a s e do no b j e c tf a m i l yu n d e rt h en e w c o m p u t i n gm o d e lo fs o f t w a r eb u i l d i n g ,w h i c hc o m e sf r o mt h ed e s i g np a t t e r na n d d o m a i ne n g i n e e r i n g i ta s s e m b l e sas e to fm i d d l e w a r e sd y n a m i c a l l yi na c c o r d i n gw i t h t h ep r o b l e m st h a tu s e r sf a c e ,a n dm a k e sa p p l i c a t i o ne n g i n e e r sd e v e l o pa p p l i c a t i o n s y s t e mb a s e do nm o b i l e c o d em i d d l e w a r e si nt h ef o r mo fc o n t e n ts e r v i c ef a s ta n d e f f i c i e n t l y i nt h i sp a p e r , w ed i s c u s st h em o b i l e c o d et e c h n i q u et ot h ed e v e l o p m e n to fd a t a m i n i n ga l g o r i t h mc o m p o n e n tl i b r a r y f i r s t a n dw ep r o p o s et h em o b i l e c o d e m i d d l e w a r ec r e a t i o np a t t e r nb a s e do no b j e c tf a m i l y t h e n ,t h es y s t e ma n a l y s e sa n d d e s i g no ft h ep a t t e ma r ep r e s e n t e d ad e t a i l e dd e s c r i p t i o no ft h et h e o r yu n d e r l y i n gt h e d e s i g no fo b j e c tf a m i l yd e s c r i p t i o nm o d e lm a do b j e c tf a m i l yc o n t a i n e ri sg i v e n , t o g e t h e rw i t hm a n yi m p l e m e n t a t i o nd e t a i l s f i n a l l y , w ee x p l a i nh o wt ou s eo b j e c t f a m i l yd e s c r i p t i o nm o d e le d i t o rt oc o n s t r u c ta no b j e c tf a m i l yd e s c r i p t i o nm o d e lt h a t i ss t o r e d j na x m i ,6 】e k e y w o r d s :d e s i g np a t t e r n ,m o b i l e c o d e ,m i d d l e w a r e ,o b j e c tf a m i l y , o b j e c tf a m i l y c o n t a i n e r 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校 可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名窖强铷繇熟 i 海大学硕二卜学位论文 ! 生! ! i ! 墅! ! ! ! ! 兰! ! ! ! ! ! 垡兰! 塑g ! ! ! 堕! ! ! ! ! ! ! 垃 第1 章绪论 软件的网络移动性是软件计算模式发展历程中的重要一步。本章首先介绍了 软件计算模式的发展,分析了软件的网络移动性,及其这一新的软件计算模式的 特点和优势,并在此基础上论述了j a v a 体系结构对网络移动性的支持。 1 1软件计算模式的发展 计算机微处理器的发展推动着从单一的大型机计算模式到个人计算机计算 模式的转变。网络技术的出现,尤其是伴随着i n t e m e t 的迅猛发展和普及,以及 网络带宽的不断提升,彻底地改变了软件的计算模式,使得软件的网络移动特性 脱颖而出,在软件计算模式中扮演着越来越重要的角色。 1 1 1网络移动性的重要性和必要性 在个人计算机流行之前,占据主要地位的计算模式是服务于多个终端用户的 大型计算机系统。大型主机是共享的,它被用来存储和组织数据、集中控制和管 理整个系统。这就是早期的集中式计算机糊络,又称为集中式计算模式。它最典 型的特征是:通过丰机系统形成大部分的通信流程,构成系统的所有通信协议都 是系统专有的,大型主机在系统中占据着绝对的支配地位,所有的控制和管理功 能都南主机来完成。 随着计算机技术的不断发展,尤其是大量功能先进的个人计算机的问世,使 得每一个用户都可以完全控制自己的计算机,进行他所希望的作业处理。个人计 算机( p c ) 计算能力的发展,使其逐渐成为独立的平台,导致一种新的计算模 式一分布式计算模式的诞生。 最早出现的是客户机n 务器分布式计算模式,它有良好的系统丌放性和可 扩展性。客户机服务器计算模式定义了客户计算机和服务器的交瓦形式,以便 实现数据和应用的共享,并利用客户计算机的处理能力将数据和应用分布到多个 处理机上。这种模式当时被用于工作组和部门的资源共享。 随着技术的进步,客户机n 务器模式逐渐向更深层次发展。最初它被称为 两层客户机服务器模式:一层是客户端,另一层是服务器。更复杂一些的模型 称为三层、四层或者n 层结构层次结构变得越束越多。最后,当更多的进 程加入计算时,客户1 端和服务器的区别变得模糊起来,于是人们开始使用这样 个名词分布式处理来涵盖所有这些结构模式。 分布式处理模式综合了网络和处理器发展的优点 1 ,将进程分御在多个处 理器l :运行,并允许这些进程共享数据。尽管这种计算模式在某种程度上提高了 l 海人号:顺1 :学位论) 坠! ! ! ! 臣塑! 坐卫型! 堕坠塑g ! 型型! ! ! ! ! ! ! 丝 生产效率,但是由于在分布式系统中,不同的组件往往存储在不同的存储介质上, 当系统规模达到一定的数量之后,其维护量将急剧增加,因而维护应用系统将变 得十分困难。所以,分布式处理的系统管理比大型计算机系统要困难得多。正是 在这背景下,软件的网络移动性计算模式应运而生。 1 1 _ 2软件的网络移动性 随着网络带宽及性能的不断提高,软件模式向着具有网络移动性的分布式处 理方向发展。网络带宽是指网络中可负载的信息总量。带宽的增长使软件代码可 以像数据样,通过网络从一个处理器发送到另一个处理器上执行。一旦软件可 以通过网络传输,整个网络就变得像一台计算机一样。在这种情况下,软件本身 也呈现出一种新的特征,并逐渐发展成为一种新的计算模式软件的网络移动 性计算模式。在这种新的模式中,由于软件和数据都是通过网络传输,软件和数 据的区别已经不那么明显,软件和数据统称为“内容”。 当软件的本质发生变化时,终端用户与软件的天系也随之变化。在新的软件 模式下,传统软件安装和升级的繁琐工作不再存在,终端用户将享受一种软件版 本自动更新的“内容服务”,软件的网络移动性使软件的安装和升级在无声无息中 自动地完成。终端用户不用再购买不同版本的多个软件应用程序,而只需订购一 个通过网络发布的、并带有相关数据的内容服务软件,然后这些软件和数据将会 自动实现更新。 1 2j a v a 体系结构对网络移动性的支持 j a v a 体系结构对网络移动性的支持,使得j a v a 和发展中的网络计算环境相 得益彰。j a v a 体系结构的基本特性也使得j a v a 对软件网络移动性的支持体现在 多个层面上。 1 2 1 j a v a 体系结构的基本特性 j a v a 体系结构对网络移动性的支持是和它对平台无关性和安全性的支持密 彳j 可分的。虽然平台无关性和安全性对网络移动性而言并非是必需的,但它们对 网络移动性的实际应用却有很大帮助。 一平台无关性 平台无关性使得在网络上传送程序代码更加容易。凼为不需要为每个不同的 主机平台都准备个单独的版本,所以也不需要判断每台计算机需要哪个特定的 l :辑天掌垧l 二学位论宜 旦! ! 型巴i 型! 业罂堕墅! ! g 业塑坚型 生产效率,但是由于在分布式系统中,不同的组件往往存储在不同的存储介质l , 当系统规模达到。定的数量之后,其维护量将急剧增加,因而维护应用系统将变 得十分困难。所以,分布式处理的系统管理比大型计算机系统要困难得多。正是 在返一背景下软件的网络移动性计算模式应运而生。 1 1 2软件的网络移动性 随着网络带宽及性能的不断提高,软件模式向着具有网络移动性的分布式处 理方向发展。网络带宽是指网络中可负载的信息总量。带宽的增长使软什代码可 以像数据群,通过网络从个处理器发送到另个处理器上执行。一旦软件可 以通过网络传输,整个网络就变得像一台计算机一样。在这种情况下,软件本身 也呈现出一种新的特征,并逐渐发展成为一种新的计算模式- - 一软件的网络移动 性计算模式。在这种新的模式中,由于软件和数据都是通过网络传输,软件和数 据的区别已经不那么明显,软什和数据统称为“内容”。 当软件的本质发生变化时,终端用户与软件的关系也随之变化。在新的软件 模式下,传统软件安装和升级的繁琐工作不再存在,终端用户将享受一种软件版 本自动更新的“内容服务”,软件的网络移动性使软件的安装和升级在无声无息中 自动地完成。终端用户不用再购买不同版本的多个软件应用程序,而只需订购一 个通过网络发布的、并带有相关数据的内容服务软件,然后这些软件和数据将会 自动实现史新。 1 2j a v a 体系结构对网络移动性的支持 j a v a 体系结构对网络移动4 降的支持,使得j a v a 和发展中的嘲络计算环境相 得益彰。1 a v a 体系结构的基本特性也使得j a v a 对软件网络移动性的支持体现在 多个层面上。 1 2 1j a v a 体系结构的基本特性 j a v a 体系结构对网络移动性的支持是和它对平台无关性和安全性的支持密 不l i j 分的。虽然平台无关性和安全陛对网络移动性而言并非是必需的,但它们对 刚络移动。阡的实际应用却有很大帮助。 _ 平台无关性 甲台无关性使得在_ 网络上传送程序代码更加容易。因为不需要为每个不同的 主机平台都准备一个单独的版本,所以也小需要判断每台计算机需要哪个特定的 主机平台都准备一个单独的版本,所以也小需要判断每台计算机需要哪个特定的 l 海人号:顺1 :学位论) 坠! ! ! ! 臣塑! 坐卫型! 堕坠塑g ! 型型! ! ! ! ! ! ! 丝 生产效率,但是由于在分布式系统中,不同的组件往往存储在不同的存储介质上, 当系统规模达到一定的数量之后,其维护量将急剧增加,因而维护应用系统将变 得十分困难。所以,分布式处理的系统管理比大型计算机系统要困难得多。正是 在这背景下,软件的网络移动性计算模式应运而生。 1 1 _ 2软件的网络移动性 随着网络带宽及性能的不断提高,软件模式向着具有网络移动性的分布式处 理方向发展。网络带宽是指网络中可负载的信息总量。带宽的增长使软件代码可 以像数据样,通过网络从一个处理器发送到另一个处理器上执行。一旦软件可 以通过网络传输,整个网络就变得像一台计算机一样。在这种情况下,软件本身 也呈现出一种新的特征,并逐渐发展成为一种新的计算模式软件的网络移动 性计算模式。在这种新的模式中,由于软件和数据都是通过网络传输,软件和数 据的区别已经不那么明显,软件和数据统称为“内容”。 当软件的本质发生变化时,终端用户与软件的天系也随之变化。在新的软件 模式下,传统软件安装和升级的繁琐工作不再存在,终端用户将享受一种软件版 本自动更新的“内容服务”,软件的网络移动性使软件的安装和升级在无声无息中 自动地完成。终端用户不用再购买不同版本的多个软件应用程序,而只需订购一 个通过网络发布的、并带有相关数据的内容服务软件,然后这些软件和数据将会 自动实现更新。 1 2j a v a 体系结构对网络移动性的支持 j a v a 体系结构对网络移动性的支持,使得j a v a 和发展中的网络计算环境相 得益彰。j a v a 体系结构的基本特性也使得j a v a 对软件网络移动性的支持体现在 多个层面上。 1 2 1 j a v a 体系结构的基本特性 j a v a 体系结构对网络移动性的支持是和它对平台无关性和安全性的支持密 彳j 可分的。虽然平台无关性和安全性对网络移动性而言并非是必需的,但它们对 网络移动性的实际应用却有很大帮助。 一平台无关性 平台无关性使得在网络上传送程序代码更加容易。凼为不需要为每个不同的 主机平台都准备个单独的版本,所以也不需要判断每台计算机需要哪个特定的 1 海大学硕十学位论义 ! 生呈旦! ! 臣型! ! ! ! ! ! 塑! ! 型墨! ! ! g ! 型也! ! ! ! 型y 版本,一个版本就可以适用所有的计算机 2 。 安全特性 j a v a 安全特性促进了网络移动性的推广。因为最终用户就算从不信任的来源 下载j a v a 程序代码,也可以充满自信地使用它。因此j a v a 体系结构通过对安全 性的支持,更好地推广了j a v a 代码的网络移动性。 _ 网络上传送程序的时间控制 除了平台无关性和安全性之外,j a v a 体系结构对网络移动性的支持主要集中 体现在对基于网络传送程序代码的时间管理上 3 。假若在服务器上保存了一个 程序,在需要的时候通过网络来下载它,这个过程一般都会比从本地执行该程序 要缓慢。因此,对于在网络上传送程序代码而言,网络移动性的一个主要难题就 在于时间的同步管理上。 a ) 动态链接和动态扩展 j a v a 体系结构通过把传统的单一二进制可执行文件切割成小的二进制碎片 j a v ac l a s s 文件来解决这个问题。c l a s s 文件可以独立在网络上传输,因 为j a v a 程序是动态链接、动态扩展的,最终用户不需要等待所有程序的c l a s s 文 件都下载完毕,就可以开始运行程序。第一个c l a s s 文件传输到位,程序就开始 执行。因此j a v a 体系结构通过把一个大型二进制文件分割成小的、可以按需装 载的c l a s s 文件,实现了对网络移动性的进一步支持。 动态扩展是装载c l a s s 文件的另一种方式( 如通过网络下载) ,可以延迟到j a v a 应用程序运行时才装载。使用用户自定义的类装载器,或者c l a s s 类的f o m a m e ( ) 方法,j a v a 程序可以在运行的时候装载额外的程序,这些程序会变成运行程 序的一部分。 因此,动态链接和动态扩展提供给j a v a 程序员一些设计上的灵活性,即可 以决定何时装载程序的c l a s s 文件,而这又决定了最终用户需要等待多少时间来 从网络上装载c l a s s 文件。 b 1 紧凑的c l a s s 文件 j a v a 体系结构对网络移动性的支持还通过c l a s s 文件的编码格式加以体现。 为了减少在网络i :传送程序的时间,c l a s s 文件被设计得十分简捷,有效。它们 包含的字节码流设计得特别紧凑之所以被称为“字节码”,是因为每条指令都 只占据一个字节。并且除了两个例外情况,所有的操作码和它们的操作数都是按 照字节对齐的,这使得字节码流的规模更小。 c ) j a r 文件 当使用h t r p 作为叫络传输协议时,为了避免单独为程序中用到的每一个 c l a s s 文件单独请求连接,j a v a 还包含了对j a r ( j a v a 打包归档文件) 的支持。j a r 文件允诈在次网络传输过程中传送多个文件,这和一次传送一个单独c l a s s 文 l 一海人学倾 i 学位论文 ! 韭! ! ! 臣! i ! 型! ! ! ! ! ! ! ! ! ! b ! ! 曲型堕型! ! ! 型y 件褶比,大幅度降低了需要的总体下载时问。由于j a r 文件中的数据可以压缩, 从而使下载时间呵以进一步减少。 1 2 2网络移动性的应用 在j a v a 体系结构基本特性的支持下,一些基本的网络移动性应用已经得到实 现,例如a p p l e t 和j i n i 技术的广泛应用和推广。 - a p p l e t j a v a 的设计目标之一就是开发a p p l e t ,它展示了j a v a 基于网络的所有特性: 平台无关性、网络移动性和安全性。所谓a p p l e t 就是一种执行于w e b 浏览器上 的小程序,它拥有真正与运行平台无关的能力 4 ,所以不露要单独为不同的运 行平台修改程序代码。当用户装载a p p l e t 网页时,系统便会自动完成安装和更 新动作。由于安全机制已经内置于核心的j a v a 语言和a p p l e t 中,因此不需担心 错误的程序代码破坏会用户系统。 一l i n i 建构在j a v a 对象序列化和r m i 之上的j i n i 足一个在本地对象模型上扩展而 成的分郝式对象模型 5 ,他让对象可以通过网络,从一个虚拟机移至另一虚拟 机上运行,足网络移动性在j a v a 平台中的另一个应用。分布式对象模型使得一 个虎拟机中的对象可以引用另一个虚拟机中的对象,调用那些远程对象的方法。 还可以在虚拟机之f 叫把对象当作参数、返回值或者方法调用抛出的异常来传输。 这神基于网络的j a v a 体系结构的设计,可以简化设计分匆式系统的任务,从而 有效地把面向对象编程带入到网络之中。 1 3研究内容 以上通过对软件计算模式的发展进行分析,描述了它的发展趋势软件的 网络移动性。作为网络移动性软件计算模式的实现方案之一,移动代码技术有着 广阔的应用前景,它也是j a v a 平台最仞的设计目标之一。j a v a 基于网络的平台 无关性、网络移动性和安全性等基本特性,使得j a v a 代码可以很容易从一个虚 拟机传输到另一个虚拟机t 执行。简单的说,j a v a 代码具有天然的网络移动性, j a v a 代码就是移动代码。 本文将网络移动性计算模式应用割数据挖掘算法中问件库的设计中。使用基 于j a v a 平台的移动代码技术,以“内容服务”的形式通过互联网向用户提供数 据挖掘算法程序。通过对设计过程中遇到问题的分析,提出了基于对象族的移动 代码中间件构建模式。基于该构建模式建立的应用程序能够动态地对移动代码中 d i 诲大学硕士学位论文 ! 生! ! ! ! 臣型! 生! ! 型! 生坠! ! 业! 坐! ! ! ! ! ! 型 间件进行组合,并形成具有内聚力的程序库单元。从而使系统应用工程师从复杂 的技术细节中解放出来,把注意力放在业务问题的解决上。 1 4组织结构 本文的组织结构如下: 第二章主要针对在移动代码中问件的实际应用过程中,所碰到的问题和不 足,提出了基于对象族的移动代码中间件构建模式,并详细分析了它的架构设计 和工作原理。 第三章和第四章详细叙述了对象族描述模型和对象族容器的设计思想和具 体实现。它们协作实现了基于对象族的移动代码中间件构建模式。这是本文的中 心内容,也是我们研究的核心。 第五章介绍了对象族描述模型编辑器,它提供了图形化的操作界面,用于帮 助用,、生成以x m l 文件格式存储的对象族描述模型。 第六章是对本文所涉及内容的总结,并给出了进一步开展研究的具体方向和 展望。 上海大学硕i 学位论文 ! 生! ! ! ! g ! 型! 坐唑! ! ! ! ! ! ! 型烛型坐竺皿一 第2 章基于对象族的移动代码中间件构建模式 基于移动代码中间件的数据挖掘算法中间件库设计 基于对象族的移动代码中间件构建模式 本章首先介绍了移动代码中间件技术在数据挖掘算法中间件库中的应用,并 掘此分析了在基于移动代码中间件的丌发过程中遇到的实际问题,然后提出了基 于对象族的移动代码中间件构建模式,并分析了它的架构设计和工作原理。 2 1移动代码中间件的应用实例 本节介绍数据挖掘算法中间件库的设计和丌发 6 。该库最初的设计是从代 码复用的角度出发,针对企业内用户建立的一个数据挖掘算法j a v a 代码库。考 虑到系统的可扩展性和执行效率,没有使用任何的商业组件技术( e j b ,c o r b a 等) 进行封装。 随着i n t e m e t 的发展,这种传统的局限于企业内的代码复用机制已经不能再 满足需求。由于越来越多的企业应用开始需要建构在i n t e m e t 之上,就需要将这 些已有的数据挖掘算法代码库以中间件的形式移植到i n t e m e t 上,以满足更加广 泛的用户需求。 2 。1 1数据挖掘算法中间件库 _ 设计目标 为了方便和加快数据挖掘算法的开发、交流,及其工程化和商业化,应用面 向组件的软件设计思想,通过对算法结构的组件化分析,把数据挖掘算法分解为 既相互联系,又相对独立的算法程序模块。同时构建一个可重用的、并且具有良 好可扩展性的数据挖掘算法中间件库,该中间件库面向的应用终端是可以访问 i n t e n a e t 的用户。 _ 设计原理 在实践中,根据数据挖掘的不同目标,可以把数据挖掘的任务分为以下几种 类型:探索性数据分析、描述建模、预测建模、寻找模式和规则、以及依照内容 进行检索等 7 。根据数据挖掘的化约观点 8 ( 亦是基于组件的观点) ,一旦有 了数据集和明确的数据挖掘任务,一个数据挖掘算法就可以认为是由以下几种基 本组件组成: a ) 用于拟合数据的模型或模式的结构( 函数形式) ,例如线性回! j _ 二1 模型,层次聚 上海火学硕i :学位论) ( ! ! ! ! ! ! g ! ! i ! ! ! ! ! ! ! ! ! ! ! ! 墨! ! ! g ! ! ! 婪! j ! ! ! ! ! ! z 类模型等 9 。这个结构定义了可以近似或学习的边界。在这个边界范围内, 数据可以用于引导获得特定的模型或模式。 b ) 用于根据观察到的数据判断拟合后的模型或模式质量的评分函数( 例如误分 类率或误差平方等) 。评分函数就是当把参数及模型拟合起来时需要最大化或 最小化的函数 1 0 。因此,评分函数在反映模型或模式不同参数化过程的实 际效果方面是很重要的。 c ) 用于对参数或结构进行搜索的搜索方法或优化方法,也就是使评分函数相对 特定的模型或模式最大化的计算过程或算法。这里的问题包括优化评分函数 ( 例如最陡峭下降) 以及与搜索有关的参数( 例如迭代的最大次量以及迭代 算法的收敛性 11 ) 。 表2 1 列出了对三种著名数据挖掘算法的组件化分析 8 表2 1 三种数据挖掘算法的组什化分析 c a r t反向传播a p r i o r i 任务分类和回归回归规则模式发现 结构决策树神经网络关联规则 评分函数交叉验证的损失函数误差平方支持度精度 搜索方法“贪婪”局部搜索参数梯度下降带修剪的广度优先 根据以上对数据挖掘算法的分析,数据挖掘算法中间件库主要由数据预处理 中间件库、模型结构中间件库、评分函数中问件库、搜索方法中间件库等四个中 削件库组成,如图2 1 所示。 数据预处理中间件库i 图2 1 数据挖掘算法中间件库 在实际的数据挖掘过程中,首先需要研究待挖掘数据的质量,并进行数据的 预处理,为进一步的数据分析做准备。因此除了前述的- - ;f e e 组件类型之外,中间 件库中还提供了数据预处理中间件库。其中封装了数据清理、数据集成和转换、 数据归约等常用的数据预处理方法。 上海大学硕十学位论文 ! ! ! ! ! ! ! g ! ! i ! ! 塑! ! ! ! ! ! ! ! ! ! ! ! g ! ! ! 竺! ! ! ! 墅! z 2 1 2架构方案 为了实现数据挖掘算法中间件库从企业内部向i n t e r n e t 移植的目标,目前存 在着各种各样的中间件技术可以使用,以下对它们进行逐一分析和比较: _ 基于商业组件技术( c o m + 、e j b 、c o i m a ) 使用商! 世组件技术对中间件库进行重新封装。在企业局域网中,使用这些组 件技术可以使应用获得良好的扩展性、负载平衡特性以及可维护性。但是由于运 行环境和防火墙等方面的限制,使得基于商业组件技术的方案很难在应用环境非 常复杂的i n t e m e t 中使用 1 2 1 3 。另外由于需要对大量的代码进行重构,使其 符合相应的商业组件框架,这需要相当大的工作量。 一基于w e b 服务 w e b 服务是随着i n t e r n e t 的发展产生的一种新的分布式计算解决方案。由于 基于i n t e m e t 上通用的h t t p 协议的先天特性,使其可以很容易穿透防火墙的限 制。客户应用可以通过h t t p 协议向用户发送服务请求,在请求中以s o a p 协议 的格式封装所有请求服务的类型以及参数。提供w e b 服务的服务器在接到服务 请求后,对服务请求进行解析并执行服务,然后将执行结果以s q a p 协议封装并 返回给用户 1 4 。 基于w e b 服务的解决方案虽然可以解决基于组件的分布式计算模式所难以 解决的问题,但是也需注意到为此付出的代价。如图2 2 所示,每一次完整 的服务必须经过四次s o a p 协议的封装和解析过程,而且文本类型数据的解析是 一个相当耗时的操作 1 5 。 s o a p s o a p 图2 2s o a p 协议的封装和解析过程 针埘数据挖掘这种应用复杂度相当高的应用,可以预见用户和数据挖掘算法 中间件服务之间的交互将相当频繁,从而使得基于w e b 服务的解决方案相当低 效。如果解决了效率的问题,w e b 服务还面临着海量数据的处理问题,这在数 据挖掘中是不可避免的。如果这些数据通过i n t e m e t 传送到w e b 服务提供者那 里,将是对网络带宽的一个严酷考验。另外对于企业数据来说数据安全性要求 也是必不可少的,刘大量数据进行加密显然是不可能的。另外由于数据挖掘是计 算密集型应用,因此这将使得w e b 服务提供者的计算负载相当大,尤其是当多 个服务睛求同时到达的时候。 l 海大学硕l 学位论文 ! 堕! ! ! ! 臣箜! 坐! ! ! ! ! ! ! ! ! ! ! ! g ! ! ! ! ! ! ! ! ! ! l 旦 _ 基于移动代码 如第一章所述,采用基于移动代码的分布式计算模式,将把算法代码通过网 络传送到请求数据挖掘服务的用户计算机上,然后在用户计算机上运行算法。在 这种新的计算模式卜- ,不存在w e b 服务提供者服务器的计算负载过大的问题以 及海量数据的传输和处理等问题。另外在数据挖掘算法中间件库的设计中,由于 采用了j a v a 作为开发平台,因此不存在网络移动性面临的跨平台和安全性等问 题。事实上,由于j a v a 代码具有天然的网络移动性,采用这种方案几乎不需要 对数据挖掘算法代码库进行大的修改,从而节省开发人员很多的工作量。因此, 移动代码中间件技术是一个理想的解决方案。 在确定使用移动代码的架构方案之后,一个用户需要以下几个步骤来得到一 个以内容服务形式提供的、完整的数据挖掘算法: a ) 首先,从数据预处理中间件库中检索并选择预处理方法。 b ) 从模型结构中间件库中检索并选择模型结构( 可能是一簇模型结构) ,例如决 策树、线性回归模型、局部回归模型或混和型模型等。 c ) 从评分函数中间件库中检索并选择评分函数( 例如误差平方和函数、基于交 叉验证的评分函数、似然函数等) 来评价选定的模型对于数据挖掘的支持程 度。 d ) 为了使评分函数达到最优( 包括最大化或最小化) ,还需要从优化和搜索中间 件库中检索并选择搜索和优化方法。 由此可知,用户需要亲自在中间件库中选择一组相互关联或依赖的中间件来 组成相应的算法,这对一般用户来说是一个非常专、眦的问题,尤其当中间件库相 当庞大和复杂的时候。事实上,中问件库的用户实际上关注的是如何使用一个算 法,而并不关心从哪里,以及使用哪些中间件来合成算法。而这正是提出基于对 象族的移动代码中间件构建模式的基本原因之一。 2 2基于对象族的移动代码中间件构建模式 本节通过对中间件实际应用过程中遇到问题的进一步分析,借鉴域工程和应 用工程,以及设计模式中抽象工厂模式的思想,提出了基于对象族的移动代码中 间件构建模式,并介绍其设计和工作原理。该技术不仅适用于数据挖掘算法中间 件库的设计与实现,而且适用于其他基于移动代码中问件的应用,它将使应用工 程师能够快速、高效地使用移动代码中问件资源来开发以“内容服务”形式提供 给用户使用的应用程序。 上海大学硕士学位论文 ! 堕! ! ! g 堕! ! 坐! ! ! ! ! ! 堕! ! 塑业堑! ! i ! ! ! ! 监 2 2 1域工程和应用工程 域是指一个问题或任务的范围,在其中可以开发多个高度相似的应用系统来 满足不同用户的特殊需求,这些系统程序的集合称为程序族或系统族 1 6 。领域 内的系统族之间由于共享领域知识,因此具有相似的设计、体系结构、服务和技 术。域的范围可大可小,可以是特定的业务功能,例如数据挖掘中的某一个算法: 也可以是特定的业务类型,例如数据挖掘。 域工程指一个创建应用工程环境的过程,该环境支持一个程序族中软件的快 速开发 1 7 。域工程是特定领域软件体系结构的基础,其主要目标是在域开发环 境中由域专家确定域的范围,建立域模型,由软件工程师输出领域内可重用的软 件资产,可重用组件等,为领域内的产品谱系提供一个灵活的、结构化的、系统 性重用的基础;例如数据挖掘领域内的专家通过对他们常用算法的组件化分析, 把数据挖掘算法分解为既相互联系,又相对独立的算法程序模块,并由软件工程 师构建一个可重用的、并且具有良好可扩展性的数据挖掘算法中间件库。这就是 数据挖掘算法领域的域工程实例。 应用工程是指由应用工程师重用软件资产,以领域的通用体系结构为开发框 架,开发一个系列应用软件的过程,主要包括完成需求分析、实例化参考体系结 构、实例化类属组件、自动或半自动地创建系统等 1 8 1 9 。例如根据用户的需 求,应用工程师使用数据挖掘算法中间件库中的算法程序模块,创建以“内容服 务”形式提供给用户使用的数据挖掘应用系统。这就是一个应用工程过程。 域工程和应用工程的关系如图2 3 所示。 图2 3 域工程和应用工程 在开发实际的软件系统时,要从域工程和应用工程两个角度进行考虑,从而 上海大学硕j 二学位论文 ! ! ! ! ! ! ! g ! ! ! ! 型! ! ! ! ! ! ! 垡! i 塑g ! 型型! ! ! 婴立 使特定领域软件体系结构的各个研究方向和内容有机的统一在一起,使特定领域 软什体系结构既具有严格的理论基础,又具有严格的工程原则。在数据挖掘算法 中间件库的设计中,已经通过域工程构建一个可重用的、并且具有良好可扩展性 的数据挖掘算法中间件库。现在的问题是,如何从应用工程的角度出发,帮助应 用工程师和用户快速,高效地创建基于数据挖掘算法中间件库的应用系统,这也 是数据挖掘算法中间件库的主要设计目标。 应用工程师在创建一个系统时,根据应用需求的不同,重新将数据挖掘算法 中间件库中的中间件组合在一起。这里他是从应用工程的角度来使用中间件库 的。对于简单的应用,中间件的组合并不复杂。但如果应用比较庞大,如何结合 这些中间件,以便形成具有内聚力的程序库单元,对于应用工程师来说就是一个 复杂度很高的问题 2 0 2 1 。本文提出的基于对象族的移动代码中间件构建模 式,就是根据不同的应用需求,动态地对中问件进行组合,以求自动形成具有内 聚力的程序库单元,从而帮助应用工程师快速,高效地创建基于数据挖掘算法中 间件库的应用系统。这样就使他们能够从复杂的技术细节中解放出来,把注意力 放在业务问题的解决上。 2 2 2对象族 作为前述问题的解决方案,本节将引出基于对象族的移动代码中问件构建模 式。对象族借鉴了软件工程设计模式中的抽象工厂模式的思想。抽象工厂模式是 创建型模式的一种。创建型模式抽象了对象的实例化过程 2 2 ,帮助一个系统独 立于如何创建、组合和表示组成它的那些对象。 创建型模式在“什么对象被创建”、“谁创建它”、“怎样被创建”、以 及“何时创建”这些方面给予用户很大的灵活性。它们允许用户使用结构和功能 差别较大的“产品”对象配置一个系统。配置可以是静态的( 即在编译时指定) , 也可以是动态的( 在运行时) 2 3 。 抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具 体类型的情况下,创建多个产品族中的产品对象,其结构如图2 4 所示。 【海大学硕士学位论文 图2 4 抽象i :厂模式 在抽象工厂模式中,将位于相同产品等级、功能相同的产品称为产品系 2 4 。将位于不同产品等级结构中,功能相关联的产品组成的家族称为产品族 ( p r o d u c tf a m i l y ) 。例如图2 4 所示,实箭头所指的就是三个功能相关联的 产品,它们位于三个不同等级结构的相同位置上,组成一个产品族。抽象工厂 模式适用于以下情况: 一个系统要独立于其组成产品的创建、组合和表示时。 一个系统要由多个产品系列中的一个来配置时。 当用户强调一系列相关的产品对象的设计,以便进行联合使用时。 当用户提供一个产品类库,只需要显示它们的接口而不是实现时。 从抽象工厂模式的设计思想出发,为了更好地论述基于对象族的移动代码中 间件构建模式,本文引入以下定义: a )中间件系 将处于相同的抽象层,向用户提供相似功能,并向用户暴露统一操作接口的 中间件集合称为中间件系。 b )巾间件族 把处于不同中间件系中,并且存在依赖关系的中间件的集合称为中l q l + 族。 中间件族表示构成某个应用解决方案的中间件之间的逻辑组合。 c )对象族 在j a y a 平台中,中间件是以类为单位的,构成中间件族的中间件类被对象 族容器实例化,得到对象的集合称为对象族。将实例化的过程称为对象族的实 例化过程或对象族的构建。 使用这些概念,可以很容易从应用工程的角度重新描述数据挖掘算法中间件 库的结构:算法中间件库由移动代码中间件系组成,它们是数据预处理算法中间 件系、模型结构中间件系、评分函数中问件系和搜索方法中间件系等。 列丁数据挖掘算法中的c a r t 算法,可以使用中问件族来描述:c a r t 算法 足山搜索方法中间件系中的决策树中间件、模型结构中间件系中的交叉验汪地损 j 再大学坝卜学位论文 堡! ! ! ! ! 臣型! 璺! 呈丛塑! 堕! ! 塑g ! ! ! 坐! ! 塑! 型 失函数中间件、评分函数中间件系中的“贪婪”局部搜索中间件组成的一个中 间件族。 因此中问件族就是用于解决特定问题的,具有内聚力的程序库单元。在数据 挖掘算法中间件库中,就是构成一个算法的、由移动代码中间件组成的程序库单 兀。 本文针对移动代码这种中间件技术,通过使用对象族描述模型向应用工程师 提供用于解决特定问题的中间件族的定义,在定义中包含了每个中f 叫件的位置和 安全策略等信息。对象族容器我们提供的基于对象族的移动代码中问件构建模式 实现平台的一部分,它将根据这些信息自动下载中间件的j a v a 代码,并创建供 客户端应用使用的对象族。这样将大大提高应用工程师创建基于中间件库的应用 系统的效率,从而提供软件开发的速度,并能有效地提高最终产品的质量。 2 2 3架构分析和工作原理 基于对象族的移动代码中间件构建模式的总体架构设计及其工作原理如图 25 所示,主要由对象族描述模型和对象族容器两部分组成。 _ 对象族描述模型 图2 5 系统架构设计 描 j :簿大学坝f 学位论义 ! ! ! ! ! ! g 望i ! ! 生! ! ! 墅! ! ! 苎! ! ! g ! ! ! 堕! ! :! 望! 生 在基于对象族的移动代码中间件构建模式中,对象族描述模型为对象族容器 有效并f 确地构建移动代码中间件对象族提供了驱动脚本,主要包含对象族构建 规范、对象族构建接口和模型签名信息三个组成部分,如图2 6 所示,它们被 放入一个j a r 文件中。 图2 6 对象族描述模型 构建规范中定义了构成某个应用域解决方案的中间件逻辑组合规则,以及安 全性方面的信息,它使用第三章定义的构建规范描述语言来描述。 构建接口提供了客户端应用和对象族容器之间交互的接口,客户端应用通过 它向对象族容器请求创建移动代码中间件族的对象族实例。 对象签名信息是为了保证通过网络传输到客户端应用的描述模型是可信任 的,基于对象族的移动代码中间件构建模式支持对描述模型的签名。对象族容器 将对描述模型的签名进行认证,以便保证描述模型在到达用户虚拟机的途中没有 被修改过。 硝奔旅 梅建容器 与在应用程序服务器上创建组件实例的技术( c o m ,c o m + ,e j b 等) 不同, 由于移动代码中间件是在客户空问中运行的,因此对象族容器位于客户端进程空 问中,如图25 所示。它主要完成以下功能: 获得对象族描述模型 对描述模型进行解析和认证 下载并装入移动代码中间件代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园中班教案《咏柳》
- 2026届西藏自治区日喀则市南木林高中高二化学第一学期期中监测试题含解析
- 高端人才选拔门户:空乘面试题库精 编
- 警校面试实战模拟题:职业素养与能力提升
- 剖腹产术后药水护理规范
- 系统式家庭治疗
- 小学生学科讲解
- 伤口医院感染防控与管理
- 相机工作原理与使用技巧
- 如何构建与维护高效团队
- 2025担保借款还款协议书(医疗器械融资)
- 2025年小学教师资格综合素质教育心理学理论应用测试题库
- 医院信息科笔试题库及答案
- 专题特训五等腰三角形的“三线合一”
- 无负压供水系统施工技术与方案
- 2025年高考真题-化学(湖南卷) 含答案
- 2025至2030中国无水氟化氢行业市场深度研究及发展前景投资可行性分析报告
- 2025至2030中国麻黄素原料药行业项目调研及市场前景预测评估报告
- 社保五险培训
- 2025至2030中国工业信息终端行业市场发展分析及发展趋势与投资机会报告
- 医院7S现场管理培训
评论
0/150
提交评论