基于区块链的产品数据溯源方法、装置、存储介质及节点与流程

文档序号:32166586发布日期:2022-11-12 04:57阅读:50来源:国知局
基于区块链的产品数据溯源方法、装置、存储介质及节点与流程

1.本公开涉及区块链技术领域,尤其涉及一种基于区块链的产品数据溯源方法、装置、存储介质及节点。


背景技术:

2.产品数据追溯是指利用标识技术查询产品在其整个生命周期过程中的任意阶段所对应的数据状态。产品的生命周期包括但不限于原料/组件采购、生产制造/组装、仓储、分销、物流运输、市场稽查、转手、使用、回收以及销毁等阶段。产品数据追溯的目的是全方位记录产品的信息数据,促进企业内部信息系统之间、企业之间、企业和用户之间的信息有效共享,提高企业网络化、智能化水平。
3.然而,在工业互联网(即新一代信息通信技术与工业经济深度融合的新型基础设施、应用模式和工业生态)领域中,由于工业产品的种类繁多、加工环节复杂,所以如何设计多层级、适用于多系统、且适用于不同应用场景的可信溯源方案,是工业互联网领域中产品追溯体系发展面临的重要挑战。


技术实现要素:

4.为克服相关技术中存在的问题,本公开提供一种基于区块链的产品数据溯源方法、装置、存储介质及节点。
5.根据本公开实施例的第一方面,提供一种基于区块链的产品数据溯源方法,所述方法应用于区块链网络中的任一节点,所述节点中存储有数据提供方上传的产品数据结构体,所述方法包括:
6.响应于接收到数据查询方针对第一产品发起的产品溯源查询请求,根据所述产品溯源查询请求中的第一id确定对应的第一产品数据结构体;
7.根据所述第一产品数据结构体内前向相关数据字段中的第二id,确定与所述第二id对应的表征与所述第一产品数据结构体相关的前向溯源产品数据结构体;
8.基于所述产品溯源查询请求中的检索条件,从所述前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体;
9.至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果。
10.可选地,所述方法还包括:
11.确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体;
12.基于所述检索条件,从所述后向溯源产品数据结构体中筛选出目标后向溯源产品数据结构体;
13.所述至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果,包括:
14.根据所述目标前向溯源产品数据结构体和所述目标后向溯源产品数据结构体生成所述产品溯源查询结果。
15.可选地,所述检索条件包括所述数据查询方输入的用于描述所述第一产品中的子
产品的检索文本,每一所述产品数据结构体中包括产品描述字段,所述基于所述产品溯源查询请求中的检索条件,从所述前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体,包括:
16.将所述前向溯源产品数据结构体中的目标产品描述字段转换为第一产品描述矩阵,将所述检索文本转换为第一检索文本矩阵;
17.将所述第一产品描述矩阵和所述第一检索文本矩阵输入训练完成的短文本匹配模型,得到表征所述目标产品描述字段与所述检索文本是否相匹配的模型输出结果;
18.在所述模型输出结果表征所述目标产品描述字段与所述检索文本相匹配的情况下,将所述前向溯源产品数据结构体确定为所述目标前向溯源产品数据结构体。
19.可选地,所述训练完成的短文本匹配模型包括依次连接的注意力交互层、自注意力层、第一归一化处理层、前馈神经网络层、第二归一化处理层、最大池化层、以及softmax分类层;
20.其中,所述注意力交互层用于:
21.根据所述第一产品描述矩阵和所述第一检索文本矩阵计算交互矩阵;
22.针对所述交互矩阵的每一行,进行最大池化操作,得到第一权重向量;
23.针对所述交互矩阵的每一列,进行最大池化操作,得到第二权重向量;
24.计算所述第一产品描述矩阵和所述第一权重向量的乘积,得到第二产品描述矩阵;
25.计算所述第一检索文本矩阵和所述第二权重向量的乘积,得到第二检索文本矩阵。
26.可选地,所述第二归一化处理层用于:
27.对第三产品描述矩阵进行归一化处理,得到归一化处理后的第四产品描述矩阵,其中,所述第三产品描述矩阵是所述第二产品描述矩阵经过所述自注意力层、所述第一归一化处理层、以及所述前馈神经网络层依次处理后得到的;
28.对第三检索文本矩阵进行归一化处理,得到归一化处理后的第四检索文本矩阵,其中,所述第三检索文本矩阵是所述第二检索文本矩阵经过所述自注意力层、所述第一归一化处理层、以及所述前馈神经网络层依次处理后得到的。
29.可选地,所述最大池化层用于,对所述第四产品描述矩阵进行最大池化操作得到产品描述向量,并对所述第四检索文本矩阵进行最大池化操作得到检索文本向量;
30.所述softmax分类层用于,根据所述产品描述向量、所述检索文本向量、所述产品描述向量和所述检索文本向量的相加结果、以及所述产品描述向量和所述检索文本向量的相减结果进行拼接,得到拼接向量,并基于所述拼接向量进行分类映射,得到所述模型输出结果。
31.可选地,所述方法还包括:
32.在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的id字段、以及预设数量的哈希函数生成预设长度的id位图;并
33.确定与所述产品数据结构体的前向相关数据字段中的所有前向id对应的前向id位图集合,并建立所述产品数据结构体与所述前向id位图集合的对应关系。
34.可选地,所述确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品
数据结构体,包括:
35.针对每一所述第二id,确定所述第二id对应的第二id位图;
36.在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为所述后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图。
37.可选地,所述方法还包括:
38.在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的数据提供方字段、以及所述预设数量的哈希函数生成所述预设长度的数据提供方位图;
39.确定与所述产品数据结构体的上游数据提供方字段中的所有上游数据提供方对应的上游数据提供方位图集合,并建立所述产品数据结构体与所述上游数据提供方位图集合的对应关系。
40.可选地,所述确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体,包括:
41.针对每一所述第二id,确定所述第二id对应的第二id位图;
42.确定所述第二id对应的第二产品数据结构体中数据提供方字段对应的第二数据提供方位图;
43.在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为候选后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图;
44.若所述候选后向溯源产品数据结构体对应的所述上游数据提供方位图集合中,存在目标上游数据提供方位图,则将所述候选后向溯源产品数据结构体确定为所述后向溯源产品数据结构体,其中,所述目标上游数据提供方位图是指与所述第二数据提供方位图进行按位异或操作,得到的结果位图中每一比特位均为0的上游数据提供方位图。
45.可选地,每一所述产品数据结构体中包括数据实体存储地址字段,所述至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果,包括:
46.至少根据所述目标前向溯源产品数据结构体中的所述数据实体存储地址字段生成所述产品溯源查询结果。
47.根据本公开实施例的第二方面,提供一种基于区块链的产品数据溯源装置,所述装置应用于区块链网络中的任一节点,所述节点中存储有数据提供方上传的产品数据结构体,所述装置包括:
48.响应模块,用于响应于接收到数据查询方针对第一产品发起的产品溯源查询请求,根据所述产品溯源查询请求中的第一id确定对应的第一产品数据结构体;
49.第一确定模块,用于根据所述第一产品数据结构体内前向相关数据字段中的第二id,确定与所述第二id对应的表征与所述第一产品数据结构体相关的前向溯源产品数据结构体;
50.第一筛选模块,用于基于所述产品溯源查询请求中的检索条件,从所述前向溯源
产品数据结构体中筛选出目标前向溯源产品数据结构体;
51.第一生成模块,用于至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果。
52.可选地,所述装置还包括:
53.第二确定模块,用于确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体;
54.第二筛选模块,用于基于所述检索条件,从所述后向溯源产品数据结构体中筛选出目标后向溯源产品数据结构体;
55.所述第一生成模块包括:
56.第一生成子模块,根据所述目标前向溯源产品数据结构体和所述目标后向溯源产品数据结构体生成所述产品溯源查询结果。
57.可选地,所述检索条件包括所述数据查询方输入的用于描述所述第一产品中的子产品的检索文本,每一所述产品数据结构体中包括产品描述字段,所述第一筛选模块包括:
58.第一转换子模块,用于将所述前向溯源产品数据结构体中的目标产品描述字段转换为第一产品描述矩阵,将所述检索文本转换为第一检索文本矩阵;
59.输入子模块,用于将所述第一产品描述矩阵和所述第一检索文本矩阵输入训练完成的短文本匹配模型,得到表征所述目标产品描述字段与所述检索文本是否相匹配的模型输出结果;
60.第一确定子模块,用于在所述模型输出结果表征所述目标产品描述字段与所述检索文本相匹配的情况下,将所述前向溯源产品数据结构体确定为所述目标前向溯源产品数据结构体。
61.可选地,所述训练完成的短文本匹配模型包括依次连接的注意力交互层、自注意力层、第一归一化处理层、前馈神经网络层、第二归一化处理层、最大池化层、以及softmax分类层;
62.其中,所述注意力交互层用于:
63.根据所述第一产品描述矩阵和所述第一检索文本矩阵计算交互矩阵;
64.针对所述交互矩阵的每一行,进行最大池化操作,得到第一权重向量;
65.针对所述交互矩阵的每一列,进行最大池化操作,得到第二权重向量;
66.计算所述第一产品描述矩阵和所述第一权重向量的乘积,得到第二产品描述矩阵;
67.计算所述第一检索文本矩阵和所述第二权重向量的乘积,得到第二检索文本矩阵。
68.可选地,所述第二归一化处理层用于:
69.对第三产品描述矩阵进行归一化处理,得到归一化处理后的第四产品描述矩阵,其中,所述第三产品描述矩阵是所述第二产品描述矩阵经过所述自注意力层、所述第一归一化处理层、以及所述前馈神经网络层依次处理后得到的;
70.对第三检索文本矩阵进行归一化处理,得到归一化处理后的第四检索文本矩阵,其中,所述第三检索文本矩阵是所述第二检索文本矩阵经过所述自注意力层、所述第一归一化处理层、以及所述前馈神经网络层依次处理后得到的。
71.可选地,所述最大池化层用于,对所述第四产品描述矩阵进行最大池化操作得到产品描述向量,并对所述第四检索文本矩阵进行最大池化操作得到检索文本向量;
72.所述softmax分类层用于,根据所述产品描述向量、所述检索文本向量、所述产品描述向量和所述检索文本向量的相加结果、以及所述产品描述向量和所述检索文本向量的相减结果进行拼接,得到拼接向量,并基于所述拼接向量进行分类映射,得到所述模型输出结果。
73.可选地,所述装置还包括:
74.第二生成模块,用于在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的id字段、以及预设数量的哈希函数生成预设长度的id位图;
75.第一执行模块,用于确定与所述产品数据结构体的前向相关数据字段中的所有前向id对应的前向id位图集合,并建立所述产品数据结构体与所述前向id位图集合的对应关系。
76.可选地,所述第二确定模块,包括:
77.第二确定子模块,用于针对每一所述第二id,确定所述第二id对应的第二id位图;
78.第三确定子模块,用于在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为所述后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图。
79.可选地,所述装置还包括:
80.第三生成模块,用于在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的数据提供方字段、以及所述预设数量的哈希函数生成所述预设长度的数据提供方位图;
81.第二执行模块,用于确定与所述产品数据结构体的上游数据提供方字段中的所有上游数据提供方对应的上游数据提供方位图集合,并建立所述产品数据结构体与所述上游数据提供方位图集合的对应关系。
82.可选地,所述第二确定模块,包括:
83.第四确定子模块,用于针对每一所述第二id,确定所述第二id对应的第二id位图;
84.第五确定子模块,用于确定所述第二id对应的第二产品数据结构体中数据提供方字段对应的第二数据提供方位图;
85.第六确定子模块,用于在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为候选后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图;
86.第七确定子模块,用于若所述候选后向溯源产品数据结构体对应的所述上游数据提供方位图集合中,存在目标上游数据提供方位图,则将所述候选后向溯源产品数据结构体确定为所述后向溯源产品数据结构体,其中,所述目标上游数据提供方位图是指与所述第二数据提供方位图进行按位异或操作,得到的结果位图中每一比特位均为0的上游数据提供方位图。
87.可选地,每一所述产品数据结构体中包括数据实体存储地址字段,所述第一生成模块,包括:
88.第二生成子模块,用于至少根据所述目标前向溯源产品数据结构体中的所述数据实体存储地址字段生成所述产品溯源查询结果。
89.根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的基于区块链的产品数据溯源方法的步骤。
90.根据本公开实施例的第四方面,提供一种节点,包括:
91.存储器,其上存储有计算机程序;
92.处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所提供的基于区块链的产品数据溯源方法的步骤。
93.采用本公开上述技术方案,至少能够达到如下的有益技术效果:
94.节点在接收到数据查询方根据第一产品发起的产品溯源查询请求的情况下,根据产品溯源查询请求中的第一id确定对应的第一产品数据结构体。根据第一产品数据结构体内前向相关数据字段中的第二id,确定与第二id对应的表征与第一产品数据结构体相关的所有前向溯源产品数据结构体。基于产品溯源查询请求中的检索条件,从所有前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体。至少基于目标前向溯源产品数据结构体生成产品溯源查询结果。本公开这种方式,基于检索条件,可从海量的前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体,这实现了更加精细化的产品数据溯源查询,更符合用户的精准查询需求。
95.并且,本公开这种由数据提供方将产品数据结构体存储到区块链网络,而未将与产品数据结构体对应的实体数据存储到区块链网络中的方式,可避免数据量大的实体数据对区块链网络造成的数据存储压力大的问题。
96.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
97.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
98.图1是根据一示例性实施例示出的一种产品数据溯源系统架构示意图。
99.图2是根据一示例性实施例示出的一种基于区块链的产品数据溯源方法的流程图。
100.图3是根据一示例性实施例示出的一种短文本匹配模型的框图。
101.图4是根据一示例性实施例示出的一种id位图。
102.图5是根据一示例性实施例示出的一种第二id位图和前向id位图集合。
103.图6是根据一示例性实施例示出的一种哈希函数的数量、位图的长度、以及错误率的关系图。
104.图7是根据一示例性实施例示出的一种数据提供方位图。
105.图8是根据一示例性实施例示出的一种目标前向id位图、以及目标上游数据提供
方位图的示意图。
106.图9是根据一示例性实施例示出的一种基于区块链的产品数据溯源装置的框图。
107.图10是根据一示例性实施例示出的一种节点的框图。
具体实施方式
108.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
109.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
110.相关技术中,工业产品数据溯源方法主要采取传统的大集中、大汇聚式的中心化数据管理模式,这种管理模式在一方面存在中心化故障、数据篡改等风险,另一方面也存在与不同数据系统的对接障碍,难以适配多种不同的数据存储系统的问题。为了解决这些问题,本公开提出一种基于区块链的产品数据溯源系统架构,以兼容不同身份体系和不同系统的数据存储方式,并由区块链特性保证产品数据的可追溯、不可篡改。并在此产品数据溯源系统架构的基础上,提出一种基于区块链的产品数据溯源方法、装置、存储介质及节点。
111.为了使本领域普通技术人员更加容易理解本公开的基于区块链的产品数据溯源方法,下面先对本公开提出的产品数据溯源系统架构进行简介绍。
112.如图1所示的产品数据溯源系统架构,可基于区块链特性保证产品数据可追溯、不可篡改。并且,兼容分布式数字身份、ca等不同的身份体系,支持本地存储、云存储、ipfs(inter-planetary file system)存储等不同数据存储方式,能够达到根据产品数据标识(例如id)快速准确追溯相关产品数据的目的。
113.图1中的区块链网络包括多个节点,每一节点存储有区块链,区块链中存储有数据提供方上传的产品数据结构体。节点指的是区块链网络中的计算机,例如手机、电脑、以及服务器等电子设备。
114.结构体是指由一批数据组合而成的一种数据类型,组成结构体的每个数据/字段称为结构体的成员(或称为域,或称为元素),每个字段对应一个字段名称。
115.在本公开实施例中产品数据结构体是指,基于预定义结构体进行数据填充后的结构化数据,在一些实施方式中,预定义结构体可以如下:
116.struct evidence{
117.string description//产品描述字段
118.string provider//数据提供方字段
119.string id//id字段
120.string preids//前向相关数据字段
121.string resource//数据实体存储地址字段
122.string accessrule//数据实体的访问规则字段
123.string preprovider//上游数据提供方字段
124.string time//数据产生时间
125.byte hash;//哈希值
126.byte signature//电子签名
127.string account//数据管理者
128.}
129.其中,电子签名字段signature的签名对象为evidence结构体中除signature字段以外的全部字段。前向相关数据字段preids记载的是该产品数据结构体的前向相关数据的id集合(即前项产品数据结构体的id集合),例如车辆的前向相关数据可包括组装该车辆的各类零部件的数据信息。
130.应说明的是,本公开的基于区块链的产品数据溯源方法中所能够适用的产品数据结构体所对应的预定义结构体可在上述示例的evidence结构体基础之上根据需求来删除或新增部分字段。
131.在定义上述evidence结构体的情况下,可在区块链网络中设置如下接口,以供数据提供方上传、修改产品数据结构体或者供数据查询方查询产品数据结构体:
132.string setevidence(id,hash,account,data,preids,signature);表征产品数据结构体上传接口。
133.evidence getevidence(id);表征用于获取产品数据结构体的接口。
134.string getresources(id);//表征用于获取产品数据结构体的resources字段的接口。
135.string getaccessrules(id);表征用于获取产品数据结构体的accessrules字段的接口。
136.string getidswithpreid(provider,preid,time)表征多字段联合查询接口。
137.应说明的是,可基于需求在区块链网络中设置与上述接口相类似的其他访问接口。
138.在定义上述evidence结构体、以及区块链网络接口之后,各参与方(如数据提供方、数据查询方)可在分布式数字身份链或ca中心注册,并在区块链网络上保存数字身份信息/公钥,以保障参与方合法访问区块链网络。
139.数据提供方可根据产品的实体数据,按照上述evidence结构体生成该产品的产品数据结构体,并且可在产品数据结构体中accessrule字段下写入被授权对象的数字身份信息/公钥,以实现向被授权对象授权访问该产品数据结构体。同时,数据提供方需要在链下存储(如本地存储、云存储、ipfs存储)与accessrule字段相同的授权信息。
140.数据提供方可通过setevidence接口将产品数据结构体上传到区块链网络中。在数据提供方上传产品数据结构体之后,可通过定义的其他接口进行产品溯源查询。
141.下面对本公开的基于区块链的产品数据溯源方法进行详细的实施例说明。
142.图2是根据一示例性实施例示出的一种基于区块链的产品数据溯源方法的流程图,该基于区块链的产品数据溯源方法应用于区块链网络中的任一节点,该节点中存储有数据提供方上传的产品数据结构体。如图2所示,该基于区块链的产品数据溯源方法可以包括以下步骤:
143.s11、响应于接收到数据查询方针对第一产品发起的产品溯源查询请求,根据所述
产品溯源查询请求中的第一id确定对应的第一产品数据结构体。
144.若数据查询方想要查询自身拥有的第一产品或第一产品中的组件/成分的溯源信息,那么可根据已知的第一产品的第一产品数据结构体中第一id向区块链网络中的任一节点发起产品溯源查询请求。节点在接收到产品溯源查询请求的情况下,可根据产品溯源查询请求中的第一id确定对应的第一产品数据结构体。
145.应说明的是,第一id可以是数据查询方在购入第一产品时,从出售方处获取得到。或者,第一id也可以是数据查询方从第一产品携带的产品说明文件中得到。亦或者,第一id也可以是数据查询方基于对第一产品的描述信息从区块链网络中查询得到。
146.s12、根据所述第一产品数据结构体内前向相关数据字段中的第二id,确定与所述第二id对应的表征与所述第一产品数据结构体相关的前向溯源产品数据结构体。
147.本公开对每一产品数据结构体中前向相关数据字段中的id数量不作具体限定。
148.每一产品数据结构体中前向相关数据字段中记载的信息由提供该产品数据结构体的数据提供方填充,填充信息的来源可以是该产品数据结构体对应的产品的来源。
149.由于产品数据结构体中可以包括前向相关数据字段string preids,所以可在确定第一产品数据结构体之后,进一步确定第一产品数据结构体中前向相关数据字段中的所有第二id。根据所有的第二id,可确定相同数量的前向溯源产品数据结构体。这些前向溯源产品数据结构体对应的实体数据的产生时间,均早于第一产品数据结构体对应的实体数据。这些前向溯源产品数据结构体对应的实体数据既可以是第一产品的历史数据(如生产数据、销售数据、维修数据等),又可以是第一产品中某一组件/成分的历史数据。
150.s13、基于所述产品溯源查询请求中的检索条件,从所述前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体。
151.在数据查询方想要查询第一产品在某一时间段内的溯源信息的情况下,或者,在数据查询方想要查询第一产品的某个组件/成分的溯源信息的情况下,可输入检索条件,并将该检索条件携带在产品溯源查询请求中。如此,节点还可以在确定与第一产品数据结构体相关的前向溯源产品数据结构体之后,进一步基于产品溯源查询请求中的检索条件,从前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体。
152.一种实施方式,检索条件可以为时间信息。通过将前向溯源产品数据结构体中数据生产时间字段与该时间信息进行比较,可筛选出目标前向溯源产品数据结构体。
153.另一种实施方式,所述检索条件包括所述数据查询方输入的用于描述所述第一产品中的子产品的检索文本,每一所述产品数据结构体中包括产品描述字段,所述基于所述产品溯源查询请求中的检索条件,从所述前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体,包括:
154.将所述前向溯源产品数据结构体中的目标产品描述字段转换为第一产品描述矩阵,将所述检索文本转换为第一检索文本矩阵;将所述第一产品描述矩阵和所述第一检索文本矩阵输入训练完成的短文本匹配模型,得到表征所述目标产品描述字段与所述检索文本是否相匹配的模型输出结果;在所述模型输出结果表征所述目标产品描述字段与所述检索文本相匹配的情况下,将所述前向溯源产品数据结构体确定为所述目标前向溯源产品数据结构体。
155.应说明的是,在检索条件包括用于描述第一产品(如车辆)中的子产品(如座椅)的
检索文本的情况下,可确定每一前向溯源产品数据结构体中的目标产品描述字段与检索文本的相似度,并将大于预设相似度阈值的目标相似度所对应的前向溯源产品数据结构体确定为目标前向溯源产品数据结构体。也就是说,通过比较两个文本的相似程度,可确定该两个文本是否语义相同。
156.由于针对同一事物,可以有多种不同的文本进行描述。因此,为了更好的确定每一前向溯源产品数据结构体中的目标产品描述字段与检索文本是否相匹配(语义相同),本公开提出一种实施方式为,首先,将前向溯源产品数据结构体中的目标产品描述字段转换为第一产品描述矩阵,并将检索文本转换为第一检索文本矩阵。转换方式可以是相关技术中的任一种编码方式,此处不赘述。
157.接着,将第一产品描述矩阵和第一检索文本矩阵输入训练完成的短文本匹配模型,得到表征目标产品描述字段与检索文本是否相匹配的模型输出结果。在模型输出结果表征目标产品描述字段与检索文本相匹配的情况下,将前向溯源产品数据结构体确定为目标前向溯源产品数据结构体。
158.其中,短文本匹配模型的训练方式与相关技术中监督模型的训练方式相类似,本公开不作赘述。
159.另外,还需说明的是,检索条件除了可以包括由数据查询方输入的用于描述第一产品中的子产品的检索文本之外,检索条件还可以包括数据查询方针对数据产生时间、数据管理者等产品数据结构体中定义的一种或多种字段进行描述的检索文本。
160.s14、至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果。
161.可选地,每一所述产品数据结构体中包括数据实体存储地址字段,所述至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果,包括:
162.至少根据所述目标前向溯源产品数据结构体中的所述数据实体存储地址字段生成所述产品溯源查询结果。
163.示例地,在确定目标前向溯源产品数据结构体之后,可根据目标前向溯源产品数据结构体中的数据实体存储地址字段生成产品溯源查询结果。并可将产品溯源查询结果反馈给数据需求方。数据需求方访问数据实体存储地址字段所记载的存储地址,可获取到与目标前向溯源产品数据结构体对应的数据实体。
164.采用上述方法,节点在接收到数据查询方根据第一产品发起的产品溯源查询请求的情况下,根据产品溯源查询请求中的第一id确定对应的第一产品数据结构体。根据第一产品数据结构体内前向相关数据字段中的第二id,确定与第二id对应的表征与第一产品数据结构体相关的所有前向溯源产品数据结构体。基于产品溯源查询请求中的检索条件,从所有前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体。至少基于目标前向溯源产品数据结构体生成产品溯源查询结果。本公开这种方式,基于检索条件,可从海量的前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体,这实现了更加精细化的产品数据溯源查询,更符合用户的精准查询需求。
165.并且,本公开这种由数据提供方将产品数据结构体存储到区块链网络,而未将与产品数据结构体对应的实体数据存储到区块链网络中的方式,可避免数据量大的实体数据对区块链网络造成的数据存储压力大的问题。
166.此外,根据目标前向溯源产品数据结构体中的数据实体存储地址字段生成产品溯
源查询结果的方式,可使数据需求方从链下获取到与目标前向溯源产品数据结构体对应的数据实体。这种方式可以减少链上数据交互,降低区块链网络的负载。
167.在本公开的实施例中,不仅可以追溯产品数据的上游数据,还可以在该产品数据对应有下游数据(如销售数据、转手出售数据)的情况下,追溯该产品数据的下游数据。例如在一些实施方式中,所述基于区块链的产品数据溯源方法还可以包括:
168.确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体;基于所述检索条件,从所述后向溯源产品数据结构体中筛选出目标后向溯源产品数据结构体;所述至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果,包括:根据所述目标前向溯源产品数据结构体和所述目标后向溯源产品数据结构体生成所述产品溯源查询结果。
169.一种实施方式,确定前向相关数据字段中包括至少一个第二id的后向溯源产品数据结构体。基于检索条件,如时间信息,从后向溯源产品数据结构体中筛选出目标后向溯源产品数据结构体。其中,基于检索条件,从后向溯源产品数据结构体中筛选出目标后向溯源产品数据结构体的实施方式与前述步骤s13的实施方式相类似,此处不再赘述。
170.另一种实施方式,确定前向相关数据字段中包括至少一个第二id的后向溯源产品数据结构体。并将每一后向溯源产品数据结构体确定为目标后向溯源产品数据结构体。
171.在确定目标前向溯源产品数据结构体和目标后向溯源产品数据结构体之后,可根据目标前向溯源产品数据结构体中的数据实体存储地址字段、以及目标后向溯源产品数据结构体中的数据实体存储地址字段生成产品溯源查询结果。
172.下面对本公开实施例中使用的短文本匹配模型进行说明。
173.本公开实施例中使用的短文本匹配模型可以为相关技术中的短文本匹配模型。但是,相关技术中的短文本匹配模型仅考虑文本自身的内部信息,忽略了两个文本之间的交互信息,或者仅在提取文本特征之后才进行一次交互,从而仅能获取单层次交互信息,而丧失了多层次交互信息。为此,本公开提出一种如图3所示的新的短文本匹配模型。
174.如图3所示,所述训练完成的短文本匹配模型包括依次连接的注意力交互层、自注意力层、第一归一化处理层、前馈神经网络层、第二归一化处理层、最大池化层、以及softmax分类层;
175.其中,所述注意力交互层用于:根据所述第一产品描述矩阵和所述第一检索文本矩阵计算交互矩阵;针对所述交互矩阵的每一行,进行最大池化操作,得到第一权重向量;针对所述交互矩阵的每一列,进行最大池化操作,得到第二权重向量;计算所述第一产品描述矩阵和所述第一权重向量的乘积,得到第二产品描述矩阵;计算所述第一检索文本矩阵和所述第二权重向量的乘积,得到第二检索文本矩阵。
176.示例地,根据第一产品描述矩阵和第一检索文本矩阵计算交互矩阵的计算公式可以为m=a*b
t
。其中m表征交互矩阵,a表征第一产品描述矩阵,b表征第一检索文本矩阵,b
t
表征b的转置矩阵。在另一些实施方式中,上述计算公式m=a*b
t
中,a也可以表征第一检索文本矩阵,b也可以表征第一产品描述矩阵,b
t
表征b的转置矩阵。
177.下面举例说明,针对交互矩阵的每一行,进行最大池化操作,得到第一权重向量的实施方式。假设交互矩阵为n
×
m的矩阵,那么针对n
×
m的交互矩阵,通过确定每一行中的最大值,可以得到n
×
1的第一权重向量ra。
178.进一步地,若以a表征第一产品描述矩阵,b表征第一检索文本矩阵为例,那么可计算第一产品描述矩阵a和第一权重向量ra的乘积,得到第二产品描述矩阵a’。
179.同理可得到1
×
m的第二权重向量rb,并计算第一检索文本矩阵b和第二权重向量rb的乘积,得到第二检索文本矩阵b’。
180.注意力交互层输出第二产品描述矩阵a’、以及第二检索文本矩阵b’。自注意力层根据a’、训练得到的超参数权重矩阵wq,wk,wv、以及预设计算式可计算得到查询矩阵q
a’,键矩阵k
a’和值矩阵v
a’。并根据公式可计算得到z
a’。其中,dk为键矩阵k(即k
a’)的维度。
181.上述预设计算式可以如下:
182.q=x
×
wq、k=x
×
wk、v=x
×
wv。x的取值为a’或b’。
183.同理地,自注意力层针对b’,可计算得到z
b’。
184.自注意力层输出z
a’和z
b’。第一归一化处理层针对z
a’,计算z
a’+a’的和值矩阵,并计算该和值矩阵中所有元素的均值与方差。该和值矩阵与该均值的乘积除以标准差,可得到z
a”。其中,标准差表征方差的平方根。同理地,第一归一化处理层针对z
b’,可计算得到z
b”。第一归一化处理层的计算过程可用公式z
nor
=ln(z+x)进行表征。
185.第一归一化处理层输出z
a”以及z
b”。前馈神经网络层将z
a”转换为第三产品描述矩阵a”,并将z
b”转换为第三检索文本矩阵b”。前馈神经网络层的数据处理原理可参见相关技术,本公开不作介绍。
186.前馈神经网络层输出a”以及b”。第二归一化处理层采用与第一归一化处理层相同的处理方式,将第三产品描述矩阵a”处理为第四产品描述矩阵a
”’
,并将第三检索文本矩阵b”处理为第四检索文本矩阵b
”’

187.第二归一化处理层输出第四产品描述矩阵a
”’
以及第四检索文本矩阵b
”’
。最大池化层,对第四产品描述矩阵a
”’
的每一行/列进行最大池化操作可得到产品描述向量va,并对第四检索文本矩阵b
”’
的每一行/列进行最大池化操作可得到检索文本向量vb。
188.最大池化层输出产品描述向量va,以及检索文本向量vb。softmax分类层根据产品描述向量va、检索文本向量vb、产品描述向量和检索文本向量的相加(即点加)结果va+vb、以及产品描述向量和检索文本向量的相减结果|v1-v2|进行拼接,得到拼接向量concat(v1;v2;v1+v2;|v1-v2|),并基于该拼接向量进行分类映射,可得到模型输出结果y=softmax(concat(v1;v2;v1+v2;|v1-v2|))。
189.可选地,所述基于区块链的产品数据溯源方法还可以包括:
190.在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的id字段、以及预设数量的哈希函数生成预设长度的id位图;并确定与所述产品数据结构体的前向相关数据字段中的所有前向id对应的前向id位图集合,并建立所述产品数据结构体与所述前向id位图集合的对应关系。
191.示例地,节点在接收到数据提供方上传的产品数据结构体的情况下,根据产品数据结构体中的id字段、以及预设数量的哈希函数生成预设长度的id位图。示例地,id字段经过三个不同的hash函数进行映射,得到三个映射结果。每一映射结果对16取余,得到3个余数。将每一余数对应的比特位置为1,其余位置为0,得到如图4所示的id位图。此处应说明的
是,位图(bitmap)算法的核心思想是用bit数组来记录0-1两种状态,然后再将具体数据映射到这个比特数组的具体位置,这个比特位设置成0表示数据不存在,设置成1表示数据存在。
192.由于每一产品数据结构体均对应一个id,每一id对应一个id位图。所以同样地,产品数据结构体中前向相关数据字段中的每一前向id,也对应一个前向id位图。根据产品数据结构体中前向相关数据字段中的所有前向id,可确定该产品数据结构体对应的前向id位图集合,并可建立该产品数据结构体与前向id位图集合的对应关系。并且,为了避免在区块链网络中因存储大量的位图而消耗各节点的内存,可将该对应关系存储到图1所示的索引服务器中,而在区块链网络中存储该产品数据结构体与该对应关系之间的索引关系。节点通过索引关系,可查询到产品数据结构体对应的前向id位图集合。
193.可选地,所述确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体,包括:
194.针对每一所述第二id,确定所述第二id对应的第二id位图;在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为所述后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图。
195.示例地,如图5所示的第二id位图和前向id位图集合,将第二id位图与前向id位图集合中的每一前向id位图进行按位异或操作,得到与各前向id位图对应的结果位图。将结果位图中每一比特位均为0的前向id位图确定为目标前向id位图,例如图5中箭头指向的前向id位图为目标前向id位图。
196.其中,两个位图之间的按位异或操作是指,针对两个位图中第w个比特位上的数值进行异或运算,得到结果位图中第w个比特位的数值。例如,对1和0进行异或运算得到结果为1,对1和1进行异或运算得到结果为0,对0和0进行行异或运算得到结果为0。
197.在任一产品数据结构体对应的前向id位图集合中,若存在目标前向id位图,则将该产品数据结构体确定为后向溯源产品数据结构体。本公开这种基于位图确定后向溯源产品数据结构体的方式的错误率与哈希函数的数量、位图的长度相关,具体关系如图6所示。基于图6所示的关系,优选地,本公开中预设数量k选取数值3,预设长度m选取数值16,相应地,错误率n为0.005。
198.采用本公开上述基于位图从海量的产品数据结构体中筛选出,前向相关数据字段中包括至少一个第二id的后向溯源产品数据结构体的方式,因位图的每一个值只占用1bit(比特)内存,每一位图占用16bit,所以这种方式能在保障较高的正确率的情况下最大程度的降低节点/索引服务器的内存开销。
199.而基于图6可知,在预设数量为3,预设长度为16的情况下,上述基于位图确定的后向溯源产品数据结构体的错误率为千分之五。而为了再进一步降低错误率,本公开还提出另一种实施方式。
200.可选地,所述基于区块链的产品数据溯源方法还包括:
201.在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的数据提供方字段、以及所述预设数量的哈希函数生成所述预设长度的数据提供方位图;确定与所述产品数据结构体的上游数据提供方字段中的所有上游数据提供方对
应的上游数据提供方位图集合,并建立所述产品数据结构体与所述上游数据提供方位图集合的对应关系。
202.示例地,如图7中所示的数据提供方位图。
203.由于每一数据提供方均可对应一张数据提供方位图,那么相应地,每一产品数据结构体的上游数据提供方字段,可对应一个上游数据提供方位图集合。
204.相应地,所述确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体,包括:
205.针对每一所述第二id,确定所述第二id对应的第二id位图;确定所述第二id对应的第二产品数据结构体中数据提供方字段对应的第二数据提供方位图;在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为候选后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图;若所述候选后向溯源产品数据结构体对应的所述上游数据提供方位图集合中,存在目标上游数据提供方位图,则将所述候选后向溯源产品数据结构体确定为所述后向溯源产品数据结构体,其中,所述目标上游数据提供方位图是指与所述第二数据提供方位图进行按位异或操作,得到的结果位图中每一比特位均为0的上游数据提供方位图。
206.示例地,如图8所示,在图8中产品数据结构体对应的前向id位图集合中存在目标前向id位图,且该产品数据结构体对应的上游数据提供方位图集合中存在目标上游数据提供方位图的情况下,可将该产品数据结构体确定为第二产品数据结构体的后向溯源产品数据结构体。
207.采用这种方式,若预设数量为3,预设长度为16。那么在确定某一产品数据结构体的前向相关数据字段中是否包括第二id的过程中,若该某一产品数据结构体对应的前向id位图集合中,存在目标前向id位图,且该某一产品数据结构体对应的上游数据提供方位图集合中,存在目标上游数据提供方位图,则说明该第二id存在于该某一产品数据结构体中前向相关数据字段中的错误率为千分之五,且说明第二id对应的数据提供方存在于该某一产品数据结构体中上游数据提供方字段中的错误率为千分之五。因此,这种确定某一产品数据结构体的前向相关数据字段中是否包括第二id的方式的错误率为千分之五的平方,这相较于前一种确定某一产品数据结构体的前向相关数据字段中是否包括第二id的方式的错误率为千分之五的方式,错误率进一步降低。
208.此处还需说明的是,上述两种基于位图从海量的产品数据结构体中筛选出,前向相关数据字段中包括至少一个第二id的后向溯源产品数据结构体的方式的核心原理与布隆过滤器的原理相类似。
209.基于同一发明构思,本公开实施例还提供一种基于区块链的产品数据溯源装置,如图9所示,该装置900应用于区块链网络中的任一节点,所述节点中存储有数据提供方上传的产品数据结构体,所述装置900包括:
210.响应模块910,用于响应于接收到数据查询方针对第一产品发起的产品溯源查询请求,根据所述产品溯源查询请求中的第一id确定对应的第一产品数据结构体;
211.第一确定模块920,用于根据所述第一产品数据结构体内前向相关数据字段中的第二id,确定与所述第二id对应的表征与所述第一产品数据结构体相关的前向溯源产品数
据结构体;
212.第一筛选模块930,用于基于所述产品溯源查询请求中的检索条件,从所述前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体;
213.第一生成模块940,用于至少基于所述目标前向溯源产品数据结构体生成产品溯源查询结果。
214.采用这种装置,节点在接收到数据查询方根据第一产品发起的产品溯源查询请求的情况下,根据产品溯源查询请求中的第一id确定对应的第一产品数据结构体。根据第一产品数据结构体内前向相关数据字段中的第二id,确定与第二id对应的表征与第一产品数据结构体相关的所有前向溯源产品数据结构体。基于产品溯源查询请求中的检索条件,从所有前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体。至少基于目标前向溯源产品数据结构体生成产品溯源查询结果。本公开这种方式,基于检索条件,可从海量的前向溯源产品数据结构体中筛选出目标前向溯源产品数据结构体,这实现了更加精细化的产品数据溯源查询,更符合用户的精准查询需求。
215.并且,本公开这种由数据提供方将产品数据结构体存储到区块链网络,而未将与产品数据结构体对应的实体数据存储到区块链网络中的方式,可避免数据量大的实体数据对区块链网络造成的数据存储压力大的问题。
216.可选地,所述装置900还包括:
217.第二确定模块,用于确定前向相关数据字段中包括至少一个所述第二id的后向溯源产品数据结构体;
218.第二筛选模块,用于基于所述检索条件,从所述后向溯源产品数据结构体中筛选出目标后向溯源产品数据结构体;
219.所述第一生成模块包括:
220.第一生成子模块,根据所述目标前向溯源产品数据结构体和所述目标后向溯源产品数据结构体生成所述产品溯源查询结果。
221.可选地,所述检索条件包括所述数据查询方输入的用于描述所述第一产品中的子产品的检索文本,每一所述产品数据结构体中包括产品描述字段,所述第一筛选模块930包括:
222.第一转换子模块,用于将所述前向溯源产品数据结构体中的目标产品描述字段转换为第一产品描述矩阵,将所述检索文本转换为第一检索文本矩阵;
223.输入子模块,用于将所述第一产品描述矩阵和所述第一检索文本矩阵输入训练完成的短文本匹配模型,得到表征所述目标产品描述字段与所述检索文本是否相匹配的模型输出结果;
224.第一确定子模块,用于在所述模型输出结果表征所述目标产品描述字段与所述检索文本相匹配的情况下,将所述前向溯源产品数据结构体确定为所述目标前向溯源产品数据结构体。
225.可选地,所述训练完成的短文本匹配模型包括依次连接的注意力交互层、自注意力层、第一归一化处理层、前馈神经网络层、第二归一化处理层、最大池化层、以及softmax分类层;
226.其中,所述注意力交互层用于:
227.根据所述第一产品描述矩阵和所述第一检索文本矩阵计算交互矩阵;
228.针对所述交互矩阵的每一行,进行最大池化操作,得到第一权重向量;
229.针对所述交互矩阵的每一列,进行最大池化操作,得到第二权重向量;
230.计算所述第一产品描述矩阵和所述第一权重向量的乘积,得到第二产品描述矩阵;
231.计算所述第一检索文本矩阵和所述第二权重向量的乘积,得到第二检索文本矩阵。
232.可选地,所述第二归一化处理层用于:
233.对第三产品描述矩阵进行归一化处理,得到归一化处理后的第四产品描述矩阵,其中,所述第三产品描述矩阵是所述第二产品描述矩阵经过所述自注意力层、所述第一归一化处理层、以及所述前馈神经网络层依次处理后得到的;
234.对第三检索文本矩阵进行归一化处理,得到归一化处理后的第四检索文本矩阵,其中,所述第三检索文本矩阵是所述第二检索文本矩阵经过所述自注意力层、所述第一归一化处理层、以及所述前馈神经网络层依次处理后得到的。
235.可选地,所述最大池化层用于,对所述第四产品描述矩阵进行最大池化操作得到产品描述向量,并对所述第四检索文本矩阵进行最大池化操作得到检索文本向量;
236.所述softmax分类层用于,根据所述产品描述向量、所述检索文本向量、所述产品描述向量和所述检索文本向量的相加结果、以及所述产品描述向量和所述检索文本向量的相减结果进行拼接,得到拼接向量,并基于所述拼接向量进行分类映射,得到所述模型输出结果。
237.可选地,所述装置900还包括:
238.第二生成模块,用于在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的id字段、以及预设数量的哈希函数生成预设长度的id位图;
239.第一执行模块,用于确定与所述产品数据结构体的前向相关数据字段中的所有前向id对应的前向id位图集合,并建立所述产品数据结构体与所述前向id位图集合的对应关系。
240.可选地,所述第二确定模块,包括:
241.第二确定子模块,用于针对每一所述第二id,确定所述第二id对应的第二id位图;
242.第三确定子模块,用于在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为所述后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图。
243.可选地,所述装置900还包括:
244.第三生成模块,用于在接收到所述数据提供方上传的所述产品数据结构体的情况下,根据所述产品数据结构体中的数据提供方字段、以及所述预设数量的哈希函数生成所述预设长度的数据提供方位图;
245.第二执行模块,用于确定与所述产品数据结构体的上游数据提供方字段中的所有上游数据提供方对应的上游数据提供方位图集合,并建立所述产品数据结构体与所述上游
数据提供方位图集合的对应关系。
246.可选地,所述第二确定模块,包括:
247.第四确定子模块,用于针对每一所述第二id,确定所述第二id对应的第二id位图;
248.第五确定子模块,用于确定所述第二id对应的第二产品数据结构体中数据提供方字段对应的第二数据提供方位图;
249.第六确定子模块,用于在任一所述产品数据结构体对应的所述前向id位图集合中,若存在目标前向id位图,则将所述产品数据结构体确定为候选后向溯源产品数据结构体,所述目标前向id位图是指与所述第二id位图进行按位异或操作,得到的结果位图中每一比特位均为0的前向id位图;
250.第七确定子模块,用于若所述候选后向溯源产品数据结构体对应的所述上游数据提供方位图集合中,存在目标上游数据提供方位图,则将所述候选后向溯源产品数据结构体确定为所述后向溯源产品数据结构体,其中,所述目标上游数据提供方位图是指与所述第二数据提供方位图进行按位异或操作,得到的结果位图中每一比特位均为0的上游数据提供方位图。
251.可选地,每一所述产品数据结构体中包括数据实体存储地址字段,所述第一生成模块940,包括:
252.第二生成子模块,用于至少根据所述目标前向溯源产品数据结构体中的所述数据实体存储地址字段生成所述产品溯源查询结果。
253.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
254.本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的基于区块链的产品数据溯源方法的步骤。
255.图10是根据一示例性实施例示出的一种节点800的框图。例如,节点800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
256.参照图10,节点800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出接口812,传感器组件814,以及通信组件816。
257.处理组件802通常控制节点800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的基于区块链的产品数据溯源方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
258.存储器804被配置为存储各种类型的数据以支持在节点800的操作。这些数据的示例包括用于在节点800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
259.电源组件806为节点800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为节点800生成、管理和分配电力相关联的组件。
260.多媒体组件808包括在所述节点800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当节点800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
261.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当节点800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
262.输入/输出接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
263.传感器组件814包括一个或多个传感器,用于为节点800提供各个方面的状态评估。例如,传感器组件814可以检测到节点800的打开/关闭状态,组件的相对定位,例如所述组件为节点800的显示器和小键盘,传感器组件814还可以检测节点800或节点800一个组件的位置改变,用户与节点800接触的存在或不存在,节点800方位或加速/减速和节点800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
264.通信组件816被配置为便于节点800和其他设备之间有线或无线方式的通信。节点800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
265.在示例性实施例中,节点800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述基于区块链的产品数据溯源方法。
266.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由节点800的处理器820执行以完成上述基于区块链的产品数据溯源方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
267.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的基于区块链的产品数据溯源方法的代码部分。
268.本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
269.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1