Yandex дискът не е синхронизиран. Каква работа, ако дискът не е синхронизиран. Вибиркова синхронизация на папки на Yandex.Disk - Yandex Blog

В останалата част от часа все по-голяма популярност набират услуги за мрачно съхранение на данни, като Yandex.Disk, Google Drive и др. Те ви позволяват да се застраховате срещу загуба на важни данни, като снимки и други документи. По принцип е удобно, за вината на един момент - създавам своя собствена папка на компютъра за софтуерна сигурност, с някаква синхронизация на мрачната услуга, така че да изпратите някои данни в „мрака“, които трябва да копирате в тази папка. Не е лесно с големи ангажименти за данни: ако имате например 300 GB снимки, тогава, за да ги синхронизирате, трябва да ги видите и копирате в служебната папка (и копирането на такъв ангажимент очевидно не е за хора със слаби сърца) и този процес трябва да се повтори при актуализиране на данните. Але знаеше кулминацията на проблема - символична благословия.

Символно (символно) съобщение - специален файл във файловата система, за който не се генерират данни, освен един текстов ред с индикатор. Този ред се интерпретира като път към файла, който е виновен за buti vídkrity, когато се опитвате да се обърнете към съобщението (файла). Символната заявка заема място от файловата система, пространството е необходимо за записване на всичко.

Изпращат се символи за удобна организация на структурата на файловете на компютъра, която е разрешена за един файл или за директорията на майката на много имена на различни атрибути, както и за свободата на деи ) и може да се консултира с каталози).

За материалите на Wikipedia и като "руски", тогава всичко, което имате в каталога, според това, което поръчате, след това в целия каталог. Самият символ се използва широко в Linux системи, но също така е възможно да се създаде йога в Windows системи.

Можете да създадете сила с помощта на командния ред, но е много по-лесно с помощта на помощната програма Link Shell Extension, така че да можете да създадете необходимия тип сила.

Вижте този метод в услугата за приложения Yandex.Disk.

аз така. За първи път е необходима регистрация в системата Yandex. След това отидете на страната на Yandex.Disk, изтеглете комплекта за разпространение на софтуера Yandex.Disk на вашия компютър и инсталирайте yoga. Иконата ще се появи на изглеждащата осветена плоча със зелена отметка или син кръг със стрелки върху панела на датата от годината.

Папката Yandex.Disk също ще бъде създадена на компютъра на посоченото от вас място.

След това стартираме помощната програма Link Shell Extension, инсталираме я, рестартираме компютъра и в контекстното меню, което се кликва с натискане на десния бутон на мишката, имаме нов ред „Запомни паметта на съобщението“.

За да синхронизирате папката с "мрачен", ние знаем на компютъра, щракнете върху него с десния бутон на мишката и изберете "Запомни паметта на съобщението."

След това отидете в папката Yandex.Disk, натиснете десния бутон на мишката и изберете „Поставяне на як -> Символна помощ“

Yandex.Disk е една от малкото услуги на Yandex, част от която е настолен софтуер. І един от най-важните складове е алгоритъмът за синхронизиране на локални файлове със собствено копие на тъмно. Неотдавна имахме възможност да си спомним отново за него. Точно както старата версия беше важна за прекомерно избиране на цаца от десетки хиляди файлове и преди това не реагира бързо на „сгъваемите“ дела на потребителя, тогава новата, използвайки тези ресурси, се справя със стотици от хиляди файлове.

В тази публикация ще ви кажа защо се случи така: защо не можахме да го предадем, дали предвидихме първата версия на софтуера Yandex.Disk и как създадохме нова.

Nasampered, относно задачата за синхронизация. Привидно технически е погрешно бащата на Yandex.Disk да има хартиено копие на компютъра, а тъмният има същия набор от файлове. Tobto so di koristuvach, като преименуване, дистанционно, копиране, добавяйки, че промяната на файловете навреме се синхронизира автоматично с мрачно.

Защо не е толкова просто, как се отказваш на пръв поглед?

Теоретично задачата може да се изпълни, за да простим, но в действителност се придържаме към различни ситуации на сгъване. Например, човек преименува папка на компютъра си, те го откриват и изпращат команда до бекенда. Никой от тях обаче не проверява, докато бекендът не потвърди успеха на преименуването. Людина незабавно отваря своята локално преименувана папка, създава я в подпапка и например прехвърля някои от файловете в нея. Попаднахме в ситуация, в която е невъзможно веднага да изпълним всички необходими операции за синхронизация в тъмнината. Трябва да проверите завършването на първата операция и едва след това можете да продължите.

Ситуацията може да стане по-сложна, тъй като с един oblíkovym запис, един час наведнъж, се обработва стрък от користувачи или те имат двойна папка. И traplyayetsya често dosit в организации, като vikoristovuyut Yandex.Disk. Покажете си какво има в предния край в този момент, ако вземем обратно потвърждението за първото преименуване, вземете още една стенограма и преименувайте папката отново. В този момент не мога да виконам отново, сякаш вече съм изградил първия потребител на моя компютър. Папката, която се обработва локално в същото вино, вече се нарича по различен начин в бекенда.

Випадките са в капан, ако файлът на компютъра на потребителя не може да се нарече сам по себе си, както се нарича виното в тъмнината. Възможно е, тъй като в името има символ, който не може да бъде хакнат от локалната файлова система, но в този случай, ако ползвателят поиска папка, а новият има своя папка с такива имена. В такива ситуации трябва да използваме местните псевдоними и да наблюдаваме тяхната собствена връзка с обекти в тъмнината.

Предишна версия на алгоритъма

В последната версия на настолния софтуер Yandex.Disk за търсене алгоритъмът за подреждане на дървета е променен. Независимо дали решението по това време не позволяваше изпълнението на търсения за преместване и преименуване, фрагменти на бекенда при наличие на уникални идентификатори на обекти.

В тази версия на алгоритъма имаме три основни дървета: локално (локален индекс), отдалечено (отдалечен индекс) и оставащо синхронизирано (стабилен индекс). В допълнение, за да се избегне повторното генериране на операциите за синхронизация, които вече са поставени пред реда, бяха доказани две допълнителни дървета: локално изчистени и лошо изчистени (Очакван отдалечен индекс и Очакван локален индекс). В тези допълнителни дървета локалната файлова система беше запазена за почистване и след всички операции за синхронизация, които вече бяха поставени в черно.


Процедурата за подравняване на дървото за стария алгоритъм изглеждаше така:
  1. Като локално извлечено дърво и мрачно дърво, което проверява, изпразва, инициализира ги, копира останалата част от синхронизираното дърво;
  2. Porіvnyuêmo локално дърво с ochіkuvanim khmarі и за резултатите от сдвояването на okremіh vozlіv добавете в реда операции за синхронизация в khmarі (създаване на колекции, прехвърляне на файлове в khmari, преместване на този изглед в мрачен);
  3. За всички операции, сякаш поставени в една линия на предната плетене на една кука, фиксиране на бъдещия ефект в ochkuvanny мрачно дърво;
  4. Porіvnyuєmo мрачно дърво с местни ochіkuvanim и за резултатите от porіvnyannâ okremіh vozlіv добавете в реда операции за синхронизация с локалната файлова система (сгъване на директории, zawantazhennya файлове от мрачните, преместване на този изглед на локални файлове и директории);
  5. За всички операции, ако са поставени в ред на предната плетене на една кука, фиксиране на възможния бъдещ ефект в местното дърво, което трябва да се провери;
  6. Както обикновено, едночасови операции се извършват с един и същ файл или директория (например прехвърляне на файл в облачен файл и изтегляне на файл от облачен), след което се коригира конфликт - файлът се променя в две места;
  7. След това, тъй като операцията по синхронизиране е била изпълнена от облака или от локалната файлова система, резултатът се записва в останалата част от синхронизираното дърво;
  8. Ако черното на операцията за синхронизация стане празно, можете да видите, че мрачното дърво е локално изчистено, което е изчистено. Синхронизацията свърши и смрадът вече не ни трябва.

Защо се случи да разработим нов алгоритъм

Основните проблеми за алгоритъма за дървовидно подравняване бяха голямата загуба на памет и необходимостта от дървовидно подравняване за малки промени, което доведе до голям натиск върху процесора. В рамките на един час след обработката на промяната на един файл, паметта на работната памет нараства с приблизително 35%. Да кажем, че ползвателят е имал 20 000 файла. След това, с просто преименуване на един файл с размер 10Kb, спестяването на памет нараства като низ - от 116MB на 167MB.

Освен това искахме да увеличим максималния брой файлове, с които лесно да обработваме файлове. Dekílka tenskіv i navit стотици хиляди файлове могат да се появят, например, от фотографа, който записва резултатите от фотосесиите в Yandex.Disk. Тази задача стана особено актуална, ако хората имат възможност да закупят допълнително място на Yandex.Disk.

Търговецът също искаше да промени нещо. Подобряването на старата версия беше трудно, фрагментите от данните на един елемент бяха изпробвани в различни дървета.

Преди полунощ в бекенда се появиха id обекти, с помощта на които беше възможно по-ефективно да се реши проблемът с преместването - по-рано спечелихме пътеките.

Нов алгоритъм

Решихме да променим структурата на съхранение на данни и да заменим три дървета (локален индекс, отдалечен индекс, стабилен индекс) на едно дърво, което не е достатъчно, за да намали режийните разходи в структурата на главните данни. Чрез тези ключове в дървото, пътят до елемента на файловата система, в резултат на асоциацията, оперативната памет беше значително съкратена, което се използва.


Работихме и върху победоносни допълнителни дървета за часа на синхронизация, така че коженият елемент на дървото в новата версия да вземе всички необходими данни. Тази промяна на структурата значително опрости подобряването на кода.

Shards разбраха, че това е сериозна промяна, след което създадоха прототип, който потвърди ефективността на новото решение. Нека да разгледаме задника, как се променят данните в дървото и часа на синхронизиране на новия файл.

  1. След като добави нов файл към папката Disk, програмата го показа и добави нов елемент към дървото. Този елемент съдържа само една държава - местна. Oskílki стабилни и отдалечени ще станат ежедневни, паметта за тях се вижда;
  2. Програмата ще качи файла с икона. Трудно е да дойде push, което потвърждава появата на нов файл и дървото се добавя към отдалечения лагер;
  3. Станете локално и дистанционно сдвояване. Парчета от смрад бягат, добавя се стабилен лагер;
  4. Стан локален и отдалечен са видими. Нямате нужда от повече смрад, защото цялата информация е в конюшнята.


На този пример е ясно, че в новия алгоритъм за синхронизация се обработват тези елементи и подразделения, данните за промените в някои от тях са премахнати от файловата система или мрачни, а не цялото дърво като цяло, както беше преди . Ако е необходимо, ще бъдат добавени batkivsk или дъщерни възли (например в различни папки).

Други подобрения

В новата версия коригирахме други полета, които те добавиха към продуктивността. Запазването на дървото беше постепенно, което ви позволява да записвате във файла само останалите промени.

Yandex.Disk на sha256 и MD5 дайджести за повторна проверка на броя на файловете, разкриване на фрагменти, какво се е променило и премахване на дублиране на файлове в задните части. Тъй като задачата е силно натоварена от процесора, в новата версия изпълнението на разпределението в дайджеста е значително оптимизирано. Скоростта на дайджест файла е намалена приблизително два пъти.

Фигури

Синхронизиране на уникални 20 000 файла по 10Kb всеки

Преброяване на обобщения на уникални 20 000 файла по 10kb всеки (индексация)

Стартирайте от 20 000 синхронизирани файла по 10Kb всеки

Качете 1Gb. Стартирайте Wi-Fi 10 Mbit
Час, сик

Какво каза

От примерите се вижда, че новата версия на софтуера Yandex.Disk е около 3 пъти по-малко за RAM и около 2 пъти по-малко за CPU. Обработката на други промени не се извършва, докато не се увеличи задължението на паметта, която е победоносна.

В резултат на тези промени се увеличи броят на файловете, които програмата може да обработва безпроблемно. Версията за Windows има 300 000 файла, а версията за Mac OS X има 900 000 файла.

Да приемем, че сте нарисували картината kartinka.jpg на компютър, свързан с интернет, и след това сте качили снимка на диска с тях сами от мобилен телефон.

Ако свържете компютъра си с интернет, Yandex.Disk ще се синхронизира по-добре. След като покаже различни файлове с еднакви имена, Дискът ще промени един от тях: получените файлове ще бъдат наречени kartinka.jpg и kartinka (2).jpg.

  • - Поддържайте синхронизирани файлове;
  • - Ide синхронизация;
  • - Процесът на синхронизация има помилване.

Windows Explorer също показва икони за файла на кожата в папката Yandex.Disk.

За да ви помогнем, с известна скорост на синхронизиране, задръжте курсора на мишката върху иконата на Yandex.Disk: скоростта на изтегляне и изтеглянето ще бъдат показани в прозореца за сливане.

Yandex.Disk означава, че части от файла са променени и няма повече фрагменти, променени на сървъра, и файлът не е заменен.

За да спестите място на компютъра си, можете да деактивирате синхронизирането на четири папки. Тези папки ще бъдат изтрити от компютъра, но ще останат достъпни в услуги на трети страни и други програми на Yandex.Disk.

Подробни инструкции за настройка на вибрираща синхронизация:

  • за програми за Windows;
  • в програмата за Mac.

yandex.ru

Синхронизиране на данни на Yandex Disk

За взаимодействието на локалния компютър с центъра на мрачния Yandex Disk се използва терминът "синхронизация". Инсталираната на компютъра програма активно се синхронизира. Нека да разберем какъв е процесът и защо е необходимо виното.

При атаката се използва принципът на синхронизация: когато редактирате файлове (редактирате, копирате или премахвате), промените се появяват на тъмно.

Ако файловете се променят от страна на диска, програмата автоматично ще ги промени на компютъра. Същите промени се правят на всички стопански постройки, свързани с един и същи oblіkovogo запис.

В случай на едночасов интерес към различни прикачени файлове към файлове с еднакви имена, Yandex Disk ще им даде сериен номер (file.exe, file(2).exe и т.н.).

Индикация за процеса на синхронизация в системната област:

Самите такива икони се появяват във всички файлове и папки в директорията на диска.

Скоростта, с която се очаква синхронизиране на данни на Yandex диск, можете да го разпознаете, като задържите курсора върху иконата на програмата в тавата.

Можете да създадете прекрасен, например архив от 300 MB, забит на диска за секунди. Нищо чудно, програмата просто разпознава, че фрагментите от файла са променени и синхронизирани само няколко, а не целия архив (документ) отново.

Това е още по-ръчно, тъй като файловете на всеки поток проект се съхраняват на диска. Редактиране на документи директно в папката Дискът ще спести трафик този час.

Освен това, за да спестите място на системния диск, където се намира директорията за заключване, за определени папки можете да изключите синхронизирането. Такава папка се вижда автоматично от директорията, но вече не е достъпна от уеб интерфейса на Диска и менюто с настройки на програмата.

Файловете в папката с активирана синхронизация се качват или от страната на услугата, или през менюто с настройки.

Zrozumilo, добавката има функцията за повторно активиране на синхронизацията с мрачна колекция.

Visnovok: процесът на синхронизация ви позволява да правите промени в документи подред във всички стопански постройки, свързани към спомагателната програма на Yandex Disk, до един наклонен запис. Счупен е за спестяване на време и нерви. Синхронизирането ни позволява постоянно да улавяме и качваме редактирани файлове на диск.

Та ни

lumpics.ru

Как да настроите Yandex Disk

След регистрация, това създаване на Yandex Disk yogo може да бъде коригирано по ваша собствена преценка. Нека да разгледаме основните корекции на програмата.

Инсталирането на Yandex Disk се кликва чрез натискане на десния бутон на мишката върху иконите на програмата в тавата. Тук имаме списък с останалите синхронизирани файлове и малко зъбно колело близо до долния десен ъгъл. Трябва ни. Natyskaєmo, в контекстното меню, което виждате, ние знаем елемента "Nalashtuvannya".

Основен

В този раздел стартирането на програмата е активирано на входа на системата и е активирана възможността за извличане на нови записи от Yandex Disk. Можете също да промените оформлението на папката на програмата.

Ако работата с диска се извършва активно, тогава вие постоянно се обръщате към услугата и работите като dií, след което включете автоматичното качване по-бързо - спестява час.

Промяна на разпространението на папката, според автора, нямам особено усещане, само защото не искате да промените пространството на системния диск, а самата папка трябва да лежи там. Можете да прехвърляте данни навсякъде, да ги прехвърляте на USB флаш устройство, вярно е, че понякога, когато включите устройството за съхранение на компютъра, спира да работи.

И още един нюанс: ще трябва да го следвате, така че буквата на устройството, когато флаш устройството е свързано, е посочено в настройките, в противен случай програмата не знае пътя към папката.

Справедливо е да се каже, че нямаше новини от Yandex Disk за целия час от същите новини.

Сметка

Повече информативен раздел. Тук можете да въведете данните за влизане в публичния запис на Yandex, информацията за акаунта и бутона за включване на компютъра от диска.

Бутонът деактивира функцията за изход от Yandex Disk. Ако натиснете отново, ще трябва да въведете отново вашето потребителско име и парола. Можете също да го направите ръчно, сякаш винилът трябва да бъде свързан към друга наклонена плоча.

Синхронизация

Всички папки, които се намират близо до директорията на диска, се синхронизират с тази папка, така че всички файлове, които се съхраняват в директорията или подпапките, автоматично се качват на сървъра.

Синхронизирането може да бъде изключено за по-малко от 10 папки, в противен случай папката ще бъде изтрита от компютъра и оставена на тъмно. В менюто също ще го запомните.

Автоматично придобиване

Yandex Disk ви позволява автоматично да импортирате снимки от свързаната камера към компютъра. Когато тази програма запомни профилите, няма да стане.

Бутон "Забравяне на прикачения файл" отваря всички камери от компютъра.

Екранни снимки

В този раздел горещите клавиши са конфигурирани за извикване на различни функции, вида на името и формата на файла.

Програмата за генериране на скрийншоти на целия екран ви позволява да изберете стандартния клавиш Prt Scr, а оста за заснемане на зоната на песента може да бъде достъпна чрез пряк път. Вече не е удобно, тъй като е необходимо да създадете екранна снимка на част от прозореца, отворена на цял екран (например браузър). Тук идват на помощ горещите бутони.

Poednannya можете да изберете дали това е smut, така че тези комбинации да не бъдат заети от системата.

Прокси

Можете да напишете трактат за qi на инсталацията с кратки обяснения.

Прокси сървър - сървър, през който да отидете, за да помолите клиента да се свържете с мрежата. Печелете със собствен екран между локалния компютър и интернет. Такива сървъри изпълняват различни функции - от криптиран трафик до компютърна атака от атаки.

Ако се чувствате така, ако сте пълномощник и знаете, че имате нужда от повече вино, тогава ще направите всичко независимо. Yakshcho добре, вино и не е необходимо.

Добавково

На този депозит има автоматично инсталирани актуализации, проверки за сигурност, принудителни известия за помилвания и известия за папки.

Тук всичко стана ясно, нека поговорим за подобряването на сигурността.

Yandex Disk, когато се синхронизира, изтегля файлове в поток от потоци, заемащи голяма част от интернет канала. Ако е необходимо да имате апетит за програми, можете да поставите отметка в това поле.

Сега знаем къде е коригиран Yandex Disk и какви миризми се променят в програмата. Можете да изпратите работа.

Радваме се, че можем да ви помогнем с виришенни проблеми.

Opituvannya: с какво ви помогна тази статия?

Та ни

lumpics.ru

Вибиркова синхронизация на папки на Yandex.Disk - Disk Blog

Windows, Mac Os X, Синхронизация, Програми и програми

yandex.ru

Вибиркова синхронизация на папки на Yandex.Disk - Yandex Blog

Добавките на Yandex.Disk за Windows и Mac OS X имат важна функция - вибрираща синхронизация. Сега можете да изберете как да запазвате папки на вашия компютър и как да ги запазвате на Yandex.Disk. Например, можете да използвате Yandex.Disk, за да запазите резервни копия или архиви, а не ob'yazkovo майчини копия на тези файлове на вашия домашен компютър. Вонята рядко се нуждае от нея, но те заемат място. Можете да деактивирате синхронизирането за папки с такива файлове. Ако изберете Диск на компютри dekilkoh, синхронизирането на четири папки може да бъде активирано на една от тях и деактивирано на друга. Например, можете да запазите специални фотоархиви за вашия домашен компютър и да заемете по-малко място за работник. И твърдите папки бяха подрязани само на работещ лаптоп, така че да не е лесно да се грижите за тях у дома. Управлението на синхронизирането на папки е достъпно в настройките на програмата.

Програмата за Windows също ви позволява да десинхронизирате папки от Explorer.

Ако искате да качите нови файлове в папка, която не е синхронизирана, можете директно на вашия компютър. Просто плъзнете файловете от папката, която ми трябва, за да изтегля папката.

Следвайте новините на Yandex.Disk в нашия блог.

Програмата може да запише повече от един диск, така че принадлежи към един пеещ акаунт. Ако влезете с друго име за вход, ще бъде създадена нова папка Yandex.Disk с имена за синхронизиране "Yandex.Disk - друго влизане". Ще бъде запазено копие на файловете на предния oblіkovogo запис.

Какво се случва, ако преместите папката Yandex.Disk?

Ако прехвърлите папката Yandex.Disk, без да посочите нова позиция в настройките на програмата, програмата ще създаде папка на ново място. За да преместите копие на диска, натиснете иконата на диска, изберете елемента Настройки, натиснете бутона Създаване на папкии въведете нов път към папката: програмата автоматично ще прехвърли файлове на ново място.

Можете ли да поверите робота с диска на програми на трети страни?

Не можете ли да запазвате файлове на компютъра си, които са записани на диск?

Програмата Yandex.Disk 3.0 позволява не всички файлове от диска да се синхронизират с компютъра, за да се спести място на компютъра. Например, тъй като често използвате папката Документи, добавете синхронизация за нея - тази папка ще бъде запазена на компютъра. Други папки ще се записват по-малко на тъмно, но също ще бъдат достъпни в програмата.

Можете да зададете вибрираща синхронизация за инструкциите за Windows, MacOS.

Какво се случва, когато видя файлове от папката Yandex.Disk?

Ако видите файловете в програмата, вонята се взема от Koshik и се запазва от него за 30 дни. След това вонята се премахва автоматично от сървъра. Не могат да се извлекат изтрити файлове от сървъра.Можете да качвате файлове от кошчето само чрез уеб интерфейса на Yandex.Disk.

уважение. Файловете, преместени в Koshyk, продължават да заемат дисково пространство. Ако нямате възможност, почистете котката.

Ако искате да изтриете файла от компютъра или да го запишете на сървъра, настройте вибрираща синхронизация за инструкциите за Windows, за MacOS.

Можете ли да получите достъп до папката Yandex.Disk?

Ако искате да затворите папка, например от други папки на компютъра, можете да ограничите достъпа до нея с помощта на стандартни инструменти на Windows. С всякаква следа от памет, достъпът до достъп може да бъде в челните редици на роботизираните програми.

Какво се случва, ако видя програмата или преинсталирам операционната система?

Дисковите файлове може да останат на вашия компютър, но няма да бъдат синхронизирани. За да синхронизирате автоматично файлове със сървъра, инсталирайте програмата и влезте.

Как да избера друга папка за синхронизация със сървъра?

    Натисни бутон Създаване на папки.

    Посочете друга папка за синхронизиране със сървъра.

Как да разберете колко пари сте загубили свободното си място на диска?

Как да настроя роботизиран софтуер чрез прокси сървър?

    Натиснете иконата на диска в информационната област.

    Изберете елемента Настройки.

    Отидете в раздела Прокси.

    Избери предмет Настройка на прокси сървър..

Как да прикача иконата на Drive към Dock на macOS?

    Натиснете иконата на диска в информационната област.

    Изберете елемента Настройки.

    Отидете в раздела Добавково.

    Опция за маркиране Скрийте иконата на Dock.

  • Разработка на уебсайтове,
  • Алгоритми
  • Yandex.Disk е една от малкото услуги на Yandex, част от която е настолен софтуер. І един от най-важните складове е алгоритъмът за синхронизиране на локални файлове със собствено копие на тъмно. Неотдавна имахме възможност да си спомним отново за него. Точно както старата версия беше важна за прекомерно избиране на цаца от десетки хиляди файлове и преди това не реагира бързо на „сгъваемите“ дела на потребителя, тогава новата, използвайки тези ресурси, се справя със стотици от хиляди файлове.

    В тази публикация ще ви кажа защо се случи така: защо не можахме да го предадем, дали предвидихме първата версия на софтуера Yandex.Disk и как създадохме нова.

    Nasampered, относно задачата за синхронизация. Привидно технически е погрешно бащата на Yandex.Disk да има хартиено копие на компютъра, а тъмният има същия набор от файлове. Tobto so di koristuvach, като преименуване, дистанционно, копиране, добавяйки, че промяната на файловете навреме се синхронизира автоматично с мрачно.

    Защо не е толкова просто, как се отказваш на пръв поглед?

    Теоретично задачата може да се изпълни, за да простим, но в действителност се придържаме към различни ситуации на сгъване. Например, човек преименува папка на компютъра си, те го откриват и изпращат команда до бекенда. Никой от тях обаче не проверява, докато бекендът не потвърди успеха на преименуването. Людина незабавно отваря своята локално преименувана папка, създава я в подпапка и например прехвърля някои от файловете в нея. Попаднахме в ситуация, в която е невъзможно веднага да изпълним всички необходими операции за синхронизация в тъмнината. Трябва да проверите завършването на първата операция и едва след това можете да продължите.

    Ситуацията може да стане по-сложна, тъй като с един oblíkovym запис, един час наведнъж, се обработва стрък от користувачи или те имат двойна папка. И traplyayetsya често dosit в организации, като vikoristovuyut Yandex.Disk. Покажете си какво има в предния край в този момент, ако вземем обратно потвърждението за първото преименуване, вземете още една стенограма и преименувайте папката отново. В този момент не мога да виконам отново, сякаш вече съм изградил първия потребител на моя компютър. Папката, която се обработва локално в същото вино, вече се нарича по различен начин в бекенда.

    Випадките са в капан, ако файлът на компютъра на потребителя не може да се нарече сам по себе си, както се нарича виното в тъмнината. Възможно е, тъй като в името има символ, който не може да бъде хакнат от локалната файлова система, но в този случай, ако ползвателят поиска папка, а новият има своя папка с такива имена. В такива ситуации трябва да използваме местните псевдоними и да наблюдаваме тяхната собствена връзка с обекти в тъмнината.

    Предишна версия на алгоритъма

    В последната версия на настолния софтуер Yandex.Disk за търсене алгоритъмът за подреждане на дървета е променен. Независимо дали решението по това време не позволяваше изпълнението на търсения за преместване и преименуване, фрагменти на бекенда при наличие на уникални идентификатори на обекти.

    В тази версия на алгоритъма имаме три основни дървета: локално (локален индекс), отдалечено (отдалечен индекс) и оставащо синхронизирано (стабилен индекс). В допълнение, за да се избегне повторното генериране на операциите за синхронизация, които вече са поставени пред реда, бяха доказани две допълнителни дървета: локално изчистени и лошо изчистени (Очакван отдалечен индекс и Очакван локален индекс). В тези допълнителни дървета локалната файлова система беше запазена за почистване и след всички операции за синхронизация, които вече бяха поставени в черно.


    Процедурата за подравняване на дървото за стария алгоритъм изглеждаше така:
    1. Като локално извлечено дърво и мрачно дърво, което проверява, изпразва, инициализира ги, копира останалата част от синхронизираното дърво;
    2. Porіvnyuêmo локално дърво с ochіkuvanim khmarі и за резултатите от сдвояването на okremіh vozlіv добавете в реда операции за синхронизация в khmarі (създаване на колекции, прехвърляне на файлове в khmari, преместване на този изглед в мрачен);
    3. За всички операции, сякаш поставени в една линия на предната плетене на една кука, фиксиране на бъдещия ефект в ochkuvanny мрачно дърво;
    4. Porіvnyuєmo мрачно дърво с местни ochіkuvanim и за резултатите от porіvnyannâ okremіh vozlіv добавете в реда операции за синхронизация с локалната файлова система (сгъване на директории, zawantazhennya файлове от мрачните, преместване на този изглед на локални файлове и директории);
    5. За всички операции, ако са поставени в ред на предната плетене на една кука, фиксиране на възможния бъдещ ефект в местното дърво, което трябва да се провери;
    6. Както обикновено, едночасови операции се извършват с един и същ файл или директория (например прехвърляне на файл в облачен файл и изтегляне на файл от облачен), след което се коригира конфликт - файлът се променя в две места;
    7. След това, тъй като операцията по синхронизиране е била изпълнена от облака или от локалната файлова система, резултатът се записва в останалата част от синхронизираното дърво;
    8. Ако черното на операцията за синхронизация стане празно, можете да видите, че мрачното дърво е локално изчистено, което е изчистено. Синхронизацията свърши и смрадът вече не ни трябва.

    Защо се случи да разработим нов алгоритъм

    Основните проблеми за алгоритъма за дървовидно подравняване бяха голямата загуба на памет и необходимостта от дървовидно подравняване за малки промени, което доведе до голям натиск върху процесора. В рамките на един час след обработката на промяната на един файл, паметта на работната памет нараства с приблизително 35%. Да кажем, че ползвателят е имал 20 000 файла. След това, с просто преименуване на един файл с размер 10Kb, спестяването на памет нараства като низ - от 116MB на 167MB.

    Освен това искахме да увеличим максималния брой файлове, с които лесно да обработваме файлове. Dekílka tenskіv i navit стотици хиляди файлове могат да се появят, например, от фотографа, който записва резултатите от фотосесиите в Yandex.Disk. Тази задача стана особено актуална, ако хората имат възможност да закупят допълнително място на Yandex.Disk.

    Търговецът също искаше да промени нещо. Подобряването на старата версия беше трудно, фрагментите от данните на един елемент бяха изпробвани в различни дървета.

    Преди полунощ в бекенда се появиха id обекти, с помощта на които беше възможно по-ефективно да се реши проблемът с преместването - по-рано спечелихме пътеките.

    Нов алгоритъм

    Решихме да променим структурата на съхранение на данни и да заменим три дървета (локален индекс, отдалечен индекс, стабилен индекс) на едно дърво, което не е достатъчно, за да намали режийните разходи в структурата на главните данни. Чрез тези ключове в дървото, пътят до елемента на файловата система, в резултат на асоциацията, оперативната памет беше значително съкратена, което се използва.


    Работихме и върху победоносни допълнителни дървета за часа на синхронизация, така че коженият елемент на дървото в новата версия да вземе всички необходими данни. Тази промяна на структурата значително опрости подобряването на кода.

    Shards разбраха, че това е сериозна промяна, след което създадоха прототип, който потвърди ефективността на новото решение. Нека да разгледаме задника, как се променят данните в дървото и часа на синхронизиране на новия файл.

    1. След като добави нов файл към папката Disk, програмата го показа и добави нов елемент към дървото. Този елемент съдържа само една държава - местна. Oskílki стабилни и отдалечени ще станат ежедневни, паметта за тях се вижда;
    2. Програмата ще качи файла с икона. Трудно е да дойде push, което потвърждава появата на нов файл и дървото се добавя към отдалечения лагер;
    3. Станете локално и дистанционно сдвояване. Парчета от смрад бягат, добавя се стабилен лагер;
    4. Стан локален и отдалечен са видими. Нямате нужда от повече смрад, защото цялата информация е в конюшнята.


    На този пример е ясно, че в новия алгоритъм за синхронизация се обработват тези елементи и подразделения, данните за промените в някои от тях са премахнати от файловата система или мрачни, а не цялото дърво като цяло, както беше преди . Ако е необходимо, ще бъдат добавени batkivsk или дъщерни възли (например в различни папки).

    Други подобрения

    В новата версия коригирахме други полета, които те добавиха към продуктивността. Запазването на дървото беше постепенно, което ви позволява да записвате във файла само останалите промени.

    Yandex.Disk на sha256 и MD5 дайджести за повторна проверка на броя на файловете, разкриване на фрагменти, какво се е променило и премахване на дублиране на файлове в задните части. Тъй като задачата е силно натоварена от процесора, в новата версия изпълнението на разпределението в дайджеста е значително оптимизирано. Скоростта на дайджест файла е намалена приблизително два пъти.

    Фигури

    Синхронизиране на уникални 20 000 файла по 10Kb всеки

    Преброяване на обобщения на уникални 20 000 файла по 10kb всеки (индексация)

    Стартирайте от 20 000 синхронизирани файла по 10Kb всеки

    Качете 1Gb. Стартирайте Wi-Fi 10 Mbit
    Час, сик

    Какво каза

    От примерите се вижда, че новата версия на софтуера Yandex.Disk е около 3 пъти по-малко за RAM и около 2 пъти по-малко за CPU. Обработката на други промени не се извършва, докато не се увеличи задължението на паметта, която е победоносна.

    В резултат на тези промени се увеличи броят на файловете, които програмата може да обработва безпроблемно. Версията за Windows има 300 000 файла, а версията за Mac OS X има 900 000 файла.

    Технологии