公开/公告号CN112434069A
专利类型发明专利
公开/公告日2021-03-02
原文格式PDF
申请/专利权人 天津市鑫联兴科技有限公司;
申请/专利号CN202011378384.2
申请日2020-12-01
分类号G06F16/2455(20190101);
代理机构
代理人
地址 300000 天津市滨海新区天津华苑产业区榕苑路4号天发科技园7号楼1门402单元
入库时间 2023-06-19 10:05:17
技术领域
本发明涉及电子信息技术软件领域,具体涉及一种多源异构数据库访问适配方法及适配器。
背景技术
数据库的种类繁多,传统的关系型数据库采用SQL查询和处理数据,而XDM等新兴数据库与传统数据库存储结构不同,并不支持SQL查询,而是采用自己独有的方式进行查询。只有传统的关系型数据库和主流的数据库在开源的持久层框架中得到支持,对新兴的XDM等其他数据库并不支持。
发明内容
有鉴于此,本发明工一种多源异构数据库访问适配方法及适配器,以解决现有技术中的问题。
为解决上述技术问题,本发明采用的技术方案是:一种多源异构数据库访问适配方法,其特征在于:该适配方法包括:在持久框架层内配置一持久层数据执行单元,该持久层数据执行单元在与数据库交互时判断查询数据库的类型,并根据不同的数据库类型执行不同执行器。
优选地,判断查询数据库的类型,如果数据库类型为关系型数据,则采用SQL查询。
优选地,判断查询数据库的类型,如果数据库类型为非关系型数据,则新建与数据库类型匹配的执行器。
优选地,新建与数据库类型匹配的执行器的步骤包括:
获取执行语句;
解析语句获取查询的库名与查询条件;
调用用封装好的XDM查询器,并封装查询结果。
一种多源异构数据库访问适配器,该适配器设置于持久层框架内,包括一持久层数据执行单元,该持久层数据执行单元包括一判断单元以及一执行单元,判断单元用于对会话的执行类型进行判断;执行单元根据判断单元的判断结果执行不同的查询过程。
优选地,判断单元对会话的执行类型进行判断,当执行类型为关系型数据时,则执行单元执行SQL查询过程,当执行类型为XDM类型时,则执行单元新建XDM执行器。
优选地,还包括一XDM执行器查询模块,该XDM执行器查询模块包括一解析模块以及一调用模块。
本发明具有的优点和积极效果是:本发明在原有开源持久层框架内新增持久层数据执行单元,该持久层数据执行单元在接收到执行查询指令时,首先判断会话的执行类型,根据其执行类型选择相对应的执行器;首先,其适用不同类型的数据库类型,其次,持久层数据执行单元设置于持久层内部,不侵入原有持久层框架代码。
附图说明
图1是现有技术中对关系型数据库进行查询的持久层框架中的程序;
图2是本发明在原有持久层框架中修改系统初始化逻辑之后的程序;
图3是本发明的多源异构数据库访问适配方法的流程示意图。
具体实施方式
为了更好的理解本发明,下面结合具体实施例和附图对本发明进行进一步的描述。
本发明提供一种多源异构数据库访问适配方法,该适配方法包括:在持久框架层内配置一持久层数据执行模块,该持久层数据执行模块在与数据库交互时判断查询数据库的类型,并根据不同的数据库类型执行不同执行器。
数据库包括传统的关系型数据库以及新兴的非关系型数据库,具体地,关系型数据以及非关系型数据库在存储方式存在着本质的不同,关系型数据库天然就是表格式的,因此存储在表的行和列中,数据表可以彼此关联存储;非关系行数据库不适合存储在数据表的行和列中,而是大块组合在一起,通常存储在数据集中,就像文档、键值或者图结构。
基于上述不同,关系型数据库以及非关系型数据库的查询方式也存在不同,关系型数据库一般采用SQL查询,非关系型数据库与传统的关系型数据库的存储结构不同,并不支持SQL查询,而是采用自己独有的方式进行查询。
现有技术中,一般在MyBatis中对关系型数据库进行查询,MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射;其查询过程为按照特定的查询规则查询关系型数据库表的行和列。
本发明在原有开源持久层框架内新增持久层数据执行模块,该持久层数据执行单元在接收到执行查询指令时,首先判断会话的执行类型,根据其执行类型选择相对应的执行器;首先,其适用不同类型的数据库类型,其次,持久层数据执行单元设置于持久层内部,不侵入原有持久层框架代码。
具体地,非关系型数据库以XDM为例,现有技术中对关系型数据库进行查询的持久层框架中的程序如图1所示,本发明在原有持久层框架中修改系统初始化逻辑,判断如果执行类型为XDM则创建XDM执行器,具体如图2所示,增加了判断语句,对会话的执行类型进行判断,当执行类型为关系型数据时,则执行SQL查询过程,当执行类型为XDM类型时,则新建XDM执行器。
进一步地,本发明在新建XDM执行器的过程为:
获取执行语句;
解析语句获取查询的库名与查询条件;
调用用封装好的XDM查询器,并封装查询结果。
在本实施例中,非关系型数据复用了关系数据库的查询要素,在SQL转换阶段,将查询转换为XDM查询语句。
具体地,在一个具体的查询过程中,关系数据查询语句为:SELECT*FROM BT WHEREIDNAME=${IDNAME}即在关系数据库中为查询BT表,表的内容中IDNAME列对应的值为${IDNAME}的记录;本发明在对XDM进行查询时,将BT对应到XDM的数据集名称,将where后面的IDNAME作为键值名,将${IDNAME}作为匹配键值内容的条件,调用XDM数据库的查询方法(查询方法由XDM数据库供应商提供)
本发明提供一种多源异构数据库访问适配器,该适配器设置于持久层框架内,包括一持久层数据执行单元,该持久层数据执行单元包括一判断单元以及一执行单元,判断单元用于对会话的执行类型进行判断;执行单元根据判断单元的判断结果执行不同的查询过程。
在本发明中,判断单元用于实现对会话的执行类型进行判断,当执行类型为关系型数据时,则执行单元执行SQL查询过程,当执行类型为XDM类型时,则执行单元新建XDM执行器。
还包括一XDM执行器查询模块,该XDM执行器查询模块包括一解析模块以及一调用模块。
其中解析模块用于实现对查询语句进行解析,具体包括从查询语句中获取关键查询要素,如查询哪个表;将该关键查询要素传输给调用模块,该调用模块嗲用预先配置好的将XDM查询。
该XDM执行器查询模块在系统初始化加载数据配置文件时创建XDM查询器,并将XDM查询器绑定到对应的数据配置文件中,在查询的过程中,可直接调用XDM查询器。
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。
机译: “光纤连接器,其通过弹性部件将封装在弹性支撑的适配器中的适配器光纤与使用熔接单元的主光纤熔接在一起,熔接部分由连接主光纤的加强套管加强以及一个光纤适配器和安装光纤连接器的方法,该连接器以一种光纤适配器和另一根主光纤“
机译: 用于将可移动液体容器连接到液体分配器的适配器和适配器组件,以及一种安装和使用适配器组件的方法
机译: 用于将可移动液体容器连接到液体分配器的适配器和适配器组件,以及一种安装和使用适配器组件的方法