基于BT服务加速组件的数据传输方法和装置制造方法及图纸

技术编号:38540858 阅读:15 留言:0更新日期:2023-08-19 17:08
本发明专利技术提供了一种基于BT服务加速组件的数据传输方法和装置,涉及数据传输的技术领域,本发明专利技术方法预先在P2P对等网络中的每个客户端同时部署BT服务加速组件与BT服务,且每个客户端设置相应的系统内存,在当前客户端的BT服务加速组件接收到目标客户端发送的对指定数据片的下载请求之后,若系统内存中存在指定数据片,则直接从系统内存中读取;否则再从系统磁盘中读取,并将指定数据片缓存至系统内存。与现有技术中必须从系统磁盘读取数据片的方法相比,本发明专利技术优先从系统内存中获取数据片的方式能够有效地缩短数据读取时间,从而缓解了在大量客户端使用BT服务传输同一大容量文件时,对等者间的数据传输速度较慢的技术问题。题。题。

【技术实现步骤摘要】
基于BT服务加速组件的数据传输方法和装置


[0001]本专利技术涉及数据传输的
,尤其是涉及一种基于BT服务加速组件的数据传输方法和装置。

技术介绍

[0002]BT(Bit Torrent,比特流)是P2P的一种实现,P2P(Peer

to

Peer)也叫对等网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种网络形式。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,每个节点既充当服务器,为其他节点提供服务,也能作为客户端,享用其他节点提供的服务。
[0003]但是,如果充当服务器的客户端(下文简称服务端)在一段时间内陆续接收到大量客户端的数据下载请求,那么服务端在响应每个数据下载请求时,每次均需要从系统磁盘中读取数据,由于磁盘数据读取速度较慢,因此现有BT技术下,存在对同一大容量文件发送时,对等者间的数据传输速度较慢的问题。

技术实现思路

[0004]本专利技术的目的在于提供一种基于BT服务加速组件的数据传输方法和装置,以缓解了在大量客户端使用BT服务传输同一大容量文件时,对等者间的数据传输速度较慢的技术问题。
[0005]第一方面,本专利技术提供一种基于BT服务加速组件的数据传输方法,应用于BT服务加速组件,所述BT服务加速组件与BT服务同时部署于P2P对等网络中的每个客户端,每个所述客户端设置相应的系统内存,所述方法包括:接收所述P2P对等网络中目标客户端发送的对指定数据片的下载请求;其中,所述目标客户端表示所述P2P对等网络中与当前客户端存在通信链路的任一客户端;所述下载请求中携带所述指定数据片的哈希值;基于所述指定数据片的哈希值判断所述当前客户端的系统内存中是否存在所述指定数据片;在确定存在的情况下,从所述系统内存中读取所述指定数据片;在确定不存在的情况下,从所述当前客户端的系统磁盘中读取所述指定数据片,并将所述指定数据片缓存至所述系统内存;将所述指定数据片发送至所述目标客户端。
[0006]在可选的实施方式中,在基于所述指定数据片的哈希值判断所述当前客户端的系统内存中是否存在所述指定数据片之前,所述方法还包括:获取所述系统内存中每个缓存数据片的哈希值;将每个所述缓存数据片的哈希值转换为预设长度的二进制数组,得到每个缓存数据片对应的数组;基于所有所述缓存数据片的数组构建所述系统内存对应的维持数组;其中,所述维持数组为预设长度的二进制数组;若所有所述缓存数据片对应的数组在目标存储位置上的元素均为0,则所述维持数组在目标存储位置上的元素为0;若存在至少一个数组在目标存储位置的元素为1,则所述维持数组在目标存储位置上的元素为1。
[0007]在可选的实施方式中,基于所述指定数据片的哈希值判断所述当前客户端的系统
内存中是否存在所述指定数据片,包括:将所述指定数据片的哈希值转换为预设长度的二进制数组,得到指定数组;将所述指定数组与所述系统内存对应的维持数组进行比对;在所述维持数组的第一存储位置上的元素非全1的情况下,确定所述系统内存中不存在所述指定数据片;其中,所述第一存储位置表示所述指定数组中元素值为1的存储位置;在所述维持数组的第一存储位置上的元素是全1的情况下,在所述系统内存中检索所述指定数据片的哈希值;在未检索到所述指定数据片的哈希值的情况下,确定所述系统内存中不存在所述指定数据片;在检索到所述指定数据片的哈希值的情况下,确定所述系统内存中存在所述指定数据片。
[0008]在可选的实施方式中,所述系统内存使用b+树数据结构管理所有缓存数据片的哈希值。
[0009]在可选的实施方式中,在将所述指定数据片缓存至所述系统内存之前,所述方法还包括:判断所述系统内存的剩余存储空间是否达到预设阈值;若是,则获取所述系统内存中每个缓存数据片的使用时间;其中,所述使用时间表示上一次请求下载的时间;将使用时间最早的缓存数据片进行丢弃。
[0010]在可选的实施方式中,在所述P2P对等网络中的所有客户端均下载指定种子文件的情况下,所述方法还包括:获取每个客户端下载所述指定种子文件的最后一个数据片的时间,得到多个下载结束时间;其中,所述指定种子文件划分为预设数量个数据片,且每个数据片具有唯一的哈希值;以每个所述客户端对应的下载结束时间延后预设时长为基准,清除每个所述客户端系统内存中的缓存数据片。
[0011]第二方面,本专利技术提供一种基于BT服务加速组件的数据传输装置,应用于BT服务加速组件,所述BT服务加速组件与BT服务同时部署于P2P对等网络中的每个客户端,每个所述客户端设置相应的系统内存,所述装置包括:接收模块,用于接收所述P2P对等网络中目标客户端发送的对指定数据片的下载请求;其中,所述目标客户端表示所述P2P对等网络中与当前客户端存在通信链路的任一客户端;所述下载请求中携带所述指定数据片的哈希值;第一判断模块,用于基于所述指定数据片的哈希值判断所述当前客户端的系统内存中是否存在所述指定数据片;第一读取模块,用于在确定存在的情况下,从所述系统内存中读取所述指定数据片;第二读取模块,用于在确定不存在的情况下,从所述当前客户端的系统磁盘中读取所述指定数据片,并将所述指定数据片缓存至所述系统内存;发送模块,用于将所述指定数据片发送至所述目标客户端。
[0012]在可选的实施方式中,所述装置还包括:第一获取模块,用于获取所述系统内存中每个缓存数据片的哈希值;转换模块,用于将每个所述缓存数据片的哈希值转换为预设长度的二进制数组,得到每个缓存数据片对应的数组;构建模块,用于基于所有所述缓存数据片的数组构建所述系统内存对应的维持数组;其中,所述维持数组为预设长度的二进制数组;若所有所述缓存数据片对应的数组在目标存储位置上的元素均为0,则所述维持数组在目标存储位置上的元素为0;若存在至少一个数组在目标存储位置的元素为1,则所述维持数组在目标存储位置上的元素为1。
[0013]第三方面,本专利技术提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施方式中任一项所述的基于BT服务加速组件的数据传输方法的步骤。
[0014]第四方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现前述实施方式中任一项所述的基于BT服务加速组件的数据传输方法。
[0015]本专利技术提供了一种基于BT服务加速组件的数据传输方法,预先在P2P对等网络中的每个客户端同时部署BT服务加速组件与BT服务,并且每个客户端设置相应的系统内存,在当前客户端的BT服务加速组件接收到目标客户端发送的对指定数据片的下载请求之后,如果确定系统内存中存在指定数据片,则直接从系统内存中读取指定数据片;若系统内存中不存在指定数据片,再从系统磁盘中读取指定数据片,并将指定数据片缓存至系统内存。与现有技术中必须从系统磁盘读取数据片的方法相比,本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BT服务加速组件的数据传输方法,其特征在于,应用于BT服务加速组件,所述BT服务加速组件与BT服务同时部署于P2P对等网络中的每个客户端,每个所述客户端设置相应的系统内存,所述方法包括:接收所述P2P对等网络中目标客户端发送的对指定数据片的下载请求;其中,所述目标客户端表示所述P2P对等网络中与当前客户端存在通信链路的任一客户端;所述下载请求中携带所述指定数据片的哈希值;基于所述指定数据片的哈希值判断所述当前客户端的系统内存中是否存在所述指定数据片;在确定存在的情况下,从所述系统内存中读取所述指定数据片;在确定不存在的情况下,从所述当前客户端的系统磁盘中读取所述指定数据片,并将所述指定数据片缓存至所述系统内存;将所述指定数据片发送至所述目标客户端。2.根据权利要求1所述的基于BT服务加速组件的数据传输方法,其特征在于,在基于所述指定数据片的哈希值判断所述当前客户端的系统内存中是否存在所述指定数据片之前,所述方法还包括:获取所述系统内存中每个缓存数据片的哈希值;将每个所述缓存数据片的哈希值转换为预设长度的二进制数组,得到每个缓存数据片对应的数组;基于所有所述缓存数据片的数组构建所述系统内存对应的维持数组;其中,所述维持数组为预设长度的二进制数组;若所有所述缓存数据片对应的数组在目标存储位置上的元素均为0,则所述维持数组在目标存储位置上的元素为0;若存在至少一个数组在目标存储位置的元素为1,则所述维持数组在目标存储位置上的元素为1。3.根据权利要求2所述的基于BT服务加速组件的数据传输方法,其特征在于,基于所述指定数据片的哈希值判断所述当前客户端的系统内存中是否存在所述指定数据片,包括:将所述指定数据片的哈希值转换为预设长度的二进制数组,得到指定数组;将所述指定数组与所述系统内存对应的维持数组进行比对;在所述维持数组的第一存储位置上的元素非全1的情况下,确定所述系统内存中不存在所述指定数据片;其中,所述第一存储位置表示所述指定数组中元素值为1的存储位置;在所述维持数组的第一存储位置上的元素是全1的情况下,在所述系统内存中检索所述指定数据片的哈希值;在未检索到所述指定数据片的哈希值的情况下,确定所述系统内存中不存在所述指定数据片;在检索到所述指定数据片的哈希值的情况下,确定所述系统内存中存在所述指定数据片。4.根据权利要求3所述的基于BT服务加速组件的数据传输方法,其特征在于,所述系统内存使用b+树数据结构管理所有缓存数据片的哈希值。5.根据权利要求1所述的基于BT服务加速组件的数据传输方法,其特征在于,在将所述指定数据片缓存至所述系统内存之前,所述方法还包括:判断所述系统内存的剩余存储空间是否达到预设阈...

【专利技术属性】
技术研发人员:朱勇顾勤齐俊星张作宸卢伟
申请(专利权)人:天津卓朗昆仑云软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1