我的任務是創建一個簡單的基於Python的網絡應用程序,以圖形方式表示各種服務器之間的「差異」,就整個文件系統中各種關鍵配置文件的內容而言。熱圖在服務器上顯示文件系統差異?
1.海萊科爾熱圖
對於高級概述,想到創建每個系統(例如http://www.jjguy.com/heatmap/)的熱圖的。將每個系統與金源圖像(原始圖像)進行比較,然後使用顏色來表示他從該圖像中區分的程度。
將文件系統映射到x-y軸,以便每個系統的熱圖上的相同座標表示相同的文件。
我在這裏的第一個問題是,你有什麼建議將一個好的算法映射文件系統到x-y座標?請記住,雖然每個服務器應該有或多或少相同的文件系統層次結構,但這可能不一定是真實的,我仍然需要找到一種方法來表示丟失的文件/目錄,或者可能添加的文件/目錄。我不確定這是否可能,以及將equavilent文件/目錄映射到每個系統映射上的匹配(或至少相似)x-y點的第一個要求。任何新穎的方法/算法在這裏?
然後,我需要一種方法來量化每個文件之間的變化程度(行數?),然後將其傳遞到熱圖上。請記住,我需要區分說,10個改變行的單個文件和10個每個改變行1個文件,因爲它們都有不同的分支。
2.向下鑽取,以顯示文件的diff
我希望也提供對Web應用中向下鑽取到單獨的文件/目錄,看看它們之間的變化的能力。
我一直在使用Kdiff3和Meld的組合來實現可視化代碼差異,Meld顯示更改的方式讓我印象深刻。
http://meld.sourceforge.net/meld_file1.png
我似乎無法找到任何獨立的網絡庫,提供thier自己的可視化差異的機制。我發現最近的是jsdifflib(http://snowtide.com/jsdifflib),但它似乎與Meld之類的功能(或者我認爲的美學)不匹配。有什麼建議嗎?
(修正者看起來很酷 - http://benfry.com/revisionist/ - 但我似乎無法找到任何公共代碼)。
乾杯, 維克多