ЗАЩИТА ТРАНЗАКЦИЙ ПРИ ИСПОЛЬЗОВАНИИ ОБЩЕДОСТУПНОГО СЕРВЕРА В НЕ ИМЕЮЩЕЙ СТАТУСА АРХИТЕКТУРЕ

1. Способ предотвращения двойной передачи транзакций от клиента в базу данных, содержащий:
создание таблицы отслеживания переданных транзакций, причем таблица содержит записи значений, идентифицирующих транзакцию, и значений, обозначающих ответ на передачу транзакции;
передачу новой транзакции в базу данных и получение ответа на транзакцию;
занесение значения, идентифицирующего новую транзакцию, и ответ на транзакцию в таблицу и получение ответа, если происходит удачное получение ответа при передаче новой транзакции;
передачу как новой транзакции в базу данных, так и значения, идентифицирующего новую транзакцию, и значения транзакции, в таблицу, если происходит удачное получение ответа при занесении значения, идентифицирующего новую транзакцию, и ответа на транзакцию в таблицу; и
обеспечение ответа на транзакцию для сообщения клиенту после совершения передачи.
2. Способ по п.1, отличающийся тем, что значение, идентифицирующее новую транзакцию, основано на значениях, идентифицирующих пользователя, и значениях, идентифицирующих данные в новой транзакции.
3. Способ по п.2, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
4. Способ по п.2, отличающийся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
5. Способ по п.4, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
6. Способ по п.2, отличающийся тем, что процесс передачи значения, идентифицирующего новую транзакцию, в таблицу содержит:
определение того, присутствует ли транзакция, имеющая значение, идентифицирующее пользователя, которое совпадает со значением, идентифицирующим пользователя новой транзакции;
предоставление значения, идентифицирующего данные в новой транзакции, и
ответ на транзакцию в операции обновления, если такая транзакция присутствует; и
предоставление значения, идентифицирующего пользователя, и значения, идентифицирующего данные в новой транзакции, и ответа на транзакцию для выполнения операции вставки, если такая транзакция не присутствует.
7. Способ по п.1, содержащий далее:
отмену операции транзакции в базе данных, если полученный ответ при передаче новой транзакции, состоялся неудачно;
отмену операции внесения в таблицу и операцию транзакции в базе данных, если полученный ответ при занесении значения, идентифицирующего новую транзакцию, и ответ на транзакцию неудачны; и
обеспечение ошибочного ответа для сообщения клиенту после отмены, если произошли какие-либо отмены.
8. Способ предотвращения двойной передачи транзакции от клиента к базе данных, содержащий:
создание таблицы, отслеживающей передачу транзакции, причем таблица содержит записи значения, идентифицирующего транзакцию, и значение, указывающее ответную реакцию на передачу транзакции;
получение новой транзакции от клиента;
сравнение записей в таблице значений, идентифицирующих транзакцию, и значения, идентифицирующего новую транзакцию; и
непредоставление новой транзакции для передачи в базу данных, если существует совпадение между значением, идентифицирующим новую транзакцию, и значением в таблице, идентифицирующим транзакцию.
9. Способ по п.8, также содержащий:
обеспечение ответа, связанного с транзакцией в таблице, для сообщения клиенту, если существует совпадение значения, идентифицирующего новую транзакцию, со значением в таблице, идентифицирующим транзакцию.
10. Способ по п.8, отличающийся тем, что значение, идентифицирующее транзакцию, основывается на значениях, идентифицирующих пользователя, и на значениях, идентифицирующих данные в новой транзакции.
11. Способ по п.10, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
12. Способ по п.10, отличающийся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
13. Способ по п.12, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваеемого столбца в базе данных.
14. Способ предотвращения двойной передачи транзакций от клиента в базу данных, содержащий:
создание таблицы для отслеживания переданных транзакций, причем таблица содержит записи значения, идентифицирующего транзакцию, и значения, обозначающего ответ на переданную транзакцию:
получение новой транзакции от клиента;
сравнение записей в таблице значений, идентифицирующих транзакции, и значения, идентифицирующего новую транзакцию;
непредоставление новой транзакции для передачи в базу данных и обеспечение ответа, соответствующего транзакции в таблице для сообщения клиенту, если значение, идентифицирующее новую транзакцию, совпадает со значением в таблице, идентифицирующим транзакцию;
предоставление новой транзакции для передачи в базу данных и получение ответа на транзакцию, если значение, идентифицирующее новую транзакцию, не совпадает со значением в таблице, идентифицирующим транзакцию;
занесение значения, идентифицирующего новую транзакцию, и ответ на транзакцию в таблицу и получение ответа, если получение ответа выполнено удачно при осуществлении новой транзакции;
передачу как новой транзакции в базу данных, так и значения, идентифицирующего новую транзакцию, и значение транзакции в таблицу, если получение ответа выполнено удачно при занесении в таблицу значения, идентифицирующего новую транзакцию и ответ на транзакцию; и
обеспечение ответа на транзакцию для сообщения клиенту после передачи.
15. Способ по п.14, отличающийся тем, что значение, идентифицирующее транзакцию, основывается на значениях, идентифицирующих пользователя, и на значениях, идентифицирующих данные в новой транзакции.
16. Способ по п.15, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
17. Способ по п.15, отличающийся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
18. Способ по п.17, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
19. Способ по п.15, отличающийся тем, что занесение значения, идентифицирующего новую транзакцию в таблицу, содержит:
определение того, присутствует ли транзакция, имеющая значение, идентифицирующее пользователя, которое совпадает со значением, идентифицирующим пользователя новой транзакции;
если такая транзакция присутствует, то обеспечение операции обновления значения, идентифицирующего данные в новой транзакции, и ответа на транзакцию; и
если такая транзакция отсутствует, то обеспечение операции вставки значения, идентифицирующего пользователя, и значения, идентифицирующего данные в новой транзакции, и ответа на транзакцию.
20. Способ по п.14, также содержащий:
отмену операции транзакции в базе данных, если полученный ответ при выполнении новой транзакции неудачен;
отмену операции занесения в таблицу и операцию транзакции в базе данных, если полученный ответ при занесении значения, идентифицирующего новую транзакцию, и ответ на транзакцию неудачны;
если произошла любая из отмен, то обеспечение сообщения об ошибке клиенту после отмены.
21. Система предотвращения двойной передачи транзакции от клиента в базу данных с помощью модуля коммуникационного процессора, осуществляющего связь с клиентом, содержащая:
сервер базы данных, соединенный с общедоступным сервером и содержащий модуль кода базы данных, соединенный с модулем коммутационного процессора, и базу данных, соединенную с модулем кода базы данных,
отличающаяся тем, что база данных содержит таблицу отслеживания переданных транзакций, причем таблица содержит записи значения, идентифицирующего транзакцию, и значения, указывающего ответ на передачу транзакции; и
отличающаяся тем, что модуль кода базы данных:
предоставляет новую транзакцию для передачи в базу данных и принимает ответ на транзакцию;
обеспечивает внесение значения, идентифицирующего новую транзакцию, и ответ на транзакцию в таблицу и принимает ответ, если получение ответа выполнено удачно при предоставлении новой транзакции;
передает как новую транзакцию в базу данных, так и значение, идентифицирующее новую транзакцию, и значение транзакции в таблицу; и
после передачи обеспечивает ответ на транзакцию для подачи на модуль коммутационного процессора.
22. Система по п.21, отличающаяся тем, что сервер базы данных - это общедоступный сервер.
23. Система по п.21, отличающаяся тем, что сервер базы данных - это или мейнфрейм, или NonStop сервер, или кластер «Оракул».
24. Система по п.21, также содержащая:
общедоступный сервер, обеспечивающий соединение с клиентом и прием новой транзакции от клиента, причем общедоступный сервер содержит модуль коммутационного процессора и соединяется с сервером базы данных.
25. Система по п.21, отличающаяся тем, что существует множество клиентов, и содержащая:
множество общедоступных серверов для соединения с множеством клиентов и приема новых транзакций от множества клиентов, причем каждый из множества общедоступных серверов содержит модуль коммутационного процессора для осуществления связи с, по меньшей мере, частью множества клиентов, в котором множество клиентов распределяются по множеству общедоступных серверов,
отличающаяся тем, что сервер базы данных соединен с каждым из общедоступных серверов и модуль кода базы данных соединен с каждым из модулей коммутационного процессора.
26. Система по п.21, отличающаяся тем, что значение, идентифицирующее новую транзакцию, основывается на значениях, идентифицирующих пользователя, и значениях, идентифицирующих данные в новой транзакции.
27. Система по п.26, отличающаяся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
28. Система по п.26, отличающаяся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
29. Система по п.28, отличающаяся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
30. Система по п.26, отличающаяся тем, что занесение в таблицу значения, идентифицирующего новую транзакцию, содержит:
определение того, присутствует ли транзакция, имеющая значение, идентифицирующее пользователя, которое совпадает со значением, идентифицирующим пользователя в новой транзакции;
обеспечение операции обновления значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция присутствует; и
обеспечение введения значения, идентифицирующего пользователя, и значения, идентифицирующего данные в новой транзакции, и ответа на транзакцию, если такая транзакция не присутствует.
31. Система по п.25, отличающаяся тем, что также модуль кода базы данных:
отменяет операцию транзакции в базе данных, если получение ответа при осуществлении новой транзакции выполнено неудачно;
запрашивает отмену операции внесения в таблицу и операцию транзакции в базе данных, если получение ответа при предоставлении значения, идентифицирующего новую транзакцию, и ответ на транзакцию выполнено неудачно; и
после отмены обеспечивает ошибочный ответ клиенту, если произошла какая-либо отмена.
32. Система предотвращения двойной передачи транзакций от клиента в базу данных с помощью модуля коммутационного процессора, осуществляющего связь с клиентом, содержащая:
сервер базы данных, соединенный с общедоступным сервером и содержащий модуль кода базы данных, соединенный с модулем коммуникационного процессора, и базу данных, соединенную с модулем кода базы данных,
отличающаяся тем, что база данных содержит таблицу, отлеживающую переданные транзакции, причем таблица содержит записи значения, идентифицирующего транзакцию, и значения, указывающего ответ на передачу транзакции; и
отличающаяся тем, что модуль кода базы данных:
принимает новую транзакцию от клиента;
сравнивает записи в таблице значений, идентифицирующих транзакции, и значения, идентифицирующего новую транзакцию; и
препятствует передаче новой транзакции в базу данных, если значение, идентифицирующее новую транзакцию, совпадает со значением в таблице, идентифицирующим транзакцию.
33. Система по п.32, отличающаяся тем, что модуль кода базы данных также:
обеспечивает ответ, соответствующий транзакции в таблице, для подачи на модуль коммуникационного процессора, если значение, идентифицирующее новую транзакцию, совпадает со значением в таблице, идентифицирующим транзакцию.
34. Система по п.32, отличающаяся тем, что значение, идентифицирующее транзакцию, основывается на значениях, идентифицирующих пользователя, и на значениях, идентифицирующих данные в новой транзакции.
35. Система по п.34, отличающаяся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
36. Система по п.34, отличающаяся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
37. Система по п.36, отличающаяся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
38. Система по п.32, также содержащая:
общедоступный сервер для соединения с клиентом и получения новой транзакции от клиента, причем общедоступный сервер содержит модуль коммутационного процессора и соединяется с сервером базы данных.
39. Система по п.32, отличающаяся тем, что существует множество клиентов, содержащая также:
множество общедоступных серверов для соединения с множеством клиентов и получения новых транзакций от множества клиентов, причем каждый из этого множества общедоступных серверов содержит модуль коммуникационного процессора для осуществления связи с, по меньшей мере, части этого множества клиентов, в котором множество клиентов распределены среди множества общедоступных серверов,
отличающаяся тем, что сервер базы данных соединен с каждым из множества общедоступных серверов и модуль кода базы данных соединен с каждым из модулей коммуникационного процессора.
40. Система, предотвращающая двойную передачу транзакции от клиента к базе данных с помощью модуля коммуникационного процессора, выполняющего связь с клиентом, содержащая:
сервер базы данных, соединенный с общедоступным сервером и содержащий модуль кода базы данных, соединенный с модулем коммуникационного процессора, и базу данных, соединенную с модулем кода базы данных,
отличающаяся тем, что база данных содержит таблицу отслеживания переданных транзакций, причем таблица содержит записи значения, идентифицирующего транзакцию, и значения, обозначающего ответ на полученную транзакцию; и
отличающаяся тем, что модуль кода базы данных:
принимает новую транзакцию от клиента;
сравнивает записи в таблице значения, идентифицирующие транзакции, и значение, идентифицирующее новую транзакцию;
не предоставляет новую транзакцию для передачи в базу данных и обеспечивает ответ, соответствующий транзакции в таблице, клиенту, если значение, идентифицирующее новую транзакцию, совпадает со значением в таблице, идентифицирующим транзакцию;
предоставляет новую транзакцию для передачи в базу данных и принимает ответ на транзакцию, если значение, идентифицирующие новую транзакцию, не совпадает со значением в таблице, идентифицирующим транзакцию;
обеспечивает внесение в таблицу значение, идентифицирующее новую транзакцию, и ответ на транзакцию и принимает ответ, если получение ответа при предоставлении новой транзакции выполнено удачно;
передает как новую транзакцию в базу данных, так и значение, идентифицирующее новую транзакцию, и значение транзакции в таблицу, если получение ответа при внесении значения, идентифицирующего новую транзакцию, и ответ на транзакцию в таблицу выполнены удачно; и
обеспечивает ответ на транзакцию для подачи на модуль коммуникационного процессора после передачи.
41. Система по п.40, отличающаяся тем, что значение, идентифицирующее транзакцию, основывается на значениях, идентифицирующих пользователя, и значениях, идентифицирующих данные в новой транзакции.
42. Система по п.41, отличающаяся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
43. Система по п.41, отличающаяся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
44. Система по п.43, отличающаяся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
45. Система по п.41, отличающаяся тем, что обеспечивает внесение в таблицу значения, идентифицирующего новую транзакцию, содержит:
определение того, присутствует ли транзакция, имеющая значение, идентифицирующее пользователя, которое совпадает со значением, идентифицирующим пользователя новой транзакции;
проведение операции обновления значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция присутствует; и
проведение операции ввода значения, идентифицирующего пользователя, и значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция не присутствует.
46. Система по п.40, отличающаяся тем, что модуль кода базы данных также:
запрашивает отмену операции транзакции в базе данных, если получение ответа при предоставлении новой транзакции выполнено неудачно;
запрашивает отмену операции внесения в таблицу и операцию транзакции в базе данных, если получение ответа при предоставлении значения, идентифицирующего новую транзакцию, и ответ на транзакцию выполнено неудачно; и
после отмены обеспечивает сообщение об ошибке клиенту, если произошла какая-либо отмена.
47. Система по п.40, также содержащая:
общедоступный сервер для связи с клиентом и получения новой транзакции от клиента, причем общедоступный сервер содержит модуль коммуникационного процессора и соединен с сервером базы данных.
48. Система по п.40, отличающаяся тем, что имеется большое количество клиентов, содержащая:
большое количество общедоступных серверов для связи с большим количеством клиентов и получения новых транзакций от большого количества клиентов, причем каждый из большого количества указанных серверов содержит модуль коммуникационного процессора для осуществления связи с, по меньшей мере, частью большого количества клиентов, в котором обеспечивается распределение клиентов по общедоступным серверам,
отличающаяся тем, что сервер базы данных соединен с каждым общедоступным сервером, и модуль кода базы данных соединяется с каждым модулем коммуникационного процессора.
49. Компьютерный считываемый носитель или носители данных, содержащий выполняемые компьютером команды операционной системы, сохраненные в нем, для приложений, которые обеспечивают осуществление способа предотвращения двойной передачи транзакций от клиента к базе данных, содержащего:
создание таблицы для отслеживания переданных транзакций, причем таблица содержит записи значения, идентифицирующего транзакцию, и значения, указывающего ответ на передачу транзакции;
обеспечение передачи новой транзакции в базу данных и получение ответа на транзакцию;
занесение значения, идентифицирующего новую транзакцию, и ответа на транзакцию, если получение ответа при предоставлении новой транзакции выполнено удачно;
передачу как новой транзакции и ответа на транзакцию в базу данных, так и значения, идентифицирующего новую транзакцию, и значения транзакции в таблицу, если получение ответа при занесении в таблицу значения, идентифицирующего новую транзакцию, и ответа на транзакцию выполнены удачно; и
обеспечение ответа на транзакцию для сообщения клиенту после передачи.
50. Компьютерный считываемый носитель или носители данных по п.49, отличающийся тем, что значение, идентифицирующее новую транзакцию, основывается на значениях, идентифицирующих пользователя, и значениях, идентифицирующих данные в новой транзакции.
51. Компьютерный считываемый носитель или носители данных по п.50, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
52. Компьютерный считываемый носитель или носители данных по п.50, отличающийся тем, что значение, идентифицирующее данные в новой транзакции, является хешем данных.
53. Компьютерный считываемый носитель или носители данных по п.52, отличающийся тем, что значение, идентифицирующее пользователя, является хешем идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
54. Компьютерный считываемый носитель или носители данных по п.50, отличающийся тем, что обеспечивает процесс внесения в таблицу значения, идентифицирующего новую транзакцию, содержащую:
определение того, присутствует ли транзакция, имеющая значение, идентифицирующее пользователя, которое совпадает со значением, идентифицирующим пользователя новой транзакции;
обновление значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция присутствует; и
ввод значения, идентифицирующего пользователя, и значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция не присутствует.
55. Компьютерный считываемый носитель или носители данных по п.49, отличающийся тем, что осуществляет способ, также содержащий:
отмену операции транзакции в базе данных, если полученный ответ при предоставлении новой транзакции является неудовлетворительным;
отмену операции внесения в таблицу и операцию транзакции в базе данных, если полученный ответ при предоставлении значения, идентифицирующего новую транзакцию, и ответ на транзакцию является неудовлетворительным; и
после отмены обеспечение сообщения об ошибке клиенту, если произошла какая-либо отмена.
56. Компьютерный считываемый носитель или носители данных, содержащий выполняемые компьютером команды, сохранение в нем, для приложений, которые обеспечивают осуществление способа предотвращения двойной передачи транзакций от клиента к базе данных, содержащего:
создание таблицы, отслеживающей переданные транзакции, причем таблица содержит записи значения, идентифицирующего транзакцию, и значение, указывающее ответную реакцию на передачу транзакции;
получение новой транзакции от клиента;
сравнение записей в таблице значений, идентифицирующих транзакцию, и значения, идентифицирующего новую транзакцию; и
непредоставление новой транзакции для передачи в базу данных, если существует совпадение между значением, идентифицирующим новую транзакцию, и значением в таблице, идентифицирующим транзакцию.
57. Компьютерный считываемый носитель или носители данных по п.56, осуществляющий способ, также содержащий:
предоставление ответа, связанного с транзакцией в таблице, для сообщения клиенту, если существует совпадение значения, идентифицирующего новую транзакцию, со значением в таблице, идентифицирующим транзакцию.
58. Компьютерный считываемый носитель или носители данных по п.56, отличающийся тем, что значение, идентифицирующее транзакцию, основывается на значениях, идентифицирующих пользователя, и значениях, идентифицирующего данные в новой транзакции.
59. Компьютерный считываемый носитель или носители данных по п.58, отличающийся тем, что значение, идентифицирующее пользователя, хеш идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
60. Компьютерный считываемый носитель или носители данных по п.58, отличающийся тем, что значение, идентифицирующее данные в новой транзакции, хеш данных.
61. Компьютерный считываемый носитель или носители данных по п.60, отличающийся тем, что значение, идентифицирующее пользователя, хеш идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
62. Компьютерный считываемый носитель или носители данных, содержащий выполняемые компьютером команды операционной системы, сохраненные в нем, для приложений, которые обеспечивают осуществление способа предотвращения двойной передачи транзакций от клиента к базе данных, содержащего:
обеспечение таблицы для отслеживания переданных транзакций, причем таблица содержит записи значения, идентифицирующее транзакцию, и значение, обозначающее ответ на переданную транзакцию:
получение новой транзакции от клиента;
сравнение записей в таблице значений, идентифицирующих транзакции, и значения, идентифицирующего новую транзакцию;
непредоставление новой транзакции для передачи в базу данных и обеспечение ответа, связанного (соответствующего) транзакции в таблице для доставки клиенту, если значение, идентифицирующее новую транзакцию, совпадает со значением в таблице, идентифицирующим транзакцию;
предоставление новой транзакции для передачи в базу данных и получение ответа на транзакцию, если значение, идентифицирующее новую транзакцию, не совпадает со значением в таблице, идентифицирующим транзакцию;
занесение значения, идентифицирующего новую транзакцию, и ответ на транзакцию в таблицу и получение ответа, если получен успешный ответ при осуществлении новой транзакции;
передачу как новой транзакции в базу данных, так и значения, идентифицирующего новую транзакцию, и значение транзакции в таблицу, если получен успешный ответ при занесении в таблицу значения, идентифицирующего новую транзакцию и ответ на транзакцию; и
обеспечение ответа на транзакцию для сообщения клиенту после передачи.
63. Компьютерный считываемый носитель или носители данных по п.62, отличающийся тем, что значение, идентифицирующее транзакцию, основывается на значениях, идентифицирующих пользователя, и значениях, идентифицирующих данные в новой транзакции.
64. Компьютерный считываемый носитель или носители данных по п.63, отличающийся тем, что значение, идентифицирующее пользователя, хеш идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
65. Компьютерный считываемый носитель или носители данных по п.63, отличающийся тем, что значение, идентифицирующее данные в новой транзакции, хеш данных.
66. Компьютерный считываемый носитель или носители данных по п.65, отличающийся тем, что значение, идентифицирующее пользователя, хеш идентификации пользователя, запрашиваемой таблицы в базе данных и запрашиваемого столбца в базе данных.
67. Компьютерный считываемый носитель или носители данных по п.63, отличающийся тем, что процесс внесения в таблицу значения, идентифицирующего новую транзакцию, содержит:
определение того, присутствует ли транзакция, имеющая значение, идентифицирующее пользователя, которое совпадает со значением, идентифицирующим пользователя новой транзакции;
обновление значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция присутствует; и
введение значения, идентифицирующего пользователя, и значения, идентифицирующего данные в новой транзакции, и ответ на транзакцию, если такая транзакция не присутствует.
68. Компьютерный считываемый носитель или носители данных по п.62, осуществляющий способ, содержащий также:
отмену операции транзакции в базе данных, если получение ответа при предоставлении новой транзакции выполняется неудачно;
отмену операции внесения в таблицу и операцию транзакции в базе данных, если получение ответа при предоставлении значения, идентифицирующего новую транзакцию, и ответа на транзакцию выполняется неудачно; и
после отмены обеспечение сообщения об ошибке клиенту, если произошла какая-либо отмена.