- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSP数据库连接池改进方案的分析研究
精品论文 参考文献
JSP数据库连接池改进方案的分析研究
1.侯 铭 2.张 毅(1.重庆大学软件学院;2.重庆电子工程职业学院)
【摘 要】在多层体系结构应用软件中,采用数据库连接池是提高数据库访问效率的主要途径之一。本文在分析了传统数据库连接池管理策略方面的不足后,提出了对传统数据库连接池的改进方案。经实验测试分析表明,改进后的数据库连接池可以大大减少系统的响应时间,降低系统资源的开销,从而提高系统的整体性能。
【关键词】数据库连接池;复用;事务处理;自适应
1.连接池的调度管理策略
1.1现有连接池调度策略的不足
现有连接池技术的参数配置及管理存在以下问题:① 连接池的参数配置策略大多是静态的,依据Config.xml参数配置表设置池参数,这些参数不能根据应用需求的变化而适时地调整数据库连接池的容量。②在系统运行时,客户请求数量的多少往往表现出类似于波峰和波谷的曲线,所以我们希望在系统允许的范围内,提供对连接池的自适应动态管理。而现有连接池运行中的资源调度管理策略还不能适应应用的动态需求。③缺少对连接池的管理机制。现有连接池可以完成用户验证、安全上下文配置等任务,但是如何保证连接池资源不释放给末授权用户使用?如何让关键性事务获得优先服务? 如何让客户应用主动获得对连接池的控制?现有数据库连接池无法解决。
1.2对现有连接池的改进方案
1.2.1连接复用方案
我们通过Reference Counting (引用记数)[2]实现数据库连接的复用。我们把该方法运用到连接的分配和释放上。对每一个数据库连接,保留一个引用记数,用来记录该连接使用者的个数。我们把连接池分为空闲池和工作池。空闲池中存放目前还没有分配出去的连接,一旦一个连接被分配出去,那么就会把该连接放入到工作池中,并且增加引用记数。这样做有一个很大的好处,使得我们可以高效的使用连接,因为一旦空闲池中的连接被全部分配出去,我们就可以根据相应的策略从工作池中挑选出一个正在使用的连接用来复用,而不是随意拿出一个连接去复用。策略可以根据需要去选择,我们采用的策略比较简单:复用引用记数最小的连接。
1.2.2事务处理方案
前面谈到的是普通的数据库访问,对于事务处理,情况就复杂得多。因为事务要求原子性的保证,此时就要求对于数据库的操作符合“ALL—ALL_Nothing”原则[6],即要么全部完成,要么什么都不做。
如果简单的采用上述的连接复用的策略,就会发生问题,因为没有办法控制属于同一个事务的多个数据库操作方法的动作,可能这些数据库操作是在多个连接上进行的,并且这些连接可能被其他非事务方法复用可以通过设置Conmction的AutoCommit属性为false,显式的调用commit或者roll—back方法来实现事务处理。但是要安全、高效的进行连接复用,就必须提供相应的事务支持机制,我们采用的方法是:采用显式的事务支撑方法,每一个事务独占一个连接。这种方法可以大大降低对于事务处理的复杂性,并且又不会妨碍连接的复用,因为隶属于该事务的所有数据库操作,都是通过这一个连接完成的,并且事务方法又复用了其他一些数据库方法。由连接管理服务提供了显式的事务开始、结束声明,以及一个事务注册表,用于登记操作事务的客户和使用连接的事务之间的对应关系,通过该表,将使用事务的客户和使用连接的事务隔离开。事务使用的连接在该事务运行中不能被复用。在我们的实现中,客户标识是通过使用者所在的线程来标识的。后面的所有对于数据库的访问都是通过查找该注册表,使用已经分配的连接来完成的。当事务结束时,从注册表中删除相应表项。
1.2.31自适应管理方案
采用基于XML配置表,使系统可以根据用户的不同应用需求来配置连接池参数;设置运行日志,在运行过程中能够根据日志来自适应地调整连接池配置参数;连接池调度算法采用类似工作集的策略,根据过去对资源的使用情况决定连接池的大小以及连接池中各连接的优先级;对用户实行优先级管理,高优先级的用户可以剥夺那些低优先级且可被剥夺的资源,尽可能保证高优先级的用户享受优先服务;对安全性要求较高的连接进行验证使用,由用户在配置中指定。通过这一系列的调整策略的实施,可以建立一个高效率、实用的自适应数据库连接池。
2.测试
为了与传统连接池比较,我们将改进后的连接池部署到WebLogic服务器上,同时在服务器上还安装了基于Web的应用程序供测试使用。我们使用JAVA设计了一个测试Web访问速度的工具,其作用是创建多线程访问指定的URL,并返回在指定访问量的情况下系??的响应时间。需指出的是,实际测试的
文档评论(0)