交通數(shù)據(jù)流的聚集查詢方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了交通數(shù)據(jù)流的聚集查詢方法及系統(tǒng),屬于信息技術(shù)處理領(lǐng)域。方法獲取移動對象的時(shí)空信息生成交通數(shù)據(jù)流,將數(shù)據(jù)空間劃分為子單元,把頻率相似的鄰近的單元分組成少數(shù)的桶,基于桶的頻率計(jì)算桶的卡爾曼增益,并用二叉劃分樹來索引桶形成當(dāng)前時(shí)間戳的BPT索引,在當(dāng)前時(shí)間戳結(jié)束后將BPT序列化形成歷史索引;進(jìn)行聚集查詢,當(dāng)桶頻率變化過大時(shí),利用桶頻率最優(yōu)估計(jì)值代替計(jì)算聚集查詢值。系統(tǒng)包括:信息收集模塊、數(shù)據(jù)處理模塊、索引處理模塊、應(yīng)用服務(wù)模塊和索引存儲模塊。本發(fā)明能夠有效的抑制交通數(shù)據(jù)流查詢過程中異常點(diǎn)的最大相對誤差,保障聚集查詢方法的可用性。
【專利說明】交通數(shù)據(jù)流的聚集查詢方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及交通數(shù)據(jù)流的聚集查詢方法及系統(tǒng),屬于信息技術(shù)處理領(lǐng)域。
【背景技術(shù)】
[0002] 隨著物聯(lián)網(wǎng)、社交網(wǎng)絡(luò)和云計(jì)算技術(shù)等的蓬勃發(fā)展,大量的業(yè)務(wù)應(yīng)用產(chǎn)生了呈指 數(shù)級別增長的數(shù)據(jù)流數(shù)據(jù),使得對數(shù)據(jù)進(jìn)行分析和挖掘,發(fā)現(xiàn)其中蘊(yùn)含的自然規(guī)律和人類 活動信息,已經(jīng)變得前所未有的迫切;通過掃描大量數(shù)據(jù)元組獲取統(tǒng)計(jì)和概要信息的聚集 查詢作為數(shù)據(jù)分析最常見的查詢方式被廣泛使用;例如:為了分析和控制交通流、緩解交 通壓力,交通監(jiān)控系統(tǒng)經(jīng)常關(guān)注特定時(shí)段內(nèi)特定路段上移動車輛的近似概要信息(如:南 京市新街口上下班高峰期大約有多少輛車通過?)。由于數(shù)據(jù)流具有實(shí)時(shí)性、無限性、瞬時(shí) 性、流速不定性以及元數(shù)據(jù)無窮性等特點(diǎn),盡管云計(jì)算技術(shù)具有天生的并行計(jì)算能力,也難 以對整個(gè)數(shù)據(jù)集進(jìn)行聚集查詢以在較短時(shí)間內(nèi)獲取精確的查詢結(jié)果,所以,在實(shí)際應(yīng)用中 往往利用高質(zhì)量的近似聚集查詢結(jié)果以代替精確結(jié)果。雖然近年來,近似聚集查詢的研究 成果顯著;但是面對人們對查詢精度要求的逐步提高,滑動窗口技術(shù)、隨機(jī)采樣技術(shù)、小波 技術(shù)、草圖索引結(jié)構(gòu)、直方圖技術(shù)等典型的近似聚集查詢方法均以平均查詢誤差的大小去 衡量算法的優(yōu)劣,忽略了能夠產(chǎn)生最大相對誤差或者較大相對誤差的異常點(diǎn)對方法本身性 能的影響(聚集查詢方法的可用性往往是由最大相對誤差決定),使得近似聚集查詢的精 度已經(jīng)無法替代精確查詢。
[0003] 針對這種情況,本發(fā)明運(yùn)用卡爾曼濾波器原理對交通流經(jīng)典聚集查詢方法進(jìn)行改 進(jìn),通過校正狀態(tài)先驗(yàn)估計(jì)以獲得后驗(yàn)估計(jì)的方法,利用桶的頻率最優(yōu)估計(jì)計(jì)算異常點(diǎn)聚 集值,有效地抑制異常點(diǎn)的最大相對誤差,為聚集查詢方法的可用性提供可靠保障。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有近似聚集查詢技術(shù)忽略了能夠產(chǎn)生最大 相對誤差的不足,采用運(yùn)用卡爾曼濾波器原理通過校正狀態(tài)先驗(yàn)估計(jì)以獲得后驗(yàn)估計(jì)的方 法,利用桶的頻率最優(yōu)估計(jì)計(jì)算異常點(diǎn)聚集值,提出了一種交通數(shù)據(jù)流的聚集查詢方法及 系統(tǒng)。
[0005] 本發(fā)明為實(shí)現(xiàn)上述發(fā)明目的采用如下技術(shù)方案:
[0006] 交通數(shù)據(jù)流的聚集查詢方法,包括如下步驟:
[0007] 步驟1,采集移動對象信息,將移動對象信息轉(zhuǎn)化為計(jì)算機(jī)可處理的數(shù)據(jù)形式,在 系統(tǒng)時(shí)間戳到來時(shí)數(shù)據(jù)流;
[0008] 步驟2,在系統(tǒng)時(shí)間戳到來時(shí)生成、更新索引文件:
[0009] 步驟2-1,初始化第一個(gè)系統(tǒng)時(shí)間戳的數(shù)據(jù)流生成的索引文件:采用合理直方圖 將數(shù)據(jù)空間分割為ω ·ω的單元,以當(dāng)前時(shí)間戳內(nèi)單元內(nèi)的移動對象數(shù)量表示該單元的頻 率,再將頻率相似的鄰近單元組成一個(gè)桶,形成η個(gè)桶,0〈η < Β,ω為分辨率,Β為桶數(shù)目的 上限,
[0010] 對于每個(gè)桶:以桶中所有單元的平均頻率作為該桶的頻率,計(jì)算該桶中各單元平 均頻率方差的平均值、該桶的方差以及卡爾曼增益;
[0011] 步驟2-2,在下一系統(tǒng)時(shí)間戳到來時(shí),利用卡爾曼濾波原理更新索引文件:
[0012] 步驟2-2-1,當(dāng)?shù)赾單元中的數(shù)據(jù)變化時(shí),記數(shù)據(jù)變化量為d,更新第c單元的頻率 6 : C =LF。= Fe+d,其中:f為前一時(shí)間戳單元c的頻率,1彡c彡c〇2,d為任意實(shí)數(shù);
[0013] 步驟2-2-2,遍歷當(dāng)前時(shí)間戳的索引文件找到包含數(shù)據(jù)量變化單元的桶,對于第b 個(gè)桶,第b個(gè)桶包含有nb個(gè)單元,b〈n,nb〈c〇 · ω :
[0014] 更新第 b 個(gè)桶的頻率 fb:,/6=/&-+<Ag = /62-/6-2,
[0015] 更新第b個(gè)桶中各單元頻率平方的平均值gb、方差vb : ^ (?/,-? + ^g)/nh, v, - gh - fl ,
[0016] 更新第b個(gè)桶中第i單元的卡爾曼增益,F(xiàn)i為第i單元的頻率:
【權(quán)利要求】
1.交通數(shù)據(jù)流的聚集查詢方法,其特征在于包括如下步驟: 步驟1,采集移動對象信息,將移動對象信息轉(zhuǎn)化為計(jì)算機(jī)可處理的數(shù)據(jù)形式,在系統(tǒng) 時(shí)間戳到來時(shí)數(shù)據(jù)流; 步驟2,在系統(tǒng)時(shí)間戳到來時(shí)生成、更新索引文件: 步驟2-1,初始化第一個(gè)系統(tǒng)時(shí)間戳的數(shù)據(jù)流生成的索引文件:采用合理直方圖將數(shù) 據(jù)空間分割為ω · ω的單元,以當(dāng)前時(shí)間戳內(nèi)單元內(nèi)的移動對象數(shù)量表示該單元的頻率, 再將頻率相似的鄰近單元組成一個(gè)桶,形成η個(gè)桶,0〈η<Β,ω為分辨率,Β為桶數(shù)目的上 限, 對于每個(gè)桶:以桶中所有單元的平均頻率作為該桶的頻率,計(jì)算該桶中各單元平均頻 率方差的平均值、該桶的方差以及卡爾曼增益; 步驟2-2,在下一系統(tǒng)時(shí)間戳到來時(shí),利用卡爾曼濾波原理更新索引文件: 步驟2-2-1,當(dāng)?shù)赾單元中的數(shù)據(jù)變化時(shí),記數(shù)據(jù)變化量為d,更新第c單元的頻率F。: t =€,巧=€ +?/,其中:C為前一時(shí)間戳單元c的頻率,1彡c彡ω2, d為任意實(shí)數(shù); 步驟2-2-2,遍歷當(dāng)前時(shí)間戳的索引文件找到包含數(shù)據(jù)量變化單元的桶,對于第b個(gè) 桶,第b個(gè)桶包含有n b個(gè)單元,b〈n,nb〈c〇 · ω : 更新第 b 個(gè)桶的頻率 fb :,/; = /6- + < Ag = :, 更新第b個(gè)桶中各單元頻率平方的平均值gb、方差vb : gh 二、nh.gh + Ng)/nh,vh 二 gh -片, 更新第b個(gè)桶中第i單元的卡爾曼增益,匕為第i單元的頻率:
當(dāng)Fi>fb時(shí),第i單元的卡爾曼增益為: 當(dāng)匕< fb時(shí),第i單元的卡爾曼增益為 計(jì)算出第b個(gè)桶中頻率大于平均頻率的單元數(shù)目nbl,更新第b個(gè)桶的卡爾曼增益Kgb : KSh =?,"*%; +(/?/?_/7m),A^ ! 1 ^ i ^ nbl ^ nb ; 步驟2-2-3-A,對于需要分裂的桶,計(jì)算每個(gè)需要分裂桶的最高分割利益和最優(yōu)劃分位 置,按照最優(yōu)劃分位置將需要分裂的桶分為兩個(gè)子桶,并且設(shè)置前一系統(tǒng)時(shí)間戳內(nèi)兩個(gè)子 桶的頻率均與分裂前桶的頻率相等,重復(fù)步驟2-2-1 ; 步驟2-2-3-B,對于不需要分裂的桶,在索引中桶的數(shù)量達(dá)到上限時(shí),利用最小合并懲 罰原理將頻率集中的多個(gè)桶合并為一個(gè)桶,重復(fù)步驟2-2-1 ; 步驟2-2-3-C,對于不需要分裂的桶,在索引中桶的數(shù)量未達(dá)上限且當(dāng)前系統(tǒng)時(shí)間戳尚 未結(jié)束的情況下,返回步驟1 ; 步驟2-2-3-D,對于不需要分裂的桶,在索引中通的數(shù)量未達(dá)上限且當(dāng)前時(shí)間戳結(jié)束的 情況下,提取當(dāng)前時(shí)間戳的索引文件生成歷史索引; 步驟3,在生成更新索引文件的同時(shí),根據(jù)用戶的查詢請求SUM(r,ts,te)對空間區(qū)域 r進(jìn)行交通數(shù)據(jù)流查詢,提取查詢時(shí)間區(qū)間[ts,te]的系統(tǒng)時(shí)間戳,對于每個(gè)時(shí)間戳執(zhí)行空 間聚集查詢:遍歷當(dāng)前時(shí)間戳t的索引文件,利用如下表達(dá)式求得當(dāng)前時(shí)間戳下空間區(qū)域r 在各桶的聚集查詢值:
SUM為空間區(qū)域r在第bi個(gè)桶的聚集查詢值,Sinfe為空間區(qū)域r與第bi個(gè)桶相交區(qū) 域的面積,fbi為當(dāng)前時(shí)間戳第bi個(gè)桶的平均頻率,為前一時(shí)間戳f第bi個(gè)桶的平均頻 率,vbi第bi個(gè)桶的方差, 將每個(gè)時(shí)間戳的查詢值求和形成最終的聚集查詢值。
2. 根據(jù)權(quán)利要求1所述的交通數(shù)據(jù)流的聚集查詢方法,其特征在于,步驟2采用二叉劃 分樹結(jié)構(gòu)來索引桶。
3. 根據(jù)權(quán)利要求1或2所述的交通數(shù)據(jù)流的聚集查詢方法,其特征在于,步驟2-2-3-A 利用貪心算法計(jì)算每個(gè)需要分裂桶的最高分割利益和最優(yōu)劃分位置。
4. 根據(jù)權(quán)利要求3所述的交通數(shù)據(jù)流的聚集查詢方法,其特征在于,步驟2中生成的歷 史索引序列化存儲在索引存儲模塊中。
5. 根據(jù)權(quán)利要求4所述的交通數(shù)據(jù)流的聚集查詢方法,其特征在于,步驟1中采集的移 動對象信息包括編號、經(jīng)緯度坐標(biāo)。
6. 交通數(shù)據(jù)流的聚集查詢系統(tǒng),其特征在于包括: 信息收集模塊,采集移動對象的信息,將移動對象信息轉(zhuǎn)化為計(jì)算機(jī)可處理的數(shù)據(jù)形 式,在系統(tǒng)時(shí)間戳到來時(shí)數(shù)據(jù)流; 數(shù)據(jù)處理模塊,將系統(tǒng)時(shí)間戳內(nèi)的空間數(shù)據(jù)劃分為子單元,把包含移動對象數(shù)量相近 的單元組成一個(gè)桶,生成桶的索引文件,計(jì)算桶的頻率、各單元平均頻率方差的平均值、方 差以及卡爾曼增益,在新的系統(tǒng)時(shí)間戳到來時(shí)利用卡爾曼濾波原理更新索引文件; 索引存儲模塊,用以存儲索引生成和更新模塊生成的索引文件; 應(yīng)用服務(wù)模塊,調(diào)用索引存儲模塊查找符合查詢請求的索引文件,并反饋聚值查詢值。
7. 根據(jù)權(quán)利要求6所述的交通數(shù)據(jù)流的聚集查詢系統(tǒng),其特征在于所述查詢系統(tǒng)還包 括索引處理模塊,接收當(dāng)前時(shí)間戳的索引,在當(dāng)前時(shí)間戳結(jié)束后將當(dāng)前時(shí)間戳的索引與歷 史索引序列化處理后輸出至引存儲模塊。
【文檔編號】G06F17/50GK104156524SQ201410378094
【公開日】2014年11月19日 申請日期:2014年8月1日 優(yōu)先權(quán)日:2014年8月1日
【發(fā)明者】馮鈞, 唐志賢, 朱忠華, 査顯月, 杜丙帥, 許瀟, 王超, 朱躍龍, 李士進(jìn), 萬定生 申請人:河海大學(xué)