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

        ?

        鐵路客票系統(tǒng)中緩存機(jī)制的應(yīng)用模型研究

        2013-05-11 13:25:48王紅愛(ài)朱建生劉文韜閻志遠(yuǎn)
        關(guān)鍵詞:客票配置文件命中率

        王紅愛(ài),朱建生,劉文韜,閻志遠(yuǎn)

        (中國(guó)鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)

        實(shí)現(xiàn)與時(shí)俱進(jìn)的目標(biāo),按照鐵路客票銷(xiāo)售渠道多樣化、服務(wù)手段現(xiàn)代化、運(yùn)營(yíng)管理現(xiàn)代化的發(fā)展方向,鐵路客票系統(tǒng)目前已經(jīng)成功應(yīng)用于各城際、高速鐵路上,購(gòu)票方式、支付手段多樣化,滿(mǎn)足不同消費(fèi)人員的需求。為滿(mǎn)足業(yè)務(wù)種類(lèi)的不斷膨脹、數(shù)據(jù)量的不斷增加,除了對(duì)硬件資源做升級(jí)改造外,研究有效的緩存機(jī)制,優(yōu)化軟件系統(tǒng)對(duì)提高售票速度是非常重要的研究課題。本文分析了目前客票系統(tǒng)中已在應(yīng)用的緩存策略,根據(jù)業(yè)務(wù)特點(diǎn)提出了一種適應(yīng)分布式系統(tǒng)的緩存方案。

        1 數(shù)據(jù)緩存機(jī)制

        1.1 數(shù)據(jù)緩存原理

        數(shù)據(jù)緩存[1]是數(shù)據(jù)庫(kù)數(shù)據(jù)或外存中的文件數(shù)據(jù)在內(nèi)存中的臨時(shí)存儲(chǔ)對(duì)象,是應(yīng)用程序運(yùn)行到一定階段數(shù)據(jù)信息的內(nèi)存副本。在實(shí)際應(yīng)用環(huán)境中,有的數(shù)據(jù)在整個(gè)運(yùn)行階段更新頻率較低,沒(méi)有必要頻繁地讀取,應(yīng)用系統(tǒng)啟動(dòng)后一次性讀入內(nèi)存供使用即可;有的數(shù)據(jù)更新相對(duì)較頻繁,查詢(xún)時(shí)由于算法規(guī)則的復(fù)雜性導(dǎo)致響應(yīng)性能不能滿(mǎn)足實(shí)際需求,因而需要將這類(lèi)數(shù)據(jù)周期性地存入內(nèi)存,供后續(xù)操作或其他用戶(hù)直接從內(nèi)存中間接讀取使用,以減少直接讀取次數(shù),加快響應(yīng)速度。

        1.2 Hibernate緩存機(jī)制

        Hibernate是一個(gè)優(yōu)秀的開(kāi)放源代碼數(shù)據(jù)持久層輕量級(jí)封裝框架,其緩存機(jī)制是大家廣為借鑒和使用的。H ibernate的緩存機(jī)制就是為了降低應(yīng)用程序?qū)υ磾?shù)據(jù)庫(kù)訪問(wèn)的頻度,進(jìn)而提高應(yīng)用程序的運(yùn)行性能[2]??蛻?hù)端提交申請(qǐng)時(shí)首先訪問(wèn)緩存,如果能夠命中,則從緩存中提出數(shù)據(jù),否則從數(shù)據(jù)庫(kù)中提出數(shù)據(jù)。H ibernate的一級(jí)緩存為Session級(jí)的緩存或事務(wù)級(jí)緩存,是緩存實(shí)體對(duì)象的,不緩存普通屬性,各Session間不能共享一級(jí)緩存數(shù)據(jù);Hibernate的二級(jí)緩存為SessionFactory級(jí)的緩存或進(jìn)程級(jí)的緩存,通常對(duì)讀遠(yuǎn)遠(yuǎn)大于寫(xiě)的數(shù)據(jù)進(jìn)行緩存,可以被所有的session所共享。

        1.3 緩存機(jī)制的衡量指標(biāo)及特征

        緩存機(jī)制3個(gè)標(biāo)志性的特征[3]為緩存粒度、緩存一致性策略以及緩存替換策略。

        (1)緩存粒度

        在關(guān)系型數(shù)據(jù)庫(kù)中,由行和列組成了完整的記錄。根據(jù)此特點(diǎn)將緩存的粒度分為行緩存、列緩存、混合緩存。其定義分別為:

        行緩存:向表中插入一條記錄的時(shí)候,該行記錄的每一列都要建立緩存。此時(shí),緩存的數(shù)據(jù)有一部分對(duì)用戶(hù)來(lái)說(shuō)是冗余的;

        列緩存:向表中插入一行記錄的時(shí)候,只對(duì)用戶(hù)頻繁訪問(wèn)的列數(shù)據(jù)進(jìn)行緩存;

        混合緩存:根據(jù)用戶(hù)訪問(wèn)的實(shí)際情況,對(duì)某些表的緩存采用行緩存,對(duì)另外的某些表采用屬性列緩存。

        (2)緩存一致性策略

        根據(jù)緩存數(shù)據(jù)和服務(wù)器端數(shù)據(jù)的一致性程度,將一致性分為強(qiáng)一致性和弱一致性。強(qiáng)一致性要求查詢(xún)事務(wù)讀取的值是數(shù)據(jù)服務(wù)器的最新值;弱一致性可以在本地的緩存上執(zhí)行,如果客戶(hù)端和服務(wù)器端連接斷開(kāi),此時(shí)的緩存可以提供弱一致性。

        (3)緩存替換策略

        緩存中的數(shù)據(jù)塊一旦失效,需要將新的數(shù)據(jù)塊移入緩存,同時(shí)將失效的數(shù)據(jù)塊移出。常用的緩存替換策略[4]有隨機(jī)替換策略、最近不可能使用策略(LRU)、最近未使用策略(NRU)、最近最少使用策略(LFU)和先進(jìn)先出策略(FIFO)。FIFO[2]的含義是最先進(jìn)入緩存的數(shù)據(jù),在緩存空間不夠的情況下(超出最大元素限制時(shí))會(huì)被最先清理出去。LFU的含義是使用頻率低的元素最先被清理掉。LRU的含義是最近最少使用的緩存的元素最早被清出緩存。在以上5種緩存更新算法中,先進(jìn)先出策略和最近未使用策略雖然實(shí)現(xiàn)簡(jiǎn)單,但效率不高;LFU和LRU策略符合局部性原理,但是當(dāng)緩存中的對(duì)象數(shù)目增加時(shí)效率會(huì)迅速下降;隨機(jī)替換算法則最簡(jiǎn)單,效率一般。

        1.4 緩存機(jī)制的適用范圍

        (1)事務(wù)范圍

        事務(wù)范圍的緩存只能被當(dāng)前事務(wù)訪問(wèn),每個(gè)事務(wù)都有各自的緩存,緩存的生命周期依賴(lài)于事務(wù)的生命周期,當(dāng)事務(wù)結(jié)束時(shí),緩存的生命周期才會(huì)結(jié)束。事務(wù)范圍的緩存使用內(nèi)存作為存儲(chǔ)介質(zhì),一級(jí)緩存就屬于事務(wù)范圍。

        (2)應(yīng)用范圍

        應(yīng)用程序的緩存可以被應(yīng)用范圍內(nèi)的所有事務(wù)共享訪問(wèn)。緩存的生命周期依賴(lài)于應(yīng)用的生命周期,當(dāng)應(yīng)用結(jié)束時(shí),緩存的生命周期才會(huì)結(jié)束。應(yīng)用范圍的緩存可以使用內(nèi)存或硬盤(pán)作為存儲(chǔ)介質(zhì),二級(jí)緩存就屬于應(yīng)用范圍。

        (3)集群范圍

        在集群環(huán)境中,緩存被一個(gè)機(jī)器或多個(gè)機(jī)器的進(jìn)程共享,緩存中的數(shù)據(jù)被復(fù)制到集群環(huán)境中的每個(gè)進(jìn)程節(jié)點(diǎn),進(jìn)程間通過(guò)遠(yuǎn)程通信來(lái)保證緩存中數(shù)據(jù)的一致性。

        2 緩存機(jī)制的應(yīng)用模型研究

        2.1 鐵路客票系統(tǒng)的應(yīng)用特點(diǎn)

        鐵路客票系統(tǒng)是一個(gè)功能龐大的C/S模式的分布式系統(tǒng),實(shí)現(xiàn)窗口、自動(dòng)售票機(jī)等終端用戶(hù)對(duì)各車(chē)站、鐵路局、鐵道部數(shù)據(jù)庫(kù)服務(wù)器的訪問(wèn)。根據(jù)業(yè)務(wù)的需要,分為靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)。靜態(tài)數(shù)據(jù)包括一般不發(fā)生改變和列車(chē)調(diào)圖發(fā)生改變等數(shù)據(jù)類(lèi)型;動(dòng)態(tài)數(shù)據(jù)包括存根類(lèi)、統(tǒng)計(jì)類(lèi)、席位類(lèi)等數(shù)據(jù)。不同類(lèi)型的數(shù)據(jù)存放在不同的服務(wù)器上,發(fā)出一個(gè)申請(qǐng)席位的命令,系統(tǒng)會(huì)根據(jù)提前指定的規(guī)則連接到相應(yīng)服務(wù)器上進(jìn)行判斷,最終給出有效的席位。

        2.2 鐵路客票現(xiàn)有的緩存策略

        目前根據(jù)鐵路客票業(yè)務(wù)訪問(wèn)量的大小制定了靜態(tài)的緩存策略,每個(gè)子系統(tǒng)用戶(hù)在登錄時(shí)會(huì)在本機(jī)緩存該操作員和該窗口的信息,包括操作員權(quán)限、窗口權(quán)限、窗口參數(shù)定義等;業(yè)務(wù)繁忙的鐵路局建立了查詢(xún)服務(wù)器,每個(gè)客戶(hù)端都可以訪問(wèn)該服務(wù)器,加快了發(fā)到站查詢(xún)、余票查詢(xún)的速度。本機(jī)緩存與Hibernate的Session級(jí)緩存保持一致,在各Session間不共享,需要連接到本地服務(wù)器中獲取信息;查詢(xún)服務(wù)器的建立與Hibernate的進(jìn)程級(jí)緩存保持一致,保存了常用的數(shù)據(jù)信息,每個(gè)Session都可以使用該信息來(lái)提高響應(yīng)速度。

        2.3 動(dòng)態(tài)的緩存機(jī)制應(yīng)用模型

        本文根據(jù)實(shí)際的應(yīng)用,在客戶(hù)端和遠(yuǎn)程服務(wù)器端用緩存日志動(dòng)態(tài)地調(diào)整緩存配置文件,以達(dá)到理想的緩存命中率。緩存機(jī)制的應(yīng)用模型如圖1所示。

        圖1 緩存機(jī)制的應(yīng)用模型圖

        客戶(hù)端和遠(yuǎn)程端在業(yè)務(wù)交互時(shí)分別記錄各自的緩存日志,客戶(hù)端在交班后計(jì)算訪問(wèn)命中率,將訪問(wèn)命中率分為高、中、低三級(jí),在本地配置文件中查找命中率為0或低于一定百分率的緩存項(xiàng),用高命中率的新緩存項(xiàng)替代; 遠(yuǎn)程端在業(yè)務(wù)空閑時(shí)每天定時(shí)讀取遠(yuǎn)程緩存日志,將訪問(wèn)命中率分為高、中、低三級(jí),在遠(yuǎn)程配置文件中查找命中率為0或低于一定百分率的緩存項(xiàng),用高命中率的新緩存項(xiàng)替代。通過(guò)對(duì)訪問(wèn)命中率的分析,可以動(dòng)態(tài)調(diào)整緩存項(xiàng),提高系統(tǒng)性能。

        2.4 動(dòng)態(tài)的緩存方案

        2.4.1 本地緩存方案

        本地緩存中的數(shù)據(jù)應(yīng)該具備如下特征:

        (1)經(jīng)常被讀但基本不被修改的數(shù)據(jù)。

        (2)可以被并發(fā)訪問(wèn),但從來(lái)不會(huì)修改的數(shù)據(jù)。

        圖2為本地緩存方案,流程如下:

        客戶(hù)端登錄鐵路客票子系統(tǒng);

        客戶(hù)端下載窗口定義、操作員定義、窗口參數(shù)定義等特有信息;

        讀取本地緩存配置文件中的緩存項(xiàng);

        根據(jù)緩存項(xiàng)從遠(yuǎn)程緩存服務(wù)器端下載相關(guān)信息,未找到則從源數(shù)據(jù)庫(kù)下載;

        在辦理業(yè)務(wù)的過(guò)程中記錄緩存日志;

        交班后通過(guò)歷史和當(dāng)日的緩存日志分析命中率,根據(jù)命中率的比例修改本地的緩存配置文件;

        退出子系統(tǒng)。

        通過(guò)實(shí)際的應(yīng)用動(dòng)態(tài)的調(diào)整配置文件,將利用率高的數(shù)據(jù)在本地進(jìn)行緩存,可以地提高響應(yīng)速度。

        圖2 本地緩存方案

        2.4.2 遠(yuǎn)程緩存方案

        遠(yuǎn)程緩存中的數(shù)據(jù)應(yīng)該具備如下特征:

        (1)經(jīng)常被讀但很少修改的數(shù)據(jù);

        (2)可以被并發(fā)訪問(wèn)但很少修改的數(shù)據(jù),如:基礎(chǔ)數(shù)據(jù);

        (3)可以被并發(fā)訪問(wèn)并且經(jīng)常修改的數(shù)據(jù),如:余票數(shù)據(jù)。

        圖3為遠(yuǎn)程緩存方案,流程如下:

        圖3 遠(yuǎn)程緩存方案

        (1)客戶(hù)端根據(jù)本地緩存項(xiàng)從遠(yuǎn)程緩存服務(wù)器端下載相關(guān)信息,未找到則在遠(yuǎn)程端記錄緩存日志;

        (2)每天定時(shí)通過(guò)遠(yuǎn)程緩存日志的歷史和當(dāng)日的記錄分析命中率,根據(jù)命中率的比例修改遠(yuǎn)程的緩存配置文件;

        (3)遠(yuǎn)程端根據(jù)配置文件中緩存項(xiàng)的改動(dòng)向源數(shù)據(jù)庫(kù)發(fā)出更新緩存的請(qǐng)求;

        (4)源數(shù)據(jù)庫(kù)可以通過(guò)修改復(fù)制服務(wù)器的參數(shù)將新的緩存項(xiàng)所對(duì)應(yīng)的表進(jìn)行復(fù)制等方式動(dòng)態(tài)的調(diào)整遠(yuǎn)程緩存服務(wù)器的數(shù)據(jù)。

        3 結(jié)束語(yǔ)

        鐵路客票系統(tǒng)業(yè)務(wù)量非常龐大,用戶(hù)面向全國(guó)兩千多個(gè)聯(lián)網(wǎng)車(chē)站,一萬(wàn)四千多個(gè)售票窗口,保證系統(tǒng)的運(yùn)行速度是提高旅客滿(mǎn)意度的重要方面。把頻繁使用的數(shù)據(jù)用有效的緩存機(jī)制加載到緩存區(qū)后,可以減少應(yīng)用程序?qū)ξ锢頂?shù)據(jù)源的低效訪問(wèn),使得程序的運(yùn)行性能明顯提升。為了提高系統(tǒng)運(yùn)行效率并達(dá)到理想的緩存命中率,本文設(shè)計(jì)了動(dòng)態(tài)的緩存策略,根據(jù)應(yīng)用系統(tǒng)的運(yùn)行狀況動(dòng)態(tài)地調(diào)整緩存項(xiàng),使緩存機(jī)制得以自適應(yīng)化。

        [1] 盧成均. 緩存機(jī)制及其在數(shù)據(jù)存取層中的應(yīng)用模型研究[J]. 計(jì)算機(jī)應(yīng)用與軟件,2008(12).

        [2] 敖小玲,黃 晉. Hibernate緩存機(jī)制研究與應(yīng)用 [J]. 計(jì)算機(jī)與現(xiàn)代化, 2010(9).

        [3] 袁華華. 移動(dòng)數(shù)據(jù)庫(kù)中復(fù)制與緩存相關(guān)技術(shù)的研究[D].武漢:湖北工業(yè)大學(xué),2008,5.

        [4] 方 君,楊壽保,周文煜,王淑玲. 網(wǎng)絡(luò)存儲(chǔ)中分布式I_O緩存機(jī)制研究[J].自然科學(xué)版華中科技大學(xué)學(xué)報(bào).2011(6).

        猜你喜歡
        客票配置文件命中率
        提示用戶(hù)配置文件錯(cuò)誤 這樣解決
        淺談哈爾濱局集團(tuán)公司客票電子化通道強(qiáng)化與流量監(jiān)測(cè)
        搭建簡(jiǎn)單的Kubernetes集群
        互不干涉混用Chromium Edge
        中國(guó)鐵路客票在跨境客運(yùn)中的互通方案
        夜夜“奮戰(zhàn)”會(huì)提高“命中率”嗎
        2015男籃亞錦賽四強(qiáng)隊(duì)三分球進(jìn)攻特點(diǎn)的比較研究
        忘記ESXi主機(jī)root密碼怎么辦
        投籃的力量休斯敦火箭
        NBA特刊(2017年8期)2017-06-05 15:00:13
        航空公司客票直銷(xiāo)的現(xiàn)狀與分析
        国内精品大秀视频日韩精品| 欧美午夜理伦三级在线观看| av在线播放免费网站| 亚洲一区二区三区少妇| 乱子伦一区二区三区| 天天综合网天天综合色| 久久无码av三级| 亚洲公开免费在线视频| 午夜视频福利一区二区三区| 久久精品国产白丝爆白浆| 少妇精品揄拍高潮少妇桃花岛| 成人片黄网站a毛片免费| 亚洲精品久久久久久久久av无码 | 国产韩国精品一区二区三区| 美女被黑人巨大入侵的的视频 | 色综合久久久久久久久久| 欧美黑人性暴力猛交喷水黑人巨大 | 国产亚洲av无码专区a∨麻豆| 国产精品久久久久免费a∨| 国产精品视频一区日韩丝袜| 美女被搞在线观看一区二区三区| 久久久99精品免费视频| 国产精品美女久久久久av福利| 久久久午夜精品福利内容| 久久精品片| 一本一道AⅤ无码中文字幕| 国产精女同一区二区三区久| 波多野结衣不打码视频| 76少妇精品导航| 国产精品 精品国内自产拍| 在线免费观看毛视频亚洲精品| 一区二区三区免费看日本| 国产不卡视频一区二区三区| 韩国无码av片在线观看网站| 日韩久久久久中文字幕人妻| 一本久久a久久精品综合| 亚洲精品国产av成人精品| 精品人妻无码一区二区三区蜜桃一 | 亚洲av人妖一区二区三区| 日本视频在线播放一区二区| 国产人妻鲁鲁一区二区|