Kaydinta - kaydinta faylka baahsan

Kaydinta - kaydinta faylka baahsan

Kahor intaanan bilaabin, waa inaan baxo isku xirka maqaalkii horesi ay u caddaato waxa dhabta ah ee aanu ka hadlayno.

Maqaalkan waxaan jeclaan lahaa inaan eego lakabka ka masuulka ah kaydinta faylasha, iyo sida loo isticmaali karo qof kasta. Kaydinta waa maktabad gooni ah, ma jiro xidhiidh toos ah oo la leh muusigga. Waxaad abaabuli kartaa kaydinta faylal kasta.

Maqaalkii hore, waxaan "duray foosto" wax yar ipfs, laakiin tani waxay u dhacday si sax ah marka loo eego xaaladda dhibaatada aan xalinayey. Guud ahaan, waxaan qabaa in mashruucani yahay mid wanaagsan. Kaliya waxaan doorbidaa awooda lagu abuuro shabakado kala duwan hawlo kala duwan. Tani waxay kuu ogolaaneysaa inaad si fiican u habayso qaab-dhismeedka oo aad hoos u dhigto culeyska qanjidhada shakhsi ahaaneed iyo shabakadda guud ahaan. Xitaa gudaha qaabka hal mashruuc, haddii loo baahdo, waxaad u kala qaybin kartaa shabakadda qaybo iyada oo loo eegayo shuruudaha qaarkood, yaraynta culeyska guud.

Markaa kaydinta waxay isticmaashaa farsamada faafin karo abaabulka shabakad. Astaamaha Muhiimka ah:

  • Faylasha waxaa lagu dari karaa kaydka iyada oo loo marayo nood kasta.
  • Faylasha gabi ahaanba waa la kaydiyaa, laguma kaydiyo blocks.
  • Fayl kastaa wuxuu leeyahay hash u gaar ah oo u gaar ah si uu ula sii shaqeeyo.
  • Faylasha waa la nuqulin karaa si loo helo isku haleyn weyn
  • Tirada faylalka ku yaal hal noode waxa xaddidaya nidaamka faylka (waxaa jira wax ka reeban, inbadan oo hoos ku qoran)
  • Tirada faylasha ee shabakada waxay xaddidan tahay awoodaha la faafin karo iyadoo loo eegayo tirada qanjidhada saxda ah ee shabakada, taas oo nooca labaad ay awood u yeelan doonto inay la shaqeyso tiro aan xadidnayn oo nood ah (in ka badan tan maqaal kale)

Tusaale fudud oo ku saabsan sida tan guud ahaan uga shaqeyso barnaamijka:

qeeybta:

const  Node = require('storacle').Node;

(async () => {
  try {
    const node = new Node({
      port: 4000,
      hostname: 'localhost'
    });
    await node.init();
  }
  catch(err) {
    console.error(err.stack);
    process.exit(1);
  }
})();

Macmiilka:

const  Client = require('storacle').Client;

(async () => {
  try {
    const client = new  Client({
      address: 'localhost:4000'
    });
    await client.init();
    const hash = await client.storeFile('./my-file');
    const link = await client.getFileLink(hash); 
    await client.removeFile(hash);
  }
  catch(err) {
    console.error(err.stack);
    process.exit(1);
  }
})();

Muuqaalka gudaha

Ma jiraan wax qurux badan oo daboolka hoostiisa ah. Macluumaadka ku saabsan tirada faylasha, wadarta cabbirkooda iyo dhibcaha kale waxaa lagu kaydiyaa kaydka kaydka xusuusta waxaana la cusboonaysiiyaa marka faylasha la tirtiro oo lagu daro, markaa looma baahna in si joogto ah loo galo nidaamka faylka. Waxa ka reebban waa awood u siinaya ururiyaha qashinka marka aad u baahan tahay inaad wareejiso faylalka marka cabbir gaar ah la gaaro, oo aadan mamnuucin ku darida kuwa cusub. Xaaladdan oo kale, waa inaad dhaaftaa kaydinta, oo la shaqeynta tiro badan oo faylal ah (> dheh hal milyan) waxay u horseedi kartaa culeysyo muhiim ah. Oo way fiicantahay in la kaydiyo faylal yar oo la ordo noono badan. Haddii "nadiifiyaha" uu naafo yahay, markaa ma jirto dhibaato noocaas ah.

Kaydinta feylku waxa ay ka kooban tahay 256 fayl iyo 2 heerar buul ah. Faylasha waxaa lagu kaydiyaa galka heerka labaad. Taasi waa, haddii ay jiraan 1 milyan. Gal kasta waxa ku jiri doona ilaa 62500 faylal (1000000 / sqrt(256)).

Magacyada galku waxa ay ka samaysan yihiin xashiishka faylka si aad si dhakhso ah u gasho haddii aad taqaano xashiishka.

Qaab dhismeedkan waxaa lagu doortay iyadoo lagu saleynayo tiro badan oo ah shuruudaha kaydinta ee kala duwan: taageerada nidaamyada faylalka daciifka ah, halkaas oo aan la jeclayn in la haysto faylal badan oo hal gal ah, si degdeg ah dhammaan faylalka haddii loo baahdo, iwm. Nooc ka mid ah macnaha dahabiga ah.

kaydinta

Marka lagu daro faylasha, iyo sidoo kale marka la helayo, xiriirinta faylasha ayaa lagu qoraa khasnadda.
Mahadsanid tan, marar badan looma baahna in la maro shabakadda oo dhan si loo raadiyo fayl. Tani waxay dedejinaysaa helitaanka isku xidhka waxayna yaraynaysaa culayska shabakada. Caching sidoo kale waxay ku dhacdaa madaxyada http.

isomorphy

Macmiilku wuxuu ku qoran yahay javascript waana isomorphic, si toos ah ayaa looga isticmaali karaa browserka. 
Waxaad soo gelin kartaa faylka https://github.com/ortexx/storacle/blob/master/dist/storacle.client.js sida qoraalka iyo helitaanka daaqada.ClientStoracle ama soo dejinta iyada oo loo marayo nidaamka dhismaha, iwm.

Xiriirinta dib loo dhigay

Muuqaal xiiso leh ayaa sidoo kale ah "Tixraaca dib loo dhigay". Kani waa isku xidhka faylka si isku mid ah loo heli karo, halkan iyo hadda, oo faylka waa la soo jiidan doonaa marka horeba loo helo kaydinta. Tani waa mid aad u habboon marka, tusaale ahaan, aad u baahan tahay inaad ku muujiso sawirro goobta. Kaliya waxaan dhignay xiriirinta dib loo dhigay src waana taas. Waxaad la imaan kartaa kiisas badan.

Client API

  • async Client.prototype.storeFile() - kaydinta faylka
  • async Client.prototype.getFileLink() - Helitaanka xiriir toos ah faylka
  • async Client.prototype.getFileLinks() - Helitaanka liiska xiriirinta tooska ah ee faylka dhammaan noodyada halka uu ka jiro
  • async Client.prototype.getFileToBuffer() - geli faylka galka kaydiyaha
  • async Client.prototype.getFileToPath() - geli faylka nidaamka faylka
  • async Client.prototype.getFileToBlob() - u hel faylka blob (nooca browserka)
  • async Client.prototype.removeFile() - tirtir faylka
  • Client.prototype.createRequestedFileLink() - samee xiriir dib loo dhigay

U dhoofi faylasha server kale

Si aad faylasha ugu wareejiso nood kale, waxaad kartaa:

  • Kaliya koobi ka samee dhammaan galka kaydinta iyo dejinta (tani ma shaqayn karto mustaqbalka)
  • Ku koobiye kaliya galka faylalka. Laakiin, kiiskan, waxaad u baahan doontaa inaad socodsiiso shaqada hal mar node.normalizeFilesInfo()in dib loo xisaabiyo dhammaan xogta oo la geliyo kaydka xogta.
  • Isticmaal shaqada node.exportFiles()Kaas oo bilaabi doona koobiyeynta faylasha.

Dejinta noodhka aasaasiga ah
Markaad bilowdo noodhka kaydinta, waxaad qeexi kartaa dhammaan goobaha lagama maarmaanka ah.
Waxaan ku tilmaami doonaa kuwa aasaasiga ah, inta soo hartay waxaa laga heli karaa Github.

  • kaydinta.Xogta cabbirka - cabbirka galka faylasha leh
  • kaydinta.tempSize - cabbirka gal ku meel gaadhka ah
  • kaydinta.autoCleanSize - cabbirka kaydinta ugu yar ee u baahan in la qabto. Haddii aad qeexdo cabbirkan, ka dib isla marka boosku bilaabo inuu dhammaado, faylasha ugu yar ee la isticmaalo waa la tirtiri doonaa.
  • file.maxSize - cabbirka ugu badan ee faylka
  • file.minSize - cabbirka ugu yar ee faylka
  • file.preferredDuplicates - tirada la doorbido ee nuqul ka mid ah faylka shabakada
  • file.mimeWhitelist - noocyada file sax ah
  • file.mimeBlacklist - noocyada faylka aan sax ahayn
  • file.extWhitelist - kordhinta faylka saxda ah
  • file.extBlacklist - kordhinta faylka aan sax ahayn
  • file.linkCache - goobaha caching link kala duwan

Ku dhawaad ​​dhammaan cabirrada la xidhiidha cabbirrada waxa lagu geli karaa qiimayaal dhammaystiran iyo kuwo qaraabo ah labadaba.

Ka shaqaynta khadka taliska
Maktabadda waxaa lagu isticmaali karaa khadka taliska. Si aad tan u samayso waxaad u baahan tahay inaad si caalami ah ugu rakibto: npm i -g kaydinta. Taas ka dib, waxaad ka bilaabi kartaa ficilada lagama maarmaanka ah ee tusaha mashruuca halka noodu ku yaal. Tusaale ahaan, kaydinta -bakhaar File -f ./file.txt -c ./config.jsin lagu daro faylka. Dhammaan ficillada waxaa laga heli karaa gudaha https://github.com/ortexx/storacle/blob/master/bin/actions.js

Maxaad ugu baahan kartaa tan?

  • Haddii aad rabto inaad abuurto nooc ka mid ah mashruuc baahsan oo aad qorsheyneyso inaad ku kaydiso oo aad ku shaqeyso faylasha adoo isticmaalaya habab ku habboon. Tusaale ahaan, mashruuca muusigga ee lagu sharraxay isku xirka bilowga maqaalku wuxuu isticmaalaa kaydin.
  • Haddii aad ka shaqeyso mashruucyo kale oo aad u baahan tahay inaad ku kaydiso feylasha hab qaybsan. Waxaad si sahlan u dhisi kartaa shabakadaada xiran, si dabacsanaan leh ayaad u habeyn kartaa noodhka oo aad ku dari kartaa kuwa cusub marka loo baahdo.
  • Haddii aad u baahan tahay oo kaliya inaad ku kaydiso faylasha degelkaaga meel oo ay kugu adag tahay inaad wax walba qorto naftaada. Waxaa laga yaabaa in maktabadani ay kaga fiican tahay kuwa kale kiiskaaga.
  • Haddii aad haysatid mashruuc aad ku shaqayso faylal, laakiin aad rabto in aad sameyso dhammaan wax-qabadka browserka. Waxaad ka fogaan kartaa qorista koodka server-ka.

Xiriiradayda:

Source: www.habr.com

U soo iibso martigelin lagu kalsoonaan karo oo loogu talagalay bogagga leh ilaalinta DDoS, VPS VDS servers 🔥 Iibso martigelin degel oo lagu kalsoonaan karo oo leh ilaalinta DDoS, VPS VDS servers | ProHoster