本发明专利技术提供一种基于数据源的数据查询方法及系统,属于大数据技术领域,通过先确定数据查询请求所对应的目标数据源;基于预设的SQL生成组件,获取目标数据源对应的SQL配置模板参数,并根据SQL配置模板参数生成目标数据源对应的SQL配置模板;根据数据查询条件,利用目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句;执行SQL查询语句并将查询所获得的数据返回用户端;本发明专利技术可针对各种数据源以及各种数据维度进行数据查询分析;在数据源发生改变,或者数据查询所关联的表结构或者表字段改变的场景中,无需重新拼接SQL语句,大大降低了因修改SQL语句导致的系统风险的发生概率。生概率。生概率。
【技术实现步骤摘要】
基于数据源的数据查询方法及系统
[0001]本专利技术属于大数据
,具体涉及一种基于数据源的数据查询方法、系统、电子设备以及存储介质。
技术介绍
[0002]在电子商务领域的联机交易场景、批量作业场景或汇总统计场景,以及金融保险领域的背景调查等数据库的查询、分析场景中,都是基于不同数据源的数据库或者数据仓库实现的。
[0003]在现有技术中,需要通过查询SQL实现对数据库或数据仓库的查询,但是存在的弊端如下:1)底层数据库的数据源不同,各个数据源之间的语法存在差别,导致无法制定统一的查询规则;而且,现有的数据查询SQL是根据所选择的数据库的语法类型进行开发的,如果数据库类型改变,则需要重新组装SQL查询语句,工作量巨大;2)查询维度过于分散,导致不同的分析模型间的查询SQL语句复用率低;而且,如果不同的分析模型的数据维度所关联的表结构或者表字段改变,则需要重新修改相关的拼接SQL语句,不仅修改成本高,而且出错概率大,导致系统风险大大增加。
[0004]因此,亟需数据查询效率较高的一种基于数据源的数据查询方法。
技术实现思路
[0005]本专利技术提供一种基于数据源的数据查询方法、系统、电子设备以及存储介质,用以克服现有技术中存在的至少一个技术问题。
[0006]为实现上述目的,本专利技术提供一种基于数据源的数据查询方法,方法包括,根据用户端发送的数据查询请求,获取数据查询条件并确定所述数据查询请求所对应的目标数据源;
[0007]基于预设的SQL生成组件,获取所述目标数据源对应的SQL配置模板参数,并根据所述SQL配置模板参数生成目标数据源对应的SQL配置模板;
[0008]根据所述数据查询条件,利用所述目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句;
[0009]执行所述SQL查询语句以从所述SQL查询语句对应的目标数据源中查询所述用户端所请求的数据,并将查询所获得的数据返回用户端。
[0010]进一步,优选的,所述预设的SQL生成组件的生成方法,包括:
[0011]录入各个数据源的数据源信息,利用Spark SQL接口对所述数据源信息进行解耦处理,获取各个数据源的开放数据源信息;
[0012]根据各个数据源的开放数据源信息搭建SQL配置模板,并获取SQL配置模板参数;
[0013]建立各个数据源、SQL配置模板参数以及各个SQL配置模板间的对应关系的数据源字典。
[0014]进一步,优选的,所述预设的SQL生成组件的生成方法,还包括:
[0015]按照数据维度获取元数据信息,其中,所述元数据信息来自各个数据源的开放数据源信息;
[0016]配置各个数据维度的元数据信息;
[0017]为各个数据维度的元数据信息配置关联信息;所述关联信息包括各数据维度是否需要关联查询,关联查询对应的关联表格以及关联查询的方式;
[0018]将配置有关联信息的各个数据维度的元数据信息与各个数据源、SQL配置模板参数以及各个SQL配置模板间进行匹配。
[0019]进一步,优选的,所述预设的SQL生成组件的生成方法,还包括:
[0020]将所搭建的SQL配置模板统一持久化到关系型数据库中;
[0021]利用所述关系型数据库对所述SQL生成组件的SQL配置模板进行管理。
[0022]进一步,优选的,所述数据查询方法还包括,
[0023]利用预设的SQL生成组件根据数据维度获取所述目标数据源对应的SQL配置模板参数,并根据所述SQL配置模板参数生成目标数据源以及所述数据维度对应的SQL配置模板;
[0024]根据所述数据查询条件和所述数据维度,利用所述目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句;
[0025]执行所述SQL查询语句以从所述SQL查询语句对应的目标数据源中查询数据维度对应的所述用户端所请求的数据,并将查询所获得的数据返回用户端。
[0026]进一步,优选的,根据所述SQL配置模板参数生成目标数据源以及所述数据维度对应的SQL配置模板的方法包括,
[0027]根据所述SQL配置模板参数的模板密码项,查询到模板密码关联的所述目标数据源对应的模板配置信息、用户所选择的数据维度以及过滤条件;
[0028]基于所述目标数据源对应的模板配置信息,根据所述数据维度选择所述数据维度对应的模板配置信息;
[0029]基于所述数据维度对应的模板配置信息,根据所述过滤条件选择符合所述过滤条件的模板配置信息;
[0030]根据所述符合所述过滤条件的模板配置信息,创建模板项信息和模板参数项信息;
[0031]根据所述模板项信息和所述模板参数项信息,创建所述SQL配置模板。
[0032]进一步,优选的,利用所述目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句的方法,包括:
[0033]根据所述SQL配置模板的字段名,拼装所述SQL查询语句的SELECT子句;
[0034]根据所述SQL配置模板的预设关联关系,拼装所述SQL查询语句的FROM子句;
[0035]根据所述SQL配置模板的字段类型,拼装所述SQL查询语句的GROUP BY子句。
[0036]为了解决上述问题,本专利技术还提供一种基于数据源的数据查询系统,包括:
[0037]目标数据源确定单元,用于根据用户端发送的数据查询请求,获取数据查询条件并确定所述数据查询请求所对应的目标数据源;
[0038]SQL配置模板生成单元,用于基于预设的SQL生成组件,获取所述目标数据源对应的SQL配置模板参数,并根据所述SQL配置模板参数生成目标数据源对应的SQL配置模板;
[0039]SQL查询语句生成单元,用于根据所述数据查询条件,利用所述目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句;
[0040]查询执行单元,用于执行所述SQL查询语句以从所述SQL查询语句对应的目标数据源中查询所述用户端所请求的数据,并将查询所获得的数据返回用户端。
[0041]为了解决上述问题,本专利技术还提供一种电子设备,电子设备包括:
[0042]存储器,存储至少一个指令;及
[0043]处理器,执行存储器中存储的指令以实现上述的基于数据源的数据查询方法中的步骤。
[0044]为了解决上述问题,本专利技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有至少一个指令,至少一个指令被电子设备中的处理器执行以实现上述的基于数据源的数据查询方法。
[0045]本专利技术的一种基于数据源的数据查询方法、系统、电子设备以及存储介质,可针对各种数据源以及各种数据维度进行数据查询分析;在数据源发生改变,或者数据查询所关联的表结构或者表字段改变的场景中,无需重新拼接SQL语句,大大降低了因修改SQL语句导致的系统风险的发生概率。
附图说明
[0046]为了更清本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于数据源的数据查询方法,其特征在于,方法包括:根据用户端发送的数据查询请求,获取数据查询条件并确定所述数据查询请求所对应的目标数据源;基于预设的SQL生成组件,获取所述目标数据源对应的SQL配置模板参数,并根据所述SQL配置模板参数生成目标数据源对应的S QL配置模板;根据所述数据查询条件,利用所述目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句;执行所述SQL查询语句以从所述SQL查询语句对应的目标数据源中查询所述用户端所请求的数据,并将查询所获得的数据返回用户端。2.根据权利要求1所述的基于数据源的数据查询方法,其特征在于,所述预设的SQL生成组件的生成方法,包括:录入各个数据源的数据源信息,利用Spark SQL接口对所述数据源信息进行解耦处理,获取各个数据源的开放数据源信息;根据各个数据源的开放数据源信息搭建SQL配置模板,并获取SQL配置模板参数;建立各个数据源、SQL配置模板参数以及各个SQL配置模板间的对应关系的数据源字典。3.根据权利要求2所述的基于数据源的数据查询方法,其特征在于,所述预设的SQL生成组件的生成方法,还包括:按照数据维度获取元数据信息,其中,所述元数据信息来自各个数据源的开放数据源信息;配置各个数据维度的元数据信息;为各个数据维度的元数据信息配置关联信息;所述关联信息包括各数据维度是否需要关联查询,关联查询对应的关联表格以及关联查询的方式;将配置有关联信息的各个数据维度的元数据信息与各个数据源、SQL配置模板参数以及各个SQL配置模板间进行匹配。4.根据权利要求1所述的基于数据源的数据查询方法,其特征在于,所述预设的SQL生成组件的生成方法,还包括:将所搭建的SQL配置模板统一持久化到关系型数据库中;利用所述关系型数据库对所述SQL生成组件的SQL配置模板进行管理。5.根据权利要求1所述的基于数据源的数据查询方法,其特征在于,所述数据查询方法还包括,利用预设的SQL生成组件根据数据维度获取所述目标数据源对应的SQL配置模板参数,并根据所述SQL配置模板参数生成目标数据源以及所述数据维度对应的SQL配置模板;根据所述数据查询条件和所述数据维度,利用所述目标数据源对应的SQL配置模板拼装获得目标数据源的SQL查询语句;执行所述SQL查询语句以从所述SQL查询语句对应的目标数据源中查询数据维度对应的所述用户端所请求的数据,并将查询所获得的数据返...
【专利技术属性】
技术研发人员:孙志,李敏,徐介夫,李均,沈琦,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。