我的任务是创建一个简单的基于Python的网络应用程序,以图形方式表示各种服务器之间的“差异”,就整个文件系统中各种关键配置文件的内容而言。热图在服务器上显示文件系统差异?
1.海莱科尔热图
对于高级概述,想到创建每个系统(例如http://www.jjguy.com/heatmap/)的热图的。将每个系统与金源图像(原始图像)进行比较,然后使用颜色来表示他从该图像中区分的程度。
将文件系统映射到x-y轴,以便每个系统的热图上的相同坐标表示相同的文件。
我在这里的第一个问题是,你有什么建议将一个好的算法映射文件系统到x-y坐标?请记住,虽然每个服务器应该有或多或少相同的文件系统层次结构,但这可能不一定是真实的,我仍然需要找到一种方法来表示丢失的文件/目录,或者可能添加的文件/目录。我不确定这是否可能,以及将equavilent文件/目录映射到每个系统映射上的匹配(或至少相似)x-y点的第一个要求。任何新颖的方法/算法在这里?
然后,我需要一种方法来量化每个文件之间的变化程度(行数?),然后将其传递到热图上。请记住,我需要区分说,10个改变行的单个文件和10个每个改变行1个文件,因为它们都有不同的分支。
2.向下钻取,以显示文件的diff
我希望也提供对Web应用中向下钻取到单独的文件/目录,看看它们之间的变化的能力。
我一直在使用Kdiff3和Meld的组合来实现可视化代码差异,Meld显示更改的方式让我印象深刻。
我似乎无法找到任何独立的网络库,提供thier自己的可视化差异的机制。我发现最近的是jsdifflib(http://snowtide.com/jsdifflib),但它似乎与Meld之类的功能(或者我认为的美学)不匹配。有什么建议吗?
干杯, 维克多