हैलो, पर लिखे बिना पाइथन प्रक्रियाओं के बीच डेटा साझा करने के लिए कैसे मैं पाइथन और प्रक्रियाओं के बीच डेटा की थोड़ी मात्रा (< 1K) साझा करना चाहता हूं। डेटा भौतिक पीसी/104 आईओ डेटा है जो तेजी से और अक्सर बदलता है (24x7x365)। एक एकल "सर्वर" डेटा लिख रहा होगा और इसके कई हिस्सों को पढ़ने वाले कई ग्राहक होंगे। यह सिस्टम हार्ड ड्राइव की बजाय फ्लैश मेमोरी (सीएफ कार्ड) का उपयोग करेगा, इसलिए मैं एक फ़ाइल आधारित योजना के साथ फ्लैश मेमोरी पहनने के बारे में चिंतित हूं। मैं कम बिजली (प्रोसेसर समय) का उपयोग करना चाहूंगा क्योंकि हम 100% सौर संचालित हैं।डिस्क
- क्या यह एक वैध चिंता है? हम संभवतः सीएफ कार्ड को एसएसडी में बदल सकते हैं।
- क्या एमएमएपी का उपयोग करके मूल्य बदलना भौतिक रूप से डेटा को डिस्क पर लिखता है या यह वर्चुअल फ़ाइल है?
- हम डेबियन पर चलेंगे, इसलिए शायद पाइथन मॉड्यूल के लिए पॉज़िक्स आईपीसी सबसे अच्छा समाधान है। क्या किसी ने इसका इस्तेमाल किया है?
- क्या किसी ने Python Object Sharing (POSH) मॉड्यूल का प्रयास किया है? यह पहली नज़र में आशाजनक दिखता है लेकिन यह "अल्फा" में है और सक्रिय रूप से विकसित नहीं किया जा रहा है।
धन्यवाद
अद्यतन: हम के बारे में 10 हर्ट्ज के लिए अधिकतम डाटा अद्यतन दर है, लेकिन अधिक आम तौर पर 1 हर्ट्ज धीमा। ग्राहकों को केवल तब सूचित किया जाएगा जब एक स्थिर अद्यतन दर के बजाय मूल्य बदलता है। हम एक से अधिक सर्वर/एकाधिक क्लाइंट मॉडल पर गए हैं जहां प्रत्येक सर्वर एक निश्चित प्रकार के उपकरण या फ़ंक्शन में माहिर हैं। चूंकि यह पता चला कि अधिकांश प्रोग्रामिंग जावा प्रोग्रामर द्वारा किए जा रहे थे, हम टीसीपी पर जेएसओएन-आरपीसी का उपयोग कर समाप्त हो गए। सर्वर जावा में लिखे जाएंगे लेकिन मुझे अभी भी पाइथन में मुख्य क्लाइंट लिखने की उम्मीद है और मैं JSON-RPC कार्यान्वयन की जांच कर रहा हूं।
+1। बहुत बढ़िया। – gahooa
क्या आप इस बात पर टिप्पणी कर सकते हैं कि डेटा कितनी बार बदलता है, और उपभोक्ताओं को कितनी बार अद्यतन करने की आवश्यकता होती है? वह जानकारी सर्वश्रेष्ठ दृष्टिकोण चुनने में मदद करेगी। – gahooa
कुछ डेटा मान दूसरे में दो बार बदल सकते हैं जबकि कुछ शायद ही कभी बदलते हैं। ऐसा लगता है कि कुछ अन्य प्रक्रियाएं जावा हो सकती हैं, इसलिए सॉकेट दृष्टिकोण सबसे अच्छा दिख रहा है। मुझे लगता है कि मैं ऐसा कुछ करने की कोशिश करूंगा जहां एक ग्राहक (उपभोक्ता) एक निश्चित मूल्य (जैसे मोटर वर्तमान, स्विच स्थिति, हवा की गति इत्यादि) में अपनी रुचि पंजीकृत करता है और जब भी मूल्य बदलता है तो सर्वर क्लाइंट को अद्यतन भेजता है। ग्राहक डिजिटल आउटपुट के लिए राज्य परिवर्तन का भी अनुरोध कर सकता है। – RyanN