Epic Games kompaniyasi Lore uchun versiyani boshqarish tizimini chiqardi.

Epic Games o'zining markazlashtirilgan versiyani boshqarish tizimi Lore ni ochiq kodli qildi, u ilgari Unreal Editor for Fortnite (UEFN) asboblar to'plamiga Unreal Revision Control nomi ostida kiritilgan edi. Tizim manba kodini juda katta matn bo'lmagan fayllar bilan birlashtiradigan loyihalarni ishlab chiqishda foydalanish uchun optimallashtirilgan. Masalan, Lore teksturalar, 3D modellar va ovoz ma'lumotlari kabi aktivlar ustida hamkorlikda ishlashni talab qiladigan kompyuter o'yinlarini ishlab chiqish uchun mos keladi. Matn bo'lmagan fayllarning turli versiyalarini birlashtirish muammoli bo'lgani uchun, hamkorlik bir nechta ishtirokchilarning resursni bir vaqtning o'zida tahrirlashiga yo'l qo'ymaydigan eksklyuziv qulfni o'rnatish orqali tashkil etiladi. Loyiha kodi Rust tilida yozilgan va MIT litsenziyasi ostida tarqatiladi.

Tizim turli o'lchamdagi jamoalar uchun kengaytirilishi mumkin va tashqi bog'liqliklarsiz bitta bajariladigan faylni ishga tushirish orqali ishlab chiquvchining kompyuterida ishga tushirilishi yoki juda katta jamoalarning ishini muvofiqlashtirish uchun markazlashtirilgan server sifatida joylashtirilishi mumkin.
Lore ikkita tizimdan iborat: ma'lumotlarni saqlash quyi tizimi va versiyalarni boshqarish quyi tizimi, bu esa reviziyalar, filiallar va birlashtirish operatsiyalarini yaratish uchun javobgardir.

Saqlash quyi tizimi ikkita saqlash dvigatelidan iborat: xesh manzilga ega o'zgarmas kontent ombori va filial ko'rsatkichlari kabi dinamik metama'lumotlar uchun kalit/qiymat ombori. Markazlashtirilgan serverda ma'lumotlarni saqlash va xatolarga chidamlilikni ta'minlash uchun turli xil orqa tomonlarni ulash mumkin. Masalan, AWS S3 doimiy saqlash uchun va DynamoDB metama'lumotlar uchun ishlatilishi mumkin.

Repozitoriya holatini ifodalash va reviziya zanjirining o'zgarmasligini ta'minlash uchun Merkle Tree tuzilmasi qo'llaniladi, unda har bir filial barcha asosiy filiallar va tugunlarni daraxtga o'xshash xesh yordamida tekshiradi. Repozitoriya ma'lumotlari kontent xeshlari orqali ko'rib chiqiladi, bu taqqoslashlar va yaxlitlikni tekshirishni soddalashtiradi. Har bir reviziyaning xeshi uning tegishli holatini, ota-ona reviziyalarining xeshlarini va ma'lumotlar xeshlarini o'z ichiga oladi. Katta fayllar fragmentlarda saqlanadi.

Versiyalarni boshqarish tizimlariga xos xususiyatlar, masalan, commitlar, loyihalarni bosqichma-bosqich bajarish, tarmoqlanish va o'zgarishlarni baholash taqdim etiladi. Kengaytirilgan funksiyalar quyidagilarni o'z ichiga oladi: foydalanuvchilarga kirishni boshqarish; nizolarni hal qilish; fragment darajasidagi takrorlanishni olib tashlash; ishchi daraxtning to'liq bo'lmagan nusxasi bilan ishlash imkoniyati (etishmayotgan ma'lumotlar kerak bo'lganda yuklanadi); saqlangan ma'lumotlarni keshlash; yengil tarmoqlanish operatsiyalari va shoxchalar o'rtasida tez almashinish (shoxchalar ma'lumotlarning takrorlanishiga olib kelmaydigan havolalar orqali amalga oshiriladi).

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster