CN117171236A - 一种基于区块链的数据溯源方法及系统 - Google Patents
一种基于区块链的数据溯源方法及系统 Download PDFInfo
- Publication number
- CN117171236A CN117171236A CN202311445590.4A CN202311445590A CN117171236A CN 117171236 A CN117171236 A CN 117171236A CN 202311445590 A CN202311445590 A CN 202311445590A CN 117171236 A CN117171236 A CN 117171236A
- Authority
- CN
- China
- Prior art keywords
- target
- tracing
- traceability
- target object
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000002994 raw material Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 229940079593 drug Drugs 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于区块链的数据溯源方法及系统,属于区块链技术领域,本发明的一种基于区块链的数据溯源方法,通过根据用户需要溯源的目标对象的类型来确定出溯源主链上存储有目标对象的溯源指令集合的目标区块以及各目标溯源子链,进而根据目标区块中的溯源指令集合直接向所述溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息,进而直接方便地触发并定位获取各目标溯源子链中存储的目标对象的溯源信息,无需在海量的各目标溯源子链中筛选目标对象的信息,大大提高了对目标对象在不同目标溯源子链中进行溯源的效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的数据溯源方法及系统。
背景技术
基于区块链技术的溯源平台具有不可篡改、公开透明等特点,能够提高溯源的可信度和安全性,可以通过分布式账本技术,将各种数据存储在区块链上,溯源过程可以通过区块链上的智能合约来执行溯源流程。
在上述过程中,参与溯源的流转方将溯源数据上传至溯源平台后,溯源平台对溯源数据进行中心化的存储。由于一些溯源对象涉及到多个参与环节,且不同类型的溯源对象涉及的参与方各不相同,不同环节的参与方溯源技术条件也有不同,有条件进行溯源的环节的参与方一般也都是通过自己来进行单独溯源。当用户需要对目标对象进行溯源时,如果涉及到多个参与方来进行溯源,需要分别到各个参与方的海量数据中进行查找,无法及时定位到目标对象的溯源数据,溯源效率低。
发明内容
本发明提供一种基于区块链的数据溯源方法及系统,用以解决现有技术中涉及到多个参与方进行溯源时效率低的缺陷,实现在各目标溯源参与方分别对应的各目标溯源子链中快速获取目标对象的溯源数据的效果。
本发明提供一种基于区块链的数据溯源方法,应用于溯源主链上的用户节点,所述方法包括:
接收用户对目标对象的溯源请求,并基于所述溯源请求,确定所述目标对象的类型;
基于所述目标对象的类型,确定所述目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及所述目标对象对应的目标区块;各目标溯源子链分别存储有所述目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;
基于所述目标对象的对象唯一标识符,从所述目标区块中确定所述目标对象的溯源指令集合;所述溯源指令集合至少包括从各目标溯源子链获取所述目标对象的溯源数据的数据结构标识和寻址逻辑;
基于所述目标对象的溯源指令集合,分别向所述溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;
获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至所述用户。
根据本发明提供的一种基于区块链的数据溯源方法,所述目标对象的溯源指令集合通过以下方式确定:
在各目标溯源子链的目标对象的溯源数据更新后,基于所述目标对象的溯源数据中的数据类型,通过各目标溯源子链生成所述目标对象的溯源数据发送的数据结构标识和寻址逻辑,并在各目标溯源子链的溯源数据发送节点的智能合约中将所述数据结构标识配置为溯源数据发送事件的关键字;
通过所述目标区块接收各目标溯源子链发送的所述目标对象的溯源数据发送的数据结构标识和寻址逻辑;
基于各目标溯源子链与所述目标对象的溯源数据发送的数据结构标识和寻址逻辑之间的关联关系,分别生成各目标溯源子链的溯源指令,并得到所述目标对象的溯源指令集合。
根据本发明提供的一种基于区块链的数据溯源方法,所述获取各目标溯源参与方对应的节点接收到的溯源信息,包括:
通过所述各目标溯源子链上的溯源数据发送节点监听各目标溯源参与方对应的节点发送的溯源信息请求信息;
基于各目标溯源子链上的溯源数据发送节点的智能合约,在通过各目标溯源子链上的溯源数据发送节点识别到各目标溯源子链生成所述目标对象的溯源数据发送的数据结构标识的情况下,通过各目标溯源子链上的溯源数据发送节点按照所述溯源信息请求信息中的寻址逻辑,确定所述目标对象在各目标溯源子链上的溯源数据;
通过各目标溯源子链上的溯源数据发送节点按照所述数据结构标识对应的数据结构将溯源数据发送至各目标溯源参与方对应的节点;
获取各目标溯源参与方对应的节点接收到的溯源信息。
根据本发明提供的一种基于区块链的数据溯源方法,所述通过各目标溯源子链上的溯源数据发送节点按照所述溯源信息请求信息中的寻址逻辑,确定所述目标对象在各目标溯源子链上的溯源数据,包括:
确定所述目标对象对应的对象唯一标识符;
基于所述目标对象的对象唯一标识符以及所述目标对象在各目标溯源子链上的寻址逻辑,确定所述目标对象在各所述目标溯源子链上的溯源初始区块;
基于所述溯源初始区块的哈希值,逐步向前查找并验证各个连续的区块;
从查找到所述目标对象的区块中提取溯源数据并进行分析,得到所述目标对象在各目标溯源子链上的溯源数据。
根据本发明提供的一种基于区块链的数据溯源方法,所述获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至所述用户,包括:
对各目标溯源参与方应的节点接收到的溯源信息按照时间戳进行排序和组装,生成溯源记录列表;
将所述溯源记录列表反馈至所述用户。
根据本发明提供的一种基于区块链的数据溯源方法,所述目标对象对应的目标区块通过以下方式确定:
基于所述溯源请求,确定所述目标对象的交易时间;
基于所述目标对象的类型以及交易时间,确定所述目标区块对应的区块高度范围;区块高度用于表示区块在整个区块链中的相对位置,所述目标区块对应的区块高度范围为所述目标区块在溯源主链中相对位置的范围;
在所述目标区块对应的区块高度范围内的区块中根据所述目标对象的对象唯一标识符,确定所述目标区块。
根据本发明提供的一种基于区块链的数据溯源方法,所述接收用户对目标对象的溯源请求,并基于所述溯源请求,确定所述目标对象的类型,包括:
确定所述目标对象对应的对象唯一标识符;
基于所述目标对象对应的对象唯一标识符,从对象类型表中查找所述目标对象的类型;所述对象类型表是对各对象在各环节的各溯源参与方进行统计得到的。
本发明还提供一种基于区块链的数据溯源系统,包括:
第一处理模块,用于接收用户对目标对象的溯源请求,并基于所述溯源请求,确定所述目标对象的类型;
第二处理模块,用于基于所述目标对象的类型,确定所述目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及所述目标对象对应的目标区块;各目标溯源子链分别存储有所述目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;
第三处理模块,用于基于所述目标对象的对象唯一标识符,从所述目标区块中确定所述目标对象的溯源指令集合;所述溯源指令集合至少包括从各目标溯源子链获取所述目标对象的溯源数据的数据结构标识和寻址逻辑;
第四处理模块,用于基于所述目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;
第五处理模块,用于获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至所述用户。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于区块链的数据溯源方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于区块链的数据溯源方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于区块链的数据溯源方法。
本发明提供的一种基于区块链的数据溯源方法及系统,通过根据用户需要溯源的目标对象的类型来确定出溯源主链上存储有目标对象的溯源指令集合的目标区块以及各目标溯源子链,进而根据目标区块中的溯源指令集合直接向所述溯源主链上的各目标溯源参与方对应的节点发送溯源请求信息,进而直接方便地触发并定位获取各目标溯源子链中存储的目标对象的溯源信息,无需在海量的各目标溯源子链中筛选目标对象的信息,大大提高了对目标对象在不同目标溯源子链中进行溯源的效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于区块链的数据溯源方法的流程示意图;
图2是本发明提供的基于区块链的数据溯源方法的区块链结构示意图;
图3是本发明提供的基于区块链的数据溯源系统的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图4描述本发明的一种基于区块链的数据溯源方法及系统。
如图1所示,本发明实施例的一种基于区块链的数据溯源方法主要包括步骤110、步骤120、步骤130、步骤140以及步骤150。
本发明实施例的一种基于区块链的数据溯源方法,应用于溯源主链上的用户节点。需要说明的是,用于目标对象溯源的区块链系统主要包括溯源主链和目标对象在各个环节的目标溯源参与方分别对应的各目标溯源子链。参照图2,每个环节的参与方可以对应有至少一个目标溯源子链。
溯源的目标对象是指通过追踪和记录信息来追溯对象的来源、生产过程、流通路径等关键信息的对象。根据不同的应用场景,溯源的目标对象的类型可以有很多种。溯源的目标对象可以是商品、产品、药品以及金融交易等,通过对目标对象所涉及的相关数据进行溯源,可以获取目标对象有关各目标溯源参与方的溯源数据。不同的目标对象涉及的各个环节的目标溯源参与方也不一样。
例如,目标对象为商品,各目标溯源子链可以分别是生产、仓储、物流以及销售等环节的各个参与方对应的目标溯源子链,每个环节的参与方可以对应有至少一个目标溯源子链。
溯源主链用于响应用户的请求来从各目标溯源子链获取目标对象的溯源信息,溯源主链还用于通过其上设置的各目标溯源子链对应的节点来获取各目标溯源子链发送的溯源信息。溯源主链中设置有多个区块,各个区块分别用于接收与存储不同类型的目标对象的溯源相关信息。
步骤110,接收用户对目标对象的溯源请求,并基于溯源请求,确定目标对象的类型。
可以理解的是,用户需要确定想要查询的目标对象,例如一个特定的食品、药品或商品。
用户可以在相应的移动设备上或者网页上通过溯源主链上的用户节点输入相关的查询条件,比如目标对象为商品时,可以查询商品名称、生产日期、批次号等,然后点击“查询”按钮发起溯源请求。
用户节点将根据用户提供的查询条件,在区块链上进行查询。通过区块链平台提供的查询接口,可以搜索和定位目标对象所在的块和交易记录。例如目标对象为商品时,可以获取包括生产商、物流公司、零售商等各个节点所上传的溯源数据。
可以理解的是,不同类型的对象的区别在于不同对象所包含的各个环节的溯源参与方不同。
接收用户对目标对象的溯源请求,并基于溯源请求,确定目标对象的类型,包括确定目标对象对应的对象唯一标识符;基于目标对象对应的对象唯一标识符,从对象类型表中查找目标对象的类型;对象类型表是对各对象在各环节的各溯源参与方进行统计得到的。
可以理解的是,为了实现对象的溯源管理,需要为每个对象确定对象唯一标识符。唯一标识符是指用于唯一标识某个对象的一组字符或数字。具体来说,唯一标识符是一个不可重复且固定的字符串或数值,用于区分不同对象。唯一标识符通常由系统分配,且在实体创建后即不可更改。例如,对象为商品时,对象唯一标识符可以是根据商品条码等信息生成的商品唯一标识符。
以商品为例,商品唯一标识符可以是一组数字、字母或二维码等形式,作为区块链上的一个标记,用于标识一个特定的商品。可以采用类似于条形码和二维码等不易重复的编码方式,为每个商品分配一个唯一的编号。可以将商品的某些物理信息,比如生产日期、批次号、序列号等作为唯一标识符,还可以通过对商品的部分或全部信息应用哈希函数,可以得到一个唯一的标识符。
在一些实施例中,区块链上的智能合约可以灵活地定义对象唯一标识符的生成方法。通过智能合约,可以对标识符的生成、管理和验证等操作进行精细化的控制,提高标识符的安全性和可靠性。
在此基础上,确定目标对象对应的对象唯一标识符;基于目标对象对应的对象唯一标识符,从对象类型表中查找目标对象的类型。
对象类型表是对各对象在各环节的各溯源参与方进行统计得到的。
可以对各对象在各环节的各溯源参与方进行统计,确定各对象参与溯源的参与方,根据对象溯源的参与方将对象划分为不同类型。
在此种情况下,考虑到溯源的高效性以及不同参与方所使用的溯源子链的不同类型,将具有相同类型的溯源子链的参与方划分为相同类型,并将包括相同类型溯源子链的参与方的对象划分为同一类型,这样可以在溯源操作中,使用溯源主链上的用户节点中的智能合约为相同类型的各目标溯源子链配置类似的信息,进而提高溯源的效率。
步骤120,基于目标对象的类型,确定目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及目标对象对应的目标区块。
可以理解的是,可以基于目标对象的类型,确定目标对象在各个环节的目标溯源参与方,进而确定各目标溯源参与方分别对应的各目标溯源子链以及目标对象在溯源主链对应的目标区块。
各目标溯源子链分别存储有目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据。
目标对象对应的目标区块可以通过以下过程确定。可以先基于溯源请求,确定目标对象的交易时间。可以在用户发起溯源请求时,接收用户输入的购买时间即交易时间。
溯源主链上的用户节点通过调用查询接口,并基于目标对象的类型以及交易时间,确定目标区块对应的区块高度范围。
区块高度是区块链上一个特定区块的位置或区块数量序号。区块高度表示该区块在整个区块链中的相对位置,通常用一个整数来表示。区块高度范围用于表示该区块在整个区块链中相对位置的范围。即目标区块对应的区块高度范围即为目标区块在溯源主链中相对位置的范围。
可以理解的是,溯源主链中对不同类型的目标对象按照交易时间顺序来存储目标对象所相关的溯源数据,通过根据目标对象的类型以及交易时间,确定目标对象的目标区块对应的区块高度范围,进而再在目标区块对应的区块高度范围内的区块中根据目标对象的对象唯一标识符,确定目标区块,从而提高查找效率。
步骤130,基于目标对象的对象唯一标识符,从目标区块中确定目标对象的溯源指令集合。
可以理解的是,目标区块中存储有相同类型的多个对象的溯源指令集合,通过根据目标对象的对象唯一标识符,可以从目标区块中确定目标对象的溯源指令集合。
溯源指令集合至少包括从各目标溯源子链获取目标对象的溯源数据的数据结构标识和寻址逻辑。
需要说明的是,数据结构标识用于表示从目标数据子链上获取目标对象的溯源数据的数据结构,以及作为溯源数据在目标溯源子链的溯源数据发送节点的智能合约中溯源数据发送事件的关键字。
寻址逻辑用于表示从目标数据子链上访问和定位目标对象的溯源数据的方式。
需要说明的是,目标对象的溯源指令集合可以通过以下方式确定。
可以先在各目标溯源子链的目标对象的溯源数据更新后,基于目标对象的溯源数据中的数据类型,通过各目标溯源子链生成目标对象的溯源数据发送的数据结构标识和寻址逻辑,并在各目标溯源子链的溯源数据发送节点的智能合约中将数据结构标识配置为溯源数据发送事件的关键字。
换言之,在每个目标溯源子链中更新所查询目标对象的溯源数据后,可以根据该溯源数据中的数据类型,生成一个数据结构标识和寻址逻辑。该溯源数据中的数据类型可以根据参与方上传的数据来确定。例如,食品生产企业上传的溯源数据的数据类型可以包括原料种类、原料产地、原料加工方式、加工时间、加工地点等。然后在各目标溯源子链的溯源数据发送节点的智能合约中,将该数据结构标识配置为溯源数据发送事件的关键字,以便其他区块链节点可以通过该关键字来获取目标对象的溯源数据。
在此基础上,每个目标溯源子链中可以先将更新后的数据结构标识和寻址逻辑发送至目标区块,进而可以通过目标区块接收各目标溯源子链发送的目标对象的溯源数据发送的数据结构标识和寻址逻辑。
溯源主链上的用户节点可以基于各目标溯源子链与目标对象的溯源数据发送的数据结构标识和寻址逻辑之间的关联关系,分别生成各目标溯源子链的溯源指令,并得到目标对象的溯源指令集合,以便于后续查询溯源数据时可以直接通过各目标溯源子链的溯源指令来快速获取溯源数据。
步骤140,基于目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息。
可以理解的是,可以从目标对象的溯源指令集合中分别针对各目标溯源参与方提取各自的溯源指令,并根据目标溯源参与方分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息。
步骤150,获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至用户。
可以理解的是,在获取到各目标溯源参与方对应的节点接收到的溯源信息后,可以将溯源信息组装打包后反馈至用户。
在一些实施例中,可以获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至用户,包括对各目标溯源参与方应的节点接收到的溯源信息按照时间戳进行排序和组装,生成溯源记录列表,将溯源记录列表反馈至用户,以便用户按照各流转方的时间顺序来查看溯源信息。
根据本发明实施例提供的一种基于区块链的数据溯源方法,通过根据用户需要溯源的目标对象的类型来确定出溯源主链上存储有目标对象的溯源指令集合的目标区块以及各目标溯源子链,进而根据目标区块中的溯源指令集合直接向所述溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息,进而直接方便地触发并定位获取各目标溯源子链中存储的目标对象的溯源信息,无需在海量的各目标溯源子链中筛选目标对象的信息,大大提高了对目标对象在不同目标溯源子链中进行溯源的效率。
在一些实施例中,获取各目标溯源参与方对应的节点接收到的溯源信息,包括以下过程。
可以先通过各目标溯源子链上的溯源数据发送节点监听各目标溯源参与方对应的节点发送的溯源信息请求信息。
基于各目标溯源子链上的溯源数据发送节点的智能合约,在通过各目标溯源子链上的溯源数据发送节点识别到各目标溯源子链生成目标对象的溯源数据发送的数据结构标识的情况下,通过各目标溯源子链上的溯源数据发送节点按照溯源信息请求信息中的寻址逻辑,确定目标对象在各目标溯源子链上的溯源数据。
可以理解的是,各目标溯源子链上的溯源数据发送节点的智能合约中配置有溯源数据发送事件的关键字,溯源数据发送事件的关键字为提前发送至溯源主链目标区块的数据结构标识。
各目标溯源子链上的溯源数据发送节点识别到各目标溯源子链生成目标对象的溯源数据发送的数据结构标识的情况下,通过各目标溯源子链上的溯源数据发送节点按照溯源信息请求信息中的寻址逻辑,确定目标对象在各目标溯源子链上的溯源数据。
通过各目标溯源子链上的溯源数据发送节点按照溯源信息请求信息中的寻址逻辑,确定目标对象在各目标溯源子链上的溯源数据,可以包括以下过程。
可以先确定目标对象对应的对象唯一标识符,基于目标对象的对象唯一标识符以及目标对象在各目标溯源子链上的寻址逻辑,确定目标对象在各目标溯源子链上的溯源初始区块。基于溯源初始区块的哈希值,逐步向前查找并验证各个连续的区块;从查找到目标对象的区块中提取溯源数据并进行分析,得到目标对象在各目标溯源子链上的溯源数据。
可以理解的是,每个对象都应该有一个唯一的对象唯一标识符,可以确定目标对象的对象唯一标识符。利用目标对象的对象唯一标识符,在区块链上找到对应的溯源初始区块,溯源初始区块记录了对象最早的相关信息,例如商品对象的制造参与方的生产日期、制造商等。进一步地,通过查询区块链,可以获得该溯源初始区块的哈希值。从溯源初始区块开始,根据每个区块中记录的前一个区块的哈希值,逐步向前查找并验证每个块。这样可以确保每个块的连续性和完整性,并且确定数据没有被篡改。通过这种方式,一直追溯到最新的区块,获取最近的最完整的溯源信息。
在找到相关对象的最新区块的情况下,可以提取其中的溯源数据进行分析可以筛选排查重复的信息,并对相同维度数据进行时间顺序上的更新,降低数据量。
在此基础上,通过各目标溯源子链上的溯源数据发送节点按照数据结构标识对应的数据结构将溯源数据发送至各目标溯源参与方对应的节点,进而便于溯源主链上的用户节点获取各目标溯源参与方对应的节点接收到的溯源信息。
下面对本发明提供的基于区块链的数据溯源系统进行描述,下文描述的基于区块链的数据溯源系统与上文描述的基于区块链的数据溯源方法可相互对应参照。
如图3所示,本发明实施例的一种基于区块链的数据溯源系统,主要包括第一处理模块310、第二处理模块320、第三处理模块330、第四处理模块340以及第五处理模块350。
第一处理模块310用于接收用户对目标对象的溯源请求,并基于溯源请求,确定目标对象的类型。
第二处理模块320用于基于目标对象的类型,确定目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及目标对象对应的目标区块;各目标溯源子链分别存储有目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据。
第三处理模块330用于基于目标对象的对象唯一标识符,从目标区块中确定目标对象的溯源指令集合;溯源指令集合至少包括从各目标溯源子链获取目标对象的溯源数据的数据结构标识和寻址逻辑。
第四处理模块340用于基于目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息。
第五处理模块350用于获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至用户。
根据本发明实施例提供的一种基于区块链的数据溯源系统,通过根据用户需要溯源的目标对象的类型来确定出溯源主链上存储有目标对象的溯源指令集合的目标区块以及各目标溯源子链,进而根据目标区块中的溯源指令集合直接向所述溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息,进而直接方便地触发并定位获取各目标溯源子链中存储的目标对象的溯源信息,无需在海量的各目标溯源子链中筛选目标对象的信息,大大提高了对目标对象在不同目标溯源子链中进行溯源的效率。
在一些实施例中,第三处理模块330还用于在各目标溯源子链的目标对象的溯源数据更新后,基于目标对象的溯源数据中的数据类型,通过各目标溯源子链生成目标对象的溯源数据发送的数据结构标识和寻址逻辑,并在各目标溯源子链的溯源数据发送节点的智能合约中将数据结构标识配置为溯源数据发送事件的关键字;通过目标区块接收各目标溯源子链发送的目标对象的溯源数据发送的数据结构标识和寻址逻辑;基于各目标溯源子链与目标对象的溯源数据发送的数据结构标识和寻址逻辑之间的关联关系,分别生成各目标溯源子链的溯源指令,并得到目标对象的溯源指令集合。
在一些实施例中,第三处理模块350还用于通过各目标溯源子链上的溯源数据发送节点监听各目标溯源参与方对应的节点发送的溯源信息请求信息;基于各目标溯源子链上的溯源数据发送节点的智能合约,在通过各目标溯源子链上的溯源数据发送节点识别到各目标溯源子链生成目标对象的溯源数据发送的数据结构标识的情况下,通过各目标溯源子链上的溯源数据发送节点按照溯源信息请求信息中的寻址逻辑,确定目标对象在各目标溯源子链上的溯源数据;通过各目标溯源子链上的溯源数据发送节点按照数据结构标识对应的数据结构将溯源数据发送至各目标溯源参与方对应的节点;获取各目标溯源参与方对应的节点接收到的溯源信息。
在一些实施例中,第三处理模块350还用于确定目标对象对应的对象唯一标识符;基于目标对象的唯一标识以及目标对象在各目标溯源子链上的寻址逻辑,确定目标对象在各目标溯源子链上的溯源初始区块;基于溯源初始区块的哈希值,逐步向前查找并验证各个连续的区块;从查找到目标对象的区块中提取溯源数据并进行分析,得到目标对象在各目标溯源子链上的溯源数据。
在一些实施例中,第三处理模块350还用于对各目标溯源参与方应的节点接收到的溯源信息按照时间戳进行排序和组装,生成溯源记录列表;将溯源记录列表反馈至用户。
在一些实施例中,第二处理模块320还用于基于溯源请求,确定目标对象的交易时间;基于目标对象的类型以及交易时间,确定目标区块对应的区块高度范围;在目标区块对应的区块高度范围内的区块中根据目标对象的对象唯一标识符,确定目标区块。
在一些实施例中,第一处理模块310还用于确定目标对象对应的对象唯一标识符;基于目标对象对应的对象唯一标识符,从对象类型表中查找目标对象的类型;对象类型表是对各对象在各环节的各溯源参与方进行统计得到的。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行基于区块链的数据溯源方法,该方法包括:接收用户对目标对象的溯源请求,并基于溯源请求,确定目标对象的类型;基于目标对象的类型,确定目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及目标对象对应的目标区块;各目标溯源子链分别存储有目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;基于目标对象的对象唯一标识符,从目标区块中确定目标对象的溯源指令集合;溯源指令集合至少包括从各目标溯源子链获取目标对象的溯源数据的数据结构标识和寻址逻辑;基于目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至用户。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于区块链的数据溯源方法,该方法包括:接收用户对目标对象的溯源请求,并基于溯源请求,确定目标对象的类型;基于目标对象的类型,确定目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及目标对象对应的目标区块;各目标溯源子链分别存储有目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;基于目标对象的对象唯一标识符,从目标区块中确定目标对象的溯源指令集合;溯源指令集合至少包括从各目标溯源子链获取目标对象的溯源数据的数据结构标识和寻址逻辑;基于目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至用户。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于区块链的数据溯源方法,该方法包括:接收用户对目标对象的溯源请求,并基于溯源请求,确定目标对象的类型;基于目标对象的类型,确定目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及目标对象对应的目标区块;各目标溯源子链分别存储有目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;基于目标对象的对象唯一标识符,从目标区块中确定目标对象的溯源指令集合;溯源指令集合至少包括从各目标溯源子链获取目标对象的溯源数据的数据结构标识和寻址逻辑;基于目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至用户。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于区块链的数据溯源方法,其特征在于,应用于溯源主链上的用户节点,所述方法包括:
接收用户对目标对象的溯源请求,并基于所述溯源请求,确定所述目标对象的类型;
基于所述目标对象的类型,确定所述目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及所述目标对象对应的目标区块;各目标溯源子链分别存储有所述目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;
基于所述目标对象的对象唯一标识符,从所述目标区块中确定所述目标对象的溯源指令集合;所述溯源指令集合至少包括从各目标溯源子链获取所述目标对象的溯源数据的数据结构标识和寻址逻辑;
基于所述目标对象的溯源指令集合,分别向所述溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;
获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至所述用户。
2.根据权利要求1所述的基于区块链的数据溯源方法,其特征在于,所述目标对象的溯源指令集合通过以下方式确定:
在各目标溯源子链的目标对象的溯源数据更新后,基于所述目标对象的溯源数据中的数据类型,通过各目标溯源子链生成所述目标对象的溯源数据发送的数据结构标识和寻址逻辑,并在各目标溯源子链的溯源数据发送节点的智能合约中将所述数据结构标识配置为溯源数据发送事件的关键字;
通过所述目标区块接收各目标溯源子链发送的所述目标对象的溯源数据发送的数据结构标识和寻址逻辑;
基于各目标溯源子链与所述目标对象的溯源数据发送的数据结构标识和寻址逻辑之间的关联关系,分别生成各目标溯源子链的溯源指令,并得到所述目标对象的溯源指令集合。
3.根据权利要求2所述的基于区块链的数据溯源方法,其特征在于,所述获取各目标溯源参与方对应的节点接收到的溯源信息,包括:
通过所述各目标溯源子链上的溯源数据发送节点监听各目标溯源参与方对应的节点发送的溯源信息请求信息;
基于各目标溯源子链上的溯源数据发送节点的智能合约,在通过各目标溯源子链上的溯源数据发送节点识别到各目标溯源子链生成所述目标对象的溯源数据发送的数据结构标识的情况下,通过各目标溯源子链上的溯源数据发送节点按照所述溯源信息请求信息中的寻址逻辑,确定所述目标对象在各目标溯源子链上的溯源数据;
通过各目标溯源子链上的溯源数据发送节点按照所述数据结构标识对应的数据结构将溯源数据发送至各目标溯源参与方对应的节点;
获取各目标溯源参与方对应的节点接收到的溯源信息。
4.根据权利要求3所述的基于区块链的数据溯源方法,其特征在于,所述通过各目标溯源子链上的溯源数据发送节点按照所述溯源信息请求信息中的寻址逻辑,确定所述目标对象在各目标溯源子链上的溯源数据,包括:
确定所述目标对象对应的对象唯一标识符;
基于所述目标对象的对象唯一标识符以及所述目标对象在各目标溯源子链上的寻址逻辑,确定所述目标对象在各所述目标溯源子链上的溯源初始区块;
基于所述溯源初始区块的哈希值,逐步向前查找并验证各个连续的区块;
从查找到所述目标对象的区块中提取溯源数据并进行分析,得到所述目标对象在各目标溯源子链上的溯源数据。
5.根据权利要求1所述的基于区块链的数据溯源方法,其特征在于,所述获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至所述用户,包括:
对各目标溯源参与方应的节点接收到的溯源信息按照时间戳进行排序和组装,生成溯源记录列表;
将所述溯源记录列表反馈至所述用户。
6.根据权利要求1所述的基于区块链的数据溯源方法,其特征在于,所述目标对象对应的目标区块通过以下方式确定:
基于所述溯源请求,确定所述目标对象的交易时间;
基于所述目标对象的类型以及交易时间,确定所述目标区块对应的区块高度范围;区块高度用于表示区块在整个区块链中的相对位置,所述目标区块对应的区块高度范围为所述目标区块在溯源主链中相对位置的范围;
在所述目标区块对应的区块高度范围内的区块中根据所述目标对象的对象唯一标识符,确定所述目标区块。
7.根据权利要求1所述的基于区块链的数据溯源方法,其特征在于,所述接收用户对目标对象的溯源请求,并基于所述溯源请求,确定所述目标对象的类型,包括:
确定所述目标对象对应的对象唯一标识符;
基于所述目标对象对应的对象唯一标识符,从对象类型表中查找所述目标对象的类型;所述对象类型表是对各对象在各环节的各溯源参与方进行统计得到的。
8.一种基于区块链的数据溯源系统,其特征在于,包括:
第一处理模块,用于接收用户对目标对象的溯源请求,并基于所述溯源请求,确定所述目标对象的类型;
第二处理模块,用于基于所述目标对象的类型,确定所述目标对象在各个环节的目标溯源参与方、各目标溯源参与方分别对应的各目标溯源子链以及所述目标对象对应的目标区块;各目标溯源子链分别存储有所述目标对象在各目标溯源子链对应的目标溯源参与方的溯源数据;
第三处理模块,用于基于所述目标对象的对象唯一标识符,从所述目标区块中确定所述目标对象的溯源指令集合;所述溯源指令集合至少包括从各目标溯源子链获取所述目标对象的溯源数据的数据结构标识和寻址逻辑;
第四处理模块,用于基于所述目标对象的溯源指令集合,分别向溯源主链上的各目标溯源参与方对应的节点发送溯源信息请求信息;
第五处理模块,用于获取各目标溯源参与方对应的节点接收到的溯源信息,并将接收到的溯源信息反馈至所述用户。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于区块链的数据溯源方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于区块链的数据溯源方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311445590.4A CN117171236B (zh) | 2023-11-02 | 2023-11-02 | 一种基于区块链的数据溯源方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311445590.4A CN117171236B (zh) | 2023-11-02 | 2023-11-02 | 一种基于区块链的数据溯源方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117171236A true CN117171236A (zh) | 2023-12-05 |
CN117171236B CN117171236B (zh) | 2024-02-06 |
Family
ID=88937888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311445590.4A Active CN117171236B (zh) | 2023-11-02 | 2023-11-02 | 一种基于区块链的数据溯源方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171236B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112070516A (zh) * | 2020-09-18 | 2020-12-11 | 北京京东振世信息技术有限公司 | 产品的溯源方法、装置和区块链系统 |
CN113506117A (zh) * | 2021-07-15 | 2021-10-15 | 上海海洋大学 | 一种水产品区块链溯源优化系统及方法 |
CN114490808A (zh) * | 2021-12-29 | 2022-05-13 | 深圳供电局有限公司 | 数据溯源方法、装置、计算机设备和存储介质 |
CN115150413A (zh) * | 2022-05-20 | 2022-10-04 | 网易(杭州)网络有限公司 | 区块链数据的存储方法、装置、电子设备及存储介质 |
CN115776501A (zh) * | 2022-11-23 | 2023-03-10 | 杭州趣链科技有限公司 | 区块链系统架构、管理方法、电子设备及可读存储介质 |
WO2023040363A1 (zh) * | 2021-09-16 | 2023-03-23 | 中国信息通信研究院 | 跨链交易有序执行方法和跨链系统 |
CN115994770A (zh) * | 2022-06-27 | 2023-04-21 | 北京工商大学 | 一种基于主从多链的粮食区块链信息溯源方法 |
CN116366676A (zh) * | 2023-03-22 | 2023-06-30 | 长春工业大学 | 面向畜牧产品全过程的多链决策反馈共识方法 |
CN116483919A (zh) * | 2023-04-14 | 2023-07-25 | 中国工商银行股份有限公司 | 溯源数据上链、溯源数据查询方法、装置、设备和介质 |
CN116561231A (zh) * | 2023-07-10 | 2023-08-08 | 北京银联金卡科技有限公司 | 一种基于分链技术的联盟链数据处理方法 |
US20230316273A1 (en) * | 2021-08-23 | 2023-10-05 | Tencent Technology (Shenzhen) Company Limited | Data processing method and apparatus, computer device, and storage medium |
-
2023
- 2023-11-02 CN CN202311445590.4A patent/CN117171236B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112070516A (zh) * | 2020-09-18 | 2020-12-11 | 北京京东振世信息技术有限公司 | 产品的溯源方法、装置和区块链系统 |
CN113506117A (zh) * | 2021-07-15 | 2021-10-15 | 上海海洋大学 | 一种水产品区块链溯源优化系统及方法 |
US20230316273A1 (en) * | 2021-08-23 | 2023-10-05 | Tencent Technology (Shenzhen) Company Limited | Data processing method and apparatus, computer device, and storage medium |
WO2023040363A1 (zh) * | 2021-09-16 | 2023-03-23 | 中国信息通信研究院 | 跨链交易有序执行方法和跨链系统 |
CN114490808A (zh) * | 2021-12-29 | 2022-05-13 | 深圳供电局有限公司 | 数据溯源方法、装置、计算机设备和存储介质 |
CN115150413A (zh) * | 2022-05-20 | 2022-10-04 | 网易(杭州)网络有限公司 | 区块链数据的存储方法、装置、电子设备及存储介质 |
CN115994770A (zh) * | 2022-06-27 | 2023-04-21 | 北京工商大学 | 一种基于主从多链的粮食区块链信息溯源方法 |
CN115776501A (zh) * | 2022-11-23 | 2023-03-10 | 杭州趣链科技有限公司 | 区块链系统架构、管理方法、电子设备及可读存储介质 |
CN116366676A (zh) * | 2023-03-22 | 2023-06-30 | 长春工业大学 | 面向畜牧产品全过程的多链决策反馈共识方法 |
CN116483919A (zh) * | 2023-04-14 | 2023-07-25 | 中国工商银行股份有限公司 | 溯源数据上链、溯源数据查询方法、装置、设备和介质 |
CN116561231A (zh) * | 2023-07-10 | 2023-08-08 | 北京银联金卡科技有限公司 | 一种基于分链技术的联盟链数据处理方法 |
Non-Patent Citations (2)
Title |
---|
TARUN KUMAR AGRAWAL 等: "Blockchain-based framework for supply chain traceability: A case example of textile and clothing industry", 《COMPUTERS & INDUSTRIAL ENGINEERING》, vol. 154, pages 1 - 12 * |
陈明 等: "基于区块链的河豚供应链可信溯源优化研究", 《农业机械学报》, vol. 53, no. 9, pages 295 - 304 * |
Also Published As
Publication number | Publication date |
---|---|
CN117171236B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034809B (zh) | 区块链的生成方法、装置、区块链节点及存储介质 | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN109034849B (zh) | 基于区块链的农产品信息溯源验证方法及系统 | |
CN108460598A (zh) | 一种基于双链架构区块链的实时自动化监管报告系统 | |
CN111429995B (zh) | 基于联盟链的疫苗追溯方法及系统 | |
CN113157733A (zh) | 一种面向多链数据关联性的高效溯源查询方法 | |
CN106844730B (zh) | 文件内容的显示方法及装置 | |
CN112148343B (zh) | 规则发布方法、装置及终端设备 | |
CN110956269A (zh) | 数据模型的生成方法、装置、设备以及计算机存储介质 | |
CN109784956B (zh) | 基于区块链技术的农产品溯源方法 | |
CN111813788A (zh) | 信息的查询方法和装置、信息的同步方法和装置 | |
CN114386986A (zh) | 一种产品全生命周期数据的追溯平台 | |
CN110378793A (zh) | 数据管理方法、装置、计算机设备和存储介质 | |
CN113157315A (zh) | 一种软件不同版本的差异信息识别方法、装置、设备及介质 | |
CN107463596B (zh) | 针对设置链外勘误表的区块链并行查询方法及系统 | |
CN113672692B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Ali et al. | A hybrid DevOps process supporting software reuse: A pilot project | |
CN114363002B (zh) | 一种网络攻击关系图的生成方法及装置 | |
CN112528323B (zh) | 一种数据处理方法和装置 | |
CN117171236B (zh) | 一种基于区块链的数据溯源方法及系统 | |
CN114138877A (zh) | 基于微服务架构的主题数据服务实现方法、装置及设备 | |
CN117493370A (zh) | 数据获取方法、装置、设备、可读存储介质及程序产品 | |
CN116596551A (zh) | 基于区块链的供应链产品溯源方法、存储介质和电子设备 | |
CN113849520B (zh) | 异常sql的智能识别方法、装置、电子设备及存储介质 | |
CN109032578B (zh) | 基于数据库sql代码生成方法及系统 |
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 |