一种区块链数据回滚处理方法及其处理系统技术方案

技术编号:29132768 阅读:22 留言:0更新日期:2021-07-02 22:28
本发明专利技术提供了一种区块链数据回滚处理方法及其处理系统,首先检测校验用户新增业务数据,并将其写入预设数据库并校验写入过程中是否发生异常,将所述业务数据发送至验证节点进行确认,将所述验证节点所确认的区块写入区块链;若区块链本身发生异常,共识节点生成并发送数据回滚请求至共识领导节点进行校验,共识领导节点生成数据回滚结构体并进行签名,发送到区块链网络;共识节点接收并校验所述数据回滚结构体,校验通过,则生成赞成票;共识领导节点统计赞成票的数量,判断能否进行回滚操作。本发明专利技术提供的区块链数据回滚处理方法及其处理系统,降低存在脏数据问题的风险,便于实现区块链的数据回滚,能够对回滚造成的用户损失进行保险赔付。

【技术实现步骤摘要】
一种区块链数据回滚处理方法及其处理系统
本专利技术涉及区块链
,特别是涉及一种区块链数据回滚处理方法及其处理系统。
技术介绍
在传统数据库中,管理员拥有对数据库进行任意修改的权限,这意味着数据库中的数据出现异常,管理员一个人就可以实现数据的修正。区块链的本质是一种链式数据库,但是在区块链中,并没有这个管理员,只能实现数据的增和查,不能删和改,想要实现数据修正,必须所有用户同意才可以,所以一旦数据上链,则无法篡改。而且在处理新增业务数据时,首先是执行区块链的写链操作,然后在执行数据库写库操作,当数据库写库发生异常时,往往需要造成区块链的回滚操作,此时由于区块链未能增加事务处理,会存在脏数据的问题,在区块链进行回滚时,造成的用户的损失也往往没有保险赔付,因此,设计一种新型区块链数据回滚处理方法及其处理系统是十分有必要的。
技术实现思路
本专利技术的目的是提供一种区块链数据回滚处理方法及其处理系统,降低存在脏数据问题的风险,便于实现区块链的数据回滚,能够对回滚造成的用户损失进行保险赔付。为实现上述目的,本专利技术提供了如下方案:一种区块链数据回滚处理方法,包括如下步骤:步骤1:检测并校验用户新增的业务数据,校验通过后,将新增的业务数据写入预设数据库并校验写入过程中是否发生异常;步骤2:若写入过程中未发生异常,则将所述业务数据发送至验证节点进行确认,经过确认后,将所述验证节点所确认的区块写入到区块链;步骤3:若区块链本身发生异常,则通过任一共识节点或账本节点生成数据回滚请求,并将其发送至区块链中末尾区块的共识领导节点,共识领导节点对所述数据回滚请求进行验证,验证通过后,共识领导节点生成数据回滚结构体并进行签名,将签名后的数据回滚结构体发送到区块链网络;步骤4:每一共识节点或账本节点接收并校验所述数据回滚结构体,若校验通过,则生成赞成票发送到共识网络;步骤5:共识领导节点统计赞成票的数量,并将赞成票的数量与设定值相比较,若小于设定值,则不进行回滚操作,若大于设定值,则进行回滚操作。可选的,步骤1中,检测并校验用户新增的业务数据,具体为:若检测到用户新增的业务数据时,则对所述业务数据的合法性及完整性进行校验,若校验通过,将新增的业务数据写入预设数据库中,若校验不通过,则不进行操作。可选的,步骤1中,校验写入过程中是否发生异常,具体为:校验将所述业务数据写入到预设数据库中,是否违反唯一约束,若违反,则判定写入过程中发生异常,并将业务数据回滚到写入新增业务数据之前的状态,若不违反,则判定写入过程中未发生异常,执行步骤2。可选的,步骤2中,将所述业务数据发送至验证节点进行确认,具体为:判断所述业务数据是否发送至验证节点,若未发送至验证节点,则将业务数据回滚到写入新增业务数据之前的状态,若成功发送至验证节点,则将所述验证节点所确认的区块写入到区块链。可选的,步骤3中,共识领导节点对数据回滚请求进行验证,验证通过后,生成数据回滚结构体并进行签名,将数据回滚结构体发送到区块链网络,具体为:验证数据回滚请求的签名是否为发送请求的账本节点或共识节点的签名,若验证不通过则终止操作,若验证通过,进一步验证回滚区块高度是否在设定的回滚区块高度范围内,若验证不通过则终止操作,若验证通过,则进一步验证回滚原因是否属于设定范围,若验证不通过则终止操作,若验证通过,进一步验证待回滚区块哈希是否在待回滚区块高度所对应的区块内,若验证不通过则终止操作,若验证通过,共识领导节点生成数据回滚结构体并进行签名,将数据回滚结构体发送到区块链网络,其中数据回滚结构体包括数据回滚请求及共识领导节点的签名。可选的,步骤4中,每一共识节点或账本节点接收并校验所述数据回滚结构体,具体为:共识节点或账本节点校验数据回滚请求,若校验不通过则终止操作,若校验通过,则进一步校验所述回滚结构体的签名是否为共识领导节点的签名,若校验不通过,则终止操作,若校验通过,共识节点生成赞成票并签名,将签名后的赞成票发送到共识网络。可选的,步骤4中,共识领导节点统计赞成票的数量,具体为:共识领导节点校验赞成票的签名是否为发送赞成票的共识节点的签名,若校验通过,则赞成票的数量加一,若校验不通过,则不做处理。可选的,所述方法还包括,在发生转账交易时,通过智能合约制定保险条约,在步骤5中所述回滚操作完成后,根据每笔转账交易通过保险条约进行赔付,具体为:根据转账交易生成赔付请求交易,并发送至区块链网络,验证节点验证赔付请求交易是否合法,若合法则根据保险条约进行赔付,向当前用户的账户发放赔付款。本专利技术还提供了一种区块链数据回滚处理系统,应用于所述区块链数据回滚处理方法,包括:业务数据校验模块,用于检测新增的业务数据,并对所述业务数据进行校验;业务数据写库模块,用于将校验通过的业务数据写入预设数据库;业务数据写链模块,用于将所述验证节点所确认的区块写入到区块链;预设数据库回滚模块,用于在用户新增业务数据校验失败、业务数据写入过程中发生异常或验证节点确认业务数据失败时,将业务数据回滚到写入新增业务数据之前的状态;数据回滚请求模块,用于供共识节点或账本节点生成并发送数据回滚请求;数据回滚校验模块,用于校验数据回滚请求的真实性;数据回滚投票模块,用于生成数据回滚结构体,并发送至区块链网络,供所有共识节点投票,统计赞成票的数量,决定是否进行数据回滚;数据回滚执行模块,用于执行数据回滚操作;回滚赔付模块,用于对在回滚过程中造成损失的用户进行赔付。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的区块链数据回滚处理方法及其处理系统,对数据入链事务处理调整了执行顺序,减少了区块链脏数据问题的出现,降低了系统性能的损耗,可以方便快捷的实现区块链数据回滚的投票,也能够对区块链数据回滚对用户造成的损失进行赔付;首先检测并校验用户新增的业务数据,判断该业务数据是否符合合法性和完整性,只有校验通过后才会将新增的业务数据写入预设数据库,进一步降低写入无效业务数据的可能性,判断业务数据写入到预设数据库中是否违反唯一约束,只有不违反时,才能进行下一步操作,将业务数据发送至验证节点,并判断验证节点是否收到,只有在验证节点收到的情况下,才能将所述验证节点所确认的区块写入到区块链,防止出现区块链脏数据的问题,当出现用户新增业务数据校验失败、业务数据写入过程中发生异常或验证节点确认业务数据失败的情况时,均将业务数据回滚到新增业务数据之前的状态;当区块链本身发生异常,不得不进行回滚操作时,通过发现异常的任一共识节点或账本节点生成并发送数据回滚请求至区块链中末尾区块的共识领导节点,共识领导节点校验数据回滚请求的签名与发送数据回滚请求的账本节点或者共识节点的签名是否一致,待回滚区块高度是否在预先设定的回滚区块高度范围内,回滚的原因是否符合,待回滚区块哈希是否在待回滚区块高度所对应的区块内,当以上要求都符合时,本文档来自技高网...

【技术保护点】
1.一种区块链数据回滚处理方法,其特征在于,包括如下步骤:/n步骤1:检测并校验用户新增的业务数据,校验通过后,将新增的业务数据写入预设数据库并校验写入过程中是否发生异常;/n步骤2:若写入过程中未发生异常,则将所述业务数据发送至验证节点进行确认,经过确认后,将所述验证节点所确认的区块写入到区块链;/n步骤3:若区块链本身发生异常,则通过任一共识节点或账本节点生成数据回滚请求,并将其发送至区块链中末尾区块的共识领导节点,共识领导节点对所述数据回滚请求进行验证,验证通过后,共识领导节点生成数据回滚结构体并进行签名,将签名后的数据回滚结构体发送到区块链网络;/n步骤4:每一共识节点或账本节点接收并校验所述数据回滚结构体,若校验通过,则生成赞成票发送到共识网络;/n步骤5:共识领导节点统计赞成票的数量,并将赞成票的数量与设定值相比较,若小于设定值,则不进行回滚操作,若大于设定值,则进行回滚操作。/n

【技术特征摘要】
1.一种区块链数据回滚处理方法,其特征在于,包括如下步骤:
步骤1:检测并校验用户新增的业务数据,校验通过后,将新增的业务数据写入预设数据库并校验写入过程中是否发生异常;
步骤2:若写入过程中未发生异常,则将所述业务数据发送至验证节点进行确认,经过确认后,将所述验证节点所确认的区块写入到区块链;
步骤3:若区块链本身发生异常,则通过任一共识节点或账本节点生成数据回滚请求,并将其发送至区块链中末尾区块的共识领导节点,共识领导节点对所述数据回滚请求进行验证,验证通过后,共识领导节点生成数据回滚结构体并进行签名,将签名后的数据回滚结构体发送到区块链网络;
步骤4:每一共识节点或账本节点接收并校验所述数据回滚结构体,若校验通过,则生成赞成票发送到共识网络;
步骤5:共识领导节点统计赞成票的数量,并将赞成票的数量与设定值相比较,若小于设定值,则不进行回滚操作,若大于设定值,则进行回滚操作。


2.根据权利要求1所述的区块链数据回滚处理方法,其特征在于,步骤1中,检测并校验用户新增的业务数据,具体为:
若检测到用户新增的业务数据时,则对所述业务数据的合法性及完整性进行校验,若校验通过,将新增的业务数据写入预设数据库中,若校验不通过,则不进行操作。


3.根据权利要求1所述的区块链数据回滚处理方法,其特征在于,步骤1中,校验写入过程中是否发生异常,具体为:
校验将所述业务数据写入到预设数据库中,是否违反唯一约束,若违反,则判定写入过程中发生异常,并将业务数据回滚到写入新增业务数据之前的状态,若不违反,则判定写入过程中未发生异常,执行步骤2。


4.根据权利要求1所述的区块链数据回滚处理方法,其特征在于,步骤2中,将所述业务数据发送至验证节点进行确认,具体为:
判断所述业务数据是否发送至验证节点,若未发送至验证节点,则将业务数据回滚到写入新增业务数据之前的状态,若成功发送至验证节点,则将所述验证节点所确认的区块写入到区块链。


5.根据权利要求1所述的区块链数据回滚处理方法,其特征在于,步骤3中,共识领导节点对数据回滚请求进行验证,验证通过后,生成数据回滚结构体并进行签名,将数据回滚结构体发送到区块链网络,具体为:
验证数据回滚请求的签名是否为发送请求的账本节点或共识节点的签名,若验证不通过则终止操作,若验证通过,进一步验证回滚区块高度是否在设定的回滚区块高度范围内,若验证不通过则终止操作,若验证通过,则进一步验证回滚原...

【专利技术属性】
技术研发人员:王保春张蛟鹏余洋莫恒
申请(专利权)人:浙江永旗区块链科技有限公司
类型:发明
国别省市:浙江;33

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

1