是否有专门下系统的网站解决CS结构的数据库连接池系统

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
实现高效的数据库连接池(附带完整代码C_和Java实现)
下载积分:600
内容提示:实现高效的数据库连接池(附带完整代码C_和Java实现)
文档格式:DOC|
浏览次数:30|
上传日期: 14:09:11|
文档星级:
该用户还上传了这些文档
实现高效的数据库连接池(附带完整代码C_和Java实现)
官方公共微信基于数据库连接池的数据库访问性能对比测试研究_论文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
您可以上传图片描述问题
联系电话:
请填写真实有效的信息,以便工作人员联系您,我们为您严格保密。
基于数据库连接池的数据库访问性能对比测试研究
||文档简介
中国最大最早的专业内容网站|
总评分0.0|
&&一​般​认​为​,​数​据​库​访​问​中​采​用​连​接​池​技​术​在​并​发​性​能​的​处​理​上​以​及​用​户​时​延​的​等​待​上​都​有​很​大​优​势​。​但​使​用​连​接​池​到​底​在​数​据​库​访​问​性​能​上​有​什​么​样​提​高​,​缺​乏​数​据​上​的​支​持​。​通​过​三​种​不​同​的​数​据​库​访​问​模​式​下​的​性​能​对​比​测​试​,​对​基​于​连​接​池​的​数​据​库​访​问​性​能​的​提​高​给​出​一​个​定​量​的​数​据​,​该​测​试​对​于​数​据​库​访​问​的​性​能​提​高​有​重​要​参​考​价​值​。
试读已结束,如果需要继续阅读或下载,敬请购买
你可能喜欢2662人阅读
Delphi(29)
1.连接池基类THL_RTC_DBPool,可以在这个类基础上继承实现具体数据库的连接池
unit THighlander_rtcDatabaseP
// RTC SDK Test proyect
// freeware
// Font used in Delphi IDE = Fixedsys
Database parameters:
Set before first call to AddDBConn or GetDBConn.
Put a database connection back into the pool.
Need to call this after you抮e done using the connection.
GetDBConn = Get database connection from the pool.
Need to call this after you抮e done using the connection.
CloseAllDBConns = Close all connections inside the Pool.
// From CodeGear
Classes, SysUtils,
// From RealThinClient
THL_RTC_DBPool = class
: TRtcCritS
fDBPool : TL
InternalGetDBConn : TC
GetCount :
procedure InternalPutDBConn(conn : TComponent );
db_username :
db_password :
property Count : integer read GetC
constructor C
destructor
CloseAllDBC
implementation
constructor THL_RTC_DBPool.C
inherited C
:= TRtcCritSec.C
fDBPool := TList.C
Function THL_RTC_DBPool.GetCount :
result := fDBPool.C
destructor THL_RTC_DBPool.D
CloseAllDBC
procedure THL_RTC_DBPool.AddDBC
fDBPool.Add(SetUpDB);
Function THL_RTC_DBPool.InternalGetDBConn : TC
if fDBPool.Count & 0 then
Result := fDBPool.items[fDBPool.Count-1];
fDBPool.Delete(fDBPool.Count-1);
procedure THL_RTC_DBPool.InternalPutDBConn(conn : tcomponent) ;
fDBPool.Add(conn);
procedure THL_RTC_DBPool.CloseAllDBC
for i := 0 to fDBPool.count - 1 do begin
dbx := fDBPool.items[i];
FreeAndNil(dbx);
2.在THL_RTC_DBPool上继承生成THL_RTC_IBXDBPoll连接池
unit THighlander_rtcIBXDatabaseP
// RTC SDK Test proyect
// freeware
// Font used in Delphi IDE = Fixedsys
// From CodeGear
Classes, SysUtils,
// Classes and Components for accessing Interbase from Codegear
IBDatabase,
// From RealThinClient
rtcSyncObjs,
// Dennis Ortiz rtc DBP
THighlander_rtcDatabaseP
type THL_RTC_IBXDBPoll = class(THL_RTC_DBPool)
function SetUpDB : TC
GetDBConn : TIBD
procedure PutDBConn(conn : TIBDatabase);
implementation
function THL_RTC_IBXDBPoll.SetUpDB : T
var pIBXTrans : TIBT
Result := TIBDatabase.Create(nil);
tIBDatabase(result).DatabaseName := db_
tIBDatabase(result).LoginPrompt
pIBXTrans := TIBTransaction.Create(tIBDatabase(result));
pIBXTrans.Params.C
pIbxTrans.Params.Add('read_committed');
pIbxTrans.Params.Add('rec_version');
pIbxTrans.Params.Add('nowait');
tIBDatabase(result).DefaultTransaction := pIBXT
tIBDatabase(result).Params.C
tIBDatabase(result).Params.add('user_name='+db_UserName);
tIBDatabase(result).Params.add('password='+db_Password);
tIBDatabase(result).O
FreeAndNil(Result);
function THL_RTC_IBXDBPoll.GetDBConn : TIBD
result := TIBDatabase(InternalGetDBConn);
if Result = nil then begin
Result := TIBDatabase(SetupDB);
end else if not Result.Connected
then begin
Result := TIBDatabase(SetupDB);
procedure THL_RTC_IBXDBPoll.PutDBConn(conn : tIBDatabase);
if conn is tIBDatabase then InternalPutDBConn(conn);
源码来自:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:124066次
积分:1720
积分:1720
排名:第15767名
原创:37篇
转载:22篇
评论:41条
(1)(1)(1)(1)(2)(3)(1)(4)(1)(4)(5)(2)(3)(1)(1)(1)(1)(3)(1)(1)(1)(1)(1)(1)(2)(1)(1)(2)(8)(1)(4)(1)电子商务在线 - 利用B/S三层架构开发服务工作系统
当前位置: & 技术应用
利用B/S三层架构开发服务工作系统
作者:王继荣 阅读次数:654
摘要:本文就公司对于某品牌计算机产品的第三方综合服务管理系统(TCSMIS)的系统设计工作,采用JAVA&EE技术和ORACLE数据库,以ECLIPSE开发工具完成了系统创建。系统按计划完成并投产之后,运行稳定,达到了预期目标,取得了良好的使用效果。结合作者实践,主要讨论了系统开发中的(开发工具的选择、构件复用、网络安全等)内容,并介绍了如何利用开源工具和数据库优化技术解决开发中所遇到的问题。
关键字:第三方综合服务管理系统(TCSMIS)&&BPS&&java&&ajax
随着我国经济社会的高速发展,人民生活水平的不断提高,如今电脑已成为了家庭中不可获缺的家用电器。并且随着工厂、企业、政府管理、生产现代化、自动化的需要,各项信息系统大量投产,计算机的使用量快速增长,面对不断增长的需求,各计算机厂商也展开了激烈的竞争,以往单纯的销售模式早已过时,为在竞争中占有一席之地,各厂商纷纷主打服务牌,以优质完善的服务提升品牌形象,促进销量增长。第三方服务公司如雨后春笋般的成长起来,而如何对现有服务资源的进行有效管理,提高服务工作效率从而达到改善服务工作水平,提高客户满意度更显得至关重要,实现服务工作的信息化管理无疑是达到这一目的有效途径,第三方综合服务管理系统(TCSMIS)就是在这种情况下应运而生的。&
系统对外通过互联网接收厂家下发的客户报修数据,根据客户联系方式、所在地点以及故障状态安排工程师进行服务,之后修改相应信息,提交服务结果,对内实现人员以及信息管理。系统主要包括工作派发模块实现服务工作的下发领受功能;服务统计模块实现按工程师、服务种类、地域级别进行服务工作量的统计和查询;单量核对模块实现以月、年为时间单位与厂家结算服务费用;备件管理模块实现领还备件、备件库存、备件转移的管理;内部管理模块实现工作考核、劳资管理等。系统要具有应用扩展能力,以便为日后的软硬件扩展和移植留有余地。
由于该第三方公司原本已经具有内部的OA办公系统,为有效集成现有资源节约开发成本,根据系统内外有别、查询有别的工作特征,经过分析认证我认为应采用BPS与CS混合结构方式,对内采用CS架构进行工作管理,对外采用BPS结构实现外部功能。
确定了架构接下来要确定的系统开发平台无疑在javaee和.net之间进行选择,我主要从以下几个方面进行了分析比较。
体系结构上二者都支持多层应用的开发,都非常适合开发企业应用平台,性能上不相上下。但由于第三方公司原有的oa系统多使用在windows系统之上,数据库采用sql2000,利用.net可以得到更好的效果和更低的开发成本并且可以更好的集成原有应用,实现新旧系统的无缝集成,相比较java技术要像略逊一筹。
从应用支持上java技术无论在表现层还是业务层能够利用的成熟应用技术众多,且支持跨平台应用,并且java应用的一次编译到处运行的特点是.net无法比拟的,考虑到系统日后的扩展移植需要,javaee无疑占了上风。
从成本效益方面考虑.net是微软公司的独家产品,使用.net意味着必须购买微软公司的相关工具和应用服务器,价格不菲,而javaee拥有广泛支持,有许多优秀的开源项目像本次选用的开发工具Eclipse就是一个免费并且成熟的开发工具。选用java技术可有效节约成本和提高开发效率。
综上所述,采用.net技术可以减少工作量,避免重复设计,而采用java技术可以节约成本,最重要的是可以支持日后系统的移植和扩展。基于此原因并且从数据库应用方面考虑,采用sqlserver可以集成并利用现有资源,从数据库稳定性、应用处理速度和应用环境多样性上oracle要更为强大,尤其对处理较大数据量和稳定性、安全性上有较好表现。若采用oracle数据库则面临着需要将原有的sqlserver数据进行数据迁移问题,但从长远考虑,为便于系统日后的扩展和移植我认为作出这点牺牲是值得的,并且客户原有oa系统系统数据量较少,考虑以上原因,我们最终选择了javaee技术和oracle数据库为系统开发环境。
在分层设计上,我利用struts2结合ajax技术构建表示层,Struts是众所周知的表示层构建技术,但传统的web应用由于每次应用的交互都要向服务器提交请求,并且传输前后的两个html代码往往是相同的部分较多,造成了带宽的浪费和延迟响应时间,ajax的利用可以在不更新整个页面的前提下维护数据,更为迅捷的回应客户动作。借助ajax,用户在单击按钮时,使用javascript的dhtml可以立即更新用户界面,并向服务器发送异步请求以执行更新查询数据库。经过实践我发现Ajax可以很容易地与Struts集成。仅仅通过简单地把请求发送到正确的URL,就可以调用任何Struts&action。可以使用Ajax请求访问Struts的验证模块和action,以及它们提供的各种特性。同时在Struts应用中只需添加重用现有功能的Action,就可以把Ajax式的交互添加到现有Struts应用中。通过这样的结合创建了反映迅速的客户界面。
在应用层和数据持久层,经过比较我们选择了ejb3.0技术,利用ejb的实体bean实现数据的持久化,之所以选择ejb3是因为ejb虽然属于重量级框架,但在大规模运行时会表现出非常优异的性能,而spring的特点是开发迅速,缺点是大规模运行时性能较低。在使用中发现weblogic虽然是市场占有率最高的商业应用服务器,但在ejb3领域的稳定性不如jboss,在读写数据时会发生一些莫名其妙的错误,经过研究我认为主要在jpa部分,weblogical采用openjpa,而openjpa相对hibernate和toplink产品来说还有一定差距。因此我最终选择了jboss作为系统的应用服务器。
在设计当中,我非常重视构件的设计和重用,通过对原有的oa系统分析我主要改造完成了以下构件
1、用户管理组件,完成身份认证功能并可根据用户名称确定用户类别,主要具有四个接口分别识别普通工程师、协调备管员、管理人员和超级用户。
2、数据库连接组件,完成数据库的连接任务,具有一个接口可根据参数识别oracle和SqlServer数据库并进行连接。
3、日志记录组件,完成具体系统操作过程的记录,具有一个接口,根据用户类别记录操作信息。
在系统开发过程中遇到了一些问题并我总结了一些解决办法。主要有:针对cs架构的固有弊病升级维护困难我充分利用了eclipse开发工具的rcp(胖客户端)技术重构了客户端,通过使用eclipse的feature和update组件在客户端构建自动升级模块,实现了客户端软件的自动升级功能。针对用户增多情况下数据库访问速度变慢的问题我主要结合jndi实现数据库连接池,有效提高系统效率;针对ajax技术造成的web页面不能后退,我主要采用建立一个隐藏的IFrAME技术来重现页面上的变更。
系统交付使用后经用户测试完全达到预定目的,但是我认为填报备件状态不仅增加了协调人员的工作强度而且造成工作量分布的不均衡。如果现场服务工程师能够利用移动通信技术,届时必将极大提高工作效率,减轻人员工作强度促进服务工作水平的提升。
作者单位:宁夏交通学校
《电子商务》杂志社版权所有 未经本刊书面同意请勿转载
Copyright &
all reserved. 京ICP备号-2第二章 分布式数据库系统体系结构_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第二章 分布式数据库系统体系结构
||文档简介
JAVA高级讲师|
总评分3.9|
浏览量13891
&&分​布​式​数​据​库​系​统​原​理​与​应​用​讲​义
大小:2.84MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 专门的网络操作系统 的文章

 

随机推荐