код ecp что это

Код ecp что это

Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций, разработанная для железных дорог Союза Советских Социалистических Республик и используемая сейчас на территории стран СНГ и Балтии.

Коды ЕСР присваиваются всем раздельным пунктам, кроме проходных светофоров автоблокировки (станциям, блок-постам, разъездам, остановочным пунктам).

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

Структура

Полный код ЕСР состоит из 6 цифр (например, код станции Сочи 532909, Москва-Пассажирская-Казанская 194013). Он представляет собой структуру, состоящую из четырех элементов:

NN — номер сетевого района, YY — порядковый номер станции в данном сетевом районе, Z — признак грузовых операций / порядковый номер, K — контрольная цифра.

Порядковый номер станции. За каждым участком дороги, входящим в район, закрепляется ряд номеров. Станции на участках нумеруют, как правило, по возрастанию в чётном направлении. Вне зависимости от принадлежности к участку присваивается код самой крупной (важнейшей) станции сетевого района. Он образуется добавлением к номеру района цифр 00. Например, код ЕСР станции Пенза III равен 6300.

Если станция является пограничной или на ней выполняется перевалка на водный транспорт, то для выделения вагонов назначением за границу или на перевалку выделяются дополнительные номера. Набор дополнительных номеров определяется количеством обслуживаемых направлений. Например, у станции Чоп кроме основного кода 380101 есть еще 5 кодов для разметки экспорта в разные страны.

Признак грузовых операций. В пятой позиции у станций, открытых для грузовых операций, всегда стоит 0. Если станция закрывается для грузовых операций, ей обязательно меняется код ЕСР и присваивается другой, в котором в пятой позиции будет стоять цифра, отличная от 0. Эти цифры используются по порядку аналогично порядковому номеру станции в районе. Но со временем порядок может быть нарушен. Основные причины: появление нового раздельного пункта между двумя другими, у которых номера шли последовательно; закрытие станции для грузовых операций.

Контрольная цифра. Это число от 0 до 9. Контрольная цифра определяется как остаток от деления на 11 суммы поразрядных произведений соответствующих цифр кода на порядковый номер каждой цифры. Если остаток равен 10, то для расчёта нумерацию цифр начинают с трёх (т.е. вместо 1-2-3-4-5 берут 3-4-5-6-7). Если и в этом случае остаток от деления на 11 равен 10, то контрольная цифра принимается равной 0. Например, для кода станции 635607 (Сызрань I) контрольная цифра рассчитывается следующим образом (умножение пятого знака пропущено, так как там стоит 0):

Число 51 делится с остатком на 11: неполное частное — 4, остаток — 7. Контрольная цифра кода равна 7.

Вариант расчета контрольной цифры для раздельного пункта без грузовых операций показан на примере остановочного пункта Матренино (197511):

Число 65 делится с остатком на 11: неполное частное — 5, остаток — 10. Требуется пересчет со сдвигом коэффициентов.

Число 111 делится с остатком на 11: неполное частное — 10, остаток — 1. Контрольная цифра кода равна 1.

Использование кодов

Коды ЕСР используются с разными сочетаниями атрибутов.

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

Работа на станциях, открытых для грузовых операций, часто выполняется с использованием 5-тизначного варианта NNYYK. У всех таких станций 5-й знак равен 0, что позволяет игнорировать его при передаче и получении информации. Зато контрольная цифра во входных сообщениях обязательна.

Выходные документы могут содержать информацию в формате NNYYZ, а для грузовых станций в 4-значном формате NNYY. Поскольку программная обработка таких документов не делается, контрольная цифра в них не нужна. Те же требования предъявляются к справочникам и нормативным документам, в которых коды записываются диапазонами, например, встречаются фразы: «вагоны назначением на участок Уяр исключительно – Тайшет исключительно (8930–8941)».

История

код ecp что это. 400px %D0%9F%D1%80%D0%B8%D0%BA%D0%B0%D0%B7 %D0%9C%D0%9F%D0%A1 %D0%A1%D0%A1%D0%A1%D0%A0 28%D0%A6 10 %D0%B8%D1%8E%D0%BB%D1%8F 1963. код ecp что это фото. код ecp что это-400px %D0%9F%D1%80%D0%B8%D0%BA%D0%B0%D0%B7 %D0%9C%D0%9F%D0%A1 %D0%A1%D0%A1%D0%A1%D0%A0 28%D0%A6 10 %D0%B8%D1%8E%D0%BB%D1%8F 1963. картинка код ecp что это. картинка 400px %D0%9F%D1%80%D0%B8%D0%BA%D0%B0%D0%B7 %D0%9C%D0%9F%D0%A1 %D0%A1%D0%A1%D0%A1%D0%A0 28%D0%A6 10 %D0%B8%D1%8E%D0%BB%D1%8F 1963. Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций, разработанная для железных дорог Союза Советских Социалистических Республик и используемая сейчас на территории стран СНГ и Балтии.

Единая сетевая разметка была введена Приказом Министра путей сообщения СССР. № 28Ц. г.Москва. 10 июля 1963 г. О введении на железных дорогах единой сетевой разметки грузовых документов.

Первая версия ЕСР содержала только станции, открытые для грузовых операций, и коды в них имели 4 знака (NNYY). Этого было достаточно для того, чтобы добавить в план формирования столбец с кодовыми таблицами, содержащим конструкции типа «2135-2148, 2154, 2157, 2159». В каждом грузовом документе был код ЕСР станции назначения вагона, и теперь можно было определить, в какой поезд его включать, без сверки с картой.

Внедрение на железнодорожном транспорте автоматизированных систем управления (АСУ) потребовало применения специализированных средств защиты от ошибок, а именно контрольного знака (К).

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

Обновление книг тарифного руководства производилось один раз в 10 лет. В период между изданиями книг регулярно выходили Сборники правил перевозок и тарифов, в которых публиковались все изменения перечня станций, кодов ЕСР и набора выполняемых операций. Эти изменения переносились вручную в книги, и тем самым поддерживалась их актуальность.

В последний раз в бумажном варианте Тарифное руководство №4 вышло в 2001 году.

Теперь основной экземпляр издается в электронном виде. Это позволяет в любой момент получить актуальное состояние кодов ЕСР, не тратя времени на выверку изменений в книге.

Источник

Единая сетевая разметка

Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций на территории стран СНГ и Балтии.

Код ЕСР также является частью кода железнодорожной станции в АСУЖТ.

Содержание

Структура

Код построен по принципу:

NN — номер сетевого района, YY — порядковый номер станции в данном сетевом районе, K — контрольная цифра.

Порядковый номер станции. За каждым участком дороги, входящим в район, закрепляется ряд номеров. Станции на участках нумеруют, как правило, по возрастанию в чётном направлении. Важнейшие станции районов имеют нулевые номера. Например, код ЕСР станции Пенза-3 равен 6300.

Контрольная цифра. Представляет собой число от 0 до 9. Контрольная цифра определяется как остаток от деления на 11 суммы поразрядных произведений соответствующих цифр кода на порядковый номер каждой цифры. Если остаток равен 10, то для расчёта нумерацию цифр начинают с трёх. Если же и в этом случает остаток будет равен 10, то контрольная цифра принимается равной 0. Например, для кода станции 63567 (Сызрань-1) контрольная цифра рассчитывается следующим образом:

Число 51 делится с остатком на 11: неполное частное — 4, остаток — 7. Контрольная цифра кода равна 7.

История

Код станций АСУЖТ

В кодах станций АСУЖТ основной код ЕСР дополняется пятой и шестой цифрами. Код построен по принципу:

Z — дополнительная цифра.

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

Нумерация остальных станций ведётся последовательно от 1 до 9, от базовой, как правило, в чётном направлении.

Шестая цифра кода АСУЖТ является контрольной, и рассчитывается аналогично контрольной цифре кода ЕСР. При этом, для грузовых станций контрольные цифры обоих кодов будут совпадать.

Источник

Справочник станций

Код ЕСРКраткое наименованиеПолное наименованиеРегионЖД
1000ПЕТРОЗАВОДСКПЕТРОЗАВОДСКРеспублика КарелияОктябрьская
1030ТОМИЦЫТОМИЦЫРеспублика КарелияОктябрьская
1040ШУЙСКАЯШУЙСКАЯРеспублика КарелияОктябрьская
1050СУНАСУНАРеспублика КарелияОктябрьская
1060ЗАДЕЛЬЕЗАДЕЛЬЕРеспублика КарелияОктябрьская
1070КОНДОПОГАКОНДОПОГАРеспублика КарелияОктябрьская
1080КЕДРОЗЕРОКЕДРОЗЕРОРеспублика КарелияОктябрьская
1150НОВЫЙ ПОСЕЛОКНОВЫЙ ПОСЕЛОКРеспублика КарелияОктябрьская
1090НИГОЗЕРОНИГОЗЕРОРеспублика КарелияОктябрьская
1100КЯППЕСЕЛЬГАКЯППЕСЕЛЬГАРеспублика КарелияОктябрьская
1110ПЕРГУБАПЕРГУБАРеспублика КарелияОктябрьская
1130МЕДВЕЖ ГОРАМЕДВЕЖЬЯ ГОРАРеспублика КарелияОктябрьская
1140ВИЧКАВИЧКАРеспублика КарелияОктябрьская
1180СЕГЕЖАСЕГЕЖАРеспублика КарелияОктябрьская
1190НАДВОИЦЫНАДВОИЦЫРеспублика КарелияОктябрьская
1200КОЧКОМАКОЧКОМАРеспублика КарелияОктябрьская
1210ИДЕЛЬИДЕЛЬРеспублика КарелияОктябрьская
1220ЛЕТНИЙЛЕТНИЙРеспублика КарелияОктябрьская
1230СОСНОВЕЦСОСНОВЕЦРеспублика КарелияОктябрьская
1270СУМСКИЙ ПОСАДСУМСКИЙ ПОСАДРеспублика КарелияОктябрьская

звонок бесплатный для всех регионов РФ

по всему миру, оплата в соответствии с тарифами вашего оператора связи

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

сообщить об ошибке

Железные дороги в вашем телефоне

Мы используем cookie-файлы для улучшения пользовательского опыта и сбора статистики. Для получения дополнительной информации вы можете ознакомиться с нашей Политикой использования cookie-файлов.

Источник

Полезная статья про EPC для владельцев VAG

код ecp что это. aAAAgJPeeA 100. код ecp что это фото. код ecp что это-aAAAgJPeeA 100. картинка код ecp что это. картинка aAAAgJPeeA 100. Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций, разработанная для железных дорог Союза Советских Социалистических Республик и используемая сейчас на территории стран СНГ и Балтии.

код ecp что это. PkAAAgBjIOA 960. код ecp что это фото. код ecp что это-PkAAAgBjIOA 960. картинка код ecp что это. картинка PkAAAgBjIOA 960. Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций, разработанная для железных дорог Союза Советских Социалистических Республик и используемая сейчас на территории стран СНГ и Балтии.

EPC – что это такое в машине?
Одним из бесспорных преимуществ введения в конструкцию автомобиля максимального количества электронных блоков является простота самодиагностики – о большинстве неисправностей автомобиль может сообщить водителю сразу в момент появления. Но, конечно, превращать панель приборов в подобие кабины самолета никто не будет – а в ряде случаев об этом приходится жалеть, пытаясь расшифровать своими силами значение загоревшихся на приборной панели индикаторов. Пожалуй, самым запутанным для водителя остается индикатор EPC, что доказывает даже выдача поисковых систем: по этой аббревиатуре выдаются ссылки на множество форумов, посвященных обсуждению одного и того же вопроса: «EPC – что это такое в машине?». Что ж, попробуем разобраться.

Физический смысл
К счастью, ломать голову над этой лампой приходится не всем автомобилистам, а только владельцам автомобилей, разработанных концерном VAG (Фольксваген, Ауди, Шкода), и Мерседес. С момента появления на этих автомобилях электронно-управляемых дроссельных заслонок появилось понятие:
«Electronic Power Control» – электронного управления мощностью двигателя, вкупе с другими системами необходимого, в частности, для стабилизации автомобиля – одновременно с избирательным подтормаживанием колес, к примеру, автомобиль сбрасывает и обороты двигателя.

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

Что делать с ошибками EPC?
Как Вы уже, наверно, поняли, точной информации о месте возникновения неисправности контрольная лампа EPC не дает. Для начала присмотритесь к ее поведению:
Постоянное горение – признак наличия непрерывно регистрируемой неисправности. Однако же, если работа двигателя при этом нормальна, стоит проехать на автомобиле некоторое расстояние – например, владельцы автомобилей Mercedes неоднократно отмечали, что контрольная лампа загорается при недостаточной зарядке аккумулятора.
Самопроизвольное зажигание и затухание, никак не связанное с действиями водителя чаще всего указывает на нарушение контакта в одном из разъемов или во встроенном в электронный дроссель датчике угла поворота заслонки. Двигатель при этом работает нестабильно, может глохнуть.
Если лампа EPC горит на холостом ходу и гаснет при прогазовке – чтож, морально готовьтесь к замене блока дроссельной заслонки. С крайне высокой долей вероятности дальнейшая диагностика покажет одну из следующих ошибок (коды даны для автомобилей VAG):
КОД РАСШИФРОВКА
P1171 Недостоверный сигнал датчика положения дроссельной заслонки 2
P1172 Сигнал ДПДЗ 2 слишком мал (короткое замыкание на массу)
P1173 Сигнал ДПДЗ 2 слишком велик
P1335 Невозможен контроль крутящего момента (т.е. ЭБУ впрыска не может рассчитать его, исходя из заложенных в прошивку карт – неисправен датчик давления во впускном коллекторе, датчик температуры воздуха или охлаждающей жидкости, негерметичен впускной коллектор)
P1388 Неисправен блок управления
P1542 Недостоверный сигнал ДПДЗ 1
P1543 Сигнал ДПДЗ 1 слишком мал
P1544 Сигнал ДПДЗ 1 слишком велик
P1545 Отказ сервопривода дросселя (обрыв обмоток, плохой контакт в разъеме)
P1559 Требуется повторная адаптация дросселя (недостоверное нулевое положение)
P1564 Недостаточное напряжение при попытке выполнения базовой установки: наибольшие подозрения в
сторону ДПДЗ
P1568 Механическая неисправность сервопривода
P1579 Требуется повторная адаптация дросселя (недостоверное центральное положение)
P1630 Низкий сигнал датчика педали газа 1
P1631 Высокий сигнал датчика педали газа 1
P1633 Низкий сигнал датчика педали газа 2
P1634 Высокий сигнал датчика педали газа 2
P1677 Цепь контрольной лампы EPC постоянно замкнута на «плюс» (т.е. неисправность не в системе
управления двигателем, а в самой проводке, идущей к лампе)

Самое главное – это запомнить, что диагностика необходима в любом случае, если горение лампы не прекращается или происходит периодически. Нужно понимать, что диагностика – это не просто «считывание кодов ошибок», как считают большинство автомобилистов: без контроля текущих данных и их сопоставления с эталонными для конкретной системы управления двигателем коды ошибок лишь указывают на возможное направление поиска неисправности (к примеру, при возникновении ошибок, связанных с адаптацией ДЗ, необходимо обязательно проверять работоспособность самих датчиков положения дросселя – их неисправность может распознаваться именно как сбитая адаптация).

Источник

ECP и API управления процессами

Прежде чем углубляться в тему, вспомним основные понятия, связанные с ECP.
ECP, или протокол распределённого кэша, лежит в основе взаимодействия серверов данных и серверов приложений. Он работает поверх TCP/IP, обеспечивающего надёжную транспортировку пакетов. Протокол ECP является собственностью фирмы InterSystems.
Серверы данных (СБД), иногда называемые серверами ECP, – это обычные установки Caché, на которых находятся локальные базы данных приложения. Глагол «находятся» не стоит понимать буквально: базы данных могут физически находиться, например, на сетевых системах хранения данных, доступных через iSCSI или FC; важно, что СУБД считает их локальными.
Серверы приложений (СП), иногда называемые клиентами ECP, – это обычные установки Caché, на которых работают процессы, обслуживающие пользователей прикладной системы. Иными словами, на серверах приложений выполняется прикладной код (отсюда их название). Поскольку это обычные установки Caché, на них имеется стандартный набор системных локальных баз данных: CACHESYS, CACHELIB, CACHETEMP и т.д. Это важно, но не это главное. Гораздо важнее, что прикладные БД, локальные по отношению к серверам данных, монтируются как удалённые базы данных на серверах приложения. В общем виде схема взаимодействия показана на рисунке.

код ecp что это. image loader. код ecp что это фото. код ecp что это-image loader. картинка код ecp что это. картинка image loader. Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций, разработанная для железных дорог Союза Советских Социалистических Республик и используемая сейчас на территории стран СНГ и Балтии.
Основные компоненты ECP

Что такое кэш данных, надеюсь, объяснять не надо. Распределённый кэш, фигурирующий в названии протокола ECP, в общем-то не более, чем метафора: кэш, конечно же, всегда локален. Но если на сервере приложений происходит чтение узла удалённого глобала, соответствующий блок копируется из кэша сервера данных в кэш сервера приложений, так что повторные обращения к соседним узлам того же глобала будут происходить локально, без повторного обращения к сети и серверу данных. Чем дольше работает система, тем актуальнее становится наполнение локального кэша на СП (как говорят, тем лучше он «разогревается»), и тем реже происходят операции сетевого доступа. В идеале, повторных чтений с сервера данных требуют лишь изменённые данные; возникает иллюзия существования распределённого (между серверами) кэша.
Запись происходит несколько сложнее: запрос на запись уходит на сервер данных. Сервер данных шлёт в ответ команду «вычеркнуть блок из кэша», причём только тем серверам приложений, которые ранее прочли в свой кэш предыдущее состояние этого блока. Важно, что сам изменённый блок принудительно не шлётся, так как, возможно, он более никому не нужен. Если же в нём вновь возникает потребность, блок заново запрашивается с сервера данных и вновь попадает в локальный кэш сервера приложений, как это было описано ранее.

ECP глазами архитектора

Рекламная пауза: немного о плюсах горизонтального масштабирования средствами ECP. Представьте, что требуется спланировать систему на 10000 пользователей, и известно, что на каждые 50 пользователей требуются вычислительные ресурсы в количестве 1 ядра CPU и 10 GB RAM. Сравним альтернативы. В таблице СБД&СП – традиционный сервер Caché (сервер данных и приложений «в одном флаконе»). Из соображений устойчивости к отказам их необходимо запланировать два.

Вертикальное vs. горизонтальное масштабирование

Вертикальное масштабированиеГоризонтальное масштабирование
Параметры сервераКоличество серверовПараметры сервераКоличество серверов
200 ядер CPU, 2 TB RAM2 СБД&СП16 ядер CPU, 160 GB RAM13 СП, 2 СБД

В схеме с горизонтальным масштабированием из тех же соображений планируем два сервера данных, но думаю никого не надо убеждать в ценовом преимуществе этой схемы над предыдущей… В качестве бонуса получаем замечательную особенность совместного использования ECP и «зеркала» (Mirroring): при переключении серверов данных – узлов зеркальной пары – пользователи серверов приложений испытывают лишь краткую паузу в работе (измеряемую секундами), после чего их сеансы продолжаются. В вертикальной схеме клиентские процессы подключаются непосредственно к серверу данных, поэтому при переключении серверов разрывы пользовательских сеансов неизбежны.

код ecp что это. image loader. код ecp что это фото. код ecp что это-image loader. картинка код ecp что это. картинка image loader. Еди́ная сетева́я разме́тка (ЕСР) — система цифрового обозначения железнодорожных станций, разработанная для железных дорог Союза Советских Социалистических Республик и используемая сейчас на территории стран СНГ и Балтии.
Совместное использования ECP и «зеркала»

Вспомним, что на каждом сервере приложений имеются и локальные БД, поэтому хранение промежуточных данных естественным образом перекладывается на эти БД. Такая работа может быть достаточно интенсивной, а значит, вовлечение в неё большого числа даже недорогих дисков может разгрузить центральную систему хранения данных (СХД), уменьшив время обслуживания (await) дисковых операций, без задействования ещё одной дорогостоящей СХД для промежуточных данных.

ECP глазами программиста

А вот несколько непривычных моментов:
• Строки длиннее половины размера блока не кэшируются на серверах приложений. На самом деле, этот порог несколько ниже, для 8 KB-блоков – 3900 байт. Такое решение было принято разработчиками, чтобы не забивать кэш BLOBами и CLOBами: известно, что такие данные обычно пишутся один раз и впоследствии крайне редко читаются. К сожалению, это решение негативно сказалось на обработке bitmap-индексов, которые тоже, как правило, являются длинными строками. Если вы их используете, придётся либо уменьшать размер chunk-а, либо увеличивать размер блока; оптимальный выбор можно сделать лишь на основе результатов тестирования.

ECP и управление процессами

Освежив в памяти основные концепции ECP, перейдём к основной теме статьи. Управление процессами будем трактовать в широком смысле. Реальные потребности прикладных программистов, с которыми приходится сталкиваться, и системные средства, которые имеются для их удовлетворения «прямо из коробки», см. ниже.

Основные прикладные потребности в управлении процессами

Примеры использования API Util.Proc

Адресация процессов в сети

При разработке API необходимо было выбрать способ адресации процессов в сети ECP, причём хотелось получить:
• уникальность адреса в локальной сети,
• возможность непосредственного использования адреса с минимальными преобразованиями,
• легко читаемый формат.

Для адресации сервера в сети можно использовать его имя (hostname) или IP-адрес. Выбор имени в качестве идентификатора хоть и заманчив, но накладывает дополнительные требования к безупречности работы службы имён. Поскольку подобные требования обычно не предъявляются при настройке конфигурации Caché, не хотелось вводить новых ограничений. К тому же в различных ОС hostname может иметь разный формат, что затруднит последующий разбор дескриптора процесса. Исходя из этих соображений, я предпочёл использовать IPv4-адрес.
Для идентификации установки Caché на сервере можно использовать её имя («CACHE», «CACHEQMS», etc.) или номер порта суперсервера (1972, 56773, etc.). Но подключиться к установке Caché по её имени нельзя, поэтому выбираем порт.
В итоге, в качестве дескриптора (уникального идентификатора) процесса было решено использовать строку в формате децимального номера: xx.yy.zz.uu.Port.PID, где
xx.yy.zz.uu – IPv4 адрес сервера Caché,
Port – tcp-порт суперсервера Caché,
PID – номер процесса на сервере Caché.

Примеры корректных дескрипторов процессов:
192.168.11.19.56773.1760 – процесс с PID=1760 на установке Caché с IP=192.168.11.19 и Port=56773.
192.168.11.77.1972.62801 – процесс с PID=62801 на установке Caché с IP=192.168.11.77 и Port=1972.

Методы класса Util.Proc

В результате был разработан класс Util.Proc, открытые методы которого перечислены ниже. Все методы являются методами класса (ClassMethod).

Сводка методов API управления процессами

Замечу, что большинство методов API предназначены для работы в среде ECP. Без ECP они по-прежнему работоспособны, но принимают/возвращают лишь малоосмысленные дескрипторы процессов вида 127.0.0.1.Port.pid. Исключение составляют методы, ориентированные на работу с сервером данных: RunJob(), CheckJob(), CCM(), так как они возвращают/принимают не дескриптор процесса (proc), а его номер (pid) на сервере данных. Поэтому эти методы сделаны универсальными с точки зрения прикладного программиста: их интерфейс одинаков как в среде ECP, так и без неё, хотя работают они, конечно, по-разному.

Немного о реализации

Необходимо было выбрать метод взаимодействия между процессами, работающими на разных серверах. Рассматривались следующие альтернативы:
• Класс %SYSTEM.Event.
o Официально не работает в сети, поэтому поддержка его сетевой работы может быть прекращена InterSystems в любой момент.

• Собственный TCP-сервер.
o В принципе, хорошая идея.
o Необходимо задействовать дополнительный TCP-порт (кроме порта супер-сервера), что неизбежно влечёт дополнительные усилия по установке и настройке помимо стандартных настроек Caché. А хотелось обойтись минимумом настроек.

• Web-сервисы.
• Класс %Net.RemoteConnection. Для тех, кто забыл: этот класс обеспечивает удалённое выполнение кода на других серверах, используя тот же протокол, что и клиенты сервиса %Service_Bindings. Если в системе этот сервис уже задействован для подключения клиентов, то никакие дополнительные настройки не требуются, а это как раз наш случай. Накладные расходы на обмен данными незначительны, как правило, он меньше, чем в случае web-сервисов.

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

Некоторые выводы

Успешное внедрение API управления процессами в составе региональной медицинской информационной системы Красноярского края показало если не идеальную правильность, то как минимум жизнеспособность выбранных подходов. С помощью данного API нашим специалистам удалось решить ряд важных задач. Перечислю лишь некоторые из них:
• Исключение дублирующихся входов пользователей.
• Получение общесетевого списка работающих пользователей.
• Обмен сообщениями между пользователями.
• Запуск и контроль фоновых процессов, обслуживающих лабораторные анализаторы.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *