Heatmap для отображения файловой системы на сервере? - PullRequest
2 голосов
/ 10 июля 2010

Мне было поручено создать простое веб-приложение Python для графического представления «различий» между различными серверами с точки зрения содержания различных ключевых конфигурационных файлов в файловой системе.

1.Тепловая карта высокого уровня

Для общего обзора я думал о создании тепловой карты каждой системы (например, http://www.jjguy.com/heatmap/). Каждая система сравнивается с изображением с золотым источником (оригинал), а затем мы используем цвета для представления степени отличия от этого изображения.

Файловая система сопоставлена ​​с осью xy, поэтому одинаковые координаты на тепловой карте для каждой системы представляют одинаковые файлы.

Мой первый вопрос здесь: есть ли у вас какие-либо советы по поводу хорошего алгоритма для сопоставления файловой системы с координатами xy? Имейте в виду, хотя каждый сервер должен иметь более или менее одинаковую иерархию файловой системы, это можетбыть обязательно верным, и мне все еще нужно найти способ представления отсутствующих файлов / каталогов или, возможно, добавленных файлов / каталогов. Я не уверен, если это возможно, наряду с первым требованием сопоставления эквивалентных файлов / каталогов с соответствием (илипо крайней мере, аналогично) xy указывает на каждую карту системы. Какие-нибудь новые подходы / алгоритмы здесь?

ТогдаМне нужен способ количественной оценки степени изменений между каждым файлом (количество строк?), А затем передать это на карту тепла.Имейте в виду, что мне нужно различать, скажем, один файл с 10 измененными строками и 10 файлами с 1 измененной строкой в ​​каждом, так как оба имеют разные значения.

2.Детализация для отображения различий в файлах

Я надеюсь также предложить в веб-приложении возможность детализировать отдельные файлы / каталоги и просматривать изменения между ними.

Я использовал комбинацию Kdiff3 и Meld для визуальных изменений кода, и я весьма впечатлен тем, как изменяется отображение Meld.

http://meld.sourceforge.net/meld_file1.png

Я не могнайти любые автономные веб-библиотеки, которые предоставляют механизм визуального сравнения самостоятельно.Наиболее близким я нашел jsdifflib (http://snowtide.com/jsdifflib),, но он, кажется, не соответствует функциональности (или, я полагаю, эстетике) чего-то вроде Meld. Любой совет здесь?

(Revisionist выглядит крутона самом деле - http://benfry.com/revisionist/ - но я не могу найти какой-либо открытый код для него).

Ура, Виктор

1 Ответ

1 голос
/ 10 июля 2010

Что касается отображения файловой системы, взгляните на WindirStat http://windirstat.info/.Изначально это инструмент оценки размера для вашей файловой системы, но вы можете определить свой собственный расчет размера.Карта дерева поможет сгруппировать файлы, которые являются одной и той же папкой или деревом папок.Это несколько устойчиво к изменениям содержимого диска.

...