Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
P2P网络设计_P2p - Fatal编程技术网

P2P网络设计

P2P网络设计,p2p,P2p,我正在尝试设计一个P2P网络,所有对等方共享相同的数据,并对其进行更改。不进入一致性部分(即假设一次只有一个节点对数据进行更改) 如何确保所有对等点都以容错方式连接到其他对等点?我只能想到一种方法,那就是每个对等点可以从另一个对等点请求更多的对等点,但是我如何确保连接尽可能均匀地分布,而TCP连接上没有一个对等点过载,而另一个对等点可能几乎没有任何连接?甚至我如何防止所有对等点分裂成两个独立的组?类似bittorrent()的东西通过将两个端点的标识符散列在一起来计算优先顺序,应该允许节点到达覆

我正在尝试设计一个P2P网络,所有对等方共享相同的数据,并对其进行更改。不进入一致性部分(即假设一次只有一个节点对数据进行更改)


如何确保所有对等点都以容错方式连接到其他对等点?我只能想到一种方法,那就是每个对等点可以从另一个对等点请求更多的对等点,但是我如何确保连接尽可能均匀地分布,而TCP连接上没有一个对等点过载,而另一个对等点可能几乎没有任何连接?甚至我如何防止所有对等点分裂成两个独立的组?

类似bittorrent()的东西通过将两个端点的标识符散列在一起来计算优先顺序,应该允许节点到达覆盖的伪随机布局,同时避免节点被“遗漏”。将这两个身份散列在一起,会从每个对等方的角度产生不同但全局一致的排序,从而构建一个随机布局。随着每个节点的边数增加,网络分裂的机会将迅速趋于零


您还可以限制每个对等方接受的连接数量,这将迫使其他人在连接饱和后转向其他地方。

类似于bittorrent的()它通过将两个端点的标识符散列在一起来计算优先顺序,应该允许节点达到覆盖的伪随机布局,同时避免节点被“遗漏”。将这两个身份散列在一起,会从每个对等方的角度产生不同但全局一致的排序,从而构建一个随机布局。随着每个节点的边数增加,网络分裂的机会将迅速趋于零


您可以对每个对等方接受的连接数量进行限制,这将迫使其他人在连接饱和后去其他地方查看。

让我直说吧。每个对等方将根据crc32对其他对等方进行优先级排序,结果越高,它就越希望将其保留为对等方?如果需要,将其他对等方踢出,以便在连接上限内为其腾出空间,是的,您是否可以编辑您的答案以包含文章,以防出现死链接?然后,我会将此标记为正确答案另一个问题,它应该如何处理具有相同原型的同行?先到先得?更正:原型应该是优先的,所以让我直说吧。每个对等方将根据crc32对其他对等方进行优先级排序,结果越高,它就越希望将其保留为对等方?如果需要,将其他对等方踢出,以便在连接上限内为其腾出空间,是的,您是否可以编辑您的答案以包含文章,以防出现死链接?然后,我会将此标记为正确答案另一个问题,它应该如何处理具有相同原型的同行?先到先得?更正:原型应该是优先的