第三方数据源接入方法、装置、设备及存储介质与流程
- 国知局
- 2024-07-31 23:17:17
本发明涉及计算机,尤其涉及一种第三方数据源接入方法、装置、设备及存储介质。
背景技术:
1、目前,随着大数据时代的来临,可视化数字孪生技术成为了解决企业数据盲区,驱动企业运营、决策管理的重要组成部分。可视化大屏作为一种操作简单,直观易用的技术手段,备受企业青睐,持续为企业赋能,助力数据驱动决策。其中第三方数据库的数据源接入和展示成为可视化大屏的重要组成部分,那么如何高效接入第三方数据库的数据源成为了一项重要的研究领域。
2、访问一个完善可视化大屏访时,可能同时连接多个不同的数据源进行数据查询并动态展示,后台同一时刻需要连续创建和销毁大量数据库连接,导致大量的网络io操作,造成性能下降甚至导致系统崩溃。如果简单引入传统的数据库连接池思想,连接池将随着数据源的增长不断创建并贮存在内存中,慢慢耗尽系统内存,导致内存溢出甚至应用崩溃。
3、因此,亟需一种第三方数据源接入方法,减少建立连接池的消耗,降低连接池对系统的资源的占用,从而提高数据源查询的效率。
技术实现思路
1、本发明的主要目的在于提供了一种第三方数据源接入方法、装置、设备及存储介质,旨在解决现有技术中第三方数据源接入的效率较低的技术问题。
2、为实现上述目的,本发明提供了一种第三方数据源接入方法,所述方法包括以下步骤:
3、当接收到请求连接指令时,根据所述请求连接指令从预设连接池缓存中查找是否存在相应的数据库连接池缓存对象;
4、若所述预设连接池缓存中不存在相应的数据库连接池缓存对象,则根据所述请求连接指令创建对应的数据库连接池缓存对象,并基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据;
5、将所述数据库连接池缓存对象放入所述预设连接池缓存中进行缓存;
6、当在缓存有效时间内再次接收到所述数据库连接池缓存对象对应的请求连接指令时,则从所述预设连接池缓存中取出所述数据库连接池缓存对象,并执行所述基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据的步骤。
7、可选地,所述基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据的步骤,包括:
8、基于所述数据库连接池缓存对象确定第三方数据库,并与所述第三方数据库进行数据库连接;
9、在连接成功后,获取业务人员输入的sql语句,并对所述sql语句进行分析,根据分析结果,将所述sql语句解析为ast语法树;
10、通过所述ast语法树对所述sql语句进行业务校验,若校验通过,则通过所述sql语句进行数据查找,以获得目标业务数据。
11、可选地,所述预设连接池缓存中设置有缓存失效机制,所述缓存失效机制能够从所述预设连接池缓存中移除未在缓存有效时间内进行数据读写的数据库对应的数据库连接池缓存对象。
12、可选地,所述对所述sql语句进行分析,根据分析结果,将所述sql语句解析为ast语法树的步骤,包括:
13、对所述sql语句进行词法分析,获得分析结果;
14、根据所述分析结果对所述sql语句进行分解,获得多个关键字,并基于各所述关键字生成关键字链表;
15、通过所述第三方数据库的sql语法,对所述关键字链表进行语法结构分析,构造出所述sql语句对应的ast语法树。
16、可选地,所述通过所述ast语法树对所述sql语句进行业务校验的步骤,包括:
17、通过遍历所述ast语法树确定所述sql语句的语句类型、语句数量和查询字段数量;
18、当所述语句类型为数据查询语句,则所述sql语句通过第一业务校验;
19、当所述语句数量为1,则所述sql语句通过第二业务校验;
20、当所述查询字段数量符合预设查询要求,所述sql语句通过第三业务校验;
21、相应地,所述若校验通过,则通过所述sql语句进行数据查找,以获得目标业务数据的步骤,包括:
22、当所述sql语句通过第一业务校验、通过第二业务校验和通过第三业务校验,则通过所述sql语句进行数据查找,以获得目标业务数据。
23、可选地,所述通过遍历所述ast语法树确定所述sql语句的语句类型、语句数量和查询字段数量的步骤,包括:
24、通过遍历所述ast语法树确定所述sql语句的命令类型,所述命令类型包括查询、插入、更新和删除;
25、根据所述命令类型确定所述sql语句的语句类型;
26、通过确定所述sql语句的预设分隔符的数量,确定所述sql语句的语句数量;
27、通过确定所述sql语句是否存在通配符和闲置查询字段的数量,确定所述sql语句的查询字段数量。
28、可选地,所述当接收到请求连接指令时,根据所述请求连接指令从预设连接池缓存中查找是否存在相应的数据库连接池缓存对象的步骤之后,还包括:
29、若所述预设连接池缓存中存在相应的数据库连接池缓存对象,则从所述预设连接池缓存中取出所述数据库连接池缓存对象,并执行所述基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据的步骤;
30、相应地,所述基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据的步骤之后,还包括:
31、通过可视化平台业务系统将所述目标业务数据进行可视化展示。
32、此外,为实现上述目的,本发明还提出一种第三方数据源接入装置,所述装置包括:
33、请求连接模块,用于当接收到请求连接指令时,根据所述请求连接指令从预设连接池缓存中查找是否存在相应的数据库连接池缓存对象;
34、对象创建模块,用于若所述预设连接池缓存中不存在相应的数据库连接池缓存对象,则根据所述请求连接指令创建对应的数据库连接池缓存对象,并基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据;
35、对象缓存模块,用于将所述数据库连接池缓存对象放入所述预设连接池缓存中进行缓存;
36、数据查找模块,用于当在缓存有效时间内再次接收到所述数据库连接池缓存对象对应的请求连接指令时,则从所述预设连接池缓存中取出所述数据库连接池缓存对象,并执行所述基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据的步骤。
37、此外,为实现上述目的,本发明还提出一种第三方数据源接入设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的第三方数据源接入程序,所述第三方数据源接入程序配置为实现如上文所述的第三方数据源接入方法的步骤。
38、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有第三方数据源接入程序,所述第三方数据源接入程序被处理器执行时实现如上文所述的第三方数据源接入方法的步骤。
39、本发明通过当接收到请求连接指令时,根据所述请求连接指令从预设连接池缓存中查找是否存在相应的数据库连接池缓存对象;若所述预设连接池缓存中不存在相应的数据库连接池缓存对象,则根据所述请求连接指令创建对应的数据库连接池缓存对象,并基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据;将所述数据库连接池缓存对象放入所述预设连接池缓存中进行缓存;当在缓存有效时间内再次接收到所述数据库连接池缓存对象对应的请求连接指令时,则从所述预设连接池缓存中取出所述数据库连接池缓存对象,并执行所述基于所述数据库连接池缓存对象进行数据查找,以获得目标业务数据的步骤。由于本发明当在缓存有效时间内再次接收到数据库连接池缓存对象对应的请求连接指令时,则直接从预设连接池缓存中取出数据库连接池缓存对象,并基于数据库连接池缓存对象进行数据查找,相比于现有技术,本发明有效提高了数据查询的效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196820.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表