一种数据缓存方法和装置的制造方法_2

文档序号:9691043阅读:来源:国知局
DHT网络,以获取更全的地址索引表。具体地,在本步骤中,根据目标数据 的关键值分别构造第一磁力链接和第二磁力链接,并基于Tracker协议封装所述第一磁力 链接以作为第一下载请求,基于DHT协议封装所述第二磁力链接以作为第二下载请求,再 将所述第一下载请求发送至Tracker服务器(如图2中的箭头②所示),将所述第二下载请 求发送至DHT网络(如图2中的箭头①所示),从而获取地址索引表。
[0064] 其中,所述磁力链接的基本格式为"magnet: ? xt = urn:btih: info_hash",其 中,"magnet"代表协议名;"xt"代表资源定位点;"btih: info_hash"代表目标数据的关 键值。而在本发明的可选实施方案中,缓存服务器在构造所述第一磁力链接时,会在上述 "btih:info_hash"字段中填写上述解析得到的关键值(如60c0a9e398319fe9cd93834173 7ab7dfe91208ed),并且在该第一磁力链接中添加 tr字段,所述tr字段中包括Tracker服 务器的 IP 地址(如 http% 3A% 2F% 2Ftracker. publicbt. 2Fannounce),本设备基 于Tracker协议将该第一磁力链接封装作为所述第一下载请求,并发送该第一下载请求到 Tracker服务器。而缓存服务器在构造所述第二磁力链接时,会在上述"btih: info_hash" 字段中填写上述解析得到的关键值(如60c0a9e398319fe9cd938341737ab7dfe91208ed), 然后基于DHT协议将该第二磁力链接封装,作为第二下载请求发往DHT网络。其中,上述缓 存服务器构造的第一磁力链接和第二磁力链接如下表所示:
[0065]
[0066] Tracker服务器接收到缓存服务器发送的第一下载请求后,会按照现有技术的方 式解析该第一下载请求,获取该请求中的关键值,然后根据关键值查找目标数据的下载地 址,创建地址索引表,再将地址索引表发送给该缓存服务器。同理,当DHT网络收到该缓存 服务器发送的第二下载请求时,也会将目标数据的地址索引表发送给该缓存服务器。
[0067] S5.根据收到的地址索引表中的下载地址将目标数据下载到本地缓存。
[0068] 缓存服务器收到分别来自Tracker服务器和DHT网络的地址索引表时,可以根据 其中任意一个地址索引表的下载地址去下载目标数据。但是为了进一步提高下载速率,缓 存服务器还可以将两个地址索引表取并集,以获取更多的下载地址,从而加快下载速度,然 后将下载的目标数据储存在本地缓存中。这样一来,相对于现有技术,本发明不仅提高了下 载速率,还可以避免Tracker服务器故障时带来的影响,从而提高了系统的稳定性。
[0069] 另外,当缓存服务器根据关键值在本地缓存中查找到目标数据时,就无需客户端 再去Tracker服务器和DHT网络中下载数据,客户端可以从本设备获取目标数据。现有技术 中,缓存服务器在查找到本地缓存中有该目标数据后,处理过程如图4a所示。其中,缓存服 务器在查找到目标数据后,构造重定向报文发送给客户端,使客户端根据该重定向报文,再 次发送数据请求到该缓存服务器,缓存服务器再通过应答报文将目标数据发送给客户端。
[0070] 而本发明不同于现有技术的是,缓存服务器在查找到目标数据后,会构造所述数 据请求对应的应答报文发送至客户端。举例来说,若该数据请求是基于Tracker协议的,则 缓存服务器也基于Tracker协议构造应答报文;若该数据请求是基于DHT协议的,则缓存 服务器也基于DHT协议构造应答报文。其过程如图4b所示。显然,本发明的方案可以减少 客户端与服务器的交互次数,从而节省网络中的流量消耗。
[0071] 基于相同的构思本发明还提供一种数据缓存装置,所述装置可以通过软件实现, 也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的数据缓存装置作 为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机 程序指令读取到内存中运行形成的。
[0072] 请参考图5和图6,在本发明另一实施例中,提供了一种数据缓存装置100,应用在 缓存服务器上,所述装置1〇〇的基本运行环境包括,处理器、非易失性存储器、内存、网络接 口以及内部总线等硬件。从逻辑层面上来看,所述装置包括:
[0073] 监听单元101,用于监听客户端向Tracker服务器发送的数据请求;
[0074] 解析单元102,用于从该数据请求中解析出目标数据对应的关键值;
[0075] 查找单元103,用于根据所述关键值在本地的数据缓存中查找目标数据;
[0076] 发送单元104,用于在未查找到目标数据时,分别向Tracker服务器和DHT网络发 送下载请求,以获取该目标数据对应的地址索引表;所述地址索引表中包括目标数据的下 载地址;
[0077] 下载单元105,用于根据收到的地址索引表中的下载地址将目标数据下载到本地 缓存。
[0078] 进一步的,所述发送单元104具体用于:
[0079] 根据所述关键值分别构造第一磁力链接和第二磁力链接;
[0080] 基于Tracker协议封装所述第一磁力链接以作为第一下载请求;
[0081] 基于DHT协议封装所述第二磁力链接以作为第二下载请求;
[0082] 向Tracker服务器发送所述第一下载请求;
[0083] 向DHT网络发送所述第二下载请求。
[0084] 进一步的,所述发送单元104根据所述关键值构造第一磁力链接,包括在磁力链 接的指定字段中填入所述目标数据对应的关键值和Tracker服务器的IP地址。
[0085] 进一步的,所述发送单元104根据所述关键值构造第二磁力链接,包括在磁力链 接的指定字段中填入所述目标数据对应的关键值。
[0086] 进一步的,所述装置还包括应答单元,用于在根据所述关键值在本地缓存中查找 到目标数据时,则构造所述数据请求对应的应答报文发送至客户端,以使所述客户端根据 该应答报文从本机中获取目标数据。
[0087] 相对于现有技术,服务器可以分别向Tracker服务器和DHT网络发送数据请求, 因此可以获取到更多的地址索引表,从而提高了下载速率,也使下载数据更加全面,即使在 Tracker服务器故障时,依然保证缓存服务不受影响,进而提高了系统稳定性。
[0088] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1. 一种数据缓存方法,其特征在于,所述方法包括步骤:51.监听客户端向Tracker服务器发送的数据请求;52.从该数据请求中解析出目标数据对应的关键值;53.根据所述关键值在本地的数据缓存中查找目标数据;54.若未查找到目标数据,则分别向Tracker服务器和DHT网络发送下载请求,以获取 该目标数据对应的地址索引表;所述地址索引表中包括目标数据的下载地址;55.根据收到的地址索引表中的下载地址将目标数据下载到本地缓存。2.如权利要求1所述的方法,其特征在于,所述分别向Tracker服务器和DHT网络发送 下载请求包括: 根据所述关键值分别构造第一磁力链接和第二磁力链接; 基于Tracker协议封装所述第一磁力链接以作为第一下载请求; 基于DHT协议封装所述第二磁力链接以作为第二下载请求; 向Tracker服务器发送所述第一下载请求; 向DHT网络发送所述第二下载请求。3.如权利要求2所述的方法,其特征在于,所述根据关键值构造第一磁力链接,包括: 在磁力链接的指定字段中填入所述目标数据对应的关键值和Tracker服务器的IP地 址。4.如权利要求2所述的方法,其特征在于,所述根据关键值构造第二磁力链接,包括: 在磁力链接的指定字段中填入所述目标数据对应的关键值。5.如权利要求1所述的方法,其特征在于,所述方法还包括:56.若查找到目标数据,则构造所述数据请求对应的应答报文发送至客户端,以使所述 客户端根据该应答报文从本机中获取目标数据。6. -种数据缓存装置,其特征在于,所述装置包括: 监听单元,用于监听客户端向Tracker服务器发送的数据请求; 解析单元,用于从该数据请求中解析出目标数据对应的关键值; 查找单元,用于根据所述关键值在本地的数据缓存中查找目标数据; 发送单元,用于在未查找到目标数据时,分别向Tracker服务器和DHT网络发送下载请 求,以获取该目标数据对应的地址索引表;所述地址索引表中包括目标数据的下载地址; 下载单元,用于根据收到的地址索引表中的下载地址将目标数据下载到本地缓存。7.如权利要求6所述的装置,其特征在于,所述发送单元,具体用于: 根据所述关键值分别构造第一磁力链接和第二磁力链接; 基于Tracker协议封装所述第一磁力链接以作为第一下载请求; 基于DHT协议封装所述第二磁力链接以作为第二下载请求; 向Tracker服务器发送所述第一下载请求; 向DHT网络发送所述第二下载请求。8. 如权利要求7所述的装置,其特征在于,所述发送单元根据关键值构造第一磁力链 接,包括: 在磁力链接的指定字段中填入所述目标数据对应的关键值和Tracker服务器的IP地 址。9. 如权利要求7所述的装置,其特征在于,所述发送单元根据关键值构造第二磁力链 接,包括: 在磁力链接的指定字段中填入所述目标数据对应的关键值。10. 如权利要求6所述的装置,其特征在于,所述装置还包括: 应答单元,用于在查找到目标数据时,构造所述数据请求对应的应答报文发送至客户 端,以使所述客户端根据该应答报文从本机中获取目标数据。
【专利摘要】本发明提供一种数据缓存方法和装置,所述方法包括:S1.监听客户端向Tracker服务器发送的数据请求;S2.从该数据请求中解析出目标数据对应的关键值;S3.根据所述关键值在本地的数据缓存中查找目标数据;S4.若未查找到目标数据,则分别向Tracker服务器和DHT网络发送下载请求,以获取该目标数据对应的地址索引表;所述地址索引表中包括目标数据的下载地址;S5.根据收到的地址索引表中的下载地址将目标数据下载到本地缓存。因此可以获取到更多的地址索引表,从而提高了下载速率,也使下载数据更加全面,即使在Tracker服务器故障时,依然保证缓存服务不受影响,进而提高了系统稳定性。
【IPC分类】H04L29/08
【公开号】CN105450703
【申请号】CN201410430757
【发明人】伍超
【申请人】杭州迪普科技有限公司
【公开日】2016年3月30日
【申请日】2014年8月28日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1