摘要

针对联邦学习客户端数据集的存储任务分配问题构建新型模型,为保证去中心化云存储网络的负载均衡,缩短存储数据上传/恢复时间,减少客户端存储总花费,提出了一种考虑客户端需求和全局负载的数据存储任务分配算法——URGL_allo(Allocation Based on User Requirements and Global Load)算法。在节点分配阶段考虑全局负载、拓扑属性及客户端关注的存储价格和数据恢复时间等节点资源,结合万有引力定律定义新的节点排序方法,选择最佳存储任务分配节点。在链路分配阶段,使用Dijkstra算法计算以客户端节点为中心到网络中其他节点的最短路径,并选择两节点间最短路径集合中带宽值最大的路径进行分配。仿真结果表明,相比基于随机策略的分配算法(Random_allo),所提算法的负载均衡指数、客户端存储总花费分别降低了41.9%,5%,并且与基于链路带宽的贪婪算法的数据恢复时间相差不大,都稳定维持在(0,2]之间,是Random_allo算法的1/20,在全局负载和服务质量上的综合表现优于对比算法。