首页> 中国专利> 一种关系数据库管理系统与XML数据库管理系统之间数据交换的方法

一种关系数据库管理系统与XML数据库管理系统之间数据交换的方法

摘要

本发明提供了一种关系数据库管理系统与XML数据库管理系统之间数据交换的方法。本发明的技术方案可以让数据在关系数据库管理系统与XML数据库管理系统之间进行交换,并且更新管理数据库管理系统中的数据,是的用户可以在保留原有的基于关系数据库管理系统的前提下,引入XML数据库管理系统作为新的信息系统的数据源,发挥新信息系统价值的同时保留了历史数据的和使用价值,同时保持了两种操作系统的互操作性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-10

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20160120 终止日期:20170612 申请日:20120612

    专利权的终止

  • 2016-01-20

    授权

    授权

  • 2013-10-09

    专利申请权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20130912 申请日:20120612

    专利申请权、专利权的转移

  • 2013-02-06

    专利申请权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20130106 申请日:20120612

    专利申请权、专利权的转移

  • 2012-12-12

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120612

    实质审查的生效

  • 2012-10-31

    公开

    公开

查看全部

说明书

技术领域

本发明涉及计算机技术领域,特别涉及一种关系数据库管理系统与XML数 据库管理系统之间数据交换的方法。

背景技术

XML(全称Extensible Markup Language),是一种专门为intemet而设计的 一种标记语言,且由于其具有有效的表达各种信息、数据和使各种应用协同工 作的能力,业已成为数据发布和数据交换的事实标准,因此,XML在近几年得 到了发展和广泛的应用。XML的重点不在于数据的形式本身,而在于管理数据 信息,因此,XML使得不同数据库模式的统一成为可能,为异构数据库的集成 问题提供了途径。

XML数据库管理系统(XMLDBMS)也是近年来发展迅速的一种新型的数 据库管理系统,它以存储和检索符合W3C标准的XML文档数据为目标的数据库 管理系统,并且可以更新XML文档。由于它存储的对象是XML文档库,因此 XMLDBMS本质上就是一种XML文档库。

XML数据库管理系统(XMLDBMS)是近年来快速发展的一种新型的数据库管理系统(DBMS),它 存储和检索的数据是XML文档,并且支持更新XML文档。随着XML标准被越来越多的行业采纳为数据 交换标准,XML数据的管理(存储,检索,更新等)需求会持续快速增长,特别是XMLDBMS比关系数 据库管理系统更加适合处理文本类数据和XML文档数据。而关系数据库管理系统(关系数据库管理系统) 由于已经在IT行业广泛应用了几十年,不论在市场还是技术方面其主导地位不可撼动,并且相比 XMLDBMS,关系数据库管理系统在处理关系数据时更加有优势。所以未来的DBMS市场上面,XMLDBMS 将与关系数据库管理系统(关系数据库管理系统)长期并存。在各种企业和其他单位中,将出现XMLDBMS 和关系数据库管理系统长期共存并且协同工作的状况。

查询引擎是数据库管理系统(DBMS)中的核心子系统,由于XML是典型的半结构化数据,对XML 数据的查询要求不同于传统数据库,在查询时不仅要对数据库中的数值进行查询,而且要对XML文档的 结构和数据之间的关系进行查询。随着XML相关技术的深入研究,XML查询已经具备了坚实的技术基础 在此基础上,W3CWorldWideWebConsortium于2001年12月提出了XML查询语言规范工作草案-XQuery 语言,迄今为止,XQuery语言一直在不断的发展中。W3C为XQuery查询语言定义的数据模型成为XQuery  Data Model(XDM),它是一种基于序列的数据模型,即XQuery中任意数据都是一个序列,序列由若干 个有序的项目(item)的组成;一个item是一个原子值或者一个节点;一个节点是XML文档的7种节点 之一(文档节点,元素节点,属性节点,文本节点,名字空间节点,注释节点,处理指令节点)。在本 XMLDBMS中,使用节点数据表存储文档节点和元素节点,其余5种节点存储在其父亲元素节点的数据行 中。

目前,由于大量已部署在用户机房的传统的关系数据库管理系统并没有Native的XML数据管理能力 也完全不理解XMLDBMS,所以用户无法在关系数据库管理系统内部从XMLDBMS中推或者拉数据;但 是反过来却可以在XMLDBMS中推数据到关系数据库管理系统或者从关系数据库管理系统拉数据到 XMLDBMS中,这需要XMLDBMS支持与关系数据库管理系统进行数据交换的功能。

为了让XMLDBMS与关系数据库管理系统协同工作,需要一种在这两种DBMS系统之间进行数据交 换的机制。

发明内容

为解决上述问题,本发明技术方案提供的一种关系数据库管理系统与XML数据库管理系统之间数据 交换的方法,包括:

步骤S1:在所述XML数据库管理系统的查询引擎中设置一内置函数;

步骤S2:通过所述内置函数将所述XML数据库管理系统与将所述关系数据库管理系统建立连接,并 通过所述内置函数将XML数据库管理系统的数据查询和更新请求发送至所述关系数据库管理系统中;

步骤S3:所述关系数据库管理系统将请求结果返回至所述XML数据库管理系统;

步骤S4:所述XML数据库管理系统将所述的请求结果转换成为具有预先设定的固定格式的XML文 档片段;

步骤S5:解析所述的XML文档片段。

可选地,所述的内置函数通过连接字符串将XML数据库管理系统与将所述关系数据库管理系统连接。

可选地,所述连接字符串包括目标关系数据库管理系统的URL/IP+端口号、数据库名、用户名、密码 信息。

可选地,在所述步骤S2中,所述XML数据库管理系统的数据查询和更新请求以SQL语句的形式发 送至所述关系数据库管理系统。

可选地,在所述步骤S3中,所述关系数据库管理系统将请求结果以关系表的形式返回至所述XML数 据库管理系统。

可选地,在所述步骤S4中,通过所述内置函数将所述请求结果转换成为XML文档片段。

可选地,所述步骤S5具体为:将所述XML文档片段送至XML文档解析器,所述XML文档解析器将 所述XML文档片段拆分成XDM元素节点,并将所述的XDM元素节点存储至一临时节点表中。

可选地,所述的具有固定格式的XML文档片段为若干名为row的XML元素节点组成的XDM,所述 的row节点名称固定,内部包括若干子元素节点,所述row节点对应于所述关系表中的一行,所述row节 点的子元素节点对应于所述关系表中的一行中的一列。

可选地,所述的子元素节点有且仅有一名为“type”的属性,所述属性值是所述关系表对应列的数据类 型。

可选地,所述的子元素节点有且仅有一文本子节点,且所述每个子节点的名称与所述关系表各列的列 名相对应。

与现有技术相比,上述技术方案具有下优点:

本发明的技术方案可以让数据在关系数据库管理系统与XML数据库管理系统之间进行交换,并且更 新管理数据库管理系统中的数据,是的用户可以在保留原有的基于关系数据库管理系统的前提下,引入 XML数据库管理系统作为新的信息系统的数据源,发挥新信息系统价值的同时保留了历史数据的和使用 价值,同时保持了两种操作系统的互操作性。

附图说明

图1是本发明实施方式的关系数据库管理系统与XML数据库管理系统之间数据交换的方法的流程图。

图2是本发明的实施方式的关系数据库管理系统与XML数据库管理系统之间数据交换的方法示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详 细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述 的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面 公开的具体实施方式的限制。

本领域的技术人员知道,关系数据库管理系统是管理关系数据库,并将数据组织为相关的行和列的系 统,其业已在IT行业被广泛地加以利用。XML数据库管理系统主要处理和组织的是文本数据和XML文 档数据。相比于XML数据库管理系统,关系数据库管理系统在组织和处理关系型数据时具有难以比拟的 优势。但是,由于关系数据库管理系统没有本地的XML数据管理能力,无法实现两者之间相互的数据交 换。

为解决现有技术中的问题,本发明的发明人经过研究,提出了一种关系数据库管理系统与XML数据 库管理系统之间数据交换的方法。参阅图1,图1是本发明实施方式的关系数据库管理系统与XML数据 库管理系统之间数据交换的方法的流程图。本发明实施方式的关系数据库管理系统与XML数据库管理系 统之间数据交换的方法,包括:

步骤S1:在所述XML数据库管理系统的查询引擎中设置一内置函数;

步骤S2:通过所述内置函数将所述XML数据库管理系统与将所述关系数据库管理系统建立连接,并 通过所述内置函数将XML数据库管理系统的数据查询和更新请求发送至所述关系数据库管理系统中中;

步骤S3:所述关系数据库管理系统将请求结果返回至所述XML数据库管理系统;

步骤S4:所述XML数据库管理系统将所述的请求结果转换成为具有固定格式的XML文档片段;

步骤S5:解析所述的XML文档片段。

参阅图2,图2为本发明的实施方式的关系数据库管理系统与XML数据库管理系统之间数据交换的 方法示意图。下面将结合图2具体介绍本发明的实施方式的一种关系数据库管理系统与XML数据库管理 系统之间数据交换的方法的优选的实施方式。

首先,进入步骤S1:在XML数据库管理系统的查询引擎内核中实现一内置函数,所述内置函数用于 接收两个参数:连接字符串和SQL查询语句,并返回具有固定格式的XML文档片段。其中,连接字符串 包括关系数据库管理系统的URL/IP+端口号,数据库名,用户名和密码等信息,以用于XML数据库管理 系统使用关系数据库管理系统的连接协议(例如,ODBC或者其他特定的关系数据库管理系统的私有连接 协议)与关系数据库管理系统连接。

进入步骤S2:通过所述内置函数将所述XML数据库管理系统与将所述关系数据库管理系统建立连 接,并通过所述内置函数将XML数据库管理系统的数据查询和更新请求发送至所述关系数据库管理系统 中;

进入步骤S3:所述关系数据库管理系统将请求结果返回至所述XML数据库管理系统。其中,关系数 据库管理系统以关系表的形式返回的请求结果(单一的原子数据也将作为关系表处理),因此,需要将关 系表转换成为XML数据库管理系统可以识别的XML数据。

进入步骤S4:所述XML数据库管理系统将所述的请求结果转换成为具有固定格式的XML文档片段。 其中,XML数据库管理系统中的内置函数将关系表转换成为具有预先设定的固定格式的XML文档片段。 所述内置函数返回的具有固定格式的XML文档片段如下:

通过上述的XML文档我们可以看出:

内置函数返回的是若干名称为row的XML元素节点组成的序列(XQuery数据模型);

所述的各个row节点对应于关系数据库管理系统返回的结果的关系表的一行,且row节点的名称是固 定的;

row节点含有若干个子元素节点,分别对应于关系数据库管理系统返回的结果的关系表中相应行的一 个列(字段);

row节点的子元素节点有且仅有一名为”type”的属性,其属性值是关系数据库管理系统返回的关系表 的对应列的数据类型;row节点的子元素节点有且只有一个文本子节点,不再含有其他任何子节点。

同时,应该指出的是,row节点的子元素节点的名称在上文中使用”field1”,“field2”等来表示,但是事 实上它们的真实名称分别对应于关系数据库管理系统返回的结果的关系表的各列的列名。苦关系表的某行 的某列fieldX为NULL,则表示该row元素节点不含有fieldX子元素节点;如果返回结果某列没有名称, 那么使用默认的fieldX这种形式的字符串作为名称。

这样,即使返回的是一个原子值,比如SQL的数据更新/删除/插入操作的返回值,存储过程调用的返 回值,以及返回单个原子值的查询操作的返回值,也可以使用上述的格式进行表示。

当一个字段fieldX的type属性值是string/text/clob/varchar/char(n)时(即这个字段的数据类型是字符 串),位于<fieldX>和</fieldX>之间的所有字符都被作为字符串的字符。

其中,在本发明的实施方式中,将关系数据库管理系统返回的结果的关系表转换为上述格式的XML 文档片段的方法就是按照该格式描述关系表的逐行逐字段进行转换。例如,表1所示的关系表:

表1

  Name   Country   BirthDate   Major   LiLei   China   1976-8-19   English   JimGrey   UK   1977-3-12   History   Han Meimei   China   1977-11-25   Economics

通过内置函数,XMLDBMS的查询引擎内核中的所述内置函数将RDBMS返回的结果转换为XML文 档片段,即:

随后,进入步骤S5:将所述XML文档片段送至XML文档解析器,所述XML文档解析器将所述XML 文档片段拆分成XDM元素节点,并将所述的XDM元素节点存储至一临时节点表中。这样,上述的查询 结果就转换成为任何一个普通的xquery查询产生的中间结果。该中间结果就可以被xquery查询引擎像使 用任何xquery子查询的中间结果一样的方法来计算出一个XQuery/SQL混合查询的最终结果。

在混合查询的SQL查询中可以嵌入XQuery子查询返回的结果,但是,这种结果必须是单个项目(item, 单个XDM节点可以原子化为原子值),不可以是多个XDM项目(items)。嵌入的方式就是在SQL查询 字符串中使用字符串拼接方法,把XQuery子查询结果转为字符串与SQL的其他部分拼接为一个完整的查 询字符串。

综上所述,本发明的技术方案具有如下的优点:

本发明的技术方案可以让数据在关系数据库管理系统与XML数据库管理系统之间进行交换,并且更 新管理数据库管理系统中的数据,是的用户可以在保留原有的基于关系数据库管理系统的前提下,引入 XML数据库管理系统作为新的信息系统的数据源,发挥新信息系统价值的同时保留了历史数据的和使用 价值,同时保持了两种操作系统的互操作性。

应当理解的是这里所描述的方法和系统可以以各种形式的硬件、软件、固件、专用处理机或者它们的 组合实现。尤其是,至少本发明的一部分包括程序指令的应用程序优选实现。这些程序指令被确实地包括 在一个或者多个程序存储设备(包括但不限于硬盘,磁性软盘,RAM,ROM,CD,ROM等)里,并且 可由任何包括适当结构的设备或者机器,例如一种具有处理器、内存和输入/输出接口的通用数字计算机执 行。还应当理解由于附图中描述的一些系统的组成部件和处理步骤优选地以软件实现,所以,系统模块(或 者方法步骤的逻辑流程)之间的连接可能不同,这取决于本发明的编程方式。根据这里给出的指导,相关 领域的普通技术人员将能够设计出本发明的这些以及类似的实施方式。

以上公开了本发明的多个方面和实施方式,本领域的技术人员会明白本发明的其它方面和实施方式。 本发明中公开的多个方面和实施方式只是用于举例说明,并非是对本发明的限定,本发明的真正保护范围 和精神应当以权利要求书为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号