用于具有動態(tài)排序的樹結(jié)構(gòu)的多維數(shù)據(jù)儲存和文件系統(tǒng)的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種方法,以確定一個或多個動態(tài)排序的樹結(jié)構(gòu)和轉(zhuǎn)變樹結(jié)構(gòu)(例如,基于一個或多個設(shè)備的轉(zhuǎn)變)以促進查詢和/或訪問數(shù)據(jù)存儲庫。一種裝置和方法,確定生成至少一個索引結(jié)構(gòu),確定關(guān)聯(lián)生成的索引結(jié)構(gòu)的索引對象與至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象,確定基于該至少一個生成的索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié)構(gòu),以及確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象的索引對象。此外,該方法和裝置確定生成至少一個查詢,以及確定在用以解決查詢的當前索引結(jié)構(gòu)不存在的情況下生成至少一個轉(zhuǎn)變索引結(jié)構(gòu)。
【專利說明】用于具有動態(tài)排序的樹結(jié)構(gòu)的多維數(shù)據(jù)儲存和文件系統(tǒng)的 方法和裝置
【背景技術(shù)】
[0001] 服務(wù)提供商和設(shè)備制造商(例如,無線的、蜂窩的等)受到持續(xù)的挑戰(zhàn)以通過例如 提供引人注目的網(wǎng)絡(luò)服務(wù)來向消費者傳遞價值和便利。發(fā)展的一個領(lǐng)域已經(jīng)成為創(chuàng)建用于 通過這樣的服務(wù)使用或訪問的大的信息存儲庫或信息數(shù)據(jù)庫。
[0002] 除了存在市場中設(shè)備數(shù)量的顯著增加,因特網(wǎng)服務(wù)正導致事實上需要管理的大量 的數(shù)據(jù)(結(jié)構(gòu)化的和二進制的兩者)。需要存儲、管理、搜索和分析這一數(shù)據(jù)。在上一個十 年,已經(jīng)估計出因特網(wǎng)服務(wù)將具有累計2500艾字節(jié)左右的數(shù)據(jù)。但是,這一數(shù)據(jù)的大部分 事實上不是結(jié)構(gòu)化的;但是通常需要以有意義的方式實時地適當存儲、搜索和分析以成為 對用戶有用的。
[0003] 例如,地圖服務(wù)或應(yīng)用可以依靠包含數(shù)百萬或甚至數(shù)萬億的數(shù)據(jù)記錄的數(shù)據(jù)存儲 庫,該數(shù)百萬或甚至數(shù)萬億的數(shù)據(jù)記錄包含諸如為興趣點、地勢、地形特征等等的地圖特征 的信息。但是,隨著數(shù)據(jù)記錄的數(shù)量增加,服務(wù)提供商和服務(wù)制造商面臨顯著的技術(shù)挑戰(zhàn)以 實現(xiàn)有效訪問和查詢大信息或數(shù)據(jù)系統(tǒng)的功能。
[0004] 對于分布式儲存裝置系統(tǒng)設(shè)計,顯著的技術(shù)問題通常涉及有效地訪問諸如為電子 地圖的地理信息,并且以能量高效的方式來將信息提供回用于儲存裝置的游牧(nomadic) 設(shè)備。因為電子地圖設(shè)計通常能夠為基于R-樹實現(xiàn)的,儲存系統(tǒng)現(xiàn)今正轉(zhuǎn)向基于閃存的設(shè) 備,但是存在關(guān)于如何達到分布式系統(tǒng)內(nèi)的可擴展的并且能量高效的數(shù)據(jù)轉(zhuǎn)換層的顯著的 挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0005] 因此,存在對用于提供一個或多個動態(tài)排序的樹結(jié)構(gòu)和轉(zhuǎn)變樹結(jié)構(gòu)(例如,基于 一個或多個設(shè)備轉(zhuǎn)變)以促進查詢和/或訪問數(shù)據(jù)存儲庫的方法的需求。
[0006] 根據(jù)一個實施例,一種方法,包括:確定生成至少一個索引結(jié)構(gòu);確定關(guān)聯(lián)生成的 索引結(jié)構(gòu)的索引對象與至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象;確定基于該至少一個 生成的索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié)構(gòu);以及確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索引 結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象的索引對象。該方法還包括:確 定生成對一個或多個數(shù)據(jù)對象的至少一個查詢;以及確定在用以解決查詢的當前索引結(jié)構(gòu) 不存在的情況下生成該至少一個轉(zhuǎn)變索引結(jié)構(gòu)。
[0007] 根據(jù)要各實施例,一種方法還包括以下中的一個或多個:確定生成用于轉(zhuǎn)變索引 結(jié)構(gòu)的一個或多個狀態(tài)軌跡,確定減少用于轉(zhuǎn)變索引結(jié)構(gòu)的一個或多個狀態(tài)軌跡的狀態(tài), 確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象的歷史以確定轉(zhuǎn)變索引結(jié)構(gòu),和確定 提取至少一個索引對象圖案、至少一個索引對象序列或者其組合,以確定轉(zhuǎn)變索引結(jié)構(gòu)。
[0008] 根據(jù)另一實施例,一種裝置,包括:至少一個處理器;以及包括計算機程序代碼的 至少一個存儲器,該至少一個存儲器和計算機程序代碼被配置為與該至少一個處理器一起 至少部分地使得裝置:確定生成至少一個索引結(jié)構(gòu);確定關(guān)聯(lián)生成的索引結(jié)構(gòu)的索引對象 與至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象;確定基于該至少一個生成的索引結(jié)構(gòu)來生 成至少一個轉(zhuǎn)變索引結(jié)構(gòu);以及確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一 個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象的索引對象。
[0009] 進一步使得裝置執(zhí)行以下中的一個或多個:確定生成用于轉(zhuǎn)變索引結(jié)構(gòu)的一個或 多個狀態(tài)軌跡;確定減少用于轉(zhuǎn)變索引結(jié)構(gòu)的該一個或多個狀態(tài)軌跡的狀態(tài);確定觀察針 對一個或多個生成的索引結(jié)構(gòu)的索引對象的歷史以確定轉(zhuǎn)變索引結(jié)構(gòu);確定提取至少一個 索引對象圖案、至少一個索引對象序列或其組合,以確定轉(zhuǎn)變索引結(jié)構(gòu)。
[0010] 根據(jù)另一實施例,一種載有一個或多個指令的一個或多個序列的計算機可讀存儲 介質(zhì),該一個或多個指令的一個或多個序列在由一個或多個處理器執(zhí)行時至少部分地使得 裝置執(zhí)行:確定生成至少一個索引結(jié)構(gòu);確定關(guān)聯(lián)生成的索引結(jié)構(gòu)的索引對象與至少一個 數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象;確定基于該至少一個生成的索引結(jié)構(gòu)來生成至少一個 轉(zhuǎn)變索引結(jié)構(gòu);以及確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲 庫的一個或多個數(shù)據(jù)對象的索引對象。
[0011] 根據(jù)另一實施例,一種載有一個或多個指令的一個或多個序列的計算機可讀存儲 介質(zhì),該一個或多個指令的一個或多個序列在由一個或多個處理器執(zhí)行時至少部分地使得 裝置執(zhí)行:確定生成針對一個或多個數(shù)據(jù)對象的至少一個查詢;以及在用以解決查詢的當 前索引結(jié)構(gòu)不存在的情況下確定生成該至少一個轉(zhuǎn)變索引結(jié)構(gòu)。
[0012] 根據(jù)另一實施例,一種載有一個或多個指令的一個或多個序列的計算機可讀存儲 介質(zhì),該一個或多個指令的一個或多個序列在由一個或多個處理器執(zhí)行時至少部分地使得 裝置執(zhí)行:確定生成用于轉(zhuǎn)變索引結(jié)構(gòu)的一個或多個狀態(tài)軌跡;確定減少用于轉(zhuǎn)變索引結(jié) 構(gòu)的該一個或多個狀態(tài)軌跡的狀態(tài);確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象 的歷史以確定轉(zhuǎn)變索引結(jié)構(gòu);以及確定提取至少一個索引對象圖案、至少一個索引對象序 列或其組合,以確定轉(zhuǎn)變索引結(jié)構(gòu)。
[0013] 根據(jù)另一實施例,一種裝置,包括:用于確定生成至少一個索引結(jié)構(gòu)的裝置;用于 確定關(guān)聯(lián)生成的索引結(jié)構(gòu)的索引對象與至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象的裝 置;用于確定基于該至少一個生成的索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié)構(gòu)的裝置;以及 用于確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個或多 個數(shù)據(jù)對象的索引對象的裝置。該裝置還包括:用于確定生成對一個或多個數(shù)據(jù)對象的至 少一個查詢的裝置;以及用于在用以解決查詢的當前索引結(jié)構(gòu)不存在的情況下確定生成該 至少一個轉(zhuǎn)變索引結(jié)構(gòu)的裝置。
[0014] 根據(jù)另一實施例,一種裝置,包括以下裝置中的一個或多個裝置:用于確定生成用 于轉(zhuǎn)變索引結(jié)構(gòu)的一個或多個狀態(tài)軌跡的裝置;用于確定減少用于轉(zhuǎn)變索引結(jié)構(gòu)的該一個 或多個狀態(tài)軌跡的狀態(tài)的裝置;用于確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象 的歷史以確定轉(zhuǎn)變索引結(jié)構(gòu)的裝置;以及用于確定提取至少一個索引對象圖案、至少一個 索引對象序列或其組合以確定轉(zhuǎn)變索引結(jié)構(gòu)的裝置。
[0015] 根據(jù)另一實施例,一種方法,包括促進對被配置為允許訪問至少一個服務(wù)的至少 一個接口的訪問,該至少一個服務(wù)被配置為:確定生成至少一個索引結(jié)構(gòu);確定關(guān)聯(lián)生成 的索引結(jié)構(gòu)的索引對象和至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象;確定基于該至少一 個生成的索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié)構(gòu);以及確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索 引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對象的索引對象。該至少一個服務(wù) 進一步被配置為:確定生成針對一個或多個數(shù)據(jù)對象的至少一個查詢;以及在用以解決查 詢的當前索引結(jié)構(gòu)不存在的情況下確定生成該至少一個轉(zhuǎn)變索引結(jié)構(gòu)。
[0016] 該至少一個服務(wù)進一步被配置為執(zhí)行以下中的一個或多個:確定生成用于轉(zhuǎn)變索 引結(jié)構(gòu)的一個或多個狀態(tài)軌跡;確定減少用于轉(zhuǎn)變索引結(jié)構(gòu)的該一個或多個狀態(tài)軌跡的狀 態(tài);確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象的歷史以確定轉(zhuǎn)變索引結(jié)構(gòu);以 及確定提取至少一個索引對象圖案、至少一個索引對象序列或其組合,以確定轉(zhuǎn)變索引結(jié) 構(gòu)。
[0017] 根據(jù)另一實施例,一種包括一個或多個指令的一個或多個序列的計算機程序產(chǎn) 品,該一個或多個指令的一個或多個序列在由一個或多個處理器執(zhí)行時使得裝置執(zhí)行:確 定生成至少一個索引結(jié)構(gòu);確定關(guān)聯(lián)生成的索引結(jié)構(gòu)的索引對象與至少一個數(shù)據(jù)存儲庫的 一個或多個數(shù)據(jù)對象;確定基于該至少一個生成的索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié) 構(gòu);以及確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個或 多個數(shù)據(jù)對象的索引對象。進一步使得裝置:確定生成對一個或多個數(shù)據(jù)對象的至少一個 查詢;以及在用以解決查詢的當前索引結(jié)構(gòu)不存在的情況下確定生成該至少一個轉(zhuǎn)變索引 結(jié)構(gòu)。
[0018] 根據(jù)另一實施例,一種包括一個或多個指令的一個或多個序列的計算機程序產(chǎn) 品,該一個或多個指令的一個或多個序列在由一個或多個處理器執(zhí)行時使得裝置執(zhí)行:確 定生成用于轉(zhuǎn)變索引結(jié)構(gòu)的一個或多個狀態(tài)軌跡;確定減少用于轉(zhuǎn)變索引結(jié)構(gòu)的該一個或 多個狀態(tài)軌跡的狀態(tài);確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象的歷史以確定 轉(zhuǎn)變索引結(jié)構(gòu);以及確定提取至少一個索引對象圖案、至少一個索引對象序列或其組合,以 確定轉(zhuǎn)變索引結(jié)構(gòu)。
[0019] 簡單地通過圖示包括預期的用于實施本發(fā)明的最佳模式的多個具體實施例和實 現(xiàn),本發(fā)明的再其他方面、特征和優(yōu)點將從以下具體描述中顯而易見。本發(fā)明還能夠為其他 的和不同的實施例,并且在各種顯然的方面,其若干細節(jié)能夠修正,所有一切都不脫離本發(fā) 明的精神和范圍。對應(yīng)地,附圖和描述將被認為事實上是圖示的,而不被認為是限制的。
【專利附圖】
【附圖說明】
[0020] 本發(fā)明的實施例通過示例的方式并且不通過限制的方式來在所附附圖的圖中圖 示:
[0021] 圖1為根據(jù)示例性實施例的能夠使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)內(nèi)容增強的搜索 的內(nèi)容傳送網(wǎng)絡(luò)系統(tǒng)的框圖;
[0022] 圖2為根據(jù)示例性實施例的用于實現(xiàn)和提供動態(tài)排序的樹結(jié)構(gòu)的樹索引平臺的 組件的框圖;
[0023] 圖3為根據(jù)一個實施例的作為動態(tài)排序的樹結(jié)構(gòu)的示例的R-樹的邏輯視圖和布 局的示例性框圖;
[0024] 圖4為根據(jù)一個實施例的圖示從作為動態(tài)排序的樹結(jié)構(gòu)的第一 R-樹遍歷到第二 R-樹中的狀態(tài)軌跡的示例性框圖;
[0025] 圖5A為根據(jù)一個實施例的用于實現(xiàn)動態(tài)排序的樹結(jié)構(gòu)的情境地圖和相關(guān)的對象 的示例性框圖;
[0026] 圖5B為根據(jù)一個實施例的從情境地圖和相關(guān)的對象中實現(xiàn)的示例性動態(tài)排序的 樹結(jié)構(gòu);
[0027]圖6為根據(jù)示例性實施例的如能夠通過動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)的用于情境增 強搜索的內(nèi)容傳送網(wǎng)絡(luò)系統(tǒng)的示例的框圖;
[0028]圖7A為根據(jù)一個實施例的圖示用于使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜索 的與內(nèi)容傳送網(wǎng)絡(luò)中的后端提供器交互的用戶設(shè)備接口的框圖;
[0029]圖7B為根據(jù)一個實施例的用于使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜索的用 戶設(shè)備接口中的示例性分布式數(shù)據(jù)設(shè)備提供器操作系統(tǒng)的框圖;
[0030]圖7C為根據(jù)一個實施例的使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜索的提供搜 索結(jié)果中的示例性處理流程的框圖;
[0031]圖7D為根據(jù)一個實施例的使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜索的提供搜 索結(jié)果中的另一示例性處理流程的框圖;
[0032]圖7E為根據(jù)一個實施例的使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜索的提供搜 索結(jié)果中的進一步的示例性處理流程的框圖;
[0033]圖7F為根據(jù)示例性實施例的用于使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜索的 示例性處理流程的框圖;
[0034]圖7G-7I為根據(jù)示例性實施例的用于使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜 索以解決查詢的示例性處理流的框圖;
[0035]圖8為本發(fā)明的實施例中的能夠用于使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜 索的內(nèi)容傳送網(wǎng)絡(luò)中的計算機系統(tǒng)的硬件、也包括固件的框圖;
[0036] 圖9為本發(fā)明的實施例中的能夠用在內(nèi)容傳送網(wǎng)絡(luò)中以使用動態(tài)排序的樹結(jié)構(gòu) 來實現(xiàn)情境增強搜索的芯片組的框圖;以及
[0037]圖10為本發(fā)明的實施例中的能夠用于使用動態(tài)排序的樹結(jié)構(gòu)來實現(xiàn)情境增強搜 索的移動終端(例如,手機)的框圖。
【具體實施方式】
[0038] 公開了用于提供諸如用于增強的情境搜索的動態(tài)排序的樹索引結(jié)構(gòu)和轉(zhuǎn)變索引 結(jié)構(gòu)的方法、裝置、以及計算機程序的示例。在以下描述中,為了解釋的目的,給出大量具體 的細節(jié)從而提供對本發(fā)明的實施例的透徹理解。但是,對于本領(lǐng)域技術(shù)人員將顯而易見的, 本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下或使用等價的布置來實踐。在其他例子 中,眾所周知的結(jié)構(gòu)和設(shè)備以方框圖的形式來示出,從而避免不必要地模糊本發(fā)明的實施 例。
[0039] 如這里所使用的,術(shù)語"數(shù)據(jù)存儲庫(data store) "指代用于存儲和檢索由物理現(xiàn) 象代表的數(shù)據(jù)的一個或多個數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)可以為單個文件、文件系統(tǒng)、或諸如為關(guān)系 數(shù)據(jù)庫的復雜數(shù)據(jù)庫、或任意其它的數(shù)據(jù)布置。在某些實施例中,數(shù)據(jù)存儲庫可以為分布式 數(shù)據(jù)存儲庫。通過示例的方式,"分布式數(shù)據(jù)存儲庫"指代遍布于諸如為因特網(wǎng)的通信網(wǎng)絡(luò) 的兩個或更多個節(jié)點上的多個數(shù)據(jù)結(jié)構(gòu)。為了防止節(jié)點故障,某些分布式數(shù)據(jù)存儲庫中的 條目被復制在多個節(jié)點上。
[0040] 圖1為根據(jù)一個實施例的能夠使用能夠提供動態(tài)排序的多維樹結(jié)構(gòu)的動態(tài)排序 的樹結(jié)構(gòu)來實現(xiàn)情境增強的搜索的內(nèi)容傳送網(wǎng)絡(luò)系統(tǒng)的框圖。如之前所提及的,現(xiàn)代應(yīng)用 和服務(wù)能夠經(jīng)常包括訪問和/或管理大數(shù)據(jù)存儲庫或具有潛在地巨大數(shù)量的記錄的數(shù)據(jù) 庫。但是,隨著這些數(shù)據(jù)存儲庫的大小增加,查詢、更新、或者另外管理數(shù)據(jù)存儲庫器內(nèi)的記 錄變得更加資源和時間密集的。傳統(tǒng)的方法已經(jīng)力圖通過使用樹結(jié)構(gòu)來布置所分類的或排 序的數(shù)據(jù)對象來提高大的數(shù)據(jù)存儲庫的操作效率。例如,B-樹、B+樹、以及它們的變型總體 而言用于以允許有效插入、檢索、和/或移除數(shù)據(jù)存儲庫內(nèi)的個體的數(shù)據(jù)記錄的方式來布 置所分類的數(shù)據(jù)(對象)。通常,記錄中的每個記錄由密鑰(例如,唯一標識符)來在樹結(jié) 構(gòu)中標識。
[0041] 另一類型的已知的樹結(jié)構(gòu)為R-樹。R-樹類似B-樹,但是用于操作在空間上相關(guān) 的數(shù)據(jù)上,其中數(shù)據(jù)記錄或?qū)ο蟀╪-維歐幾里德空間中的坐標。這樣的對象的示例為包 括緯度/經(jīng)度坐標的地理標簽數(shù)據(jù)(例如,地圖服務(wù)中的興趣點、地理標簽圖像、跟蹤信息 等)。在這一方法下,R-樹相關(guān)的算法允許使用為位置坐標規(guī)定的條件來實現(xiàn)不同類型的 查詢(例如,空間查詢)。
[0042]但是,這些傳統(tǒng)的樹結(jié)構(gòu)方法和相關(guān)的技術(shù)依賴于假定數(shù)據(jù)存儲庫中所有數(shù)據(jù)對 象的集合基于一個或多個具體的參數(shù)來排序或能夠基于一個或多個具體的參數(shù)來完全排 序。在這一情況下,完全排序指的是數(shù)據(jù)存儲庫中的所有的數(shù)據(jù)記錄是否包括能夠分類或 排序的可比較的參數(shù)的值。例如,使用B-樹來布置的聯(lián)系列表通常在映射聯(lián)系列表的對象 或記錄到B-樹之前按照字母順序分類。而且,傳統(tǒng)的樹上的查詢和操作經(jīng)常取決于數(shù)據(jù)存 儲庫的底層對象的知識或查看并且總體而言不能使用僅僅樹結(jié)構(gòu)來完成。結(jié)果,大的數(shù)據(jù) 存儲庫的對象上的迭代能夠是慢的,因為作為完成所請求的查詢或操作的一部分,訪問并 且檢查對象。
[0043]除此之外,經(jīng)常在數(shù)據(jù)存儲庫上執(zhí)行的常見類型的查詢?yōu)槠渲幸?guī)定關(guān)于一個或多 個數(shù)據(jù)對象參數(shù)的范圍以進行查詢的查詢。例如,對于聯(lián)系列表,一個基于范圍的查詢可以 請求生日落入1970年1月1日與1971年6月30日之間的所有聯(lián)系人。在傳統(tǒng)的方法下, 即使數(shù)據(jù)對象能夠根據(jù)生日來排序或分類,但是,限定范圍的查詢將通過訪問數(shù)據(jù)記錄和 確定記錄是否落入所查詢的范圍內(nèi)來使得查詢引擎在數(shù)據(jù)的潛在的響應(yīng)范圍上迭代。訪問 和檢查數(shù)據(jù)記錄能夠為資源和時間密集的。
[0044] 用以支持限定范圍的搜索的一個已知的方法為用于作為例子的Lucene中的字典 樹(Trie)數(shù)據(jù)結(jié)構(gòu)。注意到Lucene因其全測試搜索和索引能力而廣泛地使用。為此目 的,基于字典樹的方法為預定義的查詢的集合而從對象(例如,最常見的文本文件)中建立 對象密鑰。為此目的,字典樹經(jīng)常規(guī)定從原始數(shù)據(jù)對象中提取以建立索引的關(guān)鍵詞和短語。 字典樹數(shù)據(jù)結(jié)構(gòu)經(jīng)常基于預定義的數(shù)據(jù)格式、關(guān)鍵詞、搜索、以及范圍。但是,對于較不結(jié)構(gòu) 化的數(shù)據(jù)或任意的數(shù)據(jù),字典樹和/或Lucene通常具有有限的可應(yīng)用性。
[0045] 但是,這樣的已知的排序的結(jié)構(gòu)不解決地理信息的有效訪問,諸如電子地圖、以及 諸如其中設(shè)備改變位置的地方。為了解決這一問題,圖1的內(nèi)容傳送網(wǎng)絡(luò)系統(tǒng)1〇〇引入 能力以提供用于訪問和管理數(shù)據(jù)存儲庫的動態(tài)多維排序的樹結(jié)構(gòu)。在一個實施例中,基 于諸如為在家、工作或空閑的設(shè)備的位置或用戶準則中的一個或多個,系統(tǒng)100使用例如 R-樹結(jié)構(gòu)以布置、排序和生成以及預測具有根據(jù)狀態(tài)空間軌跡布置和分組的點或地圖瓦片 的R-樹結(jié)構(gòu)來實現(xiàn)狀態(tài)空間軌跡,其中,該設(shè)備的位置或用戶準則中的一個或多個能夠用 于構(gòu)造排序的樹結(jié)構(gòu)和對應(yīng)的查詢以應(yīng)用到排序的樹結(jié)構(gòu)以識別數(shù)據(jù)存儲庫的具體對象 (例如,數(shù)據(jù)對象)。
[0046] 更具體地,在一個實施例中,系統(tǒng)100提供狀態(tài)空間軌跡以定義諸如為R-樹的動 態(tài)排序的樹結(jié)構(gòu),該動態(tài)排序的樹結(jié)構(gòu)用于管理多維數(shù)據(jù),諸如包括地理編碼和反地理編 碼的計算情境內(nèi)的地理數(shù)據(jù),其涉及用戶的當前的或可能的狀態(tài)以用于訪問和有效管理數(shù) 據(jù)存儲庫以有效提供諸如為大型R-樹之上的情境增強的搜索。
[0047] 關(guān)于這點,當系統(tǒng)規(guī)模增大時,大型R-樹上的有效搜索非常重要。已知R-樹為 類似B-樹的高度上平衡的樹,具有包含到數(shù)據(jù)對象的指針的B-樹的葉子節(jié)點中的索引 記錄。(參見,例如,Guttman,A.,R-Trees :a dynamic index structure for spatial searching, ACM(1984);以及,例如,Bayer,R.,&McCreight,E.,Organization and Maintenance of Large Ordered Indexes. Acta Informatica,第 173-189 頁(1972))〇使 用這樣的樹,索引能夠是實際上徹底動態(tài)的;并且插入和刪除能夠與搜索混合并且沒有周 期的重組織是通常需要的。
[0048] 關(guān)于空間數(shù)據(jù)庫和它們到示例性實施例的應(yīng)用,諸如從Guttman (參見,例如 Guttman,A.,R-Trees :a dynamic index structure for spatial searching,ACM(1984)) 中知曉,空間數(shù)據(jù)庫包括代表空間對象的元組的集合,并且每個元組具有能夠用于檢索該 元組的唯一標識符。R-樹中的葉子節(jié)點包含以下形式的索引記錄條目。
[0049] (I,元組_>標識符)
[0050] 其中元組_>標識符指代數(shù)據(jù)庫中的元組并且I為為索引的空間對象的邊界框的 n維矩形。
[0051] I= (10,I!,…,I」
[0052] 并且其中n為維數(shù)并且L為描述對象沿著維度i的界限的封閉有界間隔[a,b]。 可替代地,Ii能夠具有等于無限大的一個或兩個端點,指示對象無限地向外延伸。非葉子節(jié) 點包含表以下形式的條目。
[0053] (I,子 _> 指針)
[0054] 其中子_>指針為R-樹中更低節(jié)點的地址并且I覆蓋低節(jié)點的條目中的所有矩 形。
[0055] 進一步,如果將M定義為將容納于一個節(jié)點中的最大條目數(shù)并且假定m彡M/2為 規(guī)定節(jié)點中最小條目數(shù)的參數(shù),最大節(jié)點數(shù)為
【權(quán)利要求】
1. 一種方法,包括: 確定生成至少一個索引結(jié)構(gòu); 確定關(guān)聯(lián)所生成的索引結(jié)構(gòu)的索引對象與至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對 象; 確定基于生成的所述至少一個索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié)構(gòu);以及 確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)所述轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個 或多個數(shù)據(jù)對象的索引對象。
2. 根據(jù)權(quán)利要求1所述的方法,進一步包括: 確定生成針對一個或多個數(shù)據(jù)對象的至少一個查詢;以及 確定在用以解決所述查詢的當前索引結(jié)構(gòu)不存在的情況下生成所述至少一個轉(zhuǎn)變索 引結(jié)構(gòu)。
3. 根據(jù)權(quán)利要求2所述的方法,其中所述索引結(jié)構(gòu)和所述轉(zhuǎn)變索引結(jié)構(gòu)中的每個為樹 結(jié)構(gòu),并且所述一個或多個相應(yīng)索引對象為所述樹結(jié)構(gòu)的節(jié)點。
4. 根據(jù)權(quán)利要求2-3中任一項所述的方法,其中所述樹結(jié)構(gòu)為R-樹并且所述索引對象 包括地圖瓦片。
5. 根據(jù)權(quán)利要求1所述的方法,進一步包括: 確定生成用于所述轉(zhuǎn)變索引結(jié)構(gòu)的一個或多個狀態(tài)軌跡。
6. 根據(jù)權(quán)利要求5所述的方法,進一步包括: 確定減少用于所述轉(zhuǎn)變索引結(jié)構(gòu)的所述一個或多個狀態(tài)軌跡的狀態(tài)。
7. 根據(jù)權(quán)利要求5-6中任一項所述的方法,進一步包括: 確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象的歷史以確定所述轉(zhuǎn)變索引結(jié) 構(gòu)。
8. 根據(jù)權(quán)利要求7所述的方法,進一步包括: 確定提取至少一個索引對象圖案、至少一個索引對象序列或者其組合,以確定所述轉(zhuǎn) 變索引結(jié)構(gòu)。
9. 根據(jù)權(quán)利要求1所述的方法,進一步包括: 確定存儲至少一個索引結(jié)構(gòu)、至少一個轉(zhuǎn)變索引結(jié)構(gòu)或者其組合,以基于進一步的轉(zhuǎn) 變來生成進一步的轉(zhuǎn)變索引結(jié)構(gòu)。
10. 根據(jù)權(quán)利要求1所述的方法,其中所述轉(zhuǎn)變或進一步的轉(zhuǎn)變由用于所述設(shè)備的服 務(wù)提供商或者所述設(shè)備的用戶的狀態(tài)、位置、準則中的變化或者其組合來觸發(fā)。
11. 一種裝置,包括: 至少一個處理器;以及 包括用于一個或多個程序的計算機程序代碼的至少一個存儲器,所述至少一個存儲器 和所述計算機程序代碼被配置為,利用所述至少一個處理器使得所述裝置至少執(zhí)行以下操 作: 確定生成至少一個索引結(jié)構(gòu); 確定關(guān)聯(lián)所生成的索引結(jié)構(gòu)的索引對象與至少一個數(shù)據(jù)存儲庫的一個或多個數(shù)據(jù)對 象; 確定基于生成的所述至少一個索引結(jié)構(gòu)來生成至少一個轉(zhuǎn)變索引結(jié)構(gòu);以及 確定基于設(shè)備的轉(zhuǎn)變來關(guān)聯(lián)所述轉(zhuǎn)變索引結(jié)構(gòu)與對應(yīng)于至少一個數(shù)據(jù)存儲庫的一個 或多個數(shù)據(jù)對象的索引對象。
12. 根據(jù)權(quán)利要求11所述的裝置,其中所述裝置被進一步使得: 確定生成針對一個或多個數(shù)據(jù)對象的至少一個查詢;以及 確定在用以解決所述查詢的當前索引結(jié)構(gòu)不存在的情況下生成所述至少一個轉(zhuǎn)變索 引結(jié)構(gòu)。
13. 根據(jù)權(quán)利要求12所述的裝置,其中所述索引結(jié)構(gòu)和所述轉(zhuǎn)變索引結(jié)構(gòu)中的每個為 樹結(jié)構(gòu),并且所述一個或多個相應(yīng)索引對象為所述樹結(jié)構(gòu)的節(jié)點。
14. 根據(jù)權(quán)利要求12-13中任一項所述的裝置,其中所述樹結(jié)構(gòu)為R-樹并且所述索引 對象包括地圖瓦片。
15. 根據(jù)權(quán)利要求11所述的裝置,其中所述裝置被進一步使得: 確定生成用于所述轉(zhuǎn)變索引結(jié)構(gòu)的一個或多個狀態(tài)軌跡。
16. 根據(jù)權(quán)利要求15所述的裝置,其中所述裝置被進一步使得: 確定減少用于所述轉(zhuǎn)變索引結(jié)構(gòu)的所述一個或多個狀態(tài)軌跡的狀態(tài)。
17. 根據(jù)權(quán)利要求15-16中任一項所述的裝置,其中所述裝置被進一步使得: 確定觀察針對一個或多個生成的索引結(jié)構(gòu)的索引對象的歷史以確定所述轉(zhuǎn)變索引結(jié) 構(gòu)。
18. 根據(jù)權(quán)利要求17所述的裝置,其中所述裝置被進一步使得: 確定提取至少一個索引對象圖案、至少一個索引對象序列或者其組合,以確定所述轉(zhuǎn) 變索引結(jié)構(gòu)。
19. 根據(jù)權(quán)利要求11所述的裝置,其中所述裝置被進一步使得: 確定存儲至少一個索引結(jié)構(gòu)、至少一個轉(zhuǎn)變索引結(jié)構(gòu)或者其組合,以基于進一步的轉(zhuǎn) 變來生成進一步的轉(zhuǎn)變索引結(jié)構(gòu)。
20. 根據(jù)權(quán)利要求11所述的裝置,其中所述轉(zhuǎn)變或進一步的轉(zhuǎn)變由用于所述設(shè)備的服 務(wù)提供商或者所述設(shè)備的用戶的狀態(tài)、位置、準則中的變化或者其組合來觸發(fā)。
21. 根據(jù)權(quán)利要求11-20中任一項所述的裝置,其中所述裝置為移動電話,所述裝置進 一步包括: 用戶接口電路和用戶接口軟件,被配置為通過使用顯示器來促進對所述移動電話的至 少一些功能的用戶控制,并且被配置為對用戶輸入做出響應(yīng);以及 顯示器和顯示電路,被配置為顯示所述移動電話的用戶接口的至少一部分,所述顯示 器和顯示電路被配置為促進對所述移動電話的至少一些功能的用戶控制。
22. -種載有一個或多個指令的一個或多個序列的計算機可讀存儲介質(zhì),所述一個或 多個指令的一個或多個序列在由一個或多個處理器執(zhí)行時使得裝置至少執(zhí)行根據(jù)權(quán)利要 求1-10中任一項所述的方法。
23. -種裝置,包括用于至少執(zhí)行根據(jù)權(quán)利要求1-10和1-10中任一項所述的方法的裝 置。
24. 根據(jù)權(quán)利要求23中任一項所述的裝置,其中所述裝置為移動電話,所述裝置進一 步包括: 用戶接口電路和用戶接口軟件,被配置為通過使用顯示器來促進對所述移動電話的至 少一些功能的用戶控制,并且被配置為對用戶輸入做出響應(yīng);以及 顯示器和顯示電路,被配置為顯示所述移動電話的用戶接口的至少一部分,所述顯示 器和顯示電路被配置為促進對所述移動電話的至少一些功能的用戶控制。
25. -種包括一個或多個指令的一個或多個序列的計算機程序產(chǎn)品,所述一個或多 個指令的一個或多個序列在由一個或多個處理器執(zhí)行時使得裝置至少執(zhí)行根據(jù)權(quán)利要求 1-10中任一項所述的方法的步驟。
26. -種方法,包括:促進對至少一個接口的訪問,所述至少一個接口被配置為允許對 至少一個服務(wù)的訪問,所述至少一個服務(wù)被配置為執(zhí)行根據(jù)權(quán)利要求1-10中任一項所述 的方法。
27. -種方法,包括:促進處理和/或處理⑴數(shù)據(jù)和/或⑵信息和/或⑶至少一 個信號,所述(1)數(shù)據(jù)和/或(2)信息和/或(3)至少一個信號至少部分地基于根據(jù)權(quán)利 要求1-10中任一項所述的方法。
28. -種方法,包括促進創(chuàng)建和/或促進修改(1)至少一個設(shè)備用戶接口元件和/或 (2)至少一個設(shè)備用戶接口功能,所述(1)至少一個設(shè)備用戶接口元件和/或(2)至少一個 設(shè)備用戶接口功能至少部分地基于根據(jù)權(quán)利要求1-10中任一項所述的方法。
【文檔編號】G06F17/30GK104412266SQ201380034867
【公開日】2015年3月11日 申請日期:2013年6月7日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】S·博爾德列夫, P·卡爾拉 申請人:諾基亞公司