分布式缓存系统的研究与实现毕业论文

 2022-05-12 09:05

论文总字数:27284字

摘 要

互联网的一个关键性能指标,是它为用户提供内容访问服务的速度。然而支撑互联网进行数据传输的网络基础设施并没有跟上互联网的爆发式发展步伐,因此基础网络正面临着越来越大的流量压力。与此同时,用户将会体验到更差的数据传输可靠性与更高的传输延迟。在这种状况下,人们引入了缓存服务器来优化互联网的性能。

缓存服务器要解决几个重要问题。首先是在用户请求时,需要快速而准确地判断出请求应该被哪一个缓存服务器接收和处理。其次是缓存服务器需要快速地为用户提供数据对象的存储与获取服务。最后,在缓存不命中时,应该采取何种方案来最终为用户提供想要的数据。

本文在分析了传统的采用 IP 多播、UDP 广播,或者树状结构的缓存策略所存在的显著缺陷后,提出了一个基于一致性哈希和内存池的分布式缓存方案。阐述了一致性哈希的原理,并运用它调度用户请求,解决了缓存节点变化带来的缓存失效和热点负载均衡等问题;研究了缓存节点自身高效地管理内存的方法,开发出一个内存管理器,解决了内存碎片和垃圾回收的问题。最终设计并实现了一个分布式缓存系统。实验结果表明,本文提出的设计方案在性能上确实有很大的提升。

关键词:一致性哈希;内存池;热点;负载均衡;分布式缓存系统

Research and Implementation of a Distributed Cache System

ABSTRACT

A key performance indicator of the Internet is the speed that it serves users for content access. However, the supportive network infrastructure for data transmission does not keep up with the explosive development of the Internet, so the underlying network is facing increasing data traffic pressure. At the same time, users will experience worse data transmission reliability and high transmission delay. In this situation, cache servers are introduced to optimize the performance of the Internet.

The cache servers have to solve several important issues. First, when users initiate a request, it is necessary to quickly and accurately determine which server should be responsible for processing this request. Then, the cache server needs to provide users with fast data objects storage and access services. Finally, if the cache does not hit, what actions should be taken to ultimately provide the required data for the user.

This paper analyzes the significant shortcomings of traditional cache strategies with IP multicast, UDP broadcast, or tree structure, then proposes a distributed caching scheme based on consistent hashing and memory pools. The main body describes the principle of consistent hashing, and use it to schedule user requests which solves the cache failure problem caused by node changes, and hot spots load balancing and other issues. Also this paper studies how cache itself efficiently manage memory, and develop a memory manager, to solve the memory fragmentation and garbage collection problems. Ultimately, a distributed cache system is designed and implemented. Several test results show that the proposed design scheme does have a better degree of performance.

KEYWORDS:Consistent Hashing; Memory Pool; Hot Spots; Load Balance; Distributed Cache System

目 录

摘要 I

ABSTRACT II

第一章 绪论 1

1.1 课题研究背景 1

1.2 国内外研究现状 2

1.3 本文的主要工作 3

第二章 理论基础 4

2.1 一致性哈希 4

2.1.1 需求 4

2.1.2 一致性哈希原理 5

2.1.3 方案分析 6

2.2 对象存储与管理 7

2.2.1 需求 7

2.2.2 对象存储 7

2.2.3 置换策略 8

2.2.4 垃圾回收 8

2.2.5 方案分析 9

第三章 节点管理与请求调度 11

3.1缓存节点添加与删除 11

3.1.1 描述 11

3.1.2 伪代码 12

3.2 客户端请求的调度 12

3.2.1 描述 13

3.2.2 伪代码 13

3.3 热点负载均衡 13

3.3.1 描述 13

3.3.2 伪代码 13

3.4 容错性 14

第四章 缓存节点的数据管理 14

4.1 内存管理 14

4.1.1 描述 14

4.1.2 伪代码 14

4.2 并行与分代垃圾回收 14

4.2.1 描述 14

4.2.2 伪代码 14

第五章 系统实现与结果分析 14

5.1 系统整体架构 14

5.2 关键代码实现 14

5.2.1 节点管理与请求调度 14

5.2.2 缓存节点的数据管理 14

5.3 实验结果分析 14

第六章 总结与展望 14

6.1 本文工作总结 14

6.2 展望 14

参考文献 14

第一章 绪论

1.1 课题研究背景

互联网现已成为信息传播最重要的媒介,因此,互联网为用户提供内容服务的响应速度,是它的一项非常重要的性能指标。为了应对海量用户请求带来的挑战,解决大规模数据访问的性能瓶颈,缓存成为优化系统整体吞吐能力的关键策略。

缓存通常是介于客户端与服务器之间的,可以保存文档对象副本的设备。当客户端请求到达缓存时,如果缓存中已存在该被请求文档的一份拷贝,就可以直接从本地存储中将该文档的内容返回给用户,而不需要从原始服务器获取这个文档。

请支付后下载全文,论文总字数:27284字

您需要先支付 50元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,凡线上购买论文可赠送论文相关课题外文翻译资料一份(包括英语原文和译文)。