2011-12-21 69 views
1

當設計專門的結構化數據文檔格式(可能基於XML)時:此文檔格式的部分要求是它可以在元數據部分容納歷史記錄在現場級別對結構化數據進行有意義的(應用程序級別)更改。在結構化數據文檔格式中嵌入變更跟蹤的策略

在最低限度,有效跟蹤的信息是:

  • 作者標識符
  • 時間戳
  • 型變化
  • 它從

改變的兩個數據項而且這些數據項目的任何清單都將被有效地跟蹤。數據模式應該是可分離的/不知道跟蹤它的元數據 - 儘管可能需要諸如節點標識符之類的註釋。可能需要一個可信的應用程序來執行跟蹤;然而,通過比較版本之間的數據段,能夠間隔地計算「delta」,而不是要求編輯器實時跟蹤每次更改,這將是一個好處。

「有意義」的跟蹤可以包括元數據模式處理更高級別數據更改原子 - 諸如一個更新其在應用程序級別爲一個數據點處理的組字段。

對於逐字符或逐字節數據,diff/patch類型算法可以工作。結構化數據(被視爲結構化)在我看來需要更復雜的解決方案。

我意識到我沒有非常明確的要求 - 這裏我的問題的目的是要找出這些問題在哪裏被考慮更多的優雅。

在結構化數據文檔格式中嵌入更改跟蹤有哪些策略?

謝謝!

回答

2

您可能對XML補丁格式感興趣(例如,如rfc 5261所述)。 例如,您可以在您的結構化XML文件的頂部構建一個這樣的修補程序列表,併爲每個修補程序註釋其作者,潛在功能請求/錯誤編號等,並可能使用語義級修補程序信息(例如「添加了這樣的對象」,「刪除了這樣的規則」......)。使用這種格式可以幫助您從文檔中輕鬆獲取舊版本,因爲存在處理該文檔的工具。