[发明专利]一种轻量级多数据源访问方法有效
申请号: | 201710646466.2 | 申请日: | 2017-08-01 |
公开(公告)号: | CN107463663B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 柴付志;杨继伟 | 申请(专利权)人: | 浪潮云信息技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/46 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 多数 访问 方法 | ||
1.一种轻量级多数据源访问方法,其特征在于,该方法首先定义多线程安全的数据源容器,然后对多数据源进行管理,最后对数据源进行二次封装,将二次封装后的数据源引入线程连接容器,且线程连接容器保证每个线程获取各自的连接;
所述数据源容器包括数据源容器对象、数据源容器属性信息、数据源容器开放接口、其他;所述数据源容器对象是数据源容器的实例化对象,采用单例模式对外提供数据源实例化对象,保证用户获取的数据源容器是同一个;所述数据源容器属性信息是在实例化多数据源,该实例中提供对数据源的加载需要用的配置文件路径参数的属性信息;所述数据源容器开放接口包括:获取数据源接口,通过传参数动态配置数据源接口,实例化数据源,清除数据源接口;
对数据源进行二次封装旨在对数据源容器对象进行实例化,封装后新的数据源包括:线程连接容器、数据源属性、数据源接口、其他;所述线程连接容器根据线程号存储每个线程的数据库连接;所述数据源属性包括:获取数据源的用户名、密码、所使用的驱动,连接数据库URL连接的实例化数据源的属性参数;所述数据源对外接口提供对数据源多线程连接的管理和对数据库事务的管理。
2.根据权利要求1所述的一种轻量级多数据源访问方法,其特征在于, 所述数据源多线程连接的管理内容包括加载线程连接、获取线程连接、清除线程连接;
所述数据库事务的管理内容包括事务开启、事务提交、事务关闭、事务回滚。
3.根据权利要求1所述的一种轻量级多数据源访问方法,其特征在于, 对多数据进行管理的过程包括:加载数据源、根据数据源标识获取数据源、关闭数据源。
4.根据权利要求3所述的一种轻量级多数据源访问方法,其特征在于,所述加载数据源的实现过程包括:
1)开始;
2)读取数据源配置文件;
3)读取成功,即可将数据源加载到数据源容器;
4)结束。
5.根据权利要求4所述的一种轻量级多数据源访问方法,其特征在于,所述根据数据源标识获取数据源的实现过程包括:
1)开始;
2)实例化多数据源容器;
3)设置当前数据源标识;
4)获取线程数据库连接;
5)判断该线程是否存在:
a)若存在,转至6);
b)若不存在,
b1)根据数据源标识获取数据源;
b2)获取线程数据库连接并放到线程连接容器中;
6)结束。
6.根据权利要求4所述的一种轻量级多数据源访问方法,其特征在于,所述访问方法的具体实施步骤包括:
1)开始;
2)用户进行数据库操作:设置当前所需使用的数据源标识;
3)手动开始事务;
4)操作数据库:系统首先自动根据用户配置的数据源标识获取数据源,然后根据线程号获取当前线程的数据库连接;若当前线程的数据库连接还没有创建,则从数据源中获取数据库连接,获取成功后,将数据库连接设置成当前线程的连接;只有获取连接后,用户才可以对数据库进行访问;
5)提交事务,
a)提交成功,直接断开数据库连接;
b)提交失败,首先进行事务回滚,然后断开数据库连接;
6)结束。
7.根据权利要求1-6中任一项所述的一种轻量级多数据源访问方法,其特征在于,所述数据源容器的数量为至少一个。
8.根据权利要求1-6中任一项所述的一种轻量级多数据源访问方法,其特征在于,所述数据源容器对象包括至少一个新的数据源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术有限公司,未经浪潮云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710646466.2/1.html,转载请声明来源钻瓜专利网。