Skip to main content

Τι είναι το θύμα αδιεξόδου;

Ένα θύμα αδιεξόδου είναι χρήστης του υπολογιστή, ενεργώντας ως πελάτης συνδεδεμένος σε έναν διακομιστή, του οποίου η σύνδεση ο κεντρικός υπολογιστής του διακομιστή επέλεξε να τερματίσει για να επιλύσει ένα αδιέξοδο.Αυτός ο τύπος αδιεξόδου προκύπτει συχνά όταν δύο διαφορετικές διαδικασίες προσπαθούν να χρησιμοποιήσουν τους ίδιους πόρους, γεγονός που προκαλεί την κλειδαριά και των δύο διαδικασιών.Προκειμένου να επιλυθεί αυτό το ζήτημα, πολλά συστήματα βάσης δεδομένων διακομιστή μπορούν να ανιχνεύσουν πότε συμβαίνει ένα αδιέξοδο και στη συνέχεια να επιλέξει να τερματίσει τη σύνδεση μιας από τις δύο διαδικασίες.Ένα θύμα αδιεξόδου μπορεί να επιλεγεί αυθαίρετα από το πρόγραμμα, αν και ο χρήστης επιλέγεται συνήθως ως αυτός που μπορεί εύκολα να επανασυνδεθεί στο σύστημα.

Ο όρος "θύμα αδιεξόδου" χρησιμοποιείται συνήθως στο μήνυμα σφάλματος ή εξαίρεσης που εμφανίζεται από το σύστημαστον χρήστη όταν τερματίζεται η σύνδεσή του.Αυτό το σφάλμα εμφανίζεται σε μια κατάσταση που συνήθως αναφέρεται ως αδιέξοδο.Γενικά, ένα αδιέξοδο συμβαίνει όταν δύο χρήστες που συνδέονται με έναν διακομιστή προσπαθούν να έχουν πρόσβαση στους ίδιους πόρους με τρόπο που δημιουργεί μια κλειδαριά στο σύστημα.Για παράδειγμα, εάν ο χρήστης Α χρησιμοποιεί τον πόρο 1 και πρέπει επίσης να χρησιμοποιήσει τον πόρο 2, ενώ ο χρήστης Β χρησιμοποιεί τον πόρο 2 και πρέπει να χρησιμοποιήσει τον πόρο 1, καθώς και ένα αδιέξοδο εμφανίζεται, αφού κανένας χρήστης δεν μπορεί να ολοκληρώσει τη διαδικασία του.

inΑυτό το παράδειγμα, ένας από τους δύο χρήστες θα επιλεγεί από το σύστημα ως θύμα αδιεξόδου και η σύνδεσή του με τον διακομιστή θα τερματιστεί.Μόλις συμβεί αυτό, ο άλλος χρήστης μπορεί να ολοκληρώσει τη διαδικασία του, τερματίζοντας το αδιέξοδο και το θύμα αδιέξοδο μπορεί να επανασυνδεθεί στο διακομιστή.Τα περισσότερα προγράμματα βάσης δεδομένων διακομιστή σχεδιάζονται με ανίχνευση αδιέξοδο, η οποία συνήθως ανιχνεύει ένα αδιέξοδο μετά από ένα συγκεκριμένο χρονικό διάστημα.Παρόλο που ένα αδιέξοδο δεν είναι απαραιτήτως ένα σημαντικό πρόβλημα, μπορεί να είναι μια ενόχληση για τους χρήστες, ειδικά εκείνους που επιλέγονται ως θύμα αδιεξόδου, και υποδεικνύει ένα ή περισσότερα λάθη στον προγραμματισμό της βάσης δεδομένων διακομιστή. Ο τρόπος με τον οποίο ένας διακομιστής επιλέγει ένα θύμα αδιέξοδομπορει να διαφερει.Ορισμένα προγράμματα επιλέγουν το θύμα σε καθαρά τυχαία βάση.Ενώ αυτό μπορεί να είναι αρκετά αποτελεσματικό, δεδομένου ότι οποιαδήποτε επιλογή οδηγεί σε μια λύση και στο τέλος του αδιέξοδο, αυτό δεν είναι πάντα μια ιδανική μέθοδος.Ένας διακομιστής είναι συνήθως προγραμματισμένος για να αξιολογήσει τους δύο χρήστες για να επιλέξουν εκείνον που θα μπορούσε εύκολα να επανασυνδεθεί ή που θα χάσει το ελάχιστο ποσό των δεδομένων λόγω αποσύνδεσης.