System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及对等网络,具体而言,涉及一种文件获取方法、装置、节点设备和计算机可读存储介质。
技术介绍
1、近几年直播点播行业的竞争愈演愈烈,高额的带宽成本成为行业内所有公司都必须面对的问题,除了直播拉流,礼物包、资源包、点播文件等多种场景同样会产生巨大的带宽成本。
2、对等网络p2p(peer-to-peer,p2p)技术,又称对等互联网络技术,它依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上,为海量用户、海量文件的应用场景提供很好的解决方案。
3、如何提高p2p网络中共享文件的获取效率是本领域技术人员亟待解决的问题。
技术实现思路
1、本专利技术的目的在于提供了一种文件获取方法、装置、节点设备和计算机可读存储介质,其能够提高p2p网络中共享文件的获取效率。
2、本专利技术的实施例可以这样实现:
3、第一方面,本专利技术提供一种文件获取方法,应用于对等p2p网络中的多个节点中的请求节点,至少一个所述节点与至少一个客户端通信连接,至少一个客户端存储有可通过所述p2p网络分享的共享文件,所有所述客户端存储的共享文件预先划分为至少一个分区,每一所述节点存储有第一检索信息、第二检索信息及第三检索信息,所述第一检索信息用于检索分区归属的节点,所述第二检索信息用于检索存储该节点的分区中共享文件的第三检索信息的节点,所述第三检索信息用于检索该节点存储的共享文件所属的客户端,所述请求节点与请求客户端通信连接,所述方法包括:
4、接收所述请求客户端发送的文件获取请求,所述文件获取请求包括待获取共享文件的文件标识;
5、根据所述文件标识及本地的第一检索信息,确定所述待获取共享文件所属分区归属的第一索引节点;
6、将所述文件标识发送至所述第一索引节点,以使所述第一索引节点根据所述文件标识及本地的第二检索信息检索第二索引节点,并在检索成功时将所述第二索引节点返回至所述请求节点,所述第二索引节点为存储有所述待获取共享文件的第三检索信息的节点;
7、若接收到返回的第二索引节点,则向所述第二索引节点发送文件标识,以使所述第二索引节点根据所述文件标识及本地的第三检索信息获取所述待获取共享文件并将所述待获取共享文件返回至所述请求节点,以通过所述请求节点返回至所述请求客户端。
8、在可选的实施方式中,所述方法还包括:
9、若未接收到返回的所述第二索引节点,则从所述多个节点中随机选择预设数量的候选节点;
10、将所述文件标识广播至所述候选节点,以使所述候选节点根据本地存储的第三检索信息检索存储有所述待获取共享文件的目标客户端,并在检索成功时获取所述待获取共享文件并将所述待获取共享文件返回至所述请求节点,以通过所述请求节点返回至所述请求客户端。
11、在可选的实施方式中,所述第一索引节点根据所述文件标识及本地的第二检索信息检索第二索引节点的方式为:
12、若所述第一索引节点读取本地的第二检索信息失败,则判定检索失败;
13、若所述第一索引节点读取本地的第二检索信息成功,则所述第一索引节点根据所述文件标识及本地的第二检索信息,确定所述第二索引节点。
14、在可选的实施方式中,所述第一索引节点的第二检索信息通过以下方式更新:
15、当任一所述节点接收到客户端发送的第一文件同步请求时,根据所述第一文件同步请求携带的第一待同步文件标识及本地的第一检索信息,确定所述第一待同步文件所属分区归属的同步节点;
16、若所述同步节点为所述第一索引节点,则将所述第一待同步文件及接收所述第一文件同步请求的节点发送至所述第一索引节点,以使所述第一索引节点根据所述第一待同步文件及接收所述第一文件同步请求的节点更新所述第一索引节点的第二检索信息。
17、在可选的实施方式中,所述候选节点的第三检索信息通过以下方式更新:
18、当任一客户端向所述候选节点发送第二文件同步请求时,根据所述第二文件同步请求携带的第二待同步文件标识及对应的客户端更新所述候选节点的第三检索信息。
19、在可选的实施方式中,所述第二索引节点根据所述文件标识及本地的第三检索信息获取所述待获取共享文件的方式:
20、根据文件标识及本地的第三检索信息确定存储所述待获取共享文件的目标客户端;
21、将所述文件标识发送至所述目标客户端;
22、所述目标客户端根据所述文件标识获取所述待获取共享文件的分享优先级,并按照所述分享优先级将所述待获取共享文件发送至所述第二索引节点,所述分享优先级是根据所述待获取共享文件的热度设置的,所述待获取共享文件的热度是从所述多个节点中的统计节点获取的,所述统计节点存储的第二检索信息包括存储有所述待获取共享文件的第三检索信息的节点。
23、在可选的实施方式中,所述统计节点统计有所述待获取共享文件的下载次数,所述待获取共享文件的热度计算方式为:
24、所述统计节点根据本地的第二检索信息统计存储有所述待获取共享文件的客户端的个数;
25、所述统计节点根据所述下载次数和所述个数,计算所述待获取共享文件的热度。
26、第二方面,本专利技术提供一种文件获取装置,应用于对等p2p网络中的多个节点中的请求节点,至少一个所述节点与至少一个客户端通信连接,至少一个客户端存储有可通过所述p2p网络分享的共享文件,所有所述客户端存储的共享文件预先划分为至少一个分区,每一所述节点存储有第一检索信息、第二检索信息及第三检索信息,所述第一检索信息用于检索分区归属的节点,所述第二检索信息用于检索存储该节点的分区中共享文件的第三检索信息的节点,所述第三检索信息用于检索该节点存储的共享文件所属的客户端,所述请求节点与请求客户端通信连接,所述装置包括:
27、接收模块,用于接收所述请求客户端发送的文件获取请求,所述文件获取请求包括待获取共享文件的文件标识;
28、确定模块,用于根据所述文件标识及本地的第一检索信息,确定所述待获取共享文件所属分区归属的第一索引节点;
29、发送模块,用于将所述文件标识发送至所述第一索引节点,以使所述第一索引节点根据所述文件标识及本地的第二检索信息检索第二索引节点,并在检索成功时将所述第二索引节点返回至所述请求节点,所述第二索引节点为存储有所述待获取共享文件的第三检索信息的节点;
30、返回模块,用于若接收到返回的第二索引节点,则向所述第二索引节点发送文件标识,以使所述第二索引节点根据所述文件标识及本地的第三检索信息获取所述待获取共享文件并将所述待获取共享文件返回至所述请求节点,以通过所述请求节点返回至所述请求客户端。
31、第三方面,本专利技术提供一种节点设备,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现前述实施方式中任一项所述的文件获取方法。
32、第四方面,本发本文档来自技高网...
【技术保护点】
1.一种文件获取方法,其特征在于,应用于对等P2P网络中的多个节点中的请求节点,至少一个所述节点与至少一个客户端通信连接,至少一个客户端存储有可通过所述P2P网络分享的共享文件,所有所述客户端存储的共享文件预先划分为至少一个分区,每一所述节点存储有第一检索信息、第二检索信息及第三检索信息,所述第一检索信息用于检索分区归属的节点,所述第二检索信息用于检索存储该节点的分区中共享文件的第三检索信息的节点,所述第三检索信息用于检索该节点存储的共享文件所属的客户端,所述请求节点与请求客户端通信连接,所述方法包括:
2.如权利要求1所述的文件获取方法,其特征在于,所述方法还包括:
3.如权利要求1所述的文件获取方法,其特征在于,所述第一索引节点根据所述文件标识及本地的第二检索信息检索第二索引节点的方式为:
4.如权利要求1所述的文件获取方法,其特征在于,所述第一索引节点的第二检索信息通过以下方式更新:
5.如权利要求2所述的文件获取方法,其特征在于,所述候选节点的第三检索信息通过以下方式更新:
6.如权利要求1所述的文件获取方法,其
7.如权利要求6所述的文件获取方法,其特征在于,所述统计节点统计有所述待获取共享文件的下载次数,所述待获取共享文件的热度计算方式为:
8.一种文件获取装置,其特征在于,应用于对等P2P网络中的多个节点中的请求节点,至少一个所述节点与至少一个客户端通信连接,至少一个客户端存储有可通过所述P2P网络分享的共享文件,所有所述客户端存储的共享文件预先划分为至少一个分区,每一所述节点存储有第一检索信息、第二检索信息及第三检索信息,所述第一检索信息用于检索分区归属的节点,所述第二检索信息用于检索存储该节点的分区中共享文件的第三检索信息的节点,所述第三检索信息用于检索该节点存储的共享文件所属的客户端,所述请求节点与请求客户端通信连接,所述装置包括:
9.一种节点设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现权利要求1-7中任一项所述的文件获取方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-7任一项所述的文件获取方法。
...【技术特征摘要】
1.一种文件获取方法,其特征在于,应用于对等p2p网络中的多个节点中的请求节点,至少一个所述节点与至少一个客户端通信连接,至少一个客户端存储有可通过所述p2p网络分享的共享文件,所有所述客户端存储的共享文件预先划分为至少一个分区,每一所述节点存储有第一检索信息、第二检索信息及第三检索信息,所述第一检索信息用于检索分区归属的节点,所述第二检索信息用于检索存储该节点的分区中共享文件的第三检索信息的节点,所述第三检索信息用于检索该节点存储的共享文件所属的客户端,所述请求节点与请求客户端通信连接,所述方法包括:
2.如权利要求1所述的文件获取方法,其特征在于,所述方法还包括:
3.如权利要求1所述的文件获取方法,其特征在于,所述第一索引节点根据所述文件标识及本地的第二检索信息检索第二索引节点的方式为:
4.如权利要求1所述的文件获取方法,其特征在于,所述第一索引节点的第二检索信息通过以下方式更新:
5.如权利要求2所述的文件获取方法,其特征在于,所述候选节点的第三检索信息通过以下方式更新:
6.如权利要求1所述的文件获取方法,其特征在于,所述第二索引节点根据所述文件标识...
【专利技术属性】
技术研发人员:白飞飞,徐文义,
申请(专利权)人:广州虎牙科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。