آموزش و راهنمای جامع عملکرد سیستم

آموزش گام‌به‌گام و مو‌به‌مو کار با بخش‌های مختلف سامانه گزارش‌ساز هوشمند

جریان کلی پردازش در سامانه

سامانه گزارش‌ساز هوشمند طراحی شده است تا درخواست طبیعی کاربر (مثلاً: "لیست تجهیزاتی که در ۳۰ روز گذشته نیاز به تعمیر داشته‌اند را نشان بده") را گرفته و با طی کردن ۵ مرحله خودکار و هوشمند، آن را تبدیل به گزارش بصری جذاب و مستند نماید.

مراحل پنج‌گانه پردازش داده‌ها:

۱

تحلیل معنایی و بازیابی طرح‌واره (RAG)

درخواست متنی شما توسط عامل هوشمند پردازش می‌شود. با استفاده از پایگاه داده برداری ChromaDB، منابع داده و جداول مرتبط شناسایی می‌شوند.

۲

تولید طرح عملیاتی (Execution Plan)

عامل هوشمند ساختار عملیاتی استخراج را در قالب یک فایل JSON حاوی فیلترها، متدهای تجمیع و ارتباطات جداول (Joins) ایجاد می‌کند.

۳

استخراج ایمن داده‌ها

لایه استخراج با استفاده از درایورهای مربوطه به دیتابیس‌های فیزیکی متصل شده و داده‌های خام اولیه را دریافت می‌نماید.

۴

پردازش فوق‌سریع با DuckDB

داده‌های استخراج‌شده وارد موتور پایگاه داده محلی درون‌حافظه‌ای DuckDB شده و محاسبات آماری، تجمیع و فیلترینگ با سرعت و امنیت بالا روی آن‌ها اعمال می‌شود.

۵

نمایش بوم و رسم نمودار ECharts

خروجی‌های پردازش شده با قالب انتخاب شده انطباق داده شده و به پیکربندی نمودارهای تعاملی ECharts ترجمه می‌گردند.

لایه استخراج داده‌ها (Extraction Layer)

این لایه وظیفه برقراری ارتباط، ثبت و نمایه‌سازی منابع داده گوناگون شرکت نفت و گاز را بر عهده دارد.

۱. منابع داده پشتیبانی شده:

PostgreSQL Microsoft SQL Server Oracle Database MongoDB REST / SOAP API فایل‌های Excel / CSV

۲. همگام‌سازی طرح‌واره (Schema Synchronization):

وقتی یک منبع داده ثبت می‌شود، سامانه تمام ساختار جداول (Table Metadata) و جزئیات فیلدها (Field Metadata) نظیر کلیدهای اصلی و خارجی و نوع داده‌ها را بررسی و ذخیره می‌کند. همچنین به صورت خودکار توضیحات تجاری فیلدها را در پایگاه داده برداری ChromaDB ایندکس می‌کند تا در جستجوی هوشمند قابل استفاده باشند.

نمونه پیکربندی اتصال به دیتابیس (JSON):

{ "host": "192.168.1.50", "port": 5432, "database": "pars_db", "user": "extractor_user", "password": "encrypted_password" }

لایه پردازش داده (Manipulation Layer)

پس از شناسایی جداول و فیلدها، لایه پردازش وارد عمل می‌شود. این بخش قلب تپنده پردازش‌های تحلیلی سامانه است.

۱. مفهوم طرح عملیاتی (Plan):

طرح عملیاتی یک متادیتای ساخت‌یافته است که توسط هوش مصنوعی و بر اساس درخواست کاربر نوشته می‌شود. این طرح مشخص می‌کند داده‌ها از کدام منابع خوانده شوند، چگونه به یکدیگر متصل گردند (Join) و چه فرمول‌های محاسباتی روی آن‌ها اعمال شود.

۲. استفاده از موتور DuckDB:

برای اجرای تحلیل‌ها، داده‌های دریافتی وارد دیتابیس DuckDB می‌شوند. DuckDB به دلیل استفاده از پردازش ستونی (Columnar Vectorized Execution) صدها برابر سریع‌تر از دیتابیس‌های سنتی عملیات فیلتر، گروه‌بندی و تحلیل‌های بزرگ را انجام می‌دهد.

۳. ذخیره‌سازی نتایج در قالب Parquet:

نتایج میانی و خروجی‌های نهایی فرآیند در قالب فایل‌های باینری فشرده Parquet روی دیسک ذخیره می‌شوند. این رویکرد بار پردازشی دیتابیس‌های اصلی سازمان را به شدت کاهش داده و سرعت لود گزارش‌ها را در مراجعات بعدی بالا می‌برد.

لایه نمایش و رسم نمودارها (Presentation Layer)

این لایه خروجی‌های به دست آمده از لایه پردازش را به صورت کاملاً تعاملی و زیبا به کاربران نمایش می‌دهد.

۱. قالب‌های گزارش (Report Templates):

چیدمان صفحه (دو ستونه، تک ستونه، شبکه‌ای) در قالب‌ها تعریف می‌شود. هر قالب مشخص می‌کند ویجت‌ها، کارت‌های آمار و نمودارها کجای صفحه قرار بگیرند.

۲. نمودارهای هوشمند ECharts:

ECharts یک فریم‌ورک رسم نمودار بسیار قدرتمند جاوا اسکریپت است که توسط سامانه پیکربندی می‌شود. سامانه به طور هوشمند داده‌های خروجی DuckDB را به فرمت آپشن‌های نمودار مانند خطی، میله‌ای، دایره‌ای یا رادار تبدیل می‌کند.

نمونه ساختار وبجت بوم گزارش (Report Canvas):

{ "widget_id": "sales_chart_01", "type": "chart", "chart_type": "bar", "title": "فروش تفکیکی تجهیزات گاز", "data_source_url": "/api/v1/manipulation/execute/plan-uuid/" }

لایه هماهنگ‌ساز و صف‌های کاری (Orchestration Layer)

کارهای سنگین سیستم نظیر استخراج از دیتابیس‌های حجیم، بروزرسانی دیتابیس برداری RAG و اجرای سناریوهای تحلیل داده در پس‌زمینه انجام می‌شوند تا سرعت لود صفحات وب‌سایت کاهش نیابد.

۱. معماری Celery و Redis:

وقتی کاربر درخواستی ارسال می‌کند، یک تسک جدید در Celery ایجاد می‌شود. Redis نقش واسط انتقال پیام‌ها را ایفا می‌کند. کارگران Celery تسک‌ها را برداشته و در پس‌زمینه اجرا می‌کنند.

۲. وب‌سوکت‌ها و اطلاع‌رسانی زنده (WebSockets):

وقتی اجرای کارهای پس‌زمینه در Celery خاتمه یافت، سیستم با استفاده از لایه Django Channels و از طریق اتصال WebSocket به طور مستقیم به مرورگر شما پیام فرستاده و نمودارها را بدون نیاز به رفرش کردن صفحه بروزرسانی می‌کند.