CN108769154B - 基于有向无环图和分布式账本的数据存储方法 - Google Patents
基于有向无环图和分布式账本的数据存储方法 Download PDFInfo
- Publication number
- CN108769154B CN108769154B CN201810462696.8A CN201810462696A CN108769154B CN 108769154 B CN108769154 B CN 108769154B CN 201810462696 A CN201810462696 A CN 201810462696A CN 108769154 B CN108769154 B CN 108769154B
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- acyclic graph
- directed acyclic
- vertex
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000013500 data storage Methods 0.000 title claims abstract description 36
- 238000012795 verification Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 125000002015 acyclic group Chemical group 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于有向无环图和分布式账本的数据存储方法,包括:根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。本发明提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于有向无环图和分布式账本的数据存储方法。
背景技术
目前,分布式账本技术应用于数据溯源的潜力受到越来越多的认可和关注,尤其是在产品数据溯源领域。采用分布式账本技术进行产品数据溯源,可实现网络成员节点之间共享、复制和同步产品数据,其中一个网络成员节点将产生的产品数据存储到分布式账本中,并在其他网络成员节点进行同步,使其他有权限的网络成员节点都能够读取产品数据,保证数据唯一和防篡改,消除产品从生产、加工、分销商最后到达消费者的过程中各企业或个人间的不信任壁垒,提高信息流通及交易效率。
现有技术中,分布式账本技术都是基于区块链结构。区块链由所组成的区块通过链式结构连接而成,每个区块包括产生时间、当前区块根哈希值、前一区块根哈希值和所包含的交易记录。基于区块链的产品信息溯源***中,产品溯源信息添加方法为,产品的溯源信息根据产品的流通顺序被依次添加入区块链中,产品的一个环节信息添加入到区块链的一个区块,作为区块中的一笔交易。在将产品信息加入区块链的同时,会为产品生成唯一的ID,同时将唯一ID也作为产品的详细信息被添加到区块链的一个区块中。产品溯源信息查询步骤中,在区块链中查询产品的详细信息,并确认产品的ID的唯一性。各个区块链参与者都持有全部区块链,任何参与者添加的新的合理交易信息都会被同步到其他参与者所持有的区块链中。同样参与者也能在区块链中查看别的参与者所添加的产品信息,实现溯源目的。
但是,基于区块链结构分布式账本的数据存储方法,单个区块所能储存的数据有限且无法扩展,在单个区块所储存的信息已经达到上限的情况下,剩余的数据信息必须排队等到下个区块产生才能被添加上链。实际应用中,所需要记录的产品数据的数量巨大,产品流通环节复杂,大量的产品数据信息需要被记录入区块,如果产品信息不能被及时添加入区块,会一直处于排队并堆积,最终造成区块链网络的拥堵。
发明内容
本发明的目的是提供一种基于有向无环图和分布式账本的数据存储方法,解决了现有技术中分布式账本数据存储耗时较长、并出现网络拥堵的技术问题。
为了解决上述技术问题,一方面,本发明提供一种基于有向无环图和分布式账本的数据存储方法,包括:
根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
另一方面,本发明提供一种有向无环图和分布式账本的数据存储装置,包括:
顶点生成模块,用于根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
存储模块,用于将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
再一方面,本发明提供一种用于基于有向无环图和分布式账本的数据存储的电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。
附图说明
图1为依照本发明实施例的基于有向无环图和分布式账本的数据存储方法;
图2为依照本发明实施例的产品溯源***的功能分层示意图;
图3为依照本发明实施例的分布式账本采用的有向无环图的结构示意图;
图4为依照本发明实施例的有向无环图中交易事务内容示意图;
图5为依照本发明实施例的产品溯源***中存储产品信息的流程图;
图6为依照本发明实施例的产品溯源***中读取产品信息的流程图;
图7为依照本发明实施例的基于有向无环图和分布式账本的数据存储装置;
图8为本发明实施例提供的用于基于有向无环图和分布式账本的数据存储的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为依照本发明实施例的基于有向无环图和分布式账本的数据存储方法,如图1所示,本发明实施例提供一种基于有向无环图和分布式账本的数据存储方法,其执行主体为基于有向无环图和分布式账本的数据存储装置,该装置可以设置于任何一个网络成员节点中。所述方法包括:
步骤S101、根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
步骤S102、将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
具体的,本发明实施例所提供的分布式账本技术中,一个网络中有多个网络成员节点,每个网络成员节点分别持有一个分布式账本,该分布式账本的结构为有向无环图结构,即以有向无环图的结构将数据存储到分布式账本中。有权限的网络成员节点可以将产生的数据存储到所持有的分布式账本中,并且对分布式账本进行更新,同时将更新后的分布式账本在其他网络成员节点之间进行同步,以实现分布式账本中数据的共享,有权限的网络成员节点可以根据权限查询同步后的分布式账本中的数据。其中,存储到分布式账本中的数据,可以是一个交易事务,也可以是一个交易事务中的一步操作,还可以是产品生产、销售过程中的一个环节的数据等。网络成员节点的用户可以是任何一次交易过程、产品生产过程和销售过程等中的参与者,例如,可以是交易人、产品生产商、产量分销商、物流公司和消费者等。
首先,该方法需要获取待存储数据,在同一时刻如果有若干个待存储数据需要存储,可以同时获取若干个待存储数据,并根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应。
然后,将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。这样就保证,在任意时刻产生的待存储都能被及时地存储到分布式账本中,待存储的数据以有向无环图的结构被存储到分布式账本中,一个待存储数据与一个有向无环图顶点对应,即使在同一时刻有多个待存储数据需要存储,只需要新建多个有向无环图顶点,分别与多个待存储数据一一对应,可以有效的避免数据存储时的冲突。
本发明实施例提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。
在上述实施例的基础上,进一步地,每一待存储数据至少包含时间戳和数据详情两部分,其中,时间戳为待存储数据产生的时间,数据详情为待存储数据的具体内容。
具体的,每一待存储数据至少包含时间戳和数据详情两部分,其中,时间戳为待存储数据产生的时间,以便根据时间戳的先后顺序建立有向无环图,防止数据存储时发生冲突。数据详情为待存储数据的具体内容。以方便用户通过网络成员节点查询分布式账本中数据的具体内容。数据详情包含但不限于交易信息、产品加工信息,产品唯一识别编号、质检认证信息、生产负责人ID、产品特征描述、产品发货信息和配送物流信息等。
本发明实施例提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。
在以上各实施例的基础上,进一步地,所述在同一时刻获取到的若干个待存储数据中的每一待存储数据均为通过验证后的待存储数据,验证方法如下:
判断目标待存储数据是否与所述分布式账本中任一数据存在冲突;
若判断获知所述目标待存储数据与所述分布式账本中任一数据都不冲突,则所述目标待存储数据为通过验证后的待存储数据。
具体的,在对数据进行存储之前,需要对待存储数据进行验证,只有通过验证的数据才会被存储。具体验证方法如下:
判断目标待存储数据是否与分布式账本中任一数据存在冲突,若判断获知目标待存储数据与分布式账本中任一数据都不冲突,则目标待存储数据为通过验证后的待存储数据,若判断获知目标待存储数据与分布式账本中任一数据存在冲突,则目标待存储数据验证不通过。
例如,在一个交易应用场景中,若待存储数据为交易数据,某一用户通过网络成员节点将某一笔资金已经花销出去,并记录到了分布式账本中,该用户想再次花销这笔资金并记录到分布式账本中,前后这两次花销的数据存储会发生冲突,那么后一次花销的数据将不会被验证通过。再例如,在一个产品流通应用场景中,产品生产商将一件产品的性能描述信息,记录到分布式账本中,物流公司和购买者等其他网络成员节点的用户,通过共享的分布式账本能够读取到该产品的性能描述信息。后期,该产品若出现质量问题,生产商想更改原始的产品性能描述信息,来推卸责任,则新的产品性能描述信息与记录到分布式账本中的原始产品性能描述信息就会发生冲突,新的产品性能描述信息将不会被验证通过。
本发明实施例提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。同时,通过数据存储验证,能够确保数据的唯一和防篡改。
在以上各实施例的基础上,进一步地,所述在同一时刻获取到的若干个待存储数据中的每一待存储数据均为经过加密后的数据,加密方式为对称加密或者非对称加密。
具体的,为了防止数据被网络成员节点中无关的节点获取,需要对待存储数据进行加密,加密的方式为对称加密或者非对称加密。
对称加密方法即所有网络成员节点采用同一个加密密钥,所有网络成员节点均可以通过密钥查看其它网络成员节点所添加数据的全部内容,无关的网络成员节点因为没有所述密钥即便得到分布式账本中的数据也无法解析出数据内容。非对称加密方式即所有网络成员节点均获得一个公钥和私钥,公钥对所有网络成员节点开放,可以对产品信息进行加密,私钥决定该网络成员节点的数据读取权限,根据私钥权限查看数据内容。
本发明实施例提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。同时,通过对数据进行加密,够确保数据的唯一和防篡改。
在以上各实施例的基础上,进一步地,所述将有向无环图中每一顶点对应的待存储数据存储到分布式账本中之后,还包括:
将所述分布式账本同步到其他网络成员节点中。
具体的,任一一个网络成员节点把经过加密并且经过验证后的待存储数据存储到其所持有的分布式账本中以后,会立即同步到其他网络成员节点所持有的分布式账本中。以实现账本中数据的共享,有权限的网络成员节点可以根据权限查询同步后的分布式账本中的数据。即便对单一网络成员节点的分布式账本中的存储的历史数据进行篡改,因为其余网络成员节点中还存有正确的数据信息,被篡改的数据将不会被承认,所以添加到分布式账本中的产品信息可以做到唯一和不可篡改。
本发明实施例提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。同时,通过将分布式账本在网络成员节点间进行同步,够确保数据的唯一和防篡改。
在以上各实施例的基础上,进一步地,所述将有向无环图中每一顶点对应的待存储数据存储到分布式账本中之后,还包括:
根据获取到的用户的账户信息,读取所述分布式账本中存储的数据。
具体的,分布式账本在网络成员节点间进行同步以后,用户通过任何一个网络成员节点都可以根据自己的权限读取分布式账本中存储的对应的数据。用户的账户信息与用户的访问权限相对应,即拥有不同访问权限的用户,能够获取的数据解析秘钥不同,能够读取到的分布式账本中的数据也不同。
在读取分布式账本中的数据的过程中,用户首先要登录自己的账户信息,***根据账户信息获取相应的数据解析秘钥,然后获取待读取的数据,利用数据解析秘钥对待读取的数据进行解析,从而读取数据的详细内容。
本发明实施例提供的基于有向无环图和分布式账本的数据存储方法,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。同时,用户可通过任何一个网络成员节点根据自己的权限读取分布式账本中存储的对应的数据。
下面以产品溯源这一具体应用为例,详细说明基于有向无环图和分布式账本的数据存储方法。具体如下:
产品溯源***可以实现产品信息的采集,录入和查询功能,图2为依照本发明实施例的产品溯源***的功能分层示意图,如图2所示,产品溯源***从功能上可以分为应用层,网络层,数据层和物理层,其中,基于有环无环图的分布式账本技术应用于数据层和通信层。
物理层主要包括物联网传感器,负责采集产品流通过程中的产品信息,并将信息通过网络层转发到数据层,主要收集的产品数据包括温度、湿度、气压和产品的规格参数等。
网络层主要包括网络结构和协议,主要负责传感器上传传感数据的通信协议(例如蓝牙,Zigbee和Lora等传统物联网通信协议)、分布式账本节点之间的同步通信(P2P协议)、消费者向溯源***进行溯源请求的通信协议(Http)。
数据层主要指记录产品信息的数据库,本***主要由有向无环图结构分布式账本承担储存功能。有向无环图中每条交易事务中都只包含产品某一阶段的信息数据,交易事务由负责该阶段的网络成员节点发送,交易一旦被添加入有向无环图中并得到验证,会立即同步到其他网络成员节点的有向无环图中。即便对单一节点中的历史交易记录进行篡改,因为其余节点中还存有正确的交易信息,将不会被承认,所以添加到分布式账本中的产品信息可以做到唯一和不可篡改。
应用层主要负责给组织或个人提供访问分布式账本的接口和应用,服务对象主要包括产品的生产商、分销商和缴费者。
产品溯源***的物理层采集到产品信息后,通过网络层将产品信息转发至数据层进行储存,由应用层向溯源过程中的所有参与者提供接口,使其通过网络层访问数据层,进行产品溯源信息数据的访问。
图3为依照本发明实施例的分布式账本采用的有向无环图的结构示意图,如图3所示,交易事务的时间顺序由左到右排列,在有向无环图中,不存在区块的概念,所有的交易记录以独立的交易事务的形式直接被添加入有向无环图中,所有的交易事务构成了有向无环图的集合。网络成员节点如果让一笔新的交易事务被添加入有向无环图,必须先验证有向无环图中的两笔随机交易事务,验证通过后形成有向无环图中新的有向边,新旧交易事务之间验证关系通过有向边来表示;所述验证过程中网络成员节点检查所验证交易是否与有向无环图中其他交易存在冲突,如果发现交易冲突,网络成员节点将不会通过验证。随着交易不断的增加,得到验证少交易将不会被分布式账本***所承认。
图4为依照本发明实施例的有向无环图中交易事务内容示意图,本发明实施例中有向无环图为81位哈希值有向无环图,如图4所示,主每一交易事务主要包含交易的产生时间(时间戳)、当前交易事务的哈希值、所验证的第一个先前交易事务的哈希值、所验证的第二个先前交易事务的哈希值和交易信息详情,交易信息详情包括交易的接受账户地址,发起账户地址,交易附加消息。
但是注意,在向无环图结构的分布式账本无法直接检索交易信息详情,必须通过当前交易事务的哈希值或者交易涉及的账户地址检索到符合检索值的所有交易。
所述产品信息在记录到有向无环图中之前会先获取产品的唯一标示编号(例如通过条码、RFIC等),将产品信息与编号一同发送至分布式节点。分布式节点收到编号会先确认账本是否已为该产品创建检索编号,如果没有,则先为产品注册检索编号;如果有,则为检索编号增加新的产品信息。。为了防止产品信息被分布式账本中其他无关人员获取,节点会对交易信息详情(即产品信息)进行加密。
根据溯源功能需求,加密可选择对称加密和非对称加密方法。对称加密方法即所有参与溯源过程的参与者采用同一个加密密钥,所有参与者均可以通过密钥查看其它用户所添加溯源信息的全部内容,非溯源参与者因为没有所述密钥即便得到有向无环图中消息也无法获得溯源内容。非对称加密方式即所有参与溯源过程的参与者均获得一个公钥和私钥,公钥对所有参与者开放,可以对产品信息进行加密,私钥决定该用户的信息读取权限,据私钥权限查看溯源内容数据。
在所述基于有向无环图产品分布式账本的产品溯源***中,所涉及的参与者都在分布式账本中注册唯一的账户,从职责功能上参与者分为以下几类:
1、产品生产商:负责生产产品,记录产品的生产数据。数据来源主要通过传感器采集,数据包括但不限于产品加工信息,产品唯一识别编号、质检认证信息、生产负责人ID、产品特征描述等。
2、产品分销商:负责将产品销售给消费者,记录产品的销售数据,包括但不限于产品发货信息、配送物流信息等。
3、消费者:从经销商购买产品,具有访问产品特定信息的权限。平时只能查看产品的销售物流信息,产品发生安全问题后,可以访问关键的生产信息。
图5为依照本发明实施例的产品溯源***中存储产品信息的流程图,如图5所示,产品溯源***中存储产品信息的流程步骤包括:
1、生产商A在分布式账本中注册账户,成为分布式账本中的一个完整网络成员节点。
2、生产商A接收传感器数据和产品编号。
3、生产商A通过在分布式账本检索特定某一特定收件地址,得到有向无环图中所有已注册的产品编号和对应的检索编号。
4、生产商A检查账本中是否已存在产品编号对应的检索编号,如果存在则执行步骤5,否则,生成唯一的检索编号。
5、生产商A对有向无环图中两笔最新随机交易进行验证,如果验证通过,则执行步骤6,否则继续寻找其他交易进行验证。
6、生产商A以检索编号为交易接收地址发送一笔新的交易事务,交易附加信息为加密后的传感器数据和产品编号,交易事务填入所验证的两笔交易的Hash值。
7、生产商A发起的交易被其他节点验证通过,产品信息上传完成。
图6为依照本发明实施例的产品溯源***中读取产品信息的流程图,如图5所示,产品溯源***中读取产品信息的流程步骤包括:
1、消费者B在分布式账本中注册账户,通过电商平台(账本节点之一)访问分布式账本。
2、消费者得到产品编号对应的检索编号和可以访问部分产品信息的私钥。
3、消费者B中分布式账本检索交易接收地址为检索编号的交易事务,得到加密后的信息数据。
4、消费者B通过私钥解析加密数据。
5、得到产品的销售物流信息。
本发明实施例提供的有向无环图结构分布式账本技术的产品数据溯源方法,利用分布式账本技术保证数据唯一和防篡改,消除产品从生产、加工、分销商最后到达消费者的过程中各企业或个人间的不信任壁垒,提高了信息流通及交易效率。采用有向无环图形式的账本结构,原先区块链结构账本在高频次信息录入情况下出现堵塞交易确认慢的问题。账本中的产品信息经过非对称加密方式,保证了产品信息的安全不被外泄。
图7为依照本发明实施例的基于有向无环图和分布式账本的数据存储装置,如图7所示,本发明实施例提供一种基于有向无环图和分布式账本的数据存储装置,用于完成上述实施例中所述的方法,具体包括顶点生成模块701和存储模块702,其中,
顶点生成模块701用于根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
存储模块702用于将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
本发明实施例提供一种基于有向无环图和分布式账本的数据存储装置,用于完成上述实施例中所述的方法,通过本实施例提供的装置完成上述实施例中所述的方法的具体步骤与上述实施例相同,此处不再赘述。
本发明实施例提供的基于有向无环图和分布式账本的数据存储装置,通过将在同一时刻获取到的若干个待存储数据,按照有向无环图的结构,实现高效地存入分布式账本中,并能够从分布式账本中查询到相关数据的全部信息,满足高频次、海量的数据溯源需求。
图8为本发明实施例提供的用于基于有向无环图和分布式账本的数据存储的电子设备的结构示意图,如图8所示,所述设备包括:处理器801、存储器802和总线803;
其中,处理器801和存储器802通过所述总线803完成相互间的通信;
处理器801用于调用存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;
将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种数据存储方法,其特征在于,包括:
根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;所述在同一时刻获取到的若干个待存储数据中的每一待存储数据均为通过验证后的待存储数据,每一新建的有向无环图顶点分别与有向无环图中的两个随机的顶点之间建立新的有向边,新旧顶点之间的验证关系通过有向边来表示;
将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
2.根据权利要求1所述的方法,其特征在于,每一待存储数据至少包含时间戳和数据详情,其中,时间戳为待存储数据产生的时间,数据详情为待存储数据的具体内容。
3.根据权利要求1所述的方法,其特征在于,对待存储数据进行验证方法如下:
判断目标待存储数据是否与所述分布式账本中任一数据存在冲突;
若判断获知所述目标待存储数据与所述分布式账本中任一数据都不冲突,则所述目标待存储数据为通过验证后的待存储数据。
4.根据权利要求1所述的方法,其特征在于,所述在同一时刻获取到的若干个待存储数据中的每一待存储数据均为经过加密后的数据,加密方式为对称加密或者非对称加密。
5.根据权利要求1所述的方法,其特征在于,所述将有向无环图中每一顶点对应的待存储数据存储到分布式账本中之后,还包括:
将所述分布式账本同步到其他网络成员节点中。
6.根据权利要求1所述的方法,其特征在于,所述将有向无环图中每一顶点对应的待存储数据存储到分布式账本中之后,还包括:
根据获取到的用户的账户信息,读取所述分布式账本中存储的数据。
7.一种数据存储装置,其特征在于,包括:
顶点生成模块,用于根据在同一时刻获取到的若干个待存储数据,新建若干个有向无环图顶点,待存储数据的数量和新建的有向无环图顶点的数量相同,一个待存储数据与一个有向无环图顶点对应;所述在同一时刻获取到的若干个待存储数据中的每一待存储数据均为通过验证后的待存储数据,每一新建的有向无环图顶点分别与有向无环图中的两个随机的顶点之间建立新的有向边,新旧顶点之间的验证关系通过有向边来表示;
存储模块,用于将有向无环图中每一顶点对应的待存储数据存储到分布式账本中。
8.一种用于数据存储的电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462696.8A CN108769154B (zh) | 2018-05-15 | 2018-05-15 | 基于有向无环图和分布式账本的数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810462696.8A CN108769154B (zh) | 2018-05-15 | 2018-05-15 | 基于有向无环图和分布式账本的数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108769154A CN108769154A (zh) | 2018-11-06 |
CN108769154B true CN108769154B (zh) | 2021-01-01 |
Family
ID=64007727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810462696.8A Expired - Fee Related CN108769154B (zh) | 2018-05-15 | 2018-05-15 | 基于有向无环图和分布式账本的数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769154B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111225008B (zh) * | 2018-11-27 | 2021-09-21 | 北京新唐思创教育科技有限公司 | 学迹信息保存方法、***、终端和计算机程序 |
DE102018221740A1 (de) | 2018-12-14 | 2020-06-18 | Volkswagen Aktiengesellschaft | Verfahren, Vorrichtung und Computerprogramm für ein Fahrzeug |
CN109672733B (zh) * | 2018-12-20 | 2022-06-07 | 众安信息技术服务有限公司 | 基于dag的区块链的账本同步方法及设备 |
CN109561100B (zh) * | 2018-12-24 | 2021-02-12 | 浙江天脉领域科技有限公司 | 基于分布式与人工智能的双工赋能网络攻防的方法及*** |
CN113287110A (zh) * | 2019-01-23 | 2021-08-20 | 株式会社斯凯拉 | 具有篡改检测性的数据管理*** |
CN109783699B (zh) * | 2019-01-29 | 2023-07-21 | 众安信息技术服务有限公司 | 用于监控区块链网络的分布式账本的方法和装置 |
CN109857924A (zh) * | 2019-02-28 | 2019-06-07 | 重庆科技学院 | 一种大数据分析监察信息处理***及方法 |
CN111861459A (zh) * | 2019-04-28 | 2020-10-30 | 常州一仙智能科技有限公司 | 一种基于DPoS共识算法的Iota账本优化***及方法 |
CN110362633B (zh) * | 2019-07-23 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 区块数据存储方法、装置、计算机设备及存储介质 |
CN110580307B (zh) * | 2019-08-09 | 2021-09-24 | 北京大学 | 一种快速统计的处理方法及装置 |
CN110489460B (zh) * | 2019-08-09 | 2021-09-24 | 北京大学 | 一种快速统计的优化方法及*** |
CN113516557B (zh) * | 2021-07-14 | 2022-09-23 | 桂林电子科技大学 | 一种有向无环图结构的区块链及其实现方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101535955A (zh) * | 2005-06-27 | 2009-09-16 | 起元软件有限公司 | 基于图形的计算的参数管理 |
CN104182499A (zh) * | 2014-08-16 | 2014-12-03 | 成都飞机工业(集团)有限责任公司 | Aoe网络到多叉树结构的异构转换方法 |
CN106130929A (zh) * | 2016-06-17 | 2016-11-16 | 众安在线财产保险股份有限公司 | 基于图论算法的互联网保险领域的业务报文自动处理方法和*** |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN107450972A (zh) * | 2017-07-04 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种调度方法、装置以及电子设备 |
CN107656730A (zh) * | 2017-09-28 | 2018-02-02 | 链家网(北京)科技有限公司 | 分布式软件***拓扑结构的自适应可视化方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436923B1 (en) * | 2015-02-26 | 2016-09-06 | Skuchain, Inc. | Tracking unitization occurring in a supply chain |
-
2018
- 2018-05-15 CN CN201810462696.8A patent/CN108769154B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101535955A (zh) * | 2005-06-27 | 2009-09-16 | 起元软件有限公司 | 基于图形的计算的参数管理 |
CN104182499A (zh) * | 2014-08-16 | 2014-12-03 | 成都飞机工业(集团)有限责任公司 | Aoe网络到多叉树结构的异构转换方法 |
CN106130929A (zh) * | 2016-06-17 | 2016-11-16 | 众安在线财产保险股份有限公司 | 基于图论算法的互联网保险领域的业务报文自动处理方法和*** |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN107450972A (zh) * | 2017-07-04 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种调度方法、装置以及电子设备 |
CN107656730A (zh) * | 2017-09-28 | 2018-02-02 | 链家网(北京)科技有限公司 | 分布式软件***拓扑结构的自适应可视化方法及装置 |
Non-Patent Citations (7)
Title |
---|
"Blockchain technology in the chemical industry: Machine-to-machine electricity market";Janusz J. Sikorski等;《Applied Energy》;20171231;全文 * |
"Cassandra - A Decentralized Structured Storage System";Avinash Lakshman等;《https://research.cs.cornell.edu/ladis2009/papers/lakshman-ladis2009.pdf》;20101231;全文 * |
"Distributed ledger technology in payments, clearing, and settlement";David Mills等;《https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2881204##》;20161207;全文 * |
"Jeff Zhou:DAG高速异步区块链技术";佚名;《https://blog.csdn.net/Christina_1991/article/details/78951593?utm_source=blogxgwz9》;20180102;全文 * |
"区块链的几大技术障碍";佚名;《https://www.jianshu.com/p/ca42eea9601a》;20180204;全文 * |
"深度解读——TrustNote推动时代变革的高速异步的DAG公有链";佚名;《https://zhuanlan.zhihu.com/p/33763054》;20180211;全文 * |
"算法精解:DAG有向无环图";佚名;《https://www.cnblogs.com/Evsward/p/dag.html》;20180314;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108769154A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769154B (zh) | 基于有向无环图和分布式账本的数据存储方法 | |
US11798008B2 (en) | Blockchain-based product authentication system | |
CN109165966B (zh) | 一种基于区块链的电商平台评价管理*** | |
CN109829824B (zh) | 一种基于区块链技术的商品交易信息共享方法 | |
EP3720045B1 (en) | Blockchain-based data verification method and apparatus | |
CN106982203B (zh) | 基于区块链技术的鲁棒的atm网络***及其信息处理方法 | |
US20180349968A1 (en) | Systems and methods for product review management with distributed database | |
CN102609846B (zh) | 基于通信网络的防伪验证方法及*** | |
JP2020035436A (ja) | ペットフードのトレーサビリティシステム | |
CN109829726B (zh) | 一种基于区块链的药品信息管理方法及*** | |
KR20180115768A (ko) | 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템 | |
US20190378162A1 (en) | Systems and methods for enforcing advertising standards and digital advertisement measurements | |
CN110096551A (zh) | 基于区块链的信用数据存储方法、装置、设备及介质 | |
CN110275891A (zh) | 人工智能软件市场 | |
CN113469716A (zh) | 一种基于区块链与标识解析的产品追溯方法及*** | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
JP2016522948A (ja) | 製造物認証システム及び製造物認証方法 | |
CN110490640A (zh) | 用于对象分发处理的方法、装置及*** | |
CN112307458A (zh) | 轻节点的上链方法、装置、物联网中控终端及区块链网络 | |
CN110909381A (zh) | 一种基于区块链的用户评论防篡改***及其方法 | |
CN111339550A (zh) | 一种基于区块链技术的评论信息可信化方法 | |
JP6669609B2 (ja) | データの取引システム及びプログラム | |
CN112883425A (zh) | 基于区块链的数据处理方法以及区块链节点 | |
US11362806B2 (en) | System and methods for recording codes in a distributed environment | |
CN116596551A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210101 |
|
CF01 | Termination of patent right due to non-payment of annual fee |