張建靜,房 俊,侯榮軍
(1.北方工業(yè)大學(xué) 云計(jì)算研究中心,北京100140;2.山東科技大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島266590)
實(shí)時(shí)感知數(shù)據(jù)是一個(gè)時(shí)間序列流,通過處理系統(tǒng)在固定的時(shí)間間隔內(nèi)采樣得到[1]。感知數(shù)據(jù)一旦形成便很少進(jìn)行更改和刪除[2]。感知數(shù)據(jù)具有海量性、連續(xù)性、實(shí)時(shí)性[3]等特點(diǎn),特別是實(shí)時(shí)性要求極高,因此對(duì)實(shí)時(shí)感知數(shù)據(jù)的統(tǒng)計(jì)方法也提出了更高要求。現(xiàn)有的統(tǒng)計(jì)方法主要集中在感知數(shù)據(jù)實(shí)時(shí)計(jì)算—滑動(dòng)窗口方面。對(duì)于滑動(dòng)窗口技術(shù)[4]而言,其主要是對(duì)最近一段時(shí)間的數(shù)據(jù)進(jìn)行實(shí)時(shí)統(tǒng)計(jì)分析處理,而沒有側(cè)重歷史感知數(shù)據(jù)的存儲(chǔ)與統(tǒng)計(jì)分析[5],因此迫切需要一種歷史感知數(shù)據(jù)統(tǒng)計(jì)方法?;谝陨蠁栴},本文針對(duì)交通攝像頭數(shù)據(jù)提出一種基于時(shí)間的感知數(shù)據(jù)統(tǒng)計(jì)方法,能有效統(tǒng)計(jì)出歷史感知數(shù)據(jù)。將攝像頭采集的數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫并將表劃分,對(duì)于歷史感知數(shù)據(jù)采用緩存技術(shù),緩存完全命中的從緩存中得到結(jié)果;緩存部分命中的則將查詢語句分解為命中與未命中部分,分別進(jìn)行重新匹配;對(duì)于緩存未命中的查詢將直接查詢數(shù)據(jù)庫。
對(duì)感知數(shù)據(jù)管理的研究主要集中在歷史感知數(shù)據(jù)存儲(chǔ)及查詢優(yōu)化2個(gè)方面。在歷史感知數(shù)據(jù)存儲(chǔ)方面主要集中在Nosql數(shù)據(jù)庫的研究上[6],雖然Nosql數(shù)據(jù)庫在存儲(chǔ)性能和查詢性能上比較優(yōu)越,但是由于Nosql數(shù)據(jù)庫是新興產(chǎn)品,有很多方面還不夠成熟,如不支持連接查詢、對(duì)數(shù)據(jù)的一致性要求不高等。傳統(tǒng)數(shù)據(jù)庫采用技術(shù)是將大表分成若干個(gè)子表[7],首先將子表分別放在不同的邏輯設(shè)備上來提高查詢速度;其次在數(shù)據(jù)大批量插入時(shí),數(shù)據(jù)將插入子表中,從而使得用戶看來對(duì)數(shù)據(jù)的操作仍然是針對(duì)整個(gè)表的。分裂大表技術(shù)的使用使系統(tǒng)的性能得到了很大的改善。
對(duì)于歷史感知數(shù)據(jù)查詢優(yōu)化的研究主要集中在利用存儲(chǔ)過程和緩存優(yōu)化。采用存儲(chǔ)過程優(yōu)化海量數(shù)據(jù)統(tǒng)計(jì)算法[8],有效減少查詢時(shí)間,但是sql語句的編譯解析只占查詢時(shí)間的很小部分,即使采用這種技術(shù)查詢達(dá)不到理想效果。對(duì)于緩存技術(shù)研究,可采用語義緩存與傳統(tǒng)數(shù)據(jù)庫結(jié)合[9]的方法提高查詢統(tǒng)計(jì)效率,但由于采用的是查詢與緩存完全匹配的策略,緩存命中率較低。
基于以上研究工作,本文通過將歷史感知數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫中,存儲(chǔ)采用基于細(xì)粒度時(shí)間劃分策略和歷史感知數(shù)據(jù)緩存統(tǒng)計(jì)部分匹配的策略來提高緩存命中率和歷史感知數(shù)查詢的性能。
基于細(xì)粒度歷史感知數(shù)據(jù)劃分統(tǒng)計(jì)是對(duì)歷史感知數(shù)據(jù)存儲(chǔ)方法的研究,主要目的是將歷史感知數(shù)據(jù)存儲(chǔ)在關(guān)系數(shù)據(jù)庫并將表劃分成各個(gè)邏輯片段。查詢統(tǒng)計(jì)只需要掃描查詢統(tǒng)計(jì)涉及的劃分塊,從而避免全表掃描。
按一定的條件把全局關(guān)系的所有元組劃分成若干不相交的子集,每個(gè)子集為關(guān)系的一個(gè)片段。設(shè)關(guān)系R(U,Q)其中U 代表屬性集,Q 代表關(guān)系的限定條件,劃分將R 按照1組給定的謂詞P1,…,Pn劃分成1組劃分塊R1(U1,Q1),…,Rn(Un,Qn),記為R<P>= {R1,…,Rn},式中P= {P1,…,Pn}。滿足:
(1)U1=U2=…=Un=U 屬性集;
(2)Qi=Q∧Pi;
(3)i,j∈ {1,…,n},Pi∩Pj=Φ,∪Pi=Q。
上面給出了劃分的定義,在實(shí)際應(yīng)用中需要細(xì)粒度的劃分,但是由于劃分的粒度越細(xì),維護(hù)成本就越高,因此需要根據(jù)需求定義邏輯片段的劃分粒度。本文給出一種支持細(xì)粒度劃分的計(jì)算方法,數(shù)據(jù)落在的劃分塊號(hào)是根據(jù)數(shù)據(jù)的時(shí)間標(biāo)識(shí)進(jìn)行計(jì)算,計(jì)算方法為
式中:M——月份,N——一天分成N 片邏輯標(biāo)號(hào),D——日期,H——小時(shí)標(biāo)號(hào)。查詢時(shí)通過指定劃分塊掃描來避免全表掃描,達(dá)到優(yōu)化的目的。
基于緩存歷史感知數(shù)據(jù)統(tǒng)計(jì)是利用重用查詢結(jié)果來優(yōu)化查詢的。其中緩存項(xiàng)是以<key,value >形式存儲(chǔ)在內(nèi)存存儲(chǔ)空間中,其中key是統(tǒng)計(jì)sql語義項(xiàng)經(jīng)過hash算法轉(zhuǎn)換的字符串,value該緩存語義項(xiàng)的統(tǒng)計(jì)結(jié)果。
定義 sql語義項(xiàng)C 是一個(gè)用 〈R,O,A,P,T,S,E,G,H,OD〉表示的十元組[10],其中,R 和A 分別表示查詢涉及的關(guān)系表和屬性集合,O 表示要具體查詢的操作,主要包括sum,count,avg,max,min等,P=P1∨P2∨∨Pm,其中Pj=bj1∧bj2∧∧bjl,1≤j≤m,bjt是不含統(tǒng)計(jì)時(shí)間的條件謂詞。T 表示R 中的表示時(shí)間字段的屬性,S 表示查詢的開始時(shí)間,E 表示查詢的結(jié)束時(shí)間。G 表示Groupby屬性集合,H 表示Having條件,OD 表示orderby屬性集合。這幾個(gè)元素表達(dá)了sql的基本特征。在緩存語義項(xiàng)定義中,將含統(tǒng)計(jì)時(shí)間的條件子句單獨(dú)分離出來集中體現(xiàn)了實(shí)時(shí)感知數(shù)據(jù)分析的特性。
2.2.1 緩存命中與緩存寫入
緩存流程如圖1所示,緩存命中與寫入流程主要分為以下幾個(gè)步驟:
(1)將sql語句解析轉(zhuǎn)換成sql語義項(xiàng);
(2)對(duì)語義項(xiàng)中的不包含時(shí)間的各部分進(jìn)行hash 算法,轉(zhuǎn)換成sql語句對(duì)應(yīng)的key;
(3)緩存匹配key,檢索緩存,找到匹配的緩存項(xiàng);
(4)若找不到緩存項(xiàng),則直接從數(shù)據(jù)庫查詢,并將sql語句的key及其涉及時(shí)間段寫入緩存中;同時(shí)將sql包含時(shí)間段轉(zhuǎn)換字符串key及其查詢結(jié)果值也寫入緩存;
(5)若找到緩存項(xiàng),判斷從緩存中取出的時(shí)間與查詢語義項(xiàng)中時(shí)間的是否匹配;
(6)若時(shí)間完全匹配,則直接從緩存中獲取查詢結(jié)果;
(7)若時(shí)間部分匹配,則需要將查詢語句變換為數(shù)據(jù)庫的查詢和緩存查詢;分別執(zhí)行數(shù)據(jù)庫查詢和緩存查詢;將數(shù)據(jù)庫查詢及其結(jié)果寫入到緩存中;對(duì)兩部分結(jié)果進(jìn)行合成;
(8)若時(shí)間不相交,則執(zhí)行 (4)。
當(dāng)查詢語句的時(shí)間范圍與緩存語義項(xiàng)的時(shí)間范圍相交時(shí)需要對(duì)查詢語句的時(shí)間范圍進(jìn)行變化,以提高緩存命中率。如圖2所示,變換過程如下:
(1)當(dāng)查詢語句的時(shí)間范圍位于1或5位置,表示時(shí)間范圍不相交,需直接從數(shù)據(jù)庫中獲得結(jié)果。
(2)當(dāng)查詢語句的時(shí)間范圍位于2或4位置,表示時(shí)間范圍有部分落入緩存范圍。此時(shí)將sql時(shí)間范圍切分為相交部分和不相交部分,分別從數(shù)據(jù)庫中取得結(jié)果并將結(jié)果寫入緩存中。
(3)當(dāng)查詢語句的時(shí)間范圍位于3位置,表示時(shí)間范圍有部分落入緩存范圍。此時(shí)將sql語句的時(shí)間范圍切分為相交之前部分、相交部分、和相交之后部分,分別從數(shù)據(jù)庫中取得結(jié)果并將結(jié)果寫入緩存中。
(4)當(dāng)查詢語句的時(shí)間范圍位于6或者7位置即大于等于緩存項(xiàng)時(shí)間范圍且sql語句的開始時(shí)間與緩存項(xiàng)的開始時(shí)間相等或者sql語句的結(jié)束時(shí)間和緩存項(xiàng)的結(jié)束時(shí)間相等,將sql語句分解為相交部分和不相交部分,相交部分直接從緩存中取得數(shù)據(jù),不相交部分從數(shù)據(jù)庫中取得數(shù)據(jù)。
圖1 緩存算法實(shí)現(xiàn)流程
(5)當(dāng)sql查詢時(shí)間范圍跨越多個(gè)緩存語義項(xiàng)時(shí)間范圍時(shí),將sql時(shí)間分解多個(gè)sql時(shí)間范圍,分別再做匹配。這里不再詳細(xì)介紹。
2.2.2 緩存替換
經(jīng)典的緩存置換算法包括FIFO、LFU、LRU[11]等,其中FIFO 由于命中率太低,在實(shí)際應(yīng)用中很少使用。LFU (least frequently used)算法根據(jù)數(shù)據(jù)的歷史訪問頻率來淘汰數(shù)據(jù),其核心思想是 “如果數(shù)據(jù)過去被訪問多次,那么將來被訪問的頻率也更高”,但該方法不適合感知數(shù)據(jù)的統(tǒng)計(jì)分析,因?yàn)閷?duì)感知數(shù)據(jù)用戶往往感興趣的是最近一段時(shí)間內(nèi)的數(shù)據(jù),對(duì)于n多年數(shù)據(jù)用戶很少感興趣,但是n多年前用戶往往對(duì)n多年前的數(shù)據(jù)感興趣,過去訪問的頻率高,現(xiàn)在訪問頻率不一定高,因此不能采用LFU 算法;LRU (least recently used)算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進(jìn)行淘汰數(shù)據(jù),其核心思想是 “如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也更高”,其命中率相對(duì)較高,可以把它作為歷史感知數(shù)據(jù)緩存置換的方法。緩存容量達(dá)到指定值后,采用LRU 算法自動(dòng)刪除不使用的緩存。
2.2.3 緩存更新
由于實(shí)時(shí)感知數(shù)據(jù)的實(shí)時(shí)性特點(diǎn),數(shù)據(jù)一旦產(chǎn)生就會(huì)很少進(jìn)行修改,刪除,所以對(duì)數(shù)據(jù)的操作主要是頻繁的寫入,數(shù)據(jù)一旦寫入到數(shù)據(jù)庫中很少改變 (如更新、刪除)。所以不必考慮緩存更新問題。
交通感知數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)是管理交通的重要工具,其數(shù)據(jù)來源主要包括客流、交通流、內(nèi)部基礎(chǔ) (扶梯、閘機(jī)、售票機(jī))等方面的實(shí)時(shí)感知數(shù)據(jù)。該系統(tǒng)通過具體監(jiān)測(cè)設(shè)備收集數(shù)據(jù),因此其面臨著大規(guī)模且不斷增長的數(shù)據(jù)統(tǒng)計(jì)的處理需求。以交通流的車輛數(shù)據(jù)識(shí)別數(shù)據(jù)為例,識(shí)別數(shù)據(jù) (一天數(shù)據(jù)量大概6000萬)的數(shù)據(jù)量隨著時(shí)間推移將會(huì)不斷增加。如果采用現(xiàn)有的統(tǒng)計(jì)方法,則會(huì)造成系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)的速度變慢,應(yīng)用程序的性能下降等。
圖2 緩存時(shí)間匹配
根據(jù)對(duì)歷史交通監(jiān)控?cái)?shù)據(jù)的分析,可以看出數(shù)據(jù)隨著時(shí)間的增加而增加,同時(shí)海量的實(shí)時(shí)交通監(jiān)控?cái)?shù)據(jù)具有頻繁存儲(chǔ)查詢的特點(diǎn),針對(duì)這一特點(diǎn),并結(jié)合對(duì)歷史交通監(jiān)控?cái)?shù)據(jù)的分析,對(duì)數(shù)據(jù)采用基于細(xì)粒度歷史感知數(shù)據(jù)劃分統(tǒng)計(jì)方法。
根據(jù)實(shí)時(shí)數(shù)據(jù)的結(jié)構(gòu)要求,為數(shù)據(jù)的存儲(chǔ)建立相應(yīng)的數(shù)據(jù)表結(jié)構(gòu),并對(duì)其中的時(shí)間字段建立索引。根據(jù)時(shí)間字段將數(shù)據(jù)表分為366個(gè)劃分塊,即旨在存儲(chǔ)一年的實(shí)時(shí)交通監(jiān)控?cái)?shù)據(jù),將每天的數(shù)據(jù)存儲(chǔ)在一個(gè)劃分塊中,即一天一個(gè)劃分塊。數(shù)據(jù)落在的劃分號(hào)根據(jù)數(shù)據(jù)的時(shí)間標(biāo)識(shí)進(jìn)行計(jì)算,計(jì)算方法為但是通過實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn)一天的數(shù)據(jù)量非常大,采用按天分區(qū)的方式已經(jīng)不能滿足實(shí)際需要。例如交通識(shí)別數(shù)據(jù)一天的數(shù)據(jù)量為6000萬條,在如此大的數(shù)據(jù)量上進(jìn)行統(tǒng)計(jì),系統(tǒng)的性能是很差的。因此建議采用時(shí)間粒度更細(xì)的劃分方式以小時(shí)為單位進(jìn)行劃分。由于交通流數(shù)據(jù)往往在一天中有的時(shí)段數(shù)據(jù)流密集 (高峰期),有的時(shí)段數(shù)據(jù)流稀疏 (凌晨),例如,據(jù)數(shù)據(jù)分析知:高峰時(shí)每小時(shí)車流量大概450 萬左右,晚間23時(shí)-第二天05:00車流量大概40萬/小時(shí),其他時(shí)段車流量大概250萬/小時(shí);因此把每天的數(shù)據(jù)量劃分為早高峰 (每天06:00-10:00)、晚高峰 (每天16:00-20:00)和其他時(shí)間段3個(gè)區(qū)間,這樣每個(gè)劃分塊的數(shù)據(jù)量在2000萬左右。當(dāng)時(shí)間中小時(shí)為6:00-10:00時(shí)間段的時(shí)間,小時(shí)標(biāo)號(hào)H 為1;時(shí)間小時(shí)段為16:00-20:00時(shí)間段的時(shí)間,小時(shí)標(biāo)號(hào)H 為2;其他小時(shí)時(shí)間小時(shí)標(biāo)號(hào)H 為3。數(shù)據(jù)落在的邏輯片段號(hào)根據(jù)數(shù)據(jù)的時(shí)間標(biāo)識(shí)進(jìn)行計(jì)算,計(jì)算方法為
當(dāng)接受一條統(tǒng)計(jì)sql語句,首先將sql語句解析,取出sql語句的時(shí)間段,然后根據(jù)時(shí)間計(jì)算劃分塊號(hào),將查詢指定到相應(yīng)劃分塊。當(dāng)統(tǒng)計(jì)時(shí)間跨越多個(gè)劃分塊,統(tǒng)計(jì)轉(zhuǎn)換成這幾個(gè)劃分塊中統(tǒng)計(jì)。
緩存實(shí)現(xiàn)類圖如圖3所示,當(dāng)有一個(gè)sql語句到達(dá),將sql語句解析成Query 對(duì)象,將sql對(duì)象傳遞給MemcacheSchedulerImpl類,MemcacheSchedulerImpl類的主要工作步驟如下:
(1)將 Query對(duì)象傳遞給HashItem,同時(shí)生成Keyquery,Keywithoutdate,其中Keyquery 是整個(gè)Query經(jīng)過Hash 算法轉(zhuǎn)換的String 字符串,Keywithoutdate是Query不包含查詢時(shí)間段轉(zhuǎn)換的字符串。
圖3 緩存實(shí)現(xiàn)類圖
(2)調(diào)用MatchCacheThread線程,判斷Query對(duì)象與緩存是完全匹配還是部分匹配,并將結(jié)果返回。
(3)如果完全匹配,調(diào)用MemcacheSchedulerImpl的GetDataFromCache得到結(jié)果。
(4)如果部分匹配,查詢重寫,匹配部分執(zhí)行 (3),完全不匹配執(zhí)行 (5),最后將結(jié)果合并返回給用戶。
(5)如果完全不匹配,調(diào)用GetDataFromDBThread線程從數(shù)據(jù)庫得到結(jié)果,并調(diào)用WriteDataToCacheThread線程將Query經(jīng)過Hash算法轉(zhuǎn)換的Keyquery及對(duì)應(yīng)查詢結(jié)果寫入到緩存中,同時(shí)將Keywithoutdate及其對(duì)應(yīng)時(shí)間字段寫入到緩存中。
如圖4所示,在1臺(tái)雙核3.0GHz CPU 和4GB 內(nèi)存的機(jī)器上安裝Load Runner 9.0模擬數(shù)據(jù)流發(fā)送端。在一臺(tái)2×4核2.4GHz CPU,16GB內(nèi)存1TB RAID5磁盤陣列的機(jī)器上安裝oracle 10g 數(shù)據(jù)庫服務(wù)器;在一臺(tái)2×4 核2.4GHz CPU,16GB 內(nèi)存的機(jī)器上裝MEMCACHED 作為緩存服務(wù),緩存大小為8G。緩存塊大小為1 MB;緩存替換策略是LRU 算法。在一臺(tái)雙核3.0GHz CPU 和4GB內(nèi)存的機(jī)器上布置web系統(tǒng)-交通監(jiān)控系統(tǒng),該系統(tǒng)調(diào)用交通感知數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)并將交通感知數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)統(tǒng)計(jì)結(jié)果顯示在頁面上。網(wǎng)絡(luò)連接采用1 Gbps 以太網(wǎng)光纖和交換機(jī)。
圖4 測(cè)試平臺(tái)架構(gòu)
基于以上環(huán)境,利用交通感知數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)做細(xì)粒度歷史感知數(shù)據(jù)劃分統(tǒng)計(jì)測(cè)試實(shí)驗(yàn),當(dāng)識(shí)別數(shù)據(jù)量為1億、2億、3億、4億、5億、6億分別統(tǒng)計(jì)10月17號(hào)06時(shí)到10時(shí)的車流量,表結(jié)構(gòu)為SB(ID,CAMERANO,COLORNO,CARNO,RECORDTIME,F(xiàn)ILENO,LAWNO),查詢語句為:select count(*)from SB where RecordTime>to_date(’2012-10-17 06:00:00’,’yyyy-mm-dd hh24:mi:ss’)and RecordTime<=to_date (’2012-10-17 10:00:00’,’yyyy-mm-dd hh24:mi:ss’)。無劃分的查詢時(shí)間隨著數(shù)據(jù)量增加而變大,當(dāng)數(shù)據(jù)量達(dá)到4億時(shí),查詢時(shí)間為310s,嚴(yán)重影響系統(tǒng)性能。當(dāng)分別采用按天劃分 (每天數(shù)據(jù)量6000萬)和按小時(shí)劃分 (每天3個(gè)劃分)的數(shù)據(jù)劃分策略進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 細(xì)粒度歷史感知數(shù)據(jù)劃分統(tǒng)計(jì)實(shí)驗(yàn)統(tǒng)計(jì)
通過圖5可以看出按天劃分平均響應(yīng)時(shí)間在1.2s左右,按小時(shí)劃分基本在0.8s左右。因此采用基于細(xì)粒度歷史感知數(shù)據(jù)劃分統(tǒng)計(jì)技術(shù)可以縮減查詢時(shí)間,提高查詢性能。
在基于細(xì)粒度歷史感知數(shù)據(jù)劃分統(tǒng)計(jì)實(shí)驗(yàn)環(huán)境基礎(chǔ)上做測(cè)試,劃分策略按小時(shí)劃分,執(zhí)行100 個(gè)并發(fā)統(tǒng)計(jì),每個(gè)統(tǒng)計(jì)語句的功能為統(tǒng)計(jì)一個(gè)小時(shí)新增的數(shù)據(jù)量,分別在未命中,部分命中,和緩存完全命中情況求其平均統(tǒng)計(jì)響應(yīng)時(shí)間,測(cè)試結(jié)果如圖6所示。
圖6 基于緩存的歷史感知數(shù)據(jù)統(tǒng)計(jì)實(shí)驗(yàn)
通過圖6的數(shù)據(jù)可以得看出采用按小時(shí)分區(qū)的查詢性能大概在0.9s左右,而采用緩存全部命中性能卻在0.3s,部分命中約消耗0.2s。由此可知基于緩存的歷史感知數(shù)據(jù)統(tǒng)計(jì)測(cè)試實(shí)驗(yàn)可以較好統(tǒng)計(jì)海量感知數(shù)據(jù)的響應(yīng)時(shí)間。當(dāng)提高緩存命中率,將提高整體統(tǒng)計(jì)性能。
本文提出了一種基于時(shí)間的感知數(shù)據(jù)統(tǒng)計(jì)方法。首先,在感知數(shù)據(jù)存儲(chǔ)方面采用支持細(xì)粒度劃分的策略將歷史感知數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫中,其次在歷史感知數(shù)據(jù)查詢方面采用緩存匹配方式,同時(shí)支持緩存部分匹配,具有比完全匹配較好的緩存命中率。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)實(shí)時(shí)感知數(shù)據(jù)的統(tǒng)計(jì)是有效的。如何通過引入分布式緩存來解決緩存容量以及如何將數(shù)據(jù)表邏輯分區(qū)轉(zhuǎn)換為數(shù)據(jù)物理切分解決數(shù)據(jù)容量等是下一階段將要研究的重點(diǎn)。
[1]Li X,Lu HP.City traffic flow character analysis and origindestination estimation based on data ming [C]//IEEE Youth Conference on Information Computing and Telecommunication,2010:142-145.
[2]TU Li.Study on key technologies of frequent items mining and cluster on data streams[D].Nanjing:Nanjing University of Aeronautics and Astronautics,2009 (in Chinese).[屠梨.流數(shù)據(jù)的頻繁項(xiàng)挖掘及聚類[D]南京:南京航空航天大學(xué),2009.]
[3]YAN Bing,XING Wei.The processing strategy for datastreams based on sliding windowin simulation platform [D].Harbin:Harbin Engineering University,2011 (in Chinese).[閆冰,邢薇.仿真平臺(tái)中基于滑動(dòng)窗口的流數(shù)據(jù)處理策略研究 [D].哈爾濱:哈爾濱工程大學(xué),2011.]
[4]ZHANG Zhongping,WANG Hao,XUE Wei,et al.Approach for data streams clustering over dynamic sliding windows[J].Computer Engineering and Applications,2011,47 (7):135-138 (in Chinese).[張忠平,王浩,薛偉,等.動(dòng)態(tài)滑動(dòng)窗口的數(shù)據(jù)流聚類方法 [J].計(jì)算機(jī)工程與應(yīng)用,2011,47(7):135-138.]
[5]Botan I,Cho Y,Derakhshan R,et al.Design and implemen-tation of the MaxStream federated stream processing architecture [R ]. ETH: Department of Computer Science,2009:632.
[6]Cattell R.Scalable SQL and NoSQL data stores[J].SIGMOD Rec,2011,39 (4):12-27.
[7]Hu Yuan,Yan Jingqi,Li Wei,et al.A novel facial localization for three-dimensional face using multilevel partition of unity implicits[R].Pattern Recognition,2010:682-685.
[8]LIU Shushu.Unified call method of stored procedure for oracle in.NET [J].International Conference on Computer Application and System Modeling,2010,11:1-4.
[9]Fagni T,Perego R,Silvestri F,et al.Boosting the performance of web search engines:Caching and prefetching query results by exploiting historical usage data [J].ACM Transion Information Systems,2006,24 (1):51-78.
[10]Li GL,F(xiàn)eng JH.An effective semantic cache for exploiting xpath query/view answer ability [J].Journal of Computer Science and Technology,2010,25 (2):347-361.
[11]Dybdahl H.An LRU-based replacement algorithm augmented with frequency of access in shared chip-multiprocessor caches[J].ACM SIGARCH Computer Architecture News,2007,35 (4):45-52.