哈希方法在URL路由表构建中的排队行为研究
1. 引言
内容分发网络(CDNs)是互联网上的覆盖网络,允许单个文档或服务存在于互联网的多个服务器和缓存中,能为HTTP请求选择最佳服务器。传统的客户端方法、Anycasting和集中式方法存在产生冗余流量、需要高开销或基础设施变更等问题,而基于URL路由器的CDN可克服这些缺点。
每个Web文档由可变长度的URL字符串标识,一个URL可能映射到多个内容源,URL数量通常非常大,且文档可能因老化被丢弃。URL路由器作为边缘服务器和缓存的前端节点,主要执行以下操作:
1. 与客户端建立TCP连接(由客户端发起)。
2. 接收并解析客户端的HTTP请求。
3. 在路由表中查找请求的URL,确定最佳内容源的IP地址。
4. 如果内容源在本地,模拟或拼接与内容源的连接。
5. 如果内容源在远程,向客户端发送包含新URL的重定向消息。
为了构建URL路由表,研究人员采用了循环冗余校验(CRC)代码将URL字符串简化为32位整数签名,这自然引出了使用哈希表进行URL路由查找的方法。接下来将详细探讨哈希方法在构建路由表中的应用。
2. 用于构建路由表的哈希方法
哈希可用于构建URL路由表,为保证哈希表中数据的访问,需要解决冲突问题。简单链哈希是一种具有冲突解决机制的哈希方法,其工作流程如下:
1. 将输入键(如CRC32签名)哈希为哈希索引。
2. 该哈希索引指向哈希表中的一个键值对链。
3. 将输入键与哈希链中存储的键进行比较,找到匹配的键后返回关联的值(如服务器IP地址)。
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



