个“资源池”预先在这个资源池中放入一定数量的连接,,当系统应用需要访问数据库时,就从这个资源池中取得一个
空闲的连接,待对数据库的访问结束后,就释放连接到资源
池中。
图5mayehedol类结构图tlsTraPo输入参数:缓冲区引用scebfe、oktufr最大线程数MxheduaTraNm6.系统实现输出参数:无
本系统设计通过DCMngr模块实现后台数据库连BPaae
接池的实现和管理,然后使用CnetoMng模块连接oncinaae
客户程序,处理客户请求对从连接池中取出的单个数据库连接进行管理,包括获取和释放连接。
DCaae类的结构设计如图4所示:BPMngr
输入参数:无
输出参数:数据连接管理对象
l
,,
●?—tr:-●r-??●●!‘-:●tl-●rq
,,
,,
●●,I:●1I.”.●●■嵋.:1r●.M
●-,N:m ̄-ica4i●?一_-?l-:ltn_I
ii
’ld..o:h‘一.?-‘
◆—曩—l?_0一_:埘啊—
i
:言==;盏吉●:一‘i:=:=::。一‘一:
◆●一^?‘-0:瞄-???l_
图4 ̄
ngrae类结构图
以下为创建数据库连接池的核心代码:
piaeviraeBolrvtodcetDPo0
f
tyfls.oNm(bdie))acrasfraedrvr;cthC
Sse.u.rnl(法加载MSL驱动,ytmotpitn无yQ找
图6系统程序流程图
(lsNtonEcpine)CasoFudxetoxf
不到驱动程序!;)
Sse.xt1:ytmei())tyCnetoo=ulr(oncincnnl;
基于JvAA的类及包的设计思想,本系统设计了数据库
连接池管理包Dc,后台所有类的共同包Sre,公共包bpevrSae配置文件包Cni等四个包;hr,ofg对于本系统来讲,所将有类按照包结构放到同一目录下即可,本系统核心的类有系
frit=,<a—oncin;+)o(niOimxcnetosi+fo=)ieMngrgtoncindul,cnIvraae.eCneto(brr
_
dsr,bpw;bueds)
_
统主程序入口类MiCas后台分析部分主程序anls,Aayean数据库连接管理类CnetoMngr等等rnlsMi,oncinaae
其逻辑关系如图6所示。7.总结
cnvco.dEeetcn;)oetradlmn(o))acSLxetoxfcth(QEcpine)
Sse.u.rnl获取数据库连接出错!)ytmotpitn(;
Sse.xt1;)ytmei())
由于实际需求,要处理数据量非常的多,以需要服所所
52线程池模块设计.
务器有高效的处理能力和相应的容错机制。为提高服务器
处理速度和能力,在服务器端我们使用了线程池和数据库连
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在线程创建后自动启动这些任务。与连接池同时运用能明显提高对数据库操作的性能,尤其是当系统繁
忙时使用数据库时效果就更加明显。本系统利用
接池技术,使服务器拥有超过十万级的学生考勤信息包的处
理能力。
但是考虑到系统将来可能扩展到整个省数百万数量级