Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: wget -m


  • Subject: Re: lug-bg: wget -m
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Tue, 8 Jun 2004 19:47:29 +0300

On Tue, Jun 08, 2004 at 07:20:45PM +0300, George Danchev wrote:
> On Monday 07 June 2004 14:33, Peter Pentchev wrote:
> --кръц--
> > Само да отворя една скобичка за малко вметване: CVSup също изобщо не е
> > лош вариант, стига този, от когото mirror-ваш, да е съгласен да си пусне
> > CVSup сървърче.  Такива напоследък се нароиха доста, защото CVSup вече
> 
> CVSup е много добра утил-ка. 
> Ама в случая не идваше на питащия да му предлагам cvsup ;-)
> 
> > не е само начинът на mirror-ване на FreeBSD; има още поне 3-4 големи
> > open source проекта, които използват това за своите мрежи.  Като
> > количество прехвърлен трафик CVSup е на нивото на rsync, а според някои
> 
> Е CVS протокола е с пъти по-тежък/усложнен от rsync протокола и това е защото 
> cvs протокола е предвиден да се разправя с rcs-files/versioning/tags/alabala. 
> Това е едно от големите му недостатъци и вероятно причина да се измислят 
> по-ефективни протоколи като SVN. 

Чакай, чакай... нали не мислиш, че CVSup използва същия протокол, който
се използва между CVS клиент и CVS сървър при check-in, check-out, log,
status и т.н.? :)  Всъщност двете нямат нищо, ама нищо общо :)

Когато CVSup установи, че това, което прехвърля, е RCS/CVS version file,
то "по жицата" се прехвърля много бързо информация за това кои
revisions, tags, branches има при клиента, и ако при сървъра няма нищо
друго, не се прави нищо.  Ако се окаже, че има разлики, се предават само
разликите *като diffs*, т.е. като RCS revision info.  Според мен това би
могло да бъде много по-бързо от опитите на rsync да намери разликите във
файловете по една проста причина: CVSup вече *знае* точно къде са
разликите във файловете, точно от кое отместване във файла започват,
къде свършват и т.н., и изобщо не се опитва да сравнява останалите части
от файловете.  Е, накрая се прави някаква checksum, за да се убедят
клиентът и сървърът, че наистина имат един и същи файл де :)

Като цяло rsync протоколът е замислен за минимално количество мрежов
трафик *без никаква информация за съдържанието на файловете*, затова на
моменти използва доста интересни алгоритми (това с rolling checksum е
*прекрасна* идея), някои от които са описани в technical report-а на
http://rsync.samba.org/tech_report/  Това е много хубаво, когато
наистина никой не знае нищо за файловете, но според мен (а явно и според
John Polstra) допълнителната информация, съдържащата се в headers на RCS
files, може да спести доста анализ и претърсване за съвпадащи блокове.

> А за non-rcs-files CVSup използва rsync протокола, явно собствена 
> имплементация, а не направо librsync(3) явно поради езикови различия. 
> Така, че както в случая се джиткат non-rcs-files, и се използва rsync 
> протокола/алгоритъма, то аз лично предпочитам да използвам програмата rsync.

Can't argue with that.. или поне в момента няма да се опитвам :P

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
I am the meaning of this sentence.

Attachment: pgpcQnLU5jbmt.pgp
Description: PGP signature


  • Във връзка с:

 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.