[发明专利]一种数据库系统、节点和方法在审
申请号: | 201911038474.4 | 申请日: | 2019-10-29 |
公开(公告)号: | CN111241589A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 张秦涛;聂光耀;刘奇;丁健 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F16/23;G06F16/27 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 系统 节点 方法 | ||
本发明提供了一种数据库系统的交易方法以及节点设计。节点在接受到客户端发送的请求后,直接在本地状态机上模拟执行生成一个模拟执行结果,并将此模拟执行结果与用户执行逻辑打包,复制给其他节点进行防篡改检验;网络中的其他节点收到消息包后,从中取出用户执行逻辑在本地进行执行生成模拟执行结果,然后再对比消息包中的模拟执行结果;如果两份结果不一致,代表存在数据篡改情况,回复验证失败给发起节点;如果两份结果一致,回复验证成功给发起节点;验证发起节点收到足够多的验证回复后,汇总判断,判断验证失败的请求直接被丢弃,判断验证成功的请求以模拟执行结果集进行pbft共识复制逻辑,直至状态复制结束或失败。
技术领域
本发明涉及数据库技术,尤其涉及一种基于区块链技术的数据库设计。
背景技术
区块链是一种将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链根据去中心化的协议,构建了一个分布式的结构体系,让价值交换的信息通过分布式传播发送给全网,通过分布式记账确定信息数据内容,盖上时间戳后生成区块数据,再通过分布式传播发送给各个节点,实现分布式存储。
智能合约是随着区块链技术发展产生的一种新特性,智能合约实质上是交易双方合约的代码化实例,它根据双方合约规定对接收到的信息进行回应,可以接收和存储价值,也可以输出信息和价值,它扮演着一个可被信任的系统,总是按照事先约定的规则执行操作。
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。当前大部分业务系统的业务关系均可以用关系数据库的模型来定义。标准数据查询语言SQL是一种基于关系数据库的语言,可以通过此类语言对数据库中的数据进行检索和操作。
基于现有的区块链方案,无法实现关系型数据库中的数据管理能力,也无法实现数据的事务操作。因此,难以满足大型数据系统对数据管理的需要。
发明内容
本发明实施例提供一种数据库系统,包括交易方法和节点,实现了用户可以在保持对原有关系型数据库使用方式的情况下,将对传统区块链的使用方式也向数据库使用方式转变,并将二者融合为一个系统,系统统一协同管理两块数据。本发明数据库系统兼容关系型数据库中的大部分特性,包括SQL支持、关系型结构存储、ACID事务保证等。同时增加了更多的区块链特性,具备区块链防窜改的特征,其中包括具备防篡改的拜占庭共识协议、事务区块链、智能合约等特性。
第一方面,本发明提供了一种数据存储的方法:请求接受节点在接受到客户端发送的请求后,直接在本地状态机上模拟执行生成一个模拟执行结果,并将此模拟执行结果与用户执行逻辑打包,复制给其他节点进行防篡改检验;网络中的其他节点收到消息包后,从中取出用户执行逻辑在本地进行执行生成模拟执行结果,然后再对比消息包中的模拟执行结果;如果两份结果不一致,代表存在数据篡改情况,回复验证失败给发起节点;如果两份结果一致,回复验证成功给发起节点;验证发起节点收到足够多的验证回复后,汇总判断,判断验证失败的请求直接被丢弃,判断验证成功的请求以模拟执行结果集进行pbft共识复制逻辑,直至状态复制结束或失败。
相比与现有技术,在共识之前增加了防篡改验证逻辑,且使用通过验证的模拟执行结果进行复制,既达到了防篡改设计,又能维护好状态的一致性。
第二方面,本发明提供了一种包含链上与链下数据的事务处理方法:客户端发起链上链下事务操作,事务中同时包含了链上数据更新操作集和链下数据更新操作集;服务端事务请求接收节点在接收到请求后,开启一个事务管理器,按照事务请求中的操作顺序进行处理,进行事务预提交,产生两份事务处理逻辑日志缓存,同时向链上事务缓存池中增加链上事务产生的事务日志,事务日志包括事务执行逻辑;以链上事务产生的事务日志发起背书流程,如果背书流程成功,请求接收节点以起共识流程。如果共识流程成功,请求接收节点将包括了链上事务和链下事务产生的预提交进行真正提交,其他节点只接收到了链上事务,所以只对链上事务进行提交,至此,请求接受节点完成了链上链下事务操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911038474.4/2.html,转载请声明来源钻瓜专利网。