本發(fā)明涉及計算機文檔技術(shù)領(lǐng)域,具體涉及一種基于OpenXML標(biāo)準(zhǔn)的文檔版本管理系統(tǒng)。
背景技術(shù):
當(dāng)前各種版本管理工具,僅能針對純文本格式文件進行管理。而Word、Excel和Powerpoint等辦公軟件保存的文檔,對于版本管理軟件來說僅能作為二進制文件進行處理。無法像純文本文件一樣通過比較生成Patch來實現(xiàn)在不同版本上的更新和多人協(xié)作時的數(shù)據(jù)同步等功能。因此當(dāng)前的各種版本管理工具不具備對各種文檔進行版本管理的能力。
當(dāng)前,針對軟件開發(fā)過程中的代碼版本管理工具比比皆是,然而伴隨各個代碼版本產(chǎn)生的大量技術(shù)文檔則缺乏有效的管理手段。
本發(fā)明即針對這一空缺,通過對基于OpenXML格式文檔的解析和處理,實現(xiàn)Word、Excel和Power point等辦公文檔的版本管理功能。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是:本發(fā)明針對以上問題,提供一種基于OpenXML標(biāo)準(zhǔn)的文檔版本管理系統(tǒng)。
本發(fā)明所采用的技術(shù)方案為:
一種基于OpenXML標(biāo)準(zhǔn)的文檔版本管理系統(tǒng),所述系統(tǒng)包括三個模塊:OpenXML解析模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)管理模塊,其中:
OpenXML解析模塊用于解析Word、Excel和Powerpoint等辦公軟件保存的文檔,采用的OpenXML文檔格式,為數(shù)據(jù)處理模塊提供數(shù)據(jù);
數(shù)據(jù)處理模塊獲取OpenXML解析模塊提供的當(dāng)前版本文件數(shù)據(jù),從數(shù)據(jù)管理模塊中獲取上一版本文件數(shù)據(jù),進行比較,并處理數(shù)據(jù)差異,生成Patch文件;
數(shù)據(jù)管理模塊負(fù)責(zé)存儲初始文件數(shù)據(jù)和各版本Patch,實現(xiàn)文件版本管理中回溯和更新等功能。
Open XML 的標(biāo)準(zhǔn)化工作是由 Ecma International 通過其技術(shù)委員會 45 (TC45) 執(zhí)行的,來自 Apple、Barclays Capital、BP、The British Library、Essilor、Intel、Microsoft、NextPage、Novell、Statoil、Toshiba 和 United States Library of Congress 的代表參與了該項工作。該標(biāo)準(zhǔn)旨在提供現(xiàn)有 ISO 標(biāo)準(zhǔn)所無法提供的獨特好處,其中包括能夠?qū)崿F(xiàn)從現(xiàn)有二進制格式向基于 XML 的格式的高保真移植。
所述數(shù)據(jù)處理模塊負(fù)責(zé)在舊版本文件數(shù)據(jù)上應(yīng)用Patch或在新版本文件數(shù)據(jù)上移出Patch等數(shù)據(jù)操作。
Patch多指補丁的意思比如內(nèi)存補丁、文件補丁等, 也是電腦命令程序的一種。patch 命令讀取如何更改文件的源文件指示信息,然后應(yīng)用這些更改。源文件包含由 diff 命令產(chǎn)生的差別列表(或者 diff 列表)。差異列表是比較兩個文件和構(gòu)建關(guān)于如何糾正差別的指示信息的結(jié)果。
所述系統(tǒng)對文檔的版本管理過程如下:
1)在文檔初次建立后,使用本系統(tǒng)對文檔版本進行管理,首先在本系統(tǒng)中對該新文檔進行解析、索引和存儲索引操作,完成文檔在版本管理系統(tǒng)中的初始化;
2)文檔內(nèi)容改變后,通過本系統(tǒng)解析新文件,對比分析新舊文檔數(shù)據(jù)生成Patch和對應(yīng)版本號并由數(shù)據(jù)存儲模塊保存。
所述系統(tǒng)根據(jù)用戶操作不同,提供版本回溯和前進等功能,用于在不同版本間進行切換。
本發(fā)明的有益效果為:
本發(fā)明系統(tǒng)通過對基于OpenXML格式文檔的解析和處理,實現(xiàn)Word、Excel和Power point等辦公文檔的版本管理功能,實現(xiàn)了一種基于OpenXML標(biāo)準(zhǔn)的文檔版本管理,通過比較生成Patch來實現(xiàn)在不同版本上的更新和多人協(xié)作時的數(shù)據(jù)同步,便于在不同版本間進行切換。
具體實施方式
下面結(jié)合具體實施方式對本發(fā)明進一步說明:
實施例1
一種基于OpenXML標(biāo)準(zhǔn)的文檔版本管理系統(tǒng),所述系統(tǒng)包括三個模塊:OpenXML解析模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)管理模塊,其中:
OpenXML解析模塊用于解析Word、Excel和Powerpoint等辦公軟件保存的文檔,采用的OpenXML文檔格式,為數(shù)據(jù)處理模塊提供數(shù)據(jù);
數(shù)據(jù)處理模塊獲取OpenXML解析模塊提供的當(dāng)前版本文件數(shù)據(jù),從數(shù)據(jù)管理模塊中獲取上一版本文件數(shù)據(jù),進行比較,并處理數(shù)據(jù)差異,生成Patch文件;
數(shù)據(jù)管理模塊負(fù)責(zé)存儲初始文件數(shù)據(jù)和各版本Patch,實現(xiàn)文件版本管理中回溯和更新等功能。
Open XML 的標(biāo)準(zhǔn)化工作是由 Ecma International 通過其技術(shù)委員會 45 (TC45) 執(zhí)行的,來自 Apple、Barclays Capital、BP、The British Library、Essilor、Intel、Microsoft、NextPage、Novell、Statoil、Toshiba 和 United States Library of Congress 的代表參與了該項工作。該標(biāo)準(zhǔn)旨在提供現(xiàn)有 ISO 標(biāo)準(zhǔn)所無法提供的獨特好處,其中包括能夠?qū)崿F(xiàn)從現(xiàn)有二進制格式向基于 XML 的格式的高保真移植。
實施例2
在實施例1的基礎(chǔ)上,本實施例所述數(shù)據(jù)處理模塊負(fù)責(zé)在舊版本文件數(shù)據(jù)上應(yīng)用Patch或在新版本文件數(shù)據(jù)上移出Patch等數(shù)據(jù)操作。
Patch多指補丁的意思比如內(nèi)存補丁、文件補丁等, 也是電腦命令程序的一種。patch 命令讀取如何更改文件的源文件指示信息,然后應(yīng)用這些更改。源文件包含由 diff 命令產(chǎn)生的差別列表(或者 diff 列表)。差異列表是比較兩個文件和構(gòu)建關(guān)于如何糾正差別的指示信息的結(jié)果。
實施例3
在實施例1或2的基礎(chǔ)上,本實施例所述系統(tǒng)對文檔的版本管理過程如下:
1)在文檔初次建立后,使用本系統(tǒng)對文檔版本進行管理,首先在本系統(tǒng)中對該新文檔進行解析、索引和存儲索引操作,完成文檔在版本管理系統(tǒng)中的初始化;
2)文檔內(nèi)容改變后,通過本系統(tǒng)解析新文件,對比分析新舊文檔數(shù)據(jù)生成Patch和對應(yīng)版本號并由數(shù)據(jù)存儲模塊保存。
實施例4
在實施例3的基礎(chǔ)上,本實施例所述系統(tǒng)根據(jù)用戶操作不同,提供版本回溯和前進等功能,用于在不同版本間進行切換。
實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應(yīng)由權(quán)利要求限定。