1.一种基于多层次区块链的冷链物流产品联邦推荐方法,其特征在于,包括如下步骤:步骤1:通过应用服务器将用户使用冷链物流产品网的行为数据批量采集并存储到本地数据库中;
步骤2:将本地数据库存储到的数据以及产品属性信息进行上链前的预处理,利用区块链加密机制将对产品温度数据和索引信息进行链上存储,对用户行为数据和冷链产品基本属性进行链下存储,链上产品索引区块节点与链下产品区块节点相连从而构建多层次区块链网络;
步骤3:通过智能合约对多层次区块链网络进行链上链下的访问控制,启动联邦学习对区块链中存储数据转化为模型共享,生成数据共享训练集;
步骤4:根据数据共享的训练集采用优化的协同过滤算法,通过量化哈希函数权重和评分加权预测方法从而生成推荐列表返回给用户。
2.根据权利要求1所述的基于多层次区块链的冷链物流产品联邦推荐方法,其特征在于,所述步骤1的具体方法为:步骤1.1:通过在产品网页面调用SDK对行为数据进行埋点上报,把不同的用户行为相关的业务字段放在data数组中,避免上报大量的重复数据;
步骤1.2:后端日志服务器http通过接口接收数据;
步骤1.3:接口接收到数据后,对数据进行拆分,将包含了多个用户的数据拆开,输出多条日志数据;
步骤1.4:根据日志数据构建日志数据字段在MySQL数据库中创建产品基本属性数据表和用户行为数据表;
步骤1.5:根据上述两个表定义表结构,产品数据表主要包括产品ID,产品名称name,产品数量number,用户行为数据表主要包括用户ID、产品ID、行为状态type,并将产品ID定义为外键,构建两表关联关系。
3.根据权利要求1所述的基于多层次区块链的冷链物流产品联邦推荐方法及装置,其特征在于,所述步骤2的具体方法为:步骤2.1:将构建的产品基本属性数据表和用户行为数据表的用户ID、产品ID、产品名称Name、行为状态type数据提取出作为关键词,得到关键词集合U_P=(UP1,UP2,...,UPn)将其作为用户‑产品元数据集;
步骤2.2:冷链物流产品监管者Mad提供严格控制的产品温度数据Temp,附着在用户‑产品元数据集下,作为链上存储的叶子区块节点,形成U_P(Temp);
步骤2.3:根据上述的含叶子区块节点的关键词元数据集U_P(Temp)=(U_P1,U_P2,...,U_Pn),对于每个关键词U_Pi构建密文关键词E_UPi作为一个元组插入到索引链表,记作IC,按时间戳记录多个元数据块Indi,其中i为根据创建时间戳给出的顺序编号;
c
步骤2.4:冷链物流产品监管者Mad使用初始化策略PreP向链下存储池所有节点OF 提出预上链申请;
c
步骤2.5:OF设置预判断策略PreJuge,首先与合约控制机制SC通信,判断该索引链表的有效性;首先搜索已有的索引链是否已有该产品信息、判断是否涉及重复上链和过期的现象;
步骤2.6:利用预判断策略PreJuge通过共识算法raft(BC)返回信息为True,即该产品验证有效,得到合约控制链IC‑SC;
步骤2.7:产品通过验证有效后,IC‑SC正式进行上链,IC‑SC的签名策略合约Sign‑SC向链上系统BC‑OnSy发送上链的签名邀请,只有获得产品所有者签名的材料才能被运行链上可见和后续使用;
步骤2.8:然后产品所有者使用自己的私钥对IC‑SC进行对称密钥加密,生成加密元数据;
步骤2.9:链上系统BC‑OnSy进行p2p交易广播,网络中所有的节点通过PBFT共识算法达成区块共识,将加密元数据存入区块;
步骤2.10:链下系统BC‑OFSy同样进行广播交易,将叶子区块节点通过PBFT共识算法达成区块共识,最终实现上链,形成多层次区块链网络On‑Chain。
4.根据权利要求1所述的基于多层次区块链的冷链物流产品联邦推荐方法,其特征在于,所述步骤3的具体方法为:步骤3.1:冷链物流产品监管者Mad根据区块中存储的产品类型将区块链中的所有节点划分不同的社区;
步骤3.2:冷链物流产品监管者Mad首先将自己的公钥PKr发送到不同社区的节点进行注册,生成Mad的数据检索记录;
步骤3.3:数据检索记录由节点广播到许可的On‑Chain中的合约控制链IC‑SC上的其他节点进行验证,其他节点收集所有收到的记录,并在将它们写入许可区块链之前对其进行验证;
步骤3.4:数据请求者r向其社区附近的超级节点SNreq发送数据共享请求Req,Req包含Mad的ID、请求的数据类型和时间戳,由Mad用其私钥SKr签名;
步骤3.5:一旦附近社区的节点收到数据共享请求,则会验证Mad的身份;
步骤3.6:然后节点搜索许可的区块链搜索区块链,以了解改请求之前是否已被处理;
步骤3.7:如果有记录,查找命中,则将缓存数据模型M作为反馈返回;
步骤3.8:否则返回步骤3.6继续查找相关方;
步骤3.9:最后生成查询结果ReqX作为训练集,供联邦学习训练全局数据模型使用。
5.根据权利要求1所述的基于多层次区块链的冷链物流产品联邦推荐方法及装置,其特征在于,所述步骤4的具体方法为:步骤4.1:将数据共享训练集ReqX作为训练集,利用协方差矩阵得到投影向量的特征向量和特征值,从而构建哈希表,假设高维特征数据集ReqX中的τ个元素均为n维向量,用矩阵表示: 其中,ui表示用户i的评分向量,rij表示用户i对项目j的评分,vi表示每个维度;
步骤4.2:为了保证所有维度上的偏移都是以零为基点的,将样本去中心化,表示其中,表示每个维度的平均值;由 得到协方差矩阵表示: 其中 表示各个维度上的方差,Sij两两维度间的协方差;
步骤4.3:对上述的协方差矩阵S进行特征值分解得到特征向量集合V和特征值集合N;
步骤4.4:根据步骤4.2获得的协方差矩阵得到特征值集合N和特征向量集合V,选择前m(m=kl)个特征向量组成集合V′=(v1,v2,…,vm),其中,k表示每个哈希表中哈希函数的个数,l表示哈希表个数;
步骤4.5:根据相应的特征值计算每个哈希表中k个哈希函数权重并根据 计算桶间隔,利用 对每一个数据点进行哈希值的计
算,从而将数据点插入到对应的哈希桶中,得到整个数据集优化后的索引,其中W0为初始默认值,λi为特征值,λ1代表最大特征值;
步骤4.6:在从第二个哈希表开始,利用 记录于
数据点x冲突次数达到t次以上的点,并将该点存储在数据集中,其中con f(p)表示冲突次数,p在l个哈希表中的冲突次数,q为候选点,t为冲突阈值;
步骤4.7:将得到的数据集中的点x与查询点x进行比较,如果距离大于给定的检索半径r即D(x,x′)>r,则将该点从结果集中删除,从而获得数据点x的所有近似近邻结果集,否则继续比较;
步骤4.8:根据上述算法得到的最近邻用户集合,利用 其中,ζ为常数1,当用户u和用户v的欧氏距离为0时,用户间的相似系数为1,计算目标用户与近邻用户之间相似度;
步骤4.9:通过 加权平均策略进行评分预测,得到用户对
未评分项目的预测评分,其中Pui表示用户u对项目i的预测评分,Ψ为用户u的最近邻集合,评分项目的平均评分;
步骤4.10:依据上述评分的高低,产生项目推荐列表,最后返回给客户端。
6.一种基于多层次区块链的冷链物流产品联邦推荐装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时执行如权利要求1‑5任一项所述的基于多层次区块链的冷链物流产品联邦推荐方法的步骤。