1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ygq-ctjdfs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

CTJDFS — это открытая легковесная распределённая файловая система, разработанная на языке Java. Она предназначена для управления файлами и предоставляет такие функции, как хранение файлов, доступ к файлам (загрузка и скачивание файлов) и решает проблемы с большим объёмом хранения данных и балансировкой нагрузки.

Официальный сайт

Проект можно найти по адресу: http://www.caitaojun.com/ccblog/ArticleInfoServlet?aid=003fee02581e4f1a8a368b1e2dfd04ce.

Архитектура программного обеспечения

Рисунок: res/3f688fc9695641fa9855e388d322c614.png.

Инструкция по установке

  1. Установите JRE 1.8.
  2. Загрузите серверный файл по ссылке: https://gitee.com/ygq/ctjdfs/raw/master/res/ctjdfs-server.jar или загрузите код CTJDFS-сервера для создания пакета.
  3. Настройте два файла конфигурации: tracker.properties и storage.properties. В файле tracker.properties укажите:
    • роль сервера (tracker или storage);
    • порт для tracker (ctjdfs.port);
    • путь для хранения данных tracker (ctjdfs.tracker.data.path). В файле storage.properties укажите:
    • роль сервера (tracker или storage);
    • порт для storage (ctjdfs.port);
    • адрес и порт tracker (ctjdfs.tracker);
    • интервал между отправкой heartbeat-сообщений от storage к tracker в секундах (ctjdfs.heartbeat.interval);
    • адрес и порт storage (ctjdfs.storage);
    • путь для сохранения файлов на storage (ctjdfs.storage.file.path).
  4. Запустите сервис. После загрузки файла CTJDFS-server.jar и настройки файлов конфигурации запустите сервисы tracker и storage. Для запуска сервиса tracker выполните следующие действия:
    1. Откройте командную строку.
    2. Перейдите в каталог, где находится файл CTJDFS-server.jar.
    3. Введите команду для запуска сервиса tracker. Аналогично запустите сервис storage.

Вызов клиентского приложения

Клиентскому приложению необходимо импортировать jar-файл CTJDFS-client. Maven-координаты:

<dependency>
    <groupId>com.caitaojun.ctjdfs</groupId>
    <artifactId>ctjdfs-client</artifactId>
    <version>1.0</version>
</dependency>

Для реализации функций загрузки, скачивания и удаления файлов используйте следующий код:

@Test
public void testUpload() throws Exception {
    CtjDfsClient.init("127.0.0.1",2688);
    File file = new File("c:/dog.jpg");
    Map metaData = new HashMap<>();
    metaData.put("author","ctj");
    String fileId = CtjDfsClient.upload(file, metaData);
    System.out.println(fileId);
}

@Test
public void testDownload() throws Exception {
    CtjDfsClient.init("127.0.0.1",2688);
    String fileid = "c7637c97eed3bde8b64dd321c917aa89";
    DownloadFile downloadFile = CtjDfsClient.download(fileid);
    String fileName = downloadFile.getStorageFileInfo().getName();
    FileInputStream fileInputStream = downloadFile.getFileInputStream();
    FileUtils.copyInputStreamToFile(fileInputStream,new File("c:/"+fileName));

}

@Test
public void testDelete() throws Exception {
    CtjDfsClient.init("127.0.0.1",2688);
    String fileid = "904d7ab95fe603eeabb45640a2cb6427";
    boolean delete = CtjDfsClient.delete(fileid);
    System.out.println(delete);
}

Заключение

Приглашаем всех присоединиться к работе над этой системой. Я буду продолжать оптимизировать и обновлять код в будущем.

Пожертвования и спонсорская поддержка: http://www.caitaojun.com/ccblog/sponsor.html.

Обсуждение в группе QQ: 646224436.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ygq-ctjdfs.git
git@api.gitlife.ru:oschina-mirror/ygq-ctjdfs.git
oschina-mirror
ygq-ctjdfs
ygq-ctjdfs
master