欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于網(wǎng)絡(luò)的郵件讀取方法

文檔序號(hào):8415696閱讀:587來源:國知局
一種基于網(wǎng)絡(luò)的郵件讀取方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件存儲(chǔ),特別涉及一種基于網(wǎng)絡(luò)的郵件讀取方法。
【背景技術(shù)】
[0002]在這樣的數(shù)據(jù)總量飛速增長(zhǎng)的大背景下,數(shù)據(jù)中心、全球化的企業(yè)、云存儲(chǔ)系統(tǒng)均要求能夠有效并可靠的訪問互聯(lián)網(wǎng)分布的數(shù)據(jù),例如用戶的郵件可以存儲(chǔ)在各個(gè)web集群服務(wù)器中。相比內(nèi)網(wǎng)環(huán)境,互聯(lián)網(wǎng)具有低帶寬、高延時(shí)的顯著特征,并且網(wǎng)絡(luò)抖動(dòng)和中斷時(shí)有發(fā)生,這樣便對(duì)文件的訪問性能和可靠性帶來挑戰(zhàn),難以向應(yīng)用提供持續(xù)穩(wěn)定的服務(wù)?;诰W(wǎng)絡(luò)的郵件系統(tǒng)在web服務(wù)器和客戶端的每次“往返”過程都會(huì)對(duì)郵件的訪問性能造成巨大的影響。當(dāng)客戶端訪問某文件,向服務(wù)器發(fā)送open操作時(shí),將打開文件的全部數(shù)據(jù)內(nèi)容通過網(wǎng)絡(luò)讀取到客戶端瀏覽器對(duì)應(yīng)的網(wǎng)頁目錄,也就是說其只支持全文件的緩存方式,不支持部分文件數(shù)據(jù)的緩存。當(dāng)客戶端訪問較大文件的一小部分?jǐn)?shù)據(jù)時(shí),不僅會(huì)造成帶寬的嚴(yán)重浪費(fèi),而且在高延遲低帶寬的網(wǎng)絡(luò)環(huán)境下會(huì)嚴(yán)重影響數(shù)據(jù)的訪問性能。
[0003]因此,針對(duì)相關(guān)技術(shù)中所存在的上述問題,目前尚未提出有效的解決方案。

【發(fā)明內(nèi)容】

[0004]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種基于網(wǎng)絡(luò)的郵件讀取方法,包括:
[0005]將到達(dá)客戶端的應(yīng)用請(qǐng)求轉(zhuǎn)換為配置數(shù)據(jù)請(qǐng)求或者數(shù)據(jù)內(nèi)容請(qǐng)求,觸發(fā)客戶端的事件驅(qū)動(dòng)層,然后通過數(shù)據(jù)傳輸層將請(qǐng)求遠(yuǎn)程發(fā)送給服務(wù)器端的數(shù)據(jù)傳輸層,服務(wù)器端收到請(qǐng)求后將請(qǐng)求傳送給事件處理層進(jìn)行數(shù)據(jù)讀寫;
[0006]所述客戶端通過緩存來存儲(chǔ)服務(wù)器郵件的配置數(shù)據(jù)信息和數(shù)據(jù)內(nèi)容信息,同時(shí)利用RAM和數(shù)據(jù)庫永久存儲(chǔ)來緩存所述配置數(shù)據(jù),其中將正在引用的配置數(shù)據(jù)緩存在RAM中,并且在RAM中維護(hù)配置數(shù)據(jù)的引用計(jì)數(shù),當(dāng)引用計(jì)數(shù)變?yōu)镺時(shí),將配置數(shù)據(jù)從RAM中替換出去,并永久存儲(chǔ)到數(shù)據(jù)庫中。
[0007]優(yōu)選地,所述客戶端通過緩存來存儲(chǔ)服務(wù)器郵件的配置數(shù)據(jù)信息和數(shù)據(jù)內(nèi)容信息,進(jìn)一步包括:
[0008]在系統(tǒng)初始時(shí)設(shè)置配置數(shù)據(jù)的超期時(shí)間,在每次從服務(wù)器端獲得配置數(shù)據(jù)信息時(shí),記錄當(dāng)時(shí)的系統(tǒng)時(shí)間,當(dāng)訪問配置數(shù)據(jù)時(shí),通過系統(tǒng)當(dāng)前時(shí)間與從服務(wù)器端獲得配置數(shù)據(jù)時(shí)記錄的系統(tǒng)時(shí)間進(jìn)行比較,如果兩者的差值小于設(shè)定的超期時(shí)間,則認(rèn)為配置數(shù)據(jù)有效,直接從緩存中獲取配置數(shù)據(jù);否則認(rèn)為配置數(shù)據(jù)失效,重新從服務(wù)器端獲得配置數(shù)據(jù);
[0009]采取如下方式確定客戶端緩存中數(shù)據(jù)內(nèi)容的有效性:如果其配置數(shù)據(jù)有效,則認(rèn)為其緩存中的數(shù)據(jù)有效;如果其配置數(shù)據(jù)失效,待重新遠(yuǎn)程獲得配置數(shù)據(jù)后,通過比較緩存中已失效配置數(shù)據(jù)的修改時(shí)間與新獲得配置數(shù)據(jù)的修改時(shí)間是否相同進(jìn)行判定,如果相同則認(rèn)為緩存中數(shù)據(jù)內(nèi)容有效;否則認(rèn)為緩存中的數(shù)據(jù)已經(jīng)失效,并將客戶端緩存中的數(shù)據(jù)刪除;如果在客戶端發(fā)生了寫操作,在客戶端的寫過程直接將數(shù)據(jù)寫到客戶端本地緩存中,并將寫片段的狀態(tài)標(biāo)記為臟,向上層應(yīng)用返回寫操作成功;
[0010]在系統(tǒng)初始時(shí)設(shè)定緩存空間的上限閾值和下限閾值,并設(shè)計(jì)清理線程,該線程默認(rèn)處于休眠狀態(tài),在系統(tǒng)運(yùn)行過程中一旦檢測(cè)到緩存容量達(dá)到設(shè)定的上限閾值,則喚醒清理線程,釋放已占用的緩存空間以保證緩存空間在設(shè)定的閾值范圍內(nèi)。
[0011]優(yōu)選地,所述喚醒清理線程,釋放已占用的緩存空間,進(jìn)一步包括:
[0012]所述喚醒清理線程首先刪除被替換到數(shù)據(jù)庫中的對(duì)象所占用的數(shù)據(jù)緩存,如果此時(shí)剩余緩存空間達(dá)到下限閾值,則線程轉(zhuǎn)入休眠狀態(tài);否則繼續(xù)根據(jù)對(duì)象的訪問時(shí)間,刪除駐留在RAM中的對(duì)象對(duì)應(yīng)的數(shù)據(jù)緩存,直到剩余緩存空間達(dá)到下限閾值,然后線程轉(zhuǎn)入休眠狀態(tài),替換到數(shù)據(jù)庫中的對(duì)象按照訪問時(shí)間從小到大排序,在RAM中對(duì)象則根據(jù)訪問時(shí)間進(jìn)行LRU排序,在刪除緩存數(shù)據(jù)過程中,若存在臟數(shù)據(jù),則需要先將對(duì)應(yīng)的臟數(shù)據(jù)刷新到服務(wù)器端,再釋放對(duì)應(yīng)的緩存空間。
[0013]優(yōu)選地:在客戶端收到讀請(qǐng)求后根據(jù)讀請(qǐng)求的片段信息查詢客戶端緩存,確定對(duì)應(yīng)的數(shù)據(jù)緩存是否存在,如果存在則直接從緩存中讀取,否則從服務(wù)器端讀取,讀取后將對(duì)應(yīng)的數(shù)據(jù)以及片段信息緩存在客戶端,以便后續(xù)的讀請(qǐng)求繼續(xù)訪問;
[0014]采用片段數(shù)據(jù)緩存,每個(gè)片段都對(duì)應(yīng)著〈offset,size〉二元組,其中offset代表文件數(shù)據(jù)在郵件中的偏移位置,size代表緩存中該片段的大小;
[0015]通過節(jié)點(diǎn)訪問相應(yīng)對(duì)象的配置數(shù)據(jù)和文件數(shù)據(jù),節(jié)點(diǎn)與文件/目錄一一對(duì)應(yīng),所述文件數(shù)據(jù)的緩存存在3種狀態(tài):清潔狀態(tài)、臟狀態(tài)以及鎖定狀態(tài);所述清潔狀態(tài)表明緩存數(shù)據(jù)與服務(wù)器端的源數(shù)據(jù)完全一致;所述臟狀態(tài)表明客戶端對(duì)緩存文件發(fā)生過寫操作而沒有將臟數(shù)據(jù)刷新到服務(wù)器端;所述鎖定狀態(tài)表明客戶端正在將臟數(shù)據(jù)刷新到服務(wù)器端;
[0016]數(shù)據(jù)節(jié)點(diǎn)被創(chuàng)建時(shí),節(jié)點(diǎn)處于清潔狀態(tài),此時(shí)對(duì)該節(jié)點(diǎn)執(zhí)行讀操作不會(huì)改變節(jié)點(diǎn)的狀態(tài),但對(duì)該節(jié)點(diǎn)執(zhí)行寫操作會(huì)使節(jié)點(diǎn)處于臟狀態(tài);當(dāng)節(jié)點(diǎn)處于臟狀態(tài)時(shí),對(duì)該節(jié)點(diǎn)的讀/寫操作均不會(huì)修改節(jié)點(diǎn)的狀態(tài),但對(duì)該節(jié)點(diǎn)執(zhí)行刷新操作時(shí),則會(huì)使節(jié)點(diǎn)處于鎖定狀態(tài);當(dāng)節(jié)點(diǎn)處于鎖定狀態(tài)時(shí),對(duì)該節(jié)點(diǎn)執(zhí)行讀操作不修改節(jié)點(diǎn)的狀態(tài),當(dāng)刷新操作完成后并且在數(shù)據(jù)刷新期間沒有被修改,則節(jié)點(diǎn)會(huì)變?yōu)榍鍧崰顟B(tài),否則節(jié)點(diǎn)會(huì)再次進(jìn)入臟狀態(tài);上述刷新操作是指將客戶端對(duì)數(shù)據(jù)的修改同步到服務(wù)器端的過程,在刷新數(shù)據(jù)到服務(wù)器端的過程中,按照對(duì)應(yīng)的片段信息讀取客戶端緩存中的臟數(shù)據(jù),并將數(shù)據(jù)通過web寫到服務(wù)器端,該過程結(jié)束后,將節(jié)點(diǎn)的狀態(tài)標(biāo)識(shí)為清潔狀態(tài),即此時(shí)該節(jié)點(diǎn)對(duì)應(yīng)的緩存數(shù)據(jù)與服務(wù)器端源數(shù)據(jù)是一致的。
[0017]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0018]提出了一種郵件處理方法,減少客戶端與服務(wù)器之間的交互次數(shù);并對(duì)數(shù)據(jù)支持部分緩存,維護(hù)緩存的一致性;不依賴于底層郵件系統(tǒng),具有良好的通用性;在網(wǎng)絡(luò)不穩(wěn)定時(shí),繼續(xù)向上層應(yīng)用提供可靠的數(shù)據(jù)服務(wù)。
【附圖說明】
[0019]圖1是根據(jù)本發(fā)明實(shí)施例的基于網(wǎng)絡(luò)的郵件讀取方法的流程圖。
【具體實(shí)施方式】
[0020]下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
[0021]本發(fā)明的一方面提供了一種基于網(wǎng)絡(luò)的郵件讀取方法。圖1是根據(jù)本發(fā)明實(shí)施例的基于網(wǎng)絡(luò)的郵件讀取方法流程圖。郵件系統(tǒng)支持跨局域網(wǎng)數(shù)據(jù)訪問,該系統(tǒng)是典型的B/S模式,包含一個(gè)客戶端和一個(gè)服務(wù)器端。在服務(wù)器端僅需要設(shè)置訪問目錄后,在客戶端就可以看到與服務(wù)器端訪問目錄一致的目錄視圖。在客戶端可以像操作客戶端郵件系統(tǒng)一樣操作位于遠(yuǎn)程的郵件系統(tǒng)??蛻舳酥С謱?duì)遠(yuǎn)程(即服務(wù)器端)文件及目錄使用標(biāo)準(zhǔn)的系統(tǒng)調(diào)用進(jìn)行存取訪問。
[0022]郵件系統(tǒng)的整體架構(gòu)中,客戶端的事件驅(qū)動(dòng)層用于支撐相關(guān)的接口調(diào)用,接收郵件系統(tǒng)創(chuàng)建、刪除、讀、寫等系統(tǒng)調(diào)用請(qǐng)求;服務(wù)器端的事件處理層主要用于處理客戶端的訪問請(qǐng)求,與底層進(jìn)行交互并根據(jù)請(qǐng)求類型作出相應(yīng)處理;而數(shù)據(jù)傳輸層分別存在于客戶端和服務(wù)器端,用于客戶端和服務(wù)器之間的通信。
[0023]郵件系統(tǒng)操作的處理過程包括:應(yīng)用請(qǐng)求到達(dá)
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
芜湖县| 扎囊县| 霍邱县| 尚志市| 会东县| 太康县| 三台县| 沁阳市| 丹凤县| 乌审旗| 胶南市| 江津市| 中江县| 山东| 岑溪市| 沈丘县| 含山县| 周至县| 盐津县| 桦南县| 定西市| 新干县| 怀安县| 仁寿县| 启东市| 陕西省| 宣威市| 蛟河市| 社旗县| 齐河县| 天门市| 利津县| 健康| 南江县| 大城县| 年辖:市辖区| 新安县| 若尔盖县| 连江县| 康定县| 临武县|