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

Тема в разделе "Lotus - Программирование", создана пользователем morpheus, 21 июн 2010.

  1. morpheus

    morpheus скриптописец

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

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

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

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

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

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    Morpheus
    я бы еще добавил - по расписанию

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    продолжая тему, вопрос:


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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Очень желательно, дабы репликация была настроена по-расписанию, и проводилась регулярно, т.к. "вручную" пользователи могут накапливать большие объемы данных и вероятность сбоев растет.

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

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

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Можно ввести квоты на размер вложений и при превышении блокировать сохранение, а пользователю выводить сообщение с подсказкой, как сжать.
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Я бы сказал нужно! :)
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    не всегда можно определить квоты, да и не с квотами проблема ( есть полка на пару Тб ).

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

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

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

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

    Akupaka А че я?.. О.о

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

    Код (LotusScript):
    Set notesReplication = notesDatabase.ReplicationInfo
    Set notesReplicationEntry = notesReplication.GetEntry( source$ , destination$ [ , createflag ] )

    formula$ = notesReplicationEntry.Formula
    notesReplicationEntry.Formula = formula$
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    а чего искать - java
    вот афинные преобразование http://www.java2s.com/Tutorial/Java/0261__.../RescaleJPG.htm
    там куча всяких..., даже в iText есть какой-то тул
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
  11. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    где твоя фантазия?
    на открытие базы скрипт по созданию или открытию локальной реплике (кроме админа только)
    и на формулу репликации я бы на твоём месте не лез, разрули всё красиво ридер полями, иначе потом будешь играть в игру "а почему формула репликации уползла в другую реплику"
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Тоха, формулы репликации, при централизованном управлении, есть во всех репликах. Ничего никуда не уползает, оно туда реплицируется, потому что так надо, если так надо.
     
  13. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    зачем??? не у всех говёный и-нет, это надо выборочно по желанию юзверя
     
  14. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    тем более, создай на каждого профайл, закороти его на открытие базы и будет реплика только у тех кому нужно ;)
     
  15. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    А если пользователь работает из двух мест вызова? Одно с репликой, другое напрямую.
    Имхо, такое нельзя/не нужно автоматизировать.
     
  16. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    зачем ему два места вызова, когда он может решить одни одним щелчком?
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    вот ничего не понял :) что он должен решать, щелчком чего? мутишь ))
     
  18. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Akupaka
    не мутит, Вы оба говорите на разных языках


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


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

Поделиться этой страницей