欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

臨時(shí)目錄管理的制作方法

文檔序號(hào):71343閱讀:282來源:國知局
專利名稱:臨時(shí)目錄管理的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體涉及對由提出請求的應(yīng)用程序作暫時(shí)訪問的諸如大型目標(biāo)二進(jìn)制文件的數(shù)據(jù)文件進(jìn)行管理。
背景技術(shù)
數(shù)據(jù)庫是計(jì)算機(jī)化的信息存儲(chǔ)和檢索系統(tǒng)。關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)是一種用關(guān)系技術(shù)(relational techniques)存儲(chǔ)和檢索數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)。關(guān)系數(shù)據(jù)庫被組織成有數(shù)據(jù)行和列的表格。數(shù)據(jù)庫一般包括許多表格,每個(gè)表格包括多個(gè)行和列。傳統(tǒng)上將這些表格存儲(chǔ)在諸如磁盤或光盤驅(qū)動(dòng)器的直接存取存儲(chǔ)設(shè)備(DASD)中,用于半永久地存儲(chǔ)。
用戶用結(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é)會(huì)(ANSI)和國際標(biāo)準(zhǔn)化組織(ISO)采納。
數(shù)據(jù)庫的一種通常應(yīng)用涉及到數(shù)據(jù)庫與因特網(wǎng)網(wǎng)絡(luò)瀏覽器的交互。在響應(yīng)網(wǎng)絡(luò)瀏覽器查詢時(shí),可能需要在網(wǎng)絡(luò)瀏覽器上創(chuàng)建一個(gè)表格。這就需要傳輸數(shù)據(jù)文件和對網(wǎng)絡(luò)瀏覽器上的表格進(jìn)行格式化。由于數(shù)據(jù)庫響應(yīng)SQL而網(wǎng)絡(luò)瀏覽器需要HTML格式,因此需要一個(gè)接口模塊才能在網(wǎng)絡(luò)瀏覽器與數(shù)據(jù)庫之間進(jìn)行交互。這種接口模塊的一個(gè)例子是位于美國紐約州Armonk的IBM公司提供的Net.Data。
Net.Data使因特網(wǎng)和內(nèi)部網(wǎng)能訪問各種平臺(tái)上的關(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提供與包括存儲(chǔ)在關(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)的性能,在對同一個(gè)網(wǎng)頁重復(fù)做出請求時(shí)尤其如此。盡管本發(fā)明適宜用于諸如Net.Data的接口模塊,但也可以將其它公共網(wǎng)關(guān)接口用于本發(fā)明。
可以駐留在服務(wù)器上的接口模塊從網(wǎng)絡(luò)瀏覽器接收一個(gè)查詢,把該查詢格式化為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í),接口模塊從數(shù)據(jù)庫檢索要在表格中包含的文件。像字符值這樣的小文件,可以被直接從數(shù)據(jù)庫中傳送,轉(zhuǎn)換成HTML格式,然后在瀏覽器上顯示。然而,諸如大型目標(biāo)二進(jìn)制文件(LOB)等大文件是難以直接傳送的。接口模塊的一個(gè)必要特征,如Net.Data中的那樣,是檢索LOB和把LOB合并成HTML格式的能力。LOB可以是圖像文件、視頻文件、聲頻文件、也可以是可執(zhí)行程序碼。LOB可以存儲(chǔ)在數(shù)據(jù)庫中,數(shù)據(jù)庫可以擴(kuò)展到一個(gè)或多個(gè)服務(wù)器。在訪問LOB時(shí),可以用一個(gè)數(shù)據(jù)鏈接(datalink)來指向LOB的實(shí)際位置。
不是把LOB直接傳送到網(wǎng)絡(luò)瀏覽器,而是將LOB存儲(chǔ)在一個(gè)一般稱作“tempblobs目錄”的臨時(shí)目錄中。把這稱作臨時(shí)目錄,是因?yàn)榕R時(shí)目錄必須以較短的持續(xù)時(shí)間存儲(chǔ)LOB,例如持續(xù)一個(gè)網(wǎng)絡(luò)會(huì)話期(web session)的時(shí)間。臨時(shí)目錄是個(gè)公共目錄,可駐留在服務(wù)器端并可由網(wǎng)絡(luò)服務(wù)器訪問。網(wǎng)絡(luò)瀏覽器只能察看網(wǎng)絡(luò)服務(wù)器向網(wǎng)絡(luò)瀏覽器公開的文件。因此,網(wǎng)絡(luò)瀏覽器不能訪問數(shù)據(jù)庫,而必須通過網(wǎng)絡(luò)服務(wù)器訪問公共目錄中的文件。將一個(gè)LOB的表示或鏈接包括在HTML文檔中。當(dāng)表格在網(wǎng)絡(luò)瀏覽器上被生成時(shí),網(wǎng)絡(luò)服務(wù)器從臨時(shí)目錄中檢索LOB。
為了適應(yīng)眾多的網(wǎng)絡(luò)瀏覽器,可能要同時(shí)運(yùn)行一個(gè)接口模塊的多個(gè)應(yīng)用程序。每個(gè)接口模塊可以存儲(chǔ)眾多的LOB,以滿足來自多個(gè)網(wǎng)絡(luò)瀏覽器的請求。在給定了潛在因特網(wǎng)使用量和LOB的大小后,即使有較大的存儲(chǔ)器設(shè)備,一個(gè)臨時(shí)目錄也會(huì)迅速裝滿。裝滿了的臨時(shí)目錄是不再能訪問的,并且會(huì)阻礙另外的LOB的檢索和使用。此外,因?yàn)榕R時(shí)目錄是公共目錄,電腦黑客可能能夠訪問在臨時(shí)目錄中存儲(chǔ)的時(shí)間超過合理時(shí)間的LOB。
需要定期刪除臨時(shí)目錄中的LOB,以釋放空間和降低非授權(quán)察看的機(jī)會(huì)。理想的情況是,不要?jiǎng)h除正在網(wǎng)絡(luò)瀏覽器上顯示的LOB。過早的刪除可以通過關(guān)閉網(wǎng)絡(luò)服務(wù)器而避免,但是這妨礙對網(wǎng)站的訪問和使用。網(wǎng)站必須是一直能被訪問的,以適應(yīng)大量的用戶并鼓勵(lì)對網(wǎng)站的使用。在有些情況下,即使是暫時(shí)關(guān)閉網(wǎng)站就會(huì)給用戶帶來破壞性的后果。
因此,提供用于為增加臨時(shí)目錄中的空間而自動(dòng)刪除LOB的系統(tǒng)和方法,將是本技術(shù)領(lǐng)域
中的一個(gè)進(jìn)步。
降低在不關(guān)閉網(wǎng)絡(luò)服務(wù)器的情況下刪除活動(dòng)的LOB的可能性,將是本技術(shù)領(lǐng)域
中的又一個(gè)進(jìn)步。

發(fā)明內(nèi)容
本發(fā)明提供一種用于管理從數(shù)據(jù)庫系統(tǒng)檢索的并在臨時(shí)目錄中存儲(chǔ)的、供提出請求的應(yīng)用程序使用的數(shù)據(jù)文件的方法,該方法包含生成與在臨時(shí)目錄中存儲(chǔ)的數(shù)據(jù)文件相對應(yīng)的數(shù)據(jù)文件名;將數(shù)據(jù)文件名存儲(chǔ)在一個(gè)數(shù)據(jù)結(jié)構(gòu)中;生成與數(shù)據(jù)文件名相對應(yīng)的時(shí)間戳并將時(shí)間戳存儲(chǔ)在該數(shù)據(jù)結(jié)構(gòu)中;審查時(shí)間戳以確定是否過去了一個(gè)預(yù)定的延時(shí);在該延時(shí)過去時(shí),生成將數(shù)據(jù)文件從臨時(shí)目錄中刪除的命令。
另一方面,本發(fā)明提供一種用于管理從數(shù)據(jù)庫系統(tǒng)檢索的并存儲(chǔ)在臨時(shí)目錄中供提出請求的應(yīng)用程序使用的數(shù)據(jù)文件的系統(tǒng),該系統(tǒng)包含一個(gè)接口模塊,被配置成在臨時(shí)目錄中存儲(chǔ)數(shù)據(jù)文件并生成對應(yīng)于每個(gè)數(shù)據(jù)文件的數(shù)據(jù)文件名;一個(gè)清除模塊,被配置成從接口模塊接收數(shù)據(jù)文件名并將數(shù)據(jù)文件名放置到一個(gè)數(shù)據(jù)結(jié)構(gòu)中,清除模塊包括一個(gè)計(jì)時(shí)模塊,計(jì)時(shí)模塊被設(shè)置成生成對應(yīng)于每個(gè)數(shù)據(jù)文件名并反映每個(gè)文件名的接收時(shí)間的時(shí)間戳,清除模塊還包括一個(gè)刪除模塊,刪除模塊被配置成去審查時(shí)間戳,并在預(yù)定的延時(shí)過去時(shí),生成用于從臨時(shí)文件刪除數(shù)據(jù)文件的命令。
本發(fā)明的一個(gè)實(shí)施例監(jiān)視LOB或其它類型的數(shù)據(jù)文件在臨時(shí)、公共目錄中存儲(chǔ)的時(shí)間量。本發(fā)明包括一個(gè)被配置用來在臨時(shí)目錄中存儲(chǔ)數(shù)據(jù)文件的接口模塊。這些數(shù)據(jù)文件是被諸如網(wǎng)絡(luò)瀏覽器的發(fā)出請求的應(yīng)用所請求的那些數(shù)據(jù)文件。接口模塊提供在數(shù)據(jù)庫檢索語言與網(wǎng)絡(luò)瀏覽器格式語言之間的翻譯。
接口模塊進(jìn)一步生成或復(fù)制對應(yīng)于每個(gè)數(shù)據(jù)文件的數(shù)據(jù)文件名。這些數(shù)據(jù)文件名被發(fā)送到一個(gè)被配置用來接收數(shù)據(jù)文件名的清除模塊(clean module)。將這些數(shù)據(jù)文件名放置到一個(gè)數(shù)據(jù)結(jié)構(gòu)中。清除模塊包括一個(gè)計(jì)時(shí)模塊,用于為每個(gè)數(shù)據(jù)文件名生成時(shí)間戳。時(shí)間戳反映每個(gè)文件名的接收時(shí)間,是與它們對應(yīng)的文件名相關(guān)聯(lián)地存儲(chǔ)的。可以將數(shù)據(jù)文件名按時(shí)間順序存儲(chǔ)。
清除模塊進(jìn)一步包括一個(gè)刪除模塊,它審查時(shí)間戳,以確定是否過去了一個(gè)預(yù)定的延時(shí)。在該延時(shí)過去時(shí),刪除模塊生成一個(gè)用于從公共目錄刪除相應(yīng)的數(shù)據(jù)文件的命令。只有那些被接口模塊處理過的數(shù)據(jù)文件才會(huì)被刪除。



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