区块生成方法、装置、设备及存储介质制造方法及图纸

技术编号:20176936 阅读:24 留言:0更新日期:2019-01-23 00:26
本发明专利技术实施例公开了一种区块生成方法、装置、设备及存储介质。该方法包括:在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据;若检测到达打包点,则通过打包线程对待打包的事务数据进行打包,生成新区块。本发明专利技术实施例通过对打包点的检测,为打包线程对事务数据的打包提供触发条件,以使上链的大部分区块中记录了有效的事务数据,减少了区块链中空区块或无效区块,提高处理及传输资源利用的合理性,节约存储空间。

Block generation methods, devices, devices and storage media

The embodiment of the present invention discloses a block generation method, device, device and storage medium. The method includes: when the initial processing time of arriving at the local node is detected, transaction requests are processed and transaction data is generated through at least one transaction processing class thread; if the arrival of the packing point is detected, the packaged transaction data is packaged by the packing thread to generate a new block. The embodiment of the present invention provides triggering conditions for packaging thread to package transaction data by detecting the packing point, so as to record effective transaction data in most blocks in the upper chain, reduce hollow or invalid blocks in the block chain, improve the rationality of processing and transmission resource utilization, and save storage space.

【技术实现步骤摘要】
区块生成方法、装置、设备及存储介质
本专利技术实施例涉及区块链技术
,尤其涉及一种区块生成方法、装置、设备及存储介质。
技术介绍
随着互联网技术的不断发展,一种去中心化且公开透明的区块链技术应运而生。区块链技术采用数据区块打破了目前互联网对中心服务器的依赖,网络中产生的所有数据都会被区块生成节点进行记录,并通过数据的广播和其他节点的验证,以形成新的区块并上链至区块链的尾部。待上链区块被确认后,该新的区块被永久记录于区块链中;否则对于得不到确认的区块,将区块中的数据回滚。现有技术中,从通用性角度考虑,区块链网络中不管采用何种共识机制和参数部署方式,通常采用的上链区块的确认方式均为若某个区块后成功上链6个区块,则表示该区块得到确认,可以被永久记录于区块链中。相应的,区块的出块时间直接影响事务数据的上链确认速度,缩短每个节点出块的时间能够加快区块的确认。然而鉴于通常区块链网络中发生的事务请求处于稀疏状态而非满负荷状态,当出块时间被大幅缩短时,区块链中会存在大量空区块以及无效区块,导致存储空间的无效占用以及处理及传输资源的浪费。
技术实现思路
本专利技术实施例提供了一种区块生成方法、装置、设备及存储介质,能够减少区块链中空区块或无效区块,提高处理及传输资源利用的合理性,节约存储空间。第一方面,本专利技术实施例提供了一种区块生成方法,由区块生成节点执行,所述方法包括:在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据;若检测到达打包点,则通过打包线程对待打包的事务数据进行打包,生成新区块。第二方面,本专利技术实施例提供了一种区块生成装置,配置于区块生成节点中,所述装置包括:事务请求处理模块,用于在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据;事务数据打包模块,用于若检测到达打包点,则通过打包线程对待打包的事务数据进行打包,生成新区块。第三方面,本专利技术实施例提供了一种设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所述的区块生成方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术任意实施例所述的区块生成方法。本专利技术实施例在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据,对打包点的检测,当到达打包点时才对待打包的事务数据进行打包生成新区块。本专利技术实施例通过对打包点的检测,为打包线程对事务数据的打包提供触发条件,以使上链的大部分区块中记录了有效的事务数据,减少了区块链中空区块或无效区块,提高处理及传输资源利用的合理性,节约存储空间。附图说明图1为本专利技术实施例一提供的一种区块生成方法的流程图;图2为本专利技术实施例二提供的一种区块生成方法的流程图;图3为本专利技术实施例二提供的分叉链的示例图;图4为本专利技术实施例三提供的一种确定区块链主链的流程图;图5为本专利技术实施例四提供的一种区块生成装置的结构示意图;图6为本专利技术实施例五提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种区块生成方法的流程图,本实施例可适用于至少两个节点按照设定规则轮流出块的共识机制的情况,该方法由区块生成节点执行,可由配置于区块生成节点中的一种区块生成装置来执行。该方法具体包括如下步骤:S110、在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据。在本专利技术具体实施例中,区块链网络可以根据共识机制以及部署的参数,通过选举等方式,使得区块链网络中的至少两个节点可以享有事务处理权,并轮流作为当前的区块生成节点对区块链网络中的事务处理请求进行处理,最终依据处理后的事务处理数据生成新的区块记录于区块链中。每个节点具有一个区块生成周期,在该区块生成周期内产生至少两个区块,通常为数十或数百量级。示例性的,委托权益证明机制(DelegatedProofofStake,DPOS)是一种典型的轮流出块的共识机制,其预先选举出若干个候选出块节点,通常可以为21个,每个候选出块节点轮流作为区块生成节点进行出块。例如EOS系统,其采用DPOS作为共识机制,在区块生成节点的出块过程中,EOS中每个节点的记账时间周期为10分钟;百度的超级链中每个候选出块节点的区块生成周期可配置,一般默认也是10分钟。本实施例中,节点所采用的区块链共识机制为轮流出块共识机制。本机节点是指区块链网络中可以轮流作为区块生成节点的节点,即根据共识机制预先选举出的至少两个候选出块节点之一。本实施例将事务请求处理和打包生成新区块分为两类线程分开处理,即启动用于事务请求处理的事务处理类线程和用于打包生成新区块的打包线程。其中,事务处理类线程持续处理接收到的事务请求,形成事务数据并缓存成为队列,事务处理类线程的数量可以为若干个,进而串行或并行处理区块链网络中的事务请求;打包线程在到达设定打包点之后,从缓存队列中提取符合打包要求的事务处理数据,打包形成新的区块并发送至区块链网络中进行验证和确认,打包线程的数量可以为1个,按时间顺序动态确定打包点对事务数据进行打包生成新区块。起始处理时间是指本机节点开始启动事务处理类线程进行事务请求处理的起始时间点。可以理解的是,起始处理时间可以为本机节点在本次区块生成周期的起始出块时间,也可以早于起始出块时间,即在节点间过度时间内就可以启动事务处理类线程进行事务请求处理。具体的,起始出块时间是依据前一个区块生成节点的区块生成周期和节点间过渡时间确定的,在检测到达本机节点的起始处理时间之前,从本机部署的共识机制数据中获取节点间过渡时间,并将前一个区块生成节点的区块生成周期的终止出块时间和节点间过渡时间之和,作为本机节点在本次区块生成周期的起始出块时间。可以理解的是,若区块链网络中的共识机制中预先规定了等长的区块生成周期时间长度,则依据规定的等长事务处理时间长度、节点间过渡时间以及各候选出块节点的轮流顺序,可以预先确定各个节点的区块生成周期;或者随时确定前一个区块生成节点的区块生成周期的终止出块时间,通过与节点间过渡时间求和确定本机节点在本次区块生成周期的起始出块时间。若区块链网络中的共识机制的节点切换规则中预先规定了时间和/或空间等多维度阈值信息,则依据节点切换规则确定前一个区块生成节点的区块生成周期的终止出块时间,通过与节点间过渡时间求和确定本机节点在本次区块生成周期的起始出块时间。进而获取本机节点在本次区块生成周期的起始出块时间,作为起始处理时间。为了保证前一个区块生成节点的尾部区块的生成和传入至区块链网络中,本实施例中的节点间过渡时间大于节点内出块时间,其中节点内出块时间为单个节点的区块生成周期内的出块间隔。具体的,本实施例还可以通过向上一节点或全部节点进行询问的方式,可以以区块ID等区块信息为依据,若检测到本文档来自技高网...

【技术保护点】
1.一种区块生成方法,其特征在于,由区块生成节点执行,所述方法包括:在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据;若检测到达打包点,则通过打包线程对待打包的事务数据进行打包,生成新区块。

【技术特征摘要】
1.一种区块生成方法,其特征在于,由区块生成节点执行,所述方法包括:在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据;若检测到达打包点,则通过打包线程对待打包的事务数据进行打包,生成新区块。2.根据权利要求1所述的方法,其特征在于,在检测到达本机节点的起始处理时间之前,还包括:获取本机节点在本次区块生成周期的起始出块时间,作为所述起始处理时间,其中所述起始出块时间是依据前一个区块生成节点的区块生成周期和节点间过渡时间确定的。3.根据权利要求2所述的方法,其特征在于,所述节点间过渡时间大于节点内出块时间,所述节点内出块时间为单个节点的区块生成周期内的出块间隔。4.根据权利要求2所述的方法,其特征在于,本机节点在本次区块生成周期的起始出块时间通过如下方式确定:将前一个区块生成节点的区块生成周期的终止出块时间和所述节点间过渡时间之和,作为本机节点在本次区块生成周期的起始出块时间。5.根据权利要求1所述的方法,其特征在于,在检测到达本机节点的起始处理时间之前,还包括:若检测到本机节点成功接收到前一区块生成节点的尾部区块,则将当前时间作为起始处理时间。6.根据权利要求1所述的方法,其特征在于,检测是否到达打包点,包括:依据当前时间与本机节点生成的上一区块生成时间之间的时间长度和/或待打包的事务数据的尺寸,检测是否到达打包点。7.根据权利要求6所述的方法,其特征在于,依据当前时间与本机节点生成的上一区块生成时间之间的时间长度,检测是否到达打包点,包括:若当前时间与本机节点生成的上一区块生成时间之间的时间长度等于或大于第一打包时间间隔阈值,则检测到到达打包点。8.根据权利要求6所述的方法,其特征在于,依据待打包的事务数据的尺寸,检测是否到达打包点,包括:若待打包的事物数据的尺寸大于或等于第一事务打包尺寸阈值,则检测到到达打包点。9.根据权利要求6所述的方法,其特征在于,依据当前时间与本机节点生成的上一区块生成时间之间的时间长度和待打包的事务数据的尺寸,检测是否到达打包点,包括:若当前时间与本机节点生成的上一区块生成时间之间的时间长度等于或大于第二打包时间间隔阈值,且待打包的事务数据的尺寸大于第二事务打包尺寸阈值,则检测到到达打包点。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:若检测到区块链存在至少两个分叉链,则确定各分叉链中各区块的权重;依据各分叉链所包含的区块的权重,确定各分叉链的权重;依据各分叉链的权重从分叉链中确定主链,并将所述主链之外的分叉链回滚。11.根据权利要求10所述的方法,其特征在于,所述确定各分叉链中各区块的权重,包括:依据各分叉链中包含的区块信息确定目标攻击类型;依据预设的攻击类型与权重设定规则之间的关联关系,确定所述目标攻击类型所关联的目标权重设定规则;依据所述目标权重设定规则确定所述分叉链中各区块的权重。12.根据权利要求10所述的方法,其特征在于,所述确定各分叉链中各区块的权重,包括:若所述分叉链中任一当前区块的区块生成节点与所述当前区块的上一个区块的区块生成节点不相同,则设置所述当前区块的权重为第一数值;若所述当前区块的区块生成节点与所述当前区块的上一区块的区块生成节点相同,且所述上一区块为分叉区块,则将所述当前区块的权重设置为所述第一数值;若所述当前区块的区块生成节点与所述当前区块的上一区块的区块生成节点相同,且所述上一区块不为分叉区块,则将所述当前区块的权重设置为第二数值;其中,所述第一数值大于所述第二数值。13.根据权利要求10所述的方法,其特征在于,所述依据各分叉链所包含的区块的权重,确定各分叉链的权重,包括:将所述分叉链中所包含的各区块的权重求和得到所述分叉链的权重。14.根据权利要求10所述的方法,其特征在于,依据各分叉链的权重从分叉链中确定主链,包括:确定权重最大的分叉链作为主链。15.一种区块生成装置,其特征在于,配置于区块生成节点中,所述装置包括:事务请求处理模块,用于在检测到达本机节点的起始处理时间时,通过至少一个事务处理类线程对事务请求进行处理生成事务数据;...

【专利技术属性】
技术研发人员:肖伟
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1