亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

臨時目錄管理的制作方法

文檔序號:6471827閱讀:201來源:國知局
專利名稱:臨時目錄管理的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體涉及對由提出請求的應(yīng)用程序作暫時訪問的諸如大型目標(biāo)二進(jìn)制文件的數(shù)據(jù)文件進(jìn)行管理。
相關(guān)技術(shù)數(shù)據(jù)庫是計算機(jī)化的信息存儲和檢索系統(tǒng)。關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)是一種用關(guān)系技術(shù)(relational techniques)存儲和檢索數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)。關(guān)系數(shù)據(jù)庫被組織成有數(shù)據(jù)行和列的表格。數(shù)據(jù)庫一般包括許多表格,每個表格包括多個行和列。傳統(tǒng)上將這些表格存儲在諸如磁盤或光盤驅(qū)動器的直接存取存儲設(shè)備(DASD)中,用于半永久地存儲。
用戶用結(jié)構(gòu)化查詢語言(SQL)界面與RDBMS通信。SQL界面允許用戶通過建立交互式的、批處理文件方式的、或內(nèi)嵌在諸如C或COBOL的宿主語言中的對表格進(jìn)行關(guān)系運(yùn)算的公式來創(chuàng)建、操作和查詢數(shù)據(jù)庫。SQL已經(jīng)發(fā)展成一種用于RDBMS軟件的標(biāo)準(zhǔn)語言,并且已經(jīng)據(jù)此被美國國家標(biāo)準(zhǔn)學(xué)會(ANSI)和國際標(biāo)準(zhǔn)化組織(ISO)采納。
數(shù)據(jù)庫的一種通常應(yīng)用涉及到數(shù)據(jù)庫與因特網(wǎng)網(wǎng)絡(luò)瀏覽器的交互。在響應(yīng)網(wǎng)絡(luò)瀏覽器查詢時,可能需要在網(wǎng)絡(luò)瀏覽器上創(chuàng)建一個表格。這就需要傳輸數(shù)據(jù)文件和對網(wǎng)絡(luò)瀏覽器上的表格進(jìn)行格式化。由于數(shù)據(jù)庫響應(yīng)SQL而網(wǎng)絡(luò)瀏覽器需要HTML格式,因此需要一個接口模塊才能在網(wǎng)絡(luò)瀏覽器與數(shù)據(jù)庫之間進(jìn)行交互。這種接口模塊的一個例子是位于美國紐約州Armonk的IBM公司提供的Net.Data。
Net.Data使因特網(wǎng)和內(nèi)部網(wǎng)能訪問各種平臺上的關(guān)系數(shù)據(jù)。Net.Data中采用的一種宏語言,既支持HTML又支持SQL,并且允許通用網(wǎng)絡(luò)瀏覽器與關(guān)系數(shù)據(jù)庫系統(tǒng)之間的交互。Net.Data結(jié)合網(wǎng)路服務(wù)器接口操作,并支持使用諸如Java、REXX、Perl和C++等語言的客戶端處理以及服務(wù)器端處理。Net.Data提供與包括存儲在關(guān)系數(shù)據(jù)庫和平面文件(flat files)中的信息的各種數(shù)據(jù)源的連接。Net.Data可以支持各種操作系統(tǒng),包括OS/2、AIX、Windows NT、HP-UX、SCO、OS/390和OS/400。Net.Data進(jìn)一步能夠?qū)⒕W(wǎng)頁高速緩存,以改善應(yīng)用程序(application)的性能,在對同一個網(wǎng)頁重復(fù)做出請求時尤其如此。盡管本發(fā)明適宜用于諸如Net.Data的接口模塊,但也可以將其它公共網(wǎng)關(guān)接口用于本發(fā)明。
可以駐留在服務(wù)器上的接口模塊從網(wǎng)絡(luò)瀏覽器接收一個查詢,把該查詢格式化為SQL,并與數(shù)據(jù)庫交互以創(chuàng)建表格。接口模塊然后用其宏語言將表格以HTML格式呈現(xiàn)給網(wǎng)絡(luò)瀏覽器,網(wǎng)絡(luò)瀏覽器接著將表格顯示給遠(yuǎn)程用戶。這樣,接口模塊起著用于訪問數(shù)據(jù)庫的因特網(wǎng)網(wǎng)關(guān)的作用。
在創(chuàng)建和格式化表格時,接口模塊從數(shù)據(jù)庫檢索要在表格中包含的文件。像字符值這樣的小文件,可以被直接從數(shù)據(jù)庫中傳送,轉(zhuǎn)換成HTML格式,然后在瀏覽器上顯示。然而,諸如大型目標(biāo)二進(jìn)制文件(LOBs)等大文件是難以直接傳送的。接口模塊的一個必要特征,如Net.Data中的那樣,是檢索LOBs和把LOBs合并成HTML格式的能力。LOB可以是圖像文件、視頻文件、聲頻文件、也可以是可執(zhí)行程序碼。LOB可以存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫可以擴(kuò)展到一個或多個服務(wù)器。在訪問LOB時,可以用一個數(shù)據(jù)鏈接(datalink)來指向LOB的實際位置。
不是把LOBs直接傳送到網(wǎng)絡(luò)瀏覽器,而是將LOBs存儲在一個一般稱作“tempblobs目錄”的臨時目錄中。把這稱作臨時目錄,是因為臨時目錄必須以較短的持續(xù)時間存儲LOBs,例如持續(xù)一個網(wǎng)絡(luò)會話期(web session)的時間。臨時目錄是個公共目錄,可駐留在服務(wù)器端并可由網(wǎng)絡(luò)服務(wù)器訪問。網(wǎng)絡(luò)瀏覽器只能察看網(wǎng)絡(luò)服務(wù)器向網(wǎng)絡(luò)瀏覽器公開的文件。因此,網(wǎng)絡(luò)瀏覽器不能訪問數(shù)據(jù)庫,而必須通過網(wǎng)絡(luò)服務(wù)器訪問公共目錄中的文件。將一個LOB的表示或鏈接包括在HTML文檔中。當(dāng)表格在網(wǎng)絡(luò)瀏覽器上被生成時,網(wǎng)絡(luò)服務(wù)器從臨時目錄中檢索LOBs。
為了適應(yīng)眾多的網(wǎng)絡(luò)瀏覽器,可能要同時運(yùn)行一個接口模塊的多個應(yīng)用程序。每個接口模塊可以存儲眾多的LOBs,以滿足來自多個網(wǎng)絡(luò)瀏覽器的請求。在給定了潛在因特網(wǎng)使用量和LOBs的大小后,即使有較大的存儲器設(shè)備,一個臨時目錄也會迅速裝滿。裝滿了的臨時目錄是不再能訪問的,并且會阻礙另外的LOBs的檢索和使用。此外,因為臨時目錄是公共目錄,電腦黑客可能能夠訪問在臨時目錄中存儲的時間超過合理時間的LOBs。
需要定期刪除臨時目錄中的LOBs,以釋放空間和降低非授權(quán)察看的機(jī)會。理想的情況是,不要刪除正在網(wǎng)絡(luò)瀏覽器上顯示的LOBs。過早的刪除可以通過關(guān)閉網(wǎng)絡(luò)服務(wù)器而避免,但是這妨礙對網(wǎng)站的訪問和使用。網(wǎng)站必須是一直能被訪問的,以適應(yīng)大量的用戶并鼓勵對網(wǎng)站的使用。在有些情況下,即使是暫時關(guān)閉網(wǎng)站就會給用戶帶來破壞性的后果。
因此,提供用于為增加臨時目錄中的空間而自動刪除LOBs的系統(tǒng)和方法,將是本技術(shù)領(lǐng)域中的一個進(jìn)步。
降低在不關(guān)閉網(wǎng)絡(luò)服務(wù)器的情況下刪除活動的LOBs的可能性,將是本技術(shù)領(lǐng)域中的又一個進(jìn)步。
發(fā)明概要本發(fā)明提供一種用于管理從數(shù)據(jù)庫系統(tǒng)檢索的并在臨時目錄中存儲的、供提出請求的應(yīng)用程序使用的數(shù)據(jù)文件的方法,該方法包含生成與在臨時目錄中存儲的數(shù)據(jù)文件相對應(yīng)的數(shù)據(jù)文件名;將數(shù)據(jù)文件名存儲在一個數(shù)據(jù)結(jié)構(gòu)中;生成與數(shù)據(jù)文件名相對應(yīng)的時間戳并將時間戳存儲在該數(shù)據(jù)結(jié)構(gòu)中;審查時間戳以確定是否過去了一個預(yù)定的延時;在該延時過去時,生成將數(shù)據(jù)文件從臨時目錄中刪除的命令。
本發(fā)明的一個實施例監(jiān)視LOB或其它類型的數(shù)據(jù)文件在臨時、公共目錄中存儲的時間量。本發(fā)明包括一個被配置用來在臨時目錄中存儲數(shù)據(jù)文件的接口模塊。這些數(shù)據(jù)文件是被諸如網(wǎng)絡(luò)瀏覽器的發(fā)出請求的應(yīng)用所請求的那些數(shù)據(jù)文件。接口模塊提供在數(shù)據(jù)庫檢索語言與網(wǎng)絡(luò)瀏覽器格式語言之間的翻譯。
接口模塊進(jìn)一步生成或復(fù)制對應(yīng)于每個數(shù)據(jù)文件的數(shù)據(jù)文件名。這些數(shù)據(jù)文件名被發(fā)送到一個被配置用來接收數(shù)據(jù)文件名的清除模塊(clean module)。將這些數(shù)據(jù)文件名放置到一個數(shù)據(jù)結(jié)構(gòu)中。清除模塊包括一個計時模塊,用于為每個數(shù)據(jù)文件名生成時間戳。時間戳反映每個文件名的接收時間,是與它們對應(yīng)的文件名相關(guān)聯(lián)地存儲的??梢詫?shù)據(jù)文件名按時間順序存儲。
清除模塊進(jìn)一步包括一個刪除模塊,它審查時間戳,以確定是否過去了一個預(yù)定的延時。在該延時過去時,刪除模塊生成一個用于從公共目錄刪除相應(yīng)的數(shù)據(jù)文件的命令。只有那些被接口模塊處理過的數(shù)據(jù)文件才會被刪除。
附圖簡介現(xiàn)在將結(jié)合各


本發(fā)明的實施例。
圖1是適于實現(xiàn)本發(fā)明的一個實施例的計算機(jī)系統(tǒng)的示意框圖;圖2本發(fā)明的系統(tǒng)的一個實施例的示意框圖;圖3是圖2中的實施例中的清除模塊的示意框圖;以及圖4是表示本發(fā)明一個實施例中執(zhí)行的步驟的流程圖。
最佳實施例詳述現(xiàn)在結(jié)合附圖1-4來說明本發(fā)明的最佳實施例,其中相同的標(biāo)注號表示相同的或功能相似的部件。如附圖中大致描述和闡明的那樣,本發(fā)明的各部件可以以各種各樣的配置來實現(xiàn)。所以,以下對如圖1-4中所示的本發(fā)明的系統(tǒng)和方法的實施例的更詳細(xì)的說明,并非是要限制要求得到保護(hù)本發(fā)明的范圍,而僅僅是本發(fā)明最佳實施例的代表。
本發(fā)明的各個部件在說明書中被描述成“模塊”。在一個實施例中,模塊可以以軟件、硬件、固件、或它們的任意組合實現(xiàn)。例如,本文中所使用的模塊可以包括位于存儲設(shè)備內(nèi)的和/或以電子信號的形式在系統(tǒng)總線或網(wǎng)絡(luò)上傳輸?shù)娜魏晤愋偷挠嬎銠C(jī)指令或計算機(jī)可執(zhí)行代碼。一個確定的模塊例如可以有一個或多個物理的或邏輯的計算機(jī)指令塊,指令塊可以被組織成對象、過程、函數(shù)等等。
不過,所確定的模塊不必位于集中的位置,而是可以包括存儲在不同位置的不同指令,這些指令共同實現(xiàn)模塊的所述功能。實際上,一個模塊可以有單獨一個指令,或者有許多指令,甚至可以分布在若干不同的代碼片斷上、不同的程序上以及不同的存儲設(shè)備上。
本文中所使用的術(shù)語“可執(zhí)行代碼”或僅僅是“可執(zhí)行的”,意在包括位于存儲設(shè)備內(nèi)的和/或以電子信號的形式在系統(tǒng)總線或網(wǎng)絡(luò)上傳輸?shù)娜魏晤愋偷挠嬎銠C(jī)指令或計算機(jī)可執(zhí)行代碼。一個確定的模塊例如可以由一個或多個物理的或邏輯的計算機(jī)指令塊,指令塊例如可以被組織成對象、過程、函數(shù)等等。不過,一個確定模塊的可執(zhí)行代碼不必位于集中的位置,而是可以包括存儲在不同位置的不同指令,這些指令共同組成該模塊并實現(xiàn)該模塊的功能。實際上,可執(zhí)行代碼可以有一個指令,或者有許多指令,甚至可以分布在若干不同的代碼片斷上、不同的程序上以及不同的存儲設(shè)備上。
類似地,在本文中有可能在模塊內(nèi)標(biāo)識和表示操作數(shù)據(jù)(operational data),并且將操作數(shù)據(jù)體現(xiàn)為任何適當(dāng)?shù)男问交蚪M織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)。操作數(shù)據(jù)可以被集中起來成為一個數(shù)據(jù)集合的形式,或者可以分布于不同的位置,包括分布于不同的存儲設(shè)備上,并且可以至少部分地僅僅以系統(tǒng)總線或網(wǎng)絡(luò)上的電子信號的形式存在。
圖1是表示計算機(jī)系統(tǒng)10的示意框圖,其中,多個模塊可以寄宿在網(wǎng)絡(luò)14中的一個或多個計算機(jī)工作站12上。網(wǎng)絡(luò)14可包含廣域網(wǎng)(WAN)或局域網(wǎng)(LAN),也可以包含網(wǎng)絡(luò)的互連系統(tǒng),因特網(wǎng)就是一個特定的例子。
一般的計算機(jī)工作站12可以包括一個邏輯設(shè)備16并且可以體現(xiàn)為中央處理單元(CPU)、微處理器、通用可編程設(shè)備、專用硬件、狀態(tài)機(jī)、或其它處理機(jī)。邏輯設(shè)備16可以與一個或多個存儲設(shè)備18有機(jī)地連接。存儲設(shè)備18在圖中被表示為包括非易失性存儲器20、諸如硬盤驅(qū)動器、CD-ROM驅(qū)動器、磁帶驅(qū)動器、或任何其它合適的存儲器。存儲設(shè)備18可進(jìn)一步包括只讀存儲器(ROM)22,和易失性隨機(jī)存取存儲器(RAM)24。RAM 24可以被邏輯設(shè)備16用來在執(zhí)行期間存儲指令。存儲設(shè)備18可進(jìn)一步包括虛擬存儲器36,在一個實施例中,虛擬存儲器是用來擴(kuò)展RAM 24的非易失性存儲器20的一部分。
計算機(jī)工作站12最好在諸如OS/2、Windows NT、Windows 9、UNIX之類的操作系統(tǒng)(OS)20的控制下運(yùn)行。在一個實施例中,操作系統(tǒng)20可以在工作站12啟動時從存儲器20裝入RAM 24。
計算機(jī)工作站12也可以包括一個或多個輸入設(shè)備30,諸如鼠標(biāo)或鍵盤,用于接收用戶的輸入。類似地,工作站12可以配備或可訪問一個或多個輸出設(shè)備32,如監(jiān)視器或打印機(jī)。
可以提供諸如以太網(wǎng)卡的網(wǎng)絡(luò)接口,用于通過網(wǎng)絡(luò)14將工作站與其它設(shè)備相連。在網(wǎng)絡(luò)14遠(yuǎn)離計算機(jī)工作站12時,網(wǎng)絡(luò)接口30可以包含一個調(diào)制解調(diào)器,并且可以通過諸如電話線的本地接入線連接到網(wǎng)絡(luò)14。
在任何給定的工作站12中,系統(tǒng)總線36可以有機(jī)地互聯(lián)邏輯設(shè)備16、存儲設(shè)備18、輸入設(shè)備30、輸出設(shè)備32、網(wǎng)絡(luò)接口34、以及一個或多個額外的接口38,如并行接口和RS-232串行接口。
系統(tǒng)總線36和網(wǎng)絡(luò)干線(backbone)40可以被視為數(shù)據(jù)載體(carriers)。相應(yīng)地,系統(tǒng)總線36和網(wǎng)絡(luò)干線40可以按眾多的配置體現(xiàn)。例如,系統(tǒng)總線36和網(wǎng)絡(luò)干線40可以包含金屬絲線和/或光纖線,以及使用不可見光、紅外、和無線電頻率的“無線”電磁連接。
總的來說,網(wǎng)絡(luò)14可以包含局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、若干連接的網(wǎng)絡(luò)、內(nèi)部網(wǎng),或者如圖示的那樣,包含互連的網(wǎng)絡(luò)系統(tǒng),如因特網(wǎng)。各個工作站12可以用各種通信技術(shù)在干線40上和/或在因特網(wǎng)42上互相通信。因此,總的來說在任何工作站12之間都存在通信連接。
在網(wǎng)絡(luò)14中可以采用不同的通信協(xié)議,例如ISO//OSI、IPX、TCP/IP,但是就因特網(wǎng)42而言,一個分層通信協(xié)議(TCP/IP)通常能使不同網(wǎng)絡(luò)14與工作站12之間進(jìn)行通信。
工作站12可以經(jīng)過網(wǎng)絡(luò)14連接到應(yīng)用服務(wù)器44,及/或其它資源或外設(shè),如打印機(jī),掃描器,和傳真機(jī)。外部網(wǎng)絡(luò)可以通過路由器48及/或通過因特網(wǎng)42連接到網(wǎng)絡(luò)14。
現(xiàn)在參看圖2,圖中所示的是本發(fā)明的臨時數(shù)據(jù)文件管理系統(tǒng)。系統(tǒng)200最好包括在圖1的存儲設(shè)備18內(nèi)的多個含有適于操作的可執(zhí)行代碼和操作數(shù)據(jù)的模塊。當(dāng)然,本發(fā)明的模塊所在的存儲設(shè)備18也可以分布在本地和遠(yuǎn)程計算機(jī)工作站12上。同樣,兩個或多個所示的模塊可以被集成為一個模塊,而不偏離本發(fā)明的范圍。
本發(fā)明可以在因特網(wǎng)42上使用并且可以結(jié)合常規(guī)網(wǎng)絡(luò)瀏覽器202使用。網(wǎng)絡(luò)瀏覽器202解釋HTML文檔并格式化和定義網(wǎng)頁204。網(wǎng)絡(luò)瀏覽器202可以位于遠(yuǎn)程工作站12,并可以通過因特網(wǎng)42連接到網(wǎng)絡(luò)服務(wù)器206。網(wǎng)絡(luò)服務(wù)器206存儲HTML文檔,并與網(wǎng)絡(luò)瀏覽器202交互,以下載或上載文檔,用于生成網(wǎng)頁204。
操作中,位于遠(yuǎn)程地點的用戶操作網(wǎng)絡(luò)瀏覽器202以發(fā)出請求。該請求通過因特網(wǎng)被發(fā)送到網(wǎng)絡(luò)服務(wù)器206,在此,該請求被網(wǎng)絡(luò)服務(wù)器206解釋。如果某請求是對數(shù)據(jù)庫中存儲的數(shù)據(jù)文件的請求,則必須將該請求解釋成SQL命令。SQL命令請求被發(fā)送到接口模塊208,接口模塊讀取該請求并將其格式化成SQL命令。網(wǎng)絡(luò)瀏覽器206和接口模塊208二者都可以駐留在服務(wù)器側(cè)。
接口模塊208被設(shè)置得與HTML以及SQL處理(transaction)和命令兼容。在一個實施例中,接口模塊208可以是Net.Data,但是本領(lǐng)域的熟練人員知道,也可以使用其它的能夠支持和解釋HTML格式和SQL命令的計算機(jī)網(wǎng)關(guān)接口。接口模塊208把請求以SQL命令的形式發(fā)送給數(shù)據(jù)庫系統(tǒng)210。在一個實施例中,數(shù)據(jù)庫系統(tǒng)210可以是個關(guān)系數(shù)據(jù)庫,但是層次式(hierarchical)和面向?qū)ο蟮臄?shù)據(jù)庫也在本發(fā)明的范圍內(nèi)。在使用關(guān)系數(shù)據(jù)庫以外的數(shù)據(jù)庫的實施例中,接口模塊208被設(shè)置得能以支持性處理和命令語言與這種數(shù)據(jù)庫兼容。
數(shù)據(jù)庫管理器212,諸如國際商用機(jī)器公司制造的DB2,接收SQL命令,搜索數(shù)據(jù)庫210,以檢索能滿足請求的數(shù)據(jù)文件214。數(shù)據(jù)文件214可以包括任何數(shù)量的、存儲在數(shù)據(jù)庫210中的包括文本、值、字符、整數(shù)、LOBs的各種文件。一旦檢索到數(shù)據(jù)文件,數(shù)據(jù)庫管理器212就將檢索到的數(shù)據(jù)文件傳送到接口模塊208。接口模塊208可以直接地將HTML格式的較小的數(shù)據(jù)文件214傳送到網(wǎng)絡(luò)瀏覽器202。這個特征功能由Net.Data應(yīng)用程序執(zhí)行,它加速了數(shù)據(jù)文件214的檢索和網(wǎng)頁204的生成。網(wǎng)絡(luò)瀏覽器202然后在生成的網(wǎng)頁204中加入該小數(shù)據(jù)文件214。
或者,接口模塊208也可以把小數(shù)據(jù)文件214傳送到網(wǎng)絡(luò)服務(wù)器206,用于加入HTML文檔中。網(wǎng)絡(luò)服務(wù)器206然后將數(shù)據(jù)文件214傳送到網(wǎng)絡(luò)瀏覽器202。
如果接口模塊208接收一個或多個LOBs 216,LOBs 216就被發(fā)送到臨時目錄218。這是因為LOBs 216一般來說太大,不能直接傳送到網(wǎng)絡(luò)瀏覽器202。臨時目錄218是個公共目錄,因為它能被網(wǎng)絡(luò)服務(wù)器206訪問。在由網(wǎng)絡(luò)服務(wù)器206生成的HTML文檔中,建立一個與臨時文檔218中相對應(yīng)的LOB 216的鏈接。網(wǎng)絡(luò)服務(wù)器206利用該鏈接按要求在網(wǎng)頁204上建立LOBs 216。這樣,網(wǎng)絡(luò)瀏覽器202就能像LOB216一樣顯示具有較小的數(shù)據(jù)文件214的網(wǎng)頁204。
舉例來說,遠(yuǎn)程用戶請求數(shù)據(jù)庫系統(tǒng)210中的一個表格。該表格可能包括含有數(shù)值的數(shù)據(jù)文件204以及例如GIF或JPEG格式的LOB216圖像文件。該表格可以在網(wǎng)頁204上用一個含有數(shù)值和LOB 216圖像的行生成。系統(tǒng)200將通過直接傳送數(shù)值并將LOB 216存儲在臨時目錄281中而在適當(dāng)?shù)牧兄酗@示分析出來的數(shù)據(jù)文件214。
接口模塊208進(jìn)一步被設(shè)置得將LOBs 216的文件名220傳送到清除模塊222。文件名220對應(yīng)于LOBs 216的名字。接口模塊208不必一直等到一個瀏覽器會話期(browser session)結(jié)束就可以先把文件名220傳送到清除模塊222。在一個實施例中,接口模塊208暫時將文件名220存儲在一個緩沖器224中。在與數(shù)據(jù)庫系統(tǒng)210的處理結(jié)束時,將緩沖器224中存儲的文件名220發(fā)送到清除模塊222。接口模塊208可以通過為傳輸數(shù)據(jù)所設(shè)置的端口號和套接字(socket)與清除模塊222相聯(lián)系。
清除模塊222幫助刪除文件,特別是在臨時目錄218中存儲的LOBs216。清除模塊222可以體現(xiàn)為一個在服務(wù)器206上自動啟動的守護(hù)程序(daemon),并進(jìn)一步被設(shè)置得能在后臺運(yùn)行。清除模塊222包括一個被設(shè)置成給每個文件名220建立一個登入時間(entry time)的計時模塊226。清除模塊222進(jìn)一步包括一個刪除模塊228,它被設(shè)置得審查每個文件名220的每個登入時間,并確定是否已過去了足夠的時間以刪除對應(yīng)的LOB 216。如果已經(jīng)過去了足夠的時間,刪除模塊228向操作系統(tǒng)232發(fā)送一個刪除命令230,要求刪除對應(yīng)于文件名220的LOB 216。操作系統(tǒng)232接收命令230,訪問臨時目錄218,并刪除相應(yīng)的LOB 216。
參看圖3,圖中顯示清除模塊222的框圖。如前文所討論的那樣,接口模塊20接入8向清除模塊222發(fā)送LOB 216的文件名220。本發(fā)明被設(shè)想用于為支持接入因特網(wǎng)和使用數(shù)據(jù)庫系統(tǒng)210而可能需要的若干接口模塊208。因此,可能會由幾個接口模塊208向清除模塊222發(fā)送文件名220。管理系統(tǒng)200可以進(jìn)一步按為支持這么多的接口模塊208所要求的那樣包含多個清除模塊222。接口模塊208將文件名220裝載到清除模塊222內(nèi)的一個數(shù)據(jù)結(jié)構(gòu)300中,例如鏈接列表300中。
一旦文件名220被放置到鏈接列表300中后,計時模塊226為每個文件名220生成并分配一個時間戳302。這可以個別地為每個輸入文件名220分別完成,或者可以在接收到含有文件名220的緩沖器224時集體地完成。時間戳302是文件名220的登入時間的反映。時間戳302與每個文件名220相關(guān)聯(lián)地存儲。
可以將文件名220按時間次序存儲在鏈接列表300中。這樣,刪除模塊238定期地審查鏈接列表300中最老的文件名304。刪除模塊238將最老的文件名304的時間戳302與現(xiàn)行時間比較,以確定自文件名304的登入以來已經(jīng)過去了多少時間。
由用戶或者由系統(tǒng)200預(yù)先確定一個指示一定的時間增量的延時229并將其存儲在清除模塊222中。該延時的作用是確定在某個LOB216被刪除之前必須經(jīng)過的大約時間。延時229可以由用戶或者由系統(tǒng)200按需調(diào)整。刪除模塊228將已經(jīng)過去的時間與延時229比較,以確定是否已過去了足夠的時間??梢詫⒀訒r229設(shè)置得為瀏覽會話期留出合理的時間量。這就減少了過早刪除LOB 216的可能性。在有些情況中,瀏覽會話期可能會超過要將LOB 216從網(wǎng)頁204刪除的延時,并需要重新裝入網(wǎng)頁204。不過,在釋放臨時目錄218的存儲空間以及減少電腦黑客風(fēng)險方面獲得的優(yōu)點超過了不常發(fā)生的重新裝入的不便。
如果已經(jīng)過去了足夠的時間,刪除模塊228生成并向操作系統(tǒng)232發(fā)送刪除命令230。刪除模塊228進(jìn)一步清除模塊222內(nèi)的刪除文件名304及其對應(yīng)的時間戳302。刪除模塊228然后審查鏈接列表中的下一個文件名220,如果文件名220是按時間順序存儲的,這下一個文件名220現(xiàn)在將是最老的文件名304。
本發(fā)明的一個優(yōu)點是,清除模塊222只刪除由接口模塊208發(fā)送到臨時目錄218的LOBs 216。因此,臨時目錄218中不是接口模塊208發(fā)送的其它文件將不會因清除模塊222的干預(yù)而被刪除。這就降低了被清除模塊222意外刪除的風(fēng)險。
參看圖4,這是體現(xiàn)圖2的系統(tǒng)200的使用方法的一個實施例的流程圖400。該方法從步驟402開始。發(fā)出請求的應(yīng)用-諸如網(wǎng)絡(luò)瀏覽器202,請求404一個或多個數(shù)據(jù)文件214。數(shù)據(jù)文件214是存儲在數(shù)據(jù)庫系統(tǒng)210中的,它可以包括文本、字符、整數(shù)、值、以及諸如圖像、聲頻、視頻數(shù)據(jù)文件的LOBs 216??梢詫⒃撜埱笸ㄟ^因特網(wǎng)發(fā)送到接口模塊208,后者將該請求翻譯成適當(dāng)?shù)臋z索命令,諸如SQL。
數(shù)據(jù)庫系統(tǒng)210檢索406能滿足該請求的數(shù)據(jù)文件214。接口模塊208可以將較小的數(shù)據(jù)文件214直接地傳送到網(wǎng)絡(luò)瀏覽器202,用以歸并在網(wǎng)頁204中。另一方面,LOBs 216則被接口模塊208存儲在臨時目錄218中。
接口模塊208生成408對應(yīng)于在臨時目錄218中存儲的LOBs 216的文件名220。可以將文件名220暫時地存儲在緩沖器224中。
接口模塊208將文件名220發(fā)送410到清除模塊222,在此,文件名222被存儲410在一個數(shù)據(jù)結(jié)構(gòu)中300。
清除模塊222為每個文件名220生成412一個時間戳302。時間戳302反映文件名220在清除模塊222中的大約登入時間。時間戳302與文件名220是相關(guān)聯(lián)地存儲的。
清除模塊222審查414每個時間戳302,確定自對應(yīng)的文件名220被存儲在數(shù)據(jù)結(jié)構(gòu)302中后已經(jīng)過去了多少時間。然后將文件名220的存儲時間與一個預(yù)先設(shè)定的延時比較,確定是否已經(jīng)過去了足夠的時間。如果尚未過去足夠的時間,清除模塊222就繼續(xù)定期地審查時間戳302。如果已經(jīng)過去了足夠的時間,過程繼續(xù)到步驟416。
在一個實施例中,文件名220可以按時間順序存儲。在這樣的實施例中,清除模塊222首先要審查最老的文件名220的時間戳302。
清除模塊222生成416一個要刪除與對應(yīng)的文件名220相關(guān)聯(lián)的LOB 216的命令320。在步驟418,該方法結(jié)束。
本發(fā)明提供一種用于通過在一定的時間后刪除LOBs 216而增加公共目錄218中的存儲空間的系統(tǒng)和方法。在因特網(wǎng)環(huán)境中,不斷有眾多的對LOBs 216的請求,存儲空間會很快地枯竭。本發(fā)明保證LOBs 216能在合理長的時間內(nèi)是可用的,過了這個時間后,就將LOBs 216有效地刪除。沒有被接口模塊208存儲在公共目錄218中的文件不會被無意地刪除。本發(fā)明把存儲空間保持在合理水平是自動進(jìn)行的,即沒有用戶的干預(yù)。本發(fā)明可以隨時適用于現(xiàn)有的軟件應(yīng)用,諸如網(wǎng)絡(luò)瀏覽器、網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)和在本文中闡明的其它模塊。
本發(fā)明可以在不偏離其范圍或基本特征的情況下以其它特定的形式體現(xiàn)。所描述的實施例應(yīng)被視為在所有方面都僅僅是示例性的而不是限制性的。本發(fā)明的范圍因此是由權(quán)利要求書而不是前面的說明指明的。所有落在權(quán)利要求內(nèi)的等同的意義和范圍內(nèi)的變化都被包含在權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.用于管理從數(shù)據(jù)庫系統(tǒng)檢索到的并存儲在臨時目錄中以供提出請求的應(yīng)用程序使用的數(shù)據(jù)文件的方法,該方法包含生成與存儲在臨時目錄中的數(shù)據(jù)文件相對應(yīng)的數(shù)據(jù)文件名;將數(shù)據(jù)文件名存儲在一個數(shù)據(jù)結(jié)構(gòu)中;生成對應(yīng)于數(shù)據(jù)文件的時間戳并把時間戳存儲在數(shù)據(jù)結(jié)構(gòu)中;審查時間戳以確定是否已經(jīng)過去了一個預(yù)定的延時;在該延時已過去時生成一個用于從臨時目錄刪除數(shù)據(jù)文件的命令。
2.權(quán)利要求1的方法,進(jìn)一步包含響應(yīng)來自提出請求的應(yīng)用程序的命令而從數(shù)據(jù)庫檢索數(shù)據(jù)文件。
3.權(quán)利要求2的方法,進(jìn)一步包含將命令轉(zhuǎn)換成結(jié)構(gòu)化查詢語言的格式以支持與數(shù)據(jù)庫的接合。
4.權(quán)利要求1的方法,進(jìn)一步包含將數(shù)據(jù)文件插入HTML格式以支持提出請求的應(yīng)用程序與數(shù)據(jù)庫之間接口。
5.權(quán)利要求1的方法,其中,數(shù)據(jù)文件是大型目標(biāo)二進(jìn)制文件。
6.權(quán)利要求1的方法,其中,數(shù)據(jù)結(jié)構(gòu)是鏈接列表,并且進(jìn)一步包含按時間順序來存儲數(shù)據(jù)文件名。
7.權(quán)利要求1的方法,進(jìn)一步包含將命令發(fā)送到操作系統(tǒng)以實現(xiàn)數(shù)據(jù)文件從臨時目錄的刪除。
8.計算機(jī)可讀介質(zhì),其中存儲有計算機(jī)可執(zhí)行的指令,用于執(zhí)行管理從數(shù)據(jù)庫系統(tǒng)檢索到的并存儲在臨時目錄中供提出請求的應(yīng)用程序使用的數(shù)據(jù)文件的方法,該方法包含生成與存儲在臨時目錄中的數(shù)據(jù)文件相對應(yīng)的數(shù)據(jù)文件名;將數(shù)據(jù)文件名存儲在一個數(shù)據(jù)結(jié)構(gòu)中;生成對應(yīng)于數(shù)據(jù)文件的時間戳并把時間戳存儲在數(shù)據(jù)結(jié)構(gòu)中;審查時間戳以確定是否已經(jīng)過去了一個預(yù)定的延時;在該延時已過去時生成一個用于從臨時目錄刪除數(shù)據(jù)文件的命令。
9.用于管理從數(shù)據(jù)庫系統(tǒng)檢索的并存儲在臨時目錄中供提出請求的應(yīng)用程序使用的數(shù)據(jù)文件的系統(tǒng),該系統(tǒng)包含一個接口模塊,被配置成在臨時目錄中存儲數(shù)據(jù)文件并生成對應(yīng)于每個數(shù)據(jù)文件的數(shù)據(jù)文件名;一個清除模塊,被配置成從接口模塊接收數(shù)據(jù)文件名并將數(shù)據(jù)文件名放置到一個數(shù)據(jù)結(jié)構(gòu)中,清除模塊包括一個計時模塊,計時模塊被設(shè)置成生成對應(yīng)于每個數(shù)據(jù)文件名并反映每個文件名的接收時間的時間戳,清除模塊還包括一個刪除模塊,刪除模塊被配置成去審查時間戳,并在預(yù)定的延時過去時,生成用于從臨時文件刪除數(shù)據(jù)文件的命令。
全文摘要
本發(fā)明提供為最大化存儲空間而對諸如大型目標(biāo)二進(jìn)制文件(LOBs)等被請求的數(shù)據(jù)文件的管理。一個接口模塊提供在發(fā)出請求的應(yīng)用程序與含有數(shù)據(jù)文件的數(shù)據(jù)庫之間的翻譯。接口模塊將被請求的數(shù)據(jù)文件存儲在發(fā)出請求的應(yīng)用程序可訪問的臨時目錄中。接口模塊進(jìn)一步生成或復(fù)制對應(yīng)于每個數(shù)據(jù)文件的數(shù)據(jù)文件名。這些數(shù)據(jù)文件名被發(fā)送到一個清除模塊,在此被放置到一個數(shù)據(jù)結(jié)構(gòu)中。清除模塊包括一個計時模塊,它為每個數(shù)據(jù)文件名生成時間戳。時間戳反映每個文件名的接收時間,并與它們對應(yīng)的文件名相關(guān)聯(lián)地存儲。清除模塊進(jìn)一步包括一個刪除模塊,它審查時間戳,以確定是否過去了一個預(yù)定的延時。在該延時過去時,刪除模塊生成從臨時文件刪除數(shù)據(jù)文件的命令。
文檔編號G06F17/30GK1555532SQ01814806
公開日2004年12月15日 申請日期2001年8月6日 優(yōu)先權(quán)日2000年8月30日
發(fā)明者L·恩古延, L 恩古延 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1