Synkronisering (datavetenskap)
Synkronisering (från annan grekisk σύγχρονος - simultan) betyder inom datavetenskap en av: processsynkronisering , eller datasynkronisering, eller dataöverföringssynkroniseringsprocess .
Processsynkronisering är en mekanism som gör att du kan säkerställa integriteten hos en resurs (fil, data i minnet) när den används av flera processer eller trådar i slumpmässig ordning. Semaforer , mutexer och kritiska sektioner användsför att synkronisera processer och trådar . Ett alternativ till synkronisering är aktörsmodellen eller transaktionsminnet . [ett]
Datasynkronisering är eliminering av skillnader mellan två kopior av data. Det antas att tidigare dessa kopior var desamma, och sedan ändrades en av dem, eller båda, oberoende av varandra.
Hur data synkroniseras beror på ytterligare antaganden som görs. Huvudproblemet här är att oberoende gjorda ändringar kan vara inkompatibla med varandra (den så kallade "redigera konflikten"), och även teoretiskt finns det inget generellt sätt att lösa sådana situationer.
Det finns dock ett antal privata metoder som är tillämpliga i vissa fall:
- Det enklaste sättet: det antas att ändringar endast gjordes i en av kopiorna - den "fungerande" - och den andra kopian skrivs helt enkelt över med dess innehåll. De flesta synkroniseringsapplikationer implementerar denna metod; på grund av att ändringarna är oåterkalleliga, får användaren välja vilken kopia som ska betraktas som "master".
- Om data är en uppsättning oberoende poster (det vill säga vilken kombination av poster som helst är korrekt - det här är till exempel en telefonbok), så kan du helt enkelt kombinera uppsättningar av poster . Detta eliminerar risken för att förlora information, men för att ta bort en post från setet måste denna metod kombineras med den första.
- Om uppsättningarna synkroniseras upprepade gånger kan du automatiskt ange ytterligare serviceinformation i dem : datum och tid för senaste ändring av posten, anteckningar om raderade poster (raderas efter nästa synkronisering eller efter tillräckligt lång tid) etc. . Detta tillvägagångssätt används till exempel i Outlook .
- Hantera redigeringskonflikter : automatiskt (om möjligt), annars manuellt. Denna mest allmänna metod används endast om ovanstående förenklade metoder inte är tillåtna - till exempel i versionskontrollsystem . Således deklarerar CVS , när två oberoende ändringar upptäcks, en "konflikt" och antingen (i enkla fall) löser den automatiskt eller låter användaren lösa den manuellt. I dessa fall undviks helt enkelt konflikter – till exempel genom fördelning av kompetensområden.
En av mekanismerna för datasynkronisering är replikering , som i synnerhet används för att synkronisera innehållet i databaser.
Datasynkronisering är den process genom vilken mottagaren synkroniserar med sändaren under överföringen av digitala data.
Anteckningar
- ↑ Lås, skådespelare och stm i bilder ( 15 maj 2013). Datum för åtkomst: 19 februari 2017. Arkiverad från originalet 24 januari 2017.
Litteratur