ما الذي يعنيه «الحتمي» فعليًا في طبقة التسوية
التسوية الحتمية هي عقد: يجب أن ينتج نفس المدخل دائمًا نفس المخرج، إلى الأبد. بالنظر إلى سجل رهان وسجل نتيجة رسمية، تُرجع دالة التسوية إحدى ثلاث قيم — settled، void، pending_review. لا توجد طوابع زمنية في المنطق، ولا استدعاءات لـ Math.random()، ولا قراءات لحالة قابلة للتغيير مشتركة.
يبدو هذا واضحًا حتى ترى مدى تكرار انتهاكه في الإنتاج. عامل يقرأ ذاكرة التخزين المؤقت للاحتمالات لحساب استرداد الإلغاء ليس حتميًا. مزيد من السياق في تشريح التكامل لدينا.
يفرض محرك Sporbet Soft الحتمية من خلال معاملة التسوية كدالة خالصة من معاملين — مُصدَّرة وقابلة للإعادة.
الخطوة الأولى: التحقق من تدفق المصدر قبل تشغيل الدالة
قبل تنفيذ دالة التسوية، يتحقق المحرك من النتيجة الرسمية. تأتي النتيجة من أحد التدفقات الأولية (Sportradar/Betradar، Genius Sports، BetGenius) بالإضافة إلى فحص اختياري لتدفق ثانوي. ترفض طبقة التحقق النتائج التي تفشل في أي من خمس بوابات. يتم وضع علامة على النتائج الشاذة. تُدرج النتائج المتعارضة بين تدفقين في قائمة انتظار لمراجعة التداول. تُحتجز النتائج التي تصل قبل عتبة وقت النهاية الرسمية (عادة الدقيقة 85 لكرة القدم).
فقط بعد أن تجتاز النتيجة جميع البوابات الخمس تصبح مدخلًا للتسوية. يبدو هذا مثل حمل إضافي حتى تتذكر أن حدث تدفق سيئ يقوم بتسوية تلقائية لسوق في الاتجاه الخاطئ يمكن أن يكلف المشغل أكثر من رسوم البائع ربع السنوية.
الخطوة الثانية: البحث عن قالب السوق واختيار الدالة
كل سوق يقدمه sportsbook مدعوم بـ قالب سوق مُصدَّر: مستند JSON يلتقط اسم السوق، اختياراته، معاملاته و — بشكل حرج — مرجعًا لدالة التسوية التي تعرف كيف تسويه. سوق 1X2 الوقت الكامل يشير إلى settle_1x2_ft. الإعاقة الآسيوية -1.25 تشير إلى settle_asian_handicap مع معامل الخط مدمج في سجل الرهان.
القالب مُصدَّر لأن تعريفات السوق تتغير. عندما تتحول دوري من الموت المفاجئ إلى تنسيق وقت إضافي من فترتين، يشحن القالب المقابل نسخة جديدة. رهان عمره خمس سنوات لا يزال يُسوى بموجب القواعد التي كانت سارية في يوم وضعه.
الخطوة الثالثة: تنفيذ الدالة وتسجيل الإعادة
مع التحقق من النتيجة واختيار القالب، تعمل دالة التسوية. الدالة هي قطعة كود شبه خالصة — تأخذ الرهان والنتيجة واختياريًا محاولة التسوية السابقة، وتُرجع قرار التسوية بالإضافة إلى مبلغ الدفع. لا I/O، لا قراءات للساعة، لا أرقام عشوائية.
كل تنفيذ يكتب حدث تسوية إلى سجل التدقيق append-only. تقرن Sporbet Soft سجل التدقيق مع مجموعة إعادة اصطناعية تعيد تشغيل كل تسوية ليليًا مقابل أحدث إصدارات الدالة وتشير إلى أي انحراف. في أربع سنوات من التشغيل، اكتشفنا اثنين من أخطاء التسوية الحقيقية بهذه الطريقة قبل أن يلاحظها أي عميل.
دلالات الإلغاء وعدم قابلية تغيير الاختيارات المسواة بالفعل
الإلغاء هو حيث تنهار محركات التسوية الساذجة. التفسير الحدسي — «تم إلغاء مباراة، لذا دعنا نعكس كل شيء» — خطير. إذا وضع لاعب مراكمًا رباعي الأرجل وتمت تسوية الرجل الثالث وقيدت بالفعل، فإن إلغاء المباراة بأكملها بأثر رجعي سيجبر المحرك على استرداد الرصيد من محفظة تم إنفاقها أو سحبها منذ ذلك الحين.
قاعدة Sporbet Soft صريحة: الاختيارات المسواة بالفعل غير قابلة للتغيير عند الإلغاء. عند إلغاء مباراة، يُلغي المحرك فقط الاختيارات التي لا تزال pending في وقت معالجة الإلغاء؛ الاختيارات التي هي بالفعل settled تبقى مسواة، ويُعاد حساب دفع multi-bet بمعاملة الرجل الملغى كـ «رجل ملغى» باحتمال فعلي 1.00.
وفقًا لقواعد إنهاء المباراة التي يتحكم بها المشغل — انظر ضوابط مخاطر المشغل — يتطلب الإلغاء رمز سبب من تصنيف ثابت ومعرف مستخدم مشغل.
إعادة حساب multi-bet وتسوية cashout الجزئي
إعادة حساب multi-bet هي إحدى الميزات الأعلى رافعة في المحرك. عندما يُسوى رجل واحد من مراكم، لا ينتظر المحرك أن يكون الرهان بأكمله جاهزًا — يعيد حساب تعرض الرهان والمسؤولية المفتوحة للمشغل بشكل تدريجي.
يضيف cashout الجزئي محورًا ثانيًا. لاعب يصرف 40٪ من مراكم رباعي الأرجل بعد فوز رجلين يترك 60٪ من الرهان نشطًا؛ يجب على المحرك تسوية cashout الـ 40٪ مقابل المحفظة، ووضع علامة على 60٪ من الرهان الأصلي على أنها لا تزال معرضة للخطر، والاستمرار في إعادة حساب multi.
التحدي الهندسي ليس الرياضيات، إنه التزامن. تستخدم Sporbet Soft مفاتيح idempotency مشتقة من معرف الرهان ومعرف الرجل وعداد محاولات التسوية — انظر بنية زمن انتقال الاحتمالات لدينا.
حل النزاع: رابط سجل التدقيق هو الإجابة
تدفق حل النزاع الذي يتطلب رسالة Slack من قاعة التداول يتوسع مثل رسالة Slack — أي لا يتوسع على الإطلاق. نموذج Sporbet Soft هو أن كل نزاع يبدأ وينتهي عند رابط سجل تدقيق الرهان في لوحة الشريك. يكشف الرابط على شاشة واحدة: سجل الرهان، لقطة محفظة اللاعب، نتيجة التدفق المُتحقق منها، إصدار القالب، إصدار الدالة، القرار، الدفع، كل حدث cashout، كل حدث إلغاء وزر إعادة بنقرة واحدة.
في أربع سنوات من التشغيل، متوسط وقت الحل لنزاع تسوية في Sporbet Soft أقل من دقيقتين؛ المعيار الصناعي المماثل على منصات الفئة الأولى مع تسوية غير قابلة للإعادة أقرب إلى يومين.
هذه التفاصيل هي ما يخفيه iframe عن مهندسيك.