掌桥专利:专业的专利平台
掌桥专利
首页

一种数据源调用方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:14:59


一种数据源调用方法、装置、电子设备及存储介质

技术领域

本发明涉及数据源处理技术领域,尤其涉及一种数据源调用方法、装置、电子设备及存储介质。

背景技术

在开发中过程中,经常会有项目需要连接多个关系型数据库数据源的场景,从而在进行不同操作时调用不同的数据源。

常见的解决方案中,服务启动生成数据库连接池实例,为连接池分配唯一的标识,并托管于容器中;当被调用操作时,根据函数或者操作对象指定的标识获取对应连接池的有效连接,进行数据库相关的操作。

然而,该解决方案在业务复杂和逐渐发展的过程中会出现唯一标识在项目不同级别目录和操作对象中,导致代码层次混乱的问题。如关系型数据库集成读写分离,一个对象不同操作可能出现多个不同标识等,出现代码混乱,导致数据源调用异常,且不利于后期维护。

发明内容

本发明提供了一种数据源调用方法、装置、电子设备及存储介质,用于解决一个业务对象可能存在多个不同标识,导致数据源调用异常,且代码混乱不利于后期维护的技术问题。

本发明提供了一种数据源调用方法,包括:

当预设的项目启动时,获取所述项目的数据源连接信息及目录结构;

创建所述数据源连接信息对应的数据源连接池,并建立所述数据源连接池与所述目录结构的映射关系;

当运行所述项目的业务时,根据所述映射关系获取所述业务对应的目标数据源连接池;

建立与所述目标数据源连接池的连接,并调用所述目标数据源连接池对应的目标数据源。

可选地,所述当运行所述项目的业务时,根据所述映射关系获取所述业务对应的目标数据源连接池的步骤,包括:

当运行所述项目的业务时,确定所述业务的操作对象;

在所述目录结构中匹配所述操作对象,获取所述操作对象对应的目标映射关系;

根据所述目标映射关系确定所述操作对象对应的目标数据源连接池。

可选地,所述在所述目录结构中匹配所述操作对象,获取所述操作对象对应的目标映射关系的步骤,包括:

获取所述操作对象的位置信息;

获取所述位置信息对应的目标目录结构;

在所有所述目录结构中匹配所述目标目录结构,确定所述操作对象对应的目标映射关系。

可选地,所述建立与所述目标数据源连接池的连接的步骤之后,还包括:

对所述操作对象执行预设操作,并生成操作结果。

本发明还提供了一种数据源调用装置,包括:

数据源连接信息及目录结构获取模块,用于当预设的项目启动时,获取所述项目的数据源连接信息及目录结构;

映射关系建立模块,用于创建所述数据源连接信息对应的数据源连接池,并建立所述数据源连接池与所述目录结构的映射关系;

目标数据源连接池获取模块,用于当运行所述项目的业务时,根据所述映射关系获取所述业务对应的目标数据源连接池;

连接建立模块,用于建立与所述目标数据源连接池的连接,并调用所述目标数据源连接池对应的目标数据源。

可选地,所述目标数据源连接池获取模块,包括:

操作对象确定子模块,用于当运行所述项目的业务时,确定所述业务的操作对象;

目标映射关系获取子模块,用于在所述目录结构中匹配所述操作对象,获取所述操作对象对应的目标映射关系;

目标数据源连接池确定子模块,用于根据所述目标映射关系确定所述操作对象对应的目标数据源连接池。

可选地,所述目标映射关系获取子模块,包括:

位置信息获取单元,用于获取所述操作对象的位置信息;

目标目录结构获取单元,用于获取所述位置信息对应的目标目录结构;

目标映射关系确定单元,用于在所有所述目录结构中匹配所述目标目录结构,确定所述操作对象对应的目标映射关系。

可选地,还包括:

操作模块,用于对所述操作对象执行预设操作,并生成操作结果。

本发明还提供了一种电子设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行如上任一项所述的数据源调用方法。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的数据源调用方法。

从以上技术方案可以看出,本发明具有以下优点:本发明提供了一种数据源调用方法,包括:当预设的项目启动时,获取项目的数据源连接信息及数据源连接信息对应的目录结构;创建数据源连接信息对应的数据源连接池,并建立数据源连接池与目录结构的映射关系;当运行所述项目的业务时,根据映射关系获取业务对应的目标数据源连接池;建立与目标数据源连接池的连接,并调用所述目标数据源连接池对应的目标数据源。本发明通过每个业务唯一的目录结构,建立与数据源连接池的映射关系,使得在运行某项业务时,可以根据唯一的目录结构获取对应的数据源连接池,避免标识混乱导致的调用异常,且便于后期维护。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种数据源调用方法的步骤流程图;

图2为本发明另一实施例提供的一种数据源调用方法的步骤流程图;

图3为本发明实施例提供的一种数据源调用装置的结构示意图。

具体实施方式

本发明实施例提供了一种数据源调用方法、装置、电子设备及存储介质,用于解决一个业务对象可能存在多个不同标识,导致调用异常,且代码混乱不利于后期维护的技术问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明实施例提供的一种数据源调用方法的步骤流程图。

本发明提供的一种数据源调用方法,具体可以包括以下步骤:

步骤101,当预设的项目启动时,获取所述项目的数据源连接信息及目录结构;

在本发明实施例中,项目是指负责多个业务的代码集合。

目录结构,可以是各操作对象的存储位置,以图目录为例,目录结构通常可以表述为com.xxx.dao.AcreateDao。

数据源连接信息可以为数据源类型、ip、端口、数据库名、账号和密码等信息。

在本发明实施例中,当预设项目启动时,可以获取项目关联的数据源连接信息该项目的目录结构。

步骤102,创建所述数据源连接信息对应的数据源连接池,并建立所述数据源连接池与所述目录结构的映射关系;

数据源连接池是程序启动时建立多个数据库连接,并将这些连接组成一个连接池,数据源连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。在本发明实施例中,由于数据源较多,可以建立多个数据源连接池。

在获取到项目的数据源连接信息后,可以创建各个数据源的数据源连接池;然后根据该项目各目录结构对应的操作对象所要调用的数据源建立数据源连接池与目录结构之间的映射关系。

步骤103,当运行所述项目的业务时,根据所述映射关系获取所述业务对应的目标数据源连接池;

当运行项目的某一项业务时,可以根据数据源连接池与目录结构之间的映射关系,来获取该业务需要连接的目标数据源连接池。

步骤104,建立与所述目标数据源连接池的连接,并调用所述目标数据源连接池对应的目标数据源。

在确定了目标数据源连接池后,可以建立与目标数据源连接池的连接。

本发明通过每个业务唯一的目录结构,建立与数据源连接池的映射关系,使得在运行某项业务时,可以根据唯一的目录结构获取对应的数据源连接池,避免标识混乱导致的调用异常,且便于后期维护。

请参阅图2,图2为本发明另一实施例提供的一种数据源调用方法的步骤流程图。本发明实施例是在上述实施例的基础上进行补充和细化后得到的,具体可以包括以下步骤:

步骤201,当预设的项目启动时,获取所述项目的数据源连接信息及目录结构;

在本发明实施例中,当预设项目启动时,可以获取项目关联的数据源连接信息该项目的目录结构。

步骤202,创建所述数据源连接信息对应的数据源连接池,并建立所述数据源连接池与所述目录结构的映射关系;

数据源连接池是程序启动时建立多个数据库连接,并将这些连接组成一个连接池,数据源连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。在本发明实施例中,由于数据源较多,可以建立多个数据源连接池。获取数据源连接池与目录结构的映射关系后,可以将该映射关系存储到数据源管理器中,以对数据源连接池和相应的目录结构进行管理。

在获取到项目的数据源连接信息后,可以创建各个数据源的数据源连接池;然后根据该项目各目录结构对应的操作对象所要调用的数据源建立数据源连接池与目录结构之间的映射关系。

步骤203,当运行所述项目的业务时,确定所述业务的操作对象;

在本发明实施例中,操作对象是指数据操作的通用API,即dao层。

API(Application Program Interface,应用程序界面),被定义为应用程序可用以与计算机操作系统交换信息和命令的标准集。一个标准的应用程序界面为用户或软件开发商提供一个通用编程环境,以编写可交互运行于不同厂商计算机的应用程序。

步骤204,在所述目录结构中匹配所述操作对象,获取所述操作对象对应的目标映射关系;

在本发明实施例中,通过在目录结构中匹配操作对象,可以获取操作对象对应的目标映射关系。

在一个示例中,所述在所述目录结构中匹配所述操作对象,获取所述操作对象对应的目标映射关系的步骤,具体可以包括以下子步骤:

S41,获取所述操作对象的位置信息;

S42,获取所述位置信息对应的目标目录结构;

S43,在所有所述目录结构中匹配所述目标目录结构,确定所述操作对象对应的目标映射关系。

在具体实现中,每个操作对象都有其对应的位置信息,在确定操作对象后,可以根据操作对象的位置信息在目录结构中匹配相应的目标目录结构,该目标目录结构指代的位置即为操作对象所在的位置。在确定了目标目录结构后,便可以从数据源管理器中匹配得到对应的目标映射关系。

步骤205,根据所述目标映射关系确定所述操作对象对应的目标数据源连接池;

步骤206,建立与所述目标数据源连接池的连接,并调用所述目标数据源连接池对应的目标数据源。

在获取到目标映射关系后,可以根据目标映射关系确定操作对象对应的目标数据源连接池。并建立与目标数据源连接池的连接。从而对目标数据源进行相关操作。其中,目标数据源可以为数据库。

进一步地,在本发明实施例中,所述建立与所述目标数据源连接池的连接的步骤之后,还可以包括以下步骤:

对所述操作对象执行预设操作,并生成操作结果。

本发明通过每个业务唯一的目录结构,建立与数据源连接池的映射关系,使得在运行某项业务时,可以根据唯一的目录结构获取对应的数据源连接池,避免标识混乱导致的调用异常,且便于后期维护。

请参阅图3,图3为本发明实施例提供的一种数据源调用装置的结构示意图。

本发明实施例提供了一种数据源调用装置,包括:

数据源连接信息及目录结构获取模块301,用于当预设的项目启动时,获取所述项目的数据源连接信息及目录结构;

映射关系建立模块302,用于创建所述数据源连接信息对应的数据源连接池,并建立所述数据源连接池与所述目录结构的映射关系;

目标数据源连接池获取模块303,用于当运行所述项目的业务时,根据所述映射关系获取所述业务对应的目标数据源连接池;

连接建立模块304,用于建立与所述目标数据源连接池的连接,并调用所述目标数据源连接池对应的目标数据源。

在本发明实施例中,所述目标数据源连接池获取模块303,包括:

操作对象确定子模块,用于当运行所述项目的业务时,确定所述业务的操作对象;

目标映射关系获取子模块,用于在所述目录结构中匹配所述操作对象,获取所述操作对象对应的目标映射关系;

目标数据源连接池确定子模块,用于根据所述目标映射关系确定所述操作对象对应的目标数据源连接池。

在本发明实施例中,所述目标映射关系获取子模块,包括:

位置信息获取单元,用于获取所述操作对象的位置信息;

目标目录结构获取单元,用于获取所述位置信息对应的目标目录结构;

目标映射关系确定单元,用于在所有所述目录结构中匹配所述目标目录结构,确定所述操作对象对应的目标映射关系。

在本发明实施例中,还包括:

操作模块,用于对所述操作对象执行预设操作,并生成操作结果。

本发明实施例还提供了一种电子设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行本发明实施例所述的数据源调用方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行本发明实施例所述的数据源调用方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种漆面识别方法、装置、存储介质及电子设备
  • 一种植物观赏方法、装置、电子设备和存储介质
  • 一种题目搜索、批改方法、装置、电子设备和存储介质
  • 一种虚拟形象视频播放方法、装置、电子设备及存储介质
  • 电子设备中的器件调用方法、装置、电子设备及存储介质
  • 电子设备中的器件调用方法、装置、电子设备及存储介质
技术分类

06120115848751