当前位置: 首页 > 专利查询>四川大学专利>正文

基于Merkle山脉的多链追溯方法、装置和存储介质制造方法及图纸

技术编号:34889105 阅读:9 留言:0更新日期:2022-09-10 13:47
本申请提供一种基于Merkle山脉的多链追溯方法、装置和存储介质,属于数据处理的技术领域。所述方法包括:采用Merkle山脉构建汽车零部件供应链、价值传递链以及产品服务链中的每个区块,每个区块的区块头包括区块版本号;根据每条链各自存储的多个产品的交易数据,为每条链中的每个区块构建索引树,其中产品包括零件、零部件以及整车,索引树中包含有将交易数据存储于该区块内的多个产品各自对应的编码值;获取待追溯的产品的目标编码值和/或目标区块版本号,基于每个区块对应的索引树,在汽车零部件供应链、价值传递链以及产品服务链上对待追溯的产品进行正向追溯、反向追溯、过程追溯和召回追溯。本申请旨在减少追溯过程的难度。难度。难度。

【技术实现步骤摘要】
基于Merkle山脉的多链追溯方法、装置和存储介质


[0001]本申请实施例涉及数据处理
,具体而言,涉及一种基于Merkle山脉的多链追溯方法、装置和存储介质。

技术介绍

[0002]随着区块链技术的发展,基于云平台的信息化协同模式已成为价值链的重要管理手段之一,云平台突破了核心企业与下游企业信息交换的时间和空间上的限制,打破信息孤岛,提高了信息交换的效率,为企业提高更有效的管理策略。区块链技术的应用越来越广泛,例如汽车制造业。
[0003]但是,当前的发展趋势逐渐转向服务型制造业,一个产品的完整制造链路将会涉及零件供应商、加工处理商、整车制造商和终端服务商等环节,涉及多方交易,因此对于一个产品的零件的流通过程难以追溯,例如对一个不合格产品的零件召回或返工时,由于追溯难度较大而导致召回或返工时工作量较大。

技术实现思路

[0004]本申请实施例提供一种基于Merkle山脉的多链追溯方法、装置和存储介质,旨在减少追溯过程的难度。
[0005]第一方面,本申请实施例提供一种基于Merkle山脉的多链追溯方法,所述方法包括:
[0006]采用Merkle山脉构建汽车零部件供应链、价值传递链以及产品服务链中的每个区块,所述每个区块的区块头包括区块版本号;
[0007]根据所述汽车零部件供应链、所述价值传递链以及所述产品服务链各自存储的多个产品的交易数据,为每条链中的每个区块构建索引树,其中,所述产品包括零件、零部件以及整车,所述每个区块对应的索引树与所述Merkle山脉同步更新,所述索引树中包含有将交易数据存储于该区块内的多个产品各自对应的编码值;
[0008]获取待追溯的产品的目标编码值和/或目标区块版本号,基于所述每个区块对应的索引树,在所述汽车零部件供应链、所述价值传递链以及所述产品服务链上对所述待追溯的产品进行数据追溯,所述数据追溯包括正向追溯、反向追溯、过程追溯和召回追溯。
[0009]可选地,采用Merkle山脉构建汽车零部件供应链、价值传递链以及产品服务链中的每个区块,包括:
[0010]在所述汽车零部件供应链、所述价值传递链以及所述产品服务链中的每个区块的区块头中增加Merkle山脉根哈希字段,所述区块头包括区块版本号、时间戳、难度值、随机数、前一区块哈希值和Merkle根哈希;
[0011]在所述汽车零部件供应链、所述价值传递链以及所述产品服务链中的每个区块的区块体中新增Merkle山脉。
[0012]可选地,根据所述汽车零部件供应链、所述价值传递链以及所述产品服务链各自
存储的多个产品的交易数据,为每条链中的每个区块构建索引树,包括:
[0013]获取任一条链中任意一个区块内存储的多个产品的交易数据;
[0014]按照生产批次,对该区块内的所述多个产品的交易数据进行排序,同一生产批次的多个产品的交易数据相邻;
[0015]对所述多个产品中的每个产品的交易数据进行哈希计算,得到所述多个产品的交易数据各自对应的多个叶子节点;
[0016]对所述多个叶子节点中相邻的两个叶子节点进行哈希计算,生成多个非叶子节点,并为所述多个非叶子节点中的每个非叶子节点添加标记,所述标记用于表征生成非叶子节点的两个叶子节点对应的产品是否为同一生产批次;
[0017]对所述多个非叶子节点中相邻的两个非叶子节点进行哈希计算,直到得到根节点,并为所述根节点添加所述标记;
[0018]通过中序遍历为所述多个叶子节点、所述多个非叶子节点以及所述根节点添加各自的编码值,其中,所述多个叶子节点各自的编码值为各自对应的产品的编号;
[0019]在所述多个非叶子节点以及所述根节点中加入各自的子树所包含的编码值的范围区间;
[0020]将最终的合并结果作为所述索引树的树根,并将所述根节点包含的编码值的范围区间保存在该区块的区块头中。
[0021]可选地,按照生产批次,对该区块内的所述多个产品的交易数据进行排序之后,所述方法还包括:
[0022]判断所述同一生产批次的多个产品的交易数据的数量;
[0023]在所述数量为奇数时,添加一个空数据。
[0024]可选地,所述正向追溯的过程包括:
[0025]根据所述目标区块版本号,查询所述目标区块版本号对应的区块所在的链中位于该区块之后的所有区块;
[0026]若任一区块的区块头中保存的编码值的范围区间中包括所述待追溯的产品的目标编码值,查询该区块对应的索引树,直到找到所述目标编码值对应的叶子节点,并记录该叶子节点对应的交易数据;
[0027]直到遍历所述目标区块版本号对应的区块所在的链中位于该区块之后的所有区块,返回正向追溯的结果。
[0028]可选地,所述反向追溯的过程包括:
[0029]根据所述目标区块版本号,查询所述目标区块版本号对应的区块所在的链中位于该区块之前的所有区块;
[0030]若任一区块的区块头中保存的编码值的范围区间中包括所述待追溯的产品的目标编码值,查询该区块对应的索引树,直到找到所述目标编码值对应的叶子节点,并记录该叶子节点对应的交易数据;
[0031]直到遍历所述目标区块版本号对应的区块所在的链中位于该区块之前的所有区块,返回正向追溯的结果。
[0032]可选地,所述过程追溯的过程包括:
[0033]分别在所述汽车零部件供应链、所述价值传递链以及所述产品服务链各自的最新
的区块开始,向前查询每条链的所有区块;
[0034]若任一区块的区块头中保存的编码值的范围区间中包括所述目标编码值,查询该区块对应的索引树,直到找到所述目标编码值对应的叶子节点,并记录该叶子节点对应的交易数据;
[0035]直到遍历每条链的所有区块后,返回过程追溯的结果。
[0036]可选地,所述召回追溯的过程包括:
[0037]分别在每条链中从最新的区块向前查询,直到找到中最先包含有所述目标编码值的区块头;
[0038]查询所述最先包含有所述目标编码值的区块头对应的索引树,得到所述目标编码值对应的叶子节点以及该叶子节点所属的子树,根据所述子树中多个非叶子节点各自的标记,确定与所述目标编码值对应的产品具有相同的生产批次的其他产品;
[0039]根据所述其他产品各自对应的叶子节点的编码值,在每条链的最新的区块中,查找所述其他产品各自的交易数据,以便进行召回。
[0040]第二方面,本申请实施例提供一种基于Merkle山脉的多链追溯装置,所述装置包括:
[0041]多链构建模块,用于采用Merkle山脉构建汽车零部件供应链、价值传递链以及产品服务链中的每个区块,所述每个区块的区块头包括区块版本号;
[0042]索引树构建模块,用于根据所述汽车零部件供应链、所述价值传递链以及所述产品服务链各自存储的多个产品的交易数据,为每条链中的每个区块构建索引树,其中,所述产品包括零件、零部件以及整车,所述每个区块对应的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Merkle山脉的多链追溯方法,其特征在于,所述方法包括:采用Merkle山脉构建汽车零部件供应链、价值传递链以及产品服务链中的每个区块,所述每个区块的区块头包括区块版本号;根据所述汽车零部件供应链、所述价值传递链以及所述产品服务链各自存储的多个产品的交易数据,为每条链中的每个区块构建索引树,其中,所述产品包括零件、零部件以及整车,所述每个区块对应的索引树与所述Merkle山脉同步更新,所述索引树中包含有将交易数据存储于该区块内的多个产品各自对应的编码值;获取待追溯的产品的目标编码值和/或目标区块版本号,基于所述每个区块对应的索引树,在所述汽车零部件供应链、所述价值传递链以及所述产品服务链上对所述待追溯的产品进行数据追溯,所述数据追溯包括正向追溯、反向追溯、过程追溯和召回追溯。2.根据权利要求1所述的方法,其特征在于,采用Merkle山脉构建汽车零部件供应链、价值传递链以及产品服务链中的每个区块,包括:在所述汽车零部件供应链、所述价值传递链以及所述产品服务链中的每个区块的区块头中增加Merkle山脉根哈希字段,所述区块头包括区块版本号、时间戳、难度值、随机数、前一区块哈希值和Merkle根哈希;在所述汽车零部件供应链、所述价值传递链以及所述产品服务链中的每个区块的区块体中新增Merkle山脉。3.根据权利要求1所述的方法,其特征在于,根据所述汽车零部件供应链、所述价值传递链以及所述产品服务链各自存储的多个产品的交易数据,为每条链中的每个区块构建索引树,包括:获取任一条链中任意一个区块内存储的多个产品的交易数据;按照生产批次,对该区块内的所述多个产品的交易数据进行排序,同一生产批次的多个产品的交易数据相邻;对所述多个产品中的每个产品的交易数据进行哈希计算,得到所述多个产品的交易数据各自对应的多个叶子节点;对所述多个叶子节点中相邻的两个叶子节点进行哈希计算,生成多个非叶子节点,并为所述多个非叶子节点中的每个非叶子节点添加标记,所述标记用于表征生成非叶子节点的两个叶子节点对应的产品是否为同一生产批次;对所述多个非叶子节点中相邻的两个非叶子节点进行哈希计算,直到得到根节点,并为所述根节点添加所述标记;通过中序遍历为所述多个叶子节点、所述多个非叶子节点以及所述根节点添加各自的编码值,其中,所述多个叶子节点各自的编码值为各自对应的产品的编号;在所述多个非叶子节点以及所述根节点中加入各自的子树所包含的编码值的范围区间;将最终的合并结果作为所述索引树的树根,并将所述根节点包含的编码值的范围区间保存在该区块的区块头中。4.根据权利要求3所述的方法,其特征在于,按照生产批次,对该区块内的所述多个产品的交易数据进行排序之后,所述方法还包括:判断所述同一生产批次的多个产品的交易数据的数量;
在所述数量为奇数时,添加一个空数据。5.根据权利要求3所述的方法,其特征在于,所述正向追溯的过程包括:根据所述目标区块版本号,查询所述目标区块版本号对应的区块所在的链中位于该区块...

【专利技术属性】
技术研发人员:郭兵沈艳赵明洁苏红蒙飞龙李宝建李忠玮
申请(专利权)人:四川大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1