数据访问方法、异构数据源访问引擎、电子设备及介质与流程

文档序号:36655364发布日期:2024-01-06 23:42阅读:22来源:国知局
数据访问方法、异构数据源访问引擎、电子设备及介质与流程

本发明涉及数据访问,尤其是涉及一种数据访问方法、异构数据源访问引擎、电子设备及介质。


背景技术:

1、在现有传统的业务开发过程中,不同的业务在对数据库执行业务处理中,针对不同的数据库需要单独的进行业务逻辑的编排,工作量较大,效率较低,且现有对于数据库的访问引擎,往往仅支持单一数据库类型的数据访问。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种数据访问方法、异构数据源访问引擎、电子设备及介质,以提高业务开发效率和异构数据源的数据访问能力。

2、为了实现上述目的,本发明实施例采用的技术方案如下:

3、第一方面,本发明实施例提供了一种数据访问方法,该方法应用于异构数据源访问引擎,异构数据源访问引擎支持异构数据源下的数据访问,该方法包括:获取当前用户的数据访问请求;其中,数据访问请求包括:数据模型标识和查询条件;基于数据模型标识获取数据模型的定义信息,并确定业务数据结构和数据模型的数据对象对应的数据源;基于数据模型的定义信息,采用数据源对应的sql语法树解析引擎生成可执行的sql语法树;采用数据源对应的sql语法树执行引擎,执行sql语法树,得到数据查询结果。

4、在一种实施方式中,采用数据源对应的sql语法树执行引擎,执行sql语法树,得到数据查询结果之后,上述方法还包括:将数据查询结果按照业务数据结构进行数据组装,得到组装数据,并将组装数据返回至当前用户。

5、在一种实施方式中,基于数据模型的定义信息,采用数据源对应的sql语法树解析引擎生成可执行的sql语法树,包括:基于数据模型的定义信息进行语义规则解析,确定sql语法树中的各个条件片段;其中,条件片段至少包括:查询的内容片段、查询的业务数据表片段、查询条件片段和数据排序条件片段;对sql语法树中的各个条件片段进行变量替换,并采用数据源对应的sql语法树解析引擎对条件片段进行组装,生成可执行的sql语法树。

6、在一种实施方式中,基于数据模型的定义信息,采用数据源对应的sql语法树解析引擎生成可执行的sql语法树之后,上述方法还包括:如果数据模型下的数据对象启用了分库分表规则,则按照查询条件中的分区字段确定目标业务数据表,并将sql语法树中的业务数据表片段替换为目标业务数据表;如果数据模型下的数据对象未启用分库分表规则,则判断数据模型下的数据对象是否启用了数据权限控制规则。

7、在一种实施方式中,基于数据模型的定义信息,采用数据源对应的sql语法树解析引擎生成可执行的sql语法树之后,上述方法还包括:如果数据模型下的数据对象启用了数据权限控制规则,则基于当前用户的用户信息调取数据权限服务,获取授权结果sql片段,并将授权结果sql片段拼接到sql语法树中。

8、在一种实施方式中,确定业务数据结构和数据模型的数据对象对应的数据源之后,上述方法还包括:如果数据源的类型不在预设的数据源范围内,则通过调用api的方式将数据模型的定义信息和查询条件发送至业务数据表进行数据查询,得到数据查询结果。

9、在一种实施方式中,将数据查询结果按照业务数据结构进行数据组装,得到组装数据之后,上述方法还包括:在执行sql语法树的过程中,对执行的sql语句进行实时监控。

10、第二方面,本发明实施例提供了一种异构数据源访问引擎,异构数据源访问引擎支持异构数据源下的数据访问,包括:数据访问请求获取模块,用于获取当前用户的数据访问请求;其中,数据访问请求包括:数据模型标识和查询条件;模型解析模块,用于基于数据模型标识获取数据模型的定义信息,并确定业务数据结构和数据模型的数据对象对应的数据源;语法树生成模块,用于基于数据模型的定义信息,采用数据源对应的sql语法树解析引擎生成可执行的sql语法树;数据查询模块,用于采用数据源对应的sql语法树执行引擎,执行sql语法树,得到数据查询结果。

11、第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。

12、第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。

13、本发明实施例带来了以下有益效果:

14、本发明实施例提供的上述数据访问方法、异构数据源访问引擎、电子设备及介质,该方法应用于异构数据源访问引擎,异构数据源访问引擎支持异构数据源下的数据访问,首先,获取当前用户的数据访问请求(包括:数据模型标识和查询条件);然后,基于数据模型标识获取数据模型的定义信息,并确定业务数据结构和数据模型的数据对象对应的数据源;接着,基于数据模型的定义信息,采用数据源对应的sql语法树解析引擎生成可执行的sql语法树;最后,采用数据源对应的sql语法树执行引擎,执行sql语法树,得到数据查询结果。上述方法基于异构数据源访问引擎进行数据访问,在数据访问过程中可以根据数据模型确定对应的数据源,并生成对应的sql语法树,然后采用数据源对应的sql语法树执行引擎执行sql语法树得到数据查询结果,从而能够基于异构数据源访问引擎实现异构数据源下的数据访问,提高了业务开发效率和异构数据源的数据访问能力。

15、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

16、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。



技术特征:

1.一种数据访问方法,其特征在于,所述方法应用于异构数据源访问引擎,所述异构数据源访问引擎支持异构数据源下的数据访问,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,采用所述数据源对应的sql语法树执行引擎,执行所述sql语法树,得到数据查询结果之后,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,基于所述数据模型的定义信息,采用所述数据源对应的sql语法树解析引擎生成可执行的sql语法树,包括:

4.根据权利要求1所述的方法,其特征在于,基于所述数据模型的定义信息,采用所述数据源对应的sql语法树解析引擎生成可执行的sql语法树之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,基于所述数据模型的定义信息,采用所述数据源对应的sql语法树解析引擎生成可执行的sql语法树之后,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,确定业务数据结构和所述数据模型的数据对象对应的数据源之后,所述方法还包括:

7.根据权利要求2所述的方法,其特征在于,将所述数据查询结果按照所述业务数据结构进行数据组装,得到组装数据之后,所述方法还包括:

8.一种异构数据源访问引擎,其特征在于,所述异构数据源访问引擎支持异构数据源下的数据访问,包括:

9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至7任一项所述的方法的步骤。


技术总结
本发明提供了一种数据访问方法、异构数据源访问引擎、电子设备及介质,该方法应用于异构数据源访问引擎,异构数据源访问引擎支持异构数据源下的数据访问,该方法包括:获取当前用户的数据访问请求;其中,数据访问请求包括:数据模型标识和查询条件;基于数据模型标识获取数据模型的定义信息,并确定业务数据结构和数据模型的数据对象对应的数据源;基于数据模型的定义信息,采用数据源对应的SQL语法树解析引擎生成可执行的SQL语法树;采用数据源对应的SQL语法树执行引擎,执行SQL语法树,得到数据查询结果。本发明提高了业务开发效率和异构数据源的数据访问能力。

技术研发人员:周国庆,黄伟,魏亮,陈晶,谢恩瑞
受保护的技术使用者:青岛特来电新能源科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1