Разработка программного обеспечения для обработки сложноструктурированных данных научного эксперимента
Автор: Косенко Дмитрий Владимирович, Воронова Лилия Ивановна, Воронов Вячеслав Игоревич
Журнал: Вестник Нижневартовского государственного университета @vestnik-nvsu
Статья в выпуске: 3, 2014 года.
Бесплатный доступ
На сегодняшний день компьютерный эксперимент является наиболее значимым инструментом в областях, где имеется большой разрыв между возможностями теории и эксперимента. Сфера физической химии и металлургии является наиболее ярким примером из списка данных областей. Моделирование химических процессов, извлечение свойств и результатов, полученных в ходе компьютерного эксперимента, а также предоставление удаленного доступа к ним - основная цель проекта ИИС «MD_SLAGMELT». Авторами статьи разработана подсистема, обеспечивающая конвертирование данных для базового Legacy Application ИИС «MD_SLAGMELT» из текстового в реляционный формат и автоматического переноса данных из файлового хранилища в реляционную базу данных. В подсистеме реализованы следующие функциональные возможности: - перенос термодинамических характеристик, энергетических параметров, кинетических коэффициентов компьютерного эксперимента в базу данных; - проверка *.DAT файлов на наличие ошибок в генерации; - перенос в базу данных результатов предыдущих экспериментов; - формирование отчетности в формате *.xls; - конфигурирование программы под текущие настройки базы данных...
Компьютерный эксперимент, физическая химия, конвертирование данных, реляционные базы данных, иис "md_slagmelt"
Короткий адрес: https://sciup.org/14116839
IDR: 14116839
Текст научной статьи Разработка программного обеспечения для обработки сложноструктурированных данных научного эксперимента
Компьютерный эксперимент — это исследование математической модели объекта изучения на ЭВМ, состоящее в том, что по известным параметрам вычисляются искомые и на этой основе делаются выводы о свойствах объекта. Значение компьютерного эксперимента особенно велико в тех областях, где имеется большой разрыв между возможностями теории и эксперимента, к ним относятся физическая химия и металлургия. Как правило, в физической химии предметом исследования является взаимосвязь структурных характеристик и физико-химических свойств.
Для проведения КЭ создаются автоматизированные информационные системы (АИС), главной целью которых является расширение границы исследований, оптимизация научной работы и ускорение проведения исследований. Одной из таких систем является ИИС «Шлаковые расплавы» [6].
Преобразование сложноструктурированных данных, полученных в результате компьютерного эксперимента, в реляционный формат и обеспечение удаленного доступа к ним является одной из первоочередных задач в рамках проекта ИИС «Шлаковые расплавы».
Основной целью работы стала разработка методов конвертирования данных из текстового в реляционный формат при проведении компьютерных экспериментов, и реализующих их алгоритмов и инструментальных средств. Эта проблема связана с разработкой программного обеспечения для «Legacy application» (унаследованных приложений) ИИС «MD_SLAGMELT» [3], с переходом от локальных приложений, рассчитанных на моделирование нескольких тысяч частиц к системе с удаленным доступом, обеспечивающей компьютерный эксперимент для «больших данных» с количеством частиц порядка сотен тысяч, что серьезно осложняет задачу обработки и передачи данных между подсистемами.
ИИС позволяет вести моделирование в нескольких « режимах » с широким набором получаемых свойств:
-
- моделирование комплекса свойств определенного состава многокомпонентной системы вблизи выбранной температуры;
-
- моделирование многокомпонентной системы в заданном диапазоне составов при заданных температурах: исследование зависимости состав—свойство;
-
- моделирование состава по ряду температурных точек (плавление/затвердевание): исследование температурных зависимостей свойств;
-
- комплексное моделирование многокомпонентной системы (набор температурных зависимостей свойств состава для заданного диапазона составов): получение многомерных зависимостей состав—температура—свойство—структура.
СЕРВЕР ПРИЛОЖЕНИЙ
Квантово-химическое моделирование Приложение MNDO
WEB-СЕРВЕР
Мост JDBC
Задание начальных условий компьютерного эксперимента
Молекулярно-динамическое моделирование
Приложение МД
Распределение МД
Сервер базы
Статистико-геометрическое моделирование
данных
Формирование отчетов
Статистический анализ
Приложение SGR
Приложение STRUCTURE результатов моделирования
Анализ и обработка данных
Программа-адаптер
Приложение STATISTICA
Приложения, отображающие данные в графических форматах

Файловое хранилище результатов
Рис. 1. Архитектура ИИС «Шлаковые расплавы» [1—3]
Визуализация
Для исследования многомерных зависимостей состав—температура—свойство—струк-тура разработана информационная модель оксидного расплава [2].
На рис. 1 приведена архитектура ИИС «MD_SLAGMELT», ядром которой является база данных для хранения результатов моделирования. Однако наполнение базы данных происходит после обработки файлового хранилища, куда в текстовых форматах записываются данные достаточно больших объемов.
Таким образом, предметом автоматизации является создание компонента «адаптер», предназначенного для преобразования сложноструктурированных данных, полученных в результате компьютерного эксперимента в реляционный формат.
Результаты проведенных экспериментов записываются в текстовом формате в набор файлов во внутреннем серверном файловом хранилище, структура которого формируется динамически в зависимости от входных данных. Для примера на рис. 2 приведена структура директории, сформированной после компьютерного эксперимента с системой SiO2-Na2O (0,5—0,5). Подобная директория создается для каждого из проведенных экспериментов, ее название и уровень вложенности формируется на основании названий элементов, входящих в название химической системы и мольных долей. Например, SiONa → 0505 (мольные доли) → 806 (идентификационный номер математической модели)
© @ - T Qi ► |
Этот компьютер ► Windows 8.1 (G) |
► TempStorage ► SiONa ► 0505 |
► 806 |
|
ТТ Избранное |
□ Имя |
Дата изменения |
Тип |
Размер |
^ Загрузки |
| . PTL |
01.05.20140:29 |
Папка с файлами |
|
Недавние места |
Л 1.sh1 |
31.03.201313:50 |
Файл "SH1" |
29 КБ |
Н Рабочий стол |
Q Zshl |
31.03.201313:50 |
Файл "SH1" |
29 КБ |
Q 3.sh1 |
31.03.201313:50 |
Файл "SH1" |
29 КБ |
|
3^1 Этот компьютер |
gj 493(Na)-замечанил.х15 |
13.04.2013 22:22 |
Microsoft Excel 97... |
37 КБ |
3 Видео |
SI 493.bat |
31.03.201314:06 |
Пакетный файл ... |
1 КБ |
|' | Документы |
gj 494(-).xls |
13.04.2013 22:21 |
Microsoft Excel 97... |
10 КБ |
^ Загрузки |
Ш 494.bat |
31.03.201314:18 |
Пакетный файл ... |
1 КБ |
i^l Изображения |
Ш 495.bat |
24.04.201311:51 |
Пакетный файл ... |
1 КБ |
^ Музыка |
gj 495.xls |
26.04.2013 22:03 |
Microsoft Excel 97... |
10 КБ |
ц Рабочий стол |
П com mon.for |
31.03.201313:49 |
Файл "FOR" |
13 КБ |
^ Windows 8.1 (G) |
[ZSf current.dat |
31.03.201313:50 |
Файл "DAT" |
79 КБ |
Sr8 SD Card (E) |
П Den1.wr1 |
31.03.201313:50 |
Файл "WR1" |
5 КБ |
И Den2.wr1 |
31.03.201313:50 |
Файл "WR1" |
5 КБ |
|
tit Сеть |
И Den3.wr1 |
31.03.201313:50 |
Файл "WR1" |
5 КБ |
И f rr1 .wr1 |
31.03.201313:50 |
Файл "WR1" |
9 КБ |
|
И frr2.wri |
31.03.201313:50 |
Файл "WR1" |
9 КБ |
|
И frr3.wri |
31.03.201313:50 |
Файл "WR1" |
9 КБ |
|
И md_dat |
31.03.201313:49 |
Файл |
12 КБ |
|
П MS01.wr1 |
31.03.201313:50 |
Файл "WR1" |
8 КБ |
|
П MSD2.wr1 |
31.03.201313:50 |
Файл "WR1" |
8 КБ |
|
П MSD3.wri |
31.03.201313:50 |
Файл "WR1" |
8 КБ |
|
point.dat |
31.03.201313:50 |
Файл "DAT" |
833 КБ |
|
reziilt.dat |
31.03.201313:50 |
Файл "DAT" |
18 КБ |
|
Qf Sm_inf.dat |
31.03.201313:50 |
Файл "DAT" |
9 КБ |
|
И Sm_inf_1.wr0 |
31.03.201313:50 |
Файл "WR0" |
1 КБ |
|
П Sm_inf_2.wr0 |
31.03.201313:50 |
Файл "WR0" |
1 КБ |
|
И Sm_inf_3.wr0 |
31.03.201313:50 |
Файл "WR0" |
1 КБ |
|
И Sm_inf_4.wr0 |
31.03.201313:50 |
Файл "WR0" |
1 КБ |
|
И Sm_inf_5.wr0 |
31.03.201313:50 |
Файл "WR0" |
1 КБ |
|
Элементов: 48 |
Рис. 2. Организация хранимых файлов по завершении проводимого эксперимента
Все результаты делятся на определенные группы. Они представляют собой документы формата «*.DAT». В них содержится информация о начальных условиях эксперимента, о каждой из групп характеристик (средних значений параметров, давления, длины связей и т.д.), полученных в результате исследования (рис. 3).


Каждый из документов формата «*.DAT» представляет собой текстовый файл с позиционным расположением характеристик эксперимента. Между файлами существуют корреляции. Так, MD_DAT файл содержит информацию о количестве элементов, количестве запусков и температурных точках, что определяет размер файла SM_INF.DAT (рис. 3).
При разработке программного обеспечения было выбрано построчное считывание данных ввиду хранения результатов с разделителями «\t» и « » (рис. 4).
io Msto(QR) т,к т ^ss юл г как как №$ 5л^ N_ph щ^ь Ssx 1(1) 78953.4 13225.2 1 94281.1 87 81055-9 200 10 20
В целях распознавания элементов, разделяющихся одним или несколькими знаками « », была использована стандартная библиотека, входящая в состав Java Development Kit java.lang.Object String. В частности были использованы методы split() и разработанный метод класса StringUtils skip(), назначение которого заключается в пропуске «пустых» строк [7].
MD_DAT:
-
• Каждая строка определена для описания нижерасположенных свойств или самих свойств (рис. 4);
-
• Каждая строка содержит «заключительный» символ «_», позволяющий использовать его как точку останова при считывании массива данных (рис. 4);
-
• Содержит параметры, определяющие структуру файла SM_INF.DAT.
-
• Количество данных зависит от количества температурных точек, указанных в MD_DAT;
-
• Каждая группа характеристик отделена одной из строк-разделителей (табл. 1, знач. 1—4);
-
• Каждый из значений эпсилонов результатов эксперимента может быть мал (10-7), ввиду чего его значение не записывается в файл и имеет обозначение (табл. 1, знач. 5).
Таблица 1
Символьные обозначения [10]
№ |
Символьное обозначение |
Кол-во в файле |
Даты экспериментов |
1 |
“--------------------------------------------------------------“ |
1—2 |
От 07.2012 |
2 |
“ -------------------------------------------------------------” |
16—20 |
От 07.2012 |
3 |
“ -----------------------------------------------------------“ |
1—2 |
От 07.2012 |
4 |
“ ---------” |
1—4 |
До 07.2012 |
5 |
“******” |
Зависит от кол-ва температурных точек |
Таблица 2
Числовые типы [4; 5; 8; 9]
№ |
Наименование |
Разрядность |
Диапазон значений |
|
1 |
Integer |
32 |
–2, 147, 483, 648 . |
... 2, 147, 483, 647 |
2 |
Float |
32 |
3.4e-038 ... |
. 3.4e+ 038 |
3 |
Double |
62 |
1.7e-308 ... |
. 1.7e+ 308 |
При попытке считывания очередного числового элемента при подаче нечислового значения (в случае, если файл был поврежден или числовое значение не было выведено) возникает обрабатываемое исключение NumberFormatException.
Для администратора проекта ИИС «MD_SLAGMELT» разработан вид логирования — ведения отладочной информации в целях проверки целостности структуры суммарных результатов эксперимента. После завершения выполнения программы, в случае возникновения исключительных ситуаций, администратор проекта, имеющий доступ к файловой системе, содержащей результаты проведенных экспериментов, имеет возможность ознакомиться с причиной, вызвавшей «некорректную» работу программы.
Для удобства обеспечения отладки и поиска ошибок в формате сформированных результатов осуществляется хранение вплоть до пяти логов с соответствующей нумерацией *.0—*.4.
1 изд 25r 2014 4:18:16 PM Main main
2 SEVERE:
3 3^g^( "-insert" "E:/DataExamples/6/MD_DAT" "E:/DataExamples/6/SM_INF.^^" }
4 file: SM_INF.^^, row: 28 element: 2
-
5 Exception:
-
6 IdXft.jytea.MutiberFamacExcepElan: Fat input acting: •*««*•*•*•
at 23va.1зпg.Float.parseFloat(Unknown Source)
1 ^H 25, 2014 10:00:25 PM Main main
-
2 SEVERE:
3 sural ’-ЖУиаИя" "2000" "700" -Ha- }
-
5 Exception:
Рис. 6. Сгенерированный лог для исключительной ситуации, возникшей при формировании output.xls
Этот компьютер ► Windows3.1 (О) ► Пользователи ► DVKosenko ► AppData ► Local ► SupSoftware ► DataAdapter
^| Имя '- |
Дата изменения Тип Размер |
, dbConnection. pro perties |
20.05.201414:59 Файл "PROPERTIE... 1 КБ |
Sd logging, properties |
25.05.20141153 Файл "PROPERTIE... 1КБ |
Рис. 7. Директория пути к файлу logging.properties
j ava.uti1.1egging. FileHandler . formatter = java, .util. logging. Siir.pleFormatter
Рис. 8. Параметры логера в файле logging.properties
При запуске программы с входными параметрами {“-makexls” “filename.xls” “темпера-турная_точка” “отклонение” “элемент”} происходит извлечение результатов экспериментов с температурными точками, находящимися в диапазоне от [температурная_точка – отклонение; температурная_точка + отклонение], содержащих “элемент”. Извлеченные из базы данных характеристики, соответствующие запросу, хранятся в оперативной памяти, после чего с помощью интерфейса прикладного программирования (API) jXLS формируется файл *.xls, содержащий искомые данные (рис. 9).

Рис. 9. Сформированный *.xls файл и практическая значимость отчетности

По каждой из групп характеристик, относящихся к определенному временному промежутку и пользователю, в сформированном программой «*.xls» файле оператор с помощью стороннего ПО может сформировать графики их изменения относительно мольных долей и температур.
Таким образом, решена задача переноса сложноструктурируемых данных, генерируемых Legacy application ИИС «MD_SLAGMELT» из набора текстовых файлов в реляционный формат. Реализовано программное обеспечение, позволяющее проводить необходимые преобразования данных и обеспечивающее запись в реляционную базу данных.
При этом разработана схема базы данных, архитектура программного обеспечения, обеспечен информационный обмен компонентами ИИС «MD_SLAGMELT», осуществлена реализация переноса всех групп выходных данных (термодинамических характеристик, энергетических параметров, кинетических коэффициентов) компьютерного эксперимента из текстовых файлов в реляционную базу данных; выстроена система проверки *.DAT файлов на наличие ошибок в генерации и проведено тестирование; разработана логика формирования отчетности в формате *.xls; осуществлено конфигурирование программы под текущие настройки базы данных.
В процессе внедрения программного обеспечения «Программа обработки сложноструктурированных данных для научного эксперимента в ИИС “MD_SLAGMELT”» функциональность программы была протестирована на основном сервере проекта.
Список литературы Разработка программного обеспечения для обработки сложноструктурированных данных научного эксперимента
- Буч Г., Рамбо Д., Джекобсон А. UML. Руководство пользователя. М., 2001.
- Воронова Л.И., Григорьева М.А., Воронов В.И., Трунов А.С. Программный комплекс «MD-SLAG-MELT» для моделирования наноструктуры и свойств многокомпонентных расплавов // Расплавы. 2013. № 4.
- Воронова Л.И., Трунов А.С. Оптимизация параллельного алгоритма подсистемы распределенного молекулярно-динамического моделирования // Межотраслевая информационная служба. 2011. № 3.
- Дейт К. Дж. Введение в системы баз данных. 8-е изд. М., 2005.
- Дюбуа П. MySQL. Полное руководство. 3-е изд. М., 2006.
- ИИС «MD-SLAG-MELT». URL: http://nano-md-simulation.com
- Марка Д., МакГоуэн К. Методология структурного анализа и проектирования. М., 1993.
- Моримото Р. Microsoft Windows Server 2012. Полное руководство / М.Ноэл, Г.Ярдени, О.Драуби, Э.Аббейт, К.Амарис. 2-е изд. М., 2013.
- Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд. СПб., 2007.
- Уорсли Дж. PostgreSQL. Для профессионалов. 3-е изд. СПб., 2003.