[发明专利]异构数据库的统一访问方法有效
| 申请号: | 201110365442.2 | 申请日: | 2011-11-17 |
| 公开(公告)号: | CN102521254A | 公开(公告)日: | 2012-06-27 |
| 发明(设计)人: | 周伊琳;陈炯聪;黄缙华;孙建伟;胡亚平;陈扬 | 申请(专利权)人: | 广东电网公司电力科学研究院 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 广州知友专利商标代理有限公司 44104 | 代理人: | 周克佑 |
| 地址: | 510080 广东省广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 统一 访问 方法 | ||
技术领域
本发明涉及一种数据库访问方法,具体来说涉及一种异构数据库的统一访问方法。
背景技术
随着计算机和软件技术的不断发展,软件领域的分工也越发精细,具体体现在:不同的行业、不同的项目甚至同一个项目的不同阶段的侧重点完全可能不一样,所采取的技术工具、数据模型和数据库管理系统都可能完全不尽相同。
在数据库管理系统的领域内,目前就存在着:传统的关系型数据库管理系(例如:甲骨文公司的Oracle、IBM公司的DB2、Sun公司Sybase以及微软公司的SQLServer等)、实时/历史数据库系统、对象数据库管理系统。通常,传统的关系数据库管理系统都是以SQL标准对外提供访存接口,Insert/Select/Update和Delete等标准的SQL语句;而实时/历史数据库系统和对象数据库系统一般都是以和各种语言绑定的API调用来提供访存接口。因此对于数据库应用开发人员来说,开发一个应用往往需要熟悉和了解各类数据库关系系统的特性和API(应用编程接口)。
因此,目前在大型项目中,由于引入了特性各异的数据库管理系统,给软件开发人员带来了极大的开发难度和后期维护难度。一方面数据管理的精细化是必然的趋势,需要引入不同的针对性很强的数据库管理软件;另外一方面,目前没有一种行之有效的方法和统一和简化异构数据库的统一访问技术。现在,数据库管理技术领域一般将数据分为如下三种类型:
a、管理型关系数据;b、生产型时序数据;c、应用型模型数据。因此如何将各种数据抽象统一、归纳整理出一种标准的访问手段变得尤为迫切。
发明内容
本发明的目的在于提供一种异构数据库的统一访问方法,该方法能够实现通 过统一的访问接口访问各种异构数据库,从而降低数据库应用开发过程中的难度、缩短开发的时间周期,进一步降低应用系统后期的维护成本。
本发明的目的可通过以下的技术措施来实现:
一种异构数据库的统一访问方法,包括如下方法:
步骤一:前台客户端接收用户输入的SQL语句,并将SQL语句请求发往后台数据库请求处理程序;
步骤二:后台数据库请求处理程序根据SQL标准语法分析SQL语句是否合法;如果SQL语句不合法,构造错误回应包给客户端,然后直接退出本流程;否则,进入下一步;
步骤三:对请求SQL进行初步语法分析,分解出要操作的虚表表名,然后根据虚表表名判断当前的请求是发向哪类异构数据库服务器的,所述异构数据库服务器的类型包括:传统关系数据库管理系统、实时/历史数据库系统、对象数据库管理系统;其中,实时/历史数据库系统包括两张虚表:实时数据库表(RTDBRTVT)和历史数据库表(RTDBHTVT);对象数据库管理系统包括三张虚表:模型数据表(ODBMODELVT)、类数据表(ODBCLASSVT)和实例数据表(ODBINSTANCEVT);如果当前SQL语句中的表名称是实时数据库表(RTDBRTVT)或历史数据库表(RTDBHTVT),则是发往实时/历史数据库服务器的请求;如果当前SQL语句中的表名称是模型数据表(ODBMODELVT)、类数据表(ODBCLASSVT)或实例数据表(ODBINSTANCEVT),则是发往对象数据库服务器的请求;否则默认是发往传统关系数据库服务器的请求;
步骤四:根据步骤三判断得到的结果选择对应异构数据库服务器的SQL分析处理器来处理SQL语句中的实际读写请求,如果是发往传统关系数据库服务器的请求则选择传统关系数据库管理系统SQL分析处理器(100);发往实时/历史数据库服务器的请求则选择实时/历史数据库系统SQL分析处理器(200);发往对象数据库服务器的请求则选择对象数据库管理系统SQL分析处理器(300);各个分析处理器的处理过程如下:
(1)、所述的传统关系数据库管理系统SQL分析处理器(100)处理针对传统关系数据管理系统的读写请求,处理的过程如下:
a1)、如果对应的传统关系数据库管理系统的原始API(710)支持标准的SQL语法语句,那么不需要进行转换处理,直接将这个原始请求传给传统关系数据库管理系统的原始API(710)调用执行;
b1)、如果对应的传统关系数据库管理系统的原始API(710)不支持标准的SQL语法语句,则进行语法转换,将请求中的标准SQL语句通过对应的传统关系数据库管理系统的语法转换器进行转换,并将转换后的SQL语句传递给对应的传统关系数据库管理系统的相应原始API(710)进行调用;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网公司电力科学研究院,未经广东电网公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110365442.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:热水套筒补偿器保温结构
- 下一篇:高压快装法兰





