基于虚拟数据库的数据访问方法、装置、系统、设备和介质制造方法及图纸

技术编号:30968514 阅读:19 留言:0更新日期:2021-11-25 20:43
本公开提供了一种基于虚拟数据库的数据访问方法、装置、系统、设备、介质和程序产品,涉及数据库技术领域。该方法包括通过接收用户层的SQL查询请求;对SQL查询请求进行语句分析,基于语句分析的结果调用规则库中的预设规则将SQL查询请求分解为多个局部查询语句,并将局部查询语句路由分发到对应的数据库以获取相应的查询数据;以及对查询数据进行组装后向用户层输出查询结果。本公开中的基于虚拟数据库的数据访问方法中解决了现有技术中针对不同的数据库编写不同的代码逻辑完成相应的连接和访问操作而导致代码编写量大,请求端业务逻辑复杂,维护困难的问题。维护困难的问题。维护困难的问题。

【技术实现步骤摘要】
基于虚拟数据库的数据访问方法、装置、系统、设备和介质


[0001]本公开涉及数据库
,更具体地涉及一种基于虚拟数据库的数据访问方法、装置、系统、设备、介质和程序产品。

技术介绍

[0002]目前主流的大型企业级应用内部逻辑日趋复杂,使用的数据库由于历史或者升级换代的原因种类也比较多,比如mysql,oracle,informix等。数据请求方如果要实现针对异构数据库的连接访问,需要在应用程序内部分别针对不同的数据库编写不同的代码逻辑完成相应的连接和访问操作。代码编写量大,请求端业务逻辑复杂,维护困难。

技术实现思路

[0003]鉴于上述问题,本公开提供了一种虚拟数据库的数据访问方法、装置、系统、设备、介质和程序产品。
[0004]根据本公开的第一个方面,提供了一种虚拟数据库的数据访问方法,应用于虚拟数据库层,包括:接收用户层的SQL查询请求;对所述SQL查询请求进行语句分析,基于所述语句分析的结果调用规则库中的预设规则将所述SQL查询请求分解为多个局部查询语句,并将所述局部查询语句路由分发到对应的数据库以获取相应的查询数据;以及对所述查询数据进行组装后向所述用户层输出查询结果。
[0005]在某些实施例中,还包括:采用深度学习算法生成一系列所述预设规则;以及基于一系列所述预设规则创建规则库。
[0006]在某些实施例中,所述采用深度学习算法生成一系列所述预设规则包括:创建结构化数据表;提取异构数据源中的数据信息,并将所述数据信息存储在所述结构化数据表中;采用深度学习算法对所述结构化数据表中的数据信息进行归集匹配,确定不同数据表间的相似度;以及根据所述相似度进行相应的规则定义以形成所述预设规则。
[0007]在某些实施例中,所述数据信息包括库名、表名以及表结构信息,所述表结构信息包括数据表中的列名、列属性、约束和表数据。
[0008]在某些实施例中,所述预设规则包括关联异构数据源同构表操作以及非同构表的同属性数据提取关联操作。
[0009]在某些实施例中,还包括:采用人工标错的方法对所述相似度进行校验,其中,所述采用人工标错的方法对所述相似度进行校验包括:
[0010]将所述相似度以及相似字段对应的关系视图上传控制中心;以及所述控制中心的管理员根据所述相似字段对应的关系视图判断所述相似度的准确性。
[0011]在某些实施例中,还包括:将异构数据源的差异化SQL语法规则写入到所述本地规则库中。
[0012]在某些实施例中,所述基于所述语句分析的结果调用所述规则库中的预设规则将所述SQL查询请求分解为多个局部查询语句包括:根据所述语句分析的结果匹配所述预设
规则;根据匹配获得的所述预设规则确定需要访问的异构数据源中的数据表;根据异构数据源的类型确定对应的差异化SQL语法规则;以及基于所述数据表的表结构信息和所述差异化SQL语法规则将所述SQL查询请求分解为多个局部查询语句。
[0013]在某些实施例中,所述对所述查询数据进行组装后向所述用户层输出查询结果包括:根据所述SQL查询请求的约束规则对所述查询到的数据进行分组和排序操作以形成所述查询结果。
[0014]本公开的第二方面提供了一种基于虚拟数据库的数据访问装置,包括:接收模块,用于接收用户层的SQL查询请求;SQL语句分发路由模块,用于对所述SQL查询请求进行语句分析,基于所述语句分析的结果调用规则库中的预设规则将所述SQL查询请求分解为多个局部查询语句,并将所述局部查询语句路由分发到对应的数据库,以获取相应的查询数据;数据组装模块,用于对所述查询数据进行组装后向所述用户层输出查询结果。
[0015]在某些实施例中,还包括:包装器模块,用于采用深度学习算法生成一系列所述预设规则;规则库模块,用于写入所述预设的规则。
[0016]在某些实施例中,还包括:控制中心模块,用于采用人工标错的方法对所述相似度进行校验。
[0017]本公开的第三方面提供了一种基于虚拟数据库的数据访问系统,包括:虚拟数据库层,用于执行上述中任一项所述的基于虚拟数据库的数据访问方法;用户层,用于向所述虚拟数据库层发出SQL查询请求;异构数据库层,用于存储数据源,并供所述虚拟数据库层进行访问查询。
[0018]本公开的第四方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述基于虚拟数据库的数据访问方法。
[0019]本公开的第五方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述基于虚拟数据库的数据访问方法。
[0020]本公开的第六方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述基于虚拟数据库的数据访问方法。
[0021]根据本公开的基于虚拟数据库的数据访问方法通过接收用户层的SQL查询请求;对SQL查询请求进行语句分析,基于语句分析的结果调用规则库中的预设规则将SQL查询请求分解为多个局部查询语句,并将局部查询语句路由分发到对应的数据库以获取相应的查询数据;以及对查询数据进行组装后向用户层输出查询结果。本公开的实施例中的基于虚拟数据库的数据访问方法中在虚拟数据库层完成对底层异构数据源的数据访问,同时将访问得到的结果进行组装后统一反馈到用户层,避免了现有技术中针对不同的数据库编写不同的代码逻辑完成相应的连接和访问操作而导致代码编写量大,请求端业务逻辑复杂,维护困难的问题。
附图说明
[0022]通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
[0023]图1示意性示出了根据本公开实施例的基于虚拟数据库的数据访问方法、装置、设
备、介质和程序产品的应用场景图;
[0024]图2示意性示出了根据本公开实施例的基于虚拟数据库的数据访问方法的流程图;
[0025]图3示意性示出了根据本公开实施例的基于虚拟数据库的数据访问方法的另一流程图;
[0026]图4示意性示出了根据本公开实施例的基于虚拟数据库的数据访问系统的结构框图;
[0027]图5示意性示出了根据本公开实施例的基于虚拟数据库的数据访问装置的结构框图;
[0028]图6示意性示出了根据本公开实施例的适于实现基于虚拟数据库的数据防问方法的计算机系统框图。
具体实施方式
[0029]以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0030]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于虚拟数据库的数据访问方法,应用于虚拟数据库层,其特征在于,包括:接收用户层的SQL查询请求;对所述SQL查询请求进行语句分析,基于所述语句分析的结果调用规则库中的预设规则将所述SQL查询请求分解为多个局部查询语句,并将所述局部查询语句路由分发到对应的数据库以获取相应的查询数据;以及对所述查询数据进行组装后向所述用户层输出查询结果。2.根据权利要求1所述的基于虚拟数据库的数据访问方法,其特征在于,还包括:采用深度学习算法生成一系列所述预设规则;以及基于一系列所述预设规则创建所述规则库。3.根据权利要求2所述的基于虚拟数据库的数据访问方法,其特征在于,所述采用深度学习算法生成一系列所述预设规则包括:创建结构化数据表;提取异构数据源中的数据信息,并将所述数据信息存储在所述结构化数据表中;采用深度学习算法对所述结构化数据表中的数据信息进行归集匹配,确定不同数据表间的相似度;以及根据所述相似度进行相应的规则定义以形成所述预设规则。4.根据权利要求3所述的基于虚拟数据库的数据访问方法,其特征在于,所述数据信息包括库名、表名以及表结构信息,所述表结构信息包括数据表中的列名、列属性、约束和表数据。5.根据权利要求3所述的基于虚拟数据库的数据访问方法,其特征在于,所述预设规则包括关联异构数据源同构表操作以及非同构表的同属性数据提取关联操作。6.根据权利要求3所述的基于虚拟数据库的数据访问方法,其特征在于,还包括:采用人工标错的方法对所述相似度进行校验,其中,所述采用人工标错的方法对所述相似度进行校验包括:将所述相似度以及相似字段对应的关系视图上传控制中心;以及所述控制中心的管理员根据所述相似字段对应的关系视图判断所述相似度的准确性。7.根据权利要求2所述的基于虚拟数据库的数据访问方法,其特征在于,还包括:将异构数据源的差异化SQL语法规则写入到所述本地规则库中。8.根据权利要求7所述的基于虚拟数据库的数据访问方法,其特征在于,所述基于所述语句分析的结果调用所述规则库中的预设规则将所述SQL查询请求分解为多个局部查询语句包括:根据所述语句分析的结果匹配所述预设规则;根据匹配获得的所述预设规则确定需要访...

【专利技术属性】
技术研发人员:姚文猛高园刘意马蕾
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1