Автоматизированная библиотечно-информационная система [4] SLiMS (Senayan Library Management System) представляет собой программное обеспечение для управления библиотекой с открытым исходным кодом.
C технической точки зрения, информационная система Senayan представляет из себя Web-приложение, доступ к которому осуществляется через браузер. Для развертывания АБИС потребуется Web-сервер, СУБД MySQL и интерпретатор языка PHP.
Сама система в свою очередь построена также на открытых программных инструментах и языках, что существенно упрощает изменение и доработку данной СУБД.
В связи с этими преимуществами, а также с общей тенденцией перехода от закрытого программного обеспечения к ПО с открытым кодом, вероятно стремление пользователей АБИС обратить своё внимание на системы, подобные SLiMS. При этом перед ними встает задача переноса данных из ранее используемой системы в новую. В данной статье рассмотрим программное решение, позволяющее совершить перенос записей библиотечного фонда из популярной АБИС Марк–SQL[1] в SLiMS [2].
Описание процесса загрузки информации в АБИС SLiMS
В первую очередь необходимо экспортировать записи из Марк–SQL. Для этого в главном меню программы нужно выбрать пункт «Документ/Найти все», а затем нажать «Сервис/Выгрузка» в текстовый файл.
Файл экспорта представляет из себя массив строк, каждая строка содержит информацию об одном документе из фонда библиотеки. Информация закодирована в следующем формате: Автор/Заглавие/Издательство/Дата издания/Объем/ISBN.
Для импорта данных из файла экспорта в базу данных автоматизированной библиотечной системы SLiMS была разработана программа на языке PHP. Выбор PHP как языка обусловлен тем, что сама система SLiMS написана на нем, следовательно у пользователя на сервере гарантированно будет установлен интерпретатор PHP. Приложение принимает в качестве параметра путь к файлу экспорта, устанавливает соединение с базой данных АБИС и вставляет в её соответствующие таблицы информацию из записей в файле.
Представляет интерес моделирование импорта информации из текстового файла в БД SLiMS, также изучение зависимости его времени от технических параметров вычислительной системы. В связи с тем, что не всегда в распоряжении оператора СУБД имеется достаточно производительный компьютер [3], программа импорта данных должна работать за приемлемое время на том диапазоне количества документов, который соответствует возможным размерам фондов школьной библиотеки.
Проведение вычислительных экспериментов
Компьютерные эксперименты проводились на следующем оборудовании: процессор AMD Athlon 2 X2 250, такт. частота 3 ГГц, кэш первого уровня 64×2 КБ (по 64 кб. на ядро), кэш второго уровня 1024×2 КБ. Оперативная память 4086 МБ DDR3. Замеры производились в операционной системе Linux Mint с помощью утилиты cpufreq, которая позволяет выставить частоту ядер процессора на определенное значения: 800 MГц, 1,3 ГГц, 1,8 ГГц, 2,3 ГГц, 3 ГГц. Остальные параметры вычислительно системы не менялись. Количество записей в импортируемом файле составляло от 5 до 50 тысяч.
Результаты компьютерных экспериментов представлены на рис. 1
Рис. 1. Зависимость времени загрузки от объема записей: маркеры – экспериментальные данные, сплошные линии – графики аппроксимирующих прямых, полученных МНК
Результаты компьютерных экспериментов показали, что при сравнительно малых объемах записей время загрузки линейно зависит от количества записей (строк) в файле (рис. 1). Это означает, что загрузка происходит с постоянной скоростью при фиксированных параметрах вычислительной системы.
Математическое моделирование загрузки данных
Для формулировки математической модели, описывающей скорость процесса загрузки записей из файла в базу данных SLiMS, удобно рассматривать зависимость объема записей S (количества строк) от времени загрузки t.
Поскольку производная по времени от объема записей представляет собой скорость загрузки, то эта величина должна быть постоянной при неизменных параметрах вычислительной системы. Исходя из данного положения, можно сформулировать математическую модель рассматриваемого процесса:
(1)
где v - скорость загрузки; t0, S0 – эмпирические параметры, зависящие от технических характеристик вычислительной системы. Математическая модель (1) представляет собой задачу Коши для дифференциального уравнения первого порядка [5]. Эмпирические параметры, входящие в начальное условие, можно условно трактовать, например, как минимальное время загрузки t0 наименьшего объема записей S0.
Решение задачи Коши (1) описывается выражением:
(2)
Значения эмпирических параметров функции (2) определены методом наименьших квадратов [6] и приведены в таблице для различных частот процессора. Для каждого процессора было задано значение наименьшего файла S0 = 1000, для которого получены значения времени загрузки и скорости.
Зависимость значений эмпирических параметров функции (2) от частоты процессора
f (GHz) |
v (string/sec) |
t0 (sec) |
R2 |
0,8 |
328,12 |
2,663664 |
0,9985 |
1,3 |
484,23 |
0,633757 |
0,9963 |
1,8 |
691,13 |
0,932617 |
0,9853 |
2,3 |
940,07 |
1,018653 |
0,9547 |
3,0 |
1214,29 |
-0,081354 |
0,9953 |
Все рассчитанные значения коэффициентов детерминации (достоверности аппроксимации) для уравнения (2) с параметрами из табл. 1 близки к единице, на основании чего можно утверждать, что предложенная модель согласуется с результатами компьютерных экспериментов [6].
Полученные результаты показывают, что скорость загрузки v линейно возрастает с увеличением тактовой частоты процессора (рис. 2) по закону:
(3)
Установленная экспериментально закономерность роста скорости с увеличением частоты процессора и рассчитанной прямой (3) приведены на рис. 2.
Величина коэффициента детерминации (достоверности аппроксимации) для уравнения прямой (3) R2 = 0,9956. Так как данное значение близко к единице, то это свидетельствует о том, что выражение модели (3) удовлетворительно описывает экспериментальные данные [6].
По результатам проведенной работы можно сделать вывод, что перенос информации о библиотечном фонде из АБИС «Марк-SQL» в SLiMS вполне реализуем даже на относительно слабом по современным меркам аппаратном обеспечении. Использованные в разработке средства (язык программирования PHP, СУБД MySQL, web–сервер apache) являются бесплатными, и доступны для установки и использования на большом числе современным операционных систем.
Рис. 2. Зависимость скорости загрузки от частоты процессора: маркеры – значения параметров из табл. 1, сплошная линия – график прямой (3)
Перенос данных из закрытых АБИС в свободные, такие как SLiMS, позволит с меньшими затратами усилий осуществить переход на свободные автоматизированные информационные системы. Разработанное программное решение демонстрирует хорошую масштабируемость относительно изменения частоты процессора, поскольку, как следует из результатов эксперимента, время работы механизма переноса данных почти линейно зависит от частоты ЦПУ.
Рецензенты:
Блажевич С.В., д.ф.-м.н., заведующий кафедрой информатики и вычислительной техники, ФГАОУ «Белгородский государственный национальный исследовательский университет», г. Белгород;
Логачев К.И., д.т.н., профессор, ФГБОУ ВПО «Белгородский государственный технологический университет им. В.Г. Шухова», г. Белгород.
Работа поступила в редакцию 07.06.2013.