CN110537174B - 一种基于交替行锁和列锁的数据锁定方法 - Google Patents
一种基于交替行锁和列锁的数据锁定方法 Download PDFInfo
- Publication number
- CN110537174B CN110537174B CN201780089716.5A CN201780089716A CN110537174B CN 110537174 B CN110537174 B CN 110537174B CN 201780089716 A CN201780089716 A CN 201780089716A CN 110537174 B CN110537174 B CN 110537174B
- Authority
- CN
- China
- Prior art keywords
- queue
- row
- type
- oriented
- column
- 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.)
- Active
Links
Images
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/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Abstract
一种用于对数据库执行操作的设备,所述设备包括:C队列,用于存储多个面向列的操作;R队列,用于存储多个面向行的操作;调度器,用于根据所述操作是否面向行,将所述操作分配给所述C队列或所述R队列;定时单元,用于在C型时隙和R型时隙之间交替;执行单元,用于从C型时隙的所述C队列执行操作和/或从R型时隙的所述R队列执行操作。
Description
技术领域
本发明涉及一种对数据库执行操作的设备和一种对数据库执行操作的方法。本发明还涉及一种存储程序代码的计算机可读存储介质,所述程序代码包括用于执行该方法的指令。
背景技术
在具有列存储的数据库中,列中相邻的值相邻存储。相反,在具有行存储的数据库中,行值相邻存储。在分析处理中,列存储优于行存储,因为许多查询操作面向列。在列存储中,我们可以将写入视为面向列(写入的列值很少)或面向行(写入的列值很多,如果不是全部)。
数据库系统中的传统锁定机制基于一维锁定,涉及行或行组(页面)上的锁。这对于面向列的系统是次优的,因为单行锁可以阻止所有并发分析查询。
另一方面,通过列锁,我们可以允许许多并发列写入和面向列的查询并行运行,而不会产生冲突相依性。
典型的数据库管理系统使用一维锁定:
a、联机事务处理(online transaction processing,简称OLTP)系统使用面向行的锁定;
b、面向列的混合使用系统使用面向行或对象的锁定;
c、分析系统通过为分析处理创建只读快照,避免将所有内容锁定在一起。
现有技术中的一个问题是:无论所述数据库系统实现方式中选择何种类型,部分所述处理会受到有限并发性的影响。
发明内容
本发明的目的在于提供一种用于对数据库执行操作的设备和一种用于对数据库执行操作的方法,其中所述设备和所述方法克服了现有技术的上述一个或多个问题。
本发明第一方面提供了一种用于对数据库执行操作的设备,所述设备包括:
-C队列,用于存储多个面向列的操作;
-R队列,用于存储多个面向行的操作;
-调度器,用于根据所述操作是否面向行,将所述操作分配给所述C队列或所述R队列;
-定时单元,用于在C型时隙和R型时隙之间交替;
-执行单元,用于在C型时隙内从所述C队列执行操作和/或在R型时隙内从所述R队列执行操作。
所述第一方面的所述设备具有可以执行面向行和面向列的操作的优点,但锁被击中从而导致延迟的可能性大大降低。这是因为,与干扰其它列锁相比,列锁干扰行锁的可能性更高。因此,在单独时隙内执行面向列的操作(需要列锁)和面向行的操作(需要行锁)是有利的。因此,所述第一方面的所述设备可以显著增加所述数据库的吞吐量。
例如,所述执行单元可以在C型时隙内从所述C队列并行执行多个(面向列的)操作,在R型时隙内从所述R队列并行执行多个(面向行的)操作。通常,对于每个操作,所述执行单元将在执行所述操作之前获取锁。例如,当从所述C队列执行操作时,所述执行单元将首先获取相应的列锁,然后从所述C队列执行所述操作,最后释放所述列锁。
当所述设备使用多核处理器时,所述执行单元可以在多核处理器的不同核中执行并行处理计算资源中的并发操作(在每个时隙中)。这也称为物理并行性。在一些实施例中,所述执行单元还可以用于使用来自多核处理器的不同处理单元来从所述C队列或所述R队列处理操作。
然而,即使在单核处理器上也能实现性能增益,因为执行并行性可以基于所述单核处理器的计算线程(逻辑并行性)。
所述第一方面的所述设备可以使用二维锁定机制。这两个维度是行锁和列锁。不同的操作分类为面向行的操作或面向列的操作。在这些组内保持所述并发性。
所述调度器可以根据所需锁定模式,将操作分配给两个不同的队列,以便在不同时隙执行。
优选地,不要同时使用两种不同的锁定模式。这可以由唯一地用尽所述队列的调度器强制执行。
根据第一方面,在用于对数据库执行操作的所述设备的第一种实现方式中,所述调度器用于将设置操作分配给所述C队列。换言之,所述调度器可以用于将所述设置操作视为面向列的操作,从而将其分配给所述C队列。
在第一种实现方式的一个实施例中,所有其它操作都分配给所述R队列。
根据第一方面或根据第一方面的第一种实现方式,在用于对数据库执行操作的所述设备的第二种实现方式中,所述调度器用于将点操作,特别是行插入、行删除、行检索和/或行更新和/或批量操作,特别是批量插入、批量更新和/或批量混合操作,分配给所述R队列。
换言之,所述调度器用于将所述点操作视为面向行的操作,从而将其分配给所述R队列。
根据第一方面或根据第一方面的前述实现方式中任一种实现方式,在用于对数据库执行操作的所述设备的第三种实现方式中,所述调度器用于将点操作之外的操作分配给所述C队列。
换言之,在本实施例中,除点操作外,所有操作都被视为面向列的操作。
根据第一方面或根据第一方面的前述实现方式中任一种实现方式,在用于对数据库执行操作的所述设备的第四种实现方式中,所述定时单元用于以固定时间间隔,优选地,介于0.1ms与10ms之间,特别是0.5ms与2ms之间的时间间隔,在C型时隙和R型时隙之间交替。
实验表明,这些时间在高吞吐量和低响应时间之间提供了很好的权衡。
在其它实施例中,所述时间间隔的长度不是以特定时距来确定,而是以可执行操作的数目来确定。例如,可将时间间隔配置为足以执行预定数目的操作,例如,介于100与10,000个操作之间,优选地,介于200与5,000个操作之间的预定数目。
根据第一方面或根据第一方面的前述实现方式中任一种实现方式,在用于对数据库执行操作的所述设备的第五种实现方式中,所述定时单元用于根据所述C队列和所述R队列的长度来调整C型时隙的持续时间和R型时隙的持续时间之间的比率。
这样做的优点是:所述队列的长度可以保持平衡,总体响应时间可以缩短。
在一优选实施例中,所述定时单元可以用于调整所述时隙的持续时间之间的比率,以与所述队列的长度之间的比率成比例。例如,如果所述R队列的长度是所述C队列的两倍,则所述定时单元可以将所述R型时隙的持续时间调整为所述C型时隙的持续时间的两倍。
根据第一方面或根据第一方面的前述实现方式中任一种实现方式,在用于对数据库执行操作的所述设备的第六种实现方式中,所述定时单元还用于在队列为空时交替时隙。
因此,可以避免系统空闲,因为当前活动队列中没有任何操作。
本发明第二方面涉及一种用于对数据库执行操作的方法,所述方法包括:
-如果所述操作面向行,则将所述操作分配给R队列,否则将所述操作分配给C队列;
-在C型时隙内,从所述C队列执行操作;
-在R型时隙内,从所述R队列执行操作;
-在C型时隙和R型时隙之间切换。
特别地,从所述C队列执行操作可以包括从所述C队列并行执行多个操作,相应地,对所述R队列并行执行多个操作。
根据本发明第二方面所述的方法可由根据本发明第一方面所述的设备执行。根据本发明的第二方面,所述方法的进一步特征或实现方式可以用于实现本发明第一方面及其不同实现方式中所述设备的功能。
在第二方面的所述方法的第一种实现方式中,如果所述操作面向行,则将所述操作分配给R队列,否则将所述操作分配给C队列,包括将设置操作分配给所述C队列。
根据第二方面的第一种实现方式,在第二方面的所述方法的第二种实现方式中,如果所述操作面向行,则将所述操作分配给R队列包括将点操作,特别是行插入、行删除、行检索和/或行更新和/或批量操作,特别是批量插入、批量更新和/或批量混合操作,分配给所述R队列。
根据第二方面的前述实现方式中任一种实现方式,在第二方面的所述方法的第三种实现方式中,如果所述操作面向行,则将所述操作分配给R队列,否则将所述操作分配给C队列,包括将点操作之外的任何操作分配给所述C队列。
根据第二方面的前述实现方式中任一种实现方式,在第二方面的所述方法的第四种实现方式中,在C型时隙和R型时隙之间切换包括以固定时间间隔,优选地,介于0.1ms与10ms之间,特别是0.5ms与2ms之间的时间间隔交替。
根据第二方面的前述实现方式中任一种实现方式,在第二方面的所述方法的第五种实现方式中,在C型时隙和R型时隙之间切换包括基于所述C队列和所述R队列的长度来调整C型时隙的持续时间和R型时隙的持续时间之间的比率。
根据第二方面的前述实现方式中任一种实现方式,在第二方面的所述方法的第六种实现方式中,在C型时隙和R型时隙之间切换包括在队列为空时切换时隙。
本发明的第三方面涉及一种存储程序代码的计算机可读存储介质,其中,所述程序代码包括指令,用于执行根据第二方面或第二方面的任一实现方式所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术特征,下面将对实施例描述中所需要使用的附图作简单地介绍。下面描述中的附图仅仅是本发明的一些实施例,这些实施例在不违背本发明如权力要求书中所定义的保护范围的情况下,可以进行修改。
图1是示出本发明一实施例提供的一种用于对数据库执行操作的设备的框图;
图2是示出本发明另一实施例提供的一种用于对数据库执行操作的方法的图;
图3是包含本发明另一实施例提供的一种用于对数据库执行操作的设备的数据库系统的框图;
图4是本发明另一实施例提供的一种操作调度器对进入系统的操作进行分类并将其分配到队列的方法的流程图;
图5是本发明另一实施例提供的一种执行单元基于操作类型在时隙内执行操作的方法的流程图。
具体实施方式
图1示出了一种用于对数据库执行操作的设备100。
所述设备包括C队列110、R队列120、调度器130、定时单元140和执行单元150。
所述C队列110用于存储多个面向列的操作。所述R队列120用于存储多个面向行的操作。
所述调度器130用于根据传入操作是否面向行,将所述传入操作分配给所述C队列或所述R队列。
所述定时单元140用于在C型时隙和R型时隙之间交替,例如以固定时间间隔。
所述执行单元150用于在C型时隙内从所述C队列执行操作和/或在R型时隙内从所述R队列执行操作。
图2示出了一种用于对数据库执行操作的方法200的示例的图。例如,所述方法200可以由图1的所述设备100执行。
所述方法200包括一步骤:如果所述操作面向行,则将所述操作分配210给R队列,否则将所述操作分配给C队列。
所述方法200还包括另一步骤:在C型时隙内从所述C队列执行220操作和/或在R型时隙内从所述R队列执行230操作。因此,是从所述C队列执行操作还是从所述R队列执行操作取决于当前活动时隙。在另一步骤中改变当前活动时隙,即在C型时隙和R型时隙之间切换240。
可以理解的是,通常在C型时隙内,从所述C队列并行执行多个操作;在R型时隙内,从所述R队列并行执行多个操作。因此,可以减少面向行的操作和面向列的操作之间的冲突。
图3示出了方法实现方式的一实施例。
图3示出了数据库系统300,所述数据库系统300包括用于对数据库310执行操作的设备。所述设备包括混合锁管理器320和操作调度器330。
所述数据库系统300包括数据库310、用作执行单元的所述混合锁管理器320和所述操作调度程序330。所述数据库310使用列存储布局,列中的元素在存储器中存储在相邻位置。尽管列数据是物理存储的,但可以通过逻辑行312访问行。
所述混合锁管理器320维护所述数据库310上的锁。这些锁可以是列锁和行锁。所述混合锁管理器可以包括内部数据库,例如表,其中包含有关当前锁定哪些列314和哪些行312的信息。所述混合锁管理器320可以用于确保在锁不再需要时释放锁。所述混合锁管理器320从所述操作调度程序330接收行锁请求和列锁请求。所述操作调度器330包括操作分类器334,所述操作分类器334将所有传入操作332分类为面向行的操作340或面向列的操作350。所述面向行的操作340被分配给行锁定操作队列342,也称为R队列。所述面向列的操作350被分配给列锁定操作队列352,也称为C队列。在R型时隙内,行锁请求和行锁操作从所述操作调度器330传递到所述混合锁管理器320。在C型时隙内,列锁请求和列锁操作从所述操作调度器330传递到所述混合锁管理器320。R型时隙和C型时隙之间的转换由定时单元管理,图3中未示出。
在图3中,数据存储被描述为列存储。列结构以物理方式存储,行结构以逻辑方式强加于存储的列。所述系统为行和列维护单独的锁。混合锁管理器维护两种类型的锁。
进入所述系统的所有操作都由所述调度器处理,其中所述操作分类器将操作分配到两个队列中的一个:一个用于面向行的操作(R队列),另一个用于面向列的操作(C队列)。与各种操作相关的所述操作分类器的规则如下表1所示。
所述队列342、352唯一地用尽(出队),即一次只用尽一个队列。当操作队列即将用尽时,从所述锁管理器请求相应类型的锁。
除了使用所述方法提高并发性之外,第二个要求是保持操作(事务)与两种锁定模式的一致性。
在单模式锁定系统中,锁迫使执行进入可串行化历史记录中。在双模式锁定系统中,这两种模式必须以保持可串行化的方式进行交替。
排队执行的每个操作都被视为一个事务。这类似于SQL系统中所谓的AUTOCOMMIT模式。事务可以按不同于提交顺序的顺序执行。
在一优选实施例中,执行所述操作优先于随后执行两种方法,如下所述。
图4是操作调度器对进入系统的操作进行分类并将其分配给队列的第一种方法400的流程图。
所述方法400包括第一步骤410,在所述第一步骤中检测进入所述系统的新操作。在第二步骤412中,评估所述新操作的操作类型。在第三步骤414中,确定操作是否面向行。如果不是,则所述方法继续另一步骤416,即将所述操作添加到所述C队列。否则,如果所述操作面向行,则在另一步骤418中,将所述操作添加到所述R队列。所述方法结束于步骤420。可以为每个新操作执行所述方法。
在一优选实施例中,有一个决策表(表1),将一个DBMS中可用的操作映射到优选的锁定模式。如果所述模式为“行锁”,则所述操作将在所述R队列中排队。如果所述模式为“列锁”,则所述操作将在所述C队列中排队。
在所述优选实施例中,所述队列是先进先出(first-in-first-out,简称FIFO)队列。
表1锁定模式决策表
第二步骤处理队列操作的执行。
图5是执行单元基于操作类型在时隙内执行操作的第二种方法500的流程图。
所述方法500从开始执行新操作时的第一步骤510开始。在第二步骤512中,检查时隙的类型。如果在步骤514中确定当前时隙是R型操作的时隙,则所述方法继续在步骤518中从所述R队列执行操作。否则,如果所述当前时隙是C型操作的时隙,则所述方法将在步骤516中继续从所述C队列执行操作。随后,在步骤520中,确定是否应切换时隙类型。例如,这可能是因为与所述当前时隙相对应的队列为空,或者因为预定时间间隔已过期。如果应该切换时隙类型,则所述方法在步骤522中继续切换时隙类型。最后,在步骤524中,完成由所述执行单元执行的操作。
所述调度器在所述两个队列(R队列和C队列)之间交替。所述交替可以基于多种方法。
例如,在所述优选实施例中,交替方法基于固定时间间隔。在这种情况下,所述间隔从所需的最大响应时间导出,等于该时间的一半。例如,如果所需响应时间最多为2毫秒,则切换间隔为1毫秒,从而使整个周期不超过2毫秒。此外,当所述队列完全用尽时,就会发生切换。
注意,图4中示出的方法400和图5中示出的方法500可以并行运行。
总之,第一方面的设备的实施例可以使用行维度和列维度中的两种类型的锁,在列存储中提供更好的并发性,从而改善类似操作组中的并发性:
使用分类为面向行或面向列的两组操作。
使用调度器按与锁定维度相关的类型对操作进行分类。
使用调度器,所述调度器将不同的时隙分配给不同的操作组,并执行操作。
使用调度器动态维护两种时隙之间的平衡,以确保所述系统中的持续负载。
使用混合锁管理器来处理两种类型的锁。
所述调度器和所述混合锁管理器成为数据库系统的一部分,它们取代了现有技术系统中的相应组件。
本发明实施例可用于在多核处理单元的第一处理器上从所述C队列执行面向列的操作,在多核处理单元的第二处理器上从所述R队列执行面向行的操作。
上文所有描述仅仅为本发明的实施方式,本发明所保护的范围并不仅限于此。本领域技术人员可以容易地做出任何变化或替换。因此,本发明的保护范围应以所附权利要求的保护范围为准。
Claims (15)
1.一种用于对数据库(310)执行操作(332)的设备(100),其特征在于,所述设备包括:
-C队列(110、352),用于存储多个面向列的操作,所述C队列是列锁定操作队列;
-R队列(120、342),用于存储多个面向行的操作,所述R队列是行锁定操作队列;
-调度器(130、330),用于根据所述操作是面向列的操作或面向行的操作,将所述操作分配给所述C队列或所述R队列;
-定时单元(140),用于在C型时隙和R型时隙之间交替;
-执行单元(150),用于在C型时隙内从所述C队列执行操作或在R型时隙内从所述R队列执行操作,其中,在所述C型时隙锁定一个或多个列,在所述R型时隙锁定一个或多个行。
2.根据权利要求1所述的设备(100),其特征在于,所述调度器(130)用于将设置操作分配给所述C队列(110、352)。
3.根据权利要求1所述的设备(100),其特征在于,所述调度器(130)用于将点操作,或批量操作分配给所述R队列(120),所述点操作包括行插入、行删除、行检索和行更新中的至少一项,所述批量操作包括批量插入、批量更新和批量混合中的至少一项。
4.根据权利要求1所述的设备(100),其特征在于,所述调度器(130)用于将点操作之外的操作分配给所述C队列(110、352),所述点操作包括行插入、行删除、行检索和行更新中的至少一项。
5.根据权利要求1-4中任一项所述的设备(100),其特征在于,所述定时单元(140)用于以固定时间间隔在C型时隙和R型时隙之间交替。
6.根据权利要求1-4中任一项所述的设备(100),其特征在于,所述定时单元(140)用于基于所述C队列(110、352)和所述R队列(120、342)的长度来调节C型时隙的持续时间和R型时隙的持续时间之间的比率。
7.根据权利要求1-4中任一项所述的设备(100),其特征在于,所述定时单元(140)还用于在队列(110、120、342、352)为空时交替时隙。
8.一种用于对数据库(310)执行操作(332)的方法(200),其特征在于,所述方法包括:
-如果所述操作面向行,则将所述操作(210)分配给R队列(120、342),如果所述操作面向列,则将所述操作分配给C队列(110、352),所述C队列是列锁定操作队列,所述R队列是行锁定操作队列;
-在C型时隙内,从所述C队列执行(220)操作;
-在R型时隙内,从所述R队列执行(230)操作;
-在C型时隙和R型时隙之间切换(240),其中,在所述C型时隙锁定一个或多个列,在所述R型时隙锁定一个或多个行。
9.根据权利要求8所述的方法(200),其特征在于,如果所述操作(332)面向列,则将所述操作分配给C队列(110)包括将设置操作分配给所述C队列(110)。
10.根据权利要求8所述的方法(200),其特征在于,如果所述操作面向行,则将所述操作分配给R队列(120、342)包括将点操作或批量操作分配给所述R队列(120、342),所述点操作包括行插入、行删除、行检索和行更新中的至少一项,所述批量操作包括批量插入、批量更新和批量混合中的至少一项。
11.根据权利要求8所述的方法(200),其特征在于,如果所述操作面向列,则将所述操作分配给C队列(110、352)包括将点操作之外的任何操作分配给所述C队列(110、352),所述点操作包括行插入、行删除、行检索和行更新中的至少一项。
12.根据权利要求8至11中任一项所述的方法(200),其特征在于,在C型时隙和R型时隙之间切换包括以固定时间间隔交替。
13.根据权利要求8至11中任一项所述的方法(200),其特征在于,在C型时隙和R型时隙之间切换包括基于所述C队列(110、352)和所述R队列(120、342)的长度来调整C型时隙的持续时间和R型时隙的持续时间之间的比率。
14.根据权利要求8至11中任一项所述的方法(200),其特征在于,在C型时隙和R型时隙之间切换包括在队列(110、120、342、352)为空时切换时隙。
15.一种存储有程序代码的计算机可读存储介质,其特征在于,所述程序代码包括指令,所述指令在由处理器执行时用于执行根据权利要求8至14中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/059527 WO2018192669A1 (en) | 2017-04-21 | 2017-04-21 | Data locking method based on alternating row and column locks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110537174A CN110537174A (zh) | 2019-12-03 |
CN110537174B true CN110537174B (zh) | 2022-09-09 |
Family
ID=58638846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780089716.5A Active CN110537174B (zh) | 2017-04-21 | 2017-04-21 | 一种基于交替行锁和列锁的数据锁定方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11366799B2 (zh) |
EP (1) | EP3607464A1 (zh) |
CN (1) | CN110537174B (zh) |
WO (1) | WO2018192669A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113261B2 (en) * | 2018-01-19 | 2021-09-07 | Sap Se | Data locking |
US11914573B2 (en) | 2022-03-23 | 2024-02-27 | International Business Machines Corporation | Column based database locks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5008819A (en) * | 1987-10-07 | 1991-04-16 | Gorbatenko George G | Memory spaced array |
CN103793455A (zh) * | 2012-10-30 | 2014-05-14 | 国际商业机器公司 | 用于减少服务器/数据库系统中锁定发生的方法和系统 |
CN104133661A (zh) * | 2014-07-30 | 2014-11-05 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN106068497A (zh) * | 2014-03-06 | 2016-11-02 | Arm 有限公司 | 事务存储器支持 |
CN106156126A (zh) * | 2015-04-08 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
CN106406983A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种集群中的任务调度方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6741653B2 (en) * | 2002-07-01 | 2004-05-25 | Interdigital Technology Corporation | Data detection for codes with non-uniform spreading factors |
US7739385B1 (en) * | 2003-06-16 | 2010-06-15 | Cisco Technology, Inc. | Explicit locking of resources in devices accessible on a network |
US7639678B2 (en) * | 2004-12-02 | 2009-12-29 | Nortel Networks Limited | Multimodal data switch |
US7599908B2 (en) * | 2005-11-18 | 2009-10-06 | Sap Ag | Logical locking for Java Data Objects |
US9589029B2 (en) * | 2010-12-28 | 2017-03-07 | Citrix Systems, Inc. | Systems and methods for database proxy request switching |
US9460176B2 (en) * | 2010-12-29 | 2016-10-04 | Sap Se | In-memory database for multi-tenancy |
US9317334B2 (en) * | 2011-02-12 | 2016-04-19 | Microsoft Technology Licensing Llc | Multilevel multipath widely distributed computational node scenarios |
US8745016B2 (en) * | 2011-06-17 | 2014-06-03 | International Business Machines Corporation | Managing concurrent access to data in database system |
US8806323B2 (en) * | 2011-07-28 | 2014-08-12 | General Electric Company | Systems and methods for multiple column sorting and locking |
US8782100B2 (en) * | 2011-12-22 | 2014-07-15 | Sap Ag | Hybrid database table stored as both row and column store |
US9792349B2 (en) * | 2013-06-12 | 2017-10-17 | Oracle International Corporation | In-database sharded queue |
US9659050B2 (en) | 2013-08-06 | 2017-05-23 | Sybase, Inc. | Delta store giving row-level versioning semantics to a non-row-level versioning underlying store |
CN103729442B (zh) * | 2013-12-30 | 2017-11-24 | 华为技术有限公司 | 记录事务日志的方法和数据库引擎 |
US10331740B2 (en) * | 2014-02-10 | 2019-06-25 | Apple Inc. | Systems and methods for operating a server-side data abstraction layer |
CN104008200B (zh) * | 2014-06-16 | 2017-12-05 | 华为技术有限公司 | 锁申请的处理方法和装置 |
CN104850631B (zh) * | 2015-05-21 | 2018-08-07 | 天津大学 | 一种适用于实时数据库的安全并发控制方法 |
-
2017
- 2017-04-21 CN CN201780089716.5A patent/CN110537174B/zh active Active
- 2017-04-21 EP EP17719832.2A patent/EP3607464A1/en active Pending
- 2017-04-21 WO PCT/EP2017/059527 patent/WO2018192669A1/en unknown
-
2019
- 2019-10-21 US US16/659,226 patent/US11366799B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5008819A (en) * | 1987-10-07 | 1991-04-16 | Gorbatenko George G | Memory spaced array |
CN103793455A (zh) * | 2012-10-30 | 2014-05-14 | 国际商业机器公司 | 用于减少服务器/数据库系统中锁定发生的方法和系统 |
CN106068497A (zh) * | 2014-03-06 | 2016-11-02 | Arm 有限公司 | 事务存储器支持 |
CN104133661A (zh) * | 2014-07-30 | 2014-11-05 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN106156126A (zh) * | 2015-04-08 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
CN106406983A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种集群中的任务调度方法及装置 |
Non-Patent Citations (2)
Title |
---|
Supporting multi-row distributed transactions with global snapshot isolation using bare-bones HBase;Chen Zhang,等;《2010 11th IEEE/ACM International Conference on Grid Computing》;20110120;第177-184页 * |
一种基于属性谓词锁的数据库并发控制方法;寿黎但,等;《计算机研究与发展》;20121031;第49卷(第10期);第2260-2270页 * |
Also Published As
Publication number | Publication date |
---|---|
US11366799B2 (en) | 2022-06-21 |
EP3607464A1 (en) | 2020-02-12 |
US20200050597A1 (en) | 2020-02-13 |
CN110537174A (zh) | 2019-12-03 |
WO2018192669A1 (en) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9424315B2 (en) | Methods and systems for run-time scheduling database operations that are executed in hardware | |
US9619430B2 (en) | Active non-volatile memory post-processing | |
Nykiel et al. | MRShare: sharing across multiple queries in MapReduce | |
US11449507B2 (en) | Database engine | |
US8776077B2 (en) | Method for multithreading an application using partitioning to allocate work to threads | |
US20160179865A1 (en) | Method and system for concurrency control in log-structured merge data stores | |
Qadah et al. | Quecc: A queue-oriented, control-free concurrency architecture | |
US9262457B2 (en) | On-demand hash index | |
US10579413B2 (en) | Efficient task scheduling using a locking mechanism | |
US6341285B1 (en) | Serial protocol for transaction execution in main-memory database systems | |
US11321302B2 (en) | Computer system and database management method | |
Rehrmann et al. | OLTPshare: The case for sharing in OLTP workloads | |
US5671405A (en) | Apparatus and method for adaptive logical partitioning of workfile disks for multiple concurrent mergesorts | |
Ren et al. | VLL: a lock manager redesign for main memory database systems | |
CN110537174B (zh) | 一种基于交替行锁和列锁的数据锁定方法 | |
US10275289B2 (en) | Coexistence of message-passing-like algorithms and procedural coding | |
US10740317B2 (en) | Using message-passing with procedural code in a database kernel | |
US20180067859A1 (en) | Selective allocation of cpu cache slices to database objects | |
Lu et al. | p2kvs: a portable 2-dimensional parallelizing framework to improve scalability of key-value stores on ssds | |
Jamil et al. | Towards scalable manycore-aware persistent B+-trees for efficient indexing in cloud environments | |
CN111352860B (zh) | 一种Linux Bcache中的垃圾回收方法及系统 | |
Kalikar et al. | Toggle: Contention-aware task scheduler for concurrent hierarchical operations | |
Klauck | Scalability, Availability, and Elasticity through Database Replication in Hyrise-R | |
Lubowich et al. | On the performance of distributed lock-based synchronization? | |
Lee | A Low Latency Non-blocking Skip List with Retrial-Free Synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |