Регулярное добавление узлов при сохранении иерархической структуры с неизменным положением существующих узлов - PullRequest
0 голосов
/ 18 марта 2020

Мой сценарий:

  1. У нас есть механизм, с помощью которого мы периодически обнаруживаем сетевые устройства в сети. Мы не уверены, сколько устройств будет найдено в сети. Таким образом, представление топологии, которое мы ищем, будет полностью динамическим c.

  2. Мое требование показывает сетевые устройства как и когда они обнаружены. Мое приложение основано на reactjs, где я получаю сообщение об устройстве, обнаруженном через WebSocket.

  3. Первоначально, когда обнаруживается одно устройство, представление топологии имеет только одно сетевое устройство ( устройство, с которого я начну обнаружение), будет заполнено с использованием vis-network.

  4. Затем, когда будет обнаружено новое устройство, мне нужно будет заполнить его на странице просмотра топологии. используя узлы. Добавить функцию (узел - это набор данных vis-network).

  5. Моя настоящая сеть - это иерархическая сеть. Поэтому я использую иерархическую опцию в макете опций vis-network, потому что мне нужно поддерживать сетевую иерархию в любой момент времени в представлении топологии.

  6. Теперь я рассмотрю сетевые устройства как D1, D2, D3 и так далее, чтобы объяснить мой запрос. Допустим, я заполнил D1 в представлении топологии с параметром иерархического представления. Теперь обнаружен D2 (связанный с D1 только через одну ссылку). Мне нужно будет сделать edge.add и node.add. Теперь D2 размещается случайным образом на экране просмотра топологии. Мне нужно было иерархическое представление, чтобы применить к этому тоже. Если я перерисовываю сеть здесь для применения иерархической опции к текущему набору (D1, D2), положение D1 (существующего до перерисовки) также изменится, чего я не хочу.

Теперь, скажем, D1 и D2 заполняются в начале в представлении топологии. Обнаружено другое устройство D3 (подключенное к D1 по одной ссылке). D3 размещается случайным образом на экране просмотра топологии. Мне нужно было иерархическое представление, чтобы применить к этому тоже. Если я перерисовываю сеть здесь для применения иерархической опции к текущему набору (D1, D2, D3), положение D1 и D2 (существующее до перерисовки) также изменится, чего я не хочу.

Каким образом я могу достичь этого?

...