学位论文 > 优秀研究生学位论文题录展示

数据缓存实现快速数据访问的设计

作 者: 关海生
导 师: 赵建军;王治
学 校: 上海交通大学
专 业: 软件工程
关键词: 缓存 API 集群 负载均衡
分类号: TP309
类 型: 硕士论文
年 份: 2012年
下 载: 90次
引 用: 0次
阅 读: 论文下载
 

内容摘要


快速高效的数据访问能力是应用系统一直追求的目标之一。在企业级应用系统中,面对处理海量数据,如果能够获得更快更强的数量处理能力,将为企业在激烈的市场竞争中占得先机。目前提高数据访问能力的方法很多,包括提高硬件能力,购买更加强劲的设备、开发性能出众的软件等。然而,无论是强劲的处理器还是高性能软件,他们都用到一项关键技术:缓存。在计算机科学领域,缓存技术的使用由来已久。缓存技术可以理解为一种提供临时数据存储的技术。通过一定的设计方法,该技术将一部分数据存储在独立空间中。系统从独立空间中获取数据访问者关心的数据,提供比直接访问目标数据源更加高效快速的数据访问性能。作为数据访问者,可以不用关注目标数据的具体获取方法和背后的访问逻辑,做到既能透明访问又能获取良好的访问性能。同时缓存技术也有利于系统本身的可扩展性。基于这些优点,合理应用缓存技术可以帮助系统提升应用性能。另外,缓存技术本质上是基于硬件的技术,但一般的企业级应用系统不会直接操作硬件实现系统目标。因此,基于硬件的缓存技术不是本文的研究目标。本文研究了一种软件实现的数据缓存框架,并以此为缓存实现的核心技术,尝试构建一套软硬件结合的应用解决方案。该方案将数据缓存作为一种服务,提供给应用系统中其他模块使用,并通过集成硬件设备,横向扩展数据缓存的使用范围,提高数据缓存的使用效率。这套方案的应用和推广,可以满足系统对数据访问的性能要求,并降低类似应用系统的设计难度和节省设计成本。本文在设计时使用了几个关键技术:SSH(Struts、Spring、Hibernate)应用框架、Ehcache缓存框架、缓存实现的API接口、负载均衡器。SSH是目前比较流行的基于Java实现的应用程序框架,具有良好的实践性。它是本文所研究的应用系统的载体,缓存服务作为应用系统的一项服务组件,将通过SSH框架发挥作用。Ehcache是目前应用广泛的缓存框架,它本身提供的接口简单明确,并具有快速、简单、低消耗、依赖性小、扩展性强等特点,基本涵盖了应用层缓存的全部功能。鉴于应用背景的特点,本文还设计了一套基于Ehcache实现的缓存框架并介绍了API接口,并且将这些接口分为两个应用层面,即单实例环境下使用缓存和集群环境下使用缓存。另外,为了配合集群环境下缓存的应用,本文还介绍了负载均衡器技术,作为对缓存技术应用的扩展和辅助,构成完整的应用解决方案。本文构建的缓存组件可以独立封装成jar包便于复用,结合应用框架,可以降低系统功能扩展时的开发成本。由于采用支持集群上的缓存应用和负载均衡技术,系统能够随着网络规模和密度的不断增长而很好地进行扩展。在企业实际应用中测试性能良好,为企业级应用软件的数据访问性能提升提供了一条途径。

全文目录


摘要  3-5
ABSTRACT  5-9
1 绪论  9-14
  1.1 研究背景与意义  9
  1.2 国内外研究现状  9-12
    1.2.1 基于硬件的缓存技术  9-11
    1.2.2 基于软件的缓存技术  11-12
  1.3 研究内容  12
  1.4 论文结构安排  12-13
  1.5 本章小结  13-14
2 需求分析和关键技术  14-23
  2.1 需求分析  14-15
  2.2 关键技术  15-20
    2.2.1 应用层的第一级缓存和第二级缓存  15-16
    2.2.2 Java 实现的缓存框架  16
    2.2.3 缓存的替换算法  16-17
    2.2.4 集群技术  17-18
    2.2.5 负载均衡技术  18-20
  2.3 关键系统和软件  20-22
    2.3.1 Ehcache  20-21
    2.3.2 F5 负载均衡器  21-22
  2.4 本章小结  22-23
3 基于缓存技术解决方案的总体设计  23-36
  3.1 系统描述  23
  3.2 体系设计  23-27
    3.2.1 架构决策的业务前提条件  24-26
    3.2.2 总体架构决策  26-27
  3.3 系统架构设计  27-33
    3.3.1 逻辑架构  27-28
    3.3.2 物理架构  28
    3.3.3 应用架构  28-33
  3.4 模块和组件设计  33-34
  3.5 本章小结  34-36
4 缓存服务组件的实现  36-53
  4.1 实现缓存服务组件  36-46
    4.1.1 缓存服务组件的分析  36-40
    4.1.2 缓存服务组件的事件流  40
    4.1.3 缓存服务组件的详细设计  40-41
    4.1.4 缓存服务组件的实现类介绍  41-46
  4.2 实现缓存算法  46-48
  4.3 应用Ehcache 缓存框架  48-51
  4.4 应用F5 负载均衡器  51-52
  4.5 本章小结  52-53
5 测试与验证  53-64
  5.1 性能测试的目的  53
  5.2 性能测试评估方法  53-54
  5.3 性能测试工具  54
  5.4 设计性能测试用例  54-55
  5.5 性能测试执行情况  55-62
    5.5.1 未启用缓存  55-58
    5.5.2 启用缓存服务  58-62
  5.6 性能测试结果分析  62-63
  5.7 本章小结  63-64
6 总结与展望  64-66
  6.1 本文总结  64
  6.2 工作展望  64-66
7 附录  66-69
  附录1  66-67
  附录2  67
  附录3  67-69
参考文献  69-71
致谢  71-72
作者攻读学位期间发表的论文  72-75

相似论文

  1. CMOS星敏感器图像采集系统研究,V448.2
  2. DMR集群系统高层协议的设计和研究,TN929.52
  3. 新型抗抑郁药物DPI-289以及API-121的合成研究,R914
  4. 可靠组播协议及其缓存管理研究,TP393.04
  5. 随机路由在无线传感器网络中的研究与应用,TN929.5
  6. 科学发展观视阈下的湖北省白酒产业集群发展研究,F426.82
  7. 高校教务管理网上选课系统优化研究,TP393.09
  8. 肩离断多自由度机器人型假肢的设计与仿真,TP242
  9. 产业集群模式对促进服装自主品牌的作用研究,F273.2
  10. 跨国公司主导型产业集群的均衡分析,F224
  11. 产业集群中的技术创新网络研究,F062.9
  12. 基于实际用户行为分析的缓存研究,TP301.6
  13. 安徽升金湖国家级自然保护区白额雁(Anseralbifrons)数量分布,觅食行为和食性变化研究,Q958
  14. OLAP查询优化的研究与实现,TP311.13
  15. 嵌入式处理器取指单元关键部件低功耗技术研究,TP332
  16. 一种提高固态硬盘随机写性能的cache策略,TP333
  17. 达梦数据库数据字典设计与实现,TP311.13
  18. 达梦嵌入式数据库的执行计划缓存研究,TP311.13
  19. Java卡性能优化技术研究,TN409
  20. TD-SCDMA集群系统多用户检测技术的研究,TN929.533
  21. 基于路预测访问的低功耗高速缓存设计研究,TP333

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密
© 2012 www.xueweilunwen.com