System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据下载,尤其是涉及一种基于bittorrent的数据加速下载方法、装置、设备和介质。
技术介绍
1、目前,在进行bittorrent(缩写:bt)下载时,主要的流程包括:种子发布者制作种子文件,向tracker服务器表明种子信息,下载者获取到种子文件,通过bt客户端解析种子文件,拿到tarcker地址,向tarcker服务器发起请求(http请求或udp请求),获取其他peer的地址,tracker服务器在接收到请求后,去自己的存储里找拥有这个种子中的文件的peers的ip:port,返回给下载者,并且把当前下载者的ip:port加入服务器的存储,下载者与其他peer建立连接。由于一个文件被分成了若干个文件块,所以下载者可以和多个peer下载不同的块,下载完成后,校验块的哈希值,保存在本地,整个文件下载完成时,校验整个文件哈希值一致,下载成功。
2、然而,目前点对点(peer to peer)传输的块数据是原始数据,千兆带宽环境下,最大下载速率大概100mb/s,很难有大的提高,因此目前的方式不适合多终端同时下发大文件的场景。
技术实现思路
1、本申请的目的在于提供一种基于bittorrent的数据加速下载方法、装置、设备和介质,以缓解了现有技术中存在的上述技术问题。
2、第一方面,本专利技术提供一种基于bittorrent的数据加速下载方法,方法包括:
3、第一bittorrent终端向第二bittorrent终端发送位域消息,通知
4、第一bittorrent终端响应第二bittorrent终端发送的数据下载请求,对数据下载请求进行解析,基于解析参数中包含的压缩标记,对目标块数据进行压缩处理;
5、第一bittorrent终端向第二bittorrent终端发送块数据消息,以便第二bittorrent终端进行块数据下载;其中,块数据消息中携带有压缩后的目标块数据和对应的块标识信息。
6、在可选的实施方式中,方法还包括:
7、第二bittorrent终端在添加种子任务的过程中,基于预先配置的块数据下载策略确定相应的块数据是否添加压缩标记。
8、在可选的实施方式中,第一bittorrent终端响应第二bittorrent终端发送的数据下载请求,对数据下载请求进行解析,基于解析参数中包含的压缩标记,对目标块数据进行压缩处理,包括:
9、第二bittorrent终端向第一bittorrent终端发送状态准备消息;其中,状态准备消息用于表征第二bittorrent终端准备进入消息传输状态;
10、第二bittorrent终端向第一bittorrent终端发送数据下载消息;其中,数据下载消息用于表征第二bittorrent终端准备进行块数据下载;
11、第二bittorrent终端向第一bittorrent终端发送数据下载请求;其中,数据下载请求包括请求下载的块数据信息,以及根据配置需求适应添加的压缩标记;其中,请求下载的块数据信息包括块数据序号、块数据存储位置信息和块数据长度信息;
12、第一bittorrent终端响应第二bittorrent终端发送的数据下载请求,对数据下载请求进行解析,判断解析参数中是否包含有压缩标记;
13、如果是,则基于压缩标记和预设的压缩策略对目标块数据进行压缩处理;
14、如果否,则直接向第二bittorrent终端发送目标块数据。
15、在可选的实施方式中,方法还包括:
16、第二bittorrent终端接收到块数据消息后,根据压缩标记对块数据消息进行解析,并将解析后的目标块数据写入硬盘。
17、在可选的实施方式中,预设的压缩策略包括gzip压缩、lz4压缩或snappy压缩。
18、在可选的实施方式中,第一bittorrent终端为服务器端;第二bittorrent终端为客户端。
19、在可选的实施方式中,第二bittorrent终端包括一个或多个。
20、第二方面,本专利技术提供一种基于bittorrent的数据加速下载装置,装置包括:
21、通知模块,用于第一bittorrent终端向第二bittorrent终端发送位域消息,通知第二bittorrent终端当前存储的块数据信息;
22、下载请求模块,用于第一bittorrent终端响应第二bittorrent终端发送的数据下载请求,对数据下载请求进行解析,基于解析参数中包含的压缩标记,对目标块数据进行压缩处理;
23、数据发送模块,用于第一bittorrent终端向第二bittorrent终端发送块数据消息,以便第二bittorrent终端进行块数据下载;其中,块数据消息中携带有压缩后的目标块数据和对应的块标识信息。
24、第三方面,本专利技术提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现前述实施方式任一项的基于bittorrent的数据加速下载方法。
25、第四方面,本专利技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现前述实施方式任一项的基于bittorrent的数据加速下载方法。
26、本申请提供的基于bittorrent的数据加速下载方法、装置、设备和介质的有益效果如下:
27、通过第一bittorrent终端对块数据进行压缩后传输,可以使得传输数据量明显减少,同等带宽可以传输更多的数据量,第二bittorrent终端收到数据后,对压缩数据进行解压缩,然后将压缩后的数据同步到对应文件,千兆带宽环境下,最高可达160mb/s,传输速率明显提高。
本文档来自技高网...【技术保护点】
1.一种基于BitTorrent的数据加速下载方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于BitTorrent的数据加速下载方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的基于BitTorrent的数据加速下载方法,其特征在于,所述第一BitTorrent终端响应所述第二BitTorrent终端发送的数据下载请求,对所述数据下载请求进行解析,基于解析参数中包含的压缩标记,对目标块数据进行压缩处理,包括:
4.根据权利要求1所述的基于BitTorrent的数据加速下载方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的基于BitTorrent的数据加速下载方法,其特征在于,所述预设的压缩策略包括gzip压缩、lz4压缩或snappy压缩。
6.根据权利要求1所述的基于BitTorrent的数据加速下载方法,其特征在于,所述第一BitTorrent终端为服务器端;所述第二BitTorrent终端为客户端。
7.根据权利要求6所述的基于BitTorrent的数据加速下载方法,其
8.一种基于BitTorrent的数据加速下载装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的基于BitTorrent的数据加速下载方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至7任一项所述的基于BitTorrent的数据加速下载方法。
...【技术特征摘要】
1.一种基于bittorrent的数据加速下载方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于bittorrent的数据加速下载方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的基于bittorrent的数据加速下载方法,其特征在于,所述第一bittorrent终端响应所述第二bittorrent终端发送的数据下载请求,对所述数据下载请求进行解析,基于解析参数中包含的压缩标记,对目标块数据进行压缩处理,包括:
4.根据权利要求1所述的基于bittorrent的数据加速下载方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的基于bittorrent的数据加速下载方法,其特征在于,所述预设的压缩策略包括gzip压缩、lz4压缩或snappy压缩。
6.根据权利要求1所述的基于bittorrent的数据加速下载方法...
【专利技术属性】
技术研发人员:张作宸,卢伟,郭衍建,
申请(专利权)人:天津卓朗昆仑云软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。