基于池化技术的分布式数据缓存模型研究与实现
发布时间:2020-03-20 23:42
【摘要】: 分布式技术的普遍应用,使传统的Web系统面临越来越大的挑战。客户端大量的并发请求导致服务器负载过重,业务逻辑和事务处理都受到影响。其中,并发访问情况下,响应速度慢和数据利用率低的问题大大制约了Web系统性能。 在客户端和服务器之间加入中间层可解决上述问题,本文的中间层包括线程池、数据库连接池和分布式数据缓存三部分,与客户端和服务器组建成分布式池化数据缓存模型(DPDCM)。本模型的主要功能是用线程池处理客户端请求的业务逻辑,用连接池来优化数据库连接,用分布式缓存提高数据利用率。 主要改进工作包含下面三部分: 第一,针对用户并发的访问控制,本文采用多线程的并发控制技术设计线程池,通过对池中线程数量的动态优化调整来提升线程池性能,使其能处理更多并发请求;第二,针对频繁的数据库连接请求,文中的数据库连接池采取两种不同的复用连接策略,并建立具有延迟释放功能的应急池,以应对某段时间内的高并发请求连接的情况;第三,针对大量的相近数据访问,本文采用与传统数据缓存不同的分布式缓存方法,设计了DPDCM的缓存对象结构,改进了缓存替换算法和一致性维护策略,采用LRU-M替换算法和TTL与服务端失效模式相结合的一致性维护策略管理缓存,并对相关的技术进行了理论分析。 本文将DPDCM应用到实际的社区论坛开发中,介绍了池化技术和分布式数据缓存的具体实现方法,最后对模型及其使用的技术进行了应用场景的设计和测试。实验表明,改进后的分布式池化数据缓存系统缩短了平均响应时间并提高了数据缓存命中率,本文解决方案比传统方法更适合如今的Web系统。
【图文】:
有可能造成资源耗尽。改进线程池大小动态调整算法,方法是在增加线程前,预先判断是否达到最大线程数量,若达到最大线程数量,则不用再增加线程数;否则,,继续增加新线程。流程如图3一3所示。设设置当前 AITTT线线程数量增加加 线线线线线线线线 线线程数量增加加线线程数量增加加 加加加加加加加加线线程数量减小 小 线线程数设为最小值值 线线程数调整到Poolsi跳大小 小 早 早前AIT=先前 AITTT先 先前AIT=当前 AITTT先先前线程教橄印加Is泳 泳 图3一3动态调整优化算法流程图线程池大小根据改进后的动态调整算法对线程数量进行调整,以实现线程池的动态性能优化。中间层服务器启动时创建固定大小的线程池,把其中的线程标记为基本线程,此后系统中被创建的线程都将被标记为扩展线程。当请求到来时如果线程池仍然有空闲线程,则选择一个空闲线程并将任务交给它处理,否则就创建一个新的扩展线程放入线程池中,并将任务交给它处理;定时用改进的线程池大小动态调整算法对线程池中线程数量进行调整。
用户与权限管理和版区管理功能是高级管理员进入后台管理中才能设置,如图4一5所示。用户与权限管理,分为4个部分。权限列表列出了一些权限名称对应的资源和Action,如图4一6所示,t匕如全文搜索权限对应的资源是“/search”,对应的Aetion是“*”;角色管理可以修改或者删除一些角色,比如版主角色,隐身版主,后台可管理版区角色等;用户组管理可以修改或者删除一些用户组,比如游客/未注册用户,注册用户,待验证用户等等;用户管理可根据用户的ID和用户名进行查询。头像设置权限/userFaceindex,uPPage』uP一delme查著用户头像权卜食/userFacesh0Wf曰Ce修改个人详细资料权限/userDet曰ilset进入社区首页权限察看用户资料权限 /userlnfo查看在线用户权限/online全文搜索权限/seareh修改密码权限/ePa“wd图4一6用户权限管理页面4.2.3版区管理模块版区管理功能只有高级管理员进入后台管理中才能设置
【学位授予单位】:苏州大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP332
【图文】:
有可能造成资源耗尽。改进线程池大小动态调整算法,方法是在增加线程前,预先判断是否达到最大线程数量,若达到最大线程数量,则不用再增加线程数;否则,,继续增加新线程。流程如图3一3所示。设设置当前 AITTT线线程数量增加加 线线线线线线线线 线线程数量增加加线线程数量增加加 加加加加加加加加线线程数量减小 小 线线程数设为最小值值 线线程数调整到Poolsi跳大小 小 早 早前AIT=先前 AITTT先 先前AIT=当前 AITTT先先前线程教橄印加Is泳 泳 图3一3动态调整优化算法流程图线程池大小根据改进后的动态调整算法对线程数量进行调整,以实现线程池的动态性能优化。中间层服务器启动时创建固定大小的线程池,把其中的线程标记为基本线程,此后系统中被创建的线程都将被标记为扩展线程。当请求到来时如果线程池仍然有空闲线程,则选择一个空闲线程并将任务交给它处理,否则就创建一个新的扩展线程放入线程池中,并将任务交给它处理;定时用改进的线程池大小动态调整算法对线程池中线程数量进行调整。
用户与权限管理和版区管理功能是高级管理员进入后台管理中才能设置,如图4一5所示。用户与权限管理,分为4个部分。权限列表列出了一些权限名称对应的资源和Action,如图4一6所示,t匕如全文搜索权限对应的资源是“/search”,对应的Aetion是“*”;角色管理可以修改或者删除一些角色,比如版主角色,隐身版主,后台可管理版区角色等;用户组管理可以修改或者删除一些用户组,比如游客/未注册用户,注册用户,待验证用户等等;用户管理可根据用户的ID和用户名进行查询。头像设置权限/userFaceindex,uPPage』uP一delme查著用户头像权卜食/userFacesh0Wf曰Ce修改个人详细资料权限/userDet曰ilset进入社区首页权限察看用户资料权限 /userlnfo查看在线用户权限/online全文搜索权限/seareh修改密码权限/ePa“wd图4一6用户权限管理页面4.2.3版区管理模块版区管理功能只有高级管理员进入后台管理中才能设置
【学位授予单位】:苏州大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP332
【引证文献】
相关硕士学位论文 前5条
1 林瑞锋;互联网服务社区中服务资源的调用技术研究[D];山东科技大学;2010年
2 王s
本文编号:2592375
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2592375.html