CN117875990B - 一种基于区块链的蜂蜜追溯方法及系统 - Google Patents
一种基于区块链的蜂蜜追溯方法及系统 Download PDFInfo
- Publication number
- CN117875990B CN117875990B CN202410285623.1A CN202410285623A CN117875990B CN 117875990 B CN117875990 B CN 117875990B CN 202410285623 A CN202410285623 A CN 202410285623A CN 117875990 B CN117875990 B CN 117875990B
- Authority
- CN
- China
- Prior art keywords
- account
- block
- authority
- target
- identifier
- 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
- 235000012907 honey Nutrition 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000000977 initiatory effect Effects 0.000 claims abstract description 45
- 238000013475 authorization Methods 0.000 claims description 38
- 238000004519 manufacturing process Methods 0.000 claims description 35
- 238000012795 verification Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 235000011389 fruit/vegetable juice Nutrition 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000257303 Hymenoptera Species 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000003205 fragrance Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 230000035764 nutrition Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000028327 secretion Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000017260 vegetative to reproductive phase transition of meristem Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种基于区块链的蜂蜜追溯方法及系统,涉及蜂蜜溯源管理技术领域,包括获取查询申请的发起账户得到源账户;获取第一查询申请的目标账户得到第一目标账户;获取第一目标账户的第一身份标识;根据第一身份标识获取第一目标账户的权限;判断第一目标账户的权限是否包括追溯权限,若第一目标账户的权限不包括追溯权限,向源账户发送第一反馈信息,若第一目标账户的权限包括追溯权限,根据第一目标账户的账户标识发送第一查询申请,当第一目标账户同意第一查询申请,将目标产品的追溯信息发送给源账户,当第一目标账户驳回第一查询申请,根据源账户的账户标识向源账户发送第二反馈信息,从而实现辅助消费者判断蜂蜜产品的选购风险。
Description
技术领域
本申请涉及蜂蜜溯源管理技术领域,具体涉及一种基于区块链的蜂蜜追溯方法及系统。
背景技术
蜜蜂在酿造蜂蜜时所采集的原料来源主要为蜜源植物的花蜜。由于蜜源地所处的地理环境、气候等客观条件存在差异,不同蜜源地的蜜源植物品种存在差异,蜜源地的光照、温度、雨量、风速和风向等都直接或间接地影响蜜源植物的生长发育和开花泌蜜,导致不同蜜源地生产的蜂蜜在香气、口感、营养和药用价值等均存在差异。另外,生产商通常还会在原料蜜的基础上进一步加工,因此蜂蜜的品质还会受到加工技艺的影响。
目前市场上蜂蜜产品的品种繁多,品质参差不齐。蜂蜜追溯可以帮助消费者了解蜂蜜产品的来源和生产过程,协助消费者根据自身需求针对性选购蜂蜜产品。同时,当蜂蜜产品出现质量安全问题,根据蜂蜜产品对应的追溯信息能够快速定位相关责任人。但是,一些不法商家通过将真实溯源信息重复用于假冒产品的方式欺骗消费者,增大消费者选购蜂蜜产品的难度。
发明内容
本发明的目的在于解决如何辅助消费者选购蜂蜜产品的技术问题,提供了一种基于区块链的蜂蜜追溯方法及系统,以实现利用区块链上存储的追溯信息,降低消费者选购蜂蜜的难度。
根据本发明的第一方面,本发明请求保护一种基于区块链的蜂蜜追溯方法,包括:
获取第一查询申请的发起账户,得到源账户;
获取第一查询申请的目标账户,得到第一目标账户;
获取所述第一目标账户的第一身份标识,所述第一身份标识用于标记当前账户是否属于终端账户;
其中,所述终端账户为对应区块链上存储的目标产品的最新流通位置,所述终端账户的权限包括追溯权限,不属于所述终端账户的权限不包括所述追溯权限,所述追溯权限为允许查询所述目标产品的追溯信息的权限;
根据所述第一身份标识获取所述第一目标账户的权限;
判断所述第一目标账户的权限是否包括所述追溯权限,若所述第一目标账户的权限不包括所述追溯权限,向所述源账户发送第一反馈信息,若所述第一目标账户的权限包括所述追溯权限,根据所述第一目标账户的账户标识发送所述第一查询申请,当所述第一目标账户同意所述第一查询申请,根据所述源账户的账户标识将所述目标产品的追溯信息发送给所述源账户,当所述第一目标账户驳回所述第一查询申请,根据所述源账户的账户标识向所述源账户发送第二反馈信息。
在本申请一实施例中,若所述第一目标账户的权限不包括所述追溯权限,在所述向所述源账户发送第一反馈信息之后,还包括:
向所述终端账户发送第二查询申请,所述第二查询申请的所述发起账户为所述第一目标账户;
当所述终端账户同意所述第二查询申请,根据所述第二查询申请的所述发起账户发送所述目标产品的追溯信息,所述第一目标账户接收所述目标产品的追溯信息后根据所述第一查询申请的所述发起账户,将所述目标产品的追溯信息发送给所述源账户。
在本申请一实施例中,所述第一查询申请和所述第二查询申请包括所述源账户的公钥,在所述第一目标账户或所述终端账户将所述目标产品的追溯信息返回之前,根据所述源账户的公钥对所述目标产品的追溯信息进行加密,将加密后追溯信息返回对应的所述发起账户。
在本申请一实施例中,所述目标产品的所述追溯信息的获取方式包括:
S1:根据所述目标产品的产品标识查询对应区块链,得到第一区块,所述第一区块的时间戳距离所述第二查询申请的发起时间最近;
S2:根据所述第一区块的区块体得到追溯子信息;
S3:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第二区块;
S4:判断所述第二区块对应的终点账户是否与所述第一区块的起点账户一致,若所述第二区块对应的终点账户与所述第一区块的起点账户一致,将所述第二区块作为新的所述第一区块,返回步骤S2,直到所述第二区块为所述目标产品对应的区块链上的初始区块,若所述第二区块对应的终点账户与所述第一区块的起点账户不一致,根据所述第二区块中记录的上一区块的区块标识得到新的所述第二区块,返回步骤S4。
在本申请一实施例中,在所述根据所述第一区块中记录的上一区块的区块标识查询对应区块链以得到第二区块之中,还包括:
S31:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第三区块,所述第三区块为所述第一区块的上一区块;
S32:判断所述第三区块的所述产品标识是否与所述第一区块的所述产品标识相同,若所述第三区块的所述产品标识与所述第一区块的所述产品标识相同,则将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识与所述第一区块的所述产品标识不同,判断所述第三区块的所述产品标识是否为所述第一区块的所述产品标识的父级标识,若所述第三区块的所述产品标识为所述第一区块的所述产品标识的父级标识,将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识不为所述第一区块的所述产品标识的父级标识,根据所述第三区块中记录的上一区块的区块标识查询对应区块链,得到新的第三区块,返回步骤S32,直至所述第三区块为对应区块链的初始区块。
根据本发明的第二方面,本发明请求保护一种基于区块链的蜂蜜追溯系统,所述系统包括:
第一获取模块,所述第一获取模块用于获取第一查询申请的发起账户,得到源账户;获取第一查询申请的目标账户,得到第一目标账户,所述目标账户为拟接收所述查询申请的账户;
第二获取模块,所述第二获取模块用于获取所述第一目标账户的第一身份标识,所述第一身份标识用于标记当前账户是否属于终端账户;
其中,所述终端账户为对应区块链上存储的目标产品的最新流通位置,所述终端账户的权限包括追溯权限,不属于所述终端账户的权限不包括所述追溯权限,所述追溯权限为允许查询所述目标产品的追溯信息的权限;
第三获取模块,所述第三获取模块用于根据所述第一身份标识获取所述第一目标账户的权限;
第一追溯模块,所述第一追溯模块用于判断所述第一目标账户的权限是否包括所述追溯权限,若所述第一目标账户的权限不包括所述追溯权限,向所述源账户发送第一反馈信息,若所述第一目标账户的权限包括所述追溯权限,根据所述第一目标账户的账户标识发送所述第一查询申请,当所述第一目标账户同意所述第一查询申请,根据所述源账户的账户标识将所述目标产品的追溯信息发送给所述源账户,当所述第一目标账户驳回所述第一查询申请,根据所述源账户的账户标识向所述源账户发送第二反馈信息。
在本申请一实施例中,所述第一追溯模块还包括:
若所述第一目标账户的权限不包括所述追溯权限,向所述终端账户发送第二查询申请,所述第二查询申请的所述发起账户为所述第一目标账户;
当所述终端账户同意所述第二查询申请,根据所述第二查询申请的所述发起账户发送所述目标产品的追溯信息,所述第一目标账户接收所述目标产品的追溯信息后根据所述第一查询申请的所述发起账户,将所述目标产品的追溯信息发送给所述源账户。
在本申请一实施例中,所述第一追溯模块还包括:
所述第一查询申请和所述第二查询申请包括所述源账户的公钥,在所述第一目标账户或所述终端账户将所述目标产品的追溯信息返回之前,根据所述源账户的公钥对所述目标产品的追溯信息进行加密,将加密后追溯信息返回对应的所述发起账户。
在本申请一实施例中,所述第一追溯模块还包括:
S1:根据所述目标产品的产品标识查询对应区块链,得到第一区块,所述第一区块的时间戳距离所述第二查询申请的发起时间最近;
S2:根据所述第一区块的区块体得到追溯子信息;
S3:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第二区块;
S4:判断所述第二区块对应的终点账户是否与所述第一区块的起点账户一致,若所述第二区块对应的终点账户与所述第一区块的起点账户一致,将所述第二区块作为新的所述第一区块,返回步骤S2,直到所述第二区块为所述目标产品对应的区块链上的初始区块,若所述第二区块对应的终点账户与所述第一区块的起点账户不一致,根据所述第二区块中记录的上一区块的区块标识得到新的所述第二区块,返回步骤S4。
在本申请一实施例中,所述第一追溯模块还包括:
S31:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第三区块,所述第三区块为所述第一区块的上一区块;
S32:判断所述第三区块的所述产品标识是否与所述第一区块的所述产品标识相同,若所述第三区块的所述产品标识与所述第一区块的所述产品标识相同,则将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识与所述第一区块的所述产品标识不同,判断所述第三区块的所述产品标识是否为所述第一区块的所述产品标识的父级标识,若所述第三区块的所述产品标识为所述第一区块的所述产品标识的父级标识,将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识不为所述第一区块的所述产品标识的父级标识,根据所述第三区块中记录的上一区块的区块标识查询对应区块链,得到新的第三区块,返回步骤S32,直至所述第三区块为对应区块链的初始区块。
在本申请一实施例中,所述系统还包括:
账户管理模块,所述账户管理模块用于管理区块链网络中的账户,根据所述第一身份标识对应的权限和第二身份标识对应的权限的交集为对应的账户赋予对应的权限;
其中,所述终端账户的权限还包括创建区块链的权限和创建区块权限,不属于所述终端账户的权限不包括创建区块链的权限和创建区块权限,所述第二身份标识包括生产端账户和流通端账户,所述第二身份标识为所述生产端账户的账户对应权限包括查询权限、创建区块链的权限和创建区块权限,所述第二身份标识为所述流通端账户的账户对应权限包括查询权限和创建区块权限;
权限审核模块,所述权限审核模块用于获取操作申请,判断所述操作申请的发起账户的权限是否包括所述操作申请中申请执行的操作,若所述发起账户的权限不包括操作申请中的操作类型,则产生第三反馈信息,若所述发起账户的权限包括操作申请中的操作类型,则将所述操作申请发送给区块管理模块;
区块管理模块,所述区块管理模块用于将每一蜂蜜产品对应的区块进行上链存储,根据所述操作申请对对应的目标产品的区块链执行对应的操作。
在本申请一实施例中,所述系统还包括第四获取模块,所述第四获取模块用于获取操作授权申请,获取所述操作授权申请的目标账户,得到第二目标账户,所述权限审核模块还包括判断所述第二目标账户的权限是否包括所述操作授权申请中的操作类型对应的权限,若所述第二目标账户的权限包括所述操作授权申请中的操作类型对应的权限,则将所述授权申请发送给所述第二目标账户,若所述第二目标账户的权限不包括所述操作授权申请中的操作类型对应的权限,则产生第四反馈信息。
在本申请一实施例中,所述区块包括区块头和区块体,所述区块头包括时间戳、上一区块的区块标识、引用区块的区块标识和当前区块的区块标识,所述引用区块为对应历史区块中与当前区块的产品标识相同或对应的产品标识属于当前区块的产品标识的父级标识、距离当前区块的时间戳最近的区块。
本申请具有以下有益效果:
1、通过将目标产品和区块链一一对应,将对应区块链的追溯查询权限通过所述第一身份标识进行限制,使仅目标产品对应的终端账户拥有查询所述追溯信息的权限,当所述第一目标账户属于所述终端账户,所述第一目标账户可以将所述目标产品对应的追溯信息发送给所述源账户,若所述第一目标账户不属于所述终端账户,所述第一目标账户不具有查询所述目标产品的追溯信息的权限,所述源账户无法通过所述第一目标账户获取所述追溯信息。若不法商家将真实的所述产品标识重复用于假冒产品,当同一所述产品标识对应的某一产品(正品或假冒产品)完成从第一账户(即不法商家)向第二账户的流通后,流通记录通过区块的方式上链存储,该区块链的查询权限更新,该产品标识对应的其他产品(正品或其他假冒产品)在流通过程中会因为所述第一账户不具有该区块链的查询权限而无法获取所述目标产品的所述产品标识对应的所述追溯信息,利用不属于所述终端账户的账户无法获取所述追溯信息的方式实现在完成购买操作前辅助判断消费者蜂蜜产品的假冒风险,从而影响使用同一所述产品标识的产品的流通,提高假冒产品的仿制难度和成本,减少区块链网络中的假冒产品数量,减小消费者选购蜂蜜产品时购买到假冒产品的概率,降低消费者选购蜂蜜产品的难度和风险。
2、终端账户可以重复查看追溯信息的权限,当产品出现质量安全问题,便于根据所述追溯信息保留证据,快速定位责任人。
3、所述源账户通过向所述第一目标账户发送所述第一查询授权申请的方式判断所述第一目标账户是否具有所述目标产品对应的区块链的查询权限,从而进一步判断所述第一目标账户是否为所述目标产品的终端用户,即当前实际拥有者,若是,则当前蜂蜜产品为假冒产品的风险较低,若否,则当前蜂蜜产品为假冒产品的风险较高,从而实现辅助判断目标产品为假冒产品的风险。同时,当所述目标产品的标识被重复用于多个产品,经过检测机构的鉴定结果,判断该标识对应的某产品为正品(或假冒产品),则可根据所述第二查询申请的所述发起账户快速定位该标识对应的其他产品当前的拥有账户,实现异常产品的快速溯源定位。
4、当终端账户收到所述第二查询申请时,可以根据所述第二查询申请辅助判断该蜂蜜产品为假冒产品的风险,例如消费者完成购买操作后,收到其他账户发送的所述第二查询申请,则表明该蜂蜜产品对应的所述产品标识被泄露,该蜂蜜产品为假冒产品的风险较高。
5、在获取所述目标产品的追溯信息的过程中,若所述第一目标账户不具有查询权限,需要向所述终端账户获取查询权限,当所述终端账户同意授权后,将目标产品对应的所述追溯信息经过所述源账户的公钥加密后再发送给所述第一目标账户,其目的在于避免所述第一目标账户获取所述目标产品对应的追溯信息,保证追溯信息在传递过程中的保密性,避免追溯信息在传递过程中造成信息泄露,进而被所述第一目标账户获取用于欺骗其他账户。
6、在实际应用场景中,不同蜂蜜产品的所述追溯信息之间相似度较大,例如对于同一生产批号生产的蜂蜜产品,可能在与生产相关的信息存在相似内容,对于在包装后属于同一箱的不同蜂蜜产品在于流通相关的信息存在相似内容,将每一蜂蜜产品以不同的区块链记录对应的追溯信息,容易导致区块链的存储空间存在较大冗余,进而导致存储空间浪费。通过将所述追溯信息相似度较大的蜂蜜产品的区块链进行整合,将不同蜂蜜产品在追溯信息上存在相同的部分以父级标识为单位进行存储,在追溯过程中根据每一区块的时间戳,按照时间轴的逆向顺序对区块链进行遍历,根据每一区块中记录的产品标识和/或父级标识筛选出与目标产品的流通路径匹配的追溯信息,在完成追溯信息查询的同时降低区块链存储的冗余,提高存储空间的利用率。
7、当发起账户不具有执行指定操作的权限时,向所述第二目标账户发送对应的操作授权申请,根据所述第二目标账户的权限判断是否将所述操作授权申请发送给所述终端账户,若所述第二目标账户的权限不包括所述操作授权申请中申请执行的操作类型,不再将所述操作授权申请发送给所述所述第二目标账户,使所述第二目标账户授权其他账户可执行的操作类型范围仅限于自身的权限范围,从而避免通过操作授权申请获取超权限的执行操作权限。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例涉及的一种基于区块链的蜂蜜追溯方法的流程图;
图2为本申请实施例涉及的目标产品的追溯信息获取方法流程图;
图3为本申请实施例涉及的区块筛选方法流程图;
图4为本申请实施例涉及的一种基于区块链的蜂蜜追溯系统的结构示意图;
图5为本申请实施例涉及区块链的一种实施方式的示意图;
图6为本申请实施例涉及的电子设备结构示意图。
具体实施方式
本发明提供了一种基于区块链的蜂蜜追溯方法及系统,利用不属于所述终端账户的账户无法获取所述追溯信息的方式实现在完成购买操作前辅助判断消费者蜂蜜产品的假冒风险,从而影响使用同一产品标识的产品的流通,提高假冒产品的仿制难度和成本,减少区块链网络中的假冒产品数量,减小消费者选购蜂蜜产品时购买到假冒产品的概率,降低消费者选购蜂蜜产品的难度和风险。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,参考术语“一个实施例”、“一些实施例”、“实施方式”、“实施例”、“示意性实施例”、“示例”、“具体示例”或“一些示例”等,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。而且描述的具体特征、结构或者特点可以在任何一个或多个实施例或示例中以合适的方式结合。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或顺序。
根据本发明的第一方面,本发明请求保护一种基于区块链的蜂蜜追溯方法,参照附图1所示,包括:
获取第一查询申请的发起账户得到源账户,获取第一查询申请的目标账户,得到第一目标账户。
其中,所述第一查询申请为用于查询目标产品的追溯信息的申请信息。所述申请信息包括发起时间、所述发起账户的账户标识、所述目标账户的账户标识和所述目标产品的产品标识等,但是其不限于此。
需要说明的是,所述第一查询申请的所述发起账户为发起所述第一查询申请的账户,所述第一查询申请的所述目标账户为拟接收所述第一查询申请的账户。
需要说明的是,所述追溯信息包括与所述目标产品的采集、生产和流通相关的信息,但是其不限于此。与所述目标产品的采集相关的信息包括蜜源地、蜜源植物、蜂蜜原浆采集人、蜂蜜原浆采集时间和蜂蜜原浆的成分信息等,但是其不限于此。与所述目标产品的生产相关的信息包括生产商、生产流程、每一生产流程的负责人、包装时间、包装负责人、生产时间、保质期和目标产品的成分信息等,但是其不限于此。与所述目标产品的流通相关的信息包括所述目标产品在销售过程中的每一经销商信息、交易信息和消费者信息等,但是其不限于此。
需要说明的是,所述产品标识可以为溯源码、二维码和钢印等,本申请不对所述产品标识的具体形式作进一步限定。
其中,所述目标产品为所述第一查询申请对应的待执行查询操作的蜂蜜产品。
需要说明的是,账户为区块链网络中的节点。账户与账户之间通过区块链网络连接,区块链网络中每一账户在创建时需要验证用户信息,包括用户的基本信息和账户身份。获取用户的基本信息和账户身份,应得到用户的同意或授权。例如当某一经销商申请加入区块链网络时,需要验证该经销商的经营许可证、法人信息、地址信息和所述账户身份等。以上仅为示意,不构成对本申请保护范围的限制。用户信息验证完成后获取对应的账户标识。所述账户标识为每一账户的唯一性标识。不同账户对应不同的所述账户标识。
需要说明的是,目标产品在不同账户之间的所有流通记录经过加密后通过区块的方式存储。当目标产品产生一次流通记录,则创建一个新的区块。同一目标产品对应的所有区块按照时间戳的顺序以链状数据结构的方式进行存储,得到目标产品对应的区块链。不同目标产品对应不同的区块链。每一区块包括区块头和区块体。所述区块头包括前一区块的区块标识、当前区块的区块标识和当前区块的时间戳,但是其不限于此。所述区块标识为区块对应的哈希值。每一区块的所述区块体包括所述目标产品的部分或全部所述追溯信息,但是其不限于此。同一目标产品对应一条唯一的区块链。
获取所述第一目标账户的第一身份标识,所述第一身份标识用于标记当前账户是否属于终端账户;
其中,所述终端账户为对应区块链上存储的目标产品的最新流通位置,所述终端账户的权限包括追溯权限,不属于所述终端账户的权限不包括所述追溯权限,所述追溯权限为允许查询所述目标产品的追溯信息的权限。
在本实施方式中,所述第一身份标识包括终端账户标识和非终端账户标识。其中,所述终端账户标识用于标记当前账户为所述终端账户,所述非终端账户标识用于标记当前账户为非终端账户。所述非终端账户为区块链网络上除所述目标产品对应的所述终端账户以外的其他账户。不同目标产品对应的终端账户采用不同的所述终端账户标识进行区别。
在本实施方式中,当目标产品未从第一账户转移到第二账户,则对应的所述第一账户的所述第一身份标识为该目标产品对应的所述终端账户标识,所述第一账户的权限包括所述追溯权限,所述第二账户的所述第一身份标识为所述非终端账户标识,所述第二账户的权限不包括所述追溯权限;当目标产品完成从所述第一账户到所述第二账户的流通,创建对应的区块的同时将对应的所述第二账户的所述第一身份标识更新为该目标产品对应的所述终端账户标识,此时所述第二账户的权限包括所述追溯权限,对应的所述第一账户的所述第一身份标识更新为所述非终端账户标识,此时所述第一账户的权限不包括所述追溯权限。
根据所述第一身份标识获取所述第一目标账户的权限。
判断所述第一目标账户的权限是否包括所述追溯权限,若所述第一目标账户的权限不包括所述追溯权限,向所述源账户发送第一反馈信息,若所述第一目标账户的权限包括所述追溯权限,根据所述第一目标账户的账户标识发送所述第一查询申请,当所述第一目标账户同意所述第一查询申请,根据所述源账户的账户标识将所述目标产品的追溯信息发送给所述源账户,当所述第一目标账户驳回所述第一查询申请,根据所述源账户的账户标识向所述源账户发送第二反馈信息。
其中,所述第一反馈信息包括用于提醒所述源账户所述第一目标账户权限异常的信息,所述第二反馈信息包括用于提醒所述源账户所述第一查询申请异常的信息。
在本实施方式中,通过将目标产品和区块链一一对应,将对应区块链的追溯查询权限通过所述第一身份标识进行限制,使仅目标产品对应的终端账户拥有查询所述追溯信息的权限,当所述第一目标账户属于所述终端账户,所述第一目标账户可以将所述目标产品对应的追溯信息发送给所述源账户,若所述第一目标账户不属于所述终端账户,所述第一目标账户不具有查询所述目标产品的追溯信息的权限,所述源账户无法通过所述第一目标账户获取所述追溯信息。若不法商家将真实的所述产品标识重复用于假冒产品,当同一所述产品标识对应的某一产品(正品或假冒产品)完成从第一账户(即不法商家)向第二账户的流通后,流通记录通过区块的方式上链存储,该区块链的查询权限更新,该产品标识对应的其他产品(正品或其他假冒产品)在流通过程中会因为所述第一账户不具有该区块链的查询权限而无法获取所述目标产品的所述产品标识对应的所述追溯信息,利用不属于所述终端账户的账户无法获取所述追溯信息的方式实现在完成购买操作前辅助判断消费者蜂蜜产品的假冒风险,从而影响使用同一所述产品标识的产品的流通,提高假冒产品的仿制难度和成本,减少区块链网络中的假冒产品数量,减小消费者选购蜂蜜产品时购买到假冒产品的概率,降低消费者选购蜂蜜产品的难度和风险。例如,在未完成流通操作前,源账户可以根据当前商家是否拥有所述追溯查询权限,判断当前商家是否为所述目标产品对应的所述终端账户,判断当前商家是否为所述目标产品对应的区块链上记录的当前实际拥有者,从而辅助评估当前蜂蜜产品为假冒产品的风险。同时,终端账户可以重复查看追溯信息的权限,当产品出现质量安全问题,便于根据所述追溯信息保留证据,快速定位责任人。
在一个可行的实施方式中,若所述第一目标账户的权限不包括所述追溯权限,在所述向所述源账户发送第一反馈信息之后,还包括:
向所述终端账户发送第二查询申请,所述第二查询申请的所述发起账户为所述第一目标账户;
当所述终端账户同意所述第二查询申请,根据所述第二查询申请的所述发起账户发送所述目标产品的追溯信息,所述第一目标账户接收所述目标产品的追溯信息后根据所述第一查询申请的所述发起账户,将所述目标产品的追溯信息发送给所述源账户。
需要说明的是,当所述终端账户驳回所述第二查询申请,根据所述第二查询申请的所述发起账户发送第五反馈信息,所述第五反馈信息包括用于提醒所述源账户第二查询申请异常的信息,所述第一目标账户接收所述第五反馈信息后根据所述第一查询申请的所述发起账户,将所述所述第五反馈信息发送给所述源账户。
在一个可行的实施方式中,所述第一查询申请和所述第二查询申请包括所述源账户的公钥,在所述第一目标账户或所述终端账户将所述目标产品的追溯信息返回之前,根据所述源账户的公钥对所述目标产品的追溯信息进行加密,将加密后追溯信息返回对应的所述发起账户。
在本实施方式中,在获取所述目标产品的追溯信息的过程中,若所述第一目标账户不具有查询权限,需要向所述终端账户获取查询权限,当所述终端账户同意授权后,将目标产品对应的所述追溯信息经过所述源账户的公钥加密后再发送给所述第一目标账户,其目的在于避免所述第一目标账户获取所述目标产品对应的追溯信息,保证追溯信息在传递过程中的保密性,避免追溯信息在传递过程中造成信息泄露,进而被所述第一目标账户获取用于欺骗其他账户。
在本实施方式中,所述源账户通过向所述第一目标账户发送所述第一查询授权申请的方式判断所述第一目标账户是否具有所述目标产品对应的区块链的查询权限,从而进一步判断所述第一目标账户是否为所述目标产品的终端用户,即当前实际拥有者,若是,则当前蜂蜜产品为假冒产品的风险较低,若否,则当前蜂蜜产品为假冒产品的风险较高,从而实现辅助判断目标产品为假冒产品的风险。同时,当所述目标产品的标识被重复用于多个产品,经过检测机构的鉴定结果,判断该标识对应的某产品为正品(或假冒产品),则可根据所述第二查询授权申请的所述发起账户快速定位该标识对应的其他产品当前的拥有账户,实现异常产品的快速溯源定位。另外,当终端账户收到所述第二查询申请时,可以根据所述第二查询申请辅助判断该蜂蜜产品为假冒产品的风险,例如消费者完成购买操作后,收到其他账户发送的所述第二查询申请,则表明该蜂蜜产品对应的所述产品标识被泄露,该蜂蜜产品为假冒产品的风险较高。
在一个可行的实施方式中,参照附图2所示,所述目标产品的所述追溯信息的获取方式包括:
S1:根据所述目标产品的产品标识查询对应区块链,得到第一区块,所述第一区块的时间戳距离所述第二查询申请的发起时间最近;
S2:根据所述第一区块的区块体得到追溯子信息。
需要说明的是,每一区块的区块体中保存了对应流通记录的信息,包括公开信息和加密信息。所述公开信息包括可供追溯的信息,例如对应流通路径的起点账户和终点账户,但是其不限于此。所述加密信息包括不可供追溯的信息,例如交易金额等,当时其不限于此。
其中,所述起点账户为所述目标产品在对应流通路径上的发货账户。所述终点账户为所述目标产品在对应流通路径上的收货账户。
在本实施方式中,所述追溯子信息包括区块体中保存的所述公开信息。
S3:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第二区块;
在一个可行的实施方式中,参照附图3所示,在步骤3中还包括:
S31:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第三区块,所述第三区块为所述第一区块的上一区块;
S32:判断所述第三区块的所述产品标识是否与所述第一区块的所述产品标识相同,若所述第三区块的所述产品标识与所述第一区块的所述产品标识相同,则将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识与所述第一区块的所述产品标识不同,判断所述第三区块的所述产品标识是否为所述第一区块的所述产品标识的父级标识,若所述第三区块的所述产品标识为所述第一区块的所述产品标识的父级标识,将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识不为所述第一区块的所述产品标识的父级标识,根据所述第三区块中记录的上一区块的区块标识查询对应区块链,得到新的第三区块,返回步骤S32,直至所述第三区块为对应区块链的初始区块。
其中,所述父级标识可以为目标产品的包装箱标识、生产批号标识等,但是其不限于此。
需要说明的是,在实际应用场景中,不同蜂蜜产品的所述追溯信息之间相似度较大,例如对于同一生产批号生产的蜂蜜产品,可能在与生产相关的信息存在相似内容,对于在包装后属于同一箱的不同蜂蜜产品在于流通相关的信息存在相似内容,将每一蜂蜜产品以不同的区块链记录对应的追溯信息,容易导致区块链的存储空间存在较大冗余,进而导致存储空间浪费。通过将所述追溯信息相似度较大的蜂蜜产品的区块链进行整合,将不同蜂蜜产品在追溯信息上存在相同的部分以父级标识为单位进行存储,在追溯过程中根据每一区块的时间戳,按照时间轴的逆向顺序对区块链进行遍历,根据每一区块中记录的产品标识和/或父级标识筛选出与目标产品的流通路径匹配的追溯信息,在完成追溯信息查询的同时降低区块链存储的冗余,提高存储空间的利用率。
S4:判断所述第二区块对应的终点账户是否与所述第一区块的起点账户一致,若所述第二区块对应的终点账户与所述第一区块的起点账户一致,将所述第二区块作为新的所述第一区块,返回步骤S2,直到所述第二区块为所述目标产品对应的区块链上的初始区块,若所述第二区块对应的终点账户与所述第一区块的起点账户不一致,根据所述第二区块中记录的上一区块的区块标识得到新的所述第二区块,返回步骤S4。
其中,所述初始区块为目标产品对应的区块链上的时间戳最早的区块。
需要说明的是,所述初始区块的所述区块体包括所述与所述目标产品的采集相关的信息、所述与所述目标产品的生产相关的信息和第一次流通路径的信息,但是其不限于此。
需要说明的是,当所述目标产品从第一账户向第二账户流通的过程中,在完成流通前,所述第一账户创建区块,并将该区块发送给所述第二账户,所述第二账户在确认收货表示完成此次流通。该区块的所述起点账户为所述第一账户,该区块的所述终点账户为所述第二账户。
在本实施方式中,在实际应用场景中,区块链分叉的情形难以完全避免,例如当区块链网络产生版本更迭可能会出现区块链分叉的情形。由于每一区块链上的区块是按照时间戳的顺序进行排列,当区块链产生分叉时,区块链上除了主链上的区块链可能还会包含副链的区块。通过在获取当前区块保存的信息之前对当前区块进行验证,根据终端账户反推主链上的区块信息从而得到目标产品对应的追溯信息。
根据本发明的第二方面,本发明请求保护一种基于区块链的蜂蜜追溯系统,参照附图4所示,所述系统包括:
第一获取模块,所述第一获取模块用于获取第一查询申请的发起账户,得到源账户;获取第一查询申请的目标账户,得到第一目标账户,所述目标账户为拟接收所述查询申请的账户;
第二获取模块,所述第二获取模块用于获取所述第一目标账户的第一身份标识,所述第一身份标识用于标记当前账户是否属于终端账户;
其中,所述终端账户为对应区块链上存储的目标产品的最新流通位置,所述终端账户的权限包括追溯权限,不属于所述终端账户的权限不包括所述追溯权限,所述追溯权限为允许查询所述目标产品的追溯信息的权限;
第三获取模块,所述第三获取模块用于根据所述第一身份标识获取所述第一目标账户的权限;
第一追溯模块,所述第一追溯模块用于判断所述第一目标账户的权限是否包括所述追溯权限,若所述第一目标账户的权限不包括所述追溯权限,向所述源账户发送第一反馈信息,若所述第一目标账户的权限包括所述追溯权限,根据所述第一目标账户的账户标识发送所述第一查询申请,当所述第一目标账户同意所述第一查询申请,根据所述源账户的账户标识将所述目标产品的追溯信息发送给所述源账户,当所述第一目标账户驳回所述第一查询申请,根据所述源账户的账户标识向所述源账户发送第二反馈信息。
在一个可行的实施方式中,所述第一追溯模块还包括:
若所述第一目标账户的权限不包括所述追溯权限,向所述终端账户发送第二查询申请,所述第二查询申请的所述发起账户为所述第一目标账户;
当所述终端账户同意所述第二查询申请,根据所述第二查询申请的所述发起账户发送所述目标产品的追溯信息,所述第一目标账户接收所述目标产品的追溯信息后根据所述第一查询申请的所述发起账户,将所述目标产品的追溯信息发送给所述源账户。
在一个可行的实施方式中,所述第一追溯模块还包括:
所述第一查询申请和所述第二查询申请包括所述源账户的公钥,在所述第一目标账户或所述终端账户将所述目标产品的追溯信息返回之前,根据所述源账户的公钥对所述目标产品的追溯信息进行加密,将加密后追溯信息返回对应的所述发起账户。
在一个可行的实施方式中,所述第一追溯模块还包括:
S1:根据所述目标产品的产品标识查询对应区块链,得到第一区块,所述第一区块的时间戳距离所述第二查询申请的发起时间最近;
S2:根据所述第一区块的区块体得到追溯子信息;
S3:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第二区块;
S4:判断所述第二区块对应的终点账户是否与所述第一区块的起点账户一致,若所述第二区块对应的终点账户与所述第一区块的起点账户一致,将所述第二区块作为新的所述第一区块,返回步骤S2,直到所述第二区块为所述目标产品对应的区块链上的初始区块,若所述第二区块对应的终点账户与所述第一区块的起点账户不一致,根据所述第二区块中记录的上一区块的区块标识得到新的所述第二区块,返回步骤S4。
在一个可行的实施方式中,所述第一追溯模块还包括:
S31:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第三区块,所述第三区块为所述第一区块的上一区块;
S32:判断所述第三区块的所述产品标识是否与所述第一区块的所述产品标识相同,若所述第三区块的所述产品标识与所述第一区块的所述产品标识相同,则将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识与所述第一区块的所述产品标识不同,判断所述第三区块的所述产品标识是否为所述第一区块的所述产品标识的父级标识,若所述第三区块的所述产品标识为所述第一区块的所述产品标识的父级标识,将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识不为所述第一区块的所述产品标识的父级标识,根据所述第三区块中记录的上一区块的区块标识查询对应区块链,得到新的第三区块,返回步骤S32,直至所述第三区块为对应区块链的初始区块。
在一个可行的实施方式中,参照附图4所示,所述系统还包括:
账户管理模块,所述账户管理模块用于管理区块链网络中的账户,根据所述第一身份标识对应的权限和第二身份标识对应的权限的交集为对应的账户赋予对应的权限。
其中,所述终端账户的权限还包括创建区块链的权限和创建区块权限,不属于所述终端账户的权限不包括创建区块链的权限和创建区块权限,所述第二身份标识包括生产端账户和流通端账户,所述第二身份标识为所述生产端账户的账户对应权限包括查询权限、创建区块链的权限和创建区块权限,所述第二身份标识为所述流通端账户的账户对应权限包括查询权限和创建区块权限。
需要说明的是,所述生产端账户包括区块链网络中生产所述目标产品的节点,例如厂商等。所述流通端账户包括区块链网络中所述目标产品在流通路径中的节点,例如经销商、终端商店和消费者等。
权限审核模块,所述权限审核模块用于获取操作申请,判断所述操作申请的发起账户的权限是否包括所述操作申请中申请执行的操作,若所述发起账户的权限不包括操作申请中的操作类型,则产生第三反馈信息,若所述发起账户的权限包括操作申请中的操作类型,则将所述操作申请发送给区块管理模块。
其中,所述第三反馈信息包括用于提醒所述操作申请的发起账户超权限操作的提示信息。
其中,所述操作申请包括操作类型和具体操作内容,但是其不限于此。所述操作类型包括查询和创建,但是其不限于此。当所述操作类型为查询时,所述具体操作内容包括待查询区块链对应的所述产品标识,但是其不限于此。当所述操作类型为创建时,所述具体操作内容包括待更新区块链对应的所述产品标识和更新细则,但是其不限于此。
在本实施方式中,当目标产品完成从第一流通端账户向第二流通端账户流通,对于所述第一流通端账户而言,所述第一流通端账户的所述第二身份标识为所述流通端账户,对应拥有查询权限和创建区块权限,但由于目标产品已经完成向所述第二流通端账户的流通,当前所述第一销售端账户的所述第一身份标识为所述非终端账户标识,对应未拥有查询权限和创建区块权限,根据计算所述第一身份标识对应的权限和所述第二身份标识对应的权限的交集,所述第一流通端账户的权限不包括查询权限和创建区块权限。对于所述第二流通端账户而言,所述第二流通端账户的所述第二身份标识表征该账户拥有查询权限和创建区块权限,所述第二流通端账户的所述第一身份标识为所述终端账户标识,对应拥有查询权限和创建区块权限,根据计算所述第一身份标识对应的权限和所述第二身份标识对应的权限的交集,所述第二销售账户拥有查询权限和创建区块权限。
区块管理模块,所述区块管理模块用于将每一蜂蜜产品对应的区块进行上链存储,根据所述操作申请对对应的目标产品的区块链执行对应的操作。
在本实施方式中,当所述生产端账户与所述流通端账户进行蜂蜜产品的交易时,所述生产端账户发起创建区块链申请和创建区块申请。根据所述生产端账户的所述第一身份标识对应的权限和所述第二身份标识对应的权限的交集,验证所述生产端账户的权限是否包括创建区块链权限和创建区块的权限,若所述生产端账户的权限包括创建区块链权限和创建区块的权限,将所述创建区块申请发送给该流通端账户,所述流通端账户根据所述创建区块申请进行交易验证。所述交易验证包括根据所述生产端账户是否具有追溯权限,判断该生产端账户是否为所述目标产品的最新实际拥有者。若销售端账户交易验证成功,所述账户管理模块修改该生产端账号和该流通端账号的所述第一身份标识,若销售端账户交易验证失败,则向生产端账户返回交易验证失败的反馈信息。若所述生产端账户的权限不包括创建区块链权限和创建区块的权限,则返回创建失败的反馈信息,例如当目标产品完成第一次流通后,再次为同一目标产品重复创建区块链等。
在本实施方式中,当第一流通端账户与第二流通端账户进行蜂蜜产品的交易时,所述第一流通端账户发起创建区块申请。根据所述第一流通端账户的所述第一身份标识对应的权限和所述第二身份标识对应的权限的交集,验证所述第一流通端账户的权限是否包括创建区块的权限,若所述第一流通端账户的权限包括创建区块的权限,将所述创建区块申请发送给所述第二流通端账户,所述第二流通端账户根据所述创建区块申请进行交易验证,若所述第二流通端账户交易验证成功,所述账户管理模块更新所述第一流通端账号和所述第二流通端账号的所述第一身份标识,若第二流通端账户交易验证失败,则向所述第一流通端账户返回交易验证失败的反馈信息。若所述第一流通端账户的权限不包括创建区块的权限,则返回区块创建失败的反馈信息。
在本实施方式中,通过将目标产品和区块链一一对应,将对应区块链的操作权限通过所述身份标识进行限制,使仅目标产品对应的终端账户拥有操作区块链的权限,当所述源账户属于所述终端账户时,所述源账户可以操作所述目标产品对应的区块链上存储的所述追溯信息,若所述源账户不属于所述终端账户时,需要获取当前终端账户的授权许可,否则所述源账户无法执行操作,从而实现对追溯信息的产品的流通限制。
在一个可行的实施方式中,所述系统还包括第四获取模块,所述第四获取模块用于获取操作授权申请,获取所述操作授权申请的目标账户,得到第二目标账户,所述权限审核模块还包括判断所述第二目标账户的权限是否包括所述操作授权申请中的操作类型对应的权限,若所述第二目标账户的权限包括所述操作授权申请中的操作类型对应的权限,则将所述授权申请发送给所述第二目标账户,若所述第二目标账户的权限不包括所述操作授权申请中的操作类型对应的权限,则产生第四反馈信息。
其中,所述操作授权申请用于获取对指定产品对应的区块链执行指定操作的权限。所述操作授权申请包括所述查询授权申请、创建区块链授权申请、创建初始区块授权申请和创建区块授权申请,但是其不限于此。
需要说明的是,当发起账户不具有执行指定操作的权限时,向所述第二目标账户发送对应的操作授权申请,根据所述第二目标账户的权限判断是否将所述操作授权申请发送给所述终端账户,若所述第二目标账户的权限不包括所述操作授权申请中申请执行的操作类型,不再将所述操作授权申请发送给所述所述第二目标账户,使所述第二目标账户授权其他账户可执行的操作类型范围仅限于自身的权限范围,从而避免通过操作授权申请获取超权限的执行操作权限。例如,当消费者完成蜂蜜产品的购买,根据该消费者对应的账户的所述第一身份标识为所述终端账户,拥有查询权限、创建区块权限和创建区块链的权限,根据该消费者对应的账户的所述第二身份标识为所述流通端账户,仅拥有查询权限和创建区块权限,则经过交集运算得到该所述消费者的权限不包括创建区块链的权限。当区块链网络中的其他账户发起创建区块申请后会发送创建区块链授权申请,由于当前的终端账户不具有创建区块链的权限,因此直接提醒该账户操作异常。同理,当第一账户不具有查询权限时,第二账户向所述第一账户发送查询授权申请时会得到操作异常的提醒信息。
在一个可行的实施方式中,所述区块包括区块头和区块体,所述区块头包括时间戳、上一区块的区块标识、引用区块的区块标识和当前区块的区块标识,所述引用区块为对应历史区块中与当前区块的产品标识相同或对应的产品标识属于当前区块的产品标识的父级标识、距离当前区块的时间戳最近的区块。
需要说明的是,参照附图5所示,以建立属于同一生产批次、同一包装箱的蜂蜜产品集的区块链为例,所述蜂蜜产品集中每一蜂蜜产品的产品标识包括一级标识、二级标识和三级标识,所述一级标识为所述二级标识的父级标识,所述二级标识为所述三级标识的父级标识,所述一级标识用于标记所述蜂蜜产品集的生产批次,所述二级标识用于标记所述蜂蜜产品集的包装号,所述三级标识用于标记每一蜂蜜产品。例如,将蜂蜜产品A的所述产品标识记为“1.2.3”,蜂蜜产品A对应的一级标识为第一生产批次,对应的二级标识为第二包装号,对应的三级标识为第三产品号,所有第一生产批次的蜂蜜产品的标号记为“1”,所有第二包装号的蜂蜜产品记为“1.2”。参照附图5所示,区块2的所述引用区块为区块1,区块4的所述引用区块为区块2,在如附图5所述的区块链中,区块1、区块2和区块4中保存了蜂蜜产品A对应的追溯信息,区块3中保存的追溯信息为第一包装号中蜂蜜产品的追溯信息。从而实现根据将追溯信息相似度较大的蜂蜜产品通过一条区块链存储追溯信息。
参照附图6所示,本申请实施例提供一种电子设备,包括:处理器和存储器,处理器和存储器通过通信总线和/或其他形式的连接机构(未标出)互连并相互通讯,存储器存储有处理器可执行的计算机程序,当计算设备运行时,处理器执行该计算机程序,以执行上述实施例的任一可选的实施方式中的系统。
本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实施方式中的系统。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM),可擦出可编程只读存储器(Erasable ProgrammableRead-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请所提供的实施例中,应该理解到,所揭露系统可以通过其他的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
本文中使用了流程图用来说明通过本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时评价各种步骤。同时,也可以将其他操作添加到这些过程中。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上对所提供的一种基于区块链的蜂蜜追溯方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅为本申请的实施例而已,只是用于帮助理解本申请的一种基于区块链的蜂蜜追溯方法及系统,并不用于限制本申请的保护范围;同时,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的和精神和原则之内,所作的任何修改、等同替换,均应包含在本申请的保护范围之内。
Claims (8)
1.一种基于区块链的蜂蜜追溯方法,其特征在于,包括:
获取第一查询申请的发起账户,得到源账户;
获取第一查询申请的目标账户,得到第一目标账户;
获取所述第一目标账户的第一身份标识,所述第一身份标识用于标记当前账户是否属于终端账户;
其中,所述终端账户为对应区块链上存储的目标产品的最新流通位置,所述终端账户的权限包括追溯权限,不属于所述终端账户的权限不包括所述追溯权限,所述追溯权限为允许查询所述目标产品的追溯信息的权限;
根据所述第一身份标识获取所述第一目标账户的权限;
判断所述第一目标账户的权限是否包括所述追溯权限,若所述第一目标账户的权限不包括所述追溯权限,向所述源账户发送第一反馈信息,若所述第一目标账户的权限包括所述追溯权限,根据所述第一目标账户的账户标识发送所述第一查询申请,当所述第一目标账户同意所述第一查询申请,根据所述源账户的账户标识将所述目标产品的追溯信息发送给所述源账户,当所述第一目标账户驳回所述第一查询申请,根据所述源账户的账户标识向所述源账户发送第二反馈信息;
若所述第一目标账户的权限不包括所述追溯权限,在所述向所述源账户发送第一反馈信息之后,还包括:
向所述终端账户发送第二查询申请,所述第二查询申请的所述发起账户为所述第一目标账户;
当所述终端账户同意所述第二查询申请,根据所述第二查询申请的所述发起账户发送所述目标产品的追溯信息,所述第一目标账户接收所述目标产品的追溯信息后根据所述第一查询申请的所述发起账户,将所述目标产品的追溯信息发送给所述源账户。
2.根据权利要求1所述的一种基于区块链的蜂蜜追溯方法,其特征在于,所述第一查询申请和所述第二查询申请包括所述源账户的公钥,在所述第一目标账户或所述终端账户将所述目标产品的追溯信息返回之前,根据所述源账户的公钥对所述目标产品的追溯信息进行加密,将加密后追溯信息返回对应的所述发起账户。
3.根据权利要求2或1所述的一种基于区块链的蜂蜜追溯方法,其特征在于,所述目标产品的所述追溯信息的获取方式包括:
S1:根据所述目标产品的产品标识查询对应区块链,得到第一区块,所述第一区块的时间戳距离所述第二查询申请的发起时间最近;
S2:根据所述第一区块的区块体得到追溯子信息;
S3:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第二区块;
S4:判断所述第二区块对应的终点账户是否与所述第一区块的起点账户一致,若所述第二区块对应的终点账户与所述第一区块的起点账户一致,将所述第二区块作为新的所述第一区块,返回步骤S2,直到所述第二区块为所述目标产品对应的区块链上的初始区块,若所述第二区块对应的终点账户与所述第一区块的起点账户不一致,根据所述第二区块中记录的上一区块的区块标识得到新的所述第二区块,返回步骤S4。
4.根据权利要求3所述的一种基于区块链的蜂蜜追溯方法,其特征在于,在所述根据所述第一区块中记录的上一区块的区块标识查询对应区块链以得到第二区块之中,还包括:
S31:根据所述第一区块中记录的上一区块的区块标识查询对应区块链,得到第三区块,所述第三区块为所述第一区块的上一区块;
S32:判断所述第三区块的所述产品标识是否与所述第一区块的所述产品标识相同,若所述第三区块的所述产品标识与所述第一区块的所述产品标识相同,则将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识与所述第一区块的所述产品标识不同,判断所述第三区块的所述产品标识是否为所述第一区块的所述产品标识的父级标识,若所述第三区块的所述产品标识为所述第一区块的所述产品标识的父级标识,将所述第三区块作为所述第二区块,若所述第三区块的所述产品标识不为所述第一区块的所述产品标识的父级标识,根据所述第三区块中记录的上一区块的区块标识查询对应区块链,得到新的第三区块,返回步骤S32,直至所述第三区块为对应区块链的初始区块。
5.一种基于区块链的蜂蜜追溯系统,其特征在于,所述系统包括:
第一获取模块,所述第一获取模块用于获取第一查询申请的发起账户,得到源账户;获取第一查询申请的目标账户,得到第一目标账户,所述目标账户为拟接收所述查询申请的账户;
第二获取模块,所述第二获取模块用于获取所述第一目标账户的第一身份标识,所述第一身份标识用于标记当前账户是否属于终端账户;
其中,所述终端账户为对应区块链上存储的目标产品的最新流通位置,所述终端账户的权限包括追溯权限,不属于所述终端账户的权限不包括所述追溯权限,所述追溯权限为允许查询所述目标产品的追溯信息的权限;
第三获取模块,所述第三获取模块用于根据所述第一身份标识获取所述第一目标账户的权限;
第一追溯模块,所述第一追溯模块用于判断所述第一目标账户的权限是否包括所述追溯权限,若所述第一目标账户的权限不包括所述追溯权限,向所述源账户发送第一反馈信息,若所述第一目标账户的权限包括所述追溯权限,根据所述第一目标账户的账户标识发送所述第一查询申请,当所述第一目标账户同意所述第一查询申请,根据所述源账户的账户标识将所述目标产品的追溯信息发送给所述源账户,当所述第一目标账户驳回所述第一查询申请,根据所述源账户的账户标识向所述源账户发送第二反馈信息;
所述第一追溯模块还包括:
若所述第一目标账户的权限不包括所述追溯权限,在所述向所述源账户发送第一反馈信息之后,还包括:
向所述终端账户发送第二查询申请,所述第二查询申请的所述发起账户为所述第一目标账户;
当所述终端账户同意所述第二查询申请,根据所述第二查询申请的所述发起账户发送所述目标产品的追溯信息,所述第一目标账户接收所述目标产品的追溯信息后根据所述第一查询申请的所述发起账户,将所述目标产品的追溯信息发送给所述源账户。
6.根据权利要求5所述的一种基于区块链的蜂蜜追溯系统,其特征在于,所述系统还包括:
账户管理模块,所述账户管理模块用于管理区块链网络中的账户,根据所述第一身份标识对应的权限和第二身份标识对应的权限的交集为对应的账户赋予对应的权限;
其中,所述终端账户的权限还包括创建区块链的权限和创建区块权限,不属于所述终端账户的权限不包括创建区块链的权限和创建区块权限,所述第二身份标识包括生产端账户和流通端账户,所述第二身份标识为所述生产端账户的账户对应权限包括查询权限、创建区块链的权限和创建区块权限,所述第二身份标识为所述流通端账户的账户对应权限包括查询权限和创建区块权限;
权限审核模块,所述权限审核模块用于获取操作申请,判断所述操作申请的发起账户的权限是否包括所述操作申请中申请执行的操作,若所述发起账户的权限不包括操作申请中的操作类型,则产生第三反馈信息,若所述发起账户的权限包括操作申请中的操作类型,则将所述操作申请发送给区块管理模块;
区块管理模块,所述区块管理模块用于将每一蜂蜜产品对应的区块进行上链存储,根据所述操作申请对对应的目标产品的区块链执行对应的操作。
7.根据权利要求6所述的一种基于区块链的蜂蜜追溯系统,其特征在于,所述系统还包括第四获取模块,所述第四获取模块用于获取操作授权申请,获取所述操作授权申请的目标账户,得到第二目标账户,所述权限审核模块还包括判断所述第二目标账户的权限是否包括所述操作授权申请中的操作类型对应的权限,若所述第二目标账户的权限包括所述操作授权申请中的操作类型对应的权限,则将所述授权申请发送给所述第二目标账户,若所述第二目标账户的权限不包括所述操作授权申请中的操作类型对应的权限,则产生第四反馈信息。
8.根据权利要求6所述的一种基于区块链的蜂蜜追溯系统,其特征在于,所述区块包括区块头和区块体,所述区块头包括时间戳、上一区块的区块标识、引用区块的区块标识和当前区块的区块标识,所述引用区块为对应历史区块中与当前区块的产品标识相同或对应的产品标识属于当前区块的产品标识的父级标识、距离当前区块的时间戳最近的区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410285623.1A CN117875990B (zh) | 2024-03-13 | 2024-03-13 | 一种基于区块链的蜂蜜追溯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410285623.1A CN117875990B (zh) | 2024-03-13 | 2024-03-13 | 一种基于区块链的蜂蜜追溯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117875990A CN117875990A (zh) | 2024-04-12 |
CN117875990B true CN117875990B (zh) | 2024-05-28 |
Family
ID=90592153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410285623.1A Active CN117875990B (zh) | 2024-03-13 | 2024-03-13 | 一种基于区块链的蜂蜜追溯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117875990B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104240093A (zh) * | 2014-05-23 | 2014-12-24 | 成都鹰瑞科技有限公司 | 一种二维码防伪方法 |
CN108595980A (zh) * | 2018-05-02 | 2018-09-28 | 广州品唯软件有限公司 | 一种商品溯源信息的保护方法及装置 |
CN109034849A (zh) * | 2018-08-08 | 2018-12-18 | 苏州酷外文化传媒有限公司 | 基于区块链的农产品信息溯源验证方法及系统 |
CN109360002A (zh) * | 2018-09-21 | 2019-02-19 | 蛙力买(浙江)信息科技有限公司 | 一种产品的防伪方法及装置 |
CN109858920A (zh) * | 2017-11-29 | 2019-06-07 | 山西百伦信息科技有限公司 | 一种随机多码认证溯源防伪的方法 |
CN110232574A (zh) * | 2019-05-07 | 2019-09-13 | 中国平安财产保险股份有限公司 | 基于区块链的产品验证方法、装置、设备及存储介质 |
CN110675171A (zh) * | 2019-09-29 | 2020-01-10 | 匿名科技(重庆)集团有限公司 | 一种基于区块链的防伪溯源方法 |
CN110706008A (zh) * | 2019-10-14 | 2020-01-17 | 北京慧眼智行科技有限公司 | 基于区块链的溯源处理方法及区块链分布式溯源系统 |
CN111652629A (zh) * | 2020-05-21 | 2020-09-11 | 杭州溪塔科技有限公司 | 一种基于区块链的商品防伪方法和装置 |
CN111681017A (zh) * | 2020-08-14 | 2020-09-18 | 支付宝(杭州)信息技术有限公司 | 基于区块链的货物批量验真方法及装置、电子设备 |
CN111740841A (zh) * | 2020-05-29 | 2020-10-02 | 致信互链(北京)科技有限公司 | 溯源码的生成、验证方法和装置 |
CN112069548A (zh) * | 2020-08-14 | 2020-12-11 | 深圳市盛龙信息科技有限公司 | 农产品交易市场的物流监控方法、系统及存储介质 |
CN112445841A (zh) * | 2020-11-17 | 2021-03-05 | 杭州趣链科技有限公司 | 账户查询方法、装置、系统、服务器及介质 |
WO2021088719A1 (zh) * | 2019-11-07 | 2021-05-14 | 四川农链数科科技有限公司 | 一种去中心化物品防伪标识及溯源方法与系统 |
CN113793157A (zh) * | 2021-08-27 | 2021-12-14 | 大连理工大学 | 一种基于联盟链和物联网的散养猪溯源防伪系统 |
CN114612115A (zh) * | 2022-03-09 | 2022-06-10 | 北京邮电大学 | 基于区块链的工业产品溯源信息存储方法、溯源方法及装置 |
CN115841285A (zh) * | 2022-11-28 | 2023-03-24 | 浙江百世技术有限公司 | 基于区块链的商品物流追溯方法及系统 |
WO2024027086A1 (zh) * | 2022-08-02 | 2024-02-08 | 北新集团建材股份有限公司 | 一种石膏板产品防伪追溯方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019195903A1 (pt) * | 2018-04-10 | 2019-10-17 | Rogerio Passy | Método de rastreamento de produtos usando bases de registros distribuídos e compartilhados e números aleatórios gerados por processos quânticos |
-
2024
- 2024-03-13 CN CN202410285623.1A patent/CN117875990B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104240093A (zh) * | 2014-05-23 | 2014-12-24 | 成都鹰瑞科技有限公司 | 一种二维码防伪方法 |
CN109858920A (zh) * | 2017-11-29 | 2019-06-07 | 山西百伦信息科技有限公司 | 一种随机多码认证溯源防伪的方法 |
CN108595980A (zh) * | 2018-05-02 | 2018-09-28 | 广州品唯软件有限公司 | 一种商品溯源信息的保护方法及装置 |
CN109034849A (zh) * | 2018-08-08 | 2018-12-18 | 苏州酷外文化传媒有限公司 | 基于区块链的农产品信息溯源验证方法及系统 |
CN109360002A (zh) * | 2018-09-21 | 2019-02-19 | 蛙力买(浙江)信息科技有限公司 | 一种产品的防伪方法及装置 |
CN110232574A (zh) * | 2019-05-07 | 2019-09-13 | 中国平安财产保险股份有限公司 | 基于区块链的产品验证方法、装置、设备及存储介质 |
CN110675171A (zh) * | 2019-09-29 | 2020-01-10 | 匿名科技(重庆)集团有限公司 | 一种基于区块链的防伪溯源方法 |
CN110706008A (zh) * | 2019-10-14 | 2020-01-17 | 北京慧眼智行科技有限公司 | 基于区块链的溯源处理方法及区块链分布式溯源系统 |
WO2021088719A1 (zh) * | 2019-11-07 | 2021-05-14 | 四川农链数科科技有限公司 | 一种去中心化物品防伪标识及溯源方法与系统 |
CN111652629A (zh) * | 2020-05-21 | 2020-09-11 | 杭州溪塔科技有限公司 | 一种基于区块链的商品防伪方法和装置 |
CN111740841A (zh) * | 2020-05-29 | 2020-10-02 | 致信互链(北京)科技有限公司 | 溯源码的生成、验证方法和装置 |
CN112069548A (zh) * | 2020-08-14 | 2020-12-11 | 深圳市盛龙信息科技有限公司 | 农产品交易市场的物流监控方法、系统及存储介质 |
CN111681017A (zh) * | 2020-08-14 | 2020-09-18 | 支付宝(杭州)信息技术有限公司 | 基于区块链的货物批量验真方法及装置、电子设备 |
CN112445841A (zh) * | 2020-11-17 | 2021-03-05 | 杭州趣链科技有限公司 | 账户查询方法、装置、系统、服务器及介质 |
CN113793157A (zh) * | 2021-08-27 | 2021-12-14 | 大连理工大学 | 一种基于联盟链和物联网的散养猪溯源防伪系统 |
CN114612115A (zh) * | 2022-03-09 | 2022-06-10 | 北京邮电大学 | 基于区块链的工业产品溯源信息存储方法、溯源方法及装置 |
WO2024027086A1 (zh) * | 2022-08-02 | 2024-02-08 | 北新集团建材股份有限公司 | 一种石膏板产品防伪追溯方法及系统 |
CN115841285A (zh) * | 2022-11-28 | 2023-03-24 | 浙江百世技术有限公司 | 基于区块链的商品物流追溯方法及系统 |
Non-Patent Citations (3)
Title |
---|
使用双区块链的防伪溯源系统;刘家稷;杨挺;汪文勇;;信息安全学报;20180515(第03期);全文 * |
定性分析与在线识别相结合的农产品溯源方法;王宏伟;王华;乔志伟;;现代农业科技;20200930(第19期);全文 * |
智能包装――发展现状、关键技术及应用前景;陈克复;陈广学;;包装学报;20190115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117875990A (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830602B (zh) | 一种基于变色龙哈希函数的许可链构造及管控方法 | |
CN111737360B (zh) | 基于区块链的设备管理方法、装置、计算机设备 | |
CN109101839B (zh) | 一种基于区块链的产品维修支持系统 | |
EP3616358A1 (en) | Distributed privately subspaced blockchain data structures with secure access restriction management | |
CN110602239A (zh) | 一种区块链信息存储方法及相关设备 | |
CN108053001A (zh) | 电子仓单的信息安全认证方法和系统 | |
CN110096903B (zh) | 基于区块链的资产验证方法及区块链网络系统 | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
CN109034414A (zh) | 一种基于区块链技术的汽车管理系统 | |
CN101946452A (zh) | 用于控制器件上的特征的系统和方法 | |
CN109446259B (zh) | 数据处理方法及装置、处理机及存储介质 | |
CN110958301A (zh) | 基于联盟链的车辆档案数据处理方法、装置和系统 | |
CN108248612A (zh) | 车辆诊断信息的管理方法、装置及终端设备 | |
CN111177797A (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
WO2021208909A1 (zh) | 基于区块链的仓库信用评级、结果获取、验证 | |
CN112700246B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN113407954A (zh) | 基于区块链的数据管理方法及装置 | |
CN112199446B (zh) | 一种物品流通记录的存证方法、装置、设备和存储介质 | |
CN109815732B (zh) | 一种基于联盟链的车间数据存储与访问系统、方法及装置 | |
CN108665288B (zh) | 验证物品真伪的方法和验证物品真伪的系统 | |
US11803811B2 (en) | System for validated tracking of events associated with equipment during a resource arrangement | |
US20230004884A1 (en) | System for validated tracking and management of events associated with equipment during lifetime usage | |
CN117875990B (zh) | 一种基于区块链的蜂蜜追溯方法及系统 | |
CA2590065C (en) | Partial revocation list | |
CN109302286A (zh) | 一种Fido设备密钥索引的生成方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |