Хранилище информации о пещерах, задумано для накопления и сохранения результатов работы спелеологов. Спелеодвижению в нашей стране уже исполнилось 50 лет, сменилось несколько поколений спелеологов. Каждое из поколнеий занималось исследованием пещер и создавало информацию о своей деятельности, но без должного сохранения и передачи последующие исследователи зачастую вынуждены начинать многое с нуля.
С широким распространением электронных носителей различные проблемы только преумножились из-за легкости в тиражировании электронной версии документа и компьютерной безграмотности исполнителей.
После анализа основных проблем с которыми приходится сталкиваться при создании и хранении информации о пещерах были выработаны основные принципы хранилища:
Доступность подразумевает, что к хранилищу можно получить доступ через сеть из любого удобного места и в любое удобное время.
Коллективное владение информацией предполагпет, что все данные которые попадают в хранилище становятся доступны всему сообществу подключенных к хранилищу спелеологов. Нет жесткой привязки информации к “хозяину”, любой участник сообщества имеет право редактировать любую информацию в хранилище.
Надежное хранение информации гарантирует доступ к информации во время всего жизненного цикла хранения. Подразумевается, что жизненный цикл хранилища должен быть максимально большим. На всем протяжении жизненного цикла должна обеспечиваться устойчивость к отказам оборудования и другим рискам потери информации.
Максимальная независимость от технологий вытекает из принципа надежного хранения, но не ограничивается только им. Длительное хранение сопряжено с устареванием технологий, что может повлечь за собой невозможность использовать информацию. Для независимости от технологий нужно максимально использовать открытые форматы данных, избегая проприетарные форматы. Само ПО для хранилища должно быть максимально простое и переносимое, с максимальной гарантией от устаревания и дисфункции (открытый исходный код, широкое использование).
В качестве основы хранилища используется файловая система. Файловая система это широко используемый способ организации хранения информации на носителях информации в виде файлов внутри иерархии каталогов.
Следует сказать, что файл это базовая абстракция и подавляющее большинство программ хранят свои данные в виде файлов, что позволяет при использовании ФС избежать ненужных преобразований при сохранении этих данных в хранилище. Данные внутри хранилища будут хранится в родном формате обрабатывающего их ПО.
Файловые системы присутствуют на всех операционных системах и платформах, имеются простые и надежные средства переноса файлов и каталогов между платформами. ПО для создания, удаления, чтения, модификации информации в файловой системе практически всегда входит в базовый набор ОС.
Таким образом хранение информации упрощается и максимально отвязывается от сложных технологий.
Для эффективной организации коллективного владения информацией необходима унифицированная система хранения, позволяющая единообразно хранить информацию в ФС, что в свою очередь позволит любому участнику легко ориентироваться в большом массиве данных и легко находить необходимую информацию.
Структурирование информации в хранилище(структура хранилища) реализуется с помощью иерархии каталогов файловой системы. Различные виды информации хранятся в каталогах или файлах с пердопределенными именами.
Так же единая структура облегчит создание ПО автоматизирующего обработку информации в хранилище.
Для организации совместной работы используется система управления версиями Mercurial (HG)
Данная система предназначена для организации коллективного владения файлами и позволяет:
Доступ к Mercurial происходит через серверное ПО - посредник RhodeCode, которое позволяет:
Mercurial является распределенной системой управления версиями поэтому копии данных (на момент последней синхронизации) хранится у каждого участника и нет физической возможности частично ограничить участника от доступа к информации. Это означает, что все участники являются равноправными и владеют всей совокупностью информации совместно.
Таким образом участники являются узлами распределенной одноранговой сети. Внутри такой сети обмен может отсществлятся напрямую между 2 любыми произвольными узлами, третье лицо не может ограничивать такой обмен. Но с ростом количества участников сети растет сложность обновления актуальных данных т.к. для полного обновления нужно запросить обновления у всех участников.
Для устранения сложностей при таком обмене один из узлов (по соглашению) назначается главным узлом, теперь подразумевается, что самая актуальная информация публикуется на главном узле. Для публикации вместо того чтобы рассылать свои изменения всем остальным участникам, изменения достаточно опубликовать на главный узел, а остальные участники забирают обновления с главного узла (при возникновении у них такой необходимости).
Наличие главного узла это соглашение, технически главный узел такой же равноправный участник. При желании главным можно выбрать любой другой узел, что обеспечивает полную прозрачность такой сети и независимость каждого участника.
Подразумевается что в хранилище будет закладываться вся информация, необходимая для исследования пещер: пикетажные книжки, сырые данные с приборов, исходники карт и т.п. Без этой информации продолжение исследований невозможно, но эта информация не нужна другим спелеологам, им нужны результирующие данные: карта в удобном формате, описание, собранная 3d-модель.
Структурированное храннение информации в хранилище позволяет в автоматизированном режиме собирать т.н. “презентационную часть”, некий гипер-текстовой документ, в котором в простом и удобном виде включены только результаты, а все лишнии “сырые” данные отсутствуют.
Презентационнная часть может публиковаться через веб для удобного доступа к ней всех заинтересованных.
К презентационнй части применяются ограничения на доступ согласно следующим уровням доступа
Каждый уровень доступа подразумевает, что в качестве предусловия выполняются все требования для всех предыдущих уровней.
Так же возможно разграничение доступа по районам или по другим признакам. По просьбам создателей контента можно организовать тот контроль доступа, который они считают нужным для того, чтобы публикуемая информация не нанесла вред пещерам.
Список рекомендованного программного обеспечения для работы с хранилищем и с информацией из хранилища.