(计算机软件与理论专业论文)基于版本差异的文档数据管理研究.pdf_第1页
(计算机软件与理论专业论文)基于版本差异的文档数据管理研究.pdf_第2页
(计算机软件与理论专业论文)基于版本差异的文档数据管理研究.pdf_第3页
(计算机软件与理论专业论文)基于版本差异的文档数据管理研究.pdf_第4页
(计算机软件与理论专业论文)基于版本差异的文档数据管理研究.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 捅要 随着应用领域的不断拓展和多媒体技术的日益熟练,人们发现关系数据库 的许多限制和不足,许多文档数据用关系数据库存储起来,用户很难实现文档版 本控制、全文搜索和优化存储等功能,而且处理过程很麻烦,效率较低。 为了促进企业信息化建设,为企业信息系统快速处理文档数据提供高效服务,本 文提出了一种新的“基于文档版本差异的文档数据管理系统”。它是根据现有关系 数据库,结合企业信息化应用的现实情况提出的一种更实用、更有效的文档数据 管理系统。 本文主要利用文档版本差异对文档进行存储查询等处理,对文档数据管理系 统进行了总体分析和架构设计,并对各个部分进行了详细的设计,给出了实现过 程和方法。该系统提供程序控件,可直接潜入到企业信息系统中,方便企业m i s 、 e r p 、0 a 等应用信息系统高效地使用文档数据管理系统,而不必关心文档数据管 理系统内部结构和实现细节。 最后对文档数据管理系统的运行效率进行了分析,并与普通的文档数据管理 方式进行了对比,得出了基于文档版本差异的文档数据管理系统比普通的文档数 据管理方式更优越的结论。 关键词:文档数据文档管理版本差异文档结构 a b s t r a c t a - b s t r a c t w i t ht h eu n c e a s i n gd e v e l o p m e n to ft h ea p p l i c a t i o nd o m a i na i l dt h ep f o f i c i e n c y o ft h em u l t i m e d i at e c l l i l o l o g yd a ya f t e fd a y m 柚yd i s a d v a n t a g e sa n di n s u f f i c i e c i e so f t h er e l a t i o n a ld a t a b a s eh a v eb e e nd i s c o v e r e d w h e nm u c hd o c 啪e n ti n f o f i n a t i o ni s s a v e di nt h er c l a t i o n a ld a t a b a s e ,i t sv e r yd i f f i c i i l tf b ru s e ft oi m p l 咖e n tt h ec o n t m lo f e d i t i o no fd o c u m e n t ,f i l l l - t e x ts e a r c h ,o p t i m i z e dm e m o r y ,a n ds oo n ,m o r e o v e rt h e p i o c e s s e s0 fd o c i i m e n tm a n a 萨m e n ti sv e i yt f 伽b l e m ea n di t se 雎c l e n c yi sr a m e r l o 岵l i no r d c rt os p e e dt h ec o n s t m c t i o no fe n t e i p 打s ei i l f c 唧n a t i z a t i o na n dh e l p e n t c r p r i s er a p i m ym a i l a g e d o c u m e n t d a t a ,an e wk i n do f ”d o c u m e n td a t a m a 腑g c m e n tb a do ne d i t i o nd i f f e r c n c e s ”i sp r o p o s e d ni s t l l en e wk j n do f d o c u m e n td a t a b 鹂ew i mm u c ha p p l i c da l l dm u c he 如c t i v e ,w h i c hi sb 瑟e do n d o c u m e td a t a b a a v a j l a b l ea i i d 鲫n b i e st l l er e a l i s t i cs i t l i a t i o no ft l l ea p p l i c a t i o no f e n t e i p r i i n f o m a l i b ya n a l y z i i l go ft t l eh o l i s t i c 柚a l y s j s 柚dd e s i 印o ft h em a l l a g e m e n ts y s t 锄o f d o c u m e n td a t a ,i t si n t e g r a t e dd e s i 弘m o d a li sp r e s e t c d 卸dt l l em e t h o do f i i i l p l e m e n t a t i o ni sb r o u g l l tf b 删a r d s o m e 咖仃0 l s 柚di n s e n e f sa r cp m v i d e di l lm i s s y s t e m ,w h i c hc 卸b ca p p l i e dt ot h ee n t e r p r i s ei n f 0 皿a t i o ns y s t e ma n dh c l pt l l e a p p l i c a t i o ns y s t e m ,s u c h 鸹m i s ,e r p o a ,a n ds oo n ,t om a k ew e hu s eo ft h e d o c 哪e n td a t am 趾a g c m c ms y s t 锄a n dl h eu rn e e d tk l l o wt h ei i i t e m a ls t n l c t u r e 蛆dt h ed e t a i lo fi m p l 啪e n t a t _ i o n 尉n a l l yb y 柚a l y z i n go ft h ee 彤c i e n c yo ft h ed o c u m e n td a t am 柚a g e m c n ts y s t e m a n dc o m p a r i n gw i t ht h ec o m m o nd o c 哪e n tm a n a g e m e n t ,t h ec o n d 璐i o nt h a tt l l e d o c u m e n td a t am a n a g e m e ms y s t c mi ss u p 甜o rt ot h ec 0 忸m o nd o c u m e mm 柚a g e m e n t i sd r a w n k e y w o r d s :d o 伽m 蚰td 矗纽 删n o nd l m m n s m l n a g e m 蚰to f i o c u m e n t m 8 n a g e m 吼to fi l o c u m e n td a h 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:童! ! 塞堡日期翘q6 :! ! ! ! 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 摘解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名 导师签名; 童! i 筵堡 量:壶鱼 日期砌6 ,1 心 日期三兰堕0 _ r 第一章绪论 第一章绪论 1 1 引言 从6 0 年代末开始,数据库技术经历了层次数据库、网状数据库和关系数据库 而进入数据库管理系统( d b m s ) 阶段至今,数据库技术的研究也不断取得进展。8 0 年代,关系数据库成为发展的主流,几乎所有新推出的d b m s 产品都是关系型的。 关系型数据库在计算机数据管理的发展史上是一个重要的里程碑,这种数据库具 有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应 用程序等优点,目前较大的信息系统都是建立在结构化数据库设计之上的。 然而,随着网络技术和软件技术的飞速发展,特别是i i l t e m e t 和j m 豫e t 技术 的发展,使得非结构化数据的应用日趋扩大。关系数据库从1 9 7 0 年发展至今,虽 然功能日趋完善,但对数据类型的处理只局限于数字、字符等,对多媒体信息的处 理只是停留在简单的二进制代码文档的存储。然而,随着用户应用需求的提高、 硬件技术的发展和h l 仃a n e 协t c m e t 提供的多彩的多媒体交流方式,用户对多媒体 处理的要求从简单的存储上升为识别、检索和深入加工,正是用户呼唤出“通用” 数据库服务器端来处理占信息总量7 0 的声音、图像、时间序列信号和视频等复 杂数据类型。据有关数据,1 9 9 6 年全球数据库市场的销售额已接近4 0 亿美元, 到2 0 0 0 年数据库市场销售额已达到8 0 亿美元。巨大的增长潜力来自复杂数据类 型的处理需求,使处理复杂数据类型的“超媒体”数据库将成为各公司投资研发 的重点。 企业信息化已经有了长足的发展,如何更有效地结合企业自身的特点,改进 现有的企业管理信息系统,提高工作效率是目前研究面临的问题。企业信息的特 点逐渐的由原来的简单数据向复杂数据( 文档数据) 过渡,而且越来越多的文档 需要在部门之间分公司之间传递,例如报表、设计文档、幻灯片和工作汇报等。 原来的简单数据格式的存储很难满足企业信息化发展的需求,现在的趋势是越来 也多的出现文档数据,如何快速并有效地存储这样的数据是目前数据库技术发展 的一个方向。 1 2 研究现状 目前企业信息化主要是用关系型数据库,存储企业的相关数据,然后用管理 信息系统软件对企业信息进行查询、统计、打印等管理。但是有些数据如文档、 图片等很难以基本数据的形式存储到数据库中,而且使用不方便,效率低下。因 2基于版本差异的文档数据管理研究 此如何高效地存储并管理文本、图像等对象数据是本文研究的直接目的。 从1 9 8 9 年起,l o t u s 通过其群件产品n 0 t e s 提出了数据库技术的全新概念一” 文档数据库”,文档数据库区别于传统的其它数据库,它是用来管理文档。在传统 的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的 基本单位。文档可以很长、很复杂、可以无结构,与字处理文档类似。 文档数据库与五、六十年代管理数据的文档系统不同,文档数据库仍属于数 据库范畴。首先,文档系统中的文档基本上对应于某个应用程序。当不同的应用 程序所需要的数据有部分相同时,也必须建立各自的文档,而不能共享数据,而 文档数据库可以共享相同的数据。因此,文档系统比文档数据库数据冗余度更大, 更浪费存储空间,且更难于管理维护。其次,文档系统中的文档是为某一特定应 用服务的,所以,要想对现有的数据再增加一些新的应用是很困难的,系统不容 易扩充。数据和程序缺乏独立性。而文档数据库具有数据的物理独立性和逻辑独 立性,数据和程序分离。所以基本能使用市场的需求。 但企业信息化系统现实应用中总需要更方便更快捷地使用文档数据库,随着 h l t e m e t 技术的发展,在网络上要传输的文档数据越来越多,而且需要对文档版本 进行控制,怎样能更有效她、更方便地、更快捷地让信息系统使用文档数据库, 是目前文档数据库研究的目的,是本文研究的目的。 目前x m l 技术有了较成熟的发展,市面上也出现了不少基于x m l 的n 趟v e x m l 数据库。x m l 是表示半结构化数据的最佳选择。国外对t i v cx m l 数据库 的研究要比国内早一些,目前市场上有3 0 多种n a t i v ex m l 数据库产品,其中大 部分是商业性质的,只有很少一部分是开放源码的,如b e r l 【c l e yd bx m l 、 d b x m l 、e x i s t 、o z o 北等 1 1 。这些产品的有的是基于关系数据库的,如d b d o m 、 e x i s t 、e x t c 、x d b 、x p s q l 等,有的是基于面向对象数据库的,如b i r d s 噼,r d m x m l 、o z o n e 、s o i c ) 蹦l s e r v c f 、x h i v e d b 等,还有基于其他专用的存储格式, 如d b x m l 、) ( i n d i c e 、i p e d o 、l o r c 、t c r a t e x td b s 等。些主流关系数据库厂商 已经实现了对x m l 的支持,如o r a c l e 公司的o f a d e 9 i 第二版( 9 2 x ) ,i b m 公司 的d b 2x m l e x t e n d e r ,s v b 觞e 公司的a s e l 2 5 ,微软的y u k o ns q l s e c r 等。目 前,它们也开始将目光转向n a t i v ex m l 数据库。 国内对n a t i v e x m l 数据库的研究剐剐开始,目前已有的产品是2 0 0 4 年6 月 发布的0 r i e n t ) ( ,它是中国人民大学d k e 实验室开发的一个n a t i v e ) 湖l 数据库 管理系统,支持对x m l 数据的存储、查询、更新等操作。 n a i i v ex m l 数据库相关的理论研究非常少,以至于它还没有个规范的定义 和体系结构,一个关键的原因是它借鉴传统数据库的理论基础。但它也有自身的 独特性,随着它的进一步发展,相信理论研究也会更充分。 第一章绪论 1 3 本文的研究内容 本文吸取现有理论,在实习工作的基础上结合企业信息化过程中的自身特点, 提出一;f 中基于版本差异的文档数据管理”,主要是对企业文档数据进行差异存储, 实现文档版本差异控制,最终达到提高企业文档数据处理的效率,辅助企业能更 方面、更快捷的管理文档数据的目的。 本文研究的主要内容是:分析如何提高企业文本、图片等对象数据的存储和 管理效率,设计基于版本差异的文档数据管理系统解决方案,并实现其相应的功 能。研究如何有效的对文档的版本进行控制时,主要是利用文档结构和文档新旧 版本之间的差异进行处理,存储版本之间的差异,在客户端需要下载文档时以最 简洁的方式给他服务,从而加快客户端文档数据处理效率。 本文的具体工作是:提出基于版本差异的文档数据管理系统;系统总体分析 及其技术可行性分析;系统的总体框架设计和详细细节设计;然后给出实现方案, 在实现时利用x m l 技术,对信息系统中的文档进行有效的管理、存取和版本控 制;最后通过数据分析和比较,以及理论验证,说明其有效性。本文得出结论: 该文提出的基于版本差异的文档数据管理是有效的、方便的和快捷的。 1 4 本文的组织结构 本文的组织结构如下: 第二章、首先介绍了x m l 语言,接着介绍了目前的信息系统,最后对目前 信息系统存在的问题进行了探讨。 第三章、提出了文档数据管理系统的概念,并分析了该系统的技术可行性, 最后对其应用前景进行了研究。 第四章、对文档数据管理系统进行分析,然后给出了较为详细的总体设计和 详细设计方案,并给出了切实可行的实现方案,最后分析了该系统用文档版本差 异进行优化存储的高效率和可行性。 第五章、对比了基于版本差异的文档数据管理系统与普通的文档管理方式在 存取上的效率差异,得出了基于版本差异的文档数据管理系统比普通的文档管理 方式更优异的结论,然后分析了基于版本差异的文档数据管理系统中的优点和不 足,最后展望基于版本差异的文档数据管理系统以结束全文。 第二章x m l 语言和信息系统简介 第二章x m l 语言和信息系统简介 2 1 1x m l 概述 2 1x m l 语言简介 x 札( e x t e n s i b l em a r k u pl a n g u a g e ) 可扩展标记语言,是由w 3 c ( w o r l dw i d ew e b c o n s o r t i u m ) 的x m l 工作组定义的,被w 3 c 认可并成为一个推荐标准,现己发展成 为w e b 上数据表示与交换的标准格式。 x m l 是从最初的标准通用标记语言s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u d l a n g u a g e ) 发展而来的,是为w e b 优化的s g m l 的简化版本,现己发展成为一个开 放的标准。酬l 的设计动机是要克服h 1 m l 的种种不足,将网络上传输的文档规范 化,并赋予标记一定的含义,与此同时,还要保留h t m l 所具有的简洁、适于网络 传输和浏览的优点。因此,x m l 最终以s g m l 子集的形式出现,它集s g m l 和h t m l 的优势于一体,具有易编辑,便于管理、适于存档,容易查询等诸多优势,成为 网络的一个亮点。 数据独立性把内容及其表现形式分离开来,是煳l 的最重要特征。因为) 【m l 文档描述的是数据,所以可以由任何应用程序进行处理。格式命令的删除将简化 分析过程,使) ( m l 成为数据交换的理想框架。认识到这个事实后,全世界的软件 开发人员把删l 集成到他们的应用程序中,以获得w e b 的功能和交互操作性。因 此,x m l 成为客户机服务器端接口的中间层语言。其灵活性和功能非常适合于中 间设备,一定会使交互操作达到最大程度而提高效率。然而列l 不仅限于w e b 应 用程序,也可以应用于数据库上,因为x 札文档的结构化而非格式化的本质使之 很容易由数据库程序去处理。其具有如下几个主要特性: ( 1 )可扩展性 x m l 文档中的标记可由开发者自己定义。) ( m l 让使用者创建和使用自己的标 记而不是h t m l 中的有限词汇表。捌l 定义自己的标记语言,甚至是特定的行业共 同来定义该领域的特殊的标记语言,作为该领域信息共享与数据交换的标准。 ( 2 )自描述性 数据不仅能以纯文本的方式存储,而且也能通过标记来标识数据本身的含 义。x m l 文档中的数据可以被任何能够对) ( m l 数据进行解析的应用所提取、分析 和处理,并以所需格式显示。x m l 表示数据的方式真正做到了独立于应用系统, 并且这些数据能够熏用。) ( m l 文档被看作是文档的数据化和数据的文档化。 6 基于版本差异的文档数据管理研究 ( 3 )灵活性 h t m l 很难发展,因为它是格式、超文本和图形用户界面语义的混合,要同时 发展这些混合在一起的功能是极其困难的。x m l 提供了一种结构化的数据表示方 式,使得用户界面分离于结构化数据。 ( 4 )简明化 x m l 只有s g n 约2 0 的复杂度,但具有s g m l8 0 的功能。x m l 成为数据表示 的一个开放标准,这种数据表示独立于机器平台、提供商和编程语言。 将来,随着w e b 继续扩展,x i l 就有可能成为表述数据的通用语言。 ( m l 具 有的可扩展性和自描述性使其在数据交换和信息共享等方面拥有天然的得天独厚 的优势。可扩展性,使x 札成为一种描述数据结构的有力工具,尤其适合于描述 数据格式预先未知或易交的半结构化数据。自描述性,使得l 所描述的数据拥 有语义上的独立性和稳定性,从而使其它应用程序可以方便地读取以x m l 文档格 式存放的数据,并使计算机能方便地对其进行有效的分析和处理。 2 1 2x m l 相关技术 x m l 技术不仅仅只有x 札文档,它还包括了许多内容,本文主要用到的x 醅l 技术有:文档模式语言、文档对象模型、m s ) ( m lp 8 r s e r 和枷l 数据库等。 1 x m l 文档模式语言 【m l 文档模式语言定义了) 【m l 文件的元素、元素属性以及元素属性之间的关 系,实现统一的x m l 数据表示趴及数据的相互集成。目前,已经提出很多种珊l 文档模式语言,如d t d 、列ls c h e 眦、x d r 、s o x 、d s d 等,其中d t d 是最早也是晟 成熟的x m l 文档模式语言,它定义了一套规则去控制x m l 文档的结构。 文档类型定义d t d ( d o c u 嘴n tt y p ed e f i n i t i o n ) ,可以描述瑚l 文档的结构 化,制定x m l 文档中元素的类型、顺序、数量和属性以及其它信息。在定义删l 文档结构时,d t d 将减少使用该文档的应用程序进行的有效性检查和错误检查工 作,但编写d t d 需要掌握有别于儿文档的语法。 2 文档对象模型( d 伽) w 3 c 为在内存中建立捌l 文档的树结构提供了一种标准规范,称为删l d o c u m e n t0 b j e c tm o d e l ( 文档对象模型,d o m ) 。不同的供应商( 如s u nm i c r o s y s t e m m i c r o s o f t ,i b m 等) 都在它们的分析程序中提供了d o m 的实施方案。因为) 【m l 文 档的结构可以继承,所以它们在d o m 中显示为树型结构。 d o m 是一个独立于平台和语言的编程接口标准,是基于x m l 文档的树状结构。 它提供了用来表示删l 文档的一组标准的对象、组合这些对象的标准模型、以及 存取和操纵它们的一个标准接口( 即d 伽a p i ) 。 第二章x 札语言和信息系统简介 d o ma p i 是x m l 平台和语言核心,是d o m 的应用程序接口,它提供了一系列 标准接口( 方法、对象等) 如d o m d o c u m e n t ,i 删l d o m n o d e ,i ) ( m l d o m n o d e l i s t , i j 【m l n 锄e d n o d e m a p 等,| 三l 处理x m l 文档的内容。它允许通过处理d o m 树结构中的 节点来访问和修改) ( m l 文档中的数据。 使用d 州,程序和脚本能以标准的方式存取与修改文档的内容、结构和样式。 目前d o m 的主要功能有检索数据、插入数据和替代数据,还有使用d o m 创建和移 动文档。 煳l 还提供了另外一个接口一s a x ( s i m p l ea p p l i c a t i o ni n t e r f a c ef o rx m l ) , 这个接口是蹦l 分析器和处理器提供的较d 伽更底层的接口,是事件驱动的接口。 s a x 运行很快,占用内存远远小于d o m ,效率较高,但只能读取) ( m l 的数据,不能 进行修改。 3 m s 儿p a r s e r m s 瑚lp a r s e r 是h t i c r o s o f l 在x m l 领域的一项重要产品,是m i c r o s m 开发 的解析x m l 文件的一系列接口,借助于它的帮助,程序员可以很方便地利用它 提供的接口来分析x m l 文件。m sx i lp a r s e r 实际上由两部分组成:d o m 和s a x 。 d o m 在加载资源的时候先把文件分析了,把它的节点分离成一个个结点n o d e ,并 且按照原来的结构来组织这些结点的相互关系,这样程序员只要调用d o m 的接口 函数( 方法) 就能很方便地处理文件;而s a x 是一种事件驱动的接口,由解析器 程序分析文档过程中产生的事件来驱动相应的函数来处理。 m s ) ( m lp a r s e 的特点是:能从文件加载x 扎或是保存x 札到文件;能方便遍 历文档的各个数据;能够修还x 札文档;能够检查文档是否合法;能根据d t d 判 断文档数据的有效性;支持命名空间;只能用在m sw i n d o w s 平台0 1 。 2 2 1 信息系统 2 2 信息系统新特点及问题分析 信息系统已有几十年的发展历史, 遁着计算机软硬件的迅速发展,信息系统 也随之快速发展起来,近年来信息系统已经面向绝大多数行业,从企业单位到事 业单位,从工业到服务业,到处都有信息系统的足迹。目前流行的信息系统有: o a ,m i s ,e i 辽c r m ,会计核算、物流管理、医院管理等等。信息系统是为原有产 业服务的,通过软件对原先手工的取代,提高业务处理速度,加速产业发展,提 高整个产业的生产效率。 基于版本差异的文档数据管理研究 2 2 2 信息系统的新特点 信息系统中信息的存储通常采用关系型数据库,然而近年来信息系统处理的 信息有了新的特点越来越多的非结构化数据要求信息系统进行有效地处理。 1 存储内容 在信息时代,所有信息大体上可以分为两类:一类信息能够用数据或统一的 结构加以表示。例如,成本、费用、人员、工资以及员工业绩等,都可以用数字 或文字来描述或表达。这类信息具有相同的层次或网络结构,我们称之为结构化 数据;而另一类信息根本无法用数字或者统一的结构表示,例如,图像、声音等, 我们称之为非结构化数据。这些非结构化数据既可以是一段包含大量附加信息( 如 排版信息) 的文字信息,也可能是一段声音、图像,甚至是影像。 对于结构化数据和非结构化数据的关系如图所示,非结构化数据包括结构化 数据,但又不止是结构化数据;结构化数据属于非结构化数据,是非结构化数据 的特例。一般来说,在人们的认识之中,关系数据库最主要的特征就是数据的结 构化。 然而,随着网络技术和软件技术的飞速发展,特别是i n t e r n e t 和i n t r a n e t 技术的发展,使得非结构化数据的应用日趋扩大。关系数据库是高度结构化的 这种数据结构化使关系数据库具有冗余度最低、程序与数据独立性较高、易于扩 充、易于编制应用程序的特点。但是,随着应用领域的不断拓展,为满足应用对 数据处理不断苛刻”的要求,人们开始发现关系数据库的许多限制和不足。 近年来出现的这种非结构化数据,可以称之为文档数据。这类信息通常具有 丰富的数据类型,如表格( 可以是从莱个关系数据库或电子表软件中得到的) 、格 式化文本、w 哪的页面、图形、o l e 对象、或扫描的图像以及传真件、声频或视频 信号这样的多媒体信息。 2 在结构上 关系数据库是应用数学方法来处理数据库数据的,其数据模型也是建立在数 学概念基础上的,在关系模型中,数据在用户观点下的逻辑结构就是一张二维表。 而文档数据的基本元素就是文档,文档的结构由许多种类,很难用二维表的形式 存储。而且文档数据中数据量庞大,用原有的传统数据处理方式很难有效地进行 处理。再加上文档可能有版本问题,这就给使用关系数据库带来很大的障碍。 3 w e b 应用 近年来网络体系结构经历了一次次重大变迁,客户机服务器结构越来越流行 了,i n t r a n e t 以惊人的速度在短短一年内迅速蔓延,面临新的格局,如何简易地实 现”客户机服务器端”连接与”w e b i n t r a n e t ”连接成为数据库管理人员关注的焦 点。计算机技术和网络技术的发展使以网络为中心的计算日益得到重视,w 聊系 第二章x 札语言和信息系统简介 9 统和数据库成为网络化信息服务的基础。如果能把数据库同删服务器端连接起 来,就可以从浏览器中检索文档。这种一体化的信息网络系统:数据库+ w 删服务器 端,便成为下一代i n t e r n e t 开发的新领域。目前,在w e b 上一个典型的数据库应 用程序应包括三个部分:w e b 浏览器、h t t p 服务器端和w e b 数据库服务器端。对 于一般的关系型数据库,实现w e b 数据库的应用通常有两种方法:一种是w e b 服 务器提供中间件连接w e b 服务器端与数据库服务器端;另一种是把应用程序下载 到客户端直接访问数据库。最常用的中间件技术有通用网关接口( c g i ) 和应用程 序编程接口( a p i ) 两种。c g i 程序缺陷在于c g i 接口不支持用户与数据库问的持 续互操作,再就是c g i 的效率低,且需要同时运行多个c g i 程序。用户每次连至服 务器端时,服务器端都要创建一个事务或运行c g i 程序的一个拷贝。这样对于一个 复杂的应用或有多个用户访问时,就会加重服务器端的负担。a p i 在很大程度上克 服了c g i 的缺点,但其兼容性差和开发难度大也让广大开发人员望而却步。客户 端访问数据库主要包括j a v as c r i p t 和数据库连接器( i d c ) 等。用j a v as c r i p t 和i d c 开发w e b 数据库虽简单但同时也存在功能有限、不能完全控制其过程等缺 点。所以它们也无法胜任较复杂的胃e b 数据库的开发。9 r e b 上的信息系统出现以 上问题,究其原因还是文档数据难以直接用关系数据库来处理。因为大量的文档 数据,又是结构变化万千,形成了信息系统的新特点就是数据文档化。 2 2 3信息系统存在的问题分析 企业管理信息系统、e r p 系统、办公自动化系统等应用软件系统处理的信息 内容包括了大量的复合文档型的数据。 复合文档型数据不同于传统数据类型。所谓的传统的数据类型是指数值型、 正文型数据。用传统数据类型在表达信息时要求信息具有严格的长度和格式( 即 所谓“结构化数据”) ,在处理信息时以关系运算和数学运算为特色。办公自动化 系统所处理的信息的一部分符合传统数据类型的特点。 但是,必须指出的是,应用软件系统对信息的表达与处理方式的要求,是不 同于传统数据类型的。应用软件系统所处理信息的载体大多是以文件、报表、信 函、传真等形式出现,因此应用软件系统是典型的文档处理系统。在这样的文档 处理系统中,要处理的信息除包括传统数据类型外,更多的是以各种格式化数据 ( 如经过排版的文字) 混合存在的形式出现的,如在行文中包含文字、图形、表 格,分成各种段落等等,很难将这些数据信息限定长度和格式( 如果是那样的话 必然是以降低系统的功能为代价) ;而且随着办公需求的进一步发展,多媒体信息 ( 对象) 也逐渐成为越来越重要的办公数据信息;同时应用软件系统作为机关核 心应用系统,必然需要和机关工作人员日常使用的桌面应用系统如m so f f i c e 以 1 0基于版本差异的文档数据管理研究 及机关其他业务信息系统( 如m i s 与数据挖掘系统) 、w e b 资源等等紧密集成,也 就是说应用软件系统所处理的信息还包含了各种各样的数据对象( 如w o r d 文件、 卜2 3 工作表等等) 。这些区别于传统数据类型的信息,如果用一个概念来统一表 示,就是“非结构化数据”、“复合文档数据”或“对象数据”。 对“复合文档数据”或“对象数据”的表示和存储管理是数据库技术领域的 新领域。一般认为,关系数据库系统( 如o r a c l e 、d b 2 、s q ls e r v e r 、f o x p r o 等) 适合传统数据类型( 结构化信息) 的表示和存储,但是对复合文档数据的处 理就有“削足适履”之感,并非能够完全表达信息和存储效率最高。因此,“文档 数据库”或“对象存储”的概念就被引入数据库领域,其目标就是针对新出现的 需求,高效率地表达和存储管理“复合文档数据”。 更重要的是,用户在使用应用软件系统( 或文档处理系统) 时,对信息的处 理方式是不同于他们在使用主要是处理传统数据类型的应用系统时的。例如,用 户在使用应用软件系统时对信息的查询方式,除了像在使用传统数据类型系统时 输入一些选择条件如范围、大小等等从而获得查询结果外,还需要有“全文检索” 的查询方式,因为用户往往很难明确给出对文档( 特别是文档内容) 的查询条件, 只能是以可能出现在文档中“词汇”作为查询条件,这就需要数据库系统提供对 所有存储信息的全文检索引擎。此外,这些不同的信息处理方式还包括信息录入、 输出的方式等等,如电子邮件、扫描仪、传真等均是系统输入输出的重要方式。 当然,传统数据的存储和处理也是应用软件系统经常不可或缺的。虽然文档 数据库一般都包含了对传统数据类型的存储、处理运算能力,但是大量、高强度 的数据统计和运算、分析能力往往是其不足之处。因此,必须针对应用软件系统 的具体需求,必要时需要集成关系数据库,充分发挥各自的长处,提供最终用户 完整高效的数据存储和处理能力。 一言以蔽之,应用软件信息系统由于其对复合文档数据的处理要求,必须以 文档数据为核心来建立,同时结合关系数据库。 从信息技术的角度出发,数据库技术代表了“拉”技术,即信息共享技术。 信息被集中存储管理,当用户需要信息时,主动地将数据库中的信息“拉”到自 己的工作站上进行处理。 就信息系统目前存在的这些问题,本文提出了对信息系统中最难处理的问题 一文档数据管理问题,进行专门的管理,设计一种文档数据管理系统,从文档结 构和文档版本差异出发,对文档数据进行有效的管理,从而解决信息系统目前的 瓶颈问题,提高信息系统中文档数据的处理效率,从而改进信息系统的运行效率, 使其更好地为其他产业服务,提高整个社会的劳动生产效率。 第二章x l l l 语言和信息系统简介 2 3 本章小结 本章首先介绍了目前较为流行的文档处理技术m l 技术,以及本文要用到 的x m l 中的相关技术。然后介绍了目前信息系统的新特点,并对信息系统新特点 所决定的出现的新问题一文档数据处理问题,进行了分析,最后给出了本文的研 究目的文档数据管理系统。 最近几年,我国的数据库市场飞速发展,并将具有更为巨大的增长潜力,表 现为如下特点:首先,在近五年里,用户的选型观念发生了明显的改变,有更多的 用户把数据库的重要性放在十分重要的地位,其主要原因是用户将把应用软件和 应用需求放在首位,应用软件是否满足用户需求是整个项目是否成功的标志,而应 用软件开发直接依赖于数据库开发工具。实际上,大量潜在的投资都在应用软件的 开发上;另一个原因是硬件随着芯片技术的发展越来越缺乏特性,硬件指标将变 成次要的考虑因素。对行业性应用来讲,以前是制定几家硬件产品作为优选,而 今可能是首选数据库厂家再考虑硬件厂家了。 正是应用需求的这种变化给数据库厂商提供了新的发展机会,文档数据管理 的飞速发展应势而来。可以预言,在不久的将来,文档数据的有效管理将成为继 层次数据库、网状数据库和关系数据库之后的又一热点技术。同时结合) ( m l 技术, 数据库将会有一个新的发展前景。 第三章文档数据管理系统分析 第三章文档数据管理系统分析 本章对信息系统中存在的问题进行了分析,发现其缺点和不足,然后提出了 一种基于版本差异的文档数据管理系统,本章对文档数据管理系统的主要技术进 行了系统分析,并对主要技术难点问题进行了简要分析,最后讨论了文档数据管 理系统的应用。 3 1 文档数据管理系统定义 文档数据管理与五、六十年代管理数据的文档系统不同,文档数据管理仍属 于数据库范畴。首先,文档系统中的文档基本上对应于某个应用程序。当不同的 应用程序所需要的数据有部分相同时,也必须建立各自的文档,而不能共享数据, 而文档数据管理系统可以共享相同的数据。因此,文档系统比文档数据管理系统 数据冗余度更大,更浪费存储空间,且更难于管理维护。其次,文档系统中的文 档是为某一特定应用服务的,所以,要想对现有的数据再增加一些新的应用是很 困难的,系统不容易扩充。数据和程序缺乏独立性。而文档数据管理系统具有数 据的物理独立性和逻辑独立性,数据和程序分离。 但是文档数据管理系统仍存在许多缺点和不足,比如:数据处理功能不强, 效率低,用户使用不方便等。基于以上原因,本文提出一种基于版本差异的文档 数据管理系统。 文档数据管理系统属于一种数据库,它是基于文档新旧版本之间的差异来存 储和处理文档数据的。主要负责对存储文档的版本进行控制,分析并存储文档版 本之间的差异,为客户端提供高效的文档数据服务。 本文描述的文档数据管理系统是基于文档结构技术的。文档数据管理系统客 户端( 以下简称客户端) 与文档数据管理系统服务器端( 以下简称服务器端) 用 x m l 文档进行交互;客户端提供文档存储请求,服务器端进行相应的处理,在后 台计算文档差异,并长期存储文档版本之间的差异和各个版本;待客户端查询文 档时,服务器端根据实际情况给客户端反馈处理结果( 新版本文档或文档差异) ; 客户端根据服务器端提供的数据再经过必要的合并处理,为用户程序提供需要的 文档( 查询时) 。客户端用x m l 数据库存储已经使用过的文档的副本,待下次使 用时,一个文档没有新版本出现就直接提供副本给用户,有了新版本( 是其他用 户上传的) 就下载版本差异。以这样的方式提高整个文档数据管理系统的运行效 率,是本文文档数据管理系统的研究目的。 文档数据管理系统并不关心数据的底层存储格式,可以建立在数据库或文档 1 4基于版本差异的文档数据管理研究 系统之上,只能通过x m l 相关的技术对数据进行操作,它最适于存储各类文档 数据。文档数据管理系统实际上并不是全新的数据库,它可以建立在已有的关系 数据库或面向对象数据库上,也可以采用针对x m l 数据的索引文档和压缩文档, 所以它的结构是多种多样的。它的出现并不意味着取代传统的数据库,而仅仅是 为文档数据提供更健壮的存储和操作。 本文研究的文档数据管理系统,重点不是在最终后台的存储系统,而是在中 间的处理新旧文档版本差异的问题,研究如何利用文档差异来改善文档数据管理 系统的效率,更有利于信息系统和其他应用软件方便快捷的使用文档数据管理系 统。 3 2 1 总架构图 3 2 文档数据管理系统总体分析 根据3 2 节文档数据管理系统的技术研究结果,将文档数据管理系统总体的 架构图设计如下: 图3 1 文档数据管理系统总架构图 第三章文档数据管理系统分析 3 2 1 2 功能分析 客户端分为两个部分,一是主要部分:文档数据管理系统客户端程序d l l , 负责解释用户命令,并生成x m l 文档,再和服务器端进行交互,反馈给客户所 需要的文档数据,以及维护本地x m l 数据库。这部分用户不直接访问,做成d l l 的形式,只为客户端空间内部调用,所有操作对用户透明。二是界面部分;即为 用户程序提供友好的各类语言的控件( 如d e l p h i 控件、p b 控件和控件等) , 并暴露出相应的属性和方法,接口简单,方便编程人员调用,界面友好,方便最 终用户使用。对程序员暴露出的是简单的存储和查询函数,只要程序员在必要的 地方设置好相关属性,调用相应的方法即可。然后控件会根据用户需求调用本地 文档数据管理系统客户端程序d u 。中的相应方法。这样做的好处是移植方便,客 户端控件里只是根据用户需求调用d l l 中的方法,实际的文档数据管理系统客户 端的处理是与用户应用系统的编程语言无关的。 客户端与服务器端直接用x m l 文档进行交互,传输进行必要地加密。客户 端给服务器端发送存储、查询命令,并包含相应的命令参数,服务器端收至后, 从x m l 文档中提取命令类型以及所需的参数。对不同的命令做相应地处理,并 将处理结果制作成x m l 文档,迸行一些加密后发给客户端,客户端用相应的密 钥和相同啪解析传来的x m l 文档,得到命令处理的结果,并将必要的信息反 馈给用户。 服务器端接收到客户端的文档处理请求,访问后台数据库,进行必要的处理。 存储文档时根据版本号,对每次存储的新版本,计算他和所有旧版本之间的版本 差异,并存储新版本和版本差异到不同的数据表中。再当客户端请求查询某一文 档的内容时,服务器端根据客户端现有文档版本的情况给其提供相应的文档差异 或完整的新版本文档。 对文档差异的设计,考虑到实现上的难度,使用简单的指令系统,包含:新 增、修改、删除和移动四个指令。考虑到主要是要减小传输文档的大小,而四条 指令本事也并不复杂,所以文档差异用自定义格式,面不用x m l 文档格式。具 体讲每条指令的语法和参数规定下来就可以实现服务器端和客户端共同识别的文 档差异了。在求解和合并文档差异时,因为各类文档的存储格式千差万别,所以 分类处理( 字符集类、某种格式类等) 。必要时可以对结果进行压缩处理。 需要说明的是当文档差异较大时,存储文档差异就没有必要了,这时只存储 新版本文档,这是,文档数据管理系统就退化为普通的文档管理方式。所以在文 档版本较多,变化次数频繁但每次变化都不是太大的系统中( 例如:工作流系统) , 文档数据管理系统更能发挥其优势。 各个部分的详细设计将在下一章分别做进一步探讨。 1 6基于版本差异的文档数据管理研究 3 3 文档数据管理系统的技术分析 将文档数据管理系统设计成服务器端和客户端,服务器端实现完整文档数据 的存储,客户端直接为用户服务,提供方便友好的用户界面和灵活易用的使用方 法。通过文档数据管理系统服务器端和客户端的封装,对用户体现出来的是一个 透明而又高效方便的文档处理系统。 3 3 1服务器端 后台服务器端主要负责计算和存储文档各个版本之间的差异,并为客户端提 供相应方便快捷的数据服务。服务器端的实际存储方式可以以现在技术已经成熟 的关系型数据库作为最终的存储系统,其特点是:结构清晰,数据处理方便强大。 这样可以使用其成熟的数据处理技术。其缺点是:应变不是那么快速,开发难度 大( 特别是架构) 。有时文档大小还与关系数据库本身有冲突,例如s q ls e r v e r 数据库每条记录最大为8 0 0 0 字节,这样大于8 k 的文档就无法方便直接地存储到 条记录中。在必要的时候我们不妨结合文档系统,以辅助存储,也就是将大文 档存储到文档系统,在数据库只做相应的标记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论