两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種終端訪問CDN的方法及系統(tǒng)、驅(qū)動(dòng)和CDN與流程

文檔序號(hào):12037817閱讀:569來源:國(guó)知局
一種終端訪問CDN的方法及系統(tǒng)、驅(qū)動(dòng)和CDN與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種終端訪問內(nèi)容分發(fā)網(wǎng)絡(luò)(英文:contentdeliverynetwork,簡(jiǎn)稱:cdn)的方法及系統(tǒng)、用于使終端訪問cdn的驅(qū)動(dòng)和cdn。



背景技術(shù):

為了緩解互聯(lián)網(wǎng)的數(shù)據(jù)傳輸壓力、更高效地為用戶提供數(shù)據(jù)服務(wù),各種類型的cdn服務(wù)商,如自建cdn、電信運(yùn)營(yíng)商、免費(fèi)自助cdn等應(yīng)運(yùn)而生。第三方的應(yīng)用程序通過cdn可以更快地獲得所需內(nèi)容。

第三方的應(yīng)用程序在訪問cdn時(shí),一般需要根據(jù)該cdn提供的協(xié)議進(jìn)行協(xié)議對(duì)接。但由于不同cdn提供的協(xié)議也是各式各樣的,這為第三方的應(yīng)用程序接入cdn帶來了難度。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)?zhí)峁┮环N終端訪問cdn的方法及系統(tǒng)、用于使終端訪問cdn的驅(qū)動(dòng)和cdn,用以解決第三方的應(yīng)用程序接入cdn需要進(jìn)行協(xié)議對(duì)接,導(dǎo)致應(yīng)用程序接入cdn困難的問題。

本申請(qǐng)第一方面,提供了一種終端訪問cdn的方法,所述終端包括驅(qū)動(dòng)、vfs、應(yīng)用程序和目錄,所述目錄來自于所述cdn,在所述終端側(cè),所述方法包括:

所述驅(qū)動(dòng)接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用,所述系統(tǒng)調(diào)用由所述應(yīng)用程序在請(qǐng)求對(duì)所述目錄中的文件進(jìn)行操作時(shí)發(fā)送;

所述驅(qū)動(dòng)根據(jù)預(yù)設(shè)的所述系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系,將所述 系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)應(yīng)的cdn指令;

所述驅(qū)動(dòng)將所述cdn指令發(fā)送給所述cdn,使得所述cdn響應(yīng)所述應(yīng)用程序的請(qǐng)求。

通過上述實(shí)現(xiàn)方式,通過這種方式,cdn只需與驅(qū)動(dòng)作交互,無(wú)需對(duì)每一個(gè)應(yīng)用程序都做一次對(duì)接,減小了應(yīng)用程序接入cdn的難度,也減少了cdn的建設(shè)費(fèi)用。

在一個(gè)可能的設(shè)計(jì)中,在所述驅(qū)動(dòng)接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用之前,所述方法還包括:

在所述驅(qū)動(dòng)被安裝到所述終端的過程中,所述驅(qū)動(dòng)獲取所述終端的認(rèn)證信息;

所述驅(qū)動(dòng)將所述認(rèn)證信息攜帶在認(rèn)證請(qǐng)求中發(fā)送給所述cdn進(jìn)行認(rèn)證;

所述驅(qū)動(dòng)接收所述cdn在認(rèn)證通過所述認(rèn)證請(qǐng)求后返回的授權(quán)結(jié)果;所述授權(quán)結(jié)果包括所述認(rèn)證信息對(duì)應(yīng)的賬戶列表;

所述驅(qū)動(dòng)從所述cdn獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,完成所述驅(qū)動(dòng)的安裝過程;

在所述終端的開機(jī)過程中,所述驅(qū)動(dòng)確定所述終端登錄的賬戶;

若所述終端登錄的賬戶在所述賬戶列表中,則所述驅(qū)動(dòng)根據(jù)獲取的所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,在所述終端上生成與所述終端登錄的賬戶對(duì)應(yīng)的目錄。

通過上述實(shí)現(xiàn)方式,在驅(qū)動(dòng)被安裝到終端的過程中進(jìn)行第一次鑒權(quán),在終端開機(jī)時(shí)進(jìn)行第二次鑒權(quán),通過雙重鑒權(quán)可以保證終端訪問cdn的安全性。

在一個(gè)可能的設(shè)計(jì)中,所述終端還包括權(quán)限認(rèn)證模塊;

所述驅(qū)動(dòng)從所述cdn上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,包括:

所述驅(qū)動(dòng)從所述cdn上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄和每個(gè)賬戶對(duì)目錄中的文件的訪問權(quán)限;

所述系統(tǒng)調(diào)用由所述應(yīng)用程序發(fā)送給所述權(quán)限認(rèn)證模塊;在所述權(quán)限認(rèn)證模塊根據(jù)所述終端登錄的賬戶的訪問權(quán)限確定所述應(yīng)用程序能夠進(jìn)行所述操作時(shí)、所述系統(tǒng)調(diào)用再由所述權(quán)限認(rèn)證模塊發(fā)送給所述vfs、最終由所述vfs發(fā)送給所述驅(qū)動(dòng)。

通過上述實(shí)現(xiàn)方式,在應(yīng)用程序訪問目錄中的文件時(shí)再次進(jìn)行鑒權(quán),進(jìn)一步保證cdn文件的安全性。

本申請(qǐng)第二方面,提供了一種終端訪問cdn的方法,所述終端包括驅(qū)動(dòng)、vfs、應(yīng)用程序和目錄,所述目錄來自于所述cdn,在所述cdn側(cè),所述方法包括:

所述cdn接收所述驅(qū)動(dòng)發(fā)送的cdn指令;所述cdn指令由所述驅(qū)動(dòng)在接收到所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用時(shí)發(fā)送;所述系統(tǒng)調(diào)用由所述應(yīng)用程序在請(qǐng)求對(duì)所述目錄中的文件進(jìn)行操作時(shí)發(fā)送;

所述cdn根據(jù)所述cdn指令,響應(yīng)所述應(yīng)用程序的請(qǐng)求。

在一個(gè)可能的設(shè)計(jì)中,在所述cdn接收所述驅(qū)動(dòng)發(fā)送的cdn指令之前,所述方法還包括:

所述cdn接收所述驅(qū)動(dòng)發(fā)送的認(rèn)證請(qǐng)求;所述認(rèn)證請(qǐng)求攜帶有所述終端的認(rèn)證信息;

所述cdn在認(rèn)證通過所述認(rèn)證請(qǐng)求后,返回授權(quán)結(jié)果給所述驅(qū)動(dòng),所述授權(quán)結(jié)果包括所述認(rèn)證信息對(duì)應(yīng)的賬戶列表;

所述cdn在所述驅(qū)動(dòng)請(qǐng)求獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄時(shí),返回所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄給所述驅(qū)動(dòng)。

本申請(qǐng)第三方面,提供了一種用于使終端訪問cdn的驅(qū)動(dòng),所述終端包括所述驅(qū)動(dòng)、統(tǒng)vfs、應(yīng)用程序和目錄,所述目錄來自于所述cdn:所述驅(qū)動(dòng)具有實(shí)現(xiàn)上述第一方面的方法的功能。所述功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊或單元。

一種可能的實(shí)現(xiàn)方式中,所述驅(qū)動(dòng)包括接收單元、轉(zhuǎn)換單元和發(fā)送單元:

所述接收單元,用于接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用,所述系統(tǒng)調(diào)用由所述應(yīng)用程序在請(qǐng)求對(duì)所述目錄中的文件進(jìn)行操作時(shí)發(fā)送;

所述轉(zhuǎn)換單元,用于根據(jù)預(yù)設(shè)的所述系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系,將所述系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)應(yīng)的cdn指令;

所述發(fā)送單元,用于將所述cdn指令發(fā)送給所述cdn,使得所述cdn響應(yīng)所述應(yīng)用程序的請(qǐng)求。

本申請(qǐng)第四方面,提供了一種cdn,包括:

接收單元,用于接收終端上的驅(qū)動(dòng)發(fā)送的cdn指令;所述cdn指令由所述驅(qū)動(dòng)在接收到所述終端上的vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用時(shí)發(fā)送;所述系統(tǒng)調(diào)用由所述終端上的應(yīng)用程序在請(qǐng)求對(duì)所述終端上的目錄中的文件進(jìn)行操作時(shí)發(fā)送;所述目錄來自于所述cdn;

處理單元,用于根據(jù)所述cdn指令,響應(yīng)所述應(yīng)用程序的請(qǐng)求。

本申請(qǐng)第五方面,提供了一種終端訪問cdn的系統(tǒng),所述系統(tǒng)包括終端和cdn,所述終端包括驅(qū)動(dòng)、vfs、應(yīng)用程序和目錄,所述目錄來自于所述cdn;其中

所述驅(qū)動(dòng),用于接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用,所述系統(tǒng)調(diào)用由所述應(yīng)用程序在請(qǐng)求對(duì)所述目錄中的文件進(jìn)行操作時(shí)發(fā)送;根據(jù)預(yù)設(shè)的所述系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系,將所述系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)應(yīng)的cdn指令;將所述cdn指令發(fā)送給所述cdn;

所述cdn,用于接收所述驅(qū)動(dòng)發(fā)送的cdn指令;根據(jù)所述cdn指令,響應(yīng)所述應(yīng)用程序的請(qǐng)求。

在一個(gè)可能的設(shè)計(jì)中,在所述驅(qū)動(dòng)接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用之前,所述驅(qū)動(dòng)還用于:

在所述驅(qū)動(dòng)被安裝到所述終端的過程中,獲取所述終端的認(rèn)證信息;

將所述認(rèn)證信息攜帶在認(rèn)證請(qǐng)求中發(fā)送給所述cdn進(jìn)行認(rèn)證;

接收所述cdn在認(rèn)證通過所述認(rèn)證請(qǐng)求后返回的授權(quán)結(jié)果;所述授權(quán)結(jié)果包括所述認(rèn)證信息對(duì)應(yīng)的賬戶列表;

從所述cdn獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,完成所述驅(qū)動(dòng)的安裝過程;

在所述終端的開機(jī)過程中,確定所述終端登錄的賬戶;

若所述終端登錄的賬戶在所述賬戶列表中,則根據(jù)獲取的所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,在所述終端上生成與所述終端登錄的賬戶對(duì)應(yīng)的目錄。

在一個(gè)可能的設(shè)計(jì)中,所述終端還包括權(quán)限認(rèn)證模塊;

所述驅(qū)動(dòng)在從所述cdn上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄時(shí),具體用于:

從所述cdn上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄和每個(gè)賬戶對(duì)目錄中的文件的訪問權(quán)限;

所述系統(tǒng)調(diào)用由所述應(yīng)用程序發(fā)送給所述權(quán)限認(rèn)證模塊;在所述權(quán)限認(rèn)證模塊根據(jù)所述終端登錄的賬戶的訪問權(quán)限確定所述應(yīng)用程序能夠進(jìn)行所述操作時(shí)、所述系統(tǒng)調(diào)用再由所述權(quán)限認(rèn)證模塊發(fā)送給所述vfs、最終由所述vfs發(fā)送給所述驅(qū)動(dòng)。

利用本申請(qǐng)?zhí)峁┑姆桨福ㄟ^在終端上安裝本申請(qǐng)?zhí)峁┑尿?qū)動(dòng),該驅(qū)動(dòng)可以將來自于cdn的目錄保存在終端上,終端上的應(yīng)用程序只需把該目錄當(dāng)作普通的目錄,對(duì)其進(jìn)行讀寫文件的操作請(qǐng)求即可,終端自帶的虛擬文件系統(tǒng)(英文:virtualfilesystem,簡(jiǎn)稱:vfs)可以捕獲到該操作請(qǐng)求并傳送給驅(qū)動(dòng),由驅(qū)動(dòng)根據(jù)該操作請(qǐng)求對(duì)cdn執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)第三方應(yīng)用程序?qū)dn的訪問。通過這種方式,cdn只需與驅(qū)動(dòng)作交互,無(wú)需對(duì)每一個(gè)應(yīng)用程序都做一次對(duì)接,減小了應(yīng)用程序接入cdn的難度,也減少了cdn的建設(shè)費(fèi)用。

附圖說明

圖1為本申請(qǐng)?zhí)峁┑囊环N終端訪問cdn的方法應(yīng)用的系統(tǒng)示意圖;

圖2為本申請(qǐng)?zhí)峁┑囊环N驅(qū)動(dòng)生成的目錄的示意圖;

圖3為本申請(qǐng)?zhí)峁┑囊环N終端訪問cdn的方法的流程圖;

圖4為本申請(qǐng)?zhí)峁┑囊环N用于使終端訪問cdn的驅(qū)動(dòng)的結(jié)構(gòu)示意圖;

圖5為本申請(qǐng)?zhí)峁┑囊环Ncdn的結(jié)構(gòu)示意圖。

具體實(shí)施方式

當(dāng)?shù)谌降膽?yīng)用程序訪問cdn時(shí),總是需要進(jìn)行相關(guān)協(xié)議的轉(zhuǎn)換。這對(duì)于cdn的提供商而言,需要向應(yīng)用程序提供cdn的訪問協(xié)議及使用方式。而對(duì)于第三方的應(yīng)用程序而言,需要根據(jù)cdn提供的協(xié)議學(xué)習(xí)如何對(duì)接到cdn。期間,cdn與第三方的應(yīng)用程序之間的聯(lián)合調(diào)試部署等環(huán)節(jié)也是費(fèi)時(shí)費(fèi)力。當(dāng)cdn提供商在商務(wù)上處于弱勢(shì)時(shí),還會(huì)需要修改cdn的系統(tǒng)架構(gòu),導(dǎo)致增加了不必要的管理費(fèi)用。

為此,本申請(qǐng)?zhí)岢隽艘环N終端訪問cdn的方法及系統(tǒng)、用于使終端訪問cdn的驅(qū)動(dòng)和cdn,通過在終端上安裝本申請(qǐng)?zhí)峁┑尿?qū)動(dòng),該驅(qū)動(dòng)可以將來自于cdn的目錄保存在終端上,終端上的應(yīng)用程序只需把該目錄當(dāng)作普通的目錄,對(duì)其進(jìn)行讀寫文件的操作請(qǐng)求即可,終端自帶的vfs可以捕獲到該操作請(qǐng)求并傳送給驅(qū)動(dòng),由驅(qū)動(dòng)根據(jù)該操作請(qǐng)求對(duì)cdn執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)第三方應(yīng)用程序?qū)dn的訪問。通過這種方式,cdn只需與驅(qū)動(dòng)作交互,無(wú)需對(duì)每一個(gè)應(yīng)用程序都做一次對(duì)接,減小了應(yīng)用程序接入cdn的難度,也減少了cdn的建設(shè)費(fèi)用。

本申請(qǐng)?zhí)峁┑募夹g(shù)方案可以應(yīng)用于移動(dòng)終端設(shè)備上,如手機(jī)、平板電腦等,也可以應(yīng)用于固定終端設(shè)備上,如臺(tái)式機(jī)等。此外,本申請(qǐng)?zhí)峁┑募夹g(shù)方案的實(shí)施不受限于設(shè)備使用的操作系統(tǒng),如可以應(yīng)用于linux操作系統(tǒng),windows操作系統(tǒng)等。

下面結(jié)合附圖對(duì)本發(fā)明優(yōu)選的實(shí)施方式進(jìn)行詳細(xì)說明。

本申請(qǐng)?zhí)峁┑慕K端訪問cdn的方法,可以應(yīng)用于圖1所示的系統(tǒng),該系統(tǒng)包括終端10和cdn11。

其中,終端10包括應(yīng)用程序101、目錄102、vfs103和驅(qū)動(dòng)104。

應(yīng)用程序101,可以是具備文件系統(tǒng)訪問功能的任何類型的軟件,如文本查看軟件、圖片查看軟件、視頻播放軟件和音樂播放軟件等。

目錄102,來自于cdn11,可視為cdn11面向應(yīng)用程序101的對(duì)外接口。應(yīng)用程序101只需把目錄102當(dāng)作普通目錄,對(duì)其進(jìn)行讀寫文件的操作請(qǐng)求,即可對(duì)cdn11上的文件進(jìn)行查看、修改、下載、刪除等操作。如圖2所示,為目錄102的一種可能的顯示形式。

vfs103,為終端10自帶的文件系統(tǒng)對(duì)外接口,為各類文件系統(tǒng)提供了一個(gè)統(tǒng)一的操作界面和應(yīng)用程序編程接口。在本申請(qǐng)中,vfs103用于捕獲應(yīng)用程序101在對(duì)目錄102進(jìn)行讀寫文件操作時(shí)發(fā)送的系統(tǒng)調(diào)用,并將捕獲到的系統(tǒng)調(diào)用發(fā)送給驅(qū)動(dòng)104做后續(xù)處理。

驅(qū)動(dòng)104,用于接收vfs103轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用,所述系統(tǒng)調(diào)用由應(yīng)用程序101在請(qǐng)求對(duì)目錄102中的文件進(jìn)行操作時(shí)發(fā)送;然后根據(jù)預(yù)設(shè)的所述系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系,將所述系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)應(yīng)的cdn指令;將所述cdn指令發(fā)送給cdn11。

由于系統(tǒng)調(diào)用的類型是有限的,常用的有讀文件、修改文件、保存文件、刪除文件等幾種類型的系統(tǒng)調(diào)用。因此,驅(qū)動(dòng)104內(nèi)部可以預(yù)先配置好各種類型的系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系。所謂cdn指令,即cdn11能夠識(shí)別的指令。

cdn11,用于接收所述驅(qū)動(dòng)104發(fā)送的cdn指令;然后根據(jù)所述cdn指令,響應(yīng)所述應(yīng)用程序101的請(qǐng)求。

可選的,在所述驅(qū)動(dòng)104接收所述vfs103轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用之前,所述驅(qū)動(dòng)104還可以用于:在所述驅(qū)動(dòng)104被安裝到所述終端10的過程中,獲取所 述終端10的認(rèn)證信息;將所述認(rèn)證信息攜帶在認(rèn)證請(qǐng)求中發(fā)送給所述cdn11進(jìn)行認(rèn)證;接收所述cdn11在認(rèn)證通過所述認(rèn)證請(qǐng)求后返回的授權(quán)結(jié)果;所述授權(quán)結(jié)果包括所述認(rèn)證信息對(duì)應(yīng)的賬戶列表;從所述cdn11獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,完成所述驅(qū)動(dòng)104的安裝過程;然后,在所述終端10的開機(jī)過程中,確定所述終端10登錄的賬戶;若所述終端10登錄的賬戶在所述賬戶列表中,則根據(jù)獲取的所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,在所述終端10上生成與所述終端登錄的賬戶對(duì)應(yīng)的目錄102。

可選的,所述終端10還包括權(quán)限認(rèn)證模塊;從而,在所述驅(qū)動(dòng)104從所述cdn11上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄時(shí),所述驅(qū)動(dòng)104還可以從所述cdn11上獲取每個(gè)賬戶對(duì)目錄中的文件的訪問權(quán)限。從而,所述系統(tǒng)調(diào)用由所述應(yīng)用程序101發(fā)送給所述權(quán)限認(rèn)證模塊;在所述權(quán)限認(rèn)證模塊根據(jù)所述終端10登錄的賬戶的訪問權(quán)限確定所述應(yīng)用程序101能夠進(jìn)行所述操作時(shí)、所述系統(tǒng)調(diào)用再由所述權(quán)限認(rèn)證模塊發(fā)送給所述vfs103、最終由所述vfs103發(fā)送給所述驅(qū)動(dòng)104。

可選的,cdn11可以包括cdn全局負(fù)載均衡服務(wù)器111、cdn數(shù)據(jù)源服務(wù)器112和多個(gè)cdn邊緣服務(wù)器,如圖1中的cdn邊緣服務(wù)器113和cdn邊緣服務(wù)器114。

在終端10安裝驅(qū)動(dòng)104時(shí),cdn全局負(fù)載均衡服務(wù)器111若接收到驅(qū)動(dòng)104發(fā)送的認(rèn)證信息,則用于對(duì)該認(rèn)證信息進(jìn)行認(rèn)證,并在認(rèn)證通過該認(rèn)證信息后,在多個(gè)cdn邊緣服務(wù)器中選擇一個(gè)cdn邊緣服務(wù)器分配給驅(qū)動(dòng)104,如將cdn邊緣服務(wù)器113分配給驅(qū)動(dòng)104,后續(xù)驅(qū)動(dòng)104直接與cdn邊緣服務(wù)器113交互。

cdn數(shù)據(jù)源服務(wù)器112上存儲(chǔ)有cdn11內(nèi)的所有文件。如果cdn邊緣服務(wù)器113上不存在驅(qū)動(dòng)104所請(qǐng)求的文件時(shí),cdn邊緣服務(wù)器113可以向cdn數(shù)據(jù)源服務(wù)器112請(qǐng)求該驅(qū)動(dòng)104所請(qǐng)求的文件。

cdn邊緣服務(wù)器可以采用集群式的部署方式,也可以采用非集群式的部 署方式。下面以驅(qū)動(dòng)104和其中一個(gè)cdn邊緣服務(wù)器的交互舉例說明,如cdn邊緣服務(wù)器113。

cdn邊緣服務(wù)器113在接收到驅(qū)動(dòng)104發(fā)送的cdn指令時(shí),根據(jù)該cdn指令執(zhí)行相應(yīng)的操作,如將該cdn邊緣服務(wù)器113上存儲(chǔ)的某一個(gè)文件發(fā)送給驅(qū)動(dòng)104、刪除該cdn邊緣服務(wù)器113上存儲(chǔ)的某一個(gè)文件等。

本申請(qǐng)中,驅(qū)動(dòng)可以將來自于cdn的目錄保存在終端上,由驅(qū)動(dòng)統(tǒng)一根據(jù)各個(gè)應(yīng)用程序?qū)υ撃夸浀南到y(tǒng)調(diào)用向cdn發(fā)起請(qǐng)求,終端中的各個(gè)應(yīng)用程序通過訪問該目錄即可實(shí)現(xiàn)訪問cdn的效果,應(yīng)用程序無(wú)需與cdn實(shí)現(xiàn)對(duì)接。

如圖3所示為本申請(qǐng)?zhí)峁┑囊环N終端訪問cdn的方法的流程示意圖,所述方法包括:

步驟301:終端上的驅(qū)動(dòng)基于cdn數(shù)據(jù)源服務(wù)器上存儲(chǔ)的文件在所述終端上生成目錄。

可選的,所述驅(qū)動(dòng)在所述終端上生成目錄之前,需要先向cdn進(jìn)行身份認(rèn)證,具體實(shí)現(xiàn)過程如下:

第一步,所述驅(qū)動(dòng)在被安裝到所述終端的過程中,獲取所述終端的認(rèn)證信息。

所述認(rèn)證信息可以是用戶輸入所述終端的密鑰,也可以是所述驅(qū)動(dòng)的安裝程序中攜帶的密鑰。

第二步,所述驅(qū)動(dòng)將所述認(rèn)證信息攜帶在認(rèn)證請(qǐng)求發(fā)送給cdn全局負(fù)載均衡服務(wù)器進(jìn)行認(rèn)證。

所述驅(qū)動(dòng)的安裝程序中可以攜帶一域名,所述驅(qū)動(dòng)將所述認(rèn)證請(qǐng)求發(fā)送至該域名指向的服務(wù)器,由該域名指向的服務(wù)器將所述認(rèn)證請(qǐng)求重定向到cdn全局負(fù)載均衡服務(wù)器進(jìn)行認(rèn)證。全局負(fù)載均衡服務(wù)器上可以維護(hù)一個(gè)合法密鑰列表,全局負(fù)載均衡服務(wù)器通過比對(duì)所述認(rèn)證請(qǐng)求中攜帶的密鑰是否在該列表上,確定是否通過所述認(rèn)證請(qǐng)求。

第三步,如果所述cdn全局負(fù)載均衡服務(wù)器未認(rèn)證通過所述認(rèn)證請(qǐng)求, 則所述cdn全局負(fù)載均衡服務(wù)器通知所述驅(qū)動(dòng)認(rèn)證失敗,所述驅(qū)動(dòng)退出安裝程序。如果所述cdn全局負(fù)載均衡器認(rèn)證通過所述認(rèn)證請(qǐng)求,則所述cdn全局負(fù)載均衡服務(wù)器可以返回授權(quán)結(jié)果給所述驅(qū)動(dòng),從而完成所述驅(qū)動(dòng)的身份認(rèn)證,其中,所述授權(quán)結(jié)果包括所述認(rèn)證信息對(duì)應(yīng)的賬戶列表。

可選的,所述授權(quán)結(jié)果還可以包括cdn邊緣服務(wù)器的地址。

可選的,所述cdn全局負(fù)載均衡服務(wù)器分配給所述驅(qū)動(dòng)的cdn邊緣服務(wù)器可以是性能最佳的一個(gè)cdn邊緣服務(wù)器,例如,可以是cdn包括的多個(gè)cdn邊緣服務(wù)器集群中與所述終端的物理距離最近的一個(gè)cdn邊緣服務(wù)器集群中的任一個(gè)服務(wù)器?;蛘?,所述cdn邊緣服務(wù)器可以是cdn包括的多個(gè)cdn邊緣服務(wù)器集群中網(wǎng)絡(luò)速度最快的一個(gè)cdn邊緣服務(wù)器集群中的任一個(gè)服務(wù)器。

在所述驅(qū)動(dòng)的認(rèn)證請(qǐng)求被認(rèn)證通過的情況下,如果所述授權(quán)結(jié)果包括cdn邊緣服務(wù)器的地址,則所述驅(qū)動(dòng)可以通過該地址連接上對(duì)應(yīng)的cdn邊緣服務(wù)器;如果所述授權(quán)結(jié)果不包括cdn邊緣服務(wù)器的地址,則所述驅(qū)動(dòng)可以向cdn全局負(fù)載均衡服務(wù)器,由cdn全局負(fù)載均衡服務(wù)器將所述驅(qū)動(dòng)的請(qǐng)求重定向到一個(gè)cdn邊緣服務(wù)器上。所述驅(qū)動(dòng)可以從cdn邊緣服務(wù)器上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄。cdn邊緣服務(wù)器上存儲(chǔ)的目錄以及目錄下的文件可以來源于cdn中的cdn數(shù)據(jù)源服務(wù)器,也可以來源于其它c(diǎn)dn邊緣服務(wù)器。

所述驅(qū)動(dòng)獲得的所述賬戶列表中可能包括了多個(gè)賬戶,其中不同的賬戶可能對(duì)應(yīng)著不同形式的目錄。例如,賬戶1對(duì)應(yīng)的目錄所包含的子目錄的數(shù)量,可能多于賬戶2對(duì)應(yīng)的目錄所包含的子目錄的數(shù)量。

由于不同的賬戶可能對(duì)應(yīng)著不同形式的目錄,因此步驟301中所述驅(qū)動(dòng)可以在所述終端的開機(jī)過程中,先確定所述終端登錄的賬戶,若所述終端登錄的賬戶在所述賬戶列表中,則所述驅(qū)動(dòng)可以根據(jù)獲取的所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,在所述終端上生成與所述終端登錄的賬戶對(duì)應(yīng)的目錄。若 所述終端登錄的賬戶不在所述賬戶列表中,則所述驅(qū)動(dòng)不生成目錄,或是生成一個(gè)空目錄。如此,可以增強(qiáng)應(yīng)用程序訪問cdn的安全性。

步驟302:所述終端上的應(yīng)用程序在請(qǐng)求對(duì)所述目錄中的文件進(jìn)行操作時(shí),發(fā)送系統(tǒng)調(diào)用。

所述操作請(qǐng)求包括讀文件請(qǐng)求、修改文件請(qǐng)求、保存文件請(qǐng)求、刪除文件請(qǐng)求等。

步驟303:所述終端上的vfs捕獲到所述應(yīng)用程序發(fā)送的系統(tǒng)調(diào)用,將所述系統(tǒng)調(diào)用轉(zhuǎn)發(fā)給所述驅(qū)動(dòng)。

可選的,為了增強(qiáng)應(yīng)用程序訪問cdn的安全性,所述終端還可以包括權(quán)限認(rèn)證模塊,所述驅(qū)動(dòng)可以從所述cdn邊緣服務(wù)器上獲取到所述賬戶列表中的每個(gè)賬戶對(duì)目錄中的文件的訪問權(quán)限,并將所述訪問權(quán)限發(fā)送給所述權(quán)限認(rèn)證模塊。不同的用戶可能對(duì)應(yīng)著不同的文件訪問權(quán)限。例如,某個(gè)目錄下的一個(gè)文件對(duì)于賬戶1而言其文件屬性是可讀的,對(duì)于賬戶2而言其文件屬性可能是不可讀的。

從而,所述應(yīng)用程序在請(qǐng)求對(duì)所述目錄的文件進(jìn)行操作時(shí),發(fā)送系統(tǒng)調(diào)用給所述所述權(quán)限認(rèn)證模塊;如果所述權(quán)限認(rèn)證模塊根據(jù)所述終端登錄的賬戶的訪問權(quán)限確定所述應(yīng)用程序能夠進(jìn)行所述操作時(shí),則將所述系統(tǒng)調(diào)用發(fā)送給vfs,最終由vfs將所述系統(tǒng)調(diào)用發(fā)送給驅(qū)動(dòng);如果所述權(quán)限認(rèn)證模塊確定所述應(yīng)用程序無(wú)權(quán)進(jìn)行所述操作,則屏蔽所述系統(tǒng)調(diào)用。

步驟304:所述驅(qū)動(dòng)接收所述vfs轉(zhuǎn)發(fā)的來自所述應(yīng)用程序的系統(tǒng)調(diào)用后,根據(jù)預(yù)設(shè)的所述系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系,將所述系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)應(yīng)的cdn指令。

步驟305:所述驅(qū)動(dòng)將所述cdn指令發(fā)送給cdn邊緣服務(wù)器。

步驟306:所述cdn邊緣服務(wù)器根據(jù)所述cdn指令,響應(yīng)所述應(yīng)用程序的請(qǐng)求。

例如,某應(yīng)用程序請(qǐng)求刪除一文件時(shí),cdn邊緣服務(wù)器可以刪除本服務(wù) 器上存儲(chǔ)的該文件,或是將該文件設(shè)置成對(duì)該應(yīng)用程序不可見。

例如,某應(yīng)用程序請(qǐng)求修改一文件時(shí),cdn邊緣服務(wù)器可以獲取該應(yīng)用程序修改后的文件,并將獲取的文件替換本服務(wù)器上存儲(chǔ)的原文件。

例如,某應(yīng)用程序請(qǐng)求讀一文件或下載一文件時(shí),cdn邊緣服務(wù)器可以將該文件用預(yù)先約定的協(xié)議(如超文本傳輸協(xié)議(英文:hypertexttransferprotocol,簡(jiǎn)稱:http))封裝后發(fā)送給驅(qū)動(dòng),驅(qū)動(dòng)對(duì)收到的文件解封裝后傳遞給vfs,由vfs將該文件呈現(xiàn)給該應(yīng)用程序。

如果cdn邊緣服務(wù)器上不存在驅(qū)動(dòng)所請(qǐng)求的文件時(shí),cdn邊緣服務(wù)器可以向cdn數(shù)據(jù)源服務(wù)器或其它c(diǎn)dn邊緣服務(wù)器請(qǐng)求該驅(qū)動(dòng)所請(qǐng)求的文件。

可選的,為了提高cdn邊緣服務(wù)器的響應(yīng)速度,在cdn邊緣服務(wù)器接收終端上的驅(qū)動(dòng)發(fā)送的cdn指令之前,cdn邊緣服務(wù)器可以預(yù)先向cdn數(shù)據(jù)源服務(wù)器或其它c(diǎn)dn邊緣服務(wù)器獲取發(fā)送給驅(qū)動(dòng)的目錄中的文件。

基于本申請(qǐng)上述提供的終端訪問cdn方法,本申請(qǐng)?zhí)峁┮环N用于使終端訪問cdn的驅(qū)動(dòng)400,用于實(shí)現(xiàn)上述終端訪問cdn方法中驅(qū)動(dòng)的功能,其中,所述終端包括所述驅(qū)動(dòng)、vfs、應(yīng)用程序和目錄,所述目錄來自于所述cdn。如圖4所示,所述驅(qū)動(dòng)400包括接收單元401、轉(zhuǎn)換單元402和發(fā)送單元403:

所述接收單元401,用于接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用,所述系統(tǒng)調(diào)用由所述應(yīng)用程序在請(qǐng)求對(duì)所述目錄中的文件進(jìn)行操作時(shí)發(fā)送。

所述轉(zhuǎn)換單元402,用于根據(jù)預(yù)設(shè)的所述系統(tǒng)調(diào)用與cdn指令之間的映射關(guān)系,將所述系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)應(yīng)的cdn指令。

所述發(fā)送單元403,用于將所述cdn指令發(fā)送給所述cdn,使得所述cdn響應(yīng)所述應(yīng)用程序的請(qǐng)求。

可選的,所述驅(qū)動(dòng)400還可以包括獲取單元和處理單元:

所述獲取單元,用于在所述接收單元401接收所述vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用之前,在所述驅(qū)動(dòng)被安裝到所述終端的過程中,獲取所述終端的認(rèn)證信息。

相應(yīng)的,所述發(fā)送單元403還用于,將所述認(rèn)證信息攜帶在認(rèn)證請(qǐng)求中發(fā) 送給所述cdn進(jìn)行認(rèn)證。

所述接收單元401還用于,接收所述cdn在認(rèn)證通過所述認(rèn)證請(qǐng)求后返回的授權(quán)結(jié)果;所述授權(quán)結(jié)果包括所述認(rèn)證信息對(duì)應(yīng)的賬戶列表。

所述發(fā)送單元403還用于,從所述cdn獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,完成所述驅(qū)動(dòng)的安裝過程。

所述處理單元用于,在所述終端的開機(jī)過程中,確定所述終端登錄的賬戶;若所述終端登錄的賬戶在所述賬戶列表中,則根據(jù)獲取的所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄,在所述終端上生成與所述終端登錄的賬戶對(duì)應(yīng)的目錄。

可選的,所述終端還可以包括權(quán)限認(rèn)證模塊;

相應(yīng)的,所述發(fā)送單元403在從所述cdn上獲取所述賬戶列表中的每個(gè)賬戶分別對(duì)應(yīng)的目錄的同時(shí),還可以從所述cdn上獲取每個(gè)賬戶對(duì)目錄中的文件的訪問權(quán)限。

從而,所述系統(tǒng)調(diào)用可以由所述應(yīng)用程序發(fā)送給所述權(quán)限認(rèn)證模塊;在所述權(quán)限認(rèn)證模塊根據(jù)所述終端登錄的賬戶的訪問權(quán)限確定所述應(yīng)用程序能夠進(jìn)行所述操作時(shí)、所述系統(tǒng)調(diào)用再由所述權(quán)限認(rèn)證模塊發(fā)送給所述vfs、最終由所述vfs發(fā)送給所述驅(qū)動(dòng)。

本實(shí)施例中未盡之細(xì)節(jié)可參考上述圖3所示方法中驅(qū)動(dòng)的描述,在此不再贅述。

需要說明的是,本發(fā)明實(shí)施例中對(duì)單元的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。在本申請(qǐng)的實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

基于本申請(qǐng)上述提供的終端訪問cdn方法,本申請(qǐng)?zhí)峁┮环Ncdn500,用于實(shí)現(xiàn)上述終端訪問cdn方法中cdn的功能。如圖5所示,所述cdn500 包括接收單元501和處理單元502:

所述接收單元501,用于接收終端上的驅(qū)動(dòng)發(fā)送的cdn指令;所述cdn指令由所述驅(qū)動(dòng)在接收到所述終端上的vfs轉(zhuǎn)發(fā)的系統(tǒng)調(diào)用時(shí)發(fā)送;所述系統(tǒng)調(diào)用由所述終端上的應(yīng)用程序在請(qǐng)求對(duì)所述終端上的目錄中的文件進(jìn)行操作時(shí)發(fā)送;所述目錄來自于所述cdn。

所述處理單元502,用于根據(jù)所述cdn指令,響應(yīng)所述應(yīng)用程序的請(qǐng)求。

需要說明的是,本發(fā)明實(shí)施例中對(duì)單元的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。在本申請(qǐng)的實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

綜上所述,采用本申請(qǐng)?zhí)峁┑募夹g(shù)方案,通過在終端上安裝本申請(qǐng)?zhí)峁┑尿?qū)動(dòng),該驅(qū)動(dòng)可以將來自于cdn的目錄保存在終端上,終端上的應(yīng)用程序只需把該目錄當(dāng)作普通的目錄,對(duì)其進(jìn)行讀寫文件的操作請(qǐng)求即可,終端自帶的vfs可以捕獲到該操作請(qǐng)求并傳送給驅(qū)動(dòng),由驅(qū)動(dòng)根據(jù)該操作請(qǐng)求對(duì)cdn執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)第三方應(yīng)用程序?qū)dn的訪問。通過這種方式,cdn無(wú)需對(duì)每一個(gè)應(yīng)用程序都做一次對(duì)接,減小了應(yīng)用程序接入cdn的難度,也減少了cdn的建設(shè)費(fèi)用。并且,本申請(qǐng)?zhí)峁┑募夹g(shù)方案可以適用于所有版本的文件系統(tǒng),兼容性強(qiáng)。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和 /或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黔西县| 元江| 板桥市| 左云县| 亳州市| 葫芦岛市| 宁津县| 福鼎市| 托克托县| 广元市| 枝江市| 天镇县| 遵义市| 百色市| 黔江区| 潍坊市| 洞头县| 大港区| 盘山县| 周口市| 林口县| 宜兰市| 林西县| 广汉市| 尉犁县| 鄂尔多斯市| 喀喇| 昭平县| 乳山市| 大埔县| 安阳市| 新泰市| 舞钢市| 宁德市| 吉隆县| 上思县| 敦煌市| 红河县| 兰溪市| 辽宁省| 辽宁省|