CN109255056A - 区块链的数据引用处理方法、装置、设备及存储介质 - Google Patents
区块链的数据引用处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109255056A CN109255056A CN201810936588.XA CN201810936588A CN109255056A CN 109255056 A CN109255056 A CN 109255056A CN 201810936588 A CN201810936588 A CN 201810936588A CN 109255056 A CN109255056 A CN 109255056A
- Authority
- CN
- China
- Prior art keywords
- data
- block chain
- index information
- block
- processed
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种区块链的数据引用处理方法、装置、设备及存储介质,该方法包括:获取第一数据,第一数据包括目标待处理数据及第二数据的索引信息,其中,目标待处理数据为第一区块链的数据,第二数据为第二区块链的数据,第二数据的索引信息为第二数据在区块链系统中的唯一标识;基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理。实现了跨区块链的数据引用功能,提高了区块链管理的灵活性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链的数据引用处理方法、装置、设备及存储介质。
背景技术
随着科学技术的飞速发展,数据安全性也越来越重要,区块链技术由于其不可篡改不可伪造等特点随之发挥越来越重要的功能。
现有技术中,处于同一区块链网络中的各区块链节点共同维护一条区块链,用于管理交易数据。
但是,现有的区块链技术,区块链的管理不够灵活,不能方便地根据用户需求进行管理。
发明内容
本申请提供一种区块链的数据引用处理方法、装置、设备及存储介质,以解决现有技术区块链管理不灵活等缺陷。
本申请第一个方面提供一种区块链的数据引用处理方法,包括:
获取第一数据,所述第一数据包括目标待处理数据及第二数据的索引信息,其中,所述目标待处理数据为第一区块链的数据,所述第二数据为第二区块链的数据,所述第二数据的索引信息为所述第二数据在区块链系统中的唯一标识;
基于所述第二数据的索引信息,从所述第二区块链调用所述第二数据对所述目标待处理数据进行相应的处理。
本申请第二个方面提供一种区块链的数据引用处理装置,包括:
获取模块,用于获取第一数据,所述第一数据包括目标待处理数据及第二数据的索引信息,其中,所述目标待处理数据为第一区块链的数据,所述第二数据为第二区块链的数据,所述第二数据的索引信息为所述第二数据在区块链系统中的唯一标识;
处理模块,用于基于所述第二数据的索引信息,从所述第二区块链调用所述第二数据对所述目标待处理数据进行相应的处理。
本申请第三个方面提供一种区块链节点,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。
本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。
本申请提供的区块链的数据引用处理方法、装置、设备及存储介质,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的区块链系统的结构示意图;
图2为本申请一实施例提供的区块链的数据引用处理方法的流程示意图;
图3为本申请另一实施例提供的区块链的数据引用处理方法的流程示意图;
图4为本申请一实施例提供的区块链与merkle树及键值数据的关系示意图;
图5为本申请一实施例提供的区块链的数据引用处理装置的结构示意图;
图6为本申请一实施例提供的区块链节点的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
业务类型:是指根据交易数据涉及的内容进行分类,比如交易数据为商品订单数据、商品信息溯源数据、供应链金融数据、商品基础数据、库存数据等等,即业务类型可以包括商品订单数据、商品信息溯源数据、供应链金融数据、商品基础数据、库存数据等等,还可以设置其他的业务类型。具体的业务类型可以根据实际需求进行设置,本申请不做限定。
操作类型:是指交易数据、merkle树、或区块中包含的信息的类型,比如一笔交易数据中包括具体的交易信息、账户信息、验证信息等类型,账户信息可以包括区块链地址、公钥、证书、身份等信息。merkle树包括根节点、中间节点、叶子节点等类型,区块中可以包括区块头信息、区块主体信息等类型,或者区块头信息中包括时间戳信息、随机数信息、对应的merkle树的根节点的哈希值等等,操作类型可以根据实际需求进行设置,具体划分粒度也可以根据实际需求进行设置,本申请不做限定。
数据项:是指根据操作类型分解成的每个粒度数据,比如具体的交易信息、账户信息、验证信息等等,每个数据项可以对应一种操作类型,不同的数据项可能对应同一种操作类型。因为每提交一次交易数据生成区块链的过程都会包含上述各操作类型,都能分解成对应的数据项。
merkle树:merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash(哈希)值的一棵树。merkle树的叶子(或称叶子节点)是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。本申请实施例中,merkle树的叶子节点是细粒度化后的待处理交易数据的每个粒度数据的hash值。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
本申请实施例提供的区块链的数据引用处理方法,适用于以下场景:如图1所示,为本申请实施例提供的区块链系统的结构示意图。该区块链系统可以包括多个区块链节点,各区块链节点共同形成区块链网络。在实际应用中,用户可以通过终端向区块链网络中的区块链节点发起交易请求,提交待处理交易数据,该区块链节点根据待处理交易数据进行相应的数据处理,比如请求其他区块链节点对待处理交易数据进行共识处理、生成区块、存储数据等等。
实施例一
本实施例提供一种区块链的数据引用处理方法,用于对跨区块链的数据引用处理。本实施例的执行主体为区块链的数据引用处理装置,该装置可以设置在区块链节点中。
如图2所示,为本实施例提供的区块链的数据引用处理方法的流程示意图,该方法包括:
步骤101,获取第一数据,第一数据包括目标待处理数据及第二数据的索引信息,其中,目标待处理数据为第一区块链的数据,第二数据为第二区块链的数据,第二数据的索引信息为第二数据在区块链系统中的唯一标识。
步骤102,基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理。
具体的,各区块链节点可以共同维护多条区块链,每条区块链可以对应至少一种业务类型。业务类型是指根据交易数据涉及的内容进行分类,比如交易数据为商品订单数据、商品信息溯源数据、供应链金融数据、商品基础数据、库存数据等等,即业务类型可以包括商品订单数据、商品信息溯源数据、供应链金融数据、商品基础数据、库存数据等等,还可以设置其他的业务类型。具体的业务类型可以根据实际需求进行设置,本申请不做限定。
目标待处理数据可以理解为从用户提交待处理交易数据到生成区块并广播的整个过程中,任意一个处理步骤可能涉及到的需要处理的数据。
当用户需要向区块链节点提交待处理交易数据生成新区块的整个处理过程中,比如待处理交易数据验证时、执行合约时、生成新区块时等等,某个处理步骤可能会引用到其他区块链相关的数据,比如对于一次提交的待处理交易数据为商品订单业务类型,通过商品订单区块链(即第一区块链)维护相关数据,其在进行验证时,需要验证客户身份信息,而客户身份信息是通过客户区块链(即第二区块链)维护的,则可以在提交待处理交易数据时,只要能够告知区块链节点客户身份信息的索引信息即可,使区块链节点可以根据客户身份信息的索引信息从客户区块链对应的数据中获取到对应的客户身份信息,从而基于客户身份信息对客户进行验证。再比如,执行合约过程中,根据业务逻辑,当前执行的步骤的涉及到其他区块链的数据,但是只给出了对应的索引信息,又比如,在某个区块链上生成区块时,需要引用其他区块链上某区块对应时刻的数据状态,可以获取被引用区块的标识信息等等。总结来说,当区块链节点获取到第一数据,且第一数据中包括了目标待处理数据及第二数据的索引信息,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并且需要第二数据对目标待处理数据进行处理时,可以基于第二数据的索引信息,从第二区块链调用第二数据,从而基于第二数据对目标待处理数据进行相应的处理。
这里对目标待处理数据进行相应的处理可以包括任意的需要的处理,从提交待处理交易数据到一系列验证、进行共识、执行合约、生成区块等处理过程中,都可能需要引用其他区块链的数据,本申请实施例不做限定。
其中,对于第二数据的索引信息,可以是在写入第二数据时生成并记录存储的。比如在提交待处理交易数据,将待处理交易数据存储到存储区域时,生成该第二数据的索引信息。第二数据的索引信息具体可以是第二数据的地址信息或者其他能够使区块链节点获取到第二数据的索引信息,第二数据的索引信息可以在区块链系统中唯一标识该第二数据。
示例性的,可以根据第二数据所在的具体区块的标识和第二数据的相关信息(比如第二数据存储的具体地址信息,或者第二数据存储时的名称、编号等能够在本区块链对应的数据中标识第二数据的信息)一起生成该第二数据的索引信息。则可以根据区块链的标识找到对应的区块链,并根据具体区块的标识找到对应的区块,从该区块对应的存储区域的与第二数据存储的具体地址信息对应的位置获取第二数据。还可以在第二数据的索引信息中包括第二数据所在区块链的标识,使区块链节点在通过索引信息调用第二数据时可以更快地找到。还可以是在第二数据的索引信息中包括所在区块的标识以及第二数据对应的merkle树的哈希路径(即默克尔证明)。
目标待处理数据对第二数据的引用可以是用户通过终端指定的,也可以是在处理过程中,根据业务逻辑需要引用的。以用户通过终端指定为例,当用户通过终端向区块链节点提交待处理交易数据时,可以通过终端界面指定被引用的第二数据的索引信息或者指定第二数据的索引信息所对应的展示信息,比如第二数据为客户身份信息,在终端可以显示为客户名称、客户编号等等,用户提交后,由终端根据客户名称或客户编号获取第二数据对应的索引信息,并携带在第一数据中发送给区块链节点,区块链节点获取到的第一数据即包括了目标待处理数据,以及其引用到的第二数据的索引信息。
本实施例提供的区块链的数据引用处理方法,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。
实施例二
本实施例对实施例一提供的方法做进一步补充说明。
如图3所示,为本实施例提供的区块链的数据引用处理方法的流程示意图。
在上述实施例一的基础上,可选地,目标待处理数据为待处理交易数据,在获取第一数据之后,该方法还可以包括:
步骤201,将第二数据的索引信息与待处理交易数据在第一区块链的存储区域对应存储。
具体的,在引用后,可以将被应用的第二数据的索引信息与待处理交易数据对应存储在第一区块链的存储区域,即在第一区块链的数据中记录本次引用状态,可以供后续进行数据追溯、检索或校验被引用的第二数据。
可选地,待处理交易数据对应多种操作类型;步骤201具体可以包括:
步骤2011,根据不同种类的操作类型,将待处理交易数据分解为多个第一数据项;
步骤2012,将第二数据的索引信息作为第二数据项,与各第一数据项在第一区块链的存储区域对应存储。
具体的,操作类型是指交易数据、merkle树、或区块中包含的信息的类型,比如一笔交易数据中包括具体的交易信息、账户信息、验证信息等类型,账户信息可以包括区块链地址、公钥、证书、身份等信息。merkle树包括根节点、中间节点、叶子节点等类型,区块中可以包括区块头信息、区块主体信息等类型,或者区块头信息中包括时间戳信息、随机数信息、对应的merkle树的根节点的哈希值等等,操作类型可以根据实际需求进行设置,具体划分粒度也可以根据实际需求进行设置,本申请不做限定。
示例性的,比如待处理交易数据为商品订单业务类型的交易数据,其可以包括具体的交易信息(商品信息、商品数量、客户信息等等)、账户信息(区块链地址、公钥、证书等)、验证信息(身份信息、签名信息)等操作类型,或者可以更细化地包括商品信息、商品数量、客户信息、区块链地址、公钥、证书、身份信息、签名信息等操作类型。
可以根据不同种类的操作类型,将待处理交易数据分解为多个数据项,为了区分称为第一数据项。每个第一数据项具体可以体现为一个键值对,或者体现为一个标识-数据对。具体体现形式不做限定。
第二数据项是指第二数据的索引信息,实质上第二数据在其对应的区块链数据中也可以是数据项,比如以键值对形式存储。
由于待处理交易数据引用了第二数据,因此,要在待处理交易数据对应的存储区域中记录其引用的第二数据的索引信息,即也可以键值对形式与第一数据项对应存储。
在一些实施例中,目标待处理数据还可以是一个数据项,为了区分可以称为第三数据项,该第三数据项可以是其对应的区块链的相关数据中任一操作类型的数据项。这里需要说明的是,区块链系统中,所有相关数据的存储都可以以数据项为最小粒度进行存储,具体的可以是采用键值对的形式存储,比如具体交易数据的存储、merkle树的存储、区块信息的存储、以及区块链信息的存储。其中,以生成一个新区块为例说明整体生成区块的处理过程,用户通过终端向区块链节点提交待处理交易数据,区块链节点对待处理交易数据进行验证与共识,根据不同种类的操作类型将待处理交易数据分解成多个数据项,以键值对的形式进行存储,根据各键值对生成merkle树的叶子节点,根据各叶子节点生成merkle树的根节点,并将根节点的哈希值记录到新区块的区块头中,从而在区块中记录了各键值对的路径的哈希值,将各键值对存储到存储区域。对于merkle树的各节点,也以键值对的形式存储,对于区块的相关信息也可以以键值对的形式存储,以及对于区块链的基本信息也可以以键值对的形式存储,即对于一个区块链或者整个区块链系统来说,所有需要存储的数据都以键值对的形式分布式存储。而区块与merkle树实质上相当于记录了区块链某一时刻的快照。merkle树的哈希路径可以唯一标识键值对,因此可以将某键值对对应的merkle树的哈希路径作为该键值对的索引信息,或者称为标识信息。
在一些实施例中,可选地,第二数据的索引信息中包含第二数据在其对应的第二merkle树中的哈希路径,基于第二数据的索引信息,调用第二数据对目标待处理数据进行相应的处理,包括:
获取第二数据的索引信息中包含的哈希路径;根据哈希路径,获取第二数据;基于第二数据对目标待处理数据进行相应的处理。
可选地,第二数据的索引信息还包括第二数据对应的区块标识,在获取第二数据的索引信息中包含的哈希路径之后,该方法还包括:
根据第二数据对应的区块标识及哈希路径对第二数据进行校验处理。
具体的,第二数据的索引信息可以包括第二数据在其对应的第二merkle树中的具体哈希路径,也可以是包括将哈希路径进行一定的计算后的值,只要能从索引信息中唯一获得第二数据的哈希路径,并可以根据哈希路径获取到第二数据即可。具体体现形式不做限定。
为了能够对第二数据进行校验,校验第二数据是否被篡改,第二数据的索引信息中还需要包括第二数据对应的区块的区块标识,则可以根据第二数据对应的区块标识及哈希路径对第二数据进行校验处理,具体可以根据区块标识找到对应的区块,从区块中可以获取到时间信息及根节点的哈希值,则可以通过对第二数据进行哈希计算,与哈希路径中包括的该第二数据对应的叶子节点的哈希值比较是否一致,并可以按照生成merkle树的形式,逐级向上验证,直至哈希路径中根节点的哈希值与第二数据对应的区块中记录的根节点的哈希值一致,若最终一致,证明该第二数据没有被篡改,若不一致,则表明该第二数据可能已被篡改,并非是该区块时间的数据版本。
示例性的,如图4所示,为本实施例提供的区块链与merkle树及键值对的关系示意图。其中,K表示KEY,V表示VALUE,K可以唯一标识V,即根据一个K可以唯一确定一个V。G0-G2分别表示各区块对应的根节点,Y表示叶子节点,M表示中间节点。具体KEY-VALUE关联关系为现有技术,在此不再赘述。每个区块对应一个merkle树的根节点,随着区块的不断增加,前一区块所对应的根节点可能成为其相邻的后一区块的的子节点,因此,merkle树随着区块的增加不断增长,以这种方式维护区块链数据的完整性,并方便地维护区块与待处理交易数据划分后的每个数据项的关系,比如,从区块中可以获取其对应的根节点的哈希值、从该根节点的哈希值中可以获取该根节点下两个子节点(可能为中间节点)的哈希值、从子节点的哈希值中可以获取子节点下的二级子节点的哈希值,直至获取到叶子节点的哈希值,从叶子节点的哈希值中则可以获取每个数据项的哈希值,比如一个键值对KV的哈希值,从而可以从该键值对的哈希值中获取该键值对,也即可以获取一个数据项。因此,也可以称merkle树是表征了数据项的路径信息。其中,对于一个键值对(数据项),比如图4中最后一个键值对,其对应的merkle树的哈希路径为图中虚线圈住的路径G2-M-M-Y。比如,merkle树的各节点也可以以键值对的形式存储,分别为K1-V1,K2-V2,K3-V3,K4-V4,则最后一个键值对对应的merkle树的哈希路径为K1-K2-K3-K4,或者也可以是V1-V2-V3-V4,还可以是基于该路径进行一定的计算得到的值,具体形式不做限制,只要能够根据哈希路径唯一确定对应的数据项即可,具体可以根据实际需求设置。
可选地,在第二数据的索引信息中还可以包括第二数据对应的区块链的标识信息,可以使区块链节点更快地找到第二数据。
在实际的处理过程中,可能在某个区块链的某个第三数据项中可能会引用其他区块链的某个或多个数据项(第二数据),在存储时可以只记录其引用的被引用数据项(第二数据)的索引信息即可,在对该第三数据向进行处理时,若需要用到第二数据,则可以根据第二数据的索引信息获得第二数据并进行校验或其他相应的处理。
可选地,待处理交易数据中还可以包括目标区块链标识,则该方法还可以包括:
步骤2021,根据各第一数据项及第二数据项,生成第一merkle树。
步骤2022,根据第一merkle树的根节点的哈希值,在目标区块链标识对应的第一区块链上生成新区块。
具体的,目标区块链标识即为第一区块链的标识,用于表示该待处理交易数据需要通过第一区块链记录其状态信息,即需要根据该待处理交易数据在第一区块链上生成新区块,用于记录该待处理交易数据或者记录该待处理交易数据的地址信息,比如记录根据待处理交易数据分解成的各第一数据项与第二数据项生成的第一merkle树的根节点的哈希值。第一数据项和第二数据项都可以键值对的形式,具体根据各键值对生成第一merkle树的过程如上,在此不再赘述。
这里将被引用的第二数据的索引信息作为一个键值对,参与目标区块链的生成,从而也记录了该第二数据的索引信息在目标区块链中的索引,即在新区块中完整地不可篡改地记录了本次引用的第二数据的状态。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
本实施例提供的区块链的数据引用处理方法,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。并且通过将被引用的第二数据的索引信息进行记录,而不必在目标区块链对应的存储区域再次存储第二数据,进一步提高了区块链管理的灵活性,另一方面也可以有效减少存储空间的占用,节省存储空间。
实施例三
本实施例提供一种区块链的数据引用处理装置,用于执行上述实施例一的方法。
如图5所示,为本实施例提供的区块链的数据引用处理装置的结构示意图。该区块链的数据引用处理装置30包括获取模块31和处理模块32。
其中,获取模块31用于获取第一数据,第一数据包括目标待处理数据及第二数据的索引信息,其中,目标待处理数据为第一区块链的数据,第二数据为第二区块链的数据,第二数据的索引信息为第二数据在区块链系统中的唯一标识;处理模块32用于基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本实施例提供的区块链的数据引用处理装置,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。
实施例四
本实施例对上述实施例三提供的装置做进一步补充说明。
在上述实施例的基础上,可选地,目标待处理数据为待处理交易数据;处理模块,还用于:
将第二数据的索引信息与待处理交易数据在第一区块链的存储区域对应存储。
可选地,待处理交易数据对应多种操作类型;处理模块,具体用于:
根据不同种类的操作类型,将待处理交易数据分解为多个第一数据项;将第二数据的索引信息作为第二数据项,与各第一数据项在第一区块链的存储区域对应存储。
可选地,待处理交易数据包括目标区块链标识,处理模块,具体用于:
根据各第一数据项及第二数据项,生成第一merkle树;根据第一merkle树的根节点的哈希值,在目标区块链标识对应的第一区块链上生成新区块。
在一些实施例中,可选地,第二数据的索引信息中包含第二数据在其对应的第二merkle树中的哈希路径,处理模块,具体用于:
获取第二数据的索引信息中包含的哈希路径;根据哈希路径,从第二区块链的存储区域获取第二数据;基于第二数据对目标待处理数据进行相应的处理。
可选地,第二数据的索引信息还包括第二数据对应的区块标识,处理模块,还用于:
根据第二数据对应的区块标识及哈希路径对第二数据进行校验处理。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
根据本实施例的区块链的数据引用处理装置,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。并且通过将被引用的第二数据的索引信息进行记录,而不必在目标区块链对应的存储区域再次存储第二数据,进一步提高了区块链管理的灵活性,另一方面也可以有效减少存储空间的占用,节省存储空间。
实施例五
本实施例提供一种区块链节点,用于执行上述实施例提供的方法。
如图6所示,为本实施例提供的区块链节点的结构示意图。该区块链节点50包括:至少一个处理器51和存储器52;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的方法。
根据本实施例的区块链节点,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。并且通过将被引用的第二数据的索引信息进行记录,而不必在目标区块链对应的存储区域再次存储第二数据,进一步提高了区块链管理的灵活性,另一方面也可以有效减少存储空间的占用,节省存储空间。
实施例六
本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。
根据本实施例的计算机可读存储介质,通过获取包括目标待处理数据及被引用的第二数据的索引信息的第一数据,其中,目标待处理数据是第一区块链的数据,而第二数据是第二区块链的数据,并基于第二数据的索引信息,从第二区块链调用第二数据对目标待处理数据进行相应的处理,实现了跨区块链的数据的引用,提高了区块链管理的灵活性。并且通过将被引用的第二数据的索引信息进行记录,而不必在目标区块链对应的存储区域再次存储第二数据,进一步提高了区块链管理的灵活性,另一方面也可以有效减少存储空间的占用,节省存储空间。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种区块链的数据引用处理方法,其特征在于,包括:
获取第一数据,所述第一数据包括目标待处理数据及第二数据的索引信息,其中,所述目标待处理数据为第一区块链的数据,所述第二数据为第二区块链的数据,所述第二数据的索引信息为所述第二数据在区块链系统中的唯一标识;
基于所述第二数据的索引信息,从所述第二区块链调用所述第二数据对所述目标待处理数据进行相应的处理。
2.根据权利要求1所述的方法,其特征在于,所述目标待处理数据为待处理交易数据,在获取第一数据之后,所述方法还包括:
将所述第二数据的索引信息与所述待处理交易数据在所述第一区块链的存储区域对应存储。
3.根据权利要求2所述的方法,其特征在于,所述待处理交易数据对应多种操作类型;
所述将所述第二数据的索引信息与所述待处理交易数据在所述第一区块链的存储区域对应存储,包括:
根据不同种类的操作类型,将所述待处理交易数据分解为多个第一数据项;
将所述第二数据的索引信息作为第二数据项,与各所述第一数据项在所述第一区块链的存储区域对应存储。
4.根据权利要求3所述的方法,其特征在于,所述待处理交易数据包括目标区块链标识,所述方法还包括:
根据各所述第一数据项及所述第二数据项,生成第一merkle树;
根据所述第一merkle树的根节点的哈希值,在所述目标区块链标识对应的所述第一区块链上生成新区块。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第二数据的索引信息中包含所述第二数据在其对应的第二merkle树中的哈希路径,所述基于所述第二数据的索引信息,从所述第二区块链调用所述第二数据对所述目标待处理数据进行相应的处理,包括:
获取所述第二数据的索引信息中包含的哈希路径;
根据所述哈希路径,从所述第二区块链的存储区域获取所述第二数据;
基于所述第二数据对所述目标待处理数据进行相应的处理。
6.根据权利要求5所述的方法,其特征在于,所述第二数据的索引信息还包括所述第二数据对应的区块标识,在获取所述第二数据的索引信息中包含的哈希路径之后,所述方法还包括:
根据所述第二数据对应的区块标识及所述哈希路径对所述第二数据进行校验处理。
7.一种区块链的数据引用处理装置,其特征在于,包括:
获取模块,用于获取第一数据,所述第一数据包括目标待处理数据及第二数据的索引信息,其中,所述目标待处理数据为第一区块链的数据,所述第二数据为第二区块链的数据,所述第二数据的索引信息为所述第二数据在区块链系统中的唯一标识;
处理模块,用于基于所述第二数据的索引信息,从所述第二区块链调用所述第二数据对所述目标待处理数据进行相应的处理。
8.根据权利要求7所述的装置,其特征在于,所述目标待处理数据为待处理交易数据;所述处理模块,还用于:
将所述第二数据的索引信息与所述待处理交易数据在所述第一区块链的存储区域对应存储。
9.根据权利要求8所述的装置,其特征在于,所述待处理交易数据对应多种操作类型;所述处理模块,具体用于:
根据不同种类的操作类型,将所述待处理交易数据分解为多个第一数据项;
将所述第二数据的索引信息作为第二数据项,与各所述第一数据项在所述第一区块链的存储区域对应存储。
10.根据权利要求9所述的装置,其特征在于,所述待处理交易数据包括目标区块链标识,所述处理模块,具体用于:
根据各所述第一数据项及所述第二数据项,生成第一merkle树;
根据所述第一merkle树的根节点的哈希值,在所述目标区块链标识对应的所述第一区块链上生成新区块。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述第二数据的索引信息中包含所述第二数据在其对应的第二merkle树中的哈希路径,所述处理模块,具体用于:
获取所述第二数据的索引信息中包含的哈希路径;
根据所述哈希路径,从所述第二区块链的存储区域获取所述第二数据;
基于所述第二数据对所述目标待处理数据进行相应的处理。
12.根据权利要求11所述的装置,其特征在于,所述第二数据的索引信息还包括所述第二数据对应的区块标识,所述处理模块,还用于:
根据所述第二数据对应的区块标识及所述哈希路径对所述第二数据进行校验处理。
13.一种区块链节点,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810936588.XA CN109255056B (zh) | 2018-08-16 | 2018-08-16 | 区块链的数据引用处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810936588.XA CN109255056B (zh) | 2018-08-16 | 2018-08-16 | 区块链的数据引用处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109255056A true CN109255056A (zh) | 2019-01-22 |
CN109255056B CN109255056B (zh) | 2021-05-25 |
Family
ID=65050241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810936588.XA Active CN109255056B (zh) | 2018-08-16 | 2018-08-16 | 区块链的数据引用处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255056B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857580A (zh) * | 2019-03-12 | 2019-06-07 | 深圳市网心科技有限公司 | 区块链跨链合约调用方法、装置及存储介质 |
CN110874365A (zh) * | 2019-11-20 | 2020-03-10 | 深圳市网心科技有限公司 | 一种信息查询方法及其相关设备 |
CN111031100A (zh) * | 2019-11-21 | 2020-04-17 | 上海交通大学 | 一种扩展的区块链存储方法、系统及介质 |
CN111159288A (zh) * | 2019-12-16 | 2020-05-15 | 郑杰骞 | 链式结构数据存储、验证、实现方法、系统、装置及介质 |
CN111209341A (zh) * | 2020-01-07 | 2020-05-29 | 北京众享比特科技有限公司 | 区块链的数据存储方法、装置、设备及介质 |
CN112783986A (zh) * | 2020-09-23 | 2021-05-11 | 上海芯翌智能科技有限公司 | 基于标签的对象分组编制方法及装置、存储介质、终端 |
JP2021131842A (ja) * | 2020-02-20 | 2021-09-09 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ブロックチェーンのデータ記憶方法、装置、電子機器及び媒体 |
CN115544171A (zh) * | 2022-11-24 | 2022-12-30 | 中国电子信息产业集团有限公司第六研究所 | 异构物理资源数据处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770154A (zh) * | 2017-09-22 | 2018-03-06 | 中国科学院信息工程研究所 | 基于云存储的区块链可靠数据存储方法、终端及系统 |
WO2018080574A1 (en) * | 2016-10-26 | 2018-05-03 | Black Gold Coin, Inc. | Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features |
CN108009811A (zh) * | 2017-11-30 | 2018-05-08 | 中国人民解放军国防科技大学 | 一种面向云际计算环境价值交换的跨链通信方法 |
CN108038184A (zh) * | 2017-12-08 | 2018-05-15 | 横琴密达科技有限责任公司 | 一种基于区块链的数据存储方法及系统、一种智能区块链 |
CN108389129A (zh) * | 2018-02-27 | 2018-08-10 | 阿里巴巴集团控股有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
-
2018
- 2018-08-16 CN CN201810936588.XA patent/CN109255056B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018080574A1 (en) * | 2016-10-26 | 2018-05-03 | Black Gold Coin, Inc. | Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features |
CN107770154A (zh) * | 2017-09-22 | 2018-03-06 | 中国科学院信息工程研究所 | 基于云存储的区块链可靠数据存储方法、终端及系统 |
CN108009811A (zh) * | 2017-11-30 | 2018-05-08 | 中国人民解放军国防科技大学 | 一种面向云际计算环境价值交换的跨链通信方法 |
CN108038184A (zh) * | 2017-12-08 | 2018-05-15 | 横琴密达科技有限责任公司 | 一种基于区块链的数据存储方法及系统、一种智能区块链 |
CN108389129A (zh) * | 2018-02-27 | 2018-08-10 | 阿里巴巴集团控股有限公司 | 基于区块链的交易执行方法及装置、电子设备 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857580A (zh) * | 2019-03-12 | 2019-06-07 | 深圳市网心科技有限公司 | 区块链跨链合约调用方法、装置及存储介质 |
CN109857580B (zh) * | 2019-03-12 | 2022-06-07 | 深圳市迅雷网络技术有限公司 | 区块链跨链合约调用方法、装置及存储介质 |
CN110874365A (zh) * | 2019-11-20 | 2020-03-10 | 深圳市网心科技有限公司 | 一种信息查询方法及其相关设备 |
CN110874365B (zh) * | 2019-11-20 | 2023-11-17 | 深圳市迅雷网络技术有限公司 | 一种信息查询方法及其相关设备 |
CN111031100A (zh) * | 2019-11-21 | 2020-04-17 | 上海交通大学 | 一种扩展的区块链存储方法、系统及介质 |
CN111159288A (zh) * | 2019-12-16 | 2020-05-15 | 郑杰骞 | 链式结构数据存储、验证、实现方法、系统、装置及介质 |
CN111159288B (zh) * | 2019-12-16 | 2023-04-28 | 郑杰骞 | 链式结构数据存储、验证、实现方法、系统、装置及介质 |
CN111209341B (zh) * | 2020-01-07 | 2023-03-14 | 北京众享比特科技有限公司 | 区块链的数据存储方法、装置、设备及介质 |
CN111209341A (zh) * | 2020-01-07 | 2020-05-29 | 北京众享比特科技有限公司 | 区块链的数据存储方法、装置、设备及介质 |
JP2021131842A (ja) * | 2020-02-20 | 2021-09-09 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ブロックチェーンのデータ記憶方法、装置、電子機器及び媒体 |
JP7050133B2 (ja) | 2020-02-20 | 2022-04-07 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | ブロックチェーンのデータ記憶方法、装置、電子機器及び媒体 |
CN112783986B (zh) * | 2020-09-23 | 2022-12-13 | 上海芯翌智能科技有限公司 | 基于标签的对象分组编制方法及装置、存储介质、终端 |
CN112783986A (zh) * | 2020-09-23 | 2021-05-11 | 上海芯翌智能科技有限公司 | 基于标签的对象分组编制方法及装置、存储介质、终端 |
CN115544171A (zh) * | 2022-11-24 | 2022-12-30 | 中国电子信息产业集团有限公司第六研究所 | 异构物理资源数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109255056B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255056A (zh) | 区块链的数据引用处理方法、装置、设备及存储介质 | |
CN109165221A (zh) | 区块链的数据存储方法、装置、区块链节点及存储介质 | |
CN108932348A (zh) | 区块链的合并处理方法、装置、区块链节点及存储介质 | |
CN109034809A (zh) | 区块链的生成方法、装置、区块链节点及存储介质 | |
TWI780433B (zh) | 基於聯邦學習的孤立森林模型構建和預測方法和裝置 | |
CN110602248B (zh) | 异常行为信息的识别方法、系统、装置、设备及介质 | |
US11606219B2 (en) | System and method for controlling asset-related actions via a block chain | |
CN108200208B (zh) | 基于云计算的物流区块链共识算法 | |
CN109285005A (zh) | 区块链的拆分处理方法、装置、区块链节点及存储介质 | |
CN109785136A (zh) | 一种区块链的交易处理方法、客户端及区块链网络 | |
CN112003858B (zh) | 基于区块链的平台对接的方法、电子装置和存储介质 | |
CN108009810A (zh) | 一种可信数字资产交易方法 | |
US11532054B2 (en) | Path of funds blockchain system | |
WO2021208754A1 (zh) | 基于区块链的交通事故处理 | |
CN107256479B (zh) | 交易模式的分类执行方法及装置 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN112488725A (zh) | 隐私授权转账方法、设备和存储介质 | |
CN112039893A (zh) | 私密交易处理方法、装置、电子设备及可读存储介质 | |
CN108537065A (zh) | 征信信息处理方法 | |
CN110781134A (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN114529415A (zh) | 基于区块链的交易验证方法及装置、电子设备 | |
CN109903055A (zh) | 商品管理方法、装置、计算机装置及存储介质 | |
US11429602B2 (en) | Multi-dimensional modeling of resource interaction processors | |
CN110599272A (zh) | 一种开具电子发票的方法和相关产品 | |
CN109872197A (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 |