本發(fā)明涉及云計(jì)算平臺(tái)技術(shù)領(lǐng)域,具體地說(shuō)是一種基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法及系統(tǒng)。
背景技術(shù):
云計(jì)算是一種能夠通過(guò)普適設(shè)備、方便、按需利用網(wǎng)絡(luò)訪問(wèn)的共享、可配置的計(jì)算資源池,并可以較小的管理成本或與服務(wù)商的交互迅速提供和釋放計(jì)算資源的模式。云計(jì)算技術(shù)擁有虛擬化技術(shù)、并行計(jì)算技術(shù)、網(wǎng)格計(jì)算、分布式計(jì)算技術(shù)以及透明計(jì)算技術(shù)的一系列優(yōu)勢(shì)。而paas(platformasaservice,平臺(tái)即服務(wù))平臺(tái)作為云計(jì)算的一種服務(wù)類(lèi)型,將軟件部署、管理運(yùn)維作為一種服務(wù)按需提供給軟件開(kāi)發(fā)用戶(hù),成為近年來(lái)非常熱門(mén)的研究方向。paas平臺(tái)的出現(xiàn)使得應(yīng)用開(kāi)發(fā)者無(wú)須購(gòu)置硬件以及購(gòu)置、安裝和配置軟件環(huán)境??梢源蟠蠛?jiǎn)化應(yīng)用開(kāi)發(fā)者的開(kāi)發(fā)工作量。因此paas平臺(tái)對(duì)于服務(wù)的動(dòng)態(tài)交付、管理以及維護(hù)變得異常重要。但是,現(xiàn)有的云平臺(tái)主要將服務(wù)包托管到固定的存儲(chǔ)設(shè)備中,虛擬化環(huán)境各自維護(hù)管理服務(wù)包,這對(duì)于云平臺(tái)的擴(kuò)展性、高效性、自動(dòng)化管理運(yùn)維十分不便且服務(wù)的構(gòu)建性能較低。
專(zhuān)利號(hào)為cn105516334a專(zhuān)利文獻(xiàn)公開(kāi)了一種cdn文件分發(fā)系統(tǒng),所述系統(tǒng)包括:源存儲(chǔ)節(jié)點(diǎn)、至少一個(gè)二級(jí)存儲(chǔ)節(jié)點(diǎn)、邊緣節(jié)點(diǎn)、數(shù)據(jù)庫(kù)服務(wù)器和任務(wù)觸發(fā)服務(wù)器;所述源存儲(chǔ)節(jié)點(diǎn),適于接收用戶(hù)傳輸?shù)奈募蓪?duì)應(yīng)的邊緣節(jié)點(diǎn)的文件新增任務(wù)并寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器;定時(shí)從所述數(shù)據(jù)庫(kù)服務(wù)器中獲取文件處理任務(wù)并處理,其中,當(dāng)所述文件處理任務(wù)為文件新增任務(wù)時(shí),且相應(yīng)的文件不存在時(shí),從源站獲取對(duì)應(yīng)的文件。但是該技術(shù)方案不能將cdn與paas平臺(tái)相結(jié)合,提高云平臺(tái)的服務(wù)構(gòu)建性能以及云平臺(tái)的擴(kuò)展性、高效性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是提供一種基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法及系統(tǒng),來(lái)解決現(xiàn)有的云平臺(tái)主要將服務(wù)包托管到固定的存儲(chǔ)設(shè)備中,虛擬化環(huán)境各自維護(hù)管理服務(wù)包,這對(duì)于云平臺(tái)的擴(kuò)展性、高效性、自動(dòng)化管理運(yùn)維十分不便且服務(wù)的構(gòu)建性能較低的問(wèn)題。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法,該方法包括如下步驟:
(1)、將智能agent部署到cdn的邊緣服務(wù)器中,智能agent啟動(dòng)之后發(fā)送心跳數(shù)據(jù)給paas平臺(tái),作為當(dāng)前節(jié)點(diǎn)存活的狀態(tài)標(biāo)志;智能agent周期性的采集節(jié)點(diǎn)的運(yùn)行狀態(tài)信息,并將數(shù)據(jù)傳輸?shù)絧aas平臺(tái);
(2)、pass平臺(tái)將服務(wù)包通過(guò)智能agent發(fā)送到cdn的源服務(wù)器中,源服務(wù)器根據(jù)服務(wù)包的訪問(wèn)情況更新發(fā)送服務(wù)包,同時(shí)paas平臺(tái)通過(guò)周期性監(jiān)控邊緣服務(wù)器的運(yùn)行狀態(tài),動(dòng)態(tài)的控制邊緣服務(wù)器的數(shù)量;
(3)、客戶(hù)端向負(fù)載均衡模塊發(fā)送服務(wù)包下載請(qǐng)求,負(fù)載均衡模塊通過(guò)綜合的計(jì)算邊緣服務(wù)器的負(fù)載情況,選取合適的邊緣服務(wù)器作為服務(wù)節(jié)點(diǎn),且相同控制域中的邊緣服務(wù)器之間協(xié)作式的工作,共享緩存的服務(wù)包數(shù)據(jù);
(4)、客戶(hù)端通過(guò)負(fù)載均衡模塊訪問(wèn)步驟(3)中選取的邊緣服務(wù)器,獲取服務(wù)包進(jìn)行構(gòu)建服務(wù)并反饋服務(wù)包的構(gòu)建結(jié)果到paas平臺(tái)。
作為優(yōu)選,步驟(1)中智能agent周期性的采集節(jié)點(diǎn)的運(yùn)行狀態(tài)信息包括cpu、內(nèi)存以及網(wǎng)絡(luò)的使用情況。
作為優(yōu)選,步驟(2)中邊緣服務(wù)器是部署在一個(gè)虛擬化環(huán)境的控制域中,其數(shù)量number_of_relica由以下方式確定:
邊緣服務(wù)器的初始數(shù)量為init_size,該參數(shù)由虛擬化環(huán)境的資源大小確定;
當(dāng)cpu利用率大于threshold(cpu_util):
number_of_relica=min(number_of_relica*2,max_size),其中,max_size為虛擬化環(huán)境可以承受的最大邊緣服務(wù)器的數(shù)量。
作為優(yōu)選,所述步驟(2)中pass平臺(tái)周期性的監(jiān)控邊緣服務(wù)器的資源利用率,關(guān)閉資源利用率低的邊緣服務(wù)器,其計(jì)算模型如下:
其中,xi為邊緣服務(wù)器的cpu利用率,當(dāng)u<threshold(u)并且δ>threshold(δ)時(shí),即cpu利用率較低且波動(dòng)較大的節(jié)點(diǎn),將其進(jìn)行關(guān)閉。
作為優(yōu)選,所述步驟(3)中負(fù)載均衡模塊根據(jù)邊緣服務(wù)器的負(fù)載進(jìn)行動(dòng)態(tài)的請(qǐng)求路由,其計(jì)算如下:選取路由節(jié)點(diǎn)得分host_score最高節(jié)點(diǎn)為目標(biāo)服務(wù)節(jié)點(diǎn);
其中,cpu_avgutil,storage_avgutil,network_avgutil分別表示主機(jī)的cpu、存儲(chǔ)、網(wǎng)絡(luò)在當(dāng)前監(jiān)控周期內(nèi)的平均利用率。
作為優(yōu)選,所述步驟(3)中同一個(gè)虛擬化環(huán)境中的邊緣服務(wù)器協(xié)作運(yùn)行,通過(guò)智能agent相互交換緩存服務(wù)包數(shù)據(jù);當(dāng)一個(gè)邊緣服務(wù)器沒(méi)有緩存客戶(hù)端請(qǐng)求的內(nèi)容時(shí),可以從其它邊緣服務(wù)器請(qǐng)求本地所沒(méi)有的內(nèi)容;如果相同域中沒(méi)有服務(wù)包,則由邊緣服務(wù)器向源服務(wù)器請(qǐng)求服務(wù)包。
作為優(yōu)選,所述步驟(3)中邊緣服務(wù)器的存儲(chǔ)到達(dá)上限時(shí),對(duì)緩存的內(nèi)容進(jìn)行淘汰更新處理,緩存更新策略采用最近最少使用策略,即通過(guò)智能agent記錄緩存的服務(wù)包的最后訪問(wèn)時(shí)間以及訪問(wèn)次數(shù),淘汰長(zhǎng)時(shí)間沒(méi)使用的以及使用次數(shù)最少的服務(wù)包。
一種基于cdn的paas平臺(tái)服務(wù)包分發(fā)系統(tǒng),該系統(tǒng)包括paas平臺(tái)和cdn服務(wù)組件模塊,paas平臺(tái)與cdn服務(wù)組件模塊之間進(jìn)行數(shù)據(jù)傳輸;cdn服務(wù)組件模塊包括源服務(wù)器、負(fù)載均衡模塊、客戶(hù)端和多個(gè)邊緣服務(wù)器,paas平臺(tái)傳輸服務(wù)包數(shù)據(jù)到源服務(wù)器,源服務(wù)器傳輸服務(wù)包數(shù)據(jù)到邊緣服務(wù)器,客戶(hù)端通過(guò)負(fù)載均衡模塊接收服務(wù)包數(shù)據(jù);
源服務(wù)器用于接收paas平臺(tái)發(fā)送的服務(wù)包;
邊緣服務(wù)器用于向源服務(wù)器請(qǐng)求服務(wù)包;
負(fù)載均衡模塊用于接收客戶(hù)端發(fā)送的服務(wù)包現(xiàn)在請(qǐng)求以及綜合的計(jì)算邊緣服務(wù)器的負(fù)載情況,選取合適的邊緣服務(wù)器作為服務(wù)節(jié)點(diǎn);
客戶(hù)端用于服務(wù)包構(gòu)建服務(wù)并反饋服務(wù)包的構(gòu)建結(jié)果到paas平臺(tái)。
作為優(yōu)選,還包括多個(gè)iaas平臺(tái),iaas平臺(tái)與paas平臺(tái)之間進(jìn)行數(shù)據(jù)傳輸,iaas平臺(tái)包括資源虛擬化池,資源虛擬化池中包括計(jì)算資源、網(wǎng)絡(luò)資源和存儲(chǔ)資源;paas平臺(tái)包括數(shù)據(jù)庫(kù)服務(wù)、中間件服務(wù)和大數(shù)據(jù)服務(wù)。
本發(fā)明的基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法及系統(tǒng)具有以下優(yōu)點(diǎn):
(一)、本發(fā)明采用cdn分發(fā)服務(wù)包,能夠減少paas平臺(tái)構(gòu)建服務(wù)的時(shí)間,更好的管理paas平臺(tái),降低網(wǎng)絡(luò)傳輸?shù)娜哂?,提高網(wǎng)絡(luò)服務(wù)質(zhì)量,同時(shí)根據(jù)服務(wù)包的訪問(wèn)熱度控制緩存數(shù)據(jù)的大小以及更新策略,更好的解決了資源訪問(wèn)擁堵以及瓶頸的問(wèn)題;
(二)、本發(fā)明通過(guò)cdn控制服務(wù)包的存儲(chǔ)、更新以及分發(fā)。通過(guò)監(jiān)控邊緣節(jié)點(diǎn)的工作負(fù)載情況,動(dòng)態(tài)的控制節(jié)點(diǎn)以及服務(wù)包數(shù)據(jù)的存儲(chǔ),減少服務(wù)包數(shù)據(jù)訪問(wèn)時(shí)間,自適應(yīng)控制服務(wù)包的訪問(wèn)、存儲(chǔ)以及更新策略,減少了冗余數(shù)據(jù)的存儲(chǔ),同時(shí)通過(guò)負(fù)載均衡路由策略,減輕了系統(tǒng)的壓力。
故本發(fā)明具有設(shè)計(jì)合理、結(jié)構(gòu)簡(jiǎn)單、使用方便、一物多用等特點(diǎn),因而,具有很好的推廣使用價(jià)值。
附圖說(shuō)明
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明。
附圖1為基于cdn的paas平臺(tái)服務(wù)包分發(fā)系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
參照說(shuō)明書(shū)附圖和具體實(shí)施例對(duì)本發(fā)明的基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法及系統(tǒng)作以下詳細(xì)地說(shuō)明。
實(shí)施例1:
本發(fā)明的基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法,該方法包括如下步驟:
(1)、將智能agent部署到cdn的邊緣服務(wù)器中,智能agent啟動(dòng)之后發(fā)送心跳數(shù)據(jù)給paas平臺(tái),作為當(dāng)前節(jié)點(diǎn)存活的狀態(tài)標(biāo)志;智能agent周期性的采集節(jié)點(diǎn)的運(yùn)行狀態(tài)信息,包括cpu、內(nèi)存以及網(wǎng)絡(luò)的使用情況,并將數(shù)據(jù)傳輸?shù)絧aas平臺(tái);
(2)、pass平臺(tái)將服務(wù)包通過(guò)智能agent發(fā)送到cdn的源服務(wù)器中,源服務(wù)器根據(jù)服務(wù)包的訪問(wèn)情況更新發(fā)送服務(wù)包,同時(shí)paas平臺(tái)通過(guò)周期性監(jiān)控邊緣服務(wù)器的運(yùn)行狀態(tài),動(dòng)態(tài)的控制邊緣服務(wù)器的數(shù)量;
邊緣服務(wù)器是部署在一個(gè)虛擬化環(huán)境的控制域中,其數(shù)量number_of_relica由以下方式確定:
邊緣服務(wù)器的初始數(shù)量為init_size,該參數(shù)由虛擬化環(huán)境的資源大小確定;
當(dāng)cpu利用率大于threshold(cpu_util):
number_of_relica=min(number_of_relica*2,max_size),其中,max_size為虛擬化環(huán)境可以承受的最大邊緣服務(wù)器的數(shù)量。
pass平臺(tái)周期性的監(jiān)控邊緣服務(wù)器的資源利用率,關(guān)閉資源利用率低的邊緣服務(wù)器,其計(jì)算模型如下:
其中,xi為邊緣服務(wù)器的cpu利用率,當(dāng)u<threshold(u)并且δ>threshold(δ)時(shí),即cpu利用率較低且波動(dòng)較大的節(jié)點(diǎn),將其進(jìn)行關(guān)閉。
(3)、客戶(hù)端向負(fù)載均衡模塊發(fā)送服務(wù)包下載請(qǐng)求,負(fù)載均衡模塊通過(guò)綜合的計(jì)算邊緣服務(wù)器的負(fù)載情況,選取合適的邊緣服務(wù)器作為服務(wù)節(jié)點(diǎn),且相同控制域中的邊緣服務(wù)器之間協(xié)作式的工作,共享緩存的服務(wù)包數(shù)據(jù);同一個(gè)虛擬化環(huán)境中的邊緣服務(wù)器協(xié)作運(yùn)行,通過(guò)智能agent相互交換緩存服務(wù)包數(shù)據(jù);當(dāng)一個(gè)邊緣服務(wù)器沒(méi)有緩存客戶(hù)端請(qǐng)求的內(nèi)容時(shí),可以從其它邊緣服務(wù)器請(qǐng)求本地所沒(méi)有的內(nèi)容;如果相同域中沒(méi)有服務(wù)包,則由邊緣服務(wù)器向源服務(wù)器請(qǐng)求服務(wù)包。
其中,負(fù)載均衡模塊根據(jù)邊緣服務(wù)器的負(fù)載進(jìn)行動(dòng)態(tài)的請(qǐng)求路由,其計(jì)算如下:選取路由節(jié)點(diǎn)得分host_score最高節(jié)點(diǎn)為目標(biāo)服務(wù)節(jié)點(diǎn);
其中,cpu_avgutil,storage_avgutil,network_avgutil分別表示主機(jī)的cpu、存儲(chǔ)、網(wǎng)絡(luò)在當(dāng)前監(jiān)控周期內(nèi)的平均利用率。
邊緣服務(wù)器的存儲(chǔ)到達(dá)上限時(shí),對(duì)緩存的內(nèi)容進(jìn)行淘汰更新處理,緩存更新策略采用最近最少使用策略,即通過(guò)智能agent記錄緩存的服務(wù)包的最后訪問(wèn)時(shí)間以及訪問(wèn)次數(shù),淘汰長(zhǎng)時(shí)間沒(méi)使用的以及使用次數(shù)最少的服務(wù)包。
(4)、客戶(hù)端通過(guò)負(fù)載均衡模塊訪問(wèn)步驟(3)中選取的邊緣服務(wù)器,獲取服務(wù)包進(jìn)行構(gòu)建服務(wù)并反饋服務(wù)包的構(gòu)建結(jié)果到paas平臺(tái)。
實(shí)施例2:
如附圖1所示,采用實(shí)施例1中基于cdn的paas平臺(tái)服務(wù)包分發(fā)方法的系統(tǒng),該系統(tǒng)包括paas平臺(tái)、cdn服務(wù)組件模塊和多個(gè)iaas平臺(tái),iaas平臺(tái)與paas平臺(tái)之間進(jìn)行數(shù)據(jù)傳輸,iaas平臺(tái)包括資源虛擬化池,資源虛擬化池中包括計(jì)算資源、網(wǎng)絡(luò)資源和存儲(chǔ)資源;paas平臺(tái)包括數(shù)據(jù)庫(kù)服務(wù)、中間件服務(wù)和大數(shù)據(jù)服務(wù)。paas平臺(tái)與cdn服務(wù)組件模塊之間進(jìn)行數(shù)據(jù)傳輸;cdn服務(wù)組件模塊包括源服務(wù)器、負(fù)載均衡模塊、客戶(hù)端和多個(gè)邊緣服務(wù)器,paas平臺(tái)傳輸服務(wù)包數(shù)據(jù)到源服務(wù)器,源服務(wù)器傳輸服務(wù)包數(shù)據(jù)到邊緣服務(wù)器,客戶(hù)端通過(guò)負(fù)載均衡模塊接收服務(wù)包數(shù)據(jù);源服務(wù)器用于接收paas平臺(tái)發(fā)送的服務(wù)包;邊緣服務(wù)器用于向源服務(wù)器請(qǐng)求服務(wù)包;負(fù)載均衡模塊用于接收客戶(hù)端發(fā)送的服務(wù)包現(xiàn)在請(qǐng)求以及綜合的計(jì)算邊緣服務(wù)器的負(fù)載情況,選取合適的邊緣服務(wù)器作為服務(wù)節(jié)點(diǎn);客戶(hù)端用于服務(wù)包構(gòu)建服務(wù)并反饋服務(wù)包的構(gòu)建結(jié)果到paas平臺(tái)。
通過(guò)上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的兩種具體實(shí)施方式。在公開(kāi)的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
除說(shuō)明書(shū)所述的技術(shù)特征外,均為本專(zhuān)業(yè)技術(shù)人員的已知技術(shù)。