ਉਤਪਾਦ ਅਤੇ SKU ਆਰਕੀਟੈਕਚਰ: ਬਣਤਰਬੱਧ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਿਸਟਮ
ਇਹ ਲੇਖ ਦੱਸਦਾ ਹੈ ਕਿ ਅਸੀਂ ਹਜ਼ਾਰਾਂ ਉਤਪਾਦ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਇੱਕ ਬਣਤਰਬੱਧ SKU ਸਿਸਟਮ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਦੇ ਹਾਂ।
ਸਮੱਸਿਆ: ਕੰਬੀਨੇਟੋਰਿਅਲ ਵਿਸਫੋਟ
ਇੱਕ ਕੌਂਫਿਗਰੇਬਲ ਉਤਪਾਦ ਦੇ ਕਈ ਵਿਕਲਪ ਹੁੰਦੇ ਹਨ:
- 17 ਚੈਸਿਸ ਕਿਸਮਾਂ × 17 ਪ੍ਰੋਸੈਸਰ × 8 RAM ਆਕਾਰ × 19 ਸਟੋਰੇਜ ਆਕਾਰ × 6 WiFi ਵਿਕਲਪ × 9 OS ਵਿਕਲਪ = 2,372,112 ਸੰਭਾਵਿਤ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ
ਹਰੇਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਹੱਥੀਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਅਸੰਭਵ ਹੈ:
-
2,372,112 ਉਤਪਾਦ ਵੇਰਵੇ ਲਿਖਣੇ
-
2,372,112 ਕੀਮਤ ਗਣਨਾਵਾਂ ਬਣਾਈ ਰੱਖਣੀਆਂ
-
2,372,112 ਇਨਵੈਂਟਰੀ ਰਿਕਾਰਡ ਟਰੈਕ ਕਰਨੇ
-
2,372,112 ਉਤਪਾਦ ਪੰਨੇ ਬਣਾਉਣੇ
ਸਾਨੂੰ ਇੱਕ ਅਜਿਹੇ ਸਿਸਟਮ ਦੀ ਲੋੜ ਹੈ ਜੋ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਢੰਗ ਨਾਲ ਤਿਆਰ ਕਰੇ।
ਹੱਲ: 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 -
ਲੰਬਾਈ: ਹਮੇਸ਼ਾ 8 ਹਿੱਸੇ (ਕੁਝ ਵਿਕਲਪਿਕ ਸ਼੍ਰੇਣੀਆਂ ਲਈ ਖਾਲੀ ਹੋ ਸਕਦੇ ਹਨ)
SKU ਪਾਰਸਿੰਗ
SKU ਨੂੰ part_sequence ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਾਰਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਸ਼੍ਰੇਣੀਆਂ ਦੇ ਕ੍ਰਮ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
ਵਿਸ਼ੇਸ਼ਤਾ ਨਿਕਾਸੀ
ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ productdb ਤੋਂ find_features() ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੱਢਿਆ ਜਾਂਦਾ ਹੈ:
- ਹਿੱਸੇ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ: productdb ਤੋਂ ਹਿੱਸਾ ਪ੍ਰਾਪਤ ਕਰੋ
- provides ਸ਼ਾਮਲ ਕਰੋ:
providesਫੀਲਡ ਤੋਂ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕਾਪੀ ਕਰੋ - constituents ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰੋ: ਉਪ-ਕੰਪੋਨੈਂਟਾਂ ਤੋਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਰੀਕਰਸਿਵਲੀ ਸ਼ਾਮਲ ਕਰੋ
- ਸੰਖਿਆਤਮਕ ਮੁੱਲ ਗੁਣਾ ਕਰੋ: ਮਾਤਰਾਵਾਂ ਲਈ (ਜਿਵੇਂ ਭਾਰ, RAM)
ਵਿਸ਼ੇਸ਼ਤਾ ਏਕੀਕਰਨ
ਇੱਕ ਪੂਰੇ SKU ਲਈ, ਸਾਰੇ ਹਿੱਸਿਆਂ ਤੋਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਇਕੱਠੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਏਕੀਕਰਨ ਪ੍ਰਕਿਰਿਆ SKU ਵਿੱਚ ਸਾਰੇ ਹਿੱਸਿਆਂ ਤੋਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋੜਦੀ ਹੈ।
ਵਿਸ਼ੇਸ਼ਤਾ ਕ੍ਰਮ
feature_sequence ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਕਿ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ:
-
ਕੁੰਜੀ: ਵਿਸ਼ੇਸ਼ਤਾ ਨਾਮ (ਜਿਵੇਂ "ਪ੍ਰੋਸੈਸਰ ਮਾਡਲ", "ਸਕ੍ਰੀਨ ਆਕਾਰ")
-
ਮੁੱਲ:
ਯੂਨਿਟਅਤੇਹੈਡਿੰਗਨਾਲ ਡਿਕਟ -
ਹੈਡਿੰਗਜ਼: ਪ੍ਰੋਸੈਸਿੰਗ, ਡਿਸਪਲੇਅ, ਆਡੀਓ, ਕਨੈਕਟੀਵਿਟੀ, ਨੈਟਵਰਕਿੰਗ, ਪਾਵਰ, ਵਾਤਾਵਰਣਕ, ਭੌਤਿਕ, ਐਕਸੈਸਰੀਜ਼, ਆਪਰੇਟਿੰਗ ਸਿਸਟਮ
ਵਿਸ਼ੇਸ਼ਤਾ ਕ੍ਰਮ
feature_sequence ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਕਿ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਉਨ੍ਹਾਂ ਦੀਆਂ ਯੂਨਿਟਾਂ ਅਤੇ ਹੈਡਿੰਗਾਂ ਨਾਲ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
ਫਿਲਟਰਿੰਗ ਲਈ ਫੈਸਟ
FACETS_FOR_FILTERING feature_sequence ਤੋਂ ਗਤੀਸ਼ੀਲ ਢੰਗ ਨਾਲ ਤਿਆਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
-
ਛੱਡਿਆ: OS ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਆਕਾਰ, ਭਾਰ, ਕੈਸ਼
-
ਹੈਡਿੰਗ ਦੁਆਰਾ ਸਮੂਹ: ਪ੍ਰੋਸੈਸਿੰਗ, ਡਿਸਪਲੇਅ, ਆਡੀਓ, ਆਦਿ।
-
ਵਰਤੋਂ ਲਈ: ਕੁਐਰੀ ਪੰਨਾ ਫਿਲਟਰ, ਉਤਪਾਦ ਖੋਜ
ਫਿਲਟਰ ਫੈਸਟ ਬਣਤਰ
FACETS_FOR_FILTERING ਕੁਐਰੀ ਪੰਨਾ ਫਿਲਟਰਾਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਹੈਡਿੰਗ ਦੁਆਰਾ ਸਮੂਹਿਤ ਕਰਦੀ ਹੈ।
ਵਿਸ਼ੇਸ਼ਤਾ ਟੇਬਲ
ਵਿਸ਼ੇਸ਼ਤਾ ਟੇਬਲ product_features() ਤੋਂ ਤਿਆਰ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ:
- ਹੈਡਿੰਗ ਦੁਆਰਾ ਸਮੂਹ: ਪ੍ਰੋਸੈਸਿੰਗ, ਡਿਸਪਲੇਅ, ਆਦਿ।
- ਫਾਰਮੈਟ ਮੁੱਲ: ਜਿੱਥੇ ਲਾਗੂ ਹੋਵੇ ਯੂਨਿਟਾਂ ਸ਼ਾਮਲ ਕਰੋ
- 2-ਕਾਲਮ ਲੇਆਉਟ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ: ਉਤਪਾਦ ਪੰਨਿਆਂ ਲਈ ਸੰਤੁਲਿਤ
ਵਿਸ਼ੇਸ਼ਤਾ ਟੇਬਲ ਉਦਾਹਰਨ
| ਪ੍ਰੋਸੈਸਿੰਗ | |
|---|---|
| ਪ੍ਰੋਸੈਸਰ ਮਾਡਲ | ਇੰਟਲ i5-12400 |
| ਕੋਰ | 6 |
| ਅਧਿਕਤਮ ਫ੍ਰੀਕੁਐਂਸੀ | 4.4 GHz |
| ਮੁੱਖ ਮੈਮੋਰੀ | 16 GB |
| ਡਿਸਪਲੇਅ | |
|---|---|
| ਸਕ੍ਰੀਨ ਆਕਾਰ | 21.5 ਇੰਚ |
| ਰੈਜ਼ੋਲਿਊਸ਼ਨ | 1920 × 1080 |
| ਚਮਕ | 250 ਨਿਟਸ |
ਕ੍ਰਾਸ-ਰੈਫਰੈਂਸ
-
ਉਤਪਾਦ ਪੰਨੇ ਅਤੇ ਡੇਟਾਸ਼ੀਟ - ਉਤਪਾਦ ਪੰਨਿਆਂ ਲਈ ਉਤਪਾਦ ਜਾਣਕਾਰੀ ਕਿਵੇਂ ਜੋੜੀ ਜਾਂਦੀ ਹੈ
-
ਕੁਐਰੀ ਪੰਨਾ ਜਨਰੇਸ਼ਨ - ਖੋਜ ਕੁਐਰੀਆਂ ਫਿਲਟਰਿੰਗ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਦੀਆਂ ਹਨ
-
ਸਰਚ ਸਰਵਿਸ ਆਰਕੀਟੈਕਚਰ - ਖੋਜ ਫਿਲਟਰਿੰਗ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
-
ਅਨੁਵਾਦ ਸਿਸਟਮ - ਉਤਪਾਦ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਅਨੁਵਾਦ ਕਿਵੇਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
ਬਾਹਰੀ ਲਿੰਕ
-
PynamoDB ਦਸਤਾਵੇਜ਼ੀਕਰਨ - ਉਤਪਾਦ ਡੇਟਾ ਲਈ ਵਰਤੀ ਗਈ DynamoDB ORM
-
Flask ਦਸਤਾਵੇਜ਼ੀਕਰਨ - ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਵੈਬ ਫਰੇਮਵਰਕ
-
JSON.org - JSON ਫਾਰਮੈਟ ਨਿਰਧਾਰਨ
ਸਾਰਾਂਸ਼
ਉਤਪਾਦ ਅਤੇ SKU ਆਰਕੀਟੈਕਚਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
-
ਇੱਕੋ ਸਰੋਤ ਸੱਚਾਈ: ਸਾਰੀ ਉਤਪਾਦ ਜਾਣਕਾਰੀ ਲਈ productdb.json
-
**ਵਿਸ਼