CN108964845B - 一种获取bt资源信息的方法和设备 - Google Patents
一种获取bt资源信息的方法和设备 Download PDFInfo
- Publication number
- CN108964845B CN108964845B CN201810718327.0A CN201810718327A CN108964845B CN 108964845 B CN108964845 B CN 108964845B CN 201810718327 A CN201810718327 A CN 201810718327A CN 108964845 B CN108964845 B CN 108964845B
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- data
- bitmap
- data block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1614—Details of the supervisory signal using bitmaps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1076—Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种获取BT资源信息的方法和设备,属于数据传输技术领域。本发明实施例中,在与对端进行BT资源的数据交互时,如果本端没有BT资源的元信息,则可以在进行BT协议握手后,基于对端发来的BT资源的位图A,确定BT资源的数据片个数,然后对位图A取反,向对端反馈取反得到位图B,以触发对端向本端发送BT资源的数据块获取请求,这样,可以基于数据块获取请求来预测BT资源的数据片大小,从而可以获取到BT资源的资源信息。进一步的,本端还可以基于获取到BT资源信息从对端下载BT资源的数据块。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种获取BT资源信息的方法和设备。
背景技术
BT(Bit Torrent,比特流)协议是一种计算机通信协议,广泛用于对等网络(Peerto Peer)中BT客户端(peer)之间的BT资源共享。在与其它peer共享BT资源的过程中,BT客户端需要根据BT资源的元信息(包含BT资源的总大小、BT资源的数据片数目、每个数据片大小等资源信息)确定向对端请求多少个数据片,以及每个数据片要分多少个数据块来请求。
BT客户端在接收到某个peer发送的BT资源获取请求后,如果发现本地未拥有相应BT资源的元信息,则主要通过以下现有的2种方式来获取该元信息:其一,BT客户端可以根据BT资源获取请求中携带的BT资源的info hash从本地或者异地的种子库检索相应的种子文件,然后读取种子文件包含的BT资源的元信息;其二,BT客户端在与对端完成“Handshake”后,向对端或者正在共享该BT资源的其它peer请求BT资源的元信息。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
如果本地或者异地的种子库内均检索不到该BT资源的种子文件,对端或者其它peer不支持“ut_metadata”的BT协议扩展,对端或者其它peer未对元信息的请求进行响应,BT客户端则无法获取到BT资源的元信息,进而BT客户端无法响应对端或者其他peer发送的请求。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种获取BT资源信息的方法和设备。所述技术方案如下:
第一方面,提供了一种获取BT资源信息的方法,所述方法包含步骤:
在与对端进行handshake后,接收所述对端发送的目标BT资源的位图A;
对所述位图A进行取反,将取反得到的新位图B反馈给所述对端;
接收所述对端发送的所述目标BT资源的数据块获取请求;
根据所述数据块获取请求中的偏移量预测所述目标BT资源的数据片大小。
可选的,所述对所述位图A进行取反,将取反得到的新位图B反馈给所述对端,包括:
如果本地未存储有所述目标BT资源的位图,则对所述位图A进行取反,将取反得到的新位图B反馈给所述对端,否则向所述对端反馈本地存储的所述目标BT资源的位图。
可选的,所述向所述对端反馈本地存储的所述目标BT资源的位图,包括:
如果所述对端未存储有本地存储的所述目标BT资源的所有数据片,则向所述对端反馈本地存储的所述目标BT资源的位图,否则对所述位图A进行取反,将取反得到的新位图B反馈给所述对端。
可选的,所述根据所述数据块获取请求中的偏移量预测所述目标BT资源的数据片大小,包括:
如果所述数据块获取请求中的偏移量大于已知的所述目标BT资源的数据块偏移量,则根据所述数据块获取请求中的偏移量更新所述目标BT资源的数据片大小。
可选的,所述根据所述数据块获取请求中的偏移量预测所述目标BT资源的数据片大小之后,还包括:
根据所述位图A和预测的所述目标BT资源的数据片大小,从所述对端获取所述目标BT资源的数据块。
可选的,所述方法还包括:
以每个数据片内的数据块个数为第一维的长度,数据片个数为第二维长度,通过二维数组的形式记录本地所述目标BT资源的各数据块的存储情况。
可选的,所述方法还包括:
当预测到的所述目标BT资源的数据片大小增加时,在所述二维数组的第一维末尾对应添加新的数据组。
可选的,所述方法由缓存服务器实现。
基于上述方法,在与对端进行BT资源的数据交互时,如果本端没有BT资源的元信息,则可以在进行BT协议握手后,基于对端发来的BT资源的位图A,确定BT资源的数据片个数,然后对位图A取反,向对端反馈取反得到位图B,以触发对端向本端发送BT资源的数据块获取请求,这样,可以基于数据块获取请求来预测BT资源的数据片大小,从而可以获取到BT资源的资源信息。进一步的,本端还可以基于获取到BT资源信息从对端下载BT资源的数据块。
第二方面,为了实现上述方法,本发明的实施例还提供了一种获取BT资源信息的设备,所述设备上运行有一计算机程序,所述计算机程序可实现上述实施例的方法。
可选的,所述设备为缓存服务器。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种获取BT资源信息的方法流程图;
图2是本发明实施例提供的一种请求响应系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种获取BT资源信息的方法,可以应用于BT系统,BT系统可以面向整个互联网,BT客户端可以通过BT协议与其它BT客户端进行BT资源的数据传输。
两个BT客户端在互相进行数据传输之前,必须都拥有要共享的BT资源(可能是一个文件,也可能是多个文件的集合,以下统一称为“共享文件”)的元信息(metadata)。因为元信息中提供了BT资源的总大小(字节表示)、包含多少个数据片、每个数据片的大小等资源信息。如果一个BT客户端缺少这些资源信息,它就不知道自己要向对端请求多少个数据片,以及每个数据片要分多少个数据块来请求。
本实例所提供的方法可以基于对端提供的BT资源的位图和数据块获取请求来预测BT资源的资源信息,从而使得BT客户端在没有BT资源的元信息,或者无法按照正常方式获取BT资源的元信息情况下,依然能够与对端进行BT资源的数据传输。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,在与对端进行handshake后,接收对端发送的目标BT资源的位图A。
在实施中,BT客户端在接收到来自某个peer的发送的针对某个BT资源(可称为目标BT资源)的数据请求后,可以先与该peer(后续可称为对端)建立通信连接,然后双方通过handshake交换数据传输的基础信息,包含:目标BT资源的info hash值、各自的设备ID、其它拓展信息(例如是否支持DHT模式,是否支持“ut_metadata”协议扩展等)。
在于对端进行handshake后,BT客户端可以先等待对端发送对端维护的目标BT资源的位图A。位图A可以反映对端中BT资源的数据片的下载完成情况,位图内的每一个二进制位(一个字节内包含8个二进制位)表示相应的BT资源的数据片是否已经下载完成。
例如,位图A的第一位数值是1,则表示对端中目标BT资源的第一个数据片的所有数据块均下载完成;位图A的第二位数值是0,则表示对端中目标BT资源的第二个数据片还未下载完整,即对端未存储或仅存储了部分第二个数据片的数据片。BT客户端在获取到目标BT资源的位图A之后,则可以根据位图A中的二进制位数确定出目标BT资源包含的数据片个数。
步骤102,对位图A进行取反,将取反得到的新位图B反馈给对端。
在实施中,BT客户端在获取到目标BT资源的位图A之后,可以对位图A进行取反,即将位图A中的二进制位数值为0的更改为1,二进制位数值为1的更改为0,从而得到新位图B。然后BT客户端可以将取反得到的新位图B反馈给对端。
可选的,如果本地存储有目标BT资源的位图,则优先向对端反馈本地存储的位图,相应的,步骤102的处理可以如下:如果本地未存储有目标BT资源的位图,则对位图A进行取反,将取反得到的新位图B反馈给对端,否则向对端反馈本地存储的目标BT资源的位图。
在实施中,BT客户端在获取到对端发送的目标BT资源的位图A之后,可以先确定本地是否已存储有目标BT资源的位图。如果未存储,BT客户端则可以对位图A进行取反处理,然后将取反得到的新位图B反馈给对端;如果已存储,BT客户端则可以向对端反馈本地存储的目标BT资源的位图。
可以理解,本地存储的目标BT资源的位图,一种情况下是BT客户端通过正常方式获取到的目标BT资源的位图,另一种情况下是BT客户端采用本实施例的方案预测得到的目标BT资源的位图,因此,相对于直接对对端的位图取反反馈的处理,对端可以基于BT客户端存储的位图从BT客户端处切实获取到目标BT资源的数据块。
可选的,如果对端的位图完全覆盖了本地存储的位图,则可以仍反馈取反得到的位图,相应的处理可以如下:如果对端未存储有本地存储的目标BT资源的所有数据片,则向对端反馈本地存储的目标BT资源的位图,否则对位图A进行取反,将取反得到的新位图B反馈给对端。
在实施中,BT客户端如果存储有目标BT资源的位图,则在接收到对端发送的目标BT资源的位图A之后,可以先比较两个位图。如果发现对端未存储有本地存储的目标BT资源的所有数据片,BT客户端则可以向对端反馈本地存储的目标BT资源的位图;而如果对端的位图完全覆盖了本地存储的位图,即本地存储的目标BT资源的数据片,对端均已存储,此时BT客户端则可以对对端发送的位图A进行取反,然后将取反得到的新位图B反馈给对端。
需要说明的是,当对端位图完全覆盖本地存储的位图时,如果仍旧向对端反馈本地存储的位图,则在本次交互过程中,对端将不会向BT客户端发送任何目标BT资源的数据块获取请求,这样,BT客户端则无法通过数据块获取请求来对目标BT资源的数据片大小进行进一步的预测。
步骤103,接收对端发送的目标BT资源的数据块获取请求。
在实施中,BT资源的正常数据交互过程中,双方交换了各自的位图之后,当其中一端发现对方的位图有己端未包含的内容,也即对方存储有己端没有的数据时,则可以从对端获取相应的数据块。这样,当BT客户端将取反得到的新位图B反馈给对端之后,对端则认为BT客户端存储有对端未存储的目标BT资源的数据块,故而,对端可以基于新位图B,向BT客户端发送目标BT资源的数据块获取请求。BT客户端从而可以接收到相应的数据块获取请求。
步骤104,根据数据块获取请求中的偏移量预测目标BT资源的数据片大小。
在实施中,BT客户端接收到对端发来的数据块获取请求后,可以根据数据块获取请求中的偏移量来预测目标BT资源的数据片大小。
具体的,数据块获取请求中可以指定想要获取具体某个数据片的某段字节数据,字节数据则可以由偏移量来进行定位,即表示请求的字节数据的起始位置处于该数据片中的第几个字节,同时由于BT资源中每个数据块的大小都是固定的16KB,则可以基于偏移量来预测出该数据片中至少包含几个数据块。
进一步的,每个BT资源的数据一般分为多个大小相同的数据片,除最后一个数据片外,其余数据片的大小均一致,故而,可以基于预测出的目标BT资源的各数据片包含的数据块个数来预测目标BT资源的数据片大小。
例如,对端请求的是目标BT资源的第20个数据片,偏移量为0x8000、长度为0x4000的字节数据,那么可以猜测目标BT资源的一个数据片至少包含(0x8000+0x4000)/0x4000=3个数据块(一个数据块的大小是16KB,也就是0x4000)。
需要说明的是,由于BT资源的最后一个数据片的大小与其它数据片的大小不一致,可以对最后一个数据片单独处理,即仅根据对于最后一个数据片的数据块获取请求中的偏移量来预测目标BT资源的最后一个数据片大小。
值得一提的是,上述步骤101至步骤104的处理,主要是给出了一种在无法基于背景技术中给出的正常方式获取BT资源的元信息的情况下,对BT资源的资源信息进行预测的方法,故而,在执行步骤101之前,如果BT客户端中未存储有BT资源的元信息,则可以先按照上述正常方式来进行BT资源的元信息的获取处理,而如果获取失败,则可以按照本实施例中步骤101至步骤104给出的方法来预测BT资源的资源信息。
可选的,在预测数据片大小时,BT客户端如果收到来自对端的有更大偏移量的数据块获取请求,则可以动态更新预测结果,相应的,步骤104的处理可以如下:如果数据块获取请求中的偏移量大于已知的目标BT资源的数据块偏移量,则根据数据块获取请求中的偏移量更新目标BT资源的数据片大小。
在实施中,BT客户端接收到对端发来的数据块获取请求后,可以获取该数据块获取请求携带的偏移量,然后将该偏移量与已知的目标BT资源的数据块偏移量作比较,如果数据块获取请求中的偏移量大于已知的目标BT资源的数据块偏移量,BT客户端则可以根据数据块获取请求中的偏移量更新目标BT资源的数据片大小。
例如,BT客户端已知的目标BT资源的数据块偏移量为0x8000,预测目标BT资源的数据片大小为48KB,而本次接收到的数据块获取请求中的偏移量为0xc000,大于0x8000,故而可以基于本次的偏移量0xc000,更新目标BT资源的数据片大小为64KB。此处,已知的目标BT资源的数据块可以是BT客户端基于之前的目标BT资源的数据块获取请求来预测得到的,而之前的数据块获取请求可以是对端发送的,也可以是BT客户端与其它peer交互时,其它peer发送至BT客户端的。
可选的,在获取完BT资源信息后,BT客户端可以基于获取到的BT资源信息进行BT资源的下载,相应的处理可以如下:根据位图A和预测的目标BT资源的数据片大小,从对端获取目标BT资源的数据块。
在实施中,BT客户端在预测了目标BT资源的数据片大小之后,可以根据位图A确定对端存储的所有目标BT资源的数据片,然后基于预测的目标BT资源的数据片大小进一步确定对端存储的所有目标BT资源的数据块,进而,BT客户端可以判断对端存储的目标BT资源的数据块中本地未存储的数据块,这样,BT客户端可以对端获取这些本地未存储,而对端已存储的目标BT资源的数据块。
举例来说,目标BT资源实际包含有5个数据片,BT客户端通过上述方法预测出每个数据片至少包含3个数据块,位图A为10110,而BT客户端中已存储有前2个数据片的3个数据块和第3个数据片的前2个数据块,故而BT客户端可以确定出对端已存储而本地未存储的数据块为第3个数据片的第3个数据块和第4个数据片的前3个数据块,这样,BT客户端则可以以向对端发送数据块获取请求的方式,从对端获取上述数据块。
进一步的,在从对端获取目标BT资源的数据块的过程中,BT客户端如果更新了目标BT资源的数据片大小,则需要重新确定对端存储的数据块和本地存储的数据块,然后继续从对端获取本地未存储的数据块。
可选的,可以选用二维数组的方式来记录BT资源的数据存储情况,相应的处理可以如下:以每个数据片内的数据块个数为第一维的长度,数据片个数为第二维长度,通过二维数组的形式记录本地目标BT资源的各数据块的存储情况。
在实施中,BT客户端在存储目标BT资源的数据块时,可以以每个数据片内的数据块个数为第一维的长度,以数据片个数为第二维长度,通过二维数组的形式记录本地目标BT资源的各数据块的存储情况。
例如,以a、b、c、d代表数据片,1、2、3、4代表数据块,那么a4则代表第a个数据片的第4个数据块,二维数组即为(a1,b1,c1,d1)、(a2,b2,c2,d2)、(a3,b3,c3,d3)、(a4,b4,c4,d4)。这样,通过对二维数组中每个项赋予不同的bool型取值,则可以反映出各项对应的数据块的存储情况。
可选的,基于上述二维数组记录数据块的存储情况的处理,当预测到的目标BT资源的数据片大小增加时,在二维数组的第一维末尾对应添加新的数据组。
在实施中,BT客户端选用二维数组来记录目标BT资源的数据块的存储情况时,如果预测到的目标BT资源的数据片大小增加时,则可以直接在二维数组的第一维末尾对应添加新的数据组。例如,已有的二维数组为(a1,b1,c1,d1)、(a2,b2,c2,d2)、(a3,b3,c3,d3)、(a4,b4,c4,d4),如果预测到的目标BT资源的数据片大小增加为5,则可以在二维数组的第一维末尾对应添加数据组(a5,b5,c5,d5)。可以看出,由于BT资源的数据片个数一般显著大于一个数据片包含的数据块个数,故而选用上述二维数组记录,在更新二维数组的过程中,无需遍历所有数组,可以节省对于内存、CPU的占用。
本实施例还提供了一种由缓存服务器来获取BT资源信息的方法,缓存服务器可以部署于如图2所示的请求响应系统中,该请求响应系统中包含请求响应设备201及至少一缓存服务器202(图中以202a、202b进行示意),缓存服务器202与请求响应设备201通过网络连接。
请求响应设备可以为BT系统中peer所连接的网络出口设备,例如路由器、交换机;也可以是与网络出口设备连接,并设置在同一机房的其他独立运行的服务器设备。
缓存服务器202可基于BT协议与BT系统中的peer301(图中以301a、301b进行示意)进行通信。
BT系统中的peer301联网获取BT种子文件,并基于BT协议对其进行解析,获取tracker服务器列表,并随机选取一个tracker服务器,并向其发送peer获取请求,由于peer301向tracker服务器发送的peer获取请求,一般都要经过其所连接的网络出口设备发送出去,再到达tracker服务器,tracker服务器接收到请求后,进行响应,该响应会先到达网络出口设备,再到达peer301。
在本实施中请求响应设备201通过提前对peer获取请求进行响应,向peer301反馈缓存服务器202的访问地址,使得peer301无需等待tracker服务器的响应而快速获取缓存服务器202的访问地址,开始与缓存服务器202进行握手并进行步骤101至步骤104的处理,从而缓存服务器202可以基于与peer201的交互,获取BT资源信息,并从peer201处获取BT资源的数据块,这样,缓存服务器可以自动从BT系统中的peer处丰富本地数据库中的BT资源,无需人工对缓存服务器维护的BT资源进行维护,并且本地数据库中的BT资源均是具备一定用户需求、热度较高的BT资源,存储BT资源的价值较高。
基于相同的技术构思,本发明实施例还提供了一种获取BT资源信息的设备,该设备上可运行有一计算机程序,所述计算机程序可实现上述实施例中的方法。
可选的,所述设备为缓存服务器。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种获取BT资源信息的方法,其特征在于,所述方法包括:
在与对端进行handshake后,接收所述对端发送的目标BT资源的位图A,并根据所述位图A中的二进制位数确定所述目标BT资源包含的数据片个数;
对所述位图A进行取反,将取反得到的新位图B反馈给所述对端,以使得所述对端向本端发送所述目标BT资源的数据块获取请求,其中,所述数据块获取请求用于获取所述目标BT资源中的指定数据片的指定字节数据;
接收所述对端基于所述新位图B发送的所述数据块获取请求,其中,所述数据块获取请求至少携带有所述指定字节数据的偏移量信息和字节长度信息;
根据所述数据块获取请求中的所述偏移量信息和所述字节长度信息预测所述指定数据片包含的数据块个数,并根据所述数据块个数预测所述目标BT资源的数据片大小。
2.根据权利要求1所述的方法,其特征在于,所述对所述位图A进行取反,将取反得到的新位图B反馈给所述对端,包括:
如果本地未存储有所述目标BT资源的位图,则对所述位图A进行取反,将取反得到的新位图B反馈给所述对端,否则向所述对端反馈本地存储的所述目标BT资源的位图。
3.根据权利要求2所述的方法,其特征在于,所述向所述对端反馈本地存储的所述目标BT资源的位图,包括:
如果所述对端未存储有本地存储的所述目标BT资源的所有数据片,则向所述对端反馈本地存储的所述目标BT资源的位图,否则对所述位图A进行取反,将取反得到的新位图B反馈给所述对端。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据块获取请求中的偏移量预测所述目标BT资源的数据片大小,包括:
如果所述数据块获取请求中的偏移量大于已知的所述目标BT资源的数据块偏移量,则根据所述数据块获取请求中的偏移量更新所述目标BT资源的数据片大小。
5.根据权利要求1所述的方法,其特征在于,所述根据所述数据块获取请求中的偏移量预测所述目标BT资源的数据片大小之后,还包括:
根据所述位图A和预测的所述目标BT资源的数据片大小,从所述对端获取所述目标BT资源的数据块。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
以每个数据片内的数据块个数为第一维的长度,数据片个数为第二维长度,通过二维数组的形式记录本地所述目标BT资源的各数据块的存储情况。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当预测到的所述目标BT资源的数据片大小增加时,在所述二维数组的第一维末尾对应添加新的数据组。
8.根据权利要求1任一项所述的方法,其特征在于,所述方法由缓存服务器实现。
9.一种获取BT资源信息的设备,其特征在于,所述设备上运行有一计算机程序,所述计算机程序可实现如权利要求1至8中任一项所述的方法。
10.如权利要求9所述的获取BT资源信息的设备,其特征在于,所述设备为缓存服务器。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810718327.0A CN108964845B (zh) | 2018-07-03 | 2018-07-03 | 一种获取bt资源信息的方法和设备 |
EP18925702.5A EP3820063A4 (en) | 2018-07-03 | 2018-08-21 | PROCESS AND DEVICE FOR ACQUIRING BT RESOURCE INFORMATION |
US16/617,358 US11190584B2 (en) | 2018-07-03 | 2018-08-21 | Method and device for acquiring bit torrent resource information |
PCT/CN2018/101518 WO2020006822A1 (zh) | 2018-07-03 | 2018-08-21 | 一种获取bt资源信息的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810718327.0A CN108964845B (zh) | 2018-07-03 | 2018-07-03 | 一种获取bt资源信息的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108964845A CN108964845A (zh) | 2018-12-07 |
CN108964845B true CN108964845B (zh) | 2021-04-16 |
Family
ID=64485282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810718327.0A Expired - Fee Related CN108964845B (zh) | 2018-07-03 | 2018-07-03 | 一种获取bt资源信息的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11190584B2 (zh) |
EP (1) | EP3820063A4 (zh) |
CN (1) | CN108964845B (zh) |
WO (1) | WO2020006822A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588287A (zh) * | 2008-05-20 | 2009-11-25 | 华为技术有限公司 | 对等网络数据调度和下载的方法、装置和系统 |
CN101917488A (zh) * | 2010-08-20 | 2010-12-15 | 成都市华为赛门铁克科技有限公司 | 一种bt下载方法、装置及系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7225228B2 (en) * | 2002-03-25 | 2007-05-29 | Sun Microsystems, Inc. | Efficient binary content distribution using propagating messages |
DE602006017040D1 (de) * | 2006-05-19 | 2010-11-04 | Microsoft Corp | Inhaltsverwaltung in Peer-to-peer Datenverteilungswolken |
GB2440760A (en) * | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Network and method of transferring data over the network by nodes sending messages containing a subset of list of data available at the node |
WO2008017505A1 (en) * | 2006-08-11 | 2008-02-14 | Velocix Limited | Improved storage performance |
US8606846B2 (en) * | 2007-10-15 | 2013-12-10 | Nbcuniversal Media, Llc | Accelerating peer-to-peer content distribution |
US20090100128A1 (en) * | 2007-10-15 | 2009-04-16 | General Electric Company | Accelerating peer-to-peer content distribution |
ATE531180T1 (de) * | 2009-02-10 | 2011-11-15 | Alcatel Lucent | Verfahren und vorrichtung zur wiederherstellung von torrent inhaltsmetadaten |
US9313268B2 (en) * | 2009-03-03 | 2016-04-12 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and arrangements for prioritization in a peer-to-peer network |
US20110060721A1 (en) * | 2009-08-10 | 2011-03-10 | Vuze, Inc. | Offline downloader |
JP5442131B2 (ja) * | 2009-11-25 | 2014-03-12 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 記述ファイルに基づいた個別データ通信 |
US8458172B2 (en) * | 2009-12-24 | 2013-06-04 | At&T Intellectual Property I, L.P. | Method and apparatus for automated end to end content tracking in peer to peer environments |
US9609044B2 (en) * | 2010-11-05 | 2017-03-28 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for stored content distribution and access |
CN102075561B (zh) * | 2010-11-29 | 2013-06-05 | 华为数字技术(成都)有限公司 | 一种网络资源下载方法,装置及系统 |
US8621650B2 (en) * | 2011-10-25 | 2013-12-31 | Alcatel Lucent | Verification of content possession by an announcing peer in a peer-to-peer content distribution system |
US8719345B2 (en) * | 2012-05-11 | 2014-05-06 | Oracle International Corporation | Database replication using collaborative data transfers |
US20160026788A1 (en) * | 2014-07-28 | 2016-01-28 | Iboss, Inc. | Selectively introducing security issues in a sandbox environment to elicit malicious application behavior |
KR102346689B1 (ko) * | 2015-08-28 | 2022-01-04 | 한국전자통신연구원 | P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템 |
US10896255B2 (en) * | 2016-11-14 | 2021-01-19 | The Quantum Group, Inc. | Dynamic episodic networks |
US11553014B2 (en) * | 2017-07-04 | 2023-01-10 | Vmware, Inc. | Downloading of server-based content through peer-to-peer networks |
CN108683747B (zh) * | 2018-06-11 | 2020-11-27 | 华为技术有限公司 | 资源获取、分发、下载方法、装置、设备及存储介质 |
-
2018
- 2018-07-03 CN CN201810718327.0A patent/CN108964845B/zh not_active Expired - Fee Related
- 2018-08-21 EP EP18925702.5A patent/EP3820063A4/en not_active Withdrawn
- 2018-08-21 WO PCT/CN2018/101518 patent/WO2020006822A1/zh unknown
- 2018-08-21 US US16/617,358 patent/US11190584B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588287A (zh) * | 2008-05-20 | 2009-11-25 | 华为技术有限公司 | 对等网络数据调度和下载的方法、装置和系统 |
CN101917488A (zh) * | 2010-08-20 | 2010-12-15 | 成都市华为赛门铁克科技有限公司 | 一种bt下载方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3820063A1 (en) | 2021-05-12 |
WO2020006822A1 (zh) | 2020-01-09 |
US11190584B2 (en) | 2021-11-30 |
CN108964845A (zh) | 2018-12-07 |
EP3820063A4 (en) | 2021-08-25 |
US20210337018A1 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11194719B2 (en) | Cache optimization | |
US9015269B2 (en) | Methods and systems for notifying a server with cache information and for serving resources based on it | |
EP2562991B1 (en) | Data prefetching method, node and system for distributed hash table dht memory system | |
US11553014B2 (en) | Downloading of server-based content through peer-to-peer networks | |
US8086634B2 (en) | Method and apparatus for improving file access performance of distributed storage system | |
EP2503759A1 (en) | Method, apparatus and cache system for providing file downloading service | |
US20180324270A1 (en) | Method and apparatus for reducing network resource transmission size using delta compression | |
CN111200657B (zh) | 一种管理资源状态信息的方法和资源下载系统 | |
JP5363593B2 (ja) | トレントコンテンツメタデータを再構成する方法およびデバイス | |
WO2010077379A1 (en) | Systems and methods for peer-to-peer bandwidth allocation | |
KR20120018178A (ko) | 객체 저장부들의 네트워크상의 스웜-기반의 동기화 | |
WO2008025297A1 (fr) | Procédé de téléchargement de fichiers selon la technique p2p (pair à pair) et système de téléchargement p2p | |
US20180302489A1 (en) | Architecture for proactively providing bundled content items to client devices | |
CN111273863B (zh) | 高速缓存管理 | |
CN108881034B (zh) | 一种应用于bt系统的请求响应方法、设备及系统 | |
CN110324406B (zh) | 一种获取业务数据的方法和云服务系统 | |
US10257272B2 (en) | Randomized peer-to-peer synchronization of shared content items | |
CN114401261B (zh) | 文件下载方法及装置 | |
CN108964845B (zh) | 一种获取bt资源信息的方法和设备 | |
CN115004665B (zh) | 文件分享方法、装置及系统 | |
US10015012B2 (en) | Precalculating hashes to support data distribution | |
KR101436406B1 (ko) | P2p기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법 | |
CN108733822A (zh) | 一种文件存储方法、装置、电子设备及存储介质 | |
Hayashi et al. | An efficient content sharing scheme using file splitting and differences between versions in hybrid peer-to-peer networks | |
Filipe et al. | Towards full on-line deduplication of the Web |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210416 |