मैं एक फ़ाइल स्टोरेज तंत्र को कार्यान्वित करने की कोशिश कर रहा हूं जिसमें एक फ़ाइल में कई अलग-अलग आकार के रिकॉर्ड्स हैं, गारंटी के साथ कि रिकॉर्ड का सेट हमेशा एक स्थिर स्थिति में पुनर्प्राप्त करने योग्य होगा, भले ही सिस्टम हार्डवेयर में विफल हो स्तर।क्या स्मृति-मैप की गई फ़ाइल में डेटा क्रमशः फ्लश करने की गारंटी है?
अभी तक, प्रत्येक योजना मैं अनुक्रमिक रूप से डेटा लिखने पर पिवट के साथ आया हूं। डेटा का कुछ टुकड़ा प्रत्येक रिकॉर्ड के अंत में जोड़ा जाएगा जो पुष्टि करता है कि लेखन सफल हुआ। हालांकि, अगर फ्लैश होने पर डेटा को क्रमशः डिस्क पर लिखा नहीं जाता है तो सामग्री डेटा से पहले पुष्टिकरण डेटा लिखा जाना संभव होगा।
इस के आसपास दो स्पष्ट तरीके हैं, लेकिन दोनों अवांछनीय हैं:
- सामग्री फ्लश और फिर पुष्टि लिख सकते हैं और यह फ्लश। अतिरिक्त फ्लश जोड़ने से प्रदर्शन खराब हो सकता है।
- पुष्टिकरण में चेकसम शामिल करें (यह पुष्टि करने के लिए सामग्री को पढ़ने की आवश्यकता होगी कि यह मान्य है)।
मैं उपयोग कर रहा हूँ Windows पर सी # (32 और 64-बिट) और नेट 4.0 की स्मृति मैप की गई फ़ाइल कार्यान्वयन
दूसरा विचार (डेटा सत्यापित करना , टाइमस्टैंप, अनुक्रम संख्या, और चेकसम) कानूनी लगता है। हालांकि, सामान्य रूप से, आपको नेटवर्क पर अलग मशीनों के साथ उच्च उपलब्धता क्लस्टर देखना चाहिए। सभी रिकॉर्ड या जर्नल लिखने को नेटवर्क पर दो या दो से अधिक मशीनों में दोहराने की आवश्यकता है। आप एक मशीन, अवधि से किसी भी गारंटी निकालने नहीं कर सकते हैं। – rwong