Алгоритмическая реализация модели качества web-сервисов
Бесплатно
Основная коллекция
Тематика:
Web-технологии. Web-дизайн
Издательство:
Науковедение
Год издания: 2014
Кол-во страниц: 14
Дополнительно
Тематика:
ББК:
УДК:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 1 http://naukovedenie.ru 85TVN114 УДК 004.4.242 05.13.18 Математическое моделирование, численные методы и комплексы программ Волушкова Вера Львовна ФГБОУ ВПО «Тверской государственный университет» Россия, Тверь1 Доцент, кандидат технических наук E-Mail: W2L@pisem.net Школенко Екатерина Юрьевна ООО «Люксофт Профешнл» Россия, Санкт-Петербург Программист Магистр технических наук E-Mail: katya.shkolenko@gmail.com Алгоритмическая реализация модели качества web-сервисов Аннотация: Объединение отдельных Web-сервисов в потоки предполагает, что приложение может оптимально выбрать поставщиков отдельных сервисов в соответствии с требованиями качества. В вероятностной среде оценка качества составного Web-сервиса не всегда может напрямую вычисляться по оценкам качества его составных частей. Модель оценки качества сервисов учитывает особенности каждого атомарного Web-сервиса. Модель качества основана на вероятностном подходе и рассматривает 5 базовых структурных конструкций, каждая из которых организует сервисы-компоненты уникальным образом. При алгоритмической реализации модели возникают трудности с ростом области определения результирующей случайной величины. Авторы предлагают сократить этот рост с помощью группирующей случайной величины. Погрешность группировки позволяет оценить насколько полученная группирующая случайная величина отличается от исходной. Эта погрешность должна быть минимизирована, т.е. встает задача поиска оптимальной группирующей случайной величины. Для решения данной задачи в статье рассмотрены два алгоритма – рекурсивный и «жадный». На основе ряда тестов было принято решение о применении «жадного» алгоритма для получения группирующей случайной величины. В работе описаны эксперименты по вычислению времени отклика реального web-сервиса по обработке заказа для интернет-магазина. Результат эксперимента позволяет сделать вывод о том, что оценка качества композитного Web-сервиса, полученная с помощью предложенной методики, гарантирует, что сервис сработает на рассчитанном уровне качества. Ключевые слова: Web-сервис; композитный Web-сервис; качество Web-сервиса; показатели качества; время отклика; надежность; оптимизация; рекурсивный алгоритм; «жадный» алгоритм; организация сервис-компонентов. Идентификационный номер статьи в журнале 85TVN114 1 170004, г.Тверь, Садовый переулок, 35, ауд. 310а
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 2 http://naukovedenie.ru 85TVN114 Vera Volushkova Tver State University Russia, Tver E-Mail: W2L@pisem.net Ekaterina Skolenko OOO «Luxoft Production» Russia, Saint-Petersburg E-Mail: katya.shkolenko@gmail.com Programming Approach for Modeling of web services' quality The Abstract: Joining web services into web-service chains supposes that applications can choose separate web-services' providers according to requirements of quality in the best way. In the terms of probability the measure of quality of some composite web service cannot always be simply calculated using measures of quality of its parts. The described model of quality of composite web service takes into account the characteristics of each of the atomic web services. The model of quality is based on stochastic approach. The model of quality considers 5 basic service compositions. In case of algorithmic implementation of model there are difficulties with growth of definition range of a resultant random variable. In this paper we suggest reducing this growth by grouping random variable. An error of grouping allows evaluating the difference between the grouping random variable and the initial one. The problem is to find the best grouping random variable. We consider the recursive and “greedy” algorithms to solve this problem. As a result of some tests the decision to apply the "greedy" algorithm to get grouping random variable was made. We describe the experiments on computation of response time of a real web service for an e-commerce shop. The result of experiment shows that the quality of the composite Web service, got by means of the offered technique, guarantees that service will work at the calculated quality level. Keywords: web service; composite web service; quality of web service; quality of service attribute; response time; reliability; optimization; recursive algorithm; "greedy" algorithm; web service composition. Identification number of article 85TVN114
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 3 http://naukovedenie.ru 85TVN114 Web-сервисы - технология, позволяющая приложениям взаимодействовать друг с другом независимо от языка программирования, на котором они написаны, а также от платформы, на которой они развернуты. Web-сервис идентифицируется строкой URI и имеет интерфейсы, определенные на языке XML. Описание сервиса может быть найдено другими программными системами, которые могут взаимодействовать с ним посредством сообщений, основанных на XML, и передаваемых с помощью интернет протоколов[11]. Для поставщиков сервисов важным аспектом технологии Web-сервисов является качество обслуживания (Quality of Service, QoS). QoS является критически важным фактором при выборе Web-сервисов в качестве составляющих для сложных бизнес-процессов. Поэтому аспекты надежности, доступности и другие аспекты QoS фиксируются в стандартах, в частности, в стандарте Business Process Execution Language for Web-Services (BPEL4WS)[7]. Качество Web-сервисов (QoS) дает возможность клиентам и поставщикам услуг специфицировать запросы и предложения с заданными свойствами и показателями QoS, обеспечивает эффективное обнаружение и выборку требуемых Web-сервисов, позволяет поставщикам услуг публиковать и обновлять предложения с разными аспектами QoS, поддерживает эффективный вызов Web-сервиса с требуемым QoS[10]. В настоящее время выбор Web-сервисов, основанный на QoS, становится все более популярным. Большинство работ [8, 1, 6] касается статического случая, полагая, что каждый сервис имеет заранее определенные показатели QoS. Преимуществом такого подхода является упрощение выводов. Например, допустим, что сервис W состоит из последовательно вызываемых сервисов W1, W2 и W3 с временами отклика 2, 3 и 4 соответственно. Очевидно, что время отклика сервиса W равно 9. Такой подход имеет существенные ограничения в применимости. Время отклика Web-сервиса зависит от таких неопределенных причин как число поступивших запросов к сервису и текущая загруженность сервера, на котором запускается сервис. Очевидно, что доступность и надежность тоже связаны с неопределенностью. Таким образом, параметры QoS в сущности вероятностны. Более сложным случаем является оптимальный выбор сервиса, как части составного. Можно применять нечеткую логику при выборе Web-сервиса, удовлетворяющего параметрам качества, для выполнения отдельного задания [8]. Для построения и анализа хода выполнения составного сервиса в [2] применяется метод критического пути и метод оценки и пересмотра планов, применяемые в управлении проектами для обнаружения узких мест в плане выполнения проекта. В работе [3] рассматривается вероятностный подход к оценке качества. Показатели QoS для Web-сервисов можно разделить на пять категорий: быстродействие, ресурсоемкость, функциональная надежность, свойства транзакционности, безопасность. Эти качества реализуются на различных уровнях в приложении: уровне экземпляра класса сервиса, уровне класса сервиса и системном уровне. При существующих подходах к моделированию качества Web-сервисов невозможно с достаточной точностью получить показатели качества для составного сервиса из QoS его составляющих. Точность получаемых показателей качества особенно важна при автоматическом выборе сервиса для составления еще более сложного приложения. Целью работы является реализация модели оценки качества сервисов, позволяющей не только учесть особенности построения составных сервисов, но и связанную с Web-средой неопределенность в работе сервисов. Для этого показатели QoS как атомарных, так и композитных Web-сервисов считаются вероятностными. При алгоритмической реализации модели оценки качества возникают трудности с ростом области определения результирующей случайной величины. Решению проблемы сокращения этого роста с помощью группирующей случайной величины посвящена эта статья.
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 4 http://naukovedenie.ru 85TVN114 Рассмотрим вероятностную модель качества сервисов. Каждый показатель QoS Web сервиса можно представить дискретной случайной величиной с конечной областью определения. Дискретные случайные величины для атомарных сервисов могут быть получены статистически и использоваться напрямую, без проверки каких-либо критериев согласия и приближения к непрерывным распределениям. Рассмотрим время отклика простого сервиса, выполнение программы которого занимает постоянное время (рис.1). Для этого был разработан Web-сервис, складывающий 2 числа, которые приходят сервису как параметры. Сервис вызывался 1000 раз, чтобы получить гистограмму времени отклика (мс): Рис. 1. Время отклика простого web-сервиса (разработано авторами) Видно, что в большинстве случаев время отклика примерно 10-3 сек, но бывают отклонения. В данном случае вероятностная составляющая мала. Для более сложных сервисов время отклика варьируется гораздо сильнее. Например, рассмотрим гистограмму (рис.2) времени отклика сервиса, показывающего табло аэропортов Аэрофлота. Рис .2. Время отклика сервиса Аэрофлота (разработано авторами) 0 2 4 6 8 10 12 50 100 150 200 250 300 350 400 450 500 время отклика 0 10 20 30 40 50 60 0 50 100 150 время отклика число случаев вызовы сервиса
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 5 http://naukovedenie.ru 85TVN114 Аналогично другие показатели, например, доступность и надежность, тоже связаны с неопределенностью: загруженностью сети, работоспособностью систем, которые используют сервисы и т.д. Таким образом, каждый показатель QoS Web-сервиса можно представить дискретной случайной величиной с конечной областью определения. Дискретные случайные величины для атомарных сервисов могут быть получены статистически и использоваться напрямую, без проверки каких-либо критериев согласия и приближения к непрерывным распределениям. В вероятностной среде QoS составного сервиса не всегда может напрямую получиться из QoS его составных частей. Например, рассмотрим два сервиса W1 и W2, и поток W, в котором W1 и W2 запускаются параллельно. Допустим, нужно получить среднее время отклика W. Будет неправильно считать средним временем выполнения W максимум из математических ожиданий времени выполнения W1 и W2. Недостаточно учитывать только средние величины, как предполагается в [8]. Так же нереалистично предполагать, что параметры QoS имеют нормальное распределение. Как показано выше, случайная величина времени отклика может иметь более сложную структуру. Естественно описывать надежность и стоимость Web-сервиса с помощью функций плотности распределения с областью определения, задаваемой множеством {0(неудача),1(успех)} и множеством возможных стоимостей соответственно. Время отклика также можно смоделировать дискретной случайной величиной, если рассмотреть разбиение области определения ее функции плотности - интервала (0; +∞) . Для трансформации времени отклика в дискретную величину может использоваться алгоритм разбиения на равные по ширине интервалы. Можно рассчитать плотность распределения параметров QoS для составных Web сервисов. Различные языки конструирования сервисов предлагают разные конструкции для управления ходом выполнения атомарных сервисов. В работе [7] приведено 5 базовых структурных конструкций, каждая из которых организует сервисы-компоненты уникальным образом. Авторами предложена модель качества, которая учитывает эти конструкции [9]. В модели рассматривается только нормальное выполнение Web-сервисов и не учитываются исключительные ситуации, когда происходят ошибки. Ошибки и исключения в составных сервисах, а также вопросы транзакций подробно рассматриваются, например, в [5]. Рассмотрим предложенную модель качества. Для каждого Web-сервиса считаем заданными 3 параметра QoS, а именно, время отклика, стоимость и надежность, которые обозначены T(а), C(а) и R(а) соответственно. Последовательность: w состоит из последовательности сервисов . Параллельность: w состоит из сервисов , выполняющихся одновременно с последующим объединением результатов их выполнения. ) , , , , ( 3 2 1 n a a a a i n = i i n = i i n = i a R = W R a T = W T a C = W C 1 1 1 , , ) , , , , ( 3 2 1 n a a a a i n = i i n i i n = i a R = W R , a T = W T , a C = W C 1 1 1 max
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 6 http://naukovedenie.ru 85TVN114 Исключающий выбор: w состоит из множества исключающих друг друга сервисов , каждый из которых связан с вероятностью , показывающей вероятность того, что выполнится . где операция исключающего выбора одной величины из множества с вероятностями , где – вероятность того, что будет выбран величина . Дискриминатор: w состоит из параллельно выполняющихся сервисов без синхронизации. где обозначает обратную величину заданной . В цикле сервис запускается несколько раз. Для цикла стоимость, время отклика и надежность считаются по формулам: где функция плотности числа итераций в цикле и При расчете полученной схемы растет область определения результирующей случайной величины. Например, при сложении k случайных величин, имеющих по n элементов в области определения, полученная случайная величина будет иметь в худшем случае порядка nk элементов в области определения. Чтобы уменьшить это число после каждой операции до приемлемого размера можно группировать элементы. Если несколько последовательных элементов в области определения функции имеют одно и то же значение, они заменяются одним значением и рассчитывается групповая вероятность. Для этого вводится группирующая величина. Пусть Dom(X) область определения случайной величины Х задана множеством , где xi<xi+1, 1≤ i <s и функция плотности Х обозначается как fX(). Обозначим Y как группирующую случайную величину от X, если существует последовательность элементов , где 1= j1<x2<,…,jm=js такая что ) , , , , ( 3 2 1 n a a a a ip ia , p , a R = W R p , a T = W T , p , a C = W C n = i i i n = i i i n = i i i 1 1 1 , n i i i p X 1 ) , ( n i X i , ,1 , n i pi , ,1 , ip i X ) , , , , ( 3 2 1 n a a a a , a R = W R , a T = W T , a C = W C n = i i i n i i n = i 1 1 1 1 1 max ia R 1 ia R , l f, l R = W R l f, l T = W T , l f, l C = W C n = i a L a n = i a L a n = i a L a 1 1 1 , c l , l f a L 1 . 1 1 1 i l = i a i l = i a i l = i a a R = l R , a C = l C , a T = l T } , , { ,2 1 sx x x ) , , ( ,2 1 mj j j ) , , ( ,2 1 sx x x
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 7 http://naukovedenie.ru 85TVN114 Для измерения разницы между группирующей и изначальной величиной используется погрешность группировки. Введем величину погрешности группировки Y относительно X как среднеквадратичное отклонение: Рассмотрим пример: Погрешность группировки позволяет оценить насколько полученная группирующая случайная величина отличается от исходной. Поэтому эта ошибка должна быть минимизирована, т.е. встает задача поиска оптимальной группирующей случайной величины, описываемая следующим образом. Дана случайная величина X с s элементами в области определения и требуемое число элементов в области определения m. Задача заключается в нахождении случайной величины Y, в области определения которой m элементов, так чтобы минимизировалась погрешность группировки относительно X. Для решения этой задачи рассмотрим два алгоритма: рекурсивный и «жадный». Для построения рекурсии введем функцию для обозначения оптимальной погрешности группировки элементов последовательности в k частей. Тогда: Здесь – погрешность группировки последовательности в один элемент xj, rj rj k k r r m r x X f y Y f x X f y Y f величины плотность и m i j x r y я определени область 1 1 1 1 2 ), ( ) ( , 0 ) ( ) ( Y , 1 , : r y Y m r k r Y k X r rj rj k y x y f x f X Y error group 2 1 1 2) ( ) ( ) ( ) , ( _ } 7,5,3,0 { ) ( : } 5,4,3,2,1,0 { ) ( : Y Dom Y X Dom X 4.0 ) 7 ( ,3.0 ) 5 ( ,3.0 ) 3 ( ,0 ) 0 ( y f y f y f y f Y Y Y Y .8,7,6 2.0 ,5,4,3,2 1.0 ,1 ,0 ) ( i i i x f i X 5,2 ) , ( _ X Y error group ) , , ( k j i e ) , , , ( 1 j i i x x x 1 ), , ( , 1 ,0 1, и 1 )}, , ,1 ( ), , , ( { ) , , ( 1, min k если j i rror e k i j если k k i j если b k j a e b a i e k j i e k b j a i ) , ( j i error ) , , , ( 1 j i i x x x
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 8 http://naukovedenie.ru 85TVN114 Временная сложность алгоритма O(s3m2). В случае если складываются две дискретные случайные величины с m элементами в области определения каждой из них (и эти множества не пересекаются) и требуется сократить облать определения результирующей случайной величины снова до m, временная сложность алгоритма будет O(m8). Можно подойти к задаче поиска оптимальной группирующей величины по-другому. Введем величину – погрешность парной группировки соседних элементов xi и xi+1 в один xi+1. Тогда можно выбрать элементы для группировки с минимальной погрешностью парной группировки, что используется в «жадном» алгоритме. В цикле выполняется следующая последовательность: 1. Ищется пара соседних элементов xi и xi+1 с наименьшей погрешностью парной группировки. 2. xi и xi+1 заменяются на x’= xi+1 , пересчитывается fX(x’)= fX(xi)+ fX(xi+1) 3. пересчитываются погрешности парной группировки для полученной величины. В каждой итерации шаг 1 и 3 требуют O(log(s)) времени, шаг 2 выполняется за постоянное время. Общее число итераций равно s - m. Таким образом, временная сложность алгоритма . Для расчета значений QoS n Web-сервисов, можно делать парные операции n-1 раз и применять каждый раз сокращение области определения описанными выше методами. Допустим, каждая случайная величина имеет область определения с m элементами. Сложение двух таких величин дает в результате область определения в m2 элементов. Перед следующим сложением нужно произвести сокращение до m. Проведем сравнение этих двух алгоритмов. Для сравнения возьмём простой случай. Для случайных величин X и Y, распределенных по нормальному закону с параметрами, приведенными в таблице, считаются теоретически параметры распределения величины T=X+Y. Таблица 1 Параметры распределений Величина Математическое ожидание Дисперсия X 100 10 Y 90 20 T=X+Y 190 Для этих же величин X,Y считается сумма с применением алгоритмов сокращения области определения. Обозначим полученную с применением жадного алгоритма сокращения области определения – , а полученную с помощью рекурсивного алгоритма случайную j k i j k i j k k X k X x x x f x f j i error 2 ' ) ( ) ( ) ( ) , ( ' ) , ( _ 1 i i x x error pair 2 1 1 1 ) ( ) ( ) ( ) ( ) , ( _ i i i X i X i X i i x x x f x f x f x x error pair )) log( ( O s s 5 10 g T
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 9 http://naukovedenie.ru 85TVN114 величину – . Для них посчитаем интегральные функции распределения, которые сравниваются с теоретическим законом распределения для . График отклонений и приведен на рис. 3. Рис. 3. Отклонение от теоретического распределения (разработано авторами) По графику сложно сказать какой алгоритм лучше, но среднеквадратичное отклонение от теоретической функции для рекурсивного алгоритма равно 0.0014, тогда как для «жадного» оно составляет 0.0021. Была проведена серия тестов для получения зависимости точности алгоритмов от желаемого числа элементов в области определения результирующей величины. Результаты можно видеть на рис. 4. Рис. 4. Точность алгоритмов при различном числе элементов в области определения функции (разработано авторами) По графику видно, что как и в предыдущем случае, жадный алгоритм дает всегда большее отклонение от теоретического закона распределения. С ростом числа элементов в области определения оба алгоритма становятся точнее. Как и предполагалось в теоретическом расчете временной сложности алгоритмов, время работы намного быстрее возрастает для рекурсивного алгоритма, чем для «жадного» при увеличении размерности задачи. При этом разница в точности не велика, поэтому далее rT T g T rT
Интернет-журнал «НАУКОВЕДЕНИЕ» Выпуск 1, январь – февраль 2014 Опубликовать статью в журнале - http://publ.naukovedenie.ru Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Связаться с редакцией: publishing@naukovedenie.ru 10 http://naukovedenie.ru 85TVN114 для тестирования модели качества будет использоваться «жадный» алгоритм как более гибкий. Проведем проверку модели. Будем использовать только время отклика , т.к. его можно легко измерить. Для сравнения с рассчитанным по модели временем используется реально измеренное время отклика составного сервиса. Представим типичную модель обработки заказа для он-лайн магазина. На самом высоком уровне в составном сервисе находится конструкция последовательности, которая состоит из сервисов OrderCreation, StockPaymentCheck и ShippingArrangement. Сервис StockPaymentCheck представляет собой параллельное выполнение сервисов PaymentCheck и StockCheck. PaymentCheck в свою очередь является конструкцией выбора, состоящей из сервисов PaypalValidation и CreditCardValidation, выбор между которыми определяется пользователем через запрос. StockCheck – это цикл вызовов сервиса GetItem, который выполняется для каждой записи в заказе. Если требуемое есть на складе, доставка заказывается оттуда (GetFromWarehouse), иначе отправляется заказ на доставку поставщику (GetFfromVendor). Каждый элементарный сервис в составе композитного сервиса не делает ничего, кроме случайной задержки, выбираемой из массива, сгенерированного для каждого сервиса и загруженного в память заранее до начала эксперимента. Массивы формируются по определенным законам распределения, параметры которых представлены в таблице 2. Таблица 2 Параметры распределения для случайных величин задержки Название сервиса Математическое ожидание Дисперсия Минимум Максимум OrderCreation 2 1 1 4 ShippingArrangement 3 1 1 5 PaypalValidation 2 0,8 1 4 CreditCardValidation 2 1,5 1 4 GetFromWarehouse 2 0,7 1 4 GetFfromVendor 5 2 1 8 Плотность распределения числа вызовов цикла с сервисом GetItem задана в таблице 3. Таблица 3 Плотность распределения числа вызовов цикла с сервисом GetItem Число вызовов сервиса GetItem вероятность 1 0.1 2 0.2 3 0.4 4 0.2 5 0.1 Для реального web- сервиса эти параметры получаются статистически. Гистограмма времени отклика (Рис. 5) строится на основе нескольких серий вызовов составного сервиса. Потом это же время считается по приведенным формулам с применением «жадного» алгоритма сокращения области определения (т.к. было показано, что этот алгоритм работает оптимально). T