利索能及
我要发布
收藏
专利号: 2019108983371
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种分布式系统NAT穿透方法,其特征在于,包括下述步骤:

当第一节点接入P2P网络时,与所述P2P网络中的公网节点建立通讯连接,获取所述公网节点的节点列表的节点信息,并根据获取的节点信息更新所述第一节点的本地节点列表;

所述第一节点在请求存储资源时,通过所述P2P网络的重叠网络传输协议获取可为所述第一节点提供存储资源的最近的第二节点的信息;及如果所述第一节点的本地节点列表中包含所述第二节点的信息,所述第一节点根据所述第二节点的信息与所述第二节点建立通讯连接;

如果所述第一节点的本地节点列表中未包含所述第二节点的信息,所述第一节点遍历访问本地列表中的节点并向本地列表中的节点查询第二节点的信息;所述第一节点接收本地列表中的节点返回的查询结果及所述节点的本地列表中的节点信息,根据接收到的节点信息来更新所述第一节点的本地节点列表;当所述第一节点根据本地节点列表的节点的查询结果查询到所述第二节点的信息时,停止遍历访问本地列表中的其他节点,向所述第一节点反馈查询到所述第二节点信息的节点为第三节点;所述第一节点向所述第三节点发送打洞请求,以使所述第三节点将收到的打洞请求转发给第二节点,所述打洞请求包括第一节点的ID以及地址信息和第二节点的ID;所述第一节点接收所述第三节点转发所述第二节点的应答消息,所述应答消息包含第二节点的打洞确认、ID和地址信息;所述第一节点根据所述第三节点转发的第二节点的应答消息与所述第二节点建立通讯连接。

2.根据权利要求1所述的分布式系统NAT穿透方法,其特征在于,获取所述公网节点的节点列表的节点信息,并根据获取的节点信息更新所述第一节点的本地节点列表的步骤具体包括:所述第一节点获取所述公网节点的节点列表的节点信息,并根据获取的节点信息尝试与所述节点信息对应的节点建立通讯连接;

如果所述第一节点成功与所述节点信息对应的节点建立通讯连接,则将所述节点信息添加到所述第一节点的本地节点列表中更新本地节点列表。

3.根据权利要求1所述的分布式系统NAT穿透方法,其特征在于,在通过所述P2P网络的重叠网络传输协议获取可提供存储资源的最近的第二节点的信息的步骤具体包括:通过重叠网络传输协议的xor算法,查找所述公网节点的节点列表的节点和第一节点本地节点列表的节点,计算所述公网节点的节点列表的节点和所述第一节点的距离,以及所述第一节点本地节点列表的节点和所述第一节点的距离,并分别向所述公网节点的节点列表的节点和第一节点本地节点列表的节点发送存储资源请求,所述请求中包括请求的存储资源量;接收所述公网节点的节点列表的节点和第一节点本地节点列表的节点返回的存储资源反馈,所述反馈中包括可提供的存储资源量;

根据所述存储资源反馈,筛选出可提供的存储资源量大于等于第一节点请求的存储资源量的节点,并根据筛选出的节点与所述第一节点的距离,来确定可提供存储资源的最近的第二节点。

4.根据权利要求1所述的分布式系统NAT穿透方法,其特征在于,所述第一节点根据所述第三节点转发的第二节点的应答消息与所述第二节点建立通讯连接的步骤具体包括:所述第一节点利用所述第二节点的地址信息在网络中打通往第二节点的洞;

如果打洞成功,则所述第一节点成功与所述第二节点建立通讯连接;

如果打洞失败,则所述第一节点通过所述第三节点实现和第二节点的通讯。

5.一种NAT穿透装置,所述装置为P2P网络中的存储节点,其特征在于,包括:

接入模块,用于接入P2P网络时,与所述P2P网络中的公网节点建立通讯连接,获取所述公网节点的节点列表的节点信息,并根据获取的节点信息更新第一节点的本地节点列表;

获取模块,用于在请求存储资源时,通过所述P2P网络的重叠网络传输协议获取可为所述第一节点提供存储资源的最近的第二节点的信息;

通讯模块,用于如果所述第一节点的本地节点列表中包含所述第二节点的信息,所述第一节点根据所述第二节点的信息与所述第二节点建立通讯连接;

如果所述第一节点的本地节点列表中未包含所述第二节点的信息,所述第一节点遍历访问本地列表中的节点并向本地列表中的节点查询第二节点的信息;所述第一节点接收本地列表中的节点返回的查询结果及所述节点的本地列表中的节点信息,根据接收到的节点信息来更新所述第一节点的本地节点列表;当所述第一节点根据本地节点列表的节点的查询结果查询到所述第二节点的信息时,停止遍历访问本地列表中的其他节点,向所述第一节点反馈查询到所述第二节点信息的节点为第三节点;所述第一节点向所述第三节点发送打洞请求,以使所述第三节点将收到的打洞请求转发给第二节点,所述打洞请求包括第一节点的ID以及地址信息和第二节点的ID;所述第一节点接收所述第三节点转发所述第二节点的应答消息,所述应答消息包含第二节点的打洞确认、ID和地址信息;所述第一节点根据所述第三节点转发的第二节点的应答消息与所述第二节点建立通讯连接。

6.一种NAT穿透设备,所述设备为P2P网络中的存储节点,其特征在于,所述NAT穿透设备包括处理器,存储器以及存储在所述存储器中的NAT穿透程序,所述NAT穿透程序被所述处理器运行时,实现如权利要求1‑4中任一项所述的NAT穿透方法的步骤。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有NAT穿透程序,所述NAT穿透程序被处理器运行时,实现如权利要求1‑4中任一项所述的方法的步骤。