两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種文檔庫系統(tǒng)和文檔庫系統(tǒng)功能的擴(kuò)展方法

文檔序號:6560947閱讀:275來源:國知局
專利名稱:一種文檔庫系統(tǒng)和文檔庫系統(tǒng)功能的擴(kuò)展方法
技術(shù)領(lǐng)域
本發(fā)明涉及電子文檔的處理,特別涉及一種文檔庫系統(tǒng)和文檔庫系統(tǒng)的 擴(kuò)展方法。
技術(shù)背景文檔庫系統(tǒng)是一種復(fù)雜的軟件系統(tǒng),提供大量電子文檔的組織、管理、 安全、存儲和展示等功能。在本申請人在先提交的申請?zhí)枮镃N200510131072.0的基礎(chǔ)專利申請說明書中提供了一種包括文檔庫系統(tǒng)、存 儲器、應(yīng)用軟件的文檔處理系統(tǒng),其中,文檔庫的數(shù)據(jù)存儲在存儲器中,文 檔庫系統(tǒng)和應(yīng)用軟件通過一種標(biāo)準(zhǔn)調(diào)用接口連接起來,該標(biāo)準(zhǔn)調(diào)用接口根據(jù) 預(yù)先定義的動作和對象而定義。應(yīng)用軟件對文檔的操作都統(tǒng)一成對一種預(yù)定 義的通用文檔模型進(jìn)行的操作,并通過該標(biāo)準(zhǔn)調(diào)用接口向文檔庫系統(tǒng)發(fā)出指 令,文檔庫系統(tǒng)按照應(yīng)用軟件的指令,對存儲在存儲器中的文檔庫執(zhí)行相應(yīng) 的操作。盡管文檔庫系統(tǒng)可以提供強(qiáng)大的功能,但是與應(yīng)用環(huán)境的多樣性比較, 其功能總有不足或者不適用之處。能否提供一種靈活的文檔庫系統(tǒng)功能擴(kuò)展 方法,對文檔庫系統(tǒng)在應(yīng)用環(huán)境下的適用性具有很大的影響。通常情況下,文檔庫系統(tǒng)在編譯發(fā)布后,如果要進(jìn)行某個功能的擴(kuò)充, 則必須要修改文檔庫系統(tǒng)的代碼并重新編譯發(fā)布。這樣,文檔庫系統(tǒng)的功能 擴(kuò)展就會受到很大的限制。 發(fā)明內(nèi)容本發(fā)明要解決的一個技術(shù)問題是提供一種文檔庫系統(tǒng)功能的擴(kuò)展方法, 通過該方法,文檔庫系統(tǒng)的功能擴(kuò)展可以不經(jīng)過對文檔庫系統(tǒng)重新編譯。 本發(fā)明提供的一種擴(kuò)展文檔庫系統(tǒng)功能的方法,包括如下步驟-A,在文檔庫系統(tǒng)中預(yù)留系統(tǒng)擴(kuò)展接口;B,獨立于文檔庫系統(tǒng)開發(fā)符合系統(tǒng)擴(kuò)展接口的擴(kuò)展功能模塊;C,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)并調(diào)用對應(yīng)的擴(kuò)展功能模 塊進(jìn)行處理。其中,上述擴(kuò)展數(shù)據(jù)中設(shè)置有擴(kuò)展標(biāo)識,所述步驟C包括如下步驟Cl,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)獲得擴(kuò)展標(biāo)識;C2,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口查詢與擴(kuò)展數(shù)據(jù)的擴(kuò)展標(biāo)識匹配的擴(kuò) 展功能模塊;C3,調(diào)用匹配擴(kuò)展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理。進(jìn)一步,上述擴(kuò)展功能模塊中設(shè)置有標(biāo)識接口,以提供該擴(kuò)展功能模塊 的擴(kuò)展標(biāo)識;上述步驟C2包括如下步驟文檔庫系統(tǒng)根據(jù)擴(kuò)展功能模塊的標(biāo)識接口査詢與擴(kuò)展數(shù)據(jù)具有匹配擴(kuò)展 標(biāo)識的擴(kuò)展功能模塊;或者,上述文檔庫系統(tǒng)中注冊有擴(kuò)展功能模塊與擴(kuò)展標(biāo)識的對應(yīng)信息;上述步 驟C2包括如下步驟文檔庫系統(tǒng)根據(jù)注冊的擴(kuò)展功能模塊與擴(kuò)展標(biāo)識的對應(yīng)信息査詢與擴(kuò)展 數(shù)據(jù)的擴(kuò)展標(biāo)識匹配的擴(kuò)展功能模塊。進(jìn)一步,上述的擴(kuò)展功能模塊中設(shè)置有枚舉接口,用以枚舉擴(kuò)展功能模 塊的所有接口;步驟C3包含如下步驟調(diào)用匹配擴(kuò)展功能模塊的枚舉接口,查詢該擴(kuò)展功能模塊中用于處理擴(kuò) 展數(shù)據(jù)的接口;調(diào)用匹配的擴(kuò)展功能模塊接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理。進(jìn)一步,上述擴(kuò)展功能模塊中設(shè)置創(chuàng)建接口和析構(gòu)接口;在調(diào)用匹配擴(kuò) 展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理前,通過創(chuàng)建接口創(chuàng)建擴(kuò)展數(shù)據(jù)對應(yīng) 的擴(kuò)展實例,并在調(diào)用匹配擴(kuò)展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理后,通 過析構(gòu)接口銷毀所述的擴(kuò)展實例。上述擴(kuò)展功能模塊在加載到系統(tǒng)前以文件的形式存儲。存儲擴(kuò)展功能模 塊的文件在Windows系統(tǒng)可以為動態(tài)鏈接庫文件,在Linux系統(tǒng)下可以為so 文件,在Java虛擬機(jī)環(huán)境下可以為jar文件或class文件,在Unix系統(tǒng)下可 以為動態(tài)庫文件。
其中,上述存儲擴(kuò)展功能模塊的文件所在的目錄可以是在文檔庫系統(tǒng)預(yù) 先設(shè)置的固定目錄,或者,存儲擴(kuò)展功能模塊的文件所在的目錄存儲在文檔 庫系統(tǒng)預(yù)先設(shè)置的配置文件、注冊表或數(shù)據(jù)庫中。
進(jìn)一歩,文檔庫系統(tǒng)加載擴(kuò)展功能模塊包括如下步驟
獲得包含擴(kuò)展功能模塊的文件的名稱及其所在的目錄;
利用動態(tài)加載技術(shù)將擴(kuò)展功能模塊加載到內(nèi)存中。
上述存儲擴(kuò)展功能模塊的文件可以位于遠(yuǎn)程服務(wù)器上。遠(yuǎn)程服務(wù)器可以 為網(wǎng)絡(luò)文件系統(tǒng)服務(wù)器、輕量級目錄訪問協(xié)議服務(wù)器、分布式文件系統(tǒng)服務(wù)
器或者支持X.500標(biāo)準(zhǔn)的服務(wù)器。
通過本發(fā)明的文檔庫系統(tǒng)功能的擴(kuò)展方法,在文檔庫系統(tǒng)中預(yù)留系統(tǒng)擴(kuò) 展接口,當(dāng)需要擴(kuò)展文檔庫系統(tǒng)的功能時,可以獨立于文檔庫系統(tǒng)開發(fā)出符 合系統(tǒng)擴(kuò)展接口并滿足要求的擴(kuò)展功能模塊,并在文檔庫系統(tǒng)處理擴(kuò)展數(shù)據(jù) 時,通過系統(tǒng)擴(kuò)展接口調(diào)用擴(kuò)展功能模塊的功能對擴(kuò)展數(shù)據(jù)進(jìn)行處理,不需 要對文檔庫系統(tǒng)進(jìn)行重新編譯和發(fā)布,從而方便靈活地擴(kuò)展了文檔庫系統(tǒng)的 功能。
本發(fā)明的要解決的另外一個技術(shù)問題是提供一種文檔庫系統(tǒng),該文檔庫 系統(tǒng)可以在不對自己進(jìn)行改動的情況下擴(kuò)展自身的功能。 本發(fā)明提供的一種文檔庫系統(tǒng),包括.-擴(kuò)展數(shù)據(jù)解析模塊,用于解析擴(kuò)展數(shù)據(jù),獲取對應(yīng)的擴(kuò)展標(biāo)識,并將擴(kuò)
展標(biāo)識發(fā)送給擴(kuò)展功能匹配模塊;
擴(kuò)展功能匹配模塊,用于接收擴(kuò)展數(shù)據(jù)解析模塊發(fā)送來的擴(kuò)展標(biāo)識,并 查詢與該擴(kuò)展標(biāo)識匹配的擴(kuò)展功能模塊,并將匹配的擴(kuò)展功能模塊發(fā)送給擴(kuò) 展功能調(diào)用模塊;
擴(kuò)展功能調(diào)用模塊,用于接收擴(kuò)展功能模塊并調(diào)用其接口對來自擴(kuò)展數(shù) 據(jù)解析模塊的擴(kuò)展數(shù)據(jù)進(jìn)行處理。
在文檔庫系統(tǒng)從存儲器獲得的擴(kuò)展數(shù)據(jù)為擴(kuò)展對象的情況下,擴(kuò)展數(shù)據(jù) 解析模塊根據(jù)擴(kuò)展對象的格式解析擴(kuò)展數(shù)據(jù)并獲得擴(kuò)展標(biāo)識。
上述擴(kuò)展功能模塊包含標(biāo)識接口 ,用以提供該擴(kuò)展功能模塊的擴(kuò)展標(biāo)識; 擴(kuò)展功能匹配模塊通過該擴(kuò)展功能模塊的標(biāo)識接口獲得其擴(kuò)展標(biāo)識。
進(jìn)一步,上述擴(kuò)展功能模塊還包含枚舉接口,用以提供該擴(kuò)展功能模塊的所有接口;擴(kuò)展功能調(diào)用模塊通過該枚舉接口,獲得擴(kuò)展功能模塊的標(biāo)識 接口和其它接口。通過上述的描述可以看出,本發(fā)明提供的一種文檔庫系統(tǒng),由于本身具 有解析擴(kuò)展數(shù)據(jù)和調(diào)用擴(kuò)展功能模塊的能力,從而可以通過調(diào)用擴(kuò)展功能模 塊的功能來擴(kuò)展自身的功能,而不需要對自己進(jìn)行改動,增加了文檔庫系統(tǒng) 的可擴(kuò)展性和靈活性。


圖1為本發(fā)明的文檔庫系統(tǒng)功能的擴(kuò)展方法的流程圖; 圖2為本發(fā)明的方法中文檔庫系統(tǒng)對擴(kuò)展數(shù)據(jù)進(jìn)行處理的流程圖; 圖3為本發(fā)明的一種文檔庫系統(tǒng)。
具體實施方式
本發(fā)明的擴(kuò)展文檔庫系統(tǒng)功能的方法,如圖1所示,包括 步驟IOI,在文檔庫系統(tǒng)中預(yù)留系統(tǒng)擴(kuò)展接口;步驟102,開發(fā)人員獨立于文檔庫系統(tǒng)開發(fā)一些符合系統(tǒng)擴(kuò)展接口的擴(kuò) 展功能模塊;步驟103,在文檔庫系統(tǒng)的運(yùn)行時,通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)并 加載擴(kuò)展功能模塊,來執(zhí)行文檔庫系統(tǒng)本身不具有的處理功能對擴(kuò)展數(shù)據(jù)進(jìn) 行處理。在文檔庫系統(tǒng)設(shè)計期間并不知道各個擴(kuò)展功能模塊的具體功能,僅僅是 在文檔庫系統(tǒng)中為其留下預(yù)定義的接口,即系統(tǒng)擴(kuò)展接口,在文檔庫系統(tǒng)運(yùn) 行的時候,通過預(yù)定義的系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)并把擴(kuò)展功能模塊加載 到文檔庫系統(tǒng)中對擴(kuò)展數(shù)據(jù)進(jìn)行處理。本發(fā)明的文檔庫系統(tǒng)的系統(tǒng)擴(kuò)展接口可以包括擴(kuò)展數(shù)據(jù)解析接口 。符合 該接口的擴(kuò)展數(shù)據(jù)符合預(yù)定義的格式,并包含一擴(kuò)展標(biāo)識,文檔庫系統(tǒng)通過 調(diào)用擴(kuò)展數(shù)據(jù)解析接口可以從擴(kuò)展數(shù)據(jù)中獲得對應(yīng)的擴(kuò)展標(biāo)識。本發(fā)明的文檔庫系統(tǒng)的系統(tǒng)擴(kuò)展接口還可以包括擴(kuò)展模塊調(diào)用接口。該 擴(kuò)展模塊調(diào)用接口可以根據(jù)擴(kuò)展數(shù)據(jù)的擴(kuò)展標(biāo)識獲得匹配的擴(kuò)展功能模塊。 符合該接口的擴(kuò)展功能模塊提供各種不同功能的接口。文檔庫系統(tǒng)可以通過
其擴(kuò)展模塊調(diào)用接口 ,執(zhí)行擴(kuò)展功能模塊的接口提供的功能。如圖2所示,本發(fā)明的文檔庫系統(tǒng)對擴(kuò)展數(shù)據(jù)的處理,包括如下步驟 步驟201,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)獲得擴(kuò)展標(biāo)識 (ID);文檔庫系統(tǒng)從存儲器獲得擴(kuò)展數(shù)據(jù),或者在文檔庫處理過程中獲得擴(kuò)展數(shù)據(jù),如glyph數(shù)據(jù)。Glyph數(shù)據(jù)是用于描述字體輪廓信息的向量或位圖數(shù)據(jù), 或者說,文本的顯示首先會確定對應(yīng)字體中相應(yīng)字符的glyph信息,然后根 據(jù)glyph描述的向量或位圖進(jìn)行顯示。通過調(diào)用擴(kuò)展數(shù)據(jù)解析接口解析擴(kuò)展 數(shù)據(jù)并獲得擴(kuò)展標(biāo)識。擴(kuò)展標(biāo)識的獲取根據(jù)不同的情況有多種方式。一種情況是擴(kuò)展數(shù)據(jù)作為擴(kuò)展對象存儲。擴(kuò)展對象是指在文檔庫中定 義一類專門用于存儲擴(kuò)展數(shù)據(jù)的對象,稱這類對象為擴(kuò)展對象。擴(kuò)展對象包 含擴(kuò)展標(biāo)識和擴(kuò)展實例數(shù)據(jù)。在這種存儲方式下,文檔庫系統(tǒng)根據(jù)規(guī)定的格 式解析擴(kuò)展對象獲得對應(yīng)的擴(kuò)展標(biāo)識。另外一種情況是擴(kuò)展數(shù)據(jù)為文檔庫系統(tǒng)支持的對象存儲。例如,文檔庫系統(tǒng)提供了對圖像對象的支持, 一般情況下,文檔庫系統(tǒng)支持的圖像格式 在文檔庫系統(tǒng)中都有注冊,文檔庫系統(tǒng)根據(jù)注冊的格式信息對圖像對象中包 含的格式信息進(jìn)行識別并對圖像數(shù)據(jù)進(jìn)行相應(yīng)的處理。當(dāng)擴(kuò)展數(shù)據(jù)作為一種 新格式的圖像對象在文檔庫中存儲時,文檔庫系統(tǒng)分析后確定該圖像格式不 是自身提供支持的格式,則缺省將該圖像對象包含的數(shù)據(jù)作為擴(kuò)展數(shù)據(jù),并 將格式信息作為擴(kuò)展標(biāo)識。文檔庫系統(tǒng)對擴(kuò)展數(shù)據(jù)作為其支持的對象的處理 類似于上述圖像對象的處理。還有一種情況是,在文檔庫處理過程中獲得擴(kuò)展數(shù)據(jù)時,可以根據(jù)擴(kuò)展數(shù)據(jù)類型等方式確定擴(kuò)展標(biāo)識,例如glyph數(shù)據(jù)。步驟202,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口查找與擴(kuò)展數(shù)據(jù)的擴(kuò)展標(biāo)識匹 配的擴(kuò)展功能模塊。一種實現(xiàn)的方式是,符合本發(fā)明規(guī)范的擴(kuò)展功能模塊,可以包含標(biāo)識接 口、枚舉接口。其中,通過擴(kuò)展功能模塊的枚舉接口可以獲得該擴(kuò)展功能模 塊所能提供的所有接口 ,通過標(biāo)識接口可以獲得該擴(kuò)展功能模塊的擴(kuò)展標(biāo)識。 文檔庫系統(tǒng)首先調(diào)用各個擴(kuò)展功能模塊的枚舉接口,然后獲得擴(kuò)展功能模塊
的標(biāo)識接口,并通過擴(kuò)展功能模塊的標(biāo)識接口獲得擴(kuò)展標(biāo)識。然后將獲得的 擴(kuò)展標(biāo)識和從擴(kuò)展數(shù)據(jù)獲得的擴(kuò)展標(biāo)識進(jìn)行比較,如果匹配,則該擴(kuò)展功能 模塊即為處理該擴(kuò)展數(shù)據(jù)的擴(kuò)展功能模塊。
上述的通過擴(kuò)展標(biāo)識獲得匹配擴(kuò)展功能模塊的方式需要遍歷所有的擴(kuò)展 功能模塊。為了提高處理的效率,可以將各個擴(kuò)展功能模塊按照不同的分類 在文檔庫系統(tǒng)中進(jìn)行注冊。注冊的內(nèi)容包括類別名稱和屬于該類別的擴(kuò)展 功能模塊的對應(yīng)關(guān)系信息。如上面所述,如果圖形對象是一在文檔庫系統(tǒng)中 注冊的類別,當(dāng)文檔庫系統(tǒng)處理到一種不支持的圖像格式時,它可以首先在 注冊的內(nèi)容中查詢所屬類別為圖像對象的擴(kuò)展功能模塊,然后查詢此類擴(kuò)展 功能模塊中具有和從擴(kuò)展數(shù)據(jù)獲得的擴(kuò)展標(biāo)識匹配的擴(kuò)展功能模塊。如果該 擴(kuò)展功能模塊己經(jīng)在文檔庫系統(tǒng)中進(jìn)行了注冊,則可以找到對應(yīng)的擴(kuò)展功能 模塊。通過上述分類注冊的方式,減小了查詢對應(yīng)擴(kuò)展功能模塊的范圍,提 高了處理效率。
另一種實現(xiàn)的方式是,擴(kuò)展功能模塊并不提供標(biāo)識接口,而在文檔庫系 統(tǒng)中注冊有擴(kuò)展模塊與擴(kuò)展標(biāo)識的對應(yīng)信息。該注冊信息可以由應(yīng)用程序或 者擴(kuò)展功能模塊注冊到文檔庫系統(tǒng)中。文檔庫系統(tǒng)在獲得擴(kuò)展數(shù)據(jù)的擴(kuò)展標(biāo) 識后,根據(jù)注冊的擴(kuò)展功能模塊與擴(kuò)展標(biāo)識的對應(yīng)信息查詢與該擴(kuò)展標(biāo)識匹 配的擴(kuò)展功能模塊。上述的注冊信息可以存儲于特定的文件或者注冊表項中, 文檔庫系統(tǒng)通過該文件或者注冊表項獲得該信息。文檔庫系統(tǒng)可以通過提供 專用的擴(kuò)展功能模塊注冊接口、或者直接修改該文件或者注冊表項來管理該 對應(yīng)信息。
步驟203,調(diào)用匹配擴(kuò)展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理。 擴(kuò)展功能模塊對擴(kuò)展數(shù)據(jù)進(jìn)行處理有時需要創(chuàng)建擴(kuò)展實例,在這種情況 下,擴(kuò)展功能模塊的接口通常包含創(chuàng)建接口和析構(gòu)接口,在確定匹配的擴(kuò)展 功能模塊后,通過擴(kuò)展功能模塊的枚舉接口獲得擴(kuò)展功能模塊的創(chuàng)建接口, 通過擴(kuò)展功能模塊的創(chuàng)建接口,創(chuàng)建一個擴(kuò)展實例;有時創(chuàng)建接口需要擴(kuò)展 件標(biāo)識和/或擴(kuò)展實例數(shù)據(jù)作為參數(shù)創(chuàng)建擴(kuò)展實例。然后通過枚舉接口獲得需 要的功能接口對擴(kuò)展數(shù)據(jù)進(jìn)行相應(yīng)的處理。擴(kuò)展數(shù)據(jù)處理完畢后,可以調(diào)用 擴(kuò)展功能模塊的析構(gòu)接口來銷毀創(chuàng)建的擴(kuò)展實例。擴(kuò)展功能模塊對擴(kuò)展數(shù)據(jù)
進(jìn)行處理不需要創(chuàng)建擴(kuò)展實例時,可以直接通過枚舉接口獲得需要的功能接 口對擴(kuò)展數(shù)據(jù)進(jìn)行相應(yīng)的處理。在最簡單的情況下,例如擴(kuò)展功能模塊只包 含一個功能接口 ,則可以不需要枚舉接口直接調(diào)用該功能接口 。
擴(kuò)展功能模塊作為獨立于文檔庫系統(tǒng)的功能模塊,通常在需要的時候或 者文檔庫系統(tǒng)初始化的時候裝載入文檔庫系統(tǒng)。擴(kuò)展功能模塊在加載前的靜
態(tài)存儲方式在Windows系統(tǒng)下可以是動態(tài)鏈接庫(DLL)文件,在Linux系 統(tǒng)下可以是so文件,在Java虛擬機(jī)環(huán)境下可以是jar文件或.class文件,或者 在Unix系統(tǒng)下的動態(tài)庫文件。每個文件中可以包含一個或者多個擴(kuò)展功能模 塊,在包含多個擴(kuò)展功能模塊的情況下,該文件中包含區(qū)分不同擴(kuò)展功能模 塊的信息。文檔庫系統(tǒng)可以設(shè)置一個或多個缺省的固定目錄用于存儲包含擴(kuò) 展功能模塊的文件,文檔庫系統(tǒng)通過管理相應(yīng)目錄下的內(nèi)容來管理擴(kuò)展功能 模塊。將包含擴(kuò)展功能模塊的文件放置在缺省目錄下,就可以被文檔庫系統(tǒng) 裝找到并載入系統(tǒng)?;蛘呶臋n庫系統(tǒng)并不限定包含擴(kuò)展功能模塊的文件所在 的目錄,而是通過配置文件、注冊表或數(shù)據(jù)庫等方式來管理擴(kuò)展功能模塊。 當(dāng)添加一個擴(kuò)展功能模塊時,在配置文件、注冊表或數(shù)據(jù)庫中添加一個對應(yīng) 的項,每一項中都記錄包含擴(kuò)展功能模塊的文件所在的目錄信息,文檔庫系 統(tǒng)可以根據(jù)對應(yīng)項找到該擴(kuò)展功能模塊并進(jìn)行加載,當(dāng)要刪除一個擴(kuò)展功能 模塊時,只需將對應(yīng)項刪除即可。對于擴(kuò)展功能模塊的加載,可以通過如下
的步驟實現(xiàn)
獲得包含擴(kuò)展功能模塊的文件的名稱及其所在的目錄;
利用動態(tài)加載技術(shù)將擴(kuò)展功能模塊加載到內(nèi)存中。 包含擴(kuò)展功能模塊的文件所在的目錄可以位于遠(yuǎn)程服務(wù)器上,并通過服 務(wù)器提供的接口管理擴(kuò)展功能模塊。其中,遠(yuǎn)程服務(wù)器可以是網(wǎng)絡(luò)文件系統(tǒng)
NFS服務(wù)器、輕量級目錄訪問協(xié)議LDAP服務(wù)器、分布式文件系統(tǒng)DFS服務(wù) 器或者其它的目錄服務(wù)器(如支持X.500標(biāo)準(zhǔn)的服務(wù)器)。
符合本發(fā)明規(guī)范的擴(kuò)展功能模塊,還可以包含消息接口。文檔庫系統(tǒng)或 者應(yīng)用程序可以通過擴(kuò)展功能模塊的消息接口獲得擴(kuò)展實例處理消息的設(shè)置 信息,從而通過這些設(shè)置信息向擴(kuò)展實例發(fā)送消息,擴(kuò)展實例對接收到的消 息進(jìn)行響應(yīng)。此外,擴(kuò)展功能模塊還可以包含反向消息接口。文檔庫系統(tǒng)或
者應(yīng)用程序可以通過擴(kuò)展功能模塊的反向消息接口 ,將其進(jìn)行消息處理的設(shè) 置信息通知擴(kuò)展實例。文檔庫系統(tǒng)或者應(yīng)用程序調(diào)用擴(kuò)展功能模塊的反向消 息接口后,擴(kuò)展實例可以根據(jù)從反向消息接口獲得的設(shè)置信息向文檔庫系統(tǒng) 或者應(yīng)用程序發(fā)送消息。如果一個擴(kuò)展功能模塊既包括消息接口,又包括反 向消息接口,則通過調(diào)用相應(yīng)的接口可以在擴(kuò)展實例和文檔庫系統(tǒng)或應(yīng)用程 序之間建立雙向的消息通道。為了使通過消息接口或者反向消息接口收到消息的一方正確處理該消 息,需要預(yù)先對消息進(jìn)行定義。這些預(yù)定義的標(biāo)準(zhǔn)消息可以包括生成擴(kuò)展實 例窗口的消息,獲取擴(kuò)展數(shù)據(jù)顯示位圖的消息,添加/刪除菜單、工具條、菜 單項、工具條按鈕的消息,改變擴(kuò)展實例顯示區(qū)域的消息,刷新擴(kuò)展實例顯 示區(qū)域的消息等。需要指出的是,上述的擴(kuò)展功能模塊的接口,如標(biāo)識接口、枚舉接口、 創(chuàng)建接口、析構(gòu)接口、消息接口和反向消息接口等接口,也可以允許應(yīng)用程 序通過應(yīng)用層接口進(jìn)行調(diào)用,從而調(diào)用擴(kuò)展功能模塊的功能。應(yīng)用程序的應(yīng) 用層接口的實現(xiàn)可以與上述文檔庫系統(tǒng)系統(tǒng)接口的實現(xiàn)類似。下面介紹幾種典型擴(kuò)展功能模塊的應(yīng)用。窗口擴(kuò)展功能模塊,該模塊提供窗口顯示和處理功能,通常不需要向文 檔庫系統(tǒng)注冊。在文檔庫系統(tǒng)從擴(kuò)展數(shù)據(jù)獲得擴(kuò)展標(biāo)識后,文檔庫系統(tǒng)通過 各個擴(kuò)展功能模塊的枚舉接口獲得該擴(kuò)展功能模塊的標(biāo)識接口 ,分別調(diào)用其 標(biāo)識接口,獲得擴(kuò)展標(biāo)識,并與從擴(kuò)展數(shù)據(jù)獲得的擴(kuò)展標(biāo)識比較,如果匹配, 則通過擴(kuò)展功能模塊的創(chuàng)建接口并使用擴(kuò)展標(biāo)識和擴(kuò)展實例數(shù)據(jù)來創(chuàng)建擴(kuò)展 實例,并顯示該窗口。在需要清理該窗口時,使用擴(kuò)展功能模塊的析構(gòu)接口 銷毀該擴(kuò)展實例。流媒體擴(kuò)展功能模塊與窗口擴(kuò)展功能模塊類似,該模塊提供流媒體數(shù)據(jù) 的處理及播放,外觀上同樣呈現(xiàn)為窗口。流媒體擴(kuò)展功能模塊的標(biāo)識與流媒 體類型有關(guān),而擴(kuò)展實例數(shù)據(jù)則保存了流媒體的數(shù)據(jù)。流媒體擴(kuò)展功能模塊 通常不需要注冊。圖像擴(kuò)展功能模塊,該模塊提供圖像處理功能,其擴(kuò)展數(shù)據(jù)通常以系統(tǒng) 提供的圖像對象存儲。圖像擴(kuò)展功能模塊一般向文檔庫系統(tǒng)注冊。在文檔庫
系統(tǒng)遇到一圖像對象,發(fā)現(xiàn)其圖像類型未知時,則將該圖像類型作為擴(kuò)展標(biāo) 識查找向文檔庫系統(tǒng)注冊的擴(kuò)展功能模塊。在發(fā)現(xiàn)一擴(kuò)展功能模塊的標(biāo)識與 圖像類型匹配時,則文檔庫系統(tǒng)調(diào)用匹配的圖像擴(kuò)展功能模塊的功能接口, 對圖像對象中的數(shù)據(jù)進(jìn)行處理。
數(shù)據(jù)加密/解密擴(kuò)展功能模塊,該類模塊提供數(shù)據(jù)加密/解密功能,分別提 供不同的加密/解密算法,并通過擴(kuò)展功能模塊的擴(kuò)展標(biāo)識區(qū)別,用以提供對 文檔庫數(shù)據(jù)的加密/解密功能。
數(shù)據(jù)壓縮/解壓縮擴(kuò)展功能模塊,該類模塊提供數(shù)據(jù)壓縮/解壓縮功能,分 別提供不同的壓縮/解壓縮算法,并通過擴(kuò)展功能模塊的擴(kuò)展標(biāo)識區(qū)別,用以 提供對文檔庫數(shù)據(jù)的加密/解密功能。
數(shù)據(jù)轉(zhuǎn)換擴(kuò)展功能模塊,該模塊提供數(shù)據(jù)的轉(zhuǎn)換功能, 一般需要向文檔 庫系統(tǒng)注冊,其調(diào)用方式與一般的擴(kuò)展功能模塊有所不同,需要文檔庫系統(tǒng) 中一種容器對象的支持。這種容器對象中,可以添加多個數(shù)據(jù)轉(zhuǎn)換擴(kuò)展實例 和多個文檔庫系統(tǒng)支持的對象。在訪問容器中的各個對象時,容器負(fù)責(zé)依次 使用這些數(shù)據(jù)轉(zhuǎn)換擴(kuò)展實例來處理存儲的數(shù)據(jù),將存儲的對象數(shù)據(jù)轉(zhuǎn)換為對 象數(shù)據(jù)。具體的過程是對每個數(shù)據(jù)轉(zhuǎn)換擴(kuò)展實例,根據(jù)擴(kuò)展標(biāo)識,查詢注 冊到文檔庫系統(tǒng)的擴(kuò)展功能模塊接口,找到擴(kuò)展功能模塊接口中用于數(shù)據(jù)轉(zhuǎn) 換的功能接口,對數(shù)據(jù)進(jìn)行轉(zhuǎn)換。在需要將容器中的各個對象寫入到存儲器 時,容器同樣使用數(shù)據(jù)轉(zhuǎn)換擴(kuò)展實例將對象數(shù)據(jù)進(jìn)行轉(zhuǎn)換并存儲,具體過程 與上面的過程類似。
通過上述的說明可以看出,本發(fā)明的文檔庫系統(tǒng)功能的擴(kuò)展方法,在文 檔庫系統(tǒng)中預(yù)留系統(tǒng)擴(kuò)展接口,當(dāng)需要擴(kuò)展文檔庫系統(tǒng)的功能時,可以獨立 于文檔庫系統(tǒng)開發(fā)出符合系統(tǒng)擴(kuò)展接口并滿足要求的擴(kuò)展功能模塊,并在文 檔庫系統(tǒng)處理擴(kuò)展數(shù)據(jù)時,通過系統(tǒng)擴(kuò)展接口調(diào)用擴(kuò)展功能模塊的功能對擴(kuò) 展數(shù)據(jù)進(jìn)行處理,不需要對文檔庫系統(tǒng)進(jìn)行重新編譯和發(fā)布,從而方便靈活 地擴(kuò)展了文檔庫系統(tǒng)的功能。
如圖3所示,本發(fā)明的一種文檔庫系統(tǒng),包括擴(kuò)展數(shù)據(jù)解析模塊、擴(kuò)展 功能匹配模塊和擴(kuò)展功能調(diào)用模塊。
其中,擴(kuò)展數(shù)據(jù)解析模塊用于解析文檔庫系統(tǒng)獲得的擴(kuò)展數(shù)據(jù),獲得對 應(yīng)的擴(kuò)展標(biāo)識,并將擴(kuò)展標(biāo)識發(fā)送給擴(kuò)展功能匹配模塊。擴(kuò)展功能匹配模塊用于接收擴(kuò)展數(shù)據(jù)解析模塊發(fā)送來的擴(kuò)展標(biāo)識,并根 據(jù)擴(kuò)展標(biāo)識獲得匹配的擴(kuò)展功能模塊,然后將匹配的擴(kuò)展功能模塊發(fā)送給擴(kuò) 展功能調(diào)用模塊。擴(kuò)展功能調(diào)用模塊用于接收擴(kuò)展功能模塊并調(diào)用其接口對來自擴(kuò)展數(shù)據(jù) 解析模塊的擴(kuò)展數(shù)據(jù)進(jìn)行處理。在文檔庫系統(tǒng)從存儲器獲得的擴(kuò)展數(shù)據(jù)為擴(kuò)展對象的情況下,擴(kuò)展數(shù)據(jù) 解析模塊根據(jù)擴(kuò)展對象的格式解析擴(kuò)展數(shù)據(jù)并獲得擴(kuò)展標(biāo)識。擴(kuò)展功能模塊可以包含標(biāo)識接口 ,用以提供該擴(kuò)展功能模塊的擴(kuò)展標(biāo)識;擴(kuò)展功能匹配模塊通過該擴(kuò)展功能模塊的標(biāo)識接口獲得其擴(kuò)展標(biāo)識。 擴(kuò)展功能模塊還可以包含枚舉接口,用以提供該擴(kuò)展功能模塊的所有接口;擴(kuò)展功能調(diào)用模塊通過該枚舉接口,獲得擴(kuò)展功能模塊的標(biāo)識接口和其 它接口。擴(kuò)展功能模塊中還可以包含創(chuàng)建接口和析構(gòu)接口;擴(kuò)展功能調(diào)用模塊通 過調(diào)用擴(kuò)展功能模塊的創(chuàng)建接口創(chuàng)建擴(kuò)展數(shù)據(jù)對應(yīng)的擴(kuò)展實例,并在調(diào)用匹 配擴(kuò)展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理后,通過調(diào)用擴(kuò)展功能模塊的析 構(gòu)接口銷毀上述的擴(kuò)展實例。從上面的介紹可以看出,本發(fā)明的文檔庫系統(tǒng),可以從擴(kuò)展功能模塊中 查詢與擴(kuò)展數(shù)據(jù)匹配的擴(kuò)展功能模塊,并調(diào)用匹配擴(kuò)展功能模塊的接口對擴(kuò) 展數(shù)據(jù)進(jìn)行處理。通過上述的方式,可以利用擴(kuò)展功能模塊擴(kuò)展文檔庫系統(tǒng) 的功能,而不需要對文檔庫系統(tǒng)進(jìn)行重新編譯和發(fā)布,從而方便靈活地擴(kuò)展 了文檔庫系統(tǒng)的功能。
權(quán)利要求
1.一種擴(kuò)展文檔庫系統(tǒng)功能的方法,其特征在于,包括如下步驟A,在文檔庫系統(tǒng)中預(yù)留系統(tǒng)擴(kuò)展接口;B,獨立于文檔庫系統(tǒng)開發(fā)符合系統(tǒng)擴(kuò)展接口的擴(kuò)展功能模塊;C,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)并調(diào)用對應(yīng)的擴(kuò)展功能模塊進(jìn)行處理。
2. 如權(quán)利要求1所述的方法,其特征在于,所述擴(kuò)展數(shù)據(jù)中設(shè)置有擴(kuò)展 標(biāo)識,所述步驟C包括如下步驟Cl,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)獲得擴(kuò)展標(biāo)識; C2,文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口査詢與擴(kuò)展數(shù)據(jù)的擴(kuò)展標(biāo)識匹配的擴(kuò) 展功能模塊;C3,調(diào)用匹配擴(kuò)展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理。
3. 如權(quán)利要求2所述的方法,其特征在于,所述擴(kuò)展功能模塊中設(shè)置有 標(biāo)識接口,以提供該擴(kuò)展功能模塊的擴(kuò)展標(biāo)識;所述步驟C2包括如下步驟文檔庫系統(tǒng)根據(jù)擴(kuò)展功能模塊的標(biāo)識接口查詢與擴(kuò)展數(shù)據(jù)具有匹配擴(kuò)展 標(biāo)識的擴(kuò)展功能模塊。
4. 如權(quán)利要求2所述的方法,其特征在于,所述文檔庫系統(tǒng)中注冊有擴(kuò) 展功能模塊與擴(kuò)展標(biāo)識的對應(yīng)信息;所述步驟C2包括如下步驟文檔庫系統(tǒng)根據(jù)注冊的擴(kuò)展功能模塊與擴(kuò)展標(biāo)識的對應(yīng)信息查詢與擴(kuò)展 數(shù)據(jù)的擴(kuò)展標(biāo)識匹配的擴(kuò)展功能模塊。
5. 如權(quán)利要求2所述的方法,其特征在于,所述的擴(kuò)展功能模塊中設(shè)置 有枚舉接口,用以枚舉擴(kuò)展功能模塊的所有接口;步驟C3包含如下步驟調(diào)用匹配擴(kuò)展功能模塊的枚舉接口,査詢該擴(kuò)展功能模塊中用于處理擴(kuò) 展數(shù)據(jù)的接口;調(diào)用匹配的擴(kuò)展功能模塊接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理。
6. 如權(quán)利要求5所述的方法,其特征在于,所述擴(kuò)展功能模塊中設(shè)置創(chuàng) 建接口和析構(gòu)接口 ;在調(diào)用匹配擴(kuò)展功能模塊的接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理前, 通過創(chuàng)建接口創(chuàng)建擴(kuò)展數(shù)據(jù)對應(yīng)的擴(kuò)展實例,并在調(diào)用匹配擴(kuò)展功能模塊的 接口對擴(kuò)展數(shù)據(jù)進(jìn)行處理后,通過析構(gòu)接口銷毀所述的擴(kuò)展實例。
7. 如權(quán)利要求6所述的方法,其特征在于,所述系統(tǒng)擴(kuò)展接口中包含標(biāo) 準(zhǔn)消息的定義,所述擴(kuò)展實例提供對所述標(biāo)準(zhǔn)消息的支持,并設(shè)置有消息接 口接收文檔庫系統(tǒng)或者應(yīng)用程序發(fā)送的消息。
8. 如權(quán)利要求7所述的方法,其特征在于,所述標(biāo)準(zhǔn)消息包括生成擴(kuò)展 實例窗口的消息,獲取擴(kuò)展數(shù)據(jù)顯示位圖的消息,添加/刪除菜單、工具條、 菜單項、工具條按鈕的消息,改變擴(kuò)展實例顯示區(qū)域的消息,刷新擴(kuò)展實例 顯示區(qū)域的消息。
9. 如權(quán)利要求7所述的方法,其特征在于,所述擴(kuò)展實例設(shè)置有反向消 息接口 ,并通過反向消息接口向文檔庫系統(tǒng)或者應(yīng)用程序發(fā)送消息。
10. 如權(quán)利要求2至9中任意一項所述的方法,其特征在于,所述擴(kuò)展 功能模塊的接口由應(yīng)用程序通過應(yīng)用層接口調(diào)用。
11. 如權(quán)利要求1至5中任意一項所述的方法,其特征在于,所述擴(kuò)展 功能模塊在加載到系統(tǒng)前以文件的形式存儲。
12. 如權(quán)利要求ll所述的方法,其特征在于,所述存儲擴(kuò)展功能模塊的 文件為Windows系統(tǒng)的動態(tài)鏈接庫文件,或為Linux系統(tǒng)下的so文件,或 Java虛擬機(jī)環(huán)境下的jar文件或class文件,或Unix系統(tǒng)下的動態(tài)庫文件。
13. 如權(quán)利要求ll所述的方法,其特征在于,所述存儲擴(kuò)展功能模塊的 文件所在的目錄為在文檔庫系統(tǒng)預(yù)先設(shè)置的固定目錄。
14. 如權(quán)利要求ll所述的方法,其特征在于,所述存儲擴(kuò)展功能模塊的 文件所在的目錄存儲在文檔庫系統(tǒng)預(yù)先設(shè)置的配置文件、注冊表或數(shù)據(jù)庫中。
15. 如權(quán)利要求ll所述的方法,其特征在于,所述存儲擴(kuò)展功能模塊的 文件中包含一個或者多個擴(kuò)展功能模塊。
16. 如權(quán)利要求ll所述的方法,其特征在于,文檔庫系統(tǒng)加載擴(kuò)展功能 模塊包括如下步驟獲得包含擴(kuò)展功能模塊的文件的名稱及其所在的目錄; 利用動態(tài)加載技術(shù)將擴(kuò)展功能模塊加載到內(nèi)存中。
17. 如權(quán)利要求11所述的方法,其特征在于,所述存儲擴(kuò)展功能模塊的 文件位于遠(yuǎn)程服務(wù)器上。
18. 如權(quán)利要求17所述的方法,其特征在于,所述遠(yuǎn)程服務(wù)器為網(wǎng)絡(luò)文件系統(tǒng)服務(wù)器、輕量級目錄訪問協(xié)議服務(wù)器、分布式文件系統(tǒng)服務(wù)器或者支持X.500標(biāo)準(zhǔn)的服務(wù)器。
19. 如權(quán)利要求3所述的方法,其特征在于,所述擴(kuò)展功能模塊提供窗 口顯示和處理功能。
20. 如權(quán)利要求19所述的方法,其特征在于,所述擴(kuò)展功能模塊還提供 流媒體數(shù)據(jù)的處理功能,并在顯示的窗口中播放處理后的流媒體數(shù)據(jù)。
21. 如權(quán)利要求4所述的方法,其特征在于,所述擴(kuò)展功能模塊提供數(shù) 據(jù)加密/解密、數(shù)據(jù)壓縮/解壓縮或數(shù)據(jù)轉(zhuǎn)換功能。
22. 如權(quán)利要求4所述的方法,其特征在于,所述擴(kuò)展數(shù)據(jù)以圖像對象 存儲,以圖像對象的類型字段為擴(kuò)展標(biāo)識;所述在文檔庫系統(tǒng)中注冊有與該 擴(kuò)展標(biāo)識對應(yīng)信息的擴(kuò)展功能模塊提供圖像處理功能。
23. —種文檔庫系統(tǒng),其特征在于,包括-擴(kuò)展數(shù)據(jù)解析模塊,用于解析擴(kuò)展數(shù)據(jù),獲取對應(yīng)的擴(kuò)展標(biāo)識,并將擴(kuò) 展標(biāo)識發(fā)送給擴(kuò)展功能匹配模塊;擴(kuò)展功能匹配模塊,用于接收擴(kuò)展數(shù)據(jù)解析模塊發(fā)送來的擴(kuò)展標(biāo)識,并 査詢與該擴(kuò)展標(biāo)識匹配的擴(kuò)展功能模塊,并將匹配的擴(kuò)展功能模塊發(fā)送給擴(kuò) 展功能調(diào)用模塊;擴(kuò)展功能調(diào)用模塊,用于接收擴(kuò)展功能模塊并調(diào)用其接口對來自擴(kuò)展數(shù)據(jù)解析模塊的擴(kuò)展數(shù)據(jù)進(jìn)行處理。
24. 如權(quán)利要求23所述的文檔庫系統(tǒng),其特征在于,其從存儲器獲得的擴(kuò)展數(shù)據(jù)為擴(kuò)展對象,擴(kuò)展數(shù)據(jù)解析模塊根據(jù)擴(kuò)展對象的格式解析擴(kuò)展數(shù)據(jù) 并獲得擴(kuò)展標(biāo)識。
25. 如權(quán)利要求23或24所述的文檔庫系統(tǒng),其特征在于,所述擴(kuò)展功 能模塊包含標(biāo)識接口,用以提供該擴(kuò)展功能模塊的擴(kuò)展標(biāo)識;擴(kuò)展功能匹配 模塊通過該擴(kuò)展功能模塊的標(biāo)識接口獲得其擴(kuò)展標(biāo)識。
26. 如權(quán)利要求25所述的文檔庫系統(tǒng),其特征在于,所述擴(kuò)展功能模塊 還包含枚舉接口,用以提供該擴(kuò)展功能模塊的所有接口;擴(kuò)展功能調(diào)用模塊 通過該枚舉接口 ,獲得擴(kuò)展功能模塊的標(biāo)識接口和其它接口 。
全文摘要
本發(fā)明公開了一種文檔庫系統(tǒng)及擴(kuò)展文檔庫功能的方法。該方法包括步驟在文檔庫系統(tǒng)中預(yù)留系統(tǒng)擴(kuò)展接口;獨立于文檔庫系統(tǒng)開發(fā)符合系統(tǒng)擴(kuò)展接口的擴(kuò)展功能模塊;文檔庫系統(tǒng)通過系統(tǒng)擴(kuò)展接口解析擴(kuò)展數(shù)據(jù)并調(diào)用對應(yīng)的擴(kuò)展功能模塊進(jìn)行處理。通過本發(fā)明提供的方法,可以不對文檔庫系統(tǒng)進(jìn)行重新編譯而擴(kuò)展文檔庫系統(tǒng)的功能。
文檔編號G06F9/44GK101165647SQ20061011380
公開日2008年4月23日 申請日期2006年10月17日 優(yōu)先權(quán)日2006年10月17日
發(fā)明者劉寧勝, 劉昌偉, 王東臨, 旭 郭 申請人:北京書生國際信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
郯城县| 石首市| 北流市| 梨树县| 石首市| 长阳| 喀喇沁旗| 洛川县| 久治县| 红桥区| 虹口区| 神池县| 鞍山市| 宜阳县| 任丘市| 东辽县| 灵武市| 介休市| 临湘市| 大荔县| 霍山县| 通渭县| 新蔡县| 南郑县| 元谋县| 贵港市| 怀集县| 石屏县| 汨罗市| 鸡东县| 汽车| 镇宁| 惠州市| 宜丰县| 大厂| 措美县| 罗山县| 浦城县| 泸定县| 尉氏县| 开封市|