XML技术及应用

2024-05-15

XML技术及应用(精选八篇)

XML技术及应用 篇1

在信息化技术高速发展的今天, 数据及企业级数据架构已经成了一个企业的无形资产, 直接影响着企业的健康稳定发展。很多企业都需要将DBMS、MIS、OA等业务数据集成起来, 构成企业管理决策的统一化信息平台。

随着企业数据爆炸式增长以及IT应用的发展, 企业必然产生大量的结构各异、散落在不同的业务系统中的数据。这些数据以不同的状态存储, 有的是结构化的, 有的是非结构化的, 这些大量的分散的异构数据由于其间缺乏数据关联性很难直接为企业的综合发展和企业决策提供准确的信息支持, 没有集成的数据, 企业存储再多的数据其商业价值也为零。因此, 企业必须拥有一个单一、完整、可信的数据视图, 数据集成的需求应运而生。XML是一种平台无关、可扩展的标记语言, 非常适合不同应用系统间的数据集成[1,2]。主要讨论如何利用XML作为交换的公共数据表示来实现异构数据之间的交换。

2 异构数据集成的核心问题

企业数据的异构性主要体现在计算机体系结构异构、网络异构、操作系统异构、数据库管理系统异构等多个方面。异构数据集成把企业各种业务系统的相关数据资源进行整合, 搭建起整个企业的信息平台。异构数据集成是一个复杂的研究课题, 涉及包括分布式对象技术、结构化数据、面向对象技术等在内的多种技术。近20年来, 国内外的科研机构和学者从各个不同层面、采用不同的方法和技术对这个领域的相关课题进行了研究, 但由于各个数据源的异构多样性 (比如分布性、自治性等) 导致目前并不存在一个通用的异构数据集成的解决方案[3]。

数据集成是对各种异构数据提供统一的表示、存储和管理。数据集成通过有效地屏蔽各种异构数据之间的差异, 提供统一的操作, 来实现企业数据的有效共享和统一化管理。如何有效地解决待集成数据之间同构和异构冲突所带来的数据转换问题是异构数据之间进行交换的核心问题。数据交换包括数据提取、数据分析、数据转换和数据加载等步骤, 主要讨论如何利用XML来实现有效的数据转换。

3 基于XML的异构数据交换系统设计与实现

3.1 选用XML

XML是一种与平台无关的自描述元标记语言, 具有扩展性、数据独立性、结构性、可读性、保值性等诸多优点[4]。利用XML可以针对不同的需求定制不同的标记, 也可以以基于文本的格式来描述数据内容, 同时突出对自我结构的描述, 从而很好地体现数据之间的关系, 为分布、异构的软/硬件环境下的信息集成方法研究提供了一个全新的思路, 在作为数据交换标准方面具有巨大的优势:

(1) 利用XML的可扩展性实现高效数据交换。

XML文档本身不需要有内部描述即可被交换和处理, 利用基于XML的数据是自我描述的可扩展性, 在新的交换需求出现时, 通过增加不同的标签来实现对新交换需求的支持, 从而在很大范围内提高数据交换的效率。

(2) 利用XML显示与内容分离的特性实现异构数据格式的转化和识别。

XML显示与内容分离的特性使得XML文档数据能够以客户配置、使用者选择或其他标准所决定的方式来动态显示各种数据, 基于XML的该特性, 可以将XML格式很方便地转化为适合异构系统的数据格式, 从而实现异构数据的转化和识别。

(3) 利用XML数据的易解析性解决开发过程中的数据协调问题。

XML数据可以通过DOM、SAX等工具非常方便地解析和处理并进一步地用于网页嵌入等后续需要, 从而大大滴减轻在数据集成系统的开发过程中的数据协调问题。

3.2 基于XML的数据交换系统设计

基于XML的数据交换系统采用组件化的设计开发模式, 以松耦合的方式设计并实现了整个数据交换系统。松耦合使得数据交换系统的任何一部分发生变化的时候, 只要接口维持不变, 就可以与系统的其他部分实现无缝集成, 从而使得公司的新增业务系统能够方便快速地接入到数据整合系统中, 具有很好的适应性和可扩展性。整个数据交换系统主要由ML数据生成与、XML数据交换以及XML数据解析组成, 其系统架构如图1所示。

其中, XML数据生成组件包括数据提取和数据封装功能模块, 用于读取异构数据源中的数据, 生成固定格式的XML数据文件, 然后由数据发送组件将封装数据传递给XML数据交换组件。为了保证公司信息系统的安全性, 数据封装组件首先对XML数据进行加密处理, 然后将数据按照接收端的格式要求和具体的业务数据的规则进行封装。数据发送组件则负责通过各种传输协议将封装好的XML数据发送到指定的目的地。

XML数据转换组件通过接收从数据生成组件发送过来的封装数据进行分析, 然后按照约定的数据格式 (即系统所规定的数据交换规范) 将数据进行转换后封装起来, 调用数据发送组件将转换后的数据发送给XML数据解析组件。数据接收组件负责接收发送端发送来的XML封装数据。数据分析组件负责对接收到的数据进行数据解封装, 并对数据进行解密处理, 得到明文的XML格式数据。数据转换组件通过利用XSLT文件来实现从一种XML文档到另一种SML文档之间的透明转换。数据交换系统使用XML Schema规范作为元数据和目标数据模式的标准, 该技术很好地实现了异构数据源之间的差异屏蔽, 在有新的数据源需要处理的时候, 只需要将数据源的数据定义包装秤XML Schema注册到数据交换系统中即可, 很好地保障了系统的灵活性和可扩展性。

数据解析组件将从数据转换组件接收到的数据进行分析, 然后调用数据加载组件, 将完成数据交换后的数据以单一的形式存储到数据整合系统的数据库中, 供整个企业的所有业务信息系统所共享使用。数据加载组件将经过转换后并传送的目标数据库端的数据存储到目标数据库中。

3.3 基于Java+XML的系统实现

为了很好地保障数据交换系统的跨平台性, 本系统采用Java+XML来开发实现。

目前, 比较常用的访问XML文档的方法主要由DOM (Document Object Model:文档对象模型) SAX (Simple API for XML:简单应用程序接口) 和JDOM 3种。基于DOM的技术是最基本也是最底层的XML存取技术, 而SAX技术则提供了一种对XML文档进行顺序访问的快速存取XML数据的方式。JDOM则是作为开源项目构建的一个完整的、基于Java的解决方案, 使得使用Java代码访问、操作和输出XML数据能够像使用Java语言本身一样简单, 并且实现了对现有对SAX、DOM等现有的XML SPI标准的无缝整合。考虑到DOM和SAX方式使用起来都比较复杂, 并且在性能方面也有缺陷等因素, 本系统采用了JDOM技术。

系统通过JDOM读取XML文档中的节点, 使用Java调用相应API来实现XML数据存取, 将结构和格式各异的异构数据映射成XML Schema模式, 然后基于XML Schema文档实现异构数据转换。将异构数据转换成XML Schema模式主要包含结构映射和约束映射两个方面。本系统采用基于对象树的映射实现了异构数据到XML Schema的映射。

由于系统是从各种异构数据源抽取数据并将其转换成XML格式的, 因此, 数据在模式和格式上并不能被数据整合系统的目标数据库所识别。因此, 数据交换平台必须将XML格式数据进一步地转换成目标系统所能够识别的数据格式。数据转换是本系统的核心, 包括模式转换和格式转换。模式转换根据系统的请求将相关的目的数据和源数据的模式映射发送给目的系统, 目的系统根据源和目的数据结构指定两者之间的映射关系, 并将所生成的映射规则发回数据交换系统, 数据交换系统以该映射关系作为数据转换规则完成映射实现模式转换。本系统将解析映射规则存放在Java的Map类来实现异构数据交换的规则存储。格式转换通过分析各种异构数据的数据类型并分别对每种数据类型设计其匹配策略和顺序, 从而实现其相应的转换。

4 结语

信息化技术的发展对企业各业务系统的数据集成提出了迫切的要求。在讨论异构数据集成中异构数据交换的核心问题的基础上, 详述了采用XML来实现异构数据交换系统的优势和方案, 并介绍了采用XML+Java的跨平台的异构数据交换系统的设计和实现。

参考文献

[1]张冠军.基于XML异构系统间的数据交换技术[J].现代电子技术, 2013, 36 (2) :45-47.

[2]张冠军.基于XML异构系统间的数据交换技术[J].现代电子技术, 2013, 36 (2) :45-47.

[3]杜轩轩.异构数据交换平台中若干关键问题研究[D].北京交通大学, 2012.

XML在网管协议中的应用及扩展 篇2

关键词:闽络管理协议;可扩展标记语言;简单对象访问协议

中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)07-20042-02

1引言

XML技术及应用 篇3

21世纪是信息时代,人们对信息的需求越来越多。但是,信息的量大质杂,与人们有限的时间精力、特定的信息需求存在极大的矛盾冲突。因此,对信息进行合理的组织,以方便用户获取信息的需求越来越迫切。数据是信息的载体,对信息的组织实质上是对数据的组织。主题图结构清晰并能够有效地反映数据间关联,因此主题图常被认为是信息组织的理想方法。如今有多种实现主题图的技术方法,如Hy TM等。但是,上述实现主题图的方法有一个难题:利用主题图组织的数据如何实现跨平台的数据交换?XML是现在流行的Internet环境下跨平台的数据组织、数据存储工具,能较好地解决主题图数据跨平台交换的问题,因此,基于XML技术标准构建的主题图(XML Topic Map、XTM)有着极大的发展空间。

2 XML技术与主题图概述

2.1 XML概述

XML(Extensible Makeup Language,可扩展的标记语言)由万维网联盟(World Wide Web Consortium,W3C)提出,希望能方便Internet网络上的数据间交流,方便计算机处理文档内容以及文档结构。XML是一种元标记语言,是一套定义语义标记的规则。

相比较其他元标记语言而言,XML更加灵活。用户可根据处理的文档中的信息内容自定义符合一定规范的标记,从而更有助于用户理解文档内容结构,并方便计算机处理文档结构。但是,XML语法更加严格。因此XML更具有结构化,是处理结构化文档的有力工具。XML规范了格式,使用统一的编码,当所有平台遵守XML的格式规定,也就实现了跨平台,使不同来源、结构化的数据很容易地集成在一起。

简言之,XML允许用户自定义符合一定规范的标记,从而方便计算机处理结构化文档,同时,它能在Internet环境下实现跨平台的数据交换。这些特点使XML成为实现主题图的主要技术。

2.2 主题图概述

主题图(Topic Map)的概念最初是由W3C提出,用来实现索引和辞典构建过程的形式化。主题图是一种用于描述信息资源的知识结构的元数据格式,它可以定位某一知识概念所在的资源位置,也可以表示知识概念间的相互联系。

简单说,主题图就是一种组织、表达信息,或者说数据的方式。现实世界中的事物都是一个对象,一个对象都有着自己的状态(如名字、存在地点)以及行为(与他人发生联系的方式)。这个对象在主题图中的反映就是一组主题,这些主题同样也包含自身状态以及行为,如主题的名称,资源出处,以及它与其他主题间的关联。

因此,一个主题图就是一个由主题、联系、资源组成,主题、联系、资源构成了主题图概念中的三要素。构建主题图的思想是将信息归为二类:主题、资源地址或者相关信息,然后再建立各种信息内容之间的联系,从而实现对信息的组织。

以英语单词abundant为例,可以构建主题图如图1所示。与abundant相关词汇有abundance、abound、redundant,因此可以共建立四个主题。其中,abundance是abundant的名词形式,abound是abundant的动词形式,redundant与abundant有相同的词根und,以上为他们之间的联系。每一个词存在于某一个例句中,例句为对应资源。

3 基于XML的主题图构建标准XTM

XML是当前处理结构化文档、跨平台的有力工具。利用主题图组织的信息十分具有固定的结构,即有三个元素:T、A、O。因此,XML技术可以较好地描述于主题图的组织的信息。将XML思想运用于主题图的实现,从而形成一种新的技术,即XTM,有时也称为TM/XML(Topic Map/XML)。

XTM从本质而言,它是一种XML语言,只是其处理文档的对象为特定的、已知的结构文档。在XML文档中,所有文档以作为根标记,以标识该文件使用XML语法处理;在XTM文档中,所有文档以作为根标记,以标识该文件使用XTM语法处理。在XML文档中,用户可以根据文档内容自定义标记来使文档更具有结构化,以方便计算机处理;而在XTM文档中,所有内容都是根据主题图思想构建,它们结构相似,都具有T、A、O三个要素,使用标识文档结构的标记基本相同,如等。

因此,为了统一主题图的各种生成代码,方便主题图之间集成,XTM相关标准,规定了XTM基本字段。XTM标准由topicmaps.org制定,其基础是ISO/IEF13250模型。ISO 13250的初版包括了基于SGML的相互交换语法和以Hy Time著称超媒体连接语言。第二版是在2002年发行的,在其中添加了基于XMLT和XLink的相互交换语法。如今,XTM有两种标准:Official International Industry Standards以及Community Standards。最新的版本为XTM 2.0,但XTM 2.0并非ISO发布的官方版本。因此,下文主要介绍和使用的为官方标准XTM 1.0。

在XTM 1.0中,以下需要对主题图进行描述的标签已经在XTM的DTD文档中定义好了,具体见表1。

XTM作为一种特殊的XML语言,其基本语法规则与XML语言的语法类似,只是标签的标准不同。如图2,XTM文档中标签的基本结构如上。下包含三个子标签。图2显示的标签结构中涉及到很多标签,这两个标签通过链接的形式,将XTM文档中涉及到的主题(topic)有组织有规律的联系起来,形成图状的知识网络结构图,从而达到主题图的目的。

3.2 程序代码转化XTM

下面,就针对标签,进行一下XTM语法说明。

主要描述某主题所属的主题类型,与“主题类型”概念相对应,表示主题与主题类型之间的层次关系。在它的下面包含着有两个子标签。若该主题的类型在本文档中已定义为主题了(主题类型也是一种主题),则使用标签的xlink:href属性将主题与主题类型相链接(链接的是该主题类型的id号)。若该主题的类型没有能有效在本XTM文档中定义为主题,则需要使用中的xlink:href属性将主题与主题类型相链接。而此时的链接值只能是URI。

举例说明:

在本例中,一共有三个主题,分别为001、002、003。从主题002的定义中,我们可以知道002是001的一个实例,即主题002是主题类型001的具体化。对于主题003,是“http://psi.ontopia.net/example/#number”这个URI所标识的主题类型的具体化。

由上述代码可以知道,使用纯XTM代码实现主题图的过程不仅繁琐而且容易出错,可读性不高。因此,此方法不推荐,如今实现主题图常采用集成开发工具。

3.3 软件工具转换XTM

主题图构建的开源工具有很多种。比如,Protégé、美国电话电报公司的DUTE、德国Ontoprise公司的Onto EDIT、英国公开大学的Web Onto、南加州大学的Ontosaurus、斯坦福AI实验室的Ontolingua Server、曼彻斯特大学的OILEd等。用户常使用的软件的是ontopia公司的OKS。

OKS(ontopia Knowledge Suite)是ontopia公司的知识管理工具套装,它包括很多个组件,如图3所示。Ontopia引擎从XTM文件中读取主题图,在net.ontopia.topicmaps.xml包中用XTMTopic Map Reader类来实现,输出XTM文件在net.ontopia.topicmaps.xml包中利用XTMTopic Map Writer类实现。

4利用XML技术实现主题图方法

主题图只能建立信息组织的概念模型,要是计算机能够读懂该概念模型,则需要借助XTM技术将概念模型转变为计算机能处理的形式。事实上,转变后的XTM只是一大堆符合XML语法规范的代码,只有经过可视化工具后才可以变成直观、易懂的图形形式。利用XTM技术实现主题图的方法有两种:编写符合XTM规范的代码或者利用集成开发生成工具。当然,使用集成开发工具生成XTM,其基本思想也是编写符合XTM规范的代码,只是将纯XTM代码的编写变为可视化窗口下的编写,更具直观性。下文将会介绍这两种生成XTM的方法。

5 基于XML技术标准的主题图应用案例

作为一套信息组织的方法,主题图能有效地组织信息,并在一定程度上展现信息间联系。因此,国内外学者都积极将主题图实践到各个领域,如知识管理领域、Web应用领域以及语义挖掘领域等,并有不少成果。

(1)Brain Bank Learning(http://brainbank.no brainbank/app/):Brain Bank Learning是一个适合所有年龄学生的学习系统。这个系统的主题图由Ontopia工具生成,同时需要数据库管理软件来存储已构建好的主题图。Brain Bank Learning让每一位使用该系统学习的学生去构建属于自己的知识结构主题图。这些主题图有助于帮助学生了解自己的知识结构体系,从而采取更好的适合自己的学习方式。同时,教师也能看到学生构造的知识结构主题图,根据该主题图结果,因材施教。

(2)卑尔根市知识门户(https://www.bergen.kommune.no/):卑尔根市是挪威的第二大城市,2007年早期在主题图的基础上建立城市门户网站。门户网站包括了政治、服务、旅游、商业、文化、出版业、国际关系七个主题。

(3)意大利歌剧主题图(http://www.ontopia.net/operamap/index.jsp):由挪威Ontopia公司开发,目前虽然已经成型,但尚未全部完成和公开。意大利歌剧主题图总体上包含七个主题:歌剧、作曲家、歌词作者、歌剧作者、剧院、城市和地区、国家。

6 结束语

随着社会进步,用户对于信息的要求也更高。主题图能有效对信息进行组织,并能提供信息导航功能。同时,XML具有跨平台、有效处理结构化文档的特点,利用XML为核心技术的主题图成为实现主题图的主流。国外较多门户网站建设采用了主题图形式,真正将主题图投入到实例中,但是,国内真正应用主题图来组织信息的实例并不多,仅停留在理论研究阶段。

摘要:文章主要讨论了XML技术在信息组织领域的某一个方面应用,即XML用于主题图的实现,或称为XTM技术。它是使用XML语法来处理主题图中数据的一种方法。围绕该主题,文章介绍了XTM标准、使用XTM代码或使用集成开发工具这两种方法构建基于XML技术主题图,并列举了国内外使用基于XML技术实现主题图的应用案例。

关键词:XML,主题图,XTM,信息组织

参考文献

[1]何建新.主题图及其应用[J].中国索引,2005,3(1):14,26-29.

[2]http://msdn.microsoft.com/zh-cn/library/aa480048(d=loband).aspx.

[3]http://www.topicmaps.org.

[4]http://www.isotopicmaps.org/sam/sam-xtm/.

[5]http://www.topicmaps.org/xtm/1.0/.

[6]李清茂.主题图理论与应用方法研究——以四川省阿坝州旅游文化信息资源组织为例[M].四川:四川大学出版社,2011.

[7]http://www.ontopia.net/section.jsp?id=ontopia-the-product.

XML技术在SVG中的应用探索 篇4

传统的静态网页在更新速率和交互性等方面都无法适应时代的发展, 动态网页作为静态网页的优化产品, 它在图像显示方面的优势已明显高于静态网页, 本文研究的基于XML技术的SVG是新一代的网络矢量图像格式, 作为一种图形格式它还具备XML的跨平台性和可拓展性。由于XML文档中可嵌入SVG格式, 而SVG文档格式中也可嵌入与XML相关的内容, 这种随意的组合方式使得SVG图形使用非常方便, 除此之外SVG还可向网页提供各种图像、矢量图形以及滤镜等操作, 对文本、单元对象进行重用, 图像显示效果有了大幅度的改善。

2 SVG的特点

⑴基于XML标准。XML作为一种具有结构的标记性语言, 与HTML相比它更具语言开发功能优势, 由于它具备强大的数据储存能力、分析能力、交互能力、灵活性和伸缩性, 因而在开发和维护动态网站的过程中XML更具优势。SVG语法结构是建立在XML文档的基础上, 它继承了XML的可扩展性和跨平台性, 独特的优势使得SVG在应用软件开发中具备更多的新功能, 以满足用户不同的网络服务需求, 而SVG也成为了动态Web页面的重要组成部分。

⑵基于矢量图像的优越性。根据像素点划分计算机数字化图像可分为两种, 即位图图像和矢量图像, 位图图像具有体积小、颜色鲜艳、简单易用、开发工具种类多等优点, 因而大多数Web页面中使用的都是位图图像, 如JPEG格式和GIF格式, 但它也存在一定的缺陷, 当对图像进行放大和缩小等操作时图片会出现模糊不清和失真等现象。矢量图像正好弥补了位图图像的缺陷和不足, 无论对矢量图像进行放大还是缩小操作, 图片都不会出现模糊或是不清楚的问题, 所以它对打印机和计算机的分辨率要求不高, 其次是它的色彩精度始终保持在1600万色, 打印出来的图像色彩和显示出来的图像色彩是一致的, 指令表示方式缩小了图像文件容量, 下载过程更加快速。

⑶文本格式灵活易用。SVG绘制图形是通过矢量指令, 简单的点线描述方式使得图形绘制更加高效, 矢量图形的文件格式即文本格式。利用网络引擎搜索时, 可将矢量图象中的文字作为关键字输入搜索, 分层式的软件文本结构促进了动画交互的实现, 在对图形的颜色、大小和位置进行修改时, 只需通过调整脚本属性即可完成。建立在文本性质的基础上, SVG创建图形的过程更为便捷, 通过程序语言的描述就能动态的生成矢量图像, SVG的这一特性使得数据库表格的制备更加方便, SVG只需通过数据库中关系量的变化就可在线生成对应的表格和图形。除此之外, SVG跨平台的文本格式使得网络带宽、色彩模式和外部输出等问题得到了很好的解决, 由此可见基于XML技术的SVG具有很强的灵活性, SVG在动态页面中的运用极大程度的提高了页面的交互性和更新速率。

3 SVG的发展现状

⑴与网页整合、改变网页设计思想。在传统的网页图像设计中, 图象设计都是通过位图图像软件对整体页面图像进行绘制, 然后分割绘制的图像, 最后编辑页面文字, 多步操作不仅不利于图像的修改, 且为网页设计工作带来了许多麻烦。由于SVG具有跨平台性, 所以任何网页元素它都可以使用, 其中还包括许多符合W3C标准的脚本语言, 如Java Script、DHTML、XSL、CSS等, SVG图像文件的运用使得网页设计可以一步完成, 而文字编辑也只需通过记事本便可实现, 文件的上传和下载速度有了大幅度的提升, 位图技术相比以前更加灵活更易控制。

⑵SVG在地图方面的应用。由于SVG属于二维矢量图形格式, 不论显示分辨率如何图像效果都将一致, 所以完全可以利用SVG制作地图图像, 图像中还能包含文字和地理等信息。另外SVG还具备漫游和地图缩放等功能, 利用ASP技术用户可从数据库中获取相应的数据, 通过服务器端将数据转换成地理标识, SVG格式较强的交互性使得它可以作为储存、显示和传输数据的载体, 在地理信息系统应用领域组织和发布各类地理数据。

⑶SVG在网络教学中的应用。SVG强大的功能特性使得它在图形内容的表现形式上丰富多彩, 文字、图像、图形和动画实现了统一。图像制作过程也逐渐趋向于规范化和公平化, 特别是新型网络课件的制作, 需要涉及到多个平台, 而SVG跨平台的特性使得它成为制作标准课件的一个常用工具。

⑷用于自动维护的SVG。SVG除了用在网页设计中外, 最常用的就是对大型设备复杂插图的维护, 维护内容包括分解详细部件图、分解视图和修理故障图表。传统的插图制作使得图片不能被二次修改, 而SVG源文件则具备修改图形的功能且修改过程相对简便, 它只需通过数据变化调整图形变量就能生成对应的图形, 较快响应速度和制图效率使得SVG在图像自动维护领域有很好的发展前景。

摘要:随着网络技术的不断发展, 网页上开始出现各种格式和尺寸的图形, 静态Web网页已无法满足人们对网络的需求, 为了提高网页的交互性和自动更新速率, 动态网页已成为网络交互的主要方式。SVG作为一种用于描述二维矢量图形的格式, 它严格遵从XML语法, 在网页中使用它可满足用户对不同质量矢量图形的要求, 本文针对XML技术在SVG中的应用进行探索, 研究出一种新的网络矢量图像格式, 在满足用户对网络需求的同时, 提高网页的交互性和自动更新频率。

关键词:XML技术,SVG,应用探索

参考文献

[1]张强, 王继尧, 纪国平.基于SVG技术的校园Web GIS系统的实现[J].黑龙江科技信息, 2009 (1) .[1]张强, 王继尧, 纪国平.基于SVG技术的校园Web GIS系统的实现[J].黑龙江科技信息, 2009 (1) .

XML技术在数据通信中的应用 篇5

关键词:XML,数据通信,监控系统

0 引言

在解决一个监控系统的信息传输问题时, 遇到了一些困难, 主要的原因是该系统中的数据类型多, 发送的方向杂, 控制起来比较繁琐。而引入XML文件后使得这个问题变得简单化。

1 监控系统的数据通信

数据通信是依照一定的通信协议, 利用数据传输技术在两个终端之间传递数据信息。它可实现计算机和计算机、计算机和终端以及终端与终端之间的数据信息传递。在分布式监控系统中, 数据通信是最基本的问题。如图1所示是一个比较典型的站点式远程监控系统的模型。

在这个系统中, 监控中心和站点之间要相互发送数据, 基本上有三种情况:

(1) 站点→监控中心

如站点采集到的现场数据、抓拍的图片信息、报警信息、站点收到监控中心发来的数据后回发的确认应答信息等。

(2) 监控中心→站点

如监控中心发往站点的基础数据与系统运行参数、监控中心收到站点发来的数据后回发的确认应答信息、监控中心给站点的远程控制指令等。

(3) 站点→站点

有些事务可能需要两个站点共同完成 (如在站点A称得皮重, 在站点B称得毛重, 两个站点要相互交换数据才能得到净重值) , 因此在站点之间也会发送数据, 而这些数据监控中心是不关心地。

由此可见, 在这个站点式监控系统中有多种数据要互相发送, 并且数据的发送是随机的、杂乱的、动态的, 内容相异, 格式不同, 种类繁多。另外, 监控中心通过局域网连接Internet, 可以有固定的IP地址, 而站点使用ADSL连接, 通常其IP地址是不固定的, 用Socket通信机制作为系统的数据通道时, 把监控中心做为Socket Server, 启动侦听, 站点只能做Socket Client, 主动连接Server。站点之间若要相互传送数据, 则只能通过监控中心来转发, 更增加了监控中心和站点之间收发数据的复杂性。

2 XML及其特点

XML (EXtensible Markup Language) 是可扩展标记语言, 类似于HTML, 但和HTML不同的是XML的标记不是预先定义好的, 用户可以且必须自己定义标记。XML是用来描述数据和保存数据的一种灵活而有效的方式, 能够清楚地表示出:什么是数据, 有什么数据及如何组织数据。XML是Web上表示结构化信息的一种标准文本格式, 广泛用于网络数据交换, 具有“易于生成数据”的优点。

XML支持世界上几乎所有的主要语言, 并且不同语言的文本可以在同一文档中混合使用, 应用XML的软件能处理这些语言的任何组合。所有这一切将使XML成为数据表示的一个开放标准, 这种数据表示独立于机器平台、供应商以及编程语言。XML被引入许多网络协议, 以便于为二个软件提供相互通信的标准方法, 如简单对象访问协议 (SOAP) 和XML-RPC规范。

XML数据是以纯文本格式存储的, 提供了一种与软件和硬件无关的共享数据方法, 所以XML数据文件可以被更多的用户、更多的设备所利用, 而不仅仅是基于HTML标准的浏览器。XML是不同系统之间的桥梁。

3 系统模型的建立

根据监控系统的功能要求和XML的特点, 将系统的数据通信问题转化为如何实现网络文件传输和如何使用XML文件表示数据这两个子问题。同时, 为了便于实现, 提高系统的可靠性、稳定性及可维护性, 采用层次结构, 将系统的功能划分为

七层模型, 如图2所示:

(1) 物理链路层:是指网络通讯的线路, 本系统采用电信的ADSL有线方式, 其它也可以是局域网 (双绞线、同轴电缆、光纤等) 或者无线通讯方式 (GPRS、GSM、CDMA等) ;物理链路层是系统数据通信的基础, 但与上层的实现方式基本无关。

(2) 标准网络协议层:是指TCP/IP (Transmission Control Protocol/Internet Protocol) 协议族, 网络中TCP/IP协议叫做传输控制/网际协议, 又叫网络通讯协议, 是Internet国际互联网络的基础, 其中的TCP协议和UDP (User Datagram Protocol) 协议是两种最常用的数据通信协议。

(3) 文件传输层:使用Socket (套接字) 技术实现文件的传输。Socket是Windows与网络的接口。Windows通过Socket把数据格式转换成网络传输格式, 也把网络数据格式转换成Windows格式。Socket可以使用面向连接的协议 (如TCP) , 也可以使用无连接的协议 (如UDP) 。Socket一般用来描述IP地址和端口, 是一个通信链接的句柄。应用程序通常通过Socket向网络发出请求或者应答网络请求, 可以通过Socket传送数据, 进一步封装成传送任何文件 (字节流) 的功能。

(4) XML文件控制层:在XML中的数据可能是接收到的数据, 也可能是要发送的数据, 监控中心和站点必须准确控制XML文件的接收和发送。特别是对于监控中心, 可能同时接收到多个站点发送来的XML文件, 发送XML文件时也要准确控制发送的目标站点。

(5) XML文件封装/解析层:这是两个相逆的过程, 也是两种相对应的操作。XML文件封装是指将要发送的数据按照一定的协议打包组装成一个特定格式的XML文件, 解析是指对一个XML文件按照特定的协议进行分析解读, 还原出其中所描述的数据。

(6) 数据表示层:将采集到的数据、处理中的数据或者在数据库中存储的数据等各种数据格式转换为能够用XML文件描述的格式。这一层在本地操作的数据和远程传输的数据之间建立了一个通道, 使两者之间互不影响, 从而不会降低系统的执行效率。

(7) 业务逻辑层:实际上就是整个系统的用户接口, 或者说是系统功能的实现层, 包括打印单据、防作弊、报警处理、用户管理、查询统计、费用计算、实时监控、基础数据录入、系统管理等。

4 系统实现

4.1 网络文件传输

4.1.1 动态链接库

本系统使用VC++开发专门用于网络文件传输的动态链接库 (DLL) , 基于对字节流的处理可以传输任何文件, 因此对于XML文件的传输来说是透明的。该动态链接库的主要接口及其功能如下:

(1) 初始化。服务器端要先启动监听, 客户端主动联接。

DWORD DT_Net_Init Server (BOOL b Is Server=TRUE) ;

参数:b Is Server表示是否将此Socket端用作服务

返回:0或者错误代码

(2) 设置回调函数接口

DWORD DT_Net_Set Call Back (LPVOID p Param, LPNET_ACCEPT_CALLBACK p Accept, LPNET_RECV_CALLBACK p Revc, LPNET_DISCONN_CALLBACK p Dis Connect, LPNET_LOG_CALLBACK p LogInfo) ;

包括请求连接、接收到数据、断开连接和日志回调。

(3) 设置文件操作的回调函数接口

DWORD DT_Net_Set File Call Back (LPCTSTR p Save Pat h, LPNET_SENDFILE_CALLBACK p Send File, LPNET_RECVFILE_CALLBACK p Recv File, LPNET_ABORTFILE_CALLBACKp Abort File) ;

包括文件发送完毕、接收到文件、文件发送中断的回调。

(4) 服务器启动监听

DWORD DT_Net_Start Listen (LPCTSTR psz Local IP, unsigned long n Svr Port) ;

参数:psz Local IP-服务器IP地址

n Svr Port-服务器端口号

返回:0或者错误代码

(5) 服务器停止监听

DWORD DT_Net_Stop Listen () ;

(6) 发送文件

DWORD DT_Net_Send File (unsigned int n IDSocket, LPCTSTR pstr File Name, LPCTSTR psz Re Name=NULL) ;

参数:n IDSocket-Client端套接字句柄

pstr File Name-文件名称 (全部路径)

psz Re Name-文件重命名

(7) 中止文件发送

DWORD DT_Net_Abort File (unsigned int n IDSocket) ;

参数:n IDSocket-Client端套接字句柄

(8) 断开连接

DWORD DT_Net_Dis Connect (unsigned int n IDSocket) ;

参数:n IDSocket-套接字句柄

(9) 连接服务器

DWORD DT_Net_Connect Remote (LPCTST Rpstr Remote IP, unsigned long n Remote Port) ;

参数:pstr Remote Ip-服务器IP地址;

n Remote Port-服务器端口号

4.1.2 实现文件传输

将监控中心作为Socket Server, 启动监听:

DT_Net_Init Server (TRUE) ;

DT_Net_Start Listen (Server IP, Server Port) ;

然后设置回调函数:

DT_Net_Set Call Back (self, LPNET_ACCEPT_CALLBACK, LPNET_RECV_CALLBACK, LPNET_DISCONN_CALLBACK, LPNET_LOG_CALLBACK) ;

DT_Net_Set File Call Back (PChar ('d:temps') , LPNET_SENDFILE_CALLBACK, LPNET_RECVFILE_CALLBACK, LPNET_ABORTFILE_CALLBACK) ;

各站点作为Socket Client, 也设置回调函数, 并主动去连接Server:

DT_Net_Init Server (FALSE) ;

DT_Net_Set Call Back (self, LPNET_ACCEPT_CALLBACKLPNET_RECV_CALLBACK, LPNET_DISCONN_CALLBACKLPNET_LOG_CALLBACK) ;

DT_Net_Set File Call Back (PChar ('c:tempc') , LPNET_SENDFILE_CALLBACK, LPNET_RECVFILE_CALLBACK, LPNET_ABORTFILE_CALLBACK) ;

DT_Net_Connect Remote (Server IP, Server Port) ;

每个站点和监控中心之间建立唯一的独立通道, 当连接建立成功后, 就可以利用该套接字在该站点与监控中心之间收发文件:

DT_Net_Send File (the Socket, File Name) ;

4.2 XML文件封装协议

不同的数据最终封装成的XML文件是不同的, 但是为了便于处理, 把每一个XML文件分成两个主要的部分 (Head和Data) , 如图3所示:

(1) Head部分

系统中的任何一个XML数据文件都有相同的Head (数据包头) , 表明该XML文件的优先级 (priority) 、数据种类 (Frame Type) 、来自何处 (From Station No, 站点编号, 如果是服务器则为“0”) 以及封装时间 (Date Time) 。

(2) Data部分

这一部分是XML文件所要封装的数据内容, 基本按字段格式排列即可。要注意数据类型转换的问题, 任何数据都必须想方设法转换成字符串类型的表示形式。

4.3 XML文件控制

在实现了文件传输的基础上, 对XML文件的封装、解析、接收和发送等操作使用多线程方式并行处理, 并且引入队列 (Queue) 的机制。监控中心的基本处理机制与流程如图4所示:

文件接收线程接收到XML文件后, 先不管文件的具体内容, 只负责将文件入队。然后由专门负责从队列中提取文件的线程将文件取出, 由处理线程进行解析、处理, 并将数据保存至数据库, 同时还要生成确认应答的XML文件放如发送队列中。另外有专门负责发送文件的线程将文件发送出去。监控中心要往各站点发送的数据有一个独立的线程负责从数据库中读取相应数据封装成XML文件放入发送队列, 等待发送。数据处理线程负责对数据库中的数据做进一步的业务处理, 而系统监管线程主要的任务就是监视其它各个线程的状态, 及时进行调整、修复或者发出报警, 以保证系统正常运行。

站点的处理与监控中心的处理比较相似, 但更为简单, 因为监控中心面对多个站点, 而站点只面对一个监控中心。

要保证监控中西文件处理的速度和系统运行的效率还要考虑以下几个问题:

(1) 优先级

(2) 区分文件是哪个站点发送来的或者要发送给哪个站点

(3) 文件队列的管理

虽然XML文件的

部分有优先级和站点编号信息, 但是需要解析XML文件才能得到, 为此要把文件名定为“优先级_站点编号_流水号.xml”的格式, 可在一定程度上方便处理的过程。另外, 文件队列可能存在积压现象, 即入队快而出队慢, 并且会造成恶性循环使系统性能持续降低, 针对这种情况制定一个限度, 当队列中的文件数达到此限度, 则停止入队, 即把新生成的XML文件丢弃。

5 结束语

利用上述方法解决了一个站点式远程监控系统的数据传输问题, 使原本错综复杂地、多种格式数据相互收发控制变得逻辑简单、层次分明、实现方便、安全可靠、稳定高效。经实际应用和测试, 该方法是完全可行的, 效果很好。

参考文献

[1]耿祥义, 等.XML程序设计[M].北京:清华大学出版社, 2009.

[2]朱晓娟.基于关系的XML数据存储技术研究[J].计算机与现代化, 2009 (12) .

[3]周红波, 等.基于XML的数据交换及其参照完整性研究[J].计算机工程与设计, 2006, 14 (27) .

[4]秦杰, 等.基于X M L的W e b数据模型[J].计算机科学, 2006, 7 (33) .

XML技术及应用 篇6

近年来, 随着广电业务和技术的不断发展, 有线数字电视行业为用户所能提供的各种服务种类逐步增加。除了仍然提供传统的模拟电视业务之外, 接连不断的开通了数字电视、专业频道和其他新业务。但是其在应用中同时也存在着诸多的不完善, 主要的原因在于和业务蓬勃发展有着严格却别的计算机专业系统相对落后, 在业务建设中存在着滞后性。这主要是由于传统计算机业务系统由于时代的不同, 针对各种业务模式的运行的方式缺乏统一规划, 造成在应用的时候业务系统林立, 各种条块的分布不均匀, 彼此之间存在着诸多差异, 这就导致在工作中各个人员、设备和网络数据库等资源不能够进行共享、其中存在的差异而引起的管理困难以及开发成本高, 更为重要的是这种缺陷和问题的存在严重的制约着业务水平的发展速度, 影响了广电企业在应对当前激烈市场竞争的规划方案, 同时造成了难以提高和满足客户要求, 阻碍了服务水平和质量的提高。因此广电有线数字电视行业工作中, 急需建立一套系统化的综合业务运营平台来支撑整个业务体系的发展, 同时更是为业务体系可持续发展提供平台。这种综合业务平台主要是由“业务综合、资源共享、管理集中、使用灵活”等因素组成。广电BOSS采用了富客户端技术, 是通过利用XML作为主要的传输媒介和方式, 将数据分批下载到客户端, 同时能够合理的利用本地化数据方式, 从而减少了合理的客户端和服务段之间的交互应用。

1 XML技术介绍

XML是一种元标注语言, 是数据交换的标准格式, 同时还是当今世界上应用最为广泛的十大软件技术之一。XML作为数据交换模式, 具有跨语言、跨平台的强大功能, 在应用的时候是通过对不同系统之间进行无二性的交换数据, 简化了网络数据的交换和表示, 使得其能够以代码、数据和表示方式合理分离。另外它还能作为一种层次型数据库进行使用, 有的时候能够合理有效的对各种数据进行分类保存, 并且能够存储于与本组数据有关的数据资料, 是一种将数据和格式能够相互转换和相互分离的先进技术。XML的优势在于其数据可被用户定义的、有语义的标记环绕, 可在数据库中实现无损的存储、检索和修改等操作。XML用于信息交换主要有以下几个方面的优势:

1.1 可扩展性

允许根据需要定义新的标记的能力, 使其能够以意义明确的方式将不同数据结构保存在一起。

1.2 自我描述性

支持丰富的数据类能够很好地表现许多复杂的数据关系, 使基于XML的应用程序可以准确高效地搜索相关的数据内容。

1.3 跨平台性

使用Unicode编码的纯文本格式使其可以在大部分平台上使用, 能够在不同的用户和程序之间交换数据, 而不论其平台如何。

1.4 简单性

XML文档是能进行文件结构合法性验证的纯文本文档, 易于传输操作。通过DOMAPI (文档对象模型API) 可轻松地编制读写XML的程序, 在Web系统应用程序中可灵活使用XML。

2 广电BOS S架构

广电BOSS是一套广泛的概念和理论, 它包含了多种数据类型, 在目前, 广电BOSS主要涵盖了模拟电视、数字电视、宽带业务、互动电视、高清电视等诸多互动增值业务, 同时更是充分的融入了各种最新的理念和客户管理思想, 使得其能够面向客户, 面向融合并且可以快速的相应各个客户要求的新型业务平台。BOSS的主要功能架构包括:企业级客户管理、计费融合管理、业务综合管理、工单流程管理、移动营业厅管理、呼叫中心管理、网上营业厅管理、充值卡管理、工程管理、前置管理等。

3 广电BOS S中XML技术的应用

3.1 XML在BOSS内部的应用

3.1.1 广电BOSS中XML应用体系结构

广电BOSS采用了B/S/S架构并继承传统的C/S灵活性而设计, 由于B/S架构不适合大量数据传输和复杂业务的频繁交互, 而本系统不仅要求数据量大并且要求业务操作复杂, 为了减少频繁的数据库读写操作, 就需要一套单独的数据处理机制, 基于XML的数据交换系统成为BOSS进行数据交换传输的首选。a.客户端:业务员录入相关信息后, 客户端脚本首先完成校验和转换, 将数据打包成XMI。包。数据包到应用服务器, 业务程序分析数据包数据的合法性, 对合法性数据进行下一步业务操作, 然后把业务数据通过数据交换平台发送到数据层。反过来, 客户端从业务层接收XML数据包, 灵活的把数据分批下载到客户端, 并且充分利用Java Script把本地化的数据灵活运用, 展现到浏览器。b.交换系统:它负责各系统问的数据转发, 基于XML标准定义了合适的TAG集合以及Schema定义, 统一了数据交换标准, 完成了系统的无缝集成, 负责把展现层录入的数据传输到数据库及把数据库中的数据传输到展现层, 起到将数据打包并解包的功能, 同时完成数据的转换和校验。

3.1.2 广电BOSS中XMI的格式定义

DOM4J是一个非常优秀的Javax MLAPI, 具有性能优异、功能强大和极端易用的特点。它应用于Java平台, 采用了Java集合框架并完全支持DOM, SAX和JAXP。DOM4J的一个最大的实用之处是支持Xpath表达式的查询, 这样, 我们可以在DOM4J的Document结构中使用这种简单的表达式就可以快速找到我们需要的某个元素了。通过以上方法, 实现了应用层对XML数据包的解析, 在本层数据和业务处理相分离, 使系统可以灵活处理不同的业务。同时, 本层实现了对不同数据库和数据源的支持, 使系统具备了良好的可扩展性。

3.2 XML在BOSS和子系统之间的应用

广电BOSS除了主要的业务系统外, 还包括相对独立的系统, 它们具有不同的数据库、不同的数据格式, 为了保证系统的高效运转, 这些系统需要统一的标准语言进行自动交互, 而XMI。语言具有平台无关性和自解释性, 所以它成为系统的数据交换标准。基于XML标准定义了合适的TAG集合以及Schema定义, 通过数据交换系统, 负责各系统闻的数据转发, 统一了数据交换标准, 完成了系统的无缝集成。通过XML格式的指令单控制百万级别客户的CA系统开、关频道, Call Center系统可自动的提取来电客户资料、根据催费清单进行电话语音自动催费、支持电话自动查费交费等, 客户可以到国内各大银行办理收视费交纳业务, 客户可在Internet上查询费用信息、报修、交费, 统一的XML数据格式使短信平台具有集成了移动、联通、网通的短信收发能力, 统一格式的消息管理使得消息具有通过系统、Email、短信多渠道传输的能力。

4 结论

XML技术及应用 篇7

1 XML形式化自动阅卷原理和流程

XML (e Xtensible Markup Language) 可扩展标记语言, 是一种基于文本基本格式形成的统一、开放的元标记语言。其在自动化阅卷活动中应用的突出优势是其半结构化的信息表达, 这种信息表达形式能够最大限度的兼顾应用技能测评活动的标准性和容错性特性。自动化阅卷活动主要包括有三个主要流程:第一步, 出题教师根据试卷的内容使用SQL Srever技能操作试卷对SQL Server初始数据库进行作答, 为了保证系统对试卷判断的标准性, 作答答案必须是正确的而且是唯一的;第二步, 借助程序设计工具将教师作答的答案内容从标准数据库中提取出来, 并生成相应的操作XML文档, 这一文档主要包括两部分内容一部分是教师作答的标准文档, 一部分是学生作答的学生操作文档;第三部, 根据系统设计阶段预设的应用技能评分标准, 对教师文档和学生文档进行对比分析, 并最终形成相应学生作答文档的评分, 与学生操作文档仪器录入成绩库。

2 关键技术分析

2.1 XML形式化表达

XML形式表达是XML自动阅卷系统功能实现的重要基础, 在实践操作活动中XML形式化表达主要包含有两个主要的技术环节, 分别是数据库信息的获取环节和数据库信息XNL表示技术。其中系统数据库信息的获取技术是XML形式化的通用技术, 可以通过查询SQL Server系统表的方式获取相应的数据信息, 以及功能预设信息。数据库信息的XML表示是形式表达的关键技术, 在完成了数据从数据库中提出的环节后, 数据库信息在存储涉设备中的存储以及在人机交互界面的展示成为XML自动阅卷系统的主要任务, 这一功能实现需要借助XML的半结构化树型文档描述结构, 所谓半结构化是指树型结构与语言描述相结合的描述结构, 在这一结构中数据信息之间的相关性信息形成了主要的数据关系结构, 在各个树型关系节点上, 在以描述性语言对其个体特性特殊属性进行标记, 进而形成XML形式化的基本功能。

2.2 XML形式化自动阅卷流程

从XML形式化阅卷系统运行角度来看, 阅卷活动主要有三个部分组成, 同时这三个组成部分分别是自动化阅卷的三个主要流程, 第一步, 系统以数据库数据信息提取技术实现对数据库信息的提取, 并根据文本信息中相关性关系对文档进行DOM解析, 在系统内存中形成两棵DOM树, 其中一棵为教师作答的标准数据库信息标记为Key Tree, 另一棵为学生操作形成的学生操作数据库信息标记为Ks Tree;第二步, 获取自动阅卷活动需要的评分规则和标准答案的结构性描述, 主要包括有对应的实体编号、数据库名称、操作对象、操作类型和题目总分数;第三步, 借助技能操作评分规则对树型结构中的关键节点进行分析, 并在接下来的判断活动中, 对比Key Tree和Ks Tree相应节点的解答状况, 并根据判卷标准进行评判。

2.3 操作判卷规则

技能测评活动中所有的操作类型可以归纳细化为三个种类, 分别是创建、修改和删除, 在实际的阅卷活动中, 产生创建和修改动作的文档其原数据和创建、修改数据都会保存在XML文档中, 通过在Key Tree中提取相应的对象关键节点, 来对比分析Ks Tree中提取的对象节点信息, 相同则得分, 不同则不得分。而删除动作因为动作后的对象不存在所以不可能存在于XML文档当中。所以在具体的阅卷活动中对删除操作的判断只需要在Ks Tree中进行, 如果Ks Tree中不存在信息则得分, 存在信息则不得分。

3 结论

在以推动学生全面发展为目标的教育环境下, 应用技能测评成为现代教育活动中, 实现对学生应用技能测评的主要手段。但是传统的人工测评方式不仅工作量大, 而且测评结果受测评主体主观因素的影响较大, 不适应现代应用技能测评活动的需求。本文从XML形式化自动阅卷原理和流程和关键技术分析两个方面对这一问题进行了简要分析, 以期为应用技能测评水平提升提供支持和借鉴。

参考文献

[1]陈尧妃.基于XML的SQL Server数据库技能操作自动阅卷[J].计算机系统应用, 2010 (03) :158-161+186.

[2]陈尧妃.ADOX在SQL Server数据库技能测评中的应用[J].计算机系统应用, 2011 (06) :225-227+206.

[3]姚轩.基于XML的异构数据库集成的研究与实现[D].北京林业大学, 2008.

XML技术及应用 篇8

1 XML技术的优势与特点

1.1 适合于异构数据库间的数据传递

随着计算机网络技术的普及和Web技术的广泛应用,不同平台上数据库之间的数据传递也越来越频繁。这种数据传递面临的技术困难是数据库之间的结构不同以及数据库所处平台的不同,使得数据传递不能直接进行,必须使用某种中间媒介进行过渡。对这种媒介的基本要求是:不受操作系统和数据库系统的限制,即独立于平台。XML以其优良的性能成为这种中间媒介的首选。同时充分利用XML技术,对外部系统,提供统一XML格式文件,对内部系统,统一接口方法,可以彻底解决数据转换问题。

1.2 简单

XML的规范简单,其设计原则是希望与其相关软件能具有高度的兼容性,且降低相关应用程序撰写的难度。XML采取一般计算机语言的语法,清晰易懂,同时XML是一个开放性标准,不隶属于任何一个公司或团体。任何研究单位与公司都可以获得XML,并以此为标准进行开发。

1.3 可扩展性

XML的可扩展性从多个方面表现出来。首先,它不像HTML那样受限于固定的词汇集,允许为特定的应用和行业使用XML定义专门的词汇集。其次,与采用其它格式的应用系统相比,只要结构的改变只牵扯到添加、处理或应用XML格式的应用程序,则XML具有更强的抗变化能力。这样的灵活性在其它数据格式中并不多见,这也是使用XML的显著优越性之一。XML没有绑定到任何程序设计语言、操作系统或软件销售商上。事实上,使用各种各样的程序设计语言都可以相当直接地创建和使用XML。与平台无关的特性使得XML成为非常有用的工具,在不同的程序设计平台和操作系统之间达到交互操作的目的。

1.4 可控制管理

XML不仅可以描述结构化数据,还可以有效地描述半结构化甚至非结构化的数据。以XML为基础结构的数据库,不但可以保存XML格式的数据,还可以保存各种数据格式,包括关系数据库表的数据,以及图形、图像、影片、声音等二进制的数据。同时XML可通过类似数据库的操作技巧来使用该份文件,可作为简易的网络数据库使用

1.5 其他

XML为纯文本文件,不受操作系统、软件平台、数据库的异构性限制。XML使用者可以定制属于自己的标签与文件架构,并且可以提供给其它使用者采用。对于同一份内容,使用者只需要新建一次便可以使用多次,且通过传输可与其它对文件有需求的单位共享资料。可降低重复数据的传输,强化网络资源的使用效率。

2 基于XML技术的数据库管理系统的构建

2.1 建立XML数据库

传统的关系型数据库的建立,其思路是高层数据以对象形式出现,底层数据由关系型数据库组织。而XML数据库是采用关系数据库反映应用数据集根节点的子节点,而由XML组织根节点的各个子树的内容,形成数据对象,把由XML描述的数据组织在关系数据库中,这样的数据无论存储形式还是表现形式都是结构化的,无需再作数据分析。建立步骤简述如下:(1)建立元数据库:将元数据的每个元素用XML标记。若某元数据有多个元素,则分别置标,然后作为一个字符串存放于相应字段中。由于标记后的XML元素已成为独立的对象,因此可以通过对象属性的设置表示元数据的特殊含义;(2)建立文本对象数据库:对于图象、音频、视频等对象可以无需用XML置标.文本必须被XML置标。根据内容结构将元数据分解为若干个对象装入数据库,同时在Catalog字段设置对象的ID和Ti Tle。这样用户可以通过查看Catalog选择需要的部分。当用户查看某个对象的内容时,可通过ID和Ti Tie选择子对象。

2.2 存储数据

目前,XML主流的存储方式有两种,一种是基于文本方式的存储,即把XML作为文本存储,它可以是文件系统中的文件、关系数据库中特定的文件格式。这种存储方式对于恢复整个XML文档很简单,因为它不需要重建树结构,但是对于查询或恢复小部分的文档片段效率很低,需要读取和解析整个文档。另一种是基于模型方式存储。基于模型方式是指将数据的概念模型转换成物理存储模型。有些数据库将该模型存储于关系型和面向对象的数据库中,例如在关系型数据库中存储DOM时,就会有元素、属性、PC-DATA、实体、实体引用等表格。有些数据库使用了专为这种模型作了优化的专有存储格式。

2.3 XML与数据库之间的数据操作

XML的主要作用是为不同数据库和数据存储之间传递数据和显示数据,XML与数据库之间的数据操作可以分为XML向数据库输人数据、数据库中的数据以XML形式输出。(1)XML向数据库输人数据:可以使用DOM对象将XML文档存人数据库。表文件对象模型(DOM)提供了一种访问和操XM文件的方法。比如在Microsoft IE5.0中包含了Microsoft XML2.0类库,其中包含了各种DOM对象。可以在ASP中引用这些对象,从而实现XML与数据库的交互;(2)数据的XML形式的输出:ADO是ASP的内置组件.它的特征是有一对新对象Record和Stream可以实现数据的XML形式的输出。用ADO实现从数据库中读取XML格式数据的处理步骤是:首先从数据库中取出数据,存人记录集RS中。创建Stream对象,由Record Set生成XML格式的Stream,参数ad Persist XML是生成XML格式的Stream的关键。然后将Record Set中的数据转换成XML,用Stream的Read Text方法生成XML文本Sz XML。

2.4 XML数据的查询

在基于关系数据库的XML数据库中查询数据。就是把关系表中的数据以XML文档的形式发布出来。基于关系存储的XML查询最终都要将XML查询转化为SQL查询,并将SQL查询得到的平坦表形式的结果再转化为XMI文档返回给用户或应用。由于XML查询语言比SQL要复杂的多,它们一般通过路径表达式来对XML文档中的嵌套结构进行查询,而且路径表达式中可以包含各种查询轴和谓词。谓词中又可以包含路径表达式、操作符和函数等,因此转换XML查询为SQL查询是一个挑战,这种转换技术及其实现性能对于基于关系的XML数据库的发展前途可以起决定性的作用。目前,针对XML文档和页面的查询多采用XQL实现,XQL是AT&T实验室提出的一种基于XML的半结构数据的查询语言,它能够通过查询从XML文档中抽取信息,能够在不同的DTD之间翻译XML数据。同时,它也能够从多个XMI文档中进行数据结合,对XML文档进行查询、构造、转换和集成,XQL方案的作者按照数据库的思路来解决问题,采用了用于访问层次型数据库的相同技术,XQL与SQL语言很相似,有类似SELECT-FR0M-WHERE的查询结构。但是,XQL有一些很重要的区别于SQL语言的特点,XQL的WHERE子旬由模式和条件表达式两部分组成,这意味着满足条件的数据项不仅要满足条件表达式,而且数据项的类型和值必须与指定的模式匹配,引入模式匹配是XQL区别于SQL的最大特点。

总之,XML技术是近几年才发展起来的,在各个领域以及各个行业都具有十分巨大的潜力。但是与传统的系据库技术相比,很多技术还不成熟,在规范化,引用完整性、安全机制等方面的研究工作才刚起步。但是随着XML技术的不断完善与发展,XML同数据库结合必将会实现更强大的功能。

参考文献

[1]赵辉,陶世群,李丽萍.一种基于XML的异构数据源集成的方法与实现[J].山西大学学报(自然科学版),2005,28(1):33-36.

[2]李军怀,周明全,耿国华,等.XML在异构数据集成中的应用研究[J].计算机应用,2002,22(9):10-12.

[3]孟小峰,周龙骧,王珊,数据库技术发展趋势[J].软件学报,2004,21(4).

[4]方美琪.XML及其在电子商务中的应用.清华大学出版社.2003:56-59.

[5]游明坤.浅谈XML在数据库中的应用技术[J].电脑知识与技术,2004,(23):19-21.

[6]王春枝,纪利群.利用XML实现异构数据库间互访[J].微型机与应用,2002,(8).

[7]张素智,卢正鼎,李春林.XML数据库及其应用研究[J].计算机工程与应用,2002(8):33-36.

[8]李由,肖卫东,徐振宁,等.XML数据库存储技术的研究与实现[J].计算机工程,2002(7):86-88.

上一篇:高职教育质量管理下一篇:读书推广