【技术实现步骤摘要】
基于区块链的数据快照方法、装置及计算机可读存储介质
本申请涉及数据处理的
,尤其涉及一种基于区块链的数据快照方法、装置及计算机可读存储介质。
技术介绍
在时刻A,对交易账户进行快照处理,即为在时刻A,对交易账户的账户状态进行备份。其中,交易账户的账户状态可以指交易账户的账户余额的状态。区块链网络中可以存在共识节点,交易账户的账户状态是通过共识节点的账本中所提交的每个区块中的交易数据对交易账户进行执行后,所得到的账户数据。由于,在触发快照的触发时刻(假设为时刻B),很大可能共识节点正在向账本中提交某个区块,且正在提交的该个区块在该时刻B并未完全提交到账本中。因此,现有技术中,需要在触发快照之后,等待共识节点将当前正在提交的区块完全提交到账本中之后,才能对交易账户的账户状态进行快照处理,这会导致针对交易账户的快照处理有较大延时。申请内容本申请提供了一种基于区块链的数据快照方法、装置及计算机可读存储介质,可保证针对交易账户的快照处理的实时性。本申请一方面提供了一种基于区块链的数据快照方法,包括:获取快照触发指令,获取快照触发指令的触发时刻;根据快照触发指令,对在触发时刻时的账本中的交易区块进行快照处理,得到交易账户的快照账户状态;快照账户状态是与交易区块中的交易数据相关的账户数据;获取目标区块的预写日志;目标区块为交易区块中具有最高区块高度的区块;目标区块的预写日志为包含目标区块对应的账户数据的日志;根据目标区块的预写日志对快照账户状态中的脏数据进行修正 ...
【技术保护点】
1.一种基于区块链的数据快照方法,其特征在于,包括:/n获取快照触发指令,获取所述快照触发指令的触发时刻;/n根据所述快照触发指令,对在所述触发时刻时的账本中的交易区块进行快照处理,得到交易账户的快照账户状态;所述快照账户状态是与由所述交易区块中的交易数据相关的账户数据;/n获取目标区块的预写日志;所述目标区块为所述交易区块中具有最高区块高度的区块;所述目标区块的预写日志为包含所述目标区块对应的账户数据的日志;/n根据所述目标区块的预写日志对所述快照账户状态中的脏数据进行修正,得到修正后的快照账户状态;所述脏数据是基于所述账本中包含所述目标区块中的不完整的交易数据所生成的。/n
【技术特征摘要】
1.一种基于区块链的数据快照方法,其特征在于,包括:
获取快照触发指令,获取所述快照触发指令的触发时刻;
根据所述快照触发指令,对在所述触发时刻时的账本中的交易区块进行快照处理,得到交易账户的快照账户状态;所述快照账户状态是与由所述交易区块中的交易数据相关的账户数据;
获取目标区块的预写日志;所述目标区块为所述交易区块中具有最高区块高度的区块;所述目标区块的预写日志为包含所述目标区块对应的账户数据的日志;
根据所述目标区块的预写日志对所述快照账户状态中的脏数据进行修正,得到修正后的快照账户状态;所述脏数据是基于所述账本中包含所述目标区块中的不完整的交易数据所生成的。
2.根据权利要求1所述的方法,其特征在于,还包括:
生成所述目标区块,将所述目标区块进行共识;
当检测到所述目标区块的共识通过率大于或者等于通过率阈值时,生成所述目标区块的预写日志;
存储所述目标区块的预写日志,将所述目标区块添加至所述账本中。
3.根据权利要求2所述的方法,其特征在于,所述生成所述目标区块的预写日志,包括:
生成所述目标区块的重做日志;所述重做日志包括对所述交易账户进行执行与所述目标区块对应的交易后,所述交易账户的账户状态;
根据所述重做日志,生成所述目标区块的预写日志。
4.根据权利要求2所述的方法,其特征在于,所述生成所述目标区块的预写日志,包括:
生成所述目标区块的撤销日志;所述撤销日志包括对所述交易账户进行执行与所述目标区块对应的交易前,所述交易账户的账户状态;
根据所述撤销日志,生成所述目标区块的预写日志。
5.根据权利要求3所述的方法,其特征在于,所述根据所述目标区块的预写日志对所述快照账户状态中的脏数据进行修正,得到修正后的快照账户状态,包括:
根据所述目标区块的预写日志中的所述重做日志,对所述快照账户状态中的所述脏数据进行修正,得到所述修正后的快照账户状态;所述修正后的快照账户状态包括对所述交易账户进行执行与所述目标区块对应的交易后,所述交易账户的账户状态。
6.根据权利要求4所述的方法,其特征在于,所述根据所述目标区块的预写日志对所述快照账户状态中的脏数据进行修正,得到修正后的快照账户状态,包括:
根据所述目标区块的预写日志中的所述撤销日志,对所述快照账户状态中的所述脏数据进行修正,得到所述修正后的快照账户状态;所述修正后的快照账户状态包括对所述交易账户进行执行与所述目标区块对应的交易前,所述交易账户的账户状态。
7.根据权利要求2所述的方法,其特征在于,所述存储所述目标区块的预写日志,将所述目标区块添加至所述账本中,包括:
获取所述目标区块的区块高度;
将所述目标区块的区块高度和所述目标区块的预写日志,关联存储至所述账本;所述目标区块的区块高度用于关联检索所述目标区块的预写日志;
根据所述目标区块的区块高度将所述目标区块添加至所述账本中。
8.根据权利要求7所述的方法,其特征在于,所述将所述目标区块的区块高度和所述目标区块的预写日志,关联存储至所述账本,包括:
根据所述目标区块的区块高度和所述目标区块的预写日志,生成关联信息;
将所述关联信息进行打包,得到关联区块;
...
【专利技术属性】
技术研发人员:李茂材,杨常青,周开班,刘区城,朱耿良,张劲松,黄焕坤,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。