本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于向量模型的海量時空數(shù)據(jù)檢索方法及系統(tǒng)。
背景技術(shù):
在現(xiàn)今的大數(shù)據(jù)時代,面對如此眾多的數(shù)據(jù),在合理的時間內(nèi)返回查詢結(jié)果,從而幫助決策成為了一個迫切需要解決的問題。比如公安干警在刑偵破案的時候,定位到了犯罪嫌疑人,那么就可以通過旅業(yè)、航班、鐵路等海量的數(shù)據(jù),根據(jù)和犯罪嫌疑人可能的潛在關(guān)聯(lián)關(guān)系,查找出該犯罪嫌疑人的嫌疑團伙成員。在該場景中,挖掘潛在的關(guān)聯(lián)關(guān)系大多是在時間或空間上和犯罪嫌疑人有關(guān)系的,公安部門擁有的數(shù)據(jù)數(shù)以百億計,數(shù)據(jù)格式涉及表格、文本等多種多樣,在如此海量形式各樣的數(shù)據(jù)中,在合理可接受的時間范圍內(nèi)發(fā)掘出潛在的關(guān)聯(lián)關(guān)系,給公安部門提供了不小的挑戰(zhàn)。如若不能在合理可接受的時間內(nèi)返回查詢結(jié)果,錯過了最佳抓捕時機,給予嫌疑人的逃竄隱藏的時間,會給后續(xù)破案帶來不可預(yù)估的影響,為社會安全帶來潛在的危害。如此看來,在海量數(shù)據(jù)中進行高速有效的時空查詢是極具價值的。但是雖然有迫切的需求,現(xiàn)在關(guān)系型數(shù)據(jù)庫(RDBMS)對時空數(shù)據(jù)的支持卻是有限和不充分的,現(xiàn)有的時空數(shù)據(jù)目錄也不能很好的整合到RDBMS中。在對時空數(shù)據(jù)的研究中,對時間性數(shù)據(jù)的研究更多,而對時間和空間數(shù)據(jù)的研究并不足夠。
目前對時空數(shù)據(jù)的查詢大多使用的是關(guān)系型數(shù)據(jù)庫,處理的多是結(jié)構(gòu)化數(shù)據(jù),對文本、圖表、圖片等形式的半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)處理效果并不十分理想。其以時空為查詢條件的模型表達能力有限,在待處理的數(shù)據(jù)量很大時,又面臨查詢時間過長的問題。近年來,針對大數(shù)據(jù)的處理框架趨于成熟,比如MapReduce,在處理海量數(shù)據(jù)時有較為良好的性能。但如若直接處理,不采用優(yōu)化緩存等措施,效果會比傳統(tǒng)數(shù)據(jù)庫好,但某些數(shù)據(jù)會被反復(fù)處理,中間結(jié)果存儲于磁盤時,由于磁盤尋道時間長等導(dǎo)致的IO瓶頸,浪費了運算資源,降低了處理速度。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種能提高檢索速度的一種基于向量模型的海量時空數(shù)據(jù)檢索方法及系統(tǒng)。
本發(fā)明所采取的技術(shù)方案是:
一種基于向量模型的海量時空數(shù)據(jù)檢索方法,包括以下步驟:
將事件空間和問題空間的數(shù)據(jù)進行向量化處理,得到時空數(shù)據(jù)向量;
根據(jù)需檢索的目標條件向量,將時空數(shù)據(jù)向量進行降維處理;
將降維處理后的時空數(shù)據(jù)向量與目標條件向量的每一個維度進行向量運算;
對向量運算結(jié)果進行判斷,篩選出滿足預(yù)設(shè)條件的向量運算結(jié)果,得出對應(yīng)的檢索結(jié)果。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索方法的進一步改進,所述時空數(shù)據(jù)向量包括時間點屬性維度、時間段屬性維度、基本空間屬性維度和衍生空間屬性維度。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索方法的進一步改進,所述的根據(jù)需檢索的目標條件向量,將時空數(shù)據(jù)向量進行降維處理,這一步驟具體為:
根據(jù)需檢索的目標條件向量的各個維度,將時空數(shù)據(jù)向量從高維屬性空間映射到對應(yīng)的低維屬性空間,得到降維處理后的時空數(shù)據(jù)向量。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索方法的進一步改進,所述向量運算包括時間點維度運算、時間段維度運算、歐幾里得運算、曼哈頓運算、衍生空間屬性運算和關(guān)系運算。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索方法的進一步改進,所述的將事件空間和問題空間的數(shù)據(jù)進行向量化處理,得到時空數(shù)據(jù)向量,這一步驟之后還包括有:
將時空數(shù)據(jù)向量根據(jù)設(shè)定的層級索引,對設(shè)定的維度進行多層函數(shù)映射,劃分得到多個數(shù)據(jù)集。
本發(fā)明所采用的另一技術(shù)方案是:
一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng),包括:
時空數(shù)據(jù)向量表示模塊,用于將事件空間和問題空間的數(shù)據(jù)進行向量化處理,得到時空數(shù)據(jù)向量;
時空數(shù)據(jù)向量降維模塊,用于根據(jù)需檢索的目標條件向量,將時空數(shù)據(jù)向量進行降維處理;
時空數(shù)據(jù)向量運算模塊,用于將降維處理后的時空數(shù)據(jù)向量與目標條件向量的每一個維度進行向量運算;
檢索結(jié)果判斷模塊,用于對向量運算結(jié)果進行判斷,篩選出滿足預(yù)設(shè)條件的向量運算結(jié)果,得出對應(yīng)的檢索結(jié)果。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng)的進一步改進,所述時空數(shù)據(jù)向量包括時間點屬性維度、時間段屬性維度、基本空間屬性維度和衍生空間屬性維度。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng)的進一步改進,所述時空數(shù)據(jù)向量降維模塊具體為:
根據(jù)需檢索的目標條件向量的各個維度,將時空數(shù)據(jù)向量從高維屬性空間映射到對應(yīng)的低維屬性空間,得到降維處理后的時空數(shù)據(jù)向量。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng)的進一步改進,所述時空數(shù)據(jù)向量運算模塊包括時間點維度運算模塊、時間段維度運算模塊、歐幾里得運算模塊、曼哈頓運算模塊、衍生空間屬性運算模塊和關(guān)系運算模塊。
作為所述的一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng)的進一步改進,所述時空數(shù)據(jù)向量表示模塊之后還包括有:
時空數(shù)據(jù)層級索引構(gòu)建模塊,用于將時空數(shù)據(jù)向量根據(jù)設(shè)定的層級索引,對設(shè)定的維度進行多層函數(shù)映射,劃分得到多個數(shù)據(jù)集。
本發(fā)明的有益效果是:
本發(fā)明一種基于向量模型的海量時空數(shù)據(jù)檢索方法及系統(tǒng)根據(jù)時空數(shù)據(jù)的各個屬性維度特點,建立通用的向量表示,然后通過將得到時空數(shù)據(jù)向量降維處理,并通過該向量與目標條件向量進行運算,結(jié)合向量檢索模型從而得到滿足條件的數(shù)據(jù)結(jié)果,這樣能減少要查詢的數(shù)據(jù)量,大大減少計算復(fù)雜度,有效提到檢索效率。而且,本發(fā)明還構(gòu)建了垂直層級索引,大大提高了檢索速度。
附圖說明
下面結(jié)合附圖對本發(fā)明的具體實施方式作進一步說明:
圖1是本發(fā)明一種基于向量模型的海量時空數(shù)據(jù)檢索方法的步驟流程圖;
圖2是本發(fā)明一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng)的模塊方框圖。
具體實施方式
參考圖1,本發(fā)明一種基于向量模型的海量時空數(shù)據(jù)檢索方法,包括以下步驟:
將事件空間和問題空間的數(shù)據(jù)進行向量化處理,得到時空數(shù)據(jù)向量;
根據(jù)需檢索的目標條件向量,將時空數(shù)據(jù)向量進行降維處理;
將降維處理后的時空數(shù)據(jù)向量與目標條件向量的每一個維度進行向量運算;
對向量運算結(jié)果進行判斷,篩選出滿足預(yù)設(shè)條件的向量運算結(jié)果,得出對應(yīng)的檢索結(jié)果。
進一步作為優(yōu)選的實施方式,所述時空數(shù)據(jù)向量包括時間點屬性維度、時間段屬性維度、基本空間屬性維度和衍生空間屬性維度。其中,基本空間屬性維度為基本的位置信息如GPS,衍生空間屬性維度為如車次、身份證號、籍貫等信息。
進一步作為優(yōu)選的實施方式,所述的根據(jù)需檢索的目標條件向量,將時空數(shù)據(jù)向量進行降維處理,這一步驟具體為:
根據(jù)需檢索的目標條件向量的各個維度,將時空數(shù)據(jù)向量從高維屬性空間映射到對應(yīng)的低維屬性空間,得到降維處理后的時空數(shù)據(jù)向量。
進一步作為優(yōu)選的實施方式,所述向量運算包括時間點維度運算、時間段維度運算、歐幾里得運算、曼哈頓運算、衍生空間屬性運算和關(guān)系運算。
進一步作為優(yōu)選的實施方式,所述的將事件空間和問題空間的數(shù)據(jù)進行向量化處理,得到時空數(shù)據(jù)向量,這一步驟之后還包括有:
將時空數(shù)據(jù)向量根據(jù)設(shè)定的層級索引,對設(shè)定的維度進行多層函數(shù)映射,劃分得到多個數(shù)據(jù)集。
優(yōu)選的,所述層級索引通過對時間和基本空間屬性進行哈希映射,將較大數(shù)據(jù)集的檢索拆分成了較小數(shù)據(jù)集的檢索,使得對數(shù)據(jù)的檢索效率得以提高。而且,將數(shù)據(jù)進行切分為多個數(shù)據(jù)集,從而可以并行處理,進一步提高檢索速度。
所述層級索引采用了多層映射。當數(shù)據(jù)經(jīng)過第一層級時,通過函數(shù)將數(shù)據(jù)映射到多個Bucket中,實現(xiàn)了將大數(shù)據(jù)劃分為較小的數(shù)據(jù)集。如此類似,當數(shù)據(jù)經(jīng)過第二層級時,通過函數(shù)將數(shù)據(jù)映射到多個Region中,將較小的數(shù)據(jù)集更加細分。當數(shù)據(jù)經(jīng)過最終層映射時,將數(shù)據(jù)映射到Block中,從而實現(xiàn)了將大數(shù)據(jù)集映射到多個小的數(shù)據(jù)集中的結(jié)果。需要注意的是,中間經(jīng)過的層級數(shù)據(jù)映射,并不存儲數(shù)據(jù),只起到了類似于轉(zhuǎn)發(fā)的作用,通過層層轉(zhuǎn)發(fā),最后映射到最底層的Block中,并實現(xiàn)了持久化存儲。
參考圖2,本發(fā)明一種基于向量模型的海量時空數(shù)據(jù)檢索系統(tǒng),包括:
時空數(shù)據(jù)向量表示模塊,用于將事件空間和問題空間的數(shù)據(jù)進行向量化處理,得到時空數(shù)據(jù)向量;
時空數(shù)據(jù)向量降維模塊,用于根據(jù)需檢索的目標條件向量,將時空數(shù)據(jù)向量進行降維處理;
時空數(shù)據(jù)向量運算模塊,用于將降維處理后的時空數(shù)據(jù)向量與目標條件向量的每一個維度進行向量運算;
檢索結(jié)果判斷模塊,用于對向量運算結(jié)果進行判斷,篩選出滿足預(yù)設(shè)條件的向量運算結(jié)果,得出對應(yīng)的檢索結(jié)果。
進一步作為優(yōu)選的實施方式,所述時空數(shù)據(jù)向量包括時間點屬性維度、時間段屬性維度、基本空間屬性維度和衍生空間屬性維度。
進一步作為優(yōu)選的實施方式,所述時空數(shù)據(jù)向量降維模塊具體為:
根據(jù)需檢索的目標條件向量的各個維度,將時空數(shù)據(jù)向量從高維屬性空間映射到對應(yīng)的低維屬性空間,得到降維處理后的時空數(shù)據(jù)向量。
進一步作為優(yōu)選的實施方式,所述時空數(shù)據(jù)向量運算模塊包括時間點維度運算模塊、時間段維度運算模塊、歐幾里得運算模塊、曼哈頓運算模塊、衍生空間屬性運算模塊和關(guān)系運算模塊。
進一步作為優(yōu)選的實施方式,所述時空數(shù)據(jù)向量表示模塊之后還包括有:
時空數(shù)據(jù)層級索引構(gòu)建模塊,用于將時空數(shù)據(jù)向量根據(jù)設(shè)定的層級索引,對設(shè)定的維度進行多層函數(shù)映射,劃分得到多個數(shù)據(jù)集。
本發(fā)明實施例中,對數(shù)據(jù)的向量表示,舉例說明,對于一條記錄,其中該數(shù)據(jù)包含身份標識、位置、車次、時間點、時間段等信息,那該記錄可以表示成R=(ID,(X,Y),N,T,(S,E),D)。其中ID表示記錄對應(yīng)的身份標識,該ID在數(shù)據(jù)集中可唯一標識該數(shù)據(jù),(X,Y)為該數(shù)據(jù)中的位置屬性,一般用經(jīng)度、維度表示,N表示鐵路數(shù)據(jù)中的車次屬性,T為時間點數(shù)據(jù)屬性,(S,E)表示數(shù)據(jù)的時間段屬性,其中S代表事件的起始時間,E代表了事件的終止時間,D則代表了其它的數(shù)據(jù)屬性,這些屬性也可抽象為某種空間屬性,如身份證號、車牌、居住地址等。
對數(shù)據(jù)A在2015年11月30日14:00在廣州東站乘坐火車G123到深圳站,該人的身份證號是ID,戶籍是廣州市,性別是男,購票窗口是3,車廂號是13車,座位號是4A。在使用時空數(shù)據(jù)向量表示該事件記錄時,可以表示為,事件記錄(A,201511301400,廣州東,G123,深圳,ID,廣州,男,3,13,4A)。其中各分向量維度分別表示原事件記錄中對應(yīng)的某一屬性值。通過該時空數(shù)據(jù)向量將該事件中的元素均進行了表示。
當要查詢與A在同一天乘坐相同車次均從廣州東站出發(fā)的人員。需要注意:
在A數(shù)據(jù)記錄中,A包含了發(fā)車時間、始發(fā)站、終點站、車次、身份證號、戶籍、性別、購票窗口、車廂號、座位號,總共十個屬性,對應(yīng)的時空數(shù)據(jù)向量,則共有十個分向量維度。而在數(shù)據(jù)檢索條件中“同一天”、“相同車次”、“廣州東站出發(fā)”,我們關(guān)注的其實是與A的“發(fā)車時間”、“車次”、“始發(fā)站”三個分向量維度,即對于A的所有分向量維度,我們只關(guān)心其中的一部分。
由于我們的數(shù)據(jù)記錄中包括了航班號、航班日期、始發(fā)港、終到港、始發(fā)時間、到達時間、座位號、倉位、國籍、性別等信息。假如現(xiàn)在我需要檢索2013年7月1日乘坐ZH9912從SZX始發(fā)的所有男性人員。在該場景中,我們關(guān)心的航班日期、航班號、始發(fā)港、性別,而對于數(shù)據(jù)中的其他屬性,如國籍、戶籍地址、訂票號等,對于檢索條件是無關(guān)的,那么我們就可以將數(shù)據(jù)的全維度空間映射到該四維空間中,目標條件向量表示為R=(20130701,ZH991,SZX,1),對所有數(shù)據(jù)映射到該四維空間中,即R'=(DATE,FLIGHT,FROM,MALE),然后再對時空數(shù)據(jù)的進行向量運算。
此時,會對原始數(shù)據(jù)的事件空間,每條數(shù)據(jù)都是用向量表示,并于目標條件向量R的每一個維度進行運算,其中分別為時間點屬性運算、衍生空間屬性運算、衍生空間屬性運算、衍生空間屬性運算。當結(jié)果滿足預(yù)定義的要求時,即各維度均與目標向量相等時滿足要去。
又舉例為,當要檢索所有2015年5月2日14:00到16:00在某七天(GPS為(TX,TY))住過或在附近距離d內(nèi)的旅店住過的人員。先將目標條件向量表示Rt=((TX,TY),(201505021400,201505021600)),對于全數(shù)據(jù)集,映射到二維向量空間表示為R((X,Y),(S,E)),對于計算f(Rt,R)=(d1,d2),當d1<d且d2>0時該記錄為符合要求的目標人員,其中由于旅店為一范圍位置數(shù)據(jù),當d1<d即人員與目標條件相距不超過d時,即為此人員住的是該七天,而d2>0則表明所有人員的住宿時間與目標時間有重合時間,當兩個條件同時滿足時,意味著這些記錄在時間和空間上與目標向量距離在合理范圍內(nèi),即為滿足檢索條件的數(shù)據(jù)記錄。
從上述內(nèi)容可知,本發(fā)明一種基于向量模型的海量時空數(shù)據(jù)檢索方法及系統(tǒng)根據(jù)時空數(shù)據(jù)的各個屬性維度特點,建立通用的向量表示,然后通過將得到時空數(shù)據(jù)向量降維處理,并通過該向量與目標條件向量進行運算,結(jié)合向量檢索模型從而得到滿足條件的數(shù)據(jù)結(jié)果,這樣能減少要查詢的數(shù)據(jù)量,大大減少計算復(fù)雜度,有效提到檢索效率。而且,本發(fā)明還構(gòu)建了層級索引,大大提高了檢索速度。
以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。