2016-07-29 4 views
0

Es gibt ein Netzwerk von etwa 100000 PCs, von denen jeder eine speicherinterne XML-Datei enthält, deren Inhalt ich von einem zentralen Server aus durchsuchen muss. Diese XML-Datei wird von einem Windows-Dienst generiert, der auf jedem PC ausgeführt wird.Verwendung von Knoten js zum Suchen von Inhalten in einer speicherinternen Datei auf 100000 PCs

Die Suchanfrage wird auf dem zentralen Server generiert, an jeden der PCs im Netzwerk weitergegeben, und wenn die Informationen im In-Memory-XML mit der Suchanfrage übereinstimmen, muss die Liste aller übereinstimmenden PCs zurückgesendet werden an den Server und Ergebnisse in 20 Sekunden oder weniger angezeigt.

Angesichts der Skalierbarkeit und Nebenläufigkeit Anforderungen, ich plane, Knoten js zu verwenden, um dieses Problem zu lösen. Aber ich habe noch nie Knoten js verwendet. Könnte jemand in diesem Forum mir bitte zeigen, wie man eine Lösung dafür mithilfe von Node js erstellt? Die 100000 PCs sind auf mehr als 50 LANs verteilt. Ich habe viel über socket.io und andere Sachen über Knoten js gelesen, kann aber keine Lösung dafür finden. Könnte jemand mich bitte führen? Welches Knotenpaket kann mir helfen, eine In-Memory-XML-Datei zu lesen? Wenn sich an der speicherinternen PC-Datei etwas ändert, während ein Benutzer Ergebnisse auf dem Server anzeigt, müssen diese Änderungen ebenfalls in Echtzeit in der Ergebnisanzeige aktualisiert werden. Gibt es neben dem Knoten js noch etwas, mit dem ich das schaffen könnte?

+0

ich gerade auf eine Idee schlug, lassen Sie es mich wissen, wie es sich anhört: 1. Ich werde eine MongoDB (oder eine beliebige andere Datenbank) Instanz auf dem Server 2. Alle 100000 PCs werden gleichzeitig damit verbunden und speichern den Inhalt der speicherinternen XML-Datei im DB 3. Bei lokalen Aktualisierungen der Datei wird der Datenbankeintrag für diesen PC sofort aktualisiert 4. Wenn ein Benutzer suchen möchte, wird die DB-Instanz auf dem Server gesucht und die Ergebnisse werden sofort zurückgegeben. – user1953684

Antwort

0

Verwenden Sie Express für NodeJs. Es ist ein Web-Server, so dass Sie HTTP-Befehle erteilen kann https://expressjs.com/

+0

danke für deine Antwort – user1953684

+0

Achte darauf, dass du als Antwort akzeptierst, wenn dies der Ansatz ist, den du wählen willst (es ist der, den ich wählen würde) –

+0

+ Peter Morris Ich bin immer noch dabei zu entscheiden, was ich machen soll. Was ist Ihre Meinung zu allen 100000 PCs, die gleichzeitig mit dem Node js-Server verbunden sind und eine MongoDB-Instanz mit dem Inhalt der In-Memory-Datei in Echtzeit aktualisieren und Benutzer dann die MongoDB-Instanz abfragen? – user1953684

Verwandte Themen