• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置和方法制造方法及圖紙

    技術(shù)編號(hào):13014745 閱讀:92 留言:0更新日期:2016-03-16 13:22
    本發(fā)明專(zhuān)利技術(shù)公開(kāi)了一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置和方法,其中,通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置,包括弱引用字典管理器、緩存對(duì)象管理器和緩存對(duì)象獲取器,所述緩存對(duì)象管理器:將緩存區(qū)域內(nèi)淘汰的緩存對(duì)象加入到弱引用字典管理器;所述弱引用字典管理器:保存來(lái)自緩存對(duì)象管理器的緩存對(duì)象;所述緩存對(duì)象獲取器:在獲取緩存對(duì)象時(shí),首先獲取緩存區(qū)域內(nèi)保存的緩存對(duì)象,如緩存區(qū)域中獲取不到緩存對(duì)象,則從弱引用字典管理器中獲取緩存對(duì)象。以解決緩存對(duì)象不一致的問(wèn)題。

    【技術(shù)實(shí)現(xiàn)步驟摘要】
    【專(zhuān)利說(shuō)明】
    本專(zhuān)利技術(shù)涉及數(shù)據(jù)處理領(lǐng)域,具體地,涉及一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一 致性的裝置和方法。
    技術(shù)介紹
    在面向?qū)ο蟮能浖_(kāi)發(fā)領(lǐng)域,往往會(huì)通過(guò)緩存機(jī)制來(lái)實(shí)現(xiàn)系統(tǒng)的高效率運(yùn)行。對(duì) 于以?xún)?nèi)存作為緩存對(duì)象存儲(chǔ)容器的緩存機(jī)制而言,由于內(nèi)存的大小有限,往往需要通過(guò)緩 存容量限制或緩存對(duì)象超時(shí)時(shí)間等機(jī)制來(lái)進(jìn)行緩存對(duì)象的淘汰,最常用的淘汰策略是LRU (LeastRecentlyUsed)算法。對(duì)于存在淘汰機(jī)制的緩存系統(tǒng)而言,一次用戶(hù)請(qǐng)求可能經(jīng)由 不同的程序組件進(jìn)行處理,若在此過(guò)程中發(fā)生了緩存對(duì)象的淘汰現(xiàn)象,則同一對(duì)象在內(nèi)存 中可能存在不同的版本,這種不一致性會(huì)對(duì)程序處理邏輯造成嚴(yán)重干擾。 以表1所示的員工調(diào)薪的處理程序?yàn)槔f(shuō)明:有表1可見(jiàn),由于不一致性的存在, id=l的員工本應(yīng)調(diào)薪到11800元,卻變成了 10800元。 申請(qǐng)?zhí)枮?00810105131.0的專(zhuān)利文件中,公開(kāi)課一種靈活使用弱引用緩存對(duì)象 的方法,該技術(shù)方案存在一個(gè)主要問(wèn)題:緩存完全依賴(lài)弱引用進(jìn)行管理,而不是將弱引用作 為對(duì)象淘汰后的重新獲取機(jī)制。在沒(méi)有強(qiáng)引用的情況下,弱引用對(duì)象會(huì)很快被GC回收掉, 該技術(shù)方案所設(shè)計(jì)的緩存并不能解決上述問(wèn)題。 表1 :員工調(diào)薪的處理程序表。
    技術(shù)實(shí)現(xiàn)思路
    現(xiàn)有技術(shù)存在的問(wèn)題關(guān)鍵在于:當(dāng)進(jìn)行緩存對(duì)象的淘汰時(shí),能否檢測(cè)到該緩存對(duì) 象正在被程序代碼使用,并不真正進(jìn)行淘汰。這樣,當(dāng)需要再次使用該對(duì)象時(shí),可以直接返 回內(nèi)存中被其它程序代碼所修改過(guò)的對(duì)象。 本專(zhuān)利技術(shù)的目的在于,針對(duì)上述問(wèn)題,提出一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一 致性的裝置和方法,以解決緩存對(duì)象不一致的問(wèn)題。 為實(shí)現(xiàn)上述目的,本專(zhuān)利技術(shù)采用的技術(shù)方案是: 一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置,包括弱引用字典管理器、緩存對(duì) 象管理器和緩存對(duì)象獲取器, 所述緩存對(duì)象管理器:將緩存區(qū)域內(nèi)淘汰的緩存對(duì)象加入到弱引用字典管理器; 所述弱引用字典管理器:保存來(lái)自緩存對(duì)象管理器的緩存對(duì)象; 所述緩存對(duì)象獲取器:在獲取緩存對(duì)象時(shí),首先獲取緩存區(qū)域內(nèi)保存的緩存對(duì)象,如緩 存區(qū)域中獲取不到緩存對(duì)象,則從弱引用字典管理器中獲取緩存對(duì)象。 優(yōu)選的,所述弱引用字典管理器采用key-value格式。 優(yōu)選的,所述緩存對(duì)象管理器,包括緩存對(duì)象包裝單元和緩存對(duì)象管理單元, 所述緩存對(duì)象包裝單元:使用弱引用包裝淘汰的緩存對(duì)象的值; 所述緩存對(duì)象管理單元:接收包裝對(duì)象的值,并在弱引用字典管理器內(nèi)查找是否存在 對(duì)應(yīng)緩存對(duì)象的key,如存在則使用包裝對(duì)象替換掉弱引用字典管理器內(nèi)對(duì)應(yīng)的緩存對(duì)象, 如不存在,則將包裝對(duì)象加入到弱引用字典管理器,包裝對(duì)象即使用弱引用包裝的淘汰的 緩存對(duì)象。 優(yōu)選的,所述緩存對(duì)象獲取器包括,緩存區(qū)域獲取單元和弱引用字典獲取單元; 所述緩存區(qū)域獲取單元:在緩存區(qū)域內(nèi)獲取緩存對(duì)象; 弱引用字典獲取單元:在弱引用字典管理器內(nèi)獲取緩存對(duì)象。 優(yōu)選的,所述弱引用字典獲取單元獲取緩存對(duì)象具體為: 通過(guò)緩存對(duì)象的Key檢索弱引用字典管理器; 如弱引用字典管理器內(nèi)存在對(duì)應(yīng)的包裝對(duì)象,則檢測(cè)包裝對(duì)象所引用的內(nèi)存對(duì)象是否 存活; 如管理器存活則返回存活的內(nèi)存對(duì)象。 同時(shí)本專(zhuān)利技術(shù)的技術(shù)方案還公開(kāi)一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的方 法,包括以下步驟: 將緩存區(qū)域內(nèi)淘汰的緩存對(duì)象加入到弱引用字典的步驟; 以及 獲取緩存對(duì)象時(shí),首先獲取緩存區(qū)域內(nèi)保存的緩存對(duì)象,如緩存區(qū)域中獲取不到緩存 對(duì)象,則從弱引用字典中獲取緩存對(duì)象的步驟。 優(yōu)選的,所述弱引用字典采用key-value格式。 優(yōu)選的,所述將緩存區(qū)域內(nèi)淘汰的緩存對(duì)象加入到弱引用字典的步驟包括: 使用弱引用包裝淘汰的緩存對(duì)象的值的步驟; 根據(jù)包裝對(duì)象的值在弱引用字典內(nèi)查找是否存在對(duì)應(yīng)的緩存對(duì)象的Key,如存在則使 用包裝對(duì)象替換掉弱引用字典內(nèi)對(duì)應(yīng)的緩存對(duì)象,如不存在,則將包裝對(duì)象加入到弱引用 字典的步驟。 優(yōu)選的,所述從弱引用字典中獲取緩存對(duì)象包括, 通過(guò)緩存對(duì)象的Key檢索弱引用字典; 如弱引用字典內(nèi)存在對(duì)應(yīng)的包裝對(duì)象,則檢測(cè)包裝對(duì)象所引用的內(nèi)存對(duì)象是否存活; 如管理器存活則返回存活的內(nèi)存對(duì)象。 本專(zhuān)利技術(shù)的技術(shù)方案具有以下有益效果: 本專(zhuān)利技術(shù)的技術(shù)方案,增加了一個(gè)弱引用字典,被淘汰策略所淘汰的緩存對(duì)象并不立即 清除,而是將其放入到弱引用字典中。如果緩存對(duì)象沒(méi)有被任何程序代碼所引用,那么隨著 垃圾回收的發(fā)生,存放在弱引用字典中的緩存對(duì)象最終將徹底從內(nèi)存中清除。但只要還有 其它強(qiáng)引用存在,垃圾回收就無(wú)法清除該對(duì)象。這樣,當(dāng)需要重新獲取緩存對(duì)象時(shí),就可以 直接從弱引用字典中拿到,不會(huì)生成一份新的實(shí)例,從而避免內(nèi)存對(duì)象不一致性的問(wèn)題。 下面通過(guò)附圖和實(shí)施例,對(duì)本專(zhuān)利技術(shù)的技術(shù)方案做進(jìn)一步的詳細(xì)描述。【附圖說(shuō)明】 圖1為本專(zhuān)利技術(shù)實(shí)施例所述的通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置的原 理框圖; 圖2為本專(zhuān)利技術(shù)實(shí)施例所述的緩存對(duì)象管理器的原理框圖; 圖3為本專(zhuān)利技術(shù)實(shí)施例所述的緩存對(duì)象獲取器的原理框圖; 圖4為本專(zhuān)利技術(shù)實(shí)施例所述的通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的方法的流程圖; 圖5為本專(zhuān)利技術(shù)實(shí)施例所述的增加將淘汰的緩存對(duì)象加入到弱引用字典的流程圖; 圖6為本專(zhuān)利技術(shù)實(shí)施例所述的從弱引用字典中檢索存活內(nèi)存對(duì)象的流程圖。【具體實(shí)施方式】 以下結(jié)合附圖對(duì)本專(zhuān)利技術(shù)的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí) 施例僅用于說(shuō)明和解釋本專(zhuān)利技術(shù),并不用于限定本專(zhuān)利技術(shù)。 如圖1所示,一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置,包括弱引用字 典管理器、緩存對(duì)象管理器和緩存對(duì)象獲取器, 緩存對(duì)象管理器:將緩存區(qū)域內(nèi)淘汰的緩存對(duì)象加入到弱引用字典管理器; 弱引用字典管理器:保存來(lái)自緩存對(duì)象管理器的緩存對(duì)象; 緩存對(duì)象獲取器:在獲取緩存對(duì)象時(shí),首先獲取緩存區(qū)域內(nèi)保存的緩存對(duì)象,如緩存區(qū) 域中獲取不到緩存對(duì)象,則從弱引用字典管理器中獲取緩存對(duì)象。 其中,弱引用字典管理器采用key-value格式。 如圖2所示,緩存對(duì)象管理器,當(dāng)前第1頁(yè)1 2 本文檔來(lái)自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】
    一種通過(guò)弱引用技術(shù)消除緩存對(duì)象不一致性的裝置,其特征在于,包括弱引用字典管理器、緩存對(duì)象管理器和緩存對(duì)象獲取器,所述緩存對(duì)象管理器:將緩存區(qū)域內(nèi)淘汰的緩存對(duì)象加入到弱引用字典管理器;所述弱引用字典管理器:保存來(lái)自緩存對(duì)象管理器的緩存對(duì)象;所述緩存對(duì)象獲取器:在獲取緩存對(duì)象時(shí),首先獲取緩存區(qū)域內(nèi)保存的緩存對(duì)象,如緩存區(qū)域中獲取不到緩存對(duì)象,則從弱引用字典管理器中獲取緩存對(duì)象。

    【技術(shù)特征摘要】

    【專(zhuān)利技術(shù)屬性】
    技術(shù)研發(fā)人員:張紅斌
    申請(qǐng)(專(zhuān)利權(quán))人:用友網(wǎng)絡(luò)科技股份有限公司
    類(lèi)型:發(fā)明
    國(guó)別省市:北京;11

    網(wǎng)友詢(xún)問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 中文字幕无码中文字幕有码| 无码中文2020字幕二区| 中文字幕无码日韩专区免费| 国产AV无码专区亚洲AV毛网站| 亚洲VA成无码人在线观看天堂| 无码夫の前で人妻を犯す中字| 国产激情无码一区二区三区| 四虎成人精品无码| 嫩草影院无码av| 一夲道dvd高清无码| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲AV无码国产精品色午友在线 | 亚洲av无码专区国产不乱码| 亚洲AV无码乱码在线观看性色扶| 久久午夜伦鲁片免费无码| 国产成人无码区免费A∨视频网站| 亚洲av无码专区在线| 久久国产加勒比精品无码| 久久久久久无码国产精品中文字幕| 精品国产aⅴ无码一区二区| 少妇人妻无码专区视频| 亚洲精品无码国产| 亚洲精品无码久久久久| 国产亚洲精久久久久久无码AV | 内射中出无码护士在线| 人妻中文字幕无码专区| 亚洲V无码一区二区三区四区观看| 日韩精品无码免费视频| 午夜无码视频一区二区三区| 成人免费一区二区无码视频| 伊人天堂av无码av日韩av| 日本无码WWW在线视频观看| 亚洲日韩乱码中文无码蜜桃臀| 亚洲国产成人精品无码区在线观看| 精品无码国产AV一区二区三区| 日韩av片无码一区二区不卡电影| 国产精品无码亚洲精品2021| 影音先锋无码a∨男人资源站| 无码综合天天久久综合网| 亚洲av无码天堂一区二区三区| 国产99久久九九精品无码|