SKU બંધારણ: હાઇફન-વિભાજિત ઘટક આર્કિટેક્ચર
આ લેખ સમજાવે છે કે કેવી રીતે અમારી SKU (સ્ટોક કીપિંગ યુનિટ) સિસ્ટમ દરેક ઉત્પાદન કોન્ફિગરેશનને અનન્ય રીતે ઓળખવા માટે હાઇફન-વિભાજિત બંધારણનો ઉપયોગ કરે છે, જ્યારે શક્તિશાળી ફીચર નિષ્કર્ષણ અને ફિલ્ટરિંગને સક્ષમ કરે છે.
સમસ્યા: ઉત્પાદન કોન્ફિગરેશન્સને ઓળખવું
એક મિની પીસીમાં હજારો કોન્ફિગરેશન હોઈ શકે છે:
-
ચેસિસ: ટ્રેઓ, એસ, એચ (વિવિધ ફોર્મ ફેક્ટર)
-
બોર્ડ: N100, i5-1335U, i7-1355U (વિવિધ પ્રોસેસર)
-
RAM: 4GB, 8GB, 16GB, 32GB, 64GB
-
ફ્લેશ: 128GB, 256GB, 512GB, 1TB, 2TB
-
એડેપ્ટર: 2H (2 HDMI), 2D (2 DisplayPort), 1H1D (1 HDMI + 1 DisplayPort)
-
WiFi: W6 (WiFi 6), W6E (WiFi 6E), None
-
OS: 11P (Windows 11 Pro), U (Ubuntu), DOS (FreeDOS)
-
ઍક્સેસરીઝ: કીબોર્ડ, માઉસ, VESA માઉન્ટ, વગેરે.
3 ચેસિસ × 10 બોર્ડ × 5 RAM × 5 ફ્લેશ × 5 એડેપ્ટર × 3 WiFi × 3 OS = 33,750 સંભવિત કોન્ફિગરેશન્સ સાથે, અમને દરેકને ઓળખવા માટે વ્યવસ્થિત રીતની જરૂર છે.
ઉકેલ: હાઇફન-વિભાજિત SKU
અમે હાઇફન-વિભાજિત બંધારણનો ઉપયોગ કરીએ છીએ જ્યાં દરેક સ્થાન એક ઘટક શ્રેણીનું પ્રતિનિધિત્વ કરે છે:
Treo-N100-8-256-2H-W6-11P
આ દરેક કોન્ફિગરેશન માટે એક અનન્ય ઓળખકર્તા બનાવે છે.
SKU વિશ્લેષણ
graph LR
SKU[Treo-N100-8-256-2H-W6-11P]
SKU --> C[Treo
Chassis]
SKU --> B[N100
Board/CPU]
SKU --> R[8
RAM GB]
SKU --> F[256
Flash GB]
SKU --> A[2H
Adapter]
SKU --> W[W6
WiFi 6]
SKU --> O[11P
Windows 11 Pro]ભાગ ક્રમ
SKU કોડમાં વ્યાખ્યાયિત નિશ્ચિત ક્રમનું પાલન કરે છે:
part_sequence = [
Categories.CHASSIS, # Position 0
Categories.BOARD, # Position 1
# ... (implementation details omitted)
દરેક SKU માં ઓછામાં ઓછા પ્રથમ 7 ઘટકો (ચેસિસ થી OS સુધી) હોવા જ જોઈએ. ઍક્સેસરીઝ વૈકલ્પિક છે.
ઘટક શ્રેણીઓ
1. ચેસિસ
ભૌતિક આવરણ અને ફોર્મ ફેક્ટર:
-
ટ્રેઓ: નવીનતમ મિની પીસી ચેસિસ (કોમ્પેક્ટ, આધુનિક ડિઝાઇન)
-
એસ: નાનું ફોર્મ ફેક્ટર (કોમ્પેક્ટ ડેસ્કટોપ)
-
એચ: પ્રમાણભૂત ફોર્મ ફેક્ટર (પરંપરાગત ડેસ્કટોપ)
ચેસિસ નક્કી કરે છે:
-
ભૌતિક પરિમાણો
-
માઉન્ટિંગ વિકલ્પો (VESA, ડેસ્કટોપ)
-
થર્મલ ડિઝાઇન (ફેનલેસ વિરુદ્ધ ફેન-કૂલ્ડ)
-
પોર્ટ લેઆઉટ
2. બોર્ડ
પ્રોસેસર સાથેનું મધરબોર્ડ:
-
N100: ઇન્ટેલ N100 (4 કોર, 3.4GHz, 6W TDP)
-
N150: ઇન્ટેલ N150 (4 કોર, 3.6GHz, 6W TDP)
-
i5-1335U: ઇન્ટેલ કોર i5 13મી પેઢી (10 કોર, 4.6GHz, 15W TDP)
-
i7-1355U: ઇન્ટેલ કોર i7 13મી પેઢી (10 કોર, 5.0GHz, 15W TDP)
બોર્ડ નક્કી કરે છે:
-
પ્રોસેસર પેઢી, શ્રેણી, મોડલ
-
કોર ગણતરી
-
મહત્તમ આવૃત્તિ
-
કેશ માપ
-
ઇન્ટિગ્રેટેડ ગ્રાફિક્સ
3. RAM
મુખ્ય મેમરી ક્ષમતા:
-
4: 4GB DDR4
-
8: 8GB DDR4
-
16: 16GB DDR4
-
32: 32GB DDR4
-
64: 64GB DDR4
RAM એકમ વિના GB માં સ્પષ્ટ કરવામાં આવે છે.
4. ફ્લેશ
SSD સંગ્રહ ક્ષમતા:
-
128: 128GB SSD
-
256: 256GB SSD
-
512: 512GB SSD
-
1024: 1TB SSD (1024GB)
-
2048: 2TB SSD (2048GB)
ફ્લેશ એકમ વિના GB માં સ્પષ્ટ કરવામાં આવે છે.
5. એડેપ્ટર
ડિસ્પ્લે આઉટપુટ કોન્ફિગરેશન:
-
2H: 2× HDMI પોર્ટ
-
2D: 2× DisplayPort
-
1H1D: 1× HDMI + 1× DisplayPort
-
1H1V: 1× HDMI + 1× VGA
-
3H: 3× HDMI પોર્ટ
એડેપ્ટર ઉપલબ્ધ ડિસ્પ્લે આઉટપુટ નક્કી કરે છે.
6. WiFi
વાયરલેસ કનેક્ટિવિટી:
-
W6: WiFi 6 (802.11ax) + બ્લુટૂથ 5.2
-
W6E: WiFi 6E (802.11ax 6GHz) + બ્લુટૂથ 5.2
-
None: કોઈ વાયરલેસ નથી (ફક્ત ઇથરનેટ)
7. OS
ઓપરેટિંગ સિસ્ટમ:
-
11P: માઈક્રોસોફ્ટ Windows 11 Pro
-
U: Ubuntu Linux 24.04 LTS
-
DOS: FreeDOS (OS વિના)
-
Thinux: Thinvent® Thinux™ એમ્બેડેડ Linux
8. ઍક્સેસરીઝ (વૈકલ્પિક)
વધારાના ઘટકો:
-
KM: કીબોર્ડ + માઉસ કોમ્બો
-
MK: મિકેનિકલ કીબોર્ડ
-
VESA: VESA માઉન્ટ બ્રેકેટ
-
સ્ટેન્ડ: એડજસ્ટેબલ સ્ટેન્ડ
બહુવિધ ઍક્સેસરીઝ જોડી શકાય છે: KM-VESA
SKU માન્યતા
બધા સંયોજનો માન્ય નથી. અમે સુસંગતતા નિયમોનો ઉપયોગ કરી SKU માન્ય કરીએ છીએ:
SKU ફંક્શન તપાસો
def check_sku(sku: str) -> bool:
partids = sku.split("-")
if len(partids) < len(part_sequence):
# ... (implementation details omitted)
સુસંગતતા મર્યાદાઓ
ઘટકો સ્પષ્ટ કરી શકે છે કે તેઓ અન્ય કયા ઘટકો સાથે સુસંગત છે:
ઉદાહરણ: ટ્રેઓ ચેસિસ ચોક્કસ બોર્ડને મંજૂરી આપે છે
{
"Treo": {
"allows": {
"Board": ["N100", "N150", "i5-1335U"],
"RAM": ["4", "8", "16", "32"],
"Adapter": ["2H", "1H1D"]
}
}
}
આ "Treo-i7-64-2048-3H" જેવા અમાન્ય સંયોજનોને રોકે છે (ટ્રેઓ i7 અથવા 3H એડેપ્ટરને સપોર્ટ કરતું નથી).
SKU વિસ્તરણ
અમે SKU ને માનવ-વાંચનીય નામોમાં રૂપાંતરિત કરીએ છીએ:
def expand_sku(sku: str) -> str:
part_ids = sku.split("-")
part_names = [
productdb[part_sequence[i].value][part_id]["external"]
# ... (implementation details omitted)
]
ઉદાહરણ:
ઇનપુટ: Treo-N100-8-256-2H-W6-11P
આઉટપુટ: ટ્રેઓ મિની પીસી, ઇન્ટેલ N100, 8GB DDR4, 256GB SSD, 2× HDMI, WiFi 6, Windows 11 Pro
external ફીલ્ડમાં દરેક ઘટક માટે ગ્રાહક-સામેનું નામ હોય છે.
ફીચર નિષ્કર્ષણ
SKU બંધારણ સ્વચાલિત ફીચર નિષ્કર્ષણને સક્ષમ કરે છે:
ફીચર ક્રમ
અમે નિષ્કર્ષણ માટે ફીચર્સનો ક્રમ વ્યાખ્યાયિત કરીએ છીએ:
feature_sequence = {
"Generation": {"Unit": "", "Heading": "Processing"},
"Series": {"Unit": "", "Heading": "Processing"},
# ... (implementation details omitted)
દરેક ફીચરમાં હોય છે:
-
એકમ: માપન એકમ (GB, GHz, Mbps)
-
હેડિંગ: જૂથ બનાવવા માટે શ્રેણી (પ્રોસેસિંગ, ડિસ્પ્લે, કનેક્ટિવિટી)
ફીચર્સ નિષ્કર્ષણ
SKU માં દરેક ઘટક માટે, અમે તેની ફીચર્સ નિષ્કર્ષિત કરીએ છીએ:
# Board: N100
{
"Generation": "12th",
# ... (implementation details omitted)
આ ફીચર્સ ઉત્પાદનનો સંપૂર્ણ ફીચર સેટ બનાવવા માટે તમામ ઘટકોમાં એકત્રિત કરવામાં આવે છે.
આ બંધારણના ફાયદા
1. અનન્ય ઓળખ
દરેક કોન્ફિગરેશનનો અનન્ય SKU હોય છે. કોઈ અસ્પષ્ટતા નથી.
2. માનવ-વાંચનીય
SKU માનવો દ્વારા વાંચી શકાય તેવું છે:
-
Treo-N100-8-256-2H-W6-11Pસ્પષ્ટ રીતે કોન્ફિગરેશન બતાવે છે -
તે શું છે તે સમજવા માટે ડેટાબેસ જોવાની જરૂર નથી
3. સૉર્ટ કરી શકાય તેવું
SKU કુદરતી રીતે સૉર્ટ થાય છે:
-
Treo-N100-8-256-2H-W6-11P -
Treo-N100-16-512-2H-W6-11P -
Treo-i5-16-512-2H-W6-11P
SKU દ્વારા સૉર્ટ કરવાથી સમાન કોન્ફિગરેશન્સ એકસાથે જૂથબદ્ધ થાય છે.
4. ફિલ્ટર કરી શકાય તેવું
અમે કોઈપણ ઘટક દ્વારા ફિલ્ટર કરી શકીએ