1.一种基于区块链的分层联邦学习方法,其特征在于:该方法包括以下步骤:S1:基于区块链的分层联邦学习;
所述S1中,建立基于区块链的三层网络模型:
1)用户层,包括智能手机、可穿戴设备、私人计算机和智能终端;
2)边缘服务层,包括分布式边缘服务器;
3)中心云层,包括云服务器和发起任务请求的企业和机构;
边缘服务器是部署在基站,为用户提供计算力服务;
用户层由拥有本地训练数据的终端智能设备组成;
终端设备拥有算力和通信能力,通过优化算力和功率分配降低系统总时延和能耗;
云服务器拥有算力负责统筹协调分配任务;边云协同网络共同维护区块链;
云服务器发布与任务信息相关的智能合约,边缘服务器执行智能合约;
S2:用户数据Non-IID程度估计;
所述S2中,对于用户n,dn,l为用户数据中类别为1的样本数量,Dn为用户本地数据集的样本总量;qn(l)=dn,l/Dn表示任务类别1的样本数量在总样本数量中的占比;数据IID时q(l)=1/L,即该数据集拥有所有的任务类别,且样本数量均等;用户n的数据Non-IID程度表示为:S3:优化用户关联和资源分配;
所述S3中,用户资源分配之前确定用户和边缘服务器的连接关系,边缘服务器优化关联用户选择,使得其Non-IID程度最小,针对优化用户关联,用户通过优化算法分配算力和传输功率,所述优化算法的目标是最小化网络总代价,包括同集合用户Non-IID程度、任务处理时延和任务处理能耗,对于用户n,计算时延为上传时延为计算能耗为上传能耗为优化目标如下所示:其中为所有用户集合,为边缘服务器m覆盖范围内的用户集合,xn,m表示用户n与边缘服务器m的连接关系;α1,α2,α3为权值,基于不同的应用场景的具体需求设定;
S4:基于区块链侧链降低共识时延;
所述S4中,主链区块用于存储全局模型和与聚合全局模型有关的操作流程,侧链区块用于存储边缘模型。