- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AL系統元件設計– Cache Manager (3/5) 內容一致性之維護機制作業方式 Method for Regularly Changed Objects(MT1) 針對時間之Back-end Input而設 Method for Irregularly Changed Objects with Notification(MT2) 針對後端資料庫之Back-end Input而設 Method for Irregularly Changed Objects without Notification(MT3) 為了解決雖明知快取文件之內容有固定週期時間之變動,但此週期時間卻無人知曉之窘況 AL系統元件設計– Cache Manager (4/5) While Check { PNT++; if page content change { CNT++; } if (PNT == 5) { if(TCT == 0) // If Cache Manger doesn’t start to record { if(CNT == 0) { DED *= 2; } // Page doesn’t have any change. else if(CNT == 5) { DED /= 2; } // Page changes every check time. else { TCT = CNT; HST = LMT; } // Start to record } else { TCT += CNT; DED = (LMT - HST) / TCT; // DED = Total time / Total Change } if(DED 1) { DED = 1; } PNT = CNT = 0; } sleep(DED); } PNT:每次周期(檢查5次所需的時間為一週期)內已經過的檢查次數 CNT:每次周期內網頁內容變動的次數 DED:每次檢查網頁內容的間隔時間(Second) LMT:網頁內容最近變動的時間(UTC) TCT:網頁內容變動的累計次數 HST:開始進行網頁內容變動次數累計的時間(UTC) AL系統元件設計– Cache Manager (5/5) 快取空間之置換(Replacement) 採用 LRU (Least-Recently-Used) 置換策略 一旦達到95%的快取空間置換上限時,Cache Manager便會讀取存在於 Cache Directory 中所有快取文件的 Last Access Time,從中找出久未被使用之快取文件並刪除之,直到空間使用率達到90%的快取空間置換下限時,即會停止 AL系統實作 OS:Linux Web Server:Apache Web Switch:mod_rewrite、Perl WADC:PHP Cache Manager:ANSI C、GCC AL系統實作 – Cache Manager Web Server Link -list Message Queue Cache Directory Cache Manager WADC (PHP etc.) 1. Save 2. Send 3. Signal 4. Get 5. Get 6. Save 7. Socket Server-Level 動態網頁快取系統 Client Web Server Request Handler Response Output Filter Response Handler Cache Manager Cache Directory SL系統元件設計 – CACHE CACHE之初始概念 HTML BODY H3Welcome ! ? echo $name; ? /H3 Today is B ? echo date(F j, Y); ? /B /BODY /HTML HTML BODY H3Welcome ! Morpheus /H3 Today is B May 12, 2003 /B /BODY /HTML Welcome ! Morpheus Today is May 12, 2003 (a) welcome.php (b) Html output of welcome.php (c) Final view in client browser D1 D2 D1 D2 D1 D2 Static Part Dynamic P
文档评论(0)