1.一种车联网环境中面向节点协作存储的区块链节点分片方法,其特征在于,所述方法包括:区块链系统中的所有节点对工作量证明难题进行求解,最先解决工作量证明难题的前h个节点确定为目录委员会中的各成员节点;
随机从各所述成员节点中选出目录委员会的领导节点;
各所述成员节点各自运行NSGA‑II算法,得到各所述成员节点的最佳分片结果;
各所述成员节点将各自的最佳分片结果发送至所述领导节点;
所述领导节点根据各最佳分片结果,从中选出通信延迟差异最小的最佳分片结果,向目录委员会中的其他节点广播通信延迟差异最小的最佳分片结果;
目录委员会中的其他节点根据接收到的通信延迟差异最小的最佳分片结果进行确认签名;
当所述领导节点接收到大于等于 2h/3个节点的确认签名的情况下,目录委员会达成共识,分片完成;
当所述领导节点接收到小于 2h/3个节点的确认签名的情况下,返回执行所述随机从各所述成员节点中选出目录委员会的领导节点的步骤,直至所述领导节点接收到大于等于
2h/3个节点的确认签名,目录委员会达成共识,分片完成,生成分片结果列表;
根据所述分片结果列表,对各分片中的节点进行协作组划分,确定各分片的协作组划分结果列表;
所述NSGA‑II算法的目标函数为:
;
其中, 为分片间节点数量的差异, 为分片间的恶意节点比例差异, 为分片间的通信延迟差异, 为分片间的存储空间差异,Ω为节点划分的解空间,X为成员节点的最佳分片结果,R为最佳分片结果中分片内恶意节点的比例;
所述分片间节点数量的差异 的计算方式为:
;
其中, 为分片j中的节点数,h为区块链系统中的分片数;
所述分片间的恶意节点比例差异 的计算方式为:;
;
其中, 为分片j的恶意节点比例,Ej为分片j内恶意节点数;
所述分片间的通信延迟差异 的计算方式为:
;
其中, 为分片j内所有节点到分片领导节点u的通信延迟差异, 为领导节点u到节点i的通信延迟,gj为分片j的节点总数, 为分片领导节点u接收到节点i回复的时刻,为分片领导节点u发送信息给节点i的时刻;
所述分片间的存储空间差异 的计算方式为:
;
其中, 为分片j内节点的存储空间,ci为节点i的存储空间大小。
2.根据权利要求1所述的车联网环境中面向节点协作存储的区块链节点分片方法,其特征在于,在所述区块链系统中的所有节点对工作量证明难题进行求解,最先解决工作量证明难题的前h个节点确定为目录委员会中的各成员节点的步骤之前,还包括:对区块链系统中的所有节点进行分析,确定所述区块链系统中的恶意节点以及恶意节点总数;
根据所述区块链系统中的节点总数和所述区块链系统中的恶意节点总数,确定所述区块链系统中恶意节点的比例是否大于三分之一;
在所述区块链系统中恶意节点的比例大于三分之一的情况下,从所述区块链系统中移除q个恶意节点;
其中, ,为需要移除的恶意节点个数,m为区块链系统中的恶意节点个数,N为区块链系统中的节点总数,Δ为区块链系统中恶意节点的比例。
3.根据权利要求1所述的车联网环境中面向节点协作存储的区块链节点分片方法,其特征在于,所述根据所述分片结果列表,对各分片中的节点进行协作组划分,确定各分片的协作组划分结果列表,包括:将分片j中可用存储空间大于分片j所需存储空间Fj的节点从所述分片结果列表中移除;
所述目录委员会的领导节点广播开始组队通知;
分片j中的节点接收到开始组队通知后,立即向分片j中的其他节点广播组队请求;
当分片j中的节点i接收到一个节点b的同意组队消息后,计算该节点i和该节点b的可用存储空间大小,若节点i和节点b的可用存储空间总和大于Fj,则组队结束;
若节点i和节点b的可用存储空间总和小于等于Fj,则继续等待其他节点的同意组队消息,直至节点i与同意组队的节点的可用存储空间总和大于Fj;
当所述分片结果列表中各分片的节点全部完成组队或各分片的剩余未组队的节点的可用存储空间总和小于F,各分片的协作组划分结束,各分片的剩余未组队的节点将作为各分片的候补节点。