欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種電子文檔的歷史版本數據處理方法及裝置的制作方法

文檔序號:6575457閱讀:192來源:國知局
專利名稱:一種電子文檔的歷史版本數據處理方法及裝置的制作方法
技術領域
本發(fā)明涉及電子文檔數據處理領域,尤其涉及一種電子文檔的歷史版本數據處理 方法及裝置。
背景技術
現在很多電子文檔格式采用“物理容器+文檔模型”的架構來描述和存儲數據, 其中,文檔模型中包括各類數據描述文件,比如,文檔主入口文件、安全性描述文件、資源 描述文件等,物理容器主要用于存儲數據,就好像一個虛擬存儲系統(Virtual Storage System),將文檔模型中的各類數據描述文件組織起來。大多數的電子文檔格式采用Zip包 作為物理容器,比如微軟的OOXML和XPS等。也有一些電子文檔格式采用其它的物理容器, 比如Adobe的PDF采用文本文件作為物理容器。在電子文檔應用中,往往會涉及到對文檔進行修改。考慮到數據存儲效率,采用增 量修改的方式對文檔進行修改。增量修改是指將用戶編輯修改的數據作為一個增加的部分 進行存儲,而不是對被編輯的對象數據直接進行修改。增量修改的優(yōu)點在于,一是由于不需 要對文檔整體進行重新存儲,只需要在文檔中附加增加部分的數據即可,所以可最大限度 地減少文件需要移動的數據量,提高數據存儲的效率;二是保留了所有的歷史數據,這樣可 以對文檔的歷史版本進行追溯,在很多修訂的場景下非常有用。但是,對于采用Zip包作為物理容器的電子文檔,由于Zip無法實現增量修改 的功能,因此也無法對文檔的歷史版本進行追溯。而對于現有的支持增量修改的電子 文檔,比如PDF和D0C,盡管支持增量修改,但是它們是直接通過文檔格式中的某些數據 結構來進行歷史追溯的,這種方式是和文檔模型直接耦合的。比如,PDF采用交叉索引 表(Cross-reference Table)來進行歷史追溯,而交叉索引表是基于PDF的頁面對象 (object)的索引,頁面對象描述在文檔模型中定義,因此交叉索引表與文檔模型直接耦合。 如圖1所示,每次對PDF文檔進行一次增量修改,在物理容器中就增加一個交叉索引表,通 過這些交叉索引表獲取文檔的歷史版本。如果有另外一種文檔格式想復用PDF的增量修改 和歷史版本追溯模型,就必須完全采用PDF的頁面對象組織方式。也就是說,對于不同的文 檔格式,由于其文檔模型不同,我們往往需要設計新的增量修改和歷史版本追溯方式。此外,由于版本追溯方式和文檔模型耦合太緊密,導致無法很好地區(qū)分開物理容 器的歷史版本和文檔模型的歷史版本,這樣,就無法實現對于真正的文檔歷史的追溯。如圖 1所示,物理容器中的交叉索引表與文檔模型直接耦合,因此難以分離物理容器的歷史版本 和文檔模型的歷史版本。舉例來講,每次對文檔進行增量修改時,可能會認為物理容器和文 檔模型都會增加一個歷史版本,但實際上文檔模型的版本可能并沒有改變,應用系統可能 是通過數字簽名等方式來確定文檔模型的歷史版本。在這種情況下,就不能正確地進行文 檔的歷史版本追溯。另外,物理容器版本和文檔模型版本耦合太緊密還會造成這樣的問題, 即,不同的文檔模型難以復用同一個物理容器,同一個文檔模型難以選用不同的物理容器。

發(fā)明內容
為了解決現有技術中的上述問題,本發(fā)明提出了一種電子文檔的歷史版本數據處 理方法及裝置,以通過降低物理容器和文檔模型之間的版本信息耦合性來實現便于不同的 文檔格式復用的歷史版本追溯方法。為了實現以上目的,本發(fā)明提供一種電子文檔的歷史版本數據處理方法,該方法 包括以下步驟在電子文檔中建立歷史映射表,所述歷史映射表表示物理容器的歷史版本 和文檔模型的歷史版本的映射關系;和當物理容器的歷史版本和文檔模型的歷史版本同時 更新時,更新歷史映射表。可在電子文檔文檔模型的入口位置之前建立歷史映射表。歷史映射表可由二元組 序列組成,每個二元組序列包括物理容器的歷史版本號和文檔模型的歷史版本號。所述更 新歷史映射表的步驟可包括將更新的物理容器的歷史版本號和文檔模型的歷史版本號組 成所述二元組添加到歷史映射表中的步驟。對經過上述處理的電子文檔進行歷史版本追溯時,根據需要得到的文檔模型的歷 史版本,在歷史映射表中查找對應的物理容器的歷史版本,然后在物理容器中提取對應版 本的數據。根據本發(fā)明的電子文檔的歷史版本數據處理裝置包括歷史映射表建立單元,在 電子文檔中建立歷史映射表,所述歷史映射表表示物理容器的歷史版本和文檔模型的歷史 版本的映射關系;和歷史映射表更新單元,當物理容器的歷史版本和文檔模型的歷史版本 同時更新時,更新歷史映射表。該裝置還可包括電子文檔保存單元,每次更新歷史映射表時,保存電子文檔;和 歷史版本追溯單元,根據需要得到的文檔模型的歷史版本,在歷史映射表中查找對應的物 理容器的歷史版本,然后在物理容器中提取對應版本的數據。本發(fā)明通過為物理容器和文檔模型建立一個歷史映射表來降低物理容器和文檔 模型之間的版本信息耦合性,從而實現“一個物理容器+多個文檔模型”的技術架構,即,不 同的文檔格式可采用同一套容器結構。在這種技術架構下,對于支持增量修改的物理容器, 通過上述歷史映射表,可方便地對這些格式的文檔進行歷史版本的追溯。


圖1是PDF文檔增量修改的結構示意圖。圖2是支持增量修改的物理容器XDA的結構圖。圖3是在XDA中實現增量修改的過程示意圖。圖4是在文檔模型的入口位置之前建立歷史映射表的示意結構圖。圖5是歷史映射表的示意結構圖。圖6是本發(fā)明的電子文檔的歷史版本數據處理裝置的示意結構圖。
具體實施例方式本發(fā)明適用于采用“物理容器+文檔模型”技術架構的電子文檔格式,其物理容器 需要支持增量修改和歷史版本追溯,比如,CEBX、UOF、XPS等。其中,CEBX為方正技術研究 院將于2009年發(fā)布的新一代版式文檔格式,CEBX和00XML、XPS等文檔格式類似,也是采用“物理容器+文檔模型”的整體技術架構,其物理容器支持增量修改和歷史版本追溯,簡稱為 XDA(XML-based Document Archive),以下將在實施例中對其進行描述。應該指出,CEBX滿 足本發(fā)明的適用條件,無論其具體內容如何,都不影響本發(fā)明的應用。為了降低物理容器和文檔模型的耦合性,根據本發(fā)明的電子文檔的歷史版本數據 處理方法包括以下步驟第一步,在電子文檔文檔模型的入口位置之前建立歷史映射表,該歷史映射表表 示物理容器的歷史版本和文檔模型的歷史版本的映射關系。所述歷史映射表建立在文檔模型的入口位置之前,所以它獨立于物理容器和文檔 模型,可記錄物理容器和文檔模型各自的歷史版本,從而將物理容器和文檔模型分離,降低 物理容器和文檔模型的歷史版本信息的耦合性。第二步,當物理容器的歷史版本和文檔模型的歷史版本同時更新時,更新歷史映 射表。關于物理容器的歷史版本和文檔模型的歷史版本的更新,根據不同的應用采用不 同的判定方法。一般而言,每次對電子文檔進行增量修改時,可認為增加一個物理容器的歷 史版本。而關于文檔模型的歷史版本的更新,可采用數字簽名來確定文檔模型的歷史版本, 也可采用添加修訂標記、版本標記、用戶標記等操作來確定文檔模型的歷史版本。例如,在 采用數字簽名確定文檔模型的歷史版本的情況下,每進行一次數字簽名,就認為增加了一 個文檔模型的歷史版本。在歷史映射表中,可通過版本號來記載物理容器和文檔模型的映 射關系。第三步,對經過上述處理的電子文檔進行歷史版本追溯時,根據需要得到的文檔 模型的歷史版本,在歷史映射表中查找對應的物理容器的歷史版本,然后在物理容器中提 取對應版本的數據。此外,在文檔模型中涉及到和歷史版本相關的部分,可引用歷史映射表中的歷史 版本,從而簡化數據描述。以下將參考附圖描述本發(fā)明的實施例。在本發(fā)明的實施例中,電子文檔采用一種簡稱為XDA (XML-basedDocument Archive)的物理容器,有關XDA的內容可參見于2008年10月14日提交到中國專利局的申 請?zhí)枮?00810224424. 0的專利申請《一種文件打包的方法和裝置》。與Zip相比,XDA在增 量修改、數據線性化以及壓縮效率方面都具備一定的優(yōu)勢。圖2顯示了支持增量修改的物理容器XDA的結構。如圖1所示,XDA由文件頭 (header)、文件流入口描述(entry)和各文件的內容流(bitstream)組成,其中,文件頭描 述版權信息、版本號、包含的歷史版本數量等一些最基本的信息,文件流入口描述描述每 個文件流在物理容器中的位置以及文件相關信息,各文件的內容流是文件流入口描述中 記錄的多個文件流的順序組合。在XDA中,文件流入口描述(entry)和各文件的內容流 (bitstream)成對出現,形成一組修改的歷史記錄,文件流入口描述(entry)中包括指向下 一個文件流入口描述(entry)的起始位置的next指針。圖3顯示了物理容器XDA進行增量修改的示意圖。如圖3所示,首先在XDA的原 尾部增加新的文件流入口描述(entry)和各文件的內容流(bitstream),然后將原來最后 一個文件流入口描述(entry)的next指針指向這個新增加的文件流入口描述(entry)的起始位置。這樣,XDA的歷史版本可根據文件流入口描述(entry)的個數來確定,也就是說, 每進行一次增量修改,就增加一個文件流入口描述(entry),可以認為XDA就增加一個歷史 版本。關于文檔模型的歷史版本,在本發(fā)明的實施例中,采用數字簽名來確定文檔模型 的歷史版本。每進行一次數字簽名,就認為增加了一個文檔模型的歷史版本。圖4顯示了在文檔模型的入口位置之前建立歷史映射表的示意結構圖。如圖4所 示,文檔對象DocBody節(jié)點代表了 CEBX文件中的文檔模型入口位置,在主入口文件中每個 DocBody節(jié)點之前為每個文檔對象建立一個對應的歷史映射表RevisionTrack,該歷史映 射表由一個二元組序列組成,每個二元組表示物理容器的歷史版本和文檔模型的歷史版本 的映射關系。圖5顯示了歷史映射表的示意結構圖。如圖5所示,歷史映射表RevisionTrack 包括一個 DocRevision 序列,每個 DocRevision 由一個 PhysicalSeqNumber 和一 個 RevisionNumber 組成,可表不為(PhysicalSeqNumber, RevisionNumber),其中, PhysicalSeqNumber表示物理容器XDA的歷史版本號,從1開始,RevisionNumber表示文檔 模型的歷史版本號,也是從1開始。在文檔模型定義中涉及到和歷史版本相關的部分,可引 用上述歷史映射表中的歷史版本號PhysicalSeqNumber和RevisionNumber。相應地,在數 字簽名中定義RevisionNumber屬性,用于引用上述歷史映射表中的文檔模型的歷史版本 號 RevisionNumber0在用戶對采用XDA的電子文檔進行編輯之后進行保存日寸,應用系統對電子文 檔進行增量修改,這時XDA中會增加一個歷史版本,記為Vp。如果這時用戶對該電子文 檔進行了數字簽名,則認為文檔模型增加了一個歷史版本,記為Vd。此時,應用系統在歷 史映射表中增加一個DocRevision 二元組,其中,在PhysicalSeqNumber中記錄Vp,在 RevisionNumber 中記錄 Vd,即,增加一個二元組(Vp,Vd)。如果需要對歷史版本進行追溯,比如需要得到文檔模型歷史版本V/ (1 <= V/ <=vd)的數據,則可以通過歷史映射表查到與V/對應的物理容器歷史版本vp’,然后在物 理容器XDA中取得與Vp’對應的數據。圖6顯示了本發(fā)明的電子文檔的歷史版本數據處理裝置的結構圖。如圖6所示, 該裝置包括歷史映射表建立單元,在電子文檔中建立歷史映射表,所述歷史映射表表示物 理容器的歷史版本和文檔模型的歷史版本的映射關系;和歷史映射表更新單元,當物理容 器的歷史版本和文檔模型的歷史版本同時更新時,更新歷史映射表。該裝置還可包括電子文檔保存單元,每次更新歷史映射表時,保存電子文檔;和 歷史版本追溯單元,根據需要得到的文檔模型的歷史版本,在歷史映射表中查找對應的物 理容器的歷史版本,然后在物理容器中提取對應版本的數據。通過以上實施例可看出,本發(fā)明通過在文檔模型的入口位置之前為每個文檔對象 建立一個表示物理容器歷史版本和文檔模型歷史版本的映射關系的歷史映射表,降低了物 理容器和文檔模型之間的版本信息耦合性,從而實現了 “一個物理容器+多個文檔模型” 的技術架構。在這種技術架構下,不同的文檔格式可采用同一套容器結構。對于支持增量 修改的物理容器,通過上述歷史映射表,可方便地對這些格式的文檔進行歷史版本的追溯。 也就是說,對于采用支持增量修改的物理容器的電子文檔,通過如上建立歷史映射表,可復用根據本發(fā)明的歷史版本追溯方法,而無需針對每種文檔格式設計不同的歷史版本追溯方 法。此外,由于物理容器和文檔模型之間的版本信息耦合性降低,所以除了不同的文檔模型 可復用同一個物理容器之外,同一文檔模型也可選用不同的物理容器。在這種情況下,通過 如上建立歷史映射表,也可方便地實現歷史版本的追溯。 盡管以上參考實施例描述了本發(fā)明,但是,應該理解,本發(fā)明不限于所公開的實施 例,任何類似的替換和修改都應包括在本發(fā)明中。例如,除了在文檔模型的入口位置之前建 立歷史映射表之外,還可以在電子文檔的其它位置建立歷史映射表,只要能夠方便獲取歷 史映射表并且歷史映射表和文檔模型相對獨立即可。更新歷史映射表的方式和歷史映射表 中的映射關系表示不限于實施例所公開的更新方式和映射表示,只要能反映物理容器的歷 史版本和文檔模型的歷史版本之間的對應關系即可。本發(fā)明所適用的電子文檔的物理容器 不限于XDA,也就是說,本發(fā)明適用于采用任何支持增量修改的物理容器的電子文檔。
權利要求
一種電子文檔的歷史版本數據處理方法,包括以下步驟在電子文檔中建立歷史映射表,所述歷史映射表表示物理容器的歷史版本和文檔模型的歷史版本的映射關系;和當物理容器的歷史版本和文檔模型的歷史版本同時更新時,更新歷史映射表。
2.根據權利要求1所述的電子文檔的歷史版本數據處理方法,其特征在于,在電子文 檔文檔模型的入口位置之前建立歷史映射表。
3.根據權利要求1所述的電子文檔的歷史版本數據處理方法,其特征在于,所述歷史 映射表由二元組序列組成,每個二元組包括物理容器的歷史版本號和文檔模型的歷史版本 號。
4.根據權利要求3所述的電子文檔的歷史版本數據處理方法,其特征在于,所述更新 歷史映射表的步驟包括將更新的物理容器的歷史版本號和文檔模型的歷史版本號組成所 述二元組添加到歷史映射表中的步驟。
5.根據權利要求1所述的電子文檔的歷史版本數據處理方法,其特征在于,物理容器 的歷史版本的更新是指,每次對電子文檔進行增量修改時,增加一個物理容器的歷史版本。
6.根據權利要求1所述的電子文檔的歷史版本數據處理方法,其特征在于,文檔模型 的歷史版本的更新是指,每次對電子文檔進行數字簽名或者添加修訂標記、版本標記、用戶 標記等操作時,增加一個文檔模型的歷史版本。
7.根據權利要求1所述的電子文檔的歷史版本數據處理方法,其特征在于,該方法還 包括歷史版本追溯步驟,該步驟包括以下步驟根據需要得到的文檔模型的歷史版本,在歷史映射表中查找對應的物理容器的歷史版 本;和根據查找的物理容器的歷史版本,在物理容器中提取對應版本的數據。
8.根據權利要求1所述的電子文檔的歷史版本數據處理方法,其特征在于,該方法還 包括以下步驟在文檔模型中涉及到和歷史版本相關的部分,引用歷史映射表中的歷史版本。
9.一種電子文檔的歷史版本數據處理裝置,包括歷史映射表建立單元,在電子文檔中建立歷史映射表,所述歷史映射表表示物理容器 的歷史版本和文檔模型的歷史版本的映射關系;和歷史映射表更新單元,當物理容器的歷史版本和文檔模型的歷史版本同時更新時,更 新歷史映射表。
10.根據權利要求9所述的電子文檔的歷史版本數據處理裝置,其特征在于,還包括 電子文檔保存單元,每次更新歷史映射表時,保存電子文檔。
11.根據權利要求10所述的電子文檔的歷史版本數據處理裝置,其特征在于,還包括 歷史版本追溯單元,根據需要得到的文檔模型的歷史版本,在歷史映射表中查找對應的物 理容器的歷史版本,然后在物理容器中提取對應版本的數據。
全文摘要
本發(fā)明提供了一種電子文檔的歷史版本數據處理方法及裝置,該方法包括以下步驟在電子文檔中建立歷史映射表,所述歷史映射表表示物理容器的歷史版本和文檔模型的歷史版本的映射關系;和當物理容器的歷史版本和文檔模型的歷史版本同時更新時,更新歷史映射表。當對歷史版本進行追溯時,根據需要得到的文檔模型的歷史版本,在歷史映射表中查找對應的物理容器的歷史版本,然后在物理容器中提取對應版本的數據。根據本發(fā)明的電子文檔的歷史版本數據處理裝置包括歷史映射表建立單元、歷史映射表更新單元、電子文檔保存單元和歷史版本追溯單元。
文檔編號G06F17/22GK101996161SQ20091009181
公開日2011年3月30日 申請日期2009年8月28日 優(yōu)先權日2009年8月28日
發(fā)明者仇睿恒, 張磊, 王曉磊, 王毅 申請人:北大方正集團有限公司;北京北大方正技術研究院有限公司;北京大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
信阳市| 虹口区| 固始县| 平阳县| 东平县| 渝中区| 应城市| 廉江市| 师宗县| 龙南县| 永清县| 丰顺县| 舟山市| 米易县| 南和县| 灵山县| 溧阳市| 庆城县| 汾阳市| 四会市| 县级市| 合水县| 固始县| 抚顺县| 宁武县| 麻江县| 固镇县| 烟台市| 营山县| 柳江县| 临西县| 淮北市| 湖北省| 房产| 杨浦区| 巴林左旗| 丹凤县| 古蔺县| 综艺| 五峰| 呼伦贝尔市|