[发明专利]一种数据库表的操作方法和操作系统有效
申请号: | 201710285330.3 | 申请日: | 2017-04-27 |
公开(公告)号: | CN107169055B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 严挺;吴飞鹏;卢小明;陈姝 | 申请(专利权)人: | 北京众享比特科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 北京山允知识产权代理事务所(特殊普通合伙) 11741 | 代理人: | 胡冰 |
地址: | 100016 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 操作方法 操作系统 | ||
本发明提出一种数据库表的操作方法和系统,方法包括:S1,为每一个数据库表生成一个对象,所述对象记录了所述数据库表的属性;S2,将每一个数据库表的第一个操作的表操作语句进行哈希运算得到一个哈希值,作为基础哈希值,记录在该数据库表的对象内;S3,收到针对一数据库表的后续操作后,将针对该后续操作的表操作语句与该数据库表的基础哈希值进行连接,再进行哈希运算得到新的哈希值;S4,比较所述后续操作里记录的基础哈希值与当前计算的基础哈希值是否相同,如果不同则判定交易失败;S5,如果相同,则校验成功,则更新该数据库表的对象内的基础哈希值。本发明保证用户当前所发的交易是基于自己所见到的数据库表的状态来进行操作。
技术领域
本发明涉及数据库表的操作技术,更具体地,涉及数据库表的操作方法和操作系统。
背景技术
当前已有将区块链与数据库进行结合的系统,通过该系统,用户可以像操作普通数据库一样向区块链发送相应的交易,交易会被记录在区块链网络中,同时会在底层数据库中反应出来。该系统实现了数据库操作记录与实现的分离,极大地提高了传统数据库的安全性及灵活性。
有某些情况下,如果多人同时对同一张数据库表进行操作,就会引起冲突,比如表中一条数据为:小红的工资2000,A用户想基于2000去给其涨工资10%,在这个交易过程中,B用户发了一条新的交易将小红的工资提高10%,这时A用户发出来的交易在执行的时候将会基于2200再去涨10%去涨工资,会得到不正确的结果。
因此,当前的基于数据库的区块链系统存在数据操作冲突的问题。
发明内容
针对背景技术中的问题,本发明提出一种基于数据库的区块链系统中的操作方法和系统,保证用户当前所发的交易是基于自己所见到的数据库表的状态来进行操作,如果中间有其它交易插入,则交易失败。
本发明的数据库表的操作方法包括:
S1,创建表对象:为每一个数据库表生成一个对象,所述对象记录了所述数据库表的属性;
S2,创建基础哈希值:将每一个数据库表的第一个操作的表操作语句进行哈希运算得到一个哈希值,作为基础哈希值,记录在该数据库表的对象内;
S3,哈希值校验:收到针对一数据库表的后续操作后,将针对该后续操作的表操作语句与该数据库表的基础哈希值进行连接,再进行哈希运算得到新的哈希值;
S4,哈希值校验:比较所述后续操作里记录的基础哈希值与当前在S3中计算的基础哈希值是否相同,如果不同则判定交易失败;
S5,如果相同,则校验成功,则将新计算的基础哈希值记录在该数据库表的对象内。
本发明还提出一种数据库表的操作系统,包括区块链系统和交易节点,所述区块链系统被配置为执行如下步骤:
S1,创建表对象:为每一个数据库表生成一个对象,所述对象记录了所述数据库表的属性;
S2,创建基础哈希值:将每一个数据库表的第一个操作的表操作语句进行哈希运算得到一个哈希值,作为基础哈希值,记录在该数据库表的对象内;
S3,哈希值校验:收到来自交易节点针对一数据库表的后续操作后,将针对该后续操作的表操作语句与该数据库表的基础哈希值进行连接,再进行哈希运算得到新的哈希值;
S4,哈希值校验:比较所述后续操作里记录的基础哈希值与当前在S3中计算的基础哈希值是否相同,如果不同则判定交易失败;
S5,如果相同,则校验成功,则将新计算的基础哈希值记录在该数据库表的对象内。
本发明的有益效果包括:使得基于数据库的区块链系统针对数据库表的操作在交易时序上保持严格的顺序,使用户基于当前所见的状态对表进行操作,得到期望的结果,如果未能基于当前状态进行操作,则交易失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京众享比特科技有限公司,未经北京众享比特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710285330.3/2.html,转载请声明来源钻瓜专利网。