RU2008137135A - Управление параллельным выполнением в системе планирования ресурсов предприятия - Google Patents

Управление параллельным выполнением в системе планирования ресурсов предприятия Download PDF

Info

Publication number
RU2008137135A
RU2008137135A RU2008137135/09A RU2008137135A RU2008137135A RU 2008137135 A RU2008137135 A RU 2008137135A RU 2008137135/09 A RU2008137135/09 A RU 2008137135/09A RU 2008137135 A RU2008137135 A RU 2008137135A RU 2008137135 A RU2008137135 A RU 2008137135A
Authority
RU
Russia
Prior art keywords
data
version
identification
transaction
row
Prior art date
Application number
RU2008137135/09A
Other languages
English (en)
Other versions
RU2417427C2 (ru
Inventor
Джеффри Д. РИЧИ (US)
Джеффри Д. РИЧИ
Срикант Р. АВАДХАНАМ (US)
Срикант Р. АВАДХАНАМ
Чжунхуа ЧУ (US)
Чжунхуа ЧУ
Original Assignee
Майкрософт Корпорейшн (Us)
Майкрософт Корпорейшн
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 Майкрософт Корпорейшн (Us), Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн (Us)
Publication of RU2008137135A publication Critical patent/RU2008137135A/ru
Application granted granted Critical
Publication of RU2417427C2 publication Critical patent/RU2417427C2/ru

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
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/005Generating random numbers; Lottery apparatus with dispensing of lottery tickets

Abstract

1. Способ управления параллельным выполнением в системе планирования ресурсов предприятия, содержащей базу данных, выполненную с возможностью содержания данных в таблице, имеющей множество строк, способ, содержащий этапы, на которых: ! принимают запрос записи из запрашивающего приложения для обновления данных в пределах строки первой таблицы во время первой транзакции с данными, в которой строка содержит первую идентификацию версии, уникально идентифицирующую версию обновляемых данных (302); ! сравнивают первую идентификацию версии обновляемых данных со второй идентификацией версии, уникально идентифицирующей версию данных в пределах строки, когда данные выбирают в ответ на предыдущий запрос чтения во время первой транзакции с данными (408); и ! выполняют отброс исключения, если первая идентификация версии не соответствует второй идентификации версии (412). ! 2. Способ по п.1, дополнительно содержащий этапы, на которых: ! блокируют данные из запроса записи второй транзакции с данными для предотвращения обновления второй транзакции с данными в пределах строки, если первая идентификация версии соответствует второй идентификации версии (416); ! обновляют данные в пределах строки (416); ! фиксируют первую транзакцию с данными (418); ! убирают блокирование данных (420); и ! генерируют третью идентификацию версии, которая уникально идентифицирует версию обновленных данных. ! 3. Способ по п.2, дополнительно содержащий этап, на котором: разрешают чтение данных в пределах строки первой таблицы в ответ на запрос чтения из запрашивающего приложения во время второй транзакции с данными, в то время как данные заблокированы для запроса за�

Claims (20)

1. Способ управления параллельным выполнением в системе планирования ресурсов предприятия, содержащей базу данных, выполненную с возможностью содержания данных в таблице, имеющей множество строк, способ, содержащий этапы, на которых:
принимают запрос записи из запрашивающего приложения для обновления данных в пределах строки первой таблицы во время первой транзакции с данными, в которой строка содержит первую идентификацию версии, уникально идентифицирующую версию обновляемых данных (302);
сравнивают первую идентификацию версии обновляемых данных со второй идентификацией версии, уникально идентифицирующей версию данных в пределах строки, когда данные выбирают в ответ на предыдущий запрос чтения во время первой транзакции с данными (408); и
выполняют отброс исключения, если первая идентификация версии не соответствует второй идентификации версии (412).
2. Способ по п.1, дополнительно содержащий этапы, на которых:
блокируют данные из запроса записи второй транзакции с данными для предотвращения обновления второй транзакции с данными в пределах строки, если первая идентификация версии соответствует второй идентификации версии (416);
обновляют данные в пределах строки (416);
фиксируют первую транзакцию с данными (418);
убирают блокирование данных (420); и
генерируют третью идентификацию версии, которая уникально идентифицирует версию обновленных данных.
3. Способ по п.2, дополнительно содержащий этап, на котором: разрешают чтение данных в пределах строки первой таблицы в ответ на запрос чтения из запрашивающего приложения во время второй транзакции с данными, в то время как данные заблокированы для запроса записи.
4. Способ по п.1, дополнительно содержащий этапы, на которых:
производят выборку данных в ответ на запрос чтения из запрашивающего приложения для данных в течение первой транзакции с данными;
сохраняют идентификацию первой версии, которая уникально идентифицирует выбранные данные;
разрешают вторую транзакцию с данными для обновления данных; и
генерируют идентификацию второй версии, которая уникально идентифицирует обновленные данные второй транзакции с данными, причем обновленные данные второй транзакции с данными содержат данные, обновленные во время первой транзакции с данными.
5. Способ по п.1, в котором отбрасывание исключения содержит этап, на котором: отбрасывают исключение в код приложения запрашивающего приложения (412).
6. Способ по п.1, в котором запрос на запись генерируют из оператора обновления запрашивающего приложения, заключенного в пределах первого блока попытки, и в котором обработка исключения в пределах первой транзакции с данными содержит этапы, на которых:
захватывают исключение в пределах блока захвата блока попытки (602);
повторно считывают идентификацию второй версии из строки (612); и
повторно пытаются сравнить идентификацию первой версии с идентификацией второй версии (612).
7. Способ по п.6, в котором первый блок попытки вложен во второй блок попытки, причем способ дополнительно содержит обработку исключения в пределах первой транзакции с данными, содержащую этапы, на которых:
перемещают исполнение обработки обратно во второй блок попытки, если повторная попытка сравнения идентификации первой версии с идентификацией второй версии в пределах блока захвата первого блока попытки приводит к отбросу исключения (614); и
пытаются обработать исключение в пределах второго блока попытки (612).
8. Способ по п.6, в котором обработка первой транзакции с данными содержит этап, на котором: прекращают первую транзакцию с данными, если повторная попытка сравнения идентификации первой версии с идентификацией второй версии в пределах блока захвата первого блока попытки приводит к отбросу исключения, и если первый блок попытки не вложен во второй блок попытки (604), (606).
9. Способ по п.1, в котором первая транзакция с данными вложена во вторую транзакцию с данными, в которой обработка исключения в первой транзакции с данными содержит: перемещают исполнение обработки обратно во вторую транзакцию с данными (608), (610).
10. Способ по п.1, в котором идентификация первой версии содержит одно из следующего: случайное число, основанное на обновленных данных, или случайное число, основанное на первом случайном исходном числе, и в котором номер идентификации второй версии содержит одно из следующего: случайное число, основанное на данных, когда данные выбирают в ответ на предыдущий запрос чтения в течение первой транзакции с данными, или случайное число основано на втором случайном исходном числе.
11. Способ по п.1, в котором данные в пределах строки второй таблицы зависят от обновляемых данных, причем способ дополнительно содержит этапы, на которых:
блокируют данные в пределах строки первой таблицы из запроса записи второй транзакции с данными для предотвращения обновления данных в строке первой таблицы со стороны второй транзакции с данными, если данные, находящиеся в строке второй таблицы данных, рассчитывают из данных в пределах строки первой таблицы (806);
блокируют данные в пределах строки второй таблицы из запроса на запись второй транзакции с данными для предотвращения обновления данных в строке второй таблицы со стороны второй транзакции с данными (806);
производят выборку данных в пределах строки первой таблицы (808);
обновляют данные в пределах строки первой таблицы (808);
определяют данные в пределах строки второй таблицы на основе, по меньшей мере, части обновленных данных в пределах строки первой таблицы (810);
обновляют данные в пределах строки второй таблицы (812);
фиксируют первую транзакцию с данными (814); и
высвобождают блокировки для данных в пределах строк первой и второй таблиц (814).
12. Способ по п.1, дополнительно содержащий этапы, на которых:
обновляют данные без сравнения идентификации первой и второй версии, если запрос записи содержит обновление для предоставления нового значения для данных в пределах строки первой таблицы, соответственно зависящей от существующего значения данных в пределах строки первой таблицы (710);
генерируют идентификацию третьей версии (704);
определяют разность между идентификацией второй версии и идентификацией третьей версии (706); и
вырабатывают обновление для установки идентификации версии, которая уникально идентифицирует версию обновленных данных как значение идентификации второй версии плюс разность (708).
13. Машиночитаемый носитель, имеющий машиноисполняемые инструкции, для реализации способа управления параллельным выполнением между множеством транзакций с данными для данных в пределах первой строки первой таблицы, причем машиноисполняемые инструкции содержат инструкции для:
сравнения первой версии значения идентификации и второй версии значения идентификации, в котором значение идентификации первой версии уникально идентифицирует версию данных из первой строки во время запроса на считывание первой транзакции с данными, и в котором вторая идентификация версии уникально идентифицирует версию данных из первой строки во время запроса записи первой транзакции с данными (410);
отбрасывания исключения, если первая идентификация версии не соответствует второй идентификации версии (412); и
обработки исключения в пределах первой транзакции с данными, если первая таблица разрешена для оптимистичного управления параллельным выполнением (414).
14. Машиночитаемый носитель, имеющий машиноисполняемые инструкции по п.13, в котором запрос записи генерируют из оператора обновления запрашивающего приложения, и в котором оператор обновления содержит перезапись оптимистичного управления параллельным выполнением, если первая таблица будет установлена для оптимистичного управления параллельным выполнением, причем машиноисполняемые инструкции дополнительно содержат инструкции для блокирования первой строки первой таблицы от каких-либо запросов чтения операции записи или запросов записи из запрашивающего приложения во время второй транзакции с данными, в которой блокировку удерживают в течение длительности первой транзакции с данными (312).
15. Машиночитаемый носитель, содержащий машиноисполняемые инструкции по п.13, в котором запрос записи генерируют из оператора обновления запрашивающего приложения, и в котором оператор обновления содержит подсказку на обновление для обеспечения возможности пессимистичного блокирования, причем выполняемые компьютером инструкции дополнительно содержат инструкции, которые запрещают подсказку на обновление для обеспечения возможности пессимистичного блокирования, если разрешено оптимистичное управление параллельным выполнением для первой таблицы (310).
16. Машиночитаемый носитель, имеющий машиноисполняемые инструкции по п.13, дополнительно содержащий этап, на котором: выполняют пессимистичное блокирование элемента данных в течение длительности транзакции с данными, если оптимистичное управление параллельным выполнением не разрешено для первой таблицы (312), в котором пессимистичное блокирование содержит этапы, на которых:
блокируют первую строку для каких-либо запросов чтения и запросов записи из запрашивающего приложения во время второй транзакции с данными (312); и
обновляют первую строку без сравнения идентификации первой версии с идентификацией второй версии (316).
17. Машиночитаемый носитель, имеющий машиноисполняемые инструкции по п.13, в котором запрос записи генерируют из оператора на обновление запрашивающего приложения, заключенного в первый блок попытки, и в котором обработка исключения в пределах первой транзакции с данными содержит этапы, на которых:
захватывают исключение в пределах блока захвата блока попытки (602);
повторно считывают идентификацию второй версии из строки (612); и
выполняют повторную попытку сравнения идентификации первой версии с идентификацией второй версии (612).
18. Компьютер, выполненный с возможностью участия в сети планирования ресурсов предприятия, содержащий:
сетевое устройство (170), (172) связи, предназначенное для приема данных через сеть;
память (130), (140), (150), в которой содержатся машиночитаемые инструкции; и
процессор (120), предназначенный для исполнения машиночитаемых инструкций, выполняющих способ, содержащий этапы, на которых:
принимают запрос чтения из запрашивающего приложения для чтения первой строки первой таблицы, содержащейся в базе данных, в течение первой транзакции с данными (302);
сохраняют первую идентификацию версии, которая уникально идентифицирует версию данных, считанных из первой строки (302);
принимают запрос записи из запрашивающего приложения для обновления первой строки во время первой транзакции с данными (302);
сравнивают идентификацию первой версии с идентификацией второй версии, которая уникально идентифицирует версию данных из первой строки, когда принимают первый запрос записи (410);
отбрасывают исключения в запрашивающее приложение, если идентификация первой версии не соответствует идентификации второй версии (412); и
обрабатывают исключения в пределах первой транзакции с данными (414).
19. Компьютер по п.18, в котором инструкции для обработки исключения в пределах первой транзакции с данными содержат инструкции для:
повторного считывания идентификации второй версии из строки (612); и
выполнения повторной попытки сравнения идентификации первой версии с идентификацией второй версии (612).
20. Компьютер по п.18, в котором запрос записи генерируют из оператора обновления запрашивающего приложения, включенного в пределы первого блока попытки, и в котором инструкции на обработку исключения в пределах первой транзакции с данными содержат инструкции для:
перемещения исключения обработки назад ко второму блоку попытки и обработки исключения в пределах второго блока попытки, если первый блок попытки заключен во второй блок попытки, и если обработка исключения в пределах первого блока попытки приводит к отбрасыванию исключения (608), (610), (612), (614); и
прекращают первую транзакцию с данными, если первый блок попытки не заключен во второй блок попытки, и если обработка исключения в пределах первого блока попытки приводит к отбрасыванию исключения (604), (606).
RU2008137135/08A 2006-03-17 2007-01-16 Управление параллельным выполнением в системе планирования ресурсов предприятия RU2417427C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/378,890 US7933881B2 (en) 2006-03-17 2006-03-17 Concurrency control within an enterprise resource planning system
US11/378,890 2006-03-17

Publications (2)

Publication Number Publication Date
RU2008137135A true RU2008137135A (ru) 2010-03-27
RU2417427C2 RU2417427C2 (ru) 2011-04-27

Family

ID=38519162

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008137135/08A RU2417427C2 (ru) 2006-03-17 2007-01-16 Управление параллельным выполнением в системе планирования ресурсов предприятия

Country Status (7)

Country Link
US (1) US7933881B2 (ru)
EP (1) EP2011045A1 (ru)
KR (1) KR20080106431A (ru)
CN (1) CN101405735B (ru)
BR (1) BRPI0708732A2 (ru)
RU (1) RU2417427C2 (ru)
WO (1) WO2007108859A1 (ru)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818740B2 (en) * 2006-05-05 2010-10-19 Microsoft Corporation Techniques to perform gradual upgrades
US7571165B2 (en) * 2006-09-28 2009-08-04 Sap Ag Method and system for providing locking behavior
US8041692B2 (en) * 2007-04-09 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for processing concurrent file system write requests
US8091094B2 (en) 2007-10-10 2012-01-03 Sap Ag Methods and systems for ambistateful backend control
US7895172B2 (en) * 2008-02-19 2011-02-22 Yahoo! Inc. System and method for writing data dependent upon multiple reads in a distributed database
US8914341B2 (en) * 2008-07-03 2014-12-16 Tripwire, Inc. Method and apparatus for continuous compliance assessment
US8073778B2 (en) * 2008-09-11 2011-12-06 Linden Research, Inc. Scalable distributed transaction manager for multi-host transactions
US8332443B2 (en) * 2008-12-19 2012-12-11 Microsoft Corporation Masterless distributed batch scheduling engine
US8719845B2 (en) 2010-05-19 2014-05-06 Microsoft Corporation Sharing and synchronization of objects
US8768902B2 (en) 2010-06-11 2014-07-01 Microsoft Corporation Unified concurrent changes to data, schema, and application
US8386421B2 (en) 2010-06-28 2013-02-26 Microsoft Corporation Concurrency control for confluent trees
US8412689B2 (en) * 2010-07-07 2013-04-02 Microsoft Corporation Shared log-structured multi-version transactional datastore with metadata to enable melding trees
CN102456017A (zh) * 2010-10-18 2012-05-16 北京市金蝶政务软件有限公司 存储数据的方法和装置
US9848106B2 (en) 2010-12-21 2017-12-19 Microsoft Technology Licensing, Llc Intelligent gameplay photo capture
US9003519B2 (en) * 2011-05-16 2015-04-07 At&T Intellectual Property I, L.P. Verifying transactions using out-of-band devices
CN102436633A (zh) * 2011-11-30 2012-05-02 华为技术有限公司 数据管理方法及系统、数据库系统
US9110940B2 (en) 2012-02-29 2015-08-18 Red Hat, Inc. Supporting transactions in distributed environments using a local copy of remote transaction data and optimistic locking
US8832050B2 (en) * 2012-03-09 2014-09-09 Hewlett-Packard Development Company, L.P. Validation of distributed balanced trees
US9774676B2 (en) 2012-05-21 2017-09-26 Google Inc. Storing and moving data in a distributed storage system
WO2013184712A2 (en) * 2012-06-04 2013-12-12 Google Inc. Systems and methods of increasing database access concurrency using granular timestamps
US9659038B2 (en) 2012-06-04 2017-05-23 Google Inc. Efficient snapshot read of a database in a distributed storage system
US9449006B2 (en) 2012-06-04 2016-09-20 Google Inc. Method and system for deleting obsolete files from a file system
US9230000B1 (en) 2012-06-04 2016-01-05 Google Inc. Pipelining Paxos state machines
US20140067480A1 (en) * 2012-09-05 2014-03-06 Rocket Software, Inc. Systems and methods for enterprise-level context management
CN104239357B (zh) * 2013-06-21 2019-01-18 Sap欧洲公司 用于数据库事务的并发请求处理
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
US9489409B2 (en) 2013-10-17 2016-11-08 Sybase, Inc. Rollover strategies in a N-bit dictionary compressed column store
US10282228B2 (en) * 2014-06-26 2019-05-07 Amazon Technologies, Inc. Log-based transaction constraint management
CN104573833A (zh) * 2014-12-31 2015-04-29 普天新能源有限责任公司 一种充电预约方法
US9679003B2 (en) * 2015-01-07 2017-06-13 International Business Machines Corporation Rendezvous-based optimistic concurrency control
US10489374B2 (en) 2015-06-01 2019-11-26 International Business Machines Corporation In-place updates with concurrent reads in a decomposed state
US9514046B1 (en) 2015-06-10 2016-12-06 International Business Machines Corporation Dynamic detection and software correction of incorrect lock and atomic update hint bits
US9921953B2 (en) 2015-09-09 2018-03-20 International Business Machines Corporation Dynamic detection and correction of incorrect lock and atomic update hint bits
JP2017078981A (ja) * 2015-10-21 2017-04-27 富士通株式会社 排他切り替えプログラム及び排他切り替え方法
WO2017131784A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Hybrid concurrency control
CN106921646B (zh) * 2016-07-26 2020-11-20 创新先进技术有限公司 业务处理方法及装置
CN106919640A (zh) * 2016-11-16 2017-07-04 阿里巴巴集团控股有限公司 一种业务处理方法和装置
CN106776052B (zh) * 2016-12-07 2019-12-10 金蝶软件(中国)有限公司 共享资源访问方法和装置
US10810188B2 (en) * 2017-11-29 2020-10-20 Teradata Us, Inc. Load committed isolation processing
US11423003B2 (en) * 2017-12-11 2022-08-23 Micro Focus Llc Optimistic concurrency control for database transactions
CN108769260B (zh) * 2018-06-29 2020-10-16 苏州浪潮智能科技有限公司 一种集群升级过程中事件处理方法及其装置
US11023445B2 (en) * 2018-07-24 2021-06-01 Sap Se Optimistic concurrency for collaborative applications
US11640383B2 (en) * 2018-11-15 2023-05-02 Huawei Technologies Co., Ltd. Systems and methods for managing a shared database
FR3090929B1 (fr) * 2018-12-20 2021-07-02 Amadeus Sas Actualisation de multiples enregistrements de données
US11347713B2 (en) * 2019-09-27 2022-05-31 Salesforce.Com, Inc. Version-based table locking
CN110765143B (zh) * 2019-10-10 2022-08-02 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器和存储介质
CN115098228B (zh) * 2021-05-19 2023-04-14 腾讯科技(深圳)有限公司 事务处理方法、装置、计算机设备及存储介质
US11880388B2 (en) * 2022-06-13 2024-01-23 Snowflake Inc. Hybrid table secondary index for lookups, unique checks, and referential integrity constraints

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263156A (en) * 1990-12-20 1993-11-16 Bell Communications Research, Inc. Parallel, distributed optimistic concurrency control certification using hardware filtering
US5857197A (en) * 1997-03-20 1999-01-05 Thought Inc. System and method for accessing data stores as objects
US5920857A (en) * 1997-08-04 1999-07-06 Naphtali Rishe Efficient optimistic concurrency control and lazy queries for B-trees and other database structures
US6125371A (en) * 1997-08-19 2000-09-26 Lucent Technologies, Inc. System and method for aging versions of data in a main memory database
US6249803B1 (en) * 1997-12-18 2001-06-19 Sun Microsystems, Inc. Method and apparatus for executing code during method invocation
US6240413B1 (en) * 1997-12-22 2001-05-29 Sun Microsystems, Inc. Fine-grained consistency mechanism for optimistic concurrency control using lock groups
US6195685B1 (en) * 1998-05-22 2001-02-27 International Business Machines Corporation Flexible event sharing, batching, and state consistency mechanisms for interactive applications
US6338086B1 (en) * 1998-06-11 2002-01-08 Placeware, Inc. Collaborative object architecture
US6363387B1 (en) * 1998-10-20 2002-03-26 Sybase, Inc. Database system providing methodology for enhancing concurrency using row update bit and deferred locking
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6598041B1 (en) * 2000-09-07 2003-07-22 International Business Machines Corporation Method, system, and program for processing modifications to data in tables in a database system
US6681226B2 (en) * 2001-01-30 2004-01-20 Gemstone Systems, Inc. Selective pessimistic locking for a concurrently updateable database
US6928582B2 (en) * 2002-01-04 2005-08-09 Intel Corporation Method for fast exception handling
US7139690B2 (en) * 2002-07-22 2006-11-21 Microsoft Corporation Object-level conflict detection in an object-relational database system
US7827135B2 (en) * 2002-12-31 2010-11-02 International Business Machines Corporation Method and apparatus for relaxed transactional isolation in a client-server caching architecture
US7290015B1 (en) * 2003-10-02 2007-10-30 Progress Software Corporation High availability via data services
US7599908B2 (en) * 2005-11-18 2009-10-06 Sap Ag Logical locking for Java Data Objects

Also Published As

Publication number Publication date
WO2007108859A1 (en) 2007-09-27
KR20080106431A (ko) 2008-12-05
CN101405735A (zh) 2009-04-08
RU2417427C2 (ru) 2011-04-27
US20070219999A1 (en) 2007-09-20
EP2011045A1 (en) 2009-01-07
US7933881B2 (en) 2011-04-26
BRPI0708732A2 (pt) 2011-06-14
CN101405735B (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
RU2008137135A (ru) Управление параллельным выполнением в системе планирования ресурсов предприятия
JP6724039B2 (ja) 分散型コンピューティングシステムにおけるデータベーストランザクションの処理
Tu et al. Speedy transactions in multicore in-memory databases
Kim et al. Ermia: Fast memory-optimized database system for heterogeneous workloads
US7873612B2 (en) Atomically moving list elements between lists using read-copy update
JP7038710B2 (ja) データ管理方法及びシステム
EP0455440B1 (en) Method of operating a data processing system to perform database transactions
US6879981B2 (en) Sharing live data with a non cooperative DBMS
US20110302143A1 (en) Multi-version concurrency with ordered timestamps
US8407195B2 (en) Efficient multi-version locking for main memory databases
US20170308565A1 (en) Locking concurrent commands in a database management system
US20070050429A1 (en) Time-range locking for temporal database and branched-and-temporal databases
US20100242043A1 (en) Computer-Implemented Systems For Resource Level Locking Without Resource Level Locks
JPH0679285B2 (ja) トランザクション処理方法およびシステム
US20070118523A1 (en) Logical locking for Java Data Objects
CN109033359A (zh) 一种多进程安全访问sqlite的方法
US20050203904A1 (en) System and method for measuring latch contention
US7752399B2 (en) Exclusion control method and information processing apparatus
US20120323873A1 (en) Managing Concurrent Access to Data in Database Sytem
US7558794B2 (en) Database system and method with assigned locks
US7617180B1 (en) Efficient lock management
Zhang et al. Brief announcement: on enhancing concurrency in distributed transactional memory
Kostrzewa et al. Performance aspect of the in-memory databases accessed via JDBC
CN112035509A (zh) 医疗缓存数据的查询方法、装置、设备及存储介质
Zhou et al. Decentralizing MVCC by Leveraging Visibility

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130117