#1
|
|||
|
|||
НotdogEd database synchronization
Sergey Poziturin написал(а) к All в Mar 17 18:21:04 по местному времени:
Нi, All! Обращаюсь прежде всего ко всем умным людям, чтобы оценили техническое решение и внесли коррективы на этапе проектирования. Хочу приделать к хотдогу возможность синхронизировать свои базы с нашими настольными фидошными комплектами. На выходе хочу получить следующее: прозрачность (до определённой степени) работы с фидой на телефоне и на большом компе. Без разницы, где почта получена или читается. Делать это планируется в 3 этапа следующим образом: Этап 1. Виталий Аксёнов (2:463/3232) в данный момент делает jvm api для работы с базами сообщений фидо. Этот этап самый главный, потому что без него всё остальное не имеет смысла :) Этап 2. Я, используя api, разработанное Виталием, делаю софтину под андроид, которая умеет следующее: 1. Импорт и экспорт всех сообщений в/из базы НotdogEd. Это и бэкап, и функция для тех, кто телефоны или планшеты берёт только в отпуск, а всё остальное время читает фидо с компьютера. 2. Импортирует в хотдог из фидошной базы только новые сообщения (ориентируясь по msgid). 3. Экспортирует в фидошную базу только новые сообщения из хотдога (по msgid). 4. Делать всё это по расписанию или по внешнему сигналу (сообщения от провайдера сообщений о получении новой почты). Таким образом на этом этапе имеем возможность наполнять фидошную базу сообщений несколькими независимыми методами: или с хотдога, или с софта на компе. Функцию переноса базы с телефона на компьютер и обратно берёт на себя сам пользователь. Если даже наполнение базы произойдёт одновременно и на телефоне, и на компе (например, используются разные адреса), ничего страшного произойти не должно: там окажуться сообщения в итоге, которые есть в обоих источниках. Для телефона фидошная база вторична, её можно просто переписать. Первичным источником наполнения служит база, полученная с компа. Этап 3. Создаётся код, который позволяет синхронизировать файлы базы сообщений самостоятельно. Он ничего не знает про фидошную бизнес-логику, но умеет работать с файлами. Его задача - выполнить роль dropbox, где на телефоне клиентом будет выступать само приложение, а на компьютере это будет отдельная софтина. Со стороны телефона будут поддерживаться блокировки (работа с фидошной базой не будет происходить, пока происходит синхронизация файлов). Ну а теперь вопросы к общественности: 1. Какие форматы баз нужны и как в них обстоит дело с: а. Одновременной записью в них инфы из нескольких источников. б. Возможностями блокировки. в. Флагами прочитано/lastread? 2. Какие средства синхронизации файлов для п.2 вы бы предложили, помимо root+rsync? Есть ли среди них автоматические? 3. Какими средствами вы бы предпочли на компе делать п.3? Я как джавист готов сделать некое референсное приложение на springboot, соответственно ему будет нужна ява-машина и вычислительные ресурсы, работать всё это будет предположительно через rest api как обычный web-сервис (у спрингбута веб-сервер и контейнер приложений идёт в комплекте, так что юзер получит 1 jar-файл для запуска). Соответственно нужно будет в идеале иметь на машине с базами настроенный nginx или apache для проксирования на спрингбутовый томкат. Не все могут чебе такое позволить, тем более у кого-то вообще на RPi станции крутятся или на роутерах. Готова ли общественность самостоятельно, хоть на php, реализовать для себя клиента протокола для приёма и отдачи файлов? Что предложите в качестве авторизации и аутентификации? Всё должно максимально автоматизироваться, никаких ssh-keygen на телефоне :) Скажу сразу: лично мне проще всего использовать на телефоне dropbox api или google drive. Но не хотелось бы завязываться на проприетарные сервисы, тем более функция эта не сложная, а проект хочется сделать полностью открытым. Большая просьба к советчикам: идей в голове много, времени мало, пожалуйста, если предлагаете что-то, говорите также, как это по-вашему лучше всего сделать, и, главное, зачем. Я в фидошных технологиях понимаю мало, так что полагаюсь на вашу мудрость. Спасибо. PS: в итоге может быть даже кто-то откажется от доставки фидошной почты на хотдоге в пользу доставки на компе и синхронизации в дальнейшем с хотдогом. Это одна из мыслей, которую я думаю. -- [ vbane72@yandex.ru ] [2:5020/2141] [ Нotdogs 4ever ] http://vp.propush.ru --- binkd/1.1a-94/Darwin | hpt/mac 1.9.0-cur | GoldED+/OSX 1.1.5-b20160322 |
#2
|
|||
|
|||
НotdogEd database synchronization
Anatoliy Sablin написал(а) к Sergey Poziturin в Mar 17 20:32:10 по местному времени:
Нello, Sergey Poziturin. On 19.03.17 18:21 you wrote: SP> Большая просьба к советчикам: идей в голове много, времени мало, SP> пожалуйста, если предлагаете что-то, говорите также, как это SP> по-вашему лучше всего сделать, и, главное, зачем. Я в фидошных SP> технологиях понимаю мало, так что полагаюсь на вашу мудрость. Правильно ли я понимаю, что предполагается схема: фидошная бд <-> сервис <-> хотдога? Где фидошная бд - это файлы на пк. А сервис - некая приложуха на пк, которая наружу смотрит в виде rest-интерфейса. Если сервис писать на spring boot, то на выходе получится один jar (внутри у него tomcat embedded). И достаточно будет через тот же nssm создать службу, которая будет выполнять команду java -jar app.jar и передавать два параметра: где лежат файлы и на каком порту слушать. В настройках хотдога будет настройка сервиса синхронизации, где указываем адрес ПК и порт сервиса, и хотдога будут прозрачно синхронизироваться с ПК? -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13.5/Android |
#3
|
|||
|
|||
НotdogEd database synchronization
Sergey Poziturin написал(а) к Anatoliy Sablin в Mar 17 21:01:50 по местному времени:
Нi, Anatoliy! 19 мар 17 20:32, Anatoliy Sablin -> Sergey Poziturin: SP>> Большая просьба к советчикам: идей в голове много, времени мало, SP>> пожалуйста, если предлагаете что-то, говорите также, как это SP>> по-вашему лучше всего сделать, и, главное, зачем. Я в фидошных SP>> технологиях понимаю мало, так что полагаюсь на вашу мудрость. AS> Правильно ли я понимаю, что предполагается схема: фидошная бд <-> AS> сервис <-> хотдога? Где фидошная бд - это файлы на пк. А сервис - AS> некая приложуха на пк, которая наружу смотрит в виде rest-интерфейса. Точно так. Только на телефоне будет не НotdogEd, а ещё одно приложение от того же автора. Опенсорс, гитхаб, котлин. AS> Если сервис писать на spring boot, то на выходе получится один jar AS> (внутри у него tomcat embedded). И достаточно будет через тот же nssm AS> создать службу, которая будет выполнять команду java -jar app.jar и AS> передавать два параметра: где лежат файлы и на каком порту слушать. Публикацию сервиса в публичную сеть я намеренно оставляю за рамками этого проекта, каждый сам себе админ. Я, как уже писал, буду проксировать через nginx в отдельный докер-контейнер. А кто-то может сразу в инет порт 8080 выставить и в ус не дуть. А кто-то может для копирования файлов использовать что-то своё. С другой стороны, можно обсудить решение более подробно и с этой стороны, не у всех есть возможность и компетенция для поднятия у себя сервиса. AS> В настройках хотдога будет настройка сервиса синхронизации, где AS> указываем адрес ПК и порт сервиса, и хотдога будут прозрачно AS> синхронизироваться с ПК? После реализации третьего этапа что-то такое мы и получим. Получай почту в любом месте - читай везде. Если, конечно, сможем договориться по форматам и ластридам. Я понятия не имею, как устроены фидошные базы внутри, и мне это даже не особо интересно, кроме апи для хранения их самих и их статусов. -- [ vbane72@yandex.ru ] [2:5020/2141] [ Нotdogs 4ever ] http://vp.propush.ru --- binkd/1.1a-94/Darwin | hpt/mac 1.9.0-cur | GoldED+/OSX 1.1.5-b20160322 |
#4
|
|||
|
|||
НotdogEd database synchronization
Anatoliy Sablin написал(а) к Sergey Poziturin в Mar 17 06:56:09 по местному времени:
Нello, Sergey Poziturin. On 19.03.17 21:01 you wrote: AS>> Правильно ли я понимаю, что предполагается схема: фидошная бд <-> AS>> сервис <-> хотдога? Где фидошная бд - это файлы на пк. А сервис - AS>> некая приложуха на пк, которая наружу смотрит в виде AS>> rest-интерфейса. SP> Точно так. Только на телефоне будет не НotdogEd, а ещё одно SP> приложение от того же автора. Опенсорс, гитхаб, котлин. Т. е. в итоге дистрибутив хотдога будет содержать fido provider, hotdog, nttp provider, database syncronization? AS>> Если сервис писать на spring boot, то на выходе получится один AS>> jar (внутри у него tomcat embedded). И достаточно будет через тот AS>> же nssm создать службу, которая будет выполнять команду java -jar AS>> app.jar и передавать два параметра: где лежат файлы и на каком AS>> порту слушать. SP> Публикацию сервиса в публичную сеть я намеренно оставляю за SP> рамками этого проекта, каждый сам себе админ. Я, как уже писал, SP> буду проксировать через nginx в отдельный докер-контейнер. А SP> кто-то может сразу в инет порт 8080 выставить и в ус не дуть. А SP> кто-то может для копирования файлов использовать что-то своё. Ясно. SP> С другой стороны, можно обсудить решение более подробно и с этой SP> стороны, не у всех есть возможность и компетенция для поднятия у SP> себя сервиса. Поднять на амазон сервер синхронизации, и по платной подписке предоставлять туда доступ (плата будет идти на оплату аренды)? AS>> В настройках хотдога будет настройка сервиса синхронизации, где AS>> указываем адрес ПК и порт сервиса, и хотдога будут прозрачно AS>> синхронизироваться с ПК? SP> После реализации третьего этапа что-то такое мы и получим. Получай SP> почту в любом месте - читай везде. Если, конечно, сможем SP> договориться по форматам и ластридам. Я понятия не имею, как SP> устроены фидошные базы внутри, и мне это даже не особо интересно, SP> кроме апи для хранения их самих и их статусов. Ну да. Арендовать где-нибудь сервер, который будет забирать почту, далее либо через rsync забирать её на ПК для golded, либо забирать на смартфон. Прикольно. -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13.5/Android |
#5
|
|||
|
|||
НotdogEd database synchronization
Sergey Poziturin написал(а) к Anatoliy Sablin в Mar 17 08:18:35 по местному времени:
Нello, Anatoliy Sablin. On 20.03.17 6:56 AM you wrote: AS>>> Правильно ли я понимаю, что предполагается схема: фидошная бд AS>>> <-> сервис <-> хотдога? Где фидошная бд - это файлы на пк. А AS>>> сервис - некая приложуха на пк, которая наружу смотрит в виде AS>>> rest-интерфейса. SP>> Точно так. Только на телефоне будет не НotdogEd, а ещё одно SP>> приложение от того же автора. Опенсорс, гитхаб, котлин. AS> Т. е. в итоге дистрибутив хотдога будет содержать fido provider, AS> hotdog, nttp provider, database syncronization? Да. SP>> С другой стороны, можно обсудить решение более подробно и с этой SP>> стороны, не у всех есть возможность и компетенция для поднятия у SP>> себя сервиса. AS> Поднять на амазон сервер синхронизации, и по платной подписке AS> предоставлять туда доступ (плата будет идти на оплату аренды)? Это не решает задачу чтения почты локально. Актуально для тех, кто ходит на голый дед по ssh. AS>>> В настройках хотдога будет настройка сервиса синхронизации, где AS>>> указываем адрес ПК и порт сервиса, и хотдога будут прозрачно AS>>> синхронизироваться с ПК? SP>> После реализации третьего этапа что-то такое мы и получим. SP>> Получай почту в любом месте - читай везде. Если, конечно, сможем SP>> договориться по форматам и ластридам. Я понятия не имею, как SP>> устроены фидошные базы внутри, и мне это даже не особо интересно, SP>> кроме апи для хранения их самих и их статусов. AS> Ну да. Арендовать где-нибудь сервер, который будет забирать почту, AS> далее либо через rsync забирать её на ПК для golded, либо забирать AS> на смартфон. Прикольно. Так в лоб это тоже не прокатит. -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13.5/Android |
#6
|
|||
|
|||
НotdogEd database synchronization
Anatoliy Sablin написал(а) к Sergey Poziturin в Mar 17 12:33:13 по местному времени:
Нello, Sergey Poziturin. On 20.03.17 8:18 you wrote: SP>>> Точно так. Только на телефоне будет не НotdogEd, а ещё одно SP>>> приложение от того же автора. Опенсорс, гитхаб, котлин. AS>> Т. е. в итоге дистрибутив хотдога будет содержать fido provider, AS>> hotdog, nttp provider, database syncronization? SP> Да. SP>>> С другой стороны, можно обсудить решение более подробно и с этой SP>>> стороны, не у всех есть возможность и компетенция для поднятия у SP>>> себя сервиса. AS>> Поднять на амазон сервер синхронизации, и по платной подписке AS>> предоставлять туда доступ (плата будет идти на оплату аренды)? SP> Это не решает задачу чтения почты локально. Актуально для тех, кто SP> ходит на голый дед по ssh. Это если достать файлы через ssh. А если сервис будет выступать в качестве proxy? SP>>> После реализации третьего этапа что-то такое мы и получим. SP>>> Получай почту в любом месте - читай везде. Если, конечно, SP>>> сможем договориться по форматам и ластридам. Я понятия не имею, SP>>> как устроены фидошные базы внутри, и мне это даже не особо SP>>> интересно, кроме апи для хранения их самих и их статусов. AS>> Ну да. Арендовать где-нибудь сервер, который будет забирать AS>> почту, далее либо через rsync забирать её на ПК для golded, либо AS>> забирать на смартфон. Прикольно. SP> Так в лоб это тоже не прокатит. Почему? -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13.5/Android |
#7
|
|||
|
|||
НotdogEd database synchronization
Sergey Poziturin написал(а) к Anatoliy Sablin в Mar 17 12:48:44 по местному времени:
Нi, Anatoliy! 20 мар 17 12:33, Anatoliy Sablin -> Sergey Poziturin: SP>>>> Точно так. Только на телефоне будет не НotdogEd, а ещё одно SP>>>> приложение от того же автора. Опенсорс, гитхаб, котлин. AS>>> Т. е. в итоге дистрибутив хотдога будет содержать fido provider, AS>>> hotdog, nttp provider, database syncronization? SP>> Да. SP>>>> С другой стороны, можно обсудить решение более подробно и с SP>>>> этой стороны, не у всех есть возможность и компетенция для SP>>>> поднятия у себя сервиса. AS>>> Поднять на амазон сервер синхронизации, и по платной подписке AS>>> предоставлять туда доступ (плата будет идти на оплату аренды)? SP>> Это не решает задачу чтения почты локально. Актуально для тех, SP>> кто ходит на голый дед по ssh. AS> Это если достать файлы через ssh. А если сервис будет выступать в AS> качестве proxy? То этому сервису нужен будет клиент на компе и мы просто занимаемся тем, что тупо переписываем не только мобильную часть дропбокс, но ещё и десктопную. Спасибо, я пас. SP>>>> После реализации третьего этапа что-то такое мы и получим. SP>>>> Получай почту в любом месте - читай везде. Если, конечно, SP>>>> сможем договориться по форматам и ластридам. Я понятия не SP>>>> имею, как устроены фидошные базы внутри, и мне это даже не SP>>>> особо интересно, кроме апи для хранения их самих и их SP>>>> статусов. AS>>> Ну да. Арендовать где-нибудь сервер, который будет забирать AS>>> почту, далее либо через rsync забирать её на ПК для golded, AS>>> либо забирать на смартфон. Прикольно. SP>> Так в лоб это тоже не прокатит. AS> Почему? Потому что база сообщений изменилась с трёх сторон: на твоём сервере (получили новую почту), на компе (почитали почту, ответили), на смартфоне (почитали почту, ответили). Из-за этого и весь огород. -- [ vbane72@yandex.ru ] [2:5020/2141] [ Нotdogs 4ever ] http://vp.propush.ru --- binkd/1.1a-94/Darwin | hpt/mac 1.9.0-cur | GoldED+/OSX 1.1.5-b20160322 |
#8
|
|||
|
|||
НotdogEd database synchronization
Alexey Vissarionov написал(а) к Sergey Poziturin в Mar 17 15:30:00 по местному времени:
Доброго времени суток, Sergey! 19 Mar 2017 18:21:04, ты -> All: SP> Хочу приделать к хотдогу возможность синхронизировать свои базы с SP> нашими настольными фидошными комплектами. SP> На выходе хочу получить следующее: прозрачность (до определённой SP> степени) работы с фидой на телефоне и на большом компе. Без разницы, SP> где почта получена или читается. SP> Делать это планируется в 3 этапа следующим образом: SP> Этап 1. [...] jvm api для работы с базами сообщений Это, соответственно, Jam и Squish, причем Squish более распространен. Бывают и другие, но их количество пренебрежимо мало. SP> Этап 2. [...] делаю софтину под андроид, которая умеет следующее: SP> 1. Импорт и экспорт всех сообщений в/из базы НotdogEd. SP> 2. Импортирует в хотдог из фидошной базы только новые сообщения SP> 3. Экспортирует в фидошную базу только новые сообщения из хотдога Досюда все понятно и правильно. SP> 4. Делать всё это по расписанию или по внешнему сигналу (сообщения SP> от провайдера сообщений о получении новой почты). Ээээто вообще про что? Про внутренности собакоеда, или? SP> Таким образом на этом этапе имеем возможность наполнять фидошную SP> базу сообщений несколькими независимыми методами: или с хотдога, SP> или с софта на компе. Насколько я пони мяу, речь про фидошный софт? SP> Функцию переноса базы с телефона на компьютер и обратно берёт SP> на себя сам пользователь. Думаю, для этого понадобится держать отдельно базу сообщений собакоеда и опять-таки отдельно базу в squish. SP> Ну а теперь вопросы к общественности: SP> 1. Какие форматы баз нужны и как в них обстоит дело с: SP> а. Одновременной записью в них инфы из нескольких источников. SP> б. Возможностями блокировки. SP> в. Флагами прочитано/lastread? Хочется squish и jam, в простейшем случае достаточно одного squish. SP> 2. Какие средства синхронизации файлов для п.2 вы бы предложили, SP> помимо root+rsync? А зачем для rsync рутовые права? Не говоря уж о том, что кроме rsync ничего реально и не нужно - максимум перезапись файлов на mass storage device вручную. SP> Есть ли среди них автоматические? Думаю, tasker + rsync способны решить данную задачу. SP> 3. Какими средствами вы бы предпочли на компе делать п.3? Экспорт в squish или jam? SP> Я как джавист готов сделать некое референсное приложение на SP> springboot, соответственно ему будет нужна ява-машина и SP> вычислительные ресурсы, Кхм... 1/20 типового АЛУ ("ядра") Xeon и 128 Мб памяти обслуживают две сотни линков, практически все из которых тянут фуллфид, и при этом тоссинг занимает всего 4 секунды каждые 10 минут. Вопрос: сколько ресурсов надо будет выделить дополнительно для обслуживания всего одного линка? :-) Да, чуть не забыл: gremlin@fido:~ > du -sh ~/fido/msgbase 2.6G /home/gremlin/fido/msgbase SP> Готова ли общественность самостоятельно, хоть на php, реализовать SP> для себя клиента протокола для приёма и отдачи файлов? Реализовать-то можно... только нахрена, когда есть rsync over ssh? SP> Что предложите в качестве авторизации и аутентификации? Всё должно SP> максимально автоматизироваться, никаких ssh-keygen на телефоне :) ssh-keygen можно и на ББ запустить - там пул энтропии больше. SP> PS: в итоге может быть даже кто-то откажется от доставки фидошной SP> почты на хотдоге в пользу доставки на компе и синхронизации в SP> дальнейшем с хотдогом. Это одна из мыслей, которую я думаю. Таким образом собакоед, по сути, превратится во внешний редактор. Что, разумеется, радует. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Люди не боятся темноты - они боятся темных углов --- /bin/vi |
#9
|
|||
|
|||
Re: НotdogEd database synchronization
Vitaliy Aksyonov написал(а) к Alexey Vissarionov в Mar 17 16:56:34 по местному времени:
Привет, Alexey! 20 мар 17 15:30, Alexey Vissarionov -> Sergey Poziturin: SP>> Хочу приделать к хотдогу возможность синхронизировать свои базы с SP>> нашими настольными фидошными комплектами. SP>> На выходе хочу получить следующее: прозрачность (до определённой SP>> степени) работы с фидой на телефоне и на большом компе. Без SP>> разницы, где почта получена или читается. SP>> Делать это планируется в 3 этапа следующим образом: SP>> Этап 1. [...] jvm api для работы с базами сообщений AV> Это, соответственно, Jam и Squish, причем Squish более распространен. AV> Бывают и другие, но их количество пренебрежимо мало. А также msg. Остальное можно будет допилить потом. [skip] SP>> Ну а теперь вопросы к общественности: SP>> 1. Какие форматы баз нужны и как в них обстоит дело с: SP>> а. Одновременной записью в них инфы из нескольких источников. SP>> б. Возможностями блокировки. SP>> в. Флагами прочитано/lastread? AV> Хочется squish и jam, в простейшем случае достаточно одного squish. А из каких соображений больше нравится squish? Как по мне, формат его хуже, чем JAM. С наилучшими пожеланиями, Vitaliy. ... 10.0 times 0.10 is hardly ever 1.00. --- GoldED+/LNX 1.1.5-b20160201 |
#10
|
|||
|
|||
НotdogEd database synchronization
Anatoliy Sablin написал(а) к Sergey Poziturin в Mar 17 20:23:43 по местному времени:
Нello, Sergey Poziturin. On 20.03.17 12:48 you wrote: SP>>> Так в лоб это тоже не прокатит. AS>> Почему? SP> Потому что база сообщений изменилась с трёх сторон: на твоём SP> сервере (получили новую почту), на компе (почитали почту, SP> ответили), на смартфоне (почитали почту, ответили). Из-за этого и SP> весь огород. А если на первое время из такой сильной системы сделать простую? Понятно, что задача синхронизации непростая, та же отладка concurrency-кода то ещё удовольствие. Если вначале вместо асинхронной схемы сделать линейную. Например, хотдог умеет только брать почту с фидошной базы на ПК. Затем, когда будет готово рабочее решение, добавить сложную схему синхронизации 3-х баз. -- Best regards! Posted using Нotdoged on Android --- Нotdoged/2.13.5/Android |