मेरे पास एक सॉफ्टवेयर सिस्टम है जो एकाधिक मशीनों पर एक साथ ओसीआर करता है। वर्तमान प्रणाली निम्नानुसार काम करती है:डिज़ाइन दिशानिर्देश वितरित कंप्यूटिंग
- ऑब्जेक्ट होने की आवश्यकता वाले सभी दस्तावेज़ डीबी में एक तालिका में डाले गए हैं।
- प्रत्येक ग्राहक ओसीआर मशीन उस तालिका को पूल करती है और जब भी ओसीआर के लिए डेटा मिलता है, तो यह तालिका को ताला लगाता है और एन नहीं चुनता है। ओसीआर के लिए फाइलों का। लॉकिंग परमाणुता के लिए प्रयोग किया जाता है।
- प्रत्येक दस्तावेज़ ocred के बाद, दस्तावेज़ की स्थिति पूर्ण के रूप में अद्यतन किया जाता है।
मुझे पता है कि एक सिंक्रनाइज़ेशन स्थान के रूप में डेटाबेस सेट करने के लिए यह एक गंभीर गलती है। यह ठीक चल रहा है लेकिन कभी-कभी मैं डेटाबेस पर मृत ताला देख सकता हूं ..
तो मेरा सवाल यह है कि, इस तरह के सिस्टम को डिजाइन करने का बेहतर तरीका क्या है, मैं डेटाबेस को स्टोरेज डिवाइस के रूप में केवल एक सिंक्रनाइज़िंग स्थान नहीं चाहता हूं। मैं आपके विचार सुनना चाहता हूँ।
आपके त्वरित उत्तर के लिए धन्यवाद, मैंने वास्तव में ऐसा ही किया है जो आपने अपने पहले अनुच्छेद में उल्लेख किया है। लेकिन मैं इस समाधान से संतुष्ट नहीं हूं। – crypted
@ Int3: क्यों नहीं? मैं डेटा संसाधित करते समय लेनदेन को खोलने का सुझाव नहीं दे रहा हूं - बस इसे प्रगति के रूप में चिह्नित करते समय। –