2016-04-24 7 views
-2

Ich habe zwei Anwendungen auf einem Computer ausgeführt, die Daten zwischen beiden etwa 20 mal in einer Sekunde teilen sollten.Schnellste Art der Datenübertragung zwischen Anwendung

Anwendung 1 erzeugt eine Reihe von String-Daten zum Beispiel „1-ABC-XYZ-3-HK“ und sie will diese Daten Anwendung zu übergeben 2.

Dann Anwendung 2 etwas tut, und verwirft die Daten.

Was ich getan habe, ist jetzt Anwendung 1, die Daten zu generieren und zu einer SQL-Datenbankdatei zu speichern, während Anwendung 2 wird ständig die gleiche SQL-Datei überwachen und wann immer es neue Daten gibt es das und macht etwas dann bewegt sich Daten zu einer anderen Tabelle, die als verarbeitet markiert ist. Dieser Vorgang geschieht etwa 20 Mal in einer Sekunde.

Anwendung 2 verfügt über eine Timersteuerung, die die Datenbankdatei 50 Mal in einer Sekunde abfragt, um zu überwachen, ob neue Daten vorhanden sind. diese

ist meine Frage ...

Gibt es eine schnellere oder bessere Möglichkeit, diese Daten zu übertragen, als ich oben erklärt? Ich bin mir nicht sicher, ob das Abfragen einer Datenbank 50 Mal pro Sekunde gut oder schlecht ist und die Leistung des PCs beeinträchtigen könnte.

Anwendung 1 erzeugt Daten und Aufzeichnung 20 Mal pro Sekunde zur gleichen Zeit Anwendung 2 Abfrage der gleichen Datenbank 50 mal. Bitte helfen Sie mir, wenn es einen professionellen Weg gibt.

+0

Sie könnten stattdessen jede Anwendung auf die anderen 'stdin' schreiben lassen. –

+0

MSMQ, Producer/Consumer –

+1

Wenn Sie nur Daten von einem Prozess zu einem anderen auf demselben Computer senden möchten, würde ich keinen DB verwenden. Ich kann mir verschiedene Optionen vorstellen: einen Socket, eine Named Pipe, eine Memory-Mapped-Datei. – RJM

Antwort

2

verwenden helfen kann nur TCP-Socket die Daten von einer Anwendung zu übertragen der nächste. Und Sie können die Daten mithilfe der Protokollpuffer serialisieren.

Verwandte Themen