




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)用xml和svg动态生成可交互性的数据报表.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学硕士学位论文 摘要 随着企业信息化范围的不断扩大和国内互联网基础建设的不断完善,现在越 来越多的企业需要使用c r m 、m s i 、工作流、o a 等软件来提高工作效率。由于 对跨地域协同办公和移动办公的需求不断增加,这些软件基本上都是基于b s 模 式的。这就面临着两个问题:第一,如何将不同数据源的不同格式的数据融合在 一起;第二,如何生成动态且可进行交互的图形报表来快速直观的表达数据。 对于第个问题,本文采用了x m l 和j a v a 语言来共同解决。j a v a 语言可 以操纵x m l 文件,在数据持久层将不同数据源的不同格式的数据统一处理成x m l 文件,既可将x m l 文件作为数据源,也可以将其转换为别的统一数据源。 第二个问题采用矢量的图形规范s v g 来解决。s v g 可以通过动态和交互式方 式进行绘图。在实际操作中,则是以嵌入方式或脚本方式来实现的。s v g 不仅提 供超链接功能,还定义了丰富的事件。 鉴于x m l 技术逐渐成为业界主流,基于s v g 的数据表现模型将使整个表现 过程更加灵活。这加强对了分布式办公和对不同类型终端的支持。 关键词:x m l ,s v g ,数据表现,动态,交互 湖北工业大学硕士学位论文 _ _ _ _ _ _ _ _ _ 一i _ _ - a b s t r a c t e x t e n d i n gc o n t i n u o u s l ya l o n gw it ht h ei n f o r m a t i o i l b a s e d s c o p e o f b u s i n e s s e n t e r p r i s ea n dc o n t i n u o u s l y p e r f e c t i n g w i t hl o c a l i n t e r n e t i n f r a s t r u o t u r e ,m o r ea n dm o r eb u s i n e s se n t e r p r i s o st o d a yn e e dt ou s et h e c r m ,m s i ,w o r kt of l o w ,o ae t c s o f t w a r et or a i s et h e i rw o r ke f f i c j e n c y b e c a u s eo f t h ec o n t i h u o u s l yi n c r e a s i n gd e m a n do fc r o s s t o w nc o o p e r a t i o na n d w o r k i n gt h r o u g hm o b i l e ,m o s to ft h e s es o f t w a r ea r eb a s e do r lb sm o d e s o t h e r eh a st w op r o b l e m st ob er e s o l v e d t h ef i r s t :h o wt ou n i tt h ed i f f e r e n t f o r m e dd a t aw h i c hc o m e sf r o mv a r yd if f e r e n td a t as o u r c e t h es e c o n d :h o w t o g e n e r a t e a d y n a m i oa n da l t e r n a n t s c h e m a t i c sw h i c hc a ne x p l a i nd a t a f l e e t l ya n di n t u i t i r e l y 一 t h ist h e m su s e st h ex m i 。a n dl a n g u a g eo fj a v at o g e t h e rt or e s o l y et h e f i r s tp r o b l e m t h el a n g u a g eo fj a v ac a nm a n i p u l a t et h ed o c u m e n to fx 札 tp r o c e s s e dt h ed a t aw i t hd if f e r e n tf o r mw h i e hc o m ef r o mv a r yd a t as o u r c e , t h e n g e n e r a t e dt h eu n i f i e dx m ld o c u m e n ci np e r s i s t e n c e1 a y e r t h eu n i f i o d x m ld o c u m e n tc a nn o to n l yb eu s e da sad a t as o u r c e ,b u ta l s oc a nb ec o n v e r t e d t oa n o t h e ru n if i e dd a t as o u r c e t h es e c o n dp r o b le mc a nb er e s o l v e db yt h ev e c t o rs c h e m a t i c sn o r ms v g s v g c i r lp l o ts c h e m a t i e sb yd y n a m i cs t a t ea n da l t e r n a n tm e t h o d i n p r a c t i c a l l y , i t sc a r r i e do u tb yi m b e do rt h es c r i p tm e t h o d t h es v gn o to n lyp r o v i d e s t h eh y p e r li n kf u n c t i o n ,b u ta 1 s od e f i n e sa b u n d a n ta f f a i r s o w i n gt ot h et e c h n i q u eo f x m lb e c o m e st h ei n d u s t r ym a i n s t r e a mg r a d u a l1 y , t h ed a t ap e r f o r m a n c em o d e lb a s e do ns v gw illm a k et h ep e r f o r m a n c ep r o c e s s m o r ev i v i d i tw i l ls t r e n g t h e nt h es u p p o r tb o t ht ot h ed i s t r i b u t e dt r a n s a c t s a n dd i f f e r e n tt e r m i n a lt y p e s k e y w o r d s :x m l ,s v g d a t a s h o w , d y n a m i c ,i n t e r a c t 2 湖北工业大学硕士学位论文 1 1 问题的提出 第1 章引言 二十一世界是一个信息爆炸的时代,每秒钟都有上百g i g ab y t e s 的数据在 i n t e r n e t 上传输,同时也有上百g 字节的数据产生,但它们根本无法及时得到处理, 利用效率非常低。如何高效地利用来自不同数据源的异构数据成为一个等待解决 的问题。数据融合就是在这一个背景下出现的一个新概念。我们可以将数据融合 理解为一个框架,它定义了用户融合来自不同数据源的方法和工具集,通常能够 保证更高质量的服务。 事实上,数据融合操作本身在各个领域都已经普遍存在了,并不是一个新的 事物。例如,遥感中的分类操作和数据融合有关,但数据融合这一新名词的出现 意在强调对来自不同数据源数据的综合挖掘。额外的独立或冗余数据通常能够提 高信息提取得质量。数据融合使得各类数据处理手段有机地结合起来,并能够在 融合过程中监控信息提取的质量。 基于b s 形式下的企业应用软件已经越来越多地普及在各个大中型企、忆这 些企业的系统不是一天建成的,很多个子公司的信息化步伐都不一样,对系统的 要求也不一样,所以会出现各个部门或者子公司所采用的数据源不同,数据形式 也不同。但企业的发展就是需要企业的数据得到内部充分的共享,这就面临着不 同数据源的数据融合的难题。而且在远程协同办公和多终端移动办公的需求不断 的加强的情况下,这些问题也日益体现出来。 现在有很多自动生成报表的软件,但要么就是针对的单一数据源,扩展性比 较筹;要么就是只能以p c 机为终端,对多种移动终端的适应能力比较差。为了既 能够对多种数据源进行数据融合和格式化又能够适应以后的多种移动终端,我选 择了x m l + s v g 的技术组合来解决这个问题。 可扩展标志语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 的出现使得各专业领 域能够以x m l 语言为基础创建适合本应用领域的标记语言来表示、存储和传输数 4 湖北工业大学硕士学位论文 据。由于这些格式的数据都是以x m l 我基础并且是自解释的,使得我们能够以 x m l 为框架建立起以企业应用软件为核心的数据融合和表现平台,并且以种更 简洁、更直观的方式表现数据。 s v g ( s e a b l e v e c t o rg r a p h i c s ,可升级矢量图像) 是一种基于x m l 的开放的矢量 图形描述语言。s v g 图像是与x m l l0 兼容的文档,s v g 元素是指示如何绘制图 像的一些指令,阅读器( v i e w e r ) 解释这些指令,把s v g 图像在指定设备上显示出 来。 x m l + s v g 的技术组合基本可以解决以上问题。由于不同的数据源支持的 s q l 是不同的,这就需要解决不同数据源的统一性问题。由于用户的数据是动态 的,而s v g 是静态的,这就要解决动态生成s v g 图形及报表的问题。为了解决 b s 模式下软件的这种问题的通用性,则必须要解决软件复用的问题。这些问题也 是这次研究的重点。 1 2 文章的组织 本文由如下几个部分组成: 引言:讨论了数据融合的产生背景,认为现代基于b s 形式的企业应用软件 面临着数据融合的难题,并且能生成适应多终端的数据报表也是个头疼的事情。 第一章:介绍了b s 模式下的软件的产生和发展,突出了b s 模式的优势和 应用的广泛性。 第二章:介绍了x m l 技术的应用和发展,对x m l 技术的产生背景和其中的 重要概念作了相应的介绍。 第三章:介绍了基于x m l 技术的数据融合的理论基础和初步实现构想。 第四章;介绍了s v g 技术的产生背景及其以后的发展情况,并介绍了如何动 态数据表现其条形图、线图、散点图的基本实现方式a 第五章:介绍了软件复用技术的背景、存在的问题、优点以及以后的发展方 湖北工业大学硕士学位论文 向,让大家对软件复用有了初步的了解。 第六章:介绍了以前面几章提到的技术为基础的演示系统,探讨了演示系统 实现中的。些问题和技术讨论。 第七章:本文的结论及对x m l 技术的展望。 最后包括了参考文献和目录。 1 。3 课题来源 该课题基于2 0 0 3 年湖北省教育厅重点项目“m i s 系统构件技术研究”。 6 湖北工业大学硕士学位论文 第2 章基于b s 模式的软件的产生和发展 2 1 b s 模式产生的背景 近来,随着网络技术不断发展,尤其是基于w e b 的信息发布和检索技术、j a v a 计算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构 从c s 结构向更加灵活的多级分布结构演变,使得软件系统的网络体系结构跨入 一个新阶段,即b s 体系结构( b r o w s e r s e r v e r 的简称,浏览器服务器模式) 。 2 。2b ,s 模式的结构 b s 结构是真正的三层结构,它以访问w e b 数据库为中心,h t t p 为传输协 议,客户端通过浏览器( b r o w s e r ) 访问w e b 服务器和与其相连的后台数据库,我们 称之为b s ( b r o w s e r s e r v e r ) 模式。其三级结构组成如下图所示: 图1b s 模式下的三级结构 图中从左到右,分为三个层次: 第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输 出功能。在客户端向指定的w e b 服务器提出服务器请求,w e b 服务器用h t t p 协 议把所需文件资料传给用户,客户端接受并显示在w w w 浏览器上; 第二层w e b 服务器是功能层,完成客户的应用功能,即w e b 服务器接受客户 请求,并与后台数据库连接,进行申请处理,然后将处理结果返回w e b 服务器, 7 湖北工业大学硕士学位论文 再传至客户端; 第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处 理。 g 湖北工业大学硕士学位论文 第3 章x m l 技术的应用和发展 在讨论数据的融合和动态生成s v g 报表前,让我们先对x i v l l 及其应用有些 基本的了解。 3 。1 x m l 技术介绍 x v l l 技术在近几年获得了很大的发展,) 0 “i ,技术体系涵盖的内容也越来越 多,这里只介绍最基本的以及与本文相关的一些内容。 3 1 1x m l 的定义 ) 口l 将s g m l 的丰富功能与h t m l 的易用性结合到w e b 的应用中,保持了 s g m l 的可扩展功能,这使x m l 从根本上有别于h t m l 。x m l 不再是固定的t a g ( 标记) ,而是定时数量不限的标记来描述文档中的资料,允许嵌套的信息结构。 h t m l 只是w e b 显示数据的通用方法,而x m l 提供了个直接处理w e b 数据 的通用方法。h t m l 着重描述w e b 页面的显示格式,而x m l 则着重描述w e b 页而的内容。 x m l 是一种存储结构化和半结构化信息的理想数据格式,这些被格式化的信 息这些被格式化的信息可以在不同的媒体介质上发布和出版。本质上x m l 是一种 原语言,是一种描述其他语言的语言。它的目的是创建一种简单而又强有力的信 息存储、处理和分发机制。 关于x m l 的详细内容可以访问站点h t t p :w w w w 3 o r g x m l 。 9 湖北工业大学硕士学位论文 3 1 2 d t d ,s c h e m a 和x m l 应用 x m l s c h e m a 是w 3 的推荐标准,于2 0 0 1 年5 月正式发布,经过数年的大规 模讨论和开发,终于最终定下来,使得x m l 文档描述有了一个国际标准。x v l l s c h e m a 目前己经基本取代rd t d 在x m l 刚刚成为w 3 推荐标准时的地位。由于 x m l 是s g m l 的一个子集,因此它也继承了s g m l 世界中用于文档描述的d t d 。 然而,d t d 有着不少的缺陷: 1 ) d t d 是基于正则式的,描述能力有限。 2 ) d t d 没有数据类型的支持,在大多数应用环境下能力不足 3 ) d t d 的约束定义能力不足,无法对x m l 实例文档作出更细致的语义限制。 4 ) d t d 的结构不够结构化,重用的代价相对较高 5 ) d t d 本身不是x m l 文档,而d t d 的构建和访问并没有标准的编程接口, 无法使用标准的编程方式进行d t d 维护。而札s c h e m a 正式针对d t d 的这些 缺陷而设计的,x m ls c h e m a 本身就是个x m l 文档,具有很强的描述能力、扩 展能力和处理维护能力。 x m ls c h e m a 的主要目的是用来定义一类x v l l 文档,每一个完整的s c h e m a 代表着一个x m l a p p l i c a t i o n ,即一个x m l 应用。文章后面提到的s v g ,v o i c e x m l 等都是x m l 的应用。因此s c h e m a 的“实例文档”常常用来表示一个特定的x m l s c h e m a 相一致的x i v l l 文档。 关fx m ls c h e m a 的详细规范可访问h t t p :w w w w 3 o r g x m l s c h e m a 。 3 1 3x s i j x s l t ,全称e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n ,用于将某一个x m l 转换为其它结构的x m l 。最简单的应用情况涉及两个文档:包含源数据的x m l 文档和用来转换该文档的x s l t 的风格样式表单。x s l t 处理器把x s l t 风格表单 1 0 湖北工业大学硕士学位论文 的规则应用到x m l 文档从而输出x h t m l 、w m l 、s v g 或者几乎其它任何x m l 格式的文档,如下图所示: 图2 x m l 转换流程图 对特定的一个x m l 源数据文件而言,应用不同的x s l t 风格表单,将会生成 不同的x m l 输出。 关于x s l t 的详细规范可以访问h t t p :w w w w 3o r g s t y l e x s l t 。 3 2x m l 在语音上的扩展 这里只介绍两种和语音相关的x m l 应用。 3 2 1v o i c e x m l 简介 v o i c e x m l 是基于x m l 的语音标记语言,为语音和电话应用的开发者、服务 提供商和设备制造商提供了一个智能化的a p i 。 w 3 已经正式推出了v o i c e x m l 2 0 版,3 0 的正式的版也即将推出。v o i c e x m l 的标准化将简化w e b 上具有语音相应服务的个性化界面的创建,使人们能够通过 语音或电话访问网站上的信息和服务,就像今天通过c g i 脚本一样检索数据库, 湖北工业大学硕士学位论文 访问企业内部网,制造新的语音访问设备。v o i c e x m l 的主要目标是将w e b 上已 有的大量应用、丰富的内容,让交互式语音界面也能够全部享受。而在这一过程 中,v o i c e x m l 希望能够将应用开发人员们从最低级的编程和资源处理工作中解放 出来。v o i c e x m l 能够利用人们已经非常熟悉的客户机服务器模式,将语音服务 和数据服务融合起来。 下面是v o i c e x m l 的一个例子: 一个文件服务器,比方说个w e b 服务器,处理一个来自终端应用的请求, 这一请求经过了v o i c e x m l 的解释程序和v o i c e l 解释程序语境处理。作为相 应,服务器产生出v o i c e x m l 文件,在回复当中,要经过v o i c e x m l 解释程序的 处理。 v o i c e x m l 解释程序是一个计算机程序,它解释一个v o i c e x m l 文件,引导和 控制用户与执行平台之间的交互作用。v o i c e x m l 解释程序语境也是一个计算机程 序,用一个v o i c e x m l 解释程序解释。个v o i c e x m l 文件,并且可以与执行平台 相互作用而与v o i c e x m l 解释程序无关。执行平台,是指一个能支持v o i c e x m l 定义的交互作用的计算机,它上面要加载相应的软件和硬件,比如:a s r 、t t s 。 关于v o i c e x m l 的详细规范可以访问h t t p :w w w w 3 o r g v o i c e 。 3 2 2j a v a 语音标记语言( j s m l ) j a v a 语音标记语言( j a v as p e e c hm a r k u pl a n g u a g e ,简称j s m l ) 是应用程序 用来向j a v as p e e c h a p i 语言合成器注释文本输入的一种语言。 j s m l 向语音合成器提供关于如何朗读文本的详细信息。j s m l 包括具有如下 功能的一些元素:描述文件的结构、提供单词和短语的发音、在文本中放置标志 符。j s m l 还具有能够控制断旬、重音、语调、语速及其它重要特征的韵律机制。 对文本的适当标志有利于提高合成语音的质量和自然性。j s m l 采用u n i c o d e 字符 集,因此能够被世界上许多语言用来标识文本。 关于j s m l 的详细规范可以访问h t t p :j a v a $ 1 t l n c o m p r o d u e t s j a v a - m e d i a s p e e c h 。 湖北工业大学硕士学位论文 第4 章基于x m t 的数据融合 x m l 作为一种元标记语言在越来越多的专业领域找到自己的位置,各种x m l 应用成为各自所在领域交换和存储数据的标准形式,并在网络应用上成为主流格 式。 4 1 数据敲合 4 1 1 数据融合的概念及特点 数据融合,即d a t af u s i o n ,是出现时间不太长的概念,它代表一种信息获取 方式。数据融合在不同的领域有不同的表现形式,本质上它基于来自多种数据源 的数据的协同处理。数据融合意味着一种同时在不同领域内得到应用的信息获取 方式,通常能够保证更高质量的信息。人的视觉就是一个很好的数据融合提高信 息质量的直观例子:人的双眼视角略微不同,这样就使得人能够感受到立体感和 深度感。也就是说,双眼扩展了单眼的视力。 对数据融合的研究事实上早就存在,只是各个领域采用的方法和名字各不相 同而已。数据融合这一名词的出现表明了一个共识:不管在哪个应用领域,那些 对数据的协同处理方式存在共同的问题,有着共同的特点。对这些问题的特点和 研究成为当前学术界的一个研究热点。参与融合的数据的特点,数据融合的方法, 以及数据融合的体系结构等等都是值得关注的问题。这些问题的解决使得更加完 善的融合过程的分析、设计和实现成为可能,从而使得我们能够更加轻松地设计 合理的方法和算法来监控整个过程的质量。 这里要注意数据融合( d a t af u s i o n ) 和数据集成( d a t ai n t e g r a t i o n ) 的区别: 数据集成是指多种数据的叠加,叠加的集成数据中,仍保存原来的数据的特征, 湖北工业大学硕士学位论文 如数字地图;数据融合则是多种数据经合成后,不再保留原来数据的单个特征, 而产生一种新的综合数据,如影像合成。集成的数据没有产生根本的变化,而融 合的数据产生了根本的变化,产生了新的数据。 4 1 2 数据融合的优点 强壮性和可靠性。即使在一个或多个数据源不可用或不正常的情况下,系 统仍然能够运行。 在空间和时间上覆盖面更广。 数据空间的纬度得到更大的提升。提高了信息推理的质量,降低了系统脆 弱的程度。 系统的不确定性降低。更多完整的信息使得各类假设的区分、辨别能力得 到提高。 提供了种对现存数据进行协同处理、挖掘的解决方案。 4 1 3 数据融合的难点 显然,为了提高系统本身的强壮性和可靠性,以及系统服务的质量,数据融 合足可行方案之一。 同时,数据融合引入了很多新的技术,用户对系统也提出了新的需求,在应 用新技术满足用户新的需求的过程中将不可避免地产生很多新的问题。这些问题 可以分为如下几类: 1 数据的可达性 可达性问题即用户难以获取信息。数据融合的最终目的是提供给用户更高质 量的信息,但如何将经过融合之后的数据提供给用户是一个需要研究的问题。就 数据融合系统本身而言,它并不针对任何的客户端,为了更好的将信息展示各用 户,系统首先需要让广大用户能够找到自己需要的数据,然后需要针对客户端用 户对融合后的数据进行包装、定制。 1 4 湖北工业大学硕士学位论文 由于以下三方面的原因,使得数据可达性问题成为数据融合中的难点: 元数据的管理 用户在i n t e m e t 上寻找信息时很容易陷入其中,被各类低质量的网络资源所烦 恼,无法快速定位自己所需要的资源;而一旦找到自己需要的资源节点,也可能 会面对该节点提供的各类服务而感到无从下手。这就要求系统一方面提供描述系 统资源的目录服务给终端用户;另一方面,也需要提供良好的元数据服务,使得 用户能够通过搜索引擎找到自己。 数据类型的多样性 对数据融合而言,这是很显然的。数据的多样性是数据融合存在的原因之一, 但也是引起数据可达性问题的根源之一,因为用户为了从这些数据获取信息,必 须要对具备处理这些数据的能力。而数据融合系统的任务就是尽量减少客户端的 负担,以类型尽量少的数据表现最终信息。 客户端的多样性 在数字化的城市中,任何一个与i n t e r n e t 或无线网络连接的设备可能是数据融 合系统的客户端,而它们的计算能力,网络带宽阱及人机界面等都各不相同。如 何使数据融合结果更好地适应客户端成为一个问题。 2 系统的扩展性 数据融合的对象可能是异构的、分布式的,它们经过内含一定逻辑规则的操 作生成用户需要的数据,因此,某一特定数据融合操作的结果在很大程度上取决 于“数据源”和“控制逻辑”。就“数据源”而言,一方面,分布式的数据源相对 与单机中或局域网内的“数据源”而言是一个动态的数据服务提供者,在数据融 合系统的运行过程中,并不能保证每一个数据源在需要的时候是可得到的;另一 方面,在系统运行过程中,可能会有新的数据源加入或原有的数据源与系统脱离。 f | i “逻辑控制”主要由用户需求决定,也是动态的,系统根据用户的数据请求动 态地决定融合操作的逻辑规则。简单而言,系统需要处理以下四类问题: 数据源在原数据库中的登记和注销;这是计划内的。 湖北工业大学硕士学位论文 数据源在系统请求时不可得;这是突发的。 。用户发出数据请求,使得系统需要向新的数据源获取某一部分数据;这是 突发的。 用户发出数据请求,使得系统不再需要某一数据源的数据;这是突发的。 以上四类情况中,前两者由数据源本身触发,后两者由享受服务的用户触发。 一个可运行的数据融合系统必需能够处理这些情况。为解决这问题,一方面需 要为系统设计合理的体系结构;另一方面,需要采用合适的服务器端技术,以保 证系统的可扩展性,能够处理融合过程中由动态数据源和动态请求引起的各类问 题。 3 系统的互操作性 互操作性问题是指用户难以操纵和理解信息;由于不同的系统产品的纵向型 产品线造成了信息提供者与软件服务提供者的一体化,不同系统之间边界分明、 用户难以理解和操纵异构信息的局面。 象m i s 、c r m 、w o r k f l o w 等系统,经过这么多年的发展,都保持着良好 的发展势头,但是这些系统依旧被认为是信息孤岛,应用部门在开发系统是通常 根据本部门特定情况采用不同的数据建模方法,选用不同的开发工具和运行平台, 这样对数据的组织有很大的差异。这使得在不同的系统间的数据交换存在困难, 采用数据转换标准也只能解决部分问题。另外,不同应用部门有各自的要求和理 解,对信息有不同的数据定义,这使得领域间在共同协作中进行信息共享和交流 存在障碍,这些问题归结为系统间的互操作性问题。因此,如何实现互操作成为 信息融合的难点之一。 互操作能力的定义是:各自治系统在对数据和请求共同理解的基础上进行交 换数据和操纵处理请求的能力。这里可以看到提高系统的理解能力和被理解能力 是提高系统互操作性能力的关键。 1 6 湖北工业大学硕士学位论文 4 2 x m l 的多线程解析 在b s 模式的企业软件应用中x m l 扮演一个重要的角色。在这些应用中采用 s i m p l e a p if o rx m l ( s a x ) 或者d o c u m e n t o b j e c t m o d e l ( d o m ) 解析器来解析x m l 文件。( 这两个解析器都是j a v a 的a p l ,他们可以在下面的附录中找到) 在一个单 线程应用中解析是简单明了的。但是,在多线程的应用中这就是很复杂和具有挑 战性了,比如说做一个应用服务器,因为应用经常会为解析x v i l 创建一个专门的 线程,解析的数据用来为许多同时并发运行的线程服务。 4 2 1设计方法 在基于并发的多线程x m l 解析设计概念中,个专门的线程作为一个提供者 去解析x m l ,组线程作为使用者。作为解析x m l 数据的提供线程,他把数据 存储在一个共享的数据结构中以供使用线程在将来进行处理时取得,为了最大化 产生数据的能力同时最小化内存的使用,这个设计使用了一个特别的队列来分别 为提供者、使用者存储和找到解析的数据。以下为几个重要的内容: 1 灵巧的队列( s m a r tq u e u i n g ) s m a r t q u e u e 队列类提供给提供使用线程们队列的功能,他主要的责任是维护 队列防止( 线程) 超载和断流。换句话说,s m a r t q u e u e 采用维护一个固定长度的 队列的方法去保持资源的应用效率。他挂起和唤醒适当的线程在适当的时候,打 个比方,如果没有填充数据的空间,队列将挂起提供线程直到一个使用线程从队 列罩移去一项。 2 ,结尾元素( e n d e l e m e n t ) 结尾元素( e n d e l e m e n t ) 方法负责把解析的数据加到s m a r t q u e u e 队列中。就 象前面提起的,s m a r t q u e u e 队列挂起这个线程直到没有空间来存储数据。 最终,结尾文档元素( e n d d o c u m e n t n b s p ;) 回叫方法通知消费线程到达了 x m l 文档的结尾。这意味着消费线程不用去等待其他数据完成他们的工作。 湖北工业大学硕士学位论文 3 使用线程( u s e t h r e a d ) 使用线程移从s m a r t q u e u e 队列中除项目一旦提供线程把项目放入s m a r t q u e u e 队列。如果s m a r t q u e u e 队列为空,每个使用线程将要进入等待状态。使用线程会 直运行直到生产线程通知已经达到了文档元索的结尾而且s m a r t q u e u e 队列中再 没有项目了。这里有一个使用线程的例子实现,他保持不断地从s m a r t q u e u e 队列 中取数据直到队列中没有数据或者达到了文档元素的末尾。 s m a r t q u e u e 队列执行固定长度队列的策略来维护内存的效率。改变它的t 取 ( t a k e ) 和存( p u t ) 方法,可以执行一个不同的策略。在前面提到的x m l 解析控制 器( x m l p a r s e r h a n d l e r ) 产生一个x m l 元素和值的h a s h t a b l e 。 4 2 2 多线程解析的优点 这种方式的优先是:解析和数据消费可以并发的进行。大的x v i l 文件只用很 少的内存就能被解析。 4 3x m l 的多种数据融合模型 应用系统总会随着底层技术的发展和用户需求的改变而呈现不同的状态。移 动办公和跨区域集团办公是企业软件和移动通讯技术结合的必然结果,更是用户 和企业迫切需要的结果。但是移动办公或跨区域集团办公和普通的m i s 或c 1 l m 等 软件使用的用户有很大的不同,这些用户的终端多种多样,而且数据源也不统一, 这些问题都需要一个可以格式化的手段来解决。 因此,本节讨论一下以m 。为基础的多种类型数据融合。 4 3 1 为什么选x m l 通过前面的介绍,我们知道,x m l 作为一种结构化的标识语言具有极强的扩 湖北工业大学硕士学位论文 展能力,从文档存储到数据编码,再到元数据表达,x m l 几乎出现在计算机软件 的每一个领域。由于x l v i l 是一种开放的、公有的标识语言,任何机构、任何个人 都,h j 以建立自己的x m l 应用,而一旦) m 也在某一个领域的应用流行起来。w 3 ( w w w w 3o r g ) 协会就会联合各大机构和厂商制定该x m l 应用的业界标准。 目前为止,几乎所有类型的数据都有相应的帆编码格式,因此,选择x m l 怍为数据融合的基础的原因就不难明白了: 1 相同的数据编码基础 融合同类型数据的难点在于这些数据有不同的编码格式,有的是a s c i i 文本 格式,有的是二进制流的格式,很难以一种合理的方式将这些数据组织在一起。 但采用x m l 技术以后,情形就大为改观了。各种类型的数据基本上都有相应的 x m l 编码方式,而且x m l 的数据格式逐渐成为主流。各大厂商都为自己专有的 格式提供了转换为x m l 的转换工具,使得得到x l v l l 编码格式的数据变得相当容 易。在进行多类型数据融合前,对于那些原始格式不是x m l 的数据,可以首先将 它们转换成x m l ( 当然,这对数据融合是透明的) ,然后,数据融合所操作的对 象将全部是x m l 编码的数据。虽然不同类型的m 。数据文件有不同的文档结构, 但只要掌握了这些文件的s c h e m a 或d t d ,文档结构的差异将不再是问。 2 无所不在的x m l 解决方案 经过几年的发展,x m l 已经在元数据功能的基础上衍生出很多技术,很多技 术解决方案出现了采用) m 技术的替代方案,比如,用户分布是对象交换信息的 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,即简单对象访问协议技术) 、用户查询的 x q u e r v 技术等。相比其他技术,这些技术能够更好地和x m l 编码的数据配合工 作,并且有可能构建一个纯x m l 的数据融合解决方案。这样做将能够大大简化系 统的结构和实现,并且便于和其它系统信息交换。 3 灵活的扩展和数据组织机制 s c h e m a 技术、n a m e s p a c e 技术以及x l i n k 技术使得用户能够很容易地将属于 1 9 湖北工业大学硕士学位论文 不同类型、位于不同文件的x m l 数据用一个x v l l 文件组织起来。 事实上,我们只要为融合后的数据文件制定s c h e m a 加以规范,就可以得到多 类型数据融合后的数据编码方式。 4 3 2 多种数据融合的体系结构 在b s 模式下的企业软件中,多类型数据融合服务也是数据服务的一部分, 但在体系结构中,它为与数据空间融合服务的上部。事实山,前者需要后者提供 的空间数据融合服务。下图为多类型数据融合模型的结构图: :多类型数据融合绪策 :数据的搜索、疆取 :数据精求,逻簧规剧 固t 无数撕更新 图3 多类型数据融合结构图 组成多类型数据融合模型的各个模块有其自身的特点: 1 x m l 数据源 x m l 数据源由分别存放不同类型数据的数据源组成。系统并不关心某个数 据源内部是如何组织的,重要的是每个数据源提供给x m l 融合服务模块以x m l 格式数据的存取借口。这样,在融合服务模块看来,每一个数据源里存放的都是 湖北工业大学硕士学位论文 x m l 格式的数据。 2 元数据服务 每一种类型的x m l 数据源在元数据服务中有一个元数据库,分别接受融合管 理模块的查询和相应数据源的内容更新。 3 x m l 融合服务 本模块从管理模块接受数据请求和融合逻辑规则,然后从数据源获取数据, 按逻辑规则进行融合,最后将处理结果返回给管理模块。本模块处理的对象都是 x m l 文件,没有太多的转换操作,主要是。文件到合并、重组。 4 多类型数据管理模块 本模块是多类型数据融合模型的控制模块,它将上层应用的请求转换为其它 模块能够理解的规则,然后向其它模块发出请求。由于管理模块可能同时处理不 止一个数据请求,它还必须负责跟踪来自上层应用的每一个请求,通过i d 号将来 自。数据融合模块的x m l 数据响应与请求匹配起来。 湖北_ t - 业大学硕士学位论文 第5 章s v g 技术及数据表现 s v g ( s c a b l e v e c t o rg r a p h i c s ,可升级矢量图像) 是种基于x m l 的开放的矢量 图形描述语言。使用s v g 可以在网页上显示出各种各样的高质量的矢量图形,支 持很多您想象得出的功能:几何图形、动画、渐变色、滤镜效果等。最关键的是, 它是完全用普通文本来描述的! 也就是说,这是一种专门为网络而设计的基于文 本的图像格式。 5 1s v g 概述 5 1 1s v g 简介 s v g 规范定义了s v g 的特征、语法和显示效果,包括模块化的x v l l 命名空 间( n a m e s p a c e ) 和s v g 文档对象模型( d o m ) 。在以前的草案中,仅为s v g 定义 了一个d t d ,这个d t d 支持样式单的引用。但这样一来,s v g 就不再是一个白 定义的全包容的语言规范,而需要浏览工具额外具有对样式单文件的处理能力。 并月,由于所有显示信息都封装到x v l l 的属性中,交换型s v g 还可以作为 x s l t 转换后所得到的结果文件格式,广泛应用于) 函匝文档显示效果的描述中。 s v g 的绘图可以通过动态和交互式方式进行,在实际操作中,则是以嵌入方 式或脚本方式来实现的。s v g 不仅使用x l i n k 和x p o i n t e r 来提供超链接功能, 还 定义了丰富的事件,这些事件可以应用于所有的图形对象。由于s v g 支持脚本语 言( s c r i p t ) ,高级网页制作者仅须进行简单的s c r i p t 编程,访问s v gd o m 的元 素和属性,即可响应特定的事件,从而提高了s v g 的动态和交互性能。 这使得s v g 无论在显示效果还是动态交互上都不逊于当前在互联网上独领风 骚的f l a s h 。而且,s v g 除了单独使用外,还可以在x m l 文件中作为命名空间 湖北工业大学硕士学位论文 引入,或者用作h t m l 文件中的特殊对象。同样,s v g 作为一种基于x m l 的语 言规范,也具有x m l 的可扩展性,可以在s v g 文件中引入其它置标语言的命名 空问。这些特性使得s v g 在互联网上将畅通无阻,比起采用二进制文件格式不 能与其它网页语言兼容的f l a s h 更胜一筹。 s v g 是图形、图象和文字的有机统一。根据功能不同,s v g 的主要对象可以 归为基本要素对象和页面描述功能对象两大类,请看下图。 图4s v g 基本要素图 由上图可以看出,s v g 除了支持h t m l 中常用的标记,如文本、图象、链接、 交互性、c s s 的使用、脚本( s c r i p t ) 外,还提供了大量针对图形、图象、动画的 特定标记。下面我们就来对它们进行分别介绍。 2 3 湖北工业大学硕士学位论文 5 1 2 s v g 中对矢量图形的支持 在万维网历史的大部分时间里,浏览器显示的图形都是光栅格式的。在光栅 图像( 如g i f 或j p e g 图像) 中,文件包含图像中每个像素的颜色值。浏览器读 取这些值并做出相应行动。它仅认识劐单独的部分,而没有整体概念。 总的说来,这一系统有其优势,例如忠实再现摄影图像的能力,但它在某些 情形下显得不足。例如,尽管浏览器能以不同大小显示一个图像,通常会产生锯 齿边缘,在这些地方,浏览器不得不为那些在原始图像中不存在的像素插入或猜 测数值。此外,光栅文件格式的二进制性质使得难以( 尽管不是不可能) 基于数 据库信息动态地创建图像,并且动画最多也仅限于“翻动书本”类型的动画,即 快速连续地显示单独图像。 矢量图形,通过指定为确定每个像素的值所需的指令而不是指定这些值本身, 克服了这些困难中的一部分。例如,矢量图形不再为一个直径一英寸的圆提供像 素值,而是告诉浏览器创建一个直径一英寸的圆,然后让浏览器( 或插件) 做其 余事情。 这消除了光栅图形的许多限制;使用矢量图形,浏览器只要知道它必须画一 个圆。如果图像需要以正常大小的三倍来显示,那么浏览器只要按正确的大小画 圆而不必执行光栅图像通常的插入法。类似地,浏览器接收的指令可以更容易地 与外部信息源( 如应用程序和数据库) 绑定,要对图像制作动画,浏览器只要接 收有关如何操纵属性( 如半径或颜色) 的指令即可。 众所周知,矢量图形用点和线来描述可以大大减小文件长度,提高传输效 率。更熏要的是,它将对图形效果的显示由服务器端移到客户端,可以充分利用 客户端的资源,减轻服务器端的负担。s v g 中有专门用于矢量图形描述的标记, 包括矩形 、圆 、椭圆 、直线 、折线 和多边 形 。此外,s v g 还支持图形绘制中常用的由b e z i e r 曲线定义的路径描 述和操作,其元素标记为 。有了以上定义,就可对相应路径进行勾勒、填充、 裁剪、蒙版和合成等一系列操作。 湖北x - 业大学硕士学位论文 5 1 3 s v g 中对图象过滤操作的支持 目前刚上传输的图象文件主要采用g i f 、 p e g 和p n g 三种文件格式。尽管 它们具有高压缩比、低容量的优点,但即便要将其做一点微小改动,也必须利用 图象软件将其重新制作重新存储,非常繁琐。s v g 支持对于图象的一系列常用过 滤器操作,使得图象效果调整的任务可以在客户端进行。同样,这些过滤器操作 也可应用于图形之中。 1 渐变 + 渐变提供了将颜色混合在一起的能力。渐变有两种。对于每种情况,代码都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 32566.2-2025不锈钢焊接气瓶第2部分:试验压力大于6 MPa的气瓶
- 应急安全培训基地图标课件
- 应急安全业务培训总结课件
- 应急保障局安全培训证书课件
- 2025年公务员考试时事政治真题(易错题)附答案详解大全
- 2025年福建林业职业技术学院招聘9人方案笔试备考题库及答案详解1套
- 老年人传染病易感因素与针对性防护护理措施
- 2024年自考专业(计算机应用)题库检测试题打印(夺冠)附答案详解
- 2025年智慧物流园区资金申请项目投资回报与盈利模式分析报告
- 2025年线下演出市场复苏与可持续发展战略研究报告
- 建筑施工项目管理平台使用指南
- 全球低空经济2025年技术规范与实施白皮书
- 水泵房巡检流程培训课件
- 东海证券面试题及答案
- 基本药物制度补助资金管理办法
- 2025年建筑工地安全培训考试题库试题及答案
- 2025年陕建集团资料员考试题库
- 2025江西赣州市财政投资运营有限公司招聘笔试历年参考题库附带答案详解
- 2025年人教版新教材数学二年级上册教学计划(含进度表)
- 《雅马哈MG166 调音台使用说明书》
- 2025年高考数学全国新课标Ⅱ卷试卷评析及备考策略(课件)
评论
0/150
提交评论