一种支持多种数据源的数据查询方法及系统技术方案

技术编号:35447243 阅读:17 留言:0更新日期:2022-11-03 12:00
本发明专利技术公开了一种支持多种数据源的数据查询方法及系统,其方法包括:步骤一:通过可视化操作,将数据接口的接口配置信息存储到数据库;步骤二:业务系统通过固定的数据接口向后台提交查询请求;步骤三:后台接受查询请求后,校验数据接口的正确性,若校验失败直接返回错误信息,校验成功则进入步骤四;步骤四:根据接口配置信息解析查询请求,获取待查询数据的缓存需求,根据传递参数和缓存需求在Redis或数据库中查询数据;将查询获得的数据返回给调用者;步骤五:根据接口配置信息创建定时任务自动清除缓存数据,或提供清理缓存的API接口,手动批量清理缓存数据。本发明专利技术采用固定的数据接口,动态的配置查询数据接口,提升开发效率。提升开发效率。提升开发效率。

【技术实现步骤摘要】
一种支持多种数据源的数据查询方法及系统


[0001]本专利技术涉及网络舆情爬虫开发
,尤其一种支持多种数据源的数据查询方法及系统。

技术介绍

[0002]BI系统中大量的数据接口都是对数据的查询,每一个业务指标编写一个对应的数据API,对于后台开发的工作量巨大,而且一旦发生变更,经历的开发周期较长,维护成本较高。
[0003]后端是使用Java技术基于spring boot框架开发的微服务,使用Dynamic

Datasource技术实现服务与多个数据库进行连接,自定义SQL的语义解析,支持SQL条件的动态传参和必填项校验,保证SQL的正确性。前端使用vue框架,实现可视化操作页面,通过可配置的方式,实现动态的SQL发开数据接口。接口提供了数据缓存功能,可以通过页面配置是否结果需要缓存,对于BI系统,许多业务数据指标都是过去的数据,并不是实时的。
[0004]BI系统中大量的历史指标数据,可能都使用了缓存功能,随着时间的推移,数据需要不断的进行更新,为了保证系统获取的数据时效性,在数据更新之后需要进行缓存的清理工作,现有的开源框架xxl

job实现了定时的任务调度功能。对于BI系统这中需要大量获取数据指标的来说,目前的前后端分离开发方法存在后台的数据接口开发采用常规的开发方式,工作量巨大,大部分都是数据查询,没有事务处理等问题。

技术实现思路

[0005]本专利技术的目的在于克服现有技术的不足,提供了一个通用的获取数据库数据接口,用户自定义查询SQL语句,执行对数据库的数据检索操作。同时系统支持连接多种数据库,通过页面可视化的方式,配置数据源、缓存周期、数据量限制功能,在线编写SQL的查询脚本等。动态执行SQL来实现对数据库内容的查询,支持数据结果的定时缓存,清理等功能。
[0006]本专利技术的目的是通过以下技术方案来实现的:一种支持多种数据源的数据查询方法,包括:步骤一:通过可视化操作,将数据接口的接口配置信息存储到数据库;步骤二:业务系统以传递参数的形式通过固定的数据接口向后台提交查询请求;步骤三:后台接受查询请求后,先校验数据接口的正确性,若校验失败直接返回错误信息,校验成功则进入步骤四;步骤四:根据接口配置信息解析查询请求,获取待查询数据的缓存需求,并根据传递参数和缓存需求在Redis或数据库中查询数据;将查询获得的数据返回给调用者;步骤五:根据接口配置信息创建定时任务自动清除缓存数据,或提供清理缓存的API接口,手动批量清理缓存数据。
[0007]所述步骤四具体包括:根据接口配置信息解析查询请求,分析出数据接口查询的待查询数据是否需要缓存,若待查询数据需要缓存且配置了缓存则通过接口输入的参数信
息作为唯一值到Redis中查找数据,查询命中缓存则返回给调用者,未命中则根据参数信息在数据库中查询数据并返回给调用者;若待查询数据不需要缓存则直接根据参数信息在数据库中查询数据并返回给调用者。
[0008]所述根据参数信息在数据库中查询数据过程具体包括:先结合调用数据接口的输入的参数数据,解析配置的SQL语句,转换为标准的SQL语句;然后按照数据接口配置的数据库信息获取数据库的连接,并执行SQL语句进行数据查询;查询到数据库中的待查询数据后,如果待查询数据配置了缓存时长,则待查询数据的数据副本存储到Redis中,并返回待查询数据给调用者;其中,缓存数据副本的关键字key的组成为:模块+页面+平台+数据库名+调用数据接口传入的参数数据。
[0009]所述步骤一具体包括:前端使用Vue框架进行可视化操作,对数据接口的接口配置信息进行接口名称唯一性验证,并将验证成功后的接口配置信息存储到数据库中。
[0010]所述接口配置信息包括接口名称、接口描述、SQL查询语句、字段信息、参数信息、缓存时长、数据库名称、模块、页面、平台和停用标识。
[0011]一种支持多种数据源的数据查询系统,包括接口配置模块、数据查询模块和缓存清理模块;其中,接口配置模块使用Vue框架进行可视化操作,对数据接口的接口配置信息进行接口名称唯一性验证,并将验证成功后的接口配置信息存储到数据库中;接口配置信息包括接口名称、接口描述、SQL查询语句、字段信息、参数信息、缓存时长、数据库名称、模块、页面、平台和停用标识;数据查询模块用于接受调用者提交的查询请求并校验数据接口的正确性,然后根据接口配置信息解析查询请求,分析出数据接口查询的待查询数据是否需要缓存,若待查询数据需要缓存且配置了缓存则通过接口输入的参数信息作为唯一值到Redis中查找数据,查询命中缓存则返回给调用者,未命中则根据参数信息在数据库中查询数据并返回给调用者;若待查询数据不需要缓存则直接根据参数信息在数据库中查询数据并返回给调用者;其中,根据参数信息在数据库中查询数据过程具体为:先结合调用数据接口的输入的参数数据,解析配置的SQL语句,转换为标准的SQL语句;然后按照数据接口配置的数据库信息获取数据库的连接,并执行SQL语句进行数据查询;查询到数据库中的待查询数据后,如果待查询数据配置了缓存时长,则待查询数据的数据副本存储到Redis中,并返回待查询数据给调用者;缓存清理模块用于根据接口配置信息创建定时任务自动清除缓存数据,或提供清理缓存的API接口,手动批量清理缓存数据。
[0012]本专利技术的有益效果:1.统一数据接口定义:对外提供固定API接口,不需要根据业务需求,定义大量的数据接口,通过传参的形式指定业务接口需要实现的逻辑;2.多数据源动态执行SQL脚本:系统集成了对多种数据库连接的支持,数据源可以动态切换,无需根据项目重新定制化开发;动态解析执行SQL语句,无需编写数据结构等相关代码逻辑;3. 数据缓存:根据调用接口传入的参数作为缓存数据的标识,通过数据标识进行数据的预热和清理功能,提升查询速度,防止读取脏数据;4.节约成本:以图形化的开发方式,开发人员只会编写SQL即可,降低了学习成本,
对外接口固定,降低了前后端人员的沟通成本;5.快速开发:系统启动开箱即用,不用考虑系统架构的搭建,一切皆配置,通过可视化配置的方式进行开发,编写SQL完成即生效,无需重新部署,有效的缩短开发周期。
附图说明
[0013]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0014]图1是本专利技术的方法流程图;图2是本专利技术的接口配置信息结构图。
具体实施方式
[0015]应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持多种数据源的数据查询方法,其特征在于,包括:步骤一:通过可视化操作,将数据接口的接口配置信息存储到数据库;步骤二:业务系统以传递参数的形式通过固定的数据接口向后台提交查询请求;步骤三:后台接受查询请求后,先校验数据接口的正确性,若校验失败直接返回错误信息,校验成功则进入步骤四;步骤四:根据接口配置信息解析查询请求,获取待查询数据的缓存需求,并根据传递参数和缓存需求在Redis或数据库中查询数据;将查询获得的数据返回给调用者;步骤五:根据接口配置信息创建定时任务自动清除缓存数据,或提供清理缓存的API接口,手动批量清理缓存数据。2.根据权利要求1所述的一种支持多种数据源的数据查询方法,其特征在于,所述步骤四具体包括:根据接口配置信息解析查询请求,分析出数据接口查询的待查询数据是否需要缓存,若待查询数据需要缓存且配置了缓存则通过接口输入的参数信息作为唯一值到Redis中查找数据,查询命中缓存则返回给调用者,未命中则根据参数信息在数据库中查询数据并返回给调用者;若待查询数据不需要缓存则直接根据参数信息在数据库中查询数据并返回给调用者。3.根据权利要求2所述的一种支持多种数据源的数据查询方法,其特征在于,所述根据参数信息在数据库中查询数据过程具体包括:先结合调用数据接口的输入的参数数据,解析配置的SQL语句,转换为标准的SQL语句;然后按照数据接口配置的数据库信息获取数据库的连接,并执行SQL语句进行数据查询;查询到数据库中的待查询数据后,如果待查询数据配置了缓存时长,则待查询数据的数据副本存储到Redis中,并返回待查询数据给调用者;其中,缓存数据副本的关键字key的组成为:模块+页面+平台+数据库名+调用数据接口传入的参数数据。4.根据权利要求1所述的一种支持多种数据源的数据查询方法,其特征在于,所述步骤一具体包括:前端使用Vue框架进行可视化操作,...

【专利技术属性】
技术研发人员:王健
申请(专利权)人:启明信息技术股份有限公司
类型:发明
国别省市:

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

1