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

透明地存檔的制作方法

文檔序號(hào):6504985閱讀:183來(lái)源:國(guó)知局

專利名稱::透明地存檔的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種技術(shù),特別是涉及一種用于透明地進(jìn)行存檔(archiving)的方法、設(shè)備和用于實(shí)現(xiàn)所述方法的制造產(chǎn)品。技術(shù)背景數(shù)據(jù)庫(kù)管理系統(tǒng)使用戶能夠迅速且便利地訪問(wèn)數(shù)據(jù)。在數(shù)據(jù)庫(kù)管理系統(tǒng)中,把數(shù)據(jù)存儲(chǔ)在表格中。所述表格通常被物理地存儲(chǔ)在硬盤驅(qū)動(dòng)器上,以便可以迅速地訪問(wèn)數(shù)據(jù)。圖l描繪了數(shù)據(jù)庫(kù)管理系統(tǒng)的示例性數(shù)據(jù)庫(kù)表10。表10具有用于存儲(chǔ)數(shù)據(jù)的行12和列14。一行12也被稱為一個(gè)記錄。檔案文件(archive)存儲(chǔ)裝置也用于存儲(chǔ)數(shù)據(jù)。檔案文件存儲(chǔ)系統(tǒng)的存儲(chǔ)裝置通常比硬盤驅(qū)動(dòng)器更為緩慢且價(jià)格更為低廉。隨著數(shù)據(jù)庫(kù)的增長(zhǎng),即隨著記錄被添加到數(shù)據(jù)庫(kù)的表中,數(shù)據(jù)量可能變得太大以致于無(wú)法在單個(gè)數(shù)據(jù)庫(kù)中方便地進(jìn)行管理,這使得用戶響應(yīng)時(shí)間和系統(tǒng)性能變差了。另外,許多數(shù)據(jù)可能再也不需要被訪問(wèn);然而,需要保留這些數(shù)據(jù)。因此,通常把部分?jǐn)?shù)據(jù)從數(shù)據(jù)庫(kù)上刪除并且移到檔案文件存儲(chǔ)裝置中。在金融部門中,諸如交易專根之類的應(yīng)用收集了數(shù)據(jù)庫(kù)中的大量數(shù)據(jù)。各種政府規(guī)章命令必須在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)保留這些數(shù)據(jù)。在這些應(yīng)用中,常常會(huì)參考最近的數(shù)據(jù);偶而或許再也不會(huì)參考較陳舊的數(shù)據(jù)。隨著數(shù)據(jù)量的增長(zhǎng),較陳舊的數(shù)據(jù)被存檔,以便使數(shù)據(jù)庫(kù)保持較小且易于管理,提供更好的響應(yīng)時(shí)間,并且使諸如備份之類的實(shí)用程序能夠運(yùn)行得更快。檔案文件存儲(chǔ)裝置與其它類型的存儲(chǔ)裝置相比通常在維護(hù)上成本較低,這也是鼓勵(lì)進(jìn)行存檔的一個(gè)原因。通常由系統(tǒng)管理員手動(dòng)地執(zhí)行用于存檔以及從檔案文件存儲(chǔ)裝置中檢索數(shù)據(jù)(特別是從關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中檢索相關(guān)數(shù)據(jù))的過(guò)程。當(dāng)檢索所存檔的數(shù)據(jù)時(shí),找到所想要的存檔數(shù)據(jù)常常是一個(gè)挑戰(zhàn),這要求人工干預(yù)以及分別搜索檔案文件介質(zhì)。因此,用戶不能在單個(gè)請(qǐng)求中訪問(wèn)存檔數(shù)據(jù)和未存檔數(shù)據(jù)的組合,并且不能向用戶提供存檔和未存檔(或有效(live))的數(shù)據(jù)的組合表示。因此,需要一種使用戶能夠透明地進(jìn)行存檔并且訪問(wèn)所存檔的數(shù)據(jù)的方法、設(shè)備和制造產(chǎn)品。另外,所述方法還應(yīng)當(dāng)使用戶能夠相對(duì)于有效數(shù)據(jù)使用單個(gè)查詢來(lái)組合存檔和未存檔(或有效)的數(shù)據(jù)。
發(fā)明內(nèi)容為了克服上述現(xiàn)有技術(shù)中的限制,并且為了克服在閱讀并理解本說(shuō)明書(shū)時(shí)會(huì)變得清楚的其它限制,本發(fā)明提供了一種用于透明地存檔的方法、設(shè)備和制造產(chǎn)品。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,一個(gè)或多個(gè)數(shù)據(jù)源存儲(chǔ)數(shù)據(jù)。第一數(shù)據(jù)移動(dòng)器(mover)依照第一規(guī)則集把第一數(shù)據(jù)子集從一個(gè)或多個(gè)第一數(shù)據(jù)源移動(dòng)到第一聯(lián)合(federated)檔案文件。在本發(fā)明的另一方面中,第一數(shù)據(jù)移動(dòng)器依照第一規(guī)則集把數(shù)據(jù)移動(dòng)到多個(gè)聯(lián)合檔案文件。在本發(fā)明的又一方面中,把第二聯(lián)合檔案文件耦合到第一聯(lián)合檔案文件,第一數(shù)據(jù)移動(dòng)器把第一數(shù)據(jù)子集移動(dòng)到所述第二聯(lián)合檔案文件。第二數(shù)據(jù)移動(dòng)器依照第二規(guī)則集把至少一部分的第一數(shù)據(jù)子集移動(dòng)到第二聯(lián)合檔案文件。在本發(fā)明的另一方面中,對(duì)查詢進(jìn)行處理,以便檢索第二數(shù)據(jù)子集。從第一聯(lián)合檔案文件中檢索第二數(shù)據(jù)子集的第一部分。在本發(fā)明的又一方面中,使用視圖(view)來(lái)處理查詢。作為選擇,通過(guò)調(diào)用表函數(shù)來(lái)處理所述查詢。在本發(fā)明的另一替換方面中,依照至少一個(gè)配置參數(shù)來(lái)處理所述查詢。在本發(fā)明的又一替換方面中,根據(jù)元數(shù)據(jù)來(lái)處理所述查詢,以便確定第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中。依照這種方式,可以在聯(lián)合環(huán)境中透明地進(jìn)4亍存檔,并且可以從聯(lián)合檔案文件存儲(chǔ)裝置中透明地檢索所存檔的數(shù)據(jù)。通過(guò)結(jié)合附圖考慮以下的詳細(xì)描述,可以容易地理解本發(fā)明的教導(dǎo),其中圖l描繪了依照現(xiàn)有技術(shù)的示例性表格;圖2描繪了用于把數(shù)據(jù)從數(shù)據(jù)庫(kù)移動(dòng)到檔案文件并且訪問(wèn)該數(shù)據(jù)就好像它仍然存在于已經(jīng)從中將其移除的所述數(shù)據(jù)庫(kù)中一樣的技術(shù)的實(shí)施例的高級(jí)流程圖;圖3描繪了使用本發(fā)明中的教導(dǎo)的說(shuō)明性計(jì)算機(jī)系統(tǒng);圖4描繪了聯(lián)合檔案文件關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的第一實(shí)施例;圖5描繪了用于創(chuàng)建檔案文件存儲(chǔ)系統(tǒng)的綽號(hào)(nickname)并且進(jìn)行查詢的實(shí)施例的流程圖;圖6描繪了用于創(chuàng)建視圖以訪問(wèn)在檔案文件存儲(chǔ)系統(tǒng)中所存儲(chǔ)數(shù)據(jù)的實(shí)施例的流程圖;圖7描繪了用于使用SQL語(yǔ)言的擴(kuò)展來(lái)進(jìn)行查詢的實(shí)施例的流程圖;圖8描繪了使用表函數(shù)來(lái)進(jìn)行查詢的實(shí)施例的流程圖;圖9描繪了用于進(jìn)行查詢的實(shí)施例的流程圖,其中對(duì)包括所存檔數(shù)據(jù)的判定由至少一個(gè)配置參數(shù)來(lái)控制;圖IO描繪了由查詢處理器根據(jù)元數(shù)據(jù)來(lái)透明地查詢聯(lián)合檔案文件的技術(shù)的實(shí)施例的流程圖;圖11描繪了由數(shù)據(jù)移動(dòng)器用來(lái)移動(dòng)數(shù)據(jù)的技術(shù)的實(shí)施例的流程圖;圖12描繪了由數(shù)據(jù)移動(dòng)器用來(lái)移動(dòng)數(shù)據(jù)的另一種技術(shù)的實(shí)施例的流程圖;圖13描繪了包含示例性的存檔規(guī)則的表;圖14描繪了級(jí)聯(lián)的聯(lián)合檔案文件關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)施例;和圖15描繪了在異構(gòu)型環(huán)境中具有第一和第二檔案文件存儲(chǔ)系統(tǒng)的聯(lián)合檔案文件關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)施例。為了便于理解,在可能的情況下,使用了相同的附圖標(biāo)記來(lái)表示某些附圖所共用的相同元件。具體實(shí)施方式在考慮了以下描述之后,那些本領(lǐng)域技術(shù)人員將會(huì)清楚地認(rèn)識(shí)到,可以利用本發(fā)明的教導(dǎo)來(lái)透明地存檔數(shù)據(jù)。一個(gè)或多個(gè)數(shù)據(jù)源存儲(chǔ)數(shù)據(jù)。第一數(shù)據(jù)移動(dòng)器依照第一規(guī)則集把第一數(shù)據(jù)子集從一個(gè)或多個(gè)數(shù)據(jù)源移動(dòng)到第一聯(lián)合檔案文件。圖2描繪了本發(fā)明的技術(shù)的實(shí)施例的高級(jí)流程圖。在步驟22,依照規(guī)則集把數(shù)據(jù)子集從數(shù)據(jù)源透明地移動(dòng)到聯(lián)合檔案文件。在步驟24,訪問(wèn)在聯(lián)合檔案文件中的數(shù)據(jù)子集的一部分,就好像該數(shù)據(jù)被存儲(chǔ)在數(shù)據(jù)源中一樣。在一個(gè)更具體的實(shí)施例中,依照規(guī)則集把數(shù)據(jù)從本地?cái)?shù)據(jù)庫(kù)管理系統(tǒng)移動(dòng)到聯(lián)合檔案文件。因?yàn)橛脩舨恢罃?shù)據(jù)正被存檔,所以移動(dòng)操作是透明的。相對(duì)于本地?cái)?shù)據(jù)庫(kù)管理系統(tǒng)中的數(shù)據(jù)進(jìn)行查詢,這使得能夠?qū)n案文件聯(lián)合。將來(lái)自聯(lián)合檔案文件和本地?cái)?shù)據(jù)庫(kù)管理系統(tǒng)中的滿足所述查詢的數(shù)據(jù)聚集起來(lái)(aggregate),以提供聚集的結(jié)果。查詢返回所聚集的結(jié)果,所以用戶不知道所存檔的數(shù)據(jù)被檢索了。圖3描繪了利用本發(fā)明的教導(dǎo)的說(shuō)明性計(jì)算機(jī)系統(tǒng)30。計(jì)算機(jī)系統(tǒng)30包括處理器32、顯示器34、輸入接口(I/F)36、通信接口38、存儲(chǔ)器40、諸如硬盤驅(qū)動(dòng)器44和光盤驅(qū)動(dòng)器46之類的盤存儲(chǔ)器42和輸出接口48,所有這些單元通常由一條或多條總線50耦合。輸入接口36包括鍵盤52和鼠標(biāo)54。輸出接口是打印機(jī)56。通信接口38是網(wǎng)絡(luò)接口卡(NIC),其使得計(jì)算機(jī)30能夠經(jīng)由例如因特網(wǎng)之類的網(wǎng)絡(luò)進(jìn)行通信。通信接口30可以被耦合到諸如雙絞線、同軸電纜或光纖之類的傳輸介質(zhì)。在另一示例性實(shí)施例中,通信接口提供了無(wú)線接口。存儲(chǔ)器40通常包括不同的形態(tài)(modality),其說(shuō)明性地是半導(dǎo)體存儲(chǔ)器,諸如隨機(jī)存取存儲(chǔ)器(RAM)和盤驅(qū)動(dòng)器。存儲(chǔ)器40存儲(chǔ)操作系統(tǒng)56、一個(gè)或多個(gè)應(yīng)用程序58和聯(lián)合檔案文件關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)60。操作系統(tǒng)56可以由任何常規(guī)的操作系統(tǒng)來(lái)實(shí)現(xiàn),諸如z/OS⑧(國(guó)際商業(yè)機(jī)器公司的注冊(cè)商標(biāo))、AIX⑧(國(guó)際商業(yè)機(jī)器公司的注冊(cè)商標(biāo))、UNIX(UNIX是通過(guò)X/Open有限公司許可的在美國(guó)及其它國(guó)家中的注冊(cè)商標(biāo))、WINDOWS(微軟公司的注冊(cè)商標(biāo))和LINUX(LinusTorvalds的注冊(cè)商標(biāo))。聯(lián)合檔案文件RDBMS60使用戶能夠執(zhí)行用于向儲(chǔ)存庫(kù)中分配數(shù)據(jù)、從儲(chǔ)存庫(kù)中刪除數(shù)據(jù)或查詢?cè)趦?chǔ)存庫(kù)中所存儲(chǔ)的數(shù)據(jù)的命令。在一個(gè)實(shí)施例中,所述命令是符合由美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(AmericanNationalStandardsInstitute,ANSI)或國(guó)際標(biāo)準(zhǔn)化組織(InternationalStandardsOrganization,ISO)所公布的結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage,SQL)標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語(yǔ)言(SQL)語(yǔ)句。在替換實(shí)施例中,可以使用除SQL之外的語(yǔ)言。通常,使用SQLSELECT語(yǔ)句來(lái)查詢儲(chǔ)存庫(kù),并且使用SQLINSERT或UPDATE語(yǔ)句來(lái)把數(shù)據(jù)分配到儲(chǔ)存庫(kù)。在一個(gè)更具體的實(shí)施例中,使用某些IBM082@信息整合器(InformationIntegrator)(IBM和DB2是國(guó)際商業(yè)機(jī)器公司的注冊(cè)商標(biāo))功能來(lái)至少部分地實(shí)現(xiàn)聯(lián)合檔案文件RDBMS60。無(wú)論如何,都不打算將本發(fā)明的技術(shù)局限于使用IBMDB2⑧信息整合器來(lái)實(shí)現(xiàn),并且可以用具有聯(lián)合能力的其它關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)實(shí)現(xiàn)。例如,作為選擇,聯(lián)合檔案文件RDBMS是XML庫(kù)(store)。在存儲(chǔ)器40中,操作系統(tǒng)56、應(yīng)用58和聯(lián)合檔案文件RDBMS60包含指令和數(shù)據(jù)。把用于實(shí)現(xiàn)本發(fā)明的特定軟件指令并入到聯(lián)合檔案文件RDBMS60中。通常,聯(lián)合檔案文件RDBMS60軟件可以被有形地包含在計(jì)算機(jī)可讀介質(zhì)、例如存儲(chǔ)器40或更具體地說(shuō)包含在盤驅(qū)動(dòng)器42之一中,并且包含指令,所述指令在由處理器32執(zhí)行時(shí)使計(jì)算機(jī)系統(tǒng)30利用本發(fā)明。在一個(gè)實(shí)施例中,存儲(chǔ)器40可以把部分的軟件指令和數(shù)據(jù)存儲(chǔ)在半導(dǎo)體存儲(chǔ)器中,而把其它部分的軟件指令和數(shù)據(jù)存儲(chǔ)在盤存儲(chǔ)器中。取決于實(shí)施例,存儲(chǔ)器40存儲(chǔ)以下各種數(shù)據(jù)操作系統(tǒng)56;應(yīng)用58;聯(lián)合檔案文件RDBMS60,其中取決于該實(shí)施例,所述聯(lián)合檔案文件RDBMS60包括以下各項(xiàng)的各種組合本地?cái)?shù)據(jù)庫(kù)管理系統(tǒng)(本地?cái)?shù)據(jù)庫(kù))62,其提供了用于存儲(chǔ)本地表并且可由聯(lián)合檔案文件RDBMS直接訪問(wèn)的有效數(shù)據(jù)庫(kù);查詢處理器64,用于接收SQL語(yǔ)句、分析所述SQL語(yǔ)句并且確定用來(lái)訪問(wèn)數(shù)據(jù)的適當(dāng)執(zhí)行計(jì)劃;包裝器(wrapper)66,用于向各自的檔案文件存儲(chǔ)系統(tǒng)提供接口,其包括用于向第一檔案文件存儲(chǔ)系統(tǒng)提供接口的第一包裝器68,并且在另一實(shí)施例中,還包括用于向第二檔案文件存儲(chǔ)系統(tǒng)提供第二接口的第二包裝器70,在其它實(shí)施例中,附加的包裝器向各自的外部數(shù)據(jù)庫(kù)管理系統(tǒng)、文件系統(tǒng)或應(yīng)用提供接口;一個(gè)或多個(gè)綽號(hào)72,像本地?cái)?shù)據(jù)庫(kù)62中的本地表那樣使用,并且映射到檔案文件對(duì)象,并且用來(lái)引用所述檔案文件對(duì)象;在其中檔案文件存儲(chǔ)裝置是另一關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)實(shí)施例中,綽號(hào)映射到遠(yuǎn)程表;服務(wù)器對(duì)象74,用于識(shí)別具有檔案文件存儲(chǔ)系統(tǒng)的檔案文件服務(wù)器;視圖(一個(gè)或多個(gè))76,用于聚集來(lái)自至少一個(gè)聯(lián)合檔案文件和本地?cái)?shù)據(jù)庫(kù)62的數(shù)據(jù);數(shù)據(jù)移動(dòng)器80,用于把數(shù)據(jù)從本地?cái)?shù)據(jù)庫(kù)62移動(dòng)到聯(lián)合檔案文件存儲(chǔ)系統(tǒng);元數(shù)據(jù)82,用于存儲(chǔ)由聯(lián)合檔案文件RDBMS所使用的信息,其包括存檔規(guī)則集84、配置信息86以及監(jiān)控、審核(auditing)&統(tǒng)計(jì)信息88;表函數(shù)(一個(gè)或多個(gè))90,在某些實(shí)施例中,其用來(lái)從檔案文件存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù);數(shù)據(jù)庫(kù)配置參數(shù)和注冊(cè)表變量(一個(gè)或多個(gè))92,用于至少部分地規(guī)定聯(lián)合檔案文件RDBMS的行為;和管理工具94,由系統(tǒng)管理員用來(lái)配置聯(lián)合檔案文件RDBMS。可以使用用于生成軟件、固件、硬件或其任何組合的標(biāo)準(zhǔn)編程和/或工程技術(shù)來(lái)把本發(fā)明實(shí)現(xiàn)為方法、設(shè)備或制造產(chǎn)品。這里所用的術(shù)語(yǔ)"制造產(chǎn)品"(或者作為替換,"計(jì)算機(jī)程序產(chǎn)品")意在包含可從任何計(jì)算機(jī)可讀設(shè)備、載體或介質(zhì)訪問(wèn)的計(jì)算機(jī)程序。那些本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,在不脫離本發(fā)明的范圍的情況下可以對(duì)此配置進(jìn)行許多修改。那些本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)認(rèn)識(shí)到,在圖3中所示的示例性計(jì)算機(jī)系統(tǒng)并不是意在限制本發(fā)明。在不脫離本發(fā)明的范圍的情況下可以使用其它替換的硬件環(huán)境。圖4描繪了提供聯(lián)合檔案文件存儲(chǔ)裝置的聯(lián)合檔案文件RDBMS60的第一實(shí)施例。本地?cái)?shù)據(jù)庫(kù)62可以從聯(lián)合檔案文件RDBMS60直接訪問(wèn),并且不使用綽號(hào)或包裝器。例如,冬地?cái)?shù)據(jù)庫(kù)62可以用于聯(lián)機(jī)事務(wù)處理(OnlineTransactionProcessing)。聯(lián)合檔案文件RDBMS60包括查詢處理器64、數(shù)據(jù)移動(dòng)器80、元數(shù)據(jù)82、綽號(hào)(一個(gè)或多個(gè))72、檔案文件包裝器68和服務(wù)器對(duì)象102。服務(wù)器對(duì)象102是用于表示一個(gè)遠(yuǎn)程數(shù)據(jù)儲(chǔ)存庫(kù)的對(duì)象,諸如其可以是另一RDBMS的檔案文件服務(wù)器104。服務(wù)器對(duì)象102還提供了綽號(hào)(一個(gè)或多個(gè))72的命名范圍。檔案文件包裝器68在聯(lián)合檔案文件RDBMS60和檔案文件服務(wù)器104之間提供了一個(gè)接口。通常,檔案文件服務(wù)器104與聯(lián)合檔案文件RDBMS60是遠(yuǎn)離的。查詢處理器64處理來(lái)自應(yīng)用58、數(shù)據(jù)移動(dòng)器80和管理工具94的查詢。在一個(gè)實(shí)施例中,查詢是SQL語(yǔ)句。查詢處理器64直接訪問(wèn)本地?cái)?shù)據(jù)庫(kù)62中的表。查詢處理器64使用綽號(hào)(一個(gè)或多個(gè))74來(lái)訪問(wèn)檔案文件存儲(chǔ)裝置。查詢處理器64還訪問(wèn)元數(shù)據(jù)82,以確定數(shù)據(jù)是否被存儲(chǔ)在檔案文件服務(wù)器104中。在其中元數(shù)據(jù)82被存儲(chǔ)在數(shù)據(jù)庫(kù)表中的一個(gè)實(shí)施例中,查詢處理器64接收來(lái)自數(shù)據(jù)移動(dòng)器80和管理工具94的請(qǐng)求訪問(wèn)所述元數(shù)據(jù)82的請(qǐng)求。數(shù)據(jù)移動(dòng)器80依照在元數(shù)據(jù)82中所指定的存檔規(guī)則,使數(shù)據(jù)從諸如本地?cái)?shù)據(jù)庫(kù)62之類的數(shù)據(jù)源移動(dòng)到檔案文件服務(wù)器104。在一個(gè)實(shí)施例中,數(shù)據(jù)移動(dòng)器80依照所述規(guī)則產(chǎn)生用于移動(dòng)數(shù)據(jù)的SQL語(yǔ)句,并且把所述SQL語(yǔ)句傳遞到查詢處理器64用于執(zhí)行。在另一實(shí)施例中,元數(shù)據(jù)82被存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)62中的至少一個(gè)數(shù)據(jù)庫(kù)表中。在此實(shí)施例中,數(shù)據(jù)移動(dòng)器80還經(jīng)由查詢處理器使用SQL語(yǔ)句來(lái)訪問(wèn)元數(shù)據(jù)82。作為選擇,當(dāng)元數(shù)據(jù)82被存儲(chǔ)在陣列或文件中而不是被存儲(chǔ)在數(shù)據(jù)庫(kù)表中時(shí),數(shù)據(jù)移動(dòng)器80直接訪問(wèn)所述元數(shù)據(jù)82。在另一實(shí)施例中,元數(shù)據(jù)82包括數(shù)據(jù)庫(kù)表(一個(gè)或多個(gè))、陣列(一個(gè)或多個(gè))、文件(一個(gè)或多個(gè))和配置參數(shù)(一個(gè)或多個(gè))中的一個(gè)或其任何組合。還參照?qǐng)D3,元數(shù)據(jù)82包括規(guī)則集84、配置信息86以及監(jiān)控、審核和統(tǒng)計(jì)信息88。在任何給定時(shí)間,元數(shù)據(jù)統(tǒng)計(jì)信息都反映了存在存檔規(guī)則的數(shù)據(jù)的位置。在一個(gè)實(shí)施例中,數(shù)據(jù)移動(dòng)器80通過(guò)直接更新RDBMS目錄,來(lái)在每次數(shù)據(jù)移動(dòng)之后更新元數(shù)據(jù)統(tǒng)計(jì)信息。在某些實(shí)施例中,查詢處理器64訪問(wèn)元數(shù)據(jù)82,以確定是否有滿足查詢的參數(shù)的任何數(shù)據(jù)被存儲(chǔ)在檔案文件服務(wù)器104中,并且確定所述數(shù)據(jù)的位置。規(guī)則規(guī)定了要存檔什么以及何時(shí)把數(shù)據(jù)移動(dòng)到檔案文件存儲(chǔ)系統(tǒng)。例如,規(guī)則可以涉及商業(yè)銷售的完成日期或從"打開(kāi)"改變到"已完成"的訂單狀態(tài)。據(jù)此移動(dòng)對(duì)應(yīng)于這些商業(yè)對(duì)象、"銷售,,和"訂單"的數(shù)據(jù)庫(kù)行。例如,把ORDER表中的對(duì)于列"狀態(tài)"具有值"已完成"的行移動(dòng)到檔案文件存儲(chǔ)裝置。在另一例子中,規(guī)則可以規(guī)定根據(jù)在商業(yè)對(duì)象的一個(gè)基礎(chǔ)表中的時(shí)間戳列,諸如包含完成銷售的數(shù)據(jù)的列,在九十天之后把數(shù)據(jù)移動(dòng)到檔案文件存儲(chǔ)裝置。在又一例子中,聯(lián)合檔案文件RDBMS向本地?cái)?shù)據(jù)庫(kù)應(yīng)用以下保留(retention)規(guī)則每個(gè)午夜,移動(dòng)在90天以前結(jié)束的所有ORDERS。除數(shù)據(jù)移動(dòng)準(zhǔn)則之外,以上規(guī)則還規(guī)定了調(diào)度信息,即何時(shí)移動(dòng)數(shù)據(jù)。每個(gè)午夜,數(shù)據(jù)移動(dòng)器把本地?cái)?shù)據(jù)庫(kù)中的在當(dāng)前日期的九十天前結(jié)束的ORDER表中的數(shù)據(jù)移動(dòng)到聯(lián)合檔案文件存儲(chǔ)系統(tǒng)。在管理控制臺(tái)106處的系統(tǒng)管理員使用管理工具94來(lái)配置元數(shù)據(jù)82以便進(jìn)行聯(lián)合存檔。使用管理工具94來(lái)規(guī)定用于存檔數(shù)據(jù)和配置參數(shù)(如果有的話)的規(guī)則。在一個(gè)實(shí)施例中,當(dāng)元數(shù)據(jù)82被存儲(chǔ)在數(shù)據(jù)庫(kù)表中時(shí),管理工具104產(chǎn)生用于訪問(wèn)元數(shù)據(jù)82的查詢,并且向查詢處理器64發(fā)送該查詢用于執(zhí)行。在替換實(shí)施例中,當(dāng)元數(shù)據(jù)82或部分元數(shù)據(jù)沒(méi)有被存儲(chǔ)在數(shù)據(jù)庫(kù)表中時(shí),管理工具84直接地而不是通過(guò)使用查詢處理器64來(lái)訪問(wèn)所述元數(shù)據(jù)82。檔案文件服務(wù)器104包括檔案文件存儲(chǔ)系統(tǒng)108,并且與檔案文件包裝器68通信,以便向檔案文件數(shù)據(jù)庫(kù)表(一個(gè)或多個(gè))IIO寫(xiě)入數(shù)據(jù)并且從中檢索數(shù)據(jù)。在一個(gè)實(shí)施例中,檔案文件存儲(chǔ)系統(tǒng)108是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。在另一實(shí)施例中,檔案文件存儲(chǔ)系統(tǒng)是不相關(guān)數(shù)據(jù)存儲(chǔ)系統(tǒng)。檔案文件存儲(chǔ)系統(tǒng)108包括例如CDROM之類的光學(xué)存儲(chǔ)裝置、磁帶存儲(chǔ)裝置、硬盤、分級(jí)存儲(chǔ)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)中的任何一個(gè)或其組合。在另一更具體的實(shí)施例中,檔案文件存儲(chǔ)系統(tǒng)是IBMTivoli存儲(chǔ)管理器(StorageManager)。因?yàn)闄n案文件存儲(chǔ)系統(tǒng)108被聯(lián)合到所述聯(lián)合檔案文件RDBMS60中,所以檔案文件存儲(chǔ)系統(tǒng)中的數(shù)據(jù)可經(jīng)由數(shù)據(jù)庫(kù)聯(lián)合來(lái)訪問(wèn),所述數(shù)據(jù)庫(kù)聯(lián)合使所存檔的數(shù)據(jù)看起來(lái)好像該數(shù)據(jù)仍然存在于本地?cái)?shù)據(jù)庫(kù)中一樣。聯(lián)合檔案文件RDBMS透明地判定是否訪問(wèn)所存檔的數(shù)據(jù)??梢允褂肧QL語(yǔ)句來(lái)訪問(wèn)數(shù)據(jù);并且單個(gè)SQL語(yǔ)句可以聚集來(lái)自檔案文件存儲(chǔ)系統(tǒng)108和本地?cái)?shù)據(jù)庫(kù)62的數(shù)據(jù)。下面將進(jìn)一步地詳細(xì)描述聯(lián)合檔案文件RDBMS的組成部分。現(xiàn)在將描述查詢語(yǔ)義。查詢語(yǔ)義由查詢處理器處理來(lái)自應(yīng)用的查詢。在某些實(shí)施例中,查詢處理器還處理來(lái)自數(shù)據(jù)移動(dòng)器和管理工具的查詢。查詢處理器具有用于接收來(lái)自應(yīng)用的查詢(以及在某些實(shí)施例中,還接收來(lái)自數(shù)據(jù)移動(dòng)器和管理工具的查詢)的查詢接口。在一個(gè)實(shí)施例中,查詢接口包括一個(gè)或多個(gè)SQL語(yǔ)句。在替換實(shí)施例中,查詢接口使用可擴(kuò)展標(biāo)記語(yǔ)言(XML)?,F(xiàn)在將描述用于實(shí)現(xiàn)查詢處理器的不同實(shí)施例,其中所述查詢處理器用于聯(lián)合存檔以便支持SQL查詢接口。可以使用以下中的至少一個(gè)或其組合來(lái)實(shí)現(xiàn)查詢接口1.在綽號(hào)上的視圖(viewsovernicknames);2.表函數(shù);3.系統(tǒng)配置參數(shù)(一個(gè)或多個(gè));4.用于規(guī)定時(shí)間范圍的SQL語(yǔ)言擴(kuò)展部分;和5.查詢處理器確定是否依照存檔規(guī)則集來(lái)訪問(wèn)聯(lián)合檔案文件。在某些其它的實(shí)施例中,還提供了對(duì)于查詢處理器的命令行和圖形查詢接口以便檢索數(shù)據(jù)。命令行和圖形查詢接口在上面所列出的SQL查詢接口的實(shí)施例上進(jìn)行操作。以上的某些實(shí)施例允許應(yīng)用指定用于檢索數(shù)據(jù)的時(shí)間間隔。在上面的替換實(shí)施例(2)和(4)中,查詢指定了時(shí)間間隔,并且下面將對(duì)其進(jìn)行進(jìn)一步詳細(xì)描述。為了避免在應(yīng)用中修改查詢,在實(shí)施例(3)中,使用配置參數(shù)來(lái)確定怎樣對(duì)查詢進(jìn)行聯(lián)合;并且在實(shí)施例(5)中,查詢處理器的另一實(shí)施例自動(dòng)確定是否依照存檔規(guī)則集來(lái)訪問(wèn)聯(lián)合檔案文件。不同的查詢接口可以一起操作??梢越Y(jié)合其它查詢接口一起使用每個(gè)查詢接口。例如,配置參數(shù)(3)可以和表函數(shù)(2)和SQL擴(kuò)展(4)一起使用。在綽號(hào)上的視圖(1)可以與SQL擴(kuò)展(4)以及查詢處理器確定是否訪問(wèn)聯(lián)合檔案文件(5),—起使用。聯(lián)合檔案文件RDBMS使得能夠精細(xì)地指定存檔哪些數(shù)據(jù)對(duì)象。一個(gè)數(shù)據(jù)對(duì)象對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的一行或一組相關(guān)行。在某些實(shí)施例中,存檔規(guī)則識(shí)別在這些行之間的關(guān)系。在一個(gè)實(shí)施例中,可以存檔的最小數(shù)據(jù)庫(kù)元素是包括關(guān)鍵詞的一行的子集。例如,雇員記錄包含姓名、標(biāo)識(shí)符、年齡和薪水各列。聯(lián)合檔案文件存儲(chǔ)標(biāo)識(shí)符和薪水的值,并且把其它列存儲(chǔ)為空(NULL)值。當(dāng)存檔一行時(shí),從數(shù)據(jù)源中刪除該行。下面描述了怎樣使用示例性的RDBMS、IBMDB2信息整合器來(lái)提供聯(lián)合。然而,本發(fā)明并不意味著局限于IBMDB2信息整合器,并且可以使用提供聯(lián)合能力的其它RDBMS。在下面的描述中,示例性的檔案文件存儲(chǔ)系統(tǒng)是另一關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。圖5描繪了用于創(chuàng)建檔案文件系統(tǒng)的綽號(hào)并且執(zhí)行查詢的實(shí)施例的流程圖。在步驟120,創(chuàng)建服務(wù)器映射。特別地是,在本地?cái)?shù)據(jù)庫(kù)中創(chuàng)建服務(wù)器對(duì)象。在步驟122,創(chuàng)建檔案文件對(duì)象到本地關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中的本地模式(schema)和綽號(hào)的映射。在給定了用于在本地?cái)?shù)據(jù)庫(kù)中指定特定表的存檔規(guī)則的情況下,聯(lián)合檔案文件RDBMS在檔案文件存儲(chǔ)系統(tǒng)中創(chuàng)建具有與該特定表兼容的結(jié)構(gòu)的表或重新使用該表。綽號(hào)被映射到檔案文件存儲(chǔ)系統(tǒng)中的數(shù)據(jù)庫(kù)表,該數(shù)據(jù)庫(kù)表用于進(jìn)行存檔。在替換實(shí)施例中,綽號(hào)映射到其它數(shù)據(jù)對(duì)象,諸如文件存儲(chǔ)系統(tǒng)中的文件、電子表格文件、平面文件、XML文檔或不相關(guān)的檔案文件,該其它數(shù)據(jù)對(duì)象可以被用作為檔案文件的數(shù)據(jù)源或者被用作為檔案文件。在步驟124,使用綽號(hào)來(lái)訪問(wèn)檔案文件存儲(chǔ)系統(tǒng)中的表?,F(xiàn)在將描述用于創(chuàng)建包裝器、服務(wù)器對(duì)象、模式和綽號(hào)的更詳細(xì)的例子。包裝器是用于把檔案文件存儲(chǔ)系統(tǒng)中的表的數(shù)據(jù)類型映射到綽號(hào)的本地定義中的數(shù)據(jù)類型的組件,其透明地說(shuō)明了系統(tǒng)之間的差異。在某些實(shí)施例中,可以利用所謂的"createwrapper(創(chuàng)建包裝器)"的DB2命令來(lái)創(chuàng)建包裝器。例如,如下所示創(chuàng)建被稱作DRDA的包裝器createwrapperDRDA。服務(wù)器對(duì)象表示可以為其創(chuàng)建綽號(hào)的聯(lián)合數(shù)據(jù)源或目標(biāo)。使用所謂的"createserver(創(chuàng)建服務(wù)器)"的DB2數(shù)據(jù)定義語(yǔ)言命令來(lái)創(chuàng)建服務(wù)器對(duì)象。例如,創(chuàng)建服務(wù)器命令如下所示創(chuàng)建被稱作UDB的服務(wù)器對(duì)象createserverUDBtypeDB2/UDBVERSION8.1WRAPPERDRDAOPTIONS(Node'ARCHIVE',DBNAME'ARCHIVEDB,,F(xiàn)OLD—ID'L,,F(xiàn)OLD—PW'IAPASSWORD'Y,)。綽號(hào)是用于提供遠(yuǎn)程數(shù)據(jù)對(duì)象的本地定義的數(shù)據(jù)庫(kù)對(duì)象,其用于把遠(yuǎn)程數(shù)據(jù)對(duì)象映射到關(guān)系。綽號(hào)是用于遠(yuǎn)程數(shù)據(jù)集的代理,所述遠(yuǎn)程數(shù)據(jù)集可以被映射到本地表定義,并且經(jīng)由用于特定服務(wù)器的包裝器進(jìn)行訪問(wèn)。當(dāng)檔案文件存儲(chǔ)系統(tǒng)是另一RDBMS時(shí),遠(yuǎn)程數(shù)據(jù)對(duì)象是檔案文件存儲(chǔ)系統(tǒng)中的表,并且看起來(lái)好像是聯(lián)合檔案文件RDBMS中的本地表一樣。例如,被稱作ORDERS的本地表包含采購(gòu)訂單。下面的表1示出了本地表ORDERS中的示例性記錄,其具有列名和相關(guān)聯(lián)的數(shù)據(jù)類型(列名數(shù)據(jù)類型)。表l:示例性的記錄表1<table>tableseeoriginaldocumentpage18</column></row><table>如下所示創(chuàng)建模式名以指定表或視圖所屬的模式:createschemaARCHIVE。假定表存在于檔案文件存儲(chǔ)系統(tǒng)中,并且使用DB2信息整合器命令,在上述創(chuàng)建包裝器和創(chuàng)建服務(wù)器命令中引用檔案文件存儲(chǔ)系統(tǒng)中的表的綽號(hào),并且使用上面所創(chuàng)建的模式,對(duì)于表l中的ORDERS表,如下所示由"createnickname(創(chuàng)建綽號(hào))"命令來(lái)創(chuàng)建綽號(hào)createnicknameARCHIVE.ORDERSforUDB.ARCHIVE.ORDERS。第一參數(shù)"ARCHIVE.ORDERS"是綽號(hào)。第二參數(shù)"UDB.ARCHIVE.ORDERS"是遠(yuǎn)程對(duì)象名。遠(yuǎn)程對(duì)象名具有三個(gè)部分?jǐn)?shù)據(jù)服務(wù)器名、模式名和遠(yuǎn)程表名。數(shù)據(jù)服務(wù)器名用于指定在創(chuàng)建服務(wù)器語(yǔ)句中所分配的數(shù)據(jù)源,例如"UDB"。模式名用于指定表在遠(yuǎn)程系統(tǒng)上的所有者,例如"ARCHIVE"。遠(yuǎn)程表名用于指定表或視圖的名稱或別名,例如"ORDERS"。下面的表2描繪了響應(yīng)于上面的創(chuàng)建綽號(hào)語(yǔ)句而創(chuàng)建的示例性綽號(hào)定義。表2:示例性綽號(hào)定義表2ARCHIVE.ORDERSCustid:整數(shù)closedate:時(shí)間price:小數(shù)(10,2)綽號(hào)ARCHIVE.ORDERS看起來(lái)像本地表一樣,但是涉及遠(yuǎn)程數(shù)據(jù),或者在替換實(shí)施例中,其涉及甚至可能并未被存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)。用戶可以通過(guò)在相對(duì)于本地?cái)?shù)據(jù)庫(kù)的查詢中指定此綽號(hào),來(lái)從檔案文件中檢索數(shù)據(jù)。例如,使用ORDERS表和上面為所述ORDERS表所創(chuàng)建的綽號(hào),下面的SQL選擇語(yǔ)句只返回本地?cái)?shù)據(jù)庫(kù)中的未存檔的訂單select*fromORDERS。在另一例子中,下面的SQL選擇語(yǔ)句明確地指定了ARCHIVE.ORDERS的綽號(hào),并且返回來(lái)自檔案文件存儲(chǔ)系統(tǒng)的存檔了的訂單select*fromARCHIVE.ORDERS在又一例子中,如下所示,下面的SQL選擇語(yǔ)句從本地?cái)?shù)據(jù)庫(kù)中的訂單表以及檔案文件存儲(chǔ)系統(tǒng)中的相關(guān)聯(lián)表中檢索價(jià)格值,并且向查詢的結(jié)果應(yīng)用求和函數(shù),其中所述相關(guān)聯(lián)的表由綽號(hào)archive.orders引用selectsum(orders.price+archives.orders.price)fromordcrs,3rchivc.0rdcrs。另外,數(shù)據(jù)移動(dòng)器使用綽號(hào)把數(shù)據(jù)從本地?cái)?shù)據(jù)庫(kù)中的OEDERS表移動(dòng)到檔案文件存儲(chǔ)系統(tǒng)中的相關(guān)聯(lián)表。對(duì)于具有至少一個(gè)相關(guān)聯(lián)數(shù)據(jù)移動(dòng)規(guī)則的每個(gè)表而言,取決于實(shí)施例,聯(lián)合檔案文件RDBMS具有檔案文件存儲(chǔ)系統(tǒng)的綽號(hào)、合并(union)視圖和表函數(shù)中的一個(gè)或其組合。這些數(shù)據(jù)庫(kù)對(duì)象用與源表相同的名稱創(chuàng)建,但是處于用戶可以提供的不同數(shù)據(jù)庫(kù)模式下。綽號(hào)的默認(rèn)模式名是檔案文件服務(wù)器名;至于視圖和表函數(shù),默認(rèn)模式名是系統(tǒng)默認(rèn)值,例如"IBMFA"。下面示出了一些示例性的數(shù)據(jù)庫(kù)對(duì)象。名為"SALES"的本地表具有custid、closedate和price各列。在此例子中,下面的表3示出了對(duì)于SALES表的closedate列的存檔規(guī)則。表3:示例性的規(guī)則表3<table>tableseeoriginaldocumentpage20</column></row><table>下表、即表5描繪了使用用戶提供的數(shù)據(jù)庫(kù)模式名稱"ARCHIVE"在聯(lián)合檔案文件RDBMS中創(chuàng)建的對(duì)象。表5:在聯(lián)合檔案文件RDBMS中創(chuàng)建的對(duì)象表5對(duì)象類型所創(chuàng)建的對(duì)象描述WRAPPER(包裝器)名稱取決于檔案文件類型。例如,'DRDA,是支持使用任何DB2系列數(shù)據(jù)庫(kù)作為檔案文件介質(zhì)的包裝器。提供了用于從一種類型的檔案文件介質(zhì)透明地檢索并訪問(wèn)數(shù)據(jù)的代碼。每種類型檔案文件服務(wù)器一次地創(chuàng)建包裝器。SERVEROBJECT(服務(wù)器對(duì)象)ARCHIVE識(shí)別一個(gè)檔案文件服務(wù)器。每個(gè)檔案文件服務(wù)器一次地創(chuàng)建所述服務(wù)器對(duì)象。NICKNAME(綽號(hào))ARCHIVE.SALES(custid,closedate,price)把本地表映射到其遠(yuǎn)程檔案文件介質(zhì)。VIEW(視圖)IBMFA.SALES(custid,closedate,price)來(lái)自本地表的數(shù)據(jù)與來(lái)自檔案文件的數(shù)據(jù)的合并(union)。TABLEFUNCTION(表函數(shù))ARCHIVE.SALES(gobacktime,timeunit)returntable(custidinteger,closedatetime,pricedecimal(10,2))如果需要并且當(dāng)需要時(shí),從檔案文件中檢索數(shù)據(jù)。在某些實(shí)施例中,可以不創(chuàng)建VIEW和TABLEFUNCTION對(duì)象。通過(guò)使用聯(lián)合,應(yīng)用可以顯式地訪問(wèn)存檔數(shù)據(jù)和本地?cái)?shù)據(jù),使用綽號(hào)把本地?cái)?shù)據(jù)歸并(merge)到存檔數(shù)據(jù),并且發(fā)布相對(duì)于所述綽號(hào)的查詢。在綽號(hào)上的視6描繪了用于創(chuàng)建視圖以便訪問(wèn)檔案文件存儲(chǔ)系統(tǒng)的實(shí)施例的流程圖。視圖是可以在綽號(hào)上直接創(chuàng)建以便歸并本地?cái)?shù)據(jù)和存檔數(shù)據(jù)的另一數(shù)據(jù)庫(kù)對(duì)象。在圖6中,步驟130與圖5的步驟122相同,并且不再進(jìn)一步描述。在步驟132,在本地?cái)?shù)據(jù)庫(kù)中的表和綽號(hào)上創(chuàng)建視圖,以便歸并本地?cái)?shù)據(jù)和存檔數(shù)據(jù)。例如,以下的創(chuàng)建語(yǔ)句創(chuàng)建一個(gè)被稱作ORDERS—PAST—7YEARS的視圖createviewORDERS—PAST—7YEARS(custid,closedate,price)asSELECTcustid,closedate,priceFROMARCHIVE.ORDERSUNIONALLSELECTcustid,closedate,priceFROMUSER1.ORDERS;在步驟134,相對(duì)于視圖進(jìn)行查詢。例如,應(yīng)用可以如下所示相對(duì)于4見(jiàn)圖ORDERS—PAST—7YEARS發(fā)布查詢select*fromORDERS_PAST—7YEARS。以上查詢返回來(lái)自本地?cái)?shù)據(jù)庫(kù)和聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中的少于七年的所有訂單。在另一例子中,當(dāng)從視圖中進(jìn)行選擇時(shí),用戶還可以指定"FETCHFIRST5ROWSONLY(只取前5行)",這由查詢處理器的查詢優(yōu)化器部分來(lái)考慮,以便確定并選擇最優(yōu)的執(zhí)行計(jì)劃。查詢優(yōu)化器還能夠在謂詞(predicate)指定索引時(shí)避免訪問(wèn)檔案文件存儲(chǔ)裝置,對(duì)于所述索引,所述查詢優(yōu)化器可以訪問(wèn)元數(shù)據(jù)中的統(tǒng)計(jì)信息。例如,假定被稱作closedate的列上的索引,而且假定相對(duì)于視圖ORDERS—PAST7YEARS進(jìn)行以下查詢select*fromORDERS—PAST7YEARSwhereclosedate>currentdate-3months。以上查詢返回在前三個(gè)月結(jié)束的所有訂單。在替換實(shí)施例中,當(dāng)進(jìn)行查詢時(shí),查詢優(yōu)化器訪問(wèn)在元數(shù)據(jù)中所存儲(chǔ)的統(tǒng)計(jì)信息,并且根據(jù)所述統(tǒng)計(jì)信息,確定不會(huì)訪問(wèn)檔案文件存儲(chǔ)系統(tǒng),這是因?yàn)?,所述檔案文件存儲(chǔ)系統(tǒng)不包含在前三個(gè)月內(nèi)結(jié)束的任何訂單。SQL語(yǔ)言的擴(kuò)展部分在另一實(shí)施例中,對(duì)SQL語(yǔ)言進(jìn)行擴(kuò)展以便指定時(shí)間范圍。查詢接口允許用戶對(duì)于將要檢索的存檔和未存檔數(shù)據(jù)、指定相對(duì)于當(dāng)前時(shí)間的時(shí)間間隔,即謂詞。換句話說(shuō),查詢接口允許用戶在時(shí)間上進(jìn)行"追溯(goback)"。在此實(shí)施例中,在默認(rèn)情況下,沒(méi)有任何謂詞的查詢只返回未存檔的數(shù)據(jù),因此,希望在結(jié)果中包括所存檔數(shù)據(jù)的應(yīng)用要指定在時(shí)間上將向前追溯多久來(lái)應(yīng)用查詢。在另一實(shí)施例中,查詢接口還允許查詢?cè)O(shè)置用于從檔案文件中檢索數(shù)據(jù)的時(shí)間量的上限,即指定"在N秒之后停止,,("STOPAFTER"Nseconds)。下面的表6示出了使用"追溯"擴(kuò)展的示例性SQL查詢,以及根據(jù)這些查詢可能會(huì)返回的結(jié)果。對(duì)于表6中的例子,聯(lián)合檔案文件RDBMS具有兩個(gè)聯(lián)合檔案文件存儲(chǔ)系統(tǒng)和規(guī)則集。第一規(guī)則規(guī)定了在九十天之后把數(shù)據(jù)從交易表移動(dòng)到第一檔案文件存儲(chǔ)系統(tǒng)。第二規(guī)則規(guī)定在一年之后把數(shù)據(jù)從第一檔案文件存儲(chǔ)系統(tǒng)移動(dòng)到第二檔案文件存儲(chǔ)系統(tǒng)。第三規(guī)則規(guī)定了在七年之后從第二檔案文件存儲(chǔ)系統(tǒng)上刪除數(shù)據(jù)。<table>tableseeoriginaldocumentpage24</column></row><table>量。在一個(gè)實(shí)施例中,"追溯"擴(kuò)展適用于整個(gè)查詢,即所有表。作為選擇,對(duì)于每個(gè)表在查詢中獨(dú)立地指定"追溯"擴(kuò)展。例如,以下查詢只把"追溯"擴(kuò)展應(yīng)用于訂單表selectc.customer—name,o.number,o.info-客戶的所有訂單信息fromordersogoback5years,-自過(guò)去5年起customersc-但是,只有當(dāng)客戶尚未被存檔時(shí)才如此wherec.cust—name='userl"andc.cid=o.cid。圖7描繪了用于使用SQL擴(kuò)展來(lái)進(jìn)行查詢的實(shí)施例的流程圖。在步驟140,查詢處理器接收具有SQL擴(kuò)展的查詢來(lái)訪問(wèn)聯(lián)合檔案文件存儲(chǔ)系統(tǒng)。在一個(gè)實(shí)施例中,所述SQL擴(kuò)展是上述的"追溯"擴(kuò)展。在步驟142,查詢處理器確定是否有滿足查詢的任何數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中。查詢處理器檢索元數(shù)據(jù),特別是統(tǒng)計(jì)信息。根據(jù)所述統(tǒng)計(jì)信息和與"追溯"擴(kuò)展相關(guān)聯(lián)的時(shí)間間隔,查詢處理器確定是否有滿足查詢的任何數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中。如果是的話,那么在步驟144,查詢處理器改寫(xiě)所述查詢,以便訪問(wèn)本地?cái)?shù)據(jù)庫(kù)和聯(lián)合檔案文件存儲(chǔ)系統(tǒng)。利用子查詢來(lái)增強(qiáng)查詢,以便包括來(lái)自聯(lián)合檔案文件存儲(chǔ)系統(tǒng)的數(shù)據(jù)。在步驟146,查詢處理器執(zhí)行所述查詢,以便檢索滿足所述查詢的數(shù)據(jù)子集。在步驟148,查詢處理器返回滿足所述查詢的數(shù)據(jù)子集(如果有的話)。如果在步驟142中查詢處理器確定沒(méi)有滿足查詢的數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中,那么在步驟146中執(zhí)行所述查詢。表函數(shù)在另一實(shí)施例中,可以使用表函數(shù)來(lái)實(shí)現(xiàn)查詢接口和查詢處理器功能。表函數(shù)是利用編程語(yǔ)言(例如C編程語(yǔ)言)所編寫(xiě)的用戶定義的函數(shù),其包括SQL調(diào)用并且返回0到N行。表函數(shù)根據(jù)由這些函數(shù)的調(diào)用者所提供的追溯自變量來(lái)透明地結(jié)合存檔和未存檔數(shù)據(jù)。所述函數(shù)根據(jù)元數(shù)據(jù)和表函數(shù)自變量,確定在哪里以及什么時(shí)候需要聯(lián)合。圖8描繪了使用表函數(shù)來(lái)進(jìn)行查詢的實(shí)施例的流程圖。在步驟160,創(chuàng)建至少一個(gè)表函數(shù)。在步驟162,查詢處理器接收具有表函數(shù)的查詢。例如,假定^皮稱作"myarchive.orders"的表函數(shù)具有值和時(shí)間單位作為自變量。以下示出了調(diào)用表函數(shù)并且傳遞值和時(shí)間單位自變量的示例性SQL語(yǔ)句selectsum(price)fromtable(myarchive.orders(80,days))ast在上面的例子中,表函數(shù)myarchive.orders(80,days)從檔案文件存儲(chǔ)系統(tǒng)中請(qǐng)求過(guò)去八十天的ORDERS。在步驟164,查詢處理器使用表函數(shù)進(jìn)行查詢。所述表函數(shù)產(chǎn)生重組的(reformulated)查詢,以^更訪問(wèn)本地?cái)?shù)據(jù)庫(kù)和聯(lián)合檔案文件存儲(chǔ)系統(tǒng),并且發(fā)布所述重組的查詢。特別地是,表函數(shù)改寫(xiě)所述查詢以便包括綽號(hào),并且聯(lián)合檔案文件RDBMS進(jìn)行訪問(wèn)。在步驟166,返回由查詢所檢索的數(shù)據(jù)(如果有的話)??梢允褂帽砗瘮?shù)來(lái)在所述數(shù)據(jù)上創(chuàng)建視圖。例如,利用如下所示的表函數(shù)來(lái)通過(guò)過(guò)去五年的數(shù)據(jù)創(chuàng)建視圖createviewORDERS—PAST—5YEARS(custid,closedate,price)asSELECT*fromTABLE(myarchive.orders(5,years)))ast。在另一例子中,為了指定要檢索的行數(shù)目,把用于指定行數(shù)目的附加自變量傳遞給表函數(shù)。例如,為了取出前N行,如下所示調(diào)用表函數(shù)myarchive.orders:selectsum(price)fromtable(myarchive.orders(90,days,10))ast在上面所引用的表函數(shù)myarchive.orders中,前兩個(gè)自變量與先前例子中的相同。最后的自變量10指定了要檢索的行數(shù)目。此查詢返回它從本地?cái)?shù)據(jù)庫(kù)或聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中所找到的前10個(gè)訂單。在又一實(shí)施例中,表函數(shù)還可以在已經(jīng)過(guò)去了所指定的時(shí)間量之后返回,所指定的時(shí)間量可以作為自變量傳遞給表函數(shù)。配置參數(shù)在另一實(shí)施例中,使用配置參數(shù)來(lái)確定怎樣對(duì)查詢進(jìn)行聯(lián)合。在此實(shí)施例中,應(yīng)用不知道正從檔案文件中檢索信息。在一個(gè)實(shí)施例中,至少一部分的配置參數(shù)是元數(shù)據(jù)的配置信息的一部分。作為選擇,配置參數(shù)被至少部分地存儲(chǔ)作為RDBMS目錄的一部分。在一個(gè)特定的實(shí)施例中,RDBMS或數(shù)據(jù)庫(kù)的配置參數(shù)被存儲(chǔ)在DB2目錄中或存儲(chǔ)在工具的目錄中。在另一替換實(shí)施例中,至少一個(gè)配置參數(shù)是運(yùn)行時(shí)間變量。例如,在一個(gè)實(shí)施例中,由系統(tǒng)管理員經(jīng)由數(shù)據(jù)庫(kù)系統(tǒng)配置來(lái)控制要應(yīng)用到查詢的時(shí)間間隔,并且所述時(shí)間間隔作為配置信息被存儲(chǔ)在元數(shù)據(jù)中。因此,應(yīng)用可以訪問(wèn)檔案文件數(shù)據(jù)而不需要對(duì)其進(jìn)行修改??梢允褂孟到y(tǒng)、會(huì)話、應(yīng)用或查詢級(jí)配置參數(shù)來(lái)實(shí)現(xiàn)對(duì)聯(lián)合檔案文件的透明i方問(wèn)。圖9描繪了使用至少一個(gè)配置參數(shù)來(lái)進(jìn)行查詢的實(shí)施例的流程圖。在步驟170,對(duì)至少一個(gè)配置參數(shù)進(jìn)行初始化。例如,配置參數(shù)指定怎樣對(duì)SQL查詢進(jìn)行聯(lián)合??梢匀缦滤臼褂脭?shù)據(jù)庫(kù)級(jí)配置參數(shù)來(lái)對(duì)于所有查詢始終允許聯(lián)合db2updatedbcfgformyDatabaseinclude—archiveMYARCHIVE其中,"MYARCHIVE"是為聯(lián)合檔案文件RDBMS所知的聯(lián)合檔案文件服務(wù)器。在步驟171,查詢處理器接收查詢。在步驟172,查詢處理器檢索配置參數(shù)(一個(gè)或多個(gè))。在步驟173,查詢處理器確定是否有滿足查詢的任何數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中。查詢處理器檢索元數(shù)據(jù),特別是統(tǒng)計(jì)信息,并且查詢處理器根據(jù)所述統(tǒng)計(jì)信息和配置參數(shù)(一個(gè)或多個(gè)),確定是否有滿足所述查詢的任何數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中。如果在步驟173中查詢處理器確定滿足查詢的數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中,那么在步驟174,所述查詢處理器依照配置參數(shù)(一個(gè)或多個(gè))改寫(xiě)所述查詢,以便從本地?cái)?shù)據(jù)庫(kù)和聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中檢索所述數(shù)據(jù)。作為選擇,如果查詢處理器確定由查詢所檢索的數(shù)據(jù)未被存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)中,那么依照配置參數(shù)(一個(gè)或多個(gè))來(lái)改寫(xiě)所述查詢,以便只從聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中檢索所述數(shù)據(jù)。在步驟175,查詢處理器執(zhí)行所述查詢。在步驟176,查詢處理器返回所述數(shù)據(jù)(如果有的話)。如果在步驟173中查詢處理器確定沒(méi)有滿足所述查詢的數(shù)據(jù)被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中,則查詢處理器進(jìn)行到步驟175,以便執(zhí)行所述查詢。在上述示例性的"db2updatedbcfg…"語(yǔ)句中的配置參數(shù),改變對(duì)于所有應(yīng)用對(duì)這個(gè)數(shù)據(jù)庫(kù)的一般SQL查詢的行為,以便從本地?cái)?shù)據(jù)庫(kù)和檔案文件存儲(chǔ)系統(tǒng)(一個(gè)或多個(gè))中返回?cái)?shù)據(jù)。例如,當(dāng)執(zhí)行下列SQL語(yǔ)句select"romorderswhereuser='userl'時(shí),從本地?cái)?shù)據(jù)庫(kù)和被稱為MYARCHIVE的檔案文件存儲(chǔ)系統(tǒng)中返回訂單。在一個(gè)替換實(shí)施例中,使用視圖來(lái)聚集來(lái)自本地?cái)?shù)據(jù)庫(kù)和檔案文件存儲(chǔ)系統(tǒng)的數(shù)據(jù)。如上所述,創(chuàng)建本地表和對(duì)于聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中的表的綽號(hào)的UNIONVIEW(合并^見(jiàn)圖)。這個(gè)合并4見(jiàn)圖存在于不同的模式下。在又一實(shí)施例中,附加的配置參數(shù)可以通過(guò)設(shè)置最大的查詢時(shí)間來(lái)限制檢索的時(shí)間。在另一實(shí)施例中,配置參數(shù)(一個(gè)或多個(gè))規(guī)定"對(duì)于所有查詢始終讀取本地?cái)?shù)據(jù)和存檔數(shù)據(jù)"。作為選擇,另一個(gè)配置參數(shù)可以規(guī)定時(shí)間范圍。使用配置參數(shù),允許現(xiàn)有的應(yīng)用訪問(wèn)存檔的數(shù)據(jù),而不需要對(duì)應(yīng)用進(jìn)行改變。此外,如果例如在數(shù)據(jù)庫(kù)級(jí)規(guī)定了配置參數(shù),則該配置參數(shù)影響所有使用該數(shù)據(jù)庫(kù)的應(yīng)用。在另一實(shí)施例中,注冊(cè)表變量(另一類型的配置參數(shù))被用來(lái)請(qǐng)求各級(jí)聯(lián)合。在一個(gè)應(yīng)用內(nèi)規(guī)定注冊(cè)表變量,以便請(qǐng)求關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中的僅僅適用于該應(yīng)用的行為或功能。在一個(gè)實(shí)施例中,在數(shù)據(jù)庫(kù)連接的范圍內(nèi),使用注冊(cè)表變量案來(lái)請(qǐng)求各級(jí)聯(lián)合,例如,SETARCHIVE—QUERY—TIME1year。當(dāng)對(duì)于存在存檔規(guī)則的列規(guī)定具有時(shí)間限制的謂詞時(shí),查詢處理器自動(dòng)地確定數(shù)據(jù)的位置、以及是否依據(jù)該注冊(cè)表變量而訪問(wèn)聯(lián)合檔案文件存儲(chǔ)系統(tǒng)以便滿足所述查詢。查詢處理器確定是否要訪問(wèn)檔案文件在還有的另一實(shí)施例中,查詢處理器確定是否要訪問(wèn)聯(lián)合檔案文件存儲(chǔ)裝置。在這個(gè)實(shí)施例中,查詢處理器將用戶的查詢轉(zhuǎn)換為聯(lián)合查詢,以便訪問(wèn)檔案文件存儲(chǔ)系統(tǒng)。在一個(gè)替換實(shí)施例中,查詢處理器包括為每個(gè)存檔的表所產(chǎn)生的一組表函數(shù)和/或一組產(chǎn)生的SQL視圖。圖10描述了由查詢處理器用來(lái)訪問(wèn)聯(lián)合檔案文件存儲(chǔ)系統(tǒng)的技術(shù)的實(shí)施例的流程圖。在步驟180,查詢處理器接收查詢。在步驟182,查詢處理器分析所述查詢,以便識(shí)別哪些列構(gòu)成了謂詞。步驟184確定是否有任何規(guī)則引用謂詞中的列。如果是的話,則在步驟186,對(duì)于謂詞中的存在規(guī)則的每一列,查詢處理器確定本地?cái)?shù)據(jù)庫(kù)中所存儲(chǔ)的最陳舊的行,并且確定該行的位置,即確定該行是被存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)中還是被存儲(chǔ)在聯(lián)合檔案文件存儲(chǔ)系統(tǒng)中。特別地,用于數(shù)據(jù)的位置的元數(shù)據(jù)取決于列類型。在一個(gè)實(shí)施例中,如果所述列是有序的單調(diào)遞增型的列,例如,時(shí)間戳,并且如果對(duì)于該列存在諸如"當(dāng)超過(guò)三個(gè)月以上時(shí)存檔,,之類的規(guī)則,則在元數(shù)據(jù)統(tǒng)計(jì)信息中跟蹤還沒(méi)有被存檔的最陳舊的數(shù)據(jù)。在移動(dòng)數(shù)據(jù)時(shí),數(shù)據(jù)移動(dòng)器使查詢處理器用最陳舊的值更新元數(shù)據(jù)。在步驟188,查詢處理器通過(guò)用子查詢?cè)鰪?qiáng)所述查詢,來(lái)改寫(xiě)所述查詢,其中所述子查詢對(duì)于在所述查詢中引用的表名規(guī)定了檔案文件存儲(chǔ)系統(tǒng)的綽號(hào)。在步驟1卯中,查詢處理器執(zhí)行所述查詢。在步驟192中,查詢處理器返回?cái)?shù)據(jù)(如果有的話)。如果步驟184中確定沒(méi)有規(guī)則引用謂詞中的列,則查詢處理器繼續(xù)到步驟190,以便相對(duì)于本地?cái)?shù)據(jù)庫(kù)進(jìn)行查詢。例如,查詢處理器可以如下確定查詢的數(shù)據(jù)的位置SELECT*fromtradeswheretrades.closedate>'01-01-97,。如果執(zhí)行查詢的年份是2003年,并且如果存在有關(guān)"closedate"的存檔規(guī)則,諸如"存檔結(jié)束1年以上的任何交易",那么查詢處理器訪問(wèn)聯(lián)合檔案文件,以便檢索可能被存儲(chǔ)的任何數(shù)據(jù)。在此例子中,聯(lián)合檔案文件RDBMS在向應(yīng)用返回結(jié)果之前,把來(lái)自本地?cái)?shù)據(jù)庫(kù)的交易與從檔案文件存儲(chǔ)系統(tǒng)所檢索的數(shù)據(jù)透明地組合。在另一例子中,假定有關(guān)closedate的以下存檔規(guī)則當(dāng)對(duì)于過(guò)去90天,closedate為空值時(shí)移動(dòng)銷售,以及下列元數(shù)據(jù)統(tǒng)計(jì)信息在服務(wù)器'MYARCHIVE,上對(duì)于closedate:'2003年9月30曰,所存檔的最高值。在2004年1月1日發(fā)布以下查詢selectsum(qty)fromsaleswhereclosedate=(currentdata—1year)(其中closedate=(當(dāng)前日期-l年))。查詢處理器讀取元數(shù)據(jù),以便確定是否將要訪問(wèn)聯(lián)合檔案文件。如果在過(guò)去一年里沒(méi)有數(shù)據(jù)被移動(dòng)到檔案文件,那么查詢處理器將會(huì)確定不訪問(wèn)聯(lián)合檔案文件。在另一例子中,查詢處理器改寫(xiě)查詢,以便使用其綽號(hào)來(lái)訪問(wèn)檔案文件存儲(chǔ)系統(tǒng)。查詢處理器接收以下查詢selectfromorderswherestatus-'closed'andclosedate<1995(其中狀態(tài)='結(jié)束,并且closedate<1995)。對(duì)于closedate和狀態(tài)列的規(guī)則如下規(guī)則1:closedate-在2年之后移動(dòng)到第一檔案文件存儲(chǔ)系統(tǒng);規(guī)則2:狀態(tài)-在90天時(shí)移動(dòng)到第二檔案文件存儲(chǔ)系統(tǒng)。第一檔案文件存儲(chǔ)系統(tǒng)中的表與被稱作archiveA.orders的綽號(hào)相關(guān)聯(lián),并且第二檔案文件存儲(chǔ)系統(tǒng)中的表與凈皮稱作archiveB.orders的綽號(hào)相關(guān)聯(lián)。此查詢會(huì)在本地?cái)?shù)據(jù)庫(kù)以及第一和第二檔案文件存儲(chǔ)系統(tǒng)的表之間進(jìn)行3種方式的結(jié)合。查詢處理器把此查詢改寫(xiě)為selectfromorderswherestatus='closed,UNIONALLselectfromarchiveA.orderswherestatus='closed'UNIONAIXselectfromarchiveB.orderswherestatus='closed'依照這種方式,從本地?cái)?shù)據(jù)庫(kù)、第一檔案文件存儲(chǔ)系統(tǒng)和第二檔案文件存儲(chǔ)系統(tǒng)中透明地檢索數(shù)據(jù)。更新存檔數(shù)據(jù)在另一實(shí)施例中,聯(lián)合檔案文件RDBMS使得能夠更新所存檔的數(shù)據(jù)。例如,在金融市場(chǎng)應(yīng)用中,在分股之后,盡管可能已經(jīng)存檔了額度(positions)和持有股份(holdings),但是可能也需要更新該數(shù)據(jù)。經(jīng)由聯(lián)合檔案文件RDBMS發(fā)布更新,以便聯(lián)合檔案文件RDBMS可以適當(dāng)?shù)馗略獢?shù)據(jù)。某些更新還可能影響是否把數(shù)據(jù)從檔案文件帶回到本地?cái)?shù)據(jù)庫(kù)。例如,當(dāng)數(shù)據(jù)是正確的時(shí),可以把所述數(shù)據(jù)返回到本地?cái)?shù)據(jù)庫(kù)。如果用戶把"closedate"從"九十天以前"改變到"當(dāng)前日期",并且如果存檔規(guī)則規(guī)定當(dāng)"closedate"大于或等于九十天時(shí)將存檔數(shù)據(jù),那么受該改變所影響的任何數(shù)據(jù)會(huì)被從檔案文件存儲(chǔ)系統(tǒng)中移動(dòng)并且被返回到本地?cái)?shù)據(jù)庫(kù)。監(jiān)控和審核聯(lián)合檔案文件RDBMS提供了關(guān)于數(shù)據(jù)移動(dòng)的審核追蹤(audittrail)。審核追蹤可以被寫(xiě)入文件和/或存儲(chǔ)在數(shù)據(jù)庫(kù)表中。例如,在一個(gè)實(shí)施例中,聯(lián)合檔案文件RDBMS將對(duì)于相關(guān)表中的每個(gè)表來(lái)說(shuō)所移動(dòng)的行數(shù)目以及所應(yīng)用的規(guī)則記入日志。在另一實(shí)施例中,審核追蹤以及所應(yīng)用的規(guī)則和所移動(dòng)的行數(shù)目的日志記錄是元數(shù)據(jù)的監(jiān)控、審核和統(tǒng)計(jì)信息的一部分。數(shù)據(jù)移動(dòng)器如上所述,數(shù)據(jù)移動(dòng)器依照用戶定義的規(guī)則集來(lái)移動(dòng)數(shù)據(jù),所述規(guī)則集反映了應(yīng)用語(yǔ)義和/或數(shù)據(jù)之間的關(guān)系。當(dāng)數(shù)據(jù)正被移動(dòng)時(shí),所述應(yīng)用可以查詢聯(lián)合檔案文件RDBMS,并且向應(yīng)用提供一致的視圖。所述查詢返回給定行一次且只有一次,即便該行當(dāng)前正被存檔也是如此。存檔一行,指的是把一行拷貝到檔案文件存儲(chǔ)系統(tǒng)中,繼而從該行的數(shù)據(jù)源中物理地刪除該行。數(shù)據(jù)移動(dòng)器將數(shù)據(jù)在審核追蹤中的移動(dòng)以及在元數(shù)據(jù)中的新位置記入日志,所述元數(shù)據(jù)由查詢處理器訪問(wèn),以便確定數(shù)據(jù)的位置以及聯(lián)合檔案文件存儲(chǔ)系統(tǒng)是否被訪問(wèn)以滿足所述查詢??梢允褂脙煞N技術(shù)來(lái)移動(dòng)數(shù)據(jù)。在第一種技術(shù)中,在單個(gè)事務(wù)處理中將數(shù)據(jù)拷貝到檔案文件存儲(chǔ)系統(tǒng)并且從數(shù)據(jù)源中刪除。在第二種技術(shù)中,在第一事務(wù)處理中將數(shù)據(jù)拷貝到檔案文件存儲(chǔ)系統(tǒng),繼而在第二事務(wù)處理中更新元數(shù)據(jù)以反映所述數(shù)據(jù)的新位置,并且從數(shù)據(jù)源上刪除所述數(shù)據(jù)。圖11描繪了在移動(dòng)數(shù)據(jù)的過(guò)程中由數(shù)據(jù)移動(dòng)器使用的第一種技術(shù)的實(shí)施例。在步驟200,數(shù)據(jù)移動(dòng)器讀取規(guī)則。在步驟201,數(shù)據(jù)移動(dòng)器產(chǎn)生移動(dòng)查詢(move-query)(在一個(gè)實(shí)施例中,其包括一組SQL語(yǔ)句),以便依照所述規(guī)則把數(shù)據(jù)從至少一個(gè)數(shù)據(jù)源移動(dòng)到檔案文件存儲(chǔ)系統(tǒng)。在步驟202,數(shù)據(jù)移動(dòng)器使查詢處理器啟動(dòng)在聯(lián)合檔案文件RDBMS和檔案文件存儲(chǔ)系統(tǒng)之間的兩個(gè)階段的提交(commit)事務(wù)處理。在某些實(shí)施例中,由聯(lián)合檔案文件RDBMS隱式地提供兩個(gè)階段的提交處理。在步驟203,數(shù)據(jù)移動(dòng)器向查詢處理器發(fā)送所述移動(dòng)查詢。查詢處理器執(zhí)行所述移動(dòng)查詢,以便把數(shù)據(jù)從數(shù)據(jù)源(一個(gè)或多個(gè))拷貝到聯(lián)合檔案文件存儲(chǔ)系統(tǒng),并且從所述數(shù)據(jù)源(一個(gè)或多個(gè))中刪除所述數(shù)據(jù)。在步驟204,數(shù)據(jù)移動(dòng)器更新元數(shù)據(jù)以便反映所述數(shù)據(jù)的新位置。在一個(gè)實(shí)施例中,當(dāng)元數(shù)據(jù)被存儲(chǔ)在數(shù)據(jù)庫(kù)表中時(shí),數(shù)據(jù)移動(dòng)器通過(guò)查詢處理器來(lái)更新所述元數(shù)據(jù)。在步驟205,數(shù)據(jù)移動(dòng)器利用用于描述所移動(dòng)數(shù)據(jù)的統(tǒng)計(jì)信息來(lái)更新元數(shù)據(jù)。在步驟206,數(shù)據(jù)移動(dòng)器使查詢處理器執(zhí)行事務(wù)處理的提交。在替換實(shí)施例中,最初執(zhí)行步驟200和201以便產(chǎn)生移動(dòng)查詢,并且每當(dāng)數(shù)據(jù)移動(dòng)器執(zhí)行時(shí),執(zhí)行步驟202到206。第一種技術(shù)防止行在例如本地?cái)?shù)據(jù)庫(kù)和檔案文件存儲(chǔ)系統(tǒng)之類的兩個(gè)數(shù)據(jù)源中同時(shí)出現(xiàn)。在任何給定時(shí)間,數(shù)據(jù)看起來(lái)存在于一個(gè)且只存在于一個(gè)位置中。為了在使用兩個(gè)階段的提交來(lái)移動(dòng)數(shù)據(jù)時(shí)使?fàn)幱米钚』?,按照少量?shù)目來(lái)移動(dòng)行。在一個(gè)實(shí)施例中,"子秒(sub-second)"是使數(shù)據(jù)移動(dòng)器保持本地?cái)?shù)據(jù)庫(kù)上的任何鎖定所允許的時(shí)間量的準(zhǔn)則。對(duì)于非常大的存檔任務(wù),諸如存檔過(guò)去一年的數(shù)據(jù),提供了脫機(jī)快速存檔模式。在脫機(jī)快速存檔模式中,本地?cái)?shù)據(jù)庫(kù)被停止,并且使用輸出、加載和刪除來(lái)移動(dòng)數(shù)據(jù)。圖12描繪了由數(shù)據(jù)移動(dòng)器用來(lái)移動(dòng)數(shù)據(jù)的第二種技術(shù)的實(shí)施例。在步驟210,數(shù)據(jù)移動(dòng)器讀取規(guī)則。在步驟211,數(shù)據(jù)移動(dòng)器產(chǎn)生拷貝查詢(copy-query),以便依照規(guī)則從數(shù)據(jù)源(一個(gè)或多個(gè))中拷貝數(shù)據(jù)并且把該數(shù)據(jù)寫(xiě)入檔案文件存儲(chǔ)系統(tǒng),并且還產(chǎn)生刪除查詢(delete-query),以便從所述數(shù)據(jù)源(一個(gè)或多個(gè))刪除所拷貝的數(shù)據(jù)。在步驟212,數(shù)據(jù)移動(dòng)器使查詢處理器開(kāi)始數(shù)據(jù)庫(kù)事務(wù)處理。在步驟213,在一個(gè)實(shí)施例中,數(shù)據(jù)移動(dòng)器向查詢處理器發(fā)送拷貝查詢;并且所述查詢處理器執(zhí)行所述拷貝查詢,以便把數(shù)據(jù)從數(shù)據(jù)源拷貝到聯(lián)合檔案文件存儲(chǔ)系統(tǒng)。在步驟214,數(shù)據(jù)移動(dòng)器使查詢處理器執(zhí)行事務(wù)處理的提交。在步驟215,數(shù)據(jù)移動(dòng)器開(kāi)始與查詢處理器的另一數(shù)據(jù)庫(kù)事務(wù)處理。在步驟216,數(shù)據(jù)移動(dòng)器更新元數(shù)據(jù),以便反映所述數(shù)據(jù)的新位置。在其中元數(shù)據(jù)被存儲(chǔ)在數(shù)據(jù)庫(kù)表中的一個(gè)實(shí)施例中,數(shù)據(jù)移動(dòng)器向查詢處理器發(fā)送SQL語(yǔ)句,以便更新所述元數(shù)據(jù)。在步驟217,查詢處理器執(zhí)行刪除查詢,以便從數(shù)據(jù)源(一個(gè)或多個(gè))刪除所移動(dòng)的數(shù)據(jù)。在一個(gè)實(shí)施例中,數(shù)據(jù)移動(dòng)器向查詢處理器發(fā)送所述刪除查詢以供執(zhí)行。在步驟218,數(shù)據(jù)移動(dòng)器使查詢處理器執(zhí)行第二事務(wù)處理的提交。在另一實(shí)施例中,最初執(zhí)行步驟210和211,并且每當(dāng)數(shù)據(jù)移動(dòng)器執(zhí)行時(shí),執(zhí)行步驟212到218。第二種技術(shù)被用于其中查詢處理器通過(guò)檢查元數(shù)據(jù)來(lái)確定是否存檔數(shù)據(jù)的實(shí)施例。在第二種技術(shù)中,將對(duì)于聯(lián)合檔案文件RDBMS的查詢路由到查詢處理器,以便訪問(wèn)規(guī)則,從而確定數(shù)據(jù)的位置。第二種技術(shù)消除了爭(zhēng)用,這是因?yàn)?,?duì)于依照規(guī)則集來(lái)更新元數(shù)據(jù)中的數(shù)據(jù)映射所要求的持續(xù)時(shí)間,使用了鎖定。數(shù)據(jù)移動(dòng)器經(jīng)由元數(shù)據(jù)與查詢處理器通信。元數(shù)據(jù)反映了聯(lián)合檔案文件RDBMS的當(dāng)前狀態(tài)。例如,如果用戶選擇"sum(sales)whereclosedatebetween<'1999-01-01.00.00,and'2000誦12-31.00.00,"(即,在1999年結(jié)束的所有銷售的總和),那么在假定該謂詞和已知例如在'1999-06-01,之前已經(jīng)存檔了數(shù)據(jù)的情況下,查詢處理器自動(dòng)搜索聯(lián)合檔案文件存儲(chǔ)系統(tǒng)。數(shù)據(jù)移動(dòng)器維護(hù)關(guān)于數(shù)據(jù)的統(tǒng)計(jì)信息,其中所述數(shù)據(jù)按照規(guī)則級(jí)移動(dòng)。對(duì)于上面的示例性的"sum(求和)"語(yǔ)句,如果規(guī)則根據(jù)"closedate"列中的值來(lái)存檔數(shù)據(jù),那么查詢處理器訪問(wèn)元數(shù)據(jù),以便確定被稱作"closedate"列的最大值。統(tǒng)計(jì)信息作為元數(shù)據(jù)的一部分被存儲(chǔ)在聯(lián)合檔案文件RDBMS的本地表中。在一個(gè)實(shí)施例中,每當(dāng)數(shù)據(jù)依據(jù)與刪除/插入對(duì)相同的同步點(diǎn)被移動(dòng)時(shí),數(shù)據(jù)移動(dòng)器就更新元數(shù)據(jù)。依照這種方式,查詢處理器可以在任何給定時(shí)間準(zhǔn)確地確定所述數(shù)據(jù)的位置。此實(shí)施例還利用檔案文件存儲(chǔ)系統(tǒng)來(lái)使用兩個(gè)階段的提交。數(shù)據(jù)移動(dòng)器可以在任何時(shí)間被停止并重新開(kāi)始。數(shù)據(jù)移動(dòng)器在獲取新的存檔規(guī)則時(shí)被停止并重新開(kāi)始。在一個(gè)實(shí)施例中,數(shù)據(jù)移動(dòng)器連續(xù)地執(zhí)行。當(dāng)連續(xù)地執(zhí)行時(shí),"commit—interval"自變量確定數(shù)據(jù)移動(dòng)器多長(zhǎng)時(shí)間應(yīng)用一次用于選擇移動(dòng)哪個(gè)數(shù)據(jù)的規(guī)則。利用中斷來(lái)停止數(shù)據(jù)移動(dòng)器的執(zhí)行。作為選擇,在"過(guò)去(one-time)"模式中啟動(dòng)數(shù)據(jù)移動(dòng)器。在"過(guò)去"模式中,數(shù)據(jù)移動(dòng)器應(yīng)用用于選擇所要移動(dòng)的數(shù)據(jù)的規(guī)則一次,移動(dòng)所述數(shù)據(jù),更新元數(shù)據(jù),然后停止。元數(shù)據(jù)元數(shù)據(jù)指的是在聯(lián)合檔案文件RDBMS的不同組件之間共享的一組控制表。元數(shù)據(jù)存在于聯(lián)合檔案文件RDBMS中。元數(shù)據(jù)包括存檔規(guī)則、配置信息以及審核、監(jiān)控和統(tǒng)計(jì)信息。在一個(gè)實(shí)施例中,使用聯(lián)合檔案文件RDBMS中的表來(lái)實(shí)現(xiàn)存檔規(guī)則、配置信息以及審核、監(jiān)控和統(tǒng)計(jì)信息。配置信息包括用于數(shù)據(jù)移動(dòng)器的參數(shù),并且在某些實(shí)施例中還包括用于注冊(cè)表變量的缺省值。在另一實(shí)施例中,某些配置信息被存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)字典中。審核、監(jiān)控和統(tǒng)計(jì)信息由數(shù)據(jù)移動(dòng)器使用,并且在某些實(shí)施例中,該信息由查詢處理器的查詢優(yōu)化器使用,以便確定數(shù)據(jù)的位置以及是否會(huì)訪問(wèn)聯(lián)合檔案文件存儲(chǔ)系統(tǒng)。在一個(gè)實(shí)施例中,對(duì)于每個(gè)檔案文件服務(wù)器的每個(gè)規(guī)則中所指定的每個(gè)列,將審核、監(jiān)控和統(tǒng)計(jì)信息存儲(chǔ)在表中。例如,在另一實(shí)施例中,為存在存檔規(guī)則的每一列維護(hù)統(tǒng)計(jì)信息。下面的示例性的表FEDARC—STATS如下所示維護(hù)統(tǒng)計(jì)信息表FEDARC_STATS:對(duì)于對(duì)其進(jìn)行排序并且其中以"大于或等于"謂詞(例如,closedate〉當(dāng)前日期-3個(gè)月)來(lái)表示規(guī)則的范圍列列SCHEMA—NAMETABNAMECOLNAMETARGETARCHIVE—SERVER:TARGET—ARCHIVE—NICKNAMELAST_ARCHIVE—TIMEHIGHKEY-在此檔案文件服務(wù)器上對(duì)于此列所存在的最高值LOWKEY-在此檔案文件服務(wù)器上對(duì)于此列所存在的最低值LOWKEY和HIGHKEY是互斥的。對(duì)于相等列,其定義了一個(gè)集合(例如,customer—status和諸如"當(dāng)可用性—Discontinued(中止),時(shí)存檔"之類的規(guī)則)RULE—VALUE=DiscontinuedTARGETARCHIVENICKNAME。對(duì)于相等列,如果RULE—VALUE值不是NULL,那么數(shù)據(jù)已經(jīng)被移動(dòng)了。如果RULE—VALUE值是NULL,那么數(shù)據(jù)被存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)中。在另一實(shí)施例中,元數(shù)據(jù)包括下列在指定模式下所創(chuàng)建的一組控制表1.FEDARC—CONFIG-包括用于系統(tǒng)的配置參數(shù)2.FEDARC—RULES-包括例如規(guī)則名稱、表才莫式、表名、歹'J名、規(guī)則和保留期3.FEDARC—TABLES-包括存在規(guī)則的表的名稱和檔案文件狀態(tài)4.FEDARC—COLUMNS-包括存在規(guī)則的列的名稱5.FEDARC—STATS-包括關(guān)于存在規(guī)則的每個(gè)列的統(tǒng)計(jì)信息6.FEDARC_SERVERS-包括檔案文件服務(wù)器的名稱7.FEDARC—TRACE-包括數(shù)據(jù)移動(dòng)的軌跡。存檔規(guī)則規(guī)則識(shí)別對(duì)于給定表要存檔的一組行。在一個(gè)實(shí)施例中,可以存檔的最小元素是一行。對(duì)于將要存檔的每個(gè)表,存在至少一個(gè)規(guī)則。在另一實(shí)施例中,對(duì)于本地?cái)?shù)據(jù)庫(kù)中的所有表,提供了默認(rèn)規(guī)則??梢詫?duì)規(guī)則進(jìn)行組合,以便根據(jù)不同的數(shù)據(jù)屬性來(lái)為相同表的不同子集指定不同的保留期。例如,商業(yè)規(guī)則可以指定"除非交易是來(lái)自優(yōu)選的客戶,否則移動(dòng)在90天以前結(jié)束的任何交易,在所述優(yōu)選客戶的情況下保持所述交易長(zhǎng)達(dá)l年"。數(shù)據(jù)移動(dòng)器可以結(jié)合來(lái)自不同表的數(shù)據(jù)以便應(yīng)用規(guī)則。例如,客戶的狀態(tài)(諸如優(yōu)選狀態(tài))不在TRADES表中而是在CUSTOMERS表中,因此結(jié)合來(lái)自TRADES和CUSTOMERS表的數(shù)據(jù)。應(yīng)用規(guī)則甚至可以包括查詢另一系統(tǒng)以便確定客戶狀態(tài),例如調(diào)用web服務(wù)。無(wú)論數(shù)據(jù)可能駐留在何處,聯(lián)合都提供了一種訪問(wèn)數(shù)據(jù)的透明方式。在另一例子中,規(guī)則引用其它表。商業(yè)規(guī)則指定"存檔已經(jīng)持續(xù)無(wú)效(未購(gòu)買任何東西)達(dá)l年以上的任何客戶的客戶信息"。數(shù)據(jù)庫(kù)具有CUSTOMERS表和SALES表。為了實(shí)現(xiàn)此規(guī)則,可以把CUSTOMERS表中的行與SALES表中的行相結(jié)合。可以經(jīng)由圖形用戶接口或命令行接口來(lái)指定規(guī)則,下面將對(duì)其進(jìn)行進(jìn)一步詳細(xì)描述。在一個(gè)實(shí)施例中,規(guī)則被存儲(chǔ)在具有內(nèi)部格式的關(guān)系數(shù)據(jù)庫(kù)表中,在聯(lián)合檔案文件關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)目錄中為了謂詞評(píng)估而優(yōu)化所述內(nèi)部格式,例如將其優(yōu)化為可直接執(zhí)行的SQL表述。對(duì)于每個(gè)表,可以指定規(guī)則集。組合所述規(guī)則以便確定移動(dòng)哪些行。在另一個(gè)實(shí)施例中,修改系統(tǒng)目錄以便反映存檔規(guī)則。多表規(guī)則規(guī)則還可以指定把來(lái)自幾個(gè)表的行存檔為一個(gè)集合,所述集合被稱作"存檔組"。這使得能夠請(qǐng)求存檔那些跨過(guò)幾個(gè)相關(guān)表的應(yīng)用對(duì)象。例如,應(yīng)用客戶對(duì)象可以包括購(gòu)買歷史記錄和簡(jiǎn)檔,并且可以被存儲(chǔ)在三個(gè)或四個(gè)表中。當(dāng)存檔此應(yīng)用對(duì)象時(shí),數(shù)據(jù)移動(dòng)器訪問(wèn)這些表,并且根據(jù)例如"客戶id"來(lái)結(jié)合數(shù)據(jù)。例如,存檔規(guī)則可以如下所示引用幾個(gè)表"存檔其中accounts.closedate>1年的購(gòu)買、出租"。使用以上規(guī)則,對(duì)于已經(jīng)關(guān)閉其帳戶一年以上的客戶,存檔購(gòu)買和出租。為了滿足此請(qǐng)求,使用相關(guān)關(guān)鍵詞來(lái)結(jié)合該表。管理工具和命令行接口使用戶能夠指定每個(gè)表中的哪個(gè)列被用作相關(guān)關(guān)鍵詞。用于存檔行的子集的規(guī)則在另一實(shí)施例中,存檔行的子集。例如,假定本地表具有包含傳真的二進(jìn)制的大的對(duì)象,其將被存檔在檔案文件存儲(chǔ)系統(tǒng)中,在該系統(tǒng)中將其存儲(chǔ)為文件。用于此表的綽號(hào)指定了一個(gè)關(guān)鍵詞,所述關(guān)鍵詞映射到檔案文件系統(tǒng)上的索引以便檢索包含所述傳真的文件。當(dāng)數(shù)據(jù)被存檔時(shí),在未被定義用于存檔的任何列中所存儲(chǔ)的數(shù)據(jù)會(huì)被丟失。結(jié)果,當(dāng)查詢數(shù)據(jù)時(shí),在行中可能存在"缺口(hole),,;檔案文件存儲(chǔ)系統(tǒng)對(duì)于在檔案文件系統(tǒng)中不存在的列值返回NULL。在此例子中,用戶可以檢索傳真,但是如果在與所述傳真相關(guān)聯(lián)的行(諸如購(gòu)買量)中存在其它值,那么那些其它值將不再是可檢索的。在另一實(shí)施例中,存檔在表中被引用的文件。例如,如果一個(gè)表具有包含文件名的列,那么該行和文件都可以被存檔。數(shù)據(jù)移動(dòng)器使用SQL來(lái)移動(dòng)表中的值。數(shù)據(jù)移動(dòng)器使用例如FTP協(xié)議之類的其它手段來(lái)移動(dòng)文件。在此實(shí)施例中,包裝器支持對(duì)遠(yuǎn)程文件的訪問(wèn)。規(guī)則語(yǔ)法現(xiàn)在將描述規(guī)則語(yǔ)法。下面的表8示出了一些示例性的規(guī)則元素。左列是規(guī)則元素,而右列是該元素的描述。表8:示例性的規(guī)則元素表7規(guī)則元素描述源一見(jiàn)圖或表目標(biāo)-目標(biāo)服務(wù)器數(shù)據(jù)庫(kù)或聯(lián)合服務(wù)器的名稱-目標(biāo)表表、可更新的視圖、綽號(hào)或NULL(空)(即,刪除數(shù)據(jù))存檔條件下列各項(xiàng)的集合*謂詞用于評(píng)估的條件(例如,狀態(tài)='結(jié)束,).保留期在所述條件為真后保持?jǐn)?shù)據(jù)多久(例如,90天).時(shí)間戳列可據(jù)此計(jì)算保留期(例如,closedate時(shí)間戳)的列(或者在子句上),是可選的-描述注釋說(shuō)明所述規(guī)則的簡(jiǎn)短文本調(diào)度.當(dāng)應(yīng)用所述規(guī)則時(shí)連續(xù)地,或在具體的(重復(fù))時(shí)間,例如每天晚上6:00PM。默認(rèn)是連續(xù)的。存檔條件包括一組謂詞,其中每個(gè)謂詞是用于識(shí)別要從表中存檔的列和條件的帶注釋的SQL子句。存檔條件還包括保留期、可選時(shí)間戳以及可選描述。命令和圖形用戶接口(GUI)向?qū)Э梢杂脕?lái)構(gòu)造語(yǔ)法上正確的謂詞,并且在構(gòu)造時(shí)顯示產(chǎn)生的組合條件。當(dāng)添加規(guī)則時(shí),系統(tǒng)檢驗(yàn)該規(guī)則。謂詞使得能夠進(jìn)行任意操作。例如,規(guī)則可以包括coimt(),其用于當(dāng)數(shù)據(jù)庫(kù)達(dá)到預(yù)定大小限制時(shí)觸發(fā)存檔。引用多個(gè)表的規(guī)則還使用相關(guān)列來(lái)存儲(chǔ)相關(guān)關(guān)鍵詞。例如,本地?cái)?shù)據(jù)庫(kù)具有SALES表和CUSTOMERS表。表9描繪了SALES表,而表10描繪了CUSTOMERS表。表9:示例性的SALES表表8SALESCustidClosedateprice(價(jià)格)101Null(空)10.991012001-01-01200.001022003-03-1710000000.00表10:示例性的CUSTOMERS表表9CUSTOMERSCustkey101102Name(名字)BourbonWhiskeystatus(狀態(tài))Preferred(優(yōu)選的)Regular(常規(guī)的)以下是存檔條件:1."除非客戶具有優(yōu)選的狀態(tài)或者銷售在$1000000之上,否則,當(dāng)closedate超過(guò)90天時(shí),把SALES移動(dòng)到ARCHTVE1"。2."把一年以上沒(méi)有購(gòu)物的CUSTOMERS移動(dòng)到ARCHIVE2"。3."當(dāng)表超過(guò)5千萬(wàn)行時(shí),移動(dòng)最陳舊的INVOICES(每月執(zhí)行一次)"。4."當(dāng)中止時(shí)立即把PRODUCTS移動(dòng)到ARCHIVE3"。圖13示出了包含存檔規(guī)則集的示例性規(guī)則表220,所述存檔規(guī)則集是根據(jù)上面所示出的存檔條件產(chǎn)生的。為方便起見(jiàn),在每一列的頂部示出了列名。在實(shí)踐中,規(guī)則表可以不存儲(chǔ)如圖所示的列名。規(guī)則表220包括規(guī)則名稱列221、表名列222、謂詞列223、相關(guān)列224、時(shí)間戳列225、保留期列226、調(diào)度列227、目標(biāo)服務(wù)器列228和描述列229。作為選擇,可以不使用描述列229。中的規(guī)則Rl、R2和R3來(lái)規(guī)定。上面的存檔條件二由圖13中的規(guī)則R4規(guī)定。上面的存檔條件三由圖13中的規(guī)則R5規(guī)定。上面的存檔條件四由圖13中的規(guī)則R6規(guī)定。在圖13中,在所述規(guī)則中,通過(guò)把源表中的列包括在方括號(hào)中來(lái)注釋該列。存檔條件的每個(gè)子句被指定為獨(dú)立的規(guī)則,以便便于描述復(fù)雜的條件。在每個(gè)保留期內(nèi)使用"AND"來(lái)組合用于每個(gè)本地表的子句,并且對(duì)于具有較長(zhǎng)保留期的子句利用"NOTIN"。例如,數(shù)據(jù)移動(dòng)器可以如下所示使用SQL語(yǔ)句來(lái)產(chǎn)生示例性的移動(dòng)查詢移動(dòng)SALES表中的90天的候選項(xiàng)-'移動(dòng),從saless起的行insertintoARCHIVE1.SALESselect*fromSALESswhere-規(guī)則Rl(s.closedateisnotnullands.closedate>90days)AND-將規(guī)則R2和R3組合排除滿足具有較長(zhǎng)保留期的規(guī)則的行nots.custidin(selectc.ckeyfromcustomerscwherec.status='preferred,)andprice>1000000)deletefromSALESswhere-規(guī)則Rl(s.closedateisnotnullands.closedate>90days)ANDnots.custidin(selectc.ckeyfromcustomerscwherec.status='preferred')andprice>1000000)commit由數(shù)據(jù)移動(dòng)器對(duì)于365天和5年的規(guī)則以及用于INVOICES和PRODUCTS表的規(guī)則產(chǎn)生附加的SQL語(yǔ)句。在圖13中,目標(biāo)服務(wù)器列228允許在具有多個(gè)檔案文件存儲(chǔ)系統(tǒng)的那些配置中指定目標(biāo)檔案文件存儲(chǔ)系統(tǒng)。當(dāng)目標(biāo)服務(wù)器是NULL時(shí),將訪問(wèn)預(yù)先定義的默認(rèn)目標(biāo)服務(wù)器,例如ARCHIVE1。在假定圖13中的規(guī)則集的情況下,SALES表的最小保留期是一天,而最大保留期是五年。在一個(gè)實(shí)施例中,如果"追溯"值大于最小j呆留時(shí)間,那么查詢會(huì)訪問(wèn)聯(lián)合檔案文件。例如,以下的SQL語(yǔ)句指定了等于100天的"追溯"值select*fromsalesgoback100dayswherec.custid=101此選擇結(jié)合了來(lái)自本地?cái)?shù)據(jù)庫(kù)和檔案文件存儲(chǔ)系統(tǒng)的數(shù)據(jù),即使custid等于101的客戶記錄是優(yōu)選的客戶也是如此,其SALES數(shù)據(jù)不會(huì)被移動(dòng)到檔案文件存儲(chǔ)裝置。管理和系統(tǒng)接口管理工具包括用于安裝和配置的圖形用戶接口(GUI)和命令行接口。管理工具可以建立檔案文件服務(wù)器,例如安裝軟件組件并創(chuàng)建數(shù)據(jù)庫(kù),配置聯(lián)合并創(chuàng)建綽號(hào),以及創(chuàng)建元數(shù)據(jù)。管理工具還通過(guò)提供向?qū)Ш兔钜员阏{(diào)查可用的檔案文件和功能來(lái)幫助程序員使用查詢接口。在另一實(shí)施例中,還提供了應(yīng)用編程接口(API)。命令行接口在命令行接口中,命令行解釋器(interpreter)支持管理命令。在此說(shuō)明書(shū)中,命令行解釋器被稱作"ibmfa"。使用以下示例性的命令來(lái)查詢系統(tǒng)對(duì)象。"ibmfalistnicknames[server]"命令列出了給定或所有檔案文件月良務(wù)器的綽號(hào)。"ibmfalistarchives"命令列出了檔案文件服務(wù)器的名稱。"ibmfalistrules[dbname[tabnamer命令返回了用于表或數(shù)據(jù)庫(kù)的存檔規(guī)則的格式化列表。還可以提供用于列出聯(lián)合視圖的命令。另一命令、"ibmfamoverdbname"執(zhí)行數(shù)據(jù)移動(dòng)器。可以如下所示把規(guī)則添加到規(guī)則表中ibmfaaddmlearchiveNamenulenametabschema.tabname.colnamepred="string"retain="duration"desc="string"在另一實(shí)施例中,當(dāng)添加規(guī)則時(shí),命令行解釋器檢驗(yàn)謂詞串。以下規(guī)則從規(guī)則表中除去規(guī)則ibmfadroprulearchiveNamemlename。在一個(gè)實(shí)施例中,并不恢復(fù)先前依照所除去的規(guī)則而存檔的數(shù)據(jù)。還提供了用于依照規(guī)則集根據(jù)命令行來(lái)從檔案文件存儲(chǔ)裝置檢索數(shù)據(jù)或把數(shù)據(jù)移動(dòng)到檔案文件存儲(chǔ)裝置的命令。以下是用于從檔案文件存儲(chǔ)裝置中檢索數(shù)據(jù)的示例性命令ibmfarestorelocalschema.tabnamegoback2years。上面的示例性的"ibmfarestore..."命令從檔案文件存儲(chǔ)裝置恢復(fù)在過(guò)去兩年內(nèi)所存檔的行,并且把該行重新插入到源表中。例如因?yàn)檫`反引用的完整性限制而不能被重新插入的行,被插入到異常表中。"ibmfarestore..."命令用于在撤消使數(shù)據(jù)被存檔的規(guī)則之后使用。級(jí)聯(lián)的聯(lián)合檔案文件存儲(chǔ)系統(tǒng)圖14描繪了級(jí)聯(lián)的聯(lián)合檔案文件存儲(chǔ)系統(tǒng)230的實(shí)施例。在此實(shí)施例中,第一計(jì)算機(jī)系統(tǒng)232包括第一聯(lián)合檔案文件RDBMS234,而第二計(jì)算機(jī)系統(tǒng)236包括第二聯(lián)合檔案文件RDBMS238。第一聯(lián)合檔案文件RDBMS234使用所述第一聯(lián)合檔案文件RDBMS234中的第一綽號(hào)240和第一包裝器242來(lái)與第二聯(lián)合檔案文件RDBMS238進(jìn)行通信。第一聯(lián)合檔案文件RDBMS234還包括第一查詢處理器244、第一數(shù)據(jù)移動(dòng)器246、第一本地?cái)?shù)據(jù)庫(kù)248、第一管理工具250和第一元數(shù)據(jù)252。如以上關(guān)于圖3所述,第一元數(shù)據(jù)包括第一規(guī)則、第一配置信息以及第一監(jiān)控、審核和統(tǒng)計(jì)信息。第一應(yīng)用254與第一聯(lián)合檔案文件RDBMS234通信。第一管理控制臺(tái)256與第一管理工具250通信,以便更新第一元數(shù)據(jù)252。第二聯(lián)合檔案文件RDBMS238具有第二管理工具260、第二查詢處理器262、第二數(shù)據(jù)移動(dòng)器264、第二本地?cái)?shù)據(jù)庫(kù)266、第二綽號(hào)268、第二包裝器270和第二元數(shù)據(jù)272。如以上關(guān)于圖3所述,第二元數(shù)據(jù)272包括第二規(guī)則、第二配置信息以及第二監(jiān)控、審核和統(tǒng)計(jì)信息。笫二包裝器270與第二檔案文件服務(wù)器274通信。笫二管理控制臺(tái)276與第二管理工具260通信,以便更新第二元數(shù)據(jù)272。在級(jí)聯(lián)的聯(lián)合檔案文件存儲(chǔ)系統(tǒng)230中,可以通過(guò)使用上述用于查詢處理器的任何實(shí)施例和/或技術(shù),來(lái)分別實(shí)現(xiàn)第一和第二查詢處理器244和262,并且可以查詢數(shù)據(jù)。上述關(guān)于聯(lián)合檔案文件RDBMS的實(shí)施例和技術(shù)還可以分別用在第一和第二聯(lián)合檔案文件RDBMS234和238中。另外,上述關(guān)于數(shù)據(jù)移動(dòng)器、本地?cái)?shù)據(jù)庫(kù)、管理工具、管理控制臺(tái)、綽號(hào)(一個(gè)或多個(gè))、包裝器和元數(shù)據(jù)的實(shí)施例和技術(shù)可以被分別實(shí)現(xiàn)和/或用在第一數(shù)據(jù)移動(dòng)器244、第一本地?cái)?shù)據(jù)庫(kù)248、第一管理工具250、第一管理控制臺(tái)256、第一綽號(hào)240、第一包裝器242和第一元數(shù)據(jù)252中。另外,上述關(guān)于數(shù)據(jù)移動(dòng)器、本地?cái)?shù)據(jù)庫(kù)、管理工具、管理控制臺(tái)、綽號(hào)(一個(gè)或多個(gè))、包裝器和元數(shù)據(jù)的實(shí)施例和技術(shù)可以被分別實(shí)現(xiàn)和/或用在第二數(shù)據(jù)移動(dòng)器264、第二本地?cái)?shù)據(jù)庫(kù)266、第二管理工具260、第二管理控制臺(tái)276、第二綽號(hào)(一個(gè)或多個(gè))268、第二包裝器270和第二元數(shù)據(jù)272中。檔案文件服務(wù)器274包括上述任何一個(gè)檔案文件存儲(chǔ)系統(tǒng)。當(dāng)存檔數(shù)據(jù)時(shí),第一數(shù)據(jù)移動(dòng)器246把第一數(shù)據(jù)子集經(jīng)由第一包裝器242從第一聯(lián)合檔案文件RDBMS234移動(dòng)到第二聯(lián)合檔案文件RDBMS238。在一個(gè)實(shí)施例中,第一數(shù)據(jù)移動(dòng)器使第一查詢處理器向第二聯(lián)合檔案文件RDBMS238發(fā)送用于寫(xiě)入數(shù)據(jù)的一組SQL語(yǔ)句以及所述數(shù)據(jù)。在第二聯(lián)合檔案文件RDBMS238中,第二查詢處理器262從第一包裝器242接收SQL語(yǔ)句和第一數(shù)據(jù)子集,并且依照元數(shù)據(jù)272中的第二規(guī)則把第一數(shù)據(jù)子集存儲(chǔ)在第二本地?cái)?shù)據(jù)庫(kù)266中。在另一實(shí)施例中,第二查詢處理器262把第一數(shù)據(jù)子集存儲(chǔ)在第二本地?cái)?shù)據(jù)庫(kù)266中,并且第二數(shù)據(jù)移動(dòng)器264依照第二元數(shù)據(jù)272中的規(guī)則把至少一部分的第一數(shù)據(jù)子集移動(dòng)到檔案文件服務(wù)器274。在另一替換實(shí)施例中,級(jí)聯(lián)任意數(shù)目的聯(lián)合檔案文件RDBMS。例如,第二聯(lián)合檔案文件RDBMS可以被耦合到第三聯(lián)合檔案文件RDBMS,而不是檔案文件服務(wù)器274。多個(gè)聯(lián)合檔案文件服務(wù)器圖15描繪了在異構(gòu)型環(huán)境280中具有多個(gè)檔案文件服務(wù)器的聯(lián)合檔案文件RDBMS的實(shí)施例。在計(jì)算機(jī)系統(tǒng)282中,聯(lián)合檔案文件RDBMS284包括查詢處理器286、數(shù)據(jù)移動(dòng)器288、本地?cái)?shù)據(jù)庫(kù)2卯、管理工具292和元數(shù)據(jù)294。如以上參考圖3所述,元數(shù)據(jù)294包括規(guī)則、配置信息以及監(jiān)控、審核和統(tǒng)計(jì)信息。聯(lián)合檔案文件RDBMS284還具有第一、第二、第三和第四綽號(hào)300、302、304和306,分別通過(guò)第一、第二、第三和第四包裝器310、312、314和316與第一檔案文件服務(wù)器、第二檔案文件服務(wù)器、第二關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)和文件系統(tǒng)320、322、324和326進(jìn)行通信。第二關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)324具有包括一個(gè)或多個(gè)表的數(shù)據(jù)庫(kù)328。文件系統(tǒng)326具有至少一個(gè)文件330,其可以是例如平面文件或電子表格。應(yīng)用332通過(guò)查詢處理器286查詢聯(lián)合檔案文件RDBMS284。在管理控制臺(tái)334處的系統(tǒng)管理員使用管理工具292來(lái)配置元數(shù)據(jù)294。在多個(gè)檔案文件服務(wù)器配置280中,可以通過(guò)使用上述關(guān)于查詢處理器的任何實(shí)施例和/或技術(shù),來(lái)實(shí)現(xiàn)查詢處理器286,并且可以查詢數(shù)據(jù)。上述關(guān)于聯(lián)合檔案文件RDBMS的實(shí)施例和技術(shù)還可以用在聯(lián)合檔案文件RDBMS284中。另外,上述關(guān)于數(shù)據(jù)移動(dòng)器、本地?cái)?shù)據(jù)庫(kù)、管理工具、管理控制臺(tái)、綽號(hào)(一個(gè)或多個(gè))、包裝器和元數(shù)據(jù)的實(shí)施例和技術(shù)可以被分別實(shí)現(xiàn)和/或用在數(shù)據(jù)移動(dòng)器288、本地?cái)?shù)據(jù)庫(kù)290、管理工具282、管理控制臺(tái)334、綽號(hào)300-306、包裝器310-316和元數(shù)據(jù)294中。第一和第二檔案文件服務(wù)器320和322分別包括第一和第二檔案文件存儲(chǔ)系統(tǒng)中的任何一個(gè)。第一和第二檔案文件服務(wù)器320和322可以分別使用上述關(guān)于圖4的檔案文件服務(wù)器104的任何一個(gè)實(shí)施例來(lái)實(shí)現(xiàn)。第一和第二檔案文件服務(wù)器320和322的第一和第二檔案文件存儲(chǔ)系統(tǒng)可以分別使用上述關(guān)于圖4的檔案文件存儲(chǔ)系統(tǒng)108的任何實(shí)施例來(lái)實(shí)現(xiàn)。在另一實(shí)施例中,第一檔案文件服務(wù)器320的第一檔案文件存儲(chǔ)系統(tǒng)包括具有硬盤驅(qū)動(dòng)器存儲(chǔ)裝置的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),而笫二檔案文件服務(wù)器322的第二檔案文件存儲(chǔ)系統(tǒng)包括光學(xué)存儲(chǔ)裝置。在替換實(shí)施例中,第一和第二檔案文件服務(wù)器320和322的第一和第二檔案文件存儲(chǔ)系統(tǒng)可以分別包括硬盤驅(qū)動(dòng)器、光學(xué)存儲(chǔ)裝置、磁帶存儲(chǔ)裝置、分級(jí)存儲(chǔ)系統(tǒng)或文檔管理系統(tǒng)。在另一替換實(shí)施例中,第一和第二檔案文件服務(wù)器320和322的第一和第二檔案文件存儲(chǔ)系統(tǒng)分別可以是如圖14中所示的另一聯(lián)合檔案文件RDBMS。在其它實(shí)施例中,使用兩個(gè)以上的檔案文件服務(wù)器。在另一實(shí)施例中,數(shù)據(jù)移動(dòng)器288依照規(guī)則從第一檔案文件服務(wù)器320提取數(shù)據(jù),并且把該數(shù)據(jù)存儲(chǔ)在第二檔案文件服務(wù)器322上。例如,如果第一檔案文件服務(wù)器320具有大量數(shù)據(jù),那么可以通過(guò)依照元數(shù)據(jù)294中的存檔規(guī)則集從第一檔案文件服務(wù)器320中提取數(shù)據(jù)子集并且把它存儲(chǔ)在第二檔案文件服務(wù)器322中,來(lái)提供更小的第二檔案文件322。在另一實(shí)施例中,規(guī)則規(guī)定把不同的數(shù)據(jù)分別存儲(chǔ)在第一和第二檔案文件服務(wù)器320和322上。例如,第一和第二檔案文件服務(wù)器320和322可以分別存檔來(lái)自本地?cái)?shù)據(jù)庫(kù)290中的不同表的數(shù)據(jù)。在又一實(shí)施例中,規(guī)則規(guī)定把較陳舊的數(shù)據(jù)從第一檔案文件服務(wù)器320移動(dòng)到第二檔案文件服務(wù)器322。例如,規(guī)則可以規(guī)定在九十天之后把數(shù)據(jù)從本地?cái)?shù)據(jù)庫(kù)290移動(dòng)到第一檔案文件服務(wù)器320,而且在一年之后把該數(shù)據(jù)從第一檔案文件服務(wù)器320移動(dòng)到第二檔案文件服務(wù)器322。在另一實(shí)施例中,數(shù)據(jù)移動(dòng)器288依照規(guī)則來(lái)存檔來(lái)自至少一個(gè)聯(lián)合數(shù)據(jù)源的數(shù)據(jù)。例如,所述規(guī)則可以規(guī)定在六個(gè)月之后把第二關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)324中的數(shù)據(jù)移動(dòng)到第一檔案文件服務(wù)器320。在另一例子中,所述規(guī)則可以規(guī)定在三個(gè)月之后把文件330中的數(shù)據(jù)移動(dòng)到第一檔案文件服務(wù)器320。在又一實(shí)施例中,具有多個(gè)檔案文件服務(wù)器的聯(lián)合檔案文件RDBMS280被級(jí)聯(lián)為圖14的第二聯(lián)合檔案文件RDBMS238。本發(fā)明的聯(lián)合檔案文件RDBMS允許使用關(guān)系數(shù)據(jù)庫(kù)的應(yīng)用得到數(shù)據(jù)存檔的好處,諸如更小的數(shù)據(jù)集以及由此得到改進(jìn)的應(yīng)答時(shí)間,同時(shí)能夠訪問(wèn)所存檔的數(shù)據(jù),就好像所存檔的數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)中一樣。應(yīng)用還可以使用標(biāo)準(zhǔn)SQL,因此能夠在相同的SQL查詢中組合存檔和未存檔的數(shù)據(jù)。數(shù)據(jù)可以在任何給定時(shí)間被查詢并看起來(lái)好像所述數(shù)據(jù)存在于單個(gè)存儲(chǔ)系統(tǒng)中一樣,即便當(dāng)所述數(shù)據(jù)正被移動(dòng)或已經(jīng)4皮移動(dòng)了時(shí)也是如此。為了說(shuō)明和描述的目的,已經(jīng)給出了本發(fā)明的優(yōu)選實(shí)施例的上述描述。其并不是窮舉的,并且也不打算把本發(fā)明限制為所公開(kāi)的精確形式。按照上述教導(dǎo)可以進(jìn)行許多修改和變化。本發(fā)明的范圍并不受到此詳細(xì)說(shuō)明的限制,而是由其所附的權(quán)利要求來(lái)限制。權(quán)利要求1.一種用于透明地存檔在一個(gè)或多個(gè)第一數(shù)據(jù)源中所存儲(chǔ)的數(shù)據(jù)的方法,包括由第一數(shù)據(jù)移動(dòng)器依照第一規(guī)則集把第一數(shù)據(jù)子集從所述一個(gè)或多個(gè)第一數(shù)據(jù)源移動(dòng)到第一聯(lián)合檔案文件。2.如權(quán)利要求1所述的方法,還包括由所述第一數(shù)據(jù)移動(dòng)器依照所述第一規(guī)則集把第二數(shù)據(jù)子集從所述第一聯(lián)合檔案文件移動(dòng)到第二聯(lián)合檔案文件。3.如權(quán)利要求1所述的方法,其中,所述第一聯(lián)合檔案文件被耦合到第二聯(lián)合檔案文件,所述方法還包括由第二數(shù)據(jù)移動(dòng)器依照第二規(guī)則集把至少一部分的第一數(shù)據(jù)子集移動(dòng)到所述第二聯(lián)合檔案文件。4.如權(quán)利要求1所述的方法,還包括處理查詢,以便檢索第二數(shù)據(jù)子集,其中,從所述第一聯(lián)合檔案文件中檢索所述第二數(shù)據(jù)子集的第一部分。5.如權(quán)利要求4所述的方法,其中,所述處理步驟包括確定是否有任何將會(huì)滿足所述查詢的數(shù)據(jù)子集被存儲(chǔ)在所述第一聯(lián)合檔案文件中。6.如權(quán)利要求4所述的方法,還包括在一個(gè)或多個(gè)第一數(shù)據(jù)源和第一聯(lián)合檔案文件中的至少一個(gè)上創(chuàng)建視圖;其中,所述處理步驟包括使用所述視圖來(lái)處理所述查詢,以便從一個(gè)或多個(gè)第一數(shù)據(jù)源和第一聯(lián)合檔案文件中的至少一個(gè)聚集第二數(shù)據(jù)子集。7.如權(quán)利要求4所述的方法,其中,所述處理步驟包括調(diào)用表函數(shù),以便從所述第一聯(lián)合檔案文件中檢索所述第二數(shù)據(jù)子集的第一部分。8.如權(quán)利要求1所述的方法,還包括接收用于指定從中檢索數(shù)據(jù)的時(shí)間范圍的查詢;并且處理所述查詢,以便根據(jù)所述時(shí)間范圍來(lái)從第一聯(lián)合檔案文件中檢索數(shù)據(jù)。9.如權(quán)利要求1所述的方法,還包括接收用于檢索第二數(shù)據(jù)子集的查詢;確定由所述查詢所請(qǐng)求的第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中;并且從所述第一聯(lián)合檔案文件中檢索所述第二數(shù)據(jù)子集的所述部分。10.如權(quán)利要求9所述的方法,還包括更新用于表明數(shù)據(jù)的位置的元數(shù)據(jù),并且其中,所述確定由所述查詢所請(qǐng)求的第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中的步驟,是基于所述元數(shù)據(jù)的。11.如權(quán)利要求1所述的方法,還包括更新至少一個(gè)配置參數(shù);接收查詢;并且依照所述至少一個(gè)配置參數(shù)來(lái)處理所述查詢,以便從所述第一聯(lián)合檔案文件中檢索第二數(shù)據(jù)子集。12.如權(quán)利要求l所述的方法,其中,所述規(guī)則集中的至少一個(gè)規(guī)則把謂詞與一個(gè)或多個(gè)第一數(shù)據(jù)源中的表上的保留期相關(guān)聯(lián),并且其與另一規(guī)則組合,以便表示在所述一個(gè)或多個(gè)第一數(shù)據(jù)源中的不同表之間的相關(guān)性。13.如權(quán)利要求l所述的方法,還包括更新在所述第一聯(lián)合檔案文件中的第一數(shù)據(jù)子集的一部分的值。14.一種用于透明地存檔數(shù)據(jù)的設(shè)備,包括耦合到一個(gè)或多個(gè)第一數(shù)據(jù)源并且還耦合到第一聯(lián)合檔案文件的計(jì)算機(jī);和要由所述計(jì)算機(jī)執(zhí)行的一個(gè)或多個(gè)計(jì)算機(jī)程序,用于由第一數(shù)據(jù)移動(dòng)器依照第一規(guī)則集把第一數(shù)據(jù)子集從所述一個(gè)或多個(gè)第一數(shù)據(jù)源移動(dòng)到所述第一聯(lián)合檔案文件。15.如權(quán)利要求14所述的設(shè)備,其中,所述計(jì)算機(jī)被耦合到第二聯(lián)合檔案文件,并且所述一個(gè)或多個(gè)計(jì)算機(jī)程序還用于由所述第一數(shù)據(jù)移動(dòng)器依照所述第一規(guī)則集把第二數(shù)據(jù)子集從所述第一聯(lián)合檔案文件移動(dòng)到所述第二聯(lián)合檔案文件。16.如權(quán)利要求14所述的設(shè)備,其中,所述第一聯(lián)合檔案文件被耦合到第二聯(lián)合檔案文件,并且所述一個(gè)或多個(gè)計(jì)算機(jī)程序還用于由第二數(shù)據(jù)移動(dòng)器依照第二規(guī)則集把至少一部分的第一數(shù)據(jù)子集移動(dòng)到所述第二聯(lián)合檔案文件。17.如權(quán)利要求14所述的設(shè)備,其中,所述一個(gè)或多個(gè)計(jì)算機(jī)程序還用于在一個(gè)或多個(gè)第一數(shù)據(jù)源和第一聯(lián)合檔案文件中的至少一個(gè)上創(chuàng)建視圖;并且使用所述視圖來(lái)處理查詢,以便檢索第二數(shù)據(jù)子集,其中,從所述第一聯(lián)合檔案文件檢索所述第二數(shù)據(jù)子集的第一部分,并且所述視圖從所述一個(gè)或多個(gè)第一數(shù)據(jù)源和第一聯(lián)合檔案文件中的至少一個(gè)聚集第二數(shù)據(jù)子集。18.如權(quán)利要求14所述的設(shè)備,其中,所述一個(gè)或多個(gè)計(jì)算機(jī)程序還用于接收用于檢索第二數(shù)據(jù)子集的查詢;確定由所述查詢所請(qǐng)求的第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中;并且從所述第一聯(lián)合檔案文件中檢索所述第二數(shù)據(jù)子集的所述部分。19.如權(quán)利要求18所述的設(shè)備,其中,所述一個(gè)或多個(gè)計(jì)算機(jī)程序還用于更新用于表明數(shù)據(jù)的位置的元數(shù)據(jù),并且其中,所述確定由所述查詢所請(qǐng)求的第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中的處理,是基于所述元數(shù)據(jù)的。20.—種包括計(jì)算機(jī)程序可用介質(zhì)的制造產(chǎn)品,該計(jì)算機(jī)程序可用介質(zhì)包含可由計(jì)算機(jī)執(zhí)行的一個(gè)或多個(gè)指令,所述指令用來(lái)執(zhí)行用于透明地存檔在一個(gè)或多個(gè)第一數(shù)據(jù)源中所存儲(chǔ)的數(shù)據(jù)的方法,所述方法包括由第一數(shù)據(jù)移動(dòng)器依照第一規(guī)則集把第一數(shù)據(jù)子集從所述一個(gè)或多個(gè)第一數(shù)據(jù)源移動(dòng)到第一聯(lián)合檔案文件。21.如權(quán)利要求20所述的制造產(chǎn)品,所述方法還包括由所述第一數(shù)據(jù)移動(dòng)器依照所述第一規(guī)則集把第二數(shù)據(jù)子集從所述第一聯(lián)合檔案文件移動(dòng)到第二聯(lián)合檔案文件。22.如權(quán)利要求20所述的制造產(chǎn)品,其中,所述第一聯(lián)合檔案文件被耦合到第二聯(lián)合檔案文件,所述方法還包括由第二數(shù)據(jù)移動(dòng)器依照第二規(guī)則集把至少一部分的第一數(shù)據(jù)子集移動(dòng)到所述第二聯(lián)合檔案文件。23.如權(quán)利要求20所述的制造產(chǎn)品,所述方法還包括處理查詢,以便檢索笫二數(shù)據(jù)子集,其中,從所述第一聯(lián)合檔案文件中檢索所述第二數(shù)據(jù)子集的第一部分。24.如權(quán)利要求23所述的制造產(chǎn)品,其中,所述處理步驟包括確定是否有任何將會(huì)滿足所述查詢的數(shù)據(jù)子集被存儲(chǔ)在所述第一聯(lián)合檔案文件中。25.如權(quán)利要求23所述的制造產(chǎn)品,所述方法還包括在一個(gè)或多個(gè)第一數(shù)據(jù)源和第一聯(lián)合檔案文件中的至少一個(gè)上創(chuàng)建視圖,其中,所述處理步驟包括使用所述視圖來(lái)處理所述查詢,以便從一個(gè)或多個(gè)第一數(shù)據(jù)源和第一聯(lián)合檔案文件中的至少一個(gè)聚集第二數(shù)據(jù)子集。26.如權(quán)利要求23所述的制造產(chǎn)品,其中,所述處理步驟包括調(diào)用表函數(shù),以便從所述第一聯(lián)合檔案文件檢索所述第二數(shù)據(jù)子集的第一部分。27.如權(quán)利要求20所述的制造產(chǎn)品,所述方法還包括接收用于指定從中檢索數(shù)據(jù)的時(shí)間范圍的查詢;并且處理所述查詢,以便根據(jù)所述時(shí)間范圍來(lái)從第一聯(lián)合檔案文件中檢索數(shù)據(jù)。28.如權(quán)利要求20所述的制造產(chǎn)品,所述方法還包括接收用于檢索第二數(shù)據(jù)子集的查詢;確定由所述查詢所請(qǐng)求的第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中;并且從所述第一聯(lián)合檔案文件中檢索所述第二數(shù)據(jù)子集的所述部分。-29.如權(quán)利要求26所述的制造產(chǎn)品,所述方法還包括更新用于表明數(shù)據(jù)的位置的元數(shù)據(jù);并且其中,所述確定由所述查詢所請(qǐng)求的第二數(shù)據(jù)子集的一部分是否被存儲(chǔ)在第一聯(lián)合檔案文件中的步驟,是基于所述元數(shù)據(jù)的。30.如4又利要求20所述的制造產(chǎn)品,所述方法還包括更新至少一個(gè)配置參數(shù);接收查詢,并且依照所述至少一個(gè)配置參數(shù)來(lái)處理所述查詢,以便從第一聯(lián)合檔案文件中檢索第二數(shù)據(jù)子集。31.如權(quán)利要求20所述的制造產(chǎn)品,其中,第一規(guī)則集中的至少一個(gè)規(guī)則把謂詞與一個(gè)或多個(gè)第一數(shù)據(jù)源中的表上的保留期相關(guān)聯(lián),并且其與另一規(guī)則組合,以便表示在所述一個(gè)或多個(gè)第一數(shù)據(jù)源中的不同表之間的相關(guān)性。32.如權(quán)利要求20所述的制造產(chǎn)品,所述方法還包括更新在所述第一聯(lián)合檔案文件中的第一數(shù)據(jù)子集的一部分的值。全文摘要一種方法、設(shè)備以及用于實(shí)現(xiàn)該方法的制造產(chǎn)品透明地存檔數(shù)據(jù)。一個(gè)或多個(gè)數(shù)據(jù)源存儲(chǔ)數(shù)據(jù)。第一數(shù)據(jù)移動(dòng)器依照第一規(guī)則集把第一數(shù)據(jù)子集從一個(gè)或多個(gè)數(shù)據(jù)源移動(dòng)到第一聯(lián)合檔案文件。在本發(fā)明的另一方面中,處理查詢,以便檢索第二數(shù)據(jù)子集,并且從第一聯(lián)合檔案文件中檢索第二數(shù)據(jù)子集的一部分。在本發(fā)明的又一方面中,對(duì)所述查詢的處理確定是否有任何將會(huì)滿足所述查詢的數(shù)據(jù)被存儲(chǔ)在第一聯(lián)合檔案文件中。文檔編號(hào)G06F17/30GK101263492SQ200480039966公開(kāi)日2008年9月10日申請(qǐng)日期2004年12月14日優(yōu)先權(quán)日2004年1月7日發(fā)明者塞爾吉·布爾邦納斯,查爾斯·丹尼爾·沃爾夫森申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
杨浦区| 白水县| 湟中县| 天津市| 兴文县| 新沂市| 正阳县| 黔江区| 昌吉市| 宜春市| 高台县| 清镇市| 宜都市| 武清区| 南华县| 泰安市| 嘉定区| 东宁县| 昭觉县| 丽水市| 城固县| 大姚县| 茶陵县| 北川| 烟台市| 孟州市| 嘉禾县| 上林县| 辉县市| 宁波市| 太原市| 绥德县| 额尔古纳市| 北辰区| 襄樊市| 无为县| 洛浦县| 泸西县| 上杭县| 黄浦区| 浪卡子县|