सॉफ़्टवेयर-डिफ़ाइंड वाहन (एसडीवी) क्लाउड टेलीमेट्री सिमुलेशन प्लैटफ़ॉर्म, Google Cloud पर वाहन टेलीमेट्री सिमुलेशन चलाने के लिए, ज़रूरत के हिसाब से इस्तेमाल किया जा सकने वाला इंफ़्रास्ट्रक्चर उपलब्ध कराता है.
सिस्टम, फ़िज़िकल हार्डवेयर के बिना वर्चुअल Android Automotive एनवायरमेंट (Cuttlefish) से टेलीमेट्री कैंपेन को सिम्युलेट करने की सुविधा देता है. यह अनुरोधों को स्वीकार करके, सिम्युलेशन के लाइफ़साइकल को मैनेज करता है. साथ ही, Compute Engine की अस्थायी वर्चुअल मशीनें (वीएम) बनाता है, Docker कंटेनर में सिम्युलेशन चलाता है, Cloud Storage में नतीजे इकट्ठा करके अपलोड करता है, और संसाधनों को मिटाता है.
इस तरीके से, टेलीमेट्री पाइपलाइन की टेस्टिंग के लिए कम लागत वाला और आसानी से बढ़ाया जा सकने वाला प्लैटफ़ॉर्म मिलता है. ऐसा इसलिए, क्योंकि संसाधनों का इस्तेमाल सिर्फ़ सिम्युलेशन के दौरान होता है.
मकसद और क्षमताएं
सिस्टम, सिम्युलेशन की लाइफ़साइकल को व्यवस्थित करता है और बुनियादी इंफ़्रास्ट्रक्चर मैनेजमेंट को ऐब्स्ट्रैक्ट करता है.
- मांग के हिसाब से स्केलिंग: सिस्टम, सिम्युलेशन की अवधि के लिए ही संसाधन (Compute Engine वीएम) बनाता है, ताकि इस्तेमाल के आधार पर लागत तय की जा सके.
- एक साथ कई अनुरोध मैनेज करना: सिस्टम, एक साथ कई अनुरोधों के लिए कॉन्फ़िगर की जा सकने वाली सीमा लागू करता है. उदाहरण के लिए, डिफ़ॉल्ट रूप से पांच अनुरोध. यह सुविधा, ज़्यादा अनुरोधों को कतार में लगाती है और स्लॉट उपलब्ध होने पर, उन्हें अपने-आप शेड्यूल कर देती है.
- इवेंट-ड्रिवन आर्किटेक्चर: यह सिस्टम, Cloud Functions और Pub/Sub का इस्तेमाल करता है. इससे वर्कफ़्लो को अलग-अलग किया जा सकता है और उसे बेहतर तरीके से मैनेज किया जा सकता है. इसमें अनुरोधों को मैनेज करना, शेड्यूल करना, फ़ाइनल करना, और डेटा मिटाना शामिल है.
- स्टेट मैनेजमेंट की सुविधा इंटिग्रेट की गई है: सिस्टम, Firestore डेटाबेस का इस्तेमाल करके हर सिम्युलेशन की लाइव स्थिति और कॉन्फ़िगरेशन को ट्रैक करता है. उदाहरण के लिए,
PENDING,RUNNING,COMPLETEDयाFAILED. - आर्टफ़ैक्ट मैनेजमेंट: सिस्टम, ज़रूरी इनपुट फ़ाइलों को अपने-आप डाउनलोड करता है. साथ ही, सभी सिम्युलेशन आउटपुट (जैसे, रिपोर्ट, लॉग, गड़बड़ी की रिपोर्ट, और Logcat फ़ाइलें) को Cloud Storage पर अपलोड करता है.
- संसाधन साफ़ करना: Cloud Scheduler की अपने-आप होने वाली प्रोसेस, अनाथ वीएम या डेटाबेस एंट्री को साफ़ करके संसाधन लीक होने से रोकती है.
वास्तुकला
यह सिस्टम, सर्वरलेस और इवेंट-ड्रिवन आर्किटेक्चर का इस्तेमाल करता है. इसमें Google Cloud की कई सेवाएं शामिल हैं. सिस्टम के साथ इंटरैक्ट करने के लिए, वेब यूज़र इंटरफ़ेस (यूआई) या REST API का इस्तेमाल किया जा सकता है.
- उपयोगकर्ता इंटरैक्शन: आपको वेब डेमो, कस्टम ऐप्लिकेशन या सीधे तौर पर एपीआई एंडपॉइंट के साथ इंटरैक्ट करने का विकल्प मिलता है.
- ऑर्केस्ट्रेशन लेयर:
read-simulation: इस फ़ंक्शन की मदद से, सिमुलेशन, चालू वीएम की संख्या, और एक साथ चालू वीएम की कॉन्फ़िगर की गई ज़्यादा से ज़्यादा संख्या के बारे में क्वेरी की जा सकती है.receive-request: सिस्टम, इमेज के फ़िंगरप्रिंट की सख्त तौर पर अनुमति वाली सूची के हिसाब से अनुरोधों की पुष्टि करता है. इसके बाद, उन्हें Pub/Sub पर पब्लिश करता है.schedule-simulation: Eventarc, Pub/Sub मैसेज या Firestore में हुए बदलावों के आधार पर इस फ़ंक्शन को ट्रिगर करता है. यह एक साथ कई अनुरोध करने की सीमा की जांच करता है और वीएम उपलब्ध कराता है.finish-simulation: एजेंट, रन के आखिर में इस फ़ंक्शन को कॉल करता है, ताकि स्टेटस को अपडेट किया जा सके और क्लीनअप को ट्रिगर किया जा सके.delete-simulation: यह फ़ंक्शन, मैन्युअल तरीके से रद्द करने और संसाधन को हटाने की प्रोसेस को मैनेज करता है.
- स्टेट मैनेजमेंट (Firestore): Firestore डेटाबेस, हर सिम्युलेशन की स्थिति (उदाहरण के लिए,
PENDING,RUNNING,COMPLETEDयाFAILED) और कॉन्फ़िगरेशन को ट्रैक करता है. यह डेटाबेस, सभी सिम्युलेशन के एक्ज़ीक्यूशन डेटा को सेव करता है. - डेटा स्टोरेज (Cloud Storage): सिस्टम, सिम्युलेशन से जुड़ी सभी फ़ाइलों को Cloud Storage बकेट में सेव करता है. इसमें इनपुट कॉन्फ़िगरेशन फ़ाइलें, आउटपुट रिपोर्ट, Cuttlefish डिवाइस के लॉग, गड़बड़ी की रिपोर्ट, और Logcat फ़ाइलें शामिल हैं.
- एक्ज़ीक्यूशन लेयर (Compute Engine):
schedule-simulationफ़ंक्शन, हर सिम्युलेशन के लिए एक Compute Engine VM बनाता है. वर्चुअल मशीन,simulation-agentDocker कंटेनर चलाती है.simulation-agent, Cloud Storage से इनपुट फ़ाइलें लेता है, एसडीवी इंस्टेंस शुरू करता है, और Cuttlefish वर्चुअल डिवाइस के साथ इंटरैक्शन मैनेज करता है. इससे टेलीमेट्री सिम्युलेटर को एक्ज़ीक्यूट किया जा सकता है और नतीजे के तौर पर मिले डेटा को वापस पाया जा सकता है.
- रखरखाव (Cloud Scheduler): शेड्यूल किया गया कोई जॉब समय-समय पर चलता है, ताकि किसी भी अनाथ संसाधन (उदाहरण के लिए, फ़ेल हो चुकी वर्चुअल मशीन या पुराने डेटाबेस की एंट्री) को साफ़ किया जा सके. इससे संसाधन लीक होने से रोका जा सकता है.
अगले चरण
Cloud Telemetry Simulation का इस्तेमाल शुरू करने के लिए, यहां दी गई गाइड देखें:
- डिप्लॉयमेंट गाइड: इंफ़्रास्ट्रक्चर सेट अप करने और सिम्युलेशन एजेंट बनाने का तरीका जानें.
- उपयोगकर्ता गाइड: वेब डेमो या REST API का इस्तेमाल करके, सिमुलेशन चलाने का तरीका जानें.