Основной сайт ДонНТУ
 ДонНТУ
 Портал магистров ДонНТУ
 Факультет ВТИ

Магистр ДонНТУ Пасечник Дмитрий Александрович

Пасечник Дмитрий Александрович

Факультет вычислительной техники и информатики

Кафедра электронных вычислительных машин

Специальность: системное программирование


Тема выпускной работы:

Автоматическая система определения местоположения подвижной единицы на железной дороге

Научный руководитель: Зеленёва Ирина Яковлевна


Обработка данных о рабочих местах студентов

Техническое задание

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

Сбор информации предпалагает её обработку и, в конечном итоге, выдача отчётов. Так как обрабатывать нужно большое дерево, такой способ хранения не очень удобен из-за сложности алгоритмов данных. Вторым неприятным файтором при обработке является то, что информация в этих файлах содержится очень разноплановая даже в рамках одного параметра (например, параметр ОС может быть просто "Windows XP", а может быть "Windows XP Professional", или вообще "Windows XP Professional x32 Edition Service Pack ", хотя все эти варианты обозначают одно и то же).

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

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

Исходные данные

Пары файлов следующего содержания:

ivanenko.txt

4_12_ivanenko_anoprienko.txt

Выходные данные

Отдельный файл на каждую пару: ivanenko.xml, содержащий скомбинированную и классифицированную информацию про студента.

Алгоритм расчёта

Большая часть критериев отбора и классификации вносится в конфигурационные файлы (config.xml, category.xml).

При этом процесс очень подробно логируется. Результаты в html формате складываются в папку Logs.

  1. Загрузка конфигурационных файлов.
  2. Создание списка директорий для обработки, исходя из настроек.
  3. В каждой следующей директории для обработки производится поиск подходящего файла с описанием тем магистерской работы студента.
  4. При успешном нахождении такого файла из него считываются ФИО, данные про факультет и специальность магистра, названия тем на разных языках. Все эти данные помещаются в выходной файл.
  5. При успешном считывании первого файла производится поиск второго файла (при этом не только по имени файла, но и по совпадению ФИО внутри него).
  6. После нахождения такого файла из него построчно начинают считываться данные про рабочие места магистра. При этом двоеточие является разделителем между именем параметра и его значением.
  7. Сначала ищется в списке известных параметров такой, что в список названий этого параметры входит указанный. Если неудачно, что создаётся запись в логе и данная строка пропускается. При этом отдельно обрабатываются начала блоков параметров (их признаки описаны в конфигурационных файлах).
  8. Затем производится поиск в  возможных значениях данного параметра с применением регулярных выражений, описанных в конфигурационных файлах. Если соответствующий эквивалент не найден, то строчка пропускается с созданием соответствующей записи в логе.
  9. Полученная пара значений имя:значение заносятся в выходной файл.
  10. При удачном завершении создания выходного файла он сохраняется на диске.
  11. Программа завершается, когда обработаны все входные файлы.

ДонНТУ > Портал магистров ДонНТУ > Биография | Реферат | Библиотека | Ссылки | Отчет о поиске