国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      具有多數(shù)據(jù)源能力的數(shù)據(jù)恢復(fù)方法和裝置的制作方法

      文檔序號(hào):6419036閱讀:205來源:國(guó)知局
      專利名稱:具有多數(shù)據(jù)源能力的數(shù)據(jù)恢復(fù)方法和裝置的制作方法
      本申請(qǐng)是1996年1月2日提交的申請(qǐng)序列號(hào)為08/582,062和1996年2月1日提交的申請(qǐng)序列號(hào)為08/593,118的申請(qǐng)的后續(xù)部分,這兩個(gè)申請(qǐng)的題目都是《具有多數(shù)據(jù)源能力的數(shù)據(jù)恢復(fù)方法和裝置(DATA RETRIEVALMETHOD AND APPARATUS WITH MULTIPLE SOURCE CAPABILITY)》,本文將這兩個(gè)申請(qǐng)都引用為參考文獻(xiàn)。
      本發(fā)明涉及計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),它能恢復(fù)存儲(chǔ)在大量不同數(shù)據(jù)源的一個(gè)或多個(gè)中的信息,并且,該信息可以是大量不同格式中的任意格式,并且/或者提供基于這些信息的報(bào)表制作(reporting)和分析,并且特別涉及一種計(jì)算機(jī)方法和裝置,這種方法和裝置能自動(dòng)地恢復(fù)以眾多格式中的任意格式所存儲(chǔ)的數(shù)據(jù)庫信息,包括結(jié)構(gòu)和/或相關(guān)的信息,而不需要取決于源數(shù)據(jù)的人工分析。
      背景信息組織計(jì)算機(jī)可存取信息的大量方法已經(jīng)開發(fā)出來,比如關(guān)系或等級(jí)數(shù)據(jù)庫管理系統(tǒng),平面文件數(shù)據(jù)系統(tǒng),電子表格系統(tǒng),等等。這些系統(tǒng)用于存儲(chǔ)、管理和顯示許多類型的信息,包括帳目或其他財(cái)務(wù)信息、科學(xué)或教育數(shù)據(jù)、公司或商務(wù)數(shù)據(jù)、姓名、地址和電話數(shù)據(jù)和統(tǒng)計(jì)數(shù)據(jù)。許多格式和數(shù)據(jù)結(jié)構(gòu)已經(jīng)開發(fā)出來,并且這種情況具有值得做的和不值得做的兩種分支。在積極的方面,通過具有繁多的不同類型系統(tǒng),可能提供針對(duì)不同目的優(yōu)化的不同系統(tǒng)(例如,為數(shù)據(jù)登錄或存儲(chǔ)優(yōu)化對(duì)為數(shù)據(jù)分析和報(bào)表制作的靈活性和速度優(yōu)化,為帳目數(shù)據(jù)優(yōu)化對(duì)為公司數(shù)據(jù)優(yōu)化,等等),或者提供吸引個(gè)人或公司喜好的用戶接口或其它性能。然而,信息系統(tǒng)的這個(gè)增加在下列情況中準(zhǔn)備了大量的障礙,這些情況在存取兩個(gè)或多個(gè)這樣系統(tǒng)中的信息中是有用的,即協(xié)調(diào)或組合這樣的信息。這個(gè)情況的例子包括(1)會(huì)計(jì)師希望產(chǎn)生標(biāo)準(zhǔn)化的報(bào)表但是會(huì)計(jì)師有大量的客戶,每個(gè)客戶在不同類型的數(shù)據(jù)源中保留其帳目數(shù)據(jù);(2)有幾個(gè)分公司的公司希望產(chǎn)生統(tǒng)一的報(bào)表,但是在報(bào)表中不同的部門使用不同公司或財(cái)務(wù)軟件;(3)公司希望產(chǎn)生統(tǒng)一的報(bào)表,但是公司保留其關(guān)于第一類型或商標(biāo)的數(shù)據(jù)庫(或其他的數(shù)據(jù)源)的帳目信息,及其關(guān)于第二和不同類型的數(shù)據(jù)庫的公司信息;(4)調(diào)查共同問題的一組科學(xué)家,每一個(gè)科學(xué)家存儲(chǔ)或訪問保存在不同類型或商標(biāo)的數(shù)據(jù)庫或其它數(shù)據(jù)源中的數(shù)據(jù)。讀者理解本文公開內(nèi)容后將會(huì)想到其它例子。另外,在一些情形下,當(dāng)單一類型數(shù)據(jù)源中或甚至所有類型中所有希望的信息存儲(chǔ)在單一數(shù)據(jù)文件中時(shí),希望提供一種訪問數(shù)據(jù)的方式,即提供統(tǒng)一和/或增強(qiáng)的數(shù)據(jù)的報(bào)表制作(reporting)和分析。
      這些情況會(huì)出現(xiàn)許多困難,其原因是多方面的,包括組織信息方式差異和各種類型數(shù)據(jù)源之間的差異。在一些情況下,即使使用相同的數(shù)據(jù)庫軟件,相似種類的信息也能以不同方式來組織。例如,在第一個(gè)例子中,用第一個(gè)數(shù)據(jù)庫軟件包,用戶可以組織公司員工的記錄使所有的公司員工的姓名存儲(chǔ)在第一個(gè)表格或列表中,所有的地址存儲(chǔ)在第二個(gè)表格或列表中,所有的電話號(hào)碼存儲(chǔ)在第三個(gè)表格或列表中,并且存儲(chǔ)指針或鏈路來顯示哪個(gè)姓名與哪個(gè)地址和哪個(gè)電話號(hào)碼相關(guān)。然而,存在使用相同軟件的另一個(gè)例子,其中,其中組織員工信息的不同的人可以提供單一表格,其中每一行或“記錄”的信息包括姓名、地址和電話號(hào)碼,這樣沒有任何從一個(gè)表的記錄到另一個(gè)表的記錄的鏈路或指針。
      另外,不同類型的數(shù)據(jù)源能有不同的結(jié)構(gòu)和/或不同的數(shù)據(jù)存儲(chǔ)格式或方案。例如,一些數(shù)據(jù)庫包以等級(jí)方式來組織(例如,以樹型方式),而其它數(shù)據(jù)庫包可被組織為關(guān)系數(shù)據(jù)庫(二維行列表上的模型)。此外,信息能以,嚴(yán)格地講,非數(shù)據(jù)庫的形式存儲(chǔ),比如以“平面文件”的形式存儲(chǔ)數(shù)據(jù),作為一個(gè)電子表格,等等。另外,不同類型的數(shù)據(jù)源能用各種格式存儲(chǔ)數(shù)據(jù)。例如,一些數(shù)據(jù)庫產(chǎn)品在諸如硬盤的存儲(chǔ)器件上以單獨(dú)文件的方式存儲(chǔ)每一個(gè)表、每一個(gè)報(bào)表制作(reporting)的格式和每一個(gè)查詢,而其它軟件能在一個(gè)文件中存儲(chǔ)所有的表、關(guān)系、查詢、報(bào)表格式,等等。一些產(chǎn)品能將每一條記錄和/或字段作為固定長(zhǎng)度數(shù)據(jù)存儲(chǔ),和/或?qū)⑵浯鎯?chǔ)在一個(gè)文件中的固定位置,而其他產(chǎn)品可使用分界符來區(qū)分一個(gè)記錄和下一個(gè)記錄,或者在一個(gè)記錄中的一個(gè)字段和下一個(gè)字段。即使兩個(gè)不同的軟件產(chǎn)品在預(yù)先指定的位置存儲(chǔ)一條特定類型的信息,這個(gè)位置對(duì)于不同的軟件產(chǎn)品也可以是不同的。此外,數(shù)據(jù)能在不同的軟件產(chǎn)品中被不同地編碼,比如在一個(gè)產(chǎn)品中使用ASCII編碼,在另一個(gè)產(chǎn)品中用多種語言(多字節(jié))字符。在一些情況下,數(shù)據(jù)可以被壓縮和/或被加密。
      由于各種類型數(shù)據(jù)之間的廣泛變化,在過去,當(dāng)希望訪問存儲(chǔ)的信息時(shí)(例如,想要標(biāo)準(zhǔn)化報(bào)表和分析和/或從兩個(gè)或多個(gè)數(shù)據(jù)庫中組合或協(xié)調(diào)信息),一個(gè)顧問或其他專家單獨(dú)或“手工地”分析每一個(gè)“源”數(shù)據(jù)文件或數(shù)據(jù)庫來理解其結(jié)構(gòu)、關(guān)系數(shù)據(jù)存儲(chǔ)格式、數(shù)據(jù)庫中的數(shù)據(jù)組織,等等。那么專家會(huì)構(gòu)造一些輸入方式或在源數(shù)據(jù)文件或數(shù)據(jù)庫中查詢數(shù)據(jù)來完成想得到的訪問、協(xié)調(diào)或組合。盡管這個(gè)方法是可操作的,但是它是勞動(dòng)密集的,因?yàn)樗笕斯し治?,并且也是消耗時(shí)間的,因?yàn)閷<一蝾檰柾瓿煞治鋈蝿?wù)通常要求比較長(zhǎng)的時(shí)間,對(duì)于將要完成的訪問、協(xié)調(diào)或組合經(jīng)常需要幾天或幾周。
      因此,提供這樣一種系統(tǒng)是很有用的其中,各種格式或形式或各種方式組織的信息能被訪問、組合和/或協(xié)調(diào),同時(shí)減少或刪除人工分析的需要,從而提供一種至少部分自動(dòng)并最好比某些以前的方法較少勞動(dòng)密集和較少消耗時(shí)間的系統(tǒng)。
      本發(fā)明的總結(jié)本發(fā)明涉及完成訪問存儲(chǔ)信息的系統(tǒng),比如,訪問信息或完成兩個(gè)不同信息存儲(chǔ)系統(tǒng)中的協(xié)調(diào)和/或組合。更可取的是,一些或所有涉及的分析是自動(dòng)完成的(即不需要人分析)。在一個(gè)實(shí)施例中,使用合適地編程的計(jì)算機(jī)。
      在一個(gè)實(shí)施例中,信息,最好包括至少一些從數(shù)據(jù)源自動(dòng)獲得的信息,被用于定義和/或提供一種新的數(shù)據(jù)庫。在一些實(shí)施例中,能提供多于一個(gè)的數(shù)據(jù)庫。例如,第一個(gè)新數(shù)據(jù)庫能用作源來分布信息到大量的信息用戶,并且被分布的信息本身可以許多相互不同的數(shù)據(jù)庫的形式存在。
      更可取的是,系統(tǒng)是靈活的因?yàn)橄到y(tǒng)不是固有地限制在能訪問的數(shù)據(jù)格式而是被構(gòu)造成實(shí)際上能從任何計(jì)算機(jī)可讀信息源中獲得數(shù)據(jù)。最好,系統(tǒng)是可擴(kuò)展的,(更可取的是,模塊化擴(kuò)展),因?yàn)樵芗尤雭碓试S它訪問附加類型、格式或組織的數(shù)據(jù)。在一個(gè)實(shí)施例中,數(shù)據(jù)的訪問、協(xié)調(diào)或組合伴隨有數(shù)據(jù)分析的增強(qiáng),即,提供在最初數(shù)據(jù)源中沒有發(fā)現(xiàn)或使用的多個(gè)類型的數(shù)據(jù)分析和/或報(bào)告。更可取的是,系統(tǒng)能用于提供數(shù)據(jù)分析的標(biāo)準(zhǔn)化或跨越若干數(shù)據(jù)源類型的報(bào)表設(shè)計(jì)。在一個(gè)實(shí)施例中,以便完成希望的結(jié)果(例如通過使用文本識(shí)別、人工智能和/或?qū)<蚁到y(tǒng)),系統(tǒng)使用源數(shù)據(jù)文件或數(shù)據(jù)庫的內(nèi)容,以及關(guān)于結(jié)構(gòu)的信息。在一個(gè)實(shí)施例中,系統(tǒng)使用這些信息來至少部分控制用于分析或制作報(bào)表的數(shù)據(jù)產(chǎn)生的方式。在一個(gè)實(shí)施例中,系統(tǒng)在提供這種分析和報(bào)表中使用這些信息。
      以標(biāo)準(zhǔn)化或統(tǒng)一方式提供了關(guān)于包含在一數(shù)據(jù)源中的信息的輸出或報(bào)表的產(chǎn)生,該數(shù)據(jù)源可以是任何兩種或多種類型的源數(shù)據(jù)。專門對(duì)于不同類型的源數(shù)據(jù)提供多個(gè)驅(qū)動(dòng)程序,這些源數(shù)據(jù)包括用于鑒別結(jié)構(gòu)或各種數(shù)據(jù)源的其他特征的編程,例如,在定義新的數(shù)據(jù)庫時(shí)使用。最好,新數(shù)據(jù)庫被構(gòu)造成允許高度靈活和/或快速輸出或制作報(bào)表,或者換句話說新數(shù)據(jù)庫為制作報(bào)表的目的而被優(yōu)化。在一個(gè)實(shí)施例中,本發(fā)明包括把一個(gè)或多個(gè)數(shù)據(jù)源轉(zhuǎn)換成一個(gè)或多個(gè)統(tǒng)一的數(shù)據(jù)庫,最好為組織數(shù)據(jù)和/或使數(shù)據(jù)有效而產(chǎn)生一個(gè)或多個(gè)關(guān)鍵類型,選擇性地產(chǎn)生類別分組或滾動(dòng)條(rollup)和附加數(shù)據(jù)或選擇參考。
      在一個(gè)實(shí)施例,本發(fā)明創(chuàng)造或提供一個(gè)數(shù)據(jù)庫,基于從現(xiàn)存數(shù)據(jù)文件轉(zhuǎn)換的財(cái)務(wù)或其他數(shù)據(jù),比如由以前的財(cái)務(wù)或其他軟件創(chuàng)建的數(shù)據(jù)文件。
      附圖的簡(jiǎn)要描述

      圖1是平面文件數(shù)據(jù)存儲(chǔ)的一個(gè)例子的簡(jiǎn)要描述;圖2描述一個(gè)有關(guān)圖1描述的數(shù)據(jù)存儲(chǔ)的可用類型的目錄結(jié)構(gòu);圖3A-3C描述的是有關(guān)圖1描述的數(shù)據(jù)存儲(chǔ)中可用數(shù)據(jù)存儲(chǔ)格式的例子;圖4A-4F是在關(guān)系數(shù)據(jù)的表中存儲(chǔ)的數(shù)據(jù)的一個(gè)例子的簡(jiǎn)要描述;圖5描述一個(gè)有關(guān)圖4A-圖4F描述的數(shù)據(jù)存儲(chǔ)可用類型的目錄結(jié)構(gòu);圖6是平面文件數(shù)據(jù)存儲(chǔ)的一個(gè)例子的簡(jiǎn)要描述;圖7A-7D是在關(guān)系數(shù)據(jù)庫表中存儲(chǔ)的數(shù)據(jù)的簡(jiǎn)要描述;圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的信息恢復(fù)系統(tǒng)的方框圖;圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的功能模塊的內(nèi)容的簡(jiǎn)要方框圖;圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的信息恢復(fù)過程的流程圖;圖11A和11B描述一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施例選擇或查找目錄的偽代碼的過程;圖12是一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施例提供的數(shù)據(jù)庫808表中存儲(chǔ)的數(shù)據(jù)的簡(jiǎn)要描述;和圖13是一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施例解釋一個(gè)多數(shù)據(jù)庫結(jié)構(gòu)的方框圖。
      優(yōu)選實(shí)施例的詳細(xì)描述在描述本發(fā)明的某些方面之前,提供存儲(chǔ)信息的各種形式的例子對(duì)促進(jìn)理解本發(fā)明是有用的。提供幾個(gè)例子來做這個(gè)工作,包括財(cái)務(wù)信息的例子和科學(xué)或技術(shù)信息的例子。表1提供由兩個(gè)不同公司存儲(chǔ)數(shù)據(jù)的各種類型的比較。表1旨在顯示兩個(gè)公司的概念化的財(cái)務(wù)組織和其它信息,并不是存儲(chǔ)在數(shù)據(jù)庫中的必要的信息(盡管如果希望的話,可以成為必要的信息)。
      表1 財(cái)務(wù)組織的例子公司#1 公司#2
      在表1的第一個(gè)例子中,公司1保留財(cái)務(wù)信息,雇員信息,項(xiàng)目信息和產(chǎn)品信息并因此有四個(gè)帳目部分。公司1的財(cái)務(wù)信息僅包含三個(gè)成分現(xiàn)金,應(yīng)付帳目和應(yīng)收帳目。公司通過兩類項(xiàng)目(研究和銷售)維持其銷售員的清單,追蹤信息并且維持產(chǎn)品的清單。表1的第二個(gè)例子是稍微長(zhǎng)(但仍然簡(jiǎn)單)的例子。在這個(gè)例子中,帳目在一個(gè)等級(jí)中有多個(gè)部分。盡管公司2的帳目有資現(xiàn)、應(yīng)付帳目和應(yīng)收帳目類別,但是這些類別的每一個(gè)有子類并且一些子類甚至更細(xì)的劃分。類似地,雇員、項(xiàng)目和產(chǎn)品信息分為幾個(gè)類型和子類,公司2還有附加的追蹤條目,例如子公司。
      表1說明,即使在考慮數(shù)據(jù)源和/或數(shù)據(jù)存儲(chǔ)格式之間的差異之前,公司的結(jié)構(gòu)和/或公司選擇組織信息的方式也將造成一個(gè)系統(tǒng)與另一個(gè)系統(tǒng)的不同。例如,如果會(huì)計(jì)師要公司1和公司2作為客戶并希望對(duì)這樣兩個(gè)公司使用報(bào)表制作和分析的統(tǒng)一或標(biāo)準(zhǔn)系統(tǒng),那么做這件事是極困難的,即使公司1和公司2使用同樣的數(shù)據(jù)庫軟件,甚至在那個(gè)軟件中以類似的方式組織財(cái)務(wù)信息也是如此。因此,使用以前的方法,典型地要求人工分析和理解在表1中的信息,以便在基于那些公司數(shù)據(jù),提供統(tǒng)一或標(biāo)準(zhǔn)的報(bào)表制作和分析。
      仍然需考慮財(cái)務(wù)信息的上下關(guān)系,幾種類型的信息存儲(chǔ)能被用于存儲(chǔ)公司1和/或公司2的財(cái)務(wù)信息。例如,信息能以一個(gè)或多個(gè)平面文件存儲(chǔ)。應(yīng)注意,至少根據(jù)一些用途,“平面文件”信息的存儲(chǔ)不是真正的數(shù)據(jù)庫系統(tǒng)。然而,本發(fā)明至少在一些實(shí)施例中能夠容納平面文件數(shù)據(jù),以及其它數(shù)據(jù)庫和非數(shù)據(jù)庫存儲(chǔ)方法。
      圖1是許多平面文件如何能被用于存儲(chǔ)表1的公司2的信息的簡(jiǎn)要描述。盡管圖1顯示信息是以在許多紙上以書面形式出現(xiàn)的,數(shù)據(jù)實(shí)際上將存儲(chǔ)到計(jì)算機(jī)可讀的媒介上比如硬盤上,例如,正如下面描述的。圖1的格式旨在描述組成多個(gè)文件101a到101f數(shù)據(jù)的邏輯結(jié)構(gòu),每個(gè)文件有文件標(biāo)識(shí)信息104,在圖1中描述的作為題目或標(biāo)題信息104a、104b,和多個(gè)記錄,在圖1中被描述為行信息106a、106b、106c,每個(gè)記錄有多個(gè)字段(在圖1的描述中組織成列108a、108b、108c、108d)。具有或反映圖1中描述的邏輯行和列結(jié)構(gòu)的存儲(chǔ)和存取數(shù)據(jù)的方法和裝置對(duì)于那些編程領(lǐng)域的技術(shù)人員來說是眾所周知的。本發(fā)明能被用在有關(guān)大量平面文件信息存儲(chǔ)程序中。這種信息存儲(chǔ)程序的例子包括那些以商標(biāo)名Simply AccountingTM和MAS-90TM銷售的程序。
      圖1描述的邏輯結(jié)構(gòu)組織的數(shù)據(jù)以大量不同的格式存儲(chǔ)。例如,在一個(gè)實(shí)施例中在每個(gè)平面文件101a到101f中的數(shù)據(jù)存儲(chǔ)在個(gè)人計(jì)算機(jī)硬盤的一個(gè)單獨(dú)的文件中。圖2描述一個(gè)用于存儲(chǔ)這樣文件的目錄/文件結(jié)構(gòu),其中所有在圖1中描述的文件被存儲(chǔ)在單一的子目錄中。正如本領(lǐng)領(lǐng)域技術(shù)人員所周知的,各種文件,即使是以圖2中描述的文件目錄等級(jí)來組織的,也能被物理地存儲(chǔ)到硬盤上的大量單獨(dú)的存儲(chǔ)單元中。大量格式能用于存儲(chǔ)文件中的數(shù)據(jù)。例子被描述在圖3A到3C中。在圖3A的例子中,文件包括標(biāo)題信息,緊接著存儲(chǔ)第一記錄106a、第二記錄106b,等等。在圖3A的例子中,使用固定長(zhǎng)度數(shù)據(jù)格式,其中每條記錄106a、106b,具有同樣長(zhǎng)度304(即占據(jù)固定的位數(shù))。在圖3A的實(shí)施例中,在每條記錄中的每個(gè)字段也有固定的長(zhǎng)度308a到308d。
      圖3B描述另一個(gè)固定長(zhǎng)度數(shù)據(jù)存儲(chǔ)方法,其中數(shù)據(jù)是以列序而不以在行序存儲(chǔ)的(所有數(shù)據(jù)連續(xù),因此所有描述連續(xù),等等)。在圖3B中的實(shí)施例中,以便幫助查找希望的數(shù)據(jù),存儲(chǔ)記錄數(shù)目的指示322是有用的,例如作為標(biāo)題的部分。在固定長(zhǎng)度系統(tǒng)中,例如,正如在圖3A或3B中描述的那樣,一條特定的數(shù)據(jù)將位于從數(shù)據(jù)的開始起的一個(gè)給定距離(即給定數(shù)目的位)。例如,在圖3A中,如果已知標(biāo)題302長(zhǎng)4字節(jié),已知記錄長(zhǎng)度304為8字節(jié),第一記錄106a的數(shù)據(jù)信息必定會(huì)在字節(jié)數(shù)5處找到其開始,第二記錄106b的數(shù)據(jù)信息必定會(huì)在字節(jié)數(shù)13處發(fā)現(xiàn)其開始,等等。
      圖3C描述在分隔字段而不是固定長(zhǎng)度字段的數(shù)據(jù)存儲(chǔ)。在分隔格式中,特定符號(hào),即一種不同于任何用于存儲(chǔ)數(shù)據(jù)的位形式,被用于標(biāo)注記錄和/或字段的結(jié)束或開始。在圖3C描述的實(shí)施例中,使用兩個(gè)不同的特定符號(hào),一個(gè)來標(biāo)注記錄開始另一個(gè)標(biāo)注字段開始。這些符號(hào)分別以代表任意位形式或符號(hào)的冒號(hào)和分號(hào)的形式顯示在圖3C中。在圖3C的數(shù)據(jù)格式中,能夠鑒別顯示第一記錄106a的數(shù)據(jù)信息的信息,作為在第一新記錄符號(hào)324a之后,并先于第一新字段符號(hào)324b的信息。來自第二記錄106b的數(shù)據(jù)信息是跟隨第二新記錄符號(hào)326a,并早于下一個(gè)跟隨的新字段符號(hào)326b的信息,等等。很多存儲(chǔ)信息的其它格式是可能的。從圖3A到3C的圖解中,很明顯的是多數(shù)數(shù)據(jù)存儲(chǔ)格式還存在另一個(gè)在不同類型的信息存儲(chǔ)系統(tǒng)中數(shù)據(jù)的存取、協(xié)調(diào)和組合的問題。以前,想要直接存取信息的人們(例如,不使用數(shù)據(jù)庫管理系統(tǒng)或其他旨在讀取存儲(chǔ)信息的軟件)要求數(shù)據(jù)存儲(chǔ)格式的知識(shí),正如,在一些情況下,分析存儲(chǔ)信息的例子所要求的那樣。因此,適應(yīng)會(huì)計(jì)師的希望存取表1中公司1和公司2中存儲(chǔ)的信息的需要,不僅要求有關(guān)數(shù)據(jù)的邏輯組織(圖1)、邏輯目錄結(jié)構(gòu)(圖2)的信息,而且要求有關(guān)數(shù)據(jù)存儲(chǔ)格式的信息(圖3A到3C)。
      除作為平面文件數(shù)據(jù)的信息存儲(chǔ)以外,還存在大量其他的可能性。圖4A到圖4F描述一個(gè)在關(guān)系數(shù)據(jù)庫環(huán)境下可能的信息的組織。在圖4A到圖4F的例子中,存儲(chǔ)第一個(gè)交易表402,具有多個(gè)記錄406a到406d。應(yīng)注意在圖4A中描述的記錄在一些方面類似于那些在圖1中描述的記錄,即包括數(shù)據(jù)字段、描述字段、數(shù)量字段和總計(jì)字段。在圖4A的例子中,附加索引字段408提供給每一個(gè)記錄。在圖4A例子中的交易表不包括在圖1中描述的類型的標(biāo)題信息104a,僅僅提供了單一的交易表圖4A(而不是在圖1的實(shí)施例中許多表101a到101f)。在圖4A到圖4F描述的關(guān)系數(shù)據(jù)庫中,提供了附加的表來反映表1中描述的組織。例如,帳目表412包括表1定義的所有類型列表,用索引414與每個(gè)帳目相關(guān)。類似地,雇員表416包括表1雇員的姓名,每一個(gè)有與之相關(guān)的索引418。此外,在圖4C中對(duì)每個(gè)姓名都有一個(gè)指示,用于指示該個(gè)人是否與銷售力量與研究力量相聯(lián)系(反映表1中顯示的等級(jí))。另外,包含一個(gè)字段,用于顯示雇員的位置。還可以提供附加的表(沒有畫)來列出反映表1組織的公司2的各種項(xiàng)目、產(chǎn)品和子公司。
      圖4D描述一個(gè)鏈接表422,它對(duì)于交易表402的每一條記錄都表示任何與希望的其他表的鏈接。例如,如果第一筆交易406a是與銀行1現(xiàn)金帳目部分相關(guān)的交易,提供一條記錄428,表示對(duì)于索引號(hào)為1的交易記錄,適當(dāng)?shù)膸つ繀⒖际撬饕?hào)為為424的交易記錄。相似地,對(duì)雇員表416或其他的表(沒有顯示)可以做鏈接。因此,鑒于在圖1中需要為每個(gè)可能的帳目、子公司、產(chǎn)品和項(xiàng)目等等的組合提供單獨(dú)的文件(對(duì)一個(gè)相對(duì)復(fù)雜的帳目結(jié)構(gòu)可能導(dǎo)致大量文件),在圖4A到圖4F的實(shí)施例中僅僅要求單一的交易表402,和鏈接表圖422來提供信息,在圖1的例子中,該信息是通過了解交易被存儲(chǔ)在哪個(gè)平面文件中來得到。
      在一個(gè)典型的關(guān)系數(shù)據(jù)庫中,可以鑒別和顯示滿足某種標(biāo)準(zhǔn)的唯一信息,例如,僅有那些用于特定帳目和特定雇員的交易。在一些數(shù)據(jù)庫軟件中,可以存儲(chǔ)這樣的標(biāo)準(zhǔn)或“查詢條件”以便使用,例如,當(dāng)選擇的信息是通常需要的信息時(shí)使用。圖4E描述的表存儲(chǔ)多個(gè)例如使用結(jié)構(gòu)化查詢語言(structured query language,SQL)的查詢條件。用于特定數(shù)據(jù)庫系統(tǒng)中的查詢反映了一個(gè)公司分析或組織數(shù)據(jù)的方式。因此,對(duì)標(biāo)準(zhǔn)化報(bào)表的設(shè)計(jì)和基于這樣數(shù)據(jù)庫的信息分析有興趣的會(huì)計(jì)師希望了解和/或能夠復(fù)制由各種存儲(chǔ)的查詢條件(圖4E)代表類型的數(shù)據(jù)分析。
      另外,數(shù)據(jù)庫的很多類型允許用戶設(shè)計(jì)一個(gè)報(bào)表(不是顯示就是打印)并在某些情況下,存儲(chǔ)定義這樣的報(bào)表的信息,例如,反復(fù)使用。所以,另一個(gè)表格或表格集(沒有顯示)被存為關(guān)系數(shù)據(jù)的一部分或與之相關(guān)的部分,以保存有關(guān)這樣的報(bào)表信息。
      在圖4A到4F中描述的信息和結(jié)構(gòu)以大量不同的方式存儲(chǔ)。圖5描述了用于存儲(chǔ)多個(gè)數(shù)據(jù)表、鏈接表、查詢表和/或報(bào)表格式的目錄/文件等級(jí)。這樣的數(shù)據(jù)能以大量不同的數(shù)據(jù)格式來存儲(chǔ),比如在圖3A到圖3C中描述的任意一種,或者本領(lǐng)域的技術(shù)人員所知道的其他格式。
      以不同格式存儲(chǔ)的信息的另一個(gè)例子是科學(xué)和技術(shù)信息。在圖6中,平面文件系統(tǒng)提供給,例如氣象研究,來存儲(chǔ)表面溫度信息。在圖6的例子中,每個(gè)文件602a、602b、602c存儲(chǔ)特定位置和測(cè)量單位信息(例如,華氏或攝氏),顯示為標(biāo)題信息604。對(duì)于每個(gè)記錄606a、606b、606c,數(shù)據(jù)和每天每小時(shí)的讀數(shù)存儲(chǔ)在單獨(dú)的字段中。存儲(chǔ)這類數(shù)據(jù)的關(guān)系數(shù)據(jù)庫系統(tǒng)在圖7A到圖7D中描述。數(shù)據(jù)表702包括所有觀察數(shù)據(jù)和,對(duì)于每個(gè)觀察數(shù)據(jù)的測(cè)量單位704a,和索引704b。表706(圖7B)和708(圖7C)存儲(chǔ)涉及位置和每日的小時(shí)數(shù)信息。鏈接表(圖7D)的每一行722、724能用于對(duì)存儲(chǔ)在圖7A中的任意數(shù)據(jù)點(diǎn)(正如其索引值704b顯示的)顯示有關(guān)數(shù)據(jù)點(diǎn)位置的索引值和有關(guān)那個(gè)數(shù)據(jù)點(diǎn)的每日時(shí)間。盡管圖6和7A到7D的例子被簡(jiǎn)化,對(duì)本領(lǐng)域的技術(shù)人員如何建造信息系統(tǒng)來存儲(chǔ)更多的諸如氣象數(shù)據(jù)的更復(fù)雜數(shù)據(jù)集是很明顯的,氣象數(shù)據(jù)包括風(fēng)速和風(fēng)向,射頻伴音數(shù)據(jù),等等。所以,如果研究人員希望從兩個(gè)氣象數(shù)據(jù)源中關(guān)聯(lián)信息,這兩個(gè)氣象數(shù)據(jù)源一個(gè)存儲(chǔ)圖6中描述系統(tǒng)的信息,另一個(gè)存儲(chǔ)圖7A到圖7D中描述系統(tǒng)的信息,在以前的方法中典型地需要有顧問和其他專家來分析在圖6中和在圖7A到圖7D中描述的信息存儲(chǔ)結(jié)構(gòu)和組織,并手工的開發(fā)出一套系統(tǒng)來訪問這樣類型的信息來允許其中數(shù)據(jù)的組合和協(xié)作。
      圖8是根據(jù)本發(fā)明的實(shí)施例,為克服以上描述的涉及不同信息系統(tǒng)中訪問、協(xié)作或組合數(shù)據(jù)中的困難的所用系統(tǒng)的方框圖。在圖8的實(shí)施例中,根據(jù)在多個(gè)數(shù)據(jù)源806a、806b、806c、806d中與分析和/或訪問信息有關(guān)的需要,主程序802選擇性地激活各種驅(qū)動(dòng)程序804b、804c、804d。為討論的目的,在圖8中描述的源數(shù)據(jù)806a到806d可以是由大量的程序或系統(tǒng)中的任何一個(gè)或一些存儲(chǔ)或創(chuàng)造的數(shù)據(jù),這些程序或系統(tǒng)用于組織或存儲(chǔ)諸如平面文件系統(tǒng)、數(shù)據(jù)庫、電子表格等上面討論的數(shù)據(jù)。圖8的數(shù)據(jù)和程序可以駐存在一個(gè)或多個(gè)計(jì)算機(jī)中。在一個(gè)實(shí)施例中,程序在局域網(wǎng)(LAN)的環(huán)境下實(shí)現(xiàn),局域網(wǎng)有網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī),和相關(guān)的磁盤或其他存儲(chǔ)器件,以及一個(gè)或更多個(gè)客戶機(jī)計(jì)算機(jī)。在一個(gè)實(shí)施例中,主程序802在客戶機(jī)計(jì)算機(jī)上執(zhí)行,而信息源806和新數(shù)據(jù)庫808的數(shù)據(jù)文件存儲(chǔ)在相關(guān)網(wǎng)絡(luò)服務(wù)器的磁盤(或其他數(shù)據(jù)存儲(chǔ)器件)上。本發(fā)明能用許多其他結(jié)構(gòu)體系實(shí)現(xiàn),比如在單個(gè)計(jì)算機(jī)上、在多個(gè)非網(wǎng)絡(luò)計(jì)算機(jī)上,使用由諸如廣域網(wǎng)、調(diào)制解調(diào)器通信,通過互連網(wǎng)等等的通訊鏈接的計(jì)算機(jī),等等。大量類型的計(jì)算機(jī)能用于實(shí)現(xiàn)本發(fā)明,包括大型機(jī)和個(gè)人計(jì)算機(jī),比如那些由國(guó)際商用機(jī)器公司(International Business Machines)(例如3 86、486或Pentium或Pentium Plus基本計(jì)算機(jī))、Apple公司(比如MacIntosh計(jì)算機(jī))生產(chǎn)的計(jì)算機(jī)和這些計(jì)算機(jī)的復(fù)制(clone)。在一個(gè)實(shí)施例中,使用DOS操作系統(tǒng)和/或MicrosoftWindow或Window 95用戶接口實(shí)現(xiàn)程序。
      這里稱為驅(qū)動(dòng)程序804a到804d的項(xiàng)目,不應(yīng)該和某些數(shù)據(jù)庫程序中提供的一類數(shù)據(jù)濾波器相混淆。根據(jù)用戶確定的標(biāo)準(zhǔn),數(shù)據(jù)濾波器典型地用于選擇某種記錄和/或字段的一類查詢或邏輯測(cè)試。驅(qū)動(dòng)程序804a到804d,在另一方面,正如下面更詳細(xì)描述的,是用于分析和存取不同類型源數(shù)據(jù)而具有的多功能程序。在一個(gè)實(shí)施例中,功能模塊804以本領(lǐng)域技術(shù)人員在理解了本發(fā)明所披露內(nèi)容之后所理解的方式,作為動(dòng)態(tài)鏈接庫(dynamic linklibraries,DLL)提供。配置驅(qū)動(dòng)程序804a到804d是用于一種或多種類型的數(shù)據(jù)源的操作,比如使用特定數(shù)據(jù)庫程序產(chǎn)生的數(shù)據(jù)文件。取決于數(shù)據(jù)庫程序的特性,必須具備比如,兩個(gè)單獨(dú)的由兩個(gè)單獨(dú)版本的數(shù)據(jù)庫軟件包產(chǎn)生的數(shù)據(jù)文件驅(qū)動(dòng)程序。在一些情況下,可以提供單一驅(qū)動(dòng)程序,單一驅(qū)動(dòng)程序能用在有關(guān)的使用兩個(gè)(或更多)不同類型或品牌的軟件(或一個(gè)給定品牌數(shù)據(jù)庫的不同版本或其他軟件)產(chǎn)生的數(shù)據(jù)文件中。
      在圖8中描述的源數(shù)據(jù)806a到806d,通常情況下,可以是任何計(jì)算機(jī)可讀的信息源。例子包括平面文件源數(shù)據(jù)、分級(jí)數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、電子表格等。盡管圖8描述了顯示四個(gè)數(shù)據(jù)源的實(shí)施例,本發(fā)明能用在僅有單一數(shù)據(jù)源,或者有五個(gè)或更多的數(shù)據(jù)源的情況。盡管本發(fā)明可以用在其中每一個(gè)源數(shù)據(jù)806a到806d是使用不同類型或商標(biāo)的軟件產(chǎn)生的情況,但是也可以將本發(fā)明用在其中由相同品牌或類型的數(shù)據(jù)庫或其他軟件產(chǎn)生兩個(gè)或多個(gè)數(shù)據(jù)源的情況中。作為一個(gè)例子,可以配置第一個(gè)驅(qū)動(dòng)程序804a,用于從使用dBase II產(chǎn)生的數(shù)據(jù)文件中恢復(fù)的信息,可以配置第二個(gè)驅(qū)動(dòng)程序,用于從使用dBase III產(chǎn)生的數(shù)據(jù)文件中恢復(fù)的信息,可以配置第三個(gè)驅(qū)動(dòng)程序,用于從使用諸如Simple AccountingTM的平面文件系統(tǒng)產(chǎn)生的數(shù)據(jù)文件中恢復(fù)的信息,可以配置第四個(gè)驅(qū)動(dòng)程序,用于從使用Microsoft Access產(chǎn)生的數(shù)據(jù)文件中恢復(fù)的信息。
      一旦已分析數(shù)據(jù)源或多個(gè)數(shù)據(jù)源(如下面更完全描述的),這種分析的結(jié)果能以大量的方式使用,包括提供用戶訪問數(shù)據(jù)源中信息來瀏覽或編輯,拷貝一些或全部數(shù)據(jù),并且最好能訪問它們的更新版本(enhancements)(如下面所描述的),以創(chuàng)建新數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)報(bào)表(以便瀏覽、打印、存儲(chǔ)、傳輸、等等)、查詢等等。
      在圖8的實(shí)施例中,在主程序802之后,使用驅(qū)動(dòng)程序804,執(zhí)行源數(shù)據(jù)806a到806d的分析,它能創(chuàng)建一個(gè)或多個(gè)新數(shù)據(jù)庫808,包含來自各種數(shù)據(jù)源806a到806d中的一個(gè)或多個(gè)的數(shù)據(jù)。在一個(gè)實(shí)施例中,為每個(gè)數(shù)據(jù)源創(chuàng)建新數(shù)據(jù)庫。希望聯(lián)合兩個(gè)或更多這樣的數(shù)據(jù)庫,例如,使用標(biāo)準(zhǔn)的數(shù)據(jù)庫技術(shù),例如當(dāng)這樣的數(shù)據(jù)庫具有類似的結(jié)構(gòu)時(shí)。在另一個(gè)實(shí)施例中,一個(gè)數(shù)據(jù)庫808包含來自兩個(gè)或更多數(shù)據(jù)源的信息(例如,如果一個(gè)公司使用一個(gè)數(shù)據(jù)庫或其他數(shù)據(jù)源來存儲(chǔ)銷售信息,并且使用另一個(gè)數(shù)據(jù)庫或其他數(shù)據(jù)源來存儲(chǔ)雇員信息)。至少在一些實(shí)施例中,一些數(shù)量的準(zhǔn)備或重新格式化或源數(shù)據(jù)的其他過程執(zhí)行最好和創(chuàng)建新數(shù)據(jù)庫808相聯(lián)系。盡管在一個(gè)實(shí)施例中,所有這樣的過程由適當(dāng)?shù)尿?qū)動(dòng)程序處理,在其他的實(shí)施例中,一些這樣的過程在數(shù)據(jù)源806和/或在新數(shù)據(jù)庫808中處理。在一個(gè)實(shí)施例中,數(shù)據(jù)以這種方式準(zhǔn)備或處理后,能被用在有關(guān)填充新數(shù)據(jù)庫808,通過使用通用例程,即能操作有關(guān)多個(gè)不同數(shù)據(jù)源中的任何數(shù)據(jù)源的例程。
      新數(shù)據(jù)庫或多個(gè)新數(shù)據(jù)庫808,如果希望的話能用于產(chǎn)生報(bào)表,例如使用報(bào)表寫入器810,并且如果希望的話,能用于進(jìn)入、瀏覽或分析數(shù)據(jù),例如使用數(shù)據(jù)庫管理系統(tǒng)812或其他軟件814。在一個(gè)實(shí)施例中,數(shù)據(jù)庫808是MicrosoftAccess數(shù)據(jù)庫,它包括具有一個(gè)或多個(gè)向?qū)?、模板、過濾器和/或工具箱軟件(正如由那些精通MicrosoftAccess編程的人理解的術(shù)語)的基礎(chǔ)代碼,比如用于提供諸如輸出標(biāo)準(zhǔn)財(cái)務(wù)報(bào)表的數(shù)據(jù)庫報(bào)表制作和分析。在一個(gè)實(shí)施例中,財(cái)務(wù)和管理報(bào)表制作軟件的提供是作為從Bellevue,WA的Timeling公司的商標(biāo)METAVIEWTM下得到的擴(kuò)展或修改。
      在一個(gè)實(shí)施例中,在新數(shù)據(jù)庫或多個(gè)新數(shù)據(jù)庫808中的信息被增強(qiáng),例如,通過主程序802在一定程度上信息被配置來產(chǎn)生、顯示或輸出通過或使用源數(shù)據(jù)806a到806d不能顯示或輸出的分析或數(shù)據(jù)關(guān)系。
      正如圖13所描述的,在一個(gè)實(shí)施例中,新數(shù)據(jù)庫808僅僅是許多被格式化數(shù)據(jù)庫中的一個(gè)。在所描述的實(shí)施例中,通過使用新數(shù)據(jù)庫808作為信息源對(duì)信息終端使用者分布數(shù)據(jù)庫1302a-1302c來提供多個(gè)數(shù)據(jù)庫1302a-1302c。數(shù)據(jù)庫1302a-1302c中的每一個(gè)至少用一些來自數(shù)據(jù)庫808的信息填充。在一個(gè)實(shí)施例中,數(shù)據(jù)庫1302a-1302c互相不同,例如,通過具有不同的數(shù)據(jù)和/或不同的數(shù)據(jù)庫結(jié)構(gòu)、報(bào)表、查詢,等等而不同。作為一個(gè)例子,當(dāng)數(shù)據(jù)庫808包含相關(guān)多個(gè)不同公司的信息時(shí)(例如一個(gè)父公司的不同子公司),數(shù)據(jù)庫1302a-1302c中的每一個(gè)數(shù)據(jù)庫可以包含這些公司之一所使用的信息,并典型地僅包含相關(guān)那個(gè)公司的信息。因?yàn)椴煌庸净蛟S組織上不同,每一個(gè)或許有自己預(yù)先定義的報(bào)表或其他結(jié)構(gòu)。也可能數(shù)據(jù)庫1302a-1302c中的一個(gè)或多個(gè)可以包含相關(guān)兩個(gè)或多個(gè)子公司的信息,例如帳目信息,對(duì)所有子公司(或選擇的組)的總結(jié)活動(dòng),例如,由父公司使用。數(shù)據(jù)庫1302a-1302c可以起源于所謂的推動(dòng)(push)程序(起源于新數(shù)據(jù)庫808所駐留的計(jì)算機(jī)系統(tǒng)的一系列命令)和/或起源于所謂的拉(pull)程序(起源于數(shù)據(jù)庫1302a-1302c所駐留的計(jì)算機(jī)系統(tǒng)的一系列命令)。每一個(gè)數(shù)據(jù)庫1302a-1302c的建立是作為查詢數(shù)據(jù)庫808、選擇包括在數(shù)據(jù)庫1302a-1302c中的結(jié)構(gòu)和數(shù)據(jù)的結(jié)果而建立的,正象在理解本發(fā)明所披露內(nèi)容之后本領(lǐng)域的技術(shù)人員所清楚的那樣。
      在一個(gè)實(shí)施例中,每一個(gè)典型地包括在數(shù)據(jù)庫1302a-1302c中的增加和更新信息的數(shù)據(jù)庫終端用戶,可以正常的方式使用數(shù)據(jù)庫1302a-1302c。最好是,這種新的或更新的信息,最好以全部或部分自動(dòng)的形式,也被寫回到數(shù)據(jù)庫808中。以這種方式,訪問數(shù)據(jù)庫808的其他人,或者訪問包含涉及已經(jīng)增加或更新的信息(例如,父公司)的信息的其它數(shù)據(jù)庫1302a-c的人將收到最新的數(shù)據(jù)。寫回到數(shù)據(jù)庫808能應(yīng)要求周期性地發(fā)生,或在所連接的任何數(shù)據(jù)庫1302a-1302c每一次被更新的時(shí)候執(zhí)行。在一些情況下,通過改變數(shù)據(jù)庫808的一些結(jié)構(gòu)(比如增加新表、新字段、新索引、新報(bào)表等等)最好地處理了對(duì)數(shù)據(jù)庫1302a-1302c的改變。更可取的是,改變數(shù)據(jù)庫808的一些結(jié)構(gòu)的合理性被至少部分自動(dòng)地檢測(cè),比如通過把數(shù)據(jù)庫現(xiàn)有結(jié)構(gòu)和在數(shù)據(jù)庫1302a-1302c中自動(dòng)檢測(cè)的結(jié)構(gòu)定義信息相比較,例如,使用類似上面描述的有關(guān)檢測(cè)數(shù)據(jù)源806的結(jié)構(gòu)定義信息的技術(shù)。
      在一個(gè)實(shí)施例中,數(shù)據(jù)庫1302a-1302c的一些或全部用查詢、報(bào)表和類似的結(jié)構(gòu)來配置,但至少一些或全部數(shù)據(jù)永久存儲(chǔ)在數(shù)據(jù)庫808中。例如,在一個(gè)實(shí)施例中,數(shù)據(jù)庫1302a可以具有某種定義的查詢,但是當(dāng)執(zhí)行一個(gè)查詢時(shí),使用通訊鏈路1304,從而對(duì)駐留在數(shù)據(jù)庫808中的數(shù)據(jù)執(zhí)行查詢。在一個(gè)實(shí)施例中,從執(zhí)行查詢的結(jié)果中得到的信息被高速緩沖于(cached in)存儲(chǔ)器中或數(shù)據(jù)存儲(chǔ)器件中,不是位于數(shù)據(jù)庫808的位置就是位于請(qǐng)求數(shù)據(jù)庫1302的位置。如果希望的話,僅當(dāng)至少接收到等于閾值數(shù)量的相同查詢請(qǐng)求時(shí)才執(zhí)行這樣的高速緩沖。不考慮閾值數(shù)量是否實(shí)現(xiàn),可得到的用于捕獲數(shù)據(jù)的存儲(chǔ)器或存儲(chǔ)能夠循環(huán),例如,在最近使用基礎(chǔ)上循環(huán),正如那些本領(lǐng)域技術(shù)人員在理解了本發(fā)明所披露內(nèi)容之后理解的那樣。最好,在響應(yīng)于查詢或其他請(qǐng)求而提供高速緩沖數(shù)據(jù)之前,執(zhí)行檢驗(yàn)以確定是否有數(shù)據(jù)的相關(guān)改變(即是否高速緩沖數(shù)據(jù)與在最新可得到的數(shù)據(jù)上執(zhí)行查詢的響應(yīng)是相同的)。相對(duì)于每一個(gè)可能的數(shù)據(jù)源改變/更新來執(zhí)行這種檢驗(yàn)。當(dāng)配置的系統(tǒng)使數(shù)據(jù)庫808能被直接存取時(shí),數(shù)據(jù)庫808應(yīng)被檢驗(yàn)來確定是否有影響高速緩沖數(shù)據(jù)的任何直接產(chǎn)生的改變。執(zhí)行這樣的檢驗(yàn)的一個(gè)方式是除存儲(chǔ)高速緩沖數(shù)據(jù)本身之外,還存儲(chǔ)用于提供高速緩沖數(shù)據(jù)的某種數(shù)據(jù)類型的標(biāo)識(shí)(例如表、字段等等的標(biāo)識(shí))。在數(shù)據(jù)庫808中每一次發(fā)生變化,都要確定是否改變用于高速緩沖數(shù)據(jù)的任何表、字段等。如果是與這個(gè)表、字段相關(guān)的高速緩沖數(shù)據(jù)被標(biāo)注(例如,通過設(shè)置數(shù)據(jù)標(biāo)志)以顯示高速緩沖數(shù)據(jù)不再是最新的,最好,存儲(chǔ)器或用于這樣高速緩沖數(shù)據(jù)的存儲(chǔ)為循環(huán)而釋放(即為存儲(chǔ)另一個(gè)查詢或請(qǐng)求的響應(yīng)而釋放)。
      當(dāng)系統(tǒng)為從數(shù)據(jù)庫1302a-c到數(shù)據(jù)庫808寫回的數(shù)據(jù)配置時(shí),于是,在提供高速緩沖數(shù)據(jù)之前,應(yīng)確定是否有在數(shù)據(jù)庫1302a-c中產(chǎn)生的改變(例如,對(duì)存儲(chǔ)的查詢的改變),所述改變尚未反映在數(shù)據(jù)庫808中,這一點(diǎn)能使高速緩沖數(shù)據(jù)過時(shí)。類似地,當(dāng)系統(tǒng)被配置使得對(duì)數(shù)據(jù)源806產(chǎn)生這樣的改變,而這種改變沒有反映在數(shù)據(jù)庫808的更新中時(shí),在響應(yīng)于一請(qǐng)求而提供所述高速緩沖數(shù)據(jù)之前,對(duì)于可能影響最新高速緩沖數(shù)據(jù)性質(zhì)的改變應(yīng)進(jìn)行檢驗(yàn)。在一些情況下,應(yīng)在響應(yīng)于請(qǐng)求而提供高速緩沖數(shù)據(jù)之前執(zhí)行多次檢驗(yàn)(對(duì)數(shù)據(jù)庫808、1302a-c和數(shù)據(jù)源806的改變的檢驗(yàn))。
      圖9是各種驅(qū)動(dòng)程序804a到804d的簡(jiǎn)要描述。每一個(gè)驅(qū)動(dòng)程序包括多個(gè)定義的程序或功能塊901到910。每個(gè)功能塊可包括計(jì)算機(jī)程序指令912,例如,用于完成和執(zhí)行一個(gè)或更多的在下面描述和在圖10中示出的步驟。在一個(gè)實(shí)施例中,功能塊901到910中的每一個(gè)功能塊是可調(diào)用的子程序或程序。在給定驅(qū)動(dòng)程序804b中定義的功能塊901到909包括必須執(zhí)行的功能或取決于數(shù)據(jù)源806a、806b的類型而不同地執(zhí)行的功能。因此,例如,考慮功能塊一901,它被設(shè)計(jì)成選擇在希望的信息被存儲(chǔ)的硬盤或其它信息存儲(chǔ)器件上的某種目錄的功能塊,依據(jù)源數(shù)據(jù)806的類型,選擇目錄的程序會(huì)不同,正如能從,例如圖2的例子和圖5的例子的比較中看到的那樣。因此,在第一個(gè)驅(qū)動(dòng)程序804a中實(shí)現(xiàn)功能塊一的編程912不同于在第二個(gè)驅(qū)動(dòng)程序804b中實(shí)現(xiàn)相應(yīng)功能塊的編程代碼。用這種方式,每個(gè)驅(qū)動(dòng)程序定義一個(gè)或多個(gè)程序,用來執(zhí)行具有為容納兩個(gè)或更多不同類型源數(shù)據(jù)的不同字符而配置的程序的功能。例如,圖11A描述一種用偽碼表示的程序的一部分,它能被用于選擇和/或查找有關(guān)在圖2中描述的目錄結(jié)構(gòu)的目錄,而圖11B顯示可用于選擇或查找圖5中描述的目錄結(jié)構(gòu)的目錄的程序偽碼的相應(yīng)部分。從圖11A和11B的例子中,本領(lǐng)域技術(shù)人員將理解如何配置驅(qū)動(dòng)程序來在兩種不同類型的源數(shù)據(jù)上執(zhí)行相同的功能。盡管圖9描述了一個(gè)有九個(gè)功能的功能模塊,本發(fā)明能被用在具有更多或更少功能的功能模塊中。可以配置其中不同功能模塊定義不同數(shù)量功能的系統(tǒng),和/或配置其中一個(gè)或多個(gè)功能被配置的系統(tǒng),以提供或返回零值或常值或信息。
      大量程序能被使用來啟動(dòng)(步驟1002)在圖10中描述的方法。在一個(gè)實(shí)施例中,圖10的方法是使用存儲(chǔ)在諸如硬盤、CD-ROM或其它非易失媒介上的計(jì)算機(jī)程序?qū)崿F(xiàn)的,同時(shí)通過給計(jì)算機(jī)發(fā)布指令(例如,通過鍵盤,鼠標(biāo)等等)來啟動(dòng)程序,即把程序裝載到存儲(chǔ)器并執(zhí)行程序來啟動(dòng)這個(gè)方法。作為選擇,程序可由其它程序啟動(dòng)。例如,在一個(gè)實(shí)施例中,數(shù)據(jù)庫新數(shù)據(jù)庫808是MicrosoftAccess數(shù)據(jù)庫,它包括諸如所謂的“導(dǎo)航器(wizard)”的例程來啟動(dòng)程序,接著又利用該程序(圖10)來存取在信息源806中的數(shù)據(jù),以填充或更新數(shù)據(jù)庫808。在一個(gè)實(shí)施例中,為了按需要請(qǐng)求用戶輸入(例如對(duì)于步驟1020),使用導(dǎo)航器來顯示提示符或“對(duì)話框”是有用的,所以用戶接口將具有與數(shù)據(jù)庫808用戶接口一致的外觀。因此,可以看到,即使在這里描述的程序是部分或全部自動(dòng)的,并且/或者即使程序執(zhí)行不需要用戶輸入,然而,希望為各種目的提供用戶輸入,例如,提供選項(xiàng)來減少執(zhí)行時(shí)間、刪除或選擇缺省(default)或選擇特征,等等。
      在圖10中描述的程序中,在程序開始(步驟1002)之后的第一步是辨別和初始化動(dòng)態(tài)驅(qū)動(dòng)程序(步驟1004)。在這樣的環(huán)境下,驅(qū)動(dòng)程序804被認(rèn)為是動(dòng)態(tài)的,就精確意義而言驅(qū)動(dòng)程序804能被成塊地加入或刪除,例如,容納一種新的或不同類型的數(shù)據(jù)源。例如,用諸如在圖8中描述的具有4個(gè)驅(qū)動(dòng)程序的系統(tǒng)最初提供給用戶,但是可以在將來的時(shí)間,通過從軟件商購買,從信息服務(wù)器、網(wǎng)絡(luò)、互連網(wǎng)連接等等下載,或通過寫一個(gè)用戶驅(qū)動(dòng)程序來增加附加的驅(qū)動(dòng)程序。因?yàn)槟K和驅(qū)動(dòng)程序的動(dòng)態(tài)性質(zhì),預(yù)先并不知道哪個(gè)驅(qū)動(dòng)程序是可用的,因此,當(dāng)程序被啟動(dòng)(步驟1002)時(shí),程序辨別程序可得到的驅(qū)動(dòng)程序。在一個(gè)實(shí)施例中,所述過程通過為其中具有預(yù)定(部分)文件名或文件擴(kuò)展名的文件搜索磁盤或目錄來執(zhí)行。在一個(gè)實(shí)施例中,程序還分析每一個(gè)文件的選擇部分,例如,標(biāo)題信息,來驗(yàn)證由這個(gè)文件名和/或擴(kuò)展名鑒別的文件是希望的驅(qū)動(dòng)程序。初始化驅(qū)動(dòng)程序一般包括辨別和鏈接驅(qū)動(dòng)程序功能和在每個(gè)驅(qū)動(dòng)程序中初始化數(shù)據(jù)。
      然后,確定是否程序?qū)?zhí)行輸入或更新(步驟1006),在輸入中,在數(shù)據(jù)源中的所有或大多數(shù)數(shù)據(jù)和結(jié)構(gòu)被訪問并存到新的數(shù)據(jù)庫的程序首先被執(zhí)行。在更新中,其中僅有一個(gè)選擇數(shù)據(jù)和/或結(jié)構(gòu)部分被訪問的程序被執(zhí)行,例如,確保在新數(shù)據(jù)庫808中的信息反應(yīng)最近的變化或已經(jīng)對(duì)數(shù)據(jù)源806做過的增加。在一種典型的情況下,第一次當(dāng)圖8的系統(tǒng)從給定的數(shù)據(jù)源中訪問或使用信息時(shí),或如果對(duì)數(shù)據(jù)源產(chǎn)生相關(guān)的主要改變或增加時(shí),輸入被執(zhí)行。典型地,以便與具有新數(shù)據(jù)庫808中的數(shù)據(jù)的數(shù)據(jù)源806中的數(shù)據(jù)同步,更新在規(guī)則的基礎(chǔ)上(例如,每天,每周,等等)將被執(zhí)行。在一個(gè)實(shí)施例中,對(duì)輸入或更新的選擇(步驟1006)被自動(dòng)執(zhí)行,即通過執(zhí)行更新而執(zhí)行,除非這是第一次程序訪問特定數(shù)據(jù)源。在另一個(gè)實(shí)施例中,通過提供輸入,即通過鍵盤選擇,使用指示器等等,用戶被允許在輸入和更新間選擇。
      如果輸入已被選擇(步驟1008),主程序802將初始化一個(gè)或多個(gè)驅(qū)動(dòng)程序功能的執(zhí)行來選擇要搜索的目錄(步驟1010)。由主程序802裝載或調(diào)用的驅(qū)動(dòng)程序804將取決于哪一種類型的源數(shù)據(jù)被訪問。特定地,對(duì)于給定的數(shù)據(jù)源806a,主程序802將使用驅(qū)動(dòng)程序804b,它是為容納源數(shù)據(jù)806a的類型而配置的。如果訪問多于一個(gè)數(shù)據(jù)源806,主程序802將使用為源數(shù)據(jù)806的每一種類型配置的任何一個(gè)驅(qū)動(dòng)程序804。最好,基于諸如文件名(或“擴(kuò)展名”)和/或文件的目錄、數(shù)量、大小和結(jié)構(gòu)、文件中的標(biāo)題和其它信息,數(shù)據(jù)源的類型被自動(dòng)確定。在另一個(gè)實(shí)施例中,用戶被允許或請(qǐng)求指示數(shù)據(jù)源的類型(即通過鑒別用于創(chuàng)建數(shù)據(jù)源文件的軟件的商標(biāo)名和版本號(hào)或指示是否用戶希望程序僅僅搜索本地磁盤文件或執(zhí)行包括網(wǎng)絡(luò)文件的查詢)。
      在一個(gè)實(shí)施例中,驅(qū)動(dòng)程序(或驅(qū)動(dòng)程序子程序或參數(shù))的選擇是取決于在源數(shù)據(jù)806中使用的語言。例如,以便合理地確定數(shù)據(jù)源的類型,當(dāng)這種確定部分取決于文件名或文件標(biāo)題信息時(shí),這樣的名字或信息可以采用不同的形式(甚至對(duì)相同商標(biāo)的源數(shù)據(jù)信息),這取決于源數(shù)據(jù)是否是為了由講英語、西班牙語、日語等的人使用而安裝的。因此,在一個(gè)實(shí)施例中,將不同的驅(qū)動(dòng)程序用于相同類型的數(shù)據(jù)源,該數(shù)據(jù)源是為不同語言的講話者安裝的??晒┻x擇的是,可以為不同的語言數(shù)據(jù)源使用本質(zhì)上類似的驅(qū)動(dòng)程序,但這些驅(qū)動(dòng)程序配置成用適當(dāng)?shù)恼Z言獲得尋找的文件名等,例如從表、從過去的參數(shù)中獲得。以這種方式,驅(qū)動(dòng)程序能用多個(gè)語言中的任何一個(gè)來分析數(shù)據(jù)庫。盡管一個(gè)實(shí)施例基本上自動(dòng)地提供這種語言能力,但可以配置驅(qū)動(dòng)程序來允許(或請(qǐng)求)用戶輸入指定源數(shù)據(jù)的一種或多種語言。
      另外,當(dāng)建立新數(shù)據(jù)庫808時(shí),能使用一種語言(例如數(shù)據(jù)庫808輸出中的字段名、題注(caption)、題目等)建立數(shù)據(jù)庫,這種語言與多種不同語言中的安裝數(shù)據(jù)源806所使用的語言相同或不同,例如,該語言使用表來提供相應(yīng)字段名、題注、題目等。能使用這樣一種結(jié)構(gòu),例如,使用數(shù)據(jù)庫或其它數(shù)據(jù)源,其創(chuàng)建和安裝是為了由第一語言使用,為了至少部分自動(dòng)創(chuàng)建或包括為不同語言定位的數(shù)據(jù)庫808,這個(gè)給終端用戶使用終端用戶的本族語言來查詢外國(guó)語言數(shù)據(jù)庫的能力。例如,終端用戶能強(qiáng)制當(dāng)?shù)卣Z言數(shù)據(jù)庫808更新其本身(如果需要的話),這是基于在外國(guó)語言數(shù)據(jù)源806中的信息,通過為當(dāng)?shù)卣Z言數(shù)據(jù)庫808提交本族語言查詢或報(bào)表請(qǐng)求來完成的。類似地,數(shù)據(jù)庫1302a-c(圖13)可以以不同語言用字段名、標(biāo)識(shí)符、題目、題注等配置數(shù)據(jù)庫,但是每個(gè)數(shù)據(jù)庫都能夠通過從數(shù)據(jù)庫808訪問和更新來訪問相同的原始數(shù)據(jù),以便使用本地貨幣和/或使用本地語言標(biāo)識(shí)符在一個(gè)報(bào)表中顯示所請(qǐng)求的數(shù)據(jù)。
      在步驟1010的最后,主程序802將訪問存儲(chǔ)的目錄列表,該目錄將用于搜索所有的數(shù)據(jù)源806,就象在步驟1004中由驅(qū)動(dòng)程序804鑒別的那樣。在步驟1010之后,主程序802加裝或激發(fā)或調(diào)用功能模塊804a到804d的另一個(gè)功能塊902,以便搜索在步驟1010中為將被輸入的數(shù)據(jù)選擇的目錄(步驟1012)。目錄的搜索(步驟1012)是以一種方式執(zhí)行的,這種方式取決于信息如何被存儲(chǔ)在不同的數(shù)據(jù)源806中。例如,對(duì)于一些類型的源數(shù)據(jù),鑒別具有某個(gè)文件名和/或某個(gè)文件擴(kuò)展名的文件可以就足夠了。對(duì)于源數(shù)據(jù)806的其他類型,必須掃描各種文件中的數(shù)據(jù)來鑒別具有某種結(jié)構(gòu)或內(nèi)容的文件,例如,在一個(gè)文件的標(biāo)題部分或其他地方。因此,不同的模塊804將被配置成以不同的方式提供“搜索目錄”功能塊902,以容納不同的數(shù)據(jù)源806。
      如果要執(zhí)行更新(步驟1014)而不是輸入(步驟1008),則不需要選擇和搜索目錄,因?yàn)樽詈檬钱?dāng)輸入被最初執(zhí)行時(shí),用于選擇和搜索目錄的功能塊901、902的結(jié)果以一種方式被存儲(chǔ),以這種方式存儲(chǔ)后,主程序802可以在其后時(shí)間訪問。因此,使用這樣存儲(chǔ)的信息,主程序802能夠鑒別以前輸入或鑒別的數(shù)據(jù)。在一個(gè)實(shí)施例中,這一點(diǎn)對(duì)防止裝載冗余數(shù)據(jù)即已經(jīng)出現(xiàn)在新數(shù)據(jù)庫808中的數(shù)據(jù)是有用的。一般情況下,希望在步驟1016中鑒別哪些是由于最后一次的輸入或更新導(dǎo)致的新的或被改變的數(shù)據(jù),這樣就可以使已經(jīng)在數(shù)據(jù)庫808中的某些數(shù)據(jù)不必被重新裝載。在一個(gè)實(shí)施例中,為了防止冗余信息裝載,系統(tǒng)將試圖鑒別沒有因?yàn)樽詈笠淮屋斎牖蚋露淖兊臄?shù)據(jù)。一般情況下,如果緊接著是程序,在程序的末尾在新的數(shù)據(jù)庫808中的數(shù)據(jù)將與在源數(shù)據(jù)806中的信息同步,即它將包含精確指示在其當(dāng)前狀態(tài)的數(shù)據(jù)源806的結(jié)構(gòu)和數(shù)據(jù)的信息。
      在圖10的實(shí)施例中,被輸入或更新的數(shù)據(jù)標(biāo)識(shí)符被顯示(步驟1018),以便給用戶一個(gè)機(jī)會(huì)來選擇要被輸入或更新的數(shù)據(jù),或者選擇抑制輸入或更新某些數(shù)據(jù)。將被更新或輸入的數(shù)據(jù)的指示被組織以顯示的方式取決于哪種類型的數(shù)據(jù)源被訪問,并因此被提供以響應(yīng)調(diào)用或激活驅(qū)動(dòng)程序804(902a)之一的功能。例如,為用于有關(guān)圖4A到圖4F中描述的數(shù)據(jù)源而配置的驅(qū)動(dòng)程序的一個(gè)功能塊902a能顯示從表430(圖4F)中畫出的一個(gè)子公司列表,以便給用戶一個(gè)機(jī)會(huì)來為一些公司而不是另一些公司輸入或更新數(shù)據(jù)。最好,用戶能從一個(gè)顯示的列表中選擇一個(gè)或多個(gè)公司。顯示和選擇步驟1018、1020能被重復(fù),以用于其他類型的組織或數(shù)據(jù)源中的數(shù)據(jù),例如,顯示和允許選擇某些雇員416所特有的數(shù)據(jù)、某些會(huì)計(jì)師412所特有的數(shù)據(jù),這取決于驅(qū)動(dòng)程序的顯示功能塊902a如何被寫或配置。在一些情況下,可以預(yù)先確定希望總是輸入或更新所有從數(shù)據(jù)源得到的信息,因而用于所用驅(qū)動(dòng)程序的功能塊902a僅能將程序流程返回到主程序802。例如,對(duì)于在圖7A到圖7D中描述的數(shù)據(jù)源,可以確定,在每一次輸入和更新中,總是包括從所有站點(diǎn)(sites)可得到的所有表面溫度數(shù)據(jù)。在一個(gè)實(shí)施例中,可向用戶提供一種顯示,這種顯示說明相應(yīng)于用戶選擇的數(shù)據(jù)的位置,比如包含信息的目錄、子目錄和文件的顯示,并能選擇性地給用戶一個(gè)機(jī)會(huì),該機(jī)會(huì)用于選擇要訪問哪個(gè)目錄、文件等。
      一旦例如通過步驟1018和1020已確定了將被輸入或更新的數(shù)據(jù),則裝載普通信息(步驟1022)。如果希望訪問來自兩個(gè)或更多數(shù)據(jù)源的信息,則該訪問可以被串行執(zhí)行(即使用第一模塊對(duì)第一數(shù)據(jù)執(zhí)行步驟1022到1046,接著使用適當(dāng)?shù)尿?qū)動(dòng)程序?qū)Φ诙?shù)據(jù)源執(zhí)行步驟1022到1046,等等),也可以被并行執(zhí)行(即在對(duì)每一個(gè)信息模塊執(zhí)行后面的步驟之前,使用適當(dāng)?shù)尿?qū)動(dòng)程序?qū)γ總€(gè)希望的數(shù)據(jù)源執(zhí)行步驟)。
      普通信息包括有關(guān)在數(shù)據(jù)源中的數(shù)據(jù)結(jié)構(gòu)的信息。在所述步驟1022中裝載的普通信息的類型的變化取決于各種類型的源數(shù)據(jù)。例如,對(duì)于寫入或配置的功能塊903來說,普通信息例如可包括帳目或用在數(shù)據(jù)源806中的其它目錄的標(biāo)識(shí)符,所述功能塊903用于諸如在圖4A到圖4F中描述的數(shù)據(jù)庫。另一方面,如果寫入或配置的驅(qū)動(dòng)程序804的功能塊903用于圖1描述的數(shù)據(jù)源,則仍然希望確定多少組分(component)在數(shù)據(jù)源中被使用,但是,在這種情況下,信息將由在數(shù)據(jù)源806中發(fā)現(xiàn)的平面文件101a到101d的數(shù)量來確定。普通信息也可包括諸如有多少項(xiàng)目112、多少產(chǎn)品114和/或產(chǎn)品線116、或者多少子公司118的信息,這些信息在數(shù)據(jù)源806中被確定。普通信息也可包括公司名稱、財(cái)政年度的第一個(gè)月和(一般來說)任何其他能被一次裝載的信息(與之成對(duì)比,比如,在步驟1024、1033和1036中裝載的信息,典型地在一個(gè)循環(huán)中裝載)。如果一個(gè)“裝載普通信息”的功能塊903被提供在一個(gè)為用于在圖6中描述的數(shù)據(jù)源而配置的驅(qū)動(dòng)程序中,則在步驟1022中可裝載諸如在數(shù)據(jù)庫中的位置612的數(shù)量的普通信息。
      主程序802也調(diào)用或激發(fā)適當(dāng)?shù)尿?qū)動(dòng)程序或模塊804的功能塊904以裝載數(shù)據(jù)定義(步驟1024)。數(shù)據(jù)定義可包括的信息比如為存儲(chǔ)成用于數(shù)據(jù)源806中的特定類型或類別的標(biāo)識(shí)符的文本名稱、字段長(zhǎng)度、數(shù)據(jù)類型(字符串、整數(shù)或十進(jìn)制數(shù)、十進(jìn)制數(shù)位置(decimal places)數(shù)目)和用于各種數(shù)據(jù)類型的類似特征。最好,裝載數(shù)據(jù)定義包括查詢數(shù)據(jù),以獲得存儲(chǔ)數(shù)據(jù)源中信息的結(jié)構(gòu)或構(gòu)造體系的指示所必需的信息,以及按需要查詢數(shù)據(jù)源中的數(shù)據(jù)單元,以產(chǎn)生一個(gè)或多個(gè)新數(shù)據(jù)庫808,該數(shù)據(jù)庫808將包含所有的對(duì)新數(shù)據(jù)庫執(zhí)行報(bào)表制作或分析的類型所需要的結(jié)構(gòu)和數(shù)據(jù)。在“裝載數(shù)據(jù)定義”步驟中的數(shù)據(jù)查詢是智能查詢,更精確地說它能真正地適合任何數(shù)據(jù)源,并鑒別什么是存儲(chǔ)數(shù)據(jù)源的標(biāo)準(zhǔn)形式所要求的,例如,對(duì)于報(bào)表制作和分析。在圖4A到圖4F的例子中,指示源數(shù)據(jù)的體系結(jié)構(gòu)所需要的信息包括,例如,四個(gè)帳目部分(帳目、公司、雇員和位置)的名稱,也包括數(shù)據(jù)類型(例如,數(shù)字或字符串)和存儲(chǔ)任何字符串帳目部分所要求的長(zhǎng)度。在圖6的例子中,指示那個(gè)數(shù)據(jù)源的體系結(jié)構(gòu)所需要的信息將包括存儲(chǔ)帳目部分(位置和時(shí)間)的名稱以及用于該數(shù)據(jù)(單元)的參考的名稱。查詢可包括鑒別能被裝載的其它可選擇數(shù)據(jù),例如,發(fā)票號(hào)。執(zhí)行查詢的特定類型將取決于被分析的特定數(shù)據(jù)源的特性,因而對(duì)于每個(gè)驅(qū)動(dòng)程序804是不同的。一般情況下,裝載數(shù)據(jù)或信息的步驟1022、1024、1033、1036由驅(qū)動(dòng)程序804中的功能塊執(zhí)行,但是存儲(chǔ)信息的步驟1026、1028、1030、1032、1034、1038由主程序802執(zhí)行。
      然后,主程序802鑒別或創(chuàng)建數(shù)據(jù)庫倉庫(repository)1026,即在新數(shù)據(jù)庫808中鑒別或創(chuàng)建一個(gè)文件或其他數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),新數(shù)據(jù)庫808將用作從一個(gè)數(shù)據(jù)源或多個(gè)數(shù)據(jù)源8006裝載的信息將被保存的位置。一次更新通常不需要?jiǎng)?chuàng)建新數(shù)據(jù)庫或數(shù)據(jù)庫表,因?yàn)楦滦畔⒔?jīng)常是簡(jiǎn)單地加到已經(jīng)存在的數(shù)據(jù)庫中的已經(jīng)存在的表。
      在一個(gè)實(shí)施例中,一個(gè)或多個(gè)新數(shù)據(jù)庫具有預(yù)先定義的結(jié)構(gòu),因此,在本實(shí)施例中,不需要為新數(shù)據(jù)庫創(chuàng)建或定義結(jié)構(gòu),或者為了定義這樣的結(jié)構(gòu)而從一個(gè)或多個(gè)數(shù)據(jù)源獲得信息。然而,一般來說,希望并不是所有可能的預(yù)先定義的數(shù)據(jù)庫表或其他數(shù)據(jù)倉庫都用一個(gè)數(shù)據(jù)源的數(shù)據(jù)填充。例如,預(yù)先定義的數(shù)據(jù)庫可以具有用于保持公司分部信息的表,而數(shù)據(jù)源可以涉及到不具有公司分部的公司。因此,在本實(shí)施例中,一個(gè)或多個(gè)驅(qū)動(dòng)程序最好被配置成確定來自一個(gè)或多個(gè)數(shù)據(jù)源的哪些數(shù)據(jù)應(yīng)被適當(dāng)?shù)匮b載到預(yù)先定義的數(shù)據(jù)庫的哪些表中(或其他數(shù)據(jù)結(jié)構(gòu)中),例如,該確定取決于在一個(gè)或多個(gè)數(shù)據(jù)源中可得到什么數(shù)據(jù)。
      當(dāng)數(shù)據(jù)庫808的表尚未創(chuàng)建時(shí),主程序802則會(huì)調(diào)用一個(gè)或多個(gè)驅(qū)動(dòng)程序的適當(dāng)功能塊905來創(chuàng)建將被用于把來自數(shù)據(jù)源的數(shù)據(jù)保存到新數(shù)據(jù)庫808中的數(shù)據(jù)庫表(步驟1028)。創(chuàng)建數(shù)據(jù)庫表的方式最好還考慮兩種因素,一種是數(shù)據(jù)和一個(gè)或多個(gè)數(shù)據(jù)源的結(jié)構(gòu),另一種是新數(shù)據(jù)庫808將被用于比如分析、產(chǎn)生報(bào)表等的方式。因?yàn)楸粍?chuàng)建的特定表將隨著數(shù)據(jù)源806中信息特性的變化而改變(例如,就象由步驟1022和1024確定的那樣),創(chuàng)建數(shù)據(jù)庫表(步驟1028)是由驅(qū)動(dòng)程序804提供的功能,驅(qū)動(dòng)程序804是為用來訪問的特定數(shù)據(jù)庫配置的。例如,當(dāng)“創(chuàng)建數(shù)據(jù)表”功能塊905被寫入或配置,以用于比如在圖4A到圖4F中描述的數(shù)據(jù)源的數(shù)據(jù)源時(shí),所創(chuàng)建的數(shù)據(jù)庫表可包括,例如,帳目表、雇員表、子公司表(可以是帳目的滾動(dòng)條(rollup))、和細(xì)節(jié)表(正如下面更完全描述的),而一個(gè)寫入或提供于驅(qū)動(dòng)程序中的“創(chuàng)建數(shù)據(jù)庫表” 可以包括位置表、數(shù)據(jù)表、時(shí)間表、單元表和細(xì)節(jié)表,所述驅(qū)動(dòng)程序配置成用于圖7A到圖7D中描述的數(shù)據(jù)庫。
      盡管用于新數(shù)據(jù)庫808的結(jié)構(gòu)和數(shù)據(jù)至少部分取決于在數(shù)據(jù)源806中可得到什么信息,也可以將系統(tǒng)配置成使得要裝載到新數(shù)據(jù)庫808的結(jié)構(gòu)和/或數(shù)據(jù)可以至少部分地從多個(gè)選項(xiàng)中指定或選擇(手動(dòng)或自動(dòng)地)。例如,可以將系統(tǒng)配置成使得用戶可指定或選擇(或系統(tǒng)可通過缺省方式自身自動(dòng)配置)一個(gè)用于新數(shù)據(jù)庫808的通用分類總帳數(shù)據(jù)庫結(jié)構(gòu)。在一個(gè)實(shí)施例中,將系統(tǒng)配置成辨認(rèn)某些通用的術(shù)語(例如,“凈收入”),并使用驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序?qū)τ诿恳粋€(gè)不同類型的數(shù)據(jù)源自動(dòng)地將所述通用術(shù)語映射為定義、子程序命令等獲得所數(shù)據(jù)所需要的(并且,正如執(zhí)行計(jì)算所需要的)數(shù)據(jù),在驅(qū)動(dòng)程序所配置的數(shù)據(jù)源類型環(huán)境下,用于在新數(shù)據(jù)庫808中提供“凈收入”信息。在多數(shù)據(jù)源環(huán)境下,這一點(diǎn)允許用戶使用相同的請(qǐng)求來從每個(gè)數(shù)據(jù)源得到相應(yīng)數(shù)字,不需要例如具有基礎(chǔ)(underlying)數(shù)據(jù)源806或它們的結(jié)構(gòu)、命令等的知識(shí)。這就是說,用戶的一個(gè)或多個(gè)查詢請(qǐng)求指定(最好是以語義學(xué)(semantic)或“自然”語言描述的)可以使適當(dāng)?shù)尿?qū)動(dòng)程序建立希望的新數(shù)據(jù)庫808。
      最好,在新數(shù)據(jù)庫808中創(chuàng)建的表有動(dòng)態(tài)結(jié)構(gòu)或體系,確切地講,它實(shí)際上可以容納可從各種數(shù)據(jù)源806中找到的任一類型的數(shù)據(jù)定義或結(jié)構(gòu)。在一個(gè)實(shí)施例中,新數(shù)據(jù)庫808旨在主要用于輸出信息,諸如產(chǎn)生報(bào)表和分析,因而如下面所描述的,最好被配置成提供更好的輸出性能,比如輸出類型和可用分析的高靈活性,以及相對(duì)較快地執(zhí)行這種分析和/或輸出。在此情況下,對(duì)一數(shù)據(jù)庫進(jìn)行輸出速度和/或靈活性方面的優(yōu)化,以使其提供的輸出速度或靈活性優(yōu)于一些其它可能配置的速度或靈活性。因此,在這種情況下,“優(yōu)化”并不是必須要求數(shù)學(xué)上的精確優(yōu)化。在一個(gè)實(shí)施例中,在步驟1028中提供三個(gè)通用類型的表多個(gè)類型表(包括適當(dāng)?shù)臐L動(dòng)(rollup)表)、至少一個(gè)細(xì)節(jié)表和至少一個(gè)登錄表。最好,一種類型表提供給每一種方式,用這種方式,特定數(shù)據(jù)指針或記錄能被分類。例如,如果“創(chuàng)建數(shù)據(jù)庫表”功能塊905提供于驅(qū)動(dòng)程序804中,該驅(qū)動(dòng)程序804被構(gòu)造成用于如圖4A到圖4F中描述的數(shù)據(jù)庫,則如在圖12中描述的,新數(shù)據(jù)庫將包含多個(gè)類型表1202,類型表1202例如包括帳目表,它列出所有可能的帳目1203的帳目分類;子公司表1230,它列出在數(shù)據(jù)源806中發(fā)現(xiàn)的所有可能的子公司;產(chǎn)品表1232,它列出所有在數(shù)據(jù)源806中提到的產(chǎn)品;雇員表1216,它列出所有在數(shù)據(jù)源806中提到的雇員;和位置表1234,它列出各種在數(shù)據(jù)源806中提到的位置、銷售區(qū)域,等等。在描述的實(shí)施例中,每一個(gè)類型表1202中的每個(gè)記錄項(xiàng)目與在下面描述的細(xì)節(jié)表中使用的索引有關(guān)。
      在圖12中描述的實(shí)施例中,將提供細(xì)節(jié)表1240,該細(xì)節(jié)表1240一旦被填充則會(huì)具有用于一個(gè)或多個(gè)數(shù)據(jù)源806中的帳目登錄或交易的記錄。在圖12的實(shí)施例中,相應(yīng)于數(shù)據(jù)源(圖4A)中的交易,對(duì)字段1244提供了日期字段1242b、描述符字段1242c、數(shù)量字段1242d、和總量字段1242e。提供了索引字段1242a,用于存儲(chǔ)用于每一條記錄的標(biāo)識(shí)數(shù)字或索引數(shù)字。另外,為每一個(gè)記錄提供一單獨(dú)的字段,用于為在裝載普通信息步驟1022中定義的每一個(gè)類型存儲(chǔ)任何適當(dāng)信息的指示,在圖12中的例子中,包括帳目類型1242f、子公司類型1242g、產(chǎn)品類型1242h、和雇員類型1242i。一般情況下,希望提供盡可能多的不同字段,即類型,它出現(xiàn)在數(shù)據(jù)源806中正是分析和輸出數(shù)據(jù)所需要的。因此,由于可能希望輸出一種報(bào)表,這種報(bào)表按照交易所涉及的帳目來分組交易,因而有帳目類型是有用的。此外,可能出于希望的記帳目的,希望為每個(gè)子公司打印出單獨(dú)的報(bào)表,或打印出其中由子公司分組交易的報(bào)表,因此有子公司類型1424g是有用的。一般情況下,對(duì)于每一種選擇、分組、制作報(bào)表、或打印數(shù)據(jù)的希望的方式,都在細(xì)節(jié)表1240中提供單獨(dú)的字段。
      在圖12中描述的數(shù)據(jù)庫結(jié)構(gòu)與在圖4A到圖4F中描述的數(shù)據(jù)源的結(jié)構(gòu)以及在圖1中描述的數(shù)據(jù)源的結(jié)構(gòu)形成對(duì)比。例如,在圖4A到圖4F描述的結(jié)構(gòu)中,特定交易(圖4A)與特定帳目(圖4B)聯(lián)系的方式被指示在一個(gè)單獨(dú)的鏈接表中(圖4D),而在圖12的實(shí)施例中,適當(dāng)?shù)膸つ?242f的索引將被存儲(chǔ)在包含交易信息1244的相同記錄的其自己的字段中。因此,盡管具有在圖12中描述的表的數(shù)據(jù)庫808能存儲(chǔ)在圖1中描述的數(shù)據(jù)源或在圖4A到圖4F中描述的數(shù)據(jù)源(或以其他方式建造的源數(shù)據(jù))中找到的信息,在圖12中描述的例子中數(shù)據(jù)庫的結(jié)構(gòu)或體系是不同于圖1中描述的數(shù)據(jù)源或在圖4A到圖4F中描述的數(shù)據(jù)源的結(jié)構(gòu)或體系的。類似地,圖12的關(guān)系數(shù)據(jù)庫結(jié)構(gòu)不同于在圖1中描述的平面文件結(jié)構(gòu),即使存儲(chǔ)在兩個(gè)組織中的信息是類似的也是這樣。
      主程序802能構(gòu)造成在例如提供于數(shù)據(jù)庫808中的附加表中保存通用信息1030(在步驟1022中裝載的)和保存數(shù)據(jù)定義1032(在步驟1024中裝載的),例如,用于圖10的后面步驟和/或在以后時(shí)間執(zhí)行的更新。
      主程序802使用一個(gè)或多個(gè)驅(qū)動(dòng)程序804的適當(dāng)功能塊908,以在新數(shù)據(jù)庫808中裝入在步驟1028(1033)中創(chuàng)建的各種表的數(shù)據(jù)定義代碼(例如,字段寬度、數(shù)據(jù)類型,等等)。在一個(gè)實(shí)施例中,滾動(dòng)信息也在這個(gè)時(shí)間裝載。一般情況下,滾動(dòng)信息指用于定義子類型數(shù)據(jù)的信息,即在多個(gè)類型表中的一個(gè)類型表內(nèi)的分組項(xiàng)目。作為一個(gè)例子,正如在圖12中描述的,雇員類型表可與位置或區(qū)域代碼相關(guān),例如,用于識(shí)別每位公司雇員所處的或所負(fù)責(zé)的位置或站點(diǎn)或區(qū)域。例如,一個(gè)公司有大量的銷售人員,每一家公司與一個(gè)銷售區(qū)域關(guān)聯(lián)。作為另一個(gè)例子,公司的各種產(chǎn)品能被滾動(dòng)到或分組到產(chǎn)品線中。通過為位置滾動(dòng)代碼定義一個(gè)字段1238,圖12的結(jié)構(gòu)使輸出由銷售區(qū)域分組的報(bào)表成為可能。滾動(dòng)也能用于提供組數(shù)據(jù)的統(tǒng)計(jì)分析,諸如平均值、中間值、標(biāo)準(zhǔn)偏差,等等。盡管在圖12的實(shí)施例中,位置滾動(dòng)代碼1238的字段被指示為雇員類型表1216的字段,如果希望的話,位置字段1238也能在細(xì)節(jié)表中被提供。
      用于裝載滾動(dòng)代碼的功能塊908所操作的方式將隨著源數(shù)據(jù)806的類型改變而變化,功能塊908使用源數(shù)據(jù)806來配置,并因此其提供為各種驅(qū)動(dòng)程序804的功能,因此,可提供不同的編程指令,以用于源數(shù)據(jù)的不同類型。作為一個(gè)實(shí)施例,“定義滾動(dòng)代碼”功能塊908可提供于驅(qū)動(dòng)程序804中,該驅(qū)動(dòng)程序804配置成用于圖4A到圖4F中描述的數(shù)據(jù)庫。在這個(gè)例子中,位置字段已經(jīng)在雇員表416中定義,雇員表416能直接為位置代碼目的而使用。作為對(duì)比,在圖1中描述的實(shí)施例中,沒有用于與特定平面文件101a相關(guān)的雇員120的位置的指示。因此,在一個(gè)實(shí)施例中,位置滾動(dòng)對(duì)從圖1的數(shù)據(jù)源中得到的數(shù)據(jù)是不可能的。然而,如果存在比如另一個(gè)文件,該文件提供公司的每一個(gè)雇員的家庭地址,則可能使用例如每一個(gè)銷售人員居住的州來推測(cè)那個(gè)人負(fù)責(zé)銷售地區(qū),并因此推斷性地定義位置滾動(dòng)代碼。另外,“定義滾動(dòng)代碼”功能也包括訪問能被用于定義滾動(dòng)代碼的信息。例如,在圖6中描述的有關(guān)數(shù)據(jù)源中,“定義數(shù)據(jù)滾動(dòng)”功能塊908能在那個(gè)功能范圍內(nèi)包含一個(gè)表,該表用于為每一個(gè)潛在的溫度位置612指示是否那個(gè)位置是北半球或南半球的位置,并因此在這個(gè)基礎(chǔ)上創(chuàng)建半球滾動(dòng)代碼。在一些情況下,可能想要在數(shù)據(jù)庫中提供字識(shí)別和/或關(guān)鍵字查詢,以便定義附加的滾動(dòng)和/或結(jié)構(gòu)。
      在一些情況下,滾動(dòng)代碼涉及沒有在數(shù)據(jù)源中作為分析和分組數(shù)據(jù)(例如,圖6為數(shù)據(jù)源的半球滾動(dòng)代碼)的基礎(chǔ)所使用的信息。因此,在這些情況下,提供的滾動(dòng)代碼涉及通過自動(dòng)提供附加元素來提供數(shù)據(jù)的充實(shí),所述附加元素不能用于(或者至少?zèng)]有用于)輸出或分析數(shù)據(jù)源806中的信息。最好,數(shù)據(jù)被分類成類型,并通過深入地分析數(shù)據(jù)源的數(shù)據(jù)來分組。
      除定義滾動(dòng)之外,程序也能存儲(chǔ)可選參考字段。一般情況下,可選參考字段涉及通常沒有被用于分組數(shù)據(jù)的字段,諸如免稅字段(注釋、備忘錄字段,發(fā)票號(hào),等等)但是希望包含在報(bào)表中,等等。
      接下來,裝載數(shù)據(jù)定義代碼和滾動(dòng)條,這些數(shù)據(jù)定義代碼和滾動(dòng)條被保存(步驟1034)在新數(shù)據(jù)庫808中,例如,通過把類型列表成各種類型表1202來完成。以循環(huán)方式(步驟1035)執(zhí)行裝載和保存數(shù)據(jù)定義和滾動(dòng)代碼(步驟1033、1034),以便裝載和保存特定類型(特定帳目、公司、雇員和位置,在圖4A-4F的例子中)。
      總之,按照所描述的實(shí)施例,步驟1024定義類型(例如,帳目、公司、雇員和位置)以及它們的數(shù)據(jù)類型(例如,字符或數(shù)字)。步驟1028創(chuàng)建在步驟1024(和在步驟1022中定義的任何其它表)中定義的類型表。步驟1032通常在一個(gè)標(biāo)準(zhǔn)表中保存數(shù)據(jù)定義。步驟1033和1034裝載和保存數(shù)據(jù)定義和滾動(dòng)代碼。
      此時(shí),在此處理過程中,盡管與數(shù)據(jù)結(jié)構(gòu)有關(guān)的信息已被放置在新數(shù)據(jù)庫808中,作為源數(shù)據(jù)806的主題的數(shù)據(jù)(例如,在帳目源數(shù)據(jù)情況下的帳目登錄項(xiàng)或交易、在氣象溫度源數(shù)據(jù)情況下的溫度數(shù)據(jù))還沒有被裝載到新數(shù)據(jù)庫808中。因此,主程序802在適當(dāng)?shù)尿?qū)動(dòng)程序804中調(diào)用或激發(fā)功能塊909來裝載數(shù)據(jù)(步驟1036)、保存數(shù)據(jù)(步驟1038)、并重復(fù)程序(步驟1039),直到所有希望的數(shù)據(jù)被裝載和保存到(步驟1040)。因此,在程序1036、1038、1040的末端,新數(shù)據(jù)庫808將用來自一個(gè)或多個(gè)數(shù)據(jù)源806的數(shù)據(jù)填充。
      在一個(gè)實(shí)施例中,信息作為在這里描述的系統(tǒng)的一部分被驗(yàn)證。例如,為控制從一個(gè)或多個(gè)數(shù)據(jù)源806中提取的數(shù)據(jù),規(guī)則能在驅(qū)動(dòng)程序中定義或作為新數(shù)據(jù)庫808的一部分被定義。規(guī)則可以確認(rèn)數(shù)據(jù)的形式存在,就象被帶進(jìn)新數(shù)據(jù)庫808中一樣,并且,最好是報(bào)告不滿足這種規(guī)則的任何項(xiàng)目,以提供錯(cuò)誤捕獲(trapping)和報(bào)表。例如,在帳目封裝的情況下,本發(fā)明可以構(gòu)造成驗(yàn)證“帳簿(book)”是否是平衡的。
      當(dāng)組合兩種或多種具有不同結(jié)構(gòu)和/或使用不同商標(biāo)或類型的軟件所產(chǎn)生的數(shù)據(jù)源時(shí),通過利用圖10的處理過程,來自不同類型源的這些數(shù)據(jù)能被填充到共同的數(shù)據(jù)庫結(jié)構(gòu)中,例如,就象在圖12中描述的那樣。這就有助于數(shù)據(jù)的共同或標(biāo)準(zhǔn)化分析和報(bào)告,最好是為輸出靈活性和速度而優(yōu)化。
      在圖10的實(shí)施例中,主程序802現(xiàn)在能建立并且(如果希望的話)執(zhí)行數(shù)據(jù)查詢,諸如總結(jié)查詢(步驟1042)。一般情況下,能建立至少三種類型的查詢。提供的第一種類型的查詢對(duì)于利用圖10的程序創(chuàng)建的所有新數(shù)據(jù)庫808來說是共同的,例如提供細(xì)節(jié)表的登錄項(xiàng)號(hào)碼或給定數(shù)據(jù)范圍(例如,每個(gè)地區(qū))的登錄項(xiàng)號(hào)碼的一種查詢。另一類型的查詢建立可以至少部分取決于普通信息和相對(duì)于一個(gè)或多個(gè)數(shù)據(jù)源806所得到的數(shù)據(jù)定義,包括已經(jīng)提供的滾動(dòng)條,因此,如果希望的話,可作為驅(qū)動(dòng)程序804的一部分提供,特定于特定的數(shù)據(jù)源。提供的第三種類型的查詢可用于復(fù)制或包括用在最初數(shù)據(jù)源中的查詢或報(bào)表(例如,在圖4E中描述的)。
      一旦新數(shù)據(jù)庫808被填充并且建立了適當(dāng)?shù)牟樵儯鞒绦?02能關(guān)閉表和數(shù)據(jù)庫(步驟1044)和動(dòng)態(tài)驅(qū)動(dòng)程序(步驟1046),例如,釋放存儲(chǔ)器。
      盡管本發(fā)明的一個(gè)主要預(yù)期的應(yīng)用涉及到提供對(duì)一個(gè)或多個(gè)數(shù)據(jù)源中的數(shù)據(jù)的標(biāo)準(zhǔn)化和/或增強(qiáng)的報(bào)告和分析,也可以將本發(fā)明用于通過與新數(shù)據(jù)庫808相關(guān)的數(shù)據(jù)庫管理系統(tǒng)(例如,Microsoft Access、Excel、FoxPro、Btrieve,等等)進(jìn)行數(shù)據(jù)登錄和數(shù)據(jù)存儲(chǔ)。盡管本發(fā)明的一個(gè)主要預(yù)期的應(yīng)用涉及到繼續(xù)原始源數(shù)據(jù)806來輸入和存儲(chǔ),同時(shí)又能維持新數(shù)據(jù)庫808中相同信息的復(fù)制,以用于報(bào)告和分析的目的,也可以利用本發(fā)明將數(shù)據(jù)從一種類型的源數(shù)據(jù)806a、806b轉(zhuǎn)換為另一種數(shù)據(jù)源比如為806c,這是通過首先將源數(shù)據(jù)806a、806b存儲(chǔ)到新數(shù)據(jù)庫808中,如上面所描述的,然后從新數(shù)據(jù)庫808下載或輸出信息到不同類型的源數(shù)據(jù)806c中來執(zhí)行的。
      按照上面的描述,能看到本發(fā)明的大量?jī)?yōu)點(diǎn)。盡管所使用的源數(shù)據(jù)的商標(biāo)或類型有多種變化,本發(fā)明有助于報(bào)告和分析的標(biāo)準(zhǔn)化。本發(fā)明提供了能被優(yōu)化的系統(tǒng),或者說另外提供了在輸出或報(bào)告數(shù)據(jù)方面的改進(jìn)的性能。本發(fā)明提供了數(shù)據(jù)報(bào)告和分析的能力,這種能力與數(shù)據(jù)源的數(shù)據(jù)報(bào)告和分析能力相比增強(qiáng)了。通過源數(shù)據(jù)的復(fù)雜的查詢,在帳目系統(tǒng)的環(huán)境下,本發(fā)明能夠反映出在數(shù)據(jù)源中帳目建立的圖表。在一個(gè)實(shí)施例中,程序抽取一些或所有定義的滾動(dòng)、可選參考字段、計(jì)帳時(shí)期的信息。通過自動(dòng)地執(zhí)行任務(wù)并除去(或減少)人工分析的需要,本發(fā)明與以前的方法相比減少了勞動(dòng)強(qiáng)度和所用時(shí)間,在一些情況下,用以前的方法要求幾天或幾周完成填充新數(shù)據(jù)庫808,用本發(fā)明可能在幾分鐘或幾小時(shí)內(nèi)完成。在一個(gè)實(shí)施例中,配置驅(qū)動(dòng)程序804來在新數(shù)據(jù)庫808中檢測(cè)、分析和維持用在數(shù)據(jù)源806中的任何安全、口令、允許等等。以這種方式,系統(tǒng)管理員不需要為新數(shù)據(jù)庫808維持新的和單獨(dú)的帳目、口令、允許等的集合,除了用原始數(shù)據(jù)源806來維持之外。更可取的是,系統(tǒng)被配置成基本上以預(yù)先設(shè)定的間隔比如每天、每周等執(zhí)行更新。
      可以對(duì)本發(fā)明進(jìn)行許多修改和變化??梢允褂帽景l(fā)明的一些方面而不用其它方面。例如,可以填充一個(gè)新數(shù)據(jù)庫808而不用定義新的或附加的滾動(dòng)條。盡管在上面的描述中,各種驅(qū)動(dòng)程序804能被提供成單獨(dú)的DLL文件,并且是動(dòng)態(tài)的,確切地講是可以通過在適當(dāng)?shù)哪夸浿写鎯?chǔ)附加的DLL文件而簡(jiǎn)單地加入盡可能多的所需項(xiàng)目,但也可以制作本發(fā)明的可操作的版本,在這個(gè)版本中,由功能模塊執(zhí)行的功能被提供為由主程序802調(diào)用的部分或子程序,而不是單獨(dú)存儲(chǔ)的模塊。
      盡管已經(jīng)通過優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行了有某些變化和修改的描述,也能使用其他的變化和修改。本發(fā)明由后附的權(quán)利要求書來限定。
      權(quán)利要求
      1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包含步驟提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用,其中所述第一數(shù)據(jù)源包括在第一語言中的數(shù)據(jù)標(biāo)識(shí)符;使用所述第一驅(qū)動(dòng)程序來自動(dòng)獲得關(guān)于所述第一數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)的第一信息,不需要人工分析第一數(shù)據(jù)源;創(chuàng)建一數(shù)據(jù)庫,用于存儲(chǔ)至少一些來自所述第一數(shù)據(jù)源的數(shù)據(jù),所述數(shù)據(jù)庫具有基于至少一些所述第一信息的結(jié)構(gòu);和其中所述數(shù)據(jù)庫包括在第二語言中的數(shù)據(jù)標(biāo)識(shí)符,該第二語言不同于所述第一語言。
      2.如權(quán)利要求1所述的方法,其中所述第一和第二語言之一為英語。
      3.如權(quán)利要求1所述的方法,其中所述數(shù)據(jù)標(biāo)識(shí)符是從由字段名、題注、標(biāo)簽和題目組成的組中選擇的。
      4.如權(quán)利要求1所述的方法,還包含步驟至少利用在所述第二語言中的第一項(xiàng)來查詢所述數(shù)據(jù)庫;和響應(yīng)于所述查詢,從所述第一數(shù)據(jù)源中自動(dòng)獲得信息,其中在所述第二語言中的所述第一項(xiàng)不在所述第一數(shù)據(jù)源中。
      5.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包含步驟提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用;使用所述第一驅(qū)動(dòng)程序來自動(dòng)獲得關(guān)于所述第一數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)的第一信息,不需要人工分析第一數(shù)據(jù)源;至少創(chuàng)建第一和第二數(shù)據(jù)庫,用于存儲(chǔ)至少一些來自所述第一數(shù)據(jù)源的數(shù)據(jù),所述第一和第二數(shù)據(jù)庫中的至少一個(gè)具有基于至少一些所述第一信息的結(jié)構(gòu);改變所述第二數(shù)據(jù)庫中的數(shù)據(jù),以提供改變后的數(shù)據(jù);和將所述改變后的數(shù)據(jù)從所述第二數(shù)據(jù)庫自動(dòng)寫回到所述第一數(shù)據(jù)庫。
      6.如權(quán)利要求5所述的方法,其中所述自動(dòng)寫回的步驟被周期性地執(zhí)行。
      7.如權(quán)利要求5所述的方法,其中所述自動(dòng)寫回的步驟是響應(yīng)于所述的改變所述第二數(shù)據(jù)庫中的數(shù)據(jù)的步驟而執(zhí)行的。
      8.如權(quán)利要求5所述的方法,其中所述自動(dòng)寫回的步驟是當(dāng)在所述第一數(shù)據(jù)庫中請(qǐng)求信息時(shí)執(zhí)行的,該信息相應(yīng)于已經(jīng)在所述第二數(shù)據(jù)庫中改變的信息。
      9.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包含步驟從包括至少一個(gè)第一自然語言項(xiàng)的用戶接收指令;提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用;和使用所述第一驅(qū)動(dòng)程序來從所述第一數(shù)據(jù)源中自動(dòng)獲得第一信息,不需要人工分析第一數(shù)據(jù)源,其中所述第一信息是執(zhí)行所述指令所需的信息。
      10.如權(quán)利要求9所述的方法,還包含步驟提供第二驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第二數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第二數(shù)據(jù)源不同于所述第一數(shù)據(jù)源;和使用所述第二驅(qū)動(dòng)程序來從所述第二數(shù)據(jù)源中自動(dòng)獲得第二信息,不需要人工分析第二數(shù)據(jù)源,其中所述第二信息是執(zhí)行所述指令所需的信息,其中,響應(yīng)于所述用戶的所述指令而提供來自所述第一和第二數(shù)據(jù)源的相應(yīng)信息。
      11.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包含步驟提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用;使用所述第一驅(qū)動(dòng)程序來自動(dòng)獲得關(guān)于所述第一數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)的第一信息,不需要人工分析第一數(shù)據(jù)源;至少創(chuàng)建第一和第二數(shù)據(jù)庫,用于存儲(chǔ)至少一些來自所述第一數(shù)據(jù)源的數(shù)據(jù),所述第一和第二數(shù)據(jù)庫中的至少一個(gè)具有基于至少一些所述第一信息的結(jié)構(gòu);在第一時(shí)間至少輸入第一查詢,該第一查詢用于由所述第一數(shù)據(jù)庫執(zhí)行以產(chǎn)生第一查詢結(jié)果;存儲(chǔ)所述第一查詢結(jié)果;在第二時(shí)間輸入所述第一查詢;和響應(yīng)于在所述第二時(shí)間輸入所述第一查詢的所述步驟,輸出所述第一查詢結(jié)果,并且在所述第二時(shí)間之后不用執(zhí)行所述第一查詢。
      12.如權(quán)利要求11所述的方法,還包含步驟在輸出所述第一查詢結(jié)果的所述步驟之前,檢驗(yàn)數(shù)據(jù)中的變化。
      13.如權(quán)利要求12所述的方法,其中,存儲(chǔ)所述第一查詢的所述步驟僅在所述第一查詢已被執(zhí)行至少為預(yù)定次數(shù)之后才被執(zhí)行。
      14.一種可用于訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的設(shè)備,該第一數(shù)據(jù)源配置成至少產(chǎn)生第一輸出,所述設(shè)備包含一計(jì)算機(jī),該計(jì)算機(jī)連接到所述第一數(shù)據(jù)源并且被編程,以執(zhí)行下列步驟提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用,其中所述第一數(shù)據(jù)源包括在第一語言中的數(shù)據(jù)標(biāo)識(shí)符;使用所述第一驅(qū)動(dòng)程序來自動(dòng)獲得關(guān)于所述第一數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)的第一信息,不需要人工分析第一數(shù)據(jù)源;創(chuàng)建一數(shù)據(jù)庫,用于存儲(chǔ)至少一些來自所述第一數(shù)據(jù)源的數(shù)據(jù),所述數(shù)據(jù)庫具有基于至少一些所述第一信息的結(jié)構(gòu);和其中所述數(shù)據(jù)庫包括在第二語言中的數(shù)據(jù)標(biāo)識(shí)符,該第二語言不同于所述第一語言。
      15.一種計(jì)算機(jī)可讀的介質(zhì),在其中存儲(chǔ)了計(jì)算機(jī)程序,該計(jì)算機(jī)程序可用于訪問可存儲(chǔ)在第一和第二不同數(shù)據(jù)源中任意一個(gè)中的數(shù)據(jù),所述第一和第二數(shù)據(jù)源中的至少一個(gè)被配置成至少產(chǎn)生第一輸出,所述計(jì)算機(jī)程序包含執(zhí)行下列步驟的指令提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用,其中所述第一數(shù)據(jù)源包括在第一語言中的數(shù)據(jù)標(biāo)識(shí)符;使用所述第一驅(qū)動(dòng)程序來自動(dòng)獲得關(guān)于所述第一數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)的第一信息,不需要人工分析第一數(shù)據(jù)源;創(chuàng)建一數(shù)據(jù)庫,用于存儲(chǔ)至少一些來自所述第一數(shù)據(jù)源的數(shù)據(jù),所述數(shù)據(jù)庫具有基于至少一些所述第一信息的結(jié)構(gòu);和其中所述數(shù)據(jù)庫包括在第二語言中的數(shù)據(jù)標(biāo)識(shí)符,該第二語言不同于所述第一語言。
      16.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包含步驟提供第一驅(qū)動(dòng)程序,用于發(fā)出訪問存儲(chǔ)在第一數(shù)據(jù)源中的數(shù)據(jù)的指令,所述第一驅(qū)動(dòng)程序包含所配置的程序指令,該程序指令與所述第一數(shù)據(jù)源結(jié)合使用;使用所述第一驅(qū)動(dòng)程序來從所述第一數(shù)據(jù)源中自動(dòng)獲得第一信息,不需要人工分析第一數(shù)據(jù)源;和將至少一些來自所述第一數(shù)據(jù)源的數(shù)據(jù)存儲(chǔ)到與所述數(shù)據(jù)源不同的一個(gè)數(shù)據(jù)源中。
      17.如權(quán)利要求16所述的方法,其中使用所述第一驅(qū)動(dòng)程序從所述第一數(shù)據(jù)源中自動(dòng)獲得第一信息的所述步驟包括選擇取決于在所述數(shù)據(jù)源中可得到的信息的信息。
      18.如權(quán)利要求16所述的方法,還包含獲得用戶輸入的步驟,并且,其中所述的使用所述第一驅(qū)動(dòng)程序自動(dòng)獲得第一信息的步驟包含在自動(dòng)獲得所述第一信息的過程中使用所述用戶輸入。
      全文摘要
      提供了一種以標(biāo)準(zhǔn)化或統(tǒng)一方式產(chǎn)生包含在一數(shù)據(jù)源中的輸出或報(bào)告的方法,所述數(shù)據(jù)源可以是兩種或多種類型的源數(shù)據(jù)中的任何一些。提供了多個(gè)特定于不同類型的數(shù)據(jù)源的驅(qū)動(dòng)程序(804),所述源數(shù)據(jù)包括用于鑒別各種數(shù)據(jù)源的結(jié)構(gòu)和其它特性的編程,例如用于定義新數(shù)據(jù)庫。最好,新數(shù)據(jù)庫被配置成允許高度靈活和/或快速輸出或報(bào)告,或者為報(bào)表制作的目的而優(yōu)化。在一個(gè)實(shí)施例中,本發(fā)明包括一個(gè)或多個(gè)數(shù)據(jù)源到一個(gè)或多個(gè)統(tǒng)一數(shù)據(jù)庫(812)的轉(zhuǎn)換,最好為組織數(shù)據(jù)而產(chǎn)生一個(gè)或多個(gè)關(guān)鍵類型,選擇性地產(chǎn)生多個(gè)類型分組或滾動(dòng)條以及附加數(shù)據(jù)或附加選項(xiàng)。
      文檔編號(hào)G06F17/30GK1307705SQ99808090
      公開日2001年8月8日 申請(qǐng)日期1999年6月7日 優(yōu)先權(quán)日1998年6月29日
      發(fā)明者戴維·B·庫奇, 戴維·亞內(nèi)爾, 唐納德·K·巴布科克 申請(qǐng)人:蒂姆萊恩公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1