本發(fā)明屬于文檔處理
技術領域:
,具體涉及一種還原復合文檔歷史版本的系統(tǒng)及方法、存儲介質(zhì)和處理器。
背景技術:
:復合文檔不僅包含文本,而且包括圖形、電子表格數(shù)據(jù)、聲音、視頻圖像以及其它非文本信息。復合文檔是一個由多個文件復合的壓縮包,包含若干文件,這些文件可以分為內(nèi)容文件和資源文件。復合文檔的歷史版本還原技術,例如將歷史版本的整個復合文檔下載,替換當前版本;也可以將歷史版本的整個復合文檔切分成若干文件塊,分塊下載,下載后把所有文件塊合并為整個復合文檔,替換當前版本。由于這些還原技術都需要將歷史版本的整個復合文檔下載,因此網(wǎng)絡傳輸?shù)呢摀^大。技術實現(xiàn)要素:為了解決上述網(wǎng)絡傳輸負擔較大的技術問題,本發(fā)明實施例提出了一種還原復合文檔歷史版本的系統(tǒng)及方法、存儲介質(zhì)和處理器。一種還原復合文檔歷史版本的系統(tǒng),該系統(tǒng)包括第一設備和第二設備,第一設備和第二設備通過網(wǎng)絡連接;第一設備用于新建或更新復合文檔,并將新建或更新的復合文檔的所有文件和相應的文件索引列表發(fā)送給第二設備,其中復合文檔的所有文件中包括有版本配置文件;第二設備用于按照版本接收和保存第一設備發(fā)送的復合文檔的所有文件和文件索引列表,并關聯(lián)地記錄復合文檔的文件索引列表和版本號;第一設備還用于在需要將復合文檔的當前版本還原到歷史版本時,將復合文檔的當前版本號和需要還原的歷史版本的版本號發(fā)送給第二設備;第二設備還用于根據(jù)第一設備發(fā)送的復合文檔的當前版本號和需要還原的歷史版本的版本號生成需要下載和刪除文件的差量文件列表,并將需要下載和刪除文件的差量文件列表返回給第一設備;第一設備還用于根據(jù)接收到的差量文件列表,從第二設備中下載需要下載的文件到第一設備,和/或從第一設備中刪除需要刪除的文件;并在完成文件的下載和/或刪除后,根據(jù)需要還原的歷史版本的版本配置文件合并所有文件,并更新第一設備中的該復合文檔的文件索引列表。進一步地,所述第二設備根據(jù)第一設備發(fā)送的復合文檔的當前版本號從數(shù)據(jù)庫中提取對應復合文檔的當前版本號的文件索引列表,以及根據(jù)第一設備發(fā)送的復合文檔需要還原的歷史版本的版本號從數(shù)據(jù)庫中提取對應復合文檔的歷史版本的版本號的文件索引列表,將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比,生成需要下載和刪除文件的差量文件列表。進一步地,第二設備將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比是根據(jù)當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表的哈希值進行對比。進一步地,第二設備在接收到第一設備發(fā)送的該復合文檔所包括的所有文件和文件索引列表后,按照版本保存該復合文檔所包括的所有文件以及版本配置文件在該版本對應的文件夾中,并在數(shù)據(jù)庫中關聯(lián)地記錄復合文檔的文件索引列表和版本號,所述所有文件還包括內(nèi)容文件和/或資源文件。一種還原復合文檔歷史版本的方法,該方法包括生成步驟S41和還原步驟S42;其中所述生成步驟S41包括:步驟S411:第一設備在新建或更新復合文檔版本時,將新建或更新的復合文檔的所有文件和相應的文件索引列表發(fā)送給第二設備,其中復合文檔的所有文件包括版本配置文件;步驟S412:第二設備按照版本接收和保存第一設備發(fā)送的復合文檔的所有文件和文件索引列表,并關聯(lián)地記錄復合文檔的文件索引列表和版本號;其中所述還原步驟S42包括:步驟S421:第一設備需要將復合文檔的當前版本還原到歷史版本時,將復合文檔的當前版本號和需要還原的歷史版本的版本號發(fā)送給第二設備;步驟S422:第二設備根據(jù)第一設備發(fā)送的復合文檔的當前版本號和需要還原的歷史版本的版本號生成需要下載和刪除文件的差量文件列表,并將需要下載和刪除文件的差量文件列表返回給第一設備;步驟S423:第一設備根據(jù)接收到的差量文件列表,從第二設備中下載需要下載的文件到第一設備,和/或從第一設備中刪除需要刪除的文件;步驟S424:第一設備在完成文件的下載和/或刪除后,根據(jù)需要還原的歷史版本的版本配置文件合并所有文件,并更新第一設備中的該復合文檔的文件索引列表。進一步地,所述步驟S422中,所述第二設備根據(jù)第一設備發(fā)送的復合文檔的當前版本號從數(shù)據(jù)庫中提取對應復合文檔的當前版本號的文件索引列表,以及根據(jù)第一設備發(fā)送的復合文檔需要還原的歷史版本的版本號從數(shù)據(jù)庫中提取對應復合文檔的歷史版本的版本號的文件索引列表,將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比,生成需要下載和刪除文件的差量文件列表。進一步地,所述步驟S422中,第二設備將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比是根據(jù)當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表的哈希值進行對比。進一步地,所述步驟S412中,第二設備在接收到第一設備發(fā)送的該復合文檔所包括的所有文件和文件索引列表后,按照版本保存該復合文檔所包括的所有文件以及版本配置文件在該版本對應的文件夾中,并在數(shù)據(jù)庫中關聯(lián)地記錄復合文檔的文件索引列表和版本號,所述所有文件還包括內(nèi)容文件和/或資源文件。一種存儲介質(zhì),該存儲介質(zhì)中存儲有執(zhí)行如前所述方法的計算機程序。一種處理器,所述處理器運行執(zhí)行如前所述方法的計算機程序。本發(fā)明實施例的有益效果:本發(fā)明實施例提出的還原復合文檔歷史版本的技術方案通過計算兩個復合文件的索引文件列表差異,最大限度地減少了下載文件的數(shù)量,有效減少了帶寬占用,提升了保存速度。附圖說明圖1是本發(fā)明實施例提出的還原復合文檔歷史版本的系統(tǒng)的結構框圖;圖2是本發(fā)明實施例提出的復合文檔對應的文件夾的一種結構組成;圖3是本發(fā)明實施例提出的復合文檔對應的文件夾的另一種結構組成;圖4是本發(fā)明實施例提出的還原復合文檔歷史版本的方法的流程圖。具體實施方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。但本領域技術人員知曉,本發(fā)明并不局限于附圖和以下實施例。本發(fā)明實施例提出的還原復合文檔歷史版本的系統(tǒng),如圖1所示,該系統(tǒng)包括客戶端11和服務器12,其中客戶端11和服務器12通過網(wǎng)絡連接??蛻舳?1存儲復合文檔當前版本的所有內(nèi)容文件和資源文件、文件索引列表和版本配置文件,該文件索引列表記載該復合文檔當前版本所包括的所有內(nèi)容文件和資源文件的文件名(含后綴)以及對應該復合文檔當前版本的版本配置文件的文件名;對應該復合文檔當前版本的版本配置文件和所包括的所有內(nèi)容文件和資源文件均位于同一文件夾中,其中文件夾的名稱為該復合文檔的文檔名,例如圖2所示的文件夾combine1;復合文檔包括的部分或全部內(nèi)容文件和資源文件也可以根據(jù)類型的不同放在該文件夾的不同子文件夾中,所述的類型例如為文本、圖形、電子表格數(shù)據(jù)、聲音、視頻圖像等類型,或者簡單分為內(nèi)容文件類型和資源文件類型,例如圖3所示的文件夾combine2。在復合文檔版本新建或更新時,該文件索引列表和版本配置文件也會進行建立或相應的更新??蛻舳?1會向服務器12上傳該復合文檔各個版本所包括的所有內(nèi)容文件和資源文件以及文件索引列表和版本配置文件。服務器12在接收到客戶端11上傳的該復合文檔各個版本所包括的所有內(nèi)容文件和資源文件以及文件索引列表和版本配置文件后,保存該復合文檔每個版本所包括的所有內(nèi)容文件和資源文件以及版本配置文件在每個版本對應的文件夾中,并在數(shù)據(jù)庫中關聯(lián)地記錄復合文檔的文件索引列表和版本號??蛻舳?1需要還原當前版本的復合文檔到歷史版本時,上傳復合文檔的當前版本號和需要還原的歷史版本的版本號;服務器12根據(jù)客戶端11上傳的復合文檔的當前版本號從數(shù)據(jù)庫中提取對應復合文檔的當前版本號的文件索引列表,以及根據(jù)客戶端11上傳的復合文檔需要還原的歷史版本的版本號從數(shù)據(jù)庫中提取對應復合文檔的歷史版本的版本號的文件索引列表,將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比,生成需要下載和刪除文件的差量文件列表,并將需要下載和刪除文件的差量文件列表返回給客戶端11;一般來說,對于復合文檔的不同版本,其版本配置文件也會不同,因此,需要下載的文件中包括需要還原的歷史版本的版本配置文件,需要刪除的文件中包括當前版本的版本配置文件。其中服務器12將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比是根據(jù)當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表的哈希值進行對比,生成需要下載和/或刪除文件的差量文件列表。所述哈希值所采用的算法可以為MD5、sha-1、RIPEMD以及Haval等。客戶端11根據(jù)接收到的差量文件列表,從服務器的與該復合文檔需要還原的歷史版本對應的文件夾中逐一下載需要下載的文件到客戶端11中該復合文檔當前版本對應的文件夾中,和/或從客戶端11中該復合文檔當前版本對應的文件夾中刪除需要刪除的文件。客戶端11完成文件的下載和/或刪除后,根據(jù)下載的需要還原的歷史版本的版本配置文件合并所有文件,并更新客戶端11中的該復合文檔的文件索引列表,從而得到需要還原的歷史版本的復合文檔。本發(fā)明實施例提出的還原復合文檔歷史版本的方法,如圖4所示,該方法包括生成步驟S41和還原步驟S42。其中所述生成步驟S41包括:步驟S411:客戶端11在復合文檔版本新建或更新時,將對應該版本的復合文檔所包括的所有內(nèi)容文件和資源文件以及文件索引列表和版本配置文件上傳到服務器12;其中客戶端11存儲復合文檔當前版本的所有內(nèi)容文件和資源文件、文件索引列表和版本配置文件,該文件索引列表記載該復合文檔當前版本所包括的所有內(nèi)容文件和資源文件的文件名(含后綴)以及對應該復合文檔當前版本的版本配置文件的文件名;對應該復合文檔當前版本的版本配置文件和所包括的所有內(nèi)容文件和資源文件均位于同一文件夾中,其中文件夾的名稱為該復合文檔的文檔名,例如圖2所示的文件夾combine1;復合文檔包括的部分或全部內(nèi)容文件和資源文件也可以根據(jù)類型的不同放在該文件夾的不同子文件夾中,所述的類型例如為文本、圖形、電子表格數(shù)據(jù)、聲音、視頻圖像等類型,或者簡單分為內(nèi)容文件類型和資源文件類型,例如圖3所示的文件夾combine2。在復合文檔的版本更新時,該文件索引列表和版本配置文件也會進行相應的更新;步驟S412:服務器12在接收到客戶端11上傳的對應該版本的該復合文檔所包括的所有內(nèi)容文件和資源文件以及文件索引列表和版本配置文件后,保存該復合文檔所包括的所有內(nèi)容文件和資源文件以及版本配置文件在該版本對應的文件夾中,并在數(shù)據(jù)庫中關聯(lián)地記錄復合文檔的文件索引列表和版本號;其中所述還原步驟S42包括:步驟S421:客戶端11需要還原當前版本的復合文檔到歷史版本時,上傳復合文檔的當前版本號和需要還原的歷史版本的版本號;步驟S422:服務器12根據(jù)客戶端11上傳的復合文檔的當前版本號從數(shù)據(jù)庫中提取對應復合文檔的當前版本號的文件索引列表,以及根據(jù)客戶端11上傳的復合文檔需要還原的歷史版本的版本號從數(shù)據(jù)庫中提取對應復合文檔的歷史版本的版本號的文件索引列表,將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比,生成需要下載和刪除文件的差量文件列表,并將需要下載和刪除文件的差量文件列表返回給客戶端11;一般來說,對于復合文檔的不同版本,其版本配置文件也會不同,因此,需要下載的文件中包括需要還原的歷史版本的版本配置文件,需要刪除的文件中包括當前版本的版本配置文件;步驟S423:客戶端11根據(jù)接收到的差量文件列表,從服務器的與該復合文檔需要還原的歷史版本對應的文件夾中逐一下載需要下載的文件到客戶端11中該復合文檔當前版本對應的文件夾中,和/或從客戶端11中該復合文檔當前版本對應的文件夾中刪除需要刪除的文件;步驟S424:客戶端11完成文件的下載和/或刪除后,根據(jù)下載的需要還原的歷史版本的版本配置文件合并所有文件,更新客戶端11中的該復合文檔的文件索引列表,從而得到需要還原的歷史版本的復合文檔。其中在步驟S422中,服務器12將當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表進行對比是根據(jù)當前版本號的文件索引列表與需要還原的歷史版本的版本號的文件索引列表的哈希值進行對比,生成需要下載和/或刪除文件的差量文件列表。所述哈希值所采用的算法可以為MD5、sha-1、RIPEMD以及Haval等。本發(fā)明實施例還提出了一種存儲介質(zhì),該存儲介質(zhì)中存儲有執(zhí)行上述方法的計算機程序。本發(fā)明實施例還提出了一種處理器,所述處理器運行執(zhí)行上述方法的計算機程序。下面以服務器12含有復合文檔兩個版本為例,對上述實施例進行示例性說明。假設復合文檔A在服務器12中保存有兩個版本,版本號分別為1和2。版本1包括視頻文件video1.mp4、圖像文件image1.png和image2.png,以及相應的版本配置文件config1.xml,其中視頻文件video1.mp4以及圖像文件image1.png和image2.png均為資源文件;復合文檔A的版本1對應于服務器中的文件夾combineA1,即文件夾combineA1中存儲有視頻文件video1.mp4、圖像文件image1.png和image2.png、版本配置文件config1.xml、對應于版本1的文件索引列表。版本2包括視頻文件video1.mp4、圖像文件image1.png和image3.png,以及相應的版本配置文件config2.xml,其中視頻文件video1.mp4以及圖像文件image1.png和image3.png均為資源文件;復合文檔A的版本2對應于服務器中的文件夾combineA2,即文件夾combineA2中存儲有視頻文件video1.mp4、圖像文件image1.png和image3.png、版本配置文件config2.xml、對應于版本2的文件索引列表。版本1和版本2的文件索引列表分別如下:版本1的文件索引列表:config1.xmlvideo1.mp4image1.pngimage2.png版本2的文件索引列表:config2.xmlvideo1.mp4image1.pngimage3.png客戶端11中該復合文檔A的當前版本為版本2,復合文檔A的當前版本對應于客戶端11中的文件夾combineA,即文件夾combineA中存儲有視頻文件video1.mp4、圖像文件image1.png和image3.png、版本配置文件config2.xml、對應于版本2的文件索引列表。客戶端11中該復合文檔A的文件索引列表與服務器12中該復合文檔A的版本2的文件索引列表相同。當客戶端11中該復合文檔A的當前版本2需要還原為版本1時,服務器12根據(jù)版本1和版本2對應的文件索引列表,計算出差量文件列表:config1.xml(待下載)image2.png(待下載)image3.png(待刪除)config2.xml(待刪除)因此客戶端11需要從服務器12的文件夾combineA1中下載版本配置文件config1.xml和圖像文件image2.png,并且刪除客戶端11中文件夾combineA中的圖像文件image3.png和版本配置文件config2.xml。待下載和刪除完成后,根據(jù)下載的版本1的版本配置文件config1.xml合并文件夾combineA中的所有文件,更新客戶端11中的該復合文檔A的文件索引列表,即可還原為版本1的復合文檔。本領域技術人員可以理解,在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設備取指令并執(zhí)行指令的系統(tǒng))使用,或結合這些指令執(zhí)行系統(tǒng)、裝置或設備而使用。就本說明書而言,“計算機可讀介質(zhì)”可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設備或結合這些指令執(zhí)行系統(tǒng)、裝置或設備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或它們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。以上,對本發(fā)明的實施方式進行了說明。但是,本發(fā)明不限定于上述實施方式。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁1 2 3