0可自動識別要對其執(zhí)行在操作524中識別的運算的表。例如,如果特定運算指定要識別作為車輛購買者的類的成員的人,那么NTM 100可自動識別包含車輛購買者的表,然后可搜索該表作為執(zhí)行該查詢的一部分。這樣,NTM 100當(dāng)執(zhí)行該查詢時可搜索一個或多個適當(dāng)?shù)谋?,即使該查詢沒有指定要搜索的表。
[0096]此外,NTM 100可在不執(zhí)行連接操作的情況下執(zhí)行該查詢。這可能是因為如上文所述雙射集合存儲器102中的數(shù)據(jù)已經(jīng)通過將數(shù)據(jù)間的關(guān)系存儲在雙射集合存儲器102中而被有效連接。
[0097]本發(fā)明實施例的另一優(yōu)點在于它們可用于將來自兩個或更多個傳統(tǒng)數(shù)據(jù)庫中的信息容易地集成在單個數(shù)據(jù)庫中。例如,本發(fā)明的實施例可用于容易地合并兩個或更多個銀行數(shù)據(jù)庫。產(chǎn)生的合并數(shù)據(jù)庫可劃分為兩個或更多個分離的域。這一能力使得本發(fā)明實施例能夠同時確保一致性、可用性以及分區(qū)容錯性三者,相悖于CAP定理(也被稱為布魯爾定理)。CAP定理認(rèn)為對于分布式計算機系統(tǒng)來說不可能同時提供下述三種保證:一致性(所有節(jié)點在同一時間看到相同數(shù)據(jù)),可用性(保證每個請求都接收到與它是成功還是失敗相關(guān)的響應(yīng)),以及分區(qū)容錯性(系統(tǒng)繼續(xù)運行,盡管由于網(wǎng)絡(luò)故障導(dǎo)致產(chǎn)生隨意分區(qū))。本發(fā)明的實施例在分布式計算機系統(tǒng)中可同時提供所有這三種保證。
[0098]應(yīng)理解,雖然在上文已經(jīng)就特定實施例對本發(fā)明進(jìn)行了描述,上述實施例僅以說明性質(zhì)提供,而不限制或限定本發(fā)明的范圍。多種其他實施例,包括但不限于下文,也處于權(quán)利要求的范圍中。例如,本文描述的元素和組件可進(jìn)一步劃分為附加的組件或組合在一起形成更少的組件以執(zhí)行相同的功能。
[0099]本文公開的任何功能可使用執(zhí)行這些功能的裝置實現(xiàn)。這些裝置包括但不限于本文公開的組件(諸如下文描述的計算機相關(guān)組件)中的任一個。
[0100]上述技術(shù)可實現(xiàn)為諸如硬件、有形地存儲在一個或多個計算機可讀介質(zhì)上的一個或多個計算機程序、固件或它們的任意組合。上述技術(shù)可實現(xiàn)為在可編程計算機上執(zhí)行(或可由其執(zhí)行的)一個或多個計算機程序,該可編程計算機包括任意數(shù)量的下述組件的任意組合:處理器、可由處理器讀取和/或?qū)懭氲拇鎯橘|(zhì)(包括,例如,易失性和非易失性存儲器和/或存儲元件)、輸入設(shè)備和輸出設(shè)備。計算機代碼可應(yīng)用于使用輸入設(shè)備錄入的輸入,以執(zhí)行描述的功能并使用輸出設(shè)備產(chǎn)生輸出。
[0101]本發(fā)明的實施例包括僅僅使用一個或多個計算機、計算機處理器和/或計算機系統(tǒng)的其他元件才可能和/或可行的特征。這些特征或者通過腦力或者通過手動實現(xiàn)都是不可能的或者是不實際的。例如,本發(fā)明的實施例可在小于一秒的時間內(nèi)搜索包括數(shù)千或數(shù)百萬記錄的知識庫。作為特定示例,本發(fā)明的實施例可在小于一秒的時間內(nèi)搜索包括至少一千、至少一萬、至少一百萬或至少一千萬個記錄的知識庫。沒有人類可那么快地執(zhí)行這一搜索。如此快執(zhí)行該搜索的能力為本發(fā)明的實施例提供了手動或腦力搜索無法獲得的益處。
[0102]本文中的必然需要計算機、處理器、存儲器或類似的計算機相關(guān)元件的任何權(quán)利要求意在需要這些元件,并且不應(yīng)當(dāng)被解釋為如同這些元件沒有出現(xiàn)在這些權(quán)利要求中或不被這些權(quán)利要求需要。這些權(quán)利要求不意在并且不應(yīng)當(dāng)被理解為覆蓋缺少所記載的計算機相關(guān)元件的方法和/或系統(tǒng)。例如,此處記載了要求保護的方法由計算機、處理器、存儲器和/或類似的計算機相關(guān)元件執(zhí)行的任何方法權(quán)利要求意在并應(yīng)當(dāng)僅僅理解為包含由所記載的計算機相關(guān)元件執(zhí)行的方法。這一方法權(quán)利要求不應(yīng)當(dāng)被理解為例如包含通過腦力或手動(例如,使用筆和紙)執(zhí)行的方法。相似地,此處記載了要求保護的產(chǎn)品包括計算機、處理器、存儲器和/或類似的計算機相關(guān)元件的任何產(chǎn)品權(quán)利要求意在并應(yīng)當(dāng)僅僅理解為包含包括所記載的計算機相關(guān)元件的產(chǎn)品。這一產(chǎn)品權(quán)利要求不應(yīng)當(dāng)被理解為例如包含不包括所記載的計算機相關(guān)元件的產(chǎn)品。
[0103]下文權(quán)利要求的范圍內(nèi)的每個計算機程序可以任何編程語言實現(xiàn),諸如匯編語言、機器語言、高級程序編程序言或面向?qū)ο蟮木幊陶Z言。該編程語言可例如為編譯或解釋型的編程語言。
[0104]每個這樣的計算機程序可實現(xiàn)在有形地實現(xiàn)在機器可讀存儲設(shè)備中的計算機程序產(chǎn)品中以由計算機處理器執(zhí)行。本發(fā)明的方法步驟可由執(zhí)行有形地實現(xiàn)在計算機可讀介質(zhì)上的程序的一個或多個處理器所執(zhí)行,以通過對輸入進(jìn)行操作并產(chǎn)生輸出來執(zhí)行本發(fā)明的功能。作為舉例,適當(dāng)?shù)奶幚砥靼ㄍㄓ煤蛯S梦⑻幚砥鲀煞N。一般來說,處理器從存儲器(諸如只讀存儲器和/或隨機存取存儲器)接收(讀取)指令和數(shù)據(jù)并將指令和數(shù)據(jù)寫入(存儲至)存儲器。適于有形實現(xiàn)計算機程序指令和數(shù)據(jù)的存儲設(shè)備包括,例如,所有形式的非易失性存儲器,例如半導(dǎo)體存儲設(shè)備,包括EPR0M、EEPR0M和閃存設(shè)備;磁盤(諸如內(nèi)部硬盤和可移動磁盤);磁光盤;以及⑶-ROM。上述任意內(nèi)容可通過專門設(shè)計的ASIC(專用集成電路)或FPGA (現(xiàn)場可編程門陣列)補充或合并在所述ASCI或FPGA中。計算機一般還可從非易失性計算機存儲介質(zhì)中接收(讀取)程序和數(shù)據(jù)并將程序和數(shù)據(jù)寫入(存儲至)所述非易失性計算機存儲介質(zhì)中,諸如內(nèi)部磁盤(未示出)或可移除磁盤。這些元件還將在傳統(tǒng)臺式或工作站計算機以及其他適于執(zhí)行實現(xiàn)本文所述方法的計算機程序的計算機中找到,所述計算機可與任何數(shù)字打印引擎或標(biāo)記引擎、顯示監(jiān)視器或能夠在紙、膠片、顯示屏或其他輸出介質(zhì)上產(chǎn)生顏色或灰度像素的其他光柵輸出設(shè)備結(jié)合使用。
[0105]本文公開的任何數(shù)據(jù)可實現(xiàn)為諸如有形地存儲在非瞬態(tài)計算機可讀介質(zhì)上的一個或多個數(shù)據(jù)結(jié)構(gòu)。本發(fā)明的實施例可將這些數(shù)據(jù)存儲在這些數(shù)據(jù)結(jié)構(gòu)中并從這些數(shù)據(jù)結(jié)構(gòu)中讀取這些數(shù)據(jù)。
【主權(quán)項】
1.一種由至少一個計算機處理器執(zhí)行的方法,所述方法包括: (1)在雙射集合存儲器中存儲表示多個類和多個實例的數(shù)據(jù); (2)在雙射集合存儲器中存儲表示多個類和多個實例之間的類成員關(guān)系的數(shù)據(jù); (3)接收表示查詢的數(shù)據(jù),其中所述查詢并不指定任何表; (4)識別由查詢指定的運算; (5)識別由查詢指定的操作數(shù); (6)執(zhí)行所述查詢,包括: (6) (a)基于所述查詢,識別要搜索的表;以及 (6) (b)對操作數(shù)執(zhí)行所述運算,以產(chǎn)生輸出,所述對操作數(shù)執(zhí)行所述運算包括搜索所識別的表。2.權(quán)利要求1的方法,其中所述查詢以自然語言編寫。3.權(quán)利要求1的方法,其中所述查詢并不以結(jié)構(gòu)化查詢語言編寫。4.權(quán)利要求1的方法,其中所述查詢并不以結(jié)構(gòu)化語言編寫。5.權(quán)利要求1的方法,其中(1)包括在雙射集合存儲器中在單個表中存儲表示多個類和多個實例的數(shù)據(jù),并且其中(2)包括在雙射集合存儲器中在單個表中存儲表示多個類和多個實例之間的類成員關(guān)系的數(shù)據(jù)。6.權(quán)利要求1的方法,其中所述運算包括還原運算。7.權(quán)利要求1的方法,其中所述運算包括演繹運算。8.權(quán)利要求1的方法,其中所述運算包括交運算。9.權(quán)利要求1的方法,其中所述運算包括并運算。10.權(quán)利要求1的方法,其中所述運算包括差運算。11.權(quán)利要求1的方法,其中所述運算包括補運算。12.權(quán)利要求1的方法,其中(1)、(2)、(3)、(4)、(5)和(6)由非確定性圖靈機執(zhí)行。13.包括存儲于其上的計算機程序指令的非瞬態(tài)計算機可讀介質(zhì),其中所述計算機程序指令可由至少一個計算機處理器執(zhí)行以執(zhí)行方法,所述方法包括: (1)在雙射集合存儲器中存儲表示多個類和多個實例的數(shù)據(jù); (2)在雙射集合存儲器中存儲表示多個類和多個實例之間的類成員關(guān)系的數(shù)據(jù); (3)接收表示查詢的數(shù)據(jù),其中所述查詢并不指定任何表; (4)識別由查詢指定的運算; (5)識別由查詢指定的操作數(shù); (6)執(zhí)行所述查詢,包括: (6)(a)基于所述查詢,識別要搜索的表;以及 (6)(b)對操作數(shù)執(zhí)行所述運算,以產(chǎn)生輸出,所述對操作數(shù)執(zhí)行所述運算包括搜索所識別的表。14.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述查詢以自然語言編寫。15.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述查詢并不以結(jié)構(gòu)化查詢語言編與Ο16.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述查詢并不以結(jié)構(gòu)化語言編寫。17.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中(1)包括在雙射集合存儲器中在單個表中存儲表示多個類和多個實例的數(shù)據(jù),并且其中(2)包括在雙射集合存儲器中在單個表中存儲表示多個類和多個實例之間的類成員關(guān)系的數(shù)據(jù)。18.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述運算包括還原運算。19.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述運算包括演繹運算。20.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述運算包括交運算。21.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述運算包括并運算。22.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述運算包括差運算。23.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中所述運算包括補運算。24.權(quán)利要求13的非瞬態(tài)計算機可讀介質(zhì),其中(1)、(2)、(3)、(4)、(5)和(6)由非確定性圖靈機執(zhí)行。
【專利摘要】數(shù)據(jù)庫系統(tǒng)使用迭代集合以并行方式存儲數(shù)據(jù)和數(shù)據(jù)間的關(guān)系。與受限于表示二維關(guān)系(即,表對之間的關(guān)系)的關(guān)系數(shù)據(jù)庫不同,本發(fā)明的數(shù)據(jù)庫系統(tǒng)可在三維坐標(biāo)系中表示N維關(guān)系。此外,本發(fā)明的數(shù)據(jù)庫系統(tǒng)可將所有數(shù)據(jù)庫數(shù)據(jù)存儲在單個迭代集合中,而無需使用多個表。作為本發(fā)明實施例存儲數(shù)據(jù)和數(shù)據(jù)間關(guān)系的這種方式的結(jié)果,本發(fā)明的實施例可用于在無需以諸如SQL的形式查詢語言制定查詢的情況下搜索數(shù)據(jù)庫。
【IPC分類】G06F17/30
【公開號】CN105404662
【申請?zhí)枴緾N201510746628
【發(fā)明人】韓小文
【申請人】北京未名博思生物智能科技開發(fā)有限公司
【公開日】2016年3月16日
【申請日】2015年8月29日
【公告號】US20160063084