Jyahd: различия между версиями
Sb (обсуждение | вклад) |
Sb (обсуждение | вклад) |
||
(не показаны 42 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Attention|Это статья о закрытом за невостребованностью сервисе.}} | |||
= Описание = | = Описание = | ||
'''Just yet another hardware database''' или сокращённо ''' | '''Just yet another hardware database''' или сокращённо '''jyahd''' — сервис по сбору, обработке и предоставлению информации об используемом оборудовании, системном программном обеспечении и используемых настройках для каждого конкретного случая (пробы оборудования). | ||
= Информация для пользователей систем ALT Linux/BaseALT = | = Информация для пользователей систем ALT Linux/BaseALT = | ||
== Возможности сервиса == | == Возможности сервиса == | ||
1. Загрузка данных об оборудовании на сервис (подготовить и отправить данные можно с помощью пока единственной программы клиента [[Hcl-get_usage | 1. Загрузка данных об оборудовании на сервис (подготовить и отправить данные можно с помощью пока единственной программы клиента [[Hcl-get_usage|hcl-get]]), а также комментариев к пробе оборудования. Удаление данных об оборудовании вместе с комментарием (если добавлен) из базы сервиса (возможность доступна в {{pkg|hcl-get}} версии 0.3.99.40). | ||
2. Получение информации об оборудовании и комментариях (в том числе и поиск по оборудованию и комментариям) | 2. Получение информации об оборудовании и комментариях (в том числе и поиск по оборудованию и комментариям), а также получение содержимого логов. | ||
Список логов и информации, которая собирается в пробу, можно посмотреть прямо в коде system-report, например, [http://git.altlinux.org/people/sin/packages/?p=system-report.git;a=blob;f=system-report;h=6c2cd190acf0ef2a5eb531a96147ff414e7df009;hb=HEAD здесь]. | |||
= Информация для потенциальных разработчиков, программистов = | = Информация для потенциальных разработчиков, программистов = | ||
== Протокол взаимодействия программы клиента с сервером == | == Протокол взаимодействия программы клиента с сервером == | ||
Формат запросов, используемый сервисом jyahd, представляет из себя часть запрашиваемого url | Формат запросов, используемый сервисом jyahd, представляет из себя часть запрашиваемого url. Ответ сервера будет в большинстве случаев представлять из себя документ html, который, впрочем, может быть и пустым с точки зрения наличия в нём именно запрашиваемого содержимого. В дополнение к html документу как полезной нагрузке сервер также возвращает ответ в виде значений полей Link (соответствует нумерации проб) и Title (соответствует номерам проб, к которым запрашивается комментарий), если запрос касался формата проб и комментариев, логов или статистики. Но сначала о формате запросов (часто именуемого uri). | ||
== Форматы запросов на получение данных | == Форматы запросов на получение данных методом GET == | ||
Для режима работы с данными проб и комментариями предназначен формат запросов | Для режима работы с данными проб и комментариями предназначен формат запросов вида | ||
архитектура_проба~комментарий | архитектура_проба~комментарий | ||
где "проба" и "комментарий" — числа, назначенные соответственно запрашиваемой пробе и пробе, к которой запрашивается комментарий, а архитектура соответствует одному из значений {{cmd|arch}}. В данном запросе номер получаемой пробы и номер пробы, для которой запрашивается комментарий, могут быть различными. Статистику по пробам и комментариям получить нетрудно, для этого нужно в запросе указать ноль вместо номера ("0" для проб, "~0" для комментариев, "0~0" для проб и комментариев). | где "проба" и "комментарий" — числа, назначенные соответственно запрашиваемой пробе и пробе, к которой запрашивается комментарий, а архитектура соответствует одному из значений {{cmd|arch}}. В данном запросе номер получаемой пробы и номер пробы, для которой запрашивается комментарий, могут быть различными. Статистику по пробам и комментариям получить нетрудно, для этого нужно в запросе указать ноль вместо номера ("0" для проб, "~0" для комментариев, "0~0" или "0~" для проб и комментариев). | ||
Для режима работы с содержимым логов предназначен запрос вида | Для режима работы с содержимым логов предназначен запрос вида | ||
Строка 31: | Строка 32: | ||
где "лог" может отсутствовать и тогда результатом запроса '''архитектура_проба.''' будет список реально доступных для запроса лог файлов конкретной пробы. | где "лог" может отсутствовать и тогда результатом запроса '''архитектура_проба.''' будет список реально доступных для запроса лог файлов конкретной пробы. | ||
Для поиска информации предназначен запрос вида | |||
архитектура_где_ищем-что_ищем | |||
где "что_ищем" — непосредственно содержимое поискового запроса, а "где_ищем" может быть одним из трёх указателей: '''q''', '''qr''' и '''qc''' для данных проб совместно с данными комментариев, только данных проб и только данных комментариев соответственно. | |||
{{Attention|Для подобных запросов действует ограничение в 256 символов на суммарный url, включающий доменное имя. В большинстве случаев этого должно быть достаточно. Для более полновесных запросов предназначен вариант с запросом по методу POST.}} | |||
Для любого из режимов если часть запроса '''архитектура_''' не указана, то по умолчанию подразумевается раздел x86. | Для любого из режимов если часть запроса '''архитектура_''' не указана, то по умолчанию подразумевается раздел x86. | ||
{{Attention|В настоящее время реализован только arch для значений i586, i686, x86_64, т.е., фактически, база состоит лишь из раздела для машин на базе архитектуры [https://ru.wikipedia.org/wiki/X86 x86].}} | |||
== Формат запросов на получение данных методом POST == | |||
Данный запрос осуществляется путём отправки запроса POST вида '''what=что_ищем&where=где_ищем'''. При этом '''где_ищем''' может быть одним из трёх: '''q''', '''qr''' и '''qc''' для данных проб совместно с данными комментариев, только данных проб и только данных комментариев соответственно. | |||
== Формат ответа сервера на запросы по пробам, комментариям | == Формат ответа сервера на запросы по пробам, комментариям, логам, а также поиск == | ||
Как уже было сказано, сервер возвращает html документ, а также сигнализирует заголовками link (пробы) и title (комментарии) в зависимости от того, с каким форматом из вышеописанных пришёл запрос. Если формат запроса касается содержимого проб и комментариев, а также логов и статистики, то заголовки link и title соответственно могут принимать следующие значения: | Как уже было сказано, сервер возвращает html документ, а также сигнализирует заголовками link (пробы) и title (комментарии) в зависимости от того, с каким форматом из вышеописанных пришёл запрос. Если формат запроса касается содержимого проб и комментариев, а также логов и статистики, то заголовки link и title соответственно могут принимать следующие значения: | ||
* f (found) — найдено | * f (found) — найдено | ||
* na (not available) — не добавлено для комментария | |||
* np (not processed) — найдено, но данные не обработаны (находятся в очереди на обработку) | * np (not processed) — найдено, но данные не обработаны (находятся в очереди на обработку) | ||
* nr (not requested) — не запрашивалось (для случая запроса, когда в запросе указывается только номер пробы или только номер пробы, для которой запрашивается комментарий) | * nr (not requested) — не запрашивалось (для случая запроса, когда в запросе указывается только номер пробы или только номер пробы, для которой запрашивается комментарий) | ||
Строка 45: | Строка 55: | ||
* число — в случае запроса статистики покажет количество запрашиваемых элементов в базе | * число — в случае запроса статистики покажет количество запрашиваемых элементов в базе | ||
Всё, что описано выше, уже позволяет написать простой клиент, который будет получать данные о результатах поиска, пробах, комментариях, лог файлах и показывать обработанный результат пользователю. | |||
Всё, что описано выше, уже позволяет написать простой клиент, который будет получать данные о пробах, комментариях, лог файлах и | |||
= Примечания = | |||
[[Категория:HCL]] | [[Категория:HCL]] | ||
[[Категория:Hardware]] | [[Категория:Hardware]] |
Текущая версия от 06:44, 24 марта 2018
Описание
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 для данных проб совместно с данными комментариев, только данных проб и только данных комментариев соответственно.
Для любого из режимов если часть запроса архитектура_ не указана, то по умолчанию подразумевается раздел 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) — было удалено
- число — в случае запроса статистики покажет количество запрашиваемых элементов в базе
Всё, что описано выше, уже позволяет написать простой клиент, который будет получать данные о результатах поиска, пробах, комментариях, лог файлах и показывать обработанный результат пользователю.