产品业务数据上传方法、存证方法、装置、设备及介质与流程

文档序号:20078681发布日期:2020-03-10 10:11阅读:213来源:国知局
产品业务数据上传方法、存证方法、装置、设备及介质与流程

本说明书属于产品溯源领域,尤其涉及一种产品业务数据上传方法、存证方法、装置、设备及介质。



背景技术:

随着技术的发展,产品供应链的链条不断延长,从而给产品的追溯带来了很大的挑战。面对这种挑战,可以建立产品溯源服务平台对产品业务数据进行管理,实现产品溯源,具体包括:产品溯源服务平台审核产品参与节点发送的身份认证信息,如果审核通过,那么可以将该产品参与节点发送的产品业务数据进行存储,用于后期的产品溯源。

但是,由于不可避免地会存在一些虚假的产品业务数据,如果存储了该虚假的产品业务数据,那么用户进行产品溯源时会查询到虚假的产品业务数据,欺骗了消费者,造成了不可挽回的结果。



技术实现要素:

本说明书实施例提供一种产品业务数据上传方法、存证方法、装置、设备及介质,能够解决进行溯源时存在虚假产品业务数据的问题。

第一方面,本说明书实施例提供一种产品业务数据上传方法,应用于产品流通过程中的产品参与节点,所述方法包括:

向证书授权中心ca发送所述产品参与节点的身份认证信息;

接收所述ca发送的数字证书,所述数字证书是所述ca根据所述身份认证信息对所述产品参与节点进行认证所生成的数字证书;

根据所述数字证书申请所述产品参与节点成为区块链的节点;

在所述产品参与节点成为所述区块链的节点之后,对于每次待上传的产品业务数据,计算所述产品业务数据的签名,并向所述区块链的除所述产品参与节点之外的节点发送所述产品业务数据、所述签名以及所述数字证书。

第二方面,本说明书实施例提供了一种产品业务数据存证方法,应用于区块链的节点,所述方法包括:

接收产品流通过程中的产品参与节点发送的产品业务数据、所述产品业务数据的签名以及数字证书;

执行用于产品业务数据存证的智能合约,以从ca中获取所述产品参与节点的最新数字证书;

根据从所述ca中获取的最新数字证书,验证所述产品参与节点发送的数字证书是否有效;

若所述产品参与节点发送的数字证书有效,则根据所述产品业务数据,对所述签名进行验证;

在所述签名验证通过的情况下,在所述区块链上存储所述产品业务数据;在所述签名验证不通过的情况下,在所述区块链上不存储所述产品业务数据。

第三方面,本说明书实施例提供了一种产品业务数据上传装置,应用于产品流通过程中的产品参与节点,所述装置包括:

认证信息发送模块,用于向证书授权中心ca发送所述产品参与节点的身份认证信息;

数字证书接收模块,用于接收所述ca发送的数字证书,所述数字证书是所述ca根据所述身份认证信息对所述产品参与节点进行认证所生成的数字证书;

区块链节点申请模块,用于根据所述数字证书申请所述产品参与节点成为区块链的节点;

签名计算模块,用于在所述产品参与节点成为所述区块链的节点之后,对于每次待上传的产品业务数据,计算所述产品业务数据的签名;

数据发送模块,用于向所述区块链的除所述产品参与节点之外的节点发送所述产品业务数据、所述签名以及所述数字证书。

第四方面,本说明书实施例提供了一种产品业务数据存证装置,应用于区块链的节点,所述装置包括:

数据接收模块,用于接收产品流通过程中的产品参与节点发送的产品业务数据、所述产品业务数据的签名以及数字证书;

第一智能合约执行模块,用于执行用于产品业务数据存证的智能合约,以从ca中获取所述产品参与节点的最新数字证书;

第一证书验证模块,用于根据从所述ca中获取的最新数字证书,验证所述产品参与节点发送的数字证书是否有效;

签名验证模块,用于若所述产品参与节点发送的数字证书有效,则根据所述产品业务数据,对所述签名进行验证;

存储处理模块,用于在所述签名验证通过的情况下,在所述区块链上存储所述产品业务数据;在所述签名验证不通过的情况下,在所述区块链上不存储所述产品业务数据。

第五方面,本说明书实施例提供了一种计算机设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;

所述处理器执行所述计算机程序指令时实现所述的产品业务数据上传方法或者产品业务数据存证方法。

第六方面,本说明书实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现所述的产品业务数据上传方法或者产品业务数据存证方法。

本说明书实施例的产品业务数据上传方法、存证方法、装置、设备及介质,通过ca向产品参与节点发放数字证书,由于ca是一个权威机构,拥有更多的资源和更加全面的数据,所以ca的认证结果更加准确。另外,在上传产品业务数据的同时,上传产品业务数据的签名以及产品参与节点的数字证书。这样,可以通过签名对产品业务数据进行验证,通过数字证书对发送产品业务数据的产品参与节点进行验证,实现了双重验证,避免上传虚假的产品业务数据,进而保证了在进行产品溯源时向用户展示真实的产品业务数据。

附图说明

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

图1示出了本说明书一个实施例提供的用于产品业务数据上传方法和存证方法的系统示意图;

图2示出了本说明书一个实施例提供的产品业务数据上传方法和存证方法的时序图;

图3示出了本说明书的一个实施例提供的产品业务数据上传装置的结构示意图;

图4示出了本说明书的另一个实施例提供的产品业务数据存证装置的结构示意图;

图5示出了本说明书实施例提供的计算机设备的硬件结构示意图。

具体实施方式

下面将详细描述本说明书的各个方面的特征和示例性实施例,为了使本说明书的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本说明书进行进一步详细描述。对于本领域技术人员来说,本说明书可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本说明书的示例来提供对本说明书更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

图1示出了本说明书一个实施例提供的用于产品业务数据上传方法和存证方法的系统示意图。

如图1所示,产品业务数据上传方法包括以下步骤:

产品流通过程中的产品参与节点向证书授权中心(certificateauthority,ca)发送身份认证信息,该身份认证信息可以包括产品参与节点的资质信息,产品参与节点可以为:产品生产节点、产品物流节点、产品销售节点、产品购买节点或者产品维修节点。

ca对产品参与节点的身份认证信息进行审核,在审核通过的情况下为产品参与节点生成数字证书,并将数字证书发送至产品参与节点。

产品参与节点根据ca为其生成的数字证书,申请产品参与节点成为区块链的节点。

产品参与节点成为区块链的节点之后,对于每次待上传的产品业务数据,计算产品业务数据的签名,并向区块链的除产品参与节点之外的节点发送产品业务数据、签名以及产品参与节点的数字证书。

在执行产品业务数据上传方法之后,执行产品业务数据存证方法,具体包括以下步骤:

区块链的节点接收产品业务数据、签名以及数字证书之后,执行用于产品业务数据存证的智能合约,以获取ca中存储的产品参与节点的最新数字证书。

区块链的节点根据ca中存储的产品参与节点的最新数字证书,验证产品参与节点发送的数字证书是否有效。比如,如果ca中存储的产品参与节点的最新数字证书与产品参与节点发送的数字证书一致,则说明产品参与节点发送的数字证书有效。

在产品参与节点发送的数字证书有效的情况下,区块链的节点根据产品业务数据对产品业务数据的签名进行验证。

在签名验证通过的情况下,在区块链上存储产品业务数据;在签名验证不通过的情况下,在区块链上不存储产品业务数据。

在存储产品业务数据之后,查询终端可以从区块链的节点上获取产品业务数据,实现了产品溯源。产品溯源指对产品的生产、分销、物流、销售、购买、使用、回收等各个环节采集数据并追踪。

在本说明书实施例中,通过ca向产品参与节点发放数字证书,由于ca是一个权威机构,拥有更多的资源和更加全面的数据,所以ca的认证结果更加准确。另外,在上传产品业务数据的同时,上传产品业务数据的签名以及产品参与节点的数字证书。这样,不仅可以通过签名对产品业务数据进行验证,还可以通过数字证书对发送产品业务数据的产品参与节点进行验证,实现了双重验证,避免上传虚假的产品业务数据,进而保证了在进行产品溯源时向用户展示真实的产品业务数据。

以上是对本说明书实施例提供的产品溯源系统进行的介绍,下面对本说明书实施例所提供的产品业务数据上传和存证方法进行介绍。

图2示出了本说明书一个实施例提供的产品业务数据上传方法和存证方法的时序图,如图2所示,产品业务数据上传方法包括:

s102,产品参与节点向ca发送身份认证信息。ca是进行认证和证书签发和颁发机构。

s104,ca基于身份认证信息进行身份认证,并在身份认证通过的情况下,生成数字证书。其中,数字证书包括产品参与节点的公钥。另外,ca还可以为产品参与节点生成与该公钥对应的私钥,即公钥和私钥是一对,并将私钥发送给产品参与节点。

s106,ca将生成的数字证书发送至产品参与节点。对于产品参与节点的数字证书,不仅产品参与节点可以持有,ca也存储有数字证书。对于产品参与节点的私钥,私钥是保密的,不能外泄,只有产品参与节点持有。

s108,产品参与节点接收ca生成的数字证书之后,向区块链的节点发送请求和产品参与节点的数字证书,该请求用于申请产品参与节点成为区块链的节点。

在区块链的节点接收到请求后,执行用于加入区块链的智能合约,以从ca获取产品参与节点的最新数字证书。

其中,从ca获取产品参与节点的最新数字证书包括s110和s112。

s110,区块链的节点向ca发送获取产品参与节点的最新数字证书的请求。

s112,ca根据s110中的请求,查询ca为产品参与节点的最新数字证书,向区块链的节点发送产品参与节点的最新数字证书。

在区块链的节点从ca中获取产品参与节点的最新数字证书之后,产品业务数据上传和存证方法还包括:

s114,区块链的节点根据产品参与节点的最新数字证书,验证产品参与节点发送的数字证书是否有效,比如,验证产品参与节点的最新数字证书和产品参与节点发送的数字证书是否内容一致,在内容一致时产品参与节点发送的数字证书有效。在验证产品参与节点发送的数字证书有效时,将产品参与节点添加到区块链,即将产品参与节点作为区块链的一个节点。

继续参考图2,产品业务数据存证方法包括:

s116,在产品参与节点成为区块链的节点之后,对于产品参与节点每次待上传的产品业务数据,使用产品参与节点的私钥对产品业务数据进行计算,得到产品业务数据的签名。其中,产品业务数据可以包括产品参与节点的名称、产品生产日期、产品生产地等。

其中,s116具体包括:通过安全哈希算法(securehashalgorithm,sha)散列函数对产品业务数据进行计算,得到一个计算结果,使用产品参与节点的私钥对该计算结果进行加密得到产品业务数据的签名。

s118,产品参与节点将产品业务数据、签名以及数字证书发送至区块链的除产品参与节点之外的节点。

区块链的节点接收产品业务数据、签名以及证书序列号之后,执行存证产品业务数据的智能合约,以从ca获取参与节点的最新数字证书。

其中,区块链的节点从ca获取参与节点的最新数字证书包括s120和s122。

s120,向ca发送获取产品参与节点的证书的请求。

s122,ca根据s120中的请求,在存储的数字证书中查询产品参与节点的最新数字证书,并将参与节点的最新数字证书发送给区块链的节点。

在s122之后,产品业务数据上传和存证方法还包括:

s124,区块链的节点利用从ca获取的产品参与节点的最新数字证书,验证产品参与节点发送的数字证书是否有效,若该数字证书有效,则使用该数字证书中的公钥以及产品业务数据,对签名进行验证,并在验证通过的情况下,说明产品业务数据真实、可靠,将产品业务数据存储到区块链上。

其中,使用产品参与节点发送的数字证书中的公钥以及产品业务数据,对签名进行验证具体包括:根据产品业务数据,计算第一摘要,比如,通过sha散列函数对产品业务数据进行计算,得到第一摘要;使用产品参与节点的数字证书中的公钥对签名进行解密,得到第二摘要;若第一摘要与第二摘要相同,则对签名验证通过。

在本说明书实施例中,ca为产品参与节点生成数字证书之后,产品参与节点利用该数字证书可以证明其身份可靠,从而成为区块链的节点。在产品参与节点成为区块链的节点之后,利用数字证书证明其身份可靠,从而证明其上传的产品业务数据可靠,有效地避免上传和存证虚假的产品业务数据,保证产品业务数据溯源的真实性和可靠性。其中,本说明书实施例中产品参与节点可以直接与区块链的节点进行通信,即产品参与节点与区块链的节点之间没有中间转达的设备;产品参与节点可以间接与区块链的节点进行通信,即产品参与节点与区块链的节点之间没有中间转达的设备,该设备比如是溯源服务平台的服务器。

在本说明书的一个或多个实施例(包括图1或图2的实施例)中,在产品参与节点成为区块链的节点之后,产品业务数据上传方法还包括:在产品参与节点接收到产品业务数据与产品标识关联的操作的情况下,响应于该操作,获取产品标识;将产品标识与产品业务数据相关联;向区块链的除产品参与节点之外的节点发送与产品业务数据相关联的产品标识。

区块链的节点存储产品业务数据包括:在区块链上存储相关联的产品标识和产品业务数据。

正是因为产品标识和产品业务数据关联存储,所以区块链的节点在接收到查询终端发送的产品数据查询请求的情况下,可以根据产品数据查询请求中的产品标识,查询与产品标识相关联的至少一个产品参与节点的产品业务数据;向查询终端发送至少一个产品参与节点的产品业务数据。

比如,查询终端通过小程序向区块链的节点发送产品数据查询请求,区块链的节点接收到该产品数据查询请求之后,从区块链上获取与产品标识相关联的产品业务数据,并发送至查询终端,从而实现了对产品业务数据的追溯。

在本说明书的一个或多个实施例(包括图1或图2的实施例)中,产品业务数据存证方法还包括:在区块链的节点对签名验证不通过的情况下,获取产品参与节点的位置信息;向产品的合法供应节点上报该位置信息,其中产品的合法参与节点是根据产品业务数据中的产品品牌查询得到。

其中,获取产品参与节点的位置信息,包括:查询产品参与节点的网络协议ip地址;根据ip地址,确定位置信息。

如果签名验证不通过,说明产品业务数据的来源是假冒伪劣商户,进而说明产品业务数据是虚假产品业务数据,则向产品的合法供应节点(比如,产品的合法生产商或合法销售商)上报假冒伪劣商户的位置信息,以便合法供应节点追究假冒伪劣商户的责任,以及实现产品在市场上的规范化。

图3示出了本说明书的一个实施例提供的产品业务数据上传装置的结构示意图。该产品业务数据上传装置应用于产品流通过程中的产品参与节点,如图3所示,该产品业务数据上传装置200包括:

认证信息发送模块202,用于向证书授权中心ca发送产品参与节点的身份认证信息。

数字证书接收模块204,用于接收ca发送的数字证书,数字证书是ca根据身份认证信息对产品参与节点进行认证所生成的数字证书。

区块链节点申请模块206,用于根据数字证书申请产品参与节点成为区块链的节点。

签名计算模块208,用于在产品参与节点成为区块链的节点之后,对于每次待上传的产品业务数据,计算产品业务数据的签名。

数据发送模块210,用于向区块链的除产品参与节点之外的节点发送产品业务数据、签名以及数字证书。

在本说明书的一个或多个实施例中,区块链节点申请模块206包括:

申请信息发送模块,用于向区块链的除产品参与节点之外的节点发送请求以及数字证书,请求用于申请产品参与节点成为区块链的节点。

在本说明书的一个或多个实施例中,产品业务数据上传装置200还包括:

产品标识获取模块,用于响应于产品业务数据与产品标识关联的操作,获取产品标识。

关联模块,用于将产品标识与产品业务数据相关联。

标识发送模块,用于向区块链的除产品参与节点之外的节点发送与产品业务数据相关联的产品标识。

图4示出了本说明书的一个实施例提供的产品业务数据存证装置的结构示意图。该产品业务数据存证装置应用于区块链的节点,如图4所示,该产品业务数据存证装置300包括:

数据接收模块302,用于接收产品流通过程中的产品参与节点发送的产品业务数据、产品业务数据的签名以及数字证书。

第一智能合约执行模块304,用于执行用于产品业务数据存证的智能合约,以从ca中获取产品参与节点的最新数字证书。

第一证书验证模块306,用于根据从ca中获取的最新数字证书,验证产品参与节点发送的数字证书是否有效。

签名验证模块308,用于若产品参与节点发送的数字证书有效,则根据产品业务数据,对签名进行验证。

存储处理模块310,用于在签名验证通过的情况下,在区块链上存储产品业务数据;在签名验证不通过的情况下,在区块链上不存储产品业务数据。

在本说明书的一个或多个实施例中,产品业务数据存证装置300还包括:

节点申请请求接收模块,用于接收产品参与节点发送的请求以及数字证书,请求用于申请产品参与节点成为区块链的节点。

第二智能合约执行模块,用于响应请求,执行用于加入区块链的智能合约,以从ca中获取产品参与节点的最新数字证书。

第二证书验证模块,用于根据从ca中获取的最新数字证书,验证产品参与节点发送的数字证书是否有效。

节点确认模块,用于若产品参与节点发送的数字证书有效,则将产品参与节点作为区块链的节点。

在本说明书的一个或多个实施例中,在签名验证不通过的情况下,产品业务数据存证装置300还包括:

位置信息获取模块,用于获取产品参与节点的位置信息;

位置信息上报模块,用于向产品的合法参与节点上报位置信息,合法参与节点是根据产品业务数据中的产品品牌查询得到。

在本说明书的一个或多个实施例中,位置信息获取模块包括:

ip地址查询模块,用于查询产品参与节点的网络协议ip地址;

位置信息确定模块,用于根据ip地址,确定位置信息。

在本说明书的一个或多个实施例中,产品业务数据存证装置300还包括:

标识接收模块,用于接收产品参与节点发送的与产品业务数据相关联的产品标识。

存储处理模块310包括:

关联存储模块,用于在区块链上存储相关联的产品标识和产品业务数据。

图5示出了本说明书实施例提供的计算机设备的硬件结构示意图。

计算机设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本说明书实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种产品业务数据上传方法或产品业务数据存证方法。

在一个示例中,计算机设备还可包括通信接口403和总线410。其中,如图5所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本说明书实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本说明书实施例描述和示出了特定的总线,但本说明书考虑任何合适的总线或互连。

该计算机设备可以执行本说明书实施例中的产品业务数据上传方法和/或产品业务数据存证方法,从而实现结合图1至图4描述的方法和装置。

另外,结合上述实施例中的产品业务数据上传方法与产品业务数据存证方法,本说明书实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种产品业务数据上传方法、产品业务数据存证方法。

需要明确的是,本说明书并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本说明书的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本说明书的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本说明书的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本说明书中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本说明书不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

以上所述,仅为本说明书的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本说明书的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本说明书的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1