В специальном номере журнала Intellegent Enterprise. Корпоративные системы вышла в свет статья Елены Бойченко "Логику не меняем", посвященная одной из важнейших подсистем ГАС "Выборы" - Подсистеме "Регистр избирателей, участников референдума" (текст статьи прилагается).
Логику не меняем.
Подсистема "Регистр избирателей, участников референдума" (ПРИУР) – одна из важнейших в ГАС "Выборы". При ее создании потребовалось решить ряд сложнейших задач как организационного, так и технологического характера. О том, как это было сделано, рассказывает Елена Бойченко, генеральный директор компании "ИНСОФТ".
Intelligent Enterprise: Каково назначение и история создания ПРИУР?
Для того чтобы участвовать в выборах и избирать, гражданин должен быть включен в списки избирателей. Списки должны быть максимально полными и точными. Учет населения для обеспечения выборного процесса довольно сложная задача. События, происходящие с гражданами (перемена места жительства, смена паспорта, смена фамилии, и др..), требуют создания определенного механизма, позволяющего оперативно реагировать на все изменения, происходящие с идентифицирующими гражданина данными. Этот механизм должен обеспечивать взаимодействие с органами государственной власти и местного самоуправления, ведущими регистрацию и учет населения. Как правило, чем больше степень автоматизации процесса сбора и передачи данных, тем качественнее состояние базы данных об избирателях.
С момента создания ГАС "Выборы" в 1995 году этот механизм реализовывался в функциональном комплексе задач (ФКЗ) "Избиратель". Учет населения велся только в территориальных избирательных комиссиях. Собранные сведения об избирателях позволяли автоматически формировать списки избирателей для участковых комиссий. Однако практика ведения автономных баз данных выявила ряд проблем по актуализации данных.
В январе 2005 года ЦИК России было принято решение о создании единой федеральной базы данных избирателей, ее региональных и территориальных фрагментов как составной части единой трехуровневой архитектуры. Началась разработка одной из самых "молодых" подсистем - "Регистра избирателей, участников референдума" (ПРИУР).
По разработанному ФЦИ при ЦИК России техническому заданию был создан программно-технический комплекс "Регистр избирателей" , предназначенный для создания и поддержания в актуальном состоянии федеральной базы данных об избирателях и позволяющий ежесуточно обрабатывать 2,2 млн. записей. Было разработано единое ПО для поддержания в актуальном состоянии фрагментов базы данных "Регистра" и организации межуровнего взаимодействия.
С какими принципиальными сложностями вы столкнулись при разработке ПРИУР?
Главным был вопрос: как создать единый классификатор мест проживания избирателей. Трехуровневая структура состоит из 2737 территориальных избирательных комиссий, 89 избирательных комиссий субъектов РФ и и самый верх пирамиды – ЦИК России.
Особенности архитектуры ПРИУР в том, что, во-первых, число субъектов РФ и территорий меняется, а во-вторых есть двойственность: Москва – субъект РФ, но одновременно - это город. Возникают и сложные схемы вложенности: одному городу административно подчиняется другой. Мы решили задачу создания единого для всей страны классификатора мест проживания, и, насколько мне известно, до сих пор это единственное решение в России.
Проектировать такую систему, а ее архитектура не менялась за эти годы, было не только интересно и сложно, но и страшно. Ведь изначально мы решили разместить все адреса в одной таблице. Сейчас в ней 67 млн. записей. В единой таблице учтено все, вплоть до квартиры. Чтобы обеспечить требуемое быстродействие, применена технология кэширования и автоматического обновления поисковых таблиц. Это распределенная база, полная версия есть только в ЦИК России, а на местах есть лишь та часть, которая относится к данной территории.
После проектирования базы встал вопрос как актуализировать классификатор? Все объекты до уровня населенных пунктов по адресам ввели в ЦИК России. Все остальное вводили в территориальных комиссиях, в том числе улицы и дома. Так была решена вторая задача: ведение единого классификатора распределенной базы данных. Далее мы ввели понятие подтвержденных и неподтвержденных значений. Ведь во всей России нельзя было полностью запретить внесение изменений в справочники в избирательных комиссий субъектов и территориальных избирательных комиссий, как мы сделали в Москве в свое время, создавая регистр избирателей города. Если в территориальной избирательной комиссии администратор ввел адрес, не относящийся к его территории, например, адрес места рождения избирателя, то он остается неподтвержденным и при межуровневом обмене это значение передается только вверх, но не по горизонтали.
Если адрес вводит субъект, информация распространяется вниз на все территориальные комиссии субъекта и вверх в ЦИК России. Если адрес подтвердил ЦИК России, то информация передается во все территориальные комиссии. Так действует принцип подтвержденных и неподтвержденных значений. Когда мы разработали модель и математически описали её, то получили целостность базы с точки зрения адресов проживания избирателей.
Как выглядит ПРИУР сейчас?
В ПРИУР содержится общероссийская база данных о более чем 107 млн. избирателей. Подсистема обеспечивает единый порядок учета избирателей, участников референдума, являясь по сути самой полной и географически детальной базой данных о размещении взрослого населения страны. В подсистеме обеспечена актуализация данных и однократность учета.
Какие технические решения были использованы для обеспечения достоверности и полноты сведений в базе данных ПРИУР?
Полнота и достоверность обеспечиваются логической целостностью данных, контролем однократности учета, оптимизацией технологии репликации, использованием заданных критериев ограничений в алгоритмах ведения базы данных.
Особого внимания требует логическая целостность. Ее обеспечение гарантируется в первую очередь при вводе данных. Нельзя, к примеру, дважды ввести одного и того же избирателя. Один и тот же паспорт или другой узаконенный документ, удостоверяющий личность, нельзя ввести без символьной маски (серия – четыре цифры внутри с пробелом и т.д.). Нельзя нарушать логику событий (вначале получение паспорта, затем регистрация, но не наоборот и т.д.). Формально-логический контроль проводится в момент перестройки таблиц после каждой актуализации. Проверяются и ограничения при ведении классификаторов и справочников, в том числе соответствие группы адресов территориальной комиссии.
Нецелостная информация исключается из баз данных. Важно, что целостность данных об избирателях контролируется в рамках всей распределенной структуры ГАС "Выборы", при этом ведется и контроль персональных данных избирателей и данных классификаторов.
Одна из важнейших задач - обеспечение однократности учета. Ведь по закону каждый человек может голосовать только один раз. Чтобы определить "двойников" мы посчитали, что документ, удостоверяющий личность, является уникальным для территориальной избирательной комиссии. Есть набор признаков, однозначно определяющих избирателя: ФИО, дата и место рождения, пол, паспорт.
Обработка данных в Регистре проводится с использованием метода репликации. В таблице протокола собираются все данные об изменениях основных таблиц. Изменения бывают на ввод данных, на модификацию и на удаление. По команде к репликации данные реплицируются снизу вверх, и до момента полной обработки подтверждения следующий цикл репликации не запускается. Данные обрабатываются в ЦИК России, формируется подтверждение, оно передается на субъект, там обрабатывается и далее передается в территориальные комиссии. Учитывая большие объемы данных – 120 млн. записей, процесс обработки достаточно сложный и кропотливый, однако ПО построено таким образом, что в процессе обработки идет постоянный контроль на корректность и целостность данных об избирателях.
Еще одной задачей построения подсистемы была и остается очистка и преобразование данных из унаследованных систем. Ведь достаточно точные данные были только в Москве, где мы их ввели, работая над регистром избирателей столицы. А в регионах качество данных было крайне низким, одни и те же адреса иногда встречались по десять раз.
Конечно, очистку нужно было автоматизировать, и мы применили технологию пороговой логики и технологию "самообучения" системы. Если обнаруживается ошибка, системный администратор должен один раз сопоставить запись с записью в классификаторе. В этом ему помогают автоматические анализаторы схожести слов. Потом все остальные ошибки такого же типа исправляются автоматически.
Как "Регистр избирателей" поддерживается в актуальном состоянии?
ПРИУР с самого начала была замечательным и уникальным в России примером успешного взаимодействия с органами, осуществляющими регистрацию и учет населения. Общий порядок таков: глава местной администрации получает от органов, осуществляющих регистрацию и учет населения, сведения о гражданах РФ по утвержденной форме и передает обобщенную информацию в соответствующую территориальную комиссию, далее она обрабатывается в ГАС "Выборы" с соблюдением всех требований безопасности информации. При этом обмен данными между уровнями осуществляется посредством обмена файлами. Используется инкрементальная схема межуровневого взаимодействия - передаются только те изменения таблиц баз данных, которые не были переданы ранее. Алгоритмы межуровневого взаимодействия обеспечивают двунаправленную репликацию данных. Каждое изменение передается до тех пор, пока оно не будет подтверждено принимающим комплексом средств автоматизации ГАС "Выборы". Прием изменений может происходить параллельно в несколько потоков.
Учитывая, что 80 % информации поступает к главе администрации от ФМС и ЗАГС, то в первую очередь необходимо автоматизировать эти два потока.
Сейчас одним из важнейших направлений является проведение совместно с ФМС России отработки формата взаимодействия ПРИУР ГАС "Выборы" и ППО "Территория" ФМС России, устанавливаемого в структурных подразделениях ФМС России территориального уровня.
Комментарий: начальник отдела баз данных регистра избирателей ГАС "Выборы" ФЦИ при ЦИК России Ирина Шарапова:
ПРИУР постоянно совершенствуется. Для обработки колоссальных массивов данных переводятся в автоматизированный режим отдельные функции, появляются новые модули промежуточного контроля обработки данных, что важно для их достоверности. В настоящее время в федеральной базе ГАС "Выборы" содержатся сведения о более чем 107 млн избирателей, что составляет более 75,4 % от общего числа граждан России, собраны и постоянно уточняются справочники адресов проживания и рождения избирателей, а также другие справочники и классификаторы, являющиеся составной частью ПРИУР.
Одно из важнейших направлений – проведение с декабря 2009 года совместных работ с ФМС России. Большим шагом вперед можно считать недавно проведенный эксперимент в г. Ростове-на-Дону по сопряжению автоматизированной системы учета населения Управления ФМС России и подсистемы "Регистр избирателей, участников референдума". Автоматизированная передача данных из УФМС в "Регистр" при регламентной актуализации данных позволит сократить время актуализации базы данных и повысить качество.
Разработка "Регистра" и его информационно-технологическое сопровождение весь период существования связаны с высококвалифицированными специалистами компании ИВЦ ИНСОФТ, которые в своей работе не просто следуют пунктам контрактов, а творчески подходят к решению как крупных, так и повседневных задач.