ГОСТ Р ИСО/МЭК 17826-2015
22 Очереди запросов
22.1 Обзор
Облачная система хранения может опционально реализовывать функциональность запросов ме
таданных и/или полнотекстовых запросов. Наличие этой функциональности обозначается присутстви
ем соответствующих общесистемных опций и предполагает поддержку очередей CDMI™.
Очереди запросов позволяют клиентам CDMI эффективно обнаруживать, какое содержимое соот
ветствует заданным условиям поиска по метаданным или полному тексту. Клиенты создают или обнов
ляют очередь запросов, указывая метаданные, которые определяют критерии соответствия (условия
запросов), а также указывая результаты, которые должны быть возвращены для подходящих объектов
(результат запроса). Реализация CDMI должна затем провести поиск по имеющемуся содержимому и
сохранить результат поиска в очереди запросов. После нахождения результатов запроса, они добавля
ются в очередь, а когда поиск завершен, элемент метаданных cdmi_query_status очереди изменяется,
чтобы указать на завершение поиска. Подходящие объекты, созданные или измененные за время от
работки поискового запроса, могут включаться или не включаться в результат (например, как следствие
связности в конечном итоге).
Если клиент запрашивает поиск по запросу, в первую очередь он должен проверить, способна ли
система выполнять такой поиск (проверка наличия опции cdmi_query среди опций корневого контейне
ра). Если эта опция отсутствует, создание очереди запросов будет успешным, но никакие результаты не
будут попадать в эту очередь.
При создании очереди сообщений необходимо предоставить метаданные, указанные в таблице
124. Попытки изменения метаданных, указанных в этой таблице, должны приводить к ошибке HTTP
403 Forbidden. После создания очереди сообщений элементы этих метаданных не должны
меняться, за исключением cdmi_queue_type. Если значение cdmi_queue_type изменяется с
«cdmi_query_queue», это изменение указывает системе, что обрабатывающийся поисковый
запросдолжен быть остановлен, очередь запросов более не принимает результатов запросов, и
должна обрабатываться как обычный объект-очередь CDMI. Для начала нового поиска с
использованием существующей очереди, значение cdmi_queue_typeдолжно быть изменено обратно
на «cdmi_query_queue». Настоящий стандарт не опре деляет механизма приостановки
выполняющегося поиска и возобновления остановленного поиска.
Т а б л и ц а 124- Необходимые метаданные для очереди запросов
Имя метаданныхТипОписаниеТребование
cdmi_queue_type
cdmi_scope_
specification
JSON
объектов "WHERE" в языках типа SQL. Для запроса по всем объектам, сле
СтрокаПоказывает, как облачная система хранения должна обраба Обязательно
JSON тывать очередь. Для очереди запросов определен тип cdmi_query_
queue.
МассивСпецификация условий запроса определяет, какие объек Обязательно
JSONты включаются в результат запроса. Это эквивалентно оператору
cdmi_results_Объект
specificationJSONкаждого обьекта. подходящего под запрос. Это эквивалент опера
тора "SELECT” в языках типа SQL. Конструирование спецификации
результатов описано в разделе 19.
дует указать пустой массив JSON. Конструирование спецификации
условий запроса описано в гл. 18.
Содержит JSON поля, которые должны быть возвращены для Обязательно
П р и м е р
-
Метаданные, связанные с очередью запросов:
{
«
metadata
» ;
{
«
cdm i_queue_typeu: ttcdmi_query_queueu,
«cdmi_scope_specificationu : [
{
«г
domainURI»
: « = =
/cdm ijdom ains/МуDomain/»,
«
parentURI» : «starts /sandbox»,
• metadata
i* ;
{
•cdm i size» :
« # >
100000»
}
}
149