999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)索引集群的分布緩存方法

2024-02-04 09:18:44屈志堅(jiān)吳廣龍帥誠(chéng)鵬梁家敏
關(guān)鍵詞:配電網(wǎng)數(shù)據(jù)庫(kù)方法

屈志堅(jiān),吳廣龍,帥誠(chéng)鵬,梁家敏

(1.華東交通大學(xué)軌道交通基礎(chǔ)設(shè)施性能監(jiān)測(cè)與保障國(guó)家重點(diǎn)實(shí)驗(yàn)室,南昌 330013;2.華東交通大學(xué)電氣與自動(dòng)化工程學(xué)院,南昌 330013)

近年來(lái)智能電網(wǎng)建設(shè)進(jìn)程穩(wěn)步推進(jìn),太陽(yáng)能、風(fēng)電和電動(dòng)汽車充電樁的接入使配電網(wǎng)規(guī)模不斷增加,配電網(wǎng)監(jiān)測(cè)需求提高,導(dǎo)致配電網(wǎng)設(shè)備的狀態(tài)采樣點(diǎn)和監(jiān)測(cè)傳感器的數(shù)量也大幅增加;加上設(shè)備采樣頻率的提升,使得配電網(wǎng)監(jiān)控系統(tǒng)采集的數(shù)據(jù)急劇增長(zhǎng),數(shù)據(jù)體量已超過(guò)TB級(jí)[1?3],遠(yuǎn)遠(yuǎn)超過(guò)了關(guān)系型數(shù)據(jù)庫(kù)TB級(jí)容量限制。配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)的增加不僅增大了系統(tǒng)的維護(hù)難度,而且導(dǎo)致產(chǎn)生的延遲越來(lái)越大,配電網(wǎng)監(jiān)控系統(tǒng)響應(yīng)時(shí)間過(guò)長(zhǎng)可能導(dǎo)致關(guān)鍵故障信息的遲報(bào)甚至界面卡頓。

配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)的急劇增加,對(duì)配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)的快速處理提出了要求,如何高效處理配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)從而實(shí)現(xiàn)海量數(shù)據(jù)的監(jiān)測(cè)和電能質(zhì)量監(jiān)控成為亟待解決的問(wèn)題。目前,相關(guān)學(xué)者在海量數(shù)據(jù)的高效存取研究方向已經(jīng)取得了一定的研究成果,文獻(xiàn)[4]研究的擴(kuò)展關(guān)系型數(shù)據(jù)庫(kù)方法將數(shù)據(jù)存儲(chǔ)在不同主機(jī)的磁盤,但關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)空間有限,需要通過(guò)增加主機(jī)數(shù)量來(lái)增加數(shù)據(jù)庫(kù)容量;文獻(xiàn)[5]研究的基于內(nèi)存計(jì)算的內(nèi)存數(shù)據(jù)庫(kù)方法能提高數(shù)據(jù)的處理性能,但內(nèi)存數(shù)據(jù)庫(kù)存在內(nèi)存容量不足、輸入輸出壓力大、緩存命中率低和數(shù)據(jù)安全性較差等問(wèn)題;文獻(xiàn)[6]提出基于Hadoop 架構(gòu)存儲(chǔ)反向傳播BP(back propagation)神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測(cè)數(shù)據(jù)的方法;文獻(xiàn)[7]提出基于Hadoop 分布式文件系統(tǒng)HDFS(hadoop distributed file system)的數(shù)據(jù)存儲(chǔ)優(yōu)化技術(shù);文獻(xiàn)[8]提出一種將數(shù)據(jù)自動(dòng)生成非結(jié)構(gòu)化查詢語(yǔ)言NoSQL(not only structured query language)存儲(chǔ)結(jié)構(gòu)的平臺(tái)。

NoSQL以HBase[9]分布式列數(shù)據(jù)庫(kù)為主要代表,HBase 分布式鍵值對(duì)數(shù)據(jù)庫(kù)基于主鍵的查詢很快,但基于非主鍵的查詢需要全表掃描,對(duì)系統(tǒng)資源的耗費(fèi)較大。針對(duì)這一問(wèn)題,文獻(xiàn)[10?11]基于MapRe?duce 進(jìn)行研究,存儲(chǔ)數(shù)據(jù)時(shí)生成元數(shù)據(jù),查詢時(shí)讀取元數(shù)據(jù)構(gòu)造查詢樹;文獻(xiàn)[12]提出基于協(xié)處理器的HBase索引構(gòu)建方案,通過(guò)協(xié)處理器構(gòu)建二級(jí)索引并根據(jù)HBase 表的數(shù)據(jù)更新自動(dòng)更新索引并持久化索引;文獻(xiàn)[13]驗(yàn)證了引入緩存技術(shù)能有效提升大數(shù)據(jù)集群處理性能;文獻(xiàn)[14]提出在數(shù)據(jù)庫(kù)系統(tǒng)中基于低延遲和高帶寬的內(nèi)存建立緩存以提升查詢速度并減輕底層磁盤壓力;文獻(xiàn)[15]設(shè)計(jì)出一種基于日志結(jié)構(gòu)合并樹LSM?Tree(log structured merge?Tree)的分布式索引方案,該方案采用讀寫分離和批量更新的方法更新索引數(shù)據(jù);文獻(xiàn)[16]描述了瞬態(tài)數(shù)據(jù)緩存策略性能的基本限制,測(cè)試了瞬態(tài)數(shù)據(jù)使用傳統(tǒng)緩存策略的性能,并提出一種新的緩存策略,該策略同時(shí)使用流行度和剩余生命期(數(shù)據(jù)變得冗余之前剩余的時(shí)間)進(jìn)行緩存決策,測(cè)試顯示新的緩存策略優(yōu)于傳統(tǒng)的緩存策略;文獻(xiàn)[17]對(duì)數(shù)據(jù)設(shè)計(jì)了特殊的緩存結(jié)構(gòu),有效提高了搜索引擎的查詢性能。

海量數(shù)據(jù)的主流處理方法為NoSQL索引集群,本文將監(jiān)測(cè)數(shù)據(jù)存儲(chǔ)在NoSQL分布式索引集群中,通過(guò)緩存技術(shù)將出現(xiàn)頻繁的數(shù)據(jù)存儲(chǔ)在緩存中,查詢時(shí)可以直接從緩存中獲取結(jié)果。但一方面原有的熱數(shù)據(jù)鏈表HDL(hot data linked?list)緩存方法是將數(shù)據(jù)存儲(chǔ)在鏈表中,當(dāng)緩存空間占滿時(shí),需要通過(guò)更新鏈表中存儲(chǔ)的數(shù)據(jù)實(shí)現(xiàn)緩存記錄的更新;當(dāng)緩存記錄更新頻繁時(shí)會(huì)使鏈表節(jié)點(diǎn)頻繁移動(dòng),內(nèi)存消耗較大。另一方面,索引集群?jiǎn)?dòng)初期緩存系統(tǒng)中沒(méi)有存儲(chǔ)緩存記錄,使索引系統(tǒng)啟動(dòng)初期難以命中緩存,無(wú)法充分發(fā)揮緩存技術(shù)的優(yōu)勢(shì);若能在索引系統(tǒng)啟動(dòng)初期將熱點(diǎn)數(shù)據(jù)存入緩存系統(tǒng),可以提高熱點(diǎn)數(shù)據(jù)的查詢速度,加快監(jiān)控系統(tǒng)的響應(yīng)速度。

針對(duì)上述問(wèn)題,本文提出一種配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)索引集群的分布緩存方法。首先,構(gòu)建配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)的倒排索引結(jié)構(gòu),設(shè)計(jì)一種熱點(diǎn)數(shù)據(jù)部分鏈表HDPL(hot data part linked?list)緩存方法,為緩存記錄添加時(shí)間戳,通過(guò)選取部分?jǐn)?shù)據(jù)存入鏈表的方式減少鏈表的長(zhǎng)度,根據(jù)緩存記錄的訪問(wèn)時(shí)間間隔(HDPL值)大小淘汰緩存記錄,降低內(nèi)存消耗,提高緩存淘汰效率;然后,設(shè)計(jì)合理數(shù)目的預(yù)熱查詢,將熱點(diǎn)數(shù)據(jù)存入緩存實(shí)現(xiàn)索引集群的熱啟動(dòng),加快集群的響應(yīng)速度。最后,以工程數(shù)據(jù)為測(cè)試算例,驗(yàn)證了所提方法的有效性。

1 配電網(wǎng)海量監(jiān)測(cè)數(shù)據(jù)的處理

1.1 數(shù)據(jù)庫(kù)存儲(chǔ)

關(guān)系型數(shù)據(jù)庫(kù)是在關(guān)系型數(shù)據(jù)模型的基礎(chǔ)上,借助集合代數(shù)的數(shù)學(xué)方法處理數(shù)據(jù)的數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)通過(guò)行和列的形式存儲(chǔ)數(shù)據(jù),在關(guān)系型數(shù)據(jù)庫(kù)中,實(shí)體之間的聯(lián)系由單一的結(jié)構(gòu)類型來(lái)表示,這種邏輯結(jié)構(gòu)是二維表,多個(gè)二維表構(gòu)成了關(guān)系型數(shù)據(jù)庫(kù)。笛卡爾積可以表示成一個(gè)二維表。一組具有相同類型的值的集合稱為域,給定一組域{E1,E2,???,Em} ,這些域中可以有相同的部分,則該域的笛卡爾積可表示為

式中,(e1,e2,???,em)為域的每個(gè)元素,稱為一個(gè)m元組,元素中的每一個(gè)值ei稱作一個(gè)分量。笛卡爾積可以表示成一個(gè)二維表,表中每列對(duì)應(yīng)一個(gè)域,每行對(duì)應(yīng)一個(gè)元素。

由于關(guān)系型數(shù)據(jù)庫(kù)的原子性、一致性、隔離性和持久性,數(shù)據(jù)一致性高,使關(guān)系型數(shù)據(jù)庫(kù)廣泛應(yīng)用于輸入輸出IO(Input Output)讀寫密集型系統(tǒng)。但是關(guān)系型數(shù)據(jù)庫(kù)的容量主要通過(guò)增加服務(wù)器上的磁盤空間來(lái)擴(kuò)展,隨著數(shù)據(jù)的增長(zhǎng),需要不斷增加硬盤空間,并且需要更快的機(jī)器來(lái)運(yùn)行,具有一定的局限性。

綜上,本文基于NoSQL數(shù)據(jù)庫(kù)搭建配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)索引集群,將配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)結(jié)構(gòu)改變?yōu)榈古潘饕灰刖彺婕夹g(shù)加快查詢速度,針對(duì)原緩存方法效率低的問(wèn)題提出HDPL 緩存方法來(lái)提高緩存效率;設(shè)計(jì)預(yù)熱查詢結(jié)構(gòu)提高索引系統(tǒng)啟動(dòng)初期的緩存命中概率,實(shí)現(xiàn)更高效率的查詢。具體數(shù)據(jù)處理流程如圖1所示。

圖1 配電網(wǎng)監(jiān)控系統(tǒng)的數(shù)據(jù)處理Fig.1 Data processing of distribution network monitoring system

1.2 配電網(wǎng)海量監(jiān)測(cè)數(shù)據(jù)的倒排索引集群

本文搭建倒排索引集群處理配電網(wǎng)海量監(jiān)測(cè)數(shù)據(jù)。為了掌握供電設(shè)備的狀態(tài),需要收集各站所設(shè)備的運(yùn)行參數(shù)信息。由于傳感器數(shù)量的增加及測(cè)控終端采樣頻率的增加,導(dǎo)致配電網(wǎng)數(shù)據(jù)中心的監(jiān)測(cè)數(shù)據(jù)急劇增加。傳感器采集的數(shù)據(jù)主要包括現(xiàn)場(chǎng)環(huán)境的測(cè)量參數(shù)和現(xiàn)場(chǎng)設(shè)備的狀態(tài)數(shù)據(jù),采集的數(shù)據(jù)通過(guò)光纖通道傳輸至配電網(wǎng)數(shù)據(jù)中心。配電網(wǎng)數(shù)據(jù)中心由應(yīng)用服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備等構(gòu)成。在數(shù)據(jù)庫(kù)集群中將數(shù)據(jù)改變?yōu)榈古潘饕Y(jié)構(gòu),監(jiān)測(cè)數(shù)據(jù)的倒排索引結(jié)構(gòu)如圖2所示。

圖2 監(jiān)測(cè)數(shù)據(jù)的倒排索引結(jié)構(gòu)Fig.2 Inverted index structure of monitoring data

運(yùn)行狀態(tài)數(shù)據(jù)的屬性包括站所號(hào)、采樣名、采樣值、采樣時(shí)間戳等。通過(guò)映射的方式將所有數(shù)據(jù)組成的多個(gè)文檔映射為倒排索引結(jié)構(gòu),左邊為原始文檔,右邊為映射后的倒排索引結(jié)構(gòu)。如站所223出現(xiàn)位置為id:1_station字段。

1.3 索引集群的緩存查詢

考慮到監(jiān)測(cè)數(shù)據(jù)的高重復(fù)度,引入緩存能夠避免對(duì)高頻數(shù)據(jù)重復(fù)查詢從而增加查詢的工作效率。當(dāng)緩存空間占滿時(shí),緩存系統(tǒng)按照HDL更新緩存記錄。該方法通過(guò)鏈表結(jié)構(gòu)存儲(chǔ)緩存記錄,具體淘汰方法如圖3所示。

圖3 HDL 淘汰方法Fig.3 HDL elimination method

當(dāng)?shù)? 次查詢station:站所236 時(shí),緩存空間中存在站所236 的記錄,則命中緩存;此時(shí)將進(jìn)行緩存記錄的更新,將查詢結(jié)果站所236 存入鏈表的表頭位置,鏈表內(nèi)站所223 記錄需后移一位,完成緩存記錄的更新。當(dāng)執(zhí)行第2 次查詢時(shí),查analog?name:遙測(cè)16387,未命中緩存,查詢結(jié)果存入緩存空間;此時(shí)緩存空間已占滿,依照HDL 方法更新緩存,接著將第2 次查詢結(jié)果存入鏈表表頭,鏈表內(nèi)的緩存記錄依次后移一位。第3 次查詢未命中緩存,同樣按照上述過(guò)程更新緩存記錄。

在HDL方法更新緩存記錄時(shí),將鏈表內(nèi)所有的緩存記錄更新,若緩存記錄更新頻繁,該操作會(huì)占用大量集群資源,影響集群的查詢響應(yīng)時(shí)間。

1.4 HDPL 分布緩存方法

針對(duì)原有的HDL 緩存方法更新緩存時(shí)需要將鏈表結(jié)構(gòu)中的緩存數(shù)據(jù)移動(dòng),從而出現(xiàn)緩存更新效率低的問(wèn)題。本文設(shè)計(jì)了一種HDPL 方法管理緩存,實(shí)現(xiàn)更高效的緩存淘汰。具體實(shí)現(xiàn)過(guò)程如下。

(1)查詢結(jié)果存入緩存中時(shí)會(huì)被添加時(shí)間戳,假如該查詢記錄存入緩存后一直未被命中,則該緩存記錄的時(shí)間戳始終不變;假如后續(xù)查詢命中該緩存,則更新該緩存記錄的時(shí)間戳為當(dāng)前時(shí)間節(jié)點(diǎn)t。隨機(jī)選取一定的緩存記錄,根據(jù)當(dāng)前時(shí)間節(jié)點(diǎn)t和緩存記錄的時(shí)間戳ti計(jì)算第i個(gè)預(yù)熱查詢選取的緩存記錄訪問(wèn)時(shí)間間隔Δt為

式中,l為預(yù)熱查詢的總次數(shù)。

(2)根據(jù)訪問(wèn)時(shí)間間隔計(jì)算緩存記錄的HDPL值crHDPL為

crHDPL=t?Δt,即

(3)將式(3)化簡(jiǎn)后可得

crHDPL=ti

緩存記錄的時(shí)間戳越小,則緩存記錄的HDPL值越小。根據(jù)HDPL 值的大小將選取的緩存記錄依次存入鏈表結(jié)構(gòu),當(dāng)緩存空間占滿需要淘汰緩存記錄時(shí),將鏈表中HDPL 值最小的緩存記錄淘汰,同時(shí)將新的查詢結(jié)果存入緩存空間。之后每次淘汰緩存記錄時(shí),隨機(jī)從緩存空間中選取5條緩存記錄,計(jì)算緩存記錄的HDPL 值,只要選舉的緩存記錄比鏈表中的任意一條緩存記錄的HDPL 值小,則根據(jù)HDPL 值的大小將緩存記錄插入到鏈表的適當(dāng)位置,將鏈表表尾的HDPL 值最小的緩存記錄淘汰,同時(shí)將新的查詢結(jié)果存入緩存空間;若選舉的緩存記錄比鏈表中的任意一條緩存記錄的HDPL值都大,則直接將鏈表表尾的HDPL 值最小的緩存記錄淘汰,同時(shí)將新的查詢結(jié)果存入緩存空間,完成緩存淘汰。

HDPL緩存方法只針對(duì)選取的緩存記錄執(zhí)行緩存淘汰,通過(guò)淘汰局部最小HDPL 值的緩存記錄代替淘汰全局HDPL 值最小的緩存記錄。相較于原本的HDL 方法,無(wú)需維護(hù)一個(gè)很長(zhǎng)的鏈表,更新緩存記錄時(shí)無(wú)需將鏈表中所有的緩存記錄移位,降低了內(nèi)存的操作復(fù)雜度,提升了緩存性能。

2 熱點(diǎn)數(shù)據(jù)的預(yù)熱查詢

2.1 集群的數(shù)據(jù)分布策略及分布式查詢

在索引集群中,數(shù)據(jù)以文檔的方式存儲(chǔ),文檔存儲(chǔ)在集群分片中,分片在不同的集群節(jié)點(diǎn)中。集群使用哈希算法對(duì)文檔唯一標(biāo)識(shí)ID(identification)字段的散列值進(jìn)行計(jì)算,根據(jù)計(jì)算得到的唯一ID字段的散列值將文檔分配至對(duì)應(yīng)的分片,使得每個(gè)分片上的文檔數(shù)量大致均衡。

執(zhí)行分布式查詢時(shí),客戶端向集群的任意節(jié)點(diǎn)發(fā)送查詢請(qǐng)求,接收到查詢請(qǐng)求的節(jié)點(diǎn)充當(dāng)查詢控制器。查詢控制器獲取集群其他節(jié)點(diǎn)的身份,構(gòu)造分布式查詢的子查詢并將子查詢?nèi)蝿?wù)分發(fā)給其他分片的副本。副本是指當(dāng)集群的一個(gè)分片有2 個(gè)以上節(jié)點(diǎn)時(shí),1 個(gè)節(jié)點(diǎn)通過(guò)選舉成為該分片的領(lǐng)導(dǎo)者,該分片的其他節(jié)點(diǎn)成為副本。其他分片的副本完成子查詢?nèi)蝿?wù)后將子查詢結(jié)果發(fā)送給查詢控制器,查詢控制器匯總所有子查詢結(jié)果并將最終的查詢結(jié)果返回給客戶端完成分布式查詢。

2.2 集群的分布式查詢時(shí)間模型

設(shè)集群節(jié)點(diǎn)接收客戶端發(fā)送查詢請(qǐng)求后,構(gòu)造分布式查詢的子查詢并將子查詢?nèi)蝿?wù)分發(fā)給其他分片的副本時(shí)間為tr。

先考慮查詢未命中緩存。執(zhí)行查詢時(shí),由于各節(jié)點(diǎn)性能差異的影響,不同分片的查詢時(shí)間會(huì)有差異,當(dāng)最慢子查詢和最快子查詢完成查詢的時(shí)間段內(nèi)沒(méi)有查詢結(jié)果通過(guò)網(wǎng)絡(luò)傳輸至查詢控制器時(shí),即等待所有子查詢完成后,再依次將數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸至查詢控制器進(jìn)行總查詢結(jié)果的構(gòu)建,此時(shí)得到索引集群的最大查詢時(shí)間Tmax可表示為

式中:tr為子查詢?nèi)蝿?wù)分發(fā)r個(gè)查詢結(jié)果的副本時(shí)間;n為索引集群的分片數(shù);tq(k)為不同分片k各自完成子查詢的時(shí)間;v為不同分片傳輸查詢結(jié)果至查詢控制器的速度;r為所有分片傳輸?shù)目偛樵兘Y(jié)果數(shù);tε為查詢控制器匯總各分片的查詢結(jié)果并形成最終查詢結(jié)果的時(shí)間;ts為集群將查詢結(jié)果返回給客戶端的時(shí)間。

當(dāng)最慢子查詢和最快子查詢完成查詢的時(shí)間段內(nèi)都有查詢結(jié)果通過(guò)網(wǎng)絡(luò)傳輸至查詢控制器時(shí),此時(shí)索引集群的查詢時(shí)間為最小值,即

將式(5)化簡(jiǎn)后可得

由于不同子查詢完成的過(guò)程具有隨機(jī)性,在子查詢執(zhí)行過(guò)程中,不一定所有時(shí)間都進(jìn)行查詢結(jié)果的網(wǎng)絡(luò)傳輸,此處需要引入調(diào)節(jié)因子α(0 ~1),用來(lái)描述網(wǎng)絡(luò)傳輸?shù)睦寐剩朐撜{(diào)節(jié)因子后,得到查詢時(shí)間表達(dá)式為

經(jīng)過(guò)上述分析可知,在未命中緩存的情況下,索引集群的查詢時(shí)間Tc取值為[]Tmin,Tmax區(qū)間的一個(gè)隨機(jī)值。為了便于后續(xù)比較,將式(7)改寫為

當(dāng)查詢命中緩存時(shí),索引集群從緩存中獲取數(shù)據(jù)。設(shè)索引集群從緩存中獲取數(shù)據(jù)的時(shí)間為tqh,此時(shí)索引集群的查詢時(shí)間Th為

2.3 預(yù)熱查詢結(jié)構(gòu)的設(shè)計(jì)

索引集群?jiǎn)?dòng)初期,緩存未存儲(chǔ)緩存記錄,導(dǎo)致系統(tǒng)啟動(dòng)初期緩存命中率低。本文設(shè)計(jì)了一種預(yù)熱查詢結(jié)構(gòu),解決索引集群?jiǎn)?dòng)初期緩存命中率低的問(wèn)題。在索引集群?jiǎn)?dòng)初期,設(shè)置熱點(diǎn)數(shù)據(jù)的預(yù)熱查詢,將熱點(diǎn)數(shù)據(jù)提前加載至索引集群緩存中。通過(guò)搜索管理器統(tǒng)計(jì)查詢數(shù)據(jù)的熱度排名,對(duì)排名較高的數(shù)據(jù)設(shè)計(jì)預(yù)熱查詢。

在初始階段,緩存空間存在大量空閑,設(shè)置預(yù)熱查詢的數(shù)據(jù)可以直接存入緩存空間,隨著查詢結(jié)果逐步存入緩存,緩存空間被逐步占滿。當(dāng)緩存占滿時(shí),需要更新緩存記錄,將訪問(wèn)熱度最低的數(shù)據(jù)塊從緩存中剔除,以便將熱度高的數(shù)據(jù)調(diào)入緩存,此時(shí)按照HDL緩存方法更新緩存記錄,然后將新的查詢結(jié)果存入緩存空間,完成緩存更新。

構(gòu)建預(yù)熱查詢后熱點(diǎn)數(shù)據(jù)存儲(chǔ)在緩存中,后續(xù)查詢命中緩存的查詢時(shí)間為式(9)中的Th,未命中緩存的查詢時(shí)間為式(8)中的Tc。將兩者做減法運(yùn)算得到命中一次預(yù)熱查詢帶來(lái)的查詢時(shí)間增益Tg,可表示為

泊松分布用于描述單位時(shí)間內(nèi)隨機(jī)事件發(fā)生的次數(shù),設(shè)計(jì)預(yù)熱查詢的熱點(diǎn)數(shù)據(jù)單位時(shí)間內(nèi)被多次訪問(wèn)的概率服從參數(shù)為λ的泊松分布,泊松分布的概率函數(shù)為

由式(11)可得設(shè)計(jì)預(yù)熱查詢的熱點(diǎn)數(shù)據(jù)單位時(shí)間內(nèi)查詢的次數(shù)等于λ。對(duì)集群設(shè)計(jì)預(yù)熱查詢,用預(yù)熱查詢產(chǎn)生的查詢時(shí)間增益減去構(gòu)建預(yù)熱查詢花費(fèi)的時(shí)間可得

式中,Φ(i)為第i條預(yù)熱查詢時(shí)間函數(shù),其為i的單調(diào)增函數(shù)。由式(12)可得,隨著預(yù)熱查詢數(shù)目i的增加,存在以下3種情況:

(1)當(dāng)i較小時(shí),λTg>Φ(i),即預(yù)熱查詢產(chǎn)生的延遲小于帶來(lái)的時(shí)間增益。

(2)當(dāng)i增加,Φ(i)增加,會(huì)使λTg=Φ(i),即預(yù)熱查詢產(chǎn)生的延遲與帶來(lái)的時(shí)間增益相等。

(3)當(dāng)i增加到一定值,會(huì)使λTg<Φ(i),即預(yù)熱查詢產(chǎn)生的延遲大于帶來(lái)的時(shí)間增益。

由上述分析可知,預(yù)熱查詢數(shù)目i存在極值點(diǎn),此時(shí)設(shè)置預(yù)熱查詢減少的查詢時(shí)間最多。測(cè)試時(shí)不斷增加預(yù)熱查詢數(shù)目,當(dāng)繼續(xù)增加預(yù)熱查詢數(shù)目導(dǎo)致查詢時(shí)間增加時(shí),則未增加前的預(yù)熱查詢數(shù)目為最佳預(yù)熱查詢數(shù)目io,此時(shí)產(chǎn)生的時(shí)間增益最大。

3 算例測(cè)試

3.1 集群搭建

鐵路配電網(wǎng)也屬于電力系統(tǒng)的一部分,運(yùn)行期間會(huì)產(chǎn)生大量的監(jiān)測(cè)數(shù)據(jù),本文以某鐵路10 kV 配電網(wǎng)的數(shù)據(jù)采集與監(jiān)控SCADA(supervisory control and data acquisition)系統(tǒng)導(dǎo)出的監(jiān)測(cè)數(shù)據(jù)為數(shù)據(jù)源,建立數(shù)據(jù)源中站所號(hào)、遙測(cè)名、遙測(cè)值、時(shí)間戳等非主鍵屬性的倒排索引集群,該配電網(wǎng)監(jiān)測(cè)系統(tǒng)示意如圖4所示。

圖4 配電網(wǎng)監(jiān)測(cè)系統(tǒng)示意Fig.4 Schematic of distribution network monitoring system

采用4 臺(tái)計(jì)算機(jī)構(gòu)建倒排索引集群,4 臺(tái)計(jì)算機(jī)的操作系統(tǒng)均為L(zhǎng)inux(Centos7)系統(tǒng),將數(shù)據(jù)導(dǎo)入索引集群,測(cè)試所提技術(shù)的實(shí)際效果。索引集群的4臺(tái)計(jì)算機(jī)節(jié)點(diǎn)的詳細(xì)配置如表1所示。

表1 集群節(jié)點(diǎn)詳細(xì)配置Tab.1 Detailed configuration of cluster nodes

3.2 測(cè)試不同方法對(duì)查詢時(shí)間的影響

1)不同查詢條件下不同方法的查詢時(shí)間

在配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)索引集群正常運(yùn)行時(shí),分別向集群導(dǎo)入1×107、4×107、8×107、1.2×108、1.6×108條記錄,使用掃描查詢(無(wú)緩存)、HDL緩存查詢、關(guān)系型數(shù)據(jù)庫(kù)方法和HDPL 緩存查詢對(duì)不同重復(fù)度的數(shù)據(jù)進(jìn)行查詢性能測(cè)試。進(jìn)行3 組不同條件的測(cè)試,單線程為只執(zhí)行一個(gè)查詢?nèi)蝿?wù),多線程為執(zhí)行多個(gè)查詢?nèi)蝿?wù)。第1組單線程下執(zhí)行單條件,站所223的查詢;第2組單線程下執(zhí)行雙條件,站所223&遙測(cè)值16390的查詢;第3組多線程下執(zhí)行單條件,站所223的查詢。每組進(jìn)行12次測(cè)試,舍棄最小值和最大值,剩下的10次測(cè)試結(jié)果取平均,測(cè)試結(jié)果如圖5所示。

圖5 不同方法對(duì)比結(jié)果Fig.5 Comparison results of different methods

由圖5 可知,在單條件?單線程查詢條件下,當(dāng)集群數(shù)據(jù)規(guī)模為1× 107條時(shí),HDPL 緩存查詢與HDL緩存查詢時(shí)間相差1 ms,但當(dāng)數(shù)據(jù)規(guī)模增加至1.2×108、1.6×108條時(shí),HDPL 緩存查詢相比于HDL緩存查詢分別減少78 ms、135 ms的查詢時(shí)間;在多條件?單線程查詢條件下,當(dāng)數(shù)據(jù)規(guī)模為1.2×108條時(shí),HDPL 緩存查詢相比于HDL 緩存查詢、關(guān)系型數(shù)據(jù)庫(kù)方法和掃描查詢分別減少了134 ms、192 ms、203 ms,HDPL 緩存查詢的查詢時(shí)間最短;在單條件?多線程查詢條件下,在數(shù)據(jù)規(guī)模分別為1.2×108、1.6×108條時(shí),HDPL緩存查詢相比于HDL緩存查詢的查詢耗時(shí)分別減少84 ms、140 ms。

綜上表明,在不同實(shí)驗(yàn)條件下,HDPL緩存查詢的查詢性能始終優(yōu)于其他3種方法。HDPL緩存查詢通過(guò)尋找局部最優(yōu)解的方式代替尋找全局最優(yōu)解,僅將一部分?jǐn)?shù)據(jù)存儲(chǔ)在鏈表中,減少了緩存空間中存儲(chǔ)數(shù)據(jù)的鏈表長(zhǎng)度及緩存更新時(shí)節(jié)點(diǎn)移動(dòng)操作,避免了額外空間的浪費(fèi),降低了內(nèi)存的消耗。HDPL緩存查詢能夠提高配電網(wǎng)海量監(jiān)測(cè)數(shù)據(jù)索引集群基于非主鍵查詢的查詢性能。

2)數(shù)據(jù)更新時(shí)間間隔對(duì)查詢性能的影響

在配電網(wǎng)監(jiān)測(cè)數(shù)據(jù)索引集群正常運(yùn)行時(shí),向集群導(dǎo)入1.6×108條監(jiān)測(cè)數(shù)據(jù),持續(xù)向集群導(dǎo)入監(jiān)測(cè)數(shù)據(jù),導(dǎo)入監(jiān)測(cè)數(shù)據(jù)的時(shí)間間隔分別為8 ms、16 ms、24 ms、32 ms、40 ms、48 ms和56 ms,使用HDL、HD?PL 方法對(duì)不同重復(fù)度的關(guān)鍵詞數(shù)據(jù)進(jìn)行查詢性能測(cè)試,測(cè)試結(jié)果如圖6所示。

圖6 不同數(shù)據(jù)更新間隔時(shí)查詢性能比較Fig.6 Comparison of query performance at different data update intervals

由圖6 可知,在不同的數(shù)據(jù)更新間隔時(shí),HDPL緩存查詢的查詢時(shí)間始終在21 ms左右,波動(dòng)較小,而HDL 緩存查詢的查詢時(shí)間為125 ms 左右,查詢時(shí)間在一定的范圍內(nèi)波動(dòng);HDPL 緩存方法始終優(yōu)于HDL 緩存方法,且在間隔時(shí)間為16 ms 時(shí),HDPL緩存查詢相比于HDL 緩存查詢能夠節(jié)省111 ms 查詢時(shí)間。相比于HDL 緩存方法,HDPL 緩存方法在存儲(chǔ)部分緩存記錄的鏈表中更新緩存記錄,降低內(nèi)存的消耗,節(jié)省內(nèi)存空間。

3.3 測(cè)試預(yù)熱查詢數(shù)目對(duì)查詢性能的影響

執(zhí)行查詢請(qǐng)求,利用查詢管理器獲取熱點(diǎn)數(shù)據(jù);之后針對(duì)熱點(diǎn)數(shù)據(jù)設(shè)置預(yù)熱查詢,改變預(yù)熱查詢的設(shè)置數(shù)目,測(cè)試查詢時(shí)間的變化。在集群數(shù)據(jù)規(guī)模為1.6×108條時(shí)進(jìn)行4組不同條件的測(cè)試:第1組未設(shè)置預(yù)熱查詢;第2 組構(gòu)建3 條熱點(diǎn)數(shù)據(jù)的預(yù)熱查詢,分別為站所223、遙測(cè)16390、3 400.000 00;第3 組構(gòu)建4 條熱點(diǎn)數(shù)據(jù)的預(yù)熱查詢,分別為站所223、遙測(cè)16390、3 400.000 00 和站所443;第4 組構(gòu)建5條熱點(diǎn)數(shù)據(jù)的預(yù)熱查詢,分別為站所223、遙測(cè)16390、3 400.000 00、站所443和遙測(cè)16391。

預(yù)熱查詢數(shù)目對(duì)查詢性能影響的測(cè)試結(jié)果如圖7 所示。單條件查詢?yōu)檎舅?23,雙條件查詢?yōu)檎舅?23&遙測(cè)16390,三條件查詢?yōu)檎舅?23&遙測(cè)16390&3 400.000 00。

圖7 預(yù)熱查詢數(shù)目對(duì)查詢時(shí)間的影響Fig.7 Impact of the number of preheated queries on query time

圖7(a)為在單線程下對(duì)比設(shè)置不同預(yù)熱查詢數(shù)目和未設(shè)置預(yù)熱查詢的查詢時(shí)間。由圖7(a)可知,在單線程、單條件查詢且未設(shè)置預(yù)熱查詢時(shí),查詢時(shí)間為301 ms,設(shè)置3條預(yù)熱查詢時(shí),查詢時(shí)間為277 ms;增加預(yù)熱查詢數(shù)目至4、5條,查詢時(shí)間分別增長(zhǎng)至287 ms、292 ms;設(shè)置3條預(yù)熱查詢減少的查詢時(shí)間最多,對(duì)應(yīng)式(12)的情況(1)。在三條件查詢時(shí),預(yù)熱數(shù)目為5 條時(shí),對(duì)應(yīng)式(12)的情況(2),此時(shí)預(yù)熱查詢產(chǎn)生的時(shí)間增益和產(chǎn)生的延遲相等。對(duì)于雙條件、三條件查詢,均為設(shè)置3 條預(yù)熱查詢時(shí)查詢時(shí)間最短,減少的查詢時(shí)間最大值為48 ms。預(yù)熱查詢條數(shù)i=3、4、5 時(shí)均能減少查詢時(shí)間,其中,i=3 時(shí)減少的查詢時(shí)間最多。

圖7(b)為多線程下對(duì)比設(shè)置不同預(yù)熱查詢數(shù)目和未設(shè)置預(yù)熱查詢的查詢時(shí)間。由圖7(b)可知,在多線程下,三條件查詢且未設(shè)置預(yù)熱查詢時(shí),查詢時(shí)間為752 ms,設(shè)置3 條預(yù)熱查詢時(shí)的查詢時(shí)間為712 ms;在預(yù)熱查詢數(shù)目為4條時(shí),對(duì)比設(shè)置3條預(yù)熱查詢,查詢時(shí)間有所增加;在預(yù)熱查詢數(shù)目為5條時(shí),查詢時(shí)間大于未設(shè)置預(yù)熱查詢的查詢時(shí)間,對(duì)應(yīng)式(12)的情況(3)。上述結(jié)果說(shuō)明多線程下三條件查詢的最佳預(yù)熱數(shù)目為3 條;雙條件查詢時(shí),i=3 為最佳預(yù)熱查詢數(shù)目,減少的查詢時(shí)間為72 ms;在單條件查詢時(shí),最佳預(yù)熱查詢數(shù)目為i=4,此時(shí)減少80 ms的查詢時(shí)間。

4 結(jié) 論

通過(guò)熱點(diǎn)數(shù)據(jù)部分鏈表緩存方法的研究,算例測(cè)試了不同條件的查詢和預(yù)熱查詢的影響,測(cè)試結(jié)果表明以下結(jié)論。

(1)在不同查詢條件下,HDPL方法均優(yōu)于其他3 種方法;在不同數(shù)據(jù)更新間隔下,HDPL 緩存查詢的查詢時(shí)間波動(dòng)較小,且始終優(yōu)于HDL 緩存查詢,在數(shù)據(jù)更新間隔為16 ms時(shí),HDPL緩存查詢相比于HDL 緩存查詢能夠節(jié)省111 ms 的查詢時(shí)間。測(cè)試結(jié)果驗(yàn)證了所設(shè)計(jì)的HDPL 分布緩存方法能有效減少集群的查詢時(shí)間。

(2)單線程下均為在預(yù)熱數(shù)目i=3 時(shí)減少的查詢時(shí)間最多;多線程下,雙條件、三條件查詢時(shí),均為i=3 時(shí)減少的查詢時(shí)間最多;單條件查詢時(shí),i=4 減少的查詢時(shí)間最多。測(cè)試結(jié)果驗(yàn)證了設(shè)計(jì)的預(yù)熱查詢存在最佳數(shù)目,且能夠?qū)崿F(xiàn)搜索器的熱啟動(dòng),有效減少查詢時(shí)間,提高集群工作效率。

猜你喜歡
配電網(wǎng)數(shù)據(jù)庫(kù)方法
配電網(wǎng)自動(dòng)化的應(yīng)用與發(fā)展趨勢(shì)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
基于IEC61850的配電網(wǎng)數(shù)據(jù)傳輸保護(hù)機(jī)制
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
配電網(wǎng)不止一步的跨越
河南電力(2016年5期)2016-02-06 02:11:24
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 精品91视频| 国产一级小视频| 永久毛片在线播| 国产又爽又黄无遮挡免费观看| 国产成人乱无码视频| 2020最新国产精品视频| 国产理论一区| 亚洲AⅤ波多系列中文字幕| 日韩av电影一区二区三区四区| 日韩二区三区无| 国产精品一区在线麻豆| 欧美97色| 久久久久无码精品| 91精品小视频| 中文无码精品a∨在线观看| 99这里只有精品在线| 久久综合婷婷| 54pao国产成人免费视频| 小蝌蚪亚洲精品国产| 谁有在线观看日韩亚洲最新视频 | av色爱 天堂网| 黄片在线永久| 91日本在线观看亚洲精品| 国产成人超碰无码| 亚洲高清日韩heyzo| 一级毛片免费观看不卡视频| 欧美亚洲另类在线观看| 成年人福利视频| 亚洲综合亚洲国产尤物| 操国产美女| 国产在线视频二区| 她的性爱视频| 成人欧美在线观看| 久久精品只有这里有| 伊人中文网| 99热这里只有免费国产精品 | 精品国产电影久久九九| 亚洲欧美自拍一区| 波多野结衣无码AV在线| 99在线视频免费观看| 欧美啪啪一区| 久久无码免费束人妻| 日本精品视频一区二区| 亚洲国产精品一区二区高清无码久久| 亚洲精品中文字幕无乱码| 精品福利国产| 中文一区二区视频| 日韩福利在线视频| 伊人久久福利中文字幕| 在线观看无码av五月花| 午夜日b视频| 高清无码不卡视频| 日本福利视频网站| 日韩视频福利| 免费午夜无码18禁无码影院| 手机在线国产精品| 无码内射在线| 国产欧美日韩18| 国产AV无码专区亚洲A∨毛片| 婷婷六月综合| 福利姬国产精品一区在线| 国产区福利小视频在线观看尤物| 欧美高清国产| 亚洲欧美另类久久久精品播放的| 在线精品视频成人网| 国产女人爽到高潮的免费视频| 成年人午夜免费视频| 久久免费视频6| 一本大道香蕉久中文在线播放 | 青青操国产视频| 欧美啪啪一区| 日a本亚洲中文在线观看| 97人人做人人爽香蕉精品| 国产女主播一区| 69综合网| 三上悠亚在线精品二区| 日韩欧美国产成人| 国产乱码精品一区二区三区中文| 久久99国产综合精品1| 亚洲无码视频喷水| 狠狠做深爱婷婷综合一区| v天堂中文在线|