Museria – decentralized ibi ipamọ orin

Museria – decentralized ibi ipamọ orin

Ni ọjọ kan Mo pinnu lati kọ ohun elo kan lati yan orin fun ara mi ati tẹtisi rẹ ni ile / ni opopona / awọn adaṣe, ati bẹbẹ lọ. Ati pe ki gbogbo eyi ṣiṣẹ ni ṣiṣan, pẹlu ikopa ti o kere julọ lati ọdọ mi. Mo wa pẹlu ẹya-ara kan, ṣe apẹrẹ apẹrẹ kan, ati nikẹhin mo wọ “iṣoro kekere” kan.

Ati pe ko ṣe kedere ibiti o ti le gba awọn faili orin funrararẹ. Ni akoko yii, VKontakte ti pa api naa tẹlẹ, lori awọn ọna abawọle orin nla ohun gbogbo tun ti dakẹ, paapaa awọn orin ni a fun ni awọn ege ki a má ba ṣe itupalẹ. Gbogbo awọn ti o kù wà diẹ ninu awọn olukuluku fly-nipasẹ-alẹ ojula pẹlu kan pupọ ti ipolongo ati gbogbo ona ti idoti, gbogbo ona ti dubious grabber eto ati awọn miiran "idọti" awọn aṣayan. Ni gbogbogbo, ko kan nikan gan ti o dara ojutu. O le, dajudaju, ra ṣiṣe alabapin si diẹ ninu orin Yandex tabi bii. Ṣugbọn lẹẹkansi, ko si API gbangba ti o ṣii nibikibi ati pe o ko ni iwọle si orin ni eto. Ọpọlọpọ awọn ile-iṣẹ nla ti ni ihamọ iwọle si orin miiran. Kini idi ti eyi fi ṣẹlẹ rara? Ti n walẹ jinlẹ, o han gbangba pe iṣoro akọkọ jẹ aṣẹ lori ara. Ojutu lọwọlọwọ ni irisi awọn ṣiṣe alabapin ni ibamu pẹlu ọpọlọpọ awọn onkọwe orin iṣowo ati awọn ile-iṣẹ kanna. Ni akoko kanna, orin ti kii ṣe ti owo ati ologbele-owo tun ṣubu sinu atokọ gbogbogbo. O boya san fun ohun gbogbo tabi gbọ ohunkohun ni gbogbo.

Ati ki o Mo bẹrẹ lati ro ohun ti lati se pẹlu gbogbo eyi. Bawo ni a ṣe le ṣeto pinpin orin ọfẹ? Kini Emi yoo ṣe ti MO ba ṣẹda orin funrararẹ ati pe MO fẹ lati ni owo lati ọdọ rẹ? Ṣe Emi yoo fẹ ti awọn orin mi ba jẹ pirated? Ohun ti yiyan ojutu jẹ nibẹ lonakona?

Bi abajade, awọn iṣoro akọkọ meji wa ti o nilo lati yanju:

  • Eto pinpin orin ọfẹ ni lilo awọn ọna ti o rọrun fun ọpọlọpọ eniyan, pẹlu sọfitiwia.
  • Nfunni awọn omiiran fun awọn olupilẹṣẹ orin lati ṣe owo

Agbaye decentralized ibi ipamọ orin

Ni ibẹrẹ, Mo gbiyanju lati wa awọn solusan ti o wa tẹlẹ ati ṣẹda ohun gbogbo ti o da lori eyi. Lẹhin igba diẹ ti wiwa, akọkọ ti Mo fẹran ni ipfs. Mo bẹrẹ imuse imọran mi, ṣugbọn lẹhin igba diẹ Mo ṣe awari ọpọlọpọ awọn iṣoro pataki ni ojutu yii:

  • Ipfs - ibi ipamọ fun ohun gbogbo ati gbogbo eniyan. Awọn aworan ati orin wa ati awọn fidio ati ohun gbogbo ti o fẹ. Ni gbogbogbo, iru nla kan Planetary "dustbin". Nitorinaa, nigbati o ba ṣe ifilọlẹ oju ipade rẹ, o gba ẹru nla kan lẹsẹkẹsẹ. Awọn ọkọ ayọkẹlẹ ti wa ni o kan writhing ni irora.
  • Diẹ ninu iru ẹrọ gbigba “idoti” ti ko pari. Emi ko mọ bi o ṣe jẹ bayi, ṣugbọn ni akoko yẹn, ti o ba kọwe ninu atunto ti o fẹ lati fi opin si ibi ipamọ si gigabytes mẹwa ti data, lẹhinna ko tumọ si ohunkohun. Ibi ipamọ naa dagba, ti o kọju si ọpọlọpọ awọn ipilẹ iṣeto. Bi abajade, o jẹ dandan lati ni ipamọ nla ti disiki lile titi ipfs yoo rii bi o ṣe le tunto ti ko wulo.
  • Ni akoko lilo ile-ikawe (Emi ko mọ bii o ṣe jẹ bayi), alabara ko ni imuse awọn akoko akoko. O firanṣẹ ibeere kan lati gba faili kan, ati pe ti ko ba si, lẹhinna o kan gbele. Nitoribẹẹ, awọn eniyan wa pẹlu gbogbo awọn ọna ṣiṣe ti o yanju iṣoro naa ni apakan, ṣugbọn iwọnyi jẹ awọn crutches. Awọn nkan wọnyi yẹ ki o jade kuro ninu apoti.

Ọpọlọpọ awọn iṣoro kekere tun wa, ati pe iwunilori jẹ kedere: eyi ko le ṣee lo fun iṣẹ akanṣe naa. Mo tẹsiwaju wiwa fun ibi ipamọ kan, ṣawari awọn aṣayan oriṣiriṣi, ṣugbọn ko rii ohunkohun ti o yẹ.

Ni ipari, Mo pinnu pe o tọ lati gbiyanju lati kọ ibi ipamọ ti a ti sọtọ funrararẹ. Paapa ti ko ba dibọn pe o jẹ interplanetary, yoo yanju iṣẹ-ṣiṣe kan pato.

Ati ki o wa ni jade itankale, ibi ipamọ, metastocle, museria, museria-agbaye.

itankale - Eyi ni akọkọ, Layer ti o kere julọ ti o fun ọ laaye lati darapọ awọn apa sinu nẹtiwọọki kan. O ni algoridimu kan, eyiti Mo ti ṣe imuse ni apakan ti o da lori bii awọn olupin 10000. Ẹya kikun ti algoridimu jẹ diẹ sii nira pupọ lati ṣe ati pe yoo nilo ọpọlọpọ awọn oṣu afikun (boya diẹ sii).

Emi kii yoo ṣe apejuwe itankale ni alaye ni nkan yii; o dara lati kọ lọtọ ni ọjọ kan. Nibi Emi yoo kan ṣe akiyesi diẹ ninu awọn ẹya:

  • Ṣiṣẹ nipasẹ http / https.
  • O le ṣẹda nẹtiwọọki lọtọ fun iṣẹ-ṣiṣe kan pato, eyiti yoo dinku fifuye lori iṣẹ akanṣe kọọkan ju ti gbogbo wọn ba wa lori nẹtiwọọki kanna.
  • Ilana kan pẹlu awọn akoko ipari ati awọn nkan kekere miiran ni a ti ro ni ibẹrẹ. Ati pe eyi ṣiṣẹ fun gbogbo awọn ọna mejeeji ni alabara ati ni ipade. O le ni irọrun ṣakoso awọn eto lati inu ohun elo rẹ.
  • Awọn ìkàwé ti kọ ninu nodejs. Awọn ọran iṣẹ ti akopọ naa jẹ aiṣedeede nipasẹ iseda isọdọtun rẹ. Awọn fifuye le ti wa ni "tan jade" nipa jijẹ awọn nọmba ti apa. Ni ipadabọ, ọpọlọpọ awọn anfani wa: agbegbe nla kan, ayedero ati irọrun ti lilo, alabara isomorphic, ko si awọn igbẹkẹle ita, ati bẹbẹ lọ.

ibi ipamọ ti wa ni a Layer jogun lati itankale ti o faye gba o lati fi awọn faili lori awọn nẹtiwọki. Faili kọọkan ni hash tirẹ ti awọn akoonu rẹ, eyiti o le ṣee lo lati gba pada nigbamii. Awọn faili ko pin si awọn bulọọki, ṣugbọn ti wa ni ipamọ patapata.

metastocle - Layer jogun lati itankale, eyiti o fun ọ laaye lati tọju data lori nẹtiwọọki, ṣugbọn kii ṣe awọn faili. Ni wiwo jẹ iru si aaye data Nosql kan. O le, fun apẹẹrẹ, ṣafikun faili kan si ibi ipamọ, gba hash rẹ ki o kọ si metastocle pẹlu ọna asopọ si nkan kan.

museria - jogun lati storacle ati metastocle. Layer yii jẹ iduro taara fun titoju orin. Ibi ipamọ naa ṣiṣẹ nikan pẹlu awọn faili mp3 ati awọn aami id3.

Gẹgẹbi "bọtini" si orin naa, orukọ kikun rẹ ni a lo ninu fọọmu naa Oṣere (TPE1) - Akọle (TIT2). Fun apẹẹrẹ:

  • Brimstone - The Burden
  • Hi-rez - Ona Mi Ti sọnu (feat. Emilio Rojas, Dani Devinci)

O le wa jade ni bi Elo apejuwe awọn bi o ti ṣee bi awọn akọle orin ti wa ni akoso. nibi. O nilo lati wo iṣẹ naa utils.beautifySongTitle().

Iwọn awọn ere-kere ti a ṣalaye ninu awọn eto ipade ni a gba pe o jẹ baramu. Fun apẹẹrẹ, iye kan ti 0.85 tumọ si pe ti iṣẹ lafiwe bọtini (awọn orukọ orin) rii ibajọra diẹ sii ju 85%, lẹhinna o jẹ orin kanna.

Algoridimu fun ṣiṣe ipinnu ibajọra wa nibẹ, ninu iṣẹ naa utils.getSongSimilarity().

Ideri si orin naa, fun gbigba nigbamii, tun le somọ nipasẹ awọn aami (APIC). Awọn ohun elo ni gbogbo awọn ọna pataki fun gbigba ati ṣiṣe awọn afi.

Apeere ti ṣiṣẹ pẹlu ibi ipamọ nipasẹ alabara ni a le rii ninu readme.

Gbogbo awọn ipele ti o wa loke jẹ ti ara ẹni ati pe o le ṣee lo lọtọ bi awọn ipele kekere fun awọn iṣẹ akanṣe miiran. Fun apẹẹrẹ, ero ti wa tẹlẹ lati ṣe Layer fun titoju awọn iwe.

museria-agbaye jẹ ibi ipamọ git ti tunto tẹlẹ fun ifilọlẹ oju-ọna tirẹ ni nẹtiwọọki orin agbaye. Cloning npm i && npm bẹrẹ ati awọn ti o ni besikale o. O le tunto ni alaye diẹ sii, ṣiṣe ni Docker, ati bẹbẹ lọ. Alaye alaye wa ni github.

Nigbati ibi ipamọ ba ti ni imudojuiwọn, o nilo lati ṣe imudojuiwọn ipade rẹ. Ti nọmba ẹya pataki tabi kekere ba yipada, lẹhinna iṣe yii jẹ dandan, bibẹẹkọ awọn apa atijọ yoo jẹ akiyesi nipasẹ netiwọki.

O le ṣiṣẹ pẹlu awọn orin pẹlu ọwọ ati eto. Ipin kọọkan nṣiṣẹ olupin fun awọn iṣẹ-ṣiṣe ọtọtọ. Pẹlu, nigbati o ba ṣabẹwo si aaye ipari aiyipada, iwọ yoo gba wiwo fun ṣiṣẹ pẹlu orin. Fun apẹẹrẹ, o le lọ si root ipade (ọna asopọ le ma ṣe pataki nigbamii, awọn apa titẹ sii tun le gba wọle telegram, tabi wa awọn imudojuiwọn lori Github).

Ni ọna yii o le wa ati gbe awọn orin si ibi ipamọ. Ikojọpọ awọn orin le waye ni awọn ipo meji: deede ati iwọntunwọnsi. Ipo keji tumọ si pe iṣẹ naa jẹ nipasẹ eniyan, kii ṣe eto kan. Ati pe ti o ba ṣayẹwo apoti yii nigba fifi kun, iwọ yoo nilo lati yanju captcha naa. Awọn orin le fi kun pẹlu ayo -1, 0 tabi 1. ayo 1 le nikan wa ni ṣeto ni ti ṣabojuto mode. Awọn ohun pataki ni a nilo ki ibi-ipamọ le ni imunadoko siwaju sii pinnu kini lati ṣe nigbati o gbiyanju lati rọpo orin ti o wa pẹlu tuntun kan. Ti o ga julọ ni ayo, o ṣeese diẹ sii o ni lati kọ faili ti o wa tẹlẹ. Eyi ṣe iranlọwọ lati ja àwúrúju ati mu didara awọn orin ti a gba lati ayelujara pọ si.

Ti o ba bẹrẹ fifi awọn orin kun si ibi ipamọ rẹ, gbiyanju lati so awọn aworan (ideri), botilẹjẹpe aaye yii ko nilo. Ni 99% awọn iṣẹlẹ, awọn aworan akọkọ lori Google ti o da lori awọn akọle orin jẹ awọn ideri awo-orin.

Bii fifi awọn faili ni imọ-ẹrọ ṣe waye, ni kukuru:

  • Onibara gba adirẹsi ti ipade ọfẹ kan, eyiti yoo di oluṣakoso fun igba diẹ.
  • Awọn iṣẹ ti fifi orin kan ti wa ni jeki (nipasẹ a eniyan tabi koodu), ati ki o kan ìbéèrè ti wa ni ṣe lati fi kan Alakoso si awọn ipari.
  • Alakoso ṣe iṣiro iye awọn ẹda-ẹda ti o yẹ ki o wa ni ipamọ (paramita atunto).
  • Awọn apa ti o dara julọ fun fifipamọ ni a wa.
  • Faili naa lọ taara si awọn apa wọnyi.

Bii imọ-ẹrọ ṣe gba awọn faili naa:

  • Onibara gba adirẹsi ti ipade ọfẹ kan, eyiti yoo di oluṣakoso fun igba diẹ.
  • Iṣẹ ti gbigba orin kan (nipasẹ eniyan tabi koodu kan) jẹ okunfa, ati pe o ṣe ibeere kan lati gba ni aaye ipari Alakoso.
  • Alakoso n ṣayẹwo fun wiwa ọna asopọ ninu kaṣe. Ti ọkan ba wa ati pe o n ṣiṣẹ, o pada lẹsẹkẹsẹ si alabara, bibẹẹkọ awọn apa ti wa ni ibori fun wiwa.
  • Awọn faili ti wa ni gba lati awọn ọna asopọ, ti o ba ti ọkan ti wa ni ri.

Awọn Yiyan fun Orin Ẹlẹda

Mo ti nifẹ nigbagbogbo ninu ibeere ti bawo ni ẹnikan ṣe le ṣe iṣiroye iye ti ọpọlọpọ awọn iṣẹ ẹda? Kini idi, fun apẹẹrẹ, eniyan n funni ni awo orin rẹ fun $10? Boya fun $20 tabi $100. Nibo ni algorithm wa? Nigbati, fun apẹẹrẹ, a n sọrọ nipa diẹ ninu awọn ọja ti ara, tabi paapaa ọpọlọpọ awọn iru awọn iṣẹ, lẹhinna a le ni iṣiro iye owo naa ati tẹsiwaju lati iyẹn.

O dara, jẹ ki a sọ pe a tẹtẹ $ 10. Ṣe eyi munadoko pupọ? Jẹ ki a sọ pe Mo tẹtisi awo-orin kan ni ibikan tabi orin kan lati ibẹ ati pinnu lati fi ọpẹ mi han. Ṣugbọn gẹgẹ bi awọn ikunsinu mi ati awọn agbara ti ara mi, $3 ni aja mi. Nitorina kini o yẹ ki a ṣe? O ṣeese Emi kii yoo ṣe ohunkohun, bii ọpọlọpọ eniyan.

Nipa ṣiṣeto iru idiyele ti o wa titi fun iṣẹ ẹda, o kan ni opin ararẹ, idilọwọ nọmba ti o tobi julọ ti eniyan lati firanṣẹ owo kekere si ọ, eyiti lapapọ le jẹ iwunilori diẹ sii ju awọn ti yoo ra ni idiyele ti o ṣeto. O dabi si mi pe ẹda jẹ gangan agbegbe ti awọn ẹbun yẹ ki o ṣe akoso akọkọ. Lati ṣe eyi o nilo:

  • Kọ eniyan lati dupẹ ni ọna yii. Awọn ẹlẹda funrararẹ gbọdọ fihan gbangba pe wọn yoo fẹ lati gba awọn ẹbun, ṣafikun awọn ọna asopọ si awọn ọna isanwo oriṣiriṣi nibi gbogbo, ati bẹbẹ lọ.
  • Awọn ọna ṣiṣe diẹ sii ni a nilo lati rọrun ati mu awọn ilana wọnyi lagbara. Fun apẹẹrẹ, ṣẹda iru oju opo wẹẹbu agbaye nibiti o le ṣetọrẹ fun iṣẹdanu nipa lilo awọn ọna asopọ aṣẹ-lori.

    Jẹ ki a sọ pe ọna asopọ jẹ nkan bi eyi:

    http://someartistsdonationsite.site/category/artist?external-info

    Ti a ba dín rẹ si awọn akọrin, lẹhinna:

    http://someartistsdonationsite.com/music/miyagi?song=blabla

    Oṣere naa nilo lati jẹrisi orukọ apeso rẹ ki o so mọ.

    A n ṣafikun iṣẹ kan fun ṣiṣẹda iru ọna asopọ kan si alabara museria, ati gbogbo awọn iṣẹ akanṣe ti o lo ibi ipamọ le gbe awọn bọtini ẹbun pẹlu awọn ọna asopọ wọnyi lẹgbẹẹ awọn orin lori awọn oju opo wẹẹbu / awọn ohun elo wọn. Awọn olumulo ni aye lati ṣe ẹbun ni iyara ati irọrun. Nipa ti, ọna yii le ṣee lo ni eyikeyi iṣẹ akanṣe ati ẹka ti ẹda, kii ṣe nipasẹ ibi ipamọ nikan.

Kini idi gangan ti o nilo ibi ipamọ orin kan, ati bawo ni o ṣe le kopa ninu rẹ?

  • Ti o ba n ṣiṣẹ lori iṣẹ akanṣe ti o jọmọ orin, tabi gbero lati ṣẹda ọkan, lẹhinna eyi ni ohun ti a pinnu ohun gbogbo fun. O le lo museria lati fipamọ ati gba awọn orin pada, jijẹ sisan ti awọn orin lori ayelujara. Ti o ba jẹ pe, ni akoko kanna, o ni agbara lati gbe soke ki o si mu o kere ju oju-ọna kan ti ara rẹ, lẹhinna eyi yoo jẹ ilowosi ti o dara julọ si idagbasoke nẹtiwọki naa.
  • Boya o ti ṣetan lati mu ipa miiran: ṣe iranlọwọ pẹlu koodu, tabi fọwọsi ati ṣe iwọntunwọnsi ibi ipamọ data, pinpin alaye nipa iṣẹ akanṣe si awọn ọrẹ rẹ, ati bẹbẹ lọ.
  • Boya o fẹran imọran naa ati pe o ṣetan lati ṣe iranlọwọ ni inawo ki gbogbo rẹ wa laaye ati idagbasoke. Awọn apa diẹ sii, awọn orin diẹ sii.
  • Tabi o kan nilo lati wa ati ṣe igbasilẹ orin kan ni aaye kan. O le ṣe eyi ni irọrun, fun apẹẹrẹ, nipasẹ telegram bot.

Ise agbese na wa ni bayi ni ipele ibẹrẹ. Nẹtiwọọki idanwo ti ṣe ifilọlẹ, awọn apa le tun bẹrẹ nigbagbogbo, nilo awọn imudojuiwọn, ati bẹbẹ lọ. Ti ko ba si awọn iṣoro to ṣe pataki lakoko akoko igbelewọn, nẹtiwọọki kanna ni a yipada si ọkan akọkọ.

O le wo alaye nipa ipade lati ita: nọmba awọn orin, aaye ọfẹ, ati bẹbẹ lọ, ni lilo ọna asopọ bi http://node-address/status tabi http://node-address/status?pretty

Awọn olubasọrọ mi:

orisun: www.habr.com

Fi ọrọìwòye kun