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

一种基于Merkel树的可自毁商品追溯信息存储方法技术

技术编号:20969518 阅读:29 留言:0更新日期:2019-04-29 17:23
本发明专利技术公开了一种基于Merkel树的可自毁商品追溯信息存储方法,包含Merkel树叶子节点生成过程、非叶子节点生成过程、非叶子节点汇聚过程和节点维护过程。通过创建带有时间戳的Merkel树节点,自底向上迭代计算节点的散列值并构造二叉Merkel树,实现了商品追溯信息的完整性控制及按时自毁功能,预防恶意实体对于商品产品追溯信息的非法篡改,便于对所存储的商品产品追溯信息进行基于分布式技术的完整性校验;根据时间戳定时销毁已过期的Merkel树节点,释放所占用的存储空间,降低商品追溯信息数据存储及维护成本;通过基于Merkel树的存储结构,实现了商品追溯信息数据结构的标准化、统一化,提高对于商品追溯信息的预防性控制、检查性控制和恢复性控制能力。

A Storage Method of Self-destructive Goods Traceability Information Based on Merkel Tree

The invention discloses a self-destructive commodity traceability information storage method based on Merkel tree, which includes Merkel leaf node generation process, non-leaf node generation process, non-leaf node aggregation process and node maintenance process. By creating the Merkel tree node with time stamp, iterating from bottom to top to calculate the hash value of the node and constructing the binary Merkel tree, the integrity control and self-destruction function of the traceability information of goods are realized, the illegal tampering of the traceability information of goods by malicious entities is prevented, and the integrity check of the stored traceability information of goods products based on distributed technology is facilitated. According to the timestamp, the outdated Merkel tree nodes are destroyed regularly, the storage space occupied is released, and the cost of data storage and maintenance of commodity traceability information is reduced. Through the storage structure based on Merkel tree, the standardization and unification of data structure of commodity traceability information are realized, and the preventive control, checking control and restorative control ability of commodity traceability information are improved.

【技术实现步骤摘要】
一种基于Merkel树的可自毁商品追溯信息存储方法
本专利技术属于信息
中的信息获取与处理技术,特别涉及了一种可自毁商品追溯信息存储方法。
技术介绍
Merkel树在区块链技术中常被用于存储记录型数据,由于Merkel树的特性,使得其任意叶子节点或子树被删除之后,不会影响其余所有节点的节点哈希。因此,Merkel树最初的设计目的是能够灵活地移除任意过期记录数据。在商品流通过程中,一般需要存储大量条块化的商品及其追溯信息,如商品编码、交易记录等。此类数据在长期持久化保存的过程中将会产生较高的开销,提高了追溯成本,降低了追溯效率。而商品实体一般具有保质期的属性,在保质期到期之后,商品实体的生命周期结束,其追溯信息在法律规定的保存周期结束后也应当进行销毁,从而回收其占据的存储空间,节约成本。目前的区块链存储方案中,仅能够对于过期记录手动进行删除,无法自动处理,由此引发的数据膨胀问题在不久的将来可能会对整个系统的可用性、性能等产生深远影响。如何通过数据自毁技术和区块链技术在二叉Merkel树结构的基础上,实现商品追溯信息的完整性控制、按时自毁等功能,预防恶意实体对于商品产品追溯信息的非法篡改,对所存储的商品产品追溯信息进行基于分布式技术的完整性校验,并降低商品追溯信息数据存储及维护成本,是当下具有研究价值和应用价值的问题。
技术实现思路
为了解决上述
技术介绍
提出的技术问题,本专利技术提供了一种基于Merkel树的可自毁商品追溯信息存储方法。为了实现上述技术目的,本专利技术的技术方案为:一种基于Merkel树的可自毁商品追溯信息存储方法,包括以下步骤:(1)Merkel树叶子节点生成过程,具体步骤如下:根据输入的可自毁商品追溯信息,生成相应的Merkel树叶子节点LN,LN至少包括以下属性:节点编号NS;父节点编号PNS,其默认值为0;节点数据ND,其默认值为序列化的可自毁商品追溯信息;节点哈希NH,其默认值为节点数据ND的散列值;自毁时间戳TOD,其默认值为商品保质期的到期时间;将所有输入的可自毁商品追溯信息存入Merkel树叶子节点LN后,检查LN的数量是否为奇数,若是,则额外生成一个新的叶子节点LN,将其节点数据ND值设为空;若否,则不作处理,本过程结束;(2)非叶子节点生成过程,具体步骤如下:对任意2个叶子节点LN,计算其节点哈希NH进行联合哈希后得到的散列值,生成这2个叶子节点LN的父节点NN,并更新着2个叶子节点LN中父节点编号PNS的值为父节点NN中节点编号NS的值,直到所有的叶子节点LN都存在与其对应的父节点NN;所述父节点NN至少包括以下属性:节点编号NS;父节点编号PNS,其默认值为0;节点哈希NH,其默认值为NN对应的2个叶子节点LN中节点哈希NH进行联合哈希后得到的散列值;自毁时间戳TOD,其默认值为NN对应的2个叶子节点LN中较大的自毁时间戳TOD值;重复上述过程,直到当所有叶子节点LN都生成了与其对应的父节点NN后,当前所有节点构成了若干棵独立的二叉Merkel树,本过程结束;(3)非叶子节点汇聚过程,具体步骤如下:设任意2颗独立的二叉Merkel树的根节点为RN,根据2个根节点RN中的节点哈希NH进行联合哈希后得到的散列值,生成2个根节点RN的父节点NN,并更新2个根节点RN中PNS的值为父节点NN中NS的值;上述过程完成后,当前所有节点汇聚成了若干棵新的Merkel树;检查新Merkel树的数量是否为1,若否,则重复非叶子节点汇聚过程;若是,则不作处理,本过程结束;(4)节点维护过程,具体步骤如下:每隔等待周期T,循环检查所有节点的自毁时间戳TOD;设延时周期DT为一个用户配置的环境变量,若TOD与DT之和小于等于系统当前时间CT,则删除该节点;否则不作处理;节点维护过程以监视进程的形式驻留后台,不随前述其他过程的结束而结束。进一步地,在Merkel树叶子节点生成过程中,Merkel树叶子节点LN中各属性的数据类型设置如下:节点编号NS的数据类型为自增长的64位无符号整型;父节点编号PNS的数据类型为64位无符号整型;节点数据ND的数据类型为字符串;节点哈希NH的数据类型为字符串;自毁时间戳TOD的数据类型为日期时间。进一步地,在非叶子节点生成过程中,父节点NN中各属性的数据类型设置如下:节点编号NS的数据类型为自增长的64位无符号整型;父节点编号PNS的数据类型为64位无符号整型;节点哈希NH的数据类型为字符串;自毁时间戳TOD的数据类型为日期时间。进一步地,在非叶子节点汇聚过程中,若仅存在1棵二叉Merkel树,则不作处理;若存在数量大于1的奇数棵二叉Merkel树,则选取任一根节点RN不参加本过程,直到除该节点外其他所有根节点RN都生成了与其对应的父节点NN;若存在偶数棵二叉Merkel树,重复本过程,直到所有的根节点RN都生成了与其对应的父节点NN。进一步地,在节点维护过程中,等待周期T的数据类型为整型,单位为毫秒;延时周期DT的数据类型为整型。采用上述技术方案带来的有益效果:本专利技术通过创建带有时间戳的Merkel树节点,自底向上迭代计算子节点的散列值并构造二叉Merkel树,实现了商品追溯信息的完整性控制及按时自毁功能,可有效预防恶意实体对于商品产品追溯信息的非法篡改,便于对所存储的商品产品追溯信息进行基于分布式技术的完整性校验。根据时间戳定时销毁已过期的Merkel树节点,释放所占用的存储空间,可有效降低商品追溯信息数据存储及维护成本;通过基于Merkel树的存储结构,实现了商品追溯信息数据结构的标准化、统一化,能够提高企业、消费者、行政主管部门对于商品追溯信息的预防性控制、检查性控制和恢复性控制能力,有利于促进商品产品追溯信息透明度,并增强社会各界对于商品质量的安全意识与参与程度。附图说明图1是本专利技术的整体流程图;图2和图3是实施例中叶子节点生成过程示意图;图4是实施例中非叶子节点生成过程示意图;图5和图6是实施例中非叶子节点汇聚过程示意图。具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。设Merkel树是一颗二叉树,由叶子节点LN与非叶子节点NN构成。叶子节点LN与非叶子节点NN均为抽象数据类型,可以通过面向对象分析方法(Object-OrientedAnalysis)中的类(Class)进行实现。当需要构造一颗用以存储商品追溯信息的Merkel树时,首先执行叶子节点生成过程LNP。LNP根据输入的可自毁商品追溯信息,生成相对应的叶子节点LN,LN至少包括以下属性:1、节点编号NS:数据类型为自增长的64位无符号整型,含义为该节点的唯一标识;2、父节点编号PNS:数据类型为64位无符号整型,含义为该节点的父节点的唯一标识,默认值为0;3、节点哈希NH:数据类型为字符串,含义为该节点中所存储的包含可自毁商品追溯信息的散列值,默认值为节点数据ND的散列值;4、自毁时间戳TOD:数据类型为日期时间,含义为该节点生命周期结束时被系统删除销毁的时间,默认值为商品保质期到期时间;5、节点数据ND:数据类型为字符串,含义为该节点中所存储的包含可自毁商品追溯信息,默认值为序列化的可自毁商品追溯信息。对于输入的每一条可自毁商品追溯信息,都生成1个相对应的Merkel本文档来自技高网...

【技术保护点】
1.一种基于Merkel树的可自毁商品追溯信息存储方法,其特征在于,包括以下步骤:(1)Merkel树叶子节点生成过程,具体步骤如下:根据输入的可自毁商品追溯信息,生成相应的Merkel树叶子节点LN,LN至少包括以下属性:节点编号NS;父节点编号PNS,其默认值为0;节点数据ND,其默认值为序列化的可自毁商品追溯信息;节点哈希NH,其默认值为节点数据ND的散列值;自毁时间戳TOD,其默认值为商品保质期的到期时间;将所有输入的可自毁商品追溯信息存入Merkel树叶子节点LN后,检查LN的数量是否为奇数,若是,则额外生成一个新的叶子节点LN,将其节点数据ND值设为空;若否,则不作处理,本过程结束;(2)非叶子节点生成过程,具体步骤如下:对任意2个叶子节点LN,计算其节点哈希NH进行联合哈希后得到的散列值,生成这2个叶子节点LN的父节点NN,并更新着2个叶子节点LN中父节点编号PNS的值为父节点NN中节点编号NS的值,直到所有的叶子节点LN都存在与其对应的父节点NN;所述父节点NN至少包括以下属性:节点编号NS;父节点编号PNS,其默认值为0;节点哈希NH,其默认值为NN对应的2个叶子节点LN中节点哈希NH进行联合哈希后得到的散列值;自毁时间戳TOD,其默认值为NN对应的2个叶子节点LN中较大的自毁时间戳TOD值;重复上述过程,直到当所有叶子节点LN都生成了与其对应的父节点NN后,当前所有节点构成了若干棵独立的二叉Merkel树,本过程结束;(3)非叶子节点汇聚过程,具体步骤如下:设任意2颗独立的二叉Merkel树的根节点为RN,根据2个根节点RN中的节点哈希NH进行联合哈希后得到的散列值,生成2个根节点RN的父节点NN,并更新2个根节点RN中PNS的值为父节点NN中NS的值;上述过程完成后,当前所有节点汇聚成了若干棵新的Merkel树;检查新Merkel树的数量是否为1,若否,则重复非叶子节点汇聚过程;若是,则不作处理,本过程结束;(4)节点维护过程,具体步骤如下:每隔等待周期T,循环检查所有节点的自毁时间戳TOD;设延时周期DT为一个用户配置的环境变量,若TOD与DT之和小于等于系统当前时间CT,则删除该节点;否则不作处理;节点维护过程以监视进程的形式驻留后台,不随前述其他过程的结束而结束。...

【技术特征摘要】
1.一种基于Merkel树的可自毁商品追溯信息存储方法,其特征在于,包括以下步骤:(1)Merkel树叶子节点生成过程,具体步骤如下:根据输入的可自毁商品追溯信息,生成相应的Merkel树叶子节点LN,LN至少包括以下属性:节点编号NS;父节点编号PNS,其默认值为0;节点数据ND,其默认值为序列化的可自毁商品追溯信息;节点哈希NH,其默认值为节点数据ND的散列值;自毁时间戳TOD,其默认值为商品保质期的到期时间;将所有输入的可自毁商品追溯信息存入Merkel树叶子节点LN后,检查LN的数量是否为奇数,若是,则额外生成一个新的叶子节点LN,将其节点数据ND值设为空;若否,则不作处理,本过程结束;(2)非叶子节点生成过程,具体步骤如下:对任意2个叶子节点LN,计算其节点哈希NH进行联合哈希后得到的散列值,生成这2个叶子节点LN的父节点NN,并更新着2个叶子节点LN中父节点编号PNS的值为父节点NN中节点编号NS的值,直到所有的叶子节点LN都存在与其对应的父节点NN;所述父节点NN至少包括以下属性:节点编号NS;父节点编号PNS,其默认值为0;节点哈希NH,其默认值为NN对应的2个叶子节点LN中节点哈希NH进行联合哈希后得到的散列值;自毁时间戳TOD,其默认值为NN对应的2个叶子节点LN中较大的自毁时间戳TOD值;重复上述过程,直到当所有叶子节点LN都生成了与其对应的父节点NN后,当前所有节点构成了若干棵独立的二叉Merkel树,本过程结束;(3)非叶子节点汇聚过程,具体步骤如下:设任意2颗独立的二叉Merkel树的根节点为RN,根据2个根节点RN中的节点哈希NH进行联合哈希后得到的散列值,生成2个根节点RN的父节点NN,并更新2个根节点RN中PNS的值为父节点NN中NS的值;上述过程完成后,当前所有节点汇聚成了若干棵新的Merkel树;检查新Merkel...

【专利技术属性】
技术研发人员:傅晓陈勇叶枫王志坚
申请(专利权)人:河海大学张家港骞翮互联网科技有限公司南京龙渊微电子科技有限公司南京龙渊众创空间股份有限公司
类型:发明
国别省市:江苏,32

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

1