專利名稱:用于將文件超鏈接的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息存儲和檢索系統(tǒng),更具體地說,涉及創(chuàng)建從文件到其所拷貝自的源文件、和/或其他任何目標(biāo)文件的超鏈接的方法和系統(tǒng)(源文件和/或其他目標(biāo)文件位于同一或不同的計算機系統(tǒng))。
背景技術(shù):
總體上,計算機系統(tǒng)存儲諸如計算機程序、文本文檔、圖形、圖片、音頻、視頻、或其他信息之類的數(shù)據(jù)、并存儲文檔作為含這些種類信息的任何組合的文件。這些文件通常保持于與計算機關(guān)聯(lián)的硬盤驅(qū)動器上,但也可以保持于存儲器、軟盤驅(qū)動器、遠(yuǎn)程服務(wù)器或其他類型的大容量存儲介質(zhì)。為了簡化其檢索,一般將文件分布于一些目錄或文件夾中。各目錄或文件夾可具有子目錄或子文件夾。一個計算機系統(tǒng)可含數(shù)以百計的這樣的目錄或文件夾,而作為計算機系統(tǒng)的一部分的文件服務(wù)器可具有數(shù)以千計的這樣的目錄或文件夾。用戶一般通過使用文件的文件名來定位文件,文件名通常是例如“myphoto.gif”的短字符串,而磁盤驅(qū)動器盤符和目錄或文件夾可置于文件名之前,例如“C\photos\myphoto.gif”。
不同類型的文件系統(tǒng)可用于不同的操作系統(tǒng)。各文件系統(tǒng)類型具有其各自的格式和字符集,諸如文件名長度、最大文件尺寸等等。例如,在Linux操作系統(tǒng)上,最常使用的文件系統(tǒng)類型是第二擴展文件系統(tǒng)(Second ExtendedFile System),也就是所知的ext2fs。它允許多達(dá)256個字符的文件名。在Windows(視窗)(Microsoft(微軟)公司的注冊商標(biāo))上,VFAT(虛擬(Virtual)文件分配表)(Windows 95)和FAT 32(32位文件分配表)(Windows 98)文件系統(tǒng)的文件名最大長度是255個字符。NTFS(NT(新技術(shù))文件系統(tǒng))和UNIX文件系統(tǒng)的文件名最大長度是256個字符。
在因特網(wǎng)上,使用尋址方案來標(biāo)識例如HTTP服務(wù)器、文件或程序、和要顯示的文件或HTML文檔等資源。該尋址方案叫做統(tǒng)一資源定位器(URL)。URL可含當(dāng)存取服務(wù)器時使用的應(yīng)用協(xié)議,例如“http”;服務(wù)器所運行的站點的因特網(wǎng)域名,也稱作服務(wù)器主機名;服務(wù)器的端口號(端口號可不在URL中指定,而是通過翻譯服務(wù)器主機名而獲得);和服務(wù)器的文件結(jié)構(gòu)中的資源位置。例如,下列URLhttp//www.christusrex.org/www2/berry/f6v.html指定了應(yīng)用協(xié)議為“http”,服務(wù)器主機名為“www.christusrex.org”,和至所存取的文件的服務(wù)器文件路徑為“/www2/berry/f6v.html”。
如果客戶機請求文件,則HTTP服務(wù)器定位該文件并將其發(fā)送至客戶機。取決于被檢索文件的類型,客戶機可激活應(yīng)用以處理該文件。在接收到文件時,客戶機瀏覽器通常檢查其擴展(extension)以確定如何在收到后處理該文件,例如,啟動應(yīng)用程序來處理文件。例如,如果檢索到HTML文檔,則客戶機的Web(萬維網(wǎng))瀏覽器可對該HTML文檔做語法分析(parse)并顯示之。類似地,如果檢索到字處理文檔,則客戶機可激活字處理器來處理文檔。或者,所存取的文件可保存在本地(或下載)以供將來使用。
大部分操作系統(tǒng)和文件系統(tǒng)都不能在一旦下載了文件后跟蹤所下載或拷貝的文件(子)與源文件(父)間的關(guān)系。例如,當(dāng)從例如因特網(wǎng)等網(wǎng)絡(luò)、從服務(wù)計算機器到客戶計算機拷貝文件時,因為源文件的URL沒有隨拷貝文件一起記錄,所以丟失了客戶計算機上的拷貝文件與服務(wù)計算機上的源文件間的關(guān)系。
一種與在開放和無安全(unsecured)的網(wǎng)絡(luò)、特別是因特網(wǎng)上交換電子信息關(guān)聯(lián)的嚴(yán)重風(fēng)險涉及在傳輸期間修改數(shù)據(jù)。結(jié)果,重要的是檢查經(jīng)網(wǎng)絡(luò)接收的文件,以驗證他們既未被損壞、也未被竄改(alter),和/或他們不是由冒充者發(fā)送來的。而且重要的是當(dāng)修改文檔時跟蹤源文件以便恢復(fù)原始文件,例如,以分析該修改。
文件也可具有與之關(guān)聯(lián)的描述和參考性信息,即文件元數(shù)據(jù)。該信息可涉及來源、內(nèi)容、生成日期和場所、所有權(quán)或版權(quán)示意、中央存儲位置、使用條件、相關(guān)檔案、與文件或服務(wù)關(guān)聯(lián)的應(yīng)用。然而,大部分文件系統(tǒng)不能保持文件與關(guān)聯(lián)元數(shù)據(jù)的永久的聯(lián)系(connection)。當(dāng)文件從一個計算機系統(tǒng)傳送至另一個計算機系統(tǒng)時經(jīng)常會丟失文件與關(guān)聯(lián)元數(shù)據(jù)的聯(lián)系。
當(dāng)用戶例如通過點擊接收到的電子郵件所附文件的圖標(biāo)而經(jīng)網(wǎng)絡(luò)接收到文件時,該用戶除了得到所附文件外,還需要得到與該文件相關(guān)的元數(shù)據(jù)。例如,當(dāng)從因特網(wǎng)服務(wù)器接收到文件時,需要驗證它既未被損壞、也未以某種方式被竄改,或驗證它是從適當(dāng)?shù)陌l(fā)信者而不是從冒充者處接收的。特別地,如果接收到的文件是軟件程序,則最重要的是確保接收到的文件是由值得信任的一方發(fā)送的,否則會使計算機系統(tǒng)暴露于可能包含“特洛伊木馬”或可使用戶的計算機感染病毒的程序文件。為此,用戶必須存取文件元數(shù)據(jù),特別是數(shù)字認(rèn)證和數(shù)字署名,以在執(zhí)行前驗證文件的真實性和完好性。
當(dāng)今有實現(xiàn)文件與該文件的元數(shù)據(jù)的關(guān)聯(lián)的不同途徑?;旧?,文件的元數(shù)據(jù)可編碼于文件的同一文件名上,它們可置于文件之前或后附于文件、作為文件封裝(wrapper)結(jié)構(gòu)的一部分,它們可嵌入文件內(nèi)別處已定義好的方便點,或可被創(chuàng)建為完全分離的文件。各種途徑有其固有的優(yōu)點和缺點-給文件命名以使文件名給元數(shù)據(jù)編碼在理論上有可能,但當(dāng)企圖使文件名有描述性時,一般由于文件名長度限制而無法在文件名上提供文件的足夠描述。
-以定界符(delimiter)來封裝文件并將元數(shù)據(jù)前置或后附于文件的開始或結(jié)尾處是方便的(因為文件和元數(shù)據(jù)二者共同運轉(zhuǎn)(travel)),而提取以這種方式編碼的元數(shù)據(jù)的算法是簡單而有效的。相反,在能夠按原始意圖來使用文件前,一般必須先去除封裝和元數(shù)據(jù)。為此,通常僅當(dāng)檢索文件時才進(jìn)行元數(shù)據(jù)分析。如果文件是以后轉(zhuǎn)交(pass on)或移動的,則會丟失元數(shù)據(jù)。元數(shù)據(jù)封裝方法的另一限制是那些方法與標(biāo)準(zhǔn)類型的文件和文件格式不兼容,這種不兼容阻礙了將他們用于給諸如圖像、視頻、音頻或可執(zhí)行文件等許多類型文件的元數(shù)據(jù)編碼。
-將元數(shù)據(jù)嵌入文件的數(shù)字呈示被記述于以下出版物標(biāo)題為“Techniques for data hiding”,W.Bender and al.IBM System Journal,Vol.35,Nos 3&4,1996(“數(shù)據(jù)隱藏技術(shù)”,W.Bender等,國際商業(yè)機器公司系統(tǒng)期刊,第35卷,第3、4號,1996)。圖像的高位速率編碼的最普通形式是以嵌入數(shù)據(jù)來取代圖像的最低亮度(luminance)位。該技術(shù)無法察覺(圖像的改變不顯著)并可用于各種用途,包括水印或防偽造。由于元數(shù)據(jù)被嵌入文件,故元數(shù)據(jù)提取可在文件檢索期間、每當(dāng)處理文件時、或接收后的其他任意時間進(jìn)行。這一數(shù)據(jù)嵌入方法的最大限制是缺乏如何(或在何處)將元數(shù)據(jù)集成于許多不同可能類型的文件和文件格式,特別是集成于圖像、視頻、音頻或可執(zhí)行文件的現(xiàn)行標(biāo)準(zhǔn),以及增加的從以不同方式編碼的文件中提取元數(shù)據(jù)的算法的復(fù)雜度。該解決方案的另一缺陷是嵌入的元數(shù)據(jù)會影響文檔的可讀性或降低數(shù)字圖像的質(zhì)量。
-將元文件(metafile)從相關(guān)文件分離地保持于例如服務(wù)器上的優(yōu)點是支持元文件存取,然而必須事先知道或以某種方式從文件確定元文件的地址(它自身是文件的元數(shù)據(jù))。一種公知的解決方案是使用某種辭典式的規(guī)則,例如使用不同的文件擴展將元文件的文件名與關(guān)聯(lián)文件的文件名聯(lián)系起來。如果某些應(yīng)用使用文件名約定(conVention)而將文件與由那些應(yīng)用產(chǎn)生的元文件關(guān)聯(lián)起來,則關(guān)聯(lián)文件(或元文件)的文件名可以是加密的(cryptic),并僅對該應(yīng)用是有效的。另一重要缺陷是當(dāng)文件例如通過網(wǎng)絡(luò)傳送至不同系統(tǒng)時,會丟失文件與元文件的關(guān)聯(lián)。
總之,需要一種創(chuàng)建從主文件到目標(biāo)文件的超鏈接的方法和系統(tǒng),該目標(biāo)文件可以是源文件或可以是其他關(guān)聯(lián)文件。
發(fā)明內(nèi)容
于是,本發(fā)明的大體目的在于彌補如上所述的現(xiàn)有技術(shù)的短處。
本發(fā)明的另一目的在于提供一種創(chuàng)建從主文件到目標(biāo)文件的超鏈接,以從主文件存取各目標(biāo)文件的方法和系統(tǒng)。
本發(fā)明的另一目的在于提供一種創(chuàng)建從主文件到源文件的超鏈接的方法和系統(tǒng),其中它從該源文件檢索。
本發(fā)明的另一目的在于提供一種創(chuàng)建從主文件到關(guān)聯(lián)元數(shù)據(jù)的超鏈接的方法和系統(tǒng)。
這些和其他相關(guān)目的的實現(xiàn)是通過計算機類可讀介質(zhì),包括具有文件名的主文件,該文件名包括一級(primary)文件名和至少一個已編碼的目標(biāo)文件地址,所述主文件的一級文件名和所述至少一個已編碼的目標(biāo)文件地址被第一控制字符分離,而兩個連續(xù)的已編碼的目標(biāo)地址被第二控制字符分離,這些和其他相關(guān)目的的實現(xiàn)還通過使在目標(biāo)地址處可用的至少一個目標(biāo)文件超鏈接至具有一級文件名的主文件的方法,所述方法包括以下步驟-給各所述目標(biāo)文件的目標(biāo)地址編碼;-將所述一級文件名和所述已編碼的目標(biāo)地址合并于文件名;和-以所述文件名來重命名所述主文件,其中所述一級文件名和所述已編碼的目標(biāo)地址被第一控制字符分離、而兩個連續(xù)的已編碼的目標(biāo)地址被第二控制字符分離。
通過審查附圖和詳細(xì)說明,本領(lǐng)域的技術(shù)人員將會清楚本發(fā)明的進(jìn)一步的優(yōu)點。此處意在包含任何附加優(yōu)點。
圖1包括圖1a和1b,示出了將主文件的源地址在該主文件的文件名中編碼所用的算法的一個例子。
圖2示出了將多個目標(biāo)文件地址在主文件的文件名中編碼所用的算法的一個例子。
圖3說明了對已編碼的超鏈接的文件名解碼所用的算法的一個例子。
圖4示出了優(yōu)化文件地址編碼所用的算法的一個例子。
具體實施例方式
根據(jù)本發(fā)明,主文件的文件名被用于使用特別的辭典而給一個或幾個目標(biāo)文件的目標(biāo)地址編碼。確定所使用的辭典以避免文件系統(tǒng)所禁止的特別字符,例如Microsoft Windows系統(tǒng)所禁止的“\”,和/或給目標(biāo)地址編碼以縮小其尺寸。應(yīng)編碼的目標(biāo)地址可以是任何形式,例如本地地址、私人網(wǎng)絡(luò)中的地址或因特網(wǎng)地址,然而,為便于說明,以下說明給出的例子基于URL型地址。
在第一實施例中,公開了給源文件地址編碼的方法,其中從該源文件地址保存文件。根據(jù)這一實施例,源文件地址可以在主文件從服務(wù)器傳送至用戶系統(tǒng)時編碼、或在將其保存在本地或傳送至另一系統(tǒng)時編碼。類似地,源文件地址可代表源文件的地址、或代表包含該主文件的因特網(wǎng)頁面的地址。
圖1示出了給源文件地址編碼所用的算法的一個例子。如圖1a所示,第一步驟是取得主文件的一級文件名,即給源文件地址編碼前的文件的文件名,(框100),包含主文件的因特網(wǎng)頁面的URL或該主文件自身的地址稱作源文件地址(框105)。然后,給源文件地址編碼(框110)并使用特別的分離符而與主文件的一級文件名合并(框115),然后以含一級文件名和已編碼的源文件地址的文件名來重命名該文件(框120)。
圖1b描述了編碼算法(框110)的一個例子。將變量i置為零(框125)并從源文件地址串中提取第i個字符(框130)。進(jìn)行測試以確定所提取的字符是否為用戶的文件系統(tǒng)所禁止(框135)。如果不禁止該提取的字符,則使變量i遞增1(框150)并進(jìn)行新的測試以確定變量i是否到達(dá)了其最大值,即等于源文件地址的長度(框155)。如果變量i尚未到達(dá)其最大值,則重復(fù)最后四個步驟(框130至155)。否則,如果變量i到達(dá)了其最大值,則停止處理。如果禁止該提取的字符,則在辭典表格145中選擇對應(yīng)的字符并以此所選擇的字符來取代被禁止的字符(框140)。然后使變量i遞增1,并如上述進(jìn)行測試以確定變量i是否到達(dá)了其最大值。
作為說明,讓我們考慮一個圖像中所含的主文件,其具有“my_photo.jpg”作為一級文件名,該圖像包含于具有下列URL的因特網(wǎng)頁面“http//www.my_server.com/ph_012.html”而在辭典表格中“”關(guān)聯(lián)于“..”“/”關(guān)聯(lián)于“(”當(dāng)用戶選擇諸如標(biāo)準(zhǔn)菜單“保存...”、“另存為...”或“發(fā)送到...”等下載該圖像的選項時,該圖像隨對應(yīng)的一級文件名而從因特網(wǎng)服務(wù)器傳送至用戶系統(tǒng),并使用先前的辭典表格給URL編碼如下“http..((www.my_server.com(ph_012.html”然后,已編碼的URL與一級文件名合并。在本例中,已編碼的URL被括在用作分離符的括號里。已編碼的URL插入在一級文件名的擴展圓點前面如下“my_photo(http..((www.my_server.com(ph_012.html).jpg”并使用此“已編碼的超鏈接的文件名”來重命名主文件。
已編碼的超鏈接的文件名可含源圖像文件的地址,而不是關(guān)聯(lián)包含該圖像并自其拷貝該圖像的因特網(wǎng)頁面的地址。例如,如果圖像文件的地址是“http//www.my_server.com/my_ph.jpg”則已編碼的源文件地址是“http..((www.my_server.com(my_ph.jpg”因而,分配給所存儲的圖像文件的“已編碼的超鏈接的文件名”是“my_photo(http..((www.my_server.com(my_ph.jpg).jpg”必須注意為了說明的緣故,而故意使該編碼算法非常簡單。一種優(yōu)選的算法可以是以單個字符來取代一系列被禁止的字符,例如以“(”來取代“//”。類似地,可由更緊湊的代碼來取代一些字符集,例如以“H!”來取代“http//”。這種編碼優(yōu)化將在后面論述。
在第二實施例中,公開了給一個或多個關(guān)聯(lián)的目標(biāo)文件的地址編碼所用的方法。如上述,目標(biāo)文件可由例如源文件、元數(shù)據(jù)、計算機程序、文本文檔、圖形、圖片、音頻、視頻或其他信息而構(gòu)成。目標(biāo)文件還可提供可通過例如HTML文件而存取的服務(wù)。在本實施例中,本發(fā)明的方法可集成為大部分軟件的模塊,例如,該模塊當(dāng)保存主文件時可有選擇地啟動,或本發(fā)明的方法可實施為獨立的軟件。圖2示出了該實施例的主要步驟。在取得主文件的一級文件名(框200)后進(jìn)行測試以確定用戶是否需要關(guān)聯(lián)目標(biāo)文件(框205),如果不需要則處理結(jié)束。而如果用戶需要關(guān)聯(lián)目標(biāo)文件,則將輸入第一目標(biāo)文件的地址的請求傳送給用戶以與之關(guān)聯(lián)(框210)。至此,用戶可鍵入目標(biāo)地址或使用標(biāo)準(zhǔn)瀏覽功能來確定它。然后,給要關(guān)聯(lián)的目標(biāo)文件的地址編碼(框110′)并使用特別的分離符而與一級文件名合并(框215)??墒褂门c參照圖1b所述的算法類似的算法來給要關(guān)聯(lián)的目標(biāo)文件的地址編碼。進(jìn)行第二測試以確定用戶是否希望關(guān)聯(lián)更多目標(biāo)文件(框220)。如果沒有要關(guān)聯(lián)的目標(biāo)文件,則處理結(jié)束。否則重復(fù)最后四個步驟(框210至220)。在各已編碼的目標(biāo)地址間插入控制字符,從而對已編碼的超鏈接的文件名做語法分析,并可檢索各目標(biāo)地址。必須注意拷貝或保存的主文件的源文件的地址像任何關(guān)聯(lián)的目標(biāo)文件一樣可被鏈接。
作為說明,讓我們再次舉出先前的例子,其中用戶現(xiàn)在不僅想關(guān)聯(lián)圖像源的地址,還想關(guān)聯(lián)含圖像的文本說明的目標(biāo)文件的地址。于是,在該新例子中,源文件地址和圖像說明文件的地址二者必須都關(guān)聯(lián)于圖像的一級文件名。在本例中,圖像的一級文件名是“my_photo.jpg”,源圖像文件的URL是“http//www.my_server.com/my_ph.jpg”文本說明文件的URL是“http//www.my_server.com/my_ph.txt”而辭典表格與前面一樣,即“”關(guān)聯(lián)于“..”“/”關(guān)聯(lián)于“(”當(dāng)保存該主文件時,用戶可選擇諸如“關(guān)聯(lián)文件...”等選項,然后選擇自己欲關(guān)聯(lián)的目標(biāo)文件。在這一情形中,要關(guān)聯(lián)的全部目標(biāo)文件的地址都被編碼。于是,在本例中,已編碼的目標(biāo)地址是
“http..((www.my_server.com(my_ph.jpg”“http..((www.my_server.com(my_ph.txt”其與一級文件名合并如下“my_photo(http..((www.my_server.com(my_ph.jpg{http..((www.my_server.com(my_ph.txt).jpg”在本例中,外部括號“(”和“)”被用作分離符,以標(biāo)識超鏈接編碼的一級文件名部分,而花括號“{”則插入各已編碼的目標(biāo)地址間。
同樣,該編碼過程可被優(yōu)化,以縮小已編碼的超鏈接的文件名的長度。
第三實施例涉及給包含目標(biāo)文件的幾個編碼地址的文件名編碼,然后存取這些目標(biāo)文件的方法。圖3示出了實施這一方法的算法的一個例子。在選擇了文件名含一級文件名和已編碼目標(biāo)地址的主文件后,在選擇了如“查看源文件...”或“查看關(guān)聯(lián)文件...”等按鈕或菜單時,使用與編碼處理期間所用的相同的分離符來對文件名做語法分析(框300)。然后,確定超鏈接的數(shù)量n,即已編碼的目標(biāo)地址的數(shù)量(框305)并將變量i置為零(框310)。選擇第i個已編碼的目標(biāo)地址(框315),并使用給該目標(biāo)地址編碼用的辭典表格,例如表格145來對其解碼(框320)。使用該解碼的目標(biāo)地址,可存取關(guān)聯(lián)的目標(biāo)文件(框325)。就像一般在處理文件的因特網(wǎng)瀏覽器系統(tǒng)中的情形那樣,依所選擇的選項或軟件配置,所存取的目標(biāo)文件可保存在本地,或可自動啟動插件(plug-in)來查看該目標(biāo)文件。例如,如果存取的目標(biāo)文件是圖像,則可自動啟動圖像查看器或編輯器。最好是通過分析目標(biāo)地址的擴展來確定目標(biāo)文件的類型。然后使變量i遞增1(框330)并進(jìn)行測試以確定是否存取了全部超鏈接(框335),即,如果變量i達(dá)到了已編碼的目標(biāo)地址的數(shù)量n,則此時處理結(jié)束。否則,如果變量i未達(dá)到已編碼的超鏈接的數(shù)量n,則重復(fù)最后五個步驟(框315至335)。也可有選擇地使該算法包含一個子模塊,其允許用戶選擇使關(guān)聯(lián)目標(biāo)文件必須被存取的超鏈接,以避免存取全部文件。為了清楚起見,在圖3的算法上未呈示這一選項。
該解碼算法可由先前的例子來說明,其中已編碼的超鏈接的文件名是“my_photo(http..((www.my_server.com(my_ph.jpg{http..((www.my_server.com(my_ph.txt).jpg”通過標(biāo)識分離符“(”、“)”和“{”,可對已編碼的超鏈接的文件名做語法分析,以分別提取主文件的一級文件名和已編碼的目標(biāo)地址
一級文件名my_photo.jpg已編碼的目標(biāo)地址1http..((www.my_server.com(my_ph.jpg已編碼的目標(biāo)地址2http..((www.my_server.com(my_ph.txt然后,使用編碼處理用的辭典表格,可將已編碼的目標(biāo)地址解碼為目標(biāo)地址1http//www.my_server.com/my_ph.jpg目標(biāo)地址2http//www.my_server.com/my_ph.txt因此,可存取即查看或本地保存關(guān)聯(lián)的目標(biāo)文件。在此情形中,由于目標(biāo)地址的擴展是容易識別的標(biāo)準(zhǔn)擴展(“jpg”和“txt”),故當(dāng)檢索目標(biāo)文件時可自動啟動圖像查看器和文本編輯器。
如此前所述,地址編碼過程可被優(yōu)化以生成壓縮編碼的超鏈接的文件名。盡管可高效地應(yīng)用不同的數(shù)據(jù)壓縮技術(shù)(唯一的限制是生成合法編碼的文件名),但下面僅說明最簡單的技術(shù)(本發(fā)明的目的不是針對數(shù)據(jù)壓縮技術(shù))。
由于超鏈接到主文件的目標(biāo)文件一般存儲于同一位置,例如同一文件夾、目錄或web頁面,故可對單一共同路徑進(jìn)行編碼以避免冗余。于是,仍考慮先前的例子,其中已編碼的超鏈接的文件名是“my_photo(http..((www.my_server.com(my_ph.jpg{http..((www.my_server.com(my_ph.txt).jpg”共同路徑可由控制字符例如結(jié)尾處的“}”來標(biāo)識,于是防止需要重復(fù)給共同路徑編碼。在此情形中,新編碼的超鏈接的文件名是“my_photo(http..((www.my_server.com(}my_ph.jpg{my_ph.
txt).jpg”在解碼處理期間,一旦共同路徑被標(biāo)識為前置于共同路徑的控制字符“}”,則它前置于各個后續(xù)的單個已編碼的目標(biāo)文件路徑,借助分離符控制字符即本例中的“{”來標(biāo)識。
在僅目標(biāo)文件的一個子集共享一個共同路徑的情形中,可插入另一控制字符以標(biāo)識不共享該共同路徑的路徑。
已編碼的超鏈接的文件名也可通過由因特網(wǎng)協(xié)議(IP)域名服務(wù)器(DNS)地址來取代主機名而得以優(yōu)化。通過使用標(biāo)準(zhǔn)API(應(yīng)用編程接口)或操作系統(tǒng)函數(shù),例如MS-DOS(Microsoft公司的注冊商標(biāo))操作系統(tǒng)下的“ping”函數(shù),可容易地確定DNS地址。在此情形中,先前例子的已編碼的超鏈接的文件名是
“my_photo(http..((9.164.194.241(}my_ph.jpg{my_ph.txt).jpg”這里假設(shè)9.164.194.241是主機名為“my server.com”的服務(wù)器的IP地址。
最后,如以上所論述的,某些常用的字符集,例如“http//”、“http//www.”、或“ftp//”可由更緊湊的代碼,例如“H!”、“W!”或“F!”來分別取代。這種預(yù)留的字符串和關(guān)聯(lián)的緊湊代碼可存儲于上述的辭典表格。仍考慮先前的例子,其優(yōu)化的已編碼的超鏈接的文件名是“my_photo(H!9.164.194.241(}my_ph.jpg{my_ph.txt).jpg”然而,必須注意在此特別的情形中,字符集“http//”(即HTTP因特網(wǎng)接入?yún)f(xié)議代碼)甚至可被忽略,這是由于總體上因特網(wǎng)瀏覽器自動默認(rèn)HTTP接入?yún)f(xié)議。
圖4示出了優(yōu)化的編碼算法的一個例子,其可與參照圖2而說明的例子,例如在對應(yīng)于框220和225的步驟之間結(jié)合使用。第一步驟是分析已編碼的目標(biāo)地址以確定該已編碼的目標(biāo)地址是否共享一個共同路徑(框400)。如果有共同路徑,則將控制字符插入在第一共同路徑的結(jié)尾處,并從已編碼的超鏈接的文件名中去除后續(xù)的路徑(框410)。如果沒有共同路徑,則忽略前一步驟。然后以DNS IP地址來取代主機名(框415)。如上述,例如使用API函數(shù)可容易地確定DNS IP地址。最后,分析已編碼的超鏈接的文件名,從而根據(jù)存儲了字符集和對應(yīng)的緊湊代碼的對(pair)的辭典表格420,來以關(guān)聯(lián)的緊湊代碼來取代字符集(框425)。如圖上虛線所示,這最后步驟可被去除,從而與給超鏈接編碼的步驟(圖1b的框110)合并。在此情形中,最好是合并辭典表格145和420。
自然,去除共同路徑、以DNS IP地址來取代主機名以及以控制字符來取代字符集這些步驟可按任何次序來執(zhí)行,而不改變最終結(jié)果。
當(dāng)優(yōu)化編碼處理時,解碼處理首先以對應(yīng)的字符集來取代緊湊代碼并插入漏掉的共同路徑,然后給已編碼的超鏈接的文件名進(jìn)行解碼,如參照圖3所述。以字符集來取代緊湊代碼所用的辭典表格必須與應(yīng)用于優(yōu)化處理的辭典表格相同。然而不一定要求以主機名來取代IP地址,這可使用API或操作系統(tǒng)函數(shù),例如來自DNS實用(Utility)代碼的“GetHostName(獲取主機名)”函數(shù)而實現(xiàn)。
自然,為了滿足局部和具體的需求,本領(lǐng)域技術(shù)人員可應(yīng)用上述解決方案,然而其許多修改和變形都包括在由所附權(quán)利要求書限定的本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種計算機類可讀介質(zhì),包括具有文件名的主文件,該文件名包括一級文件名和至少一個已編碼的目標(biāo)文件地址,所述主文件的一級文件名和所述至少一個已編碼的目標(biāo)文件地址被第一控制字符分離,而兩個連續(xù)的已編碼的目標(biāo)地址被第二控制字符分離。
2.根據(jù)權(quán)利要求1所述的計算機類可讀介質(zhì),其中在所述文件名中編碼的目標(biāo)地址處可用的目標(biāo)文件是所述主文件的源文件。
3.一種使目標(biāo)地址處可用的至少一個目標(biāo)文件超鏈接至具有一級文件名的主文件的方法,所述方法包括以下步驟-對各所述目標(biāo)文件的目標(biāo)地址編碼(步驟110);-將所述一級文件名和所述已編碼的目標(biāo)地址合并到文件名(步驟115);和,-以所述文件名來重命名所述主文件(步驟120),其中所述一級文件名和所述已編碼的目標(biāo)地址被第一控制字符分離,而兩個連續(xù)的已編碼的目標(biāo)地址被第二控制字符分離。
4.根據(jù)權(quán)利要求3所述的方法,其中所述對各所述目標(biāo)文件的目標(biāo)地址編碼的步驟包括以下步驟-分析各所述目標(biāo)文件的目標(biāo)地址,以檢測預(yù)定的字符;和,-以關(guān)聯(lián)的字符來取代所述預(yù)定的字符,所述預(yù)定的字符和關(guān)聯(lián)的字符存儲于辭典表格。
5.根據(jù)權(quán)利要求3或4所述的方法,其中通過將已編碼的目標(biāo)地址插入到所述一級文件名的擴展圓點之前,來使所述已編碼的目標(biāo)地址與所述一級文件名合并。
6.根據(jù)權(quán)利要求3至5中任意一個所述的方法,還包括縮小已編碼的目標(biāo)地址的尺寸的壓縮步驟。
7.根據(jù)權(quán)利要求3至5中任意一個所述的使幾個目標(biāo)文件超鏈接至主文件的方法,還包括以下步驟-確定路徑是否為幾個已編碼的目標(biāo)地址所共同的;和,-如果路徑是幾個已編碼的目標(biāo)地址所共同的,則-在含所述共同路徑的第一已編碼的目標(biāo)地址的共同路徑結(jié)尾處插入第三專用字符;-去除含所述共同路徑的后續(xù)已編碼的目標(biāo)地址中的共同路徑;和,-在不含所述共同路徑的已編碼的目標(biāo)地址的之前插入第四控制字符。
8.一種從主文件存取至少一個目標(biāo)文件的方法,該主文件的文件名含一級文件名和至少一個已編碼的目標(biāo)地址,其中,所述至少一個目標(biāo)文件是可用的,所述方法包括以下步驟-對所述文件名做語法分析(步驟300);-根據(jù)權(quán)利要求3至7中任意一個的編碼處理,而對所述至少一個已編碼的目標(biāo)地址進(jìn)行解碼(步驟320);和,-存取在所述已解碼的目標(biāo)地址處可用的所述至少一個目標(biāo)文件(步驟325)。
9.根據(jù)權(quán)利要求8所述的方法,還包括以下步驟-分析所述已解碼的目標(biāo)地址,以確定在所述已解碼的目標(biāo)地址處可用的所述至少一個目標(biāo)文件的類型;和,-啟動與所述至少一個目標(biāo)文件的類型關(guān)聯(lián)的應(yīng)用。
10.一種設(shè)備,包括適合于實行根據(jù)權(quán)利要求3至9中任意一個的方法的裝置。
11.一種計算機類可讀介質(zhì),包括實行根據(jù)權(quán)利要求3至9中任意一個的方法的指令。
全文摘要
根據(jù)本發(fā)明的方法,通過將目標(biāo)文件的目標(biāo)地址或URL編碼為主文件的一級文件名中,來將這些目標(biāo)文件的集合鏈接至主文件。分離符字符被用于分辨主文件的一級文件名和各鏈接的目標(biāo)文件的已編碼地址。鏈接的目標(biāo)文件可以是任何種類,包括主文件的源文件、元數(shù)據(jù)、多媒體信息和服務(wù)。由于大部分文件系統(tǒng)不接受某些字符作為合法的文件名,故對鏈接的目標(biāo)文件的地址進(jìn)行編碼,從而以關(guān)聯(lián)的授權(quán)字符來取代任何被禁止的字符。辭典表格存儲所用被禁止的及其對應(yīng)的授權(quán)字符對。類似地,由于文件名長度一般限制在256個字符,故可優(yōu)化編碼處理以縮小已編碼的地址或URL的長度。
文檔編號G06F17/30GK1711539SQ200380103322
公開日2005年12月21日 申請日期2003年10月2日 優(yōu)先權(quán)日2002年11月28日
發(fā)明者費爾南多·英塞蒂斯卡羅 申請人:國際商業(yè)機器公司