数据库连接池概况与关键部分-数据库理论论文-计算机论文
——文章均为WORD文档,下载后可直接编辑使用亦可打印——一、数据库连接池基本概念及工作原理
数据库连接池作为一种将链接作为资源管理的实体,此资源就是数据库的连接。连接池的基本思想就是预先设立一部分放置于内存中的固定对象以备使用。而建立一个数据库连接池,就可将链接发过去进行查询,从而来获取结果。一个链接在生命周期内所能处理的查询数据是没有限制的,通过采用连接池结束,只需从内存中取得而不用反复的建立。在内存中,连接池可对链接进行管理,使其利用率提高。
连接池一般使用过程主要有四个部分:
字符串常量池和运行时常量池的联系1、发送连接请求:连接池将按照发送请求的顺序进行排序,并一对一的对其配置给他们链接的处理对象。连接池最大的优势在于可以允许多个链接同时发送申请,而连接池可以对其进行判断。
2、对发送进行连接处理:连接池可以对列表中的使用和空闲的部分
进行维护,连接池从其中空闲的部分取出链接后归还链接之前,放回使用池,使整个连接池利用率最大化。
3、取出链接环节:连接池按照上一步的操作将空闲部分的链接取出。
4、回收链接环节:当请求模块使用完毕时,将链接返回到空闲池。模块登记链接后,链接就从使用列表中去除并自动回到列表中等待新的请求。
二、数据库连接池技术关键部分
1、连接池配置:数据库连接池需要多少数量的链接这是关键所在,如放少了则整个循环受到影响,多了则浪费内存资源。配置的策略为:首先要根据硬件系统的配及软件环境的应用请求而定,最先配置出一个连接池的数量及最大配置量的链接数量,从而来判断合适的连接数。
2、并发控制:在有很多数量的线程对共享资源进行同时访问,则要考虑到线程之间的同步问题,来确保不会在访问过程中出现逻辑性错误。共享资源则为连接池,而要改变连接池的属性就要对其进行同步化处理。
3、定时检测:在连接池自我管理的过程中,通过定时地对每个链接
对象的状态和连接的数量来判断完成的。管理者可以设置连接池的参数来管理连接池中的连接最大使用次数及最大空闲时间,以此来约束连接池。
4、复式连接:此种模式在复用链接中较为常见,每个数据库连接都保留其引用的数量,以此来记录连接使用者的数量。具体而言,就是采用了使用池和空闲池的技术,空闲池中的链接被分配出去之后,就
可以采取复用来计算最小的链接方法。
三、数据库访问的过程
用户由ServletBeans执行数据库的访问,调用连接池类ConnectionPool 的addTask()方法,addTask()执行过程为:
⑴调用ThreadPool线程中的getRequesterID()以此来得到任务申请。
⑴实例化查询任务QueryTask对象。
⑴调用ThreadPool线程池类的addTask()将查询任务对象添加到线程池中。
⑴调用ThreadPool线程池类addTAskListener()添加任务完成时间监
听,过程结束后返回用户处。
监听者通过调用查询信息类SQLInformation对象的getResult()的方法得到查询数据,保存在DbInterface类中,用户通过调用DBInterface 类的getQueryResult()方法得到查询结果。DbInterface类的用法如下:
⑴建立类对象。调用构造函数DBInterface,其中dbCon为连接池对象,log为日志对象,thteadPool为线程池对象。
⑴执行SQl语句。调用DBInterface的方法,DBInterface将自动SQL添加到线程中,执行完SQL线程语句将结果和异常传递给DBInterface 类。
⑴调用DBInterface的方法getQueryResult()和hasNextQueryResult ()得到查询结果。
⑴如运行出现异常,通过DBInterface的方法getQueryResult()和hasNextQueryResult()得到异常情况。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论