Передача String Array по телефонной линии - PullRequest
2 голосов
/ 18 июля 2011

У меня есть массив Java-строк, который содержит около 2 миллиардов + записей.Теперь я могу передать этот массив по телефонному соединению, например, через GPRS или любым другим способом (без использования интернета).Это может быть глупый вопрос, но мне нужна помощь

Ответы [ 3 ]

5 голосов
/ 18 июля 2011

Используйте модем и протокол передачи файлов, такие как Kermit или Xmodem. Самая большая опасность состоит в том, что размер данных переполнит что-то в протоколе (например, номер пакета).

С таким большим количеством данных и отсутствием интернета, вы также можете рассмотреть FedEx или почту. Это может быть на самом деле быстрее.

3 голосов
/ 18 июля 2011

Похоже на вопрос интервью. ;)

Вам необходимо найти способы сжатия данных. Я предлагаю использовать BitSet для диапазонов телефонных номеров. Это уменьшит размер данных примерно до 1-4 бит на номер телефона. При сжатии оно должно быть меньше. Это будет зависеть от данных о степени сжатия, которая вам нужна.

Однако я согласен с @helloandre в том, что копирование на жесткий диск HD / SSD / Pen и доставка его курьером гораздо быстрее, проще и надежнее.

2 голосов
/ 18 июля 2011

В качестве приблизительной оценки, скажем, каждая запись массива составляет 1240 битов (8 бит на символ, 155 символов в качестве дикого предположения при средней длине).

Это 2,48e12 бит.Не считая каких-либо накладных расходов на то, как вы хотите на самом деле представлять данные при их передаче по проводам.

При скорости 8 Кбит / с (8192 бит / с) это 9,6 года передачи данных.(Для 10 символов в каждой строке это все еще 226 дней.)

Поместите его на внешний жесткий диск и отправьте по почте.

...