Viena - srauto lentelė yra duomenų struktūra, plačiai naudojama kompiuterių tinkluose, duomenų saugojime ir paskirstytose sistemose. Pagrindinė jo projektavimo koncepcija yra centralizuotai valdyti konkrečius duomenų srautų tipus vienoje loginėje ar fizinėje lentelėje, leidžiančią efektyviai apdoroti duomenis ir užklausas. Palyginti su kelių - srauto lentelėmis arba daugialypėmis - lygio indekso struktūromis, vienos - srauto lentelės žymiai pagerina veiklos efektyvumo ir sistemos išteklių panaudojimą konkrečiuose scenarijuose, supaprastinant duomenų organizavimą. Šiame straipsnyje bus aptarti pagrindiniai principai, techninės savybės, tipiškos programos ir optimizavimo kryptys.
Pagrindiniai principai ir struktūriniai ypatybės
Viena - srauto lentelė iš esmės yra standartizuotas saugojimo blokas, skirtas vieno duomenų srautui. Jos loginę struktūrą paprastai sudaro žemėlapis tarp rakto - vertės porų arba srauto identifikatoriaus ir atributo rinkinio. Tinklo srauto valdyme vienoje - srauto lentelėje gali būti naudojama penki - tuple (šaltinio IP, paskirties IP, šaltinio prievadas, paskirties prievadas ir transporto sluoksnio protokolas) kaip unikalų srauto identifikatorių, susiejant srauto statistiką (tokią kaip baitų skaičius, paketų skaičius ir sesijos trukmė). Duomenų bazės sistemoje ji gali būti pavaizduota kaip viena - stulpelių indeksuota lentelė, surūšiuota pagal pirminį raktą, tiesiogiai atvaizduojant unikalų įrašo identifikatorių pagal jo saugojimo vietą.
Fiziškai viena - srauto lentelė gali būti - atminties maišos lentelės arba priešdėlio medis (Trie), nuolatinis saugojimo B+ medžio indeksas arba stulpelio failas. Jo dizainas pabrėžia „vienybė“ - Visi duomenys, priklausantys tam pačiam loginiam srautui, yra centriniai toje pačioje lentelėje, vengiant našumo praradimo, susijusio su Cross - lentele, sujunkite užklausas. Pavyzdžiui, programinėje įrangoje - apibrėžtoje tinklų kūrimo (SDN) architektūroje valdiklis sukuria unikalų srauto įrašą kiekvienam duomenų srautui ir centralizuotai prižiūri šių įrašų atitikimo taisykles ir veiksmų instrukcijas vienoje srauto lentelėje, užtikrindamas realius - laiko paketų persiuntimo sprendimus.
Techniniai pranašumai ir pagrindinės savybės
Pagrindiniai vieno - srauto lentelės pranašumai yra jo efektyvumas ir paprastumas. Kadangi duomenys yra centriniai srauto matmenys, užklausų operacijų laiko sudėtingumas paprastai gali būti kontroliuojamas tarp O (1) (pvz., Maišos lentelės įgyvendinimo) ir O (log n) (pvz., B+ medžio diegimas), kuris yra žymiai geresnis nei O (N) sudėtingumas, reikalingas peržengti kelis rodykles daugialypiuose - srauto stalo scenarijuose. Pavyzdžiui, esant aukštai - greičio tinklo įrangai, viena - srauto lentelė gali pasiekti mikrosekundę - lygio paketų klasifikaciją per aparatinės įrangos pagreitį (pvz., TCAM lustai), tenkinantį milijonų srautų apdorojimo reikalavimus per sekundę.
Antra, supaprastinta vieno - srauto lentelės struktūra sumažina sistemos priežiūros išlaidas. Daugybiniame - srauto lentelės scenarijuje duomenų nuoseklumas tarp skirtingų lentelių (pvz., Cross - lentelės asociacijos atnaujinimai) reikalauja sudėtingų operacijų mechanizmų, kad būtų užtikrinta, o vienas - srauto lentelė išvengia tokių problemų per „vieną- sustabdyti“ valdymą. Be to, jis turi didesnį saugojimo vietos panaudojimą - centralizuota saugykla sumažina nereikalingų indeksų naudojimą, kuris ypač tinka ištekliams - suvaržyti kraštų skaičiavimo mazgai arba IOT šliuzo įrenginiai.
Lankstumas yra dar viena svarbi savybė. Viena - srauto lentelė gali prisitaikyti prie įvairių poreikių, dinamiškai išplėsdami laukus (pvz., Pridedant QoS prioritetą ir saugos politikos žymes), nereikia pertvarkyti bendros duomenų architektūros. Pvz., 5G pagrindinio tinklo vartotojo plokštumos funkcijoje (UPF) vienkartinės - srauto lentelės gali lanksčiai koreguoti atitikimo domeno ir vykdymo veiksmus, susijusius su srauto lentelės įrašų, pagrįstų paslaugų tipais (EMBB, URLLC), įgalinant diferencijuotą srauto planavimą.
Tipiški taikymo scenarijai
Vienos - srauto lentelės vaidina pagrindinį vaidmenį keliuose techniniuose laukuose. Tinklo srauto valdyme SDN jungikliai priklauso nuo pavienių - srauto lentelių, kad būtų galima įgyvendinti tikslų paketų persiuntimo valdymą: Kai paketas atvyksta, valdiklis naudoja srauto lentelę, kad atitiktų loginį srautą, kuriam jis priklauso, ir pateikia veiksmo instrukcijas, tokias kaip persiuntimas, numesimas ar modifikavimas paketų antraštėje. Tyrimai parodė, kad „OpenFlow“ protokolas, pagrįstas vienkartiniu - srauto lentelėmis, gali sutrumpinti tinklo konfigūracijos laiką nuo tradicinių maršrutizatorių iki milisekundžių.
Didelėse duomenų apdorojime pavieniai - srauto lentelės naudojamos būsenos valdymui realiame - laiko srauto skaičiavimo sistemose, tokiose kaip „Apache Flink“. Kiekvienas duomenų srautas (pvz., Vartotojo paspaudimo įvykio srautas) atitinka vieną - srauto lentelę, kurioje per lango laikotarpį saugomi tarpiniai rezultatai (pvz., Bendrosios vertės ir deduplikacijos skaičius), palaikant žemus - latentinės būsenos užklausas ir atnaujinimus. Šis dizainas suteikia galimybę srauto apdorojimo darbams greitai reaguoti į sprogstamą srautą, tuo pačiu užtikrinant tiksliai - tikslumą vieną kartą semantiką.
Paskirstytos saugojimo sistemos taip pat yra naudingos vienkartinėms - srauto lentelėms. Pavyzdžiui, „Ceph Object Storage“ naudoja vieną - srauto lentelę, kad palaikytų žemėlapius tarp PGS (vietos išdėstymo grupių) ir OSD (objektų saugojimo įrenginiai), užtikrinant efektyvią duomenų išdėstymo politikos užklausą. Key - vertės atsargos, tokios kaip „Redis“ svertas Single - srauto lentelės, kad greitai surastumėte „Hotspot“ duomenis, saugodami skaitymo ir rašymo latenciją iki sub - milisekundžių.
Iššūkių ir optimizavimo kryptys
Nepaisant reikšmingų jų pranašumų, vienos - srauto lentelės vis dar susiduria su iššūkiais dideliais - mastelio scenarijais. Pirma, yra talpos kliūtis: Kai srautų skaičius viršija milijonus, {- atminties singlas - srauto lentelės (tokios kaip maišos lentelės) didėja, o nuolatinis vienas {{5- srauto lentelės (tokios kaip B+ medžiai) gali keisti nuo disko, o latentinis lavinimas, kuris gali turėti įtakos našumui. Antra, yra dinaminių atnaujinimų sudėtingumas: aukštas - dažnių papildymas ir srauto lentelės įrašų (pvz., Trumpas -} termino ryšio srautas, kuris svyruoja esant sub - antrajam lygiui), gali padidinti maišos konfliktus arba dažnas medžių pertvarkymo, redukuojančios sistemos stortorgenzijos.
Norėdami išspręsti šias problemas, tyrėjai pasiūlė įvairius optimizavimo sprendimus. Kalbant apie talpos išplėtimą, sluoksniuotas singlas - srautų lentelės dizainas (pvz. Dinaminiuose atnaujinimo scenarijuose papildomi maišos algoritmai (pvz. Be to, aparatinės įrangos pagreičio technologijos (pvz., FPGA įdiegtos srautų lentelės suderinimo varikliai) dar labiau pagerina vieno - srauto lentelių apdorojimo pralaidumą per lygiagrečią skaičiavimą.
Išvada
Kaip efektyvus valdymo įrankis, orientuotas į vieną duomenų srautą, singlas - srauto lentelė rodo nepakeičiamą vertę tinklo ryšiuose, duomenų apdorojime ir paskirstytoje saugykloje. Per centralizuotą saugojimą ir supaprastintą konstrukcinį dizainą jis pasiekia optimalų pusiausvyrą tarp realaus - laiko našumo, išteklių panaudojimo ir priežiūros išlaidų. Esant debesų kompiuterijos, daiktų interneto ir 5G technologijų raidai, singlas - srauto lentelė ir toliau vystysis didesnio masto, mažesnio latencijos ir didesnio lankstumo link, taps pagrindine technologija, palaikančia kitą - generavimo skaitmeninę infrastruktūrą. Ateityje AI - intelektualios srauto lentelės numatymo (pvz., Mašinų mokymasis {-, pagrįstas išankstiniu srauto modeliu) ir naujų laikmenų taikymo (pvz., Ne {{10-}}}}}}}-}-}--}------ {9-.
