GH GambleHub

Ανάλυση και αυτοματοποίηση μητρώου

TL· DR

Η αξιόπιστη αυτοματοποίηση «επαλήθευσης» βασίζεται σε τρεις πυλώνες: προσδιοριστική κατάποση (ασφαλής παροχή, ταυτότητα, έλεγχος ακεραιότητας), κανονικοποιημένο επίπεδο δεδομένων (ενιαίο σχήμα, κλειδιά αντιστοίχισης, τυποποιημένες μονάδες χρόνου/νομισμάτων/σημάτων) και αυστηρή πειθαρχία ποιότητας (επικυρώσεις, ανοχές, DLQ, ειδοποιήσεις, αυτόματες διορθώσεις). Στόχος είναι να μετατραπούν τα αρχεία motley/webhooks σε σταθερούς πίνακες συμφιλίωσης, αναφοράς και BI με SLA σχετικά με τη διαθεσιμότητα.


1) Πηγή και μορφότυπο τοπίου

1. 1 Πηγές

PSP/αποκτώντες/συγκεντρωτές: συναλλαγές, σύνολα, προμήθειες, διαφορές.
Τράπεζες: αποσπάσματα MT940, ISO 20022 CAMT. , πληρωμές PAIN. 001/002.
AWS/πορτοφόλια/πληρωμές (OCT/RTP/SEPA): μητρώα πληρωμών, επιστροφές.
Crypto-custom/χρηματιστήρια: συναλλαγές εντός αλυσίδας, εκθέσεις μετατροπής/προμήθειας.
Φόροι/Κρατικές πύλες: CSV/XLSX/PDF, μερικές φορές μέσω ενός scripted browser.

1. 2 Μορφότυποι

CSV/TSV (διαχωριστές μεταβλητών, τοποθεσίες, κωδικοποιήσεις).
XLSX (πολλαπλά φύλλα, συγχωνευμένα κελιά).
XML (ISO 20022 CAMT/PAIN, προσαρμοσμένα σχήματα XSD).
SWIFT MT940/942 (πεδία θέσης).
JSON-API/NDJSON (πρόσθετα φορτία, δρομείς).
PDF (πίνακας - parser; σάρωση - OCR).
ZIP/TAR. GZ (παρτίδες πολλαπλών αρχείων).


2) Αρχιτεκτονική αγωγών κατάποσης

Περιγράμματα:

1. Προσγείωση: ασφαλής αποδοχή αρχείων (SFTP/FTPS/WebDAV/API/webhooks) → αμέσως εξετάστε το checksum, κρατήστε τις πρώτες ύλες πάντοτε.

2. Ακατέργαστη: διάταξη κατά ημερομηνίες/παρόχους/γλουτούς, αποθήκευση με εκδόσεις.

3. Κανονικοποιήστε: ανάλυση → ενοποίηση τύπων/μονάδων → κανονικοποιημένους πίνακες.

4. Επικυρωμένη: μετά την επικύρωση (κανόνες ποιότητας) → σημαίες, DLQ.

5. Αντιστοιχίζεται: χαρτογράφηση εσωτερικών γεγονότων/τράπεζα.

6. Εξυπηρετεί/ΔΙ: εμφανίζει υποθέσεις για συμφωνία/χρηματοοικονομικά στοιχεία/συναλλαγές.

Βασικές απαιτήσεις:
  • Η ιδιαιτερότητα της κατάποσης: '(πάροχος, file_name, file_size, checksum, statement_date)' → ένα μοναδικό κλειδί.
  • Reruns/Retrays: η επανάληψη ενός αρχείου δεν δημιουργεί αντίγραφα.
  • DLQ (ουρά αναμονής νεκρών γραμμάτων): όλοι οι κανόνες που δεν αναγνωρίζονται/παραβιάζουν - σε μια απομονωμένη ουρά αναμονής.
  • Έκδοση: ένα νέο αρχείο για την ίδια ημέρα → μια νέα έκδοση με σύνδεσμο με την προηγούμενη.

3) Ασφάλεια παράδοσης και απόρρητα

Κανάλια: SFTP με περιορισμένα κλειδιά. FTPS - μόνο με αυστηρό TLS· API - OAuth2/short μάρκες TTL.
Κρυπτογράφηση περιεχομένου: PGP/GPG κατά τη λήψη αρχείων. S/MIME για εισερχόμενα ηλεκτρονικά μηνύματα (εάν χρησιμοποιείται).
Έλεγχος ακεραιότητας: SHA-256/512 checksum, σύγκριση με το hash in provident.
Απόρρητα: αποθήκευση σε θησαυροφυλάκιο/KMS, περιστροφή, απαγορευμένη σε αρχεία ρυθμίσεων/αρχεία καταγραφής.
Πρόσβαση: RBAC + η αρχή των «ελάχιστων δικαιωμάτων», χωριστοί λογαριασμοί υπηρεσιών.


4) Κανονικοποίηση και σύστημα δεδομένων

4. 1 Καθολικοί κανόνες

Χρόνος: πάντα UTC σε 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

Προσδιορίστε ρητά τον «οριοθετητή», τον «ποσόστωση», τον «δραπέτη», την «κωδικοποίηση».

ανίχνευση κενών γραμμών/μετατοπίσεων κεφαλίδας· υποστήριξη ψευδώνυμων κεφαλίδων (π.χ. "ΠοσόΑΜΤTxnComment ').
Μετατροπή του σημείου (μείον/παρένθεση), ομαλοποίηση των χιλιοστών (', '/. '/χώροι).

5. 2 XLSX

Ανάγνωση με λευκόχρυσο φύλλο. Auto Merge Αναστολή - 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

Δρομείς από _ idcreated_at· οριακή τιμή retrai (429 → backoff + jitter).
Μερική σημασιολογία (πολλαπλές συμβολοσειρές επαναπλήρωσης σε ένα 'provider _ txid').

5. 6 PDF/OCR

Πρώτα, μια προσπάθεια ανάλυσης τραπεζιού (ανιχνευτής τραπεζιού), μόνο τότε OCR (Tesseract) με λευκούς χαρακτήρες.
Μετά την επικύρωση: ποσά, σύνολα ελέγχου, συμφωνία του αριθμού των γραμμών.

5. 7 Αρχεία/παρτίδες

Αποσυσκευασία με συντήρηση δομής. κάθε αρχείο - ξεχωριστό «αρχείο _ id»· δηλωτικό, έλεγχο όλων των μερών.


6) Επικυρώσεις και κανόνες για την ποιότητα των δεδομένων

Υποχρεωτικοί έλεγχοι:
  • Σχήμα - Υπάρχουν όλα τα απαιτούμενα πεδία.
  • Τύποι: ποσά - αριθμητικά, ημερομηνίες - ανάλυση.
  • Checksums/Σύνολα - Άθροισμα γραμμών = Σύνολο αρχείων (εάν υπάρχουν).
  • Εύρος: ημερομηνία σε εύλογο παράθυρο. άθροισμα> 0 (ή σύμφωνα με το λεξικό των επιτρεπόμενων αρνητικών).
  • Μοναδικότητα: '(πάροχος, provider_txid, ακολουθία)' δεν αναπαράγεται σε κανονικοποιημένη μορφή.
  • Επιτρέπονται ανοχές «ποσότητα/fx/χρόνο» αποκλίσεις.

Αποτέλεσμα: 'Έγκυρο', 'Έγκυρο _ ΜΕ _ ΠΡΟΕΙΔΟΠΟΙΗΣΕΙΣ', 'ΆΚΥΡΟ → DLQ (reason_code)'.


7) Ταυτότητα και αφαίρεση

Πλήκτρο κατάποσης: '(πάροχος, file_name, αρχειοθέτηση, checksum, statement_date)' → ένα ενιαίο 'αρχείο _ id'.
Ιδιαιτερότητα επιπέδου γραμμής: 'row _ hash = sha256 (normalized_row_compact)', η επαναφόρτωση δεν δημιουργεί νέα αρχεία.
Webhooks/API: 'idempotency _ key' provider + your tags ('exec _ id'), store TTL.
Αντίγραφα του παρόχου: dedup by 'provider _ txid' + 'sequence', σε περίπτωση ασυμφωνίας - in DLQ_DUPLICATE.


8) Ενορχήστρωση και χρονοδιαγράμματα

: Airflow/Dagster (DAG: 'fetch decrypt parse normalize validate publish').
SLA/SLO: 'Time-to-Availability (TtA)' από την εμφάνιση αρχείων στο 'normalized = READY'.
Retrai: εκθετική backoff + jitter; όρια απόπειρας· σαφείς καταστάσεις.
Συγχώνευση και απομόνωση: βαριά OCR/ανάλυση XLSX - σε ξεχωριστή δεξαμενή/εργαζόμενο με όριο CPU/RAM.
Επανάληψη DLQ: περιοδική επανεπεξεργασία κατά την επικαιροποίηση κανόνων/χαρτογραφήσεων.


9) Παρατηρησιμότητα και προειδοποιήσεις

Μετρήσεις:
  • Επιτυχία κατάποσης%, επιτυχία ανάλυσης% κατά πηγή.
  • TtA p50/p95, Throughput (γραμμές/min).
  • Ρυθμός DLQ и γήρανση DLQ p50/p95.
  • Περιστατικά παρασυρόμενων σχημάτων.
  • Διπλή τιμή по 'πάροχος _ txid'.
Καταχωρίσεις (παράδειγμα):
  • 'TtA p95> SLA' → P1.
  • Συντελεστής DLQ> 2% ανά ώρα για → πάροχο P1.
  • Ανιχνεύθηκε 'Schema Drift' → P0 (διακοπή αυτόματης αντιστοίχισης ανά πηγή).
  • 'Διπλή ακίδα' → P2 (check provider/webhooks).

Dashbord: ένα χωνί 'αρχεία , η κάρτα DLQ για τους λόγους, TtA-ποσοτικά.


10) Αυτόματες διορθώσεις και χαρτογραφήσεις

Ψευδώνυμα κεφαλίδας: λεξικό με εκδόσεις (π.χ., 'Amount'→'amt', 'AMOUNT'→'amt').

Χάρτες κωδικών: κατάσταση παρόχου → ευρετηρίου σας ('ΕΓΚΕΚΡΙΜΕΝΟΔΕΣΜΕΥΟΜΕΝΑΔΙΑΚΑΝΟΝΙΣΜΟΣ ").
Πολιτική υπογραφής: «CR/DR», «C/D», παρένθεση - σε ένα ενιαίο μοντέλο «sign».
Επισκευή ποσού: αφαίρεση χιλιοστών διαχωριστών, κανονικοποίηση μείον.
Επισκευή χρονικών ζωνών: τοπική ώρα του παρόχου UTC, συμπεριλαμβανομένης της θερινής ώρας.
💡 Οποιαδήποτε αυτόματη διόρθωση - καταχωρημένη και σημειωμένη σε «επισκευή _ σημαίες».

11) Σύνδεσμος με τη «Συμφωνία πληρωμών και εκθέσεων των ΠΥΠ»

Έτοιμο κανονικοποιημένο στρώμα - είσοδος για αντιστοίχιση (provider_txid/merchant_ref/fuzzy), υπολογισμός diff-ταξινομικής, αυτόματων αρχείων καταγραφής και settlement↔bank -titching. Βασικά πεδία: 'provider _ txid', 'sequence', 'είδος', 'ποσό _ minor', 'value _ date', 'account'.


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

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 και καταγραφής

Κάλυψη/hashing: PAN/email/phone → 'sha256 + salt', logs - χωρίς πρωτογενείς τιμές.
Πολιτική διατήρησης: «διατήρηση» ανά τύπο πηγής (AML/λογιστική).
Πρόσβαση στο PII - μόνο κατά ρόλο έλεγχος των αναγνώσεων/εξαγωγών.


15) ΒΔΕ και στόχοι (για ανάλυση/κατάποση)

Επιτυχία κατάποσης% ≥ 99. 5 %/ημέρα ανά πηγή.
Ανάλυση επιτυχίας% ≥ 99%, DLQ ≤ 1%.
TtA p95 (fayl→normalized) ≤ 15 λεπτά (CSV/XML), ≤ 60 λεπτά (PDF/OCR).
Περιστατικά παρασυρόμενου σχήματος: 0/μήνας χωρίς συναγερμό/διόρθωση.
Διπλή τιμή по 'πάροχος _ txid' ≤ 0. 05%.


16) Βιβλία παιχνιδιών για περιστατικά

Σχηματική μετατόπιση: σταματήστε την αυτόματη αντιστοίχιση, ενεργοποιήστε το «μαλακό» parser με την ανίχνευση της ML των ηχείων, ετοιμάστε ένα ψευδώνυμο patch, εκτελέστε επανάληψη DLQ.
Κύμα DLQ: αποσφαλμάτωση των τελευταίων αρχείων, έλεγχος της κωδικοποίησης/τοποθεσίας/πινακίδας, προσωρινή μείωση της σοβαρότητας των ανοχών (με μια σημαία).
Καθυστερήσεις SFTP: μετάβαση σε δημοσκοπήσεις/webhooks API, αύξηση των επαναλήψεων, επικοινωνία με τον πάροχο.
Αντίγραφα καρφιών: ενεργοποιήστε πρόσθετη επαλήθευση 'row _ hash', μπλοκ επαναλήψεων μέχρι να αποσαφηνιστεί.


17) Δέσμη περιπτώσεων δοκιμής (UAT/Prod-Ready)

1. Ταυτότητα: Επαναλάβετε το ίδιο φορτίο → 1 'αρχείο _ id', 0 νέες γραμμές.
2. Τοπικοί χώροι: αρχεία με ', '/'. '/χώροι → ορθά ποσά.
3. Μερική/επιστροφή: πολλαπλή «ακολουθία» σε έναν «πάροχο _ txid».
4. XML XSD: άκυρο CAMT → 'INVALID' + DLQ.
5. παραλλαγές: εθνικές επεκτάσεις ορθή ανάλυση.
6. σάρωση με θόρυβο εξαγωγή και εφαρμογή βασικών κανόνων.
7. Μετατόπιση σχήματος: νέα κεφαλίδα → ψευδώνυμο patch και επανεπεξεργασία ιστορικών αρχείων.
8. Δοκιμή φόρτισης των αρχείων N/ώρα → συμμόρφωση με το TtA SLA.
9. Έκδοση PII: αρχεία καταγραφής χωρίς PAN/e-mail, μόνο hashes.


18) Κατάλογος ελέγχου εφαρμογής

  • Μητρώο Πηγών: Πρωτόκολλο, Πρόγραμμα, SLA, Μορφή, Επικοινωνία.
  • Ασφαλή κανάλια (SFTP/PGP/API), θησαυροφυλάκιο για μυστικά.
  • Idempotent κατάποση + checksum + εκδόσεις.
  • Παριστάμενοι ανά μορφή, ψευδώνυμο λεξικό, υπογραφή/τοπική πολιτική.
  • Κανονικοποιημένο στρώμα και βασικοί δείκτες.
  • Κανόνες επικύρωσης, ανοχές, DLQ και αναπαραγωγή.
  • Orchestrator (DAG), Retrai/Backoff, Resource Pools.
  • Παρατηρησιμότητα: μετρήσεις, ταμπλό, ειδοποιήσεις.
  • Συγκάλυψη GDPR/PII, έλεγχοι πρόσβασης.
  • Κιβώτια δοκιμής και τακτικές ασκήσεις παρασυρόμενων σχημάτων.

Επανάληψη σύνοψης

Η αυτοματοποίηση της ανάλυσης δεν είναι να «γράψεις ένα parser», αλλά να κατασκευάσεις ένα βιομηχανικό κύκλωμα: αξιόπιστη παράδοση και κρυπτογράφηση, ευφυείς αγωγούς, αυστηρή ομαλοποίηση, κανόνες ποιότητας και διαφανείς ειδοποιήσεις. Ένα τέτοιο σχέδιο μετατρέπει κάθε μητρώο σε προβλέψιμους πίνακες με εγγυημένη SLA για τη διαθεσιμότητα των δεδομένων - τη βάση για τη συμφωνία, την υποβολή εκθέσεων από το δημόσιο ταμείο και τη διοίκηση.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.