CN109714412B - 区块同步方法、装置、设备及计算机可读存储介质 - Google Patents
区块同步方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109714412B CN109714412B CN201811598911.3A CN201811598911A CN109714412B CN 109714412 B CN109714412 B CN 109714412B CN 201811598911 A CN201811598911 A CN 201811598911A CN 109714412 B CN109714412 B CN 109714412B
- Authority
- CN
- China
- Prior art keywords
- block
- height
- synchronization
- block height
- preset
- 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
Abstract
本发明公开了一种区块同步方法、装置、设备及计算机可读存储介质,该方法包括:当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;以预设块高区间为单位,将目标区块块高,划分为若干块高区间,并按照预设分配策略,给若干块高区间中的各块高区间分配区块链节点;生成各块高区间分别对应的区块同步请求,并将区块同步请求发送至对应分配的区块链节点;接收分配的各区块链节点基于区块同步请求发送的区块包,并依据预设区块同步策略和区块包,执行对应的区块同步操作。本发明能够提高区块链节点的区块同步效率。
Description
技术领域
本发明涉及区块链的技术领域,尤其涉及一种区块同步方法、装置、设备及计算机可读存储介质。
背景技术
区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。区块链节点,是区块链的执行单元,由多个区块链节点,共同维护了一条区块链的运行。区块链节点根据自身的状态和其它节点的状态进行对比,根据一定的策略,同步其它节点的区块,实现区块的同步,而区块同步的实现与区块链的共识算法联系非常紧密。
目前,现有的区块链采用的共识算法为POW(Proof Of Work,工作量证明),因此区块同步也是基于POW算法实现的,然而,POW算法有分叉逻辑,POW区块同步的回滚逻辑,设计复杂,同时POW区块的下载过程是单节点的,不能并行的从多个节点下载区块,区块同步效率较低。
因此,如何提高区块链节点的区块同步效率是目前亟待解决的问题。
发明内容
本发明的主要目的在于提供一种区块同步方法、装置、设备及计算机可读存储介质,旨在提高区块链节点的区块同步效率。
为实现上述目的,本发明提供一种区块同步方法,所述区块同步方法包括以下步骤:
当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;
以预设块高区间为单位,将所述目标区块块高,划分为若干块高区间,并按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,所述当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高的步骤包括:
当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;
获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;
若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;
判断所述第一区块块高是否小于或等于所述第二区块块高;
若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;
若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高。
进一步地,所述获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高的步骤之前,还包括:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则执行步骤:获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
进一步地,所述按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点的步骤包括:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
进一步地,所述接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作的步骤包括:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,所述依据预设区块同步策略和所述区块包,执行对应的区块同步操作的步骤包括:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
此外,为实现上述目的,本发明还提供一种区块同步装置,所述区块同步装置包括:
块高确定模块,用于当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;
区间划分模块,用于以预设块高区间为单位,将所述目标区块块高,划分为若干块高区间;
分配模块,用于按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
请求发送模块,用于生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
区块同步模块,用于接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
可选地,所述块高确定模块还用于:
当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;
获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;
若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;
判断所述第一区块块高是否小于或等于所述第二区块块高;
若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;
若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高。
可选地,所述块高确定模块还用于:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
可选地,所述分配模块还用于:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
可选地,所述区块同步模块还用于:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
可选地,所述区块同步模块还用于:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
此外,为实现上述目的,本发明还提供一种区块同步设备,所述区块同步设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块同步程序,所述区块同步程序被所述处理器执行时实现如上所述的区块同步方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有区块同步程序,所述区块同步程序被处理器执行时实现如上所述的区块同步方法的步骤。
本发明提供一种区块同步方法、装置、设备及计算机可读存储介质,本发明当监测到触发的区块同步指令时,基于区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高,然后以预设块高区间为单位,将该目标区块块高,划分为若干块高区间,并按照预设分配策略,给若干块高区间中的各块高区间分配区块链节点,再然后生成各块高区间分别对应的区块同步请求,并将该区块同步请求发送至对应分配的区块链节点,最后基于分配的各区块链节点返回的区块包和预设区块同步策略,执行对应的区块同步操作,将区块同步请求发送至对应分配的区块链节点,可以并行的从多个分配的区块链节点下载区块,有效的提高区块链节点的区块同步效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明区块同步方法第一实施例的流程示意图;
图3为本发明区块同步装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该区块同步设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的区块同步设备结构并不构成对区块同步设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及区块同步程序。
在图1所示的区块同步设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的区块同步程序,并执行以下步骤:
当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;
以预设块高区间为单位,将所述目标区块块高,划分为若干块高区间,并按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,处理器1001可以用于调用存储器1005中存储的区块同步程序,还执行以下步骤:
当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;
获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;
若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;
判断所述第一区块块高是否小于或等于所述第二区块块高;
若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;
若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高。
进一步地,处理器1001可以用于调用存储器1005中存储的区块同步程序,还执行以下步骤:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则执行步骤:获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
进一步地,处理器1001可以用于调用存储器1005中存储的区块同步程序,还执行以下步骤:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
进一步地,处理器1001可以用于调用存储器1005中存储的区块同步程序,还执行以下步骤:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,处理器1001可以用于调用存储器1005中存储的区块同步程序,还执行以下步骤:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
其中,本发明区块同步设备的具体实施例与下述区块同步方法的各具体实施例基本相同,在此不作赘述。
本发明提供一种区块同步方法。
参照图2,图2为本发明区块同步方法第一实施例的流程示意图。
本实施例中,该区块同步方法包括:
步骤S101,当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;
本实施例中,该区块同步方法应用于区块同步设备,区块链中的各区块链节点部署有该区块同步设备,当区块同步设备监测到触发的区块同步指令时,该区块同步设备依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高。其中,区块同步指令的具体触发方式为定时触发,定时时间可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定:该区块同步设备定时获取其所属区块链节点的区块块高(所属区块链节点包含区块的最大区块块高),并获取区块链中其余区块链节点的第一区块块高(区块链节点包含区块的最大区块块高),然后从其余区块链节点的第一区块块高中获取最大的第一区块块高,并判断最大的第一区块块高是否大于所属区块链节点的区块块高,如果最大的第一区块块高大于所属区块链节点的区块块高,则触发区块同步指令。
具体地,当监测到触发的区块同步指令时,该区块同步设备获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高,获取当前区块链节点(该区块同步设备的所属区块链节点)的区块块高(区块链节点包含区块的最大区块块高),并判断当前区块链节点的区块块高是否小于第一区块块高,如果当前区块链节点的区块块高小于第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高,然后判断第一区块块高是否小于或等于第二区块块高,如果第一区块块高小于或等于第二区块块高,则将第一区块块高确定为目标区块块高,如果第一区块块高大于第二区块块高,则将第二区块块高确定为目标区块块高。例如,区块链上除当前区块链节点之外的其余区块链节点分别为A、B、C、D和E,且对应的区块块高分别为8、13、11、15和16,当前区块同步队列中包含3个区块,且对应的区块块高分别为6、7和8,则第一区块块高为16,第二区块块高为6,此时,第一区块块高大于第二区块块高,则将第二区块块高6确定为目标区块块高。需要说明的是,正常情况下,第二区块块高小于等于第一区块块高,而当出现异常后,存在第二区块块高大于或等于第一区块块高的情况,为了在异常时也能同步区块,目标区块块高取第一区块块高和第二区块块高的较小值,可以提高区块同步的容错性。
步骤S102,以预设块高区间为单位,将所述目标区块块高,划分为若干块高区间,并按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
本实施例中,在确定目标区块块高之后,该区块同步设备以预设块高区间为单位,将目标区块块高,划分为若干块高区间,并按照预设分配策略,给若干块高区间中的各块高区间分配区块链节点。其中,在划分块高区间的过程中,在划分到的块高区间的区间值小于预设块高区间的区间值时,停止划分块高区间,例如,预设块高区间为[1,4],目标区块块高为6,则划分得到的块高区间分别为[7,10]、[11,14]和[15,16],块高区间[15,16]的区间值小于预设块高区间的区间值。需要说明的是,上述预设块高区间可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
具体地,该区块同步设备获取各区块链节点的身份标识符,并基于各区块链节点的身份标识符,构造一个随机的区块链节点数组,然后按照从小到大的顺序将若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。其中,分配的具体方式为按照各块高区间的区间编号的从小到大的顺序将各块高区间依次分配给所述区块链节点数组中的区块链节点,在分配过程中,需要判断待分配的区块链节点的区块块高是否大于或等于块高区间的范围,若是,则将块高区间分配给区块链节点,否则跳过该区块链节点。例如,块高区间分别为[7,10]、[11,14]和[15,16],且对应的区间编号分别为1、2和3,则按照区间编号的从小到大的顺序,各块高区间的排序为[7,10]、[11,14]、[15,16],此外,区块链节点数组为[A,B,C,D,E],且区块链节点A、B、C、D和E对应的区块块高分别为8、13、11、15和16,因此将块高区间[7,10]分配给区块链节点B,将块高区间[11,14]分配给区块链节点D,将块高区间[15,16]分配给区块链节点E,其中,区块链节点A的区块块高小于块高区间[7,10]的范围,则跳过区块链节点A,同理区块链节点C的区块块高小于块高区间[11,14]的范围,则跳过区块链节点C。
其中,分配的具体方式还可以为获取若干块高区间中各块高区间的区间端点块高,并依据各块高区间的区间端点块高的大小顺序,生成块高区间队列(区间端点块高越小的块高区间,在块高区间队列的排列顺序越靠前,区间端点块高越大的块高区间,在块高区间队列的排列顺序越靠后),然后依据块高区间队列中各块高区间的排列顺序,依次将各块高区间分配给区块链节点数组中的区块链节点,具体为:按照块高区间队列中各块高区间的排列顺序,依次从该块高区间队列中获取一块高区间,并按照区块链节点数组中各区块链节点的排列顺序,依次从区块链节点数组中获取一区块链节点,然后判断该区块链节点的区块块高是否大于或等于该块高区间的区间值,如果该区块链节点的区块块高大于或等于该块高区间的区间值,则将该块高区间分配给该区块链节点,并进行下一块高区间的分配;
如果该区块链节点的区块块高小于该块高区间的区间值,则跳过该区块链节点,并从区块链节点数组中重新获取下一区块链节点,然后继续判断该区块链节点的区块块高是否大于或等于该块高区间的范围,直到区块链节点的区块块高大于或等于该块高区间的范围,或者区块链节点数组中的区块链节点均被获取一次,结束该块高区间的分配,重新获取一块高区间进行分配。形成随机的区块链节点数组,并将各块高区间分配给区块链节点数组中的区块链节点,实现被下载区块链节点的负载均衡,提高区块下载速度,从而提高区块同步效率。
其中,块高区间队列的具体生成方式为:获取若干块高区间中各块高区间的第一区间端点块高,并按照各块高区间的第一区间端点块高的大小顺序,生成块高区间队列,或者,获取若干块高区间中各块高区间的第二区间端点块高,并按照各块高区间的第二区间端点块高的大小顺序,生成块高区间队列。其中,第一区间端点块高和第二区间端点块高分别为块高区间的两个端点块高,例如,块高区间[11,14],如果第一区间端点块高为11,则第二区间端点块高为14,如果第一区间端点块高为14,则第二区间端点块高为11。例如,块高区间分别为[11,14]、[7,10]和[15,16],则生成的块高区间队列为{[7,10]、[11,14]、[15,16]}。
步骤S103,生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
本实施例中,在给各区块区间分配区块链节点之后,该区块同步设备生成各块高区间分别对应的区块同步请求,并将该区块同步请求发送至对应分配的区块链节点。其中,该区块同步请求中包含块高区间的两个端点块高和分配的区块链节点的身份标识符。例如,将块高区间[7,10]分配给区块链节点B,将块高区间[11,14]分配给区块链节点D,将块高区间[15,16]分配给区块链节点E,则将块高区间[7,10]对应的区别同步请求发送至区块链节点B,将块高区间[11,14]对应的区别同步请求发送至区块链节点D,将块高区间[15,16]对应的区别同步请求发送至区块链节点E。
其中,当分配的区块链节点接收到区块同步请求时,基于该区块同步请求中的两个端点块高,生成包含多个区块的区块包,并将生成的区块包发送给该区块同步设备。例如,块高区间[11,14]对应的区块同步请求中的两个端点块高分别为11和14,则获取块高为11、12、13和14的这四个区块,并将这四个区块打包,从而生成包含这四个区块的区块包,且将该区块包发送给区块同步设备。
步骤S104,接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
本实施例中,该区块同步设备接收分配的各区块链节点基于该区块同步请求发送的区块包,并依据预设区块同步策略和该区块包,执行对应的区块同步操作。具体地,该区块同步设备对该区块包进行解码,得到若干区块,并验证若干区块中的各区块是否满足第一预设条件,然后将若干区块中满足第一预设条件的区块插入当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块,最后从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与该目标区块链接的第二预设条件,如果获取到的区块满足与该目标区块链接的第二预设条件,则将获取到的区块与该目标区块进行链接,以实现区块同步。其中,目标区块的具体确定方式为:将该区块同步设备所属区块链节点下的区块块高最大的区块确定为目标区块。通过区块同步队列管理待同步的区块,可以进一步地提高区块同步效率。
其中,第一预设条件为预设PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)签名个数,则验证若干区块中的各区块是否满足第一预设条件的具体过程为:该区块同步设备从若干区块中获取一区块,并从该区块的区块体中获取各区块链节点的PBFT签名,然后统计该PBFT签名的个数,并判断该PBFT签名的个数是否大于或等于预设PBFT签名个数,如果该PBFT签名的个数大于或等于预设PBFT签名个数,则可以确定该区块满足第一预设条件,反之,如果该PBFT签名的个数小于预设PBFT签名个数,则可以确定该区块不满足第一预设条件。
其中,判断获取到的区块是否满足与该目标区块链接的第二预设条件的具体过程为:该区块同步设备获取该区块的区块块高和父hash,并获取该目标区块的区块块高和区块hash,然后判断该区块的区块块高与该目标区块的区块块高之差是否为1,并判断该区块的父hash是否为该目标区块的区块hash,如果该区块的区块块高与该目标区块的区块块高之差为1,且该区块的父hash为该目标区块的区块hash,则可以确定获取到的区块满足与该目标区块链接的第二预设条件。
其中,区块插入当前区块同步队列的具体方式为:该区块同步设备获取若干区块中满足第一预设条件的区块的第三区块块高,并获取当前区块同步队列中各区块的第四区块块高,然后依据第三区块块高和第四区块块高,将若干区块中满足第一预设条件的区块插入当前区块同步队列,以更新区块同步队列,具体为从若干区块中获取第一预设条件的区块,并获取该区块的第三区块块高,然后将该第第三区块块高与第四区块块高进行比较,得到该区块在当前区块同步队列的插入位置,并在该插入位置插入该区块。例如,当前区块同步队列包含3个区块,分别为区块a、区块b和区块c,且区块块高分别为8、6和7,则排列顺序为区块b、区块c和区块a,满足第一预设条件的区块g的区块块高为10,则该区块g在当前区块同步队列的插入位置为区块a之后,因此,将该区块g插入区块a之后,得到的区块同步队列为区块b、区块c、区块a和区块d。
本实施例中,本发明当监测到触发的区块同步指令时,基于区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高,然后以预设块高区间为单位,将该目标区块块高,划分为若干块高区间,并按照预设分配策略,给若干块高区间中的各块高区间分配区块链节点,再然后生成各块高区间分别对应的区块同步请求,并将该区块同步请求发送至对应分配的区块链节点,最后基于分配的各区块链节点返回的区块包和预设区块同步策略,执行对应的区块同步操作,将区块同步请求发送至对应分配的区块链节点,可以并行的从多个分配的区块链节点下载区块,有效的提高区块链节点的区块同步效率。
进一步地,基于上述第一实施例,提出了本发明区块同步方法的第二实施例,与前述实施例的区别在于,当接收到分配的各区块链节点基于该区块同步请求发送的区块包时,将该区块包缓存至预设存储区域,并向分配的各区块链节点发送响应信息,然后定时从预设存储区域中读取全部区块包,并依据预设区块同步策略和所述全部区块包,执行对应的区块同步操。具体为对全部区块包进行解码,得到若干区块,并验证若干区块中的各区块是否满足第一预设条件,然后将若干区块中满足第一预设条件的区块插入当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块,最后从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与该目标区块链接的第二预设条件,如果获取到的区块满足与该目标区块链接的第二预设条件,则将获取到的区块与该目标区块进行链接,以实现区块同步。
本实施例中,本发明在接收到区块包时,将区块包缓存至预设存储区域,并立即向分配的各区块链节点发送响应信息,然后定时从预设存储区域中读取全部区块包,并依据预设区块同步策略和全部区块包,执行对应的区块同步操作,实现异步的区块同步,可以防止网络回调进程卡死,提高响应速度。
进一步地,基于上述第一或第二实施例,提出了本发明区块同步方法的第三实施例,与前述实施例的区别在于,当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高,然后获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于第一区块块高,如果当前区块链节点的区块块高小于第一区块块高,则获取区块同步指令的当前触发时刻,并获取距离当前触发时刻最近的区块同步请求时刻,然后计算当前触发时刻与上次触发时刻的时间差值,并判断该时间差值是否小于或等于预设超时时间,如果时间差值小于或等于预设超时时间,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高,且判断第一区块块高是否小于或等于第二区块块高,如果第一区块块高小于或等于第二区块块高,则将第一区块块高确定为目标区块块高,如果第一区块块高大于第二区块块高,则将第二区块块高确定为目标区块块高。需要说明的是,上述预设超时时间可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
本实施例中,本发明通过设置超时时间,只有在区块同步指令的当前触发时刻与区块同步请求时刻的时间差值小于或等于预设超时时间时,才执行后续的区块同步流程,可以防止频繁的对区块链节点发起区块同步请求。
本发明还提供一种区块同步装置。
参照图3,图3为本发明区块同步装置第一实施例的功能模块示意图。
本实施例中,该区块同步装置包括:
块高确定模块101,用于当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;
区间划分模块102,用于以预设块高区间为单位,将所述目标区块块高,划分为若干块高区间;
分配模块103,用于按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
请求发送模块104,用于生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
区块同步模块105,用于接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,所述块高确定模块101还用于:
当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;
获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;
若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;
判断所述第一区块块高是否小于或等于所述第二区块块高;
若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;
若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高。
进一步地,所述块高确定模块101还用于:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
进一步地,所述分配模块103还用于:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
进一步地,所述区块同步模块105还用于:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,所述区块同步模块105还用于:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
其中,本发明区块同步装置的具体实施例与上述区块同步方法各实施例基本相同,在此不作赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有区块同步程序,所述区块同步程序被处理器执行时,执行以下步骤:
当监测到触发的区块同步指令时,依据区块链中各区块链节点的区块块高和当前区块同步队列中各区块的区块块高,确定目标区块块高;
以预设块高区间为单位,将所述目标区块块高,划分为若干块高区间,并按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,所述区块同步程序被处理器执行时,还执行以下步骤:
当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;
获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;
若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;
判断所述第一区块块高是否小于或等于所述第二区块块高;
若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;
若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高。
进一步地,所述区块同步程序被处理器执行时,还执行以下步骤:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则执行步骤:获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
进一步地,所述区块同步程序被处理器执行时,还执行以下步骤:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
进一步地,所述区块同步程序被处理器执行时,还执行以下步骤:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
进一步地,所述区块同步程序被处理器执行时,还执行以下步骤:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列,并丢弃不满足第一预设条件的区块;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
其中,本发明计算机可读存储介质的具体实施例与上述区块同步方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种区块同步方法,其特征在于,所述区块同步方法包括以下步骤:
当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;
获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;
若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;
判断所述第一区块块高是否小于或等于所述第二区块块高;
若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;
若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高;
以预设块高区间为单位,在所述第一区块块高小于或等于所述第二区块块高时,将所述目标区块块高和所述第二区块块高之间的块高区间,划分为若干块高区间;或,
以预设块高区间为单位,在所述第一区块块高大于所述第二区块块高时,将所述目标区块块高和所述第一区块块高之间的块高区间,划分为若干块高区间;
并按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
2.如权利要求1所述的区块同步方法,其特征在于,所述获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高的步骤之前,还包括:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则执行步骤:获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
3.如权利要求1所述的区块同步方法,其特征在于,所述按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点的步骤包括:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
4.如权利要求1所述的区块同步方法,其特征在于,所述接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作的步骤包括:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
5.如权利要求1-4中任一项所述的区块同步方法,其特征在于,所述依据预设区块同步策略和所述区块包,执行对应的区块同步操作的步骤包括:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
6.一种区块同步装置,其特征在于,所述区块同步装置包括:
块高确定模块,用于当监测到触发的区块同步指令时,获取区块链中各区块链节点的区块块高,并将各区块链节点的区块块高中的最大区块块高,确定为第一区块块高;获取当前区块链节点的区块块高,并判断当前区块链节点的区块块高是否小于所述第一区块块高;若当前区块链节点的区块块高小于所述第一区块块高,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高;判断所述第一区块块高是否小于或等于所述第二区块块高;若所述第一区块块高小于或等于所述第二区块块高,则将所述第一区块块高确定为目标区块块高;若所述第一区块块高大于所述第二区块块高,则将所述第二区块块高确定为目标区块块高;
区间划分模块,用于以预设块高区间为单位,在所述第一区块块高小于或等于所述第二区块块高时,将所述目标区块块高和所述第二区块块高之间的块高区间,划分为若干块高区间;或,
以预设块高区间为单位,在所述第一区块块高大于所述第二区块块高时,将所述目标区块块高和所述第一区块块高之间的块高区间,划分为若干块高区间;
分配模块,用于按照预设分配策略,给所述若干块高区间中的各块高区间分配区块链节点;
请求发送模块,用于生成所述各块高区间分别对应的区块同步请求,并将所述区块同步请求发送至对应分配的区块链节点;
区块同步模块,用于接收分配的各区块链节点基于所述区块同步请求发送的区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
7.如权利要求6所述的区块同步装置,其特征在于,所述块高确定模块还用于:
若当前区块链节点的区块块高小于所述第一区块块高,则获取所述区块同步指令的当前触发时刻,并获取距离所述当前触发时刻最近的区块同步请求时刻;
计算所述当前触发时刻与所述区块同步请求时刻的时间差值,并判断所述时间差值是否小于或等于预设超时时间;
若所述时间差值小于或等于预设超时时间,则获取当前区块同步队列中各区块的区块块高,并将各区块的区块块高中的最小区块块高,确定为第二区块块高。
8.如权利要求6所述的区块同步装置,其特征在于,所述分配模块还用于:
获取所述各区块链节点的身份标识符,并基于所述各区块链节点的身份标识符,构造一个随机的区块链节点数组;
按照从小到大的顺序将所述若干块高区间中的各块高区间,依次分配给所述区块链节点数组中的区块链节点。
9.如权利要求6所述的区块同步装置,其特征在于,所述区块同步模块还用于:
接收分配的各区块链节点基于所述区块同步请求发送的区块包,并将所述区块包缓存至预设存储区域,且向分配的各区块链节点发送响应信息;
定时从所述预设存储区域中读取区块包,并依据预设区块同步策略和所述区块包,执行对应的区块同步操作。
10.如权利要求6-9中任一项所述的区块同步装置,其特征在于,所述区块同步模块还用于:
对所述区块包进行解码,得到若干区块,并验证所述若干区块中的各区块是否满足第一预设条件;
将所述若干区块中满足第一预设条件的区块插入所述当前区块同步队列,以更新区块同步队列;
从更新后的区块同步队列中获取区块,并确定目标区块,且判断获取到的区块是否满足与所述目标区块链接的第二预设条件;
若获取到的区块满足与所述目标区块链接的第二预设条件,则将获取到的区块与所述目标区块进行链接,以实现区块同步。
11.一种区块同步设备,其特征在于,所述区块同步设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块同步程序,所述区块同步程序被所述处理器执行时实现如权利要求1至5中任一项所述的区块同步方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有区块同步程序,所述区块同步程序被处理器执行时实现如权利要求1至5中任一项所述的区块同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811598911.3A CN109714412B (zh) | 2018-12-25 | 2018-12-25 | 区块同步方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811598911.3A CN109714412B (zh) | 2018-12-25 | 2018-12-25 | 区块同步方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109714412A CN109714412A (zh) | 2019-05-03 |
CN109714412B true CN109714412B (zh) | 2021-08-10 |
Family
ID=66258242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811598911.3A Active CN109714412B (zh) | 2018-12-25 | 2018-12-25 | 区块同步方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714412B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110650135B (zh) * | 2019-09-20 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种节点处理方法、相关设备及计算机可读存储介质 |
CN110572473B (zh) * | 2019-09-20 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 一种区块头同步方法、设备及计算机可读存储介质 |
CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
CN110737664B (zh) * | 2019-10-21 | 2022-11-25 | 深圳前海微众银行股份有限公司 | 一种区块链节点同步的方法及装置 |
CN111241593A (zh) * | 2020-01-02 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 用于区块链节点的数据同步方法及装置 |
CN111400106B (zh) * | 2020-03-27 | 2023-07-28 | 百度国际科技(深圳)有限公司 | 一种区块链账本同步方法、装置以及电子设备 |
CN111432009B (zh) * | 2020-03-30 | 2023-04-07 | 深圳壹账通智能科技有限公司 | 一种区块链数据的同步方法、装置及电子设备、存储介质 |
CN111475575B (zh) * | 2020-04-09 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数据同步方法、装置及计算机可读存储介质 |
CN112800129B (zh) * | 2020-12-31 | 2024-04-23 | 杭州趣链科技有限公司 | 区块状态更新方法、装置、系统和电子设备 |
CN113098970A (zh) * | 2021-04-12 | 2021-07-09 | 浙江永旗区块链科技有限公司 | 一种分布式网络节点数据同步方法 |
CN113765675B (zh) * | 2021-06-21 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备以及介质 |
CN113626260B (zh) * | 2021-10-11 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317842A (zh) * | 2017-05-31 | 2017-11-03 | 北京大学深圳研究生院 | 基于ndn的区块链同步方法和装置 |
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN107688999A (zh) * | 2017-08-11 | 2018-02-13 | 杭州秘猿科技有限公司 | 一种基于区块链的并行交易执行方法 |
CN108023896A (zh) * | 2017-12-28 | 2018-05-11 | 江苏通付盾科技有限公司 | 区块同步方法及系统 |
CN108243253A (zh) * | 2018-01-11 | 2018-07-03 | 杭州复杂美科技有限公司 | 一种区块链节点同步模式 |
CN108600353A (zh) * | 2018-04-12 | 2018-09-28 | 北京天德科技有限公司 | 一种区块链节点的并行块同步方法 |
CN108898032A (zh) * | 2018-07-20 | 2018-11-27 | 杭州尚尚签网络科技有限公司 | 一种基于区块链技术的电子数据存证的高效处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341702B (zh) * | 2017-03-08 | 2020-06-23 | 创新先进技术有限公司 | 一种业务处理的方法及装置 |
CN107402824B (zh) * | 2017-05-31 | 2020-06-02 | 创新先进技术有限公司 | 一种数据处理的方法及装置 |
CN108881231A (zh) * | 2018-06-21 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种集群系统中同步账户信息的方法、装置和存储介质 |
-
2018
- 2018-12-25 CN CN201811598911.3A patent/CN109714412B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317842A (zh) * | 2017-05-31 | 2017-11-03 | 北京大学深圳研究生院 | 基于ndn的区块链同步方法和装置 |
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN107688999A (zh) * | 2017-08-11 | 2018-02-13 | 杭州秘猿科技有限公司 | 一种基于区块链的并行交易执行方法 |
CN108023896A (zh) * | 2017-12-28 | 2018-05-11 | 江苏通付盾科技有限公司 | 区块同步方法及系统 |
CN108243253A (zh) * | 2018-01-11 | 2018-07-03 | 杭州复杂美科技有限公司 | 一种区块链节点同步模式 |
CN108600353A (zh) * | 2018-04-12 | 2018-09-28 | 北京天德科技有限公司 | 一种区块链节点的并行块同步方法 |
CN108898032A (zh) * | 2018-07-20 | 2018-11-27 | 杭州尚尚签网络科技有限公司 | 一种基于区块链技术的电子数据存证的高效处理方法 |
Non-Patent Citations (1)
Title |
---|
基于区块链的应用系统开发方法研究;蔡维德,等;《软件学报》;20170222;第28卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109714412A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714412B (zh) | 区块同步方法、装置、设备及计算机可读存储介质 | |
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
CN107797817B (zh) | 应用更新方法和装置 | |
EP3554009A1 (en) | Method and device for service deployment | |
EP3293969A1 (en) | Method of terminal-based conference load-balancing, and device and system utilizing same | |
CN109451020B (zh) | 超时管理方法、设备及计算机可读存储介质 | |
CN109756566B (zh) | 基于区块链的数据存储方法、相关设备及存储介质 | |
CN110704185B (zh) | 集群系统分片定时任务调度方法及集群系统 | |
CN111242784A (zh) | 区块预打包方法、区块节点、装置及存储介质 | |
CN111294390A (zh) | 一种区块数据快速同步方法、装置、设备及存储介质 | |
CN104866339A (zh) | Fota数据的分布式持久化管理方法、系统和装置 | |
CN107548039B (zh) | 一种短消息重试处理方法及装置、系统 | |
CN111506406A (zh) | 工作流调度方法、装置、系统与计算机可读存储介质 | |
CN113835369A (zh) | 边缘端场景管理方法、装置及系统 | |
CN113259177B (zh) | 虚拟网络切片的重构方法和装置 | |
CN109697117B (zh) | 终端控制方法、装置以及计算机可读存储介质 | |
CN109150720B (zh) | 业务链报文转发方法、装置、设备及计算机可读存储介质 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN110888892B (zh) | 一种区块同步方法、装置及存储介质 | |
CN115729961A (zh) | 数据查询方法、装置、设备和计算机可读存储介质 | |
CN111159233A (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN113254185A (zh) | 终端任务的调度方法、终端设备及计算机存储介质 | |
CN106897325B (zh) | 一种数据加载方法和装置 | |
CN115220993A (zh) | 进程监控方法、装置、车辆及存储介质 | |
CN114493875A (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 |