उत्पादन आणि SKU आर्किटेक्चर: संरचित कॉन्फिगरेशन प्रणाली
हे लेख आम्ही हजारो उत्पादन कॉन्फिगरेशन्स व्यवस्थापित करण्यासाठी संरचित SKU प्रणालीचा वापर कसा करतो हे स्पष्ट करते.
समस्या: कॉम्बिनेटोरियल विस्फोट
एका कॉन्फिगर करण्यायोग्य उत्पादनामध्ये अनेक पर्याय असतात:
- १७ चेसिस प्रकार × १७ प्रोसेसर × ८ RAM आकार × १९ स्टोरेज आकार × ६ WiFi पर्याय × ९ OS पर्याय = २,३७२,११२ संभाव्य कॉन्फिगरेशन्स
प्रत्येक कॉन्फिगरेशन व्यक्तिचलितरीत्या व्यवस्थापित करणे अशक्य आहे:
-
२,३७२,११२ उत्पादन वर्णने लिहिणे
-
२,३७२,११२ किंमत गणना देखरेख ठेवणे
-
२,३७२,११२ इन्व्हेंटरी नोंदी ट्रॅक करणे
-
२,३७२,११२ उत्पादन पृष्ठे तयार करणे
आम्हाला अशी प्रणाली आवश्यक आहे जी कॉन्फिगरेशन्स डायनॅमिकली जनरेट करेल.
उपाय: SKU-आधारित आर्किटेक्चर
आम्ही हायफन-वेगळी केलेली SKU रचना वापरतो जिथे प्रत्येक विभाग एक घटक दर्शवतो:
फॉरमॅट: चेसिस-बोर्ड-RAM-फ्लॅश-अॅडॉप्टर-WiFi-OS-अॅक्सेसरीज
उदाहरण: Treo-97-8-512-65-ax200-W11P-KM
या SKU वरून, आम्ही हे करू शकतो:
-
वैशिष्ट्ये काढा (प्रोसेसर, RAM, स्टोरेज)
-
किंमत मोजा (घटक खर्चाची बेरीज)
-
वर्णन जनरेट करा (घटक नावे एकत्र करा)
-
स्टॉक तपासा (सर्व घटक उपलब्ध आहेत याची पडताळणी करा)
एकल स्रोत सत्य: productdb
उत्पादन डेटाबेस (productdb.json) हा सर्व उत्पादन माहितीसाठी एकच स्रोत सत्य आहे:
-
फॉरमॅट: श्रेणी शीर्ष-स्तरीय की म्हणून असलेला JSON
-
श्रेण्या: चेसिस, बोर्ड, RAM, फ्लॅश, अॅडॉप्टर, WiFi BT, OS, अॅक्सेसरीज, घटक, सानुकूल
Productdb रचना
प्रत्येक उत्पादनात आहे:
-
PartID: अद्वितीय ओळखकर्ता (उदा., "Treo", "97", "8")
-
internal: कर्मचाऱ्यांसाठी अंतर्गत नाव
-
external: ग्राहकांसाठी बाह्य नाव
-
class: सुसंगतता नियमांसाठी उत्पादन वर्ग
-
allows: सुसंगत भागांवरील निर्बंध
-
provides: या भागाद्वारे पुरवलेली वैशिष्ट्ये
-
weight: ग्रॅममध्ये वजन
-
constituents: संमिश्र भागांसाठी, उप-घटकांची यादी
उदाहरण Productdb एंट्री
Productdb एंट्रीमध्ये चेसिस, बोर्ड, RAM, फ्लॅश, अॅडॉप्टर, WiFi BT, OS आणि त्यांच्या स्पेसिफिकेशनसह अॅक्सेसरीज समाविष्ट आहेत.
SKU रचना
SKU हे भाग ID चे हायफन-वेगळी केलेले स्ट्रिंग आहेत:
-
फॉरमॅट:
{चेसिस}-{बोर्ड}-{RAM}-{फ्लॅश}-{अॅडॉप्टर}-{WiFi BT}-{OS}-{अॅक्सेसरीज} -
उदाहरण:
Treo-97-8-512-65-ax200-W11P-KM -
लांबी: नेहमी ८ भाग (काही श्रेण्या पर्यायी असल्यास रिकामे असू शकतात)
SKU पार्सिंग
SKU हे part_sequence वापरून पार्स केले जाते जे श्रेणींचा क्रम परिभाषित करते.
वैशिष्ट्य काढणे
वैशिष्ट्ये find_features() वापरून productdb मधून काढली जातात:
- भागासह प्रारंभ करा: productdb मधून भाग मिळवा
- provides जोडा:
providesफील्डमधून सर्व वैशिष्ट्ये कॉपी करा - constituents प्रक्रिया करा: उप-घटकांमधून वैशिष्ट्ये पुनरावर्तीपणे जोडा
- संख्यात्मक मूल्ये गुणाकार करा: प्रमाणांसाठी (उदा., वजन, RAM)
वैशिष्ट्य एकत्रीकरण
पूर्ण SKU साठी, सर्व भागांतील वैशिष्ट्ये एकत्रित केली जातात. एकत्रीकरण प्रक्रिया SKU मधील सर्व भागांतील वैशिष्ट्ये एकत्र करते.
वैशिष्ट्य अनुक्रम
feature_sequence वैशिष्ट्ये कशी प्रदर्शित केली जातात हे परिभाषित करते:
-
की: वैशिष्ट्य नाव (उदा., "प्रोसेसर मॉडेल", "स्क्रीन आकार")
-
व्हॅल्यू:
UnitआणिHeadingसह डिक्ट -
शीर्षके: प्रक्रिया, डिस्प्ले, ऑडिओ, कनेक्टिव्हिटी, नेटवर्किंग, पॉवर, पर्यावरणीय, भौतिक, अॅक्सेसरीज, ऑपरेटिंग सिस्टम
वैशिष्ट्य अनुक्रम
feature_sequence त्यांच्या युनिट्स आणि शीर्षकांसह वैशिष्ट्ये कशी प्रदर्शित केली जातात हे परिभाषित करते.
फिल्टरिंगसाठी फॅसेट्स
FACETS_FOR_FILTERING हे feature_sequence वरून डायनॅमिकली जनरेट केले जाते:
-
वगळलेले: OS वैशिष्ट्ये, परिमाणे, वजन, कॅशे
-
शीर्षकानुसार गट: प्रक्रिया, डिस्प्ले, ऑडिओ, इ.
-
वापरले जाते: क्वेरी पृष्ठ फिल्टर, उत्पादन शोध
फिल्टर फॅसेट्स रचना
FACETS_FOR_FILTERING क्वेरी पृष्ठ फिल्टरसाठी वैशिष्ट्ये शीर्षकानुसार गटबद्ध करते.
वैशिष्ट्य सारण्या
वैशिष्ट्य सारण्या product_features() वरून जनरेट केल्या जातात:
- शीर्षकानुसार गट करा: प्रक्रिया, डिस्प्ले, इ.
- मूल्ये फॉरमॅट करा: जेथे लागू असेल तेथे युनिट्स जोडा
- २-स्तंभ लेआउटमध्ये प्रदर्शित करा: उत्पादन पृष्ठांसाठी संतुलित
वैशिष्ट्य सारणी उदाहरण
| प्रक्रिया | |
|---|---|
| प्रोसेसर मॉडेल | Intel i5-12400 |
| कोर | ६ |
| कमाल वारंवारता | ४.४ GHz |
| मुख्य मेमरी | १६ GB |
| डिस्प्ले | |
|---|---|
| स्क्रीन आकार | २१.५ इंच |
| रिझोल्यूशन | १९२० × १०८० |
| चमक | २५० nits |
क्रॉस-संदर्भ
-
उत्पादन पृष्ठे आणि डेटाशीट्स - उत्पादन पृष्ठांसाठी उत्पादन माहिती कशी एकत्र केली जाते
-
क्वेरी पृष्ठ निर्मिती - शोध क्वेरी फिल्टरिंगसाठी वैशिष्ट्यांचा वापर कसा करतात
-
सर्च सर्व्हिस आर्किटेक्चर - शोध फिल्टरिंगमध्ये वैशिष्ट्यांचा वापर कसा केला जातो
-
भाषांतर प्रणाली - उत्पादन वैशिष्ट्यांचे भाषांतर कसे केले जाते
बाह्य दुवे
-
PynamoDB दस्तऐवजीकरण - उत्पादन डेटासाठी वापरलेले DynamoDB ORM
-
Flask दस्तऐवजीकरण - अनुप्रयोगासाठी वेब फ्रेमवर्क
-
JSON.org - JSON फॉरमॅट स्पेसिफिकेशन
सारांश
उत्पादन आणि SKU आर्किटेक्चर प्रदान करते:
-
एकल स्रोत सत्य: सर्व उत्पादन माहितीसाठी productdb.json
-
वैशिष्ट्य काढणे: भागांमधून स्वयंचलित वैशिष्ट्य एकत्रीकरण
-
फिल्टरिंग: क्वेरी पृष्ठ फिल्टरसाठी FACETS_FOR_FILTERING
-
वैशिष्ट्य सारण्या: उत्पादन पृष्ठांसाठी गटबद्ध वैशिष्ट्ये
-
SKU पार्सिंग: उत्पादन रचनेसाठी हायफन-वेगळी केलेली भाग ID