[发明专利]一种存储XML数据到关系数据库的方法有效
申请号: | 201210067768.1 | 申请日: | 2012-03-15 |
公开(公告)号: | CN102662997A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 毕松 | 申请(专利权)人: | 北京播思软件技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 王金双 |
地址: | 100102 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 xml 数据 关系 数据库 方法 | ||
技术领域
本发明涉及一种数据的存储方法,尤其涉及一种存储XML数据的方法。
背景技术
XML是一种描述型的标记语言,与HTML同为SGML(标准通用标记语言,ISO-8879国际标准)的一种应用。由于XML在可扩展性、可移植性和结构性等方面的突出优点,它的应用范围突破了HTML所达到的范围。
一篇XML文档由标记和内容组成。XML中有六种标记:元素(elements)、属性(attributes)、实体引用(entity references)、注释(comments)、处理指令(processing instructions)和CDATA段(CDATA sections)。XML与HTML最显著的不同是XML文档中引入了“文档类型声明”(Document Type Declarations)。DTD使文档可以与分析器交流关于它的内容的元信息。DTD的出现,赋予了XML文档可扩展性、结构性和可验证性,使XML具备了类似于数据库的一些性质,可以利用XML来组织和管理信息;又可以与HTML一样在浏览器中方便地表示,在Internet上高效地传递和交换。
目前,处理XML文档的方式主要有SAX与DOM两种。SAX(SimpleAPIforXML)是一种基于流的、以事件处理方式工作的接口。SAX 2.0在2000年5月发布,增强了许多功能,包括对名字空间的支持。DOM(Document Object Model)则是在对XML文档进行分析后,在内存中建立起一个完整的树结构,然后在此基础上进行各种操作。简单地比较来看,SAX对系统资源要求低、速度快,但对文档的操作是只读的;DOM的处理能力强大,但要求大量的系统资源,尤其是对于大的文档。而后还出现了Xpath和Xpointer用以完成XML的搜索和转换;XSL、XSLT和SOAP用以完成XML的远程对象访问,XML Query Languages的出现使XML查询语言可用于任何XML文档。
而随着网络和Internet的发展,数据交换的能力已成为新的应用系统的一个重要的要求。XML的好处是数据的可交换性(portable),同时在数据应用方面还具有如下优点:(1)XML文件为纯文本文件,不受操作系统、软件平台的限制;(2)XML具有基于Schema自描述语义的功能,容易描述数据的语义,这种描述能为计算机理解和自动处理;(3)XML不仅可以描述结构化数据,还可有效描述半结构化,甚至非结构化数据。
XML文件是数据的集合,它是自描述的、可交换的,能够以树型或图形结构描述数据。XML提供了许多数据库所具备的工具:存储(XML文档)、模式(DTD,XML schema,RE1AXNG等)、查询语言(XQuery,XPath,XQL,XML-QL,QUILT等)、编程接口(SAX,DOM,JDOM)等。但XML并不能完全替代数据库技术。XML缺少作为实用的数据库所应具备的特性:高效的存储、索引和数据修改机制;严格的数据安全控制;完整的事务和数据一致性控制;多用户访问机制;触发器、完善的并发控制等。因此,XML文本在数据读取的性能方面较差,如果需要多次读取同样的XML文本,这种劣势就会更加明显,尽管在数据量小、用户少和性能要求不太高的环境下,可以将XML文档用作数据库,但却不适用于用户量大、数据集成度高以及性能要求高的作业环境。
发明内容
为了解决现有技术存在的不足,本发明提供一种存储XML数据到关系数据库的方法,将XML数据保存到关系数据库中,加快数据的读取访问速度。
为了实现上述目的,本发明提供的一种存储XML数据到关系数据库的方法,包括以下步骤:
将一个XML的Schema拆成一个或多个映射配置文件,每个映射配置文件对应一个关系数据库的表;
解析XML文本,按照映射配置文件中的关联关系将XML文本中的数据插入到多个关系数据库的表中;
通过访问数据库的方式读取XML文本的数据。
其中,所述映射配置文件由一个根节点和多个子节点构成,其中,所述根节点的属性包括:名称,起始深度,深度数;所述子节点的属性包括:ID,父ID,名称,深度数,最大值,类型。
其中,所述根节点的名称,为非空字符串,用于指定数据库表的名称;
所述根节点的起始深度,为正整数,当XML树解析深度为该值时开始使用该映射文件;
所述根节点的深度数,为正整数,在XML树从开始深度解析该值时停止使用该映射文件;
所述子节点的ID,为正整数,表示节点的ID;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京播思软件技术有限公司,未经北京播思软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210067768.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:内燃机及增压器
- 下一篇:隔热玻璃门窗的制造方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置