Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка математического и программного обеспечения для систем управления мастер-данными Линев, Константин Андреевич

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Линев, Константин Андреевич. Разработка математического и программного обеспечения для систем управления мастер-данными : диссертация ... кандидата технических наук : 05.13.11 / Линев Константин Андреевич; [Место защиты: Моск. гос. ин-т электроники и математики].- Москва, 2011.- 147 с.: ил. РГБ ОД, 61 11-5/2599

Содержание к диссертации

Введение

Глава 1. Современное состояние проблемы проектирования систем управления НСИ 9

1. Анализ современных подходов к моделированию данных 9

1.1 Сетевая и иерархическая модели данных 12

1.2 Реляционная модель данных 14

1.3 Объектные СУБД 16

1.4 Моделирование знаний 17

2. Анализ современного состояния систем управления НСИ 19

2.1 НСИ, как особенный класс данных 19

2.2 Класификация СУ НСИ 23

3. Анализ современных методов верификации сетей передачи данных 29

4. Выводы 32

Глава 2. Построение модели данных для СУ НСИ 36

1. Основные определения 37

2. Моделирование истории изменения справочников 50

3. Утверждения об обновлении справочников через их грани 53

4. Объединения нескольких справочников в МКМ 59

5. Выводы 67

Глава 3. Верификация сетей распространения мастер-данных 68

1. Математическая постановка задачи 69

2. Аналитическое решение в простейшем случае 76

3. Отложенная передача данных 82

4. Выводы 84

Глава 4. Компьютерное моделирование распространения мастер данных 86

1. Разработка архитектуры решения по моделированию распространения мастер-данных 87

2. Особенности моделирования двухпоточной модели СУ НСИ на базе платформы .Net 92

3. Сравнение численного и аналитического решений 96

4. Выводы 104

Глава 5. Управление НСИ для Всероссийской переписи населения 2010 105

1. Структура обрабатываемых справочников 105

2. Моделирование справочника ТЕРСОН с помощью МКМ 116

3. ВСТЕ в жизненном цикле НСИ ВПН-2010 119

4. Выводы 126

Заключение 127

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

Приложения 137

Введение к работе

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

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

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

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

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

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

Важность и актуальность проблемы интеграции разрозненных компонентов информационной среды и, в частности, консолидации справочной информации отмечались в работах Когаловского М.Р., Калиниченко Л.А., Чернобровцева А., Гулько Д., Михайлова С, ПомазковаЯ. Уолтера Р.. Существует ряд коммерческих решений, обеспечивающих управление справочной информации, таких, как SAP MDM, Oracle Data Hub, Microsoft MDS, Talend Open Studio, СУ НСИ Интертех.

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

Цель данной работы заключается в том, чтобы разработать эффективный метод проектирования систем управления мастер-данными.

Для достижения поставленной цели в работе решаются следующие задачи:

  1. Анализ существующих технологий управления нормативно-справочной информацией;

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

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

  4. Обеспечение реализуемости модели на базе наиболее распространенных в настоящее время технологий программирования;

  5. Разработка на основе данной модели программного обеспечения системы управления НСИ;

  6. Разработка метода верификации качества работы распределенной СУ НСИ с учетом взаимодействия мастер-данных с текущими данными;

  7. Применение разработанного метода для оценки качества работы системы управления мастер-данными, используемой при проведении Всероссийской переписи населения (ВПН-2010).

Методы исследования. Исследования базируются на использовании методов и средств теории реляционных баз данных, формул Хорна первого порядка, объектно-ориентированного проектирования, теории графов и статистического анализа.

Научная новизна

  1. Разработана оригинальная модель данных, специально предназначенная для проектирования СУ НСИ.

  2. Разработана математическая модель распределенной СУ НСИ, позволяющая моделировать взаимодействие текущих данных и НСИ.

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

  1. Модель данных, позволяющая описывать НСИ с учетом ее сложной структуры и многообразия представлений в информационной среде;

  2. Математическая модель, описывающая взаимодействие мастер-данных с текущими данными в распределенной СУ НСИ;

  3. Метод обнаружения потенциальных сбоев в работе распределенной СУ НСИ, связанных с взаимодействием текущих данных и мастер-данных, на этапе проектирования системы;

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

1. Разработанная в диссертационной работе модель данных позволяет существенно сократить время, затрачиваемое на проектирование и реализацию СУ НСИ. 2. Разработанная модель распределенной СУ НСИ, а также метод априорного обнаружения потенциальных сбоев в работе распределенной СУ НСИ позволяет снизить риски, связанные с ошибками проектирования и повысить эффективность планирования процессов разработки и внедрения СУ НСИ. Внедрение результатов работы 1. Разработанная модель данных и метод обнаружения потенциальных сбоев в работе СУ НСИ использовались при проектировании и разработке подсистемы ведения справочников территориальных единиц (ВСТЕ), входящей с состав автоматизированной системы ВПН-2010, обеспечивающей сбор, обработку и получение итогов Всероссийской переписи населения 2010 года.

  1. Полученные в диссертации результаты использованы в учебном процессе на кафедре «Кибернетика» МИЭМ (Москва) в рамках дисциплины «Компьютерные технологии в экономике и финансовая деятельность банковских предприятий».

  2. Полученные в диссертации результаты использованы в учебном процессе в институте ИБС НИТУ «МИСиС» (Москва) на кафедре «Информационные бизнес системы» в рамках дисциплины «Архитектура предприятия и проектирование КИС».

Апробация работы

Основные положения и результаты работы докладывались на следующих научно-технических конференциях и семинарах:

  1. Информационные бизнес системы. Первая Всероссийская ежегодная научно-практическая конференция. 2009 г.

  2. Научно техническая конференция студентов, аспирантов и молодых специалистов МИЭМ. 2009 г.

  3. Научно техническая конференция студентов, аспирантов и молодых специалистов МИЭМ. 2010 г.

  4. Научно техническая конференция студентов, аспирантов и молодых специалистов МИЭМ. 2011 г.

  5. Научный семинар кафедры «Кибернетика» МИЭМ под руководством д.т.н., проф. В.Н. Афанасьева.

Публикации результатов

По материалам диссертации опубликовано 8 научных работ, в том числе 4 в журналах, входящих в список рекомендованных изданий ВАК РФ.

Структура и объем диссертации

Диссертация состоит из введения, 5 глав, заключения, списка литературы в 61 наименование и трех приложений, всего 147 страниц, включая 4 рисунка и 2 таблицы.

НСИ, как особенный класс данных

Бурное развитие информационных инфраструктур в последние годы привело к стремительному возрастанию многообразия данных, передаваемых по корпоративным сетям крупных и средних организаций. Внедрение большого числа разнородных, зачастую распределенных информационных систем привело к тому, что задача создания внутри организации единого информационного пространства, важность и актуальность которой отмечают многие исследователи [1], [7], наталкивается на целый ряд проблем, связанных с тем, что существующие разрозненные подсистемы хранят одни и те же данные общего значения в. самых различных, зачастую мало совместимых формах.

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

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

В качестве метафоры для сложившейся ситуации часто используют образ стоящих порознь силосных башен (silo) — в данном случае «башен», хранящих данные. Проникновение Internet-технологий во все аспекты деятельности предприятий проявило с очевидностью то обстоятельство, что отдельные подсистемы и независимые массивы данных уже не могут существовать в изоляции. Повышение требований к динамике бизнеса еще более обостряет проблемы, вызываемые разрозненностью данных. Чтобы точнее соответствовать изменениям во внешней среде, предприятие должно лучше знать само себя, то есть иметь точное представление о происхождении и размещении основных данных, о том, в каком виде они существуют и насколько им можно доверять. [33]

ИТ-консультанты компаний-интеграторов уже на этапе обследования часто слышат такую фразу: "На данный момент в нашей компании существует несколько разнородных информационных систем. Все они должны быть связаны друг с другом. Однако никак не решена проблема их интеграции. Мы пришли к выводу, что ключевой задачей, которую необходимо решить для интеграции систем в единое информационное пространство, является приведение в порядок используемых справочников". [34]

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

Для того, чтобы внести терминологическую ясность, в этой работе будет использоваться, определение, которое было предложено в статье [36].

Определение 2

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

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

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

Для НСИ характерен сравнительно небольшой объем при большом количестве индивидуальных записей. Ярким примером такого справочника являются государственные классификаторы ОКАТО и ОКТМО, описывающие административно-территориальную структуру Российской Федерации. Каждый из этих справочников содержит порядка 180000 элементов, хотя в случае с ОКТМО, это не вполне верно, поскольку листовыми элементами ОКТМО являются элементы ОКАТО. При этом ни с одной из записей не связаны большие объемы данных. Более подробное описание этих двух справочников можно найти в главе 5, где приводится описание автоматизированной системы актуализации модифицированных справочников ОКАТО и ОКТМО для целей проведения Всероссийской переписи, населения. Несложно заметить, что ручная работа с такими объемами разнородных записей представляет собой большую сложность тем более, что часто приходится следить не: за одним справочником а за десятками..

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

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

Полнота

Непротиворечивость

Корректность

Актуальность

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

Идентифицируемость

Уникальность

Эти критерии обеспечивают однозначную идентификацию единиц хранения данных, что необходимо для установления ссылок на них из других элементов НСИ и прикладных документов. [34] Действительно, ведь именно необходимость в любой момент однозначно определить, что несколько различных текущих документов ссылаются на одну и ту же информационную сущность, и породила проблему управления НСИ.

Утверждения об обновлении справочников через их грани

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

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

Утверждение Г

Любая симметричная грань является уникальной.

Доказательство

Пусть существует такая симметричная грань справочника X, для которой существуют различные записи х и у из справочника X, такие, что D(x)=D(y). Тогда х = R(D(x) = R(D(y)) = у. То есть х = у, что противоречит предположению об их различности. Утверждение доказано.

Утверждение 2

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

Доказательство

Пусть существует такая симметричная грань справочника X, для которой существуют различные записи х и у из справочника Y = D(X), такие, что R(x)=R(y). Тогда х = D(R(x) = D(R(y)) = у. То есть х = у, что противоречит предположению об их различности. Утверждение доказано. Теперь опишем:обновление не версионируемого справочника.

Для успешного обновления требуется, сохранить последнюю версию результирующего справочника полученную из исходного справочника преобразованием D, версию самого исходного справочника: на; момент преобразования и иметь, в наличии: новую- версию обоих справочников. Кроме: того, для» каждого атрибута входящего в А следует хранить максимальный приоритет грани- через которую он был изменен со временш создания результирующего справочника, а для? каждой удаленнойі записи — приоритет удалившей запись грани. Назовем исходный справочник X, его версию на момент создания результирующего ХО, а текущую версию XI. Аналогично, неизмененную версию результирующего справочника Y назовем Y0, а текущую — Y1.

Применим отображение К ко всем записям Y0 и Y1. Согласно определению грани, R(Y0) составит некоторое подмножество записей ХО: Это те записи, изменение или удаление которых возможно в результате операции обновления: Каждая из них сопоставлена (возможно, не: одной) записи ХО (через отображение R).

В-случае если одной записи х из ХО сопоставлена одна запись у из Y0 и в Y1 запись с таким идентификатором отличается от у, то нужно заменить соответствующие атрибуты и связи, принадлежащие записи с идентификатором [х] в справочнике XI на соответствующие атрибуты записи R(Yl([y])). Если изменение приводит к тому, что перестают выполняться свойства одной из граней справочника, то операция обновления записи неуспешна и должна быть отменена.

Следует также обратить внимание на то, что записью идентификатором [х] может отличаться от таковой в справочнике ХО. Это означает, что имеет место конфликт обновлений. Для решения этого конфликта предлагается воспользоваться приоритетом грани. Как уже говорилось выше, приоритет указывает, следует ли в случае обновления предпочитать изменения из грани или из исходного справочника. Алгоритм обновления с учетом приоритета грани следующий. Если грань имеет приоритет перед справочником, то запись R(Yl([y])) принимается за старшую запись, в противном случае за базовую запись принимается запись XI ([х]). Вторая из этих двух записей получает наименование младшей. Из старшей записи выбираются те атрибуты и ссылки, которые совпадают с атрибутами и ссылками в Х0([х]), но отличаются от соответствующих атрибутов и ссылок в младшей записи Если такое смешанное обновление приводит к нарушению свойств одной из граней справочника, то в справочник вносится старшая запись: изменения младшей записи не совместимы с изменениями старшей, а значит должны игнорироваться.

В случае если записи с идентификатором [х] в XI нет, то это означает, что она была удалена при предыдущих удалениях. В этом случае следует либо создать ее заново, либо проигнорировать. Если приоритеты граней различаются, то следует предпочесть изменение, выполненное «старшей» гранью, то есть либо удалить запись, либо восстановить ее в виде, в котором она существует в «старшей» грани. Если же приоритеты одинаковы, конкретное поведение зависит от удобной в данной ситуации политики обновления и должно настраиваться для каждой грани. Поэтому для граней введено специальное свойство «Пересоздание удаленных при обновлении», которое означает, что следует пересоздавать удаленные записи с теми же идентификаторами, если другая грань с тем же приоритетом их исправляла.

В случае, если записи х из ХО сопоставлены две и более записей из Y0, и их измененные версии отображаются R разные записи справочника X, то возникает затруднительная ситуация. Для одной и той же записи возникают две совершенно равноправные замены. Никакой дополнительной информации о том, какую из двух новых записей следует предпочесть в модели не содержится. То есть операция обновления в данном случае оказывается внутренне противоречивой: требуется преобразовать одну и ту же запись в две разные, вообще говоря, отличные друг от друга формы. Это противоречит как логике модели, которая требует сохранения уникальности идентификаторов, так и семантическому смыслу процесса обновления.

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

Утверждение 3

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

Определение 22

Будем говорить, что две записи справочника х и у равны по граням, если для каждой уникальной грани верно D(x) = D(y).

Утверждение 4

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

Доказательство

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

Теперь рассмотрим ситуацию удаления записей. Пусть существует такая запись у из Y0, что не существует Yl([y]). Пусть x=R(y) и принадлежит ХО. Если не существует yl, такой, что Х1([х]) и R(yl) равны по граням, то запись была сознательно удалена пользователем и запись XI([х]) должна быть удалена из справочника. Если же yl существует, то возникает вопрос о том, следует ли сохранить идентификатор, который сейчас существует в XI, или запись была «пересоздана» пользователем намеренно. Это также вопрос политики обновления и для его решения введено свойства грани «Сохранять идентификатор при пересоздании», которое означает, что ситуации, когда существует yl нужно трактовать как ситуацию обновления и заменять поля XI ([х]) на поля у1. В противном случае, в такой ситуации идентификатор записи XI ([х]) будет перезаписан.

Наконец, рассмотрим вставку новых записей. Пусть запись, у 1 есть в, Y1, но записи с таким идентификатором» в Y0 нет. Если рассматриваемая грань является уникальной, то достаточно выяснить, нет ли в XI записи,xl такой, что D(xl) = yl. Если нет, то производим вставку новой записи R(yl) с новым идентификатором. Если есть, то заменяем атрибуты и ссылки xl, на атрибуты и ссылки R(yl). Здесь важно заметить, что, вообще говоря, R(yl) не совпадает с xl, это так только в случае симметричной грани.

Пусть теперь рассматриваемая грань не является уникальной. Тогда нужно проверить, не существует ли запись xl из XI такая, что она равна по граням R(yl). Если существует, то согласно теореме 3 xl и yl представляют собой новую запись справочника и это ситуация обновления. В противном случае, следует произвести вставку новой записи R(yl) с новым идентификатором.

Разработка архитектуры решения по моделированию распространения мастер-данных

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

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

Должно обеспечивать реализацию всех понятий и механизмов двухпоточной модели СУ НСИ;

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

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

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

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

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

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

В-четвертых, ввод собственно описания двуцветного графа в систему должен быть достаточно простым, чтобы затраты на его составление не превышали затраты на-решение задачи другими способами. Для достижения этой цели было решено предложить пригодный для чтения" человеком текстовый формат описания модели, то есть ввести формальный язык описания СУ НСИ, тем самым обеспечив свободное хранение и редактирование исследуемых моделей в виде текстовых файлов.

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

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

Далее следует сделать выбор конкретной технологии и языка. По ряду причин наиболее оптимальным в данном случае выглядит использование платформы .Net Framework от компании Microsoft и языка С#. Технология не только предоставляет эффективные средства для решения всех указанных выше задач, но и обладает рядом дополнительных преимуществ. Рассмотрим эти преимущества и инструменты подробнее. Для начала следует отметить, что .Net Framework содержит обширный набор библиотек, которые в частности поддерживают производительные строго типизированные, контейнеры множеств объектов и работу с ними (технологии generic collections и LINQ to collections). Явным образом поддерживается- работа с пользовательским интерфейсом, в частности, технология Windows Presentation Foundation является одной из наиболее прогрессивных методик построения пользовательского интерфейса-в мире: Благодаря технологии XML-сериализации обеспечивается легкое сохранение объектов на жесткий диск в форме, пригодной для чтения и редактирования человеком, с последующей столь же легкой загрузкой данных обратно в память. То есть можно говорить о том, что все описанные выше основные задачи, которые должны быть решены в ходе разработки приложения явным образом поддерживаются платформой. Причем все эти технологии обеспечивают прекрасную поддерживаемость и человекочитаемость программного кода, который необходимо написать для их использования:

Часто платформе .Net и приложениям, на основе так называемого управляемого кода (в том числе сюда включается и платформа Java, хотя термин "управляемый код" не вполне к ней применим, поскольку был введен компанией Microsoft для описания кода, написанного под платформу .Net) приписывается серьезный проигрыш в производительности по сравнению с прекомпилируемыми программами. Однако же, стоит отметить, что реальные тесты производительности, основанные на решении относительно сложных задач, действительно нагружающих ресурсы компьютера разнообразной нагрузкой, показывают, что производительность управляемых приложений не только сопоставима с производительностью неуправляемого или native-кода, но в ряде случаев за счет дополнительных оптимизаций превышает ее. Описания подобных тестов можно найти например, в источниках [53], [54], [55] и [56], в которых представлено широкое разнообразие нагрузок и задач, и наглядно демонстрируется, что дополнительная нагрузка на вычислительные мощности компьютера со стороны обеспечивающих компонентов управляемой среды существенна по сравнению с выигрышем от ряда оптимизаций процесса выполнения кода, которые может выполнять только управляемая среда, только тогда, когда нагрузка на систему на самом деле не существенна и инициализация- среды оказывается дороже, чем собственно выполнение задачи.

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

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

ВСТЕ в жизненном цикле НСИ ВПН-2010

Подсистема ВСТЕ предназначена для ведения текущей версии справочников ТЕРСОН-АТЕ и ТЕРСОН-МО: Эти справочники, как уже отмечалось, используются прочими подсистемами, как основа территориальной классификации данных. Одной из основных функций, которую выполняет ТЕРСОН — обеспечивает идентификацию территориальной принадлежности адресов, по которым совершает обход переписчик. Адреса являются отдельным справочником, который имеет ссылку на «листовой» элемент ТЕРСОН-АТЕ, в котором располагается. К сожалению, если учесть временные рамки проведения переписи, проблема получения такого распределения окажется не тривиальной. Основная сложность заключается в том, что как справочник адресов, так и справочники ТЕРСОН меняются постоянно. Помимо строительства и сноса домов, а так же постоянного изменения административно-территориального устройства того или иного субъекта, случаются даже массовые изменения обоих справочников. Так, летом 2010 года лесные пожары уничтожили большое количество деревень и адресов в них. В то же время, осуществляется строительство жилья для погорельцев, то есть появляются новые населенные пункты и новый адреса. И все это — прямо перед проведением переписи. Иными словами, территориальное деление и адресная часть БД АС ВПН-2010 успеют устареть за то время, пока данные попадут в записные книжки переписчиков, а потом переписчики совершат обход респондентов. То есть в момент публикации результатов переписи организационная структура, на основании которой она была проведена, перестанет существовать. С другой стороны, большая часть таких изменений не обесценивает результаты переписи: так, если две деревни были слиты воедино, то это просто значит, что все их жители теперь живут в одном населенном пункте. Т. е. во.многих случаях возможно получить результаты переписи на новой территориальной структуре вообще без потерь. И именно этого и ожидают от Росстата организации, в том числе и правительство РФ, запрашивающие результаты исследования.

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

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

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

Несмотря на то, что использование распространения;, конечно, приведет к постепенной деградации данных и не избавит от необходимости проводить новые переписи, он позволяет продлить срок, в течение которого данные каждой переписи можно считать близкими к актуальному положению вещей: Таким образом, можно сказать, что постоянное обновление справочника ТЕРСОН и адаптация под него адресной части может позволить в течение всего цикла жизни AG ВПН-2010 получать из системы результаты, настолько близкие к актуальным, насколько это вообще возможно.

Проанализируем это решение с помощью двухпоточной модели СУ НСИ. Для этого, выясним, насколько быстро такая система сможет реагировать на запросы со стороны органов государственного управления при условии, что результаты будут основаны на справочниках ОКТМО и ОКАТО; актуальных на момент отправки запроса. Построим модель процесса по следующему принципу.

Решения об изменении административно территориальной структуры субъектов федерации как правило принимают сами субъекты. Это один из аспектов их автономии. Эти изменения как могут требовать изменения адресной части, так могут и не требовать его. Для обработки изменения в адресной части требуется участие районных уполномоченных Росстата: произвести такое обновления сам ТОГС не может. Из соображений простоты дальнейших рассуждений будем считать ТЕРСОН одним справочником, так как изменения ATE и МО одинаково влияют на работу системы и одинаково - распространяются по ней. Это обобщение, кстати, вполне соответствует модели МКМ, поскольку в ней эти справочники действительно унаследованы от одного и потому могут считаться одним и тем же справочником. Поэтому в нашей модели будет два справочника: справочник ТЕРСОН и справочник адресов.

Модель будет состоять из двух уровней узлов. Первый уровень — федеральный, на котором будут располагаться узлы "ЦОД ФУ" (центр обработки данных федерального уровня), представляющий центральный аппарат Росстата и узел, представляющий правительство Российской Федерации. Второй уровень региональный на нем будут располагаться 83 набора узлов: для каждого субъекта Федерации свой. Узлы следующие: узел администрации субъекта, узел ТОГС, узел, представляющий совокупно всех районных уполномоченных ТОГС и узел, представляющий местные администрации входящих в субъект территорий.

Данные в модели движутся следующим образом. Изменения справочника ТЕРСОН возникают в администрации субъекта, и высылаются одновременно правительству РФ и в ТОГС. Изменения в адресной части возникают в том же узле и обнаруживаются районным уполномоченным после получения им уведомления об изменившемся территориальном делении. Районные уполномоченные отправляют изменения в ТОГС, а затем они высылаются и ЦОД ФУ.

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

Оценим, насколько часто обновляется справочник ТЕРСОН. Как правило изменения, затрагивающие населенные пункты (а значит и адресную базу) происходят в три раза чаще, чем административное деление. Причем общий объем изменений справочников ТЕРСОН составляет порядка 2000 измененных, созданных и удаленных элементов в год. По таблице [61] можно получить представление о распределении населения в РФ. Чем больше людей живет в субъекте, тем чаще там происходят изменения. Поэтому мы распределим плотность потока изменений по 83 субъектам пропорционально их населению и только каждое четвертое изменение не будет затрагивать адресную часть. Это грубая оценка, например, она не учитывает, что в городах федерального значения практически 100% изменений затрагивают адресную часть и только ее, поскольку структура собственно ТЕРСОН в таких городах очень простая и сводится к набору округов, которые очень редко меняются. Тем не менее, она дает общее представление о распределении частоты изменений в РФ.

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