CN111383020B - 基于区块链的物品防伪管理方法、装置、设备和存储介质 - Google Patents
基于区块链的物品防伪管理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111383020B CN111383020B CN202010470999.1A CN202010470999A CN111383020B CN 111383020 B CN111383020 B CN 111383020B CN 202010470999 A CN202010470999 A CN 202010470999A CN 111383020 B CN111383020 B CN 111383020B
- Authority
- CN
- China
- Prior art keywords
- information
- recording
- article
- target
- identity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及区块链技术领域,提供一种基于区块链的物品防伪管理方法、装置、设备和存储介质,用以提高目标物品防伪验证的可靠性。其中方法包括:接收第一对象输入的针对目标物品的防伪校验请求,其中防伪校验请求包括目标物品的渠道获取信息和物品标识;从区块链中调用协议合约,通过协议合约查询与物品标识对应的物品信息;在物品信息对应的目标对象包含渠道获取信息所表示的第二对象时,确定渠道获取信息满足校验规则;获取针对渠道获取信息的校验结果,并将校验结果返回给第一对象。本申请利用区块链去中心化和不可篡改等特性,可以有效提高目标物品防伪验证的可靠性,减少安全隐患。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及区块链技术领域,提供一种基于区块链的物品防伪管理方法、装置、设备和存储介质。
背景技术
在相关技术中,食品、药品等物品主要是基于包装进行防伪,常见防伪方式有:条码防伪、防伪标签防伪、包装构造防伪、油墨印刷防伪等。但是在当前飞速发展的科技时代,这种防伪技术已经落后,比如假药就很容易被贴上防伪标签,然后以假乱真。此外,药品从出厂到药店的供应链物流渠道不透明,存在过期药回收再二次销售以及假药作坊将药品出售给小药店的情况,无法控制未经许可批准的药品进入社会进行销售。因此仅仅基于包装已无法对假冒伪劣产品进行有效的防伪验证。
此外,在相关的防伪方法中物品的相关信息数据都存储在一个中心化结构的数据平台上,中心化的数据存储方式容易受到攻击或破坏,稳定性、可靠性无法保障;另外中心化的数据存储无法防止数据被篡改、造假的行为,数据的真实性与权威性无法保障。因此目前还无法实现对假冒伪劣物品的有效防伪验证,容易造成严重的社会影响,对人民群众的生命安全造成隐患。
发明内容
本申请实施例提供一种基于区块链的物品防伪管理方法、装置、设备和存储介质,用以提高目标物品防伪验证的可靠性,有效保证目标物品的合法性和真实性。
本申请实施例提供的一种基于区块链的物品防伪管理方法,包括:
接收第一对象输入的针对目标物品的防伪校验请求,其中所述防伪校验请求包括所述目标物品的渠道获取信息和物品标识;
从所述区块链中调用协议合约,通过所述协议合约查询与所述物品标识对应的物品信息,其中所述协议合约是根据所述校验规则部署于所述区块链上的,所述校验规则是加入所述区块链中的各个节点共同确定的;
在所述物品信息对应的目标对象包含所述渠道获取信息所表示的第二对象时,确定所述渠道获取信息满足所述校验规则,其中所述目标对象为获得所述目标物品的销售许可的对象;
获取针对所述渠道获取信息的校验结果,并将所述校验结果返回给所述第一对象。
本申请实施例提供的一种基于区块链的物品防伪管理装置,该装置包括:
接收单元,用于接收第一对象输入的针对目标物品的防伪校验请求,其中所述防伪校验请求包括所述目标物品的渠道获取信息和物品标识;
校验单元,用于从所述区块链中调用协议合约,通过所述协议合约查询与所述物品标识对应的物品信息,其中所述协议合约是根据所述校验规则部署于所述区块链上的,所述校验规则是加入所述区块链中的各个节点共同确定的;在所述物品信息对应的目标对象包含所述渠道获取信息所表示的第二对象时,确定所述渠道获取信息满足所述校验规则,其中所述目标对象为获得所述目标物品的销售许可的对象;
发送单元,获取针对所述渠道获取信息的校验结果,并将所述校验结果返回给所述第一对象。
可选的,所述物品信息包括生产信息;所述装置还包括记录单元;
所述记录单元,用于在所述接收单元接收第一对象输入的针对目标物品的防伪校验请求之前,接收第三对象输入的针对所述目标物品的生产记录请求,其中所述生产记录请求至少包括所述目标物品的生产信息以及所述物品标识;
从所述区块链中调用记录合约,验证所述生产信息是否满足所述记录合约中声明的记录规则,其中所述记录合约是根据所述记录规则部署于所述区块链上的,所述记录规则是加入所述区块链中的各个节点共同确定的;
在所述生产信息满足所述记录规则时,将所述生产信息记录到所述区块链中,与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述生产信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述生产信息。
可选的,所述装置还包括:
处理单元,用于接收所述第二对象输入的针对所述目标物品的转入请求,其中所述转入请求中包括所述第二对象的身份信息以及所述目标物品的生产信息;
从所述区块链中查询所述身份信息;
在所述身份信息存在于所述区块链中时,根据所述生产信息确定生产所述目标物品的所述第三对象,并通知所述第三对象将目标物品转移给所述第二对象。
可选的,所述处理单元还用于:
在接收所述第二对象输入的针对所述目标物品的转入请求之前,接收所述第二对象输入的注册请求,其中所述注册请求中至少包括所述身份信息;
从所述区块链中调用记录合约,验证所述身份信息是否满足所述记录规则;
在所述身份信息满足所述记录规则时,将所述身份信息记录到所述区块链中,并向所述第二对象返回与所述身份信息对应的身份标识;以及
在所述区块链中广播所述身份信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述身份信息。
可选的,所述物品信息还包括物流信息;所述记录单元还用于:
接收针对所述目标物品的物流记录请求,其中所述物流记录请求至少包括所述目标物品的物流信息以及所述物品标识;
从所述区块链中调用所述记录合约,验证所述物流信息是否满足所述记录规则;
在所述物流信息满足所述记录规则时,将所述物流信息记录到所述区块链中,与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述物流信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述物流信息。
可选的,所述物品信息还包括所述第二对象的身份标识;所述记录单元还用于:
接收所述第二对象输入的针对所述目标物品的销售记录请求,其中所述销售记录请求中至少包括所述身份标识以及所述物品标识;
从所述区块链中调用所述记录合约,验证所述身份标识是否满足所述记录规则;
在所述身份标识满足所述记录规则时,确定所述第二对象为获得所述目标物品的销售许可的对象,并将所述身份标识记录到所述区块链中的与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述身份标识,以使所述区块链中的其他节点在确认达成共识后分别存储所述身份标识。
可选的,所述物品信息还包括交易信息;所述记录单元还用于:
接收所述第一对象或所述第二对象输入的针对所述目标物品的交易记录请求,其中所述交易记录请求中至少包括所述物品标识和所述目标物品的交易信息;
从所述区块链中调用所述记录合约,验证所述交易信息是否满足所述记录规则;
在所述交易信息满足所述记录规则时,将所述交易信息记录到所述区块链中,与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述交易信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述交易信息。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种基于区块链的物品防伪管理方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任意一种基于区块链的物品防伪管理方法的步骤。
本申请有益效果如下:
本申请实施例提供的基于区块链的物品防伪管理方法、装置、设备和存储介质,由于本申请实施例基于区块链技术的分布式、去中心化和不可篡改等特性,将区块链应用在目标物品的防伪方面。在第一对象获取到目标物品之后,可将获取目标物品时的渠道获取信息上传,将目标物品的获取过程透明化,通过调用区块链中部署的协议合约,对第一对象上传的渠道获取信息进行校验,具体是将第一对象上传的渠道获取信息与区块链上的记录相互对照,若根据查询到的物品信息确定出的获得目标物品的销售许可的对象中,包含与第一对象上传的渠道获取信息对应的第二对象,则可确定渠道获取信息满足校验规则,以确保目标物品的合法性,提高目标物品防伪校验的可靠性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景的一个可选的示意图;
图2A为本申请实施例中的一种节点之间建立链接的流程图;
图2B为本申请实施例中的一种节点之间进行广播的流程图;
图2C为本申请实施例中的一种节点之间状态同步的流程图;
图3为本申请实施例中的一种联盟链节点架构的示意图;
图4A为本申请实施例中的一种基于区块链的物品防伪管理方法的一个可选的示意图;
图4B为本申请实施例中的一种基于联盟链的药品防伪管理方法的一个可选的示意图;
图5A为本申请实施例中的第一种用户界面的示意图;
图5B为本申请实施例中的第二种用户界面的示意图;
图6为本申请实施例中的一种药品防伪业务***架构流程图;
图7A本申请实施例中的第三种用户界面的示意图;
图7B本申请实施例中的第四种用户界面的示意图;
图7C本申请实施例中的第五种用户界面的示意图;
图8为本申请实施例中的一种药品信息记录的流程示意图;
图9A为本申请实施例中的一种管理后台的用户界面示意图;
图9B为本申请实施例中的一种联盟链平台的层次框架图;
图10为本申请实施例中的一个可选的交互实现时序流程示意图;
图11为本申请实施例中的一种基于区块链的物品防伪管理装置的组成结构示意图;
图12为本申请实施例中的一种电子设备的组成结构示意图;
图13为应用本申请实施例的一种计算装置的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
对象:指目标物品防伪业务中各个防伪业务方,其中第一对象指购买目标物品的消费者;第二对象指负责销售目标物品的分销商,以目标物品为药品为例,第二对象可以是医疗机构、药店销售商等;第三对象指负责目标物品生产供应企业,例如药品生产供应企业。除此之外,对象还可以是物流企业、监管机构等。
联盟链:即联盟区块链,是指其共识过程受到预选节点控制的区块链;用于机构间的联盟链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。在本申请实施例中,以目标物品为药品为例,则药品涉及的药品生产供应企业、医疗机构、药店经销商、药品零售商、监管机构等药品流通的单位和消费者等各个业务方可以共同建立一个联盟链,保证所有相关业务方全部参与,每个业务方可作为联盟链的节点,在整个联盟链中节点之间可以互相通信,数据共享。
记录合约:指本申请实施例中的一种智能合约,主要是将业务过程中的信息记录到联盟链上,不作其他业务操作。比如在药品流通过程中,从药品生产到运送到经销商、医疗机构或药店都是属于信息记录上链过程。在记录药品的生产信息、物流信息、经销商、医疗机构或是药店等的身份信息、药品的交易信息等时,都需要调用记录合约进行验证,记录合约中声明的记录规则是加入联盟链的各个节点共同制定的。
协议合约:指本申请实施例中的另一种智能合约,主要是针对目标物品的生产、运输和分销流程之后的后续验证操作。在第一对象获取目标物品之后,比如消费者购买药品之后,为了验证药品真伪,就需要调用协议合约中验证功能,对药品流通真伪进行验证,协议合约中声明的校验规则也是由加入联盟链的各个节点共同制定的。
物品信息:指与目标物品的生产、运输、交易等各个环节相关的参数、信息,在本申请实施例中,物品信息具体包括生产信息、物流信息、交易信息,以及第二对象的身份信息或身份标识等。
生产信息:指生产目标物品的过程中,与目标物品相关的信息。例如目标物品为药品时,药品生产供应企业会生产药品,并申请药品许可资质,将RFID(Radio FrequencyIdentification,无线射频识别)标签贴到药品上,每一批药品都分配一个唯一的标识号码,包括其身份标识及存储温度、保质期等参数信息都属于药品的生产信息,通过将药品的生产信息参数上链,药品生产供应企业通过药品标识码,可实时监控审核药品身份动态及商品流。
物流信息:指目标物品的运输过程中,与目标物品相关的运输信息。例如目标物品为药品时,药品物流企业会将药品所有的物流信息都写入区块链中,例如药品物流企业将药品从药品生产供应企业运输到医疗机构/药店经销商的过程中所产生的物流信息。
身份信息:指目标物品的交易过程中,交易双方中任意一方的身份信息,例如消费者的身份信息,销售方的身份信息。在目标物品为药品时,医疗机构和药店经销商收到药品后,可以上传医疗机构和药店经销商的身份信息。基于区块链可以查询到该药品已经在哪些医疗机构和药店销售。在消费者购买到药品后,也可将个人的身份信息上传到区块链中进行记录,保证目标物品的交易记录上链。
Topic(主题)寻址:是本申请实施例中的联盟链节点之间进行寻址的一种方式,使用了消息订阅机制,如果订阅了某一个Topic,当此Topic有收到消息时候,就会基于消息机制做推送,然后订阅了Topic的就会收到推送的消息,通过Topic在联盟链网络中定位一组关注该Topic的节点。此外,还可依据节点标识进行寻址,通过节点标识在联盟链网络中定位唯一的联盟链节点。
ECC(Elliptic curve cryptography,椭圆加密)算法:是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成Abel(阿贝尔)加法群上椭圆离散对数的计算困难性。公钥密码体制根据其所依据的难题一般分为三类:大素数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。在本申请实施例中,节点标识由ECC算法的公钥生成,每个节点必须有唯一的ECC密钥对,联盟链节点标识在联盟链网络中唯一标识一个区块链节点。
IDE(Integrated Development Environment,集成开发环境):是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。在本申请实施例中的合约IDE环境可提供了一整套的合约管理工具,具体包括新建合约,保存合约,编译合约,部署合约,调用合约接口等,实现对智能合约的管理。
RFID(Radio Frequency Identification,射频识别):是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个电子标签,操作快捷方便,在超市中频繁。可通过无线电讯号识别特定目标并读写相关数据,而无需识别***与特定目标之间建立机械或光学接触。RFID电子标签:有源标签,无源标签,半有源半无源标签。在本申请实施例中,可将RFID标签贴到目标物品上,作为目标物品的唯一标识。
云存储(cloud storage):是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。
本申请实施例中的区块链采用的就是一种去中心化的云存储方式,因为区块链是一种分布式的记帐方式,所以基于区块链技术的云存储不但可以储存信息,还可以同时证明记录在区块里面的内容是真实可信的。这是区块链的技术特性成就的,因为每一个区块的头部都会记录着前一区块的ID,这样头尾相连形成一个链状结构,因此每一个区块上的信息都是不可篡改的。区块链也可以理解成为加密后的呈分散状态存储的云存储。
下面对本申请实施例的设计思想进行简要介绍:
随着国民经济的高速发展和人民生活水平的不断提高,假冒伪劣物品日益增多,给市场经济造成很大的破坏,并影响着国民诚信素质,为了增加消费者对物品的信任度,维护商家的利益,防伪技术开始进入人们的视线。
以目标物品为药品为例,在相关技术中辨别药品真伪方案主要有以下几种:
第一种:基于物品标识进行辨别。由于物品标识的说明书有水印,反光时才能看出来,如果不经反光一眼能看出,则可确定药品是假的。另外,假药的包装比较粗糙。
第二种:基于药品批准的文号进行辨别。国家药品监督管理部门会审查并发给生产供应企业的药品一个表示批准的文号,这个批准文号就是药品的身份证。药品生产供应企业只有在取得了这个批准文号以后才能生产该药品。因此如果查询到药品的批准文号出现问题,则可确定药品是假的。
第三种:基于药品监管码进行辨别。通过对药品包装盒上的中国药品电子监管码进行信息查询,即可获取对应每一盒药品最权威的药品信息和药品流向,保障用药安全。
第四种:通过二维码、RFID或者短信来跟踪药品的物流信息和检验真伪。其中二维码防伪技术最广泛,通过将每个物品的相应信息编码成一个二维码,消费者可以通过扫描这个二维码获取物品信息来核对物品真假。然而由于二维码的生成方式简单,有多种方法生成,并且二维码复制的代价低廉,假冒品的二维码扫出来的依然是商家发布的真实物品信息,使得假冒伪劣物品依然横行。
但是,上述列举的几种方法并没有真正防止假药进入物流链条,不能对伪劣物品进行有效的防伪验证,因此急需一种更安全、更可靠的技术手段来达到防伪的目的。
有鉴于此,本申请实施例提供一种基于区块链的物品防伪管理方法、装置、设备和存储介质。本申请实施例基于区块链的分布式、去中心化和不可篡改等特性,实现对目标物品的防伪,此外还可以实现对目标物品的追踪和溯源。在目标物品被制造出来后,通过登记将目标物品的生产信息记录到区块链上,相关防伪业务方则可通过查询区块链上记录的生产信息,对目标物品流通的全部供应链环节实现实时监督,基于区块链不可篡改特性,建立完整的目标物品质量监察解决方案。此外,还可利用区块链技术可以记录目标物品的所有物流信息、渠道流通等情况,这些信息也是不能被篡改的,这便可以堵住供应链的漏洞,消费者在购买目标物品后,可将个人数据分享上传至平台,将购买过程透明化,与区块链链上记录相互对照来确保目标物品的合法性,解决长期以来让各方都备受困扰的假冒伪劣目标物品的问题。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例中主要是以区块链为联盟链为例进行详细介绍的,如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个联盟链130,可通过终端设备110登录防伪业务的相关界面120,具体可参见下文中的举例说明。终端设备110与联盟链130中的节点140之间可以通过通信网络进行通信。
在本申请实施例中,联盟链又称许可链,参与联盟链网络的各个节点都需要经过准入控制。通常情况下,一个节点要加入联盟链网络,至少要准备三个文件:node.key(节点密钥,ECC格式)、node.crt(节点证书,由CA(Certification Authority,认证机构)颁发)和ca.crt CA(证书,CA机构提供)。其中,联盟链130中的节点140对应于参与目标物品防伪业务的各业务方,各个节点准备好上述文件之后即可加入联盟链130。对于联盟链130中的每个节点140,均具有与其对应的节点标识,通过节点标识唯一标识一个节点140,在网络上通过节点标识对联盟链130中的节点140进行寻址。而且联盟链130中的每个节点140均可以存储有联盟链130中其他节点140的节点标识,以便后续根据其他节点140的节点标识,将生成的区块广播至联盟链130中的其他节点140。每个节点140中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
在本申请实施例中,联盟链130中的各个节点之间是基于P2P(Point to Point,点对点)进行通讯,提供高效、通用和安全的网络通信基础功能,支持区块链消息的单播、组播和广播,支持区块链节点状态同步,支持多种协议。此外,节点140除了有唯一的节点标识之外,还能关注Topic,供寻址使用。在各个节点140之间,会自动发起和维持TCP长连接,在***故障、网络异常时,主动发起重连,节点140之间建立链接时,还会使用CA证书进行认证等。
此外,本申请实施例中的节点140可以是服务器,在此,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。终端设备110则可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备110以及联盟链130中的节点140之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
参阅图2A所示,为本申请实施例中的一种节点140之间建立链接的流程图。以联盟链中的节点A与节点B建立链接为例:
在步骤S201中,节点A加载自身的密钥和证书,即节点A的node.crt,node.key和ca.crt;
在步骤S202中,节点B加载自身的密钥和证书,即节点B的node.crt,node.key和ca.crt;
在步骤S203中,节点A开始发起链接,向节点B发送连接消息;
在步骤S204中,节点B在接收到节点A发送的连接消息后,向节点A回复连接成功消息;
在步骤S205中,节点A与节点B之间SSL(Secure Sockets Layer,安全套接字协议)握手;
在步骤S206中,节点A从自身的证书中获取公钥,作为节点A的节点ID;
在步骤S207中,节点B从自身的证书中提取公钥,作为节点B的节点ID;
在步骤S208中,节点A和节点B握手成功,建立SSL连接。
其中,步骤S201和步骤S202在时序上可以不进行详细区分,也可同时进行,同理,步骤S206和步骤S207在时序上也可不进行详细区分。通过上述过程即可实现节点A和节点B的链接。同样地,针对本申请实施例中的联盟链130中的任意两个节点都可重复上述过程,最终实现各个节点之间的链接。
在节点间建立好链接之后,即可进行节点间的消息收发,联盟链130的节点间消息收发支持单播、组播和广播等几种形式,在本申请实施例中主要是以广播为例进行详细介绍:
参阅图2B所示,假设联盟链中只包含4个节点,分别为节点A、节点B、节点C和节点D,其中节点A为主节点,则在联盟链中的节点间进行广播时的具体流程如下:
在步骤S211中,节点A遍历联盟链中所有节点的节点ID;
在步骤S212中,节点A基于遍历到的节点B的节点ID,采取广播机制,给联盟链中的节点B发送广播消息;
在步骤S213中,节点A基于遍历到的节点C的节点ID,采取广播机制,给联盟链中的节点C发送广播消息;
在步骤S214中,节点A基于遍历到的节点D的节点ID,采取广播机制,给联盟链中的节点D发送广播消息;
其中,节点B,C,D收到后会进行回复确认表示已经收到节点A发送的消息(回复消息这一步骤在图2B中未示出)。
同样地,节点B,C,D也可依次采取广播的形式发送消息,具体参见下述过程:
在步骤S215中,节点B遍历联盟链中所有节点的节点ID;
在步骤S216中,节点B基于遍历到的节点C的节点ID,采取广播机制,给联盟链中的节点C发送广播消息;
在步骤S217中,节点B基于遍历到的节点D的节点ID,采取广播机制,给联盟链中的节点D发送广播消息;
在步骤S218中,节点C遍历联盟链中所有节点的节点ID;
在步骤S219中,节点C基于遍历到的节点D的节点ID,采取广播机制,给联盟链中的节点D发送广播消息。
需要说明的是,由于这里采用的是P2P通信,需要两两进行通信,由于节点A已给节点B发送消息,所有他们之间已经进行了通信,就不需节点B再给节点A发送了。此外,在图2B所示的过程中,节点间发生的消息可以是目标物品的物品信息,例如生产信息、物流信息、交易信息、身份标识等。
其中,主节点A可以理解是业务***中调用SDK(Software Development Kit,软件工具开发包)上链的节点。其他的节点不做业务调用,而只做数据同步即可。在节点A作为主节点时,节点B,节点C和节点D只需要与节点A进行数据同步即可;同样地,当节点B作为主节点时,节点A,节点C和节点D只需要与节点B进行数据同步即可。
其中,其他节点与主节点进行数据同步的过程即节点间状态同步的过程,比如联盟链中一共有四个节点,业务***只调用了其中一个节点进行数据上链,那么此时该节点的状态会发生变化,有数据需要其他节点去共识确认,基于区块链P2P通信特性,其他节点会检索到该节点的状态发生变化,从而发起状态查询请求,最终其他节点更新状态,使每个节点对数据进行确认,实现上链。也就是说,本申请实施例中的每个节点会维护自身的状态,并将状态的seq(sequence,数据包序列号)在全网定时广播,与其他节点同步。
参阅图2C所示,为本申请实施例中的一种节点间状态同步的示意图,图2C中主要也是以节点A和节点B为例进行举例说明的,具体流程如下:
在步骤S221中,节点A通过广播将seq提供给节点B;
在步骤S222中,节点A判断节点B的seq是否有变化;
在步骤S223中,节点A确定节点B的seq发生变化,向节点B发起查询请求;
在步骤S224中,节点B返回节点状态给节点A;
在步骤S225中,节点A在内部对节点B的状态和seq进行更新操作,从而实现状态同步。
上述图2A至图2C是对联盟链中节点间建立链接、消息收发以及状态同步的过程进行的简要说明。在本申请实施例中,用户可通过终端设备110将目标物品的物品信息通知联盟链130中的节点140,由节点140将物品信息记录到联盟链上,节点记录目标物品的物品信息时的具体实现方式即可基于图2A至图2C的流程实现,其中物品信息具体包括目标物品生产过程中产生的生产信息、运输过程中产生的物流信息、交易过程中交易双方的身份信息、交易信息等,将这些物品信息记录到联盟链130中,以便后期对目标物品进行防伪验证、溯源以及召回等。需要说明的是,图1中是以两个终端设备110为例,实际上不限制终端设备110的数量。终端设备110可以是手机、平板电脑和个人计算机等。
此外,本申请实施例中的目标物品可以指药品、食品、电子物品等可以做为商品提供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物品、无形的服务、组织、观念或它们的组合。在本文中主要是以目标物品为药品为例进行详细介绍的,当目标物品为其他物品时也同样适用。
如图3所示,为本申请实施例中的一种联盟链节点架构的示意图,加入联盟链130的各个节点至少有4个,包括节点A、节点B、节点C和节点D,这4个节点分别对应药品生产供应企业、药品物流企业、消费者和监管机构,这些是药品防伪业务中的主要业务方。除图3所示的架构之外,还可以使药品防伪业务涉及的所有业务方,例如药品生产供应企业、医疗机构、药店经销商、药品零售商、监管机构等药品流通的单位和消费者共同建立一个联盟链,保证所有相关业务方全部参与,每个业务方都对应联盟链中的一个节点,此时联盟链中还可包括节点E,对应医疗机构、药店经销商、药品零售商等,即本申请实施例中的第二对象。在整个联盟链中各个节点之间可以互相通信,数据共享。通过引入联盟链,使每个业务方控制网络上的节点,对每一笔交易都进行共识,确保药品从生产开始,在供应链的各个环节中产生的信息都记录到联盟链上,使药品从生产、质检、入库、出库、流通、接种等各个环节逐步建立符合联盟链追溯的标准。
参阅图4A所示,为本申请实施例提供的一种基于区块链的物品防伪管理方法的实施流程图,由于本申请实施例中主要是以区块链为联盟链为例进行详细介绍的,因此该方法可以应用于联盟链中的节点,该方法的具体实施流程如下:
S401:接收第一对象输入的针对目标物品的防伪校验请求,其中防伪校验请求包括目标物品的渠道获取信息和物品标识;
其中,渠道获取信息用于表示第一对象获取目标物品的渠道,在本申请实施例中主要是指第二对象,即可销售目标物品的经销商、店铺等,基于渠道获取信息可以确定第一对象是从哪一个或哪些第二对象处获取目标物品的;
在本申请实施例中,第一对象指购买目标物品的消费者,相应地,第一对象获取目标物品的渠道即第一对象购买目标物品时的经销商、店铺等,以目标物品为药品为例,假设第一对象从药店A购买了某一药品,此时对应的渠道获取信息可以包括药店A的地址信息、药店名称、药店的身份ID(标识)等信息,所表示的第二对象即药店A。
例如消费者从药店A购买目标物品时或者购买目标物品之后,可通过图5A所示的界面,输入目标物品的渠道获取信息,其中消费者从药店A购买了3种目标物品,分别为药品A、药品B和药品C,消费者可通过点击校验按钮进而触发防伪校验请求,终端设备检测到防伪校验请求后,将防伪校验请求发送给联盟链中的节点C,其中,这3个目标物品对应的渠道获取信息都是药店A,此外,防伪校验请求中还可进一步包括消费者购买目标物品的时间,同样终端设备可依据图5A所示的界面获取用户输入的购买时间,并发送给联盟链中的节点C。
其中,物品标识是指目标物品的唯一标识,类似目标物品的身份证,用户可通过扫描二维码、条形码或RFID标签等获取目标物品的唯一标识。
S402:在区块链中调用协议合约,通过协议合约查询与物品标识对应的物品信息,其中协议合约是根据校验规则部署于区块链上的,校验规则是加入区块链中的各个节点共同确定的;
S403:在物品信息对应的目标对象包含渠道获取信息所表示的第二对象时,确定渠道获取信息满足校验规则,其中目标对象为获得目标物品的销售许可的对象;
此外,在获得目标物品的销售许可的对象中不包含与渠道获取信息对应的第二对象时,也就是说与查询到的物品信息对应的目标对象不包含此次第一对象购买目标物品时的来源,即可确定渠道获取信息不满足校验规则。
上述步骤S402至S403是基于协议合约进行防伪校验的过程,在联盟链中的任意一个节点接收到第一对象的防伪校验请求后,从联盟链中调用协议合约,对第一对象上传的渠道获取信息进行验证,验证渠道获取信息是否满足协议合约中声明的校验规则。
其中,协议合约是由联盟链中的各个节点共同制定的智能合约,主要是针对目标物品的生产、运输和分销流程之后的后续验证操作。在购买者购买目标物品时,为了验证目标物品的真伪,就需要调用协议合约,基于协议合约中的协议验证部分,对目标物品流通真伪进行验证,协议合约中声明的校验规则也是由加入联盟链的各个节点共同制定的。
以目标物品为某一药品为例,这里的第一对象可以是消费者,第二对象可以是药店,联盟链中的节点接收到防伪校验请求之后,即可调用联盟链中的协议合约对消费者输入的渠道获取信息进行验证,通过协议合约从联盟链中查询与该药品的药品标识所对应的物品信息,这里的物品信息是联盟链中的各个节点记录上链的,与该药品的生产、流通、销售等环节相关的信息,基于获取到的物品信息,可确定出哪些药店能够售卖该药品,也就是哪些药店有该药品的销售许可,比如可以售卖该药品的药店列表中分别包括:药店A、药店B、药店C、药店D和药店E,这五个药店即与防伪校验请求中的物品信息对应的目标对象,其中消费者是在药店A购买的该药品,因此与消费者输入的渠道获取信息所表示的第二对象即药店A,与前边的药店列表相比较,可知药店A在药店列表中,即获得目标物品的销售许可的对象中包含与渠道获取信息对应的第二对象,因此可以确定消费者输入的渠道获取信息满足协议合约中声明的校验规则。
当消费者是从药店F购买的该药品时,与消费者输入的渠道获取信息对应的第二对象即药店F,但是药店F并不存在于可以售卖该药品的药店列表中,也就是药店F不存在于对应的目标对象中,因此可以确定消费者输入的渠道获取信息并不满足协议合约中声明的校验规则。
S404:获取针对渠道获取信息的校验结果,并将校验结果返回给第一对象。
在本申请实施例中,基于上述步骤即可获取校验结果,之后即可通过终端设备将校验结果返回给第一对象,即终端设备接收到联盟链中的节点返回的校验结果之后,向第一对象进行展示,如图5B所示,在图5A所示的界面中弹出校验结果的弹窗,在弹窗中展示校验结果,由图5B可知,针对用户在图5A所示界面输入的3个目标物品的防伪校验请求,对应的校验结果都为正规药品,表示校验成功。若消费者是从药店F购买的某一药品时,但药店F不存在于对应的目标对象中时,表示校验失败。
下面以目标物品为药品A,区块链为联盟链为例,对基于图4A所示的方法对药品A进行防伪校验的完整执行流程进行详细介绍,参阅图4B所示,为本申请实施例中的一种基于联盟链的药品防伪管理方法的一个可选的示意图,具体包括以下步骤:
步骤S411:接收消费者输入的针对物品A的防伪校验请求,其中防伪校验请求包括物品A的渠道获取信息和药品标识;
步骤S412:在联盟链中调用协议合约,通过协议合约从联盟链上查询与物品A的药品标识对应的药品信息;
步骤S413:基于查询到的药品信息确定获的药品A销售许可的目标药店;
步骤S414:判断目标对象中是否包含渠道获取信息所表示的药店A,如果是,则执行步骤S415,否则,执行步骤S416;
步骤S415:确定渠道获取信息满足校验规则,校验成功;
步骤S416:确定渠道获取信息不满足校验规则,校验失败;
步骤S417:获取针对渠道获取信息的校验结果,并将校验结果返回给消费者。
此外,在本申请实施例中还可以把对目标物品进行防伪校验的这个过程记录在业务***里面,后续在做统计或大数据分析的时候使用。
在上述实施方式中,基于区块链技术的分布式、去中心化和不可篡改等特性,将区块链应用在目标物品的防伪方面。在第一对象获取到目标物品之后,可将获取目标物品时的渠道获取信息上传,将目标物品的获取过程透明化,通过调用联盟链中部署的协议合约,对第一对象上传的渠道获取信息进行校验,具体是将第一对象上传的渠道获取信息与联盟链链上记录相互对照,来确保目标物品的合法性,提高目标物品防伪校验的可靠性。
需要说明的是,联盟链中记录的目标物品的物品信息是与目标物品的生产、运输、交易等各个环节相关的参数、信息,需要在对目标物品进行防伪验证之前记录到联盟链上的。其中,目标物品的物品信息具体包括:目标物品的生产信息、目标物品的物流信息、第二对象的身份信息或身份标识、目标物品的交易信息等。这些物品信息都需要事先记录到联盟链上,以便后期对目标物品进行防伪校验以及溯源等。
其中,在将目标物品的物品信息记录上链的过程中,需要调用联盟链中的记录合约。在本申请实施例中,记录合约与协议合约是本申请实施例中提出的两个不同业务功能的智能合约。记录合约主要是将业务过程中的信息记录到联盟链上,不作其他业务操作。比如在药品流通过程中,从药品生产到运送到经销商、医疗机构或药店都是属于信息记录上链过程。在记录药品的生产信息、物流信息、交易信息、经销商、医疗机构或是药店等的身份信息时,都需要调用记录合约进行验证,记录合约中声明的记录规则是加入联盟链的各个节点共同制定的。
下面主要以目标物品为药品为例,结合图6所示的药品防伪业务***架构流程图,对目标物品进行防伪校验的完整流程进行详细介绍,其中该***中的业务平台实际上可以理解为联盟链,包含与各个业务方对应的节点,例如与药品生产供应企业对应的节点A,与药品物流企业对应的节点B,与消费者对应的节点C,与监管机构对应的节点D,以及与医疗机构、药店经销商等第二对象对应的节点E。其中,药品生产供应企业负责生产药品,将药品生产信息记录到联盟链上;药品物流企业负责药品运输,将药品物流信息记录到联盟链上;医疗机构/药店经销商负责将药品来源等信息记录到联盟链上;消费者负责注册身份,购买药品,对药品进行防伪验证;监管机构负责查询药品信息,进行防伪验证。
其中,除了可以调用协议合约,验证第一对象上传的渠道获取信息是否满足协议合约中声明的校验规则,将校验结果记录到联盟链上之外,还可通过调用记录合约,验证各个记录请求中的物品信息是否满足记录合约中声明的记录规则,在验证满足记录合约的记录规则后,将药品信息记录到联盟链上,下面进行详细说明。
在节点C接收第一对象输入的针对目标物品的防伪校验请求之前,首先需要将目标物品的物品信息记录到联盟链上,下面对物品信息记录上链的过程进行详细介绍:
在一种可选的实施方式中,物品信息包括生产信息,将生产信息记录到联盟链上的具体过程如下:
节点接收第三对象输入的针对目标物品的生产记录请求,其中生产记录请求至少包括目标物品的生产信息以及目标物品的物品标识;从联盟链中调用记录合约,验证生产信息是否满足记录合约中声明的记录规则,其中记录合约是根据记录规则部署于联盟链上的,记录规则是加入联盟链中的各个节点共同确定的;在生产信息满足记录规则时,将生产信息记录到联盟链中,与目标物品的物品标识对应的物品信息中;以及,在联盟链中广播生产信息,以使联盟链中的其他节点在确认达成共识后分别存储生产信息。
以目标物品为药品为例,第三对象指目标物品的生产供应企业,即图6中所示的药品生产供应企业。药品生产供应企业首先需要生产药品,并将药品的生产信息上链。其中,药品生产供应企业在生成药品时会申请药品许可资质,将RFID标签贴到药品上,每一批药品都分配一个唯一的标识号码,包括其身份标识及存储温度、保质期等参数信息,这些参数信息都属于生产信息。
假设第三对象为生产供应企业X,生产供应企业X通过如图7A所示的界面,其中药品A、药品B、药品C、…、药品X等药品的生产信息包括,生产日期、生产批次等信息,第三对象可通过图7A所示的界面输入目标物品的生产信息,并通过点击记录到联盟链上触发生产记录请求,终端设备检测到第三对象触发的生产记录请求后,将生产供应企业X触发的生产记录请求发送给联盟链130中的节点A,请求中携带药品的生产信息,节点A在接收到生产记录请求之后,调用联盟链130中部署的记录合约对其中携带的药品的生产信息进行验证,并在验证通过后将药品的物品信息记录到联盟链130上,并且接收到第三对象输入的针对目标物品的生产记录请求的节点140将该请求广播给联盟链130中的其他节点,例如节点B、节点C、节点D和节点E,以使其他节点在共识后也将该目标物品的生产信息进行记录,保证联盟链中各个节点之间记录的信息一致,其中节点A就相当于主节点,而节点B,节点C,节点D和节点E只需要与节点A进行数据同步即可。
在上述实施方式中,将药品的生产信息记录上链之后,药品生产供应企业通过药品标识码,也就是药品的药品标识,可实时监控审核药品身份动态及商品流,基于区块链记录不可篡改、共享安全可靠的属性,可以有效保证药品的合法性和真实性。并且,在联盟链平台中记录目标物品的生产信息时可以详细记录,例如具体到某一批次,当目标物品出现问题时,可以根据批次信息实现精确召回。
在本申请实施例中,药品生产供应企业生产出目标物品之后,医疗机构、药店等则可购入目标物品进行销售,其中,医疗机构、药店等第二对象在购入目标物品之前,可先在联盟链平台进行注册,具体注册方式为:
接收第二对象输入的注册请求,其中注册请求中至少包括第二对象的身份信息;从联盟链中调用记录合约,验证身份信息是否满足记录合约中声明的记录规则;在第二对象的身份信息满足记录规则时,将第二对象的身份信息记录到联盟链中,并向第二对象返回与身份信息对应的身份标识;以及,在联盟链中广播身份信息,以使联盟链中的其他节点在确认达成共识后分别存储第二对象的身份信息。
例如第二对象包括药店A、药店B和药店C这3个药店,药店A、药店B、药店C分别输入注册请求,注册请求中携带有药店的相关资质、地址等身份信息。节点E在接收到第二对象输入的注册请求后,首先判断第二对象的身份信息是否满足联盟链上部署的记录合约中声明的记录规则,例如验证这些药店的相关资质和地址等身份信息是否是真的,是否是正规药店,如果是,则证明这些药店的身份信息符合记录规则,将其身份信息记录到联盟链上。
此外,联盟链中的节点还会通过终端设备向第二对象返回身份标识,这个身份标识是在第二对象注册成功后分配给第二对象的,例如药店A的身份标识为IDs1,药店B的身份标识为IDs2,药店C的身份标识为IDs3。
在本申请实施例中,各个第二对象在联盟链平台注册身份信息之后,即可购买目标物品进行销售,具体实现过程如下:
接收第二对象输入的针对目标物品的转入请求,其中转入请求中包括第二对象的身份信息以及目标物品的生产信息;从联盟链中查询第二对象的身份信息;在第二对象的身份信息存在于联盟链中时,根据目标物品的生产信息确定生产目标物品的第三对象,并通知第三对象将目标物品转移给第二对象。
例如药店A从生产供应企业X处购买药品X时,首先通过图7B所示的界面选购药品,例如药店A需要购入的药品包括50件药品A、100件药品B,200件药品C,…,50件药品X。终端设备检测到用户点击购买按钮之后,即检测到目标物品的转入请求,也就是购买请求。以药品X为例,针对药品X的转入请求,转入请求中还具体包括药店A的身份信息以及药品X的生产信息;进一步地,节点E在接收到针对药品X的转入请求之后,首先查询联盟链中是否存储有药店A的身份信息,若联盟链中事先存储有药店A的身份信息,则可认为药店A为正规药店,此时确定药店A下单成功,进而根据药品X的生产信息确定生产药品X的第三对象为生产供应企业X,并通知生产供应企业X将药品X销售给药店A,其中药店A从生产供应企业X处购买的药品X的数量等信息也都包含在本次的转入请求中。
此外,药店A也可从生产供应企业X处预定药品,该情况下,转入请求中还包括第三对象的身份信息,也就是生产供应企业X的身份信息,还可包括购买的目标物品的数量等信息。
在上述实施方式中,第二对象首先需要在联盟链上进行身份注册,上传销售许可证等信息,以第二对象为药店为例,在联盟链上成功注册的第二对象一般都是正规药店,在第二对象购买目标物品时进行身份验证,可以规避掉一些卖假药的小药店,保证加入联盟链的各个业务方的可靠性。
可选的,物品信息还包括物流信息,将物流信息记录上链的具体实现过程为:
节点B接收针对目标物品的物流记录请求,其中物流记录请求至少包括目标物品的物流信息以及目标物品的物品标识;从联盟链中调用记录合约,验证物流信息是否满足记录合约中声明的记录规则;在确定物流信息满足记录规则时,将物流信息记录到联盟链中,与目标物品的物品标识对应的物品信息中;以及,在联盟链中广播物流信息,以使联盟链中的其他节点在确认达成共识后分别存储物流信息。
在本申请实施例中,物流记录请求一般是由负责药品运输的物流企业将运输过程中的信息记录到联盟链上的。例如图6所示的药品物流企业会将药品所有的物流信息写入联盟链中。具体的,药品物流企业可通过触发物流记录请求,由终端设备将物流记录请求发送给联盟链130中的节点,联盟链130中的节点接收到物流记录请求之后,同样还是需要调用联盟链中部署的记录合约,对物流记录请求中携带的物流信息进行验证,并在验证通过后,将该目标物品的物流信息进行记录,保证联盟链中各个节点之间记录的信息一致,基于区块链记录不可篡改、共享安全可靠的属性,可以有效保证药品的合法性和真实性。
例如生产供应企业X将药店A购买的100件药品X通过物流企业X运输给药店A,物流企业X可通过图7C所示的界面输入触发物流记录请求,其中详细记录有药品X从哪一时刻从哪一位置运输到哪一时刻哪一位置,例如t3时刻,药品X已发往A1处,在t5时刻,药品X已离开A2处发往A3处等,在用户点击图7C中的记录到联盟链上按钮之后,终端设备将药品X的物流信息通过物流记录请求发送给节点B,节点B接收到药品X的物流记录请求,并在验证通过后,将药品X的物流信息广播给其他节点,包括节点A、节点C、节点D和节点E。当节点B接收到其他目标物品的物流记录请求,并在验证通过后,同样需要将其他目标物品的物流信息广播给节点A、节点C、节点D和节点E,此时,节点B为主节点,其他节点只需在共识后也将目标物品的物流信息进行记录即可,保证联盟链中各个节点之间记录的信息一致。
在上述实施方式中,通过在联盟链上记录目标物品的物流信息,在联盟链平台中,如果目标物品在运输过程中中断或失踪,存储在分布式账本上的物流信息可以为各业务方提供快速追踪渠道,确定目标物品的最后活动位置,实现对目标物品的及时追踪。
可选的,物品信息还包括第二对象的身份标识,将第二对象的身份标识记录上链的具体实现过程为:
节点E接收第二对象输入的针对目标物品的销售记录请求,其中销售记录请求中至少包括第二对象的身份标识以及目标物品的物品标识;从联盟链中调用记录合约,验证第二对象的身份标识是否满足记录规则;在确定第二对象的身份标识满足记录规则时,确定第二对象为获得目标物品的销售许可的对象,并将第二对象的身份标识记录到联盟链中,与目标物品的物品标识对应的物品信息中;以及,在联盟链中广播第二对象的身份标识,以使联盟链中的其他节点在确认达成共识后分别存储身份标识。
其中,销售记录请求是指第二对象从第三对象处购买到目标物品之后触发的,例如图6所示的医疗机构、药店经销商等第二对象在获取到药品后,会将药品来源等信息上链。此时,第二对象只需要上传身份标识以及药品的药品标识,基于这些信息,即可在联盟链上记录药品来源。其中,身份标识是在第二对象在联盟链上注册成功之后分配给第二对象的,唯一标识第二对象的身份,因此,第二对象在购买到目标物品之后只需要上传身份标识和物品标识,即可实现第二对象和目标物品的绑定,进而即可建立起目标物品与第二对象之间的绑定关系,例如构建药品所被允许销售的药店列表等。在消费者从第二对象处购买目标物品的时候,即可通过查询绑定关系进行防伪验证,输入药品的药品标识后,会从联盟链上获取对应药品从生产到物流配送以及到医院或药店的整个过程,可以通过溯源找到该药品是否在链上存在,以及判断消费者购买药品的渠道是否准确可靠,实现有效的防伪验证。
可选的,物品信息还包括交易信息,将目标物品的交易信息记录上链的具体实现过程为:
接收第一对象或第二对象输入的针对目标物品的交易记录请求,其中交易记录请求中至少包括目标物品的物品标识和目标物品的交易信息;从联盟链中调用记录合约,验证目标物品的交易信息是否满足记录规则;在目标物品的交易信息满足记录规则时,将目标物品的交易信息记录到联盟链中,与目标物品的物品标识对应的物品信息中;以及在联盟链中广播目标物品的交易信息,以使联盟链中的其他节点在确认达成共识后分别存储交易信息。
例如,第一对象从药店A购买了某一药品,此时该药品的交易信息包括交易价格、交易时间、交易双方、交易地点等等,这里第一对象或是第二对象(药店A经销商)都可通过终端设备输入交易记录请求,联盟链中的任意一个节点接收到交易记录请求后,验证交易记录请求中携带的交易信息是否满足记录规则,若满足,即可将交易信息记录到联盟链上,并且广播告知联盟链中的其它节点,在节点共识后,各自存储交易信息,保证数据共享,以便后续对目标物品进行溯源。
需要说明的是,接收目标物品相关的各种情况的节点可以是联盟链中的任意一个节点,上述过程只是举例说明。当在对目标物品进行防伪校验的时候,是可以通过任意一个节点进行,校验过程即调用联盟链中一个节点的协议合约,然后基于协议合约中协议验证部分,对消费者上传的渠道获取信息进行验证,从而得到校验结果,这个校验结果就可以直接返回给消费者,不需要再参与节点共识了。在本申请实施例中,节点共识是发生在记录目标物品的物品信息时,调用记录合约进行记录。
此外,图6所示的监管机构还可通过节点D在联盟链中检索目标物品相关的物品信息,监管机构通过一个统一的监控管理平台,触发查询请求,节点D响应查询请求,根据查询请求中的物品标识,在联盟链中检索相应的物品信息,例如药品生产供应企业对应的生产信息,药品的源头,物流信息和药品所被允许销售的药店列表等。
参阅图8所示,为本申请实施例提供的一种药品信息记录的流程示意图,具体包括以下步骤:
步骤S801:接收针对目标药品的记录请求,该记录请求中携带有目标药品的药品标识以及药品信息;
步骤S802:从联盟链上调用记录合约,验证记录请求中的药品信息是否满足记录合约中声明的记录规则,如果是,则执行步骤S803,否则,返回步骤S801;
步骤S803:确定药品信息满足记录规则,并根据药品标识将药品信息记录在联盟链上;
步骤S804:向联盟链中的其他节点广播药品信息和药品标识,通知联盟链中的其他节点进行共识,以便其他节点达成共识后根据药品标识存储药品信息。
基于步骤S804可以保证联盟链中的各个节点都存储有相同的药品信息记录,保证药品信息记录的真实性和可靠性。
需要说明的是,步骤S801中的记录请求可以是本申请实施例中所列举的任意一种记录请求,例如生产记录请求、物流记录请求、销售记录请求或是交易记录请求等等,相应的,物品信息可以包括生产信息、物流信息、第二对象的身份标识、交易信息等等,在此不再一一赘述。
此外,在步骤S804之后,还可包括以下流程:
步骤S805:接收针对目标药品的防伪校验请求,防伪校验请求中携带目标物品的渠道获取信息和物品标识;
步骤S806:从联盟链中调用协议合约对渠道获取信息进行校验,并返回校验结果。
其中步骤S806中的具体实现过程可参考上述实施例中所列举的内容,例如图4A或图4B所示,在此不再重复赘述。
需要说明的是,在本申请实施例中,生产者、监管者、消费者可以通过数据的交叉验证,形成更具约束力的监督机制,在上述过程中记录的生产信息、物流信息、交易信息和第二对象的身份标识等和目标物品相关的物品信息都是通过目标物品的物品标识进行上链存储的,也就是通过物品标识将目标物品的这些信息进行绑定,以便后续对目标物品进行溯源、召回和防伪等,基于区块链记录不可篡改、共享安全可靠的属性,可以有效确保目标物品的合法性和真实性,实现对目标物品更具约束力的监督机制。
在本申请实施例中,通过引入联盟链,使每个业务方控制网络上的节点。每一笔交易都需要一个共识,确保物品从生产开始,在供应链的各个环节,使药品从生产、质检、入库、出库、流通、接种等各个环节逐步建立符合联盟链追溯的标准。通过联盟链平台可以提供去中心化分布式存储,能够保证联盟链的许可制以及节点之间数据的一致性,并通过部署记录合约和协议合约两种智能合约,用于处理所有目标物品相关信息上链业务,进而提高目标物品防伪校验的可靠性和安全性。
此外,还需要说明的是,本申请实施例除了上述列举的联盟链平台以及智能合约两部分外,还包括管理后台,主要用于用户授权以及智能合约的部署、发布和更新,节点状态监控等,比如随着业务的扩展,需要增加基于智能合约的功能开发时,不能在已发布的智能合约里面做修改,而是重新发布更新。
参阅图9A所示,为本申请实施例提供的一种管理后台的用户界面示意图,主要包括数据概览、节点管理、合约管理、秘钥管理、***管理、***监控、交易审计和账号管理等功能模块,基于这些功能模块可以很方便的管理联盟链平台,并向用户进行结果展示。其中,***监控模块主要用于监控***的运行状态,交易审计模块主要用于对交易信息记录、展示、核验等,账号管理模块则用于对用户注册的账号进行管理,例如修改登录密码等。下面主要对数据概览、节点管理、智能合约管理、秘钥管理、***管理这几个功能模块进行简要介绍:
一、数据概览模块。
该模块主要用于展示联盟链的核心数据指标,包括节点个数、区块数量、交易数量、通过管理后台已部署的智能合约的数量、交易数量等。其中图9A中所示的数据概览模块中显示的节点个数为4,已部署的智能合约数量为17,区块数量为16245,交易数量为234567,在本申请实施例中每一次目标物品的交易都会记录在联盟链上,例如消费者从某药店购买药品时,即可进行一次交易记录。
此外,数据概览模块中除了可以展示上述列举的核心数据指标之外,还可展示关键监控指标、节点ID(节点信息列表)、区块信息和交易信息几部分。其中关键监控指标可以展示历史15天的交易量;节点信息列表展示了节点的ID,节点块高,节点view和运行状态等;区块信息展示了最近5个块的概览信息,例如图中列举的某一区块的块高为12321,出块的节点为xx3xxk…,即节点ID中所列举第3个区块,用户通过点击更多还可以查看更多历史区块;交易信息展示了最近5个交易的概览信息,点击更多可以查看更多历史交易。
二、节点管理模块。
该模块主要提供了前置列表和节点列表的功能。用户可以通过新增节点前置,把新的节点前置添加到前置列表。***会默认拉取这些前置所在的群组和各个群组的节点信息。比如有新的业务方要加入联盟链时,此时对应有新增节点,即可通过图9A所示的节点管理模块。将新增节点前置添加到前置列表中,以便用户进行查看。
三、合约管理模块。
该模块主要提供了一个图形化的合约IDE(集成开发环境,IntegratedDevelopment Environment)环境。这个IDE提供了一整套的合约管理工具:新建合约,保存合约,编译合约,部署合约,调用合约接口。例如通过该模块有效实现对协议合约和记录合约的管理。
四、秘钥管理模块。
该模块主要可以新建秘钥用户,然后用新建用户的秘钥来做合约部署和合约交易的签名。例如部署协议合约时,部署记录合约时都需要通过该模块来新建秘钥用户。
五、***管理模块。
该模块主要包括节点监控和主机监控。节点监控主要有区块高度,pbftview(Practical Byzantine Fault Tolerance view,实用拜占庭容错算法视图),待打包交易。主机监控主要有主机的CPU(Central Processing Unit / Processor,中央处理器),内存,网络和硬盘IO(Input/Output,输入输出)。在本申请实施例中,通过该模块可以实时监控各个节点以及主机的工作状态。其中,pbft是一个可选的共识协议,节点间可基于该协议进行共识。
在本申请实施例中,通过图9A所示的用户界面可以实现对本申请中的联盟链平台的后台管理,主要包括用户授权以及智能合约的部署、发布和更新,节点状态监控等。
参阅图9B所示,为本申请实施例提供的一种联盟链平台的层次框架图。主要包括:用户层、服务层、核心层、基础层,下面分别对各层进行介绍:
一、用户层。
用户层是面向用户的入口。通过该入口,使用联盟链服务的联盟链服务客户和联盟链服务业务方及其联盟链服务进行交互,执行与客户相关的管理功能,维护和使用联盟链服务。用户层也可将联盟链服务输出到其他资源层,提供对跨层联盟链服务的支持。例如用户可通过该入口触发防伪校验请求、各种记录请求等等。
二、服务层。
服务层为应用提供可靠高效的联盟链访问和监控,即通过调用核心层功能组件,提供统一接入和节点管理等服务;通过高效缓存、可靠存储、负载均衡等,为用户提供可靠高效的服务能力。
三、核心层。
核心层是联盟链平台的核心功能层。其中,节点间的共识机制,以及在此共识机制之上的数据与账本记录,奠定了联盟链平台的根基;在本申请实施例中,基于核心层可以实现联盟链中物品信息的记录与维护。
四、基础层。
基础层提供了联盟链平台正常运行所需要的运行环境和基础组件。通过这些运行环境和基础组件即可实现联盟链平台的正常运行。
此外,本申请实施例中的联盟链平台还包括跨层功能,跨层功能提供跨越多个功能层次能力的功能组件。跨层功能可进行分组。已定义的跨层功能子集包括:开发能力;运营能力;安全能力;监管和审计能力等。
需要说明的是,上述列举的框架图只是举例说明,一般情况下可如此划分,此外,当采用其他架构时也同样适用于本申请实施例,在此不再具体限定。
参阅图10所示,为一种目标物品防伪的交互时序图。该方法的具体实施流程如下:
步骤S101:药品生产供应企业生产目标药品,申请目标药品许可资质;
步骤S102:药品生产供应企业通过药品防伪联盟链平台中的节点A将目标药品的生产信息记录到联盟链上;
步骤S103:药品生产企业将目标药品通过物流运输到物流企业;
步骤S104:物流企业通过药品防伪联盟链平台中的节点B将目标药品由药品生产企业至药品物流企业过程中的物流信息记录到联盟链上;
步骤S105:物流企业将目标药品输送至医疗机构或药店经销商;
步骤S106:医疗机构或药店经销商将身份标识以及收到目标药品过程中由物流企业至医疗机构或药店经销商的物流信息记录到联盟链上;
步骤S107:医疗机构或药店经销商将目标药品销售给消费者;
步骤S108:消费者在购买目标药品后,将目标药品的渠道获取信息通过药品防伪联盟链平台中的节点C上传至联盟链,调用协议合约对目标药品进行防伪核验。
其中,在步骤S106之前,医疗机构和药店经销商已将身份信息上传至联盟链,并经过身份验证成功注册,在图10中省略了该步骤,医疗机构和药店经销商进行一次身份验证并且通过之后,后续在从目标药品生产供应企业购买目标药品时,可不再重复注册。
基于相同的发明构思,本申请实施例还提供一种基于区块链的物品防伪管理装置,如图11所示,其为基于区块链的物品防伪管理装置1100的结构示意图,可以包括:
接收单元1101,用于接收第一对象输入的针对目标物品的防伪校验请求,其中防伪校验请求包括目标物品的渠道获取信息和物品标识;
校验单元1102,用于从区块链中调用协议合约,通过协议合约查询与物品标识对应的物品信息,其中协议合约是根据校验规则部署于区块链上的,校验规则是加入区块链中的各个节点共同确定的;在物品信息对应的目标对象包含渠道获取信息所表示的第二对象时,确定渠道获取信息满足校验规则,其中目标对象为获得目标物品的销售许可的对象;
发送单元1103,获取针对渠道获取信息的校验结果,并将校验结果返回给第一对象。
可选的,物品信息包括生产信息;装置还包括记录单元1104;
记录单元1104,用于在接收单元1101接收第一对象输入的针对目标物品的防伪校验请求之前,接收第三对象输入的针对目标物品的生产记录请求,其中生产记录请求至少包括目标物品的生产信息以及物品标识;
从区块链中调用记录合约,验证生产信息是否满足记录合约中声明的记录规则,其中记录合约是根据记录规则部署于区块链上的,记录规则是加入区块链中的各个节点共同确定的;
在生产信息满足记录规则时,将生产信息记录到区块链中,与物品标识对应的物品信息中;以及
在区块链中广播生产信息,以使区块链中的其他节点在确认达成共识后分别存储生产信息。
可选的,装置还包括处理单元1105:
处理单元1105,用于接收第二对象输入的针对目标物品的转入请求,其中转入请求中包括第二对象的身份信息以及目标物品的生产信息;
从区块链中查询身份信息;
在身份信息存在于区块链中时,根据生产信息确定生产目标物品的第三对象,并通知第三对象将目标物品转移给第二对象。
可选的,处理单元1105还用于:
在接收第二对象输入的针对目标物品的转入请求之前,接收第二对象输入的注册请求,其中注册请求中至少包括第二对象的身份信息;
从区块链中调用记录合约,验证身份信息是否满足记录规则;
在身份信息满足记录规则时,将身份信息记录到区块链中,并向第二对象返回与身份信息对应的身份标识;以及
在区块链中广播身份信息,以使区块链中的其他节点在确认达成共识后分别存储身份信息。
可选的,物品信息还包括物流信息;记录单元1104还用于:
接收针对目标物品的物流记录请求,其中物流记录请求至少包括目标物品的物流信息以及物品标识;
从区块链中调用记录合约,验证物流信息是否满足记录规则;
在物流信息满足记录规则时,将物流信息记录到区块链中,与物品标识对应的物品信息中;以及
在区块链中广播物流信息,以使区块链中的其他节点在确认达成共识后分别存储物流信息。
可选的,物品信息还包括第二对象的身份标识;记录单元1104还用于:
接收第二对象输入的针对目标物品的销售记录请求,其中销售记录请求中至少包括第二对象的身份标识以及物品标识;
从区块链中调用记录合约,验证身份标识是否满足记录规则;
在身份标识满足记录规则时,确定第二对象为获得目标物品的销售许可的对象,并将身份标识记录到区块链中,与物品标识对应的物品信息中;以及
在区块链中广播身份标识,以使区块链中的其他节点在确认达成共识后分别存储身份标识。
可选的,物品信息还包括交易信息;记录单元还用于:
接收第一对象或第二对象输入的针对目标物品的交易记录请求,其中交易记录请求中至少包括物品标识和目标物品的交易信息;
从区块链中调用记录合约,验证交易信息是否满足记录规则;
在交易信息满足记录规则时,将交易信息记录到区块链中,与物品标识对应的物品信息中;以及
在区块链中广播交易信息,以使区块链中的其他节点在确认达成共识后分别存储交易信息。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的基于区块链的物品防伪管理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
图12是根据一示例性实施例示出的一种电子设备1200的框图,该装置包括:
处理器1210;
用于存储处理器1210可执行操作的存储器1220;
其中,处理器1210被配置为执行操作,以实现本公开实施例中的基于区块链的物品防伪管理方法,例如图4A中所示的步骤。
在示例性实施例中,还提供了一种包括操作的存储介质,例如包括操作的存储器1220,上述操作可由电子设备1200的处理器1210执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一些可能的实施方式中,根据本申请的计算装置可以包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的基于区块链的物品防伪管理方法中的步骤。例如,处理器可以执行如图4A中所示的步骤。
下面参照图13来描述根据本申请的这种实施方式的计算装置1300。图13的计算装置1300仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13,计算装置1300以通用计算装置的形式表现。计算装置1300的组件可以包括但不限于:上述至少一个处理单元131、上述至少一个存储单元132、连接不同***组件(包括存储单元132和处理单元131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储单元1322,还可以进一步包括只读存储器(ROM)1323。
存储单元132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置1300也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置1300交互的设备通信,和/或与使得该计算装置1300能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,计算装置1300还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于计算装置1300的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在一些可能的实施方式中,本申请提供的基于区块链的物品防伪管理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的基于区块链的物品防伪管理方法中的步骤,例如,计算机设备可以执行如图4A中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于区块链的物品防伪管理方法,其特征在于,该方法包括:
在第一对象获取目标物品之后,接收所述第一对象输入的针对所述目标物品的防伪校验请求,其中所述防伪校验请求包括所述目标物品的渠道获取信息和物品标识;
从所述区块链中调用协议合约,通过所述协议合约查询与所述物品标识对应的物品信息,其中所述协议合约是根据校验规则部署于所述区块链上的,所述校验规则是加入所述区块链中的各个节点共同确定的,所述物品信息包括第二对象的身份标识;
接收第二对象输入的针对目标物品的销售记录请求,其中所述销售记录请求中至少包括所述第二对象的身份标识以及所述目标物品的物品标识;
从区块链中调用记录合约,验证所述身份标识是否满足所述记录合约中声明的记录规则,在所述身份标识满足所述记录规则时,确定所述第二对象为获得所述目标物品的销售许可的对象,并将所述身份标识记录到所述区块链中的与所述物品标识对应的物品信息中;
接收第三对象输入的针对所述目标物品的生产记录请求,其中所述生产记录请求至少包括所述目标物品的生产信息以及所述物品标识;
从所述区块链中调用所述记录合约,验证所述生产信息是否满足所述记录合约中声明的所述记录规则,其中所述记录合约是根据所述记录规则部署于所述区块链上的,所述记录规则是加入所述区块链中的各个节点共同确定的;
在所述物品信息对应的目标对象包含所述渠道获取信息所表示的所述第二对象时,确定所述渠道获取信息满足所述校验规则,其中所述目标对象为根据所述物品信息中的所述第二对象的身份标识确定的获得所述目标物品的销售许可的对象;
获取针对所述渠道获取信息的校验结果,并将所述校验结果返回给所述第一对象。
2.如权利要求1所述的方法,其特征在于,所述物品信息包括生产信息;
在所述接收所述第一对象输入的针对所述目标物品的防伪校验请求之前,还包括:
在所述生产信息满足所述记录规则时,将所述生产信息记录到所述区块链中,与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述生产信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述生产信息。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述第二对象输入的针对所述目标物品的转入请求,其中所述转入请求中包括所述第二对象的身份信息以及所述目标物品的生产信息;
从所述区块链中查询所述身份信息;
在所述身份信息存在于所述区块链中时,根据所述生产信息确定生产所述目标物品的所述第三对象,并通知所述第三对象将所述目标物品转移给所述第二对象。
4.如权利要求3所述的方法,其特征在于,在所述接收所述第二对象输入的针对所述目标物品的转入请求之前,还包括:
接收所述第二对象输入的注册请求,其中所述注册请求中至少包括所述身份信息;
从所述区块链中调用所述记录合约,验证所述身份信息是否满足所述记录规则;
在所述身份信息满足所述记录规则时,将所述身份信息记录到所述区块链中,并向所述第二对象返回与所述身份信息对应的身份标识;以及
在所述区块链中广播所述身份信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述身份信息。
5.如权利要求3所述的方法,其特征在于,所述物品信息还包括物流信息;所述方法还包括:
接收针对所述目标物品的物流记录请求,其中所述物流记录请求至少包括所述目标物品的物流信息以及所述物品标识;
从所述区块链中调用所述记录合约,验证所述物流信息是否满足所述记录规则;
在所述物流信息满足所述记录规则时,将所述物流信息记录到所述区块链中,与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述物流信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述物流信息。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
在将所述身份标识记录到所述区块链中的与所述物品标识对应的物品信息中之后,在所述区块链中广播所述身份标识,以使所述区块链中的其他节点在确认达成共识后分别存储所述身份标识。
7.如权利要求2~6任一项所述的方法,其特征在于,所述物品信息还包括交易信息;所述方法还包括:
接收所述第一对象或所述第二对象输入的针对所述目标物品的交易记录请求,其中所述交易记录请求中至少包括所述物品标识和所述目标物品的交易信息;
从所述区块链中调用所述记录合约,验证所述交易信息是否满足所述记录规则;
在所述交易信息满足所述记录规则时,将所述交易信息记录到所述区块链中,与所述物品标识对应的物品信息中;以及
在所述区块链中广播所述交易信息,以使所述区块链中的其他节点在确认达成共识后分别存储所述交易信息。
8.一种基于区块链的物品防伪管理装置,其特征在于,包括:
接收单元,用于在第一对象获取目标物品之后,接收所述第一对象输入的针对所述目标物品的防伪校验请求,其中所述防伪校验请求包括所述目标物品的渠道获取信息和物品标识;
记录单元,用于接收第二对象输入的针对目标物品的销售记录请求,其中所述销售记录请求中至少包括所述第二对象的身份标识以及所述目标物品的物品标识;从区块链中调用记录合约,验证所述身份标识是否满足所述记录合约中声明的记录规则;在所述身份标识满足所述记录规则时,确定所述第二对象为获得所述目标物品的销售许可的对象,并将所述身份标识记录到所述区块链中的与所述物品标识对应的物品信息中,接收第三对象输入的针对所述目标物品的生产记录请求,其中所述生产记录请求至少包括所述目标物品的生产信息以及所述物品标识;从所述区块链中调用所述记录合约,验证所述生产信息是否满足所述记录合约中声明的所述记录规则;其中所述记录合约是根据所述记录规则部署于所述区块链上的,所述记录规则是加入所述区块链中的各个节点共同确定的;
校验单元,用于从区块链中调用协议合约,通过所述协议合约查询与所述物品标识对应的物品信息,其中所述协议合约是根据校验规则部署于所述区块链上的,所述校验规则是加入所述区块链中的各个节点共同确定的,所述物品信息包括第二对象的身份标识;在所述物品信息对应的目标对象包含所述渠道获取信息所表示的所述第二对象时,确定所述渠道获取信息满足所述校验规则,其中所述目标对象为根据所述物品信息中的所述第二对象的身份标识确定的获得所述目标物品的销售许可的对象;
发送单元,获取针对所述渠道获取信息的校验结果,并将所述校验结果返回给所述第一对象。
9.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470999.1A CN111383020B (zh) | 2020-05-29 | 2020-05-29 | 基于区块链的物品防伪管理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470999.1A CN111383020B (zh) | 2020-05-29 | 2020-05-29 | 基于区块链的物品防伪管理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111383020A CN111383020A (zh) | 2020-07-07 |
CN111383020B true CN111383020B (zh) | 2021-02-23 |
Family
ID=71219211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470999.1A Active CN111383020B (zh) | 2020-05-29 | 2020-05-29 | 基于区块链的物品防伪管理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111383020B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858774A (zh) * | 2020-08-03 | 2020-10-30 | 北京东港瑞宏科技有限公司 | 一种机动车临时号牌管理***、方法及装置 |
CN111681017B (zh) * | 2020-08-14 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 基于区块链的货物批量验真方法及装置、电子设备 |
CN112184264A (zh) * | 2020-09-30 | 2021-01-05 | 微医云(杭州)控股有限公司 | 一种基于区块链的药品监管方法、装置、服务器和介质 |
CN113095707B (zh) * | 2021-04-23 | 2024-04-16 | 厦门大学 | 基于区块链的应急物资管理方法、装置以及设备 |
CN113326323A (zh) * | 2021-06-10 | 2021-08-31 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的产品信息存储方法、装置及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013573B2 (en) * | 2015-12-16 | 2018-07-03 | International Business Machines Corporation | Personal ledger blockchain |
US10176481B2 (en) * | 2015-12-21 | 2019-01-08 | Beston Technologies Pty Ltd | Method and apparatus for managing and providing provenance of product using blockchain |
CN106779742A (zh) * | 2016-12-05 | 2017-05-31 | 华迪计算机集团有限公司 | 一种基于区块链对药品质量安全进行全程监控的方法及*** |
CN107730278A (zh) * | 2017-10-18 | 2018-02-23 | 上海唯链信息科技有限公司 | 一种基于区块链技术的药品的防伪和追溯方法 |
CN109325775A (zh) * | 2018-08-08 | 2019-02-12 | 广东技术师范学院 | 一种基于移动区块链的药品信息防篡改追溯管理*** |
CN109299958A (zh) * | 2018-11-28 | 2019-02-01 | 华迪计算机集团有限公司 | 一种基于数据库对网上药品销售进行监管的方法及*** |
-
2020
- 2020-05-29 CN CN202010470999.1A patent/CN111383020B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111383020A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111383020B (zh) | 基于区块链的物品防伪管理方法、装置、设备和存储介质 | |
Uddin et al. | Blockchain for drug traceability: Architectures and open challenges | |
US11139954B2 (en) | Blockchain proof of custody, proof against tampering, proof of chain of custody | |
CN110620810B (zh) | 在区块链上的连续资产转移的非链接所有权 | |
CN108846010B (zh) | 网络中产品溯源的方法、***、计算机***和存储介质 | |
Saxena et al. | Pharmacrypt: Blockchain for critical pharmaceutical industry to counterfeit drugs | |
US20190244243A1 (en) | Scalable decentralized digital and programmatic advertising analytics system | |
CN110503373B (zh) | 一种基于区块链网络的物流方法及装置 | |
Zhang et al. | Development and assessment of blockchain‐IoT‐based traceability system for frozen aquatic product | |
CN109461008A (zh) | 基于区块链的药品监管方法及*** | |
Li et al. | A novel system for medical equipment supply chain traceability based on alliance chain and attribute and role access control | |
CN113205352B (zh) | 一种溯源链平台***数据交互管理方法及*** | |
Bapatla et al. | PharmaChain: A blockchain to ensure counterfeit‐free pharmaceutical supply chain | |
CN112163869A (zh) | 一种基于区块链的药品溯源方法、装置、服务器和介质 | |
CN111339550A (zh) | 一种基于区块链技术的评论信息可信化方法 | |
Mani et al. | Cloud-based blockchain technology to identify counterfeits | |
CN115277122A (zh) | 基于区块链的跨境数据流动与监管*** | |
Wang et al. | Research on agricultural product traceability technology (economic value) based on information supervision and cloud computing | |
Gomasta et al. | PharmaChain: Blockchain-based drug supply chain provenance verification system | |
CN112184264A (zh) | 一种基于区块链的药品监管方法、装置、服务器和介质 | |
CN116596551A (zh) | 基于区块链的供应链产品溯源方法、存储介质和电子设备 | |
CN111597191A (zh) | 一种药品信息化追溯数据的管理方法和*** | |
CN115022339B (zh) | 基于区块链的用于供应链溯源的方法和***及电子设备 | |
US10963889B2 (en) | Cross-system object tracking platform | |
CN114581111A (zh) | 一种基于区块链和物联网的中草药追溯*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026158 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |