SKYNET(点对点文件共享)
概述(目标)
无对等,分布式存储和搜索
在多个节点上缓存Enteries以提高性能
鼓励合作的奖励措施
我们使用3层网络
层
描述
第1层
主服务器
第2层
对等服务器(此层中的服务器具有对等连接)
第三层
客户端(连接到第2层中的服务器)
使用Python构建所有三层节点的模块。
添加节点
主服务器类似于混合对等网络中的SuperPeer。 每当具有足够资源(处理能力,内存)的新服务器打算加入网络时,它将被添加到第2层,在该第2层中它与主服务器建立连接(如果已经存在)或将自己指定为主服务器(如果没有主服务器)存在)。
除主服务器外,传入服务器还与第2层(如果存在)中的对等服务器连接。 新服务器创建一个哈希表,以与第二层中的服务器建立虚拟连接。 虚拟连接-新节点具有第2层的拓扑信息。
如果一个或多个主服务器过载,则如果第2层的服务器具有足够的可用带宽和处理能力,则它们可以被提升为第1层的主服务器。
传入客户端添加到第3层,在此它们与第1层中的主服务器分配给它们的第2层中的服务器连接。传入客户端所连接的服务器是根据负载确定的,其中负载最小的服务