![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
seravr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
Я подумал, и решил, что в случае, когда изменяются 2 одинаковых файла, делать общую копию по последнему изминению( и не важно кто и что там наисправлял)
Друзья, кто нибудь может помочь разобраться с хешированием и diff? |
|||
|
||||
ir4y |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 3.6.2008 Репутация: нет Всего: нет |
(оффтоп)
Я конечно понимаю желание разобраться с программированием и стать реально крутым меном у seravr'а но пытаться воротить какие то адские программы типа сетевой синхронизации винтов это полный бред(извиняюсь за жесткость высказывания) raid0, а тут именно что то подобное человек сделать пытается, по сети в 100Мб не синхронизуешь нормально.... если конечно у него не 10Гб оптика между компами проложена..... практически половина сообщений в теме полный оффтоп, в связи с некомпитентностью топикстартера =( (не оффтоп) при таком подходе
в файле будет каша так как пользователь не знает как на самом деле выглядит файл. например первый пользователь изменил строку а второй ее просто удалил информация первого пользователя потерена .... придется блокировать доступ к файлу во время его редактирования другим пользователем, из-за чего последует необходимость синхронизации ввода вывода.... по поводу diff качаешь http://gnuwin32.sourceforge.net/packages/diffutils.htm устанавливаешь в программе своей exec'аешь diff через api или перенаправление в файл получаешь вывод программы.... если хочешь оптимизировать качаешь исходники и вкручиваешь необходимые функции в свой код аналогично с хэшированием для примера можешь взять md5 но он тяжеловесный лучше что-нибудь по проще .... находишь исходники либо по rfc пишешь сам и считаешь хэш сумму файла если совпала со старой файл не менялся если изменилось то запускашь diff и определяешь что именно и как .... Это сообщение отредактировал(а) ir4y - 3.3.2009, 10:39 |
|||
|
||||
seravr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
ir4y, спасибо Огромное, пойду разбираться
|
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
http://ru.wikipedia.org/wiki/Rsync Open source: http://samba.anu.edu.au/ftp/unpacked/rsync/ http://samba.anu.edu.au/ftp/rsync/ |
|||
|
||||
seravr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
Vaulter, спасибо!!!
ir4y, спасибо, разобрался с md5 Как Вы думаете, вот "просканировал" я каталог, который хочу "зеркалировать", для каждого файла получил хеш, но ведь этим только я смогу отслеживать изминения внутренней как бы структуры файла, но ведь этого недостаточно, в принципе можно для каждого файла записывать структуру _finddata_t, но размер этой структуры 296 байт(хотя странно, если посмотреть в io.h, то там взглянуть на структуру _findata_t, то на самом деле объет этого типа должен занимать 292 байта, почему у меня sizeof(обект типа _findata_t) занимает 296 байт, вообщем странно, может "дыры" сказываются или указатель там еще есть, вообщем-непонятно ), т.е. вообщем, для любого файла(причем, не важно какой это файл, я имею ввиду размер, то ли он будет равен 1 байту или 100 мб- для каждого из них информация будет весить = sizeof(_findata_t) +хеш ) . Вобщем, как Вы думаете, что оптимально хранить в информации о конкретном файле, как Вы считаете? вот пример из описания структуры _findata_t(у меня 32 разрядная система, и вижал студия применяет именно вот эту структуру)
|
|||
|
||||
seravr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
Друзья, выскажитесь пожалуйста кто как думает по поводу вышесказанного мною
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |