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

OSCHINA-MIRROR/ironzheng-openNetty

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

openNetty

Обёртка над NETTY для создания распределённого сервиса передачи файлов с целью обеспечения надёжной и безопасной передачи данных по расписанию. Сервис предоставляет простой способ работы: достаточно настроить данные, а остальное сделает время.

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

Данные, передаваемые по сети, подвергаются многоуровневому шифрованию и проверке с помощью случайных ключей.

Задачи выполняются по расписанию — это лишь один из возможных вариантов реализации. Можно самостоятельно переписать методы вызова.

Возможности openNetty:

  1. Распределённая передача между узлами.
  2. Выполнение задач по расписанию.
  3. Потоковое чтение.
  4. Проверка безопасности.
  5. Возобновление передачи после сбоя.

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

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

Все TCP-пакеты данных будут упакованы в формат HTTP, что позволит им проходить через стандартные прокси-серверы.

======================================

ШАГИ

Клонируйте проект на локальный компьютер и используйте Maven для сборки.

  1. git clone https://gitee.com/ironzheng/openNetty.git
  2. mvn clean install package
  3. В каталоге target каждого модуля будет создан zip-архив. Поместите этот архив на соответствующий компьютер и распакуйте его. Перейдите в каталог conf и настройте файл back.properties. Важно настроить как клиент, так и сервер!
  4. Конфигурация клиента:
    • back.root: путь для загрузки файлов на локальном компьютере, заканчивающийся на «\». При объединении путей система не выполняет автоматическое добавление разделителей.
    • back.filename: имя файла, загружаемого с сервера.
    • back.downloadfile: настройка задачи по расписанию для скачивания файла.
  5. Конфигурация сервера:
    • back.root: каталог, в котором находятся файлы для загрузки.
  6. Зайдите в каталог bin и запустите скрипт start.sh. Обратите внимание, что это сценарий запуска для Linux, и он может не работать в Windows. Если вы работаете в Windows, вам потребуется внести изменения в сценарий.

openNetty-client

Клиент выступает в роли узла и использует таймер для настройки задач по расписанию. В указанное время клиент запрашивает адрес сервера и отправляет команду на скачивание файла.

openNetty-server

Сервер прослушивает TCP-порт и принимает команды от удалённых клиентов. Команды должны соответствовать определённому заголовку, иначе пакеты данных будут отброшены.

Структура проекта: клиент отправляет команду на загрузку файла серверу, файл находится на сервере. Затем клиент периодически скачивает файл с сервера и сохраняет его на своём компьютере. Необходимо настроить время и имя файла для загрузки на клиенте. На сервере необходимо указать путь к файлу.

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

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

Введение

Инкапсулировать NETTY для реализации распределённой службы передачи файлов, целью которой является предоставление надёжной и безопасной передачи файлов по расписанию. При этом предоставляется простой способ работы: достаточно настроить данные, а остальное доверить времени. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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