মেট্রিক্স কনফিগারেশন জেনারেটর (MCG) একটি পরিষেবা যা SDV টেলিমেট্রি কনফিগারেশন তৈরি করাকে সহজ করে। MCG, মানুষের পাঠযোগ্য JSON কনফিগারেশনগুলোকে বাইনারি MetricsConfiguration প্রোটোকল বাফার (প্রোটোবাফ) ফাইল ফরম্যাটে রূপান্তর করে, যা গাড়িতে থাকা টেলিমেট্রি ক্যাম্পেইনের জন্য প্রয়োজন হয়।
MCG হলো একটি ওয়েব সার্ভিস, যার সাথে আপনি সাধারণ HTTP রিকোয়েস্ট ব্যবহার করে যোগাযোগ করেন। এই API-ভিত্তিক পদ্ধতিটি আপনাকে ম্যানুয়াল জেনারেশন ও ডিবাগিংয়ের জন্য curl মতো কমান্ড-লাইন টুল ব্যবহার করতে দেয়, অথবা কনফিগারেশন তৈরির জন্য গ্রাফিক্যাল ইন্টারফেসের মতো আরও উন্নত টুলিংয়ের জন্য MCG-কে ব্যাকএন্ড হিসেবে ইন্টিগ্রেট করার সুযোগ দেয়।
বৈশিষ্ট্য
গাড়ির টেলিমেট্রি পরিষেবার জন্য একটি MetricsConfiguration বাইনারি প্রোটোবাফ মেসেজ প্রয়োজন হয়। যদিও ডিবাগিংয়ের জন্য এই মেসেজটিকে টেক্সটপ্রোটো ফরম্যাটে উপস্থাপন করা যায়, সরাসরি এই ফরম্যাটটি তৈরি করতে এর নিম্ন-স্তরের কাঠামো সম্পর্কে বিস্তারিত জ্ঞান প্রয়োজন হয় এবং এটি ক্লান্তিকর ও ত্রুটিপ্রবণ হতে পারে। MCG কনফিগারেশন তৈরির প্রক্রিয়াটিকে একটি ব্যবহারকারী-বান্ধব JSON ফরম্যাটে স্থানান্তর করে এই প্রক্রিয়াকে সহজ করে তোলে।
এমসিজি-তে নিম্নলিখিত বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছে:
- JSON-ভিত্তিক কনফিগারেশন: ডেটা সোর্স, প্রসেসিং লজিক এবং রিপোর্টিং রুলস সহ মেট্রিক্স কনফিগারেশন একটি পাঠযোগ্য JSON ফরম্যাটে সংজ্ঞায়িত করা যেতে পারে, যা MCG প্রয়োজনীয় বাইনারি প্রোটোবাফ ফরম্যাটে কম্পাইল করে।
- অন্তর্নির্মিত যাচাইকরণ: ডেপ্লয়মেন্টের আগে ত্রুটি শনাক্ত করার জন্য জেনারেশন প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে সিগন্যাল ডেফিনিশন এবং স্কিমা নিয়মের সাথে কনফিগারেশনগুলো যাচাই করে।
- স্বয়ংক্রিয় মেসেজ-টাইপ তৈরি: অ্যাগ্রিগেটর এবং রিপোর্ট এমন ফলাফল তৈরি করে যা চূড়ান্ত বাইনারি কনফিগারেশনে প্রোটোবাফ মেসেজ ডেসক্রিপ্টর ব্যবহার করে সংজ্ঞায়িত করতে হয়। MCG ইনপুট সিগন্যাল টাইপ এবং অ্যাগ্রিগেশন লজিকের উপর ভিত্তি করে এই ফলাফলগুলির কাঠামো অনুমান করে এবং স্বয়ংক্রিয়ভাবে প্রয়োজনীয় মেসেজ ডেসক্রিপ্টর তৈরি করে। এর ফলে আপনাকে মধ্যবর্তী বা রিপোর্ট-নির্দিষ্ট ডেটা স্ট্রাকচারের জন্য ম্যানুয়ালি স্কিমা সংজ্ঞায়িত করার প্রয়োজন হয় না।
- এক্সপ্রেশন রচনা সহজতর: এক্সপ্রেশন সংজ্ঞায়িত করার জন্য একটি নিজস্ব পাঠযোগ্য ব্যাকরণ ব্যবহারের ফলে ম্যানুয়ালি এক্সপ্রেশন ট্রি তৈরি করার প্রয়োজন হয় না।
কর্মপ্রবাহ
MCG ব্যবহার করে মেট্রিক্স কনফিগারেশন তৈরি করার দুটি প্রধান পর্যায় রয়েছে: আপনি যে প্রতিটি ভেহিকেল সিগন্যাল ক্যাটালগ সংস্করণ ব্যবহার করতে চান, তা একবার আপলোড করা এবং তারপরে স্বতন্ত্র মেট্রিক্স কনফিগারেশন লেখা ও তৈরি করা।
সিগন্যাল ডেফিনিশন আপলোড করুন: এই ধাপটি প্রতিটি ভেহিকেল সিগন্যাল ক্যাটালগ ভার্সনের জন্য শুধুমাত্র একবার করতে হবে। ভ্যালিডেশন এবং টাইপ ইনফারেন্স সক্ষম করার জন্য, আপনার কনফিগারেশনে রেফারেন্স করতে চাওয়া ভেহিকেল সিগন্যাল ডেফিনিশনগুলোতে MCG-এর অ্যাক্সেস থাকা আবশ্যক। এই ডেফিনিশনগুলো আপনার প্রোজেক্টে VSIDL ক্যাটালগের অংশ হিসেবে প্রোটোবাফ ফাইল হিসেবে আগে থেকেই বিদ্যমান থাকা উচিত (অথবা আপনি পরীক্ষা করার জন্য স্যাম্পল ডেফিনিশন ব্যবহার করতে পারেন)। সেগুলোকে MCG-এর জন্য উপলব্ধ করতে, একটি ভেহিকেল সিগন্যাল ক্যাটালগে প্যাকেজ করুন এবং API ব্যবহার করে আপলোড করুন:
- আপনার প্রোটোবাফ ফাইলগুলিকে একটি FileDescriptorSet-এ প্যাকেজ করতে, "Create a FileDescriptorSet" দেখুন।
- ক্যাটালগটি বেস৬৪-এনকোড করে আপলোড করতে, “ক্যাটালগ সংস্করণ যোগ বা আপডেট করুন” দেখুন।
কনফিগারেশন লিখুন: MCG-তে একটি ক্যাটালগ সংস্করণ আপলোড করার পরে, আপনি এটিকে রেফারেন্স করে যেকোনো সংখ্যক মেট্রিক্স কনফিগারেশন লিখতে পারেন। JSON কনফিগারেশনে, আপনি নির্ধারণ করেন কোন ডেটা সোর্সগুলো ব্যবহার করতে হবে, সেই ডেটার উপর কীভাবে গণনা বা অ্যাগ্রিগেশন করতে হবে, এবং ফলাফল কখন তৈরি হবে তা নির্ধারণকারী ট্রিগারগুলো।
তৈরি করুন: আপনার JSON কনফিগারেশনটি MCG API-তে জমা দিন। API কনফিগারেশনটি যাচাই করে এবং এটিকে
MetricsConfigurationফরম্যাটে সংকলন করে। এটি গাড়িতে ব্যবহারের জন্য বাইনারি প্রোটোবাফ (application/x-protobuf) হিসেবে, অথবা পর্যালোচনা বা ডিবাগিংয়ের জন্য টেক্সটপ্রোটো (text/x-protobuf) হিসেবে অনুরোধ করা যেতে পারে।- তৈরি করতে, POST /api/v1/generate_metrics_config ব্যবহার করুন।
সমস্ত এন্ডপয়েন্ট, অনুরোধ ও প্রতিক্রিয়া ফরম্যাট এবং ব্যবহারের উদাহরণ সম্পর্কে বিস্তারিত তথ্যের জন্য, এমসিজি এপিআই রেফারেন্স দেখুন।
মোতায়েন
একটি ক্লাউড-নেটিভ পরিষেবা হিসেবে, MCG-কে একটি ক্লাউড পরিবেশে (যেমন Google Cloud Run) স্থাপন করার জন্য ডিজাইন করা হয়েছে, যা আপনার দলগুলোর মধ্যে কনফিগারেশন তৈরি এবং যাচাই করার জন্য একটি কেন্দ্রীয় কেন্দ্র প্রদান করে। স্থাপনের নির্দেশাবলীর জন্য, "Deploy to Google Cloud" দেখুন।
স্থানীয় উন্নয়ন এবং পরীক্ষার জন্য, MCG ডেভেলপার মেশিনে একটি স্বতন্ত্র পরিষেবা হিসাবেও চালানো যেতে পারে। সেটআপ নির্দেশাবলীর জন্য, স্থানীয়ভাবে চালান (Run locally ) দেখুন।