Proposed network topology for this small data / command transfer application?

We assemble a system that reads ~ 32 voltage signals through an analog-to-digital conversion device, performs some preliminary processing on them and transfers the results (still divided into 32 channels) to the network as UDP packets, where another computer picks them up and in different ways (a) is displayed, (b) is further processed, (c) searches for criteria for changing the state of the data acquisition system, or (d) some combination of alternating current. At the same time, a graphical interface process is executed on the computer, which performs these last processes (vis computer), which changes the state both on the computer generating the data and on several computers with several computers through command messages with the UDP protocol.

I am new to network programming and struggling to choose a network topology. Are there heuristics (or book chapters, documents) on the network topology for relatively small applications, how is it possible to transfer data, commands, and command confirmations flexibly?

System Information:

  • Raw data is received in a single Linux window. Ease of data processing, saving to disk and going to the network use about 25% of the processor capacity and a small amount of memory. Less than 0.5 Mbps of data arrives on the network. All code for generating data is in C ++.

  • Another linux machine runs several visualization / processing / GUI processes. The GUI controls both the data acquisition machine and the processes on the vis / processing / GUI computer. This code is mostly found in C ++, with several small utilities in Python.

  • , , ; - , , , 3 4 32 ; 3 4 , " ". , , - , . , .

  • , ( , , ) UDP.

, :

  • , . UDP- , . . , ​​ / ; , , ; , -, . enter image description here

  • , . - , . . command/ack, /acks, , . enter image description here

  • . , , 40 . , , ; . enter image description here

  • - - - /ack . , , , .

  • 32 , 32 , , 3.

, , ! ( )

+5
1

, programers.stackexhange.com, .

, .

, , , .

, N . Data/Command N , N - . 32 , 32 . . , /. - Kafka , .

/. , , . - , . , , - .. . , , .

 ============         =============      =====     ============       =============
 = Signal 1=  < --- > = Connector = < -- = K = --> = "signal 1" --->  = Processor =
 ============         =============      = a =     ============       =============
                                         = f =
 ============         =============      = k =     ============       =============
 = Signal 2=  < --- > = Connector = < -- = a = --> = "signal 2" --->  = Processor =
 ============         =============      =   =     ============   |   =============
                                         =   =                    |
 ============         =============      =   =     ============   |  
 = Signal 3=  < --- > = Connector = < -- =   = --> = "signal 3" --- 
 ============         =============      =====     ============       

"", " 1", . , , . " 2" " 3". , .

, , , , . "" , .

+2

All Articles