বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

প্রথম প্রচষ্টো: শুধু সর্বমোটটি (টোটাল) স্টোর করুন

প্রথম চিন্তাতে, এটা মনে হতে পারে যে ক্লাউড সেভ ডাটাকে শুধুমাত্র ব্যাঙ্কে কয়েনের সংখ্যা হওয়া উচিত। কিন্তু যদি যাটা যেটুকু বিদ্যমান আছে সেটুকুই হয়, কনফ্লিক্ট রেজ্যুলেশন জোড়ালোভাবে সীমিত হবে। সবচেয়ে ভালো হচ্ছে একটি কনফ্লিক্টের ক্ষেত্রে দুইটা সংখ্যার বড়টা বেছে নেয়া।

টেবিল ১. এ ব্যাখ্যা করা চিত্রটি বিবেচনা করুন। হতে পারে প্লেয়ারের প্রাথমিকভাবে ২০টি কয়েন আছে এবং তারপর ডিভাইস A থেকে ১০ টি কয়েন এবং ডিভাইস B থেকে ১৫ কয়েন সংগ্রহ করলো। তখন ডিভাইস B ক্লাউডে ডাটা স্টেট সেভ করে। যখন ডিভাইস A সেভ করার চেষ্টা করে, একটি কনফ্লিক্ট চিহ্নিত হয়। "Store Only the Total"/ “শুধু সর্বমোটটি স্টোর করুন” কনফ্লিক্ট রেজ্যুলেশন এলোগরিদম ৩৫(দুইটা সংখ্যার মধ্যে বড়টা) লেখার মাধ্যমে কনফ্লিক্ট সমাধান করতে পারে।

টেবিল ১. শুধু কয়েনের সর্বমোটটি (টোটাল) স্টোর করা (অসফল কৌশল):

Event Data on Device A Data on Device B Data on Cloud Actual Total
Starting conditions 20 20 20 20
Player collects 10 coins on device A 30 20 20 30
Player collects 15 coins on device B 30 35 20 45
Device B saves state to cloud 30 35 35 45
Device A tries to save state to cloud. Conflict detected. 30 35 35 45
Device A resolves conflict by picking largest of the two numbers. 30 35 35 45

এই কৌশল অসফল হতে পারে- প্লেয়ারের ব্যাঙ্ক ২০ থেকে ৩৫ চলে যেতে পারে, যখন ইউজার আসলেই সর্বমোট ২৫ কয়েন সংগ্রহ করে (ডিভাইস A তে ১০ টি কয়েন এবং ডিভাইস B তে ১৫ কয়েন)। সুতরাং ১০ টি কয়েন হারিয়ে যায়। ক্লাউড সেভের মধ্যে শুধু কয়েনের সর্বমোটটি (টোটাল) স্টোর করা একটি রোবাস্ট কনফ্লিক্ট রেজ্যুলেশন এলগরিদম বাস্তবায়নের জন্য যথেষ্ট নয়।