1.一种数据存储方法,其特征在于,适用于区块链节点,所述方法包括:在当前区块高度与区块安全深度的求余结果为0时,生成rollbcak‑n.wal文件;其中,n为当前区块高度与所述区块安全深度之商,所述rollbcak‑n.wal文件用于存储第三区块高度区间的各第一区块高度所生成的键的列表,所述第一区块高度所生成的键的列表存储形式为:所述第一区块高度:执行所述第一区块高度的第一区块的所有交易所生成的键,所述第三区块高度区间的第三起始高度为当前区块高度,所述第三区块高度区间的第三结束高度为所述第三起始高度加所述区块安全深度减一;
其中,所述rollbcak‑n.wal文件用于供:响应于应当回滚至第二区块高度,读取所述第二区块高度所在的rollbcak‑n.wal文件及之后的rollbcak‑n.wal中的各键,并去重;
对去重后的各第一键执行如下操作:将所述第一键与所述第二区块高度拼接以得到第二键;
将所述第一键与最新区块高度拼接以得到第三键;
通过二分查找定位到所述第二键与所述第三键,将所述第二键、所述第三键和所述第二键和所述第三键之间的数据删除以完成回滚。
2.根据权利要求1所述的方法,其特征在于,所述生成rollbcak‑n.wal文件后,还包括:在n‑2不小于0时,删除rollbcak‑(n‑2).wal文件。
3.根据权利要求1所述的方法,其特征在于,还包括:执行第一交易以更新第六键值对,将所述第六键值对中的第六键去除版本号以得到第七键,并缓存所述第七键;
在经过第一区块高度区间后,对各所述第七键执行如下操作:将当前区块高度与区块安全深度整除以获得第一数值,将所述第一数值与所述区块安全深度相乘以获得第二区块高度区间的第二结束高度,将0作为所述第二区块高度区间的第二开始高度;
将所述第七键、所述第二区块高度区间的第二起始高度拼接以得到第四键,将所述第七键、所述第二区块高度区间的第二结束高度拼接以得到第五键;其中,所述第二结束高度低于所述第一区块高度区间的第一起始高度;
通过二分查找定位到所述第四键与所述第五键,将所述第四键、所述第五键和所述第四键和所述第五键之间的数据删除。
4.一种数据回滚方法,其特征在于,区块链节点通过权利要求1‑3任一项所述的方法存储数据,所述方法适用于区块链节点,所述方法包括:响应于应当回滚至第二区块高度,读取所述第二区块高度所在的rollbcak‑n.wal文件及之后的rollbcak‑n.wal中的各键,并去重;
对去重后的各第一键执行如下操作:将所述第一键与所述第二区块高度拼接以得到第二键;
将所述第一键与最新区块高度拼接以得到第三键;
通过二分查找定位到所述第二键与所述第三键,将所述第二键、所述第三键和所述第二键和所述第三键之间的数据删除以完成回滚。
5.一种计算机设备,其特征在于,所述设备包括:一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1‑4中任一项所述的方法。
6.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1‑4中任一项所述的方法。