Wat de O3-kant betreft, introduceerden we een pluggable async I/O-laag (AIO) voor alle besturingssystemen, een op de console gebaseerde S3-beheerervaring, op AWS afgestemd gedrag voor delete-markers en versiebeheer, en een geherstructureerd S3-objectmodel met sterkere bucketversleuteling, synchronisatietools en IAM/S3-testdekking.
Wat het protocol betreft, hebben we verzonden Filecoin PDP-opslag, de streamingmodus verwijderd, de coderingspaden voor metagegevens op O3 afgestemd, transacties in batches op zowel de node als de SDK gegroepeerd en een PDP-edge-case gepatcht die de aggregatie zou kunnen vertragen.
Hier is de volledige update.
Over Akave O3
Akave O3 is onze S3-compatibele API voor objectopslag die bovenop de gedecentraliseerde gegevenslaag van Akave zit. Bij alles wat we verzenden, draait het nog steeds om drie basisprincipes:
„Beveiliging” — „Prestaties” — „Bedienbaarheid”
November heeft ze alle drie gestimuleerd: standaard asynchrone I/O, S3-correcte semantiek en verifieerbaarheid met protocolondersteuning.
Beveiliging waarop u kunt vertrouwen
Bucket-versleuteling en sleutelverwerking
- Migratie van versleuteling op bucketniveau
- Migratielogica toegevoegd om ervoor te zorgen dat buckets standaard AES256C-versleuteling gebruiken.
- Uploadpaden valideren nu de versleutelingsstatus van de bucket voordat ze verder gaan.
- Uitgebreide tests voor:
- Succesvolle verwijdering van de versleuteling.
- „Geen documenten” koffers.
- Foutscenario's voor databases en repo's.
- S3-coderingsstroomrefactor
- De paden voor het genereren van S3-coderingssleutels zijn vereenvoudigd en gedocumenteerd voor onderhoudbaarheid.
- Bij de verwerking van versleuteling is nu een duidelijker onderscheid gemaakt tussen bucketbeleid, metagegevens van objecten en onderliggende IPC/PDP-opslag.
Verharding van IAM en authenticatie
- De dekking van de IAM-repository en -services is enorm uitgebreid:
- Handtekeningverificatie, SHA256-validatie van inhoud en validatie van vooraf ondertekende aanvragen.
- Repository-tests hebben betrekking op:
- Sleutel aanmaken/lijst/verwijderen met paden die de gebruiker niet heeft gevonden, sleutellimiet en DB-foutpaden.
- Krijg toegang tot sleutelupdates met ontbrekende parameters, ongeldige statussen en DB-fouten.
- Aanmaken en ophalen van IAM-sleutels, inclusief inactieve sleutelverwerking.
- IAM-contexthelpers (ExtractAccountId, ExtractUserName) zijn nu getest op zowel succes- als faalpaden.
- Sleutelgeneratie (GenerateAccessKey, GenerateSecretKey) getest op validiteit, uniciteit en tekenbeperkingen.
- Validatie van beleidsdocumenten (ValidatePolicyDocument) biedt nu een brede testdekking voor zowel geldige als falende IAM-polissen.
Uitlijning van metagegevens en protocolversleuteling
- Op de protocollaag (Akave v0.4.0):
- Het pad voor het afleiden van metagegevenscoderingssleutels is gewijzigd, waardoor het in lijn is gebracht met het versleutelingswerk voor O3/SDK-metagegevens.
- CLI-vlaggen regelen de versleuteling van metagegevens, en weergavemethoden kunnen nu worden ontcijferd vanuit de versleutelde status zonder afhankelijk te zijn van namen in platte tekst.
- Dubbele coderingspaden tijdens het uploaden zijn verwijderd.
De beveiliging wordt nu niet alleen op het API-oppervlak afgedwongen, maar ook van begin tot eind via IAM, bucketversleuteling en de onderliggende opslag met PDP-ondersteuning.
Prestaties en stabiliteit
Inplugbare asynchrone I/O op verschillende besturingssystemen (O3 v1.4.0/v1.4.1)
We hebben de I/O-stack van O3 omgezet in een configureerbaar subsysteem:
- AIO-backends via aiomode:
- std (standaard), posix, uring, dispatch en iocp.
- std (standaard), posix, uring, dispatch en iocp.
- io_uring-bedieningselementen:
- aioentries/RingEntities om de ringmaat en de gelijktijdigheid af te stemmen.
- Diagnostische hulpmiddelen (urw_is_inited, urw_entries, urw_sq_space_left) voor inzicht in het ringgebruik.
- Netwerk AIO:
- Luisteraars met AIO-ondersteuning en NetBackend plus een initiaal uring_net backend voor asynchrone verbindingen op Linux.
- Gedeelde TCP-tuning-helpers voor voorspelbaarder verbindingsgedrag.
Het resultaat is een consistent asynchroon pad tussen schijf- en netwerk-I/O, waarbij Linux waar beschikbaar gebruik kan maken van io_uring.
Uploads, streaming en IPC-downloads
- MPU-pijplijn (v1.4.0)
- Uploads in meerdere delen zijn overgezet naar een OrderedPipe-implementatie met betere vergrendeling, volgorde van onderdelen en foutafhandeling.
- Gestabiliseerde MPU-afsluitpaden (herstel van „bestand dat al is gesloten”/„" slechte FD "” -gevallen).”
- Uitgebreide checksum-ondersteuning: SHA1, SHA256, CRC32, CRC32C, CRC64, plus duidelijkere fouten met ongeldige inhoudslengte.
- IPC-downloads in stukjes (v1.4.2)
- Nieuw IPCchUnkedFileDownload-pad met:
- Verwerking van brokken besteld.
- Batching en nieuwe pogingen per chunkgroep.
- Verbeterde logboekregistratie rond chunkbereiken en IPC-gedrag.
- Dit maakt grote downloads met IPC-ondersteuning robuuster en beter geschikt voor omgevingen met hoge latentie of hoge fouten.
- Nieuw IPCchUnkedFileDownload-pad met:
- Besturing van de downloadmodus (v1.4.1)
- AKAVE_DOWNLOAD_MODE maakt een omgevingsgestuurde selectie van downloadstrategieën mogelijk (PDP-first, standaard, enz.).
- Gecentraliseerde IPCDownloadMode met duidelijke terugvallogica en betere waarneembaarheid.
Kernservices, bestandsbeschrijvingen en taken
- FileManager- en FD-statistieken
- NewFile/NewFileFromFD verenigen de verwerking van bestandsdescriptoren.
- GetRusAgenoFile verzamelt FD-statistieken op Linux en pusht deze naar logboeken voor operationele zichtbaarheid.
- Taakplanning en cacheopruiming
- Taken met TTL- en cachevolumelimiet zijn opnieuw ingeschakeld met een gecorrigeerde planning ingeschakeld Cache-interval in plaats van BucketsInterval.
- Cachewalkers synchroniseren nu met elkaar verwijderen van vergrendelingsbestanden + bestandsverwerking in één enkele doorgang voor betere I/O-efficiëntie.
- Hot-path-optimalisaties
- Revisie/versie regexes verplaatst naar gecompileerde expressies op pakketniveau, waardoor herhaalde Regexp.compile in hot paths wordt geëlimineerd.
- AIO-bindingen gebouwd met striktere C-vlaggen (-Wall, -Wextra, -v) om inefficiënties en UB vroegtijdig op te sporen.
- Nieuwe indexen in de objectenverzameling (bucket, sleutel, verwijderingsstatus, laatste) versnellen het opzoeken van objecten en het verwijderen van stromen.
Functies die klaar zijn voor ondernemingen
S3-correcte verwijderingsmarkeringen, versiebeheer en tagging
- Markeringen verwijderen en zacht verwijderen (v1.4.0/v1.4.1)
- DeleteObject gebruikt nu IsDeleted + IsLatest voor zachte verwijderingen met behoud van de volledige versiegeschiedenis.
- GetObject zonder versionID sluit verwijdermarkeringen en retouren op de juiste manier uit 404 voor verwijderde objecten, afgestemd op AWS S3.
- HeadObject, CopyObject en SelectObjectContent verspreiden x-amz-delete-marker-headers zoals verwacht.
- DeleteMarkerEntry XML-tagging aangepast aan de S3-specificatie.
- Synchronisatiebewerkingen slaan pure verwijderingsmarkeringen zonder onderliggende gegevens over.
- Bestaan en tagging van objecten (v1.4.2)
- De nieuwe ObjectExist-methode in HttpContext centraliseert bestaanscontroles.
- Zet nu ObjectTagging, GetObjectTagging en DeleteObjectTagging:
- Valideer het bestaan van een object voordat u iets doet.
- Terugkeer Zo'n sleutel bestaat niet voor ontbrekende objecten in plaats van vage fouten.
- Tagging-tests hebben nu betrekking op:
- Onbestaande objecten.
- Sessie/tijdelijke objecten.
- Foutpaden voor metaservices met het juiste InternalError-gedrag.
S3-beheer op basis van consoles (voortzetting van Prickly Pear)
Het werk dat begon in de Prickly Pear GUI van oktober is in november uitgegroeid tot een echte console-ervaring:
- Inloggegevens worden automatisch aangemaakt bij de eerste aanmelding via SSO (Google en GitHub), waarbij het S3-eindpunt en de toegangsgegevens van de gebruiker worden gepubliceerd en klaar zijn voor gebruik.
- De console ondersteunt het aanmaken van meerdere onafhankelijke referentiesets, zodat teams afdelingen in silo's kunnen plaatsen of specifieke buckets rechtstreeks van elkaar kunnen isoleren via de GUI.
Nu beschikbaar: www.akave.com/free-trial
Automatische upgrades en refactor van het S3-model configureren
Refactor van het S3-objectmodel (v1.4.2)
- Sdk.filemeta is vervangen door Entity.ObjectInfo/Entity.ObjectInfoV2, aliasing van de metatypen van Sdk.ipc-bestanden.
- Verouderde metagegevens (bijvoorbeeld CommitedAt, rootCID) zijn verwijderd uit de objectinformatie.
- Objecten scheiden nu velden in:
- Compatibiliteit (S3-gericht oppervlak).
- Metagegevens van de inhoud (grootte, checksums, versleuteling, enz.).
- Interne tracking (IPC/PDP-paden, interne ID's, enz.).
- Een toegewijde Stukken van het object type legt brokmetagegevens expliciet vast voor een betere controle over IPC-downloads en -reparaties.
- Imports en mocks van de S3-service zijn verplaatst van het akave-pakket naar het opslag pakket.
- Helper DownloadWithMode is hernoemd naar Met downloadmodus voor duidelijkheid en consistentie.
Deze wijzigingen zijn ingrijpend voor iedereen die rechtstreeks gebruik maakt van interne typen, maar ze maken het objectmodel in de toekomst schoner en beter onderhoudbaar.
Configuratie en hulpmiddelen
- HTTP-configuratie gestandaardiseerd achter Config.httpConfig voor alle services en tests.
- Verschillende oudere S3/IAM/KMS/webapps en -routes zijn verwijderd om het aantal dode code te verminderen en de aandacht te richten op het nieuwe consoleoppervlak.
- git-gen-next-version.sh is vereenvoudigd voor een duidelijkere logica voor versiebump.
Operationele verbeteringen in Docker/Compose
- AIO- en downloadmodus zijn opgedoken in Compose
- compose-rc.yml en setup.sh tonen nu:
- AKAVE_DOWNLOAD_MODE
- AIO-standaardinstellingen (aiomode, aioentries/ringentiteiten)
- compose-rc.yml en setup.sh tonen nu:
- Liburing installatie- en basisimage
- Dockerfile en install-liburing.sh bijgewerkt om te bouwen en te installeren libureren automatisch bij aiomode=uring op Linux.
- Dockerfile en install-liburing.sh bijgewerkt om te bouwen en te installeren libureren automatisch bij aiomode=uring op Linux.
- Gewone standaardwaarden en limieten
- Limieten voor bestandsbeschrijvingen en taakintervallen die zijn afgestemd op implementaties in de praktijk.
- Verouderde debuglogboeken en ongebruikte middleware/routedefinities zijn verwijderd voor een schonere runtime.
Dit maakt het eenvoudiger om O3 te implementeren met asynchrone I/O ingeschakeld en foutopsporingsgedrag in de productie.
Gereedschap voor operators
- Verbeteringen voor S3-synchronisatie
- Nieuwe --bucket-vlag voor synchroniseer een enkele bucket in plaats van de volledige naamruimte.
- De context van de bucket wordt verspreid via de uitvoering van opdrachten met behulp van een gedeelde contextsleutel, zodat gefilterde synchronisaties correct worden uitgevoerd.
- Hulpmiddelen voor het versleutelen van emmers
- Synchronisatie- en coderingslogica geïntegreerd, zodat buckets worden gevalideerd/gemigreerd naar de verwachte coderingsstatus als onderdeel van normale bewerkingen.
- Verwijder nu BucketEncryption:
- Maakt onderscheid tussen „geen documenten” en echte fouten.
- Gedraagt zich correct in droge scenario's.
- Doet zinvolle fouten aan het licht komen in de backing-datastore.
- Synchronisatie- en coderingslogica geïntegreerd, zodat buckets worden gevalideerd/gemigreerd naar de verwachte coderingsstatus als onderdeel van normale bewerkingen.
- S3- en IAM-servicetestharnassen
- Uitgebreide tests voor cachegedrag in de repository, hulpprogramma's voor authenticatie en bindingsfouten van handlers.
- Speciale testbestanden zorgen ervoor dat de foutreacties van de handler stabiel en voorspelbaar zijn.
Operators krijgen een beter voorspelbaar systeem met betere tools om te begrijpen waar dingen falen en waarom.
Upgrades van protocollagen
Akave v0.4.0 — Verwijdering van PDP, batching en streaming
Een belangrijke protocolrelease waarin de node/SDK van Akave wordt afgestemd op de richting van O3:
- Upgrade en compatibiliteit
- Niet compatibel met v0.3.0 of v0.3.1; node en SDK moeten samen worden verplaatst.
- Niet compatibel met v0.3.0 of v0.3.1; node en SDK moeten samen worden verplaatst.
- Veranderingen doorbreken
- Streaming-modus verwijderd in CLI, SDK en node (cmd/akavecli, stresstools, API).
- De afleiding van de coderingssleutel voor metagegevens is gewijzigd en komt overeen met het SDK/O3-pad voor ontcijferbare lijsten.
- Filecoin PDP-ondersteuning
- Node verzamelt nu periodiek gegevens en stuurt deze naar een Filecoin PDP-provider.
- Gegevens kunnen via de SDK rechtstreeks van de PDP-provider worden gedownload.
- PDP-contracten, datasets, stuklijsten, EIP-712-handtekeningen en betalingen worden overgemaakt naar het knooppunt.
- Prestaties en batchverwerking
- Knooppuntzijde: batchgewijze FillChunkBlock-verwerking, gerandomiseerde uploadpermutaties en IPC-batch-RPC-paden.
- SDK-kant: gegroepeerde AddFileChunks en vereenvoudigde EOF-verwerking voor efficiëntere uploads.
- Bugfixes en DX
- CLI retourneert nu exitcodes die niet gelijk zijn aan nul voor fouten.
- Problemen met het opnieuw aanmaken van bestanden opgelost na verwijdering.
- Verouderde streaming- en statesync-paden verwijderd.
- De CI-pijplijn voert PDP-rooktesten uit vóór SDK-tests om regressies vroegtijdig op te sporen.
Akave v0.4.1 — stabiliteit van de PDP-aggregatie
Een kleine maar belangrijke patch bovenop 0.4.0:
- Lost een bug op waarbij een PDP-stukbestand twee keer kon worden gesloten:
- HTTP-client sluit automatisch de hoofdtekst van het verzoek en expliciet sluiten in de PDP-code.
- Dit zou de aggregatie voor een geldig stuk kunnen afbreken en de aggregatielus kunnen stoppen.
- Oplossing: verpak het bestand in een nopje dichterbij voor PDP-uploads, zodat de aggregatie kan worden uitgevoerd.
Als u PDP-aggregatie in productie uitvoert, is v0.4.1 de verwachte basislijn.
Samenvatting van de release (november)
O3 v1.4.0
Een fundamentele asynchrone I/O- en console-release.
Belangrijkste hoogtepunten:
- Pluggable AIO (std, posix, uring) met instelbare ringingangen.
- MPU-revisie op OrderedPipe.
- SSE AES-256 met toetsen per bucket.
- Nieuwe authenticatie-app en backendgestuurde console-browsing.
- Uitgebreide checksum-ondersteuning en sterkere gelijktijdigheidscontroles.
O3 v1.4.1
Een verfijning van de semantiek van console, AIO en S3.
Belangrijkste hoogtepunten:
- Nieuwe op consoles gebaseerde S3-beheerervaring.
- AIO uitgebreid naar dispatch (macOS) en iocp (Windows); uring_net voor netwerk-I/O.
- S3-nauwkeurige verwijderingsmarkeringen en softdelete-gedrag.
- AKAVE_DOWNLOAD_MODE en gestandaardiseerde HTTPConfig.
- TTL/cachetaken opnieuw ingeschakeld met een vaste planning.
O3 v1.4.2
Een intern S3-model en betrouwbaarheidsrelease.
Belangrijkste hoogtepunten:
- sdk.FileMeta vervangen door ObjectInfo/ObjectInfoV2 en ObjectChunks.
- Gecentraliseerde controle van de aanwezigheid van objecten en het taggen van semantiek met NoSuchKey-gedrag.
- Migratie van bucketversleuteling naar AES256C en verbeterde synchronisatietools.
- Grote testuitbreiding voor IAM, S3 en tagging.
- Met DownloadMode-helper en import van opslagpakketten voor S3-services.
Akave v0.4.0
Protocollaag uitgelijnd met PDP- en O3-metagegevens.
Belangrijkste hoogtepunten:
- Niet compatibel met v0.3.x; streaming verwijderd.
- Bijgewerkt afleidingspad voor versleuteling van metagegevens.
- Filecoin PDP-aggregatie en -opvraging.
- Blok-/chunk-transacties in batches op node en SDK.
- CLI- en CI-verbeteringen.
Akave v0.4.1
Een gerichte PDP-bugfix-release.
Belangrijkste hoogtepunt:
- Dubbele sluiting van PDP-stukbestanden opgelost, waarbij aggregatielussen zijn gedeblokkeerd.
Wat is de volgende stap
- Console als primair besturingsvlak
- IAM-bewust referentiebeheer, project-/tenantscoping en rijkere S3-beleidsweergaven.
- PDP-datasets, stukken en levenscyclusstatus rechtstreeks in de gebruikersinterface weergeven.
- Gereedschap voor PDP-operators
- Herstel werkstromen die PDP-signalen koppelen aan acties op objectniveau.
- Dashboards voor datasets, stukken en verificatiestatus.
- Hosted O3 ondersteund door Akave
- Een gehost O3-aanbod voor teams die S3+-bewijzen willen zonder de protocolstack uit te voeren.
- Levenscyclus- en gelaagd beleid waarbij gegevens worden overgedragen tussen warm/warm/koud, ondersteund door cryptografische bewijzen.
FAQ
1. Wat is de grootste verbetering in de O3-updates van november?
De introductie van asynchrone I/O (io_uring, POSIX AIO, dispatch, IOCP), waardoor consistente, krachtige paden in Linux, MacOS en Windows mogelijk zijn.
2. Hoe verbetert de PDP-integratie de duurzaamheid?
Filecoin PDP voegt cryptografisch bewijs toe dat opgeslagen gegevens bestaan, opvraagbaar zijn en niet zijn gewijzigd — onafhankelijk van Akave-knooppunten.
3. Komt O3 nu overeen met de semantiek van AWS S3?
Ja, verwijder markeringen, versiebeheer, tagging en Zo'n sleutel bestaat niet gedrag komt nu overeen met AWS S3.
4. Wordt de streamingmodus nog steeds ondersteund?
Nee, de streamingmodus is volledig verwijderd in Akave v0.4.x voor eenvoud, beveiliging en PDP-uitlijning.
5. Moeten gebruikers upgraden?
Ja, Akave 0.4.0+ is niet compatibel met 0.3.x en vereist gecoördineerde node- en SDK-upgrades.
Neem contact met ons op
Akave Cloud is een gedistribueerde en schaalbare objectopslag op bedrijfsniveau, ontworpen voor grootschalige datasets in AI, analyses en bedrijfspijplijnen. Het biedt Compatibiliteit met S3-objecten, cryptografische verifieerbaarheid, onveranderlijke audittrails en SDK's voor agenten; allemaal zonder kosten voor uitstappen en zonder vendor lock-in, waardoor tot 80% op opslagkosten wordt bespaard in vergelijking met hyperscalers.
Akave Cloud werkt samen met een breed ecosysteem van partners die honderden petabytes aan capaciteit beheren, waardoor implementaties in meerdere landen mogelijk zijn en een soevereine data-infrastructuur wordt aangedreven. De stack is ook vooraf gekwalificeerd voor belangrijke bedrijfsapps zoals Snowflake en andere.

