[发明专利]一种操作数据及管理事务的方法、装置及分布式系统有效
申请号: | 201410412574.X | 申请日: | 2014-08-20 |
公开(公告)号: | CN104216955B | 公开(公告)日: | 2017-12-26 |
发明(设计)人: | 陈不骄;廖强;尹博学;杨林 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京汉昊知识产权代理事务所(普通合伙)11370 | 代理人: | 罗朋 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作 数据 管理 事务 方法 装置 分布式 系统 | ||
技术领域
本发明涉及数据库领域,尤其涉及数据操作及事务管理的方法与装置以及分布式数据库系统。
背景技术
当前,在保证分布式数据一致性方面典型地可以使用基于XA协议的两阶段提交方法。然而,当使用XA协议时,为了保证分布式数据的一致性,通常需要将在数据库实例上所执行的事务的隔离级别设置为可串行化(Serializable)级别。然而,可串行化隔离级别将会导致读、写操作相互阻塞,从而严重影响系统性能。现有技术中,在单机数据库或数据库集群中可以使用例如多版本并发控制MVCC(Multi Version Concurrency Control)来使系统运行在例如可重复读(Read Repeatable)隔离级别,并提供数据一致性保证。使用MVCC,系统性能得以提升,然而,将XA协议与MVCC技术相结合应用于分布式数据库系统时,对于一些特定的场景,例如全局事务仅在某些数据库实例上提交成功时,仍然存在一致性问题。
对于分布式数据一致性的另一种解决方案是在是应用层来进行保证,然而对于已有的应用层系统,通过改写代码以增加保证数据一致性支持的逻辑,代价很大。
因此,如何保证分布式数据的一致性是一个需要解决的问题。
发明内容
本发明的目的是提供一种在数据库中用于操作数据的方法和装置,以及一种在分布式数据库系统中用于管理事务的方法和装置,以及一种分布式数据存储与操作系统。
根据本发明的一个方面,提供一种在数据库中用于操作数据的方法,其中,该方法包括:
-获取正在运行的第一事务中所包含的对于所述数据库的查询操作命令,其中所述查询操作命令包含历史版本号;
-根据所述查询操作命令执行所述查询操作,以获取所述数据库中的相关数据的相应的历史版本。
根据本发明的另一个方面,提供一种在分布式数据库系统中用于管理事务的方法,其中,所述分布式数据库系统包含多个数据库,所述数据库适于执行本发明一个上述方面的在数据库中用于操作数据的方法,所述用于管理事务的方法包括:
-获取正在运行的第二事务中所包含的对于所述分布式数据库系统的第一操作命令;
-根据该分布式数据库系统中各个第二事务的相关信息,各个第二事务的操作状态信息,以及各个第二事务所对应的各历史版本号来确定所述第一操作所要使用的历史版本号;
-根据上述第一操作命令以及上述历史版本号来生成所述第二事务的一个或多个第二操作命令,所述第二操作命令包含所述历史版本号;
-将所述一个或多个第二操作命令发送至该分布式数据库系统中的一个或多个数据库来执行。
根据本发明的又一个方面,提供一种在数据库设备中用于操作数据的装置,其包括:
-用于获取正在运行的第一事务中所包含的对于所述数据库的查询操作命令,其中所述查询操作命令包含历史版本号的装置;
-用于根据所述查询操作命令执行所述查询操作,以获取所述数据库中的相关数据的相应的历史版本的装置。
根据本发明的还一个方面,提供一种在分布式数据库系统中用于管理事务的装置,其中,所述分布式数据库系统包含多个数据库,所述数据库适于执行本发明的一个上述方面的一种在数据库中用于操作数据的方法中所述的任一项所述的方法,所述用于管理分布式数据库系统中的事务的装置包括:
-用于获取正在运行的第二事务中所包含的对于所述分布式数据库系统的第一操作命令的装置;
-用于根据该分布式数据库系统中各个第二事务的相关信息,各个第二事务的操作状态信息,以及各个第二事务所对应的各历史版本号来确定所述第一操作命令所要使用的历史版本号的装置;
-用于根据上述第一操作命令以及上述历史版本号来生成所述第二事务的一个或多个第二操作命令,所述第二操作命令包含所述历史版本号的装置;
-用于将所述一个或多个第二操作命令发送至该分布式数据库系统中的一个或多个数据库来执行的装置。
根据本发明的再一个方面,提供一种分布式数据库系统,其包括包含多个本发明的一个上述方面的在数据库设备中用于操作数据的装置的数据库设备,以及包含本发明的一个上述方面所述的在分布式数据库系统中用于管理事务的装置的设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410412574.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种焊接机
- 下一篇:一种页面元素的拦截方法和装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置