System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机应用信息系统中多业务设计,尤其涉及一种同一数据库的并行使用方法及装置。
技术介绍
1、现有的系统中,很多时候不同业务会出现两种对数据库操作时长矛盾的需求,一类高并发的短时数据连接需求,这个操作是最常见的,多人同时操作某个功能,这些操作都是以毫秒计算瞬时完成的。相对的,另一类是长时间的需要保持连接数据库,一般是个别管理人员或者某些特殊任务需要长时间连接数据库来执行某个功能,例如定时任务需要全表扫描并执行复杂的算法,有时候甚至需要几个小时甚至几天才能完成。
2、一般地,采用数据库连接池有两种形式,一种是同一个数据库配置单一的连接池应用;另一种是同一个数据库配置多个连接池,分别连接不同的异构关系数据库,这种本质上还是在两个库之间来回切换,例如从武汉库切换到北京库。其中存在的最主要的问题是高并发的短时连接(从连接池中获取,用完即释放到连接池)与长时间的需要与数据库的保持连接的需求相冲突。现有技术中解决这个冲突的方法是将两个需求分开,分别做成两个应用,一个应用配置高并发的短时连接,另外一个应用配置超长时间的连接。
3、然而,现有技术中的上述方法通过两个应用软件来完成高并发的短时连接和超长时间的连接的方案,实现复杂度高,并且效率较低。
技术实现思路
1、本专利技术提出一种同一数据库的并行使用方法及装置,用以解决现有技术中存在的实现复杂度高、效率低的技术问题。
2、为了达到上述目的,本专利技术技术方案为:
3、第一方面提供了一种
4、在一个应用中针对同一个关系数据库,配置两个数据库连接缓冲池,两个数据库连接缓冲池包括第一数据库连接缓冲池和第二数据库连接缓冲池,其中,第一数据库连接缓冲池配置为毫秒级别的短时连接方案,第二数据库连接缓冲池配置为天级别的长时连接方案;
5、对第一数据库连接缓冲池和第二数据库连接缓冲池分别配置对应的数据源;
6、对第一数据库连接缓冲池创建短耗时会话连接工厂,对第二数据库连接缓冲池创建长连接会话连接工厂,对两个据库连接缓冲池配置相同的数据库表映射参数,其中,短耗时会话连接工厂连接第一数据库连接缓冲池对应的数据源,长连接会话连接工厂连上第二数据库连接缓冲池对应的数据源;
7、对短耗时会话连接工厂配置事务代理管理器,用以管理与短时连接方案对应事务;
8、对第一数据库连接缓冲池和第二数据库连接缓冲池分别创建数据库访问层的方法;
9、在服务层中将创建的数据库访问层的方法进行统一;
10、在业务层调用服务层中的进行统一后的方法,同时实现短时连接操作和长时连接操作。
11、在一种实施方式中,短时连接方案中最大活动时间设置为60秒,最大的存活时间设置为3分钟;长时连接方案中最大活动时间设置为2天,最大的存活时间设置为一周。
12、在一种实施方式中,对第一数据库连接缓冲池和第二数据库连接缓冲池分别配置对应的数据源包括:
13、对第一数据库连接缓冲池和第二数据库连接缓冲池的数据源,配置相同的数据库驱动参数、连接地址、数据库用户名以及数据库密码;
14、对第一数据库连接缓冲池和第二数据库连接缓冲池的数据源,配置不同的可分配的最大连接数。
15、在一种实施方式中,对第一数据库连接缓冲池和第二数据库连接缓冲池分别创建数据库访问层的方法,包括:
16、对第一数据库连接缓冲池创建短耗时公共业务操作对应的方法;
17、对第二数据库连接缓冲池创建长耗时公共业务操作对应的方法。
18、在一种实施方式中,在服务层中将创建的数据库访问层的方法进行统一,包括:
19、在服务层的方法中对短耗时公共业务处理对象和长连接公共业务处理对象的公共业务实体属性进行统一,以将创建的数据库访问层的方法进行统一。
20、基于同样的专利技术构思,本专利技术第二方面提供了一种同一数据库的并行使用装置,包括:
21、数据库连接缓冲池配置模块,用于在一个应用中针对同一个关系数据库,配置两个数据库连接缓冲池,两个数据库连接缓冲池包括第一数据库连接缓冲池和第二数据库连接缓冲池,其中,第一数据库连接缓冲池配置为毫秒级别的短时连接方案,第二数据库连接缓冲池配置为天级别的长时连接方案;
22、数据源配置模块,用于对第一数据库连接缓冲池和第二数据库连接缓冲池分别配置对应的数据源;
23、会话连接工厂创建模块,用于对第一数据库连接缓冲池创建短耗时会话连接工厂,对第二数据库连接缓冲池创建长连接会话连接工厂,对两个据库连接缓冲池配置相同的数据库表映射参数,其中,短耗时会话连接工厂连接第一数据库连接缓冲池对应的数据源,长连接会话连接工厂连上第二数据库连接缓冲池对应的数据源;
24、事务代理管理器配置模块,用于对短耗时会话连接工厂配置事务代理管理器,用以管理与短时连接方案对应事务;
25、数据库访问层方法创建模块,用于对第一数据库连接缓冲池和第二数据库连接缓冲池分别创建数据库访问层的方法;
26、方法统一模块,用于在服务层中将创建的数据库访问层的方法进行统一;
27、调用模块,用于在业务层调用服务层中的进行统一后的方法,同时实现短时连接操作和长时连接操作。
28、基于同样的专利技术构思,本专利技术第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
29、基于同样的专利技术构思,本专利技术第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现第一方面所述的方法。
30、相对于现有技术,本专利技术的优点和有益的技术效果如下:
31、本专利技术提供的同一数据库的并行使用方法,在一个应用中针对同一个关系数据库,配置两个数据库连接缓冲池,并配置对应的数据源,接着对第一数据库连接缓冲池和第二数据库连接缓冲池分别创建数据库访问层的方法;然后在服务层进行方法的统一,在业务层调用服务层中的进行统一后的方法,同时实现短时连接操作和长时连接操作。相对于现有技术需要两个应用来实现而言,本方案在一个应用中可以实现统一数据库的短时连接操作和长时连接操作,一方面降低了复杂度,另一方面提高了处理效率,在服务层面统一起来的service,两个不同的需求,只负责调用各自的近似同名的方法,即可完成同类操作,在不增加复杂程度的基础上,完成了各自的应用场景。此外,减少了应用的维护量以及错误率。
本文档来自技高网...【技术保护点】
1.一种同一数据库的并行使用方法,其特征在于,包括:
2.如权利要求1所述的同一数据库的并行使用方法,其特征在于,短时连接方案中最大活动时间设置为60秒,最大的存活时间设置为3分钟;长时连接方案中最大活动时间设置为2天,最大的存活时间设置为一周。
3.如权利要求1所述的同一数据库的并行使用方法,其特征在于,对第一数据库连接缓冲池和第二数据库连接缓冲池分别配置对应的数据源包括:
4.如权利要求1所述的同一数据库的并行使用方法,其特征在于,对第一数据库连接缓冲池和第二数据库连接缓冲池分别创建数据库访问层的方法,包括:
5.如权利要求1所述的同一数据库的并行使用方法,其特征在于,在服务层中将创建的数据库访问层的方法进行统一,包括:
6.一种同一数据库的并行使用装置,其特征在于,包括:
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至5任一项权利要求所述的方法。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
...【技术特征摘要】
1.一种同一数据库的并行使用方法,其特征在于,包括:
2.如权利要求1所述的同一数据库的并行使用方法,其特征在于,短时连接方案中最大活动时间设置为60秒,最大的存活时间设置为3分钟;长时连接方案中最大活动时间设置为2天,最大的存活时间设置为一周。
3.如权利要求1所述的同一数据库的并行使用方法,其特征在于,对第一数据库连接缓冲池和第二数据库连接缓冲池分别配置对应的数据源包括:
4.如权利要求1所述的同一数据库的并行使用方法,其特征在于,对第一数据库连接缓冲池和第二数据库连接缓冲池分别创建数据库...
【专利技术属性】
技术研发人员:袁磊,王承军,高梦婷,闫明珠,王颖,赵一琴,
申请(专利权)人:武汉大学人民医院湖北省人民医院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。