Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Обработка транзакций

  компенсировать
недоступность имеющихся в SQL свойств псевдовложенности, применяя  различные
ухищрения для построения архитектур  транзакций,  более  соответствующих  их
потребностям, чем простейшие плоские транзакции. Когда на  рынке  утвердится
стандарт SQL3, и начнут появляться совместимые с ним продукты,  разработчики
приложений  на  основе  SQL   СУБД   смогут   непосредственно   пользоваться
преимуществами новых моделей транзакций.

                               3. Encina и DCE

       Монитор  обработки  транзакций  Encina  корпорации  Transarc   можно
рассматривать как  коммерческий  продукт  второго  поколения,  однако  более
развитый, отражающий новейшие достижения в  этой  области.  Encina  включает
модель вложенных транзакций и расширяет возможности среды  DCE  (Distributed
Computing  Environment),  предложенной  организацией  OSF   (Open   Software
Foundation).
       Прообразом Encina был прототип системы обработки транзакций Camelot,
разработанный  в  университете  Карнеги-Меллон  в  Питтсбурге.   Технология,
лежащая  в   основе   Camelot,   и   применяемый   в   этой   системе   язык
программирования Avalon описаны в работе Camelot and Avalon:  A  Distributed
Transaction  Processing  Facility.  Camelot  считается  "первой  реализацией
вложенных  транзакций  в  системе  обработки  транзакций"  (в   отличие   от
псевдовложенности,  которую  мы  обсуждали  в  предыдущем  разделе,  или  от
внутрисистемной вложенности, недоступной для разработчиков приложений).
       Архитектура, которая  отражена  на  рис.  6,  соответствует  степени
распределенности,  характерной  для  разрабатываемых  или  проектируемых   в
настоящее время информационных  систем.  Использование  серверов  приложений
здесь  соответствует  философии  выделения  процедур  обработки  данных,   в
отличие от философии выделения  самих  данных.  Хотя  пользователи,  имеющие
достаточные  полномочия,  могут  непосредственно   осуществлять   доступ   к
удаленным данным, но в данном случае цель состоит  в  том,  чтобы  полностью
передать управление данными серверам приложений.
                                    [pic]
  Рисунок 6. Открытая прикладная среда распределенной обработки транзакций.
       На рис. 7 изображен типичный многоуровневый подход к  распределенной
обработке транзакций,  применяемый,  в  частности,  в  DCE.  Монитор  Encina
использует предоставляемые DCE абстрактные  уровни  управления  ресурсами  и
коммуникационных  менеджеров  и  сам  обеспечивает  прямое   подключение   к
ресурсам и коммуникационным менеджерам, не подчиненным  DCE.  Модульность  и
многоуровневость - черты, характерные  для  современных  открытых  систем  и
корпоративных вычислительных архитектур, - находят отражение и  в  обработке
транзакций.  Можно  с  уверенностью  предположить,  что  концепции  открытых
систем в дальнейшем будут еще более активно применяться  в  сфере  обработки
транзакций.
                                    [pic]
    Рисунок 7. Многоуровневая архитектура обработки транзакций в Encina.
       Одна из задач, решаемых монитором Encina, -  это  поддержка  свойств
ACID в среде баз данных клиент-сервер при условии,  что  клиенты  и  серверы
независимо хранят записи о состоянии транзакций.
       В Encina код, обеспечивающий соблюдение  свойств  ACID,  заключен  в
менеджерах ресурсов (см. рис. 7); приложения  и  другие  программы  верхнего
уровня  выдают  запросы  на  фиксацию  или  прерывание  транзакций,  которые
менеджеры транзакций реализуют на соответствующих ресурсах нижнего уровня.
       Encina  включает  язык  разработки   приложений   Transactional   C,
содержащий  набор  макросов  и  библиотек  для  определения   транзакций   и
управления  ими.  Ключевое  слово   TRANSACTION   служит   для   определения
транзакций верхнего уровня или вложенных.  Функции,  задаваемые  при  помощи
ключевых слов  ONABORT  и  ONCOMMIT,  описывают  действия,  выполняемые  при
откате или, соответственно, фиксации  транзакции  любого  уровня.  Программа
может вызвать ENCINA_ABORT_ALL, чтобы вызвать прерывание всей транзакции.
       Интересно  было  бы  понаблюдать,  как  пойдет  развитие  не  только
конкретного  продукта  Encina,  но  и  всей  области   "открытой   обработки
транзакций" в целом. Тенденции усиления распределенности  и  неоднородности,
которые  направляют  развитие  технологий  баз  данных   и   информационного
управления,  требуют  определенной  степени  открытости   всех   компонентов
информационных  систем  (в   том   числе   сервисов   операционных   систем,
безопасности, баз данных,  мониторов  транзакций).  Хотя  старые  "закрытые"
продукты и  аппаратные  платформы,  поддерживаемые  ими,  просуществуют  еще
довольно долго, но тенденции, которые иллюстрирует рис. 8,  неизбежно  будут
оказывать все  более  значительное  влияние  на  развитие  систем  обработки
транзакций.

                                    [pic]
  Рисунок 8. Факторы, влияющие на развитие коммерческих мониторов обработки
                                 транзакций.

                                4. X/Open DTP

       Еще один определяющий фактор развития коммерческих систем  обработки
транзакций - это стандартизация. Международный комитет по  стандартам  (ISO)
выработал состоящий из двух частей протокол для поддержки  медоперабельности
систем обработки транзакций. Две составные части этого стандарта:
    . OSI-TP для сервисов обработки транзакций, 1992 г.;
    . OSI-CCR для фиксации, управления и восстановления, 1990г.
       Стандарты OSI определяют  форматы  и  протоколы,  но  не  прикладные
программные интерфейсы  для  стандартного  протокола  двухфазовой  обработки
транзакций   (2PC),   спроектированного   как    надстройка    над    стеком
коммуникационных протоколов OSI.
       Стандарт API разработан комитетом X/Open и получил  название  X/Open
Distributed  Transaction  Processing  (DTP)  API.   X/Open   DTP   позволяет
менеджерам транзакций использовать комбинацию закрытых  и  OSI-TP-протоколов
для внутренних и межоперабельных  окружений  соответственно.  X/Open  DTP  -
стандарт, находящийся в стадии начального развития  и  имеющий  определенные
противоречия. В частности, не очень хорошо согласуются  две  его  цели:  (1)
определение среды монитора  TP  как  стандартизированного  окружения  и  (2)
поддержка  удаленных  вызовов  процедур  транзакций  (TRPC  -  Transactional
Remote Procedure Calls) наряду  с  "равноправными"  (peer-to-peer)  моделями
коммуникаций (по крайней мере в настоящее время модель X/Open  DTP  содержит
оба подхода).
       X/Open DTP поддерживает  не  только  плоские  транзакции,  но  также
многозвенные и вложенные (в последней из этих моделей при  прерывании  одной
из ветвей происходит прерывание всей транзакции в целом).
       В  стандартизированной  распределенной   среде   TP   для   описания
взаимодействий  между  компонентами   применяется   комбинация   стандартных
протоколов. Некоторые из них, например  ROSE  (Remote  Operations  Service),
относятся к общему стеку протоколов OSI; другие являются специфическими  для
окружения X/Open DTP или OSI-TP. На рис. 9 показаны  интерфейсы  компонентов
в стандартизированной распределенной среде TP и соответствующие протоколы  и
API.

                                    [pic]
         Рисунок 9. Стандартизированная среда обработки транзакций.

                5. Классификация систем обработки транзакций

       С  появлением   множества   стандартизированных   систем   обработки
транзакций  нового   поколения   полезным   представляется   проведение   их
классификации с точки зрения спектра предоставляемых ими  функций.  Подобную
классификацию, включающую пять измерений, предложили Абрахам Лефф  и  Калтон
Пу из Колумбийского университета:
       M - множество машин;
       P - множество процессов;
       H - степень неоднородности машин и программного обеспечения;
       D - множество логических данных;
       S - множество узлов.
       Эта классификация характеризует любую систему обработки  транзакций,
от  простейших  (P1,  M1,  H1,  D1,  S1)  до  более   сложных   многоузловых
неоднородных окружений с поддержкой разнотипных наборов данных (Pn, Mn,  Hn,
Dn, Sn). В статье, написанной в 1991 г., эти авторы  представили  трехмерную
классификацию, которую они применили для оценки различных  исследовательских
и коммерческих систем.

                             6. Языки транзакций

       В разд. 4 была рассмотрена Encina -  монитор  транзакций  корпорации
Transarc - который включает множество  библиотек  и  макросов,  составляющих
среду разработки Transactional C.  Альтернативный  способ  задания  директив
обработки транзакций состоит в применении  специального  языка.  В  качестве
примера рассмотрим  язык  InterBase  Parallel  Language  (IPL),  входящий  в
состав неоднородной распределенной cреды баз данных  InterBase,  которую  мы
обсуждали в гл.  6.  IPL  разработан  с  учетом  поддержки  высокой  степени
параллелизма и взаимодействия между  субтранзакциями,  принадлежащими  общей
глобальной транзакции. IPL предназначался для  поддержки  транзакций  разных
типов  (т.  е.  смешанных  транзакций),  а  также  как  системно-независимый
декларативный язык, обеспечивающий прозрачность управления транзакциями.
       Программа на IPL  представляет  собой  блок,  обрамленный  ключевыми
словами program - endprogram,  и  включает  декларации  записей  и  описания
субтранзакций. Поскольку IPL постоянно развивается и  в  настоящее  время  в
стадии исследований  находится  графический  интерфейс,  а  также  объектно-
ориентированная версия этого  языка,  то  за  более  полной  информацией  мы
отсылаем  читателя  к  материалам  проекта  InterBase,  который  ведется   в
Университете Пурдью.
       Альтернативный подход  к  спецификации  транзакций  -  использование
языка, ориентированного не на глобальную
1234
скачать работу

Обработка транзакций

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ