首页> 中国专利> 基于SOA的数据源切换方法和基于SOA的数据源切换系统

基于SOA的数据源切换方法和基于SOA的数据源切换系统

摘要

本发明提出了一种基于SOA的数据源切换方法,包括:在SOA应用中配置多个后台数据库中每个后台数据库的数据源连接池,其中每个数据源连接池对应一个JNDI命名;创建JNDI.properties文件,并配置所述JNDI命名与约定参数值的对应关系;在程序运行时,根据所述约定参数值解析所述JNDI.properties文件,以获取目标数据源对应的目标JNDI命名;根据所述目标JNDI命名建立与目标后台数据库的连接,以从所述目标后台数据库中获取所述目标数据源。相应的,本发明还提出了一种基于SOA的数据源切换系统。通过本发明的技术方案,减少在实际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中针对多个数据库简历数据库连接切换的问题,并便利地对数据储存或者更新、查询等操作。

著录项

  • 公开/公告号CN104503751A

    专利类型发明专利

  • 公开/公告日2015-04-08

    原文格式PDF

  • 申请/专利权人 深圳中兴网信科技有限公司;

    申请/专利号CN201410784320.0

  • 发明设计人 杨振文;韩小军;程默;晏建军;

    申请日2014-12-16

  • 分类号

  • 代理机构北京友联知识产权代理事务所(普通合伙);

  • 代理人尚志峰

  • 地址 518057 广东省深圳市南山区高新技术产业园高新南6道万德莱南座5楼

  • 入库时间 2023-12-17 04:48:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-10

    授权

    授权

  • 2015-05-06

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20141216

    实质审查的生效

  • 2015-04-08

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,具体而言,涉及一种基于SOA的数据 源切换方法和一种基于SOA的数据源切换系统。

背景技术

SOA(面向服务架构)是一种构造分布式系统的方法,它将传统的单 片式应用打破,分解为离散的、自治的业务服务,利用标准提升他们的互 操作性,从而可以更好地共享、重用和组装,快速构建复合的应用从而满 足业务需求的变化。当前应用SOA架构对企业各异构的信息系统进行整 合已经成为一种趋势,基于SOA的集成方法正推动着市场的发展, IBM、Oracle、Microsoft、Sap等主流厂商已转向SOA。

JNDI(Java Naming and Directory Interface)是SUN公司提供的 一种标准的Java命名系统接口,JNDI提供统一的客户端API,由管理者 将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以 和这些命名服务和目录服务之间进行交互。

现有技术方案中,在实际项目中,获取数据库目标资源比较繁琐,需 要代码重复的编写。

因此需要一种新的技术方案,可以解决多数据库连接自动切换,减少 在实际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中 针对多个数据库简历数据库连接切换的问题。

发明内容

本发明正是基于上述问题,提出了一种新的技术方案,可以减少在实 际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中针对 多个数据库简历数据库连接切换的问题,并可以便利地对数据储存或者更 新、查询等操作。

有鉴于此,本发明提出了一种基于SOA的数据源切换方法,其特征 在于,包括:在SOA应用中配置多个后台数据库中每个后台数据库的数 据源连接池,其中每个数据源连接池对应一个JNDI命名;创建 JNDI.properties文件,并配置所述JNDI命名与约定参数值的对应关系; 在程序运行时,根据所述约定参数值解析所述JNDI.properties文件,以获 取目标数据源对应的目标JNDI命名;根据所述目标JNDI命名建立与目 标后台数据库的连接,以从所述目标后台数据库中获取所述目标数据源。

在该技术方案中,配置JNDI命名与约定参数值的对应关系,当程序 运行时,根据约定参数值解析JNDI.Properties文件,获得目标JNDI命 名,根据目标JNDI命名建立与后台数据库的连接,获取目标数据源。这 样,在程序运行中依照约定的参数值来自动切换数据源连接,从而减少在 实际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中针 对多个数据库建立数据库连接切换的问题。

在上述技术方案中,所述JNDI命名与所述约定参数值的对应关系为 一对多,即每个JNDI命名可对应多个约定参数值,每个约定参数值只对 应一个JNDI命名。

在该技术方案中,每个约定参数值只对应一个JNDI命名,可以更准 确的查询JNDI的命名,查找更方便。

在上述技术方案中,优选地,还包括:将所述JNDI.properties文件保 存在所述SOA应用安装的服务器的指定目录下。

在该技术方案中,将JNDI.properties文件保存在SOA应用安装服务 器的指定目录下,可以提升他们的互操作性,更好的共享和组装,可以快 速的构建复合的应用来满足业务需求的变化。

在上述技术方案中,优选地,所述根据所述约定参数值解析所述 JNDI.properties文件,以获取目标数据源对应的目标JNDI命名,具体包 括:使用JAVA的Properties类解析所述JNDI.properties文件,并根据所 述目标数据源中的任一目标参数值从所述约定参数至中查找出目标约定参 数值;以及获取所述目标约定参数值对应的目标JNDI命名。

在该技术方案中,通过目标数据源的任一目标参数值从约定参数中查 找出目标约定参数值,进而找到目标数据源的目标JNDI命名,从而与目 标JNDI命名对应的后台数据库建立连接,这样可以减少在项目中针对多 个数据库建立数据库连接切换的问题,减少在实际项目中获取数据库连接 的代码重复编写的问题。

根据本发明的另一方面,还提供了一种基于SOA的数据源切换系 统,包括:配置单元,在SOA应用中配置多个后台数据库中每个后台数 据库的数据源连接池,其中每个数据源连接池对应一个JNDI命名;创建 单元,创建JNDI.properties文件,并配置所述JNDI命名与约定参数值的 对应关系;解析单元,在程序运行时,根据所述约定参数值解析所述 JNDI.properties文件,以获取目标数据源对应的目标JNDI命名;连接单 元,根据所述目标JNDI命名建立与目标后台数据库的连接,以从所述目 标后台数据库中获取所述目标数据源。

在该技术方案中,配置JNDI命名与约定参数值的对应关系,当程序 运行时,根据约定参数值解析JNDI.Properties文件,获得目标JNDI命 名,根据目标JNDI命名建立与后台数据库的连接,获取目标数据源。这 样,在程序运行中依照约定的参数值来自动切换数据源连接,从而减少在 实际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中针 对多个数据库建立数据库连接切换的问题。

在上述技术方案中,优选地,所述JNDI命名与所述约定参数值的对 应关系为一对多,即每个JNDI命名可对应多个约定参数值,每个约定参 数值只对应一个JNDI命名。

在该技术方案中,每个约定参数值只对应一个JNDI命名,可以更准 确的查询JNDI的命名,查找更方便。

在上述技术方案中,优选地,还包括:存储单元,将所述 JNDI.properties文件保存在所述SOA应用安装的服务器的指定目录下。

在该技术方案中,将JNDI.properties文件保存在SOA应用安装服务 器的指定目录下,可以提升他们的互操作性,更好的共享和组装,可以快 速的构建复合的应用来满足业务需求的变化。

在上述技术方案中,所述解析单元具体用于:使用JAVA的 Properties类解析所述JNDI.properties文件,并根据所述目标数据源中的 任一目标参数值从所述约定参数至中查找出目标约定参数值,以及获取所 述目标约定参数值对应的目标JNDI命名。

在该技术方案中,通过目标数据源的任一目标参数值从约定参数中查 找出目标约定参数值,进而找到目标数据源的目标JNDI命名,从而与目 标JNDI命名对应的后台数据库建立连接,这样可以减少在项目中针对多 个数据库建立数据库连接切换的问题,减少在实际项目中获取数据库连接 的代码重复编写的问题。

通过以上技术方案,使用properties文件对多个数据源的JNDI进行配 置,其中properties文件保存在SOA应用安装的服务器的目录下,在程序 实际运行时根据约定参数值来解析properties文件获取目标数据源的 JNDI.name,然后根据JNDI.name简历与数据库的连接进行数据操作。这 样,可以减少在实际项目中获取数据库连接的代码重复编写问题,同时能 解决在项目中针对多个数据库简历数据库连接切换的问题,并便利地对数 据储存或者更新、查询等操作。

附图说明

图1示出了根据本发明的实施例的基于SOA的数据源切换方法的流 程图;

图2示出了根据本发明的实施例的基于SOA的数据源切换系统的框 图;

图3示出了根据本发明的一个实施例的基于SOA的数据源切换方法 的具体流程图;

图4示出了根据本发明的实施例的获取JNDI命名的屏幕截图;

图5示出了根据本发明的实施例的建立与后台数据库的连接的屏幕截 图;

图6示出了根据本发明的一个实施例的基于SOA的数据源切换系统 的结构图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附 图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不 冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明 的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的实施例的基于SOA的数据源切换方法的流 程图。

如图1所示,根据本发明的实施例的基于SOA的数据源切换方法, 包括:步骤102,在SOA应用中配置多个后台数据库中每个后台数据库 的数据源连接池,其中每个数据源连接池对应一个JNDI命名;步骤 104,创建JNDI.properties文件,并配置所述JNDI命名与约定参数值的对 应关系;步骤106,在程序运行时,根据所述约定参数值解析所述 JNDI.properties文件,以获取目标数据源对应的目标JNDI命名;步骤 108,根据所述目标JNDI命名建立与目标后台数据库的连接,以从所述目 标后台数据库中获取所述目标数据源。

在该技术方案中,配置JNDI命名与约定参数值的对应关系,当程序 运行时,根据约定参数值解析JNDI.Properties文件,获得目标JNDI命 名,根据目标JNDI命名建立与后台数据库的连接,获取目标数据源。这 样,在程序运行中依照约定的参数值来自动切换数据源连接,从而减少在 实际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中针 对多个数据库建立数据库连接切换的问题。

在上述技术方案中,所述JNDI命名与所述约定参数值的对应关系为 一对多,即每个JNDI命名可对应多个约定参数值,每个约定参数值只对 应一个JNDI命名。

在该技术方案中,每个约定参数值只对应一个JNDI命名,可以更准 确的查询JNDI的命名,查找更方便。

在上述技术方案中,优选地,还包括:将所述JNDI.properties文件保 存在所述SOA应用安装的服务器的指定目录下。

在该技术方案中,将JNDI.properties文件保存在SOA应用安装服务 器的指定目录下,可以提升他们的互操作性,更好的共享和组装,可以快 速的构建复合的应用来满足业务需求的变化。

在上述技术方案中,优选地,所述根据所述约定参数值解析所述 JNDI.properties文件,以获取目标数据源对应的目标JNDI命名,具体包 括:使用JAVA的Properties类解析所述JNDI.properties文件,并根据所 述目标数据源中的任一目标参数值从所述约定参数至中查找出目标约定参 数值;以及获取所述目标约定参数值对应的目标JNDI命名。

在该技术方案中,通过目标数据源的任一目标参数值从约定参数中查 找出目标约定参数值,进而找到目标数据源的目标JNDI命名,从而与目 标JNDI命名对应的后台数据库建立连接,这样可以减少在项目中针对多 个数据库建立数据库连接切换的问题,减少在实际项目中获取数据库连接 的代码重复编写的问题。

图2示出了根据本发明的实施例的基于SOA的数据源切换系统的框 图。

如图2所示,根据本发明的实施例的基于SOA的数据源切换系统 200,包括:配置单元202,在SOA应用中配置多个后台数据库中每个后 台数据库的数据源连接池,其中每个数据源连接池对应一个JNDI命名; 创建单元204,创建JNDI.properties文件,并配置所述JNDI命名与约定 参数值的对应关系;解析单元206,在程序运行时,根据所述约定参数值 解析所述JNDI.properties文件,以获取目标数据源对应的目标JNDI命 名;连接单元208,根据所述目标JNDI命名建立与目标后台数据库的连 接,以从所述目标后台数据库中获取所述目标数据源。

在该技术方案中,配置JNDI命名与约定参数值的对应关系,当程序 运行时,根据约定参数值解析JNDI.Properties文件,获得目标JNDI命 名,根据目标JNDI命名建立与后台数据库的连接,获取目标数据源。这 样,在程序运行中依照约定的参数值来自动切换数据源连接,从而减少在 实际项目中获取数据库连接的代码重复编写问题,同时能解决在项目中针 对多个数据库建立数据库连接切换的问题。

在上述技术方案中,优选地,所述JNDI命名与所述约定参数值的对 应关系为一对多,即每个JNDI命名可对应多个约定参数值,每个约定参 数值只对应一个JNDI命名。

在该技术方案中,每个约定参数值只对应一个JNDI命名,可以更准 确的查询JNDI的命名,查找更方便。

在上述技术方案中,优选地,还包括:存储单元210,将所述 JNDI.properties文件保存在所述SOA应用安装的服务器的指定目录下。

在该技术方案中,将JNDI.properties文件保存在SOA应用安装服务 器的指定目录下,可以提升他们的互操作性,更好的共享和组装,可以快 速的构建复合的应用来满足业务需求的变化。

在上述技术方案中,所述解析单元具体用于:使用JAVA的 Properties类解析所述JNDI.properties文件,并根据所述目标数据源中的 任一目标参数值从所述约定参数至中查找出目标约定参数值,以及获取所 述目标约定参数值对应的目标JNDI命名。

在该技术方案中,通过目标数据源的任一目标参数值从约定参数中查 找出目标约定参数值,进而找到目标数据源的目标JNDI命名,从而与目 标JNDI命名对应的后台数据库建立连接,这样可以减少在项目中针对多 个数据库建立数据库连接切换的问题,减少在实际项目中获取数据库连接 的代码重复编写的问题。

图3示出了根据本发明的一个实施例的基于SOA的数据源切换方法 的具体流程图。

如图3所示,根据本发明的实施例的基于SOA的数据源切换方法的 具体流程,包括:

步骤302,在SOA应用中配置多个数据库的数据源连接池,每个数 据源连接池对应一个不同的JNDI name分别对应不同的后台数据库,如 jdbc/ERPDBCconnection1对应后台数据库1,jdbc/ERPDBCconnection2对 应后台数据库2等等。

步骤304,创建JNDI.properties文件保存在SOA应用安装服务器指定 目录下,配置参数与JNDI name的一一映射关系。例如省份简码为进行数 据库切换的参数。配置如:

BJ=jdbc/ERPDBConnection1

SH=jdbc/ERPDBConnection1

GD=jdbc/ERPDBConnection2

HN=jdbc/ERPDBConnection2

JX=jdbc/ERPDBConnection2

步骤306,程序运行时,使用JAVA的properties类解析 JNDI.properties文件,根据业务数据特定参数来获取到JNDI name (jdbc/ERPDBCconnection,jdbc/ERPDBCconnection2等)。其中,部分 实现代码如图4所示。

步骤308,根据程序获取到JNDI name创建与后台数据库连接。

其中,根据JNDI创建与数据库连接的部分代码如图5所示。

图6示出了根据本发明的一个实施例的基于SOA的数据源切换系统 的结构图。

如图6所示,根据本发明的一个实施例的基于SOA的数据源切换系 统,包括:多个业务系统602,SOA平台604和多个业务系统后台数据库 606。

在SOA平台604中配置多个数据库连接池,每个连接池将会有一个 连接的JNDI name。同时创建properties文件用于配置业务参数与JNDI name的一一映射关系。在实际程序运行业务处理时,当需要访问特定的 业务系统后台数据库606时,可根据业务系统602发送的业务参数中的某 个约定的参数从properties文件中获取到对应的JNDI name,然后程序根 据JNDI name来建立与对应的业务系统后台数据库606的连接,进行对数 据的操作。

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方 案,可以减少在实际项目中获取数据库连接的代码重复编写问题,同时解 决了在项目中针对多个数据库简历数据库连接切换的问题,并便利地对数 据储存或者更新、查询等操作。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号