亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        北京全球信息系統(tǒng)中心的數(shù)據(jù)緩存功能優(yōu)化

        2014-08-07 14:44:05王甫棣姜立鵬
        應(yīng)用氣象學(xué)報(bào) 2014年2期
        關(guān)鍵詞:數(shù)據(jù)文件哈希內(nèi)存

        王甫棣姜立鵬 姚 燕

        (國(guó)家氣象信息中心,北京100081)

        北京全球信息系統(tǒng)中心的數(shù)據(jù)緩存功能優(yōu)化

        王甫棣*姜立鵬 姚 燕

        (國(guó)家氣象信息中心,北京100081)

        世界氣象組織信息系統(tǒng)(WMO Information System,WIS)是一個(gè)支撐全球氣象數(shù)據(jù)交換共享的通用信息服務(wù)平臺(tái),北京全球信息系統(tǒng)中心作為WIS的核心功能中心之一,必須緩存最近24 h內(nèi)的WMO全球交換數(shù)據(jù)以提供高效的數(shù)據(jù)訪問(wèn)服務(wù)。為了檢查收集到的全球交換數(shù)據(jù)的合法性,需要校驗(yàn)每條數(shù)據(jù)是否存在與之匹配的元數(shù)據(jù),這些元數(shù)據(jù)信息以關(guān)系型數(shù)據(jù)庫(kù)方式存儲(chǔ)在北京全球信息系統(tǒng)中心中。由于每日接收到的WMO全球交換數(shù)據(jù)文件個(gè)數(shù)多且收集時(shí)間分布不均,大量頻繁的數(shù)據(jù)庫(kù)查詢操作導(dǎo)致處理性能下降,特別在數(shù)據(jù)密集收集的情況下容易產(chǎn)生較大延遲,直接影響業(yè)務(wù)的實(shí)時(shí)性。設(shè)計(jì)并實(shí)現(xiàn)一種基于內(nèi)存對(duì)象緩存的應(yīng)用優(yōu)化現(xiàn)有通過(guò)數(shù)據(jù)庫(kù)查詢的校驗(yàn)方式,實(shí)現(xiàn)在內(nèi)存中一次性載入元數(shù)據(jù)信息,并在內(nèi)存中完成緩存數(shù)據(jù)校驗(yàn)的操作,以此來(lái)減少磁盤的讀寫訪問(wèn),提升處理效率。此外,還通過(guò)多線程方法實(shí)現(xiàn)與緩存數(shù)據(jù)相關(guān)的功能,使該方案具有良好的擴(kuò)展性。實(shí)際應(yīng)用表明:數(shù)據(jù)緩存功能優(yōu)化后能滿足實(shí)時(shí)業(yè)務(wù)性能要求。

        數(shù)據(jù)緩存;內(nèi)存對(duì)象;北京全球信息系統(tǒng)中心

        引 言

        世界氣象組織信息系統(tǒng)(WMO Information System,WIS)是世界氣象組織(WMO)正在組織開發(fā)的綜合、通用的信息服務(wù)平臺(tái),用以支撐WMO各項(xiàng)計(jì)劃以及相關(guān)國(guó)際組織和計(jì)劃的數(shù)據(jù)交換和共享[1]。全球信息系統(tǒng)中心(GISC)是WIS的核心功能中心[2],承擔(dān)全球交換資料的收集和分發(fā),提供對(duì)WIS全部數(shù)據(jù)的發(fā)現(xiàn)和訪問(wèn)服務(wù)。中國(guó)氣象局國(guó)家氣象信息中心(NMIC)目前是全球電信系統(tǒng)(GTS)主干通信網(wǎng)的亞洲區(qū)域通信樞紐(RTH),建成北京GISC是中國(guó)氣象局的既定目標(biāo),也是鞏固和提升中國(guó)氣象局在WMO通信網(wǎng)絡(luò)及信息系統(tǒng)中的地位和影響力的重要舉措[3]。

        北京GISC是全球首批業(yè)務(wù)運(yùn)行的GISC之一,其服務(wù)系統(tǒng)可收集責(zé)任區(qū)內(nèi)提供全球交換的數(shù)據(jù)和產(chǎn)品,與其他GISC交換全球數(shù)據(jù),提供責(zé)任區(qū)內(nèi)的數(shù)據(jù)收集或產(chǎn)品中心(DCPC)和國(guó)家中心(NC)對(duì)WIS全部數(shù)據(jù)的發(fā)現(xiàn)和訪問(wèn)服務(wù)。包括國(guó)家氣象中心、國(guó)家衛(wèi)星氣象中心、國(guó)家氣候中心在內(nèi)的中國(guó)氣象局內(nèi)部DCPC于2012年獲得第64屆WMO執(zhí)行理事會(huì)批準(zhǔn)投入業(yè)務(wù)試運(yùn)行,所有提供的數(shù)據(jù)和產(chǎn)品都可以通過(guò)北京GISC進(jìn)行發(fā)現(xiàn)、訪問(wèn)和檢索服務(wù)。

        按照WIS/GISC要求,每個(gè)GISC須至少緩存24 h內(nèi)的全球交換數(shù)據(jù),若授權(quán)用戶通過(guò)元數(shù)據(jù)瀏覽或者檢索發(fā)現(xiàn)到某些關(guān)心的數(shù)據(jù)條目,可以鏈接形式顯示出這些緩存的本地?cái)?shù)據(jù)。此外,所有這些數(shù)據(jù)資料均需要進(jìn)行文件名和傳輸格式的規(guī)范化處理。

        1 GISC數(shù)據(jù)緩存服務(wù)

        1.1 數(shù)據(jù)發(fā)現(xiàn)、訪問(wèn)和檢索服務(wù)

        當(dāng)前,WIS分兩部分并行實(shí)施[4]:一部分將繼續(xù)發(fā)展GTS,基于實(shí)時(shí)推送機(jī)制,進(jìn)一步改進(jìn)高時(shí)效和關(guān)鍵業(yè)務(wù)的資料、產(chǎn)品的服務(wù)提供,包括警報(bào);另一部分則是通過(guò)Internet提供數(shù)據(jù)發(fā)現(xiàn)、訪問(wèn)和檢索(DAR)服務(wù),并基于請(qǐng)求/應(yīng)答的拉取機(jī)制提供靈活及時(shí)的數(shù)據(jù)獲取。GISC中的緩存數(shù)據(jù)下載是DAR服務(wù)的一部分內(nèi)容,它是DAR服務(wù)對(duì)于24 h全球交換數(shù)據(jù)訪問(wèn)的具體實(shí)施。

        每個(gè)GISC需要維護(hù)包括全球交換資料在內(nèi)的WIS服務(wù)數(shù)據(jù)的元數(shù)據(jù)目錄并提供訪問(wèn),以支持DAR功能,包括上傳、修改和刪除元數(shù)據(jù),用戶發(fā)現(xiàn)和訪問(wèn)元數(shù)據(jù),元數(shù)據(jù)同步[5]等功能。

        1.2 DAR元數(shù)據(jù)

        參考國(guó)際所公認(rèn)的空間信息元數(shù)據(jù)標(biāo)準(zhǔn)[6]引入氣象元數(shù)據(jù)[7-8],使用元數(shù)據(jù)來(lái)描述氣象數(shù)據(jù)是解決氣象數(shù)據(jù)共享的理想辦法[9]。目前WMO各GISC發(fā)布的氣象元數(shù)據(jù)均須遵循WMO核心元數(shù)據(jù)標(biāo)準(zhǔn),但由于不同WMO成員對(duì)元數(shù)據(jù)描述內(nèi)容的需求和利用元數(shù)據(jù)提供應(yīng)用服務(wù)方面存在差異,各成員各自創(chuàng)建滿足自身需求的氣象元數(shù)據(jù),但所有在WIS中注明來(lái)源的資料均將根據(jù)ISO標(biāo)準(zhǔn)由相關(guān)元數(shù)據(jù)定義。北京GISC系統(tǒng)中的元數(shù)據(jù)采用XML格式記錄元數(shù)據(jù),目前已遵循WMO最新的核心元數(shù)據(jù)標(biāo)準(zhǔn)(1.2版本),主要由文件標(biāo)識(shí)、語(yǔ)言、字符集等15個(gè)主要元素組成,可以描述產(chǎn)品和數(shù)據(jù)的名稱、時(shí)間、地理位置等屬性以及數(shù)據(jù)格式和數(shù)據(jù)獲取方式、地址等數(shù)據(jù)服務(wù)信息,是北京GISC系統(tǒng)提供數(shù)據(jù)發(fā)現(xiàn)和訪問(wèn)服務(wù)的基礎(chǔ)。對(duì)于WMO全球交換數(shù)據(jù)的元數(shù)據(jù)描述中,使用固定的文件標(biāo)識(shí)“urn:x-wmo:md:int.wmo.wis:T1T2A1A2iiCC CC”,其中,T1T2A1A2iiCCCC是簡(jiǎn)式報(bào)頭項(xiàng),其余部分為固定字符串。通過(guò)文件標(biāo)識(shí)中簡(jiǎn)式報(bào)頭項(xiàng)可以匹配到一個(gè)時(shí)間序列的某類WMO全球交換數(shù)據(jù)。

        根據(jù)不同使用目的,北京GISC中元數(shù)據(jù)以3種形式進(jìn)行存儲(chǔ):①將GISC數(shù)據(jù)應(yīng)用相關(guān)的元數(shù)據(jù)抽取其中部分信息存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,為GISC數(shù)據(jù)應(yīng)用提供便利,如緩存數(shù)據(jù)是否存在對(duì)應(yīng)元數(shù)據(jù)的檢查;②為支持元數(shù)據(jù)文件的訪問(wèn),提供元數(shù)據(jù)的XML文件存儲(chǔ);③為支持GISC全文檢索功能,以BLOB(二進(jìn)制大對(duì)象)數(shù)據(jù)類型將元數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù)中。

        1.3 數(shù)據(jù)緩存

        北京GISC緩存數(shù)據(jù)有兩部分?jǐn)?shù)據(jù)來(lái)源:一是直接通過(guò)GTS接收到的全球交換數(shù)據(jù),二是通過(guò)網(wǎng)頁(yè)數(shù)據(jù)收集收集的數(shù)據(jù)[10]。二者雖然數(shù)據(jù)來(lái)源不同,但通過(guò)統(tǒng)一的文件名格式保證數(shù)據(jù)緩存功能可以進(jìn)行統(tǒng)一處理。對(duì)于GTS接收到的全球交換數(shù)據(jù),為了保證用戶下載緩存數(shù)據(jù)的效率,由GTS直接將WMO全球交換數(shù)據(jù)送至北京GISC系統(tǒng)指定目錄結(jié)構(gòu)進(jìn)行緩存,當(dāng)用戶請(qǐng)求這些數(shù)據(jù)下載時(shí),系統(tǒng)可直接將數(shù)據(jù)文件返回給用戶,減少因通過(guò)從中國(guó)氣象局本地實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)檢索的耗時(shí)。

        根據(jù)WIS/GISC的要求,對(duì)于進(jìn)入GISC數(shù)據(jù)緩存中但不存在元數(shù)據(jù)文件的數(shù)據(jù)文件,系統(tǒng)能夠進(jìn)行識(shí)別和告警提示,并允許120 s的非法校驗(yàn)時(shí)間延遲[11-12]。如果120 s內(nèi)收到數(shù)據(jù)文件的元數(shù)據(jù)文件,系統(tǒng)將在GISC數(shù)據(jù)緩存中提供該數(shù)據(jù)文件的訪問(wèn)服務(wù),否則標(biāo)識(shí)其為非法文件不提供服務(wù)。由于檢查緩存數(shù)據(jù)合法性是通過(guò)判定系統(tǒng)中是否存在與之對(duì)應(yīng)的元數(shù)據(jù),需要進(jìn)行數(shù)據(jù)庫(kù)檢索操作。

        GISC數(shù)據(jù)緩存的物理存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)如圖1所示。所有緩存數(shù)據(jù)根據(jù)處理邏輯結(jié)果的不同被存儲(chǔ)在不同目錄中,如未知格式文件(unknown)、重復(fù)文件(repeat)、非法文件(error)、過(guò)期文件(outdate)、120 s時(shí)間延遲待校驗(yàn)文件(wait)等。所有通過(guò)檢查的合法數(shù)據(jù)將根據(jù)文件名中簡(jiǎn)式報(bào)頭T1T2A1-A2iiCCCC項(xiàng)存儲(chǔ)在指定的子目錄(entry)中,子目錄分為CCCC(指WMO成員)和TT(指資料類型)兩級(jí)。

        圖1 數(shù)據(jù)緩存的物理存儲(chǔ)結(jié)構(gòu)Fig.1 Physical storage structure of data cache

        2 基于數(shù)據(jù)庫(kù)檢索的數(shù)據(jù)緩存處理現(xiàn)狀

        2.1 處理性能低

        為了滿足緩存數(shù)據(jù)檢查需求,必須循環(huán)掃描緩存入口文件目錄,在處理掉重復(fù)文件和非法格式文件后,提取正確文件名中簡(jiǎn)式報(bào)頭信息進(jìn)行元數(shù)據(jù)匹配檢索操作,如果判定數(shù)據(jù)合法則將數(shù)據(jù)拷貝到entry的指定子目錄,否則進(jìn)入wait目錄等待120 s的時(shí)間延遲校驗(yàn)。隨著北京GISC系統(tǒng)投入業(yè)務(wù)試運(yùn)行,系統(tǒng)中以關(guān)系型數(shù)據(jù)庫(kù)表形式存儲(chǔ)的元數(shù)據(jù)記錄已超過(guò)100000條,并且不斷增多,而每天WMO全球交換數(shù)據(jù)文件總數(shù)超過(guò)50000個(gè)。圖2記錄了2012年2月29日00:00—05:59(世界時(shí),下同)時(shí)間段內(nèi)緩存數(shù)據(jù)入口目錄每秒接收文件數(shù)統(tǒng)計(jì)趨勢(shì)圖,可以明顯看出數(shù)據(jù)進(jìn)入目錄時(shí)間分布不均勻,如在00:36:20,有504個(gè)文件進(jìn)入入口目錄;大約在02:40—03:50,國(guó)外數(shù)值預(yù)報(bào)產(chǎn)品資料會(huì)非常密集地進(jìn)入入口目錄。由于GTS每日例行進(jìn)行數(shù)據(jù)交換,特定某日某時(shí)段的數(shù)據(jù)接收情況具備普遍性,在其他時(shí)間段里,也存在時(shí)間分布不均的情況。

        圖2 2012年2月29日00:00—05:59緩存入口目錄文件接收個(gè)數(shù)統(tǒng)計(jì)Fig.2 The number of receiving files from data cache entry directory from 0000 UTC to 0559 UTC on 29 Feb 2012

        系統(tǒng)為了判斷該條數(shù)據(jù)是否有效,現(xiàn)有的技術(shù)方案要求每條數(shù)據(jù)都需要進(jìn)行數(shù)據(jù)庫(kù)表查找操作,選擇2012年2月29日00:25—00:35 10 min內(nèi)59個(gè)文件的通過(guò)數(shù)據(jù)庫(kù)進(jìn)行查找的時(shí)間延遲統(tǒng)計(jì),如圖3所示。為提高效率,系統(tǒng)開啟5個(gè)多線程并行處理,元數(shù)據(jù)信息表也添加索引進(jìn)行優(yōu)化,但處理性能仍然不理想,并且性能也可能隨時(shí)因系統(tǒng)負(fù)載增大而降低。盡管不在數(shù)據(jù)密集到達(dá)時(shí)間段,但檢索耗時(shí)平均時(shí)間大約是500 ms。通過(guò)在多個(gè)其他不同時(shí)間段的反復(fù)測(cè)試結(jié)果顯示,檢索耗時(shí)平均超過(guò)500 ms。在同時(shí)開啟5個(gè)處理線程情況下,500份文件僅數(shù)據(jù)檢索操作就需要50 s,這對(duì)于120 s時(shí)間延遲校驗(yàn)會(huì)導(dǎo)致較大誤差,若遇到數(shù)據(jù)密集到達(dá)時(shí)甚至?xí)霈F(xiàn)1條數(shù)據(jù)等待120 s還未進(jìn)行校驗(yàn)就已標(biāo)記為非法的情況。

        圖3 2012年2月29日00:25—00:35原有技術(shù)方案中元數(shù)據(jù)文件檢索耗時(shí)Fig.3 The metadata files retrieval consuming time in the original technical solutions from 0025 UTC to 0035 UTC on 29 Feb 2012

        2.2 擴(kuò)展能力弱

        除數(shù)據(jù)緩存服務(wù)外,GISC系統(tǒng)還有其他功能需要依托緩存處理實(shí)現(xiàn),例如:①數(shù)據(jù)緩存日志信息記錄,為了提供緩存數(shù)據(jù)監(jiān)視功能,所有數(shù)據(jù)緩存的處理結(jié)果需要實(shí)時(shí)記錄;②緩存數(shù)據(jù)訂閱處理,在判斷緩存數(shù)據(jù)合法后檢查是否有用戶進(jìn)行訂閱,一旦是用戶訂閱的數(shù)據(jù)則將數(shù)據(jù)鏈接到訂閱用戶分發(fā)目錄。由于原有緩存處理性能低,為了盡可能保證效率,系統(tǒng)不能在該功能上進(jìn)行擴(kuò)展以支持相關(guān)功能的實(shí)現(xiàn),否則會(huì)因?yàn)轭~外的處理邏輯加劇緩存處理效率下降。

        3 基于內(nèi)存對(duì)象緩存應(yīng)用的優(yōu)化處理方案

        3.1 問(wèn)題分析

        傳統(tǒng)的建立數(shù)據(jù)庫(kù)索引,啟用多線程方法能一定程度提高處理效率,但無(wú)法從根本上避免頻繁讀寫操作帶來(lái)的耗時(shí),而其中大量讀寫操作來(lái)自對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),因此需要對(duì)處理方式進(jìn)行優(yōu)化,減少數(shù)據(jù)庫(kù)訪問(wèn)。

        近年來(lái),內(nèi)存容量不斷提高,價(jià)格不斷下跌,操作系統(tǒng)已經(jīng)可以支持更大的地址空間,充分利用內(nèi)存技術(shù)提升系統(tǒng)性能成為一個(gè)熱點(diǎn)[13-14]。較為普遍的做法是使用內(nèi)存數(shù)據(jù)庫(kù)技術(shù)(也叫主存數(shù)據(jù)庫(kù)技術(shù)),對(duì)查詢處理、并發(fā)控制和恢復(fù)的算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行重新設(shè)計(jì),以便更有效地使用內(nèi)存。相對(duì)于磁盤訪問(wèn),內(nèi)存數(shù)據(jù)讀寫速度要高出幾個(gè)數(shù)量級(jí)。這種做法實(shí)現(xiàn)復(fù)雜度較高,即使利用已有的中間件產(chǎn)品,由于不了解其中的實(shí)現(xiàn)算法,其運(yùn)行穩(wěn)定性和可靠性存在風(fēng)險(xiǎn)。常見的開源內(nèi)存數(shù)據(jù)庫(kù)產(chǎn)品包括Memcached和Redis[15]。

        Memcached是一款基于事件處理的分布式內(nèi)存數(shù)據(jù)庫(kù)產(chǎn)品。Memcached沒(méi)有過(guò)多考慮數(shù)據(jù)的持久化問(wèn)題,一旦重新啟動(dòng)操作系統(tǒng)會(huì)導(dǎo)致全部數(shù)據(jù)消失,如果使用Memcached來(lái)解決數(shù)據(jù)緩存的校驗(yàn)功能,需要通過(guò)二次開發(fā)解決處理日志信息的持久化問(wèn)題。Memcached按照固定的塊大小分割內(nèi)存來(lái)解決內(nèi)存碎片問(wèn)題,若存儲(chǔ)長(zhǎng)度不一的元數(shù)據(jù)信息表時(shí)無(wú)法充分利用內(nèi)存。

        Redis在很多方面與Memcached具有相同的特征,不同在于Redis增加了持久化的功能,Redis定期通過(guò)異步操作將數(shù)據(jù)庫(kù)內(nèi)容拷貝到硬盤。但Redis需要通過(guò)額外的數(shù)據(jù)裁剪功能來(lái)保證合理的內(nèi)存使用空間,使得應(yīng)用復(fù)雜度增加。

        數(shù)據(jù)緩存處理功能僅針對(duì)獨(dú)立的元數(shù)據(jù)數(shù)據(jù)表進(jìn)行操作,考慮一種簡(jiǎn)單方案是使用內(nèi)存對(duì)象緩存技術(shù)[16-17],將某些量小、使用次數(shù)多的數(shù)據(jù)以鍵(key)/值(value)對(duì)的方式保存在內(nèi)存對(duì)象緩存系統(tǒng)中,合理增大內(nèi)存緩沖,優(yōu)化數(shù)據(jù)結(jié)構(gòu),改進(jìn)查詢?cè)L問(wèn)的命中率,提升整體效率。這種方法實(shí)現(xiàn)復(fù)雜度小,通過(guò)自主開發(fā)相應(yīng)的程序,有針對(duì)性地解決GISC緩存處理的業(yè)務(wù)邏輯。

        3.2 技術(shù)實(shí)現(xiàn)

        如圖4所示,基于內(nèi)存緩存技術(shù)的應(yīng)用定期更新抽取元數(shù)據(jù)信息表中的信息,封裝成元數(shù)據(jù)信息對(duì)象后載入內(nèi)存,進(jìn)行數(shù)據(jù)的合法性檢查、延遲處理以及訂閱等業(yè)務(wù)邏輯。

        圖4 數(shù)據(jù)緩存功能處理流程圖Fig.4 Workflow of data cache functionality

        由于元數(shù)據(jù)列表不是鏈表或者樹形結(jié)構(gòu)的序列,不能直接使用任何排序方法來(lái)提高查找效率。采用哈希表存儲(chǔ)這種離散的對(duì)象數(shù)據(jù)[18]后,可通過(guò)建立哈希索引來(lái)提高檢索效率。哈希表(Hash Map)是將鍵通過(guò)固定的哈希函數(shù)轉(zhuǎn)換成一個(gè)整型數(shù)字,然后將該數(shù)字對(duì)數(shù)組長(zhǎng)度進(jìn)行哈希散列運(yùn)算,運(yùn)算的結(jié)果被當(dāng)作數(shù)組的下標(biāo),然后將值存儲(chǔ)在以該數(shù)字為下標(biāo)的數(shù)組空間里。當(dāng)使用哈希表進(jìn)行查詢的時(shí)候,再次使用哈希函數(shù)將鍵(key)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)組下標(biāo),并定位到該空間獲取值(value)。

        如圖5所示,元數(shù)據(jù)通過(guò)簡(jiǎn)式報(bào)頭哈希索引來(lái)管理:抽取元數(shù)據(jù)標(biāo)識(shí)中簡(jiǎn)式報(bào)頭T1T2A1A2iiCCCC項(xiàng)作為哈希表的key項(xiàng),對(duì)應(yīng)的元數(shù)據(jù)信息作為value項(xiàng),每個(gè)對(duì)象包含元數(shù)據(jù)校驗(yàn)、更新必須的屬性信息。

        圖5 基于哈希表的內(nèi)存對(duì)象組織Fig.5 Structure of the memory objects based on Hash Map

        為了滿足數(shù)據(jù)訂閱、延遲處理等功能,采用多線程機(jī)制,封裝其他的功能對(duì)象進(jìn)行并發(fā)處理(如圖6所示)。

        ①守護(hù)進(jìn)程對(duì)象:監(jiān)視和控制各個(gè)線程的運(yùn)行狀態(tài)。

        ②入口文件檢查對(duì)象:當(dāng)檢測(cè)到緩存入口目錄數(shù)據(jù)到達(dá)時(shí),通過(guò)查找內(nèi)存對(duì)象緩存是否有對(duì)應(yīng)的報(bào)頭T1T2A1A2iiCCCC來(lái)檢查入口數(shù)據(jù)有效性,未找到匹配信息的數(shù)據(jù)放入延遲檢查目錄。

        ③等待文件檢查對(duì)象:等待120 s非法校驗(yàn)延遲目錄中的數(shù)據(jù)文件的元數(shù)據(jù)文件是否存在,仍然沒(méi)有則判定該數(shù)據(jù)非法。

        ④元數(shù)據(jù)更新對(duì)象:初始運(yùn)行時(shí)元數(shù)據(jù)庫(kù)中元數(shù)據(jù)列表一次性導(dǎo)入內(nèi)存,此后內(nèi)存對(duì)象緩存將定期增量更新,同步頻率可以進(jìn)行配置。

        ⑤訂單更新對(duì)象:判斷合法的緩存數(shù)據(jù)是否為用戶訂閱的數(shù)據(jù),如果是,則將數(shù)據(jù)文件鏈接到用戶訂閱分發(fā)目錄[19]。

        ⑥日志記錄對(duì)象:為提供緩存日志信息功能,系統(tǒng)采取日志信息異步更新方法,當(dāng)內(nèi)存中保存的日志信息超過(guò)配置限額時(shí),一次性將日志持久化寫入磁盤,減少磁盤操作。

        圖6 多線程緩存處理類圖Fig.6 Class diagram of multi-threaded cache processing

        4 優(yōu)化效果

        優(yōu)化的數(shù)據(jù)緩存應(yīng)用處理效率高,還可以擴(kuò)展進(jìn)行訂閱處理操作,使得數(shù)據(jù)處理耗時(shí)平均小于5 ms,能保證緩存數(shù)據(jù)高效率的處理需求,并提供緩存日志記錄以及訂閱數(shù)據(jù)處理等擴(kuò)展功能。圖7是通過(guò)內(nèi)存對(duì)象緩存應(yīng)用進(jìn)行緩存數(shù)據(jù)檢查的優(yōu)化效果,選擇2012年2月29日13:00—13:40緩存數(shù)據(jù)文件處理延遲情況。

        圖7 2012年2月29日13:00—13:40優(yōu)化后緩存數(shù)據(jù)文件處理時(shí)間延遲Fig.7 The data cache file processing delay in optimized technical solution from 1300 UTC to 1340 UTC on 29 Feb 2012

        5 小 結(jié)

        分析現(xiàn)有數(shù)據(jù)緩存處理的性能瓶頸主要在于頻繁訪問(wèn)數(shù)據(jù)庫(kù)的磁盤讀寫耗時(shí),通過(guò)建立一個(gè)內(nèi)存對(duì)象緩存應(yīng)用優(yōu)化傳統(tǒng)數(shù)據(jù)庫(kù)檢索處理方式,將需要使用的數(shù)據(jù)一次性組織在內(nèi)存中,有效減少了數(shù)據(jù)庫(kù)查詢?cè)L問(wèn)帶來(lái)的性能下降。該方案也為其他海量數(shù)據(jù)處理應(yīng)用提供了一種新的解決思路,特別是針對(duì)數(shù)據(jù)具備動(dòng)態(tài)變化特性以及高時(shí)效要求的場(chǎng)景。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)在應(yīng)對(duì)高時(shí)效的數(shù)據(jù)處理時(shí)受制于磁盤讀寫性能,而廣泛采用的內(nèi)存數(shù)據(jù)庫(kù)中間件產(chǎn)品則復(fù)雜度太高,很難滿足特殊的氣象資料復(fù)雜的處理邏輯。因此,采用內(nèi)存對(duì)象緩存應(yīng)用是介于二者的一種方案,既能與關(guān)系性數(shù)據(jù)庫(kù)較好銜接,又能減少關(guān)鍵的核心處理的磁盤讀寫操作,可以有效降低數(shù)據(jù)庫(kù)的負(fù)載,提高處理性能。

        隨著WIS進(jìn)一步發(fā)展,GISC緩存數(shù)據(jù)的范圍可能不限于WMO全球交換數(shù)據(jù),為了保證7×24 h業(yè)務(wù)的高效、可靠運(yùn)行,提供分布式的緩存應(yīng)用,需要研究多機(jī)內(nèi)存緩存機(jī)制并構(gòu)建一種分布式的緩存應(yīng)用。

        [1] 劉華,周崢嶸.WIS-WMO未來(lái)信息系統(tǒng).氣象軟科學(xué),2007,83:143-150.

        [2] Geoff L.The birth of WMO Information System.Bulletin of WMO,2003,55(4):232-238.

        [3] 李湘,王甫棣,姜立鵬,等.WIS的實(shí)現(xiàn)技術(shù)研究及應(yīng)用.氣象,2011,37(10):1301-1308.

        [4] 祝婷,李湘.WMO信息系統(tǒng)中氣象元數(shù)據(jù)的設(shè)計(jì)與實(shí)現(xiàn).應(yīng)用氣象學(xué)報(bào),2012,23(2):238-244.

        [5] 姜立鵬,李湘.基于OAI-PMH協(xié)議的WMO信息系統(tǒng)元數(shù)據(jù)同步功能設(shè)計(jì)與實(shí)現(xiàn).氣象科技,2012,40(2):185-188.

        [6] 曹衛(wèi).基于XML的空間元數(shù)據(jù)系統(tǒng)的思考.計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(7):32-35.

        [7] 周崢嶸,王琤,何文春.分布式氣象元數(shù)據(jù)同步系統(tǒng)的探索研究.應(yīng)用氣象學(xué)報(bào),2010,21(1):121-128.

        [8] 高峰,王國(guó)復(fù),喻雯,等.氣象數(shù)據(jù)文件快速下載服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).應(yīng)用氣象學(xué)報(bào),2010,21(2):243-249.

        [9] 王國(guó)復(fù),徐楓,吳增祥.氣象元數(shù)據(jù)標(biāo)準(zhǔn)與信息發(fā)布技術(shù)研究.應(yīng)用氣象學(xué)報(bào),2005,16(1):114-121.

        [10] Wang Fudi,Yao Yan,Li Xiang,et al.Establishment of WMO Information System in Beijing.Lecture Notes in Electrical Engineering,2012,100:520-527.

        [11] Robert H,David T,Eliot C.WMO Information System Functional Architecture.[2012-07-30].http:∥www.wmo.int/pages/prog/www/TEM/ET-WISC-III/documents/WIS-Func Arch_current.doc.

        [12] Thomas D,Christian E,Husband R.WMO Information System Compliance Specifications of GISC,DCPC,and NC.[2012-07-30].http:∥www.wmo.int/pages/prog/www/WIS/documents/TechnicalSpecification1-2.doc.

        [13] 劉云生,李國(guó)徽.實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)的裝入.軟件學(xué)報(bào),2000,26(4):829-835.

        [14] 楊潤(rùn)芝,馬強(qiáng),李德泉,等.內(nèi)存轉(zhuǎn)發(fā)模型在CIMISS數(shù)據(jù)收發(fā)系統(tǒng)中的應(yīng)用.應(yīng)用氣象學(xué)報(bào),2012,23(3):377-384.

        [15] 楊艷,李煒,王純.內(nèi)存數(shù)據(jù)庫(kù)在高速緩存方面的應(yīng)用.現(xiàn)代電信科技,2011(12):59-64.

        [16] 趙玉偉,趙小雨,喬木.緩存技術(shù)在B/S架構(gòu)信息系統(tǒng)中的應(yīng)用.計(jì)算機(jī)工程,2008,34(1):233-235.

        [17] 張震波,楊鶴標(biāo),馬振華.基于LRU算法的Web系統(tǒng)緩存機(jī)制.計(jì)算機(jī)工程,2006,32(19):68-70.

        [18] 楊燕明,魯志軍,陳煜,等.一種基于哈希索引的內(nèi)存表模型.計(jì)算機(jī)應(yīng)用與軟件,2012,29(1):215-216.

        [19] 王甫棣,姚燕,李湘.基于XML的氣象數(shù)據(jù)訂閱系統(tǒng)設(shè)計(jì).氣象科技,2012,40(4):591-595.

        Optimization of Data Cache Function in Beijing Global Information System Center

        Wang Fudi Jiang Lipeng Yao Yan
        (National Meteorological Information Center,Beijing 100081)

        WMO Information System(WIS)is a coordinated,distributed,global infrastructure for the collection and sharing of information for all WMO and related international programs.As the core center of WIS,each Global Information System Center(GISC)is responsible for the collection and distribution of global exchanging data,and providing data discovery and access service.As a GISC of WIS,a scalable and flexible system is designed and established to satisfy WIS/GISC functionalities in Beijing.Beijing Global Information System Center should hold at least 24-hour WMO global exchanging data files,which could be accessed by authorized users through DAR(data discovery,access and retrieval)services.

        GISC Beijing has to do validation check for all the global exchanging data files,and only files matching the corresponding metadata could be brought into data cache.The existing approach for the validation is based on database retrieval operation.Currently,there are more than 100000 metadata records stored in the relational database GISC Beijing,while the system receives more than 50000 global exchanging data files in an uneven distribution of collection time.The disadvantage of this way is that frequent database I/O operation would lead to a sharp decline of the system performance,especially when a large number of data entering.Therefore,the approach could not satisfy the requirement of real-time data cache service.Although establishing the table index and multi-threaded mechanism could solve the efficiency of data processing to some extent,it is inevitable that frequent database I/O operation would bring about the performance bottleneck.Therefore,the operation treatment should be optimized.

        It is a possible way making full use of memory technology to reduce disk I/O cache data and improve the efficiency significantly.Considering the complexity of the mature memory database,a more targeted approach is adopted which is suitable for the scenario of dynamic nature of data with the timeliness requirements.An application is designed and implemented based on the memory object caching technology.When initializing the application,the system loads metadata into memory as a hash table from the database based on stored key/value pairs,organized by the unique bulletin head information of global exchanging data.In this way,the metadata contents are encapsulated as memory objects,thereby providing fast data memory retrieval method.In addition,parallel processing is implemented to extend the functionalities,including data cache logging function and data subscription services.

        As a result,effects of the optimized function can satisfy the real-time business requirements,reducing the data processing time to an average of less than 5 ms.It also provides an easier way to do extensions by adding memory object using parallel processing.

        data cache;memory object;GISC Beijing

        王甫棣,姜立鵬,姚燕.北京全球信息系統(tǒng)中心的數(shù)據(jù)緩存功能優(yōu)化.應(yīng)用氣象學(xué)報(bào),2014,25(2):242-248.

        2012-11-05收到,2013-11-22收到再改稿。

        公益性行業(yè)(氣象)科研專項(xiàng)(GYHY200906057)

        *email:wangfd@cma.gov.cn

        猜你喜歡
        數(shù)據(jù)文件哈希內(nèi)存
        “春夏秋冬”的內(nèi)存
        數(shù)據(jù)文件恢復(fù)專題問(wèn)答
        數(shù)據(jù)文件安全管控技術(shù)的研究與實(shí)現(xiàn)
        SQL數(shù)據(jù)文件恢復(fù)工具
        基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
        基于維度分解的哈希多維快速流分類算法
        Tekla Structure數(shù)據(jù)文件交互格式分析
        基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
        一種基于Bigram二級(jí)哈希的中文索引結(jié)構(gòu)
        基于內(nèi)存的地理信息訪問(wèn)技術(shù)
        狠狠色噜噜狠狠狠狠97首创麻豆| 欧美日韩国产在线人成dvd| 久久久精品国产亚洲av网不卡 | 富婆猛男一区二区三区| 成人毛片av免费| 亚洲av成本人无码网站| 国产伦精品一区二区三区| 又硬又粗又大一区二区三区视频 | 男男啪啪激烈高潮无遮挡网站网址| 国产精品国产精品国产专区不卡| 久久99精品九九九久久婷婷| 人人妻人人澡人人爽精品欧美| 国产 无码 日韩| 黑人玩弄极品人妻系列视频| 中文字幕日韩三级片| 亚洲av成人一区二区三区在线观看| 窄裙美女教师在线观看视频| 国产天堂av手机在线| 亚洲一区中文字幕一区| 国产一区二区av免费在线观看| 妺妺窝人体色www婷婷| 啦啦啦www播放日本观看| 成人爽a毛片一区二区免费| 日韩欧美亚洲国产一区二区三区 | 亚洲日产乱码在线中文字幕| 久久精品一区午夜视频| 国产精品熟女视频一区二区 | 狠狠的干性视频| 亚洲av无码国产精品麻豆天美 | 成人免费在线亚洲视频| 国产女主播精品大秀系列| 97se在线观看| 玖玖资源站无码专区| 日本加勒比精品一区二区视频 | 国产精品,在线点播影院| 日本免费一区二区在线| av免费在线免费观看| 性色做爰片在线观看ww| 精品一精品国产一级毛片| 亚洲av一二三又爽又爽又色 | 国产高清av首播原创麻豆|