Имя файла справочника (ItemMenu) =





НазваниеИмя файла справочника (ItemMenu) =
страница5/34
Дата публикации30.04.2015
Размер4.56 Mb.
ТипСправочник
100-bal.ru > География > Справочник
1   2   3   4   5   6   7   8   9   ...   34

ИРБИС-Навигатор




Язык форматирования



Глобальная корректировка


TCP/IP сервер баз данных ИРБИС64


1. Создан новый механизм актуализации записи (корректировка словаря в соответствии с изменениями записи) - отличающийся от старого механизма большим быстродействием.

Дальнейшие разъяснения будут интересны исключительно продвинутым администраторам ИРБИС, которым не лень разбираться в тонкостях "движка" СУБД ИРБИС.

Чтобы объяснить суть нового механизма актуализации, необходимо напомнить схему старого механизма. Она состоит в следующем:

- рассматриваются две копии актуализируемой записи: последняя копия (т.е. актуальное состояние записи после корректировки) и предыдущая копия (т.е. состояние записи до выполнения корректировки, или точнее - то состояние записи, для которого выполнялась предыдущая актуализация);

- обе копии записи подвергаются обработке (в оперативной памяти) в соответствии с таблицей инвертирования данной БД (<имя_БД>.FST). Обработка состоит в том, что копии записи форматируются по КАЖДОЙ строке таблицы инвертирования (см. структуру FST) и в соответствии с методами инвертирования создаются списки терминов. В результате - формируются два списка терминов: один - связанный с предыдущей копией записи, другой - с последней копией;

- два списка терминов (после сортировки) сравниваются. В результате: а) термины, являющиеся общими для обоих списков отбрасываются (не рассматриваются), б) термины, оставшиеся в списке последней копии (т.е. те термины, которые присутствовали в списке последней копии и отсутствовали в списке предыдущей копии) ДОБАВЛЯЮТСЯ в словарь БД, в) термины, оставшиеся в списке предыдущей копии (т.е. те термины, которые присутствовали в списке предыдущей копии и отсутствовали в списке последней копии) УДАЛЯЮТСЯ из словаря.

Нетрудно понять, что данный механизм имеет существенный недостаток, связанный с нечувствительностью к тому, КАКИЕ и СКОЛЬКО полей записи подвергались изменению (корректировке). Т.е. если изменялись все или большинство полей записи (или точнее – большинство тех полей, которые участвуют в инвертировании), этот механизм эффективен; если же изменялось одно или несколько полей (а именно это имеет место на практике при работе с библиографическими БД) - механизм малоэффективен. И уж совсем "впустую" он работает в тех случаях, когда изменялись только те поля, которые не участвуют в инвертировании (т.е. те, по которым не создаются словари).

Проиллюстрировать это можно на следующем примере. При корректировке записи изменялось только поле 910 (экземпляры). В этом случае форматирование последней и предыдущей копий записи по строкам таблицы инвертирования, не имеющим отношения к полю 910, заведомо бессмысленно, поскольку сформированные в результате этого термины окажутся общими для обоих списков и будут отброшены. Имеет смысл использовать только те строки таблицы инвертирования, которые имеют отношение к полю 910. Но этого не происходит - старый механизм "тупо" обрабатывает ВСЕ строки таблицы инвертирования и тратит время на ненужное форматирование. Таким образом, идея нового механизма актуализации лежит как будто на поверхности: определять, какие поля в записи изменялись (сравнивая последнюю и предыдущую копии записи) и отбирать из таблицы инвертирования только те строки, которые имеют отношение к изменившимся полям.

(Все именно так - только надо сразу видеть и "обратную сторону", т.е. недостатки нового механизма: в случае изменения всех или большинства полей записи впустую уже будет тратиться время на сравнение копий и отбор строк из таблицы инвертирования.)

Процесс сравнения копий (с целью выявления изменившихся полей) - очевиден и его реализация не вызывает никаких проблем. А вот задача отбора строк таблицы инвертирования, имеющих отношение к изменившимся полям, более "хитрая".(И даже более того - в силу изощренности языка форматирования ИРБИС эта задача алгоритмически строго говоря вообще неразрешима. Вот пример - разумеется, чисто теоретический - строки таблицы FST, по которой нельзя определить, к какому полю она относится:

100 0 ....&uf('AV',f(val(v100),0,0),'#1').....

понятно, что это не поле 100 - а то поле, чья метка указана в поле 100 текущей записи.)

И тем не менее, для решения "хитрой" задачи предлагается следующее. Вводится новая структура - дополнительная по отношению к таблице инвертирования. Будем называть ее ТАБЛИЦА АКТУАЛИЗАЦИИ - IFS (именно такое расширение предлагается для соответствующего файла). Таблица актуализации создается ИСКЛЮЧИТЕЛЬНО на основе таблицы инвертирования (каким образом - об этом ниже) и является ее ОДНОЗНАЧНЫМ следствием ("придатком"). Отличие таблицы актуализации от таблицы инвертирования только лишь в структуре первого элемента (если смотреть через Редактор РЛ - это первая колонка). В таблице инвертирования это т.н. "точка входа". В таблице актуализации - в первом элементе дополнительно к точке входа указываются (через запятую) МЕТКИ полей, имеющих отношение к данной строке (т.е. метки тех полей, которые используются в соответствующем формате - третьем элементе таблицы).

Схематичный пример строки таблицы инвертирования:

100 0 .....v100......v200......v300....

Ей будет соответствовать следующая строка таблицы актуализации:

100,100,200,300 0 .....v100......v200......v300....

Понятно, что такая структура таблицы актуализации позволяет легко решать задачу отбора строк инвертирования, имеющих отношение к изменившимся полям.

Таким образом, новый механизм актуализации состоит в следующем:

- сравниваются последняя и предыдущая копии записи - в результате определяются метки изменившихся полей;

- из таблицы актуализации отбираются строки, имеющие отношение к изменившимся полям и на их основе формируется временная (создаваемая налету для конкретной записи) таблица инвертирования;

- отрабатывает "старый" механизм актуализации на основе временной таблицы инвертирования.

Необходимо отметить, что по понятным причинам при актуализации (т.е. сохранении) НОВОЙ записи (у которой нет никаких предыдущих копий), а также при УДАЛЕНИИ и РАЗУДАЛЕНИИ записи будет применяться старый механизм актуализации.

Логичен вопрос: зачем поддерживать две структуры - таблицу инвертирования и таблицу актуализации, почему нельзя отказаться от таблицы инвертирования и применять только новую структуру - таблицу актуализации. Ответ очевиден: исключительно для соблюдения принципа наследования. Т.е. если в структуре БД присутствует таблица актуализации (<имя_БД>.IFS) , будет применяться новый механизм актуализации, в противном случае - старый механизм.

(Необходимо сразу отметить, что при полном создании словаря используется ТОЛЬКО таблица инвертирования - <имя_БД>.FST - т.е. этот файл остается ОБЯЗАТЕЛЬНЫМ в структуре БД, в отличие от таблицы актуализации <имя_БД>.IFS, которая может отсутствовать).

Теперь о том, каким образом создавать таблицу актуализации. Разумеется, нет большой трагедии в том, чтобы создавать и корректировать ее вручную на основе таблицы инвертирования - ведь таблица инвертирования это фундамент БД и меняется она отнюдь не каждый день. И именно так придется поступать на первых этапах применения нового механизма актуализации (в дистрибутиве 2012.1 предлагается таблица актуализации для стандартной БД ЭК - IBIS). В будущем будет предложен инструмент для формирования таблицы актуализации на основе таблицы инвертирования. Но при этом надо иметь в виду, что каким бы точным ни был этот инструмент (а абсолютно точным он быть не может по приведенным выше причинам), все равно будет требоваться ручная постредакутра таблицы актуализации.

Следствием введения нового механизма актуализации является изменение следующих серверных исполняемых модулей:

irbis64.dll

server_64.exe

irbisa.exe

GenPft64.exe

IrbisGblAdmin.exe

Web-шлюзы

Полнотекстовые модули (Irbis64_FullTextAdministrator.exe и Irbis64_FullTextReader.exe)

(и что самое "неприятное" - они становятся НЕСОВМЕСТИМЫМИ с аналогичными модулями версий ниже 2012.1)

2. В структуру файла \DATAI\<имя_БД>.PAR, определяющего реальное местоположение (путь) ресурсов БД, введена новая, 11 строка, которая определяет реальное местоположение (путь) внешних объектов, имеющих относительную адресацию: в случае ИРБИС64 это внешние объекты, адресуемые через поле 951 подполе А, а в случае ИРБИС64 ПБД это полные тексты, включаемые в БД по относительным путям (поле 952 подполе В). В случае отсутствия 11 строки в файле <имя_БД>.PAR предполагается, что соответствующие объекты находятся непосредственно в папке БД. В случае ИРБИС64 ПБД и использования АРМа полнотекстового читателя путь в 11 строке файла <имя_БД>.PAR надо обязательно указывать начиная с имени компьютера (Например: 11=\\<имя_ПК>\<имя_общего_ресурса>\и т.д.)

Новая возможность позволяет:

- в случае ИРБИС64 - связывать с библиографической записью внешние объекты через относительную адресацию (951^A) и при этом размещать их за пределами njq папки, где находится соответствующая БД. При этом в случае перемещения внешних объектов не возникает необходимости корректировать 951 поле, достаточно лишь откорректировать 11 строку в файле <имя_БД>.PAR.

- в случае ИРБИС64 ПБД - включать в полнотекстовую БД объекты, используя опцию ОТНОСИТЕЛЬНЫЙ ПУТЬ и при этом размещать их за пределами папки с собственно БД. Если предполагается использование такой возможности, следует предварительно - ДО включения текстов в БД - внести в файл <имя_БД>.PAR 11 строку соответствующего содержания. Данная возможность позволяет рекомендовать пользователям при включении в БД полных текстов ПОЛНОСТЬЮ ОТКАЗАТЬСЯ от использования опции ПОЛНЫЙ ПУТЬ.

1   2   3   4   5   6   7   8   9   ...   34

Похожие:

Имя файла справочника (ItemMenu) = iconБилет №13
Понятие файла и файловой системы организации данных (папка, иерархическая структура, имя файла, тип файла, параметры файла). Основные...
Имя файла справочника (ItemMenu) = iconКаково полное имя сохранённого файла?
Файл, полное имя которого было C:\doc\MyReferat doc, сохранили в подкаталоге referat корневого каталога диска Н. Каково полное имя...
Имя файла справочника (ItemMenu) = iconПрограмма по формированию навыков безопасного поведения на дорогах...
В некотором каталоге хранился файл Вьюга doc. В этом каталоге создали подкаталог Январь и файл Вьюга doc переместили в созданный...
Имя файла справочника (ItemMenu) = iconПрограмма по формированию навыков безопасного поведения на дорогах...
В некотором каталоге хранился файл Вьюга doc. В этом каталоге создали подкаталог Январь и файл Вьюга doc переместили в созданный...
Имя файла справочника (ItemMenu) = iconСлово немецкое, означающее надпись, помещаемую на каждой странице...
Очень полезно вставлять в печатаемые документы имя файла или полное имя файла, дату создания, чтобы в любой момент можно было найти...
Имя файла справочника (ItemMenu) = iconПушкин doc, полное имя файла стало F:\Литература\Поэты\xix\Пушкин...
В некотором каталоге хранился файл Пушкин doc. После того как в этом каталоге создали подкаталог и переместили в созданный подкаталог...
Имя файла справочника (ItemMenu) = iconИтоги работы за 1 полугодие 2012 – 2013 учебного года! Основы информационных технологий
Файловая система (понятие файла, имя файла, типы файлов, структура файловой системы пк, особенности системы fat и ntfs, работа с...
Имя файла справочника (ItemMenu) = iconТема Имя файла
Братышева\Братышева\Уроки информатики\Материалы к урокам\ Кодирование текст информации ppt
Имя файла справочника (ItemMenu) = iconПрограмма по формированию навыков безопасного поведения на дорогах...
Ключевые слова: файл, файловая система, путь к файлу, имя файла, дерево файловой системы
Имя файла справочника (ItemMenu) = iconПрограмма по формированию навыков безопасного поведения на дорогах...
Ключевые слова: файл, файловая система, путь к файлу, имя файла, дерево файловой системы
Имя файла справочника (ItemMenu) = iconНекоторые рекомендации по оформлению новых уроков в проекте «Открытые уроки» для студентов
Название файла урока любое, но лучше осмысленное, латинскими буквами, расширение файла htm
Имя файла справочника (ItemMenu) = iconТребования к выполнению задания
Первое задание представляет собой текстовый файл-документ, созданный процессором word. Имя файла имеет вид sale-xxx, где XXX ваша...
Имя файла справочника (ItemMenu) = iconТребования к оформлению реферата по учебной дисциплине
Реферат по учебной дисциплине выполняется в установленной форме (имя файла электронной формы: «р реферат по дисциплине шаблон»)
Имя файла справочника (ItemMenu) = iconПравила оформления статей
А4 (210 х 297 мм) с полями с левой и правой стороны не менее 25 мм (размер шрифта: кегль 12; гарнитура Times New Roman) и файл статьи...
Имя файла справочника (ItemMenu) = icon«Открытие и закрытие файла последовательного доступа. Запись в файл...
Обучающая: закрепление навыков использования оператора ветвления при составлении и реализации программ, набора и отладки программы,...
Имя файла справочника (ItemMenu) = iconПравила написания рефератов
В дополнение к бумажному варианту необходимо выслать электронный вариант по адресу macro2004@yandex ru (для моих групп – 121,124-126,...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск