WO2011009274A1 - Procédé et appareil de contrôle d’accès simultané - Google Patents

Procédé et appareil de contrôle d’accès simultané Download PDF

Info

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
Application number
PCT/CN2009/076082
Other languages
English (en)
Chinese (zh)
Inventor
印和平
常二鹏
卢勤元
丁奇鹏
陈河堆
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2011009274A1 publication Critical patent/WO2011009274A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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

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 d’accè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 l’exé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 d’accès simultané. L'appareil comprend un module de détermination, un module d’exécution et un module de libération.
PCT/CN2009/076082 2009-07-23 2009-12-25 Procédé et appareil de contrôle d’accès simultané WO2011009274A1 (fr)

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 d’accès simultané

Country Status (2)

Country Link
CN (1) CN101615203B (fr)
WO (1) WO2011009274A1 (fr)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 电子科技大学 协同编辑中数据冲突模块的加锁方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 d’accè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