Действия модуля (Actions)


НАЧАЛО >> Сервер приложений ИРБИС 64/128 >> Описание модулей системы >> CSpider - Сводный каталог >> Действия модуля (Actions)


Действия могут быть вызваны как ?id=WIrbis&action=CSpider/actionname&par1=val1&par2=val2&...

Имя действияОписаниеПараметры
CSpider/ASPAnalyzeНе описаны
CSpider/ASPAnalyzeAllНе описаны
CSpider/AdminUpdateНе описаны
CSpider/CSpiderUpdateServerCacheНе описаны
CSpider/Check20181203Не описаны
CSpider/Check20181216Не описаны
CSpider/CheckClientDbBlockХеширование блока записей
Описание 

Для каждой записи из указанного блока загруженных записей проверяется ее наличие в таблице слияний. Если такой записи не обнаружено, то она добавляется в таблицу и помещается на этап 0. Более подробно см. CSpider/Stage0. Если соответствующая запись найдена (т. е. эта запсь уже загружалась ранее в систему), то высчитывается хеш от ее содержимого и сверяется с сохраненным ранее. Если хеш изменился, найденная запись таблицы слияний помещается на этап 2. Более подробно см. CSpider/Stage2. Если хеш не изменился, то никаких действий не производится, алгоритм завершает свою работу.

ТипПараметрПо умолчаниюОписание
String$dbn''Имя БД из которой загружен блок
Number$bnNULLНомер блока записей для обработки
Number$idfield903Номер поля с информацией об идентификаторе записи
String$idsubfield'*'Подполе с информацией об идентификаторе записи
Number$rlfield920Номер поля с информацией о типе записи
String$rlsubfield'*'Подполе с информацией о типе записи
CSpider/ChooseDbWindowНе описаны
CSpider/ClearLostRecordsНе описаны
CSpider/CreateError6Не описаны
CSpider/CreateStageНе описаны
CSpider/CreateStage28Не описаны
CSpider/DLTRecНе описаны
CSpider/DownloadAllClientDbСоздание заданий на загрузку баз данных-источников
Описание 

Это действие просматривает все организации и для тех, которые являются участницами сводного каталога, для каждой ее БД электронного каталога, БД читателей и БД мероприятий пробует добавить задачу CSpider/DownloadClientDb на загрузку этой БД.

Для каждой БД хранится время последней попытки загрузки этой БД в файле <sid>/CSpiderLastSync (содержимое - unix-дата последней попытки загрузки). Настройка UseModule("CSpider")->maxtimedownload регулирует минимальное время между созданием заданий на загрузку БД. Сбросить это время возможно в настройках БД кнопкой      Сбросить время последней синхронизации

Отсутствуют
CSpider/DownloadClientDbСоздание заданий на загрузку блоков записей из БД-источника
Описание 

У загружаемой БД запрашивается общее число записей, после чего происходит разбиение на блоки. Количество записей в блоке устанавливается параметром UseModule("CSpider")->recordblocksize. В файле БД <sid>/DownloadClientInfo хранится информация о блоках. В файлах <sid>/AllRecords/b... sprintf("%07d",$bn) где bn - это номер блока хранится скачанное содержимое блока (т.е. сами записи). Для каждого блока проверяется время последней загрузки. Это время равно времени модификации файла с данными блока (<sid>/AllRecords/b...) Если с момента последней загрузки блока прошло времени больше чем указано в параметре UseModule("CSpider")->blockreloadtime или в скачанном блоке записей меньше чем указано в параметре UseModule("CSpider")->recordblocksize, то будет создано задание на загрузку блока записей CSpider/DownloadClientDbBlock

ТипПараметрПо умолчаниюОписание
String$dbn''Имя БД для загрузки
Number$isrdr0Если ==1, то БД dbn рассматривается как БД пользователей. Иначе как БД каталога
Number$reload0Если ==1, то создаются задания на загрузку всех блоков.
CSpider/DownloadClientDbBlockЗагрузка блока записей из БД-источника
Описание 

Из БД-источника производится загрузка блока записи с номером bn. Если при последней загрузке было скачано количество записей, указанное в параметре UseModule("CSpider")->recordblocksize и прошло меньше времени чем указано в параметре UseModule("CSpider")->blockreloadtime, загрузка блока не производится, алгоритм завершает свою работу.

При успешном скачивании блока, контенты всех скачанных записей групирруются в массив и помещаются в sid-файл БД <sid>/AllRecords/b...

В файл <sid>/DownloadClientInfo размещается информация о количестве скачанных записей и времени последней загрузки.

Создается задание на обработку загруженныъ данных CSpider/CheckClientDbBlock

ТипПараметрПо умолчаниюОписание
String$dbn''Имя БД для загрузки
Number$bnNULLНомер блока записей для загрузки
Number$idfield903Номер поля с информацией об идентификаторе записи
String$idsubfield'*'Подполе с информацией об идентификаторе записи
Number$rlfield920Номер поля с информацией о типе записи
String$rlsubfield'*'Подполе с информацией о типе записи
CSpider/DownloadClientDbCustomЗагрузка частного блока записей из БД-источника
Описание 

Из БД-источника производится загрузка и хеширование записей в соотвтствии с поисковым запросом.

ТипПараметрПо умолчаниюОписание
String$dbn''Имя БД для загрузки
String$srcNULLПоисковый запрос для отбора записей
Number$idfield903Номер поля с информацией об идентификаторе записи
String$idsubfield'*'Подполе с информацией об идентификаторе записи
Number$rlfield920Номер поля с информацией о типе записи
String$rlsubfield'*'Подполе с информацией о типе записи
CSpider/EmptyНе описаны
CSpider/ExportSourceDbНе описаны
CSpider/ExportSourceDbAllНе описаны
CSpider/ExportSourceDbFromTableЭкспорт БД-источникаОтсутствуют
CSpider/GetDbnNameWindowНе описаны
CSpider/LinkDbExplodeВыделение записи-источника в отдельную сводную запись
Описание 

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

ТипПараметрПо умолчаниюОписание
String$dbn''Имя БД записи-источника
String$sh''Шифр записи-источника в БД-истонике
CSpider/MergeClientRecordByRowidНе описаны
CSpider/MergeSRecordsНе описаны
CSpider/QueueMonitorНе описаны
CSpider/RecreateSshByEsvodtНе описаны
CSpider/RecreateThisRecordНе описаны
CSpider/ReloadDBНе описаны
CSpider/RemoveSRecordНе описаны
CSpider/ResetCSpiderLastSyncНе описаны
CSpider/ResetDownloadBlocksНе описаны
CSpider/ResetMDCНе описаны
CSpider/ReworkDownloadBlocksНе описаны
CSpider/SLink451Создание 451 полей связи с последующим обновлением информации в записях-источниках
Описание 

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

ТипПараметрПо умолчаниюОписание
Array$shList''Массив шифров записей для установки связей по 451 полям
CSpider/SLink451ToSourceDbСоздание 451 полей связи в записях-источниках по сводной записи
Описание 

Для всех записей-источников формируются 451 поля связи

ТипПараметрПо умолчаниюОписание
String$sh''Шифр сводной записи для установки связей по 451 полям в записях-источниках
CSpider/SetRqstНе описаны
CSpider/ShowBlobНе описаны
CSpider/ShowDbНе описаны
CSpider/Stage0Обработчик таблицы слияний. ЭТАП 0: Новые записи
Описание 

Действия исполняются для всех записей таблицы слияний со статусом 0.

Если запись-источник загружена некорректно, то запись таблицы таблицы слияний переносится на этап 6. (См. CSpider/Stage6)

Если запись-источник имеет тип ASP, то запись таблицы таблицы слияний переносится на этап 10. (См. CSpider/Stage10)

Если запись-источник имеет тип PVK, то запись таблицы таблицы слияний переносится на этап 12. (См. CSpider/Stage12)

Если запись-источник имеет тип RDR или RDRU, то запись таблицы таблицы слияний переносится на этап 37. (См. CSpider/Stage37)

Если в сводном каталоге уже существует запись из загружаемой БД-источника с таким же шифром, то запись таблицы таблицы слияний переносится на этап 4. (См. CSpider/Stage4)

Иначе запись таблицы таблицы слияний переносится на этап 5. (См. CSpider/Stage5)

Отсутствуют
CSpider/Stage10Не описаны
CSpider/Stage11Не описаны
CSpider/Stage13Не описаны
CSpider/Stage14Обработчик таблицы слияний. ЭТАП 14: ОШИБКА: Найдено более одной записи при обработке статуса 13
Описание 

Действия исполняются для всех записей таблицы слияний со статусом 14.

Если соответствующая сводная запись не определена - переносится на этап 2. (См. CSpider/Stage2)

Если в СК более одной записи с указанным сводным шифром, то производится их слияние. (См. CSpider/MergeSRecords). После слияния запись переносится на этап 2. (См. CSpider/Stage2)

Отсутствуют
CSpider/Stage16Не описаны
CSpider/Stage2Обработчик таблицы слияний. ЭТАП 2: Изменившиеся записи
Описание 

Действия исполняются для всех записей таблицы слияний со статусом 2.

Запись таблицы слияний переносится на этап 5 (См. CSpider/Stage5). В таблице слияний устанавливаются значения обновленного хеша записи-источника, время последнего обновления записи устанавливается равным текущему.

Отсутствуют
CSpider/Stage21Не описаны
CSpider/Stage28Не описаны
CSpider/Stage29Не описаны
CSpider/Stage3Обработчик таблицы слияний. ЭТАП 3: Записи для которых не требуется действий
Описание 

Действия исполняются для всех записей таблицы слияний со статусом 3.

Если со времени последнего обновления записи прошло больше времени, чем указано в параметре UseModule("CSpider")->recordawaydays, запись таблицы слияний переносится на этап 21 (См. CSpider/Stage21).

Отсутствуют
CSpider/Stage34Не описаны
CSpider/Stage35Не описаны
CSpider/Stage37Не описаны
CSpider/Stage4Обработчик таблицы слияний. ЭТАП 4: Записи с неуникальными идентификаторами
Описание 

Действия исполняются для всех записей таблицы слияний со статусом 4.

Если для записи таблицы слияний нет записи в сводном каталоге с таким же шифром записи-источника (т. е. ошибка в данных устранена), запись таблицы слияний переносится на этап 0 (См. CSpider/Stage0). Иначе (т. е. ошибка все еще присутствует) запись остается на этапе 4.

На этот этап записи могут попадать только в случае возникновения рассогласованности данных в системе между таблицей слияний и сводным каталогом. Попадание записи на этот этап обработки происходит на этапе обработки 0 в том случае если в таблице слияний записи с таким шифром нет (т.е. запись распознана как новая), но в сводном каталоге запись с таким шифром уже проходила слияние.

Для исправления ситуации необходимо вмешательство оператора. Оператор должен отобрать все записи-источники этапа 4 по ссылке ?id=CSpider/LinkDbInfo&st=4. Для каждой записи необходимо перейти по ссылке из столбца sh - появится результат поиска по сводному каталогу, содержащий записи сводного каталога с ошибками. Каждую найденную запись необходимо вызвать на редактирование и удалить соответствующее записи-источнику повторение поля 902. Если удаляемое поле - последнее в записи, то необходимо (на усмотрение пользователя) удалить запись сводного каталога целиком.

Отсутствуют
CSpider/Stage5Не описаны
CSpider/Stage6Не описаны
CSpider/Stage60Не описаны
CSpider/Stage7Не описаны
CSpider/Stage8Не описаны
CSpider/Stage9Не описаны
CSpider/StatDbnStageНе описаны
CSpider/TransferStage8ToRecordНе описаны
CSpider/TransformRSLHTMLНе описаны
CSpider/UpdateOrgsНе описаны
CSpider/VacuumНе описаны
CSpider/m20170205Не описаны
CSpider/t1Не описаны
CSpider/t3Не описаны
CSpider/t4Не описаны
CSpider/t5Не описаны