المعلوماتية > عام

اليوتيوب عجز عن حصر عدد المشاهدات!

لم نتخيل يوماً أن يصِلَ عددُ مشاهداتِ مقطع فيديو ما على موقع اليوتيوب حاجز مايقارب المليارين والنصف مليار (2،147،483،647) مشاهدة، حتى التقينا بـ(PSY) وأغنيته المشهورة (Gangnam Style).

هذا ماصرّح به اليوتيوب بعدما واجه خللاً تقنياً يتعلقُ بتخطي عدد المشاهدات ذلك الرقم الهائل! وقد قامت الشركة بتغطيةِ هذا الخلل عن طريقِ تغيير قيمة مؤشرِ عداد المشاهدات عند تحريك مؤشر الفأرة فوقه، ولكن لما حدث ذلك؟ دعونا نتحدث بلغة الأرقام والرياضيات.

لنفترض أنك تريدُ أن تعبرَ عن متحولٍ واحد فقط في النظام الثنائي (01)، وهذا المتغير يأخذ قيمتين فقط (نعم أو لا) (صح أو خطأ)، فيمكن أن تعبرَ عن ذلك عن طريق بت واحد فقط يأخذُ القيمة 0 أو 1 أي 2^1. لو كان على هذا المتحول أن يأخذ 4 قيم بدلاً من قيمتين فقط، ففي هذه الحالة تحتاج إلى 2 بت لتشفير قيمة هذا المتحول والذي يمكن أن يأخذ 4 قيم، أي 2^2 والتي تعبر عن القيم (00،01،10،11).

وكما نعلم أنه في لغة الحاسوب أو لغات البرمجة، فإن مجموعة من 8 بت تعادل 1 بايت، وبهذا البايت الواحد يمكنُ للمتحول السابق أن يأخذَ 256 قيمة لأن 2^8=256، وإذا كان لهذا المتحول قيمة رقمية فإنه يستطيع أن يأخذ قيماً تتراوحُ بين 0 و255 في حال كانت القيم طبيعية، أو مابين -128 إلى 127 في حال كانت القيم صحيحة. كذلك الأمر في حال استخدمنا 2 بايت (أي 16 بت) لتشفير الأعداد، فعندها يستطيع هذا المتحول أن يأخد قيماً تتراوح مابين –32،768 إلى 32،767 وهو مايعرف ببعض لغات البرمجة بـ"INT16".

ماحدث مع شركة اليوتيوب أنها استخدمت متحولاً يأخذ 4ِ بايت لأجل تشفيرعداد المشاهدات، أي 32 بت للتشفير وهو مايدعى "int32"، أي أن المتحول يستطيعُ أن يأخذَ 2^32 قيمة أي مايقارب 4 مليار قيمة وتحديداً 4,294,967,296 قيمة، أي أنه يستطيع أن يأخذ قيماً مابين 2,147,483,648- إلى 2,147,483,648 وهو الرقم الذي توقفَ عنده عداد المشاهدات في اليوتيوب. ولحل المشكلة يتوجب على الشركة استخدام نمطٍ من المتحولات والذي يأخذ 64 بت للتشفير بدلاً من 32 بت والذي يستطيع أن يأخذ 9،223،372،036،854،775،808 قيمة أي مشاهدة.

المصادر:

هنا

us/library/aa263420(v=vs.60).aspx-هنا

-t.com/enهنا(v=vs.85).aspx