CN111507695A - 数据处理方法、装置、节点设备及存储介质 - Google Patents
数据处理方法、装置、节点设备及存储介质 Download PDFInfo
- Publication number
- CN111507695A CN111507695A CN202010309212.3A CN202010309212A CN111507695A CN 111507695 A CN111507695 A CN 111507695A CN 202010309212 A CN202010309212 A CN 202010309212A CN 111507695 A CN111507695 A CN 111507695A
- Authority
- CN
- China
- Prior art keywords
- node device
- hash
- hash value
- node
- transaction data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- 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/2255—Hash tables
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、节点设备及存储介质,其中方法包括:对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理,可提升交易数据存储到区块链网络的存储效率,同时可减轻节点设备的数据处理压力。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、节点设备及存储介质。
背景技术
随着区块链技术的不断深入发展,越来越多的客户端依赖于区块链网络进行交易数据的存储,以保障交易数据的安全性,因此,区块链网络会接收到大量的待存储的交易数据,加大了节点设备对交易数据的处理压力。为了减轻节点设备对交易数据的处理压力,当前采用的是由区块链网络外的节点设备进行交易数据的接收,并基于交易数据的哈希值转发到区块链网络的不同节点设备中,可一定程度上减轻区块链网络中节点设备的数据接收和存储压力,但由同一节点设备进行交易数据的转发,对该节点设备的数据处理能力要求较高,而且,交易数据可能在该节点设备中长时间的等待而不能上上链,由此可见,如何提升交易数据在区块链网络中的存储效率,并有效减轻节点设备的数据处理压力成为了当前的研究热点。
发明内容
本发明实施例提供了一种数据处理方法、装置、节点设备及存储介质,可提升交易数据存储到区块链网络的存储效率,同时可减轻节点设备的数据处理压力。
一方面,本发明实施例提供了一种数据处理方法,所述数据处理方法由区块链网络中的第一节点设备执行,所述区块链网络中还包括第二节点设备,所述方法包括:
对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
一方面,本发明实施例提供了一种数据处理装置,所述装置包括:
确定单元,用于对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取单元,用于获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
存储单元,用于若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
转发单元,用于若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
在一个实施例中,所述第一节点设备为所述区块链网络中的任一节点设备;
所述第二节点设备是所述区块链网络中除第一节点设备之外的任一个或多个节点设备。
在一个实施例中,所述存储哈希区间包括大于等于第一哈希阈值且小于等于第二哈希阈值之间的区间;
若所述目标哈希值小于所述第一哈希阈值,则所述第二节点设备是所述区块链网络中哈希值小于所述第一节点设备的哈希值的任一个节点设备;或者,
若所述目标哈希值大于所述第二哈希阈值,则所述第二节点设备是所述区块链网络中哈希值大于所述第一节点设备的哈希值的任一个节点设备。
在一个实施例中,所述第一节点设备是所述区块链网络中的任一节点设备,所述区块链网络还包括所述第一节点设备的继任节点集,所述继任节点集中包括所述第一节点设备的至少一个继任节点设备,所述继任节点设备的哈希值大于所述第一节点设备的哈希值;所述区块链网络中的各个节点设备的哈希值是对所述各个节点设备的设备标识进行哈希计算得到的。
在一个实施例中,所述装置还包括:选取单元。
选取单元,用于按照所述继任节点集中的各个继任节点设备的哈希值,从所述第一节点设备的继任节点集中选取所述第二节点设备。
在一个实施例中,所述选取单元,具体用于:
从所述继任节点集中选择哈希值最大的第一继任节点设备;
检测所述第一继任节点设备的工作状态;
若所述第一继任节点设备的工作状态为正常工作状态,则将所述第一继任节点设备确定为第二节点设备。
在一个实施例中,所述装置还包括:检测单元。
所述选取单元,还用于若所述第一继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序选择哈希值次大的第二继任节点设备;
检测单元,用于检测所述第二继任节点设备的工作状态;
所述确定单元,用于若所述第二继任节点设备的工作状态为正常工作状态,将所述第二继任节点设备确定为所述第二节点设备;
所述确定单元,用于若所述第二继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序继续选择继任节点设备,直至检测到正常工作状态的继任节点设备,并确定为所述第二节点设备。
在一个实施例中,所述装置还包括:同步单元和接收单元。
同步单元,用于将所述目标交易数据同步给所述第三节点设备,以在所述第三节点设备中备份所述目标交易数据;
接收单元,用于接收所述第三节点设备在备份所述目标交易数据后发送的反馈信息,所述反馈信息包括:所述第三节点设备的设备标识及备份数据的数据标识;
所述存储单元,还用于关联存储所述第三节点设备的设备标识和所述数据标识。
在一个实施例中,所述确定单元,还用于当接收到对所述目标交易数据的获取请求时,检测所述第一节点设备的工作状态;
所述获取单元,还用于若所述第一节点设备的工作状态为异常工作状态,则根据所述第三节点设备的设备标识,从所述第三节点设备中获取所述数据标识对应的备份数据。
一方面,本发明实施例提供了一种节点设备,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,执行如下步骤:
对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
在本发明实施例中,第一节点设备在接收到目标交易数据后,可对目标交易数据进行哈希计算,以确定该目标交易数据对应的目标哈希值,第一节点设备为了确定是否可直接存储该目标交易数据,可先确定该第一节点设备确定对应的存储哈希区间,在该第一节点设备确定存储哈希区间后,可基于该存储哈希区间确定该目标哈希值是否属于该存储哈希区间。若确定该目标哈希值属于该存储哈希区间,则第一节点设备可直接存储该目标交易数据,而如果该目标哈希值不属于该存储哈希区间,则该说明第一节点设备不能直接存储该目标交易数据,并将该目标交易数据转发到第二节点设备,以将目标交易数据存储到区块链网络中,由于客户端可将交易数据上传到区块链网络的任一节点设备,可提升交易数据存储到区块链网络的存储效率,同时可减轻节点设备的数据处理压力。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种数据处理系统架构图;
图1b是本发明实施例提供的一种区块链中节点设备的示意图;
图2是本发明实施例提供的一种数据处理方法的示意流程图;
图3是本发明实施例提供的一种节点设备的存储哈希区间的示意图
图4是本发明一实施例提供的一种数据处理方法的示意流程图;
图5是本发明实施例提供的一种同步交易数据的示意图;
图6是本发明实施例提供的一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种节点设备的示意性框图。
具体实施方式
本发明实施例提出了一种数据处理方法,可应用于区块链网络中的第一节点设备,该第一节点设备为该区块链网络中的任一节点设备,在一个实施例中,客户端可将生成的目标交易数据发送到区块链网络的任一节点设备(如第一节点设备),如图1a所示,若所述区块链网络10包括多个节点设备,该节点设备的编号分别为101,102和103,客户端11为区块链网络外的设备,客户端11生成的目标交易数据可上传到区块链网络中进行存储,在具体实现中,客户端11可将生成的目标交易数据发送给节点设备101,或者节点设备102,或者节点设备103,以使得将目标交易数据存储到区块链网络中,由于客户端11可将交易数据随机发送给区块链网络中任意节点设备对目标交易数据进行存储,相对比客户端11只可将交易数据发送给区块链网络中的特定节点设备,由特定的节点设备对该目标交易数据进行转发存储的方式而言,可提升对目标交易数据的上传效率。在一个实施例中,客户端11还可将目标交易数据同时发送给多个节点设备,如将该目标交易数据同时发送给节点设备101和节点设备102,或者将该目标交易数据同时发送给节点设备101,节点设备102,以及节点设备103,以实现对目标交易数据的快速存储。
在一个实施例中,区块链网络中接收客户端发送的目标交易数据的节点设备可以为第一节点设备,该第一节点设备在接收到目标交易数据后,为了确定是否存储该目标交易数据,可先对该目标交易数据进行哈希计算,以确定该目标交易数据对应的目标哈希值。其中,区块链网络中的各节点设备维护有一段本节点设备的存储哈希区间,每个节点设备维护的本节点设备的存储哈希区间是预先设定的,在一个实施例中,可基于哈希空间和该区块链网络中的节点数量,对哈希空间进行均分,以使每个节点设备维护一段对应的存储哈希区间,或者,也可为每个节点随机分配一段相应的存储哈希区间。每个节点所维护的存储哈希区间互不重叠,该存储哈希区间用于指示该节点可存储的交易数据的哈希值所在的区间,举例来说,若节点设备A对应的存储哈希区间为<20~40>,若节点设备A接收到的交易数据对应的哈希值为38,则节点设备A可直接存储接收到的交易数据,而如果节点设备A接收到的交易数据对应的哈希值为52,则节点设备A不能存储该交易数据,因为该交易数据的哈希值50不属于该节点设备A对应的存储哈希区间。
在第一节点设备确定目标交易数据对应的目标哈希值后,可获取该第一节点设备的存储哈希区间,并判断该目标哈希值是否属于该第一节点设备的存储哈希区间,若确定属于,所述第一节点设备可直接存储该目标交易数据,若该第一节点设备确定该目标哈希值不属于该第一节点设备的存储哈希区间,则可将该目标交易数据转发到第二节点设备,以使得第二节点设备可基于该目标哈希值确定是否存储该目标交易数据,或者该第二节点设备可将该目标交易数据继续转发到区块链网络中的其他节点设备中,以将该目标交易数据存储到区块链网络中。其中,该第二节点设备是区块链网络中除该第一节点设备之外的任意一个或多个节点设备。
在一个实施例中,第一节点设备在将该目标交易数据转发到区块链网络中的第二节点设备进行存储时,可先将该目标交易数据对应的目标哈希值和第一节点设备的存储哈希区间包括的第一哈希阈值和第二哈希阈值进行对比,其中,该存储哈希区间是包括大于等于第一哈希阈值,且小于等于第二哈希阈值的区间。在具体实现中,若第一节点设备将该目标哈希值和该第一哈希阈值进行对比,确定该目标哈希值小于该第一哈希阈值,则该第一节点设备将该目标交易数据转发到小于该第一节点设备的哈希值的第二节点设备中;而如果该第一节点设备确定该目标哈希值大于该第二哈希阈值,则可将该目标交易数据转发到大于该第一节点设备的哈希值的第二节点设备中,可有效提升第一节点设备对交易数据的转发效率。
在一个实施例中,区块链网络中的各个节点设备可按照对应哈希值的大小依次排列,每个节点设备的哈希值是对所述每个节点设备的设备标识进行哈希计算得到的,其中,可采用一致性哈希算法对该每个节点设备的设备标识进行哈希计算。根据区块链网络中各节点设备的排列顺序,还可确定出每个节点设备的一个或多个继任节点设备,如该第一节点设备对应的一个或多个继任节点设备,基于区块链网络中的继任节点设备,每个节点设备可将该节点设备中存储的交易数据在继任节点设备中进行备份,以免在节点设备失效或者工作异常时,造成该节点设备中存储的交易数据的丢失,其中,节点设备可将存储的交易数据备份到与该节点设备相邻的继任节点中。举例来说,若区块链网络中各节点设备按照对应哈希值的大小进行排序后,如图1b所示,基于该排序可知,节点设备101的继任节点可包括节点设备102和节点设备103,可以理解的是,节点设备101则可将存储的交易数据在相邻继任节点(即节点设备102)中进行备份,因此,在节点设备101发生故障时,则可从节点设备102中获取节点设备101中交易数据的备份数据。
请参见图2,是本发明实施例提出的一种数据处理方法的示意流程图,该数据处理方法可应用于上述的区块链网络中的第一节点设备中,该第一节点设备可以是区块链网络中的任一节点设备,区块链网络中的任一节点设备可以是计算机设备。如图2所示,该方法可包括:
S201,对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值。
在一个实施例中,客户端在生成目标交易数据后,可将该交易数据上传到区块链网络中进行存储,以保证目标交易数据的真实性,在具体实现中,客户端可将该目标交易数据发送到区块链网络中的任一节点设备,如第一节点设备中,该第一节点设备在接收到目标交易数据后,为了确定该第一节点设备是否能存储该目标交易数据,可先对该接收到的目标交易数据进行哈希计算,以确定出该目标交易数据对应的目标哈希值,进一步地,可将该目标哈希值和该第一节点设备的存储哈希区间进行对比,以确定该第一节点设备是否可存储该目标交易数据,即转而执行步骤S202。其中,该第一节点设备可采用循环一致性哈希算法对该目标交易数据进行哈希计算,并确定出对应的目标哈希值。
在一个实施例中,所述第一节点设备可在接收到客户端发送的目标交易数据后,立即对该目标交易进行哈希计算,以确定基于所述第一节点设备的存储哈希区间确定是否可在所述第一节点设备中存储该目标交易数据;或者,所述第一节点设备还可在接收到客户端发送的目标交易数据后,将该目标交易数据预存到第一节点设备的缓存中,所述第一节点设备可在空闲的时候,再从缓存中获取目标交易数据,并计算该目标交易数据的目标哈希值,该第一节点设备还可按照预设的时间间隔,从缓存中获取目标交易数据,以确定是否将该目标交易数据直接存储到第一节点设备中。
S202,获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值。
在一个实施例中,该存储哈希区间是第一节点设备基于该第一节点设备的相邻节点设备的哈希值确定的,其中,节点设备的哈希值是对节点设备的设备标识进行哈希计算得到的,在一个实施例中,可采用一致性哈希算法对节点设备的设备标识进行哈希计算,以确定对应的哈希值,该一致性哈希算法可对一个在0~223的环形空间进行哈希计算,对于区块链网络中的节点设备,可通过对该节点设备的设备标识进行哈希计算,以将节点设备的设备标识哈希到环上,如图3所示。在将节点设备的设备标识哈希到环上之后,每个节点设备可对应维护一段存储哈希区间,该存储哈希区间可基于该节点设备的上一个相邻节点设备,或者下一个相邻节点设备确定,在一个实施例中,上一个相邻节点设备即是哈希值小于该第一节点设备的哈希值的相邻节点设备,而下一个相邻节点设备,即是哈希值大于该第一节点设备的相邻节点设备。其中,节点设备的设备标识包括该节点设备的域名,存储地址等。
在一个实施例中,如图3所示,该哈希环上包括节点设备A,节点设备B,节点设备C和节点设备D,若该第一节点设备为节点设备B,则节点设备B可基于该节点设备B的上一个相邻节点设备,即小于节点设备B的哈希值的相邻节点设备A,以确定出节点设备B的存储哈希区间,其中,该第一节点设备的存储哈希区间是大于等于节点设备A的哈希值,且小于等于节点设备B的哈希值的区间。或者,该节点设备B也可基于下一个相邻节点设备,即大于节点设备B的哈希值的相邻节点设备C,以确定出节点设备B的存储哈希区间,其中,该节点设备B的存储哈希区间则也可以是,大于等于节点设备B的哈希值,且小于等于节点设备C的哈希值的区间。
在一个实施例中,该第一节点设备的存储哈希区间是包括大于等于第一哈希阈值,且小于等于第二哈希阈值的区间,若该第一节点设备的存储哈希区间是根据该第一节点设备的下一个相邻节点设备(如上述的节点设备C)的哈希值确定的,则该第一哈希阈值为该第一节点设备的哈希值,该第二哈希阈值为该第一节点设备的下一个相邻节点设备的哈希值;或者,如果该第一节点设备的存储哈希区间是根据该第一节点设备的上一个相邻节点设备(如上述的节点设备A)的哈希值确定的,则该第一哈希阈值为该第一节点设备的上一个相邻节点设备的哈希值,该第二哈希阈值为该第一节点设备的哈希值。
在第一节点设备判断目标交易数据的目标哈希值是否属于该存储哈希区间时,所述第一节点设备可将该目标哈希值和该存储哈希区间进行对比,以确定该目标哈希值是否属于该存储哈希区间,在具体实现中,该第一节点设备可将该目标哈希值分别和第一哈希阈值,以及第二哈希阈值进行对比,若该目标哈希值大于等于所述第一哈希阈值,且小于等于所述第二哈希阈值,可确定该目标哈希值属于该存储哈希区间,而如果该目标哈希值小于所述第一哈希阈值,,则确定该目标哈希值不属于该存储哈希区间,或者,如果确定该目标哈希值大于所述第二哈希阈值,则确定该目标哈希值不属于该存储哈希区间。举例来说,若第一节点设备的存储哈希区间为<20~40>,接收到的目标交易数据的目标哈希值若为38,则确定该目标哈希值属于该第一节点设备的存储哈希区间,而如果该目标交易数据的目标哈希值为42,则确定该目标哈希值不属于该存储哈希区间。
在第一节点设备根据目标交易数据的目标哈希值,以及第一节点设备的存储哈希值,确定目标哈希值是否属于该存储哈希区间后,若第一节点设备确定该目标哈希值属于该存储哈希区间,则将该目标交易数据存储在第一节点设备中,即转而执行步骤S203,而如果第一节点设备确定该目标哈希值不属于该存储哈希区间,则将该目标交易数据转发到第二节点设备,使得第二节点设备继续判断是否将该目标交易数据存储在该第二节点设备中,即转而执行步骤S204。
S203,若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据。
S204,若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
在步骤S203和步骤S204中,第一节点设备在确定目标交易数据的哈希值属于该第一节点设备的存储区间时,可将该目标交易数据存储到该第一节点设备的交易池中。若第一节点设备确定目标交易数据的目标哈希值不属于该存储哈希区间,则将所述目标交易数据进行转发,在一个实施例中,第一节点设备在将目标交易数据进行转发时,若确定该目标交易数据的目标哈希值小于所述存储哈希区间的第一存储阈值,则将该目标交易数据发送到对应哈希值小于该第一节点设备的哈希值的节点设备中,而如果第一节点设备确定目标哈希值大于该存储哈希区间中的第二存储阈值,则将该目标交易数据发送到对应哈希值大于该第一节点设备的哈希值的节点设备中。在一个实施例中,在第一节点设备确定目标哈希值不属于该第一节点设备对应的存储区间时,还可将该目标交易数据和该目标哈希值一起发送到第二节点设备中,使得第二节点设备可同时接收该目标交易数据和该目标哈希值,使得第二节点在接收到目标交易数据后,可减少对目标交易数据进行哈希计算,得到目标哈希值的过程,从而可有效提升对目标交易数据的存储效率。
在一个实施例中,若第一节点设备为如图3所示的节点设备B,在节点设备B确定接收到的目标交易数据的目标哈希值不属于节点设备B的存储哈希区间时,若该目标哈希值小于该节点设备B的第一哈希值阈值,则将该目标交易数据转发到的第二节点设备可以是节点设备A,而如果该目标哈希值大于节点设备B的第二哈希阈值,则将该目标交易数据转发到的第二节点设备可以是节点设备C或节点设备D,或者节点设备C和节点设备D。其中,第一节点设备将目标交易数据转发到第二节点设备后,该第二节点设备可计算该目标交易数据对应的目标哈希值,从而可基于该目标哈希值,确定是否将目标交易数据存储到第二节点设备中,若第二节点设备确定该目标哈希值也不属于该第二节点设备的存储哈希区间,则该第二节点设备继续将该目标交易数据,直至将该目标交易数据存储到区块链网络中。
在本发明实施例中,第一节点设备在接收到目标交易数据后,可对目标交易数据进行哈希计算,以确定该目标交易数据对应的目标哈希值,第一节点设备为了确定是否可直接存储该目标交易数据,可先确定该第一节点设备确定对应的存储哈希区间,在该第一节点设备确定存储哈希区间后,可基于该存储哈希区间确定该目标哈希值是否属于该存储哈希区间。若确定该目标哈希值属于该存储哈希区间,则第一节点设备可直接存储该目标交易数据,而如果该目标哈希值不属于该存储哈希区间,则该说明第一节点设备不能直接存储该目标交易数据,并将该目标交易数据转发到第二节点设备,以将目标交易数据存储到区块链网络中,由于客户端可将交易数据上传到区块链网络的任一节点设备,可提升交易数据存储到区块链网络的存储效率,同时可减轻节点设备的数据处理压力。
请参见图4,是本发明一实施例提出的一种数据处理方法的示意流程图,该数据处理方法可应用于上述的区块链网络中的第一节点设备中,该第一节点设备可以是区块链网络中的任一节点设备,如图4所示,该方法可包括:
S401,对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值。
S402,获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值。
在一个实施例中,步骤S401和步骤S402的具体实施方式和上述实施例中步骤S201和步骤S202的具体实施方式相同,可参见上述步骤S201和步骤S202的叙述,在此不再赘述。
S403,若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据。
在一个实施例中,若第一节点设备确定该目标哈希值属于该第一节点设备维护的存储哈希区间,则可将该目标交易数据直接存储在该第一节点设备中,而在该第一节点设备存储该目标交易数据后,还可将目标交易数据同步到第三节点设备中,以在所述第三节点设备中备份该目标交易数据,其中,该第三节点设备可以是区块链网络中除所述第一节点设备之外的任一节点设备,也可是所述第一节点设备的继任节点设备。在一个实施例中,所述第一节点设备可从该第一节点设备的一个或多个继任节点设备中,确定出对应哈希值最大的继任节点设备,并将该对应哈希值最大的继任节点设备作为第三节点设备,即所述第一节点设备可在存储目标交易数据后,将目标交易数据同步到相邻的继任节点设备中。如图5所示,客户端可将交易数据上传到第一节点设备,该第一节点设备可以是如图5中的节点设备A,若该节点设备A接收到的客户端上传的交易数据为交易数据1,并在确定交易数据1对应的哈希值属于节点设备A的存储哈希区间,则可在节点设备A中存储交易数据1,并将该交易数据1同步到相邻的继任节点设备,即节点设备B中,可防止节点设备A工作异常导致的交易数据丢失的问题。
在第一节点设备将目标交易数据同步到第三节点设备中后,所述第一节点设备还可接收所述第三节点设备在备份该目标交易数据后发送的反馈信息,所述反馈信息包括:所述第三节点设备的设备标识及备份数据的数据标识;进一步地,所述第一节点设备可关联存储所述第三节点设备的设备标识和所述数据标识,使得客户端在从第一节点设备中获取该目标交易数据时,若检测到第一节点设备失效,或者工作异常导致的无法进行交易数据的获取,可从第三节点设备中获取该目标交易数据的备份数据,可有效避免交易数据的丢失问题,有效提升了交易数据的获取成功率。在具体实现中,当所述第一节点设备接收到对所述目标交易数据的获取请求时,可检测所述第一节点设备的工作状态;若确定所述第一节点设备的工作状态为异常工作状态,则根据所述第三节点设备的设备标识,从所述第三节点设备中获取所述数据标识对应的备份数据,保证对交易数据的成功获取。
在一个实施例中,第一节点设备若确定该第一节点设备确定该目标哈希值不属于该存储哈希区间,则需要从区块链网络中确定出第二节点设备,并将该目标交易数据转发到该第二节点设备中,即转而执行步骤S404。
S404,若所述目标哈希值不属于所述存储哈希区间时,确定所述第一节点设备的继任节点集。
在一个实施例中,第一节点设备在从区块链网络中确定出第二节点设备集时,可从该第一节点设备的继任节点集中进行确定,其中,第一节点设备的继任节点集包括第一节点设备的至少一个继任节点设备,每个继任节点设备的哈希值大于所述第一节点设备的哈希值;所述区块链网络中的各个节点设备的哈希值是对所述各个节点设备的设备标识进行哈希计算得到的,其中,可采用一致性哈希算法对节点设备的设备标识进行哈希计算,以得到各节点设备的哈希值。如图3所示,若区块链网络包括节点设备A,节点设备B,节点设备C和节点设备D,则在确定区块链网络中各节点设备的哈希值后,可根据各节点设备的哈希值的大小,将该节点设备的哈希值映射到如图3所示的哈希环上,在该哈希环上的各节点设备的哈希值是基于顺时针围绕一圈的顺序从前往后依次排列的,即节点设备B对应的哈希值大于节点设备A对应的哈希值,节点设备C对应的哈希值大于节点设备B对应的哈希值等等,所以,每个节点设备可将该哈希环上按照该顺时针围绕一圈的顺序,将处于该节点设备对应哈希值之后的一个或多个哈希值的节点设备,作为该节点设备的继任节点设备。举例来说,若第一节点设备为节点设备B,则基于节点设备B在哈希环上的位置,并按照顺时针围绕一圈的顺序,可确定处于节点设备B之后的哈希值包括:节点设备C的哈希值,节点设备D的哈希值,所以确定出节点设备B的继任节点设备包括:节点设备C,或节点设备D,或节点设备C和节点设备D。可以理解的是,由于节点设备映射到哈希环上的哈希值是基于顺时针围绕一圈的顺序从前往后依次排列的,所以基于该顺序确定出的继任节点设备的哈希值一定大于该节点设备的哈希值。在一个实施例中,第一节点设备也可直接从区块链网络中选取对应哈希值大于该第一节点设备的哈希值的节点设备,作为该第一节点设备的继任节点设备。
在一个实施例中,所述第一节点设备还可将所述区块链网络中除所述第一节点设备之外的任一个或多个节点设备作为第二节点设备,使得所述第一节点设备在确定目标哈希值不属于存储哈希值时,可将该目标交易数据发送给该区块链网络中除所述第一节点设备之外的第二节点设备。在一个实施例中,为了减少对交易数据以及交易数据的哈希值的转发次数,以使得交易数据被快速存储到区块链网络中,第一节点设备在对目标交易数据进行转发时,可将该目标交易数据同时转发到多个第二节点设备中。
在一个实施例中,所述第一节点设备在确定出对应的继任节点集后,可基于目标交易数据与存储哈希区间的对比结果,从该继任节点集中确定出第二节点设备,在具体实现中,存储哈希区间是包括的大于等于第一哈希阈值且小于等于第二哈希阈值之间的区间,则所述第一节点设备若确定所述目标哈希值小于所述第一哈希阈值,则可确定所述第二节点设备是所述区块链网络中哈希值小于所述第一节点设备的哈希值的任一个节点设备;或者,若所述第一节点设备确定目标哈希值大于所述第二哈希阈值,则可确定所述第二节点设备是所述区块链网络中哈希值大于所述第一节点设备的哈希值的任一个节点设备。
在所述第一节点设备从所述第一节点设备的一个或多个继任节点中确定出第二节点设备时,可基于该一个或多个继任节点的哈希值进行确定,即该第一节点设备在确定出第一节点设备的继任节点集后,可转而执行步骤S405。
S405,按照所述继任节点集中的各个继任节点设备的哈希值,从所述第一节点设备的继任节点集中选取所述第二节点设备,并将所述目标交易数据转发至所述第二节点设备进行处理。
在一个实施例中,第一节点设备在从该第一节点设备的继任节点集中选取第二设备时,可基于该继任节点集中各继任节点设备的哈希值进行第二节点设备的选取,在具体实现中,由于该第一节点的继任节点设备是基于区块链网络中各节点设备的哈希值映射到哈希环上后,基于哈希值的大小进行确定的,所以,该第一节点设备的继任节点集中,存在离该第一节点设备较近的继任节点设备,也存在理该第一节点设备较远的继任节点设备。可以理解的是,相比于该第一节点设备将目标交易数据发送到离该第一节点设备较远的继任节点设备中,将目标交易数据发送到离该第一节点设备较近的继任节点设备中,可有效缩短目标交易数据的转发时间,从而提升目标交易数据的转发效率,其中,离第一节点设备最近的继任节点设备,即是在将节点设备的哈希值映射到哈希环上后,基于顺时针围绕一圈的顺序和该第一节点设备对应哈希值的相邻哈希值所对应的节点设备,也就是说,离该第一节点设备最近的继任节点设备是该第一节点设备对应继任节点集中,对应哈希值最大的继任节点设备。所以,为了缩短第一节点设备将目标交易数据进行转发的时间,该第一节点设备可从该继任节点集中按照对应哈希值由大到小的顺序,从继任节点设备中确定出第二节点设备,在具体实现中,该第一节点设备可先从所述继任节点集中选择哈希值最大的第一继任节点设备,其中,由于区块链网络中的节点设备可按照对应的哈希值大小排布到如图3所示的哈希环上,每个节点设备对应维护该哈希环上的一段哈希区间,所以,该继任节点中哈希值最大的第一继任节点设备即是和该第一节点设备相邻,且对应哈希值恰大于该第一节点设备的继任节点。举例来说,若第一节点设备为如图3中的节点设备B,则确定出的第一继任节点则是图3中的节点设备C。
在所述第一节点设备从继任节点集中选取到最大哈希值的第一继任节点设备后,后检测所述第一继任节点设备的工作状态,若所述第一继任节点设备的工作状态为正常工作状态,则可将所述第一继任节点设备确定为第二节点设备。而如果第一节点设备确定,该第一继任节点设备的工作状态为异常工作状态,则所述第一节点设备可从所述继任节点集中按照哈希值由大到小的顺序选择哈希值次大的第二继任节点设备,其中,哈希值次大是指:该继任节点集合各节点设备对应的哈希值中,小于最大哈希值(如第一继任节点设备对应的哈希值),但大于该继任节点集合中除最大哈希值对应节点设备之外的其他节点设备的哈希值。同样的,在第一节点设备确定出哈希值次大的第二继任节点设备后,可检测第二继任节点设备的工作状态,如果确定该第二继任节点设备的工作状态为正常工作状态,则可将所述第二继任节点设备确定为所述第二节点设备,举例来说,在第一节点设备(节点设备B)的第一继任节点设备为图3中的节点设备C时,基于哈希值的大小,可确定出第一节点设备的第二继任节点设备为图3中的节点设备D。
在一个实施例中,如果所述第一节点设备确定所述第二继任节点设备的工作状态为异常工作状态,则可从所述继任节点集中按照哈希值由大到小的顺序继续选择继任节点设备,直至从所述节点设备集中检测到正常工作状态的继任节点设备,并确定为所述第二节点设备。其中,若所述第一继任节点遍历所述继任节点设备集中的各继任节点设备后,确定继任节点设备均为异常工作状态的节点设备,则所述第一节点设备可从非继任节点中选取任一节点设备作为该第二节点设备。
在本发明实施例中,第一节点设备在接收到目标交易数据后,可对目标交易数据进行哈希计算,以确定出目标交易数据对应的目标哈希值,从而可进一步地获取该第一节点设备的存储哈希区间,若第一节点设备确定目标哈希值属于该存储哈希区间,则在第一节点设备中存储该目标交易数据,并将该目标交易数据同步到第三节点设备中,以在第一节点设备异常时,可从第三节点设备中获取目标交易数据的备份数据。而如果该目标哈希值不属于该存储哈希区间,则第一节点设备可确定出第一节点设备的继任节点集,并从继任节点集中确定出第二节点设备,从而可将目标交易数据转发到第二节点设备中进行处理,可实现对交易数据的快速处理,可有效提升对交易数据上传到区块链网络中进行存储的效率。
基于上述数据处理方法实施例的描述,本发明实施例还提出了一种数据处理装置,该数据处理装置可以是运行于上述区块链网络的第一节点设备中的一个计算机程序(包括程序代码)。该数据处理装置可用于执行如图2和图4所述的数据处理方法,请参见图6,该数据处理装置可包括:确定单元601,获取单元602,存储单元603,以及转发单元604。
确定单元601,用于对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取单元602,用于获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
存储单元603,用于若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
转发单元604,用于若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
在一个实施例中,所述第一节点设备为所述区块链网络中的任一节点设备;
所述第二节点设备是所述区块链网络中除第一节点设备之外的任一个或多个节点设备。
在一个实施例中,所述存储哈希区间包括大于等于第一哈希阈值且小于等于第二哈希阈值之间的区间;
若所述目标哈希值小于所述第一哈希阈值,则所述第二节点设备是所述区块链网络中哈希值小于所述第一节点设备的哈希值的任一个节点设备;或者,
若所述目标哈希值大于所述第二哈希阈值,则所述第二节点设备是所述区块链网络中哈希值大于所述第一节点设备的哈希值的任一个节点设备。
在一个实施例中,所述第一节点设备是所述区块链网络中的任一节点设备,所述区块链网络还包括所述第一节点设备的继任节点集,所述继任节点集中包括所述第一节点设备的至少一个继任节点设备,所述继任节点设备的哈希值大于所述第一节点设备的哈希值;所述区块链网络中的各个节点设备的哈希值是对所述各个节点设备的设备标识进行哈希计算得到的。
在一个实施例中,所述装置还包括:选取单元605。
选取单元605,用于按照所述继任节点集中的各个继任节点设备的哈希值,从所述第一节点设备的继任节点集中选取所述第二节点设备。
在一个实施例中,所述选取单元605,具体用于:
从所述继任节点集中选择哈希值最大的第一继任节点设备;
检测所述第一继任节点设备的工作状态;
若所述第一继任节点设备的工作状态为正常工作状态,则将所述第一继任节点设备确定为第二节点设备。
在一个实施例中,所述装置还包括:检测单元606。
所述选取单元605,还用于若所述第一继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序选择哈希值次大的第二继任节点设备;
检测单元606,用于检测所述第二继任节点设备的工作状态;
所述确定单元601,用于若所述第二继任节点设备的工作状态为正常工作状态,将所述第二继任节点设备确定为所述第二节点设备;
所述确定单元601,用于若所述第二继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序继续选择继任节点设备,直至检测到正常工作状态的继任节点设备,并确定为所述第二节点设备。
在一个实施例中,所述装置还包括:同步单元607和接收单元608。
同步单元607,用于将所述目标交易数据同步给所述第三节点设备,以在所述第三节点设备中备份所述目标交易数据;
接收单元608,用于接收所述第三节点设备在备份所述目标交易数据后发送的反馈信息,所述反馈信息包括:所述第三节点设备的设备标识及备份数据的数据标识;
所述存储单元603,还用于关联存储所述第三节点设备的设备标识和所述数据标识。
在一个实施例中,所述确定单元601,还用于当接收到对所述目标交易数据的获取请求时,检测所述第一节点设备的工作状态;
所述获取单元602,还用于若所述第一节点设备的工作状态为异常工作状态,则根据所述第三节点设备的设备标识,从所述第三节点设备中获取所述数据标识对应的备份数据。
在本发明实施例中,获取单元602在接收到目标交易数据后,可对目标交易数据进行哈希计算,以确定该目标交易数据对应的目标哈希值,确定单元601为了确定是否可直接存储该目标交易数据,可先确定该第一节点设备确定对应的存储哈希区间,在该确定单元601确定存储哈希区间后,可基于该存储哈希区间确定该目标哈希值是否属于该存储哈希区间。若确定单元601确定该目标哈希值属于该存储哈希区间,则存储单元603可直接存储该目标交易数据,而如果该目标哈希值不属于该存储哈希区间,则该说明不能直接存储该目标交易数据,转发单元604则可将该目标交易数据转发到第二节点设备,以将目标交易数据存储到区块链网络中,由于客户端可将交易数据上传到区块链网络的任一节点设备,可提升交易数据存储到区块链网络的存储效率,同时可减轻节点设备的数据处理压力。
请参见图7,是本发明实施例提供的一种节点设备的结构示意性框图。如图7所示的本实施例中的节点设备可包括:一个或多个处理器701;一个或多个输入单元702,一个或多个输出单元703和存储器704。上述处理器701、输入单元702、输出单元703和存储器704通过总线705连接。存储器704用于存储计算机程序,该计算机程序包括程序指令,处理器701用于执行该存储器704存储的程序指令。
该存储器704可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器704也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器704还可以包括上述种类的存储器的组合。
该处理器701可以是中央处理器(central processing unit,CPU)。该处理器701还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。该处理器701也可以为上述结构的组合。
本发明实施例中,该存储器704用于存储计算机程序,该计算机程序包括程序指令,处理器701用于执行存储器704存储的程序指令,用来实现上述如图2和图3中相应方法的步骤。
在一个实施例中,该处理器701被配置调用该程序指令,用于执行:
对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
在一个实施例中,所述第一节点设备为所述区块链网络中的任一节点设备;
所述第二节点设备是所述区块链网络中除第一节点设备之外的任一个或多个节点设备。
在一个实施例中,所述存储哈希区间包括大于等于第一哈希阈值且小于等于第二哈希阈值之间的区间;
若所述目标哈希值小于所述第一哈希阈值,则所述第二节点设备是所述区块链网络中哈希值小于所述第一节点设备的哈希值的任一个节点设备;或者,
若所述目标哈希值大于所述第二哈希阈值,则所述第二节点设备是所述区块链网络中哈希值大于所述第一节点设备的哈希值的任一个节点设备。
在一个实施例中,所述第一节点设备是所述区块链网络中的任一节点设备,所述区块链网络还包括所述第一节点设备的继任节点集,所述继任节点集中包括所述第一节点设备的至少一个继任节点设备,所述继任节点设备的哈希值大于所述第一节点设备的哈希值;所述区块链网络中的各个节点设备的哈希值是对所述各个节点设备的设备标识进行哈希计算得到的。
在一个实施例中,该处理器701被配置调用该程序指令,用于执行:
按照所述继任节点集中的各个继任节点设备的哈希值,从所述第一节点设备的继任节点集中选取所述第二节点设备。
在一个实施例中,该处理器701被配置调用该程序指令,用于执行:
从所述继任节点集中选择哈希值最大的第一继任节点设备;
检测所述第一继任节点设备的工作状态;
若所述第一继任节点设备的工作状态为正常工作状态,则将所述第一继任节点设备确定为第二节点设备。
在一个实施例中,该处理器701被配置调用该程序指令,用于执行:
若所述第一继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序选择哈希值次大的第二继任节点设备;
检测所述第二继任节点设备的工作状态;
若所述第二继任节点设备的工作状态为正常工作状态,将所述第二继任节点设备确定为所述第二节点设备;
若所述第二继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序继续选择继任节点设备,直至检测到正常工作状态的继任节点设备,并确定为所述第二节点设备。
在一个实施例中,该处理器701被配置调用该程序指令,用于执行:
将所述目标交易数据同步给所述第三节点设备,以在所述第三节点设备中备份所述目标交易数据;
接收所述第三节点设备在备份所述目标交易数据后发送的反馈信息,所述反馈信息包括:所述第三节点设备的设备标识及备份数据的数据标识;
关联存储所述第三节点设备的设备标识和所述数据标识。
在一个实施例中,该处理器701被配置调用该程序指令,用于执行:
当接收到对所述目标交易数据的获取请求时,检测所述第一节点设备的工作状态;
若所述第一节点设备的工作状态为异常工作状态,则根据所述第三节点设备的设备标识,从所述第三节点设备中获取所述数据标识对应的备份数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的局部实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (12)
1.一种数据处理方法,其特征在于,所述数据处理方法由区块链网络中的第一节点设备执行,所述区块链网络中还包括第二节点设备,所述方法包括:
对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一节点设备为所述区块链网络中的任一节点设备;
所述第二节点设备是所述区块链网络中除第一节点设备之外的任一个或多个节点设备。
3.根据权利要求1所述的方法,其特征在于,所述存储哈希区间包括大于等于第一哈希阈值且小于等于第二哈希阈值之间的区间;
若所述目标哈希值小于所述第一哈希阈值,则所述第二节点设备是所述区块链网络中哈希值小于所述第一节点设备的哈希值的任一个节点设备;或者,
若所述目标哈希值大于所述第二哈希阈值,则所述第二节点设备是所述区块链网络中哈希值大于所述第一节点设备的哈希值的任一个节点设备。
4.根据权利要求1所述的方法,其特征在于,所述第一节点设备是所述区块链网络中的任一节点设备,所述区块链网络还包括所述第一节点设备的继任节点集,所述继任节点集中包括所述第一节点设备的至少一个继任节点设备,所述继任节点设备的哈希值大于所述第一节点设备的哈希值;所述区块链网络中的各个节点设备的哈希值是对所述各个节点设备的设备标识进行哈希计算得到的。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
按照所述继任节点集中的各个继任节点设备的哈希值,从所述第一节点设备的继任节点集中选取所述第二节点设备。
6.根据权利要求5所述的方法,其特征在于,所述按照所述继任节点集中的各个继任节点设备的哈希值,从所述第一节点设备的继任节点集中选取所述第二节点设备,包括:
从所述继任节点集中选择哈希值最大的第一继任节点设备;
检测所述第一继任节点设备的工作状态;
若所述第一继任节点设备的工作状态为正常工作状态,则将所述第一继任节点设备确定为第二节点设备。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第一继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序选择哈希值次大的第二继任节点设备;
检测所述第二继任节点设备的工作状态;
若所述第二继任节点设备的工作状态为正常工作状态,将所述第二继任节点设备确定为所述第二节点设备;
若所述第二继任节点设备的工作状态为异常工作状态,则从所述继任节点集中按照哈希值由大到小的顺序继续选择继任节点设备,直至检测到正常工作状态的继任节点设备,并确定为所述第二节点设备。
8.根据权利要求1所述的方法,其特征在于,所述存储所述目标交易数据之后,所述方法还包括:
将所述目标交易数据同步给所述第三节点设备,以在所述第三节点设备中备份所述目标交易数据;
接收所述第三节点设备在备份所述目标交易数据后发送的反馈信息,所述反馈信息包括:所述第三节点设备的设备标识及备份数据的数据标识;
关联存储所述第三节点设备的设备标识和所述数据标识。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当接收到对所述目标交易数据的获取请求时,检测所述第一节点设备的工作状态;
若所述第一节点设备的工作状态为异常工作状态,则根据所述第三节点设备的设备标识,从所述第三节点设备中获取所述数据标识对应的备份数据。
10.一种数据处理装置,其特征在于,所述装置包括:
确定单元,用于对接收到的目标交易数据进行哈希计算,确定所述目标交易数据对应的目标哈希值;
获取单元,用于获取所述第一节点设备的存储哈希区间,并确定所述目标哈希值是否属于所述存储哈希区间,所述存储哈希区间包括多个哈希值;
存储单元,用于若所述目标哈希值属于所述存储哈希区间,则存储所述目标交易数据;
转发单元,用于若所述目标哈希值不属于所述存储哈希区间时,则将所述目标交易数据转发至所述第二节点设备进行处理。
11.一种节点设备,其特征在于,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,实现如权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309212.3A CN111507695B (zh) | 2020-04-17 | 2020-04-17 | 数据处理方法、装置、节点设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309212.3A CN111507695B (zh) | 2020-04-17 | 2020-04-17 | 数据处理方法、装置、节点设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111507695A true CN111507695A (zh) | 2020-08-07 |
CN111507695B CN111507695B (zh) | 2022-09-27 |
Family
ID=71876193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010309212.3A Active CN111507695B (zh) | 2020-04-17 | 2020-04-17 | 数据处理方法、装置、节点设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507695B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708937A (zh) * | 2021-10-28 | 2021-11-26 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
WO2023070925A1 (zh) * | 2021-10-28 | 2023-05-04 | 湖南天河国云科技有限公司 | 区块链交易池的分片方法、系统、存储介质和计算机系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650494A (zh) * | 2016-12-16 | 2017-05-10 | 杭州嘉楠耘智信息科技有限公司 | 一种数据处理方法及装置 |
CN106682907A (zh) * | 2016-12-10 | 2017-05-17 | 江苏恒为信息科技有限公司 | 区块链数据对比及共识方法 |
US20170148016A1 (en) * | 2015-11-24 | 2017-05-25 | Mastercard International Incorporated | Method and system for gross settlement by use of an opaque blockchain |
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
CN109189853A (zh) * | 2018-08-08 | 2019-01-11 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN109271391A (zh) * | 2018-09-29 | 2019-01-25 | 武汉极意网络科技有限公司 | 数据存储方法、服务器、存储介质及装置 |
US20190043050A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Protection of Information in an Information Exchange |
CN109472591A (zh) * | 2018-11-12 | 2019-03-15 | 深圳市喂车科技有限公司 | 基于区块链的哈希值预测方法及其装置、电子设备 |
CN109905351A (zh) * | 2017-12-08 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 用于存储数据的方法和装置 |
CN109903049A (zh) * | 2019-03-01 | 2019-06-18 | 长沙理工大学 | 一种区块链交易数据存储方法、装置、设备及存储介质 |
CN110737668A (zh) * | 2019-12-17 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 数据存储方法、数据读取方法、相关设备及介质 |
-
2020
- 2020-04-17 CN CN202010309212.3A patent/CN111507695B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170148016A1 (en) * | 2015-11-24 | 2017-05-25 | Mastercard International Incorporated | Method and system for gross settlement by use of an opaque blockchain |
CN106682907A (zh) * | 2016-12-10 | 2017-05-17 | 江苏恒为信息科技有限公司 | 区块链数据对比及共识方法 |
CN106650494A (zh) * | 2016-12-16 | 2017-05-10 | 杭州嘉楠耘智信息科技有限公司 | 一种数据处理方法及装置 |
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
CN109905351A (zh) * | 2017-12-08 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 用于存储数据的方法和装置 |
US20190043050A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Protection of Information in an Information Exchange |
CN109189853A (zh) * | 2018-08-08 | 2019-01-11 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN109271391A (zh) * | 2018-09-29 | 2019-01-25 | 武汉极意网络科技有限公司 | 数据存储方法、服务器、存储介质及装置 |
CN109472591A (zh) * | 2018-11-12 | 2019-03-15 | 深圳市喂车科技有限公司 | 基于区块链的哈希值预测方法及其装置、电子设备 |
CN109903049A (zh) * | 2019-03-01 | 2019-06-18 | 长沙理工大学 | 一种区块链交易数据存储方法、装置、设备及存储介质 |
CN110737668A (zh) * | 2019-12-17 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 数据存储方法、数据读取方法、相关设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708937A (zh) * | 2021-10-28 | 2021-11-26 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
WO2023070925A1 (zh) * | 2021-10-28 | 2023-05-04 | 湖南天河国云科技有限公司 | 区块链交易池的分片方法、系统、存储介质和计算机系统 |
WO2023070924A1 (zh) * | 2021-10-28 | 2023-05-04 | 湖南天河国云科技有限公司 | 区块链交易的处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111507695B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021003985A1 (zh) | 区块链数据归档存储方法、装置、计算机设备和存储介质 | |
TWI686709B (zh) | 業務受理及共識的方法及裝置 | |
CN109542961B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111507695B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
RU2019118333A (ru) | Способы и устройство для распределенной базы данных, которая позволяет удалять события | |
CN106230997B (zh) | 一种资源调度方法和装置 | |
WO2019205897A1 (zh) | 一种数据传输方法及相关设备 | |
CN107861811B (zh) | 工作流系统中的任务信息传输方法、装置和计算机设备 | |
CN109347705B (zh) | 一种环路检测方法及装置 | |
CN110737668A (zh) | 数据存储方法、数据读取方法、相关设备及介质 | |
KR20190030728A (ko) | 시스템 콜의 시퀀스를 이용한 이상 검출 | |
CN110647531A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN112948313A (zh) | 一种会话数据的管理方法和装置 | |
CN108958883A (zh) | 云计算集群中虚拟机的恢复方法及系统 | |
CN109885423B (zh) | 一种区块链源数据备份方法 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108241639B (zh) | 一种数据去重方法 | |
CN112165505A (zh) | 去中心化的数据处理方法、电子装置和存储介质 | |
US20150234932A1 (en) | Terminal and contact lookup method | |
CN111506658B (zh) | 数据处理方法、装置、第一设备及存储介质 | |
CN107959595B (zh) | 一种异常检测的方法、装置及系统 | |
CN114466004A (zh) | 一种文件传输方法、系统、电子设备及存储介质 | |
CN111258860B (zh) | 数据告警方法、装置、计算机设备和存储介质 | |
CN111061682B (zh) | 一种数据缓存方法、读取方法、电子设备及存储介质 | |
WO2017101016A1 (zh) | 用于存储节点同步业务请求的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027378 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |