WO2011009274A1 - Procédé et appareil de contrôle daccès simultané - Google Patents
Procédé et appareil de contrôle daccès simultané Download PDFInfo
- Publication number
- WO2011009274A1 WO2011009274A1 PCT/CN2009/076082 CN2009076082W WO2011009274A1 WO 2011009274 A1 WO2011009274 A1 WO 2011009274A1 CN 2009076082 W CN2009076082 W CN 2009076082W WO 2011009274 A1 WO2011009274 A1 WO 2011009274A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- lock
- transaction
- concurrency control
- granted
- control method
- Prior art date
Links
Classifications
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
Definitions
- the present invention relates to the field of databases, and in particular to a concurrency control method and apparatus. Background technique
- a database is a shared resource.
- multiple transactions will access the same database at the same time. This leads to various conflicts.
- the transactions T1 and ⁇ 2 may have the following three types of conflicts during concurrent execution:
- Serial scheduling guarantees data consistency, but it is not conducive to system performance. Therefore, the Database Management System (DBMS) must provide transaction concurrency control mechanisms.
- Serializable is the criterion for the correctness of concurrent transactions, so a given concurrency control is properly controlled if and only if it is serializable.
- Strict 2-Phase Locking (Strict 2PL) protocol guarantees the serializability of concurrency control. Its contents are as follows: 1) Read/write lock must be added before reading/writing database objects; 2) Transaction After execution (commit or rollback), release the lock it owns.
- a concurrency control method is provided in the related art, which is performed on a database that is operated Record locks and queue other concurrent transactions to prevent the record from being modified by other transactions at the same time.
- the concurrency control method in the related art causes all concurrent transactions requesting operations on the same database record to enter the waiting queue until the lock operation is released after the lock transaction execution ends, and other concurrent transactions can be operated on the database again.
- the concurrency of transaction control is low, and concurrency control is poor.
- the present invention is directed to a concurrency control method and apparatus, which can solve the concurrency control method in the related art, so that all concurrent transactions requesting operations on the same database record enter the waiting queue until the lock transaction is terminated, and the lock is released. After that, other concurrent transactions can be operated on the database again, resulting in low concurrency of transaction control and poor system performance.
- a concurrency control method including the following steps: determining, according to a lock relationship table, whether a to-be-operated location of a transaction has a lock that conflicts with a lock to be granted, and the lock relationship table is used to save a transaction and a lock. The relationship; grants a lock to the transaction based on the result of the judgment, and executes the transaction; when the execution of the transaction ends, the lock held by the transaction is released, and the lock of the released lock that does not need to continue waiting is granted to other concurrent transactions.
- the lock relationship table specifically includes: a transaction list for storing concurrently executed and uncommitted transactions; a lock hash table for tracking queued waiting locks; and a linked list for associating transactions With a lock.
- the lock is granted to the transaction according to the judgment result, and executing the transaction specifically includes: if the to-be-operated position of the transaction has no lock, grant the lock to the transaction, and execute the transaction.
- the lock is granted to the transaction according to the judgment result
- the executing the transaction specifically includes: if there is a lock in the to-be-operated position of the transaction, checking whether there is a conflict between the existing lock and the lock to be granted; The transaction grants a lock and executes the transaction.
- a lock is granted to the transaction according to the check result
- the line transaction specifically includes: If there is no conflict between the existing lock and the pending lock, the lock is granted to the transaction, and the transaction is executed.
- the lock is granted to the transaction according to the check result, and executing the transaction specifically includes: if the existing lock conflicts with the pending latch, setting the transaction queue waiting until the lock is to be re-acquired; executing the transaction.
- the executing transaction includes at least one of the following: performing an adding operation, performing a deleting operation, performing a modifying operation, and performing a reading operation.
- the end of the transaction execution includes: a transaction completion submission or a transaction completion rollback.
- granting the lock that does not need to continue waiting in the released lock to the other concurrent transaction specifically includes: detecting, for each lock in the linked list of the released lock, whether there is a waiting flag; when there is a waiting flag And when the detected lock does not have a lock type conflict with other locks at the same operation position of other concurrent transactions, the detected lock is granted to other concurrent transactions, and other concurrent transactions are resumed.
- the lock types include shared locks and exclusive locks. .
- a concurrency control device including: a judging module, configured to determine, according to the lock relationship table, whether a to-be-operated position of the transaction has a lock that conflicts with the lock to be granted, and the lock relationship table is used. The relationship between the transaction and the lock is saved; the execution module is configured to grant a lock to the transaction according to the judgment result, and execute the transaction; and release the module, when the transaction execution ends, release the lock held by the transaction, and the released lock does not need to continue The waiting lock is granted to other concurrent transactions.
- the lock relationship table specifically includes: a transaction list for storing concurrently executed and uncommitted transactions; a lock hash table for tracking the queued waiting lock; a linked list for the associated transaction With a lock.
- FIG. 1 is a flow chart showing a concurrency control method according to a first embodiment of the present invention
- FIG. 2 is a view showing a lock hash table used in the concurrency control method of FIG.
- FIG. 3 is a flow chart showing a concurrency control method according to a second embodiment of the present invention.
- FIG. 4 is a block diagram showing a concurrency control device according to a third embodiment of the present invention.
- FIG. 1 shows a flow chart of a concurrency control method according to a first embodiment of the present invention, the method comprising the following steps:
- Step S101 when the database is operated, determining, according to the lock relationship table, whether the to-be-operated position of the transaction has a lock that conflicts with the lock to be granted, and the lock relationship table is configured to save the relationship between the transaction and the lock; Step S102, according to the judgment result, the transaction Grant a lock, and execute a transaction;
- Step S103 when the execution of the transaction ends, the lock held by the transaction is released, and the lock of the released lock that does not need to continue to wait is granted to other concurrent transactions.
- the lock relationship table it is determined whether the to-be-operated position of the transaction has a lock that conflicts with the lock to be granted, and then the lock is granted to the transaction according to the judgment result, and the transaction is executed, and finally, when the execution of the transaction ends, the transaction is held. Lock, and grant the lock that does not need to wait for the released lock to other concurrent transactions. Since the lock relationship table is used to save the relationship between the transaction and its corresponding lock, it is possible to judge whether there is a conflict between different locks pointing to the same to-be-operated position.
- the concurrency control method has low concurrency for transaction control and poor system performance, which improves the concurrency of transaction control and improves the concurrency control effect.
- the lock relationship table specifically includes: a transaction list for storing concurrently executed and uncommitted transactions; a lock hash table for tracking queued waiting locks; and a linked list for associating transactions With a lock.
- the lock relationship table in this embodiment specifically includes a transaction list, a lock hash table, and a lock list.
- the setting of the above table enables the concurrency control method of the embodiment to effectively manage transactions and locks, including fast index positioning and traversal search. And so on, further determining whether there is a conflict in different locks pointing to the same to-be-operated position, and providing strong support for the above-mentioned concurrency control method.
- the transaction list holds transaction information of other transactions executed concurrently in the system at the time of execution of the current transaction, and is inserted according to the principle that the latecomer inserts into the queue.
- the transaction information includes the transaction ID, the transaction type, the pointer to the front and rear nodes in the transaction list, and the chain. Table header pointers, etc.
- Each time a transaction is started the transaction is inserted into the transaction list, and the transaction information for that transaction is saved to the transaction list.
- the transaction structure contains a thread structure information, which contains the event object. When the transaction is suspended due to waiting for the lock, the thread executing the transaction waits for the event object. When the transaction grants the lock and is awakened, the thread that granted the lock sets the event object. .
- FIG. 2 is a schematic diagram of a lock hash table used in the concurrency control method of FIG. 1. As shown in FIG. 2, each entry of the lock hash table corresponds to a header of a linked list, so that the lock is made The file space number and page number recorded in the structure are calculated by the key, and the corresponding lock list can be located through the corresponding lock hash table entry.
- the linked list is used to associate the records recorded in the transaction list with the locks recorded in the lock hash table.
- each linked list includes multiple lock structures, and each lock structure records the database of lock locks waiting in line. Recorded file space number, page number, lock bitmap, number of bits occupied by the lock bitmap, lock type (shared lock, exclusive lock), lock flag (waiting, grant), belonging transaction, etc.,
- the first heap_no bit of the lock bitmap is the identifier of the location record to be operated.
- Each transaction corresponds to one
- each transaction is applied to a lock list, and the lock list holds the lock held by the transaction.
- Each pair of records operates, and the corresponding lock is inserted into the corresponding transaction. In the list of chains.
- a lock structure can be shared by other locks of the same type on the same page. If you need to add the same type of lock to other records, you only need to find the lock in the linked list. If you find it, you will lock the corresponding heap_no of the bitmap. The position bit, which solves the hash conflict by using a single linked list, and effectively saves memory space.
- step S102 specifically includes: if the to-be-operated position of the transaction has no lock, grant a lock to the transaction, and execute the transaction.
- step S102 specifically includes: if there is a lock in the to-be-operated position of the transaction, checking whether there is a conflict between the existing lock and the lock to be granted; granting a lock to the transaction according to the check result, and executing the transaction.
- the conflict includes: WR conflict, RW conflict, and WW highlight, and then grant the transaction according to the check result.
- Lock, and execute the transaction in this way, the difference between the conflicting and non-existing conflicts can be handled differently, instead of waiting for the existing locks, all other transactions are suspended and waiting for the control to improve the concurrency of the control. .
- the lock is granted to the transaction according to the check result, and executing the transaction specifically includes: if the existing lock does not conflict with the lock to be granted, grant the lock to the transaction, and execute the transaction.
- the result of the check is that there is no conflict between the existing lock and the lock to be granted. At this time, the lock is still granted to the transaction, and the transaction is executed.
- This embodiment grasps the execution timing of concurrent transactions without affecting each other, so that the available resources are maximized.
- the concurrency of control is effectively improved than the concurrency control method in the related art.
- the lock is granted to the transaction according to the check result, and executing the transaction specifically includes: if the existing lock conflicts with the pending latch, setting the transaction queue waiting until the lock is to be re-acquired; executing the transaction.
- the transaction is set to hang, and the insertion wait queue is queued until the lock to be granted is regained, and the transaction is executed.
- the wait is pending, that is, the transaction waits only when it is determined that it will be affected by other concurrent transactions. Under the premise of correctness of control, the concurrency of control is improved.
- the executing transaction includes at least one of: performing an insert (also called an insert) operation, performing a delete operation, performing a modify operation, and performing a read operation.
- an insert also called an insert
- performing a delete operation performing a modify operation
- performing a read operation performing a read operation.
- Execution transactions in this embodiment may be additions, deletions, modifications, reads, or a combination thereof.
- the concurrency control method of this embodiment is not limited to a certain operation, but can be extended to the above four basic operations, or a combination thereof, to expand the application range.
- FIG. 3 is a flowchart of a concurrency control method according to a second embodiment of the present invention.
- an insertion operation is taken as an example, and the method includes the following steps:
- Step S301 the listening thread receives a Structured Query Language (SQL) statement query request, and allocates a worker thread to process the query request;
- SQL Structured Query Language
- Step S302 the worker thread performs SQL query analysis and SQL query optimization to generate an execution plan
- Step S303 the worker thread adds an intent exclusive lock to the lock operation table, indicating that the write operation is to be performed on the table;
- Step S305 determining whether a unique index is built on the table and the number of fields matching the cursor is greater than or equal to the number of unique key fields, and if so, executing step 306; otherwise, proceeding to step S314;
- Step S307 if the maximum transaction ID on the page is greater than or equal to the minimum transaction ID in the current active transaction, check whether there is an implicit lock on the current record, if yes, go to step S309; otherwise, go to step S308;
- Step S308 the insertion operation is queued
- Step S309 acquiring a clustered index record corresponding to the current index record. If the record is just inserted, the record has an implicit lock, and the implicit lock is converted into an explicit lock;
- Step S311, reporting a duplicate key error, proceeds to step S305;
- Step S312 sharing a lock on the record
- Step S314 checking whether there is a lock on the next record of the current record, that is, calculating the file space number and page number of the record as the key Hash value, locates an entry on the lock hash table, traverses the linked list with the table entry as the header, checks whether the heap_no bit in the lock bitmap of each lock is set, if the lock bitmap The heap_no bit is not set, that is, there is no lock on the record, go to step S316; there is a lock on the record, go to step S315;
- Step S315 if the first heap_no bit in the lock bitmap is set, it indicates that there is a lock on the record, continue to determine whether there is a lock conflict, if there is a lock conflict, go to step S308; otherwise, go to step S316; Step S316, applying for locking successfully, inserting data, preventing other transactions from modifying the record; Step S317, if there is a lock on the next record of the inserted record, inheriting the lock on the next record, and setting the waiting state to the granted state ;
- Step S318 the transaction execution ends, that is, the transaction completes the commit or the transaction completes the rollback, releases the held lock, and scans the lock hash table lock queue to grant the lock that no longer needs to wait.
- This embodiment is applied to a database system, such as a database system for an IPTV electronic program guide. Since each electronic program guide system can accommodate a limited number of users, an IPTV system requires a large number of electronic program listings. Each electronic program in the related art runs a commercial database in the background, resulting in high cost, and the embodiment adopts the above concurrency control method to reduce the cost while satisfying the performance of the commercial database, and better satisfies the IPTV system. Requirements, as well as standard database features, including transaction integrity, transaction concurrency control, failure recovery, and more. This embodiment effectively controls the concurrent execution of transactions while ensuring system performance to the greatest extent.
- the end of the transaction execution includes: a transaction completion submission or a transaction completion rollback.
- the execution of the transaction includes a transaction completion submission or a transaction completion rollback, that is, when the transaction completes the commit or the transaction completes the rollback, the lock held by the transaction is released.
- a transaction completion submission or a transaction completion rollback that is, when the transaction completes the commit or the transaction completes the rollback, the lock held by the transaction is released.
- the lock completes the locking task it is released immediately, so that other concurrent transactions can obtain corresponding locks to obtain an opportunity to be executed, which helps to improve the concurrency of the control.
- the lock held by the release transaction specifically includes, for each lock in the linked list of the released lock, is deleted from the lock list, and is deleted from the corresponding lock hash table. .
- the lock held by the transaction is deleted from the lock list corresponding to the transaction, and is also deleted from the corresponding lock hash table.
- the lock is removed by deleting the lock from the corresponding lock list and the lock hash table. Release, the operation of the cartridge is easy, and when the lock completes the locking task for a transaction, it is released immediately, so that other concurrent transactions can obtain the corresponding lock to obtain the opportunity to be executed, which helps to improve the concurrency of the control.
- granting the lock that does not need to continue waiting in the released lock to the other concurrent transaction specifically includes: detecting, for each lock in the linked list of the released lock, whether there is a waiting flag; when there is a waiting flag And when the detected lock does not have a lock type conflict with other locks at the same operation position of other concurrent transactions, the detected lock is granted to other concurrent transactions, and other concurrent transactions are resumed.
- the lock types include shared locks and exclusive locks. .
- the hash is calculated by using the file space number and the page number of the lock locked record in the waiting state as a key.
- FIG. 4 is a structural diagram of a concurrency control apparatus according to a third embodiment of the present invention. As shown in FIG. 4, the apparatus includes:
- the determining module 10 is configured to determine, according to the lock relationship table, whether the to-be-operated position of the transaction has a lock that conflicts with the lock to be granted, and the lock relationship table is configured to save the relationship between the transaction and the lock;
- the execution module 20 is configured to grant a lock to the transaction according to the judgment result, and execute the transaction;
- the release module 30 is configured to release the lock held by the transaction when the execution of the transaction ends, and grant the lock of the released lock without waiting for the other Concurrent transactions.
- the determining module 10 first determines whether the to-be-operated position of the transaction has a lock that conflicts with the lock to be granted according to the lock relationship table, and then uses the execution module 20 to grant the transaction according to the judgment result.
- the lock is executed, and the transaction is executed.
- the release module 30 releases the lock held by the transaction when the execution of the transaction ends, and grants the lock in the released lock without waiting for the other concurrent transaction, because the lock relationship table is used to save the transaction and Corresponding lock relationship, it is possible to judge whether there is conflict in different locks pointing to the same to-be-operated position, and perform differential processing according to the judgment result, instead of being like the concurrency control method in the related art, once the position to be operated is locked All the transactions corresponding to other locks are included in the waiting queue, so the concurrency of the concurrency control method in the related art is low, the system performance is poor, and the concurrency of the transaction control is improved, and the concurrency is improved. Control effect.
- the lock relationship table specifically includes: a transaction list for storing concurrently executed and uncommitted transactions; a lock hash table for tracking the queued waiting lock; a linked list for the associated transaction With a lock.
- the lock relationship table in this embodiment specifically includes a transaction list, a lock hash table, and a lock list.
- the setting of the above table enables the concurrency control method of the embodiment to effectively manage transactions and locks, including fast index positioning and traversal search. And so on, further determining whether there is a conflict in different locks pointing to the same to-be-operated position, and providing strong support for the above-mentioned concurrency control method.
- the transaction list holds transaction information of other transactions executed concurrently in the system at the time of execution of the current transaction, and is inserted according to the principle that the latecomer inserts into the queue.
- the transaction information includes the transaction ID, the transaction type, the pointer to the front and rear nodes in the transaction list, and the chain. Table header pointers, etc.
- Each time a transaction is started the transaction is inserted into the transaction list, and the transaction information for that transaction is saved to the transaction list.
- the transaction structure contains a thread structure information, which contains the event object. When the transaction is suspended due to waiting for the lock, the thread executing the transaction waits for the event object. When the transaction grants the lock and is awakened, the thread that granted the lock sets the event object. .
- each entry of the lock hash table corresponds to a header of a linked list.
- the hash value is calculated by using the file space number and the page number recorded in the lock structure as keys, and then the The corresponding lock hash table entry is located to the corresponding linked list.
- the linked list is used to associate the records recorded in the transaction list with the locks recorded in the lock hash table.
- each linked list includes multiple lock structures, and each lock structure records the database of lock locks waiting in line. Recorded file space number, page number, lock bitmap, number of bits occupied by the lock bitmap, lock type (shared lock, exclusive lock), lock flag (waiting, grant), belonging transaction, etc.
- the first heap_no bit of the bitmap is the identifier of the location record to be operated.
- Each transaction corresponds to a linked list.
- Each transaction is applied to a lock list.
- the lock list holds the lock held by the transaction.
- Each pair of records is operated, and the corresponding The lock is inserted into the corresponding linked list of the transaction.
- a lock structure can be shared by other locks of the same type on the same page. If you need to add the same type of lock to other records, you only need to find the lock in the linked list. If you find it, you will lock the corresponding heap_no of the bitmap.
- the position bit which solves the hash conflict by using a single linked list, and effectively saves memory space.
- modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device, or they may be separately fabricated into individual integrated circuit modules, or they may be Multiple modules or steps are made into a single integrated circuit module. Thus, the invention is not limited to any specific combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention porte sur un procédé de contrôle daccès simultané. Le procédé comprend les étapes suivantes consistant : à déterminer selon une liste de relations de verrouillage si la position attendant d'être exécutée pour une transaction présente ou non un conflit de verrouillage avec un verrou en attente d'attribution, la liste de relations de verrouillage étant utilisée pour mémoriser la relation de la transaction et du verrou; à attribuer un verrou à la transaction selon le résultat de la détermination et à exécuter la transaction; lorsque lexécution de la transaction est terminée, à libérer le verrou maintenu par la transaction, et à attribuer le verrou qui n'a pas besoin d'attendre en permanence la libération de verrou pour une autre transaction en accès simultané. L'invention porte également sur un appareil de contrôle daccès simultané. L'appareil comprend un module de détermination, un module dexécution et un module de libération.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910160804.7 | 2009-07-23 | ||
CN2009101608047A CN101615203B (zh) | 2009-07-23 | 2009-07-23 | 并发控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011009274A1 true WO2011009274A1 (fr) | 2011-01-27 |
Family
ID=41494843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2009/076082 WO2011009274A1 (fr) | 2009-07-23 | 2009-12-25 | Procédé et appareil de contrôle daccès simultané |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101615203B (fr) |
WO (1) | WO2011009274A1 (fr) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104715B2 (en) * | 2010-06-23 | 2015-08-11 | Microsoft Technology Licensing, Llc | Shared data collections |
CN102103642B (zh) * | 2011-03-25 | 2016-08-03 | 北京世纪互联宽带数据中心有限公司 | 基于oltp的数据删除方法、系统及图形数据库服务器 |
CN104252386B (zh) * | 2013-06-26 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 数据更新的加锁方法和设备 |
JP6397053B2 (ja) * | 2014-04-30 | 2018-09-26 | オラクル・インターナショナル・コーポレイション | トランザクションミドルウェアマシン環境に分散トランザクションのロックを提供するためのシステムおよび方法 |
US20160092488A1 (en) * | 2014-09-26 | 2016-03-31 | Futurewei Technologies, Inc. | Concurrency control in a shared storage architecture supporting on-page implicit locks |
CN104252545B (zh) * | 2014-10-11 | 2017-05-31 | 南京国电南自维美德自动化有限公司 | 一种实时内存数据库的对象类型属性类型锁的实现方法 |
CN104657237A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种检测磁盘阵列的方法 |
CN104679881B (zh) * | 2015-03-13 | 2019-03-08 | 华为技术有限公司 | 一种并发控制方法及装置 |
CN106156126B (zh) * | 2015-04-08 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
CN107291371B (zh) * | 2016-03-31 | 2019-11-19 | 华为技术有限公司 | 一种读写锁的实现方法及装置 |
CN106250487B (zh) * | 2016-07-29 | 2020-07-03 | 新华三技术有限公司 | 一种数据库并发控制方法及装置 |
CN107016041B (zh) * | 2017-01-19 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 一种控制单条数据出库的方法及装置 |
CN109388645B (zh) * | 2017-08-11 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 指令执行方法、指令执行装置及存储介质 |
CN109376165A (zh) * | 2018-11-14 | 2019-02-22 | 深圳市金证科技股份有限公司 | 内存数据库锁的实现方法和装置及计算机可读存储介质 |
CN109933606B (zh) * | 2019-03-19 | 2021-04-27 | 上海达梦数据库有限公司 | 一种数据库修改方法、装置、设备及存储介质 |
CN110750356B (zh) * | 2019-09-09 | 2022-03-29 | 华南师范大学 | 适用于非易失性内存的多核交互方法、系统及存储介质 |
CN110909012B (zh) * | 2019-12-04 | 2020-09-04 | 上海达梦数据库有限公司 | 数据库对象的封锁方法、装置、设备和存储介质 |
CN111198872B (zh) * | 2020-01-06 | 2021-06-11 | 中科驭数(北京)科技有限公司 | 数据库处理事务的方法及装置 |
CN111858626B (zh) * | 2020-06-04 | 2024-06-21 | 武汉达梦数据库股份有限公司 | 一种基于并行执行的数据同步的方法和装置 |
CN111984379B (zh) * | 2020-07-14 | 2023-04-07 | 上海金仕达软件科技股份有限公司 | 读写事务控制方法、系统、终端设备及存储介质 |
CN112199391B (zh) * | 2020-09-30 | 2024-02-23 | 深圳前海微众银行股份有限公司 | 一种数据加锁检测方法、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808389A (zh) * | 2006-02-20 | 2006-07-26 | 南京联创科技股份有限公司 | 帐务后台内存数据库中共享内存的自治锁方法 |
US20070130142A1 (en) * | 2005-12-07 | 2007-06-07 | Daum Andreas W | System and method for handling parallel updates of objects requiring time sensitive acknowlegement |
CN100353325C (zh) * | 2004-08-23 | 2007-12-05 | 华为技术有限公司 | 实现共享内存数据库的方法及内存数据库系统 |
CN101196829A (zh) * | 2007-12-27 | 2008-06-11 | 电子科技大学 | 协同编辑中数据冲突模块的加锁方法 |
-
2009
- 2009-07-23 CN CN2009101608047A patent/CN101615203B/zh active Active
- 2009-12-25 WO PCT/CN2009/076082 patent/WO2011009274A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100353325C (zh) * | 2004-08-23 | 2007-12-05 | 华为技术有限公司 | 实现共享内存数据库的方法及内存数据库系统 |
US20070130142A1 (en) * | 2005-12-07 | 2007-06-07 | Daum Andreas W | System and method for handling parallel updates of objects requiring time sensitive acknowlegement |
CN1808389A (zh) * | 2006-02-20 | 2006-07-26 | 南京联创科技股份有限公司 | 帐务后台内存数据库中共享内存的自治锁方法 |
CN101196829A (zh) * | 2007-12-27 | 2008-06-11 | 电子科技大学 | 协同编辑中数据冲突模块的加锁方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101615203A (zh) | 2009-12-30 |
CN101615203B (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011009274A1 (fr) | Procédé et appareil de contrôle daccès simultané | |
US9396227B2 (en) | Controlled lock violation for data transactions | |
US7644106B2 (en) | Avoiding lock contention by using a wait for completion mechanism | |
US11580134B1 (en) | Method and apparatus for resolving source database precommitted transactions that are replicated to a target database of a database replication system | |
US11386065B2 (en) | Database concurrency control through hash-bucket latching | |
US8396831B2 (en) | Optimistic serializable snapshot isolation | |
US8407195B2 (en) | Efficient multi-version locking for main memory databases | |
Wu et al. | Transaction healing: Scaling optimistic concurrency control on multicores | |
KR20170132873A (ko) | 분산 컴퓨팅 시스템에서 데이터베이스 트랜잭션들을 프로세싱하는 방법 | |
US20140040220A1 (en) | Methods and systems for deadlock detection | |
Bernstein et al. | Relaxed-currency serializability for middle-tier caching and replication | |
CN101556597B (zh) | 一种自适应乐观并发控制方法 | |
US20230081900A1 (en) | Methods and systems for transactional schema changes | |
CN111459920B (zh) | 基于虚拟全局时钟同步的多版本并发控制方法及系统 | |
Chen et al. | Plor: General transactions with predictable, low tail latency | |
CN114282074B (zh) | 数据库操作方法、装置、设备及存储介质 | |
US20140040219A1 (en) | Methods and systems for a deadlock resolution engine | |
WO2024098363A1 (fr) | Procédé et système de traitement de transaction simultanée basés sur un processeur multicœur | |
Qin et al. | A commit strategy for distributed real-time transaction | |
CN112612647A (zh) | 日志并行重演方法、装置、设备及存储介质 | |
Arora et al. | Dynamic timestamp allocation for reducing transaction aborts | |
CN117348977A (zh) | 一种数据库中事务并发控制的方法、装置、设备及介质 | |
Mehdi | Scalability through asynchrony in transactional storage systems | |
CN117687807A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Mohamed et al. | Survey on concurrency control techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09847509 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09847509 Country of ref document: EP Kind code of ref document: A1 |