一種基于基態修正模型的高效時空數據檢索方法
【專利摘要】本發明公開了一種基于基態修正模型的高效時空數據檢索方法。該方法用以提高時空數據庫歷史檢索的效率和精度,設計雙基態的存儲模式管理時空數據庫的最初始狀態和最現勢狀態,在雙基態之間,采用事件修正的方式對現勢基態進行即時更新,并以此為單位組織歷史負增量數據,構建歷史時空序列;在歷史久遠時,按需動態地創立多組相對于初始基態的修正版本,用于構建中間歷史態的臨時基態。事件修正的組織方式能以較低的數據冗余實現詳細的、精確的時空演變記錄,修正版本的建立能實現高效的時空定位,兩者協同作用能大大提高模型的歷史維護功能,完成歷史時空的高效、無級檢索。
【專利說明】一種基于基態修正模型的高效時空數據檢索方法
【技術領域】
[0001] 本發明屬于時空數據庫管理【技術領域】,特別涉及一種基于基態修正模型的高效時 空數據檢索方法。
【背景技術】
[0002] 地理時空對象本身包含了大量的特有屬性信息和空間信息,同時還隱含連續不斷 地時態信息以及其與周邊環境拓撲關系的變化,在現實生活中地理時空要素總是處于離散 的動態更新中。時空地理對象的歷史更新過程對于數據庫的歷史檢索、變化跟蹤以及分析 預測具有重要的借鑒意義,因此時空數據庫不僅要存儲和維護現勢的數據狀態,還需要能 實現即時的動態更新和高效的歷史時空數據操作。
[0003] 地理時空對象結合了圖形信息、拓撲關系、屬性描述和時態描述信息,自時空對象 的概念提出以來,一直是各界研究者的關注熱點,如何有效地實現空間對象與時態信息的 有機融合、實現時空對象屬性與時空語義的合理組織和管理,并能行之有效地應用到現實 需求中是建立時空數據模型的關鍵。
[0004] "修正"思想是時空數據模型研究的一個里程碑式理念,基態修正模型采用修正的 方法記錄歷史數據,大大降低了歷史數據的冗余度,然而純粹修正數據的記錄又帶來了一 個很嚴峻的問題:歷史時空拓撲關系難以維護,因此也造成歷史檢索難以高效的實現。基態 修正模型理論技術和實踐應用的發展使得其在土地利用和地籍數據管理領域具有舉足輕 重的地位,然而,隨著時態地理信息系統整體知識結構的逐步發展,以及人們對時空數據運 算的精度、效率和解析能力的要求逐步提高,基態修正模型的歷史時空維護功能需要更進 一步的改進。
【發明內容】
[0005] 本發明的目的是克服現有的基態修正模型在歷史低冗余存儲和高效率檢索方面 的矛盾,提出一種基于基態修正模型的高效時空數據檢索方法。
[0006] 基于基態修正模型的高效時空數據檢索方法的步驟如下:
[0007] 1)設計雙基態的存儲模式管理時空數據庫的最初始狀態和最現勢狀態,分別稱為 初始基態和現勢基態,初始基態是數據庫的最原始狀態,一旦存儲則保持不變;現勢基態是 時空演變的結果,表達數據庫在當下的狀態,現勢基態總是隨著現實世界的變化而時時更 新以保持其現勢性,即現勢基態時刻處于動態更新中以保持其與當下狀態的一致性;
[0008] 2)采用事件修正的方式對現勢基態進行即時的更新;
[0009] 3)當歷史信息久遠時,設計相對于初始基態的高級修正,即修正版本,對一定歷史 時間段之間的事件負增量進行集合、逆轉,構建特定時刻相對于初始基態的整體修正,建立 數據庫在該時刻的邏輯快照;
[0010] 4)在進行歷史檢索時,根據修正版本的時間屬性獲取距離目標點最近的正向修正 版本和逆向修正版本;
[0011] 5)根據修正版本與目標點之間的事件負增量荷載,從步驟4)中得到的兩個修正 版本中選取距離目標點最近的修正版本;
[0012] 6)以最鄰近修正版本為基礎,結合該修正版本與目標點之間的事件負增量,通過 邏輯計算獲取目標點的要素狀態。
[0013] 所述的步驟2)為:事件是對現實世界一系列變化的集合、描述,并將其映射到數 據庫中,采用事件修正的方式對現勢基態進行即時的更新,即現時世界一旦發生了可識別 的變化,即以事件的形式驅動時空數據庫的演變;而事件引起的舊現勢基態相對于新現勢 基態之間的變化量以事件負增量的形式進行存儲組織,在歷史時空序列中,以事件負增量 的方式組織每次事件引發的變化量,以低冗余的修正方式存儲詳細的歷史軌跡。
[0014] 所述的步驟3)包括:當歷史信息久遠時,設計相對于初始基態的高級修正,即修 正版本,對一定歷史時間段之間的事件負增量進行集合、逆轉,構建特定時刻相對于初始基 態的整體修正,建立數據庫在該時刻的邏輯快照;
[0015] 修正版本在構建的時候需要依賴初始基態或者上一個修正版本,結合兩者之間的 事件負增量生成,實現過程如下:
[0016] 3. 1設置初始基態或者上一個修正版本作為計算基礎基態;
[0017] 3. 2獲取基礎基態與需要建立的修正版本兩者之間所有事件的集合;
[0018] 3. 3遍歷上述的事件集合,獲取每個事件的負增量并累積;
[0019] 3. 4通過基礎基態和累積負增量的邏輯計算,獲取目標修正版本狀態。
[0020] 所述的步驟5)為:
[0021] 根據修正版本與目標點之間的事件負增量荷載,從步驟4)得到的正向和逆向兩 個修正版本中選取距離目標點最鄰近的修正版本,即操作數最少的修正版本,實現過程如 下:
[0022] 4. 1獲取前版本和后版本距離目標點的事件集合,并通過事件集合分別獲取兩種 版本距離目標點的負增量容量,即負增量條數;
[0023] 4. 2選取負增量容量最小的版本作為距離目標點最鄰近的修正版本。
[0024] 所述的步驟6)為:通過步驟5)獲取到的最鄰近版本,以最鄰近修正版本為基礎, 獲取該修正版本和目標點之間的事件負增量,通過最鄰近版本和負增量之間的正向或逆向 邏輯計算得到目標點的要素狀態,實現過程如下:
[0025] 5. 1獲取最鄰近修正版本距離目標點的事件集合并累積每個事件的負增量;
[0026] 5. 2當最鄰近修正版本建立在目標點時間之后,則用最鄰近修正版本邏輯加上過 程5. 1中獲取的負增量集合,得到目標點的要素狀態;
[0027] 5. 3當最鄰近修正版本建立在目標點時間之前,則用最鄰近修正版本邏輯減去過 程5. 1中獲取的負增量集合,得到目標點的要素狀態。
[0028] 本發明與現有技術相比具有的有益效果:
[0029] 1)采用雙基態的存儲模式管理時空數據庫的最初始狀態和最現勢狀態,首先,初 始基態記錄了數據庫的原始狀態,在進行歷史檢索時不需要從現狀逆向計算獲取歷史狀 態,提高了歷史檢索的效率和精度;其次,現勢基態總是處于動態的更新中以保持與現實世 界的一致,更加契合人們對時空數據庫的現實需求。
[0030] 2)事件修正的增量更新方式能以較小的數據冗余完整的記錄數據庫的時空演變 過程,為無級歷史檢索提供了可能,最大程度地保留了時空數據庫的歷史價值。
[0031] 3)修正版本的組織方式,在歷史時間軸上為時空數據庫創立多組邏輯快照,實現 了高效的時空定位和信息檢索。
【專利附圖】
【附圖說明】
[0032] 圖1是本發明中事件組織對現勢基態的修正過程;
[0033] 圖2是事件負增量的組織結構示意圖;
[0034] 圖3表達了事件修正與版本修正之間的關系。
【具體實施方式】
[0035] 基于基態修正模型的高效時空數據檢索方法的步驟如下:
[0036] 1)設計雙基態的存儲模式管理時空數據庫的最初始狀態和最現勢狀態,分別稱為 初始基態和現勢基態,初始基態是數據庫的最原始狀態,一旦存儲則保持不變;現勢基態是 時空演變的結果,表達數據庫在當下的狀態,現勢基態總是隨著現實世界的變化而時時更 新以保持其現勢性,即現勢基態時刻處于動態更新中以保持其與當下狀態的一致性;
[0037] 2)采用事件修正的方式對現勢基態進行即時的更新;
[0038] 3)當歷史信息久遠時,設計相對于初始基態的高級修正,即修正版本,對一定歷史 時間段之間的事件負增量進行集合、逆轉,構建特定時刻相對于初始基態的整體修正,建立 數據庫在該時刻的邏輯快照;
[0039] 4)在進行歷史檢索時,根據修正版本的時間屬性獲取距離目標點最近的正向修正 版本和逆向修正版本;
[0040] 5)根據修正版本與目標點之間的事件負增量荷載,從步驟4)中得到的兩個修正 版本中選取距離目標點最近的修正版本;
[0041] 6)以最鄰近修正版本為基礎,結合該修正版本與目標點之間的事件負增量,通過 邏輯計算獲取目標點的要素狀態。
[0042] 所述的步驟2)為:事件是對現實世界一系列變化的集合、描述,并將其映射到數 據庫中,采用事件修正的方式對現勢基態進行即時的更新,即現時世界一旦發生了可識別 的變化,即以事件的形式驅動時空數據庫的演變;而事件引起的舊現勢基態相對于新現勢 基態之間的變化量以事件負增量的形式進行存儲組織,在歷史時空序列中,以事件負增量 的方式組織每次事件引發的變化量,以低冗余的修正方式存儲詳細的歷史軌跡,如圖1所 /_J、i 〇
[0043] 所述的步驟3)包括:當歷史信息久遠時,設計相對于初始基態的高級修正,即修 正版本,對一定歷史時間段之間的事件負增量進行集合、逆轉,構建特定時刻相對于初始基 態的整體修正,建立數據庫在該時刻的邏輯快照;
[0044] 修正版本在構建的時候需要依賴初始基態或者上一個修正版本,結合兩者之間的 事件負增量生成,實現過程如下:
[0045] 3. 1設置初始基態或者上一個修正版本作為計算基礎基態;
[0046] 3. 2獲取基礎基態與需要建立的修正版本兩者之間所有事件的集合;
[0047] 3. 3遍歷上述的事件集合,獲取每個事件的負增量并累積;
[0048] 3. 4通過基礎基態和累積負增量的邏輯計算,獲取目標修正版本狀態。
[0049] 所述的步驟5)為:
[0050] 根據修正版本與目標點之間的事件負增量荷載,從步驟4)得到的正向和逆向兩 個修正版本中選取距離目標點最鄰近的修正版本,即操作數最少的修正版本,實現過程如 下:
[0051] 4. 1獲取前版本和后版本距離目標點的事件集合,并通過事件集合分別獲取兩種 版本距離目標點的負增量容量,即負增量條數;
[0052] 4. 2選取負增量容量最小的版本作為距離目標點最鄰近的修正版本。
[0053] 所述的步驟6)為:通過步驟5)犾取到的最鄰近版本,以最鄰近修正版本為基礎, 獲取該修正版本和目標點之間的事件負增量,通過最鄰近版本和負增量之間的正向或逆向 邏輯計算得到目標點的要素狀態,實現過程如下:
[0054] 5. 1獲取最鄰近修正版本距離目標點的事件集合并累積每個事件的負增量;
[0055] 5. 2當最鄰近修正版本建立在目標點時間之后,則用最鄰近修正版本邏輯加上過 程5. 1中獲取的負增量集合,得到目標點的要素狀態;
[0056] 5. 3當最鄰近修正版本建立在目標點時間之前,則用最鄰近修正版本邏輯減去過 程5. 1中獲取的負增量集合,得到目標點的要素狀態。
[0057] 實施例
[0058] (1)設計雙基態的存儲模式管理時空數據庫的最初始狀態和最現勢狀態
[0059] 以浙江省某縣級市某年的土地利用現狀數據維護為例,選取年初數據為初始基 態,當下數據狀態為現勢基態。
[0060] (2)以事件為單位對現勢基態進行即時更新和歷史時空數據維護
[0061] 當研究區域發生了可識別的變化,以事件為單位將現實世界的變化集合映射到數 據庫中,事件負增量記錄了事件引發的變化量,存儲在歷史庫中;同時,對于單個地理對象 來說,事件標識了其產生到消亡的整個生命周期;事件負增量信息以"父對象信息-子對象 信息"的形式存儲在Event_Difference表中,見附圖2。
[0062] (3)當歷史信息久遠時,構建修正版本
[0063] 設計修正版本對事件負增量進行集合、逆轉,構建特定時刻相對于初始基態的整 體修正,見附圖3 ;修正版本采用特定模式的關系表格組織特定時間相對于初始基態的整 體修正,以"初始基態狀態--特定時間點狀態"的形式記錄時間跨域上的變化量。
[0064] (4)獲取最鄰近的正向修正版本和逆向修正版本
[0065] 檢索研究區域在歷史上某時間點的數據狀態時,根據修正版本的時間屬性獲取距 離目標點最近的正向修正版本和逆向修正版本。
[0066] (5)獲取最鄰近修正版本
[0067] 對于步驟4)得到的兩個修正版本,分別計算兩者距離目標點的事件負增量容量, 即獲取兩個修正版本與目標點之間的操作距離,選取操作距離最小的修正版本為最鄰近修 正版本。
[0068] (6)以最鄰近修正版本為基礎,結合事件負增量,獲取目標點狀態
[〇〇69] 以最鄰近修正版本為基礎,結合其與目標點之間的事件負增量,通過邏輯計算,還 原數據庫在該目標時間點的歷史狀態。
【權利要求】
1. 一種基于基態修正模型的高效時空數據檢索方法,其特征在于它的步驟如下: 1) 設計雙基態的存儲模式管理時空數據庫的最初始狀態和最現勢狀態,分別稱為初始 基態和現勢基態,初始基態是數據庫的最原始狀態,一旦存儲則保持不變;現勢基態是時空 演變的結果,表達數據庫在當下的狀態,現勢基態總是隨著現實世界的變化而時時更新以 保持其現勢性,即現勢基態時刻處于動態更新中以保持其與當下狀態的一致性; 2) 采用事件修正的方式對現勢基態進行即時的更新; 3) 當歷史信息久遠時,設計相對于初始基態的高級修正,即修正版本,對一定歷史時間 段之間的事件負增量進行集合、逆轉,構建特定時刻相對于初始基態的整體修正,建立數據 庫在該時刻的邏輯快照; 4) 在進行歷史檢索時,根據修正版本的時間屬性獲取距離目標點最近的正向修正版本 和逆向修正版本; 5) 根據修正版本與目標點之間的事件負增量荷載,從步驟4)中得到的兩個修正版本 中選取距離目標點最近的修正版本; 6) 以最鄰近修正版本為基礎,結合該修正版本與目標點之間的事件負增量,通過邏輯 計算獲取目標點的要素狀態。
2. 根據權利要求1所述的一種基于基態修正模型的高效時空數據檢索方法,其特征在 于所述的步驟2)為:事件是對現實世界一系列變化的集合、描述,并將其映射到數據庫中, 采用事件修正的方式對現勢基態進行即時的更新,即現時世界一旦發生了可識別的變化, 即以事件的形式驅動時空數據庫的演變;而事件引起的舊現勢基態相對于新現勢基態之間 的變化量以事件負增量的形式進行存儲組織,在歷史時空序列中,以事件負增量的方式組 織每次事件引發的變化量,以低冗余的修正方式存儲詳細的歷史軌跡。
3. 根據權利要求1所述的一種基于基態修正模型的高效時空數據檢索方法,其特征在 于所述的步驟3)包括:當歷史信息久遠時,設計相對于初始基態的高級修正,即修正版本, 對一定歷史時間段之間的事件負增量進行集合、逆轉,構建特定時刻相對于初始基態的整 體修正,建立數據庫在該時刻的邏輯快照; 修正版本在構建的時候需要依賴初始基態或者上一個修正版本,結合兩者之間的事件 負增量生成,實現過程如下: 3. 1設置初始基態或者上一個修正版本作為計算基礎基態; 3. 2獲取基礎基態與需要建立的修正版本兩者之間所有事件的集合; 3. 3遍歷上述的事件集合,獲取每個事件的負增量并累積; 3. 4通過基礎基態和累積負增量的邏輯計算,獲取目標修正版本狀態。
4. 根據權利要求1所述的一種基于基態修正模型的高效時空數據檢索方法,其特征在 于所述的步驟5)為: 根據修正版本與目標點之間的事件負增量荷載,從步驟4)得到的正向和逆向兩個修 正版本中選取距離目標點最鄰近的修正版本,即操作數最少的修正版本,實現過程如下: 4. 1獲取前版本和后版本距離目標點的事件集合,并通過事件集合分別獲取兩種版本 距離目標點的負增量容量,即負增量條數; 4. 2選取負增量容量最小的版本作為距離目標點最鄰近的修正版本。
5. 根據權利要求1所述的一種基于基態修正模型的高效時空數據檢索方法,其特征在 于所述的步驟6)為:通過步驟5)獲取到的最鄰近版本,以最鄰近修正版本為基礎,獲取該 修正版本和目標點之間的事件負增量,通過最鄰近版本和負增量之間的正向或逆向邏輯計 算得到目標點的要素狀態,實現過程如下: 5. 1獲取最鄰近修正版本距離目標點的事件集合并累積每個事件的負增量; 5. 2當最鄰近修正版本建立在目標點時間之后,則用最鄰近修正版本邏輯加上過程 5. 1中獲取的負增量集合,得到目標點的要素狀態; 5. 3當最鄰近修正版本建立在目標點時間之前,則用最鄰近修正版本邏輯減去過程 5. 1中獲取的負增量集合,得到目標點的要素狀態。
【文檔編號】G06F17/30GK104063490SQ201410318305
【公開日】2014年9月24日 申請日期:2014年7月4日 優先權日:2014年7月4日
【發明者】張豐, 杜震洪, 劉仁義, 劉校妍, 方涯盼 申請人:浙江大學