Накопление данных
Файл-серверы и серверы данных
Модель накопления данных BOINC основана на файлах.
Файлами являются входные и выходные данные приложений
и запускаемые программы.
Ядро BOINC клиента передает файлы серверам данных,
управляемыми проектом и получает их от них же, используя HTTP.
Файл описывается XML тэгом по форме
<file_info>
<name>foobar</name>
<url>http://a.b.c/foobar</url>
<url>http://x.y.z/foobar</url>
...
<md5_cksum>123123123123</md5_cksum>
<nbytes>134423</nbytes>
<max_nbytes>200000</max_nbytes>
<status>1</status>
[ <generated_locally/> ]
[ <executable/> ]
[ <upload_when_present/> ]
[ <sticky/> ]
[ <signature_required/> ]
</file_info>
Описание компонент согласно следованию:
- Тэг <name> показывает имя файла, которое должно быть
уникальным в пределах одного проекта.
- Каждый тэг <url> показывает URL, по которому файл расположен
(или будет расположен) на сервере данных.
- Тэг <md5_cksum> - это MD5 контрольная сумма файла.
- Тэг <nbytes> - это размер файла в байтах (может быть
больше 2^32).
- Тэг <max_nbytes> - это максимальный доступный размер файла в
байтах (может быть больше 2^32). Это используется для предотвращения флуда
со стороны серверов с фальшивыми данными.
- Тэг <status> - равен 0, если файл не существует,
1, если файл существует, или отрицательному коду ошибки, если была проблема с
скачиванием или генерированием файла.
- Тэг <generated_locally> , если присутствует, показывает,
что файл был сгенерирован программной оболочкой (приложением) клиента,
а не скачан с сервера.
- Тэг <executable> , если присутствует, показывает, что
файл должен быть установлен в системе как запускаемый.
- Тэг <upload_when_present> , если присутствует, показывает,
что файл должен быть загружен на сервер после создания.
- Тэг <sticky> , если присутствует, показывает, что файл
должен быть оставлен в составе клиента после первого использования.
- Тэг <signature_required> , если присутствует, показывает,
что файл должен быть проверен с помощью RSA подписи. Это применяется,
в основном, только для запускаемых файлов.
Эти атрибуты позволяют подробно описать различные типы файлов: например,
входные или выходные файлы, которые сохраняются для использования в качестве
входных для последующих вычислений.
Однажды созданный файл (на сервере данных или машине участника) остается
неизменным.
Ссылки файлов
Файлы могут быть связаны с расчетными блоками,
результатами и
версиями приложений.
Каждая такая связь описывается XML тэгом по форме
<file_ref>
<file_name>foobar</file_name>
[ <open_name>input</open_name> ]
[ <main_program/> ]
</file_ref>
Описание компонент согласно следованию:
- Тэг <file_name> определяет файл.
- Тэг <open_name> - имя, по которому приложение будет
ссылаться на файл.
- Тэг <main_program/> используется для файлов, связанных
с версиями приложений. Он показывает, что этот файл является главной
программой приложения.