首页> 中国专利> 一种应用软件连接数据库的方法、存储介质及终端设备

一种应用软件连接数据库的方法、存储介质及终端设备

摘要

本发明公开了一种应用软件连接数据库的方法、存储介质及终端设备,其中,所述方法包括步骤:若应用软件当前配置数据加载成功,则从所述配置数据中读取数据库操作程序ID与数据库ID的连接配对关系并储存至缓存数据库中;当所述应用软件执行当前功能操作时,则截取当前功能操作对应的当前数据库操作程序ID,并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID;若查找到则所述应用软件执行功能操作时根据所述匹配数据库ID运行相应的数据库。本发明有效解决了多数据库应用软件中各功能模块无法自动选择对应数据库的问题,从而降低了功能研发难度,减少冗余编码,避免程序代码设计缺陷和功能运行错误,缩短软件代码研发周期。

著录项

  • 公开/公告号CN113110885A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利号CN201911357416.8

  • 发明设计人 王兴春;

    申请日2019-12-25

  • 分类号G06F9/445(20180101);G06F16/81(20190101);

  • 代理机构44268 深圳市君胜知识产权代理事务所(普通合伙);

  • 代理人王永文

  • 地址 518000 广东省深圳市南山区中山园路1001号TCL国际E城D1栋3楼

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明涉及软件应用领域,尤其涉及一种应用软件连接数据库的方法、存储介质及终端设备。

背景技术

在应用软件中常存在软件系统使用的数据被存储在多个不同的数据库中,又或者多个系统间通过多个数据库实现数据共享存取的情况。针对此问题,常见的解决方法是在软件对应不同的程序功能中分别连接不同的数据库以完成数据存取操作。这样做存在以下问题:1、软件代码设计随程序功能或数据库的增加而繁琐不利于统一维护管理;2、已完成的程序功能增加数据库时,需修改功能源代码以增加数据库连接;3、软件功能研发中易出现错误指定数据库造成程序异常排查困难,调试工作量大;4、在软件程序运行没有正确选择数据库时无法回退重新执行当前操作而是进入后续程序运行错误处理,即没有在数据库操作前判断是否正确连接到对应数据库等。

因此,现有技术还有待于改进和发展。

发明内容

鉴于上述现有技术的不足,本发明的目的在于提供一种应用软件连接数据库的方法、存储介质及终端设备,旨在解决现有多数据库应用软件中各功能模块无法自动选择对应数据库的问题的问题。

本发明的技术方案如下:

一种应用软件连接数据库的方法,其中,包括步骤:

当应用软件启动时,则检测所述应用软件当前配置数据是否加载成功;

若所述应用软件当前配置数据加载成功,则从所述配置数据中读取数据库操作程序ID与数据库ID的连接配对关系并储存至缓存数据库中;

当所述应用软件执行当前功能操作时,则截取当前功能操作对应的当前数据库操作程序ID,并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID;

若在所述缓存数据库中查找到与所述当前数据库操作程序ID配对的匹配数据库ID,则所述应用软件执行功能操作时根据所述匹配数据库ID运行相应的数据库。

所述应用软件连接数据库的方法,其中,所述从所述配置数据中读取数据库操作程序ID与数据库ID的连接配对关系并储存至缓存数据库中的步骤包括:

对所述当前配置数据进行解析,以初始化生成数据库操作程序ID与数据库ID的连接配对关系;

将所述数据库操作程序ID与数据库ID的连接配对关系以Key-Value的形式存储到缓存数据库中。

所述应用软件连接数据库的方法,其中,所述当前配置数据包括多数据库操作程序配置信息以及多数据库连接配置信息。

所述应用软件连接数据库的方法,其中,还包括步骤:

若所述应用软件当前配置数据加载失败,则结束所述应用软件的启动程序。

所述应用软件连接数据库的方法,其中,所述当所述应用软件执行当前功能操作时,则截取当前数据库操作程序ID,并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID的步骤包括:

当所述应用软件执行当前功能操作时,对数据库操作进行实时监听;

在所述数据库操作执行前截取与所述当前功能操作相对应的当前数据库操作程序ID;

采用java程序调用所述缓存数据库并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID。

所述应用软件连接数据库的方法,其中,所述若在所述缓存数据库中查找到与所述当前数据库操作程序ID配对的匹配数据库ID,则所述应用软件执行功能操作时根据所述匹配数据库ID运行相应的数据库的步骤包括:

若在所述缓存数据库中查找到与所述当前数据库操作程序ID配对的匹配数据库ID,则从所述缓存数据库中读取所述匹配数据库ID;

通过Sping数据库动态切换接口实现数据库动态自动切换,所述应用软件运行切换后的所述数据库。

所述应用软件连接数据库的方法,其中,还包括步骤:

若在所述缓存数据库中未查找到与所述当前数据库操作程序ID配对的匹配数据库ID,则结束所述应用软件的当前功能操作程序。

所述应用软件连接数据库的方法,其中,所述缓存数据库为Redis存储系统。

一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序被一个或多个处理器执行,以实现本发明所述应用软件连接数据库的方法的步骤。

一种终端设备,其中,包括至少一个处理器、显示屏、存储器以及通信接口和总线,所述处理器、显示屏、存储器和通信接口通过总线完成相互间的通信,所述处理器调用存储器中的逻辑指令以执行本发明所述应用软件连接数据库的方法的步骤。

有益效果:本发明提供的应用软件连接数据库的方法,有效解决了多数据库应用软件中各功能模块无法自动选择对应数据库的问题,使得应用软件在与多数据库数据交互时可实现智能连接,从而降低了功能研发难度,减少冗余编码,避免程序代码设计缺陷和功能运行错误,缩短软件代码研发周期。

附图说明

图1为本发明一种应用软件连接数据库的方法较佳实施例的流程图。

图2为本发明终端设备较佳实施例的结构框图。

具体实施方式

本发明提供一种应用软件连接数据库的方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

下面结合附图,通过对实施例的描述,对发明内容作进一步说明。

请参阅图1,图1为本发明提供的一种应用软件连接数据库的方法较佳实施例的流程图,如图所示,其包括步骤:

S10、当应用软件启动时,则检测所述应用软件当前配置数据是否加载成功;

S20、若所述应用软件当前配置数据加载成功,则从所述配置数据中读取数据库操作程序ID与数据库ID的连接配对关系并储存至缓存数据库中;

S30、当所述应用软件执行当前功能操作时,则截取当前功能操作对应的当前数据库操作程序ID,并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID;

S40、若在所述缓存数据库中查找到与所述当前数据库操作程序ID配对的匹配数据库ID,则所述应用软件执行功能操作时根据所述匹配数据库ID运行相应的数据库。

在本实施例中,当应用软件启动时,则开启软件启动监听模块对所述应用软件的当前配置数据加载状态进行实时检测,若所述应用软件当前配置数据加载成功,则从所述配置数据中读取数据库操作程序ID与数据库ID的连接配对关系并储存至缓存数据库中,此时所述应用软件启动程序成功完成;在所述应用软件启动完成后,当所述应用软件需要执行相应的功能操作时,则开启功能运行监听模块截取当前数据库操作程序ID,并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID,若查找到则所述应用软件执行功能操作时根据所述匹配数据库ID运行相应的数据库。

本实施例提供的应用软件连接数据库的方法,通过研发所述软件启动监听模块和功能运行监听模块可实现多数据库应用软件在运行不同的功能操作时,自动匹配选择正确的数据库,本实施例有效解决了多数据库应用软件中各功能模块无法自动选择对应数据库的问题,从而降低了功能研发难度,减少冗余编码,避免程序代码设计缺陷和功能运行错误,缩短软件代码研发周期。

在一些实施方式中,所述软件启动监听模块和功能运行监听模块的研发是借助Java语言中的Spring、SpringBoot、Mybatis、Redis完成的,其对软件功能代码设计无侵入性,即所述程序功能设计无需考虑涉及数据库切换选择操作。

在一些实施方式中,当应用软件启动时,通过软件启动监听模块对所述应用软件的当前配置数据加载状态进行实时检测。本实施例中,所述软件启动监听模块可以为Spring提供的ApplicationListener(应用程序监听程序)或SpringBoot提供的ApplicationRunner(应用程序运行程序),Spring是一个开源的Java应用程序研发技术,SpringBoot则是通过对Spring技术的二次开发并增加内嵌运行容器,实现以简化配置、快速部署、独立运行java应用程序为目标。

在一些实施方式中,若所述应用软件当前配置数据加载成功,则从所述配置数据中读取数据库操作程序ID与数据库ID的连接配对关系并储存至缓存数据库中。具体来讲,所述当前配置数据包括多数据库操作程序配置信息、多数据库连接配置信息以及软件的其他配置信息。本实施例中,若所述应用软件当前配置数据加载成功,则通过Mybatis提供的接口对所述当前配置数据进行解析,以初始化生成数据库操作程序ID与数据库ID的连接配对关系。所述MyBatis是一项解决数据库持久层的开源技术,它支持定制化SQL、存储过程以及高级映射,封装并简化JDBC代码创建数据库连接通道,设置数据库操作sql语句参数,获取结果集等一系列操作;MyBatis通过使用简单的XML或注解来配置和映射原生信息,将Java代码设计接口和POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库表结构和数据实体对象,并通过数据实体对象传递参数完成软件程序数据库交互操作。本实施例通过所述Mybatis提供的接口从所述当前配置数据中读取多数据库操作程序配置信息并对其进行解析形成Mapper接口和对应XML配置,以初始化生成数据库操作程序ID与数据库ID的连接配对关系。

在本实施例中,将所述数据库操作程序ID与数据库ID的连接配对关系以Key-Value的形式存储到缓存数据库中,完成所述应用软件的启动。本实施例中,所述缓存数据库为Redis存储系统,Redis存储系统是一个高性能的Key-Value数据库,可通过Java程序实现键值对Key-Value类型数据存取。本实施例将所述数据库操作程序ID与数据库ID的连接配对关系以Key-Value的形式存储到Redis存储系统中,便于通过Java语言进行调用。

在一些实施方式中,若所述应用软件当前配置数据加载失败,则结束所述应用软件的启动程序。

在一些实施方式中,当所述应用软件执行当前功能操作时,则截取当前数据库操作程序ID,并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID。具体来讲,当所述应用软件执行当前功能操作时,则通过所述功能运行监听模块对数据库操作进行实时监听,在所述数据库操作执行前截取与所述当前功能操作相对应的当前数据库操作程序ID;采用java程序调用所述缓存数据库并从所述缓存数据库中查找与所述当前数据库操作程序ID配对的匹配数据库ID。

在本实施例中,当在所述缓存数据库中查找到与所述当前数据库操作程序ID配对的匹配数据库ID,说明所述应用软件内预先配置有与当前功能操作相适配的数据库,则从所述缓存数据库中读取所述匹配数据库ID,通过Sping数据库动态切换接口实现数据库动态自动切换,所述应用软件运行切换后的所述数据库,实现相应的功能。

在本实施例中,当在所述缓存数据库中未查找到与所述当前数据库操作程序ID配对的匹配数据库ID,说明所述应用软件内没有配置与当前功能操作相适配的数据库,则结束所述应用软件的当前功能操作程序。

本实施例通过研发所述软件启动监听模块和功能运行监听模块可实现多数据库应用软件在运行不同的功能操作时,自动匹配选择正确的数据库,本实施例有效解决了多数据库应用软件中各功能模块无法自动选择对应数据库的问题。

在一些实施方式中,还提供一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序被一个或多个处理器执行,以实现本发明所述应用软件连接数据库的方法的步骤。

在一些实施方式中,还提供一种终端设备,其包括至少一个处理器20、显示屏21、存储器22以及通信接口23和总线24,其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行本发明所述应用软件连接数据库的方法的步骤。

此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。

存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。

综上所述,本发明提供的应用软件连接数据库的方法,通过研发所述软件启动监听模块和功能运行监听模块可实现多数据库应用软件在运行不同的功能操作时,自动匹配选择正确的数据库,本实施例有效解决了多数据库应用软件中各功能模块无法自动选择对应数据库的问题,从而降低了功能研发难度,减少冗余编码,避免程序代码设计缺陷和功能运行错误,缩短软件代码研发周期。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号