خب اول بریم سراغ چالشی که 3 سال پیش (1399) داشتم.

روی یک پروژه ای کار میکردم که کاربران هر روز صدها هزار لاگ فایل با حجم های بالای 100 گیگ در یک وب اپلیکیشن جهت پردازش و انتقال به ELK آپلود می کردند.

مشکل اینجا بود که اگر کاربران فایل های تکراری عمدا یا سهوا  آپلود میکردند سیستم نمی توانست تشخیص بده و پردازش خودش ادامه میداد و مشکل ایجاد پوینت های تکراری و افزایش حجم دیتابیس و کاهش سرعت بر می خورد

که امروز در یک جلسه ای آقا دانیال به یک موضوع در خصوص حذف لاگ فایل های تکراری اشاره کرد که مشکل پروژه ای 3 سال پیش داشتم را برطرف کرد.

راه حل این بود که هنگامی که فایل در وب اپلیکشن آپلود میشه میتونیم همزمان SIGNATURE  یا CHECKSUM فایل رو چک کنیم در صورتی که تکراری بود اجازه آپلود و اجازه پردازیش ندیم که در ادامه به چند زبان مختلف نشون میدیم.

فرض کنید دو فایل تکراری با نام های مختلف داریم:

بررسی Checksum در CMD

با این دستور میتونیم checksum لاگ فایل رو چک کنیم اگر check آنها یکسان باشد یعنی فایل تکراری می باشد:

 

بررسی Checksum در Python

بررسی Checksum در PHP