У меня есть несколько довольно больших двоичных файлов (записи фиксированной длины, формат которых описан в другом - текстовом - файле). Файлы данных могут получить до 6 ГБ. Файлы макетов (cobol copybooks) имеют небольшой размер, обычно менее 5 КБ.
Все файлы данных сосредоточены на сервере GNU / Linux (хотя они были сгенерированы в мэйнфрейме).
Мне нужно предоставить тестировщикам средства для редактирования этих двоичных файлов. Существует бесплатный продукт RecordEdit (http://record -editor.sourceforge.net / ), но у него есть два серьезных недостатка:
Это заставляет тестеров загружать
огромные файлы через SFTP, только для
загружать их еще раз каждый раз, когда небольшое
изменение было сделано. Very
неэффективен.
загружает весь
файл в рабочую память, рендеринг
это бесполезно для всех, кроме относительно небольшого
файлы данных.
Я имею в виду архитектуру клиент / сервер, основанную на Java:
Сервер будет работать постоянно
процесс, слушая
ориентированные на издание запросы от
клиент. Такие запросы будут
включать такие вещи, как
вернуть список доступных файлов
заблокировать определенный файл для издания
изменить эти данные в этой записи
вернуть n-ю страницу записей
и так далее ...
Клиент может принимать любую форму
(На основе RCP на рабочем столе, который является моим первым кандидатом, ncurses на том же сервере, в средней сети
приложение…) до тех пор, пока оно способно
отправлять запросы на сервер.
Я изучал NIO (из-за его буферов) и MINA (из-за прозрачности протокола), чтобы реализовать схему. Тем не менее, перед дальнейшим продвижением этой работы, я хотел бы собрать ваши экспертные мнения.
Мой разумный способ решить проблему?
Возможно ли сделать это, используя язык и рамки, о которых я думаю? Это удобно?
Знаете ли вы какие-либо шаблоны, чертежи, примеры успеха или открытые проекты, которые напоминают или имеют отношение к тому, что я пытаюсь сделать?