1.一种基于区块链的层级化溯源的批次信息记录方法,其特征在于,包括以下步骤:
单位时间内根据多个溯源单品或批次的基本数据,构建树状结构;
将单位时间内的所述树状结构的根哈希记录到区块链中;
当已经记录在所述树状结构中的一个或多个溯源单品或批次组合成一个新的批次时,对组合后的批次信息构建标识id和所述新的批次的记录历史;
根据所述批次信息与其他商品节点信息构建一个新的信息树,并将所述新的树状结构的根哈希记录到区块链。
2.如权利要求1所述的一种基于区块链的层级化溯源的批次信息记录方法,其特征在于,包含基本数据的所述溯源单品的树状结构包括标识id和历史记录,将一个或多个溯源单品组合成一个批次,所述批次与一个所述标识id相关联,所述批次的历史记录包含一个或多个溯源单品的最小跨越子树的根节点哈希集合。
3.如权利要求2所述的一种基于区块链的层级化溯源的批次信息记录方法,其特征在于,一个批次可以和一个溯源单品或其他一个或多个批次构建成新的批次。
4.如权利要求2所述的一种基于区块链的层级化溯源的批次信息记录方法,其特征在于,所述最小跨越子树的构建算法包括以下步骤:
a、对于某个批次内的溯源单品i,寻找所述溯源单品所在的某个历史区块对应的树状结构;
b、查询所述溯源单品i的兄弟节点对应的溯源单品j,如果溯源单品j不属于所述批次,则最小跨越子树的根节点即为溯源单品i,溯源单品i的key即为最小跨越子树的根哈希;
c、如果所述溯源单品j也属于所述批次,获得所述溯源单品i和所述溯源单品j的共同父节点h;
d、查询所述父节点h的兄弟节点对应的子树所包含的所有溯源单品集合{ki},如果单品集合{ki}中有一个或多个不属于所述批次,最小跨越子树的根节点为所述父节点h,所述父节点h的哈希即为最小跨越子树的根哈希;
e、如果所述溯源单品集合{ki}中都属于所述批次,重复步骤c和步骤d,如已经是c-tree的根节点,在当前c-tree即为所述区块的最小跨越子树;
f、重复步骤a-e,对批次内的所有溯源单品,都找到最小跨越子树,即构成最小跨越子树集合。
5.一种基于区块链的层级化溯源的批次信息记录装置,其特征在于,包括以下步骤:
构建模块,用于单位时间内根据多个溯源单品或批次的基本数据,构建树状结构;
集合模块,将单位时间内的所述树状结构的根哈希记录到区块链中;
组合模块,用于当已经记录在所述树状结构中的一个或多个溯源单品或批次组合成一个新的批次时,并对组合后的批次信息构建标识id和所述新的批次的记录历史;
更新模块,用于根据所述批次信息与其他商品节点信息构建一个新的信息树,并将所述新的树状结构的根哈希记录到区块链。
6.如权利要求5所述的一种基于区块链的层级化溯源的批次信息记录装置,其特征在于,所述单个溯源单品的树状结构包括标识id和历史记录,将一个或多个溯源单品组合成一个批次,所述批次与一个所述标识id相关联,所述批次的历史记录包含一个或多个溯源单品的最小跨越子树的根节点哈希集合。
7.如权利要求6所述的一种基于区块链的层级化溯源的批次信息记录装置,其特征在于,一个批次可以和一个溯源单品或其他一个或多个批次构建成新的批次。
8.如权利要求6所述的一种基于区块链的层级化溯源的批次信息记录装置,其特征在于,所述最小跨越子树的构建算法包括以下步骤:
a、对于某个批次内的溯源单品i,寻找所述溯源单品所在的某个历史区块对应的树状结构;
b、查询所述溯源单品i的兄弟节点对应的溯源单品j,如果溯源单品j不属于所述批次,则最小跨越子树的根节点即为溯源单品i,溯源单品i的key即为最小跨越子树的根哈希;
c、如果所述溯源单品j也属于所述批次,获得所述溯源单品i和所述溯源单品j的父节点h;
d、查询所述父节点h的兄弟节点对应的子树所包含的所有溯源单品集合{ki},如果单品集合{ki}中有一个或多个不属于所述批次,最小跨越子树的根节点为所述父节点h,所述父节点h的哈希即为最小跨越子树的根哈希;
e、如果所述溯源单品集合{ki}中都属于所述批次,重复步骤c和步骤d,如已经是c-tree的根节点,在当前c-tree即为所述区块的最小跨越子树;
f、重复步骤a-e,对批次内的所有溯源单品,都找到最小跨越子树,即构成最小跨越子树集合。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1-4中任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现如权利要求1-4中任一项所述的一种基于区块链的层级化溯源的批次信息记录方法。