Репликация вложений

  • Автор темы morpheus
  • Дата начала
M

morpheus

Есть задача:
ведение централ. базы урегуирования ( приём заявлений о наступлении страх. событий, принятие решений и т.д. )
в рамках задачи: подзадача передачи вложений различных типов ( сканы, фото, просто офисные документы и т.д. ) между различными пользователями.

т.к. пользователи удалённые, промеж. серверов нет, то все конектяться на главны сервер и в режиме раел-тайм сливают всё файло.
сами понимаете сколько времени это может занимать при плохом соединении.

Как сделано сейчас: для каждого типа вложений создаться отдельный документ на сервере ( всё в UI ) - куда скидываються все вложения данного типа и документ уже c вложениями сохраняеться на сервера. При этом к данному документу может быть прилеплена различная инфа ( дата принятия и т.д. )

Какие у Вас могут быть предложения по оптимизации данного процеса?

мои мысли:
у каждого на локале держать реплику бд "файлы" - в которую все вложения кидать и реплицировать только по необходимости ( или в ручную ).
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Morpheus
у каждого на локале держать реплику бд "файлы" - в которую все вложения кидать и реплицировать только по необходимости ( или в ручную ).
я бы еще добавил - по расписанию

так как черег УИ лучше им на сервер не лезть вообще, а по расписанию будут передавать исключительно сухие данные
неплохо будет если еще включишь сетевое ужимание и LZ1
 
M

morpheus

продолжая тему, вопрос:


возможно ЛИ ? :
создавать такую реплику на клиенте скриптом по запросу пользователя? с правильной формулой репликации(в одну сторону)?
 
A

Akupaka

и реплицировать только по необходимости ( или в ручную )
Очень желательно, дабы репликация была настроена по-расписанию, и проводилась регулярно, т.к. "вручную" пользователи могут накапливать большие объемы данных и вероятность сбоев растет.

Желательно использовать формулы репликации, чтобы в случае чего плохие данные не расползались по всем репликам (иногда находятся народные умельцы, любящие автоматизировать процессы самостоятельно, и пишут свои скрипты, которые загоняют данные в базу).

Какие у Вас могут быть предложения по оптимизации данного процеса?
А что там можно оптимизировать, если сжатие с большим коеффициентом не применимо?
Разве что рассмотреть вариант расскладывать все вложения отдельными доками, а не группировать по типам, тогда доки будут меньше, и больше вероятность успешной передачи данных.
Еще обязать пользователей применять нужные параметры создания сканокопий, а то иногда людишки лепят копии паспортов в максимальном качестве, хотя достаточно серого и т.п.
 
N

nvyush

Еще обязать пользователей применять нужные параметры создания сканокопий, а то иногда людишки лепят копии паспортов в максимальном качестве, хотя достаточно серого и т.п.
Можно ввести квоты на размер вложений и при превышении блокировать сохранение, а пользователю выводить сообщение с подсказкой, как сжать.
 
M

morpheus

не всегда можно определить квоты, да и не с квотами проблема ( есть полка на пару Тб ).

проблема в скорости передачи (логично что размер влияет на скорость).

открытый вопрос про создании реплики базы скриптом с определённой реплик. формулой ( клиент ->> сервер )

Добавлено: nvy
учту, спасибо

сечас в поиска инструмента автоматизации процесса переворачивания фото и очернобелывании скан копий(которые не требуют цветных сканов)
 
A

Akupaka

да и не с квотами проблема
Дык, никто и не учитывает проблем с диском ))
У нас так поступали: предполагаешь какой должен быть максимальный размер документа определенного типа, и забиваешь в каком-то профиле, потом проверяешь и ругаешься, если выше.

открытый вопрос про создании реплики базы скриптом с определённой реплик. формулой
Код:
Set notesReplication = notesDatabase.ReplicationInfo
Set notesReplicationEntry = notesReplication.GetEntry( source$ , destination$ [ , createflag ] )

formula$ = notesReplicationEntry.Formula
notesReplicationEntry.Formula = formula$
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
сечас в поиска инструмента автоматизации процесса переворачивания фото и очернобелывании скан копий(которые не требуют цветных сканов)
а чего искать - java
вот афинные преобразование
там куча всяких..., даже в iText есть какой-то тул
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
вот интересный метод (в т.ч. для "безголовых" вариантов)

Добавлено: вот преобразование в грэйскэйл -
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
возможно ЛИ ? :
создавать такую реплику на клиенте скриптом по запросу пользователя? с правильной формулой репликации(в одну сторону)?
где твоя фантазия?
на открытие базы скрипт по созданию или открытию локальной реплике (кроме админа только)
и на формулу репликации я бы на твоём месте не лез, разрули всё красиво ридер полями, иначе потом будешь играть в игру "а почему формула репликации уползла в другую реплику"
 
A

Akupaka

и на формулу репликации я бы на твоём месте не лез, разрули всё красиво ридер полями, иначе потом будешь играть в игру "а почему формула репликации уползла в другую реплику"
Тоха, формулы репликации, при централизованном управлении, есть во всех репликах. Ничего никуда не уползает, оно туда реплицируется, потому что так надо, если так надо.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
зачем??? не у всех говёный и-нет, это надо выборочно по желанию юзверя
тем более, создай на каждого профайл, закороти его на открытие базы и будет реплика только у тех кому нужно ;)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
А если пользователь работает из двух мест вызова? Одно с репликой, другое напрямую.
зачем ему два места вызова, когда он может решить одни одним щелчком?
 
M

morpheus

Akupaka
не мутит, Вы оба говорите на разных языках


ты говориш о физическом расположении пользователя, а Тоха про "места вызова" - клиентские настройки


кароче то что предложеил Антон - просто напросто не нужно в рамках моей задачи, т.к. промежуточную локальную базу необходимо создавать только если пользователь так решит
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!