CN107040582B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN107040582B CN107040582B CN201710085752.6A CN201710085752A CN107040582B CN 107040582 B CN107040582 B CN 107040582B CN 201710085752 A CN201710085752 A CN 201710085752A CN 107040582 B CN107040582 B CN 107040582B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- check value
- leaf
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Power Engineering (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请实施例公开了一种数据处理方法及装置,该方法包括:将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使所述服务器集群中的服务器分别计算分配的叶子节点的数据的校验值;根据所述服务器集群中的服务器计算得到的所述叶子节点的数据的校验值,进一步获取所述区块链节点中的数据的根校验值。利用本申请实施例,可以缩短计算数据校验值过程中消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,它需要每个区块链节点的状态保持一致(包括数据库的状态),这样,当某个区块链节点产生一个新交易(即产生新数据)时,需要将该新数据同步给各个区块链节点,同时,各个区块链节点需要对该数据进行验证。
现有技术中,区块链节点对数据的验证方式,通常通过基于bucket-tree的数据校验值(如哈希hash值)来判定。具体地,例如fabric(一个已实现的区块链应用),区块链节点中的数据采用merkle树的结构存储,在merkle树中包括一个或多个叶子节点(即bucket)。区块链节点在获取上述数据的校验值(如哈希值)时,通常采用单一计算设备(如终端设备或服务器等)实现,具体地,该计算设备遍历每个叶子节点,并对叶子节点的数据排序后拼接成为一个字符串,计算该字符串的校验值,作为相应的叶子节点的数据的检验值,然后,基于每个叶子节点的数据的校验值计算出merkle树的根校验值(如根哈希值)即为区块链节点中的数据的校验值,基于该校验值可以对上述数据进行验证。
但是,由于采用单一计算设备计算区块链节点中的数据的根校验值,而且由于每次计算都是通过将叶子节点的数据进行拼接得到一个字符串来完成,当单个或多个叶子节点中累计的数据量很大(如有1000万条数据)时,通过单一计算设备执行上述计算过程会消耗较长时间,使得计算效率较低,甚至会使得产生区块的时间延长,阻碍区块链的正常运行。
发明内容
本申请实施例的目的是提供一种数据处理方法及装置,以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供一种数据处理方法,所述方法包括:
将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使所述服务器集群中的服务器分别计算分配的叶子节点的数据的校验值;
根据所述服务器集群中的服务器计算得到的所述叶子节点的数据的校验值,进一步获取所述区块链节点中的数据的根校验值。
可选地,所述根据所述服务器集群中的服务器计算得到的所述叶子节点的校验值,进一步获取所述区块链节点中的数据的根校验值,包括:
接收所述服务器集群中的服务器发送的所述区块链节点中的数据的根校验值。
可选地,所述根据所述服务器集群中的服务器计算得到的所述叶子节点的校验值,进一步获取所述区块链节点中的数据的根校验值,包括:
根据所述叶子节点的校验值,确定所述叶子节点对应的Merkle树的根校验值;
将所述Merkle树的根校验值确定为所述区块链节点中的数据的根校验值。
可选地,所述将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,包括:
根据所述区块链节点中预先存储的叶子节点的数目,分别向所述服务器集群中的服务器发送预定数目的叶子节点的数据。
可选地,所述校验值为哈希值。
本申请实施例还提供一种数据处理方法,所述方法包括:
接收区块链节点分发的叶子节点的数据;
计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值。
可选地,所述接收区块链节点分发的叶子节点的数据之后,所述方法还包括:
根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中;
计算每个子叶子节点的数据的校验值;
相应的,所述计算所述分发的叶子节点的数据的校验值,包括:
根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值。
可选地,所述根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中,包括:
对所述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在所述子叶子节点中,并为所述子叶子节点设置相应的子节点标识;
相应地,所述根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值,包括:
根据所述子叶子节点的子节点标识和每个所述子叶子节点的校验值,计算所述分发的叶子节点的数据的校验值。
可选地,所述计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值,包括:
计算所述分发的叶子节点的数据的校验值,将所述分发的叶子节点的数据的校验值发送给所述区块链节点,以使所述区块链节点根据所述叶子节点的数据的校验值计算所述区块链节点中的数据的根校验值;或者,
计算所述分发的叶子节点的数据的校验值;基于所述分发的叶子节点的数据的校验值获取所述区块链节点中的数据的根校验值,将所述根校验值发送给所述区块链节点。
本申请实施例提供一种数据处理装置,所述装置包括:
数据分发模块,用于将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使所述服务器集群中的服务器分别计算分配的叶子节点的数据的校验值;
根校验值获取模块,用于根据所述服务器集群中的服务器计算得到的所述叶子节点的数据的校验值,进一步获取所述区块链节点中的数据的根校验值。
可选地,所述根校验值获取模块,用于接收所述服务器集群中的服务器发送的所述区块链节点中的数据的根校验值。
可选地,所述根校验值获取模块,用于根据所述叶子节点的校验值,确定所述叶子节点对应的Merkle树的根校验值;将所述Merkle树的根校验值确定为所述区块链节点中的数据的根校验值。
可选地,所述数据分发模块,用于根据所述区块链节点中预先存储的叶子节点的数目,分别向所述服务器集群中的服务器发送预定数目的叶子节点的数据。
可选地,所述校验值为哈希值。
本申请实施例还提供一种数据处理装置,所述装置包括:
数据接收模块,用于接收区块链节点分发的叶子节点的数据;
校验值获取模块,用于计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值。
可选地,所述装置还包括:
数据分配模块,用于根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中;
计算模块,用于计算每个子叶子节点的数据的校验值;
相应的,所述校验值获取模块,用于根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值。
可选地,所述数据分配模块,用于对所述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在所述子叶子节点中,并为所述子叶子节点设置相应的子节点标识;
相应地,所述校验值获取模块,用于根据所述子叶子节点的子节点标识和每个所述子叶子节点的校验值,计算所述分发的叶子节点的数据的校验值。
可选地,所述校验值获取模块,用于计算所述分发的叶子节点的数据的校验值,将所述分发的叶子节点的数据的校验值发送给所述区块链节点,以使所述区块链节点根据所述叶子节点的数据的校验值计算所述区块链节点中的数据的根校验值;或者,计算所述分发的叶子节点的数据的校验值;基于所述分发的叶子节点的数据的校验值获取所述区块链节点中的数据的根校验值,将所述根校验值发送给所述区块链节点。
由以上本申请实施例提供的技术方案可见,本申请实施例通过将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使服务器集群中的服务器分别计算分配的叶子节点的数据的校验值,进而,根据服务器集群中的服务器计算得到的叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值,这样,通过将叶子节点的数据分发给服务器集群,然后,再通过服务器集群中的各个服务器分别计算分发到的叶子节点的数据的校验值,使得数据可以分发到服务器集群中并行计算叶子节点的数据的校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种数据处理方法实施例;
图2为本申请一种数据处理逻辑示意图;
图3为本申请另一种数据处理方法实施例;
图4为本申请再一种数据处理方法实施例;
图5为本申请一种数据处理***的结构示意图;
图6为本申请又一种数据处理方法实施例;
图7为本申请又一种数据处理方法实施例;
图8为本申请另一种数据处理***的结构示意图;
图9为本申请一种数据处理装置实施例;
图10为本申请另一种数据处理装置实施例。
具体实施方式
本申请实施例提供一种数据处理方法及装置。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
如图1所示,本申请实施例提供一种数据处理方法,该方法的执行主体可以为区块链节点。该方法可以包括以下步骤:
在步骤S101中,将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使该服务器集群中的服务器分别计算分配的叶子节点的数据的校验值。
其中,叶子节点可以为没有子节点的节点,在区块链节点中通常包含有一个或多个叶子节点(即bucket),每个叶子节点中存储有一定数据量的数据(具体可以为交易数据),叶子节点中存储的每一条数据的数据量可以设定有相应的数值范围,例如,每一条数据的数据量在100KB~5MB范围内,具体如1MB等。服务器集群可以是由多个相同或不同的服务器构成的能够为某一项或多项业务提供相应服务的群组。校验值可以是用于对文件或数据进行校验的字符串(如数值或代码等),在实际应用中,校验值可以是基于数据摘要等校验算法计算得到的数值,基于数据摘要的校验算法可以包括循环冗余校验算法、消息摘要算法、安全哈希算法等。
在实施中,区块链可以是一种去中心化的分布式数据库,也被称为分布式账簿。基于区块链技术,需要大量的信息记录储存器(如终端设备或服务器等)组成的分布式网络,每一笔新交易的传播都可以采用该分布式网络,根据P2P(Peer-to-peer,点对点)网络层协议,该交易的相关信息会由单个区块链节点被直接发送给全网其它所有的区块链节点中,以保证分布式网络中各个区块链节点中存储的数据一致。当某一个区块链节点记录一笔新交易时,需要将记录的新交易的数据同步给其它区块链节点,而其它区块链节点则需要对该数据进行验证,具体验证过程可以如下:
区块链节点中包含有一个或多个叶子节点,区块链节点中的数据分布在叶子节点中,其中叶子节点中的数据都包含有接收的时间戳,通过时间戳可以确定每笔交易的先后顺序。在进行验证时,区块链节点首先可以获取其预先存储的叶子节点。为了能够快速确定区块链节点中存储有哪些叶子节点和叶子节点的数目,可以在生成叶子节点时,为每个叶子节点设置相应的节点标识(如节点ID(IDentity,身份标识号码)),如5或A8等。在获取叶子节点时,可以通过预先记录的节点标识查找相应的叶子节点,并可以获取每个叶子节点中存储的数据。
由于不同时间段和/或不同地域等因素的影响存储的数据量可能不同,这样,可能会导致某一个或多个叶子节点中累积的数据量较大,而另一些叶子节点中的数据量较小,这样造成区块链的叶子节点中存储的数据量不均衡。为了不影响区块的生成、减小叶子节点中的数据的校验值的计算时间,可以将叶子节点中的数据分发给服务器集群中的多个服务器进行处理,通过服务器集群可以分散校验值的计算压力,从而提高计算效率。
区块链节点获取到各个叶子节点的数据后,可以以叶子节点为单位,将叶子节点的数据分发给服务器集群中的服务器,例如,如果服务器集群中服务器的数目可以与叶子节点的数目相等,则区块链节点可以向服务器集群中的每个服务器发送一个叶子节点的数据,以使得服务器集群中的每个服务器中只包含有一个叶子节点的数据。除了上述分发方式外,还可以包括多种分发方式,例如,通过随机分发的方式将叶子节点及其数据发送给服务器集群中的服务器,这样,不同的服务器接收到的叶子节点的数目可能相同,也可能不同;再例如,可以根据叶子节点的数据的数据量来分发叶子节点的数据,具体地,区块链节点可以分别统计每个叶子节点的数据量,然后将叶子节点的数据均匀分发到服务器集群中的服务器,如包括6个叶子节点,数据量分别为50MB、20MB、30MB、40MB、10MB和10MB,则可以将数据量为50MB的叶子节点的数据发送给服务器集群中的第1个服务器,可以将数据量为20MB和30MB的叶子节点的数据发送给服务器集群中的第2个服务器,可以将数据量为40MB、10MB和10MB的叶子节点的数据发送给服务器集群中的第3个服务器。
服务器接收到发送的叶子节点的数据后,可以计算接收到的每个叶子节点的数据的校验值,例如,服务器通过消息摘要算法(如MD5算法)计算接收到的叶子节点的数据的MD5值,如某服务器中接收到两个叶子节点的数据,分别为叶子节点1的数据和叶子节点2的数据,该服务器可以计算叶子节点1的数据的MD5值,并计算叶子节点2的数据的MD5值,从而得到接收到的每个叶子节点的数据的校验值。
在步骤S102中,根据上述服务器集群中的服务器计算得到的上述叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值。
在实施中,服务器集群中的服务器计算得到上述叶子节点的数据的校验值后,每个服务器可以将其计算得到的叶子节点的数据的校验值发送给区块链节点。区块链节点接收到其存储的每个叶子节点的数据的校验值后,可以基于每个叶子节点的数据的校验值计算区块链节点中的数据(即state)的根校验值。其中,在计算区块链节点中的数据的根校验值时,为了加快计算过程,可以在叶子节点与根校验值对应的根节点之间设置多个中间节点,如图2所示,其中A、B、C和D是叶子节点,A1、A2、A3...Ap,B1、B2、B3...Bq,C1、C2、C3...Cr和D1、D2、D3...Dk分别表示数据,以校验值为哈希值为例,叶子节点A的哈希值为hash(A1A2A3...Ap),叶子节点B的哈希值为hash(B1B2B3...Bq),叶子节点C的哈希值为hash(C1C2C3...Cr),叶子节点D的哈希值为hash(D1D2D3...Dk),M和N为中间节点,因此,M的哈希值为hash(AB),N的哈希值为hash(CD),则根节点的根校验值即为hash(MN)。区块链节点通过得到的区块链节点中的数据的根校验值与上述发送新交易数据的区块链节点计算得到的根校验值对比,即可验证新交易数据是否有效,如果有效,则区块链节点可以记载上述交易的相关数据,如果无效,则可以拒绝记载上述交易的相关数据。
需要说明的是,上述计算根校验值的处理过程还可以由服务器集群完成,具体地,服务器集群中可以设置有管理服务器或管理服务器集群,管理服务器或管理服务器集群可以对服务器集群中的其它服务器进行调整和控制。当服务器集群中的其它服务器计算得到上述叶子节点的数据的校验值后,可以将叶子节点的数据的校验值分别发送给管理服务器或管理服务器集群。管理服务器或管理服务器集群可以通过上述计算方式计算区块链节点中的数据的根校验值。管理服务器或管理服务器集群可以将得到的区块链节点中的数据的根校验值发送给区块链节点,区块链节点接收该校验值,进而,可以通过该校验值进行验证处理,具体可以参见上述相关内容,在此不再赘述。
这样,通过服务器集群中的多个服务器并行计算以得到区块链节点中叶子节点的数据的校验值,使得区块链节点的数据的根校验值的计算不再依赖单机处理,提高数据的校验值的计算效率。
本申请实施例提供一种数据处理方法,通过将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使服务器集群中的服务器分别计算分配的叶子节点的数据的校验值,进而,根据服务器集群中的服务器计算得到的叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值,这样,通过将叶子节点的数据分发给服务器集群,然后,再通过服务器集群中的各个服务器分别计算分发到的叶子节点的数据的校验值,使得数据可以分发到服务器集群中并行计算叶子节点的数据的校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
如图3所示,本申请实施例提供一种数据处理方法,该方法的执行主体可以为服务器集群,该服务器集群可以包括多个服务器,每个服务器都可以计算数据的校验值。该方法可以包括以下步骤:
在步骤S301中,接收区块链节点分发的叶子节点的数据。
在实施中,当需要对区块链节点中的数据进行验证时,区块链节点可以获取其存储的叶子节点的数据,并可以以叶子节点为单位,向服务器集群中的服务器分发叶子节点的数据,具体分发方式和分发过程可以参见上述步骤S101的相关内容,在此不再赘述。服务器集群中的服务器可以分别接收区块链节点分发的叶子节点的数据,具体可以参见上述步骤S101的相关内容,在此不再赘述。
在步骤S302中,计算上述分发的叶子节点的数据的校验值,以用于获取上述区块链节点中的数据的根校验值。
在实施中,服务器集群中的服务器可以分别计算接收到的每个叶子节点的数据的校验值。计算完成后,可以将计算得到的叶子节点的数据的校验值分别发送给区块链节点。区块链节点可以基于服务器返回的叶子节点的数据的校验值进一步计算区块链节点中的数据的根校验值,具体可以参见上述步骤S102的相关内容,在此不再赘述。
在本申请的另一个实施例中,区块链节点中的数据的根校验值还可以由服务器集群计算得到,即如前所述,可以在服务器集群中设置管理服务器或者管理服务器集群,用于对计算得到的每个叶子节点的数据的校验值进行汇总计算,得到区块链节点中的数据的根校验值。具体可以参见上述步骤S102的相关内容,在此不再赘述。
本申请实施例提供一种数据处理方法,通过将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使服务器集群中的服务器分别计算分配的叶子节点的数据的校验值,进而,根据服务器集群中的服务器计算得到的叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值,这样,通过将叶子节点的数据分发给服务器集群,然后,再通过服务器集群中的各个服务器分别计算分发到的叶子节点的数据的校验值,使得数据可以分发到服务器集群中并行计算叶子节点的数据的校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
实施例二
如图4所示,本申请实施例提供了一种数据处理方法,该数据处理方法可以由区块链节点和服务器集群共同执行。本申请实施例以校验值为哈希hash值为例进行详细说明,对于其它形式的校验值,可以参照本申请实施例中的相关内容执行,在此不再赘述。该方法具体可以包括如下步骤:
在步骤S401中,区块链节点根据预先存储的叶子节点的数目,分别向服务器集群中的服务器发送预定数目的叶子节点的数据。
其中,预定数目可以根据实际情况设定,具体如5个或10个等,本申请实施例对此不做限定。
在实施中,在对交易的数据进行验证时,为了提高验证效率和降低资源耗费,区块链节点中的数据通常采用Merkle树的设计机制。本申请实施例为了在不改变区块链数据的现有设计机制的基础上,最大限度的提高对区块链节点中的数据的校验值的计算效率,本申请实施例中的区块链节点的数据可以依然采用Merkle树的设计机制。Merkle树中可以包括多个叶子节点(即bucket),区块链节点中可以记录有Merkle树中各个叶子节点的节点标识。当需要对交易的数据进行验证时,可以获取Merkle树中各个叶子节点的节点标识。
如图5所示,区块链节点可以基于各个叶子节点的节点标识分别获取各个叶子节点的数据,同时,还可以获取区块链节点中存储的叶子节点的数目,以及服务器集群中的服务器的数目。可以根据服务器的数目和叶子节点的数目确定每个服务器中需要分发的叶子节点的数目,例如,叶子节点共有10个,服务器集群中的服务器共有10台,则可以向每个服务器中发送一个叶子节点的数据;也可以以每两个或五个叶子节点为一组分别发送给服务器集群中的一个服务器。
在区块链节点向服务器集群分发叶子节点的数据的过程中,区块链节点还可以将叶子节点的节点标识分发给服务器集群中的服务器,服务器可以根据分发到的节点标识,向区块链节点发送包含有上述节点标识的数据获取指令,区块链节点接收到该数据获取指令后,可以提取该数据获取指令中的节点标识,可以通过该节点标识查找相应的叶子节点的数据发送给相应的服务器,这样,服务器集群可以从区块链节点中分别拉取相应的叶子节点的数据。
需要说明的是,在实际应用中,还可以根据叶子节点的数据量向服务器集群中的服务器分发叶子节点的数据,还可以通过随机的方式向服务器集群中的服务器分发叶子节点的数据等,具体可以参见上述实施例一中步骤S101的相关内容,在此不再赘述。
在步骤S402中,服务器集群计算上述分发的叶子节点的数据的校验值。
在步骤S403中,服务器集群将上述分发的叶子节点的数据的校验值发送给区块链节点。
上述步骤S402和步骤S403的具体处理过程可以参见上述实施例一中的相关内容,在此不再赘述。
在步骤S404中,区块链节点根据上述叶子节点的校验值,确定上述叶子节点对应的Merkle树的根校验值。
在实施中,区块链节点接收到服务器集群中的服务器发送的叶子节点的校验值后,可以通过叶子节点构建相应的Merkle树,由于Merkle树中叶子节点的哈希值已经确定,而只剩Merkle树中根节点的哈希值(即Merkle树的根校验值)还未得到,可以基于叶子节点的哈希值向上计算出叶子节点对应的Merkle树的哈希值,从而可以得到上述叶子节点对应的Merkle树的根校验值。
在步骤S405中,区块链节点将上述Merkle树的根校验值确定为区块链节点中的数据的根校验值。
在实际应用中,还可以由服务器集群计算上述根校验值,具体处理可以包括:计算上述分发的叶子节点的数据的校验值;基于分发的叶子节点的数据的校验值获取区块链节点中的数据的根校验值,将该根校验值发送给区块链节点,具体处理过程可以参见上述实施例一中的相关内容,在此不再赘述。
本申请实施例提供一种数据处理方法,通过将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使服务器集群中的服务器分别计算分配的叶子节点的数据的校验值,进而,根据服务器集群中的服务器计算得到的叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值,这样,通过将叶子节点的数据分发给服务器集群,然后,再通过服务器集群中的各个服务器分别计算分发到的叶子节点的数据的校验值,使得数据可以分发到服务器集群中并行计算叶子节点的数据的校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
实施例三
如图6所示,本申请实施例提供了一种数据处理方法,该数据处理方法可以由区块链节点和服务器集群共同执行。本申请实施例以校验值为哈希hash值为例进行详细说明,对于其它形式的校验值,可以参照本申请实施例中的相关内容执行,在此不再赘述。该方法具体可以包括如下步骤:
在步骤S601中,区块链节点将预先存储的叶子节点的数据,分发给服务器集群中的服务器。
上述步骤S601的具体处理过程可以参见上述实施例一和实施例二中的相关内容,在此不再赘述。
在步骤S602中,服务器集群根据上述叶子节点的数据量,将该叶子节点的数据分配到预先设置的子叶子节点中。
其中,子叶子节点与叶子节点之间不存在如从属关系、上下级关系、父系关系或子系关系等关联关系。子叶子节点可以为由一条或多条数据组成的一个数据分组,叶子节点(bucket)可以是Merkle树中的用于存储数据的容器。子叶子节点的数目可以大于叶子节点的数目,如,若叶子节点的数目为5,则子叶子节点的数目可以为20等。
在实施中,区块链节点中预先存储的叶子节点中的某一个或多个叶子节点的数据量可能会较大(如包含100万条数据等),这样,当该叶子节点的数据分发给服务器集群中的某个服务器计算其哈希值时,该服务器需要将该叶子节点中的大量数据进行拼接,得到一个拼接的字符串,然后,再计算拼接的字符串的哈希值,这个过程仍然会消耗大量的时间,而且该服务器的资源消耗依然较大,为此,可以预先设置多个子叶子节点,也可以根据实际需求为每个子叶子节点设置能够容纳的最大数据量,如1GB或500MB等。可以通过随机或均匀分配的方式将该叶子节点的数据分配到预先设置的多个子叶子节点中。
上述步骤S602的处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:对上述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在上述子叶子节点中,并为子叶子节点设置相应的子节点标识。
服务器集群可以根据其中的各个服务器的数据处理速率、计算校验值的速率,以及服务器集群中包含的服务器的数目,确定在保证数据的整体处理效率较高(如高于某一设定的效率阈值等)的基础上,每个服务器能够处理的数据的数据量,进而可以确定每一个子叶子节点能够容纳的数据量或数据条数。服务器集群可以计算各个服务器中分发的叶子节点的数据的总数据量,然后,可以对分发的叶子节点的数据根据数据存储到区块链节点中的时间等时间戳进行排序,可以从排序后的多条数据中分别为每个子叶子节点顺序地分配预定条数的数据,并根据数据的顺序分别为子叶子节点设置相应的子节点标识,以表示子叶子节点的数据在所有子叶子节点的数据中的位置。
例如,若服务器集群中的某服务器中分发的某叶子节点存储有50条数据,每条数据为5MB,则数据量为250MB,如果每个子叶子节点能够容纳的数据的数据量为25MB,则可以使用250/25得到10,因此,可以获取10个子叶子节点,并可以根据数据的顺序分别为子叶子节点设置1-10的编号作为子节点标识,通过上述处理,上述50条数据的存储位置可以为:将顺序排列的1~5条数据存储在编号为1的子叶子节点中,将顺序排列的6~10条数据存储在编号为2的子叶子节点中,将顺序排列的11~15条数据存储在编号为3的子叶子节点中,以此类推,即得到每条数据的存储位置。由于每条数据为5MB,因此,每个子叶子节点中可以包含5条数据。
在步骤S603中,服务器集群计算每个子叶子节点的数据的校验值。
在实施中,服务器集群中的服务器得到相应的子叶子节点后,可以获取各子叶子节点中存储的数据,然后,可以根据预定的校验算法计算每个子叶子节点的校验值,例如,可以将某一个子叶子节点中存储的数据进行排序,然后可以对排序后的数据,利用SHA256(Secure Hash Algorithm 256,安全哈希算法256)计算SHA256值(即哈希值)作为该子叶子节点的校验值。
在步骤S604中,服务器集群根据上述每个子叶子节点的数据的校验值,计算上述分发的叶子节点的数据的校验值。
在实施中,服务器集群得到每个子叶子节点的校验值后,可以按照子节点标识的顺序对子叶子节点的校验值进行排序,然后,可以基于各个子叶子节点的校验值,通过预定的校验算法进行汇总计算,得到相应的叶子节点的校验值,从而得到区块链节点分发的叶子节点的数据的校验值。
例如,基于上述步骤S602的示例,通过上述步骤S603的处理可以分别得到10个子叶子节点的数据的哈希值,由于10个子叶子节点的数据是由一个叶子节点的数据分配而成的,因此,可以分别得到10个子叶子节点的数据的哈希值进行如图2所示的汇总计算可以得到相应的叶子节点的哈希值。
需要说明的是,子叶子节点的数据的获取方式,也可以通过设置的子叶子节点的子节点标识通过拉取的方式获取,相应地,上述步骤S604的处理则可以为:根据上述子叶子节点的子节点标识和每个子叶子节点的校验值,计算上述分发的叶子节点的数据的校验值,具体处理可以参见上述相关内容,在此不再赘述。
在步骤S605中,服务器集群将上述分发的叶子节点的数据的校验值发送给区块链节点。
在步骤S606中,区块链节点根据上述叶子节点的校验值,确定上述叶子节点对应的Merkle树的根校验值。
在实施中,可以基于叶子节点的校验值,利用预定的校验算法计算区块链节点的数据的根校验值。例如,可以根据记录的各节点标识对应的叶子节点在区块链节点中所有叶子节点中的位置,得到叶子节点构成的节点分布树(即Merkle树),如A-B-C-F、A-B-E和A-D。当得到叶子节点的校验值(即B+C+D+E+F的校验值)后,可以基于叶子节点的校验值计算上述Merkle树的根校验值,即可得到区块链节点的数据的根校验值。
在步骤S607中,区块链节点将上述Merkle树的根校验值确定为区块链节点中的数据的根校验值。
上述步骤S605和步骤S607的具体处理过程可以参见上述实施例一和实施例二中的相关内容,在此不再赘述。
本申请实施例提供一种数据处理方法,通过将叶子节点的节点标识分发给服务器集群,使得服务器集群通过获取的目标区块链中的叶子节点存储的数据的数据量,将每预定条数的数据分配给子叶子节点,然后,计算每个子叶子节点的校验值,进而可以根据每个子叶子节点的校验值,确定相应的叶子节点的校验值,最后将叶子节点的校验值提供给区块链节点以计算区块链节点中的数据的校验值,这样,通过服务器集群将叶子节点中存储的数据重新分配,得到子叶子节点再计算其校验值,使得数据可以均匀分发到计算服务器集群中并行计算校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
实施例四
如图7所示,本申请实施例提供了一种数据处理方法,该数据处理方法可以由区块链节点和服务器集群共同执行,其中,服务器集群中还可以包括第一服务器集群和第二服务器集群,如图8所示,图8提供一种数据处理***,该***中可以包括两个层级的服务器集群,即第一服务器集群和第二服务器集群,其中,第一服务器集群位于区块链节点的下一层级,第二服务器集群位于第一服务器集群的下一层级,通过上述分层结构可以实现数据的重新组合及数据的分发处理等目的,以加快数据的处理效率。本申请实施例以校验值为哈希hash值为例进行详细说明,对于其它形式的校验值,可以参照本申请实施例中的相关内容执行,在此不再赘述。该方法具体可以包括如下步骤:
在步骤S701中,区块链节点获取预先存储的叶子节点的节点标识。
在实施中,每当在区块链节点中保存数据时,区块链节点中会相应的生成一个叶子节点,同时生成该叶子节点的节点标识,这样,区块链中可以包括多个叶子节点,每个叶子节点中存储有一定数据量的数据。每当生成节点标识时,可以存储该节点标识,并可以记录该节点标识对应的叶子节点在区块链节点的所有叶子节点中的位置,如生成的节点标识为F,其位置可以为A-B-C-F。
在步骤S702中,区块链节点将上述节点标识分发给第一服务器集群中的服务器。
在实施中,在实施中,基于上述如图8的***结构,区块链节点可以获取其包含的叶子节点中存储的数据,可以根据预先制定的某种分配规则或者随机将叶子节点的节点标识划分成一组或多组,每一组节点标识可以发送给第一服务器集群中的一个服务器。
在步骤S703中,第一服务器集群根据分发的节点标识从区块链节点中获取该节点标识对应的叶子节点的数据。
在实施中,第一服务器集群中的服务器可以通过向区块链设备发送包含有节点标识的数据获取指令的方式,从区块链节点中捞取该节点标识对应的叶子节点的数据。
在步骤S704中,第一服务器集群根据获取的叶子节点的数据量,生成一个或多个子叶子节点。
其中,如前所述,本申请实施例中的子叶子节点与上述叶子节点之间不存在如从属关系、上下级关系、父系关系或子系关系等关联。子叶子节点可以为由一条或多条数据组成的一个数据分组,叶子节点(bucket)是Merkle树中的用于存储数据的容器。
在实施中,可以预先设置子叶子节点能够容纳的数据量或数据条数,如100MB或10条等。可以计算第一服务器集群中的各个服务器分发的叶子节点的数据的总数据量,可以根据每一个子叶子节点能够容纳的数据量或数据条数,生成一个或多个子叶子节点。
在步骤S705中,第一服务器集群对上述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在相应的子叶子节点中,并为子叶子节点设置相应的子节点标识。
在实施中,可以通过反复测试的方式预先测试第一服务器集群中的任一服务器计算一条和多条数据的哈希值所消耗的时长,可以从中选取消耗的时长较短,而且服务器的处理压力相对较小时所对应的数据的条数,可以将该条数设置为预定条数,如30条或50条等。由于每一条数据在存储或区块链交易的过程中设置有时间戳,通过时间戳可以确定每一条数据的存储或交易的时间。这样,可以获取每条数据中的时间戳,通过时间戳的先后将多条数据进行排序,可以分别从排序后的多条数据中顺序选取预定条数的数据分配到相应的子叶子节点中。为了标记不同子叶子节点中分配的数据的顺序,可以基于分配的数据为相应的子叶子节点设置子节点标识。
例如,预定条数为3条,某叶子节点的数据可以包括A、B、C、D、E、F、G、H和K,通过时间戳进行排序后,上述数据的顺序可以为H-G-F-E-D-C-B-A-K,则可以将H-G-F三条数据分配到一个子叶子节点中,E-D-C三条数据分配到一个子叶子节点中,B-A-K三条数据分配到一个子叶子节点中,并且为了标记三个子叶子节点中存储的数据的顺序关系,可以将H-G-F所在的子叶子节点的子节点标识设置为子节点1,将E-D-C所在的子叶子节点的子节点标识设置为子节点2,将B-A-K所在的子叶子节点的子节点标识设置为子节点3。
在步骤S706中,第一服务器集群将子叶子节点的数据分发给第二服务器集群中的服务器。
在实施中,可以分别获取第二服务器集群中的每一个服务器当前的剩余带宽和/或数据传输速率等指标数据,可以基于获取的上述指标数据对第一服务器集群中的各个服务器的计算能力进行评估,可以根据计算能力的大小向第二服务器集群中的各服务器发送相应的子叶子节点的数据。
此外,为了尽可能的提高计算效率,还可以对分发给第二服务器集群中的服务器的子叶子节点的数目进行调整,具体地,可以分别获取第二服务器集群中每一个服务器当前的剩余带宽和/或数据传输速率等指标数据,可以基于获取的上述指标数据对各个服务器的计算能力进行评估,可以根据计算能力的大小为第二服务器集群中的各服务器分配相应的子叶子节点,例如,第二服务器集群中包括5个服务器,可以为每个服务器预分配2个子叶子节点,若通过计算确定第二服务器集群中的某服务器的计算能力最强,则可以将上述10个子叶子节点中的3个子叶子节点的数据发送给该服务器,若通过计算确定第二服务器集群中的某服务器的计算能力最弱,则可以将上述10个子叶子节点中的1个子叶子节点的数据发送给该服务器。通过上述方式可以将生成的一个或多个子叶子节点均衡的提供给第二服务器集群中的各个服务器。
在步骤S707中,第二服务器集群计算每个子叶子节点的哈希值,并将其反馈给相应的第一服务器集群中的服务器。
在实施中,第二服务器集群中的服务器接收到相应的子叶子节点后,可以提取每个子叶子节点中的数据,并可以根据各条数据的时间戳的先后将其顺序排列,可以获取顺序排列的数据的组成的字符串,使用预定的哈希算法计算该字符串的哈希值,即为该子叶子节点的哈希值。通过上述方法,第二服务器集群可以得到每个子叶子节点的哈希值,然后,可以分别通过相应的服务器发送给对应的第一服务器集群中的服务器。
在步骤S708中,第一服务器集群根据第二服务器集群发送的每个子叶子节点的哈希值和子叶子节点的子节点标识,确定上述分发的叶子节点的哈希值。
在实施中,第一服务器集群中的服务器接收到第二服务器集群返回的子叶子节点的校验值后,可以分别获取每个子叶子节点的子节点标识,然后,可以根据每个子叶子节点的子节点标识对子叶子节点进行排序,可以对排序后的子叶子节点进行哈希值汇总,得到上述子叶子节点的哈希值。例如,可以根据子叶子节点的排列顺序,确定子叶子节点的哈希值的排列顺序,可以将顺序排列的哈希值组成为字符串,使用预定的哈希算法计算该字符串的哈希值,即为相应的叶子节点的哈希值。此外,还可以通过其它哈希值汇总的方式确定上述叶子节点的哈希值,例如,计算一个或多个子叶子节点的哈希值的平均值作为上述叶子节点的哈希值,或者,基于每个子叶子节点的权重和每个子叶子节点的哈希值计算得到上述叶子节点的哈希值等。
在步骤S709中,第一服务器集群将上述分发的叶子节点的哈希值发送给区块链节点。
在步骤S710中,区块链节点根据上述叶子节点的校验值,确定上述叶子节点对应的Merkle树的根校验值,将上述Merkle树的根校验值确定为区块链节点中的数据的根校验值。
本申请实施例提供一种数据处理方法,通过区块链节点中的叶子节点的数据的数据量,生成一个或多个分配有预定条数的数据的子叶子节点,然后,将子叶子节点分发给第二服务器集群计算每个子叶子节点的校验值,进而可以根据每个子叶子节点的校验值,确定相应的叶子节点的校验值,最后将叶子节点的校验值提供给区块链节点以计算区块链节点中的数据的根校验值,这样,通过第一服务器集群将叶子节点中存储的数据重新分配,得到子叶子节点,再分发给第二服务器集群计算校验值,使得数据可以均匀分发到第二服务器集群中并行计算校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
实施例五
以上为本申请实施例提供的数据处理方法,基于同样的思路,本申请实施例还提供一种数据处理装置,如图9所示。
所述数据处理装置可以是上述实施例提供的区块链节点,具体可以为终端设备(如个人计算机等)或服务器等,该装置可包括数据分发模块901和根校验值获取模块902,其中:
数据分发模块901,用于将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使所述服务器集群中的服务器分别计算分配的叶子节点的数据的校验值;
根校验值获取模块902,用于根据所述服务器集群中的服务器计算得到的所述叶子节点的数据的校验值,进一步获取所述区块链节点中的数据的根校验值。
本申请实施例中,所述根校验值获取模块902,用于接收所述服务器集群中的服务器发送的所述区块链节点中的数据的根校验值。
本申请实施例中,所述根校验值获取模块902,用于根据所述叶子节点的校验值,确定所述叶子节点对应的Merkle树的根校验值;将所述Merkle树的根校验值确定为所述区块链节点中的数据的根校验值。
本申请实施例中,所述数据分发模块901,用于根据所述区块链节点中预先存储的叶子节点的数目,分别向所述服务器集群中的服务器发送预定数目的叶子节点的数据。
本申请实施例中,所述校验值为哈希值。
本申请实施例提供一种数据处理装置,通过将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使服务器集群中的服务器分别计算分配的叶子节点的数据的校验值,进而,根据服务器集群中的服务器计算得到的叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值,这样,通过将叶子节点的数据分发给服务器集群,然后,再通过服务器集群中的各个服务器分别计算分发到的叶子节点的数据的校验值,使得数据可以分发到服务器集群中并行计算叶子节点的数据的校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
实施例四
基于同样的思路,本申请实施例还提供一种数据处理装置,如图10所示。
所述数据处理装置可以是上述实施例提供的服务器集群,该装置可包括数据接收模块1001和校验值获取模块1002,其中:
数据接收模块1001,用于接收区块链节点分发的叶子节点的数据;
校验值获取模块1002,用于计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值。
本申请实施例中,所述装置还包括:
数据分配模块,用于根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中;
计算模块,用于计算每个子叶子节点的数据的校验值;
相应的,所述校验值获取模块1002,用于根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值。
本申请实施例中,所述数据分配模块,用于对所述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在所述子叶子节点中,并为所述子叶子节点设置相应的子节点标识;
相应地,所述校验值获取模块1002,用于根据所述子叶子节点的子节点标识和每个所述子叶子节点的校验值,计算所述分发的叶子节点的数据的校验值。
本申请实施例中,所述校验值获取模块1002,用于计算所述分发的叶子节点的数据的校验值,将所述分发的叶子节点的数据的校验值发送给所述区块链节点,以使所述区块链节点根据所述叶子节点的数据的校验值计算所述区块链节点中的数据的根校验值;或者,计算所述分发的叶子节点的数据的校验值;基于所述分发的叶子节点的数据的校验值获取所述区块链节点中的数据的根校验值,将所述根校验值发送给所述区块链节点。
本申请实施例提供一种数据处理装置,通过将区块链节点中预先存储的叶子节点的数据,分发给服务器集群中的服务器,以使服务器集群中的服务器分别计算分配的叶子节点的数据的校验值,进而,根据服务器集群中的服务器计算得到的叶子节点的数据的校验值,进一步获取区块链节点中的数据的根校验值,这样,通过将叶子节点的数据分发给服务器集群,然后,再通过服务器集群中的各个服务器分别计算分发到的叶子节点的数据的校验值,使得数据可以分发到服务器集群中并行计算叶子节点的数据的校验值,从而可以缩短计算过程消耗的时间,提高计算效率,保证区块的正常生成,以及区块链的正常运行。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种数据处理方法,其特征在于,所述方法包括:
获取Merkle树中叶子节点的节点标识,基于所述叶子节点的节点标识获取所述叶子节点的数据;
将区块链节点中预先存储的所述叶子节点的数据划分为多个不同的部分,分发给服务器集群中的服务器,以使所述服务器集群中的服务器分别计算分配的叶子节点的数据的校验值;
根据所述服务器集群中的服务器计算得到的所述叶子节点的数据的校验值,进一步获取所述区块链节点中的数据的根校验值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述服务器集群中的服务器计算得到的所述叶子节点的校验值,进一步获取所述区块链节点中的数据的根校验值,包括:
接收所述服务器集群中的服务器发送的所述区块链节点中的数据的根校验值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述服务器集群中的服务器计算得到的所述叶子节点的校验值,进一步获取所述区块链节点中的数据的根校验值,包括:
根据所述叶子节点的校验值,确定所述叶子节点对应的Merkle树的根校验值;
将所述Merkle树的根校验值确定为所述区块链节点中的数据的根校验值。
4.根据权利要求1所述的方法,其特征在于,所述将区块链节点中预先存储的叶子节点的数据划分为多个不同的部分,分发给服务器集群中的服务器,包括:
根据所述区块链节点中预先存储的叶子节点的数目,分别向所述服务器集群中的服务器发送预定数目的叶子节点的数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述校验值为哈希值。
6.一种数据处理方法,其特征在于,所述方法包括:
接收区块链节点分发的叶子节点的数据,所述分发的叶子节点的数据是所述区块链节点获取Merkle树中叶子节点的节点标识,基于所述叶子节点的节点标识获取所述叶子节点的数据,并将预先存储的所述叶子节点的数据划分为多个不同的部分中的一部分或多个部分的数据;
计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值。
7.根据权利要求6所述的方法,其特征在于,所述接收区块链节点分发的叶子节点的数据之后,所述方法还包括:
根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中;
计算每个子叶子节点的数据的校验值;
相应的,所述计算所述分发的叶子节点的数据的校验值,包括:
根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中,包括:
对所述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在所述子叶子节点中,并为所述子叶子节点设置相应的子节点标识;
相应地,所述根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值,包括:
根据所述子叶子节点的子节点标识和每个所述子叶子节点的校验值,计算所述分发的叶子节点的数据的校验值。
9.根据权利要求6所述的方法,其特征在于,所述计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值,包括:
计算所述分发的叶子节点的数据的校验值,将所述分发的叶子节点的数据的校验值发送给所述区块链节点,以使所述区块链节点根据所述叶子节点的数据的校验值计算所述区块链节点中的数据的根校验值;或者,
计算所述分发的叶子节点的数据的校验值;基于所述分发的叶子节点的数据的校验值获取所述区块链节点中的数据的根校验值,将所述根校验值发送给所述区块链节点。
10.一种数据处理装置,其特征在于,所述装置包括:
所述装置,用于获取Merkle树中叶子节点的节点标识,基于所述叶子节点的节点标识获取所述叶子节点的数据;
数据分发模块,用于将区块链节点中预先存储的叶子节点的数据划分为多个不同的部分,分发给服务器集群中的服务器,以使所述服务器集群中的服务器分别计算分配的叶子节点的数据的校验值;
根校验值获取模块,用于根据所述服务器集群中的服务器计算得到的所述叶子节点的数据的校验值,进一步获取所述区块链节点中的数据的根校验值。
11.根据权利要求10所述的装置,其特征在于,所述根校验值获取模块,用于接收所述服务器集群中的服务器发送的所述区块链节点中的数据的根校验值。
12.根据权利要求10所述的装置,其特征在于,所述根校验值获取模块,用于根据所述叶子节点的校验值,确定所述叶子节点对应的Merkle树的根校验值;将所述Merkle树的根校验值确定为所述区块链节点中的数据的根校验值。
13.根据权利要求10所述的装置,其特征在于,所述数据分发模块,用于根据所述区块链节点中预先存储的叶子节点的数目,分别向所述服务器集群中的服务器发送预定数目的叶子节点的数据。
14.根据权利要求10-13中任一项所述的装置,其特征在于,所述校验值为哈希值。
15.一种数据处理装置,其特征在于,所述装置包括:
数据接收模块,用于接收区块链节点分发的叶子节点的数据,所述分发的叶子节点的数据是所述区块链节点获取Merkle树中叶子节点的节点标识,基于所述叶子节点的节点标识获取所述叶子节点的数据,并将预先存储的所述叶子节点的数据划分为多个不同的部分中的一部分或多个部分的数据;
校验值获取模块,用于计算所述分发的叶子节点的数据的校验值,以用于获取所述区块链节点中的数据的根校验值。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
数据分配模块,用于根据所述叶子节点的数据量,将所述叶子节点的数据分配到预先设置的子叶子节点中;
计算模块,用于计算每个子叶子节点的数据的校验值;
相应的,所述校验值获取模块,用于根据所述每个子叶子节点的数据的校验值,计算所述分发的叶子节点的数据的校验值。
17.根据权利要求16所述的装置,其特征在于,所述数据分配模块,用于对所述叶子节点的数据进行排序,从排序后的数据中顺序选取预定条数的数据分别设置在所述子叶子节点中,并为所述子叶子节点设置相应的子节点标识;
相应地,所述校验值获取模块,用于根据所述子叶子节点的子节点标识和每个所述子叶子节点的校验值,计算所述分发的叶子节点的数据的校验值。
18.根据权利要求15所述的装置,其特征在于,所述校验值获取模块,用于计算所述分发的叶子节点的数据的校验值,将所述分发的叶子节点的数据的校验值发送给所述区块链节点,以使所述区块链节点根据所述叶子节点的数据的校验值计算所述区块链节点中的数据的根校验值;或者,计算所述分发的叶子节点的数据的校验值;基于所述分发的叶子节点的数据的校验值获取所述区块链节点中的数据的根校验值,将所述根校验值发送给所述区块链节点。
Priority Applications (20)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710085752.6A CN107040582B (zh) | 2017-02-17 | 2017-02-17 | 一种数据处理方法及装置 |
TW106139293A TWI682652B (zh) | 2017-02-17 | 2017-11-14 | 資料處理方法及裝置 |
CA3051065A CA3051065C (en) | 2017-02-17 | 2018-02-07 | Data processing method and device |
MX2019009291A MX2019009291A (es) | 2017-02-17 | 2018-02-07 | Metodo y dispositivo de procesamiento de datos. |
SG11201906738SA SG11201906738SA (en) | 2017-02-17 | 2018-02-07 | Data processing method and device |
AU2018221097A AU2018221097B2 (en) | 2017-02-17 | 2018-02-07 | Data processing method and device |
KR1020197022496A KR102284972B1 (ko) | 2017-02-17 | 2018-02-07 | 데이터 처리 방법 및 디바이스 |
BR112019016423-5A BR112019016423B1 (pt) | 2017-02-17 | 2018-02-07 | Dispositivos e métodos de processamento de dados |
ES18753905T ES2859560T3 (es) | 2017-02-17 | 2018-02-07 | Método y dispositivo de procesamiento de datos |
PL18753905T PL3554051T3 (pl) | 2017-02-17 | 2018-02-07 | Sposób i urządzenie do przetwarzania danych |
EP18753905.1A EP3554051B1 (en) | 2017-02-17 | 2018-02-07 | Data processing method and device |
MYPI2019004022A MY190059A (en) | 2017-02-17 | 2018-02-07 | Data processing method and device |
JP2019544724A JP6940615B2 (ja) | 2017-02-17 | 2018-02-07 | データ処理方法およびデバイス |
PCT/CN2018/075571 WO2018149345A1 (zh) | 2017-02-17 | 2018-02-07 | 一种数据处理方法及装置 |
RU2019122450A RU2724136C1 (ru) | 2017-02-17 | 2018-02-07 | Способ и устройство обработки данных |
US16/507,983 US11392612B2 (en) | 2017-02-17 | 2019-07-10 | Data processing method and device |
ZA2019/04735A ZA201904735B (en) | 2017-02-17 | 2019-07-18 | Data processing method and device |
PH12019501852A PH12019501852A1 (en) | 2017-02-17 | 2019-08-08 | Data processing method and device |
AU2019101603A AU2019101603A4 (en) | 2017-02-17 | 2019-12-16 | Data processing method and device |
US16/774,929 US10747780B2 (en) | 2017-02-17 | 2020-01-28 | Blockchain-based data processing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710085752.6A CN107040582B (zh) | 2017-02-17 | 2017-02-17 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107040582A CN107040582A (zh) | 2017-08-11 |
CN107040582B true CN107040582B (zh) | 2020-08-14 |
Family
ID=59533525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710085752.6A Active CN107040582B (zh) | 2017-02-17 | 2017-02-17 | 一种数据处理方法及装置 |
Country Status (18)
Country | Link |
---|---|
US (2) | US11392612B2 (zh) |
EP (1) | EP3554051B1 (zh) |
JP (1) | JP6940615B2 (zh) |
KR (1) | KR102284972B1 (zh) |
CN (1) | CN107040582B (zh) |
AU (2) | AU2018221097B2 (zh) |
BR (1) | BR112019016423B1 (zh) |
CA (1) | CA3051065C (zh) |
ES (1) | ES2859560T3 (zh) |
MX (1) | MX2019009291A (zh) |
MY (1) | MY190059A (zh) |
PH (1) | PH12019501852A1 (zh) |
PL (1) | PL3554051T3 (zh) |
RU (1) | RU2724136C1 (zh) |
SG (1) | SG11201906738SA (zh) |
TW (1) | TWI682652B (zh) |
WO (1) | WO2018149345A1 (zh) |
ZA (1) | ZA201904735B (zh) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040582B (zh) | 2017-02-17 | 2020-08-14 | 创新先进技术有限公司 | 一种数据处理方法及装置 |
CN107612973B (zh) * | 2017-08-18 | 2020-12-11 | 暨南大学 | 用于智能移动端的区块链结构、生成方法及交易验证方法 |
CN107705208A (zh) * | 2017-10-12 | 2018-02-16 | 南京网数信息科技有限公司 | 一种基于哈希树的数字资产处理方法和*** |
CN107992356B (zh) * | 2017-12-13 | 2021-09-14 | 深圳壹账通智能科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN108521328B (zh) * | 2018-03-26 | 2020-08-28 | 杭州秘猿科技有限公司 | 一种区块链共识方法、装置及电子设备 |
WO2019207503A1 (en) | 2018-04-27 | 2019-10-31 | nChain Holdings Limited | Partitioning a blockchain network |
CN109032803B (zh) | 2018-08-01 | 2021-02-12 | 创新先进技术有限公司 | 数据处理方法和装置、客户端 |
CN109359222B (zh) * | 2018-08-06 | 2021-07-06 | 杭州复杂美科技有限公司 | 数据存储方法及***、设备和存储介质 |
CN109412600A (zh) * | 2018-09-03 | 2019-03-01 | 何祥果 | 一种基于磁性特征的标识号编码方法 |
WO2020056570A1 (zh) * | 2018-09-18 | 2020-03-26 | 柯宾汉数位金融科技有限公司 | 应用分片机制的区块网的区块产生方法及区块网*** |
CN109345388B (zh) * | 2018-09-20 | 2020-09-08 | 百度在线网络技术(北京)有限公司 | 区块链智能合约验证方法、装置及存储介质 |
CN109360095A (zh) * | 2018-09-27 | 2019-02-19 | 深圳技术大学(筹) | 一种区块链交易数据的处理方法、装置及终端设备 |
CN109361661B (zh) * | 2018-10-08 | 2020-07-10 | 莆田市烛火信息技术有限公司 | 一种依附相关链算力的区块链的共识装置 |
US11520773B2 (en) | 2018-10-09 | 2022-12-06 | International Business Machines Corporation | Blockchain notification board storing blockchain resources |
US11303442B2 (en) | 2018-10-09 | 2022-04-12 | International Business Machines Corporation | Blockchain notification board storing blockchain resources |
US10997159B2 (en) * | 2018-10-09 | 2021-05-04 | International Business Machines Corporation | Blockchain notification board storing blockchain resources |
CN109658238B (zh) * | 2018-10-26 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN109754251B (zh) * | 2018-12-27 | 2022-02-01 | 石更箭数据科技(上海)有限公司 | 一种数据处理方法及其装置、介质、终端 |
US20220092209A1 (en) * | 2019-01-10 | 2022-03-24 | Bitnobi, Inc. | Distributed governance for sharing of big data |
CN110009510A (zh) * | 2019-01-22 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理***、方法、计算设备及存储介质 |
TWI708154B (zh) * | 2019-04-24 | 2020-10-21 | 國際信任機器股份有限公司 | 適用於區塊鏈與鏈下間協作的驗證系統與方法 |
SG11202002912XA (en) * | 2019-08-01 | 2021-03-30 | Advanced New Technologies Co Ltd | Shared blockchain data storage based on error correction code |
CN110528600A (zh) * | 2019-08-06 | 2019-12-03 | 福建工大岩土工程研究所有限公司 | 一种桩基检测***及方法 |
CN110445684B (zh) * | 2019-08-09 | 2021-04-02 | 中国信息通信研究院 | 一种区块链性能基准测试方法和装置 |
KR102163930B1 (ko) * | 2019-09-30 | 2020-10-12 | 넷마블 주식회사 | 블록체인 보상을 통한 분산 컴파일 시스템 |
CN110753105B (zh) * | 2019-10-17 | 2022-09-06 | 中国建设银行股份有限公司 | 数据传输方法、装置、***、电子设备及存储介质 |
US11838400B2 (en) * | 2019-11-19 | 2023-12-05 | International Business Machines Corporation | Image encoding for blockchain |
TWI728571B (zh) * | 2019-11-26 | 2021-05-21 | 中華電信股份有限公司 | 區塊鏈服務的資源管理方法及系統 |
CN111209336B (zh) * | 2019-12-30 | 2020-09-15 | 广州博士信息技术研究院有限公司 | 基于区块链的数据分配方法、装置及服务器 |
CN111367916B (zh) * | 2020-03-04 | 2023-03-31 | 浙江大华技术股份有限公司 | 一种数据存储方法及装置 |
CN111488343A (zh) * | 2020-04-08 | 2020-08-04 | 北京瑞策科技有限公司 | 基于业务数据区块链的电商数据上链方法及装置 |
CN111708844B (zh) * | 2020-08-24 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及设备 |
CN112905607B (zh) * | 2021-05-07 | 2022-02-01 | 支付宝(杭州)信息技术有限公司 | 区块链数据存储方法及装置、电子设备 |
CN112988908B (zh) * | 2021-05-07 | 2021-10-15 | 支付宝(杭州)信息技术有限公司 | 区块链数据存储方法及装置、电子设备 |
CN112988912B (zh) * | 2021-05-07 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 区块链数据存储方法及装置、电子设备 |
CN112988761B (zh) * | 2021-05-07 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 区块链数据存储方法及装置、电子设备 |
CN113839989B (zh) * | 2021-08-28 | 2022-08-05 | 西安交通大学 | 一种多节点数据处理方法 |
CN113765665B (zh) * | 2021-11-10 | 2022-02-08 | 济南量子技术研究院 | 基于量子密钥的区块链网络及数据安全传输方法 |
CN114466004A (zh) * | 2022-03-24 | 2022-05-10 | 成都新希望金融信息有限公司 | 一种文件传输方法、***、电子设备及存储介质 |
CN114844911A (zh) * | 2022-04-20 | 2022-08-02 | 网易(杭州)网络有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651719A (zh) * | 2009-09-11 | 2010-02-17 | 广东宇天信通通信科技有限公司 | 通信***、均衡服务器及数据验证方法 |
CN102158559A (zh) * | 2011-04-18 | 2011-08-17 | 浙江工业大学 | 一种基于p2p网络的负载均衡的方法 |
CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
CN105868369A (zh) * | 2016-03-30 | 2016-08-17 | 电子科技大学 | 一种基于Merkle树结构的数据模型验证***与方法 |
CN106126722A (zh) * | 2016-06-30 | 2016-11-16 | 中国科学院计算技术研究所 | 一种基于验证的前缀混合树及设计方法 |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5924094A (en) * | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
EP1654649B1 (en) | 2003-08-14 | 2015-12-23 | Oracle International Corporation | On demand node and server instance allocation and de-allocation |
US20070038572A1 (en) * | 2005-08-09 | 2007-02-15 | International Business Machines Corporation | Method, system and computer program for metering software usage |
JP2007257556A (ja) | 2006-03-26 | 2007-10-04 | Wiz Win Kk | 文字入力装置 |
JP4767057B2 (ja) * | 2006-03-27 | 2011-09-07 | 富士通株式会社 | ハッシュ値生成プログラム、ストレージ管理プログラム、判定プログラム及びデータ変更検証装置 |
US8204912B2 (en) * | 2006-09-08 | 2012-06-19 | Oracle International Corporation | Insertion rate aware b-tree |
US7992037B2 (en) * | 2008-09-11 | 2011-08-02 | Nec Laboratories America, Inc. | Scalable secondary storage systems and methods |
US9740727B2 (en) * | 2008-10-10 | 2017-08-22 | Abb Schweiz Ag | Method and a system for replicating databases |
US8345707B2 (en) | 2009-06-03 | 2013-01-01 | Voxer Ip Llc | Method for synchronizing data maintained at a plurality of nodes |
CA2810991C (en) | 2010-09-09 | 2016-06-21 | Nec Corporation | Storage system |
TWI483138B (zh) * | 2012-10-12 | 2015-05-01 | Acer Inc | 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體 |
CN103902617B (zh) | 2012-12-28 | 2017-06-09 | 华为技术有限公司 | 分布式数据库同步方法和*** |
US20140245020A1 (en) * | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification System and Method with Extra Security for Lower-Entropy Input Records |
RU2609078C2 (ru) | 2013-08-29 | 2017-01-30 | Общество С Ограниченной Ответственностью "Яндекс" | Система управления индексацией партнерских объявлений |
US9870591B2 (en) | 2013-09-12 | 2018-01-16 | Netspective Communications Llc | Distributed electronic document review in a blockchain system and computerized scoring based on textual and visual feedback |
EP3095044B1 (en) * | 2013-11-19 | 2020-09-23 | Top Galore Limited | Block mining methods and apparatus |
US9256549B2 (en) | 2014-01-17 | 2016-02-09 | Netapp, Inc. | Set-associative hash table organization for efficient storage and retrieval of data in a storage system |
US10664530B2 (en) | 2014-03-08 | 2020-05-26 | Microsoft Technology Licensing, Llc | Control of automated tasks executed over search engine results |
US20160098723A1 (en) | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
RU2580425C1 (ru) | 2014-11-28 | 2016-04-10 | Общество С Ограниченной Ответственностью "Яндекс" | Способ структуризации хранящихся объектов в связи с пользователем на сервере и сервер |
US9659047B2 (en) * | 2014-12-03 | 2017-05-23 | Netapp, Inc. | Data deduplication utilizing extent ID database |
US9547555B2 (en) * | 2015-01-12 | 2017-01-17 | Microsoft Technology Licensing, Llc | Change tracking using redundancy in logical time |
PT3259871T (pt) * | 2015-02-20 | 2020-11-10 | Ericsson Telefon Ab L M | Método para proporcionar um valor de dispersão para uma parte de dados, dispositivo eletrónico e programa de computador |
US9911007B2 (en) * | 2015-02-27 | 2018-03-06 | Guardtime IP Holdings, Ltd. | Redundant fail-safe synchronization in a data authentication infrastructure |
US10503445B2 (en) * | 2015-03-23 | 2019-12-10 | Netapp, Inc. | Data structure store and data management |
US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
SG11201708000PA (en) | 2015-03-31 | 2017-10-30 | Nasdaq Inc | Systems and methods of blockchain transaction recordation |
US10509684B2 (en) | 2015-04-06 | 2019-12-17 | EMC IP Holding Company LLC | Blockchain integration for scalable distributed computations |
EP3281145B1 (en) * | 2015-04-10 | 2019-11-06 | Telefonaktiebolaget LM Ericsson (publ) | Verification paths of leaves of a tree |
US20160306373A1 (en) * | 2015-04-16 | 2016-10-20 | Fujitsu Limited | Authenticated down-sampling of time-series data |
JP6571375B2 (ja) * | 2015-04-24 | 2019-09-04 | 国立大学法人 筑波大学 | 著作物保護支援装置 |
AU2016288644A1 (en) | 2015-07-02 | 2018-02-22 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US9298806B1 (en) | 2015-07-08 | 2016-03-29 | Coinlab, Inc. | System and method for analyzing transactions in a distributed ledger |
US20170011460A1 (en) | 2015-07-09 | 2017-01-12 | Ouisa, LLC | Systems and methods for trading, clearing and settling securities transactions using blockchain technology |
US20170031676A1 (en) | 2015-07-27 | 2017-02-02 | Deja Vu Security, Llc | Blockchain computer data distribution |
US10303887B2 (en) * | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
US10713210B2 (en) * | 2015-10-13 | 2020-07-14 | Microsoft Technology Licensing, Llc | Distributed self-directed lock-free RDMA-based B-tree key-value manager |
EP3362965A4 (en) | 2015-10-13 | 2019-08-07 | Transactive Grid Inc. | USING A DISTRIBUTED CONSENSUS CONTROL BASED ON A BLOCK CHAIN |
AU2017216289A1 (en) | 2016-02-04 | 2018-09-27 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computer systems |
US20170243193A1 (en) * | 2016-02-18 | 2017-08-24 | Skuchain, Inc. | Hybrid blockchain |
KR101637868B1 (ko) * | 2016-02-22 | 2016-07-08 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
US10475030B2 (en) | 2016-02-22 | 2019-11-12 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
US20170264428A1 (en) | 2016-03-08 | 2017-09-14 | Manifold Technology, Inc. | Data storage system with blockchain technology |
US9985964B2 (en) | 2016-03-28 | 2018-05-29 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
US10204341B2 (en) | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
US20170345011A1 (en) * | 2016-05-26 | 2017-11-30 | Hitfin, Inc. | System and method executed on a blockchain network |
CN106330431A (zh) * | 2016-08-29 | 2017-01-11 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的数据处理方法、装置及*** |
US10177908B2 (en) * | 2016-08-30 | 2019-01-08 | Workday, Inc. | Secure storage decryption system |
US10187203B2 (en) * | 2016-08-30 | 2019-01-22 | Workday, Inc. | Secure storage encryption system |
US10785022B2 (en) | 2016-09-13 | 2020-09-22 | Hiroshi Watanabe | Network without abuse of a private key |
US10565570B2 (en) * | 2016-09-27 | 2020-02-18 | The Toronto-Dominion Bank | Processing network architecture with companion database |
US10339014B2 (en) * | 2016-09-28 | 2019-07-02 | Mcafee, Llc | Query optimized distributed ledger system |
US20180114205A1 (en) | 2016-10-21 | 2018-04-26 | Bank Of America Corporation | Distributed ledger system for providing aggregate tracking and threshold triggering |
CN106341421B (zh) * | 2016-10-31 | 2019-04-02 | 杭州云象网络技术有限公司 | 一种基于区块链技术的数据交换方法 |
US10169872B2 (en) * | 2016-11-02 | 2019-01-01 | International Business Machines Corporation | Classification of severity of pathological condition using hybrid image representation |
US10116450B1 (en) | 2016-11-02 | 2018-10-30 | ISARA Corporation | Merkle signature scheme using subtrees |
CN106603198A (zh) | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及*** |
US10243939B2 (en) * | 2016-12-23 | 2019-03-26 | Amazon Technologies, Inc. | Key distribution in a distributed computing environment |
CN106796688B (zh) | 2016-12-26 | 2020-12-18 | 深圳前海达闼云端智能科技有限公司 | 区块链的权限控制方法、装置、***及节点设备 |
US10523526B2 (en) * | 2016-12-28 | 2019-12-31 | Acronis International Gmbh | System and method for managing services and licenses using a blockchain network |
US10447480B2 (en) * | 2016-12-30 | 2019-10-15 | Guardtime Sa | Event verification receipt system and methods |
DE112017006701T5 (de) | 2016-12-30 | 2019-09-19 | Intel Corporation | Internet der Dinge |
CN106686087A (zh) | 2016-12-30 | 2017-05-17 | 先锋支付有限公司 | 一种区块链截断方法及分布式节点 |
US10572872B2 (en) | 2017-01-06 | 2020-02-25 | FirstBlood Technologies, Inc. | Decentralized competitive arbitration using digital ledgering |
CN107040582B (zh) | 2017-02-17 | 2020-08-14 | 创新先进技术有限公司 | 一种数据处理方法及装置 |
-
2017
- 2017-02-17 CN CN201710085752.6A patent/CN107040582B/zh active Active
- 2017-11-14 TW TW106139293A patent/TWI682652B/zh active
-
2018
- 2018-02-07 JP JP2019544724A patent/JP6940615B2/ja active Active
- 2018-02-07 CA CA3051065A patent/CA3051065C/en active Active
- 2018-02-07 PL PL18753905T patent/PL3554051T3/pl unknown
- 2018-02-07 KR KR1020197022496A patent/KR102284972B1/ko active IP Right Grant
- 2018-02-07 EP EP18753905.1A patent/EP3554051B1/en active Active
- 2018-02-07 SG SG11201906738SA patent/SG11201906738SA/en unknown
- 2018-02-07 WO PCT/CN2018/075571 patent/WO2018149345A1/zh unknown
- 2018-02-07 MX MX2019009291A patent/MX2019009291A/es unknown
- 2018-02-07 MY MYPI2019004022A patent/MY190059A/en unknown
- 2018-02-07 AU AU2018221097A patent/AU2018221097B2/en active Active
- 2018-02-07 ES ES18753905T patent/ES2859560T3/es active Active
- 2018-02-07 BR BR112019016423-5A patent/BR112019016423B1/pt active IP Right Grant
- 2018-02-07 RU RU2019122450A patent/RU2724136C1/ru active
-
2019
- 2019-07-10 US US16/507,983 patent/US11392612B2/en active Active
- 2019-07-18 ZA ZA2019/04735A patent/ZA201904735B/en unknown
- 2019-08-08 PH PH12019501852A patent/PH12019501852A1/en unknown
- 2019-12-16 AU AU2019101603A patent/AU2019101603A4/en active Active
-
2020
- 2020-01-28 US US16/774,929 patent/US10747780B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651719A (zh) * | 2009-09-11 | 2010-02-17 | 广东宇天信通通信科技有限公司 | 通信***、均衡服务器及数据验证方法 |
CN102158559A (zh) * | 2011-04-18 | 2011-08-17 | 浙江工业大学 | 一种基于p2p网络的负载均衡的方法 |
CN105719185A (zh) * | 2016-01-22 | 2016-06-29 | 杭州复杂美科技有限公司 | 区块链的数据对比及共识方法 |
CN105868369A (zh) * | 2016-03-30 | 2016-08-17 | 电子科技大学 | 一种基于Merkle树结构的数据模型验证***与方法 |
CN106126722A (zh) * | 2016-06-30 | 2016-11-16 | 中国科学院计算技术研究所 | 一种基于验证的前缀混合树及设计方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2724136C1 (ru) | 2020-06-22 |
PH12019501852A1 (en) | 2020-06-15 |
TW201832099A (zh) | 2018-09-01 |
ES2859560T3 (es) | 2021-10-04 |
US20200167366A1 (en) | 2020-05-28 |
BR112019016423A2 (pt) | 2020-04-07 |
JP6940615B2 (ja) | 2021-09-29 |
AU2018221097A1 (en) | 2019-08-01 |
EP3554051A4 (en) | 2020-01-01 |
KR102284972B1 (ko) | 2021-08-03 |
CN107040582A (zh) | 2017-08-11 |
CA3051065A1 (en) | 2018-08-23 |
MX2019009291A (es) | 2019-10-30 |
PL3554051T3 (pl) | 2021-07-05 |
US20190332608A1 (en) | 2019-10-31 |
BR112019016423B1 (pt) | 2021-08-31 |
CA3051065C (en) | 2020-08-18 |
TWI682652B (zh) | 2020-01-11 |
EP3554051B1 (en) | 2021-01-20 |
KR20190098765A (ko) | 2019-08-22 |
JP2020507866A (ja) | 2020-03-12 |
US11392612B2 (en) | 2022-07-19 |
SG11201906738SA (en) | 2019-09-27 |
US10747780B2 (en) | 2020-08-18 |
ZA201904735B (en) | 2020-08-26 |
EP3554051A1 (en) | 2019-10-16 |
AU2019101603A4 (en) | 2020-01-23 |
AU2018221097B2 (en) | 2020-07-09 |
WO2018149345A1 (zh) | 2018-08-23 |
MY190059A (en) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107040582B (zh) | 一种数据处理方法及装置 | |
CN107196900B (zh) | 一种共识校验的方法及装置 | |
CN107450979B (zh) | 一种区块链共识方法及装置 | |
CN111917864B (zh) | 一种业务校验的方法及装置 | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
CN111767143A (zh) | 交易数据处理方法、装置、设备及*** | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN104298687B (zh) | 一种哈希分区管理方法及装置 | |
CN109191287A (zh) | 一种区块链智能合约的分片方法、装置及电子设备 | |
CN104965760A (zh) | 一种管理软件功能模块生命周期的方法和装置 | |
CN116305298B (zh) | 一种算力资源管理方法、装置、存储介质及电子设备 | |
CN111767144A (zh) | 交易数据的交易路由确定方法、装置、设备及*** | |
CN110032470A (zh) | 一种基于哈夫曼树的异构部分重复码的构造方法 | |
CN115129728A (zh) | 一种文件校验的方法及装置 | |
CN106909556A (zh) | 内存集群的存储均衡方法及装置 | |
CN107276912B (zh) | 存储器、报文处理方法及分布式存储*** | |
US10387578B1 (en) | Utilization limiting for nested object queries | |
CN109151016B (zh) | 流量转发方法和装置、服务***、计算设备及存储介质 | |
CN111258955A (zh) | 一种文件读取方法和***、存储介质、计算机设备 | |
CN116366667A (zh) | 区块链网络的数据传输方法、装置、电子设备及存储介质 | |
CN115016860A (zh) | 业务的冷启动方法、装置及设备 | |
CN116055508A (zh) | 区块链网络的数据同步方法及装置 | |
CN117273924A (zh) | 交易执行方法及装置和电子设备 | |
Wang et al. | An Efficient Storage Optimization Scheme for Blockchain Based on Hash Slot | |
CN117808587A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191210 Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands Applicant after: Innovative advanced technology Co., Ltd Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |