|
|
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Нужна идея как лучше сделать следующее: На сервер linux поступают xml файлы, содержимое которых нужно парсить и кидать в таблицы oracle. Как отслеживать поступление новых файлов, возможно есть у кого-нибудь нечто реализованное. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 11:28 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
roma126, ты видишь проблему каждые n сек проверять папку на файлы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 11:39 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
roma126На сервер linux поступают xml файлы Баба маня в ведре приносит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 11:40 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
Garrick, nio Это идея, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 11:50 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
roma126, есть jnotify . Конечно давно не обновлялась, но может вызовет интерес. есть еще Apache Common IO File monitor не пользовался, но может пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 15:07 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
roma126, Игрался я с ватчером этим. В качестве тренировки делал прожку для архивирования измененных бинарников. Штука полезная, но есть там 1 крупный недостаток - если ты пишешь в директорию большой файл, то событие "что-то поменялось" приходит до того, как весь файл будет залит окончательно. Конечно, это событие приходит и после окончательной заливки. Но ты, получив событие ENTRY_MODIFY не знаешь категорию события. То ли файл уже записан весь, то ли еще пишется. А раз ты этого не знаешь, нужен дополнительный механизм, который это решает. Ну вот в моем случае проверялось условие, что в течении заданного времени больше изменений файла не было. Тогда прожка считала, что изменений больше не будет - и делала копию директории. И дальше вопрос - а какое время задавать? Если ты копируешь мелки файлы - то одно, а если ты заливаешь по ssh гигабайтовые файлы, да еще если сеть поганая, это время надо ставить больше. вы можете пытаться парсить xml. Если парсится - все ок. Если не парсится, то или ошибка синтаксиса, или неполный xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 17:39 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
Чаще всего подобные Jobs пишутся вообще без ватчеров. Достаточно признака того что файл прогружен. И признака того что он окончательно сформирован (последний тег закрыт). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 17:50 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
пишется файл, а следом его md5-хэш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 18:16 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
Если упрощать, то достаточно после основного слать файл 0 байт. Т.к. в одном потоке все. Принимающая просто читает список файлов в папке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 19:10 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
grasoff.netпишется файл, а следом его md5-хэш Для больших файлов md5 придется много раз пересчитывать. Это плохо. Частично решит проблему выбор такого алгоритма контрольной суммы, который позволяет "доскормить" новые данные в существующий калькулятор суммы. Только все равно криво это как-то. Тогда уж как-то так: в имени файла содержится его длина. Если файл очень долго лежит и не меняется - значит при записи был обрыв, если длина больше заялвенной - то тоже подозрительно, а если длина стала равна заявленной, то можно пытаться парсить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2016, 20:47 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
Думаю что развитие этой идей плавно перейдет в разработку своего rsync. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2016, 00:50 |
|
||
|
Нужна идея по разбору файлов
|
|||
|---|---|---|---|
|
#18+
roma126Всем доброго времени суток! Нужна идея как лучше сделать следующее: На сервер linux поступают xml файлы, содержимое которых нужно парсить и кидать в таблицы oracle. Как отслеживать поступление новых файлов, возможно есть у кого-нибудь нечто реализованное. Заранее спасибо! Spring Batch, Spring Integration ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2016, 01:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39186288&tid=2124293]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 426ms |

| 0 / 0 |
