একটি ই-কমার্স সাইট বিবেচনা করুন, যেখানে অ্যালিস এবং বব উভয়ই পণ্য তালিকার সম্পাদনা করছেন। অ্যালিস বর্ণনাগুলিতে উন্নতি করছে, যখন বব দাম আপডেট করছে। তারা একই সাথে একেম ওয়ান্ডার উইজেট সম্পাদনা শুরু করে। বব প্রথমে শেষ করে এবং নতুন দামের সাথে পণ্যটি সংরক্ষণ করে। অ্যালিস বর্ণনাটি আপডেট করতে কিছুটা বেশি সময় নেয় এবং যখন সে শেষ করে, তখন সে তার নতুন বিবরণ দিয়ে পণ্যটি সংরক্ষণ করে। দুর্ভাগ্যক্রমে, তিনি পুরানো দামের সাথে মূল্যও ওভাররাইট করে, যা উদ্দেশ্য ছিল না।
আমার অভিজ্ঞতা হিসাবে, ওয়েব অ্যাপ্লিকেশনগুলিতে এই সমস্যাগুলি অত্যন্ত সাধারণ। কিছু সফ্টওয়্যার (যেমন উইকি সফটওয়্যার) এর বিরুদ্ধে সুরক্ষা রাখে - সাধারণত "আপনি সম্পাদনা করার সময় পৃষ্ঠাটি আপডেট করা হয়েছিল" দিয়ে দ্বিতীয় সেভ ব্যর্থ হয়। তবে বেশিরভাগ ওয়েব সাইটের এই সুরক্ষা নেই।
এটি লক্ষণীয় যে কন্ট্রোলার পদ্ধতিগুলি নিজের মধ্যে থ্রেড-নিরাপদ। সাধারণত তারা ডাটাবেস লেনদেন ব্যবহার করে, যা তাদের এই অর্থে সুরক্ষিত করে যে অ্যালিস এবং বব যদি একই মুহুর্তে সংরক্ষণের চেষ্টা করে তবে এটি দুর্নীতির কারণ হবে না। অ্যালিস বা বব থেকে তাদের ব্রাউজারে বাসি ডেটা থাকার থেকে দৌড়ের অবস্থা দেখা দেয়।
কীভাবে আমরা এই জাতীয় জাতি পরিস্থিতি রোধ করতে পারি? বিশেষত, আমি জানতে চাই:
- কোন কৌশলগুলি ব্যবহার করা যেতে পারে? যেমন শেষ পরিবর্তনের সময় ট্র্যাক করা। প্রতিটি আগপাছ কি হয়.
- একটি সহায়ক ব্যবহারকারীর অভিজ্ঞতা কি?
- এই সুরক্ষাটি কোন ফ্রেমওয়ার্ক তৈরি করেছে?