一種基于ap平臺(tái)的緩存方法和系統(tǒng)的制作方法
【專利說明】—種基于AP平臺(tái)的緩存方法和系統(tǒng)
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及移動(dòng)通信技術(shù),具體來說,涉及一種基于AP平臺(tái)的緩存方法和系統(tǒng)。
[0003]
【背景技術(shù)】
[0004]Bit torrent:比特流(Bit Torrent)是一種內(nèi)容分發(fā)協(xié)議,由布拉姆.科恩自主開發(fā);它采用高效的軟件分發(fā)系統(tǒng)和點(diǎn)對(duì)點(diǎn)技術(shù)共享大體積文件(如一部電影或電視節(jié)目),并使每個(gè)用戶像網(wǎng)絡(luò)重新分配結(jié)點(diǎn)那樣提供上傳服務(wù)。一般的下載服務(wù)器為每一個(gè)發(fā)出下載請(qǐng)求的用戶提供下載服務(wù),而Bit Torrent的工作方式與之不同,分配器或文件的持有者將文件發(fā)送給其中一名用戶,再由這名用戶轉(zhuǎn)發(fā)給其它用戶,用戶之間相互轉(zhuǎn)發(fā)自己所擁有的文件部分,直到每個(gè)用戶的下載都全部完成,這種方法可以使下載服務(wù)器同時(shí)處理多個(gè)大體積文件的下載請(qǐng)求,而無須占用大量帶寬。
AP:無線接入點(diǎn)即無線AP (Access Point)它是一個(gè)無線網(wǎng)絡(luò)的接入點(diǎn),主要有路由交換接入一體設(shè)備和純接入點(diǎn)設(shè)備,一體設(shè)備執(zhí)行接入和路由工作,純接入設(shè)備只負(fù)責(zé)無線客戶端的接入,純接入設(shè)備通常作為無線網(wǎng)絡(luò)擴(kuò)展使用,與其他AP或者主AP連接,以擴(kuò)大無線覆蓋范圍,而一體設(shè)備一般是無線網(wǎng)絡(luò)的核心。
[0005]隨著移動(dòng)設(shè)備的增長(zhǎng)和移動(dòng)用戶的飛速增加,移動(dòng)設(shè)備的內(nèi)容也越來越豐富,網(wǎng)絡(luò)購(gòu)物、網(wǎng)絡(luò)直播/視頻、網(wǎng)絡(luò)社交、社交軟件等的普及,使移動(dòng)流量猛增,但隨之的硬件配置卻沒有相應(yīng)跟進(jìn),流量費(fèi)用也較為昂貴,由于無線信號(hào)受環(huán)境影響大,存在信號(hào)時(shí)有時(shí)無、響應(yīng)慢等缺點(diǎn),在有線網(wǎng)絡(luò)剛普及的時(shí)候,也存在相似的問題,因此,受有線網(wǎng)絡(luò)的解決方案啟發(fā),進(jìn)行無線提速。有線網(wǎng)絡(luò)的P2P技術(shù)如Bit torrent的出現(xiàn),使有線傳輸提升了一個(gè)等級(jí),至此之后,人們不再抱怨網(wǎng)速慢等問題,并且資源飛速共享,互聯(lián)網(wǎng)的價(jià)值得到了進(jìn)一步提升。
[0006]現(xiàn)有技術(shù)方案已存在有線網(wǎng)絡(luò)的應(yīng)用,如BT、迅雷、電驢、u torrent等知名下載軟件,為用戶和資源之間開辟快速通道,并提供推進(jìn)熱點(diǎn)資源等服務(wù)。方案多種多樣,但均離不開最基本TCP/IP協(xié)議;例如,包括視頻服務(wù)在內(nèi)的與電商合作的各個(gè)公司,多以增加流量為技術(shù)目標(biāo),將流量作為衡量服務(wù)質(zhì)量的標(biāo)準(zhǔn),獲取用戶請(qǐng)求內(nèi)容,以更早的時(shí)間緩存用戶請(qǐng)求內(nèi)容,使用戶得到的數(shù)據(jù)更多更穩(wěn)定。
[0007]但是現(xiàn)有技術(shù)也存在如下的技術(shù)問題:在物理上,由于box的大小不一,但均為移動(dòng)設(shè)備,故受限于硬件性能,平臺(tái)移植是需要考慮的第一個(gè)問題;在性能上,要考慮速度、清晰度等服務(wù)質(zhì)量參數(shù),對(duì)應(yīng)到技術(shù)參數(shù)上既單位時(shí)間內(nèi)傳輸?shù)奈募笮『蛡鬏攬?bào)文的丟包率低,一個(gè)綜合的判斷事例可以體現(xiàn)在視頻清晰度上,現(xiàn)有的盒子遠(yuǎn)遠(yuǎn)不夠;當(dāng)下市面上在做推廣的各種wifi,有犧牲速度提聞質(zhì)量的,有犧牲質(zhì)量提聞速度的,有犧牲大小提聞性能的,遠(yuǎn)未達(dá)到用戶的滿意需求;有線網(wǎng)絡(luò)較早開發(fā)的或現(xiàn)有的較成熟的技術(shù),基本不存在不會(huì)考慮丟包率、報(bào)文大小、內(nèi)存容量以及硬盤容量等問題。
[0008]針對(duì)相關(guān)技術(shù)中的相關(guān)問題,目如尚未提出有效的解決方案。
[0009]
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的是提供一種基于AP平臺(tái)的緩存方法和系統(tǒng),以克服目前現(xiàn)有技術(shù)存在的上述不足。
[0011]本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn):
根據(jù)本發(fā)明的一方面,提供了一種基于AP平臺(tái)的緩存方法,該基于AP平臺(tái)的緩存方法根據(jù)預(yù)先設(shè)置的服務(wù)模式和服務(wù)等級(jí),并根據(jù)用戶的需求,通過預(yù)先配置的比特映射緩存技術(shù)在請(qǐng)求服務(wù)器中執(zhí)行目標(biāo)文件的緩存,包括:
在預(yù)先設(shè)置的數(shù)據(jù)存儲(chǔ)器中查找與目標(biāo)文件相匹配的數(shù)據(jù)文件;
在查找結(jié)果為不存在與目標(biāo)文件相匹配的數(shù)據(jù)文件的情況下,通過預(yù)先設(shè)置的infohash算法訪問與目標(biāo)文件相匹配的源服務(wù)器,查找并確定與目標(biāo)文件相匹配的peer地址和端口;
在存在與目標(biāo)文件相匹配的peer地址和端口時(shí),根據(jù)所述peer地址下載所述目標(biāo)文件,并將所述目標(biāo)文件緩存至所述數(shù)據(jù)存儲(chǔ)器中;
將下載的目標(biāo)文件返回給用戶。
[0012]進(jìn)一步的,所述在請(qǐng)求服務(wù)器中執(zhí)行目標(biāo)文件的緩存還包括:
通過預(yù)先設(shè)置的線程接收和/或發(fā)送目標(biāo)文件,并通過所述線程檢查預(yù)先配置的與目標(biāo)文件相匹配的報(bào)文鏈表是否存在用戶的讀寫請(qǐng)求;
在存在讀寫請(qǐng)求的情況下,根據(jù)預(yù)先配置的函數(shù),將讀寫請(qǐng)求加入到與目標(biāo)文件相匹配的讀寫結(jié)構(gòu)體隊(duì)列;
檢查預(yù)先設(shè)置的全局變量,將所述目標(biāo)文件加入到預(yù)先配置的變量隊(duì)列中;
將所述讀寫結(jié)構(gòu)體加入到所述全局變量中;
根據(jù)所述讀寫結(jié)構(gòu)體,將所述讀寫結(jié)構(gòu)體進(jìn)行分類,包括讀取文件內(nèi)容、寫入文件內(nèi)容、讀取文件目錄,并執(zhí)行預(yù)先存在的與所述讀寫結(jié)構(gòu)體相匹配的操作指令。
[0013]進(jìn)一步的,將所述目標(biāo)文件緩存至所述數(shù)據(jù)存儲(chǔ)器中還包括:
在目標(biāo)文件為視頻文件的情況下,根據(jù)預(yù)先設(shè)置的視頻文件播放特點(diǎn),將所述視頻文件通過比特映射緩存技術(shù)進(jìn)行分段緩存,并重新設(shè)置于視頻文件相匹配的視頻報(bào)文頭。
[0014]進(jìn)一步的,在預(yù)先設(shè)置的數(shù)據(jù)存儲(chǔ)器中查找與目標(biāo)文件相匹配的數(shù)據(jù)文件還包括:
在查找結(jié)果為存在與目標(biāo)文件相匹配的數(shù)據(jù)文件的情況下,則將所述數(shù)據(jù)文件返回給用戶。
[0015]進(jìn)一步的,查找并確定與目標(biāo)文件相匹配的peer地址和端口還包括:
在不存在與目標(biāo)文件相匹配的peer地址和端口時(shí),則發(fā)送預(yù)先設(shè)置的錯(cuò)誤編碼至預(yù)先配置的nginx系統(tǒng)。
[0016]根據(jù)本發(fā)明的另一方面,提供了一種基于AP平臺(tái)的緩存系統(tǒng),該基于AP平臺(tái)的緩存系統(tǒng)根據(jù)預(yù)先設(shè)置的服務(wù)模式和服務(wù)等級(jí),并根據(jù)用戶的需求,通過預(yù)先配置的比特映射緩存技術(shù)在請(qǐng)求服務(wù)器中執(zhí)行目標(biāo)文件的緩存,包括:
數(shù)據(jù)查找模塊,用于在預(yù)先設(shè)置的數(shù)據(jù)存儲(chǔ)器中查找與目標(biāo)文件相匹配的數(shù)據(jù)文件;地址查找模塊,用于在查找結(jié)果為不存在與目標(biāo)文件相匹配的數(shù)據(jù)文件的情況下,通過預(yù)先設(shè)置的infohash算法訪問與目標(biāo)文件相匹配的源服務(wù)器,查找并確定與目標(biāo)文件相匹配的peer地址和端口 ;
下載緩存模塊,用于在存在與目標(biāo)文件相匹配的peer地址和端口時(shí),根據(jù)所述peer地址下載所述目標(biāo)文件,并將所述目標(biāo)文件緩存至所述數(shù)據(jù)存儲(chǔ)器中;
數(shù)據(jù)發(fā)送模塊,用于將下載的目標(biāo)文件返回給用戶。
[0017]進(jìn)一步的,所述在請(qǐng)求服務(wù)器中執(zhí)行目標(biāo)文件的緩存還包括:
報(bào)文請(qǐng)求判斷子模塊,用于通過預(yù)先設(shè)置的線程接收和/或發(fā)送目標(biāo)文件,并通過所述線程檢查預(yù)先配置的與目標(biāo)文件相匹配的報(bào)文鏈表是否存在用戶的讀寫請(qǐng)求;
報(bào)文請(qǐng)求編輯子模塊,用于在存在讀寫請(qǐng)求的情況下,根據(jù)預(yù)先配置的函數(shù),將讀寫請(qǐng)求加入到與目標(biāo)文件相匹配的讀寫結(jié)構(gòu)體隊(duì)列;
目標(biāo)文件編輯子模塊,用于檢查預(yù)先設(shè)置的全局變量,將所述目標(biāo)文件加入到預(yù)先配置的變量隊(duì)列中;
全局變量編輯子模塊,用于將所述讀寫結(jié)構(gòu)體加入到所述全局變量中;
分類執(zhí)行子模塊,用于根據(jù)所述讀寫結(jié)構(gòu)體,將所述讀寫結(jié)構(gòu)體進(jìn)行分類,包括讀取文件內(nèi)容、寫入文件內(nèi)容、讀取文件目錄,并執(zhí)行預(yù)先存在的與所述讀寫結(jié)構(gòu)體相匹配的操作指令。
[0018]進(jìn)一步的,將所述目標(biāo)文件緩存至所述數(shù)據(jù)存儲(chǔ)器中還包括:
視頻分段緩存模塊,用于在目標(biāo)文件為視頻文件的情況下,根據(jù)預(yù)先設(shè)置的視頻文件播放特點(diǎn),將所述視頻文件通過比特映射緩存技術(shù)進(jìn)行分段緩存,并重新設(shè)置于視頻文件相匹配的視頻報(bào)文頭。
[0019]進(jìn)一步的