CN111797107B - 混合乐观锁和悲观锁的数据库事务并发控制方法 - Google Patents

混合乐观锁和悲观锁的数据库事务并发控制方法 Download PDF

Info

Publication number
CN111797107B
CN111797107B CN202010651448.5A CN202010651448A CN111797107B CN 111797107 B CN111797107 B CN 111797107B CN 202010651448 A CN202010651448 A CN 202010651448A CN 111797107 B CN111797107 B CN 111797107B
Authority
CN
China
Prior art keywords
lock
data
optimistic
pessimistic
read
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
Application number
CN202010651448.5A
Other languages
English (en)
Other versions
CN111797107A (zh
Inventor
刘明
陈国武
何枋玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Esgyn Information Technology Co Ltd
Original Assignee
Guizhou Esgyn Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou Esgyn Information Technology Co Ltd filed Critical Guizhou Esgyn Information Technology Co Ltd
Priority to CN202010651448.5A priority Critical patent/CN111797107B/zh
Priority to US17/033,894 priority patent/US11263197B2/en
Publication of CN111797107A publication Critical patent/CN111797107A/zh
Application granted granted Critical
Publication of CN111797107B publication Critical patent/CN111797107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种混合乐观锁和悲观锁的数据库事务并发控制方法,属一种数据库读写控制方法,该方法为在存储范围中的每个分片中集成锁,且全局使用一张锁表,在锁表中记录所有分片的锁情况;在读取存储范围分片的数据对象前,首先在锁表中查询该分片的数据对象是否已被其他读写事务锁定,如已被锁定,则当前读取操作被阻塞,然后重复当前读取操作,且如当前读取操作被阻塞的时间超过给定时限,此时悲观锁失效,乐观锁介入,继续读取当前分片的单行数据;通过在数据库事务并发控制方法将悲观锁与乐观锁两种语义混合在一起,当两者并存时,不仅保留了悲观锁防止读写操作冲突的优点,还通过切换乐观锁最大限度地提高事务并发度,从而提高性能。

Description

混合乐观锁和悲观锁的数据库事务并发控制方法
技术领域
本发明涉及一种数据库读写控制方法,更具体的说,本发明主要涉及一种混合乐观锁和悲观锁的数据库事务并发控制方法。
背景技术
数据库应用中为防止数据读写发生冲突,多使用悲观锁与乐观锁语义来对数据库中的数据读写进行控制,一般数据库本身锁的机制都是基于悲观锁的机制实现的,从而可完全保证数据的独占性和正确性,因为每次请求都会先对数据进行加锁, 然后进行数据操作,最后再解锁,而加锁释放锁的过程会造成消耗,所以性能不高。乐观锁是一种并发类型的锁,其本身不对数据进行加锁通而是通过业务实现锁的功能,不对数据进行加锁就意味着允许多个请求同时访问数据,同时也省掉了对数据加锁和解锁的过程。可有效提升性能,但由于冲突判断在数据提交后才集中进行处理,因此在大批量数据处理请求提交时容易出现卡顿,并且悲观锁和乐观锁是互斥的两种并发控制技术,非此即彼。采用了悲观锁实现的数据库不能同时使用乐观锁机制,反之亦然。然而悲观锁在并发冲突低概率的大多数应用场景中,并发性和性能都不如乐观锁。而乐观锁则反之,在并发冲突高概率的应用场景中,性能低。因此有必要针对数据库中使用的读写控制方法做进一步的研究和改进。
发明内容
本发明的目的之一在于解决上述不足,提供一种混合乐观锁和悲观锁的数据库事务并发控制方法,以期望解决现有技术中数据库中对于悲观锁和乐观锁是互斥的两种并发控制技术,且两者在应用均存在不同的缺陷等技术问题。
为解决上述的技术问题,本发明采用以下技术方案:
本发明所提供的一种混合乐观锁和悲观锁的数据库事务并发控制方法,所述方法包括如下步骤:
步骤A、在存储范围中的每个分片中集成锁,且全局使用一张锁表,在所述锁表中记录所有分片的锁情况。
步骤B、在读取存储范围分片的数据对象前,首先在锁表中查询该分片的数据对象是否已被其他读写事务锁定,如未被锁定,则读取操作继续,在事务提交时不在进行冲突检查。如已被锁定,则当前读取操作被阻塞,然后重复当前读取操作,且如当前读取操作被阻塞的时间超过给定时限,此时悲观锁失效,乐观锁介入,继续读取当前分片的数据对象。
步骤C、所述乐观锁为允许多个任务同时对同一对象进行读写操作,在数据提交时再验证数据是否存在冲突。
作为优选,进一步的技术方案是:所述存储范围包括数据库的全部数据或部分数据。
更进一步的技术方案是:所述步骤B中的数据对象包括单行数据与数据范围,所述单行数据通过其中的rowkey在锁表中进行查询,数据范围通过startKey和endKey在锁表中进行查询。
更进一步的技术方案是:所述rowkey,或者startKey和endKey之间的范围已被占用,则返回为TRUE,等待当前读取操作再次在锁表中进行查询。
更进一步的技术方案是:所述步骤B中的给定时限默认为1秒。
更进一步的技术方案是:所述步骤B中的乐观锁下,在数据提交时再验证数据是否存在冲突为判断两个并发的事务存在读取操作、或者写入操作是否存在重复。
更进一步的技术方案是:所述步骤B中的悲观锁为在读写事务读取或写入数据前,首先将当前数据锁定,直至锁定解除后,下一个读写事务才能对当前数据进行操作。
与现有技术相比,本发明的有益效果之一是:通过在数据库事务并发控制方法将悲观锁与乐观锁两种语义混合在一起,当两者并存时,不仅保留了悲观锁防止读写操作冲突的优点,还通过切换乐观锁最大限度地提高事务并发度,从而提高性能,同时本发明所提供的一种混合乐观锁和悲观锁的数据库事务并发控制方法程序语义简单,适于在各类数据库中使用,应用范围广阔。
附图说明
图1为用于说明本发明一个实施例的逻辑流程图。
具体实施方式
下面结合附图对本发明作进一步阐述。
首先,针对本说明书中反复提及的悲观锁与乐观锁进行说明:
悲观锁是基于一种悲观的态度类来防止一切数据冲突,它是以一种预防的姿态在修改数据之前把数据锁住,然后再对数据进行读写,在它释放锁之前任何人都不能对其数据进行操作,直到前面一个读写事务把锁释放后下一个读写事务才可对数据进行加锁,然后才可以对数据进行读写操作,一般数据库本身锁的机制都是基于悲观锁的机制实现的。其特点是可完全保证数据的独占性和正确性,因为每次请求都会先对数据进行加锁, 然后进行数据操作,最后再解锁,而加锁释放锁的过程会造成消耗,所以性能不高。
手动加悲观锁的方式为:
读取锁LOCK tables test_db read释放锁UNLOCK TABLES。
写入锁:LOCK tables test_db WRITE释放锁UNLOCK TABLES。
乐观锁是对于数据冲突保持一种乐观态度,操作数据时不会对操作的数据进行加锁(这使得多个任务可以并行的对数据进行操作),只有到数据提交的时候才通过一种机制来验证数据是否存在冲突(一般实现方式是通过加版本号然后进行版本号的对比方式实现)。特点:乐观锁是一种并发类型的锁,其本身不对数据进行加锁通而是通过业务实现锁的功能,不对数据进行加锁就意味着允许多个请求同时访问数据,同时也省掉了对数据加锁和解锁的过程,这种方式大大的提高了数据操作的性能。
基于上述,参考图1所示,本发明的一个实施例是一种混合乐观锁和悲观锁的数据库事务并发控制方法,在本方法中,采用for update这种悲观锁,它本质上是一把读锁,基于此,本实施例的方法包括并优选按照如下步骤操作:
步骤S1、在存储范围中的每个分片中集成锁,且全局使用一张锁表,在所述锁表中记录所有分片的锁情况。在本步骤中,存储范围一般指的是一个数据库中的全部数据或部分数据。
步骤S2、在读取存储范围分片的数据对象前,首先在锁表中查询该分片的数据对象是否已被其他读写事务锁定,如未被锁定,则读取操作继续,在事务提交时不在进行冲突检查。如已被锁定,则当前读取操作被阻塞,然后重复当前读取操作,且如当前读取操作被阻塞的时间超过给定时限,此时悲观锁失效,乐观锁介入,继续读取当前分片的数据对象。
在本实施例中,通过在数据库事务并发控制方法将悲观锁与乐观锁两种语义混合在一起,当两者并存时,不仅保留了悲观锁防止读写操作冲突的优点,还通过切换乐观锁最大限度地提高事务并发度,从而提高性能。
在步骤S2中,数据对象包括单行数据与数据范围,单行数据通过其中的rowkey在锁表中进行查询,数据范围通过startKey和endKey在锁表中进行查询,可以理解的是,本实施例的方法可采用基本相同的方式,利用基本相同的方式,实现单行数据读取为数据范围读取。
其中,上述读取单行数据中rowkey的方式如下:
锁表遍历目前所有的锁信息,如果输入的rowkey已经被占用,就返回TRUE。
判断算法如下:
FOR lock IN lockTable
IF rowkey = lock.rowkey
RETURN TRUE
ELSE
CONTINUE
RETURN FALSE
当rowkey已经被锁,则当前操作被阻塞,并等待一段时间再次查询锁表。
当读操作被阻塞超过给定的时限(默认为1秒),则直接继续进行查询。此时,悲观锁自动放弃,系统靠乐观锁对当前事务进行保护,该事务提交时需要进行冲突检查。
同理,上述读取数据范围中startKey和endKey方式如下:
锁表遍历目前所有的锁信息,如果输入的范围已经被占用,就返回TRUE。范围被占用的算法如下:
FOR lock IN lockTable
IF startKey >= lock.StartKey AND endKey <= lock.EndKey
RETURN TRUE
ELSE
CONTINUE
RETURN FALSE
当扫描范围已经被锁,则当前操作被阻塞,并等待一段时间再次查询锁表。
当读操作被阻塞超过给定的时限(默认为1秒),则直接继续进行查询。此时,悲观锁自动放弃,系统靠乐观锁对当前事务进行保护,该事务提交时需要进行冲突检查。
如果读操作在超时范围内获取了锁,则读操作继续,本事务获取这把范围锁,同时在本事务内禁止乐观锁。这样,该事务依靠悲观锁进行并发控制,当该事务提交时,不进行乐观锁的冲突检查。
另一方面,正如上述所提到的,乐观锁为允许多个任务同时对同一对象进行读写操作,在数据提交时再验证数据是否存在冲突。即在乐观锁下,在数据提交时再验证数据是否存在冲突为判断两个并发的事务存在读取操作、或者写入操作是否存在重复,在本实施例中,乐观锁的工作流程如下:
在数据的读和写操作过程中,乐观锁对读写操作进行记录,但对读写操作本身不加锁。因此,多个并发的读操作和写操作可以同时互相不阻塞地进行。在事务执行提交的时候,根据记录,进行冲突检查。如果两个并发的事务有读操作,或者写操作存在重复,即判定为冲突。包括几种具体情况:
读写冲突:事务的读操作和其他已经提交事务的写操作有重复,即为冲突。
写读冲突:事务的写操作和其他已经提交事务的写操作有重复,即为冲突。
读读不冲突:事务的读操作和其他已经提交事务的读操作有重复,不判定为冲突。
基于上述实施例所描述的,本发明所述的方法在实际应用中,在低冲突业务场景,应用可以完全依赖乐观锁进行并发控制。在高冲突业务场景中,应用使用for update锁进行悲观锁控制,由于只使用了for update锁,该锁为排他锁,故多数场景下,可以完成并发控制。对于特殊场景,则依旧由乐观锁进行控制。
场景一:高冲突业务场景。事务开始写操作前,均使用for update锁进行并发控制。在此种情况下,完全由for update排他锁进行并发控制
场景二:高冲突业务场景。多数事务开始写操作前,使用for update锁进行并发控制,但也有部分事务在执行写操作前,未使用for update锁。这样两个事务并发的时候,forupdate锁无法锁住并发事务,将由乐观锁进行冲突检查。但因为未使用for update锁的写事务较少,因此还是属于乐观场景。用乐观锁控制,性能最佳。
场景三:异常的应用有可能导致锁残留。比如应用在获取锁之后,进程异常终止,未及时释放锁。此种情况,易鲸捷数据库在指定时间内将for update锁抢占释放,并将并发控制完全交由乐观锁控制,保证了数据一致性,也简单有效地处理了异常锁残留的问题。
除上述以外,还需要说明的是在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

Claims (7)

1.一种混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于所述方法包括如下步骤:
在存储范围中的每个分片中集成锁,且全局使用一张锁表,在所述锁表中记录所有分片的锁情况;
在读取存储范围分片的数据对象前,首先在锁表中查询该分片的数据对象是否已被其他读写事务锁定,如未被锁定,则读取操作继续,在事务提交时不再进行冲突检查;如已被锁定,则当前读取操作被阻塞,然后重复当前读取操作,且如当前读取操作被阻塞的时间超过给定时限,此时悲观锁失效,乐观锁介入,继续读取当前分片的数据对象;
所述乐观锁为允许多个任务同时对同一对象进行读写操作,在数据提交时再验证数据是否存在冲突。
2.根据权利要求1所述的混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于:所述存储范围包括数据库的全部数据或部分数据。
3.根据权利要求1所述的混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于:所述数据对象包括单行数据与数据范围,所述单行数据通过其中的rowkey在锁表中进行查询,数据范围通过startKey和endKey在锁表中进行查询。
4.根据权利要求3所述的混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于:所述rowkey,或者startKey和endKey之间的范围已被占用,则返回为TRUE,等待当前读取操作再次在锁表中进行查询。
5.根据权利要求1所述的混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于:所述给定时限默认为1秒。
6.根据权利要求1所述的混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于:所述乐观锁下,在数据提交时再验证数据是否存在冲突为判断两个并发的事务存在读取操作、或者写入操作是否存在重复。
7.根据权利要求1所述的混合乐观锁和悲观锁的数据库事务并发控制方法,其特征在于:所述悲观锁为在读写事务读取或写入数据前,首先将当前数据锁定,直至锁定解除后,下一个读写事务才能对当前数据进行操作。
CN202010651448.5A 2020-07-08 2020-07-08 混合乐观锁和悲观锁的数据库事务并发控制方法 Active CN111797107B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010651448.5A CN111797107B (zh) 2020-07-08 2020-07-08 混合乐观锁和悲观锁的数据库事务并发控制方法
US17/033,894 US11263197B2 (en) 2020-07-08 2020-09-27 Concurrency control method of database transaction combining optimistic lock and pessimistic lock

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010651448.5A CN111797107B (zh) 2020-07-08 2020-07-08 混合乐观锁和悲观锁的数据库事务并发控制方法

Publications (2)

Publication Number Publication Date
CN111797107A CN111797107A (zh) 2020-10-20
CN111797107B true CN111797107B (zh) 2024-02-09

Family

ID=72809695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010651448.5A Active CN111797107B (zh) 2020-07-08 2020-07-08 混合乐观锁和悲观锁的数据库事务并发控制方法

Country Status (2)

Country Link
US (1) US11263197B2 (zh)
CN (1) CN111797107B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328637B (zh) * 2020-10-30 2023-11-14 中国平安人寿保险股份有限公司 高速分布式数据缓存方法、装置、计算机设备及存储介质
CN113254226B (zh) * 2021-06-23 2021-09-24 北京易鲸捷信息技术有限公司 用于非对称业务场景的非对称分布式锁系统及实现方法
CN114217978B (zh) * 2022-02-21 2022-05-17 在线途游(北京)科技有限公司 一种基于乐观锁的数据库事务处理方法、系统、计算设备和计算机可读存储介质
CN115438025A (zh) * 2022-08-26 2022-12-06 华为技术有限公司 数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556597A (zh) * 2009-03-06 2009-10-14 南京航空航天大学 一种自适应乐观并发控制方法
JP2014178831A (ja) * 2013-03-14 2014-09-25 Nec Corp 情報処理装置、データベースアクセス方法、及びプログラム
CN110502525A (zh) * 2019-08-16 2019-11-26 华东师范大学 一种混合工作负载的乐观并发控制方法
CN110716936A (zh) * 2019-10-12 2020-01-21 浪潮云信息技术有限公司 一种基于SpringBoot+JPA的数据库乐观锁实现方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952829B1 (en) * 1998-06-29 2005-10-04 International Business Machines Corporation Dynamically adapting between pessimistic and optimistic notifications to replicated objects
US7434010B2 (en) * 2006-08-04 2008-10-07 Microsoft Corporation Combined pessimistic and optimisitic concurrency control
WO2008138002A1 (en) * 2007-05-08 2008-11-13 Laser-Scan, Inc. Three-dimensional topology building method and system
US8555016B2 (en) * 2008-12-17 2013-10-08 Intel Corporation Unified optimistic and pessimistic concurrency control for a software transactional memory (STM) system
EP2887207B1 (en) * 2013-12-19 2019-10-16 Teknologian tutkimuskeskus VTT Oy Architecture for long latency operations in emulated shared memory architectures
GB2533414B (en) * 2014-12-19 2021-12-01 Advanced Risc Mach Ltd Apparatus with shared transactional processing resource, and data processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556597A (zh) * 2009-03-06 2009-10-14 南京航空航天大学 一种自适应乐观并发控制方法
JP2014178831A (ja) * 2013-03-14 2014-09-25 Nec Corp 情報処理装置、データベースアクセス方法、及びプログラム
CN110502525A (zh) * 2019-08-16 2019-11-26 华东师范大学 一种混合工作负载的乐观并发控制方法
CN110716936A (zh) * 2019-10-12 2020-01-21 浪潮云信息技术有限公司 一种基于SpringBoot+JPA的数据库乐观锁实现方法及系统

Also Published As

Publication number Publication date
US11263197B2 (en) 2022-03-01
CN111797107A (zh) 2020-10-20
US20220012225A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
CN111797107B (zh) 混合乐观锁和悲观锁的数据库事务并发控制方法
US7233947B2 (en) Timestamping in databases
US10140329B2 (en) Processing transactions in a distributed computing system
US5983225A (en) Parameterized lock management system and method for conditional conflict serializability of transactions
US11386065B2 (en) Database concurrency control through hash-bucket latching
US11580134B1 (en) Method and apparatus for resolving source database precommitted transactions that are replicated to a target database of a database replication system
EP0389242B1 (en) Data base processing system using multiprocessor system
CN101615203B (zh) 并发控制方法及装置
US7548919B2 (en) Computer program product for conducting a lock free read
US20070143299A1 (en) Commitment of transactions in a distributed system
JPH0212460A (ja) 索引木への並列アクセスのためのデータ・アクセス方法およびデータ処理システム
CN109033359A (zh) 一种多进程安全访问sqlite的方法
CN112867999A (zh) 基于版本的表锁定
CN101853279A (zh) 一种改进的内存数据库封锁方法
CN112835982B (zh) 一种基于分布式数据库的表锁实现方法
US20080082533A1 (en) Persistent locks/resources for concurrency control
Lomet et al. Using the lock manager to choose timestamps
Pang et al. On using similarity for resolving conflicts at commit in mixed distributed real-time databases
US7630991B2 (en) Compiling join patterns using software transactional memories
KR100314879B1 (ko) 주기억장치데이터베이스관리시스템을위한락관리방법
CN111723061A (zh) 一种数据库系统的并发控制方法和装置
KR100253627B1 (ko) 데이타 저장시스템에서 철회중인 트랜잭션이 교착상태 희생자로 선택되지 않도록 하는 트랜잭션 제어 방법
CA2534066A1 (en) One-phase commit in a shared-nothing database system
CN117348977A (zh) 一种数据库中事务并发控制的方法、装置、设备及介质
KR100568145B1 (ko) 다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를이용한 교착 상태 방지방법

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