减少获取数据库连接及数据库操作的方法、计算机装置及计算机可读存储介质与流程

文档序号:36027660发布日期:2023-11-17 15:26阅读:23来源:国知局
减少获取数据库连接及数据库操作的方法与流程

本发明涉及数据库连接的,具体地,是一种在事务管理框架与数据库连接过程中的减少获取数据库连接及数据库操作的方法,还涉及实现该方法的计算机装置及计算机可读存储介质。


背景技术:

1、随着互联网技术的发展,企业的作业普遍采用线上方式进行,为了记录企业内部作业的大量数据,企业内部需要建立大量的数据库,在处理实际事务时,不同的事务操作通常需要对数据库进行访问,并对数据库的数据进行读写操作。现有的一些企业使用spring应用程序框架对各种事务与数据库之间的连接进行管理。

2、spring作为企业级应用程序框架,在不同的事务管理应用程序接口(api)之上定义了一个抽象层。应用程序开发人员对事务管理的应用程序进行开发时,不必了解底层的事务管理应用程序接口,就可以使用spring的事务管理机制,可以提升应用程序开发的效率。

3、通常,spring事务管理框架所产生的事务操作需要访问不同的数据库,为了方便数据库连接的统一管理,现有技术设置了数据库连接池,为事务管理框架与多个数据库之间提供连接管理。事务管理框架通过aop技术定义事务操作的管理边界,当一个事务操作开始执行时,会从数据库连接池借取具体的数据库连接,并且设置当前事务操作的连接状态,例如设定autocommit=false,当事务操作结束时,会执行提交(commit)或者回滚(rollback)的操作,在事务操作完成后,设置当前事务操作的连接状态autocommit=true,并且归还已经建立的连接。

4、然而,在现实编程时,应用程序开发人员为简化编码复杂度或者因为第三方子框架需要会在大部分核心业务逻辑层代码上标记事务边界,这些边界内有可能没有执行真实的业务数据库操作,也就是这些事务操作并不需要对数据库进行访问操作,例如仅仅更新当前事务操作的状态、设定当前事务的参数等。但是,由于现有的事务管理框架在接收到事务操作的请求后,将忠实地执行一系列高成本的事务操作应用程序接口连接操作,也就是不管当前的事务操作是否需要对数据库进行连接,都会建立与数据库的连接,这些操作会增加应用层的计算负载,且大部分是都落到数据库端执行,也增加了数据库的负载,最终影响事务操作的效率。


技术实现思路

1、本发明的第一目的是提供一种减少不必要的数据库连接操作的减少获取数据库连接及数据库操作的方法。

2、本发明的第二目的是提供一种实现上述减少获取数据库连接及数据库操作的方法的计算机装置。

3、本发明的第三目的是提供一种实现上述减少获取数据库连接及数据库操作的方法的计算机可读存储介质。

4、为实现本发明的第一目的,本发明提供的减少获取数据库连接及数据库操作的方法包括数据源代理模块获取事务管理框架发送的获取连接的请求信息;并且,数据源代理模块根据该请求信息创建虚拟数据库连接对象;虚拟数据库连接对象将真实数据库连接对象设置为空;虚拟数据库连接对象接收到事务操作的请求后,判断当前的事务操作是否为业务核心操作,如是,则创建真实数据库连接对象,如不是,进一步判断真实数据库连接对象是否为空,如真实数据库连接对象为空,则执行空操作。

5、由上述方案可见,数据源代理模块获取事务管理框架发送的获取连接的请求信息后,并不是直接创建真实数据库连接对象,而是创建一个虚拟数据库连接对象,如果当前的事务操作不是业务核心操作,则执行空操作,也就是不执行真实的建立数据库连接的操作,这样可以避免频繁的与数据库建立连接,减小数据库的负载,从而提升整体的事务操作的效率。

6、一个优选的方案是,虚拟数据库连接对象判断当前的事务操作不是业务核心操作,且真实数据库连接对象不为空,则调用真实数据库连接对象的相应指令。

7、由此可见,如果真实数据库连接对象不为空,表示当前已经建立了真实连接实例,直接调用真实数据库连接对象的相应指令,可以确保返回的数据的有效性。

8、进一步的方案是,虚拟数据库连接对象确认当前的事务操作为提交、回滚或者关闭操作时,确认当前事务操作不为业务核心操作。

9、由于提交、回滚或者关闭操作并不需要对业务数据库自身存储的数据进行操作,因此,在处理提交、回滚或者关闭操作时,不会被认定为业务核心操作。

10、更进一步的方案是,虚拟数据库连接对象确认事务管理框架当前执行的操作为业务核心操作后,创建真实数据库连接对象前,执行:判断真实数据库连接对象是否为空,如果为空,则从数据库连接池获取真实的连接实例,创建真实数据库连接对象后,执行真实的操作。

11、可见,一旦当前的事务操作需要对业务数据库进行实际操作,例如对数据库的数据进行读写操作,则从数据库连接池获取真实的连接实例,进而可以执行真实的操作,确保返回数据的真实性。

12、一个优选的方案是,从数据库连接池获取真实的连接实例后,还执行:将该真实的连接实例设定为真实数据库连接对象,并且设置真实数据库连接对象的属性。

13、由此可见,一旦获取了真实的连接实例,则直接建立真实数据库连接对象,这样在后续的操作时可以直接使用该真实数据库连接对象进行操作。

14、优选的方案是,设置真实数据库连接对象的属性后,虚拟数据库连接对象暂存所设定的属性。

15、这样,后续事务管理框架查询真实数据库连接对象的属性时,虚拟数据库连接对象可以直接返回暂存的真实数据库连接对象的属性,避免需要从真实数据库连接对象中获取,提高返回真实数据库连接对象的属性的效率。

16、进一步的方案是,数据源代理模块创建虚拟数据库连接对象后,如事务管理框架设置真实数据库连接对象的状态,则由虚拟数据库连接对象执行状态设置的操作。

17、这样,虚拟数据库连接对象可以完成真实数据库连接对象的状态设置操作,并且记录当前的状态,以便于后续事务管理框架查询该真实数据库连接对象的状态时,能够快速的返回状态信息。

18、更进一步的方案是,数据源代理模块创建虚拟数据库连接对象后,如事务管理框架查询真实数据库连接对象的状态,则由虚拟数据库连接对象返回状态信息。

19、这样,可以由虚拟数据库连接对象快速的返回真实数据库连接对象的状态。

20、为实现上述的第二目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述减少获取数据库连接及数据库操作的方法的各个步骤。

21、为实现上述的第三目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述减少获取数据库连接及数据库操作的方法的各个步骤。



技术特征:

1.减少获取数据库连接及数据库操作的方法,包括:

2.根据权利要求1所述的减少获取数据库连接及数据库操作的方法,其特征在于:

3.根据权利要求2所述的减少获取数据库连接及数据库操作的方法,其特征在于:

4.根据权利要求1至3任一项所述的减少获取数据库连接及数据库操作的方法,其特征在于:

5.根据权利要求4所述的减少获取数据库连接及数据库操作的方法,其特征在于:

6.根据权利要求5所述的减少获取数据库连接及数据库操作的方法,其特征在于:

7.根据权利要求1至3任一项所述的减少获取数据库连接及数据库操作的方法,其特征在于:

8.根据权利要求1至3任一项所述的减少获取数据库连接及数据库操作的方法,其特征在于:

9.计算机装置,其特征在于,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述减少获取数据库连接及数据库操作的方法的各个步骤。

10.计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述减少获取数据库连接及数据库操作的方法的各个步骤。


技术总结
本发明提供一种减少获取数据库连接及数据库操作的方法、计算机装置及计算机可读存储介质,该方法包括数据源代理模块获取事务管理框架发送的获取连接的请求信息;并且,数据源代理模块根据该请求信息创建虚拟数据库连接对象;虚拟数据库连接对象创建真实数据库连接对象,并且将真实数据库连接对象设置为空;虚拟数据库连接对象判断当前的事务操作是否为业务核心操作,如不是,进一步判断真实数据库连接对象是否为空,如真实数据库连接对象为空,则执行空操作。本发明还提供实现上述方法的计算机装置及计算机可读存储介质。本发明能减少事务管理框架频繁的对业务数据库进行无意义或者无效的访问,减小业务数据库的负载。

技术研发人员:罗建光,张科文,向万红,周浩源
受保护的技术使用者:远光软件股份有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1