PDA

View Full Version : سوال: راهکار ذخیره کردن log ترافیک شبکه در دیتابیس و عدم تخریب اطلاعات در صورت crash کردن برنامه



Hamid19
پنج شنبه 04 فروردین 1390, 17:26 عصر
سلام
عیدتون مبارک
من یک نرم افزار نوشتم که ترافیک شبکه که برنامه ها استفاده میکنه رو حساب میکنه
یعنی مثل یه پروکسی عمل میکنه که برنامه ها از این پروکسی استفاده میکنند و مقدار مصرفشون رو پروکسی محاسبه میکنه
حالا من میخوام مقدار این مصرف رو در دیتابیس بزنم
یک راه حل اینه که نرم افزار به پروکسی وصل شد و بعد قطع شد مقدار مصرف رو حساب کنم و در دیتابیس بزنم
حالا این راه مشکلش اینه که اگه برنامه وسط کار باگ بده برنامه های متصل مقدار مصرفشون در دیتابیس ذخیره نمیشه
یک راه اینه که من در پریود خاص مثلا 10 ثانیه به ده ثانیه بیام اطلاعات مصرف رو ذخیره کنم تا در زمان باگ دادن اطلاعاتی از دست نره ولی مشکل این روش هم اینه که دیتای بیهوده زیادی در دیتابیس زده میشه که حجم رو الکی میبره بالا
حالا پیشنهاد دوستان چی هست از چه راه حلی باید استفاده بشه
از ترکیبی از این دو راه حل استفاده بشه یا اینکه راه حل بهتر دیگه ای مد نظرتونه

sinashahab
پنج شنبه 04 فروردین 1390, 17:40 عصر
ببین این کارو میتونی بکنی / :
یه فایل توی temp بساز و هر دقیقه مصرف رو توی فایل آپدیت کنه . اگه قطع شد این مقدار رو که توی فایل هست اضافه کنه و پاک کنه.
حالا اگه برنامه به هر دلیل بسته شد ، موقع باز شدن دفعه ی بعد چک کنه که اگه فایل وجود داشت توی همین اول کار این مقدارو به دیتابیس اضافه کنه و پاکش کنه و یه فایل جدید بسازه .

چطوره ؟

Hamid19
پنج شنبه 04 فروردین 1390, 20:28 عصر
عالیه
آره نهایتا خودم هم به همین نتیجه رسیدم
اطلاعات رو ریختم تو یه فایل XML
و همین کارایی که شما فرمودید انجام دادم
خیلی ممنون از راهنماییتون عزیز