Программный модуль «Каталогизация файлов» информационной системы «Инвентаризация информационной системы»
Автор: Калиев Б.А.
Журнал: Вестник Алматинского технологического университета @vestnik-atu
Рубрика: Естественные науки
Статья в выпуске: 1 (102), 2014 года.
Бесплатный доступ
Разработан программный модуль «Каталогизация файлов» распределенной информационной системы «Инвентаризация информационной системы», который решает вопросы учета и управления файловых ресурсов организации. Получен удобный и эффективный инструмент, формирующий источник информации, содержащий все необходимые сведения о файлах пользовательского типа в локальной сети.
Информационная система, программный модуль, инвентаризация информационной системы, каталогизация файлов, файловый ресурс
Короткий адрес: https://sciup.org/140204711
IDR: 140204711
Текст научной статьи Программный модуль «Каталогизация файлов» информационной системы «Инвентаризация информационной системы»
Администратору информационной системы требуется в распределенной среде решать задачу сбора сведений о ресурсах информационной системы. Требуется, в том числе, информация о файловых ресурсах информационной системы. Администратор информационной безопасности решает свои специальные задачи по обеспечению вопросов защиты информации. Сбор сведений о ресурсах информационной системы, одновременно, и сложная техническая задача, и важная организационная задача.
В работе разрабатывается программный модуль «Каталогизация файлов» распределенной информационной системы «Инвентаризация информационной системы», который каталогизирует локально файловые ресурсы компьютера в локальной корпоративной сети организации. Собранные сведения становятся доступными на сервере приложения путем дистанционного доступа к файлу, содержащему собранную информацию о файловых ресурсах.
Файл является структурированным, что позволяет установить связь с данным файлов путем внешней ссылки на него из базы данных Microsoft Access. Таким образом, мы имеем полностью сформированный источник данных организованный в виде базы данных. Такой источник обладает всеми необходимыми качествами, такими как полнота, информативность, легкость при его использовании, а также ценность и целостность.
Объекты и методы исследований
Объектом исследования является файловая система операционной системы
Microsoft Windows. Методом исследования является технология программного анализа структуры файловой системы Windows. Программный модуль реализован в системе программирования “Borland С++ Builder 6” [1].
Поиск файлов начинается при вызове функции обработчика f(). Функция последовательно устанавливает текущий корневой каталог одного из логических дисков компьютера. Затем вызывает на выполнение функцию searchRecursive() рекурсивного поиска файлов и каталогов относительно данного корневого каталога. Функция searchRecursive() имеет внутреннюю функцию для анализа информации о найденном файле analase().
При поиске из анализа исключаются системные и скрытые файлы и каталоги. Информация о каталогах не собирается, но если каталог не является системным и скрытым, то выполняется в нем рекурсивный поиск.
Приведем исходный код программного модуля «Каталогизация файлов».
Листинг
// глобальная переменная int iFileHandle; // дескриптор создаваемого файла
//--------------------------------------------------
// функция обработчик void f(void)
{
// прототип функции поиска файлов void searchRecursive(AnsiString);
// блок перехвата исключений try {
// если каталог существует
// установим текущий каталог - это диск C:
SetCurrentDir("C:");
// получим текущий каталог
AnsiString P=GetCurrentDir();
// начинаем поиск файлов в текущем каталоге searchRecursive(P);
}
// блок обработки исключений catch (...) {}
// аналогичный код для других дисков компьютера try {
// для диска D: аналогично
SetCurrentDir("D:");
AnsiString P=GetCurrentDir();
searchRecursive(P);
} catch (...) {} try {
SetCurrentDir("E:");
AnsiString P=GetCurrentDir();
searchRecursive(P);
} catch (...) {}
// по завершению работы
// закрыть дескриптор файла
FileClose(iFileHandle);
// выдать сообщение о завершении поиска
// MessageDlg("Поиск прекращен", mtConfirmation, TMsgDlgButtons() << mbOK,0);
} // end f()
//--------------------------------------------------
// описание функций
// функция рекурсивного поиска файлов void searchRecursive(AnsiString P) {
// прототип функции анализа void analase(TSearchRec, AnsiString);
// информационная структура -информация о файле
TSearchRec SR;
// найти первый файл в каталоге
FindFirst(P + "\\*.*", faAnyFile , SR);
{ analase(SR, P); } // вызов функции аналитика
}
// цикл пока имеются файлы или каталоги в текущем каталоге do { if (FindNext(SR)==0)
// это скрытый и системный файл или каталог
// продолжить поиск else { analase(SR, P); } // вызов функции аналитика
} else break; // поиск файлов в каталоге завершен
} while (true);
FindClose(SR); // закончить поиск в каталоге
} // end searchRecursive()
//
// описание функции аналитика void analase(TSearchRec SR, AnsiString P)
{
AnsiString S1,S2,S3,S4;
// каталог не является системным
// рекурсивный вызов - поиск в подкаталоге данного каталога if ((P=="C:\\") ||
(P=="D:\\") || (P=="E:\\"))
}} else
{
// получить расширение файла
// это расширение пользовательского файла if ((S1==".xls") ||
(S1==".doc") ||
(S1==".mdb") ||
(S1==".docx") ||
(S1==".xlsx") || (S1==".accdb") || (S1==".djvu") ) // добавить другие типы файлов
{
S3=
// получить время создания файла
// собираем информационную строку
// iFileHandle - дескриптор файла, куда производится запись
// S4.c_str() - (char *) буфер, откуда производится запись в файл
// StrLen(S4.c_str()) - количество байтов, которое записывается в файл
// записать информационную строку в файл
// получим структурированный файл
FileWrite(iFileHandle, S4.c_str() , StrLen(S4.c_str()));
}
}
} // end analase()
//--------------------------------------------------
Получены полный путь к файлу «Поле1», имя файла «Поле2», расширение файла «Поле3», размер файла в байтах «Поле4», дата создания файла «Поле5».
Результаты и их обсуждение
Проведенный поиск файлов пользовательского типа сформировал информационный источник, содержащий всю необходимую информацию о файловых ресурсах компьютера. Мы получили удобный и эффективный инструмент контроля и управления файловых ресурсов распределенной информационной системы «Инвентаризация информационной системы».
Заключение, выводы
Разработанный программный модуль «Каталогизация файлов», один из двух программных модулей распределенной информационной системы «Инвентаризация информационной системы», решает вопросы по учету и управлению всех файловых ресурсов имеющихся в локальной корпоративной сети организации.


Список литературы Программный модуль «Каталогизация файлов» информационной системы «Инвентаризация информационной системы»
- Архангельский А.Я. Программирование в С++ Builder 6. -М.: “Издательство Бином”, 2003. -1152 с.