Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
RDBSS biedt een bufferbeheer, een mechanisme voor gedistribueerde cacheherentie in combinatie met de verschillende mini-omleidingsservers van het netwerk. Deze service wordt ingekapseld in de bufferbeheer in RDBSS die aanvragen verwerkt om de bufferstatus te wijzigen. Het bufferingbeheer in RDBSS houdt bij en initieert acties voor alle wijzigingsbufferstaat-aanvragen die zijn gegenereerd door de verschillende netwerk-miniomleidingen en door RDBSS.
Er zijn verschillende algemene onderdelen in de implementatie van cacheherentie in een typische mini-omleidingsfunctie voor netwerken:
Wijzigingen in het maken en openen van bestandsroutines.
In dit pad wordt het type bufferaanvraag bepaald en wordt de juiste aanvraag naar de server verzonden. Bij terugkeer van de mini-omleidingsfunctie van het netwerk en mogelijk ook de server, wordt de bufferstatus gekoppeld aan de FCB bijgewerkt op basis van het resultaat van de aanroep tot maken of openen.
Aanpassingen om een indicatiecode te ontvangen voor het afhandelen van statusmeldingen over wijzigingsbuffering van de server.
Als een dergelijke aanvraag wordt gedetecteerd, moet het lokale mechanisme voor het coördineren van de bufferstatussen worden geactiveerd.
Een mechanisme voor het wijzigen van de bufferstatus die wordt geïmplementeerd als onderdeel van RDBSS. Elke wijzigingsbufferstatusaanvraag moet de SRV_OPEN structuur identificeren waarop de aanvraag van toepassing is.
De hoeveelheid rekenkracht die nodig is om de SRV_OPEN structuur te identificeren, is afhankelijk van het protocol en de details van de mini-redirector van het netwerk. In het SMB-protocol bieden opportunistische vergrendelingen (oplocks) de benodigde infrastructuur voor cacheherentie. In de implementatie van het SMB-protocol in Windows worden de multiplex-ID-API's van RDBSS gebruikt. De server haalt de multiplex-id op die wordt gebruikt voor het identificeren van een bestand dat op de server is geopend. De multiplex-id's zijn relatief ten opzichte van de NET_ROOT (share) waarop ze worden geopend. Daarom wordt elke wijzigingsbufferstatusaanvraag geïdentificeerd door twee sleutels: de NetRootKey en de SrvOpenKey, die respectievelijk moeten worden vertaald naar de juiste NET_ROOT en SRV_OPEN structuur. De RDBSS biedt deze service om een betere integratie te bieden met het mechanisme voor het verkrijgen/vrijgeven van resources en om duplicatie van deze inspanning in de verschillende netwerk mini-omleidingsors te voorkomen.
Er zijn twee routines beschikbaar in RDBSS voor het aangeven van wijzigingen in bufferstatussen in SRV_OPEN structuren:
RxIndicateChangeOfBufferingState voor het registreren van het verzoek
RxIndicateChangeOfBufferingStateForSrvOpen voor het koppelen van een SRV_OPEN structuur aan de sleutel
Houd er rekening mee dat de belangrijkste koppelingen niet ongedaan kunnen worden gemaakt en de levensduur van de gekoppelde SRV_OPEN structuur zullen duren.
Netwerk mini-redirectors die een hulpmechanisme nodig hebben voor het tot stand brengen van de toewijzing van multiplex-id's aan de SRV_OPEN structuur kunnen RxIndicateChangeOfBufferingState gebruiken, terwijl de netwerk mini-redirectors waarvoor deze hulp niet is vereist RxIndicateChangeOfBufferingStateForSrvOpen kunnen gebruiken.
Het bufferbeheer in RDBSS verwerkt deze aanvragen in verschillende fasen. Het onderhoudt de aanvragen die zijn ontvangen van de verschillende onderliggende netwerk mini-redirectors in een van de lijsten.
De Dispatcher-lijst bevat alle aanvragen waarvoor de juiste koppeling aan een SRV_OPEN-structuur nog niet is vastgesteld.
De lijst met handlers bevat alle aanvragen waarvoor de juiste toewijzing tot stand is gebracht, maar die nog niet zijn verwerkt.
De LastChanceHandlerList bevat alle aanvragen waarvoor de initiële verwerking is mislukt. Dit gebeurt meestal wanneer de FCB is verkregen in een gedeelde modus op het moment dat de aanvraag voor de wijzigingsbufferstatus is ontvangen. In dergelijke gevallen kan de aanvraag voor oplock-onderbreking alleen worden verwerkt door een uitgestelde werkthread.
De verwerking van de aanvraag voor wijziging van de bufferstatus in een netwerk-mini-omleidingsstuurprogramma is verweven met het FCB-acquisitie- en releaseprotocol. Dit helpt om kortere doorlooptijden te garanderen.
RDBSS biedt de volgende routines voor het beheren van bufferstatussen die kunnen worden gebruikt door mini-omleidingsstuurprogramma's van het netwerk:
Routine | Beschrijving |
---|---|
Deze routine wordt aangeroepen om een aanvraag voor het wijzigen van bufferstatussen te verwerken. |
|
Deze routine wordt aangeroepen om een aanvraag voor het wijzigen van bufferstatussen (bijvoorbeeld een oplock-onderbrekingsindicatie) te registreren voor latere verwerking. |
|
Deze routine wordt aangeroepen om een aanvraag voor het wijzigen van bufferstatussen (bijvoorbeeld een oplock-onderbrekingsindicatie) te registreren voor latere verwerking. |