【技术实现步骤摘要】
区块链状态数据处理方法
[0001]本申请涉及金融科技(Fintech)领域,尤其涉及一种区块链状态数据处理方法。
技术介绍
[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,区块链(Block chain)技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]目前,一般每个区块链节点都会用树状存储结构即状态树的形式,来保存区块链节点运行所必须的信息即状态数据,但是随着区块链系统不断运行,状态数据越来越多,状态树也越来越大,这就使得数据的检索和访问效率大大下降。
[0004]即现有技术中存在当区块链系统运行一段时间后状态数据的检索和访问的效率大幅下降的技术问题。
技术实现思路
[0005]本申请提供一种区块链状态数据处理方法,以解决现有技术中存在当区块链系统运行一段时间后状态数据的检索和访问的效率大幅下降的技术问题。
[0006]第一个方面,本申请提供一种区块链状态数据处理方法,应用于区块链节点,该方法包括:
[0007]在每个时期e
n
开始时,创建与时期e
n
相对应的状态树S
n
;
[0008]获取状态数据,状态数据包括:时期标识以及区块链节点为处理传入的区块和/或接收到的业务事件所必须的信息;
[0009]根据时期标识以及预设要求,将状态数据存储到状态树S
n
中,以便于区块链节点
【技术保护点】
【技术特征摘要】
1.一种区块链状态数据处理方法,其特征在于,应用于区块链节点,所述方法包括:在每个时期e
n
开始时,创建与所述时期e
n
相对应的状态树S
n
;获取状态数据,所述状态数据包括:时期标识以及所述区块链节点为处理传入的区块和/或接收到的业务事件所必须的信息;根据所述时期标识以及预设要求,将所述状态数据存储到所述状态树S
n
中,以便于所述区块链节点在处理各项业务时调用所述状态数据;其中,所述预设要求包括:每个所述时期e
n
内生成的所述状态数据只能存储到与所述时期e
n
对应的所述状态树S
n
中。2.根据权利要求1所述的区块链状态数据处理方法,其特征在于,还包括:在每个所述时期开始时,若所述区块链节点中存在前一个时期的第一历史状态树S
n
‑1,则保存并冻结所述第一历史状态树S
n
‑1。3.根据权利要求2所述的区块链状态数据处理方法,其特征在于,当所述区块链节点为全节点时,在所述全节点中保存每个时期e
n
对应的状态树S
n
;当所述区块链节点为轻节点时,在所述轻节点中至少保存:所述状态树S
n
以及所述第一历史状态树S
n
‑1,并在当前的时期e
n
开始时,删除不满足预设存储要求的第二历史状态树S
m
。4.根据权利要求3所述的区块链状态数据处理方法,其特征在于,所述预设存储要求包括:所述第二历史状态树S
m
对应的历史时期e
m
与当前的所述时期e
n
的时间间隔小于预设间隔。5.根据权利要求3所述的区块链状态数据处理方法,其特征在于,所述轻节点中能够保存预设数量个连续的所述时期e
n
所对应的所有所述状态树S
n
,所述预设数量大于或等于2。6.根据权利要求1
‑
5中任意一项所述的区块链状态数据处理方法,其特征在于,所述获取状态数据,包括:获取出块节点发送的区块,并根据所述区块确定所述状态数据;或者,获取用户发送的交易请求,并根据所述交易请求确定所述状态数据。7.根据权利要求6所述的区块链状态数据处理方法,其特征在于,所述状态数据对应的地址包括:所述时期标识以及地址编码,所述根据所述时期标识以及预设要求,将所述状态数据存储到所述状态树S
n
中,包括:在当前时期e
now
对应的当前状态树S
now
上,根据所述地址判断是否存在对应的存储路径;当存在所述存储路径时,根据所述存储路径将所述状态数据存入所述当前状态树S
now
中;当不存在所述存储路径时,判断所述时期标识是否满足免证明要求;若满足所述免证明要求,则在所述当前状态树S
now
上,根据所述地址编码创建对应的所述存储路径;根据所述存储路径将所述状态数据存入所述当前状态树S
now
中。8.根据权利要求7所述的区块链状态数据处理方法,其特征在于,所述根据所述时期标识判断是否满足免证明要求,包括:判断在区块链网络的任意一个所述区块链节点中是否都储存有所述时期标识对应的状态树S0。
9.根据权利要求7所述的区块链状态数据处理方法,其特征在于,所述判断所述时期标识是否满足免证明要求,包括:判断第一时期e0是否在当前时期e
now
之前的预设时间范围内,所述第一时期e0...
【专利技术属性】
技术研发人员:冼祥斌,周禄,张开翔,范瑞彬,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。