CN104317944A - 一种基于公式的时间戳动态调整并发控制方法 - Google Patents
一种基于公式的时间戳动态调整并发控制方法 Download PDFInfo
- Publication number
- CN104317944A CN104317944A CN201410605770.9A CN201410605770A CN104317944A CN 104317944 A CN104317944 A CN 104317944A CN 201410605770 A CN201410605770 A CN 201410605770A CN 104317944 A CN104317944 A CN 104317944A
- Authority
- CN
- China
- Prior art keywords
- module
- transaction operation
- record
- formula
- submitted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公属于数据库技术领域,具体提出了一种基于公式的时间戳动态调整并发控制方法。通过本发明提出的并发控制方法,可以实现在大型通用数据库中事务管理的事务ACID特性,即原子性,一致性,隔离性和持久性。取代了传统的基于锁的并发控制方法,避免了死锁;也取代了传统的多数据版本的并发控制方法,避免了大量中间结果的存储,提高了事务的并发度和执行效率。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及具有并发控制的数据库管理***。
背景技术
为了提高数据库***的吞吐率,数据库允许多个用户同时存取数据。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,所以数据库管理***必须提供并发控制。并发控制的好坏是衡量一个数据库管理***性能的重要标志之一。
并发控制是以事务(transaction)为单位进行的,事务是数据库的逻辑工作单位,它是用户定义的一组操作序列。一个事务可以是一组SQL语句、一条SQL语句或整个程序。并发控制应该保证事务具有4种属性:原子性、一致性、隔离性和持久性,即ACID特性。事务的原子性保证事务包含的一组更新操作是原子不可分的,也就是说这些操作是一个整体,对数据库而言全做或者全不做,不能部分的完成。一致性要求事务执行完成后,将数据库从一个一致状态转变到另一个一致状态。它是一种以一致性规则为基础的逻辑属性。隔离性意味着一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。***提供的持久性保证要求一旦事务提交,那么对数据库所做的修改将是持久的,无论发生何种机器和***故障都不应该对其有任何影响。
并发控制协议通常分成悲观并发控制,乐观并发控制两种类型。悲观并发控制采用锁的机制,通过锁定阻止用户以影响其它用户的方式修改数据。如果用户执行的操作导致应用了某个锁,则直到这个锁的所有者释放该锁,其它用户才能执行与该锁冲突的操作。乐观并发控制采用检查的办法,在事务提交阶段进行检查,回滚具有冲突的事务。
目前大型通用数据库普遍采用悲观并发控制,具体是两阶段锁的协议。两段封锁协议规定:①在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁,而且②在释放一个封锁之后,事务不再获得任何其他封锁。所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段,第二阶段是释放封锁,也称为收缩阶段。也有少数数据库支持乐观并发控制,具体是多数据版本的协议。即通过记录同一数据不同的版本来保存不同事务的更新。在提交检查通过后,对数据库进行相应更新。
现有技术的问题或不足:
1.基于锁的并发控制方法,会造成死锁,虽然可以通过死锁的监测方法,回滚造成死锁的相关事务,但这降低了整个***的效率。
2.基于锁的并发控制方法难以应用在通过不共享的方式(share nothing)的分布式数据库***中,尤其是死锁的监测更需要大量的交互,造成大量的***开销。
3.基于多数据版本的并发控制方法,消耗大量的存储空间来存储多版本的数据,虽然可以通过各种优化的方法,提高存储的效率,但无法改变存储多版本数据需要大量存储空间的问题本质。
4.基于多数据版本的并发控制方法,需要按照时间戳的静态顺序,提交事务。造成了额外的等待时间,降低了整个***得效率。
发明内容
针对现有技术存在的上述问题,本发明旨在提供一种不会死锁,且无需大量储存空间的具有并发控制方法。
具体技术方案如下:
一种基于公式的时间戳动态调整并发控制方法,包括:
时间戳生成模块,用以对每个到达的事务操作生成唯一的时间戳;
时间戳计算模块,分别设置于复数个所述分布节点上,并连接所述时间戳生成模块,用以计算并储存对应预定的所述数据记录的还未提交的所述事务操作的最大时间戳;
排序模块,分别设置于复数个所述分布节点上,用于根据所述时间戳的先后顺序形成对应预定的所述数据记录的所述事务操作公式的序列;
分析模块,用以记录所述序列中,事务操作公式、事务需读取其他事务操作公式一一对应关系的第一记录、以及事务操作公式需被其他事务读取的一一对应关系的第二记录;
提交模块,分别连接每个所述节点的所述排序模块、每个所述节点的所述分析模块,用以按照所述时间戳的动态调整的预置策略提交事务。
优选的,所述预置策略为,将按照时间戳的先后顺序处于当前位置的所述未提交的事务操作设置为等待提交状态,直到所述分析模块中不存在对应处于当前位置的所述未提交的事务操作的所述第一记录时,进行提交,并将被提交的所述事务操作于所述序列中删除。
优选的,所述预置策略为,将请求提交的事务提交,并将被提交的所述事务操作保留于所述序列中,直到所述第一调整模块中不存在对应被提交的所述事务操作的所述第一记录时,将被提交的所述事务操作于所述序列中删除。
优选的,还包括:
回滚模块,分别连接每个所述节点的所述排序模块及所述分析模块,用以对对应节点的未提交事务操作进行回滚操作,以及对对应需要回滚的所述事务操作的第二记录中的所述事务进行回滚操作。
优选的,还包括节点计算模块,用以计算并保存每个事务操作对应的节点集合。
优选的,每个所述节点还包括清除模块,所述清除模块连接所述提交模块和所述回滚模块,所述清除模块用以于所述第一记录对应的被读取的所述事务操作提交后清除对应的所述第一记录,以及用以于所述第二记录对应的读取其他事务操作的所述事务操作回滚后清除对应的所述第二记录。
优选的,每个所述节点还包括第一储存单元,所述第一储存单元连接所述分析模块、所述提交模块、所述回滚模块和所述清除模块。所述第一储存单元用以储存所述事务操作对应的公式,以及所述公式对应的基本操作;
所述分析模块将所述事务操作对应的所述公式储存于所述第一储存单元中,所述提交模块和所述回滚模块读取第一储存单元中储存的所出公式对应的所述基本操作,执行相应的所述基本操作;以及
所述清除模块对所述第一储存单元中储存的所述公式于提交或回滚后执行删除。
优选的,所述第一记录及所述第二记录储存于所述第一储存单元中。
上述技术方案的有益效果是:
本发明采用基于公式的并发控制方法(Formula Protocol for Concurrency,FPC),并采用动态调整时间戳的技术,目的是支持各个节点通过不共享的方式(share nothing)组成的分布式数据库***中大量用户针对海量数据的并发事务操作,并且整个***的吞吐率随节点数目的提高而线性增长。
由于摒弃了基于锁的机制,所以不会造成死锁的现象,也避免了由于处理锁所带来的***开销。适合通过不共享的方式(share nothing)的分布式数据库***。
由于存储公式,而不是实际的数据,节约了大量的中间结果,从而从本质上解决了大量存储空间的问题。对于互换式更新(commutative updates),比如增量式更新(incremental updates),可以直接采用增量(increment/decrement)操作,而不是更新操作,减少了冲突几率。
由于采用了动态调整的技术,改变了只能依照时间戳顺序提交的静态顺序同时保证了可串行化,提高了***得吞吐率。
附图说明
图1为一种基于公式的时间戳动态调整并发控制方法的结构示意图:
图2为本发明于RubatoDB下的一种实施例的结构示意图;
图3-8为本发明于RubatoDB下的TPC-C测试性能结果图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图1所示,本发明提供一种基于公式的时间戳动态调整并发控制方法,包括:
时间戳生成模块,用以对每个到达的事务操作生成唯一的时间戳;
时间戳计算模块,分别设置于复数个所述分布节点上,并连接所述时间戳生成模块,用以计算并储存对应预定的所述数据记录的还未提交的所述事务操作的最大时间戳;
排序模块,分别设置于复数个所述分布节点上,用于根据所述时间戳的先后顺序形成对应预定的所述数据记录的所述事务操作公式的序列;
分析模块,用以记录所述序列中,事务操作公式、事务需读取其他事务操作公式一一对应关系的第一记录、以及事务操作公式需被其他事务读取的一一对应关系的第二记录;这些信息存储在第二存储单元中。
提交模块,分别连接每个所述节点的所述排序模块、每个所述节点的所述分析模块,用以按照所述时间戳的动态调整的预置策略提交事务。
于上述技术方案基础上进一步的,预置策略为,将按照时间戳的先后顺序处于当前位置的未提交的事务操作设置为等待提交状态,直到分析模块中不存在对应处于当前位置的未提交的事务操作的第一记录时,于对应的节点进行提交,并将被提交的事务操作于序列中删除。
于上述技术方案基础上进一步的,预置策略为,将请求提交的事务提交,并将被提交的所述事务操作保留于所述序列中,直到所述第一调整模块中不存在对应被提交的所述事务操作的所述第一记录时,将被提交的所述事务操作于所述序列中删除。
于上述技术方案基础上进一步的,还包括:
回滚模块,分别连接每个节点的排序模块及分析模块,用以对对应节点的已提交事务操作进行回滚操作,以及对对应需要回滚的事务操作的第二记录中的所述事务操作进行回滚操作。
于上述技术方案基础上进一步的,还包括节点计算模块,用以计算并保存每个事务操作对应的节点集合。
于上述技术方案基础上进一步的,每个节点还包括清除模块,清除模块连接所述提交模块和所述回滚模块,所述清除模块用以于所述第一记录对应的被读取的所述事务操作提交后清除对应的所述第一记录,以及用以于所述第二记录对应的读取其他事务操作的所述事务操作回滚后清除对应的所述第二记录。
于上述技术方案基础上进一步的,每个节点还包括第一储存单元,第一储存单元连接分析模块、提交模块、回滚模块和清除模块。第一储存单元用以储存事务操作对应的公式,以及公式对应的基本操作;
分析模块将事务操作对应的公式储存于第一储存单元中,提交模块和回滚模块读取第一储存单元中储存的所出公式对应的基本操作,执行相应的基本操作;以及
清除模块对第一储存单元中储存的公式于提交或回滚后执行删除。
于上述技术方案基础上进一步的,第一记录及第二记录储存于第一储存单元中。
在一个优选的实施例中,可采用基于公式的并发控制方法(FormulaProtocol for Concurrency,FPC)控制数据库***,并采用动态调整时间戳的技术,目的是支持各个节点通过不共享的方式(share nothing)组成的分布式数据库***中大量用户针对海量数据的并发事务操作,并且整个***的吞吐率随节点数目的提高而线性增长。
由于摒弃了基于锁的机制,所以不会造成死锁的现象,也避免了由于处理锁所带来的***开销。适合通过不共享的方式(share nothing)的分布式数据库***。
由于存储公式,而不是实际的数据,节约了大量的中间结果,从而从本质上解决了大量存储空间的问题。对于互换式更新(commutative updates),比如增量式更新(incremental updates),可以直接采用增量(increment/decrement)操作,而不是更新操作,减少了冲突几率。
由于采用了动态调整的技术,改变了只能依照时间戳顺序提交的静态顺序同时保证了可串行化,提高了***得吞吐率。
在一种优选的实施例中,基于公式的并发控制方法(Formula Protocol forConcurrency,FPC)控制的数据库***,在接纳新事务的同时,赋予每个事务T一个唯一的时间戳(timestamp),缩写为TS(T)。
FPC在分布式数据库的每个节点上,针对每个相关数据x,记录如下信息:
Lrt(x,Ni):在节点Ni上,读取数据x的还未提交事务集合中,最大的时间戳;
List(x,Ni):更新公式的队列,具体为uf(x,Tu1,Ni),……uf(x,Tun,Ni)。uf(x,Tuj,Ni)代表事务Tj在节点Ni上对于数据x的更新公式。并且,TS(Tu1)<=TS(Tu2)…<=TS(Tun)。
事务T1于节点Ni上读取数据x,表示为read(x,T1,Ni),FPC会首先读取位于节点Ni上外存的数据X,并通过List(x,Ni)对x进行相应必要的更新操作。
事务T1于节点Ni上写数据x,表示为write(x,T1,Ni),FPC会进行如下操作:
如果TS(T1)<Lrt(x,Ni),那么FPC回滚T1和相关事务
如果Lrt(x,Ni)=0或者TS(T1)=Lrt(x,Ni)则FPC增加新的更新公式uf(x,T1,Ni)于List(x,Ni)之内
如果TS(T1)>Lrt(x,Ni)>0,则FPC增加新的更新公式uf(x,T1,Ni)于List(x,Ni)之内
记录并记录T1需要读取的其他事务如T2的第一记录read_b4(T2,x,T1),以及T1会被其他事务如Tr读取的第二记录read_by(Tr,x,T1)。
在一种较优的的实施例中,FPC维护列表PN(T),该列表记录所有参与事务T1的节点信息:
PN(T1)={Ni|T于Ni上对于数据x进行读或写操作}
在一种较优的实施例中,事务T1提交时,FPC首先对每一个PN(T1)中的Ni检查是否可以立刻提交。然后可采取乐观和悲观两种方法进行实际提交:
悲观提交,设置T1为等待提交状态,直到所有第一记录read_b4公式被清除;悲观提交适合读操作比重大的应用。
乐观提交,立刻提交T1,但保留T1的相关信息,直到所有第一记录read_b4被清除,乐观提交适合写操作频繁的应用。
在第一记录read_b4(T2,x,T1)中,当事务T2被提交时,即事务T1需要读取的事务,该第一记录即可被清除。
在一种较优的实施例中,当事务T1回滚时,FPC对每一个PN(T1)中的Ni进行回滚操作rollback(T1,Ni):
如果第二记录read_by(Tr,x,T1)存在,则回滚操作rollback(T1,Ni)对所有事务Tr进行回滚操作,回滚操作后将所有T1的相关信息删除。
即当回滚事务T1完成后,FPC将回滚所有等待T1的事务即通过第二记录中相关联的事务Tr。
在一种较优的实施例中,当一个事务T1终止(提交或回滚),所有等待T1的事务即通过第一记录相关联或者通过第二记录相关联的事务被唤醒,继续提交或者回滚。
如图2所示,本申请技术方案应用于RubatoDB数据库的一种实施例,RubatoDB能够处理OLTP又能处理大数据,是一种NewSQL的DBMS。其中FPC处理事务处理模块(transaction stage)和公式库(Formula DB)第一储存单元的一种实施例。磁盘的存储采用了Berkeley DB,第一储存单元的一种实施例。FPC并不涉及其它数据库的模块比如词法/语法分析(Parser),安全模块(Security),优化器(Optimizer),查询处理器(Processor),套接字监控(Socket Monitor)等。
如图3-8所示,在16个节点以内应用了本申请技术方案的数据库RubatoDB做到了TPC-C测试的性能结果(tpmc)随节点数目的增加而线性增长。
在16个节点的硬件基础上,RubatoDB的TPC-C的测试结果tpmc,达到365K。在1到16节点,RubatoDB保持性能线性增长的同时,回滚率(rollbackratio)基本保持稳定,远小于千分之一。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (8)
1.一种基于公式的时间戳动态调整并发控制方法,包括复数个分布节点,其特征在于,包括::
时间戳生成模块,用以对每个到达的事务操作生成唯一的时间戳;
时间戳计算模块,分别设置于复数个所述分布节点上,并连接所述时间戳生成模块,用以计算并储存对应预定的所述数据记录的还未提交的所述事务操作的最大时间戳;
排序模块,分别设置于复数个所述分布节点上,用于根据所述时间戳的先后顺序形成对应预定的所述数据记录的所述事务操作公式的序列;
分析模块,用以记录所述序列中,事务操作公式、事务需读取其他事务操作公式一一对应关系的第一记录、以及事务操作公式需被其他事务读取的一一对应关系的第二记录;
提交模块,分别连接每个所述节点的所述排序模块、每个所述节点的所述分析模块,用以按照所述时间戳的动态调整的预置策略提交事务。
2.如权利要求1所述并发控制方法,其特征在于,所述预置策略为,将按照时间戳的先后顺序处于当前位置的所述未提交的事务操作设置为等待提交状态,直到所述分析模块中不存在对应处于当前位置的所述未提交的事务操作的所述第一记录时,进行提交,并将被提交的所述事务操作于所述序列中删除。
3.如权利要求1所述并发控制方法,其特征在于,所述预置策略为,将请求提交的事务提交,并将被提交的所述事务操作保留于所述序列中,直到所述第一调整模块中不存在对应被提交的所述事务操作的所述第一记录时,将被提交的所述事务操作于所述序列中删除。
4.如权利要求3所述并发控制方法,其特征在于,还包括:
回滚模块,分别连接每个所述节点的所述排序模块及所述分析模块,用以对对应节点的未提交事务操作进行回滚操作,以及对对应需要回滚的所述事务操作的第二记录中的所述事务进行回滚操作。
5.如权利要求1所述并发控制方法,其特征在于,还包括节点计算模块,用以计算并保存每个事务操作对应的节点集合。
6.如权利要求1所述并发控制方法,其特征在于,每个所述节点还包括清除模块,所述清除模块连接所述提交模块和所述回滚模块,所述清除模块用以于所述第一记录对应的被读取的所述事务操作提交后清除对应的所述第一记录,以及用以于所述第二记录对应的读取其他事务操作的所述事务操作回滚后清除对应的所述第二记录。
7.如权利要求1-6中任一所述并发控制方法,其特征在于,每个所述节点还包括第一储存单元,所述第一储存单元连接所述分析模块、所述提交模块、所述回滚模块和所述清除模块。所述第一储存单元用以储存所述事务操作对应的公式,以及所述公式对应的基本操作;
所述分析模块将所述事务操作对应的所述公式储存于所述第一储存单元中,所述提交模块和所述回滚模块读取第一储存单元中储存的所出公式对应的所述基本操作,执行相应的所述基本操作;以及
所述清除模块对所述第一储存单元中储存的所述公式于提交或回滚后执行删除。
8.如权利要求7所述并发控制方法,其特征在于,所述第一记录及所述第二记录储存于所述第一储存单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410605770.9A CN104317944B (zh) | 2014-10-31 | 2014-10-31 | 一种基于公式的时间戳动态调整并发控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410605770.9A CN104317944B (zh) | 2014-10-31 | 2014-10-31 | 一种基于公式的时间戳动态调整并发控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317944A true CN104317944A (zh) | 2015-01-28 |
CN104317944B CN104317944B (zh) | 2018-07-06 |
Family
ID=52373176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410605770.9A Active CN104317944B (zh) | 2014-10-31 | 2014-10-31 | 一种基于公式的时间戳动态调整并发控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317944B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648840A (zh) * | 2016-08-30 | 2017-05-10 | 周烜 | 事务之间的时序确定方法和装置 |
CN108337911A (zh) * | 2015-04-01 | 2018-07-27 | 起元技术有限责任公司 | 在分布式计算***中处理数据库事务 |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN108984277A (zh) * | 2018-04-02 | 2018-12-11 | 北京百度网讯科技有限公司 | 基于gps原子钟的分布式数据库事务处理方法及装置 |
US10951706B2 (en) | 2016-12-09 | 2021-03-16 | Google Llc | High-throughput algorithm for multiversion concurrency control with globally synchronized time |
CN113193947A (zh) * | 2021-04-23 | 2021-07-30 | 北京百度网讯科技有限公司 | 实现分布式全局序的方法、设备、介质及程序产品 |
CN114416201A (zh) * | 2022-01-12 | 2022-04-29 | 山东浪潮科学研究院有限公司 | 一种基于分布式数据库的快照隔离实现方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060074733A1 (en) * | 2004-10-01 | 2006-04-06 | Microsoft Corporation | Framework for seamlessly authoring and editing workflows at design and runtime |
US20060129556A1 (en) * | 2004-12-10 | 2006-06-15 | Reuter James M | Distributed lock |
CN101364185A (zh) * | 2008-09-02 | 2009-02-11 | 中国科学院软件研究所 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
CN101556597A (zh) * | 2009-03-06 | 2009-10-14 | 南京航空航天大学 | 一种自适应乐观并发控制方法 |
CN101814091A (zh) * | 2010-03-26 | 2010-08-25 | 天津理工大学 | 确保时态一致性的实时并发控制方法 |
CN102176122A (zh) * | 2011-03-07 | 2011-09-07 | 华中科技大学 | 一种基于有限自动机的自动控制***及其控制方法 |
CN103744936A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 一种数据库中的多版本并发控制方法及数据库*** |
CN103995691A (zh) * | 2014-05-21 | 2014-08-20 | 中国人民解放军国防科学技术大学 | 基于事务的服务状态一致性维护方法 |
-
2014
- 2014-10-31 CN CN201410605770.9A patent/CN104317944B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060074733A1 (en) * | 2004-10-01 | 2006-04-06 | Microsoft Corporation | Framework for seamlessly authoring and editing workflows at design and runtime |
US20060129556A1 (en) * | 2004-12-10 | 2006-06-15 | Reuter James M | Distributed lock |
CN101364185A (zh) * | 2008-09-02 | 2009-02-11 | 中国科学院软件研究所 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
CN101556597A (zh) * | 2009-03-06 | 2009-10-14 | 南京航空航天大学 | 一种自适应乐观并发控制方法 |
CN101814091A (zh) * | 2010-03-26 | 2010-08-25 | 天津理工大学 | 确保时态一致性的实时并发控制方法 |
CN102176122A (zh) * | 2011-03-07 | 2011-09-07 | 华中科技大学 | 一种基于有限自动机的自动控制***及其控制方法 |
CN103744936A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 一种数据库中的多版本并发控制方法及数据库*** |
CN103995691A (zh) * | 2014-05-21 | 2014-08-20 | 中国人民解放军国防科学技术大学 | 基于事务的服务状态一致性维护方法 |
Non-Patent Citations (2)
Title |
---|
刘育芳: "移动实时数据库的并发控制算法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李清霞: "一种改进的基于时间戳的分布式事务并发控制策略", 《东莞理工学院学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108337911A (zh) * | 2015-04-01 | 2018-07-27 | 起元技术有限责任公司 | 在分布式计算***中处理数据库事务 |
CN106648840A (zh) * | 2016-08-30 | 2017-05-10 | 周烜 | 事务之间的时序确定方法和装置 |
CN106648840B (zh) * | 2016-08-30 | 2021-04-06 | 周烜 | 事务之间的时序确定方法和装置 |
US10951706B2 (en) | 2016-12-09 | 2021-03-16 | Google Llc | High-throughput algorithm for multiversion concurrency control with globally synchronized time |
US12041128B2 (en) | 2016-12-09 | 2024-07-16 | Google Llc | High-throughput algorithm for multiversion concurrency control with globally synchronized time |
US11601501B2 (en) | 2016-12-09 | 2023-03-07 | Google Llc | High-throughput algorithm for multiversion concurrency control with globally synchronized time |
CN108984277A (zh) * | 2018-04-02 | 2018-12-11 | 北京百度网讯科技有限公司 | 基于gps原子钟的分布式数据库事务处理方法及装置 |
US10567549B2 (en) | 2018-04-02 | 2020-02-18 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Distributed database transaction processing method, device based on GPS atomic clock server |
CN108984277B (zh) * | 2018-04-02 | 2019-08-30 | 北京百度网讯科技有限公司 | 基于gps原子钟的分布式数据库事务处理方法及装置 |
CN108683604B (zh) * | 2018-04-03 | 2021-11-26 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN113193947A (zh) * | 2021-04-23 | 2021-07-30 | 北京百度网讯科技有限公司 | 实现分布式全局序的方法、设备、介质及程序产品 |
CN113193947B (zh) * | 2021-04-23 | 2022-11-15 | 北京百度网讯科技有限公司 | 实现分布式全局序的方法、设备、介质及程序产品 |
CN114416201A (zh) * | 2022-01-12 | 2022-04-29 | 山东浪潮科学研究院有限公司 | 一种基于分布式数据库的快照隔离实现方法 |
CN114416201B (zh) * | 2022-01-12 | 2024-04-02 | 上海沄熹科技有限公司 | 一种基于分布式数据库的快照隔离实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104317944B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317944A (zh) | 一种基于公式的时间戳动态调整并发控制方法 | |
US10055440B2 (en) | Database table re-partitioning using trigger-based capture and replay | |
US9208191B2 (en) | Lock-free, scalable read access to shared data structures | |
Loesing et al. | On the design and scalability of distributed shared-data databases | |
US10042910B2 (en) | Database table re-partitioning using two active partition specifications | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
US9092475B2 (en) | Database log parallelization | |
US8140498B2 (en) | Distributed database system by sharing or replicating the meta information on memory caches | |
US8200624B2 (en) | Membership tracking and data eviction in mobile middleware scenarios | |
US10754854B2 (en) | Consistent query of local indexes | |
CN109992628B (zh) | 数据同步的方法、装置、服务器及计算机可读存储介质 | |
JP7263297B2 (ja) | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション | |
US9053153B2 (en) | Inter-query parallelization of constraint checking | |
US20150006466A1 (en) | Multiversion concurrency control for columnar database and mixed OLTP/OLAP workload | |
US8380663B2 (en) | Data integrity in a database environment through background synchronization | |
US12007971B2 (en) | Pageable hash index for document store | |
US20210256063A1 (en) | Ad-hoc graph definition | |
US11176004B2 (en) | Test continuous log replay | |
WO2022002103A1 (zh) | 一种在数据节点上回放日志的方法、数据节点及*** | |
CN104281673A (zh) | 一种数据库的缓存构建***及对应的构建方法 | |
Yuan et al. | Rubato DB: A highly scalable staged grid database system for OLTP and big data applications | |
Schindler | Profiling and analyzing the I/O performance of NoSQL DBs | |
US11301341B2 (en) | Replication system takeover with handshake | |
Coelho et al. | PH1: A transactional middleware for NoSQL | |
Jin et al. | Materialized views for eventually consistent record stores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |