DEV Community

hediyeh kianmehr
hediyeh kianmehr

Posted on • Edited on

پروژه خودکارسازی MFS

📌 معرفی پروژه و اهداف آن

پروژه حاضر با هدف شناسایی، تحلیل و خودکارسازی تسک‌های روزانه و تکراری تیم MFS (Mobile Financial System) تعریف شده است. در این پروژه، ابتدا وظایفی که از سمت ایرانسل دریافت می‌شوند، بررسی شده و سپس به کمک الگوریتم‌های هوش مصنوعی (AI)، این تسک‌ها شناسایی و طبقه‌بندی می‌شوند. در ادامه، ماژول‌های خودکاری طراحی و پیاده‌سازی می‌شوند که قادرند به‌طور اتوماتیک عملیات موردنظر را بر روی پایگاه‌داده (DB) و سرور انجام داده و نهایتاً نتایج را از طریق ایمیل اطلاع‌رسانی نمایند.

🧱 معرفی معماری سیستم

معماری سیستم‌های MFS در ایرانسل ترکیبی از چند ماژول بزرگ و حیاتی است که با هم یک اکوسیستم تراکنشی را شکل می‌دهند. دو بخش بسیار مهم این معماری عبارتند از:

🔸 1. سیستم IPS (Intelligent Payment System)

وظایف:

  • مدیریت روش‌های پرداخت، کنترل وضعیت تراکنش‌ها و ارتباط با بانک‌ها.
  • پیاده‌سازی سیاست‌های امنیتی مانند Tokenization و Session Management.

اجزای اصلی IPS:

لایه/ماژول توضیح
لایه API سرویس‌های REST یا SOAP برای پذیرش درخواست‌های کانال‌ها یا مرچنت‌ها.
لایه منطق کسب‌وکار شامل قوانین بیزینسی برای مدیریت روش‌های پرداخت و تصمیم‌گیری در لحظه.
لایه ادغام ارتباط با بانک‌ها، E-Refill یا سایر سیستم‌های اپراتور.
Logging & Audit ذخیره لاگ تمام تراکنش‌ها به‌صورت دقیق با Tracking ID.

APIهای کلیدی IPS:

  • GetPaymentMode: شناسایی روش‌های پرداخت قابل استفاده برای یک سرویس خاص.
  • CapturePayment: ثبت نهایی پرداخت پس از انتخاب روش پرداخت.
  • TransactionStatusUpdate: بررسی وضعیت تراکنش‌های معلق یا ناموفق.

🔸 2. سیستم E-Refill

نقش اصلی:
سیستم E-Refill ماژول عملیاتی کلیدی در معماری MFS است که وظایف اصلی زیر را بر عهده دارد:

  • اجرای عملیات شارژ، فعال‌سازی بسته‌ها، Topup و Bonus.
  • نگهداری Log کامل تراکنش‌ها در پایگاه داده.
  • مدیریت ارتباط با سیستم‌های Core Telco مانند IN.
  • مدیریت موجودی مرچنت‌ها و کاربران نهایی.

اجزای اصلی E-Refill:

لایه/ماژول توضیح
لایه API ارائه وب‌سرویس‌های SOAP/XML و REST/JSON برای درخواست‌های مرچنت‌ها یا IPS.
لایه منطق کسب‌وکار پیاده‌سازی Business Ruleهای شارژ و بسته‌ها.
لایه ادغام ارتباط با نود IN جهت انجام عملیات شارژ مستقیم یا فعال‌سازی بسته‌ها.
لایه پایگاه داده ذخیره‌سازی دقیق اطلاعات تراکنش‌ها در جداولی مانند MFSTC.

APIهای کلیدی E-Refill:

  • Topup: انجام عملیات شارژ روی سیم‌کارت کاربر.
  • Balance Inquiry: استعلام موجودی مرچنت یا کاربر.
  • GetStatus: بررسی وضعیت یک تراکنش خاص.
  • Offer Activation: فعال‌سازی بسته‌ها یا سرویس‌های ارزش افزوده.

🔹 ویژگی‌های دیتابیس E-Refill

  • پارتیشن‌بندی: جدول‌ها برای بهینه‌سازی عملکرد پارتیشن‌بندی می‌شوند (مثلاً پارتیشن روزانه P_20240522).
  • فیلدهای کلیدی در جدول MFSTC:
    • TRANSACTION_ID
    • ORIGIN_MSISDN
    • DEST_MSISDN
    • TRANSACTION_DATE
    • TRANSACTION_AMOUNT
    • ERROR_CODE
    • EXTERNAL_TRANSACTION_ID
    • OFFER_ID
    • MERCHANT_NAME

🔹 مسیر داده در E-Refill

  1. ارسال درخواست از IPS یا مرچنت به E-Refill (Topup، Offer Activation و غیره).
  2. بررسی پارامترهای ورودی (مانند ClientUsername، TransactionPin، FeatureId).
  3. ارتباط با IN برای انجام عملیات.
  4. ثبت اطلاعات در دیتابیس (در جدول MFSTC).
  5. ارسال پاسخ به IPS یا مرچنت.

🔹 نکات کلیدی

  • IPS و E-Refill دو ماژول مستقل ولی کاملاً وابسته به یکدیگر هستند.
  • Transaction ID در کل مسیر حفظ می‌شود تا تراکنش‌ها قابل ردیابی باشند.
  • تمامی تراکنش‌ها در MFSTC ثبت می‌شوند.

🔹 فناوری‌های استفاده‌شده

سیستم IPS

  • زبان برنامه‌نویسی و پلتفرم: توسعه‌یافته با Java (پلتفرم J2EE).
  • احراز هویت و امنیت: استفاده از Basic HTTP Authorization و Tokenization.
  • ارتباط با بانک‌ها: اتصال مستقیم به درگاه‌های بانکی از طریق HTTPS امن.
  • ذخیره‌سازی داده‌ها: ثبت دقیق لاگ تراکنش‌ها.

سیستم E-Refill

  • زبان برنامه‌نویسی و پلتفرم: توسعه‌یافته با Java و استفاده از وب‌سرویس‌های SOAP/XML.
  • احراز هویت و امنیت: احراز هویت از طریق ارسال ClientUsername و ClientPassword.
  • پایگاه داده: استفاده از پایگاه داده Oracle با جدول اصلی MFSTC.

🔹 نمونه‌ی تسک و فرآیند اتوماسیون پیشنهادی

یکی از تسک‌های پرتکرار در تیم MFS، بررسی تراکنش‌های بانکی مرتبط با شماره‌های خاص MSISDN است. فرآیند فعلی به‌صورت دستی انجام می‌شود و شامل مراحل زیر است:

  1. دریافت ایمیل حاوی لیست شماره‌ها (MSISDN) و بازه زمانی مورد نظر.
  2. اجرای چند کوئری SQL روی دیتابیس‌های PGDB و EREFILL.
  3. تهیه گزارش در قالب فایل Excel.
  4. ارسال پاسخ به ایمیل اولیه به همراه فایل Excel.
  5. ثبت وضعیت تسک در سیستم iCare.

🔹 راهکار پیشنهادی اتوماسیون با n8n + AI

این تسک قابلیت اتوماسیون کامل دارد. مراحل پیشنهادی شامل:

  1. تحلیل ایمیل ورودی با هوش مصنوعی: تحلیل محتوای ایمیل دریافتی و شناسایی کلیدواژه‌ها.
  2. استخراج اطلاعات از متن ایمیل: استخراج شماره‌های MSISDN و بازه زمانی.
  3. ارسال اطلاعات به فلو n8n: دریافت JSON و اجرای کوئری‌های SQL.
  4. تولید فایل Excel: تبدیل خروجی کوئری‌ها به فرمت فایل Excel.
  5. ارسال پاسخ خودکار ایمیلی: ارسال ایمیل با فایل Excel ضمیمه.
  6. ثبت وضعیت تسک در iCare: تغییر وضعیت تسک در iCare به Pending Confirmation.

🔹 مراحل انجام پروژه

  1. بررسی معماری نودهای MFS.
  2. شناسایی و دسته‌بندی انواع تسک‌های موجود.
  3. تحلیل روند پاسخ‌دهی به هر تسک.
  4. پیاده‌سازی محیط تست (Test Environment).
  5. طراحی مدل هوش مصنوعی برای تحلیل تسک‌ها.
  6. طراحی و پیاده‌سازی فلوهای n8n.
  7. تست و اعتبارسنجی نهایی.

🔹 منابع مورد نیاز برای اجرای پروژه

  • Workspace: محیطی مانند Maestro Engine یا n8n.
  • پایگاه داده: دیتابیس‌های مشابه سرورهای نود MFS.
  • سیستم ارسال ایمیل: سرور SMTP یا Mail API.
  • مدل هوش مصنوعی (AI): مدل‌های NLP مانند GPT.
  • ابزار مدیریت فایل: کتابخانه‌ها یا نرم‌افزارهای مدیریت فایل Excel و JSON.
  • سیستم مدیریت تسک: سیستم‌هایی مانند iCare یا مشابه آن.
  • سرور: سرورهای با دسترسی مشابه محیط نود MFS.

Top comments (0)