CN111125255B - 区块数据的处理方法、装置、终端及可读存储介质 - Google Patents
区块数据的处理方法、装置、终端及可读存储介质 Download PDFInfo
- Publication number
- CN111125255B CN111125255B CN201911347461.5A CN201911347461A CN111125255B CN 111125255 B CN111125255 B CN 111125255B CN 201911347461 A CN201911347461 A CN 201911347461A CN 111125255 B CN111125255 B CN 111125255B
- Authority
- CN
- China
- Prior art keywords
- data
- target block
- block
- content data
- target
- 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
- 238000003672 processing method Methods 0.000 title description 16
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种区块数据的处理方法、装置、终端及可读存储介质,其中,所述方法包括:获取等待上链的目标区块数据;对所述目标区块数据进行分析确定所述目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;若获取到M个单元内容数据,则运行N个线程,通过所述N个线程对所述M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,所述M、N为正整数;若检测到所述目标区块数据上链成功,则获取下一区块数据。通过实施本申请实施例,可以通过多线程实现对区块数据的上链处理,提升区块链网络的性能和业务吞吐量。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块数据的处理方法、装置、终端及可读存储介质。
背景技术
目前区块链(如以太坊、本体等)的区块上链过程大都是串行过程,即达成共识后,共识模块等待区块数据写入区块链完成后,进行下一轮共识,以此循环。针对区块数据写入区块链也是串行执行,即依次先后写入区块数据中的各数据内容。现有串行执行将区块数据上链的方法,没有充分利用存储的写性能,导致整个区块链网络的性能和吞吐量较差。
申请内容
本申请实施例提供一种区块区块数据的处理上链方法、装置、终端及可读存储介质,可提升区块链网络的性能和业务吞吐量。
一方面,本申请实施例提供了一种区块数据的处理方法,该方法包括:获取等待上链的目标区块数据;对该目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;若获取到M个单元内容数据,则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;若检测到目标区块数据上链成功,则获取下一区块数据。
在一种实现方式中,在获取各个数据单元的单元内容数据时包括:获取目标区块数据包括的区块高度内容数据;获取目标区块数据包括的区块哈希内容数据;获取目标区块数据包括的区块头内容数据以及获取目标区块数据包括的区块体内容数据。
在一种实现方式中,在获取各个数据单元的单元内容数据时还包括:获取目标区块数据包括的交易执行结果内容数据;获取目标区块数据包括的账户最终状态内容数据。
在一种实现方式中,在获取等待上链的目标区块数据之后,该区块数据的处理方法还包括:将目标区块数据记录到日志文件中,得到目标区块日志文件;在通过N个线程对M个单元内容数据进行上链处理之后还包括:若检测到目标区块数据上链失败,则从目标区块日志文件中获取目标区块数据;运行N个线程,通过N个线程对M个单元内容数据再次进行上链处理。
在一种实现方式中,获取各个数据单元的单元内容数据之后,该区块数据的处理方法还包括:将各个单元内容数据记录到日志文件中,得到目标区块日志文件;在通过N个线程对M个单元内容数据进行上链处理之后还包括:若检测到N个线程中目标线程将目标单元内容数据上链失败,则从目标区块日志文件中获取目标单元内容数据;运行目标线程,通过目标线程对目标单元内容数据再次进行上链处理。
在一种实现方式中,该区块数据的处理方法还包括:若检测到目标区块数据上链成功,则删除目标区块日志文件。
在一种实现方式中,目标区块数据为共识模块进行共识后的区块数据,该区块数据的处理方法还包括:返回目标区块数据上链的结果信息至共识模块,以使共识模块对下一区块数据进行共识,该结果信息用于指示目标区块数据上链成功。
一方面,本申请实施例提供了一种区块数据的处理装置,该区块数据的处理装置:
获取单元,用于获取等待上链的目标区块数据;
分析单元,用于对该目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;
处理单元,用于若获取到M个单元内容数据,则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;
检测单元,用于若检测到目标区块数据上链成功,则获取下一区块数据。
一方面,本申请实施例提供了一种智能终端,该智能终端包括:
存储器,该存储器包括计算机可读指令;
与存储器相连的处理器,该处理器用于执行所述计算机可读指令,从而使得智能终端执行上述的区块数据的处理方法。
一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述的区块数据的处理方法。
本申请实施例中,智能终端获取等待上链的目标区块数据;进而对该目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;若获取到M个单元内容数据,智能终端则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;若检测到目标区块数据上链成功,智能终端则获取下一区块数据;由此可见,本申请实施例可以通过多线程实现对区块数据的上链处理,提升区块链网络的性能和业务吞吐量。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种数据共享***示意图;
图1B是本申请实施例提供的一种区块链示意图;
图1C是本申请实施例提供的一种新区块产生的过程示意图;
图2是本申请实施例提供的一种区块数据的处理方法流程示意图;
图3是本申请实施例提供的一种区块数据的处理方法流程示意图;
图4是本申请实施例提供的一种区块数据的处理方法流程示意图;
图5是本申请实施例提供的一种区块数据的处理装置的结构示意图;
图6是本申请实施例提供的一种智能终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。应当理解的是,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
请参见图1A所示的数据共享***,区块链网络可由图1A所示的数据共享***表示。该数据共享***100是指用于进行节点与节点之间数据共享的***,该数据共享***中可以包括多个节点101,多个节点101可以是指数据共享***中各个智能终端。每个节点101在正常工作时可以接收到交易信息,并基于接收到的交易信息维护该数据共享***内的共享数据。为了保证数据共享***内的信息互通,数据共享***中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享***中的任意节点接收到交易信息时,数据共享***中的其他节点便根据共识算法获取该交易信息,将该交易信息作为共享数据中的数据进行存储,使得数据共享***中全部节点上存储的数据均一致。
对于数据共享***中的每个节点,均具有与其对应的节点标识,而且数据共享***中的每个节点均可以存储有数据共享***中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享***中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1节点信息表
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
数据共享***中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1B,区块链由多个区块组成,创始块中包括区块头和区块体,区块头中存储有交易信息哈希值、版本号、时间戳和难度值,区块体中存储有交易信息,如打包验证后的转账或合约交易信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块体,区块头中存储有当前区块的交易信息哈希值、父区块的区块哈希、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中交易信息的安全性。
在生成区块链中的各个区块时,参见图1C,区块链所在的节点在接收到交易信息时,对交易信息进行校验,完成校验后,将交易信息存储至交易内存池中,并更新其用于记录交易信息的哈希树;之后,将更新时间戳更新为接收到交易信息的时间,并尝试不同的随机数,多次进行哈希值计算,使得计算得到的哈希值可以满足下述公式(1):
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET 公式(1)
其中,SHA256为计算哈希值所用的哈希算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块哈希;merkle_root为交易信息的哈希值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为哈希值阈值,该哈希值阈值可以根据nbits确定得到。
因此,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块体,得到目标区块。随后,区块链所在节点根据数据共享***中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享***中的其他节点,由其他节点的共识模块对新生成的区块进行共识,并在完成共识后将新生成的区块添加至其存储的区块链中,可简称为区块上链。
基于上述数据共享***,本申请实施例提出一种区块数据的处理方法,请参见图2,图2是本申请实施例提供的一种区块数据的处理方法流程示意图,该区块数据的处理方法包括步骤S201-S204:
S201:智能终端获取等待上链的目标区块数据。
其中,目标区块数据为由区块链网络中的共识模块达成共识后的区块数据;智能终端可以为区块链中的任一节点101,该智能终端可以包括但不限于:服务器、台式电脑、平板电脑、膝上计算机等具有通信和存储记忆功能的设备。
S202:智能终端对目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据。
目标区块数据所包括的数据单元的个数不做限制,可根据对目标区块数据的分析自定义设置,以下示出两种可能的方式。
在一种可能的方式中,智能终端对目标区块数据进行分析确定目标区块数据所包括的六个数据单元,并获取各个数据单元的单元内容数据。具体地,智能终端获取目标区块数据包括的区块高度内容数据;智能终端获取目标区块数据包括的区块哈希内容数据;智能终端获取目标区块数据包括的区块头内容数据以及获取目标区块数据包括的区块体内容数据,其中区块体内容数据包括交易列表;智能终端获取所述目标区块数据包括的交易执行结果内容数据;智能终端获取所述目标区块数据包括的账户最终状态内容数据。
在一种可能的方式中,智能终端对目标区块数据进行分析确定目标区块数据所包括的四个数据单元,并获取各个数据单元的单元内容数据。具体地,智能终端获取目标区块数据包括的区块高度内容数据;智能终端获取目标区块数据包括的区块哈希内容数据;智能终端获取目标区块数据包括的区块头内容数据以及获取目标区块数据包括的区块体内容数据,其中区块体内容数据包括交易列表。
S203:若智能终端获取到M个单元内容数据,则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数。
其中,智能终端通过调用区块链提供的接口,运行N个线程对M个单元内容数据进行上链处理。由于每个数据单元的单元内容数据的数据量大小不同,如区块高度内容数据、区块哈希内容数据等的数据量较小,而区块体内容数据、交易执行结果内容数据等的数据量较大。因此,N的取值可以小于等于M的值,即智能终端可运行k个线程处理k个数据量较大的单元内容数据,运行N-k个线程处理M-k个数据量较小的单元内容数据。其中,k小于等于N。
举例来说,若目标区块数据包括六个数据单元,即M的取值为六时进行上链处理的几种可能的实现方式。
在一种可能的方式中,若N的取值为六,即智能终端运行六个线程,通过六个线程对六个单元内容数据进行上链处理,其中,每一个线程对一个单元内容数据进行上链处理。
在一种可能的方式中,若N的取值为五。则智能终端运行五个线程,通过五个线程对六个单元内容数据进行上链处理。例如运行一个线程对区块高度内容数据、区块哈希内容数据进行上链处理,运行四个线程分别对区块头内容数据、区块体内容数据、交易执行结果内容数据和账户最终状态内容数据进行上链处理。
在一种可能的方式中,若N的取值为四。则智能终端运行四个线程,通过四个线程对六个单元内容数据进行上链处理。例如运行一个线程对区块高度内容数据、区块哈希内容数据和区块头内容数据进行上链处理,运行三个线程分别对区块体内容数据、交易执行结果内容数据和账户最终状态内容数据进行上链处理。
举例来说,若目标区块数据包括四个数据单元,即M的取值为四时进行上链处理的几种可能的实现方式。
在一种可能的方式中,若N的取值为四,即智能终端运行四个线程,通过四个线程对四个单元内容数据进行上链处理,其中,每一个线程对一个单元内容数据进行上链处理。
在一种可能的方式中,若N的取值为三。则智能终端运行三个线程,通过三个线程对四个单元内容数据进行上链处理。例如运行一个线程对区块高度内容数据、区块哈希内容数据进行上链处理,运行两个线程分别对区块头内容数据和区块体内容数据进行上链处理。
在一种可能的方式中,若N的取值为二。则智能终端运行二个线程,通过二个线程对四个单元内容数据进行上链处理。例如运行一个线程对区块高度内容数据、区块哈希内容数据和区块头内容数据进行上链处理,运行一个线程对区块体内容数据进行上链处理。
S204:若智能终端检测到目标区块数据上链成功,则获取下一区块数据。
智能终端返回目标区块数据上链的结果信息至共识模块,以使共识模块打包下一区块数据并对该下一区块数据进行共识。其中,结果信息用于指示目标区块数据上链成功。若共识模块对该下一区块数据达成共识后,智能终端则获取该下一区块数据,并对其进行上链处理。
本申请实施例中,智能终端获取等待上链的目标区块数据;进而对该目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;若获取到M个单元内容数据,智能终端则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;若检测到目标区块数据上链成功,智能终端则获取下一区块数据;由此可见,本申请实施例可以通过多线程实现对区块数据的上链处理,提升区块链网络的性能和业务吞吐量。
请参见图3,图3是本申请实施例提供的一种区块数据的处理方法流程示意图,该区块数据的处理方法包括步骤S301-S303:
S301:若智能终端检测到目标区块数据上链失败,则从目标区块日志文件中获取目标区块数据。
为了防止部分目标区块数据在上链处理过程中上链失败,智能终端在上链处理过程中分配部分存储资源用来存储区块数据的日志文件,当智能终端在获取等待上链的目标区块数据之后,就将该目标区块数据记录到该日志文件中,得到目标区块日志文件,供智能终端随时查询。若通过N个线程对M个单元内容数据进行上链处理后,智能终端检测到目标区块数据上链失败,则从目标区块日志文件中获取目标区块数据。其中,可能导致上链失败的原因有,如智能终端掉线、智能终端存储区块链的内存不足等。
S302:智能终端运行N个线程,通过N个线程对M个单元内容数据再次进行上链处理。
步骤S302的具体实施方式可参照步骤S203所示,这里不再赘述。
S303:若智能终端检测到目标区块数据上链成功,则删除目标区块日志文件。
智能终端每次检测到目标区块数据上链成功,则删除目标区块日志文件,以释放存储资源,等待存储下一区块数据的日志文件。
本申请实施例中,智能终端将目标区块数据记录到日志文件中,得到目标区块日志文件;在通过N个线程对M个单元内容数据进行上链处理之后,若检测到目标区块数据上链失败,则从目标区块日志文件中获取目标区块数据;运行N个线程,通过N个线程对M个单元内容数据再次进行上链处理;由此可见,当目标区块数据上链失败后,可运行线程对该目标区块数据再次进行上链处理,实现区块链网络中的各节点保存的区块链数据一致。
请参见图4,图4是本申请实施例提供的一种区块数据的处理方法流程示意图,该区块数据的处理方法包括步骤S401-S403:
S401:若智能终端检测到N个线程中目标线程将目标单元内容数据上链失败,则从目标区块日志文件中获取目标单元内容数据。
为了防止部分目标区块数据在上链处理过程中上链失败,智能终端在上链处理过程中分配部分存储资源用来存储区块数据的日志文件,当智能终端获取各个数据单元的单元内容数据之后,将各个单元内容数据记录到日志文件中,得到目标区块日志文件。通过N个线程对M个单元内容数据进行上链处理,每个线程在执行完对单元内容数据进行上链处理之后,可暂时不释放资源,等待智能终端检测上链处理结果。若检测到N个线程中目标线程将目标单元内容数据上链失败,则从目标区块日志文件中获取目标单元内容数据。其中,可能导致上链失败的原因有,例如智能终端掉线、智能终端存储区块链的内存不足和线程运行错误等。
S402:智能终端运行目标线程,通过目标线程对目标单元内容数据再次进行上链处理。
智能终端仅对上链失败的目标单元内容数据再次进行上链处理,避免了对整个目标区块数据进行上链处理,能够节省智能终端的计算资源。
S403:若智能终端检测到目标区块数据上链成功,则删除目标区块日志文件。
步骤S403的具体实施方式可参照步骤S303所示,这里不再赘述。
本申请实施例中,智能终端获取各个数据单元的单元内容数据之后,将各个单元内容数据记录到日志文件中,得到目标区块日志文件;在通过N个线程对M个单元内容数据进行上链处理之后,若智能终端检测到N个线程中目标线程将目标单元内容数据上链失败,则从目标区块日志文件中获取目标单元内容数据;智能终端运行目标线程,通过目标线程对目标单元内容数据再次进行上链处理;由此可见,当目标区块数据上链失败后,可运行线程对该目标区块数据再次进行上链处理,实现区块链网络中的各节点保存的区块链数据一致。
请参见图5,图5示出了本申请实施例提供的一种区块数据的处理装置的结构示意图,该区块数据的处理装置可以搭载在上述方法实施例中的智能终端上。图5所示的区块数据的处理装置可以用于执行上述图2-图4所描述的方法实施例中的部分或全部功能。其中,各个单元的详细描述如下:
获取单元501,用于获取等待上链的目标区块数据;
分析单元502,用于对该目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;
处理单元503,用于若获取到M个单元内容数据,则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;
检测单元504,用于若检测到目标区块数据上链成功,则获取下一区块数据。
在一种实现方式中,分析单元502在用于获取各个数据单元的单元内容数据时,具体用于:
获取目标区块数据包括的区块高度内容数据;
获取目标区块数据包括的区块哈希内容数据;
获取目标区块数据包括的区块头内容数据以及获取目标区块数据包括的区块体内容数据。
在一种实现方式中,在获取各个数据单元的单元内容数据时,分析单元502还用于:
获取目标区块数据包括的交易执行结果内容数据;
获取目标区块数据包括的账户最终状态内容数据。
在一种实现方式中,区块数据的处理装置还包括记录单元505,具体用于:将目标区块数据记录到日志文件中,得到目标区块日志文件;处理单元503在用于通过N个线程对M个单元内容数据进行上链处理之后,还用于:
若检测到目标区块数据上链失败,则从目标区块日志文件中获取目标区块数据;
运行N个线程,通过N个线程对M个单元内容数据再次进行上链处理。
在一种实现方式中,区块数据的处理装置还包括记录单元505,具体用于:将各个单元内容数据记录到日志文件中,得到目标区块日志文件;处理单元503在用于通过N个线程对M个单元内容数据进行上链处理之后,还用于:
若检测到N个线程中目标线程将目标单元内容数据上链失败,则从目标区块日志文件中获取目标单元内容数据;
运行目标线程,通过目标线程对目标单元内容数据再次进行上链处理。
在一种实现方式中,检测单元504还用于:
若检测到目标区块数据上链成功,则删除目标区块日志文件。
在一种实现方式中,目标区块数据为共识模块进行共识后的区块数据,检测单元504还用于:返回目标区块数据上链的结果信息至共识模块,以使共识模块对下一区块数据进行共识,该结果信息用于指示目标区块数据上链成功。
图5所示的区块数据的处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,区块数据的处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图2-图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的区块数据的处理装置,以及来实现本申请实施例的区块数据的处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一申请构思,本申请实施例中提供的区块数据的处理装置解决问题的原理与有益效果与本申请方法实施例中区块数据的处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图6,图6示出了本申请实施例提供的一种智能终端的结构示意图,所述智能终端至少包括处理器601、通信接口602和存储器603。其中,处理器601、通信接口602和存储器603可通过总线或其他方式连接,本申请实施例以通过总线连接为例。其中,处理器601(或称中央处理器(Central Processing Unit,CPU))是终端的计算核心以及控制核心,其可以解析终端内的各类指令以及处理终端的各类数据,例如:CPU可以用于解析向终端所发送的开关机指令,并控制终端进行开关机操作;再如:CPU可以在终端内部结构之间传输各类交互数据,等等。通信接口602可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器601的控制可以用于收发数据;通信接口602还可以用于终端内部数据的传输以及交互。存储器603(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器603既可以包括终端的内置存储器,当然也可以包括终端所支持的扩展存储器。存储器603提供存储空间,该存储空间存储了终端的操作***,可包括但不限于:Android***、iOS***、Windows Phone***等等,本申请实施例对此并不作限定。
在本申请实施例中,处理器601通过运行存储器603中的可执行程序代码,执行如下操作:
获取等待上链的目标区块数据;
对该目标区块数据进行分析确定目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;
若获取到M个单元内容数据,则运行N个线程,通过N个线程对M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;
若检测到目标区块数据上链成功,则获取下一区块数据。
在一种实现方式中,处理器601获取各个数据单元的单元内容数据的具体实施方式为:
获取目标区块数据包括的区块高度内容数据;
获取目标区块数据包括的区块哈希内容数据;
获取目标区块数据包括的区块头内容数据以及获取目标区块数据包括的区块体内容数据。
在一种实现方式中,处理器601获取各个数据单元的单元内容数据的具体实施方式还包括:
获取目标区块数据包括的交易执行结果内容数据;
获取目标区块数据包括的账户最终状态内容数据。
在一种实现方式中,处理器601通过运行存储器603中的可执行程序代码,还执行如下操作:
将目标区块数据记录到日志文件中,得到目标区块日志文件;
处理器601执行通过N个线程对M个单元内容数据进行上链处理之后,还执行如下操作:
若检测到目标区块数据上链失败,则从目标区块日志文件中获取目标区块数据;
运行N个线程,通过N个线程对M个单元内容数据再次进行上链处理。
在一种实现方式中,处理器601通过运行存储器603中的可执行程序代码,还执行如下操作:
将各个单元内容数据记录到日志文件中,得到目标区块日志文件;
处理器601执行通过N个线程对M个单元内容数据进行上链处理之后,还执行如下操作:
若检测到N个线程中目标线程将目标单元内容数据上链失败,则从目标区块日志文件中获取目标单元内容数据;
运行目标线程,通过目标线程对目标单元内容数据再次进行上链处理。
在一种实现方式中,处理器601通过运行存储器603中的可执行程序代码,还执行如下操作:
若检测到目标区块数据上链成功,则删除目标区块日志文件。
在一种实现方式中,目标区块数据为共识模块进行共识后的区块数据,处理器601通过运行存储器603中的可执行程序代码,还执行如下操作:
返回目标区块数据上链的结果信息至共识模块,以使共识模块对下一区块数据进行共识,该结果信息用于指示目标区块数据上链成功。
基于同一申请构思,本申请实施例中提供的区块数据的处理终端解决问题的原理与有益效果与本申请方法实施例中区块数据的处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述方法实施例所述的区块数据的处理方法。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例所述的区块数据的处理方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (8)
1.一种区块数据的处理方法,其特征在于,所述方法包括:
获取等待上链的目标区块数据;
对所述目标区块数据进行分析确定所述目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;所述单元内容数据包括所述目标区块数据包括的区块高度内容数据、所述目标区块数据包括的区块哈希内容数据、所述目标区块数据包括的区块头内容数据、所述目标区块数据包括的区块体内容数据、所述目标区块数据包括的交易执行结果内容数据和所述目标区块数据包括的账户最终状态内容数据;
若获取到M个单元内容数据,则运行N个线程,通过所述N个线程对所述M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;
若检测到所述目标区块数据上链成功,则获取下一区块数据;
其中,所述目标区块数据的生成流程包括:区块链所在的节点对接收到的交易信息进行校验,完成校验后将所述交易信息存储至交易内存池中,并更新用于记录交易信息的哈希树;将更新时间戳更新为接收到所述交易信息的时间,采用不同的随机数多次进行哈希值计算,使得计算得到的哈希值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
当计算得到满足上述公式的随机数时,生成区块头和区块体,得到所述目标区块数据;上述公式中,SHA256为计算哈希值所用的哈希算法;version为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块哈希;merkle_root为所述交易信息的哈希值;ntime为更新时间戳的更新时间;nbits为当前难度;x为随机数;TARGET为哈希值阈值。
2.如权利要求1所述的方法,其特征在于,所述获取等待上链的目标区块数据之后,所述方法还包括:将所述目标区块数据记录到日志文件中,得到目标区块日志文件;
在通过所述N个线程对所述M个单元内容数据进行上链处理之后,所述方法还包括:若检测到所述目标区块数据上链失败,则从所述目标区块日志文件中获取所述目标区块数据;
运行所述N个线程,通过所述N个线程对所述M个单元内容数据再次进行上链处理。
3.如权利要求1所述的方法,其特征在于,所述获取各个数据单元的单元内容数据之后,所述方法还包括:将各个单元内容数据记录到日志文件中,得到目标区块日志文件;
在通过所述N个线程对所述M个单元内容数据进行上链处理之后,所述方法还包括:
若检测到所述N个线程中目标线程将目标单元内容数据上链失败,则从所述目标区块日志文件中获取所述目标单元内容数据;
运行所述目标线程,通过所述目标线程对所述目标单元内容数据再次进行上链处理。
4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
若检测到所述目标区块数据上链成功,则删除所述目标区块日志文件。
5.如权利要求1-3任一项所述的方法,其特征在于,所述目标区块数据为共识模块进行共识后的区块数据,所述方法还包括:
返回所述目标区块数据上链的结果信息至所述共识模块,以使所述共识模块对所述下一区块数据进行共识,所述结果信息用于指示所述目标区块数据上链成功。
6.一种区块数据的处理装置,其特征在于,所述装置包括:
获取单元,用于获取等待上链的目标区块数据;
分析单元,用于对所述目标区块数据进行分析确定所述目标区块数据所包括的数据单元,并获取各个数据单元的单元内容数据;所述单元内容数据包括所述目标区块数据包括的区块高度内容数据、所述目标区块数据包括的区块哈希内容数据、所述目标区块数据包括的区块头内容数据、所述目标区块数据包括的区块体内容数据、所述目标区块数据包括的交易执行结果内容数据和所述目标区块数据包括的账户最终状态内容数据;
处理单元,用于若获取到M个单元内容数据,则运行N个线程,通过所述N个线程对所述M个单元内容数据进行上链处理,其中,每一个线程至少对一个单元内容数据进行上链处理,M、N为正整数;
检测单元,用于若检测到所述目标区块数据上链成功,则获取下一区块数据;其中,所述目标区块数据的生成流程包括:区块链所在的节点对接收到的交易信息进行校验,完成校验后将所述交易信息存储至交易内存池中,并更新用于记录交易信息的哈希树;将更新时间戳更新为接收到所述交易信息的时间,采用不同的随机数多次进行哈希值计算,使得计算得到的哈希值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
当计算得到满足上述公式的随机数时,生成区块头和区块体,得到所述目标区块数据;上述公式中,SHA256为计算哈希值所用的哈希算法;version为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块哈希;merkle_root为所述交易信息的哈希值;ntime为更新时间戳的更新时间;nbits为当前难度;x为随机数;TARGET为哈希值阈值。
7.一种智能终端,其特征在于,所述智能终端包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器相连的处理器,所述处理器用于执行所述计算机可读指令,从而使得所述终端执行权利要求1~5任一项所述的区块数据的处理方法。
8.一种计算机可读存储介质,其特征在于,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1~5中任一项所述的区块数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911347461.5A CN111125255B (zh) | 2019-12-24 | 2019-12-24 | 区块数据的处理方法、装置、终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911347461.5A CN111125255B (zh) | 2019-12-24 | 2019-12-24 | 区块数据的处理方法、装置、终端及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125255A CN111125255A (zh) | 2020-05-08 |
CN111125255B true CN111125255B (zh) | 2024-01-23 |
Family
ID=70501761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911347461.5A Active CN111125255B (zh) | 2019-12-24 | 2019-12-24 | 区块数据的处理方法、装置、终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125255B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764870A (zh) * | 2018-05-29 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN110134700A (zh) * | 2019-04-22 | 2019-08-16 | 矩阵元技术(深圳)有限公司 | 数据上链方法、装置、计算机设备和存储介质 |
CN110489486A (zh) * | 2019-08-02 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 生成区块链网络的方法、种子节点和介质 |
CN110597922A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、终端及存储介质 |
-
2019
- 2019-12-24 CN CN201911347461.5A patent/CN111125255B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764870A (zh) * | 2018-05-29 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN110134700A (zh) * | 2019-04-22 | 2019-08-16 | 矩阵元技术(深圳)有限公司 | 数据上链方法、装置、计算机设备和存储介质 |
CN110489486A (zh) * | 2019-08-02 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 生成区块链网络的方法、种子节点和介质 |
CN110597922A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
区块链关键技术中的数据一致性研究;翟社平;李兆兆;段宏宇;高山;;计算机技术与发展(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111125255A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112988485B (zh) | 电力物联网设备模拟测试方法及装置 | |
CN114362885B (zh) | 物联网数据传输方法、通信***、设备和介质 | |
CN110557304B (zh) | 一种地址探测方法、设备及计算机可读存储介质 | |
CN112822260B (zh) | 文件传输方法及装置、电子设备、存储介质 | |
CN107070752B (zh) | 一种长连接容量的测试方法及测试*** | |
US10274919B2 (en) | Method, device and computer program product for programming a plurality of control units | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机***及可读存储介质 | |
CN111181800A (zh) | 测试数据处理方法、装置、电子设备及存储介质 | |
WO2018000918A1 (zh) | 一种基于网络的机顶盒测试方法及*** | |
CN110806960A (zh) | 信息处理方法、装置及终端设备 | |
CN111125013A (zh) | 一种数据入库方法、装置、设备及介质 | |
US20160337216A1 (en) | System and method for testing a coap server | |
CN111125255B (zh) | 区块数据的处理方法、装置、终端及可读存储介质 | |
CN103746868A (zh) | 一种发送及接收测试报文的方法、装置及测试设备 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN106445784B (zh) | 一种信息监控方法及装置 | |
CN104317906A (zh) | Gps监控车台上报数据大规模入库的处理方法 | |
US9509780B2 (en) | Information processing system and control method of information processing system | |
CN106412657B (zh) | 一种机顶盒烧写序列码的方法及*** | |
CN116489536B (zh) | 基于modbusRTU协议通信的高效点位采集方法及装置 | |
CN113515461B (zh) | 通讯测试方法、装置、电子设备及存储介质 | |
CN110572473B (zh) | 一种区块头同步方法、设备及计算机可读存储介质 | |
CN117539649B (zh) | 分布式集群的标识管理方法、设备和可读存储介质 | |
CN113641623B (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 |