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