Научная статья на тему 'ВИБіР ПРОТОКОЛУ СЕРіАЛіЗАЦії ПРИ РОЗРОБЦі ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ'

ВИБіР ПРОТОКОЛУ СЕРіАЛіЗАЦії ПРИ РОЗРОБЦі ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
132
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОТОКОЛ / PROTOCOL / XML / JSON / PROTOBUF / СЕРіАЛіЗАЦіЯ / ПАРСіНГ / ПАКУВАННЯ / БіНАРНИЙ / СЕРИАЛИЗАЦИЯ / SERIALIZATION / ПАРСИНГ / PARSING / УПАКОВКА / PACKAGING / БИНАРНЫЙ / BINARY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Грудзинський Ю.Є., Марков Р.В.

В данной статье рассмотрены современные протоколы сериализации данных XML, JSON, упаковка в бинарный вид, Protobuf и представление данных в виде строк. Проведен анализ данных способов сериализации данных для дальнейшего использования в разработке программного обеспечения. Описаны основные преимущества и недостатки вышеуказанных протоколов сериализации. Сделаны выводы по целесообразности использования каждого из них.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Choosing the serialization protocol for software development

As a result of the research it was determined the scope of application of modern data serialization protocols. Necessity for such work is due to the fact that currently there are many serialization protocols such as JSON, XML, Protobuf, presenting data in rows and binary serialization, which leads to errors of developer when selecting the most optimal serialization. After analyzing all the advantages and disadvantages of the abovementioned protocol it was done conclusions about an application of these protocols for software development. It is shown when you can use a simple and very popular serialization method using flat lines or simple binary serialization. The article answers the question under any circumstances it is used more sophisticated serialization, such as XML, JSON and new protocol Protobuf, shows the scope of application of these protocols. Its strengths and vulnerabilities are given that will help the developer of automated systems to choose the most effective one for his application. The results are important on the stage of choosing competent technical solution about serialization by software developer, which increases the speed and security of data.

Текст научной работы на тему «ВИБіР ПРОТОКОЛУ СЕРіАЛіЗАЦії ПРИ РОЗРОБЦі ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ»

Коляденко Юлия Юрьевна, доктор технических наук, профессор, кафедра телекоммуникационных систем, Харьковский национальный институт радиоэлектроники, Украина. Белоусова Екатерина Эдуардовна, аспирант, кафедра телекоммуникационных систем, Харьковский национальный институт радиоэлектроники, Украина, e-mail: katrinmj@mail.ru.

Коляденко Юлiя Юрпвна, доктор техтчних наук, професор, кафедра телекомуткацшних систем, Хартвський нащональний iнститут радюелектротки, Украта.

Быоусова Катерина EdyapdieHa, астрант, кафедра телекомуткацшних систем, Хартвський нащональний imcmumym радюелектротки, Украта.

Kolyadenko Yulia, Kharkiv National University of Radio Electronics, Ukraine.

Belousova Katerina, Kharkiv National University of Radio Electronics, Ukraine, e-mail: katrinmj@mail.ru

УДК 004.75

DOI: 10.15587/2312-8372.201Б.ББ441

грудзинський Ю. е., ВИБ1Р протоколу СЕР1АЛ1ЗАЦП

Марков Р. В.

ПРИ Р0ЗР0БЦ1 ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

В дангй статтг розглянуто сучаснг протоколи сергалгзацп даних XML, JSON, упакування в бтарний вигляд, Protobuf та представлення даних у виглядг рядк1в. Проведено аналгз даних способ1в сергалгзацп даних для подальшого використання в розробцг програмного забезпечення. Описано основт переваги та недолгки вище вказаних протоколгв сергалгзацп. Зроблено висновки про доцгльнгсть використання кожного з них.

Клпчов1 слова: протокол, XML, JSON, Protobuf, сергалгзацгя, парсгнг, пакування, бтарний.

1. Вступ

На сьогодшшнш день доволi актуальною задачею при створент програмних засобiв сучасних автоматизованих систем е задача забезпечення перетворення рiзноманiтних внутрштх об'екпв системи в ефективний, наглядний та надшний вид, що забезпечить швидкий обмш даними мiж елементами системи, як знаходяться у рiзних мкцях.

Серiалiзацiя — це процес переведення будь-яко1 структури даних в послщовшсть бтв. Зворотною до операцп серiалiзащi е операщя десерiалiзащi (структу-ризацп) — вщновлення початкового стану структури даних з бiтовоi послвдовность Ця послвдовшсть мо-же бути як бшарним представленням цих даних, так i текстовим [1]. Для серiалiзацii даних обмшу може використовуватись декшька протоколiв. У данiй роботi проведено аналiз рiзноманiтних протоколiв серiалiзацii даних та зроблено висновки про дощльшсть '¿х використання у рiзних сферах програмноi iндустрii.

2. Анал1з лгсературних джерел i постановка проблеми

На сьогодш таких протоколiв безлiч, але найбiльш популярними iз них е XML, JSON, Protobuf, представлення даних у виглядi рядюв та бшарне перетворення [1]. Кожен iз розробникiв вiдповiдного протоколу говорить лише про переваги та не дае шяко' шформацп на рахунок недолЫв свого протоколу у порiвняннi iз iншими [2-7]. Тому на практищ, при розробцi будь-якого програмного забезпечення, постае проблема iз вибором конкретного протоколу, що буде використовуватись при написанш програмного забезпечення.

Багато статей описують переваги та недолжи деяких популярних протоколiв серiалiзацii даних при ix nopiB-няннi з шшими, але зазвичай цi пopiвняння проводяться при poзpoбцi конкретного програмного забезпечення, для якого було заздалепдь вибрано той чи шший протокол для пopiвняння [8, 9], що не е коректним.

Виpiшити проблему вибору протоколу сеpiалiзацii для розробки довшьного програмного забезпечення можна лише тсля аналiзу основних переваг та недолЫв iснуючиx пpoтoкoлiв та визначення рекомендованих сфер ix застосу-вання, пiсля чого у програмкта значно зменшиться кшь-кiсть питань по вибору протоколу для конкретного випадку.

У роботах шоземних автopiв зроблена спроба вико-нати таю пopiвняння, але тiльки мiж окремими протоколами [10], чи з менш поширеними у нас протоколами BSON, XML with .NET [11]. Дана ж робота пopiвнюе найбшьш поширеш на вiтчизняниx теренах протоколи сеpiалiзацii, з якими стикаеться найбшьша кiлькiсть вiтчизняниx poзpoбникiв програмових засoбiв.

3. 06'ект, мета та задач1 дослщження

Об'ектом дослгдження цiеi статт е протоколи се-piалiзацii даних для переведення дoвiльнoi структури шформацшних oб'ектiв програмного забезпечення у по-слiдoвнiсть бiтiв, призначених для подальшого зберь гання iнфopмацii та обмшу нею мiж самими об'ектами автoматизoванoi системи, чи по каналах зв'язку.

Проведет дослщження ставили за мету визначити особливосп iснуючиx пpoтoкoлiв сеpiалiзацii, '¿х переваги та недолжи, а також мoжливi oбластi застосування програмного забезпечення, написаного з використанням даних пpoтoкoлiв.

TECHNOLOGY AUDiT AND PRODUCTiON RESERVES — № 2/2(28], 2016, © Грудзинський Ю. E., Марков Р. В.

Для досягнення поставлено! мети виршувались на-ступш задачi:

— визначити iснуючi на сьогодш популярнi про-токоли серiалiзацii даних;

— встановити основнi переваги та недолши зазна-чених протоколiв;

— визначити можливi областi застосування про-грамного забезпечення, написаного з використанням даних протоколiв.

4. Результаты дослщжень протокол1в сер1ал1зац11 для розробки програмного забезпечення

Коли перед програмктом постае завдання серiалiзацii даних, то у нього е кшька варiантiв, що залежать вiд призначення майбутнього програмного забезпечення.

У випадку, якщо програмне забезпечення буде опе-рувати мшмальним об'емом даних та е потреба у тому, щоб серiалiзованi данi могли бути прочитанi людиною, то найпростiший i досить популярний споаб — це представи-ти ва данi у виглядi рядюв. У цьому випадку на виходi автори статтi отримують потiк ASCII-символiв, який потiм буде передано по мережi або записано у файл [1]. Як можна помиити iз вище наведеного основним недолгом даного пiдходу е те, що представлення структур у виглядi рядка шдшде тiльки для дуже простих набо-рiв даних. До того ж доведеться писати досить багато коду для кодування i декодування. Тому даний пiдхiд можна рекомендувати для програмного забезпечення, що дозволяе обмшюватись такими простими даними, як текстовi рядки, числовi вирази та комбiнацii.

1з збiльшенням об'ему даних та варiацii типiв, з якими буде працювати програмне забезпечення, постае нагальна потреба у вщносно простому способi створення та обробки серiалiзованих даних, що окрiм того дозволить створюва-ти структуровану iнформацiю. Все це може забезпечити шший популярний метод — запис даних в XML формат! XML-документ являе собою звичайний текстовий файл, в якому за допомогою спещальних маркерiв створюються елементи даних, послiдовнiсть i вкладешсть яких визначае структуру документа i його змiст [2].

Рiзноманiтних бiблiотек, що займаються парсингом XML-файлiв, можна нарахувати безлiч, що спрощуе процес написання механiзмiв серiалiзацii [3]. Дат в цьому випадку представлеш наочшше, нiж у випадку простих ASCII рядюв, та й гнучюсть тут на висоть Багато по-пулярних протоколiв використовують цю мову розмггки в якостi своеi основи, так як вона розширювана i дозволяе не сильно замислюватися про зворотну сумкшсть при оновленш структури даних. Але, як i у випадку з попе-реднiм способом, читання i запис даних в XML-формат накладае великi обмеження на продуктившсть. Навiгацiя по дереву вимагае високо' потужностi процесора, та й код, все-таки, теж доведеться трохи дописати, щоб все працювало так, як задумано. Ще один мшус, який необхщно врахувати — це розмiр одержуваних даних. При досить великих обсягах шформацп або поганих мережевих з'еднаннях використовувати XML не надто доцшьно.

1з вище сказаного можна зробити висновок, що даний тдхщ дозволить оперувати значно бшьшим об'емом даних, у порiвняннi iз перетворенням в рядок, але все-таки рекомендуеться для розробки програмного

забезпечення, що не вимагае високо' продуктивност та не передбачае обмшу великими масивами даних.

Отже, розробникам все-таки необхщний протокол серiалiзацii даних, що буде мати простий формат та забезпечувати роботу iз достатшм об'емом даних, що в свою чергу не буде впливати на продуктившсть. В якост такого можна розглянути сучасний протокол серiалiзацii даних, що мае назву JSON. JavaScript Object Notation — простий формат обмшу даними, зручний для читання i написання як людиною, так i комп'ютером. Вш заснований на тдмножиш мови програмування JavaScript, визначеноi в стандарта ECMA-262 3rd Edition — December 1999. JSON — текстовий формат, повтстю не-залежний вщ мови реалiзацii, але вш використовуе угоди, знайомi программам C-подiбних мов, таких як C, C++, C#, Java, JavaScript, Perl, Python i багатьох шших [4]. За допомогою простого синтаксису стае можливим легко зберкати як простi числа i рядки, так i масиви, об'екти, використовуючи при цьому не що шше як текст. Так само можна пов'язувати об'екти i масиви, що дозволяе створювати складш структури даних [4]. JSON мае ряд переваг:

— компактшший шж XML;

— зрозумший для людей i легко зчитуеться ком-п'ютером;

— його легко можна перетворити в програмт форма-ти: числовi значення, рядки, булевий формат, масиви i асоцiативнi масиви;

— майже вс програмнi мови мають функцп, що дозволяють зчитувати i створювати json формат даних.

JSON складаеться iз таких основних частин:

— колекщя пар ключ/значення. У рiзних мовах ця концепцiя реалiзована як об'ект, запис, структура, словник, хеш, iменований список або асощативний масив;

— упорядкований список значень. У бшьшосп мов це реалiзовано як масив, вектор, список або посль довшсть.

Це унiверсальнi структури даних. Майже вс сучаснi мови програмування тдтримують '¿х в будь-якiй формi. Лопчно припустити, що формат даних, незалежний вщ мови програмування, повинен бути заснований на цих структурах.

Отже, протокол JSON може бути використаний для розробки програмного забезпечення, що працюе iз досить великим об'емом даних. В ньому майже ввдсутш обмеження для программа по вибору мови програмування, на якш буде закодовано алгоритм. О^м того продуктившсть такого забезпечення (в плат швидкосп серiалiзацii даних та '¿х обмшу) буде досить високою.

Слвд зазначити, що одшею з основних вимог до протоколу серiалiзацii, який може використовувати-ся для розробки сучасного програмного забезпечення великих шформацшних систем е наявшсть в ньому високорiвневих засобiв та шструменпв для роботи. Ок-рiм того кiнцевий розмiр серiалiзованих даних повинен бути мшмальний, оскiльки робота сучасного програмного забезпечення пов'язана з великою шформацшною завантажешстю мережь Велике значення також мае цтсшсть та захищенiсть даних.

Вище наведеш вимоги може виконати протокол Protobuf вiд Google. Protocol Buffers — це спещальний метод кодування структур даних, який дозволяе швидко

ТЕХНОЛОГИЧЕСКИЙ АУДИТ И РЕЗЕРВЫ ПРОИЗВОДСТВА — № 2/2(28], 2016

i без проблем серiалiзувати все що завгодно. Protocol Buffers мае офщшну тдтримку вiд Google для таких мов, як C++, Java i Python. Ця тдтримка виражаеть-ся в наявност компiлятора для спецiальноï мови, що описуе структури даних. Структура даних визначаеться заголовними файлами *.proto. Компшятор генеруе з них об'екти на рiзних мовах програмування, що забезпечуе властившть кросплатформенносп [5-8, 11, 12].

Такий тдхщ, з одного боку, дозволяе замшити будь-який компонент системи на його реалiзацiю на шшш мовi, а з шшого, дозволяе зручно пiдтримувати рiзнi версп об'ектiв, додавати новi поля i змшювати iснуючi. Google розробив Protobuf для використання в своïх внут-рiшнiх службах. Це бшарний формат кодування, який дозволяе задати схему для даних, що серiалiзуються, з використанням спещальних специфжацш

Protobuf дозволяе описувати прост структури даних на спещальнш мовi, яка попм компiлюеться в класи, що представляють цi структури. Разом з класами йде оптимiзований код '¿х серiалiзацiï в компактний формат представлення. А найкраще те, що доступ до даних максимально спрощено, осюльки для доступу до кожного поля у клас е вiдповiднi методи «get» i «set», а для серiалiзацiï об'екта в масив байпв або потж введен-ня/виведення потрiбно зробити всього один виклик функцп [10, 11, 13, 14].

Protocol Buffers дозволяе перевести даш i об'екти в програмi в бшарний вид i безпечно переслати '¿х по мережi або зберегти у файл для подальшого використання. Основною перевагою Protocol Buffers е простота використання. Досить зробити метаопис об'екта, тсля чого виходить готовий код об'екта i його серiалiзацiя. Ко-ристувачевi потрiбно просто використовувати отриманий код. Стандартш засоби Protocol Buffers дають можливiсть не тшьки виконувати плоску (послiдовну) серiалiзацiю, а й серiалiзацiю в потiк, що дозволяе вщразу вивести данi в файл, мережу або кудись ще i дозволяе тдтримувати нормальнi C++ потоки типу std::ostream i std::istream.

5. Обговорення результа-Нв дослщження протокол1в сер1ал1зац11 для розробки програмного забезпечення

Результати проведених дослiджень властивостей використання окремих протоколiв серiалiзацiï для наочност зведено до табл. 1.

Таблиця 1

Переваги та недолши використання pi3HHX пр□т□к□лiв c9piMi3a^ï

Кpитеpiй/Пp□т□к□л Бiнap- ний вигляд ^ед^ав- лення у вигляд pядкiв XML JSON Protobuf

Найменший p^Mip cepia-лiзовaних даних так нi m част-ково так

Читaбeльнicть cepiaлiз□-ваних даних нi так так так m

Нe□бхiднicть написання д□дaтк□в□г□ коду так так так так m

Пepeдaчa будь-яких титв даних m m так так так

Вик□pиcтaння додаткових бiблi□тeк нi нi так так так

К□мпaктнicть гаду нi нi m так так

Закйнчення табл. 1

Кpитepiй/Пp□т□к□л Бiнap- ний вигляд ^ед^ав- лення у виглядi pядкiв XML JSON Prata-buf

Гнучтсть гаду нi нi так так так

Висока пp□дуктивнicть коду так нi m част-ково так

Можлившть pоботи i3 великим об'вмом даних нi m нi част-ково так

Кpоcплaтфоpмeнicть нi нi так так так

Нaявнicть виc□к□piвнeвих зac□бiв для pоботи m нi част-ково част-ково так

Захищешсть та цiлicнicть cepiaлiзовaних даних нi нi нi нi так

Пp□cт□тa вик□pиcтaння нi нi нi част-ково так

Дослiдження, що були проведет авторами, у такому виглядi зроблено вперше i '¿х результати були викорис-танi при розробщ програмного забезпечення комуш-кащйного модуля новоï вiтчизняноï SCADA-системи. У якост протоколу серiалiзацiï було вибрано протокол Protobuf. В подальшому плануеться дослщити структуру та особливостi використання даного протоколу для реа-лiзацiï ефективного паралельного обмiну iнформацiею мiж SCADA-системою та ПЛК об'ектiв автоматизацп, а також для органiзацiï мiжсистемного обмiну.

6. Висновки

У результат проведених дослiджень було зроблено наступш висновки, щодо можливостей застосування вищезазначених протоколiв для розробки програмного забезпечення:

— у випадку, якщо програмне забезпечення буде оперувати мшмальним об'емом даних, такими, як текстовi рядки, числа та '¿х комбшацп, буде невеликим за розмiром, не буде змшювати структури даних у майбутньому та е потреба у тому, щоб серiалiзованi даш могли бути прочиташ людиною, то найпрость ший i ращональний спосiб — це плоска серiалiзацiя у виглядi рядюв. При вщсутносп потреби у контролi серiалiзованих даних людиною — щлком пiдiйде i бiнарна серiалiзацiя;

— при необхщносп серiалiзацiï складних титв об'ек-тiв, таких як масиви, списки, дерева та шше i системи автоматизацп, що не вимагае висо^ продуктивнос-тi (бухгалтерськi програми, MES та подiбнi '¿м) цшком тдшде серiалiзацiя за допомогою протоколу XML. Серiалiзацiя за допомогою XML також забезпечить максимальну сумкшсть з кнуючими системами;

— при необхщносп серiалiзацiï складних типiв об'ек-пв в автоматизованих системах з пщвищеними вимога-ми до продуктивностi та при вщсутносп якихось особ-ливих вимог до безпеки передачi даних, вимогами до кросплатформенносп — оптимальним варiантом стане використання протоколу JSON. В ньому майже вщсутт обмеження для программа по вибору мови програмування, на якш буде закодовано алгоритм. О^м того, продуктившсть такого ршення (в планi швидкосп серiалiзацiï даних та '¿х обмшу) буде досить високою;

— у випадку серiалiзацiï складних типiв об'екпв в автоматизованих системах з особливими вимогами

TECHNOLOGY AUDiT AND PRODUCTiON RESERVES — № 2/2(28], 2016

до продуктивносп (SCADA-системи), наявними вимо-гами кросплатформенносп та пiдвищенними вимогами до безпеки пеpедачi даних (банкiвськi системи, OLAP, ERM/CRM) кращим вибором стане сеpiалiзацiя за допомогою протокола Protobuf, в якому (на вщмшу вiд шших) також пpисутнi висoкopiвневi засоби та шструменти для роботи. Окpiм того, кшцевий роз-мip сеpiалiзoваниx даних буде мтмальний, а також гарантуеться цЫстсть та заxищенiсть даних.

Лггература

1. PROTOBUF VS. BOOST: SERIALIZATION [Электронный ресурс] // Журнал «Хакер». — 31.10.2013. — Режим доступа: \www/URL: https://xakep.ru/2013/10/31/protobuf-vs-boost-serialization/

2. Елло1т, Р. XML [Текст] / Р. Еллогт. — Спб.: Символ-Плюс, 2001. — 576 с.

3. Введение в JSON [Электронный ресурс]. — 11.11.2011. — Режим доступа: \www/URL: http://json.org/json-ru.html

4. Json или «Туда и Обратно» [Электронный ресурс] // Хабра-хабр. — 01.08.2014. — Режим доступа: \www/URL: htps:// habrahabr.ru/company/naumen/blog/228279/

5. Protocol Buffers [Electronic resource] // Google Developers. — Available at: \www/URL: https://developers.google.com/ protocol-buffers/. — 05.01.2016.

6. Protocol Buffer Basics: С++ [Electronic resource] // Google Developers. — 03.09.2014. — Available at: \www/URL: https:// developers.google.com/protocol-buffers/docs/cpptutorial#why-use-protocol-buffers. — 05.01.2016.

7. Google Protocol Buffers in action (С++) [Electronic resource]. — 16.09.2012. — Available at: \www/URL: http://forums.4fips. com/viewtopic.php?f-3&t-807

8. JSON и XML. Что лучше? [Электронный ресурс] // Хабра-хабр. —24.08.2007. — Режим доступа: \www/URL: https:// habrahabr.ru/post/31225/

9. 5 Reasons to Use Protocol Buffers Instead of JSON For Your Next Service [Electronic resource] // Code Climate. —

05.06.2014. — Available at: \www/URL: http://blog.codeclimate. com/blog/2014/06/05/choose-protocol-buffers/

10. ProtoBuf.js vs JSON [Electronic resource] // GitHub, Inc. —

02.02.2015. — Available at: \www/URL:https://github.com/ dcodeIO/protobuf.js/wiki/ProtoBufjs-vs-JSON

11. COMPARING PROTOBUF, JSON, BSON, XML WITH .NET FOR FILE STREAMS [Electronic resource] // Software Engineering. — 09.01.2014. — Available at: \www/URL: http://

damienbod.com/2014/01/09/comparing-protobuf-json-bson-xml-with-net-for-file-streams/

12. Если вы еще используете JSON, то Google protobuf идет к вам! [Электронный ресурс] // Дневник программиста. — 27.11.2012. — Режим доступа: \www/URL: http://knzsoft. blogspot.com/2012/11/protobuf.html

13. Сопоставление JSON и XML [Электронный ресурс] // Microsoft. — Режим доступа: \www/URL: https://msdn.microsoft. com/ru-ru/library/bb924435(v=vs.110).aspx. — 01.02.2016.

14. Как сериализовать и десериализовать данные JSON [Электронный ресурс] // Microsoft. — Режим доступа: \www/URL: https://msdn.microsoft.com/ru-ru/library/bb412179(v=vs.110). aspx. — 01.02.2016.

ВЫБОР ПРОТОКОЛА СЕРИАЛИЗАЦИИ ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

В данной статье рассмотрены современные протоколы се-риализации данных XML, JSON, упаковка в бинарный вид, Protobuf и представление данных в виде строк. Проведен анализ данных способов сериализации данных для дальнейшего использования в разработке программного обеспечения. Описаны основные преимущества и недостатки вышеуказанных протоколов сериализации. Сделаны выводы по целесообразности использования каждого из них.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Ключевые слова: протокол, XML, JSON, Protobuf, сериа-лизация, парсинг, упаковка, бинарный.

Грудзинський Юлiан Свгенович, старший викладач, кафедра автоматизацп теплоенергетичних процеыв, Нащональний тех-тчний утверситет Украти «Кигвський полтехтчний iнсти-тут», Украта, e-mail: jug@sonettele.com. Марков Роман Валертович, кафедра автоматизацп теплоенергетичних процеав, Нащональний техтчний утверситет Украти «Кигвський полтехтчний iнститут», Украта.

Грудзинский Юлиан Евгеньевич, старший преподаватель, кафедра автоматизации теплоэнергетических процессов, Национальный технический университет Украины «Киевский политехнический институт», Украина.

Марков Роман Валерьевич, кафедра автоматизации теплоэнергетических процессов, Национальный технический университет Украины «Киевский политехнический институт», Украина.

Grudzynskyy Yulian, National Technical University of Ukraine «Kyiv Polytechnic Institute», Ukraine, e-mail: jug@sonettele.com. Markov Roman, National Technical University of Ukraine «Kyiv Polytechnic Institute», Ukraine

УДК 004.021+004.052.42 001: 10.15587/2312-8372.2016.66444

РАЗРАБОТКА МЕТОДА ПРОВЕРКИ БЛОК-СХЕМ МЕДИЦИНСКИХ АЛГОРИТМОВ

Обеспечение высокого качества медицинской помощи требует точной и эффективной записи медицинских алгоритмов. Предложен метод для выявления частей схем алгоритмов, которые записаны не в соответствии с государственным стандартом, что допускает их неоднозначное толкование и может стать причиной врачебных ошибок. Дан алгоритм выявления таких частей, показан пример его применения для обнаружения ошибок.

Ключевые слова: алгоритм, стандарт, блок-схема, клиническое руководство, медицинский стандарт, клинический протокол.

Дубинский А. Г., Хорольский О. А.

1. Введение

Под руководством Министерства здравоохранения Украины уже несколько десятилетий ведется работа

по созданию полной базы медико-технологических документов по стандартизации медицинской помощи.

Новая система представлена тремя типами документов: унифицированные клинические протоколы медицинской

С

16

ТЕХНОЛОГИЧЕСКИЙ АУДИТ И РЕЗЕРВЫ ПРОИЗВОДСТВА — № 2/2(28], 2016, © Дубинский А. Г, Хорольский О. А.

i Надоели баннеры? Вы всегда можете отключить рекламу.