تحليل السجل والتشغيل الآلي
TL; د
تستند أتمتة «التحقق» الموثوقة إلى ثلاث ركائز: الابتلاع الحتمي (التسليم الآمن، والخصوصية، والتحكم في النزاهة)، وطبقة البيانات الطبيعية (مخطط واحد، ومفاتيح المطابقة، ووحدات الوقت/العملات/العلامات الموحدة) وانضباط الجودة الصارم (التحقق، التسامح، DLQ، التنبيهات، تصحيحات السيارات). والهدف من ذلك هو تحويل الملفات المتنقلة/الخطابات الشبكية إلى جداول ثابتة للتوفيق، والإبلاغ، واتخاذ إجراءات ثنائية مع اتفاقيات البيئة المستدامة بشأن توافرها.
1) المصدر والمشهد الشكلي
1. 1 مصادر
PSP/المشترون/المجمعون: المعاملات والمجموعات والعمولات والمنازعات.
المصارف: مقتطفات MT940، ISO 20022 CAMT. 052/053/054، مدفوعات PAIN. 001/002.
AWS/wallets/payouts (OCT/RTP/SEPA): سجلات المدفوعات، العوائد.
الجمارك/البورصات: المعاملات على السلسلة، تقارير التحويل/العمولة.
الضرائب/بوابات الدولة: CSV/XLSX/PDF، أحيانًا عبر متصفح مكتوب.
1. 2 صيغ
CSV/TSV (فاصلات متغيرة، أماكن، ترميزات).
XLSX (صفائح متعددة، خلايا مدمجة).
XML (ISO 20022 CAMT/PAIN، XSD مخططات مخصصة).
SWIFT MT940/942 (حقول المواقع).
JSON-API/NDJSON (تحميلات تدريجية ومؤشرات).
PDF (جدول - محلل ؛ (OCR).
ZIP/TAR. GZ (دفعات متعددة الملفات).
2) بنية خط أنابيب الابتلاع
الخطوط:1. الهبوط: قبول آمن للملفات (SFTP/FTPS/WebDAV/API/webhooks) → النظر فورًا في الشيكات، والاحتفاظ بالمواد الخام دائمًا.
2. الخام: التخطيط حسب التواريخ/المزودين/الجزار، التخزين مع الإصدارات.
3. التطبيع: تحليل الأنواع/الوحدات الموحدة → → جداول طبيعية.
4. تم التحقق من صحتها: بعد التحقق (قواعد الجودة) → الأعلام، DLQ.
5. مطابقة: رسم خرائط للأحداث/البنوك الداخلية.
6. الخدمة/مؤشر الأداء: عرض حالات التسوية/المالية/المعاملات.
الاحتياجات الرئيسية:- فغموض الابتلاع: '(المزود، file_name، file_size، الشيكات، statement_date)' → مفتاح فريد.
- إعادة التشغيل/إعادة التشغيل: إعادة تشغيل الملف لا تخلق نسخًا مكررة.
- DLQ (قائمة انتظار الحروف الميتة): جميع القواعد غير المعترف بها/المخالفة - إلى قائمة انتظار منعزلة.
- إصدار: ملف جديد لنفس اليوم → إصدار جديد مع رابط إلى السابق.
3) أمن التسليم والأسرار
القنوات: SFTP مع مفاتيح محدودة ؛ FTPS - فقط مع TLS صارمة ؛ API - OAuth2/short رموز TTL.
تشفير المحتوى: PGP/GPG عند تنزيل الملفات ؛ S/MIME لصناديق البريد الإلكتروني (إذا استخدمت).
التحقق من النزاهة: SHA-256/512 شيكات، مقارنة مع التجزئة في البيان.
الأسرار: تخزين في Vault/KMS، التناوب، محظور في ملفات/سجلات التكوين.
عمليات الوصول: RBAC + مبدأ «أقل الامتيازات»، حسابات خدمة منفصلة.
4) التطبيع ونظام البيانات
4. 1 القواعد العالمية
الوقت: التوقيت العالمي المنسق دائما في ISO-8601 ؛ بالنسبة لتواريخ التسوية، «التاريخ» بدون TZ.
المبالغ: 'DECIMAL (p, s)' في الوحدات الثانوية + 'مقياس' الأفراد '؛ التوقيع: الاستلام/النفقات بدقة وفقا للقاموس.
العملات: ISO-4217، جدول سعر الفائدة الثابت مع 'fx _ src'.
Locali: حظر الكشف الذاتي - وضع صريح للفواصل/الفاصلة العشرية/الألف.
الترميزات: مدخلات UTF-8 ؛ أخرى - التحويل باستخدام سجل.
4. 2 طبقة «مسطحة» طبيعية (مثال)
json
{
"provider": "Acquirer_A",
"source_kind": "PSP_TX PSP_SETTLEMENT BANK WALLET CRYPTO",
"kind": "AUTH CAPTURE REFUND PAYOUT FEE SETTLEMENT CHARGEBACK",
"payment_id": "pay_123", // ваше
"provider_txid": "psp_abc_789", // внешнее
"merchant_ref": "mr_456",
"sequence": 0, // partial/refund line index
"amount_minor": 100000, // 1000.00
"currency": "EUR",
"fee_minor": 120, // 1.20
"fx_rate": 1.0000,
"fx_src": "PSP ECB BANK",
"event_ts": "2025-11-03T12:00:00Z",
"value_date": "2025-11-05",
"account": "PSP_MERCHANT_CARD_A",
"bin": "425000",
"last4": "1234",
"status": "APPROVED CAPTURED SUCCESS FAILED SETTLED",
"file_id": "ing_20251103_001",
"row_hash": "sha256(raw_row)"
}
5) المحللون بالتنسيق: الحيل والركض
5. 1 CSV/TSV
حدد صراحة «delimiter», «consechar», «escapechar», «encoding».
5. 2 XLSX
قراءة قائمة بيضاء ؛ Auto Merge Inhibit - Flattens الخلايا المدمجة.
تحويل الصيغ إلى قيم ؛ Excel → UTC التواريخ مع TZ صريح.
5. 3 XML (ISO 20022 CAMT/PAIN)
المصادقة بواسطة XSD ؛ رسم خرائط هوية XPath («<Ntry>»، «<TxDtls>،» <Amt>، «<CdtDbtInd>»).
علامة → تطبيع الائتمان/الخصم ؛ دعم متعدد «<Chrgs>»، «<RmtInf>».
5. 4 - تطلب إلى الأمين العام أن يقدم إلى الجمعية العامة في دورتها التاسعة والخمسين تقريرا عن تنفيذ هذا القرار، وأن يقدم إلى الجمعية العامة في دورتها التاسعة والخمسين تقريرا عن تنفيذ هذا القرار، وأن يقدم إلى الجمعية العامة في دورتها التاسعة والخمسين تقريرا عن تنفيذ هذا القرار، وأن يقدم إلى الجمعية العامة في دورتها السابعة والخمسين تقريرا عن تنفيذ هذا القرار MT940
علامات الإعراب ': 61:'، ': 86:' ؛ ودعم عمليات التمديد الوطنية ؛ حقول المواقع → قواعد التقطيع.
دمج عدة «: 61:» في دفعة واحدة.
5. 5 JSON/NDJSON/API
5. 6 PDF/OCR
أولاً، محاولة تحليل الجدول (كاشف الجدول)، ثم OCR (Tesseract) مع أحرف القائمة البيضاء.
المصادقة اللاحقة: المبالغ ومجاميع الرقابة وتسوية عدد الخطوط.
5. 7 محفوظات/دفعات
التفريغ مع الحفاظ على الهيكل ؛ كل ملف - ملف منفصل ؛ ، السيطرة على جميع الأجزاء.
6) التحقق من جودة البيانات والقواعد
الفحوصات الإلزامية:- المخطط - جميع الحقول المطلوبة موجودة.
- الأنواع: الكميات - رقمية، تواريخ - تحليل.
- الشيكات/المجاميع - مجموع الصفوف = المجموع في الملف (إن وجد).
- النطاقات: التاريخ في نافذة معقولة ؛ مجموع> 0 (أو وفقا لقاموس السلبية المسموح بها).
- التفرد: «(المزود، provider_txid، التسلسل)» غير مكرر في التطبيع.
- يُسمح بالتباينات في «الكمية/fx/الوقت».
النتيجة: «صالح»، «صالح _ مع _ تحذيرات»، «غير صالح → DLQ (reason_code)».
7) الهوية والتفريغ
مفتاح الابتلاع: '(المزود، file_name، الملفات، الشيكات، statement_date)' → ملف واحد 'معرف'.
Row _ hash = sha256 (normalized_row_compact)'; إعادة التحميل لا تخلق سجلات جديدة.
خطافات الويب/واجهة برمجة التطبيقات: مزود "idempotency _ key" + علاماتك ("exec _ id')، متجر TTL.
نسخ مكررة من المزود: dedup بواسطة "المزود _ txid' +" التسلسل "، في حالة التناقض - في DLQ_DUPLICATE.
8) التنسيق والجداول الزمنية
: Airflow/Dagster (DAG: «جلب فك التشفير التحليل تطبيع التحقق ونشر تطابق»).
SLA/SLO: «وقت التوافر (TtA)» من حدوث الملف إلى «طبيعي = جاهز».
Retrai: التراجع الأسي + jitter ؛ حدود المحاولة ؛ أوضاع واضحة.
التزامن والعزلة: OCR/تحليل XLSX الثقيل - في تجمع/عامل منفصل مع حد وحدة المعالجة المركزية/ذاكرة الوصول العشوائي.
إعادة تشغيل DLQ: إعادة المعالجة الدورية عند تحديث القواعد/الخرائط.
9) إمكانية الرصد والتنبيهات
المقاييس:- نجاح الابتلاع٪، Parse Success٪ حسب المصدر.
- TtA p50/p95, Entroput (lines/min).
- معدل DLQ и الشيخوخة DLQ p50/p95.
- حوادث مخطط الانجراف.
- مكرر معدل по 'مزود _ txid'.
- 'TtA p95> SLA' → P1.
- «معدل DLQ> 2٪» في الساعة لمزود → P1.
- اكتشف «مخطط الانجراف» → P0 (توقف عن المطابقة التلقائية حسب المصدر).
- «ارتفاع مكرر» → P2 (مزود التحقق/خطابات الويب).
Dashbord: ملفات قمع ، بطاقة DLQ للأسباب، كميات TtA.
10) تصحيحات وخرائط تلقائية
الأسماء المستعارة للرأس: القاموس مع الإصدارات (على سبيل المثال، g.، 'Amount'→'amt'، 'AMOUNT'→'amt').
11) رابط إلى «تسوية مدفوعات وتقارير PSP»
طبقة طبيعية جاهزة - مدخل للمطابقة (provider_txid/merchant_ref/fuzzy)، حساب تصنيف diff، السجلات التلقائية و settlement↔bank-sitching. الحقول الرئيسية: "المزود _ txid'،" التسلسل "،" النوع "،" المبلغ _ الصغير "،" القيمة _ التاريخ "،" الحساب ".
12) نموذج التخزين والجداول
جدول ملفات الهبوط:sql
CREATE TABLE landed_files (
file_id TEXT PRIMARY KEY,
provider TEXT,
source_kind TEXT,
file_name TEXT,
file_size BIGINT,
checksum TEXT,
statement_date DATE,
received_at TIMESTAMP WITH TIME ZONE,
version INT,
status TEXT, -- RECEIVED PARSED FAILED error TEXT
);
الصفوف الطبيعية:
sql
CREATE TABLE psp_norm (
row_id BIGSERIAL PRIMARY KEY,
file_id TEXT REFERENCES landed_files(file_id),
provider TEXT,
source_kind TEXT,
kind TEXT,
payment_id TEXT,
provider_txid TEXT,
merchant_ref TEXT,
sequence INT,
amount_minor BIGINT,
currency CHAR(3),
fee_minor BIGINT,
fx_rate NUMERIC(18,8),
fx_src TEXT,
event_ts TIMESTAMPTZ,
value_date DATE,
account TEXT,
status TEXT,
row_hash TEXT UNIQUE,
repair_flags TEXT[]
);
CREATE INDEX idx_psp_norm_txid ON psp_norm(provider, provider_txid, sequence);
13) Parser pseudocode
CSV/XLSX:python def parse_table(file, spec):
df = load_csv_or_xlsx(file, delimiter=spec.delim, encoding=spec.enc, sheet=spec.sheet)
df = rename_headers(df, spec.header_aliases)
df = clean_amounts(df, thousand=spec.thousand, decimal=spec.decimal, sign_policy=spec.sign)
rows = []
for r in df.itertuples():
rows.append(normalize_row(r, spec))
return rows
XML CAMT:
python def parse_camt(xml):
root = parse_xml(xml, xsd="camt053.xsd")
for ntry in root.findall('.//Ntry'):
sign = 1 if ntry.findtext('CdtDbtInd') == 'CRDT' else -1 amt = Decimal(ntry.findtext('Amt')) sign
... map to normalized fields
OCR PDF (احتياطي):
python def parse_pdf_ocr(pdf):
text = tesseract(pdf, lang="eng", psm=6, whitelist="0123456789.,-;:/A-Za-z")
table = detect_table(text)
return normalize_table(table)
14) GDPR/PII وتحرير السجل
الإخفاء/التجزئة: PAN/email/phone → «sha256 + ملح»، جذوع الأشجار - بدون قيم أساسية.
سياسة الاحتفاظ: «الاحتفاظ» حسب نوع المصدر (AML/المحاسبة).
الوصول إلى PII - حسب الدور فقط ؛ مراجعة القراءات/الصادرات.
15) مؤشرات الأداء الرئيسية والأهداف (للتحليل/الابتلاع)
نجاح الابتلاع% ≥ 99. 5 ٪/يوم لكل مصدر.
Parse Success% ≥ 99%, DLQ ≤ 1%.
TtA p95 (fayl→normalized) ≤ 15 دقيقة (CSV/XML)، ≤ 60 دقيقة (PDF/OCR).
حوادث الانجراف في المخطط: 0/شهر بدون تنبيه/إصلاح.
مكرر معدل по 'مزود _ txid' ≤ 0. 05%.
16) كتب لعب الحوادث
انجراف المخطط: توقف عن المطابقة التلقائية، قم بتشغيل المحلل «الناعم» مع اكتشاف ML للمكبرات، قم بإعداد تصحيح الاسم المستعار، قم بتشغيل DLQ-replay.
زيادة DLQ: تصحيح أحدث الملفات، والتحقق من الترميز/الموقع/الإشارة، وخفض شدة التسامح مؤقتًا (مع العلم).
تأخيرات SFTP: التحول إلى اقتراع API/خطابات الويب، وزيادة عمليات إعادة التتبع، والتواصل مع المزود.
تكرار المسامير: تمكين التحقق الإضافي «row _ hash»، كتلة التكرار حتى يتم توضيحها.
17) حزمة حالة الاختبار (UAT/Prod-Ready)
1. الخصوصية: كرر نفس التحميل → 1 'file _ id'، 0 خطوط جديدة.
2. Locales: files with ', '/'. المساحات → المبالغ الصحيحة
3. جزئي/استرداد: «تسلسل» متعدد إلى «مقدم _ تكسيد» واحد.
4. XML XSD: غير صالح CAMT → 'INVALID' + DLQ.
5. الاختلافات MT940: الامتدادات الوطنية → التحليل الصحيح.
6. PDF→OCR: مسح الضوضاء → استخراج وتمرير القواعد الأساسية.
7. انجراف المخطط: رأس جديد → تصحيح الاسم المستعار وإعادة معالجة الملفات التاريخية.
8. الإنتاجية: اختبار تحميل ملفات N/ساعة → الامتثال لـ TtA SLA.
9. إصدار PII: سجلات بدون PAN/البريد الإلكتروني، فقط تجزئة.
18) قائمة التنفيذ المرجعية
- Source Registry: Protocol, Search, SLA, Format, Contact.
- قنوات آمنة (SFTP/PGP/API)، قبو للأسرار.
- الابتلاع اللطيف + الشيكات + الإصدارات.
- المحللون حسب الشكل، وقاموس الاسم المستعار، وسياسات التوقيع/الموقع.
- الطبقة الطبيعية والمؤشرات الرئيسية.
- قواعد التحقق والتسامح و DLQ وإعادة التشغيل.
- المنسق (DAG)، Retrai/Backoff، Resource Pools.
- قابلية الرصد: المقاييس، لوحات القيادة، التنبيهات.
- قناع GDPR/PII، وتدقيق الوصول.
- حالات الاختبار والتدريبات المنتظمة على المخطط - الانجراف.
ملخص السيرة الذاتية
أتمتة التحليل ليست «كتابة محلل»، ولكن لبناء دائرة صناعية: التسليم والتشفير الموثوق، وخطوط الأنابيب الخفية، والتطبيع الصارم، وقواعد الجودة والتنبيهات الشفافة. يحول مثل هذا المخطط أي سجلات إلى جداول يمكن التنبؤ بها مع اتفاق SLA مضمون بشأن توافر البيانات - أساس التسوية والخزانة والإبلاغ الإداري.