Научная статья на тему 'Разработка программных средств прозрачного удаленного доступа к технологическим параметрам буренияи данным скважинной телеметрической системы в условиях нестабильной связи'

Разработка программных средств прозрачного удаленного доступа к технологическим параметрам буренияи данным скважинной телеметрической системы в условиях нестабильной связи Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
92
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НАКЛОННО НАПРАВЛЕННОЕ БУРЕНИЕ / СОПРОВОЖДЕНИЕ БУРЕНИЯ / DIRECTIONAL DRILLING / DRILLING TRACKING / SSH / PORT FORWARDING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Литвинов Василий Сергеевич, Власов Александр Александрович, Тейтельбаум Дмитрий Владимирович

В процессе бурения нефтегазовых скважин требуется оказание удаленной поддержки с использованием существующих каналов связи с офисом, заключающейся в контроле параметров и принятии неотложных решений. Наиболее распространена спутниковая и мобильная связь, для которой характерна низкая скорость приема и передачи данных, частые разрывы, использование NAT. В рамках данной работы разработано программное средство прозрачного доступа к параметрам бурения и данным скважинной телеметрической системы с целью организации удаленного сопровождения по существующим каналам связи с учетом их ограничений. В основу программного средства легла реализация протокола SSH, что обеспечило сжатие и шифрование передаваемых данных и прозрачный доступ к TCP-сервисам на буровой. Благодаря этому возможно использование существующего ПО для доступа к данным телеметрической системы, что позволяет снизить объем передаваемых данных в сравнении с ПО удаленных рабочих столов. Программное средство прошло апробацию в условиях, близких к полевым, и показало свою пригодность к решению поставленных задач.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Литвинов Василий Сергеевич, Власов Александр Александрович, Тейтельбаум Дмитрий Владимирович

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

Development of Software for Transparent Remote Access to Technological Parameters of Drilling and Data from a Downhole Telemetry System in Unstable Communication Conditions

In some cases, the drilling of oil and gas wells requires support for the drilling process, which consists in monitoring the parameters and making urgent decisions. Accompanying drilling takes place using the existing communication channels between the office and drilling. Satellite and mobile communications are most common. They are characterized by a low speed of receiving and transmitting data, frequent disconnects, the use of NAT. As part of this work, a software tool has been developed for transparent access to drilling parameters and measurements while drilling from a telemetry system in order to organize remote tracking via existing communication channels, taking their limitations into account. The software was based on the implementation of the SSH protocol, which provided compression and encryption of the transmitted data and transparent access to TCP services at the rig. This makes it possible to use existing software to access drilling measurements, which makes it possible to reduce the amount of data transferred in comparison with remote desktops. The software has been tested in conditions close to the field, and has shown its suitability for solving the tasks it was designed for.

Текст научной работы на тему «Разработка программных средств прозрачного удаленного доступа к технологическим параметрам буренияи данным скважинной телеметрической системы в условиях нестабильной связи»

УДК 004.457

DOI 10.25205/1818-7900-2019-17-2-101-113

Разработка программных средств прозрачного удаленного доступа к технологическим параметрам бурения и данным скважинной телеметрической системы в условиях нестабильной связи

В. С. Литвинов А. А. Власов 2, Д. В. Тейтельбаум 3

1 Новосибирский государственный университет Новосибирск, Россия

2 Институт нефтегазовой геологии и геофизики им. А. А. Трофимука СО РАН

Новосибирск, Россия 3 ООО НПП ГА «Луч» Новосибирск, Россия

Аннотация

В процессе бурения нефтегазовых скважин требуется оказание удаленной поддержки с использованием существующих каналов связи с офисом, заключающейся в контроле параметров и принятии неотложных решений. Наиболее распространена спутниковая и мобильная связь, для которой характерна низкая скорость приема и передачи данных, частые разрывы, использование NAT. В рамках данной работы разработано программное средство прозрачного доступа к параметрам бурения и данным скважинной телеметрической системы с целью организации удаленного сопровождения по существующим каналам связи с учетом их ограничений. В основу программного средства легла реализация протокола SSH, что обеспечило сжатие и шифрование передаваемых данных и прозрачный доступ к TCP-сервисам на буровой. Благодаря этому возможно использование существующего ПО для доступа к данным телеметрической системы, что позволяет снизить объем передаваемых данных в сравнении с ПО удаленных рабочих столов.

Программное средство прошло апробацию в условиях, близких к полевым, и показало свою пригодность к решению поставленных задач.

Ключевые слова

наклонно направленное бурение, сопровождение бурения, SSH, port forwarding Благодарности

Выражаем благодарности ведущему инженеру-программисту ИТС СУБР-1 ПАО «Сургутнефтегаз» Рустему Рафаилевичу Гильфанову, начальнику отдела по телеметрическому сопровождению скважин управления по бурению ПАО «Сургутнефтегаз» Андрею Владимировичу Овчаренко за помощь во внедрении разработанного средства.

Работа выполнена при поддержке проекта ФНИ № 0331-2019-0015 «Реалистичные теоретические модели и программно-методическое обеспечение геоэлектрики гетерогенных геологических сред»

Для цитирования

Литвинов В. С., Власов А. А., Тейтельбаум Д. В. Разработка программных средств прозрачного удаленного доступа к технологическим параметрам бурения и данным скважинной телеметрической системы в условиях нестабильной связи // Вестник НГУ. Серия: Информационные технологии. 2019. Т. 17, № 2. С. 101-113. DOI 10.25205/1818-7900-2019-17-2-101-113

© В. С. Литвинов, А. А. Власов, Д. В. Тейтельбаум, 2019

Development of Software for Transparent Remote Access to Technological Parameters of Drilling and Data from a Downhole Telemetry System in Unstable Communication Conditions

V. S. Litvinov \ A. A. Vlasov 2, D. V. Teytelbaum 3

1 Novosibirsk State University Novosibirsk, Russian Federation

2 Trofimuk Institute of Petroleum-Gas Geology and Geophysics SB RAS Novosibirsk, Russian Federation

3 SPE «Looch» Novosibirsk, Russian Federation

Abstract

In some cases, the drilling of oil and gas wells requires support for the drilling process, which consists in monitoring the parameters and making urgent decisions. Accompanying drilling takes place using the existing communication channels between the office and drilling. Satellite and mobile communications are most common. They are characterized by a low speed of receiving and transmitting data, frequent disconnects, the use of NAT. As part of this work, a software tool has been developed for transparent access to drilling parameters and measurements while drilling from a telemetry system in order to organize remote tracking via existing communication channels, taking their limitations into account.

The software was based on the implementation of the SSH protocol, which provided compression and encryption of the transmitted data and transparent access to TCP services at the rig. This makes it possible to use existing software to access drilling measurements, which makes it possible to reduce the amount of data transferred in comparison with remote desktops.

The software has been tested in conditions close to the field, and has shown its suitability for solving the tasks it was designed for. Keywords

directional drilling, drilling tracking, SSH, port forwarding Acknowledgements

We are grateful to Rustem R. Gilfanov, Chief Engineer of ITT SUBR-1 of PJSC "Surgutneftegaz", and Head of the Department for Telemetry Support of the Well of the Drilling Department of PJSC "Surgutneftegaz" Andrei V. Ov-charenko for assistance in implementing the developed tool.

This work was supported by the FNI project no. 0331-2019-0015 "Realistic theoretical models and software and methodological support for geoelectrics of heterogeneous geological environments" For citation

Litvinov V. S., Vlasov A. A., Teytelbaum D. V. Development of Software for Transparent Remote Access to Technological Parameters of Drilling and Data From a Downhole Telemetry System in Unstable Communication Conditions. Vestnik NSU. Series: Information Technologies, 2019, vol. 17, no. 2, p. 101-113. (in Russ.) DOI 10.25205/18187900-2019-17-2-101-113

Введение

При бурении нефтегазовых скважин возникают нештатные ситуации, требующие принятия неотложных решений. Промедление с разрешением таких ситуаций может привести к тяжелым последствиям для персонала, оборудования, ствола скважины, к трате ресурсов на устранение этих последствий. Для контроля параметров бурения и принятия неотложных решений привлекаются высококвалифицированные специалисты [1; 2], чаще работающие в офисе и занимающиеся надзором над бурением сразу нескольких скважин. Выезд специалистов на буровые площадки нежелателен с экономической точки зрения и происходит только в экстренных случаях. Существует типичный набор средств, применяемых для решения задачи удаленного сопровождения бурения, но специалисты, работающие с ними, сталкиваются с ограничениями, связанными с особенностями каналов связи офиса и буровых, организацией вычислительных сетей предприятия, вопросами информационной безопасности, простотой применения данных средств. Например, при использовании спутникового канала связи ПО удаленного рабочего стола может в сжатые сроки истратить значительную часть отведенного на месяц работы трафика буровой. Использование мобильной связи накладыва-

ет ограничения на использование ПО, требующего прямого подключения к ПК буровой, из-за механизма преобразования сетевых адресов.

В рамках работы была поставлена задача разработать программное средство прозрачного удаленного доступа к технологическим параметрам бурения и данным скважинной телеметрической системы в условиях нестабильной связи с целью сопровождения бурения и оказания помощи инженерам наклонно направленного бурения. Задача была разбита на этапы:

1) определить основных организаторов и участников процесса удаленного сопровождения бурения и их роли; выделить функциональные требования к программному средству; основываясь на характеристиках каналов связи офиса и буровой, на предпочтениях участников процесса, определить нефункциональные требования;

2) провести анализ технических средств, пригодных для удовлетворения поставленных требований и выбрать из них наиболее подходящие для реализации программного средства;

3) спроектировать программное средство, основанное на выбранном наборе технических средств: понять, каким образом пользователи будут с ним взаимодействовать, на какие функциональные блоки оно будет декомпозировано, проработать сценарии внедрения и поддержки;

4) определить методику тестирования и наладки, подобрать необходимые инструменты;

5) реализовать программное средство;

6) провести тестирование и отладку, сделать замеры использования сетевых ресурсов, времени безотказной работы, проверить пригодность разработанного средства для решения поставленных задач;

7) апробировать разработанное программное средство для сопровождения бурения нефтегазовых скважин с телеметрической системой "Луч".

Организация процесса сопровождения бурения

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

1. Спутниковая связь. Зачастую это единственный вариант, доступный в полевых условиях из-за удаленности от населенных пунктов. Задержка передачи данных при таком способе соединения достигает нескольких сотен миллисекунд. Скорость приема данных обычно лежит в интервале от 64 кбит/c до 6 Мбит/c, скорость передачи - от 32 кбит/с до 2 Мбит/с. Часто указанная пропускная способность разделяется между несколькими буровыми. Максимально возможная скорость приема-передачи данных зависит от множества физических параметров, от погодных условий, однако телекоммуникационное оборудование рассчитано на работу на скорости сотен мегабит в секунду. Обычно на буровых устанавливается спутниковый модем с маршрутизатором.

2. Мобильная связь (GPRS, 3G, 4G) вблизи населенных пунктов, в зонах покрытия сети. Она имеет меньшие задержки передачи данных, проще в организации. Как правило, устройство абонента не имеет адреса в Интернете, поэтому прямой доступ к ПК на буровой затруднен, и приходится использовать ПО, в котором соединения устанавливаются недоступной через Интернет стороной (например, Teamviewer).

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

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

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

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

Анализ технических средств

Проведем краткий анализ инструментов, применяемых для удаленного контроля параметров бурения.

1. Специализированное клиентское ПО - программное обеспечение для контроля параметров бурения с клиент-серверной архитектурой, поддерживающее работу со специализированными форматами для машинной обработки. Данные каротажа обычно хранятся на сервере и могут быть представлены в разных форматах, например в текстовом LAS (Log ASCII Standard), PDF (каротажный материал в графическом виде). Доступ к данным, хранящимся на сервере, может осуществляться по различным протоколам - как открытым (WITS), так и проприетарным, специфичным только для определенного ПО. Примером такого ПО может служить RealDepth 5 для работы с телеметрической системой «Луч» [3], использующее специально разработанный протокол, который позволяет передавать не только глубинные, но и временные данные. Часто реализуются системы сбора и интерпретации данных, создаваемые для решения узкоспециализированных задач [4].

2. Удаленный рабочий стол - обобщенное название приложений для удаленного управления рабочим столом с клиент-серверной архитектурой (например, TightVNC, Radmin).

3. TeamViewer 1 - это приложение для удаленного управления и организации конференций. Отличие этого средства от удаленного рабочего стола заключается в использовании промежуточного сервера, доступного обеим сторонам, для установления соединения. Это позволяет подключаться к рабочим столам пользователей, чьи ПК недоступны из-за NAT.

4. VPN - это обобщенное название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети. Используется вместе с клиентским ПО из п. 1, 2.

5. SSH port forwarding - это технология и тип SSH-канала, предусмотренные стандартом протокола SSH 2. Поддержка таких каналов на стороне SSH-сервера позволяет перенаправлять TCP/IP соединения с определенного порта сервера на определенный адрес и порт со стороны клиента. Используется вместе с клиентским ПО из п. 1, 2.

Было проведено сравнение этих инструментов по нескольким параметрам, связанным с особенностями удаленного сопровождения бурения нескольких скважин (см. таблицу):

1) скорость - пригодность для использования в условиях низкой пропускной способности канала связи;

2) конфиденциальность - обеспечение конфиденциальности передаваемых данных;

3) прозрачность - возможность использовать специализированное клиентское ПО, установленное на ПК специалиста. Это может быть полезным, когда на ПК специалиста уже настроено свое привычное окружение;

1 TeamViewer - удаленная поддержка, удаленный доступ, служба поддержки, совместная работа онлайн и совещания. https://www.teamviewer.com/

2 RFC 4254 - The Secure Shell (SSH) Connection Protocol. https://tools.ietf.org/html/rfc4254

4) привилегии - отсутствие необходимости изменения системных параметров на ПК буровой или топологии существующей сети: не требуется привлечение системного администратора для настройки средства для удаленного доступа и поддержания его в работоспособном состоянии;

5) простота - простота настройки в полевых условиях инженерами наклонно направленного бурения;

6) интерфейс - наличие единого интерфейса для отображения информации о множестве буровых: состояние и параметры подключения, иная дополнительная информация.

Результаты сравнения инструментов The Results of the Comparison Tools

Средство Параметр

Скорость Конфиденциальность Прозрачность Привилегии Простота Интерфейс

Специализированное клиентское ПО ? ? + + + -

Удаленный рабочий стол ? ? - ? - -

TeamViewer + + - + + +

VPN + + + - - +

SSH portfWd + + + + - -

Примечание: знаки «+», «-», «?» обозначают соответствие, несоответствие, возможное соответствие (зависит от конкретного выбора) рассматриваемого средства выбранному параметру.

Note: the signs "+", "-", "?" Denote correspondence, nonconformity, possible correspondence (depending on the particular choice) of the considered tool to the selected parameter.

По результатам анализа (см. таблицу), ни одно из рассмотренных средств в полной мере не учитывает всех важных особенностей удаленного сопровождения бурения.

Анализ требований и проектирование

Разрабатываемое программное средство рассматривалось с нескольких точек зрения.

1. С точки зрения ведущих инженеров наклонно направленного бурения, работающих в офисе. В их интересах иметь средство для оперативного доступа к данным бурения, чтобы контролировать параметры совместно с полевыми инженерами наклонно направленного бурения. В разных ситуациях могут быть удобными разные решения: сеанс удаленного рабочего стола, если у полевого инженера возникли проблемы с настройкой ПО, или подключение клиентским ПО забойной телеметрической системы. По сравнению с использованием удаленного рабочего стола это позволяет экономно расходовать отведенный объем трафика. Поэтому было предложено с помощью разрабатываемого программного средства предоставлять доступ к нескольким сервисам, запущенным на ПК буровой. Было предложено реализовать монитор, отображающий состояние программного средства на ПК буровой и доступность указанных сервисов, способ подключения к этим сервисам. Кроме того, при разборе нештатных ситуаций возникает потребность понять, находился ли полевой инженер на рабочем месте в определенный момент времени, чем он был занят. Для этого было предложено собирать с ПК буровых снимки экранов и наличие пользовательского ввода, отображать эти дан-

ные в мониторе ведущего инженера и иметь возможность сформировать из них отчет за указанный промежуток времени.

2. С точки зрения системных администраторов, работающих в офисе, занимающихся разворачиванием и настройкой программного средства. В их задачи входит сетевое администрирование и формирование списка зарегистрированных ПК буровых, чтобы ведущие инженеры имели доступ только к нужным буровым. Месячный трафик нескольких буровых ограничен, поэтому для контроля над расходом трафика средством удаленного контроля было предложено встроить в него сбор статистики использования сети и инструмент для просмотра этой статистики за определенный временной интервал. В случае аномального расхода трафика средством удаленного контроля системные администраторы смогут установить причину данного явления.

3. С точки зрения полевых инженеров наклонно направленного бурения - инженеров телеметрической службы, ГТИ. Основная их работа - планирование и организация работ по геонавигационному сопровождению скважин, и непосредственно сопровождение. Предполагалось, что их участие в процессе настройки и эксплуатации программного средства удаленного контроля потребуется только в целях диагностики.

Основными нефункциональными требованиями были:

1) ограничение на объем передаваемых собственных данных программного средства;

2) сжатие и шифрование всего трафика программного средства;

3) простота в обращении для полевых инженеров - отсутствие надобности читать руководство по эксплуатации для выполнения основных действий с программным средством; в идеальном случае отсутствие какого-либо взаимодействия полевого инженера по наклонно направленному бурению с программным средством;

4) длительное время стабильной работы программного средства;

5) работоспособность программного средства в условиях плохой связи с частыми разрывами соединения;

6) возможность запуска на ОС Windows 7, 8, 10, Linux.

Общая схема работы программного средства

В основу разрабатываемого средства было решено положить технологию SSH port forwarding (перенаправление портов), так как ее настройка и использование не требуют изменения системных параметров. Из этого выбора следует, что архитектура разрабатываемого программного средства должна быть клиент-серверной, где клиентами будут являться узлы, расположенные на буровых, на которых запущены сервисы, предоставляющие по TCP/IP доступ к технологическим параметрам бурения и данным скважинной телеметрической системы (рис. 1). На сервере должна быть запущена командная оболочка, через которую клиенты будут передавать данные о своем состоянии. Настройки клиентов хранятся на сервере и отдаются по запросу, переданному в командную оболочку при установке соединения. Это позволяет задавать настройки каждого из клиентов через интерфейс администратора.

Интерфейс для отображения списка подключенных клиентов и их состояния было решено реализовать в виде постоянно обновляющейся веб-страницы.

При переезде или расформировании партии ИТС или ГТИ, при отправке неисправных компьютеров на ремонт возможен несанкционированный доступ к серверу. Поэтому в системе должна быть предусмотрена возможность закрывать указанному клиенту доступ на сервер. Было рассмотрено два технических решения, одно из которых основывается на работе с пользователями ОС, другое - на использовании списка авторизованных публичных ключей SSH. Для реализации был выбран второй вариант, так как он требует меньших привилегий в ОС. Кроме того, в реализации OpenSSH-сервера есть возможность гибко управлять ресурсами, доступными клиенту (параметры «Permit*» 3), в том числе прошедшему аутентифика-

3 sshd_config(5) - OpenBSD manual pages. https://man.openbsd.org/sshd_config ISSN 1818-7900 (Print). ISSN 2410-0420 (Online)

Вестник НГУ. Серия: Информационные технологии. 2019. Том 17, № 2 Vestnik NSU. Series: Information Technologies, 2019, vol. 17, no. 2

цию с помощью заданного публичного ключа. Это немаловажно с точки зрения безопасности, так как можно быть уверенным, что клиент не использует не предназначенные для него ресурсы. Идентификация пользователя в системе осуществляется с помощью 128-битного отпечатка (fingerprint) публичного ключа.

Клиентское ПО состоит из функциональных блоков («сервисов»), которые включаются и настраиваются автоматически на основании ответа сервера на запрос получения конфигурации клиента.

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

1. RemoteTunnel запускает механизм перенаправления портов для указанных локальных TCP-серверов (например, RealDepth5 [5], служащего для чтения и обработки данных сква-жинной телесистемы и наземных датчиков, TightVNC (VNC) для удаленного управления компьютером и передачи файлов), отправляет состояние перенаправления (локальную доступность сервиса; ошибки при открытии порта на сервере) на сервер через командную оболочку.

2. Screenshot периодически делает снимки экрана и отправляет их через командную оболочку. В веб-интерфейсе реализована функциональность просмотра снимков экрана для заданного клиента, а также построения отчетов об активности клиентов во времени на основании наличия снимков экранов.

3. Netstat - ведет учет использования сети клиентом, периодически отправляет статистику на сервер через командную оболочку.

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

4. Bootstrap - сервис, создающий все остальные на основе конфигурации, полученной от сервера.

Видимое состояние сервисов состоит из двух логических переменных: исправность «локальной» и «удаленной» части сервиса. Данные понятия интерпретируются по-разному в зависимости от типа сервиса.

В результате была выработана архитектура программного средства для удаленного сопровождения бурения, показанная на рис. 1.

Рис. 1. Архитектура программного средства и схема подключения ПК буровых и ПК специалиста к серверу для оказания удаленной помощи. Каждому из клиентов на сервере автоматически выделяется диапазон TCP-портов для проброса сервисов. В данном примере для ПК на буровой № 1 выделен диапазон 10000-10001, для ПК на буровой № 2 выделен диапазон 10002-10003. Серым фоном обозначены разработанные компоненты

Fig. 1. The architecture of the software and the connection scheme of the drilling rig's PC and specialist's PC to the remote assistance server. Each of the clients on the server is automatically allocated a range of TCP ports for forwarding services. In this example, the range 10000-10001 is allocated for the PC at the drilling rig no. 1, and the range 1000210003 is allocated for the PC at the drilling rig no. 2. The gray background indicates the developed components

С учетом возможностей и ограничений выбранных средств были разработаны сценарии взаимодействия клиента с сервером, пользователей с программным средством во время регистрации на сервере и в нормальном рабочем режиме, при котором происходит процесс удаленного сопровождения бурения.

Сценарий регистрации клиента на сервере.

1. Клиентское ПО генерирует пару ключей для шифрования.

2. Клиентское ПО проходит аутентификацию на сервере с заранее известным паролем и через командную оболочку передает серверу запрос на регистрацию с данными о себе: имя ПК, публичный ключ. При таком режиме аутентификации это единственный доступный клиенту запрос.

3. На сервере указанный клиент попадает в множество кандидатов на регистрацию.

4. Администратор или ведущий инженер через веб-интерфейс выбирает кандидатов на регистрацию и переносит их в основной список клиентов для сопровождения. После этого клиенту доступны аутентификация с помощью публичного ключа и множество запросов на передачу служебной информации.

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

Типичный сценарий подключения к сервису на ПК буровой.

1. Клиентское ПО подключается автоматически к серверу и проходит описанный в предыдущем сценарии процесс настройки.

2. Ведущий инженер через веб-интерфейс наблюдает за состоянием (работоспособность, номер TCP-порта) интересующего его сервиса на ПК полевого инженера. Если сервис доступен, ведущий инженер вводит настройки подключения клиентского ПО, адрес сервера удаленного сопровождения и номер соответствующего сервису порта, подключается к сервису на буровой и осуществляет сопровождение бурения в соответствии с установленными стандартами.

Методика тестирования и отладки

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

Для проверки соответствия программного средства требованиям, связанным со скоростью передачи данных и их объемом, было предложено искусственно ограничивать максимальные скорости приема и передачи данных для клиентского приложения и наблюдать за его работоспособностью при выставленных ограничениях. Для этого использовалось ПО NetLimiter. Кроме того, с помощью отладочного вывода проверялось, возобновляется ли передача крупных посылок при восстановлении соединения после разрыва, типичного для спутникового или мобильного канала связи.

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

В числе нефункциональных требований указано длительное время стабильной работы программного средства. Поскольку формальное доказательство корректности программы трудозатратно, был предложен следующий критерий: на ПК разработчиков программное средство должно проработать без ошибок в течение 10 дней. Это срок, сравнимый со временем нахождения телеметрической системы под столом ротора буровой. Режим использова-

ния ПК на буровой схож с режимом использования разработчиками их компьютеров, поэтому предполагалось, что такой критерий должен подойти.

Детали реализации

В ходе разработки приветствовалось использование свободно распространяемого программного обеспечения. Поэтому в качестве ОС для сервера был использован дистрибутив CentOS 7 Linux. Среди других он выделялся наибольшим сроком поддержки и выпуска обновлений. Файлы сервера и скрипты для установки были упакованы в пакет RPM, так как часть задач при установке сервера удаленного сопровождения бурения выполняет менеджер пакетов, а обновление или удаление можно провести штатными инструментами.

Для реализации программного средства был взят OpenSSH сервер версии 7.8, поскольку в настройках этой версии появились необходимые опции для ограничения возможностей подключенных клиентов. Например, используется параметр PermitListen для задания доступного клиенту диапазона портов сервера, на которых можно запускать механизм перенаправления. Также используется переменная среды SSH_USER_AUTH (появилась в версии 7.6), задаваемая процессу ssh, по значению которой можно узнать, какой механизм аутентификации был использован, идентифицировать клиента и определить набор команд, доступных ему на выполнение в командной оболочке. Для этого стандартная командная оболочка для соответствующего пользователя в ОС была заменена на свою, в которой проводится идентификация пользователя по этой переменной, генерируется и отправляется на стандартный вывод уникальный номер сессии, а в базу данных записываются параметры этой сессии.

Основная командная оболочка реализована в виде TCP-сервера, так как это проще в отладке, не требует создания и настройки псевдотерминала и борьбы с особенностями его работы (эхо, переносы строк). Клиенты получают к нему доступ через SSH local port forwarding, в посылки включают выданный первичной командной оболочкой номер сессии. Для предотвращения нехватки места на диске записи о старых неактивных сессиях стираются из базы данных.

Данные клиентов, хранящиеся в файловой системе, организованы в дерево с путями вида идентификатор пользователя>/<год>/<месяц>/<день>/<час>/. С такой структурой легко удаляются данные конкретного клиента (все сразу или в указанном временном интервале), например, при его удалении через веб-интерфейс или при автоматической очистке старых данных. Очистка запускается по расписанию, и при нехватке места в файловой системе удаляются данные старше заданного возраста.

Серверная часть веб-интерфейса была реализована с использованием фреймворка Django, так как автор был с ним частично знаком, в комплекте шли библиотека для ORM и система шаблонов веб-страниц. Этот выбор определил основной язык для реализации остальных компонент сервера - Python 3. В качестве веб-сервера был выбран Apache 2 с включенным mod_wsgi, впоследствии на нем была настроена поддержка HTTPS с самоподписанным сертификатом. Клиентская часть (рис. 2) веб-интерфейса была реализована с использованием библиотеки jQuery, упрощающей разработку динамических страниц, и библиотеки стилей Bootstrap. Большинство запросов на сервер отправляются периодически с использованием AJAX.

Клиентская часть (см. рис. 2) была написана на языке C++14, так как библиотека libssh2 для работы с SSH реализована на языке C, и автор был знаком с фреймворком Qt 5 для построения графических пользовательских интерфейсов. Конфигурацию клиента (настройки подключения и сервисов) было решено не выносить в отдельный текстовый файл, а оставить в исполняемом файле, чтобы избежать случайной порчи рабочих настроек. Клиентское приложение при запуске сворачивается в область уведомлений и переходит на передний план лишь при необходимости ввода одноразового пароля для регистрации. Пара ключей для SSH генерируется один раз и хранится в директории для локальных файлов приложений. Там же находится файл с журналом событий, ограниченный размером 10 МБ, который может быть

использован для устранения неполадок в работе данного программного средства. При нормальной работе программного средства у оператора не должна возникать потребность открывать главное окно, однако при возникновении сбоев в работе оно может быть полезно, так как содержит состояния подключения и сервисов, которые можно передать разработчикам и получить указания по дальнейшим действиям. Клиент был скомпилирован и протестирован для ОС Windows 7, 10, Centos 7 Linux, Ubuntu 18.04 Linux.

Архив; снимков: Litviiov vig'Jencvc

Выберите датf (1ГГС+Т) (эегешм Выберите «ас в сутках (UTC+7): ПОМЕЧЕН ы даты, для ИТОрЫХ есть снимка):

Ijj

Интерфейс для выбора даты н времени

ф Mardi KU В Ч ©

МО TU WI тп fr sa зи\

•Гв 7

ы

Сннмен за указанный час

il-j: ti I LÜI-.'J IÜCI i ! hi I MUI it I К!!! < MUI l^t I L I

^ Удаленный помощник чЛу4» X

Ссэпис Стпгус

Net stats •

Sireenshot-Z •

Tunnel: Radmín

Tunnel: TíghtV.,.

Tunnel: USBons

Переподключиться

Беэсня 1,0.85.0.181112 Лгиензид

Рис. 2. Главное окно веб-интерфейса со списком зарегистрированных клиентов, состоянием подключений и сервисов, а также последним снимком экрана (вверху). Окно просмотра архивных снимков экрана для выбранного клиента (внизу слева) и главное окно клиента (внизу справа)

Fig. 2. The main window of the web interface with a list of registered clients, the status of connections and services, as well as the latest screen shot. Bottom left is a window for viewing archived screenshots for a selected client. Bottom right is the main client window.

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

временного его обновления на веб-интерфейсе отображается версия запущенного клиента. Версия присваивается автоматически во время сборки в системе непрерывной интеграции Jenkins.

Тестирование

В результате тестирования по описанной выше методике были получены следующие характеристики и выводы:

1) минимальная скорость, при которой удалось добиться стабильной работы программного средства, - 3 кбит/c на прием и передачу данных;

2) снимок экрана в формате PNG с максимальной степенью сжатия и 24 битами цвета занимает объем около 200 КБ при типичном для бурения наборе открытых окон и их компоновки;

3) в качестве заставки рекомендуется использовать сплошную заливку одним цветом, так как снимок такого рабочего стола лучше сжимается;

4) программное средство работает стабильно в течение трех-четырех недель, затем может произойти критический сбой, причина которого пока не выявлена.

Апробация

Представленное программное средство прошло этап внедрения в отдел программного обеспечения НПП ГА "Луч". Данное внедрение имело во многом тестовый характер, в его рамках проводились испытания с ограничением скорости приема и передачи данных. Но нашлось и практическое применение для данного средства: оно было использовано для учета рабочего времени сотрудников и заполнения табелей и для оказания поддержки в использовании телеметрической системы "Луч". Программная часть данной телеметрической системы устанавливается на ПК полевого инженера наклонно направленного бурения. В нее входят сервер баз данных; сервис RealDepth5 [5], взаимодействующий непосредственно с аппаратной частью телесистемы, регистрирующий параметры бурения и предоставляющий к ним доступ по специальному протоколу; графический монитор полевого инженера, взаимодействующий с сервисом и отображающий параметры бурения скважины. В ходе эксплуатации телеметрической системы была обнаружена ошибка в работе программы, вызванная переходом базы данных в несогласованное состояние. С помощью разработанного средства удалось подключиться к СУБД и восстановить работоспособность телеметрической системы. При этом от полевого инженера не требовалось никаких действий по работе с этим средством. Кроме того, по запросу осуществляется подключение к сервису RealDepth5 для оказания консультаций по работе комплекса.

В ходе данного внедрения был создан образ виртуальной машины с серверной частью разработанного средства - с пустым списком зарегистрированных клиентов и отсутствием каких-либо записей об активности. Если возникает необходимость разграничить доступ ведущих инженеров к разным ПК буровых, то это можно осуществить, создав нужное количество копий образа виртуальной машины и изолировав их друг от друга.

В настоящее время проводится внедрение в телеметрическую службу ПАО «Сургутнефтегаз». В данной организации уже имеется сеть VPN, объединяющая буровые с офисом управления бурением, поэтому возможность удаленного доступа уже была там до внедрения. Предполагается, что разработанное программное средство найдет применение в качестве монитора состояния сервисов на буровых и как единая точка доступа к данным бурения. Кроме того, полезной будет информация об активности пользователей, например, при разборе нештатных ситуаций.

Заключение

Разработано программное средство для прозрачного удаленного доступа к технологическим параметрам бурения и данным скважинной телеметрической системы в условиях нестабильной связи. За основу средства была взята клиент-серверная архитектура с сервером, расположенным в офисе, и клиентами, расположенными на буровой и имеющими прямой доступ к данным бурения. С применением данного средства ведущие инженеры наклонно направленного бурения для доступа к данным бурения могут использовать те же программные средства, что и полевые инженеры. Средство из-за набора технологий получилось универсальным, пригодным не только для удаленного доступа к данным бурения, а к любым данным, доступным по TCP/IP на ПК буровой. Реализован сбор снимков экранов и времени активности пользователей ПК буровой как дополнительного источника информации при разборе нештатных ситуаций.

Проведены тесты, по результатам которых определена пригодность средства для работы в полевых условиях с использованием спутниковой и мобильной связи буровой и офиса: программное средство работает стабильно при скорости приема и передачи данных, равной 3 кбит/c, и без сбоев в течение трех-четырех недель.

С помощью данного программного средства оперативно устранены неисправности в работе ПО забойной телеметрической системы «Луч» путем подключения к СУБД на ПК буровой и переведением ее в согласованное состояние. Разработанное программное средство используется для удаленной помощи в эксплуатации данного комплекса.

Из недостатков можно отметить возможную необходимость учитывать доступность TCP-портов сервера (а следовательно, и клиентских сервисов, предоставляющих доступ к данным бурения) из локальной сети офиса и предотвращать несанкционированный доступ к ним. На данный момент этот недостаток устраняется с помощью творческого подхода системных администраторов, например, используются межсетевые экраны.

Список литературы / References

1. Amer A., Chinellato F., Collins S. et al. Structural Steering - A Path to Productivity. Oilfield Review 25, 2013, no. 1, p. 14-31.

2. Gorgone I., Gomez J., Uddenberg G. Remote operations, the future of drilling: Directional drilling remote control. In: SPE/IADC Drilling Conference, Proceedings, 2008, vol. 1, p. 554559.

3. Власов А. А., Фаге А. Н., Тейтельбаум Д. В., Расковалов П. С. Программа для предварительной обработки данных автономного каротажа RealDepth 5, .№2014662063 от 21 ноября 2014 г.

Vlasov A. A., Fage A. N., Teitel'baum D. V., Raskovalov P. S. Programma dlya predvari-tel'noi obrabotki dannykh avtonomnogo karotazha RealDepth 5, .№2014662063, 21 November 2014. (in Russ.)

4. Sun Q., Sun Y. The application of real-time data remote transmission for LWD/MWD in oilfield. In: Proceedings of the International Conference on E-Commerce, E-Business and E-Service, EEE, 2014, vol. 1, p. 155-158.

5. Косогова Н. О., Баранов Д. В., Власов А. А., Тейтельбаум Д. В. Информационное средство хранения, мониторинга и первичной обработки данных забойной телеметрической системы измерений процесса бурения // Интерэкспо ГЕ0-Сибирь-2016. XII Меж-дунар. науч. конгр. «Недропользование. Горное дело. Направления и технологии поиска, разведки и разработки месторождений полезных ископаемых. Геоэкология» (г. Новосибирск, 18-22 апреля 2016 г.): Сб. материалов: В 4 т. Новосибирск, 2016. Т. 2. С. 43-47.

Kosogova N. O., Baranov D. V., Vlasov A. A., Teitelbaum D. V. Informatsionnoe sredstvo khraneniya, monitoringa i pervichnoi obrabotki dannykh zaboinoi telemetricheskoi sistemy izmerenii protsesse bureniya. In: Interexpo GEO-Siberia-2016. XII International Exhibition and Scientific Congress. Novosibirsk, 2016, vol. 2, p. 43-47.

Материал поступил в редколлегию Received 15.03.2019

Сведения об авторах / Information about the Authors

Литвинов Василий Сергеевич, магистрант факультета информационных технологий Новосибирского государственного университета (ул. Пирогова, 1, Новосибирск, 630090, Россия)

Vasiliy S. Litvinov, Master's Student, Faculty of Information Technologies, Novosibirsk State University (1 Pirogov Str., Novosibirsk, 630090, Russian Federation)

kvas.omsk@gmail.com

Власов Александр Александрович, кандидат технических наук, старший научный сотрудник, Институт нефтегазовой геологии и геофизики им. А. А. Трофимука СО РАН (пр. Академика Коптюга, 3, Новосибирск, 630090, Россия)

Alexander A. Vlasov, Candidate of Science (Techniques), Senior Researcher, Trofimuk Institute of Petroleum-Gas Geology and Geophysics SB RAS (3 Academician Koptyug Ave., Novosibirsk, 630090, Russian Federation)

vlasovaa@ipgg.sbras.ru

Тейтельбаум Дмитрий Владимирович, начальник отдела ПО, ООО Научно-производственное предприятие геофизической аппаратуры «Луч» (ул. 2-я Юргинская, 34, Новосибирск, 630051, Россия)

Dmitry V. Teytelbaum, head of IT department of SPE "Looch" (34 2-ya Yurginskaya Str., Novosibirsk, 630051, Russian Federation)

teytelbaum@gmail.com

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