專利名稱:可編輯文檔的存儲(chǔ)管理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及UI (用戶接口 )設(shè)計(jì)中多行可編輯文檔的存儲(chǔ),特別是指一
種可編輯文檔的存儲(chǔ)管理方法及裝置。
背景技術(shù):
在人機(jī)交互界面中,多行文本的輸入、輸出、顯示和編輯是包含較多信息 量的重要交互方式,所以各種人機(jī)交互系統(tǒng)中都會(huì)設(shè)計(jì)多行可編輯文本框控件。
多行可編輯文本框控件是多行可編輯文本的承載、顯示方式。而多行可編
輯文本作為文本框控件顯示的內(nèi)容,本身包含大量信息如文字信息,與文字 本身相關(guān)的排版信息,嵌入的非文字信息(如圖片、動(dòng)畫(huà)或者其它種類的控件)。 如何把這些信息進(jìn)行有效的存儲(chǔ)管理,以便于高效的實(shí)現(xiàn)多行可編輯文本框控 件的顯示、編輯、搜索的功能一直是此控件設(shè)計(jì)中的難點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種提高可編輯文檔存儲(chǔ)效率的可編輯 文檔的存儲(chǔ)管理方法及裝置。
為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例提供一種可編輯文檔的存儲(chǔ)管理方 法,包括
獲耳又可編輯文檔的文檔信息、文檔入口標(biāo)記信息和所述可編輯文檔的每一 個(gè)子部分的入口標(biāo)記信息;
根據(jù)所迷文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù)所述每一個(gè)子部分的 入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)所述第三類型節(jié)點(diǎn)的個(gè)數(shù)建立第二類型 節(jié)點(diǎn),根據(jù)所述每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類型節(jié)點(diǎn);
以所述第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),所述第二類型節(jié)點(diǎn)為所述第一類型節(jié)點(diǎn)的
5孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)所述第三類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),所 述第四類型節(jié)點(diǎn)為所述第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù)結(jié)構(gòu); 存儲(chǔ)所述樹(shù)結(jié)構(gòu)。
其中,上述方法還包括
若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)和欲插入所述原第二類型節(jié)點(diǎn)的孩子節(jié) 點(diǎn)數(shù)的和超過(guò)第一預(yù)設(shè)值時(shí),新建至少一個(gè)第二類型節(jié)點(diǎn),作為原第二類型節(jié) 點(diǎn)的兄弟節(jié)點(diǎn);
從原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)和欲插入所述原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn) 中,將滿足第二預(yù)設(shè)值個(gè)數(shù)的孩子節(jié)點(diǎn)分配給新建的第二類型節(jié)點(diǎn),剩余的孩 子節(jié)點(diǎn)保留在原第二類型節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述第一預(yù)設(shè)值為 所述第二預(yù)設(shè)值的2倍減1;其中,所述原第二類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn) 中的任意一個(gè)第二類型節(jié)點(diǎn)。
其中,上述方法還包括
若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第二預(yù)設(shè)值時(shí),刪除原第二類型
節(jié)點(diǎn)5
將原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)合并到原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào) 整所述樹(shù)結(jié)構(gòu)。
其中,上述方法還包括
若所述第二類型節(jié)點(diǎn)數(shù)超過(guò)第三預(yù)設(shè)值時(shí),新建至少兩個(gè)第五類型節(jié)點(diǎn); 將所述至少兩個(gè)第五類型節(jié)點(diǎn)作為所述根節(jié)點(diǎn)的孩子節(jié)點(diǎn),從所述第二類 型節(jié)點(diǎn)中,將滿足第四預(yù)設(shè)值個(gè)數(shù)的第二類型節(jié)點(diǎn)分配給新建的一第五類型節(jié) 點(diǎn),剩余的第二類型節(jié)點(diǎn)分配給新建的另一第五類型節(jié)點(diǎn),調(diào)整所述樹(shù)結(jié)構(gòu); 其中,所述第三預(yù)設(shè)值為所述第四預(yù)設(shè)值的2倍減1。 其中,上迷方法還包括
若所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第四預(yù)設(shè)值時(shí),刪除所述第五 類型節(jié)點(diǎn);
將所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)合并到所述第五類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中, 調(diào)整所述樹(shù)結(jié)構(gòu)。
其中,所述文檔信息包括所述可編輯文檔中的字符類型信息、記錄文本的位置的書(shū)簽類型信息、記錄文本顯示屬性的標(biāo)簽類型信息、控件類型信息以 及多媒體類型信息中的至少一種;
所迷文檔入口標(biāo)記信息為所述可編輯文檔的句柄信息; 所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息為換行符或者回車符。 為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例還提供一種可編輯文檔的存儲(chǔ)管理 裝置,包括
獲取模塊,用于獲取可編輯文檔的文檔信息、文檔入口標(biāo)記信息和所述可 編輯文檔的每一個(gè)子部分的入口標(biāo)記信息;
建立模塊,用于根據(jù)所述文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù)所述 每一個(gè)子部分的入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)所述第三類型節(jié)點(diǎn)的個(gè) 數(shù)建立第二類型節(jié)點(diǎn);根據(jù)所述每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類型節(jié) 點(diǎn);
構(gòu)造模塊,用于以所述第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),所述第二類型節(jié)點(diǎn)為所述 第一類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)所述第三類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn) 的孩子節(jié)點(diǎn),所述第四類型節(jié)點(diǎn)為所述第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù)結(jié)構(gòu);
存儲(chǔ)模塊,用于存儲(chǔ)所述樹(shù)結(jié)構(gòu)。
其中,上述裝置還包括
第 一調(diào)整模塊,用于若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)和欲插入所述原第二 類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)的和超過(guò)第一預(yù)設(shè)值時(shí),新建至少一個(gè)第二類型節(jié)點(diǎn),
作為原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn);從原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)和欲插入所述 原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)中,將滿足第二預(yù)設(shè)值個(gè)數(shù)的孩子節(jié)點(diǎn)分配給新建
的第二類型節(jié)點(diǎn),剩余的孩子節(jié)點(diǎn)保留在原第二類型節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu); 其中,所述第一預(yù)設(shè)值為所述第二預(yù)設(shè)值的2倍減1;
第二調(diào)整模塊,用于若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第二預(yù)設(shè)值 時(shí),刪除原第二類型節(jié)點(diǎn);將原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)合并到原第二類型 節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述原第二類型節(jié)點(diǎn)為所述第二 類型節(jié)點(diǎn)中的任意一個(gè)第二類型節(jié)點(diǎn);
所述存儲(chǔ)模塊并存儲(chǔ)調(diào)整后的樹(shù)結(jié)構(gòu)。
其中,上述裝置還包括第三調(diào)整模塊,用于若所述第二類型節(jié)點(diǎn)數(shù)超過(guò)第三預(yù)設(shè)值時(shí),新建至少 兩個(gè)第五類型節(jié)點(diǎn);將所述至少兩個(gè)第五類型節(jié)點(diǎn)作為所述根節(jié)點(diǎn)的孩子節(jié) 點(diǎn),從所述第二類型節(jié)點(diǎn)中,將滿足第四預(yù)設(shè)值個(gè)數(shù)的第二類型節(jié)點(diǎn)分配給新 建的一第五類型節(jié)點(diǎn),剩余的第二類型節(jié)點(diǎn)分配給新建的另一第五類型節(jié)點(diǎn),
調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述第三預(yù)設(shè)值為所述第四預(yù)設(shè)值的2倍減1;
第四調(diào)整模塊,用于若所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)第二類型節(jié)點(diǎn)數(shù)低于 所述第四預(yù)設(shè)值時(shí),刪除所述第五類型節(jié)點(diǎn);將所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn) 合并到所述第五類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);
所述存儲(chǔ)模塊并存儲(chǔ)調(diào)整后的樹(shù)結(jié)構(gòu)。
其中,所述文檔信息包括所述可編輯文檔中的字符類型信息、記錄文本 的位置的書(shū)簽類型信息、記錄文本顯示屬性的標(biāo)簽類型信息、控件類型信息以 及多媒體類型信息中的至少一種;
所述文檔入口標(biāo)記信息為所述可編輯文檔的句柄信息;
所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息為換行符或者回車符。
本發(fā)明的上述技術(shù)方案的有益效果如下
上述方案中,以樹(shù)的形式,將文檔信息統(tǒng)一作為基本樹(shù)的葉子節(jié)點(diǎn),分層 存儲(chǔ)文檔信息,在各個(gè)不同層次的節(jié)點(diǎn)中,保留各層次必要信息,加快顯示、 編輯、搜索操作的實(shí)現(xiàn),提高了存儲(chǔ)效率。
圖1為本發(fā)明的實(shí)施例可編輯文檔的存儲(chǔ)管理方法的流程示意圖; 圖2為圖1所示方法中的可編輯文檔的舉例說(shuō)明示意圖; 圖3為圖1所示方法構(gòu)造的樹(shù)結(jié)構(gòu)示意圖4為結(jié)合圖2所示可編輯文檔和圖3所示樹(shù)結(jié)構(gòu)的實(shí)例示意圖; 圖5為本發(fā)明的實(shí)施例可編輯文檔的存儲(chǔ)管理裝置的結(jié)構(gòu)示意圖; 圖6為圖5所示的裝置的一具體實(shí)現(xiàn)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明要解決的技術(shù)問(wèn)題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。本發(fā)明針對(duì)現(xiàn)有無(wú)法有效對(duì)可編輯文檔的信息進(jìn)行存儲(chǔ)的問(wèn)題,提供一種提高可編輯文檔存儲(chǔ)效率的可編輯文檔的存儲(chǔ)管理方法及裝置。如圖l所示,本發(fā)明的實(shí)施例可編輯文檔的存儲(chǔ)管理方法,包括步驟11,獲取可編輯文檔的文檔信息、文檔入口標(biāo)記信息和所述可編輯文檔的每一 個(gè)子部分的入口標(biāo)記信息;步驟12,根據(jù)所述文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù)所述每一 個(gè)子部分的入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)所述第三類型節(jié)點(diǎn)的個(gè)數(shù)建 立第二類型節(jié)點(diǎn),根據(jù)所述每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類型節(jié)點(diǎn);步驟13,以所述第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),所述第二類型節(jié)點(diǎn)為所述第一 類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)所述第三類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn)的孩 子節(jié)點(diǎn),所述第四類型節(jié)點(diǎn)為所述第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù)結(jié)構(gòu);步驟14,存儲(chǔ)所述樹(shù)結(jié)構(gòu)。該實(shí)施例中,所述文檔信息可以包括所述可編輯文檔中的字符類型信息、 記錄文本的位置的書(shū)簽類型信息、記錄文本顯示屬性的標(biāo)簽類型信息、控件類 型信息以及多媒體類型信息中的至少一種;所述文檔入口標(biāo)記信息可以為所述可編輯文檔的句柄信息;所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息可以為換行符或者回車 符或其它標(biāo)識(shí)可編輯文檔的子部分之間分隔的符號(hào);在下面的具體實(shí)施例中, 將結(jié)合具體圖示說(shuō)明這些信息的內(nèi)容及含義。該實(shí)施例以樹(shù)的形式,將文檔信息統(tǒng)一作為基本樹(shù)的葉子節(jié)點(diǎn),分層存儲(chǔ) 文檔信息,在各個(gè)不同層次的節(jié)點(diǎn)中,保留各層次必要信息,加快顯示、編輯、 搜索操作的實(shí)現(xiàn),提高了存儲(chǔ)效率。另外,在上述圖l所示方法中,還可以包括對(duì)該樹(shù)結(jié)構(gòu)進(jìn)行動(dòng)態(tài)調(diào)整的 步驟,動(dòng)態(tài)調(diào)整樹(shù)節(jié)點(diǎn)個(gè)數(shù)和層次分配,達(dá)到樹(shù)節(jié)點(diǎn)和層次的均衡,優(yōu)化文 檔存儲(chǔ)效率;動(dòng)態(tài)調(diào)整樹(shù)結(jié)構(gòu)的步驟主要包括如下1 )插入節(jié)點(diǎn)的動(dòng)態(tài)調(diào)整步驟15,若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)和欲插入所述原第二類型節(jié)點(diǎn) 的孩子節(jié)點(diǎn)數(shù)的和超過(guò)第一預(yù)設(shè)值時(shí),新建至少一個(gè)第二類型節(jié)點(diǎn),作為原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn);其中該第一預(yù)設(shè)值可以為該原第二類型節(jié)點(diǎn)可以包含 的最大孩子節(jié)點(diǎn)個(gè)數(shù);如,第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)最大可以有7個(gè),但是根據(jù)當(dāng)前的操作, 需要向該第二類型節(jié)點(diǎn)中插入2個(gè)孩子節(jié)點(diǎn),該第二類型節(jié)點(diǎn)已經(jīng)有7個(gè)孩子 節(jié)點(diǎn),這樣該第二類型節(jié)點(diǎn)就不能再容納這多余的2個(gè)孩子節(jié)點(diǎn),那么需要新建一個(gè)第二類型節(jié)點(diǎn);步驟16,從原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)和欲插入所述原第二類型節(jié)點(diǎn)的 孩子節(jié)點(diǎn)中,將滿足第二預(yù)設(shè)值個(gè)數(shù)的孩子節(jié)點(diǎn)分配給新建的第二類型節(jié)點(diǎn), 剩余的孩子節(jié)點(diǎn)保留在原第二類型節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);其中該第二預(yù)設(shè) 值可以為該原第二類型節(jié)點(diǎn)可以包含的最少孩子節(jié)點(diǎn)個(gè)數(shù);其中,所述第一預(yù) 設(shè)值為所述第二預(yù)設(shè)值的2倍減1;如該第二預(yù)設(shè)值為4,接續(xù)上述步驟15的實(shí)例,將當(dāng)前的9個(gè)孩子節(jié)點(diǎn) 重新分配,將新插入的2個(gè)孩子節(jié)點(diǎn)分配給新建的該第二類型節(jié)點(diǎn),將原第二 類型節(jié)點(diǎn)中再拿出2個(gè), 一共4個(gè)孩子節(jié)點(diǎn)分配給新建的該第二類型節(jié)點(diǎn),這 樣原第二類型節(jié)點(diǎn)中保留了 5個(gè)原有的孩子節(jié)點(diǎn),這樣使新建的第二類型節(jié)點(diǎn) 和原第二類型節(jié)點(diǎn)的孩子數(shù)達(dá)到平衡,便于快速搜索。其中,該實(shí)施例中的原第二類型節(jié)點(diǎn)為第二類型節(jié)點(diǎn)中的任意一個(gè)第二類 型節(jié)點(diǎn)。2)刪除節(jié)點(diǎn)的動(dòng)態(tài)調(diào)整步驟17,若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第二預(yù)設(shè)值時(shí),刪除 原第二類型節(jié)點(diǎn);該第二預(yù)設(shè)值和上述步驟16中的第二預(yù)設(shè)值是相同的,都 是可以為該第二類型節(jié)點(diǎn)可以包含的最少孩子節(jié)點(diǎn)個(gè)數(shù);如由于該第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)由于刪除搡作,刪除之后的孩子節(jié)點(diǎn)數(shù) 小于4個(gè),那么,就需要將該第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)合并到該第二類型節(jié)點(diǎn) 的兄弟節(jié)點(diǎn)中,并刪除該孩子節(jié)點(diǎn)數(shù)小于4個(gè)的第二類型節(jié)點(diǎn),使樹(shù)結(jié)構(gòu)中的 節(jié)點(diǎn)達(dá)到平衡,便于快速搜索;步驟18,將原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)合并到原第二類型節(jié)點(diǎn)的兄弟 節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu)。為進(jìn)一步優(yōu)化上述樹(shù)結(jié)構(gòu),在上述所有步驟的基礎(chǔ)上,還可以包括遞歸動(dòng)態(tài)調(diào)整的過(guò)程1 )樹(shù)節(jié)點(diǎn)增多時(shí)的調(diào)整步驟19,若所述第二類型節(jié)點(diǎn)數(shù)超過(guò)第三預(yù)設(shè)值時(shí),新建至少兩個(gè)第五 類型節(jié)點(diǎn);其中,該第三預(yù)設(shè)值是樹(shù)節(jié)點(diǎn)中,以第二類型節(jié)點(diǎn)為孩子節(jié)點(diǎn),該 第二類型節(jié)點(diǎn)的父親節(jié)點(diǎn)可以包含的第二類型節(jié)點(diǎn)個(gè)數(shù)的最大設(shè)置值;如第二類型節(jié)點(diǎn)最大可以有6個(gè),但是根據(jù)當(dāng)前的操作,新建的第二類型 節(jié)點(diǎn)已經(jīng)有7個(gè),不能將無(wú)限多的第二類型節(jié)點(diǎn)直接作為根節(jié)點(diǎn)的孩子節(jié)點(diǎn), 這樣不便于提高存儲(chǔ)效率和搜索效率,此時(shí)就需要新建第五類型節(jié)點(diǎn);步驟20,將所述至少兩個(gè)第五類型節(jié)點(diǎn)作為所述根節(jié)點(diǎn)的孩子節(jié)點(diǎn),從 所述第二類型節(jié)點(diǎn)中,將滿足第四預(yù)設(shè)值個(gè)數(shù)的第二類型節(jié)點(diǎn)分配給新建的一 第五類型節(jié)點(diǎn),剩余的第二類型節(jié)點(diǎn)分配給新建的另一第五類型節(jié)點(diǎn),調(diào)整所 述樹(shù)結(jié)構(gòu);其中,該第四預(yù)設(shè)值可以為該第二類型節(jié)點(diǎn)的父親節(jié)點(diǎn)可以包含的 第二類型節(jié)點(diǎn)個(gè)數(shù)的最小設(shè)置值;且滿足,第三預(yù)設(shè)值為第四預(yù)設(shè)值的2 倍減1;如該第二類型節(jié)點(diǎn)最少可以有3個(gè),此時(shí),就需要將其中的3個(gè)第二類型 節(jié)點(diǎn)分配給其中一個(gè)第五類型節(jié)點(diǎn),將另外的4個(gè)分配給另一個(gè)第五類型節(jié) 點(diǎn),這樣使新建的第五類型節(jié)點(diǎn)的孩子數(shù)達(dá)到平衡,提高存儲(chǔ)效率的同時(shí),便 于快速搜索。2)樹(shù)節(jié)點(diǎn)減少時(shí)的調(diào)整步驟21,若所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)第二類型節(jié)點(diǎn)數(shù)低于所述第四 預(yù)設(shè)值時(shí),刪除所述第五類型節(jié)點(diǎn);其中,該第四預(yù)設(shè)值與上述步驟20的第 四預(yù)設(shè)值是相同的,都是可以為該第二類型節(jié)點(diǎn)的父親節(jié)點(diǎn)可以包含的第二類 型節(jié)點(diǎn)個(gè)數(shù)的最小設(shè)置值;如第五類型節(jié)點(diǎn)的孩子數(shù)低于3個(gè),則需要將該第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn) 合并到該第五類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,并刪除該第五類型節(jié)點(diǎn),這樣使新建的 第五類型節(jié)點(diǎn)的孩子數(shù)達(dá)到平衡,提高存儲(chǔ)效率的同時(shí),便于快速搜索;步驟22,將所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)合并到所述第五類型節(jié)點(diǎn)的兄 弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu)。如圖2所示,為一個(gè)可編輯文檔以及其文檔信息提取的過(guò)程該可編輯文檔包括3行文字和一個(gè)圖片,其中該編輯文檔的文檔信息中 除字符或者圖片表示的真實(shí)數(shù)據(jù)信息外,其它的信息可以歸納為標(biāo)簽類型的 信息和書(shū)簽類型的信息,其中標(biāo)簽類型的信息表示字符顯示的屬性信息,如字 符大小,字體,前景色,背景色,方向位置等信息;而書(shū)簽類型的信息表示位 置記錄,便于搜索和定位。針對(duì)該可編輯文檔的第l行文字"多媒體……如下"為正常的文字,沒(méi) 有標(biāo)簽類型的信息;針對(duì)該可編輯文檔的第2行文字"1,排版信息……黑體大字符。"對(duì)應(yīng) 的文字標(biāo)簽表有標(biāo)簽l:左邊距50;標(biāo)簽2:黑體;標(biāo)簽3:大字體;相應(yīng)的書(shū)簽表中包括書(shū)簽l: l段l字;該可編輯文檔的光標(biāo)位置書(shū)簽3段10字;光標(biāo)選一奪前界為空;光標(biāo)選 擇后界也為空;該可編輯文檔的文檔入口標(biāo)記信息(如該文檔的文本句柄)為樹(shù)結(jié)構(gòu)的根 節(jié)點(diǎn)。圖3所示,為上述圖1所示實(shí)施例的方法構(gòu)造出來(lái)的樹(shù)結(jié)構(gòu),該樹(shù)結(jié)構(gòu)存 儲(chǔ)了一個(gè)可編輯文檔的所有文檔信息,該樹(shù)結(jié)構(gòu)中,第一類型節(jié)點(diǎn)為根節(jié)點(diǎn), 第二類型節(jié)點(diǎn)為可編輯文檔的每一個(gè)子部分對(duì)應(yīng)的節(jié)點(diǎn)的父親節(jié)點(diǎn),第三類型 節(jié)點(diǎn)為可編輯文檔的每一個(gè)子部分(如每一個(gè)自然段,用換行符、回車符或其 它標(biāo)識(shí)可編輯文檔段落之間分隔的符號(hào)表示)對(duì)應(yīng)的節(jié)點(diǎn),該第三類型節(jié)點(diǎn)為 第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),第四類型節(jié)點(diǎn)為每一個(gè)子部分對(duì)應(yīng)的文檔信息對(duì)應(yīng)的節(jié)點(diǎn)為該樹(shù)結(jié)構(gòu)的葉子節(jié)點(diǎn);其中,第五類型節(jié)點(diǎn)是在樹(shù)的調(diào)整過(guò)程中,可以添加的,并非本發(fā)明的圖 1所示方法中樹(shù)結(jié)構(gòu)的必要層次,整個(gè)樹(shù)的層次和節(jié)點(diǎn)數(shù)的調(diào)整是通過(guò)對(duì)樹(shù)節(jié) 點(diǎn)的孩子節(jié)點(diǎn)進(jìn)行插入或者刪除操作來(lái)實(shí)現(xiàn)如果一個(gè)樹(shù)節(jié)點(diǎn)的孩子數(shù)大于一個(gè)預(yù)先設(shè)定的最大孩子節(jié)點(diǎn)數(shù)值,則新建 一個(gè)樹(shù)節(jié)點(diǎn)作為它的兄弟節(jié)點(diǎn),并把其中預(yù)設(shè)的最小孩子節(jié)點(diǎn)數(shù)值數(shù)量的孩子 節(jié)點(diǎn)給新建的樹(shù)節(jié)點(diǎn);當(dāng)一個(gè)樹(shù)節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)小于預(yù)先設(shè)定的最小孩子節(jié) 點(diǎn)數(shù)值,則將此樹(shù)節(jié)點(diǎn)與其兄弟節(jié)點(diǎn)進(jìn)行遞歸合并,將其孩子節(jié)點(diǎn)給予其兄弟節(jié)點(diǎn)后減少 一個(gè)樹(shù)節(jié)點(diǎn)。樹(shù)節(jié)點(diǎn)的孩子節(jié)點(diǎn)可以為樹(shù)節(jié)點(diǎn)也可以為可編輯文檔 的每一個(gè)子部分對(duì)應(yīng)的第三類型節(jié)點(diǎn)。
該樹(shù)節(jié)點(diǎn)的調(diào)整過(guò)程如上述步驟15、 16、 17、 18、 19、 20、 21和22中的 所述的調(diào)整過(guò)程,這些步驟的調(diào)整過(guò)程均是動(dòng)態(tài)的,且可以是遞歸的調(diào)整,如 還可以按照如步驟19和20所述的方法,再新建第六類型節(jié)點(diǎn),第七類型節(jié) 點(diǎn)……,當(dāng)然也可以是按照上述步驟21和22所述的方法,減少一些樹(shù)節(jié)點(diǎn)。
通過(guò)上述的動(dòng)態(tài)調(diào)整,可以使樹(shù)結(jié)構(gòu)的節(jié)點(diǎn)和層次達(dá)到平衡,優(yōu)化了文本 存儲(chǔ)效率。
如圖4所示,為結(jié)合上述圖3所示的樹(shù)結(jié)構(gòu)和上述圖2所示的可編輯文檔, 說(shuō)明圖2所示的可編輯文檔按照?qǐng)D1所示方法存儲(chǔ)的樹(shù)結(jié)構(gòu)
其中,根節(jié)點(diǎn)(即上述第一類型節(jié)點(diǎn))為該可編輯文檔的句柄信息,即該 可編輯文檔的入口標(biāo)記信息;
可編輯文檔中,文本操作很多就是以自然段作為對(duì)象,所以把自然段作為 單獨(dú)的一層,自然段的分割線是換行符或者回車符,每一個(gè)自然段為可編輯文 檔的子部分,存儲(chǔ)在該樹(shù)結(jié)構(gòu)的一層中,該每一個(gè)自然段對(duì)應(yīng)的節(jié)點(diǎn)如上述第 三類型節(jié)點(diǎn);該實(shí)施例中,該可編輯文檔的子部分并不限于是自然段,也可以 是用戶用特殊的標(biāo)記信息,標(biāo)記的一個(gè)子部分,該子部分可以包含若干個(gè)自然 段,也可以包含有文字自然段,多媒體信息或者其它控件等;
文字自然段如果直接作為根節(jié)點(diǎn)的孩子節(jié)點(diǎn),由于自然段也是動(dòng)態(tài)變化的 過(guò)程,該樹(shù)的結(jié)構(gòu)是極不穩(wěn)定的,因此,需要還有一層樹(shù)節(jié)點(diǎn)(如上述第二類 型節(jié)點(diǎn)),作為根節(jié)點(diǎn)的孩子節(jié)點(diǎn),而文字自然段作為該樹(shù)節(jié)點(diǎn)的孩子節(jié)點(diǎn);
最后,該每一個(gè)自然段中的文檔信息作為該樹(shù)結(jié)構(gòu)的葉子節(jié)點(diǎn),統(tǒng)一存儲(chǔ) 儲(chǔ)存文檔的實(shí)際內(nèi)容;根據(jù)不同的儲(chǔ)存對(duì)象,該葉子節(jié)點(diǎn)主要分為以下類型
字符類型儲(chǔ)存文字信息;
標(biāo)簽類型儲(chǔ)存文字的標(biāo)簽,標(biāo)簽存儲(chǔ)了文字顯示的屬性信息,如大小, 字體,前景色、背景色,方向位置等信息;
書(shū)簽類型儲(chǔ)存文本的書(shū)簽信息,書(shū)簽是單獨(dú)的位置記錄,便于搜索和定
位;
控件類型儲(chǔ)存嵌入文本的子控件;
13多媒體類型儲(chǔ)存嵌入文本的多媒體信息;
當(dāng)然可編輯文檔中包含的文檔信息并不限于這些類型的信息,還可以包括
對(duì)于不同的存儲(chǔ)內(nèi)容可以使用相應(yīng)的類方法進(jìn)行操作。 針對(duì)圖2中的可編輯文檔,共有三個(gè)自然段,其中,第一自然段中的文檔 信息包括文字信息"多......下";第二自然段中的文檔信息包括文字信息
"1,排……距","黑體,,,"黑體大字符",其中的①②③表示文字標(biāo)簽;第三 自然段包括文字信息"2,其......片",多媒體信息"圖片",其中的①表
示文字標(biāo)簽;當(dāng)然這些自然段還可以包括其它的文檔信息,也用相類似的方法 表示這些文檔信息。
本發(fā)明的上述實(shí)施例通過(guò)將字符、書(shū)簽、文字標(biāo)簽、圖片、控件等文檔信 息統(tǒng)一作為基礎(chǔ)葉節(jié)點(diǎn),方便管理;動(dòng)態(tài)調(diào)整樹(shù)結(jié)構(gòu),優(yōu)化存儲(chǔ)效率;通過(guò)動(dòng) 態(tài)調(diào)整該多層的樹(shù)結(jié)構(gòu)體,能高效率的完成對(duì)多行文本內(nèi)容的存儲(chǔ),檢索,插 入,刪除操作,并為多行文本以后顯示操作儲(chǔ)存了足夠的存儲(chǔ)了文本、圖片、 控件的排版信息。
如圖5所示,本發(fā)明的實(shí)施例還提供一種可編輯文檔的存儲(chǔ)管理裝置50, 包括
獲取模塊51,用于獲取可編輯文檔的文檔信息、文檔入口標(biāo)記信息和所 述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息;
建立模塊52,用于根據(jù)所述文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù) 所述每一個(gè)子部分的入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)所述第三類型節(jié)點(diǎn) 的個(gè)數(shù)建立第二類型節(jié)點(diǎn);根據(jù)所述每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類 型節(jié)點(diǎn);
構(gòu)造模塊53,用于以所述第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),所述第二類型節(jié)點(diǎn)為 所述第一類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)所述第三類型節(jié)點(diǎn)為所述第二類型 節(jié)點(diǎn)的孩子節(jié)點(diǎn),所述第四類型節(jié)點(diǎn)為所述第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù) 結(jié)構(gòu);
存儲(chǔ)模塊54,用于存儲(chǔ)所述樹(shù)結(jié)構(gòu)。
如圖6所示,在上述圖5所示實(shí)施例基礎(chǔ)上,該裝置還可以進(jìn)一步包括對(duì)該樹(shù)結(jié)構(gòu)進(jìn)行動(dòng)態(tài)調(diào)整的模塊,動(dòng)態(tài)調(diào)整樹(shù)節(jié)點(diǎn)個(gè)數(shù)和層次分配,達(dá)到樹(shù)節(jié)
點(diǎn)和層次的均衡,優(yōu)化文檔存儲(chǔ)效率;動(dòng)態(tài)調(diào)整樹(shù)結(jié)構(gòu)的模塊主要有
第一調(diào)整模塊55,用于若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)和欲插入所述原 第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)的和超過(guò)第一預(yù)設(shè)值時(shí),新建至少一個(gè)第二類型節(jié) 點(diǎn),作為原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn);從原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)和欲插入 所述原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)中,將滿足第二預(yù)設(shè)值個(gè)數(shù)的孩子節(jié)點(diǎn)分配給 新建的第二類型節(jié)點(diǎn),剩余的孩子節(jié)點(diǎn)保留在原第二類型節(jié)點(diǎn)中,調(diào)整所述樹(shù) 結(jié)構(gòu);其中,所述第一預(yù)設(shè)值為所述第二預(yù)設(shè)值的2倍減1;
第二調(diào)整模塊56,用于若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第二預(yù) 設(shè)值時(shí),刪除原第二類型節(jié)點(diǎn);將原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)合并到原第二 類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu); 所述存儲(chǔ)模塊54并存儲(chǔ)調(diào)整后的樹(shù)結(jié)構(gòu)。
其中,該實(shí)施例中的原第二類型節(jié)點(diǎn)為第二類型節(jié)點(diǎn)中的任意一個(gè)第二類 型節(jié)點(diǎn);
更進(jìn)一步,該裝置50還可以包括
第三調(diào)整模塊57,用于若所述第二類型節(jié)點(diǎn)數(shù)超過(guò)第三預(yù)設(shè)值時(shí),新建 至少兩個(gè)第五類型節(jié)點(diǎn);將所述至少兩個(gè)第五類型節(jié)點(diǎn)作為所述根節(jié)點(diǎn)的孩子 節(jié)點(diǎn),從所述第二類型節(jié)點(diǎn)中,將滿足第四預(yù)設(shè)值個(gè)數(shù)的第二類型節(jié)點(diǎn)分配給 新建的一第五類型節(jié)點(diǎn),剩余的第二類型節(jié)點(diǎn)分配給新建的另一第五類型節(jié) 點(diǎn),調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述第三預(yù)設(shè)值為所述第四預(yù)設(shè)值的2倍減1;
第四調(diào)整模塊58,用于若所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)第二類型節(jié)點(diǎn)數(shù) 低于所述第四預(yù)設(shè)值時(shí),刪除所述第五類型節(jié)點(diǎn);將所述第五類型節(jié)點(diǎn)的孩子 節(jié)點(diǎn)合并到所述第五類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);
所述存儲(chǔ)模塊54并存儲(chǔ)調(diào)整后的樹(shù)結(jié)構(gòu)。
其中,該第一調(diào)整模塊55、第二調(diào)整模塊56、第三調(diào)整模塊57和第四調(diào) 整模塊58在一個(gè)附圖中出現(xiàn),并不代表它們必須同時(shí)出現(xiàn),也可以只有其中 的一個(gè)調(diào)整模塊或者兩個(gè)調(diào)整模塊或者多個(gè)調(diào)整模塊,根據(jù)樹(shù)結(jié)構(gòu)中實(shí)際的操 作決定。
所述文檔信息包括所述可編輯文檔中的字符類型信息、記錄文本的位置的書(shū)簽類型信息、記錄文本顯示屬性的標(biāo)簽類型信息、控件類型信息以及多媒
體類型信息中的至少一種;
所述文檔入口標(biāo)記信息為所述可編輯文檔的句柄信息; 所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息為換行符、回車符或其
它標(biāo)識(shí)可編輯文檔的每一個(gè)子部分段落之間分隔的符號(hào)。
需要說(shuō)明的是上述圖1所示方法實(shí)施例中的所有特征,包括圖2-圖4
的所有描述,均適用于該裝置的實(shí)施例,也同樣會(huì)達(dá)到相同的技術(shù)效果,在此
不再贅述。
綜上,本發(fā)明的裝置實(shí)施例也通過(guò)將字符、書(shū)簽、文字標(biāo)簽、圖片、控件 等文檔信息統(tǒng)一作為基礎(chǔ)葉節(jié)點(diǎn),方便管理;動(dòng)態(tài)調(diào)整樹(shù)結(jié)構(gòu),優(yōu)化存儲(chǔ)效率; 通過(guò)動(dòng)態(tài)調(diào)整該多層的樹(shù)結(jié)構(gòu)體,能高效率的完成對(duì)多行文本內(nèi)容的存儲(chǔ),檢 索,插入,刪除操作,并為多行文本以后顯示操作儲(chǔ)存了足夠的存儲(chǔ)文本、圖 片、控件的排版信息。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技 術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾, 這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種可編輯文檔的存儲(chǔ)管理方法,其特征在于,包括獲取可編輯文檔的文檔信息、文檔入口標(biāo)記信息和所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息;根據(jù)所述文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù)所述每一個(gè)子部分的入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)所述第三類型節(jié)點(diǎn)的個(gè)數(shù)建立第二類型節(jié)點(diǎn),根據(jù)所述每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類型節(jié)點(diǎn);以所述第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),所述第二類型節(jié)點(diǎn)為所述第一類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)所述第三類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),所述第四類型節(jié)點(diǎn)為所述第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù)結(jié)構(gòu);存儲(chǔ)所述樹(shù)結(jié)構(gòu)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)和欲插入所述原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)的和超過(guò)第一預(yù)設(shè)值時(shí),新建至少一個(gè)第二類型節(jié)點(diǎn),作為原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn);從原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)和欲插入所述原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)中,將滿足第二預(yù)設(shè)值個(gè)數(shù)的孩子節(jié)點(diǎn)分配給新建的第二類型節(jié)點(diǎn),剩余的孩子節(jié)點(diǎn)保留在原第二類型節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述第一預(yù)設(shè)值為所述第二預(yù)設(shè)值的2倍減1;其中,所述原第二類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn)中的任意一個(gè)第二類型節(jié)點(diǎn)。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第二預(yù)設(shè)值時(shí),刪除原第二類型節(jié)點(diǎn);將原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)合并到原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu)。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括若所述第二類型節(jié)點(diǎn)數(shù)超過(guò)第三預(yù)設(shè)值時(shí),新建至少兩個(gè)第五類型節(jié)點(diǎn);將所述至少兩個(gè)第五類型節(jié)點(diǎn)作為所述根節(jié)點(diǎn)的孩子節(jié)點(diǎn),從所述第二類型節(jié)點(diǎn)中,將滿足第四預(yù)設(shè)值個(gè)數(shù)的第二類型節(jié)點(diǎn)分配給新建的一第五類型節(jié)點(diǎn),剩余的第二類型節(jié)點(diǎn)分配給新建的另一第五類型節(jié)點(diǎn),調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述第三預(yù)設(shè)值為所述第四預(yù)設(shè)值的2倍減1。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括若所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第四預(yù)設(shè)值時(shí),刪除所述第五類型節(jié)點(diǎn);將所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)合并到所述第五類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu)。
6. 根據(jù)權(quán)利要求1-5任一項(xiàng)所述的方法,其特征在于,所述文檔信息包括所述可編輯文檔中的字符類型信息、記錄文本的位置的書(shū)簽類型信息、記錄文本顯示屬性的標(biāo)簽類型信息、控件類型信息以及多媒體類型信息中的至少一種;所述文檔入口標(biāo)記信息為所述可編輯文檔的句柄信息;所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息為換行符或者回車符。
7. —種可編輯文檔的存儲(chǔ)管理裝置,其特征在于,包括獲取模塊,用于獲取可編輯文檔的文檔信息、文檔入口標(biāo)記信息和所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息;建立模塊,用于根據(jù)所述文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù)所述每一個(gè)子部分的入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)所述第三類型節(jié)點(diǎn)的個(gè)數(shù)建立第二類型節(jié)點(diǎn);根據(jù)所述每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類型節(jié)點(diǎn);構(gòu)造模塊,用于以所述第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),所述第二類型節(jié)點(diǎn)為所述第一類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)所述第三類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),所述第四類型節(jié)點(diǎn)為所述第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù)結(jié)構(gòu);存儲(chǔ)模塊,用于存儲(chǔ)所述樹(shù)結(jié)構(gòu)。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括第 一調(diào)整模塊,用于若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)和欲插入所述原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)的和超過(guò)第一預(yù)設(shè)值時(shí),新建至少一個(gè)第二類型節(jié)點(diǎn),作為原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn);從原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)和欲插入所述原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)中,將滿足第二預(yù)設(shè)值個(gè)數(shù)的孩子節(jié)點(diǎn)分配給新建的第二類型節(jié)點(diǎn),剩余的孩子節(jié)點(diǎn)保留在原第二類型節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述第一預(yù)設(shè)值為所述第二預(yù)設(shè)值的2倍減1;第二調(diào)整模塊,用于若原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)低于所述第二預(yù)設(shè)值時(shí),刪除原第二類型節(jié)點(diǎn);將原第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)數(shù)合并到原第二類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);其中,所述原第二類型節(jié)點(diǎn)為所述第二類型節(jié)點(diǎn)中的任意一個(gè)第二類型節(jié)點(diǎn);所述存儲(chǔ)模塊并存儲(chǔ)調(diào)整后的樹(shù)結(jié)構(gòu)。
9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括第三調(diào)整模塊,用于若所述第二類型節(jié)點(diǎn)數(shù)超過(guò)第三預(yù)設(shè)值時(shí),新建至少兩個(gè)第五類型節(jié)點(diǎn);將所述至少兩個(gè)第五類型節(jié)點(diǎn)作為所述根節(jié)點(diǎn)的孩子節(jié)點(diǎn),從所述第二類型節(jié)點(diǎn)中,將滿足第四預(yù)設(shè)值個(gè)數(shù)的第二類型節(jié)點(diǎn)分配給新建的一第五類型節(jié)點(diǎn),剩余的第二類型節(jié)點(diǎn)分配給新建的另一第五類型節(jié)點(diǎn),調(diào)整所述樹(shù)結(jié)構(gòu),其中,所述第三預(yù)設(shè)值為所述第四預(yù)設(shè)值的2倍減1;第四調(diào)整模塊,用于若所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)第二類型節(jié)點(diǎn)數(shù)低于所述第四預(yù)設(shè)值時(shí),刪除所述第五類型節(jié)點(diǎn);將所述第五類型節(jié)點(diǎn)的孩子節(jié)點(diǎn)合并到所述第五類型節(jié)點(diǎn)的兄弟節(jié)點(diǎn)中,調(diào)整所述樹(shù)結(jié)構(gòu);所述存儲(chǔ)模塊并存儲(chǔ)調(diào)整后的樹(shù)結(jié)構(gòu)。
10. 根據(jù)權(quán)利要求7、 8或9所述的裝置,其特征在于,所述文檔信息包括所述可編輯文檔中的字符類型信息、記錄文本的位置的書(shū)簽類型信息、記錄文本顯示屬性的標(biāo)簽類型信息、控件類型信息以及多媒體類型信息中的至少一種;所述文檔入口標(biāo)記信息為所述可編輯文檔的句柄信息;所述可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息為換行符或者回車符。
全文摘要
本發(fā)明提供一種可編輯文檔的存儲(chǔ)管理方法及裝置,其中方法包括獲取可編輯文檔的文檔信息、文檔入口標(biāo)記信息和可編輯文檔的每一個(gè)子部分的入口標(biāo)記信息;根據(jù)文檔入口標(biāo)記信息建立第一類型節(jié)點(diǎn),根據(jù)每一個(gè)子部分的入口標(biāo)記信息建立第三類型節(jié)點(diǎn),根據(jù)第三類型節(jié)點(diǎn)的個(gè)數(shù)建立第二類型節(jié)點(diǎn),根據(jù)每一個(gè)子部分對(duì)應(yīng)的文檔信息建立第四類型節(jié)點(diǎn);以第一類型節(jié)點(diǎn)為根節(jié)點(diǎn),第二類型節(jié)點(diǎn)為第一類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),預(yù)設(shè)數(shù)量個(gè)第三類型節(jié)點(diǎn)為第二類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),第四類型節(jié)點(diǎn)為第三類型節(jié)點(diǎn)的孩子節(jié)點(diǎn),構(gòu)造樹(shù)結(jié)構(gòu);存儲(chǔ)樹(shù)結(jié)構(gòu)。本發(fā)明的方案可以提高文檔存儲(chǔ)效率。
文檔編號(hào)G06F17/30GK101667196SQ20091009369
公開(kāi)日2010年3月10日 申請(qǐng)日期2009年9月27日 優(yōu)先權(quán)日2009年9月27日
發(fā)明者超 鄧 申請(qǐng)人:中興通訊股份有限公司