專(zhuān)利名稱(chēng)::一種文檔存儲(chǔ)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種文檔存儲(chǔ)方法及系統(tǒng),特別涉及一種軟件設(shè)計(jì)領(lǐng)域中文檔的存儲(chǔ)方法及系統(tǒng)。
背景技術(shù):
:在軟件設(shè)計(jì)領(lǐng)域內(nèi)的基礎(chǔ)技術(shù)中,幾乎任何桌面軟件都具有復(fù)雜的文檔結(jié)構(gòu),比如方正的飛騰排版軟件、微軟的O伍ce系列軟件、金山WPS軟件等,由于這些文檔結(jié)構(gòu)相當(dāng)復(fù)雜,且文檔容量大,用戶(hù)的交互式搡作頻率非常高,因此,如何高效的對(duì)文檔進(jìn)行存儲(chǔ),對(duì)于桌面軟件來(lái)說(shuō)是一個(gè)非常重要的問(wèn)題?,F(xiàn)有技術(shù)中,對(duì)于文檔一般采用普通流式存儲(chǔ)和結(jié)構(gòu)化存儲(chǔ)的方式,下面對(duì)兩種存儲(chǔ)方式作簡(jiǎn)單介紹。為了更好的闡述現(xiàn)有技術(shù)內(nèi)容,首先簡(jiǎn)要說(shuō)明兩個(gè)術(shù)語(yǔ)全量存儲(chǔ)與增量存儲(chǔ)。全量存儲(chǔ)是指在對(duì)文檔進(jìn)行保存的時(shí)候,無(wú)論前面已經(jīng)保存了多少次,每次都將整個(gè)文檔進(jìn)行保存,稱(chēng)為全量存儲(chǔ)。增量存儲(chǔ)是指在對(duì)文檔進(jìn)行保存的時(shí)候,第一次采用全量存儲(chǔ),以后進(jìn)行保存的時(shí)候,只是保存"從上次保存后文檔被修改的部分",沒(méi)有修改的部分則不進(jìn)行保存,稱(chēng)為增量存儲(chǔ)。在對(duì)這兩個(gè)術(shù)語(yǔ)進(jìn)行定義后,下面對(duì)兩種存儲(chǔ)方式進(jìn)行介紹。1)、普通流式存儲(chǔ)的特點(diǎn)圖1為普通流式存儲(chǔ)中文檔對(duì)象的布局示意圖,普通流式存儲(chǔ)就是將文檔中的對(duì)象按順序依次存放在磁盤(pán)中,對(duì)象在文檔中的布局方式如圖l所示。由于流式存儲(chǔ)方法流程簡(jiǎn)單,每個(gè)對(duì)象存儲(chǔ)時(shí)不需要在磁盤(pán)中定位,因此效率比較高。但是可以看到,但是由于文檔中無(wú)附加信息,無(wú)法對(duì)文檔中的對(duì)象進(jìn)行隨機(jī)訪問(wèn)。也就是說(shuō),要訪問(wèn)第N個(gè)對(duì)象,必須要將前N-1個(gè)對(duì)象讀出來(lái)之后,才知道第N個(gè)對(duì)象存放的位置。因此如果文檔首次存儲(chǔ)后,之后第N個(gè)對(duì)象發(fā)生了改變,那么不能單獨(dú)存儲(chǔ)第N個(gè)對(duì)象,必須對(duì)全文檔存儲(chǔ)一遍。2)、結(jié)構(gòu)化存儲(chǔ)的特點(diǎn)圖2為結(jié)構(gòu)化存儲(chǔ)中文檔對(duì)象的布局示意圖,結(jié)構(gòu)化存儲(chǔ)無(wú)論采用任何具體方法,都是可以通過(guò)對(duì)象的標(biāo)識(shí)(ID)直接找到其在石茲盤(pán)文檔中的位置,對(duì)象的存儲(chǔ)位置是對(duì)象的ID決定的。結(jié)構(gòu)化存儲(chǔ)的文檔對(duì)象布局如圖2所示。結(jié)構(gòu)化存儲(chǔ)的方式比流式存儲(chǔ)要復(fù)雜得多。由于對(duì)每個(gè)對(duì)象進(jìn)行讀寫(xiě)時(shí)要進(jìn)行定位,在存儲(chǔ)對(duì)象時(shí)不能保證當(dāng)前位置沒(méi)有被占用,需要搜索下一個(gè)可用的位置。因此對(duì)于相同的數(shù)據(jù)量,結(jié)構(gòu)化存儲(chǔ)的效率會(huì)比流式存儲(chǔ)低。但是可以看到,由于某個(gè)對(duì)象在磁盤(pán)中的存儲(chǔ)位置是確定的(由ID計(jì)算),因此可以對(duì)某個(gè)對(duì)象進(jìn)行單獨(dú)存儲(chǔ)。也即是說(shuō),如果文檔首次存儲(chǔ)后,之后第N個(gè)對(duì)象發(fā)生了改變,那么可以定位到第N個(gè)對(duì)象的起始位置,單獨(dú)對(duì)對(duì)象N進(jìn)行存儲(chǔ)就可以了。這就是結(jié)構(gòu)化存儲(chǔ)實(shí)現(xiàn)增量存儲(chǔ)的原理。下表對(duì)流式存儲(chǔ)和結(jié)構(gòu)化存儲(chǔ)的特點(diǎn)進(jìn)行了比較,如表所示為:<table>tableseeoriginaldocumentpage7</column></row><table>從上表可知,普通流式存儲(chǔ)方法簡(jiǎn)單、首次存儲(chǔ)效率高,但是無(wú)法實(shí)現(xiàn)增量存儲(chǔ),而結(jié)構(gòu)化存儲(chǔ)方法比較復(fù)雜,首次存儲(chǔ)效率不如流式存儲(chǔ)。但是結(jié)構(gòu)化存儲(chǔ)可以實(shí)現(xiàn)增量存儲(chǔ),這卻是流式存儲(chǔ)所無(wú)法實(shí)現(xiàn)的。但遺憾的是在目前的文檔存儲(chǔ)技術(shù)中,還沒(méi)有將這兩種存儲(chǔ)方式結(jié)合起來(lái),從而發(fā)揮出二者優(yōu)點(diǎn)的技術(shù)方案出現(xiàn)。
發(fā)明內(nèi)容本發(fā)明提供一種文檔存儲(chǔ)方法及系統(tǒng),用以將普通流式存儲(chǔ)和結(jié)構(gòu)化存儲(chǔ)結(jié)合起來(lái)運(yùn)用于文檔存儲(chǔ)中。本發(fā)明文檔存儲(chǔ)方法包括如下步驟根據(jù)文檔及存儲(chǔ)的文檔對(duì)象信息記錄進(jìn)行讀取并操作,對(duì)所述文檔操作時(shí),記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;存儲(chǔ)所述文檔及對(duì)所述文檔對(duì)象信息進(jìn)行操作的記錄。較佳地,所述記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息步驟,是在讀取的所述文檔對(duì)象信息記錄上進(jìn)4于記錄,或新建文檔對(duì)象信息記錄后進(jìn)行記錄。較佳地,進(jìn)一步包括如下步驟在緩存區(qū)中記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;當(dāng)對(duì)所述文檔的操作結(jié)束時(shí),清除所述緩存區(qū)中對(duì)文檔對(duì)象信息進(jìn)行操作的所述記錄。較佳地,所述文檔對(duì)象信息是撤銷(xiāo)/重做信息。較佳地,所述記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息,是根據(jù)撤銷(xiāo)/重做對(duì)象數(shù)組中的信息進(jìn)行記錄的。較佳地,所述文檔對(duì)象信息是文檔對(duì)象的標(biāo)識(shí)及搡作狀態(tài)。較佳地,所述文檔中每個(gè)操作對(duì)象的標(biāo)識(shí)是唯一的。較佳地,所述操作狀態(tài)是對(duì)象的改變、和/或?qū)ο蟮膭h除、和/或?qū)ο蟮膭?chuàng)建。較佳地,所述根據(jù)文檔及保存的文檔對(duì)象信息記錄進(jìn)行讀取,包括當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),將改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)讀到所迷對(duì)象中;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),將所述對(duì)象刪除;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),創(chuàng)建所述對(duì)象并讀入所述對(duì)象標(biāo)識(shí)及搡作狀態(tài)。較佳地,所述存儲(chǔ)所述文檔及對(duì)所迷文檔對(duì)象信息進(jìn)行操作的記錄,包括當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),存儲(chǔ)所述改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述記錄中;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),存儲(chǔ)所述對(duì)象標(biāo)識(shí)到所述記錄中;當(dāng)文檔對(duì)象信息中搡作狀態(tài)是對(duì)象的創(chuàng)建時(shí),存儲(chǔ)所述創(chuàng)建的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述記錄中。較佳地,進(jìn)一步包括如下步驟當(dāng)所述文檔對(duì)象數(shù)目大于預(yù)設(shè)閾值時(shí),存儲(chǔ)所述文檔。較佳地,進(jìn)一步包括如下步驟首次存儲(chǔ)文檔時(shí),將文檔對(duì)象按流式存儲(chǔ)。本發(fā)明還提供了一種文檔存儲(chǔ)系統(tǒng),包括存儲(chǔ)器、讀取編輯模塊、記錄模塊、存儲(chǔ)模塊,其中讀取編輯模塊,與所述存儲(chǔ)器相連,根據(jù)所述存儲(chǔ)器中所述存儲(chǔ)模塊存儲(chǔ)的文檔及文檔對(duì)象信息記錄進(jìn)行讀取并操作;記錄模塊,與所述存儲(chǔ)器、第一存儲(chǔ)模塊相連,在所述讀取編輯模塊對(duì)所述文檔操作時(shí),記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;第一存儲(chǔ)模塊,與所述存儲(chǔ)器相連,根據(jù)所述記錄模塊的記錄,將所述文檔及對(duì)所述文檔對(duì)象信息進(jìn)行操作的記錄存儲(chǔ)至存儲(chǔ)器。較佳地,進(jìn)一步包括緩存、清除模塊,其中所述記錄模塊在所述緩存中記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;清除模塊,用于當(dāng)所述讀取編輯模塊對(duì)文檔操作結(jié)束時(shí),清除所述記錄模塊在所述緩存中對(duì)文檔對(duì)象信息進(jìn)行操作的所述記錄。較佳地,所述文檔對(duì)象信息是撤銷(xiāo)/重做信息。較佳地,所述記錄模塊是根據(jù)撤銷(xiāo)/重做對(duì)象數(shù)組中的信息進(jìn)行記錄的。較佳地,所述文檔對(duì)象信息是文檔對(duì)象的標(biāo)識(shí)及操作狀態(tài)。較佳地,所述文檔中每個(gè)操作對(duì)象的標(biāo)識(shí)是唯一的。較佳地,所述操作狀態(tài)是對(duì)象的改變、和/或?qū)ο蟮膭h除、和/或?qū)ο蟮膭?chuàng)建。較佳地,所述讀取編輯模塊包括第一操作單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),將改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)讀到所述對(duì)象中;第二操作單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),將所述對(duì)象刪除;第三操作單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),創(chuàng)建所述對(duì)象并讀入所述對(duì)象標(biāo)識(shí)及操作狀態(tài)。較佳地,所述第一存儲(chǔ)模塊包括第一存儲(chǔ)單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),存儲(chǔ)所述改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述存儲(chǔ)器中;第二存儲(chǔ)單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),存儲(chǔ)所述對(duì)象標(biāo)識(shí)到所述存儲(chǔ)器中;第三存儲(chǔ)單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),存儲(chǔ)所述創(chuàng)建的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述存儲(chǔ)器中。較佳地,進(jìn)一步包括檢測(cè)模塊、第二存儲(chǔ)才莫塊,其中第二存儲(chǔ)模塊,與所述存儲(chǔ)器相連,用于將所述文檔存儲(chǔ)至所述存儲(chǔ)器中;檢測(cè)模塊,與所述讀取編輯模塊、第一存儲(chǔ)模塊、第二存儲(chǔ)模塊相連,用于^r測(cè)所述讀取編輯-漠塊讀取的文檔,當(dāng)所述文檔對(duì)象數(shù)目大于預(yù)設(shè)閾值時(shí),關(guān)閉第一存儲(chǔ)模塊,開(kāi)啟第二存儲(chǔ)模塊進(jìn)行存儲(chǔ)。較佳地,進(jìn)一步包括第三存儲(chǔ)模塊,與所述存儲(chǔ)器相連,用于在首次存儲(chǔ)文檔時(shí),將文檔按流式存儲(chǔ)至所述存儲(chǔ)器。本發(fā)明有益效果如下由于本發(fā)明是在基于流式存儲(chǔ)方法的基礎(chǔ)上實(shí)現(xiàn)了增量存儲(chǔ),因此結(jié)合了兩種存儲(chǔ)的優(yōu)勢(shì),使得當(dāng)本發(fā)明運(yùn)用于文檔容量超大情況下的系統(tǒng)中時(shí),能保持操作的穩(wěn)定、高效,還使得運(yùn)用文檔存儲(chǔ)的系統(tǒng)在運(yùn)行效率、運(yùn)行穩(wěn)定性、可操作數(shù)據(jù)容量等各種方面的性能都得到了大幅度的提高,效果十分突出。同時(shí),由于本發(fā)明是基于流式存儲(chǔ)以及結(jié)構(gòu)式存儲(chǔ)的基本原理進(jìn)^f亍的創(chuàng)造性結(jié)合,因此本發(fā)明對(duì)于任何文檔的存儲(chǔ)都具有通用性。優(yōu)選實(shí)施中,由于本發(fā)明在對(duì)文檔的首次存儲(chǔ)中使用了流式存儲(chǔ),因而本發(fā)明中具備了流式存儲(chǔ)首次存儲(chǔ)高效率的優(yōu)點(diǎn)。優(yōu)選實(shí)施中,由于本發(fā)明對(duì)對(duì)象數(shù)設(shè)定了閾值,使得本發(fā)明存儲(chǔ)方式靈活多樣,能適應(yīng)各種要求。優(yōu)選實(shí)施中,本發(fā)明使用了Undo/Redo(撤銷(xiāo)/重做)原理來(lái)實(shí)現(xiàn)本發(fā)明,因此使得本發(fā)明容易實(shí)現(xiàn)、操作簡(jiǎn)單。圖1為
背景技術(shù):
中所述普通流式存儲(chǔ)中文檔對(duì)象的布局示意圖;圖2為
背景技術(shù):
中所述結(jié)構(gòu)化存儲(chǔ)中文檔對(duì)象的布局示意圖;圖3為實(shí)施例中所述根據(jù)本發(fā)明存儲(chǔ)原理進(jìn)行操作的流程示意圖;圖4為實(shí)施例中所述本發(fā)明文檔存儲(chǔ)方法的實(shí)施流程示意圖;圖5為實(shí)施例中所述本發(fā)明文檔存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施進(jìn)行說(shuō)明。為了將普通流式存儲(chǔ)及結(jié)構(gòu)化存儲(chǔ)的優(yōu)勢(shì)結(jié)合起來(lái),本發(fā)明提出了基于流式存儲(chǔ)的增量存儲(chǔ)方法,現(xiàn)將本發(fā)明構(gòu)思原理闡述如下首先,在本發(fā)明構(gòu)思中,在首次存儲(chǔ)文檔中的所有對(duì)象時(shí),采用了普通流式存儲(chǔ)的方法進(jìn)行文檔的首次存儲(chǔ),其目的是保證了首次存儲(chǔ)的高效率。下面進(jìn)一步闡述本發(fā)明的構(gòu)思,為便于理解,將本文中文檔首次存儲(chǔ)的部分稱(chēng)為"基礎(chǔ)部分"。然后利用Undo/Redo(撤銷(xiāo)/重做)的原理來(lái)實(shí)現(xiàn)文檔的增量存儲(chǔ)。用Undo/Redo來(lái)進(jìn)行il明是因?yàn)閹缀醅F(xiàn)在所有的文檔式應(yīng)用程序中,都提供了撤銷(xiāo)/重做功能,如Word、Excel,還有寫(xiě)Java程序用的JBuiider。如果說(shuō)在早期,許多的應(yīng)用程序還只能提供單一的Undo/Redo功能的話(huà),自進(jìn)入90年代以來(lái),隨著面向?qū)ο缶幊?ObjectOrientedProgramming,OOP)及設(shè)計(jì)模式(DesignPattern)的流行,實(shí)現(xiàn)無(wú)限次數(shù)的Undo/Redo編輯功能已不是難事。因此本發(fā)明在闡述本發(fā)明的構(gòu)思時(shí),將使用Undo/Redo來(lái)說(shuō)明本發(fā)明的具體實(shí)施方式,但隨著對(duì)本發(fā)明的進(jìn)一步闡述,顯而易見(jiàn)的是,Undo/Redo僅僅是實(shí)現(xiàn)本發(fā)明的一個(gè)4支術(shù)手段,實(shí)現(xiàn)本發(fā)明并不僅僅局限于使用Undo/Redo的原理。本發(fā)明構(gòu)思在于,當(dāng)文檔在被首次存儲(chǔ)后,如果再對(duì)文檔進(jìn)行修改,則僅將對(duì)文檔修改的部分作為Redo信息搜集起來(lái)。這樣當(dāng)再次進(jìn)行存儲(chǔ)的時(shí)候,只是將該Redo信息存儲(chǔ)在基礎(chǔ)部分的后面,作為"增量部分"。從而實(shí)現(xiàn)了文檔的增量存儲(chǔ)。為方便闡述,以將增量部分的信息保存在文檔中作為實(shí)施例,但是,顯然增量部分的保存在具體實(shí)施中并不必然需要保存在文檔中,比如也可單獨(dú)將增量部分的信息保存在一個(gè)獨(dú)立的文檔中,也可開(kāi)辟別的存儲(chǔ)區(qū)來(lái)保存,同時(shí)也不必用文檔形式保存。這樣在本發(fā)明實(shí)施時(shí),在打開(kāi)文檔的時(shí)候,先讀入基礎(chǔ)部分,然后讀入增量部分,在基礎(chǔ)部分的基礎(chǔ)上做一次Redo,就可得到最終的文檔信息。而當(dāng)文檔再做修改的時(shí)候,可以在原有的Redo信息中繼續(xù)累加信息,這樣存儲(chǔ)的時(shí)候,僅需覆蓋文檔中舊的增量部分即可。對(duì)于增量的保存來(lái)說(shuō),可以采用一段增量,也可以采用多段增量的方式。也就是在打開(kāi)一個(gè)已經(jīng)有增量信息的文件時(shí),先讀文件中的增量信息,重建增量對(duì)象信息的集合。再做操作時(shí),將對(duì)象信息追加到這個(gè)集合中。保存文件時(shí),覆蓋以前的增量信息。這樣文件中永遠(yuǎn)只是存在一段增量。當(dāng)然打開(kāi)文件后也可以不重建增量對(duì)象信息的集合,而是新建增量對(duì)象的集合,這樣就形成了多段增量。這樣無(wú)論是連續(xù)保存,還是重新打開(kāi)文件,都可以覆蓋增量形成一段增量,或者是不覆蓋增量形成多段增量。下述實(shí)施例中我們以采用一賴(lài):增量的方式進(jìn)行說(shuō)明。圖3為根據(jù)本發(fā)明存儲(chǔ)原理進(jìn)行操作的流程示意圖,下表是結(jié)合附圖對(duì)本發(fā)明在實(shí)施時(shí)的Redo信息以及文檔的變化進(jìn)行的說(shuō)明,以便更進(jìn)一步的闡述本發(fā)明構(gòu)思,表中分別為在對(duì)應(yīng)步驟時(shí)Redo信息和文檔的狀態(tài)。5301、新建文檔;5302、做系列操作;5303、保存文檔;5304、再做系列操作,此時(shí)有Redo信息;5305、保存文檔,將Redo信息寫(xiě)入文檔作為增量部分;5306、再做系列操作,將Redo信息追加進(jìn)文檔增量部分;5307、再保存文檔,將Redo信息寫(xiě)入文檔,覆蓋舊的增量部分,可以任意次重復(fù)步驟S306到S307;5308、關(guān)閉文檔,此時(shí)將Redo信息清空,文檔中保留了基礎(chǔ)部分和覆蓋后的增量部分;5309、打開(kāi)文檔,Redo信息同步驟S307,文檔同S307,可以任意次重復(fù)步驟S306到S308。<table>tableseeoriginaldocumentpage13</column></row><table>保存文檔六基礎(chǔ)部分再做系列操作有基礎(chǔ)部分保存文檔有基礎(chǔ)部分和增量部分再做系列操作有基礎(chǔ)部分和增量部分再保存文檔有舊的增量部分被覆蓋關(guān)閉文檔-漆々/月同再保存文檔打開(kāi)文檔同再保存文檔同再保存文檔基于以上構(gòu)思,下面結(jié)合本發(fā)明的具體實(shí)施方式。具體實(shí)施時(shí),一個(gè)文檔的存儲(chǔ)有以下幾個(gè)基本步驟收集文檔對(duì)象信息存儲(chǔ)文檔、讀文檔,下面先通過(guò)這幾個(gè)步驟的描述來(lái)進(jìn)一步闡明本發(fā)明的實(shí)施。一、搜集文檔對(duì)象及操作狀態(tài)。當(dāng)以Redo的原理為例來(lái)說(shuō)明具體實(shí)施,首先需要建立文檔操作的Redo信息,在這個(gè)信息中記錄了文檔的對(duì)象以及這個(gè)對(duì)象的操作狀態(tài)。先為文檔中創(chuàng)建的每個(gè)對(duì)象都被分配一個(gè)唯一的ID。同時(shí),將對(duì)文檔的操作歸納為3種情況A、對(duì)象的改變表示為(IDModify);B、對(duì)象的刪除表示為(IDDelete);C、對(duì)象的創(chuàng)建表示為(IDCreate)。在操作過(guò)程中,可以將文檔中每個(gè)對(duì)象的ID以及上述三種操作狀態(tài)記錄到一個(gè)Redo對(duì)象數(shù)組中,再根據(jù)Redo對(duì)象數(shù)組保存Redo信息。二、存儲(chǔ)文檔Redo信息。在存儲(chǔ)文檔時(shí),不是要存儲(chǔ)整個(gè)文檔,而是存儲(chǔ)文檔的Redo信息。具體方法是根據(jù)Redo對(duì)象數(shù)組中的信息,將操作狀態(tài)為"對(duì)象的改變"及"對(duì)象的創(chuàng)建"的對(duì)象的ID及操作狀態(tài)記錄到文檔中;對(duì)于操作狀態(tài)為"對(duì)象的刪除"的對(duì)象,僅僅記錄其ID到文檔中就可以了,于是這樣就將Redo信息記錄到了文檔中。三、讀文檔及Redo信息。本發(fā)明在實(shí)施時(shí),在打開(kāi)文檔時(shí),首先將文檔的基礎(chǔ)部分讀到緩存區(qū)中,然后再讀取Redo信息,實(shí)施中將內(nèi)存作為緩存區(qū)為例來(lái)給予說(shuō)明,即將文檔的基礎(chǔ)部分以及Redo信息讀入內(nèi)存中。由于對(duì)每個(gè)對(duì)象都采用了一個(gè)唯一的ID進(jìn)行標(biāo)識(shí),因此在讀取Redo信息的時(shí)候,通過(guò)ID以及操作狀態(tài)就知道是對(duì)哪些對(duì)象進(jìn)行了那些操作。對(duì)于Redo信息中操作狀態(tài)為"對(duì)象的創(chuàng)建"的對(duì)象,在內(nèi)存中創(chuàng)建該對(duì)象并讀入該對(duì)象信息;對(duì)于操作狀態(tài)為"對(duì)象的改變"的對(duì)象,則將Redo中記錄的信息讀到該對(duì)象中;對(duì)于操作狀態(tài)為"對(duì)象的刪除,,的對(duì)象,則從內(nèi)存中直接刪除該對(duì)象。這樣就將基礎(chǔ)文檔連同Redo信息讀到內(nèi)存中了。在讀取Redo信息的同時(shí),可以重建Redo對(duì)象數(shù)組,當(dāng)用戶(hù)再做操作的時(shí)候,將對(duì)象的操作累加到該Redo對(duì)象數(shù)組中,再按第二步的方法進(jìn)行文檔存儲(chǔ),可以看出,如此反復(fù),就實(shí)現(xiàn)了文檔的增量存儲(chǔ)。優(yōu)選實(shí)施中,還考慮到了在Redo信息數(shù)組中累積的對(duì)象過(guò)多時(shí),采用全量存儲(chǔ)將會(huì)使存儲(chǔ)效率更高。因此在具體實(shí)施時(shí)設(shè)定一個(gè)閾值,當(dāng)文檔的對(duì)象超過(guò)閾值時(shí)采用全量存儲(chǔ),即將整個(gè)文檔進(jìn)行存儲(chǔ),不再保存Redo信息。經(jīng)過(guò)試驗(yàn),可以?xún)?yōu)選1000作為文檔對(duì)象數(shù)量的閾值,也就是當(dāng)被操作的對(duì)象少于1000個(gè)時(shí),采用增量存儲(chǔ)。當(dāng)被操作的對(duì)象超過(guò)1000個(gè)時(shí),采用全量存儲(chǔ)。圖4為本發(fā)明文檔存儲(chǔ)方法的實(shí)施流程示意圖,基于上述構(gòu)思,本發(fā)明在文檔存儲(chǔ)方法實(shí)施時(shí)流程如圖所示為5401、新建文檔;5402、操作版面;5403、搜集增量信息;5404、判斷是否存儲(chǔ)文檔,是則轉(zhuǎn)入步驟S405,否則轉(zhuǎn)入步驟S406;5405、存儲(chǔ)增量信息;5406、判斷是否關(guān)閉文檔,是則轉(zhuǎn)入步驟S407,否則轉(zhuǎn)入步驟S402;5407、清除增量信息;5408、文檔操作結(jié)束。根據(jù)前述原理,優(yōu)選實(shí)施中,在步驟S401新建文檔時(shí)采用流式存儲(chǔ)。在步驟S403中,在搜集增量信息時(shí),當(dāng)發(fā)現(xiàn)對(duì)象個(gè)數(shù)大于設(shè)定的閾值時(shí),則改釆用全量存儲(chǔ)。根據(jù)上述的發(fā)明構(gòu)思,本發(fā)明還提供了一種文檔存儲(chǔ)系統(tǒng),下面結(jié)合附圖對(duì)本系統(tǒng)的具體實(shí)施方式進(jìn)行說(shuō)明。圖5是本發(fā)明文檔存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖,如圖所示,在本系統(tǒng)中包括存儲(chǔ)器501、讀取編輯模塊502、記錄模塊503、第一存儲(chǔ)模塊504、清除模塊505、緩存506、檢測(cè)模塊507、第二存儲(chǔ)模塊508、第三存儲(chǔ)模塊509。在讀取編輯模塊502中包括第一操作單元5021、第二操作單元5022、第三操作單元5023,在第一存儲(chǔ)單元504中包括第一存儲(chǔ)單元5041、第二存儲(chǔ)單元5042、第三存儲(chǔ)單元5043。下面首先對(duì)本系統(tǒng)中各模塊、單元的位置、結(jié)構(gòu)關(guān)系進(jìn)4亍描述,然后再通過(guò)對(duì)各模塊、單元的工作原理及功能的說(shuō)明來(lái)闡述如何具體實(shí)施本系統(tǒng)以實(shí)現(xiàn)本發(fā)明。系統(tǒng)中,與存儲(chǔ)器501相連的分別有讀取編輯模塊502、第一存儲(chǔ)模塊504第二存儲(chǔ)模塊508、第三存儲(chǔ)模塊509;記錄模塊503分別與讀取編輯模塊502、第一存儲(chǔ)模塊504、緩存506相連;檢測(cè)模塊507分別與讀取編輯模塊502、第一存儲(chǔ)模塊504、第二存儲(chǔ)模塊508相連;緩存506上連接了清除模塊505。仍以Redo的原理為例來(lái)說(shuō)明本系統(tǒng)的具體實(shí)施,首先需要建立文檔操作的Redo信息,在這個(gè)信息中記錄了文檔的對(duì)象以及這個(gè)對(duì)象的操作狀態(tài)。先為文檔中創(chuàng)建的每個(gè)對(duì)象都被分配一個(gè)唯一的ID。同時(shí),將對(duì)文檔的操作歸納為3種情況A、對(duì)象的改變表示為(IDModify);B、對(duì)象的刪除表示為(IDDelete);C、對(duì)象的創(chuàng)建表示為(IDCreate)。在操作過(guò)程中,可以將文檔中每個(gè)對(duì)象的ID以及上述三種操作狀態(tài)記錄到一個(gè)Redo對(duì)象數(shù)組中,再根據(jù)Redo對(duì)象數(shù)組保存Redo信息。在具體實(shí)施時(shí),讀取編輯模塊根據(jù)存儲(chǔ)器中存儲(chǔ)模塊存儲(chǔ)的文檔及文檔對(duì)象信息記錄進(jìn)行讀取并操作,記錄模塊在讀取編輯模塊對(duì)文檔進(jìn)行操作時(shí),記錄對(duì)文檔對(duì)象信息進(jìn)行的操作信息,第一存儲(chǔ)模塊根據(jù)記錄模塊的記錄,將文檔及對(duì)文檔對(duì)象信息進(jìn)行操作的記錄存儲(chǔ)至存儲(chǔ)器。讀取編輯模塊包括用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是"對(duì)象的改變"時(shí),將改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)讀到所述對(duì)象中的第一操作單元;用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是"對(duì)象的刪除"時(shí),將所述對(duì)象刪除的第二操作單元;用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是"對(duì)象的創(chuàng)建"時(shí),創(chuàng)建所述對(duì)象并讀入所述對(duì)象標(biāo)識(shí)及操作狀態(tài)的第三操作單元。第一存儲(chǔ)模塊包括用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是"對(duì)象的改變"時(shí),存儲(chǔ)所述改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述存儲(chǔ)器中的第一存儲(chǔ)單元;用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是"對(duì)象的刪除"時(shí),存儲(chǔ)所述對(duì)象標(biāo)識(shí)到所述存儲(chǔ)器中的第二存儲(chǔ)單元;用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是"對(duì)象的創(chuàng)建"時(shí),存儲(chǔ)所述創(chuàng)建的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述存儲(chǔ)器中的第三存儲(chǔ)單元。即在讀取編輯^i塊打開(kāi)文檔后,首先將文檔的基礎(chǔ)部分讀到緩存中,然后再讀取Redo信息,實(shí)施中將內(nèi)存作為緩存區(qū)為例來(lái)給予說(shuō)明,即將文檔的基礎(chǔ)部分以及Redo信息讀入內(nèi)存中。由于對(duì)每個(gè)對(duì)象都采用了一個(gè)唯一的ID進(jìn)行標(biāo)識(shí),因此在讀取Redo信息的時(shí)候,記錄模塊通過(guò)ID以及操作狀態(tài)就知道是對(duì)哪些對(duì)象進(jìn)行了那些操作。對(duì)于Redo信息中操作狀態(tài)為"對(duì)象的創(chuàng)建"的對(duì)象,第三操作單元在內(nèi)存中創(chuàng)建該對(duì)象并讀入該對(duì)象信息;對(duì)于操作狀態(tài)為"對(duì)象的改變"的對(duì)象,第一操作單元?jiǎng)t將Redo中記錄的信息讀到該對(duì)象中;對(duì)于操作狀態(tài)為"對(duì)象的刪除,,的對(duì)象,第三操作單元?jiǎng)t從內(nèi)存中直接刪除該對(duì)象。這樣就將基礎(chǔ)文檔連同Redo信息讀到內(nèi)存中了。在第一存儲(chǔ)模塊存儲(chǔ)文檔時(shí),不是要存儲(chǔ)整個(gè)文檔,而是存儲(chǔ)文檔的Redo信息。具體是根據(jù)Redo對(duì)象數(shù)組中的信息,第一存儲(chǔ)單元將操作狀態(tài)為"對(duì)象的改變"、第二存儲(chǔ)單元將操作狀態(tài)為"對(duì)象的創(chuàng)建"的對(duì)象的ID及操作狀態(tài)記錄到文檔中;對(duì)于操作狀態(tài)為"對(duì)象的刪除"的對(duì)象,第三存儲(chǔ)單元僅僅記錄其ID到文檔中就可以了,于是這樣就將Redo信息記錄到了文檔中。在讀取Redo信息的同時(shí),可以重建Redo對(duì)象數(shù)組,當(dāng)用戶(hù)再做操作的時(shí)候,記錄模塊將對(duì)象的操作累加到該Redo對(duì)象數(shù)組中,存儲(chǔ)模塊再進(jìn)行文檔存儲(chǔ),可以看出,如此反復(fù),就實(shí)現(xiàn)了文檔的增量存儲(chǔ)。優(yōu)選實(shí)施中,記錄^t塊在緩存中記錄對(duì)文檔對(duì)象信息進(jìn)行的操作信息,當(dāng)讀取編輯模塊對(duì)文檔的操作結(jié)束時(shí),清除模塊清除記錄模塊在緩存中對(duì)文檔對(duì)象信息進(jìn)行操作的記錄。優(yōu)選實(shí)施中,考慮到在Redo信息數(shù)組中累積的對(duì)象過(guò)多時(shí),采用全量存儲(chǔ)將會(huì)使存儲(chǔ)效率更高。因此在檢測(cè)模塊中設(shè)定一個(gè)閾值,當(dāng)文檔的對(duì)象超過(guò)閾值時(shí)開(kāi)啟第二存儲(chǔ)模塊采用全量存儲(chǔ),即將整個(gè)文檔進(jìn)行存儲(chǔ),不再保存Redo信息。經(jīng)過(guò)試驗(yàn),可以?xún)?yōu)選1000作為文檔對(duì)象數(shù)量的閾值,也就是當(dāng)被操作的對(duì)象少于1000個(gè)時(shí),采用增量存儲(chǔ)。當(dāng)被操作的對(duì)象超過(guò)1000個(gè)時(shí),采用全量存儲(chǔ)。也就是檢測(cè)模塊檢測(cè)讀取編輯模塊讀取的文檔,當(dāng)文檔對(duì)象數(shù)目大于閾值時(shí),關(guān)閉第一存儲(chǔ)才莫塊,開(kāi)啟第二存儲(chǔ)模塊進(jìn)行存儲(chǔ)。優(yōu)選實(shí)施中,為了保證了首次存儲(chǔ)的高效率,在首次存儲(chǔ)文檔中的所有對(duì)象時(shí),采用了普通流式存儲(chǔ)的方法進(jìn)行文檔的首次存儲(chǔ),也就是第三存儲(chǔ)模塊,在首次存儲(chǔ)文檔時(shí),將文檔按流式存儲(chǔ)至存儲(chǔ)器。通過(guò)對(duì)本發(fā)明種方法與系統(tǒng)的實(shí)施,顯然能得到下表中對(duì)普通流式存儲(chǔ)、結(jié)構(gòu)化存儲(chǔ)及基于流式存儲(chǔ)的增量存儲(chǔ)的優(yōu)劣進(jìn)行比較的結(jié)論方式普通流式存儲(chǔ)結(jié)構(gòu)化存儲(chǔ)本發(fā)明基于流式存儲(chǔ)的增量存儲(chǔ)存儲(chǔ)效率高低高增量存儲(chǔ)不能實(shí)現(xiàn)能實(shí)現(xiàn)能實(shí)現(xiàn)首次存儲(chǔ)效率高效率低效率高后繼存儲(chǔ)效率低效率高效率高實(shí)現(xiàn)方法很簡(jiǎn)單復(fù)雜較簡(jiǎn)單為進(jìn)一步的證明本發(fā)明具有顯著的進(jìn)步,將本發(fā)明與流式、結(jié)構(gòu)式存儲(chǔ)分別運(yùn)用于方正的排版系統(tǒng)中,通過(guò)實(shí)驗(yàn),三種存儲(chǔ)方式實(shí)際效率比較數(shù)據(jù)如下:存儲(chǔ)方式普通流式存儲(chǔ)時(shí)間結(jié)構(gòu)化存儲(chǔ)時(shí)間本發(fā)明存儲(chǔ)時(shí)間1000頁(yè)長(zhǎng)文檔首次存儲(chǔ)3秒16秒3秒后繼存儲(chǔ)3秒0.2秒0.2秒超大股市表版面首次存儲(chǔ)2秒9.24秒2秒后繼存儲(chǔ)2秒0.2秒0.1秒顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。權(quán)利要求1、一種文檔存儲(chǔ)方法,其特征在于,包括如下步驟根據(jù)文檔及存儲(chǔ)的文檔對(duì)象信息記錄進(jìn)行讀取并操作,對(duì)所迷文檔操作時(shí),記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;存儲(chǔ)所述文檔及對(duì)所述文檔對(duì)象信息進(jìn)行操作的記錄。2、如權(quán)利要求1所述的方法,其特征在于,所述記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息步驟,是在讀取的所述文檔對(duì)象信息記錄上進(jìn)行記錄,或新建文檔對(duì)象信息記錄后進(jìn)行記錄。3、如權(quán)利要求l所述的方法,其特征在于,進(jìn)一步包括如下步驟在緩存區(qū)中記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;當(dāng)對(duì)所述文檔的操作結(jié)束時(shí),清除所述緩存區(qū)中對(duì)文檔對(duì)象信息進(jìn)行操作的所述記錄。4、如權(quán)利要求1或2或3所述的方法,其特征在于,所述文檔對(duì)象信息是撤銷(xiāo)/重做信息。5、如權(quán)利要求1或2或3所述的方法,其特征在于,所述記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息,是根據(jù)撤銷(xiāo)/重做對(duì)象數(shù)組中的信息進(jìn)行記錄的。6、如權(quán)利要求1或2或3所述的方法,其特征在于,所述文檔對(duì)象信息是文檔對(duì)象的標(biāo)識(shí)及"t喿作狀態(tài)。7、如權(quán)利要求6所述的方法,其特征在于,所述文檔中每個(gè)操作對(duì)象的標(biāo)識(shí)是唯一的。8、如權(quán)利要求6所述的方法,其特征在于,所述操作狀態(tài)是對(duì)象的改變、和/或?qū)ο蟮膭h除、和/或?qū)ο蟮膭?chuàng)建9、如權(quán)利要求8所述的方法,其特征在于,所述根據(jù)文檔及保存的文檔對(duì)象信息記錄進(jìn)行讀取,包括當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),將改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)讀到所述對(duì)象中;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),將所述對(duì)象刪除;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),創(chuàng)建所述對(duì)象并讀入所述對(duì)象標(biāo)識(shí)及纟喿作狀態(tài)。10、如權(quán)利要求8所述的方法,其特征在于,所述存儲(chǔ)所述文檔及對(duì)所述文檔對(duì)象信息進(jìn)行操作的記錄,包括當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),存儲(chǔ)所述改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述記錄中;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),存儲(chǔ)所述對(duì)象標(biāo)識(shí)到所述記錄中;當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),存儲(chǔ)所述創(chuàng)建的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述記錄中。11、如權(quán)利要求l所述的方法,其特征在于,進(jìn)一步包括如下步驟當(dāng)所述文檔對(duì)象數(shù)目大于預(yù)設(shè)閾值時(shí),存儲(chǔ)所述文檔。12、如權(quán)利要求l所述的方法,其特征在于,進(jìn)一步包括如下步驟首次存儲(chǔ)文檔時(shí),將文檔對(duì)象按流式存儲(chǔ)。13、一種文檔存儲(chǔ)系統(tǒng),包括存儲(chǔ)器,其特征在于,還包括讀取編輯模塊、記錄模塊、存儲(chǔ)模塊,其中讀取編輯模塊,與所述存儲(chǔ)器相連,根據(jù)所述存儲(chǔ)器中所述存儲(chǔ)模塊存儲(chǔ)的文檔及文檔對(duì)象信息記錄進(jìn)行讀取并操作;記錄模塊,與所述存儲(chǔ)器、第一存儲(chǔ)模塊相連,在所述讀取編輯模塊對(duì)所述文檔操作時(shí),記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;第一存儲(chǔ)模塊,與所述存儲(chǔ)器相連,根據(jù)所述記錄模塊的記錄,將所述文檔及對(duì)所述文檔對(duì)象信息進(jìn)行操作的記錄存儲(chǔ)至存儲(chǔ)器。14、如權(quán)利要求13所述的系統(tǒng),其特征在于,進(jìn)一步包括緩存、清除模塊,其中所述記錄模塊在所述援存中記錄對(duì)所述文檔對(duì)象信息進(jìn)行的操作信息;清除模塊,與緩存相連,用于當(dāng)所述讀取編輯模塊對(duì)文檔操作結(jié)束時(shí),清除所述記錄模塊在所述緩存中對(duì)文檔對(duì)象信息進(jìn)行操作的所述記錄。15、如權(quán)利要求13或14所述的系統(tǒng),其特征在于,所述文檔對(duì)象信息是撤銷(xiāo)/重做信息。16、如權(quán)利要求13或14所述的系統(tǒng),其特征在于,所述記錄模塊是根據(jù)撤銷(xiāo)/重做對(duì)象數(shù)組中的信息進(jìn)行記錄的。17、如權(quán)利要求13或14所述的系統(tǒng),其特征在于,所述文檔對(duì)象信息是文檔對(duì)象的標(biāo)識(shí)及操作狀態(tài)。18、如權(quán)利要求17所述的系統(tǒng),其特征在于,所述文檔中每個(gè)操作對(duì)象的標(biāo)識(shí)是唯一的。19、如權(quán)利要求17所述的系統(tǒng),其特征在于,所述操作狀態(tài)是對(duì)象的改變、和/或?qū)ο蟮膭h除、和/或?qū)ο蟮膭?chuàng)建。20、如權(quán)利要求19所述的系統(tǒng),其特征在于,所述讀取編輯模塊包括第一操作單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),將改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)讀到所述對(duì)象中;第二操作單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的刪除時(shí),將所述對(duì)象刪除;第三操作單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),創(chuàng)建所述對(duì)象并讀入所述對(duì)象標(biāo)識(shí)及操作狀態(tài)。21、如權(quán)利要求19所述的系統(tǒng),其特征在于,所述第一存儲(chǔ)模塊包括第一存儲(chǔ)單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的改變時(shí),存儲(chǔ)所述改變的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述存儲(chǔ)器中;第二存儲(chǔ)單元,用于當(dāng)文檔對(duì)象信息中才乘作狀態(tài)是對(duì)象的刪除時(shí),存儲(chǔ)所述對(duì)象標(biāo)識(shí)到所述存儲(chǔ)器中;第三存儲(chǔ)單元,用于當(dāng)文檔對(duì)象信息中操作狀態(tài)是對(duì)象的創(chuàng)建時(shí),存儲(chǔ)所述創(chuàng)建的對(duì)象標(biāo)識(shí)及操作狀態(tài)到所述存儲(chǔ)器中。22、如權(quán)利要求13所述的系統(tǒng),其特征在于,進(jìn)一步包括檢測(cè)模塊、第二存儲(chǔ)模塊,其中第二存儲(chǔ)模塊,與所述存儲(chǔ)器相連,用于將所述文檔存儲(chǔ)至所述存儲(chǔ)器中;檢測(cè)模塊,與所述讀取編輯模塊、第一存儲(chǔ)模塊、第二存儲(chǔ)模塊相連,用于檢測(cè)所述讀取編輯;漠塊讀取的文檔,當(dāng)所述文檔對(duì)象數(shù)目大于預(yù)設(shè)閾值時(shí),關(guān)閉第一存儲(chǔ)模塊,開(kāi)啟第二存儲(chǔ)模塊進(jìn)行存儲(chǔ)。23、如權(quán)利要求13所述的系統(tǒng),其特征在于,進(jìn)一步包括第三存儲(chǔ)模塊,與所述存儲(chǔ)器相連,用于在首次存儲(chǔ)文檔時(shí),將文檔按流式存儲(chǔ)至所述存儲(chǔ)器。全文摘要本發(fā)明公開(kāi)了一種軟件設(shè)計(jì)領(lǐng)域中文檔的存儲(chǔ)方法及系統(tǒng),用以將普通流式存儲(chǔ)和結(jié)構(gòu)化存儲(chǔ)結(jié)合起來(lái)運(yùn)用于文檔存儲(chǔ)中。本發(fā)明是根據(jù)文檔及存儲(chǔ)的文檔對(duì)象信息記錄進(jìn)行讀取并操作,當(dāng)對(duì)文檔操作時(shí),記錄對(duì)文檔對(duì)象信息進(jìn)行的操作信息;存儲(chǔ)文檔及對(duì)文檔對(duì)象信息進(jìn)行操作的記錄。本發(fā)明結(jié)合了兩種存儲(chǔ)的優(yōu)勢(shì),當(dāng)本發(fā)明運(yùn)用于文檔容量超大情況下的系統(tǒng)中時(shí),使得系統(tǒng)在運(yùn)行效率、運(yùn)行穩(wěn)定性、可操作數(shù)據(jù)容量等各種方面的性能都得到了大幅度的提高,效果十分突出。同時(shí),由于本發(fā)明是基于流式存儲(chǔ)以及結(jié)構(gòu)式存儲(chǔ)的基本原理進(jìn)行的創(chuàng)造性結(jié)合,因此本發(fā)明對(duì)于任何文檔的存儲(chǔ)都具有通用性。文檔編號(hào)G06F17/30GK101122906SQ20061008922公開(kāi)日2008年2月13日申請(qǐng)日期2006年8月9日優(yōu)先權(quán)日2006年8月9日發(fā)明者楊雷鳴,王振斌申請(qǐng)人:北京北大方正電子有限公司;北京大學(xué)