Thread Kombinationen und ihre Umkehrung (7 answers)
Opened by Linuxer at 2006-09-29 03:00

Linuxer
 2006-09-29 03:00
#70391 #70391
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hallo zusammen,

ich habe da auch mal eine Frage/Aufgabe...

Zur Vorgeschichte und Erläuterung: Gegeben seien 3 Gruppen: Quelle (IP), Ziel (IP), Service (Port)

Nun kann man durch Verknüpfung jedes Elements einer Gruppe mit jedem Element einer anderen Gruppe eine Liste aller möglichen Verbindungen aufbauen:

Quelle x Ziel x Service = Liste

Bei 2 Quellen, 2 Zielen und 2 Services wäre das also eine Ergebnisliste von 2 x 2 x 2 = 8 Verbindungen.

Quote
Quelle: A, B
Ziel: 1, 2
Service: a, b

(A,B) x (1,2) x (a,b) =

A 1 a
A 1 b
A 2 a
A 2 b
B 1 a
B 1 b
B 2 a
B 2 b


Ich hoffe, soweit konnte ich mich verständlich machen. Nun zum eigentlichen Problem:

Ich habe mehrere Listen von Verbindungen (teilweise mehr als 100 Einzelverbindungen). Diese Listen würde ich gerne in einem Skript umwandeln in Gruppendefinitionen. Allerdings fehlt mir derzeit ein passender gedanklicher Ansatz, wie ich dieses Problem in einem Perl-Skript lösen könnte.
Ich bräuchte also Ansätze und Hinweise (oder Code), wie ich z.B. folgende Liste in Gruppen erfassen könnte:

Quote
A 1 a
A 1 b
A 2 a
A 2 b
B 1 a
B 1 b
B 2 a
B 2 b
C 3 c
D 4 d
D 5 d


Rauskommen müssten dann diese Gruppierungen (wenn ich um diese Uhrzeit keine gedankliche Fehlleistung vollbringe):

Quote
(A,B) x (1,2) x (a,b)
( C ) x ( 3 ) x ( c )
( D ) x (4,5) x ( d )


Ansätze, (dokumentierte) Code-Beispiele, Dokumentationshinweise würden mich freuen.

Hoffe mein Problem ist einigermaßen klar geworden. Danke im Voraus fürs Mitdenken ;o)

Linuxer

PS: Was mir gerade so in Gedanken vorschwebt:
- Gruppendefinitionen in HoA oder AoA? Wie füllen?
- evtl. pro Quelle / Ziel / Service ein eigener AoA;
\_ der Index stellt die Beziehung zwischen den drei Elementen her?
- oder ein HoHoH, um die Beziehungen zu definieren?
Code: (dl )
1
2
3
4
5
6
7
8
%hash = (
'quelle1' => {
'ziel1' => 'service1'
},
'quelle2' => {
'ziel2' => 'service2'
},
}

\_ Gruppendefinitionen müßten dann evtl. in HoH's liegen, damit die Namenszuordnungen erhalten bleiben...
- wie kann ich berücksichtigen, dass eine Gruppe in mehreren Regeln auftauchen kann?
\_ evtl. später bei den Gruppen auf Gleichheit prüfen und Beziehungen dann anpassen?
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Kombinationen und ihre Umkehrung