溯源信息的区块上链方法及相关设备与流程

专利2022-06-29  82


本说明书涉及数据处理技术领域,尤其涉及一种溯源信息的区块上链方法及相关设备。



背景技术:

溯源系统可以实现产品从原料到成品、从成品到原料的双向追溯功能。该系统建立后,通过该系统则可以查找产品在任意环节的相关信息。一种溯源系统的建立方法是利用区块链技术。区块链技术将溯源信息利用单一的代理服务器实现上链,若该代理服务器出现崩溃、被攻击等问题时,将不能完成溯源信息上链。同时,单一的代理服务器可以被人为限制不上链或者延迟上链时间,从而可能导致丧失重要的时间信息。因此,需要提供一种更有效的溯源信息上链方案。



技术实现要素:

有鉴于此,本说明书的一个或多个实施例提出一种溯源信息的区块上链方法及相关设备,以在一定程度上解决上述问题。

本说明书的一个或多个实施例,提供了一种溯源信息的区块上链方法,应用于商品终端,包括:

获取所述商品终端对应商品的溯源信息;

在所述溯源信息中附加商品终端签名;

将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种溯源信息的区块上链方法,应用于代理服务器,包括:

接收来自商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名;

在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;

将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种溯源信息的区块上链方法,应用于区块链节点服务器,包括:

接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

统计通过验证的溯源信息对应的代理服务器维护主体的数量;

响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种溯源信息的区块上链方法,包括:

商品终端获取所述商品终端对应商品的溯源信息;

所述商品终端在所述溯源信息中附加商品终端签名;

所述商品终端将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器;

代理服务器接收来自所述商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名;

所述代理服务器在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;

所述代理服务器将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器;

所述区块链节点服务器接收来自所述代理服务器的若干溯源信息;若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

所述区块链节点服务器验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

所述区块链节点服务器统计通过验证的溯源信息对应的代理服务器维护主体的数量;

所述区块链节点服务器响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种商品终端,包括:

获取模块,用于获取所述商品终端对应商品的溯源信息;

第一签名模块,用于在所述溯源信息中附加商品终端签名;

第一收发模块,用于将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种代理服务器,包括:

第二收发模块,用于接收来自商品终端的所述商品终端对应商品的溯源信息,所述溯源信息携带有商品终端签名;以及,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数;

第二签名模块,用于在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

本说明书的一个或多个实施例,提供了一种区块链节点服务器,包括:

第三收发模块,用于接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

第二验证模块,用于验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

上链模块,用于统计通过验证的溯源信息对应的代理服务器维护主体的数量;以及,响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种溯源信息的区块上链系统,包括:

商品终端,被配置为:获取所述商品终端对应商品的溯源信息;在所述溯源信息中附加商品终端签名;以及,将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器;

至少三个分别隶属于不同维护主体的代理服务器,被配置为:接收来自所述商品终端的所述商品终端对应商品的溯源信息,所述溯源信息携带有商品终端签名;在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;以及,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器;

至少一个区块链节点服务器,被配置为:接收来自所述至代理服务器的若干溯源信息,若干所述溯源信息指向同一商品,所述溯源信息携带有商品终端签名和代理服务器签名;验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;统计通过验证的溯源信息对应的代理服务器维护主体的数量;以及,响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的方法。

本说明书的一个或多个实施例,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行所述方法。

从上面所述可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题;同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的溯源信息的区块上链系统的结构示意图;

图2为本发明实施例提供的溯源信息的区块上链方法的一个实施例的流程示意图;

图3为本发明实施例提供的商品终端的一个实施例的框图结构示意图;

图4为本发明实施例提供的一种电子设备的一个实施例的硬件结构示意图;

图5为本发明实施例提供的溯源信息的区块上链方法的另一个实施例的流程示意图;

图6为本发明实施例提供的代理服务器的一个实施例的框图结构示意图;

图7为本发明实施例提供的一种电子设备的另一个实施例的硬件结构示意图;

图8为本发明实施例提供的溯源信息的区块上链方法的又一个实施例的流程示意图;

图9为本发明实施例提供的区块链节点服务器的一个实施例的框图结构示意图;

图10为本发明实施例提供的一种电子设备的又一个实施例的硬件结构示意图;

图11为本发明实施例提供的溯源信息的区块上链方法的再一个实施例的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

图1示出了本发明实施例提供的溯源信息的区块上链系统的结构示意图。

如图1所示,所述溯源信息的区块上链系统,包括商品终端、至少三个分别隶属于不同维护主体的代理服务器以及至少一个区块链节点服务器。

所述商品终端,被配置为:获取所述商品终端对应商品的溯源信息;在所述溯源信息中附加商品终端签名;以及,将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例中,所述商品终端可以是设置有能够运行上述功能的模块的电子设备,其设置在商品上,用于对商品的溯源信息进行采集、处理和上传等,所述商品终端至少具有安全签名以及网络通信的功能。可选地,所述商品可以是任何商品,如食品、饮品、电子产品、生活用品、衣服、鞋袜、包、手表,等等;所述商品终端,例如,可以设置在饮品的瓶盖中,也可以设置在衣服、鞋袜的商品标签上,还可以设置在食品的包装袋、包装盒上,等等。

本说明书的一个或多个实施例中,所述溯源信息可以包括所述商品终端的身份标识(id),所述身份标识是唯一的且与所述商品是一一对应的,只要知道该身份标识就能追踪到该商品。可选地,所述身份标识在一开始生产所述商品时就植入在所述商品终端中,可以随时被调取以供生成溯源信息。

本说明书的一个或多个实施例中,所述溯源信息还可以包括能够与溯源环节(例如绑码、录入、出库、物流、销售、开封等)相关联的信息。可选地,所述溯源信息包括所述商品终端的位置信息和身份标识。

本说明书的一个或多个实施例中,所述商品终端获取溯源信息可以是实时的,例如,按照预定时间间隔,商品终端获取与该时间点相对应的溯源信息。

本说明书的一个或多个实施例中,所述商品终端,被配置为:

生成所述商品终端的第一密钥对,所述第一密钥对包括第一私钥和第一公钥;

上传所述商品终端的所述第一公钥到指定服务器;

利用所述商品终端的所述第一私钥对所述溯源信息进行签名,得到带有所述商品终端签名的溯源信息,以使所述代理服务器和所述区块链节点服务器的至少其一在所述指定服务器中调用所述商品终端的所述第一公钥后,利用所述第一公钥对所述商品终端签名进行验证。

本说明书的一个或多个实施例中,所述第一密钥对可以是实时生成的,也可以是预先生成的。可选地,所述第一公钥存储在被授权或预先选定的服务器(指定服务器)中,在需要验证商品终端签名时,可以从所述被授权或预先选定的服务器中调取所述第一公钥来完成验证。

本说明书的一个或多个实施例中,所述商品终端可以通过通信模块来实现与代理服务器的信息交互。可选地,所述通信模块为无线通信模块,这样可以使得所述商品终端在具有可用无线通信网络的情况下实现数据上传。可选地,所述无线通信可以包括互联网通信、蓝牙通信、wifi通信、红外通信、3g/4g/5g通信等。可选地,采用无线通信时,如图1所示,所述溯源信息的区块上链系统还可以包括至少一个基站或网关,用于将商品终端的溯源信息转发到代理服务器中。

本说明书的一个或多个实施例中,所述商品终端,被配置为:检测所述商品终端当前连接的基站和/或网关的id;将所述基站和/或网关的id作为所述位置信息添加到所述溯源信息中。这样,可以根据商品终端当前连接的基站的id或者网关的id确定该基站和网关的定位信息,进而基于该定位信息确定商品终端的位置信息。

本说明书的一个或多个实施例中,所述溯源信息还包括商品开封信息;所述商品终端,被配置为:检测商品开封信号;响应于检测到所述商品开封信号,生成所述商品开封信息并添加到所述溯源信息中,进而可根据该商品开封信息确定商品是否曾经被开封。

本说明书的一个或多个实施例中,所述商品终端中的通信模块可以是窄带物联网(narrowbandinternetofthings,简称nb-iot)通信模块。nb-iot构建于蜂窝网络,只消耗大约180khz的带宽,可直接部署于全球移动通信系统(gsm)网络、通用移动通信系统(umts)网络或通用移动通信系统的长期演进(lte)网络,以降低部署成本、实现平滑升级。nb-iot是iot领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(lpwan)。nb-iot支持待机时间长、对网络连接要求较高设备的高效连接。nb-iot设备电池寿命可以提高至少10年,同时还能提供非常全面的室内蜂窝数据连接覆盖。

本说明书的一个或多个实施例中,所述商品终端中的通信模块可以是通过用户数据报协议(udp)向各个代理服务器发送溯源信息。

本说明书的一个或多个实施例中,所述商品终端所对应的商品可以是价格比较昂贵的商品,例如奢侈品、高端酒类,等等。可选地,所述商品终端所涉及的通信模组、处理器、电源(电池)等硬件部件,可以通过封装在商品包装中来实现商品的溯源。

所述至少三个代理服务器,被配置为:

接收来自商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名;

在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;

将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

通常的代理服务器(proxyserver)的功能是代理网络用户去取得网络信息,它是网络信息的中转站,是个人网络和internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。

本说明书的一个或多个实施例中,所述代理服务器至少具有将商品终端发出的溯源信息转发到区块链节点服务器中的功能。

为了避免单一代理服务器出现不可用问题,本说明书的一个或多个实施例中,将代理服务器的数量增加到至少三个,所述至少三个代理服务器均为溯源业务的参与方。可选地,所述至少三个代理服务器的维护主体可以是各不相同的。例如,所述至少三个代理服务器可以分别为提供溯源链服务的平台的代理服务器(如阿里云的代理服务器)、溯源链商品的服务商的代理服务器(如为厂商的商品设置所述商品终端的服务商所提供的代理服务器,例如该服务商是生产所述商品终端中的功能模块的厂家)、商品的生产商的代理服务器(如该商品的生产厂商自己的代理服务器)。

本说明书的一个或多个实施例中,当所述商品终端采用nb-iot进行通信时,区块链节点服务器组成的区块链网络并不能直接接收nb-iot消息,因此,需要所述代理服务器负责将溯源信息上传到所述区块链网络中。可选地,当所述商品终端采用nb-iot进行通信时,所述代理服务器接收的是由电信网关转发的所述溯源信息。

可选地,各个代理服务器在收到带有商品终端签名的溯源信息后,还可以验证所述商品终端签名。

本说明书的一个或多个实施例中,所述至少三个代理服务器,被配置为:

生成所述代理服务器的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;

上传所述代理服务器的所述第二公钥到指定服务器;

利用所述代理服务器的所述第二私钥在所述溯源信息上附加签名,得到带有商品终端签名和代理服务器签名的所述溯源信息,以使所述区块链节点服务器在所述指定服务器中调用所述代理服务器的所述第二公钥后,利用所述第二公钥对所述代理服务器签名进行验证。

本说明书的一个或多个实施例中,所述第二密钥对可以是实时生成的,也可以是预先生成的。可选地,所述第二公钥存储在被授权或预先选定的服务器(指导服务器)中,在需要验证代理服务器签名时,可以从所述被授权或预先选定的服务器中调取所述第二公钥来完成验证。

这里,需要说明的是,虽然这里将代理服务器的密钥对均称为第二私钥和第二公钥。但是,可以知道,对于不同的代理服务器,为了对其签名进行验证,可以采用相同或不同的密钥对,也就是,这里,与不同代理服务器对应的第二私钥可以是不同的或相同的,同理,与不同代理服务器对应的第二公钥可以是不同的或相同的,具体设定根据需要来选择,在此不做限制。

本说明书的一个或多个实施例中,所述代理服务器对带有商品终端签名的溯源信息进行二次签名后,所述代理服务器可以通过调用区块链软件开发工具包(sdk),将数据通过智能合约(smartcontract)上传到区块链节点服务器,以进一步完成区块上链处理。

所述至少一个区块链节点服务器,被配置为:

接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

统计通过验证的溯源信息对应的代理服务器维护主体的数量;

响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例中,所述区块链节点服务器是指区块链网络中的节点服务器。若所述区块链为私有链,则所述区块链网络中可能只存在一个区块链节点服务器;若所述区块链为联盟链,则所述区块链网络中可能存在多个区块链节点服务器(例如区块链网络中存在四个以上的节点);若所述区块链为公有链,则所述区块链网络中可能存在多个区块链节点服务器,且这些区块链节点服务器可以是对外公开可用的。因此,当区块链的性质不同时,区块链节点服务器的数量有所不同。

本说明书的一个或多个实施例中,所述至少一个区块链节点服务器接收到写入智能合约的若干溯源信息并检测其携带的商品终端签名和代理服务器签名,当任一溯源信息的商品终端签名和代理服务器签名验证通过时,则该溯源信息被确定为通过验证。在对指向同一商品的若干溯源信息均完成验证后,确定通过验证的溯源信息对应的代理服务器及其维护主体并统计隶属于不同维护主体的代理服务器数量,当统计数量超过预设达标阈值时,则认为指向该商品的所述溯源信息正确,并可对该条溯源信息进行区块上链处理,进而执行上链存证固定。

可选地,所述溯源信息是基于智能合约写入的,在至少一个区块链节点服务器接收到所述溯源信息后,至少一个区块链节点服务器针对具有商品终端签名和代理服务器签名的所述溯源信息执行共识确认。在共识确认成功后,至少一个区块链节点服务器对具有商品终端签名和代理服务器签名的所述溯源信息执行区块上链并可将共识确认结果发送给所述代理服务器,由此完成针对区块链的溯源信息的区块上链处理。关于区块链节点服务器之间如何进行共识确认,在本领域是公知的,在此不再赘述。

本说明书的一个或多个实施例中,用户还可以通过获取商品的身份标识(id)的方式,从区块链网络中获得相应的溯源信息,从而验证商品的真伪。可选地,可以在商品外包装上设置含有其身份标识的二维码或近场通信芯片(nfc),从而用户利用自己终端中安装的应用程序(app)或小程序通过二维码扫描或近场无线通信方式来获得相应的溯源信息。

从上述实施例可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题;同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

同时,所述溯源信息的区块上链系统,提供了完整的商品溯源服务,基于一物一码(芯)锚定商品,通过对接第三方系统或扫码设备,不仅降低了企业客户的管理成本,而且让商品的终端用户也能便捷的对商品进行溯源验真,全面提升了企业的品牌价值。

另外,要说明的是,虽然在图1的溯源信息的区块上链系统被示出为包括至少三个代理服务器,但是在本公开的其它示例中,溯源信息的区块上链系统也可以不包括至少三个代理服务器,而直接由商品终端与区块链节点服务器之间直接交互而实现上链机制。

图2示出了本发明实施例提供的溯源信息的区块上链方法的一个实施例的流程示意图。

如图2所示,所述溯源信息的区块上链方法,可选地,应用于商品终端,包括:

步骤102:获取所述商品终端对应商品的溯源信息。

本说明书的一个或多个实施例中,所述溯源信息是用于对所述商品进行商品溯源的信息,其中可以包括能够与溯源环节(例如绑码、录入、出库、物流、销售、开封等)相关联的信息。

本说明书的一个或多个实施例中,所述商品终端获取溯源信息可以是实时的,例如,按照预定时间间隔,商品终端获取与该时间点相对应的溯源信息。

本说明书的一个或多个实施例中,所述溯源信息可以包括所述商品终端的身份标识(id),所述身份标识是唯一的且与所述商品是一一对应的,只要知道该身份标识就能追踪到该商品。可选地,所述身份标识在一开始生产所述商品时就植入在所述商品终端中,可以随时被调取以供生成溯源信息。

本说明书的一个或多个实施例中,所述商品终端可以通过通信模块来实现与代理服务器的信息交互,进而将所述溯源信息发送给所述代理服务器。可选地,所述通信模块为无线通信模块,这样可以使得所述商品终端在具有可用无线通信网络的情况下实现数据上传。可选地,所述无线通信可以包括互联网通信、蓝牙通信、wifi通信、红外通信、3g/4g/5g通信等。可选地,采用无线通信时,参考图1所示,所述溯源信息的区块上链系统还可以包括至少一个基站或网关,用于将商品终端的溯源信息转发到代理服务器中。

本说明书的一个或多个实施例中,所述溯源信息还包括所述商品终端的位置信息;

所述获取所述商品终端对应商品的溯源信息,包括:

检测所述商品终端当前连接的基站和/或网关的id;

将所述基站和/或网关的id作为所述位置信息添加到所述溯源信息中。

本实施例中,所述商品终端通过通信基站或无线网关实现无线通信时,其可获取其所连接基站和/或网关的基站id或网关id;通过将所述基站id和/或网关id作为所述位置信息添加到所述溯源信息中,后续在读取所述溯源信息时,通过确定溯源信息对应的位置信息,可以确认相应的溯源环节。例如。当商品处于入库状态(例如存放在工厂仓库中时),因为仓库的位置固定,仓库中的无线网关或仓库周边的基站的地址是固定的,当获取相应基站id或网关id时,就能得出该条溯源信息对应的位置信息,进而对应到相应的溯源环节。同理,当商品被出库并分发到各地的供销商或者商店、商场后,因为这些场所的位置的不同,商品终端的通信模块所连接的基站或网关也就不同,利用前述的原理,也可以进一步确定相应的位置信息,进而对应到相应的溯源环节。

本说明书的一个或多个实施例中,所述溯源信息还包括商品开封信息;

所述获取所述商品终端对应商品的溯源信息,包括:

检测商品开封信号;

若检测到所述商品开封信号,生成所述商品开封信息并添加到所述溯源信息中。

本实施例中,所述商品终端中可以设置开封电路,所述开封电路用于检测是否产生商品开封信号,若产生商品开封信号,说明商品被开封了,即商品被打开了包装进行了使用或消耗。例如,所述开封电路可以包括一条开关信号走线,该开关信号走线设置在商品开封时必须切断的位置,从而在商品被开封时,因为走线被切断而产生相应的商品开封信号,从而生成商品开封信息。商品终端将所述商品开封信息添加到所述溯源信息中,后续在读取所述溯源信息时,通过确定溯源信息对应的商品开封信息,可以确认相应的溯源环节,即商品已经被开封。例如,对于高端酒类商品,所述开关信号走线可以设置在瓶盖处,当瓶盖被扭开时,走线自然被扭断,进而生成所述商品开封信号。

步骤104:在所述溯源信息中附加商品终端签名。

可选地,所述溯源信息的区块上链方法,还包括:

生成所述商品终端的第一密钥对,所述第一密钥对包括所述第一私钥和第一公钥;可选地,可以利用sm2算法或rsa算法来生成第一密钥对;可选地,所述生成第一密钥对的步骤,可以通过调用身份sdk

上传所述商品终端的所述第一公钥到指定服务器;可选地,所述第一公钥可以上传至被授权或预先选定的指定服务器中,在需要验证商品终端签名时,所述代理服务器和所述区块链节点服务器的至少其一可以从所述被授权或预先选定的服务器中调取所述第一公钥来完成验证。

可选地,所述第一公钥可以上传至身份认证服务器,身份认证服务器接收到所述第一公钥后相应地生成身份认证信息并返回给商品终端,所述商品终端接收身份认证信息并完成身份注册。后续在验证商品终端的身份时,可以向所述身份认证服务器调取相应的信息用于身份验证。

步骤106:将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

可选地,所述将带有商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,包括:

采用无线通信方式将带有商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器。

本说明书的一个或多个实施例中,所述商品终端中的通信模块可以是窄带物联网(narrowbandinternetofthings,简称nb-iot)通信模块。nb-iot构建于蜂窝网络,只消耗大约180khz的带宽,可直接部署于全球移动通信系统(gsm)网络、通用移动通信系统(umts)网络或通用移动通信系统的长期演进(lte)网络,以降低部署成本、实现平滑升级。nb-iot是iot领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(lpwan)。nb-iot支持待机时间长、对网络连接要求较高设备的高效连接。nb-iot设备电池寿命可以提高至少10年,同时还能提供非常全面的室内蜂窝数据连接覆盖。

本说明书的一个或多个实施例中,所述商品终端中的通信模块可以是通过用户数据报协议(udp)向各个代理服务器发送溯源信息。

本说明书的一个或多个实施例中,所述商品终端可以是设置有能够运行上述功能的模块的电子设备,其设置在商品上,用于对商品的溯源信息进行采集、处理和上传等,所述商品终端至少具有安全签名以及网络通信的功能。可选地,所述商品可以是任何商品,如食品、饮品、电子产品、生活用品、衣服、鞋袜、包、手表,等等;所述商品终端,例如,可以设置在饮品的瓶盖中,也可以设置在衣服、鞋袜的商品标签上,还可以设置在食品的包装袋、包装盒上,等等。

本说明书的一个或多个实施例中,所述商品终端所对应的商品可以是价格比较昂贵的商品,例如奢侈品、高端酒类,等等。可选地,所述商品终端所涉及的通信模组、处理器、电源(电池)等硬件部件,可以通过封装在商品包装中来实现商品的溯源。

从上述实施例可以看出,本说明书提供的一个或多个实施例,商品终端能够获取自身的溯源信息并在签名后上传到至少三个分别隶属于不同维护主体的代理服务器,再通过至少三个分别隶属于不同维护主体的代理服务器对所述溯源信息进行签名后上传到至少一个区块链节点服务器以实现溯源信息的上链,从而部分解决了链路中的不可用问题,同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

同时,所述溯源信息的区块上链方法,提供了完整的商品溯源服务,商品终端可以定时将溯源信息上传至代理服务器以供上链,使得商品本身的溯源各个环节的信息都能查找得到,从而能便捷的对商品进行溯源验真。

需要说明的是,本发明实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图3为本发明实施例提供的商品终端的一个实施例的框图结构示意图。

如图3所示,所述商品终端,包括:

获取模块201,用于获取所述商品终端对应商品的溯源信息;

第一签名模块202,用于在所述溯源信息中附加商品终端签名;

第一收发模块203,用于将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

从上述实施例可以看出,本说明书提供的一个或多个实施例,商品终端能够获取自身的溯源信息并在签名后上传到至少三个分别隶属于不同维护主体的代理服务器,再通过至少三个分别隶属于不同维护主体的代理服务器对所述溯源信息进行签名后上传到至少一个区块链节点服务器以实现溯源信息的上链,从而部分解决了链路中的不可用问题,同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

可选地,所述的商品终端,还包括第一密钥生成模块204,用于生成所述商品终端的第一密钥对,所述第一密钥对包括所述第一私钥和第一公钥;

所述第一收发模块203,用于上传所述商品终端的所述第一公钥到指定服务器;

所述第一签名模块202,用于利用所述商品终端的所述第一私钥对所述溯源信息进行签名,得到带有所述商品终端签名的溯源信息,以使所述代理服务器和所述区块链节点服务器的至少其一在所述指定服务器中调用所述商品终端的所述第一公钥后,利用所述第一公钥对所述商品终端签名进行验证。

可选地,所述溯源信息包括所述商品终端的位置信息和身份标识。

可选地,所述获取模块201,用于:

检测所述商品终端当前连接的基站和/或网关的id;

将所述基站和/或网关的id作为所述位置信息添加到所述溯源信息中。

可选地,所述溯源信息还包括商品开封信息;

所述获取模块201,用于:

检测商品开封信号;

若检测到所述商品开封信号,生成所述商品开封信息并添加到所述溯源信息中。

可选地,所述第一收发模块203,用于采用无线通信方式将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器。

上述实施例的商品终端用于实现前述应用于商品终端的溯源信息的区块上链方法实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图。所述电子设备用于实现前述的应用于商品终端的溯源信息的区块上链方法。该设备可以包括:处理器301、存储器302、输入/输出接口303、通信接口304和总线305。其中处理器301、存储器302、输入/输出接口303和通信接口304通过总线305实现彼此之间在设备内部的通信连接。

处理器301可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器302可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器302可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器302中,并由处理器301来调用执行。

输入/输出接口303用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口304用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线305包括一通路,在设备的各个组件(例如处理器301、存储器302、输入/输出接口303和通信接口304)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器301、存储器302、输入/输出接口303、通信接口304以及总线305,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

图5示出了本发明实施例提供的溯源信息的区块上链方法的另一个实施例的流程示意图。

如图5所示,所述溯源信息的区块上链方法,可选地,应用于代理服务器,包括:

步骤402:接收来自商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名。

本说明书的一个或多个实施例中,所述溯源信息的区块上链方法,还包括:

对所述溯源信息携带的商品终端签名进行验证。

本实施例中,所述代理服务器可以向存储所述商品终端的第一公钥的服务器请求调取相应的第一公钥,用于对所述商品终端签名进行验证,以确认溯源信息对应的商品终端的身份。在商品终端签名验证通过时,再执行后续的上链操作,而若商品终端签名验证不通过,则可不再进行后续步骤,从而减少代理服务器和区块链节点服务器的工作量,节约资源。

步骤404:在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

可选地,所述溯源信息的区块上链方法,还包括:

生成所述代理服务器的第二密钥对,所述第二密钥对包括所述第二私钥和第二公钥;

上传所述代理服务器的所述第二公钥到指定服务器;

在所述溯源信息上附加代理服务器签名的步骤包括:利用所述代理服务器的所述第二私钥在所述溯源信息上附加签名,得到带有商品终端签名和代理服务器签名的所述溯源信息,以使所述区块链节点服务器在所述指定服务器中调用所述代理服务器的所述第二公钥后,利用所述第二公钥对所述代理服务器签名进行验证。

本说明书的一个或多个实施例中,所述第二密钥对可以是实时生成的,也可以是预先生成的。可选地,所述第二公钥存储在被授权或预先选定的服务器(指定服务器)中,在需要验证代理服务器签名时,可以从所述被授权或预先选定的服务器中调取所述第二公钥来完成验证。

可选地,所述代理服务器可以预先向所述至少一个区块链节点服务器发起身份注册请求。在发起身份注册请求时,所述代理服务器可以把所述第二公钥发送给所述至少一个区块链节点服务器,以供所述至少一个区块链节点服务器后续进行代理服务器的身份验证。

这里,需要说明的是,虽然这里将代理服务器的密钥对均称为第二私钥和第二公钥。但是,可以知道,对于不同的代理服务器,为了对其签名进行验证,可以采用相同或不同的密钥对,也就是,这里,与不同代理服务器对应的第二私钥可以是不同的或相同的,同理,与不同代理服务器对应的第二公钥可以是不同的或相同的,具体设定根据需要来选择,在此不做限制。

步骤406:将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

可选地,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,包括:

通过智能合约(smartcontract)将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器。

本说明书的一个或多个实施例中,所述代理服务器对带有商品终端签名的溯源信息进行二次签名后,所述代理服务器可以通过调用区块链软件开发工具包(sdk),将数据通过智能合约(smartcontract)上传到区块链节点服务器,以进一步完成区块上链处理。

通常的代理服务器(proxyserver)的功能是代理网络用户去取得网络信息,它是网络信息的中转站,是个人网络和internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。

本说明书的一个或多个实施例中,所述代理服务器至少具有将商品终端发出的溯源信息转发到区块链节点服务器中的功能。

为了避免单一代理服务器出现不可用问题,本说明书的一个或多个实施例中,将代理服务器的数量增加到至少三个,所述至少三个代理服务器均为溯源业务的参与方。可选地,所述至少三个代理服务器的维护主体可以是各不相同的。例如,所述至少三个代理服务器可以分别为提供溯源链服务的平台的代理服务器(如阿里云的代理服务器)、溯源链商品的服务商的代理服务器(如为厂商的商品设置所述商品终端的服务商所提供的代理服务器,例如该服务商是生产所述商品终端中的功能模块的厂家)、商品的生产商的代理服务器(如该商品的生产厂商自己的代理服务器)。

本说明书的一个或多个实施例中,当所述商品终端采用nb-iot进行通信时,区块链节点服务器组成的区块链网络并不能直接接收nb-iot消息,因此,需要所述代理服务器负责将溯源信息上传到所述区块链网络中。可选地,当所述商品终端采用nb-iot进行通信时,所述代理服务器接收的是由电信网关转发的所述溯源信息。

从上述实施例可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题;同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

需要说明的是,本发明实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图6示出了本发明实施例提供的代理服务器的一个实施例的框图结构示意图。

如图6所示,所述代理服务器,包括:

第二收发模块501,用于接收来自商品终端的所述商品终端对应商品的溯源信息,所述溯源信息携带有商品终端签名;以及,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数;

第二签名模块502,用于在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

从上述实施例可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题,同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

可选地,所述的代理服务器,还包括第二密钥生成模块503,用于生成所述代理服务器的第二密钥对,所述第二密钥对包括所述第二私钥和第二公钥;

第二收发模块501,用于上传所述代理服务器的所述第二公钥到指定服务器;

所述第二签名模块502,用于利用所述代理服务器的所述第二私钥在所述溯源信息上附加签名,得到带有商品终端签名和代理服务器签名的所述溯源信息,以使所述区块链节点服务器在所述指定服务器中调用所述代理服务器的所述第二公钥后,利用所述第二公钥对所述代理服务器签名进行验证。

可选地,所述的代理服务器,还包括第一验证模块504,用于对所述溯源信息携带的商品终端签名进行验证;

所述第二签名模块502,用于响应于所述商品终端签名验证通过,利用所述代理服务器的所述第二私钥在所述溯源信息上附加所述代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

可选地,所述第二收发模块501,用于通过智能合约将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器。

上述实施例的代理服务器用于实现前述应用于代理服务器的溯源信息的区块上链方法实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图。所述电子设备用于实现前述的应用于代理服务器的溯源信息的区块上链方法。该设备可以包括:处理器601、存储器602、输入/输出接口603、通信接口604和总线605。其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。

处理器601可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器602可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行。

输入/输出接口603用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口604用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线605包括一通路,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器601、存储器602、输入/输出接口603、通信接口604以及总线605,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

图8示出了本发明实施例提供的溯源信息的区块上链方法的又一个实施例的流程示意图

如图8所示,所述溯源信息的区块上链方法,可选地,应用于区块链节点服务器,包括:

步骤702:接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名。

可选地,所述溯源信息的区块上链方法,还包括:

根据所述溯源信息携带的身份标识,对每个所述溯源信息进行身份识别;

如果若干所述溯源信息中携带的身份标识相同,则确定若干所述溯源信息指向同一商品。

步骤704:验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名。

可选地,验证每个所述溯源信息的所携带的所述商品终端签名和所述代理服务器签名,包括:

对每个所述溯源信息进行智能合约共识确认;在智能合约共识确认时验证所述商品终端签名和所述代理服务器签名;

响应于溯源信息被共识确认成功,则被共识确认成功的该溯源信息通过验证。

步骤706:统计通过验证的溯源信息对应的代理服务器维护主体的数量。

本说明书的一个或多个实施例中,所述溯源信息所来源的代理服务器可能是同一维护主体,也可能是不同的维护主体。例如,所述溯源信息的区块上链系统中包括四个代理服务器,而其中代理服务器a和代理服务器b由维护主体1(例如,平台)进行维护,代理服务器c由维护主体2(例如,服务商)进行维护,代理服务器d由维护主体3(例如,生产商)进行维护。假设代理服务器a~d分别上传了一个针对同一商品的溯源信息,则区块链节点服务器会收到针对该商品的四个溯源信息a、b、c、d(分别来自四个代理服务器)。其中,溯源信息a来自代理服务器a,溯源信息b来自代理服务器b,溯源信息c来自代理服务器c,溯源信息d来自代理服务器d;可知,溯源信息a和溯源信息b对应的都是维护主体1,而溯源信息c对应的是维护主体2,溯源信息d对应的是维护主体3。

因此,在这种情况下,假设四个溯源信息a、b、c、d均被验证通过,在统计通过验证的溯源信息对应的代理服务器维护主体的数量时,统计数量为3而不是4,这是因为步骤706中统计的是验证通过的溯源信息对应的代理服务器维护主体的数量,而非验证通过的溯源信息的数量。换言之,针对溯源信息a和溯源信息b,因为其对应的都是维护主体1,在溯源信息a和溯源信息b都验证通过时,统计数量也只能是1。

同理,假设维护主体1所维护的代理服务器有三个甚至更多时,它们上传到区块链节点服务器的溯源信息即使都被验证通过,统计数量也只会加一。

步骤708:响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

本说明书的一个或多个实施例中,所述至少一个区块链节点服务器接收到写入智能合约的溯源信息并检测其携带的商品终端签名和代理服务器签名,当任一溯源信息的商品终端签名和代理服务器签名验证通过时,则被共识确认成功的该溯源信息通过验证。对于所有通过验证的溯源信息,统计通过验证的溯源信息对应的代理服务器维护主体的数量,当统计数量超过预设达标阈值时,则认为该条溯源信息正确,并可对该条溯源信息进行区块上链处理,进而执行上链存证固定。

本步骤中,之所以要求统计通过验证的溯源信息对应的代理服务器维护主体的数量而不是单纯统计通过验证的溯源信息的原因在于,对于同一维护主体的代理服务器,可能存在拖延上链时间或故意不上链的时间篡改问题,如果针对同一维护主体的代理服务器数量占多数时,采用通过验证的溯源信息占多数来判断溯源信息是否正确的方法是不可行的。

例如,所述溯源信息的区块上链系统中包括五个代理服务器,而其中代理服务器a-c由维护主体1(例如,平台)进行维护,代理服务器d由维护主体2(例如,服务商)进行维护,代理服务器e由维护主体3(例如,生产商)进行维护。假设代理服务器a~e分别上传了一个针对同一商品的溯源信息,则区块链节点服务器会收到针对该商品的五个溯源信息a、b、c、d、e(分别来自五个代理服务器)。其中,溯源信息a来自代理服务器a,溯源信息b来自代理服务器b,溯源信息c来自代理服务器c,溯源信息d来自代理服务器d,溯源信息e来自代理服务器e;可知,溯源信息a、b、c对应的都是维护主体1,而溯源信息d对应的是维护主体2,溯源信息e对应的是维护主体3。

假设,维护主体1把溯源信息a、b、c均延迟上传,但延迟上传的时间点完全相同,此时区块链节点服务器在接收到溯源信息a、b、c后,如果签名均验证通过,假设以通过验证的溯源信息占多数来判断溯源信息是否正确,此时,即使没有收到其他代理服务器的溯源信息,也可以判断溯源信息a、b、c正确并进行上链,这样上链时间就被篡改了。

因此,本步骤中,采用统计通过验证的溯源信息对应的代理服务器维护主体的数量,就能保证即使同一维护主体的多个代理服务器都上传了溯源信息,但其在统计数量中最多只能加一,这样就在多个维护主体情况下解决了溯源信息的时间篡改问题。

为了保证更好地解决时间篡改问题,在步骤702中,接收来自代理服务器的若干溯源信息需在一定时间窗口内完成,即,超过一定时间窗口,即使接收到针对同一商品的溯源信息,也不用于与该时间窗口内接收到溯源信息一起进行溯源信息正确性的判断和上链等操作。

在步骤702中,因为可能存在代理服务器延迟上链或故意不上链的问题,因此接收到的若干溯源信息中有可能只是部分代理服务器上传的,因此,步骤708中仅要求统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理。

可选地,所述预设达标阈值可以是根据需求设置的,例如,如果对消息正确的要求较高,可以设定代理服务器维护主体数量的三分之二以上作为所述预设达标阈值;若对消息正确的要求较低,可以在所述预设达标阈值达到1以上即可。

可选地,所述溯源信息是基于智能合约写入的,在至少一个区块链节点服务器接收到所述溯源信息后,至少一个区块链节点服务器针对具有商品终端签名和代理服务器签名的溯源信息执行共识确认。在共识确认成功后,至少一个区块链节点服务器对具有商品终端签名和代理服务器签名的溯源信息执行区块上链并可将共识确认结果发送给所述代理服务器,由此完成针对区块链的溯源信息的区块上链处理。关于区块链节点服务器之间如何进行共识确认,在本领域是公知的,在此不再赘述。

本说明书的一个或多个实施例中,所述区块链节点服务器是指区块链网络中的节点服务器。若所述区块链为私有链,则所述区块链网络中可能只存在一个区块链节点服务器;若所述区块链为联盟链,则所述区块链网络中可能存在多个区块链节点服务器(例如区块链网络中存在四个以上的节点);若所述区块链为公有链,则所述区块链网络中可能存在多个区块链节点服务器,且这些区块链节点服务器可以是对外公开可用的。因此,当区块链的性质不同时,区块链节点服务器的数量有所不同。

本说明书的一个或多个实施例中,用户还可以通过获取商品终端的身份标识(id)的方式,从区块链网络中获得相应的溯源信息,从而验证商品的真伪。可选地,可以在商品外包装上设置含有其身份标识的二维码或近场通信芯片(nfc),从而用户利用自己终端中安装的应用程序(app)或小程序通过二维码扫描或近场无线通信方式来获得相应的溯源信息。

从上述实施例可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题;同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

同时,所述溯源信息的区块上链系统,提供了完整的商品溯源服务,基于一物一码(芯)锚定商品,通过对接第三方系统或扫码设备,不仅降低了企业客户的管理成本,而且让商品的终端用户也能便捷的对商品进行溯源验真,全面提升了企业的品牌价值。

需要说明的是,本发明实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图9示出了本发明实施例提供的区块链节点服务器的一个实施例的框图结构示意图。

如图9所示,所述区块链节点服务器,包括:

第三收发模块801,用于接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

第二验证模块802,用于验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

上链模块803,用于统计通过验证的溯源信息对应的代理服务器维护主体的数量;以及,响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

从上述实施例可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题;同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

可选地,所述第二验证模块802,用于对每个所述溯源信息进行智能合约共识确认;在智能合约共识确认时验证所述商品终端签名和所述代理服务器签名;以及,响应于溯源信息被共识确认成功,则被共识确认成功的该溯源信息通过验证。

可选地,所述的区块链节点服务器,还包括身份识别模块804,用于:

根据所述溯源信息携带的身份标识,对每个所述溯源信息进行身份识别;

如果若干所述溯源信息中携带的身份标识相同,则确定若干所述溯源信息指向同一商品。

上述实施例的区块链节点服务器用于实现前述应用于区块链节点服务器的溯源信息的区块上链方法实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

图10示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图。所述电子设备用于实现前述的应用于区块链节点服务器的溯源信息的区块上链方法。该设备可以包括:处理器901、存储器902、输入/输出接口903、通信接口904和总线905。其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。

处理器901可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器902可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行。

输入/输出接口903用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口904用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线905包括一通路,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器901、存储器902、输入/输出接口903、通信接口904以及总线905,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

图11示出了本发明实施例提供的溯源信息的区块上链方法的再一个实施例的流程示意图。

如图11所示,所述溯源信息的区块上链方法,包括:

步骤1002:商品终端获取所述商品终端对应商品的溯源信息;

步骤1004:所述商品终端在所述溯源信息中附加商品终端签名;

步骤1006:所述商品终端将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器;

步骤1008:代理服务器接收来自所述商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名;

步骤1010:所述代理服务器在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;

步骤1012:所述代理服务器将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器;

步骤1014:所述区块链节点服务器接收来自所述代理服务器的若干溯源信息;若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

步骤1016:所述区块链节点服务器验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

步骤1018:所述区块链节点服务器统计通过验证的溯源信息对应的代理服务器维护主体的数量;

步骤1020:所述区块链节点服务器响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

从上述实施例可以看出,本说明书提供的一个或多个实施例,通过设置至少三个代理服务器来实现溯源信息的上链,从而部分解决了链路中的不可用问题;同时,因为至少三个代理服务器隶属于不同维护主体,针对通过验证的溯源信息统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后才完成上链,则解决了单一维护主体情况下拖延上链时间或故意不上链的时间篡改问题;利用这样的多代理服务器收发消息上链机制,解决了单一代理服务器的不可用问题和单一维护主体的篡改时间问题。

同时,所述溯源信息的区块上链系统,提供了完整的商品溯源服务,基于一物一码(芯)锚定商品,通过对接第三方系统或扫码设备,不仅降低了企业客户的管理成本,而且让商品的终端用户也能便捷的对商品进行溯源验真,全面提升了企业的品牌价值。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种溯源信息的区块上链方法,应用于商品终端,包括:

获取所述商品终端对应商品的溯源信息;

在所述溯源信息中附加商品终端签名;

将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

2.根据权利要求1所述的方法,其中,所述方法还包括:

生成所述商品终端的第一密钥对,所述第一密钥对包括第一私钥和第一公钥;

上传所述商品终端的所述第一公钥到指定服务器;

在所述溯源信息中附加商品终端签名的步骤包括:利用所述商品终端的所述第一私钥对所述溯源信息进行签名,得到带有所述商品终端签名的溯源信息,以使所述代理服务器和所述区块链节点服务器的至少其一在所述指定服务器中调用所述商品终端的所述第一公钥后,利用所述第一公钥对所述商品终端签名进行验证。

3.根据权利要求1所述的方法,其中,所述溯源信息包括所述商品终端的位置信息和身份标识。

4.根据权利要求3所述的方法,其中,所述获取所述商品终端对应商品的溯源信息,包括:

检测所述商品终端当前连接的基站和/或网关的id;

将所述基站和/或网关的id作为所述位置信息添加到所述溯源信息中。

5.根据权利要求3所述的方法,其中,所述溯源信息还包括商品开封信息;

所述获取所述商品终端对应商品的溯源信息,包括:

检测商品开封信号;

响应于检测到所述商品开封信号,生成所述商品开封信息并添加到所述溯源信息中。

6.根据权利要求1所述的方法,其中,所述将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,包括:

采用无线通信方式将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器。

7.一种溯源信息的区块上链方法,应用于代理服务器,包括:

接收来自商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名;

在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;

将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

8.根据权利要求7所述的方法,其中,还包括:

生成所述代理服务器的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;

上传所述代理服务器的所述第二公钥到指定服务器;

在所述溯源信息上附加代理服务器签名的步骤包括:利用所述代理服务器的所述第二私钥在所述溯源信息上附加签名,得到带有商品终端签名和代理服务器签名的所述溯源信息,以使所述区块链节点服务器在所述指定服务器中调用所述代理服务器的所述第二公钥后,利用所述第二公钥对所述代理服务器签名进行验证。

9.根据权利要求8所述的方法,其中,所述方法还包括:

对所述溯源信息携带的商品终端签名进行验证;

响应于所述商品终端签名验证通过,利用所述代理服务器的所述第二私钥在所述溯源信息上附加所述代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

10.根据权利要求7所述的方法,其中,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,包括:

通过智能合约将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器。

11.一种溯源信息的区块上链方法,应用于区块链节点服务器,包括:

接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

统计通过验证的溯源信息对应的代理服务器维护主体的数量;

响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

12.根据权利要求11所述的方法,其中,验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名,包括:

对每个所述溯源信息进行智能合约共识确认;在智能合约共识确认时验证所述商品终端签名和所述代理服务器签名;

响应于溯源信息被共识确认成功,则被共识确认成功的该溯源信息通过验证。

13.根据权利要求11所述的方法,其中,所述方法还包括:

根据所述溯源信息携带的身份标识,对每个所述溯源信息进行身份识别;

如果若干所述溯源信息中携带的身份标识相同,则确定若干所述溯源信息指向同一商品。

14.一种溯源信息的区块上链方法,包括:

商品终端获取所述商品终端对应商品的溯源信息;

所述商品终端在所述溯源信息中附加商品终端签名;

所述商品终端将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器;

代理服务器接收来自所述商品终端的所述商品终端对应商品的溯源信息;所述溯源信息携带有商品终端签名;

所述代理服务器在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;

所述代理服务器将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器;

所述区块链节点服务器接收来自所述代理服务器的若干溯源信息;若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

所述区块链节点服务器验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

所述区块链节点服务器统计通过验证的溯源信息对应的代理服务器维护主体的数量;

所述区块链节点服务器响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;

其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

15.一种商品终端,包括:

获取模块,用于获取所述商品终端对应商品的溯源信息;

第一签名模块,用于在所述溯源信息中附加商品终端签名;

第一收发模块,用于将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器,以使所述代理服务器在所述溯源信息上附加代理服务器签名,并将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,使得所述区块链节点服务器对接收到的所述溯源信息所携带的商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,并在统计数量达到预设达标阈值后对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

16.根据权利要求15所述的商品终端,其中,所述商品终端还包括第一密钥生成模块,用于生成所述商品终端的第一密钥对,所述第一密钥对包括第一私钥和第一公钥;

所述第一收发模块,用于上传所述商品终端的所述第一公钥到指定服务器;

所述第一签名模块,用于利用所述商品终端的所述第一私钥对所述溯源信息进行签名,得到带有所述商品终端签名的溯源信息,以使所述代理服务器和所述区块链节点服务器的至少其一在所述指定服务器中调用所述商品终端的所述第一公钥后,利用所述第一公钥对所述商品终端签名进行验证。

17.根据权利要求15所述的商品终端,其中,所述溯源信息包括所述商品终端的位置信息和身份标识。

18.根据权利要求17所述的商品终端,其中,所述获取模块,用于:

检测所述商品终端当前连接的基站和/或网关的id;

将所述基站和/或网关的id作为所述位置信息添加到所述溯源信息中。

19.根据权利要求17所述的商品终端,其中,所述溯源信息还包括商品开封信息;

所述获取模块,用于:

检测商品开封信号;

响应于检测到所述商品开封信号,生成所述商品开封信息并添加到所述溯源信息中。

20.根据权利要求15所述的商品终端,其中,所述第一收发模块,用于采用无线通信方式将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器。

21.一种代理服务器,包括:

第二收发模块,用于接收来自商品终端的所述商品终端对应商品的溯源信息,所述溯源信息携带有商品终端签名;以及,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器,以使所述区块链节点服务器对接收到的所述溯源信息所携带的所述商品终端签名和代理服务器签名进行验证,统计通过验证的溯源信息对应的代理服务器维护主体的数量,进而在统计数量达到预设达标阈值后,对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数;

第二签名模块,用于在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

22.根据权利要求21所述的代理服务器,其中,所述代理服务器还包括第二密钥生成模块,用于生成所述代理服务器的第二密钥对,所述第二密钥对包括第二私钥和第二公钥;

第二收发模块,用于上传所述代理服务器的所述第二公钥到指定服务器;

所述第二签名模块,用于利用所述代理服务器的所述第二私钥在所述溯源信息上附加签名,得到带有商品终端签名和代理服务器签名的所述溯源信息,以使所述区块链节点服务器在所述指定服务器中调用所述代理服务器的所述第二公钥后,利用所述第二公钥对所述代理服务器签名进行验证。

23.根据权利要求22所述的代理服务器,其中,所述代理服务器还包括第一验证模块,用于对所述溯源信息携带的商品终端签名进行验证;

所述第二签名模块,用于响应于所述商品终端签名验证通过,利用所述代理服务器的所述第二私钥在所述溯源信息上附加所述代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息。

24.根据权利要求21所述的代理服务器,其中,所述第二收发模块,用于通过智能合约将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器。

25.一种区块链节点服务器,包括:

第三收发模块,用于接收来自代理服务器的若干溯源信息;其中,若干所述溯源信息指向同一商品;所述溯源信息携带有商品终端签名和代理服务器签名;

第二验证模块,用于验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;

上链模块,用于统计通过验证的溯源信息对应的代理服务器维护主体的数量;以及,响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

26.根据权利要求25所述的区块链节点服务器,其中,所述第二验证模块,用于对每个所述溯源信息进行智能合约共识确认;在智能合约共识确认时验证所述商品终端签名和所述代理服务器签名;以及,响应于溯源信息被共识确认成功,则被共识确认成功的该溯源信息通过验证。

27.根据权利要求25所述的区块链节点服务器,其中,还包括身份识别模块,用于:

根据所述溯源信息携带的身份标识,对每个所述溯源信息进行身份识别;

如果若干所述溯源信息中携带的身份标识相同,则确定若干所述溯源信息指向同一商品。

28.一种溯源信息的区块上链系统,包括:

商品终端,被配置为:获取所述商品终端对应商品的溯源信息;在所述溯源信息中附加商品终端签名;以及,将带有所述商品终端签名的所述溯源信息上传到至少三个分别隶属于不同维护主体的代理服务器;

至少三个分别隶属于不同维护主体的代理服务器,被配置为:接收来自所述商品终端的所述商品终端对应商品的溯源信息,所述溯源信息携带有商品终端签名;在所述溯源信息上附加代理服务器签名,得到带有商品终端签名和代理服务器签名的所述溯源信息;以及,将带有商品终端签名和代理服务器签名的所述溯源信息上传到至少一个区块链节点服务器;

至少一个区块链节点服务器,被配置为:接收来自所述至代理服务器的若干溯源信息,若干所述溯源信息指向同一商品,所述溯源信息携带有商品终端签名和代理服务器签名;验证每个所述溯源信息所携带的所述商品终端签名和所述代理服务器签名;统计通过验证的溯源信息对应的代理服务器维护主体的数量;以及,响应于统计数量达到预设达标阈值,则对所述溯源信息进行区块上链处理;其中,所述预设达标阈值至少需大于代理服务器维护主体数量的半数。

29.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至13任意一项所述的方法。

30.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至13任一所述方法。

技术总结
本说明书的一个或多个实施例中提供一种溯源信息的区块上链方法及相关设备,提供了较为完整的商品溯源服务,利用商品终端生成溯源信息并由至少三个代理服务器实现转发,最后由区块链节点服务器实现区块上链,从而部分解决了链路中的不可用问题。

技术研发人员:张鸿
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.04.24
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-50687.html

最新回复(0)