[发明专利]一种分布式数据源的查询与更新方法无效
申请号: | 201010273362.X | 申请日: | 2010-09-03 |
公开(公告)号: | CN102385599A | 公开(公告)日: | 2012-03-21 |
发明(设计)人: | 袁立言 | 申请(专利权)人: | 上海实方软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 何新平 |
地址: | 201500 上海市张江高科技园*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据源 查询 更新 方法 | ||
技术领域
本发明涉及一种分布式数据源的查询与更新方法,更具体地说是涉及一种通过无缝函数接口,能够对关系数据和XML数据,包括分布式的数据源,进行无缝查询与更新的方法。
背景技术
关系数据库数据与XML数据的无缝处理,需要在关系-XML双模数据库的基础上发明一种无缝查询方法,查询方法离不开查询接口的定义与实现。传统的数据库往往是通过把XML转化为关系来处理的,很少有针对关系-XML双模数据库。本发明从标准SQL与XQUERY出发,基于关系-XML双模数据库的查询与更新接口,针对已分布式的数据源,从而为关系数据与XML数据的无缝处理提供技术支持。
发明内容
为了解决上述问题,本发明提供了一种分布式数据源的查询与更新方法,针对目前数据库处理XML数据的局限性,基于关系-XML双模数据库的查询与更新接口,提供一种可处理分布式数据源的方法。其利用关系-XML双模数据库的查询与更新接口,拓展数据存储的功能为可处理分布式数据源,来无缝处理关系与XML数据。
一种分布式数据源的查询与更新方法,它包括以下几个步骤:
a.关系-XML双模数据库的查询与更新接口输入函数定义参数,输入参数分离,即XML数据与XQUERY命令分离;
b.利用关系-XML双模数据库的数据源管理,拓展数据储存模块,关系数据与XML数据已经可以通过存储模块取得,所述数据储存模块获取的数据包括XML数据与关系数据;
c.取得数据后,在内存中重构XML数据的结构,进行XQUERY的命令处理,将结果返回SQL引擎。
所述关系-XML双模数据库的数据源提供的数据是分布式的;
所述关系-XML双模数据库的数据源是异构数据源,讲过重构以后可以执行XQUERY引擎。
本发明的有益效果为:基于关系-XML双模数据库的查询与更新接口,即不必将XML转化为关系模式,同时该接口可以处理异构数据源,本发明又进一步拓展为分布式数据源。该方法符合SQL和XQUERY等标准,从而便于计算机进行处理。
附图说明
图1为本发明的流程示意图。
具体实施方式
如图1所示,一种分布式数据源的查询与更新方法,它包括以下几个步骤:
a.关系-XML双模数据库的查询与更新接口输入函数定义参数,输入参数分离,即XML数据与XQUERY命令分离;
b.利用关系-XML双模数据库的数据源管理,拓展数据储存模块,关系数据与XML数据已经可以通过存储模块取得,所述数据储存模块获取的数据包括XML数据与关系数据;
c.取得数据后,在内存中重构XML数据的结构,进行XQUERY的命令处理,将结果返回SQL引擎。
所述关系-XML双模数据库的数据源提供的数据是分布式的;
所述关系-XML双模数据库的数据源是异构数据源,讲过重构以后可以执行XQUERY引擎。
本发明优选一实施例:假设接口函数名为xmlquery,输入参数为记为A和B。
A:XML数据列
B:XQUERY执行命令
假设关系-XML双模数据库的表为create table xmlcustomer(cid bigint,info XML),员工表customer(cid bigint,name varchar(256),age int)。xmlcustomer由数据源XMLDATASOURCE提供,XMLDATASOURCE由远端关系-XML双模数据库服务器的运行势力管理,并在本地关系-XML双模数据库服务器注册,员工表为本地数据库服务器管理。
命令为select xmlquery(info,′replace value of node$new/customerinfo/phone with″905-477-9011″′)fromxmlcustomer where xmlcustomer.cid=customer.cid;这个命令是一个查询指令,参数A是info,参数B是更新值的指令。从这个命令可以清楚的看到直接指定xmlcustomer表名,并没有指定数据源的名字。
如果将上面的命令换成传统的数据库服务器来处理,则需要额外的编程工作,一般处理过程为:
(1)从本地服务器中选择customer.cid;
(2)将取得的cid的具体值,替换命令中的customer.cid;
(3)将新命令发送到远端数据库服务器;
(4)将结果存储起来;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海实方软件有限公司,未经上海实方软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010273362.X/2.html,转载请声明来源钻瓜专利网。