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