连接池技术研究及其在科学数据库上的应用.pdfVIP

连接池技术研究及其在科学数据库上的应用.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
连接池技术研究及其在科学数据库上的应用 沈志宏周 宁王龙潇 (中国科学院计算机网络信息中心,北京100080) 摘要本文详细介绍了连接池技术的概念及其具体实现,并通过简单的实例 介绍连接池的应用。最后,本文详细地分析了笔者实现的连接池的主要技术特 点。 ’ 关键词数据库连接池LDAPIMAP ’ 一、 连接池的概念 顾名思义,连接池(CognitionP001)就是一块特殊的内存区域,用以存储一些连接(例 如数据库连接)的对象。连接池的概念,应从数据库连接池(DBP001)说起。 (1)数据库连接池 一般情况下,在使用开发基于数据库的Web程序时,传统的模式基本是按以下步骤: 1)在主程序(如Servlet、Beans)中建立数据库连接; 2)执行SQL操作; 3)断开数据库连接。 使用这种模式开发,存在很多问题: 首先,我们要为每一次Web请求(例如查看某一篇文章的内容)建立一次数据库连 接,对于一次或几次操作来讲,或许你觉察不到系统的开销,但是,对于大型Web应用 来讲,即使在某一较短的时间段内,其操作请求数也远远不足一两次,而足数十上百次, 在这种情况下,系统开销足相当大的。事实上,在一个基于数据库的Web系统中,建立 数据库连接将是系统中代价最大的操作之一,网站速度的瓶颈常常就在于此。 其次,使用传统的模式,你必须去管理每一个连接,确保它们能被正确关闭,如果出 现程序异常或其它原因而导致某些连接未能关闭,将导致数据库系统中的内存泄露,最终 将不得不重启数据库。 闭,以后程序一直使用它,这样就不存在每次创建、关闭连接的问题了。但是,同一个连 Server的频频重启。故而, 接使用次数过多,将会导致连接的不稳定,进而会导致Web 这种方法也不可取。 实际上,我们可以使用连接池技术来解决上述问题。连接池最基本的思想就足预先建 立一些连接放置于内存对象中以备使用。以下是连接池的概念原理图: 如图l所示,当需要数据库连接时,只需从内存中取出一个预先已建立的连接 设置连接池的参数来控制连接池中的连接数、每个连接的最大使用次数等等。通过使用连 接池,将大大提高程序效率,同时,我们可以通过其自身的管理机制来监视数据库连接的 ·184· 数量、使用情况等。 图l连接池的概念募理蹰 (2)连棱酒 除了数据库连接池,连接池机制可以推广到所有应用到连接的场合,按照连接类型, 常用的连接池靓括有: 1)数据霹连接池DBPool 2)Ldap连接池LdapPool 3)lmap连接池ImapPool (3)连接酒的意义 由连接池的概念可以看出,实现连接池具有以下的蘑要意义: 1)节省创建连接的时间,减轻服务器魄工作负荷。创建连接不仅要开销一定的通讯 和海存资源,还必须完成用户验证、安全环境配置这类任务,因而往往成为最为耗时的操 作。引入连接池机制,应用只需在起始时间一次性建立所有连接,丽且不同页面请求能够 共享网一连接,系统的性能就§}获搿显著的改善; 和关闭,从而有效地避免了连接数目增多、内存泄露的问题。 二、遴接池的实现 基于对连接池机制的研究,笔者已完成对连接池的实现,并在此基础上成功地实现了 对一贱常用的服务(Server)类的封装。 (1)系统榧架 连接池的系统框架层次如图2所示。 ·185· 图2连接池系统框架层次图 由图2可以看出,系统框架大致分成3个层次: DBPool、LdapPool、ImapPool皆为Pool类的子类; 连接池的创建、销毁、启动和关闭等等; 类的子类。此外,笔者还在DB类的基础上实现了具

文档评论(0)

聚文惠 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档