基于.NET的应用缓存系统的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:chung51
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着人们步入信息时代,人们的日常生活及工作已越来越离不开各种信息数据的处理。日益增长的信息存储量,庞大的用户查询次数,拥塞的网络都使得数据的查询和执行效率成为了一个瓶颈。作为一个软件产品,良好的运行性能已成为用户的潜在需求,如何减少网络带宽的浪费,如何解决服务器负载过大带来的问题、如何提高系统的处理效率,如何优化用户的体验、减少用户的等待时间,应用级缓存在提高软件性能上扮演了越来越重要的角色。  本文先阐述了缓存的研究背景,介绍了缓存技术的现状并指出了当前数据缓存产品存在的不足。接着对现有的Web数据缓存进行了研究,根据缓存的位置,将Web缓存分为了服务器缓存、客户端缓存和第三方缓存系统,并对每一部分进行了深入的分析。  根据对缓存系统的算法理论和实际应用的研究,本文设计并实现了一个新的应用级缓存系统,并给出了该系统的系统架构和详细设计方案。系统架构部分对该系统的用例进行了分析,给出了系统的逻辑架构,将系统划分成了四个模块:管理模块、数据模块、依赖模块、支持模块,并举例简述了模块之间的联系。详细设计部分对这四个模块进行了深入的设计和实现:管理模块中采用后台线程和网络管道的方法实现了缓存系统在Windows环境和网络环境中的自动清理功能,泛型编程的引入使得用户可以自定义缓存队列,从而使得用户可以对缓存的数据根据不同的业务类型进行分类;数据模块中借鉴了Strategy设计模式,通过将置换算法与缓存队列相分离使得用户可以方便的为指定的缓存队列编写自定义的置换算法;依赖模块中设计了多种缓存项的过期策略,并采用Composite设计模式使得这些策略可以组合使用;在支持模块中,采用性能计数器统计系统和系统中每一条缓存队列的命中情况,并设计了一个配置文件,用户可以查询系统的性能情况并随时更改配置文件中的配置项来设定缓存队列的最大长度和缓存清理的间隔时间。  本文设计的缓存系统具有较强的灵活性和可扩展性,弥补了现有缓存产品中的不足,在软件开发和部署过程中,可以根据具体情况合理的使用一种或多种缓存产品,以达到取长补短、优化性能的目的。
其他文献
数据可视化是一门利用人眼的视觉感知能力来增强人们对数据的认知的学科。现代的数据可视化技术综合运用计算机图形学、数据挖掘、人机交互等技术,将不可见或者不直观的数据转
经食道超声心动图(transesophageal echocardiography,TEE)是近年来出现的新型心血管超声技术,它比传统经胸超声心动图(transthoracic echocardiogram,TTE)具有更高的成像质量和
自旋玻璃系统是统计物理学领域的重要模型。在计算机科学领域,与之相对应的框架是加权约束可满足问题。两者都可以作为计数问题的一般框架。  本文研究求解两状态自旋玻璃系
该文就局域网问题,通过对网络性能参数的研究与分析进行实验:采用虚拟设备驱动程序来研究网络性能参数;延迟(delay)可以用来定量地描述网络性能,系统通过应用程序,以毫秒为单
学位
随着计算机网络技术以及嵌入式技术的发展,无线自组织网络逐渐走入了人们的视线,并在许多领域当中获得了广泛的关注和应用,如军事、卫生医疗、环境勘测与保护、城市交通等方面。
在当今的云数据中心,受共享式存储架构和I/O虚拟化技术的限制,虚拟机的存储性能已经成为虚拟机整体系统性能的瓶颈,阻碍了数据密集型应用在云平台上的部署。同时,随着近年来存储
现实世界中充满着各种各样的复杂网络。复杂网络所拥有的一个最普遍和最重要的拓扑属性是社区结构,即网络是由若干个社区组成的。在同一个社区内部,节点与节点的连接紧密,而不同
该文结合国内办公活动的特点,提出了运用CSCW技术进行办公自动化系统的开发的思想,并利用CSCW技术构建了一个办公自动化系统原型,同时在分析CSCW中相关技术的基础之上提出了
该文紧密结合Lotes Notes/Domino开发环境的特点,充分利用其在网络功能和安全性方面的卓越性能,探索出了一套适合在Lotus Notes/Domino上开发工作流应用软件的方法.该方法从