|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Есть сет документов. Имеет вид. Код: xml 1. 2. 3.
В настоящий момент он валяется россыпью на Amazon.S3. По 100 - 1000 штук в каталоге. Необходимо объединить их в упаковочку *.pak. Нужно получить такой интерфейс чтения. Считаем количество штук через count. И решаем какой из документов брать. Внутри у нас есть строгая бизнес-формула которая определяет их имя. За имена можно не париться. Главное что если их 1000 штук то я могу взять как 0-й inputStream так и 999-й. Вот по сути такой интерфейс. Код: java 1. 2. 3. 4.
Хотелось бы также такая что была оптимизация. Что если мы берем 999-й документ то мы не вычитываем всю упаковочку а делам просто перемотку на 999-й слот. И читаем бинарник оттуда. Здесь я хитро расчитывал выкурить перформанс за счет AWS Range-Get Requests. https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html#API_GetObject_RequestSyntax Упаковочка меняться будет редко. Больше вычитываться. Посоветуйте библиотечку которая реализовывает этот функционал. Желательно из бесплатных типа apache.* e.t.c. С Thrift и Protobuf я еще не работал и есть ли там именно такая возможность - не знаю. Упаковочка нужна не для S3 а для другого функционала который чувствителен к количеству физических файлов в файловой системе и не выдерживает нашего объема (в штуках). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:11 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton, Обернуть всё REST API интерфейсом из двух урлов. Будет просто и понятно. А сейчас ничего не понятно) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:28 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Объясню проще. Я мог-бы положить все документы в *.zip архив и вычитывать его целиком. Собственно это и есть рабочее решение не сейчас. Но я экономлю трафик и время. И думаю что для 999-го документа в архиве мне не хочется вычитывать содержимое всех предыдущих. Так понятнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:30 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton, это я сразу понял по интерфейсу - дай число - дай документ по номеру Я не понял что тут готовое искать? Там писать нечего. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:36 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton И думаю что для 999-го документа в архиве мне не хочется вычитывать содержимое всех предыдущих. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:41 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton Напиши. надо понять что писать. mayton В настоящий момент он валяется россыпью на Amazon.S3. По 100 - 1000 штук в каталоге. - делаем метод ХХХ который нужен бизнесу. Как назовём? Код: java 1. 2.
?? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:43 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
вадя mayton И думаю что для 999-го документа в архиве мне не хочется вычитывать содержимое всех предыдущих. а зачем засовывать если они не в архиве изначально? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:50 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
вадя mayton И думаю что для 999-го документа в архиве мне не хочется вычитывать содержимое всех предыдущих. Лежит на амазоне. По дефолту GET запрос выкачивает всю упаковочку. Но если я укажу Код: java 1. 2.
то я выкачаю только нужный файлик. Фрагмент упаковочки. Вопрос. Как мне вычислить этот грёбаный Range? Для моей. Кастомной упаковочки которой еще нет и которую я только мечтаю написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 19:08 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton Как мне вычислить этот грёбаный Range? Как БД и ОРМ делает. Провести индексацию и построить индексы. Которые лежат либо на амазоне либо на своём REST API отдельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 19:19 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Спасибо дружище за совет. Конешно я кинусь писать свой собственный упаковщик. Но я с твоего позволения все таки поищу готовые решения. Это ведь инженерный подход? Верно? Потрачу на это 1 день. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 19:29 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton Конешно я кинусь писать свой собственный упаковщик. а нельзя сказать что упаковщик = zip архив? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 20:26 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton вадя пропущено... из зипа можно по имени вытаскивать Лежит на амазоне. По дефолту GET запрос выкачивает всю упаковочку. Но если я укажу Код: java 1. 2.
то я выкачаю только нужный файлик. Фрагмент упаковочки. Вопрос. Как мне вычислить этот грёбаный Range? Для моей. Кастомной упаковочки которой еще нет и которую я только мечтаю написать. автоматизация это машина заменяет человека "As is to be" Как выше ты узнаёшь руками или по телефону или со счётами этот Range? Поняв это можно автоматизировать самому или найти готовое. Счас я не понял как ИИ определит что мне надо файл с 15 по 1300 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 20:29 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Скорее нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 20:46 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton Объясню проще. Я мог-бы положить все документы в *.zip архив и вычитывать его целиком. Даже если просто объединить gzip-ы в общий файл, то его можно проиндексировать "обратным ходом". Готовых библиотек, правда, не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:16 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Вот это уже ближе к теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:20 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
mayton Вопрос. Как мне вычислить этот грёбаный Range? Для моей. Кастомной упаковочки которой еще нет и которую я только мечтаю написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 21:49 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
вадя, mayton Необходимо объединить их в упаковочку *.pak. дак zip или какой то pak? А если zip то зачем в него паковать чтобы потом доставать? Вы как то определитесь что зовётся бинарной упаковкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 22:10 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А если zip то зачем в него паковать чтобы потом доставать? Вы как то определитесь что зовётся бинарной упаковкой. mayton Я мог-бы положить все документы в *.zip архив и вычитывать его целиком. Собственно это и есть рабочее решение не сейчас. Но я экономлю трафик и время. И думаю что для 999-го документа в архиве мне не хочется вычитывать содержимое всех предыдущих. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 22:40 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
вадя, я думаю про zip все знают что там есть содержание или файлы по именам. Поэтому если zip то непонятна фраза: авторВопрос. Как мне вычислить этот грёбаный Range? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:04 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Скриптик на баше, который складывает файлы в один и отдельно записывает начало и конец очередного файла. Получаем собственный *.pak и отдельно индекс к нему. Аз есмь теоретик, но выглядит реализуемо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:05 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
вадя, и для zip наверно нужен код бэка а не клиента JS. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:05 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Alexander A. Sak, Norton commander copy file1+file2+file3))) Только чем zip хуже? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:08 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Norton commander copy file1+file2+file3))) Только чем zip хуже? Наверное, тем, что zip не отвечает на этот вопрос: mayton Вопрос. Как мне вычислить этот грёбаный Range? Для моей. Кастомной упаковочки которой еще нет и которую я только мечтаю написать. Вот накидал этот самый скриптик на баше. Проверял на *.properties где-то в заброшенных исходниках. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Получил файл pack со всеми *.properties из каталога и такой index : Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:29 |
|
Бинарная упаковочка.
|
|||
---|---|---|---|
#18+
Alexander A. Sak Наверное, тем, что zip не отвечает на этот вопрос: неужели нужна буквально позиция в байтах и не устраивает готовая либа с позицией по ИМЕНАМ файлов? Если так то это индексация руками в самом верху треда. Ему не понравилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 23:41 |
|
|
start [/forum/topic.php?fid=59&msg=39910636&tid=2120960]: |
0ms |
get settings: |
24ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
460ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 593ms |
0 / 0 |