Option 4 – Migrationsplan¶
Ziel¶
Vollständiger Ersatz von SIGSrv durch einen neuen Server, der:
- Das identische CXRequestCom TCP-Protokoll spricht (Port 800)
- Intern MSSQL/TimescaleDB statt .dta-Files verwendet
- Alle bestehenden Clients (SIGWin, Excel-AddIns) unverändert weiternutzen kann
Voraussetzungen¶
- [x] Quellcode vollständig vorhanden (Copyright bei GRAG)
- [x] Protokoll vollständig dokumentiert
- [x] DB-Schema bekannt
- [x] .dta-Format dokumentiert
Phasen¶
Phase 1 – Protokoll-Implementierung (ca. 2–4 Wochen)¶
Reimplementierung von CXRequestCom und CXRequest:
- TCP-Server auf Port 800
- MFC CArchive Serialisierung nachbauen
- ERequest, EOperation, CXDataRowList, CXDataTagList
Phase 2 – DB-Schema Zeitreihen (ca. 1 Woche)¶
Neue Tabelle für OHLCV-Daten in MSSQL:
CREATE TABLE prices (
title_no INT NOT NULL,
freq CHAR(1) NOT NULL, -- d/w/m/y
dt DATE NOT NULL,
high DECIMAL(18,6),
low DECIMAL(18,6),
close DECIMAL(18,6),
open DECIMAL(18,6),
volume BIGINT,
PRIMARY KEY (title_no, freq, dt)
);
Phase 3 – Server-Implementierung (ca. 3–5 Wochen)¶
Neuer Windows-Dienst (C# oder Go):
- Alle SProcess*-Klassen portieren
- CSProcessStockData: DB-Query statt .dta
- CSProcessDBGeneric: MSSQL statt DAO/MDB
- CSUser: Auth gegen MSSQL
Phase 4 – Datenmigration (ca. 1 Woche)¶
Alle .dta-Dateien (100k+) in die DB importieren. Basis: bestehendes PHP-Parser-Script aus SIG-DTA-Viewer.
Phase 5 – Test & Ablösung (ca. 1 Woche)¶
- Alter und neuer Server parallel betreiben
- Outputs vergleichen
- SIGWin-Tests mit realen Daten