СПОСОБ И СИСТЕМА ДЛЯ ОБРАБОТКИ ЗАПРОСА НА ТРАНЗАКЦИЮ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ОБРАБОТКИ ДАННЫХ

1. Способ обработки запроса на транзакцию,
запрос на транзакцию связан с компьютерной транзакцией, которая будет выполняться в виде «полностью успешно или полностью безуспешно»,
способ выполняется в распределенной системе обработки, обладающей множеством нод, множество нод включает в себя контрольную ноду и набор исполнительных нод, каждая из набора исполнительных нод:
связана с заранее определенным типом компьютерной транзакции;
напрямую доступна контрольной ноде;
набор исполнительных нод организован в иерархию в соответствии с заранее определенным типом компьютерной транзакции, выполняемой данной нодой из набора исполнительных нод, таким образом:
данная нода из набора исполнительных нод является дочерней нодой по отношению к другой ноде из набора исполнительных нод на основе заранее определенного типа компьютерной транзакции, выполняемой дочерней нодой, причем транзакция является вложенной компьютерной транзакцией по отношению к заранее определенному типу компьютерной транзакции, исполняемой другой нодой из набора исполнительных нод, другая нода из набора исполнительных нод является родительской нодой;
контрольная нода включает в себя:
список уникальных адресов для каждой из набора исполнительных нод; и
разметка каждой конкретной ноды из набора исполнительных нод и связанного заранее определенного типа компьютерной транзакции, выполняемой конкретной нодой из набора исполнительных нод;
контрольная нода из распределенной системы обработки доступна клиентскому устройству через сеть передачи данных;
распределенная система обработки далее включает в себя устройство хранения данных для хранения данных, с которыми производится компьютерная транзакция распределенной системой обработки;
способ включает в себя:
получение контрольной нодой от клиентского устройства запроса на транзакцию для модификации по меньшей мере части данных, расположенных на устройстве хранения данных, запрос на транзакцию включает в себя указание на заранее определенный тип компьютерной транзакции, который будет выполнен;
определение контрольной нодой, на основе заранее определенного типа компьютерной транзакции и разметки, конкретной ноды из набора исполнительных нод, которая отвечает за заранее определенный тип компьютерной транзакции;
с помощью списка уникальных адресов, передачу запроса на транзакцию для его выполнения напрямую идентифицированной конкретной ноде из набора исполнительных нод; передача запроса на транзакцию идентифицированной конкретной ноде из набора исполнительных нод инициирует идентифицированную конкретную ноду из набора исполнительных нод выполнить:
блокировку идентифицированной конкретной нодой из набора исполнительных нод получения дополнительных запросов на транзакции пока запрос на транзакцию не будет выполнен.
2. Способ по п. 1, дополнительно включающий в себя:
выполнение идентифицированной конкретной нодой из набора исполнительных нод функции эксклюзивной блокировки.
3. Способ по п. 2, в котором выполнение функции эксклюзивной блокировки включает в себя выполнение одного из:
алгоритма Деккера,
алгоритма Петерсона;
алгоритма пекарни Лэмпорта; и
алгоритма Шиманского.
4. Способ по п. 1, дополнительно включающий в себя:
организацию очереди из одного или нескольких дополнительных запросов на транзакции, полученных идентифицированной конкретной нодой из набора исполнительных нод при выполнении запроса на транзакцию.
5. Способ по п. 4, дополнительно включающий в себя последовательное выполнение следующего из одного или нескольких дополнительных запросов на транзакцию после завершения выполнения запроса на транзакцию.
6. Способ по п. 1, дополнительно включающий в себя:
передачу указания на то, что запрос на транзакцию обрабатывается идентифицированной конкретной нодой из набора исполнительных нод, ее родительской ноде,
в ответ на передачу, получение инструкции блокировки от родительской ноды.
7. Способ по п. 6, в котором инструкция блокировки включает в себя инструкцию типа эксклюзивной блокировки.
8. Способ по п. 7, в котором инструкция типа эксклюзивной блокировки основана по меньшей мере на одном из следующих:
алгоритма Деккера,
алгоритма Петерсона;
алгоритма пекарни Лэмпорта; и
алгоритма Шиманского.
9. Способ по п. 1, дополнительно включающий в себя:
передачу одного или нескольких дополнительных запросов на транзакции, полученных идентифицированной конкретной нодой из набора исполнительных нод при выполнении запроса на транзакцию, ее родительской ноде.
10. Способ по п. 9, в котором передача одного или нескольких дополнительных запросов на транзакции, полученных идентифицированной конкретной нодой из набора исполнительных нод при выполнении запроса на транзакцию, ее родительской ноде, инициирует родительскую ноду выполнять по меньшей одно из:
организацию очереди родительской нодой из одного или нескольких дополнительных запросов на транзакцию;
переназначение одного или нескольких дополнительных запросов на транзакцию другой дочерней ноде, выполненной с возможностью исполнять заранее определенный тип компьютерной транзакции.
11. Способ по п. 1, дополнительно включающий в себя:
отказ одному или нескольким дополнительным запросам на транзакции, полученным идентифицированной конкретной нодой из набора исполнительных нод при выполнении запроса на транзакцию, и возврат одного или нескольких дополнительных запросов на транзакцию контрольной ноде.
12. Способ по п. 11, в котором возвращение одного или нескольких дополнительных запросов на транзакцию контрольной ноде инициирует контрольную ноду выполнять по меньшей мере одно из:
организацию очереди родительской нодой из одного или нескольких дополнительных запросов на транзакцию;
периодическую повторную передачу контрольной нодой одного или нескольких дополнительных запросов на транзакцию идентифицированной конкретной ноде из набора исполнительных нод, пока идентифицированная конкретная нода из набора исполнительных нод выполняет один или нескольких дополнительных запросов на транзакцию;
переназначение одного или нескольких дополнительных запросов на транзакцию другой исполнительной ноде, выполненной с возможностью исполнять заранее определенный тип компьютерной транзакции.
13. Способ по п. 1, дополнительно включающий в себя:
анализ запроса на транзакцию для определения по меньшей мере части данных, которые будут изменены запросом на транзакцию;
определение в устройстве хранения данных части памяти, которая хранит по меньшей мере часть данных, которые будут модифицированы запросом на транзакцию;
бронирование исключительного права на чтение и запись в части памяти идентифицированной конкретной нодой из набора исполнительных нод.
14. Способ по п. 13, дополнительно включающий в себя, после того как идентифицированная конкретная нода из набора исполнительных нод завершит выполнение запроса на транзакцию:
освобождение исключительного права на чтение и запись в части памяти идентифицированной конкретной нодой из набора исполнительных нод.
15. Способ по п. 13, в котором бронирование эксклюзивного права на чтение и запись в части памяти идентифицированной конкретной нодой из набора исполнительных нод включает в себя выполнение функции типа эксклюзивной блокировки.
16. Способ по п.15, причем выполнение функции типа эксклюзивной блокировки включает в себя выполнение по меньшей мере одного из:
алгоритма Деккера,
алгоритма Петерсона;
алгоритма пекарни Лэмпорта; и
алгоритма Шиманского.
17. Способ по п. 1, дополнительно включающий в себя:
в ответ на то, что идентифицированная конкретная нода из набора исполнительных нод завершает выполнение запроса на транзакцию:
передачу исполнительного сообщения запроса на транзакцию контрольной ноде.
18. Способ по п. 17, в котором исполнительное сообщение запроса на транзакцию включает в себя одно из:
в ответ на то, что вся совокупность действий, связанных с запросом на транзакцию, была успешно завершена, подтверждение успешности запроса на транзакции вывод результата исполнения запроса на транзакцию; и
в ответ на то, что по меньшей мере одно действие из совокупности действий, связанных с запросом на транзакцию, не было успешно завершено, сообщение об ошибке запроса на транзакцию.
19. Способ по любому из пп. 1-18, в котором определение контрольной нодой, на основе заранее определенного типа компьютерной транзакции и разметки, конкретной ноды из набора исполнительных нод, ответственной за заранее определенный тип компьютерной транзакции, включает в себя идентификацию одной конкретной ноды из набора исполнительных нод, ответственной за заранее определенный тип компьютерной транзакции.
20. Способ по любому из пп. 1-18, в котором определение контрольной нодой, на основе заранее определенного типа компьютерной транзакции и разметки, конкретной ноды из набора исполнительных нод, ответственной за заранее определенный тип компьютерной транзакции, включает в себя идентификацию главной заранее определенной конкретной ноды из набора исполнительных нод, ответственной за заранее определенный тип компьютерной транзакции.
21. Распределенная система обработки, включающая в себя:
множество нод, множество нод включает в себя контрольную ноду и набор исполнительных нод,
каждая из набора исполнительных нод:
связана с заранее определенным типом компьютерной транзакции, компьютерная транзакция относится к типу транзакций, которые выполняются в виде «полностью успешно или полностью безуспешно»;
напрямую доступна контрольной ноде;
набор исполнительных нод организован в иерархию в соответствии с заранее определенным типом компьютерной транзакции, выполняемой данной нодой из набора исполнительных нод, таким образом:
данная нода из набора исполнительных нод является дочерней нодой по отношению к другой ноде из набора исполнительных нод на основе заранее определенного типа компьютерной транзакции, выполняемой дочерней нодой, причем транзакция является вложенной компьютерной транзакцией по отношению к заранее определенному типу компьютерной транзакции, исполняемой другой нодой из набора исполнительных нод, другая нода из набора исполнительных нод является родительской нодой;
контрольная нода включает в себя:
список уникальных адресов для каждой из набора исполнительных нод; и
разметка каждой конкретной ноды из набора исполнительных нод и связанного заранее определенного типа компьютерной транзакции, выполняемой конкретной нодой из набора исполнительных нод;
интерфейс связи, который позволяет контрольной ноде из распределенной системы обработки быть доступной клиентскому устройству через сеть передачи данных;
устройство хранения данных для хранения данных, с которыми производится компьютерная транзакция распределенной системой обработки;
контрольная нода выполнена с возможностью осуществлять:
получение от клиентского устройства запроса на транзакцию для модификации по меньшей мере части данных, расположенных на устройстве хранения данных, запрос на транзакцию включает в себя указание на заранее определенный тип компьютерной транзакции, который будет выполнен;
определение контрольной нодой, на основе заранее определенного типа компьютерной транзакции и разметки, конкретной ноды из набора исполнительных нод, которая отвечает за заранее определенный тип компьютерной транзакции;
с помощью списка уникальных адресов, передачу запроса на транзакцию для его выполнения напрямую идентифицированной конкретной ноде из набора исполнительных нод; передача запроса на транзакцию идентифицированной конкретной ноде из набора исполнительных нод инициирует идентифицированную конкретную ноду из набора исполнительных нод осуществить:
блокировку идентифицированной конкретной нодой из набора исполнительных нод получения дополнительных запросов на транзакции, пока запрос на транзакцию не будет выполнен.