Jyahd

Материал из ALT Linux Wiki
(перенаправлено с «Just yet another hardware database»)
Внимание! Это статья о закрытом за невостребованностью сервисе.

Описание

Just yet another hardware database или сокращённо jyahd — сервис по сбору, обработке и предоставлению информации об используемом оборудовании, системном программном обеспечении и используемых настройках для каждого конкретного случая (пробы оборудования).

Информация для пользователей систем ALT Linux/BaseALT

Возможности сервиса

1. Загрузка данных об оборудовании на сервис (подготовить и отправить данные можно с помощью пока единственной программы клиента hcl-get), а также комментариев к пробе оборудования. Удаление данных об оборудовании вместе с комментарием (если добавлен) из базы сервиса (возможность доступна в hcl-get версии 0.3.99.40).

2. Получение информации об оборудовании и комментариях (в том числе и поиск по оборудованию и комментариям), а также получение содержимого логов.

Список логов и информации, которая собирается в пробу, можно посмотреть прямо в коде system-report, например, здесь.

Информация для потенциальных разработчиков, программистов

Протокол взаимодействия программы клиента с сервером

Формат запросов, используемый сервисом jyahd, представляет из себя часть запрашиваемого url. Ответ сервера будет в большинстве случаев представлять из себя документ html, который, впрочем, может быть и пустым с точки зрения наличия в нём именно запрашиваемого содержимого. В дополнение к html документу как полезной нагрузке сервер также возвращает ответ в виде значений полей Link (соответствует нумерации проб) и Title (соответствует номерам проб, к которым запрашивается комментарий), если запрос касался формата проб и комментариев, логов или статистики. Но сначала о формате запросов (часто именуемого uri).

Форматы запросов на получение данных методом GET

Для режима работы с данными проб и комментариями предназначен формат запросов вида

архитектура_проба~комментарий

где "проба" и "комментарий" — числа, назначенные соответственно запрашиваемой пробе и пробе, к которой запрашивается комментарий, а архитектура соответствует одному из значений arch. В данном запросе номер получаемой пробы и номер пробы, для которой запрашивается комментарий, могут быть различными. Статистику по пробам и комментариям получить нетрудно, для этого нужно в запросе указать ноль вместо номера ("0" для проб, "~0" для комментариев, "0~0" или "0~" для проб и комментариев).

Для режима работы с содержимым логов предназначен запрос вида

архитектура_проба.лог

где "лог" может отсутствовать и тогда результатом запроса архитектура_проба. будет список реально доступных для запроса лог файлов конкретной пробы.

Для поиска информации предназначен запрос вида

архитектура_где_ищем-что_ищем

где "что_ищем" — непосредственно содержимое поискового запроса, а "где_ищем" может быть одним из трёх указателей: q, qr и qc для данных проб совместно с данными комментариев, только данных проб и только данных комментариев соответственно.

Внимание! Для подобных запросов действует ограничение в 256 символов на суммарный url, включающий доменное имя. В большинстве случаев этого должно быть достаточно. Для более полновесных запросов предназначен вариант с запросом по методу POST.

Для любого из режимов если часть запроса архитектура_ не указана, то по умолчанию подразумевается раздел x86.

Внимание! В настоящее время реализован только arch для значений i586, i686, x86_64, т.е., фактически, база состоит лишь из раздела для машин на базе архитектуры x86.

Формат запросов на получение данных методом POST

Данный запрос осуществляется путём отправки запроса POST вида what=что_ищем&where=где_ищем. При этом где_ищем может быть одним из трёх: q, qr и qc для данных проб совместно с данными комментариев, только данных проб и только данных комментариев соответственно.

Формат ответа сервера на запросы по пробам, комментариям, логам, а также поиск

Как уже было сказано, сервер возвращает html документ, а также сигнализирует заголовками link (пробы) и title (комментарии) в зависимости от того, с каким форматом из вышеописанных пришёл запрос. Если формат запроса касается содержимого проб и комментариев, а также логов и статистики, то заголовки link и title соответственно могут принимать следующие значения:

  • f (found) — найдено
  • na (not available) — не добавлено для комментария
  • np (not processed) — найдено, но данные не обработаны (находятся в очереди на обработку)
  • nr (not requested) — не запрашивалось (для случая запроса, когда в запросе указывается только номер пробы или только номер пробы, для которой запрашивается комментарий)
  • nf (not found) — не найдено
  • wr (was removed) — было удалено
  • число — в случае запроса статистики покажет количество запрашиваемых элементов в базе

Всё, что описано выше, уже позволяет написать простой клиент, который будет получать данные о результатах поиска, пробах, комментариях, лог файлах и показывать обработанный результат пользователю.

Примечания