|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Нужна идея по решению перечисленных проблем
C, C++, C#
С-Пб.
Регистрация: 07.10.2009
Сообщений: 2,762
|
||
Просмотров: 11145
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
так и сделаю - солью программно в один файл и назову acadiso+.pat
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Да, уж - "горе от ума"
![]() Решение размещать все локально - правильное. Я давно к нему пришел. Но далее: 1. Зачем автоматически синхронизировать локальный репозиторий с серверным? Да еще при каждом запуске Автокада? Где гарантия, что на сервере библиотеки "правильно исправлены"? Да и зачем все это непрерывно править? Это никогда к хорошим результатом не приводило. А правильный путь известен - периодическое обновление по инициативе администратора. 2. Зачем при синхронизации сверять хэши? Да просто заменяйте файлы (можно только обновленные). Разумеется те, которые юзерам запрещено изменять. 3. Зачем столько файлов шрифтов и штриховок? Шрифтов - 334 шт! Штриховок - 677 шт! Кому столько надо? Да не более 5 шрифтов достаточно, чтобы обеспечить "полную демократию". А кому нужны столько штриховок? Вот у меня в ruCAD все мыслимые (предусмотренные стандартами) штриховки, включая топографию, занимают 39 кб в одном файле и он не пополнялся уже лет 10. То же, наверное, и с другими библиотечными элементами... |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Вариант второй - пользователь вначале грузит только для чтения xml (БД? - не суть) - где расписаны сетевые пути файлов настроек и в соответствии с ним идет конфигурация автокада - надо поменять - сделал новый каталог - переправил xml, а через недельку старый стер. Тогда и репризиторий не нужен.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
|||||||
Цитата:
Цитата:
![]() Цитата:
Код HTML:
<!--Каталоги, которые необходимо синхронизировать между собой.--> <Synchronization SendRegistrationInfo="true" SynchronizeWithServer="true" SendSynchronizationInfo="true" StartingLoader="true"> <!--Каталог, в котором содержится информация, специфичная для конкретной версии AutoCAD--> <SynchDir> <!--Каталог-источник--> <SourceDir>%GPSM.ServerDir%\%GPSM.AcadDirName%\etc</SourceDir> <!--Целевой каталог--> <TargetDir>%GPSM.LocalCommonDir%\%GPSM.AcadDirName%\etc</TargetDir> </SynchDir> <!--Каталог, в котором содержится информация, используемая в любой версии AutoCAD--> <SynchDir> Каталог-источник <SourceDir>%GPSM.ServerDir%\Common</SourceDir> Целевой каталог <TargetDir>%GPSM.LocalCommonDir%\Common</TargetDir> </SynchDir> </Synchronization> Цитата:
![]() Возможно для файлов маленького объёма проверять хэш, вместо того, чтобы заменять все файлы подряд и не даст ощутимого приростав в скорости, но для больших файлов разница однозначно будет. Цитата:
![]() ![]() Пожалуй да, поудаляю лишние шрифты, оставлю только те, что утверждены к использованию в рамках организации... А штриховки... проконсультируюсь с пользователями - пусть выберут те штриховки, которые им пригодятся. Такие штриховки солью в один файл, а оставшиеся удалю. Lin-файлы тоже в один посливаю пожалуй... Цитата:
Сейчас попробую сделать следующее: серверный репозиторий представить в виде некоторого набора zip-файлов, содержащих в себе набор каталогов и файов. Пусть синхронизатор сверяет хеши zip-файлов с теми значениями хешей, которые сохранены в журнале локальной машины с прошлого сеанса работы автокада. Если хеши не совпали - распаковать архив в локальный репозиторий. Такой подход однозначно на несколько порядков увеличит скорость синхронизации. Нужно посмотреть сколько времени уйдёт на распаковку - это самое узкое место в данном подходе... Сейчас буду пробовать. Всем спасибо за идеи и замечания!
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 25.01.2011 в 15:45. |
|||||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Посмотрите на это со стороны юзера: сегодня у меня команда работает так, завтра иначе, послезавтра вообще не работает... какая синхронизация??? Выложить дистрибутив на сервере, пусть обновляется кто хочет... а кому не надо... тому оно и не надо... чем меньше файлов на диске тем быстее работает антивирус
![]() У каждого свои потребности и свои наработки... Например, мне очень не нравится, что некоторые програмы вставляют в мой чертеж, без моего ведома, мусор, то бишь, слои, блоки и т.д. "шоб було" вместе с этим не имеют порой нормального обработчика ошибок... На крайний случай, можно на панели задач выводить хинт, что доступно обновление... пусть юзер зайдет на сервер сам и обновится, если хочет... можно сделать и систему проверки обновлений, как во всех современных программах... можно сделать систему автоматического обновления... но тогда нужно подумать о возможности откатов... Вообще не понимаю, что такое администратор САД??? Вот Администратор сети - понимаю, а САД не понимаю... Да юзеру о вас 100 лет не знать и он будет работать... Он и в голом акаде будет работать... А если все работа будет двумя кнопками делаться, то он и вовсе себя не нужным почувствует и обозлится на вас... ![]() Обеспечьте преемственность версий и пусть каждый работает в понравившейся... ИМХО |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Можно основные моменты. Почему?
Или, если в "Сапр на базе" этот момент разжеван, тогда не надо, посмотрю сам. Добавлено Интересуют файлы: шаблонов dwt, стандарта dst, подшивки dst, палитр инструментов atc, плоттеров pc3 + pmp, стилей печати ctb + stb, блоки для палитр инструментов, типы линий lin и их форм shx. Вот эти файлы настроек, сильно хочется хранить на сервере, и прописать в профиле акада к ним пути. Так проще будет контролировать их, вносить изменения. При локальном хранении - придется обегать всех пользователей и проверять/обновлять. Про расположение своих dll, склоняюсь к локальной загрузке их в акад, и организации обновления с сервера. Детальной реализации нет. Эта тема убеждает поступить именно так. Спасибо Андрею ) Последний раз редактировалось Vildar, 25.01.2011 в 19:43. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
На вскидку - если распаковывать прямо с потока (без предварительного скачивания) - то будет еще и побыстрее (хотя я не знаю - может у вас гигабит протянут) - паковать-то постоянно не надо - а распаковка она достаточно шустрая.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
>gomer
В рамках организации существует "Стандарт по работе с AutoCAD". Администратор CAD формирует серверный репозиторий так, чтобы он был заточен под максимально удобную работу в соответствии с требованиями указанного документа. Плодить версии - имхо не есть хорошо. Решение об обновлении принимает администратор CAD. Если такое решение принято - оно будет выполнено сразу для всех пользователей. "Мусора" (с) в чертежах не будет, т.к. они просто обязаны создаваться в соответствии с требованиями обозначенного выше стандарта. На сервере существует HelpDesk, на который пользователи могут отправлять замечания/пожелания по работе GPSM.CAD. Демократии не будет. Если бы была возможность запретить пользователю загрузку плагинов не из репозитория - я бы и это сделал. Хотите использовать в своей работе стороннюю библиотеку? Через браузер оставьте заявку в HelpDesk (размещён на сервере) о том, что есть такой-то полезный модуль, делает то и то. Администратор CAD просмотрит этот модуль, сообщит о вашем предложении группе наиболее продвинутых пользователей (являющихся своего рода назначенной комиссией) и если те согласятся, что модуль действительно интересен - он будет добавлен в серверный репозиторий и станет доступным сразу для всех пользователей. Параллельно будет добавлена информация в справку по GPSM.CAD о добавленном модуле и его функционале. DotNet программистам: если кого интересует тема упаковки/распаковки - здесь выложена интересная библиотека. В архиве имеется и файл справки, в котором определены разделы C# и VB.NET с подробными примерами кода. Очень удобная штука (имхо).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
Цитата:
Цитата:
__________________
Никогда не спорьте с дураками - они опустят Вас до своего уровня и победят за счет опыта |
|||
![]() |
|
||||
Думал над таким вариантом - не понравился. Предположим добавили в репозиторий библиотеку, разослали по почте сообщение, в котором предлагается опробовать её в работе. Пользователи начали пробовать, обнаружили ошибку, сообщили об этом админу CAD. Тот вытащил "кривую софтину" из репозитория. Юзер работает в той же сессии в автокаде и может продолжать испытывать последствия тестированной библиотеки. Причём чтобы она более не мешала - её нужно выгрузить. Что проще, перезапустить автокад, или перезапустить перемещаемый профиль пользователя windows? имхо гораздо проще перегрузить автокад.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
А если мне не нужна в данный момент какая-то библиотека? или часть библиотек? Кто-то делает КМ, кто-то КМД, КЖ, АС... ЗАчем обновляться если все и так работает хорошо... Стандарты стандартами... это должно быть глубже... а каие библиотеки мне загружать я хочу решать сам...хоть с локальной, хоть с сетевой машины...
|
|||
![]() |
|
||||
Цитата:
1. общий конфигурационный файл. 2. конфигурационный файл конкретной доменной группы. 3. конфигурационный файл конкретного пользователя. (1) влияет на всех доменных пользователей. В нём так же прописана загрузка тех модулей, которые нужны всем пользователям. (2) влияет на пользователей конкретной доменной группы. В нём так же перечисляется набор модулей, которые должны грузиться всем членам этой доменной группы. (3) - это настройки пользователя. В этом файле юзер указывает, какие библиотеки должны грузиться (помимо тех, что обозначены в (1) и (2)). Загрузчик грузит библиотеки последовательно: сначала обозначенные в (1), затем обозначенные в (2) и наконец - в (3). Но требование стандарта - разрешается загружать только то, что существует в рамках репозитория. Т.о. никто не запрещает вам настраивать загрузку (точнее её часть) в соответствии с вашим желанием. файл (2) может править руководитель этой группы.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Именно так я и поступил. И кроме того вывел на рабочий стол ярлык на эту прогу (точнее она сама создает ярлык на рабочем столе на саму себя при первом запуске). Так что теперь достаточно выйти из AutoCAD, клацнуть по ярлыку и готово.
|
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
gomer,
В хорошей органицации максимум выполняемой работы должно быть формализовано. Т.е. по пунктам расписано, что нужно сделать при данной конкретной задаче. Так же и работа в автокаде. Чтобы не было, такого, что Вася заболел, а Петя не может понять, как выполнены его чертежи, и не может доделать их. И начинается формализация работы в акаде, с принятия Стандарта работы в нем на предприятии. |
|||
![]() |
|
||||
Цитата:
Ещё ситуация: работает за компьютером бабулька. Клацнула ваш ярлык обновления и затем клацнула ярлык автокада. Одно приложение синхронизирует данные с сервером, а другое, в это же время грузит данные в AutoCAD. Если синхронизатор не успеет сделать своё дело до того, как автокад начнёт грузить плагины, мы с большой долей вероятости получим Exception, когда синхронизатор попытается перезаписать библиотеку, уже загруженную в AutoCAD.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
![]() Или так... на локальной машине профиль пользователя и клиент загрузчик... все... клиент загружает в акад то, что написано в пользовательском профиле, (по необходимости докачивает с сервера или синхронизирует локальный "репозиторий")... программа-сервер управляет "репозиторием" на сервере... и не касается локальных машин... В таком случае юзера можно и отфутболить... а сервер не зависнет... и шустрее работать будет Это и есть демократия... вот написал... и подумал... что гдетто я это встречал уже.. |
|||
![]() |
|
||||
Цитата:
И какая тут "вероятность поломки"? Которая к тому же почему-то выше (этого вообще не понял)... Цитата:
Вы можете теоретизировать сколько угодно, а я делаю и оно работает. Без комментариев...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
Тогда не задавайте глупых вопросов... зы Цитата:
Вероятность того что юзер ткнет не туда больше вероятности системной ошибки... зы не обижайтесь, я не говорю, что "моя" "идея" идеальна... и тем более не перехожу на личности... никогда. |
|||
![]() |
|
||||
Цитата:
Пожалуй... Ибо мне несколько надоело читать лично ваши "умные" ответы, даваемые в поучающей форме и зачастую вообще не в тему. Цитата:
Цитата:
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Серьезное проектирование можно сравнить с конвейерным производством. Там нет места кустарям-одиночкам. Все должны работать по единым стандартам предприятия, с едиными программами, библиотеками. Нету здесь места "демократии". Такие порядки, конечно не нравятся "слесарям-интеллигентам" наподобие незабвенного В.М. Полесова. Как работу сборочного конвейера организую технологи, так и работу "проектного конвейера" должен организовывать технолог проектирования. Что касается технических сторон: При синхронизации надо использовать ZIP, причем с небольшим сжатием (средним). Даже если вообще не сжимать, то операции упаковки-распаковки занимают времени намного меньше, чем при множестве файлов. Ведь каждый файл надо записать в таблицу, присвоить атрибуты и прочее. Это независимо от организации самого процеса. Попробуйте хотя бы синхронизировать с помощью TotalCommander - разница очевидна. Сейчас даже на веб-серверах это используется. Вот у меня с сайта страницы отдаются с сервера в ZIP, а уже браузер их сам видит в HTML. Посетитель этого и не замечает, скорость работы выше. Цитата:
Однако в большинстве случаев работа ведется бессистемно, да и внутри даже приличных на вид организаций процветает сепаратизм. Грубо говоря, никто ни с кем не хочет делиться. Работа дублируется. Например, вместо ведения единой базы оборудования и изделий для СО каждый делает свою локальную. Такое надо искоренять, но не в моей власти у всех пользователей ruCAD. Этим как раз и должны заниматься администраторы САПР. Поэтому в итоге всё значительно упростил, оставил локальную работу. Но там где желают, можно с помощью локальных конфигурационных файлов организовать и работу через сеть. Для этого система ставится в разные каталоги, в зависимости от назначения файлов. Кое-что вообще в Интернет может быть. |
|||
![]() |
|
||||
Я никому не навязываю проверку идентичности именно с помощью сверки хешей по алгоритму MD5, это лично мой выбор и данный способ меня устраивает. Если вам больше нравится побитовая сверка файлов - сверяйте, дело ваше. Да и вообще топик-то не на эту тему
![]() Цитата:
Offtop: п.с. Плохо, что в AutoCAD 2009 нельзя использовать .Net Framework 4.0 - можно было бы с помощью PLINQ раскидать процесс синхронизации не только по разным потокам, но и по процессорам - прирост в скорости был бы значительный... (((
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Да пошутил я, конечно правильней по хешу.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
![]() |
|
||||
Цитата:
![]() Дело ведь не только в скорости, но и в достоверности проверки.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
Цитата:
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
Цитата:
Я не "наезжаю" - выше уже писал, что отдаю предпочтение сравнению хешей по MD5, а сравнение дат модификации мне не интересно, поскольку не считаю его достаточно надёжным (имхо).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Цитата:
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
![]() |
|
||||
Интересная тема, почитаю, спасибо!
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Системы контроля версий чрезвычайно полезная вещь, но для разработчиков.
Заменять что-то "автоматом" у конечных пользователей я не советую. Непременно будет выясняться, что в новых версиях появились какие-то ошибки, не замеченные автором. Одно заработало лучше, а другое перестало. Авторы всегда неправильно тестируют свою работу - подходят с позиции доказать, что работает. А у юзеров свой подход, они выявляют множество ошибок. Потому каждая программа и имеет несметное количество промежуточных версий. И про каждую авторы думали, что вот эта - окончательно вылизана. Я бы советовал иметь одного доверенного юзера-тестировщика. Вот с ним можно и синхронизировать. А уж когда и через него отработано - всем другим. Но по-простому, не заморачиваясь сравнениями. Заменять всё, за исключением файлов, специально предназначенных для пользовательских настроек. Да и здесь путь известный - создание инсталлятора, который, при необходимости, будет делать и обновления. Он знает, как это делать, надо только в сценарии задать, и не тратить силы на изобретения. Вот инсталлятор может и в сети лежать. А наличие разных версии инсталляторов позволяет и откатить установленное до любого уровня. |
|||
![]() |
|
||||
Цитата:
Здесь выложил один из тестов. Результат не порадовал... ShaggyDoc, я так понял, что ваш инсталлятор заменяет абсолютно всё, а не выборочные файлы? Пожалуй да, с инсталлятором и заменой всего - самый простой и надёжный вариант будет. И всё же мне жаль, что идея с проверкой хешей не подошла... (((
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Цитата:
Детали зависят от используемой программы для создания инсталляций. Я использую InnoSetup. Он, кстати, и с permissions может работать. Важно ведь ещё кто владельцем файлов будет. В принципе все современные инсталляторы должны это делать, но InnoSetup в исходниках, поэтому я знаю ещё и как именно он что-то делает. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужна помощь по решению фермы и рамы | mr.broox | Расчетные программы | 4 | 24.01.2010 00:55 |